@charset "UTF-8";
/* m.css */
.fa-m{
	font-family:YakuHanMPs, "Noto Serif JP", "Hiragino Mincho Pro", "HG明朝E", "MS 明朝", serif;
}

.fa-mg{
	font-family:YakuHanRPs, "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO", sans-serif;
}

.fa-g{
	font-family:YakuHanJPs, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-weight:500;
}

.m-t-0{
	margin-top:0 !important;
}

.m-b-0{
	margin-bottom:0 !important;
}

.m-t-5{
	margin-top:5px;
}

.m-t-10{
	margin-top:10px;
}

.m-t-15{
	margin-top:15px;
}

.m-t-20{
	margin-top:20px;
}

.m-t-25{
	margin-top:25px;
}

.m-t-30{
	margin-top:30px;
}

.m-t-35{
	margin-top:35px;
}

.m-t-40{
	margin-top:40px;
}

.m-t-45{
	margin-top:45px;
}

.m-t-50{
	margin-top:50px;
}

.m-t-55{
	margin-top:55px;
}

.m-t-60{
	margin-top:60px;
}

.m-t-65{
	margin-top:65px;
}

.m-t-70{
	margin-top:70px;
}

.m-t-75{
	margin-top:75px;
}

.m-t-80{
	margin-top:80px;
}

.m-l-5{
	margin-left:5px;
}

.m-l-10{
	margin-left:10px;
}

.m-l-15{
	margin-left:15px;
}

.m-l-20{
	margin-left:20px;
}

.m-l-25{
	margin-left:25px;
}

.m-l-30{
	margin-left:30px;
}

.m-l-35{
	margin-left:35px;
}

.m-l-40{
	margin-left:40px;
}

.m-l-45{
	margin-left:45px;
}

.m-l-50{
	margin-left:50px;
}

.m-l-100{
	margin-left:100px;
}

.m-r-5{
	margin-right:5px;
}

.m-r-10{
	margin-right:10px;
}

.m-r-15{
	margin-right:15px;
}

.m-r-20{
	margin-right:20px;
}

.m-r-25{
	margin-right:25px;
}

.m-r-30{
	margin-right:30px;
}

.m-r-35{
	margin-right:35px;
}

.m-r-40{
	margin-right:40px;
}

.m-r-45{
	margin-right:45px;
}

.m-r-50{
	margin-right:50px;
}

.m-r-100{
	margin-right:100px;
}

.m-b-5{
	margin-bottom:5px;
}

.m-b-10{
	margin-bottom:10px;
}

.m-b-15{
	margin-bottom:15px;
}

.m-b-20{
	margin-bottom:20px;
}

.m-b-25{
	margin-bottom:25px;
}

.m-b-30{
	margin-bottom:30px;
}

.m-b-35{
	margin-bottom:35px;
}

.m-b-40{
	margin-bottom:40px;
}

.m-b-45{
	margin-bottom:45px;
}

.m-b-50{
	margin-bottom:50px;
}

.m-b-100{
	margin-bottom:100px;
}

.m-l-auto{
	margin-left:auto;
}

.m-r-auto{
	margin-right:auto;
}

.m-t-auto{
	margin-top:auto;
}

.m-b-auto{
	margin-bottom:auto;
}

.w-p-100{
	width:100%;
}

.w-p-95{
	width:95%;
}

.w-p-90{
	width:90%;
}

.w-p-85{
	width:85%;
}

.w-p-80{
	width:80%;
}

.w-p-75{
	width:75%;
}

.w-p-70{
	width:70%;
}

.w-p-65{
	width:65%;
}

.w-p-60{
	width:60%;
}

.w-p-55{
	width:55%;
}

.w-p-50{
	width:50%;
}

.w-p-45{
	width:45%;
}

.w-p-40{
	width:40%;
}

.w-p-35{
	width:35%;
}

.w-p-30{
	width:30%;
}

.w-p-25{
	width:25%;
}

.w-p-20{
	width:20%;
}

.w-p-15{
	width:15%;
}

.w-p-10{
	width:10%;
}

.w-p-5{
	width:5%;
}

.mw-p-100{
	max-width:100%;
}

.mw-p-95{
	max-width:95%;
}

