@charset "UTF-8";

:root {
--main-color: #0a285a;
--blue-color:#5ab4d2;
--blue-back-color: #e6f5fa;
--red-color:#e75556;
}
html {scrollbar-gutter: stable;}
body {font-family: "Noto Sans JP", sans-serif;color: var(--main-color);margin:0;  overflow-x:hidden;}
/*-------------------------
__base_style
-------------------------*/
#wrap{font-family: "Noto Sans JP", sans-serif;}
h1{}

/*-------------------------
__header
-------------------------*/
#header{}

/*-------------------------
__content
-------------------------*/
.topic_path{clear:both;padding:20px;}
.topic_path ul{width:100%;text-align:left;}
.topic_path li{font-size:1.4em;line-height:1.4;font-weight:700;color:#000;vertical-align:top;display:inline-block;}
.topic_path li:before{content:">";color:#000;font-weight:400;margin-left:5px;margin-right:5px;}
.topic_path li:first-child:before{content:"";margin:0;}
.topic_path li a{font-weight:400;color:var(--main-color);text-decoration:underline;}
.topic_path li a:hover{text-decoration:none;}

#content #main{display:block;}

/*-------------------------
__footer
-------------------------*/
#footer{}
.re_top{}


.pc {display: block!important;}
.sph {display: none!important;}
@media screen and (max-width: 1200px) {

}
@media screen and (max-width: 767px) {
.pc {display: none!important;}
.sph {display: block!important;}
}


body.menu-open{overflow:hidden;height:100vh;}

header {  position: absolute;top: 0;left: 0;}
.header {width: 100%;height: 80px;padding: 40px 0 0;}
.header__inner {display:flex;justify-content:space-between;align-items:center;padding: 0 40px;}
h1.logo {width: 328px; z-index:1;position: relative;}
h1.logo img {width: 100%;height: auto;}
.header_contact {z-index:1;position: absolute;right: 140px;top: 34px; display:flex;flex-wrap:wrap;align-items: center;}
.header_contact .header_call {background:var(--main-color);border-radius:6px;margin-right: 15px;}
.header_contact .header_call a {color: #fff; text-decoration: none;padding: 15px;display: block;transition: opacity 0.3s ease;}
.header_contact .header_call a:hover {opacity: 0.7;}
.header_contact .header_call p {color: #fff;font-weight: 700;}
.header_contact .header_call p.header_call_title{font-size: 14px;margin: 0;}
.header_contact .header_call p.header_call_number {font-family: "Roboto", sans-serif;font-size: 24px;font-weight: 700; position: relative;line-height: 20px;margin: 5px 0 5px 20px;}
.header_contact .header_call p.header_call_number:before {content: '';display: inline-block;width: 16px;height: 16px;background-image: url("/images/call.png") ;background-size: contain;vertical-align: middle;position: absolute;left: -20px;top: 50%;transform: translateY(-50%);-webkit- transform: translateY(-50%);}
.header_contact .header_call p.header_call_time{font-size: 12px;margin: 0;}
.header_contact p.header_mail { }
.header_contact p.header_mail a {font-size: 18px;line-height: 54px;font-weight: 700;text-align: center;width: 220px;height: 54px;border-radius:50vh;background:var(--red-color);display: block; color: #fff;text-decoration: none;transition: opacity 0.3s ease;}
.header_contact p.header_mail a:hover {opacity: 0.7;}
.hamburger{position: fixed;top: 40px;right: 40px;width:70px;height:70px;background:#eeeeee;cursor:pointer;z-index:1002;display:flex;align-items:center;justify-content:center;border-radius: 14px;}
.hamburger span{position:absolute;width:30px;height:2px;background:var(--main-color);border-radius:2px;transition:.4s ease;}
.hamburger span:nth-child(1){transform:translateY(-8px);}
.hamburger span:nth-child(2){transform:translateY(0);}
.hamburger span:nth-child(3){transform:translateY(8px);}
.menu-toggle{display:none;}
/* overlay */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;transition:.4s;z-index:1000;cursor:pointer;
backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);}
/* 中央ポップアップ */
.popup-nav{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%) scale(.8);background:#fff;padding:50px 40px;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.2);opacity:0;visibility:hidden;transition:.4s ease;z-index:1001;width:80%;max-width:420px;}
.popup-nav ul{list-style:none;padding:0;margin:0;text-align:center;}
.popup-nav li{margin:22px 0;}
.popup-nav li p {font-size: 24px;line-height: 1.6;font-weight: 700;font-style: italic;}
.popup-nav li p span.menu_en {display: block;color: var(--blue-color);font-size: 14px;line-height: 1.6;font-weight: 700;letter-spacing: .1em;}

.popup_call {background:var(--main-color);border-radius:6px;}
.popup_call a {color: #fff; text-decoration: none;padding: 15px;display: block;transition: opacity 0.3s ease;}
.popup_call a:hover {opacity: 0.7;}
.popup_call p {color: #fff;font-weight: 700;}
.popup_call p.popup_call_title{font-size: 14px;}
.popup_call p.popup_call_number {font-family: "Roboto", sans-serif;font-size: 24px;font-weight: 700; position: relative;line-height: 20px;margin: 5px 0 5px 20px;display: inline-block;}
.popup_call p.popup_call_number:before {content: '';display: inline-block;width: 16px;height: 16px;background-image: url("/images/call.png") ;background-size: contain;vertical-align: middle;position: absolute;left: -20px;top: 50%;transform: translateY(-50%);-webkit- transform: translateY(-50%);}
.popup_call p.popup_call_time{font-size: 12px;}

.popup-nav a{font-size:20px;text-decoration:none;color:#111;letter-spacing:.1em;}
/* 開いたとき */
.menu-toggle:checked ~ .overlay{opacity:1;visibility:visible;}
.menu-toggle:checked ~ .popup-nav{opacity:1;visibility:visible;transform:translate(-50%, -50%) scale(1);}
/* ×アイコン（完全センター固定版） */
.menu-toggle:checked + .hamburger span:nth-child(1){transform:translateY(50%) rotate(45deg);}
.menu-toggle:checked + .hamburger span:nth-child(2){opacity:0;}
.menu-toggle:checked + .hamburger span:nth-child(3){transform:translateY(50%) rotate(-45deg);}
.popup_logo {width: 160px;margin:0 auto 40px;}
.popup_logo img {width: 100%;height: auto;}


@media (max-width: 1200px) {
h1.logo {width: 27.33vw;}
.header {height: 6.66vw;padding: 3.33vw 0 0;}
.header_contact {right: 11.66vw;top: 2.83vw;}
.header_contact .header_call {border-radius:.5vw;margin-right: 1.25vw;}
.header_contact .header_call a {padding: 1.25vw;}
.header_contact .header_call p.header_call_title{font-size: 1.16vw;}
.header_contact .header_call p.header_call_number {font-size: 2vw;line-height: 1.66vw;margin: 0.41vw 0 0.41vw 1.66vw;}
.header_contact .header_call p.header_call_number:before {width: 1.33vw;height: 1.33vw;left: -1.66vw;}
.header_contact .header_call p.header_call_time{font-size: 1vw;}
.header_contact p.header_mail { }
.header_contact p.header_mail a {font-size: 1.5vw;line-height: 4.5vw;width: 18.33vw;height:4.5vw;}
.hamburger{top:3.33vw;right: 3.33vw;width:5.83vw;height:5.83vw;border-radius: 1.16vw;}
.hamburger span{width:2.5vw;height:0.16vw;border-radius:0.16vw;}
}
@media screen and (max-width: 767px) {

}



@media screen and (max-width: 768px){
.header{height:60px;padding:20px 0 0;}
.header__inner{padding:0 16px;}
h1.logo img{width:180px;height:auto;}
.hamburger{width:50px;height:50px;top:20px;right:16px;border-radius:10px;}
.hamburger span{width:24px;}
.popup-nav{padding:5vw;max-width:70vw;}
.popup-nav a{font-size:18px;}
.popup-nav li p {font-size: 5vw;}
.popup-nav li p span.menu_en {font-size: 2.8vw;}
.popup_logo {width: 30vw;margin:0 auto 5vw;}
.popup_logo img {width: 100%;height: auto;}
}


/* 初期状態 */
.fadeUp{opacity:0;transform:translateY(60px)scale(.95);transition:all 1s cubic-bezier(.2,.7,.2,1);}
.fadeRight{opacity:0;transform:translateX(80px);transition:all 1s cubic-bezier(.2,.7,.2,1);}
.fadeLeft{opacity:0;transform:translateX(-80px);transition:all 1s cubic-bezier(.2,.7,.2,1);}
.zoomUp{opacity:0;transform:translateY(40px) scale(.95);transition:all 1s cubic-bezier(.2,.7,.2,1);}
/* 表示状態 */
.is-show{opacity:1;transform:translate(0,0) scale(1);}
.parallax{will-change: transform;}


.re_top{display:none;height:50px;width:50px;overflow:hidden;position:fixed;z-index:9999;right:10px;bottom:10px;}
.re_top a{display:block;}
.re_top a:hover img{margin-top:-50px;}
@media screen and (max-width: 767px) {

}

.footer {background: var(--main-color);text-align: center;padding: 50px 0;position: relative;}
.footer .footer_logo {width: 120px;margin:0 auto 20px;}
.footer .footer_logo img {width: 100%;height: auto;}
.footer p.footer_text {font-size: 16px;line-height: 1.6;color: #fff;}
.footer .eco {padding:10px;text-align:center;border-radius:16px; background:#fff;display: inline-block;position: absolute;top: 50%;right: 20px;transform: translateY(-50%);-webkit- transform: translateY(-50%);}
.footer .eco .eco_icon {width: 60px;margin: auto;}
.footer .eco .eco_icon img {width: 100%;height: auto;}
.footer .eco p.eco_text {font-size: 12px;line-height: 1.6;color: #2bab38;}
.copyright {font-size: 16px;line-height: 4;font-weight: 700; text-align: center;}
@media (max-width: 1200px) {
.footer {padding:4.16vw 0;}
.footer .footer_logo {width: 10vw;margin:0 auto 1.66vw;}
.footer p.footer_text {font-size: 1.33vw;}
.footer .eco {padding: 0.83vw;border-radius: 1.33vw;right: 1.66vw;}
.footer .eco .eco_icon {width: 5vw;}
.footer .eco p.eco_text {font-size: 1vw;}
.copyright {font-size: 1.33vw;}
}
@media screen and (max-width: 767px) {
.footer {padding:5vw 0;}
.footer .footer_logo {width:30vw;margin:0 auto 2.5vw;}
.footer p.footer_text {font-size: 3vw;margin: 0 0 5vw}
.footer .eco {width: 50vw;margin: auto; padding: 2.5vw;border-radius: 1.33vw;position: inherit;top: inherit;right: inherit;transform: inherit;-webkit- transform: inherit;display:flex;align-items:center;gap:10px;}
.footer .eco .eco_icon {width:20%;}
.footer .eco p.eco_text { width:80%;font-size: 3vw;}
.copyright {font-size: 3vw;}
}



.error {}
.error p {font-size: 18px;line-height:1.8;}
.error p a {color: #000;}
.error p a:hover {text-decoration: none;}
@media screen and (max-width: 1060px) {
}
@media screen and (max-width: 767px) {

.error p {font-size: 3vw;line-height:1.8;}
}
