@charset "utf-8";
/* head,text */
:root .page-header {
    background: var(--vk-page-header-url, url(https://stg.digital-dive.biz/takahara/wp-content/uploads/2026/09/bg-page-mv.jpg) ) no-repeat 50% center;
}
/* Link */
:root :is(.btn, .smf-action button) {
	--basecolor: var(--sub);
	--subcolor: #fff;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: fit-content;
	min-width: 17.778em;
	min-height: 3.166667em;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--subcolor);
	background: var(--basecolor);
	border:1px solid #fff;
	border-radius: 5px;
	padding: 1em 1.833334em;
	transition: var(--hover);
	cursor: pointer;
	pointer-events: auto;
	text-decoration: none !important;
}
:root :is(.btn, .smf-action button)::before {
	content:"";
	display:inline-block;
	width:1px;
	min-height: 2em;
	border-right:1px solid var(--subcolor);
	order:2;
	flex:1;
	margin-left: 1em;
}
:root :is(.btn, .smf-action button)::after {
	content:"";
	display:inline-block;
	min-width: 1em;
	min-height: 2em;
	background:var(--subcolor);
	mask:url(../img/common/icon-arrow.svg);
	mask-size:1em;
	mask-repeat:no-repeat;
	mask-position:right center;
	margin-left:2.055556em;
	order:3;
	transform-origin: left;
	transition:var(--hover);
}
:root .btn.btn_white {
	--basecolor: #fff;
	--subcolor: #262c48;
}
:root .btn.btn_transparent {
	--basecolor: transparent;
}
:root .text-link {
	display: block;
	width: fit-content !important;
	font-size: 1rem;
	font-weight: 500;
	padding-right: 3.5625em;
}
:root .btn[href^="tel:"]::before,
:root .btn[href^="tel:"]::after {
	display: none;
}
:root .slick-arrow {
	--bg_color: var(--accent);
	--arrow_color: var(--fontcolor);
	position: absolute;
	z-index: 10;
	font-size: 1.5rem;
	text-indent: -9999px;
	width: 2.75em;
	aspect-ratio: 44/26;
	background: var(--bg_color);
	border-radius: 1.625em;
	transform: none;
	border: none;
	cursor: pointer;
}
:root .slick-arrow::after {
	--arrow_wide: 0.8125em;
	position: absolute;
	z-index: -10;
	content: "";
	inset: 0;
	display: block;
	width: var(--arrow_wide);
	aspect-ratio: 13/11;
	mask: center center / contain repeat-x;
	mask-image: url(../img/common/icon-arrow.svg);
	background-color: var(--arrow_color);
	margin: auto;
}
:root .slick-prev {
	transform: scaleX(-1);
}
@media (hover: hover) and (pointer: fine),
(hover: none) and (pointer: coarse) {
	:root :is(.btn, .smf-action button):hover::after {
		transform:scaleX(0);
	    transform-origin: right;
	}
}
@media screen and (max-width:767px) {
	:root :is(.btn, .smf-action button) {
		min-width: 15em;
		min-height: 3.5em;
		font-size: 1rem;
		padding: 0.75em 1.5em;
	}
	:root :is(.btn, .smf-action button)::before {
		margin-left: 0.5em;
	}
	:root :is(.btn, .smf-action button)::after {
		margin-left:1.055556em;
	}
}
/* table */
.table_wrap table {
	width: 100%;
}
.table_wrap table tr {
	font-size: 1.125rem;
	border-bottom: 1px solid #c5c5c5;
}
.table_wrap table tr>* {
	padding-block: 1em;
	line-height: 1.6;
}
.table_wrap table tr th {
	width: 12em;
	font-weight: bold;
	padding-inline: 2em;
	vertical-align: text-top;
}
@media screen and (max-width:767px) {
	.table_wrap table tr {
		display: block;
		padding-block: 0.5em;
	}
	.table_wrap table tr>* {
		display: block;
		padding-block: 0;
	}
	.table_wrap table tr th {
		width: 100%;
		padding-inline: 0;
	}
}
/* list */
.news-items {
	border-top: 1px solid #c6c6c6;
}
.news-items .news-item :is(a, .no-data) {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 0.5em;
	min-height: 5.25em;
	font-size: 1rem;
	text-decoration-color: transparent;
	padding: 1.25em 0.625em;
	border-bottom: 1px solid #c6c6c6;
	background: #fff;
	height: 100%;
	flex-direction: column;
}
.news-info{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	gap:0.75em;
}
.news-info .news_cat{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	flex-wrap:wrap;
	gap:0.25em;
	width: 13em;
}
.news-items .no-data {
	color: #999;
	padding: 0.625em;
	margin-bottom: 6em;
}
.news-items .news-item a time {
	font-size: 1rem;
	font-weight: bold;
	color:#656565;
}
.news-items .news-item p {
	line-height: 1.25;
	text-decoration: underline solid 1px transparent;
	transition: text-decoration .4s;
	margin: 0;
	flex: 1;
}
.news-items .news-item a:hover p {
	text-decoration-color: var(--fontcolor);
}
.news-items.card-style {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5em 2.33334%;
	border: none;
	align-items: stretch;
}
.news-items.card-style.slick-slider {
	gap: 0;
}
:root .news-items.card-style .news-item {
	flex-basis: 23.25%;
	margin-block: 0;
}
body:not(.home) .news-items.card-style .news-item{
	flex-basis: 31.75%;
}
.news-items.card-style .news-item {
	flex-basis: 46.5%;
}
:root .news-items.card-style .news-item a {
	flex-direction: column;
	border: none;
	padding: 0.75em 1em 1em;
	filter: var(--shadow);
	will-change: filter;
	box-shadow: 0 0 10px rgba(0,0,0,0.15);
}
.news-items .card-body {
	/* flex: 1; */
	display: flex;
	flex-wrap: wrap;
	gap: 0.625em 1.25em;
}
:root .news-items.card-style .card-body {
	margin: 0;
	padding: 0;
}
:root .news-items.card-style .news-item p {
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.6;
	padding: 0;
	width: 100%;
	flex: inherit;
}
.news-items.card-style .news-item time {
	font-size: 0.875rem;
	line-height: inherit;
}
:root .news-items.card-style .news-info,
:root .news-category_list{
	display: flex;
	flex-wrap: wrap;
	gap: 0.25em 0.375em;
}
:root .news-category_item,
:root .news-category_list > mark{
	--keycolor:var(--key);
	display: inline-flex;
	font-size: 0.875em;
	padding: 0.1em 0.75em;
	background: var(--keycolor);
	color: #fff;
	max-height: 1.875em;
}
#news .news-category_item,
body.post-type-post .news-category_item{
	font-size:0.75rem;
}
:root .news-category_item.rd {
	--keycolor:var(--sub01);
}
:root .news-category_item.dr {
	--keycolor:var(--sub02);
}
:root .news-category_item.mb {
	--keycolor:var(--sub03);
}
:root .news-category_item.item-important {
	background: #df1a11;
}
.img-fit {
	overflow: hidden;
}
.img-fit img {
	object-fit: cover;
}
a:hover .img-fit img {
	transform: scale(1.1);
}
:root .news-items .img-fit {
	aspect-ratio: 33 / 22;
	width: 100%;
}
@media screen and (max-width:767px) {
	.news-items .news-item :is(a, .no-data) {
		min-height: 0;
		gap: 0.5em 0.75em;
		padding: 0.75em 0;
		flex-wrap: wrap;
		justify-content:flex-start;
	}
	.news-info{
		flex-wrap:wrap;
		flex-direction:column;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 0.25em;
		width: 100%;
	}
	.news-info .news_cat{
		display:flex;
		justify-content:flex-start;
		align-items:center;
		flex-wrap:wrap;
		gap:0.25em;
		width: 100%;
	}
	.news-items:not(.card-style) .img-fit {
		width: 30%;
	}
	.news-items .card-body {
		flex-direction:column;
		gap: 0;
		width: 100%;
	}
	.news-items .news-item a time {
		line-height: inherit;
		display: block;
		text-align: left;
	}
	:root .news-category_item  {
		padding: 0 .75em;
		font-size: 0.875rem;
		max-height: max-content;
	}
	:is(.news-items,.news-items.card-style) .news-item p {
		font-size: 1rem;
		line-height: 1.8;
	}
	:root .news-items.card-style {
		gap: 1em 2%;
	}
	:root .news-items.card-style .news-item {
		flex-basis: 100%;
	}
	body:not(.home) .news-items.card-style .news-item{
		flex-basis: 48%;
	}
	.home .news-items.card-style .news-item {
		flex-basis: 49%;
	}
	.news-items.card-style .news-item a {
		padding: 0.75em;
		gap: 0.75em;
	}
	.news-items.card-style .news-item img {
		width: 100%;
	}
	.news-items.card-style .news-item time {
		font-size: 0.875rem;
		line-height: inherit;
	}
	:root .news-items.card-style .news-info {
		margin-block: 0em 0.5em;
		font-size: 0.857rem;
		flex-direction: row;
	}
}
/*	パンくずリスト	*/
#pan {
	position: relative;
	z-index: 2;
	overflow: hidden;
	margin-bottom: 2em;
}
#pan ol {
	display: flex;
	align-items: center;
	padding: 1em 0;
	margin: 0;
	overflow-y: hidden;
	overflow-x: auto;
	gap: 1em;
	font-size: 0.875rem;
}
#pan li {
	list-style: none;
	display: inline-flex;
	align-items: center;
	gap: 1em;
	white-space: nowrap;
}
#pan li:nth-child(n+2)::before {
	content: "";
	display: block;
	width: 0.6em;
	height: 0.6em;
	border-top: solid 1px;
	border-right: solid 1px;
	transform: rotate(45deg) skew(-10deg, -10deg)
}
#pan li a {
	font-weight: bold;
	text-decoration-color: inherit;
}
@media (hover: hover) and (pointer: fine),
(hover: none) and (pointer: coarse) {
	#pan li a:hover {
		text-decoration-color: transparent;
	}
}
@media only screen and (max-width: 767px) {
	#pan {
		position: relative;
		overflow: hidden;
		margin-right: var(--outer);
	}
	#pan a {
		text-decoration: underline;
	}
	#pan li:last-child {
		position: relative;
		padding-right: 0.75em;
		margin-right: 0;
		flex-grow: 1;
	}
	#pan li:last-child::after {
		z-index: 20;
		top: -1em;
		bottom: -1em;
		background: var(--white);
	}
	:root .page-head .page-header {
		--height: 250px;
		border-top: solid 1px;
	}
	:root .page-head .page-header .page-title {
		font-size: 2.25rem;
	}
}

