@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, span, sub, sup, strong, 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: .54; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
/* =======================================================================================



REDEFINITION



======================================================================================= */
html, body, input, select, select *, textarea, *:before, *:after { font-family: 'Noto Serif JP', 'Font Awesome 5 Free', 'Font Awesome 5 Brands', serif; }

html, body,
.mbl input,
*::placeholder { font-size: 16px; }

body { background: #231815; color: white; }

a { color: blue; }

b { display: inline-block; }

i { font-style: normal; }

strong { font-weight: 700; }
/* =======================================================================================



FORM



======================================================================================= */
input[type="button"], input[type="submit"] { color: #231815; -webkit-appearance: none; }
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 darkgray; 
-webkit-box-shadow: 0 1px 2px rgba(35,24,21,.7) inset;
        box-shadow: 0 1px 2px rgba(35,24,21,.7) 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: dimgray;
-webkit-box-shadow: 0 0 3px silver;
        box-shadow: 0 0 3px silver;
}
input[readonly="readonly"] { background-color: lightgray; color: lightgray; cursor: not-allowed; }
input[type="radio"] { border: none; -webkit-box-shadow: none; box-shadow: none; }
input, select, textarea { padding: 8px; }
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; }
label.btn input[type="checkbox"] { vertical-align: text-bottom; }
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(35,24,21,.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: 12px;
     border-top: .5em solid rgba(255,255,255,.4);
   border-right: .5em solid rgba(255,255,255,.4);
  border-bottom: .5em solid rgba(255,255,255,.4);
    border-left: .5em solid rgba(255,255,255,1);
-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



======================================================================================= */
#mvl_art { z-index: 21; }
#ovl_art { z-index: 22; }
#ftr { z-index: 23; }

#btt { z-index: 30; }
#ovl { z-index: 31; }

#hdx { z-index: 40; }

#swt { z-index: 50; }
#lod { z-index: 51; }
/* =======================================================================================



LAYOUT



======================================================================================= */
#hdr,
#man,
#ftr { clear: both; width: 100%; margin: 0 auto; }
#man { min-height: 24px; }
.prp { overflow: hidden; max-width: 1024px; width: 92%; margin: auto; }
ol.prp,
ul.prp { list-style: none; padding: 0; }

@media screen and (min-width: 640px) {
#man { min-height: 80px; }
}
/* =======================================================================================



PARALLAX SCROLLING



======================================================================================= */
.jarallax { z-index: 0; overflow: hidden; min-height: 400px; }
.jarallax > .jarallax-img { z-index: -1; object-fit: cover; font-family: 'object-fit: cover;'; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
@media screen and (min-width: 480px) {
.jarallax { min-height: 480px; }
}
@media screen and (min-width: 640px) {
.jarallax { min-height: 640px; }
}
/* =======================================================================================



jQuery



======================================================================================= */
.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_anm_fdo  {
-webkit-transition: .8s ease-out;
        transition: .8s ease-out;
-webkit-transform: translate3d(0,0,0);
    -ms-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
}
/* =======================================================================================



HEADER



======================================================================================= */
#qik { z-index: 3; }
#lgo { z-index: 4; }
#mnu { z-index: 5; }

/* HEADER FIXED */
#hdx { position: fixed; top: 0; left: 0; width: 100%; background-color: transparent;
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
#hdr.scy #hdx { background-color: rgba(35,24,21,.8); }

/* MASTHEAD */
#mhd { height: 64px; }
#lgo { position: absolute; top: 4px; right: 0; bottom: auto; left: 0; margin: auto; max-width: 88px;
-webkit-transform-origin: center top;
        transform-origin: center top;
-webkit-transition: all .4s ease-out;
        transition: all .4s ease-out;
}
#hdr.scy #lgo { top: 8px; max-width: 80px; }
#lgo a { display: block; }
/* QUICK MENU */
#qik { padding-right: 64px; text-align: right; }
#qik span { vertical-align: middle; }
#qik .mbr_box,
#qik .pin_box { padding-top: 13px; }

#qik .mbr_box { position: absolute; top: 0; left: 16px; }
#qik .mbr_inr a,
#qik .mbr_ico { height: 42px; }
#qik .mbr_inr a { display: block; color: #231815; text-align: center; text-decoration: none; }
#qik .mbr_ico { display: inline-block; width: 42px; border-radius: 50%; background-color: white; }
#qik .mbr_ico i { padding-top: 8px; font-size: 22px; line-height: 1; vertical-align: bottom; }
#qik .mbr_txt { display: none; max-width: 140px; padding-left: 2px; color: white; font-size: 11px; line-height: 1.2; text-align: left; }
#qik a:hover .mbr_txt { text-decoration: underline; }

#qik .pin_box { display: none; }
#qik .pin_inr a,
#qik .pin_ico { height: 40px; }
/* 2023年4月21日 block → inline-block */
#qik .pin_inr a { display: inline-block; color: #231815; text-align: center; vertical-align: top; text-decoration: none; }
#qik .pin_ico { display: inline-block; width: 40px; border-radius: 50%; background-color: white; }
#qik .pin_ico i { padding-top: 7px; font-size: 24px; line-height: 1; vertical-align: bottom;
-webkit-transition: all .6s ease-out;
        transition: all .6s ease-out;
}
.oth #qik a:hover .pin_ico i {
-webkit-transform: rotateY(180deg);
        transform: rotateY(180deg);
}

