@charset "UTF-8";
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
ul,
dl,
dd {
  margin: 0;
  padding: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

li {
  list-style-type: none;
}

/* Set core root defaults */
html {
  width: 100%;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

/* Set core body defaults */
body {
  width: 100%;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements default styles */
a {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration: none;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  background-color: transparent;
}

input[type=submit i],
input[type=button i] {
  background-color: transparent;
  cursor: pointer;
}

/* Reset fieldset and legend */
fieldset {
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}

legend {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../font/CormorantGaramond-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../font/CormorantGaramond-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../font/CormorantGaramond-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../font/CormorantGaramond-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../font/CormorantGaramond-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../font/CormorantGaramond-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../font/CormorantGaramond-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../font/CormorantGaramond-SemiBoldItalic.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../font/CormorantGaramond-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../font/CormorantGaramond-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Zen Old Mincho";
  src: url("../font/ZenOldMincho-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Old Mincho";
  src: url("../font/ZenOldMincho-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Old Mincho";
  src: url("../font/ZenOldMincho-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Old Mincho";
  src: url("../font/ZenOldMincho-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Old Mincho";
  src: url("../font/ZenOldMincho-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
/*
* breakpointの設定
*/
/*
* get_vwの設定
*/
/*
* get_dvwの設定
*/
/*
 * htmlのフォントサイズ
 * @args ベースの画面幅
 */
/** --------------------------------
* cssの値を単位を除いて数字だけにしてくれる関数
*
* @param 数字と単位を含む値 10ox, 3remなど
*/
/** --------------------------------
* 値の「単位」を取得する関数
*
* @param $value 数字と単位を含む値 10ox, 3remなど
*/
/** --------------------------------
* pxやremをvwに変換してくれる関数
*
* @param $viewport pcデザインの横幅
* @param $fontSize フォントサイズ(pxでもremでも)
*/
/** --------------------------------
* フォントサイズをレスポンシブで調整する関数
*
* @param $pc pcのフォントサイズ
* @param $sp spのフォントサイズ
*/
/*
* get_vhの設定
*/
/*
 * line-heightの計算
 */
/*
 * letter-spacing px → em の計算
 */
/*
* breakpointの設定
*/
.pc-only {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-y: scroll;
  font-size: 62.5%;
  text-align: center;
  scroll-behavior: smooth;
}
html.open {
  overflow: hidden;
}

body {
  font-family: "Noto Sans JP", sans-serif;
}

.page {
  padding-top: 72px;
}
@media screen and (max-width: 768px) {
  .page {
    padding-top: 56px;
  }
}

.grecaptcha-badge {
  display: none;
}

.header {
  text-align: center;
}

.cta {
  padding: 8.90625vw 0 10.46875vw;
  width: 100%;
  aspect-ratio: 1280/448;
  background: url(../images/common/cta.webp) no-repeat center center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  z-index: 9;
  margin: -6.25vw 0;
}
@media screen and (max-width: 768px) {
  .cta {
    padding: 25.6vw 0 30.4vw;
    background-image: url(../images/common/cta_sp.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 375/537;
    margin: -21.3333333333vw 0;
  }
}
.cta .cta__inner {
  /* ラインアニメーション */
  /* 白バージョン */
}
.cta .cta__inner .cta__title {
  margin-bottom: 2.34375vw;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .cta .cta__inner .cta__title {
    margin-bottom: 8.5333333333vw;
  }
}
.cta .cta__inner .cta__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.125vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .cta .cta__inner .cta__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 4.2666666667vw;
  }
}
.cta .cta__inner .cta__list .cta__item {
  width: 37.5vw;
  height: 9.375vw;
  border: 2px solid #DBBD86;
  /* アニメーション */
}
@media screen and (max-width: 768px) {
  .cta .cta__inner .cta__list .cta__item {
    width: 91.4666666667vw;
    height: 32vw;
  }
}
.cta .cta__inner .cta__list .cta__item a {
  display: block;
  width: 100%;
  height: 100%;
  font-family: "Zen Old Mincho";
  font-size: 1.5625vw;
  font-style: normal;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.15625vw;
  color: #DBBD86;
  position: relative;
}
@media screen and (max-width: 768px) {
  .cta .cta__inner .cta__list .cta__item a {
    font-size: 5.3333333333vw;
    line-height: 1.2142857143;
    letter-spacing: 0.5333333333vw;
    gap: 2.1333333333vw;
  }
}
.cta .cta__inner .cta__list .cta__item a .cta__item_wrap {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-transition: width 1s ease-in-out 2.4s;
  transition: width 1s ease-in-out 2.4s;
}
.cta .cta__inner .cta__list .cta__item a .cta__item_wrap .cta__item_wrap_inner {
  width: 37.5vw;
  height: 9.375vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625vw;
}
@media screen and (max-width: 768px) {
  .cta .cta__inner .cta__list .cta__item a .cta__item_wrap .cta__item_wrap_inner {
    width: 91.4666666667vw;
    height: 32vw;
  }
}
.cta .cta__inner .cta__list .cta__item a .cta__item_wrap .cta__item_wrap_inner span {
  font-family: "Zen Old Mincho";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.15625vw;
  color: #DBBD86;
}
@media screen and (max-width: 768px) {
  .cta .cta__inner .cta__list .cta__item a .cta__item_wrap .cta__item_wrap_inner span {
    font-size: 4.2666666667vw;
    line-height: normal;
    letter-spacing: 0;
  }
}
.cta .cta__inner .cta__list .cta__item.animate a .cta__item_wrap {
  width: 100%;
}
.cta .cta__inner .cta__list .cta__item_2 {
  border: 2px solid #fff;
}
.cta .cta__inner .cta__list .cta__item_2 a {
  color: #fff;
}
.cta .cta__inner .cta__list .cta__item_2 a .cta__item_wrap .cta__item_wrap_inner span {
  color: #fff;
}
.cta .cta__inner .js-lineanimation {
  position: relative;
}
.cta .cta__inner .js-lineanimation::before, .cta .cta__inner .js-lineanimation::after {
  content: "";
  position: absolute;
  height: 0%;
  width: 2px;
  background-color: #DBBD86;
  -webkit-transition: height 0.6s ease-in-out;
  transition: height 0.6s ease-in-out;
}
.cta .cta__inner .js-lineanimation::before {
  top: 0;
  right: 0;
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}
.cta .cta__inner .js-lineanimation::after {
  bottom: 0;
  left: 0;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.cta .cta__inner .js-lineanimation a {
  position: relative;
}
.cta .cta__inner .js-lineanimation a::before, .cta .cta__inner .js-lineanimation a::after {
  content: "";
  position: absolute;
  width: 0%;
  height: 2px;
  background-color: #DBBD86;
  -webkit-transition: width 0.6s ease-in-out;
  transition: width 0.6s ease-in-out;
}
.cta .cta__inner .js-lineanimation a::before {
  top: 0;
  left: 0;
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.cta .cta__inner .js-lineanimation a::after {
  bottom: 0;
  right: 0;
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}
.cta .cta__inner .js-lineanimation.animate::before {
  height: 100%;
}
.cta .cta__inner .js-lineanimation.animate::after {
  height: 100%;
}
.cta .cta__inner .js-lineanimation.animate a::before {
  width: 100%;
}
.cta .cta__inner .js-lineanimation.animate a::after {
  width: 100%;
}
.cta .cta__inner .cta__item_2.js-lineanimation::before, .cta .cta__inner .cta__item_2.js-lineanimation::after {
  background-color: #fff;
}
.cta .cta__inner .cta__item_2.js-lineanimation a::before, .cta .cta__inner .cta__item_2.js-lineanimation a::after {
  background-color: #fff;
}
.cta .cta__inner .cta__item_2.js-lineanimation.animate::before {
  height: 100%;
}
.cta .cta__inner .cta__item_2.js-lineanimation.animate::after {
  height: 100%;
}
.cta .cta__inner .cta__item_2.js-lineanimation.animate a::before {
  width: 100%;
}
.cta .cta__inner .cta__item_2.js-lineanimation.animate a::after {
  width: 100%;
}

.contact {
  margin: 0 auto;
  /* 資料請求画面 */
  /* チェックボックスグリッド */
}
.contact a:-moz-any-link {
  color: #000;
}
.contact a:any-link {
  color: #000;
}
.contact__inner {
  margin-top: 8.046875vw;
}
@media screen and (max-width: 768px) {
  .contact__inner {
    margin-top: 21.0666666667vw;
  }
}
.contact__content {
  background-color: #F6F6F6;
  width: 100%;
  margin-top: 5vw;
  padding-top: 9.375vw;
  padding-bottom: 18.75vw;
}
@media screen and (max-width: 768px) {
  .contact__content {
    margin-top: 10.6666666667vw;
    padding-top: 14.9333333333vw;
    padding-bottom: 42.6666666667vw;
  }
}
.contact__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10vw;
  max-width: 76.875vw;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .contact__wrapper {
    gap: 10.6666666667vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 91.4666666667vw;
  }
}
.contact__steps {
  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-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.125vw;
  position: relative;
}
.contact__steps::after {
  content: "";
  background-color: #D4D4D4;
  position: absolute;
  top: 50%;
  left: 0.46875vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
  height: 90%;
}
@media screen and (max-width: 768px) {
  .contact__steps {
    gap: 10.6666666667vw;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: auto;
  }
  .contact__steps::after {
    width: 80%;
    height: 1px;
    top: 1.6vw;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
.contact__steps--confirm::before {
  content: "";
  background-color: #C30D23;
  position: absolute;
  top: 10%;
  left: 0.46875vw;
  width: 1px;
  height: 40%;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .contact__steps--confirm::before {
    top: 1.6vw;
    left: 10%;
    height: 1px;
    width: 40%;
  }
}
.contact__steps--thanks::before {
  content: "";
  background-color: #C30D23;
  position: absolute;
  top: 10%;
  left: 0.46875vw;
  width: 1px;
  height: 80%;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .contact__steps--thanks::before {
    top: 1.6vw;
    left: 10%;
    height: 1px;
    width: 80%;
  }
}
.contact__step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25vw;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .contact__step {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.2666666667vw;
  }
}
.contact__step--active .contact__step-circle {
  background-color: #C30D23;
}
.contact__step--active .contact__step-text {
  color: #C30D23;
}
.contact__step-circle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.015625vw;
  height: 1.015625vw;
  border-radius: 50%;
  background-color: #D4D4D4;
  position: relative;
}
@media screen and (max-width: 768px) {
  .contact__step-circle {
    width: 3.2vw;
    height: 3.2vw;
  }
}
.contact__step-text {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.09375vw;
  color: #000;
  font-weight: 400;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .contact__step-text {
    font-size: 3.2vw;
  }
}
.contact__title {
  margin: 0;
}
.contact__title-en {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1px, 1.25vw, 16px);
  color: #C30D23;
  font-weight: 500;
  letter-spacing: 0.125em;
  margin-bottom: 0.625vw;
}
@media screen and (max-width: 768px) {
  .contact__title-en {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .contact__title-en {
    margin-bottom: 1.6vw;
  }
}
.contact__title-ja {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1px, 2.8125vw, 36px);
  color: #000;
  font-weight: 700;
  letter-spacing: 0.0277777778em;
}
@media screen and (max-width: 768px) {
  .contact__title-ja {
    font-size: 7.4666666667vw;
  }
}
.contact__form-wrapper {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: left;
}
.contact__intro-text {
  color: #000;
  font-size: 1.25vw;
  font-weight: 400;
  font-family: "Zen Kaku Gothic New";
}
@media screen and (max-width: 768px) {
  .contact__intro-text {
    font-size: 4.2666666667vw;
  }
}
.contact__intro-text--thanks {
  font-weight: 600;
}
.contact__message-text {
  font-size: 1.25vw;
  font-weight: 300;
  margin-top: 1.25vw;
  font-family: "Zen Kaku Gothic New";
}
@media screen and (max-width: 768px) {
  .contact__message-text {
    font-size: 4.2666666667vw;
    margin-top: 6.4vw;
  }
}
.contact__link-wrapper {
  margin-top: 4.375vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .contact__link-wrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 10.6666666667vw;
    gap: 2.1333333333vw;
  }
}
.contact__link {
  font-size: 1.25vw;
  font-weight: 300;
  font-family: "Zen Kaku Gothic New";
}
@media screen and (max-width: 768px) {
  .contact__link {
    font-size: 4.2666666667vw;
  }
}
.contact__form {
  margin-top: 3.125vw;
}
@media screen and (max-width: 768px) {
  .contact__form {
    margin-top: 8.5333333333vw;
  }
}
.contact__form-group:not(:first-child) {
  margin-top: 1.875vw;
}
@media screen and (max-width: 768px) {
  .contact__form-group:not(:first-child) {
    margin-top: 6.4vw;
  }
}
.contact__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625vw;
  color: #000;
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .contact__label {
    font-size: 4.2666666667vw;
    gap: 2.1333333333vw;
  }
}
.contact__required {
  display: inline-block;
  background-color: #C30D23;
  color: #fff;
  font-family: "Zen Kaku Gothic New";
  font-size: 0.9375vw;
  line-height: 1;
  font-weight: 600;
  padding: 0.46875vw 0.46875vw;
}
@media screen and (max-width: 768px) {
  .contact__required {
    padding: 1.0666666667vw 1.6vw;
    font-size: 2.6666666667vw;
    font-weight: 400;
  }
}
.contact__optional {
  display: inline-block;
  background-color: #A9A9A9;
  color: #fff;
  font-family: "Zen Kaku Gothic New";
  font-size: 0.9375vw;
  line-height: 1;
  font-weight: 600;
  padding: 0.46875vw 0.46875vw;
}
@media screen and (max-width: 768px) {
  .contact__optional {
    padding: 1.0666666667vw 1.6vw;
    font-size: 2.6666666667vw;
    font-weight: 400;
  }
}
.contact__input-wrapper {
  margin-top: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .contact__input-wrapper {
    margin-top: 3.2vw;
  }
}
.contact__input {
  width: 100%;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  line-height: 1;
  color: #000;
  padding: 1.25vw;
  border: 1px solid #D4D4D4;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .contact__input {
    padding: 3.2vw;
    font-size: 3.7333333333vw;
  }
}
.contact__input::-webkit-input-placeholder {
  color: #A9A9A9;
}
.contact__input::-moz-placeholder {
  color: #A9A9A9;
}
.contact__input:-ms-input-placeholder {
  color: #A9A9A9;
}
.contact__input::-ms-input-placeholder {
  color: #A9A9A9;
}
.contact__input::placeholder {
  color: #A9A9A9;
}
.contact__input:focus {
  outline: none;
  border-color: #001B5E;
}
.contact__input--half {
  width: 21.875vw;
}
@media screen and (max-width: 768px) {
  .contact__input--half {
    width: 44.5333333333vw;
  }
}
.contact__input--postal1 {
  width: 11.875vw;
}
@media screen and (max-width: 768px) {
  .contact__input--postal1 {
    width: 37.8666666667vw;
  }
}
.contact__input--postal2 {
  width: 13.75vw;
}
@media screen and (max-width: 768px) {
  .contact__input--postal2 {
    width: 46.1333333333vw;
  }
}
.contact__input--full {
  width: 100%;
}
.contact__input--address {
  width: calc(70% - 0.625vw);
}
@media screen and (max-width: 768px) {
  .contact__input--address {
    width: 100%;
    margin-top: 2.1333333333vw;
  }
}
.contact__select {
  width: 30%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1px, 1.25vw, 16px);
  color: #000;
  padding: 1.25vw;
  border: 1px solid #D4D4D4;
  border-radius: 0.3125vw;
  background-color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .contact__select {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .contact__select {
    width: 100%;
    padding: 3.2vw;
    border-radius: 1.0666666667vw;
  }
}
.contact__select:focus {
  outline: none;
  border-color: #001B5E;
  -webkit-box-shadow: 0 0 0 0.234375vw rgba(0, 27, 94, 0.1);
          box-shadow: 0 0 0 0.234375vw rgba(0, 27, 94, 0.1);
}
.contact__textarea {
  width: 100%;
  min-height: 18.125vw;
  color: #000;
  padding: 1.25vw;
  border: 1px solid #D4D4D4;
  background-color: #fff;
  resize: vertical;
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .contact__textarea {
    min-height: 61.8666666667vw;
    padding: 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}
.contact__textarea::-webkit-input-placeholder {
  color: #A9A9A9;
  line-height: 1;
  font-weight: 300;
}
.contact__textarea::-moz-placeholder {
  color: #A9A9A9;
  line-height: 1;
  font-weight: 300;
}
.contact__textarea:-ms-input-placeholder {
  color: #A9A9A9;
  line-height: 1;
  font-weight: 300;
}
.contact__textarea::-ms-input-placeholder {
  color: #A9A9A9;
  line-height: 1;
  font-weight: 300;
}
.contact__textarea::placeholder {
  color: #A9A9A9;
  line-height: 1;
  font-weight: 300;
}
.contact__textarea:focus {
  outline: none;
  border-color: #001B5E;
  -webkit-box-shadow: 0 0 0 0.234375vw rgba(0, 27, 94, 0.1);
          box-shadow: 0 0 0 0.234375vw rgba(0, 27, 94, 0.1);
}
.contact__name-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .contact__name-group {
    gap: 3.2vw;
  }
}
.contact__postal-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3125vw;
}
@media screen and (max-width: 768px) {
  .contact__postal-group {
    gap: 1.6vw;
  }
}
.contact__postal-hyphen {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  color: #000;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .contact__postal-hyphen {
    font-size: 4.2666666667vw;
  }
}
.contact__address-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25vw;
  margin-top: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .contact__address-group {
    gap: 0;
    margin-top: 3.2vw;
  }
}
.contact__privacy-title {
  color: #000;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-weight: 600;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625vw;
}
@media screen and (max-width: 768px) {
  .contact__privacy-title {
    font-size: 4.2666666667vw;
    gap: 2.1333333333vw;
  }
}
.contact__privacy-text {
  font-family: "Zen Kaku Gothic New";
  color: #000;
  font-size: 1.25vw;
  margin-top: 1.25vw;
}
@media screen and (max-width: 768px) {
  .contact__privacy-text {
    margin-top: 4.2666666667vw;
    font-size: 4.2666666667vw;
  }
}
.contact__privacy-link {
  color: #000;
  text-decoration: underline;
}
.contact__checkbox-wrapper {
  margin-top: 1.875vw;
}
@media screen and (max-width: 768px) {
  .contact__checkbox-wrapper {
    margin-top: 3.2vw;
  }
}
.contact__checkbox-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  color: #000;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .contact__checkbox-label {
    font-size: 4.2666666667vw;
  }
}
.contact__checkbox {
  width: 1.5625vw;
  height: 1.5625vw;
  margin: 0;
  border: 1px solid #D4D4D4;
}
@media screen and (max-width: 768px) {
  .contact__checkbox {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.contact__checkbox-text {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.contact__submit-wrapper {
  text-align: center;
  margin-top: 3.125vw;
}
@media screen and (max-width: 768px) {
  .contact__submit-wrapper {
    margin-top: 14.9333333333vw;
  }
}
.contact__submit {
  display: inline-block;
  color: #000;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-weight: 600;
  padding: 1.25vw 3.125vw;
  border: 1px solid #000;
  width: 15.625vw;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .contact__submit {
    width: 100%;
    max-width: 53.3333333333vw;
    padding: 4.2666666667vw 10.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
.contact__resource {
  margin-top: 3.125vw;
}
@media screen and (max-width: 768px) {
  .contact__resource {
    margin-top: 8.5333333333vw;
  }
}
.contact__resource-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.875vw;
}
.contact__resource-wrapper:not(:first-child) {
  margin-top: 1.875vw;
}
@media screen and (max-width: 768px) {
  .contact__resource-wrapper:not(:first-child) {
    margin-top: 6.4vw;
  }
}
.contact__resource-content {
  position: relative;
  background-color: #fff;
  padding: 1.25vw 0 3.125vw;
  background-image: url(../images/form/resource_bg.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top right;
  width: 100%;
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .contact__resource-content {
    background-image: url(../images/form/resource_bg_sp.webp);
    padding: 4.2666666667vw 0 47.4666666667vw;
    background-position: bottom center;
  }
}
.contact__resource-input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625vw;
  background-color: #C30D23;
  padding: 0.9375vw 1.25vw;
  width: 19.21875vw;
}
@media screen and (max-width: 768px) {
  .contact__resource-input {
    gap: 2.1333333333vw;
    width: 65.6vw;
    padding: 3.2vw 4.2666666667vw;
  }
}
.contact__resource-input .wpcf7-list-item-label {
  color: #fff;
}
.contact__resource-input-text {
  font-size: 1.09375vw;
  font-weight: 500;
  color: #fff;
  font-family: "Zen Kaku Gothic New";
}
@media screen and (max-width: 768px) {
  .contact__resource-input-text {
    font-size: 3.7333333333vw;
  }
}
.contact__resource-content-wrapper {
  padding: 1.875vw 3.125vw 0;
}
@media screen and (max-width: 768px) {
  .contact__resource-content-wrapper {
    padding: 4.2666666667vw 6.4vw 0;
  }
}
.contact__resource-title {
  font-size: 1.5625vw;
  font-weight: 500;
  color: #000;
  font-family: "Zen Kaku Gothic New";
}
@media screen and (max-width: 768px) {
  .contact__resource-title {
    font-size: 4.2666666667vw;
  }
}
.contact__resource-text {
  font-size: 1.09375vw;
  font-weight: 300;
  color: #000;
  font-family: "Zen Kaku Gothic New";
  margin-top: 0.625vw;
  width: 28.125vw;
}
@media screen and (max-width: 768px) {
  .contact__resource-text {
    margin-top: 3.2vw;
    font-size: 4.2666666667vw;
    width: auto;
  }
}
.contact__checkbox-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25vw 1.875vw;
}
@media screen and (max-width: 768px) {
  .contact__checkbox-grid {
    gap: 4.2666666667vw 6.4vw;
  }
}
.contact__checkbox-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625vw;
  cursor: pointer;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  color: #000;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .contact__checkbox-item {
    gap: 2.1333333333vw;
    font-size: 4.2666666667vw;
  }
}
.contact__checkbox-input {
  width: 1.25vw;
  height: 1.25vw;
  margin: 0;
  accent-color: #C30D23;
}
@media screen and (max-width: 768px) {
  .contact__checkbox-input {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.contact__checkbox-label-text {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  line-height: 1.2;
}

/* wpcf7 update style */
/* 入力画面 */
.wpcf7 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.wpcf7-form-control-wrap[data-name=address] {
  width: 100%;
}

.wpcf7-list-item {
  margin: 0 !important;
}
.wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625vw;
}
@media screen and (max-width: 768px) {
  .wpcf7-list-item label {
    gap: 2.1333333333vw;
  }
}
.wpcf7-list-item label input[type=checkbox i] {
  margin: 0 !important;
  width: 1.484375vw !important;
  height: 1.484375vw !important;
}
@media screen and (max-width: 768px) {
  .wpcf7-list-item label input[type=checkbox i] {
    width: 5.0666666667vw !important;
    height: 5.0666666667vw !important;
  }
}

/* 確認画面 */
.cf7msm-ro {
  font-size: 1.25vw;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .cf7msm-ro {
    font-size: 4.2666666667vw;
  }
}

.contact__form {
  /* 確認用のテキスト内のspanを開業したい時 */
}
.contact__form--confirm .contact__form-group {
  border-bottom: 1px solid #D4D4D4;
  padding-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .contact__form--confirm .contact__form-group {
    padding-bottom: 8.5333333333vw;
  }
}
.contact__form--confirm .contact__form-group:first-child {
  border-top: 1px solid #D4D4D4;
  margin-top: 1.875vw;
  padding-top: 2.5vw;
}
@media screen and (max-width: 768px) {
  .contact__form--confirm .contact__form-group:first-child {
    margin-top: 10.6666666667vw;
    padding-top: 6.4vw;
  }
}
.contact__form--confirm .contact__input-wrapper {
  margin-top: 1.25vw;
}
@media screen and (max-width: 768px) {
  .contact__form--confirm .contact__input-wrapper {
    margin-top: 2.1333333333vw;
  }
}
.contact__form--confirm .contact__address-group {
  margin-top: 0;
}
.contact__form--confirm .contact__postal-group {
  gap: 0;
}
.contact__form--confirm .contact__postal-prefix {
  font-size: 1.25vw;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .contact__form--confirm .contact__postal-prefix {
    font-size: 4.2666666667vw;
  }
}
.contact__form--confirm .contact__submit-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875vw;
}
@media screen and (max-width: 768px) {
  .contact__form--confirm .contact__submit-wrapper {
    gap: 4.2666666667vw;
  }
}
.contact__form--confirm .wpcf7-spinner {
  display: none;
}
.contact__form--confirm .contact__submit.-back {
  border: none;
  color: #000;
  padding: 0;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .contact__form--confirm .contact__submit.-back {
    font-size: 4.2666666667vw;
  }
}
.contact__form .-span-br span {
  display: block;
}

/* cf7 error message style */
.wpcf7-response-output {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  background-color: transparent;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  border: 1px solid #C30D23 !important;
  border-left-width: 6px !important;
  background-color: #FFEAEA;
  margin: 0 0 3.125vw !important;
  padding: 1.328125vw !important;
  color: #C30D23 !important;
}
@media screen and (max-width: 768px) {
  .wpcf7-response-output {
    font-size: 4.2666666667vw;
    margin: 0 0 8.5333333333vw !important;
    padding: 4.2666666667vw !important;
  }
}

.wpcf7-not-valid-tip {
  font-family: "Zen Kaku Gothic New";
  font-size: 0.9375vw !important;
  color: #C30D23 !important;
  margin-top: 0.46875vw;
}
@media screen and (max-width: 768px) {
  .wpcf7-not-valid-tip {
    font-size: 3.2vw !important;
    margin-top: 1.6vw;
  }
}

.wpcf7-response-output.cf7-moved {
  opacity: 1;
}

.wpcf7-form .wpcf7-response-output:not(.cf7-moved) {
  position: absolute;
  left: -9999px;
  top: -9999px;
}

.wpcf7-validation-errors,
.wpcf7-mail-sent-ng {
  background-color: #ffebee;
  border: 1px solid #f44336;
  border-radius: 4px;
  padding: 16px;
  color: #d32f2f;
  font-weight: 600;
  text-align: center;
}

.wpcf7-mail-sent-ok {
  background-color: #e8f5e8;
  border: 1px solid #4caf50;
  border-radius: 4px;
  padding: 16px;
  color: #2e7d32;
  font-weight: 600;
  text-align: center;
}

.archive {
  margin: 0 auto;
}
.archive__inner {
  margin-top: 8.046875vw;
}
@media screen and (max-width: 768px) {
  .archive__inner {
    margin-top: 21.0666666667vw;
  }
}
.archive__content {
  background-color: #F6F6F6;
  width: 100%;
  margin-top: 5vw;
  padding-top: 9.375vw;
  padding-bottom: 18.75vw;
}
@media screen and (max-width: 768px) {
  .archive__content {
    margin-top: 10.6666666667vw;
    padding-top: 14.9333333333vw;
    padding-bottom: 42.6666666667vw;
  }
}
.archive__list {
  max-width: 78.125vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .archive__list {
    max-width: 91.4666666667vw;
  }
}
.archive__item {
  border-bottom: 1px solid #D4D4D4;
  padding: 2.5vw 0;
  cursor: pointer;
}
.archive__item:first-child {
  padding-top: 0;
}
@media screen and (max-width: 768px) {
  .archive__item {
    padding: 6.4vw 0;
  }
}
.archive__link {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
.archive__link:hover {
  opacity: 0.7;
}
.archive__date {
  display: block;
  text-align: left;
  font-family: "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  font-size: 1.25vw;
  color: #C30D23;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .archive__date {
    font-size: 4.2666666667vw;
  }
}
.archive__item-title {
  font-size: 1.5625vw;
  font-family: "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  color: #000;
  font-weight: 400;
  padding-right: 6.40625vw;
  text-align: left;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 768px) {
  .archive__item-title {
    font-size: 4.8vw;
    padding-right: 11.2vw;
    display: -webkit-box;
    -webkit-line-clamp: 3;
  }
}
.archive__icon {
  width: 1.40625vw;
  height: 1.40625vw;
  position: absolute;
  right: 2.5vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .archive__icon {
    width: 4.8vw;
    height: 4.8vw;
    right: 2.1333333333vw;
  }
}
.archive__no-posts {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1px, 1.40625vw, 18px);
  color: #D4D4D4;
  padding: 4.6875vw 0;
}
@media screen and (max-width: 768px) {
  .archive__no-posts {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .archive__no-posts {
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(1px, 1.25vw, 16px);
    padding: 10.6666666667vw 0;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .archive__no-posts {
    font-size: 3.7333333333vw;
  }
}
.archive__pagination {
  margin-top: 6.25vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .archive__pagination {
    margin-top: 10.6666666667vw;
  }
}

.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625vw;
}
@media screen and (max-width: 768px) {
  .pagination {
    gap: 2.1333333333vw;
  }
}
.pagination__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3.125vw;
  height: 3.125vw;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .pagination__btn {
    width: 8.8vw;
    height: 8.8vw;
  }
}
.pagination__btn img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.pagination__btn--active {
  cursor: pointer;
}
.pagination__btn--active:hover {
  opacity: 0.7;
}
.pagination__btn--disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.pagination__number {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 3.125vw;
  height: 3.125vw;
  padding: 0 0.625vw;
  font-family: "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  font-size: 1.25vw;
  color: #000;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 2px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-color: #D4D4D4;
}
@media screen and (max-width: 768px) {
  .pagination__number {
    min-width: 8.5333333333vw;
    height: 8.5333333333vw;
    padding: 0 1.6vw;
    font-size: 3.2vw;
  }
}
.pagination__number--current {
  background-color: #000;
  color: #fff;
  border-color: #000;
}
.pagination__number:hover:not(.pagination__number--current) {
  background-color: rgba(0, 27, 94, 0.1);
}
.pagination__dots {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1px, 1.25vw, 16px);
  color: #000;
  padding: 0 0.3125vw;
}
@media screen and (max-width: 768px) {
  .pagination__dots {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .pagination__dots {
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(1px, 1.09375vw, 14px);
    padding: 0 0.8vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .pagination__dots {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 768px) {
  .pagination__dots--pc {
    display: none;
  }
}
.pagination__dots--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .pagination__dots--sp {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .pagination__number--pc-first, .pagination__number--pc-last {
    display: none;
  }
}
.pagination__number--sp-first, .pagination__number--sp-last {
  display: none;
}
@media screen and (max-width: 768px) {
  .pagination__number--sp-first, .pagination__number--sp-last {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}
@media screen and (max-width: 768px) {
  .pagination__number--pc-hidden {
    display: none;
  }
}
.pagination__number--sp-hidden {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
@media screen and (max-width: 768px) {
  .pagination__number--sp-hidden {
    display: none;
  }
}

.single {
  margin: 0 auto;
}
.single__inner {
  margin-top: 8.046875vw;
}
@media screen and (max-width: 768px) {
  .single__inner {
    margin-top: 21.0666666667vw;
  }
}
.single__content {
  background-color: #F6F6F6;
  width: 100%;
  margin-top: 5vw;
  padding-top: 9.375vw;
  padding-bottom: 18.75vw;
}
@media screen and (max-width: 768px) {
  .single__content {
    margin-top: 10.6666666667vw;
    padding-top: 14.9333333333vw;
    padding-bottom: 42.6666666667vw;
  }
}
.single__date {
  display: block;
  text-align: left;
  font-family: "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  font-size: 1.25vw;
  color: #C30D23;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .single__date {
    font-size: 4.2666666667vw;
  }
}
.single__article {
  position: relative;
  background-color: #f8f8f8;
  max-width: 65.625vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .single__article {
    max-width: 100%;
    padding: 0 4.2666666667vw;
  }
}
.single__article-title {
  position: relative;
  font-size: 2.34375vw;
  font-family: "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  color: #000;
  font-weight: 700;
  text-align: left;
  margin-top: 1.875vw;
  margin-bottom: 4.375vw;
  padding-bottom: 1.875vw;
}
@media screen and (max-width: 768px) {
  .single__article-title {
    font-size: 6.4vw;
    padding-bottom: 4.2666666667vw;
    margin-bottom: 10.6666666667vw;
  }
}
.single__article-title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 11.875vw;
  height: 2px;
  background-color: #C30D23;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .single__article-title::before {
    width: 28.2666666667vw;
  }
}
.single__article-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #D4D4D4;
}
.single__article-content {
  color: #000;
  font-size: 1.25vw;
  font-weight: 300;
  text-align: left;
  font-family: "Zen Kaku Gothic New";
}
@media screen and (max-width: 768px) {
  .single__article-content {
    font-size: 4.2666666667vw;
  }
}
.single__article-content p {
  margin: 0 0 1.875vw 0;
}
@media screen and (max-width: 768px) {
  .single__article-content p {
    margin-bottom: 5.3333333333vw;
  }
}
.single__article-content p:last-child {
  margin-bottom: 0;
}
.single__article-content h1, .single__article-content h2, .single__article-content h3, .single__article-content h4, .single__article-content h5, .single__article-content h6 {
  margin: 3.125vw 0 1.5625vw 0;
}
@media screen and (max-width: 768px) {
  .single__article-content h1, .single__article-content h2, .single__article-content h3, .single__article-content h4, .single__article-content h5, .single__article-content h6 {
    margin: 8vw 0 4vw 0;
  }
}
.single__article-content h1:first-child, .single__article-content h2:first-child, .single__article-content h3:first-child, .single__article-content h4:first-child, .single__article-content h5:first-child, .single__article-content h6:first-child {
  margin-top: 0;
}
.single__article-content h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1px, 1.875vw, 24px);
  color: #000;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .single__article-content h2 {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .single__article-content h2 {
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(1px, 1.5625vw, 20px);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .single__article-content h2 {
    font-size: 4.8vw;
  }
}
.single__article-content h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1px, 1.5625vw, 20px);
  color: #000;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .single__article-content h3 {
    font-size: 4.8vw;
  }
}
@media screen and (max-width: 768px) {
  .single__article-content h3 {
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(1px, 1.40625vw, 18px);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .single__article-content h3 {
    font-size: 4.2666666667vw;
  }
}
.single__article-content ul, .single__article-content ol {
  margin: 1.875vw 0;
  padding-left: 1.875vw;
}
@media screen and (max-width: 768px) {
  .single__article-content ul, .single__article-content ol {
    margin: 5.3333333333vw 0;
    padding-left: 5.3333333333vw;
  }
}
.single__article-content li {
  margin-bottom: 0.625vw;
}
@media screen and (max-width: 768px) {
  .single__article-content li {
    margin-bottom: 1.6vw;
  }
}
.single__article-content li:last-child {
  margin-bottom: 0;
}
.single__article-content a {
  color: #001B5E;
  text-decoration: underline;
}
.single__article-content a:hover {
  opacity: 0.7;
}
.single__article-content img {
  max-width: 100%;
  height: auto;
  margin: 1.875vw 0;
}
@media screen and (max-width: 768px) {
  .single__article-content img {
    margin: 5.3333333333vw 0;
  }
}
.single__article-content blockquote {
  margin: 2.5vw 0;
  padding: 1.5625vw;
  background-color: rgba(0, 27, 94, 0.05);
  border-left: 0.3125vw solid #001B5E;
}
@media screen and (max-width: 768px) {
  .single__article-content blockquote {
    margin: 6.4vw 0;
    padding: 4vw;
    border-left-width: 0.8vw;
  }
}
.single__back {
  text-align: center;
}
.single__back-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.9375vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.25vw;
  font-family: "Zen Kaku Gothic New";
  color: #000;
  font-weight: 400;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-top: 6.25vw;
}
@media screen and (max-width: 768px) {
  .single__back-link {
    font-size: 4.2666666667vw;
    margin-top: 10.6666666667vw;
    gap: 2.1333333333vw;
  }
}
.single__back-link:hover {
  opacity: 0.7;
}
.single__back-icon {
  width: 1.40625vw;
  height: 1.40625vw;
}
@media screen and (max-width: 768px) {
  .single__back-icon {
    width: 4.8vw;
    height: 4.8vw;
  }
}

