@charset "UTF-8";
/* ==============================================================================================
CSS変数
============================================================================================== */
:root {
  --ratio-square: 100%;
  --ratio-wide: 56.25%;
  --ratio-silver: 70.7%;
  --ratio-gold: 61.8%;
  --ratio-cinema: 42.5%; }

:root {
  --z-index-lv1: 0;
  --z-index-lv2: 10;
  --z-index-lv3: 100;
  --z-index-lv4: 1000;
  --z-index-lv5: 10000;
  --z-index-lv6: 100000;
  --z-index-lv7: 1000000;
  --z-index-lv8: 10000000;
  --z-index-lv9: 100000000;
  --z-index-max: 1000000000;
  --z-index-limit: 2147483647; }

:root {
  --tpl-header-height: 9rem;
  --tpl-header-logo-scale: 50;
  --tpl-min-width: 1224px; }

@media screen and (max-width: 749px) {
  :root {
    --tpl-header-height: 6rem; } }

:root {
  --color-heading: #181818;
  --color-txt: #4d4d4d;
  --color-gray: #4D4D4D; }

:root {
  --font-size-xxxxl: 3rem;
  --font-size-xxxl: 2.5rem;
  --font-size-xxl: 2.1rem;
  --font-size-xl: 1.8rem;
  --font-size-l: 1.6rem;
  --font-size-m: 1.4rem;
  --font-size-s: 1.2rem;
  --font-size-xs: 1rem;
  --line-height-xxl: 2;
  --line-height-xl: 1.75;
  --line-height-l: 1.5;
  --line-height-m: 1.25;
  --line-height-s: 1;
  --line-height-xs: 1.4; }

@media screen and (max-width: 749px) {
  :root {
    --font-size-xxxxl: 3rem;
    --font-size-xxxl: 2.5rem;
    --font-size-xxl: 2.1rem;
    --font-size-xl: 1.8rem;
    --font-size-l: 1.6rem;
    --font-size-m: 1.4rem;
    --font-size-s: 1.2rem;
    --font-size-xs: 1rem; } }

:root {
  --space-xxl: 16rem;
  --space-xl: 12.8rem;
  --space-l: 9.6rem;
  --space-m: 6.4rem;
  --space-m2: 6.6rem;
  --space-s: 4.8rem;
  --space-xs: 3.2rem;
  --space-xxs: 1.6rem;
  --space-xxxs: 0.8rem; }

@media screen and (max-width: 749px) {
  :root {
    --space-xxl: 16rem;
    --space-xl: 12.8rem;
    --space-l: 9.6rem;
    --space-m: 6.4rem;
    --space-s: 4.8rem;
    --space-xs: 3.2rem;
    --space-xxs: 1.6rem;
    --space-xxxs: 0.7rem; } }

/* ==============================================================================================
CSS RESET
============================================================================================== */
* {
  margin: 0;
  padding: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

html,
body {
  font-size: 62.5%;
  height: 100%; }
  @media screen and (max-width: 749px) {
    html,
    body {
      font-size: 62.5%; } }

body {
  display: block;
  line-height: 1;
  color: var(--color-txt);
  text-align: left;
  width: 100% !important;
  background: #E0E2E2;
  margin: 0;
  padding: 0;
  position: relative;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: none;
  font-weight: normal;
  font-weight: 400;
  font-family: 'noto-sans', serif; }
  :lang(zh-cmn-Hant) body {
    font-weight: 300; }
  :lang(zh-cmn-Hant) body {
    font-weight: 500;
    font-family: "Noto Sans TC"; }
  :lang(zh-cmn-Hans) body {
    font-weight: 500;
    font-family: "Noto Sans SC"; }
  @media screen and (max-width: 667px) {
    body {
      max-width: 767px !important;
      min-width: 0 !important;
      width: 100% !important;
      height: 100%;
      overflow-x: hidden !important;
      padding-top: 0; } }

:lang(en) body {
  word-wrap: break-word;
  overflow-wrap: break-word; }

body.fixed {
  position: fixed;
  width: 100%;
  height: 100%; }

main {
  position: relative;
  z-index: 2; }

::-moz-selection {
  background: #474747;
  color: #fff; }

::selection {
  background: #474747;
  color: #fff; }

::-moz-selection {
  background: #474747;
  color: #fff; }

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

audio, canvas, progress, video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden] {
  display: none; }

template {
  display: none; }

address {
  font-style: normal; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  line-height: 100%;
  margin: 0px;
  padding: 0px; }

strong, b {
  font-weight: bold; }

object {
  pointer-events: none; }

img {
  border: none;
  vertical-align: bottom; }

audio:not([controls]) {
  display: none;
  height: 0; }

svg {
  fill: currentColor;
  vertical-align: bottom; }

svg:not(:root) {
  overflow: hidden; }

a {
  color: inherit;
  cursor: pointer; }

a:hover {
  text-decoration: none; }

a * {
  cursor: pointer; }

a,
input,
select,
textarea,
button,
a object,
a img,
button span,
a .c-button,
.u-hvr {
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }
  a:hover,
  input:hover,
  select:hover,
  textarea:hover,
  button:hover,
  a object:hover,
  a img:hover,
  button span:hover,
  a .c-button:hover,
  .u-hvr:hover {
    -webkit-transition: all .1s ease;
    -o-transition: all .1s ease;
    transition: all .1s ease; }

a img {
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }

a:hover img {
  opacity: .8;
  -webkit-transition: all .1s ease;
  -o-transition: all .1s ease;
  transition: all .1s ease; }

.lte-Android4 * {
  -webkit-transition: none !important;
  -o-transition: none !important;
  transition: none !important; }

ol li {
  list-style: none; }

ul li {
  list-style: none; }

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
textarea {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="checkbox"]:focus,
textarea:focus,
label:focus,
select {
  outline: 0; }

select::-ms-expand {
  display: none; }

:placeholder-shown {
  color: darkgray;
  font-family: gothic, serif; }

::-webkit-input-placeholder {
  color: darkgray;
  font-family: gothic, serif; }

:-ms-input-placeholder {
  color: darkgray;
  font-family: gothic, serif; }

::-ms-input-placeholder {
  color: darkgray;
  font-family: gothic, serif; }

::placeholder {
  color: darkgray;
  font-family: gothic, serif; }

:-ms-input-placeholder {
  color: darkgray;
  font-family: gothic, serif; }

:-moz-placeholder {
  color: darkgray;
  font-family: gothic, serif; }

::-moz-placeholder {
  color: darkgray;
  font-family: gothic, serif; }

::-webkit-input-placeholder {
  color: darkgray;
  font-family: gothic, serif; }

iframe {
  width: 100%;
  border: none;
  outline: none; }

ruby {
  display: inline-table;
  border: none;
  white-space: nowrap;
  vertical-align: text-bottom;
  text-align: center;
  line-height: 100%; }

ruby rt {
  display: table-header-group;
  font-size: 50%;
  text-align: center;
  line-height: 100%; }

ruby ruby rt {
  display: table-footer-group;
  font-size: 50%;
  line-height: 100%; }

ruby rp {
  display: none; }

dl dt {
  font-weight: bold; }

body > span {
  position: fixed;
  width: 0;
  height: 0;
  overflow: hidden;
  left: 0; }

select {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 2px;
  height: 4.2rem;
  font-size: 1.4rem;
  background: #fff;
  border: none;
  border: 1px solid #dbdbdb;
  padding: 0 1.5rem;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  letter-spacing: 0.1em; }
  @media screen and (max-width: 749px) {
    select {
      background: #eeeeee; } }

/* ==============================================================================================
フォント設定
============================================================================================== */
@font-face {
  font-family: 'Untitled Serif';
  font-style: normal;
  font-display: swap;
  src: url("../woff2/untitled-serif-web-regular.woff2") format("woff2"); }

/* ==============================================================================================
コンテンツ
============================================================================================== */
/* レイアウト：全体レイアウト
-------------------------------------------------------------------------- */
:root {
  --tpl-side-width: 7rem; }

.l-wrapper {
  position: relative;
  display: block; }

.l-wrapper__block {
  position: relative;
  overflow: hidden; }

.l-wrapper__block:first-child {
  width: var(--tpl-side-width);
  height: 100vh;
  background: #B4B7BA;
  position: fixed; }
  @media screen and (max-width: 749px) {
    .l-wrapper__block:first-child {
      width: 100%;
      height: auto;
      position: relative; } }

.l-wrapper__block:last-child {
  width: calc(100% - var(--tpl-side-width));
  margin-left: var(--tpl-side-width); }
  @media screen and (max-width: 749px) {
    .l-wrapper__block:last-child {
      width: 100%;
      margin-left: 0; } }

/* レイアウト：全体レイアウト（記事ページ専用）
-------------------------------------------------------------------------- */
:root {
  --width-mv: 44.2%; }

.l-wrapper-column {
  position: relative;
  display: block;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }

.l-wrapper-column__block {
  position: relative;
  overflow: hidden; }

.l-wrapper-column__block:nth-child(1) {
  width: var(--tpl-side-width);
  height: 100vh;
  background: #B4B7BA;
  position: fixed; }
  @media screen and (max-width: 749px) {
    .l-wrapper-column__block:nth-child(1) {
      width: 100%;
      height: auto;
      position: relative; } }

.l-wrapper-column__block:nth-child(2) {
  width: calc(var(--width-mv) - var(--tpl-side-width));
  position: fixed;
  top: 0;
  left: var(--tpl-side-width); }
  @media screen and (max-width: 1024px) {
    .l-wrapper-column__block:nth-child(2) {
      width: calc(100% - var(--tpl-side-width));
      position: relative; } }
  @media screen and (max-width: 749px) {
    .l-wrapper-column__block:nth-child(2) {
      width: 100%;
      left: 0; } }

.l-wrapper-column__block:nth-child(3) {
  width: calc(100% - var(--width-mv));
  margin-left: var(--width-mv); }
  @media screen and (max-width: 1024px) {
    .l-wrapper-column__block:nth-child(3) {
      width: calc(100% - var(--tpl-side-width));
      margin-left: var(--tpl-side-width); } }
  @media screen and (max-width: 749px) {
    .l-wrapper-column__block:nth-child(3) {
      width: 100%;
      margin-left: 0; } }

/* レイアウト：全体レイアウト2（記事ページ専用）
/* 途中で固定を解除させるため、stickyを使用
-------------------------------------------------------------------------- */
.l-wrapper-column2 {
  position: relative;
  display: block;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }

.l-wrapper-column2__block {
  position: relative; }

.l-wrapper-column2__block:nth-child(1) {
  width: var(--tpl-side-width);
  height: 100vh;
  background: #B4B7BA;
  position: fixed; }
  @media screen and (max-width: 749px) {
    .l-wrapper-column2__block:nth-child(1) {
      width: 100%;
      height: auto;
      position: relative; } }

.l-wrapper-column2__block:nth-child(2) {
  width: calc(100% - var(--tpl-side-width));
  margin-left: var(--tpl-side-width);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 1024px) {
    .l-wrapper-column2__block:nth-child(2) {
      display: block; } }
  @media screen and (max-width: 749px) {
    .l-wrapper-column2__block:nth-child(2) {
      width: 100%;
      margin-left: 0; } }

.l-wrapper-column__mv {
  width: 41.2%;
  display: block; }
  @media screen and (max-width: 1024px) {
    .l-wrapper-column__mv {
      width: 100%; } }

.l-wrapper-column__main {
  width: calc(100% - 41.2%); }
  @media screen and (max-width: 1024px) {
    .l-wrapper-column__main {
      width: 100%; } }

.l-wrapper-bottom {
  width: calc(100% - var(--tpl-side-width));
  margin-left: var(--tpl-side-width); }
  @media screen and (max-width: 749px) {
    .l-wrapper-bottom {
      width: 100%;
      margin-left: 0; } }

/* レイアウト：コンテンツ幅
-------------------------------------------------------------------------- */
.l-content {
  position: relative;
  width: calc(100% - 40px);
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 1024px) {
    .l-content {
      width: calc(100% - 260px); } }
  @media screen and (max-width: 749px) {
    .l-content {
      width: calc(100% - 60px); } }
  @media screen and (max-width: 1024px) {
    .l-content.-clear-medium {
      width: 100%; } }
  @media screen and (max-width: 749px) {
    .l-content.-clear-small {
      width: 100%; } }
  @media screen and (max-width: 1024px) {
    .l-content.-clear-small-ip {
      width: 100% !important; } }

@media screen and (max-width: 1024px) {
  .l-content.-variable-l {
    width: calc(100% - 26rem); } }

@media screen and (max-width: 1024px) {
  .l-content.-variable-m {
    width: calc(100% - 12.8rem); } }

@media screen and (max-width: 749px) {
  .l-content.-variable-m {
    width: calc(100% - 6.2rem); } }

.l-content-l {
  width: 91.5%;
  max-width: 1660px;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 1024px) {
    .l-content-l {
      width: calc(100% - 260px); } }
  @media screen and (max-width: 749px) {
    .l-content-l {
      width: calc(100% - 60px); } }
  @media screen and (max-width: 1024px) {
    .l-content-l.-clear-medium {
      width: 100%; } }
  @media screen and (max-width: 749px) {
    .l-content-l.-clear-small {
      width: 100%; } }

@media screen and (max-width: 1024px) {
  .l-content .l-content-l {
    width: 100%; } }

.l-content-m {
  width: 83%;
  max-width: 1260px;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 749px) {
    .l-content-m {
      width: 100%; } }
  @media screen and (max-width: 749px) {
    .l-content-m.-clear-small {
      width: 100%; } }

@media screen and (max-width: 1024px) {
  .l-content .l-content-m {
    width: 100%; } }

.l-content-m.-type2 {
  width: 81%; }
  @media screen and (max-width: 1024px) {
    .l-content-m.-type2 {
      width: calc(100% - 12.8rem); } }

.l-content-m.-type3 {
  width: 81%; }
  @media screen and (max-width: 1024px) {
    .l-content-m.-type3 {
      width: calc(100% - 6rem); } }

.l-content-m.-type4 {
  width: 63%; }
  @media screen and (max-width: 1024px) {
    .l-content-m.-type4 {
      width: 100%; } }

.l-content-m.-type5 {
  width: 66%; }
  @media screen and (max-width: 1024px) {
    .l-content-m.-type5 {
      width: 100%; } }

.l-content-s {
  width: 57.67%;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 1024px) {
    .l-content-s {
      width: 100%; } }
  @media screen and (max-width: 1024px) {
    .l-content-s.-clear-medium {
      width: 100% !important; } }
  @media screen and (max-width: 749px) {
    .l-content-s.-clear-small {
      width: 100% !important; } }

.l-content-l .l-content-s {
  width: 53%; }

.l-content-xs {
  width: 49%;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 1024px) {
    .l-content-xs {
      width: 100%; } }

.l-section {
  border-top: 1px solid rgba(180, 183, 186, 0.3);
  padding: var(--space-m) 0; }

.l-section-child {
  border-top: 1px solid rgba(180, 183, 186, 0.3);
  padding: var(--space-m) 0; }
  .l-section-child:first-child {
    border-top: none;
    padding-top: 0; }
  .l-section-child:last-child {
    padding-bottom: 0;
    border-bottom: none; }

/* ==============================================================================================
サイドバー
============================================================================================== */
.l-side {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  z-index: var(--z-index-lvmax); }
  @media screen and (max-width: 749px) {
    .l-side {
      display: block; } }

.l-side-access {
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2rem; }
  @media screen and (max-width: 749px) {
    .l-side-access {
      width: 8rem;
      position: fixed;
      left: 0;
      bottom: 45px;
      bottom: calc(env(safe-area-inset-bottom) + 36px);
      padding: 0;
      z-index: var(--z-index-lv9); } }

.l-side-access .js-toggle-modal {
  display: block; }

.l-side.is-white .l-side-access {
  color: #fff; }

.l-side-access a {
  text-decoration: none; }

.is-toggle-open .l-side-access {
  opacity: 0; }

.l-side-access__icon {
  width: 2rem;
  height: 2.5rem;
  margin: 0 auto; }

.l-side-access__text {
  font-size: 1rem;
  text-align: center;
  padding-top: .7rem; }

.l-side .c-toggle {
  margin: 0 auto; }
  @media screen and (max-width: 749px) {
    .l-side .c-toggle {
      position: fixed;
      bottom: 45px;
      bottom: calc(env(safe-area-inset-bottom) + 45px);
      right: 1.6rem;
      left: auto;
      z-index: 100000000; } }

@media screen and (max-width: 749px) {
  .l-side .c-toggle.is-open {
    width: 5.6rem;
    height: 5.6rem;
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; } }

.l-side.is-white .c-toggle .c-toggle__line__item {
  background: #fff; }

.l-side.is-white .c-toggle.is-open .c-toggle__line__item {
  background: #4d4d4d; }

.l-side.is-white .c-toggle .c-toggle__text {
  color: #fff; }

.l-side.is-white .c-toggle.is-open .c-toggle__text {
  color: #4d4d4d; }

/* ==============================================================================================
グローバルヘッダー
============================================================================================== */
/* エクステンション
-------------------------------------------------------------------------- */
.l-header-extension {
  width: calc(100% - 7rem);
  position: fixed;
  top: 0;
  left: 7rem;
  padding: 0;
  z-index: var(--z-index-lv8);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25);
  -webkit-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease; }
  @media screen and (max-width: 749px) {
    .l-header-extension {
      width: 100%;
      left: 0; } }
  .is-inversion .l-header-extension {
    text-shadow: none; }

/* エクステンション：お知らせ
-------------------------------------------------------------------------- */
.l-header-extension-information {
  width: 100%;
  background: #4d4d4d;
  padding: 1.3rem 5rem 1.5rem 1.5rem;
  display: block;
  z-index: var(--z-index-lv8);
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 749px) {
    .l-header-extension-information {
      width: 100%;
      left: 0; } }

.l-header-extension-information p {
  font-size: 1rem;
  line-height: 1.5;
  color: #fff; }

.l-header-extension-information__switch {
  width: 1.2rem;
  height: 1.2rem;
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  display: block;
  z-index: var(--z-index-max); }
  .l-header-extension-information__switch img {
    width: 100%;
    height: auto; }

/* エクステンション：その他要素
-------------------------------------------------------------------------- */
.l-header-extension__inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  top: 3.6rem;
  padding: 0 2rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (max-width: 749px) {
    .l-header-extension__inner {
      padding: .4rem 1.5rem 0 1.5rem;
      top: 1.8rem; } }

.l-header-extension__text {
  font-size: 1.5rem;
  line-height: 1.5;
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .l-header-extension__text {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .l-header-extension__text {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 749px) {
    .l-header-extension__text {
      font-size: 1.2rem;
      line-height: 1.25;
      position: relative; } }

@media screen and (max-width: 749px) {
  .l-header-extension__index {
    font-size: 1rem; } }

.l-header-extension__text,
.l-header-extension__index {
  color: #fff; }

.l-header-extension__index.c-select-txt__label {
  color: #fff; }

.l-header-extension.-type-article .l-header-extension__index,
.l-header-extension.-type-article .l-header-extension__text {
  color: #fff; }

.l-header-extension.-type-article .l-header-extension__index {
  color: #333 !important;
  text-shadow: none !important; }
  @media screen and (max-width: 1024px) {
    .l-header-extension.-type-article .l-header-extension__index {
      color: #fff !important;
      text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25); } }

.is-inversion .l-header-extension__index,
.is-inversion .l-header-extension__text {
  color: #333;
  text-shadow: none; }

.is-inversion .l-header-extension.-type-article .l-header-extension__text {
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25); }
  @media screen and (max-width: 1024px) {
    .is-inversion .l-header-extension.-type-article .l-header-extension__text {
      color: #333 !important;
      text-shadow: none; } }

.is-inversion .l-header-extension.-type-article .l-header-extension__index {
  text-shadow: none !important; }
  @media screen and (max-width: 1024px) {
    .is-inversion .l-header-extension.-type-article .l-header-extension__index {
      color: #333 !important; } }

.l-head-logo {
  width: 6.6rem;
  height: 5.6rem;
  position: absolute;
  top: 2.15rem;
  left: 0;
  right: 0;
  margin: 0 auto; }
  @media screen and (max-width: 749px) {
    .l-head-logo {
      width: 5.9rem;
      height: 5.9rem;
      top: 1.9rem; } }
  .l-head-logo svg {
    fill: #000; }
  .-type-mix .l-head-logo {
    top: -1.4rem; }
    @media screen and (max-width: 749px) {
      .-type-mix .l-head-logo {
        top: .1rem; } }
  .l-head-logo a:hover {
    opacity: .8; }

.l-head-logo.js-inversion svg {
  opacity: 0;
  -webkit-transition: all .4s ease;
  -o-transition: all .4s ease;
  transition: all .4s ease; }
  .is-inversion .l-head-logo.js-inversion svg {
    opacity: 1; }

.l-head-logo {
  -webkit-transition: all .4s ease;
  -o-transition: all .4s ease;
  transition: all .4s ease; }

.l-head-logo.is-hide {
  opacity: 0; }

.l-head-logo.is-show {
  opacity: 1; }

/* ==============================================================================================
グローバルフッター
============================================================================================== */
/* フッター：大枠
-------------------------------------------------------------------------- */
.l-footer {
  width: 100%;
  background: #d2d5d6;
  color: #111;
  text-align: center;
  font-size: 1.3rem;
  position: relative;
  z-index: var(--z-index-lv6); }
  .l-wrapper-column + .l-footer {
    width: calc(100% - var(--tpl-side-width));
    margin-left: var(--tpl-side-width); }
    @media screen and (max-width: 749px) {
      .l-wrapper-column + .l-footer {
        width: 100%;
        margin-left: 0; } }

.l-footer__inner {
  width: calc(100% - 4rem);
  max-width: 1660px;
  margin: 0 auto;
  position: relative;
  border-top: 1px solid rgba(180, 183, 186, 0.3);
  padding: 2.5rem 5.3rem 2.2rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 749px) {
    .l-footer__inner {
      width: 100%;
      display: block;
      padding: 1.5rem 0 1.5rem; } }

/* フッター：パンくず
-------------------------------------------------------------------------- */
.l-footer-breadcrumb {
  padding: 2.2rem 0 2.2rem; }
  @media screen and (max-width: 749px) {
    .l-footer-breadcrumb {
      padding: 1.5rem 2rem; } }

/* フッター：ブランドロゴ
-------------------------------------------------------------------------- */
.l-footer-logo-grand {
  width: 10.7rem;
  position: absolute;
  top: 43%;
  right: 5.3rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  z-index: 10; }
  .l-footer-logo-grand a {
    display: block; }
  @media screen and (max-width: 749px) {
    .l-footer-logo-grand {
      position: static;
      margin: 3.8rem auto 0;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none; } }

/* フッター：メニュー
-------------------------------------------------------------------------- */
.l-footer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: start;
  padding-bottom: 2.1rem; }
  @media screen and (max-width: 749px) {
    .l-footer-nav {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 0 1rem; } }

.l-footer-nav li {
  border-right: 1px solid #909192;
  padding-right: 1rem;
  margin-right: 1rem;
  font-size: var(--font-size-xs);
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 749px) {
    .l-footer-nav li {
      width: 50%;
      padding-right: 0;
      margin-right: 0;
      border-right: none; } }
  .l-footer-nav li:last-child {
    padding-right: 0;
    margin-right: 0;
    border: none; }

.l-footer-nav li a {
  text-decoration: none; }
  @media screen and (max-width: 749px) {
    .l-footer-nav li a {
      padding: 1.1rem 0;
      display: block; }
      .l-footer-nav li a::before {
        content: none; } }

.l-footer-nav li a:hover {
  text-decoration: underline; }

/* フッター：コピーライト
-------------------------------------------------------------------------- */
.l-footer-copyright {
  opacity: .3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .l-footer-copyright {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .l-footer-copyright {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 749px) {
    .l-footer-copyright {
      margin-top: 4rem;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      font-size: var(--font-size-xs); } }

.l-footer-copyright::before {
  content: "©";
  font-size: 1em; }

.l-footer-copyright .js-txt-year {
  margin: 0 .2em; }

/* ==============================================================================================
展開メニュー（サイトマップ）
============================================================================================== */
.l-sitemap {
  width: calc(100% - var(--tpl-side-width));
  height: 100%;
  min-height: 60rem;
  position: fixed;
  top: 0;
  left: var(--tpl-side-width);
  background: #B4B7BA;
  border-left: 1px solid #fff;
  z-index: var(--z-index-limit);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  z-index: 99999997; }
  @media screen and (max-width: 1024px) {
    .l-sitemap {
      display: block;
      min-height: auto;
      overflow: scroll;
      -webkit-overflow-scrolling: touch; } }
  @media screen and (max-width: 749px) {
    .l-sitemap {
      width: 100%;
      left: 0;
      border-left: none; } }

.is-toggle-open .l-sitemap {
  opacity: 1;
  visibility: visible;
  -webkit-transition: all .1s ease;
  -o-transition: all .1s ease;
  transition: all .1s ease; }

.l-sitemap a:hover img {
  opacity: .8; }

.l-sitemap-main {
  width: calc(100% - 23.2rem);
  height: 100vh;
  padding-right: 5.3rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative; }
  @media screen and (max-width: 1024px) {
    .l-sitemap-main {
      width: 100%;
      height: auto;
      display: block;
      padding: 6rem 6rem 0; } }
  @media screen and (max-width: 749px) {
    .l-sitemap-main {
      padding: 2.6rem 3rem 0; } }

.l-sitemap-logo {
  position: relative;
  top: 6.4rem;
  left: 7.3rem; }
  .l-sitemap-logo img,
  .l-sitemap-logo svg {
    width: 14.6%;
    min-width: 14.6rem; }
    @media screen and (max-width: 1024px) {
      .l-sitemap-logo img,
      .l-sitemap-logo svg {
        width: 10rem;
        min-width: auto; } }
    @media screen and (max-width: 749px) {
      .l-sitemap-logo img,
      .l-sitemap-logo svg {
        width: 12.5rem; } }
  .l-sitemap-logo svg {
    fill: #000; }
  @media screen and (max-width: 1024px) {
    .l-sitemap-logo {
      width: 10rem;
      min-width: auto;
      top: 0;
      left: 0;
      right: 0;
      margin: 0 auto; } }
  @media screen and (max-width: 749px) {
    .l-sitemap-logo {
      width: 12.5rem; } }

.l-sitemap-logo a:hover {
  opacity: .8; }

.l-sitemap-menu {
  width: clamp(500px, 49.01961vw, 700px);
  padding-right: 5.3rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  right: 0;
  bottom: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start; }
  @media screen and (max-width: 1024px) {
    .l-sitemap-menu {
      width: 100%;
      padding: 6.4rem 0 0;
      display: block;
      position: static; } }

.l-sitemap-menu__block {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .l-sitemap-menu__block:first-child {
    width: 50%;
    padding-right: 4.8rem; }
    @media screen and (max-width: 1024px) {
      .l-sitemap-menu__block:first-child {
        width: 100%;
        padding-right: 0; } }
  .l-sitemap-menu__block:last-child {
    width: 50%; }
    @media screen and (max-width: 1024px) {
      .l-sitemap-menu__block:last-child {
        width: 100%;
        min-width: auto;
        margin-top: 2rem; } }

.l-sitemap-menu ul {
  list-style: none; }

.l-menu > li + li {
  margin-top: 3.3rem; }
  @media screen and (max-width: 1024px) {
    .l-menu > li + li {
      margin-top: 1.8rem; } }

.l-menu-inside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.l-menu-inside li {
  width: 50%;
  margin-top: 1.7rem;
  padding-right: 1.6rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.l-menu-label strong {
  font-weight: normal; }

.l-menu-label .c-txt-link {
  font-size: 2.1rem;
  line-height: 1.25;
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .l-menu-label .c-txt-link {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .l-menu-label .c-txt-link {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.l-menu-label .c-txt-link .c-txt-link__item {
  width: calc(100% - .4rem); }

.l-menu-inside .l-menu-label .c-txt-link {
  font-size: 1.6rem;
  line-height: 1.25;
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .l-menu-inside .l-menu-label .c-txt-link {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .l-menu-inside .l-menu-label .c-txt-link {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.l-menu-label.-small .c-txt-link {
  font-size: 1.6rem;
  line-height: 1.25;
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .l-menu-label.-small .c-txt-link {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .l-menu-label.-small .c-txt-link {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.l-menu-copy {
  color: #727272;
  line-height: 1.5;
  font-size: var(--font-size-s);
  padding-top: .4rem;
  font-weight: 500; }

.l-sitemap-pickup {
  margin-top: 2.1rem;
  margin-bottom: 1.2rem;
  line-height: 1.5;
  position: relative;
  text-align: center; }

.l-sitemap-pickup__block + .l-sitemap-pickup__block {
  margin-top: 16px; }

.l-sitemap-pickup + .c-column a {
  text-decoration: none; }

.l-sitemap-pickup + .c-column img {
  margin-bottom: 1rem; }

.l-sitemap-lineup__text {
  padding-top: .8rem;
  font-weight: 500 !important; }

.l-sitemap-side {
  width: 23.2rem;
  height: 100vh;
  border-left: 1px solid rgba(77, 77, 77, 0.3);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  right: 0;
  padding: 0 2rem 0 1.6rem; }
  @media screen and (max-width: 1024px) {
    .l-sitemap-side {
      width: 100%;
      position: static;
      height: auto;
      padding: 4.8rem 6rem 9.6rem;
      border-top: 1px solid #4D4D4D;
      margin-top: 4.8rem;
      border-left: none; } }
  @media screen and (max-width: 749px) {
    .l-sitemap-side {
      padding: 4.8rem 3rem 9.6rem; } }

.l-sitemap-side a {
  text-decoration: none; }

.l-sitemap-side__bn {
  margin-top: 6.5rem; }
  @media screen and (max-width: 1024px) {
    .l-sitemap-side__bn {
      margin-top: 0; } }
  .l-sitemap-side__bn + .l-sitemap-side__main {
    margin-top: 2rem !important; }

.l-sitemap-side__main {
  border-top: 1px solid rgba(77, 77, 77, 0.3);
  margin-top: 6.5rem; }
  @media screen and (max-width: 1024px) {
    .l-sitemap-side__main {
      margin-top: 0; } }

.l-sitemap-side__main li {
  border-bottom: 1px solid rgba(77, 77, 77, 0.3);
  font-size: var(--font-size-m);
  font-weight: 400; }

.l-sitemap-side__main__inner {
  padding: 2rem 0;
  display: block; }

.l-sitemap-side__main .l-sitemap-select {
  color: #4D4D4D;
  line-height: 1.7;
  padding: 1.5rem 0;
  font-weight: 400 !important;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: 'noto-sans', serif; }
  :lang(zh-cmn-Hant) .l-sitemap-side__main .l-sitemap-select {
    font-weight: 500;
    font-family: "Noto Sans TC"; }
  :lang(zh-cmn-Hans) .l-sitemap-side__main .l-sitemap-select {
    font-weight: 500;
    font-family: "Noto Sans SC"; }

.l-sitemap-side__sub {
  padding-top: 2rem; }

.l-sitemap-side__sub li {
  font-size: var(--font-size-s);
  -webkit-font-feature-settings: 'palt' on, 'liga' off;
  font-feature-settings: 'palt' on, 'liga' off; }

.l-sitemap-side__sub li + li {
  padding-top: 1.5rem; }

.l-sitemap-side__logo {
  margin: 0 auto;
  text-align: center;
  position: absolute;
  bottom: 6.4rem;
  left: 0;
  right: 0;
  width: 10.7rem; }
  @media screen and (max-width: 1024px) {
    .l-sitemap-side__logo {
      position: static;
      margin-top: 4.8rem; } }

.l-sitemap-side__copyright {
  text-align: center;
  font-size: var(--font-size-xs);
  font-family: 'Untitled Serif', serif;
  opacity: 0; }
  :lang(zh-cmn-Hant) .l-sitemap-side__copyright {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .l-sitemap-side__copyright {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 1024px) {
    .l-sitemap-side__copyright {
      opacity: 1;
      margin-top: 3.2rem; } }

.l-sitemap-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
  height: auto;
  padding: 0;
  color: #4d4d4d;
  padding: 2rem 0;
  cursor: pointer; }

/* ==============================================================================================
パンくずリスト
============================================================================================== */
.c-breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: var(--font-size-l);
  font-family: 'Untitled Serif', serif;
  letter-spacing: 0.02em;
  line-height: 1.25;
  -webkit-font-feature-settings: 'palt' on, 'liga' off;
  font-feature-settings: 'palt' on, 'liga' off; }
  :lang(zh-cmn-Hant) .c-breadcrumb {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-breadcrumb {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 749px) {
    .c-breadcrumb {
      font-size: var(--font-size-m); } }

.c-breadcrumb li::after {
  content: "/";
  margin: 0 .5em; }

.c-breadcrumb li:last-child a {
  text-decoration: none;
  pointer-events: none;
  color: #a8a8a8; }

.c-breadcrumb li:last-child::after {
  display: none; }

.c-breadcrumb a {
  text-decoration: none; }

/* ==============================================================================================
c-button
============================================================================================== */
.c-button-wrap {
  width: 300px;
  text-align: center;
  margin: 0 auto; }

.c-button {
  background: #fff;
  border-radius: 100px;
  display: block;
  padding: 2.4rem 5.5rem 2.6rem 5.5rem;
  text-decoration: none;
  text-align: center;
  font-size: var(--font-size-m);
  font-weight: 500;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #fff;
  line-height: 1.25;
  letter-spacing: 0.02em;
  -webkit-font-feature-settings: 'palt' on, 'liga' off;
  font-feature-settings: 'palt' on, 'liga' off; }
  @media screen and (max-width: 749px) {
    .c-button {
      padding: 2.4rem 5.5rem 2.6rem 5.5rem; } }

.c-button__icon {
  position: absolute;
  top: 50%;
  right: 2.7rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block; }

.c-button__icon.-icon-blank {
  width: 1.6rem;
  height: 1.6rem; }

.c-button__icon.-icon-arrow {
  width: .6rem;
  height: 1rem; }

.c-button svg {
  fill: #B4B7BA; }

.c-button:hover {
  background: #B4B7BA;
  color: #Fff; }
  .c-button:hover svg {
    fill: #fff; }

.c-button.-type2 {
  border: none; }

.c-button.-type3 {
  border: 1px solid rgba(180, 183, 186, 0.3); }

/* c-column - common
-----------------------------------------------------------------*/
.c-column {
  list-style: none;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative; }
  @media screen and (max-width: 749px) {
    .c-column.-block-xsmall {
      display: block; }
    .c-column .c-column__block {
      max-width: 100% !important; } }
  .c-column > .c-column__block.-clear {
    display: block;
    height: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;
    position: relative;
    overflow: hidden; }

/* c-column - uniq
-----------------------------------------------------------------*/
.c-column.-col-uniq-type1 {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (max-width: 1024px) {
    .c-column.-col-uniq-type1 {
      display: block; } }

.c-column.-col-uniq-type1 .c-column__block {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .c-column.-col-uniq-type1 .c-column__block:nth-child(1) {
    width: 44%; }
    @media screen and (max-width: 1024px) {
      .c-column.-col-uniq-type1 .c-column__block:nth-child(1) {
        width: 100%; } }
  .c-column.-col-uniq-type1 .c-column__block:nth-child(2) {
    width: 56%;
    padding-left: 6.8rem; }
    @media screen and (max-width: 1024px) {
      .c-column.-col-uniq-type1 .c-column__block:nth-child(2) {
        width: 100%;
        padding-left: 0;
        padding-top: 3.2rem; } }

.c-column.-col-uniq-type2 {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-decoration: none; }
  @media screen and (max-width: 1024px) {
    .c-column.-col-uniq-type2 {
      display: block; } }

.c-column.-col-uniq-type2 .c-column__block {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative; }

.c-column.-col-uniq-type2 .c-column__block:nth-child(1) {
  width: 57.5%; }
  @media screen and (max-width: 1024px) {
    .c-column.-col-uniq-type2 .c-column__block:nth-child(1) {
      width: 100%; } }

.c-column.-col-uniq-type2 .c-column__block:nth-child(2) {
  width: 42.5%; }
  @media screen and (max-width: 1024px) {
    .c-column.-col-uniq-type2 .c-column__block:nth-child(2) {
      width: 100%;
      padding-top: 3.2rem; } }

@media screen and (max-width: 1024px) {
  .c-column.-col-uniq-introduction {
    display: block; } }

.c-column.-col-uniq-introduction .c-column__block:nth-child(1) {
  width: 46%; }
  @media screen and (max-width: 1024px) {
    .c-column.-col-uniq-introduction .c-column__block:nth-child(1) {
      display: none; } }

.c-column.-col-uniq-introduction .c-column__block:nth-child(2) {
  width: 54%; }
  @media screen and (max-width: 1024px) {
    .c-column.-col-uniq-introduction .c-column__block:nth-child(2) {
      width: 100%; } }

.c-column.-col-card {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }
  .c-column.-col-card .c-column__block {
    width: 50%; }
    @media screen and (max-width: 1024px) {
      .c-column.-col-card .c-column__block {
        width: 100%; } }

.c-column.-col-card-large {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }
  .c-column.-col-card-large .c-column__block:nth-child(1) {
    width: calc(100% - 30.2rem); }
    @media screen and (max-width: 1024px) {
      .c-column.-col-card-large .c-column__block:nth-child(1) {
        width: 100%; } }
  .c-column.-col-card-large .c-column__block:nth-child(2) {
    width: 30.2rem; }
    @media screen and (max-width: 1024px) {
      .c-column.-col-card-large .c-column__block:nth-child(2) {
        width: 100%; } }

/* c-column - default
-----------------------------------------------------------------*/
.c-column.-col2-s16px > .c-column__block {
  -webkit-flex-basis: 50%;
  -moz-flex-basis: 50%;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  -webkit-flex-basis: calc((100% - 16px) / 2);
  -moz-flex-basis: calc((100% - 16px) / 2);
  -ms-flex-preferred-size: calc((100% - 16px) / 2);
  flex-basis: calc((100% - 16px) / 2);
  max-width: calc((100% - 16px) / 2); }

.ua-ie .c-column.-col2-s16px > .c-column__block,
.ua-edge .c-column.-col2-s16px > .c-column__block,
.ua-ms .c-column.-col2-s16px > .c-column__block {
  width: 49.95%;
  width: calc((99.9% - 16px) / 2);
  max-width: calc((99.9% - 16px) / 2);
  -webkit-flex-basis: calc((99.9% - 16px) / 2);
  -moz-flex-basis: calc((99.9% - 16px) / 2);
  -ms-flex-preferred-size: calc((99.9% - 16px) / 2);
  flex-basis: calc((99.9% - 16px) / 2);
  max-width: calc((99.9% - 16px) / 2); }

.c-column.-col2-s16px.-mt,
.c-column.-col2-s16px[data-mt="true"] {
  margin-top: -16px; }

.c-column.-col2-s16px.-mt > .c-column__block,
.c-column.-col2-s16px[data-mt="true"] > .c-column__block {
  margin-top: 16px; }

.c-column.-col2-s68px > .c-column__block {
  -webkit-flex-basis: 50%;
  -moz-flex-basis: 50%;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  -webkit-flex-basis: calc((100% - 68px) / 2);
  -moz-flex-basis: calc((100% - 68px) / 2);
  -ms-flex-preferred-size: calc((100% - 68px) / 2);
  flex-basis: calc((100% - 68px) / 2);
  max-width: calc((100% - 68px) / 2); }

.ua-ie .c-column.-col2-s68px > .c-column__block,
.ua-edge .c-column.-col2-s68px > .c-column__block,
.ua-ms .c-column.-col2-s68px > .c-column__block {
  width: 49.95%;
  width: calc((99.9% - 68px) / 2);
  max-width: calc((99.9% - 68px) / 2);
  -webkit-flex-basis: calc((99.9% - 68px) / 2);
  -moz-flex-basis: calc((99.9% - 68px) / 2);
  -ms-flex-preferred-size: calc((99.9% - 68px) / 2);
  flex-basis: calc((99.9% - 68px) / 2);
  max-width: calc((99.9% - 68px) / 2); }

.c-column.-col2-s68px.-mt,
.c-column.-col2-s68px[data-mt="true"] {
  margin-top: -68px; }

.c-column.-col2-s68px.-mt > .c-column__block,
.c-column.-col2-s68px[data-mt="true"] > .c-column__block {
  margin-top: 68px; }

.c-column.-col3-s68px > .c-column__block {
  -webkit-flex-basis: 33.33333%;
  -moz-flex-basis: 33.33333%;
  -ms-flex-preferred-size: 33.33333%;
  flex-basis: 33.33333%;
  -webkit-flex-basis: calc((100% - 136px) / 3);
  -moz-flex-basis: calc((100% - 136px) / 3);
  -ms-flex-preferred-size: calc((100% - 136px) / 3);
  flex-basis: calc((100% - 136px) / 3);
  max-width: calc((100% - 136px) / 3); }

.ua-ie .c-column.-col3-s68px > .c-column__block,
.ua-edge .c-column.-col3-s68px > .c-column__block,
.ua-ms .c-column.-col3-s68px > .c-column__block {
  width: 33.3%;
  width: calc((99.9% - 136px) / 3);
  max-width: calc((99.9% - 136px) / 3);
  -webkit-flex-basis: calc((99.9% - 136px) / 3);
  -moz-flex-basis: calc((99.9% - 136px) / 3);
  -ms-flex-preferred-size: calc((99.9% - 136px) / 3);
  flex-basis: calc((99.9% - 136px) / 3);
  max-width: calc((99.9% - 136px) / 3); }

.c-column.-col3-s68px.-mt,
.c-column.-col3-s68px[data-mt="true"] {
  margin-top: -68px; }

.c-column.-col3-s68px.-mt > .c-column__block,
.c-column.-col3-s68px[data-mt="true"] > .c-column__block {
  margin-top: 68px; }

.c-column.-col3-s16px > .c-column__block {
  -webkit-flex-basis: 33.33333%;
  -moz-flex-basis: 33.33333%;
  -ms-flex-preferred-size: 33.33333%;
  flex-basis: 33.33333%;
  -webkit-flex-basis: calc((100% - 32px) / 3);
  -moz-flex-basis: calc((100% - 32px) / 3);
  -ms-flex-preferred-size: calc((100% - 32px) / 3);
  flex-basis: calc((100% - 32px) / 3);
  max-width: calc((100% - 32px) / 3); }

.ua-ie .c-column.-col3-s16px > .c-column__block,
.ua-edge .c-column.-col3-s16px > .c-column__block,
.ua-ms .c-column.-col3-s16px > .c-column__block {
  width: 33.3%;
  width: calc((99.9% - 32px) / 3);
  max-width: calc((99.9% - 32px) / 3);
  -webkit-flex-basis: calc((99.9% - 32px) / 3);
  -moz-flex-basis: calc((99.9% - 32px) / 3);
  -ms-flex-preferred-size: calc((99.9% - 32px) / 3);
  flex-basis: calc((99.9% - 32px) / 3);
  max-width: calc((99.9% - 32px) / 3); }

.c-column.-col3-s16px.-mt,
.c-column.-col3-s16px[data-mt="true"] {
  margin-top: -16px; }

.c-column.-col3-s16px.-mt > .c-column__block,
.c-column.-col3-s16px[data-mt="true"] > .c-column__block {
  margin-top: 16px; }

.c-column.-col2-s0p > .c-column__block {
  -webkit-flex-basis: 50%;
  -moz-flex-basis: 50%;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  -webkit-flex-basis: calc((100% - 0%) / 2);
  -moz-flex-basis: calc((100% - 0%) / 2);
  -ms-flex-preferred-size: calc((100% - 0%) / 2);
  flex-basis: calc((100% - 0%) / 2);
  max-width: calc((100% - 0%) / 2); }

.ua-ie .c-column.-col2-s0p > .c-column__block,
.ua-edge .c-column.-col2-s0p > .c-column__block,
.ua-ms .c-column.-col2-s0p > .c-column__block {
  width: 49.95%;
  width: calc((99.9% - 0%) / 2);
  max-width: calc((99.9% - 0%) / 2); }

.c-column.-col2-s0p.-mt,
.c-column.-col2-s0p[data-mt="true"] {
  margin-top: -0%; }

.c-column.-col2-s0p.-mt > .c-column__block,
.c-column.-col2-s0p[data-mt="true"] > .c-column__block {
  margin-top: 0; }

.ua-edge .c-column.-col2-s0p.-mt > .c-column__block:before,
.ua-edge .c-column.-col2-s0p[data-mt="true"] > .c-column__block:before {
  content: '';
  display: block;
  padding-top: 0%; }

.c-column.-col2-s2p > .c-column__block {
  -webkit-flex-basis: 50%;
  -moz-flex-basis: 50%;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  -webkit-flex-basis: calc((100% - 2%) / 2);
  -moz-flex-basis: calc((100% - 2%) / 2);
  -ms-flex-preferred-size: calc((100% - 2%) / 2);
  flex-basis: calc((100% - 2%) / 2);
  max-width: calc((100% - 2%) / 2); }

.ua-ie .c-column.-col2-s2p > .c-column__block,
.ua-edge .c-column.-col2-s2p > .c-column__block,
.ua-ms .c-column.-col2-s2p > .c-column__block {
  width: 49.95%;
  width: calc((99.9% - 2%) / 2);
  max-width: calc((99.9% - 2%) / 2);
  -webkit-flex-basis: calc((99.9% - 2%) / 2);
  -moz-flex-basis: calc((99.9% - 2%) / 2);
  -ms-flex-preferred-size: calc((99.9% - 2%) / 2);
  flex-basis: calc((99.9% - 2%) / 2);
  max-width: calc((99.9% - 2%) / 2); }

.c-column.-col2-s2p.-mt,
.c-column.-col2-s2p[data-mt="true"] {
  margin-top: -2%; }

.c-column.-col2-s2p.-mt > .c-column__block,
.c-column.-col2-s2p[data-mt="true"] > .c-column__block {
  margin-top: 2%; }

.ua-edge .c-column.-col2-s2p.-mt > .c-column__block:before,
.ua-edge .c-column.-col2-s2p[data-mt="true"] > .c-column__block:before {
  content: '';
  display: block;
  padding-top: 4%; }

.c-column.-col4-s3p > .c-column__block {
  -webkit-flex-basis: 25%;
  -moz-flex-basis: 25%;
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  -webkit-flex-basis: calc((100% - 9%) / 4);
  -moz-flex-basis: calc((100% - 9%) / 4);
  -ms-flex-preferred-size: calc((100% - 9%) / 4);
  flex-basis: calc((100% - 9%) / 4);
  max-width: calc((100% - 9%) / 4); }

.ua-ie .c-column.-col4-s3p > .c-column__block,
.ua-edge .c-column.-col4-s3p > .c-column__block,
.ua-ms .c-column.-col4-s3p > .c-column__block {
  width: 24.975%;
  width: calc((99.9% - 9%) / 4);
  max-width: calc((99.9% - 9%) / 4);
  -webkit-flex-basis: calc((99.9% - 9%) / 4);
  -moz-flex-basis: calc((99.9% - 9%) / 4);
  -ms-flex-preferred-size: calc((99.9% - 9%) / 4);
  flex-basis: calc((99.9% - 9%) / 4);
  max-width: calc((99.9% - 9%) / 4); }

.c-column.-col4-s3p.-mt,
.c-column.-col4-s3p[data-mt="true"] {
  margin-top: -3%; }

.c-column.-col4-s3p.-mt > .c-column__block,
.c-column.-col4-s3p[data-mt="true"] > .c-column__block {
  margin-top: 3%; }

.ua-edge .c-column.-col4-s3p.-mt > .c-column__block:before,
.ua-edge .c-column.-col4-s3p[data-mt="true"] > .c-column__block:before {
  content: '';
  display: block;
  padding-top: 12%; }

.ua-edge .c-column.-col4-s3p {
  margin-top: -6% !important; }

/* c-column - breakpoint / medium
-----------------------------------------------------------------*/
/* c-column - breakpoint / small
-----------------------------------------------------------------*/
@media screen and (max-width: 749px) {
  .c-column.-col1-s0p-small,
  .c-column.-col1-s8px-small {
    display: block; }
  .c-column.-col1-s0p-small .c-column__block,
  .c-column.-col1-s8px-small .c-column__block {
    width: 100% !important;
    max-width: 100% !important;
    -ms-flex-preferred-size: 100% !important;
    flex-basis: 100% !important;
    margin-top: 0 !important; }
  .c-column.-col1-s0p-small.-mt,
  .c-column.-col1-s0p-small[data-mt="true"],
  .c-column.-col1-s8p-small.-mt,
  .c-column.-col1-s8p-small[data-mt="true"] {
    margin-top: 0; } }

@media screen and (max-width: 1024px) {
  .c-column.-col1-s16px-medium > .c-column__block {
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -webkit-flex-basis: calc((100% - 0px) / 1);
    -moz-flex-basis: calc((100% - 0px) / 1);
    -ms-flex-preferred-size: calc((100% - 0px) / 1);
    flex-basis: calc((100% - 0px) / 1);
    max-width: calc((100% - 0px) / 1); }
  .ua-ie .c-column.-col1-s16px-medium > .c-column__block,
  .ua-edge .c-column.-col1-s16px-medium > .c-column__block,
  .ua-ms .c-column.-col1-s16px-medium > .c-column__block {
    width: 99.9%;
    width: calc((99.9% - 0px) / 1);
    max-width: calc((99.9% - 0px) / 1);
    -webkit-flex-basis: calc((99.9% - 0px) / 1);
    -moz-flex-basis: calc((99.9% - 0px) / 1);
    -ms-flex-preferred-size: calc((99.9% - 0px) / 1);
    flex-basis: calc((99.9% - 0px) / 1);
    max-width: calc((99.9% - 0px) / 1); }
  .c-column.-col1-s16px-medium.-mt,
  .c-column.-col1-s16px-medium[data-mt="true"] {
    margin-top: -16px; }
  .c-column.-col1-s16px-medium.-mt > .c-column__block,
  .c-column.-col1-s16px-medium[data-mt="true"] > .c-column__block {
    margin-top: 16px; } }

@media screen and (max-width: 1024px) {
  .c-column.-col1-s30px-medium > .c-column__block {
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -webkit-flex-basis: calc((100% - 0px) / 1);
    -moz-flex-basis: calc((100% - 0px) / 1);
    -ms-flex-preferred-size: calc((100% - 0px) / 1);
    flex-basis: calc((100% - 0px) / 1);
    max-width: calc((100% - 0px) / 1); }
  .ua-ie .c-column.-col1-s30px-medium > .c-column__block,
  .ua-edge .c-column.-col1-s30px-medium > .c-column__block,
  .ua-ms .c-column.-col1-s30px-medium > .c-column__block {
    width: 99.9%;
    width: calc((99.9% - 0px) / 1);
    max-width: calc((99.9% - 0px) / 1);
    -webkit-flex-basis: calc((99.9% - 0px) / 1);
    -moz-flex-basis: calc((99.9% - 0px) / 1);
    -ms-flex-preferred-size: calc((99.9% - 0px) / 1);
    flex-basis: calc((99.9% - 0px) / 1);
    max-width: calc((99.9% - 0px) / 1); }
  .c-column.-col1-s30px-medium.-mt,
  .c-column.-col1-s30px-medium[data-mt="true"] {
    margin-top: -30px; }
  .c-column.-col1-s30px-medium.-mt > .c-column__block,
  .c-column.-col1-s30px-medium[data-mt="true"] > .c-column__block {
    margin-top: 30px; } }

@media screen and (max-width: 1024px) {
  .c-column.-col2-s28px-medium > .c-column__block {
    -webkit-flex-basis: 50%;
    -moz-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    -webkit-flex-basis: calc((100% - 28px) / 2);
    -moz-flex-basis: calc((100% - 28px) / 2);
    -ms-flex-preferred-size: calc((100% - 28px) / 2);
    flex-basis: calc((100% - 28px) / 2);
    max-width: calc((100% - 28px) / 2); }
  .ua-ie .c-column.-col2-s28px-medium > .c-column__block,
  .ua-edge .c-column.-col2-s28px-medium > .c-column__block,
  .ua-ms .c-column.-col2-s28px-medium > .c-column__block {
    width: 49.95%;
    width: calc((99.9% - 28px) / 2);
    max-width: calc((99.9% - 28px) / 2);
    -webkit-flex-basis: calc((99.9% - 28px) / 2);
    -moz-flex-basis: calc((99.9% - 28px) / 2);
    -ms-flex-preferred-size: calc((99.9% - 28px) / 2);
    flex-basis: calc((99.9% - 28px) / 2);
    max-width: calc((99.9% - 28px) / 2); }
  .c-column.-col2-s28px-medium.-mt,
  .c-column.-col2-s28px-medium[data-mt="true"] {
    margin-top: -28px; }
  .c-column.-col2-s28px-medium.-mt > .c-column__block,
  .c-column.-col2-s28px-medium[data-mt="true"] > .c-column__block {
    margin-top: 28px; } }

@media screen and (max-width: 1024px) {
  .c-column.-col2-s64px-medium > .c-column__block {
    -webkit-flex-basis: 50%;
    -moz-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    -webkit-flex-basis: calc((100% - 64px) / 2);
    -moz-flex-basis: calc((100% - 64px) / 2);
    -ms-flex-preferred-size: calc((100% - 64px) / 2);
    flex-basis: calc((100% - 64px) / 2);
    max-width: calc((100% - 64px) / 2); }
  .ua-ie .c-column.-col2-s64px-medium > .c-column__block,
  .ua-edge .c-column.-col2-s64px-medium > .c-column__block,
  .ua-ms .c-column.-col2-s64px-medium > .c-column__block {
    width: 49.95%;
    width: calc((99.9% - 64px) / 2);
    max-width: calc((99.9% - 64px) / 2);
    -webkit-flex-basis: calc((99.9% - 64px) / 2);
    -moz-flex-basis: calc((99.9% - 64px) / 2);
    -ms-flex-preferred-size: calc((99.9% - 64px) / 2);
    flex-basis: calc((99.9% - 64px) / 2);
    max-width: calc((99.9% - 64px) / 2); }
  .c-column.-col2-s64px-medium.-mt,
  .c-column.-col2-s64px-medium[data-mt="true"] {
    margin-top: -64px; }
  .c-column.-col2-s64px-medium.-mt > .c-column__block,
  .c-column.-col2-s64px-medium[data-mt="true"] > .c-column__block {
    margin-top: 64px; } }

@media screen and (max-width: 1024px) {
  .c-column.-col3-s32px-medium > .c-column__block {
    -webkit-flex-basis: 33.33333%;
    -moz-flex-basis: 33.33333%;
    -ms-flex-preferred-size: 33.33333%;
    flex-basis: 33.33333%;
    -webkit-flex-basis: calc((100% - 64px) / 3);
    -moz-flex-basis: calc((100% - 64px) / 3);
    -ms-flex-preferred-size: calc((100% - 64px) / 3);
    flex-basis: calc((100% - 64px) / 3);
    max-width: calc((100% - 64px) / 3); }
  .ua-ie .c-column.-col3-s32px-medium > .c-column__block,
  .ua-edge .c-column.-col3-s32px-medium > .c-column__block,
  .ua-ms .c-column.-col3-s32px-medium > .c-column__block {
    width: 33.3%;
    width: calc((99.9% - 64px) / 3);
    max-width: calc((99.9% - 64px) / 3);
    -webkit-flex-basis: calc((99.9% - 64px) / 3);
    -moz-flex-basis: calc((99.9% - 64px) / 3);
    -ms-flex-preferred-size: calc((99.9% - 64px) / 3);
    flex-basis: calc((99.9% - 64px) / 3);
    max-width: calc((99.9% - 64px) / 3); }
  .c-column.-col3-s32px-medium.-mt,
  .c-column.-col3-s32px-medium[data-mt="true"] {
    margin-top: -32px; }
  .c-column.-col3-s32px-medium.-mt > .c-column__block,
  .c-column.-col3-s32px-medium[data-mt="true"] > .c-column__block {
    margin-top: 32px; } }

@media screen and (max-width: 749px) {
  .c-column.-col1-s16px-small > .c-column__block {
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -webkit-flex-basis: calc((100% - 0px) / 1);
    -moz-flex-basis: calc((100% - 0px) / 1);
    -ms-flex-preferred-size: calc((100% - 0px) / 1);
    flex-basis: calc((100% - 0px) / 1);
    max-width: calc((100% - 0px) / 1); }
  .ua-ie .c-column.-col1-s16px-small > .c-column__block,
  .ua-edge .c-column.-col1-s16px-small > .c-column__block,
  .ua-ms .c-column.-col1-s16px-small > .c-column__block {
    width: 99.9%;
    width: calc((99.9% - 0px) / 1);
    max-width: calc((99.9% - 0px) / 1);
    -webkit-flex-basis: calc((99.9% - 0px) / 1);
    -moz-flex-basis: calc((99.9% - 0px) / 1);
    -ms-flex-preferred-size: calc((99.9% - 0px) / 1);
    flex-basis: calc((99.9% - 0px) / 1);
    max-width: calc((99.9% - 0px) / 1); }
  .c-column.-col1-s16px-small.-mt,
  .c-column.-col1-s16px-small[data-mt="true"] {
    margin-top: -16px; }
  .c-column.-col1-s16px-small.-mt > .c-column__block,
  .c-column.-col1-s16px-small[data-mt="true"] > .c-column__block {
    margin-top: 16px; } }

@media screen and (max-width: 749px) {
  .c-column.-col1-s32px-small > .c-column__block {
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -webkit-flex-basis: calc((100% - 0px) / 1);
    -moz-flex-basis: calc((100% - 0px) / 1);
    -ms-flex-preferred-size: calc((100% - 0px) / 1);
    flex-basis: calc((100% - 0px) / 1);
    max-width: calc((100% - 0px) / 1); }
  .ua-ie .c-column.-col1-s32px-small > .c-column__block,
  .ua-edge .c-column.-col1-s32px-small > .c-column__block,
  .ua-ms .c-column.-col1-s32px-small > .c-column__block {
    width: 99.9%;
    width: calc((99.9% - 0px) / 1);
    max-width: calc((99.9% - 0px) / 1);
    -webkit-flex-basis: calc((99.9% - 0px) / 1);
    -moz-flex-basis: calc((99.9% - 0px) / 1);
    -ms-flex-preferred-size: calc((99.9% - 0px) / 1);
    flex-basis: calc((99.9% - 0px) / 1);
    max-width: calc((99.9% - 0px) / 1); }
  .c-column.-col1-s32px-small.-mt,
  .c-column.-col1-s32px-small[data-mt="true"] {
    margin-top: -32px; }
  .c-column.-col1-s32px-small.-mt > .c-column__block,
  .c-column.-col1-s32px-small[data-mt="true"] > .c-column__block {
    margin-top: 32px; } }

@media screen and (max-width: 749px) {
  .c-column.-col2-s4p-small > .c-column__block {
    -webkit-flex-basis: 50%;
    -moz-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    -webkit-flex-basis: calc((100% - 4%) / 2);
    -moz-flex-basis: calc((100% - 4%) / 2);
    -ms-flex-preferred-size: calc((100% - 4%) / 2);
    flex-basis: calc((100% - 4%) / 2);
    max-width: calc((100% - 4%) / 2); }
  .ua-ie .c-column.-col2-s4p-small > .c-column__block,
  .ua-edge .c-column.-col2-s4p-small > .c-column__block,
  .ua-ms .c-column.-col2-s4p-small > .c-column__block {
    width: 49.95%;
    width: calc((99.9% - 4%) / 2);
    max-width: calc((99.9% - 4%) / 2);
    -webkit-flex-basis: calc((99.9% - 4%) / 2);
    -moz-flex-basis: calc((99.9% - 4%) / 2);
    -ms-flex-preferred-size: calc((99.9% - 4%) / 2);
    flex-basis: calc((99.9% - 4%) / 2);
    max-width: calc((99.9% - 4%) / 2); }
  .c-column.-col2-s4p-small.-mt,
  .c-column.-col2-s4p-small[data-mt="true"] {
    margin-top: -4%; }
  .c-column.-col2-s4p-small.-mt > .c-column__block,
  .c-column.-col2-s4p-small[data-mt="true"] > .c-column__block {
    margin-top: 4%; }
  .ua-edge .c-column.-col2-s4p-small.-mt > .c-column__block:before,
  .ua-edge .c-column.-col2-s4p-small[data-mt="true"] > .c-column__block:before {
    content: '';
    display: block;
    padding-top: 8%; } }

/* c-column - box
-----------------------------------------------------------------*/
/* ==============================================================================================
バナー：カバーブロック
============================================================================================== */
.c-bn-cover {
  height: 34.5rem;
  background: #000;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 749px) {
    .c-bn-cover {
      height: auto;
      padding: 6.4rem 3.4rem; } }

.c-bn-cover__txt {
  position: relative;
  z-index: var(--z-index-lv2); }

.c-bn-cover__txt .c-txt-heading {
  color: #fff; }

.c-bn-cover__button {
  width: 30.2rem;
  margin: 5.7rem auto 0 auto;
  color: #4d4d4d; }
  @media screen and (max-width: 749px) {
    .c-bn-cover__button {
      margin-top: 3.2rem; } }

.c-bn-cover__button.-type2 {
  margin-top: 4rem; }

.c-bn-cover__button.-type3 {
  width: auto;
  margin-top: 3.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 749px) {
    .c-bn-cover__button.-type3 {
      display: block; } }

.c-bn-cover__button.-type3 .c-bn-cover__button__block {
  width: 30.2rem; }
  .c-bn-cover__button.-type3 .c-bn-cover__button__block + .c-bn-cover__button__block {
    margin-left: 1.6rem; }
    @media screen and (max-width: 749px) {
      .c-bn-cover__button.-type3 .c-bn-cover__button__block + .c-bn-cover__button__block {
        margin-left: 0;
        margin-top: 1.6rem; } }

.c-bn-cover__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: var(--z-index-lv1); }

.c-bn-cover__bg.-cover-grad::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background: rgba(0, 0, 0, 0.5); }

/* ==============================================================================================
c-hero
============================================================================================== */
.c-hero-logo {
  width: 10.7rem;
  position: absolute;
  right: 7.3rem;
  bottom: 3.5rem;
  z-index: var(--z-index-lv2); }
  @media screen and (max-width: 1024px) {
    .c-hero-logo {
      display: none; } }

.c-hero__title-logo {
  width: 9.9rem;
  margin-bottom: 2.4rem; }
  .c-hero__title-logo img {
    width: 100%;
    height: auto; }
  @media screen and (max-width: 1024px) {
    .c-hero__title-logo {
      width: 6.6rem;
      position: absolute;
      top: 2.2rem;
      left: 0;
      right: 0;
      margin: 0 auto; } }
  @media screen and (max-width: 749px) {
    .c-hero__title-logo {
      width: 5.9rem;
      top: 1.9rem; } }

.c-hero__title-log-100th {
  width: 9.7rem;
  height: 4rem;
  position: absolute;
  top: 6.4rem;
  right: 8.8rem;
  z-index: 10000; }
  @media screen and (max-width: 1024px) {
    .c-hero__title-log-100th {
      width: 5.8rem;
      height: 2.4rem;
      top: 2rem;
      right: 1.6rem; } }

.c-hero__title {
  padding-bottom: 4rem;
  font-size: 3.2rem;
  color: #181818;
  font-family: 'Untitled Serif', serif;
  line-height: 1.25; }
  :lang(zh-cmn-Hant) .c-hero__title {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-hero__title {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.c-hero__title-set {
  color: #fff; }
  @media screen and (max-width: 1024px) {
    .c-hero__title-set {
      text-align: center;
      margin: 0 auto; } }

.c-hero__title-set__jp,
.c-hero__title-set__sub {
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 500;
  -webkit-font-feature-settings: 'liga' off;
  font-feature-settings: 'liga' off; }
  @media screen and (max-width: 749px) {
    .c-hero__title-set__jp,
    .c-hero__title-set__sub {
      font-size: 1.2rem; } }

.c-hero__title-set__sub.-type2 {
  font-size: 1.6rem;
  font-weight: 500; }
  @media screen and (max-width: 749px) {
    .c-hero__title-set__sub.-type2 {
      font-size: 1.2rem; } }

.c-hero__title-set__en,
.c-hero__title-set__main {
  font-size: 2.5rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on;
  font-family: 'Untitled Serif', serif;
  display: block; }
  :lang(zh-cmn-Hant) .c-hero__title-set__en, :lang(zh-cmn-Hant)
  .c-hero__title-set__main {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-hero__title-set__en, :lang(zh-cmn-Hans)
  .c-hero__title-set__main {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 1024px) {
    .c-hero__title-set__en,
    .c-hero__title-set__main {
      font-size: 2.5rem; } }

.c-hero__title-set__main.-type2 {
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .c-hero__title-set__main.-type2 {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-hero__title-set__main.-type2 {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.c-hero__title-set__jp + .c-hero__title-set__en,
.c-hero__title-set__main {
  padding-top: .3rem; }

.c-hero__title-set__en + .c-hero__title-set__jp {
  padding-top: .4rem;
  display: block; }

.c-hero__title-set__en.--sec5 {
  font-size: 3rem;
  line-height: 1.25; }
  @media screen and (max-width: 1024px) {
    .c-hero__title-set__en.--sec5 {
      font-size: 2.5rem; } }

.c-hero__title-set__ch {
  font-size: 2.5rem;
  line-height: 1.25; }
  :lang(zh-cmn-Hant) .c-hero__title-set__ch {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-hero__title-set__ch {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 1024px) {
    .c-hero__title-set__ch {
      font-size: 2.5rem; } }

.c-hero__title-set__main.-type2 {
  font-size: 3rem;
  line-height: 1.25;
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .c-hero__title-set__main.-type2 {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-hero__title-set__main.-type2 {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.c-hero__message {
  font-size: 2.1rem;
  line-height: 1.5;
  padding: 0 0 0 3rem;
  font-weight: 300;
  font-family: 'noto-serif', serif; }
  :lang(zh-cmn-Hant) .c-hero__message {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-hero__message {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.c-hero__pict {
  overflow: hidden; }

.p-aizome-interview .c-hero__title-set {
  text-align: left; }
  .p-aizome-interview .c-hero__title-set .c-hero__title-set__en {
    font-size: 3.8rem; }
  .p-aizome-interview .c-hero__title-set .c-hero__title-set__jp {
    font-size: 1.6rem; }

.p-aizome .c-hero__title-set .c-hero__title-set__en {
  font-size: 2.5rem; }

.p-aizome-interview .c-hero__title-set {
  text-align: left; }
  .p-aizome-interview .c-hero__title-set .c-hero__title-set__en {
    font-size: 3.8rem; }
  .p-aizome-interview .c-hero__title-set .c-hero__title-set__jp {
    font-size: 1.6rem; }

.c-hero__title-set__en.-mechanical {
  line-height: 1.25;
  font-size: 3rem; }
  @media screen and (max-width: 1024px) {
    .c-hero__title-set__en.-mechanical {
      font-size: 2.5rem; } }

.c-hero__title-set__en.-cal0100 {
  font-size: 3rem; }
  @media screen and (max-width: 1024px) {
    .c-hero__title-set__en.-cal0100 {
      font-size: 2.5rem; } }

.c-hero__pict-video {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh; }

.p-aizome-interview .c-hero__pict-video {
  height: 100vh; }

.c-hero__pict-video__item {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover; }

.c-hero__title-set__en.is-size25 {
  font-size: 2.5rem;
  padding-top: .6rem; }
  @media screen and (max-width: 1024px) {
    .c-hero__title-set__en.is-size25 {
      padding-top: 0; } }

.c-hero__title-set__en2 {
  padding-top: .6rem;
  font-size: 1.8rem;
  line-height: 22.5px;
  letter-spacing: 0.02em;
  padding-bottom: .4rem;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on;
  font-family: 'Untitled Serif', serif;
  display: block; }
  :lang(zh-cmn-Hant) .c-hero__title-set__en2 {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-hero__title-set__en2 {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.c-hero-text-black .c-hero__title-set {
  color: #181818 !important; }

.c-hero-type-a {
  padding-top: 12.8rem;
  position: relative; }

.c-hero-type-a .c-hero__inner {
  width: 90%;
  max-width: 1660px;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 1024px) {
    .c-hero-type-a .c-hero__inner {
      width: calc(100% - 120px); } }
  @media screen and (max-width: 749px) {
    .c-hero-type-a .c-hero__inner {
      width: calc(100% - 60px); } }

.c-hero-type-a .c-hero__title {
  padding-bottom: 4rem; }

.c-hero-type-a .c-hero__pict {
  position: relative; }
  @media screen and (max-width: 749px) {
    .c-hero-type-a .c-hero__pict {
      padding-top: var(--ratio-wide); }
      .c-hero-type-a .c-hero__pict img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0; } }

@media screen and (max-width: 749px) {
  .c-hero-type-a.-type-a-1 .c-hero__pict {
    padding-top: 118%; }
    .c-hero-type-a.-type-a-1 .c-hero__pict img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0; } }

.c-hero-type-a.-type-a-1 .c-hero__message {
  position: absolute;
  bottom: 6vw;
  right: 10rem;
  color: #fff;
  z-index: 100; }
  @media screen and (max-width: 749px) {
    .c-hero-type-a.-type-a-1 .c-hero__message {
      bottom: 3.2rem;
      right: 1.6rem; } }

.c-hero-type-a.-type-a-2 {
  padding-top: 0; }

.c-hero-type-a.-type-a-2 .c-hero__title {
  padding-bottom: 0;
  color: #fff; }

.c-hero-type-a.-type-a-2 .c-hero__inner {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 7.3rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: var(--z-index-lv2); }
  @media screen and (max-width: 749px) {
    .c-hero-type-a.-type-a-2 .c-hero__inner {
      padding: 0 3rem;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start; } }

@media screen and (max-width: 749px) {
  .c-hero-type-a.-type-a-2 .c-hero__title {
    position: relative;
    top: 12.6rem; } }

@media screen and (max-width: 749px) {
  .c-hero-type-a.-type-a-2 .c-hero__pict {
    height: 50rem;
    padding-top: 0; } }

@media screen and (max-width: 320px) {
  .c-hero-type-a.-type-a-2 .c-hero__pict {
    height: 45rem; } }

.c-hero-type-d {
  height: calc(100vh - 4.6rem);
  padding-top: 0;
  position: relative; }
  @media screen and (max-width: 1024px) {
    .c-hero-type-d {
      height: 100vh; } }
  @media screen and (max-width: 749px) {
    .c-hero-type-d {
      height: auto; } }

.c-hero-type-d .c-hero__title {
  padding-bottom: 0;
  color: #fff; }

.c-hero-type-d .c-hero__inner {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 7.3rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: var(--z-index-lv2); }
  @media screen and (max-width: 1024px) {
    .c-hero-type-d .c-hero__inner {
      padding: 0 3rem; } }

@media screen and (max-width: 1024px) {
  .c-hero-type-d .c-hero__title {
    text-align: center;
    font-size: 2.5rem;
    line-height: 1.5;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25); } }

@media screen and (max-width: 1024px) {
  .c-hero-type-d .c-hero__title-set,
  .c-hero-type-d .c-hero__title {
    width: 100%;
    position: absolute;
    top: 9.4rem;
    left: 0;
    right: 0;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25); }
    .-logo-large .c-hero-type-d .c-hero__title-set, .-logo-large
    .c-hero-type-d .c-hero__title {
      top: 10.5rem; } }

.c-hero-type-d .c-hero__pict {
  height: 100%; }

.c-hero-type-c {
  padding-top: 12.8rem;
  overflow: hidden;
  position: relative; }

.c-hero-type-c .c-hero__inner {
  width: 90%;
  max-width: 1660px;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 1024px) {
    .c-hero-type-c .c-hero__inner {
      width: calc(100% - 120px); } }
  @media screen and (max-width: 749px) {
    .c-hero-type-c .c-hero__inner {
      width: calc(100% - 60px); } }

.c-hero-type-c .c-hero__title {
  font-size: 3.2rem;
  line-height: 1.25;
  position: relative;
  z-index: var(--z-index-lv2);
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .c-hero-type-c .c-hero__title {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-hero-type-c .c-hero__title {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.c-hero-type-c .c-hero__txt {
  width: 49.36%;
  margin-left: auto;
  padding-top: 6.4rem;
  position: relative;
  z-index: var(--z-index-lv2); }
  @media screen and (max-width: 1024px) {
    .c-hero-type-c .c-hero__txt {
      width: 100%;
      padding: 5.6rem 13rem 0;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; } }
  @media screen and (max-width: 749px) {
    .c-hero-type-c .c-hero__txt {
      padding: 5.6rem 3rem 0; } }

.c-hero-type-c .c-hero__obj {
  width: 35.5rem;
  position: absolute;
  top: 6.4rem;
  left: 13rem;
  z-index: var(--z-index-lv1); }
  @media screen and (max-width: 1024px) {
    .c-hero-type-c .c-hero__obj {
      width: 25.6rem;
      top: 9.4rem;
      left: auto;
      right: 0; } }

.c-hero-playbutton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  right: 7rem;
  bottom: 3.6rem;
  cursor: pointer; }
  .c-hero-playbutton:hover {
    opacity: .4; }
  @media screen and (max-width: 749px) {
    .c-hero-playbutton {
      left: 0;
      right: 0;
      bottom: 11.8rem; } }

.c-hero-playbutton__arrow {
  width: 6rem;
  height: 6rem;
  border: 1px solid #fff;
  border-radius: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @media screen and (max-width: 749px) {
    .c-hero-playbutton__arrow {
      width: 4.8rem;
      height: 4.8rem; } }
  .c-hero-playbutton__arrow img {
    width: 1.4rem;
    height: 2.3rem;
    display: block; }
    @media screen and (max-width: 749px) {
      .c-hero-playbutton__arrow img {
        width: 1.1rem;
        height: 1.8rem; } }

.c-hero-playbutton__text {
  font-family: 'Untitled Serif';
  font-style: normal;
  font-weight: 400;
  font-size: 15px;
  line-height: 150%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  padding-top: 1.4rem;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25); }
  @media screen and (max-width: 749px) {
    .c-hero-playbutton__text {
      font-size: 1.1rem;
      padding-top: 1.2rem; } }

.c-hero-type-e {
  background: #fff; }
  @media screen and (max-width: 749px) {
    .c-hero-type-e {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }

.c-hero-type-e__body {
  width: calc(100% - 24rem);
  padding: 14rem 15rem 5rem 0;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 1024px) {
    .c-hero-type-e__body {
      width: calc(100% - 12.8rem);
      padding: 14rem 22rem 5rem 0; } }
  @media screen and (max-width: 749px) {
    .c-hero-type-e__body {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2;
      width: 100%;
      padding: 17.4rem 3.1rem 5rem;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding-top: calc(); } }

.c-hero-type-e .c-txt-accent {
  color: #B4B7BA;
  font-size: 1.8rem;
  padding-bottom: .85rem; }
  @media screen and (max-width: 749px) {
    .c-hero-type-e .c-txt-accent {
      padding-bottom: .4rem; } }

.c-hero-type-e__title {
  font-family: 'Untitled Serif', serif;
  font-size: 30px;
  line-height: 150%;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on;
  color: #181818; }
  @media screen and (max-width: 749px) {
    .c-hero-type-e__title {
      font-size: 2.1rem; } }
  @media screen and (max-width: 320px) {
    .c-hero-type-e__title {
      font-size: 2rem; } }

.c-hero-type-e__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: .5rem; }
  .c-hero-type-e__info.-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start; }
  @media screen and (max-width: 960px) {
    .c-hero-type-e__info {
      display: block; } }

.c-hero-type-e__info__block:first-child {
  font-family: 'Untitled Serif', serif;
  font-size: 21px;
  line-height: 150%;
  -webkit-font-feature-settings: 'halt' on;
  font-feature-settings: 'halt' on;
  color: #181818; }
  :lang(zh-cmn-Hant) .c-hero-type-e__info__block:first-child {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-hero-type-e__info__block:first-child {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 749px) {
    .c-hero-type-e__info__block:first-child {
      font-size: 1.6rem; } }

.c-hero-type-e__info__block:last-child {
  font-family: 'noto-sans', serif;
  font-size: 14px;
  line-height: 175%;
  letter-spacing: 0.04em;
  color: #181818; }
  :lang(zh-cmn-Hant) .c-hero-type-e__info__block:last-child {
    font-weight: 400;
    font-family: "Noto Sans TC"; }
  :lang(zh-cmn-Hans) .c-hero-type-e__info__block:last-child {
    font-weight: 400;
    font-family: "Noto Sans SC"; }
  @media screen and (max-width: 749px) {
    .c-hero-type-e__info__block:last-child {
      font-size: 1.2rem; } }
  .c-hero-type-e__info__block:last-child.-line-none::before {
    content: none; }
  .c-hero-type-e__info__block:last-child:before {
    content: "";
    width: 6rem;
    height: .1rem;
    background: #000;
    display: inline-block;
    vertical-align: middle;
    margin: 0 2rem 0 1.6rem; }
    @media screen and (max-width: 960px) {
      .c-hero-type-e__info__block:last-child:before {
        display: none; } }
    .-block .c-hero-type-e__info__block:last-child:before {
      margin-left: 0; }

.c-hero-type-e__logo {
  position: absolute;
  top: -24rem;
  right: 9.8rem;
  display: block;
  z-index: 100; }
  @media screen and (max-width: 749px) {
    .c-hero-type-e__logo {
      width: 45%;
      top: 16rem;
      right: 3rem; }
      .c-hero-type-e__logo img {
        width: 100%;
        height: auto; } }
  @media screen and (max-width: 380px) {
    .c-hero-type-e__logo {
      top: 17.5rem; } }

.c-hero-type-e__pict {
  height: 72.9rem;
  overflow: visible;
  position: relative; }
  @media screen and (max-width: 749px) {
    .c-hero-type-e__pict {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
      height: 24rem; } }

.c-hero-backlink-sp {
  font-family: 'noto-sans', serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #4D4D4D;
  line-height: 125%;
  text-shadow: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  top: 3.6rem;
  left: 2rem;
  z-index: 200; }
  :lang(zh-cmn-Hant) .c-hero-backlink-sp {
    font-weight: 300;
    font-family: "Noto Sans TC"; }
  :lang(zh-cmn-Hans) .c-hero-backlink-sp {
    font-weight: 300;
    font-family: "Noto Sans SC"; }
  @media screen and (max-width: 749px) {
    .c-hero-backlink-sp {
      width: 100%;
      height: 4.7rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      background-color: #fff;
      margin-top: 3rem;
      position: relative;
      top: auto;
      left: -1.6rem;
      padding: 0; } }

.c-hero-backlink-sp__inner {
  text-decoration: none; }
  @media screen and (max-width: 749px) {
    .c-hero-backlink-sp__inner {
      display: block; } }

/* ==============================================================================================
iframe　埋め込み
============================================================================================== */
.c-iframe {
  position: relative;
  width: 100%;
  z-index: var(--z-index-lv2); }

.c-iframe:before {
  content: "";
  display: block;
  padding-top: 56.25%;
  /* 高さと幅の比を16:9に固定。9/16*100=56.25 */ }

.c-iframe iframe,
.c-iframe video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/* ==============================================================================================
c-list
============================================================================================== */
.c-pagelist {
  color: #181818;
  font-size: 1.6rem;
  line-height: 2;
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .c-pagelist {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-pagelist {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.c-pagelist a {
  text-decoration: none;
  opacity: .4; }
  .c-pagelist a:hover {
    opacity: 1; }

.c-pagelist a.is-current {
  opacity: 1; }

/* ==============================================================================================
c-ratioobj
============================================================================================== */
.c-ratioobj {
  position: relative;
  overflow: hidden; }
  .c-ratioobj::after {
    content: "";
    display: block;
    width: 100%;
    padding-top: 100%;
    pointer-events: none; }

.c-ratioobj__target {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0; }

.c-ratioobj.-square::after {
  padding-top: 100%; }

.c-ratioobj.-half::after {
  padding-top: 50%; }

.c-ratioobj.-standard::after {
  padding-top: 75%; }

.c-ratioobj.-wide::after {
  padding-top: 56.25%; }

.c-ratioobj.-wide2::after {
  padding-top: 40.94%; }

.c-ratioobj.-silver::after {
  padding-top: 70.7%; }

.c-ratioobj.-gold::after {
  padding-top: 61.8%; }

.c-ratioobj.-bn::after {
  padding-top: 34%; }

.c-ratioobj.-cinema::after {
  padding-top: 42.5%; }

.c-ratioobj.-cinema2::after {
  padding-top: 32%; }

@media screen and (max-width: 1024px) {
  .c-ratioobj.-medium-square::after {
    padding-top: 100%; }
  .c-ratioobj.-medium-half::after {
    padding-top: 50%; }
  .c-ratioobj.-medium-standard::after {
    padding-top: 75%; }
  .c-ratioobj.-medium-wide::after {
    padding-top: 56.25%; }
  .c-ratioobj.-medium-wide2::after {
    padding-top: 40.94%; }
  .c-ratioobj.-medium-silver::after {
    padding-top: 70.7%; }
  .c-ratioobj.-medium-gold::after {
    padding-top: 61.8%; }
  .c-ratioobj.-medium-bn::after {
    padding-top: 34%; }
  .c-ratioobj.-medium-cinema::after {
    padding-top: 42.5%; }
  .c-ratioobj.-medium-cinema2::after {
    padding-top: 32%; } }

@media screen and (max-width: 749px) {
  .c-ratioobj.-small-square::after {
    padding-top: 100%; }
  .c-ratioobj.-small-half::after {
    padding-top: 50%; }
  .c-ratioobj.-small-standard::after {
    padding-top: 75%; }
  .c-ratioobj.-small-wide::after {
    padding-top: 56.25%; }
  .c-ratioobj.-small-wide2::after {
    padding-top: 40.94%; }
  .c-ratioobj.-small-silver::after {
    padding-top: 70.7%; }
  .c-ratioobj.-small-gold::after {
    padding-top: 61.8%; }
  .c-ratioobj.-small-bn::after {
    padding-top: 34%; }
  .c-ratioobj.-small-cinema::after {
    padding-top: 42.5%; }
  .c-ratioobj.-small-cinema2::after {
    padding-top: 32%; } }

/* ==============================================================================================
アイコン
============================================================================================== */
/* クエスチョン
-----------------------------------------------------------------*/
.c-icon-question {
  width: 1.9rem;
  height: 1.9rem;
  background: url(../png/question.png) no-repeat left top/cover;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: -2px;
  margin-left: .5rem; }
  .c-icon-question:hover {
    opacity: .8; }

/* ==============================================================================================
c-table
============================================================================================== */
.c-table {
  width: 100%;
  border-top: 1px solid #B4B7BA;
  border-spacing: 0; }

.c-table th,
.c-table td {
  vertical-align: top; }
  @media screen and (max-width: 749px) {
    .c-table th,
    .c-table td {
      display: block; } }

.c-table th {
  width: 38%;
  padding: 2rem 0;
  border-bottom: 1px solid #B4B7BA; }
  @media screen and (max-width: 749px) {
    .c-table th {
      width: 100%;
      border-bottom: none;
      padding-bottom: 0; } }

.c-table td {
  width: 62%;
  padding: 2rem 0;
  border-bottom: 1px solid #B4B7BA; }
  @media screen and (max-width: 749px) {
    .c-table td {
      width: 100%;
      padding-top: 0.8rem; } }

/* ==============================================================================================
c-toggle
============================================================================================== */
.c-toggle {
  width: 4.6rem;
  text-align: center;
  cursor: pointer;
  padding: 2rem 0;
  display: block; }
  @media screen and (max-width: 749px) {
    .c-toggle {
      padding: 0;
      border-radius: 4px; } }

.c-toggle__line {
  width: 4.6rem;
  height: .8rem;
  margin: 0 auto; }

.c-toggle__line__item {
  width: 100%;
  height: 1px;
  background: #4d4d4d;
  -webkit-transition: .2s;
  -o-transition: .2s;
  transition: .2s; }

.c-toggle__line__item:last-child {
  margin-top: .6rem;
  width: 80%;
  margin-left: 20%; }

.c-toggle__text {
  font-size: 1rem;
  margin-top: .8rem;
  text-align: center;
  color: #4d4d4d; }
  @media screen and (max-width: 749px) {
    .c-toggle__text {
      text-align: right; } }

.c-toggle.is-open .c-toggle__inner {
  margin-top: 8px; }

.c-toggle.is-open .c-toggle__text {
  text-align: center; }

.c-toggle.is-open .c-toggle__line__item:first-child {
  -webkit-transform: rotate(-18deg);
  -ms-transform: rotate(-18deg);
  transform: rotate(-18deg); }

.c-toggle.is-open .c-toggle__line__item:last-child {
  -webkit-transform: rotate(18deg);
  -ms-transform: rotate(18deg);
  transform: rotate(18deg);
  width: 100%;
  margin: 0; }

.c-toggle-type-accordion {
  width: 3rem;
  height: 3rem;
  background: #fff;
  border-radius: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  cursor: pointer;
  -webkit-transition: all .4s ease;
  -o-transition: all .4s ease;
  transition: all .4s ease; }
  .c-toggle-type-accordion:hover {
    opacity: .8; }

.c-toggle-type-accordion__inner {
  -webkit-transition: all .4s ease;
  -o-transition: all .4s ease;
  transition: all .4s ease; }

.c-toggle-type-accordion__line {
  width: 1.4rem;
  height: 1px;
  background: #181818; }
  .c-toggle-type-accordion__line + .c-toggle-type-accordion__line {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%; }

.c-toggle-type-accordion.is-open .c-toggle-type-accordion__inner {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg); }

.c-toggle-type-accordion.is-open .c-toggle-type-accordion__line:last-child {
  opacity: 0; }

/* ==============================================================================================
c-txt
============================================================================================== */
.c-txt-xl {
  font-size: var(--font-size-xxxl);
  line-height: var(--line-height-xs);
  font-weight: 400; }
  .c-txt-xl[data-txtcrop="true"]::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((var(--font-size-xxxl) / var(--line-height-xs)) * -1); }
  .c-txt-xl[data-txtcrop="true"]::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((var(--font-size-xxxl) / var(--line-height-xs)) * -1); }
  .c-txt-xl + .c-txt-xl {
    padding-top: 1em; }

.c-txt-l {
  font-size: var(--font-size-l);
  line-height: var(--line-height-xl);
  font-weight: 400; }
  .c-txt-l[data-txtcrop="true"]::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((var(--font-size-l) / var(--line-height-xl)) * -1); }
  .c-txt-l[data-txtcrop="true"]::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((var(--font-size-l) / var(--line-height-xl)) * -1); }
  .c-txt-l + .c-txt-l {
    padding-top: 1em; }

.c-txt-m {
  font-size: var(--font-size-m);
  line-height: var(--line-height-xl);
  font-weight: 400; }
  .c-txt-m[data-txtcrop="true"]::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((var(--font-size-m) / var(--line-height-xl)) * -1); }
  .c-txt-m[data-txtcrop="true"]::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((var(--font-size-m) / var(--line-height-xl)) * -1); }
  .c-txt-m + .c-txt-m {
    padding-top: 1em; }

.c-txt-s {
  font-size: var(--font-size-s);
  line-height: var(--line-height-xl);
  font-weight: 400; }
  .c-txt-s[data-txtcrop="true"]::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((var(--font-size-s) / var(--line-height-xl)) * -1); }
  .c-txt-s[data-txtcrop="true"]::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((var(--font-size-s) / var(--line-height-xl)) * -1); }
  .c-txt-s + .c-txt-s {
    padding-top: 1em; }

.c-txt-xs {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-l);
  font-weight: 400; }
  .c-txt-xs[data-txtcrop="true"]::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((var(--font-size-xs) / var(--line-height-l)) * -1); }
  .c-txt-xs[data-txtcrop="true"]::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((var(--font-size-xs) / var(--line-height-l)) * -1); }
  .c-txt-xs + .c-txt-xs {
    padding-top: 1em; }

.c-txt-m {
  letter-spacing: 0.03em; }

.c-txt-s {
  letter-spacing: 0.02em;
  -webkit-font-feature-settings: 'liga' off;
  font-feature-settings: 'liga' off; }

.c-txt-s2 {
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  -webkit-font-feature-settings: 'liga' off;
  font-feature-settings: 'liga' off; }

.c-txt-s3 {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  -webkit-font-feature-settings: 'liga' off;
  font-feature-settings: 'liga' off; }

.c-txt-lead {
  color: var(--color-heading);
  font-weight: 300;
  font-family: 'noto-serif', serif;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 300;
  letter-spacing: 0.03em;
  -webkit-font-feature-settings: 'pwid' on, 'palt' on;
  font-feature-settings: 'pwid' on, 'palt' on; }
  :lang(zh-cmn-Hant) .c-txt-lead {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-txt-lead {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  .c-txt-lead + .c-txt-lead {
    padding-top: 1em; }
  .c-txt-heading + .c-txt-lead {
    padding-top: 1.6rem; }
  .c-txt-heading-l + .c-txt-lead {
    padding-top: .9rem; }

.c-txt-lead b {
  font-weight: 500; }

.c-txt-accent {
  color: var(--color-heading);
  font-size: 1.6rem;
  line-height: 1.25;
  font-weight: 400;
  font-family: 'Untitled Serif', serif;
  letter-spacing: 0.04em;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on; }
  :lang(zh-cmn-Hant) .c-txt-accent {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-txt-accent {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.c-txt-accent.-type-jp {
  font-size: 1.4rem;
  line-height: 1.75;
  font-weight: 400;
  font-family: 'noto-sans', serif; }
  :lang(zh-cmn-Hant) .c-txt-accent.-type-jp {
    font-weight: 300; }

.c-txt-heading-l {
  color: var(--color-heading);
  font-size: 3rem;
  line-height: 1.5;
  font-family: 'Untitled Serif', serif;
  letter-spacing: 0.03em;
  -webkit-font-feature-settings: 'palt' on, 'pwid' on;
  font-feature-settings: 'palt' on, 'pwid' on; }
  :lang(zh-cmn-Hant) .c-txt-heading-l {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-txt-heading-l {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 1024px) {
    .c-txt-heading-l {
      font-size: 2.5rem;
      line-height: 1.5; } }

.c-txt-heading-l2 {
  color: var(--color-heading);
  font-size: 3rem;
  line-height: 1;
  font-family: 'Untitled Serif', serif;
  letter-spacing: 0.03em;
  -webkit-font-feature-settings: 'palt' on, 'pwid' on;
  font-feature-settings: 'palt' on, 'pwid' on; }
  :lang(zh-cmn-Hant) .c-txt-heading-l2 {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-txt-heading-l2 {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 1024px) {
    .c-txt-heading-l2 {
      font-size: 2.5rem;
      line-height: 1.5; } }

@media screen and (max-width: 1024px) {
  .c-txt-heading-l2.-type2 {
    font-size: 3rem;
    line-height: 1.25; } }

.c-txt-heading-l3 {
  color: var(--color-heading);
  font-size: 3rem;
  line-height: 1.5;
  font-family: 'Untitled Serif', serif;
  letter-spacing: 0.03em;
  -webkit-font-feature-settings: 'palt' on, 'pwid' on;
  font-feature-settings: 'palt' on, 'pwid' on; }
  :lang(zh-cmn-Hant) .c-txt-heading-l3 {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-txt-heading-l3 {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 749px) {
    .c-txt-heading-l3 {
      font-size: 2.5rem;
      line-height: 1.5; } }

.c-txt-heading {
  color: var(--color-heading);
  font-size: 2.5rem;
  line-height: 1.5;
  font-family: 'Untitled Serif', serif;
  letter-spacing: 0.03em;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on; }
  :lang(zh-cmn-Hant) .c-txt-heading {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-txt-heading {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  .c-txt-heading + .c-txt-m {
    padding-top: 1.6rem; }
  .c-txt-heading + .c-txt-s {
    padding-top: 2.6rem; }
  .c-txt-heading + .c-txt-s2 {
    padding-top: 2.6rem; }

.c-txt-heading-sub {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.06em;
  -webkit-font-feature-settings: 'palt' on, 'liga' off;
  font-feature-settings: 'palt' on, 'liga' off; }
  .c-txt-heading-sub + .c-txt-heading {
    padding-top: .8rem; }
  .c-txt-heading-sub + .c-txt-heading2 {
    padding-top: .8rem; }
  .c-txt-heading-sub.-type2 {
    color: inherit !important; }

.c-txt-heading2 {
  font-size: 2.1rem;
  line-height: 1.5;
  color: var(--color-heading);
  font-family: 'Untitled Serif', serif;
  letter-spacing: 0.03em;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on; }
  :lang(zh-cmn-Hant) .c-txt-heading2 {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-txt-heading2 {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  .c-txt-accent + .c-txt-heading2 {
    padding-top: .8rem; }
  .c-txt-heading2 + .c-txt-m,
  .c-txt-heading2 + .c-txt-l {
    padding-top: 1.6rem; }
  .c-txt-heading2 + .c-txt-lead {
    padding-top: 3rem; }

.c-txt-heading2-sub {
  font-size: 1.6rem;
  line-height: 1.25;
  font-family: 'Untitled Serif', serif;
  letter-spacing: 0.04em;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on; }
  :lang(zh-cmn-Hant) .c-txt-heading2-sub {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-txt-heading2-sub {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.c-txt-heading2.-type2 {
  letter-spacing: 0.06em;
  -webkit-font-feature-settings: 'palt' on, 'liga' off;
  font-feature-settings: 'palt' on, 'liga' off; }

.c-txt-heading3 {
  font-size: 1.6rem;
  line-height: 1.5;
  color: var(--color-heading);
  font-weight: 500; }
  .c-txt-heading3 + .c-txt-m {
    padding-top: 1.2rem; }
  .c-txt-heading3 + .c-txt-s {
    padding-top: .8rem; }
  .c-txt-heading3 + .c-txt-s2,
  .c-txt-heading3 + .c-txt-s3 {
    padding-top: .8rem; }

.c-txt-heading--en {
  font-size: 3rem;
  line-height: 1.25;
  color: #181818;
  font-family: 'Untitled Serif', serif;
  letter-spacing: 0.02em;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on; }
  :lang(zh-cmn-Hant) .c-txt-heading--en {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-txt-heading--en {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.c-txt-notice {
  color: #4d4d4d;
  font-size: 1rem;
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
  display: block;
  letter-spacing: 0.08em; }
  .c-txt-notice::before {
    content: "＊";
    font-family: sans-serif; }
  .c-txt-notice[data-txtcrop="true"]::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((var(--font-size-xs) / var(--line-height-s)) * -1); }
  .c-txt-notice[data-txtcrop="true"]::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((var(--font-size-xs) / var(--line-height-s)) * -1); }
  .c-txt-s + .c-txt-notice {
    padding-top: .8rem; }
  .c-txt-lead + .c-txt-notice {
    padding-top: 1.6rem; }

.c-txt-notice.-type2 {
  font-size: 1.2rem;
  line-height: 1.5; }
  .c-txt-notice.-type2 + .c-txt-notice.-type2 {
    margin-top: .8rem; }
  .c-txt-l + .c-txt-notice.-type2 {
    margin-top: .8rem; }

.c-txt-link-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (max-width: 1024px) {
    .c-txt-link-wrap {
      display: block; } }

.c-txt-link-wrap p {
  margin-right: 3rem; }
  @media screen and (max-width: 1024px) {
    .c-txt-link-wrap p {
      margin-right: 0; } }
  .c-txt-link-wrap p:last-child {
    margin-right: 0; }

.c-txt-link {
  color: #000;
  font-size: 1.4rem;
  line-height: 1.25;
  font-weight: 500;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding-right: 1.4rem;
  text-decoration: none;
  letter-spacing: 0.02em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  -webkit-font-feature-settings: 'palt' on, 'liga' off;
  font-feature-settings: 'palt' on, 'liga' off; }

.c-txt-link__item > span {
  display: inline-block; }

.c-txt-link__item span > span {
  position: relative;
  white-space: nowrap; }

.c-txt-link__item span > span::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  position: absolute;
  bottom: .1em;
  left: 0;
  opacity: 0;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }

.c-txt-link:hover span::before,
a:hover .c-txt-link span::before,
.c-txt-link-coverlink:hover + .c-txt-link-coverlink__inner span::before {
  opacity: 1;
  -webkit-transition: all .1s ease;
  -o-transition: all .1s ease;
  transition: all .1s ease; }

.c-txt-link::after {
  content: "";
  width: .6rem;
  height: 1rem;
  margin-left: 1rem;
  background: url(../svg/arrow.svg) no-repeat left top/0.6rem 1rem; }

.c-txt-link.-type-left::after {
  display: none; }

.c-txt-link.-type-left::before {
  content: "";
  width: .6rem;
  height: 1rem;
  margin-right: 1rem;
  background: url(../svg/arrow.svg) no-repeat left top/0.6rem 1rem;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg); }

.c-txt-link.-type-gray.-type-left::before {
  background: url(../svg/arrow-gray.svg) no-repeat left top/0.6rem 1rem; }

.c-txt-link.-type-gray {
  color: #4d4d4d; }

.c-txt-link.-type-gray::after {
  background: url(../svg/arrow-gray.svg) no-repeat left top/0.6rem 1rem; }

.c-txt-link.-type-gray span::before {
  background: #4d4d4d; }

.c-txt-link.-type-white {
  color: #fff; }

.c-txt-link.-type-white::after {
  background: url(../svg/arrow-white.svg) no-repeat left top/0.6rem 1rem; }

.c-txt-link.-type-white span::before {
  background: #fff; }

.c-txt-link.-type-anker::after {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.c-txt-link.-type-blank::after {
  width: 1.3rem;
  height: 1.3rem;
  background: url(../svg/blank.svg) no-repeat left top/1.3rem; }

/* ==============================================================================================
card contents
============================================================================================== */
.c-card-type1 {
  position: relative;
  padding-bottom: 12.3rem; }

.c-card-type1 .c-card__txt {
  width: 100%;
  height: 12.3rem;
  background: #B4B7BA;
  color: #fff;
  padding: 1.6rem 3rem 2.5rem 3rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }
  @media screen and (max-width: 749px) {
    .c-card-type1 .c-card__txt {
      padding: 1.6rem 2rem 1.6rem 2rem; } }

.js-accordion .c-card__txt {
  padding-right: 7rem; }
  @media screen and (max-width: 749px) {
    .js-accordion .c-card__txt {
      padding-right: 6rem; } }

.c-card-type1.is-view .c-card__txt {
  height: auto;
  -webkit-transition: all .1s ease;
  -o-transition: all .1s ease;
  transition: all .1s ease; }

.c-card-type1 .js-accordion__switch {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  z-index: 100; }
  @media screen and (max-width: 749px) {
    .c-card-type1 .js-accordion__switch {
      bottom: 1.5rem;
      right: 1.5rem; } }

.c-card-type1 .c-card__txt .c-txt-s {
  line-height: 1.5; }

.c-card-type1 .js-overwrap {
  height: calc((12px * 1.5) * 3);
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical; }

.c-card-type1.is-view .js-overwrap {
  height: auto;
  overflow: auto;
  display: block; }

.c-card__txt .c-toggle-type-accordion {
  position: absolute;
  right: 2rem;
  bottom: 2rem; }

.c-card-type1 .c-card__label {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on;
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .c-card-type1 .c-card__label {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-card-type1 .c-card__label {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.c-card-type1 .c-card__title {
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  -webkit-font-feature-settings: 'palt' on, 'pwid' on;
  font-feature-settings: 'palt' on, 'pwid' on;
  font-weight: 300;
  font-family: 'noto-serif', serif; }
  @media screen and (max-width: 749px) {
    .c-card-type1 .c-card__title {
      font-size: 1.7rem; } }

.c-card__comment {
  padding-top: .8rem; }

.c-card-alternate + .c-card-alternate {
  margin-top: var(--space-l); }
  @media screen and (max-width: 1024px) {
    .c-card-alternate + .c-card-alternate {
      margin-top: var(--space-m); } }

.c-card-alternate__pict {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }
  @media screen and (max-width: 749px) {
    .c-card-alternate__pict {
      width: 100%; } }

.c-card-alternate:nth-child(2n) .c-card-alternate__pict {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2; }
  @media screen and (max-width: 1024px) {
    .c-card-alternate:nth-child(2n) .c-card-alternate__pict {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1; } }

.c-card-alternate__pict img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0; }

.c-card-alternate a:hover .c-card-alternate__pict {
  opacity: .8;
  -webkit-transition: all .1s ease;
  -o-transition: all .1s ease;
  transition: all .1s ease; }

.c-card-alternate .c-card-alternate__pict::after {
  content: "";
  display: block;
  width: 100%;
  padding-top: 67%; }

@media screen and (max-width: 1024px) {
  .c-card-alternate__text {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2; } }

.c-card-alternate:nth-child(2n+1) .c-card-alternate__text {
  padding-left: 7rem;
  padding-right: 7.3rem; }
  @media screen and (max-width: 749px) {
    .c-card-alternate:nth-child(2n+1) .c-card-alternate__text {
      padding: 3.2rem 3rem 0; } }

.c-card-alternate:nth-child(2n) .c-card-alternate__text {
  padding-left: 7.3rem;
  padding-right: 7rem; }
  @media screen and (max-width: 749px) {
    .c-card-alternate:nth-child(2n) .c-card-alternate__text {
      padding: 3.2rem 3rem 0; } }

.c-card {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }
  .c-card.c-column {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; }

.c-card__pict {
  height: 100%;
  position: relative; }

.c-card .c-txt-accent {
  opacity: .7; }

@media screen and (max-width: 1024px) {
  .c-card__pict::after {
    content: "";
    width: 100%;
    height: 100%;
    padding-top: 100%;
    display: block; }
  .c-card__pict img {
    position: absolute;
    top: 0;
    left: 0; } }

.c-card__pict img {
  opacity: 1;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }
  a:hover .c-card__pict img {
    opacity: .8 !important;
    -webkit-transition: all .1s ease;
    -o-transition: all .1s ease;
    transition: all .1s ease; }

.c-card__text {
  width: 100%;
  height: 100%;
  min-height: 13.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 2.1rem 2rem 2.2rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #B4B7BA; }
  .c-card__text * {
    color: #fff; }

.c-card__text__bottom {
  margin-top: auto; }
  @media screen and (max-width: 1024px) {
    .c-card__text__bottom {
      padding-top: 3.2rem; } }

.c-card__text__bottom .c-txt-m {
  padding-top: 0.8rem; }

.c-card__text__bottom .c-txt-m span:not(.u-font-italic) {
  font-size: 2.2rem;
  font-family: 'Untitled Serif',serif; }

.c-card__text__link {
  margin-top: 2.7rem; }

.c-card__caption {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 4.8rem;
  font-family: 'Untitled Serif';
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 125%;
  letter-spacing: 0.04em;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on; }
  @media screen and (max-width: 749px) {
    .c-card__caption {
      margin-top: 0; }
      .c-card__caption + .c-card__text__bottom {
        padding-top: 2.7rem; } }

.c-card__text .c-txt-heading2 + .c-card__caption {
  font-size: 1.2rem;
  line-height: 1.5;
  font-family: inherit;
  margin-top: auto; }
  @media screen and (max-width: 749px) {
    .c-card__text .c-txt-heading2 + .c-card__caption {
      margin-top: 1.6rem; } }

.c-card-solid {
  position: relative;
  display: block; }

.c-card-solid__text {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 2.4rem 0 3.2rem;
  z-index: var(--z-index-lv3); }

.c-card-solid__link {
  margin-top: auto; }

/* ==============================================================================================
Pagenation
============================================================================================== */
.c-nextcover {
  width: 100%;
  background: #B4B7BA;
  height: 50rem;
  position: relative; }
  @media screen and (max-width: 749px) {
    .c-nextcover {
      height: 100%; }
      .c-nextcover::after {
        content: "";
        display: block;
        padding-top: 100%; } }

.c-nextcover__inner {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute; }

.c-nextcover a {
  text-decoration: none; }

.c-nextcover__txt {
  position: relative;
  z-index: var(--z-index-lv3);
  padding: 4.8rem 5.3rem; }
  @media screen and (max-width: 749px) {
    .c-nextcover__txt {
      padding: 2.8rem 3.2rem; } }

.c-nextcover__caption {
  color: rgba(255, 255, 255, 0.7);
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .c-nextcover__caption {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-nextcover__caption {
    font-weight: 300;
    font-family: "Noto Serif SC"; }

.c-nextcover__label {
  color: #fff;
  padding-top: .8rem;
  font-weight: 300;
  font-family: 'noto-serif', serif; }

.c-nextcover__pict {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  display: block; }

.c-pagenation-cover {
  position: relative;
  display: block; }

a.c-pagenation-cover:hover img {
  opacity: .8; }

.c-pagenation-cover__message {
  position: absolute;
  bottom: 7.4vw;
  right: 7.3rem;
  font-size: 2.5rem;
  color: #fff;
  font-family: 'Untitled Serif', serif;
  letter-spacing: 0.02em;
  z-index: var(--z-index-lv3);
  -webkit-font-feature-settings: 'palt' on, 'liga' off;
  font-feature-settings: 'palt' on, 'liga' off; }
  :lang(zh-cmn-Hant) .c-pagenation-cover__message {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-pagenation-cover__message {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 749px) {
    .c-pagenation-cover__message {
      bottom: 3.2rem;
      right: 1.6rem; } }

.c-pagenation-cover__message span:first-child {
  opacity: .4;
  padding-right: .1em; }

.c-pagenation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 1.1rem;
  padding-left: 5.3rem; }
  @media screen and (max-width: 749px) {
    .c-pagenation {
      display: block;
      padding-top: 1.6rem;
      padding-left: 0; } }

.c-pagenation li {
  font-size: 1.4rem;
  line-height: 1.5;
  margin-right: 2.4rem;
  font-weight: 500;
  color: var(--color-heading); }
  .c-pagenation li:last-child {
    margin-right: 0; }

.c-pagenation.-type2 {
  padding-top: 1.1rem; }
  @media screen and (max-width: 1024px) {
    .c-pagenation.-type2 {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      padding-top: 3rem; } }
  @media screen and (max-width: 749px) {
    .c-pagenation.-type2 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; } }

@media screen and (max-width: 749px) {
  .c-pagenation.-type2 li {
    margin-top: 0; } }

.c-pagenation.-type3 {
  padding-top: 1.1rem;
  padding-left: 5.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (max-width: 1024px) {
    .c-pagenation.-type3 {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      padding-top: 3.5rem;
      display: block;
      padding-left: 0; } }
  @media screen and (max-width: 749px) {
    .c-pagenation.-type3 {
      display: block;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; } }

.c-pagenation__comment {
  color: #111;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 1024px) {
    .c-pagenation__comment {
      display: block;
      padding-bottom: 2.6rem; } }

.c-pagenation__comment__text {
  margin-right: 1em;
  font-weight: 500;
  letter-spacing: 0.02em; }
  @media screen and (max-width: 1024px) {
    .c-pagenation__comment__text {
      display: block;
      text-align: center;
      margin-right: 0; } }
  .c-pagenation__comment__text:last-child {
    margin-right: 0; }

.c-pagenation.-type3 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 1024px) {
    .c-pagenation.-type3 ul {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; } }

@media screen and (max-width: 1024px) {
  .c-pagenation.-type3 li {
    margin-top: 0;
    margin-right: 0; }
    .c-pagenation.-type3 li + li {
      margin-top: 2.6rem; } }

.c-pagenation-back {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 6.4rem 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 749px) {
    .c-pagenation-back {
      display: block;
      padding: 4rem 3rem; } }

.c-pagenation-back__prev {
  position: absolute;
  top: 50%;
  left: 2rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }
  @media screen and (max-width: 749px) {
    .c-pagenation-back__prev {
      position: static;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none; } }

.c-pagenation-back__button {
  width: 30.2rem;
  margin: 0 auto; }
  @media screen and (max-width: 749px) {
    .c-pagenation-back__button {
      width: 100%;
      margin-top: 2.6rem; } }

/* ==============================================================================================
modal window
============================================================================================== */
.js-toggle-modal {
  cursor: pointer; }

.c-modal {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  z-index: var(--z-index-max);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity .5s ease;
  -o-transition: opacity .5s ease;
  transition: opacity .5s ease; }
  .c-modal.is-toggle-modal-open {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity .1s ease;
    -o-transition: opacity .1s ease;
    transition: opacity .1s ease;
    z-index: var(--z-index-max); }

.c-modal__inner {
  width: 72.6rem;
  background: #e0e2e2;
  text-align: center;
  padding: 6.4rem 6.4rem 12rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  opacity: 0.5;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  z-index: var(--z-index-lv2); }
  @media screen and (max-width: 749px) {
    .c-modal__inner {
      padding: 5.4rem 3rem 10.2rem; } }
  .is-toggle-modal-open .c-modal__inner {
    opacity: 1;
    -webkit-transition: opacity .1s ease;
    -o-transition: opacity .1s ease;
    transition: opacity .1s ease; }

.c-modal__bg {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  z-index: var(--z-index-lv1); }

.c-modal__button {
  width: 40rem;
  margin: 0 auto; }
  @media screen and (max-width: 749px) {
    .c-modal__button {
      width: 100%; } }

.c-modal__switch {
  position: absolute;
  bottom: 3.2rem;
  left: 0;
  right: 0;
  padding: 0;
  margin: 0 auto;
  display: block; }
  @media screen and (max-width: 749px) {
    .c-modal__switch {
      bottom: 4rem; } }

/* ==============================================================================================
Arrow
============================================================================================== */
.c-arrow {
  width: 4.2rem;
  height: 4.2rem;
  background: #fff;
  position: absolute;
  top: 45%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 4.2rem;
  z-index: var(--z-index-lv4);
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  cursor: pointer; }
  .c-arrow:hover {
    opacity: .8; }

.c-arrow.-arrow-next {
  right: 2rem; }

.c-arrow svg {
  width: .8rem;
  height: 1.2rem;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }

.c-arrow:hover {
  -webkit-transition: all .1s ease;
  -o-transition: all .1s ease;
  transition: all .1s ease;
  background: #B4B7BA; }
  .c-arrow:hover svg {
    fill: #fff;
    -webkit-transition: all .1s ease;
    -o-transition: all .1s ease;
    transition: all .1s ease; }

/* ==============================================================================================
Indicator
============================================================================================== */
.c-Indicator-arrow {
  width: 9rem;
  border-radius: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.c-Indicator-arrow__block {
  width: 4.5rem;
  height: 4.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-top: 1px solid rgba(180, 183, 186, 0.3);
  border-bottom: 1px solid rgba(180, 183, 186, 0.3);
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  cursor: pointer; }
  .c-Indicator-arrow__block:first-child {
    border-left: 1px solid rgba(180, 183, 186, 0.3);
    border-radius: 100px 0 0 100px; }
  .c-Indicator-arrow__block:last-child {
    border-right: 1px solid rgba(180, 183, 186, 0.3);
    border-radius: 0 100px 100px 0; }

.c-Indicator-arrow__block svg {
  width: .8rem;
  height: 1.2rem;
  fill: #181818;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }

.c-Indicator-arrow__block:hover {
  background: #B4B7BA;
  -webkit-transition: all .1s ease;
  -o-transition: all .1s ease;
  transition: all .1s ease; }

.c-Indicator-arrow__block:hover svg {
  fill: #fff;
  -webkit-transition: all .1s ease;
  -o-transition: all .1s ease;
  transition: all .1s ease; }

/* ==============================================================================================
セレクトタグを使用した目次
============================================================================================== */
.c-select-txt-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.c-select-txt {
  font-size: 1.2rem;
  font-weight: 500;
  position: relative;
  cursor: pointer; }
  .c-select-txt:hover {
    opacity: .8; }

.c-select-txt__label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  color: #181818; }

.c-select-txt svg {
  width: 1.4rem;
  height: 1.4rem;
  margin-left: .8rem; }

.c-select-txt select {
  width: 100%;
  height: 100%;
  cursor: pointer;
  display: inline-block;
  opacity: 0;
  position: absolute;
  font-weight: 400;
  font-family: 'noto-sans', serif;
  top: 0;
  left: 0;
  font-size: 1.4rem; }
  :lang(zh-cmn-Hant) .c-select-txt select {
    font-weight: 300; }
  :lang(zh-cmn-Hant) .c-select-txt select {
    font-weight: 500;
    font-family: "Noto Sans TC"; }
  :lang(zh-cmn-Hans) .c-select-txt select {
    font-weight: 500;
    font-family: "Noto Sans SC"; }

/* ==============================================================================================
スクロールを促すアイコン
============================================================================================== */
.c-scroll {
  width: auto;
  display: inline-block;
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  bottom: -3.2rem;
  z-index: var(--z-index-lv4);
  pointer-events: none; }
  @media screen and (max-width: 1024px) {
    .c-scroll {
      bottom: 0;
      display: none; } }
  @media screen and (max-width: 749px) {
    .c-scroll {
      display: block; } }

.c-scroll__line {
  width: 1px;
  height: 53px;
  background: #4d4d4d;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 1024px) {
    .c-scroll__line {
      height: 33px;
      background: #fff;
      margin-bottom: .6rem; } }

.c-scroll__line__item {
  width: 1px;
  height: 53px;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  -webkit-animation-name: lineInOut;
  animation-name: lineInOut;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  z-index: 100; }
  @media screen and (max-width: 1024px) {
    .c-scroll__line__item {
      -webkit-animation: none;
      animation: none;
      display: none; } }

.c-scroll__text {
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .c-scroll__text {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-scroll__text {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 1024px) {
    .c-scroll__text {
      color: #fff;
      font-size: 1rem;
      font-family: 'noto-sans', serif; }
      .c-scroll__text::after {
        content: "";
        width: 1px;
        height: 1.4rem;
        background: #fff;
        display: block;
        margin: .7rem auto 0; } }

@-webkit-keyframes lineInOut {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top; }
  5% {
    opacity: 1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top; }
  59% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: top;
    transform-origin: top; }
  60% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom; }
  100% {
    opacity: 1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: bottom;
    transform-origin: bottom; } }

@keyframes lineInOut {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top; }
  5% {
    opacity: 1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top; }
  59% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: top;
    transform-origin: top; }
  60% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom; }
  100% {
    opacity: 1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: bottom;
    transform-origin: bottom; } }

@-webkit-keyframes lineInOut2 {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top; }
  5% {
    opacity: 1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top; }
  20% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: top;
    transform-origin: top; }
  21% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom; }
  100% {
    opacity: 1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: bottom;
    transform-origin: bottom; } }

@keyframes lineInOut2 {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top; }
  5% {
    opacity: 1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top; }
  20% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: top;
    transform-origin: top; }
  21% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom; }
  100% {
    opacity: 1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: bottom;
    transform-origin: bottom; } }

/* ==============================================================================================
セレクト要素
============================================================================================== */
.c-select {
  position: relative; }

.c-select::after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: url(../svg/select_arrow.svg) no-repeat left top/cover;
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block; }

/* ==============================================================================================
Figure
============================================================================================== */
.c-figure {
  text-align: left; }

.c-figure figcaption {
  padding-top: 1.6rem;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  -webkit-font-feature-settings: 'liga' off;
  font-feature-settings: 'liga' off; }

.c-figure figcaption .c-txt-xs {
  padding-top: .3rem; }

/* ==============================================================================================
Features
============================================================================================== */
.c-features-column-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }
  @media screen and (max-width: 749px) {
    .c-features-column-list {
      display: block; } }
  .c-features-column-list + .c-features-column-list {
    margin-top: 3.2rem; }
    @media screen and (max-width: 1024px) {
      .c-features-column-list + .c-features-column-list {
        margin-top: 1.6rem; } }

.c-features-column__block {
  width: calc((100% - 32px) / 3); }
  .c-features-column__block + .c-features-column__block {
    margin-left: 16px; }
    @media screen and (max-width: 749px) {
      .c-features-column__block + .c-features-column__block {
        margin-left: 0;
        margin-top: 16px; } }
  @media screen and (max-width: 1024px) {
    .c-features-column__block {
      width: calc((100% - 56px) / 2); }
      .c-features-column__block + .c-features-column__block {
        margin-left: 28px; } }
  @media screen and (max-width: 749px) {
    .c-features-column__block {
      width: 100%; }
      .c-features-column__block + .c-features-column__block {
        margin-left: 0; } }

/* ==============================================================================================
取扱い店舗のご案内
============================================================================================== */
.c-shopinfo-bn {
  position: relative; }

.c-shopinfo-bn__text {
  position: absolute;
  bottom: 3.9rem;
  left: 5.3rem;
  padding-right: 5.3rem;
  z-index: var(--z-index-lv2);
  font-size: 2.5rem;
  color: #fff;
  line-height: 1.5;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .c-shopinfo-bn__text {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-shopinfo-bn__text {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 749px) {
    .c-shopinfo-bn__text {
      left: 1.6rem;
      bottom: 1.6rem;
      padding-right: 1.6rem; } }

.c-shopinfo-bn__arrow {
  position: relative; }

.c-shopinfo-bn__arrow::after {
  content: "";
  width: .6rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  right: -1.5rem;
  display: block;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../svg/arrow-white.svg) no-repeat left top/0.6rem 1rem; }

.c-shopinfo-bn__pict {
  position: relative;
  min-height: 18rem;
  z-index: var(--z-index-lv1); }
  @media screen and (max-width: 749px) {
    .c-shopinfo-bn__pict {
      min-height: auto; } }

.c-shopinfo-bn__pict img {
  height: 22.4rem; }
  @media screen and (max-width: 749px) {
    .c-shopinfo-bn__pict img {
      height: auto; } }

.c-shopinfo-column {
  padding-top: 6.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 1024px) {
    .c-shopinfo-column {
      display: block;
      padding-top: 4.8rem; } }

.c-shopinfo-column__hading {
  width: 23%; }
  @media screen and (max-width: 1024px) {
    .c-shopinfo-column__hading {
      width: 100%; } }

.c-shopinfo-column__body {
  width: calc(100% - 23%);
  padding-left: 11.49%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 1024px) {
    .c-shopinfo-column__body {
      width: 100%;
      padding-left: 0;
      display: block; } }

.c-shopinfo-column__body__block {
  width: calc((100% - 6.4rem) / 2); }
  @media screen and (max-width: 1024px) {
    .c-shopinfo-column__body__block {
      width: 100%; } }

.c-shopinfo__label {
  font-size: 1.8rem;
  line-height: 1.28;
  color: var(--color-heading);
  font-weight: 300;
  font-family: 'noto-serif', serif; }
  :lang(zh-cmn-Hant) .c-shopinfo__label {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .c-shopinfo__label {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  .c-shopinfo__label + .c-txt-s3 {
    padding-top: .9rem; }

@media screen and (max-width: 1024px) {
  .c-shopinfo .c-txt-heading3 {
    padding-top: 3.2rem; } }

.c-shopinfo .c-txt-s3 + .c-txt-heading3 {
  padding-top: 2.8rem; }
  @media screen and (max-width: 1024px) {
    .c-shopinfo .c-txt-s3 + .c-txt-heading3 {
      padding-top: 3.2rem; } }

/* ==============================================================================================
ラインナップ
============================================================================================== */
@media screen and (max-width: 749px) {
  .c-lineup + .c-lineup {
    padding-top: 5rem; } }

.c-lineup a {
  text-decoration: none; }

.c-lineup__head {
  padding-bottom: 6.8rem;
  position: relative; }
  @media screen and (max-width: 749px) {
    .c-lineup__head {
      padding-bottom: .5rem; } }

.c-lineup__head__pict {
  width: 100%;
  margin: 0 auto; }
  @media screen and (max-width: 749px) {
    .c-lineup__head__pict {
      width: 98%;
      padding-top: .3rem; } }

.c-lineup__head__info {
  width: 100%;
  height: 4.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: 500;
  color: #000;
  text-align: center;
  position: absolute;
  bottom: .7rem;
  left: 0;
  right: 0;
  letter-spacing: 0.02em;
  -webkit-font-feature-settings: 'liga' off;
  font-feature-settings: 'liga' off; }
  @media screen and (max-width: 749px) {
    .c-lineup__head__info {
      position: static;
      padding-top: 1.9rem; } }

.c-lineup__body {
  border-top: 1px solid rgba(180, 183, 186, 0.3);
  padding-top: 1.6rem; }

.c-lineup__data {
  font-size: 1.8rem;
  font-family: 'Untitled Serif', serif;
  color: #181818;
  text-align: center;
  letter-spacing: 0.04em;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on; }

.c-lineup__price {
  padding-top: .4rem;
  text-align: center;
  font-weight: 500; }
  @media screen and (max-width: 749px) {
    .c-lineup__price {
      padding-top: .7rem; } }
  .c-lineup__price span:first-child {
    color: #000; }
  .c-lineup__price span:last-child {
    color: #777; }

.c-lineup__option {
  padding-top: .8rem;
  text-align: center;
  color: #181818; }

.c-lineup__comment {
  padding-top: 1.6rem; }

.c-lineup__link {
  padding-top: 1.4rem; }

.c-lineup__link {
  text-align: center; }

.c-lineup__body .c-button {
  margin-top: 5rem; }

/* ==============================================================================================
オンラインストアの案内
============================================================================================== */
.c-onlinestore {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @media screen and (max-width: 1024px) {
    .c-onlinestore {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start; } }

.c-onlinestore__block {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .c-onlinestore__block:nth-child(1) {
    width: 69.9%;
    max-width: 76.4rem;
    position: relative;
    left: -.7rem; }
    @media screen and (max-width: 1024px) {
      .c-onlinestore__block:nth-child(1) {
        width: 100%;
        left: 0;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        margin-top: 3.2rem; } }
  .c-onlinestore__block:nth-child(2) {
    width: calc(100% - 69.9%);
    padding: 0 3.8rem 0 1.6rem; }
    @media screen and (max-width: 1024px) {
      .c-onlinestore__block:nth-child(2) {
        width: 100%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        padding: 0;
        text-align: center; } }

.c-onlinestore__block:nth-child(1) img {
  width: 94%;
  margin-left: 2.2rem; }

.c-onlinestore__body .c-txt-s2 {
  text-align: left; }

.c-onlinestore__link {
  padding-top: 2.4rem; }

/* ==============================================================================================
背景処理
============================================================================================== */
.u-bg-white {
  background: #fff; }

/* ==============================================================================================
ブロック
============================================================================================== */
/* u-none
-----------------------------------------------------------------*/
.u-none {
  display: none; }

@media screen and (max-width: 749px) {
  .u-none-sp {
    display: none; } }

/* u-block
-----------------------------------------------------------------*/
.u-block,
.u-block ul,
.u-block li,
.u-block dl,
.u-block dt,
.u-block dd {
  display: block;
  list-style-type: none; }

/* u-inline
-----------------------------------------------------------------*/
.u-inline,
.u-inline ul,
.u-inline li,
.u-inline dl,
.u-inline dt,
.u-inline dd {
  display: inline;
  list-style-type: none; }

@media screen and (max-width: 749px) {
  .u-inline-small {
    display: inline !important; } }

/* u-inline-block
-----------------------------------------------------------------*/
.u-inline-block-nospace {
  font-size: 0; }

.u-inline-block,
.u-inline-block ul,
.u-inline-block li,
.u-inline-block dl,
.u-inline-block dt,
.u-inline-block dd {
  display: inline-block;
  list-style-type: none; }

.u-inline-block--list,
.u-inline-block ul,
ul.u-inline-block {
  letter-spacing: -.40em; }

.u-inline-block > *,
.u-inline-block * {
  letter-spacing: 0; }

/* ==============================================================================================
フォント指定
============================================================================================== */
/* フォント: カラー
-----------------------------------------------------------------*/
.u-font-italic {
  font-style: italic !important; }

.u-font-center {
  text-align: center !important; }

@media screen and (max-width: 749px) {
  .u-font-left-small {
    text-align: left !important; } }

.u-font-en {
  font-family: 'Untitled Serif', serif !important;
  font-weight: 300 !important;
  -webkit-font-feature-settings: 'palt' on, 'pwid' on !important;
  font-feature-settings: 'palt' on, 'pwid' on !important;
  letter-spacing: 0.03em !important; }

.u-font-jp {
  font-weight: 300;
  font-family: 'noto-serif', serif; }

.u-font-tc {
  font-family: "Noto Sans TC" !important;
  font-weight: 500 !important; }

/* ==============================================================================================
画像
============================================================================================== */
/* u-img-fit
-----------------------------------------------------------------*/
.u-img-fluid {
  max-width: 100%;
  height: auto; }

.u-img-fit {
  display: inherit;
  width: 100%;
  height: auto; }

.u-img-min {
  width: 60%;
  height: auto;
  margin: 0 auto;
  display: block; }

.u-img {
  border: 1px solid #e5e5e5;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* u-img-fit
-----------------------------------------------------------------*/
.u-img-hover {
  position: relative; }

.u-img-hover::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: all .4s ease;
  -o-transition: all .4s ease;
  transition: all .4s ease;
  background: -webkit-linear-gradient(225deg, #8bcf32, #4fbe4f);
  background: -o-linear-gradient(225deg, #8bcf32, #4fbe4f);
  background: linear-gradient(-135deg, #8bcf32, #4fbe4f); }

a:hover .u-img-hover::after {
  opacity: .5; }

/* ==============================================================================================
リンク
============================================================================================== */
.u-link {
  position: relative;
  text-decoration: none; }

.u-link::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  position: absolute;
  bottom: .1em;
  left: 0;
  opacity: 0;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }

a:hover .u-link::before,
.u-link:hover::before {
  opacity: 1;
  -webkit-transition: all .1s ease;
  -o-transition: all .1s ease;
  transition: all .1s ease; }

/* ==============================================================================================
余白指定
============================================================================================== */
/* 固定余白
---------------------------------------------------------------- */
.u-mt-xxl {
  margin-top: var(--space-xxl) !important; }

@media screen and (max-width: 749px) {
  .u-mt-xxl-medium {
    margin-top: var(--space-xxl) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-xxl-small {
    margin-top: var(--space-xxl) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-clear-small {
    margin-top: 0 !important; } }

.u-mb-xxl {
  margin-bottom: var(--space-xxl) !important; }

@media screen and (max-width: 749px) {
  .u-mb-xxl-medium {
    margin-bottom: var(--space-xxl) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-xxl-small {
    margin-bottom: var(--space-xxl) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-clear-small {
    margin-bottom: 0 !important; } }

.u-pt-xxl {
  padding-top: var(--space-xxl) !important; }

@media screen and (max-width: 749px) {
  .u-pt-xxl-medium {
    padding-top: var(--space-xxl) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-xxl-small {
    padding-top: var(--space-xxl) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-clear-small {
    padding-top: 0 !important; } }

.u-pb-xxl {
  padding-bottom: var(--space-xxl) !important; }

@media screen and (max-width: 749px) {
  .u-pb-xxl-medium {
    padding-bottom: var(--space-xxl) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-xxl-small {
    padding-bottom: var(--space-xxl) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-clear-small {
    padding-bottom: 0 !important; } }

.u-mt-xl {
  margin-top: var(--space-xl) !important; }

@media screen and (max-width: 749px) {
  .u-mt-xl-medium {
    margin-top: var(--space-xl) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-xl-small {
    margin-top: var(--space-xl) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-clear-small {
    margin-top: 0 !important; } }

.u-mb-xl {
  margin-bottom: var(--space-xl) !important; }

@media screen and (max-width: 749px) {
  .u-mb-xl-medium {
    margin-bottom: var(--space-xl) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-xl-small {
    margin-bottom: var(--space-xl) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-clear-small {
    margin-bottom: 0 !important; } }

.u-pt-xl {
  padding-top: var(--space-xl) !important; }

@media screen and (max-width: 749px) {
  .u-pt-xl-medium {
    padding-top: var(--space-xl) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-xl-small {
    padding-top: var(--space-xl) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-clear-small {
    padding-top: 0 !important; } }

.u-pb-xl {
  padding-bottom: var(--space-xl) !important; }

@media screen and (max-width: 749px) {
  .u-pb-xl-medium {
    padding-bottom: var(--space-xl) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-xl-small {
    padding-bottom: var(--space-xl) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-clear-small {
    padding-bottom: 0 !important; } }

.u-mt-l {
  margin-top: var(--space-l) !important; }

@media screen and (max-width: 749px) {
  .u-mt-l-medium {
    margin-top: var(--space-l) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-l-small {
    margin-top: var(--space-l) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-clear-small {
    margin-top: 0 !important; } }

.u-mb-l {
  margin-bottom: var(--space-l) !important; }

@media screen and (max-width: 749px) {
  .u-mb-l-medium {
    margin-bottom: var(--space-l) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-l-small {
    margin-bottom: var(--space-l) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-clear-small {
    margin-bottom: 0 !important; } }

.u-pt-l {
  padding-top: var(--space-l) !important; }

@media screen and (max-width: 749px) {
  .u-pt-l-medium {
    padding-top: var(--space-l) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-l-small {
    padding-top: var(--space-l) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-clear-small {
    padding-top: 0 !important; } }

.u-pb-l {
  padding-bottom: var(--space-l) !important; }

@media screen and (max-width: 749px) {
  .u-pb-l-medium {
    padding-bottom: var(--space-l) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-l-small {
    padding-bottom: var(--space-l) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-clear-small {
    padding-bottom: 0 !important; } }

.u-mt-m {
  margin-top: var(--space-m) !important; }

@media screen and (max-width: 749px) {
  .u-mt-m-medium {
    margin-top: var(--space-m) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-m-small {
    margin-top: var(--space-m) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-clear-small {
    margin-top: 0 !important; } }

.u-mb-m {
  margin-bottom: var(--space-m) !important; }

@media screen and (max-width: 749px) {
  .u-mb-m-medium {
    margin-bottom: var(--space-m) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-m-small {
    margin-bottom: var(--space-m) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-clear-small {
    margin-bottom: 0 !important; } }

.u-pt-m {
  padding-top: var(--space-m) !important; }

@media screen and (max-width: 749px) {
  .u-pt-m-medium {
    padding-top: var(--space-m) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-m-small {
    padding-top: var(--space-m) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-clear-small {
    padding-top: 0 !important; } }

.u-pb-m {
  padding-bottom: var(--space-m) !important; }

@media screen and (max-width: 749px) {
  .u-pb-m-medium {
    padding-bottom: var(--space-m) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-m-small {
    padding-bottom: var(--space-m) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-clear-small {
    padding-bottom: 0 !important; } }

.u-mt-m2 {
  margin-top: var(--space-s) !important; }

@media screen and (max-width: 749px) {
  .u-mt-m2-medium {
    margin-top: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-m2-small {
    margin-top: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-clear-small {
    margin-top: 0 !important; } }

.u-mb-m2 {
  margin-bottom: var(--space-s) !important; }

@media screen and (max-width: 749px) {
  .u-mb-m2-medium {
    margin-bottom: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-m2-small {
    margin-bottom: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-clear-small {
    margin-bottom: 0 !important; } }

.u-pt-m2 {
  padding-top: var(--space-s) !important; }

@media screen and (max-width: 749px) {
  .u-pt-m2-medium {
    padding-top: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-m2-small {
    padding-top: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-clear-small {
    padding-top: 0 !important; } }

.u-pb-m2 {
  padding-bottom: var(--space-s) !important; }

@media screen and (max-width: 749px) {
  .u-pb-m2-medium {
    padding-bottom: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-m2-small {
    padding-bottom: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-clear-small {
    padding-bottom: 0 !important; } }

.u-mt-s {
  margin-top: var(--space-s) !important; }

@media screen and (max-width: 749px) {
  .u-mt-s-medium {
    margin-top: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-s-small {
    margin-top: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-clear-small {
    margin-top: 0 !important; } }

.u-mb-s {
  margin-bottom: var(--space-s) !important; }

@media screen and (max-width: 749px) {
  .u-mb-s-medium {
    margin-bottom: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-s-small {
    margin-bottom: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-clear-small {
    margin-bottom: 0 !important; } }

.u-pt-s {
  padding-top: var(--space-s) !important; }

@media screen and (max-width: 749px) {
  .u-pt-s-medium {
    padding-top: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-s-small {
    padding-top: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-clear-small {
    padding-top: 0 !important; } }

.u-pb-s {
  padding-bottom: var(--space-s) !important; }

@media screen and (max-width: 749px) {
  .u-pb-s-medium {
    padding-bottom: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-s-small {
    padding-bottom: var(--space-s) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-clear-small {
    padding-bottom: 0 !important; } }

.u-mt-xs {
  margin-top: var(--space-xs) !important; }

@media screen and (max-width: 749px) {
  .u-mt-xs-medium {
    margin-top: var(--space-xs) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-xs-small {
    margin-top: var(--space-xs) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-clear-small {
    margin-top: 0 !important; } }

.u-mb-xs {
  margin-bottom: var(--space-xs) !important; }

@media screen and (max-width: 749px) {
  .u-mb-xs-medium {
    margin-bottom: var(--space-xs) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-xs-small {
    margin-bottom: var(--space-xs) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-clear-small {
    margin-bottom: 0 !important; } }

.u-pt-xs {
  padding-top: var(--space-xs) !important; }

@media screen and (max-width: 749px) {
  .u-pt-xs-medium {
    padding-top: var(--space-xs) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-xs-small {
    padding-top: var(--space-xs) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-clear-small {
    padding-top: 0 !important; } }

.u-pb-xs {
  padding-bottom: var(--space-xs) !important; }

@media screen and (max-width: 749px) {
  .u-pb-xs-medium {
    padding-bottom: var(--space-xs) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-xs-small {
    padding-bottom: var(--space-xs) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-clear-small {
    padding-bottom: 0 !important; } }

.u-mt-xxs {
  margin-top: var(--space-xxs) !important; }

@media screen and (max-width: 749px) {
  .u-mt-xxs-medium {
    margin-top: var(--space-xxs) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-xxs-small {
    margin-top: var(--space-xxs) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-clear-small {
    margin-top: 0 !important; } }

.u-mb-xxs {
  margin-bottom: var(--space-xxs) !important; }

@media screen and (max-width: 749px) {
  .u-mb-xxs-medium {
    margin-bottom: var(--space-xxs) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-xxs-small {
    margin-bottom: var(--space-xxs) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-clear-small {
    margin-bottom: 0 !important; } }

.u-pt-xxs {
  padding-top: var(--space-xxs) !important; }

@media screen and (max-width: 749px) {
  .u-pt-xxs-medium {
    padding-top: var(--space-xxs) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-xxs-small {
    padding-top: var(--space-xxs) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-clear-small {
    padding-top: 0 !important; } }

.u-pb-xxs {
  padding-bottom: var(--space-xxs) !important; }

@media screen and (max-width: 749px) {
  .u-pb-xxs-medium {
    padding-bottom: var(--space-xxs) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-xxs-small {
    padding-bottom: var(--space-xxs) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-clear-small {
    padding-bottom: 0 !important; } }

.u-mt-xxxs {
  margin-top: var(--space-xxxs) !important; }

@media screen and (max-width: 749px) {
  .u-mt-xxxs-medium {
    margin-top: var(--space-xxxs) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-xxxs-small {
    margin-top: var(--space-xxxs) !important; } }

@media screen and (max-width: 749px) {
  .u-mt-clear-small {
    margin-top: 0 !important; } }

.u-mb-xxxs {
  margin-bottom: var(--space-xxxs) !important; }

@media screen and (max-width: 749px) {
  .u-mb-xxxs-medium {
    margin-bottom: var(--space-xxxs) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-xxxs-small {
    margin-bottom: var(--space-xxxs) !important; } }

@media screen and (max-width: 749px) {
  .u-mb-clear-small {
    margin-bottom: 0 !important; } }

.u-pt-xxxs {
  padding-top: var(--space-xxxs) !important; }

@media screen and (max-width: 749px) {
  .u-pt-xxxs-medium {
    padding-top: var(--space-xxxs) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-xxxs-small {
    padding-top: var(--space-xxxs) !important; } }

@media screen and (max-width: 749px) {
  .u-pt-clear-small {
    padding-top: 0 !important; } }

.u-pb-xxxs {
  padding-bottom: var(--space-xxxs) !important; }

@media screen and (max-width: 749px) {
  .u-pb-xxxs-medium {
    padding-bottom: var(--space-xxxs) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-xxxs-small {
    padding-bottom: var(--space-xxxs) !important; } }

@media screen and (max-width: 749px) {
  .u-pb-clear-small {
    padding-bottom: 0 !important; } }

.u-space-bottom {
  padding-bottom: 6.4rem; }

.u-pb-clear {
  padding-bottom: 0 !important; }

.u-mt-clear {
  margin-top: 0 !important; }

@media screen and (max-width: 749px) {
  .u-mt-clear-small {
    margin-top: 0 !important; } }

.u-pt20 {
  padding-top: 20px !important; }

/* ==============================================================================================
画面表示
============================================================================================== */
/* オーバーフロー
-----------------------------------------------------------------*/
.u-over-hidden {
  overflow: hidden; }
  @media screen and (max-width: 749px) {
    .u-over-hidden {
      overflow: visible; } }

/* 画面表示設定
-----------------------------------------------------------------*/
@media screen and (min-width: 1280px) {
  .visible-large-less {
    display: none !important; }
  .visible-large-less-inline {
    display: none !important; } }

@media screen and (max-width: 1279px) {
  .visible-large-less {
    display: block !important; }
  .visible-large-less-inline {
    display: inline-block !important; }
  table.visible-large-less {
    display: table; }
  tr.visible-large-less {
    display: table-row !important; }
  th.visible-large-less,
  td.visible-large-less {
    display: table-cell !important; } }

@media screen and (max-width: 1279px) {
  .hidden-large-less {
    display: none !important; } }

@media screen and (min-width: 1025px) {
  .visible-medium-less {
    display: none !important; }
  .visible-medium-less-inline {
    display: none !important; } }

@media screen and (max-width: 1024px) {
  .visible-medium-less {
    display: block !important; }
  .visible-medium-less-inline {
    display: inline-block !important; }
  table.visible-medium-less {
    display: table; }
  tr.visible-medium-less {
    display: table-row !important; }
  th.visible-medium-less,
  td.visible-medium-less {
    display: table-cell !important; } }

@media screen and (max-width: 1024px) {
  .hidden-medium-less {
    display: none !important; } }

@media screen and (min-width: 750px) {
  .visible-small-less {
    display: none !important; }
  .visible-small-less-inline {
    display: none !important; } }

@media screen and (max-width: 749px) {
  .visible-small-less {
    display: block !important; }
  .visible-small-less-inline {
    display: inline-block !important; }
  table.visible-small-less {
    display: table; }
  tr.visible-small-less {
    display: table-row !important; }
  th.visible-small-less,
  td.visible-small-less {
    display: table-cell !important; } }

@media screen and (max-width: 749px) {
  .hidden-small-less {
    display: none !important; } }

@media screen and (min-width: 668px) {
  .visible-xsmall-less {
    display: none !important; }
  .visible-xsmall-less-inline {
    display: none !important; } }

@media screen and (max-width: 667px) {
  .visible-xsmall-less {
    display: block !important; }
  .visible-xsmall-less-inline {
    display: inline-block !important; }
  table.visible-xsmall-less {
    display: table; }
  tr.visible-xsmall-less {
    display: table-row !important; }
  th.visible-xsmall-less,
  td.visible-xsmall-less {
    display: table-cell !important; } }

@media screen and (max-width: 667px) {
  .hidden-xsmall-less {
    display: none !important; } }

/* @media screen
-----------------------------------------------------------------*/
/* ==============================================================================================
影
============================================================================================== */
@media screen and (max-width: 1024px) {
  .u-shadow-tb {
    position: relative; }
  .u-shadow-tb::after {
    content: "";
    width: 100%;
    height: 40%;
    background: #adacac;
    background: -webkit-gradient(linear, left top, left bottom, from(#adacac), to(rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(top, #adacac 0%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(top, #adacac 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(180deg, #adacac 0%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: var(--z-index-lv1); } }

.u-shadow-cover {
  position: relative; }

.u-shadow-cover::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0; }

.u-shadow-cover__contents {
  z-index: var(--z-index-lv2); }

/* ==============================================================================================
エフェクト
============================================================================================== */
/* スクロール
-----------------------------------------------------------------*/
.js-effect__pict {
  background: #b3b7ba;
  overflow: hidden; }

.js-effect__pict img {
  opacity: 0;
  -webkit-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
  -webkit-transition: opacity 3s 0.1s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 3s 0.1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 3s 0.1s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 3s 0.1s cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition: opacity 3s 0.1s cubic-bezier(0.19, 1, 0.22, 1), transform 3s 0.1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 3s 0.1s cubic-bezier(0.19, 1, 0.22, 1), transform 3s 0.1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 3s 0.1s cubic-bezier(0.19, 1, 0.22, 1), transform 3s 0.1s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 3s 0.1s cubic-bezier(0.19, 1, 0.22, 1); }

.js-effect.is-show .js-effect__pict img {
  opacity: 1;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1); }

/* 画像
-----------------------------------------------------------------*/
/* js-objectfit
-----------------------------------------------------------------*/
.js-objectfit {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%; }

.ua-ie .c-hero__movie.js-objectfit,
.ua-edge .c-hero__movie.js-objectfit {
  display: block;
  -o-object-fit: none;
  object-fit: none;
  -o-object-position: center;
  object-position: center;
  min-width: 100%;
  min-height: 100%;
  max-width: inherit;
  margin: auto;
  width: auto;
  height: auto;
  top: -100%;
  right: -100%;
  bottom: -100%;
  left: -100%;
  position: absolute; }

/* ==============================================================================================
Slider box
============================================================================================== */
.js-slide-box-wrap {
  overflow: hidden;
  position: relative;
  margin-left: 2rem; }
  @media screen and (max-width: 749px) {
    .js-slide-box-wrap {
      margin-left: 3rem; } }

.js-slide-box {
  position: relative; }
  @media screen and (max-width: 749px) {
    .js-slide-box {
      margin-right: 3.1rem; } }

.js-slide-box *:focus {
  outline: none; }

@media screen and (max-width: 749px) {
  .js-slide-box .slick-list {
    overflow: visible; } }

.js-slide-box .slick-track {
  position: relative;
  overflow: hidden; }

.js-slide-box__block {
  width: 35.5rem;
  margin-right: 1.6rem; }

.js-slide-box + .c-Indicator-arrow {
  margin-top: 3.2rem; }

/* ==============================================================================================
Accordion
============================================================================================== */
.js-accordion__target {
  display: none; }

/* ==============================================================================================
次ページ読み込み用シート
============================================================================================== */
.js-scene {
  width: 100%;
  height: 0%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  background: #e0e1e2;
  -webkit-transition: all .5s linear;
  -o-transition: all .5s linear;
  transition: all .5s linear;
  z-index: var(--z-index-limit);
  pointer-events: none; }
  .js-scene.is-slide-in {
    height: 100%;
    top: auto;
    bottom: 0; }
  .js-scene.is-slide {
    height: 100%; }

/* フォントファミリー調整（各コンポーネントから集約）
----------------------------------------------------------------- */
:lang(zh-cmn-Hant) .t-iconicColumn__en, :lang(zh-cmn-Hant)
.c-banner-caption, :lang(zh-cmn-Hant)
.c-banner-title, :lang(zh-cmn-Hant)
.t-product-heading, :lang(zh-cmn-Hant)
.t-topics-archive li, :lang(zh-cmn-Hant)
.t-topics__pagenation-list li {
  font-weight: 300;
  font-family: "Noto Serif TC"; }

:lang(zh-cmn-Hans) .t-iconicColumn__en, :lang(zh-cmn-Hans)
.c-banner-caption, :lang(zh-cmn-Hans)
.c-banner-title, :lang(zh-cmn-Hans)
.t-product-heading, :lang(zh-cmn-Hans)
.t-topics-archive li, :lang(zh-cmn-Hans)
.t-topics__pagenation-list li {
  font-weight: 300;
  font-family: "Noto Serif SC"; }

.cookie {
  z-index: var(--z-index-max) !important; }

.c-hero__title-set.-shadow-none {
  text-shadow: none !important; }

@media screen and (max-width: 749px) {
  .l-side-access svg {
    fill: #E0E2E2;
    stroke: #4D4D4D; }
  .is-op1 .l-side-access svg,
  .l-side.is-white .l-side-access svg {
    fill: none;
    stroke: #fff; } }

.js-ef-scale.is-unload {
  opacity: 0;
  -webkit-transform: scale(1.05, 1.05);
  -ms-transform: scale(1.05, 1.05);
  transform: scale(1.05, 1.05); }

.js-ef-scale {
  -webkit-transition: opacity 1s ease-out .25s, -webkit-transform 1s ease-out .25s;
  transition: opacity 1s ease-out .25s, -webkit-transform 1s ease-out .25s;
  -o-transition: opacity 1s ease-out .25s, transform 1s ease-out .25s;
  transition: opacity 1s ease-out .25s, transform 1s ease-out .25s;
  transition: opacity 1s ease-out .25s, transform 1s ease-out .25s, -webkit-transform 1s ease-out .25s; }

.js-toggle-modal {
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }

.js-toggle-modal:hover {
  opacity: .8;
  -webkit-transition: all .1s ease;
  -o-transition: all .1s ease;
  transition: all .1s ease; }

.u-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0;
  left: 0; }

.is-clear-mt {
  margin-top: auto !important; }

.t-newitem-header {
  position: relative; }

.t-newitem-header__title {
  width: 100%;
  position: absolute;
  bottom: 3.2rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  color: #fff;
  display: block;
  text-align: center;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3); }
  @media screen and (max-width: 749px) {
    .t-newitem-header__title {
      width: calc(100% - 6.2rem);
      padding-bottom: 6.4rem;
      border-bottom: 1px solid rgba(180, 183, 186, 0.3);
      position: static;
      color: #000;
      text-shadow: none;
      margin-top: 2.8rem; } }

.t-newitem-header__title__sub {
  font-family: 'Untitled Serif', serif;
  font-style: normal;
  font-weight: 300;
  font-size: 16px;
  line-height: 200%;
  text-align: center;
  letter-spacing: .04em;
  -webkit-font-feature-settings: 'halt' on;
  font-feature-settings: 'halt' on; }
  :lang(zh-cmn-Hant) .t-newitem-header__title__sub {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .t-newitem-header__title__sub {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 749px) {
    .t-newitem-header__title__sub {
      font-style: normal;
      font-weight: 300;
      font-size: 16px;
      line-height: 150%;
      text-align: center;
      -webkit-font-feature-settings: 'halt' on;
      font-feature-settings: 'halt' on; } }

.t-newitem-header__title__main {
  font-family: 'Untitled Serif', serif;
  font-style: normal;
  font-weight: 300;
  font-size: 30px;
  line-height: 150%;
  text-align: center;
  letter-spacing: .04em;
  -webkit-font-feature-settings: 'palt' on, 'pwid' on;
  font-feature-settings: 'palt' on, 'pwid' on; }
  :lang(zh-cmn-Hant) .t-newitem-header__title__main {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .t-newitem-header__title__main {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 749px) {
    .t-newitem-header__title__main {
      font-style: normal;
      font-weight: 300;
      font-size: 25px;
      line-height: 150%;
      text-align: center;
      margin-top: .8rem;
      -webkit-font-feature-settings: 'halt' on;
      font-feature-settings: 'halt' on; } }

@media screen and (max-width: 749px) {
  .t-newitem2020 .c-txt-l {
    font-size: 1.4rem;
    line-height: 175%; } }

.t-newproducts-button span {
  display: inline-block;
  position: relative; }

.t-newproducts-button__line::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #4D4D4D;
  display: block;
  margin: .8rem 0;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }
  a:hover .t-newproducts-button__line::before {
    background: #fff;
    -webkit-transition: all 0s ease;
    -o-transition: all 0s ease;
    transition: all 0s ease; }

.l-bottom-banner {
  width: 100%;
  text-align: center;
  margin: 0 auto;
  padding: 8rem 0;
  display: block; }
  .l-bottom-banner a {
    width: 100%;
    display: block; }
  .l-bottom-banner img {
    width: 100%; }

/* video要素 */
/* -------------------------------------------------- */
.c-video video {
  width: 100%;
  height: auto; }

/* グレーボックス */
/* -------------------------------------------------- */
.c-graybox {
  background: #B4B7BA;
  border-radius: 6px;
  padding: 3rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 749px) {
    .c-graybox {
      padding: 2rem 2.2rem; } }

.c-graybox-imgset {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 2rem; }
  .c-graybox-imgset img {
    width: 100%; }
  @media screen and (max-width: 749px) {
    .c-graybox-imgset {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }

/* プロダクトバナー */
/* -------------------------------------------------- */
.c-lineup-banner {
  border: 1px solid #BBBBBB;
  text-decoration: none;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 3rem;
  gap: 2.4rem; }
  .c-lineup-banner img {
    width: 100%;
    height: auto;
    display: block;
    border: 1px solid #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .c-lineup-banner .c-txt-s + .c-txt-s {
    padding-top: .4rem; }
  @media screen and (max-width: 749px) {
    .c-lineup-banner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 2rem;
      padding: 2rem 2rem 2.6rem; }
      .c-lineup-banner .c-txt-s {
        font-size: 1.1rem;
        line-height: 1.55; }
      .c-lineup-banner .c-txt-s + .c-txt-s {
        padding-top: 1rem; } }

/* リードボックス */
/* -------------------------------------------------- */
.c-leadbox {
  margin-top: 4.7rem; }

.c-leadbox__inner {
  width: 85%;
  margin: 0 auto;
  font-size: 12px;
  line-height: 2;
  text-align: center;
  color: #4D4D4D;
  border: 2px solid #fff;
  padding: 1.1rem 1.4rem 1rem;
  font-weight: 500;
  position: relative;
  right: 2.6rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 749px) {
    .c-leadbox__inner {
      width: 100%;
      line-height: 1.65;
      position: static;
      text-align: left;
      font-size: 11px;
      padding: 1.4rem 1.8rem; }
      .c-leadbox__inner p + p {
        margin-top: 11px; } }

.c-leadbox + .l-content-m > .l-section-introduction {
  padding-top: 6.2rem; }

@media screen and (max-width: 1024px) {
  .t-lineup-list {
    margin-top: -6.4rem; } }

@media screen and (max-width: 749px) {
  .t-lineup-list {
    margin-top: 0 !important; } }

.t-lineup-list.is-clear-mt {
  margin-top: 0 !important; }

.t-banner {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-top: 5.2rem; }
  @media screen and (max-width: 749px) {
    .t-banner.-history {
      padding-inline: 3rem; } }
  .t-banner a {
    display: block; }
  .t-banner__item {
    max-width: 54rem;
    margin-inline: auto; }
    @media screen and (max-width: 749px) {
      .t-banner__item {
        width: 100%; } }

.u-pt-clear {
  padding-top: 0 !important; }

:lang(zh-cmn-Hant) .u-font-han-serif {
  font-weight: 300;
  font-family: "Noto Serif TC"; }

:lang(zh-cmn-Hans) .u-font-han-serif {
  font-weight: 300;
  font-family: "Noto Serif SC"; }

:lang(zh-cmn-Hant) .u-font-han-sans {
  font-weight: 300;
  font-family: "Noto Sans TC"; }

:lang(zh-cmn-Hans) .u-font-han-sans {
  font-weight: 300;
  font-family: "Noto Sans SC"; }
