@charset "UTF-8";
:root {
  --color-main: #4F5D6E;
  --color-sub: #A2A3A4;
  --color-white: #ffffff;
  --color-red: #CA6D66;
  --text-main: #333333;
  --text-decoration: #EaE9E0;
  --text-decoration-gray: rgba(234, 233, 224, 0.4);
  --text-alert: #ff5252;
  --bg-beige: #EFECE6;
  --bg-gray: #A2A3A4;
  --bg-light-gray: #F6F6F6;
  --bg-form: #f7f7f7;
}

.dn {
  display: none;
}

body {
  background-image: url(../image/bg_texture.jpg);
  background-position: top center;
  background-repeat: repeat;
  color: var(--text-main);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0.875rem, 2.0833333333vw, 1rem);
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 1441px) {
  body {
    overflow-x: hidden;
  }
}

img {
  vertical-align: bottom;
  margin: 0;
  padding: 0;
  border: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.cf:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

a {
  -webkit-transition: ease-in 0.1s;
  transition: ease-in 0.1s;
  color: inherit;
  text-decoration: none;
}
a:hover {
  opacity: 0.5;
  cursor: pointer;
}

@media screen and (min-width: 769px) {
  .pc {
    display: inline-block !important;
  }
  .sp {
    display: none !important;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  img {
    max-width: 100%;
    width: 100%;
    height: auto;
  }
  .sp {
    display: inline-block !important;
  }
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 600px) {
  .sm {
    display: none !important;
  }
}
@media screen and (max-width: 599px) {
  .sm {
    display: inline-block !important;
  }
}
body.active {
  overflow: hidden;
}

img.alignright {
  float: right;
  margin: 0 0 1em 1em;
}

img.alignleft {
  float: left;
  margin: 0 1em 1em 0;
}

img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* modules
======================================== */
/* ページレイアウト */
.l-inner {
  width: 100%;
  max-width: calc(980px + 2em);
  margin: 0 auto;
  padding: 0 1em;
}
.l-inner--small {
  max-width: calc(920px + 2em);
}
.l-inner--large {
  max-width: calc(1140px + 2em);
}
.l-inner--xLarge {
  max-width: calc(1360px + 2em);
}

.l-col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 5vw;
     -moz-column-gap: 5vw;
          column-gap: 5vw;
  row-gap: 5em;
}
@media screen and (max-width: 1024px) {
  .l-col2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.l-col2 > .c-post {
  width: calc(100% - (280px + 5vw));
}
@media screen and (max-width: 1024px) {
  .l-col2 > .c-post {
    width: 100%;
  }
}
.l-col2 > .c-detail {
  width: calc(100% - (280px + 5vw));
  padding: 0;
  background-color: transparent;
}
@media screen and (max-width: 1024px) {
  .l-col2 > .c-detail {
    width: 100%;
  }
}
.l-col2 > .c-side {
  width: 280px;
}
@media screen and (max-width: 1024px) {
  .l-col2 > .c-side {
    width: 100%;
  }
}
.l-col2.p-column-detail-content__inner {
  padding: min(3.3333333333vw, 2.5em) min(3.3333333333vw, 2.5em) min(6.6666666667vw, 5em);
  background-color: var(--color-white);
  border-radius: 1em;
}

/* ページタイトル */
.c-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  position: relative;
  color: var(--color-main);
  font-size: clamp(1.5rem, 6.25vw, 3rem);
  font-weight: 600;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .c-title {
    letter-spacing: 0.01em;
  }
}
.c-title--decoration::after {
  content: "Service";
  display: inline-block;
  position: absolute;
  bottom: 0.25em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -10;
  width: 7em;
  color: var(--text-decoration);
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  font-size: clamp(2.625rem, 12.5vw, 6rem);
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-title--decoration::after {
    bottom: min(3.2vw, 0.2em);
  }
}
.c-title--decoration.p-service-head__title::after {
  content: "Service";
}
.c-title--decoration.p-new-construction-head__title::after {
  content: "New Construction";
}
.c-title--decoration.p-renovation-head__title::after {
  content: "Renovation";
}
.c-title--decoration.p-reform-head__title::after {
  content: "Reform";
}
.c-title--decoration.p-suggestions-head__title::after {
  content: "Suggestions for Residents";
}
.c-title--decoration.p-works-head__title::after {
  content: "Works";
}
.c-title--decoration.p-works-detail-head__title::after {
  content: "Works";
}
.c-title--decoration.p-column-head__title::after {
  content: "Column";
}
.c-title--decoration.p-column-detail-head__title::after {
  content: "Column";
}
.c-title--decoration.p-voice-head__title::after {
  content: "Voice";
}
.c-title--decoration.p-voice-detail-head__title::after {
  content: "Voice";
}
.c-title--decoration.p-news-head__title::after {
  content: "News";
}
.c-title--decoration.p-news-detail-head__title::after {
  content: "News";
}
.c-title--decoration.p-flow-head__title::after {
  content: "Flow";
}
.c-title--decoration.p-faq-head__title::after {
  content: "FAQ";
}
.c-title--decoration.p-company-head__title::after {
  content: "Company";
}
.c-title--decoration.p-policy-head__title::after {
  content: "Privacy Policy";
}
.c-title--decoration.p-contact-head__title::after {
  content: "Contact";
}
.c-title--decoration.p-request-head__title::after {
  content: "Request";
}
.c-title--decoration.p-thanks-head__title::after {
  content: "Thanks";
}
.c-title--decoration.p-staff-head__title::after {
  content: "Staff";
}
.c-title--decoration.p-staff-partner-head__title::after {
  content: "Partner";
}
.c-title--decoration.p-404-head__title::after {
  content: "Not Found";
}

/* セクション見出し */
.c-heading {
  position: relative;
  z-index: 1;
  margin-bottom: 0.75em;
  color: var(--color-main);
  font-size: clamp(1.375rem, 4.1666666667vw, 2rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .c-heading {
    margin-bottom: 1.2em;
    letter-spacing: 0.01em;
  }
}
@media screen and (max-width: 360px) {
  .c-heading {
    font-size: min(1.25rem, 6.1111111111vw);
  }
}
.c-heading--decoration {
  z-index: 1;
}
.c-heading--decoration::after {
  content: "Customer's Voice";
  display: inline-block;
  position: absolute;
  bottom: 0.25em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 0;
  width: 8.5em;
  color: var(--text-decoration-gray);
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  font-size: clamp(2.625rem, 10.4166666667vw, 5rem);
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-heading--decoration::after {
    bottom: min(3.2vw, 0.2em);
  }
}
.c-heading--small {
  font-size: clamp(1.25rem, 3.125vw, 1.5rem);
}
@media screen and (max-width: 768px) {
  .c-heading--small {
    margin-bottom: 0.8em;
    letter-spacing: 0.01em;
  }
}
.c-heading--flag > span {
  display: inline-block;
  position: relative;
  margin-left: 1.4em;
}
.c-heading--flag > span::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.25em;
  right: calc(100% + 0.3em);
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url(../image/icon_flag_color.png);
}
.c-heading--num {
  position: relative;
}
.c-heading--num::after {
  content: "00";
  display: inline-block;
  position: absolute;
  top: -0.625em;
  left: max(-2.4vw, -0.3em);
  z-index: -5;
  width: 1.3em;
  color: var(--text-decoration);
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  font-size: clamp(2.625rem, 9.375vw, 6rem);
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 599px) {
  .c-heading--num::after {
    top: -0.7em;
    left: -14px;
    width: 0.8em;
    font-size: clamp(6.5625rem, 23.3722871452vw, 8.75rem);
  }
}

/* テキスト */
.c-text-emphasis {
  font-size: clamp(0.875rem, 2.0833333333vw, 1rem);
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 2;
}
.c-text-emphasis--medium {
  font-size: clamp(1rem, 2.34375vw, 1.125rem);
}
.c-text-emphasis--large {
  font-size: clamp(1.125rem, 2.6041666667vw, 1.25rem);
}

/* ボタン */
.c-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.8em 3.5em;
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  font-weight: 500;
  text-align: center;
  border-radius: 3em;
  border: 2px solid transparent;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  .c-button {
    font-size: max(0.9375rem, 2.34375vw);
  }
}
.c-button:hover {
  opacity: 1;
}
.c-button--white {
  background-color: var(--color-white);
  color: var(--color-main);
  border: 2px solid var(--color-main);
}
.c-button--white:hover {
  background-color: var(--color-main);
  color: var(--color-white);
  border: 2px solid var(--color-white);
}
.c-button--color {
  background-color: var(--color-main);
  color: var(--color-white);
  border: 2px solid var(--color-white);
}
.c-button--color:hover {
  background-color: var(--color-white);
  color: var(--color-main);
  border: 2px solid var(--color-main);
}
.c-button--arrow > span {
  display: inline-block;
  position: relative;
}
.c-button--arrow > span::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: calc(100% + 1.5em);
  border-top: 0.35em solid transparent;
  border-left: 0.6em solid #fff;
  border-bottom: 0.35em solid transparent;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c-button--arrow > span::after {
    left: calc(100% + 0.8em);
  }
}
.c-button--arrow.c-button--color:hover > span::after {
  border-left: 0.6em solid var(--color-main);
}
.c-button--arrow.c-button--white > span::after {
  border-left: 0.6em solid var(--color-main);
}
.c-button--arrow.c-button--white:hover > span::after {
  border-left: 0.6em solid var(--color-white);
}
.c-button--mail > span {
  display: inline-block;
  position: relative;
  margin-right: -1.4em;
}
.c-button--mail > span::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: calc(100% + 0.3em);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url(../image/icon_mail_white.png);
}
.c-button--mail.c-button--color:hover > span::after {
  background-image: url(../image/icon_mail_color.png);
}
.c-button--mail.c-button--white > span::after {
  background-image: url(../image/icon_mail_color.png);
}
.c-button--mail.c-button--white:hover > span::after {
  background-image: url(../image/icon_mail_white.png);
}
.c-button--event > span {
  display: inline-block;
  position: relative;
  margin-right: -1.4em;
}
.c-button--event > span::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: calc(100% + 0.3em);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.1em;
  height: 1.1em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url(../image/icon_flag_white.png);
}
.c-button--event.c-button--color:hover > span::after {
  background-image: url(../image/icon_flag_color.png);
}
.c-button--event.c-button--white > span::after {
  background-image: url(../image/icon_flag_color.png);
}
.c-button--event.c-button--white:hover > span::after {
  background-image: url(../image/icon_flag_white.png);
}

/* アイコン */
.c-tel-icon > span {
  display: inline-block;
  position: relative;
  font-family: "Lato", sans-serif;
  font-style: normal;
}
.c-tel-icon > span::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: calc(100% + 0.4em);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.c-tel-icon--color > span::before {
  background-image: url(../image/icon_tel_color.png);
}
.c-tel-icon--white > span::before {
  background-image: url(../image/icon_tel_white.png);
}

.c-arrow-icon {
  display: block;
  position: relative;
  margin-right: 3em;
  color: var(--color-main);
  font-weight: 500;
  text-align: right;
}
.c-arrow-icon::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: calc(100% + 1.8em);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  border-top: 0.35em solid transparent;
  border-left: 0.6em solid #fff;
  border-bottom: 0.35em solid transparent;
}
.c-arrow-icon::after {
  content: "";
  display: inline-block;
  width: 2em;
  height: 2em;
  position: absolute;
  top: 50%;
  left: calc(100% + 1em);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: var(--color-main);
  border-radius: 3rem;
}

/* SPメニュー */
.c-sp-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: -1000;
  height: 100vh;
  visibility: hidden;
  opacity: 0;
  -webkit-transform: translateX(5em);
          transform: translateX(5em);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-sp-menu.is-open {
  z-index: 1000;
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.c-sp-menu__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2.8em;
  position: relative;
  z-index: 100;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100vw;
  height: 100%;
  margin-left: auto;
  padding: 5.625em;
  background-color: var(--color-main);
  color: var(--color-white);
  overflow-y: scroll;
}
@media screen and (max-width: 599px) {
  .c-sp-menu__inner {
    padding: 13.3555926544vw;
  }
}
.c-sp-menu__bg {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 50;
  width: 100vw;
  height: 100%;
}
.c-sp-menu__button {
  width: 2.3125em;
  height: 2.75em;
  position: absolute;
  top: 1em;
  right: 1em;
}
.c-sp-menu__button-line {
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: var(--color-white);
}
.c-sp-menu__button-line:first-of-type {
  top: 0.6em;
  -webkit-transform: rotate(45deg) translateY(0.425em);
          transform: rotate(45deg) translateY(0.425em);
}
.c-sp-menu__button-line:nth-of-type(2) {
  top: 1.2em;
  -webkit-transform: rotate(-45deg) translateY(-0.5em);
          transform: rotate(-45deg) translateY(-0.5em);
}
.c-sp-menu__button-item:not(:first-of-type) {
  margin-top: 1.2em;
}
.c-sp-menu__button-item--tel {
  margin-left: 1.4em;
  font-size: 1.5rem;
}
.c-sp-menu__logo {
  width: 15.625em;
}
.c-sp-menu__logo-image img {
  width: 100%;
}
.c-sp-menu__nav {
  font-size: 1em;
}
@media screen and (max-width: 599px) {
  .c-sp-menu__nav {
    font-size: clamp(0.875rem, 2.6711185309vw, 1rem);
  }
}
.c-sp-menu__nav-item:not(:first-of-type) {
  margin-top: 1.2em;
}
.c-sp-menu__secondary-nav-item {
  margin-top: 1.2em;
  margin-left: 1.5em;
}
.c-sp-menu__secondary-nav-item a > span {
  display: inline-block;
  position: relative;
}
.c-sp-menu__secondary-nav-item a > span::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1px;
  background-color: var(--color-white);
  position: absolute;
  top: 50%;
  right: calc(100% + 0.3em);
}

/* フローティングヘッダー */
.c-floating {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: var(--color-main);
  opacity: 0;
  visibility: hidden;
  z-index: -500;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  .c-floating {
    background-color: var(--color-white);
  }
}
.c-floating__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.5em 1.5em;
}
@media screen and (max-width: 768px) {
  .c-floating__inner {
    padding: 0.5em 0.8em;
  }
}
.c-floating.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 500;
}
.c-floating__logo {
  width: 8%;
  max-width: 120px;
  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) {
  .c-floating__logo {
    width: 14%;
  }
}
.c-floating__logo a {
  display: inline-block;
}
.c-floating__logo-image {
  display: inline-block;
}
.c-floating__logo-image img {
  width: 100%;
}
.c-floating__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-column-gap: min(1.1111111111vw, 1em);
     -moz-column-gap: min(1.1111111111vw, 1em);
          column-gap: min(1.1111111111vw, 1em);
  row-gap: 0.5em;
  color: var(--color-white);
}
@media screen and (max-width: 1024px) {
  .c-floating__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .c-floating__body {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 0.5em;
       -moz-column-gap: 0.5em;
            column-gap: 0.5em;
    width: calc(100% - (14% + 0.5em));
  }
}
@media screen and (max-width: 768px) {
  .c-floating__body-upper {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
@media screen and (max-width: 1024px) {
  .c-floating__body-lower {
    display: none;
  }
}
.c-floating__button-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: min(1.1111111111vw, 1em);
     -moz-column-gap: min(1.1111111111vw, 1em);
          column-gap: min(1.1111111111vw, 1em);
}
@media screen and (max-width: 768px) {
  .c-floating__button-list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.c-floating__button-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: min(1.1111111111vw, 1em);
     -moz-column-gap: min(1.1111111111vw, 1em);
          column-gap: min(1.1111111111vw, 1em);
}
.c-floating__button-item {
  color: var(--color-white);
  font-weight: 500;
}
.c-floating__button-item--tel {
  font-size: clamp(0.8125rem, 2.34375vw, 1.75rem);
}
@media screen and (max-width: 768px) {
  .c-floating__button-item--tel {
    font-size: inherit;
  }
}
@media screen and (max-width: 768px) {
  .c-floating__button-item .c-tel-icon {
    display: inline-block;
    width: 8.2em;
    padding: 0.6em 0;
    background-color: var(--color-main);
    color: var(--color-white);
    font-size: clamp(0.625rem, 1.8229166667vw, 0.875rem);
    text-align: center;
    border: none;
    border-radius: 3em;
  }
}
@media screen and (max-width: 768px) and (max-width: 374px) {
  .c-floating__button-item .c-tel-icon {
    width: 5.5em;
  }
}
@media screen and (max-width: 768px) {
  .c-floating__button-item .c-tel-icon > span {
    font-family: inherit;
  }
  .c-floating__button-item .c-tel-icon > span::before {
    content: none;
  }
  .c-floating__button-item .c-button {
    width: 8.2em;
    padding: 0.6em 0;
    background-color: var(--color-main);
    color: var(--color-white);
    font-size: clamp(0.625rem, 1.8229166667vw, 0.875rem);
    border: none;
  }
  .c-floating__button-item .c-button > span {
    margin-right: 0;
  }
  .c-floating__button-item .c-button > span::after {
    content: none;
  }
}
.c-floating .c-gnav__secondary-list {
  background-color: var(--color-main);
}
.c-floating__sp-menu-button {
  display: none;
}
@media screen and (max-width: 1024px) {
  .c-floating__sp-menu-button {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .c-floating__sp-menu-button .sp-menu-button__line > span {
    background-color: var(--color-main);
  }
}

/* フローティングフッター */
.c-footer-floating {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: var(--color-main);
  color: var(--color-white);
}
.c-footer-floating__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-footer-floating__item {
  width: calc((100% - 2px) / 3);
}
.c-footer-floating__item-wrap {
  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;
}

/* グローバルナビ */
.c-gnav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: min(1.1111111111vw, 1em);
     -moz-column-gap: min(1.1111111111vw, 1em);
          column-gap: min(1.1111111111vw, 1em);
}
@media screen and (min-width: 1201px) {
  .c-gnav__list {
    -webkit-column-gap: 1.8em;
       -moz-column-gap: 1.8em;
            column-gap: 1.8em;
  }
}
.c-gnav__item {
  position: relative;
  font-size: clamp(0.8125rem, 0.9722222222vw, 0.875rem);
  font-weight: 500;
}
.c-gnav__item:hover .c-gnav__secondary-list {
  z-index: 100;
  opacity: 1;
  visibility: visible;
}
.c-gnav__secondary-list {
  position: absolute;
  top: 100%;
  left: -1em;
  padding: 0.5em 0;
  z-index: -100;
  opacity: 0;
  visibility: hidden;
  background-color: var(--color-main);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-gnav__secondary-list a {
  display: block;
  padding: 0.5em 1em;
}
.c-gnav__secondary-item {
  width: 13.5em;
}

/* 下層ページ header */
.c-page-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  max-width: 980px;
  margin: 0 auto 4em;
  aspect-ratio: 980/240;
}
@media screen and (max-width: 768px) {
  .c-page-head {
    margin: 0 auto 5.6em;
    aspect-ratio: 400/140;
  }
}

/* 下層ページ kv */
.c-page-kv {
  max-width: 1440px;
  margin: 0 auto clamp(80px, 13.3333333333vw, 160px);
}
.c-page-kv__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .c-page-kv__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.c-page-kv__image {
  width: 86%;
}
@media screen and (max-width: 768px) {
  .c-page-kv__image {
    width: 74%;
  }
}
.c-page-kv__image img {
  width: 100%;
}
.c-page-kv__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 14%;
}
@media screen and (max-width: 768px) {
  .c-page-kv__desc {
    width: 26%;
  }
}
.c-page-kv__text {
  font-size: clamp(1.5rem, 2.2222222222vw, 2rem);
  font-weight: 600;
  color: var(--color-main);
  letter-spacing: 0.25em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
}
.c-page-kv__text > p:nth-child(2) {
  margin-top: 2em;
}
@media screen and (max-width: 768px) {
  .c-page-kv__text > p:nth-child(2) {
    margin-top: 1.5em;
  }
}
@media screen and (max-width: 599px) {
  .c-page-kv__text {
    font-size: clamp(1.125rem, 4.0066777963vw, 1.5rem);
  }
}