.mw-p-90{
	max-width:90%;
}

.mw-p-85{
	max-width:85%;
}

.mw-p-80{
	max-width:80%;
}

.mw-p-75{
	max-width:75%;
}

.mw-p-70{
	max-width:70%;
}

.mw-p-65{
	max-width:65%;
}

.mw-p-60{
	max-width:60%;
}

.mw-p-55{
	max-width:55%;
}

.mw-p-50{
	max-width:50%;
}

.mw-p-45{
	max-width:45%;
}

.mw-p-40{
	max-width:40%;
}

.mw-p-35{
	max-width:35%;
}

.mw-p-30{
	max-width:30%;
}

.mw-p-25{
	max-width:25%;
}

.mw-p-20{
	max-width:20%;
}

.mw-p-15{
	max-width:15%;
}

.mw-p-10{
	max-width:10%;
}

.mw-p-5{
	max-width:5%;
}

.h-p-100{
	height:100%;
}

.h-p-95{
	height:95%;
}

.h-p-90{
	height:90%;
}

.h-p-50{
	height:50%;
}

.v-a-top{
	vertical-align:top;
}

.v-a-middle{
	vertical-align:middle;
}

.v-a-bottom{
	vertical-align:bottom;
}

.v-a-text-bottom{
	vertical-align:text-bottom;
}

.p-0{
	padding:0 !important;
}

.p-t-0{
	padding-top:0 !important;
}

.p-b-0{
	padding-bottom:0 !important;
}

.p-l-0{
	padding-left:0 !important;
}

.p-r-0{
	padding-right:0 !important;
}

.m-0{
	margin-top:0 !important;
}

.m-l-0{
	margin-left:0 !important;
}

.m-r-0{
	margin-right:0 !important;
}

.flex{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
}

.flex-wrap{
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}

.flex.column{
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-ms-flex-direction:column;
	flex-direction:column;
}

.flex.x-center{
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
}

.flex.x-start{
	-webkit-box-pack:start;
	-ms-flex-pack:start;
	justify-content:flex-start;
}

.flex.x-end{
	-webkit-box-pack:end;
	-ms-flex-pack:end;
	justify-content:flex-end;
}

.flex.space-between{
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
}

.flex.space-around{
	-ms-flex-pack:distribute;
	justify-content:space-around;
}

.flex.y-start{
	-webkit-box-align:start;
	-ms-flex-align:start;
	align-items:flex-start;
}

.flex.y-center{
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
}

.flex.y-end{
	-webkit-box-align:end;
	-ms-flex-align:end;
	align-items:flex-end;
}

.flex.baseline{
	-webkit-box-align:baseline;
	-ms-flex-align:baseline;
	align-items:baseline;
}

.flex.gap-5{
	gap:5px;
}

.flex.gap-10{
	gap:10px;
}

.flex.gap-15{
	gap:15px;
}

.flex.gap-20{
	gap:20px;
}

.flex.gap-25{
	gap:25px;
}

.flex.gap-30{
	gap:30px;
}

.flex.gap-35{
	gap:35px;
}

.flex.gap-40{
	gap:40px;
}

.flex.gap-45{
	gap:45px;
}

.flex.gap-50{
	gap:50px;
}

.flex.x-gap-5{
	column-gap:5px;
}

.flex.x-gap-10{
	column-gap:10px;
}

.flex.x-gap-15{
	column-gap:15px;
}

.flex.x-gap-20{
	column-gap:20px;
}

.flex.x-gap-25{
	column-gap:25px;
}

.flex.x-gap-30{
	column-gap:30px;
}

.flex.x-gap-35{
	column-gap:35px;
}

.flex.x-gap-40{
	column-gap:40px;
}

.flex.x-gap-45{
	column-gap:45px;
}

.flex.x-gap-50{
	column-gap:50px;
}

.flex.y-gap-5{
	row-gap:5px;
}

.flex.y-gap-10{
	row-gap:10px;
}

.flex.y-gap-15{
	row-gap:15px;
}

.flex.y-gap-20{
	row-gap:20px;
}

.flex.y-gap-25{
	row-gap:25px;
}

.flex.y-gap-30{
	row-gap:30px;
}

