@charset "UTF-8";
/**
 * GoldwinGroteskPre（src/fonts/woff, woff2）
 * ファイル名サフィックス → font-weight / font-style
 * Book は Regular より軽めのマスタ想定で 350（必要ならデザイン指針に合わせて変更）
 * Super は Black より重いディスプレイ想定で 950（同一視する場合は 900 に揃える）
 */
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-Thin.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-ThinItalic.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-ThinItalic.woff") format("woff");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-Light.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-LightItalic.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-LightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-Regular.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-Italic.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-Book.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-Book.woff") format("woff");
  font-weight: 450;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-BookItalic.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-BookItalic.woff") format("woff");
  font-weight: 450;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-Medium.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-MediumItalic.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-MediumItalic.woff") format("woff");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-Semibold.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-Semibold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-SemiboldItalic.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-SemiboldItalic.woff") format("woff");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-Bold.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-BoldItalic.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-BoldItalic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-Heavy.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-Heavy.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-HeavyItalic.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-HeavyItalic.woff") format("woff");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-Black.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-BlackItalic.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-BlackItalic.woff") format("woff");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-Super.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-Super.woff") format("woff");
  font-weight: 950;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Goldwin Grotesk Pre";
  src: url("../fonts/woff2/GoldwinGroteskPre-SuperItalic.woff2") format("woff2"), url("../fonts/woff/GoldwinGroteskPre-SuperItalic.woff") format("woff");
  font-weight: 950;
  font-style: italic;
  font-display: swap;
}
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

/**
 * !!! 変数の定義 !!!
 * 変数は作りすぎず、デザインコンポーネント、もしくはシンボルを元に作成する
 * またGoogle Font等の特殊なウェブフォントの場合、そのフォント名を定義してわかりやすくする
 */
/**
 * !!! ブレークポイント !!!
 */
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none;
}

/**
 * !!! ページCSS基本設定 !!!
 * 基本的にこの箇所は操作しないようにする
 * ----------------ここから----------------
 */
html {
  font-size: 62.5%;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  color: #0E0D0D;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
}

body {
  font-size: 14px;
  font-size: 1.4rem;
  padding-top: 125px;
}
@media only screen and (max-width: 767px) {
  body {
    padding-top: 106px;
  }
}

* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: inherit;
  text-decoration: none;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

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

/**
 * ----------------ここまで----------------
 */
/**
 * !!! FlexBox Rule !!!
 * 都度scssを記載するのではなく、クラスで定義し、クラスの付け外しで管理すること。
 */
.flex-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/**
 * !!! Inner Rule !!!
 * 最初にデザインを確認し、存在するinnerパターンを作成すること
 * max-width指定のみだと、画面幅を縮小するときに余白が消えるため、paddingをつけること
 * 例) innerが1000pxであれば、
 *     max-width: 1060px;
 *     padding: 0 30px;
 */
.inner {
  max-width: 1060px;
  padding: 0 30px;
  margin: 0 auto;
}

[data-trigger] {
  position: relative;
  top: 40px;
  transition: top 1s, opacity 1s;
  opacity: 0;
  filter: blur(10px);
  -webkit-filter: blur(10px);
  -moz-filter: blur(10px);
  -o-filter: blur(10px);
  -ms-filter: blur(10px);
}
[data-trigger].visible {
  top: 0;
  opacity: 1;
  filter: blur(0);
  -webkit-filter: blur(0);
  -moz-filter: blur(0);
  -o-filter: blur(0);
  -ms-filter: blur(0);
}