/* パーツ */
.c-category__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  row-gap: 0.5em;
}
.c-category__item {
  display: inline-block;
  padding: 0.2em 1.25em;
  background-color: var(--color-main);
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 3em;
}

.c-date {
  color: var(--color-main);
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-size: clamp(0.8125rem, 1.8229166667vw, 0.875rem);
}

/* swiper */
.swiper-button__next, .swiper-button__prev {
  display: inline-block;
  width: 2em;
  height: 2em;
  position: absolute;
  top: 28vw;
  z-index: 2000;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: var(--color-main);
  border-radius: 3rem;
}
.swiper-button__next::after, .swiper-button__prev::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  position: absolute;
  inset: 0;
  margin: auto;
  background-color: transparent;
  z-index: 10;
  border-top: 0.35em solid transparent;
  border-left: 0.6em solid transparent;
  border-bottom: 0.35em solid transparent;
}
@media screen and (min-width: 769px) {
  .swiper-button__next, .swiper-button__prev {
    display: none;
  }
}
.swiper-button__next {
  left: calc(100% - 2.2em);
}
.swiper-button__prev {
  right: calc(100% - 2.2em);
}
.swiper-button__prev::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.swiper-button__color {
  background-color: var(--color-main);
}
.swiper-button__color::after {
  border-left: 0.6em solid var(--color-white);
}
.swiper-button__white {
  background-color: var(--color-white);
}
.swiper-button__white::after {
  border-left: 0.6em solid var(--color-main);
}

/* faq要素 */
.c-faq__item {
  background-color: var(--color-white);
  color: var(--color-main);
  border-radius: 1em;
  cursor: pointer;
}
.c-faq__item:not(:last-of-type) {
  margin-bottom: min(2.7777777778vw, 2.5em);
}
.c-faq__item.is-open .c-faq__question-inner::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.c-faq__question-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  position: relative;
  padding: 1.4em 3.5em 1em 2.5em;
}
@media screen and (max-width: 768px) {
  .c-faq__question-inner {
    padding: 1.2em 3.5em 1.2em 1.2em;
  }
}
.c-faq__question-inner::after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  right: 1.5em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-top: 1em solid var(--color-main);
  border-left: 0.65em solid transparent;
  border-right: 0.65em solid transparent;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
@media screen and (max-width: 768px) {
  .c-faq__question-inner::after {
    border-top: 0.8em solid var(--color-main);
    border-left: 0.5em solid transparent;
    border-right: 0.5em solid transparent;
  }
}
.c-faq__question-heading {
  margin-top: -0.35em;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-weight: 600;
}
.c-faq__question-text {
  font-size: clamp(1rem, 1.6666666667vw, 1.25rem);
  font-weight: 600;
}
.c-faq__answer {
  display: none;
}
.c-faq__answer-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  padding: 0 2.5em 1.4em;
}
@media screen and (max-width: 768px) {
  .c-faq__answer-inner {
    padding: 0 1.2em 1.2em;
  }
}
.c-faq__answer-heading {
  display: inline-block;
  position: relative;
  margin-left: 1.6em;
  font-size: clamp(1.5rem, 2vw, 1.5rem);
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
}
.c-faq__answer-heading::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  right: calc(100% + 0.5em);
  width: 0.65em;
  height: 0.65em;
  border-left: 2px solid var(--color-main);
  border-bottom: 2px solid var(--color-main);
}
.c-faq__answer-text {
  font-size: clamp(0.875rem, 1.3333333333vw, 1rem);
  line-height: 1.8;
}

/* フォーム */
.c-form .alert {
  margin-top: 0.3em;
  font-size: 0.9em;
  font-weight: 500;
  color: var(--text-alert);
}
.c-form__content {
  margin-bottom: 5em;
}
.c-form__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.5em;
     -moz-column-gap: 2.5em;
          column-gap: 2.5em;
  row-gap: 1.5em;
}
@media screen and (max-width: 768px) {
  .c-form__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.c-form__wrap:not(:last-of-type) {
  margin-bottom: 2.5em;
}
.c-form__wrap--address {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.c-form__wrap--address .c-form__heading {
  margin-top: 1.2em;
}
.c-form__wrap--message {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.c-form__wrap .wpcf7-not-valid-tip {
  display: none;
}
.c-form__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 12.5em;
}
@media screen and (max-width: 768px) {
  .c-form__heading {
    width: 100%;
  }
}
.c-form__heading-text {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--color-main);
}
.c-form__heading-required {
  padding: 0.15em 1em 0.1em;
  background-color: var(--color-main);
  font-size: 0.875rem;
  color: var(--color-white);
  border-radius: 3em;
}
.c-form__body {
  width: calc(100% - 15em);
}
@media screen and (max-width: 768px) {
  .c-form__body {
    width: 100%;
  }
}
.c-form__body ::-webkit-input-placeholder {
  color: var(--color-sub);
}
.c-form__body ::-moz-placeholder {
  color: var(--color-sub);
}
.c-form__body :-ms-input-placeholder {
  color: var(--color-sub);
}
.c-form__body ::-ms-input-placeholder {
  color: var(--color-sub);
}
.c-form__body ::placeholder {
  color: var(--color-sub);
}
.c-form__body input {
  width: 100%;
  padding: 1.25em 1.5em;
  background-color: var(--color-white);
  border-radius: 1em;
}
.c-form__body select {
  width: 100%;
  padding: 1.25em 1.5em;
  background-color: var(--color-white);
  border-radius: 1em;
}
.c-form__body textarea {
  width: 100%;
  padding: 1.25em 1.5em;
  background-color: var(--color-white);
  border-radius: 1em;
}
.c-form__body--porpose label:not(:first-of-type) {
  margin-left: 2.2em;
}
.c-form__body--porpose label span {
  display: inline-block;
  position: relative;
  padding-left: 2.5em;
}
.c-form__body--porpose label span::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  left: 5px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: var(--color-white);
  border: 2px solid var(--color-main);
  border-radius: 50%;
}
.c-form__body--porpose label span::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--color-main);
  position: absolute;
  top: 50%;
  left: 12px;
  z-index: 5;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
}
.c-form__body--porpose label input:checked + span::after {
  opacity: 1;
}
.c-form__body--postcode {
  margin-bottom: 1.5em;
}
.c-form__body--postcode .mark {
  margin-right: 0.5em;
  font-size: 1.125rem;
}
.c-form__body--postcode input {
  width: 16em;
}
.c-form__select-wrap {
  position: relative;
}
.c-form__select-wrap::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 1.6em;
  right: 1em;
  width: 0.6em;
  height: 0.6em;
  border-bottom: 2px solid var(--color-main);
  border-right: 2px solid var(--color-main);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.c-form__submit-button {
  display: block;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
}
.c-form__submit-button::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 1.6em;
  right: 1.2em;
  border-top: 0.35em solid transparent;
  border-left: 0.6em solid #fff;
  border-bottom: 0.35em solid transparent;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-form__submit-button-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  row-gap: 1em;
}
.c-form__submit-button-list .c-form__submit-button {
  margin: 0;
}
@media screen and (max-width: 599px) {
  .c-form__submit-button-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.c-form__submit-button input {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 250px;
  margin: 0 auto;
  padding: 1em 3em;
  background-color: var(--color-main);
  font-weight: 600;
  color: var(--color-white);
  border-radius: 3em;
  border: 2px solid var(--color-main);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-form__submit-button:hover::after {
  border-top: 0.35em solid transparent;
  border-left: 0.6em solid var(--color-main);
  border-bottom: 0.35em solid transparent;
}
.c-form__submit-button:hover input {
  background-color: var(--color-white);
  color: var(--color-main);
}
.c-form__submit-button--white input {
  background-color: var(--color-white);
  color: var(--color-main);
}
.c-form__submit-button--white::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 1.6em;
  right: 1.2em;
  border-top: 0.35em solid transparent;
  border-left: 0.6em solid var(--color-main);
  border-bottom: 0.35em solid transparent;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-form__submit-button--white:hover::after {
  border-top: 0.35em solid transparent;
  border-left: 0.6em solid var(--color-white);
  border-bottom: 0.35em solid transparent;
}
.c-form__submit-button--white:hover input {
  background-color: var(--color-main);
  color: var(--color-white);
}
.c-form__submit-button .wpcf7-spinner {
  display: none;
}

.confirmArea .c-form__wrap--address {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.confirmArea .c-form__wrap--address .c-form__heading {
  margin-top: 0;
}

.c-privacy {
  margin-bottom: 5em;
  padding: 5em 0;
  background-image: url(../image/bd_color.svg), url(../image/bd_color.svg);
  background-position: left top, left bottom;
  background-repeat: repeat-x, repeat-x;
  background-size: 6px 3px, 6px 3px;
}
.c-privacy__inner {
  max-width: 850px;
  margin: 0 auto;
}
.c-privacy__title.c-heading {
  margin-bottom: 1.5em;
  text-align: center;
}
.c-privacy__text {
  margin-bottom: 1.5em;
  line-height: 2;
}
.c-privacy__text-link {
  font-weight: 600;
  color: var(--color-main);
}
.c-privacy__check {
  text-align: center;
}
.c-privacy__check label span {
  display: inline-block;
  position: relative;
  padding-left: 2.5em;
}
.c-privacy__check label span::before {
  content: "";
  position: absolute;
  top: 52%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1.5em;
  height: 1.5em;
  left: 5px;
  background-color: var(--color-white);
  border: 2px solid var(--color-main);
  border-radius: 3px;
}
.c-privacy__check label span::after {
  content: "";
  position: absolute;
  top: 42%;
  left: 0.8em;
  width: 0.6em;
  height: 1em;
  border-right: 2px solid var(--color-main);
  border-bottom: 2px solid var(--color-main);
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  opacity: 0;
}
.c-privacy__check label input:checked + span::after {
  opacity: 1;
}
.c-privacy .wpcf7-not-valid-tip {
  display: none;
}

/* 絞り込み */
.c-filter__form {
  max-width: 800px;
  padding: min(2.7777777778vw, 2.5em) min(2.7777777778vw, 2.5em) 4em;
  background-color: var(--color-white);
  color: var(--color-main);
  border: 2px solid var(--color-main);
  border-radius: 1em;
}
@media screen and (max-width: 1200px) {
  .c-filter__form {
    width: auto;
    max-width: 46.5em;
  }
}
@media screen and (max-width: 768px) {
  .c-filter__form {
    padding: 2em 1.65em 4.5em;
  }
}
@media screen and (max-width: 599px) {
  .c-filter__form {
    padding: 2em 0.8em 4.5em;
  }
}
.c-filter__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-column-gap: 0.8em;
     -moz-column-gap: 0.8em;
          column-gap: 0.8em;
  row-gap: 1.5em;
}
.c-filter__group:not(:last-of-type) {
  margin-bottom: 2.5em;
}
@media screen and (max-width: 768px) {
  .c-filter__group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    margin-left: 0;
  }
}
.c-filter__label {
  width: 3.5em;
  position: relative;
  margin: 0 auto;
  font-size: 1.125rem;
  font-weight: 600;
}
.c-filter__label::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.1em;
  right: calc(100% + 0.2em);
  width: 1.2em;
  height: 1.2em;
  background-image: url(../image/icon_flag_color.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 599px) {
  .c-filter__label {
    margin-left: 1.8em;
    margin-right: auto;
    font-size: 1rem;
  }
}
.c-filter__option {
  max-width: 560px;
  margin: 0 auto;
}
@media screen and (max-width: 599px) {
  .c-filter__option {
    width: 100%;
  }
}
.c-filter__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  row-gap: 1em;
}
@media screen and (max-width: 768px) {
  .c-filter__list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media screen and (max-width: 599px) {
  .c-filter__list {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
}
@media screen and (max-width: 599px) {
  .c-filter__list--method .c-filter__item {
    width: 50%;
  }
}
.c-filter__item {
  min-width: 12em;
  font-size: 0.9375rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .c-filter__item {
    width: calc((100% - 1.92em) / 2);
  }
}
@media screen and (max-width: 599px) {
  .c-filter__item {
    width: 33.3333333333%;
    min-width: auto;
    font-size: 0.8125rem;
  }
}
.c-filter__item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (max-width: 599px) {
  .c-filter__item label {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.c-filter__item input {
  display: inline-block;
  position: relative;
  height: 1.25em;
  padding-left: 2.5em;
}
@media screen and (max-width: 599px) {
  .c-filter__item input {
    height: 1.1em;
    padding-left: 1.8em;
  }
}
.c-filter__item input::before {
  content: "";
  position: absolute;
  top: 52%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1.5em;
  height: 1.5em;
  left: 5px;
  background-color: var(--color-white);
  border: 2px solid var(--color-main);
  border-radius: 3px;
}
@media screen and (max-width: 599px) {
  .c-filter__item input::before {
    width: 1.3em;
    height: 1.3em;
  }
}
.c-filter__item input::after {
  content: "";
  position: absolute;
  top: 42%;
  left: 0.8em;
  width: 0.6em;
  height: 1em;
  border-right: 2px solid var(--color-main);
  border-bottom: 2px solid var(--color-main);
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  opacity: 0;
}
.c-filter__item input:checked::after {
  opacity: 1;
}
.c-filter__submit-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  position: relative;
}
.c-filter__submit-button::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 1.5em;
  border-top: 0.35em solid transparent;
  border-left: 0.6em solid #fff;
  border-bottom: 0.35em solid transparent;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c-filter__submit-button::after {
    left: calc(100% - 2em);
    right: auto;
  }
}
.c-filter__submit-button:hover::after {
  border-left: 0.6em solid var(--color-main);
}
.c-filter__reset {
  margin-top: 3.2em;
}
.c-filter__reset-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  position: relative;
}
.c-filter__reset-button::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 1.5em;
  border-top: 0.35em solid transparent;
  border-left: 0.6em solid var(--color-main);
  border-bottom: 0.35em solid transparent;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c-filter__reset-button::after {
    left: calc(100% - 2em);
    right: auto;
  }
}
.c-filter__reset-button:hover::after {
  border-left: 0.6em solid var(--color-white);
}

/* pagination 一覧 */
.c-pagination {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: min(6.6666666667vw, 80px) auto 0;
}
@media screen and (max-width: 768px) {
  .c-pagination {
    margin: min(10.4166666667vw, 80px) auto 0;
  }
}
.c-pagination--detail {
  width: 100%;
}
.c-pagination .wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.4em;
     -moz-column-gap: 1.4em;
          column-gap: 1.4em;
  font-size: 1.125rem;
  color: var(--color-sub);
}
.c-pagination .wp-pagenavi a, .c-pagination .wp-pagenavi span {
  margin: 0;
  padding: 0;
  border: none;
}
.c-pagination .wp-pagenavi .current {
  font-weight: 600;
  color: var(--color-main);
}
.c-pagination .wp-pagenavi .previouspostslink {
  padding: 0.4em 0.8em;
  background-color: var(--color-main);
  color: var(--color-white);
  border-radius: 8px;
}
.c-pagination .wp-pagenavi .nextpostslink {
  padding: 0.4em 0.8em;
  background-color: var(--color-main);
  color: var(--color-white);
  border-radius: 8px;
}

/* pagination 詳細 */
.c-pagination__wrap {
  position: relative;
}
.c-pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-pagination__item--next {
  margin-left: auto;
}
.c-pagination__link {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.c-post__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 1.5em;
     -moz-column-gap: 1.5em;
          column-gap: 1.5em;
  row-gap: min(6.6666666667vw, 80px);
}
@media screen and (max-width: 768px) {
  .c-post__list {
    row-gap: min(10.4166666667vw, 80px);
  }
}
.c-post__item {
  width: calc((100% - 3em) / 3);
}
@media screen and (max-width: 768px) {
  .c-post__item {
    width: calc((100% - 1.5em) / 2);
  }
}
@media screen and (max-width: 599px) {
  .c-post__item {
    width: 100%;
  }
}
.c-post__item-link {
  display: block;
}
.c-post__item-link:hover {
  opacity: 1;
}
.c-post__item-link:hover .c-post__item-image {
  background-color: var(--color-white);
}
.c-post__item-link:hover .c-post__item-image img {
  opacity: 0.5;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.c-post__item-image {
  position: relative;
  margin-bottom: 1em;
  overflow: hidden;
  border-radius: 1em;
  aspect-ratio: 440/240;
}
.c-post__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.c-post__item-image img.fin {
  -webkit-filter: brightness(0.7);
          filter: brightness(0.7);
}
.c-post__item-image-label {
  position: absolute;
  top: 1em;
  left: 0;
  z-index: 100;
  padding: 0.25em 1.2em;
  background-color: var(--color-main);
  color: var(--color-white);
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-size: clamp(0.8125rem, 0.9722222222vw, 0.875rem);
  font-weight: 600;
  border-radius: 0 2em 2em 0;
}
.c-post__item-image.noimage {
  border: 2px solid var(--color-main);
}
.c-post__item-category {
  margin: 0 0.75rem 0.7em;
}
.c-post__item-category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  row-gap: 0.5em;
}
.c-post__item-category-item {
  display: inline-block;
  padding: 0.2em 1.25em;
  background-color: var(--color-main);
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 3em;
}
.c-post__item-date {
  margin: 0 0.75rem 0.2em;
  font-size: 0.875rem;
  font-family: "Lato", sans-serif;
  font-style: normal;
  color: var(--color-main);
}
.c-post__item-title {
  margin: 0 0.75rem 0.5em;
  color: var(--color-main);
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  font-weight: 600;
}
.c-post__item-title--bd-dotted {
  padding-bottom: 0.5em;
  background-image: url(../image/bd_color.svg);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 3px;
}
.c-post__item-excerpt {
  margin: 0 0.75rem;
}
.c-post__data {
  margin: 0 0.75rem;
}
.c-post__data-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
.c-post__data-item:not(:last-of-type) {
  margin-bottom: 0.2em;
}
.c-post__data-heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 2.5em;
}