.use-case-archive__header-bg {
  background-image: url("../images/use-case/use-case_header_bg.webp");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 8.046875vw;
  padding-bottom: 9.375vw;
  position: relative;
  background-color: #F6F6F6;
}
@media screen and (max-width: 768px) {
  .use-case-archive__header-bg {
    padding-top: 21.0666666667vw;
    padding-bottom: 21.3333333333vw;
    background-image: url("../images/use-case/use-case_header_bg_sp.webp");
  }
}
.use-case-archive__header-content {
  max-width: 78.125vw;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .use-case-archive__header-content {
    max-width: 91.4666666667vw;
  }
}
.use-case-archive__header-content .breadcrumb__link, .use-case-archive__header-content .breadcrumb__text {
  color: #fff !important;
}
.use-case-archive__header-content .breadcrumb__item:not(:last-child)::after {
  color: #fff !important;
}
.use-case-archive__header-content .title__title-en, .use-case-archive__header-content .title__title-ja {
  color: #fff !important;
}
.use-case-archive__description {
  background-color: #F6F6F6;
  padding: 6.25vw 0 3.125vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .use-case-archive__description {
    padding: 10.6666666667vw 0;
  }
}
.use-case-archive__description-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25vw;
  color: #000;
  line-height: 1.8;
  max-width: 78.125vw;
  margin: 0 auto;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .use-case-archive__description-text {
    font-size: 4.2666666667vw;
    max-width: 91.4666666667vw;
  }
}
.use-case-archive__content {
  background-color: #F6F6F6;
  padding-bottom: 15.625vw;
}
@media screen and (max-width: 768px) {
  .use-case-archive__content {
    padding-bottom: 42.6666666667vw;
  }
}
.use-case-archive__list {
  max-width: 78.125vw;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.125vw;
}
@media screen and (max-width: 768px) {
  .use-case-archive__list {
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
    padding: 0 4.2666666667vw;
    grid-template-columns: 1fr;
    gap: 8.5333333333vw;
  }
}
.use-case-archive__item {
  background: #fff;
  overflow: hidden;
  -webkit-box-shadow: 0 0.3125vw 1.25vw rgba(0, 0, 0, 0.1);
          box-shadow: 0 0.3125vw 1.25vw rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .use-case-archive__item {
    -webkit-box-shadow: 0 1.0666666667vw 4.2666666667vw rgba(0, 0, 0, 0.1);
            box-shadow: 0 1.0666666667vw 4.2666666667vw rgba(0, 0, 0, 0.1);
  }
}
.use-case-archive__link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.use-case-archive__image {
  position: relative;
  width: 100%;
  height: 23.4375vw;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .use-case-archive__image {
    height: 53.3333333333vw;
  }
}
.use-case-archive__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.use-case-archive__image:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.use-case-archive__badge {
  position: absolute;
  bottom: 0.9375vw;
  left: 0;
  background: #C30D23;
  color: #fff;
  padding: 0.3125vw 1.875vw;
  font-size: 0.9375vw;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .use-case-archive__badge {
    bottom: 3.2vw;
    left: 0;
    padding: 1.0666666667vw 6.4vw;
    font-size: 3.2vw;
  }
}
.use-case-archive__content-wrapper {
  padding: 1.875vw;
}
@media screen and (max-width: 768px) {
  .use-case-archive__content-wrapper {
    padding: 5.3333333333vw;
  }
}
.use-case-archive__company {
  font-family: "Zen Old Mincho";
  font-size: 1.25vw;
  color: #000;
  text-align: left;
  margin-bottom: 0.78125vw;
  padding-bottom: 0.78125vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .use-case-archive__company {
    font-size: 3.2vw;
    margin-bottom: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}
.use-case-archive__company::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 11.875vw;
  height: 2px;
  background-color: #C30D23;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .use-case-archive__company::before {
    width: 28.2666666667vw;
  }
}
.use-case-archive__company::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #D4D4D4;
}
.use-case-archive__item-title {
  font-family: "Zen Old Mincho";
  font-size: 1.5625vw;
  line-height: 1.6;
  color: #000;
  text-align: left;
  font-weight: 400;
  margin-bottom: 1.5625vw;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 768px) {
  .use-case-archive__item-title {
    font-size: 4.2666666667vw;
    margin-bottom: 4.2666666667vw;
    -webkit-line-clamp: 3;
  }
}
.use-case-archive__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625vw;
  background-color: #F6F6F6;
  padding: 1.875vw;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .use-case-archive__meta {
    gap: 1.6vw;
    padding: 5.3333333333vw;
  }
}
.use-case-archive__meta-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.625vw;
}
@media screen and (max-width: 768px) {
  .use-case-archive__meta-item {
    gap: 1.6vw;
  }
}
.use-case-archive__meta-label {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.09375vw;
  color: #000;
  min-width: 4.6875vw;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .use-case-archive__meta-label {
    font-size: 3.7333333333vw;
    min-width: 23.4666666667vw;
  }
}
.use-case-archive__meta-value {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.09375vw;
  color: #000;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 768px) {
  .use-case-archive__meta-value {
    font-size: 3.7333333333vw;
  }
}
.use-case-archive__no-posts {
  grid-column: 1/-1;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1px, 1.40625vw, 18px);
  color: #D4D4D4;
  padding: 4.6875vw 0;
}
@media screen and (max-width: 768px) {
  .use-case-archive__no-posts {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .use-case-archive__no-posts {
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(1px, 1.25vw, 16px);
    padding: 10.6666666667vw 0;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .use-case-archive__no-posts {
    font-size: 3.7333333333vw;
  }
}

.single-use-case {
  margin: 0 auto;
  background-color: #F6F6F6;
}
.single-use-case__inner {
  margin-top: 6.25vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__inner {
    margin-top: 16vw;
  }
}
.single-use-case__content {
  padding: 1.875vw 0;
}
@media screen and (max-width: 768px) {
  .single-use-case__content {
    padding: 6.4vw 0;
  }
}
.single-use-case__content-inner {
  max-width: 78.125vw;
  margin: 5.625vw auto 0;
  display: grid;
  grid-template-columns: 1fr 21.875vw;
  gap: 4.6875vw;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .single-use-case__content-inner {
    max-width: 91.4666666667vw;
    margin: 10.6666666667vw auto 0;
    grid-template-columns: 1fr;
    gap: 10.6666666667vw;
  }
}
.single-use-case__content-right {
  position: sticky;
  margin-top: 4.53125vw;
  background-color: #fff;
  top: 7.8125vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__content-right {
    display: none;
  }
}
.single-use-case__content-title {
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__content-title {
    margin-bottom: 6.4vw;
  }
}
.single-use-case__content-title-company {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.25vw;
  color: #000;
  font-weight: 500;
  text-align: left;
  position: relative;
  text-align: left;
  margin-bottom: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__content-title-company {
    font-size: 4.2666666667vw;
    margin-bottom: 3.2vw;
  }
}
.single-use-case__content-title-text {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.34375vw;
  color: #000;
  font-weight: 400;
  text-align: left;
}
.single-use-case__content-title-text em {
  color: #C30D23;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .single-use-case__content-title-text {
    font-size: 5.3333333333vw;
  }
}
.single-use-case__content-image {
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__content-image {
    width: 100vw;
    margin: 0 calc(50% - 50vw) 0;
  }
}
.single-use-case__content-image img {
  height: auto;
}
.single-use-case__stats {
  background: #D4D4D4;
  margin-bottom: 6.25vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__stats {
    margin-bottom: 8.5333333333vw;
  }
}
.single-use-case__stats-inner {
  margin: 0 auto;
  padding: 1.875vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__stats-inner {
    max-width: 91.4666666667vw;
    padding: 8.5333333333vw 6.4vw;
  }
}
.single-use-case__stats-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25vw;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .single-use-case__stats-grid {
    grid-template-columns: repeat(1, 1fr);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.2vw;
  }
}
.single-use-case__stat-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #fff;
  overflow: hidden;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 30%;
          flex: 1 0 30%;
}
@media screen and (max-width: 768px) {
  .single-use-case__stat-item {
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
        -ms-flex-direction: unset;
            flex-direction: unset;
    width: 100%;
  }
}
.single-use-case__stat-box {
  background: -webkit-gradient(linear, left top, right top, from(#8D0111), to(#C30D23));
  background: linear-gradient(90deg, #8D0111 0%, #C30D23 100%);
  padding: 0.78125vw 1.25vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 7.8125vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__stat-box {
    padding: 6.4vw 3.2vw;
    min-width: auto;
    width: 26.6666666667vw;
    min-height: 13.3333333333vw;
  }
}
.single-use-case__stat-label {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.09375vw;
  color: #fff;
  line-height: 1.3;
  text-align: center;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .single-use-case__stat-label {
    font-size: 3.7333333333vw;
  }
}
.single-use-case__stat-content {
  padding: 1.5625vw 0.9375vw;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .single-use-case__stat-content {
    padding: 4.2666666667vw 3.2vw;
  }
}
.single-use-case__stat-value {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.875vw;
  color: #C30D23;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 0.3125vw;
  text-align: center;
}
.single-use-case__stat-value.--size-l {
  font-size: 1.875vw;
}
.single-use-case__stat-value.--size-m {
  font-size: 1.5625vw;
}
.single-use-case__stat-value.--size-s {
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__stat-value {
    font-size: 6.9333333333vw;
    margin-bottom: 0.8vw;
    font-weight: 500;
    text-align: left;
  }
  .single-use-case__stat-value.--size-l {
    font-size: 6.9333333333vw;
  }
  .single-use-case__stat-value.--size-m {
    font-size: 5.3333333333vw;
  }
  .single-use-case__stat-value.--size-s {
    font-size: 4.2666666667vw;
  }
}
.single-use-case__stat-note {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.78125vw;
  color: #000;
  line-height: 1.3;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .single-use-case__stat-note {
    font-size: 3.2vw;
    text-align: left;
  }
}
.single-use-case__section {
  margin-bottom: 2.5vw;
  padding: 1.25vw 0 2.5vw;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .single-use-case__section {
    margin-bottom: 8.5333333333vw;
    padding: 4.2666666667vw 0 6.4vw;
  }
}
.single-use-case__section.--last {
  margin-bottom: 6.25vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__section.--last {
    margin-bottom: 14.9333333333vw;
  }
}
.single-use-case__intro {
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__intro {
    margin-bottom: 8.5333333333vw;
  }
}
.single-use-case__intro:last-child {
  margin-bottom: 0;
}
.single-use-case__intro-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25vw;
  line-height: 1.8;
  color: #000;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__intro-text {
    font-size: 3.7333333333vw;
  }
}
.single-use-case__section-heading {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.5625vw;
  color: #000;
  padding-bottom: 1.25vw;
  padding-left: 1.875vw;
  border-bottom: 1px solid #D4D4D4;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__section-heading {
    font-size: 5.3333333333vw;
    margin-bottom: 6.4vw;
    padding-bottom: 4.2666666667vw;
    padding-left: 6.4vw;
  }
}
.single-use-case__subsection {
  padding: 1.875vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__subsection {
    padding: 0 4.2666666667vw 6.4vw;
  }
}
.single-use-case__subsection:last-child {
  padding-bottom: 0;
}
.single-use-case__subsection-heading {
  font-size: 1.40625vw;
  color: #C30D23;
  margin-bottom: 1.25vw;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__subsection-heading {
    font-size: 4.2666666667vw;
    margin-bottom: 4.2666666667vw;
  }
}
.single-use-case__list {
  margin: 0;
  padding: 0;
}
.single-use-case__list li {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25vw;
  line-height: 1.8;
  color: #000;
  margin-bottom: 0.9375vw;
  padding-left: 1.5625vw;
  position: relative;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__list li {
    font-size: 4.2666666667vw;
    margin-bottom: 2.1333333333vw;
    padding-left: 3.2vw;
  }
}
.single-use-case__list li::before {
  content: "";
  background-color: #C30D23;
  width: 0.46875vw;
  height: 0.46875vw;
  border-radius: 50%;
  position: absolute;
  left: 0.5333333333vw;
  top: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__list li::before {
    width: 1.6vw;
    height: 1.6vw;
    top: 2.6666666667vw;
  }
}
.single-use-case__list li:last-child {
  margin-bottom: 0;
}
.single-use-case__process-intro {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25vw;
  line-height: 1.8;
  color: #000;
  padding: 1.875vw;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__process-intro {
    font-size: 3.7333333333vw;
    padding: 6.4vw 0;
  }
}
.single-use-case__process-steps {
  padding: 0 1.875vw;
}
.single-use-case__step {
  border-left: 4px solid #C30D23;
  padding-left: 1.5625vw;
  padding-bottom: 1.25vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__step {
    padding-left: 4.2666666667vw;
    padding-bottom: 4.2666666667vw;
  }
}
.single-use-case__step:last-child {
  padding-bottom: 0;
}
.single-use-case__step-header {
  text-align: left;
}
.single-use-case__step-label {
  font-size: 1.25vw;
  color: #C30D23;
  font-weight: 600;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__step-label {
    font-size: 3.7333333333vw;
  }
}
.single-use-case__step-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25vw;
  line-height: 1.8;
  color: #000;
  margin: 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__step-text {
    font-size: 3.7333333333vw;
  }
}
.single-use-case__sp-content {
  display: none;
}
@media screen and (max-width: 768px) {
  .single-use-case__sp-content {
    display: block;
    background-color: #fff;
    margin-bottom: 8.5333333333vw;
    margin-top: -7svh;
    position: relative;
    z-index: 1;
  }
}
.single-use-case__company-info {
  top: 7.8125vw;
  padding: 2.5vw 1.875vw 0;
}
@media screen and (max-width: 768px) {
  .single-use-case__company-info {
    padding: 6.4vw 6.4vw 3.2vw;
  }
}
.single-use-case__company-logo {
  text-align: center;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__company-logo {
    margin-bottom: 6.4vw;
  }
}
.single-use-case__company-logo img {
  max-width: 11.71875vw;
  margin: auto;
  height: auto;
}
@media screen and (max-width: 768px) {
  .single-use-case__company-logo img {
    max-width: 31.2vw;
  }
}
.single-use-case__detail-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.875vw;
  padding-bottom: 1.875vw;
  border-bottom: 1px solid #D4D4D4;
}
@media screen and (max-width: 768px) {
  .single-use-case__detail-item {
    margin-bottom: 6.4vw;
    padding-bottom: 6.4vw;
  }
}
.single-use-case__detail-label {
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.9375vw;
  font-weight: 600;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 5.625vw;
          flex: 0 0 5.625vw;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__detail-label {
    font-size: 3.7333333333vw;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 19.2vw;
            flex: 0 0 19.2vw;
  }
}
.single-use-case__detail-value {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.09375vw;
  color: #000;
  line-height: 1.6;
  font-weight: 400;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__detail-value {
    font-size: 3.7333333333vw;
  }
}
.single-use-case__voice-inner {
  max-width: 78.125vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .single-use-case__voice-inner {
    max-width: none;
  }
}
.single-use-case__voice-title {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.34375vw;
  color: #000;
  margin-bottom: 1.25vw;
  padding-bottom: 2.5vw;
  font-weight: 400;
  text-align: left;
  position: relative;
}
@media screen and (max-width: 768px) {
  .single-use-case__voice-title {
    font-size: 6.4vw;
    margin-bottom: 3.2vw;
    padding-bottom: 8.5333333333vw;
  }
}
.single-use-case__voice-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 4.6875vw;
  height: 2px;
  background-color: #C30D23;
}
@media screen and (max-width: 768px) {
  .single-use-case__voice-title::after {
    width: 12vw;
    height: 2px;
  }
}
.single-use-case__voice-content {
  margin-bottom: 4.6875vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__voice-content {
    margin-bottom: 8.5333333333vw;
  }
}
.single-use-case__voice-intro {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.875vw;
  color: #000;
  margin-bottom: 3.125vw;
  text-align: left;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .single-use-case__voice-intro {
    font-size: 5.3333333333vw;
    margin-bottom: 8.5333333333vw;
  }
}
.single-use-case__voice-detail {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25vw;
  line-height: 1.8;
  color: #000;
  margin: 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__voice-detail {
    font-size: 4.2666666667vw;
  }
}
.single-use-case__interview-title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25vw;
  color: #000;
  margin-bottom: 1.25vw;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__interview-title {
    font-size: 4.2666666667vw;
    margin-bottom: 4.2666666667vw;
  }
}
.single-use-case__interview-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25vw;
  margin-bottom: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__interview-grid {
    grid-template-columns: 1fr;
    gap: 4.2666666667vw;
    margin-bottom: 3.2vw;
  }
}
.single-use-case__interview-person {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.5625vw;
  background-color: #fff;
  padding: 1.25vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__interview-person {
    gap: 4.2666666667vw;
    padding: 4.2666666667vw;
  }
}
.single-use-case__person-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6.25vw;
  height: auto;
  aspect-ratio: 3/4;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .single-use-case__person-image {
    width: 20.2666666667vw;
    height: auto;
  }
}
.single-use-case__person-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.single-use-case__person-info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.single-use-case__person-name {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25vw;
  color: #000;
  margin-bottom: 0.3125vw;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__person-name {
    font-size: 4.2666666667vw;
    margin-bottom: 1.0666666667vw;
  }
}
.single-use-case__person-company {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.9375vw;
  color: #000;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__person-company {
    font-size: 3.2vw;
    margin-bottom: 0;
  }
}
.single-use-case__person-position {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.9375vw;
  color: #000;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__person-position {
    font-size: 3.2vw;
  }
}
.single-use-case__interview-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.859375vw;
  color: #000;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__interview-text {
    font-size: 2.9333333333vw;
  }
}
.single-use-case__qa {
  padding: 4.375vw 0;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa {
    padding: 8.5333333333vw 0 0;
  }
}
.single-use-case__qa-inner {
  margin: 0 auto;
}
.single-use-case__qa-item {
  margin-bottom: 2.5vw;
}
.single-use-case__qa-item:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-item {
    margin-bottom: 6.4vw;
  }
}
.single-use-case__qa-item.--float-right .--clear, .single-use-case__qa-item.--float-left .--clear {
  clear: both;
}
.single-use-case__qa-question {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25vw;
  color: #C30D23;
  margin-bottom: 2.5vw;
  font-weight: 500;
  text-align: left;
  position: relative;
  padding-left: 3.28125vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-question {
    font-size: 4.2666666667vw;
    margin-bottom: 6.4vw;
    padding-left: 11.2vw;
    font-weight: 600;
  }
}
.single-use-case__qa-question::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 28px;
  height: 1px;
  background-color: #C30D23;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-question::after {
    height: 1px;
  }
}
.single-use-case__qa-answer-block.--margin-bottom {
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-answer-block.--margin-bottom {
    margin-bottom: 6.4vw;
  }
}
.single-use-case__qa-speaker {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #F6F6F6;
  padding: 0.625vw 1.25vw;
  border-radius: 0.3125vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-speaker {
    padding: 1.6vw 3.2vw;
    border-radius: 1.0666666667vw;
  }
}
.single-use-case__qa-speaker-label {
  color: #000;
  font-weight: 600;
}
.single-use-case__qa-answer-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.single-use-case__qa-answer-content p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25vw;
  line-height: 1.8;
  color: #000;
  margin: 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-answer-content p {
    font-size: 4.2666666667vw;
  }
}
.single-use-case__qa-answer-content p:not(:last-child) {
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-answer-content p:not(:last-child) {
    margin-bottom: 3.2vw;
  }
}
.single-use-case__qa-answer-content img {
  display: inline-block;
}
.single-use-case__qa-answer-content img.--size-s {
  width: 50%;
}
.single-use-case__qa-answer-content img.--size-m {
  width: 80%;
}
.single-use-case__qa-answer-content img.--size-l {
  width: 100%;
}
.single-use-case__qa-answer-content.--float-right .--space {
  float: right;
  height: 7.5vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-answer-content.--float-right .--space {
    height: 25.6vw;
  }
}
.single-use-case__qa-answer-content.--float-left .--space {
  float: left;
  height: 7.5vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-answer-content.--float-left .--space {
    height: 25.6vw;
  }
}
.single-use-case__qa-image {
  margin-top: 1.875vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-image {
    margin-top: 5.3333333333vw;
  }
}
.single-use-case__qa-image img {
  width: 100%;
  height: auto;
  border-radius: 0.625vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-image img {
    border-radius: 1.6vw;
  }
}
.single-use-case__qa-float-image-wrapper.--float-right {
  clear: both;
  float: right;
  padding-left: 1.25vw;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-float-image-wrapper.--float-right {
    padding-left: 4.2666666667vw;
  }
}
.single-use-case__qa-float-image-wrapper.--float-left {
  clear: both;
  float: left;
  padding-right: 1.25vw;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-float-image-wrapper.--float-left {
    padding-right: 4.2666666667vw;
  }
}
.single-use-case__qa-float-image-wrapper.--size-s {
  width: 25%;
}
.single-use-case__qa-float-image-wrapper.--size-m {
  width: 40%;
}
.single-use-case__qa-float-image-wrapper.--size-l {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .single-use-case__qa-float-image-wrapper.--size-s, .single-use-case__qa-float-image-wrapper.--size-m, .single-use-case__qa-float-image-wrapper.--size-l {
    width: 50%;
  }
}
.single-use-case__related {
  max-width: 78.125vw;
  background: #F6F6F6;
  margin: 0 auto;
  padding: 6.25vw 0 18.75vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__related {
    max-width: none;
    padding: 21.3333333333vw 0 42.6666666667vw;
  }
}
.single-use-case__related-inner {
  max-width: 93.75vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-inner {
    max-width: 91.4666666667vw;
    padding: 0;
  }
}
.single-use-case__related-title {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.34375vw;
  color: #000;
  margin-bottom: 3.125vw;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-title {
    font-size: 5.3333333333vw;
    margin-bottom: 6.4vw;
  }
}
.single-use-case__related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5vw;
  margin-bottom: 4.6875vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-grid {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 12.8vw;
  }
}
.single-use-case__related-item {
  background: #fff;
  overflow: hidden;
  -webkit-box-shadow: 0 0.3125vw 0.9375vw 0.3125vw rgba(0, 0, 0, 0.1);
          box-shadow: 0 0.3125vw 0.9375vw 0.3125vw rgba(0, 0, 0, 0.1);
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-item {
    -webkit-box-shadow: 0 1.0666666667vw 3.2vw rgba(0, 0, 0, 0.1);
            box-shadow: 0 1.0666666667vw 3.2vw rgba(0, 0, 0, 0.1);
  }
}
.single-use-case__related-link {
  display: block;
  color: inherit;
  text-decoration: none;
  height: 100%;
}
.single-use-case__related-image {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.single-use-case__related-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.single-use-case__related-image:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.single-use-case__related-badge {
  position: absolute;
  bottom: 0.9375vw;
  left: 0;
  background: #C30D23;
  padding: 0.3125vw 0.9375vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-badge {
    bottom: 2.6666666667vw;
    left: 0;
    padding: 0.8vw 2.6666666667vw;
  }
}
.single-use-case__related-badge-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.78125vw;
  color: #fff;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-badge-text {
    font-size: 3.2vw;
  }
}
.single-use-case__related-content {
  padding: 1.40625vw 1.875vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-content {
    padding: 6.4vw 6.4vw;
  }
}
.single-use-case__related-company {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.09375vw;
  color: #000;
  margin-bottom: 0.9375vw;
  padding-bottom: 0.9375vw;
  text-align: left;
  position: relative;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-company {
    font-size: 3.7333333333vw;
    margin-bottom: 3.2vw;
    padding-bottom: 2.6666666667vw;
  }
}
.single-use-case__related-company::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 11.875vw;
  height: 2px;
  background-color: #C30D23;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-company::before {
    width: 28.2666666667vw;
  }
}
.single-use-case__related-company::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #D4D4D4;
}
.single-use-case__related-item-title {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.40625vw;
  color: #000;
  margin-bottom: 1.25vw;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-item-title {
    font-size: 5.3333333333vw;
    margin-bottom: 4.2666666667vw;
  }
}
.single-use-case__related-meta {
  background-color: #F6F6F6;
  padding: 1.25vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-meta {
    padding: 5.3333333333vw;
  }
}
.single-use-case__related-meta-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.40625vw;
  margin-bottom: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-meta-item {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    margin-bottom: 0.8vw;
  }
}
.single-use-case__related-meta-item:last-child {
  margin-bottom: 0;
}
.single-use-case__related-meta-label {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.09375vw;
  color: #000;
  min-width: 4.6875vw;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-meta-label {
    font-size: 3.7333333333vw;
    min-width: 20.8vw;
  }
}
.single-use-case__related-meta-value {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.09375vw;
  color: #000;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-meta-value {
    font-size: 3.7333333333vw;
    text-align: left;
  }
}
.single-use-case__related-no-posts {
  grid-column: 1/-1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25vw;
  color: #D4D4D4;
  text-align: center;
  padding: 3.125vw 0;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-no-posts {
    font-size: 3.7333333333vw;
    padding: 8.5333333333vw 0;
  }
}
@media screen and (min-width: 768px) {
  .single-use-case__related-swiper .swiper-wrapper {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.875vw;
    -webkit-transform: none !important;
            transform: none !important;
  }
  .single-use-case__related-swiper .swiper-slide {
    width: auto !important;
    margin-right: 0 !important;
  }
}
@media (max-width: 425px) {
  .single-use-case__related-swiper {
    overflow: visible;
    padding-right: 6.4vw;
  }
  .single-use-case__related-swiper .swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .single-use-case__related-swiper .swiper-slide {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 77.3333333333vw !important;
  }
}
.single-use-case__related-button {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-button {
    margin-top: 8.5333333333vw;
  }
}
.single-use-case__related-view-all {
  display: inline-block;
  background: transparent;
  border: 1px solid #C30D23;
  color: #C30D23;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25vw;
  font-weight: 400;
  text-decoration: none;
  padding: 1.25vw 3.125vw;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  min-width: 24.375vw;
}
@media screen and (max-width: 768px) {
  .single-use-case__related-view-all {
    font-size: 4.2666666667vw;
    padding: 3.2vw 16vw;
    min-width: 53.3333333333vw;
  }
}
.single-use-case__related-view-all:hover {
  background: #C30D23;
  color: #fff;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  padding: 1.25vw 1.875vw;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .header {
    padding: 4vw 4.2666666667vw;
    background: #fff;
  }
}
.header .header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
.header .header__inner .header__logo {
  width: 11.953125vw;
}
@media screen and (max-width: 768px) {
  .header .header__inner .header__logo {
    width: 32vw;
  }
}
.header .header__inner .header__logo picture {
  width: 100%;
}
.header .header__inner .header__logo img {
  width: 100%;
}
.header .header__inner .header__logo .-normal {
  display: block;
}
.header .header__inner .header__logo .-color {
  display: none;
}
.header .header__inner .header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 4.375vw;
}
@media screen and (max-width: 768px) {
  .header .header__inner .header__nav {
    gap: 10.4vw;
  }
}
.header .header__inner .header__nav .header__nav_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 2.5vw;
}
@media screen and (max-width: 768px) {
  .header .header__inner .header__nav .header__nav_list {
    gap: 6.4vw;
  }
}
.header .header__inner .header__nav .header__nav_list.header__nav_list--page a {
  color: #fff;
  position: relative;
}
.header .header__inner .header__nav .header__nav_list.header__nav_list--page a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: #fff;
  -webkit-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
}
.header .header__inner .header__nav .header__nav_list.header__nav_list--page a:hover::after {
  width: 100%;
}
.header .header__inner .header__nav .header__nav_list a {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.09375vw;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 768px) {
  .header .header__inner .header__nav .header__nav_list--page {
    display: none;
  }
}
.header .header__inner .header__nav .header__nav_list--contact {
  gap: 1.25vw;
}
@media screen and (max-width: 768px) {
  .header .header__inner .header__nav .header__nav_list--contact {
    gap: 2.1333333333vw;
  }
}
.header .header__inner .header__nav .header__nav_list--contact a {
  font-family: "Zen Old Mincho";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 0.9375vw;
  width: 12.5vw;
  height: 3.671875vw;
}
@media screen and (max-width: 768px) {
  .header .header__inner .header__nav .header__nav_list--contact a.-gold {
    background: #DBBD86 !important;
    border: 1px solid #DBBD86 !important;
    color: #fff !important;
  }
  .header .header__inner .header__nav .header__nav_list--contact a.-white {
    background: #C30D23 !important;
    border: 1px solid #C30D23 !important;
    color: #fff !important;
  }
}
@media screen and (max-width: 768px) {
  .header .header__inner .header__nav .header__nav_list--contact a {
    font-size: 3.2vw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 8.2666666667vw;
    padding: 0 3.2vw;
  }
}
.header .header__inner .header__nav_sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .header .header__inner .header__nav_sp {
    position: fixed;
    right: 0;
    bottom: 0;
    background: #fff;
    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;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 6.4vw 0;
    z-index: 99;
    width: 82.6666666667vw;
    height: 160vw;
    padding: 8.5333333333vw 6.4vw;
    -webkit-transform: translateX(101%);
            transform: translateX(101%);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .header .header__inner .header__nav_sp.open {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.header .header__inner .header__nav_sp .header__nav_list_sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.2666666667vw 0;
  width: 100%;
}
.header .header__inner .header__nav_sp .header__nav_list_sp li {
  padding-bottom: 4.2666666667vw;
  border-bottom: 1px solid #D4D4D4;
  width: 100%;
  text-align: left;
}
.header .header__inner .header__nav_sp .header__nav_list_sp li a {
  font-size: 4.2666666667vw;
  color: #000;
  font-weight: 700;
}
.header .header__inner .header__nav_sp .header__nav_list_contact_sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.2666666667vw 0;
  width: 100%;
}
.header .header__inner .header__nav_sp .header__nav_list_contact_sp li {
  width: 100%;
  text-align: left;
  width: 69.8666666667vw;
  height: 12.5333333333vw;
}
.header .header__inner .header__nav_sp .header__nav_list_contact_sp li a {
  font-family: "Zen Old Mincho";
  font-size: 4.2666666667vw;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  background: #C30D23;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #C30D23;
}
.header .header__inner .header__nav_sp .header__nav_list_contact_sp li a.-gold {
  background: #DBBD86;
  border: 1px solid #DBBD86;
}
.header .header__inner .header__nav_sp_btn {
  display: none;
}
@media screen and (max-width: 768px) {
  .header .header__inner .header__nav_sp_btn {
    position: fixed;
    bottom: 4.2666666667vw;
    right: 4.2666666667vw;
    display: block;
    background: #000;
    z-index: 99;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border: none;
    outline: none;
    cursor: pointer;
  }
  .header .header__inner .header__nav_sp_btn span {
    display: block;
    width: 7.4666666667vw;
    height: 1px;
    background: #fff;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    position: absolute;
  }
  .header .header__inner .header__nav_sp_btn span:nth-child(1) {
    -webkit-transform: translateY(-1.0666666667vw);
            transform: translateY(-1.0666666667vw);
  }
  .header .header__inner .header__nav_sp_btn span:nth-child(2) {
    -webkit-transform: translateY(1.0666666667vw);
            transform: translateY(1.0666666667vw);
  }
  .header .header__inner .header__nav_sp_btn.open span:nth-child(1) {
    -webkit-transform: translateY(0) rotate(45deg);
            transform: translateY(0) rotate(45deg);
  }
  .header .header__inner .header__nav_sp_btn.open span:nth-child(2) {
    -webkit-transform: translateY(0) rotate(-45deg);
            transform: translateY(0) rotate(-45deg);
  }
}

