@charset "UTF-8";
/* basic layout */
/* 全体の設定
---------------------------------------------------------------------------*/
/* 基本設定
---------------------------------------------------------------------------*/
/* responsive */
/* サイズ */
/* flexbox */
/* フォント */
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/* regular: 400, medium: 500, bold: 700 */
/*@mixin font-hdl {
	font-family: fot-udkakugo-large-pr6n, sans-serif;
	font-style: normal;
	font-weight: 600;
}*/
/* regular: 500 */
/* regular: 400 */
/* 色 */
/* グラデ背景色 */
/* 中央揃え */
/* objectfit */
/* ホバーアクション */
/* 角丸 */
/* ボタン */
/* ボタンの中のspan */
/* フォントサイズ */
/* SP時の倍率 1.5 から 1.7 に変更 */
/* padding margin */
/* 縦書き */
/* 内径 */
/* sb
---------------------------------------------------------------------------*/
.sb {
  position: relative;
  margin-bottom: 160px; }
  @media screen and (max-width: 1300px) {
    .sb {
      margin-bottom: 12.3076923077vw; } }
  @media screen and (max-width: 480px) {
    .sb {
      margin-bottom: 16vw; } }
  .sb-img img {
    width: 100%;
    height: 800px;
    object-fit: cover;
    object-position: center;
    font-family: "object-fit: cover; object-position: center;"; }
    @media screen and (max-width: 1300px) {
      .sb-img img {
        height: 61.5384615385vw; } }
    @media screen and (max-width: 480px) {
      .sb-img img {
        height: 120vw; } }
  .sb-tx {
    position: absolute;
    left: 80px;
    bottom: 80px;
    z-index: 100;
    color: #ffffff;
    text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5); }
    @media screen and (max-width: 1300px) {
      .sb-tx {
        left: 6.1538461538vw;
        bottom: 6.1538461538vw; } }
    @media screen and (max-width: 480px) {
      .sb-tx {
        width: 72vw;
        left: 6.6666666667vw;
        bottom: 6.6666666667vw; } }
    .sb-tx-en {
      font-size: 28px;
      letter-spacing: .05em;
      margin-bottom: 24px; }
      @media screen and (max-width: 1300px) {
        .sb-tx-en {
          font-size: 2.1538461538vw; } }
      @media screen and (max-width: 480px) {
        .sb-tx-en {
          font-size: 6.3466666667vw; } }
      @media screen and (max-width: 1300px) {
        .sb-tx-en {
          margin-bottom: 1.8461538462vw; } }
      @media screen and (max-width: 480px) {
        .sb-tx-en {
          margin-bottom: 4vw; } }
    .sb-tx-ja {
      font-size: 28px;
      letter-spacing: .6em;
      margin-bottom: 66px; }
      @media screen and (max-width: 1300px) {
        .sb-tx-ja {
          font-size: 2.1538461538vw; } }
      @media screen and (max-width: 480px) {
        .sb-tx-ja {
          font-size: 6.3466666667vw; } }
      @media screen and (max-width: 1300px) {
        .sb-tx-ja {
          margin-bottom: 5.0769230769vw; } }
      @media screen and (max-width: 480px) {
        .sb-tx-ja {
          margin-bottom: 8vw; } }
    .sb-tx-desc {
      font-size: 16px;
      line-height: 2.25;
      letter-spacing: .3em; }
      @media screen and (max-width: 1300px) {
        .sb-tx-desc {
          font-size: 1.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .sb-tx-desc {
          font-size: 3.6266666667vw; } }

/* anchor
---------------------------------------------------------------------------*/
.anchor-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 24px; }
  @media screen and (max-width: 1300px) {
    .anchor-line {
      gap: 1.8461538462vw; } }
  @media screen and (max-width: 480px) {
    .anchor-line {
      gap: 0 3.2vw; } }
  .anchor-line li {
    font-size: 16px;
    letter-spacing: .1em; }
    @media screen and (max-width: 1300px) {
      .anchor-line li {
        font-size: 1.2307692308vw; } }
    @media screen and (max-width: 480px) {
      .anchor-line li {
        font-size: 3.6266666667vw; } }
    .anchor-line li a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      position: relative;
      padding-right: 36px;
      height: 62px;
      border-bottom: 1px solid #C8CED4; }
      @media screen and (max-width: 1300px) {
        .anchor-line li a {
          height: 4.7692307692vw;
          padding-right: 2.7692307692vw; } }
      @media screen and (max-width: 480px) {
        .anchor-line li a {
          height: auto;
          min-height: 10.6666666667vw;
          padding-right: 7.2vw;
          padding-top: 3.2vw;
          padding-bottom: 3.2vw; } }
      .anchor-line li a::after, .anchor-line li a::before {
        position: absolute;
        content: ""; }
      .anchor-line li a::after {
        width: 100%;
        bottom: 0;
        left: 0;
        height: 1px;
        background-color: #223B52;
        transform: scale(0, 1);
        transform-origin: left center;
        z-index: 1;
        transition-property: all;
        transition-duration: 0.3s;
        transition-timing-function: ease; }
      .anchor-line li a::before {
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        background-image: url(../img/cmn/anchor-arw.png);
        width: 10px;
        height: 5px;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        transition-property: all;
        transition-duration: 0.3s;
        transition-timing-function: ease; }
        @media screen and (max-width: 1300px) {
          .anchor-line li a::before {
            width: 0.7692307692vw;
            height: 0.3846153846vw; } }
        @media screen and (max-width: 480px) {
          .anchor-line li a::before {
            width: 2vw;
            height: 1vw; } }
      @media (hover: hover) {
        .anchor-line li a:hover {
          opacity: 1; }
          .anchor-line li a:hover::after {
            transform: scale(1, 1); }
          .anchor-line li a:hover::before {
            background-image: url(../img/cmn/anchor-arw-hover.png); } }
