@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");
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font: inherit; font-size: 100%; vertical-align: baseline; }

html { line-height: 1; }

ol, ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }

q, blockquote { quotes: none; }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; }

a img { border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

#body, #body.full-width .content .inner, #body.full-width .bread { position: relative; width: 960px; margin: 0 auto; text-align: left; line-height: 1.7; }

#header #pagetop, .bottom, #footer .inner { position: relative; width: 1160px; margin: 0 auto; text-align: left; line-height: 1.7; }

ul#gnav > li, #footer, h1.title_middle, h1.title_large, h2.heading_line, h3.heading_line, h4, #snav h2, #bnav dt { font-family: "Roboto","Noto Sans JP","メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif; }

/*  Common Elements
---------------------------------------------------------- */
html { overflow-y: scroll; }

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; }

.break { page-break-before: always; }
.break span { display: none; }

.tm { margin-bottom: 1em !important; }

.tm_2 { margin-bottom: 2em !important; }

.c-mb--1 { margin-bottom: 1.875rem !important; }

/*  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; background-color: #fff; }
#header #pagetop { padding: 10px 0 0 0; height: 100%; z-index: 10; }
#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: #F5F6F7; top: 0px; left: 0px; z-index: 10; transition: all 0.3s; }

/*.sp_view*/
.sp_view { background: #333; width: 100%; }
.sp_view a { display: block; text-decoration: none; color: #fff; font-size: 28px; padding: 1.5em 0; line-height: 1; font-weight: bold; }

/* Body
===========================================================*/
/* structure
---------------------------------------------------------- */
#body { min-height: 400px; z-index: 0; }
#body.full-width { width: 100%; }
#body.full-width .gbk { background-color: #EDEEF0; }
#body.full-width .gbk.btm { padding-bottom: 10px; }

#main { float: left; width: 700px; padding-bottom: 30px; }

#sub { float: right; width: 230px; padding-bottom: 30px; }

.bottom { clear: both; margin-bottom: 20px; }

/*  Body: Breadcrumbs
---------------------------------------------------------- */
p.bread { padding: 18px 0; line-height: 1 !important; font-size: 92.5%; }
p.bread a, p.bread em { margin: 0 8px 0 4px; }
p.bread a { text-decoration: none; }
p.bread a:hover, p.bread a:focus { text-decoration: underline; }
p.bread em { color: #595757; }

.bottom p.bread { clear: both; padding-top: 8px; padding-bottom: 0; }

/*  Body: Go to Pagetop
---------------------------------------------------------- */
p.go_pagetop { margin: 30px 0 26px 0; line-height: 1.0; text-align: right; font-size: 0.875rem; }
p.go_pagetop a { text-decoration: none; padding: 0 0 0 11px; background: url(/common/image/arrow_up.gif) no-repeat 0 0.4em; }
p.go_pagetop a:hover, p.go_pagetop a:focus { text-decoration: underline; }

.bottom p.go_pagetop { position: absolute; right: 0; bottom: 0; margin: 0; }
.bottom p.go_pagetop a { padding: 0; background: none; }

.go_pagetop_frame { position: fixed; right: 35px; bottom: 35px; width: 50px; height: 50px; z-index: 2; display: none; }
.go_pagetop_frame p { width: 100%; height: 100%; }
.go_pagetop_frame a { width: 100%; height: 100%; align-items: center; display: flex; justify-content: center; background-color: #E6002D; border-radius: 4px; box-shadow: 1px 2px 12px -2px rgba(0, 0, 0, 0.5); }
.go_pagetop_frame a img { opacity: 1; transition: opacity 0.3s; }
.go_pagetop_frame a:hover img { opacity: 0.7; }
.go_pagetop_frame.default { display: block; opacity: 0; transition: opacity 0.3s; }
.go_pagetop_frame.default.appear { opacity: 1; }

/* Footer
===========================================================*/
#footer { min-width: 1160px; padding: 20px 0; background: #82888E; color: #fff; font-weight: 500; }
#footer * { box-sizing: border-box; }
#footer a { color: #fff; text-decoration: none; }
#footer a:hover { text-decoration: underline; }
#footer ul.link li { font-size: 0.875rem; padding-left: 20px; background: url(../image/arrow_white.png) no-repeat 6px 0.4em; }
#footer ul::after { display: none; }

.footer_main { display: flex; justify-content: flex-start; line-height: 1; margin-bottom: 4.5rem; }

.footer_company_name { flex: 0 0 auto; width: 164px; }

.footer_company_name__logo { margin-top: 0.125rem; margin-bottom: 1.125rem; }

.footer_company_name__jp { font-size: 0.9375rem; }

.footer_fnav { flex: 0 0 auto; width: 800px; display: flex; justify-content: flex-start; flex-wrap: wrap; font-size: 1rem; }

.footer_fnav li { flex: 0 0 auto; width: 190px; margin-bottom: 0.9375rem; font-weight: 500; }

.footer_fnav li a { display: block; padding: 0.1875rem 0.5rem 0.1875rem 1.5rem; background: url(../image/arrow_red_large_reverse.png) no-repeat 0.125rem 0.3125rem; }

.footer_sub { position: relative; font-size: 0.875rem; }
.footer_sub .utility_bottom li { display: inline-block; margin-right: 1.5rem; }

.footer_sub__inner_info.link { position: absolute; width: 370px; right: 0px; bottom: 0px; display: flex; justify-content: flex-start; flex-wrap: wrap; padding: 0.875rem 0 0rem; border-top: #C0C5CC 1px solid; }
.footer_sub__inner_info.link li { flex: 0 0 auto; width: 50%; margin-bottom: 0.5rem; }
.footer_sub__inner_info.link li a { display: block; }

.footer_sns { position: absolute; width: 180px; top: 0px; right: 0px; }
.footer_sns ul { display: flex; justify-content: flex-end; }
.footer_sns ul li { flex: 0 0 auto; width: 158px; overflow: hidden; margin: 0 0.25rem; transition: opacity 0.3s; text-align: center; font-weight: normal; }
.footer_sns ul li:hover { opacity: 0.7; }
.footer_sns ul li a { display: block; width: 100%; height: 100%; background-repeat: no-repeat; background-position: 50%; }
.footer_sns ul li.youtube a { background-image: url(../image/icon_footer_youtube_logo.png); background-size: 64px 60px; background-position: 50% 0px; padding-top: 68px; }

#copyright { border-top: #C0C5CC 1px solid; font-size: 0.8125rem; padding: 0.6875rem 0 1.25rem; margin-top: 0.75rem; font-weight: 400; }

/* Heading
===========================================================*/
/* h1 */
h1 { margin: 0 0 20px 0; }
h1.page_title { line-height: 1; text-align: left; padding: 0.8em 1em; letter-spacing: 0.05em; background-color: #EDEEF0; border-radius: 4px; font-size: 1.5625rem; font-weight: bold; }
h1.title_middle { font-size: 1.4375rem; font-weight: bold; line-height: 1.4; text-align: left; padding-top: 0.8em; margin-bottom: 1.5rem; border-top: #D9DCE0 4px solid; }
h1.title_large { font-size: 1.5625rem; font-weight: bold; line-height: 1.2; text-align: left; padding: 0.6875rem 0.875rem 0.8125rem 1rem; margin-bottom: 1.5rem; box-sizing: border-box; border: #D9DCE0 1px solid; background-color: #EDEEF0; }

/* h2-h4 ,#main*/
h2, h3, h4 { font-size: 107.7%; font-weight: 600; }
h2.first, h3.first, h4.first { margin-top: 0 !important; }
h2 img, h3 img, h4 img { vertical-align: top; }
#main h2, #main h3, #main h4 { margin: 2rem 0 1.25rem 0; }

h2.heading_line { border-bottom: #D9DCE0 3px solid; padding-bottom: 0.5em; font-size: 1.3125rem; text-align: left; position: relative; overflow: visible; }
h2.heading_line::before { content: ""; position: absolute; left: 0px; bottom: -3px; height: 3px; width: 0px; border-left: #E6002D 32px solid; border-right: #fff 3px solid; }

h3.heading_line { padding: 0 0 0 0.875rem; font-size: 1.125rem; text-align: left; border-left: #D9DCE0 3px solid; position: relative; }
h3.heading_line::before { content: ""; position: absolute; left: -3px; top: 0px; height: 6px; width: 3px; background-color: #E6002D; border-bottom: #fff 3px solid; }
#main h3.box { padding: 0.4375rem 0.625rem; background: #EDEEF0; }
#main h3.box.hover a { color: #cc0033; }

h4 { text-align: left; }

 /*  Body: Sub Contents (snav)
---------------------------------------------------------- */
#sub * { box-sizing: border-box; }

#sub { position: relative; }
#sub h2, #sub h3, #sub h4 { margin: 0; font-size: 100%; }
#sub #snav { border-radius: 0px 6px 0px 0px; }

#snav { position: relative; width: 100%; margin-bottom: 20px; background: #fff; z-index: 0; font-size: 0.875rem; line-height: 1.5; }
#snav a { text-decoration: none; }
#snav h2 { background: #3C4248; border-radius: 0 6px 0 0; font-size: 1.0625rem; margin-top: 10px; transition: background-color 0.3s; }
#snav h2 a { display: block; padding: 1rem 0.75rem 1.25rem 1.875rem; background: url("/common/image/arrow_red_large.png") no-repeat 0.675rem 1.1875rem; color: #fff; line-height: 1; }
#snav h2:hover { background-color: #252b32; }
#snav ul.pager { display: none; }
#snav ul.nav { background: #EDEEF0; }
#snav ul.nav li.current p a, #snav ul.nav li p a:hover, #snav ul.nav li p.current a, #snav ul.nav ul li a:hover, #snav ul.nav ul li.current a { background-color: #C0C5CC; }
#snav ul.nav li a:hover, #snav ul.nav li.current a, #snav ul.nav li p a { background-color: #D9DCE0; }
#snav ul.nav li a, #snav ul.nav li p a, #snav ul.nav ul li a { background-image: url(/common/image/arrow_red.png); background-repeat: no-repeat; }
#snav ul.nav li.current a, #snav ul.nav li.current p a { background-image: url(/common/image/arrow_gray.png); background-repeat: no-repeat; }
#snav ul.nav li { border-top: 1px solid #fff; }
#snav ul.nav li a { display: block; padding: 8px 10px 8px 30px; background-position: 15px 0.9375rem; color: #363434; transition: background-color 0.3s; }
#snav ul.nav li a:hover { color: #333333; }
#snav ul.nav li.current a { color: #333333; }
#snav ul.nav li p a { background-image: url(/common/image/bg_snav_minus.gif); }
#snav ul.nav li.plus a { background-image: url(/common/image/bg_snav_plus.gif); }
#snav ul.nav ul { background: #D9DCE0; }
#snav ul.nav ul li { background: url(/news/digest/image_v2/bg_snav_dot2.gif) repeat-x left top; padding-top: 1px; border: none; }
#snav ul.nav ul li a { padding: 8px 15px 9px 49px; background-position: 33px 0.9375rem; }

/*  Body: Sub Contents (banner)
---------------------------------------------------------- */
#sub .project { display: none; }

/* banner */
#sub ul.banner li, #sub .block ul.line li { line-height: 1.0; }

#sub ul.banner li { margin-bottom: 20px; }

#sub .block ul.line li { width: 230px; padding-top: 1px; background: url(/common/image/bg_dot_line.gif) repeat-x left top; }
#sub .block ul.line li.first { padding-top: 0; background: none; }

/* 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: #C0C5CC 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: #3C4248; text-decoration: none; }
.bn-box .txt .title a:hover, .bn-box .txt .title a:focus, .wh-box .txt .title a:hover, .wh-box .txt .title a:focus { 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: #C0C5CC 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: #3C4248; text-decoration: none; }
.border-box .thumb_link .txt .title a:hover, .border-box .thumb_link .txt .title a:focus { 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: #3C4248; text-decoration: none; }
.border-box ul.box-list li.block_link a:hover, .border-box ul.box-list li.block_link a:focus { 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: #EDEEF0; padding: 0.4em 1em; line-height: 1.4; }

/*  PDF Note
---------------------------------------------------------- */
div.pdf_note { font-size: 0.8125rem; margin: 0.8125rem 0; padding: 0.875rem 1.125rem 1rem; line-height: 1.0; border: #D9DCE0 2px solid; border-radius: 4px; }
div.pdf_note > p:nth-of-type(1) { background: url("../image/icon_pdf.gif") no-repeat 0px 0.0625rem; padding-left: 20px; }
div.pdf_note img { display: none; }
div.pdf_note img.link_icon { display: inline-block; }

/*  Index Box
---------------------------------------------------------- */
.index_box { margin-bottom: 10px; padding: 10px; }
.index_box.hover { background: #f0f0f0; }
.index_box.hover a { text-decoration: underline; }
.index_box p.image { float: left; margin-right: 15px; line-height: 1.0; }
.index_box .text { float: left; width: calc(100% - 85px); font-size: 0.9375rem; }
.index_box a { text-decoration: none; }
.index_box a:hover, .index_box a:focus { text-decoration: underline; }

div.column2 { display: flex; justify-content: space-between; flex-wrap: wrap; }
div.column2 .index_box { flex: 0 0 auto; width: calc((100% - 40px)/2); }
div.column2::after { display: none; }

/*heading*/
#main .index_box h2, #main .index_box h3 { margin: 0; padding: 0 0 5px 0; background: none; line-height: 1.5; font-size: 107.7%; }
#main .index_box.hover h3 a { color: #cc0033; }

/*  Body Navigaton
---------------------------------------------------------- */
#bnav dd ul li { padding: 0.125rem 0.5rem 0.125rem 1.5rem; background: url(/common/image/arrow_red_large_reverse.png) no-repeat 0.3125rem 0.3125rem; }

#bnav { margin: 3.5rem 0 0 0; position: relative; clear: both; }
#bnav a { text-decoration: none; }
#bnav a:hover, #bnav a:focus { text-decoration: underline; }
#bnav dl { line-height: 1.5; }
#bnav dl::after { display: none; }
#bnav dt { margin-bottom: 0.875rem; font-size: 1.1875rem; font-weight: 600; }
#bnav dt a { color: #212121; }
#bnav dd { font-size: 0.875rem; }
#bnav dd ul { display: flex; justify-content: flex-start; flex-wrap: wrap; }
#bnav dd ul li { flex: 0 0 auto; width: auto; margin: 0.375rem 0.75rem 0.375rem 0; border-radius: 4px; white-space: nowrap; }
#bnav dd ul li a { color: #212121; }
#bnav dd ul li.current { background-image: url(/common/image/arrow_gray_large_reverse.png); font-weight: 600; background-color: #D0D3D9; }
#bnav dd ul li.current a { color: #212121; }
#bnav.standard_bnav { margin: 3.5rem 0 0 0; background-color: #EDEEF0; padding: 1.125rem 1.5rem 1.4375rem; border-radius: 0 10px 0 0; }
#bnav.standard_bnav::before { content: ""; display: block; width: 100%; height: 3px; background-color: #D9DCE0; position: absolute; top: -18px; left: 0px; }

/*  List
---------------------------------------------------------- */
/* normal_ul */
ul.list { margin-bottom: 15px; }
ul.list li { margin-bottom: 7px; padding-left: 10px; background: url(/common/image/bg_dot_list.gif) no-repeat 1px 0.7em; }

/* normal_ol */
ol.list { margin-bottom: 15px; }
ol.list li { list-style: decimal; margin: 0 0 7px 18px; }
ol.list.alpha li { list-style: lower-alpha; }
ol.list ul.list { margin-top: 7px; }
ol.list ul.list li { list-style: none; margin: 0 0 7px 0; }

/*  Link
---------------------------------------------------------- */
ul.link li, ul.list li.link { margin-bottom: 7px; padding: 0 0 0 15px; background: url(../image/arrow_red.png) no-repeat 0 0.3125em; color: #82888E; line-height: 1.33; }

ul.link li a { text-decoration: none; }
ul.link li a:hover, ul.link li a:focus { 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.7em 0 0.55em 15px; background: url(../image/arrow_red.png) no-repeat 0 0.9375em; }
ul.link.inline li { display: inline-block; margin-right: 15px; white-space: nowrap; }

p.link { padding: 0 0 0 12px; background: url(../image/arrow_red.png) no-repeat 0 0.3125em; line-height: 1.33; }
p.link a { text-decoration: none; text-decoration: none; }
p.link a:hover, p.link a:focus { 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; }

/*  link_anchor
---------------------------------------------------------- */
.link_anchor { margin-bottom: 1.875rem; padding: 0.9375rem 1.25rem; background-color: #EDEEF0; text-align: left; }
.link_anchor ul li { padding: 0.125rem 0.875rem 0.125rem 1.25rem; display: inline-block; white-space: nowrap; line-height: 1.5; background: url("/common/image/arrow_down_red_large_reverse.png") no-repeat 0 0.375rem; }
.link_anchor ul li a { color: #363434; text-decoration: none; white-space: nowrap; text-decoration: none; }
.link_anchor ul li a:hover, .link_anchor ul li a:focus { text-decoration: underline; }

/*  News shoulder_link button
---------------------------------------------------------- */
ul.h_link { margin-top: -54px; /* 34px (img height) + 20px (h2 margin-bottom) */ margin-bottom: 20px; line-height: 1.0; text-align: right; }

ul.h_link li { position: relative; float: right; }

ul.h_link img { border-left: 1px solid #fff; vertical-align: top; }

/* dot_box */
.dot_box { margin: 0 auto 20px auto; border: #ccc 1px dotted; }
.dot_box dt { padding: 0 0 8px 0; }
.dot_box dd { padding: 8px 10px 7px 10px; }
.dot_box dd ul.list { margin-bottom: 0; line-height: 1.33; }
.dot_box dd ul.list li { margin-bottom: 5px; background-position: 0 0.5em; }

/* 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; }

/*
table
===========================================================*/
/* tabel_area */
div.table { margin-bottom: 20px; margin: 0; }

/* cell_common_style */
table.normal th, table.normal td { padding: 8px 10px; border: 1px solid #c2c5c5; }

table.information th, table.information td { padding: 0 10px; }

/* table_classes */
table td, table th { vertical-align: top; }
table.normal { width: 100%; font-size: 0.875rem; }
table.normal th { width: 180px; background-color: #f0f0f0; font-weight: bold; white-space: nowrap; }
table.normal caption { padding-bottom: 7px; font-weight: bold; }
table.information th { white-space: nowrap; }
table.information td.icon { padding-top: 4px; }
table.information td.icon img { vertical-align: baseline; }
table.no_border th { padding-right: 20px; font-weight: bold; white-space: nowrap; }

/* =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 */ }
