@charset "UTF-8";
#page-main {
  overflow: hidden;
}

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}

html {
  font-size: 10px;
  scroll-behavior: smooth;
}

ul,
ol,
li {
  list-style: none;
}

a {
  text-decoration: none;
}

button {
  margin: 0px;
  padding: 0px;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

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

@media screen and (max-width: 900px) {
  .tb-sp {
    display: block;
  }
}
.mfp-close-btn-in .mfp-close {
  color: #fff !important;
  font-size: 4rem;
  opacity: 1 !important;
}

body .mfp-arrow-right:before,
body .mfp-arrow-right:after,
body .mfp-arrow-left:before,
body .mfp-arrow-left:after {
  border: none !important;
  margin: 0;
}

body .mfp-arrow-right:after,
body .mfp-arrow-left:after {
  content: "";
  background: url(./img/slide-arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 40px;
  height: 40px;
  display: block;
  opacity: 1;
  transition: 0.4s;
}

body .mfp-arrow-left:after {
  left: 2vw;
}

body .mfp-arrow-right:after {
  transform: rotate(180deg);
  right: 2vw;
  left: unset;
}

body button.mfp-close,
body button.mfp-arrow {
  width: 40px;
  height: auto;
}

.slick-slide a {
  position: relative;
}
.slick-slide .zoom-icon {
  width: 60px;
  height: 60px;
  background: url(./img/zoom_icon.png);
  background-size: contain;
  background-position: center center;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 640px) {
  .slick-slide .zoom-icon {
    width: 32px;
    height: 32px;
  }
}

body {
  width: 100%;
  height: 100vh;
  color: #3A3A3A;
  position: relative;
  font-family: "Sawarabi Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
body * {
  font-family: "Sawarabi Mincho", serif;
  font-weight: 400;
  font-style: normal;
  color: #3A3A3A;
}
body::after {
  content: "";
  display: block;
  width: 100%;
  height: 100vh;
  background: url(./img/body_bg.jpg);
  background-size: cover;
  background-position: center;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
}

.body__container {
  position: relative;
  max-width: 1160px;
  height: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 1240px) {
  .body__container {
    width: 96%;
  }
}
@media screen and (max-width: 640px) {
  .body__container {
    width: 100%;
  }
}
.header {
  position: fixed;
  width: 432px;
  top: 0;
  padding: 97px 0;
}

@media screen and (max-width: 1024px) {
  .header {
    width: 380px;
  }
}
@media screen and (max-width: 900px) {
  .header {
    display: none;
  }
}
.header__container {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

@media screen and (max-width: 1024px) {
  .header__container {
    padding: 0 2%;
  }
}
@media screen and (max-width: 640px) {
  .header__container {
    padding: 0 4%;
  }
}
.header__logo {
  margin: 0 auto 56px auto;
  max-width: 360px;
  position: relative;
}
.header__logo img {
  width: 100%;
  max-width: 274px;
  display: block;
}

.header__nav {
  letter-spacing: 0.08em;
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 64px;
}
.header__nav li {
  position: relative;
  width: 50%;
}
.header__nav li.is-current a {
  color: #F5D667;
}
.header__nav li a {
  font-size: 1.4rem;
  display: block;
  width: 100%;
  height: auto;
  padding: 8px 4px;
  color: #fff;
}
.header__nav li a span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: 0.4s;
}
.header__nav li a span svg {
  display: block;
  width: 11px;
  height: auto;
  transition: 0.4s;
}
.header__nav li a span svg path {
  fill: #6D8361;
  transition: 0.4s;
}
.header__nav li:hover a {
  color: #F5D667;
  transition: 0.4s;
}
.header__nav li:hover a svg path {
  fill: #ffffff;
  transition: 0.4s;
}

@media screen and (max-width: 1024px) {
  .header__nav li a {
    padding: 14px 6px;
  }
}
.header__content--btn {
  width: 400px;
  margin: 0 auto;
  position: relative;
  text-align: center;
  border-radius: 100px;
  font-size: 2rem;
  transition: 0.4s;
  border: 1px solid #472508;
  bottom: 10%;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
}
.header__content--btn:hover {
  font-size: 1.6rem;
}
.header__content--btn a {
  width: 100%;
  display: block;
  font-size: 1.6rem;
}

@media screen and (max-width: 640px) {
  .header__content--btn {
    width: 100%;
    border: none;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateX(0);
  }
}
@media screen and (max-width: 640px) {
  .header__content--btn a img {
    width: 100%;
  }
}
.header__cta {
  background-color: rgba(255, 255, 255, 0.3);
  padding: 24px 0 0 0;
  position: relative;
  border: solid 1px #fff;
}

.header__cta::before, .header__cta::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background: url(./img/header__cta_deco.png);
  position: absolute;
  background-size: contain;
}
.header__cta::before {
  top: 0px;
  left: 0px;
}
.header__cta::after {
  bottom: 0px;
  right: 0px;
  transform: rotate(180deg);
}

.header__cta__header {
  width: 100%;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  padding: 10px;
  position: relative;
}

.header__cta__content {
  padding: 32px;
}

@media screen and (max-width: 640px) {
  .header__cta__content {
    padding: 24px;
  }
}
.header__cta__content--img {
  display: block;
  padding-bottom: 32px;
  width: 100%;
}
.header__cta__content--img img {
  width: 100%;
  display: block;
}

.header__cta__content__txt {
  padding-bottom: 32px;
  font-size: 1.4rem;
  line-height: 1.75;
}

@media screen and (max-width: 1024px) {
  .header__cta__content__txt {
    padding-bottom: 4%;
  }
}
.header__cta__content--btn a {
  width: 100%;
  max-width: 370px;
  margin: 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.4s;
}
.header__cta__content--btn:hover a {
  opacity: 0.6;
  transition: 0.4s;
}

@media screen and (max-width: 640px) {
  .header__cta__content--btn a {
    padding: 14px 20px;
  }
}
.article {
  background: #FFF;
  box-shadow: 0px 0px 20px 0px rgba(164, 139, 119, 0.15);
  width: 480px;
  max-width: 640px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 4;
  overflow: hidden;
}
.article.active .article__nav-sp {
  display: block;
  position: fixed;
  transition: 1s;
  background: #242D1F;
}
.article.active .article__logo-txt {
  display: block;
}

@media screen and (max-width: 900px) {
  .article {
    margin: 0 auto;
    position: relative;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .article {
    width: 100%;
  }
}
.article__header {
  width: 100%;
  position: relative;
  z-index: 999;
  position: fixed;
  top: 0;
}

.article__container {
  padding: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: 0.4s;
  display: none;
}

@media screen and (max-width: 900px) {
	.is-scrolled .article__container{
background: rgba(255, 255, 255, 0.20);
backdrop-filter: blur(2px);
	}
  .article__container {
    display: block;
    width: 640px;
    display: flex;
    position: relative;
  }
}
@media screen and (max-width: 640px) {
  .article__container {
    padding: 20px;
    width: 100%;
  }
}
.article__logo-sp {
  display: none;
  width: 164px;
  position: relative;
  z-index: 99;
}
.article__logo-sp img {
  width: 100%;
  display: block;
}
.article__logo-sp img.no-scrolled {
  display: block;
}
.article__logo-sp img.is-scrolled {
  display: none;
}

.is-scrolled .article__logo-sp img.no-scrolled {
  display: none;
}
.is-scrolled .article__logo-sp img.is-scrolled {
  display: block;
}
.is-scrolled .ham-menu__wrapper span {
  background: #3A3A3A !important;
  color: #3A3A3A !important;
}

@media screen and (max-width: 900px) {
  .article__logo-sp {
    display: block;
  }
}
.article .tel-btn__sp {
  position: absolute;
  right: 86px;
  top: 30px;
  z-index: 3;
}
.article .tel-btn__sp img {
  display: block;
  width: 48px;
  height: 48px;
}

@media screen and (max-width: 640px) {
  .article .tel-btn__sp {
    top: 20px;
  }
}
.article__nav-sp {
  z-index: 1;
  height: 100vh;
  width: 100%;
  line-height: 3;
  overflow-y: auto;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
  color: #F9F8F3;
  display: none;
  transition: 1s;
  overflow: hidden;
  background: #fff;
  padding: 24vh 20px 20px 20px;
  z-index: 999;
}
.article__nav-sp::after {
  content: "";
  display: block;
  width: 100%;
  height: 40vh;
  background: url(./img/sp-menu_deco.png);
  background-size: cover;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.article__nav-sp .header__nav {
  display: block;
}
.article__nav-sp .header__nav li a {
  padding: 0px 10px 20px 10px;
  line-height: 1;
  font-size: 1.4rem;
  font-size: 1.6rem;
  text-align: center;
}
.article__nav-sp ul {
  width: 100%;
  height: 100%;
  text-align: center;
}
.article__nav-sp ul > li {
  width: 100%;
}
.article__nav-sp ul .header__nav__item-logo {
  margin: 0 auto 56px auto;
  max-width: 252px;
}

.article__nav-sp__item {
  position: relative;
}
.article__nav-sp__item:hover a::after {
  display: block;
}
.article__nav-sp__item a {
  font-size: 2rem;
  letter-spacing: 0.04em;
}

.article__nav-bg {
  width: 600px;
  margin: 0 auto;
  margin-top: 24px;
}
.article__nav-bg img {
  width: 100%;
  display: block;
}

@media screen and (max-width: 640px) {
  .article__nav-bg {
    width: 100%;
    margin-top: 10%;
    padding: 0 4%;
  }
}
.article .ham-menu {
  cursor: pointer;
  width: 48px;
  height: 48px;
  position: relative;
  z-index: 999;
  display: none;
  transform: translateY(-10px);
}
.article .ham-menu.active span {
  background: #fff !important;
}
.article .ham-menu.active span:nth-child(1) {
  transform: rotate(-40deg);
  top: 50%;
}
.article .ham-menu.active span:nth-child(2) {
  display: none;
}
.article .ham-menu.active span:nth-child(3) {
  transform: rotate(40deg);
  top: 50%;
}
.article .ham-menu .hum-text {
  position: absolute;
  bottom: 4px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  pointer-events: none;
}
.article .ham-menu .hum-text span {
  position: unset;
  height: auto !important;
  width: 100% !important;
  transform: unset !important;
  background: unset !important;
  color: #fff;
  position: absolute;
  left: 0;
  right: 0;
  top: 0px;
  margin: auto;
  font-size: 1.2rem;
}
.article .ham-menu .hum-text span.close {
  display: none !important;
}
.article .ham-menu.active .hum-text span.open {
  display: none !important;
}
.article .ham-menu.active .hum-text span.close {
  display: block !important;
  color: #fff !important;
}
.article .ham-menu__wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.article .ham-menu__wrapper span {
  display: inline-block;
  position: absolute;
  height: 1px;
  width: 100%;
  background: #fff;
}
.article .ham-menu__wrapper span:nth-child(1) {
  width: 46px;
  top: 38%;
  height: 1px;
}
.article .ham-menu__wrapper span:nth-child(2) {
  width: 46px;
  top: 50%;
  height: 1px;
}
.article .ham-menu__wrapper span:nth-child(3) {
  width: 46px;
  top: 62%;
  height: 1px;
}
.article .ham-menu__txt {
  top: 60%;
  position: absolute;
  color: #216724;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.16em;
  text-align: center;
}
.article .ham-menu__txt .close {
  display: none;
}

@media screen and (max-width: 900px) {
  .article .ham-menu {
    display: block;
  }
}
.fv {
  position: relative;
  width: 100%;
  color: #F9F8F3;
}
.fv::after {
  content: "";
  display: block;
  width: 100%;
  height: 220px;
  background: linear-gradient(0deg, #FFF 0%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.fv__slider {
  width: 100%;
  opacity: 0;
  position: relative;
  z-index: 1;
  padding: 0;
}
.fv__slider.slick-initialized {
  opacity: 1;
}
.fv__slider.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.fv__slider .slick-dots {
  bottom: unset;
  top: 40px;
  right: -16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 8px;
  height: 28px;
}
.fv__slider .slick-dots li {
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}
.fv__slider .slick-dots li button {
  display: block;
  background: #D7CDB4;
  width: 4px;
  height: 4px;
  padding: 0;
  margin: 0 auto;
}
.fv__slider .slick-dots li button::before {
  display: none;
}
.fv__slider .slick-dots li.slick-active button {
  width: 8px;
  height: 8px;
  background: #6D8361;
}

@media screen and (max-width: 1240px) {
  .fv__slider .slick-dots {
    right: 24px;
    bottom: 32px;
    top: unset;
  }
}
.fv__slider--cnt {
  width: 100%;
}
.fv__slider--cnt img {
  color: #F9F8F3;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.fv__slider--cnt img.img-pc {
  display: block;
}
.fv__slider--cnt img.img-sp {
  display: none;
}

@media screen and (max-width: 640px) {
  .fv__slider--cnt img.img-pc {
    display: none;
  }
  .fv__slider--cnt img.img-sp {
    display: block;
  }
}
.fv__title {
  max-width: 386px;
  position: absolute;
  top: 172px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 5;
}
.fv__title span {
  display: block;
  color: #fff;
}

@media screen and (max-width: 900px) {
  .fv__title {
    top: 186px;
  }
}
@media screen and (max-width: 640px) {
  .fv__title {
    left: 20px;
    top: 160px;
  }
}
.fv__title-sub01 {
  font-size: 2rem;
  line-height: 2em;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 640px) {
  .fv__title-sub01 {
    font-size: 1.8rem;
  }
}

.fv__title-sub02 {
  font-size: 4rem;
  line-height: 1.6em;
  letter-spacing: 0.04em;
  margin-bottom: 22px;
}
@media screen and (max-width: 640px) {
  .fv__title-sub02 {
    font-size: 3.2rem;
  }
}

.fv__title-sub03 {
  font-size: 1.4rem;
  line-height: 1.7rem;
  letter-spacing: 0.08em;
  margin-bottom: 44px;
  font-family: "Cormorant", serif;
}
@media screen and (max-width: 640px) {
  .fv__title-sub03 {
    font-size: 1.2rem;
  }
}

.fv__title-sub04 {
  font-size: 2rem;
  line-height: 2em;
  letter-spacing: 0.08em;
  border: solid 1px #fff;
  position: relative;
  padding: 0 24px;
  display: inline-block !important;
}
@media screen and (max-width: 640px) {
  .fv__title-sub04 {
    font-size: 1.6rem;
  }
}
.fv__title-sub04::before, .fv__title-sub04::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background: url(./img/header__cta_deco.png);
  position: absolute;
  background-size: contain;
}
.fv__title-sub04::before {
  top: 0px;
  left: 0px;
}
.fv__title-sub04::after {
  bottom: 0px;
  right: 0px;
  transform: rotate(180deg);
}

.fv__float-sp {
  display: none;
  z-index: 1000;
  position: fixed;
  bottom: 0;
  width: 100%;
}

@media screen and (max-width: 640px) {
  .fv__float-sp {
    display: block;
  }
}
.fv__float-sp__box {
  display: flex;
  justify-content: space-between;
  gap: 2%;
  align-items: flex-end;
  position: absolute;
  bottom: -5px;
  width: 100%;
}

.fv__float-sp__box__cta01 {
  width: 100%;
  position: relative;
}
.fv__float-sp__box__cta01 img {
  width: 100%;
  display: block;
}

.fv__float-sp__box__cancel {
  cursor: pointer;
  width: 32px;
  height: 32px;
  position: absolute;
  right: 10px;
  top: -13px;
}
.fv__float-sp__box__cancel img {
  width: 100%;
  display: block;
}

.concept {
  padding-top: 40px;
  position: relative;
}

.concept__container {
  width: 100%;
  padding: 0 40px 100px 40px;
  margin: 0 auto;
  position: relative;
}
.concept__container::after {
  content: "";
  display: block;
  width: 100%;
  height: 375px;
  background: url(./img/concept_deco.png);
  background-size: cover;
  background-position: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: -1;
}

@media screen and (max-width: 640px) {
  .concept__container {
    padding: 0 20px 40px 20px;
  }
}
.concept__txt {
  font-size: 1.4rem;
  letter-spacing: 0.01em;
  line-height: 2.28em;
}

.concept__img {
  width: 100%;
}
.concept__img img {
  display: block;
  width: 100%;
}

.section__title {
  margin-bottom: 24px;
}
@media screen and (max-width: 640px) {
  .section__title {
    margin-bottom: 3%;
  }
}
.section__title span {
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1em;
  font-weight: 300;
  font-family: "Cormorant", serif;
  color: #6D8361;
}

.section__subtitle {
  font-size: 2.4rem;
  letter-spacing: 0.01em;
  line-height: 1.7em;
  margin-bottom: 24px;
}
@media screen and (max-width: 640px) {
  .section__subtitle {
    font-size: 2rem;
  }
}

.cta {
  padding: 40px 24px;
  background: #242D1F;
}
@media screen and (max-width: 640px) {
  .cta {
    padding: 20px;
  }
}
.cta .header__cta__header {
  padding: 4px 0;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  line-height: 1.7em;
  border-top: solid 1px #fff;
  border-bottom: solid 1px #fff;
  color: #fff;
}
.cta .header__cta__content {
  padding: 0;
}
.cta .header__cta__content--img {
  position: relative;
  padding: 40px 28px;
}
@media screen and (max-width: 640px) {
  .cta .header__cta__content--img {
    padding: 4% 20px;
  }
}

.cta-privacy {
  height: 148px;
  overflow-y: scroll;
  padding: 14px 26px 16px 16px;
  background: #DDEADD;
  margin-top: 32px;
}
@media screen and (max-width: 640px) {
  .cta-privacy {
    margin-top: 4%;
  }
}
.cta-privacy p {
  font-size: 1.4rem;
  line-height: 1.7em;
}

.modelhouse {
  position: relative;
  padding-top: 80px;
}

@media screen and (max-width: 640px) {
  .modelhouse {
    padding-top: 40px;
  }
}
.modelhouse__container {
  width: 100%;
  padding: 0 40px;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 640px) {
  .modelhouse__container {
    padding: 0 20px;
  }
}
.modelhouse__txt {
  font-size: 1.4rem;
  letter-spacing: 0.01em;
  line-height: 2.28em;
}

.modelhouse__pins {
  position: relative;
  margin-top: 56px;
}
@media screen and (max-width: 640px) {
  .modelhouse__pins {
    margin-top: 6%;
  }
}
.modelhouse__pins figure {
  display: block;
  width: 100%;
  height: auto;
}
.modelhouse__pins figure img {
  width: 100%;
  height: auto;
}
.modelhouse__pins .modelhouse__btn {
  width: calc((108/4.8)*1%);
  height: calc((154/4.8)*1%);
  position: absolute;
  left: 0;
  top: 0;
  background: unset !important;
  padding: 0;
  animation: moveUpDown 1.5s infinite;
}
@media screen and (max-width: 640px) {
  .modelhouse__pins .modelhouse__btn {
    height: auto;
  }
}
.modelhouse__pins .modelhouse__btn:nth-of-type(1) {
  left: calc((72/4.8)*1%);
  top: calc((149/4.8)*1%);
}
@media screen and (max-width: 900px) {
  .modelhouse__pins .modelhouse__btn:nth-of-type(1) {
  }
}
@media screen and (max-width: 640px) {
  .modelhouse__pins .modelhouse__btn:nth-of-type(1) {
  }
}
.modelhouse__pins .modelhouse__btn:nth-of-type(2) {
  left: unset;
  right: calc((209/4.8)*1%);
  top: calc((26/4.8)*-1%);
}
@media screen and (max-width: 900px) {
  .modelhouse__pins .modelhouse__btn:nth-of-type(2) {
  }
}
@media screen and (max-width: 640px) {
  .modelhouse__pins .modelhouse__btn:nth-of-type(2) {
  }
}
.modelhouse__pins .modelhouse__tap {
  position: absolute;
  right: calc((8/4.8)*1%);
  top: calc((42/4.8)*1%);
  width: calc((225/4.8)*1%);
  height: calc((225/4.8)*1%);
  pointer-events: none;
}
@media screen and (max-width: 640px) {
  .modelhouse__pins .modelhouse__tap {
    width: calc((225/4.8)*1%);
    height: calc((225/4.8)*1%);
  }
}

@keyframes moveUpDown {
  0% {
    transform: translateY(0);
    /* 初期位置 */
  }
  50% {
    transform: translateY(-10px);
    /* 上に移動 */
  }
  100% {
    transform: translateY(0);
    /* 元の位置に戻る */
  }
}
#modelhouse-items-anchor {
  margin-top: -100px;
  padding-top: 100px;
}

.modelhouse__box {
  color: #fff;
  width: 100%;
}

.modelhouse__header {
  display: flex;
  justify-content: space-between;
  color: #F9F8F3;
  cursor: pointer;
}

.modelhouse__btn {
  width: 50%;
  position: relative;
  background: #6D8361;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modelhouse__btn02 {
  background: #B9AB7A;
}
.modelhouse__btn small {
  display: block;
  border-bottom: solid 1px #fff;
  opacity: 0.5;
}
.modelhouse__btn--txt {
  width: 100%;
  text-align: center;
  font-size: 1.6rem;
  padding: 22px 1em;
  color: #fff;
}
@media screen and (max-width: 640px) {
  .modelhouse__btn--txt {
    font-size: 1.4rem;
  }
}

#modelhouse-item01 {
  background: #6D8361;
}

#modelhouse-item02 {
  background: #B9AB7A;
}

.modelhouse__cnt {
  position: relative;
}
.modelhouse__cnt .modelhouse__cnt__title > span {
  font-size: 1.6rem;
    font-weight: 300;
	letter-spacing: 0.02em;
  color: #D3DAD0;
  font-family: Cormorant;
}
.modelhouse__cnt .modelhouse__cnt__title h2 {
  position: relative;
  font-size: 2.4rem;
  margin: 24px 0;
  line-height: 1.5;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 640px) {
  .modelhouse__cnt .modelhouse__cnt__title h2 {
    font-size: 2rem;
  }
}
.modelhouse__cnt .modelhouse__cnt__title p {
  font-size: 1.4rem;
  line-height: 2.2em;
  letter-spacing: 0.05em;
  color: #fff;
}
.modelhouse__cnt .modelhouse__cnt__title02 h2 {
  font-size: 2.4rem;
  line-height: 1.7em;
  letter-spacing: 0.01em;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 640px) {
  .modelhouse__cnt .modelhouse__cnt__title02 h2 {
    font-size: 2rem;
  }
}
.modelhouse__cnt .modelhouse__cnt__title02 h2 span {
  font-family: Cormorant;
  color: #fff;
  font-size: 1.6rem;
    font-weight: 300;
	letter-spacing: 0.02em;
  color: #D3DAD0;
  display: inline-block;
  margin-left: 16px;
}
.modelhouse__cnt__inner {
  padding: 56px 40px;
}
@media screen and (max-width: 640px) {
  .modelhouse__cnt__inner {
    padding: 6% 20px;
  }
}
.modelhouse__cnt__info {
  margin-top: 40px;
  padding: 16px 0;
  border-top: solid 1px rgba(255, 255, 255, 0.3);
  border-bottom: solid 1px rgba(255, 255, 255, 0.3);
}
.modelhouse__cnt__info p {
  color: #fff;
  font-size: 1.4rem;
  line-height: 2.2em;
  letter-spacing: 0.05em;
}
.modelhouse__cnt__madori {
  margin-top: 80px;
}
@media screen and (max-width: 640px) {
  .modelhouse__cnt__madori {
    margin-top: 8%;
  }
}
.modelhouse__cnt__madori ul {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.modelhouse__cnt__madori ul li {
  width: calc(50% - 6px);
}
.modelhouse__cnt__madori ul li img {
  display: block;
  width: 100%;
  height: auto;
}
.modelhouse__cnt__madori ul li a {
  position: relative;
	display:block;
}
.modelhouse__cnt__madori ul li .zoom-icon {
  width: 46px;
  height: 46px;
  background: url(./img/zoom_icon.png);
  background-size: contain;
  background-position: center center;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 640px) {
  .modelhouse__cnt__madori ul li .zoom-icon {
    width: 32px;
    height: 32px;
  }
}
.modelhouse__cnt__feature {
  margin-top: 80px;
  border-bottom: solid 1px rgba(255, 255, 255, 0.3);
  padding-bottom: 56px;
}
@media screen and (max-width: 640px) {
  .modelhouse__cnt__feature {
    margin-top: 8%;
  }
}
.modelhouse__cnt__feature img {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 56px;
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  .modelhouse__cnt__feature img {
    margin-top: 6%;
    margin-bottom: 4%;
  }
}
.modelhouse__cnt__access {
  margin-top: 56px;
}
@media screen and (max-width: 640px) {
  .modelhouse__cnt__access {
    margin-top: 6%;
  }
}
.modelhouse__cnt__access iframe {
  width: 480px;
  height: 250px;
  transform: translateX(-40px);
  margin-bottom: 24px;
}
@media screen and (max-width: 900px) {
  .modelhouse__cnt__access iframe {
width: calc(100vw - 20px);
        height: 240px;
        max-width: 640px;
        transform: translateX(-40px);
  }
}
@media screen and (max-width: 640px) {
	  .modelhouse__cnt__access iframe {
width: 100vw;
        transform: translateX(-20px);
  }
}
.modelhouse__cnt__access h3 {
  font-size: 2rem;
  line-height: 2em;
  letter-spacing: 0.01em;
  margin-bottom: 16px;
  color: #fff;
}
.modelhouse__cnt__access ul li {
  font-size: 1.4rem;
  line-height: 2.2em;
  color: #fff;
}
@media screen and (max-width: 640px) {
  .modelhouse__cnt__access ul li {
    font-size: 1.2rem;
  }
}
.modelhouse__cnt__cta {
  display: block;
  width: 100%;
  height: auto;
  margin: 56px auto 0 auto;
  width: calc(100% - 40px);
  transition: 0.4s;
}
@media screen and (max-width: 900px) {
  .modelhouse__cnt__cta {
    max-width: 360px;
  }
}
@media screen and (max-width: 640px) {
  .modelhouse__cnt__cta {
    margin-top: 6%;
  }
}
.modelhouse__cnt__cta:hover {
  transition: 0.4s;
  opacity: 0.6;
}
.modelhouse__cnt .modelhouse__btn02 {
  width: 100%;
  margin-top: 40px;
  transition: 0.4s;
}
.modelhouse__cnt .modelhouse__btn02:hover {
  transition: 0.4s;
  opacity: 0.6;
}

.modelhouse__cnt__madori__pop img {
  max-height: 100vh;
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.modelhouse__cnt--img {
  width: 100%;
}
.modelhouse__cnt--img img {
  width: 100%;
  display: block;
}
.modelhouse__cnt--img img::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  color: #ED7D1C;
  border-radius: 50%;
  left: 29px;
  top: 50%;
  transform: translateY(-50%);
}

.slick-prev-point,
.slick-next-point {
  position: absolute;
  z-index: 3;
  top: 132px;
}

.slick-prev-point img,
.slick-next-point img {
  display: block;
  width: 24px;
  height: 24px;
}

.slick-prev-point {
  left: 26px;
}

.slick-next-point {
  right: 26px;
}
.slick-next-point img {
  transform: rotate(180deg);
}

.access {
  position: relative;
  background: rgba(143, 189, 143, 0.15);
  padding: 30px 0 40px 0;
}

.access__subtitle {
  font-size: 2rem;
  letter-spacing: 0.01em;
  line-height: 1.6em;
  font-weight: 600;
  padding: 24px;
}

@media screen and (max-width: 640px) {
  .access__subtitle {
    padding: 24px 16px;
  }
}
.access__container {
  width: 100%;
  padding: 0 24px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 640px) {
  .access__container {
    padding: 0 24px;
  }
}
.access__content {
  color: #fff;
  padding: 16px;
  padding-bottom: 40px;
}
.access__content iframe {
  width: 100%;
  height: 288px;
}

@media screen and (max-width: 640px) {
  .access__content {
    padding: 0;
  }
}
.access__content--info {
  margin: 24px 24px 0 24px;
}
.access__content--info li {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.5em;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 640px) {
  .access__content--info {
    margin: 24px 0px 0 0px;
  }
}
@media screen and (max-width: 640px) {
  .access__content--info li {
    font-size: 1.4rem;
  }
}
.works__container {
  width: 100%;
  padding: 0 24px;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .works__container {
    padding: 0 20px;
  }
}
.works__container .works__cnt {
  padding-top: 24px;
}
.works__container .main__slide {
  margin-bottom: 16px;
}
.works__container .main__slide img {
  display: block;
  width: 100%;
  height: auto;
}
.works__container .main__slide .slick-next,
.works__container .main__slide .slick-prev {
  width: 40px;
  height: 40px;
}
.works__container .main__slide button.slick-prev.slick-arrow, .works__container .main__slide button.slick-next.slick-arrow {
  display: block !important;
  z-index: 1;
}
.works__container .main__slide button.slick-prev.slick-arrow::before, .works__container .main__slide button.slick-next.slick-arrow::before {
  content: "";
  background: url(./img/slide-arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 40px;
  height: 40px;
  display: block;
  opacity: 1;
  transition: 0.4s;
}
.works__container .main__slide button.slick-prev.slick-arrow:hover::before, .works__container .main__slide button.slick-next.slick-arrow:hover::before {
  opacity: 0.6;
  transition: 0.4s;
}
.works__container .main__slide button.slick-prev.slick-arrow {
  left: 10px;
}
.works__container .main__slide button.slick-next.slick-arrow {
  right: 10px;
}
.works__container .main__slide button.slick-next.slick-arrow::before {
  transform: rotate(180deg);
}
.works__container .thumbnail__slide {
  width: 100%;
  display: flex;
  justify-content: center;
  /* サムネイルを中央揃え */
  align-items: center;
  gap: 10px;
  /* サムネイル間の間隔 */
  margin-top: 10px;
}
.works__container .thumbnail__slide .slick-track {
  transform: unset !important;
  width: 100% !important;
}
.works__container .thumbnail__slide .slick-list {
  padding: 0 !important;
  margin: 0 !important;
}
.works__container .thumbnail__slide .slick-slide {
  width: 25% !important;
}
.works__container .thumbnail__slide img {
  width: 100%;
  height: auto;
  cursor: pointer;
  object-fit: cover;
}
.works__container .thumbnail__slide .slick-current img {
  opacity: 0.6;
}

.contact {
  position: relative;
  padding: 40px 0;
  background: #F8F5F0;
}

.contact .section__subtitle {
  margin-bottom: 0;
}

.contact__container {
  width: 100%;
  padding: 0 24px;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .contact__container {
    padding: 0 20px;
  }
}

.contact__text {
  display: flex;
}
.contact__text picture {
  display: block;
  width: calc(100% - 218px);
  height: auto;
}
.contact__text picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contact__text p {
  width: 218px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5em;
  color: #6D8361;
  letter-spacing: 0.02em;
  padding: 28px 16px 16px 16px;
}
.contact__text p br:last-child {
  display: none;
}
.contact__text p span {
  display: block;
  margin-top: 16px;
  font-size: 1.2rem;
}

@media screen and (max-width: 640px) {
  .contact__text picture {
    width: 164px;
    height: 172px;
  }
}
@media screen and (max-width: 640px) {
  .contact__text p {
    width: calc(100% - 164px);
  }
}
.about {
  position: relative;
  padding: 80px 0;
}
@media screen and (max-width: 640px) {
  .about {
    padding: 40px 0;
  }
}

.about__container {
  z-index: 1;
  position: relative;
  width: 100%;
  padding: 0 24px;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .about__container {
    padding: 0 20px;
  }
}

.about__img {
  width: 100%;
}
.about__img img {
  display: block;
  width: 100%;
}

.about__wrapper {
  margin-top: 32px;
}

.about__item02 {
  border-bottom: solid 1px #D3DAD0;
}

.about__ttl {
  position: relative;
  padding: 16px 0;
}
.about__ttl.is-active .about__item--btn {
  transition: 0.4s;
}
.about__ttl.is-active .about__item--btn::after {
  opacity: 0;
}
.about__ttl:last-of-type {
  margin: 0;
}
.about__ttl .about__item--btn {
  transition: 0.4s;
  display: inline-block;
  width: 28px;
  height: 1px;
  background: #3A3A3A;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.about__ttl .about__item--btn::after {
  content: "";
  display: block;
  width: 1px;
  height: 28px;
  background: #3A3A3A;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: 0.4s;
}

.about__item--short {
  padding: 18px 16px;
  font-size: 1.6rem;
  font-weight: 700;
  background: #fff;
}
.about__item--short strong {
  color: #6D8361;
  font-weight: 700;
  font-family: "Nunito Sans", serif;
  font-size: 1.6rem;
  padding-right: 10px;
}

.about__item--more img {
  display: block;
  width: 100%;
  height: auto;
}
.about__item--more p {
  font-size: 1.4rem;
  padding: 0 16px;
  line-height: 2.2em;
  letter-spacing: 0.15rem;
  padding-bottom: 40px;
}

.company {
  padding-top: 80px;
  padding-bottom: 84px;
  background: #F8F5F0;
}
@media screen and (max-width: 640px) {
  .company {
    padding: 40px 0;
  }
}

.company__subtitle {
  font-size: 2rem;
  letter-spacing: 0.01em;
  line-height: 1.6em;
  font-weight: 600;
  padding: 24px;
}

@media screen and (max-width: 640px) {
  .company__subtitle {
    padding: 24px 16px;
  }
}
.company__container {
  width: 100%;
  padding: 0 24px;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .company__container {
    padding: 0 20px;
  }
}

.company__content {
  overflow: hidden;
}

.company__table {
  width: 100%;
}
.company__table tbody {
  width: 100%;
}
.company__table tbody tr {
  width: 100%;
  display: flex;
  align-items: center;
  border-bottom: solid 1px #D3DAD0;
  padding: 16px;
}
@media screen and (max-width: 640px) {
  .company__table tbody tr {
    padding: 0;
    padding: 8px 0;
  }
}
.company__table tbody tr th {
  font-size: 1.4rem;
  line-height: 2;
  width: 156px;
}
@media screen and (max-width: 640px) {
  .company__table tbody tr th {
    width: 100%;
  }
}
.company__table tbody tr td {
  width: calc(100% - 156px);
  font-size: 1.4rem;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .company__table tbody tr td {
    width: 100%;
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 640px) {
  .company__table tbody tr {
    flex-wrap: wrap;
  }
}
.footer {
  background: #242D1F;
  padding-top: 64px;
  padding-bottom: 120px;
}

.footer__wrapper {
  padding: 0 24px;
  margin: 0 auto;
}

.footer__logo {
  width: 216px;
  margin: 0 auto 32px auto;
}
.footer__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.footer__copy {
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
  opacity: 0.5;
}

.scroll-contents {
  background-color: #DDEADD;
  padding: 16px;
  max-height: 200px;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scroll-contents::-webkit-scrollbar {
  -webkit-appearance: none;
  display: none;
}
.scroll-contents .simplebar-scrollbar::before {
  background: #6D8361;
  border-radius: 4px;
  width: 6px;
  margin-top: 2px;
}
.scroll-contents .simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}

@media screen and (max-width: 640px) {
  .js-scroll {
    padding-top: 64px;
    margin-top: -64px;
  }
}
/* 追従ボタンのコンテナ */
#floating-button {
  display: none;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 999;
  transition: opacity 0.3s ease, visibility 0.3s ease;
/*   opacity: 0;
  visibility: hidden; */
  max-width: 400px;
}
#floating-button.show {
  opacity: 1;
  visibility: visible;
}
#floating-button .close-button {
  display: none;
}

@media screen and (max-width: 900px) {
  #floating-button {
    display: block;
  }
}
/* ボタンを表示する状態 */
/* 追従ボタンのリンク */
.floating-link {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  text-decoration: none;
}

