@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: #be0008 !important; }

.color_green { color: #21a937 !important; }

.color_blue { color: #5fc1c7 !important; }

/* font-family
-------------------------------------------------- */
.font_basic { font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Std W8", "Hiragino Kaku Gothic Std", "Hiragino Kaku Gothic StdN W8", "Hiragino Kaku Gothic ProN W6", Osaka, "メイリオ", 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: #be0008; 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: #222222; 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 #aeaeae; }

/* ▽ 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: 28px 0; border-bottom: 1px solid #aeaeae; }

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

/* ========== end △ */
.dl_table_style > dl > dt { padding: 33px 0; font-size: 18px; line-height: 1.66667; letter-spacing: 0em; font-weight: 500; width: 38%; min-width: 120px; background-color: none; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .dl_table_style > dl > dt { padding: 15px 0; font-size: 16px; line-height: 1.5; width: 100%; } }

/* ========== end △ */
.dl_table_style > dl > dd { font-size: 18px; line-height: 1.66667; letter-spacing: 0em; font-weight: 400; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .dl_table_style > dl > dd { font-size: 16px; line-height: 1.5; } }

/* ========== end △ */
.dl_table_style .btn_list li { display: inline-block; margin: 2px 50px 2px 0; vertical-align: top; }

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

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

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .dl_table_style01 { border-top: 1px solid #ddd; } }

/* ========== end △ */
.dl_table_style01 > dl > dt, .dl_table_style01 > dl > dd { box-sizing: border-box; margin: 0; padding: 28px 20px; border: 1px solid #ddd; }

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

/* ========== end △ */
.dl_table_style01 > dl > dt { padding: 33px 20px; font-size: 18px; line-height: 1.66667; letter-spacing: 0em; font-weight: 500; width: 38%; min-width: 120px; background: #f4f4f4; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .dl_table_style01 > dl > dt { padding: 15px 10px; font-size: 16px; line-height: 1.5; width: 100%; } }

/* ========== end △ */
.dl_table_style01 > dl > dd { font-size: 18px; line-height: 1.66667; letter-spacing: 0em; font-weight: 400; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .dl_table_style01 > dl > dd { font-size: 16px; line-height: 1.5; } }

/* ========== end △ */
.dl_table_style01 .btn_list li { display: inline-block; margin: 2px 50px 2px 0; vertical-align: top; }

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

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

/* ▽ 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 #5fc1c7; } }

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

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

/* ==================================================
	table
================================================== */
/* default
-------------------------------------------------- */
.table_style #deleteform input, .table_style #deleteform select, .table_style #deleteform optgroup, .table_style #deleteform option, .table_style #deleteform textarea { padding: 0; }

.table_style caption { padding: 10px 8px; text-align: center; background-color: #000; color: #fff; font-size: 22px; line-height: 1.45455; letter-spacing: 0.025em; font-weight: 600; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .table_style caption { padding: 6px 8px; font-size: 17px; line-height: 1.47059; } }

/* ========== end △ */
.table_style table { width: 100%; }

.table_style th, .table_style td { padding: 5px 5px; border: 1px solid #ddd; font-size: 16px; line-height: 1.875; letter-spacing: 0em; font-weight: 400; text-align: center; }

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

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

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .table_style th { min-width: 110px; } }

/* ========== end △ */
.table_style td { padding: 10px; font-size: 16px; line-height: 1.875; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .table_style td { font-size: 15px; line-height: 1.66667; } }

/* ========== end △ */
.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 #21a937; } }

/* ========== 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; }

/*-----------------------------------------------------------
COMMON img-object
------------------------------------------------------------*/
.c-img { display: block; position: relative; }

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

.c-img--contain img { object-fit: contain; }

.c-img--top img { object-position: top; }

.c-fw { width: 100%; }

.c-lazybg { background-size: cover; background-position: center; background-repeat: no-repeat; }

.c-lazybg--top { background-position: center top; }

.c-lazybg--contain { background-size: contain; }

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

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

.c-btn01 { display: inline-block; position: relative; width: 100%; max-width: 285px; color: #fff; padding: 15px 100px 15px 52px; border-radius: 60px; text-decoration: none !important; overflow: hidden; text-align: left; border: 1px solid #5fc1c7; background: #5fc1c7; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

.c-btn01:after { position: absolute; content: ""; right: 30px; top: 50%; width: 64px; height: 8px; background-image: url(../common_img/icn_arr02.png); background-size: 100% auto; background-repeat: no-repeat; margin: -5px 0 0; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

.c-btn01 .txt { font-size: 16px; line-height: 1.875; letter-spacing: 0em; font-weight: 900; }

.c-btn01.is-blue { background: #5fc1c7; }

.c-btn01.is-blue:after { background-image: url(../common_img/icn_arr02.png); }

.c-btn01.is-blue .txt { color: #fff; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .c-btn01:hover { background: #2e9fa6; opacity: 1; }
  .c-btn01:hover:after { transform: translateX(5px); } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-btn01 { max-width: 220px; padding: 10px 65px 10px 20px; border-radius: 40px; }
  .c-btn01:after { right: 15px; width: 45px; height: 7px; margin: -4px 0 0; }
  .c-btn01 .txt { font-size: 14px; line-height: 1.78571; } }

/* ========== end △ */
.c-btn02 { display: inline-block; position: relative; width: 100%; color: #000000; text-decoration: none !important; overflow: hidden; text-align: left; background: #fff; border-radius: 10px; box-shadow: 6px 0 9px rgba(0, 0, 0, 0.02); padding: 41px 52px 41px 52px; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

.c-btn02:after { position: absolute; content: ""; right: 30px; top: 50%; width: 63px; height: 9px; background-image: url(../common_img/icn_arr03.png); background-size: 100% auto; background-repeat: no-repeat; margin: -5px 0 0; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

.c-btn02 .txt { color: #000000; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; font-size: 22px; line-height: 1.36364; letter-spacing: 0.05em; font-weight: 900; }

.c-btn02.is-blue { background: #5fc1c7; }

.c-btn02.is-blue:after { background-image: url(../common_img/icn_arr02.png); }

.c-btn02.is-blue .txt { color: #fff; }

.c-btn02.size01 { padding: 27px 104px 27px 80px; max-width: 440px; }

.c-btn02.size01 .txt { font-size: 25px; line-height: 1.2; }

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1199px) { .c-btn02.size01 { padding: 20px 100px 20px 20px; max-width: 320px; }
  .c-btn02.size01 .txt { font-size: 20px; line-height: 1.4; } }

@media print, screen and (min-width: 768px) { .c-btn02:hover { opacity: 0.7; }
  .c-btn02:hover .txt { color: #5fc1c7; }
  .c-btn02:hover:after { transform: translateX(5px); }
  .c-btn02:hover.is-blue { background: #2e9fa6; opacity: 1; }
  .c-btn02:hover.is-blue:after { transform: translateX(5px); }
  .c-btn02:hover.is-blue .txt { color: #fff; } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-btn02 { padding: 25px 70px 25px 25px; }
  .c-btn02:after { right: 15px; width: 45px; height: 7px; margin: -4px 0 0; }
  .c-btn02 .txt { font-size: 18px; line-height: 1.44444; letter-spacing: 0.03em; }
  .c-btn02.size01 { padding: 22px 60px 22px 15px; max-width: 280px; text-align: center; }
  .c-btn02.size01 .txt { font-size: 18px; line-height: 1.55556; } }

/* ========== end △ */
.back-list { text-align: center; }

.back-list a { text-decoration: none !important; color: #000; display: inline-block; font-size: 18px; line-height: 1.44444; letter-spacing: 0em; font-weight: 500; text-decoration: none; position: relative; padding-left: 35px; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

.back-list a:before { position: absolute; content: ""; left: 0; top: 50%; width: 18px; height: 18px; background-image: url(../common_img/icn_arr04.png); background-size: 100% auto; background-repeat: no-repeat; margin: -9px 0 0; }

.back-list a span { display: inline-block; border-bottom: 1px solid #b2b5b7; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .back-list:hover { opacity: 0.5; } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .back-list a { font-size: 16px; line-height: 1.5; padding-left: 25px; }
  .back-list a:before { width: 18px; height: 18px; margin: -9px 0 0; } }

/* ========== end △ */
.c-btn-entry { display: inline-block; position: relative; width: 100%; max-width: 335px; color: #fff; font-size: 18px; line-height: 1.66667; letter-spacing: 0.05em; font-weight: 500; padding: 47px 10px 46px 10px; border-radius: 40px; text-decoration: none !important; overflow: hidden; text-align: center; background: #fff; border-radius: 30px; border: 1px solid #2e9fa6; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

.c-btn-entry .txtjp { color: #000000; position: relative; display: block; font-size: 21px; line-height: 1.42857; letter-spacing: 0em; font-weight: bold; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

.c-btn-entry .txten { color: #5fc1c7; position: relative; display: block; font-size: 40px; line-height: 1; letter-spacing: 0.02em; font-weight: bold; margin: 3px 0 0; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1199px) { .c-btn-entry { padding: 37px 10px 37px 10px; }
  .c-btn-entry .txtjp { font-size: 18px; line-height: 1.66667; margin-bottom: 5px; }
  .c-btn-entry .txten { font-size: 35px; line-height: 1.08571; } }

@media only screen and (min-width: 768px) and (max-width: 1080px) { .c-btn-entry .txtjp { font-size: 16px; line-height: 1.875; }
  .c-btn-entry .txten { font-size: 30px; line-height: 1.26667; } }

@media print, screen and (min-width: 768px) { .c-btn-entry:hover { opacity: 1; border: 1px solid #5fc1c7; background: #5fc1c7; }
  .c-btn-entry:hover .txtjp { color: #fff; }
  .c-btn-entry:hover .txten { color: #fff; } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-btn-entry { max-width: 200px; font-size: 15px; line-height: 1.6; letter-spacing: 0em; padding: 25px 5px 25px 5px; border-radius: 20px; }
  .c-btn-entry .txtjp { font-size: 14px; line-height: 1.71429; letter-spacing: 0em; }
  .c-btn-entry .txten { font-size: 20px; line-height: 1.3; } }

/* ========== end △ */
.c-btn-contact { display: inline-block; position: relative; width: 100%; max-width: 410px; color: #000; font-size: 22px; line-height: 1.36364; letter-spacing: 0.06em; font-weight: bold; padding: 33px 10px 32px 22px; border-radius: 10px; text-decoration: none !important; overflow: hidden; text-align: center; background: #fff; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

.c-btn-contact .txt { color: #000; position: relative; display: inline-block; padding: 0 0 0 62px; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

.c-btn-contact .txt:after { position: absolute; content: ""; left: 0; top: 0; width: 42px; height: 28px; background-image: url(../common_img/icn_mail.png); background-size: 100% auto; background-repeat: no-repeat; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .c-btn-contact:hover { opacity: 0.7; } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-btn-contact { max-width: 250px; font-size: 16px; line-height: 1.625; letter-spacing: 0.02em; padding: 20px 10px 20px 10px; }
  .c-btn-contact .txt { padding: 0 0 0 37px; }
  .c-btn-contact .txt:after { top: 2px; width: 30px; height: 22px; } }

/* ========== end △ */
.c-txt01 { font-size: 16px; line-height: 1.875; letter-spacing: 0.06em; }

.c-txt01 .cl-red01 { color: #be0008; }

.c-txt01 .cl-red02 { color: #d24d53; }

.c-txt01 p { font-size: 16px; line-height: 1.875; letter-spacing: 0em; margin-bottom: 32px; }

.c-txt01 p:last-child { margin-bottom: 0; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-txt01 { font-size: 14px; line-height: 1.78571; }
  .c-txt01 p { font-size: 14px; line-height: 1.78571; margin-bottom: 20px; }
  .c-txt01 p:last-child { margin-bottom: 0; } }

/* ========== end △ */
.c-box-bdr01 { background: #fff; border: 1px solid #2e9fa6; border-bottom: 5px solid #2e9fa6; border-radius: 10px; padding: 28px 30px 33px; }

.c-box-bdr01 .subttl01 { font-size: 20px; line-height: 1.4; letter-spacing: 0.06em; font-weight: bold; margin-bottom: 11px; }

.c-box-bdr01 .desc { font-size: 16px; line-height: 1.75; letter-spacing: 0.06em; font-weight: 400; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-box-bdr01 { border-bottom: 4px solid #2e9fa6; padding: 20px 10px 20px; }
  .c-box-bdr01 .subttl01 { font-size: 18px; line-height: 1.38889; letter-spacing: 0.03em; margin-bottom: 11px; }
  .c-box-bdr01 .desc { font-size: 15px; line-height: 1.66667; letter-spacing: 0em; } }

/* ========== end △ */
.c-btn-anchor { display: inline-block; position: relative; width: 100%; max-width: 285px; color: #000; padding: 40px 55px 40px 25px; border-radius: 10px; text-decoration: none !important; overflow: hidden; text-align: left; background: #fff; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; box-shadow: 6px 0 9px rgba(0, 0, 0, 0.03); }

.c-btn-anchor:after { position: absolute; content: ""; right: 30px; top: 50%; background-image: url(../common_img/icn_arr05.png); background-size: 100% auto; background-repeat: no-repeat; margin: -7px 0 0; width: 24px; height: 15px; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

.c-btn-anchor .txt { font-size: 20px; line-height: 1.5; letter-spacing: 0.03em; font-weight: bold; }

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1280px) { .c-btn-anchor { padding: 40px 55px 40px 15px; }
  .c-btn-anchor .txt { font-size: 18px; line-height: 1.66667; } }

@media only screen and (min-width: 768px) and (max-width: 1080px) { .c-btn-anchor .txt { font-size: 19px; line-height: 1.57895; } }

@media print, screen and (min-width: 768px) { .c-btn-anchor:hover { opacity: 0.7; }
  .c-btn-anchor:hover:after { transform: translateY(5px); } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-btn-anchor { max-width: 220px; padding: 16px 35px 16px 20px; }
  .c-btn-anchor:after { right: 15px; width: 15px; height: 10px; margin: -5px 0 0; }
  .c-btn-anchor .txt { font-size: 16px; line-height: 1.5625; } }

/* ========== end △ */
/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop, .scroll-infinity { display: -ms-grid; overflow: hidden; }

/*----------------------------*/
.scroll-infinity__wrap { display: flex; overflow: hidden; }

.scroll-infinity__list { display: flex; list-style: none; padding: 0; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .scroll-infinity__list--left { animation: infinity-scroll-left 80s infinite linear 0.5s both; }
  .scroll-infinity__list--right { animation: infinity-scroll-right 80s infinite linear 0.5s both; } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .scroll-infinity__list--left { animation: infinity-scroll-left 40s infinite linear 0.5s both; }
  .scroll-infinity__list--right { animation: infinity-scroll-right 40s infinite linear 0.5s both; } }

/* ========== end △ */
/*
左から右へ
----------------------------*/
@keyframes infinity-scroll-right { from { transform: translateX(-100%); }
  to { transform: translateX(0%); } }

@keyframes infinity-scroll-left { from { transform: translateX(0); }
  to { transform: translateX(-100%); } }

/* ホバーで止まる*/
.scroll-infinity__wrap:hover { /*今回は左から右のループ画像に適用*/ animation-play-state: paused; }

/*-----------------------------------------------------------
COMMON ZOOM
------------------------------------------------------------*/
.c-hover { position: relative; display: block; }

.c-hover .zoom-over { overflow: hidden; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .c-hover .img-zoom { -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1); } }

/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .c-hover .item-hover { transition: opacity 0.3s; } }

/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .c-hover:hover { opacity: 1; }
  .c-hover:hover .img-zoom { -webkit-transform: scale(1.15); transform: scale(1.15); }
  .c-hover:hover .c-view:after { transform: scale(1, 1); }
  .c-hover:hover .item-hover { opacity: 0.6; } }

/* ========== end △ */
.c-hover.item-link { height: 100%; }

.c-hover.item-link .c-view { position: absolute; left: 0; bottom: 0; width: 100%; }

.c-hover.item-link .badge-new { pointer-events: none; }

.img-bdr { border-radius: 10px; }

@keyframes translateinfinite01 { 0% { transform: translateX(0); }
  100% { transform: translateX(calc(-2360px* 1)); } }

@-webkit-keyframes translateinfinite01 { 0% { transform: translateX(0); }
  100% { transform: translateX(calc(-2360px* 1)); } }

@-moz-keyframes translateinfinite01 { 0% { transform: translateX(0); }
  100% { transform: translateX(calc(-2360px* 1)); } }

@keyframes translateinfinite01_rlt { 0% { transform: translateX(calc(-2360px* 1)); }
  100% { transform: translateX(0); } }

@-webkit-keyframes translateinfinite01_rlt { 0% { transform: translateX(calc(-2360px* 1)); }
  100% { transform: translateX(0); } }

@-moz-keyframes translateinfinite01_rlt { 0% { transform: translateX(calc(-2360px* 1)); }
  100% { transform: translateX(0); } }

@keyframes translateinfinite02 { 0% { transform: translateX(0); }
  100% { transform: translateX(calc(-1886px* 1)); } }

@-webkit-keyframes translateinfinite02 { 0% { transform: translateX(0); }
  100% { transform: translateX(calc(-1886px* 1)); } }

@-moz-keyframes translateinfinite02 { 0% { transform: translateX(0); }
  100% { transform: translateX(calc(-1886px* 1)); } }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { @keyframes translateinfinite01 { 0% { transform: translateX(0); }
    100% { transform: translateX(calc(-1180px* 1)); } }
  @-webkit-keyframes translateinfinite01 { 0% { transform: translateX(0); }
    100% { transform: translateX(calc(-1180px* 1)); } }
  @-moz-keyframes translateinfinite01 { 0% { transform: translateX(0); }
    100% { transform: translateX(calc(-1180px* 1)); } }
  @keyframes translateinfinite01_rlt { 0% { transform: translateX(calc(-1180px* 1)); }
    100% { transform: translateX(0); } }
  @-webkit-keyframes translateinfinite01_rlt { 0% { transform: translateX(calc(-1180px* 1)); }
    100% { transform: translateX(0); } }
  @-moz-keyframes translateinfinite01_rlt { 0% { transform: translateX(calc(-1180px* 1)); }
    100% { transform: translateX(0); } }
  @keyframes translateinfinite02 { 0% { transform: translateX(0); }
    100% { transform: translateX(calc(-943px* 1)); } }
  @-webkit-keyframes translateinfinite02 { 0% { transform: translateX(0); }
    100% { transform: translateX(calc(-943px* 1)); } }
  @-moz-keyframes translateinfinite02 { 0% { transform: translateX(0); }
    100% { transform: translateX(calc(-943px* 1)); } } }

/* ========== end △ */
/*-----------------------------------------------------------
COMMON Title
------------------------------------------------------------*/
.c-ttl01 { position: relative; margin-bottom: 40px; }

.c-ttl01 .ttljp { position: relative; display: block; font-size: 35px; line-height: 1.28571; letter-spacing: 0em; font-weight: bold; padding-bottom: 18px; }

.c-ttl01 .ttljp:after { position: absolute; content: ""; left: 0; bottom: 0; height: 5px; width: 62px; background: #5fc1c7; }

.c-ttl01 .ttlen { display: block; font-size: 55px; line-height: 1.18182; letter-spacing: 0.02em; font-weight: bold; position: relative; margin: 32px 0 0; }

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1280px) { .c-ttl01 .ttlen { font-size: 52px; line-height: 1.19231; } }

@media only screen and (min-width: 768px) and (max-width: 1199px) { .c-ttl01 .ttlen { font-size: 50px; line-height: 1.2; letter-spacing: 0em; } }

@media only screen and (min-width: 768px) and (max-width: 1080px) { .c-ttl01 .ttlen { font-size: 45px; line-height: 1.22222; } }

/* ========== end △ */
.c-ttl01.is-center { text-align: center; }

.c-ttl01.is-center .ttljp:after { right: 0; margin: 0 auto; }

.c-ttl01.is-bold .ttljp { font-weight: bold; }

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1199px) { .c-ttl01 .ttljp { font-size: 32px; line-height: 1.25; }
  .c-ttl01 .ttlen { font-size: 50px; line-height: 1.2; } }

@media only screen and (min-width: 768px) and (max-width: 1080px) { .c-ttl01 .ttljp { font-size: 30px; line-height: 1.26667; }
  .c-ttl01 .ttlen { font-size: 45px; line-height: 1.22222; } }

@media only screen and (min-width: 768px) and (max-width: 980px) { .c-ttl01 .ttljp { font-size: 28px; line-height: 1.25; }
  .c-ttl01 .ttlen { font-size: 40px; line-height: 1.25; } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-ttl01 { margin-bottom: 20px; }
  .c-ttl01 .ttljp { font-size: 20px; line-height: 1.4; padding-bottom: 8px; }
  .c-ttl01 .ttljp:after { height: 3px; width: 40px; }
  .c-ttl01 .ttlen { font-size: 28px; line-height: 1.28571; letter-spacing: 0em; margin: 15px 0 0; } }

/* ========== end △ */
.c-ttl02 { font-size: 36px; line-height: 1.44444; letter-spacing: 0em; font-weight: bold; margin-bottom: 20px; }

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

@media only screen and (max-width: 767px) and (max-width: 375px) { .c-ttl02 { font-size: 18px; line-height: 1.55556; } }

/* ========== end △ */
.c-subttl01 { font-size: 30px; line-height: 1.33333; letter-spacing: 0em; font-weight: bold; text-align: center; margin-bottom: 35px; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-subttl01 { font-size: 18px; line-height: 1.55556; margin-bottom: 10px; } }

@media only screen and (max-width: 767px) and (max-width: 375px) { .c-subttl01 { font-size: 16px; line-height: 1.75; } }

/* ========== end △ */
.radio-item { position: relative; }

.radio-item:not(:last-child) { margin-bottom: 3px; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .radio-item:not(:last-child) { margin-bottom: 3px; } }

/* ========== end △ */
.radio-item input[type="radio"] { opacity: 0; position: absolute; left: 0px; top: 0px; }

.radio-item label { display: inline-block; font-size: 18px; line-height: 1.11111; letter-spacing: 0.05em; font-weight: 500; padding: 0 0 0 20px; border-radius: 5px; }

.radio-item label:before { content: ''; width: 15px; height: 15px; border: 1px solid #707070; border-radius: 50%; display: block; position: absolute; left: 0; top: 4px; }

.radio-item label:after { content: ""; position: absolute; left: 4px; top: 8px; width: 7px; height: 7px; background: #707070; border-radius: 50%; display: none; }

/* ▽ SP layout ========== */
/* ========== end △ */
.radio-item input[type="radio"]:checked + label:after { display: block; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .radio-item label { font-size: 14px; line-height: 1.42857; padding: 0 0 0 16px; border-radius: 5px; }
  .radio-item label:before { width: 11px; height: 11px; left: 0; top: 8px; }
  .radio-item label:after { left: 3px; top: 11px; width: 5px; height: 5px; } }

/* ========== end △ */
.c-list-news .item a { display: block; width: 100%; height: 100%; background: #fff; border-radius: 10px; box-shadow: 6px 0 9px rgba(0, 0, 0, 0.02); text-decoration: none; position: relative; }

.c-list-news .item a:after { position: absolute; content: ""; right: 30px; bottom: 28px; width: 63px; height: 9px; background-image: url(../common_img/icn_arr01.png); background-size: 100% auto; background-repeat: no-repeat; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

.c-list-news .item__info { padding: 23px 21px 65px; }

.c-list-news .item__thumb { border-radius: 10px 10px 0 0; overflow: hidden; }

.c-list-news .item__thumb .c-img { position: relative; border-radius: 10px 10px 0 0; }

.c-list-news .item__thumb .c-img:before { display: block; content: " "; width: 100%; padding-top: 66.66667%; }

.c-list-news .item__thumb .c-img > .content { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }

.c-list-news .item__date { font-size: 16px; line-height: 1.25; letter-spacing: 0.05em; font-weight: bold; }

.c-list-news .item__ttl { font-size: 16px; line-height: 1.75; letter-spacing: 0.06em; font-weight: 400; margin: 3px 0 0; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .c-list-news { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .c-list-news .item { width: 32.25%; margin: 0 1.625% 10px 0; }
  .c-list-news .item:nth-child(3n) { margin-right: 0; }
  .c-list-news .item a:hover:after { transform: translateX(5px); } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-list-news .item { margin-bottom: 20px; }
  .c-list-news .item:last-child { margin-bottom: 0; }
  .c-list-news .item a { border-radius: 10px; }
  .c-list-news .item a:after { right: 30px; bottom: 17px; width: 45px; height: 8px; }
  .c-list-news .item__info { padding: 15px 13px 40px; }
  .c-list-news .item__thumb .c-img { position: relative; }
  .c-list-news .item__thumb .c-img:before { display: block; content: " "; width: 100%; padding-top: 55.81395%; }
  .c-list-news .item__thumb .c-img > .content { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
  .c-list-news .item__date { font-size: 14px; line-height: 1.78571; }
  .c-list-news .item__ttl { font-size: 15px; line-height: 1.66667; letter-spacing: 0.05em; } }

/* ========== end △ */
.c-list-dot01 li { font-size: 16px; line-height: 1.8125; letter-spacing: 0.05em; font-weight: 400; position: relative; padding: 0 0 0 22px; margin-bottom: 5px; }

.c-list-dot01 li:before { position: absolute; content: ""; left: 0; top: 7px; width: 15px; height: 15px; border-radius: 50%; background: #2e9fa6; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-list-dot01 li { font-size: 15px; line-height: 1.66667; letter-spacing: 0.02em; padding: 0 0 0 16px; margin-bottom: 3px; }
  .c-list-dot01 li:before { top: 7px; width: 11px; height: 11px; } }

/* ========== end △ */
.c-tbl01 dl { width: 100%; background: url(../common_img/c_line01.png) repeat-x left bottom; background-size: auto 2px; padding: 23px 22px 24px; }

.c-tbl01 dl dt, .c-tbl01 dl dd { font-size: 16px; line-height: 1.875; letter-spacing: 0.06em; font-weight: 500; }

.c-tbl01 dl dt a, .c-tbl01 dl dd a { color: #5fc1c7; }

.c-tbl01 dl dt a[href*="tel:"], .c-tbl01 dl dd a[href*="tel:"] { color: #000000; }

.c-tbl01 dl dt { font-weight: bold; }

.c-tbl01 dl dd p { font-size: 16px; line-height: 1.75; letter-spacing: 0.06em; font-weight: 500; margin-bottom: 27px; }

.c-tbl01 dl dd p:last-child { margin-bottom: 0; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .c-tbl01 dl { display: table; table-layout: fixed; }
  .c-tbl01 dl dt, .c-tbl01 dl dd { display: table-cell; vertical-align: top; }
  .c-tbl01 dl dt { width: 204px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-tbl01 dl { width: 100%; background: url(../common_img/c_line01.png) repeat-x left bottom; background-size: auto 2px; padding: 15px 0px 15px; }
  .c-tbl01 dl dt, .c-tbl01 dl dd { font-size: 15px; line-height: 1.66667; letter-spacing: 0.04em; }
  .c-tbl01 dl dd p { font-size: 15px; line-height: 1.66667; letter-spacing: 0.04em; margin-bottom: 25px; }
  .c-tbl01 dl dd p:last-child { margin-bottom: 0; } }

/* ========== end △ */
.sg-cms ul { margin-left: 20px; }

.sg-cms ul li { list-style-type: disc; }

.sg-cms ol { margin-left: 20px; }

.sg-cms ol li { list-style-type: decimal; }

.sg-cms table th, .sg-cms table td { padding: 5px 10px 5px; }

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