.anchor-tx {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .anchor-tx li {
    font-size: 16px; }
    @media screen and (max-width: 1300px) {
      .anchor-tx li {
        font-size: 1.2307692308vw; } }
    @media screen and (max-width: 480px) {
      .anchor-tx li {
        font-size: 3.6266666667vw; } }
    .anchor-tx li + li {
      position: relative;
      padding-left: 2em;
      margin-left: 1em; }
      .anchor-tx li + li::before {
        position: absolute;
        content: "｜";
        left: 0;
        top: 50%;
        transform: translateY(-50%); }

.ancpos {
  display: block;
  z-index: -100;
  position: relative;
  margin-top: -70px;
  padding-top: 70px; }
  @media screen and (max-width: 1300px) {
    .ancpos {
      margin-top: -5.3846153846vw;
      padding-top: 5.3846153846vw; } }
  @media screen and (max-width: 480px) {
    .ancpos {
      margin-top: 0;
      padding-top: 0; } }

/* カラム
---------------------------------------------------------------------------*/
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.f-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.f-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.f-middle {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.f-bottom {
  -webkit-align-items: flex-end;
  align-items: flex-end; }

.f-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

.f-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.f-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.f-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

.f-start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }

@media screen and (max-width: 480px) {
  .sp-f-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }

  .sp-f-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }

  .sp-f-column-reverse {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse; }

  .sp-f-top {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start; }

  .sp-f-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }

  .sp-f-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; } }
/* font
---------------------------------------------------------------------------*/
/* font-family */
.font-go {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal; }

/* font-size */
.fs12 {
  font-size: 12px; }
  @media screen and (max-width: 1300px) {
    .fs12 {
      font-size: 0.9230769231vw; } }
  @media screen and (max-width: 480px) {
    .fs12 {
      font-size: 2.72vw; } }

.fs14 {
  font-size: 14px; }
  @media screen and (max-width: 1300px) {
    .fs14 {
      font-size: 1.0769230769vw; } }
  @media screen and (max-width: 480px) {
    .fs14 {
      font-size: 3.1733333333vw; } }

.fs16 {
  font-size: 16px; }
  @media screen and (max-width: 1300px) {
    .fs16 {
      font-size: 1.2307692308vw; } }
  @media screen and (max-width: 480px) {
    .fs16 {
      font-size: 3.6266666667vw; } }

.fs18 {
  font-size: 18px; }
  @media screen and (max-width: 1300px) {
    .fs18 {
      font-size: 1.3846153846vw; } }
  @media screen and (max-width: 480px) {
    .fs18 {
      font-size: 4.08vw; } }

.fs20 {
  font-size: 20px; }
  @media screen and (max-width: 1300px) {
    .fs20 {
      font-size: 1.5384615385vw; } }
  @media screen and (max-width: 480px) {
    .fs20 {
      font-size: 4.5333333333vw; } }

.fs22 {
  font-size: 22px; }
  @media screen and (max-width: 1300px) {
    .fs22 {
      font-size: 1.6923076923vw; } }
  @media screen and (max-width: 480px) {
    .fs22 {
      font-size: 4.9866666667vw; } }

.fs24 {
  font-size: 24px; }
  @media screen and (max-width: 1300px) {
    .fs24 {
      font-size: 1.8461538462vw; } }
  @media screen and (max-width: 480px) {
    .fs24 {
      font-size: 5.44vw; } }

.fs26 {
  font-size: 26px; }
  @media screen and (max-width: 1300px) {
    .fs26 {
      font-size: 2vw; } }
  @media screen and (max-width: 480px) {
    .fs26 {
      font-size: 5.8933333333vw; } }