/* header */
.page-header {
	min-height: 386px !important;
}
.page-header-inner.container{
	max-width: 1200px;
	margin: auto;
	padding-inline: 0;
	position: relative;
	z-index: 0;
}
.page-header .page-header-title {
	font-size: min(3.26rem,8vw);
	font-weight: 600;
	text-align: left;
	margin-top: 60px;
}
.page-header .page-header-subtext{
	font-weight: 600;
	font-size: 1rem;
	letter-spacing: 1px;
	text-align: left;
	font-family: "Montserrat", sans-serif;
	position: absolute;
	z-index: 0;
	margin: auto;
	inset: 40px auto auto 0;
}
@media screen and (max-width: 1200px) {
	.page-header {
		min-height: 320px !important;
		margin-top: 0px;
		padding-inline: 2%;
	}
	.page-header .page-header-title {
		margin-top: 50px;
	}
}
@media screen and (max-width: 767px) {
	.page-header {
		min-height: 200px !important;
	}
	.page-header .page-header-title {
		font-size: 2rem;
	}
}
:root .site-body {
	margin: 0;
	padding: 0 0 4em;
}
:root .entry-body :is(h1, h2, h3, h4, h5, h6, ul, ol.li, p) {
	font-size: 1em;
	line-height: 1.8;
	margin: 0;
	padding: 0;
}
:root .site-body .entry-body :is(h1, h2, h3, h4, h5, h6):not(.vk_post_title) {
	font-weight: 700;
	margin-block: 1.5em;
	letter-spacing: 0.06em;
	line-height: 1.4;
}
:root .site-body h1 {
	font-size: 2.25rem;
	border-bottom: solid 2px var(--key);
	padding-bottom: 0.25em;
	font-weight: 600;
}
:root .site-body .archive-header {
	margin-bottom: 1.5em;
}
:root .site-body .entry-header {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	align-items: center;
}
:root .site-body .entry-header time {font-weight: 600;font-family: "Wix Madefor Display", sans-serif;color: #656565;}
:root .site-body .entry-header .news-category_list span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #656565;
}
:root .site-body .entry-header h1 {
	flex-basis: 100%;
}
:root .site-body .entry-body h2{
	font-size: 2.25rem;
	padding-bottom: 0.5em;
	margin-block: 2em 1.5em;
	position: relative;
	z-index: 0;
}
:root .site-body .entry-body h2::after {
	position: absolute;
	z-index: 10;
	inset: auto auto 0 0;
	display: inline-block;
	content: "";
	width: 2.3125em;
	height: 4px;
	background: linear-gradient(to right, #1483d5, #3b51aa);
	margin-inline: auto;

}
:root .site-body .entry-body h2:first-child,
:root .site-body .entry-body .vk_spacer+ :is(h2, h3, h4, h5) {
	margin-top: 0;
}
:root .site-body .entry-body h2.has-text-align-center {
	font-size: 2rem;
	width: fit-content;
	margin-inline: auto;
}
:root .site-body .entry-body h3 {
	font-size: 1.75rem;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #c6c6c6;
}
:root .site-body .entry-body h4 {
	font-size: 1.5rem;
	padding-left: .5em;
	border-left: 5px solid #2c49af !important;
}
:root .site-body .entry-body h5 {
	font-size: 1.25rem;
	color: var(--key);
}
:root .site-body .entry-body h6 {
	font-size: 1.125rem;
}
:root .site-body .entry-body :is(p, li) {
	font-weight: 400;
	letter-spacing: 0.03em;
}
:root .site-body .entry-body :is(ul, ol):not(:is(ul, ol) :is(ul, ol)) {
	margin-block: 1em;
}
:root .site-body .entry-body ul {
	margin-left: 1.5em;
}
:root .site-body .entry-body ol {
	margin-left: 0.5em;
}
:root .site-body .entry-body li {
	line-height: 1.4;
	margin-block: 0.5em;
}
:root .site-body .entry-body ul li::marker {
	color: var(--key);
}
:root .site-body .entry-body ol li::marker {
	color: var(--accent);
	font-weight: 600;
}
:root .site-body .entry-body p {
	line-height: 1.8;
}
:root .site-body .entry-body :is(p, figure):not(:last-child) {
	margin-block: 1em;
}
:root .site-body .entry-body a:not(.btn) {
	color: #2c49af;
	text-decoration-color: inherit;
	text-decoration-style: solid;
	font-weight: 600;
}
:root .site-body .entry-body a:not(.btn):is(:hover, :focus) {
	color: inherit;
	text-decoration-color: transparent;
}
:root .site-body .entry-body table {
	margin-bottom: 0;
	border: none;
}
:root .site-body .entry-body table :is(th, td) {
	font-size: 1rem;
	padding: 1.5em 1em;
	border-inline: none;
	border-color: #dadada;
	min-width: 7em;
}
:root .site-body .entry-body table th {
	font-weight: bold;
}
:root .site-body .entry-body .btn {
	padding: 1em 1.833334em;
	display: inline-flex;
	opacity: 1;
	box-shadow: none;
	min-height: 3.75em;
	background: var(--sub) !important;
}
:root .site-body .end-area{
	margin-top: 4em;
}
:root .site-body .end-area a{
	margin:0 auto;
}
@media (hover: hover) and (pointer: fine),
(hover: none) and (pointer: coarse) {
	:root .site-body .entry-body .recruit_btn .btn:hover {
		background: #fff !important;
		color: var(--key) !important;
		border-color: var(--key) !important;
	}
	:root .site-body .entry-body .recruit_btn .btn:hover::before {
		background: var(--key) !important;
	}
	:root .site-body .entry-body .recruit_btn .btn:hover::after {
		color: var(--key) !important;
	}
	:root .site-body .entry-body .recruit_btn .btn:hover span::before {
		filter: var(--keyf);
	}
}
@media screen and (max-width:767px) {
	:root .site-body .entry-body h2{
		font-size: 1.75rem;
	}
	:root .site-body .entry-body h2.has-text-align-center {
		font-size: 1.75rem;
	}
	:root .site-body .entry-body h3 {
		font-size: 1.5rem;
	}
	:root .site-body .entry-body h4 {
		font-size: 1.25rem;
		border-left: 4px solid #2c49af;
	}
	:root .site-body .entry-body h5 {
		font-size: 1.125rem;
		color: var(--key);
	}
	:root .site-body .entry-body h2.has-text-align-center {
		font-size: 1.75rem;
	}
	:root .site-body .entry-body .recruit_btn .btn {
		min-height: 4.5em;
	}
	:root .site-body .entry-body .recruit_btn .btn span {
		padding-left: 2.5em;
	}
	:root .site-body .entry-body .recruit_btn .btn span::before {
		width: 30px;
		height: 36px;
	}
	:root .site-body .end-area{
		margin-block:2em 4em;
	}
}
body.single .main-section {
	max-width: 1000px;
	margin-inline: auto;
}



/*	お知らせ	*/
:root :is(.site-body .entry-body h4:not([class*="is-style-vk-heading"]), .sub-section-title) {
	border: none;
	background:transparent;
	padding-bottom: 0;
	position:relative;
	z-index:10;
	font-size:1.5rem;
	font-weight:bold;
}
:root .localNavi{
	padding: 0;
}
:root .localNavi a{
	color: unset;
}
:root .style_news ul,
:root .style_news ul li{
	padding: 0;
	margin: 0;
	list-style: none;
}
:root .style_news ul li::marker{
	content: none;
}
:root .style_news li article a{
	display: block;
	padding: 1.5em 1em;
	border-bottom: 1px solid #c6c6c6;
	text-decoration: none;
}
:root .style_news li:last-child article a{
	border-bottom: none;
}
:root .style_news li article a .detail_area{
	display: flex;
	gap: 2em;
	margin-bottom: 1em;

	font-weight: bold;
	color:#656565;
}
:root .style_news li article a .detail_area span{
	font-size: 0.875rem;
}
:root .style_news li article a .news_title{
	line-height: 1.25;
	text-decoration: underline solid 1px transparent;
	transition: text-decoration .4s;
	margin: 0;
}
:root .style_news li article a span {
	font-weight: 500;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

@media (any-hover: hover) {
	:root .style_news li article a:hover .news_title{
		text-decoration-color: var(--fontcolor);
	}
}
@media screen and (max-width: 768px){
	:root .style_news li article a{
		padding: 2em 4em 2em 1.5em;
	}
	:root .style_news li article a time {
		margin-bottom: 0.5em;
	}
	:root .style_news li article a i{
		right: 10px;
		width: 34px;
		height: 34px;
	}
	:root .style_news li article a i::after {
		left: 46%;
		width: 6px;
		height: 6px;
	}
}





/*	ページャー	*/
.navigation {
	margin-block: 4.625em;
}
:root ul.page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0;
	padding: 0;
	margin: 0;
	margin-top: 0.5em;
}
ul.page-numbers li {
	margin: 0;
}
ul.page-numbers li :is(a, span.page-numbers) {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 2.5em;
	aspect-ratio: 1/1;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1;
	color: var(--black);
	background: var(--white);
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	text-decoration: none;
	border: 1px solid #ccc;
}
ul.page-numbers li a:is(.prev, .next) {
	justify-content: center;
	flex-direction: row;
	width: 2em;
	aspect-ratio: 1 / 1;
	font-size: 1.125em;
	font-weight: normal;
	background: #f2f2f2;
	border: 1px solid #999999;
	text-transform: uppercase;
	padding: 0.25em 0.5em;
	margin-left: 0.5em;
	align-items: center;
	line-height: 1;
	padding-bottom: 0.5em;
}
ul.page-numbers li a:is(.prev, .next) i {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 1.75em;
	aspect-ratio: 1/1;
	font-size: 0.75em;
	line-height: 0.5;
	background: var(--white);
	border: 1px solid #999999;
	border-radius: 100%;
	overflow: clip;
}
ul.page-numbers li a:is(.prev, .next) i::before {
	content: "→";
	font-weight: bold;
	color: var(--main_color);
	scale: 1 1;
	transform-origin: left;
	transition: scale .3s;
}
ul.page-numbers li a.prev {
	flex-direction: row-reverse;
	margin-left: auto;
	margin-right: 0.5em;
}
ul.page-numbers li a.prev i::before {
	content: "←";
	transform-origin: right;
}
ul.page-numbers li span.page-numbers.current {
	background: #f2f2f2;
	display: flex;
}
@media (hover: hover) and (pointer: fine),
(hover: none) and (pointer: coarse) {
	:root ul.page-numbers li a:hover {
		background-color: #2c49af;
		color: #fff;
	}
	ul.page-numbers li a:is(.prev, .next):hover i::before {
		scale: 0 1;
		transform-origin: right;
	}
	ul.page-numbers li a.prev:hover i::before {
		transform-origin: left;
	}
}
@media screen and (max-width:767px) {
	.navigation {
		margin-block: 3em;
	}
	ul.page-numbers li :is(a, span.page-numbers) {
		width: 2em;
	}
	ul.page-numbers li a:is(.prev, .next) {
		justify-content: center;
		flex-direction: column;
		text-indent: 0;
		aspect-ratio: 1/1;
		padding: 0;
		width: 1.778em;
	}
	ul.page-numbers li a.prev{
		padding-bottom:0.25em;
	}
	ul.page-numbers li a:is(.prev, .next) span {
		display: none;
	}
	ul.page-numbers li a:is(.prev, .next) i {
		text-indent: 1px;
		width: auto;
		font-size: 1em;
		background: none;
		border: none;
	}
	ul.page-numbers li a:is(.prev, .next) i::before {
		color: var(--black);
	}
}
:root .snow-monkey-form {
	margin-block: 2em 0;
}
:root .snow-monkey-form .smf-item__label {
	font-size: 1.1275rem;
	margin-block: 1.5em 0.75em;
}
:root .snow-monkey-form .smf-item__label .smf-item__label__text {
	display: flex;
	align-items: center;
	gap: 0.5em;
}
:root .snow-monkey-form mark {
	display: inline-flex;
	font-size: 0.75rem;
	padding: 0.125em 0.5em;
	font-weight: 600;
}
:root .snow-monkey-form a {
	color: var(--key);
	text-decoration: underline solid 1px;
}
:root .snow-monkey-form a:hover {
	text-decoration-color: transparent;
}
:root .snow-monkey-form .smf-action {
	margin-block: 4em 0;
	text-align: center;
}
:root .snow-monkey-form .smf-action button {
	display: inline-flex;
}


/*	モーダル	*/
.modal-content {
	width: 80%;
	max-width: 1240px;
	margin: 0px;
	padding: 10px 20px;
	background: none;
	position: fixed;
	display: none;
	z-index: 1020;
}
#modal-overlay {
	z-index: 1000;
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 120%;
	background-color: rgba(0, 0, 0, 0.66);
}
.modal_tit {
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	margin: auto;
	max-width: 250px;
	text-align: center;
	line-height: normal;
	font-size: 20px;
	z-index: 1025;
	overflow: hidden;
	padding: 0px 30px;
	color: var(--whitecolor);
}
.modal_tit span {
	display: block;
	position: relative;
	padding: 10px 0px;
	background: rgb(0, 0, 0);
	z-index: 2;
	border-bottom: 1px solid rgb(255, 255, 255);
}
.modal-content .close_btn {
	position: absolute;
	top: 2%;
	right: -56px;
	color: rgb(255, 255, 255);
	font-size: 24px;
	font-weight: 800;
	border: 1px solid;
	padding: 0.75em;
	border-radius: 50%;
	line-height: 1;
	display: block;
	cursor: pointer;
	text-decoration-line: none !important;
	text-underline-offset: 4px;
}
.modal-content .modal_whole {
	background: #fff;
	padding: 2em 2em 0;
	overflow: auto;
	max-height: 80vh;
	text-align: left;
	overscroll-behavior: contain;
}
@media screen and (max-width: 768px) {
	.modal-content {
		width: 100%;
		padding: 50px 15px 15px;
		box-sizing: border-box;
	}
	.modal-content .modal_whole {
		padding: 1em 0.5em;
		overflow: auto;
		max-height: 70vh;
		text-align: left;
	}
	.modal-content .close_btn {
		font-size: 1.125em;
		top: 12px;
		right: 15px;
		padding: 0.5em;
	}
}


