/*
-------------------------------------------------------

shop

-------------------------------------------------------
*/

/* 会社情報テーブル
------------------------------------------------------- */

.wp-block-table .address-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5em var(--wp--preset--spacing--40);
}

.wp-block-table .btn-map {
	position: relative;
	max-width: 100%;
	font-family: var(--font-zenmaru);
	font-size: var(--wp--preset--font-size--14);
	text-align: center;
	width: auto;
	padding: 0 3em .2em 1.5em;
	height: 40px;
	display: grid;
	place-content: center;
	border-radius: 24px;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	border: 2px solid var(--wp--preset--color--primary);
	transition: all .2s;
}

.wp-block-table .btn-map::after {
	content: 'open_in_new';
	font-family: 'Material Symbols Outlined';
	font-variation-settings:
		'FILL'0,
		'wght'400;
	font-size: 20px;
	line-height: 20px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: .8em;
	pointer-events: none;
}

.wp-block-table .is-style-ul-list {
	margin: 0;
}

@media screen and (min-width: 769px) {

	.wp-block-table .btn-map:hover {
		background-color: #ffffff;
		color: var(--wp--preset--color--primary);
	}

	.wp-block-table .btn-map:hover::after {
		color: var(--wp--preset--color--primary);
	}

}


/* 代表メッセージ
------------------------------------------------------- */

.message-box .message-block {
	margin-top: var(--wp--preset--spacing--40);
}

/* 写真の角丸は .care-list .wp-block-post-featured-image a と揃える */
.message-box .message-block .wp-block-media-text__media {
	border-radius: 90px 90px 30px 30px;
}

.message-box .message-block h3 {
	font-size: var(--wp--preset--font-size--24);
	line-height: 1.6;
}

.message-box .message-block h3 + p {
	margin-top: 1.5em;
}

.message-box .message-block .sign {
	margin-top: var(--wp--preset--spacing--20);
}

.message-box .message-block .sign .role {
	font-size: var(--wp--preset--font-size--16);
}

.message-box .message-block .sign .name {
	font-family: var(--font-zenmaru);
	font-size: var(--wp--preset--font-size--20);
}


@media screen and (max-width: 768px) {

	/* 上だけ大きい角丸は SP で一段小さく（mystyle の care-list 等と揃える） */
	.message-box .message-block .wp-block-media-text__media {
		border-radius: 60px 60px 20px 20px;
	}

}


/*
-------------------------------------------------------

faq

-------------------------------------------------------
*/

.faq-box .tabs .tab-buttons {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
}

.faq-box .tabs .tab-btn:not( .active ) .wp-element-button {
	background-color: var(--wp--preset--color--base) !important;
}

/* ホバー時はアクティブ時と同じ見た目に。
   上の白背景が !important なので、こちらも同じ強さで上書きする */
.faq-box .tabs .tab-btn:not( .active ) .wp-element-button:hover {
	background-color: var(--wp--preset--color--primary) !important;
}

.faq-box .tabs .tab-content .wp-block-list {
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat( 2, 1fr );
	gap: 1.5em var(--wp--preset--spacing--60);
}

.faq-box .tabs .tab-content .wp-block-list a {
	display: flex;
	align-items: center;
	gap: .5em;
	line-height: 1.5;
	color: var(--wp--preset--color--contrast);
	font-family: var(--font-zenmaru);
}

.faq-box .tabs .tab-content .wp-block-list a::before {
	content: 'Q';
	display: grid;
	place-content: center;
	flex-shrink: 0;
	width: 2.25em;
	height: 2.25em;
	border-radius: 50%;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--12);
	font-weight: 600;
}

.faq-box .schema-faq {
	margin-top: var(--wp--preset--spacing--30);
}

@media screen and (max-width: 1000px) {

	.faq-box .tabs .tab-buttons {
		grid-template-columns: repeat( 3, 1fr );
	}

}

@media screen and (max-width: 768px) {

		.faq-box .tabs .tab-buttons {
			grid-template-columns: repeat( 2, 1fr );
		}

		.faq-box .tabs .tab-content .wp-block-list {
			grid-template-columns: repeat( 1, 1fr );
		}

}

@media screen and (min-width: 769px) {

	.faq-box .tabs .tab-content .wp-block-list a:hover {
		color: var(--wp--preset--color--primary);
	}

}