.c-detail {
  background-color: var(--color-white);
  padding: min(3.3333333333vw, 2.5em) min(3.3333333333vw, 2.5em);
  border-radius: 1em;
}
@media screen and (max-width: 768px) {
  .c-detail {
    padding: min(5.2083333333vw, 2.5em) min(3.6458333333vw, 2.5em);
  }
}
.c-detail__kv {
  max-width: 720px;
  margin: 0 auto min(6.6666666667vw, 80px);
}
@media screen and (max-width: 768px) {
  .c-detail__kv {
    margin: 0 auto min(10.4166666667vw, 80px);
  }
}
.c-detail__kv img {
  width: 100%;
  border-radius: 1em;
}
.c-detail__title {
  position: relative;
  z-index: 1;
  margin: 0 auto 1em;
  padding: 0 0.25em 0.5em;
  color: var(--color-main);
  font-size: clamp(1.375rem, 3.125vw, 1.5rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.4;
  background-image: url(../image/bd_color.svg);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 3px;
}
@media screen and (max-width: 768px) {
  .c-detail__title {
    margin-bottom: 1.2em;
    letter-spacing: 0.01em;
  }
}
@media screen and (max-width: 360px) {
  .c-detail__title {
    font-size: min(1.25rem, 6.1111111111vw);
  }
}
.c-detail__title--small {
  font-size: clamp(1.25rem, 2.8645833333vw, 1.375rem);
}
@media screen and (max-width: 768px) {
  .c-detail__title--small {
    margin-bottom: 0.8em;
    letter-spacing: 0.01em;
  }
}
.c-detail__title--flag > span {
  display: inline-block;
  position: relative;
  margin-left: 1.4em;
}
.c-detail__title--flag > span::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.25em;
  right: calc(100% + 0.3em);
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url(../image/icon_flag_color.png);
}
.c-detail__title--wide {
  margin: 0 auto min(5vw, 60px);
}
@media screen and (max-width: 768px) {
  .c-detail__title--wide {
    margin: 0 auto min(7.8125vw, 60px);
  }
}
.c-detail__category {
  margin-bottom: min(6.6666666667vw, 80px);
}
@media screen and (max-width: 768px) {
  .c-detail__category {
    margin-bottom: min(10.4166666667vw, 80px);
  }
}
.c-detail__category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  row-gap: 0.5em;
}
.c-detail__category-item {
  display: inline-block;
  padding: 0.2em 1.25em;
  background-color: var(--color-main);
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 3em;
}
.c-detail__date {
  display: inline-block;
  margin-bottom: 0.5em;
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-weight: 600;
  color: var(--color-main);
}
.c-detail__data {
  max-width: 720px;
  margin: 0 auto min(6.6666666667vw, 80px);
  padding: 2em 2.5em;
  background-color: var(--bg-light-gray);
  border-radius: 1em;
}
@media screen and (max-width: 768px) {
  .c-detail__data {
    margin: 0 auto min(10.4166666667vw, 80px);
    padding: 4.1666666667vw 5.2083333333vw;
  }
}
.c-detail__data-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1em 0.5em;
  border-bottom: 1px dotted var(--color-main);
}
.c-detail__data-item:first-of-type {
  border-top: 1px dotted var(--color-main);
}
.c-detail__data--schedule .c-detail__data-item {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
.c-detail__data--schedule .c-detail__data-heading {
  width: 5em;
  font-weight: 600;
  color: var(--color-main);
}
.c-detail__data--schedule .c-detail__data-body {
  width: calc(100% - 6em);
}
.c-detail__body {
  line-height: 2;
}
.c-detail__body h2, .c-detail__body h3, .c-detail__body h4 {
  margin-top: 1em;
  font-size: revert;
}
.c-detail__body p {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.c-detail__body h2 + p,
.c-detail__body h3 + p,
.c-detail__body h4 + p,
.c-detail__body ul + p,
.c-detail__body ol + p,
.c-detail__body p + p {
  margin-top: 1em;
}
.c-detail__body p img {
  margin-top: 1.2em;
  margin-bottom: 1.2em;
  max-width: 100%;
  width: auto;
  height: 100%;
  max-height: 500px;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-detail__body p img.aligncenter {
  margin-top: 2.2em;
  margin-bottom: 2.2em;
}
@media screen and (max-width: 768px) {
  .c-detail__body p img {
    width: 100%;
  }
}
.c-detail__body p b {
  font-weight: 600;
}
.c-detail__body > div {
  width: 100% !important;
}
.c-detail__body img {
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

.c-side-group:not(:last-child) {
  margin-bottom: min(4.1666666667vw, 50px);
}
@media screen and (max-width: 768px) {
  .c-side-group:not(:last-child) {
    margin-bottom: min(6.5104166667vw, 50px);
  }
}
.c-side-group__title {
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: clamp(1.125rem, 2.6041666667vw, 1.25rem);
  color: var(--color-main);
  margin-bottom: 1em;
  padding-bottom: 0.2em;
  border-bottom: 1px solid var(--color-main);
}
.c-side-group__item:not(:last-child) {
  margin-bottom: 0.8em;
}
.c-side-group__item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
.c-side-group__item-image {
  width: 100px;
  height: 82px;
}
.c-side-group__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
.c-side-group__item-title {
  font-size: 0.9375rem;
  line-height: 1.6;
}
.c-side-group__item-desc {
  width: calc(100% - 100px);
}
.c-side-group__item-date {
  margin-bottom: 0.3em;
  font-size: 0.875rem;
  font-family: "Lato", sans-serif;
  font-style: normal;
  color: var(--color-main);
}

/* header
======================================== */
.header {
  background-color: var(--color-main);
}
.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1690px;
  margin: 0 auto;
  margin: 0 auto;
  padding: 1.5em;
}
@media screen and (max-width: 1024px) {
  .header__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.header__logo {
  width: 28%;
  max-width: 400px;
}
@media screen and (max-width: 768px) {
  .header__logo {
    width: 60%;
  }
}
.header__logo img {
  width: 100%;
}
.header__button-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: min(1.1111111111vw, 1em);
     -moz-column-gap: min(1.1111111111vw, 1em);
          column-gap: min(1.1111111111vw, 1em);
}
@media screen and (max-width: 1024px) {
  .header__button-list {
    display: none;
  }
}
.header__button-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: min(1.1111111111vw, 1em);
     -moz-column-gap: min(1.1111111111vw, 1em);
          column-gap: min(1.1111111111vw, 1em);
}
.header__button-item {
  color: var(--color-white);
  font-weight: 500;
}
.header__button-item a > span {
  display: inline-block;
  position: relative;
}
.header__button-item a > span::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: calc(100% + 0.3em);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.header__button-item--tel {
  font-size: clamp(0.8125rem, 2.34375vw, 1.75rem);
}
.header__button-item--mail {
  color: var(--color-main);
}
.header__button-item--mail a > span {
  margin-right: -1.4em;
}
.header__button-item--mail a > span::before {
  background-image: url(../image/icon_mail_color.png);
}
.header__button-item--mail a:hover > span::before {
  background-image: url(../image/icon_mail_white.png);
}
.header__sp-menu-button {
  display: none;
}
@media screen and (max-width: 1024px) {
  .header__sp-menu-button {
    display: block;
  }
}

.sp-menu-button__line {
  width: 2.3125em;
  height: 2.75em;
  position: relative;
}
.sp-menu-button__line > span {
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: var(--color-white);
}
.sp-menu-button__line > span:first-of-type {
  top: 0.6em;
}
.sp-menu-button__line > span:nth-of-type(2) {
  top: 50%;
}
.sp-menu-button__line > span:nth-of-type(3) {
  bottom: 0.4em;
}

.sub-page-header {
  background-color: transparent;
}
@media screen and (max-width: 768px) {
  .sub-page-header {
    background-color: var(--color-main);
  }
}
.sub-page-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.5em 1.5em;
}
@media screen and (max-width: 768px) {
  .sub-page-header__inner {
    padding: 0.5em 0.8em;
  }
}
.sub-page-header__logo {
  width: 8%;
  max-width: 120px;
  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) {
  .sub-page-header__logo {
    width: 14%;
  }
}
.sub-page-header__logo a {
  display: inline-block;
}
.sub-page-header__logo-image {
  display: inline-block;
}
.sub-page-header__logo-image img {
  width: 100%;
}
.sub-page-header__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-column-gap: min(1.1111111111vw, 1em);
     -moz-column-gap: min(1.1111111111vw, 1em);
          column-gap: min(1.1111111111vw, 1em);
  row-gap: 0.5em;
  color: var(--color-main);
}
@media screen and (max-width: 1024px) {
  .sub-page-header__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .sub-page-header__body {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 0.5em;
       -moz-column-gap: 0.5em;
            column-gap: 0.5em;
    width: calc(100% - (14% + 0.5em));
  }
}
@media screen and (max-width: 768px) {
  .sub-page-header__body-upper {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
@media screen and (max-width: 1024px) {
  .sub-page-header__body-lower {
    display: none;
  }
}
.sub-page-header__button-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: min(1.1111111111vw, 1em);
     -moz-column-gap: min(1.1111111111vw, 1em);
          column-gap: min(1.1111111111vw, 1em);
}
@media screen and (max-width: 768px) {
  .sub-page-header__button-list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.sub-page-header__button-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: min(1.1111111111vw, 1em);
     -moz-column-gap: min(1.1111111111vw, 1em);
          column-gap: min(1.1111111111vw, 1em);
}
.sub-page-header__button-item {
  color: var(--color-main);
  font-weight: 500;
}
.sub-page-header__button-item--tel {
  font-size: clamp(0.8125rem, 2.34375vw, 1.75rem);
}
@media screen and (max-width: 768px) {
  .sub-page-header__button-item--tel {
    font-size: inherit;
  }
}
@media screen and (max-width: 768px) {
  .sub-page-header__button-item .c-tel-icon {
    display: inline-block;
    width: 8.2em;
    padding: 0.6em 0;
    background-color: var(--color-white);
    color: var(--color-main);
    font-size: clamp(0.625rem, 1.8229166667vw, 0.875rem);
    text-align: center;
    border: none;
    border-radius: 3em;
  }
}
@media screen and (max-width: 768px) and (max-width: 374px) {
  .sub-page-header__button-item .c-tel-icon {
    width: 5.5em;
  }
}
@media screen and (max-width: 768px) {
  .sub-page-header__button-item .c-tel-icon > span {
    font-family: inherit;
  }
  .sub-page-header__button-item .c-tel-icon > span::before {
    content: none;
  }
  .sub-page-header__button-item .c-button {
    width: 8.2em;
    padding: 0.6em 0;
    background-color: var(--color-white);
    color: var(--color-main);
    font-size: clamp(0.625rem, 1.8229166667vw, 0.875rem);
    border: none;
  }
  .sub-page-header__button-item .c-button > span {
    margin-right: 0;
  }
  .sub-page-header__button-item .c-button > span::after {
    content: none;
  }
}
.sub-page-header .c-gnav__secondary-list {
  background-color: var(--bg-beige);
  background-image: url(../image/bg_texture.jpg);
  background-position: top center;
  background-repeat: repeat;
}
.sub-page-header__sp-menu-button {
  display: none;
}
@media screen and (max-width: 1024px) {
  .sub-page-header__sp-menu-button {
    display: block;
  }
  .sub-page-header__sp-menu-button .sp-menu-button__line > span {
    background-color: var(--color-main);
  }
}
@media screen and (max-width: 768px) {
  .sub-page-header__sp-menu-button .sp-menu-button__line > span {
    background-color: var(--color-white);
  }
}

/* footer
======================================== */
.footer {
  position: relative;
  background-color: var(--color-main);
  font-weight: 300;
  color: var(--color-white);
}
.footer::before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: calc(100% - 2em);
  right: 0;
  width: min(48%, 44em);
  height: 15vw;
  background-image: url(../image/image_footer_pc.png);
  background-size: contain;
  background-position: bottom right;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .footer::before {
    content: none;
  }
}
.footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 2em;
     -moz-column-gap: 2em;
          column-gap: 2em;
  row-gap: 5em;
  max-width: 1440px;
  margin: 0 auto;
  padding: min(10.4166666667vw, 9.375em) min(3.3333333333vw, 3em) min(5.5555555556vw, 5em);
}
@media screen and (max-width: 768px) {
  .footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.footer__left {
  width: 19em;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .footer__left {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    text-align: center;
  }
}
.footer__address {
  margin-bottom: 0.5em;
}
.footer__contact {
  margin-bottom: 2em;
}
@media screen and (max-width: 768px) {
  .footer__contact {
    margin-bottom: 1em;
  }
}
.footer__contact-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  row-gap: 0.8em;
}
.footer__sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.8em;
     -moz-column-gap: 0.8em;
          column-gap: 0.8em;
}
@media screen and (max-width: 768px) {
  .footer__sns-list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.footer__sns-item {
  width: 1.5em;
}
.footer__sns-item img {
  width: 100%;
}
.footer__right {
  width: calc(100% - 21em);
}
@media screen and (max-width: 1024px) {
  .footer__right {
    width: 100%;
  }
}
.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-column-gap: min(3.3333333333vw, 3em);
     -moz-column-gap: min(3.3333333333vw, 3em);
          column-gap: min(3.3333333333vw, 3em);
}
@media screen and (max-width: 1024px) {
  .footer__nav {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.footer__nav-list {
  max-width: 17em;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 1024px) {
  .footer__nav-list {
    max-width: calc((100% - min(3.3333333333vw, 3em) * 2) / 3);
  }
}
@media screen and (max-width: 599px) {
  .footer__nav-list {
    width: calc((100% - min(3.3333333333vw, 3em) * 1) / 2);
    max-width: calc((100% - min(3.3333333333vw, 3em) * 1) / 2);
  }
}
@media screen and (max-width: 599px) {
  .footer__nav-list--01 .footer__nav-item:last-of-type {
    background-image: url(../image/bd_white.svg);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 6px 3px;
  }
}
.footer__nav-item {
  margin-bottom: 1em;
  padding-bottom: 1.25em;
  padding-left: 0.8em;
  font-size: 0.875rem;
}
.footer__nav-item:not(:last-child) {
  background-image: url(../image/bd_white.svg);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 3px;
}
.footer__nav-item > a {
  display: inline-block;
}
.footer__secondary-nav-item {
  margin-top: 1em;
  padding-left: 2em;
}
.footer__small {
  padding-bottom: 1em;
  font-size: clamp(0.75rem, 1.8229166667vw, 0.875rem);
  text-align: center;
}

/* パンくず
======================================== */
@media screen and (max-width: 768px) {
  .breadcrumbs {
    padding-top: 2em;
    background-color: var(--color-main);
  }
}
.breadcrumbs__inner {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 min(2.7777777778vw, 2.5em) min(1.3888888889vw, 1.25em);
}
@media screen and (max-width: 768px) {
  .breadcrumbs__inner {
    padding: 1.25em min(2.7777777778vw, 2.5em) min(1.3888888889vw, 1.25em);
  }
  .breadcrumbs__inner::before {
    content: "";
    display: inline-block;
    position: absolute;
    bottom: 100%;
    right: 0;
    width: 90%;
    height: 30vw;
    background-image: url(../image/image_footer_sp.png);
    background-size: contain;
    background-position: bottom right;
    background-repeat: no-repeat;
  }
}
.breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 1.5em;
     -moz-column-gap: 1.5em;
          column-gap: 1.5em;
  row-gap: 0.2em;
  width: 52%;
  margin-left: 1.6em;
}
@media screen and (max-width: 768px) {
  .breadcrumbs__list {
    width: calc(100% - 2em);
  }
}
.breadcrumbs__item {
  position: relative;
  font-size: 0.75rem;
  color: var(--color-main);
}
@media screen and (max-width: 768px) {
  .breadcrumbs__item {
    color: var(--color-white);
  }
}
.breadcrumbs__item:not(:first-of-type)::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.5em;
  right: calc(100% + 0.8em);
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid var(--color-main);
  border-right: 1px solid var(--color-main);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
  .breadcrumbs__item:not(:first-of-type)::before {
    border-top: 1px solid var(--color-white);
    border-right: 1px solid var(--color-white);
  }
}
.breadcrumbs__text-icon {
  display: inline-block;
  position: relative;
  margin-left: 0.4em;
}
.breadcrumbs__text-icon::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: calc(100% + 0.4em);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.625em;
  height: 1.625em;
  background-image: url(../image/icon_breadcrumbs_color.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .breadcrumbs__text-icon::before {
    background-image: url(../image/icon_breadcrumbs_white.png);
  }
}