/*snow-monkey-form*/
:root .snow-monkey-form {
	margin-block: 2em 0;
}
:root .snow-monkey-form .smf-item__label {
	font-size: 1rem;
	margin-block: 0;
}
:root .snow-monkey-form .smf-item__description{
	margin:0;
	background:var(--accent);
	color: #fff;
	border-radius: 15px;
	line-height: 1;
	padding: 0.5em 0.75em;
	font-size: 0.75rem;
}
:root .snow-monkey-form .smf-item__label .smf-item__label__text {
	display: flex;
	align-items: center;
	gap: 0.5em;
	font-weight: 600;
}
:root .snow-monkey-form a {
	color: var(--key);
	text-decoration: underline solid 1px;
}
:root .snow-monkey-form a:hover {
	text-decoration-color: transparent;
}
:root .snow-monkey-form .smf-action {
	margin-block: 4em 0;
	text-align: center;
	gap: 0;
}
.snow-monkey-form .smf-item {
	padding: 1rem 0;
	border-bottom: 1px solid #cdd0d2;
}
.snow-monkey-form .smf-item:last-child{
	border-bottom:none;
}
.smf-form--simple-table .smf-item{
	display:flex;
}
.smf-placeholder[data-name="your-doui"]{
	margin-block: 1em;
}
.smf-placeholder[data-name="your-doui"] > div[data-validations="required"]{
	text-align:center;
}
.smf-form .smf-radio-buttons-control--horizontal .smf-radio-buttons-control__control>.smf-label {
	display: inline-block;
	margin-right: 1em;
	margin-top: 0;
}
.smf-form .birth-wrap:not(.is-not-stacked-on-mobile)>.wp-block-column,
.smf-form .birth-wrap>.wp-block-column{
	flex-basis: auto;
	flex-grow: 0;
}
.snow-monkey-form .smf-item.no-form{
	border-bottom:none!important;
	padding: 0;
}
.snow-monkey-form .smf-item__col--label {
	max-width: 190px;
	flex: 100%;
}
.smf-form .smf-item .smf-item__col--label {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 100%;
	max-height: 3.5em;
	flex: 280px;
	width: 280px;
	padding-right: 5em;
	box-sizing: border-box;
}
.smf-form .smf-item.required-box .smf-item__description {
	display: inline-block;
	font-size: 0.75rem;
	line-height: 1;
	color: #fff;
	background: #e60012;
	padding: 0.35em 0.5em;
	margin: 0;
}
.snow-monkey-form .smf-item__col--controls {
	max-width: calc(100% - 280px);
	flex: 100%;
	margin-top: 0;
	/* min-height: 3.5em; */
}
.snow-monkey-form .smf-item .smf-radio-button-control__control{
	display:none;
}
.smf-form--simple-table .smf-item--divider .smf-item__col{
	max-width:none;
}
.snow-monkey-form input,
.snow-monkey-form select{
	font-family: "Noto Sans JP", serif;
}
.snow-monkey-form .smf-form .smf-item .smf-text-control__control,
.snow-monkey-form input[type="search"],
.snow-monkey-form input[type="email"],
.snow-monkey-form input[type="tel"],
.snow-monkey-form input[type="number"],
.snow-monkey-form input[type="password"],
.snow-monkey-form .smf-form .smf-item .smf-textarea-control__control {
	appearance: none;
	-webkit-appearance: none;
	background: #fff;
	margin: 0;
	border: #cdd0d2 solid 1px;
	display: block;
	width: 100%;
	height: 2.875em;
	line-height: 2.875em;
	padding: 0 1em;
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 0 !important;
	border-radius: 0;
}
.snow-monkey-form .smf-form .smf-placeholder:has(.long){
	flex:1;
}
.snow-monkey-form input[type="date"]{
	max-width:170px;
}
.smf-form .smf-item .smf-select-control,
.smf-form .smf-item .smf-select-control__control{
	width: 100%;
	height: 2.875em;
	line-height: 2.875em;
	padding: 0 2em 0 1em;
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 0 !important;
	border-radius: 0;
}
.smf-form .smf-item .smf-select-control:has(.control-short){
	width:30%;
}
.smf-form .smf-item .smf-select-control{
	padding:0;
	background: #fff;
}
.snow-monkey-form input::placeholder,
.snow-monkey-form textarea::placeholder {
	color: #a2a0a0;
}
.snow-monkey-form .smf-form .smf-item .smf-textarea-control__control {
	height: auto;
	padding: 0.5em 1em;
	line-height: 1.4em;
}
.smf-form .smf-item .smf-select-control__control:active,
.smf-form .smf-item .smf-select-control__control:focus,
.smf-form .smf-item .smf-select-control__control:focus-within,
.smf-form .smf-item .smf-select-control__control[aria-selected=true]{
	border-color:#000;
}
.smf-form .smf-item .smf-select-control__toggle:before,
.smf-form .smf-item .smf-select-control__control:focus + .smf-select-control__toggle:before{
	border-color:#000;
}
.snow-monkey-form[data-screen="confirm"] .smf-item.required-box .smf-item__description {
	display:none;
}
#autozip {
   display: none !important;
}