/*
-------------------------------------------------------

staff-box

-------------------------------------------------------
*/

.staff-box {
	overflow: hidden;
}

.staff-box .is-style-white + .is-style-white {
	margin-top: 3em;
}

.staff-box .is-style-bg-shape-01 {
	padding-bottom: 3em;
}

.staff-box .is-style-bg-shape-01::after {
	bottom: 0;
}

.staff-box .intro_wrap {
	gap: 1em var(--wp--preset--spacing--40);
}

.staff-box .photo_wrap {
	flex: 1 !important;
	text-align: center;
}

.staff-box .text_wrap {
	flex: 2 !important;
}

.staff-box .ttl-wrap {
	gap: .8em 2em;
}

.staff-box p.name {
	font-size: var(--wp--preset--font-size--28);
	white-space: nowrap;
	line-height: 1.5;
}

.staff-box .pet_meta .meta {
	gap: .8em;
	white-space: nowrap;
}

.staff-box .pet_meta .ttl {
	line-height: 1;
	background-color: var(--wp--preset--color--custom-blue);
	border-radius: 50px;
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--14);
	padding: .5em 1em;
}

.staff-box p.explain {
	margin-top: 1em;
	margin-bottom: 1em;
	line-height: 1.8;
}

.staff-box .block_wrap {
	gap: 1em;
}

.staff-box .detail_wrap {
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 20px;
	overflow: hidden;
}

.staff-box .detail_wrap .wp-block-heading {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	text-align: center;
	font-weight: normal;
	font-size: var(--wp--preset--font-size--16);
	padding: .2em 1em .3em;
}

/* 写真の角丸は .care-list .wp-block-post-featured-image a と揃える */
.staff-box .wp-block-image img {
	border-radius: 90px 90px 30px 30px;
}

.staff-box ul.wp-block-list.is-style-label {
	padding: 1em;
}