/* common
======================================== */
/* お問い合わせ */
.sec-contact {
  margin-bottom: min(11.1111111111vw, 10em);
  padding-top: 3.5em;
}
@media screen and (max-width: 768px) {
  .sec-contact {
    margin-bottom: min(20.8333333333vw, 15em);
  }
}
.sec-contact__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin: 0 auto 1.75em;
  color: var(--color-main);
  font-size: clamp(1.5rem, 4.1666666667vw, 2rem);
  font-weight: 600;
}
.sec-contact__title::after {
  content: "Contact Us";
  display: inline-block;
  position: absolute;
  bottom: 100%;
  left: 50%;
  z-index: -10;
  width: 5.3em;
  -webkit-transform: translate(-50%, 0.5em);
          transform: translate(-50%, 0.5em);
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  color: var(--text-decoration);
  font-size: clamp(3.5rem, 9.375vw, 6rem);
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .sec-contact__title::after {
    font-size: clamp(3.125rem, 7.2916666667vw, 3.5rem);
  }
}
.sec-contact__content {
  width: calc(100% - 2em);
  max-width: 980px;
  margin: 0 auto;
}
.sec-contact__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  row-gap: 1.5em;
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
}
@media screen and (max-width: 768px) {
  .sec-contact__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.sec-contact__item:not(:last-of-type) {
  background-image: url(../image/bd_color.svg);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 3px;
}
.sec-contact__item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: min(1.1111111111vw, 1em);
     -moz-column-gap: min(1.1111111111vw, 1em);
          column-gap: min(1.1111111111vw, 1em);
  row-gap: 1em;
}
.sec-contact__item-list--tel {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.sec-contact__item-title {
  color: var(--color-main);
  font-size: min(2.34375vw, 1.5rem);
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sec-contact__item-title {
    font-size: clamp(1.125rem, 3.125vw, 1.5rem);
  }
}
.sec-contact__item-tel {
  color: var(--color-main);
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-size: min(5.078125vw, 3.25rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .sec-contact__item-tel {
    font-size: clamp(1.75rem, 6.25vw, 3rem);
  }
}
.sec-contact__item-tel a {
  display: inline-block;
  position: relative;
  margin-left: 1.5em;
}
.sec-contact__item-tel a::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: calc(100% + 0.3em);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1em;
  height: 1em;
  background-image: url(../image/icon_tel_color.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.sec-contact__item-desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: min(1.3333333333vw, 1em);
     -moz-column-gap: min(1.3333333333vw, 1em);
          column-gap: min(1.3333333333vw, 1em);
  width: 100%;
  padding: 0.1em 0.8em 0.2em;
  background-color: var(--color-white);
  border-radius: 3em;
  color: var(--color-main);
}
@media screen and (max-width: 599px) {
  .sec-contact__item-desc {
    font-size: 0.9em;
  }
}
.sec-contact__item-desc .heading {
  font-weight: 600;
}

/* 住まい方アドバイザー */
.sec-suggestions {
  margin-bottom: min(23.3333333333vw, 17.5em);
}
@media screen and (max-width: 768px) {
  .sec-suggestions {
    margin-bottom: min(45.5729166667vw, 350px);
  }
}
.sec-suggestions__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 2.5em;
  max-width: 1440px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sec-suggestions__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.sec-suggestions__left {
  width: calc(100% - min(62.5vw, 40em));
}
@media screen and (max-width: 768px) {
  .sec-suggestions__left {
    width: 94%;
    margin-right: auto;
  }
}
.sec-suggestions__right {
  width: min(62.5vw, 40em);
  padding: 0 min(2.7777777778vw, 2.5em) 0 min(3.8888888889vw, 3.5em);
}
@media screen and (max-width: 768px) {
  .sec-suggestions__right {
    width: 100%;
  }
}
.sec-suggestions__image-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-column-gap: min(1.1111111111vw, 1em);
     -moz-column-gap: min(1.1111111111vw, 1em);
          column-gap: min(1.1111111111vw, 1em);
}
.sec-suggestions__image-item {
  width: calc((100% - min(1.1111111111vw, 1em)) / 2);
}
.sec-suggestions__image-item img {
  width: 100%;
}
@media screen and (min-width: 1441px) {
  .sec-suggestions__image-item img {
    border-radius: 16px;
  }
}
.sec-suggestions__title {
  margin-bottom: 2em;
  color: var(--color-main);
  font-size: min(2.34375vw, 1.5rem);
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sec-suggestions__title {
    font-size: clamp(1.25rem, 3.125vw, 1.5rem);
    text-align: center;
  }
}
.sec-suggestions__content {
  line-height: 2;
}
.sec-suggestions__content p + p {
  margin-top: 1em;
}
.sec-suggestions__button .c-button {
  margin-top: 3.5em;
  padding: 0.8em 3em;
}
@media screen and (max-width: 768px) {
  .sec-suggestions__button .c-button {
    margin-left: auto;
    margin-right: auto;
    padding: 0.8em 2.5em;
  }
}
.sec-suggestions__button .c-button--arrow span::after {
  left: calc(100% + 1em);
}

/* 施工事例 */
.sec-works {
  margin: 0 auto min(11.1111111111vw, 10em);
  padding-top: 11.5vw;
}
@media screen and (max-width: 768px) {
  .sec-works {
    width: calc(100% - 2em);
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.sec-works__upper {
  max-width: 1320px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 2.5em;
  background-color: var(--bg-gray);
  position: relative;
  margin: 0 auto;
  padding: 0 min(3.3333333333vw, 2.5em) min(3.8888888889vw, 3.5em);
}
@media screen and (max-width: 1200px) {
  .sec-works__upper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 3em min(3.3333333333vw, 2.5em) min(3.8888888889vw, 3.5em);
  }
}
@media screen and (max-width: 768px) {
  .sec-works__upper {
    padding: 5em min(3.3333333333vw, 2.5em) 2.5em;
  }
}
.sec-works__upper::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 11.5vw;
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  background-image: url(../image/top/pic_top_works_deco.png);
  background-size: contain;
  background-position: bottom center;
  background-repeat: no-repeat;
  border-bottom: 1px solid var(--bg-gray);
}
.sec-works__title {
  position: relative;
  z-index: 10;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: var(--color-white);
  font-size: clamp(1.5rem, 4.1666666667vw, 2rem);
  font-weight: 500;
}
.sec-works__title::after {
  content: "Our Works";
  display: inline-block;
  position: absolute;
  bottom: 100%;
  left: 50%;
  z-index: -10;
  width: 5em;
  -webkit-transform: translate(-50%, 0.5em);
          transform: translate(-50%, 0.5em);
  opacity: 0.3;
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  color: var(--text-decoration);
  font-size: clamp(3.5rem, 9.375vw, 6rem);
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .sec-works__title::after {
    font-size: clamp(3.125rem, 7.2916666667vw, 3.5rem);
  }
}
.sec-works__lower {
  max-width: 1320px;
  position: relative;
  margin: 0 auto;
  padding: 0 min(3.3333333333vw, 2.5em) 4em;
  background-color: var(--bg-gray);
}
.sec-works__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: min(2.2vw, 2em);
     -moz-column-gap: min(2.2vw, 2em);
          column-gap: min(2.2vw, 2em);
}
@media screen and (max-width: 768px) {
  .sec-works__list {
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
  }
}
@media screen and (min-width: 769px) {
  .sec-works__item.swiper-slide {
    -ms-flex-negative: inherit;
        flex-shrink: inherit;
    max-width: calc((100% - min(2.2vw, 2em) * 2) / 3);
  }
}
.sec-works__item-link:hover {
  opacity: 1;
}
.sec-works__item-link:hover .sec-works__item-image img {
  opacity: 0.5;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.sec-works__item-image {
  margin-bottom: 1em;
  overflow: hidden;
  border-radius: 1em;
  aspect-ratio: 432/240;
}
.sec-works__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.sec-works__item-category {
  margin-bottom: 1em;
}
.sec-works__item-category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  row-gap: 0.5em;
}
.sec-works__item-category-item {
  display: inline-block;
  padding: 0.2em 1.25em;
  background-color: var(--color-white);
  color: var(--color-main);
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 3em;
}
.sec-works__item-title {
  margin-bottom: 0.8em;
  padding-bottom: 0.8em;
  color: var(--color-white);
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  font-weight: 500;
  background-image: url(../image/bd_white.svg);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 3px;
}
.sec-works__item-excerpt {
  color: var(--color-white);
}
.sec-works__button {
  max-width: 1320px;
  margin: 0 auto;
  padding-bottom: min(10.4166666667vw, 80px);
  background-color: var(--bg-gray);
  border-radius: 0 0 0.5em 0.5em;
}
.sec-works__button .c-button {
  margin: 0 auto;
  border: none;
}

.invisible {
  opacity: 0;
}

