@charset "utf-8";
/* CSS Document */

body { font-family: YakuHanJP, 'Noto Sans JP', 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif!important; background-color: #fff; position: relative; font-size: 14px; line-height: 1.7; }
html,body { padding: 0; margin: 0; }
/*
nav:not(.mm-menu) { display: none; }
*/
a { text-decoration: none; }
h1 { margin: 0; }
xmp { overflow: hidden; }









#page { padding: 134.667px 0 0; }
@media (max-width: 1020px) {
#page { padding: 52px 0 0; }
}


section h2 { font-size: 32px; line-height: 1.3; font-weight: 900; }

@media (max-width: 768px) {
section h2 { font-size: 22px; line-height: 1.4; text-align: left; font-weight: 900; }
}







section.sale { padding: 7px 15px; background: #E02C38; background: red; background: #F7F7F7; margin: 0 auto; /*max-width: 2107px; max-width: 2092px; max-width: 1932px;*/ }
section.sale ul { display: flex; justify-content: center; align-items: center; list-style-type: none; margin: 0; padding: 0; }
section.sale ul li { display: flex; justify-content: center; align-items: center; line-height: 1; margin: 0px 5px; }

section.sale .name { color: #010741; font-size: 22px; font-weight: 900; color: black; }
section.sale .benefit { /*color: white;*/ font-size: 20px; font-weight: 500; font-size: 14px; font-weight: 500; }
section.sale .benefit b { font-size: 36px; margin: 0 2px 0 4px; font-family: "din-2014",sans-serif; }
section.sale .deadline { color: #010741; font-size: 20px; font-weight: 900; color: black; display: block; }
section.sale .deadline small { font-size: 14px; display: block; margin: 0 0 3px; }
@media screen and (max-width:768px) {
section.sale ul { flex-wrap: wrap; }
	section.sale { padding: 10px 15px; }
	section.sale .name { font-size: 18px; }
	section.sale .benefit { font-size: 14px; }
	section.sale .deadline { padding-top: 5px; font-size: 18px; text-align: center; }
}












/* ご利用の流れ */

section.flow { }
section.flow .container { margin: 0 auto; padding: 60px 15px 60px; border-bottom: 1px solid #e8e8e8; }
section.flow h2 small { display: block; margin-top: 15px; font-size: 20px; line-height: 1.5; text-align: center; font-weight: 600; }
section.flow .row { margin: 0 auto 20px; padding: 0; max-width: 1020px; }
section.flow .row > div[class^="col"] { padding-right: 25px; padding-left: 25px; position: relative; }
section.flow .row > div[class^="col"]:not(:last-child)::after { display: block; width: 40px; height: 40px; position: absolute; right: -50px; top: 40px; font-size: 40px; line-height: 60px; content: "\f105"; font-family: FontAwesome; color: #e6e6e6; }

section.flow .row > div[class^="col"] .flow_icon { margin: 0 auto 15px; text-align: center; }
section.flow .row > div[class^="col"].used .icon { padding-top: 21px; }
section.flow h3 { margin: 0 0 15px; font-size: 22px; font-weight: 900; text-align: center; line-height: 1.1; }
section.flow h3 small { display: block; font-size: 16px; padding: 0 0 5px; color: #bbb; display: none; }
section.flow p {  }


@media screen and (max-width: 767px) {
section.flow .container { padding: 50px 15px 40px; }
section.flow h2 small { font-size: 18px; line-height: 1.5;  }
section.flow .row > div[class^="col"]:not(:last-child)::after { display: none; }
section.flow .row > div[class^="col"] { padding-right: 15px; padding-left: 15px; position: relative; }
section.flow h3 { font-size: 18px; }
section.flow p {  }

}




/* ご利用ガイド */

section.guide { }
section.guide .container { margin: 0 auto; padding: 60px 15px 20px; }
section.guide h3 { margin: 30px 0 0px; text-align: center; font-size: 30px; font-weight: 800; }
section.guide .row { margin-top: -30px; padding-bottom: 60px; overflow: hidden; }

section.guide .row .col-sm-4 { padding: 0 30px; }
@media screen and (max-width:768px) {
section.guide .row .col-sm-4 { padding: 0; }
}


section.guide h4 { margin: 30px 0 15px; padding: 0 0 15px; text-align: left; font-size: 18px; border-bottom: 1px solid #EAECEE; font-weight: 700; }

@media screen and (max-width:768px) {
section.guide h4+div { padding-bottom: 30px; }
}

section.guide h5 { margin: 0 0 5px; font-size: 14px; line-height: 1.6; font-weight: 600; }
section.guide p { font-size: 13px; line-height: 1.6; }
section.guide .btm_0 { margin-bottom: 0; }
section.guide img { margin-bottom: 10px; }
section.guide .ccard { margin-right: 5px; }
section.guide .ccard:last-child { margin-right: 0; }
section.guide .list_notice li { padding-bottom: 3px; font-size: 12px; line-height: 1.5; }
section.guide .list_notice li::before { margin-left: -16px; content: "※"; padding-right: 4px; font-size: 12px; }

@media screen and (max-width:768px) {
section.guide h4 { text-align: left; }
}


@media screen and (max-width:768px) {
section.guide .row { margin: 0; }
section.guide h4+div { display: none; }

section.guide h4 { position: relative; margin: 0px 0 15px; padding: 0 0 10px; font-size: 16px; font-weight: normal; }

section.guide h4::after {
  position: absolute;
  right: 10px;
  font-family: FontAwesome;
  content: '\f107';
  text-align: center;
  width: 24px;
  height: 24px;
  display: inline-block;
  -webkit-transition: -webkit-transform .3s ease;
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease;
  font-size: 18px;
}
section.guide h4.active::after {
    -webkit-transform: rotate(180deg) scale(1.0);
    -ms-transform: rotate(180deg) scale(1.0);
    transform: rotate(180deg) scale(1.0);
}
}










.btn { padding: 13px 20px; border-radius: 100px; font-size: 15px; font-weight: 500; /*min-height: 50px;*/ text-wrap: nowrap; text-decoration: none!important; }
.btn.disabled, .btn:disabled { opacity: 0.3; }
.btn.btn_sm { padding: 5px 15px; font-size: 13px; min-height: 36px; }

.btn.btn_order { padding-top: 13px; padding-bottom: 13px; color: #FFF; background-color: red; border-color: red; font-size: 15px; border-radius: 100px; }

.btn.btn_order:hover { opacity: 0.8; background-color: red; border-color: red; }
.btn.btn_order.disabled { opacity: 0.3; }

.btn.btn_cont { background: white; border-color: #0d6efd; color: #0d6efd;  }
.btn.btn_cont:hover { opacity: 0.8; }

.btn.btn_next { background: #0d6efd; border-color: #0d6efd; color: white; }
.btn.btn_next:hover { opacity: 0.8; }

.btn.btn_back { background: #999; border-color: #999; color: white; }
.btn.btn_back:hover { opacity: 0.8; }

select:disabled { cursor: default; }











/* ※リスト */

.list_notice { margin-left: 16px; padding: 0; }
.list_notice li { margin: 0; padding: 0; list-style-type: none; font-size: 14px; line-height: 1.6; }
.list_notice li::before { margin-left: -16px; content: "※"; padding-right: 4px; font-size: 14px; }

.list_notice.s { margin-left: 14px; padding: 0; }
.list_notice.s li { margin: 0; padding: 0; list-style-type: none; font-size: 12px; line-height: 1.3; }
.list_notice.s li::before { margin-left: -16px; content: "※"; padding-right: 4px; font-size: 12px; }





/* 標準テーブル */

.std_tbl { margin: 0 0 15px; border-left: 1px solid #ddd; border-top: 1px solid #ddd; }
.std_tbl th { padding: 8px 15px; border-bottom: 1px solid #ddd; border-right: 1px solid #ddd; background-color: #f6f6f6; font-weight: normal; text-align: revert; }
.std_tbl td { padding: 8px 15px; border-bottom: 1px solid #ddd; border-right: 1px solid #ddd; }
.std_tbl td b {  }






/* 角丸いテーブル */

.kadomaru_tbl { margin: 0 0 15px; border-radius: 14px; border-spacing: 0; border: none; border-left: 1px solid #ddd; border-top: 1px solid #ddd; border-collapse: inherit; }
.kadomaru_tbl th { padding: 7px 15px; border: none; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; background-color: #f6f6f6; font-weight: normal; text-align: revert-layer; }
.kadomaru_tbl td { padding: 7px 15px; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; }
.kadomaru_tbl tr:first-child>*:first-child { border-radius: 14px 0 0 0; }
.kadomaru_tbl tr:first-child>*:last-child { border-radius: 0 14px 0 0; }
.kadomaru_tbl tr:last-child>*:first-child{ border-radius: 0 0 0 14px; }
.kadomaru_tbl tr:last-child>*:last-child{ border-radius: 0 0 14px 0; }
.kadomaru_tbl + .point { border-radius: 0 0 14px 14px; }

@media screen and (max-width:768px) {
	.kadomaru_tbl th { padding: 5px 10px; font-size: 14px; line-height: 1.5; }
	.kadomaru_tbl td { padding: 5px 10px; font-size: 14px; line-height: 1.5; }
}





/* セパレーター */

hr { background: none; opacity: inherit; border: none; border-bottom: 1px solid #ddd; }






/* パンくず */

section.breadcrum { border-top: 1px solid #eee; }
section.breadcrum .container { /*max-width: 1140px;*/ padding: 10px 15px; }
section.breadcrum ul { list-style: none; padding: 0; margin: 0; font-size: 14px; display: flex; }
section.breadcrum a { text-decoration: none; color: #ccc; font-weight: 400; }
section.breadcrum a:hover { text-decoration: underline; color: #0d6efd; }
section.breadcrum li { color: #ccc; padding-right: 0; }
section.breadcrum li::before { font-weight: normal; margin-left: 0; }
section.breadcrum li::before { content: "\f105"; width: 1em; height: 1em; line-height: 1; text-align: center; font-size: 1em; font-weight: 400; color: #ccc; margin: 0 8px; position: static; top: 50%; right: 0; font-family: FontAwesome; }
section.breadcrum li:first-of-type::before{ display: none; }

@media screen and (max-width:768px) {
section.breadcrum ul { font-size: 12px; }
}










.footer_link { background: #F7F7F7; }
.footer_link .container { /*max-width: 1140px;*/ margin: 0 auto; padding: 60px 15px 20px; }
.footer_link h5 { margin: 0 0 10px; font-size: 12px; font-weight: 400; line-height: 1.5; }
.footer_link p:first-of-type { margin-bottom: 5px; }
.footer_link p:last-of-type { display: none; }
.footer_link a { color: black; text-decoration: none; }
.footer_link a:hover { color: #0d6efd; text-decoration: underline; }
.footer_link li { line-height: 2; font-size: 13px; }
.footer_link img { border-radius: 4px; border: 1px solid #ddd; }

@media screen and (max-width:768px) {
.footer_link { display: none; }
}


footer { padding: 40px 15px 100px; text-align: center; /*background-color: #eee;*/ background: #F7F7F7; }
footer .mp_logo { margin-bottom: 20px; }
footer .company { margin-bottom: 3px; font-size: 13px; }
footer .address { margin-bottom: 15px; font-size: 13px; }
footer .mp_logo img { width: 220px; }
footer .bj_logo { margin-bottom: 40px; font-size: 13px; }
footer .bj_logo img { margin: 0 5px; }
footer .link { margin-bottom: 0; padding: 0; list-style-type: none; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
footer .link li { display: inline-block; padding: 0 10px; line-height: 2; }
footer .link a { text-decoration: none; color: #333; font-size: 13px; }
footer .link a:hover { color: #0d6efd; text-decoration: underline; }
footer .copyright { font-size: 11px; letter-spacing: 0.1rem; }

footer .sns { margin: 0 0 20px; }
footer .sns p { margin: 0 0 8px; font-size: 12px; }
footer .sns p:last-of-type { display: flex; justify-content: center; align-items: center; column-gap: 13px; }
footer .sns img { height: 20px; width: auto; }
footer .sns a { color: black; font-size: 16px; }

@media screen and (max-width:768px) {
footer { padding: 50px 15px; }
footer .mp_logo img { width: 220px; }
footer .link { display: block; border-top: 1px solid #ccc; }
footer .link li { display: block; border-bottom: 1px solid #ccc; text-align: left; }
footer .link a { display: block; padding: 15px 0; }
}





/* GOTO TOP */

#gotop { position: fixed; right: 30px; bottom: 50px; /*display: none;*/ z-index: 1000; }
#gotop a { display: block; background: url("../images/ic_goto_top.png") no-repeat left top; background-size: 100%; width: 60px; height: 60px; text-indent: -99em; overflow: hidden; transition: all .25s ease; }
#gotop a:hover { opacity: 0.7; }


@media (max-width: 768px) {
#gotop { position: fixed; right: 20px; bottom: 20px; }
#gotop a { display: block; background: url("../images/ic_goto_top.png") no-repeat left top; background-size: 100%; width: 40px; height: 40px; text-indent: -99em; overflow: hidden; transition: all .25s ease; }
}





.br-pc {display: block; }
.br-sp {display: none; }
._pc_none { display: none; }
._sp_none { display: initial; }
@media screen and (max-width:768px) {
.br-pc {display: none; }
.br-sp {display: block; }
._pc_none { display: block; }
._sp_none { display: none; }
}


.annotation { margin-left: 1.5rem; padding: 0; }
.annotation li { margin: 0; padding: 0 0 3px; list-style-type: none; line-height: 1.4; font-size: 14px; }
.annotation li::before { margin-left: -1.6rem; content: "※"; padding-right: 0.2rem; }















.g-menu__link { }
.g-menu__item { position: relative; }
.g-menu__dropdown-menu { opacity: 0; pointer-events: none; position: absolute; top: 100%; left: -150px;  }

.g-menu__item:hover .g-menu__dropdown-menu { opacity: 1; pointer-events: auto; transition: .5s; }

/*
.g-menu__dropdown-menu .in { background: white; width: auto; list-style-type: none; display: block!important; padding: 20px 20px 20px 20px; border-radius:  10px 10px; border: 3px solid #1F65A8; white-space: nowrap; margin-top: 16px; box-shadow: 0 10px 10px 0 rgba(0, 0, 0, .5); }
*/
.g-menu__dropdown-menu .in { background: white; width: auto; list-style-type: none; display: flex; /*justify-content: center;*/
/*  align-items: center;*/ gap: 30px; padding: 50px 60px 60px 60px; border-radius: 10px; /*white-space: nowrap;*/ margin-top: 35px; 
	box-shadow: 0 0px 10px 0 rgba(0, 0, 0, .5); 
	box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1); 
	box-shadow: 2px 4px 12px rgba(0,0,0,.08); 
	box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1); 
	flex-wrap:wrap; }

.g-menu__dropdown-menu .in > div { display: flex; }

.g-menu__dropdown-menu a { display: block; padding: 10px 40px 10px 0; }
.g-menu__dropdown-menu a:hover { border: none!important; }
.g-menu__dropdown-menu a.scd { padding-left: 1rem!important; }
.g-menu__dropdown-menu i { color: #1F65A8; margin-right: 5px; }

header .global_menu ul.menu .dd_items { line-height: 1.5; }
header .global_menu ul.menu .dd_items li div { background: #fafafc; background: #f6f6f6; border-radius: 7px; text-align: center; }
header .global_menu ul.menu .dd_items li div a { padding: 10px 0 15px; width: 130px; color: #006DD9; color: black; line-height: 1.4; }
header .global_menu ul.menu .dd_items li div a:hover { opacity: 0.7; text-decoration: underline; }
header .global_menu ul.menu .dd_items li div a img { width: 70px; height: auto; }
header .global_menu ul.menu p.title { font-size: 16px!important; font-weight: 900; margin: 0 0 15px!important; padding: 0!important; }
header .global_menu ul.menu p.title a { font-size: 16px!important; font-weight: 900; margin: 0 0 15px!important; padding: 0!important; }























.modal.fade.show { /*display: flex!important; justify-content: center; align-items: center;*/ }
/*
.modal-backdrop.fade { opacity: 0.6; }
*/
.modal-backdrop { background-color: rgba(0, 0, 0, 0.48) !important; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.modal-backdrop.show { opacity: 1 !important; }
.modal-content { border-radius: 14px; color: black; }
.modal-header { padding: 20px 30px 20px; }
.modal-title { font-size: 16px; }
.modal .modal-body { line-height: 1.7; padding: 25px 30px; }
@media screen and (max-width:768px) {
.modal .modal-body { padding: 25px 20px; }
}

.modal h4 { text-align: center; font-weight: bold; font-size: 15px; }
.modal .modal-body figure { text-align: center; }
.modal .modal-body p { font-size: 14px; line-height: 1.5; }
.modal .modal-body .image { width: 100%; height: 80px; background: #eee; border-radius: 4px; text-align: center; }
.modal .modal-body .image img { max-width: 80px; height: auto; }
.modal .modal-body table { margin: 0 0 30px; font-size: 14px; line-height: 1.5; border-top: 1px solid #ddd; }
.modal .modal-body table th { padding: 5px 10px; border-bottom: 1px solid #ddd; }
.modal .modal-body table td { padding: 5px 10px; border-bottom: 1px solid #ddd; }


.modal .modal-body table.anshin { margin: 0 0 30px; font-size: 14px; line-height: 1.5; }
.modal .modal-body table.anshin th { padding: 5px 10px; border: 1px solid #ddd; text-align: center; font-weight: normal; background: #eee; }
.modal .modal-body table.anshin td { padding: 5px 10px; border: 1px solid #ddd; }

.modal .modal-body p:last-of-type { margin-bottom: 2rem; display: -webkit-box; -webkit-box-orient: vertical; }

.modal .modal-body .name { margin-bottom: 2rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; /*height: 39px;*/ }

.modal .btn-default { width: 100%; padding: 10px; color: #0066CC; border-color: #0066CC; border-radius: 100px; }
.modal .btn-default:hover { color: white; background-color: #0066CC; }
.modal .marker { background: linear-gradient(transparent 60%, #ff6 60%); }
.modal .label { background: none; border: 1px solid #333; border-radius: 2px; color: black; }
.modal .waku { margin-bottom: 20px; }
.modal .waku .waku_header { padding: 8px 15px 6px; text-align: center; background-color: #ddd; border-radius: 14px 14px 0 0; }
.modal .waku .waku_body { padding: 15px; border: 1px solid #ddd; border-top: none; border-radius: 0 0 14px 14px; }
.modal .waku p:last-of-type { margin-bottom: 0; }
.modal .waku ul { margin-bottom: 0; padding-left: 20px; }




.modal.feature_img .modal-body { padding: 0; }










.next_show { position: relative; }
.next_show::before { content: "さらに表示"; }
.next_show::after { position: absolute; font-family: FontAwesome; content: '\f107'; text-align: center; display: inline-block;
  -webkit-transition: -webkit-transform .3s ease; transition: -webkit-transform .3s ease; transition: transform .3s ease; transition: transform .3s ease, -webkit transform .3s ease; font-size: 18px; color: black; right: -16px; top: -4px; }
.next_show.active::before { content: "閉じる"; }
.next_show.active::after { -webkit-transform: rotate(180deg) scale(1.0); -ms-transform: rotate(180deg) scale(1.0); transform: rotate(180deg) scale(1.0); }










.show_hide { transition: 0.5s; }
.show_hide.hide { transform:translateY(-60px); }






