@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/* CSS Document */
*{ margin:0; padding:0; box-sizing:border-box; word-break:break-all;}
div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}
ul,ol{ list-style:none;}
html,body {
margin:0 auto;
padding:0;
font-family: "source-han-sans-japanese",'Noto Sans JP',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;
font-size:20px;
letter-spacing: 0.05em;
text-align:left;
color:#333;
min-width:1000px;
}
@media screen and (max-width:767px){
html,body{ font-size:3vw; min-width:240px; max-width:767px;}
}

/*img*/
img{ border-style:none; vertical-align:bottom; padding:0; line-height:0em; max-width:100%; height:auto;}
figure{margin:0 auto; text-align:center;}

/*txt*/
p{ line-height:2em; margin:0 0 1em; padding:0;}
p:last-child{ margin:0;}
strong{ font-weight:bold;}
.bold { font-weight:bold;}
.normal{ font-weight:normal;}
.under_line{ text-decoration:underline;}
.line_through{ text-decoration:line-through;}

.white{ color:#fff;}
.black{ color:#333;}

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

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa{ transition: opacity 0.3s;}
.opa:hover{ opacity: 0.7;}



/*ヘッダー*/
body{ padding-top: 96px;}
header{ position: fixed; left: 0; right: 0; top: 0; z-index: 99; background: rgba(255,255,255,1.0); width: 100%; min-width: 1000px; margin: auto; display: flex; align-items: center; justify-content: center; padding: 40px; box-shadow:rgba(0, 0, 0, 0.01) 0 0 5px 2px;}
header nav{ margin: 0 auto; height: auto;}
header nav ul{ display: flex; align-items: center; justify-content: center;}
header nav ul li{ margin: 0 1em; font-size: 0.8rem; line-height: 1em; letter-spacing: 0.05em;}
header nav ul li a{ position: relative;}
header nav ul li a:after{ content: ""; width: 0; height: 1px; background: #000; position: absolute; left: 0; right: 0; bottom: 0; margin: auto; transition: 0.3s;}
header nav ul li a:hover:after{ width: 100%;}
header nav ul li.parent{ position: relative;}
header nav ul ul.child{ opacity: 0; pointer-events: none;}
header nav ul li.parent:hover ul.child{ opacity: 1.0; pointer-events: all;}
header nav ul ul.child{ position: absolute; left: -0.5em; top: 1.5em; display: block; width: auto; background: rgba(255,255,255,1.0); padding: 0 1em 0.5em 0.5em; transition: 0.3s;}
header nav ul ul.child li{ margin: 0.5em 0; padding-left: 1.25em; position: relative;}
header nav ul ul.child li:before{ content: "└"; position: absolute; left: 0; top: 0.125em;}
header nav ul ul.child li a{ display: inline-block; word-break: keep-all; font-size: 0.65rem;}
header nav ul ul.child li a span{ display: block; word-break: keep-all; font-size: 0.55rem;}
@media print, screen and (min-width:768px){
header nav{ display: block !important; opacity: 1.0 !important; height: auto !important;}
#smp_nav_btn{ display: none !important;}
}
@media screen and (max-width:767px){
body{ padding-top: 13.75vw;}
header{ min-width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 5vw 7.5vw;}
header figure{ margin: 0; line-height: 0;}
header figure img{ height: 3.75vw;}
header nav{ display: none; position: fixed; right: 0; top: 0; /*display: flex;*/ align-items: center; justify-content: center; width: 75%; background: #ad805d; color: #fff; overflow-x: hidden; overflow-y: auto;}
header nav{ min-height: 100dvh !important;}
header nav ul{ display: flex; flex-direction: column; align-items: center; justify-content: flex-end; margin: 0;}
header nav ul li{ margin: 1.5em auto; font-size: 1.2rem; width: 100%; text-align: center;}
header nav ul li a:after{ display: none;}


#smp_nav_btn{ display: flex; align-items: flex-end; justify-content: center; padding: 0; width: 5vw; height: 13.75vw; position: fixed; right:3.75vw; top:0; z-index:999; transition:0.3s; cursor:pointer;}
#smp_nav_btn span{ display:block; height:1px; width:5vw; background:#ad805d; position:absolute; left:0; right:0; top: 50%; transform: translateY(-50%); margin:auto; transition:0.3s;}
#smp_nav_btn span:before{ content: ""; display:block; height:1px; width:100%; background:#ad805d; position:absolute; bottom:1.875vw; transition:0.3s;}
#smp_nav_btn span:after{ content: ""; display:block; height:1px; width:100%; background:#ad805d; position:absolute; top:calc(1.875vw + 1px); transition:0.3s;}
#smp_nav_btn.active span{ background:rgba(255,255,255,0);}
#smp_nav_btn.active span:before{ bottom:0; background: #fff; transform: rotate(45deg);}
#smp_nav_btn.active span:after{ top:0; background: #fff; transform: rotate(-45deg);}
}

/*フッター*/
footer{ padding-top: 60px;}
p.copyright{ text-align:center; margin:0; padding:1em; font-size:0.6rem; letter-spacing:0.1em;}
@media screen and (max-width:767px){
footer{ padding-top: 10%;}
}

/*メイン*/
#content{ overflow:hidden;}
section{ width:100%; margin:0 auto; padding: 60px 0 90px;}
.maincontent{ padding:0; margin:0 auto; width:1000px;}
@media screen and (max-width:767px){
section{ padding: 7.5% 0 10%;}
.maincontent{ padding:0; margin:0 auto; width:92.5%;}
}

/*tit*/
h1,h2,h3,h4,h5,h6{ line-height: 1.25em; letter-spacing: 0.1em;}
h2{ text-align: center; display: flex; align-items: center; justify-content: center; overflow: hidden; margin-bottom: 40px;}
h2 strong{ display: flex; align-items: center; justify-content: center; position: relative;}
h2 strong:before{ content: ""; width: 880px; height: 2px; background: #333; position: absolute; left: -1000px; top: 50%;}
h2 strong:after{ content: ""; width: 880px; height: 2px; background: #333; position: absolute; right: -1000px; top: 50%;}
h2 strong img{ height: 36px;}
@media screen and (max-width:767px){
h2{ margin-bottom: 7.5%;}
h2 strong:before{ width: 50vw; left: -60vw;}
h2 strong:after{ width: 50vw; right: -60vw;}
h2 strong img{ height: 5vw;}
}

/*fv*/
#fv{ padding: 60px 0 90px;}
#fv .maincontent{ width: 100%;}
#fv figure.logo{ text-align: center; margin-bottom: 40px;}
#fv figure.logo img{ height: 48px;}
#fv h1{ text-align: center; margin: 0 40px;}
#fv h1 img{ max-width: 1280px;}
@media screen and (max-width:767px){
#fv{ padding: 0 0 10%;}
#fv h1{ margin: 0;}
#fv h1 img{ width: 100%; aspect-ratio: auto;}
}

/*sec01*/
#sec01 p{ text-align: center; font-size: 1rem;}

/*sec02*/
#sec02 .list{ display: flex; align-items: center; justify-content: center;}
#sec02 .list ul{ display: flex; flex-direction: column; align-items: center; justify-content: center;}
#sec02 .list ul li{ text-align: center; padding-left: 1em; font-size: 1rem; line-height: 2em; position: relative;}
#sec02 .list ul li:before{ content: "・"; position: absolute; left: 0; top: 0;}

/*sec03*/
#sec03 .list{ display: flex; flex-direction: column; align-items: center; justify-content: center;}
#sec03 .list dl{ text-align: center; margin-bottom: 60px;}
#sec03 .list dl:last-child{ margin-bottom: 0;}
#sec03 .list dl dt{ position: relative; padding-bottom: 20px; margin-bottom: 20px;}
#sec03 .list dl dt:after{ content: ""; width: 480px; height: 0; border-bottom: 2px dotted #333; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;}
#sec03 .list dl dt h3{ font-size: 1rem; line-height: 2em;}
@media screen and (max-width:767px){
#sec03 .list dl{ margin-bottom: 7.5%;}
#sec03 .list dl dt{ padding-bottom: 2.5vw; margin-bottom: 2.5vw;}
#sec03 .list dl dt:after{ width: 50vw;}
}

/*sec04*/
#sec04 p{ text-align: center; font-size: 1rem;}
#sec04 p a{ text-decoration: underline;}
#sec04 p a:hover{ text-decoration: none;}

/*sec05*/
#sec05 dl{ display: flex; justify-content: space-between;}
#sec05 dl dt{ width: 540px;}
#sec05 dl dd{ display: flex; width: 420px;}
#sec05 dl dd figure.gmap{ width: 100%; height: 100%;}
#sec05 dl dd figure.gmap iframe{ width: 100%; height: 100%; vertical-align: bottom;}
#sec05 dl dt h4{ font-size: 1rem; margin-bottom: 20px;}
#sec05 dl dt p{ font-size: 0.85rem; line-height: 1.75em; margin-bottom: 20px;}
#sec05 dl dt ul{ font-size: 0.85rem; line-height: 1.75em;}
#sec05 dl dt ul li{ padding-left: 1.25em; position: relative;}
#sec05 dl dt ul li:before{ content: "●"; position: absolute; left: 0; top: 0;}
@media screen and (max-width:767px){
#sec05 dl{ display: block;}
#sec05 dl dt{ width: 100%; text-align: center; margin-bottom: 7.5%;}
#sec05 dl dd{ width: 80%; margin: auto;}
#sec05 dl dd figure.gmap iframe{ width: 100%; height: 50vw;}
#sec05 dl dt h4{ font-size: 1rem; margin-bottom: 5%;}
#sec05 dl dt p{ font-size: 0.9rem; margin-bottom: 5%;}
#sec05 dl dt ul{ font-size: 0.9rem; display: flex; flex-direction: column; align-items: center; justify-content: center;}
}




@media print, screen and (min-width:768px){
.smp{ display:none !important;}
}
@media screen and (max-width:767px){
.pc{ display:none !important;}
}
