@charset "utf-8";
/* head,text */
p.text,
.texts>p {
	font-size: 1rem;
	line-height: 1.875;
	text-align: left;
}
.f_small {
	font-size: 0.875rem;
}
.mb1em {
	margin-bottom: 1.875em;
}
.mb2em {
	margin-bottom: 3.75em;
}
:root :is(h1, h2, h3, h4, h5) {
	position:relative;
	z-index:5;
	margin-bottom:1em;
}
:root h2{
	font-size:1.75rem;
	font-weight:bold;
}
:root h3{
	font-size:1.625rem;
	font-weight:bold;
}
:root h4{
	font-size:1.5rem;
	font-weight:500;
}
:root h5{
	font-size:1.375rem;
	font-weight:500;
}
:root h6{
	font-size:1.25rem;
	font-weight:500;
}
@media screen and (min-width: 769px) {
	.pc_center {
		text-align: center !important;
	}
}
.limit_lh p {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
@media screen and (max-width: 768px) {
	p.text,
	.texts>p {
		font-size: 1rem;
	}
}
/* Link */
:root .block_link a:hover img,
:root a:hover img.opacity {
	opacity: 0.7;
	text-decoration: none;
}
:root .img_fit {
	overflow: hidden;
	max-width: fit-content;
	position: relative;
}
:root .img_fit img {
	object-fit: cover;
	transition: transform .4s;
	display: block;
	max-width: 100%;
	max-height: 100%;
}
:root a:hover .img_fit img {
	transform: scale(1.1)
}
:root .btn {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	width: fit-content;
	min-width: 14em;
	min-height: 4.1em;
	font-size: 1.25rem;
	font-weight: bold;
	color: var(--fontcolor);
	background: var(--accent05);
	border-radius:5em;
	padding: 0.25em 2em;
	transition: var(--hover);
	text-decoration: none;
	cursor: pointer;
	text-align: center;
	border:2px solid;
	box-shadow: 5px 5px var(--fontcolor);
	right:1em;
}
:root .btn .image{
	width:35px;
}
:root .btn p{
	width: calc(100% - 35px);
	position: relative;
	top: -0.25em;
}
:root .contact-btn p em{
	font-size:1rem;
	color:var(--keycolor);
	font-weight: 600;
	position:relative;
	letter-spacing: 0;
	line-height: 1;
	display: inline-block;
}
:root .contact-btn p em:before,
:root .contact-btn p em:after{
	content:"";
	width:11px;
	height:18px;
	background:url(../img/common/deco-contact-btn.svg) no-repeat center / contain;
	position:absolute;
	inset:0 auto 0 -1em;
	margin:auto;
}
:root .contact-btn p em:after{
	transform:scaleX(-1);
	inset:0 -0.5em 0 auto;
}
:root .contact-btn p span{
	font-weight: 600;
	display: block;
	line-height: 1;
}
:root .btn.bg-blue{
	background: var(--accent02);
}
:root .btn.bg-blue{
	background: var(--accent02);
}
:root .btn::before{
	content:"";
	width: 10px;
	height: 10px;
	border-top: solid 2px var(--fontcolor);
	border-right: solid 2px var(--fontcolor);
	position: absolute;
	transform: rotate(45deg);
	inset: 0 1.5em 0 auto;
	margin:auto;
}
:root .btn.mt {
	margin-top: 2.5em;
}
@media (any-hover: hover) {
	:root .btn:hover {
		translate: 5px 5px;
		text-decoration: none;
		box-shadow: none;
	}
}
@media screen and (max-width:767px) {
	:root :is(.text_link a,a.text_link)::before {
		opacity: 0;
		visibility: hidden;
	}
	:root :is(.text_link a,a.text_link)::after {
		opacity: 1;
		visibility: visible;
	}
	:root .btn {
		min-width: 21.429em;
		margin-inline:auto;
	}
	:root .btn::after {
		opacity: 1;
		visibility: visible;
	}
	:root .contact-btn p em:before,
	:root .contact-btn p em:after{
		width:9px;
		height:15px;
	}
	:root .btn::before{
		width:8px;
		height:8px;
		border-top-width:1px;
		border-right-width:1px;
	}
}
:root .style_news .news_list {
	--border:1px solid #e2e2e2;
	border-top:var(--border);
}
:root .style_news .news_list li{
	border-bottom:var(--border);
}
:root .style_news .news_list li:nth-child(n+4){
	opacity:0;
	visibility:hidden;
	height:0;
	transition:var(--hover);
}
:root .style_news:has(input:checked) .news_list li:nth-child(n+4){
	opacity:1;
	visibility:visible;
	height:auto;
}
:root .style_news:has(li:nth-child(n+4)) label{
	display: block;
}
:root .style_news:has(input:checked) label{
	display:none;
}
:root .style_news .article{
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 1.5em;
	min-height: 8.75em;
	padding: 1.125em 0em;
	margin: 0 auto;
	transition: var(--hover);
}
:root .style_news .article .news-image{
	width:180px;
	aspect-ratio:180 / 120;
	overflow:hidden;
	border-radius:5px;
}
:root .style_news .article img{
	border-radius:5px;
}
:root .article .news-text {
	width: calc(100% - 1.5em - 180px);
	display: block;
}
:root .article .news-text a{
	color: #e81935;
}
:root .article .news-text .news-cat-wrap{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	gap:0.5em;
	flex-wrap: wrap;
}
:root .article time {
	font-size: 1rem;
	font-weight:500;
	color: #c3c3c3;
	text-decoration: none;
	display: block;
	margin-bottom: 0.5em;
}
:root .article em {
	font-size: 1.125rem;
	font-weight:600;
	display: block;
	margin-bottom: 0.25em;
}
:root .article p{
	font-weight:500;
	line-height:1.625;
}
@media screen and (max-width:767px) {
	:root .style_news .article :is(h2, h3, h4, p) {
		font-size: 0.79rem;
	}
	:root .style_news .article h2{
		font-size:1.71rem;
	}
	:root .style_news .article h3{
		font-size:1.47rem;
	}
	:root .style_news .article h4{
		font-size:1.29rem;
	}
	:root .style_news .article h5{
		font-size:1.14rem;
	}
	:root .style_news .article h6{
		font-size:1.07rem;
	}
	:root .style_news .article{
		gap: 0.375em;
		min-height:0;
		padding: 1.125em 0em;
		flex-wrap:wrap;
	}
	:root .style_news .article .news-image{
		width:100%;
	}
	:root .article .news-text {
		width:100%;
	}
	:root .article time {
		font-size:0.79rem;
		margin-bottom: 0.25em;
	}
	:root .article em {
		font-size:0.86rem;
	}
	:root .article p{
		font-size:0.79rem;
	}
	:root .style_news .news_list li:nth-child(n+3){
		opacity:0;
		visibility:hidden;
		height:0;
		transition:var(--hover);
	}
	:root .style_news:has(input:checked) .news_list li:nth-child(n+3){
		opacity:1;
		visibility:visible;
		height:auto;
	}
}
/*	モーダル	*/
.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: -10%;
	right: 0px;
	color: rgb(255, 255, 255);
	font-size: 40px;
	line-height: 1;
	display: block;
	cursor: pointer;
}
@media screen and (max-width: 768px) {
	.modal-content {
		width: 100%;
		padding: 15px;
		box-sizing: border-box;
	}
}