/* 画像のスタイル（画面幅いっぱい） */
.floating-image {
  width: 100%;
  height: auto;
  display: block;
}

/* バツボタンのスタイル */
.close-button {
  position: absolute;
  top: -16px;
  right: 12px;
  width: 32px;
  height: 32px;
  cursor: pointer;
  z-index: 1001;
}
.close-button img {
  display: block;
  width: 100%;
  height: 100%;
}
.close-button:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

/* ************************************************************************************ */
/* ************************************************************************************ */
/* ************************************************************************************ */
/* フォーム部分 */
.wpcf7-list-item {
  margin: 0 0 1em 0;
}

form {
  overflow: hidden;
}
form ul {
  display: block;
  margin-bottom: 32px;
  margin-top: 40px;
}

.item-notice {
  width: 100%;
  margin-right: 0;
  margin-left: auto;
  margin-top: 13px;
  line-height: 1.5;
  font-size: 14px !important;
}
.item-notice strong {
  font-size: 13px;
  font-weight: bold;
  margin-bottom: 8px;
  display: block;
}
.item-notice p {
  font-size: 14px;
}

form ul li:last-of-type {
  width: 100%;
}
form ul .item-name {
  color: #2C2928;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: row-reverse;
  gap: 20px;
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 500;
}
form ul .item-name span.item-req {
  color: #fff;
  background: #6D8361;
  border-radius: 21px;
  text-align: center;
  padding: 6px 28px;
  font-size: 14px;
}
form ul .item-name span.item-any {
  color: #fff;
  background: #9D9D9D;
  border-radius: 21px;
  text-align: center;
  padding: 6px 28px;
  font-size: 14px;
}
form ul .item-name span.item-noreq {
  color: #fff;
  background: #7B7B7B;
  border-radius: 21px;
  text-align: center;
  padding: 6px 28px;
  font-size: 14px;
}
form ul li:last-of-type .item-form {
  width: 100%;
  display: block;
}
form ul li:last-of-type .item-form span {
  width: 100%;
  display: block;
}
form ul li:last-of-type input {
  width: 100%;
  display: block;
}
form ul li:last-of-type textarea {
  width: 100%;
  display: block;
  resize: vertical;
  height: 240px;
}
form ul li:last-of-type input,
form ul li:last-of-type textarea,
form ul li:last-of-type select {
  border: none;
  padding: 8px;
  font-size: 16px;
  letter-spacing: normal;
  box-sizing: border-box;
  background: #fff;
}

