@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap');
html.js-open-nav {height: 100%; overflow: hidden;}
.spOnly {display: none!important;}
.pcOnly {display: block!important;}
.note {position: relative;padding-left: 1.2em;font-size: 0.875em;}
.note span {position: absolute;left: 0;}
.multi-wrap {font-family: 'Noto Sans JP', sans-serif;}
.multi-wrap img {display: block;}
.container{margin-right: auto;margin-left: auto; padding-left: 13px; padding-right: 13px; max-width: 1206px;overflow: hidden;}
.container-L{margin-right: auto;margin-left: auto; padding-left: 13px; padding-right: 13px; max-width: 1326px;overflow: hidden;}
.normal-txt {line-height: 2;letter-spacing: 0.02em;}
.normal-txt + .normal-txt{margin-top: 20px;}
img.icon {display: inline-block;}
img.icon--blank {margin-left: 14px;width: 18px;height: 18px;vertical-align: middle;}
img.icon--arrow {margin-left: 14px;width: 16px;height: 16px;vertical-align: middle;}
a.nav-link {font-size: 1.125em;letter-spacing: 0.08em;color: #111111;font-weight: 500;display: block;line-height: 2;}
a.nav-link span {position: relative;padding-bottom: 6px;background-repeat: repeat;}
a.nav-link span::before {position: absolute;content: "";background-color: #808385;width: 100%;height: 2px;left: 0;bottom:0;}
a.nav-link span::after {position: absolute;content: "";background-color: #2a6793;width: 0;height: 2px;right: 0;bottom:0;transition: width cubic-bezier(0.23, 1, 0.32, 1) .8s;}
/*
pagetop
================================================ */
.pagetop {position: relative;z-index: 1100;}
.pagetop p {position: absolute;bottom: 0;right: 40px;display: none;}
.pagetop p a {background-color: #414141;border-radius: 4px 4px 0 0;display: flex;align-items: center;justify-content: center;width: 64px;height: 64px;}
.pagetop img {width: 64px;transition: transform 0.3s;}
.pagetop.js-fixed > p {position: fixed;}
/*
nav
================================================ */
.menu-btn {width: 66px;height: 66px;border-radius: 50%;position: absolute;top: 30px;right: 30px;background-color: #fff;box-shadow: 0 0 8px rgba(0, 0, 0, 0.08);z-index: 9999;}
.menu-btn.is-fixed{position: fixed;top: 30px;right: 30px;}
.menu-btn i {display: block;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%); width: 24px;height: 21px;border-top: 3px solid #92a6b5;border-bottom: 3px solid #92a6b5;transition: all 0.25s;}
.menu-btn i::before {content: "";position: absolute;width: 100%;height: 3px;background-color: #92a6b5; right: 0; top: calc(50% - 2px);transition: all 0.25s; }
.open-nav {transition: all 0.3s ease;transform: translateX(100%);position: fixed;top: 0;right: 0; width: 438px;height: 100%;background-color: #2a6793;z-index: 9999;color: #fff;display: flex;align-items: center;}
.js-open-nav .open-nav{transform: translateX(0);}
.open-nav__wrap {padding: 40px 0;width: 100%;height: 100%;}
.menu-btn-close {display: block;width: 42px;height: 42px;border: 1px solid #ffffff;margin-left: auto;margin-right: 40px;position: relative;}
.menu-btn-close::before,.menu-btn-close::after{content: ""; position: absolute; top: 50%; left: 50%; width: 2px; height: 27px; background: #fff;}
.menu-btn-close::before {transform: translate(-50%,-50%) rotate(45deg);}
.menu-btn-close::after {transform: translate(-50%,-50%) rotate(-45deg);}
.open-nav__content {display: flex;flex-direction: column;justify-content: center;height: 100%;}
.open-nav__list {border-top:1px solid #418fca;border-bottom:1px solid #418fca;overflow-y: scroll;}
.open-nav__list .open-nav__item .open-nav__item-link{padding: 20px 80px 20px 48px;position: relative;}
.open-nav__list .open-nav__item a {color: #fff;display: block;}
.open-nav__list .open-nav__item {letter-spacing: 0.08em;}
.open-nav__list li + li {border-top:1px solid #418fca;}
.open-nav__list .open-nav__top .open-nav__item-link{font-weight: 700;padding: 20px 20px 20px 48px;display: block;color: #fff;}
.open-nav__list .open-nav__item a::before{border-top: 2px solid #fff;border-right: 2px solid #fff;content: ""; margin: auto; position: absolute; right: 11.9%; bottom: 23px; width: 13px; height: 13px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(135deg); }
.open-nav__list .open-nav__item a::after {background: #fff;content: ""; margin: auto; position: absolute; top: calc(50% - 9px); right: 13.136%; width: 2px; height: 18px; }
.open-nav__content {padding-top: 10px;}
.open-nav__list .open-nav__item .sub_link{margin: 0 50px;padding: 0}
.open-nav__list .open-nav__item .sub_link li:first-child{border-top: 1px solid #418fca;}
.open-nav__list .open-nav__item .sub_link li .open-nav__item-link{padding: 20px 0;}
.open-nav__list .open-nav__item .sub_link li a::before{content: "";margin: auto;position: absolute;right: 0;bottom: 30px;width: 14px;height: 13px;border-top: 2px solid #fff;border-right: 2px solid #fff;transform: rotate(0);}
.open-nav__list .open-nav__item .sub_link li a::after {background: #fff;content: "";margin: auto;position: absolute;top: calc(50% - 12px);right: 2.68%;width: 2px;height: 22px;transform: rotate(45deg);}
/*
animation
================================================ */
.js-txt-up {opacity: 0;}
.is-active .js-txt-up, .js-txt-up.is-active { opacity: 1; }
.is-active ._txt { opacity: 1; -ms-transform: translateY(0); transform: translateY(0); -webkit-clip-path: inset(0% 0% 0% 0%); clip-path: inset(0% 0% 0% 0%); }
._txt { will-change: transform,opacity; display: inline-block; font-weight: inherit; opacity: 0; -ms-transform: translateY(80%); transform: translateY(80%); -webkit-clip-path: inset(100% 0% 0% 0%); clip-path: inset(100% 0% 0% 0%); transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1),transform 1s cubic-bezier(0.19, 1, 0.22, 1),-webkit-clip-path 1s cubic-bezier(0.19, 1, 0.22, 1); transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1),clip-path 1s cubic-bezier(0.19, 1, 0.22, 1),transform 1s cubic-bezier(0.19, 1, 0.22, 1); transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1),clip-path 1s cubic-bezier(0.19, 1, 0.22, 1),transform 1s cubic-bezier(0.19, 1, 0.22, 1),-webkit-clip-path 1s cubic-bezier(0.19, 1, 0.22, 1); }
@keyframes TEXT-MASK {
0% {background-position: 200% 0;}
100% {background-position: 100% 0;}
}
@keyframes TEXT-MASK-OVER {
0% {background-position: 100% 0;}
100% {background-position: 0 0;}
}
@media only screen and (min-width: 768px){
.pagetop p:hover img{transform: translateY(-4px);}
a.nav-link span {animation: TEXT-MASK-OVER .6s cubic-bezier(0.23, 1, 0.32, 1) 0s forwards; background-color: rgba(0,0,0,0); background-image: linear-gradient(to right, #2E3539 50%, #2a6793 0); background-position: 200% 0; background-size: 200% 100%; -webkit-text-fill-color: rgba(0,0,0,0); -webkit-background-clip: text;}
a.nav-link:hover span {animation: TEXT-MASK .6s cubic-bezier(0.23, 1, 0.32, 1) 0s forwards;}
a.nav-link:hover span::after{left: 0;width: 100%;}
}

@media only screen and (max-width: 767px){
.breadcrumb-list {display: none;}
.spOnly {display: block!important;}
.pcOnly {display: none!important;}
.note {padding-left: 1em;font-size: 0.75em;}
.container {margin: 0 20px;padding: 0;}
.container-L {padding: 0 20px;}
a.nav-link {letter-spacing: 0.05em;}
img.icon--blank{margin-left: 10px;}
.menu-btn.is-fixed {top: 20px; right: 20px; }
.menu-btn {width: 50px;height: 50px;top: 20px;right: 20px;}
.menu-btn i{width: 18px;height: 16px;}
.normal-txt {font-size: 0.875em;line-height: 1.5;}
.normal-txt + .normal-txt {margin-top: 12px;}
.pagetop p a {border-radius: 2px 2px 0 0;width: 45px;height: 45px;}
.pagetop img {width: 45px;}
.open-nav {width: 100%;}
.menu-btn-close {width: 32px;height: 32px;margin-right: 0;}
.open-nav__wrap{padding: 25px 20px 50px;}
.menu-btn-close::before, .menu-btn-close::after { width: 1px; height: 20px; }
.open-nav__list .open-nav__item {font-size: 0.9375em;letter-spacing: 0.05em;}
.open-nav__list .open-nav__top .open-nav__item-link{padding: 14px 0 14px 0}
.open-nav__list .open-nav__item .open-nav__item-link {padding: 14px 40px 14px 0;}
.open-nav__list .open-nav__item a::after{height: 18px;right: 20px;}
.open-nav__list .open-nav__item a::before{width: 12px;height: 12px;right: 15px;bottom: 16px;}
.open-nav__list .open-nav__item .sub_link{margin: 0 20px;}
.open-nav__list .open-nav__item .sub_link li a::after {background: #fff;content: "";margin: auto;position: absolute;top: calc(50% - 15px);right: 7px;width: 2px;height: 22px;transform: rotate(45deg);}
}