/* MENU */
#mnu { overflow-y: auto; position: fixed; top: 0; right: 0; max-width: 320px; width: 90%; height: 100%; padding: 80px 0 40px; background-color: rgba(35,24,21,.88); text-align: center;
-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 { box-shadow: 0 0 8px rgba(255,255,255,.3);
-webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
}
#glb { color: white; }
.glb_ttl { max-width: 160px; margin: 48px auto; }
.ie .glb_ttl { width: 160px; }
.glb_grp { list-style: none; padding: 0; }
.glb_grp li { padding: 16px; font-weight: 700; font-size: 18px; }
.glb_grp a { color: white; text-decoration: none; }
.glb_grp a:hover { text-decoration: underline; }
.glb_grp .mbr_box { font-size: inherit; }

/* 2023年4月21日 */
.sns_box ul { list-style: none; overflow: hidden; padding: 0; }
.sns_box li { float: left; }
.sns_box a { color: white !important; text-decoration: none; }
#qik .sns_box { display: none; padding-right: 4px; }
#qik .sns_box li { padding-right: 12px; font-size: 24px; line-height: 1.3; }

#glb .sns_box ul { display: inline-block; text-align: center; }
#glb .sns_box li { padding: 8px 16px 0; font-size: 32px; }

#ftr .sns_box ul { display: inline-block; text-align: center; }
#ftr .sns_box li { padding: 32px 16px 8px; font-size: 32px; }

/* OVERLAY */
#ovl { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; }
#ovl.flg { display: block; }

/* SWITCH */
#swt { position: fixed; top: 8px; right: 8px; width: 48px; height: 48px; background-color: transparent; text-align: center; vertical-align: middle; cursor: pointer; will-change: transform; }
#swt i { position: absolute; top: 8px; left: 4px; width: 40px; height: 32px; background-color: transparent; }
#swt span { position: absolute; right: 0; width: 100%; height: 4px; background-color: white;
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
#swt span:first-child { top: 0; }
#swt span:first-child + span { top: 50%;
-webkit-transform: translateY(-50%);
        transform: translateY(-50%);
}
#swt span:first-child + span + span { bottom: 0; }
#swt.flg { background-color: transparent; }

#swt.flg span:first-child {
-webkit-transform: translateY(16px) rotate(-45deg);
        transform: translateY(16px) rotate(-45deg);
}
#swt.flg span:first-child + span { opacity: 0; }
#swt.flg span:first-child + span + span {
-webkit-transform: translateY(-12px) rotate(45deg);
        transform: translateY(-12px) rotate(45deg);
}