.fs28 {
  font-size: 28px; }
  @media screen and (max-width: 1300px) {
    .fs28 {
      font-size: 2.1538461538vw; } }
  @media screen and (max-width: 480px) {
    .fs28 {
      font-size: 6.3466666667vw; } }

.fs30 {
  font-size: 30px; }
  @media screen and (max-width: 1300px) {
    .fs30 {
      font-size: 2.3076923077vw; } }
  @media screen and (max-width: 480px) {
    .fs30 {
      font-size: 6.8vw; } }

.fs36 {
  font-size: 36px; }
  @media screen and (max-width: 1300px) {
    .fs36 {
      font-size: 2.7692307692vw; } }
  @media screen and (max-width: 480px) {
    .fs36 {
      font-size: 8.16vw; } }

.fs40 {
  font-size: 40px; }
  @media screen and (max-width: 1300px) {
    .fs40 {
      font-size: 3.0769230769vw; } }
  @media screen and (max-width: 480px) {
    .fs40 {
      font-size: 9.0666666667vw; } }

.fs42 {
  font-size: 42px; }
  @media screen and (max-width: 1300px) {
    .fs42 {
      font-size: 3.2307692308vw; } }
  @media screen and (max-width: 480px) {
    .fs42 {
      font-size: 9.52vw; } }

.fs48 {
  font-size: 48px; }
  @media screen and (max-width: 1300px) {
    .fs48 {
      font-size: 3.6923076923vw; } }
  @media screen and (max-width: 480px) {
    .fs48 {
      font-size: 10.88vw; } }

.fs50 {
  font-size: 50px; }
  @media screen and (max-width: 1300px) {
    .fs50 {
      font-size: 3.8461538462vw; } }
  @media screen and (max-width: 480px) {
    .fs50 {
      font-size: 11.3333333333vw; } }

.fs56 {
  font-size: 56px; }
  @media screen and (max-width: 1300px) {
    .fs56 {
      font-size: 4.3076923077vw; } }
  @media screen and (max-width: 480px) {
    .fs56 {
      font-size: 12.6933333333vw; } }

.fs64 {
  font-size: 64px; }
  @media screen and (max-width: 1300px) {
    .fs64 {
      font-size: 4.9230769231vw; } }
  @media screen and (max-width: 480px) {
    .fs64 {
      font-size: 14.5066666667vw; } }

/* font-weight */
.fw300 {
  font-weight: 300; }

.fw400 {
  font-weight: 400; }

.fw500 {
  font-weight: 500; }

.fw700 {
  font-weight: 700; }

.fw900 {
  font-weight: 900; }

/* line-height */
.lh130 {
  line-height: 1.3; }

.lh140 {
  line-height: 1.4; }

.lh160 {
  line-height: 1.6; }

.lh170 {
  line-height: 1.7; }

.lh180 {
  line-height: 1.8; }

.lh210 {
  line-height: 2.1111; }

.lh225 {
  line-height: 2.25; }

.lh266 {
  line-height: 2.666; }

.lh270 {
  line-height: 2.7; }

@media screen and (max-width: 480px) {
  .splh150 {
    line-height: 1.5; } }
/* letter-spacing */
.ls0 {
  letter-spacing: 0; }

.ls50 {
  letter-spacing: .05em; }

.ls100 {
  letter-spacing: .1em; }

.ls150 {
  letter-spacing: .15em; }

.ls200 {
  letter-spacing: .2em; }

.ls300 {
  letter-spacing: .3em; }

.ls400 {
  letter-spacing: .4em; }

.ls600 {
  letter-spacing: .6em; }

@media screen and (max-width: 480px) {
  .spls0 {
    letter-spacing: 0; } }