.animated {
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.anime {
  opacity: 0;
}

.animeFadeInUp {
  opacity: 0;
}

.anime-delay-1 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.anime-delay-2 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.anime-delay-3 {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.anime-delay-4 {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}

.anime-delay-5 {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}

.anime-delay-6 {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}

.anime-delay-7 {
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}

.anime-slow {
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
}

.fadeIn {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeIn2 {
  -webkit-animation-name: fadeIn2;
          animation-name: fadeIn2;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
          animation-name: fadeOutUp;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
          animation-name: fadeOutDown;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
          animation-name: fadeOutRight;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.mvScrollAnime {
  -webkit-animation-name: mvScroll;
          animation-name: mvScroll;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-fill-mode: none;
          animation-fill-mode: none;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn2 {
  from {
    z-index: -1;
    opacity: 0;
  }
  to {
    z-index: 10000;
    opacity: 1;
  }
}
@keyframes fadeIn2 {
  from {
    z-index: -1;
    opacity: 0;
  }
  to {
    z-index: 10000;
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
}
@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
}
@-webkit-keyframes mvScroll {
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(calc(100% - 2.65em));
            transform: translateY(calc(100% - 2.65em));
  }
}
@keyframes mvScroll {
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(calc(100% - 2.65em));
            transform: translateY(calc(100% - 2.65em));
  }
}
/* MV
======================================== */
.mv {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: min(11.1111111111vw, 160px);
}
@media screen and (max-width: 1024px) {
  .mv {
    margin-bottom: min(15.625vw, 160px);
  }
}
@media screen and (max-width: 768px) {
  .mv {
    margin-bottom: clamp(120px, 23.4375vw, 180px);
  }
}
@media screen and (min-width: 1025px) {
  .mv {
    max-height: 790px;
    aspect-ratio: 1440/660;
  }
}
.mv__wrapper {
  background-color: var(--color-main);
}
@media screen and (min-width: 1441px) {
  .mv__wrapper {
    position: relative;
  }
  .mv__wrapper::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    right: 100%;
    width: 50vw;
    height: 100%;
    background-color: var(--color-main);
  }
  .mv__wrapper::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 100%;
    width: 50vw;
    height: 100%;
    background-color: var(--color-main);
  }
}
.mv__inner {
  position: relative;
  max-width: 1690px;
  margin: 0 auto;
}
.mv__upper {
  position: relative;
}
.mv__left {
  display: inline-block;
  position: relative;
  z-index: 10;
  padding: 2.5em 0 3em min(2.6666666667vw, 2em);
}
@media screen and (max-width: 1024px) {
  .mv__left {
    height: 40vw;
  }
}
@media screen and (max-width: 768px) {
  .mv__left {
    display: block;
    height: auto;
    aspect-ratio: 600/720;
  }
}
@media screen and (max-width: 1024px) {
  .mv__gnav {
    display: none;
  }
}
.mv__image {
  width: calc(100% - 12em);
  max-width: 1700px;
  position: absolute;
  top: 0;
  left: 12em;
  z-index: 0;
}
@media screen and (min-width: 1921px) {
  .mv__image {
    left: auto;
    right: 0;
  }
}
@media screen and (max-width: 1200px) {
  .mv__image {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media screen and (max-width: 1024px) {
  .mv__image {
    width: calc(100% - (min(3.125vw, 2em) * 2 + 2.2em));
    top: 0;
    left: calc(min(3.125vw, 2em) * 2 + 2.2em);
    -webkit-transform: none;
            transform: none;
  }
}
@media screen and (max-width: 768px) {
  .mv__image {
    top: auto;
    bottom: 0;
  }
}
.mv__news {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 100;
  -webkit-transform: translateY(-25%);
          transform: translateY(-25%);
  max-width: 580px;
}
@media screen and (min-width: 1441px) {
  .mv__news {
    left: -3.5em;
  }
}
@media screen and (max-width: 768px) {
  .mv__news {
    max-width: 90%;
  }
}
.mv__scrolldown {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  row-gap: 1em;
  margin-top: 1.2em;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .mv__scrolldown {
    position: absolute;
    bottom: 3em;
  }
}
@media screen and (max-width: 768px) {
  .mv__scrolldown {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

/* MV */
.mv-gnav__list {
  padding-left: 1.5em;
}
.mv-gnav__item {
  width: 15em;
  position: relative;
  font-size: min(1.5625vw, 1rem);
  font-weight: 500;
  color: var(--color-white);
}
.mv-gnav__item:not(:last-child) {
  margin-bottom: 1.2em;
}
.mv-gnav__item a {
  display: inline-block;
  position: relative;
  opacity: 1;
}
.mv-gnav__item a::before {
  opacity: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  content: "";
  display: inline-block;
  width: 1.3em;
  height: 1.3em;
  position: absolute;
  top: 50%;
  right: calc(100% + 0.3em);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url(../image/icon_flag_white.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.mv-gnav__item a:hover::before {
  opacity: 1;
}
.mv-gnav__item:hover .mv-gnav__secondary-list {
  z-index: 100;
  left: 100%;
  opacity: 1;
  visibility: visible;
}
.mv-gnav__secondary-list {
  position: absolute;
  top: 0;
  left: 98%;
  z-index: -100;
  width: 14em;
  padding-left: 2em;
  padding-bottom: 1em;
  background: var(--color-main);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.mv-gnav__secondary-item:not(:last-child) {
  margin-bottom: 1.2em;
}

.mv-image__list {
  height: 100%;
}
.mv-image__item {
  height: 100%;
}
.mv-image__item picture, .mv-image__item img {
  display: block;
  width: 100%;
  height: 100%;
}
.mv-image--bg {
  position: absolute;
  top: 0;
  left: 0;
}
.mv-image--bg img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .mv-image--bg {
    display: none;
  }
}

.mv-news__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.5em;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  padding: 1em 4em 1em 1em;
  background-color: var(--color-white);
  font-size: clamp(0.8125rem, 1.8229166667vw, 0.875rem);
  border-radius: 0 10em 10em 0;
  border: 2px solid var(--color-main);
  border-left: none;
}
@media screen and (min-width: 1441px) {
  .mv-news__wrap {
    padding: 1em 5em;
    border-radius: 10em;
    border: 2px solid var(--color-main);
  }
}
.mv-news__item-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  row-gap: 0.2em;
}
@media screen and (max-width: 599px) {
  .mv-news__item-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.mv-news__title {
  position: relative;
  margin-left: 1.8em;
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-weight: 600;
}
.mv-news__title::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: calc(100% + 0.3em);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.5em;
  height: 1.5em;
  background-image: url(../image/icon_flag_color.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.mv-news__desc {
  max-height: 4.6em;
  overflow: hidden;
}

.mv-scrolldown__image {
  position: relative;
  height: 8em;
}
.mv-scrolldown__text {
  padding-top: 0.3em;
  font-family: "Lato", sans-serif;
  font-style: normal;
  color: var(--color-white);
  font-weight: 500;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.mv-scrolldown__item {
  width: 2.2em;
  position: relative;
  z-index: 10;
  padding: 0.3em;
  background-color: var(--color-main);
}
.mv-scrolldown__item img {
  width: 100%;
}
.mv-scrolldown__line {
  width: 2px;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 50%;
  background-color: var(--color-white);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

/* Top Service */
.top-service {
  margin: 0 auto min(11.1111111111vw, 160px);
}
@media screen and (max-width: 1024px) {
  .top-service {
    margin: 0 auto min(15.625vw, 160px);
  }
}
@media screen and (max-width: 768px) {
  .top-service {
    margin: 0 auto clamp(90px, 15.625vw, 120px);
  }
}
.top-service__inner {
  max-width: 1440px;
  margin: 0 auto;
}
.top-service__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  row-gap: 2.5em;
}
@media screen and (max-width: 1440px) {
  .top-service__content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .top-service__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.top-service__desc {
  width: min(60vw, 47.25em);
  padding: 6em min(3.3333333333vw, 2.5em) 0;
}
@media screen and (max-width: 1440px) {
  .top-service__desc {
    padding: 0 min(3.3333333333vw, 2.5em);
  }
}
@media screen and (max-width: 768px) {
  .top-service__desc {
    width: 100%;
    padding: 2em min(3.3333333333vw, 2.5em) 0;
  }
}
.top-service__title {
  position: relative;
  margin-bottom: 0.85em;
  color: var(--color-main);
  font-size: min(3.6666666667vw, 3rem);
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .top-service__title {
    margin-bottom: 1.8em;
    font-size: clamp(1.375rem, 4.674457429vw, 2rem);
  }
}
.top-service__title::after {
  content: "Our Spirits";
  display: inline-block;
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: -10;
  -webkit-transform: translateY(0.5em);
          transform: translateY(0.5em);
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  color: var(--text-decoration);
  font-size: clamp(3.5rem, 8vw, 6rem);
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .top-service__title::after {
    font-size: clamp(3.125rem, 7.2916666667vw, 3.5rem);
  }
}
.top-service__text {
  font-size: clamp(1.125rem, 1.6666666667vw, 1.25rem);
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .top-service__text {
    font-size: clamp(1rem, 2.34375vw, 1.125rem);
  }
}
.top-service__text p + p {
  margin-top: 1em;
}
.top-service__image {
  width: calc(100% - min(60vw, 47.25em));
}
@media screen and (max-width: 768px) {
  .top-service__image {
    width: 90%;
    margin-left: auto;
  }
}
.top-service__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: min(1.1111111111vw, 1em);
     -moz-column-gap: min(1.1111111111vw, 1em);
          column-gap: min(1.1111111111vw, 1em);
}
.top-service__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-service__item:first-of-type {
  width: 58%;
}
.top-service__item:first-of-type img {
  border-radius: 1em;
}
@media screen and (min-width: 1441px) {
  .top-service__item:first-of-type {
    position: relative;
  }
  .top-service__item:first-of-type::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    left: calc(100% + 1em);
    width: 100%;
    height: 100%;
    background-image: url(../image/top/pic_top_service02_pc02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center left;
  }
}
@media screen and (max-width: 1024px) {
  .top-service__item:first-of-type {
    width: 72%;
  }
}
.top-service__item:nth-of-type(2) {
  width: calc(100% - (58% + min(1.1111111111vw, 1em)));
}
.top-service__item:nth-of-type(2) img {
  border-radius: 1em 0 0 1em;
}
@media screen and (min-width: 1441px) {
  .top-service__item:nth-of-type(2) {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .top-service__item:nth-of-type(2) {
    width: calc(100% - (72% + min(1.1111111111vw, 1em)));
  }
}
.top-service__button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 5em auto 0;
}
@media screen and (max-width: 768px) {
  .top-service__button {
    margin: 2.5em auto 0;
  }
}

/* Top Help */
.top-help {
  position: relative;
  z-index: 1;
  margin: 0 auto min(9.0277777778vw, 8em);
  padding-top: min(4.1666666667vw, 3.75em);
}
@media screen and (max-width: 768px) {
  .top-help {
    margin: 0 auto min(16.9270833333vw, 8em);
  }
}
.top-help__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 min(3.3333333333vw, 2.5em);
}
.top-help__title {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 1.8em;
  color: var(--color-main);
  font-size: clamp(1.5rem, 4.1666666667vw, 2rem);
  font-weight: 600;
}
.top-help__title::after {
  content: "How We Can Help";
  display: inline-block;
  position: absolute;
  bottom: 100%;
  left: 50%;
  z-index: -10;
  width: 8.5em;
  -webkit-transform: translate(-50%, 0.5em);
          transform: translate(-50%, 0.5em);
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  color: var(--text-decoration);
  font-size: clamp(3.5rem, 9.375vw, 6rem);
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .top-help__title::after {
    font-size: clamp(2.125rem, 7.2916666667vw, 3.5rem);
  }
}
.top-help__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: min(1.3vw, 1.25em);
     -moz-column-gap: min(1.3vw, 1.25em);
          column-gap: min(1.3vw, 1.25em);
  row-gap: 2.5em;
}
@media screen and (max-width: 768px) {
  .top-help__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 500px;
    margin: 0 auto;
  }
}
.top-help__item-link:hover {
  opacity: 1;
}
.top-help__item-link:hover .top-help__image {
  background-color: var(--color-white);
}
.top-help__item-link:hover .top-help__image img {
  opacity: 0.5;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.top-help__image {
  position: relative;
  margin-bottom: 1.5em;
  border-radius: 1em;
  overflow: hidden;
  aspect-ratio: 1/1;
}
.top-help__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.top-help__heading {
  position: absolute;
  bottom: min(2.5vw, 2.25em);
  left: min(1.6666666667vw, 1.5em);
  color: var(--color-white);
  text-shadow: 0.125em 0.125em 0.625em rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 768px) {
  .top-help__heading {
    bottom: min(4.6875vw, 2.25em);
    left: min(3.125vw, 1.5em);
  }
}
.top-help__heading-en {
  display: block;
  font-size: min(2.2222222222vw, 2rem);
  line-height: 1.2;
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .top-help__heading-en {
    font-size: clamp(1.375rem, 4.1666666667vw, 2rem);
  }
}
.top-help__heading-ja {
  display: block;
  font-size: min(2.2222222222vw, 2rem);
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .top-help__heading-ja {
    font-size: clamp(1.375rem, 4.1666666667vw, 2rem);
  }
}
.top-help__text {
  line-height: 1.8;
}
.top-help__button {
  margin-top: 2em;
}
@media screen and (max-width: 768px) {
  .top-help__button {
    margin-top: 1em;
  }
}

/* Top Works */
.top-works {
  margin: 0 auto min(11.1111111111vw, 10em);
  padding-top: 11.5vw;
}
@media screen and (max-width: 768px) {
  .top-works {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.top-works__inner {
  position: relative;
}
.top-works__inner::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 11.5vw;
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  background-image: url(../image/top/pic_top_works_deco.png);
  background-size: contain;
  background-position: bottom center;
  background-repeat: no-repeat;
  border-bottom: 1px solid var(--bg-gray);
}
.top-works__upper {
  background-color: var(--bg-gray);
}
.top-works__upper-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 2.5em;
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
  padding: 0 min(3.3333333333vw, 2.5em) min(3.8888888889vw, 3.5em);
}
@media screen and (max-width: 1200px) {
  .top-works__upper-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 3em min(3.3333333333vw, 2.5em) min(3.8888888889vw, 3.5em);
  }
}
@media screen and (max-width: 768px) {
  .top-works__upper-inner {
    padding: 5em min(3.3333333333vw, 2.5em) 2.5em;
  }
}
.top-works__title {
  position: relative;
  z-index: 10;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: var(--color-white);
  font-size: clamp(1.5rem, 4.1666666667vw, 2rem);
  font-weight: 600;
}
.top-works__title::after {
  content: "Works";
  display: inline-block;
  position: absolute;
  bottom: 100%;
  left: 50%;
  z-index: -10;
  width: 2.7em;
  -webkit-transform: translate(-50%, 0.5em);
          transform: translate(-50%, 0.5em);
  opacity: 0.3;
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  color: var(--text-decoration);
  font-size: clamp(3.5rem, 9.375vw, 6rem);
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .top-works__title::after {
    font-size: clamp(3.125rem, 7.2916666667vw, 3.5rem);
  }
}
.top-works__filter-form {
  width: 46.5em;
  padding: min(2.2222222222vw, 2em) min(2.7777777778vw, 2.5em);
  background-color: var(--color-white);
  color: var(--color-main);
  border-radius: 8px;
}
@media screen and (max-width: 1200px) {
  .top-works__filter-form {
    width: auto;
    max-width: 46.5em;
  }
}
@media screen and (max-width: 768px) {
  .top-works__filter-form {
    padding: 2em 1.65em;
  }
}
@media screen and (max-width: 768px) {
  .top-works__filter-form {
    padding: 2em 0.8em;
  }
}
.top-works__filter-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.8em;
     -moz-column-gap: 0.8em;
          column-gap: 0.8em;
  row-gap: 1.2em;
  margin-left: 1.8em;
  margin-bottom: 2.5em;
}
@media screen and (max-width: 768px) {
  .top-works__filter-group {
    -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;
    margin-left: 0;
  }
}
.top-works__filter-label {
  width: 3.5em;
  position: relative;
  font-size: 1.125rem;
  font-weight: 600;
}
.top-works__filter-label::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.1em;
  right: calc(100% + 0.2em);
  width: 1.2em;
  height: 1.2em;
  background-image: url(../image/icon_flag_color.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 599px) {
  .top-works__filter-label {
    margin-left: 1.8em;
    margin-right: auto;
    font-size: 1rem;
  }
}
.top-works__filter-option {
  width: calc(100% - 4.3em);
}
@media screen and (max-width: 768px) {
  .top-works__filter-option {
    width: 100%;
  }
}
.top-works__filter-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  row-gap: 1em;
}
@media screen and (max-width: 599px) {
  .top-works__filter-list {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
}
@media screen and (max-width: 599px) {
  .top-works__filter-list--method .c-filter__item {
    width: 50%;
  }
}
.top-works__filter-item {
  min-width: 12em;
  font-size: 0.9375rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-works__filter-item {
    width: calc((100% - 1.92em) / 2);
  }
}
@media screen and (max-width: 599px) {
  .top-works__filter-item {
    width: 33.3333333333%;
    min-width: auto;
    font-size: 0.75rem;
  }
}
.top-works__filter-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.top-works__filter-item input {
  display: inline-block;
  position: relative;
  height: 1.25em;
  padding-left: 2.5em;
}
@media screen and (max-width: 599px) {
  .top-works__filter-item input {
    height: 1.1em;
    padding-left: 2.2em;
  }
}
.top-works__filter-item input::before {
  content: "";
  position: absolute;
  top: 52%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1.5em;
  height: 1.5em;
  left: 5px;
  background-color: var(--color-white);
  border: 2px solid var(--color-main);
  border-radius: 3px;
}
.top-works__filter-item input::after {
  content: "";
  position: absolute;
  top: 42%;
  left: 0.8em;
  width: 0.6em;
  height: 1em;
  border-right: 2px solid var(--color-main);
  border-bottom: 2px solid var(--color-main);
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  opacity: 0;
}
.top-works__filter-item input:checked::after {
  opacity: 1;
}
.top-works__filter-submit {
  text-align: center;
}
.top-works__filter-submit-button input {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.25em 2.5em 0.25em 0;
  background-image: url(../image/icon_arrow.png);
  background-size: contain;
  background-position: center right;
  background-repeat: no-repeat;
  color: var(--color-main);
  font-weight: 600;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.top-works__filter-submit-button input:hover {
  opacity: 0.5;
}
.top-works__lower {
  position: relative;
}
.top-works__lower-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 min(3.3333333333vw, 2.5em);
}
.top-works__lower::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -10;
  width: 100%;
  height: 3em;
  background-color: var(--bg-gray);
}
.top-works__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: min(2.2vw, 2em);
     -moz-column-gap: min(2.2vw, 2em);
          column-gap: min(2.2vw, 2em);
}
@media screen and (max-width: 768px) {
  .top-works__list {
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
  }
}
@media screen and (min-width: 769px) {
  .top-works__item.swiper-slide {
    -ms-flex-negative: inherit;
        flex-shrink: inherit;
    max-width: calc((100% - min(2.2vw, 2em) * 2) / 3);
  }
}
.top-works__item-link:hover {
  opacity: 1;
}
.top-works__item-link:hover .top-works__item-image {
  background-color: var(--color-white);
}
.top-works__item-link:hover .top-works__item-image img {
  opacity: 0.5;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.top-works__item-image {
  margin-bottom: 1em;
  overflow: hidden;
  border-radius: 1em;
  aspect-ratio: 432/240;
}
.top-works__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.top-works__item-image.noimage {
  border: 2px solid var(--color-main);
}
.top-works__item-category {
  margin-bottom: 0.7em;
}
.top-works__item-category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  row-gap: 0.5em;
}
.top-works__item-category-item {
  display: inline-block;
  padding: 0.2em 1.25em;
  background-color: var(--color-main);
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 3em;
}
.top-works__item-title {
  margin-bottom: 0.8em;
  padding-bottom: 0.8em;
  color: var(--color-main);
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  font-weight: 600;
  background-image: url(../image/bd_color.svg);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 3px;
}
.top-works__button .c-button {
  margin: 3.5em auto 0;
}

/* Top News */
.top-news {
  margin: 0 auto 17.5555555556vw;
}
@media screen and (max-width: 1200px) {
  .top-news {
    margin: 0 auto 27.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .top-news {
    margin: 0 auto 27.625vw;
  }
}
.top-news__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: min(2.5vw, 2.25em);
     -moz-column-gap: min(2.5vw, 2.25em);
          column-gap: min(2.5vw, 2.25em);
  row-gap: 2.5em;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 min(2.7777777778vw, 2.5em);
}
@media screen and (max-width: 1024px) {
  .top-news__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.top-news__left {
  width: 27.5em;
  padding-top: 3em;
}
@media screen and (max-width: 1024px) {
  .top-news__left {
    width: 100%;
    padding-top: 2em;
  }
}
.top-news__title {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: var(--color-main);
  font-size: clamp(1.5rem, 4.1666666667vw, 2rem);
  font-weight: 600;
}
.top-news__title::after {
  content: "News";
  display: inline-block;
  position: absolute;
  bottom: 100%;
  left: 50%;
  z-index: -10;
  width: 2.4em;
  -webkit-transform: translate(-50%, 0.5em);
          transform: translate(-50%, 0.5em);
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  color: var(--text-decoration);
  font-size: clamp(3.5rem, 9.375vw, 6rem);
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .top-news__title::after {
    font-size: clamp(3.125rem, 7.2916666667vw, 3.5rem);
  }
}
.top-news__button .c-button {
  margin: 4em auto 0;
}
.top-news__button--pc {
  display: block;
}
@media screen and (max-width: 1024px) {
  .top-news__button--pc {
    display: none;
  }
}
.top-news__button--sp {
  display: none;
}
@media screen and (max-width: 1024px) {
  .top-news__button--sp {
    display: block;
  }
}
.top-news__right {
  width: calc(100% - 29.75em);
}
@media screen and (max-width: 1024px) {
  .top-news__right {
    width: 100%;
  }
}
.top-news__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: min(2.2222222222vw, 2em);
     -moz-column-gap: min(2.2222222222vw, 2em);
          column-gap: min(2.2222222222vw, 2em);
  row-gap: min(3.8888888889vw, 3.5em);
}
@media screen and (max-width: 768px) {
  .top-news__list {
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    row-gap: normal;
  }
}
@media screen and (max-width: 768px) {
  .top-news__list.swiper-wrapper {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.top-news__item-link:hover {
  opacity: 1;
}
.top-news__item-link:hover .top-news__item-image {
  background-color: var(--color-white);
}
.top-news__item-link:hover .top-news__item-image img {
  opacity: 0.5;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
@media screen and (min-width: 769px) {
  .top-news__item.swiper-slide {
    -ms-flex-negative: 1;
        flex-shrink: 1;
    width: calc((100% - min(2.2222222222vw, 2em)) / 2);
  }
}
.top-news__item-image {
  position: relative;
  margin-bottom: 1em;
  overflow: hidden;
  border-radius: 1em;
  aspect-ratio: 440/240;
}
.top-news__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.top-news__item-image img.fin {
  -webkit-filter: brightness(0.7);
          filter: brightness(0.7);
}
.top-news__item-image.noimage {
  border: 2px solid var(--color-main);
}
.top-news__item-label {
  position: absolute;
  top: 1em;
  left: 0;
  z-index: 100;
  padding: 0.25em 1.2em;
  background-color: var(--color-main);
  color: var(--color-white);
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-size: clamp(0.8125rem, 0.9722222222vw, 0.875rem);
  font-weight: 600;
  border-radius: 0 2em 2em 0;
}
.top-news__item-category-list {
  margin-bottom: 0.5em;
}
.top-news__item-date {
  margin-bottom: 0.5em;
}
.top-news__item-title {
  margin-bottom: 0.5em;
  font-weight: 600;
  color: var(--color-main);
}
.top-news__item-detail-wrap {
  padding-top: 0.5em;
  background-image: url(../image/bd_color.svg);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 6px 3px;
}
.top-news__item-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
.top-news__item-detail > dt {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 2.5em;
}

/* Top Column */
.top-column {
  margin: 0 auto min(11.1111111111vw, 10em);
  color: var(--color-white);
}
@media screen and (max-width: 768px) {
  .top-column {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.top-column__upper {
  position: relative;
  padding: 0 min(3.3333333333vw, 2.5em);
}
@media screen and (max-width: 1200px) {
  .top-column__upper {
    background-color: var(--color-main);
  }
}
@media screen and (max-width: 768px) {
  .top-column__upper {
    padding-top: 4em;
  }
}
.top-column__upper::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: -1;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 20vw;
  background-image: url(../image/top/pic_top_column_deco.png);
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1200px) {
  .top-column__upper::after {
    bottom: 100%;
  }
}
.top-column__upper-inner {
  max-width: 1440px;
  margin: 0 auto;
}
.top-column__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 10;
  margin-left: 5em;
  padding-bottom: 1.75em;
  color: var(--color-white);
  font-size: clamp(1.5rem, 4.1666666667vw, 2rem);
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .top-column__title {
    margin-left: auto;
    margin-right: auto;
  }
}
.top-column__title::after {
  content: "Column";
  display: inline-block;
  position: absolute;
  bottom: 100%;
  left: 50%;
  z-index: -10;
  width: 3.3em;
  -webkit-transform: translate(-50%, 0.5em);
          transform: translate(-50%, 0.5em);
  opacity: 0.3;
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  color: var(--text-decoration);
  font-size: clamp(3.5rem, 9.375vw, 6rem);
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .top-column__title::after {
    font-size: clamp(3.125rem, 7.2916666667vw, 3.5rem);
  }
}
.top-column__lower {
  background-color: var(--color-main);
}
.top-column__lower-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 min(3.3333333333vw, 2.5em) min(5.5555555556vw, 5em);
}
@media screen and (max-width: 768px) {
  .top-column__lower-inner {
    padding: 0 min(3.3333333333vw, 2.5em) min(12.2395833333vw, 7em);
  }
}
.top-column__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: min(1.3vw, 1.25em);
     -moz-column-gap: min(1.3vw, 1.25em);
          column-gap: min(1.3vw, 1.25em);
}
@media screen and (max-width: 768px) {
  .top-column__list {
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
  }
}
@media screen and (min-width: 769px) {
  .top-column__list.swiper-wrapper {
    -webkit-transform: none !important;
            transform: none !important;
  }
}
.top-column__item-link:hover {
  opacity: 1;
}
.top-column__item-link:hover .top-column__item-image img {
  opacity: 0.5;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
@media screen and (min-width: 769px) {
  .top-column__item.swiper-slide {
    -ms-flex-negative: 1;
        flex-shrink: 1;
    width: 100% !important;
    margin: 0 !important;
    max-width: calc((100% - min(1.3vw, 1.25em) * 2) / 3);
  }
}
.top-column__item-image {
  margin-bottom: 1em;
  overflow: hidden;
  border-radius: 1em;
  aspect-ratio: 440/240;
}
.top-column__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.top-column__item-image.noimage {
  border: 2px solid var(--color-main);
}
.top-column__item-date {
  margin-bottom: 0.5em;
  color: var(--color-white);
}
.top-column__item-title {
  font-weight: 500;
  margin-bottom: 0.5em;
}
.top-column__img {
  width: 100%;
}
.top-column__button .c-button {
  margin: 3.5em auto 0;
}

/* Top Faq */
.top-faq {
  margin: 0 auto min(11.1111111111vw, 10em);
  padding-top: 3.5em;
}
@media screen and (max-width: 768px) {
  .top-faq {
    padding-top: 2em;
  }
}
.top-faq__inner {
  width: calc(100% - 2em);
  max-width: 980px;
  margin: 0 auto;
}
.top-faq__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin: 0 auto 1.9375em;
  color: var(--color-main);
  font-size: clamp(1.5rem, 4.1666666667vw, 2rem);
  font-weight: 600;
}
.top-faq__title::after {
  content: "FAQ";
  display: inline-block;
  position: absolute;
  bottom: 100%;
  left: 50%;
  z-index: -10;
  width: 2.2em;
  -webkit-transform: translate(-50%, 0.5em);
          transform: translate(-50%, 0.5em);
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  color: var(--text-decoration);
  font-size: clamp(3.5rem, 9.375vw, 6rem);
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .top-faq__title::after {
    font-size: clamp(3.125rem, 7.2916666667vw, 3.5rem);
  }
}
.top-faq__button .c-button {
  margin: 3.45em auto 0;
}

/* service
======================================== */
.p-service-intro {
  margin-bottom: min(10vw, 120px);
}
@media screen and (max-width: 768px) {
  .p-service-intro {
    margin-bottom: min(10.4166666667vw, 80px);
  }
}
.p-service-intro__title {
  text-align: center;
}
.p-service-intro__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  row-gap: 1.5em;
}
@media screen and (max-width: 768px) {
  .p-service-intro__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.p-service-intro__image {
  width: 280px;
}
.p-service-intro__image img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-service-intro__image {
    width: 60%;
    min-width: 225px;
  }
}
.p-service-intro__text {
  font-size: clamp(1rem, 2.34375vw, 1.125rem);
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-service-intro__text {
    text-align: center;
  }
}
@media screen and (max-width: 599px) {
  .p-service-intro__text {
    font-size: clamp(0.875rem, 2.6711185309vw, 1rem);
  }
}
.p-service-intro__text p + p {
  margin-top: 1em;
}

.p-service-card:not(:last-child) {
  margin-bottom: min(15.625vw, 160px);
}
.p-service-card:last-child {
  margin-bottom: min(15.8333333333vw, 190px);
}
@media screen and (max-width: 1024px) {
  .p-service-card.l-inner {
    padding: 0;
  }
}
.p-service-card__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .p-service-card__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-service-card__image {
  width: 52%;
  max-width: 600px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .p-service-card__image {
    width: 90%;
    max-width: 700px;
  }
}
.p-service-card__image img {
  width: 100%;
  border-radius: 1em;
}
@media screen and (max-width: 1024px) {
  .p-service-card__image img {
    border-radius: 0 1em 1em 0;
  }
}
.p-service-card__label {
  position: absolute;
  top: clamp(1em, 4.5572916667vw, 1.1em);
  left: clamp(1em, 5.2083333333vw, 1.3em);
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--color-white);
}
.p-service-card__desc {
  position: absolute;
  top: 5.5em;
  right: 0;
  z-index: 10;
  width: calc(100% - 2em);
  max-width: 640px;
  padding: clamp(1.8em, 6.25vw, 3em) clamp(1.6em, 4.1666666667vw, 2em);
  background-color: var(--color-white);
  border-radius: 1em;
}
@media screen and (max-width: 1024px) {
  .p-service-card__desc {
    position: static;
    margin-top: -5em;
    margin-left: auto;
    margin-right: 1em;
  }
}
@media screen and (max-width: 599px) {
  .p-service-card__desc {
    margin-top: -2em;
  }
}
.p-service-card__text {
  line-height: 2;
}
.p-service-card__text p + p {
  margin-top: 1em;
}
.p-service-card__button {
  margin-top: 1.5em;
}
.p-service-card--reform .p-service-card__inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 1024px) {
  .p-service-card--reform .p-service-card__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-service-card--reform .p-service-card__label {
  top: auto;
  left: auto;
  bottom: clamp(1em, 4.5572916667vw, 1.1em);
  right: clamp(1em, 5.2083333333vw, 1.3em);
}
@media screen and (max-width: 1024px) {
  .p-service-card--reform .p-service-card__label {
    top: clamp(1em, 4.5572916667vw, 1.1em);
    bottom: auto;
  }
}
@media screen and (max-width: 1024px) {
  .p-service-card--reform .p-service-card__image {
    margin-left: auto;
  }
  .p-service-card--reform .p-service-card__image img {
    border-radius: 1em 0 0 1em;
  }
}
.p-service-card--reform .p-service-card__desc {
  left: 0;
  right: auto;
}
@media screen and (max-width: 1024px) {
  .p-service-card--reform .p-service-card__desc {
    margin-left: 1em;
    margin-right: auto;
  }
}

/* new-construction
======================================== */
.p-new-construction-head.c-page-head {
  margin: 0 auto clamp(1.7em, 5.46875vw, 3.5em);
}
.p-new-construction-head .c-title--decoration::after {
  width: 8.7em;
  bottom: 0.5em;
  font-size: clamp(2rem, 9.375vw, 6rem);
}

.p-new-construction-intro {
  margin-bottom: 0 auto;
}
.p-new-construction-intro__inner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 4em;
     -moz-column-gap: 4em;
          column-gap: 4em;
  row-gap: 1.8em;
  margin: 0 auto clamp(90px, 10.8333333333vw, 130px);
}
@media screen and (max-width: 768px) {
  .p-new-construction-intro__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.p-new-construction-intro__image {
  width: 25%;
  max-width: 224px;
  min-width: 120px;
}
.p-new-construction-intro__image img {
  width: 100%;
}
.p-new-construction-intro__text {
  font-size: clamp(0.9375rem, 1.5vw, 1.125rem);
  line-height: 2;
}
.p-new-construction-intro__text > p + p {
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .p-new-construction-intro__text {
    text-align: center;
  }
}

.p-new-construction-important {
  margin-bottom: clamp(120px, 13.3333333333vw, 160px);
}
.p-new-construction-important__title {
  text-align: center;
}
.p-new-construction-important__title.c-heading {
  margin-bottom: 1.75em;
}
.p-new-construction-important-card:not(:last-child) {
  margin-bottom: min(6.6666666667vw, 80px);
}
@media screen and (max-width: 768px) {
  .p-new-construction-important-card:not(:last-child) {
    margin-bottom: min(13.3555926544vw, 80px);
  }
}
.p-new-construction-important-card__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.25em;
     -moz-column-gap: 2.25em;
          column-gap: 2.25em;
  row-gap: 1.715em;
}
@media screen and (max-width: 599px) {
  .p-new-construction-important-card__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-new-construction-important-card__image {
  width: 43%;
  max-width: 425px;
  position: relative;
  z-index: -10;
}
@media screen and (max-width: 599px) {
  .p-new-construction-important-card__image {
    width: 100%;
    max-width: none;
  }
}
.p-new-construction-important-card__image img {
  width: 100%;
  border-radius: 1em;
}
.p-new-construction-important-card__desc {
  max-width: calc(57% - 2.25em);
}
@media screen and (max-width: 599px) {
  .p-new-construction-important-card__desc {
    width: 100%;
    max-width: none;
  }
}
.p-new-construction-important-card__text {
  line-height: 2;
}
.p-new-construction-important-card__text > p + p {
  margin-top: 0.5em;
}
.p-new-construction-important-card--01 .c-heading--num::after {
  content: "01";
}
.p-new-construction-important-card--02 .c-heading--num::after {
  content: "02";
}
.p-new-construction-important-card--02 .p-new-construction-important-card__inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 599px) {
  .p-new-construction-important-card--02 .p-new-construction-important-card__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-new-construction-important-card--03 .c-heading--num::after {
  content: "03";
}

.p-new-construction-method {
  margin-bottom: clamp(120px, 13.3333333333vw, 160px);
}
.p-new-construction-method__title {
  text-align: center;
}
.p-new-construction-method__title.c-heading {
  margin-bottom: 1.75em;
}
.p-new-construction-method-card:not(:last-child) {
  margin-bottom: clamp(40px, 7.2916666667vw, 56px);
}
.p-new-construction-method-card__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.5em;
     -moz-column-gap: 1.5em;
          column-gap: 1.5em;
  row-gap: 1.715em;
}
@media screen and (max-width: 599px) {
  .p-new-construction-method-card__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-new-construction-method-card__image {
  width: 35%;
  max-width: 320px;
}
@media screen and (max-width: 599px) {
  .p-new-construction-method-card__image {
    width: 100%;
    max-width: none;
  }
}
.p-new-construction-method-card__image img {
  width: 100%;
  border-radius: 1em;
}
.p-new-construction-method-card__desc {
  max-width: calc(65% - 1.5em);
}
@media screen and (max-width: 599px) {
  .p-new-construction-method-card__desc {
    width: 100%;
    max-width: none;
  }
}
.p-new-construction-method-card__text {
  line-height: 2;
}
.p-new-construction-method-card__text > p + p {
  margin-top: 0.5em;
}
.p-new-construction-method-card__button {
  margin-top: 0.8em;
}
.p-new-construction-method-card--02 .p-new-construction-method-card__inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 599px) {
  .p-new-construction-method-card--02 .p-new-construction-method-card__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* renovation
======================================== */
.p-renovation-head.c-page-head {
  margin: 0 auto clamp(1.7em, 5.46875vw, 3.5em);
}

.p-renovation-worries {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-renovation-worries {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-renovation-worries-intro {
  position: relative;
}
.p-renovation-worries-intro::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(100% + clamp(20px, 3.90625vw, 35px));
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(32px, 4.8333333333vw, 58px);
  height: clamp(36px, 5.1666666667vw, 62px);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url(../image/pic_arrow.png);
}
.p-renovation-worries-intro__box {
  width: 100%;
  max-width: 720px;
  margin: 0 auto clamp(80px, 11.6666666667vw, 140px);
  padding: 0em 1em 2.5em;
  background-color: var(--color-white);
  border: 2px solid var(--color-main);
  border-radius: 1em;
}
@media screen and (max-width: 768px) {
  .p-renovation-worries-intro__box {
    padding: 0em 0.5em 2.5em;
  }
}
.p-renovation-worries-intro__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.65em 1.65em;
  margin: -1.4em auto 1.5em;
  background-color: var(--color-main);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 600;
  color: var(--color-white);
  border-radius: 3em;
}
@media screen and (max-width: 768px) {
  .p-renovation-worries-intro__title {
    padding: 0.45em 0.825em;
    font-size: clamp(1.125rem, 3.125vw, 1.5rem);
  }
}
.p-renovation-worries-intro__list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.p-renovation-worries-intro__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  row-gap: 0.5em;
}
.p-renovation-worries-intro__item:not(.p-renovation-worries-intro__item:last-child) {
  margin-bottom: 1.3em;
}
@media screen and (max-width: 768px) {
  .p-renovation-worries-intro__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;
    text-align: center;
  }
}
.p-renovation-worries-intro__item-icon {
  display: inline-block;
  width: 1.5em;
  margin-top: 0.15em;
  line-height: 1;
}
.p-renovation-worries-intro__item-icon img {
  width: 100%;
}
.p-renovation-worries-intro__item-text {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  font-weight: 600;
  color: var(--color-main);
}
.p-renovation-worries-desc__text {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  font-weight: 600;
  color: var(--color-main);
  text-align: center;
  line-height: 2;
}
.p-renovation-worries-desc__text p + p {
  margin-top: 1em;
}

