@charset "UTF-8";

/* --------------------------------------------
ANIMATION
--------------------------------------------- */
.animation.fade{
	opacity : 0;
	transition : opacity var( --transitionBase );
}
.animation.fade.is-animation{
	opacity : 1;
}

/* --------------------------------------------
FORM
--------------------------------------------- */
:where( .mw_wp_form_input , .mw_wp_form_confirm ) form > dl > dt label{
	letter-spacing : .05em;
}
:where( .mw_wp_form_input , .mw_wp_form_confirm ) form > dl > dt label span{
	display : block;
	letter-spacing : .05em;
}
@media screen and ( max-width : 750px ){
	:where( .mw_wp_form_input , .mw_wp_form_confirm ) form > dl > dt label{
		font-size : calc( 26 var( --remBase ) );
		line-height : 1.5;
	}
	:where( .mw_wp_form_input , .mw_wp_form_confirm ) form > dl > dt label span{
		font-size : calc( 22 var( --remBase ) );
		line-height : 1.5;
	}
	:where( .mw_wp_form_input , .mw_wp_form_confirm ) form > dl > dd{
		width : calc( 600 var( --percentBase ) );
		margin-top : calc( ( 30 - 6.5 ) var( --remBase ) );
		margin-left : calc( 60 var( --percentBase ) );
	}
	:where( .mw_wp_form_input , .mw_wp_form_confirm ) form > dl > dd + dt{
		margin-top : calc( ( 56 - 6.5 ) var( --remBase ) );
	}
}
@media print , screen and ( min-width : 750.02px ){
	:where( .mw_wp_form_input , .mw_wp_form_confirm ) form > dl{
		display : grid;
		grid-template-columns : calc( 310 var( --percentBase ) ) 1fr;
	}
	:where( .mw_wp_form_input , .mw_wp_form_confirm ) form > dl > :where( dt,dd ):not( :first-of-type ){
		padding-top : calc( 42 var( --remBase ) );
		margin-top : calc( 42 var( --remBase ) );
		border-top : solid 1px #999;
	}
	:where( .mw_wp_form_input , .mw_wp_form_confirm ) form > dl > dt{
		padding-inline : calc( 20 * 100% / 310 );
	}
	:where( .mw_wp_form_input , .mw_wp_form_confirm ) form > dl > dt label{
		font-size : calc( 22 var( --remBase ) );
		line-height : 2;
	}
	:where( .mw_wp_form_input , .mw_wp_form_confirm ) form > dl > dt label span{
		font-size : calc( 16 var( --remBase ) );
		line-height : calc( 33 / 16 );
	}
}
.mw_wp_form_input form > dl > dt label.required{
	display : grid;
	align-items : start;
	width : 100%;
}
.mw_wp_form_input form > dl > dt label.required::after{
	display : grid;
	place-items : center;
	line-height : 1;
	color : #fff;
	text-align : center;
	text-indent : .05em;
	letter-spacing : .05em;
	content : "必須";
	background-color : #eb6877;
}
.mw_wp_form_input :where( input[type="text"] , input[type="number"] , input[type="email"] , input[type="zip"] , select , textarea ){
	letter-spacing : .05em;
	background-color : #efefef;
}
.mw_wp_form_input .radios{
	display : flex;
	flex-wrap : wrap;
}
.mw_wp_form_input .radios label{
	position : relative;
	display : block;
}
.mw_wp_form_input .radios label input{
	display : none;
}
.mw_wp_form_input .radios label span{
	position : relative;
	display : grid;
	align-items : center;
	cursor : pointer;
}
.mw_wp_form_input .radios label span::before{
	display : grid;
	place-items : center;
	aspect-ratio : 1;
	font-size : 0;
	letter-spacing : 0;
	content : "";
	border-radius : 50%;
}
.mw_wp_form_input .radios label input:checked + span::after{
	position : absolute;
	display : block;
	aspect-ratio : 1;
	font-size : 0;
	letter-spacing : 0;
	content : "";
	border-radius : 50%;
}
.mw_wp_form_input .radios label span{
	letter-spacing : .05em;
}
.mw_wp_form_input .radios label span::before{
	background-color : #efefef;
}
.mw_wp_form_input .radios label input:checked + span::after{
	background-color : #deae07;
}
@media screen and ( max-width : 750px ){
	.mw_wp_form_input form > dl > dt label.required{
		grid-template-columns : auto calc( 53 var( --percentBase ) );
		column-gap : calc( 11 var( --percentBase ) );
		justify-content : start;
	}
	.mw_wp_form_input form > dl > dt label.required::after{
		height : calc( 25 var( --remBase ) );
		margin-top : calc( 7 var( --remBase ) );
		font-size : 1.6rem;
	}
	.mw_wp_form_input :where( input[type="text"] , input[type="number"] , input[type="email"] , input[type="zip"] , select , textarea ){
		width : 100%;
		height : calc( 80 var( --remBase ) );
		padding-inline : calc( 37 var( --remBase ) );
		font-size : calc( 26 var( --remBase ) );
		line-height : 1.5;
	}
	.mw_wp_form_input .radios{
		column-gap : calc( 58 * 100% / 600 );
	}
	.mw_wp_form_input .radios label span{
		grid-template-columns : calc( 46 var( --remBase ) ) auto;
		column-gap : calc( 10 var( --remBase ) );
		font-size : 2.6rem;
	}
	.mw_wp_form_input .radios label span::after{
		top : calc( 15 var( --remBase ) );
		left : calc( 15 var( --remBase ) );
		height : calc( 16 var( --remBase ) );
	}
	.mw_wp_form_input .error{
		font-size : calc( 26 var( --remBase ) );
		line-height : 1.5;
	}
}
@media print , screen and ( min-width : 750.02px ){
	.mw_wp_form_input form > dl > dt label{
		padding-block : calc( 8 var( --remBase ) );
	}
	.mw_wp_form_input form > dl > dt label.required{
		grid-template-columns : auto calc( 53 * 100% / 270 );
	}
	.mw_wp_form_input form > dl > dt label.required::after{
		height : calc( 25 var( --remBase ) );
		margin-top : calc( 9.5 var( --remBase ) );
		font-size : 1.6rem;
	}
	.mw_wp_form_input :where( input[type="text"] , input[type="number"] , input[type="email"] , input[type="zip"] , select , textarea ){
		height : calc( 60 var( --remBase ) );
		padding-inline : calc( 23 var( --remBase ) );
		font-size : calc( 22 var( --remBase ) );
		line-height : 2;
	}
	.mw_wp_form_input .radios{
		column-gap : calc( 36 * 100% / 1090 );
	}
	.mw_wp_form_input .radios label{
		padding-block : calc( 18 var( --remBase ) );
	}
	.mw_wp_form_input .radios label span{
		grid-template-columns : calc( 20 var( --remBase ) ) auto;
		column-gap : calc( 8 var( --remBase ) );
		font-size : 2.2rem;
	}
	.mw_wp_form_input .radios label span::after{
		top : calc( 6 var( --remBase ) );
		left : calc( 5 var( --remBase ) );
		height : calc( 10 var( --remBase ) );
	}
	.mw_wp_form_input .radios .error{
		font-size : calc( 22 var( --remBase ) );
		line-height : calc( 60 / 22 );
	}
	.mw_wp_form_input .error{
		font-size : calc( 22 var( --remBase ) );
		line-height : 2;
	}
}
@media screen and ( max-width : 750px ){
	.mw_wp_form_confirm > form > dl > dd{
		font-size : calc( 26 var( --remBase ) );
		line-height : 1.5;
	}
}
@media print , screen and ( min-width : 750.02px ){
	.mw_wp_form_confirm > form > dl > dd{
		font-size : calc( 22 var( --remBase ) );
		line-height : 2;
	}
}
#privacies legend{
	text-align : center;
	text-indent : .05em;
	letter-spacing : .05em;
}
#privacies .scrollable{
	display : block;
	overflow-y : scroll;
	border-color : #999;
	border-style : solid;
}
#privacies .scrollable :where( p , h3 , li ){
	letter-spacing : .1em;
}
#privacies .scrollable h3{
	font-weight : 500;
}
#privacies .scrollable .list > li , #privacies .scrollable p[data-before]{
	display : grid;
	grid-template-columns : auto 1fr;
	grid-auto-flow : column;
}
@media screen and ( max-width : 750px ){
	#privacies legend{
		font-size : 2.6rem;
	}
	#privacies .scrollable{
		height : calc( 674 var( --remBase ) );
		padding-inline : calc( 30 var( --percentBase ) );
		padding-top : calc( ( 30 - 13 ) var( --remBase ) );
		padding-bottom : calc( ( 23 - 13 ) var( --remBase ) );
		margin-top : calc( 51 var( --remBase ) );
		border-width : calc( 2 var( --remBase ) );
	}
	#privacies .scrollable :where( p , li ){
		font-size : calc( 26 var( --remBase ) );
		line-height : calc( 52 / 26 );
	}
	#privacies .scrollable > ul , #privacies .scrollable > ul > li + li{
		margin-top : calc( 52 var( --remBase ) );
	}
	#privacies .scrollable h3{
		font-size : calc( 34 var( --remBase ) );
		line-height : calc( 52 / 34 );
	}
}
@media print , screen and ( min-width : 750.02px ){
	#privacies legend{
		font-size : 2.2rem;
	}
	#privacies .scrollable{
		width : calc( 1100 var( --percentBase ) );
		height : calc( 250 var( --remBase ) );
		padding-inline : calc( 21 * 100% / 1100 );
		padding-top : calc( ( 21 - 9 ) var( --remBase ) );
		padding-bottom : calc( ( 24 - 9 ) var( --remBase ) );
		margin-inline : auto;
		margin-top : calc( 29 var( --remBase ) );
		border-width : 1px;
	}
	#privacies .scrollable :where( p , li ){
		font-size : calc( ( ( 22 * 18 / 22 ) ) var( --remBase ) );
		line-height : calc( 44 / 22 );
	}
	#privacies .scrollable > ul , #privacies .scrollable > ul > li + li{
		margin-top : calc( ( ( 44 * 18 / 22 ) ) var( --remBase ) );
	}
	#privacies .scrollable h3{
		font-size : calc( ( ( 32 * 18 / 22 ) ) var( --remBase ) );
		line-height : calc( 44 / 32 );
	}
}
.mw_wp_form_confirm #privacies{
	display : none;
}
#concent label span{
	position : relative;
	display : grid;
	grid-auto-flow : column;
	align-items : center;
	width : fit-content;
	cursor : pointer;
}
#concent label span::before{
	display : flex;
	flex-shrink : 0;
	align-items : center;
	justify-content : center;
	aspect-ratio : 1;
	font-size : 0;
	content : "";
}
#concent label input[type="checkbox"]{
	position : absolute;
	visibility : hidden;
	opacity : 0;
}
#concent label span{
	justify-content : center;
	margin-inline : auto;
	letter-spacing : .05em;
}
#concent label span::before{
	background-color : #ccc;
}
#concent label input[type="checkbox"]:checked + span::after{
	position : absolute;
	display : block;
	content : "";
	background : url( "../images/ui/icon/check02.svg" ) 0 0 / contain no-repeat;
}
@media screen and ( max-width : 750px ){
	#concent{
		margin-top : calc( 35 var( --remBase ) );
	}
	#concent span{
		grid-template-columns : calc( 30 var( --remBase ) ) auto;
		column-gap : calc( 10 var( --remBase ) );
		font-size : 2.6rem;
	}
	#concent input[type="checkbox"]:checked + span::after{
		top : calc( 4 var( --remBase ) );
		left : 0;
		width : calc( 31 var( --remBase ) );
		height : calc( 26 var( --remBase ) );
	}
}
@media print , screen and ( min-width : 750.02px ){
	#concent{
		margin-top : calc( 24 var( --remBase ) );
	}
	#concent span{
		grid-template-columns : calc( 25 var( --remBase ) ) auto;
		column-gap : calc( 14 var( --remBase ) );
		font-size : 2.2rem;
	}
	#concent input[type="checkbox"]:checked + span::after{
		top : calc( 5 var( --remBase ) );
		left : calc( 1 var( --remBase ) );
		width : calc( 25 var( --remBase ) );
		height : calc( 21 var( --remBase ) );
	}
	#concent .error{
		text-align : center;
	}
}
.submits :where( input , button ){
	display : grid;
	place-items : center;
	text-align : center;
	text-indent : .05em;
	letter-spacing : .05em;
	border-color : var( --black );
	border-style : solid;
	transition : background var( --transitionBase ) , color var( --transitionBase );
}
.submits input{
	color : #fff;
	background-color : var( --black );
}
.submits input:hover{
	color : var( --black );
	background-color : var( --white );
}
.submits button{
	color : var( --black );
	background-color : var( --white );
}
.submits button:hover{
	color : var( --white );
	background-color : var( --black );
}
@media screen and ( max-width : 750px ){
	.submits{
		padding-inline : calc( 30 var( --percentBase ) );
		margin-top : calc( 82 var( --remBase ) );
	}
	.submits * + *{
		margin-top : calc( 40 var( --remBase ) );
	}
	.submits :where( input , button ){
		width : 100%;
		height : calc( 100 var( --remBase ) );
		font-size : 3rem;
		border-width : calc( 2 var( --percentBase ) );
	}
}
@media print , screen and ( min-width : 750.02px ){
	.submits{
		display : grid;
		grid-auto-columns : calc( 343 var( --percentBase ) );
		grid-auto-flow : column;
		column-gap : calc( 40 var( --percentBase ) );
		justify-content : center;
		margin-top : calc( 80 var( --remBase ) );
	}
	.submits :where( input , button ){
		height : calc( 72 var( --remBase ) );
		font-size : 2.2rem;
		border-width : 1px;
	}
}