.section-form__check1 {
  text-align: center;
  font-size: 14px;
}

.contact__form ul.form-tab button.active {
  color: #186a68;
  border-top: 1px solid #186a68;
  border-bottom: 1px solid #186a68;
}

.submit_btn {
  display: block;
  width: 100%;
  color: #000;
  text-align: center;
  border-radius: 100px;
  border: none;
  margin: auto;
  /* border: 1px solid #216724; */
  position: relative;
}
.submit_btn:hover {
  /* border: 1px solid rgba(108, 142, 120, 0.5); */
}

.section-form__check {
  text-align: center;
  margin-top: 32px;
  margin-bottom: 48px;
}
.section-form__check span {
  background: none;
}

form [type=submit] {
  background: #242D1F;
  display: block;
  width: 100%;
  text-align: center;
  border: none;
  padding: 16px;
  margin: auto;
  margin-top: 0px;
  position: relative;
  font-size: 18px;
  opacity: 1;
  transition: 0.3s;
  color: #fff;
}
form [type=submit]:hover {
  opacity: 0.6;
  transition: 0.3s;
}

.submit_btn:after {
  position: absolute;
  content: "";
  width: 32px;
  height: 6px;
  top: 50%;
  transform: translateY(-48%);
  right: 24px;
  size: cover !important;
  position: center center !important;
}

