@charset "UTF-8";
.font-en { font-family: 'Josefin Sans', sans-serif; }

.font-maru { font-family: 'Zen Maru Gothic', sans-serif; }

.font-num { font-family: 'Roboto', sans-serif; }

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; word-wrap: break-word; }

html { font-size: 16px; }
@media screen and (max-width: 750px) { html { font-size: 3.8vw; } }

body { font-family: 'Noto Sans JP', YuGothicM, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; -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: 1rem; }

input[type="text"], input[type="password"], input[type="tel"], input[type="email"], textarea { font-family: inherit; font-size: 1rem; }

select { font-family: inherit; }

.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: 122px; }
@media screen and (max-width: 750px) { .pagetop { width: 70px; } }
.pagetop.is-show { opacity: 1; transform: translateY(0); }

.inner { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 20px; line-height: 1.6; }
@media screen and (max-width: 750px) { .inner { padding: 0 4%; } }

/* ==================================================================================================== ヘッダー
==================================================================================================== */
.header { display: flex; align-items: center; justify-content: space-between; height: 80px; padding-left: 20px; background-color: #f4f5ff; }
@media screen and (max-width: 750px) { .header { padding-left: 4.6666666667%; padding-right: 4%; } }
.header .header-logo { width: 260px; }
@media screen and (max-width: 750px) { .header .header-logo { width: 43.795620438%; }
  .header .header-logo img { max-height: 60px; } }
.header .header-box { display: flex; align-items: center; justify-content: flex-end; width: 450px; }
@media screen and (max-width: 750px) { .header .header-box { width: auto; } }
.header .header-career { width: 210px; margin: 0 20px; }
@media screen and (max-width: 750px) { .header .header-career { width: 100%; margin: 0; } }
.header .header-career a { display: block; text-align: center; text-decoration: none; padding: 10px 35px 10px 0; border: 1px solid #0d3078; background: #fff url("../img/common/ico_circle_b.svg") no-repeat right 10px center; background-size: 25px auto; font-size: 1.125rem; font-weight: 500; color: #0d3078; border-radius: 2em; }
@media screen and (max-width: 750px) { .header .header-career a { padding: 10px 36px 10px 15px; background-size: 16px auto; font-size: 0.875rem; } }
.header .header-intern { width: 162px; margin-right: 15px; }
@media screen and (max-width: 750px) { .header .header-intern { width: 4em; margin-right: 0; }
  .header .header-intern .btn-internship { padding: 0.5em 0.25em 0.5em 0; background-image: none; text-align: center; }
  .header .header-intern .btn-internship span { font-size: 0.8125rem; } }
.header .header-entry { width: 162px; }
@media screen and (max-width: 750px) { .header .header-entry { width: 4em; margin-right: 1em; }
  .header .header-entry .btn-entry { height: auto; padding: 0.5em 0.25em 0.5em 0; border: 1px solid #0d3078; background-image: none; text-align: center; }
  .header .header-entry .btn-entry span { font-size: 0.8125rem; } }
.header .header-menu { display: flex; justify-content: center; align-items: center; width: 114px; height: 100%; cursor: pointer; }
@media screen and (max-width: 750px) { .header .header-menu { width: 100%; } }
.header .header-menu p { position: relative; width: 34px; height: 18px; }
.header .header-menu span { position: absolute; left: 0; display: block; width: 100%; height: 2px; background-color: #0d3078; transition: all .4s; }
.header .header-menu span:nth-of-type(1) { top: 0; }
.header .header-menu span:nth-of-type(2) { top: 50%; margin-top: -1px; }
.header .header-menu span:nth-of-type(3) { width: 50%; bottom: 0; }
.header .header-menu .txt { margin-top: 2px; }
.header .header-menu .txt:before { content: 'MENU'; text-align: center; font-size: 0.75rem; color: #0d3078; font-weight: bold; }

@media screen and (max-width: 750px) { .js-menuopen .header .header-intern { display: none; } }
@media screen and (max-width: 750px) { .js-menuopen .header .header-entry { display: none; } }

/* ==================================================================================================== SPメニュー
==================================================================================================== */
.nav-menu { z-index: 99999; display: none; position: fixed; top: 80px; left: 0; width: 100%; height: calc(100% - 80px); background-color: #f4f5ff; }
.nav-menu .nav-menu-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 50px 40px; overflow-y: auto; line-height: 1.4; }
@media screen and (max-width: 750px) { .nav-menu .nav-menu-content { padding: 30px 4% 50px; } }
.nav-menu .nav-menu-entry { display: none; justify-content: space-between; margin-bottom: 1.5em; }
@media screen and (max-width: 750px) { .nav-menu .nav-menu-entry { display: flex; } }
.nav-menu .nav-menu-entry a { width: 48%; height: auto; }
.nav-menu .nav-heading { width: 100%; max-width: 1200px; margin: 0 auto 30px; font-size: 1.875rem; font-style: italic; color: #0d3078; font-weight: 300; }
.nav-menu .nav-in { display: flex; width: 100%; max-width: 1200px; margin: 0 auto; }
@media screen and (max-width: 960px) { .nav-menu .nav-in { display: block; } }
.nav-menu .nav-con { padding-right: 20px; }
@media screen and (max-width: 960px) { .nav-menu .nav-con { padding-right: 0; } }
.nav-menu .nav-con.nav-con-01 { width: 30.8333333333%; }
@media screen and (max-width: 960px) { .nav-menu .nav-con.nav-con-01 { width: 100%; margin-bottom: 40px; } }
.nav-menu .nav-con.nav-con-02 { width: 31.6666666667%; }
@media screen and (max-width: 960px) { .nav-menu .nav-con.nav-con-02 { width: 100%; margin-bottom: 40px; } }
.nav-menu .nav-con.nav-con-03 { width: 37.5%; padding-right: 0; }
@media screen and (max-width: 960px) { .nav-menu .nav-con.nav-con-03 { width: 100%; } }
.nav-menu .nav-box { display: flex; align-items: flex-start; justify-content: space-between; }
.nav-menu .nav-box .nav-item { flex: 1; margin-left: 15px; padding-left: 15px; border-left: 1px solid #0d3078; }
.nav-menu .nav-box.nav-box-01 { margin-bottom: 40px; }
.nav-menu .nav-box.nav-box-03 dl { margin-bottom: 55px; }
.nav-menu .nav-box.nav-box-03 dl dd ul { padding-left: 1em; }
.nav-menu .nav-box.nav-box-04 { margin-bottom: 70px; }
@media screen and (max-width: 960px) { .nav-menu .nav-box.nav-box-04 { margin-bottom: 40px; } }
.nav-menu .nav-box.nav-box-04 dl { margin-bottom: 15px; }
.nav-menu .nav-box.nav-box-04 dl dd ul { padding-left: 2em; font-size: 0.875rem; }
.nav-menu .nav-box.nav-box-05 .nav-item { border-left: none; }
.nav-menu .nav-box.nav-box-05 ul li { font-weight: bold; }
.nav-menu .nav-box figure { width: 100px; }
.nav-menu .nav-box dl dt { margin-bottom: 15px; font-size: 1.125rem; color: #0d3078; font-weight: bold; }
.nav-menu .nav-box dl dd p { margin-bottom: 15px; font-weight: 300; }
.nav-menu .nav-box dl dd p a { text-decoration: none; color: #0d3078; }
.nav-menu .nav-box dl dd p a:hover { text-decoration: underline; }
.nav-menu .nav-box ul li { margin-bottom: 15px; font-weight: 300; }
.nav-menu .nav-box ul li:last-child { margin-bottom: 0; }
.nav-menu .nav-box ul li a { text-decoration: none; color: #0d3078; }
.nav-menu .nav-box ul li a:hover { text-decoration: underline; }

.nav-menu-content .ttl-note { font-size: 0.625rem; padding-top: 1.24em; text-align: right; font-weight: 300; }
@media screen and (max-width: 750px) { .nav-menu-content .ttl-note { font-size: 0.625rem; padding-top: 2.24em; } }

.js-menuopen { overflow: hidden; }
.js-menuopen .header-menu span:nth-child(1) { transform: translateY(8px) rotate(-45deg); }
.js-menuopen .header-menu span:nth-child(2) { opacity: 0; }
.js-menuopen .header-menu span:nth-child(3) { width: 100%; transform: translateY(-8px) rotate(45deg); }
.js-menuopen .header-menu .txt { margin-top: 0; }
.js-menuopen .header-menu .txt:before { content: '' !important; }
.js-menuopen .nav-menu { display: block; }

/* ==================================================================================================== メインタイトル
==================================================================================================== */
.mainttl-sec { position: relative; }
.mainttl-sec .mainttl-in { position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: 1.125rem; color: #fff; text-align: center; font-weight: bold; }
@media screen and (max-width: 750px) { .mainttl-sec .mainttl-in { font-size: 0.875rem; } }
.mainttl-sec .mainttl-in p { margin-bottom: 20px; font-size: 3.125rem; }
@media screen and (max-width: 750px) { .mainttl-sec .mainttl-in p { margin-bottom: 5px; font-size: 1.875rem; } }

/* ==================================================================================================== 共通リンク
==================================================================================================== */
.link-sec { margin-bottom: 10px; }
.link-sec ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
.link-sec ul li { width: 49.609375%; margin-right: 0.78125%; margin-bottom: 0.78125%; }
.link-sec ul li:nth-child(2n) { margin-right: 0; }
.link-sec ul li a { position: relative; display: block; color: #fff; }
.link-sec ul li .link-item { position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; text-align: center; width: 100%; height: 100%; }
.link-sec ul li .link-item .link-ttl { font-size: 2.1875rem; font-weight: bold; }
@media screen and (max-width: 750px) { .link-sec ul li .link-item .link-ttl { font-size: 1.25rem; } }
.link-sec ul li .link-item .link-kana { margin-top: 15px; font-size: 1rem; font-weight: bold; }
@media screen and (max-width: 750px) { .link-sec ul li .link-item .link-kana { margin-top: 5px; font-size: 0.75rem; } }

/* ==================================================================================================== フッター
==================================================================================================== */
.footer .fnav { padding: 50px 20px 60px; background-color: #f4f5ff; line-height: 1.4; }
@media screen and (max-width: 750px) { .footer .fnav { padding: 6.6666666667% 4% 8%; } }
.footer .fnav .fnav-in { max-width: 900px; margin: 0 auto; }
.footer .fnav .fnav-con { display: flex; }
@media screen and (max-width: 750px) { .footer .fnav .fnav-con { display: block; } }
.footer .fnav .fnav-con .fnav-box-in { display: flex; justify-content: space-between; width: 58.8888888889%; }
@media screen and (max-width: 750px) { .footer .fnav .fnav-con .fnav-box-in { width: 100%; } }
.footer .fnav .fnav-con .fnav-box { padding-right: 10px; font-size: 0.875rem; }
.footer .fnav .fnav-con .fnav-box .fnav-box-block { padding-left: 12px; border-left: 3px solid #0d3078; }
.footer .fnav .fnav-con .fnav-box.fnav-box-01 { width: 26.6666666667%; }

.footer .fnav .fnav-in .ttl-note { font-size: 0.675rem; padding-top: 0.24em; text-align: right; font-weight: 300; }
@media screen and (max-width: 750px) { .footer .fnav .fnav-in .ttl-note { font-size: 0.675rem; padding-top: 0.24em; } }

@media screen and (max-width: 750px) { .footer .fnav .fnav-con .fnav-box.fnav-box-01 { display: flex; justify-content: space-between; width: 100%; padding-right: 0; }
  .footer .fnav .fnav-con .fnav-box.fnav-box-01 dl { width: 50%; } }
.footer .fnav .fnav-con .fnav-box.fnav-box-02 { width: 37.7358490566%; }
@media screen and (max-width: 750px) { .footer .fnav .fnav-con .fnav-box.fnav-box-02 { width: 50%; margin-bottom: 40px; } }
.footer .fnav .fnav-con .fnav-box.fnav-box-03 { width: 60.3773584906%; }
@media screen and (max-width: 750px) { .footer .fnav .fnav-con .fnav-box.fnav-box-03 { width: 50%; margin-bottom: 40px; } }
.footer .fnav .fnav-con .fnav-box.fnav-box-03 p a { text-decoration: none; }
.footer .fnav .fnav-con .fnav-box.fnav-box-03 p a:hover { text-decoration: underline; }
.footer .fnav .fnav-con .fnav-box.fnav-box-04 { width: 14.4444444444%; padding-right: 0; }
@media screen and (max-width: 750px) { .footer .fnav .fnav-con .fnav-box.fnav-box-04 { width: 100%; } }
.footer .fnav .fnav-con .fnav-box dl { margin-bottom: 40px; }
.footer .fnav .fnav-con .fnav-box dl dt { margin-bottom: 20px; font-weight: bold; }
.footer .fnav .fnav-con .fnav-box ul li { margin-bottom: 10px; font-weight: 300; }
.footer .fnav .fnav-con .fnav-box ul li:last-child { margin-bottom: 0; }
.footer .fnav .fnav-con .fnav-box ul li a { text-decoration: none; }
.footer .fnav .fnav-con .fnav-box ul li a:hover { text-decoration: underline; }
.footer .fnav .fnav-con .fnav-box.fnav-box-03 dl dd p { margin-bottom: 10px; font-weight: 300; }
.footer .fnav .fnav-con .fnav-box.fnav-box-03 dl dd ul { padding-left: 1em; }
.footer .fnav .fnav-con .fnav-box.fnav-box-04 ul li { font-weight: bold; }
.footer .f-banner { padding: 100px 20px; background-color: #0d3078; }
@media screen and (max-width: 750px) { .footer .f-banner { padding: 13.3333333333% 4%; } }
.footer .f-banner ul { display: flex; justify-content: space-between; max-width: 1200px; margin: 0 auto; }
.footer .f-banner ul li { display: flex; margin-right: 40px; }
.footer .f-banner ul li:last-child { margin-right: 0; }
.footer .copy { padding: 50px 20px 60px; font-size: 0.875rem; text-align: center; color: #0d3078; font-weight: bold; }
@media screen and (max-width: 750px) { .footer .copy { padding: 25px 4% 30px; } }

.opacity { transition: all .6s; }
.opacity:hover { opacity: 0.7; }

.reverse { flex-direction: row-reverse; }

.indent { padding-left: 1em; text-indent: -1em; }

.bluetop-sec { padding: 60px 0; background-color: #0d3078; color: #fff; text-align: center; }
.bluetop-sec .bluetop-heading { margin-bottom: 30px; font-size: 2.125rem; font-weight: bold; }
@media screen and (max-width: 750px) { .bluetop-sec .bluetop-heading { font-size: 1.75rem; } }
.bluetop-sec p { font-size: 1.125rem; }

.voice-list .voice-slider { margin-bottom: 80px; position: relative; }
.voice-list .voice-slider .slide-btn { position: absolute; bottom: 0; left: 0; width: 100%; margin-bottom: -50px; cursor: pointer; }
.voice-list .voice-slider .slide-btn .slide-btn-in { width: 100%; max-width: 530px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
.voice-list .voice-slider .slide-btn .slide-prev { width: 17px; }
.voice-list .voice-slider .slide-btn .slide-next { width: 17px; }
.voice-list .slick-slide { margin: 0 4px; }
.voice-list ul li a { display: block; text-decoration: none; position: relative; color: #fff; font-weight: bold; line-height: 1.6; }
.voice-list ul li a p { position: absolute; bottom: 0; left: 0; margin-left: 30px; margin-bottom: 20px; }
@media screen and (max-width: 750px) { .voice-list ul li a p { margin-left: 10px; margin-bottom: 10px; font-size: 0.75rem; } }
.voice-list .voice-btn { width: 100%; max-width: 214px; margin: 0 auto; border: 1px solid #0d3078; }
.voice-list .voice-btn a { display: block; text-decoration: none; padding: 10px; font-size: 0.875rem; color: #0d3078; font-weight: bold; text-align: center; font-style: italic; }
.voice-list .slick-dotted.slick-slider { margin-bottom: 0; }
.voice-list .slick-dots { bottom: -35px; }
.voice-list .slick-dots li { width: 36px; height: 3px; margin: 0 2px; }
.voice-list .slick-dots li button { width: 36px; height: 3px; padding: 0; }
.voice-list .slick-dots li button:before { width: 36px; height: 3px; content: ''; opacity: 1; background-color: #b0adc1; }
.voice-list .slick-dots li.slick-active button:before { opacity: 1; background-color: #0d3078; }

.btn-internship { display: flex; flex-direction: column; justify-content: center; width: 10em; max-width: 100%; padding: 8px 0 8px 2em; border: 1px solid #0d3078; background: url("../img/common/ico_arrow_03.svg") no-repeat right 0.75em center; color: #0d3078; text-decoration: none; line-height: 1; }
.btn-internship small { padding-left: 0.25em; font-size: 1.125rem; }
.btn-internship span { display: block; font-size: 1.5rem; font-style: italic; }

.btn-entry { display: flex; flex-direction: column; justify-content: center; width: 10em; max-width: 100%; height: 80px; padding: 8px 0 8px 2em; background: #0d3078 url("../img/common/ico_arrow_w02.svg") no-repeat right 0.75em center; color: #fff; text-decoration: none; line-height: 1; }
.btn-entry small { padding-left: 0.25em; font-size: 1.125rem; }
.btn-entry span { display: block; font-size: 1.5rem; font-style: italic; }

.modal-sec { display: none; position: fixed; top: 0; left: 0; z-index: 9999; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); }
.modal-sec .modal-in { position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; overflow-y: auto; }
.modal-sec .modal-box { width: 100%; max-width: 760px; margin: auto; padding: 30px; }
.modal-sec .modal-close { position: relative; width: 14px; height: 14px; margin: 0 0 15px auto; cursor: pointer; }
.modal-sec .modal-close::before { content: ''; position: absolute; top: 50%; left: 50%; width: 100%; height: 2px; background-color: #fff; -webkit-transform: translate(-50%, -50%) rotate(-45deg); transform: translate(-50%, -50%) rotate(-45deg); }
.modal-sec .modal-close::after { content: ''; position: absolute; top: 50%; left: 50%; width: 100%; height: 2px; background-color: #fff; -webkit-transform: translate(-50%, -50%) rotate(45deg); transform: translate(-50%, -50%) rotate(45deg); }
.modal-sec .modal-movie { position: relative; padding-top: 56.25%; }
.modal-sec .modal-movie iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.js-modalopen { overflow: hidden; }

.clearfix { zoom: 1; }
.clearfix::before { content: ""; display: table; }
.clearfix::after { content: ""; display: table; clear: both; }

.w100 { width: 100%; }

.mab20 { margin-bottom: 20px; }

.mab60 { margin-bottom: 60px; }

.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); } }

/*# sourceMappingURL=style.css.map */