/* 文字色 */
.clr-w {
  color: #ffffff; }

.clr-str {
  color: #B9272D; }

.clr-mnd {
  color: #909DA8; }

/* 文字揃え */
.al-center {
  text-align: center !important; }
.al-left {
  text-align: left !important; }
.al-right {
  text-align: right !important; }
@media screen and (max-width: 480px) {
  .al-sp-center {
    text-align: center !important; } }

/* 余白
---------------------------------------------------------------------------*/
.mt8 {
  margin-top: 8px; }
  @media screen and (max-width: 1300px) {
    .mt8 {
      margin-top: 0.6153846154vw; } }
  @media screen and (max-width: 480px) {
    .mt8 {
      margin-top: 1.0666666667vw; } }

.mb8 {
  margin-bottom: 8px; }
  @media screen and (max-width: 1300px) {
    .mb8 {
      margin-bottom: 0.6153846154vw; } }
  @media screen and (max-width: 480px) {
    .mb8 {
      margin-bottom: 1.0666666667vw; } }

.mb12 {
  margin-bottom: 12px; }
  @media screen and (max-width: 1300px) {
    .mb12 {
      margin-bottom: 0.9230769231vw; } }
  @media screen and (max-width: 480px) {
    .mb12 {
      margin-bottom: 1.6vw; } }

.mb24 {
  margin-bottom: 24px; }
  @media screen and (max-width: 1300px) {
    .mb24 {
      margin-bottom: 1.8461538462vw; } }
  @media screen and (max-width: 480px) {
    .mb24 {
      margin-bottom: 3.2vw; } }

.mb32 {
  margin-bottom: 32px; }
  @media screen and (max-width: 1300px) {
    .mb32 {
      margin-bottom: 2.4615384615vw; } }
  @media screen and (max-width: 480px) {
    .mb32 {
      margin-bottom: 4.2666666667vw; } }

.mb40 {
  margin-bottom: 40px; }
  @media screen and (max-width: 1300px) {
    .mb40 {
      margin-bottom: 3.0769230769vw; } }
  @media screen and (max-width: 480px) {
    .mb40 {
      margin-bottom: 5.3333333333vw; } }

.mb48 {
  margin-bottom: 48px; }
  @media screen and (max-width: 1300px) {
    .mb48 {
      margin-bottom: 3.6923076923vw; } }
  @media screen and (max-width: 480px) {
    .mb48 {
      margin-bottom: 6.4vw; } }

.mb54 {
  margin-bottom: 54px; }
  @media screen and (max-width: 1300px) {
    .mb54 {
      margin-bottom: 4.1538461538vw; } }
  @media screen and (max-width: 480px) {
    .mb54 {
      margin-bottom: 7.2vw; } }

.mb64 {
  margin-bottom: 64px; }
  @media screen and (max-width: 1300px) {
    .mb64 {
      margin-bottom: 4.9230769231vw; } }
  @media screen and (max-width: 480px) {
    .mb64 {
      margin-bottom: 8.5333333333vw; } }

.mb96 {
  margin-bottom: 96px; }
  @media screen and (max-width: 1300px) {
    .mb96 {
      margin-bottom: 7.3846153846vw; } }
  @media screen and (max-width: 480px) {
    .mb96 {
      margin-bottom: 12.8vw; } }

.mb104 {
  margin-bottom: 104px; }
  @media screen and (max-width: 1300px) {
    .mb104 {
      margin-bottom: 8vw; } }
  @media screen and (max-width: 480px) {
    .mb104 {
      margin-bottom: 13.8666666667vw; } }

.mb128 {
  margin-bottom: 128px; }
  @media screen and (max-width: 1300px) {
    .mb128 {
      margin-bottom: 9.8461538462vw; } }
  @media screen and (max-width: 480px) {
    .mb128 {
      margin-bottom: 17.0666666667vw; } }

.mb146 {
  margin-bottom: 146px; }
  @media screen and (max-width: 1300px) {
    .mb146 {
      margin-bottom: 11.2307692308vw; } }
  @media screen and (max-width: 480px) {
    .mb146 {
      margin-bottom: 19.4666666667vw; } }

.mb160 {
  margin-bottom: 160px; }
  @media screen and (max-width: 1300px) {
    .mb160 {
      margin-bottom: 12.3076923077vw; } }
  @media screen and (max-width: 480px) {
    .mb160 {
      margin-bottom: 21.3333333333vw; } }

.mb192 {
  margin-bottom: 192px; }
  @media screen and (max-width: 1300px) {
    .mb192 {
      margin-bottom: 14.7692307692vw; } }
  @media screen and (max-width: 480px) {
    .mb192 {
      margin-bottom: 25.6vw; } }

.pt8 {
  padding-top: 8px; }
  @media screen and (max-width: 1300px) {
    .pt8 {
      padding-top: 0.6153846154vw; } }
  @media screen and (max-width: 480px) {
    .pt8 {
      padding-top: 1.0666666667vw; } }

.pt16 {
  padding-top: 16px; }
  @media screen and (max-width: 1300px) {
    .pt16 {
      padding-top: 1.2307692308vw; } }
  @media screen and (max-width: 480px) {
    .pt16 {
      padding-top: 2.1333333333vw; } }

.pt24 {
  padding-top: 24px; }
  @media screen and (max-width: 1300px) {
    .pt24 {
      padding-top: 1.8461538462vw; } }
  @media screen and (max-width: 480px) {
    .pt24 {
      padding-top: 3.2vw; } }

.pt32 {
  padding-top: 32px; }
  @media screen and (max-width: 1300px) {
    .pt32 {
      padding-top: 2.4615384615vw; } }
  @media screen and (max-width: 480px) {
    .pt32 {
      padding-top: 4.2666666667vw; } }

.pt48 {
  padding-top: 48px; }
  @media screen and (max-width: 1300px) {
    .pt48 {
      padding-top: 3.6923076923vw; } }
  @media screen and (max-width: 480px) {
    .pt48 {
      padding-top: 6.4vw; } }

.pt64 {
  padding-top: 64px; }
  @media screen and (max-width: 1300px) {
    .pt64 {
      padding-top: 4.9230769231vw; } }
  @media screen and (max-width: 480px) {
    .pt64 {
      padding-top: 8.5333333333vw; } }

.pt96 {
  padding-top: 96px; }
  @media screen and (max-width: 1300px) {
    .pt96 {
      padding-top: 7.3846153846vw; } }
  @media screen and (max-width: 480px) {
    .pt96 {
      padding-top: 12.8vw; } }

.pt128 {
  padding-top: 128px; }
  @media screen and (max-width: 1300px) {
    .pt128 {
      padding-top: 9.8461538462vw; } }
  @media screen and (max-width: 480px) {
    .pt128 {
      padding-top: 17.0666666667vw; } }

.pb16 {
  padding-bottom: 16px; }
  @media screen and (max-width: 1300px) {
    .pb16 {
      padding-bottom: 1.2307692308vw; } }
  @media screen and (max-width: 480px) {
    .pb16 {
      padding-bottom: 2.1333333333vw; } }

.pb24 {
  padding-bottom: 24px; }
  @media screen and (max-width: 1300px) {
    .pb24 {
      padding-bottom: 1.8461538462vw; } }
  @media screen and (max-width: 480px) {
    .pb24 {
      padding-bottom: 3.2vw; } }

.pb32 {
  padding-bottom: 32px; }
  @media screen and (max-width: 1300px) {
    .pb32 {
      padding-bottom: 2.4615384615vw; } }
  @media screen and (max-width: 480px) {
    .pb32 {
      padding-bottom: 4.2666666667vw; } }

.pb48 {
  padding-bottom: 48px; }
  @media screen and (max-width: 1300px) {
    .pb48 {
      padding-bottom: 3.6923076923vw; } }
  @media screen and (max-width: 480px) {
    .pb48 {
      padding-bottom: 6.4vw; } }

.pb64 {
  padding-bottom: 64px; }
  @media screen and (max-width: 1300px) {
    .pb64 {
      padding-bottom: 4.9230769231vw; } }
  @media screen and (max-width: 480px) {
    .pb64 {
      padding-bottom: 8.5333333333vw; } }

.pb96 {
  padding-bottom: 96px; }
  @media screen and (max-width: 1300px) {
    .pb96 {
      padding-bottom: 7.3846153846vw; } }
  @media screen and (max-width: 480px) {
    .pb96 {
      padding-bottom: 12.8vw; } }

.pb124 {
  padding-bottom: 124px; }
  @media screen and (max-width: 1300px) {
    .pb124 {
      padding-bottom: 9.5384615385vw; } }
  @media screen and (max-width: 480px) {
    .pb124 {
      padding-bottom: 16.5333333333vw; } }

.pb128 {
  padding-bottom: 128px; }
  @media screen and (max-width: 1300px) {
    .pb128 {
      padding-bottom: 9.8461538462vw; } }
  @media screen and (max-width: 480px) {
    .pb128 {
      padding-bottom: 17.0666666667vw; } }

.pb150 {
  padding-bottom: 150px; }
  @media screen and (max-width: 1300px) {
    .pb150 {
      padding-bottom: 11.5384615385vw; } }
  @media screen and (max-width: 480px) {
    .pb150 {
      padding-bottom: 20vw; } }

.pb192 {
  padding-bottom: 192px; }
  @media screen and (max-width: 1300px) {
    .pb192 {
      padding-bottom: 14.7692307692vw; } }
  @media screen and (max-width: 480px) {
    .pb192 {
      padding-bottom: 25.6vw; } }

.pb384 {
  padding-bottom: 384px; }
  @media screen and (max-width: 1300px) {
    .pb384 {
      padding-bottom: 29.5384615385vw; } }
  @media screen and (max-width: 480px) {
    .pb384 {
      padding-bottom: 51.2vw; } }

@media screen and (max-width: 480px) {
  .spmb96 {
    margin-bottom: 12.8vw; } }
/* imgcap
---------------------------------------------------------------------------*/
.imgcap {
  position: relative; }
  .imgcap-cap {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: .4em .5em;
    text-align: right;
    background-color: rgba(34, 59, 82, 0.5);
    color: #ffffff;
    font-size: 14px;
    letter-spacing: 0; }
    @media screen and (max-width: 1300px) {
      .imgcap-cap {
        font-size: 1.0769230769vw; } }
    @media screen and (max-width: 480px) {
      .imgcap-cap {
        font-size: 3.1733333333vw; } }
    .imgcap-cap.nobg {
      background-color: transparent; }

/* テキスト装飾
---------------------------------------------------------------------------*/
.underlinehdl {
  font-size: 18px;
  line-height: 2;
  letter-spacing: .2em;
  padding-bottom: 24px;
  border-bottom: 1px solid #B6BEC6; }
  @media screen and (max-width: 1300px) {
    .underlinehdl {
      font-size: 1.3846153846vw; } }
  @media screen and (max-width: 480px) {
    .underlinehdl {
      font-size: 4.08vw; } }
  @media screen and (max-width: 1300px) {
    .underlinehdl {
      padding-bottom: 1.8461538462vw; } }
  @media screen and (max-width: 480px) {
    .underlinehdl {
      padding-bottom: 3.2vw; } }
  .underlinehdl .en {
    display: block;
    color: #909DA8;
    font-size: 14px;
    letter-spacing: .05em;
    margin-bottom: 16px; }
    @media screen and (max-width: 1300px) {
      .underlinehdl .en {
        font-size: 1.0769230769vw; } }
    @media screen and (max-width: 480px) {
      .underlinehdl .en {
        font-size: 3.1733333333vw; } }
    @media screen and (max-width: 1300px) {
      .underlinehdl .en {
        margin-bottom: 1.2307692308vw; } }
    @media screen and (max-width: 480px) {
      .underlinehdl .en {
        margin-bottom: 3.2vw; } }

.bdrhdl {
  position: relative;
  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: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding-bottom: 16px;
  /*&::after {
  	@include bfaf;
  	width: calc(50vw - 380px);
  	height: 1px;
  	right: calc(50% + 380px);
  	bottom: 0;
  	background-color: #909DA8;
  	@include mq(xl) {
  		width: calc(50vw - 29.23076vw);
  		right: calc(50% + 29.23076vw);
  	}
  	@include mq(sm) {
  		width: calc(50vw - 20vw);
  		right: calc(50% + 20vw);
  	}
  }*/ }
  @media screen and (max-width: 1300px) {
    .bdrhdl {
      padding-bottom: 1.2307692308vw; } }
  @media screen and (max-width: 480px) {
    .bdrhdl {
      padding-bottom: 3.2vw; } }
  .bdrhdl .en {
    position: relative;
    color: #909DA8;
    font-size: 14px;
    letter-spacing: .05em;
    margin-bottom: 16px; }
    @media screen and (max-width: 1300px) {
      .bdrhdl .en {
        font-size: 1.0769230769vw; } }
    @media screen and (max-width: 480px) {
      .bdrhdl .en {
        font-size: 3.1733333333vw; } }
    @media screen and (max-width: 1300px) {
      .bdrhdl .en {
        margin-bottom: 1.2307692308vw; } }
    @media screen and (max-width: 480px) {
      .bdrhdl .en {
        margin-bottom: 3.2vw; } }
    .bdrhdl .en::after {
      position: absolute;
      content: "";
      width: 50vw;
      height: 1px;
      right: 0;
      bottom: -80px;
      background-color: #909DA8; }
      @media screen and (max-width: 1300px) {
        .bdrhdl .en::after {
          bottom: -6.1538461538vw; } }
      @media screen and (max-width: 480px) {
        .bdrhdl .en::after {
          bottom: -16vw; } }
  .bdrhdl .ja {
    font-size: 28px;
    line-height: 1.7;
    letter-spacing: .6em; }
    @media screen and (max-width: 1300px) {
      .bdrhdl .ja {
        font-size: 2.1538461538vw; } }
    @media screen and (max-width: 480px) {
      .bdrhdl .ja {
        font-size: 6.3466666667vw; } }
    @media screen and (max-width: 480px) {
      .bdrhdl .ja {
        letter-spacing: .3em; } }

.defdesc {
  font-size: 16px;
  line-height: 2.25; }
  @media screen and (max-width: 1300px) {
    .defdesc {
      font-size: 1.2307692308vw; } }
  @media screen and (max-width: 480px) {
    .defdesc {
      font-size: 3.6266666667vw; } }

/* btn
---------------------------------------------------------------------------*/
.btn-more a,
.btn-more .atag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 10px 15px;
  border-bottom: 1px solid #223B52;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease; }
  @media screen and (max-width: 1300px) {
    .btn-more a,
    .btn-more .atag {
      padding: 0.7692307692vw 1.1538461538vw; } }
  @media screen and (max-width: 480px) {
    .btn-more a,
    .btn-more .atag {
      padding: 2vw 3vw; } }
  .btn-more a .name,
  .btn-more .atag .name {
    font-size: 16px;
    letter-spacing: .05em; }
    @media screen and (max-width: 1300px) {
      .btn-more a .name,
      .btn-more .atag .name {
        font-size: 1.2307692308vw; } }
    @media screen and (max-width: 480px) {
      .btn-more a .name,
      .btn-more .atag .name {
        font-size: 3.6266666667vw; } }
    .btn-more a .name + .more,
    .btn-more .atag .name + .more {
      margin-left: 10px; }
      @media screen and (max-width: 1300px) {
        .btn-more a .name + .more,
        .btn-more .atag .name + .more {
          margin-left: 0.7692307692vw; } }
      @media screen and (max-width: 480px) {
        .btn-more a .name + .more,
        .btn-more .atag .name + .more {
          margin-left: 2vw; } }
  .btn-more a .more,
  .btn-more .atag .more {
    font-size: 14px;
    letter-spacing: 0; }
    @media screen and (max-width: 1300px) {
      .btn-more a .more,
      .btn-more .atag .more {
        font-size: 1.0769230769vw; } }
    @media screen and (max-width: 480px) {
      .btn-more a .more,
      .btn-more .atag .more {
        font-size: 3.1733333333vw; } }
  @media (hover: hover) {
    .btn-more a:hover,
    .btn-more .atag:hover {
      opacity: 1;
      background-color: rgba(200, 206, 212, 0.5); } }
.btn-more.white {
  color: #ffffff; }
  .btn-more.white a, .btn-more.white .atag {
    border-bottom-color: #ffffff; }

/* cols
---------------------------------------------------------------------------*/
@media screen and (max-width: 480px) {
  .cols.sp-f-column > * {
    width: 100% !important; }
    .cols.sp-f-column > * + * {
      margin-top: 8vw; } }

/* datatbl
---------------------------------------------------------------------------*/
.datatbl {
  width: 100%; }
  .datatbl th, .datatbl td {
    padding-top: 16px;
    padding-bottom: 16px;
    font-weight: 400;
    word-break: break-all;
    vertical-align: top; }
    @media screen and (max-width: 1300px) {
      .datatbl th, .datatbl td {
        padding-top: 1.2307692308vw;
        padding-bottom: 1.2307692308vw; } }
    @media screen and (max-width: 480px) {
      .datatbl th, .datatbl td {
        display: block;
        width: 100% !important;
        padding-top: 3.2vw;
        padding-bottom: 3.2vw; } }
  .datatbl th {
    border-bottom: 1px solid #909DA8; }
  .datatbl td {
    padding-left: 24px;
    border-bottom: 1px solid #C8CED4; }
    @media screen and (max-width: 1300px) {
      .datatbl td {
        padding-left: 1.8461538462vw; } }
    @media screen and (max-width: 480px) {
      .datatbl td {
        padding-left: 0; } }
  .datatbl .lh180 {
    line-height: 2.25; }
    @media screen and (max-width: 480px) {
      .datatbl .lh180 {
        line-height: 1.80; } }

/* centersl
---------------------------------------------------------------------------*/
.centersl-wrap {
  /*width: 1000px;
  margin-left: auto;
  margin-right: auto;
  @include mq(xl) {
  	width: px2vw(100);
  }
  @include mq(sm) {
  	width: px2sp(650);
  }*/ }
  .centersl-wrap .swiper-slide {
    width: 1000px; }
    @media screen and (max-width: 1300px) {
      .centersl-wrap .swiper-slide {
        width: 76.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .centersl-wrap .swiper-slide {
        width: 86.6666666667vw; } }
    .centersl-wrap .swiper-slide img {
      width: 960px;
      margin-left: auto;
      margin-right: auto; }
      @media screen and (max-width: 1300px) {
        .centersl-wrap .swiper-slide img {
          width: 73.8461538462vw; } }
      @media screen and (max-width: 480px) {
        .centersl-wrap .swiper-slide img {
          width: 80vw;
          height: 66.6666666667vw;
          object-fit: cover;
          object-position: center;
          font-family: "object-fit: cover; object-position: center;"; } }
.centersl-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  width: 160px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 28px; }
  @media screen and (max-width: 1300px) {
    .centersl-navigation {
      width: 12.3076923077vw;
      margin-top: 2.1538461538vw; } }
  @media screen and (max-width: 480px) {
    .centersl-navigation {
      width: 32vw;
      margin-top: 5.3333333333vw; } }
  .centersl-navigation::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 30px;
    background-color: #909DA8;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
    @media screen and (max-width: 1300px) {
      .centersl-navigation::before {
        height: 2.3076923077vw; } }
    @media screen and (max-width: 480px) {
      .centersl-navigation::before {
        height: 6vw; } }
  .centersl-navigation .centersl-prev,
  .centersl-navigation .centersl-next {
    width: 10px; }
    @media screen and (max-width: 1300px) {
      .centersl-navigation .centersl-prev,
      .centersl-navigation .centersl-next {
        width: 0.7692307692vw; } }
    @media screen and (max-width: 480px) {
      .centersl-navigation .centersl-prev,
      .centersl-navigation .centersl-next {
        width: 2vw; } }

/* imgtx
---------------------------------------------------------------------------*/
.imgtx {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 480px) {
    .imgtx {
      -webkit-flex-direction: column-reverse;
      flex-direction: column-reverse; } }
  .imgtx-tx {
    width: 440px;
    padding-left: 50px; }
    @media screen and (max-width: 1300px) {
      .imgtx-tx {
        width: 33.8461538462vw;
        padding-left: 3.8461538462vw; } }
    @media screen and (max-width: 480px) {
      .imgtx-tx {
        width: 100%;
        padding-left: 0;
        margin-top: 8vw; } }
  .imgtx-img {
    position: relative;
    width: 600px;
    margin-left: 40px; }
    @media screen and (max-width: 1300px) {
      .imgtx-img {
        width: 46.1538461538vw;
        margin-left: 3.0769230769vw; } }
    @media screen and (max-width: 480px) {
      .imgtx-img {
        width: 100%;
        margin-left: 0; } }
  .imgtx .w504 {
    width: 504px; }
    @media screen and (max-width: 1300px) {
      .imgtx .w504 {
        width: 38.7692307692vw; } }
    @media screen and (max-width: 480px) {
      .imgtx .w504 {
        width: 100%; } }
  .imgtx .w600 {
    width: 600px; }
    @media screen and (max-width: 1300px) {
      .imgtx .w600 {
        width: 46.1538461538vw; } }
    @media screen and (max-width: 480px) {
      .imgtx .w600 {
        width: 100%; } }
  .imgtx .mdl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .imgtx .imgtxsl-box {
    width: calc(50vw + 60px);
    overflow: hidden;
    margin-right: calc(-50vw + 600px);
    margin-left: auto; }
    @media screen and (max-width: 1300px) {
      .imgtx .imgtxsl-box {
        width: calc(50vw + 4.615384vw);
        margin-right: calc(-50vw + 46.15384vw); } }
    @media screen and (max-width: 480px) {
      .imgtx .imgtxsl-box {
        width: 100%;
        margin-right: auto; } }
  .imgtx .imgtxsl-wrap {
    /*width: 620px;
    margin-right: -20px;
    @include mq(xl) {
    	width: px2vw(620);
    	margin-right: px2vw(-20);
    }
    @include mq(sm) {
    	width: px2sp(650);
    	margin-right: 0;
    }*/ }
    .imgtx .imgtxsl-wrap .swiper-slide {
      width: 620px; }
      @media screen and (max-width: 1300px) {
        .imgtx .imgtxsl-wrap .swiper-slide {
          width: 47.6923076923vw; } }
      @media screen and (max-width: 480px) {
        .imgtx .imgtxsl-wrap .swiper-slide {
          width: 86.6666666667vw; } }
      .imgtx .imgtxsl-wrap .swiper-slide img {
        width: 600px; }
        @media screen and (max-width: 1300px) {
          .imgtx .imgtxsl-wrap .swiper-slide img {
            width: 46.1538461538vw; } }
        @media screen and (max-width: 480px) {
          .imgtx .imgtxsl-wrap .swiper-slide img {
            margin-left: auto;
            margin-right: auto;
            width: 80vw;
            height: 53.3333333333vw;
            object-fit: cover;
            object-position: center;
            font-family: "object-fit: cover; object-position: center;"; } }
  .imgtx .imgtxsl-navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    width: 160px;
    margin-top: 24px; }
    @media screen and (max-width: 1300px) {
      .imgtx .imgtxsl-navigation {
        width: 12.3076923077vw;
        margin-top: 1.8461538462vw; } }
    @media screen and (max-width: 480px) {
      .imgtx .imgtxsl-navigation {
        width: 32vw;
        margin-top: 5.3333333333vw;
        margin-left: auto;
        margin-right: auto; } }
    .imgtx .imgtxsl-navigation::before {
      position: absolute;
      content: "";
      width: 1px;
      height: 30px;
      background-color: #909DA8;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%); }
      @media screen and (max-width: 1300px) {
        .imgtx .imgtxsl-navigation::before {
          height: 2.3076923077vw; } }
      @media screen and (max-width: 480px) {
        .imgtx .imgtxsl-navigation::before {
          height: 6vw; } }
    .imgtx .imgtxsl-navigation .imgtxsl-prev,
    .imgtx .imgtxsl-navigation .imgtxsl-next {
      width: 10px; }
      @media screen and (max-width: 1300px) {
        .imgtx .imgtxsl-navigation .imgtxsl-prev,
        .imgtx .imgtxsl-navigation .imgtxsl-next {
          width: 0.7692307692vw; } }
      @media screen and (max-width: 480px) {
        .imgtx .imgtxsl-navigation .imgtxsl-prev,
        .imgtx .imgtxsl-navigation .imgtxsl-next {
          width: 2vw; } }
  @media screen and (max-width: 480px) {
    .imgtx.sp-f-column {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
      .imgtx.sp-f-column .imgtx-tx {
        margin-top: 0;
        margin-bottom: 8vw; } }