.wpcf7-spinner {
  display: none !important;
}

li.item-form.itemform_add_search {
  display: flex;
  justify-content: space-between;
  display: flex;
  justify-content: space-between;
}
li.item-form.itemform_add_search span {
  width: calc(100% - 140px);
}
li.item-form.itemform_add_search button {
  width: 120px;
  background: #216724;
  border: none;
  color: #fff;
}

.form-caption {
  margin-bottom: 120px;
}
.form-caption p {
  font-size: 16px;
  text-align: center;
}

.section-form-privacy__cnt {
  height: 180px;
  overflow-y: scroll;
  padding: 18px;
  margin-bottom: 32px;
}
.section-form-privacy__cnt h3 {
  font-size: 16px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 6px;
  margin-bottom: 12px;
  margin-top: 32px;
}
.section-form-privacy__cnt h3:first-of-type {
  margin-top: 0;
}
.section-form-privacy__cnt p {
  font-size: 14px;
}

.formError {
  z-index: 20 !important;
}

.xdsoft_datetimepicker {
  z-index: 21 !important;
}

@media screen and (max-width: 640px) {
  form ul {
    /* margin-bottom:32px; */
    margin-top: 5%;
    margin-bottom: 3%;
    flex-wrap: wrap;
  }
  form ul li:first-of-type, form ul li:last-of-type {
    width: 100%;
  }
  form ul li:first-of-type {
    margin-bottom: 16px;
  }
  form ul li:last-of-type input,
  form ul li:last-of-type textarea {
    padding: 16px;
    font-size: 14px;
  }
  form [type=submit] {
    font-size: 18px;
  }
  .form-caption {
    margin-bottom: 32px;
  }
  .form-caption p {
    font-size: 14px;
    text-align: left;
  }
  .contact__form ul.form-tab {
    margin-bottom: 40px;
  }
  .item-notice,
  li.item-form.itemform_add_search span {
    width: 100%;
  }
  .section-form__check {
    margin-bottom: 5%;
  }
}
.wpcf7-form-control {
  border: none;
  padding: 8px;
  font-size: 16px;
  letter-spacing: normal;
  box-sizing: border-box;
  width: 100%;
}
.wpcf7-form-control.wpcf7-radio label {
  display: flex;
  gap: 12px;
  cursor: pointer;
}
.wpcf7-form-control.wpcf7-radio label input {
  width: 24px;
  height: 24px;
}
.wpcf7-form-control.wpcf7-radio label .wpcf7-list-item-label {
  width: calc(100% - 36px);
}