.flex.y-gap-35{
	row-gap:35px;
}

.flex.y-gap-40{
	row-gap:40px;
}

.flex.y-gap-45{
	row-gap:45px;
}

.flex.y-gap-50{
	row-gap:50px;
}

a{
	color:inherit;
	text-decoration:none;
}

a.text{
	text-decoration:underline;
}

a.hover{
	transition:all 0.3s;
}

a.hover:hover{
	opacity:0.8;
}

.align-center{
	text-align:center;
}

.align-left{
	text-align:left;
}

.align-right{
	text-align:right;
}

.italic{
	font-style:italic;
}

.bold{
	font-weight:700;
}

.inline{
	display:inline;
}

.block{
	display:block;
}

.inline-block{
	display:inline-block;
}

input[type=checkbox].trigger{
	display:none;
}

.border-bottom{
	border-bottom:1px solid #a0a0a0;
}

.text .text1{
	font-size:1.1em;
}

.text .text2{
	font-size:1.2em;
}

.text .text3{
	font-size:1.3em;
}

.text .text4{
	font-size:1.4em;
}

.text .text5{
	font-size:1.5em;
}

.text .text6{
	font-size:1.6em;
}

.text .text8{
	font-size:1.8em;
}

.text .text9{
	font-size:1.9em;
}

.text .text10{
	font-size:2em;
}

.text .text11{
	font-size:2.1em;
}

.text .text12{
	font-size:2.2em;
}

.text .text13{
	font-size:2.3em;
}

.text .text14{
	font-size:2.4em;
}

.text .text15{
	font-size:2.5em;
}

.clearfix::after{
	content:"";
	display:block;
	clear:both;
}

button{
	padding:0;
	border:none;
}

em, strong{
	font-weight:bold;
}

i.fa{
	color:#c01e1e;
}

i.fa-lg{

}

a.text-link{
	color:#0082ff;
	font-weight:bold;
}

.visually-hidden{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0, 0, 0, 0);
	white-space:nowrap;
	border:0;
}

html, body, #header, #main, #footer{
	min-width:1024px;
	max-width:1920px;
	margin-left:auto;
	margin-right:auto;
}

#main{

}

@media ( max-width:768px){
	html, body, #header, #main, #footer{
		min-width:320px;
	}
	
	.container{
		width:100%;
	}
}

html{
	font-size:16px;
	box-sizing:border-box;
	background:#fff;
}

html *{
	box-sizing:inherit;
}

html *:before, html *:after{
	box-sizing:inherit;
}

@media ( max-width:768px){
	html{
		font-size:26px;
	}
}

body{
	font-family:"Roboto", YakuHanJPs, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-weight:500;
	font-size:1rem;
	color:#000;
	line-height:1.6;
}

.container{
	width:1024px;
	margin-left:auto;
	margin-right:auto;
}

section{
	position:relative;
}

.link-target{
	position:absolute;
	top:-70px;
	left:0;
}

@media ( max-width:768px){
	.container{
		width:100%;
		padding-left:1%;
		padding-right:1%;
	}
}

#footer{
	text-align:center;
	background:#fffce3;
	color:#734b43;
	padding-top:30px;
	padding-bottom:30px;
	font-size:1rem;
}

#footer .footer-nav .nav-list .item{

}

#footer .footer-nav .nav-list .item a{
	text-decoration:underline;
}

#footer .tel-area{
	font-size:1.5rem;
}

.fix-footer{
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	max-width:768px;
	width:100%;
	display:none;
}

.fix-footer .nav-list{
	background-color:rgb(255, 255, 255);
	box-shadow:0px 0px 9px 0px rgba(0, 0, 0, 0.4);
}

@media ( max-width:768px){
	.container{
		width:100%;
		padding-left:15px;
		padding-right:15px;
	}
	
	#footer{
		padding-bottom:130px;
	}
	
	#footer .footer-main{
		justify-content:center;
		font-size:1.2rem;
	}
	
	.fix-footer{
		display:block;
	}
}

@media ( max-width:768px){
	.pc-only{
		display:none !important;
	}
	
	br.pc-only{
		margin-left:0.5em;
		display:inline;
	}
}

