@charset "UTF-8";
/* ----- break point ----- */
/* ----- container width ----- */
/* ----- margin-top/bottom ----- */
/* ----- padding-top/bottom ----- */
/* ----- font-size ----- */
/* ----- line-height, letter-spacing ----- */
/* ----- box-shadow, border-radius ----- */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
.js-x-scroll {
  cursor: -webkit-grab;
  cursor: grab;
}

/* -------------------------------------------- */
/* ------------ Noto Serif Japanese ---------- */
/* -------------------------------------------- */
/*==================
    共通パーツ
====================*/
.heading {
  margin-inline: auto;
  display: grid;
  grid-template-rows: repeat(2, auto);
  place-items: center;
}

/*=======================================
    service, value, message, company
    共通パーツ
=========================================*/
/* タイトル */
.ttl {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: clamp(2rem, 1.8786rem + 0.5178vw, 2.5rem);
  letter-spacing: 0.15em;
  line-height: 1.35;
  color: #A17B41;
}
@media only screen and (max-width: 767px) {
  .ttl {
    line-height: 1.68;
  }
}

/* コピーライト */
.ttl-cp {
  font-family: "Noto Serif JP", system-ui;
  font-weight: 500;
  font-size: 14px;
  color: #A17B41;
  line-height: 1.71;
}

/* リード文 */
.ttl-lead {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.62;
  letter-spacing: 0.05em;
  color: #3A3A3A;
}
@media only screen and (max-width: 767px) {
  .ttl-lead {
    line-height: 1.87;
    letter-spacing: 0;
    text-align: left;
  }
}

/*==========================
    company, access, contact  
    共通パーツ
===========================*/
/* タイトル */
.title {
  font-size: clamp(1.5rem, 1.3483rem + 0.6472vw, 2.125rem);
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  line-height: 1.353;
  letter-spacing: 0.08em;
}

/* サブタイトル */
.sub-title {
  font-size: clamp(1.25rem, 1.1893rem + 0.2589vw, 1.5rem);
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  line-height: 1.333;
  letter-spacing: 0.05em;
}

.fix {
  width: 100%;
  height: 100%;
  position: fixed;
}

/*==============
  改行の共通設定　
================*/
.u-pc {
  display: block;
}
@media only screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
}

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

/*======================
    アンカーリンクの調整　
========================*/
:target::before {
  content: "";
  display: block;
  height: 79px;
  margin-top: -79px;
  visibility: hidden;
}
@media only screen and (max-width: 767px) {
  :target::before {
    height: 60px;
    margin-top: -60px;
  }
}

/* 背景あり 調整 */
.message__inner::before {
  content: "";
  display: block;
  height: 79px;
  margin-top: -79px;
  visibility: hidden;
}
@media only screen and (max-width: 767px) {
  .message__inner::before {
    height: 60px;
    margin-top: -60px;
  }
}

/* ----------------------- fade-in animation ----------------------- */
/* フェードインの設定 */
.fade-in-up {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-filter: blur(8px);
          filter: blur(8px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out, -webkit-filter 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out, -webkit-filter 0.5s ease-out;
  transition: opacity 0.5s ease-out, transform 0.5s ease-out, filter 0.5s ease-out;
  transition: opacity 0.5s ease-out, transform 0.5s ease-out, filter 0.5s ease-out, -webkit-transform 0.5s ease-out, -webkit-filter 0.5s ease-out; /* filterをtransitionに追加 */
}

.fade-in-up.show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-filter: blur(0);
          filter: blur(0);
}

.fade-in,
.fade-in-bg {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-filter: blur(8px);
          filter: blur(8px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out, -webkit-filter 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s ease-out, -webkit-filter 0.5s ease-out;
  transition: opacity 0.5s ease-out, transform 0.5s ease-out, filter 0.5s ease-out;
  transition: opacity 0.5s ease-out, transform 0.5s ease-out, filter 0.5s ease-out, -webkit-transform 0.5s ease-out, -webkit-filter 0.5s ease-out; /* filterをtransitionに追加 */
}

.fade-in.show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-filter: blur(0);
          filter: blur(0);
}

.fade-in-bg.show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-filter: blur(0);
          filter: blur(0);
}

