@charset "UTF-8";
/* ==================================================
	basic settings
================================================== */
h1, h2, h3, h4, h5, h6, p, li, pre, td, th, dt, dd { line-height: 1.5; }

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

a:link { text-decoration: underline; }

a:hover { text-decoration: none; }

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

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

/* ==================================================
	RWD layout settings
================================================== */
.rwd_disp_xo, .rwd_disp_ox { display: none !important; }

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

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

/* ========== end △ */
/* SPのみ非表示
-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) { .sp_none { 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: 640px) { .mb30_15 { margin-bottom: 30px !important; } }

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

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) { .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: #ff3b30 !important; }

.color_green { color: #4cd964 !important; }

.color_blue { color: #007aff !important; }

/* font-family
-------------------------------------------------- */
.font_basic { font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック","Yu Gothic","游ゴシック体",YuGothic,"ＭＳ Ｐゴシック",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: #ff3b30; 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: 640px) { /* ▽ PC-TAB layout ========== */ }

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

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

/* ========== end △ */
/* icon zoom
-------------------------------------------------- */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) { .ico_zoom a { display: block; position: relative; }
  .ico_zoom a:before { -webkit-box-sizing: border-box; box-sizing: border-box; content: "\f00e"; position: absolute; right: 10px; bottom: 10px; width: 30px; height: 30px; padding-top: 5px; background-color: #333; 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: 640px) { .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: 640px) { .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 { -webkit-box-sizing: border-box; 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: 639px) { .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 #007aff; border-bottom: 1px solid #007aff; }

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

/* ========== 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: 640px) { .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: 639px) { .table_style th, .table_style td { font-size: 1.2rem; } }

/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) { .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: 639px) { .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: 640px) { .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: 640px) { .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: 640px) { .definition_box { padding-left: 30px; border-left: 4px solid #4cd964; } }

/* ========== 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; -webkit-transition: all 0.2s ease; -o-transition: all 0.2s ease; transition: all 0.2s ease; }

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

/* ========== end △ */
/* accordion
-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) { .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: 640px) { .ac_body_sp { display: block !important; } }

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