@charset "UTF-8";
:root {
  --inner-scale: 1;
  --vw-base: calc(1540 / var(--inner-scale));
  --inner: 980;
  --inner-1920: 1920;
  --inner-1484: 1484;
  --inner-1200: 1200;
  --fz-ratio: 1;
}
@media screen and (max-width: 999px) {
  :root {
    --vw-base: 768;
    --inner-scale: 1;
    --inner: 688;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --vw-base: 390;
    --inner-scale: 1;
    --inner: 350;
  }
}

/* リセットCSS
===================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  padding: 0;
  margin: 0;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  line-height: 1.6;
  font-weight: 500;
  background: #fff;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, button, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

li, dd {
  list-style-type: none;
}

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

caption, th, td {
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

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

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

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

a {
  text-decoration: none;
  color: inherit;
}
@media (hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}

input, select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: #fff;
}

/*------------------------------
common
------------------------------*/
body {
  color: #2F2F2F;
  font-family: "Noto Sans JP", sans-serif;
  word-break: break-all;
}
body.is-active {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow-y: scroll; /* スクロールバー補完 */
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
}

/* SP非表示 */
@media (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .tab-only {
    display: none !important;
  }
}
/* 999px以下非表示 */
@media (max-width: 999px) {
  .pc-only {
    display: none !important;
  }
}
/* 1000px以上で非表示 */
@media screen and (min-width: 1000px) {
  .tab {
    display: none !important;
  }
  .tab-only {
    display: none !important;
  }
}
/* PC非表示 */
@media (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
/* 768-999非表示 */
@media (max-width: 999px) and (min-width: 768px) {
  .tab-none {
    display: none !important;
  }
}
/* コンテンツ幅
------------------------------*/
.inner {
  width: min(var(--inner) / var(--vw-base) * 100% , var(--inner) / var(--vw-base) * 1540px);
  margin: 0 auto;
}
@media (max-width: 999px) {
  .inner {
    width: calc(var(--inner) / var(--vw-base) * 100%);
  }
}

.u-witdh-1200 {
  width: min(var(--inner-1200) / var(--vw-base) * 100% , var(--inner-1200) / var(--vw-base) * 1540px);
}
@media (max-width: 999px) {
  .u-witdh-1200 {
    width: calc(var(--inner) / var(--vw-base) * 100%);
  }
}

.u-width-800 {
  width: min( 800 * 100vw / var(--vw-base) , 800/var(--vw-base) * 1540px );
  margin: 0 auto;
}
@media (max-width: 999px) {
  .u-width-800 {
    width: 100%;
  }
}

/* タイトル
------------------------------*/
.c-section-title {
  position: relative;
}

.c-section-title__number {
  display: inline-block;
  font-size: min( (15 * 100vw / var(--vw-base)) * var(--fz-ratio) , 15/var(--vw-base) * 1540px );
  font-weight: 400;
  line-height: 1.8;
  font-family: "Questrial", sans-serif;
  color: #ACA197;
  border-bottom: 1px solid #ACA197;
  padding: 0 0.2em;
}
@media (max-width: 999px) {
  .c-section-title__number {
    font-size: min( (15 * 100vw / var(--vw-base)) * var(--fz-ratio) , 15/var(--vw-base) * 1540px );
  }
}
@media (max-width: 767px) {
  .c-section-title__number {
    font-size: min( (14 * 100vw / var(--vw-base)) * var(--fz-ratio) , 14/var(--vw-base) * 1540px );
  }
}

.c-section-title__en {
  display: block;
  font-size: min( (120 * 100vw / var(--vw-base)) * var(--fz-ratio) , 120/var(--vw-base) * 1540px );
  font-weight: 400;
  line-height: 1;
  font-family: "Questrial", sans-serif;
  color: #E50111;
  margin-top: 0.15em;
}
@media (max-width: 999px) {
  .c-section-title__en {
    font-size: min( (96 * 100vw / var(--vw-base)) * var(--fz-ratio) , 96/var(--vw-base) * 1540px );
  }
}
@media (max-width: 767px) {
  .c-section-title__en {
    font-size: min( (72 * 100vw / var(--vw-base)) * var(--fz-ratio) , 72/var(--vw-base) * 1540px );
  }
}

.c-section-title__ja {
  display: block;
  font-size: min( (20 * 100vw / var(--vw-base)) * var(--fz-ratio) , 20/var(--vw-base) * 1540px );
  font-weight: 300;
  line-height: 2.25;
  letter-spacing: 0.1em;
  color: #ACA197;
  margin-top: 0.5em;
}
@media (max-width: 999px) {
  .c-section-title__ja {
    font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
    margin-top: 0; /*  */
  }
}

/* 下層ページタイトル
------------------------------*/
.c-page-hero {
  width: 100%;
  aspect-ratio: 1920/500;
  position: relative;
}
@media (max-width: 999px) {
  .c-page-hero {
    aspect-ratio: 768/400;
  }
}
@media (max-width: 767px) {
  .c-page-hero {
    aspect-ratio: 390/240;
  }
}

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

.c-page-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  width: 100%;
}

