@charset "UTF-8";
/* ==================================================

	basic settings

================================================== */
h1, h2, h3, h4, h5, h6, p, li, pre, td, th, dt, dd { line-height: 1.8; }

/* basic line-height */
a { color: #004db6; }

a:link { text-decoration: underline; }

a:hover { text-decoration: none; }

a:hover img { opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha( opacity=70)"; }

/* code set

-------------------------------------------------- */
pre, code, kbd, samp, var, .font_mono { font-size: 1.3rem; line-height: 1.5; }

pre { box-sizing: border-box; width: 100%; padding: 10px; border: 1px solid #ddd; background-color: #f4f4f4; overflow-x: auto; }

/* ==================================================

	RWD layout settings

================================================== */
.show_sp, .show_pc { display: none !important; }

/* SP

-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .show_sp { display: block !important; } }

/* ========== end △ */
/* PC

-------------------------------------------------- */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .show_pc { display: block !important; } }

/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .pc_none, .sp { display: none !important; } }

/* ========== end △ */
/* SPのみ非表示

-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .sp_none, .pc { display: none !important; } }

/* ========== end △ */
/* 印刷時のみ非表示

-------------------------------------------------- */
/* ▽ PRINT layout ========== */
@media print { .print_none { display: none !important; } }

/* ========== end △ */
/* ==================================================

	layout

================================================== */
/* clearfix

-------------------------------------------------- */
.clearfix::after { content: ""; display: block; clear: both; }

/* float

-------------------------------------------------- */
.flr { float: right; }

.fll { float: left; }

/* overflow

-------------------------------------------------- */
.ofh { overflow: hidden; }

/* ==================================================

	width

================================================== */
.w10p { width: 10% !important; }

.w20p { width: 20% !important; }

.w25p { width: 25% !important; }

.w30p { width: 30% !important; }

.w40p { width: 40% !important; }

.w50p { width: 50% !important; }

.w60p { width: 60% !important; }

.w70p { width: 70% !important; }

.w80p { width: 80% !important; }

.w90p { width: 90% !important; }

.w100p { width: 100% !important; }

/* ==================================================

	margin

================================================== */
/* margin-top

-------------------------------------------------- */
.mt05 { margin-top: 5px !important; }

.mt10 { margin-top: 10px !important; }

.mt20 { margin-top: 20px !important; }

.mt30 { margin-top: 30px !important; }

/* margin-bottom

-------------------------------------------------- */
.mb05 { margin-bottom: 5px !important; }

.mb10 { margin-bottom: 10px !important; }

.mb20 { margin-bottom: 20px !important; }

.mb30 { margin-bottom: 30px !important; }

.mb30_15 { margin-bottom: 15px !important; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .mb30_15 { margin-bottom: 30px !important; } }

/* ========== end △ */
.mb50_30 { margin-bottom: 30px !important; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .mb50_30 { margin-bottom: 50px !important; } }

/* ========== end △ */
/* margin-right

-------------------------------------------------- */
.mr05 { margin-right: 5px !important; }

.mr10 { margin-right: 10px !important; }

.mr20 { margin-right: 20px !important; }

.mr30 { margin-right: 30px !important; }

/* margin-left

-------------------------------------------------- */
.ml05 { margin-left: 5px !important; }

.ml10 { margin-left: 10px !important; }

.ml20 { margin-left: 20px !important; }

.ml30 { margin-left: 30px !important; }

/* ==================================================

	text

================================================== */
/* color

-------------------------------------------------- */
.color_red { color: #F17474 !important; }

.color_green { color: #5db430 !important; }

.color_blue { color: #7CC7ED !important; }

/* font-family

-------------------------------------------------- */
.font_basic { font-family: "游ゴシック体", "游ゴシック", "YuGothic", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif; }

/* font-size

-------------------------------------------------- */
.fs12 { font-size: 1.2rem; }

.fs13 { font-size: 1.3rem; }

.fs14 { font-size: 1.4rem; }

.fs16 { font-size: 1.6rem; }

.fs18 { font-size: 1.8rem; }

.fs20 { font-size: 2.0rem; }

.fs24 { font-size: 2.4rem; }

/* font-weight

-------------------------------------------------- */
.bold { font-weight: bold !important; }

/* text-align

-------------------------------------------------- */
.tac { text-align: center !important; }

.tar { text-align: right !important; }

.tal { text-align: left !important; }

/* text-decoration

-------------------------------------------------- */
a.tdn { text-decoration: none; }

a.tdn:hover { text-decoration: underline; }

/* vertical-align

-------------------------------------------------- */
.vat { vertical-align: top !important; }

.vam { vertical-align: middle !important; }

.vab { vertical-align: bottom !important; }

/* text-indent

-------------------------------------------------- */
.indent { display: block; padding-left: 1em !important; text-indent: -1em !important; }

/* scroll table text

-------------------------------------------------- */
.txt_scroll_x { margin: 15px 10px 5px 0; font-size: 1.4rem; font-weight: bold; text-align: center; }

.txt_scroll_x .fa { margin-right: 5px; color: #F17474; font-size: 2.4rem; vertical-align: middle; }

/* txt_mb_area

-------------------------------------------------- */
.txt_mb_area > * { margin-top: 20px; }

.txt_mb_area > *:first-child { margin-top: 0; }

/* ==================================================

	image

================================================== */
/* pic

-------------------------------------------------- */
.pic img { max-width: 100%; height: auto; }

/* hover fade

-------------------------------------------------- */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { /* ▽ PC-TAB layout ========== */ }

@media print, screen and (min-width: 768px) and (min-width: 768px) { .fadeout { transition: all 0.3s ease; }
  .fadeout:hover { opacity: 0.6; } }

@media print, screen and (min-width: 768px) { /* ========== end △ */ }

/* ========== end △ */
/* icon zoom

-------------------------------------------------- */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .ico_zoom a { display: block; position: relative; }
  .ico_zoom a:before { box-sizing: border-box; content: "\f00e"; position: absolute; right: 10px; bottom: 10px; width: 30px; height: 30px; padding-top: 5px; background-color: #1A1A1C; border-radius: 15px; color: #fff; font-size: 1.6rem; font-family: FontAwesome; text-align: center; } }

/* ========== end △ */
/* ==================================================

	list

================================================== */
/* indent

-------------------------------------------------- */
.list_indent li { padding-left: 1em; text-indent: -1em; }

/* list mark

-------------------------------------------------- */
.list_mark_disc > li { position: relative; margin-top: 10px; padding-left: 1em; }

.list_mark_disc > li:first-child { margin-top: 0; }

.list_mark_disc > li::before { content: "・"; position: absolute; top: 0; left: 0; }

/* ==================================================

	dl

================================================== */
/* basic

-------------------------------------------------- */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .dl_style > dd { margin-left: 1em; } }

/* ========== end △ */
/* inline

-------------------------------------------------- */
.dl_inline dt, .dl_inline dd { display: inline-block; vertical-align: middle; }

/* table

-------------------------------------------------- */
.dl_table_style { border-top: 1px solid #ddd; border-left: 1px solid #ddd; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .dl_table_style { display: table; width: 100%; border-spacing: 0; word-wrap: break-word; word-break: break-all; }
  .dl_table_style > dl { display: table-row; }
  .dl_table_style > dl > dt, .dl_table_style > dl > dd { display: table-cell; vertical-align: top; } }

/* ========== end △ */
.dl_table_style > dl > dt, .dl_table_style > dl > dd { box-sizing: border-box; margin: 0; padding: 10px; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .dl_table_style > dl > dt, .dl_table_style > dl > dd { border-top: none; } }

/* ========== end △ */
.dl_table_style > dl > dt { min-width: 120px; background-color: #f4f4f4; font-weight: normal; }

.dl_table_style > dl > dd { font-size: 1.3rem; }

.dl_table_style.dl_vam > dl > dt, .dl_table_style.dl_vam > dl > dd { vertical-align: middle; }

/* example

-------------------------------------------------- */
.dl_example { padding: 15px 0; border-top: 4px solid #7CC7ED; border-bottom: 1px solid #7CC7ED; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .dl_example { padding-left: 30px; border-top: none; border-bottom: none; border-left: 4px solid #7CC7ED; } }

/* ========== end △ */
.dl_example > dt { font-size: 1.6rem; font-weight: bold; }

.dl_example > dd { padding-left: 10px; }

/* ==================================================

	table

================================================== */
/* default

-------------------------------------------------- */
.table_style caption { padding: 5px 0; background-color: #000; color: #fff; font-weight: bold; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .table_style caption { padding: 8px 0; font-size: 1.6rem; } }

/* ========== end △ */
.table_style th, .table_style td { padding: 3px 5px; border: 1px solid #ddd; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .table_style th, .table_style td { font-size: 1.2rem; } }

/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .table_style th, .table_style td { padding: 5px 10px; } }

/* ========== end △ */
.table_style th { background-color: #f4f4f4; font-weight: normal; }

.table_style td { padding: 10px; font-size: 1.3rem; }

.table_style thead th { font-weight: bold; text-align: center; }

/* SP scroll table

-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .rwd_table_wrap { width: 100%; height: auto; overflow-x: auto; -webkit-overflow-scrolling: touch; } }

/* ========== end △ */
/* ==================================================

	box

================================================== */
.tips_box, .caution_box { padding: 15px; border-top: 5px solid; font-size: 1.3rem; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .tips_box, .caution_box { border-top: none; border-left: 5px solid; } }

/* ========== end △ */
.tips_box .ttl, .caution_box .ttl { margin-bottom: 10px; font-size: 1.6rem; font-weight: bold; }

/* tips

-------------------------------------------------- */
.tips_box { border-color: #ddd; background-color: #f4f4f4; }

/* caution

-------------------------------------------------- */
.caution_box { border-color: #ffd1d1; background-color: #fff1f1; }

/* quote

-------------------------------------------------- */
.quote_box blockquote { position: relative; margin-bottom: 10px; padding: 30px 5% 30px; background-color: #f4f4f4; line-height: 1.5; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .quote_box blockquote { padding: 20px 40px 20px; } }

/* ========== end △ */
.quote_box blockquote::before, .quote_box blockquote::after { position: absolute; color: #ccc; font-family: FontAwesome; font-size: 1.6rem; line-height: 1.0; }

.quote_box blockquote::before { content: "\f10d "; top: 10px; left: 10px; }

.quote_box blockquote::after { content: "\f10e "; right: 10px; bottom: 8px; }

.quote_box .source { font-size: 1.3rem; text-align: right; }

/* definition

-------------------------------------------------- */
.definition_box { padding: 10px 0; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .definition_box { padding-left: 30px; border-left: 4px solid #5db430; } }

/* ========== end △ */
.definition_box .tit { margin-bottom: 10px; font-size: 1.6rem; font-weight: bold; }

/* comment

-------------------------------------------------- */
.comment_gon { display: block; padding: 8px 15px; border: 3px solid #ffe070; border-radius: 5px; background-color: #fff4cc; }

.comment_gon dt { font-weight: bold; }

/* ==================================================

	button

================================================== */
/* default

-------------------------------------------------- */
.btn_style { width: 60%; margin-right: auto; margin-left: auto; }

.btn_style a { display: block; padding: 15px 0; border-radius: 5px; background-color: #2a2a2a; color: #fff; font-size: 1.8rem; font-weight: bold; text-decoration: none; text-align: center; transition: all 0.2s ease; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .btn_style a:hover { background-color: #f68787; } }

/* ========== end △ */
/* accordion

-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .ac_btn_sp { position: relative; padding-right: 1em; }
  .ac_btn_sp::before { content: "\f0fe"; display: block; position: absolute; top: 50%; right: 0px; margin-top: -0.5em; font-family: FontAwesome; }
  .ac_btn_sp.open::before { content: "\f146"; } }

/* ========== end △ */
.ac_body_sp { display: none; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .ac_body_sp { display: block !important; } }

/* ========== end △ */
.ac_body_sp.open { display: block; }

/* img-object

-------------------------------------------------- */
.c-img { position: relative; }

.img-object { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }

.img-object.is-noimg { background-color: #ebe7e4; object-fit: contain; object-position: center; }

.img-objectfit { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }

/* ========== end △ */
.c-link01 { text-decoration: underline; color: #008d81; }

.mCSB_scrollTools { width: 10px; }

.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { width: 10px; border-radius: 5px; }

.mCSB_scrollTools .mCSB_draggerContainer { border-radius: 5px; }

.mCSB_scrollTools { width: 10px; border-radius: 5px; }

.mCSB_scrollTools .mCSB_draggerContainer { border-radius: 5px; background-color: #ececec; }

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { background-color: #cecece; }

.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail { background: none; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .mCSB_inside > .mCSB_container { margin-right: 24px; } }

/* ========== end △ */
/* Title

-------------------------------------------------- */
.iv-animate { opacity: 0; -webkit-transition: 1s ease all; -moz-transition: 1s ease all; -ms-transition: 1s ease all; -o-transition: 1s ease all; transition: 1s ease all; }

.iv-animate.fade-up { -moz-transform: translateY(60px); -o-transform: translateY(60px); -ms-transform: translateY(60px); -webkit-transform: translateY(60px); transform: translateY(60px); }

.iv-animate.fade-left { -moz-transform: translateX(100px); -o-transform: translateX(100px); -ms-transform: translateX(100px); -webkit-transform: translateX(100px); transform: translateX(100px); }

.iv-animate.fade-right { -moz-transform: translateX(-100px); -o-transform: translateX(-100px); -ms-transform: translateX(-100px); -webkit-transform: translateX(-100px); transform: translateX(-100px); }

.iv-animate.animated { opacity: 1; }

.iv-animate.animated.fade-up { -moz-transform: translateY(0px); -o-transform: translateY(0px); -ms-transform: translateY(0px); -webkit-transform: translateY(0px); transform: translateY(0px); }

.iv-animate.animated.fade-left { -moz-transform: translateX(0px); -o-transform: translateX(0px); -ms-transform: translateX(0px); -webkit-transform: translateX(0px); transform: translateX(0px); }

.iv-animate.animated.fade-right { -moz-transform: translateX(0px); -o-transform: translateX(0px); -ms-transform: translateX(0px); -webkit-transform: translateX(0px); transform: translateX(0px); }

.c-ttl01 { position: relative; margin-bottom: 35px; }

.c-ttl01 .ttlen { display: block; font-size: 24px; line-height: 1.16667; letter-spacing: 0.05em; font-weight: 500; font-family: "Outfit", sans-serif; color: #004F85; position: relative; }

.c-ttl01 .ttlen:before { position: absolute; content: ""; background: #9E9E9E; width: 40px; height: 1px; left: -58px; top: 15px; }

.c-ttl01 .ttljp { display: block; font-size: 36px; line-height: 1.69444; letter-spacing: 0.02em; font-weight: bold; color: #222222; position: relative; margin: 20px 0 0; }

.c-ttl01 .ttljp em { font-style: normal; }

.c-ttl01 .ttljp .blue01 { color: #004F85; }

.c-ttl01.is-white .ttlen { color: #fff; }

.c-ttl01.is-white .ttlen:before { background: #fff; }

.c-ttl01.is-white .ttljp { color: #fff; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-ttl01 { margin-bottom: 15px; }
  .c-ttl01 .ttlen { font-size: 20px; line-height: 1.25; padding-left: 10px; }
  .c-ttl01 .ttlen:before { width: 30px; left: -30px; top: 12px; }
  .c-ttl01 .ttljp { font-size: 26px; line-height: 1.61538; margin: 10px 0 0; } }

@media only screen and (max-width: 767px) and (max-width: 375px) { .c-ttl01 .ttljp { font-size: 23px; line-height: 1.65217; } }

/* ========== end △ */
.c-txt01 { font-size: 14px; line-height: 2.14286; letter-spacing: 0em; font-weight: 400; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-txt01 { font-size: 14px; line-height: 1.64286; } }

/* ========== end △ */
.c-ttl02 { color: #004F85; font-size: 28px; line-height: 1.46429; letter-spacing: 0em; font-weight: bold; margin-bottom: 6px; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-ttl02 { font-size: 22px; line-height: 1.59091; } }

/* ========== end △ */
.c-btn01 { line-height: 1; padding: 12px 50px 13px 45px; transition: 0.3s ease all; text-align: center; display: inline-block; position: relative; width: 100%; max-width: 250px; border-radius: 30px; background: #00406B; }

.c-btn01:before { position: absolute; content: ""; top: 50%; margin: -8px 0 0 50px; right: 28px; width: 16px; height: 16px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15.557' height='15.552' viewBox='0 0 15.557 15.552'%3E%3Cg id='Group_35864' data-name='Group 35864' transform='translate(0 0)'%3E%3Cpath id='Path_970695' data-name='Path 970695' d='M0,.075V15.551H15.475V9.106H14.362v5.331H1.113V1.189H6.445V.075Z' fill='%23fff'/%3E%3Cpath id='Path_970696' data-name='Path 970696' d='M9.608,0l5.949,5.949V0Z' fill='%23fff'/%3E%3Crect id='Rectangle_102504' data-name='Rectangle 102504' width='12.136' height='1.113' transform='translate(5.951 8.819) rotate(-45)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E%0A"); background-size: 100% auto; background-repeat: no-repeat; background-position: center; }

.c-btn01 .txt { display: inline-block; position: relative; font-size: 14px; line-height: 2; letter-spacing: 0.02em; font-weight: 500; color: #fff; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-btn01 { padding: 12px 50px 13px 45px; max-width: 250px; border-radius: 30px; }
  .c-btn01:before { top: 50%; margin: -8px 20px 0; right: 28px; width: 16px; height: 16px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15.557' height='15.552' viewBox='0 0 15.557 15.552'%3E%3Cg id='Group_35864' data-name='Group 35864' transform='translate(0 0)'%3E%3Cpath id='Path_970695' data-name='Path 970695' d='M0,.075V15.551H15.475V9.106H14.362v5.331H1.113V1.189H6.445V.075Z' fill='%23fff'/%3E%3Cpath id='Path_970696' data-name='Path 970696' d='M9.608,0l5.949,5.949V0Z' fill='%23fff'/%3E%3Crect id='Rectangle_102504' data-name='Rectangle 102504' width='12.136' height='1.113' transform='translate(5.951 8.819) rotate(-45)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E%0A"); background-size: 30% auto; background-repeat: no-repeat; background-position: center; }
  .c-btn01 .txt { display: inline-block; position: relative; font-size: 14px; line-height: 2; letter-spacing: 0.02em; font-weight: 500; color: #fff; } }

/* ========== end △ */
@-webkit-keyframes slide_txt { 0% { background-position: 2240px 0; }
  100% { background-position: 0 0; } }

@keyframes slide_txt { 0% { background-position: 2240px 0; }
  100% { background-position: 0 0; } }

@-webkit-keyframes slide_img { 0% { background-position: -1962px 0; }
  100% { background-position: 0 0; } }

@keyframes slide_img { 0% { background-position: -1962px 0; }
  100% { background-position: 0 0; } }

@-webkit-keyframes slideY_img { 0% { background-position: 0 1652px; }
  100% { background-position: 0 0; } }

@keyframes slideY_img { 0% { background-position: 0 1652px; }
  100% { background-position: 0 0; } }

@-webkit-keyframes slideShow { 0% { -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% { -webkit-transform: translateY(-100%);
    transform: translateY(-100%); } }

@keyframes slideShow { 0% { -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% { -webkit-transform: translateY(-100%);
    transform: translateY(-100%); } }

@-webkit-keyframes slideShow02 { 0% { -webkit-transform: translateY(-100%);
    transform: translateY(-100%); }
  100% { -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes slideShow02 { 0% { -webkit-transform: translateY(-100%);
    transform: translateY(-100%); }
  100% { -webkit-transform: translateY(0);
    transform: translateY(0); } }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { @-webkit-keyframes slide_txt { 0% { background-position: 1231px 0; }
    100% { background-position: 0 0; } }
  @keyframes slide_txt { 0% { background-position: 1231px 0; }
    100% { background-position: 0 0; } }
  @-webkit-keyframes slide_img { 0% { background-position: -1099px 0; }
    100% { background-position: 0 0; } }
  @keyframes slide_img { 0% { background-position: -1099px 0; }
    100% { background-position: 0 0; } } }

/* ========== end △ */

/*# sourceMappingURL=maps/utility.css.map */
