@charset "UTF-8";
/* CSS Document */

html{font-size: 62.5%;
	padding: 0;
	margin: 0;}

body{font-size:1.5rem;
	font-family: YuGothic, "Yu Gothic medium","sans-serif";
	color:#505050; letter-spacing: 0.1em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;}

.body-wrap{ overflow: hidden; position: relative; padding-top: 80px; }

section,article{ margin: 0 auto; }
.content{ width:800px; margin: 0 auto; }
.contentL{ width:900px; margin: 0 auto; }

main{display: block;}

a{ color: inherit; transition-duration: .3s; }
a:hover{ opacity: .7; }

img{ max-width: 100%; object-fit: contain;}

.sp{display: none;}

/*
【DNP Shuei Mgothic Std】
font-family: dnp-shuei-mgothic-std, sans-serif;
font-weight: 600;
font-style: normal;

*/

.btnS a{ display: inline-block; font-family: dnp-shuei-mgothic-std, sans-serif; font-weight: 600;
	font-size: 1.5rem; color: #354a7b; }
.btnS a:after{ content: ""; display: inline-block; width: 17px; height: 17px;
	background-image: url("../img/common/arrow.png");
	background-repeat: no-repeat; background-position: center; background-size: 4px;
	background-color: #354a7b; border-radius: 20px; margin-left: 5px; vertical-align: -2px;
	transition-duration: .3s; }

.btnS a:hover{ opacity: 1; color: #926c51; }
.btnS a:hover:after{ background-color: #926c51; }

.btn{ text-align: center; }
.btn a{ width: 325px; height: 60px; background: #354a7b; color: #fff; border-radius: 30px;
	display: inline-flex; align-items: center; justify-content: center; position: relative;
	font-family: dnp-shuei-mgothic-std, sans-serif; font-weight: 600; }
.btn a:after{ content: ""; width: 7px; height: 12px;
	background-image: url("../img/common/arrow2.png");
	background-repeat: no-repeat; background-position: center; background-size: contain;
	position: absolute; right: 20px; top: 24.5px; }

.btn a:hover{ opacity: 1; background: #926c51; }

/* header -------------------------------------*/
header{ width: 100%; height: 80px; display: flex; justify-content: space-between; align-items: center;
	background: #fff; padding-left: 30px; position: fixed; top: 0; left: 0; z-index: 10; color: #354a7b; }
header > div{ margin-left: auto; }

header .cv{ display: flex; justify-content: flex-end; align-items: center; padding-right: 20px; margin-bottom: 5px; }
header .cv .tel{ font-family: dnp-shuei-mgothic-std, sans-serif; font-weight: 600; font-size: 2.3rem; 
	letter-spacing: 0.08em; margin-right: 10px; }
header .cv .tel a:before{ content: ""; display: inline-block; 
	width: 12px; height: 19px; margin-right: 5px;
	background-image: url("../img/common/header-tel.png");
	background-repeat: no-repeat; background-position: center; background-size: contain; }

header .gnav{ padding-right: 10px; }
header .gnav li{ display: inline-block; font-size: 1.3rem; }
header .gnav li:not(:last-child){ border-right: 1px solid #ebedf2; }
header .gnav li a{ padding: 0 10px; }

header .yoyaku a{ display: flex; flex-direction: column; align-items: center; justify-content: center;
	width: 80px; height: 80px; background: #354a7b; color: #fff;
	font-family: dnp-shuei-mgothic-std, sans-serif; font-weight: 600; font-size: 1.3rem; letter-spacing: 0.1em; }
header .yoyaku a span{ font-size: 1.1rem; }
header .yoyaku a:before{ content: ""; width: 17px; height: 18.5px;
	background-image: url("../img/common/header-yoyaku.png");
	background-repeat: no-repeat; background-position: center; background-size: contain;
	margin-bottom: 5px; }
header .yoyaku a:hover{ opacity: 1; background: #926c51; }

header input{ display: none; }
header label{ display: none; }
header .sp-nav{ display: none; }


/* footer -------------------------------------*/
footer > .content{ padding: 95px 0 100px;}

footer .logo{ text-align: center; margin-bottom: 40px; }
footer .logo p{ margin-top: 10px; }
footer .logo small{ display: inline-block; font-size: 1.2rem; font-feature-settings : "palt"; 
	border: solid #e0e0e0; border-width: 1px 0; padding: 8px 0; }

footer .f-info{ display: flex; justify-content: space-between; margin-bottom: 40px; }
footer .f-info .block{ width: 375px; }

footer .f-info table{ width: 100%; text-align: center; margin-bottom: 8px; }
footer .f-info th{ background: #354a7b; color: #fff; font-weight: normal; padding: 10px 0; }
footer .f-info th:last-child{ padding-right: 20px; }
footer .f-info td{ padding: 8px 5px 0; color: #354a7b; }
footer .f-info td:last-child{ padding-right: 20px; }
footer .f-info tr:last-child td{ padding-bottom: 10px; border-bottom: solid 1px #e0e0e0; }
footer .f-info table + p{ font-size: 1.1rem; color: #354a7b; text-align: right; margin-bottom: 30px; }
footer .f-info .tit{ font-family: dnp-shuei-mgothic-std, sans-serif; font-weight: 600; font-size: 1.4rem;
	color: #354a7b; margin-bottom: 5px; }
footer .f-info .map{ line-height: 0; margin-bottom: 15px; }
footer .f-info .map + p{ margin-bottom: 8px; }
footer .f-info small{ font-size: 1.2rem; }
footer .f-info .btnS{ margin-top: 20px; text-align: right; }

footer .cv{ display: flex; justify-content: center; margin-bottom: 60px; }
footer .cv li{ margin: 0 25px; }
footer .cv a{ width: 325px; height: 60px; background: #354a7b; color: #fff; border-radius: 30px;
	display: inline-flex; align-items: center; justify-content: center; position: relative;
	font-family: dnp-shuei-mgothic-std, sans-serif; font-weight: 600; }
footer .cv li.tel a{ font-size: 1.8rem; }
footer .cv li.yoyaku a{ font-size: 1.6rem; }

footer .cv a:hover{ opacity: 1; background: #926c51; }

footer .cv li.tel a:before{ content: ""; width: 12px; height: 19px;
	background-image: url("../img/common/ico-tel.png");
	background-repeat: no-repeat; background-position: center; background-size: contain;
	margin-right: 10px; }

footer .cv li.yoyaku a:before{ content: ""; width: 17px; height: 18.5px;
	background-image: url("../img/common/ico-yoyaku.png");
	background-repeat: no-repeat; background-position: center; background-size: contain;
	margin-right: 10px; }

footer .cv li.yoyaku a:after{ content: ""; width: 7px; height: 12px;
	background-image: url("../img/common/arrow2.png");
	background-repeat: no-repeat; background-position: center; background-size: contain;
	position: absolute; right: 20px; top: 24.5px; }

footer .covid a{ height: 140px; display: flex; flex-direction: column; align-items: center; justify-content: center;
	background-image: url("../img/common/webp/covid-bg.webp");
	background-repeat: no-repeat; background-position: center; background-size: cover; }
/*no*/.no-webp footer .covid a{ background-image: url("../img/common/covid-bg.jpg"); }

footer .covid a .tit{ font-family: dnp-shuei-mgothic-std, sans-serif; font-weight: 600; font-size: 2.6rem;
	color: #354a7b; margin-bottom: 12px; }
footer .covid a .tit:after{content: ""; display: inline-block; width: 17px; height: 17px;
	background-image: url("../img/common/arrow.png");
	background-repeat: no-repeat; background-position: center; background-size: 4px;
	background-color: #354a7b; border-radius: 20px; margin-left: 10px; }
footer .covid a p:last-child{ font-size: 1.4rem; font-feature-settings : "palt"; }

footer .sitemap{ background: #354a7b; color: #fff; padding-bottom: 20px; font-feature-settings : "palt";
	position: relative; z-index: 0; }
footer .sitemap:after{ content: ""; width: 607.5px; height: 363px;
	background-image: url("../img/common/footer-ill.png");
	background-repeat: no-repeat; background-position: center; background-size: contain;
	position: absolute; right: 0; bottom: 0; z-index: -1; mix-blend-mode: multiply; }

footer .sitemap .content{ padding: 70px 0 60px; display: flex; }
footer .sitemap .content .wrap{ display: flex; position: relative; }
footer .sitemap .content .box{ width: 170px; }

@media screen and (min-width:600px){
	footer .sitemap .content p{ margin-bottom: 10px; }
	footer .sitemap .content .block:not(:first-child){ margin-top: 40px; }
	
	footer .sitemap .content .wrap:first-child{ padding-right: 170px; }
	footer .sitemap .content .wrap:first-child .box .block:last-child{ position: absolute; top: 0; left: 170px; margin-top: 0; }
	footer .sitemap .content .wrap:last-child .box:first-child .block:first-child{ position: absolute; top: 140px; left: -170px; }
	footer .sitemap .content .wrap:last-child .box:first-child .block:last-child{ margin-top: 0; }
}

footer .sitemap p a{ font-family: dnp-shuei-mgothic-std, sans-serif; font-weight: 600; font-size: 1.3rem; }
footer .sitemap ul a{ font-size: 1.2rem; color: #c2c9d7; line-height: 1.9; }

footer .sitemap input{ display: none; }
footer .sitemap label{ display: none; }

footer .sitemap .copy{ text-align: center; }
footer .sitemap .copy small{ font-size: 1.2rem; }

footer .sitemap .add {
    display: block;
    font-size: 1.5rem;
    text-align: center;
    letter-spacing: 0.1em;
    font-family: dnp-shuei-gothic-gin-std, sans-serif;
    line-height: 2;
    padding-bottom: 12px;
}

.sp-fix{ display: none; }

/*  responsive ------------------------------------------------------------*/
@media screen and (max-width:599px){
	
	.pc{display: none;}
	.sp{display: initial}
	
	.content,
	.contentL{ width: 100%; padding-left: 6vw; padding-right: 6vw; }
	
	.btn a{ width: 100%; }
	
	.body-wrap{ padding-top: 0; }
	
	header{ position: static; height: 70px; }
	header .cv,
	header .yoyaku{ display: none; }
	
	header label{ display: flex; flex-direction: column; justify-content: center; align-items: center; 
		width: 70px; height: 70px; background: #354a7b;
		position: fixed; top: 0; right: 0; z-index: 15; }
	header label:after{ content: "MENU"; color: #fff; font-family: dnp-shuei-mgothic-std, sans-serif; font-weight: 600;
		font-size: 1.2rem; letter-spacing: 0.04em; }
	header label span:before,
	header label span:after{ content: ""; display: block; width: 37px; height: 1px; background: #8dd2ff;
		margin-bottom: 6px; transition-duration: .3s; }
	
	header input:checked ~ label:after{ content: "CLOSE"; }
	header input:checked ~ label span:before{ width: 38px; transform: rotate(20deg) translate(1px,2px);}
	header input:checked ~ label span:after{ width: 38px; transform: rotate(-20deg) translate(2px,-4px);}

	header nav{ width: 100%; height: 100%; position: fixed; top: 0; right: -100%; z-index: 10; background: #f5f5f5;
		display: flex; flex-direction: column; align-items: center; justify-content: center;
		padding: 70px 6vw 0; transition-duration: .5s; }
	
	header input:checked ~ div nav{ right: 0; }
	
	header nav:before{ content: ""; width: 100%; height: 70px; background: #fff;
		position: absolute; top: 0; left: 0; }
	header nav:after{ content: ""; width: 206.4px; height: 36px;
		background-image: url("../img/common/logo-h.png");
		background-repeat: no-repeat; background-position: center; background-size: contain;
		position: absolute; left: 17px; top: 17px; }
	
	header .gnav{ width: 100%; padding-right: 0; margin-bottom: 25px; }
	header .gnav li{ display: block; text-align: center; font-size: 1.5rem; }
	header .gnav li:not(:last-child){ border-bottom: 1px solid #ebedf2; border-right: none; }
	header .gnav li a{ display: block; padding: 10px 0; }
	
	header .sp-nav{ display: block; width: 100%; }
	header .sp-nav .tel2{ margin-bottom: 10px; }
	header .sp-nav .yoyaku2{ margin-bottom: 15px; }
	header .sp-nav .tel2 a,
	header .sp-nav .yoyaku2 a{ width: 100%; height: 60px; background: #354a7b; color: #fff; border-radius: 30px;
	display: inline-flex; align-items: center; justify-content: center; position: relative; box-sizing: border-box;
	font-family: dnp-shuei-mgothic-std, sans-serif; font-weight: 600; }
	
	header .sp-nav .tel2 a{ font-size: 1.8rem; padding-bottom: 10px; }
	header .sp-nav .yoyaku2 a{ font-size: 1.6rem; }

	header .sp-nav .tel2 a:before{ content: ""; width: 12px; height: 19px;
	background-image: url("../img/common/ico-tel.png");
	background-repeat: no-repeat; background-position: center; background-size: contain;
	margin-right: 10px; }
	header .sp-nav .tel2 a:after{ content: "（受付時間：9時30分〜19時） ※日祝を除く"; width: 100%;
	font-family: YuGothic, "Yu Gothic medium","sans-serif"; font-weight: normal;
	font-size: 1.1rem; text-align: center; position: absolute; left: 0; bottom: 5px; }
	
	header .sp-nav .yoyaku2 a:before{ content: ""; width: 17px; height: 18.5px;
	background-image: url("../img/common/ico-yoyaku.png");
	background-repeat: no-repeat; background-position: center; background-size: contain;
	margin-right: 10px; }
	
	header .sp-nav .yoyaku2 a:after{ content: ""; width: 7px; height: 12px;
	background-image: url("../img/common/arrow2.png");
	background-repeat: no-repeat; background-position: center; background-size: contain;
	position: absolute; right: 20px; top: 24.5px; }

	header .sp-nav .line{ text-align: center; }
	
	footer > .content{ padding: 35px 6vw 50px; }
	footer .logo{ margin-bottom: 30px; }
	footer .f-info{ display: block; }
	
	footer .f-info .block{ width: 100%; }
	footer .f-info .block:first-child{ margin-bottom: 20px; }
	footer .f-info .block:first-child img{ width: 100%; height: auto; }
	footer .f-info table + p{ margin-bottom: 15px; }
	footer .f-info .map img{ width: 100%; height: auto; }
	
	footer .cv{ display: block; margin-bottom: 35px }
	footer .cv li{ margin: 0; }
	footer .cv li:first-child{ margin-bottom: 20px; }
	footer .cv a{ width: 100%; }
	
	footer .covid a{ height: auto; padding: 5vw; align-items: flex-start; }
	footer .covid a .tit{ width: 100%; font-size: 1.7rem; position: relative; }
	footer .covid a .tit:after{ position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
	footer .covid a p:last-child{ font-size: 1.3rem; }
	
	
	footer .sitemap{ padding-bottom: 64px; }
	footer .sitemap .content{ padding: 30px 6vw; }
	footer .sitemap .content .box{ width: auto; display: inline; }
	footer .sitemap .content .wrap{ display: block; width: 37vw; }
	footer .sitemap .content .wrap:first-child{ margin-right: 6vw; }
	footer .sitemap .content .box > *{ border-bottom: 1px solid rgba(255,255,255,.1); }
	footer .sitemap .content .wrap:first-child .box > *:last-child,
	footer .sitemap .content .wrap:last-child .box:last-child > *:last-child{ border: none; }
	
	footer .sitemap .content .block{ position: relative; }
	footer .sitemap .content p{ padding-right: 15px; }
	footer .sitemap .content p a{ display: block; padding: 15px 0; }
	footer .sitemap .content .box ul{ max-height: 0; overflow: hidden; transition-duration: .3s; }
	
	footer .sitemap label{ display: block; position: absolute; top: 15px; right: 0; }
	footer .sitemap label:before{ content: "＋"; font-family: dnp-shuei-mgothic-std, sans-serif; font-weight: 600; font-size: 1.3rem; }
	
	footer .sitemap input:checked ~ label:before{ content: "−"; }
	footer .sitemap .content .box input:checked ~ ul{ max-height: 400px; padding-bottom: 15px; }
	
	footer .sitemap:after{ width: 75vw; height: 45vw; right: -8.5vw; bottom: 50px; }
	
	.sp-fix{ display: flex; border-top: 1px solid #fff; position: fixed; left: 0; bottom: 0; z-index: 5; }
	.sp-fix li{ width: 20vw; }
	.sp-fix li:not(:last-child){ border-right: 1px solid #fff; }
	.sp-fix li a{ display: flex; flex-direction: column; align-items: center; justify-content: center;
		height: 50px; background: #354a7b; color: #fff; font-feature-settings : "palt";
		font-family: dnp-shuei-mgothic-std, sans-serif; font-weight: 600; font-size: 1.1rem; letter-spacing: -0.01em; }
	.sp-fix li a:before{ content: ""; width: 16px; height: 16px;
		background-repeat: no-repeat; background-position: center; background-size: contain;
		margin-bottom: 5px; }
	
	.sp-fix li:nth-child(1) a:before{ background-image: url("../img/common/sp-fix01.png"); }
	.sp-fix li:nth-child(2) a:before{ background-image: url("../img/common/sp-fix02.png"); }
	.sp-fix li:nth-child(3) a:before{ background-image: url("../img/common/sp-fix03.png"); }
	.sp-fix li:nth-child(4) a:before{ background-image: url("../img/common/sp-fix04.png"); }
	.sp-fix li:nth-child(5) a:before{ background-image: url("../img/common/sp-fix05.png"); }
	
}