.c-page-title__en {
  display: block;
  font-size: min( (32 * 100vw / var(--vw-base)) * var(--fz-ratio) , 32/var(--vw-base) * 1540px );
  font-weight: 400;
  font-family: "Questrial", sans-serif;
}
@media (max-width: 999px) {
  .c-page-title__en {
    font-size: min( (24 * 100vw / var(--vw-base)) * var(--fz-ratio) , 24/var(--vw-base) * 1540px );
  }
}
@media (max-width: 767px) {
  .c-page-title__en {
    font-size: min( (20 * 100vw / var(--vw-base)) * var(--fz-ratio) , 20/var(--vw-base) * 1540px );
  }
}

.c-page-title__ja {
  display: block;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
  font-weight: 400;
  margin-top: 0.5em;
}
@media (max-width: 999px) {
  .c-page-title__ja {
    font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
  }
}
@media (max-width: 767px) {
  .c-page-title__ja {
    font-size: min( (14 * 100vw / var(--vw-base)) * var(--fz-ratio) , 14/var(--vw-base) * 1540px );
  }
}

/* Indexメニュー
------------------------------*/
.c-index {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background: #FAF8F5;
  padding: min( 34 * 100vw / var(--vw-base) , 34/var(--vw-base) * 1540px ) min( 32 * 100vw / var(--vw-base) , 32/var(--vw-base) * 1540px ) min( 34 * 100vw / var(--vw-base) , 34/var(--vw-base) * 1540px );
  padding-right: min( 10 * 100vw / var(--vw-base) , 10/var(--vw-base) * 1540px );
  border-radius: min( 30 * 100vw / var(--vw-base) , 30/var(--vw-base) * 1540px ) 0 0 min( 30 * 100vw / var(--vw-base) , 30/var(--vw-base) * 1540px );
  z-index: 3000;
  width: min( 208 * 100vw / var(--vw-base) , 208/var(--vw-base) * 1540px );
  transition: all 0.3s;
  opacity: 1;
}
.c-index.act {
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 999px) {
  .c-index {
    display: none;
  }
}

.c-index__title {
  font-size: min( (14 * 100vw / var(--vw-base)) * var(--fz-ratio) , 14/var(--vw-base) * 1540px );
  font-weight: 400;
  font-family: "Questrial", sans-serif;
  color: #D1CDCA;
}

.c-index__menu {
  margin-top: min( 11 * 100vw / var(--vw-base) , 11/var(--vw-base) * 1540px );
}
.c-index__menu li:nth-child(n+2) {
  margin-top: min( 11 * 100vw / var(--vw-base) , 11/var(--vw-base) * 1540px );
}
.c-index__menu li:nth-last-child(1 of .act) a {
  color: #E50111;
}
.c-index__menu li a {
  display: inline-block;
  font-size: min( (14 * 100vw / var(--vw-base)) * var(--fz-ratio) , 14/var(--vw-base) * 1540px );
  font-weight: 400;
  font-family: "Questrial", sans-serif;
  color: #ACA197;
}

/* ボタン
------------------------------*/
.c-btn {
  display: inline-block;
  width: min( 180 * 100vw / var(--vw-base) , 180/var(--vw-base) * 1540px );
  background: #E50111;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
  font-weight: 500;
  color: #fff;
  padding: 0.625em 0;
  text-align: center;
}

.c-btn--gray {
  background: #D1CDCA;
}

.c-link {
  display: inline-block;
  font-size: min( (15 * 100vw / var(--vw-base)) * var(--fz-ratio) , 15/var(--vw-base) * 1540px );
  font-weight: 400;
  color: #ACA197;
  position: relative;
  padding-left: 4.33em;
}
.c-link::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: url(../img/) no-repeat center center/contain;
  width: 3em;
  aspect-ratio: 1/1;
}