/* ------------------- infinite slide animation ------------------- */
@-webkit-keyframes infinite-slide1 {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes infinite-slide1 {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes infinite-slide2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
@keyframes infinite-slide2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
/* ------------------------ delay animation ------------------------ */
.--delay1 {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

.--delay2 {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.--delay3 {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.--delay4 {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.--delay5 {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.--delay6 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.--delay7 {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.--delay8 {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.--delay9 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.--delay10 {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.--delay11 {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

.--delay12 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.--delay13 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.--delay14 {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

.--delay15 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.--delay16 {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

.--delay17 {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}

.--delay18 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.--delay19 {
  -webkit-transition-delay: 1.9s;
          transition-delay: 1.9s;
}

.--delay20 {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}

a,
button,
span {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
a:before, a:after,
button:before,
button:after,
span:before,
span:after {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  display: block;
  vertical-align: bottom;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

svg {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
svg path {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

html {
  word-wrap: break-word;
  scroll-behavior: smooth;
}

body {
  letter-spacing: 0.05em;
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 16px;
  color: #3A3A3A;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.5;
}

a {
  color: #000;
}

@media only screen and (max-width: 767px) {
  br.pc-br {
    display: none;
  }
}
@media only screen and (min-width: 767px) {
  br.sp-br {
    display: none;
  }
}

.loader {
  position: fixed;
  top: 0;
  left: 0;
  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: 100vw;
  height: 100vh;
  background-color: #FFFFFF;
  z-index: 555;
}

.loader__img {
  aspect-ratio: 138/110;
  -webkit-animation: blinking 1.5s ease-in-out infinite;
          animation: blinking 1.5s ease-in-out infinite;
}

.loader img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

@-webkit-keyframes blinking {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

@keyframes blinking {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
/*==============
        FV 
================*/
.fv {
  position: relative;
}

.fv__inner {
  margin-top: 11%;
  display: grid;
  grid-template-columns: 1fr auto;
  place-content: center;
  place-items: center;
  width: 100vw;
  padding-right: 20px;
  padding-left: 20px;
  max-width: 1130px;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 1440px) {
  .fv__inner {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 1150px) {
  .fv__inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    min-width: 320px;
    margin-top: 103px;
    height: auto;
  }
}
@media screen and (max-width: 375px) {
  .fv__inner {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.fv__title {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(1.5rem, 1.3786rem + 0.5178vw, 2rem);
  letter-spacing: 0.1em;
  line-height: 1.69;
  white-space: nowrap;
}
@media only screen and (max-width: 1150px) {
  .fv__title {
    margin-top: 28px;
    letter-spacing: 0.053em;
    line-height: 1.66;
    white-space: normal;
  }
}

.fv__cp {
  margin-top: 23px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(0.8125rem, 0.767rem + 0.1942vw, 1rem);
  color: #879FA9;
  letter-spacing: 0.239em;
  line-height: 1.31;
}
@media only screen and (max-width: 1150px) {
  .fv__cp {
    line-height: 1.3;
  }
}

.fv__msg {
  margin-top: 27px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(0.875rem, 0.8447rem + 0.1294vw, 1rem);
  letter-spacing: 0.05em;
  line-height: 2.5;
}
@media only screen and (max-width: 1150px) {
  .fv__msg {
    line-height: 1.92;
    letter-spacing: 0.239em;
  }
}

.fv__img {
  aspect-ratio: 656/508;
  width: 100%;
  max-width: 656px;
  height: auto;
  transform: translateX(20%);
  -webkit-transform: translateX(20%);
}
@media only screen and (max-width: 1250px) {
  .fv__img {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    height: auto;
  }
}
@media only screen and (max-width: 1150px) {
  .fv__img {
    -webkit-transform: translateX(112px);
            transform: translateX(112px);
    aspect-ratio: 331/256;
    width: 331px;
  }
}
@media only screen and (max-width: 767px) {
  .fv__img {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
    margin-left: auto;
    width: 15.9375rem;
  }
}

.fv__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

/*== スクロールダウン ==*/
.scroll-down {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 1px;
  height: 176px;
  z-index: 2;
  overflow: hidden;
  /* 各画面サイズに応じたスタイル */
}
@media only screen and (max-width: 1440px) {
  .scroll-down {
    bottom: -20%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media only screen and (max-width: 1150px) {
  .scroll-down {
    bottom: -130%;
    left: 65%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media only screen and (max-width: 767px) {
  .scroll-down {
    bottom: -120%;
    height: 141px;
    left: initial;
    right: 10%;
  }
}

/* 線の描写 */
.scroll-down::after {
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 0;
  background: #BFBFBF;
  animation: path-move 1.4s ease-in-out infinite;
  -webkit-animation: path-move 1.4s ease-in-out infinite;
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .scroll-down::after {
    height: 141px;
  }
}

/* 高さ・位置・透過が変化して線が上から下に流れるアニメーション */
@-webkit-keyframes path-move {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 176px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 176px;
    opacity: 0;
  }
}
@keyframes path-move {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 176px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 176px;
    opacity: 0;
  }
}
/*==============
    ABOUT  
================*/
.about {
  position: relative;
  margin-top: 180px;
  width: 100vw;
}
@media only screen and (max-width: 767px) {
  .about {
    margin-top: 231px;
  }
}

.about__bg {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../image/img_about/about-bg_img.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.about__inner {
  padding-top: 160px;
  padding-bottom: 160px;
  max-width: 1130px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
}
@media only screen and (max-width: 767px) {
  .about__inner {
    padding-top: 180px;
    padding-top: 180px;
    min-width: 320px;
  }
}

.about__intro, .about__lead {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(0.875rem, 0.8447rem + 0.1294vw, 1rem);
  color: #3A3A3A;
  line-height: 2.5;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .about__intro, .about__lead {
    line-height: 2.14;
  }
}

.about__lead {
  margin-top: 36px;
}
@media only screen and (max-width: 767px) {
  .about__lead {
    margin-top: 25px;
  }
}

/* ボタンの設定 */
.about__btn, .about__btn-link {
  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: 265px;
  height: 69px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-color: #061527;
  border: 1px solid #061527;
}
@media only screen and (max-width: 767px) {
  .about__btn, .about__btn-link {
    width: 197px;
    height: 50px;
  }
}

.about__btn {
  margin-top: 33px;
  margin-left: 186px;
}
@media only screen and (max-width: 767px) {
  .about__btn {
    margin-top: 55px;
    margin-left: 121px;
  }
}

.about__btn-link {
  position: relative;
  font-family: "Noto Serif JP", system-ui;
  font-weight: 500;
  font-size: clamp(1rem, 0.9393rem + 0.2589vw, 1.25rem);
  color: #FFFFFF;
}

/* 矢印 */
.about__btn-link::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 41px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  -webkit-transform: translate(0, -50%) rotate(135deg);
          transform: translate(0, -50%) rotate(135deg);
}
@media only screen and (max-width: 767px) {
  .about__btn-link::after {
    -webkit-transform: translate(25px, -50%) rotate(135deg);
            transform: translate(25px, -50%) rotate(135deg);
  }
}

/* hover時の設定 */
.about__btn:hover, .about__btn-link:hover {
  border: 1px solid #061527;
  background-color: #FFFFFF;
  color: #061527;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transform: none;
          transform: none;
}

.about__btn-link:hover::after {
  border-top: 2px solid #061527;
  border-right: 2px solid #061527;
}

/*==============
    SERVICE  
================*/
.service__inner {
  margin-top: 163px;
  padding-right: 20px;
  padding-left: 20px;
  max-width: 1130px;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .service__inner {
    margin-top: 158px;
    min-width: 320px;
  }
}

.service__heading {
  text-align: center;
}

.service__title--cp {
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .service__title--cp {
    margin-top: 0;
  }
}

.service__text {
  margin-top: 18px;
  font-size: clamp(0.9375rem, 0.9223rem + 0.0647vw, 1rem);
  letter-spacing: 0.05em;
  line-height: 1.62;
}
@media only screen and (max-width: 767px) {
  .service__text {
    margin-top: 40px;
    text-align: center;
    line-height: 2;
  }
}
@media screen and (max-width: 592px) {
  .service__text {
    text-align: left;
  }
}

.service__content {
  margin-top: 86px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 1014px;
  margin-right: auto;
  margin-left: auto;
  -moz-column-gap: 10%;
  -webkit-column-gap: 10%;
          column-gap: 10%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  place-content: space-around;
}
@media only screen and (max-width: 1150px) {
  .service__content {
    grid-template-columns: 1fr auto;
    -moz-column-gap: 5%;
    -webkit-column-gap: 5%;
            column-gap: 5%;
  }
}
@media only screen and (max-width: 767px) {
  .service__content {
    margin-top: 90px;
    grid-template-columns: minmax(270px, 1fr);
    place-items: center;
    place-content: center;
  }
}

.service__content + .service__content {
  margin-top: 131px;
}
@media only screen and (max-width: 767px) {
  .service__content + .service__content {
    margin-top: 5.625rem;
  }
}

.service__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -moz-column-gap: 1.5625rem;
  -webkit-column-gap: 1.5625rem;
          column-gap: 1.5625rem;
}
@media only screen and (max-width: 767px) {
  .service__detail {
    -moz-column-gap: 6%;
    -webkit-column-gap: 6%;
            column-gap: 6%;
    width: 100%;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
  }
}
@media screen and (max-width: 375px) {
  .service__detail {
    -webkit-box-pack: normal;
        -ms-flex-pack: normal;
            justify-content: normal;
  }
}

.detail__left {
  position: relative;
}

/* 縦ライン */
/* 数字部分 */
.s-number {
  position: relative;
  width: 100%;
  height: 100%;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(3.375rem, 2.8592rem + 2.2006vw, 5.5rem);
  line-height: 1.33;
  color: #E1EDEF;
}

.s-text {
  position: absolute;
  font-family: "Noto Serif JP", serif;
  font-weight: 200;
  font-size: clamp(0.875rem, 0.8143rem + 0.2589vw, 1.125rem);
  line-height: 1.33;
  letter-spacing: 0.1em;
  color: #879FA9;
}

.st-01, .st-02, .st-03 {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media only screen and (max-width: 767px) {
  .st-01, .st-02, .st-03 {
    top: 53%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: -4px;
  }
}

.detail__right {
  margin-top: 1.5em;
}
@media only screen and (max-width: 767px) {
  .detail__right {
    margin-top: 0;
  }
}

.s-subtitle {
  font-size: clamp(1rem, 0.8483rem + 0.6472vw, 1.625rem);
  line-height: 1.34;
  letter-spacing: 0.1em;
  font-family: "Noto Serif JP", serif;
  font-weight: 200;
  color: #9DB8C5;
}
@media only screen and (max-width: 767px) {
  .s-subtitle {
    line-height: 1.31;
  }
}

.s-sub__lead {
  margin-top: 4px;
  font-size: 24px;
  letter-spacing: 0.05em;
  line-height: 1.33;
}
@media only screen and (max-width: 767px) {
  .s-sub__lead {
    margin-top: 0;
    white-space: nowrap;
  }
}
@media only screen and (max-width: 360px) {
  .s-sub__lead {
    white-space: normal;
  }
}

.s-detail {
  position: relative;
  width: 30.6875rem;
  grid-column: 1/1;
  margin-top: 30px;
  padding-left: 27%;
  padding-bottom: 4.5625rem;
  margin-right: auto;
  word-break: break-all;
}
@media only screen and (max-width: 1150px) {
  .s-detail {
    width: initial;
    padding-left: 20%;
  }
}
@media only screen and (max-width: 767px) {
  .s-detail {
    margin-top: 24px;
    padding-left: 0;
    width: initial;
  }
}

.s-detail::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 10%;
  width: 1px;
  height: 102%;
  background-color: #879FA9;
}
@media only screen and (max-width: 767px) {
  .s-detail::after {
    content: "";
    position: absolute;
    bottom: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    left: 50%;
    width: 270px;
    height: 1px;
    background-color: #879FA9;
  }
}

@media only screen and (max-width: 767px) {
  .s-detail.--last::after {
    display: none;
  }
}

.s-detail__text {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(0.8125rem, 0.767rem + 0.1942vw, 1rem);
  line-height: 2.15;
  letter-spacing: 0.05em;
}

.small__text {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 2.5;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .small__text {
    font-size: 13px;
  }
}

.s-info__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media only screen and (max-width: 767px) {
  .s-info__container {
    -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;
    gap: 5%;
  }
}

.s-info {
  margin-top: 20px;
  display: inline-block;
  font-size: clamp(0.75rem, 0.7348rem + 0.0647vw, 0.8125rem);
  letter-spacing: 0.114em;
  line-height: 2.07;
  color: #8B8B8B;
}
@media only screen and (max-width: 767px) {
  .s-info {
    margin-top: 16px;
  }
}

.s-info__link {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 10px;
  color: #879FA9;
  cursor: pointer;
  text-decoration: underline;
}
@media only screen and (max-width: 767px) {
  .s-info__link {
    margin-top: 16px;
    word-break: break-all;
    overflow-wrap: break-word;
  }
}

.s-info__container2 .s-info__link {
  padding-bottom: 1%;
}
@media only screen and (max-width: 767px) {
  .s-info__container2 .s-info__link {
    margin-top: 0;
  }
}

/* 調整用padding */
/* レスポンシブ 下線 */
.service__img {
  -ms-flex-item-align: start;
      align-self: start;
  margin-top: 20px;
  aspect-ratio: 340/232;
  width: 340px;
  height: auto;
}
@media only screen and (max-width: 1150px) {
  .service__img {
    margin-top: 10%;
  }
}
@media only screen and (max-width: 767px) {
  .service__img {
    grid-area: 2;
    aspect-ratio: 334/228;
    width: 100%;
  }
}

.service__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

/* セクション下の画像 */
.service-bg__img {
  margin-top: 183px;
  aspect-ratio: 1920/400;
  width: 100vw;
}
@media only screen and (max-width: 767px) {
  .service-bg__img {
    margin-top: 90px;
    aspect-ratio: 375/264;
  }
}

.service-bg__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

/*==============
    MESSAGE  
================*/
.message {
  background-color: #F9FAFB;
  width: 100vw;
  min-height: 1521px;
}
@media only screen and (max-width: 767px) {
  .message {
    width: 100%;
    min-height: 1601px;
  }
}

.message__inner {
  margin-inline: auto;
  padding-bottom: 160px;
  padding-right: 20px;
  padding-left: 20px;
  max-width: 1130px;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .message__inner {
    min-width: 320px;
  }
}

.message__heading {
  padding-top: 163px;
}
@media only screen and (max-width: 767px) {
  .message__heading {
    padding-top: 162px;
  }
}

.message__title--cp {
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .message__title--cp {
    margin-top: 0;
  }
}

.message__lead {
  margin-top: 18px;
  font-size: clamp(0.9375rem, 0.9223rem + 0.0647vw, 1rem);
  line-height: 1.62;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .message__lead {
    margin-top: 40px;
    line-height: 2;
  }
}

.message__img {
  margin-top: 79px;
  margin-inline: auto;
  aspect-ratio: 848/320;
  max-width: 848px;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .message__img {
    margin-top: 42px;
    aspect-ratio: 335/126;
    width: 100%;
  }
}

.message__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.message__intro {
  margin-top: 80px;
  margin-inline: auto;
  max-width: 848px;
  font-size: clamp(0.8125rem, 0.767rem + 0.1942vw, 1rem);
}
@media only screen and (max-width: 767px) {
  .message__intro {
    margin-top: 40px;
    letter-spacing: 0.03em;
  }
}

.message__group {
  margin-top: 80px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 53% auto;
  grid-template-rows: 1fr;
  max-width: 848px;
  grid-template-areas: "detail avatar" "name avatar";
}
@media only screen and (max-width: 767px) {
  .message__group {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    grid-template-areas: "detail detail" "name avatar";
    margin-top: 24px;
    width: 100%;
  }
}

.message__pc-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media only screen and (max-width: 767px) {
  .message__group.u-pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .message__group.u-sp {
    display: none;
  }
}
.message__wrap {
  grid-area: detail;
  font-size: clamp(0.8125rem, 0.767rem + 0.1942vw, 1rem);
}
@media only screen and (max-width: 1150px) {
  .message__wrap {
    grid-area: detail;
    max-width: 100%;
  }
}

.message__detail {
  line-height: 1.875;
}
@media only screen and (max-width: 767px) {
  .message__detail {
    overflow-wrap: break-word;
    line-height: 2.1538461538;
  }
}

.message__detail + .message__detail {
  margin-top: 25px;
}
@media only screen and (max-width: 767px) {
  .message__detail + .message__detail {
    margin-top: 24px;
  }
}

.m-name__text--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-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-left: auto;
  grid-area: name;
  align-self: start;
  margin-top: auto;
}
@media only screen and (max-width: 1150px) {
  .m-name__text--group {
    grid-area: name;
    margin-top: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-left: auto;
    margin-right: 0;
    align-self: end;
  }
}
@media only screen and (max-width: 767px) {
  .m-name__text--group {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-left: initial;
  }
}

.m-name__wrap {
  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;
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .m-name__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.m-name__text--jp {
  display: inline-block;
  margin-left: 10px;
}
@media only screen and (max-width: 767px) {
  .m-name__text--jp {
    margin-left: 0;
  }
}

.m-name__text--en {
  color: #879FA9;
  margin-right: 1em;
  font-size: clamp(0.6875rem, 0.642rem + 0.1942vw, 0.875rem);
}
@media only screen and (max-width: 767px) {
  .m-name__text--en {
    margin-right: 0;
    white-space: nowrap;
  }
}

.message__text {
  font-size: clamp(0.875rem, 0.8447rem + 0.1294vw, 1rem);
}

.message__avatar {
  margin-left: auto;
  aspect-ratio: 350/450;
  width: 350px;
  grid-area: avatar;
}
@media only screen and (max-width: 767px) {
  .message__avatar {
    margin-top: 24px;
    margin-left: auto;
    aspect-ratio: 198/256;
    width: 100%;
    max-width: 198px;
    height: auto;
    grid-area: avatar;
  }
}

.message__avatar img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

/* 共通 */
.message__intro,
.message__wrap,
.m-name__wrap {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.12em;
}
@media only screen and (max-width: 767px) {
  .message__intro,
  .message__wrap,
  .m-name__wrap {
    line-height: 2.1538461538;
  }
}

/*==============
    COMPANY  
================*/
.c-vision {
  position: relative;
}

.c-vision__inner {
  margin-top: 160px;
  margin-inline: auto;
  padding-right: 20px;
  padding-left: 20px;
  max-width: 1130px;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .c-vision__inner {
    margin-top: 162px;
    min-width: 320px;
    padding: 0;
  }
}

.c-vision__bg-img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -92%);
          transform: translate(-50%, -92%);
  aspect-ratio: 872/712;
  width: 80vw;
  max-width: 872px;
  z-index: -1;
}
@media only screen and (max-width: 1150px) {
  .c-vision__bg-img {
    top: 9%;
    left: 50%;
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
    aspect-ratio: 557/428;
    width: 100vw;
    background-size: cover;
    background-position: center;
    background-clip: border-box;
  }
}

.c-vision__bg-img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-vision__lead {
  margin-top: 82px;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: clamp(0.9375rem, 0.801rem + 0.5825vw, 1.5rem);
  line-height: 1.66;
  letter-spacing: 0.15em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-vision__lead {
    margin-top: 41px;
    line-height: 2.12;
    letter-spacing: 0.15em;
  }
}

.c-vision__logo-img {
  margin-top: 89px;
  margin-inline: auto;
  aspect-ratio: 218/173;
  width: 218px;
}
@media only screen and (max-width: 767px) {
  .c-vision__logo-img {
    margin-top: 41px;
    aspect-ratio: 146/118;
    width: 146px;
  }
}

.c-vision__logo-img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-vision__wrap {
  margin-top: 87px;
  margin-inline: auto;
  max-width: 637px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-vision__wrap {
    margin-top: 40px;
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
    text-align: left;
  }
}

.c-vision__text {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.12em;
  font-size: clamp(0.8125rem, 0.767rem + 0.1942vw, 1rem);
}
@media only screen and (max-width: 767px) {
  .c-vision__text {
    letter-spacing: 0.03em;
    line-height: 2.1538461538;
  }
}

.c-vision__text + .c-vision__text {
  margin-top: 2.5em;
}

.vision__mvv {
  position: relative;
  margin-top: 317px;
  margin-inline: auto;
  max-width: 88%;
}
@media only screen and (max-width: 767px) {
  .vision__mvv {
    margin-top: 170px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.vision__bg {
  content: "";
  position: absolute;
  top: -40%;
  left: -55%;
  background-image: url(../image/img_company/company-h_img.jpg);
  aspect-ratio: 452/804;
  width: 452px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .vision__bg {
    top: 130%;
    left: -7%;
    background-image: url(../image/img_company/company-sp_img.jpg);
    aspect-ratio: 375/267;
    width: 100vw;
    height: 267px;
  }
}

/*== 企業理念 ==*/
.mission__head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.mission__title--en {
  margin-left: 23px;
}
@media only screen and (max-width: 767px) {
  .mission__title--en {
    margin-left: -13%;
  }
}

/*== ビジョン ==*/
.vision__group {
  margin-top: 122px;
}
@media only screen and (max-width: 767px) {
  .vision__group {
    margin-top: 165px;
  }
}

.vision__head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.vision__title--en {
  margin-left: 59px;
}

/* 共通パーツ */
.mission__title--jp,
.vision__title--jp {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: clamp(1.5rem, 1.3786rem + 0.5178vw, 2rem);
  line-height: 1.34;
  letter-spacing: 0.1em;
  color: #3A3A3A;
}
@media only screen and (max-width: 767px) {
  .mission__title--jp,
  .vision__title--jp {
    position: relative;
    margin-left: 13%;
    line-height: 1.33;
  }
}

.mission__title--en,
.vision__title--en {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: clamp(1.75rem, 1.3252rem + 1.8123vw, 3.5rem);
  line-height: 1.32;
  color: #9DB8C5;
  margin-left: 5%;
}
@media only screen and (max-width: 767px) {
  .mission__title--en,
  .vision__title--en {
    margin-left: 0;
    position: absolute;
    top: 0;
    left: -6%;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-wrap: nowrap;
    line-height: 1.32;
  }
}

.mission__text,
.vision__text {
  margin-top: 24px;
  padding-left: 12%;
  margin-inline: auto;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: clamp(0.875rem, 0.8447rem + 0.1294vw, 1rem);
  line-height: 2;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .mission__text,
  .vision__text {
    margin-top: 17px;
    margin-left: 13%;
    padding-left: 0;
    width: 95%;
    letter-spacing: 0;
  }
}

/* 下線 */
.mission__head::after,
.vision__head::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -3%;
  width: 100%;
  height: 2px;
  background: #9DB8C5;
}

@media only screen and (max-width: 767px) {
  .mission__head::after {
    top: 130px;
    left: -3%;
    width: 0;
    height: 80px;
    border: 1px solid #9DB8C5;
  }
}

@media only screen and (max-width: 767px) {
  .vision__head::after {
    top: 110px;
    left: -3%;
    width: 0;
    height: 80px;
    border: 1px solid #9DB8C5;
  }
}

/*==============
    会社概要  
================*/
.company__inner {
  margin-top: 300px;
  margin-inline: auto;
  max-width: 1130px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
}
@media only screen and (max-width: 767px) {
  .company__inner {
    margin-top: 501px;
    min-width: 320px;
  }
}

.company__title {
  color: #879FA9;
}

.company__wrap {
  margin-top: 81px;
  margin-inline: auto;
  max-width: 848px;
}
@media only screen and (max-width: 767px) {
  .company__wrap {
    margin-top: 41px;
  }
}

.c-lists {
  display: grid;
  grid-template-columns: 30% 1fr;
  -moz-column-gap: 10px;
  -webkit-column-gap: 10%;
          column-gap: 10%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #707070;
}
@media only screen and (max-width: 767px) {
  .c-lists {
    grid-template-columns: 35% 1fr;
    -moz-column-gap: 3%;
    -webkit-column-gap: 3%;
            column-gap: 3%;
  }
}

.u-sp-2 {
  display: none;
}
@media screen and (max-width: 465px) {
  .u-sp-2 {
    display: block;
  }
}

@media screen and (max-width: 465px) {
  .u-txt {
    margin-left: 1em;
  }
}

.c-list__title, .c-list__title-02 {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(0.875rem, 0.8447rem + 0.1294vw, 1rem);
  line-height: 2.12;
  letter-spacing: 0.114em;
  color: #FFFFFF;
  background: -webkit-gradient(linear, left top, right top, color-stop(100%, #3A3A3A), to(#FFF));
  background: linear-gradient(to right, #3A3A3A 100%, #FFF 100%);
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 767px) {
  .c-list__title, .c-list__title-02 {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-left: 5%;
    white-space: nowrap;
  }
}

.c-list__title, .c-list__title-02, .c-list__text, .c-list__summary {
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  .c-list__title, .c-list__title-02, .c-list__text, .c-list__summary {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

/* 下線 */
.c-list__title::after,
.c-list__title-02::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: #fff;
}

.c-list__text::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -17%;
  right: 0;
  height: 1px;
  background-color: #707070;
}
@media only screen and (max-width: 767px) {
  .c-list__text::after {
    left: -4%;
  }
}

/*所在地，お問い合わせ先項目の下線*/
.c-text04::after, .c-text05::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -17%;
  right: 0;
  height: 1px;
  background-color: #707070;
}
@media only screen and (max-width: 767px) {
  .c-text04::after, .c-text05::after {
    left: -4%;
  }
}

.ttl-last::after {
  content: none; /* 擬似要素を表示しない */
}

.c-list__text, .c-list__summary--text {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(0.875rem, 0.8447rem + 0.1294vw, 1rem);
  line-height: 2.06;
  color: #3A3A3A;
  text-align: left;
}

.ttl-last {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

/* お問合せ先　タイトル */
.t-02 {
  display: block;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .t-02 {
    display: none;
  }
}

.c-list__title-02 {
  display: none;
}
@media only screen and (max-width: 767px) {
  .c-list__title-02 {
    display: block;
  }
}

/*==============
    アクセス  
===============*/
.access__inner {
  margin-top: 120px;
  container-type: inline-size;
  max-width: 1130px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
  display: grid;
  grid-template-rows: repeat(2, auto);
  place-items: center;
}
@media only screen and (max-width: 767px) {
  .access__inner {
    margin-top: 114px;
    min-width: 320px;
  }
}

.access__title {
  color: #879FA9;
}

.access__map {
  position: relative;
  margin-top: 81px;
  margin-inline: auto;
  width: 100%;
  max-width: 848px;
  padding-bottom: 44.34%;
  height: 0;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .access__map {
    height: 253px;
  }
}

.access__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.access__text {
  margin-top: 17px;
  display: inline-block;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(0.6875rem, 0.642rem + 0.1942vw, 0.875rem);
  line-height: 2.06;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .access__text {
    text-align: left;
    line-height: 1.81;
    letter-spacing: 0;
  }
}

/*==============
    お問合せ  
================*/
.contact {
  margin-top: 120px;
  padding-bottom: 120px;
  background-color: #EFF3F5;
}
@media only screen and (max-width: 767px) {
  .contact {
    margin-top: 140px;
    padding-bottom: 160px;
  }
}

.contact__inner {
  padding-top: 112px;
  container-type: inline-size;
  max-width: 1130px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
  display: grid;
  grid-template-rows: repeat(2, auto);
  place-items: center;
}
@media only screen and (max-width: 767px) {
  .contact__inner {
    padding-top: 100px;
    min-width: 320px;
  }
}

.contact__title {
  color: #A17B41;
  font-size: clamp(2rem, 1.8786rem + 0.5178vw, 2.5rem);
}

.cf {
  margin-top: 40px;
  max-width: 740px;
}
@media only screen and (max-width: 767px) {
  .cf {
    margin-top: 43px;
  }
}

.cf__group {
  display: grid;
}

.cf__row {
  position: relative;
  display: grid;
  grid-template-columns: 223px auto;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding: 40px 0;
  border-bottom: 1px solid #879FA9;
}
@media only screen and (max-width: 767px) {
  .cf__row {
    grid-template-columns: 1fr;
    padding: 27px 0;
  }
}

.cf__item {
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-column: 1/2;
}

.c__last {
  display: grid;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  border-bottom: none;
  padding-bottom: 0;
}

.cf__required {
  position: absolute;
  left: 160px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 14px;
  color: #FFFFFF;
  border-radius: 4px;
  background-color: #879FA9;
  padding: 2px 9px;
}
@media only screen and (max-width: 767px) {
  .cf__required {
    left: 80px;
  }
}

@media only screen and (max-width: 767px) {
  .cf__row:nth-of-type(3) .cf__required {
    left: 140px;
  }
}

.cf__data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .cf__data {
    margin-top: 17px;
  }
}

.cf__data input {
  position: relative;
  width: 394px;
  height: 54px;
  border: 1px solid #BBBBBB;
  background-color: #FFFFFF;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: left;
  padding: 0.5rem;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .cf__data input {
    width: 89.33vw;
  }
}

.last textarea {
  -ms-flex-item-align: start;
      align-self: start;
  width: 100%;
  max-width: 394px;
  height: 232px;
  border: 1px solid #BBBBBB;
  background-color: #FFFFFF;
  overflow-x: hidden;
  resize: none;
  padding: 8px;
}
@media only screen and (max-width: 767px) {
  .last textarea {
    max-width: 100%;
  }
}

/* エラーメッセージ */
.err {
  color: #3A3A3A;
  margin-top: 3px;
  text-align: left;
  display: none;
  visibility: hidden;
}

/* 送信ボタン */
.cf__button {
  text-align: center;
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  .cf__button {
    margin-top: 56px;
  }
}

/* チェック前ボタン */
.cf__button input[type=submit].disabled {
  display: inline-block;
  max-width: 265px;
  height: 70px;
  padding: 15px 105px;
  color: #FFFFFF;
  border: 1px solid #707070;
  background-color: #A17B41;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(1rem, 0.8483rem + 0.6472vw, 1.625rem);
  text-align: center;
  cursor: pointer;
  pointer-events: auto;
}
@media only screen and (max-width: 767px) {
  .cf__button input[type=submit].disabled {
    max-width: 197px;
    height: 60px;
    padding: 15px 80px;
    border-radius: 5px;
    line-height: 1.31;
    letter-spacing: 0.3em;
  }
}

/* チェック後のボタン */
.cf__button input[type=submit].enabled {
  display: inline-block;
  max-width: 265px;
  height: 70px;
  padding: 15px 105px;
  color: #A17B41;
  border: 1px solid #A17B41;
  background-color: #FFFFFF;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(1rem, 0.8483rem + 0.6472vw, 1.625rem);
  text-align: center;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .cf__button input[type=submit].enabled {
    border-radius: 5px;
  }
}

/* チェック前のボタン（disabled） */
/* 通常の送信ボタン */
.cf__button input[type=submit] {
  display: inline-block;
  max-width: 265px;
  height: 70px;
  padding: 15px 105px;
  color: #FFFFFF; /* 通常時の文字色 */
  background-color: #A17B41; /* 通常時の背景色 */
  border: 1px solid #A17B41;
  font-size: clamp(1rem, 0.8483rem + 0.6472vw, 1.625rem);
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .cf__button input[type=submit] {
    max-width: 197px;
    height: 60px;
    padding: 15px 80px;
    border-radius: 5px;
  }
}

/* ホバー時のスタイル */
.cf__button input[type=submit]:hover {
  background-color: #FFFFFF; /* ホバー時の背景色 */
  color: #A17B41; /* ホバー時の文字色 */
}

/* フォント指定 */
input, textarea {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}

/* ブラウザによって異なるデフォルト設定を初期化 */
input[type=submit],
input[type=button] {
  border-radius: 0px;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  background: transparent;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

/* フォント変更 */
.thanks {
  background-color: #EFF3F5;
  height: 100vh;
}
@media only screen and (max-width: 767px) {
  .thanks {
    height: 96vh;
  }
}

.thanks__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
  place-items: center;
  padding-top: 300px;
}
@media only screen and (max-width: 767px) {
  .thanks__inner {
    gap: 15px;
    padding-top: 200px;
  }
}

.thanks__title {
  text-align: center;
  max-width: 1130px;
  margin-right: auto;
  margin-left: auto;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(1.25rem, 1.1742rem + 0.3236vw, 1.5625rem);
  line-height: 1.35;
  letter-spacing: 0.08em;
}

.thanks__text {
  text-align: center;
  max-width: 1130px;
  margin-right: auto;
  margin-left: auto;
  font-size: clamp(1rem, 0.9393rem + 0.2589vw, 1.25rem);
}

.thanks__button {
  margin-top: 60px;
  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;
  max-width: 265px;
  height: 70px;
  border: 1px solid #A17B41;
  background-color: #FFFFFF;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media only screen and (max-width: 767px) {
  .thanks__button {
    margin-top: 56px;
    max-width: 197px;
    height: 60px;
    line-height: 1.31;
    letter-spacing: 0.3em;
  }
}

.thanks__link {
  display: inline-block;
  padding: 15px 50px;
  color: #A17B41;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(1rem, 0.8483rem + 0.6472vw, 1.625rem);
  text-align: center;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media only screen and (max-width: 767px) {
  .thanks__link {
    padding: 17px 25px;
    border-radius: 5px;
  }
}

/* hover時の設定 */
.thanks__button:hover {
  border: 1px solid #707070;
  background-color: #A17B41;
}

.thanks__link:hover {
  color: #FFFFFF;
}

/*======================
    footer下部に固定
=======================*/
.thanks__main {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.thanks-page {
  width: 100%;
  height: 100%;
  margin: 0;
}

.wrapper {
  min-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}/*# sourceMappingURL=home.css.map */