@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, 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; }
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, *::placeholder { font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', Helvetica, YuGothic, 'Yu Gothic Medium', 'Yu Gothic', Verdana, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; font-size: 16px; }

body { background-color: #99aaba; /*background-image: url("/assets/img/bg.png");*/ color: #fff; }

a,
a:hover { color: #fff; text-decoration: none; }

b { display: inline-block; }

i { font-style: normal; }

iframe { border: 0; }

table { border-spacing: 0; }

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



Z-INDEX



======================================================================================= */
header { z-index: 45; }
#loading { z-index: 5; }
#trigger { z-index: 4; }
#masthead { z-index: 3; }
#overlay,
#underlay { z-index: 2; }

footer { z-index: 44; }
#backToTop { z-index: 3; }

main { z-index: 43; }

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



LOADING



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

#loading { display: none!important; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(153,170,186,.9); text-align: center; }
#loading b { display: block; font-family: "Poppins", serif; font-weight: 400; font-style: italic; }
#loading i,
#loading i:after { border-radius: 50%; width: 4em; height: 4em; }
#loading 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 #fff;
transform: translateZ(0);
animation: loading 1.1s infinite linear;
}
@keyframes loading {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

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



LAYOUT



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

header,
main,
footer { clear: both; width: 100%; margin: 0 auto; }

main,
footer { filter: none; }
main.flag,
footer.flag { filter: blur(2px); transform: translate3d(0,-70px,0); }

header,
article,
section,
main div,
footer { position: relative; }

article:after,
section:after { display: block; clear: both; content: ''; }

article:has([class*="mv_unit"]) + article { background-color: #99aaba; overflow: hidden; z-index: 1; }

.inner { max-width: 1120px; margin: auto; padding: 0 1rem; }

.box { list-style: none; padding: 0; }
.box.col { display: flex; flex-direction: column; }

.box.row,
.box.row1,
.box.row2,
.box.row3,
.box.row4,
.box.row5,
.box.row6 { display: flex; flex-direction: row; }

.box.row2,
.box.row3,
.box.row4,
.box.row5,
.box.row6 { flex-wrap: wrap; }

.box.row1 > *,
.box.row2 > *,
.box.row3 > *,
.box.row4 > *,
.box.row5 > * { flex-basis: 100%; }

.box.row6 > * { flex-basis: 50%; }

[class*="_btn"] { display: inline-block; overflow: hidden; margin: auto; line-height: 1; text-align: center; vertical-align: middle; text-decoration: none !important; cursor: pointer; transition: all .2s linear; }
a[class*="_btn"]:before { display: inline-block; width: 0; height: 100%; vertical-align: middle; content: ''; }


@media screen and (min-width: 370px) {
.box.row2 > *,
.box.row3 > *,
.box.row5 > * { flex-basis: 50%; }
.box.row4 > * { flex-basis: 50%; }
.box.row2:has(> *.row2, > *.row3, > *.row4, > *.row5, > *.row6) > * { flex-basis: 100%; }
}

@media screen and (min-width: 560px) {
.box.row5 > * { flex-basis: calc(100% / 3); }
}

@media screen and (min-width: 640px) {
.box.row3 > * { flex-basis: calc(100% / 3); }
}

@media screen and (min-width: 760px) {
main.flag,
footer.flag { filter: blur(2px); transform: translate3d(0,-176px,0); }

.box.row2:has(> *.row2, > *.row3, > *.row4, > *.row5, > *.row6) > * { flex-basis: 50%; }
.box.row4 > * { flex-basis: 25%; }
}
@media screen and (min-width: 880px) {
.box.row5 > * { flex-basis: 20%; }
.box.row6 > * { flex-basis: calc(100% / 3);}
}
@media screen and (min-width: 1152px) {
.inner { padding: 0; }
.box.row6 > * { flex-basis: calc(100% / 6); }
}

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



FONT
  行送り 30pt → 30pt/15px(サイズ) = 2
   ⇒ line-height: 2;
  文字間 115 → 115/ 1000 = 0.115
   ⇒ letter-spacing: .115em;



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

.top_promo_sub h3,
.zen-kaku-gothic-new-light {
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 300;
  font-style: normal;
}

.link_btn,
.nav_acc2_inner li,
.nav_acc2_inner dt,
.top_news_box .arrow,
.top_lead_box p,
.top_news_slick dl *:nth-child(3),
.top_promo_ttl p,
.top_promo_sub p,
.footer_unit li,
.side_banner li,
.copyright,
.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 400;
  font-style: normal;
}

.nav_acc1_inner > li > span,
.nav_acc1_inner > li > a,
.top_lead_box h2,
.top_lineup_slick figcaption,
.top_item_card h2,
.top_item_card h3,
.top_item_card h4,
.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 500;
  font-style: normal;
}

.nav_sub_box > li > span,
.nav_sub_box > li > a,
.poppins-light {
  font-family: "Poppins", serif;
  font-weight: 300;
  font-style: normal;
}

.top_news_box > dd b,
.top_news_slick dt,
.top_news_slick dd:first-of-type,
.top_promo_ttl h2,
.poppins-regular {
  font-family: "Poppins", serif;
  font-weight: 400;
  font-style: normal;
}
/* =======================================================================================



ANIMATION (ABOVE THE FOLD)



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

.anime_fadeout { transition: .8s ease-out; }

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



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; 
box-shadow: 0 1px 2px rgba(0,0,0,.07) inset; 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; box-shadow: 0 0 3px #ccc; }
input[readonly="readonly"] { background-color: #eee; color: #eee; cursor: not-allowed; }
input[type="radio"] { border: 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 { box-shadow: none; }
label { vertical-align: middle; cursor: pointer; }

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



HEADER



======================================================================================= */
header,
#masthead { min-height: 70px; }

.logo { line-height: 1; }
.logo a { display: inline-block; text-align: center; }
.logo img { display: block; margin-right: auto; margin-left: auto; transition: all .4s linear; }
.logo1,
.logo2 { width: 48px; }
.logo2 { margin-top: 8px; }

#masthead  { position: fixed; top: 0; left: 0; width: 100%; background-color: rgba(153,170,186,.8); transition: all .5s linear; }
header.flag #masthead { background-color: #99aaba; }
#masthead,
header.scroll #masthead { padding: 11px 0 11.25px; }

.masthead_box { align-items: center; }
.masthead_box > dd { flex-grow: 1; }

.nav_sup,
.nav_sub { padding: 0 1rem; }

.nav_sub ol,
.nav_sub ul { list-style: none; }


#nav_sup { display: none; margin-right: 46px; }
#nav_sup .nav_sup > .box { justify-content: flex-end; }

.nav_sup > .box > *:first-child { padding-right: 5px; }
.nav_sup > .box > *:last-child { padding-left: 5px; }
.link_btn { max-width: 100%; width: 120px; padding: 6px 8px 8px; border: 1px solid rgba(255,255,255,.4); font-size: 12px; letter-spacing: .135em; }
.link_btn:hover { background-color: rgba(153,170,186,.8); }

#nav_mobile { display: none; }

#trigger { position: absolute; top: 18px; right: 14px; width: 48px; }
#trigger.flag { right: 6px; }
#hamburger { height: 32px; background-color: transparent; text-align: center; cursor: pointer; will-change: transform; }
#hamburger div { background-color: transparent; }
#hamburger span { position: absolute; left: 0; width: 100%; height: 2px; background-color: #fff; transition: all .2s linear; }
#hamburger span:first-child { top: 4px; }
#hamburger span:nth-child(2) { top: 50%; transform: translateY(-50%); }
#hamburger span:last-child { bottom: 4px; }
#hamburger.flag span { width: 82%; background-color: #ecf0f1; }
#hamburger.flag span:first-child { top: 2px; transform: translateY(14px) rotate(-45deg); }
#hamburger.flag span:nth-child(2) { opacity: 0; }
#hamburger.flag span:last-child { bottom: 6px; transform: translateY(-7px) rotate(45deg); }

#menu { position: fixed; top: 70px; right: 0; min-width: 264px; width: 100%; height: 100%; padding: 2rem 1.5rem 10rem; background-color: #adbbc8; transform: translate3d(100%,0,0); }
#menu.open { overflow-y: auto; transform: translate3d(0,0,0); }

#menu.open .nav_sup,
#menu.open .nav_sub { padding: 0; }

#menu.open .nav_sup { margin-bottom: 24px; }
#menu.open .nav_sup .box.row > * { width: 50%; }
#menu.open .link_btn { width: 100%; }
#menu.open .nav_sub > ul > li { margin-bottom: 24px; }

#menu.open .nav_sup .box > *:first-child {  }
#menu.open .nav_sup .box > *:last-child {  }

#menu.open #nav_mobile { display: block; margin-top: 48px; }
#menu.open .sns_box { font-size: 32px; line-height: 1; }
#menu.open .sns_box > *:nth-child(n+2) { margin-left: 2rem; }


#overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; }
#overlay.flag { display: block; }

.nav_sub_box { padding: 0; }
.nav_sub_box > li > span,
.nav_sub_box > li > a { letter-spacing: .12em; }
.nav_sub { font-size: 14px; }


.nav_acc1_box,
.nav_acc2_box { display: none; }
.nav_acc1_ttl,
.nav_acc2_ttl { cursor: pointer; }

.nav_acc1_ttl { position: relative; }

.nav_acc1_inner { padding: 16px 0; background-color: #adbbc8; }


.nav_acc2_ttl { display: block; padding: 8px 18px 16px; }
.nav_acc2_inner { padding-bottom: 24px; }
.nav_acc2_inner ul,
.nav_acc2_inner ol,
.nav_acc2_inner dl { padding-left: 3em;}
.nav_acc2_inner > *:nth-child(n+2)  { padding-top: 1em;}
.nav_acc2_inner > dl > dt + dd { padding-top: 10px; }
.nav_acc2_inner li { margin-bottom: 10px; }

.nav_acc2_inner li a { display: flex; align-items: center; }
.nav_acc2_inner li a:before { width: 12px; height: 1px; margin-right: 7px; background-color: #fff; content: ''; }

@media screen and (min-width: 420px) {
#nav_sup { display: block; }
#menu .nav_sup { display: none; }
}

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



HEADER CHANGE MENU'S LAYOUT



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

@media screen and (min-width: 760px) {

#underlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 440px; /* header＋ nav_acc1_boxの高さ＋α */ }
#underlay.flag { display: block; }



.nav_acc1_box { position: absolute; left: 0; width: 100%; }
.nav_acc2_box { position: absolute; left: -50%; width: 200%; }
.nav_acc1_inner { display: flex; flex-wrap: wrap; z-index: 1; max-width: 1120px; margin: auto; transform: translate3d(0, 20px, 0); }
header.scroll .nav_acc1_inner { transform: translate3d(0, 10px, 0); }
.nav_acc2_inner { display: flex; flex-wrap: wrap; z-index: 2; transform: translate3d(25%, 4px, 0); }
.nav_acc2_inner > *:first-child { padding-top: 1em; }
.nav_acc2_inner > *:nth-child(n+2) { padding-left: 3em; }
.nav_acc2_ttl { padding: 8px 23px 16px; }

.nav_acc1_ttl.flag:before {
position: absolute;
top: -16%;
left: -16%;
width: 132%;
height: 280%;
background-color: rgba(255, 255, 255, .2);
z-index: -2;
transition: all .2s linear;
content: '';
}

.nav_acc1_inner:after {
  z-index: -2;
  background-color: #adbbc8;
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;
  content: '';
  transition: all .2s linear;
}

.nav_acc2_inner:after {
  z-index: -1;
  background-color: #adbbc8;
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;
  content: '';
  transition: all .2s linear;
}






header,
#masthead { min-height: 176px; }
#masthead { padding: 56px 0 0; }
.masthead_box { height: 90px; align-items: flex-end; }
.masthead_box > *:first-child + * { margin-left: auto; }
.logo1 { width: 98px; }
header.scroll .logo1 { width: 64px; }
.logo2 { width: 70px; margin-top: 14px; }
header.scroll .logo2 { display: none; }
#nav_sup { display: none; }
#menu .nav_sup { display: block; padding-bottom: 18px; }
.nav_sup,
.nav_sub { padding-right: 0; }
.nav_sup .box { justify-content: flex-end; }

.nav_sub > ul { display: flex; justify-content: flex-end; }
.nav_sub > ul > li { padding: 0 10px 0;  }
.nav_sub > ul > li:first-child { padding-left: 0; }
.nav_sub > ul > li:last-child { padding-right: 0; }
.nav_sub .box > * { padding-left: 26px; }
#trigger { display: none; }
#menu { position: unset; top: auto; right: auto; width: auto; padding: 0; background-color: transparent; transform: none; }




}

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



COMPONENT



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

/* 注意事項 */
li.ast,
p.ast,
span.ast,
ul.ast > li,
ol.ast > li { padding-left: 1em; text-indent: -1em; }

li.ast:before,
p.ast:before,

span.ast:before,
ul.ast > li:before,
ol.ast > li:before { padding-right: .15em; padding-left: .15em; content: '※'; }

.ast > b {  }

/* 折り返さない */
.nowrap { white-space: nowrap; flex-wrap: nowrap !important; }
th.nowrap,
td.nowrap { width: 3%; }


.ttl { }

.sub_ttl { }

/* テキスト揃え */
div.center { margin: auto; text-align: center; }
h1.center,
h2.center,
h3.center,
h4.center,
h5.center,
h6.center,
li.center,
p.center,
dt.center,
dd.center,
th.center,
td.center { text-align: center; }

h1.left,
h2.left,
h3.left,
h4.left,
h5.left,
h5.left,
h6.left,
li.left,
p.left,
dt.left,
dd.left,
th.left,
td.left,
.pager_box.left { text-align: left; }

h1.right,
h2.right,
h3.right,
h4.right,
h5.right,
h6.right,
li.right,
p.right,
dt.right,
dd.right,
th.right,
td.right,
input.right,
select.right,
.btn_box > *.right { text-align: right; }

.box > *.right { margin-left: auto; }


/* 罫線 */
hr.solid { height: 1px; margin: auto; background-color: transparent; border: none; border-top: 1px solid rgba(255,255,255,.4); }
hr.dotted { height: 2px; background-color: transparent; border: none; border-top: 2px dotted #bdc9d1; }

@media screen and (min-width: 320px) {

}

@media screen and (min-width: 560px) {

}

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



MODULE

_unit (article,section,div)
  _dsp (jQuery表示/非表示用)
  _box (レイアウトボックス(div,ol,ul,dl))
  _inner (unitやboxのインナー)
    _tbl (table)
      _item (li,dt,dd)
      _card (li)
      _col (列)
      _row (行)
      _ttl (タイトル)
      _lead (リード文)
      _txt (テキスト)
      _ico (アイコン)
      _img (画像)
      _bnr (バナー)
      _btn (ボタン)



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

/* ボタン */
.btn_box > * { flex-basis: 100%; padding: .25rem; }
.btn_box > *:empty { padding: 0!important; line-height: 1; }

/* 送信ボタン */
.submit_btn {  }
.submit_btn:hover {  }
/* 登録ボタン */
.entry_btn { }
.entry_btn:hover { }
/* 通常ボタン */
.normal_btn { }
.normal_btn:hover { }
/* 削除ボタン */
.delete_btn {  }
.delete_btn:hover {  }

/* 進む戻るボタン */
.prev:before,
.next:before,
li:has(input.prev, input.next):before { position: absolute; top: 50%; transform: translateY(-50%); }

a.prev:before,
li:has(input.prev):before { left: 1em; }
a.next:before,
li:has(input.next):before { right: 1em; }

li:has(input.prev, input.next):before { color: #ecf0f1; }
li:hover:has(input.prev, input.next):before { color: #212529; }

.prev [class*="_btn"],
.next [class*="_btn"] { width: 100%; }
/* ページャー */
.pager_box { overflow: hidden; margin: 0 auto 1rem; text-align: center; }
.pager_box ol,
.pager_box ul { list-style: none; display: inline-block; margin: auto; padding: 0; }
.pager_box li { float: left; margin: .5em .5em 0; }
.pager_box li a,
.pager_box li input,
.pager_box li button { display: block; padding: .5em 1em; border: 1px solid #73879c; background-color: #73879c; color: #ecf0f1; line-height: 1; text-decoration: none; transition: all .2s linear; }
.pager_box li .prev { padding-left: 2em; }
.pager_box li .next { padding-right: 2em; }
.pager_box li .cur,
.pager_box li a:hover,
.pager_box li input:hover,
.pager_box li button:hover { background-color: #fff; color: #212529; }

@media screen and (max-width: 360px) {
.btn_box [class*="_btn"] { width: 100%; }
}

@media screen and (min-width: 360px) {
.btn_box:has(> :nth-child(2):last-child, > :nth-child(3):last-child) > * { flex-basis: calc(100% / 3); }
.btn_box:has(> :nth-child(2):last-child) > div.center { margin-right: 0; margin-left: 0; }
}

@media screen and (min-width: 400px) {
.btn_box [class*="_btn"] {  }
}

/* テーブル ※デフォルトはseparate */
[class*="_tbl"] { width: 100%; margin: 0 auto; border-collapse: collapse; border-spacing: 0; }
[class*="_tbl"] th,
[class*="_tbl"] td { padding: 1rem .5rem; }

/* 横長テーブル用 スマホ時に横スクロールバー */
.tbl_box { margin-bottom: 1rem; overflow-x: auto; white-space: nowrap; animation-fill-mode: both; }
.tbl_box > table { margin-bottom: 1rem; }
.tbl_box::-webkit-scrollbar { height: 24px;/* tableにスクロールバーを追加 */ }
.tbl_box::-webkit-scrollbar-track { background: #f1f1f1;/* tableにスクロールバーを追加 */ }
.tbl_box::-webkit-scrollbar-thumb { background-color: #bcbcbc;/* tableにスクロールバーを追加 */ }

/* テーブル 横線 */
.list_tbl { margin-bottom: 1rem; background-color: #fff; }
.list_tbl tr { border-bottom: 1px solid #e7eaec; }
.list_tbl th,
.list_tbl td { }
.list_tbl th { background-color: #e7eaec; color: #73879c; font-size: 13px; text-shadow: 0 -1px 0 #f4f4f5; }

/* テーブル 縦線 */
.list_tbl.col th,
.list_tbl.col td { border-right: 1px solid #ddd; }
.list_tbl.col th:last-child,
.list_tbl.col td:last-child { border-right: none; }

@media screen and (min-width: 1280px) {
.tbl_box { white-space: normal; }
}

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



TOP MAIN VISUAL



======================================================================================= */
.top_mv_unit,
.top_mv_box,
.top_mv_img,
.top_mv_slick_img { height: 64vh; }
.top_mv_box { position: fixed; top: 70px; width: 100%; }

.top_mv_img { background-position: center center; background-repeat: no-repeat; background-size: cover; }
.top_mv_img.no1 { background-image: url("/assets/img/top/mv01_01m.jpg"); }
.top_mv_img img,
.top_mv_slick_img img { width: 100%; }

.top_mv_img .oth { display: none; }
.top_mv_img .mobile { display: block; }

.top_mv_slick_img { background-position: center center; background-repeat: no-repeat; background-size: cover; }
.top_mv_slick_img.no1 { background-image: url( "/assets/img/top/mv01_01m.jpg"); }
.top_mv_slick_img.no2 { background-image: url( "/assets/img/top/mv01_02m.jpg"); }
.top_mv_slick_img.no3 { background-image: url( "/assets/img/top/mv01_03m.jpg"); }
.top_mv_slick_img.no4 { background-image: url( "/assets/img/top/mv01_04m.jpg"); }
.top_mv_slick_img.no5 { background-image: url( "/assets/img/top/mv01_05m.jpg"); }
.top_mv_slick_img.no6 { background-image: url( "/assets/img/top/mv01_06m.jpg"); }

.top_news_unit { position: absolute; bottom: -1px; left: 0; width: 100%; background-color: rgba(153,170,186,.6); }
.top_news_unit .inner { padding-right: 0; padding-left: 0; }
.top_news_box { align-items: center; }
.top_news_box > dt,
.top_news_box > dd,
.top_news_box > dd a { height: 48px; }
.top_news_box > dt { overflow: hidden; }
.top_news_box > dd { display: none; padding: 0 8px; background-color: rgba(153,170,186,.8); }
.top_news_box > dd a { display: flex; align-items: center; }
.top_news_box > dd b { padding-right: 8px; font-size: 12px; letter-spacing: .12em; }

.top_news_box .arrow {
  display: inline-block;
  width: 22px;
  height: 6.4px;
  background-color: rgba(255,255,255,.8);
  clip-path: polygon(0 42.1%, 76.9% 42.1%, 76.9% 0, 100% 50%, 76.9% 100%, 76.9% 57.9%, 0 57.9%);
  transition: all .5s ease-out;
}

.top_news_box a:hover .arrow {  
  animation-name: arrowRight;
  animation-duration: .5s;
  animation-timing-function: ease-out;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}
@keyframes arrowRight {
  0% { transform: translate(0); }
  100% { transform: translate(4px);}
}

.top_news_slick {  }
.top_news_slick .slick-track {  }
.top_news_slick .slick-list {  }
.top_news_slick .slick-slide {  }
.top_news_slick .box { align-items: center; flex-wrap: nowrap; }
.top_news_slick dl { line-height: 1; }
.top_news_slick dl *:nth-child(2) { font-size: 12px; letter-spacing: .120em; }
.top_news_slick dl *:nth-child(3) { flex-grow: 1; width: 730px; font-size: 14px; letter-spacing: .205em; }
.top_news_slick dl a { display: inline-block; padding: 1em 0; width: 96%; overflow: hidden; text-overflow: ellipsis; color: rgba(255,255,255,.8); white-space: nowrap; }
.top_news_slick dl a:hover { color: rgba(255,255,255,1); }
.top_news_slick dl a:after { position: absolute; bottom: -2em; left: 0; display: block; width: 100%; border-bottom: 1px solid currentColor; content: ''; transition: all .5s ease-out; }
.top_news_slick dl a:hover:after { bottom: .8em; }
.top_news_slick dt { font-size: 14px; letter-spacing: .120em; }
.top_news_slick dt,
.top_news_slick dd { padding: 0 8px; }

@media screen and (min-width: 480px) {
.top_news_box > dd { display: block; }
}

@media screen and (min-width: 640px) {
.top_mv_img { background-image: url("/assets/img/top/mv01_01.jpg"); }
.top_mv_img .oth { display: block; }
.top_mv_img .mobile { display: none; }

.top_mv_slick_img.no1 { background-image: url( "/assets/img/top/mv01_01.jpg"); }
.top_mv_slick_img.no2 { background-image: url( "/assets/img/top/mv01_02.jpg"); }
.top_mv_slick_img.no3 { background-image: url( "/assets/img/top/mv01_03.jpg"); }
.top_mv_slick_img.no4 { background-image: url( "/assets/img/top/mv01_04.jpg"); }
.top_mv_slick_img.no5 { background-image: url( "/assets/img/top/mv01_05.jpg"); }
.top_mv_slick_img.no6 { background-image: url( "/assets/img/top/mv01_06.jpg"); }

.top_news_box > dd { background-color: transparent; }
}

@media screen and (min-width: 760px) {
.top_mv_unit,
.top_mv_box,
.top_mv_img,
.top_mv_slick_img { height: 72vh; }
.top_mv_box { top: 176px; }
.top_news_unit .inner { padding-right: 1rem; padding-left: 1rem; }
.top_news_slick dt,
.top_news_slick dd { padding: 0 24px; }
.top_news_box > dd b { padding-right: 16px; font-size: 14px; }
.top_news_slick dl a { width: 680px; }
}

@media screen and (min-width: 1152px) {

}

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



TOP LEAD



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

.top_lead_box { text-align: center; }
.top_lead_box h2 { padding: 24px 0 16px; font-size: clamp(1.25rem, 1.05rem + 1vw, 1.75rem); letter-spacing: .155em; }
.top_lead_box p { color: rgba(255,255,255,.8); font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem); line-height: 1.85; letter-spacing: .205em; transition: all .2s linear;  }
.top_lead_box .jq_dsp_top_lead {  }
.top_lead_box .jq_dsp_top_lead.flag p { color: rgba(255,255,255,.8); }

.top_lead_box .jq_toggle_dsp_top_lead { 
  animation-name: animeOpacity0;
  animation-duration: .5s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}
@keyframes animeOpacity0 {
  to { opacity: 0; }
}
.top_lead_box .jq_toggle_dsp_top_lead.flag {
  animation-name: animeOpacity1;
  animation-duration: .5s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}
@keyframes animeOpacity1 {
  from { opacity: 0; }
  to { opacity: 1; }
}

.top_lead_box .jq_switch_top_lead { display: block; overflow: hidden; margin: auto; padding: 8px 1rem 60px; cursor: pointer; }
.top_lead_box .jq_switch_top_lead.flag { padding-top: 36px; padding-bottom: 21px; }

.top_lead_box .arrow { display: block; width: 26px; height: 26px; margin: auto; border: 1px solid currentColor; border-bottom: 0; border-left: 0; color: rgba(255,255,255,.4); transform: rotate(135deg); transition: all .3s linear; }
.top_lead_box .jq_switch_top_lead.flag .arrow { transform: rotate(-45deg); }

@media screen and (min-width: 760px) {
.top_lead_box h2 { padding: 58px 0 38px; }
.top_lead_box .arrow { width: 54px; height: 54px; }
}

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



TOP LINEUP



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

.top_lineup_unit { padding-bottom: 100px; }
.top_lineup_slick.slick-dotted.slick-slider { margin-bottom: 0; }
.top_lineup_slick { list-style: none; padding: 0; }
.top_lineup_slick .slick-dots { display: none; }
.top_lineup_slick .slick-dots li button:before { color: rgba(255,255,255,0.6); font-size: 10px; }
.top_lineup_slick .slick-dots li.slick-active button:before { color: #fff; }
.top_lineup_slick .slick-prev,
.top_lineup_slick .slick-next { z-index: 2; }
.top_lineup_slick .slick-prev { left: 40px; }
.top_lineup_slick .slick-next { right: 40px; }
.top_lineup_slick .slick-prev:before,
.top_lineup_slick .slick-next:before { display: block; width: 30px; height: 30px; margin: auto; border: 1px solid currentColor; border-bottom: 0; border-left: 0; color: #fff; line-height: 1; vertical-align: middle; cursor: pointer; transition: all .3s linear; content: '' }
.top_lineup_slick .slick-prev:before { transform: rotate(225deg); }
.top_lineup_slick .slick-next:before { transform: rotate(45deg); }
.top_lineup_slick .slick-prev slick-arrow {}
.top_lineup_slick .slick-next slick-arrow {}
.top_item_card img { width: 100%; }
.top_item_card:not(.mk2) img { min-height: 240px; }
.top_item_img { background-position: center center; background-repeat: no-repeat; background-size: cover; }
.top_item_card figcaption { position: absolute; bottom: -8px; left: 8px; transition: all .8s linear; }
.top_item_card.mk2 { position: relative; }
.top_item_card.mk2 figcaption { bottom: 8px; }
.top_lineup_slick .slick-slide.slick-current.slick-active figcaption { bottom: 8px; }
.top_lineup_slick .slick-slide:first-child figcaption { 
  animation-name: slickFirst;
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}
@keyframes slickFirst {
  from { opacity: 0; transform: translateY(100%);  }
  to { opacity: 1; transform: translateY(0);  }
}

.top_item_card h2,
.top_item_card h3,
.top_item_card h4 { letter-spacing: .11em; }
.top_item_card h2 { font-size: 15px; }
.top_item_card h3 { font-size: 15px; }
.top_item_card.mk2 h3 { font-size: 12px; }
.top_item_card h4 { font-size: 12px; }

.top_lineup_box { list-style: none; display: flex; flex-wrap: wrap; padding: 0; }
.top_lineup_box > * { flex-basis: 50%; }

@media screen and (min-width: 420px) {
.top_item_card:not(.mk2) img { min-height: 380px; }
}

@media screen and (min-width: 760px) {
.top_lineup_unit { padding-bottom: 200px; }
.top_lineup_slick .slick-slide.slick-current.slick-active figcaption { bottom: 16px; }
.top_lineup_slick .slick-dots { display: block; bottom: 22px; }
.top_lineup_box > * { flex-basis: 25%; }
.top_item_card figcaption { bottom: -16px; left: 16px; }

.top_item_card.mk2 figcaption { bottom: 16px; }
}

@media screen and (min-width: 1120px) {
.top_lineup_slick .slick-slide.slick-current.slick-active figcaption { bottom: 24px; }
.top_item_card figcaption { bottom: -24px; left: 24px; }
.top_item_card.mk2 figcaption { bottom: 24px; }
.top_item_card h2 { font-size: 18px; }
.top_item_card h3 { font-size: 18px; }
.top_item_card.mk2 h3 { font-size: 16px; }
.top_item_card h4 { font-size: 16px; }
}

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



TOP PROMOTION



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

.top_promo_unit {}
.top_promo_unit .oth { display: none; }
.top_promo_unit .mobile {}
.top_promo_box { margin-bottom: 132px; }

.top_top_promo_ttl_box { padding: 0 16px 24px; }
.top_promo_box.mk3 .top_top_promo_ttl_box { padding-bottom: 0; }
.top_promo_ttl { text-align: center; }
.top_promo_ttl h2 { font-size: clamp(1.25rem, 0.3rem + 4.75vw, 3.625rem); letter-spacing: .08em; color: rgba(255,255,255,0.75); }
.top_promo_ttl p { display: flex; align-items: center; justify-content: center; font-size: clamp(0.813rem, 0.662rem + 0.75vw, 1.188rem); letter-spacing: .205em; }
.top_promo_ttl p:before,
.top_promo_ttl p:after { flex-grow: 1; max-width: 2.4rem; height: 1px; background-color: rgba(255,255,255,.4); content: ""; }
.top_promo_ttl p:before { margin-right: 1em; }
.top_promo_ttl p:after { margin-left: 1em; }

.top_promo_sub { position: absolute; right: 0; z-index: 1; max-width: 376px; padding: 0 32px; }
.top_promo_sub img { width: 100%; }
.top_promo_sub figcaption { padding: 24px 20px 1rem; background-color: rgba(112,134,153,.7); mix-blend-mode: multiply; }
.top_promo_sub h3 { padding-bottom: 1rem; font-size: clamp(0.938rem, 0.737rem + 1vw, 1.438rem); letter-spacing: .225em; }
.top_promo_sub p { margin-bottom: 1em; font-size: clamp(0.719rem, 0.631rem + 0.44vw, 0.938rem); line-height: 1.9; letter-spacing: .215em; }

.top_promo_sub .link_btn { position: relative; }
.top_promo_sub .link_btn:before { position: absolute; top: 10px; right: 8px; display: block; width: 5.6px; height: 5.6px; margin: auto; border: 1px solid currentColor; border-bottom: 0; border-left: 0; color: rgba(255,255,255,.4); line-height: 1; vertical-align: middle;  transform: rotate(45deg); content: '' }

.top_promo_pra { margin-top: 108px; background-color: rgba(120,146,173,.4); }
.top_promo_box:not([class*="mk"]) .top_promo_pra .jarallax { max-width: 648px; height: 648px; margin-left: 0; }
.top_promo_box .inner { padding: 0; }

.top_promo_box.mk2 .top_promo_sub { max-width: 410px; }
.top_promo_box.mk2 .top_promo_sub figcaption { background-color: rgba(131,130,121,.6); }
.top_promo_box.mk2 .top_promo_pra { margin-top: 0; padding-top: 160px; background-color: transparent; }
.top_promo_box.mk2 .top_promo_pra .jarallax { max-width: none; height: 480px; margin-left: auto; }

.top_promo_box.mk3 { padding-bottom: 260px; }
.top_promo_box.mk3 .top_top_promo_ttl_box { margin-bottom: 64px; }
.top_promo_box.mk3 .top_promo_sub:nth-child(1) { left: 0; right: auto; max-width: 370px; }
.top_promo_box.mk3 .top_promo_sub:nth-child(2) { top: 360px; max-width: 434px; }
.top_promo_box.mk3 .top_promo_pra { margin-top: 0; padding-top: 108px; background-color: transparent; }
.top_promo_box.mk3 .top_promo_pra .jarallax { max-width: none; height: 480px; margin-left: auto; }

.top_promo_box.mk4 { padding-bottom: 240px; }
.top_promo_box.mk4 .top_promo_sub { top: 120px; left: 0; right: auto; max-width: 350px; }
.top_promo_box.mk4 .top_promo_pra .jarallax { max-width: none; height: 480px; margin-left: 30%; margin-right: 0; }

.top_promo_box.mk5 .top_promo_pra { padding-top: 160px; background-color: transparent; }
.top_promo_box.mk5 .top_promo_sub { max-width: 460px; }
.top_promo_box.mk5 .top_promo_sub figcaption { background-color: transparent; }
.top_promo_box.mk5 .top_promo_pra .jarallax { max-width: none; height: 490px; margin-left: auto; }

.top_promo_box.mk6 { padding-bottom: 180px; }
.top_promo_box.mk6 .top_top_promo_ttl_box { text-align: right; padding-bottom: 56px; }
.top_promo_box.mk6 .top_promo_sub:nth-child(1) { max-width: 340px; }
.top_promo_box.mk6 .top_promo_sub:nth-child(2) { top: 340px; right: auto; left: 0; max-width: 460px; }
.top_promo_box.mk6 .top_promo_sub:nth-child(2) img { max-width: 420px; }
.top_promo_box.mk6 .top_promo_pra .jarallax { max-width: none; height: 480px; margin-left: auto; }

.top_promo_box.mk7 { padding-bottom: 180px; }
.top_promo_box.mk7 .top_promo_sub { top: 108px; max-width: 390px; }
.top_promo_box.mk7 .top_promo_pra { margin-top: 196px; }
.top_promo_box.mk7 .top_promo_pra .jarallax { max-width: none; height: 480px; margin-left: auto; margin-right: 20%; }

.top_promo_box.mk8 .top_promo_sub { left: 0; right: auto; max-width: 424px; }
.top_promo_box.mk8 .top_promo_pra { padding-top: 108px; background-color: transparent; }
.top_promo_box.mk8 .top_promo_pra .jarallax { max-width: none; height: 480px; }

@media screen and (min-width: 640px) {
.top_promo_box:not(.mk2) .top_promo_sub figcaption { padding-right: 0; padding-left: 0; background-color: transparent; }
.top_promo_unit .oth { display: block; }
.top_promo_unit .mobile { display: none; }
}

@media screen and (min-width: 980px) {
.top_promo_ttl { display: inline-block; }
.top_promo_sub { position: absolute; top: 0; padding: 0 16px; }
.top_promo_box.mk2 .top_promo_pra { padding-top: 224px; }
.top_promo_box.mk2 .top_promo_pra .jarallax { height: 760px; }
.top_promo_box.mk3 { padding-bottom: 240px; }
.top_promo_box.mk3 .top_promo_pra .jarallax { height: 760px; padding-top: 196px; }
.top_promo_box.mk3 .top_promo_sub:nth-child(2) { top: 560px; }
.top_promo_box.mk4 { padding-bottom: 160px; }
.top_promo_box.mk4 .top_promo_pra .jarallax { height: 650px; margin-left: 50%; }
.top_promo_box.mk4 .top_promo_sub { top: 160px; }
.top_promo_box.mk5 .top_promo_pra .jarallax { height: 760px; }
.top_promo_box.mk6 .top_promo_pra .jarallax { height: 890px; }
.top_promo_box.mk6 .top_promo_sub:nth-child(2) { top: 640px; }
.top_promo_box.mk7 .top_promo_sub { top: 160px; }
.top_promo_box.mk7 .top_promo_pra .jarallax { height: 650px; margin-right: 50%; }
.top_promo_box.mk8 .top_promo_pra { padding-top: 196px; }
.top_promo_box.mk8 .top_promo_pra .jarallax { height: 795px; }
}

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



FOOTER



======================================================================================= */
footer { background-color: #99aaba; }


/****　サイドバナー ***/
.aside_contact_box { display: none; }
.side_banner{list-style: none; padding: 0; position: fixed; right: 0; top: 50vh;}
.side_banner li a{display: block; background: #B3C0CB; writing-mode: vertical-rl; font-size: 13px; padding: 16px; position: relative; height: 124px;}
.side_banner li:first-child a{padding-top: 32px;}
.side_banner li:first-child a::after{content:""; border-bottom: solid 1px rgb(255,255,255, .4); position: absolute; right: 1px; bottom: 0; width: 50px;}

.footer_unit { padding: 48px 1rem; }
.footer_box {  }
.footer_box ul,
.footer_box ol { list-style: none; padding: 0; }
.footer_box li { font-size: 13px; letter-spacing: .205em; }
.footer_box li ul li,
.footer_box li ol li { margin-bottom: 1rem; }
.footer_box .sns_box { margin-bottom: 1rem; font-size: 28px; line-height: 1; }
.footer_box .sns_box > * + * { margin-left: 1rem; }
.copyright { font-size: 10px; letter-spacing: .065em; text-align: center; line-height: 48px; /* #backToTopの高さ分を確保 */ vertical-align: middle; }
#backToTop { display: none; position: fixed; right: 8px; bottom: 8px; }
#backToTop span { display: block; width: 32px; height: 32px; margin: auto; padding-left: 1px; border: 1px solid #d4dbe3; border-radius: 50%; color: #d4dbe3; font-size: 20px; font-family: Arial; text-align: center; line-height: 30px; vertical-align: middle; cursor: pointer; }
#backToTop span *,
#backToTop span:after,
#backToTop span:hover { transition: all .2s ease-in; }
#backToTop span:after { content: '△'; }
#backToTop span:hover { background-color: #d4dbe3; color: #99aaba; }
@media screen and (min-width: 420px) {
.footer_box > *:nth-child(odd) { padding-right: 1rem; }
.footer_box > *:nth-child(even) { padding-left: 1rem; }
}
@media screen and (min-width: 760px) {
.footer_unit { padding: 48px 30px; }
}
/* =======================================================================================



OVERWRITE



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

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