.header__nav_sp_bg {
  display: none;
}
@media screen and (max-width: 768px) {
  .header__nav_sp_bg {
    display: block;
    position: fixed;
    top: 16.8vw;
    left: 0;
    width: 100vw;
    height: calc(100dvh - 16.8vw);
    background: rgba(0, 0, 0, 0.5);
    z-index: 98;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .header__nav_sp_bg.open {
    opacity: 1;
  }
}

#header.-color {
  background: #fff;
}
#header.-color .header__inner .header__logo .-normal {
  display: none;
}
#header.-color .header__inner .header__logo .-color {
  display: block;
}
#header.-color .header__inner .header__nav .header__nav_list a {
  color: #000;
}
#header.-color .header__inner .header__nav .header__nav_list--page a {
  position: relative;
}
#header.-color .header__inner .header__nav .header__nav_list--page a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: #000;
  -webkit-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
}
#header.-color .header__inner .header__nav .header__nav_list--page a:hover::after {
  width: 100%;
}
#header.-color .header__inner .header__nav .header__nav_list--contact a {
  border: 1px solid #C30D23;
  color: #fff;
  background: #C30D23;
}
@media screen and (max-width: 768px) {
  #header.-color .header__inner .header__nav .header__nav_list--contact a {
    border: 0.2666666667vw solid #C30D23;
    color: #fff;
    background: #C30D23;
  }
}
#header.-color .header__inner .header__nav .header__nav_list--contact a.-white:hover {
  color: #fff !important;
}
#header.-color .header__inner .header__nav .header__nav_list--contact a.-gold {
  border: 1px solid #DBBD86;
  color: #fff;
  background: #DBBD86;
}
@media screen and (max-width: 768px) {
  #header.-color .header__inner .header__nav .header__nav_list--contact a.-gold {
    border: 1px solid #DBBD86;
    color: #fff;
    background: #DBBD86;
  }
}
#header.-color .header__inner .header__nav .header__nav_list--contact a:hover {
  opacity: 0.8;
}
#header.-color .header__inner .header__nav_sp {
  display: none;
}
@media screen and (max-width: 768px) {
  #header.-color .header__inner .header__nav_sp {
    position: fixed;
    right: 0;
    bottom: 0;
    background: #fff;
    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;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 6.4vw 0;
    z-index: 99;
    width: 82.6666666667vw;
    height: 160vw;
    padding: 8.5333333333vw 6.4vw;
    -webkit-transform: translateX(101%);
            transform: translateX(101%);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  #header.-color .header__inner .header__nav_sp.open {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
#header.-color .header__inner .header__nav_sp .header__nav_list_sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.2666666667vw 0;
  width: 100%;
}
#header.-color .header__inner .header__nav_sp .header__nav_list_sp li {
  padding-bottom: 4.2666666667vw;
  border-bottom: 1px solid #D4D4D4;
  width: 100%;
  text-align: left;
}
#header.-color .header__inner .header__nav_sp .header__nav_list_sp li a {
  font-size: 4.2666666667vw;
  color: #000;
  font-weight: 700;
}
#header.-color .header__inner .header__nav_sp .header__nav_list_contact_sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.2666666667vw 0;
  width: 100%;
}
#header.-color .header__inner .header__nav_sp .header__nav_list_contact_sp li {
  width: 100%;
  text-align: left;
  width: 69.8666666667vw;
  height: 12.5333333333vw;
}
#header.-color .header__inner .header__nav_sp .header__nav_list_contact_sp li a {
  font-family: "Zen Old Mincho";
  font-size: 4.2666666667vw;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  background: #C30D23;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #C30D23;
}
#header.-color .header__inner .header__nav_sp .header__nav_list_contact_sp li a.-gold {
  background: #DBBD86;
  border: 1px solid #DBBD86;
}
#header.-color .header__inner .header__nav_sp_btn {
  display: none;
}
@media screen and (max-width: 768px) {
  #header.-color .header__inner .header__nav_sp_btn {
    position: fixed;
    bottom: 4.2666666667vw;
    right: 4.2666666667vw;
    display: block;
    background: #000;
    z-index: 99;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border: none;
    outline: none;
    cursor: pointer;
  }
  #header.-color .header__inner .header__nav_sp_btn span {
    display: block;
    width: 7.4666666667vw;
    height: 1px;
    background: #fff;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    position: absolute;
  }
  #header.-color .header__inner .header__nav_sp_btn span:nth-child(1) {
    -webkit-transform: translateY(-1.0666666667vw);
            transform: translateY(-1.0666666667vw);
  }
  #header.-color .header__inner .header__nav_sp_btn span:nth-child(2) {
    -webkit-transform: translateY(1.0666666667vw);
            transform: translateY(1.0666666667vw);
  }
  #header.-color .header__inner .header__nav_sp_btn.open span:nth-child(1) {
    -webkit-transform: translateY(0) rotate(45deg);
            transform: translateY(0) rotate(45deg);
  }
  #header.-color .header__inner .header__nav_sp_btn.open span:nth-child(2) {
    -webkit-transform: translateY(0) rotate(-45deg);
            transform: translateY(0) rotate(-45deg);
  }
}

