@charset "UTF-8";
/* --------------------------------------------
Setting Color - カラー設定
--------------------------------------------*/
:root {
  --TB: 1000px;
  --SP: 680px;
  --ff: "Helvetica Neue",
    Arial,
    "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "YuGothic", yu-gothic-pr6n, "ヒラギノ角ゴ Pro",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  --mix: neue-haas-grotesk-display, var(--fontJp);
  --fz_pc: 13px;
  --fz_tb: 13px;
  --fz_sp: 12px;
  --lh: 1.9;
  --ls: 0.06em;
  --fwh: 500;
  --fwb: 500;
  --fwn: 400;
  --pow0: 13px;
  --pow1: 16px;
  --pow2: 19px;
  --pow3: 22px;
  --pow4: 27px;
  --pow5: 32px;
  --pow6: 39px;
  --pow7: 47px;
  --pow8: 56px;
  --pow9: 67px;
  --pow10: 80px;
  --pow11: 97px;
  --pow12: 116px;
  --fzs: 12px;
  --l0: hsla(80, 5%, 0%, 1);
  --d0: hsla(80, 8%, 100%, 1);
  --l1: hsla(80, 5%, 1%, 1);
  --d1: hsla(80, 8%, 99.1%, 1);
  --l2: hsla(80, 5%, 2%, 1);
  --d2: hsla(80, 8%, 98.2%, 1);
  --l3: hsla(80, 5%, 3%, 1);
  --d3: hsla(80, 8%, 97.3%, 1);
  --l4: hsla(80, 5%, 4%, 1);
  --d4: hsla(80, 8%, 96.4%, 1);
  --l5: hsla(80, 5%, 5%, 1);
  --d5: hsla(80, 8%, 95.5%, 1);
  --l6: hsla(80, 5%, 6%, 1);
  --d6: hsla(80, 8%, 94.6%, 1);
  --l7: hsla(80, 5%, 7%, 1);
  --d7: hsla(80, 8%, 93.7%, 1);
  --l8: hsla(80, 5%, 8%, 1);
  --d8: hsla(80, 8%, 92.8%, 1);
  --l9: hsla(80, 5%, 9%, 1);
  --d9: hsla(80, 8%, 91.9%, 1);
  --l10: hsla(80, 6%, 10%, 1);
  --d10: hsla(80, 8%, 91%, 1);
  --l11: hsla(80, 6%, 11%, 1);
  --d11: hsla(80, 7%, 90.1%, 1);
  --l12: hsla(80, 6%, 12%, 1);
  --d12: hsla(80, 7%, 89.2%, 1);
  --l13: hsla(80, 6%, 13%, 1);
  --d13: hsla(80, 7%, 88.3%, 1);
  --l14: hsla(80, 6%, 14%, 1);
  --d14: hsla(80, 7%, 87.4%, 1);
  --l15: hsla(80, 6%, 15%, 1);
  --d15: hsla(80, 7%, 86.5%, 1);
  --l16: hsla(80, 6%, 16%, 1);
  --d16: hsla(80, 7%, 85.6%, 1);
  --l17: hsla(80, 6%, 17%, 1);
  --d17: hsla(80, 7%, 84.7%, 1);
  --l18: hsla(80, 6%, 18%, 1);
  --d18: hsla(80, 7%, 83.8%, 1);
  --l19: hsla(80, 6%, 19%, 1);
  --d19: hsla(80, 7%, 82.9%, 1);
  --l20: hsla(80, 6%, 20%, 1);
  --d20: hsla(80, 7%, 82%, 1);
  --l21: hsla(80, 6%, 21%, 1);
  --d21: hsla(80, 7%, 81.1%, 1);
  --l22: hsla(80, 6%, 22%, 1);
  --d22: hsla(80, 7%, 80.2%, 1);
  --l23: hsla(80, 6%, 23%, 1);
  --d23: hsla(80, 7%, 79.3%, 1);
  --l24: hsla(80, 6%, 24%, 1);
  --d24: hsla(80, 7%, 78.4%, 1);
  --l25: hsla(80, 6%, 25%, 1);
  --d25: hsla(80, 7%, 77.5%, 1);
  --l26: hsla(80, 6%, 26%, 1);
  --d26: hsla(80, 7%, 76.6%, 1);
  --l27: hsla(80, 6%, 27%, 1);
  --d27: hsla(80, 7%, 75.7%, 1);
  --l28: hsla(80, 6%, 28%, 1);
  --d28: hsla(80, 7%, 74.8%, 1);
  --l29: hsla(80, 6%, 29%, 1);
  --d29: hsla(80, 7%, 73.9%, 1);
  --l30: hsla(80, 7%, 30%, 1);
  --d30: hsla(80, 7%, 73%, 1);
  --l31: hsla(80, 7%, 31%, 1);
  --d31: hsla(80, 6%, 72.1%, 1);
  --l32: hsla(80, 7%, 32%, 1);
  --d32: hsla(80, 6%, 71.2%, 1);
  --l33: hsla(80, 7%, 33%, 1);
  --d33: hsla(80, 6%, 70.3%, 1);
  --l34: hsla(80, 7%, 34%, 1);
  --d34: hsla(80, 6%, 69.4%, 1);
  --l35: hsla(80, 7%, 35%, 1);
  --d35: hsla(80, 6%, 68.5%, 1);
  --l36: hsla(80, 7%, 36%, 1);
  --d36: hsla(80, 6%, 67.6%, 1);
  --l37: hsla(80, 7%, 37%, 1);
  --d37: hsla(80, 6%, 66.7%, 1);
  --l38: hsla(80, 7%, 38%, 1);
  --d38: hsla(80, 6%, 65.8%, 1);
  --l39: hsla(80, 7%, 39%, 1);
  --d39: hsla(80, 6%, 64.9%, 1);
  --l40: hsla(80, 7%, 40%, 1);
  --d40: hsla(80, 6%, 64%, 1);
  --l41: hsla(80, 7%, 41%, 1);
  --d41: hsla(80, 6%, 63.1%, 1);
  --l42: hsla(80, 7%, 42%, 1);
  --d42: hsla(80, 6%, 62.2%, 1);
  --l43: hsla(80, 7%, 43%, 1);
  --d43: hsla(80, 6%, 61.3%, 1);
  --l44: hsla(80, 7%, 44%, 1);
  --d44: hsla(80, 6%, 60.4%, 1);
  --l45: hsla(80, 7%, 45%, 1);
  --d45: hsla(80, 6%, 59.5%, 1);
  --l46: hsla(80, 7%, 46%, 1);
  --d46: hsla(80, 6%, 58.6%, 1);
  --l47: hsla(80, 7%, 47%, 1);
  --d47: hsla(80, 6%, 57.7%, 1);
  --l48: hsla(80, 7%, 48%, 1);
  --d48: hsla(80, 6%, 56.8%, 1);
  --l49: hsla(80, 7%, 49%, 1);
  --d49: hsla(80, 6%, 55.9%, 1);
  --l50: hsla(80, 8%, 50%, 1);
  --d50: hsla(80, 6%, 55%, 1);
  --l51: hsla(80, 8%, 51%, 1);
  --d51: hsla(80, 5%, 54.1%, 1);
  --l52: hsla(80, 8%, 52%, 1);
  --d52: hsla(80, 5%, 53.2%, 1);
  --l53: hsla(80, 8%, 53%, 1);
  --d53: hsla(80, 5%, 52.3%, 1);
  --l54: hsla(80, 8%, 54%, 1);
  --d54: hsla(80, 5%, 51.4%, 1);
  --l55: hsla(80, 8%, 55%, 1);
  --d55: hsla(80, 5%, 50.5%, 1);
  --l56: hsla(80, 8%, 56%, 1);
  --d56: hsla(80, 5%, 49.6%, 1);
  --l57: hsla(80, 8%, 57%, 1);
  --d57: hsla(80, 5%, 48.7%, 1);
  --l58: hsla(80, 8%, 58%, 1);
  --d58: hsla(80, 5%, 47.8%, 1);
  --l59: hsla(80, 8%, 59%, 1);
  --d59: hsla(80, 5%, 46.9%, 1);
  --l60: hsla(80, 8%, 60%, 1);
  --d60: hsla(80, 5%, 46%, 1);
  --l61: hsla(80, 8%, 61%, 1);
  --d61: hsla(80, 5%, 45.1%, 1);
  --l62: hsla(80, 8%, 62%, 1);
  --d62: hsla(80, 5%, 44.2%, 1);
  --l63: hsla(80, 8%, 63%, 1);
  --d63: hsla(80, 5%, 43.3%, 1);
  --l64: hsla(80, 8%, 64%, 1);
  --d64: hsla(80, 5%, 42.4%, 1);
  --l65: hsla(80, 8%, 65%, 1);
  --d65: hsla(80, 5%, 41.5%, 1);
  --l66: hsla(80, 8%, 66%, 1);
  --d66: hsla(80, 5%, 40.6%, 1);
  --l67: hsla(80, 8%, 67%, 1);
  --d67: hsla(80, 5%, 39.7%, 1);
  --l68: hsla(80, 8%, 68%, 1);
  --d68: hsla(80, 5%, 38.8%, 1);
  --l69: hsla(80, 8%, 69%, 1);
  --d69: hsla(80, 5%, 37.9%, 1);
  --l70: hsla(80, 9%, 70%, 1);
  --d70: hsla(80, 5%, 37%, 1);
  --l71: hsla(80, 9%, 71%, 1);
  --d71: hsla(80, 4%, 36.1%, 1);
  --l72: hsla(80, 9%, 72%, 1);
  --d72: hsla(80, 4%, 35.2%, 1);
  --l73: hsla(80, 9%, 73%, 1);
  --d73: hsla(80, 4%, 34.3%, 1);
  --l74: hsla(80, 9%, 74%, 1);
  --d74: hsla(80, 4%, 33.4%, 1);
  --l75: hsla(80, 9%, 75%, 1);
  --d75: hsla(80, 4%, 32.5%, 1);
  --l76: hsla(80, 9%, 76%, 1);
  --d76: hsla(80, 4%, 31.6%, 1);
  --l77: hsla(80, 9%, 77%, 1);
  --d77: hsla(80, 4%, 30.7%, 1);
  --l78: hsla(80, 9%, 78%, 1);
  --d78: hsla(80, 4%, 29.8%, 1);
  --l79: hsla(80, 9%, 79%, 1);
  --d79: hsla(80, 4%, 28.9%, 1);
  --l80: hsla(80, 9%, 80%, 1);
  --d80: hsla(80, 4%, 28%, 1);
  --l81: hsla(80, 9%, 81%, 1);
  --d81: hsla(80, 4%, 27.1%, 1);
  --l82: hsla(80, 9%, 82%, 1);
  --d82: hsla(80, 4%, 26.2%, 1);
  --l83: hsla(80, 9%, 83%, 1);
  --d83: hsla(80, 4%, 25.3%, 1);
  --l84: hsla(80, 9%, 84%, 1);
  --d84: hsla(80, 4%, 24.4%, 1);
  --l85: hsla(80, 9%, 85%, 1);
  --d85: hsla(80, 4%, 23.5%, 1);
  --l86: hsla(80, 9%, 86%, 1);
  --d86: hsla(80, 4%, 22.6%, 1);
  --l87: hsla(80, 9%, 87%, 1);
  --d87: hsla(80, 4%, 21.7%, 1);
  --l88: hsla(80, 9%, 88%, 1);
  --d88: hsla(80, 4%, 20.8%, 1);
  --l89: hsla(80, 9%, 89%, 1);
  --d89: hsla(80, 4%, 19.9%, 1);
  --l90: hsla(80, 10%, 90%, 1);
  --d90: hsla(80, 4%, 19%, 1);
  --l91: hsla(80, 10%, 91%, 1);
  --d91: hsla(80, 3%, 18.1%, 1);
  --l92: hsla(80, 10%, 92%, 1);
  --d92: hsla(80, 3%, 17.2%, 1);
  --l93: hsla(80, 10%, 93%, 1);
  --d93: hsla(80, 3%, 16.3%, 1);
  --l94: hsla(80, 10%, 94%, 1);
  --d94: hsla(80, 3%, 15.4%, 1);
  --l95: hsla(80, 10%, 95%, 1);
  --d95: hsla(80, 3%, 14.5%, 1);
  --l96: hsla(80, 10%, 96%, 1);
  --d96: hsla(80, 3%, 13.6%, 1);
  --l97: hsla(80, 10%, 97%, 1);
  --d97: hsla(80, 3%, 12.7%, 1);
  --l98: hsla(80, 10%, 98%, 1);
  --d98: hsla(80, 3%, 11.8%, 1);
  --l99: hsla(80, 10%, 99%, 1);
  --d99: hsla(80, 3%, 10.9%, 1);
  --l100: hsla(80, 10%, 100%, 1);
  --d100: hsla(80, 3%, 10%, 1);
  --Title: var(--l0);
  --Text: var(--l30);
  --SubText: var(--l50);
  --Border: var(--l80);
  --Key1: var(--l0);
  --Key2: var(--l0);
  --Key3: var(--l0);
  --Attention: #c21f1f;
  --Base1: var(--l94);
  --Base2: var(--l91);
  --Base3: var(--l88);
  --White: var(--l94);
  --gridXS: 1.73vw;
  --gridS: 3.46vw;
  --grid1: 6.92vw;
  --grid2: 13.85vw;
  --grid3: 20.77vw;
  --grid4: 27.69vw;
  --grid5: 34.62vw;
  --grid6: 41.54vw;
  --grid7: 48.46vw;
  --grid8: 55.38vw;
  --grid9: 62.31vw;
  --grid10: 69.23vw;
  --grid11: 76.15vw;
  --grid12: 83.08vw;
  --grid13: 90vw;
  --commonGap: var(--gridS);
  --listGap: var(--gridXS);
  --titleGap: var(--gridS);
  --textGap: var(--gridXS);
  --subtitleGap: var(--gridXS);
  --sectionPadding: var(--grid1);
  --boxGap: var(--grid1);
  --buttonWidth: var(--grid3);
  --buttonGap: var(--gridS);
  --linkWidth: var(--grid2);
  --linkGap: var(--gridS);
  --narrowWidth: var(--grid7);
  --loadingSize: 100px;
}
@media only screen and (max-width: 680px) {
  :root {
    --ls: 0.02em;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow0: 13px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow0: 12px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow1: 16px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow1: 14px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow2: 19px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow2: 17px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow3: 22px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow3: 21px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow4: 27px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow4: 25px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow5: 32px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow5: 30px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow6: 39px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow6: 36px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow7: 47px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow7: 43px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow8: 56px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow8: 52px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow9: 67px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow9: 62px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow10: 80px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow10: 74px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow11: 97px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow11: 89px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow12: 116px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow12: 107px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --fzs: 12px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --fzs: 11px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --commonGap: var(--gridS);
    --listGap: var(--gridS);
    --titleGap: var(--grid1);
    --textGap: var(--gridXS);
    --subtitleGap: var(--grid1);
    --sectionPadding: var(--grid2);
    --boxGap: var(--grid1);
    --buttonWidth: var(--grid4);
    --buttonGap: var(--grid1);
    --linkWidth: var(--grid2);
    --linkGap: var(--gridS);
    --narrowWidth: var(--grid10);
    --loadingSize: 100px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --commonGap: var(--gridS);
    --listGap: var(--grid1);
    --titleGap: var(--grid1);
    --textGap: var(--gridS);
    --subtitleGap: var(--grid1);
    --sectionPadding: var(--grid3);
    --boxGap: var(--grid2);
    --buttonWidth: var(--grid7);
    --buttonGap: var(--grid1);
    --linkWidth: var(--grid3);
    --linkGap: var(--gridS);
    --narrowWidth: var(--grid12);
    --loadingSize: 100px;
  }
}

