@charset "UTF-8";


/*---------------- WP optimization ----------------*/
.wp-caption > img { vertical-align: bottom; }
.wp-caption-text { margin-top: .25em; font-size: 12px; font-size: 1.2rem; line-height: 1.25; }

html.desktop_tablet img.alignleft { float: left; margin-right: 1em; width: auto !important; height: auto !important; }
html.desktop_tablet img.alignright { float: right; margin-left: 1em; width: auto !important; height: auto !important; }
html.desktop_tablet div.alignleft { float: left; margin-right: 1em; }
html.desktop_tablet div.alignright { float: right; margin-left: 1em; }

/*-mb-*/html.mobile div.wp-caption,
/*-mb-*/html.mobile div.alignnone { width: 100% !important; }


/*---------------- Adjusting elements width ----------------*/

.fill_frame img,
.fill_frame table { width: 100%; height: auto; }


/*-------------------- Helper classes 1 (global) --------------------*/

.italic,
.oblique { font-style: oblique; }

.normal,
.font-normal { font-style: normal; }

.underline { text-decoration: underline !important; }
.overline { text-decoration: overline !important; }
.line-through { text-decoration: line-through !important; }
.text_deco_none { text-decoration: none !important; }

.nowrap { white-space: nowrap; }


/* colored text */
.recommend { font-style: normal; color: #ff6060; }
.arrival { font-style: normal; color: #ffb329; }
.available { font-style: normal; color: #50b329; }
.disabled { font-style: normal; color: #777777; }
.notice { font-style: normal; color: #ff6060; }
.safety { font-style: normal; color: #1ba01b; }



/*---------------- Helper classes 2 (by device) ----------------*/

.letter_standard,
html.desktop_tablet ._letter_standard,
/*-mb-*/html.mobile .__letter_standard { letter-spacing: 0 !important; }

.letter_wide,
html.desktop_tablet ._letter_wide,
/*-mb-*/html.mobile .__letter_wide { letter-spacing: 0.125em !important; }

.letter_tight,
html.desktop_tablet ._letter_tight,
/*-mb-*/html.mobile .__letter_tight { letter-spacing: -0.05em !important; }

.text_center,
html.desktop_tablet ._text_center,
/*-mb-*/html.mobile .__text_center { text-align: center !important; }

.text_left,
html.desktop_tablet ._text_left,
/*-mb-*/html.mobile .__text_left { text-align: left !important; }

.text_right,
html.desktop_tablet ._text_right,
/*-mb-*/html.mobile .__text_right { text-align: right !important; }

.margin_top_none,
html.desktop_tablet ._margin_top_none,
/*-mb-*/html.mobile .__margin_top_none { margin-top: 0 !important; }

.margin_bottom_none,
html.desktop_tablet ._margin_bottom_none,
/*-mb-*/html.mobile .__margin_bottom_none { margin-bottom: 0 !important; }

.margin_vside_none,
html.desktop_tablet ._margin_vside_none,
/*-mb-*/html.mobile .__margin_vside_none { margin-top: 0 !important; margin-bottom: 0 !important; }

.margin_top_little,
html.desktop_tablet ._margin_top_little,
/*-mb-*/html.mobile .__margin_top_little { margin-top: .25em !important; }

.margin_bottom_little,
html.desktop_tablet ._margin_bottom_little,
/*-mb-*/html.mobile .__margin_bottom_little { margin-bottom: .25em !important; }

.margin_vside_little,
html.desktop_tablet ._margin_vside_little,
/*-mb-*/html.mobile .__margin_vside_little { margin-top: .25em !important; margin-bottom: .25em !important; }

.indent_tight,
html.desktop_tablet ._indent_tight,
/*-mb-*/html.mobile .__indent_tight { padding-left: 1.4em !important; }



/*---------------- Typo setting 1 (global) ----------------*/

.entry_title,
.page_title,
/*WP*/.entry-title,
/*WP*/.page-title { font-size: 28px; font-size: 2.8rem; font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro W6", メイリオ, Meiryo, "メイリオ", "ＭＳ Ｐゴシック","MS PGothic", sans-serif; font-weight: bold; }
/*-mb-*/html.mobile #page_body .entry_title,
/*-mb-*/html.mobile #page_body .page_title,
/*WP*//*-mb-*/html.mobile #page_body .entry-title,
/*WP*//*-mb-*/html.mobile #page_body .page-title { font-size: 20px; font-size: 2.0rem; font-weight: bold; }

p.phrase,
p.ahead_of_title,
p.series { font-size: 12px; font-size: 1.2rem; margin-bottom: 0; font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro W6", メイリオ, Meiryo, "メイリオ", "ＭＳ Ｐゴシック","MS PGothic", sans-serif; font-weight: bold; }
p.ahead_of_title + h1,
p.ahead_of_title + .entry_title,
p.ahead_of_title + .page_title,
/*WP*/p.ahead_of_title + .entry-title,
/*WP*/p.ahead_of_title + .page-title,
p.series + .entry_title,
p.series + .page_title,
/*WP*/p.series + .entry-title,
/*WP*/p.series + .page-title{ margin-top: 0; }

.sec_title { font-size: 20px; font-size: 2.0rem; margin: 2em 0 0 0; font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro W6", メイリオ, Meiryo, "メイリオ", "ＭＳ Ｐゴシック","MS PGothic", sans-serif; font-weight: bold; }
/*-mb-*/html.mobile .sec_title { font-size: 18px; font-size: 1.8rem; font-weight: bold; }

.sub_sec_title { font-size: 16px; font-size: 1.6rem; margin: 2.6em 0 0 0; font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro W6", メイリオ, Meiryo, "メイリオ", "ＭＳ Ｐゴシック","MS PGothic", sans-serif; font-weight: bold; }

.sec_title + .sub_sec_title { margin-top: 1.5em; }

.heading_large { font-size: 20px; font-size: 2.0rem; font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro W6", メイリオ, Meiryo, "メイリオ", "ＭＳ Ｐゴシック","MS PGothic", sans-serif; font-weight: bold; }

.heading_medium { font-size: 16px; font-size: 1.6rem; font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro W6", メイリオ, Meiryo, "メイリオ", "ＭＳ Ｐゴシック","MS PGothic", sans-serif; font-weight: bold; }

.heading_small { font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro W6", メイリオ, Meiryo, "メイリオ", "ＭＳ Ｐゴシック","MS PGothic", sans-serif; font-weight: bold; }


/*---------------- Typo setting 2 (by device) ----------------*/

html.desktop_tablet .base_typo_column { font-size: 13px; font-size: 1.3rem; line-height: 1.5; }
/*-mb-*/html.mobile .base_typo_column { font-size: 13px; font-size: 1.3rem; line-height: 1.5; }
html.desktop_tablet ._base_typo_column { font-size: 13px; font-size: 1.3rem; line-height: 1.5; } /*-- separate setting for desktop_tablet --*/
/*-mb-*/html.mobile .__base_typo_column { font-size: 13px; font-size: 1.3rem; line-height: 1.5; } /*-- separate setting for mobile --*/

html.desktop_tablet .base_typo_column .sec_title { font-size: 18px; font-size: 1.8rem; }
/*-mb-*/html.mobile .base_typo_column .sec_title { font-size: 18px; font-size: 1.8rem; }
html.desktop_tablet ._base_typo_column .sec_title { font-size: 18px; font-size: 1.8rem; } /*-- separate setting for desktop_tablet --*/
/*-mb-*/html.mobile .__base_typo_column .sec_title { font-size: 18px; font-size: 1.8rem; } /*-- separate setting for mobile --*/

html.desktop_tablet .base_typo_column .sub_sec_title { font-size: 15px; font-size: 1.5rem; }
/*-mb-*/html.mobile .base_typo_column .sub_sec_title { font-size: 15px; font-size: 1.5rem; }
html.desktop_tablet ._base_typo_column .sub_sec_title { font-size: 15px; font-size: 1.5rem; } /*-- separate setting for desktop_tablet --*/
/*-mb-*/html.mobile .__base_typo_column .sub_sec_title { font-size: 15px; font-size: 1.5rem; } /*-- separate setting for mobile --*/


html.desktop_tablet .base_typo_complement { font-size: 13px; font-size: 1.3rem; line-height: 1.5; }
/*-mb-*/html.mobile .base_typo_complement { font-size: 13px; font-size: 1.3rem; line-height: 1.5; }
html.desktop_tablet ._base_typo_complement { font-size: 13px; font-size: 1.3rem; line-height: 1.5; } /*-- separate setting for desktop_tablet --*/
/*-mb-*/html.mobile .__base_typo_complement { font-size: 13px; font-size: 1.3rem; line-height: 1.5; } /*-- separate setting for mobile --*/

html.desktop_tablet .base_typo_complement .sub_sec_title { font-size: 18px; font-size: 1.8rem; }
/*-mb-*/html.mobile .base_typo_complement .sub_sec_title { font-size: 18px; font-size: 1.8rem; }
html.desktop_tablet ._base_typo_complement .sub_sec_title { font-size: 18px; font-size: 1.8rem; } /*-- separate setting for desktop_tablet --*/
/*-mb-*/html.mobile .__base_typo_complement .sub_sec_title { font-size: 18px; font-size: 1.8rem; } /*-- separate setting for mobile --*/

html.desktop_tablet .base_typo_complement .sec_title { font-size: 15px; font-size: 1.5rem; }
/*-mb-*/html.mobile .base_typo_complement .sec_title { font-size: 15px; font-size: 1.5rem; }
html.desktop_tablet ._base_typo_complement .sec_title { font-size: 15px; font-size: 1.5rem; } /*-- separate setting for desktop_tablet --*/
/*-mb-*/html.mobile .__base_typo_complement .sec_title { font-size: 15px; font-size: 1.5rem; } /*-- separate setting for mobile --*/


html.desktop_tablet .base_typo_note { font-size: 12px; font-size: 1.2rem; line-height: 1.5; }
/*-mb-*/html.mobile .base_typo_note { font-size: 12px; font-size: 1.2rem; line-height: 1.5; }
html.desktop_tablet ._base_typo_note { font-size: 12px; font-size: 1.2rem; line-height: 1.5; } /*-- separate setting for desktop_tablet --*/
/*-mb-*/html.mobile .__base_typo_note { font-size: 12px; font-size: 1.2rem; line-height: 1.5; } /*-- separate setting for mobile --*/

html.desktop_tablet .base_typo_note .sec_title { font-size: 16px; font-size: 1.6rem; }
/*-mb-*/html.mobile .base_typo_note .sec_title { font-size: 16px; font-size: 1.6rem; }
html.desktop_tablet ._base_typo_note .sec_title { font-size: 16px; font-size: 1.6rem; } /*-- separate setting for desktop_tablet --*/
/*-mb-*/html.mobile .__base_typo_note .sec_title { font-size: 16px; font-size: 1.6rem; } /*-- separate setting for mobile --*/

html.desktop_tablet .base_typo_note .sub_sec_title { font-size: 14px; font-size: 1.4rem; }
/*-mb-*/html.mobile .base_typo_note .sub_sec_title { font-size: 14px; font-size: 1.4rem; }
html.desktop_tablet ._base_typo_note .sub_sec_title { font-size: 14px; font-size: 1.4rem; } /*-- separate setting for desktop_tablet --*/
/*-mb-*/html.mobile .__base_typo_note .sub_sec_title { font-size: 14px; font-size: 1.4rem; } /*-- separate setting for mobile --*/



/*---------------- Button ----------------*/

button.b_button,
li.b_button_wrapper a,
p.b_button_wrapper a {
	display: inline-block;
	line-height: 1.25;
	border-style: none;
	outline: none;
	text-decoration: none;
	background: #309ddb;
	color: #ffffff;
    -webkit-border-radius: 24px;
    -moz-border-radius: 24px;
    border-radius: 24px;
	padding: 12px 20px;
}
button.b_button:active,
li.b_button_wrapper a:active,
p.b_button_wrapper a:active {
	background-color: #2677cb;
}

button.b2_button,
p.b2_button_wrapper a,
li.b2_button_wrapper a {
	display: inline-block;
	line-height: 1.25;
	border-style: none;
	outline: none;
	text-decoration: none;
	border: solid 1px #309ddb;
	background-color: #ffffff;
	color: #309ddb;
    -webkit-border-radius: 24px;
    -moz-border-radius: 24px;
    border-radius: 24px;
	padding: 12px 20px;
	transition-property: background,color;
    transition-duration: 0.3s;
    transition-timing-function:ease-in;
}
button.b2_button:hover,
p.b2_button_wrapper a:hover,
li.b2_button_wrapper a:hover {
	background-color: #309ddb;
	color: #ffffff;
}
button.b2_button:active,
p.b2_button_wrapper a:active,
li.b2_button_wrapper a:active {
	background-color: #2677cb;
	border-color: #2677cb;
	color: #ffffff;
}

button.button_little,
.button_little a {
	padding: 8px 18px !important;
	font-size: 12px !important; font-size: 1.2rem !important;
    letter-spacing: 0;
}


/*---------------- Table ----------------*/

tr.valign_top { vertical-align: top; }
tr.valign_bottom { vertical-align: bottom; }
td.align_left,
th.align_left { text-align: left; }
td.align_right,
th.align_right { text-align: right; }
td.align_center,
th.align_center { text-align: center; }

table.standard { caption-side: top; border-collapse: collapse; margin: 20px 0; border: solid 1px #afcea3; }
table.standard th,
table.standard td { padding: 12px; background: #ffffff; border: solid 1px #afcea3; }
table.standard td.with_cell-heading { padding-top: 3em; vertical-align: top !important; } 
table.standard td.with_cell-heading > span.cell-heading { display: block; margin: -3em -12px 12px -12px; height: 3em; padding: 12px; border-bottom: dotted 1px #afcea3; }
table.standard th { background: #e4ffd8; }
table.standard thead th,
table.standard th.group-heading { background: #d5ffc0; }
table.standard th.sub-heading { background: #ffffff; }

/*-mb-*/html.mobile table.standard { display: block; position: relative; }
/*-mb-*/html.mobile table.standard thead,
/*-mb-*/html.mobile table.standard tfoot,
/*-mb-*/html.mobile table.standard tbody { display: block; }
/*-mb-*/html.mobile table.standard caption { display: block; position: absolute; z-index: 2; bottom: -1.75em;  }
/*-mb-*/html.mobile table.standard tr { display: block; border-style: none; }
/*-mb-*/html.mobile table.standard th,
/*-mb-*/html.mobile table.standard td { display: block; padding: 6px; border-style: none; border-bottom: solid 1px #afcea3; }

/*-mb-*/html.mobile table.standard td.with_cell-heading {} 
/*-mb-*/html.mobile table.standard td.with_cell-heading > span.cell-heading { display: block; height: auto; margin: -6px -6px 6px -6px; padding: 6px; }
/*-mb-*/html.mobile table.standard th:first-child,
/*-mb-*/html.mobile table.standard td:first-child { border-top-style: none; }
/*-mb-*/html.mobile table.standard tr:last-child td:last-child { border-bottom-style: none; }

table.line_style_1 { caption-side: top; border-collapse: collapse; margin: 20px 0; border-top: solid 3px #cccccc; border-bottom: solid 3px #cccccc; }
table.line_style_1 th,
table.line_style_1 td { padding: 12px; border-bottom: 1px solid #d5d5d5; }
table.line_style_1 tr:last-child th,
table.line_style_1 tr:last-child td { border-bottom-style: none; }

/*-mb-*/html.mobile table.line_style_1 { display: block; position: relative; border-top-style: none; }
/*-mb-*/html.mobile table.line_style_1 tbody { display: block; }
/*-mb-*/html.mobile table.line_style_1 caption { display: block; position: absolute; z-index: 2; bottom: -1.75em;  }
/*-mb-*/html.mobile table.line_style_1 tr { display: block; border-style: none; }
/*-mb-*/html.mobile table.line_style_1 th { display: block; padding: 12px 6px 3px 6px; border-top: 3px solid #cccccc; border-bottom-style: none; }
/*-mb-*/html.mobile table.line_style_1 td { display: block; padding: 3px 6px; border-style: none; }
/*-mb-*/html.mobile table.line_style_1 td:last-child { padding-bottom: 12px; }
/*-mb-*/html.mobile table.line_style_1 th.sub-heading { border-top: 1px dotted #cccccc; }
/*-mb-*/html.mobile table.line_style_1 tr:last-child td:last-child { border-bottom-style: none; }

table.plane_1 { caption-side: top; border-collapse: collapse; margin: 20px 0; border-style: none; }
table.plane_1 th { padding: 12px　0; border-style: none; white-space: nowrap; }
table.plane_1 th:first-child { padding-right: 24px; }
table.plane_1 td { padding: 12px　0; border-style: none; }

/*-mb-*/html.mobile table.plane_1 { display: block; position: relative; border-top-style: none; }
/*-mb-*/html.mobile table.plane_1 tbody { display: block; }
/*-mb-*/html.mobile table.plane_1 caption { display: block; position: absolute; z-index: 2; bottom: -1.75em;  }
/*-mb-*/html.mobile table.plane_1 tr { display: block; border-style: none; }
/*-mb-*/html.mobile table.plane_1 th { display: block; padding: 12px 6px 3px 6px; border-top: 3px solid #cccccc; border-bottom-style: none; }
/*-mb-*/html.mobile table.plane_1 td { display: block; padding: 3px 6px; border-style: none; }
/*-mb-*/html.mobile table.plane_1 td:last-child { padding-bottom: 12px; }
/*-mb-*/html.mobile table.plane_1 th.sub-heading { border-top: 1px dotted #cccccc; }
/*-mb-*/html.mobile table.plane_1 tr:last-child td:last-child { border-bottom-style: none; }


/*------------------------------ List style ------------------------------*/

li { margin-bottom: 0.875em; }
li ol,
li ul { margin-top: 0.875em; }

.side_bar ol,
.side_bar ul { padding-left: 1.4em; }

/*-mb-*/html.mobile ol,
/*-mb-*/html.mobile ul { padding-left: 1.4em; }

ol.style_none,
ul.style_none { list-style: none; }
ol.disc,
ul.disc { list-style-type: disc; }
ol.circle,
ul.circle { list-style-type: circle; }
ol.square,
ul.square { list-style-type: square; }
ol.lower_roman,
ul.lower_roman { list-style-type: lower-roman; }
ol.upper_roman,
ul.upper_roman { list-style-type: upper-roman; }
ol.lower_greek,
ul.lower_greek { list-style-type: lower-greek; }
ol.upper_greek,
ul.upper_greek { list-style-type: upper-greek; }
ol.lower_alpha,
ul.lower_alpha { list-style-type: lower-alpha; }
ol.upper_alpha,
ul.upper_alpha { list-style-type: upper-alpha; }
ol.decimal,
ul.decimal { list-style-type: decimal; }
ol.decimal_leading_zero,
ul.decimal_leading_zero { list-style-type: decimal-leading-zero; }


/*------------------------------ List with label ------------------------------*/
html.desktop_tablet dl.list_with_label { position: relative; }
html.desktop_tablet dl.list_with_label>dt { position: absolute; top: 0; left: 0; width: 9em; white-space: nowrap; }
html.desktop_tablet dl.list_with_label>dd { clear: both; margin: 0px; padding-left: 10em; border-bottom: solid 1px #e5e5e5; }
/*-mb-*/html.mobile dl.list_with_label,
html.desktop_tablet .side_bar dl.list_with_label { position: relative; }
/*-mb-*/html.mobile dl.list_with_label>dt,
html.desktop_tablet .side_bar dl.list_with_label>dt { position: static; display: inline-block; width: auto; line-height: 1.25; padding: 2px 4px; background: #e5e5e5; }
/*-mb-*/html.mobile dl.list_with_label>dd,
html.desktop_tablet .side_bar dl.list_with_label>dd { clear: both; margin: 0px; padding: 0 0 10px 0; border-bottom: solid 1px #e5e5e5; }

/*------------------------------ Grid & Table Col Width ------------------------------*/

html.desktop_tablet .colgrid_12,
/*-mb-*/html.mobile .rock .colgrid_12 { margin-left: -2.1em; }

html.desktop_tablet table.colgrid_12 { margin-left: 0; } /* but this is unnecessity class. */

*:first-child+html .desktop_tablet .colgrid_12 { zoom: 1; }

html.desktop_tablet .colgrid_12 > *,
/*-mb-*/html.mobile .rock .colgrid_12 > * { float: left; padding: 0; margin-left: 0; margin-right: 0; }
html.desktop_tablet .colgrid_12 .col_gutter,
/*-mb-*/html.mobile .rock .colgrid_12 .col_gutter { margin-left: 2.1em; }
html.desktop_tablet .colgrid_12 .colspan_1,
html.desktop_tablet table .colspan_1,
/*-mb-*/html.mobile .rock .colgrid_12 .colspan_1 { width: 8.33%; }
html.desktop_tablet .colgrid_12 .colspan_2,
html.desktop_tablet table .colspan_2,
/*-mb-*/html.mobile .rock .colgrid_12 .colspan_2 { width: 16.66%; }
html.desktop_tablet .colgrid_12 .colspan_3,
html.desktop_tablet table .colspan_3,
/*-mb-*/html.mobile .rock .colgrid_12 .colspan_3 { width: 25%; }
html.desktop_tablet .colgrid_12 .colspan_4,
html.desktop_tablet table .colspan_4,
/*-mb-*/html.mobile .rock .colgrid_12 .colspan_4 { width: 33.33%; }
*:first-child+html .desktop_tablet .colgrid_12 .colspan_4 { width: 33.29%; }
html.desktop_tablet .colgrid_12 .colspan_45,
html.desktop_tablet table .colspan_45,
/*-mb-*/html.mobile .rock .colgrid_12 .colspan_45 { width: 37.5%; }
html.desktop_tablet .colgrid_12 .colspan_5,
html.desktop_tablet table .colspan_5,
/*-mb-*/html.mobile .rock .colgrid_12 .colspan_5 { width: 41.66%; }
html.desktop_tablet .colgrid_12 .colspan_6,
html.desktop_tablet table .colspan_6,
/*-mb-*/html.mobile .rock .colgrid_12 .colspan_6 { width: 50%; }
*:first-child+html .desktop_tablet .colgrid_12 .colspan_6 { width: 49.9%; }
html.desktop_tablet .colgrid_12 .colspan_7,
html.desktop_tablet table .colspan_7,
/*-mb-*/html.mobile .rock .colgrid_12 .colspan_7 { width: 58.33%; }
html.desktop_tablet .colgrid_12 .colspan_8,
html.desktop_tablet table .colspan_8,
/*-mb-*/html.mobile .rock .colgrid_12 .colspan_8 { width: 66.66%; }
html.desktop_tablet .colgrid_12 .colspan_9,
html.desktop_tablet table .colspan_9,
/*-mb-*/html.mobile .rock .colgrid_12 .colspan_9 { width: 75%; }
*:first-child+html .desktop_tablet .colgrid_12 .colspan_9 { width: 74.9%; }
html.desktop_tablet .colgrid_12 .colspan_10,
html.desktop_tablet table .colspan_10,
/*-mb-*/html.mobile .rock .colgrid_12 .colspan_10 { width: 83.33%; }
html.desktop_tablet .colgrid_12 .colspan_11,
html.desktop_tablet table .colspan_11,
/*-mb-*/html.mobile .rock .colgrid_12 .colspan_11 { width: 91.66%; }


/*-mb-*/html.mobile .colgrid_12 { margin-left: 0; }
/*-mb-*/html.mobile .colgrid_12 > *,
*:first-child+html .colgrid_12 > * { float: none; width: auto; }
/*-mb-*/html.mobile .colgrid_12 .col_gutter { margin-left: 0; padding: 0; }

/*------------------------------ Box or Opening Closing Box ------------------------------*/

.box > *:first-child { margin-top: 0; }
.box > *:last-child,
.box > *:last-child *:last-child,
.box > .box_body > *:last-child,
.box > .box_body > *:last-child *:last-child { margin-bottom: 0; }
.box > .box_heading { line-height: 1.25; }
.box > .box_heading > * { margin: 0; line-height: inherit; }
.box > .box_body { margin-top: 12px; }

.box {
	padding: 16px 24px;
	background: #ffffff;
	border: 1px solid #c0c0c0;
	margin: 20px 0;
}
/*-mb-*/html.mobile .box {
	padding: 14px;
}

.box > .box_heading {
    margin: -17px -25px 16px -25px;
    padding: 12px 24px;
    border-style: solid;
    border-width: 1px 1px 0px 1px;
    border-color: #c0c0c0;
    background: #f7f7f7;
    color: #6a6b75;
}
/*-mb-*/html.mobile .box > .box_heading {
    margin: -15px -15px 14px -15px;
    padding: 12px 14px 9px 14px;
}

.box_rounded {
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
}
.box_rounded > .box_heading {
    padding: 12px 24px;
    border-style: solid;
    border-width: 1px 1px 0px 1px;
    border-color: #c0c0c0;
    -webkit-border-top-left-radius: 12px;
    -webkit-border-top-right-radius: 12px;
    -moz-border-radius-topleft: 12px;
    -moz-border-radius-topright: 12px;
    border-radius: 12px 12px 0px 0px;
}

.side_bar .box {
	padding: 10px 12px;
	background: #ffffff;
	border: 1px solid #c0c0c0;
	margin: 20px 0;
}
.side_bar .box > .box_heading {
    margin: -11px -13px 10px -13px;
    padding: 6px 12px;
    border-style: solid;
    border-width: 1px 1px 0px 1px;
    border-color: #c0c0c0;
    background: #f7f7f7;
    color: #6a6b75;
}

.side_bar .box_rounded {
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
}
.side_bar .box_rounded > .box_heading {
    padding: 9px 12px;
    border-style: solid;
    border-width: 1px 1px 0px 1px;
    border-color: #c0c0c0;
    -webkit-border-top-left-radius: 8px;
    -webkit-border-top-right-radius: 8px;
    -moz-border-radius-topleft: 8px;
    -moz-border-radius-topright: 8px;
    border-radius: 8px 8px 0px 0px;
}


.box_info { border-style: none; background: #cfe7ff; }
.box_info > .box_heading { background: #8ec5f5; color: #ffffff; border-style: none; margin: -16px -24px 16px -24px; }
.box_info > .box_heading,
.box_info > .box_heading > * { font-weight: normal; }
.side_bar .box_info { border-style: none; background: #cfe7ff; }
.side_bar .box_info > .box_heading { background: #8ec5f5; color: #ffffff; border-style: none; margin: -10px -12px 10px -12px; }
.side_bar .box_info > .box_heading,
.side_bar .box_info > .box_heading > * { font-weight: normal; }
/*-mb-*/html.mobile .box_info > .box_heading {
    margin: -14px -14px 14px -14px;
}


.box_notice { border-style: none; background: #fdf2b2; }
.box_notice > .box_heading { background: #f0d750; color: #5a4d00; border-style: none; margin: -16px -24px 16px -24px; }
.box_notice > .box_heading,
.box_notice > .box_heading > * { font-weight: normal; }
.side_bar .box_notice { border-style: none; background: #fdf2b2; }
.side_bar .box_notice > .box_heading { background: #f0d750; color: #5a4d00; border-style: none; margin: -10px -12px 10px -12px; }
.side_bar .box_notice > .box_heading,
.side_bar .box_notice > .box_heading > * { font-weight: normal; }
/*-mb-*/html.mobile .box_notice > .box_heading {
    margin: -14px -14px 14px -14px;
}


.box_info_index { border-color: #609dff; }
.box_info_index > .box_heading { background: #f7f7f7; color: #609dff; border-color: #609dff; }
.side_bar .box_info_index { border-color: #609dff; }
.side_bar .box_info_index > .box_heading { background: #f7f7f7; color: #609dff; border-color: #609dff; }


.box_important_notice { border-color: #ff6060; }
.box_important_notice > .box_heading { background: #ffe5e5; color: #ff6060; border-color: #ff6060; }
.side_bar .box_important_notice { border-color: #ff6060; }
.side_bar .box_important_notice > .box_heading { background: #ffe5e5; color: #ff6060; border-color: #ff6060; }


/*------------------------------ Form ------------------------------*/

textarea { margin-bottom: 20px; }

/*-mb-*/html.mobile textarea {
    width: 100%;
}

form.format_1 { padding: 15px; border: solid 1px #d5d5d5; }
form.format_1 section:first-child h1 { margin-top: 0; }
form.format_1 .unit { border-bottom: solid 1px #d5d5d5; padding-bottom: 15px; }
form.format_1 h1 + .unit:last-child { border-bottom-style: none; }
form.format_1 dt { font-weight: bold; }
form.format_1 section.submit { padding: 15px; background: #f0f0f0; text-align: center; }
form.format_1 label + p.note { margin: 0; }
form.format_1 dl.unit > dt:before { content: "■ "; color: #b5b5b5; }
form.format_1 section.submit input { -webkit-appearance: button; font-size: 16px; font-size: 1.6rem; }

/*-mb-*/html.mobile form.format_1 dd { margin-left: 0; }
/*-mb-*/html.mobile form.format_1 ol,
/*-mb-*/html.mobile form.format_1 ul { padding-left: 1.4em; }
/*-mb-*/html.mobile form.format_1 li { margin-left: 0; }
/*-mb-*/html.mobile form.format_1 input[type='file'] { width: 100%; }


/*------------------------------ Code ------------------------------*/
/* This section had removed. see prizm.js */


/*------------------------------ Temporary ------------------------------*/

.info_bar { padding: 40px; background: #c5c7cf; color: #ffffff; }
.info_bar>:first-child { margin-top: 0; }
.info_bar>:last-child { margin-bottom: 0; }



/* -------- snippet 要素に繰り返し設定する定義 ※CSS単独で存在しないものに限る ----------------

横幅100% { width: 100%; }
横幅5/6 { width: 83.33%; }
横幅2/3 { width: 66.66%; }
横幅50% { width: 50%; }
横幅1/3 { width: 33.33%; }
横幅1/6 { width: 16.66%; }

欧文セリフ体 { font-family: Palatino,"Palatino Linotype",Georgia,Times,"Times New Roman",serif; }
明朝体本文 { font-family: "Times New Roman", "Times", "Geogia", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HG明朝B","ＭＳ Ｐ明朝", serif; }
明朝体見出し { font-family: "Big Caslon", "Palatino Linotype", "Times New Roman", "Times", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HG明朝B","ＭＳ Ｐ明朝", serif; }

欧文ゴシック体 { font-family: Helvetica, Verdana, Tahoma, sans-serif;}
ゴシック本文 { font-family : "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック","MS PGothic", sans-serif; }
ゴシック見出し { font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro W6", メイリオ, Meiryo, "メイリオ", "ＭＳ Ｐゴシック","MS PGothic", sans-serif; font-weight: bold; }
太ゴシック体 { font-family: "HelveticaNeue", "Helvetica Neue", "Arial Black", "ヒラギノ角ゴ Std", "Hiragino Kaku Gothic Std", "HGP創英角ｺﾞｼｯｸUB", メイリオ, Meiryo, "メイリオ", "ＭＳ Ｐゴシック","MS PGothic", sans-serif; font-weight: bold; }

UI用書体 { font-family : "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック","MS PGothic", sans-serif; }

文字間隔 標準 { letter-spacing: 0 !important; }
文字間隔 広い { letter-spacing: 0.125em !important; }
文字間隔 狭い { letter-spacing: -0.05em !important; }
文字間隔 狭い 等幅 { font-family: monospace; letter-spacing: -0.25em !important; }

行間 狭い { line-height: 1.2 !important; }
行間 狭め { line-height: 1.5 !important; }
行間 標準 { line-height: 1.75 !important; }
行間 広め { line-height: 2 !important; }
行間 広い { line-height: 2.5 !important; }
行間 2倍 { line-height: 3.5 !important; }

テキストの均等割（最後の行を除く） {
	text-align: justify;
	-moz-text-align: justify;
	text-align: justify;
	text-justify: distribute;
}

テキストの均等割（全ての行。1行のみの場合） {
	text-align: justify;
	-moz-text-align-last: justify;
	text-align-last: justify;
	text-justify: distribute;
}

*, *::before, *::after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

--------------------------------*/