.staff-box ul.wp-block-list.is-style-label li {
	font-size: .8em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media screen and (max-width: 1200px) {

	.staff-box p.explain {
		font-size: var(--wp--preset--font-size--14);
	}

}

@media screen and (max-width: 1000px) {

	.staff-box ul.wp-block-list.is-style-label li {
		font-size: var(--wp--preset--font-size--12);
	}

}

@media (max-width: 768px) {

	.staff-box .is-style-white + .is-style-white {
		margin-top: 2em;
	}

	.staff-box .photo_wrap img {
		width: 400px;
		max-width: 100%;
		aspect-ratio: 4 / 3 !important;
	}

	.staff-box p.explain {
		font-size: var(--wp--preset--font-size--16);
	}

	.staff-box ul.wp-block-list.is-style-label li {
		font-size: var(--wp--preset--font-size--14);
	}

	.staff-box .wp-block-image img {
		border-radius: 60px 60px 20px 20px;
	}

}


/*
-------------------------------------------------------

recruit

-------------------------------------------------------
*/

.recruit-box .info-box .info-block {
	padding-bottom: var(--wp--preset--spacing--80);
}

.recruit-box .intro-box .ttl {
	margin-bottom: 1.5em;
}

.recruit-box .suitable .feature-list .cont {
	width: 20%;
}

.recruit-box .attract-block .suitable {
	margin-top: var(--wp--preset--spacing--60);
}

.recruit-box .job-box .is-style-animation-fade {
	padding: 1em 0 0 0;
}

.recruit-box .intro-box .column-block .ttl {
	margin-bottom: 0;
}

.recruit-box .job-box .is-style-white,
.recruit-box .training-box .cont,
.recruit-box .requirement-box .is-style-white {
	margin-top: 1em;
}

.recruit-box .training-box .is-style-check-list {
	display: grid;
	grid-template-columns: repeat( 2, 1fr );
	gap: .5em 2em;
}

.recruit-box .training-box .is-style-check-list.is-style-check-list li + li {
	margin-top: 0;
}

.recruit-box .is-style-white .is-style-ivory {
	margin: var(--wp--preset--spacing--40) 0;
}

.recruit-box .merit h4.wp-block-heading {
	font-size: var(--wp--preset--font-size--18);
	background-color: var(--wp--preset--color--custom-blue);
}

.recruit-box .step-list .step {
	background-color: transparent !important;
	padding: 0 !important;
}

.recruit-box .step-list .img {
	position: inherit;
}

@media screen and (max-width: 1200px) {

	.recruit-box .intro-box .is-style-emphasis {
		padding-right: 1.2em;
		padding-left: 1.4em;
	}

	.recruit-box .training-box .cont p {
		text-align: left;
	}

}

@media screen and (max-width: 1000px) {

	.recruit-box .training-box .cont {
		margin-top: 3em;
	}

	.recruit-box .step-list .step {
		background-color: var(--wp--preset--color--base);
		padding: var(--wp--preset--spacing--30);
	}

	.recruit-box .step-list .img {
		position: static;
	}

}

@media screen and (max-width: 768px) {

	.recruit-box .info-box .info-block br.sp {
		display: block;
	}

	.recruit-box .intro-box .is-style-emphasis,
	.recruit-box .intro-box .is-style-rl-line {
		font-size: var(--wp--preset--font-size--24);
	}

	.recruit-box .job-box .is-style-white,
	.recruit-box .requirement-box .is-style-white {
		margin-top: 0;
	}

	.recruit-box .training-box .cont {
		margin-top: 2em;
	}

	.recruit-box .training-box .is-style-check-list {
		display: block;
	}

	.recruit-box .training-box .is-style-check-list.is-style-check-list li + li {
		margin-top: .5em;
	}

	.recruit-box .step-list .txt {
		flex: 2;
	}

}


/*
-------------------------------------------------------

contact

-------------------------------------------------------
*/

.contact-box .notes-block {
	gap: var(--wp--preset--spacing--40);
}

.contact-box .notes-block .ttl {
	flex-basis: 200px;
	align-self: stretch;
	background-color: var(--wp--preset--color--base);
	border-radius: 20px;
}

.contact-box .notes-block .ttl .wp-block-heading {
	width: 100%;
	height: 100%;
	display: grid;
	place-content: center;
	font-size: var(--wp--preset--font-size--20);
	color: var(--wp--preset--color--primary);
}

.contact-box .notes-block .txt li + li {
	margin-top: .5em;
}

.snow-monkey-form.is-style-standard .smf-progress-tracker {
	border: solid 2px var(--wp--preset--color--primary);
	background: var(--wp--preset--color--base);
	border-radius: 10px;
}

.snow-monkey-form.is-style-standard[data-screen=back] .smf-progress-tracker__item--input, .snow-monkey-form.is-style-standard[data-screen=complete] .smf-progress-tracker__item--complete, .snow-monkey-form.is-style-standard[data-screen=confirm] .smf-progress-tracker__item--confirm, .snow-monkey-form.is-style-standard[data-screen=input] .smf-progress-tracker__item--input, .snow-monkey-form.is-style-standard[data-screen=invalid] .smf-progress-tracker__item--input {
	background: var(--wp--preset--color--primary);
}

.snow-monkey-form.is-style-standard[data-screen=back] .smf-progress-tracker__item--input .smf-progress-tracker__item__number, .snow-monkey-form.is-style-standard[data-screen=complete] .smf-progress-tracker__item--complete .smf-progress-tracker__item__number, .snow-monkey-form.is-style-standard[data-screen=confirm] .smf-progress-tracker__item--confirm .smf-progress-tracker__item__number, .snow-monkey-form.is-style-standard[data-screen=input] .smf-progress-tracker__item--input .smf-progress-tracker__item__number, .snow-monkey-form.is-style-standard[data-screen=invalid] .smf-progress-tracker__item--input .smf-progress-tracker__item__number {
	color: var(--wp--preset--color--base);
}

.snow-monkey-form.is-style-standard[data-screen=back] .smf-progress-tracker__item--input .smf-progress-tracker__item__text, .snow-monkey-form.is-style-standard[data-screen=complete] .smf-progress-tracker__item--complete .smf-progress-tracker__item__text, .snow-monkey-form.is-style-standard[data-screen=confirm] .smf-progress-tracker__item--confirm .smf-progress-tracker__item__text, .snow-monkey-form.is-style-standard[data-screen=input] .smf-progress-tracker__item--input .smf-progress-tracker__item__text, .snow-monkey-form.is-style-standard[data-screen=invalid] .smf-progress-tracker__item--input .smf-progress-tracker__item__text {
	color: var(--wp--preset--color--base);
}

.snow-monkey-form.is-style-standard .smf-progress-tracker__item + .smf-progress-tracker__item:after {
	background-color: var(--wp--preset--color--base);
}

.snow-monkey-form.is-style-standard[data-screen=back] .smf-progress-tracker__item--input + .smf-progress-tracker__item:after, .snow-monkey-form.is-style-standard[data-screen=complete] .smf-progress-tracker__item--complete + .smf-progress-tracker__item:after, .snow-monkey-form.is-style-standard[data-screen=confirm] .smf-progress-tracker__item--confirm + .smf-progress-tracker__item:after, .snow-monkey-form.is-style-standard[data-screen=input] .smf-progress-tracker__item--input + .smf-progress-tracker__item:after, .snow-monkey-form.is-style-standard[data-screen=invalid] .smf-progress-tracker__item--input + .smf-progress-tracker__item:after {
	background: var(--wp--preset--color--primary);
}

.snow-monkey-form.is-style-standard .smf-progress-tracker__item + .smf-progress-tracker__item:before {
	clip-path: polygon(0% 0%, 2.2px 0%, 100% 50%, 2.2px 100%, 0% 100%);
	background-color: var(--wp--preset--color--primary);
	width: 13px;
}

.snow-monkey-form.is-style-standard .smf-item__col--label,
.entry-content:has( .snow-monkey-form.is-style-standard[data-screen=confirm] ) .smf-item:has( [data-name=agree] ) > .smf-item__col--label {
	width: 30%;
}

.snow-monkey-form.is-style-standard .smf-item__col--controls,
.entry-content:has( .snow-monkey-form.is-style-standard[data-screen=confirm] ) .smf-item:has( [data-name=agree] ) > .smf-item__col--controls {
	width: calc( 70% - var(--wp--preset--spacing--30) );
}

.with_others .smf-radio-buttons-control__control .smf-label:last-child {
	flex-basis: 100%;
	display: flex;
	align-items: center;
}

.snow-monkey-form.is-style-standard .smf-item:has([data-validations~="required"]) .smf-item__label::after {
	border-radius: 4px;
	width: 4em;
	font-size: var(--wp--preset--font-size--14);
	line-height: 28px;
}

.smf-error-messages {
	font-size: var(--wp--preset--font-size--14);
}

.required-progress {
	right: var(--wp--preset--spacing--40);
	bottom: var(--wp--preset--spacing--60);
	border: solid 2px var(--wp--preset--color--primary);
	border-radius: 10px;
}

.required-progress .num-wrap {
	gap: 1em;
	line-height: 1.5;
	padding: 10px var(--wp--preset--spacing--40);
}

.required-progress .num {
	font-size: var(--wp--preset--font-size--20);
	color: var(--wp--preset--color--primary);
	padding: 0;
}

.required-progress .txt {
	font-size: var(--wp--preset--font-size--16);
	padding: 8px var(--wp--preset--spacing--20);
}

.snow-monkey-form .is-style-notes {
	margin-top: 0;
}

.snow-monkey-form[data-screen=confirm] .is-style-notes {
	display: none;
}

.date_flex {
	gap: 0 var(--wp--preset--spacing--10);
}

.date_flex > * {
	width: 240px;
}

.date_flex .smf-select-control {
	width: 100%;
}

.date_flex + .date_flex {
	margin-top: var(--wp--preset--spacing--20);
}

.date_flex .smf-text-control:has( > .date-input ) {
	position: relative;
}

.date_flex .smf-text-control:has( > .date-input )::after {
	font-family: 'Material Symbols Outlined';
	content: '\e935';
	font-variation-settings:
		'FILL' 1,
		'wght' 300;
	display: grid;
	place-content: center;
	width: 40px;
	height: 40px;	
	position: absolute;
	top: calc( 50% - 20px );
	right: 5px;
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--20);
	pointer-events: none;
}

