@charset "utf-8";
/* =======================================================================================



RESET



======================================================================================= */
html, body { margin: 0 auto; padding: 0; font-family: sans-serif; line-height: 1.6; word-wrap: break-word; overflow-wrap: break-word; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
a { -webkit-text-decoration-skip: objects; }
a:hover { -webkit-tap-highlight-color: rgba(0,0,0,0); }
a:hover img { text-decoration: none; }
a:focus, *:focus { outline: none; }
a:active, a:hover { outline-width: 0; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
address, dfn { font-style: normal; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
a, article, aside, b, body, caption, dd, div, dl, dt, figcaption, figure, footer, h1, h2, h3, h4, h5, h6, header, hr, html, img, label, li, main, nav, ol, p, section, sub, sup, table, td, th, ul { position: relative; }
a, address, article, aside, b, button, dd, details, dl, dt, fieldset, figcaption, figure, footer, h1, h2, h3, h4, h5, h6, header, input, legend, li, main, nav, optgroup, p, section, select, summary, textarea, [type="checkbox"], [type="radio"] { margin: 0; padding: 0; }
b { font-weight: inherit; }
button, h1, h2, h3, h4, h5, h6, input, legend, optgroup, select, textarea { font-size: inherit; font-weight: inherit; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button, input { overflow: visible; cursor: pointer; }
button, select { text-transform: none; }
fieldset { border: none; }
hr { overflow: visible; height: 0; box-sizing: content-box; }
img { max-width: 100%; height: auto; border-style: none; background: transparent; vertical-align: bottom; -webkit-backface-visibility: hidden; -ms-interpolation-mode: bicubic; backface-visibility: hidden; }
input[disabled], select[disabled] { cursor: not-allowed; }
mark { background: transparent; color: inherit; }
ol, ul { margin: 0; }
progress { vertical-align: baseline; }
q:before { margin-left: -1.3em; padding-right: .3em; }
sub, sup { line-height: 0; vertical-align: baseline; }
sub { bottom: -.25em; }
sup { top: -.5em; }
svg:not(:root) { overflow: hidden; }
textarea { overflow: auto; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-input-placeholder { color: inherit; opacity: .6; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
/* =======================================================================================



REDEFINITION



======================================================================================= */
html, body, input, select, select *, textarea, *:before, *:after { font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', 'Helvetica', YuGothic, 'Yu Gothic Medium', 'Yu Gothic', Verdana, 'Hiragino Kaku Gothic ProN', Meiryo, FontAwesome, sans-serif; }
body.ie, .ie input, .ie select, .ie select *, .ie textarea, .ie *:before, .ie *:after, body.edge, .edge input, .edge select, .edge select *, .edge textarea, .edge *:before, .edge *:after, body.win7, .win7 input, .win7 select, .win7 select *, .win7 textarea, .win7 *:before, .win7 *:after { font-family: FontAwesome, 'Segoe UI', meiryo, 'MS PGothic', sans-serif; }
html, body { background: #f7f7f7; color: #212529; font-size: 16px; }
*::placeholder { font-size: 16px;/* ieだと判別できないため、単独で設定 */}
.mbl input { font-size: 16px; }
a { color: #2a65a0; }
a:hover { text-decoration: none; }
b { display: inline-block; }

caption,
h1,
h2,
h3,
strong,
th { font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI semibold', 'Helvetica', YuGothic, 'Yu Gothic', 'Segoe UI', Verdana, Meiryo, FontAwesome, sans-serif; }

/* =======================================================================================



FORM



======================================================================================= */
input[type="text"], input[type="search"], input[type="radio"], input[type="tel"], input[type="time"], input[type="url"], input[type="week"], input[type="password"], input[type="checkbox"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], select, textarea { border: 1px solid #ced4da; 
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.07) inset;
        box-shadow: 0 1px 2px rgba(0,0,0,.07) inset;
-webkit-transition: border-color .4s ease-in-out;
        transition: border-color .4s ease-in-out;
}
input[type="text"]:focus, input[type="search"]:focus, input[type="radio"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, input[type="password"]:focus, input[type="checkbox"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, select:focus, textarea:focus { border-color: #666;
-webkit-box-shadow: 0 0 3px #ccc;
        box-shadow: 0 0 3px #ccc;
}
input[readonly="readonly"] { background-color: #eee; color: #eee; cursor: not-allowed; }
input[type="radio"] { border: none; -webkit-box-shadow: none; box-shadow: none; }
input, select, textarea { padding: .5em; }
textarea { display: block; }
input[type="checkbox"],
input[type="radio"], input[type="radio"]:focus { margin: -.2em .5em 0; vertical-align: middle; }
input[type="checkbox"] { vertical-align: text-top; }
label input[type="checkbox"] { vertical-align: middle; }
input[type="radio"], input[type="radio"]:focus, input[type="checkbox"], input[type="checkbox"]:focus {
-webkit-box-shadow: none;
        box-shadow: none;
}
label { vertical-align: middle; cursor: pointer; }
/* =======================================================================================



LOADING



======================================================================================= */
#lod { display: none !important; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255,255,255,.9); text-align: center; }
#lod b { display: block; font-style: italic; }
#lod i,
#lod i:after { border-radius: 50%; width: 4em; height: 4em; }
#lod i { display: block; margin: 10% auto 1em; font-style: normal; font-size: 13px;
     border-top: .5em solid rgba(55,55,55,.2);
   border-right: .5em solid rgba(55,55,55,.2);
  border-bottom: .5em solid rgba(55,55,55,.2);
    border-left: .5em solid #181818;
-webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
        transform: translateZ(0);
-webkit-animation: lod 1.1s infinite linear;
        animation: lod 1.1s infinite linear;
}
@-webkit-keyframes lod {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes lod {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* =======================================================================================



Z-INDEX



======================================================================================= */
#lod { z-index: 81; }
#qik { z-index: 80; }

#hdr .abv { z-index: 73; }
#mnu { z-index: 72; }
#sup,
#mhd { z-index: 71; }
#hdx { z-index: 70; }

#ovl { z-index: 61; }
#btt { z-index: 60; }

#art .abv,
#asd .abv { z-index: 47; }
#art *,
#asd * { z-index: 46; }
#art,
#asd { z-index: 45; }
#ftr { z-index: 44; }
#man { z-index: 43; }
#udl { z-index: 42; }
#wpr { z-index: 41; }
#fst { z-index: 40; }
/* =======================================================================================



LAYOUT



======================================================================================= */
#hdr,
#man,
#ftr { clear: both; width: 100%; min-width: 280px; margin: 0 auto; }
/* =======================================================================================



DEFAULT



======================================================================================= */
/* jQuery用 */
#ttl { display: none; /* jQueryで使用 ドキュメントタイトル<title>を設定する際に使う */ }
.jqr_phn { /* jQueryで使用 電話番号 スマホの場合aとtelリンク付与 例：<span class="jqr_phn">012-3456-7890</span> */ }
.jqr_phn_img { /* jQueryで使用 電話番号 スマホの場合aとtelリンク付与 例：<span class="jqr_phn_img"><img src="/assets/img/tel.png" title="012-3456-7890" alt=""></span> */ }
.jqr_prv { /* jQueryで使用 戻るボタン(history.back)処理 例：<a href="/" class="jqr_prv">戻る</a> */ }
.jqr_aln_par { /* jQueryで使用 高さを揃える親要素 */ }
.jqr_aln_chi { /* jQueryで使用 高さを揃える子要素 */ }
.jqr_hrf { /* jQueryで使用 a hrefを持つ子要素を持つ親もリンクに対応 例：<div class="jqr_hrf"><p></p><a href=""></a></div> */ }
.jqr_hrf_mlt { /* jQueryで使用 上記の複数ある場合にまとめて指定する場合 例：<ul class="jqr_hrf_mlt"><li><a href=""></a></li><li><a href=""></a></li></ul> */ }
.jqr_clk { /* jQueryで使用 クリックした要素または親要素にクラス付与 cookie使用 */ }
.jqr_dsp { /* jQueryで使用 jqr_dsp_swtを押すと　jqr_dsp_tglが開閉 それを括るdiv */ }
.jqr_dsp_swt { /* jQueryで使用 jqr_dsp_swtを押すと　jqr_dsp_tglが開閉 */ }
.jqr_dsp_tgl { /* jQueryで使用 jqr_dsp_swtを押すと　jqr_dsp_tglが開閉 */ }
.jqr_dsp_hid { /* jQueryで使用 jqr_dsp 初期値 閉じてる */ }
.jqr_dsp_swt_mrk { cursor: pointer;
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
.jqr_dsp_swt_mrk:hover { background-color: #d5dde4; }
.jqr_dsp_swt_mrk:after { padding-left: 1em; content: '\f0fe'; }
.jqr_dsp_swt_mrk.flg:after { content: '\f146'; }

/* 文字色指定 */
.err { color: #e74c3c; }

/* ボタン */
.btn_box { clear: both; margin: 0 auto; padding: 1rem 0 0; }
.btn_box li { display: table-cell; }
.btn_box .btn_gp3 li { display: block; }
[class^="btn_gp"] { list-style: none; display: table; width: 100%; margin: auto; padding: 0; }
.btn_gp2 li { width: 49%; }
.btn_gp2 li:first-child { padding-right: 1%; }
.btn_gp2 li:first-child + li { padding-left: 1%; }
[class^="btn_gp"] .cen { text-align: center; }
[class^="btn_gp"] .lft { text-align: left; }
[class^="btn_gp"] .rgt { text-align: right; }
[class*="_btn"] { display: inline-block; margin: auto; padding: .9em 1em 1em; border-radius: 3px; border: none; line-height: 1; text-align: center; text-decoration: none !important; cursor: pointer;
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
[class*="_btn"] .fa { padding-right: .4rem; }
/* 送信ボタン */
.sbm_btn { padding-right: 2em; padding-left: 2em; background-color: #3e86ce; color: #ecf0f1; text-shadow: 0 -1px 0 #04284c; }
.sbm_btn:hover { background-color: #2a65a0; color: #fff; text-shadow: none; }
/* 登録ボタン */
.ent_btn { border: 1px solid #f39e16; background-color: #f4a82f; color: #fff; text-shadow: 0 -1px 0 #b97913; }
.ent_btn:hover { background-color: #f19402; text-shadow: none; }
/* 通常ボタン */
.nml_btn { border: 1px solid #d8dce0; background-color: #e5e5e5; color: #212529; text-shadow: rgba(255,255,255,.5) 0 -1px 0; }
.nml_btn:hover { background-color: #efefef; text-shadow: none; } 
/* 進む戻るボタン */
.prv:before,
.nxt:before { position: absolute; top: 50%;
-webkit-transform: translateY(-50%);
        transform: translateY(-50%);
}
.prv:before { left: 1em; content: '\f104'; }
.nxt:before { right: 1em; content: '\f105'; }
.prv [class*="_btn"],
.nxt [class*="_btn"] { width: 100%; }
/* 削除ボタン */
.del_btn { background-color: #e74c3c; color: #fff5f4; text-shadow: 0 -1px 0 rgba(123,19,8,.5); box-shadow: 1px 1px 0 rgba(255,200,195,.5) inset; }
.del_btn:hover { background-color: #d64131; color: #fff; text-shadow: none; }

/* 簡易ドロップダウンメニュー */
.drp_par  { cursor: default; }
[class^="drp_chi"],
[class^="drp_chi"] a,
[class^="drp_chi"] label {
-webkit-transition: all .1s ease-out;
        transition: all .1s ease-out;
}
.drp_chi_pt1 { opacity: 0; visibility: hidden; position: absolute; }
.drp_chi_pt1 ul,
.drp_chi_pt1 ol { padding: 1rem 1rem 1rem 2rem; }
.drp_par:hover .drp_chi_pt1 { opacity: 1; visibility: visible; background-color: #ecf0f1; box-shadow: 0 2px 4px rgba(0,0,0,.4); }
.drp_chi_pt1 li a,
.drp_chi_pt1 li label { display: block; }
.drp_chi_pt1 li a:hover,
.drp_chi_pt1 li label:hover { background-color: gainsboro; }

@media screen and (min-width: 640px) {
.btn_box .btn_gp3 li { display: table-cell; }
.btn_gp3 li { width: 33.333333%; }
}

@media screen and (min-width: 840px) {
/* 簡易ドロップダウンメニュー パターン2 レスポンシブ */
.drp_chi_pt2 { opacity: 0; visibility: hidden; position: absolute; }
.drp_chi_pt2 ul,
.drp_chi_pt2 ol { padding: 1rem 1rem 1rem 2rem; }
.drp_par:hover .drp_chi_pt2 { opacity: 1; visibility: visible; background-color: #ecf0f1; box-shadow: 0 2px 4px rgba(0,0,0,.4);  }
.drp_chi_pt2 li a,
.drp_chi_pt2 li label { display: block; }
.drp_chi_pt2 li a:hover,
.drp_chi_pt2 li label:hover { background-color: gainsboro; }
}
/* =======================================================================================



ANIMATION (ABOVE THE FOLD)



======================================================================================= */
#anm_fst { /* jQueryで使用 アニメーション開始の先頭要素に記述 */ }
#anm_fst_fde { opacity: 0; }
#anm_fst.flg #anm_fst_fde {
-webkit-animation-name: animationFirstFade;
        animation-name: animationFirstFade;
-webkit-animation-duration: 1s;
        animation-duration: 1s;
-webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
-webkit-animation-iteration-count: 1;
        animation-iteration-count: 1;
-webkit-animation-fill-mode: both;
        animation-fill-mode: both;
}
@-webkit-keyframes animationFirstFade {
to { opacity: 1; }
}
@keyframes animationFirstFade {
to { opacity: 1; }
}

#anm_fst #anm_fst_btu { opacity: 0; }
#anm_fst.flg #anm_fst_btu {
-webkit-animation-name: animationFirstBottomUp;
        animation-name: animationFirstBottomUp;
-webkit-animation-duration: .8s;
        animation-duration: .8s;
-webkit-animation-timing-function: ease;
        animation-timing-function: ease;
-webkit-animation-fill-mode: both;
        animation-fill-mode: both;
}
@-webkit-keyframes animationFirstBottomUp {
from {
-webkit-transform: translate3d(0,4%,0);
        transform: translate3d(0,4%,0);
}
to { opacity: 1;
-webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
}
}
@keyframes animationFirstBottomUp {
from {
-webkit-transform: translate3d(0,4%,0);
        transform: translate3d(0,4%,0);
}
to { opacity: 1;
-webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
}
}
/* =======================================================================================



HEADER



======================================================================================= */
#hdr,
#hdx,
#mhd { min-height: 40px; }
#hdx { position: fixed; top: 0; left: 0; width: 100%; background-color: #1f3852; }
#mhd,
#mhd a { color: #ecf0f1; text-decoration: none; }
#mhd h1 { padding: 13px 0 0 56px; font-weight: bold; font-size: 14px; line-height: 1; text-shadow: 0 -1px 0 #051627; }

#mhd .usr_box { position: absolute; top: 50%; right: 16px; line-height: 1;
-webkit-transform: translateY(-50%);
        transform: translateY(-50%);
}
#mhd .usr_box span { text-align: right; line-height: 1; text-shadow: 0 -1px 0 #3e74a9; }
#mhd .usr_box span:after { color: #fff; font-size: 12px; content: '▼';
-webkit-transition: all .1s ease-out;
        transition: all .1s ease-out;
}
#mhd .usr_box span:hover:after { color: #e9ebec; }
#mhd .usr_box b,
#mhd .usr_box li { font-size: 13px; }
#mhd .usr_box .fa { padding-right: .4rem; font-size: 18px; vertical-align: middle; }
#mhd .usr_box b { display: none; }

#mhd .drp_par ol,
#mhd .drp_par ul { list-style: none; padding: 0; }
#mhd .drp_chi_pt1 { right: 0; border: 1px solid #d9dee4; background-color: #fff; }
#mhd .drp_chi_pt1 li { text-align: right; white-space: nowrap; }
#mhd .drp_chi_pt1 li a,
#mhd .drp_chi_pt1 li label { padding: .8em 2em; color: #212529; }
#mhd .drp_chi_pt1 li a:hover,
#mhd .drp_chi_pt1 li label:hover { background-color: #e9ebec; text-shadow: 0 -1px 0 #fff; }

#qik { position: fixed; top: 4px; left: 4px; width: 48px; }
#swt { height: 32px; background-color: transparent; text-align: center; cursor: pointer; will-change: transform; }
#swt i { position: absolute; top: 4px; left: 8px; width: 32px; height: 24px; background-color: transparent; }
#swt span { position: absolute; left: 0; width: 100%; height: 2px; background-color: #ecf0f1;
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
#swt span:first-child { top: 4px; }
#swt span:first-child + span { top: 50%;
-webkit-transform: translateY(-50%);
        transform: translateY(-50%);
}
#swt span:first-child + span + span { bottom: 4px; }

#mnu { overflow-y: auto; position: fixed; top: 40px; left: 0; width: 200px; height: 100%; padding: 0 0 48px; background-color: #41586f; color: #ecf0f1;
-webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0);
}
#mnu:not(.tgl) {
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
#mnu.opn {
-webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
}

#nav a { color: #ecf0f1; text-decoration: none; }
#nav .fa { padding-right: .4rem; }
#nav .fa-user { padding-right: .8rem; }
#nav ol,
#nav ul { list-style: none; padding: 0; }
#nav ol {  border-bottom: 1px solid #41565f; }
#nav li a,
#nav li span,
#nav li.sub a { display: block; padding: 1rem 1.5rem; border-top: 1px solid #5d758a; border-bottom: 1px solid #1f2f3f; color: #ecf0f1; font-size: 14px; text-shadow: 0 -1px 0 rgba(0,0,0,.5); }
#mnu:not(.tgl) #nav li a,
#mnu:not(.tgl) #nav li span,
#mnu:not(.tgl) #nav li.sub a {
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
#nav li a:hover,
#nav li.cur:not(.nav_hom) > a,
#mnu.tgl #nav li.cur > a { /*background-color: #5c7792; color: #fff;*/ }
#nav li.sub a,
#nav li.sub li a { padding-top: .4rem; padding-bottom: .4rem; }
#nav li.sub li a { padding-left: 2rem; }
#mnu:not(.tgl) #nav li.sub > a,
#mnu:not(.tgl) #nav li.sub > a:hover { background-color: #324b65; }
#mnu:not(.tgl) #nav li.sub > a { cursor: default; }
#nav li.sub li a { padding: .4rem 1.5rem .4rem 3rem; border-top: none; border-bottom: none; }
#nav li:first-child a { border-top: none; }
#nav li s { text-decoration: none; }

#ovl { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; }
#udl { position: absolute; top: 0; width: 100%; height: 100%; }
/* =======================================================================================



CHANGE MENU'S LAYOUT



======================================================================================= */
@media screen and (max-width: 960px) {
#swt.flg i { top: 5px; left: 10px; }
#swt.flg span { background-color: #ecf0f1; }
#swt.flg span:first-child {
-webkit-transform: translateY(7px) rotate(-45deg);
        transform: translateY(7px) rotate(-45deg);
}
#swt.flg span:first-child + span { opacity: 0; }
#swt.flg span:first-child + span + span {
-webkit-transform: translateY(-7px) rotate(45deg);
        transform: translateY(-7px) rotate(45deg);
}
#ovl.flg { display: block; }
}

@media screen and (min-width: 960px) {
#qik { top: 7px; left: 16px; }
#hdr,
#hdx,
#mhd { min-height: 48px; }

#mhd .usr_box span:after { padding-left: .5rem; }
#mhd .usr_box b { display: inline-block; overflow: hidden; max-width: 16em; vertical-align: middle; text-overflow: ellipsis; white-space: nowrap; }

#mhd h1 { padding: 1rem 0 0 80px; }
#mnu { top: 48px; padding-bottom: 64px;
-webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
}

#hdr.tgl #swt span:first-child + span { width: 75%; }
#hdr.tgl #swt span:first-child + span + span { width: 50%; }

#mnu.tgl { width: 80px; }
#mnu.tgl #nav li b { font-size: 12px; }
#mnu.tgl #nav li s,
#mnu.tgl #nav li ul { display: none; }
#mnu.tgl #nav li span,
#mnu.tgl #nav li .sub:hover { background-color: #5c7792; color: #fff; }
#mnu.tgl #nav li a,
#mnu.tgl #nav li span,
#mnu.tgl #nav li .sub { padding: 1rem 0 .8rem; }
#mnu.tgl #nav li a,
#mnu.tgl #nav li span,
#mnu.tgl #nav li .sub { text-align: center; }
#mnu.tgl #nav .fa { display: block; padding-right: 0; }
#mnu.tgl #nav .nav_out { letter-spacing: -.05em; }
}
/* =======================================================================================



MAIN



======================================================================================= */
#art { padding: 1rem .5rem 0; }
@media screen and (max-width: 960px) {
#man.flg,
#ftr.flg {
-webkit-filter: blur(2px);
        filter: blur(2px);
}
}
@media screen and (min-width: 960px) {
#art { padding-left: 224px; padding-right: 1rem; }  
#art.tgl { padding-left: 104px; }
}
@media screen and (min-width: 1600px) {
#art { padding-right: 3rem; } 
}
/* =======================================================================================



COMPONENT



======================================================================================= */
.ttl { margin-bottom: 1rem; color: #73879c; font-weight: bold; text-shadow: 0 -1px 0 #fff; }

.ttl .fa,
.sct_ttl .fa { padding-right: .4rem; }

.sct_ttl { margin-bottom: .5rem; padding-bottom: 1rem; border-bottom: 2px solid #e6e9ed; color: #73879c; font-weight: bold; }

/* テキスト揃え */
h2.cen,
h3.cen,
h4.cen,
h5.cen,
h6.cen,
li.cen,
p.cen,
dt.cen,
dd.cen,
th.cen,
td.cen { text-align: center; }
h2.lft,
h3.lft,
h4.lft,
h5.lft,
h6.lft,
li.lft,
p.lft,
dt.lft,
dd.lft,
th.lft,
td.lft { text-align: left; }
h2.rgt,
h3.rgt,
h4.rgt,
h5.rgt,
h6.rgt,
li.rgt,
p.rgt,
dt.rgt,
dd.rgt,
th.rgt,
td.rgt { text-align: right; }

/* 折り返さない */
.nwp { width: 1%; white-space: nowrap; }

/* 操作無効 */
.poi_not label,
.poi_not input,
.poi_not select,
.poi_not textarea { pointer-events : none; }
.poi_not { cursor: not-allowed !important; }
/* =======================================================================================



MODULE

_sct
  _dsp (jQuery表示/非表示系)
    _unt (1)
      _box
        _unt (2)
        _inr
          _cnt
          _grp



======================================================================================= */
div[class*="_sct"]:after { display: block; clear: both; content: ''; }

div[class*="_inr"] { padding: 0 1rem 1rem; }

/* パネル */
.pnl { border: 1px solid #e6e9ed; background-color: #fff; }
div[class*="_sct"].pnl,
div[class*="_box"].pnl { padding: 1rem; }

/* ページャー */
.pgr_grp { overflow: hidden; margin: 16px auto; text-align: center; }
.pgr_grp ol,
.pgr_grp ul { list-style: none; display: inline-block; margin: auto; padding: 0; }
.pgr_grp li { float: left; margin: .5em .5em 0; }
.pgr_grp li a,
.pgr_grp li input { display: block; padding: .5em; border: 1px solid #73879c; background-color: #73879c; color: #ecf0f1; line-height: 1; text-decoration: none;
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
.pgr_grp li .cur,
.pgr_grp li a:hover,
.pgr_grp li input:hover { background-color: #fff; color: #212529; }

/* テーブル ※初期値はseparate */
[class*="_tbl"] { width: 100%; margin: 0 auto; border-collapse: collapse; border-spacing: 0; }
[class*="_tbl"] th,
[class*="_tbl"] td { padding: .5rem; }
[class^="tbl_gp"] th,
[class^="tbl_gp"] td { width: 100%; }

/* フォーム用 */
.frm_box { background-color: #fff; }
.frm_box .ttl { padding: 0 1rem; box-shadow: 1px 1px 0 #fff; background-color: #d5dde4; line-height: 40px; text-shadow: 0 -1px 0 #eaeff3; cursor: pointer;
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
.frm_box .ttl.flg { margin-bottom: 0; }
.frm_box .ttl:before { position: absolute; top: 50%; right: 1rem; font-weight: normal; font-size: 20px; content: '\f067';
-webkit-transform: translateY(-50%);
        transform: translateY(-50%);
}
.srh_sct .frm_box .ttl:before,
.frm_box .ttl.flg:before { content: '\f068'; }
.srh_sct .frm_box .ttl.flg:before { content: '\f067'; }

.frm_box .ttl:hover { color: #fff; background-color: #3e86ce; text-shadow: 0 -1px 0 #154779; }
.frm_tbl tr,
.frm_tbl + .frm_tbl,
.jqr_dsp + .frm_tbl { border-top: 1px dotted #e7eaec; }
.frm_tbl tr:first-child { border-top: none; }
.frm_tbl caption,
.frm_tbl th,
.frm_tbl td,
.jqr_dsp_swt,
.frm_box p.jqr_dsp_swt { display: block; padding: 1rem 0; }
.frm_tbl caption { padding-bottom: 0; }
.frm_box .frm_tbl:first-of-type tr:first-child th,
.frm_box .frm_tbl:first-of-type tr:first-child td { padding-top: .5rem; }
.frm_tbl caption,
.frm_tbl strong,
.frm_tbl th,
.jqr_dsp_swt_mrk,
.frm_box p.jqr_dsp_swt { font-size: 14px; color: #73879c; }
.frm_tbl caption { font-weight: bold; text-align: left; }
.frm_tbl th { text-align: left; }
.frm_tbl caption,
.frm_tbl strong { display: block; min-height: 20px; }
.frm_tbl * + strong { padding-top: 2rem; }
.frm_tbl .fa { padding-right: .4rem; }
.frm_tbl input[type="text"],
.frm_tbl input[type="password"],
.frm_tbl select,
.frm_tbl textarea { width: 100%; margin: .2rem auto .25rem; padding: .5rem; }
.frm_tbl textarea { height: 6rem; }
.frm_tbl input.ipt_hrf,
.frm_tbl .ipt_hrf input { width: 49%; }
.frm_tbl .ipt_hrf + .ipt_hrf { margin-left: 2%; }
.frm_tbl b + b { padding-left: 2rem; }
.frm_tbl .chk_box label { display: inline-block; margin-right: 1rem; padding: .5rem 0 0; }
.frm_tbl ol.lst_grp,
.frm_tbl ul.lst_grp { list-style: none; padding: 0; }
.frm_tbl ol.lst_grp dl,
.frm_tbl ul.lst_grp dl { display: table; }
.frm_tbl ol.lst_grp dt,
.frm_tbl ol.lst_grp dd,
.frm_tbl ul.lst_grp dt,
.frm_tbl ul.lst_grp dd { display: table-cell; }
.frm_tbl ol.lst_grp dt,
.frm_tbl ul.lst_grp dt { white-space: nowrap; }
.frm_tbl ol.lst_grp dt:after,
.frm_tbl ul.lst_grp dt:after { content: '：'; }
.frm_tbl .ipt_rat:before { position: absolute; top: -9px; right: 1px; padding: .5rem; font-size: 14px; }
.frm_tbl .ipt_rat_001:before { content: '以上～'; }
.frm_tbl .ipt_rat_002:before { content: '以下'; }
.frm_tbl input[disabled],
.frm_tbl textarea[disabled],
.frm_tbl select[disabled] { opacity: 1; margin-bottom: 1em; padding-bottom: 0; padding-left: 0; background-color: transparent; border: none; box-shadow: none; color: inherit; appearance: none; }
.frm_tbl input[disabled] { color: gray; }

/* 横長テーブル用 スマホ時に横スクロールバー */
.mbl .scx { width: 100%; overflow: auto;
-webkit-animation-fill-mode: both;
        animation-fill-mode: both;
}
.mbl .scx table { margin-bottom: .5em; }
.mbl .scx table { min-width: 640px; width: 100%; max-width: none; }
.mbl .scx table th,
.mbl .scx table td { white-space: nowrap; }
.mbl .scx::-webkit-scrollbar { height: .5em;/* tableにスクロールバーを追加 */ }
.mbl .scx::-webkit-scrollbar-track { background: #f1f1f1;/* tableにスクロールバーを追加 */ }
.mbl .scx::-webkit-scrollbar-thumb { background-color: #bcbcbc;/* tableにスクロールバーを追加 */ }

/* テーブル 縦割りカラム用 */
.col_tbl,
.frm_tbl + .col_tbl { border-top: none; }
.col_tbl td { vertical-align: top; } 
.col_tbl .scr_box { min-height: 2rem; margin-top: .2rem; border: 1px solid #e6e9ed; background-color: #f8fcff; }
.col_tbl .scr_box.ibc_lab_box { overflow-y: auto; height: auto; }
.col_tbl strong { padding-left: 8px; font-size: 13px; }
.col_tbl label { display: inline-block; padding: .5rem 1rem .5rem 2rem; text-indent: -2.3em; font-size: 14px; }
.col_tbl label:hover { background-color: #cde1f1; }

/* テーブル リスト用 */
.lst_tbl { margin-bottom: 1rem; background-color: #fff; }
.lst_tbl tr { border-bottom: 4px solid #e7eaec; }
.lst_tbl th,
.lst_tbl td { padding-right: 1rem; padding-left: 1rem; }
.lst_tbl th { background-color: #e7eaec; color: #73879c; font-size: 13px; white-space: pre-wrap; text-shadow: 0 -1px 0 #f4f4f5; }
.lst_tbl th + th { border-left: 1px solid #dcdcdc; }
.lst_tbl td { display: block; }
.lst_tbl tr:first-child { display: none; }
.lst_tbl tr:first-child + tr { border-top: 4px solid #e7eaec; }

/* 項目用 */
.itm_box { overflow: hidden; }
.itm_box dl { display: inline-table; margin: .5rem 0; }
.itm_box dt,
.itm_box dd,
.itm_box .itm_blc li { display: table-cell; vertical-align: top; }
.itm_box .itm_ibc dt,
.itm_box .itm_ibc dd { display: inline-block; }
.itm_box dt { white-space: nowrap; }
.itm_box dt,
.dtl_box .exf_box,
.dtl_box .exf_box a { color: #73879c; }
.itm_box dt:after { content: '：'; }
.itm_box dd { padding-right: 1rem; }
.itm_box .itm_blc,
.itm_box .itm_abr { display: table; }
.itm_blc:not(dl) { list-style: none; width: 100%; padding: 0; }
.itm_abr dt { width: 1%; }
.itm_box dd b { padding-right: 1rem; }

.itm_blc li:first-child + li { text-align: right; }
.itm_blc [class*="_btn"] { padding: .6rem; font-size: 14px; }

dd .dtl_box .itm_box:first-child,
.itm_box + .itm_box { margin-top: 1rem; padding-top: 1rem; border-top: 1px dotted #e7eaec; }

/* 各登録ページ共通 */
.ent_sct .itm_box,
.edt_sct .itm_box { padding: .5rem; }
.ent_sct .itm_box dd,
.edt_sct .itm_box dd { padding-right: 2rem; }

.lst_sct .sct_ttl,
.dtl_sct .sct_ttl,
.edt_sct .sct_ttl { padding-bottom: .5rem; border-bottom: none; }

/* labelをinline-blockに固定 */
[class*="_tbl"] .ibc_lab_box label { display: inline-block; }

@media screen and (min-width: 560px) {
div[class*="_sct"].pnl { padding-right: 1.5rem; padding-left: 1.5rem; }
}
@media screen and (min-width: 640px) {
.lst_tbl td { display: table-cell; }
.lst_tbl tr:first-child { display: table-row; }
.lst_tbl tr { border-bottom-width: 1px; }
.lst_tbl tr:first-child + tr { border-top: 2px solid #dcdcdc; }
}
@media screen and (min-width: 800px) {
.tbl_gp2 th,
.tbl_gp2 td { width: 50%; }
.tbl_gp3 th,
.tbl_gp3 td { width: 33.333333%; }
.tbl_gp4 th,
.tbl_gp4 td { width: 25%; }
.tbl_gp5 th,
.tbl_gp5 td { width: 20%; }
.tbl_gp6 th,
.tbl_gp6 td { width: 16.6666666667%; }

.frm_box { margin-right: -.5rem; margin-left: -.5rem; }
.frm_tbl th,
.frm_tbl td { display: table-cell; }
.frm_tbl caption,
.frm_tbl th,
.frm_tbl td,
.jqr_dsp_swt,
.frm_box p.jqr_dsp_swt { padding-right: .5rem; padding-left: .5rem; }
.col_tbl label { display: block; }
.col_tbl .scr_box { /*overflow-y: scroll; height: 128px;*/ overflow-y: auto; height: auto; }
.frm_tbl * + strong { padding-top: 1rem; }

.itm_box .itm_abr dd { overflow: hidden; max-width: 0; text-overflow: ellipsis; white-space: nowrap; }
.ie .itm_box .itm_abr dd { text-overflow: inherit; }
}

@media screen and (min-width: 960px) {
.frm_box .ttl { line-height: 48px; }
}
/* =======================================================================================



HOME



======================================================================================= */
.srh_sct .frm_box { margin-bottom: 1rem; }
.srh_sct .frm_box .btn_box:last-of-type { padding-top: 0; }
.srh_sct form { padding-top: .5rem; }
.srh_sct .btn_gp3 li { min-height: 46px; }
.srh_sct .btn_gp3 li label { line-height: 1; }

.frm_tbl .chk_box label.oly_srh { display: none; }
.srh_sct .frm_tbl .chk_box label.oly_srh { display: inline-block; }

.frm_box p { padding: .5rem; font-size: 14px; }
.frm_box p + p { margin-top: .5rem; }
.frm_box p:last-of-type:not(.err) { margin-top: -.95rem; margin-bottom: .2rem; }

.res_ttl { overflow: hidden; height: 40px; margin-bottom: 1rem; line-height: 1; }
.res_ttl .ttl { float: left; margin-bottom: 0; padding: .2rem 1rem 0; }
.res_ttl .res_num { position: absolute; bottom: 0; left: 1rem; color: #73879c; font-size: 12px; }
.res_opt { float: right; }
.res_opt ol,
.res_opt ul { list-style: none; padding: 0; }
.res_opt li { float: left; display: table; padding-left: .5rem; }
.res_opt li a,
.res_opt li span { display: table-cell; width: 48px; height: 40px; padding: 0; color: #73879c; text-align: center; vertical-align: middle; text-decoration: none; text-shadow: 1px 1px 0 #f7f7f7;
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
.res_opt li .fa { display: block; font-size: 24px; }
.res_opt li small { display: none; }

.res_opt li a:hover,
.res_opt li span:hover { cursor: pointer; }

.res_opt li a:hover,
.res_opt li span:hover,
.res_opt li span.flg { background-color: #fff; color: #475b6f; box-shadow: 1px 1px 2px #ccc inset; text-shadow: none; }
.res_opt li span.flg { cursor: default; }

.res_sct { display: none; }

.res_sct .res_box.pnl { padding-right: .5rem; padding-left: .5rem; }

.res_tbl { font-size: 14px; }
.res_tbl thead { display: none; }
.res_tbl thead th { background-color: #e7eaec; color: #73879c; font-size: 13px; white-space: nowrap; text-shadow: 0 -1px 0 #f4f4f5; }
.res_tbl thead th + th { border-left: 1px solid #dcdcdc; }
.res_tbl tbody tr { display: block; padding: 0 .5rem .5rem; border-bottom: 1px solid #dee2e6; }
.res_tbl tbody tr + tr { margin-top: 2rem; }
.res_tbl tbody td { display: block; padding: .5rem 0; }
.res_tbl td.res_img { padding: 0; text-align: center; vertical-align: top; }
.res_tbl td.res_img img { width: 100%; }
.res_tbl .res_smr { padding-top: 0; padding-bottom: 0; }
.res_tbl .res_idn { padding-top: 0; }
.res_smr.itm_box dd b { display: inline-block; padding-right: 1rem; }
.res_smr small { display: inline-block; }
.res_tbl .res_idn dt { color: #73879c; }

.res_sct.flg .del_box,
.res_sct.flg .res_tbl .res_smr small,
.res_sct.flg .res_tbl .res_mre,
.res_sct.flg .res_tbl .res_idn label,
.res_sct .tmb_oly,
.res_sct.cnt_zro form .res_tbl thead,
.res_sct.cnt_zro form .del_box,
.res_sct.cnt_zro #now_pg,
.res_sct.cnt_zro #pg_cnt,
.res_sct.cnt_zro .num_txt_002,
.res_sct.cnt_zro .num_txt_003 { display: none; }

#pager:before { content: ''; }
.res_sct.cnt_zro #pager:before { display: block; text-align: center; content: '一致する画像は見つかりませんでした。'; }

.res_sct.flg .tmb_oly { display: inherit; }

.res_sct.flg .res_tbl tbody tr { float: left; width: 50%; padding: 0 .5rem 1.5rem; border-bottom: none; }
.res_sct.flg .res_tbl tbody tr + tr { margin-top: 0; }
.res_sct.flg .res_tbl tbody tr:nth-child(2n + 1) { clear: left; }
.res_sct.flg .res_tbl tbody td.res_img { width: 100%; padding-bottom: .25rem; }
.res_sct.flg .res_tbl tbody td.res_img,
.res_sct.flg .res_tbl .itm_box dl { margin: 0; }
.res_sct.flg .res_tbl .itm_box dd { padding-right: 0; }
.res_sct.flg .res_tbl .res_smr.itm_box { width: 100%; padding: 0 0 .25rem; }
.res_sct.flg .res_tbl .res_idn { display: none; width: 100%; padding: 0; font-size: 12px; text-align: left; }
.res_sct.flg .res_tbl .res_idn dl { width: 100%; }
.res_sct.flg .res_tbl .res_idn dt,
.res_sct.flg .res_tbl .res_idn dd { display: inline-block; }
.res_sct.flg .res_tbl .res_idn dt,
.res_sct.flg .res_tbl .res_idn dd b { padding-top: 0; padding-bottom: 0; }

.res_idn dl { display: table; }
.res_idn dt,
.res_idn dd,
.res_idn dd b,
.res_idn dd label { display: table-cell; }
.res_idn dt,
.res_idn dd b,
.res_idn dd label { padding-top: .5rem; padding-bottom: .5rem; text-align: left; vertical-align: top; }
.res_idn dd label { padding-right: .5rem; padding-left: .5rem; }
.res_idn dt,
.res_idn dd label { white-space: nowrap; }
.res_idn dt:after { content: '：'; }
.res_idn label .fa { padding: 0 .4rem; color: #888; }

@media screen and (min-width: 384px) {
.res_ttl { height: 48px; }
.res_ttl .ttl { padding: .25rem 1rem 0; }
.res_ttl .res_num { font-size: 13px; }
.res_opt li a,
.res_opt li span { width: 64px; height: 48px; }
.res_opt li small { display: block; margin-top: .2rem; font-size: 10px; }
}

@media screen and (min-width: 560px) {
.res_sct.flg .res_tbl tbody tr { width: 33.333333%; }
.res_sct.flg .res_tbl tbody tr:nth-child(2n + 1) { clear: none; }
.res_sct.flg .res_tbl tbody tr:nth-child(3n + 1) { clear: left; }
}

@media screen and (min-width: 640px) {
.res_sct:not(.flg) .res_box.pnl { padding-right: 1rem; padding-left: 1rem; }
.res_tbl thead { display: table-header-group; }
.res_sct.flg .res_tbl thead { display: none; }
.res_tbl tbody tr { display: table-row; padding: 0; }
.res_tbl tbody th,
.res_tbl tbody td { padding: .5rem; }
.res_tbl tbody th:first-child,
.res_tbl tbody td:first-child { padding-left: 0; padding-right: 0; }
.res_tbl tbody td { display: table-cell; vertical-align: middle; }
.res_tbl tbody td.res_img { padding: 1rem 0; }
.res_tbl .res_smr { padding: .25rem .5rem .25rem 1rem; vertical-align: middle; }

.res_sct.flg .res_tbl tbody td { display: block; }

.res_img { width: 36%; }
.res_smr { width: 62%; }

.res_idn { width: 2%; text-align: center; }
.res_idn dt { display: none; }
.res_idn dd b,
.res_idn dd label { display: block; }
}

@media screen and (min-width: 800px) {
.res_sct.flg .res_tbl tbody tr { width: 25%; }
.res_sct.flg .res_tbl tbody tr:nth-child(2n + 1) { clear: none; }
.res_sct.flg .res_tbl tbody tr:nth-child(3n + 1) { clear: none; }
.res_sct.flg .res_tbl tbody tr:nth-child(4n + 1) { clear: left; }
.res_sct.flg .res_tbl td.res_img { padding-top: 0; }
}

@media screen and (min-width: 960px) {
.res_ttl { min-height: 48px; }
}

@media screen and (min-width: 1280px) {
.res_img { width: 20%; }
.res_sct:not(.flg) .res_img img { min-width: 280px; width: 280px; }
.res_smr { width: 78%; }

.res_sct.flg .res_tbl tbody tr { width: 20%; }
.res_sct.flg .res_tbl tbody tr:nth-child(2n + 1) { clear: none; }
.res_sct.flg .res_tbl tbody tr:nth-child(3n + 1) { clear: none; }
.res_sct.flg .res_tbl tbody tr:nth-child(4n + 1) { clear: none; }
.res_sct.flg .res_tbl tbody tr:nth-child(5n + 1) { clear: left; }
}
/* =======================================================================================



ENTRY



======================================================================================= */
.ent_sct .frm_box .btn_box:last-of-type { margin-top: -.25rem; padding-top: 0; }
/* =======================================================================================



LIST



======================================================================================= */
.lst_sct .btn_box:last-of-type { padding-top: 0; }
/* =======================================================================================



TAG



======================================================================================= */
#tag_ara { /* jQueryで使用 */ }
#tag_lst { /* jQueryで使用 */ }
.tag_ara { pointer-events : none; }
.tag_box,
.tag_lst { padding-top: .5rem; }
.tag_lst ol,
.tag_lst ul { display: inline; list-style: none; padding: 0 0 .4rem; }
.tag_lst strong,
.tag_lst li { display: inline-block; margin-right: .6rem; }
.tag_lst li label { display: block; border-radius: 4px; padding: .4rem .7rem .6rem .4rem; line-height: 1;
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
.tag_lst li label:hover { background-color: #cde1f1; }
.tag_lst li.flg label { color: #aaa; text-decoration: line-through; }
.tag_lst li input { display: none; }

.tag_box { overflow: hidden; }
.tag_add { width: 256px;
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
.frm_tbl .tag_add input[type="text"] { width: calc(100% - 68px); margin-top: 0; margin-bottom: 0; border-right: none; }
.frm_tbl .tag_add input[type="text"]:focus { /*border-color: transparent;*/ }
.tag_add [class*="_btn"] { padding-top: .6em; padding-bottom: .7em; border-left: none; vertical-align: top;
-webkit-border-top-left-radius: 0;
    -moz-border-radius-topleft: 0;
       border-top-left-radius : 0;
-webkit-border-bottom-left-radius: 0;
    -moz-border-radius-bottomleft: 0;
       border-bottom-left-radius : 0;
}

@media screen and (max-width: 320px) {
.tag_add { width: 100%; }
}

@media screen and (min-width: 560px) {
.tag_box .tag_lst { float: left; width: calc(100% - 256px); padding-top: 0; }
.tag_add { float: right; }
}
/* =======================================================================================



DETAIL



======================================================================================= */
.dtl_unt { overflow: hidden; }
.dtl_sct form { padding-top: .5rem; }
.dtl_sct .frm_inr { border: 1px solid #73879c; }

.dtl_box a { text-decoration: none; }
.dtl_box a:hover { text-decoration: underline; }

.dtl_img,
.dtl_box { margin-bottom: 1rem; }
dt .dtl_box { margin-bottom: 0; }
.dtl_img img { width: 100%; }

.dtl_sct .col_tbl .scr_box,
.ent_sct .col_tbl .scr_box { overflow-y: auto; height: auto; }

.dtl_sct .frm_box .btn_box:last-of-type { margin-top: -.25rem; padding-top: 0; }

.dtl_box .exf_box dd { font-style: italic; }
.dtl_box .exf_pla a { font-size: 14px; letter-spacing: -.05em; text-decoration: none; }
.dtl_box .exf_pla a:hover { text-decoration: underline; }

@media screen and (min-width: 960px) {
.dtl_sct .frm_inr { padding-right: .5rem; padding-left: .5rem; }
.dtl_box .itm_box .itm_abr dd { white-space: normal; }
}

@media screen and (min-width: 1536px) {
.dtl_unt > dt,
.dtl_unt > dd { width: 49%; }
.dtl_unt > dt { float: left; }
.dtl_unt > dd { float: right; }
dt .dtl_box { margin-bottom: 1rem; }
dd .dtl_box .itm_box:first-child  { margin-top: 0; padding-top: 0; border-top: none; }
}
/* =======================================================================================



BACK TO THE TOP



======================================================================================= */
#btt { display: none; position: fixed; right: 8px; bottom: 8px; }
#btt span { display: block; width: 32px; height: 32px; margin: auto; padding-left: 1px; border: 1px solid #999; border-radius: 50%; color: #999; font-size: 20px; font-family: Arial; text-align: center; line-height: 30px; vertical-align: middle; cursor: pointer; }
#btt span *,
#btt span:after,
#btt span:hover {
-webkit-transition: all .2s ease-in;
        transition: all .2s ease-in;
}
#btt span:after { content: '△'; }
#btt span:hover { background-color: #999; color: #fff; }
/* =======================================================================================



FOOTER



======================================================================================= */
#cpy { color: #999; font-size: small; text-align: center; line-height: 48px; /* #bttの高さ分を確保 */ vertical-align: middle; opacity: 0; animation: 1s cpy forwards; }

@keyframes cpy {
from { opacity: 0; }
to { opacity: 1; }
}

@media screen and (min-width: 960px) {
#ftr { padding-left: 224px; }
}
@media screen and (min-width: 1280px) {
#ftr { padding-right: 3rem; }  
}
/* =======================================================================================



OVERWRITE



======================================================================================= */
a:hover b,
a b { text-decoration: inherit; }