.footer {
  padding: 15px 0 25px;
  border-top: 1px solid #C3C3C3;
}
@media only screen and (max-width: 767px) {
  .footer {
    padding: 35px 0 45px;
  }
}
.footer__inner {
  padding: 0 40px;
}
@media only screen and (max-width: 767px) {
  .footer__inner {
    padding: 0 24px;
  }
}
.footer__top {
  display: flex;
  flex-wrap: wrap;
  gap: 0 7.7%;
}
@media only screen and (max-width: 767px) {
  .footer__top {
    flex-direction: column;
    gap: 35px 0;
  }
}
.footer__bottom {
  display: flex;
  align-items: flex-end;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-top: 75px;
}
@media only screen and (max-width: 767px) {
  .footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 15px 0;
    margin-top: 35px;
  }
}
.footer__intro {
  width: 39.7%;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .footer__intro {
    width: 100%;
    font-size: 13px;
  }
}
.footer__nav {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0 14.7%;
}
@media only screen and (max-width: 767px) {
  .footer__nav {
    flex-direction: column;
    gap: 35px 0;
  }
}
.footer__nav ul li:not(:first-child) {
  margin-top: 15px;
}
.footer__nav ul li a {
  display: flex;
  align-items: center;
  gap: 0 8px;
  font-family: "Goldwin Grotesk Pre", "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .footer__nav ul li a {
    font-size: 13px;
  }
}
.footer__copyright {
  font-family: "Goldwin Grotesk Pre", "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .footer__copyright {
    font-size: 13px;
  }
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: #fff;
  border-bottom: 1px solid #C3C3C3;
}
.header__inner {
  padding: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .header__inner {
    padding: 24px;
    align-items: flex-start;
  }
}
@media screen and (max-width: 375px) {
  .header__inner {
    padding: 20px 16px;
  }
}
.header__brand {
  display: flex;
  align-items: center;
  gap: 32px;
}
@media screen and (max-width: 1160px) {
  .header__brand {
    gap: 20px;
    align-items: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .header__brand {
    flex-direction: column;
    gap: 4px;
  }
}
.header__brand a img {
  width: 328px;
}
@media screen and (max-width: 1160px) {
  .header__brand a img {
    width: 200px;
  }
}
@media only screen and (max-width: 767px) {
  .header__brand a img {
    width: 189px;
  }
}
.header__brand h1 {
  font-family: "Goldwin Grotesk Pre", "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1160px) {
  .header__brand h1 {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .header__brand h1 {
    margin-top: 5px;
    font-size: 9px;
  }
}
.header__toggle a span {
  font-family: "Goldwin Grotesk Pre", "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1160px) {
  .header__toggle a span {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .header__toggle a span {
    font-size: 16px;
  }
}
@media screen and (max-width: 375px) {
  .header__toggle a span {
    font-size: 14px;
  }
}
.header__mega {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.header__mega.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.header__mega.is-open .header__mega__over {
  opacity: 1;
}
.header__mega.is-open .header__mega__inner {
  transform: translateX(0);
}
.header__mega__over {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.header__mega__inner {
  position: absolute;
  top: 0;
  right: 0;
  width: 390px;
  height: 100%;
  background-color: #fff;
  padding-top: 170px;
  padding-right: 40px;
  transform: translateX(100%);
  transition: transform 0.5s ease;
}
@media only screen and (max-width: 767px) {
  .header__mega__inner {
    width: 100%;
    padding-right: 24px;
    padding-top: 131px;
  }
}
.header__mega__inner ul {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.header__mega__inner ul li a {
  font-size: 26px;
  line-height: 2;
  letter-spacing: 0.04em;
  font-family: "Goldwin Grotesk Pre", "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.header__mega__inner ol {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.header__mega__inner ol li a {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Goldwin Grotesk Pre", "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

body.is-mega-open {
  overflow: hidden;
}

.c-cs-inner {
  max-width: 1520px;
  padding: 0 40px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .c-cs-inner {
    padding: 0 24px;
  }
}

.c-cs-sub-title {
  font-size: 26px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .c-cs-sub-title {
    font-size: 16px;
  }
}

.c-cs-title {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .c-cs-title {
    margin-top: 15px;
  }
}
.c-cs-title__en {
  font-family: "Goldwin Grotesk Pre", "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 450;
  font-size: 32px;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .c-cs-title__en {
    font-size: 24px;
  }
}
.c-cs-title__ja {
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .c-cs-title__ja {
    font-size: 11px;
    line-height: 1.4;
  }
}

.cs-about-page__intro {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__intro {
    margin-top: 32px;
  }
}
.cs-about-page__intro__image picture {
  width: 100%;
}
.cs-about-page__intro__image picture img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__intro__image picture img {
    width: 100%;
  }
}
.cs-about-page__intro__desc {
  max-width: 935px;
  margin-top: 15px;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__intro__desc {
    font-size: 13px;
  }
}
.cs-about-page__intro__text {
  margin-top: 25px;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__intro__text {
    margin-top: 15px;
  }
}
.cs-about-page__designs {
  margin-top: 30px;
  border-top: 1px solid #C3C3C3;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__designs {
    margin-top: 45px;
  }
}
.cs-about-page__designs__list {
  margin-top: 45px;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__designs__list {
    margin-top: 35px;
  }
}
.cs-about-page__designs__list__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__designs__list__item {
    flex-direction: column;
  }
}
.cs-about-page__designs__list__item:not(:first-child) {
  margin-top: 65px;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__designs__list__item:not(:first-child) {
    margin-top: 30px;
  }
}
.cs-about-page__designs__list__item:nth-child(even) {
  flex-direction: row-reverse;
}
.cs-about-page__designs__list__text {
  width: 39.7%;
}
@media screen and (max-width: 1160px) {
  .cs-about-page__designs__list__text {
    width: 45%;
  }
}
@media only screen and (max-width: 767px) {
  .cs-about-page__designs__list__text {
    width: 100%;
  }
}
.cs-about-page__designs__list__image {
  width: 50%;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__designs__list__image {
    width: 100%;
  }
}
.cs-about-page__designs__list__title {
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__designs__list__title {
    font-size: 16px;
    line-height: 1.6;
  }
}
.cs-about-page__designs__list__desc {
  margin-top: 25px;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__designs__list__desc {
    margin-top: 14px;
  }
}
.cs-about-page__designs__list__desc p {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__designs__list__desc p {
    font-size: 13px;
  }
}
.cs-about-page__designs__list__desc p + p {
  margin-top: 26px;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__designs__list__desc p + p {
    margin-top: 22px;
  }
}
@media only screen and (max-width: 767px) {
  .cs-about-page__designs__list__image {
    margin-top: 25px;
  }
}
.cs-about-page__howto {
  margin-top: 30px;
  padding-bottom: 80px;
  border-top: 1px solid #C3C3C3;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__howto {
    margin-top: 48px;
    padding-bottom: 60px;
  }
}
.cs-about-page__howto__desc {
  max-width: 1085px;
  margin-top: 50px;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__howto__desc {
    margin-top: 32px;
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0.06em;
  }
}
.cs-about-page__howto__step {
  display: flex;
  flex-wrap: wrap;
  margin-top: 44px;
  padding: 30px 12px;
  border: 1px solid #0E0D0D;
  counter-reset: step;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__howto__step {
    margin-top: 30px;
    border: none;
    padding: 0 0px;
  }
}
.cs-about-page__howto__step__item {
  position: relative;
  counter-increment: step;
}
.cs-about-page__howto__step__item::before {
  content: "#" counter(step);
  font-family: "Goldwin Grotesk Pre", "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 450;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 768px) {
  .cs-about-page__howto__step__item {
    width: 33.3%;
    padding: 0 4.45% 42px;
    border-left: 1px solid rgba(0, 0, 0, 0.5);
  }
  .cs-about-page__howto__step__item::after {
    content: "";
    z-index: 2;
    position: absolute;
    bottom: -24px;
    left: -24px;
    display: block;
    width: 48px;
    height: 48px;
    background-color: #fff;
  }
  .cs-about-page__howto__step__item {
    /* PC:3カラム表示時の微調整 */
    /* PC:2カラム表示時の微調整 */
  }
}
@media only screen and (min-width: 768px) and (min-width: 1161px) {
  .cs-about-page__howto__step__item:nth-child(n+4) { /* 4つ目以降 */
    padding-top: 25px;
    border-top: 1px solid rgba(0, 0, 0, 0.5);
  }
  .cs-about-page__howto__step__item:nth-child(3n+1) { /* 1,4,7...番目 */
    border-left: none;
    padding-left: 1.77%;
  }
  .cs-about-page__howto__step__item:nth-child(3n+1)::after {
    display: none;
  }
  .cs-about-page__howto__step__item:nth-last-child(-n+3) { /* 最後3つ　 */
    padding-bottom: 15px;
  }
  .cs-about-page__howto__step__item:nth-last-child(-n+3)::after {
    display: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1160px) {
  .cs-about-page__howto__step__item {
    width: 50%;
  }
  .cs-about-page__howto__step__item:nth-child(n+3) { /* 3つ目以降 */
    padding-top: 25px;
    border-top: 1px solid rgba(0, 0, 0, 0.5);
  }
  .cs-about-page__howto__step__item:nth-child(2n+1) { /* 1,3,5...番目 */
    border-left: none;
    padding-left: 25px;
  }
  .cs-about-page__howto__step__item:nth-child(2n+1)::after {
    display: none;
  }
  .cs-about-page__howto__step__item:nth-last-child(-n+2) { /* 最後2つ　 */
    padding-bottom: 15px;
  }
  .cs-about-page__howto__step__item:nth-last-child(-n+2)::after {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .cs-about-page__howto__step__item {
    width: 100%;
    padding: 0;
    border-left: none;
  }
  .cs-about-page__howto__step__item:not(:first-child) {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid rgba(0, 0, 0, 0.5);
  }
}
.cs-about-page__howto__step__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__howto__step__title {
    margin-top: 18px;
  }
}
.cs-about-page__howto__step__title__icon {
  display: inline-block;
  width: 46px;
  height: 32px;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__howto__step__title__icon {
    width: 32px;
    position: relative;
  }
}
.cs-about-page__howto__step__title__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__howto__step__title__icon img {
    -o-object-position: left;
       object-position: left;
    position: absolute;
    left: 50%;
    top: 50%;
    height: auto;
    transform: translate(-50%, -50%);
  }
}
.cs-about-page__howto__step__title__text {
  flex: 1;
  margin-left: 20px;
  font-size: 24px;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__howto__step__title__text {
    font-size: 18px;
    margin-left: 15px;
  }
}
.cs-about-page__howto__step__desc {
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .cs-about-page__howto__step__desc {
    margin-top: 15px;
    font-size: 13px;
  }
}

.cs-faq-page__contents {
  max-width: 970px;
}
.cs-faq-page__lead {
  margin-top: 45px;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media only screen and (max-width: 767px) {
  .cs-faq-page__lead {
    margin-top: 28px;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.04em;
  }
}
.cs-faq-page__faqlist {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .cs-faq-page__faqlist {
    margin-top: 28px;
    margin-left: -24px;
    margin-right: -24px;
  }
}
.cs-faq-page__faqlist__item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}
.cs-faq-page__faqlist__item:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.5);
}
.cs-faq-page__faqlist__q {
  position: relative;
  padding: 24px 0;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media only screen and (max-width: 767px) {
  .cs-faq-page__faqlist__q {
    padding: 14px 24px;
    font-size: 13px;
    letter-spacing: 0.04em;
    padding-right: 100px;
  }
}
.cs-faq-page__faqlist__q::before, .cs-faq-page__faqlist__q::after {
  position: absolute;
  top: 50%;
  right: 4px;
  content: "";
  display: block;
  width: 17px;
  height: 1px;
  background-color: #000;
  transition: transform 0.3s ease;
}
@media only screen and (max-width: 767px) {
  .cs-faq-page__faqlist__q::before, .cs-faq-page__faqlist__q::after {
    right: 24px;
    width: 11px;
  }
}
.cs-faq-page__faqlist__q::after {
  transform: rotate(-90deg);
}
.cs-faq-page__faqlist__q[aria-expanded=true]::after {
  transform: rotate(0deg);
}
.cs-faq-page__faqlist__a {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media only screen and (max-width: 767px) {
  .cs-faq-page__faqlist__a {
    font-size: 13px;
    letter-spacing: 0.06em;
  }
}
.cs-faq-page__faqlist__a div {
  padding: 24px 0;
}
@media only screen and (max-width: 767px) {
  .cs-faq-page__faqlist__a div {
    padding: 14px 24px;
  }
}
.cs-faq-page__faqlist__a div a {
  text-decoration: underline;
}
.cs-faq-page__contact {
  margin-top: 35px;
  padding-bottom: 75px;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .cs-faq-page__contact {
    margin-top: 30px;
    padding-bottom: 45px;
    font-size: 13px;
  }
}
.cs-faq-page__contact a {
  text-decoration: underline;
}

.cs-store-page__mv {
  margin-top: 45px;
}
@media only screen and (max-width: 767px) {
  .cs-store-page__mv {
    margin-top: 30px;
  }
}
.cs-store-page__mv picture {
  width: 100%;
}
.cs-store-page__mv picture img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.cs-store-page__storelist {
  margin-top: 25px;
  padding-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  .cs-store-page__storelist {
    margin-top: 15px;
    padding-bottom: 60px;
  }
}
.cs-store-page__storelist__item:not(:first-child) {
  margin-top: 25px;
}
@media only screen and (max-width: 767px) {
  .cs-store-page__storelist__item:not(:first-child) {
    margin-top: 15px;
  }
}
.cs-store-page__storelist__title {
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .cs-store-page__storelist__title {
    font-size: 16px;
    line-height: 1.6;
  }
}
.cs-store-page__storelist__info {
  display: flex;
  flex-wrap: wrap;
  gap: 0 38px;
  margin-top: 10px;
  font-family: "Goldwin Grotesk Pre", "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media only screen and (max-width: 767px) {
  .cs-store-page__storelist__info {
    gap: 5px 15px;
    margin-top: 5px;
    font-size: 13px;
  }
}
.cs-store-page__storelist__info a[target=_blank]::after {
  content: url("../images/common/ico_external.svg");
  display: inline-block;
  margin-left: 8px;
}
@media only screen and (max-width: 767px) {
  .cs-store-page__storelist__info a[target=_blank]::after {
    margin-left: 5px;
  }
}
.cs-store-page__storelist__image {
  margin-top: 45px;
}
@media only screen and (max-width: 767px) {
  .cs-store-page__storelist__image {
    margin-top: 30px;
  }
}

.cs-terms-page__contents {
  max-width: 968px;
  margin-top: 45px;
  padding-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  .cs-terms-page__contents {
    margin-top: 27px;
    padding-bottom: 60px;
  }
}
.cs-terms-page__intro__title {
  font-size: 26px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .cs-terms-page__intro__title {
    font-size: 16px;
  }
}
.cs-terms-page__intro__lead {
  margin-top: 15px;
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .cs-terms-page__intro__lead {
    font-size: 13px;
  }
}
.cs-terms-page__caution {
  margin-top: 75px;
}
@media only screen and (max-width: 767px) {
  .cs-terms-page__caution {
    margin-top: 60px;
  }
}
.cs-terms-page__caution__item:not(:first-child) {
  margin-top: 60px;
}
.cs-terms-page__caution__title {
  font-size: 26px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .cs-terms-page__caution__title {
    font-size: 16px;
  }
}
.cs-terms-page__caution__detail {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .cs-terms-page__caution__detail {
    margin-top: 15px;
  }
}
.cs-terms-page__caution__detail p,
.cs-terms-page__caution__detail ul {
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .cs-terms-page__caution__detail p,
  .cs-terms-page__caution__detail ul {
    font-size: 13px;
  }
}
.cs-terms-page__caution__detail > ul {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.cs-terms-page__caution__detail > ul > li {
  width: 100%;
}

.cs-top-page {
  padding: 0 40px;
}
@media only screen and (max-width: 767px) {
  .cs-top-page {
    padding: 0 24px;
  }
}
@media screen and (max-width: 375px) {
  .cs-top-page {
    padding: 0 16px;
  }
}
.cs-top-page__gallery {
  padding-top: 45px;
  padding-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  .cs-top-page__gallery {
    padding-top: 15px;
    padding-bottom: 32px;
  }
}
.cs-top-page__gallery__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 0.466%;
}
@media screen and (max-width: 1160px) {
  .cs-top-page__gallery__inner {
    gap: 4px 0.466%;
  }
}
@media only screen and (max-width: 767px) {
  .cs-top-page__gallery__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
  }
}
@media screen and (max-width: 375px) {
  .cs-top-page__gallery__inner {
    gap: 4px;
  }
}
.cs-top-page__gallery__item {
  width: 19.61%;
}
@media screen and (max-width: 1160px) {
  .cs-top-page__gallery__item {
    width: 24.62%;
  }
  .cs-top-page__gallery__item:nth-child(1) {
    order: 1;
  }
  .cs-top-page__gallery__item:nth-child(2) {
    order: 2;
  }
  .cs-top-page__gallery__item:nth-child(3) {
    order: 3;
  }
  .cs-top-page__gallery__item:nth-child(4) {
    order: 4;
  }
  .cs-top-page__gallery__item:nth-child(5) {
    order: 5;
  }
  .cs-top-page__gallery__item:nth-child(6) {
    order: 6;
  }
  .cs-top-page__gallery__item:nth-child(7) {
    order: 7;
  }
  .cs-top-page__gallery__item:nth-child(8) {
    order: 8;
  }
  .cs-top-page__gallery__item:nth-child(9) {
    order: 9;
  }
  .cs-top-page__gallery__item:nth-child(10) {
    order: 10;
  }
  .cs-top-page__gallery__item:nth-child(11) {
    order: 11;
  }
  .cs-top-page__gallery__item:nth-child(12) {
    order: 12;
  }
  .cs-top-page__gallery__item:nth-child(13) {
    order: 13;
  }
  .cs-top-page__gallery__item:nth-child(14) {
    order: 14;
  }
  .cs-top-page__gallery__item:nth-child(15) {
    order: 15;
  }
  .cs-top-page__gallery__item:nth-child(16) {
    order: 16;
  }
  .cs-top-page__gallery__item:nth-child(17) {
    order: 17;
  }
  .cs-top-page__gallery__item:nth-child(18) {
    order: 18;
  }
  .cs-top-page__gallery__item:nth-child(19) {
    order: 19;
  }
  .cs-top-page__gallery__item:nth-child(20) {
    order: 20;
  }
  .cs-top-page__gallery__item:nth-child(21) {
    order: 21;
  }
  .cs-top-page__gallery__item:nth-child(22) {
    order: 22;
  }
  .cs-top-page__gallery__item:nth-child(23) {
    order: 23;
  }
  .cs-top-page__gallery__item:nth-child(24) {
    order: 24;
  }
  .cs-top-page__gallery__item:nth-child(25) {
    order: 25;
  }
  .cs-top-page__gallery__item:nth-child(26) {
    order: 26;
  }
  .cs-top-page__gallery__item:nth-child(27) {
    order: 27;
  }
  .cs-top-page__gallery__item:nth-child(28) {
    order: 28;
  }
  .cs-top-page__gallery__item:nth-child(29) {
    order: 29;
  }
  .cs-top-page__gallery__item:nth-child(30) {
    order: 30;
  }
  .cs-top-page__gallery__item:nth-child(31) {
    order: 31;
  }
  .cs-top-page__gallery__item:nth-child(32) {
    order: 32;
  }
  .cs-top-page__gallery__item:nth-child(33) {
    order: 33;
  }
  .cs-top-page__gallery__item:nth-child(34) {
    order: 34;
  }
  .cs-top-page__gallery__item:nth-child(35) {
    order: 35;
  }
  .cs-top-page__gallery__item:nth-child(36) {
    order: 36;
  }
  .cs-top-page__gallery__item:nth-child(37) {
    order: 37;
  }
  .cs-top-page__gallery__item:nth-child(38) {
    order: 38;
  }
  .cs-top-page__gallery__item:nth-child(39) {
    order: 39;
  }
  .cs-top-page__gallery__item:nth-child(40) {
    order: 40;
  }
  .cs-top-page__gallery__item:nth-child(41) {
    order: 41;
  }
  .cs-top-page__gallery__item:nth-child(42) {
    order: 42;
  }
  .cs-top-page__gallery__item:nth-child(43) {
    order: 43;
  }
  .cs-top-page__gallery__item:nth-child(44) {
    order: 44;
  }
  .cs-top-page__gallery__item:nth-child(45) {
    order: 45;
  }
  .cs-top-page__gallery__item:nth-child(46) {
    order: 46;
  }
  .cs-top-page__gallery__item:nth-child(47) {
    order: 47;
  }
  .cs-top-page__gallery__item:nth-child(48) {
    order: 48;
  }
  .cs-top-page__gallery__item:nth-child(49) {
    order: 49;
  }
  .cs-top-page__gallery__item:nth-child(50) {
    order: 50;
  }
  .cs-top-page__gallery__item:nth-child(51) {
    order: 51;
  }
  .cs-top-page__gallery__item:nth-child(52) {
    order: 52;
  }
  .cs-top-page__gallery__item:nth-child(53) {
    order: 53;
  }
  .cs-top-page__gallery__item:nth-child(54) {
    order: 54;
  }
  .cs-top-page__gallery__item:nth-child(55) {
    order: 55;
  }
  .cs-top-page__gallery__item:nth-child(56) {
    order: 56;
  }
  .cs-top-page__gallery__item:nth-child(57) {
    order: 57;
  }
  .cs-top-page__gallery__item:nth-child(58) {
    order: 58;
  }
  .cs-top-page__gallery__item:nth-child(59) {
    order: 59;
  }
  .cs-top-page__gallery__item:nth-child(60) {
    order: 60;
  }
  .cs-top-page__gallery__item:nth-child(61) {
    order: 61;
  }
  .cs-top-page__gallery__item:nth-child(62) {
    order: 62;
  }
  .cs-top-page__gallery__item:nth-child(63) {
    order: 63;
  }
  .cs-top-page__gallery__item:nth-child(64) {
    order: 64;
  }
  .cs-top-page__gallery__item:nth-child(65) {
    order: 65;
  }
  .cs-top-page__gallery__item:nth-child(66) {
    order: 66;
  }
  .cs-top-page__gallery__item:nth-child(67) {
    order: 67;
  }
  .cs-top-page__gallery__item:nth-child(68) {
    order: 68;
  }
  .cs-top-page__gallery__item:nth-child(69) {
    order: 69;
  }
  .cs-top-page__gallery__item:nth-child(70) {
    order: 70;
  }
  .cs-top-page__gallery__item:nth-child(71) {
    order: 71;
  }
  .cs-top-page__gallery__item:nth-child(72) {
    order: 72;
  }
  .cs-top-page__gallery__item:nth-child(73) {
    order: 73;
  }
  .cs-top-page__gallery__item:nth-child(74) {
    order: 74;
  }
  .cs-top-page__gallery__item:nth-child(75) {
    order: 75;
  }
  .cs-top-page__gallery__item:nth-child(76) {
    order: 76;
  }
  .cs-top-page__gallery__item:nth-child(77) {
    order: 77;
  }
  .cs-top-page__gallery__item:nth-child(78) {
    order: 78;
  }
  .cs-top-page__gallery__item:nth-child(79) {
    order: 79;
  }
  .cs-top-page__gallery__item:nth-child(80) {
    order: 80;
  }
  .cs-top-page__gallery__item:nth-child(81) {
    order: 81;
  }
  .cs-top-page__gallery__item:nth-child(82) {
    order: 82;
  }
  .cs-top-page__gallery__item:nth-child(83) {
    order: 83;
  }
  .cs-top-page__gallery__item:nth-child(84) {
    order: 84;
  }
  .cs-top-page__gallery__item:nth-child(85) {
    order: 85;
  }
  .cs-top-page__gallery__item:nth-child(86) {
    order: 86;
  }
  .cs-top-page__gallery__item:nth-child(87) {
    order: 87;
  }
  .cs-top-page__gallery__item:nth-child(88) {
    order: 88;
  }
  .cs-top-page__gallery__item:nth-child(89) {
    order: 89;
  }
  .cs-top-page__gallery__item:nth-child(90) {
    order: 90;
  }
  .cs-top-page__gallery__item:nth-child(91) {
    order: 91;
  }
  .cs-top-page__gallery__item:nth-child(92) {
    order: 92;
  }
  .cs-top-page__gallery__item:nth-child(93) {
    order: 93;
  }
  .cs-top-page__gallery__item:nth-child(94) {
    order: 94;
  }
  .cs-top-page__gallery__item:nth-child(95) {
    order: 95;
  }
  .cs-top-page__gallery__item:nth-child(96) {
    order: 96;
  }
  .cs-top-page__gallery__item:nth-child(97) {
    order: 97;
  }
  .cs-top-page__gallery__item:nth-child(98) {
    order: 98;
  }
  .cs-top-page__gallery__item:nth-child(99) {
    order: 99;
  }
  .cs-top-page__gallery__item:nth-child(100) {
    order: 100;
  }
  .cs-top-page__gallery__item:nth-child(3) {
    order: 4;
  }
}
@media only screen and (max-width: 767px) {
  .cs-top-page__gallery__item {
    width: auto;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
}
@media screen and (max-width: 375px) {
  .cs-top-page__gallery__item {
    gap: 4px;
    width: auto;
  }
}
.cs-top-page__gallery__item a {
  display: block;
  position: relative;
}
.cs-top-page__gallery__item a.has-slider:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2%;
  transform: translateY(-50%);
  width: 10px;
  height: 17px;
  background-image: url(../images/common/ico_list-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media only screen and (max-width: 767px) {
  .cs-top-page__gallery__item a.has-slider:after {
    width: 6px;
    height: 10px;
  }
}
@media only screen and (min-width: 768px) {
  .cs-top-page__gallery__item a {
    opacity: 1;
    transition: opacity 0.3s;
  }
  .cs-top-page__gallery__item a:hover {
    opacity: 0.7;
  }
}
.cs-top-page__gallery__item a > div {
  width: 5%;
  height: 4%;
  position: absolute;
  right: 3%;
  bottom: 2%;
}
.cs-top-page__gallery__item a > div span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 1px;
  background-color: #fff;
}
.cs-top-page__gallery__item a > div span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(0deg);
}
.cs-top-page__gallery__item a > div span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(90deg);
}
.cs-top-page__gallery__introduction {
  width: 39.705882%;
  padding: 6px;
  border: 1px solid rgba(14, 13, 13, 0.5);
}
@media screen and (max-width: 1160px) {
  .cs-top-page__gallery__introduction {
    order: 3;
    width: 49.785882%;
  }
}
@media only screen and (max-width: 767px) {
  .cs-top-page__gallery__introduction {
    grid-column: 2;
    grid-row: 1/span 2;
    width: auto;
  }
}
.cs-top-page__gallery__introduction__inner {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.cs-top-page__gallery__introduction__inner h2 {
  font-size: 26px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1360px) {
  .cs-top-page__gallery__introduction__inner h2 {
    font-size: 22px;
    max-width: 284px;
  }
}
@media screen and (max-width: 950px) {
  .cs-top-page__gallery__introduction__inner h2 {
    font-size: 18px;
    max-width: 234px;
  }
}
@media only screen and (max-width: 767px) {
  .cs-top-page__gallery__introduction__inner h2 {
    font-size: 16px;
    max-width: 100%;
  }
}
.cs-top-page__gallery__introduction__inner p {
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: justify;
}
@media screen and (max-width: 1360px) {
  .cs-top-page__gallery__introduction__inner p {
    font-size: 15px;
  }
}
@media screen and (max-width: 950px) {
  .cs-top-page__gallery__introduction__inner p {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .cs-top-page__gallery__introduction__inner p {
    font-size: 12px;
  }
}
.cs-top-page__gallery__introduction__inner p a {
  font-size: 14px;
  text-decoration: underline;
  opacity: 1;
}
@media screen and (max-width: 1360px) {
  .cs-top-page__gallery__introduction__inner p a {
    font-size: 13px;
  }
}
@media screen and (max-width: 950px) {
  .cs-top-page__gallery__introduction__inner p a {
    font-size: 10px;
  }
}
@media only screen and (min-width: 768px) {
  .cs-top-page__gallery__introduction__inner p a {
    transition: opacity 0.3s;
  }
  .cs-top-page__gallery__introduction__inner p a:hover {
    opacity: 0.7;
  }
}
.cs-top-page__popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  visibility: hidden;
  pointer-events: none;
}
.cs-top-page__popup.is-open, .cs-top-page__popup.is-closing {
  visibility: visible;
}
.cs-top-page__popup.is-open {
  pointer-events: auto;
}
.cs-top-page__popup.is-closing {
  pointer-events: none;
}
.cs-top-page__popup__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s ease;
  background-color: rgba(255, 255, 255, 0.85);
}
.cs-top-page__popup.is-open .cs-top-page__popup__overlay {
  opacity: 1;
}
.cs-top-page__popup.is-closing .cs-top-page__popup__overlay {
  opacity: 0;
}
.cs-top-page__popup__content {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 600px;
  max-width: calc(100vw - 48px);
  opacity: 0;
  transform: translate(-50%, calc(-50% + 1rem));
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.cs-top-page__popup.is-open .cs-top-page__popup__content {
  opacity: 1;
  transform: translate(-50%, -50%);
}
.cs-top-page__popup.is-closing .cs-top-page__popup__content {
  opacity: 0;
  transform: translate(-50%, calc(-50% + 2rem));
}
.cs-top-page__popup__content__inner__slider {
  position: relative;
}
.cs-top-page__popup__content__inner__slider .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
}
.cs-top-page__popup__content__inner__slider .swiper-slide {
  text-align: center;
}
.cs-top-page__popup__content__inner__slider .swiper-button-prev::after,
.cs-top-page__popup__content__inner__slider .swiper-button-next::after {
  display: none;
}
.cs-top-page__popup__content__inner__slider .swiper-button-prev,
.cs-top-page__popup__content__inner__slider .swiper-button-next {
  position: absolute;
  top: 50%;
  z-index: 2;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 48px;
  opacity: 1;
  transition: opacity 0.25s ease;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .cs-top-page__popup__content__inner__slider .swiper-button-prev,
  .cs-top-page__popup__content__inner__slider .swiper-button-next {
    width: 16px;
    height: 32px;
  }
  .cs-top-page__popup__content__inner__slider .swiper-button-prev::before,
  .cs-top-page__popup__content__inner__slider .swiper-button-next::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    transform: translate(-50%, -50%);
  }
}
.cs-top-page__popup__content__inner__slider .swiper-button-prev svg,
.cs-top-page__popup__content__inner__slider .swiper-button-next svg {
  display: block;
  width: 100%;
  height: 100%;
}
.cs-top-page__popup__content__inner__slider .swiper-button-prev.swiper-button-disabled,
.cs-top-page__popup__content__inner__slider .swiper-button-next.swiper-button-disabled {
  opacity: 0;
  pointer-events: none;
  cursor: default;
}
.cs-top-page__popup__content__inner__slider .swiper-button-prev {
  left: 18px;
  right: auto;
}
@media only screen and (max-width: 767px) {
  .cs-top-page__popup__content__inner__slider .swiper-button-prev {
    left: 12px;
  }
}
.cs-top-page__popup__content__inner__slider .swiper-button-next {
  right: 18px;
  left: auto;
}
@media only screen and (max-width: 767px) {
  .cs-top-page__popup__content__inner__slider .swiper-button-next {
    right: 12px;
  }
}
.cs-top-page__popup__content__inner__image {
  text-align: center;
}
.cs-top-page__popup__content__inner__title {
  margin-top: 30px;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #0e0d0d;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .cs-top-page__popup__content__inner__title {
    white-space: nowrap;
  }
}
@media only screen and (max-width: 767px) {
  .cs-top-page__popup__content__inner__title {
    font-size: 16px;
  }
}
.cs-top-page__popup__content__inner__title a {
  text-decoration: underline;
}
.cs-top-page__popup__close {
  position: absolute;
  bottom: 70px;
  right: 10px;
  width: 48px;
  height: 48px;
  cursor: pointer;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .cs-top-page__popup__close {
    bottom: 60px;
    width: 29px;
    height: 29px;
  }
}
@media only screen and (min-width: 768px) {
  .cs-top-page__popup__close {
    opacity: 1;
    transition: opacity 0.3s;
  }
  .cs-top-page__popup__close:hover {
    opacity: 0.7;
  }
}
.cs-top-page__popup__close span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 1px;
  background-color: #FFFFFF;
}
.cs-top-page__popup__close span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
.cs-top-page__popup__close span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}

body.is-popup-open {
  overflow: hidden;
}