@charset "UTF-8";
:root {
  --font-en-primary: "worthington-arcade", serif;
  --font-en-seconadry: "imperial-urw", sans-serif;
  --font-jp: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
  --color-light: #DDB305;
  --color-dark: #A54A05;
  --color-basis: #282725;
  --color-opacity: rgba(40, 39, 37, 0.2);
  --color-accent: rgba(165, 74, 5, 0.3);
}

/*//////////////////////////////////////////////////

Title : layout.scss
For   : LILY BROWN 23’ SUMMER COLLECTION LOOK BOOK “NEW URBAN VINTAGE”

Created       : 2023-3-30
Last Modified : 2023-3-30

==========================================

Content

//////////////////////////////////////////////////*/
/* ===================== animation */
#LB230406SS2PreOrder .swiper-pagination {
  position: relative;
  display: flex;
  font-size: 0;
}
#LB230406SS2PreOrder .swiper-pagination-bullet {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  border-radius: 0;
  background-color: rgba(40, 39, 37, 0.2);
  opacity: 1;
  position: relative;
  right: initial;
}
#LB230406SS2PreOrder .swiper-pagination-bullet .bulletInner {
  display: block;
  width: 0%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #282725;
  content: "";
  z-index: 100;
}
#LB230406SS2PreOrder .swiper-pagination-bullet-active .bulletInner {
  -webkit-animation: progress 3s linear forwards;
          animation: progress 3s linear forwards;
}

/* --- small viewport --- */
@media screen and (max-width: 767px) {
  #LB230406SS2PreOrder .swiper-pagination {
    gap: 4px;
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
  }
  #LB230406SS2PreOrder .swiper-pagination-bullet {
    width: 45px;
    height: 2px;
  }
  #LB230406SS2PreOrder .contents__section--01 .swiper-pagination {
    justify-content: center;
  }
  #LB230406SS2PreOrder .contents__section--01 .swiper-pagination, #LB230406SS2PreOrder .contents__section--07 .swiper-pagination, #LB230406SS2PreOrder .contents__section--11 .swiper-pagination, #LB230406SS2PreOrder .contents__section--12 .swiper-pagination {
    justify-content: center;
  }
  #LB230406SS2PreOrder .contents__section--10 .swiper-pagination {
    -webkit-padding-start: 20px;
            padding-inline-start: 20px;
  }
}
/* --- large viewport --- */
@media screen and (min-width: 768px) {
  #LB230406SS2PreOrder .swiper-pagination {
    gap: 5px;
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
    justify-content: flex-end;
  }
  #LB230406SS2PreOrder .swiper-pagination-bullet {
    width: 42px;
    height: 2px;
  }
}
/* ===================== common */
.article {
  margin-inline: auto;
  color: var(--color-basis);
}
.article * {
  box-sizing: border-box;
}
.article * a {
  display: var(--display, block);
}
.article picture {
  display: block;
}
.article img,
.article video,
.article svg {
  width: 100%;
  height: auto;
}

/* --- small viewport --- */
@media screen and (max-width: 767px) {
  .article {
    max-width: 600px;
    width: 100%;
    -webkit-padding-after: 120px;
            padding-block-end: 120px;
  }
}
/* --- large viewport --- */
@media screen and (min-width: 768px) {
  .article {
    max-width: 1200px;
    width: 95%;
    -webkit-padding-after: 240px;
            padding-block-end: 240px;
  }
}
/* ===================== hero */
.hero {
  text-align: center;
}
.hero__image {
  -webkit-animation: firstviewFade 0.8s linear forwards;
          animation: firstviewFade 0.8s linear forwards;
}
.hero__lead dt {
  color: var(--color-light);
  font-family: var(--font-en-primary);
  letter-spacing: 0.05em;
  line-height: 1;
}
.hero__lead dd {
  font-family: var(--font-jp);
}
.hero__lead dd .eng {
  font-family: var(--font-en-seconadry);
}

/* --- small viewport --- */
@media screen and (max-width: 767px) {
  .hero__lead {
    -webkit-margin-before: 67.5px;
            margin-block-start: 67.5px;
  }
  .hero__lead dt {
    font-size: 21px;
  }
  .hero__lead dd {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
    font-size: 13px;
    line-height: 2.0384615385;
    letter-spacing: 0.05em;
  }
  .hero__lead dd .eng {
    font-size: 14px;
  }
}
/* --- large viewport --- */
@media screen and (min-width: 768px) {
  .hero__image {
    padding-inline: 30px;
  }
  .hero__lead {
    -webkit-margin-before: 80px;
            margin-block-start: 80px;
  }
  .hero__lead dt {
    font-size: 30px;
  }
  .hero__lead dd {
    -webkit-margin-before: 45px;
            margin-block-start: 45px;
    font-size: 17px;
    line-height: 2.1764705882;
    letter-spacing: 0.08em;
  }
  .hero__lead dd .eng {
    font-size: 18px;
  }
}
/* ===================== campaign */
.campaign__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  border: 1px solid var(--color-accent);
  text-align: center;
}
.campaign__body dt {
  font-family: var(--font-en-seconadry);
}
.campaign__body dt span {
  display: inline-block;
}
.campaign__body dd {
  font-family: var(--font-jp);
}