.form-caption p,
form * {
  font-family: "Zen Kaku Gothic New";
}

.wpcf7-not-valid-tip {
  /*   display: none !important; */
}

.contact__form .privacy-policy-scroll {
  background: #FFF;
  padding: 16px 20px;
  margin-bottom: 24px;
}
.contact__form .privacy-policy-scroll p {
  font-size: 1.4rem;
  line-height: 1.71;
  color: #2C2928;
}
.contact__form .privacy-policy-scroll p a {
  color: #5839FF;
}

.form__notice {
  font-size: 1.4rem;
  margin-top: 16px;
}

.privacy-policy-scroll {
  background: #FFF;
  padding: 20px 16px;
  max-height: 200px;
  height: 100%;
  margin-top: 24px;
  overflow: hidden scroll;
}
.privacy-policy-scroll::-webkit-scrollbar {
  width: 8px;
}
.privacy-policy-scroll::-webkit-scrollbar-thumb {
  background: #A7A7A7;
  border-radius: 10px;
}
.privacy-policy-scroll::-webkit-scrollbar-track {
  background: #FFF;
}
.privacy-policy-scroll .simplebar-track {
  width: 0.3rem;
}
.privacy-policy-scroll .simplebar-scrollbar {
  width: 0.3rem;
}
.privacy-policy-scroll .simplebar-scrollbar::before {
  width: 0.3rem;
  color: #fff;
  opacity: 1;
}
.privacy-policy-scroll p {
  font-size: 1.4rem;
  line-height: 1.71;
}

