@charset "UTF-8";
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; word-wrap: break-word; }

html { font-size: 14px; }
@media screen and (max-width: 767px) { html { font-size: 3.8vw; } }

body { font-family: 'Noto Sans JP', sans-serif; -webkit-text-size-adjust: 100%; }

li { list-style: none; }

img { max-width: 100%; vertical-align: bottom; }

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"] { font-family: inherit; font-size: 1rem; }

select { font-family: inherit; }

.only-pc { display: block; }
@media screen and (max-width: 767px) { .only-pc { display: none; } }

.only-sp { display: none; }
@media screen and (max-width: 767px) { .only-sp { display: block; } }

img.only-pc, span.only-pc { display: inline; }
@media screen and (max-width: 767px) { img.only-pc, span.only-pc { display: none; } }
img.only-sp, span.only-sp { display: none; }
@media screen and (max-width: 767px) { img.only-sp, span.only-sp { display: inline; } }

table.only-pc { display: table; }
@media screen and (max-width: 767px) { table.only-pc { display: none; } }
table.only-sp { display: none; }
@media screen and (max-width: 767px) { table.only-sp { display: table; } }

sub { font-size: 70%; }

.main { padding: 55px 0 95px; }

.inner { max-width: 1040px; margin: 0 auto; padding: 0 20px; line-height: 1.6; }
@media screen and (max-width: 767px) { .inner { padding: 0 3.9113428944%; } }

.contents { width: 80%; margin: 0 auto; }
@media screen and (max-width: 980px) { .contents { width: 100%; } }

.pagetop { position: fixed; right: 0; bottom: 90px; }
@media screen and (max-width: 767px) { .pagetop { width: 40px; bottom: 20px; } }