.thanks-box .is-style-bg-shape-01 {
	padding-bottom: var(--wp--preset--spacing--80);
}

.thanks-box .is-style-bg-shape-01::after {
	bottom: 0;
}

.thanks-box .cta-box .cta-block {
	margin-top: 0;
}

.thanks-box .cta-box .link-to-cover-and-group-blocks {
	width: auto;
}

.snow-monkey-form.is-style-standard .smf-item {
	border-color: var(--wp--preset--color--custom-ivory);
}

/* date input の見た目を text と完全に揃える */
.snow-monkey-form .smf-text-control__control[type="date"]{
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	width: 100%;
	height: 48px;
	padding: 11px 40px 11px 16px;
	line-height: 1.5;
	color: var(--wp--preset--color--contrast);
	background-color: var(--wp--preset--color--base);
}

/* iOSで日付の内部余白っぽく見えるのを抑える */
.snow-monkey-form .smf-text-control__control[type="date"]{
	text-indent: 0;
}

/* カレンダーアイコンを消す（Chrome系） */
.snow-monkey-form .smf-text-control__control[type="date"]::-webkit-calendar-picker-indicator{
	opacity: 0;
	display: none;
	-webkit-appearance: none;
}

/* iOS Safari対策：アイコンを透明化 */
.snow-monkey-form .smf-text-control__control[type="date"]::-webkit-calendar-picker-indicator{
	opacity: 0;
}