.p-renovation-important {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-renovation-important {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-renovation-important__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 4.2em;
     -moz-column-gap: 4.2em;
          column-gap: 4.2em;
}
@media screen and (max-width: 768px) {
  .p-renovation-important__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-renovation-important__image {
  width: 32%;
}
@media screen and (max-width: 768px) {
  .p-renovation-important__image {
    display: none;
  }
}
.p-renovation-important__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1em;
}
.p-renovation-important__title.c-heading {
  margin-bottom: 1.25em;
}
@media screen and (max-width: 768px) {
  .p-renovation-important__title.c-heading {
    text-align: center;
  }
}
.p-renovation-important__text {
  line-height: 2;
}
.p-renovation-important__text p + p {
  margin-top: 1em;
}
.p-renovation-important__desc {
  width: calc(100% - (32% + 4.2em));
}
@media screen and (max-width: 768px) {
  .p-renovation-important__desc {
    width: 100%;
  }
}
.p-renovation-important__desc-image {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-renovation-important__desc-image {
    display: block;
    margin-bottom: 1.75em;
  }
}
.p-renovation-important__desc-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1em;
}

.p-renovation-possible {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-renovation-possible {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-renovation-possible__title.c-heading {
  margin-bottom: 1.75em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-renovation-possible__title.c-heading {
    margin-bottom: 3.5em;
  }
}
.p-renovation-possible-card:not(:last-of-type) {
  margin-bottom: 5em;
}
@media screen and (max-width: 768px) {
  .p-renovation-possible-card:not(:last-of-type) {
    margin-bottom: 6.4em;
  }
}
.p-renovation-possible-card__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.25em;
     -moz-column-gap: 2.25em;
          column-gap: 2.25em;
}
@media screen and (max-width: 768px) {
  .p-renovation-possible-card__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-renovation-possible-card__image {
  width: 42%;
}
@media screen and (max-width: 768px) {
  .p-renovation-possible-card__image {
    display: none;
  }
}
.p-renovation-possible-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1em;
}
.p-renovation-possible-card__desc {
  width: calc(100% - (42% + 2.25em));
}
@media screen and (max-width: 768px) {
  .p-renovation-possible-card__desc {
    width: 100%;
  }
}
.p-renovation-possible-card__desc-image {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-renovation-possible-card__desc-image {
    display: block;
    margin-bottom: 1.75em;
  }
}
.p-renovation-possible-card__desc-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1em;
}
.p-renovation-possible-card__title.c-heading {
  font-size: clamp(1.25rem, 2.8645833333vw, 1.375rem);
}
@media screen and (max-width: 768px) {
  .p-renovation-possible-card__title {
    text-align: center;
  }
  .p-renovation-possible-card__title::after {
    top: auto;
    bottom: calc(100% - 0.3em);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .p-renovation-possible-card__title.c-heading > span {
    margin-left: 0;
  }
  .p-renovation-possible-card__title.c-heading > span::after {
    top: auto;
    bottom: calc(100% + 0.3em);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .p-renovation-possible-card__title.c-heading--num::after {
    font-size: clamp(5rem, 8vw, 7.5rem);
  }
}
.p-renovation-possible-card__text {
  line-height: 2;
}
.p-renovation-possible-card__text p + p {
  margin-top: 0.5em;
}
.p-renovation-possible-card:nth-of-type(2n+1) .p-renovation-possible-card__inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.p-renovation-possible-card--01 .p-renovation-possible-card__title.c-heading--num::after {
  content: "01";
}
.p-renovation-possible-card--02 .p-renovation-possible-card__title.c-heading--num::after {
  content: "02";
}
.p-renovation-possible-card--03 .p-renovation-possible-card__title.c-heading--num::after {
  content: "03";
}
.p-renovation-possible-card--04 .p-renovation-possible-card__title.c-heading--num::after {
  content: "04";
}

/* service
======================================== */
.p-reform-head.c-page-head {
  margin: 0 auto clamp(1.7em, 5.46875vw, 3.5em);
}

.p-reform-intro {
  margin-bottom: 0 auto;
}
.p-reform-intro__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.5em;
     -moz-column-gap: 2.5em;
          column-gap: 2.5em;
  row-gap: 5em;
  margin: 0 auto clamp(90px, 10.8333333333vw, 130px);
}
@media screen and (max-width: 768px) {
  .p-reform-intro__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.p-reform-intro__image {
  width: 227px;
}
.p-reform-intro__image img {
  width: 100%;
}
.p-reform-intro__desc {
  width: calc(100% - (25% + 2.5em));
}
@media screen and (max-width: 768px) {
  .p-reform-intro__desc {
    width: 100%;
  }
}
.p-reform-intro__text {
  font-size: clamp(0.9375rem, 1.5vw, 1.125rem);
  line-height: 2;
}
.p-reform-intro__text > p + p {
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .p-reform-intro__text {
    text-align: center;
  }
}

.p-reform-worries {
  margin-bottom: clamp(120px, 13.3333333333vw, 160px);
}
.p-reform-worries-intro {
  position: relative;
}
.p-reform-worries-intro::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(100% + clamp(20px, 3.90625vw, 35px));
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(32px, 4.8333333333vw, 58px);
  height: clamp(36px, 5.1666666667vw, 62px);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url(../image/pic_arrow.png);
}
.p-reform-worries-intro__box {
  width: 100%;
  max-width: 720px;
  margin: 0 auto clamp(80px, 11.6666666667vw, 140px);
  padding: 0em 1em 2.5em;
  background-color: var(--color-white);
  border: 2px solid var(--color-main);
  border-radius: 1em;
}
.p-reform-worries-intro__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.65em 1.65em;
  margin: -1.4em auto 1.5em;
  background-color: var(--color-main);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 600;
  color: var(--color-white);
  border-radius: 3em;
}
@media screen and (max-width: 768px) {
  .p-reform-worries-intro__title {
    padding: 0.65em 1em;
    font-size: clamp(1.125rem, 3.125vw, 1.5rem);
  }
}
.p-reform-worries-intro__list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.p-reform-worries-intro__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  row-gap: 0.5em;
}
.p-reform-worries-intro__item:not(.p-reform-worries-intro__item:last-child) {
  margin-bottom: 1.3em;
}
@media screen and (max-width: 768px) {
  .p-reform-worries-intro__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;
    text-align: center;
  }
}
.p-reform-worries-intro__item-icon {
  display: inline-block;
  width: 1.5em;
  margin-top: 0.15em;
  line-height: 1;
}
.p-reform-worries-intro__item-icon img {
  width: 100%;
}
.p-reform-worries-intro__item-text {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  font-weight: 600;
  color: var(--color-main);
}
.p-reform-worries-desc__text {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  font-weight: 600;
  color: var(--color-main);
  text-align: center;
  line-height: 2;
}
.p-reform-worries-desc__text p + p {
  margin-top: 1em;
}

.p-reform-examples {
  margin-bottom: clamp(120px, 13.3333333333vw, 160px);
}
.p-reform-examples__title {
  text-align: center;
}
.p-reform-examples__title.c-heading {
  margin-bottom: 1.75em;
}
.p-reform-examples-card__inner {
  padding: 4.65em 2.35em 2.35em;
}
@media screen and (max-width: 768px) {
  .p-reform-examples-card__inner {
    padding: 3.65em 1em 2.35em;
  }
}
.p-reform-examples-card__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 2em;
     -moz-column-gap: 2em;
          column-gap: 2em;
  row-gap: 2em;
}
.p-reform-examples-card__item {
  width: calc((100% - 2em) / 2);
  background-color: var(--color-main);
  border-radius: 1em;
}
@media screen and (max-width: 599px) {
  .p-reform-examples-card__item {
    width: 100%;
  }
}
.p-reform-examples-card__title {
  color: var(--color-white);
  text-align: center;
}
.p-reform-examples-card__title.c-heading > span {
  margin-left: 0;
}
.p-reform-examples-card__title.c-heading > span::after {
  top: auto;
  bottom: calc(100% + 0.3em);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../image/icon_flag_white.png);
}
.p-reform-examples-card__text {
  color: var(--color-white);
  line-height: 2;
}
@media screen and (max-width: 599px) {
  .p-reform-examples-card__text {
    text-align: center;
  }
}