.footer {
  background: #000;
  padding: 12.5vw 0 4.6875vw;
}
@media screen and (max-width: 768px) {
  .footer {
    padding: 28vw 0 14.9333333333vw;
  }
}
.footer .footer__inner {
  width: 89.296875vw;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .footer .footer__inner {
    width: 91.4666666667vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 8.5333333333vw;
  }
}
.footer .footer__left {
  width: 12.109375vw;
}
@media screen and (max-width: 768px) {
  .footer .footer__left {
    width: 32vw;
  }
}
.footer .footer__right {
  width: 56.71875vw;
}
@media screen and (max-width: 768px) {
  .footer .footer__right {
    width: 91.4666666667vw;
  }
}
.footer .footer__right .footer__right_list_top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 4.375vw;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 768px) {
  .footer .footer__right .footer__right_list_top {
    -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;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 6.4vw;
    margin-bottom: 6.4vw;
  }
}
.footer .footer__right .footer__right_list_top .footer__list_page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 2.5vw;
}
@media screen and (max-width: 768px) {
  .footer .footer__right .footer__right_list_top .footer__list_page {
    gap: 6.4vw;
  }
}
.footer .footer__right .footer__right_list_top .footer__list_page li a {
  display: block;
  font-size: 0.9375vw;
  font-weight: 500;
  color: #fff;
  position: relative;
}
@media screen and (max-width: 768px) {
  .footer .footer__right .footer__right_list_top .footer__list_page li a {
    font-size: 3.7333333333vw;
  }
}
.footer .footer__right .footer__right_list_top .footer__list_page li a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: #fff;
  -webkit-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
}
.footer .footer__right .footer__right_list_top .footer__list_page li a:hover::after {
  width: 100%;
}
.footer .footer__right .footer__right_list_top .footer__list_contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.25vw;
}
@media screen and (max-width: 768px) {
  .footer .footer__right .footer__right_list_top .footer__list_contact {
    gap: 3.2vw;
  }
}
.footer .footer__right .footer__right_list_top .footer__list_contact li {
  width: 12.5vw;
  height: 3.671875vw;
}
@media screen and (max-width: 768px) {
  .footer .footer__right .footer__right_list_top .footer__list_contact li {
    width: 32vw;
    height: 11.7333333333vw;
  }
}
.footer .footer__right .footer__right_list_top .footer__list_contact li a {
  font-family: "Zen Old Mincho";
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.25vw;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .footer .footer__right .footer__right_list_top .footer__list_contact li a {
    font-size: 3.7333333333vw;
  }
}
.footer .footer__right .footer__right_list_bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 3.125vw;
}
@media screen and (max-width: 768px) {
  .footer .footer__right .footer__right_list_bottom {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4.2666666667vw;
  }
}
.footer .footer__right .footer__right_list_bottom li {
  font-family: "Zen Kaku Gothic New";
  font-size: 0.9375vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .footer .footer__right .footer__right_list_bottom li {
    font-size: 3.2vw;
  }
}
.footer .footer__right .footer__right_list_bottom li a {
  color: #fff;
}
@media screen and (max-width: 768px) {
  .footer .footer__right .footer__right_list_bottom li.footer__right_list_bottom_copyright {
    width: 100%;
  }
}