@media (max-width: 640px) {
  .form__notice {
    font-size: 1.2rem;
    margin-top: 2%;
  }
}
.item-form.itemform_add_search {
  display: flex !important;
  gap: 16px;
}
.item-form.itemform_add_search .wpcf7-form-control-wrap {
  width: calc(100% - 96px);
}
.item-form.itemform_add_search button.wpcf7c-elm-step1 {
  width: 80px;
  background: #3A3A3A;
  font-size: 1.2rem;
  text-align: center;
}

span.wpcf7-form-control.wpcf7-radio {
  background: unset;
}

.privacy-box {
  background: #FFF;
  border: solid 1px #D8D8D8;
  height: 200px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 20px 16px 26px;
  box-sizing: border-box;
}
.privacy-box h3 {
  color: #111111;
  font-size: 1.6rem;
  line-height: 1.71;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 2%;
}
.privacy-box p {
  color: #111111;
  font-size: 1.4rem;
  line-height: 1.71;
  letter-spacing: 0.05em;
}
.privacy-box p:not(:last-of-type) {
  margin-bottom: 4%;
}

@media (max-width: 1024px) {
  .privacy-box {
    padding: 2% 2% 3%;
  }
}
@media (max-width: 640px) {
  .privacy-box {
    padding: 4% 4% 5%;
  }
}
.section-form__check1,
.section-form__check2 {
  padding: 24px;
  text-align: center;
}