.c-btn-arrow {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: #ACA197;
  font-family: "Questrial", sans-serif;
  font-size: min( (15 * 100vw / var(--vw-base)) * var(--fz-ratio) , 15/var(--vw-base) * 1540px );
  padding: 1em 0;
  padding-left: 4.6em;
  padding-right: 3em;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.c-btn-arrow::before {
  content: "";
  position: absolute;
  background: #ACA197;
  aspect-ratio: 17/5.2;
  transform: translate(0%, -70%);
  height: 11%;
  left: 0.9em;
  top: 50%;
  z-index: 10;
  -webkit-mask-image: url(../img/arrow.svg);
          mask-image: url(../img/arrow.svg);
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.c-btn-arrow span { /* border shadow */
  position: absolute;
  border: 1px solid #ACA197;
  border-radius: 50%;
  transform: translate(0%, -50%);
  width: 3em;
  height: 3em;
  left: 0%;
  top: 50%;
  transition: all 0.3s;
}
.c-btn-arrow p {
  position: relative;
  z-index: 10;
}
@media (hover: hover) {
  .c-btn-arrow:hover {
    opacity: 1;
  }
  .c-btn-arrow:hover span {
    width: 100%;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.0980392157);
    background: white;
    border-color: transparent;
    border-radius: 37px;
  }
}
@media screen and (max-width: 999px) {
  .c-btn-arrow {
    padding-left: 4em;
  }
}
@media (max-width: 767px) {
  .c-btn-arrow {
    padding-top: 1.4em;
    padding-bottom: 1.4em;
    padding-left: 5em;
  }
  .c-btn-arrow::before {
    left: 1.1em;
  }
  .c-btn-arrow span {
    height: 3.8em;
    width: 3.8em;
  }
}

/* テキスト色
------------------------------*/
.u-text-wh {
  color: #fff;
}

.u-text-bk {
  color: #2F2F2F;
}

.u-text-gr {
  color: #ACA197;
}

/* お知らせ一覧
------------------------------*/
.c-news-item:nth-child(n+2) {
  margin-top: calc(22 / var(--inner) * 100%);
}
.c-news-item a {
  display: flex;
  align-items: center;
}
@media (max-width: 999px) {
  .c-news-item {
    margin-top: 0;
    border-bottom: 1px solid #C7C7C7;
  }
  .c-news-item a {
    display: block;
    padding: calc(12 / var(--inner) * 100%) 0 calc(24 / var(--inner) * 100%);
  }
  .c-news-item:nth-child(n+2) {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .c-news-item a {
    padding-bottom: min( 16 * 100vw / var(--vw-base) , 16/var(--vw-base) * 1540px );
  }
}

.c-news-item__meta {
  display: flex;
  align-items: center;
  width: calc(328 / var(--inner) * 100%);
}
@media (max-width: 999px) {
  .c-news-item__meta {
    width: 100%;
  }
}

.c-news-item__date {
  font-size: min( 15 * 100vw / var(--vw-base) , 15/var(--vw-base) * 1540px );
  font-weight: 300;
  width: 8.4em;
}
@media (max-width: 767px) {
  .c-news-item__date {
    font-size: min( 16 * 100vw / var(--vw-base) , 16/var(--vw-base) * 1540px );
  }
}

.c-news-item__category {
  width: 8.3em;
  font-size: min( 14 * 100vw / var(--vw-base) , 14/var(--vw-base) * 1540px );
  font-weight: 500;
  color: #fff;
  background: #D1CDCA;
  padding: 0.4em 0;
  text-align: center;
  margin-left: 1em;
}
@media screen and (max-width: 999px) {
  .c-news-item__category {
    font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
    width: 6em;
    padding: 0.3em 0;
  }
}
@media (max-width: 767px) {
  .c-news-item__category {
    font-size: min( 16 * 100vw / var(--vw-base) , 16/var(--vw-base) * 1540px );
    margin-left: 0.3em;
  }
}

.c-news-item__title {
  width: calc(100% - (328 / var(--inner) * 100%));
  font-size: min( 15 * 100vw / var(--vw-base) , 15/var(--vw-base) * 1540px );
  font-weight: 300;
  line-height: 1.6;
  position: relative;
}
.c-news-item__title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-135%, -50%);
  background: #ACA197;
  width: min( 40 * 100vw / var(--vw-base) , 40/var(--vw-base) * 1540px );
  height: 1px;
}
@media (max-width: 999px) {
  .c-news-item__title {
    width: 100%;
    margin-top: 1em;
  }
  .c-news-item__title::before {
    display: none;
  }
}
@media (max-width: 767px) {
  .c-news-item__title {
    margin-top: 0.5em;
  }
}

/*------------------------------
CONTACT
------------------------------*/
.contact {
  position: relative;
}