/* -----------------------
メディアクエリ
@include global.media(pc) {} 
@include global.media(tb) {}
@include global.media(sp) {}
-----------------------*/
/* -----------------------

flex基本設定
 @include global.flex(space-between,center);

-----------------------*/
/* -----------------------

blogのindexなどのリスト組。ulなどwrapper要素ににつける
 @include global.list(3,2rem);

-----------------------*/
/* -----------------------

Grid for IE11
@include global.flex(space-between,center);

-----------------------*/
/* -----------------------

fontサイズを設定する (weightやfamilyは端折らず記載する)
@include global.font(var(--pow0), var(--fwn), var(--ls), var(--lh), var(--ff));

-----------------------*/
/* -----------------------

cleafix
@include clearfix;
-----------------------*/
/* -----------------------

icon画像を設定する
@include icon(150px, 12px, "../image/common/logo");

-----------------------*/
/* -----------------------
ボタンのカラー設定
@include mixin.ButtonColor(背景色, 罫線色, 文字色, svg色, ホバー背景色, ホバー罫線色, ホバー文字色, ホバーsvg色);
-----------------------*/
/* -----------------------
ガイド
-----------------------*/
/* -----------------------
×
-----------------------*/
/* -----------------------
ratio
// @include global.ratio($pc: math.div(3,2));
// @include global.ratio($pc: math.div(3,2), $tb: math.div(3,2), $sp: math.div(3,2));
// @include global.ratio(math.div(3,2), math.div(3,2), math.div(3,2));
-----------------------*/
/* --------------------------------------------
Reset
--------------------------------------------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
menu,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background-color: transparent;
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* --------------------------------------------
Basic & Module（触らない）
--------------------------------------------*/
body,
th,
td,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
input,
textarea,
option,
div,
p,
dt,
dd,
li,
address {
  font-family: var(--ff);
  font-weight: var(--fwn);
  font-style: normal;
  color: var(--Title);
  box-sizing: border-box;
}