span.wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required {
  background: none;
}
span.wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required .wpcf7-list-item-label {
  font-size: 1.4rem;
  line-height: 1;
}
span.wpcf7-form-control.wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.wpcf7-form-control-wrap[data-name=radio-plan] span.wpcf7-list-item {
  margin: 0;
}

.wpcf7-form-control.wpcf7-radio label input[type=radio] {
  width: 18px;
  height: 18px;
  border: 1px solid #111111;
  /* 枠線の色 */
  border-radius: 50%;
  /* 丸くする */
  color: #FFFFFF;
  /* 背景色 */
  -moz-appearance: none;
  appearance: none;
  /* デフォルトのスタイルを無効化 */
  -webkit-appearance: none;
  /* Safari対応 */
  outline: none;
  /* フォーカス時の枠線を消す */
  cursor: pointer;
  /* ポインタを変更 */
}
.wpcf7-form-control.wpcf7-radio label input[type=radio]:checked {
  color: #000000 !important;
  /* チェック時の背景色 */
  box-shadow: inset 0 0 0 4px #FFFFFF;
  /* 中央に白い丸を作る */
}
.wpcf7-form-control.wpcf7-radio label .wpcf7-list-item-label {
  width: 100%;
}

/* チェック時のスタイル */
.wpcf7-list-item {
  margin: 0;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  gap: 8px;
}
.wpcf7-list-item input[type=radio] {
  width: auto !important;
}

.wpcf7-not-valid-tip {
  display: none !important;
}

.section-form__check1 .wpcf7-list-item,
.section-form__check2 .wpcf7-list-item {
  justify-content: center;
}

.mfp-hide {
  display: none !important;
}

.mfp-wrap .mfp-arrow {
  margin-top: -16px;
}

.mfp-wrap .mfp-content {
  max-width: 1240px;
}

.mfp-wrap .mfp-arrow:active {
  margin-top: -16px;
}/*# sourceMappingURL=page-client.css.map */