/* --- small viewport --- */
@media screen and (max-width: 767px) {
  .campaign {
    -webkit-margin-before: 60px;
            margin-block-start: 60px;
  }
  .campaign + .contents {
    -webkit-margin-before: 80px;
            margin-block-start: 80px;
  }
  .campaign__body {
    width: 340px;
    height: 217.5px;
    letter-spacing: 0.05em;
  }
  .campaign__body dt {
    letter-spacing: 0.13rem;
  }
  .campaign__body dt .secondary {
    font-size: 13.5px;
  }
  .campaign__body dt .primary {
    padding-inline: 2.5px;
    font-size: 22px;
    background: linear-gradient(to bottom, #fff 20% 70%, var(--color-accent) 70% 100%);
  }
  .campaign__body dd {
    -webkit-margin-before: 22.5px;
            margin-block-start: 22.5px;
  }
  .campaign__body dd:not(.notes) {
    font-size: 12px;
    line-height: 1.7916666667;
  }
  .campaign__body dd .notes {
    -webkit-padding-before: 17.5px;
            padding-block-start: 17.5px;
    font-size: 10px;
    line-height: 1.4;
  }
}
/* --- large viewport --- */
@media screen and (min-width: 768px) {
  .campaign {
    -webkit-margin-before: 65px;
            margin-block-start: 65px;
  }
  .campaign * {
    letter-spacing: 0.08em;
  }
  .campaign__body {
    width: 620px;
    height: 260px;
  }
  .campaign__body dt .secondary {
    font-size: 17px;
  }
  .campaign__body dt .primary {
    -webkit-padding-before: 5px;
            padding-block-start: 5px;
    -webkit-padding-after: 3px;
            padding-block-end: 3px;
    padding-inline: 5px;
    font-size: 26px;
    background: linear-gradient(to bottom, #fff 20% 70%, var(--color-accent) 70% 100%);
  }
  .campaign__body dd {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
  }
  .campaign__body dd:not(.notes) {
    font-size: 15px;
    line-height: 1.8666666667;
  }
  .campaign__body dd .notes {
    -webkit-padding-before: 23px;
            padding-block-start: 23px;
    font-size: 11px;
  }
}
/* ===================== contents */
/* --- common --- */
.contents__section--04 .contents__col:nth-of-type(1)::before {
  background-color: #F7EAE4;
}
.contents__section--18 .contents__col:nth-of-type(2)::before {
  background-color: #FFF9E6;
}
.contents__col {
  position: relative;
}
.contents__col::before {
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100%;
  z-index: -1;
  content: "";
}
.contents__caption {
  font-family: var(--font-en-seconadry);
  letter-spacing: 0.04em;
}
.contents__caption a {
  --display: inline;
}
.contents__caption .ja {
  font-family: var(--font-jp);
}
.contents__visual {
  background-color: #fff;
}

/* --- small viewport --- */
@media screen and (max-width: 767px) {
  /* --- common --- */
  .contents {
    -webkit-margin-before: 75px;
            margin-block-start: 75px;
  }
  .contents > * + * {
    -webkit-margin-before: var(--section-space, 80px);
            margin-block-start: var(--section-space, 80px);
  }
  .contents__section {
    position: relative;
  }
  .contents__section--03 .contents__col:nth-of-type(1) {
    position: relative;
  }
  .contents__section--03 .contents__col:nth-of-type(1)::before {
    background-image: url(../image/decolation/decolation-01-sml.jpg);
  }
  .contents__section--05 .contents__col:nth-of-type(2)::before {
    background-image: url(../image/decolation/decolation-02-sml.jpg);
  }
  .contents__section--06 {
    --section-space: 60px;
  }
  .contents__section--07 .contents__col:nth-of-type(3)::before {
    background-image: url(../image/decolation/decolation-03-sml.jpg);
  }
  .contents__section--08 .contents__col:nth-of-type(2)::before {
    background-image: url(../image/decolation/decolation-04-sml.jpg);
  }
  .contents__section--10::before {
    content: "";
    position: absolute;
    background-color: #F9F5EA;
  }
  .contents__section--11 .contents__col:nth-of-type(2)::before {
    background-image: url(../image/decolation/decolation-05-sml.jpg);
  }
  .contents__section--14 .contents__col:nth-of-type(2)::before {
    background-image: url(../image/decolation/decolation-06-sml.jpg);
  }
  .contents__section--17 .contents__col:nth-of-type(1)::before {
    background-image: url(../image/decolation/decolation-07-sml.jpg);
  }
  .contents__caption {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
    font-size: 11.5px;
    line-height: 1.7391304348;
  }
  /* --- each layout --- */
  .contents__section--01 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
    padding-inline: 52.5px;
  }
  .contents__section--01 .contents__caption {
    text-align: center;
  }
  .contents__section--01 .contents__caption a {
    padding-inline: 0.5em;
  }
  .contents__section--02 .contents__col:nth-of-type(1), .contents__section--02 .contents__col:nth-of-type(2) {
    padding-inline: 27.5px;
  }
  .contents__section--02 .contents__caption {
    text-align: center;
  }
  .contents__section--02 .contents__caption a {
    padding-inline: 0.5em;
  }
  .contents__section--03 .contents__col:nth-of-type(1) {
    -webkit-margin-start: 32.5px;
            margin-inline-start: 32.5px;
    -webkit-padding-before: 50px;
            padding-block-start: 50px;
    -webkit-padding-start: 55px;
            padding-inline-start: 55px;
  }
  .contents__section--03 .contents__col:nth-of-type(1)::before {
    width: 121px;
    height: 370px;
    top: 0;
    left: 0;
  }
  .contents__section--03 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 50px;
            margin-block-start: 50px;
  }
  .contents__section--03 .contents__caption {
    text-align: center;
  }
  .contents__section--03 .contents__caption a {
    padding-inline: 0.5em;
  }
  .contents__section--04 {
    position: relative;
  }
  .contents__section--04 .contents__col:nth-of-type(1) {
    padding-inline: 42.5px;
  }
  .contents__section--04 .contents__col:nth-of-type(1)::before {
    width: 275px;
    height: 480px;
    top: 150px;
    left: 0;
  }
  .contents__section--04 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
    -webkit-padding-start: 145px;
            padding-inline-start: 145px;
  }
  .contents__section--04 .contents__caption {
    -webkit-padding-start: 15px;
            padding-inline-start: 15px;
    position: absolute;
    bottom: 17.5px;
    text-align: left;
  }
  .contents__section--04 .contents__caption a {
    -webkit-padding-before: 0.5em;
            padding-block-start: 0.5em;
  }
  .contents__section--05 .contents {
    --section-space:97.5px;
  }
  .contents__section--05 .contents__col + .contents__col {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
  }
  .contents__section--05 .contents__col:nth-of-type(1) {
    -webkit-padding-start: 20px;
            padding-inline-start: 20px;
    -webkit-padding-end: 155px;
            padding-inline-end: 155px;
  }
  .contents__section--05 .contents__col:nth-of-type(2) {
    padding-inline: 62.5px;
  }
  .contents__section--05 .contents__col:nth-of-type(2)::before {
    width: 220px;
    height: 375px;
    top: -235px;
    right: 0;
  }
  .contents__section--05 .contents__caption {
    position: absolute;
    left: 15px;
    bottom: 20px;
    text-align: left;
  }
  .contents__section--05 .contents__caption a {
    -webkit-padding-before: 0.5em;
            padding-block-start: 0.5em;
  }
  .contents__section--06 .contents {
    --section-space:60px;
  }
  .contents__section--06 .contents__col:nth-of-type(1) {
    padding-inline: 47.5px;
  }
  .contents__section--06 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 45px;
            margin-block-start: 45px;
  }
  .contents__section--06 .contents__caption {
    text-align: center;
  }
  .contents__section--06 .contents__caption a {
    padding-inline: 0.5em;
  }
  .contents__section--07 .contents__col + .contents__col {
    -webkit-margin-before: 50px;
            margin-block-start: 50px;
  }
  .contents__section--07 .contents__col:nth-of-type(1) {
    padding-inline: 27.5px;
  }
  .contents__section--07 .contents__col:nth-of-type(2) {
    -webkit-padding-start: 145px;
            padding-inline-start: 145px;
  }
  .contents__section--07 .contents__col:nth-of-type(3) {
    padding-inline: 22.5px;
  }
  .contents__section--07 .contents__col:nth-of-type(3)::before {
    width: 80px;
    height: 344px;
    bottom: 97.5px;
    left: 0;
  }
  .contents__section--07 .contents__col > .contents__caption {
    text-align: center;
  }
  .contents__section--07 .contents__col + .contents__caption {
    text-align: left;
    padding-inline: 22.5px;
  }
  .contents__section--07 .contents__caption a {
    padding-inline: 0.5em;
  }
  .contents__section--08 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 47.5px;
            margin-block-start: 47.5px;
    -webkit-margin-start: 15px;
            margin-inline-start: 15px;
    -webkit-margin-end: 15px;
            margin-inline-end: 15px;
    -webkit-padding-start: 65px;
            padding-inline-start: 65px;
    -webkit-padding-after: 50px;
            padding-block-end: 50px;
  }
  .contents__section--08 .contents__col:nth-of-type(2)::before {
    width: 140px;
    height: 345px;
    bottom: 0;
    left: 0;
  }
  .contents__section--08 .contents__caption {
    text-align: center;
  }
  .contents__section--08 .contents__caption a {
    padding-inline: 0.5em;
  }
  .contents__section--09 {
    --section-space:60px;
  }
  .contents__section--09 .contents__col:nth-of-type(1), .contents__section--09 .contents__col:nth-of-type(2) {
    padding-inline: 30px;
  }
  .contents__section--09 .contents__caption {
    text-align: center;
  }
  .contents__section--09 .contents__caption a {
    padding-inline: 0.5em;
  }
  .contents__section--10::before {
    width: 332px;
    height: 560px;
    top: 165px;
    left: 0;
  }
  .contents__section--10 .contents__col:nth-of-type(1) {
    -webkit-padding-start: 100px;
            padding-inline-start: 100px;
  }
  .contents__section--10 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
    -webkit-padding-start: 20px;
            padding-inline-start: 20px;
    -webkit-padding-end: 90px;
            padding-inline-end: 90px;
  }
  .contents__section--10 .contents__caption {
    text-align: left;
    -webkit-padding-start: 20px;
            padding-inline-start: 20px;
  }
  .contents__section--10 .contents__caption a {
    -webkit-padding-end: 0.5em;
            padding-inline-end: 0.5em;
  }
  .contents__section--11 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 47.5px;
            margin-block-start: 47.5px;
    -webkit-padding-end: 150px;
            padding-inline-end: 150px;
  }
  .contents__section--11 .contents__col:nth-of-type(2)::before {
    width: 91px;
    height: 285px;
    top: 210px;
    right: 0;
  }
  .contents__section--11 .contents__col:nth-of-type(3) {
    -webkit-margin-before: 60px;
            margin-block-start: 60px;
    padding-inline: 37.5px;
  }
  .contents__section--11 .contents__caption {
    text-align: center;
  }
  .contents__section--11 .contents__caption a {
    padding-inline: 0.5em;
  }
  .contents__section--12 .contents__col:nth-of-type(1) {
    padding-inline: 22.5px;
  }
  .contents__section--12 .contents__col:nth-of-type(1) .contents__caption {
    text-align: center;
    padding-inline: 0.5em;
  }
  .contents__section--12 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 80px;
            margin-block-start: 80px;
    -webkit-padding-start: 125px;
            padding-inline-start: 125px;
    -webkit-padding-end: 20px;
            padding-inline-end: 20px;
  }
  .contents__section--12 .contents__col:nth-of-type(2) .contents__caption {
    position: absolute;
    bottom: 10px;
    left: 20px;
  }
  .contents__section--13 {
    --section-space: 50px;
    position: relative;
  }
  .contents__section--13 .contents__col:nth-of-type(1) {
    -webkit-padding-start: 20px;
            padding-inline-start: 20px;
    -webkit-padding-end: 85px;
            padding-inline-end: 85px;
  }
  .contents__section--13 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
    -webkit-padding-start: 65px;
            padding-inline-start: 65px;
  }
  .contents__section--13 .contents__caption {
    position: absolute;
    bottom: 20px;
    left: 15px;
  }
  .contents__section--13 .contents__caption a {
    -webkit-padding-before: 0.5em;
            padding-block-start: 0.5em;
  }
  .contents__section--14 .contents__col:nth-of-type(1) {
    padding-inline: 17.5px;
  }
  .contents__section--14 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
    -webkit-padding-start: 36px;
            padding-inline-start: 36px;
    -webkit-padding-end: 69px;
            padding-inline-end: 69px;
  }
  .contents__section--14 .contents__col:nth-of-type(2)::before {
    width: 270px;
    height: 405px;
    bottom: -33px;
    left: 70px;
  }
  .contents__section--14 .contents__caption {
    text-align: center;
  }
  .contents__section--14 .contents__caption a {
    padding-inline: 0.5em;
  }
  .contents__section--15 .contents__col:nth-of-type(1) {
    padding-inline: 25px;
  }
  .contents__section--15 .contents__col:nth-of-type(2) {
    display: flex;
    justify-content: space-between;
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
    -moz-column-gap: 5px;
         column-gap: 5px;
  }
  .contents__section--15 .contents__caption {
    text-align: center;
  }
  .contents__section--15 .contents__caption a {
    padding-inline: 0.5em;
  }
  .contents__section--16 .contents__col:nth-of-type(1) {
    padding-inline: 17.5px;
  }
  .contents__section--16 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
    padding-inline: 72.5px;
  }
  .contents__section--16 .contents__caption {
    text-align: center;
  }
  .contents__section--16 .contents__caption a {
    padding-inline: 0.5em;
  }
  .contents__section--17 .contents__col:nth-of-type(1) {
    -webkit-padding-end: 55px;
            padding-inline-end: 55px;
  }
  .contents__section--17 .contents__col:nth-of-type(1)::before {
    width: 130px;
    height: 405px;
    bottom: 307.5px;
    right: 0;
  }
  .contents__section--17 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
    -webkit-padding-start: 65px;
            padding-inline-start: 65px;
  }
  .contents__section--17 .contents__caption {
    text-align: right;
    -webkit-padding-end: 10px;
            padding-inline-end: 10px;
  }
  .contents__section--17 .contents__caption a {
    -webkit-padding-start: 0.5em;
            padding-inline-start: 0.5em;
  }
  .contents__section--18 .contents__col:nth-of-type(2) {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
    padding-inline: 52.5px;
  }
  .contents__section--18 .contents__col:nth-of-type(2)::before {
    width: 100%;
    height: 325px;
    top: 197.5px;
    left: 0;
  }
  .contents__section--18 .contents__caption {
    text-align: center;
  }
  .contents__section--18 .contents__caption a {
    padding-inline: 0.5em;
  }
}
/* --- large viewport --- */
@media screen and (min-width: 768px) {
  /* --- common --- */
  .contents {
    -webkit-margin-before: 110px;
            margin-block-start: 110px;
  }
  .contents > * + * {
    -webkit-margin-before: var(--section-space, 130px);
            margin-block-start: var(--section-space, 130px);
  }
  .contents__section {
    display: grid;
  }
  .contents__section--03 .contents__col:nth-of-type(2)::before {
    background-image: url(../image/decolation/decolation-01.jpg);
  }
  .contents__section--05 .contents__col:nth-of-type(2)::before {
    background-image: url(../image/decolation/decolation-02.jpg);
  }
  .contents__section--07 .contents__col:nth-of-type(3)::before {
    background-image: url(../image/decolation/decolation-03.jpg);
  }
  .contents__section--08 .contents__col:nth-of-type(2)::before {
    background-image: url(../image/decolation/decolation-04.jpg);
  }
  .contents__section--10 .contents__col:nth-of-type(2)::before, .contents__section--10 .contents__col:nth-of-type(3)::before {
    background-color: #F9F5EA;
  }
  .contents__section--11 .contents__col:nth-of-type(2)::before {
    background-image: url(../image/decolation/decolation-05.jpg);
  }
  .contents__section--14 .contents__col:nth-of-type(2)::before {
    background-image: url(../image/decolation/decolation-06.jpg);
  }
  .contents__section--17 .contents__col:nth-of-type(2)::before {
    background-image: url(../image/decolation/decolation-07.jpg);
  }
  .contents__caption {
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
    font-size: 13px;
    line-height: 1.7692307692;
  }
  /* --- each layout --- */
}
@media screen and (min-width: 768px) and (max-width: 1025px) {
  .contents__caption {
    font-size: 11px;
  }
}
@media screen and (min-width: 768px) {
  .contents__section--01 {
    grid-template-columns: 60.8333333333% 35%;
    -moz-column-gap: 4.1666666667%;
         column-gap: 4.1666666667%;
    row-gap: 100px;
  }
  .contents__section--01 .contents__col:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
    -webkit-padding-end: 13.698630137%;
            padding-inline-end: 13.698630137%;
  }
  .contents__section--01 .contents__col:nth-of-type(2) {
    grid-column: 2;
    grid-row: span 2;
    align-self: center;
    -webkit-padding-before: 50px;
            padding-block-start: 50px;
  }
  .contents__section--01 .contents__col:nth-of-type(3) {
    grid-column: 1;
    grid-row: 2;
    -webkit-padding-start: 42.4657534247%;
            padding-inline-start: 42.4657534247%;
  }
  .contents__section--01 .contents__caption {
    text-align: right;
  }
  .contents__section--01 .contents__caption a {
    -webkit-padding-start: 0.8em;
            padding-inline-start: 0.8em;
  }
  .contents__section--02 {
    max-width: 1110px;
    margin-inline: auto;
    grid-template-columns: 48.6486486486% 48.6486486486%;
    -moz-column-gap: 2.7027027027%;
         column-gap: 2.7027027027%;
  }
  .contents__section--02 .contents__col:nth-of-type(1) {
    grid-column: 1;
    grid-row: span 2;
  }
  .contents__section--02 .contents__col:nth-of-type(2) {
    grid-column: 2;
    grid-row: 1;
    -webkit-padding-start: 16.6666666667%;
            padding-inline-start: 16.6666666667%;
  }
  .contents__section--02 .contents__caption {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
    text-align: left;
    transform: translateY(4px);
  }
  .contents__section--02 .contents__caption a {
    -webkit-padding-end: 0.8em;
            padding-inline-end: 0.8em;
  }
  .contents__section--03 {
    -webkit-padding-end: 3.3333333333%;
            padding-inline-end: 3.3333333333%;
    grid-template-columns: 55.1724137931% 42.2413793103%;
    -moz-column-gap: 2.5862068966%;
         column-gap: 2.5862068966%;
  }
  .contents__section--03 .contents__col:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
    -webkit-padding-start: 14.2857142857%;
            padding-inline-start: 14.2857142857%;
    width: 100%;
  }
  .contents__section--03 .contents__col:nth-of-type(2) {
    grid-column: 1;
    grid-row: span 2;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
    -webkit-padding-before: 14.0625%;
            padding-block-start: 14.0625%;
    -webkit-padding-start: 9.375%;
            padding-inline-start: 9.375%;
  }
  .contents__section--03 .contents__col:nth-of-type(2)::before {
    width: 34.375%;
    height: 70%;
    top: 0;
    left: 0;
  }
  .contents__section--03 .contents__caption {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
    text-align: left;
    transform: translateY(4px);
  }
  .contents__section--03 .contents__caption a {
    -webkit-padding-end: 0.8em;
            padding-inline-end: 0.8em;
  }
  .contents__section--04 {
    -webkit-padding-start: 18.3333333333%;
            padding-inline-start: 18.3333333333%;
    -webkit-padding-end: 2.5%;
            padding-inline-end: 2.5%;
    grid-template-columns: 15.7894736842% 84.2105263158%;
    row-gap: 80px;
    justify-content: end;
  }
  .contents__section--04 .contents__col:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
    -webkit-padding-end: 42.5%;
            padding-inline-end: 42.5%;
  }
  .contents__section--04 .contents__col:nth-of-type(1)::before {
    width: 68.75%;
    height: 94.2028985507%;
    top: 36.231884058%;
    left: 15%;
  }
  .contents__section--04 .contents__col:nth-of-type(2) {
    grid-column: 2;
    grid-row: 2;
    -webkit-padding-start: 47.5%;
            padding-inline-start: 47.5%;
    width: 100%;
  }
  .contents__section--04 .contents__caption {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    text-align: left;
    transform: translateY(4px);
  }
  .contents__section--05 {
    --section-space: -37rem;
    -webkit-padding-start: 2.5%;
            padding-inline-start: 2.5%;
    -webkit-padding-end: 25%;
            padding-inline-end: 25%;
    row-gap: 100px;
  }
  .contents__section--05 .contents__col:nth-of-type(1) {
    -webkit-padding-start: 2.2988505747%;
            padding-inline-start: 2.2988505747%;
    -webkit-padding-end: 60.9195402299%;
            padding-inline-end: 60.9195402299%;
  }
  .contents__section--05 .contents__col:nth-of-type(2) {
    -webkit-padding-before: 8.0459770115%;
            padding-block-start: 8.0459770115%;
    -webkit-padding-start: 42.5287356322%;
            padding-inline-start: 42.5287356322%;
    -webkit-padding-end: 10.3448275862%;
            padding-inline-end: 10.3448275862%;
  }
  .contents__section--05 .contents__col:nth-of-type(2)::before {
    width: 39.3103448276%;
    height: 84.9635036496%;
    top: 0;
    right: 0;
  }
  .contents__section--05 .contents__col:nth-of-type(3) {
    -webkit-padding-end: 40.2298850575%;
            padding-inline-end: 40.2298850575%;
    position: relative;
    z-index: 10;
  }
  .contents__section--05 .contents__caption {
    text-align: left;
  }
  .contents__section--05 .contents__caption a {
    -webkit-padding-end: 0.8em;
            padding-inline-end: 0.8em;
  }
  .contents__section--06 {
    --section-space: -53.5rem;
    row-gap: 90px;
  }
  .contents__section--06 .contents__col:nth-of-type(1) {
    -webkit-padding-start: 61.6666666667%;
            padding-inline-start: 61.6666666667%;
    -webkit-padding-end: 0.8333333333%;
            padding-inline-end: 0.8333333333%;
  }
  .contents__section--06 .contents__col:nth-of-type(2) {
    -webkit-padding-start: 11.25%;
            padding-inline-start: 11.25%;
    -webkit-padding-end: 11.25%;
            padding-inline-end: 11.25%;
  }
  .contents__section--06 .contents__caption {
    text-align: left;
  }
  .contents__section--06 .contents__caption a {
    -webkit-padding-end: 0.8em;
            padding-inline-end: 0.8em;
  }
  .contents__section--07 {
    grid-template-columns: 37.5% 62.5%;
    row-gap: 120px;
    -webkit-padding-start: 4.1666666667%;
            padding-inline-start: 4.1666666667%;
    -webkit-padding-end: 2.5%;
            padding-inline-end: 2.5%;
  }
  .contents__section--07 .contents__col:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
    -webkit-padding-start: 31.4285714286%;
            padding-inline-start: 31.4285714286%;
  }
  .contents__section--07 .contents__col:nth-of-type(1) .contents__caption a {
    -webkit-padding-start: 0.8em;
            padding-inline-start: 0.8em;
  }
  .contents__section--07 .contents__col:nth-of-type(2) {
    grid-column: 1;
    grid-row: 1;
    -webkit-margin-before: 285px;
            margin-block-start: 285px;
    -webkit-padding-end: 4.7619047619%;
            padding-inline-end: 4.7619047619%;
  }
  .contents__section--07 .contents__col:nth-of-type(3) {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
    -webkit-padding-end: 25.7142857143%;
            padding-inline-end: 25.7142857143%;
  }
  .contents__section--07 .contents__col:nth-of-type(3)::before {
    width: 28.5714285714%;
    height: 139.1304347826%;
    top: -81.1594202899%;
    left: -15.7142857143%;
  }
  .contents__section--07 .contents__col + .contents__caption {
    align-self: end;
    -webkit-padding-end: 7.1428571429%;
            padding-inline-end: 7.1428571429%;
    transform: translateY(4px);
  }
  .contents__section--07 .contents__caption {
    text-align: right;
  }
  .contents__section--08 {
    grid-template-columns: 46.6666666667% 42.5%;
    -moz-column-gap: 10.8333333333%;
         column-gap: 10.8333333333%;
  }
  .contents__section--08 .contents__col:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .contents__section--08 .contents__col:nth-of-type(2) {
    grid-column: 2;
    grid-row: 1;
    -webkit-margin-before: 37.2549019608%;
            margin-block-start: 37.2549019608%;
    -webkit-padding-before: 33.3333333333%;
            padding-block-start: 33.3333333333%;
    -webkit-padding-end: 17.6470588235%;
            padding-inline-end: 17.6470588235%;
  }
  .contents__section--08 .contents__col:nth-of-type(2)::before {
    width: 43.137254902%;
    height: 67.75%;
    top: 0;
    right: 0;
  }
  .contents__section--08 .contents__caption {
    text-align: left;
  }
  .contents__section--08 .contents__caption a {
    -webkit-padding-end: 0.8em;
            padding-inline-end: 0.8em;
  }
  .contents__section--09 {
    grid-template-columns: 48.9130434783% 48.9130434783%;
    -moz-column-gap: 2.1739130435%;
         column-gap: 2.1739130435%;
    -webkit-padding-start: 11.6666666667%;
            padding-inline-start: 11.6666666667%;
    -webkit-padding-end: 11.6666666667%;
            padding-inline-end: 11.6666666667%;
  }
  .contents__section--09 .contents__col:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .contents__section--09 .contents__col:nth-of-type(2) {
    grid-column: 2;
    grid-row: 1;
  }
  .contents__section--09 .contents__caption {
    grid-column: 1/span 2;
    grid-row: 2;
    align-self: end;
    text-align: center;
  }
  .contents__section--09 .contents__caption a {
    padding-inline: 0.4em;
  }
  .contents__section--10 {
    grid-template-columns: 59.1666666667% 35%;
    -moz-column-gap: 5.8333333333%;
         column-gap: 5.8333333333%;
  }
  .contents__section--10 .contents__col:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
  }
  .contents__section--10 .contents__col:nth-of-type(2) {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    -webkit-margin-before: 320px;
            margin-block-start: 320px;
    width: 50.7042253521%;
    -webkit-padding-before: 2.3391812865%;
            padding-block-start: 2.3391812865%;
    -webkit-padding-end: 2.8169014085%;
            padding-inline-end: 2.8169014085%;
  }
  .contents__section--10 .contents__col:nth-of-type(2):before {
    width: 94.4444444444%;
    height: 96.2264150943%;
    top: 0;
    right: 0;
  }
  .contents__section--10 .contents__col:nth-of-type(3) {
    grid-column: 1;
    grid-row: 1;
    width: 46.4788732394%;
    -webkit-margin-before: 110px;
            margin-block-start: 110px;
    -webkit-padding-start: 2.8169014085%;
            padding-inline-start: 2.8169014085%;
  }
  .contents__section--10 .contents__col:nth-of-type(3):before {
    width: 93.9393939394%;
    height: 62%;
    top: 2.6666666667%;
    left: 0;
  }
  .contents__section--10 .contents__caption {
    text-align: right;
  }
  .contents__section--10 .contents__caption a {
    -webkit-padding-start: 0.8em;
            padding-inline-start: 0.8em;
  }
  .contents__section--11 {
    grid-template-columns: 36.4406779661% 38.1355932203%;
    -webkit-padding-end: 1.6666666667%;
            padding-inline-end: 1.6666666667%;
    -moz-column-gap: 25.4237288136%;
         column-gap: 25.4237288136%;
    row-gap: 95px;
  }
  .contents__section--11 .contents__col:nth-of-type(1) {
    grid-column: 1/3;
    grid-row: 1;
    -webkit-padding-start: 19.9152542373%;
            padding-inline-start: 19.9152542373%;
    -webkit-padding-end: 18.2203389831%;
            padding-inline-end: 18.2203389831%;
  }
  .contents__section--11 .contents__col:nth-of-type(1) .contents__caption {
    text-align: center;
  }
  .contents__section--11 .contents__col:nth-of-type(1) .contents__caption a {
    padding-inline: 0.4em;
  }
  .contents__section--11 .contents__col:nth-of-type(2) {
    grid-column: 2;
    grid-row: 2;
    -webkit-padding-start: 13.3333333333%;
            padding-inline-start: 13.3333333333%;
  }
  .contents__section--11 .contents__col:nth-of-type(2):before {
    width: 26.6666666667%;
    height: 43.6046511628%;
    top: 31.3953488372%;
    left: 0;
  }
  .contents__section--11 .contents__col:nth-of-type(3) {
    grid-column: 1;
    grid-row: 2;
    -webkit-margin-before: 170px;
            margin-block-start: 170px;
  }
  .contents__section--11 .contents__col:nth-of-type(3) .contents__caption {
    text-align: left;
  }
  .contents__section--11 .contents__col:nth-of-type(3) .contents__caption a {
    -webkit-padding-end: 0.8em;
            padding-inline-end: 0.8em;
  }
  .contents__section--11 .contents__col:nth-of-type(4) {
    grid-column: 1/3;
    grid-row: 3;
    -webkit-padding-start: 28.813559322%;
            padding-inline-start: 28.813559322%;
    -webkit-padding-end: 27.1186440678%;
            padding-inline-end: 27.1186440678%;
  }
  .contents__section--12 {
    --section-space: 100px;
    grid-template-columns: 28.9473684211% 43.8596491228%;
    -webkit-padding-start: 5%;
            padding-inline-start: 5%;
    -moz-column-gap: 27.1929824561%;
         column-gap: 27.1929824561%;
  }
  .contents__section--12 .contents__col:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
  }
  .contents__section--12 .contents__col:nth-of-type(1) .contents__caption {
    text-align: right;
  }
  .contents__section--12 .contents__col:nth-of-type(1) .contents__caption a {
    -webkit-padding-start: 0.8em;
            padding-inline-start: 0.8em;
  }
  .contents__section--12 .contents__col:nth-of-type(2) {
    grid-column: 1;
    grid-row: 1;
    -webkit-margin-before: 380px;
            margin-block-start: 380px;
  }
  .contents__section--12 .contents__col:nth-of-type(2) .contents__caption {
    text-align: right;
  }
  .contents__section--13 {
    grid-template-columns: 48.9130434783% 48.9130434783%;
    -moz-column-gap: 2.1739130435%;
         column-gap: 2.1739130435%;
    -webkit-padding-start: 11.6666666667%;
            padding-inline-start: 11.6666666667%;
    -webkit-padding-end: 11.6666666667%;
            padding-inline-end: 11.6666666667%;
  }
  .contents__section--13 .contents__col:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .contents__section--13 .contents__col:nth-of-type(2) {
    grid-column: 2;
    grid-row: 1;
  }
  .contents__section--13 .contents__caption {
    grid-column: 1/3;
    grid-row: 2;
    justify-self: center;
  }
  .contents__section--13 .contents__caption a {
    padding-inline: 0.4em;
  }
  .contents__section--14 {
    grid-template-columns: 37.962962963% 54.6296296296%;
    -webkit-padding-end: 10%;
            padding-inline-end: 10%;
    -moz-column-gap: 7.4074074074%;
         column-gap: 7.4074074074%;
  }
  .contents__section--14 .contents__col:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
  }
  .contents__section--14 .contents__col:nth-of-type(2) {
    grid-column: 1;
    grid-row: 1;
    -webkit-margin-before: 355px;
            margin-block-start: 355px;
    -webkit-padding-before: 26%;
            padding-block-start: 26%;
    -webkit-padding-start: 14.6341463415%;
            padding-inline-start: 14.6341463415%;
  }
  .contents__section--14 .contents__col:nth-of-type(2)::before {
    width: 28.7804878049%;
    height: 65.5737704918%;
    top: 0;
    left: 0;
  }
  .contents__section--14 .contents__caption {
    text-align: right;
  }
  .contents__section--14 .contents__caption a {
    -webkit-padding-start: 0.4em;
            padding-inline-start: 0.4em;
  }
  .contents__section--15 {
    grid-template-columns: 51.6949152542% 40.6779661017%;
    -webkit-padding-start: 1.6666666667%;
            padding-inline-start: 1.6666666667%;
    -moz-column-gap: 7.6271186441%;
         column-gap: 7.6271186441%;
  }
  .contents__section--15 .contents__col:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
  }
  .contents__section--15 .contents__col:nth-of-type(2) {
    grid-column: 1;
    grid-row: 1;
    width: 47.5409836066%;
    -webkit-margin-before: 290px;
            margin-block-start: 290px;
  }
  .contents__section--15 .contents__col:nth-of-type(3) {
    grid-column: 1;
    grid-row: 1/3;
    justify-self: end;
    width: 47.5409836066%;
    -webkit-margin-before: 480px;
            margin-block-start: 480px;
  }
  .contents__section--15 .contents__caption {
    text-align: right;
  }
  .contents__section--15 .contents__caption a {
    -webkit-padding-start: 0.8em;
            padding-inline-start: 0.8em;
  }
  .contents__section--16 {
    grid-template-columns: 36.8932038835% 58.2524271845%;
    -webkit-padding-start: 0.8333333333%;
            padding-inline-start: 0.8333333333%;
    -webkit-padding-end: 13.3333333333%;
            padding-inline-end: 13.3333333333%;
    -moz-column-gap: 4.854368932%;
         column-gap: 4.854368932%;
  }
  .contents__section--16 .contents__col:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
  }
  .contents__section--16 .contents__col:nth-of-type(2) {
    grid-column: 1;
    grid-row: 1;
    -webkit-margin-before: 450px;
            margin-block-start: 450px;
  }
  .contents__section--16 .contents__caption {
    text-align: right;
  }
  .contents__section--16 .contents__caption a {
    -webkit-padding-start: 0.8em;
            padding-inline-start: 0.8em;
  }
  .contents__section--17 {
    --section-space: 85px;
    grid-template-columns: 36.6666666667% 42.5%;
    -moz-column-gap: 20.8333333333%;
         column-gap: 20.8333333333%;
  }
  .contents__section--17 .contents__col:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
  }
  .contents__section--17 .contents__col:nth-of-type(2) {
    grid-column: 1;
    grid-row: 1/4;
    -webkit-margin-before: 270px;
            margin-block-start: 270px;
    -webkit-padding-before: 23%;
            padding-block-start: 23%;
    -webkit-padding-start: 20.4545454545%;
            padding-inline-start: 20.4545454545%;
  }
  .contents__section--17 .contents__col:nth-of-type(2)::before {
    width: 36.3636363636%;
    height: 83.3333333333%;
    top: 0;
    left: 0;
  }
  .contents__section--17 .contents__caption {
    grid-column: 2;
    grid-row: 2;
    text-align: right;
  }
  .contents__section--17 .contents__caption a {
    -webkit-padding-start: 0.8em;
            padding-inline-start: 0.8em;
  }
  .contents__section--18 {
    --section-space: 90px;
    grid-template-columns: 44.2307692308% 50.9615384615%;
    -moz-column-gap: 4.8076923077%;
         column-gap: 4.8076923077%;
    -webkit-padding-start: 5.8333333333%;
            padding-inline-start: 5.8333333333%;
    -webkit-padding-end: 7.5%;
            padding-inline-end: 7.5%;
  }
  .contents__section--18 .contents__col:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
  }
  .contents__section--18 .contents__col:nth-of-type(2) {
    grid-column: 1;
    grid-row: 1;
    -webkit-margin-before: 125px;
            margin-block-start: 125px;
    -webkit-padding-before: 8.9552238806%;
            padding-block-start: 8.9552238806%;
    -webkit-padding-start: 8.6956521739%;
            padding-inline-start: 8.6956521739%;
  }
  .contents__section--18 .contents__col:nth-of-type(2)::before {
    width: 91.3043478261%;
    height: 94.0298507463%;
    top: 0;
    left: 0;
  }
  .contents__section--18 .contents__caption {
    grid-column: 1/3;
    grid-row: 2;
    text-align: center;
  }
  .contents__section--18 .contents__caption a {
    padding-inline: 0.4em;
  }
}
/* ===================== foot */
.article .foot * {
  font-family: var(--font-en-primary);
  letter-spacing: 0.05em;
  text-align: center;
}
.article .foot__lead dt {
  color: #AA777C;
}
.article .foot__image {
  margin-inline: auto;
}
.article .foot__button {
  margin-inline: auto;
}
.article .foot__button a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #000;
}
.article .foot__navigation a {
  --display: inline-block;
}