@media screen and (max-width: 1200px) {

	.snow-monkey-form.is-style-standard .smf-item__col--label br.sp {
		display: inline;
	}

}

@media screen and (max-width: 1000px) {

	.date_flex .wp-block-group {
		flex: 1 1 0%;
		min-width: 0;
	}

	.date_flex .smf-text-control:has( > .date-input )::after {
		width: 30px;
	}

	.date_flex .date .date-input {
		width: 100%;
	}

	.snow-monkey-form .smf-select-control {
		width: 100%;
	}

}

@media screen and (max-width: 768px) {

	.contact-box .notes-block {
		flex-direction: column;
		gap: var(--wp--preset--spacing--20);
	}

	.contact-box .notes-block .ttl {
		flex-basis: auto;
		padding: .5em 1em;
		border-radius: 5px;
		background-color: var(--wp--preset--color--primary);
		color: var(--wp--preset--color--base);
		pointer-events: pointer;
	}

	.contact-box .notes-block .ttl .wp-block-heading {
		color: var(--wp--preset--color--base);
	}

	.contact-box .notes-block .ttl::after {
		font-family: 'Material Symbols Outlined';
		content: '\e145';
		font-variation-settings:
			'FILL' 1,
			'wght' 300;
		font-size: 30px;
		line-height: 1;
		position: absolute;
		top: calc( 50% - 15px );
		right: 5px;
	}

	.contact-box .notes-block .ttl.is-open::after {
		content: '\e15b';
	}

	.contact-box .notes-block .txt {
		display: none;
	}

	.snow-monkey-form.is-style-standard .smf-item__col--label,
	.snow-monkey-form.is-style-standard .smf-item__col--controls {
		width: 100%;
	}

	.snow-monkey-form.is-style-standard .smf-item:has([data-validations~="required"]) .smf-item__label::after {
		font-size: var(--wp--preset--font-size--12);
	}

	.snow-monkey-form.is-style-standard .smf-item__col--label br.sp {
		display: none;
	}

	.date_flex .wp-block-group {
		width: 100%;
	}

	.date_flex .smf-text-control:has( > .date-input )::after {
		right: 3.5px;
	}

	.required-progress {
		bottom: 0;
		border-radius: 0;
		gap: 1em;
	}

	.required-progress .txt {
		display: none;
	}

	.required-progress .num-wrap {
		padding: 0;
	}

	.required-progress .num {
		color: var(--wp--preset--color--base);
	}

	body:has( .snow-monkey-form ) .footer > .copyright {
		padding-bottom: 5em;
	}

	.entry-content:has( .snow-monkey-form[data-screen=confirm] ) .smf-item {
		flex-direction: row;
	}

	.entry-content:has( .snow-monkey-form[data-screen=confirm] ) .smf-item__col--label br.sp {
		display: block !important;
	}

	/* 確認画面の「同意事項」だけ折り返す */
	.entry-content:has( .snow-monkey-form[data-screen=confirm] ) .smf-placeholder[data-name="agree"] [data-validations]{
		display: inline-block;
		max-width: 11em;
		white-space: normal;
	}


}
