@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..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: "Inter",'Noto Sans JP',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;
font-size:20px;
font-size-adjust: 100%;
text-size-adjust: 100%;
text-align:left;
color:#000;
min-width:1160px;
}
@media screen and (max-width:767px){
html,body{ font-size:4vw; 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;}

/*youtube*/
.youtube{ position:relative; width:100%; padding-top:56.25% !important;}
.youtube iframe{ position: absolute; top:0; right:0; width:100% !important; height:100% !important;}

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

.noto-sans{ font-family: "Inter",'Noto Sans JP',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;}
.inter{ font-family: "Inter", sans-serif;}

.blue{ color: #12355F;}

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

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
a.tel_link{ pointer-events: none;}
.opa{ transition: opacity 0.3s;}
.opa:hover{ opacity: 0.7;}
@media screen and (max-width:767px){
a.tel_link{ pointer-events: all;}
}



/*ヘッダー*/
body{ padding-top: 80px;}
header{ position: fixed; left: 0; right: 0; top: 0; z-index: 99; background: #fff; width: 100%; min-width: 1160px; height: 80px; margin: auto; display: flex; align-items: center; justify-content: space-between; padding: 20px;}
header .logo{ display: flex; align-items: center;}
header .logo figure{ margin: 0; text-align: left; width: 70px;}
header .logo p{ font-size: 0.7rem; line-height: 1.5em; font-weight: 600; color: #221715; margin-left: 1em;}
header nav{ margin: 0 0 0 auto;}
header nav ul{ display: flex; align-items: center; justify-content: flex-end;}
header nav ul li{ margin: 0 0 0 30px; font-size: 0.8rem; font-weight: 500;}
header nav ul li a{ position: relative;}
header nav ul li:not(.contact) a:before{ content: ""; width: 6px; height: 6px; background: #1FE0C2; position: absolute; left: -12px; top: 50%; transform: translateY(-50%); transition: 0.3s; opacity: 0; border-radius: 50%;}
header nav ul li a:hover:before,
header nav ul li a.active:before{ opacity: 1.0;}
header nav ul li.contact a{ display: flex; align-items: center; justify-content: center; width: 160px; height: 40px; background: #12355F; color: #fff; font-size: 0.7rem; border-radius: 40px; transition: 0.3s;}
header nav ul li.contact a:hover{ opacity: 0.7;}
@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: 10vw;}
header{ min-width: 100%; padding: 1.875vw; height: 10vw;}
header .logo figure{ width: 8.75vw;}
header .logo p{ font-size: 0.7rem;}
header nav{ display: none; position: fixed; left: 0; right: 0; top: 10vw; /*display: flex;*/ align-items: center; justify-content: center; width: 100%; background: rgba(255,255,255,1.0); 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: center; margin: 0;}
header nav ul li{ margin: 0.75em auto; font-size: 1.2rem; width: 100%; text-align: center;}
header nav ul li:not(.contact) a:before{ content: ""; width: 1.875vw; height: 1.875vw; left: -3.75vw;}
header nav ul li.contact a{ width: 50vw; height: 10vw; font-size: 1rem; border-radius: 10vw;}

#smp_nav_btn{ display: flex; align-items: flex-end; justify-content: center; padding: 0; width: 10vw; height: 10vw; position: fixed; right:1.875vw; top:0; z-index:999; transition:0.3s; cursor:pointer;}
#smp_nav_btn span{ display:block; height:1px; width:7.5vw; background:#000; 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:7.5vw; background:#12355F; position:absolute; bottom:1.875vw; transition:0.3s;}
#smp_nav_btn span:after{ content: ""; display:block; height:1px; width:7.5vw; background:#12355F; 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; transform: rotate(45deg);}
#smp_nav_btn.active span:after{ top:0; transform: rotate(-45deg);}
}

/*フッター*/
footer{ background: #12355F; color: #fff;}
footer dl{ padding: 60px 0; width: 1080px; margin: auto; display: flex; align-items: center; justify-content: space-between;}
footer dl dt h4{ font-size: 0.75rem; margin-bottom: 1em;}
footer dl dt p{ font-size: 0.65rem; line-height: 1.5em;}
footer dl dd nav.f_nav01 ul{ display: flex;}
footer dl dd nav.f_nav01 ul li{ margin-left: 60px; font-size: 0.8rem; font-weight: 500;}
footer dl dd nav.f_nav01 ul li a{ position: relative; padding-left: 16px;}
footer dl dd nav.f_nav01 ul li a:before{ content: ""; width: 8px; height: 8px; background: #fff; position: absolute; left: 0; top: 50%; transform: translateY(-50%); border-radius: 50%;}
footer dl dd nav.f_nav01 ul li a:hover{ text-decoration: underline;}
footer dl dd nav.f_nav01 ul ul{ flex-direction: column; margin-top: 10px;}
footer dl dd nav.f_nav01 ul ul li{ margin-left: 0; margin-top: 10px; font-size: 0.65rem;}
footer dl dd nav.f_nav01 ul ul li a{ padding-left: 0;}
footer dl dd nav.f_nav01 ul ul li a:before{ display: none;}
footer nav.f_nav02{ padding-top: 30px; border-top: 1px solid #fff;}
footer nav.f_nav02 ul{ display: flex; align-items: center; justify-content: center;}
footer nav.f_nav02 ul li{ margin: 0 0.75em; font-size: 0.65rem;}
footer nav.f_nav02 ul li a:hover{ text-decoration: underline;}
p.copyright{ text-align: center; font-size: 0.65rem; padding: 15px 0 20px;}
@media screen and (max-width:767px){
footer dl{ padding: 7.5% 0; width: 92.5%; flex-direction: column-reverse;}
footer dl dt{ width: 100%; margin-top: 5%;}
footer dl dt h4{ font-size: 0.8rem;}
footer dl dt p{ font-size: 0.7rem;}
footer dl dd{ width: 100%;}
footer dl dd nav.f_nav01 ul{ display: flex; flex-direction: column; width: 100%;}
footer dl dd nav.f_nav01 ul li{ font-size: 0.8rem; margin: 0 0 3.75%;}
footer dl dd nav.f_nav01 ul li a{ padding-left: 3.75vw;}
footer dl dd nav.f_nav01 ul li a:before{ width: 1.875vw; height: 1.875vw;}
footer dl dd nav.f_nav01 ul ul{ flex-direction: row; flex-wrap: wrap; margin: 0.9375vw 0 0 1.875vw;}
footer dl dd nav.f_nav01 ul ul li{ margin: 0.9375vw 1.875vw; font-size: 0.7rem;}
footer nav.f_nav02{ padding-top: 5%;}
footer nav.f_nav02 ul li{ margin: 0 0.75em; font-size: 0.7rem;}
p.copyright{ font-size: 0.7rem; padding: 2.5% 0 3.75%;}
}

/*cv*/
.cv{ background: #1B416F; color: #fff; padding: 80px 0;}
.cv{ background: linear-gradient(135deg,  rgba(27,65,111,1) 0%,rgba(66,123,191,1) 100%);}
.cv h2{ text-align: center; font-size: 4.2rem; margin-bottom: 20px;}
.cv h2.min{ font-size: 2.1rem;}
.cv p.txt{ text-align: center; font-size: 0.9rem; line-height: 1.5em; margin-bottom: 50px;}
.cv ul{ display: flex; gap: 4px; color: #12355F; width: 1080px; margin: auto;}
.cv ul li{ width: 50%; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; background: #fff; padding: 50px;}
.cv ul li h3{ display: flex; align-items: center; justify-content: center; margin-bottom: 30px;}
.cv ul li h3 span img{ height: 40px;}
.cv ul li h3 strong{ font-size: 2rem; font-weight: 500; color: #12355F; margin-left: 10px;}
.cv ul li .tel_txt{ text-align: center; display: flex; align-items: flex-start; justify-content: center; flex-direction: column; margin-top: 10px;}
.cv ul li .tel_txt span{ font-size: 0.8rem; line-height: 1em; margin-bottom: 0;}
.cv ul li .tel_txt a{ font-size: 2.5rem; font-weight: 600;}
.cv ul li .mail_txt{ text-align: center; display: flex; align-items: center; justify-content: center; flex-direction: column;}
.cv ul li .mail_txt span{ font-size: 0.8rem; line-height: 1em; margin-bottom: 20px;}
.cv ul li .mail_txt a{ display: flex; align-items: center; justify-content: center; width: 290px; height: 60px; background: #12355f; color: #fff; font-size: 1rem; font-weight: 500; border-radius: 60px; transition: 0.3s;}
.cv ul li .mail_txt a:hover{ opacity: 0.7;}
@media screen and (max-width:767px){
.cv{ padding: 10% 0;}
.cv h2{ font-size: 2.4rem; margin-bottom: 3.75%;}
.cv h2.min{ font-size: 1.8rem;}
.cv p.txt{ font-size: 0.8rem; margin-bottom: 7.5%;}
.cv ul{ display: block; width: 92.5%;}
.cv ul li{ width: 100%; padding: 5% 5%; margin-top: 2.5%;}
.cv ul li h3{ margin-bottom: 5%;}
.cv ul li h3 span img{ height: 7.5vw;}
.cv ul li h3 strong{ font-size: 1.5rem; margin-left: 2.5vw;}
.cv ul li .tel_txt{ margin-top: 2.5%;}
.cv ul li .tel_txt span{ font-size: 0.8rem;}
.cv ul li .tel_txt a{ font-size: 2rem;}
.cv ul li .mail_txt span{ font-size: 0.8rem; margin-bottom: 3.75%;}
.cv ul li .mail_txt a{ width: 50vw; height: 10vw; font-size: 1rem; border-radius: 10vw;}
}

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

/*tit*/
h1,h2,h3,h4,h5,h6{ font-weight: 600; line-height: 1.25em;}
h2.tit_h2{ color: #12355F; display: flex; flex-direction: column; align-items: center; justify-content: center; margin-bottom: 30px;}
h2.tit_h2 span{ font-size: 1.2rem; line-height: 1.25em; margin-bottom: 10px;}
h2.tit_h2 strong{ font-size: 2.1rem; line-height: 1.25em;}
@media screen and (max-width:767px){
h2.tit_h2{ margin-bottom: 5%;}
h2.tit_h2 span{ font-size: 1rem; margin-bottom: 2.5%;}
h2.tit_h2 strong{ font-size: 2rem;}
}



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