.contact__header {
  padding: min( 170 * 100vw / var(--vw-base) , 170/var(--vw-base) * 1540px ) 0 min( 110 * 100vw / var(--vw-base) , 110/var(--vw-base) * 1540px );
  background: url(../img/top/contact_haikei.png) no-repeat center bottom/cover;
  position: relative;
}
@media (max-width: 999px) {
  .contact__header {
    padding: min( 202 * 100vw / var(--vw-base) , 202/var(--vw-base) * 1540px ) 0 min( 40 * 100vw / var(--vw-base) , 40/var(--vw-base) * 1540px );
    background: transparent linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5843137255) 32%, #FFFFFF 100%) 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.1019607843);
    position: relative;
    z-index: 10;
    padding-top: 23%;
  }
}
@media (max-width: 767px) {
  .contact__header {
    padding-top: 47%;
    padding-bottom: 8%;
    box-shadow: 0px 10px 4px rgba(0, 0, 0, 0.1019607843);
  }
}

.contact__title {
  position: relative;
  padding-top: 1.5em;
  text-align: center;
}
.contact__title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #ACA197;
  width: 0.75em;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
@media (max-width: 999px) {
  .contact__title {
    padding-top: 2em;
  }
  .contact__title::before {
    width: 0.5em;
  }
}
@media (max-width: 767px) {
  .contact__title {
    padding-top: 1em;
  }
}

.contact-form {
  background: #FAF8F5;
  padding: min( 85 * 100vw / var(--vw-base) , 85/var(--vw-base) * 1540px ) 0 min( 80 * 100vw / var(--vw-base) , 80/var(--vw-base) * 1540px );
  margin-top: -2.3%;
}
@media screen and (max-width: 999px) {
  .contact-form {
    margin-top: 0;
    padding: min( 65 * 100vw / var(--vw-base) , 65/var(--vw-base) * 1540px ) 0 min( 110 * 100vw / var(--vw-base) , 110/var(--vw-base) * 1540px );
  }
}
@media (max-width: 767px) {
  .contact-form {
    margin-top: calc(-20 / var(--inner) * 100%);
    padding: min( 50 * 100vw / var(--vw-base) , 50/var(--vw-base) * 1540px ) 0 min( 80 * 100vw / var(--vw-base) , 80/var(--vw-base) * 1540px );
  }
}

.contact-form__note {
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #E50111;
  text-align: center;
}
@media (max-width: 999px) {
  .contact-form__note {
    font-size: min( (18 * 100vw / var(--vw-base)) * var(--fz-ratio) , 18/var(--vw-base) * 1540px );
  }
}
@media (max-width: 767px) {
  .contact-form__note {
    font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
    line-height: 1.5625;
    letter-spacing: 0.08em;
    text-align: left;
  }
}

.contact-form__content {
  width: calc(800 / var(--inner) * 100%);
  margin: 0 auto;
}
@media (max-width: 999px) {
  .contact-form__content {
    width: 100%;
  }
}

.contact-form__items {
  margin-top: 2%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: 1px solid #ACA197;
}
.contact-form__items dt:not(:last-of-type), .contact-form__items dd:not(:last-of-type) {
  border-bottom: 1px solid #ACA197;
}
@media (max-width: 767px) {
  .contact-form__items {
    display: block;
    margin-top: calc(5 / var(--inner) * 100%);
    border-top: 1px solid #ACA197;
  }
  .contact-form__items dt, .contact-form__items dd {
    width: 100%;
  }
  .contact-form__items dt:not(:last-of-type), .contact-form__items dd:not(:last-of-type) {
    border-bottom: none;
  }
}

.contact-form__label,
.contact-form__field {
  padding: 3% 0;
}
@media screen and (max-width: 999px) {
  .contact-form__label,
.contact-form__field {
    padding: 6% 0;
  }
}

.contact-form__label {
  width: 37.5%;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
  font-weight: 500;
  padding-right: min( 24 * 100vw / var(--vw-base) , 24/var(--vw-base) * 1540px );
  display: flex;
  align-items: center;
}
@media (max-width: 999px) {
  .contact-form__label {
    width: calc(275 / var(--inner) * 100%);
    padding-right: 2%;
  }
}
@media (max-width: 767px) {
  .contact-form__label {
    padding: 0;
  }
  .contact-form__label:nth-of-type(n + 2) {
    margin-top: calc(16 / var(--inner) * 100%);
  }
}