.inner887 {
  width: 69.296875vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .inner887 {
    width: 91.4666666667vw;
  }
}

.inner1000 {
  width: 78.125vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .inner1000 {
    width: 91.4666666667vw;
  }
}

.sec_ttl {
  font-family: "Zen Old Mincho";
  font-size: 3.125vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 768px) {
  .sec_ttl {
    font-size: 9.0666666667vw;
    margin-bottom: 8.5333333333vw;
  }
}

.btn__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 24.375vw;
  height: 3.671875vw;
  padding: 0.9375vw 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border: 0.078125vw solid #C30D23;
  text-align: center;
  font-family: "Zen Old Mincho";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  color: #C30D23;
}
@media screen and (max-width: 768px) {
  .btn__more {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 4.2666666667vw;
    min-width: 53.3333333333vw;
    height: 12.5333333333vw;
    padding: 3.2vw 0;
  }
}

.btn__more_arrow {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  color: #000;
  padding-right: 2.34375vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .btn__more_arrow {
    font-size: 4.2666666667vw;
    padding-right: 6.9333333333vw;
  }
}
.btn__more_arrow:after {
  content: "";
  display: block;
  width: 1.40625vw;
  height: 1.40625vw;
  background-image: url(../images/common/icon_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto 0;
}
@media screen and (max-width: 768px) {
  .btn__more_arrow:after {
    width: 4.8vw;
    height: 4.8vw;
  }
}

.-white {
  color: #fff;
  border: 1px solid #fff;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.-white:hover {
  background: #fff;
  color: #C30D23 !important;
}

.-gold {
  color: #DBBD86;
  border: 1px solid #DBBD86;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.-gold:hover {
  background: #DBBD86;
  color: #fff !important;
}

/* fadeInクラス */
.fadeInImg, .fadeInImgItem {
  opacity: 0;
  -webkit-transition: 1s ease all;
  transition: 1s ease all;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
}

.fadeIn {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.front {
  background: #fff;
}
.front__inner {
  /* Esplatとは */
  /* 理由 */
  /* 導入事例 */
  /* 料金プラン */
  /* 機能一覧 */
  /* 導入までの流れ */
  /* よくある質問 */
  /* お知らせ */
}
.front__inner .kv {
  width: 100%;
  height: auto;
  aspect-ratio: 128/141;
  background-image: url(../images/front/bg_front_kv.webp);
  background-size: contain;
  background-position: top;
  background-repeat: no-repeat;
  padding-top: 10.078125vw;
  /* ニュースバナー部分 */
  /* 問題提起 */
}
@media screen and (max-width: 768px) {
  .front__inner .kv {
    padding-top: clamp(1px, 36.5333333333vw, 137px);
    background-image: url(../images/front/bg_front_kv_sp.webp);
    aspect-ratio: 375/1475;
    background-size: contain;
    background-position: top;
    background-repeat: no-repeat;
  }
}
.front__inner .kv .kv__inner {
  width: clamp(1px, 80vw, 1024px);
  margin: 0 auto;
  /* kv内フロー部分 */
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner {
    width: clamp(1px, 91.4666666667vw, 343px);
  }
}
.front__inner .kv .kv__inner .kv__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: clamp(1px, 12.5vw, 160px);
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: clamp(1px, 11.4666666667vw, 43px);
    margin-bottom: clamp(1px, 10.6666666667vw, 40px);
  }
}
.front__inner .kv .kv__inner .kv__top .kv__logo {
  width: clamp(1px, 26.5625vw, 340px);
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__top .kv__logo {
    width: clamp(1px, 40vw, 150px);
  }
}
.front__inner .kv .kv__inner .kv__top .kv__text-inner {
  width: clamp(1px, 46.875vw, 600px);
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__top .kv__text-inner {
    width: 100%;
  }
}
.front__inner .kv .kv__inner .kv__top .kv__text-inner .kv__title {
  font-family: "Zen Old Mincho";
  font-size: clamp(1px, 3.59375vw, 46px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  color: #fff;
  text-align: left;
  margin-bottom: clamp(1px, 1.5625vw, 20px);
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__top .kv__text-inner .kv__title {
    font-size: clamp(1px, 8.5333333333vw, 32px);
    margin-bottom: clamp(1px, 4.2666666667vw, 16px);
    letter-spacing: -0.03em;
  }
}
.front__inner .kv .kv__inner .kv__top .kv__text-inner .kv__text {
  position: relative;
  font-family: "Zen Old Mincho";
  font-size: clamp(1px, 1.875vw, 24px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: clamp(1px, 0.1875vw, 2.4px);
  color: #fff;
  text-align: left;
  padding-left: clamp(1px, 3.046875vw, 39px);
  margin-bottom: clamp(1px, 2.1875vw, 28px);
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__top .kv__text-inner .kv__text {
    font-size: clamp(1px, 4.8vw, 18px);
    line-height: 1.5555555556;
    padding-left: clamp(1px, 9.6vw, 36px);
    margin-bottom: clamp(1px, 5.8666666667vw, 22px);
  }
}
.front__inner .kv .kv__inner .kv__top .kv__text-inner .kv__text::before {
  content: "";
  position: absolute;
  top: clamp(1px, 1.328125vw, 17px);
  left: 0;
  width: clamp(1px, 1.953125vw, 25px);
  height: clamp(1px, 0.15625vw, 2px);
  background: #fff;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__top .kv__text-inner .kv__text::before {
    top: clamp(1px, 3.7333333333vw, 14px);
    width: clamp(1px, 6.4vw, 24px);
    height: 1px;
  }
}
.front__inner .kv .kv__inner .kv__middle {
  margin-bottom: 4.6875vw;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__middle {
    margin-bottom: 29.3333333333vw;
  }
}
.front__inner .kv .kv__inner .kv__middle .kv__middle-text {
  font-family: "Zen Old Mincho";
  font-size: 1.5625vw;
  font-style: normal;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.15625vw;
  color: #fff;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__middle .kv__middle-text {
    font-size: 4.2666666667vw;
    line-height: normal;
    margin-bottom: 3.2vw;
  }
}
.front__inner .kv .kv__inner .kv__middle .kv__middle_frow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 65.15625vw;
  height: 5.625vw;
  background-image: url(../images/front/img_front_flow.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__middle .kv__middle_frow {
    width: 91.4666666667vw;
    height: 35.7333333333vw;
    background-image: url(../images/front/img_front_flow_sp.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
  }
}
.front__inner .kv .kv__inner .kv__middle .kv__middle_frow li p {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.09375vw;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2857142857;
  text-align: center;
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__middle .kv__middle_frow li p {
    font-size: 3.2vw;
    line-height: 1.25;
  }
}
.front__inner .kv .kv__inner .kv__middle .kv__middle_frow li.kv__middle_item1 {
  margin: 0 4.765625vw 0 3.75vw;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__middle .kv__middle_frow li.kv__middle_item1 {
    margin: 0;
    position: absolute;
    top: 4.2666666667vw;
    left: 13.3333333333vw;
  }
}
.front__inner .kv .kv__inner .kv__middle .kv__middle_frow li.kv__middle_item2 {
  margin: 0 3.671875vw 0 2.1875vw;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__middle .kv__middle_frow li.kv__middle_item2 {
    margin: 0;
    position: absolute;
    top: 4.2666666667vw;
    right: 14.9333333333vw;
  }
}
.front__inner .kv .kv__inner .kv__middle .kv__middle_frow li.kv__middle_item3 {
  margin: 0 2.03125vw 0 1.171875vw;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__middle .kv__middle_frow li.kv__middle_item3 {
    margin: 0;
    position: absolute;
    bottom: 2.4vw;
    left: 10.4vw;
  }
}
.front__inner .kv .kv__inner .kv__middle .kv__middle_frow li.kv__middle_item4 {
  margin: 0 4.21875vw 0 2.8125vw;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__middle .kv__middle_frow li.kv__middle_item4 {
    margin: 0;
    position: absolute;
    bottom: 6.9333333333vw;
    left: 41.3333333333vw;
  }
}
.front__inner .kv .kv__inner .kv__middle .kv__middle_frow li.kv__middle_item5 {
  margin: 0 3.359375vw 0 1.5625vw;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__inner .kv__middle .kv__middle_frow li.kv__middle_item5 {
    margin: 0;
    position: absolute;
    bottom: 4.5333333333vw;
    right: 5.0666666667vw;
  }
}
.front__inner .kv .kv__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 3.125vw;
  width: 93.75vw;
  height: 5vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.484375vw 2.5vw;
  margin: 0 auto 7.109375vw;
  background: #000;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__bottom {
    width: 91.4666666667vw;
    height: auto;
    padding: 4.2666666667vw;
    margin: 0 auto 21.3333333333vw;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-line-pack: center;
        align-content: center;
    gap: 2.1333333333vw 4.2666666667vw;
    padding: 4.2666666667vw;
  }
}
.front__inner .kv .kv__bottom .kv__bottom-text {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__bottom .kv__bottom-text {
    font-size: 4.2666666667vw;
  }
}
.front__inner .kv .kv__bottom .kv__bottom-date {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__bottom .kv__bottom-date {
    font-size: 4.2666666667vw;
    line-height: 1.625;
  }
}
.front__inner .kv .kv__bottom .kv__bottom-title {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .kv__bottom .kv__bottom-title {
    width: 100%;
    font-size: 4.2666666667vw;
    line-height: 1.625;
    text-align: left;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
  }
}
.front__inner .kv .kv__bottom .kv__bottom-title a {
  color: #fff;
  text-decoration: none;
  position: relative;
}
.front__inner .kv .kv__bottom .kv__bottom-title a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: #fff;
  -webkit-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
}
.front__inner .kv .kv__bottom .kv__bottom-title a:hover::after {
  width: 100%;
}
.front__inner .kv .problem {
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .problem {
    padding-bottom: 21.3333333333vw;
  }
}
.front__inner .kv .problem .problem__inner .problem__title {
  font-family: "Zen Old Mincho";
  font-size: 3.125vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  color: #fff;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .problem .problem__inner .problem__title {
    font-size: 9.0666666667vw;
    margin-bottom: 8.5333333333vw;
  }
}
.front__inner .kv .problem .problem__inner .problem__text {
  font-family: "Zen Old Mincho";
  font-size: 1.5625vw;
  font-style: normal;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.15625vw;
  color: #fff;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .problem .problem__inner .problem__text {
    font-size: 4.2666666667vw;
    line-height: normal;
    margin-bottom: 10.6666666667vw;
    text-align: left;
    word-break: break-all;
    letter-spacing: 0;
  }
}
.front__inner .kv .problem .problem__inner .problem__img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .front__inner .kv .problem .problem__inner .problem__img {
    background: rgba(255, 255, 255, 0.1);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
  }
}
.front__inner .about {
  padding-top: 7.109375vw;
  margin-bottom: 6.25vw;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .front__inner .about {
    padding-top: 21.3333333333vw;
    padding-bottom: 0;
  }
}
.front__inner .about .about__content_improvement {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  padding-bottom: 9.375vw;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement {
    padding-bottom: 21.3333333333vw;
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.front__inner .about .about__content_improvement .about__content_ttl {
  font-family: "Zen Old Mincho";
  font-size: 3.125vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 6.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_ttl {
    font-size: 6.4vw;
    line-height: 1.4166666667;
    margin-bottom: 10.6666666667vw;
  }
}
.front__inner .about .about__content_improvement .about__content_ttl .-red {
  color: #C30D23;
}
.front__inner .about .about__content_improvement .about__content_list {
  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;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 5vw;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_list {
    gap: 10.6666666667vw;
  }
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_list .about__content_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left {
  width: 36.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 91.4666666667vw;
  }
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: 4.21875vw;
  position: relative;
  z-index: 2;
  margin-bottom: 1.875vw;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_title {
    height: 12vw;
    margin-bottom: 3.2vw;
  }
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_title span {
  display: block;
  position: relative;
  z-index: 2;
  font-family: "Zen Old Mincho";
  font-size: 2.34375vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-align: left;
  color: #fff;
  padding-left: 2.5vw;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_title span {
    font-size: 6.4vw;
    padding-left: 6.4vw;
  }
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_title::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 36.25vw;
  height: 4.21875vw;
  background: url(../images/front/bg_grade.webp) no-repeat center center;
  background-size: contain;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_title::after {
    width: 81.0666666667vw;
    height: 12vw;
  }
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_title .-red {
  color: #C30D23;
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_title_reverse {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-right: 2.5vw;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_title_reverse {
    padding-right: 6.4vw;
  }
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_title_reverse::after {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_title_reverse::after {
    left: auto;
    right: 0;
  }
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_text {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.5625vw;
  font-style: normal;
  font-weight: 400;
  line-height: 2;
  text-align: left;
  color: #000;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_text {
    font-size: 4.2666666667vw;
    line-height: 1.625;
  }
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_left .about__content_item_left_text .-red {
  color: #C30D23;
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_title {
  font-family: "Cormorant Garamond";
  font-size: 5vw;
  font-style: normal;
  font-weight: 400;
  position: absolute;
  top: 0;
  right: -11.328125vw;
  -webkit-transform: rotate(90deg) translateX(95%);
          transform: rotate(90deg) translateX(95%);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  line-height: 1;
  color: #D4D4D4;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_title {
    display: none;
  }
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_right {
  width: 37.5vw;
  height: auto;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_list .about__content_item .about__content_item_right {
    width: 91.4666666667vw;
    height: auto;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 4vw;
  }
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.front__inner .about .about__content_improvement .about__content_list .about__content_item:nth-child(even) .about__content_title {
  font-family: "Cormorant Garamond";
  font-size: 5vw;
  font-style: normal;
  font-weight: 400;
  position: absolute;
  top: -6.25vw;
  right: auto;
  left: -11.328125vw;
  -webkit-transform: rotate(90deg) translateX(0);
          transform: rotate(90deg) translateX(0);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  line-height: 1;
  color: #D4D4D4;
}
@media screen and (max-width: 768px) {
  .front__inner .about .about__content_improvement .about__content_list .about__content_item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.front__inner .reason {
  padding-top: 9.375vw;
  padding-bottom: 6.25vw;
  margin-bottom: 6.25vw;
  background: #F6F6F6;
}
@media screen and (max-width: 768px) {
  .front__inner .reason {
    padding-top: 21.3333333333vw;
    padding-bottom: 21.3333333333vw;
    background: #F6F6F6;
  }
}
.front__inner .reason .reason__inner .reason__title {
  font-family: "Zen Old Mincho";
  font-size: 3.125vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 5vw;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__title {
    font-size: 6.4vw;
    line-height: normal;
    margin-bottom: 10.6666666667vw;
  }
}
.front__inner .reason .reason__inner .reason__title .-red {
  color: #C30D23;
}
.front__inner .reason .reason__inner .reason__content {
  margin-bottom: 6.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content {
    margin-bottom: 10.6666666667vw;
  }
}
.front__inner .reason .reason__inner .reason__content.reason__content_2 {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content.reason__content_2 {
    margin-bottom: 0;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.75vw;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_ttl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 4.8vw;
    margin-bottom: 5.8666666667vw;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_ttl .reason__content_ttl_num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  text-align: center;
  font-family: "Zen Old Mincho";
  font-size: 6.25vw;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  color: #C30D23;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_ttl .reason__content_ttl_num {
    font-size: 12.8vw;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_ttl .reason__content_ttl_num .-en {
  text-align: center;
  font-family: "Cormorant Garamond";
  font-size: 2.03125vw;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  color: #C30D23;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_ttl .reason__content_ttl_num .-en {
    font-size: 4.8vw;
    line-height: normal;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_ttl .reason__content_ttl_text {
  font-family: "Zen Old Mincho";
  font-size: 2.34375vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_ttl .reason__content_ttl_text {
    font-size: 5.8666666667vw;
    line-height: 1.4545454545;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_ttl .reason__content_ttl_text .-red {
  color: #C30D23;
}
.front__inner .reason .reason__inner .reason__content .reason__content_img_scroll {
  position: relative;
  margin-bottom: 6.09375vw;
}
.front__inner .reason .reason__inner .reason__content .reason__content_img_scroll .reason__content_img {
  width: 100%;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_img_scroll {
    width: 100%;
    margin-bottom: 15.7333333333vw;
  }
  .front__inner .reason .reason__inner .reason__content .reason__content_img_scroll .reason__content_img {
    max-width: none;
    width: 266.6666666667vw;
    height: auto;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_img_scroll .reason__content_img_scroll_inner {
  margin-bottom: 6.09375vw;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_img_scroll .reason__content_img_scroll_inner {
    width: 100%;
    overflow-x: scroll;
    margin-bottom: 15.7333333333vw;
    border-radius: 0.5333333333vw;
    padding-bottom: 17.0666666667vw;
    background: #fff;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_img_scroll .reason__content_img_scroll_inner::-webkit-scrollbar {
  display: none;
}
.front__inner .reason .reason__inner .reason__content .reason__content_img_scroll .reason__content_img_scroll_bar {
  display: none;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_img_scroll .reason__content_img_scroll_bar {
    display: block;
    position: absolute;
    bottom: 1.5625vw;
    left: 0;
    width: 100%;
    height: 0.3125vw;
    border-radius: 0.15625vw;
    overflow: hidden;
    background: #D4D4D4;
  }
  .front__inner .reason .reason__inner .reason__content .reason__content_img_scroll .reason__content_img_scroll_bar::after {
    content: "";
    position: absolute;
    top: 0;
    width: 20%;
    height: 100%;
    background: #C30D23;
    border-radius: 0.15625vw;
    -webkit-transition: -webkit-transform 0.1s ease-out;
    transition: -webkit-transform 0.1s ease-out;
    transition: transform 0.1s ease-out;
    transition: transform 0.1s ease-out, -webkit-transform 0.1s ease-out;
    left: calc(var(--scroll-percentage, 0%) * 0.8);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_img_scroll .reason__content_img_scroll_bar {
    width: 78.6666666667vw;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 16vw;
    height: 1.0666666667vw;
    border-radius: 0.5333333333vw;
  }
  .front__inner .reason .reason__inner .reason__content .reason__content_img_scroll .reason__content_img_scroll_bar::after {
    border-radius: 0.5333333333vw;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_img_scroll .reason__content_img_arrow {
  width: 7.8125vw;
  position: absolute;
  right: 0;
  left: 0;
  bottom: -4.6875vw;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_img_scroll .reason__content_img_arrow {
    width: 22.6666666667vw;
    bottom: -13.3333333333vw;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_item_text {
  font-family: "Zen Old Mincho";
  font-size: 1.5625vw;
  font-style: normal;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.15625vw;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_item_text {
    font-size: 4.2666666667vw;
    line-height: normal;
    letter-spacing: 0;
    text-align: left;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_item_text .-red {
  color: #C30D23;
}
.front__inner .reason .reason__inner .reason__content .reason__content_img {
  display: block;
  width: 70.3125vw;
  height: auto;
  margin: 0 auto 6.09375vw;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_img {
    width: 91.4666666667vw;
    margin: 0 auto 6.1333333333vw;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_img.reason__content_img_2 {
  margin: 0 auto 6.484375vw;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_img.reason__content_img_2 {
    margin: 0 auto 6.1333333333vw;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_list {
  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;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_list {
    gap: 4.2666666667vw;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_list .reason__content_item {
  width: 100%;
  position: relative;
}
.front__inner .reason .reason__inner .reason__content .reason__content_list .reason__content_item p {
  color: #000;
  font-family: "Zen Old Mincho";
  font-size: 1.5625vw;
  font-style: normal;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.15625vw;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_list .reason__content_item p {
    font-size: 4.2666666667vw;
    line-height: normal;
    letter-spacing: 0;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_list .reason__content_item p .-red {
  color: #C30D23;
  border-bottom: 0.15625vw dotted #C30D23;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_list .reason__content_item p .-red {
    border-bottom: 0.5333333333vw dotted #C30D23;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_list_check {
  background: #fff;
  padding: 3.125vw;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_list_check {
    padding: 8.5333333333vw 6.4vw;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_list_check .reason__content_item {
  padding-left: 3.90625vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_list_check .reason__content_item {
    padding-left: 8.5333333333vw;
  }
}
.front__inner .reason .reason__inner .reason__content .reason__content_list_check .reason__content_item::after {
  content: "";
  position: absolute;
  top: 0.15625vw;
  left: 0;
  margin: auto 0;
  width: 2.5vw;
  height: 2.5vw;
  background: url(../images/front/icon_check.svg) no-repeat center center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .front__inner .reason .reason__inner .reason__content .reason__content_list_check .reason__content_item::after {
    top: 0.5333333333vw;
    width: 6.4vw;
    height: 6.4vw;
  }
}
.front__inner .case {
  padding: 9.140625vw 0;
  background: #F6F6F6;
}
@media screen and (max-width: 768px) {
  .front__inner .case {
    padding: 21.3333333333vw 0;
  }
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__title {
    margin-bottom: 5.3333333333vw;
  }
}
.front__inner .case .case__inner .case__lead {
  font-family: "Zen Old Mincho";
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__lead {
    font-size: 5.3333333333vw;
    margin-bottom: 6.4vw;
  }
}
.front__inner .case .case__inner .case__lead .-red {
  color: #C30D23;
}
.front__inner .case .case__inner .company__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25vw;
  margin-bottom: 4.375vw;
  padding: 1.25vw 0.625vw;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .company__list {
    gap: 2.1333333333vw 2.4vw;
    margin-bottom: 14.6666666667vw;
    padding: 4.2666666667vw 2.1333333333vw;
  }
}
.front__inner .case .case__inner .company__list .company__item {
  width: 14.0625vw;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .company__list .company__item {
    width: 40vw;
  }
}
.front__inner .case .case__inner .company__list .company__item img {
  width: 100%;
}
.front__inner .case .case__inner .case__slider {
  width: 100%;
  margin-bottom: 4.375vw;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__slider {
    margin-bottom: 0;
  }
}
.front__inner .case .case__inner .case__slider .swiper-pagination {
  position: relative;
  margin-top: 10.6666666667vw;
  display: none;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__slider .swiper-pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.1333333333vw;
    font-family: "Zen Kaku Gothic New";
    font-size: 3.7333333333vw;
    font-weight: 500;
    color: #000;
  }
}
.front__inner .case .case__inner .case__slider .swiper-pagination .swiper-pagination-prev,
.front__inner .case .case__inner .case__slider .swiper-pagination .swiper-pagination-next {
  cursor: pointer;
  width: 4.8vw;
  height: 1.0666666667vw;
}
.front__inner .case .case__inner .case__slider .swiper-pagination .swiper-pagination-prev:hover,
.front__inner .case .case__inner .case__slider .swiper-pagination .swiper-pagination-next:hover {
  opacity: 0.7;
}
.front__inner .case .case__inner .case__slider .swiper-pagination .swiper-pagination-prev {
  margin-right: 2.6666666667vw;
  background: url(../images/common/swiper_prev.svg) no-repeat center center;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.front__inner .case .case__inner .case__slider .swiper-pagination .swiper-pagination-next {
  margin-left: 2.6666666667vw;
  background: url(../images/common/swiper_next.svg) no-repeat center center;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.front__inner .case .case__inner .case__slider .swiper-pagination .swiper-pagination-current,
.front__inner .case .case__inner .case__slider .swiper-pagination .swiper-pagination-total {
  font-family: "Zen Old Mincho";
  font-size: 4.2666666667vw;
  font-weight: 500;
  color: #000;
}
.front__inner .case .case__inner .case__slider .swiper-pagination .swiper-pagination-current {
  color: #C30D23;
}
.front__inner .case .case__inner .case__slider .swiper-pagination .swiper-pagination-prev.-disabled,
.front__inner .case .case__inner .case__slider .swiper-pagination .swiper-pagination-next.-disabled {
  pointer-events: none;
  background: none;
}
.front__inner .case .case__inner .case__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0 2.5vw;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin-bottom: 0;
  }
}
.front__inner .case .case__inner .case__list .case__item {
  width: 24.375vw;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item {
    width: 100%;
  }
}
.front__inner .case .case__inner .case__list .case__item .case__item_tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 0.9375vw;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  padding: 0.234375vw 0.78125vw;
  background: #C30D23;
  color: #fff;
  position: absolute;
  top: 0.78125vw;
  left: 0;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item .case__item_tag {
    font-size: 3.2vw;
    padding: 0.8vw 2.6666666667vw;
    top: 3.2vw;
  }
}
.front__inner .case .case__inner .case__list .case__item .case__item_link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.front__inner .case .case__inner .case__list .case__item .case__item_img {
  display: block;
  width: 100%;
  height: 13.75vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item .case__item_img {
    height: 43.4666666667vw;
  }
}
.front__inner .case .case__inner .case__list .case__item .case__item_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.front__inner .case .case__inner .case__list .case__item .case__item_inner {
  padding: 1.25vw 1.875vw;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item .case__item_inner {
    padding: 6.4vw;
  }
}
.front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_company {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.09375vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2857142857;
  padding-bottom: 0.625vw;
  margin-bottom: 0.9375vw;
  text-align: left;
  position: relative;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_company {
    font-size: 3.7333333333vw;
    margin-bottom: 3.2vw;
    padding-bottom: 2.6666666667vw;
  }
}
.front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_company::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #D4D4D4;
}
.front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_company::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 5.546875vw;
  height: 1px;
  background: #C30D23;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_company::after {
    width: 21.3333333333vw;
  }
}
.front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  padding: 0.234375vw 0.78125vw;
  background: #C30D23;
  color: #fff;
  margin-bottom: 0.625vw;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_text {
    font-size: 3.2vw;
    padding: 5.3333333333vw 2.6666666667vw;
    margin-bottom: 2.1333333333vw;
  }
}
.front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_title {
  font-family: "Zen Old Mincho";
  font-size: 1.5625vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 0.625vw;
  height: 5.390625vw;
  text-align: left;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_title {
    font-size: 5.3333333333vw;
    line-height: normal;
    margin-bottom: 4.2666666667vw;
    height: 16vw;
  }
}
.front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.9375vw;
  padding: 1.25vw;
  background: #F6F6F6;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_meta {
    padding: 5.3333333333vw;
  }
}
.front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_meta .case__item_meta_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.40625vw;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_meta .case__item_meta_item {
    gap: 5.8666666667vw;
  }
}
.front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_meta .case__item_meta_item .case__item_meta_item_label {
  width: 4.53125vw;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.09375vw;
  font-style: normal;
  font-weight: 700;
  color: #000;
  text-align: left;
  min-width: 4.6875vw;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_meta .case__item_meta_item .case__item_meta_item_label {
    font-size: 3.7333333333vw;
    min-width: 15.4666666667vw;
  }
}
.front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_meta .case__item_meta_item .case__item_meta_item_value {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.09375vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  color: #000;
  text-align: left;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_meta .case__item_meta_item .case__item_meta_item_value {
    font-size: 3.7333333333vw;
  }
}
.front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_text2 {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.09375vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2857142857;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case__list .case__item .case__item_inner .case__item_text2 {
    font-size: 3.7333333333vw;
  }
}
.front__inner .case .case__inner .case_btn {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .front__inner .case .case__inner .case_btn {
    margin: 10.6666666667vw auto 0;
  }
}
.front__inner .price {
  padding: 9.140625vw 0 15.625vw;
}
@media screen and (max-width: 768px) {
  .front__inner .price {
    padding: 21.3333333333vw 0 42.6666666667vw;
  }
}
.front__inner .price .price__inner .price__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 3.125vw;
  margin-bottom: 5vw;
}
@media screen and (max-width: 768px) {
  .front__inner .price .price__inner .price__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 6.4vw;
    margin-bottom: 10.6666666667vw;
  }
}
.front__inner .price .price__inner .price__list .price__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 37.5vw;
  height: 16.328125vw;
  background: #F6F6F6;
  padding: 0 2.5vw;
}
@media screen and (max-width: 768px) {
  .front__inner .price .price__inner .price__list .price__item {
    width: 91.4666666667vw;
    height: 55.7333333333vw;
    padding: 8.5333333333vw 6.4vw;
  }
}
.front__inner .price .price__inner .price__list .price__item .price__item_title {
  font-family: "Zen Old Mincho";
  font-size: 1.875vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.1875vw;
  color: #000;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .price .price__inner .price__list .price__item .price__item_title {
    font-size: 5.3333333333vw;
    line-height: 1.6;
    margin-bottom: 4.2666666667vw;
  }
}
.front__inner .price .price__inner .price__list .price__item .price__item_text {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  color: #000;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .price .price__inner .price__list .price__item .price__item_text {
    font-size: 4.2666666667vw;
    line-height: 1.625;
    margin-bottom: 2.1333333333vw;
    text-align: left;
  }
}
.front__inner .price .price__inner .price__list .price__item .price__item_price {
  text-align: right;
  font-family: "Zen Old Mincho";
  font-size: 3.125vw;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  color: #C30D23;
}
@media screen and (max-width: 768px) {
  .front__inner .price .price__inner .price__list .price__item .price__item_price {
    font-size: 8.8vw;
    line-height: normal;
    margin-bottom: 0;
  }
}
.front__inner .price .price__inner .price__list .price__item .price__item_price span {
  font-family: "Zen Old Mincho";
  font-size: 2.03125vw;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 768px) {
  .front__inner .price .price__inner .price__list .price__item .price__item_price span {
    font-size: 4.8vw;
    line-height: normal;
  }
}
.front__inner .price .price__inner .price__cta_text {
  font-family: "Zen Old Mincho";
  font-size: 1.875vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.1875vw;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .price .price__inner .price__cta_text {
    font-size: 5.3333333333vw;
    line-height: 1.6;
    margin-bottom: 9.0666666667vw;
  }
}
.front__inner .price .price__inner .price__cta_text_link {
  font-family: "Zen Old Mincho";
  font-size: 1.875vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.1875vw;
  margin-bottom: 1.25vw;
  color: #C30D23;
}
@media screen and (max-width: 768px) {
  .front__inner .price .price__inner .price__cta_text_link {
    font-size: 5.3333333333vw;
    line-height: 1.6;
    margin-bottom: 9.0666666667vw;
  }
}
.front__inner .price .price__inner .price__lead_title {
  font-family: "Zen Old Mincho";
  font-size: 1.875vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.1875vw;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .price .price__inner .price__lead_title {
    font-size: 5.3333333333vw;
    line-height: 1.6;
    margin-bottom: 9.0666666667vw;
  }
}
.front__inner .price .price__inner .price__text {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .front__inner .price .price__inner .price__text {
    font-size: 4.2666666667vw;
    line-height: 1.625;
    margin-bottom: 6.4vw;
    text-align: left;
  }
}
.front__inner .price .price__inner .price__img {
  display: block;
  width: 75.3125vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .front__inner .price .price__inner .price__img {
    width: 91.4666666667vw;
  }
}
.front__inner .function {
  padding: 15.625vw 0;
}
@media screen and (max-width: 768px) {
  .front__inner .function {
    padding: 42.6666666667vw 0 21.3333333333vw;
  }
}
.front__inner .function .function__inner .function__title {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .front__inner .function .function__inner .function__title {
    margin-bottom: 0;
  }
}
.front__inner .function .function__inner .function__lead {
  font-family: "Zen Old Mincho";
  margin-bottom: 3.125vw;
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .function .function__inner .function__lead {
    font-size: 4.2666666667vw;
    margin-bottom: 8.5333333333vw;
  }
}
.front__inner .function .function__inner .function__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 77.96875vw;
  margin: 0 auto;
  border-bottom: 0.078125vw solid #D4D4D4;
}
@media screen and (max-width: 768px) {
  .front__inner .function .function__inner .function__list {
    width: 100%;
  }
}
.front__inner .function .function__inner .function__list .function__item {
  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;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 33.3333333333%;
  padding: 2.5vw;
  border-top: 1px solid #D4D4D4;
  border-right: 1px solid #D4D4D4;
}
@media screen and (max-width: 768px) {
  .front__inner .function .function__inner .function__list .function__item {
    width: 100%;
    padding: 8.5333333333vw 4.2666666667vw;
    border-top: 1px solid #D4D4D4;
    border-right: none;
  }
}
.front__inner .function .function__inner .function__list .function__item:nth-child(3), .front__inner .function .function__inner .function__list .function__item:nth-child(6) {
  border-right: none;
}
.front__inner .function .function__inner .function__list .function__item .function__item_title {
  font-family: "Zen Old Mincho";
  font-size: 1.875vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.1875vw;
  margin-bottom: 1.25vw;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .front__inner .function .function__inner .function__list .function__item .function__item_title {
    font-size: 5.3333333333vw;
    line-height: 1.6;
    margin-bottom: 4.2666666667vw;
  }
}
.front__inner .function .function__inner .function__list .function__item .function__item_title .-red {
  color: #C30D23;
}
.front__inner .function .function__inner .function__list .function__item .function__item_text {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.875;
  color: #000;
  text-align: left;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 768px) {
  .front__inner .function .function__inner .function__list .function__item .function__item_text {
    font-size: 4.2666666667vw;
    line-height: 1.875;
    margin-bottom: 0;
  }
}
.front__inner .function .function__inner .function__list .function__item .function__item_link {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  padding-right: 1.875vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .front__inner .function .function__inner .function__list .function__item .function__item_link {
    font-size: 4.2666666667vw;
    padding-right: 6.4vw;
    margin-top: 2.1333333333vw;
  }
}
.front__inner .function .function__inner .function__list .function__item .function__item_link::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto 0;
  width: 1.40625vw;
  height: 1.40625vw;
  background: url(../images/common/icon_arrow_red.webp) no-repeat center center;
  background-size: 100% 100%;
}
@media screen and (max-width: 768px) {
  .front__inner .function .function__inner .function__list .function__item .function__item_link::after {
    width: 4.8vw;
    height: 4.8vw;
  }
}
.front__inner .function .function__inner .function__list .function__item .function__item_img {
  margin-top: auto;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 269/154;
}
@media screen and (max-width: 768px) {
  .front__inner .function .function__inner .function__list .function__item .function__item_img {
    width: 100%;
    aspect-ratio: 311/178;
    margin-top: 4.2666666667vw;
  }
}
.front__inner .function .function__inner .function__list .function__item a {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  color: #000;
}
@media screen and (max-width: 768px) {
  .front__inner .function .function__inner .function__list .function__item a {
    font-size: 4.2666666667vw;
  }
}
.front__inner .flow {
  padding: 9.375vw 0;
  background: #F6F6F6;
}
@media screen and (max-width: 768px) {
  .front__inner .flow {
    padding: 21.3333333333vw 0;
  }
}
.front__inner .flow .flow__inner .flow__title {
  margin-bottom: 4.375vw;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__title {
    margin-bottom: 10.6666666667vw;
  }
}
.front__inner .flow .flow__inner .flow__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 2.65625vw;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list {
    gap: 7.2vw;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item {
  position: relative;
  padding-bottom: 5.625vw;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item {
    padding-bottom: 12.8vw;
    padding-left: 2.9333333333vw;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1000/50;
  background: url(../images/front/bg_flow.svg) no-repeat center center;
  background-size: 100% 100%;
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner {
    -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;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_title {
  width: 32.65625vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 2.5vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_title {
    width: 100%;
    gap: 5.0666666667vw;
    padding-bottom: 3.2vw;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_title .flow__item_title_num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_title .flow__item_title_num .-num {
  color: #C30D23;
  text-align: center;
  font-family: "Zen Old Mincho";
  font-size: 3.125vw;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_title .flow__item_title_num .-num {
    font-size: 7.4666666667vw;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_title .flow__item_title_num .-en {
  color: #C30D23;
  text-align: center;
  font-family: "Cormorant Garamond";
  font-size: 1.015625vw;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_title .flow__item_title_num .-en {
    font-size: 3.4666666667vw;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_title .flow__item_title_text {
  font-family: "Zen Old Mincho";
  font-size: 1.875vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.1875vw;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_title .flow__item_title_text {
    font-size: 5.3333333333vw;
    line-height: normal;
    letter-spacing: 0;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_text {
  width: 45.3125vw;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_text {
    width: 100%;
    font-size: 4.2666666667vw;
    line-height: 1.625;
    padding-left: 13.3333333333vw;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_text .flow__item_text_note {
  font-family: "Zen Kaku Gothic New";
  font-size: 0.9375vw;
  font-style: normal;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_inner .flow__item_text .flow__item_text_note {
    font-size: 3.2vw;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow {
  background: #fff;
  padding: 3.125vw 3.125vw 3.75vw 3.125vw;
  margin-top: 2.5vw;
  margin-bottom: 0.78125vw;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow {
    padding: 6.4vw 6.4vw 6.4vw 6.4vw;
    margin-top: 8vw;
    margin-bottom: 4.2666666667vw;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow .flow__item_flow_text {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  color: #000;
  margin-bottom: 2.5vw;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow .flow__item_flow_text {
    font-size: 4.8vw;
    line-height: 1.4444444444;
    margin-bottom: 6.6666666667vw;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow .flow__item_flow_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 6.328125vw;
  color: #000;
  margin-bottom: 1.875vw;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow .flow__item_flow_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.3333333333vw;
    margin-bottom: 6.6666666667vw;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow .flow__item_flow_list:last-child {
  margin-bottom: 0;
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow .flow_list__left {
  font-family: "Zen Old Mincho";
  font-size: 1.5625vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  color: #000;
  padding-left: 1.09375vw;
  text-align: left;
  white-space: nowrap;
  position: relative;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow .flow_list__left {
    font-size: 4.8vw;
    line-height: 1.4444444444;
    padding-left: 4vw;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow .flow_list__left::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto 0;
  width: 0.46875vw;
  height: 0.46875vw;
  background: #C30D23;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow .flow_list__left::before {
    width: 1.6vw;
    height: 1.6vw;
  }
}
.front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow .flow_list__right {
  width: 51.953125vw;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  color: #000;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .front__inner .flow .flow__inner .flow__list .flow__item .flow__item_flow .flow_list__right {
    width: 100%;
    font-size: 4.2666666667vw;
    line-height: normal;
  }
}
.front__inner .faq {
  padding: 9.375vw 0;
}
@media screen and (max-width: 768px) {
  .front__inner .faq {
    padding: 21.3333333333vw 0;
  }
}
.front__inner .faq .faq__inner .faq__title {
  margin-bottom: 4.375vw;
}
@media screen and (max-width: 768px) {
  .front__inner .faq .faq__inner .faq__title {
    margin-bottom: 10.6666666667vw;
  }
}
.front__inner .faq .faq__inner .faq__list .faq-single {
  width: 100%;
  padding: 2.578125vw 3.125vw 1.25vw;
  border-top: 0.078125vw solid #D4D4D4;
  border-bottom: 0.078125vw solid #D4D4D4;
  cursor: pointer;
}
.front__inner .faq .faq__inner .faq__list .faq-single:first-of-type {
  border-top: 0.15625vw solid #D4D4D4;
}
.front__inner .faq .faq__inner .faq__list .faq-single:last-of-type {
  border-bottom: 0.15625vw solid #D4D4D4;
}
@media screen and (max-width: 768px) {
  .front__inner .faq .faq__inner .faq__list .faq-single {
    padding: 6.4vw 2.1333333333vw 2.1333333333vw 0;
    border-top: 1px solid #D4D4D4;
    border-bottom: 1px solid #D4D4D4;
  }
  .front__inner .faq .faq__inner .faq__list .faq-single:first-of-type {
    border-top: 0.5333333333vw solid #D4D4D4;
  }
  .front__inner .faq .faq__inner .faq__list .faq-single:last-of-type {
    border-bottom: 0.5333333333vw solid #D4D4D4;
  }
}
.front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header {
  width: 100%;
  padding-bottom: 1.484375vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header {
    padding-bottom: 4.2666666667vw;
  }
}
.front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header .plus {
  display: block;
  width: 1.40625vw;
  height: 1.40625vw;
  position: absolute;
  top: 0.703125vw;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header .plus {
    display: block;
    width: 4.8vw;
    height: 4.8vw;
    position: absolute;
    top: 1.6vw;
    right: 0;
    bottom: 0;
  }
}
.front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header .plus::before, .front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header .plus::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #C30D23;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header .plus::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header .faq-single__wrap {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.875vw;
}
@media screen and (max-width: 768px) {
  .front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header .faq-single__wrap {
    gap: 4.2666666667vw;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header .faq-single__wrap .faq-single__icon {
  font-family: "Cormorant Garamond";
  font-size: 2.34375vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
@media screen and (max-width: 768px) {
  .front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header .faq-single__wrap .faq-single__icon {
    font-size: 6.9333333333vw;
  }
}
.front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header .faq-single__wrap .faq-single__title {
  font-family: "Zen Old Mincho";
  font-size: 1.5625vw;
  font-style: normal;
  font-weight: 500;
  line-height: 1.7; /* 170% */
  letter-spacing: 0.15625vw;
}
@media screen and (max-width: 768px) {
  .front__inner .faq .faq__inner .faq__list .faq-single .faq-single__header .faq-single__wrap .faq-single__title {
    font-size: 5.3333333333vw;
    line-height: 1.6;
    letter-spacing: 0;
    padding-right: 8vw;
    text-align: left;
  }
}
.front__inner .faq .faq__inner .faq__list .faq-single .faq-single__content {
  display: none;
  width: 100%;
  padding-bottom: 1.484375vw;
}
@media screen and (max-width: 768px) {
  .front__inner .faq .faq__inner .faq__list .faq-single .faq-single__content {
    padding-bottom: 4.2666666667vw;
  }
}
.front__inner .faq .faq__inner .faq__list .faq-single .faq-single__content .faq-single__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.875vw;
}
@media screen and (max-width: 768px) {
  .front__inner .faq .faq__inner .faq__list .faq-single .faq-single__content .faq-single__wrap {
    gap: 4.2666666667vw;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.front__inner .faq .faq__inner .faq__list .faq-single .faq-single__content .faq-single__wrap .faq-single__icon {
  font-family: "Cormorant Garamond";
  font-size: 2.34375vw;
  font-style: normal;
  font-weight: 400;
  color: #C30D23;
  line-height: normal;
}
@media screen and (max-width: 768px) {
  .front__inner .faq .faq__inner .faq__list .faq-single .faq-single__content .faq-single__wrap .faq-single__icon {
    font-size: 6.9333333333vw;
  }
}
.front__inner .faq .faq__inner .faq__list .faq-single .faq-single__content .faq-single__title {
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .front__inner .faq .faq__inner .faq__list .faq-single .faq-single__content .faq-single__title {
    font-size: 4.2666666667vw;
    line-height: 1.625;
    letter-spacing: 0;
  }
}
.front__inner .faq .faq__inner .faq__list .faq-single.is-active .plus::before {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
  opacity: 0;
}
.front__inner .faq .faq__inner .faq__list .faq-single.is-active .plus::after {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}
.front__inner .news {
  padding: 9.375vw 0 15.625vw;
  background: #F6F6F6;
}
@media screen and (max-width: 768px) {
  .front__inner .news {
    padding: 21.3333333333vw 0 37.3333333333vw;
  }
}
.front__inner .news .news__inner .news__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 9.21875vw;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .front__inner .news .news__inner .news__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0;
  }
}
.front__inner .news .news__inner .news__content .news__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
}
.front__inner .news .news__inner .news__content .news__list {
  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-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.5vw;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 768px) {
  .front__inner .news .news__inner .news__content .news__list {
    gap: 6.4vw;
    margin-bottom: 8.5333333333vw;
  }
}
.front__inner .news .news__inner .news__content .news__list .news__item {
  width: 56.71875vw;
  text-align: left;
  padding-bottom: 2.5vw;
  padding-left: 1.25vw;
  padding-right: 6.40625vw;
  border-bottom: 0.078125vw solid #D4D4D4;
}
@media screen and (max-width: 768px) {
  .front__inner .news .news__inner .news__content .news__list .news__item {
    width: 100%;
    padding-bottom: 6.4vw;
    padding-left: 2.1333333333vw;
    padding-right: 9.0666666667vw;
    border-bottom: 0.2666666667vw solid #D4D4D4;
  }
}
.front__inner .news .news__inner .news__content .news__list .news__item .news__item_date {
  font-family: "Zen Old Mincho";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  color: #C30D23;
  margin-bottom: 0.625vw;
}
@media screen and (max-width: 768px) {
  .front__inner .news .news__inner .news__content .news__list .news__item .news__item_date {
    font-size: 4.2666666667vw;
    margin-bottom: 2.1333333333vw;
  }
}
.front__inner .news .news__inner .news__content .news__list .news__item .news__item_title {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1; /* 表示する行数を指定 */
  -webkit-box-orient: vertical;
  color: #000;
  font-family: "Zen Old Mincho";
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 34px; /* 170% */
  letter-spacing: 2px;
}
@media screen and (max-width: 768px) {
  .front__inner .news .news__inner .news__content .news__list .news__item .news__item_title {
    -webkit-line-clamp: 2;
    font-size: 4.2666666667vw;
    line-height: 1.25;
    letter-spacing: 0;
  }
}
.front__inner .news .news__inner .news_btn {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  color: #000;
}

.breadcrumb {
  margin: 0 auto;
  width: 76.875vw;
}
@media screen and (max-width: 768px) {
  .breadcrumb {
    width: 91.4666666667vw;
  }
}
.breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .breadcrumb__list {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.breadcrumb__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .breadcrumb__item {
    -webkit-box-flex: 0;
        -ms-flex: 0;
            flex: 0;
  }
  .breadcrumb__item:last-child {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .breadcrumb__item:last-child .breadcrumb__text {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
.breadcrumb__item:not(:last-child)::after {
  content: "・";
  display: inline-block;
  color: #D4D4D4;
  margin: 0 0.9375vw;
}
@media screen and (max-width: 768px) {
  .breadcrumb__item:not(:last-child)::after {
    margin: 0 3.2vw;
  }
}
.breadcrumb__link {
  font-family: "Zen Kaku Gothic New";
  color: #000;
  text-decoration: underline;
  font-size: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .breadcrumb__link {
    font-size: 3.2vw;
    white-space: nowrap;
    display: block;
  }
}
.breadcrumb__text {
  font-family: "Zen Kaku Gothic New";
  color: #D4D4D4;
  font-size: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .breadcrumb__text {
    font-size: 3.2vw;
  }
}

.title {
  margin: 3.046875vw auto 0;
  width: 76.875vw;
}
@media screen and (max-width: 768px) {
  .title {
    margin-top: 6.1333333333vw;
    width: 91.4666666667vw;
  }
}
.title__inner {
  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;
}
.title__title-en {
  font-family: "Cormorant Garamond";
  font-size: 1.875vw;
  font-weight: 900;
  font-style: normal;
  color: #C30D23;
}
@media screen and (max-width: 768px) {
  .title__title-en {
    font-size: 4.8vw;
  }
}
.title__title-ja {
  font-family: "Zen Old Mincho";
  font-size: 3.125vw;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .title__title-ja {
    font-size: 6.9333333333vw;
  }
}