@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");

/* update: 2020/6/2 */
#header #pagetop, #footer .inner { position: relative; width: 1160px; margin: 0 auto; text-align: left; line-height: 1.7; }

ul#gnav > li, #footer{ font-family: "Roboto","Noto Sans JP","メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif; }

/*  Common Elements
---------------------------------------------------------- */

body { background-color: #fff; color: #363434; font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 13px; text-align: center; -webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; position: relative;}

a { text-decoration: underline; color: #1d3994; }
a:visited { color: #941d55; }
a:focus { color: #cc0033; }
a:hover { color: #cc0033; }
a:active { color: #cc0033; }

hr { display: none; }

strong { font-weight: bold; }

blockquote { padding: 15px; }

table th, table td, table caption { line-height: 1.7; }

img { vertical-align: bottom; }

sup, sub { line-height: 1; font-size: 70%; }

sup { vertical-align: 0.6em; }

/*  Common id, class
---------------------------------------------------------- */
#counter { position: absolute; top: 0; }

.hover { cursor: pointer; }

.clear { clear: both; }

.no_margin { margin: 0 !important; }

.c-mb--1 { margin-bottom: 1.875rem !important; } /*2020*/

/*  Paragraph
---------------------------------------------------------- */
p.caption, p.table_caption { font-size: 87.5%; margin: 8px 0 0 0; }

p.date { margin: 0 10px; text-align: right; }
p.caption { margin-bottom: 20px; }
p.note { margin: 0 0 15px 0; padding-left: 1em; text-indent: -1em; }

/* link_icon */
img.link_icon { margin: 0 3px 0 5px; vertical-align: baseline; }

img.speech { position: absolute; }

#header *, #footer * { box-sizing: border-box; }

/* Header
===========================================================*/
#header { border-bottom: #D9DCE0 1px solid; height: 74px; min-width: 1160px; }
#header #pagetop { padding: 10px 0 0 0; height: 100%; z-index: 50; }
#header h1#logo, #header p#logo { float: left; width: 100px; padding-bottom: 10px; margin: 0; }
#header .utility { padding: 0; position: absolute; right: 0px; top: 0; width: auto; display: flex; justify-content: flex-end; }

.utility ul.nav { font-size: 0.875rem; display: flex; justify-content: flex-start; line-height: 1; padding: 0.25rem 0 0; margin-right: 1.25rem; }
.utility ul.nav li { background: url(../image/arrow_red.png) no-repeat 10px 0.5rem; padding: 0.375rem 0rem 0.375rem 1.5rem; margin-right: 0.875rem; }
.utility ul.nav li a { color: #363434; text-decoration: none; }
.utility ul.nav li a:hover { text-decoration: underline; }

.utility_search__btn { width: 50px; height: 30px; background: #a1a8b0 url("/common/image/icon_header_search.svg") no-repeat 50% -2px; cursor: pointer; transition: background-color 0.3s; border-radius: 0px 0px 4px 4px; }

.utility_search__btn:hover { background-color: #82888e; }

/*search_form*/
.utility_search__form { position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; background-color: rgba(7,10,13,0.7); z-index: 30; justify-content: center; align-items: flex-start; font-family: "Roboto","Noto Sans JP","メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif; display: none; opacity: 0; transition: opacity 0.3s; }
.utility_search__form form * { font-size: 1.25rem; line-height: 1; outline: none; }
.utility_search__form.is-appear { opacity: 1; }
.utility_search__form input[type="text"] { border: #82888e 1px solid; border-radius: 4px; padding: 1rem 1.25rem; cursor: text; width: 36em; }
.utility_search__form input[type="text"]:hover { background-color: #f4f4f4; }
.utility_search__form input[type="text"]:focus { border-color: #1666A1; background-color: #f4f4f4; }
.utility_search__form input.search_btn { border-radius: 4px; border: none; padding: 1.0625rem 1.5rem 1.0625rem 3rem; margin: 0 0.75rem; background: #387FB5 url("/common/image/icon_header_search.svg") no-repeat 4px 50%; color: #fff; letter-spacing: 0.2rem; cursor: pointer; transition: background-color 0.3s; }
.utility_search__form input.search_btn:hover { background-color: #1666A1; }
.utility_search__form .close_btn { position: absolute; width: 44px; height: 44px; top: 12px; right: 20px; background: url("/common/image/search_form/icon_close.svg") no-repeat 50% 50%; cursor: pointer; opacity: 0.4; transition: opacity 0.3s; }
.utility_search__form .close_btn:hover { opacity: 0.7; }

.utility_search__form_bg { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; background-color: transparent; }

.utility_search__panel { background: #fff; width: 1160px; padding: 2.25rem 2.5rem 6rem; box-shadow: 3px 6px 16px -2px rgba(0, 0, 0, 0.6); border-radius: 4px; text-align: center; margin-top: 20px; opacity: 0; transition: all 0.3s; position: relative; }
.utility_search__panel.is-appear { margin-top: 80px; opacity: 1; }
.utility_search__panel h2 { font-size: 1.5rem; margin: 0 0 2.5rem; }

/*  Header: Global Navigation
---------------------------------------------------------- */
ul#gnav { margin-left: auto; margin-right: auto; margin-bottom: 7px; position: absolute; right: 0px; bottom: 0px; width: auto; display: flex; justify-content: flex-start; border-right: #C0C5CC 1px solid; background-color: #fff; }
ul#gnav > li { z-index: 1; flex: 0 0 auto; width: 171px; border-left: #C0C5CC 1px solid; padding: 0 2px; font-size: 0.9375rem; text-align: center; line-height: 1; font-weight: 500; }
ul#gnav > li > p { position: relative; }
ul#gnav > li > p > a { display: block; color: #212121; text-decoration: none; border-radius: 3px; padding: 0.5rem 0 0.5rem; transition: background-color 0.3s; }
ul#gnav > li > p > a:hover { background-color: #d9dce0; text-decoration: none; }
ul#gnav > li > p > a:focus { text-decoration: none; }
ul#gnav > li > p.current::before { content: ""; display: block; width: 100%; height: 2px; position: absolute; background-color: #E6002D; bottom: -7px; left: 0px; }
ul#gnav > li.is-open > p > a { background-color: #363434; color: #fff; }
ul#gnav li a { text-decoration: none; }
ul#gnav li a:hover, ul#gnav li a:focus { text-decoration: underline; }
ul#gnav li .gnav_pulldown_menu { position: absolute; display: none; width: 1160px; border-radius: 4px; top: 40px; left: -133px; z-index: 20; opacity: 0; transition: opacity 0.2s; }
ul#gnav li .gnav_pulldown_menu .inner { padding: 19px 0 4rem; position: relative; min-height: 300px; }
ul#gnav li .gnav_pulldown_menu .ctg_title { margin: 0; display: flex; justify-content: space-between; }
ul#gnav li .gnav_pulldown_menu .ctg_title h2 { flex: 0 0 auto; margin: 0 auto 0 0; padding: 0; line-height: 1; font-size: 1.875rem; width: auto; }
ul#gnav li .gnav_pulldown_menu .ctg_title .shoulder { flex: 0 0 auto; width: auto; }
ul#gnav li .gnav_pulldown_menu .ctg_title .shoulder a { color: #212121; }
ul#gnav li .gnav_pulldown_menu .ctg_title .shoulder.link_index a { display: inline-block; position: relative; margin: -0.25rem 0 0; padding: 0.875rem 0.75rem 0.875rem 0; width: 380px; text-align: center; font-size: 1.0625rem; border: #D9DCE0 1px solid; border-radius: 2px; border-bottom: #E6002D 2px solid; background-color: #fff; box-shadow: 1px 2px 8px -2px rgba(0, 0, 0, 0.2); text-decoration: none; transition: all 0.3s; }
ul#gnav li .gnav_pulldown_menu .ctg_title .shoulder.link_index a::after { content: ""; display: block; position: absolute; top: 11px; right: 10px; width: 21px; height: 21px; background: url(../image/bn_arrow/arrow_right_m_red.svg) no-repeat 50% 50%; }
ul#gnav li .gnav_pulldown_menu .ctg_title .shoulder.link_index a:hover { background-color: #EDEEF0; border-color: #E6002D; }
ul#gnav li .gnav_pulldown_menu .bottom.close_menu { position: absolute; right: 0px; bottom: 1.25rem; width: auto; margin: 0; padding: 0; line-height: 1; }
ul#gnav li .gnav_pulldown_menu .bottom.close_menu a { display: inline-block; position: relative; color: #212121; text-decoration: none; padding: 0.5rem 2.25rem 0.5rem 0.875rem; transition: background-color 0.3s; border-radius: 3px; }
ul#gnav li .gnav_pulldown_menu .bottom.close_menu a:hover { background-color: #D9DCE0; }
ul#gnav li .gnav_pulldown_menu .bottom.close_menu a:after { content: ""; display: block; width: 20px; height: 20px; position: absolute; right: 8px; top: 50%; margin-top: -11px; background: url(../image/gnav_pulldown/close_icon.svg) no-repeat 50% 50%; }
ul#gnav li.is-open .gnav_pulldown_menu { opacity: 1; }

.p-gnav_content { text-align: left; margin: 2.9375rem 0 1.75rem; }
.p-gnav_content .c-flex--between { display: flex; justify-content: space-between; }
.p-gnav_content .col { float: none; border-left: #C0C5CC 1px solid; padding-top: 0.625rem; }
.p-gnav_content .col.no_border { border-left: none; }
.p-gnav_content .col a { color: #212121; }
.p-gnav_content .col .content { margin-left: 1.375rem; }
.p-gnav_content .col .content.line_section { border-top: #C0C5CC 1px solid; padding-top: 1.125rem; }
.p-gnav_content .col2 .col { width: calc((100% - 40px)/2); }
.p-gnav_content .col3 .col { width: calc((100% - 80px)/3); }
.p-gnav_content .col3 .col.span-2 { width: calc(((100% - 80px)/3)*2 + 40px); }
.p-gnav_content .col4 .col { width: calc((100% - 120px)/4); }
.p-gnav_content .col4 .col.span-2 { width: calc((100% - 40px)/2); }
.p-gnav_content .col4 .col.span-2 .col2 .col { width: calc((100% - 40px)/2); }
.p-gnav_content .col4 .col.span-3 { width: calc(((100% - 120px)/4)*3 + 80px); }
.p-gnav_content .col4 .col.span-3 .col2 .col { width: calc((100% - 40px)/2); }
.p-gnav_content h3 { font-size: 1.0625rem; margin: 0 0 0.9375rem; padding-bottom: 0.875rem; border-bottom: #C0C5CC 1px solid; }
.p-gnav_content ul.link li { margin-bottom: 0.75rem; font-weight: 400; }
.p-gnav_content ul.link.indent { margin-left: 1.25rem; }
.p-gnav_content p.link.large { font-size: 1.0625rem; background-position: 0 0.25em; }
.p-gnav_content .c-blank::after { display: inline-block; content: ""; width: 9px; height: 12px; margin: 0 6px 1px; background: url(/common/image/icon_blank.png) no-repeat 0 0; }

.p-gnav_gbk { display: none; position: absolute; width: 100%; top: 0px; left: 0px; background-color: rgba(7,10,13,0.7); z-index: 10; opacity: 0; transition: opacity 0.3s; }

.p-gnav_gbk.is-appear { opacity: 1; }

.p-gnav_wbk { position: absolute; width: 100%; height: 0px; background-color: white; top: 0px; left: 0px; z-index: 10; transition: all 0.3s; }


/* Elements in div#body
===========================================================*/
/*  Section
---------------------------------------------------------- */
.section { clear: both; }

/* basic style of .bn-box and .wh-box*/
.bn-box, .wh-box { background-color: #FFF; border-radius: 3px; overflow: hidden; margin-bottom: 20px; line-height: 1.4; }
.bn-box.sh, .wh-box.sh { box-shadow: 1px 1px 7px -2px rgba(0, 0, 0, 0.6); }
.bn-box.border, .wh-box.border { border-radius: 0px; border: #b9baba 1px solid; }
.bn-box .txt, .wh-box .txt { padding: 0 10px; }
.bn-box .txt .title, .wh-box .txt .title { background: url("../image/arrow_red_large.png") no-repeat 0px 0.15em; padding: 0 0 0 20px; margin: 6px 0 4px 0; }
.bn-box .txt .title.no_link, .wh-box .txt .title.no_link { background: none; padding-left: 0; }
.bn-box .txt .title a, .wh-box .txt .title a { color: #333333; text-decoration: none; }
.bn-box .txt .title a:hover, .wh-box .txt .title a:hover { text-decoration: underline; }
.bn-box .txt .indent, .wh-box .txt .indent { margin-left: 20px; }
.bn-box .txt .small, .wh-box .txt .small { color: #333; font-size: 84.6%; }
.bn-box .txt ul.link, .wh-box .txt ul.link { font-size: 92.3%; display: inline-block; }
.bn-box .txt ul.link li.inline, .wh-box .txt ul.link li.inline { float: left; width: auto; margin-right: 1em; }

.bn-box.hover { background-color: #f4f4f4 !important; }
.bn-box.hover .title { text-decoration: underline; }

/*border-box*/
.border-box { border: #b9baba 1px solid; overflow: hidden; background: #FFF; margin-bottom: 20px; }
.border-box .thumb_link { overflow: hidden; padding: 10px; }
.border-box .thumb_link .img { float: left; width: 70px; }
.border-box .thumb_link .txt { padding-left: 80px; }
.border-box .thumb_link .txt .title { background: url("../image/arrow_red.png") no-repeat 0px 0.35em; padding: 0 0 0 12px; margin: 0px 0 4px 0; line-height: 1.33; }
.border-box .thumb_link .txt .title a { color: #333333; text-decoration: none; }
.border-box .thumb_link .txt .title a:hover { text-decoration: underline; }
.border-box .thumb_link .txt .indent { margin-left: 12px; }
.border-box .thumb_link .txt .small { color: #333; font-size: 84.6%; }
.border-box .thumb_link.hover { background-color: #f4f4f4 !important; }
.border-box .thumb_link.hover .title { text-decoration: underline; }
.border-box ul.box-list li { background: url(/common/image/bg_dot_line.gif) repeat-x left bottom; padding-bottom: 1px; }
.border-box ul.box-list li.last { background: none; }
.border-box ul.box-list li.block_link h3.title, .border-box ul.box-list li.block_link .title { line-height: 1.33; margin: 0; padding: 1.5em 10px 1.65em 40px; background: url("../image/arrow_red_large.png") no-repeat 20px 1.65em; }
.border-box ul.box-list li.block_link a { color: #333333; text-decoration: none; }
.border-box ul.box-list li.block_link a:hover { text-decoration: underline; }
.border-box ul.box-list li.block_link.hover { background-color: #f4f4f4; }
.border-box ul.box-list li.block_link.hover .title { text-decoration: underline; }
.border-box .label { background: #e9eaea; padding: 0.4em 1em; line-height: 1.4; }

/*  Link
---------------------------------------------------------- */
ul.link li, ul.list li.link { margin-bottom: 5px; padding: 0 0 0 12px; background: url(../image/arrow_red.png) no-repeat 0 0.35em; color: #808485; line-height: 1.33; }

ul.link li a { text-decoration: none; }
ul.link li a:hover { text-decoration: underline; }
ul.link.border { padding: 16px 0 0 0; background: url(/common/image/bg_dot_line.gif) repeat-x 0 8px; }
ul.link.border-list li { padding: 0 0 1px 0; margin: 0; background: url(/common/image/bg_dot_line.gif) repeat-x 0 100%; }
ul.link.border-list li a { display: block; padding: 0.55em 0 0.55em 12px; background: url(../image/arrow_red.png) no-repeat 0 0.85em; }
ul.link.inline li { float: left; margin-right: 15px; white-space: nowrap; }

p.link { padding: 0 0 0 12px; background: url(../image/arrow_red.png) no-repeat 0 0.35em; line-height: 1.33; }
p.link a { text-decoration: none; text-decoration: none; }
p.link a:hover { text-decoration: underline; }

p.link.large { padding: 0 0 0 20px; background: url(../image/arrow_red_large.png) no-repeat 0 0.15em; }
p.link.large a { color: #212121; }

/* grid
===========================================================*/
.col { float: left; }

/* grid in #main */
.l { margin-right: 20px; }

.col2 .col { width: 340px; }

.col3 .col { width: 220px; }
.col3 .col.span-2 { width: 460px; }

.col4 .col { width: 160px; }
.col4 .col.span-2 { width: 340px; }
.col4 .col.span-3 { width: 520px; }

.col5 .col { width: 124px; }
.col5 .col.span-2 { width: 268px; }
.col5 .col.span-3 { width: 412px; }
.col5 .col.span-4 { width: 556px; }

.col6 .col { width: 100px; }
.col6 .col.span-2 { width: 220px; }
.col6 .col.span-3 { width: 340px; }
.col6 .col.span-4 { width: 460px; }
.col6 .col.span-5 { width: 580px; }

/* grid in #body(full-width) */
.full-width .l { margin-right: 24px; }
.full-width .col2 .col { width: 468px; }
.full-width .col3 .col { width: 304px; }
.full-width .col3 .col.span-2 { width: 632px; }
.full-width .col4 .col { width: 222px; }
.full-width .col4 .col.span-2 { width: 468px; }
.full-width .col4 .col.span-3 { width: 714px; }
.full-width .col6 .col { width: 140px; }
.full-width .col6 .col.span-2 { width: 304px; }
.full-width .col6 .col.span-3 { width: 468px; }
.full-width .col6 .col.span-4 { width: 632px; }
.full-width .col6 .col.span-5 { width: 796px; }

.full-width .col5 .l { margin-right: 25px; }
.full-width .col5 .col { width: 172px; }
.full-width .col5 .col.span-2 { width: 369px; }
.full-width .col5 .col.span-3 { width: 566px; }
.full-width .col5 .col.span-4 { width: 763px; }

/* =Clearfix
---------------------------------------------------------- */
.clearfix:after, ul:after, dl:after, #body:after, #main:after, #bnav:after, article:after, hgroup:after, section:after, .section:after, .index_box:after, .column2:after, .col:after, .h_link:after, .link_anchor:after { display: block; clear: both; content: ""; /* clearfix */ }