.contact-form__label--required {
  justify-content: space-between;
}
.contact-form__label--required::after {
  display: inline-block;
  content: "必須";
  position: relative;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
  font-weight: 500;
  color: #fff;
  background: #E50111;
  letter-spacing: 0.1em;
  padding: 0.3em 0.5em;
}
@media (max-width: 767px) {
  .contact-form__label--required {
    justify-content: flex-start;
  }
  .contact-form__label--required::after {
    content: "※";
    font-size: min( (14 * 100vw / var(--vw-base)) * var(--fz-ratio) , 14/var(--vw-base) * 1540px );
    color: #E50111;
    background: unset;
  }
}

.contact-form__field {
  width: 62.5%;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
  font-weight: 500;
}
.contact-form__field input[type=text],
.contact-form__field input[type=tel],
.contact-form__field input[type=email],
.contact-form__field select,
.contact-form__field textarea {
  font: inherit;
  font-family: inherit;
  color: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  border: 1px solid #ACA197;
  background: #fff;
  padding: 0.6em;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
  font-weight: 500;
}
.contact-form__field select {
  padding: 0.9em 0.6em;
  border-radius: min( 8 * 100vw / var(--vw-base) , 8/var(--vw-base) * 1540px );
}
.contact-form__field textarea {
  resize: vertical;
  min-height: 200px;
}
.contact-form__field p {
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 999px) {
  .contact-form__field {
    width: calc(100% - (275 / var(--inner) * 100%));
  }
  .contact-form__field textarea {
    min-height: 260px;
  }
}
@media (max-width: 767px) {
  .contact-form__field {
    padding: 0;
    margin-top: calc(8 / var(--inner) * 100%);
  }
  .contact-form__field input[type=text],
.contact-form__field input[type=tel],
.contact-form__field input[type=email],
.contact-form__field select,
.contact-form__field textarea {
    padding: 0.5em 0.6em;
  }
  .contact-form__field select {
    border-radius: min( 5 * 100vw / var(--vw-base) , 5/var(--vw-base) * 1540px );
    padding: 0.6em 0.6em;
  }
}

@media (max-width: 767px) {
  .contact-form__choices {
    padding-left: 6%;
    margin-top: 4%;
    font-size: min( (15 * 100vw / var(--vw-base)) * var(--fz-ratio) , 15/var(--vw-base) * 1540px );
  }
}

.contact-form__select {
  width: 76.8%;
  position: relative;
}
.contact-form__select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  background: #ACA197;
  width: 0.75em;
  aspect-ratio: 12/7;
  -webkit-mask-image: url(../img/yajirushi.svg);
          mask-image: url(../img/yajirushi.svg);
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media screen and (max-width: 999px) {
  .contact-form__select {
    width: 100%;
  }
}