/*フォーム*/
.snow-monkey-form .smf-item {
	padding: 1rem 0 0;
}
.snow-monkey-form .smf-item *{
	font-weight:bold;
	font-size:1.125rem;
}
.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: 2em 1em;
	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: flex-start;
	align-items: center;
	max-width: 100%;
	max-height: 3.5em;
	flex: 270px;
	width: 270px;
	padding-right: 1em;
	box-sizing: border-box;
	gap: 0.5em;
}
.smf-form .smf-item .smf-item__description{
	display: inline-block;
	font-size: 1rem;
	line-height: 1;
	color: var(--whitecolor);
	background:#575757;
	padding: 0.125em 0.125em 0.25em 0.125em;
	margin: 0;
	width: 2.8125em;
	border-radius: 3px;
	text-align:center;
	font-weight: 500;
}
.smf-form .smf-item.required-area .smf-item__description {
	background: var(--keycolor);
}
.smf-form--simple-table .smf-item:has(textarea){
	display:block;
}
.smf-form--simple-table .smf-item:has(textarea) .smf-item__col--controls{
	width:100%;
	max-width: 100%;
	margin-top: 1em;
}
.snow-monkey-form .smf-item__col--controls {
	max-width: calc(100% - 270px);
	flex: 100%;
	margin-top: 0;
}
.snow-monkey-form .smf-item__col--controls *{
	font-weight: 500;
}
.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: #282828 solid 1px;
	display: block;
	width: 100%;
	height: 2.5em;
	line-height: 2.5em;
	padding: 0 1em;
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 0 !important;
	border-radius: 5px;
	font-family: "Murecho", sans-serif;
}
.snow-monkey-form input[type="date"]{
	max-width:170px;
}
.snow-monkey-form .smf-form .smf-item input[type="text"].text-desire-long{
	width:90px;
}
.snow-monkey-form .smf-form .smf-item input[type="text"].text-desire-short{
	width:60px;
}
.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 1em;
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 0 !important;
	border-radius: 0;
}
.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-area .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[]"]){
	text-align:center;
	margin-top: 1.5em;
}
.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;
	bottom: 0;
	margin: auto;
}
.snow-monkey-form label input[type="radio"]+span:after {
	border-radius: 50%;
	width: 18px;
	height: 18px;
	border: none;
	background: var(--keycolor);
	top: 0;
	left: 3px;
	opacity: 0;
	bottom: 0;
	margin: auto;
}
.snow-monkey-form label input[type="radio"]:checked+span:before {
	border-color: var(--keycolor);
}
.snow-monkey-form label input[type="checkbox"]:checked+span:before {
	border-color: var(--keycolor);
	background: var(--keycolor);
}
.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:2em;
	width: 100%;
}
.smf-action .smf-button-control__control{
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	min-height: 3.67em;
	font-size: 1.5rem;
	font-weight: bold;
	color: var(--whitecolor);
	background: var(--keycolor);
	border-radius:5em;
	padding: 0.25em 2em;
	transition: var(--hover);
	text-decoration: none;
	cursor: pointer;
	text-align: center;
	border: 2px solid var(--fontcolor);
	box-shadow: 5px 5px var(--fontcolor);
	width:100%;
}
.smf-action .smf-button-control__control::before{
	content:"";
	width: 18px;
	height: 18px;
	border-top: solid 2px var(--whitecolor);
	border-right: solid 2px var(--whitecolor);
	position: absolute;
	transform: rotate(45deg);
	inset: 0 2em 0 auto;
	margin:auto;
}
.smf-action .smf-button-control__control[data-action="back"]{
	color:  var(--keycolor);
	background:var(--white);
	box-shadow: 0 0 15px rgba(0,0,0,0.1);
}
.smf-action .smf-button-control__control[data-action="back"]::before{
	background:var(--keycolor);
}
.smf-action .smf-button-control__control[data-action="back"]::after{
	background:var(--keycolor);
}
@media (any-hover: hover) {
	.smf-action .smf-button-control__control:hover {
		translate: 5px 5px;
        text-decoration: none;
        box-shadow: none;
	}
}
@media screen and (max-width:767px) {
	.snow-monkey-form .smf-item *{
		font-size:0.93rem;
	}
	.smf-form .smf-item .smf-item__description{
		font-size:0.79rem;
	}
	.snow-monkey-form .smf-item{
		padding: 0.75em 0 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.5em;
		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-form--simple-table+.smf-action{
		margin-top: 1em;
		margin-bottom:0;
	}
	.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: 276px;
		border-width: 1px;
		font-size: 0.86rem;
		min-height: 3.655em;
		box-shadow: 2px 2px var(--fontcolor);
	}
	.smf-action .smf-button-control__control::before{
		width:10px;
		height: 10px;
		border-top-width:1px;
		border-right-width:1px;
	}
	.snow-monkey-form .sp-flex{
		gap: 0.5em;
	}
	.snow-monkey-form label input[type="radio"]+span:before {
		top: 2px;
		width: 18px;
		height: 18px;
	}
	.snow-monkey-form label input[type="radio"]+span:after {
		top: 8px;
		bottom:auto;
		width: 12px;
		height: 12px;
		left: 3px;
	}
	.snow-monkey-form input[type="date"]{
		max-width:100%;
	}
	.snow-monkey-form .smf-form .smf-item input[type="text"].text-desire-long{
		width:80px;
	}
	.snow-monkey-form .smf-form .smf-item input[type="text"].text-desire-short{
		width:50px;
	}
	.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{
		height: 3.333em;
		line-height: 3.333em;
		border-radius: 3px;
		font-size: 0.86rem;
	}
	.snow-monkey-form .smf-form .smf-item .smf-textarea-control__control{
		height: 7.5em;
	}
}