/*radio,checkbox*/
.snow-monkey-form label {
	cursor: pointer;
}
.smf-form .smf-item .smf-checkboxes-control__control>.smf-label{
	margin-right:0.5em;
	margin-bottom:0.5em;
}
.smf-form .smf-item.check_center .smf-checkboxes-control__control>.smf-label{
	text-align:center;
	margin-top:1.5em;
}
.smf-form .smf-item .smf-radio-control__control,
.smf-form .smf-item .smf-checkbox-control__control {
	display: none;
}
.smf-form input.smf-checkbox-control__control{
	display:none;
}
.smf-checkboxes-control__control:has(input[name="your-doui[]"]){
	margin-top: 0.5em;
	text-align:center;
}
.smf-form .smf-item .smf-select-control__toggle{
	background:transparent;
}
.snow-monkey-form input[type="radio"]+span,
.snow-monkey-form input[type="checkbox"]+span {
	display: inline-block;
	padding: 0.25em 0.25em 0.25em 1.875em;
	position: relative;
	margin-top: 0;
}
.snow-monkey-form input[type="radio"]+span{
	padding-left: 1.75em;
}
.snow-monkey-form label input[type="radio"]+span:before,
.snow-monkey-form label input[type="checkbox"]+span:before,
.snow-monkey-form label input[type="radio"]+span:after,
.snow-monkey-form label input[type="checkbox"]+span:after {
	content: "";
	display: inline-block;
	width: 1.375rem;
	height: 1.375rem;
	border: solid 1px #cdd0d2;
	border-radius: 2px;
	position: absolute;
	left: 0;
	top: 5px;
	transition: opacity .2s;
}
.snow-monkey-form label input[type="radio"]+span:before,
.snow-monkey-form label input[type="checkbox"]+span:before{
	background-color:#fff;
}
.snow-monkey-form label input[type="checkbox"]+span:after {
	border: none;
	width: 1rem;
	height: 0.5rem;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	transform: rotate(135deg);
	top: 10px;
	left: 3px;
	opacity: 0;
}
.snow-monkey-form label input[type="radio"]+span:before {
	border-radius: 50%;
	width: 24px;
	height: 24px;
	top: 0.25em;
}
.snow-monkey-form label input[type="radio"]+span:after {
	border-radius: 50%;
	width: 18px;
	height: 18px;
	border: none;
	background: var(--key);
	top: 7px;
	left: 3px;
	opacity: 0;
}
.snow-monkey-form label input[type="radio"]:checked+span:before {
	border-color: var(--key);
}
.snow-monkey-form label input[type="checkbox"]:checked+span:before {
	border-color: var(--key);
	background: var(--key);
}
.snow-monkey-form label input[type="radio"]:checked+span:after,
.snow-monkey-form label input[type="checkbox"]:checked+span:after {
	opacity: 1;
}