.contact-form__checkbox-custom {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: flex;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.contact-form__checkbox-custom:has(input[type=checkbox]:checked) .contact-form__checkbox::after {
  display: block;
}
.contact-form__checkbox-custom:nth-child(n+2) {
  margin-top: 4.8%;
}
.contact-form__checkbox-custom input[type=checkbox] {
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  width: 0;
  height: 0;
}
@media screen and (max-width: 999px) {
  .contact-form__checkbox-custom:nth-child(n+2) {
    margin-top: 5.8%;
  }
}
@media (max-width: 767px) {
  .contact-form__checkbox-custom:nth-child(n+2) {
    margin-top: 4.8%;
  }
}

.contact-form__checkbox {
  display: inline-block;
  width: 1.68em;
  height: 1.68em;
  border: 1px solid #ACA197;
  position: relative;
  margin-right: 0.75em;
  border-radius: 5px;
  background: #fff;
}
.contact-form__checkbox::after {
  content: "";
  position: absolute;
  display: block;
  background: url(../img/icon_check.svg) no-repeat center center/100%;
  aspect-ratio: 1/1;
  transform: translate(-50%, -50%);
  width: 76%;
  left: 50%;
  top: 50%;
  transition: background-color 0.3s, border-color 0.3s;
  display: none;
}
@media (max-width: 767px) {
  .contact-form__checkbox {
    width: 1.4em;
    height: 1.4em;
    margin-right: 0.5em;
  }
  .contact-form__checkbox::after {
    width: 1em;
  }
}

.contact-form__privacy {
  margin-top: 0%;
}
@media (max-width: 767px) {
  .contact-form__privacy {
    margin-top: 3%;
  }
}

.contact-form__privacy-text {
  border: 1px solid #ACA197;
  padding: 3.75% 5% 3.75% 3%;
  background: #fff;
  font-size: min( (15 * 100vw / var(--vw-base)) * var(--fz-ratio) , 15/var(--vw-base) * 1540px );
  font-weight: 500;
  line-height: 1.6;
  height: min( 180 * 100vw / var(--vw-base) , 180/var(--vw-base) * 1540px );
  overflow: scroll;
  overflow-x: hidden;
}
@media (max-width: 767px) {
  .contact-form__privacy-text {
    padding: 3.75% 5%;
  }
}

.contact-form__privacy-field {
  margin-top: calc(16 / var(--inner) * 100%);
}
.contact-form__privacy-field label {
  justify-content: center;
}

.contact-form__submit {
  text-align: center;
  margin-top: 5%;
}
@media (max-width: 767px) {
  .contact-form__submit {
    margin-top: 12%;
  }
}

.contact-form__buttons {
  margin-top: min( 60 * 100vw / var(--vw-base) , 60/var(--vw-base) * 1540px );
  display: flex;
  justify-content: center;
}
.contact-form__buttons button:nth-child(2) {
  margin-left: min( 16 * 100vw / var(--vw-base) , 16/var(--vw-base) * 1540px );
}
@media screen and (max-width: 999px) {
  .contact-form__buttons {
    margin-top: min( 50 * 100vw / var(--vw-base) , 50/var(--vw-base) * 1540px );
  }
}
@media (max-width: 767px) {
  .contact-form__buttons {
    flex-direction: column-reverse;
    align-items: center;
    margin-top: 5%;
    gap: min( 16 * 100vw / var(--vw-base) , 16/var(--vw-base) * 1540px ) 0;
  }
  .contact-form__buttons button:nth-child(2) {
    margin-top: 0;
    margin-left: 0;
  }
}

.contact-form__button {
  cursor: pointer;
  position: relative;
  padding: 0.9em 0;
}
.contact-form__button input {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
@media screen and (max-width: 999px) {
  .contact-form__button {
    font-size: min( (20 * 100vw / var(--vw-base)) * var(--fz-ratio) , 20/var(--vw-base) * 1540px );
    padding: 0.7em 0;
  }
}
@media (max-width: 767px) {
  .contact-form__button {
    font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
    padding: 1em 0;
    width: 14em;
  }
}

.contact-item-noborder[class][class] {
  border: none;
}
@media screen and (max-width: 999px) {
  .contact-item-noborder[class][class] {
    padding-bottom: 2%;
  }
}

.contact-item-nopt[class][class] {
  padding-top: 0;
}

.invalid-caution { /* バリデーションエラーメッセージ */
  width: 100%;
  color: #C1262D;
  font-size: 1.6rem;
}

p:nth-child(n+2 of .invalid-caution) {
  display: none;
}

.bt_acc {
  pointer-events: none;
  opacity: 0.5;
}
.bt_acc.act {
  pointer-events: auto;
  opacity: 1;
}

[data-form-mode=con] .is-in {
  display: none !important;
}
[data-form-mode=con] .is-con-po {
  pointer-events: none !important;
}
[data-form-mode=con] input:not([type=submit]), [data-form-mode=con] textarea, [data-form-mode=con] select, [data-form-mode=con] label {
  pointer-events: none !important;
}

[data-form-mode=in] .is-con {
  display: none !important;
}

.form-hidden {
  display: none;
}

/*------------------------------
入力内容のご確認
------------------------------*/
.confirm {
  padding: min( 220 * 100vw / var(--vw-base) , 220/var(--vw-base) * 1540px ) 0 min( 240 * 100vw / var(--vw-base) , 240/var(--vw-base) * 1540px );
}
@media screen and (max-width: 999px) {
  .confirm {
    padding: min( 155 * 100vw / var(--vw-base) , 155/var(--vw-base) * 1540px ) 0 min( 240 * 100vw / var(--vw-base) , 240/var(--vw-base) * 1540px );
  }
}
@media (max-width: 767px) {
  .confirm {
    padding: min( 50 * 100vw / var(--vw-base) , 50/var(--vw-base) * 1540px ) 0 min( 240 * 100vw / var(--vw-base) , 240/var(--vw-base) * 1540px );
  }
}

.confirm__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: min( (20 * 100vw / var(--vw-base)) * var(--fz-ratio) , 20/var(--vw-base) * 1540px );
  font-weight: 500;
  padding-bottom: 0.4em;
  border-bottom: 1px solid #ACA197;
}
@media screen and (max-width: 999px) {
  .confirm__title {
    padding-bottom: 0.9em;
  }
}

.confirm__message {
  margin-top: calc(40 / var(--inner) * 100%);
  font-size: min( (15 * 100vw / var(--vw-base)) * var(--fz-ratio) , 15/var(--vw-base) * 1540px );
  font-weight: 300;
  line-height: 2;
  text-align: center;
}
@media (max-width: 999px) {
  .confirm__message {
    font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
    line-height: 1.6;
  }
}
@media (max-width: 767px) {
  .confirm__message {
    margin-top: 0.7em;
  }
}

.confirm__content {
  margin-top: min( 110 * 100vw / var(--vw-base) , 110/var(--vw-base) * 1540px );
}
.confirm__content .contact-form__label {
  width: 42%;
}
.confirm__content .contact-form__field {
  width: 58%;
}
.confirm__content select {
  pointer-events: none;
}
.confirm__content .contact-form__select::after {
  display: none;
}
@media (max-width: 999px) {
  .confirm__content {
    margin-top: calc(40 / var(--inner) * 100%);
  }
  .confirm__content .contact-form__label,
.confirm__content .contact-form__field {
    padding: 4.7% 0;
  }
  .confirm__content .contact-form__label {
    width: 42%;
    padding-right: 1%;
  }
  .confirm__content .contact-form__field {
    width: 58%;
    padding-left: 5%;
  }
}
@media (max-width: 767px) {
  .confirm__content {
    margin-top: 4%;
  }
  .confirm__content .contact-form__label {
    padding-top: calc(8 / var(--inner) * 100%);
    padding-bottom: 0;
    width: 100%;
  }
  .confirm__content .contact-form__label:nth-child(n+2) {
    margin-top: 0;
  }
  .confirm__content .contact-form__field {
    width: 100%;
    padding-bottom: 1.2em;
    padding-left: calc(20 / var(--inner) * 100%);
    padding-top: 0;
    margin-top: 0.7em;
    border-bottom: 1px solid #ACA197 !important;
  }
  .confirm__content .contact-form__field:has(select) {
    padding-left: 0;
    border: none !important;
  }
  .confirm__content .contact-form__note {
    margin-top: 2em;
  }
}

/*------------------------------
サンクスページ
------------------------------*/
.thanks {
  padding: min( 215 * 100vw / var(--vw-base) , 215/var(--vw-base) * 1540px ) 0 min( 240 * 100vw / var(--vw-base) , 240/var(--vw-base) * 1540px );
}
@media screen and (max-width: 999px) {
  .thanks {
    padding: min( 170 * 100vw / var(--vw-base) , 170/var(--vw-base) * 1540px ) 0 min( 240 * 100vw / var(--vw-base) , 240/var(--vw-base) * 1540px );
  }
}
@media (max-width: 767px) {
  .thanks {
    padding: min( 80 * 100vw / var(--vw-base) , 80/var(--vw-base) * 1540px ) 0 min( 240 * 100vw / var(--vw-base) , 240/var(--vw-base) * 1540px );
  }
}

.thanks__content {
  background: #FAF8F5;
  padding: 3% 0;
  text-align: center;
  width: 82%;
  margin: 0 auto;
}
@media screen and (max-width: 999px) {
  .thanks__content {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .thanks__content {
    padding: 6% 0;
  }
}

.thanks__heading {
  font-size: min( (20 * 100vw / var(--vw-base)) * var(--fz-ratio) , 20/var(--vw-base) * 1540px );
  font-weight: 500;
  line-height: 2.5;
}
@media (max-width: 767px) {
  .thanks__heading {
    line-height: 1.6;
  }
}

.thanks__message {
  font-size: min( (15 * 100vw / var(--vw-base)) * var(--fz-ratio) , 15/var(--vw-base) * 1540px );
  font-weight: 300;
  line-height: 2;
  margin-top: 1em;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .thanks__message {
    line-height: 1.6;
    margin-top: 1.8em;
  }
}

.thanks__button {
  margin-top: calc(85 / var(--inner) * 100%);
  text-align: center;
}
.thanks__button a {
  padding: 1em 0;
}
@media screen and (max-width: 999px) {
  .thanks__button {
    margin-top: min( 45 * 100vw / var(--vw-base) , 45/var(--vw-base) * 1540px );
  }
  .thanks__button a {
    font-size: min( (20 * 100vw / var(--vw-base)) * var(--fz-ratio) , 20/var(--vw-base) * 1540px );
    padding: 0.7em 1em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media (max-width: 767px) {
  .thanks__button {
    margin-top: 10%;
  }
  .thanks__button a {
    font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1540px );
    padding: 1em 2.5em;
  }
}

/*------------------------------
slide infinite
------------------------------*/
.scrollCon-1 {
  visibility: hidden;
  overflow: hidden;
  position: relative;
  aspect-ratio: 390/96; /* 表示領域 */
  margin-left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  margin-top: 2%;
}
.scrollCon-1 .scrollItem {
  display: flex;
  max-width: unset;
  position: absolute;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
}
.scrollCon-1 .scroll-c {
  max-width: unset;
  flex-shrink: 0;
  height: 100%;
  width: auto;
  padding: 0;
  aspect-ratio: 420/192; /* アイテムのサイズ */
}

.scrollCon-2 {
  visibility: hidden;
  overflow: hidden;
  position: relative;
  aspect-ratio: 1920/350;
  margin-left: 50%;
  transform: translateX(-50%);
  width: 100%;
  margin-top: 2%;
}
.scrollCon-2 .scrollItem {
  display: flex;
  max-width: unset;
  position: absolute;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
}
.scrollCon-2 .scroll-c {
  max-width: unset;
  flex-shrink: 0;
  height: 100%;
  width: auto;
  padding: 0;
}
.scrollCon-2 .catch {
  z-index: 1000;
  position: absolute;
  top: 0%;
  left: 30.8%;
  transform: translate(-50%, 0%);
  height: 63%;
  width: auto;
}
@media screen and (max-width: 999px) {
  .scrollCon-2 {
    aspect-ratio: 768/400;
  }
}
@media (max-width: 767px) {
  .scrollCon-2 {
    aspect-ratio: 390/159;
  }
  .scrollCon-2 .catch {
    display: none;
  }
}

.mission__loop-slider--1 .scroll-c {
  aspect-ratio: 4900/700;
}
@media (max-width: 767px) {
  .mission__loop-slider--1 .scroll-c {
    aspect-ratio: 3192/318;
  }
}

.mission__loop-slider--2 .scroll-c {
  aspect-ratio: 7700/700;
}
@media (max-width: 767px) {
  .mission__loop-slider--2 .scroll-c {
    aspect-ratio: 5016/318;
  }
}

.mission__loop-slider--3 .scroll-c {
  aspect-ratio: 4200/700;
}
@media (max-width: 767px) {
  .mission__loop-slider--3 .scroll-c {
    aspect-ratio: 2736/318;
  }
}

.vertical .scrollItem { /* no edit */
  flex-direction: column;
} /* 縦並び用 */
/*------------------------------
404
------------------------------*/
.error-page {
  padding: 10% 0 24.4%;
  text-align: center;
}
.error-page h2 {
  font-size: 6rem;
  font-weight: bold;
}
.error-page p {
  padding-top: 5%;
  font-size: 2rem;
}
@media (max-width: 767px) {
  .error-page h2 {
    font-size: 4rem;
  }
  .error-page p {
    font-size: 1.6rem;
  }
}

:where(.c-dec1) {
  position: relative;
}
:where(.c-dec1)::after {
  content: "";
  position: absolute;
  background: url(../img/top/business2.png) no-repeat center center/100%;
  aspect-ratio: 2654/2860;
  transform: translate(-30%, -50%);
  width: 70%;
  max-width: 1344px;
  left: 50%;
  top: min( 1135 * 100vw / var(--vw-base) , 1135/var(--vw-base) * 1540px );
  mix-blend-mode: multiply;
  pointer-events: none;
}
:where(.c-dec1) > * {
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 999px) {
  :where(.c-dec1)::after {
    transform: translate(0%, -50%);
    max-width: unset;
    left: unset;
    right: 0;
    width: 96%;
    top: 151vw;
    aspect-ratio: 650/885;
    background-position: left top;
    background-size: cover;
  }
}
@media (max-width: 767px) {
  :where(.c-dec1)::after {
    width: 135%;
    top: 351vw;
    aspect-ratio: 510/885;
    mix-blend-mode: unset;
  }
}

@media screen and (min-width: 1000px) {
  :where(.c-dec1).c-dec1-t2::after {
    top: unset;
    bottom: 0;
    transform: translate(-30%, 30%);
  }
}

:where(.c-dec1).c-dec1-t3::after {
  top: unset;
  bottom: 0;
  transform: translate(-30%, 30%);
}
@media screen and (max-width: 999px) {
  :where(.c-dec1).c-dec1-t3::after {
    transform: translate(0%, 30%);
  }
}

.body[class][class] .u-ml-auto {
  margin-left: auto;
}
.body[class][class] .u-txcolor-red {
  color: #E50111;
}
@media screen and (max-width: 999px) {
  .body[class][class] .u-ml-unset-tab {
    margin-left: unset;
  }
  .body[class][class] .u-pr0-tab {
    padding-right: 0;
  }
}
@media (max-width: 767px) {
  .body[class][class] .u-border-no-sp {
    border: none !important;
  }
}
/*# sourceMappingURL=common.css.map */