/* --------------------------------------------
NEWS
--------------------------------------------- */
.news > h2{
	font-weight : 500;
	letter-spacing : .05em;
	border-bottom-color : #ccc;
	border-bottom-style : solid;
}
.news > div.box{
	display : flex;
	flex-wrap : wrap;
}
.news > div.box time , .news > div.box li , .news > div.box a{
	letter-spacing : .05em;
}
.news > div.box ul{
	display : flex;
	flex-wrap : wrap;
}
.news > div.box ul li + li::before{
	content : ",";
}
.news > div.box time + ul::before , .news > div.box ul + ul::before{
	white-space : pre;
	content : "　｜　";
}
.news .content p{
	letter-spacing : .05em;
}
.news .content h3{
	font-weight : 500;
	letter-spacing : .05em;
}
.news .content li{
	letter-spacing : .05em;
}
.news .content em{
	font-style : italic;
}
.news .content p a{
	color : #0f76cd;
	-webkit-text-decoration : underline;
	text-decoration : underline;
}
.news .content ol > li{
	display : grid;
	grid-template-columns : auto auto;
	align-items : start;
	justify-content : start;
	counter-increment : no;
}
.news .content ol > li::before{
	content : counter( no ) ".";
}
@media screen and ( max-width : 750px ){
	.news > h2{
		padding-bottom : calc( ( 27 - 4 ) var( --remBase ) );
		font-size : calc( 40 var( --remBase ) );
		line-height : 1.2;
		border-bottom-width : calc( 8 var( --remBase ) );
	}
	.news > div.box{
		margin-top : calc( ( 25 - 11 ) var( --remBase ) );
		font-size : calc( 22 var( --remBase ) );
		line-height : 2;
	}
	.news .content{
		margin-top : calc( ( 36 - 11 - 13 ) var( --remBase ) );
	}
	.news .content p{
		font-size : calc( 26 var( --remBase ) );
		line-height : 2;
	}
	.news .content p + h3{
		margin-top : calc( 52 var( --remBase ) );
	}
	.news .content h3{
		font-size : calc( 34 var( --remBase ) );
		line-height : calc( 52 / 34 );
	}
	.news .content li{
		font-size : calc( 26 var( --remBase ) );
		line-height : 2;
	}
}
@media print , screen and ( min-width : 750.02px ){
	.news > h2{
		padding-bottom : calc( ( 20 - 4 ) var( --remBase ) );
		font-size : calc( 34 var( --remBase ) );
		line-height : calc( 42 / 34 );
		border-bottom-width : calc( 6 var( --remBase ) );
	}
	.news > div.box{
		margin-top : calc( ( 29 - 11 ) var( --remBase ) );
		font-size : calc( 22 var( --remBase ) );
		line-height : 2;
	}
	.news .content{
		margin-top : calc( ( 47 - 11 ) var( --remBase ) );
	}
	.news .content p{
		font-size : calc( 22 var( --remBase ) );
		line-height : 2;
	}
	.news .content p + h3{
		margin-top : calc( 44 var( --remBase ) );
	}
	.news .content h3{
		font-size : calc( 32 var( --remBase ) );
		line-height : calc( 44 / 32 );
	}
	.news .content li{
		font-size : calc( 22 var( --remBase ) );
		line-height : 2;
	}
}

