@charset "UTF-8";
.font-min { font-family: 'Noto Serif JP', serif; }

.font-en { font-family: 'EB Garamond', serif; }

* { -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.1111111111vw; } }

body { font-family: 'Noto Sans JP', YuGothicM, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-size: 1.8rem; -webkit-text-size-adjust: 100%; }

li { list-style: none; }

img { max-width: 100%; vertical-align: bottom; }

video { max-width: 100%; }

a { color: #000; }
a:hover { text-decoration: none; }

button { padding: 0; border: none; background: none; font-family: inherit; font-size: 1.8rem; 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.8rem; }

.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: 58px; }
.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%; } }

.inner-l { width: 100%; max-width: 1300px; margin: 0 auto; padding: 0 20px; line-height: 1.6; }
@media screen and (max-width: 750px) { .inner-l { padding: 0 4%; } }

.main { position: relative; z-index: 10; }

/* ------------------------------ ヘッダー
------------------------------ */
.header { position: sticky; top: 0; left: 0; z-index: 9999; display: flex; align-items: center; height: 70px; padding: 0 3rem; background-color: #fff; }
@media screen and (max-width: 750px) { .header { padding-left: 1rem; } }
.header .header-logo { width: 100%; max-width: 440px; }
@media screen and (max-width: 750px) { .header .header-logo { width: 30%; } }
.header .header-logo-120th { display: none; }
@media screen and (max-width: 750px) { .header .header-logo-120th { position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding-top: 2%; }
  .header .header-logo-120th img { width: 25%; } }
.header .header-menu { position: absolute; top: 50%; right: 3rem; display: flex; align-items: center; justify-content: space-between; width: 150px; height: 35px; cursor: pointer; transform: translateY(-50%); }
@media screen and (max-width: 750px) { .header .header-menu { display: block; width: 5rem; right: 1rem; } }
.header .header-menu p { position: relative; width: 83px; height: 11px; }
@media screen and (max-width: 750px) { .header .header-menu p { width: 5rem; margin-bottom: 0.8rem; } }
.header span { position: absolute; display: block; width: 100%; height: 1px; background-color: #0c3178; transition: all .4s; }
.header span:nth-of-type(1) { top: 0; left: 0; }
.header span:nth-of-type(2) { bottom: 0; right: 0; width: 50%; }
.header .txt:before { content: 'MENU'; font-size: 1.8rem; color: #0c3178; }
@media screen and (max-width: 750px) { .header .txt:before { font-size: 1.4rem; } }

.nav-menu { z-index: 10000; position: fixed; top: 0; right: 0; width: 72.8571428571%; max-width: 500px; height: 100%; background-color: #0c3178; visibility: hidden; transform: translateX(100%); }
@media screen and (max-width: 750px) { .nav-menu { width: 80%; max-width: initial; } }
.nav-menu._loaded { transition: all .5s; }
.nav-menu .nav-menu-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 30px 0 30px 30px; overflow-y: auto; }
@media screen and (max-width: 750px) { .nav-menu .nav-menu-content { padding: 4% 0 4% 3rem; } }
.nav-menu .nav-close { margin-bottom: 50px; padding-right: 40px; font-size: 1.8rem; color: #fff; text-align: right; cursor: pointer; }
@media screen and (max-width: 750px) { .nav-menu .nav-close { padding-right: 2rem; } }
.nav-menu .nav-box { width: 100%; max-width: 716px; margin: 0 0 0 auto; }
.nav-menu .nav-heading { width: 100%; margin-bottom: 30px; padding-right: 30px; text-align: center; }
@media screen and (max-width: 750px) { .nav-menu .nav-heading { padding-right: 3rem; } }
.nav-menu .nav-heading img { max-width: 275px; }
@media screen and (max-width: 750px) { .nav-menu .nav-heading img { width: 70%; } }
.nav-menu .nav-txt { padding-right: 30px; color: #fff; font-size: 1.5rem; text-align: right; }
@media screen and (max-width: 750px) { .nav-menu .nav-txt { padding-right: 2rem; font-size: 1.4rem; } }
.nav-menu ul { margin-top: 15px; margin-bottom: 65px; padding-top: 60px; border-top: 1px solid #fff; }
.nav-menu ul li { margin-bottom: 30px; }
.nav-menu ul li:last-child { margin-bottom: 0; }
.nav-menu ul li a { text-decoration: none; color: #fff; }
.nav-menu p a { text-decoration: none; font-size: 1.3rem; color: #fff; }

.js-menuopen { overflow: hidden; }
.js-menuopen .nav-menu { visibility: visible; transform: translateX(0); }

/* ------------------------------ フッター
------------------------------ */
.footer { position: relative; z-index: 10; background-color: #fff; }
.footer .fnav { padding: 20px 30px; border-bottom: 1px solid #c8c8c8; }
@media screen and (max-width: 750px) { .footer .fnav { padding: 2.6666666667% 0 0; } }
.footer .fnav ul { display: flex; align-items: center; justify-content: center; }
@media screen and (max-width: 750px) { .footer .fnav ul { display: block; } }
.footer .fnav ul li { border-right: 1px solid #979797; }
@media screen and (max-width: 750px) { .footer .fnav ul li { border-right: none; border-bottom: 1px solid #979797; } }
.footer .fnav ul li:last-child { border-right: none; }
@media screen and (max-width: 750px) { .footer .fnav ul li:last-child { border-bottom: none; } }
.footer .fnav ul li a { display: block; text-decoration: none; padding: 0 2em; font-size: 1.5rem; }
@media screen and (max-width: 750px) { .footer .fnav ul li a { padding: 1em 4%; } }
.footer .footer-logo { padding: 35px 30px 55px; }
@media screen and (max-width: 750px) { .footer .footer-logo { padding: 35px 4% 55px; } }
.footer .footer-logo p { width: 100%; max-width: 290px; margin: 0 auto; }
@media screen and (max-width: 750px) { .footer .footer-logo p { max-width: 190px; } }
.footer .copy { padding: 30px; background-color: #0c3178; font-size: 1.3rem; color: #fff; text-align: center; }
@media screen and (max-width: 750px) { .footer .copy { padding: 4%; } }

.opacity { transition: all .6s; }
.opacity:hover { opacity: 0.7; }

.ico { display: inline-flex; justify-content: center; align-items: center; width: 1em; line-height: 0; }
.ico::before { width: 100%; }

.ico-close { margin-right: 15px; }
.ico-close::before { content: url("../img/ico_close.svg"); }

.c-anchor { position: relative; top: -70px; }

.cmn-side { z-index: 9999; position: fixed; top: 50%; right: 0; font-size: 1.5rem; font-weight: 300; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -o-writing-mode: vertical-rl; writing-mode: vertical-rl; line-height: 2; visibility: hidden; transform: translate(100%, -50%); white-space: nowrap; }
@media screen and (max-width: 750px) { .cmn-side { display: none; } }
.cmn-side._loaded { transition: all .5s; }
.cmn-side._show { visibility: visible; transform: translate(0, -50%); }
.cmn-side span { padding-top: 1em; margin-top: 1em; border-top: 1px solid #c8c8c8; font-size: 2.0rem; }

.cmn-ttl { position: absolute; top: 0; left: 0; width: 100%; }
.cmn-ttl::before { content: ''; display: block; height: 100vh; }
.cmn-ttl .cmn-ttl-box { position: relative; min-height: 100vh; background-attachment: fixed; background-repeat: no-repeat; background-position: center top; background-size: cover; }
@media screen and (max-width: 750px) { .cmn-ttl .cmn-ttl-box { background-attachment: initial; background-size: auto 100vh; } }
.cmn-ttl .cmn-ttl-box._message { z-index: 1; background-image: url("../img/bg_message.png"); }
@media screen and (max-width: 750px) { .cmn-ttl .cmn-ttl-box._message { background-image: url("../img/bg_message_sp.jpg"); } }
.cmn-ttl .cmn-ttl-box._history { z-index: 1; background-image: url("../img/bg_history.jpg"); }
@media screen and (max-width: 750px) { .cmn-ttl .cmn-ttl-box._history { background-image: url("../img/bg_history_sp.jpg"); } }
.cmn-ttl .cmn-ttl-box._history .cmn-ttl-txt .cmn-ttl-en { font-size: 9.0rem; }
@media screen and (max-width: 1200px) { .cmn-ttl .cmn-ttl-box._history .cmn-ttl-txt .cmn-ttl-en { font-size: 7vw; } }
@media screen and (max-width: 750px) { .cmn-ttl .cmn-ttl-box._history .cmn-ttl-txt .cmn-ttl-en { font-size: 4.0rem; } }
.cmn-ttl .cmn-ttl-box._vision { background-image: url("../img/bg_vision.jpg"); }
@media screen and (max-width: 750px) { .cmn-ttl .cmn-ttl-box._vision { background-image: url("../img/bg_vision_sp.jpg"); } }
.cmn-ttl .cmn-ttl-box .cmn-ttl-txt { display: none; transition: opacity .5s; }
.cmn-ttl .cmn-ttl-box .cmn-ttl-txt._show { display: block; }
.cmn-ttl .cmn-ttl-box .cmn-ttl-txt._hide { opacity: 0; }
.cmn-ttl .cmn-ttl-slider { position: sticky; top: 0; left: 0; width: 100%; height: 100vh; }
.cmn-ttl .cmn-ttl-slider .swiper-wrapper { height: 100%; }
.cmn-ttl .cmn-ttl-slider .swiper-slide { position: relative; height: 100%; }
.cmn-ttl .cmn-ttl-slider .swiper-slide img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.cmn-ttl .cmn-ttl-in { position: fixed; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 100vh; padding: 30px; text-align: center; color: #fff; font-size: 3.0rem; }
@media screen and (max-width: 980px) { .cmn-ttl .cmn-ttl-in { font-size: 2.0rem; } }
@media screen and (max-width: 750px) { .cmn-ttl .cmn-ttl-in { padding: 4%; font-size: 1.6rem; } }
.cmn-ttl .cmn-ttl-txt { font-weight: 400; line-height: 1.4; letter-spacing: 0.2em; }
@media screen and (max-width: 750px) { .cmn-ttl .cmn-ttl-txt { letter-spacing: 0.1em; } }
.cmn-ttl .cmn-ttl-txt .cmn-ttl-en { font-size: 13.0rem; font-weight: 300; }
@media screen and (max-width: 1200px) { .cmn-ttl .cmn-ttl-txt .cmn-ttl-en { font-size: 10vw; } }
@media screen and (max-width: 750px) { .cmn-ttl .cmn-ttl-txt .cmn-ttl-en { font-size: 4.0rem; } }

.movie-sec { position: relative; min-height: calc(100vh - 70px); }
.movie-sec video, .movie-sec img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; }
@media screen and (max-width: 750px) { .movie-sec video, .movie-sec img { position: static; height: initial; } }

.message-sec { position: relative; }
.message-sec::before { content: ''; display: block; height: 100vh; }
.message-sec .message-con { position: relative; min-height: 100vh; background-color: #fff; }
@media screen and (max-width: 750px) { .message-sec .message-con { padding: 80px 0; } }
.message-sec .message-con::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; margin-top: 1px; padding-top: 55.7620817844%; background: url("../img/bg_message_top.svg") no-repeat center bottom; background-size: 100% auto; transform: translateY(-100%); }
.message-sec .message-in { padding-top: 100px; padding-bottom: 150px; }
@media screen and (max-width: 750px) { .message-sec .message-in { padding-top: 60px; padding-bottom: 80px; } }
.message-sec .message-heading { font-size: 2.8rem; font-weight: 400; text-align: center; color: #0c3178; line-height: 2; }
@media screen and (max-width: 750px) { .message-sec .message-heading { font-size: 2.4rem; line-height: 1.8; } }
.message-sec .message-line { margin-top: -5%; animation-delay: 1s; }
.message-sec .message-txt { text-align: center; line-height: 2.4; }
@media screen and (max-width: 750px) { .message-sec .message-txt { line-height: 1.8; } }

.history-sec { position: relative; }
.history-sec::before { content: ''; display: block; height: 100vh; }
.history-sec .history-bg { min-height: 100vh; background-color: rgba(255, 255, 255, 0.9); }
.history-sec .history-year { position: fixed; top: 50%; left: 0; z-index: 999; font-size: 3.0rem; color: #0c3178; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -o-writing-mode: vertical-rl; writing-mode: vertical-rl; line-height: 2; visibility: hidden; transform: translate(-100%, -50%); }
@media screen and (max-width: 750px) { .history-sec .history-year { font-size: 1.6rem; } }
.history-sec .history-year._loaded { transition: all .5s; }
.history-sec .history-year._show { visibility: visible; transform: translate(0, -50%); }
.history-sec .history-cover { min-height: calc(100vh - 70px); }
.history-sec .history-cover .history-cover-con .inner { padding-top: 6rem; padding-bottom: 6rem; }
.history-sec .history-cover .history-cover-con .inner::after { content: ''; display: block; width: 6px; height: 81px; margin: 2rem auto 0; background: url("../img/history_dot.svg") no-repeat center center; background-size: contain; }
.history-sec .history-cover .history-cover-con .history-cover-ttl { margin-bottom: 3rem; font-size: 7rem; font-weight: 500; text-align: center; letter-spacing: 0.2em; }
@media screen and (max-width: 750px) { .history-sec .history-cover .history-cover-con .history-cover-ttl { font-size: 4rem; } }
.history-sec .history-cover .history-cover-con .history-cover-lead { margin-bottom: 3rem; font-size: 2.3rem; text-align: center; }
@media screen and (max-width: 750px) { .history-sec .history-cover .history-cover-con .history-cover-lead { font-size: 2rem; } }
.history-sec .history-cover .history-cover-con .history-cover-btn { width: 88px; height: 88px; margin: 0 auto; cursor: pointer; }
.history-sec .history-cover .history-cover-con .history-cover-btn::before { content: url("../img/bt_open.svg"); }
.history-sec .history-cover._open { min-height: initial; }
.history-sec .history-cover._open .history-cover-con .inner::after { display: none; }
.history-sec .history-cover._open .history-cover-con .history-cover-btn::before { content: url("../img/bt_close02.svg"); }
.history-sec .history-content { display: none; }
.history-sec .history-close { position: relative; margin-top: 4rem; padding: 5.5rem 0; background-color: #0c3178; color: #fff; }
.history-sec .history-close::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; margin-top: 1px; padding-top: 2.5%; background: url("../img/history_bg.svg") no-repeat center bottom; background-size: 100%; transform: translateY(-100%); }
.history-sec .history-close .history-close-btn { width: 88px; height: 88px; margin: 0 auto; cursor: pointer; }
.history-sec .history-close .history-close-txt { margin-top: 2rem; font-size: 2.2rem; text-align: center; }
.history-sec .history-container._open .history-wrap .history-top .history-more::before { content: url("../img/bt_close.svg"); }
.history-sec .history-wrap { position: relative; padding: 50px 0; }
@media screen and (max-width: 750px) { .history-sec .history-wrap { padding: 40px 0; } }
.history-sec .history-wrap .history-top .history-top-num { margin-bottom: 30px; font-size: 8.0rem; text-align: center; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-top .history-top-num { margin-bottom: 10px; font-size: 6.0rem; } }
.history-sec .history-wrap .history-top .history-top-year { margin-bottom: 30px; font-size: 1.6rem; text-align: center; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-top .history-top-year { margin-bottom: 10px; font-size: 1.4rem; } }
.history-sec .history-wrap .history-top .history-top-ttl { font-size: 2.8rem; font-weight: 400; text-align: center; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-top .history-top-ttl { font-size: 2.0rem; } }
.history-sec .history-wrap .history-top .history-more { margin-top: 50px; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-top .history-more { margin-top: 40px; } }
.history-sec .history-wrap .history-top .history-more::before { content: url("../img/bt_more.svg"); }
.history-sec .history-wrap .history-con { display: none; }
.history-sec .history-wrap .history-con .history-in { position: relative; width: 100%; padding: 80px 0 60px; }
.history-sec .history-wrap .history-con .history-in::after { content: ''; position: absolute; top: 0; left: 50%; width: 2px; height: 100%; background-color: #c8c8c8; }
.history-sec .history-wrap .history-con .history-box { width: 50%; }
.history-sec .history-wrap .history-con .history-box dl dt { position: relative; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #0c3178; line-height: 1.4; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box dl dt { margin-bottom: 10px; font-size: 1.6rem; } }
.history-sec .history-wrap .history-con .history-box dl dt::after { z-index: 100; content: ''; position: absolute; bottom: 0; width: 12px; height: 12px; margin-bottom: -6px; background-color: #0c3178; border-radius: 50%; }
.history-sec .history-wrap .history-con .history-box dl dt::before { z-index: 100; content: ''; position: absolute; bottom: 0; width: 38px; height: 38px; margin-bottom: -19px; background-color: #fff; border-radius: 50%; box-shadow: 0px 0px 4px 4px rgba(198, 228, 244, 0.6); }
.history-sec .history-wrap .history-con .history-box dl dt span { font-size: 6.0rem; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box dl dt span { font-size: 4.0rem; } }
.history-sec .history-wrap .history-con .history-box dl dd { font-size: 1.9rem; font-weight: 700; color: #0c3178; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box dl dd { padding-right: 30px; font-size: 1.4rem; } }
.history-sec .history-wrap .history-con .history-box .history-box-item { margin-bottom: 30px; }
.history-sec .history-wrap .history-con .history-box .history-box-item:last-child { margin-bottom: 0; }
.history-sec .history-wrap .history-con .history-box .history-box-item p { margin-top: 10px; font-size: 1.4rem; line-height: 2; }
.history-sec .history-wrap .history-con .history-box .history-box-item figure { margin-top: 15px; opacity: 0; }
.history-sec .history-wrap .history-con .history-box .history-box-item figure figcaption { margin-top: 5px; font-size: 1.2rem; }
.history-sec .history-wrap .history-con .history-box .history-box-item figure._logo { margin: 3.5rem 0 4rem; }
.history-sec .history-wrap .history-con .history-box .history-box-item figure._logo img { max-width: 20rem; }
.history-sec .history-wrap .history-con .history-box .history-box-item._h { display: flex; justify-content: space-between; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box .history-box-item._h { display: block; } }
.history-sec .history-wrap .history-con .history-box .history-box-item._h p { width: 49.649122807%; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box .history-box-item._h p { width: 100%; } }
.history-sec .history-wrap .history-con .history-box .history-box-item._h figure { width: 42.8070175439%; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box .history-box-item._h figure { width: 100%; } }
.history-sec .history-wrap .history-con .history-box:nth-child(odd) dl { padding-left: 9.5238095238%; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box:nth-child(odd) dl { padding-left: 9.5238095238%; } }
.history-sec .history-wrap .history-con .history-box:nth-child(odd) dl dt, .history-sec .history-wrap .history-con .history-box:nth-child(odd) dl dd { padding-right: 60px; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box:nth-child(odd) dl dt, .history-sec .history-wrap .history-con .history-box:nth-child(odd) dl dd { padding-right: 30px; } }
.history-sec .history-wrap .history-con .history-box:nth-child(odd) dl dt::after { right: 0; margin-right: -7px; }
.history-sec .history-wrap .history-con .history-box:nth-child(odd) dl dt::before { right: 0; margin-right: -20px; }
.history-sec .history-wrap .history-con .history-box:nth-child(odd) .history-box-item { padding-left: 9.5238095238%; padding-right: 60px; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box:nth-child(odd) .history-box-item { padding-left: 9.5238095238%; padding-right: 30px; } }
.history-sec .history-wrap .history-con .history-box:nth-child(odd) .history-box-item._h { padding-left: 0; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box:nth-child(odd) .history-box-item._h { padding-left: 9.5238095238%; } }
.history-sec .history-wrap .history-con .history-box:nth-child(even) { margin-left: auto; }
.history-sec .history-wrap .history-con .history-box:nth-child(even) dl { padding-right: 9.5238095238%; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box:nth-child(even) dl { padding-right: 9.5238095238%; } }
.history-sec .history-wrap .history-con .history-box:nth-child(even) dl dt, .history-sec .history-wrap .history-con .history-box:nth-child(even) dl dd { padding-left: 60px; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box:nth-child(even) dl dt, .history-sec .history-wrap .history-con .history-box:nth-child(even) dl dd { padding-left: 30px; } }
.history-sec .history-wrap .history-con .history-box:nth-child(even) dl dt::after { left: 0; margin-left: -7px; }
.history-sec .history-wrap .history-con .history-box:nth-child(even) dl dt::before { left: 0; margin-left: -20px; }
.history-sec .history-wrap .history-con .history-box:nth-child(even) .history-box-item { padding-right: 9.5238095238%; padding-left: 60px; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box:nth-child(even) .history-box-item { padding-right: 9.5238095238%; padding-left: 30px; } }
.history-sec .history-wrap .history-con .history-box:nth-child(even) .history-box-item._h { padding-right: 0; }
@media screen and (max-width: 750px) { .history-sec .history-wrap .history-con .history-box:nth-child(even) .history-box-item._h { padding-right: 9.5238095238%; } }
.history-sec .history-wrap .history-line { margin-top: 30px; }
.history-sec .history-wrap .history-more { width: 88px; height: 88px; margin: 0 auto; cursor: pointer; }

.vision-sec { position: relative; }
.vision-sec::before { content: ''; display: block; height: 100vh; }
.vision-sec .vision-bg { padding-bottom: 460px; background: #fff url("../img/bg_main.png") no-repeat right bottom; background-size: 100%  auto; }
@media screen and (max-width: 750px) { .vision-sec .vision-bg { padding-bottom: 260px; } }
.vision-sec .vision-in { width: 100%; max-width: 1260px; margin: 0 auto; padding: 0 20px; line-height: 1.6; }
@media screen and (max-width: 750px) { .vision-sec .vision-in { padding: 0 4%; } }
.vision-sec .vision-top { padding-top: 90px; padding-bottom: 100px; }
@media screen and (max-width: 750px) { .vision-sec .vision-top { padding: 80px 0; } }
.vision-sec .vision-top .vision-heading { margin-bottom: 90px; font-size: 2.8rem; font-weight: 400; text-align: center; color: #0c3178; line-height: 2; }
@media screen and (max-width: 750px) { .vision-sec .vision-top .vision-heading { margin-bottom: 6rem; font-size: 2.4rem; line-height: 1.8; } }
.vision-sec .vision-top .vision-txt { text-align: center; line-height: 2.4; }
@media screen and (max-width: 750px) { .vision-sec .vision-top .vision-txt { line-height: 1.8; } }
.vision-sec .vision-con .vision-con-box { position: relative; }
.vision-sec .vision-con .vision-con-box._box01 { margin-bottom: 380px; }
@media screen and (max-width: 1200px) { .vision-sec .vision-con .vision-con-box._box01 { margin-bottom: 100px; } }
@media screen and (max-width: 750px) { .vision-sec .vision-con .vision-con-box._box01 { margin-bottom: 40px; } }
.vision-sec .vision-con .vision-con-box._box01 figure { left: 0; }
.vision-sec .vision-con .vision-con-box._box01 .vision-con-txt { padding-left: 10%; margin: 0 0 0 auto; }
@media screen and (max-width: 750px) { .vision-sec .vision-con .vision-con-box._box01 .vision-con-txt { padding-left: 0; } }
.vision-sec .vision-con .vision-con-box._box02 { margin-bottom: 320px; }
@media screen and (max-width: 1200px) { .vision-sec .vision-con .vision-con-box._box02 { margin-bottom: 150px; } }
@media screen and (max-width: 750px) { .vision-sec .vision-con .vision-con-box._box02 { margin-bottom: 80px; } }
.vision-sec .vision-con .vision-con-box._box02 figure { right: 0; text-align: right; }
.vision-sec .vision-con .vision-con-box._box02 .vision-con-txt { padding-top: 65px; padding-right: 10%; }
@media screen and (max-width: 750px) { .vision-sec .vision-con .vision-con-box._box02 .vision-con-txt { padding: 0; } }
.vision-sec .vision-con .vision-con-box .vision-box { width: 100%; max-width: 1000px; margin: 0 auto; }
.vision-sec .vision-con .vision-con-box figure { position: absolute; top: 0; width: 46.4285714286%; }
@media screen and (max-width: 750px) { .vision-sec .vision-con .vision-con-box figure { position: static; width: 100%; margin-bottom: 20px; padding: 0; } }
.vision-sec .vision-con .vision-con-box .vision-con-txt { width: 55%; line-height: 3; }
@media screen and (max-width: 750px) { .vision-sec .vision-con .vision-con-box .vision-con-txt { width: 100%; line-height: 1.6; } }
.vision-sec .vision-nav { position: relative; }
.vision-sec .vision-nav .vision-in { position: relative; z-index: 10; }
.vision-sec .vision-nav .vision-fig { margin-bottom: 90px; }
@media screen and (max-width: 750px) { .vision-sec .vision-nav .vision-fig { margin-bottom: 50px; margin-bottom: 50px; } }
.vision-sec .vision-nav .vision-line { position: absolute; top: 0; left: 0; width: 100%; margin-top: 17.8571428571%; }
.vision-sec .vision-nav .vision-nav-txt { margin-bottom: 90px; font-size: 1.6rem; text-align: center; }
@media screen and (max-width: 750px) { .vision-sec .vision-nav .vision-nav-txt { margin-bottom: 50px; font-size: 1.5rem; } }
.vision-sec .vision-nav ul { display: flex; justify-content: space-between; }
@media screen and (max-width: 750px) { .vision-sec .vision-nav ul { display: block; } }
.vision-sec .vision-nav ul li { position: relative; width: 49.1803278689%; background-color: #fff; }
@media screen and (max-width: 750px) { .vision-sec .vision-nav ul li { width: 100%; margin-bottom: 40px; } }
.vision-sec .vision-nav ul li a { display: block; text-decoration: none; }
@media screen and (max-width: 750px) { .vision-sec .vision-nav ul li:last-child { margin-bottom: 0; } }
.vision-sec .vision-nav ul li .vision-nav-box { position: absolute; top: 50%; left: 0%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); width: 100%; padding: 30px; background: rgba(12, 49, 120, 0.3); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; font-size: 3.0rem; line-height: 1.4; text-align: center; }
.vision-sec .vision-nav ul li .vision-nav-box h2 { font-weight: 400; }
.vision-sec .vision-nav ul li .vision-nav-box span { font-size: 2.3rem; font-weight: 300; }

.clearfix { zoom: 1; }
.clearfix::before { content: ""; display: table; }
.clearfix::after { content: ""; display: table; clear: both; }

.w100 { width: 100%; }

.mw12em { max-width: 12em; }

.mt10 { margin-top: 10px; }

.mt30 { margin-top: 30px; }

.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); } }
.js-anime-line { transition: all 1s ease; -webkit-clip-path: inset(0 100% 0 0); clip-path: inset(0 100% 0 0); }
.js-anime-line.js-anime-on { webkit-clip-path: inset(0); clip-path: inset(0); }

@media print { .js-anime-fadein, .js-anime-slide, .js-anime-slideleft, .js-anime-slideright { opacity: initial; } }

/*# sourceMappingURL=style.css.map */