html {
  width: 100%;
  height: auto;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  font-family: var(--ff);
  font-size: var(--fz_pc);
  -ms-overflow-style: none;
  /* IE10+ */
}
@media only screen and (max-width: 1000px) {
  html {
    font-size: var(--fz_tb);
  }
}
@media only screen and (max-width: 680px) {
  html {
    font-size: var(--fz_sp);
  }
}
html::-webkit-scrollbar {
  display: none;
}

body {
  width: 100%;
  z-index: 0;
  height: auto;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  background-color: var(--Base1);
}
body.is-ready * {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
}

* {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  box-sizing: border-box;
}

::selection {
  color: var(--Title);
  background: var(--Border);
}

::-moz-selection {
  color: var(--Title);
  background: var(--Border);
}

img {
  display: block;
  width: 100%;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

span,
i {
  font-size: inherit;
  color: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

a {
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  color: var(--Title);
}

select,
input,
textarea,
button {
  cursor: pointer;
  box-sizing: border-box;
  outline: none;
  border-radius: 0;
  appearance: button;
  border: none;
  background-color: transparent;
}

textarea {
  resize: vertical;
  overflow: auto;
}

input + label {
  cursor: pointer;
}

.show_pc {
  display: block;
}
@media only screen and (max-width: 1000px) {
  .show_pc {
    display: none;
  }
}
@media only screen and (max-width: 680px) {
  .show_pc {
    display: none;
  }
}

.show_pctb {
  display: block;
}
@media only screen and (max-width: 1000px) {
  .show_pctb {
    display: block;
  }
}
@media only screen and (max-width: 680px) {
  .show_pctb {
    display: none;
  }
}

.show_tbsp {
  display: none;
}
@media only screen and (max-width: 1000px) {
  .show_tbsp {
    display: block;
  }
}
@media only screen and (max-width: 680px) {
  .show_tbsp {
    display: block;
  }
}

.show_tb {
  display: none;
}
@media only screen and (max-width: 1000px) {
  .show_tb {
    display: block;
  }
}
@media only screen and (max-width: 680px) {
  .show_tb {
    display: none;
  }
}

.show_sp {
  display: none;
}
@media only screen and (max-width: 1000px) {
  .show_sp {
    display: none;
  }
}
@media only screen and (max-width: 680px) {
  .show_sp {
    display: block;
  }
}

.sitemap a {
  display: block;
  margin-bottom: 1rem;
}
.sitemap a span {
  min-width: 100px;
  text-align: center;
  display: inline-block;
  border: 1px solid #eee;
  padding: 0.5rem 1rem;
}
.sitemap div {
  margin-left: 2rem;
}

.width__full {
  width: 100vw;
  margin-left: calc(var(--ml) * -1);
}
.width__left {
  margin-left: calc(var(--ml) * -1);
}
.width__right {
  margin-right: calc(var(--mr) * -1);
}
.width__narrow {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 680px) {
  .width__narrow {
    width: 100%;
  }
}

.text__center {
  text-align: center;
}

canvas {
  display: block;
}

:root {
  --ml: 5vw;
  --mr: 5vw;
}
@media only screen and (max-width: 1000px) {
  :root {
    --ml: 5vw;
    --mr: 5vw;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --ml: 5vw;
    --mr: 5vw;
  }
}

.e-common_width {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 1000px) {
  .e-common_width {
    width: 90%;
  }
}
@media only screen and (max-width: 680px) {
  .e-common_width {
    width: 90%;
  }
}

.e-common_wrap {
  margin-left: auto;
  margin-right: auto;
  width: var(--narrowWidth);
  padding-top: calc(var(--sectionPadding) * 0.5);
  padding-bottom: calc(var(--sectionPadding) * 0.5);
}

.e-top_wrap {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding-top: var(--sectionPadding);
  padding-bottom: var(--sectionPadding);
}

.js-sa__op {
  opacity: 0;
  will-change: opacity;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-sa__op.is-sa {
  opacity: 1;
}
.js-sa__up {
  opacity: 0;
  transform: translate(0px, 2rem);
  will-change: opacity, transform;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-sa__up.is-sa {
  opacity: 1;
  transform: translate(0px, 0px);
}
.js-sa__scale {
  opacity: 0;
  will-change: opacity, transform;
  transform-origin: center center;
  transform: translate(0px, 0px) scale(0.9, 0.9);
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-sa__scale.is-sa {
  opacity: 1;
  transform: translate(0px, 0px) scale(1, 1);
}
.js-sa__list__op.is-sa li {
  opacity: 1;
}
.js-sa__list__op li {
  opacity: 0;
  will-change: opacity;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-sa__list__op li:nth-child(1) {
  transition-delay: 0ms;
}
.js-sa__list__op li:nth-child(2) {
  transition-delay: 60ms;
}
.js-sa__list__op li:nth-child(3) {
  transition-delay: 120ms;
}
.js-sa__list__op li:nth-child(4) {
  transition-delay: 180ms;
}
.js-sa__list__op li:nth-child(5) {
  transition-delay: 240ms;
}
.js-sa__list__op li:nth-child(6) {
  transition-delay: 300ms;
}
.js-sa__list__op li:nth-child(7) {
  transition-delay: 360ms;
}
.js-sa__list__op li:nth-child(8) {
  transition-delay: 420ms;
}
.js-sa__list__op li:nth-child(9) {
  transition-delay: 480ms;
}
.js-sa__list__op li:nth-child(10) {
  transition-delay: 540ms;
}
.js-sa__list__op li:nth-child(11) {
  transition-delay: 600ms;
}
.js-sa__list__op li:nth-child(12) {
  transition-delay: 660ms;
}
.js-sa__list__op li:nth-child(13) {
  transition-delay: 720ms;
}
.js-sa__list__op li:nth-child(14) {
  transition-delay: 780ms;
}
.js-sa__list__op li:nth-child(15) {
  transition-delay: 840ms;
}
.js-sa__list__op li:nth-child(16) {
  transition-delay: 900ms;
}
.js-sa__list__op li:nth-child(17) {
  transition-delay: 960ms;
}
.js-sa__list__op li:nth-child(18) {
  transition-delay: 1020ms;
}
.js-sa__list__op li:nth-child(19) {
  transition-delay: 1080ms;
}
.js-sa__list__op li:nth-child(20) {
  transition-delay: 1140ms;
}
.js-sa__list__up.is-sa li {
  opacity: 1;
  transform: translate(0px, 0px);
}
.js-sa__list__up li {
  opacity: 0;
  transform: translate(0px, 2rem);
  will-change: opacity, transform;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-sa__list__up li:nth-child(1) {
  transition-delay: 0ms;
}
.js-sa__list__up li:nth-child(2) {
  transition-delay: 60ms;
}
.js-sa__list__up li:nth-child(3) {
  transition-delay: 120ms;
}
.js-sa__list__up li:nth-child(4) {
  transition-delay: 180ms;
}
.js-sa__list__up li:nth-child(5) {
  transition-delay: 240ms;
}
.js-sa__list__up li:nth-child(6) {
  transition-delay: 300ms;
}
.js-sa__list__up li:nth-child(7) {
  transition-delay: 360ms;
}
.js-sa__list__up li:nth-child(8) {
  transition-delay: 420ms;
}
.js-sa__list__up li:nth-child(9) {
  transition-delay: 480ms;
}
.js-sa__list__up li:nth-child(10) {
  transition-delay: 540ms;
}
.js-sa__list__up li:nth-child(11) {
  transition-delay: 600ms;
}
.js-sa__list__up li:nth-child(12) {
  transition-delay: 660ms;
}
.js-sa__list__up li:nth-child(13) {
  transition-delay: 720ms;
}
.js-sa__list__up li:nth-child(14) {
  transition-delay: 780ms;
}
.js-sa__list__up li:nth-child(15) {
  transition-delay: 840ms;
}
.js-sa__list__up li:nth-child(16) {
  transition-delay: 900ms;
}
.js-sa__list__up li:nth-child(17) {
  transition-delay: 960ms;
}
.js-sa__list__up li:nth-child(18) {
  transition-delay: 1020ms;
}
.js-sa__list__up li:nth-child(19) {
  transition-delay: 1080ms;
}
.js-sa__list__up li:nth-child(20) {
  transition-delay: 1140ms;
}
.js-sa__float {
  will-change: transform;
}
.js-sa__image {
  will-change: transform;
}
.js-sa.is-delay, .is-delay.js-sa__op {
  transition-delay: 0ms;
}
.js-sa.is-delay.is-sa, .is-delay.is-sa.js-sa__op {
  transition-delay: 400ms;
}

.js-slide {
  position: relative;
}
.js-slide__ul {
  position: relative;
}
.js-slide__ul:before {
  content: "";
  padding-top: 50%;
  width: 100%;
  display: block;
  position: relative;
  z-index: 0;
}
.js-slide__li {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  opacity: 0;
  will-change: opacity;
  transition: opacity 1200ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms;
}
.js-slide__li.is-active {
  opacity: 1;
  z-index: 100;
  transition: opacity 1000ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-slide__image {
  width: 100%;
  height: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.js-slide__ctrl {
  position: relative;
  text-align: center;
  padding-top: 10px;
  flex: 0;
}
.js-slide__ctrl__wrap {
  display: inline-block;
}
.js-slide__arrow {
  display: inline-block;
  vertical-align: middle;
  width: 2rem;
  height: 2rem;
  overflow: hidden;
  text-indent: -9999px;
  position: relative;
  transform-origin: center center;
  transform: rotate(0deg);
}
.js-slide__arrow:nth-child(1) {
  transform: rotate(180deg);
}
.js-slide__arrow:before {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  border-top: 1px solid var(--Key1);
  border-right: 1px solid var(--Key1);
  transform: translate(-50%, -50%) rotate(45deg);
  transition: border-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-slide__dots {
  display: inline-block;
  font-size: 0;
  margin: 0 5px;
}
.js-slide__dots li {
  padding: 0;
  display: inline-block;
}
.js-slide__dots .is-active button:before {
  opacity: 1;
}
.js-slide__dots .is-active button:after {
  width: 8px;
  height: 8px;
  background-color: var(--Key1);
}
.js-slide__dots button {
  display: block;
  width: 2rem;
  height: 2rem;
  overflow: hidden;
  text-indent: 9999px;
  background-color: transparent;
  position: relative;
  border: none;
  outline: none;
  will-change: opacity;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .js-slide__dots button:hover:after {
    width: 8px;
    height: 8px;
  }
}
.js-slide__dots button:before {
  content: "";
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid var(--Key1);
  background-color: var(--White);
  border-radius: 100%;
  opacity: 0;
  will-change: opacity;
  transition: border-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
}
.js-slide__dots button:after {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--Border);
  border-radius: 100%;
  transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, width 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, height 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
}

.js-map {
  width: 100%;
  position: relative;
}
.js-map:before {
  content: "";
  padding-top: 66.66%;
  width: 100%;
  display: block;
  position: relative;
  z-index: 0;
}
.js-map__wrap {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
}

.js-video {
  width: 100%;
  display: block;
  position: relative;
}
.js-video__wrap::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #111111;
  opacity: 0;
  visibility: hidden;
  z-index: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  cursor: pointer;
}
.js-video__wrap:after {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../image/common/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0;
  visibility: hidden;
  z-index: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-video.is-paused .js-video__wrap::before {
  opacity: 0.6;
  visibility: visible;
  z-index: 1000;
  cursor: pointer;
}
.js-video.is-paused .js-video__wrap:after {
  z-index: 1100;
  opacity: 1;
  visibility: visible;
  cursor: pointer;
}
.js-video.bg:before {
  content: "";
  width: 100%;
  padding-top: 100%;
  display: block;
}
.js-video.bg .js-video__wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.js-video.bg .js-video__player {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}
.js-video__wrap {
  position: relative;
}
.js-video__player {
  width: 100%;
  position: relative;
  z-index: 0;
  display: block;
}

.js-youtube {
  width: 100%;
  display: block;
  position: relative;
}
.js-youtube.is-play .js-youtube__cover {
  z-index: 0;
  visibility: hidden;
  opacity: 0;
}
.js-youtube__cover {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
  visibility: visible;
  z-index: 2;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .js-youtube__cover:hover::before {
    opacity: 0.8;
  }
}
.js-youtube__cover::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #111111;
  opacity: 0.5;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  cursor: pointer;
}
.js-youtube__cover:after {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../image/common/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 1;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-youtube__player {
  z-index: 1;
  position: relative;
  display: block;
}

.js-accordion__head {
  cursor: pointer;
  user-select: none;
}
.js-accordion__body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}

.js-tab__wrap {
  position: relative;
  z-index: 1;
}
.js-tab__head * {
  user-select: none;
}
.js-tab__body__wrap {
  position: relative;
  overflow: hidden;
}
.js-tab__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  will-change: opacity, visibility, z-index;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-tab__content.is-active {
  position: relative;
  z-index: 1000;
  opacity: 1;
  visibility: visible;
}
.js-modal {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 99999;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
}
.js-modal *::-webkit-scrollbar {
  display: none;
}
.js-modal:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  background-color: var(--Title);
  opacity: 0.95;
}
.js-modal__wrap {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: auto;
  display: none;
}
.js-modal .js-modal__content {
  display: none;
}
.js-modal__content {
  width: 100%;
  position: relative;
  opacity: 0;
  transition: opacity 0ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms;
}
.js-modal__content.is-active {
  opacity: 1;
  transition: opacity 400ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms;
}
.js-modal__content__wrap {
  width: 100%;
  height: 100%;
  overflow: auto;
  padding-top: 6rem;
  padding-bottom: 6rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
}
@media only screen and (max-width: 680px) {
  .js-modal__content__wrap {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.js-modal__content__inner {
  position: relative;
}
.js-modal__content__box {
  position: relative;
  background-color: #ffffff;
}
.js-modal__content__image {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.js-modal__content__image__wrap {
  width: 80%;
  height: 80%;
}
@media only screen and (max-width: 1000px) {
  .js-modal__content__image__wrap {
    width: 80%;
    height: 60%;
  }
}
@media only screen and (max-width: 680px) {
  .js-modal__content__image__wrap {
    width: 100%;
    height: 70%;
  }
}
.js-modal__content__image__wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.js-modal__content__youtube {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.js-modal__content__youtube__wrap {
  width: min(80%, 120vh);
}
@media only screen and (max-width: 1000px) {
  .js-modal__content__youtube__wrap {
    width: min(90%, 120vh);
  }
}
@media only screen and (max-width: 680px) {
  .js-modal__content__youtube__wrap {
    width: min(100%, 120vh);
  }
}
.js-modal__content__fl {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 1000px) {
  .js-modal__content__fl {
    padding-top: 6rem;
    padding-bottom: 6rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: auto;
  }
}
@media only screen and (max-width: 680px) {
  .js-modal__content__fl {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.js-modal__content__fl__wrap {
  position: relative;
  height: 100%;
}
@media only screen and (max-width: 1000px) {
  .js-modal__content__fl__wrap {
    height: auto;
  }
}
.js-modal__content__fl__detail {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  position: absolute;
  width: 30rem;
  height: 100%;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.2);
  padding: 4rem;
  overflow: auto;
}
@media only screen and (max-width: 1000px) {
  .js-modal__content__fl__detail {
    display: block;
    width: 100%;
    position: relative;
    height: auto;
    background-color: transparent;
    padding: 0;
    padding-top: 4rem;
  }
}
@media only screen and (max-width: 680px) {
  .js-modal__content__fl__detail {
    padding-top: 3rem;
  }
}
@media only screen and (max-width: 1000px) {
  .js-modal__content__fl__detail__wrap {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.js-modal__content__fl__image {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  width: calc(100% - 30rem);
  height: 100%;
  margin-left: auto;
}
@media only screen and (max-width: 1000px) {
  .js-modal__content__fl__image {
    width: 100%;
    height: auto;
    display: block;
  }
}
.js-modal__content__fl__image__wrap {
  width: 80%;
  height: 80%;
}
@media only screen and (max-width: 1000px) {
  .js-modal__content__fl__image__wrap {
    width: 80%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 680px) {
  .js-modal__content__fl__image__wrap {
    width: 90%;
    height: auto;
  }
}
.js-modal__content__fl__image__wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media only screen and (max-width: 1000px) {
  .js-modal__content__fl__image__wrap img {
    height: auto;
    object-fit: inherit;
  }
}
.js-modal__content__fl__youtube {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  width: calc(100% - 30rem);
  height: 100%;
  margin-left: auto;
}
@media only screen and (max-width: 1000px) {
  .js-modal__content__fl__youtube {
    width: 100%;
    height: auto;
    display: block;
  }
}
.js-modal__content__fl__youtube__wrap {
  width: min(90%, 120vh);
}
@media only screen and (max-width: 1000px) {
  .js-modal__content__fl__youtube__wrap {
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 680px) {
  .js-modal__content__fl__youtube__wrap {
    width: min(100%, 120vh);
  }
}
.js-modal__close__outer {
  position: fixed;
  width: 3rem;
  height: 3rem;
  top: 2rem;
  right: 2rem;
  z-index: 1000;
  cursor: pointer;
  will-change: opacity;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-modal__close__outer:before, .js-modal__close__outer:after {
  content: "";
  width: 141.4%;
  height: 1px;
  background-color: #ffffff;
  transform-origin: center center;
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-modal__close__outer:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media only screen and (min-width: 1000px) {
  .js-modal__close__outer:hover {
    opacity: 0.5;
  }
}
.js-modal__close__head {
  position: absolute;
  z-index: 10;
  top: 0rem;
  right: 0rem;
  padding: 0.5rem;
  border-left: 1px solid #000000;
  border-bottom: 1px solid #000000;
  background-color: #ffffff;
  cursor: pointer;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .js-modal__close__head:hover {
    background-color: #000000;
  }
  .js-modal__close__head:hover > span:before, .js-modal__close__head:hover > span:after {
    background-color: #ffffff;
  }
}
.js-modal__close__head > span {
  width: 1rem;
  height: 1rem;
  display: block;
  position: relative;
}
.js-modal__close__head > span:before, .js-modal__close__head > span:after {
  content: "";
  width: 141.4%;
  height: 1px;
  background-color: #000000;
  transform-origin: center center;
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-modal__close__head > span:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.js-modal__close__bottom {
  position: relative;
  padding-top: 1.5rem;
  width: 100%;
  text-align: center;
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  font-variation-settings: "wght" var(--fwn);
  letter-spacing: 0.1em;
  line-height: 2;
  color: #ffffff;
}
.js-modal__close__bottom > span {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  overflow: hidden;
  cursor: pointer;
}
@media only screen and (min-width: 1000px) {
  .js-modal__close__bottom > span:hover:after {
    width: 0%;
    left: 100%;
    transition: width 0ms cubic-bezier(0.25, 0.1, 0.25, 1) 200ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
.js-modal__close__bottom > span:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #ffffff;
  position: absolute;
  bottom: 0;
  width: 100%;
  left: 0;
  will-change: width, left;
  transition: width 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 0ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-modal__close__bottom > span > span {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
}
.js-modal__close__bottom > span > span:before, .js-modal__close__bottom > span > span:after {
  content: "";
  width: 141.4%;
  height: 1px;
  background-color: #ffffff;
  transform-origin: center center;
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-modal__close__bottom > span > span:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.js-modal__ctrl {
  text-align: center;
  padding-top: 2rem;
}
.js-modal__ctrl__wrap div {
  cursor: pointer;
  will-change: opacity;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  display: inline-block;
  padding: 1rem;
}
@media only screen and (min-width: 1000px) {
  .js-modal__ctrl__wrap div:hover {
    opacity: 0.5;
  }
}
.js-modal__ctrl__wrap div > span {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  overflow: hidden;
  text-indent: -9999px;
  position: relative;
}
.js-modal__ctrl__arrow__next {
  transform-origin: center center;
  transform: rotate(180deg);
}
.js-modal__ctrl__arrow > span:before, .js-modal__ctrl__arrow > span:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #ffffff;
  transform-origin: left center;
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-modal__ctrl__arrow > span:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.js-modal__ctrl__close > span:before, .js-modal__ctrl__close > span:after {
  content: "";
  width: 141.4%;
  height: 1px;
  background-color: #ffffff;
  transform-origin: center center;
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-modal__ctrl__close > span:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

body.is-guide .js-modal {
  position: relative;
  display: block;
}
body.is-guide .js-modal__wrap {
  display: block;
}
body.is-guide .js-modal__content {
  display: block;
  opacity: 1;
}

.js-floating {
  position: fixed;
  z-index: 9999;
  right: 5vw;
  bottom: min(5vw, var(--commonGap));
  aspect-ratio: 1;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  will-change: opacity, visibility;
  visibility: hidden;
  opacity: 0;
  transform: translate(10%, 0);
  width: min(18rem, 20.7692307692vw);
}
@media only screen and (max-width: 1000px) {
  .js-floating {
    width: 27.6923076923vw;
  }
}
@media only screen and (max-width: 680px) {
  .js-floating {
    width: 34.6153846154vw;
    transform: translate(8%, 0);
  }
}
.js-floating.is-active {
  visibility: visible;
  opacity: 1;
}
.js-floating.is-absolute {
  position: absolute;
}
@media only screen and (max-width: 680px) {
  .js-floating.is-absolute {
    position: fixed;
  }
}
.js-floating.is-white .js-floating__text {
  fill: var(--KeepWhite);
}
.js-floating.is-white .js-floating__link {
  color: var(--KeepWhite);
}
.js-floating.is-change .js-floating__link:nth-child(1) {
  opacity: 0;
  visibility: hidden;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 200ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 200ms;
}
.js-floating.is-change .js-floating__link:nth-child(1) > span:before {
  transform: translate3d(-50%, -50%, 0px) scale3d(0.8, 0.8, 1);
}
.js-floating.is-change .js-floating__link:nth-child(2) {
  opacity: 1;
  visibility: visible;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-floating.is-change .js-floating__link:nth-child(2) > span:before {
  transform: translate3d(-50%, -50%, 0px) scale3d(1, 1, 1);
}
.js-floating__text {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  fill: var(--Title);
  transition: fill 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  animation: artTextAnimation 10000ms linear infinite;
}
.js-floating__text svg {
  display: block;
  width: 100%;
  height: 100%;
}
.js-floating__wrap {
  width: 100%;
  height: 100%;
  position: relative;
}
.js-floating__link {
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 10%;
  display: block;
  color: var(--KeepWhite);
  will-change: opacity, visibility;
  font-size: 1vw;
  font-weight: 500;
  font-family: var(--fontEn);
  font-variation-settings: "wght" 500;
  letter-spacing: var(--ls_title_en);
  line-height: 1;
  text-transform: uppercase;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 1360px) {
  .js-floating__link {
    font-size: 1.2vw;
  }
}
@media only screen and (max-width: 1000px) {
  .js-floating__link {
    font-size: 1.75vw;
  }
}
@media only screen and (max-width: 680px) {
  .js-floating__link {
    font-size: 3vw;
    padding: 8%;
  }
}
.js-floating__link:nth-child(1) {
  opacity: 1;
  visibility: visible;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-floating__link:nth-child(1) > span:before {
  transform: translate3d(-50%, -50%, 0px) scale3d(1, 1, 1);
}
.js-floating__link:nth-child(2) {
  opacity: 0;
  visibility: hidden;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 200ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 200ms;
}
.js-floating__link:nth-child(2) > span:before {
  background-color: var(--Attention);
  transform: translate3d(-50%, -50%, 0px) scale3d(0.8, 0.8, 1);
}
@media only screen and (min-width: 1000px) {
  .js-floating__link:hover > span:after {
    transform: translate3d(-50%, -50%, 0px) scale3d(1, 1, 1);
    opacity: 0.3;
  }
}
.js-floating__link > span {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  width: 100%;
  border-radius: 100%;
  position: relative;
}
.js-floating__link > span:before {
  content: "";
  position: absolute;
  border-radius: 100%;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0px) scale3d(0.8, 0.8, 1);
  background-color: var(--KeepText);
  z-index: 0;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-floating__link > span:after {
  content: "";
  position: absolute;
  border-radius: 100%;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0px) scale3d(0.5, 0.5, 1);
  background-color: #000000;
  z-index: 1;
  opacity: 0;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-floating__link > span > span {
  position: relative;
  display: block;
  z-index: 2;
  text-align: center;
  will-change: opacity, transform;
}

@keyframes artTextAnimation {
  0% {
    transform: translate3d(0px, 0px, 0px) rotate(0deg);
  }
  50% {
    transform: translate3d(0px, 0px, 0px) rotate(-180deg);
  }
  100% {
    transform: translate3d(0px, 0px, 0px) rotate(-360deg);
  }
}
.js-totop__float, .js-totop__fix {
  position: fixed;
  z-index: 5000;
  bottom: 0;
  right: 0;
  padding: 1rem;
  width: var(--HeaderHeight);
  height: var(--HeaderHeight);
  border-bottom: none;
  border-right: none;
  visibility: hidden;
  opacity: 0;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, border-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  border: 1px solid var(--Key1);
  border-right: none;
  border-bottom: none;
  background-color: var(--Key1);
}
.js-totop__float.is-active, .is-active.js-totop__fix {
  visibility: visible;
  opacity: 1;
}
.js-totop__float.is-absolute, .is-absolute.js-totop__fix {
  position: absolute;
}
@media only screen and (min-width: 1000px) {
  .js-totop__float:hover, .js-totop__fix:hover {
    background-color: var(--White);
    border-color: var(--Key1);
  }
  .js-totop__float:hover > span, .js-totop__fix:hover > span {
    color: var(--Key1);
    border-color: var(--Key1);
  }
}
.js-totop__float > span, .js-totop__fix > span {
  width: 1rem;
  height: 1rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 10px;
  font-weight: var(--fwn);
  font-family: var(--ff);
  font-variation-settings: "wght" var(--fwn);
  letter-spacing: 0.06em;
  line-height: 10px;
  color: var(--White);
  border-color: var(--White);
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, border-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-totop__float > span:before, .js-totop__fix > span:before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: 1px solid;
  border-left: 1px solid;
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  position: relative;
  transform-origin: center;
  transform: translate(-50%, -50%) rotate(45deg);
}
.js-totop__float > span:after, .js-totop__fix > span:after {
  content: "PAGE TOP";
  position: absolute;
  white-space: nowrap;
  left: 50%;
  top: 100%;
  transform-origin: center center;
  transform: translate(-50%, 0) scale(0.8);
  display: block;
}

.js-totop__fix {
  visibility: visible;
  opacity: 1;
  position: absolute;
}

.js-lazy_bgi {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  display: block;
}

.js-stream {
  white-space: nowrap;
  user-select: none;
  position: relative;
  height: 2vw;
  overflow: hidden;
  padding: 0.5em 0;
  box-sizing: content-box;
}
.js-stream__wrap {
  display: block;
  will-change: transform;
  transform: translate3d(0px, 0px, 0px);
}
.js-stream__inner {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0%);
  white-space: nowrap;
}
.js-stream__text {
  display: inline-block;
  font-size: 2vw;
  font-weight: var(--fwn);
  font-family: var(--fontEn);
  font-variation-settings: "wght" var(--fwn);
  letter-spacing: 1em;
  line-height: 1;
  text-transform: uppercase;
}

.js-fixed {
  width: 100%;
  padding: 0;
  overflow: hidden;
  position: relative;
}
.js-fixed__bg {
  position: absolute;
  width: 100%;
  height: 100lvh;
  will-change: height;
  top: 0%;
  left: 0;
}
.js-fixed__wrap {
  position: relative;
  z-index: 1;
}

.js-delauanyCanvas {
  position: relative;
  aspect-ratio: 1;
  user-select: none;
  pointer-events: none;
}
.js-delauanyCanvas__wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.js-delauanyCanvas__wrap canvas {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  user-select: none;
  pointer-events: none;
}

.js-delauanyCanvas__wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized,
.splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  -ms-flex-align: center;
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  height: 2em;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

body {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 100svh;
  opacity: 0;
  will-change: opacity;
}
body.is-load {
  opacity: 1;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}

#wrapAll {
  width: var(--narrowWidth);
  margin-left: auto;
  margin-right: auto;
  padding: 6rem 0 3rem;
}

.l-header__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
@media only screen and (max-width: 680px) {
  .l-header__wrap {
    display: block;
  }
}
.l-header__logo {
  margin-bottom: 2rem;
}
.l-header__logo img {
  width: 200px;
  height: auto;
  display: block;
}
.l-header__credit {
  font-size: calc(var(--pow0) + 0px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  font-variation-settings: "wght" var(--fwn);
  letter-spacing: var(--ls);
  line-height: 1.7;
}
.l-header__credit > span {
  display: block;
  position: relative;
  top: -0.35em;
}

.l-main {
  padding: 6rem 0;
}
@media only screen and (max-width: 1000px) {
  .l-main {
    padding: 3rem 0 6rem;
  }
}
@media only screen and (max-width: 680px) {
  .l-main {
    padding: 3rem 0 6rem;
  }
}

.l-footer__wrap {
  text-align: center;
}
.l-footer__logo img {
  width: 200px;
  height: auto;
  display: block;
}
.l-footer__qr {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
  user-select: none;
  pointer-events: none;
}
@media only screen and (max-width: 1000px) {
  .l-footer__qr {
    display: none;
  }
}
.l-footer__qr dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: 2rem;
  flex-wrap: nowrap;
}
.l-footer__qr dl dt {
  width: 6rem;
}
.l-footer__qr dl dd {
  flex: 1;
  text-align: left;
  font-size: calc(var(--pow0) - 1px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  font-variation-settings: "wght" var(--fwn);
  letter-spacing: var(--ls);
  line-height: 1.5;
}
.l-footer__copyright {
  font-size: calc(var(--pow0) + 0px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  font-variation-settings: "wght" var(--fwn);
  letter-spacing: var(--ls);
  line-height: 1.5;
  display: inline-block;
  padding-top: 3rem;
}
@media only screen and (max-width: 1000px) {
  .l-footer__copyright {
    padding-top: 0;
  }
}
@media only screen and (max-width: 680px) {
  .l-footer__copyright {
    font-size: 11px;
  }
}
.l-footer__copyright a {
  display: inline-block;
  position: relative;
  vertical-align: baseline;
  position: relative;
}
.l-footer__copyright a:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--Border);
  bottom: 0;
  left: 0;
  position: absolute;
}

.p-list__li {
  border: 1px solid var(--Border);
  margin-bottom: 2rem;
  border-radius: 6px;
  overflow: hidden;
}
.p-list__li:last-child {
  margin-bottom: 0;
}
.p-list__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  background-color: var(--Base2);
  font-size: calc(var(--pow0) + 0px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  font-variation-settings: "wght" var(--fwn);
  letter-spacing: var(--ls);
  line-height: 1.5;
  padding: 1rem;
}
@media only screen and (max-width: 680px) {
  .p-list__head {
    padding: 10px;
  }
}
.p-list__head .date {
  width: 14rem;
}
@media only screen and (max-width: 680px) {
  .p-list__head .date {
    width: 7em;
  }
}
.p-list__head .title {
  flex: 1;
}
.p-list__body a {
  display: block;
  border-bottom: 1px dashed var(--Border);
  padding: 1rem 4rem 1rem 1rem;
  position: relative;
  cursor: pointer;
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-list__body a:hover {
    background-color: rgba(255, 255, 255, 0.5);
  }
}
@media only screen and (max-width: 680px) {
  .p-list__body a {
    padding: 1rem 3rem 1rem 10px;
  }
}
.p-list__body a:last-child {
  border-bottom: none;
}
.p-list__body a svg {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translate(0, -50%);
  fill: var(--SubText);
}
.p-list__body a svg.dl {
  fill: var(--Title);
}
.p-list__body dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  flex-wrap: nowrap;
  gap: 2rem;
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 680px) {
  .p-list__body dl {
    flex-direction: column;
    gap: 2px;
  }
}
.p-list__body dl dt {
  width: 12rem;
  max-width: 12rem;
  font-size: calc(var(--pow0) + 0px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  font-variation-settings: "wght" var(--fwn);
  letter-spacing: var(--ls);
  line-height: 1.5;
}
@media only screen and (max-width: 680px) {
  .p-list__body dl dt {
    width: 100%;
    width: 12rem;
    max-width: 12rem;
  }
}
.p-list__body dl dd {
  flex: 1;
  font-size: calc(var(--pow0) - 1px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  font-variation-settings: "wght" var(--fwn);
  letter-spacing: var(--ls);
  line-height: 1.7;
  color: var(--Text);
}
@media only screen and (max-width: 680px) {
  .p-list__body dl dd {
    width: 100%;
    flex: initial;
  }
}

/*# sourceMappingURL=style.css.map */