/* ==================================================================================================== ヘッダー
==================================================================================================== */
.header { border-top: 4px solid #003c98; background-color: #fff; }
.header .header-in { display: flex; align-items: center; justify-content: space-between; }
.header .header-logo { display: flex; flex: 1; margin-left: 50px; margin-right: 20px; }
@media screen and (max-width: 1330px) { .header .header-logo { margin-left: 30px; } }
@media screen and (max-width: 767px) { .header .header-logo { margin-left: 3.9113428944%; } }
.header .header-logo .header-logo-dift { margin-left: 50px; padding-left: 25px; border-left: 1px solid #003c98; }
@media screen and (max-width: 1330px) { .header .header-logo .header-logo-dift { margin-left: 30px; padding-left: 15px; } }
@media screen and (max-width: 767px) { .header .header-logo .header-logo-dift { margin-left: 3.9113428944%; padding-left: 3.259452412%; } }
.header .header-box { display: flex; justify-content: flex-end; }
@media screen and (max-width: 980px) { .header .header-box { display: none; } }
.header .header-box .header-nav { display: flex; justify-content: flex-end; padding: 10px 0 15px; background-color: #f5f5f5; }
.header .header-box .header-nav li { width: 140px; border-right: 1px solid #000; }
@media screen and (max-width: 1330px) { .header .header-box .header-nav li { width: 120px; } }
@media screen and (max-width: 1170px) { .header .header-box .header-nav li { width: 100px; } }
.header .header-box .header-nav li:last-child { border-right: none; }
.header .header-box .header-nav li a { display: block; text-decoration: none; }
.header .header-box .header-nav li a:hover { opacity: 0.7; }
.header .header-box .header-nav li figure { text-align: center; }
.header .header-box .header-nav li figure figcaption { margin-top: 15px; font-size: 1.0714285714rem; }
@media screen and (max-width: 1170px) { .header .header-box .header-nav li figure figcaption { font-size: 0.8571428571rem; } }
.header .header-box .header-nav li.header-language { position: relative; padding-top: 5px; cursor: pointer; }
.header .header-box .header-nav li.header-mail a { padding-top: 10px; }
.header .header-box .header-nav li.header-login a { padding-top: 8px; }
.header .header-box .header-nav .popup { display: none; position: absolute; z-index: 10000; top: 100%; width: 100%; margin-top: 15px; background-color: #f5f5f5; }
.header .header-box .header-nav .popup li { width: 100% !important; border-right: none; border-top: 1px solid #000; }
.header .header-box .header-nav .popup li a { padding: 10px; text-align: center; }
.header .header-box .header-mymenu { position: relative; display: flex; align-items: center; justify-content: center; width: 170px; height: auto; background-color: #003c98; color: #fff; cursor: pointer; }
@media screen and (max-width: 1330px) { .header .header-box .header-mymenu { width: 140px; } }
@media screen and (max-width: 1170px) { .header .header-box .header-mymenu { width: 100px; } }
.header .header-box .header-mymenu.active figure figcaption span { background: url("../img/common/arrow_w_i002.png") no-repeat right center; }
.header .header-box .header-mymenu figure { text-align: center; }
.header .header-box .header-mymenu figure figcaption { margin-top: 15px; font-size: 1.0714285714rem; }
@media screen and (max-width: 1170px) { .header .header-box .header-mymenu figure figcaption { font-size: 0.8571428571rem; } }
.header .header-box .header-mymenu figure figcaption span { display: inline-block; padding-right: 25px; background: url("../img/common/arrow_w_i001.png") no-repeat right center; }
@media screen and (max-width: 1170px) { .header .header-box .header-mymenu figure figcaption span { padding-right: 15px; background-size: 10px auto; } }
.header .header-box .header-mymenu .popup { z-index: 99999; display: none; position: absolute; top: 80px; left: 0; width: 100%; padding: 10px 0; background-color: #003c98; }
.header .header-box .header-mymenu .popup ul { display: block; padding: 0; background-color: #003c98; }
.header .header-box .header-mymenu .popup ul li { width: 100%; border-right: none; }
.header .header-box .header-mymenu .popup ul li a { display: block; width: 100%; text-decoration: none; padding: 10px 10px 10px 20px; font-size: 1.0714285714rem; line-height: 1.4; color: #fff; }
@media screen and (max-width: 1330px) { .header .header-box .header-mymenu .popup ul li a { padding: 10px; font-size: 0.8571428571rem; } }
@media screen and (max-width: 1170px) { .header .header-box .header-mymenu .popup ul li a { padding: 10px 5px; } }
.header .header-box .header-mymenu .popup ul li a:hover { text-decoration: underline; }
.header .header-box .header-register { width: 170px; background-color: #003c98; }
@media screen and (max-width: 1330px) { .header .header-box .header-register { width: 140px; } }
@media screen and (max-width: 1170px) { .header .header-box .header-register { width: 100px; } }
.header .header-box .header-register a { display: flex; align-items: center; width: 100%; height: 100%; text-decoration: none; padding-left: 35px; background: url("../img/common/register_i001.png") no-repeat right 25px center; font-size: 1.1428571429rem; line-height: 1.4; color: #fff; }
@media screen and (max-width: 1330px) { .header .header-box .header-register a { background-position: right 10px center; } }
@media screen and (max-width: 1170px) { .header .header-box .header-register a { padding-left: 10px; font-size: 0.8571428571rem; } }
.header .header-box .header-register a:hover { opacity: 0.7; }
.header .header-menu { display: none; }
@media screen and (max-width: 980px) { .header .header-menu { display: block; width: 80px; height: 80px; cursor: pointer; background-color: #003c98; } }
@media screen and (max-width: 767px) { .header .header-menu { width: 60px; height: 60px; } }
.header .header-menu p { position: relative; width: 60px; margin: 20px auto; padding-top: 20px; }
@media screen and (max-width: 767px) { .header .header-menu p { width: 45px; margin: 15px auto 10px; padding-top: 20px; } }
.header .header-menu span { position: absolute; left: 0; display: block; width: 100%; height: 3px; background-color: #fff; transition: all .4s; }
.header .header-menu span:nth-of-type(1) { top: 0; }
.header .header-menu span:nth-of-type(2) { bottom: 0; }
.header .header-menu .txt { text-align: center; font-weight: 100; color: #fff; }
@media screen and (max-width: 767px) { .header .header-menu .txt { font-size: 0.6428571429rem; } }
.header .header-menu .txt::before { content: 'MENU'; }

/* ==================================================================================================== SPメニュー
==================================================================================================== */
.nav-menu { z-index: 99999; display: none; position: fixed; top: 84px; left: 0; width: 100%; height: calc(100% - 84px); background-color: #fff; font-size: 1.1428571429rem; line-height: 1; }
@media screen and (max-width: 767px) { .nav-menu { top: 64px; height: calc(100% - 64px); } }
.nav-menu .nav-menu-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding-bottom: 20px; overflow-y: auto; }
.nav-menu .nav-menu-inner { position: relative; padding: 60px 0; }
@media screen and (max-width: 767px) { .nav-menu .nav-menu-inner { padding: 7.8226857888% 0; } }
.nav-menu .nav-login { margin-bottom: 30px; padding: 0 30px; }
@media screen and (max-width: 767px) { .nav-menu .nav-login { margin-bottom: 5.2151238592%; padding: 0 3.9113428944%; } }
.nav-menu .nav-login a { display: block; text-decoration: none; padding: 20px; background: #003c98 url("../img/common/arrow_b_i002.png") no-repeat right 25px center; text-align: center; color: #fff; border-radius: 40px; }
.nav-menu .nav-logout { padding: 0 30px; }
@media screen and (max-width: 767px) { .nav-menu .nav-logout { padding: 0 3.9113428944%; } }
.nav-menu .nav-logout a { display: block; text-decoration: none; padding: 20px; background: #A5A5A5 url("../img/common/arrow_b_i002.png") no-repeat right 25px center; text-align: center; color: #fff; border-radius: 40px; }
.nav-menu .nav-list { padding: 0 30px; }
@media screen and (max-width: 767px) { .nav-menu .nav-list { padding: 0 3.9113428944%; } }
.nav-menu .nav-list dl dt { margin-bottom: 30px; }
@media screen and (max-width: 767px) { .nav-menu .nav-list dl dt { margin-bottom: 5.2151238592%; } }
.nav-menu .nav-list dl dd ul a { padding-left: 40px; }
@media screen and (max-width: 767px) { .nav-menu .nav-list dl dd ul a { padding-left: 5.2151238592%; } }
.nav-menu .nav-list ul li { margin-bottom: 30px; }
@media screen and (max-width: 767px) { .nav-menu .nav-list ul li { margin-bottom: 5.2151238592%; } }
.nav-menu .nav-list ul li a { display: block; text-decoration: none; }
.nav-menu .nav-list ul li a:hover { text-decoration: underline; }
.nav-menu .nav-language { margin-top: 40px; padding: 40px 30px 0; border-top: 1px solid #000; }
@media screen and (max-width: 767px) { .nav-menu .nav-language { margin-top: 5.2151238592%; padding: 5.2151238592% 3.9113428944% 0; } }
.nav-menu .nav-language dt { margin-bottom: 20px; font-size: 1.2857142857rem; text-align: center; font-weight: 500; }
.nav-menu .nav-language dd ul { display: flex; justify-content: center; }
.nav-menu .nav-language dd ul li { margin-right: 20px; }
.nav-menu .nav-language dd ul li:last-child { margin-right: 0; }

.js-menuopen { overflow: hidden; }
.js-menuopen .header-menu span:nth-child(1) { transform: translateY(9px) rotate(-45deg); }
.js-menuopen .header-menu span:nth-child(2) { transform: translateY(-9px) rotate(45deg); }
.js-menuopen .nav-menu { display: block; }

/* ==================================================================================================== メインタイトル
==================================================================================================== */
.mainttl-sec { padding: 60px 0; background-color: #e6e6e6; font-size: 2rem; text-align: center; font-weight: normal; }
@media screen and (max-width: 767px) { .mainttl-sec { padding: 30px 0; font-size: 1.7142857143rem; } }

/* ==================================================================================================== フッタ－
==================================================================================================== */
.footer { border-top: 9px solid #003c98; }
.footer .footer-in { max-width: 1040px; margin: 0 auto; padding: 0 20px; }
@media screen and (max-width: 767px) { .footer .footer-in { padding: 0 3.9113428944%; } }
.footer .footer-main { padding: 35px 0 50px; background-color: #000; }
.footer .footer-main a { text-decoration: none; color: #fff; }
.footer .footer-main a:hover { text-decoration: underline; }
.footer .footer-main .footer-flex { display: flex; justify-content: space-between; margin-bottom: 30px; }
@media screen and (max-width: 980px) { .footer .footer-main .footer-flex { display: block; } }
@media screen and (max-width: 767px) { .footer .footer-main .footer-flex .footer-logo { text-align: center; } }
.footer .footer-main .footer-flex .fnav { display: flex; justify-content: flex-end; }
@media screen and (max-width: 980px) { .footer .footer-main .footer-flex .fnav { justify-content: flex-start; margin-top: 30px; } }
@media screen and (max-width: 767px) { .footer .footer-main .footer-flex .fnav { display: block; } }
.footer .footer-main .footer-flex .fnav ul { margin-right: 65px; }
@media screen and (max-width: 767px) { .footer .footer-main .footer-flex .fnav ul { display: flex; flex-wrap: wrap; margin-right: 0; } }
.footer .footer-main .footer-flex .fnav ul:last-child { margin-right: 0; }
.footer .footer-main .footer-flex .fnav ul li { margin-bottom: 15px; padding-left: 15px; background: url("../img/common/arrow_r_i001.png") no-repeat left top 0.2em; }
@media screen and (max-width: 767px) { .footer .footer-main .footer-flex .fnav ul li { width: 50%; } }
.footer .footer-main .footer-flex .fnav ul li:last-child { margin-bottom: 0; }
@media screen and (max-width: 767px) { .footer .footer-main .footer-flex .fnav ul li:last-child { margin-bottom: 15px; } }
.footer .footer-main .footer-link li { margin-bottom: 10px; }
.footer .footer-main .footer-link li:last-child { margin-bottom: 0; }
.footer .footer-main .footer-link li a { padding-right: 20px; background: url("../img/common/link_i001.png") no-repeat right center; }
.footer .footer-sub { padding: 15px 0 20px; background-color: #efefef; }
.footer .footer-sub .footer-flex { display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; }
@media screen and (max-width: 767px) { .footer .footer-sub .footer-flex { display: block; } }
.footer .footer-sub .footer-flex .footer-banner { display: flex; justify-content: flex-end; }
@media screen and (max-width: 767px) { .footer .footer-sub .footer-flex .footer-banner { justify-content: center; margin-bottom: 20px; } }
.footer .footer-sub .footer-flex .footer-banner p:first-child { margin-right: 50px; }
@media screen and (max-width: 767px) { .footer .footer-sub .footer-flex .copy { text-align: center; } }

.opacity:hover { opacity: 0.7; }

/* ==================================================================================================== フォント
==================================================================================================== */
.font-rbt { font-family: 'Roboto', sans-serif; }

.font-min { font-family: 'Noto Serif JP', serif; }

/* ==================================================================================================== 共通
==================================================================================================== */
/*　レイアウト　*/
.none { display: none !important; }

@media screen and (max-width: 767px) { .sp_inline { display: inline !important; } }

@media screen and (max-width: 767px) { .sp_none { display: none !important; } }

.mt20 { margin-top: 20px; }
@media screen and (max-width: 767px) { .mt20 { margin-top: 0; } }

@media screen and (max-width: 767px) { .sp_mt10 { margin-top: 10px; } }

.align_r { text-align: right !important; }

.align_l { text-align: left !important; }

.no-tel { text-decoration: none; pointer-events: none; }

.lh_l { line-height: 1.8; }

.smaller { font-size: 0.8571428571rem; }

.section { margin-top: 70px; }
.section:first-child { margin-top: 0; }
.section div { margin-top: 50px; }
.section a { text-decoration: none; }

.contact-scroll-note { overflow: auto; height: 16em; margin-top: 40px; margin-bottom: 60px; padding: 40px 50px; background-color: #eaf2fb; }
@media screen and (max-width: 767px) { .contact-scroll-note { height: 15em; } }

/*　テキスト　タイトル　*/
.c-heading-lv2 { margin-bottom: 25px; font-size: 1.2857142857rem; font-weight: 500; }

.c-heading-lv3 { margin-bottom: 20px; font-size: 1.2rem; font-weight: 500; }

.c-heading-lv4 { margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #e6e6e6; font-size: 1.1428571429rem; font-weight: 500; }

.c-heading-lv6 { margin-top: 30px; margin-bottom: 20px; font-weight: 700; }

.cmn-lead { position: relative; margin-bottom: 100px; font-size: 1.1428571429rem; color: #505050; }
.cmn-lead::before { content: ''; position: absolute; bottom: -50px; left: 50%; margin-left: -82px; width: 164px; height: 1px; background-color: #003c98; }

.cmn-txt { margin-bottom: 30px; font-size: 1.2857142857rem; font-weight: 500; color: #505050; }

.c-list-dot li { padding-left: 1rem; text-indent: -1rem; }
.c-list-dot li::before { content: '・'; }


.c-list-decimal_03 > li { margin-left: 1.6em; counter-increment: decimal_03; text-indent: -1.6em; }
.c-list-decimal_03 > li:before { content: "(" counter(decimal_03) ")"; padding-right: .4em; }
.c-list-decimal_03 > li > * { text-indent: 0; }




/*　テーブル　*/
.table-form { width: 100%; margin: 25px 0; border-top: 1px solid #e8e8e8; font-size: 1rem; font-weight: 500; color: #505050; }
.table-form input[type=text], .table-form input[type=email], .table-form input[type=password], .table-form select, .table-form textarea { border: none; border-radius: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 100%; }
.table-form input[type=text], .table-form input[type=email], .table-form input[type=password], .table-form textarea { width: 100%; padding: 10px 20px; background: #f5f5f5; }
.table-form textarea { height: 150px; }
.table-form label + label { margin-left: 50px; display: inline-block; }
.table-form input[type="radio"] { padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; vertical-align: bottom; line-height: 1; position: relative; width: 16px; height: 16px; vertical-align: -0.2em; margin: auto 10px auto 0; }
.table-form input[type="radio"] { border: 1px solid #505050; border-radius: 30px; background: #ffffff; }
.table-form input[type="radio"]:checked:after { content: ""; position: absolute; top: 50%; left: 2px; -moz-box-sizing: border-box; box-sizing: border-box; display: block; }
.table-form input[type="radio"]:checked:after { width: 10px; height: 10px; margin-top: -5px; background: #ff0028; border-radius: 30px; }
.table-form th, .table-form td { text-align: left; border-bottom: 1px solid #e8e8e8; }
@media screen and (max-width: 767px) { .table-form th, .table-form td { display: block; width: 100%; } }
.table-form th { width: 246px; vertical-align: middle; font-weight: 500; }
@media screen and (max-width: 767px) { .table-form th { width: 100%; padding: 20px 0 0; border-bottom: none; } }
.table-form th span { margin-left: 5px; }
.table-form th span.icn-req { color: #ff0028; }
.table-form th span.icn-opt { color: #888; }
.table-form td { padding: 20px 0; }

.c-table th, .c-table td { padding: 0 5px; text-align: center; vertical-align: middle; font-size: 86%; line-height: 1.714; border: 1px solid #d5d5d5; }
.c-table th { background-color: #f7f7f7; }

.c-table-privacy tr, .c-table-privacy td { text-align: left; }
@media screen and (max-width: 767px) { .c-table-privacy tr, .c-table-privacy td { display: block; border: none; } }
.c-table-privacy td { padding: 10px; }
@media screen and (max-width: 767px) { .c-table-privacy td { padding: 5px; } }

/*　ボタン　*/
.form-btn { width: 52.5%; margin: 70px auto 0; }
@media screen and (max-width: 767px) { .form-btn { width: 100%; } }
.form-btn li { margin-bottom: 30px; }
.form-btn li:last-child { margin-bottom: 0; }
.form-btn li .c-btn { width: 100%; padding: 30px 40px; border: none; background: #003c98 url("../img/common/arrow_b_i001.png") no-repeat right 40px center; font-size: 1.2857142857rem; font-weight: 500; color: #fff; text-align: center; line-height: 1; border-radius: 40px; cursor: pointer; }
@media screen and (max-width: 767px) { .form-btn li .c-btn { padding: 20px; font-size: 1.1428571429rem; } }
.form-btn li .c-btn:hover { opacity: 0.7; }
.form-btn li .c-btn-gray { background-color: #666666; }

.clearfix { zoom: 1; }
.clearfix::before { content: ""; display: table; }
.clearfix::after { content: ""; display: table; clear: both; }

.w100 { width: 100%; }

.mat40 { margin-top: 40px !important; }

.mab10 { margin-bottom: 10px !important; }

.mab60 { margin-bottom: 60px !important; }

.mab80 { margin-bottom: 80px !important; }

/*# sourceMappingURL=style.css.map */