@media screen and (min-width: 320px) {
#qik .pin_box { display: inline-block; }
}
@media screen and (min-width: 368px) {
#qik { padding-right: 72px; }
}
@media screen and (min-width: 420px) {
#qik .mbr_txt { display: inline-block; }
}
@media screen and (min-width: 600px) {
#qik .mbr_ico { width: auto; height: auto; border-radius: 0; background-color: transparent; color: white; }
#qik .mbr_ico i { padding-top: 0; font-size: 16px; vertical-align: initial; }
#qik .mbr_txt { max-width: initial; font-size: 12px; }
#qik .pin_box { padding-top: 17px; }
#qik .pin_inr a,
#qik .pin_ico { height: 32px; }
#qik .pin_ico { width: 32px; }
#qik .pin_ico i { padding-top: 4px; font-size: 20px; }
}
/* =======================================================================================



CHANGE MENU'S LAYOUT(MOBILE ⇔ PC)



======================================================================================= */
@media screen and (min-width: 640px) {
#mhd { height: 80px; }
#lgo { top: 16px; max-width: 160px; }
.ie #lgo { width: 160px; }
#hdr.scy #lgo { top: 10px; }
#swt { top: 16px; right: 16px; }
#qik { padding-right: 88px; }
#qik .mbr_txt { font-size: 12px; }
#qik .pin_box { padding-top: 25px; }
}

/* 2023年4月21日 */
@media screen and (min-width: 720px) {
#qik .sns_box { display: inline-block; }
}
@media screen and (min-width: 800px) {
#qik .sns_box { padding-right: 8px; }
#qik .sns_box li { padding-right: 16px; }
}

@media screen and (min-width: 1280px) {
#qik { padding-right: 96px; }
#qik .mbr_ico i { font-size: 18px; }
#qik .mbr_txt { font-size: inherit; }
}
/* =======================================================================================



MAIN



======================================================================================= */
#ovl_art { background-color: #231815; }
#hdr.flg #mhd,
#man.flg,
#ftr.flg {
-webkit-filter: blur(1px);
   -moz-filter: blur(1px);
    -ms-filter: blur(1px);
        filter: blur(1px);
}
/* =======================================================================================



MAIN VISUAL2
画像サイズ16:9 = 9/16*100 = 56.25



======================================================================================= */
.mvl_box2 { z-index: 2; }

