@charset "UTF-8";
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; word-wrap: break-word; }

html { font-size: 62.5%; }
@media screen and (max-width: 750px) { html { font-size: 2.375vw; } }

body { color: #1f1f1f; font-family: "Noto Sans JP", YuGothicM, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-size: 1.6rem; -webkit-text-size-adjust: 100%; }

li { list-style: none; }

img { max-width: 100%; vertical-align: bottom; }

video { max-width: 100%; }

a { color: #1f1f1f; }
a:hover { text-decoration: none; }

button { padding: 0; border: none; background: none; font-family: inherit; font-size: 1.6rem; cursor: pointer; }

input[type="text"], input[type="password"], input[type="tel"], input[type="email"], input[type="submit"], input[type="button"], textarea, select { font-family: inherit; font-size: 1.6rem; }

.only-pc { display: block; }
@media screen and (max-width: 750px) { .only-pc { display: none; } }

.only-sp { display: none; }
@media screen and (max-width: 750px) { .only-sp { display: block; } }

img.only-pc, span.only-pc { display: inline; }
@media screen and (max-width: 750px) { img.only-pc, span.only-pc { display: none; } }
img.only-sp, span.only-sp { display: none; }
@media screen and (max-width: 750px) { img.only-sp, span.only-sp { display: inline; } }

table.only-pc { display: table; }
@media screen and (max-width: 750px) { table.only-pc { display: none; } }
table.only-sp { display: none; }
@media screen and (max-width: 750px) { table.only-sp { display: table; } }

.js-tel { color: #000 !important; text-decoration: none; cursor: default; }

.pagetop { position: fixed; bottom: 0; right: 0; z-index: 9999; opacity: 0; transition: all .5s; transform: translateY(100px); width: 80px; }
@media screen and (max-width: 750px) { .pagetop { width: 60px; } }
.pagetop.is-show { opacity: 1; transform: translateY(0); }

.inner { width: 100%; max-width: 1040px; margin: 0 auto; padding: 0 20px; line-height: 1.6; }
@media screen and (max-width: 750px) { .inner { padding: 0 4.6666666667%; } }

/* ------------------------------ ヘッダー
------------------------------ */
.header { position: sticky; top: 0; left: 0; z-index: 9999; width: 100%; height: 130px; border-top: 4px solid #0d3078; background-color: #fff; }
@media screen and (max-width: 750px) { .header { height: 90px; } }
.header .header-con { display: flex; justify-content: space-between; align-items: center; padding: 17px 75px 17px 100px; }
@media screen and (max-width: 980px) { .header .header-con { padding: 10px 20px; } }
@media screen and (max-width: 750px) { .header .header-con { padding: 15px 5.3333333333%; } }
.header .header-logo { width: 184px; margin-right: 20px; }
@media screen and (max-width: 750px) { .header .header-logo { width: 150px; } }
.header .header-nav { flex: 1; }
@media screen and (max-width: 750px) { .header .header-nav { display: flex; justify-content: flex-end; } }
.header .header-nav .header-link { display: flex; align-items: center; justify-content: flex-end; margin-bottom: 20px; }
.header .header-nav .header-link .c-btn { padding: 15px 5px; background-image: none; font-size: 1.4rem; }
.header .header-nav .header-link .c-btn::before { background-image: none; }
@media screen and (max-width: 750px) { .header .header-nav .header-link { margin-right: 15px; margin-bottom: 0; }
  .header .header-nav .header-link a { display: block; text-decoration: none; padding: 10px 1rem; background-color: #0d3078; line-height: 1.2; color: #fff; text-align: center; border-radius: 1.5em; font-size: 1.4rem; } }
.header .header-nav .header-link li { width: 100%; max-width: 117px; margin-left: 10px; }
.header .header-nav .header-link li:first-child { max-width: 162px; margin-left: 0; }
.header .header-nav .gnav { display: flex; align-items: center; justify-content: flex-end; }
@media screen and (max-width: 750px) { .header .header-nav .gnav { display: none; } }
.header .header-nav .gnav li { margin-right: 25px; }
.header .header-nav .gnav li:last-child { margin-right: 0; }
.header .header-nav .gnav li a { position: relative; display: block; text-decoration: none; font-size: 1.4rem; }
@media screen and (max-width: 980px) { .header .header-nav .gnav li a { font-size: 1.2rem; } }
.header .header-nav .gnav li a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; margin-bottom: -7px; background-color: #0d3078; transition: all .3s; transform: scale(0.5, 1); transform-origin: left top; visibility: hidden; }
.header .header-nav .gnav li a:hover { color: #0d3078; }
.header .header-nav .gnav li a:hover::after { transform: scale(1, 1); visibility: visible; }
.header .header-nav .header-menu { display: none; position: relative; z-index: 9999; text-align: center; cursor: pointer; }
@media screen and (max-width: 750px) { .header .header-nav .header-menu { display: block; } }
.header .header-nav .header-menu p { position: relative; width: 50px; height: 28px; margin: 0 auto 10px; }
.header .header-nav .header-menu span { position: absolute; left: 0; display: block; width: 100%; height: 1px; background-color: #0d3078; transition: all .4s; }
.header .header-nav .header-menu span:nth-of-type(1) { top: 0; }
.header .header-nav .header-menu span:nth-of-type(2) { top: 50%; margin-top: -1px; }
.header .header-nav .header-menu span:nth-of-type(3) { bottom: 0; }
.header .header-nav .header-menu .txt { line-height: 1; text-align: center; }
.header .header-nav .header-menu .txt:before { content: 'MENU'; font-size: 1.6rem; line-height: 1; color: #0d3078; text-align: right; }

/* ------------------------------ SPメニュー
------------------------------ */
.nav-menu { z-index: 99999; display: none; position: fixed; top: 90px; left: 0; width: 100%; height: calc(100% - 90px); background-color: #edf1fc; line-height: 1.6; }
.nav-menu .nav-menu-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding-bottom: 90px; overflow-y: auto; }
.nav-menu .nav-menu-list { margin-bottom: 8%; }
.nav-menu .nav-menu-list li { border-bottom: 1px solid #0d3078; }
.nav-menu .nav-menu-list li a { display: block; text-decoration: none; padding: 6.6666666667% 10%; background: url("../img/common/ico_arrow.svg") no-repeat right 6.6666666667% center; background-size: 2.1333333333%; }
.nav-menu p { width: 82.9333333333%; margin: 0 auto; }

.js-menuopen { overflow: hidden; }
.js-menuopen .header-menu span:nth-child(1) { transform: translateY(13px) rotate(-30deg); }
.js-menuopen .header-menu span:nth-child(2) { opacity: 0; }
.js-menuopen .header-menu span:nth-child(3) { transform: translateY(-13px) rotate(30deg); }
.js-menuopen .header-menu .txt:before { content: 'CLOSE' !important; }
.js-menuopen .nav-menu { display: block; }

/* ------------------------------ ぱんくず
------------------------------ */
.topicpath { padding: 15px 0; background-color: #f4f8fc; }
.topicpath ol { display: flex; flex-wrap: wrap; }
.topicpath ol li { font-size: 1.0rem; color: #808285; }
.topicpath ol li::after { content: '＞'; margin: 0 0.5em; }
.topicpath ol li:last-child::after { content: ''; }
.topicpath ol li a { text-decoration: none; color: #808285; }

/* ------------------------------ ページタイトル
------------------------------ */
.pagettl-sec { padding: 50px 0 70px; background-color: #f4f8fc; }
@media screen and (max-width: 750px) { .pagettl-sec { padding: 20px 0 50px; } }
.pagettl-sec .pagettl-h { color: #0d3078; text-align: center; font-weight: 400; }
@media screen and (max-width: 750px) { .pagettl-sec .pagettl-h { font-size: 1.4rem; } }
.pagettl-sec .pagettl-h span { font-size: 4.2rem; font-weight: 700; }
@media screen and (max-width: 750px) { .pagettl-sec .pagettl-h span { font-size: 3.0rem; } }
.pagettl-sec .pagettl-t { margin-top: 55px; text-align: center; }
@media screen and (max-width: 750px) { .pagettl-sec .pagettl-t { font-size: 1.4rem; } }

/* ------------------------------ サイトナビ
------------------------------ */
.lnav { padding: 60px 0; background-color: #edf1fc; }
.lnav .lnav-con { display: flex; justify-content: space-between; }
@media screen and (max-width: 750px) { .lnav .lnav-con { display: block; } }
.lnav .lnav-con .lnav-box { width: 46%; margin-right: 8%; }
@media screen and (max-width: 750px) { .lnav .lnav-con .lnav-box { width: 100%; margin-right: 0; margin-bottom: 60px; } }
.lnav .lnav-con .lnav-box:last-child { margin-right: 0; }
.lnav .lnav-con .lnav-box p .c-btn { display: flex; justify-content: center; align-items: center; height: 6.5em; padding: 0 20px; border: 1px solid #c0c5ce; border-radius: 1em; }
.lnav .lnav-con .lnav-box p .c-btn span { color: #0d3078; }
.lnav .lnav-con .lnav-box p .c-btn:hover span { color: #fff; }
.lnav .lnav-con .lnav-box dl { margin-top: 40px; }
@media screen and (max-width: 750px) { .lnav .lnav-con .lnav-box dl { margin-top: 20px; } }
.lnav .lnav-con .lnav-box dl dt { margin-bottom: 10px; font-size: 1.8rem; font-weight: 700; color: #0d3078; }
.lnav ._btnS { margin: 0 0 0 auto !important; }
@media screen and (max-width: 750px) { .lnav ._btnS { margin: 0 auto !important; } }

/* ------------------------------ フッター
------------------------------ */
.footer .footer-in { width: 100%; max-width: 1040px; margin: 0 auto; padding: 0 20px; }
@media screen and (max-width: 750px) { .footer .footer-in { padding: 0 4.6666666667%; } }
.footer .footer-main { padding-top: 55px; }
.footer .footer-main .f-logo { margin-bottom: 35px; text-align: center; }
.footer .footer-main .f-nav { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; margin-bottom: 55px; }
.footer .footer-main .f-nav li { border-right: 1px solid #000; }
@media screen and (max-width: 750px) { .footer .footer-main .f-nav li { width: 50%; margin-bottom: 20px; }
  .footer .footer-main .f-nav li:nth-child(2n) { border-right: none; } }
.footer .footer-main .f-nav li:last-child { border-right: none; }
.footer .footer-main .f-nav li a { display: block; text-decoration: none; padding: 0 20px; font-size: 1.4rem; text-align: center; font-weight: 700; }
.footer .footer-main .f-nav li a:hover { text-decoration: underline; }
.footer .footer-main .f-fig { text-align: center; }
@media screen and (max-width: 750px) { .footer .footer-main .f-fig { width: 79.4117647059%; margin: 0 auto; } }
.footer .copy { padding: 60px 0; background-color: #f4f8fc; }
@media screen and (max-width: 750px) { .footer .copy { padding: 4.6666666667% 0; } }
.footer .copy p { font-size: 1.4rem; text-align: center; font-weight: 700; }

.font-m { font-family: "M PLUS 1p", sans-serif; transform: rotate(0.05deg); }

.font-en { font-family: "Barlow", sans-serif; }

.opacity { transition: all .6s; }
.opacity:hover { opacity: 0.7; }

.tab { display: none; }
.tab.active { display: block; }

.ico { display: inline-flex; justify-content: center; align-items: center; width: 1em; line-height: 0; }
.ico::before { width: 100% !important; }

.ico-toggle::before { content: url("../img/common/ico_toggle_o.svg"); }

.ico-close-w::before { content: url("../img/common/ico_close_w.svg"); }

.ico-close::before { content: url("../img/common/ico_close.svg"); }

.c-anchor { position: relative; top: -130px; }
@media screen and (max-width: 750px) { .c-anchor { top: -90px; } }

.c-btn { position: relative; overflow: hidden; outline: none; display: flex; align-items: center; justify-content: center; text-decoration: none; padding: 20px 5px; border: 2px solid #0d3078; background: #fff url("../img/common/ico_arrow.svg") no-repeat right 25px center; background-size: 8px auto; font-size: 1.8rem; font-weight: 700; text-align: center; border-radius: 2em; transition: ease .2s; }
@media screen and (max-width: 750px) { .c-btn { background-position: right 1.5rem center; } }
.c-btn._btnS { width: 100%; max-width: 360px; margin: 0 auto; }
.c-btn::before { content: ''; position: absolute; top: 0; left: 0; z-index: 2; width: 100%; height: 100%; background: #0d3078 url("../img/common/ico_arrow_w.svg") no-repeat right 25px center; background-size: 8px auto; transition: all .5s; opacity: 0; }
.c-btn span { position: relative; z-index: 3; color: #0d3078; }
.c-btn:hover::before { opacity: 1; }
.c-btn:hover span { color: #fff; }

@media screen and (max-width: 750px) { .scroll { overflow-x: auto; white-space: nowrap; margin-bottom: 20px; }
  .scroll::-webkit-scrollbar { height: 3px; }
  .scroll::-webkit-scrollbar-track { background-color: #ededed; }
  .scroll::-webkit-scrollbar-thumb { background-color: #0d3078; } }

.clearfix { zoom: 1; }
.clearfix::before { content: ""; display: table; }
.clearfix::after { content: ""; display: table; clear: both; }

.w100 { width: 100%; }

.js-anime-fadein { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-fadein.js-anime-on { animation-name: fadeIn; }

@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
.js-anime-slide { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slide.js-anime-on { animation-name: slide; }

@keyframes slide { 0% { opacity: 0; transform: translateY(100px); }
  100% { opacity: 1; transform: translateY(0); } }
.js-anime-slideleft { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideleft.js-anime-on { animation-name: slideLeft; }

@keyframes slideLeft { 0% { opacity: 0; transform: translateX(-100px); }
  100% { opacity: 1; transform: translateX(0); } }
.js-anime-slideright { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideright.js-anime-on { animation-name: slideRight; }

@keyframes slideRight { 0% { opacity: 0; transform: translateX(100px); }
  100% { opacity: 1; transform: translateX(0); } }
@media print { .js-anime-fadein, .js-anime-slide, .js-anime-slideleft, .js-anime-slideright { opacity: initial; } }

/*# sourceMappingURL=style.css.map */