/*smf-button-control__control*/
.smf-action{
	display:flex;
	justify-content:center;
	align-items:stretch;
	gap: 5%;
	margin-top: 2em
}
.smf-action > *{
	margin-top:0;
}
.smf-action .smf-button-control{
	/* width:330px; */
}
.smf-action .smf-button-control:has(button){
	margin: 0;
}
:root .snow-monkey-form .smf-action button{
	--basecolor: var(--sub);
	--subcolor: #fff;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: fit-content;
	min-width: 17.778em;
	min-height: 3.166667em;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--subcolor);
	background: var(--basecolor);
	border:1px solid #fff;
	border-radius: 5px;
	padding: 1em 1.833334em;
	transition: var(--hover);
	cursor: pointer;
	pointer-events: auto;
	text-decoration: none !important;
}
:root .snow-monkey-form .smf-action button[data-action="back"]{
	background:var(--key02);
	color:var(--basecolor);
	border:1px solid;
}
:root .snow-monkey-form .smf-action button[data-action="back"]:before{
	border-color: var(--basecolor);
}
:root .snow-monkey-form .smf-action button[data-action="back"]:after{
	background:var(--sub);
}
:root .site-body .entry-body .snow-monkey-form .style-contact p{
	margin-block:0;
}
:root .site-body .entry-body .snow-monkey-form .style-contact p:not(strong){
	margin-bottom:0.5em;
}
:root .site-body .entry-body .snow-monkey-form .style-contact p:not(strong) + p:has(strong){
	margin-top:1.5em;
}
.smf-action .smf-button-control__control[data-action="complete"] .complete-none{
	display:none;
}
@media screen and (max-width:767px) {
	.snow-monkey-form .smf-item{
		padding: 1em 0;
	}
	.smf-form--simple-table .smf-item{
		display:block;
	}
	.smf-form .smf-item .smf-item__col--label{
		justify-content:flex-start;
		gap:3%;
		margin-bottom: 0.75em;
		padding-bottom: 0;
		padding-right: 0;
		width: 100%;
	}
	.smf-form .birth-wrap.is-layout-flex{
		gap:12px;
	}
	.snow-monkey-form .smf-item__col--label,
	.snow-monkey-form .smf-item__col--controls,
	.snow-monkey-form .form_harf .smf-item__col--label,
	.snow-monkey-form .form_harf .smf-item__col--controls{
		max-width: 100%;
	}
	.smf-form .smf-item .smf-select-control{
		max-width:100%;
	}
	.smf-action{
		display:flex;
		flex-direction:column-reverse;
		flex-wrap: wrap;
	}
	.smf-action > * + *{
		margin-top:1em;
	}
	.smf-action .smf-button-control+.smf-button-control{
		margin:0;
	}
	.smf-action .smf-button-control__control{
		margin:0.5em auto;
		width: 100%;
		max-width: 270px;
		border-width: 1px;
	}
	.snow-monkey-form .smf-item.privacy-box,
	.snow-monkey-form .smf-item.text-box{
		margin: 20px auto;
		padding: 20px 15px;
	}
	.snow-monkey-form .privacy-box ul li:before{
		width:4px;
		height:4px;
		left:0;
		top:0.65em;
	}
	.snow-monkey-form .sp-flex{
		gap: 0.5em;
	}
	.snow-monkey-form label input[type="radio"]+span:before {
		top: 0.375em;
		width: 18px;
		height: 18px;
	}
	.snow-monkey-form label input[type="radio"]+span:after {
		top: 8px;
		width: 12px;
		height: 12px;
		left: 3px;
	}
	.snow-monkey-form input[type="date"]{
		max-width:100%;
		width: 100%;
		min-width: 150px;
	}
	:root .smf-action .smf-button-control+.smf-button-control{
		margin-left:0;
	}
}