.mvl_sct2 { width: 100%; padding: 88px 0 8px; background: linear-gradient(#2f2928,#231815); text-align: center; }
.mvl_img_box2 { overflow: hidden; margin: auto; }
.mvl_img_inr2 { max-width: 1600px; max-height: 520px; margin: auto; padding-top: 44%; background: url("../img/mvl_v13.png") center center no-repeat; background-size: cover;
-webkit-transition: all .4s ease-out;
        transition: all .4s ease-out;
-webkit-transform-origin: center bottom;
        transform-origin: center bottom;
}
#man.scy .mvl_img_inr2 {
-webkit-transform: scale(.8);
        transform: scale(.8);
}
@media screen and (min-width: 640px) {
.mvl_sct2 { padding: 120px 0 8px; }
}
@media screen and (min-width: 760px) {
.mvl_sct2 { padding: 176px 0 8px; }
.mvl_img_inr2 { padding-top: 32.5%; background-size: contain; }
}
@media screen and (min-width: 1600px) {
.mvl_img_inr2 { height: 520px; background-size: auto; }
}
/* =======================================================================================



MAIN VISUAL
画像サイズ16:9 = 9/16*100 = 56.25



======================================================================================= */
.scr_box { z-index: 5; }
.mvl_box { z-index: 4; }

.mvl_sct { display: table; width: 100%; padding: 56px 0 32px; background: linear-gradient(#2f2928,#231815); text-align: center; }
.mvl_img_box { display: table-cell; width: 100%; vertical-align: bottom; }
.mvl_img_box img { margin: auto;
-webkit-transform-origin: center bottom;
        transform-origin: center bottom;
-webkit-transition: all .4s ease-out;
        transition: all .4s ease-out;
}
.mvl_img_box .oth { display: none; }
.mvl_img_box .mbl { display: block; }

#man.scy .mvl_img_box img {
-webkit-transform: scale(.8);
        transform: scale(.8);
}

@media screen and (min-width: 760px) {
.mvl_img_box { padding-top: 0; }
.mvl_img_box .mbl { display: none; }
.mvl_img_box .oth { display: block; }
}
/* =======================================================================================




ABOUT




======================================================================================= */
.top.abt_box { padding-top: 40px; padding-bottom: 40px; }
.top.abt_ttl { padding: .5em; background: linear-gradient(rgba(1,104,206,.5),rgba(0,85,170,.5)); font-weight: 700; font-size: 28px; line-height: 1.3; }
.top.abt_txt { padding: 16px 0 0 26px; }
@media screen and (min-width: 640px) {
.top.abt_ttl { font-size: 32px; }
}
/* =======================================================================================



COMPONENT



======================================================================================= */
.ttl { min-width: 120px; margin-bottom: .75em; padding: .75em .5em; background-image: url("../img/hrz.png"); background-position: bottom center; background-repeat: no-repeat; font-weight: 700; font-size: 24px; }
.ttl a { text-decoration: none; }

.sub_ttl { min-width: 120px; margin-bottom: .75em; padding: .75em .5em; font-weight: 700; font-size: 26px; font-size: 22px; }

.led { font-weight: 400; font-size: 18px; }
.led a { color: white; text-decoration: none; }

.vrt_txt { -ms-writing-mode: tb-rl; writing-mode: vertical-rl; white-space: pre; }

.atn,
.err { color: red; }

/* テキスト揃え */
h1.cen, h2.cen, h3.cen, h4.cen, h5.cen, h6.cen, li.cen, p.cen, dt.cen, dd.cen, caption.cen, th.cen, td.cen { text-align: center; }
h1.rgt, h2.rgt, h3.rgt, h4.rgt, h5.rgt, h6.rgt, li.rgt, p.rgt, dt.rgt, dd.rgt, caption.rgt, th.rgt, td.rgt { text-align: right; }
h1.lft, h2.lft, h3.lft, h4.lft, h5.lft, h6.lft, li.lft, p.lft, dt.lft, dd.lft, caption.lft, th.lft, td.lft { text-align: left; }

/* 折り返さない */
.nwp { white-space: nowrap; }
th.nwp, td.nwp { width: 1%; }

/* 注意 */
.ast { padding-top: .5em; padding-left: 1em; text-indent: -1em; }
.ast:before { content: '※'; }
/* 注意リスト */
.ast_lst { padding: .5em 0 0; }
.ast_lst > li { list-style: none; padding-left: 1em; text-indent: -1em; }
.ast_lst > li:before { content: '※'; }
.ast_lst > li ol li,
.ast_lst > li ul li { list-style: disc; text-indent: 0; }

/* ボタン */
[class*="_btn"] { display: inline-block; border: none; line-height: 1.1; vertical-align: middle; text-align: center; text-decoration: none; cursor: pointer;
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
/* 詳細はこちらボタン */
.mre_btn { width: 68px; height: 68px; padding-top: 1em; border-radius: 50%; background-color: rgba(35,24,21,.5); background-image: url("../img/mre.png"); background-position: center center; background-repeat: no-repeat; background-size: cover; color: white; text-align: center; }
.oth .mre_btn:hover { background-color: rgba(255,255,255,.8); color: #231815; }

/* リンクボタン */
.lnk_btn { border: 2px solid #231815; margin: auto; padding: 1em 2.5em; background-color: white; color: #231815; }
.lnk_btn b,
.lnk_btn i { padding-right: .25em; padding-left: .25em; }
.lnk_btn:hover { background-color: whitesmoke; }

/* バッジ */
.bdg { width: 68px; height: 68px; padding-top: 1em; border-radius: 50%; background-color: rgba(35,24,21,.5); background-image: url("../img/mre.png"); background-position: center center; background-repeat: no-repeat; background-size: cover; color: white; text-align: center; line-height: 1.2; }
.bdg strong { font-weight: 700; }
.bdg strong { font-weight: 700; }
.bdg small { display: block; font-weight: 400; font-size: 13px; }

@media screen and (min-width: 640px) {
.ttl { font-size: 32px; }
.sub_ttl { font-size: 26px; }
}
/* =======================================================================================



BACK TO THE TOP



======================================================================================= */
#btt { display: none; position: fixed; right: 8px; bottom: 8px; }
#btt span { display: block; width: 40px; height: 40px; margin: auto; padding-left: 1px; border: 1px solid silver; border-radius: 50%; background-color: transparent; color: silver; font-size: 26px; font-family: Arial; text-align: center; line-height: 33px; vertical-align: middle; cursor: pointer; }
#btt span *,
#btt span:after,
#btt span:hover {
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
#btt span:after { content: '△'; }
#btt span:hover { background-color: silver; color: #231815; }
/* =======================================================================================




MODULE

_sct (セクション)
  _dsp (jQuery表示/非表示用)
    _wrp (ラップ)
    _pnl (パネル)
      _unt (レイアウトユニット(ul,ol,div))
      _box (レイアウトボックス)
        _inr (!boxに対してのインナー)
          _tbl (テーブル)
          _grp (グループ(ul,ol,dl,tr))

            _lst (li)
            _crd (カード(li))
            _itm (dl)
            _hed (dt,th,thead)
            _bdy (dd,td,tbody)
            _fot (dd,tfoot)
              _col (カラム最小単位の囲い)
                _ttl (タイトル)
                _led (リード文)
                _txt (テキスト)
                _ico (アイコン)
                _img (画像)
                _bgi (背景画像)
                _bnr (バナー)
                _btn (ボタン)




======================================================================================= */
div[class*="_sct"]:after { display: block; clear: both; content: ''; }

.pra_box { display: table; width: 100%; }
.pra_inr { display: table-cell; vertical-align: middle; }
.pra_col .ttl,
.pra_col .sub_ttl { z-index: 2; margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0; }

/* ページャー */
.pgr_box { margin: 40px auto 0; padding: 1em 0; line-height: 1; text-align: center; }
.pgr_box ol,
.pgr_box ul { list-style: none; overflow: hidden; display: inline-block; margin: auto; padding: 0; }
.pgr_box li { float: left; padding: .5em .5em 0; }
.pgr_box li a,
.pgr_box li span,
.pgr_box li input { display: inline-block; min-width: 2.4em; padding: .5em; border: 1px solid #231815; border-radius: 3px; background-color: white; color: #231815; line-height: 1.1; text-decoration: none;
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
.pgr_box a:hover,
.pgr_box input:hover { background-color: #231815; color: white; text-shadow: rgba(35,24,21,.5) 0 -1px 0; }
.pgr_box li span,
.pgr_box .cur { border-color: transparent; }
.pgr_box .prv a,
.pgr_box .prv span,
.pgr_box .prv input { padding-right: .6em; padding-left: 1.5em; }
.pgr_box .nxt a,
.pgr_box .nxt span,
.pgr_box .nxt input{ padding-right: 1.5em; padding-left: .6em; }
.pgr_box .prv a:after,
.pgr_box .nxt a:after { position: absolute; top: 50%;
-webkit-transform: translateY(-50%);
        transform: translateY(-50%);
}
.pgr_box .prv a:after { left: .5em; font-weight: 900; content: '\f104'; }
.pgr_box .nxt a:after { right: .5em; font-weight: 900; content: '\f105'; }
.pgr_box .prv a:after:hover,
.pgr_box .nxt a:after:hover { color: white; }

/* フォームボタン：レイアウト */
.sbm_box { margin: 40px auto 0; line-height: 1; }
.sbm_box ol,
.sbm_box ul { list-style: none; display: table; table-layout: fixed; margin: auto; padding: 0; }
.sbm_box li { display: table-cell; width: 33.333333%; padding: .5em .5em 0; vertical-align: top; text-align: center; }
.sbm_box li:first-child { }
.sbm_box li:first-child + li { }
.sbm_box li:first-child + li + li { }
/* フォームボタン：共通 */
.frm_btn { min-height: 48px; margin: auto; padding-right: 3em; padding-left: 3em; border-radius: 4px; border-width: 2px; border-style: solid; }
.frm_btn b { padding-top: 12px; }
.frm_btn:before { position: absolute; top: 50%; font-weight: 900;
-webkit-transform: translateY(-50%);
        transform: translateY(-50%);
}
/* フォームボタン：送信ボタン */
.sbm_btn { padding: 1em 2em; border-color: #231815; background-color: white; color: #231815; font-weight: 900; }
.sbm_btn:hover { background-color: aliceblue; }
/* フォームボタン：キャンセル */
.non_btn { border-color: #231815; background-color: lightgray; color: #231815; }
.non_btn:hover { background-color: white; }
.non_btn:before { left: .9em; content: '\f048'; }

/* テーブル ※初期値はseparate。collapseはブラウザ毎に解釈が異なるの注意 */
[class*="_tbl"] { margin: 0 auto; border-spacing: 0; }

/* テーブル 表用 */
.grd_tbl { border-collapse: collapse; }
.grd_tbl th,
.grd_tbl td { padding-right: 1em; border: 1px solid gray; }
.grd_tbl th { background-color: gainsboro; color: dimgray; }

/* テーブル 横長 スマホ時にスクロールバー */
.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: 560px; width: 100%; max-width: initial; max-width: none; }
.mbl .scx table th,
.mbl .scx table td { white-space: nowrap; }
.mbl .scx::-webkit-scrollbar { height: 1em;/* tableにスクロールバーを追加 */ }
.mbl .scx::-webkit-scrollbar-track { background: whitesmoke;/* tableにスクロールバーを追加 */ }
.mbl .scx::-webkit-scrollbar-thumb { background-color: gainsboro;/* tableにスクロールバーを追加 */ }
/* =======================================================================================



お品書き



======================================================================================= */
.osg_sct.prp { overflow: visible; }
.osg_sct.prp:after,
.osg_unt:after,
.osg_grp:after { display: block; clear: both; content: ''; }
.top.osg_sct { padding-top: 24px; padding-bottom: 40px; }
.osg_sct .led { margin: 1em auto .75em; }
.osg_unt,
.osg_grp,
.osg_tpg_box ul,
.osg_tpg_box ol,
.osg_drk_box ul,
.osg_drk_box ol { list-style: none; padding: 0; }
.osg_grp + .ttl { margin-top: 40px; }

.osg_sct .slick-prev,
.osg_sct .slick-next { z-index: 2; width: 32px; height: 32px; border: 1px solid transparent; border-radius: 50%; background-color: rgba(255,255,255,.6);
-webkit-transition: all .2s linear;
        transition: all .2s linear;
}
.osg_sct .slick-prev { left: -4px; }
.osg_sct .slick-next { right: -4px; }
.osg_sct .slick-prev:before,
.osg_sct .slick-next:before { color:#231815; font-family: 'Font Awesome 5 Free'; font-weight: 900; font-size: 14px; }
.osg_sct .slick-prev:before { margin-left: -2px; content: '\f053'; }
.osg_sct .slick-next:before { margin-right: -2px; content: '\f054'; }
.osg_sct .slick-prev:hover,
.osg_sct .slick-prev:focus,
.osg_sct .slick-next:hover,
.osg_sct .slick-next:focus { background-color: white; }

.osg_crd { padding: 8px; }
.osg_itm { }
.osg_hed { overflow: hidden; background-color: #231815; }
.osg_ifs_txt_v10 { display: none; }


/* 一般のお客様・旅行代理店（メンバー）切り替え */
.slick-initialized .slick-slide.osg_crd.mem,
.osg_crd.mem,
.osg_prc.mem,
.osg_txt.mem,
.mem_sct .osg_prc:not(.mem) { display: none; }

.mem_sct .osg_crd.mem,
.mem_sct .osg_prc.mem,
.mem_sct .osg_txt.mem { display: block; }

.osg_txt { padding-top: .5em; }

.osg_mre { padding-top: .5em; }
.osg_mre a { text-decoration:  none; }
.osg_mre a,
.osg_mre span { display: inline-block; padding: 4px 8px; background-color: #cb2f2f; color: #fff; font-size: 12px; text-align: center; }

.low .osg_bdy p.osg_txt small { font-size: 12px; }

.top .osg_hed img[src*="itm_s10"] { margin-top: -24px; margin-bottom: 24px; }
.osg_hed .pos_mdl { position: absolute; top: 50%; left: 0; width: 100%; }
.osg_hed .pos_btm { position: absolute; bottom: 0; left: 0; width: 100%; }
.osg_hed p { padding: 8px; font-size: 13px; line-height: 1.2; letter-spacing: -.03em; }
.osg_hed p br { display: none; }
.osg_hed p small { font-size: xx-small; }
.osg_bdy { display: table; width: 100%; }
.osg_col { display: table-cell; height: 104px; padding: 8px; background: linear-gradient(-45deg, #c4a14d 30%, #e2c377 70%); color: #231815; vertical-align: middle; text-align: center; }
.osg_bdy h3 { font-size: 14px; line-height: 1.2; text-shadow: -1px -1px 0 rgba(208,186,133,.8); }
.osg_bdy h3 small { display: block; }
.top .osg_bdy h3 small { font-size: 11px; }
.low .osg_bdy h3 small { font-size: 12px; }
.osg_bdy p { font-size: 12px; line-height: 1.2; }
.osg_bdy p small { display: inline-block; padding-left: .5em; font-size: xx-small; }

.osg_mso_box { border-radius: 16px; border: 8px solid #231815; background: linear-gradient(#ebcf8e, #e2c277, #d5aa44); }
.osg_mso_box .bdg { position: absolute; right: -12px; bottom: -8px; padding-top: 16px; }
.osg_mso_box .bdg strong { padding-left: .25em; letter-spacing: .25em; font-size: 18px; }
.osg_mso_box br { display: none; }
.mso_itm { display: table; table-layout: fixed; width: 100%; }
.mso_hed,
.mso_bdy { display: table-cell; vertical-align: middle; }
.mso_hed { width: 60%; padding: 8px 0 8px 12px; color: #231815; font-size: 13px; }
.mso_bdy { width: 40%; text-align: right; }
.mso_bdy img { margin: auto; border-radius: 0 16px 16px 0; }

.top.osg_drk_box { padding: 16px 8px; }
.top.osg_drk_box h3 { font-weight: 700; }
.top.osg_drk_box li { display: inline-block; padding: .15em; }
.top.osg_drk_box dd { display: none !important; }

@media screen and (min-width: 368px) {
.mso_hed { padding-left: 16px; font-size: 14px; line-height: 1.4; }
}
@media screen and (min-width: 424px) {
.osg_bdy h3,
.osg_bdy p,
.mso_hed { font-size: inherit; }
}
@media screen and (min-width: 520px) {
.osg_bdy p small { font-size: 12px; }
}
@media screen and (min-width: 560px) {
.osg_bdy h3,
.mso_hed { font-size: 14px; }
.osg_bdy p { font-size: 12px; }
.osg_bdy p small { font-size: xx-small; }
.mso_bdy img { max-height: 120px; border-radius: 8px; }
}
@media screen and (min-width: 640px) {
.top.osg_unt { display: table; table-layout: fixed; width: 100%; }
.top.osg_box { display: table-cell; vertical-align: middle; }
.top.osg_man_box,
.top.osg_sde_box { width: 70%; }
.top.osg_mso_box,
.top.osg_drk_box { width: 30%; }
.top .mso_itm,
.top .mso_hed,
.top .mso_bdy { display: block; width: 100%; }
.osg_bdy p { font-size: inherit; }
.osg_hed p br { display: inline; }

.mso_hed { padding-left: 2em; }
.top .mso_hed { padding-right: 8px; padding-left: 8px; }
.top .mso_bdy { text-align: center; }
.mso_hed small { display: inline-block; }

.top.osg_drk_box { padding: 16px; }
.top.osg_drk_box h3,
.top.osg_drk_box li { font-size: 14px; }
}
@media screen and (min-width: 800px) {
.osg_bdy h3 { font-size: 17px; line-height: 1.4; }
.mso_hed { padding-right: 16px; padding-left: 16px; }

.top.osg_drk_box { padding-right: 0; }
.top.osg_drk_box h3,
.top.osg_drk_box li { font-size: inherit; }
.top.osg_drk_box li { padding: .25em .5em; }
}
@media screen and (min-width: 880px) {
.mso_bdy img { width: auto; max-height: 160px; }
}
@media screen and (min-width: 960px) {
.top .mso_bdy img { max-height: 128px; }
}
@media screen and (min-width: 1024px) {
.osg_sct { padding-bottom: 64px; }

.top.osg_man_box,
.top.osg_sde_box { width: 75%; }
.top.osg_mso_box,
.top.osg_drk_box { width: 25%; }

.top .mso_hed { font-size: 14px; }
.top .mso_hed small { display: block; text-align: right; }
.top .mso_bdy img { max-height: 160px; }
}
@media screen and (min-width: 1088px) {
.osg_mso_box br { display: inline; }
.osg_mso_box .bdg { bottom: -16px; }
}
/* =======================================================================================



お召し上がり方



======================================================================================= */
.hwt_sct { padding-top: 40px; padding-bottom: 64px; background: #231815 url("../img/hwt_bgi.png"); }
.hwt_sct .led { margin-bottom: 1em; padding: 0 24px; }
.hwt_grp { list-style: none; padding: 0; }
.hwt_itm { width: 100%; max-width: 360px; margin: auto; }
.hwt_box { padding: 8px 0; }
.hwt_hed { background-color: #f1c875; }
.hwt_bdy { padding: 24px 32px; background-color: rgba(255,251,244,.8); color: #231815; }
.hwt_bdy * + p { margin-top: 1em; }

@media screen and (min-width: 560px) {
.hwt_itm { display: table; table-layout: fixed; max-width: 900px; }
.hwt_hed,
.hwt_bdy { display: table-cell; vertical-align: middle; }
.hwt_hed { width: 40%; background-color: #f1c875; }
.hwt_bdy { width: 60%; font-size: 14px; }
}
@media screen and (min-width: 960px) {
.hwt_sct { padding-bottom: 80px; }
.hwt_bdy { font-size: inherit; }
}
/* =======================================================================================



アクセス



======================================================================================= */
.zmn_box { padding: 0 24px 24px; text-align: center; }
.zmn_box img { display: block; width: 600px; margin: auto; }
.acs_sct { background: #231815; padding-top: 64px; padding-bottom: 64px; }
.map_box { width: 100%; min-height: 560px; overflow: hidden; margin: 24px auto 0; background-image: url("../img/acs_v10.jpg"); background-repeat: no-repeat; background-position: left top; background-size: contain; }
.map_inr { margin-top: -10%; padding: 56.25% 24px 0; }
.map_col { width: 100%; max-width: 904px; height: 100%; max-height: 480px; margin: auto; text-align: center; }
.map_col iframe { width: 100%; margin: auto; }
.trf_wrp { }
.trf_unt { list-style: none; overflow: hidden; padding: 0; }
.trf_box { padding: 16px 40px; }
.trf_col { }
.trf_col h3 { margin-bottom: 1em; }
.trf_col h3 i { padding-right: .25em; }

@media screen and (min-width: 640px) {
.trf_unt { display: table; table-layout: fixed; margin: auto; }
.trf_box { display: table-cell; width: 50%; padding: 40px; border-right: 1px solid white; vertical-align: top; }
.trf_box + .trf_box { border-right: none; border-left: 1px solid white; }
}
@media screen and (min-width: 960px) {
.map_box { display: table; width: 100%; min-height: 560px; overflow: hidden; margin: 40px auto 0; background-size: cover; }
.map_inr { display: table-cell; padding: 40px 40px 40px 50%; vertical-align: middle; }
.map_col iframe { max-width: 480px; }
}
@media screen and (min-width: 1280px) {
.map_box { background-position: left top -160px; }
}
/* =======================================================================================



ログイン



======================================================================================= */
.mbr_inr { }
.mbr_frm { max-width: 400px; width: 92%; margin: auto; }
.mbr_frm .txt_ipt { width: 100%; }
.mbr_lgn_grp { padding-bottom: 16px; }
.mbr_lgn_grp dt { font-size: 18px; }
.mbr_lgn_grp dd { padding-bottom: 16px; }
.mbr_frm .btn_box { text-align: center; }
/* =======================================================================================



FOOTER



======================================================================================= */
#ftr {  }
.ftr_box {  }
.ftr_inr { padding: 24px 16px 0; text-align: center; }
.ftr_ttl { max-width: 320px; margin: auto; }
#cpy { color: darkgray; font-size: small; text-align: center; line-height: 56px; /* #bttの高さ分を確保 */ vertical-align: middle; }
/* =======================================================================================



OVERWRITE



======================================================================================= */
a:hover b,
a b { text-decoration: inherit; }