.p-reform-reason {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-reform-reason {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-reform-reason__title {
  text-align: center;
}
.p-reform-reason__title.c-heading {
  margin-bottom: 1.75em;
}
@media screen and (max-width: 768px) {
  .p-reform-reason__title.c-heading {
    margin-bottom: 2.5em;
  }
}
.p-reform-reason-card__item:not(:last-child) {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 768px) {
  .p-reform-reason-card__item:not(:last-child) {
    margin-bottom: 3em;
  }
}
.p-reform-reason-card__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 2em;
     -moz-column-gap: 2em;
          column-gap: 2em;
  row-gap: 1.715em;
}
@media screen and (max-width: 768px) {
  .p-reform-reason-card__inner {
    -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;
    text-align: center;
  }
}
.p-reform-reason-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1em;
}
.p-reform-reason-card__desc {
  margin-top: 3em;
}
@media screen and (max-width: 768px) {
  .p-reform-reason-card__title::after {
    top: auto;
    bottom: calc(100% - 0.3em);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .p-reform-reason-card__title.c-heading > span {
    margin-left: 0;
  }
  .p-reform-reason-card__title.c-heading > span::after {
    top: auto;
    bottom: calc(100% + 0.3em);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .p-reform-reason-card__title.c-heading--num::after {
    font-size: clamp(5rem, 8vw, 7.5rem);
  }
}
.p-reform-reason-card__text {
  line-height: 2;
}
.p-reform-reason-card__group--01 {
  margin-bottom: min(8.3333333333vw, 120px);
}
@media screen and (max-width: 768px) {
  .p-reform-reason-card__group--01 {
    margin-bottom: 5.5em;
  }
}
.p-reform-reason-card__group--01 .p-reform-reason-card__title.c-heading--num::after {
  content: "01";
}
.p-reform-reason-card__group--02 .p-reform-reason-card__title.c-heading--num::after {
  content: "02";
}
.p-reform-reason-card__group--03 {
  margin-bottom: min(8.3333333333vw, 120px);
}
@media screen and (max-width: 768px) {
  .p-reform-reason-card__group--03 {
    margin-bottom: 5.5em;
  }
}
.p-reform-reason-card__group--03 .p-reform-reason-card__title.c-heading--num::after {
  content: "03";
}
.p-reform-reason-card__group--04 .p-reform-reason-card__title.c-heading--num::after {
  content: "04";
}
.p-reform-reason-card__item--01 .p-reform-reason-card__image {
  width: 33%;
  max-width: 320px;
}
@media screen and (max-width: 768px) {
  .p-reform-reason-card__item--01 .p-reform-reason-card__image {
    width: 100%;
    max-width: none;
  }
}
.p-reform-reason-card__item--01 .p-reform-reason-card__desc {
  max-width: 560px;
}
@media screen and (max-width: 1024px) {
  .p-reform-reason-card__item--01 .p-reform-reason-card__desc {
    width: calc(100% - (33% + 2em));
  }
}
@media screen and (max-width: 768px) {
  .p-reform-reason-card__item--01 .p-reform-reason-card__desc {
    width: 100%;
    max-width: none;
  }
}
.p-reform-reason-card__item--02 .p-reform-reason-card__inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .p-reform-reason-card__item--02 .p-reform-reason-card__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-reform-reason-card__item--02 .p-reform-reason-card__image {
  width: 37%;
  max-width: 360px;
}
@media screen and (max-width: 768px) {
  .p-reform-reason-card__item--02 .p-reform-reason-card__image {
    width: 100%;
    max-width: none;
  }
}
.p-reform-reason-card__item--02 .p-reform-reason-card__desc {
  max-width: 560px;
}
@media screen and (max-width: 1024px) {
  .p-reform-reason-card__item--02 .p-reform-reason-card__desc {
    width: calc(100% - (37% + 2em));
  }
}
@media screen and (max-width: 768px) {
  .p-reform-reason-card__item--02 .p-reform-reason-card__desc {
    width: 100%;
    max-width: none;
  }
}

/* suggestions
======================================== */
.p-suggestions-head.c-page-head {
  margin: 0 auto 4em;
}
.p-suggestions-head .c-title--decoration::after {
  width: 13.2em;
  font-size: clamp(2.625rem, 6.6666666667vw, 6rem);
}
@media screen and (max-width: 768px) {
  .p-suggestions-head .c-title--decoration::after {
    width: 6.5em;
    bottom: -0.5em;
  }
}

.p-suggestions-intro {
  margin-bottom: min(9.3489148581vw, 4em);
}
.p-suggestions-intro__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.5em;
     -moz-column-gap: 2.5em;
          column-gap: 2.5em;
  row-gap: 1.7em;
}
@media screen and (max-width: 1024px) {
  .p-suggestions-intro__inner {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (max-width: 768px) {
  .p-suggestions-intro__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-suggestions-intro__desc {
  width: calc(100% - (34% + 2.5em));
}
@media screen and (max-width: 768px) {
  .p-suggestions-intro__desc {
    width: 100%;
    text-align: center;
  }
}
.p-suggestions-intro__text {
  line-height: 2;
}
.p-suggestions-intro__text p + p {
  margin-top: 1em;
}
.p-suggestions-intro__image {
  width: 34%;
}
@media screen and (max-width: 768px) {
  .p-suggestions-intro__image {
    width: 100%;
  }
}
.p-suggestions-intro__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1em;
}

.p-suggestions-design {
  margin-bottom: min(13.3333333333vw, 160px);
}
@media screen and (max-width: 768px) {
  .p-suggestions-design {
    margin-bottom: min(20.8333333333vw, 180px);
  }
}
.p-suggestions-design__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.5em;
     -moz-column-gap: 2.5em;
          column-gap: 2.5em;
  row-gap: 1.7em;
}
@media screen and (max-width: 1024px) {
  .p-suggestions-design__inner {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (max-width: 768px) {
  .p-suggestions-design__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.p-suggestions-design__title.c-heading {
  margin-bottom: 1.75em;
  text-align: center;
}
.p-suggestions-design__desc {
  width: calc(100% - (24% + 2.5em));
}
@media screen and (max-width: 768px) {
  .p-suggestions-design__desc {
    width: 100%;
  }
}
.p-suggestions-design__text {
  line-height: 2;
}
.p-suggestions-design__text--color {
  color: var(--color-red);
  font-weight: 600;
}
.p-suggestions-design__text p + p {
  margin-top: 1em;
}
.p-suggestions-design__image {
  width: 24%;
}
@media screen and (max-width: 768px) {
  .p-suggestions-design__image {
    width: 100%;
  }
}
.p-suggestions-design__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1em;
}

.p-suggestions-examples {
  margin: 0 auto min(11.1111111111vw, 10em);
  padding-top: 11.5vw;
  padding-left: 1em;
  padding-right: 1em;
}
@media screen and (max-width: 768px) {
  .p-suggestions-examples {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-suggestions-examples__inner {
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 1em 5em;
  background-color: var(--color-main);
  border-radius: 0 0 0.5em 0.5em;
}
.p-suggestions-examples__inner::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 11.5vw;
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  background-image: url(../image/suggestions/pic_suggestions-examples_deco.png);
  background-size: contain;
  background-position: bottom center;
  background-repeat: no-repeat;
  border-bottom: 1px solid var(--color-main);
}
.p-suggestions-examples__intro {
  padding: 1em 0 clamp(2.8em, 5.3333333333vw, 4em);
  color: var(--color-white);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 600;
  text-align: center;
}
.p-suggestions-examples__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  row-gap: 1em;
  margin-bottom: 4em;
}
@media screen and (max-width: 768px) {
  .p-suggestions-examples__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-suggestions-examples__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: min(15.3645833333vw, 7.4em);
  width: calc((100% - 2em) / 3);
  padding: min(3.3333333333vw, 2.5em) 1em;
  background-color: var(--color-white);
  color: var(--color-main);
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  font-weight: 600;
  text-align: center;
  border-radius: 1em;
}
@media screen and (max-width: 768px) {
  .p-suggestions-examples__item {
    width: 92%;
    margin: 0 auto;
    padding: min(5.2083333333vw, 2.5em) 1em;
  }
}
.p-suggestions-examples__upper {
  position: relative;
}
.p-suggestions-examples__upper::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(100% + clamp(20px, 3.90625vw, 35px));
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(32px, 4.8333333333vw, 58px);
  height: clamp(36px, 4.5vw, 54px);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url(../image/pic_arrow.png);
}
@media screen and (max-width: 768px) {
  .p-suggestions-examples__upper::after {
    top: calc(100% + 3.5vw);
  }
}
.p-suggestions-examples__heading {
  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;
  row-gap: 0.5em;
}
.p-suggestions-examples__heading-icon {
  width: 1.5em;
}
.p-suggestions-examples__heading-icon img {
  width: 100%;
}
.p-suggestions-examples__outro {
  color: var(--color-white);
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 2;
  text-align: center;
}
.p-suggestions-examples__outro p + p {
  margin-top: 1em;
}

.p-suggestions-point-upper {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-suggestions-point-upper {
    margin: 0 auto min(26.7111853088vw, 10em);
  }
}
.p-suggestions-point-upper__title.c-heading {
  margin-bottom: 1.75em;
  text-align: center;
}
.p-suggestions-point-upper__image {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 570px;
  margin: 0 auto min(7.2916666667vw, 3.5em);
}
.p-suggestions-point-upper__image img {
  width: 100%;
}
.p-suggestions-point-upper__text {
  line-height: 2;
  text-align: center;
}
.p-suggestions-point-upper__text--bold {
  color: var(--color-main);
  font-weight: 600;
}
.p-suggestions-point-upper__text p + p {
  margin-top: 1em;
}
.p-suggestions-point-card {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-suggestions-point-card {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-suggestions-point-card__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.25em;
     -moz-column-gap: 2.25em;
          column-gap: 2.25em;
}
@media screen and (max-width: 768px) {
  .p-suggestions-point-card__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-suggestions-point-card__image {
  width: 42%;
}
@media screen and (max-width: 768px) {
  .p-suggestions-point-card__image {
    display: none;
  }
}
.p-suggestions-point-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1em;
}
.p-suggestions-point-card__desc {
  width: calc(100% - (42% + 2.25em));
}
@media screen and (max-width: 768px) {
  .p-suggestions-point-card__desc {
    width: 100%;
  }
}
.p-suggestions-point-card__desc-image {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-suggestions-point-card__desc-image {
    display: block;
    margin-bottom: 1.7em;
  }
}
.p-suggestions-point-card__desc-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1em;
}
.p-suggestions-point-card__title.c-heading {
  font-size: clamp(1.25rem, 2.8645833333vw, 1.375rem);
}
@media screen and (max-width: 768px) {
  .p-suggestions-point-card__title {
    margin-bottom: 1.2em;
    text-align: center;
  }
  .p-suggestions-point-card__title::after {
    top: auto;
    bottom: calc(100% - 0.2em);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .p-suggestions-point-card__title.c-heading > span {
    margin-left: 0;
  }
  .p-suggestions-point-card__title.c-heading > span::after {
    top: auto;
    bottom: calc(100% + 0.3em);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .p-suggestions-point-card__title.c-heading--num::after {
    font-size: clamp(5rem, 8vw, 7.5rem);
  }
}
.p-suggestions-point-card__title-sub {
  position: relative;
  margin-left: 0.3em;
}
.p-suggestions-point-card__title-sub::before {
  content: " - ";
  display: inline-block;
  padding-right: 0.2em;
}
@media screen and (max-width: 768px) {
  .p-suggestions-point-card__title-sub {
    margin-left: 0;
  }
  .p-suggestions-point-card__title-sub::after {
    content: " - ";
    display: inline-block;
    padding-left: 0.2em;
  }
}
.p-suggestions-point-card__text {
  line-height: 2;
}
.p-suggestions-point-card__text p + p {
  margin-top: 1em;
}
.p-suggestions-point-card__item:nth-of-type(2n+1) .p-suggestions-point-card__inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.p-suggestions-point-card__item:not(:last-of-type) {
  margin-bottom: 5em;
}
@media screen and (max-width: 768px) {
  .p-suggestions-point-card__item:not(:last-of-type) {
    margin-bottom: 6.5em;
  }
}
.p-suggestions-point-card__item--01 .p-suggestions-point-card__title.c-heading--num::after {
  content: "01";
}
.p-suggestions-point-card__item--02 .p-suggestions-point-card__title.c-heading--num::after {
  content: "02";
}
.p-suggestions-point-card__item--03 .p-suggestions-point-card__title.c-heading--num::after {
  content: "03";
}

.p-suggestions-voice {
  margin: 0 auto min(11.1111111111vw, 10em);
  background-color: var(--color-sub);
}
@media screen and (max-width: 768px) {
  .p-suggestions-voice {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-suggestions-voice__inner {
  padding: min(13.3333333333vw, 160px) 1em min(10vw, 120px);
}
@media screen and (max-width: 768px) {
  .p-suggestions-voice__inner {
    padding: min(20.8333333333vw, 160px) 1em min(15.625vw, 120px);
  }
}
.p-suggestions-voice__title.c-heading {
  margin-bottom: 1.75em;
  color: var(--color-white);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-suggestions-voice__title.c-heading::after {
    font-size: clamp(2rem, 9.375vw, 6rem);
  }
}
.p-suggestions-voice-card__inner::after {
  content: "";
  display: block;
  clear: both;
}
.p-suggestions-voice-card__image {
  width: 40%;
}
@media screen and (max-width: 768px) {
  .p-suggestions-voice-card__image {
    display: none;
  }
}
.p-suggestions-voice-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1em;
}
.p-suggestions-voice-card__title-area {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 768px) {
  .p-suggestions-voice-card__title-area {
    text-align: center;
  }
}
.p-suggestions-voice-card__title-main.c-heading {
  margin-bottom: 0.35em;
  color: var(--color-white);
}
.p-suggestions-voice-card__title-sub {
  font-size: clamp(1rem, 2.34375vw, 1.125rem);
  font-weight: 600;
  color: var(--color-white);
}
.p-suggestions-voice-card__text {
  line-height: 2;
  color: var(--color-white);
}
.p-suggestions-voice-card__desc-image {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-suggestions-voice-card__desc-image {
    display: block;
    margin-bottom: 1.2em;
  }
}
.p-suggestions-voice-card__desc-image img {
  width: 100%;
  border-radius: 1em;
}
.p-suggestions-voice-card__item:nth-of-type(2n+1) .p-suggestions-voice-card__image {
  float: left;
}
@media screen and (max-width: 768px) {
  .p-suggestions-voice-card__item:nth-of-type(2n+1) .p-suggestions-voice-card__image {
    float: none;
  }
}
.p-suggestions-voice-card__item:nth-of-type(2n) .p-suggestions-voice-card__image {
  float: right;
}
@media screen and (max-width: 768px) {
  .p-suggestions-voice-card__item:nth-of-type(2n) .p-suggestions-voice-card__image {
    float: none;
  }
}
.p-suggestions-voice-card__item--01 {
  margin-bottom: 5em;
}
.p-suggestions-voice-card__item--01 .p-suggestions-voice-card__image {
  margin-right: 2.5em;
  margin-bottom: 2em;
}
.p-suggestions-voice-card__item--02 .p-suggestions-voice-card__image {
  margin-left: 2.5em;
  margin-bottom: 2em;
}
.p-suggestions-voice-card__button {
  margin-top: 1.5em;
}
.p-suggestions-voice-card__button .c-arrow-icon {
  color: var(--color-white);
}
.p-suggestions-voice-card__button .c-arrow-icon::before {
  border-left: 0.6em solid var(--color-main);
}
.p-suggestions-voice-card__button .c-arrow-icon::after {
  background-color: var(--color-white);
}

/* works
======================================== */
.p-works-filter {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-works-filter {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-works-filter__form {
  position: relative;
  margin: 0 auto;
}
.p-works-filter__submit {
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, -40%);
          transform: translate(-50%, -40%);
}

.p-works-content {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-works-content {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}

.p-works-detail-content {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-works-detail-content {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-works-detail-content__image {
  margin: 0 auto min(6.6666666667vw, 80px);
}
@media screen and (max-width: 768px) {
  .p-works-detail-content__image {
    margin: 0 auto min(10.4166666667vw, 80px);
  }
}
.p-works-detail-content__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 784/480;
  border-radius: 6px;
}
.p-works-detail-content__image-group--main {
  max-width: 720px;
  margin: 0 auto min(4.1666666667vw, 50px);
}
@media screen and (max-width: 768px) {
  .p-works-detail-content__image-group--main {
    margin: 0 auto min(6.5104166667vw, 50px);
  }
}
.p-works-detail-content__image-group--main img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 720/440;
  border-radius: 1em;
}
.p-works-detail-content__image .swiper-button__prev {
  display: block;
  top: 52%;
}
.p-works-detail-content__image .swiper-button__next {
  display: block;
  top: 52%;
}
.p-works-detail-content__swiper--thumb {
  max-width: 720px;
  padding: 0 0 25px !important;
}
.p-works-detail-content__swiper--thumb .swiper-slide-thumb-active img {
  opacity: 0.3;
}
.p-works-detail-content__swiper--thumb .swiper-scrollbar.swiper-scrollbar-horizontal, .swiper-horizontal > .p-works-detail-content__swiper--thumb {
  height: 5px;
}
.p-works-detail-content__swiper--thumb .swiper-scrollbar-drag {
  background: var(--color-main);
}
.p-works-detail-content__movie {
  margin: 0 auto min(6.6666666667vw, 80px);
}
@media screen and (max-width: 768px) {
  .p-works-detail-content__movie {
    margin: 0 auto min(10.4166666667vw, 80px);
  }
}
.p-works-detail-content__movie iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 160/90;
}
.p-works-detail-content__movie video {
  width: 100%;
}
.p-works-detail-content__desc {
  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-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 2.5em;
     -moz-column-gap: 2.5em;
          column-gap: 2.5em;
  row-gap: 2.5em;
}
@media screen and (max-width: 768px) {
  .p-works-detail-content__desc {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-works-detail-content__desc-text {
  width: calc(100% - (48% + 2.5em));
  margin: 0;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-works-detail-content__desc-text {
    width: 100%;
  }
}
.p-works-detail-content__desc-data {
  width: 48%;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .p-works-detail-content__desc-data {
    width: 100%;
  }
}
.p-works-detail-content__desc-data-title {
  position: relative;
  margin-left: 1.4em;
  margin-bottom: 0.5em;
  font-size: clamp(1rem, 2.34375vw, 1.125rem);
  font-weight: 600;
  color: var(--color-main);
}
.p-works-detail-content__desc-data-title::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: calc(100% + 0.3em);
  width: 1.1em;
  height: 1.1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url(../image/icon_flag_color.png);
}
.p-works-detail-content__desc-data-content.c-detail__data {
  margin-bottom: 0;
}
.p-works-detail-content__desc-data-button {
  display: none;
  margin: 2.5em auto 0;
}
@media screen and (min-width: 769px) {
  .p-works-detail-content__desc-data-button--pc {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .p-works-detail-content__desc-data-button--sp {
    display: block;
  }
}
.p-works-detail-content__desc-data-button .c-button {
  margin: 0 auto;
  line-height: 1.4;
}

/* column
======================================== */
.p-column-content {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-column-content {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}

.p-column-detail-content {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-column-detail-content {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}

.p-column-detail-main__box {
  margin-top: min(10vw, 120px);
}
@media screen and (max-width: 768px) {
  .p-column-detail-main__box {
    margin-top: min(15.625vw, 120px);
  }
}
.p-column-detail-main__box-title {
  margin-bottom: 1.5em;
  text-align: center;
}

.p-column-detail-side__category .c-side-group__item-link,
.p-column-side__category .c-side-group__item-link {
  position: relative;
  margin-left: 1em;
  font-size: 0.9375rem;
}
.p-column-detail-side__category .c-side-group__item-link::before,
.p-column-side__category .c-side-group__item-link::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: calc(100% + 0.6em);
  width: 0.4em;
  height: 0.4em;
  border-top: 1px solid var(--color-main);
  border-right: 1px solid var(--color-main);
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
}
.p-column-detail-side__new-entry .c-side-group__item:not(:last-child),
.p-column-side__new-entry .c-side-group__item:not(:last-child) {
  margin-bottom: 1.5em;
}
.p-column-detail-side__ranking .c-side-group__item:not(:last-child),
.p-column-side__ranking .c-side-group__item:not(:last-child) {
  margin-bottom: 1.5em;
}

/* news
======================================== */
.p-news-content {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-news-content {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-news-content__item-image.noimage {
  border: 2px solid var(--color-main);
}
.p-news-content__item-category.c-post__item-category {
  margin: 0 0.75rem 0.5em;
}
.p-news-content__item-date.c-post__item-date {
  margin: 0 0.75rem 0.5em;
}

.p-news-detail-content {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-news-detail-content {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}

.p-news-detail-contact-content {
  margin: 0 auto min(5.5555555556vw, 80px);
}
@media screen and (max-width: 768px) {
  .p-news-detail-contact-content {
    margin: 0 auto min(10.4166666667vw, 80px);
  }
}
.p-news-detail-contact-content .c-form__body input {
  background-color: var(--bg-form);
}
.p-news-detail-contact-content .c-form__body select {
  background-color: var(--bg-form);
}
.p-news-detail-contact-content .c-form__body textarea {
  background-color: var(--bg-form);
}

.p-news-detail-contact-intro__desc {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 2em;
  line-height: 2;
}
.p-news-detail-contact-intro__image {
  max-width: 440px;
  margin: 0 auto 5em;
}
.p-news-detail-contact-intro__image img {
  width: 100%;
}

.p-news-detail-contact-head__title {
  position: relative;
  z-index: 5;
}
.p-news-detail-contact-head__title.c-title--decoration::after {
  content: "Contact";
}

/* voice
======================================== */
.p-voice-content {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-voice-content {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}

.p-voice-detail-content {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-voice-detail-content {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-voice-detail-content__data.c-detail__data {
  max-width: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
@media screen and (max-width: 599px) {
  .p-voice-detail-content__data.c-detail__data {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-voice-detail-content__data-item {
  width: calc((100% - 1em) / 2);
}
@media screen and (max-width: 599px) {
  .p-voice-detail-content__data-item {
    width: 100%;
  }
}
.p-voice-detail-content__data-item.c-detail__data-item:nth-of-type(2) {
  border-top: 1px dotted var(--color-main);
}
@media screen and (max-width: 599px) {
  .p-voice-detail-content__data-item.c-detail__data-item:nth-of-type(2) {
    border-top: none;
  }
}
.p-voice-detail-content__button {
  margin-top: 2.5em;
}
.p-voice-detail-content__button .c-button {
  margin: 0 auto;
  line-height: 1.4;
}

/* flow
======================================== */
.p-flow-tab__inner {
  max-width: 770px;
  margin: 0 auto 4.4em;
}
.p-flow-tab__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.5em;
     -moz-column-gap: 1.5em;
          column-gap: 1.5em;
  row-gap: 1em;
}
@media screen and (max-width: 599px) {
  .p-flow-tab__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;
  }
}
.p-flow-tab__item {
  width: calc((100% - 1.5em) / 2);
}
@media screen and (max-width: 599px) {
  .p-flow-tab__item {
    width: 100%;
    max-width: 320px;
  }
}
.p-flow-tab__item.is-active .p-flow-tab__item-menu {
  position: relative;
  background-color: var(--color-main);
}
.p-flow-tab__item.is-active .p-flow-tab__item-menu:hover {
  opacity: 1;
}
.p-flow-tab__item.is-active .p-flow-tab__item-menu::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 0.65em solid transparent;
  border-left: 0.65em solid transparent;
  border-top: 1em solid var(--color-main);
}
@media screen and (max-width: 599px) {
  .p-flow-tab__item.is-active .p-flow-tab__item-menu::after {
    content: none;
  }
}
.p-flow-tab__item-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.125em 0;
  background-color: var(--color-sub);
  color: var(--color-white);
  border-radius: 3em;
}
.p-flow-tab__item-menu:hover {
  opacity: 1;
  background-color: var(--color-main);
}

.p-flow-content {
  display: none;
}
.p-flow-content.is-open {
  display: block;
}
.p-flow-content__wrap {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-flow-content__wrap {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-flow-content__item {
  position: relative;
}
.p-flow-content__item:not(:last-of-type) {
  margin-bottom: min(11.6666666667vw, 140px);
}
@media screen and (max-width: 768px) {
  .p-flow-content__item:not(:last-of-type) {
    margin-bottom: min(23.3722871452vw, 140px);
  }
}
.p-flow-content__item:not(:last-of-type)::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(100% + clamp(20px, 3.90625vw, 35px));
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(32px, 4.8333333333vw, 58px);
  height: clamp(36px, 4.5vw, 54px);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url(../image/pic_arrow.png);
}
@media screen and (max-width: 768px) {
  .p-flow-content__item:not(:last-of-type)::after {
    top: calc(100% + 7.5vw);
  }
}

.p-flow-item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.5em;
     -moz-column-gap: 1.5em;
          column-gap: 1.5em;
}
@media screen and (max-width: 768px) {
  .p-flow-item__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-flow-item__image {
  width: 35%;
}
@media screen and (max-width: 768px) {
  .p-flow-item__image {
    display: none;
  }
}
.p-flow-item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1em;
}
.p-flow-item__desc {
  width: calc(100% - (35% + 1.5em));
}
@media screen and (max-width: 768px) {
  .p-flow-item__desc {
    width: 100%;
  }
}
.p-flow-item__desc-image {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-flow-item__desc-image {
    display: block;
    margin-bottom: 1.2em;
  }
}
.p-flow-item__desc-image img {
  width: 100%;
  border-radius: 1em;
}
.p-flow-item__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.775em;
     -moz-column-gap: 0.775em;
          column-gap: 0.775em;
}
@media screen and (max-width: 768px) {
  .p-flow-item__title {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.p-flow-item__title-num {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: clamp(2.75rem, 5.3333333333vw, 4rem);
  font-family: "Nothing You Could Do", cursive;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}
.p-flow-item__title.c-heading {
  margin-bottom: 0.8em;
}
.p-flow-item__text {
  line-height: 2;
}

/* faq
======================================== */
.p-faq-content__inner {
  margin-bottom: 5em;
}
.p-faq-content__title.c-heading {
  margin-bottom: 2.4em;
  text-align: center;
}

/* company
======================================== */
.p-company__content {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-company__content {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-company__content-inner {
  background-color: var(--color-white);
  border-radius: 1em;
}
.p-company__desc {
  padding: 0 2.5em;
}
.p-company__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  row-gap: 1em;
  padding: 2em 0;
}
.p-company__wrap:not(:last-of-type) {
  background-image: url(../image/bd_color.svg);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 3px;
}
@media screen and (max-width: 768px) {
  .p-company__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-company__heading {
  width: 15em;
  color: var(--color-main);
  font-size: clamp(1rem, 2.34375vw, 1.125rem);
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .p-company__heading {
    width: 100%;
  }
}
.p-company__body {
  width: calc(100% - 15em);
}
@media screen and (max-width: 768px) {
  .p-company__body {
    width: 100%;
  }
}
.p-company__body--business .p-company__body-list {
  margin-left: 0.8em;
}
.p-company__body--business .p-company__body-item {
  position: relative;
  margin-left: 1em;
}
.p-company__body--business .p-company__body-item::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.5em;
  right: calc(100% + 0.8em);
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 0.35em solid transparent;
  border-bottom: 0.35em solid transparent;
  border-left: 0.65em solid var(--color-main);
  border-right: 0;
}
.p-company__body--qualified .p-company__body-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  row-gap: 0.4em;
}
.p-company__body--qualified .p-company__body-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: calc((100% - 1em) / 2);
  min-width: 15em;
}
@media screen and (max-width: 599px) {
  .p-company__body--qualified .p-company__body-item {
    width: 100%;
  }
}
.p-company__body--organizations span {
  display: inline-block;
}
.p-company__map {
  padding: 0 2.5em 2.5em;
}
.p-company__map-content {
  aspect-ratio: 900/290;
}
@media screen and (max-width: 599px) {
  .p-company__map-content {
    aspect-ratio: 320/200;
  }
}
.p-company__map-content iframe {
  width: 100%;
  height: 100%;
}

/* policy
======================================== */
.p-policy-intro {
  margin: 0 auto min(6.6666666667vw, 5em);
}
@media screen and (max-width: 768px) {
  .p-policy-intro {
    margin: 0 auto min(10.4166666667vw, 5em);
  }
}
.p-policy-intro.l-inner {
  max-width: calc(720px - 2em);
}
.p-policy-intro__desc {
  font-size: clamp(1rem, 2.34375vw, 1.125rem);
  line-height: 2;
}

.p-policy-content {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-policy-content {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-policy-content__item {
  padding: 1.5em 2.5em;
  background-color: var(--color-white);
  border-radius: 1em;
}
.p-policy-content__item:not(:last-of-type) {
  margin-bottom: 2.5em;
}
.p-policy-content__heading.c-heading {
  font-size: clamp(1rem, 2.34375vw, 1.125rem);
}
.p-policy-content__body p + p {
  margin-top: 1em;
}
.p-policy-content__body p + ul {
  margin-top: 1em;
}
.p-policy-content__body-list {
  margin-left: 2.2em;
}
.p-policy-content__body-item {
  position: relative;
  margin-left: 1em;
}
.p-policy-content__body-item::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.5em;
  right: calc(100% + 0.8em);
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 0.35em solid transparent;
  border-bottom: 0.35em solid transparent;
  border-left: 0.65em solid var(--color-main);
  border-right: 0;
}

/* contact
======================================== */
.p-contact-intro__desc {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 2em;
  line-height: 2;
}
.p-contact-intro__image {
  max-width: 440px;
  margin: 0 auto 5em;
}
.p-contact-intro__image img {
  width: 100%;
}

.p-contact-content {
  margin: 0 auto min(20.1388888889vw, 290px);
}
@media screen and (max-width: 768px) {
  .p-contact-content {
    margin: 0 auto min(37.7604166667vw, 290px);
  }
}

/* request
======================================== */
.p-request-intro__desc {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 2em;
  line-height: 2;
}
.p-request-intro__image {
  max-width: 440px;
  margin: 0 auto 5em;
}
.p-request-intro__image img {
  width: 100%;
}

.p-request-content {
  margin: 0 auto min(20.1388888889vw, 290px);
}
@media screen and (max-width: 768px) {
  .p-request-content {
    margin: 0 auto min(37.7604166667vw, 290px);
  }
}

/* thanks
======================================== */
.p-thanks-intro__image {
  max-width: 440px;
  margin: 0 auto 5em;
}
.p-thanks-intro__image img {
  width: 100%;
}

.p-thanks-content {
  margin: 0 auto min(20.1388888889vw, 290px);
}
@media screen and (max-width: 768px) {
  .p-thanks-content {
    margin: 0 auto min(37.7604166667vw, 290px);
  }
}
.p-thanks-content__desc {
  margin-bottom: 5em;
}
.p-thanks-content__text {
  text-align: center;
  line-height: 2;
}
.p-thanks-content__text-lead {
  text-align: center;
}
.p-thanks-content__text-lead.c-heading {
  margin-bottom: 1.5em;
}
.p-thanks-content__text-link {
  margin-right: 0.3em;
  font-size: 1.5em;
  font-weight: 500;
  color: var(--color-main);
}
.p-thanks-content__button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

/* staff
======================================== */
.p-staff-introduction {
  max-width: 670px;
  margin: 0 auto;
}
.p-staff-introduction__desc {
  margin-bottom: 3.15em;
  font-size: clamp(1rem, 2.34375vw, 1.125rem);
  text-align: center;
}
.p-staff-introduction__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2em;
     -moz-column-gap: 2em;
          column-gap: 2em;
  row-gap: 2em;
}
@media screen and (max-width: 599px) {
  .p-staff-introduction__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-staff-introduction__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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 1.5em;
  width: calc((100% - 2em) / 2);
  color: var(--color-main);
  text-align: center;
}
@media screen and (max-width: 599px) {
  .p-staff-introduction__item {
    width: 100%;
  }
}
.p-staff-introduction__item-image {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 599px) {
  .p-staff-introduction__item-image {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-staff-introduction__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 300/400;
  border-radius: 1em;
}
.p-staff-introduction__item-title {
  margin-bottom: 0.65em;
  font-size: clamp(1.125rem, 3.125vw, 1.5rem);
  font-weight: 600;
}
.p-staff-introduction__item-text {
  font-size: 0.875rem;
}

.p-staff-partner {
  margin: 0 auto min(11.1111111111vw, 10em);
}
@media screen and (max-width: 768px) {
  .p-staff-partner {
    margin: 0 auto min(20.8333333333vw, 10em);
  }
}
.p-staff-partner__desc {
  margin-bottom: 3.15em;
  font-size: clamp(1rem, 2.34375vw, 1.125rem);
  text-align: center;
}
.p-staff-partner__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 2em;
     -moz-column-gap: 2em;
          column-gap: 2em;
  row-gap: 2em;
}
.p-staff-partner__item {
  width: calc((100% - 4em) / 3);
  color: var(--color-main);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-staff-partner__item {
    width: calc((100% - 2em) / 2);
  }
}
@media screen and (max-width: 599px) {
  .p-staff-partner__item {
    width: 100%;
  }
}
.p-staff-partner__item-image {
  margin-bottom: 1em;
}
.p-staff-partner__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 305/240;
  border-radius: 1em;
}
.p-staff-partner__item-title-sub {
  font-size: 0.875rem;
}
.p-staff-partner__item-title-main {
  font-size: clamp(1rem, 2.8645833333vw, 1.375rem);
  font-weight: 500;
}

.p-staff-popup {
  position: fixed;
  inset: 0;
  z-index: -10;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  height: 100vh;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-staff-popup.is-active {
  z-index: 10;
  opacity: 1;
  visibility: visible;
}
.p-staff-popup__bg {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 0;
}
.p-staff-popup__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 86%;
  height: 75%;
  overflow-y: scroll;
  padding: 2.5em 3em;
  background: var(--color-white);
  border-radius: 1em;
}
@media screen and (max-width: 768px) {
  .p-staff-popup__content {
    padding: 5.2083333333vw 6.25vw;
  }
}
.p-staff-popup__content-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.5em;
     -moz-column-gap: 1.5em;
          column-gap: 1.5em;
  row-gap: 2.5em;
}
@media screen and (max-width: 768px) {
  .p-staff-popup__content-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-staff-popup__image {
  width: 230px;
}
@media screen and (max-width: 768px) {
  .p-staff-popup__image {
    width: 100%;
  }
}
.p-staff-popup__image-image {
  max-width: 280px;
  margin: 0 auto 1em;
}
.p-staff-popup__image img {
  width: 100%;
  border-radius: 1em;
}
.p-staff-popup__image-title {
  margin-bottom: 0.35em;
  font-size: clamp(1.25rem, 3.125vw, 1.5rem);
  font-weight: 600;
  color: var(--color-main);
  text-align: center;
}
.p-staff-popup__image-text {
  font-size: 0.875rem;
  color: var(--color-main);
  text-align: center;
}
.p-staff-popup__desc {
  width: calc(100% - (230px + 1.5em));
}
@media screen and (max-width: 768px) {
  .p-staff-popup__desc {
    width: 100%;
  }
}
.p-staff-popup__heading.c-heading--small {
  font-size: 1.125rem;
}
.p-staff-popup__body {
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  background-image: url(../image/bd_color.svg);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 3px;
  line-height: 2;
}
.p-staff-popup__body-heading {
  margin-bottom: 1em;
  font-size: clamp(1rem, 2.34375vw, 1.125rem);
  font-weight: 600;
  color: var(--color-main);
}
.p-staff-popup__body p + p {
  margin-top: 1em;
}
.p-staff-popup__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.3em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.5em auto 0;
}
.p-staff-popup__button-text {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-main);
}
.p-staff-popup__button-close {
  position: relative;
  width: 3em;
  height: 3em;
}
.p-staff-popup__button-line {
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: var(--color-main);
}
.p-staff-popup__button-line:first-of-type {
  top: 0.6em;
  -webkit-transform: translateY(0.9em) rotate(45deg);
          transform: translateY(0.9em) rotate(45deg);
}
.p-staff-popup__button-line:nth-of-type(2) {
  top: 2.4em;
  -webkit-transform: translateY(-0.9em) rotate(-45deg);
          transform: translateY(-0.9em) rotate(-45deg);
}

/* ４０４
======================================== */
.p-404-intro {
  margin: 0 auto min(20vw, 240px);
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-404-intro {
    margin: 0 auto min(31.25vw, 240px);
  }
}
.p-404-intro.l-inner {
  max-width: 800px;
}
.p-404-intro p + p {
  margin-top: 1em;
}
.p-404-intro__link {
  color: var(--color-main);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--color-main);
}