.sp-only{
	display:none !important;
}

@media ( max-width:768px){
	.sp-only{
		display:block !important;
	}
}

/* ----------------------------
   スマホ時のハンバーガー＆ドロワーメニュー
---------------------------- */
@media ( max-width:768px){
	/* --- ベース配置 --- */
	#sp-menu{
		position:relative;
		z-index:1000;
	}
	
	/* チェックボックスは非表示 */
	#sp-menu #trigger-menu{
		display:none;
	}
	
	/* ハンバーガーボタン自体 */
	#sp-menu .hamburger{
		width:60px;
		height:60px;
		display:inline-block;
		cursor:pointer;
		position:fixed;
		top:10px;
		right:10px;
		z-index:2000;
		-webkit-tap-highlight-color:transparent;
		/* 真ん中の線（幅：ボタンの80%、高さ：2.5px）*/
		background-image:linear-gradient(#222, #222);
		background-repeat:no-repeat;
		background-position:center;
		background-size:calc(100% - 20px) 2.5px;
		background-color:rgba(255, 255, 255, 0.8);
		padding:10px;
		border:2px solid;
	}
	
	/* 上下の線（%指定で長さを統一） */
	#sp-menu .hamburger::before, #sp-menu .hamburger::after{
		content:"";
		position:absolute;
		left:10px; /* 横幅の10%余白 → 線は80% */
		right:10px;
		height:2.5px;
		background:#222;
		border-radius:2px;
		transition:transform .25s ease, top .25s ease;
	}
	
	#sp-menu .hamburger::before{
		top:20%;
	}
	
	#sp-menu .hamburger::after{
		top:74%;
	}
	
	/* ----------------------------
	ハンバーガー → × 変形
---------------------------- */
	/* 中央線を消す */
	#sp-menu #trigger-menu:checked + .hamburger, #sp-menu #trigger-menu:checked ~ .hamburger{
		background-image:none;
	}
	
	/* チェック時の「×」 */
	#sp-menu #trigger-menu:checked + .hamburger{
		background-image:none; /* 真ん中の線消す */
	}
	
	#sp-menu #trigger-menu:checked + .hamburger::before{
		top:50%;
		transform:rotate(45deg);
	}
	
	#sp-menu #trigger-menu:checked + .hamburger::after{
		top:50%;
		transform:rotate(-45deg);
	}
	
	/* ----------------------------
		ドロワー(メニュー全体)
	---------------------------- */
	#sp-menu > .container{
		position:fixed;
		inset:0; /* top/left/right/bottom すべて0に貼り付け */
		z-index:999;
		pointer-events:none; /* 非表示状態では操作不可 */
	}
	
	/* 背景のオーバーレイ */
	#sp-menu .backdrop{
		position:absolute;
		inset:0;
		background:rgba(255, 0, 128, 0.78);
		opacity:0;
		pointer-events:none;
		transition:opacity .3s ease;
	}
	
	/* メニュー本体（右からスライド） */
	#sp-menu .nav-list{
		position:absolute;
		top:0;
		right:0;
		height:100%;
		width:60%; /* 必要に応じて 80vw 等に変更可能 */
		background:#ff79b3;
		padding:24px 20px 32px;
		list-style:none;
		margin:0;
		overflow-y:auto;
		transform:translateX(100%); /* 初期状態は画面外 */
		transition:transform .3s ease;
		pointer-events:none;
		padding-left:10%;
		padding-right:10%;
	}
	
	/* 各メニュー項目の整列調整（任意） */
	#sp-menu .nav-list > .item{
		margin-left:auto;
		margin-right:auto;
		margin-bottom:20px;
		text-align:left;
		pointer-events:all;
	}
	
	#sp-menu .nav-list a{
		display:block;
	}
	
	/* ----------------------------
		メニュー展開時 (チェックON)
	---------------------------- */
	#sp-menu #trigger-menu:checked ~ .container{
		pointer-events:auto;
	}
	
	#sp-menu #trigger-menu:checked ~ .container .backdrop{
		opacity:1;
		pointer-events:auto;
	}
	
	#sp-menu #trigger-menu:checked ~ .container .nav-list{
		transform:translateX(0);
	}
}