/* --- small viewport --- */
@media screen and (max-width: 767px) {
  .foot {
    -webkit-margin-before: 157.5px;
            margin-block-start: 157.5px;
  }
  .foot__lead {
    font-size: 24px;
  }
  .foot__image {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
    width: 200px;
  }
  .foot__button {
    -webkit-margin-before: 100px;
            margin-block-start: 100px;
    width: 335px;
    height: 71px;
    font-size: 13.5px;
  }
  .foot__navigation {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
    font-size: 11px;
  }
  .foot__navigation a {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
    padding-inline: 20px;
  }
  .foot__navigation a:not(.borderHidden--sml) {
    position: relative;
  }
  .foot__navigation a:not(.borderHidden--sml)::after {
    position: absolute;
    width: 1px;
    height: 12px;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: #000;
    content: "";
  }
}
/* --- large viewport --- */
@media screen and (min-width: 768px) {
  .foot {
    -webkit-margin-before: 160px;
            margin-block-start: 160px;
  }
  .foot__lead {
    font-size: 30px;
  }
  .foot__image {
    -webkit-margin-before: 55px;
            margin-block-start: 55px;
    width: 300px;
  }
  .foot__button {
    -webkit-margin-before: 160px;
            margin-block-start: 160px;
    width: 400px;
    height: 72px;
    font-size: 15px;
  }
  .foot__navigation {
    -webkit-margin-before: 54px;
            margin-block-start: 54px;
    font-size: 13px;
  }
  .foot__navigation a {
    padding-inline: 31px;
  }
  .foot__navigation a:not(.borderHidden) {
    position: relative;
  }
  .foot__navigation a:not(.borderHidden)::after {
    position: absolute;
    width: 1px;
    height: 14px;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: #000;
    content: "";
  }
}
/* ===================== animation */
.js-fadeIn {
  opacity: 0;
  visibility: hidden;
  transition-duration: 0.8s;
}
.js-fadeIn.is-active {
  opacity: 1;
  visibility: visible;
}

@-webkit-keyframes progress {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}

@keyframes progress {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@-webkit-keyframes firstviewFade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes firstviewFade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}