@charset "UTF-8";
.delay01 {
  transition-delay: 0.1s !important;
}

.delay02 {
  transition-delay: 0.2s !important;
}

.delay03 {
  transition-delay: 0.3s !important;
}

.delay04 {
  transition-delay: 0.4s !important;
}

.delay05 {
  transition-delay: 0.5s !important;
}

.delay06 {
  transition-delay: 0.6s !important;
}

.delay07 {
  transition-delay: 0.7s !important;
}

.delay08 {
  transition-delay: 0.8s !important;
}

.delay09 {
  transition-delay: 0.9s !important;
}

.delay10 {
  transition-delay: 1s !important;
}

.delay11 {
  transition-delay: 1.1s !important;
}

.delay12 {
  transition-delay: 1.2s !important;
}

.delay13 {
  transition-delay: 1.3s !important;
}

.delay14 {
  transition-delay: 1.4s !important;
}

.delay15 {
  transition-delay: 1.5s !important;
}

.delay16 {
  transition-delay: 1.6s !important;
}

.delay17 {
  transition-delay: 1.7s !important;
}

.delay18 {
  transition-delay: 1.8s !important;
}

.delay19 {
  transition-delay: 1.9s !important;
}

.delay20 {
  transition-delay: 2s !important;
}

.delay21 {
  transition-delay: 2.1s !important;
}

.delay22 {
  transition-delay: 2.2s !important;
}

.delay23 {
  transition-delay: 2.3s !important;
}

.delay24 {
  transition-delay: 2.4s !important;
}

/* スクロール時のアニメーション */
.laser {
  position: relative;
  overflow: hidden;
}
.laser::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100%;
  width: 100%;
  background: rgba(255, 255, 255, 0.2);
  transition: all 3s ease;
  transition: all 3s ease;
}
.laser .hide {
  opacity: 0;
  transition: all 3s ease;
  transition-delay: 1s !important;
}
.laser.inview-on::after {
  left: 100%;
}
.laser.inview-on .hide {
  opacity: 1;
}

/* fade in */
.fade-in {
  opacity: 0;
  transition: all 1s ease;
}
.fade-in.inview-on {
  opacity: 1;
}

.inview-on .fade-in {
  opacity: 1;
}

/* fade in zoom */
.fade-in-zoom {
  transform: scale(0.8);
  opacity: 0;
  transition: all 0.5s ease;
}
.fade-in-zoom.inview-on {
  transform: scale(1);
  opacity: 1;
}

.inview-on .fade-in-zoom {
  transform: scale(1);
  opacity: 1;
}

/* fade in up */
.fade-in-up {
  transform: translateY(20px);
  opacity: 0;
  transition: all 1s ease;
}
.fade-in-up.inview-on {
  transform: translateY(0px);
  opacity: 1;
}

.inview-on .fade-in-up {
  transform: translateY(0px);
  opacity: 1;
}

/* fade in down */
.fade-in-down {
  transform: translateY(-20px);
  opacity: 0;
  transition: all 1s ease;
}
.fade-in-down.inview-on {
  transform: translateY(0px);
  opacity: 1;
}

.inview-on .fade-in-down {
  transform: translateY(0px);
  opacity: 1;
}

/* fade in left */
.fade-in-left {
  transform: translateX(20px);
  opacity: 0;
  transition: all 0.5s ease;
}
.fade-in-left.inview-on {
  transform: translateX(0px);
  opacity: 1;
}

.inview-on .fade-in-left {
  transform: translateX(0px);
  opacity: 1;
}

/* fade in right */
.fade-in-right {
  transform: translateX(-20px);
  opacity: 0;
  transition: all 0.5s ease;
}
.fade-in-right.inview-on {
  transform: translateX(0px);
  opacity: 1;
}

.inview-on .fade-in-right {
  transform: translateX(0px);
  opacity: 1;
}

/* fade in up left */
.fade-in-up-left {
  transform: translateY(20px) translateX(20px);
  opacity: 0;
  transition: all 1s ease;
}
.fade-in-up-left.inview-on {
  transform: translateY(0px) translateX(0px);
  opacity: 1;
}

.inview-on .fade-in-up-left {
  transform: translateY(0px) translateX(0px);
  opacity: 1;
}

/* fade in up right */
.fade-in-up-right {
  transform: translateY(20px) translateX(-20px);
  opacity: 0;
  transition: all 1s ease;
}
.fade-in-up-right.inview-on {
  transform: translateY(0px) translateX(0px);
  opacity: 1;
}

.inview-on .fade-in-up-right {
  transform: translateY(0px) translateX(0px);
  opacity: 1;
}

/* fade in down left */
.fade-in-down-left {
  transform: translateY(-20px) translateX(20px);
  opacity: 0;
  transition: all 1s ease;
}
.fade-in-down-left.inview-on {
  transform: translateY(0px) translateX(0px);
  opacity: 1;
}

.inview-on .fade-in-down-left {
  transform: translateY(0px) translateX(0px);
  opacity: 1;
}

/* fade in down right */
.fade-in-down-right {
  transform: translateY(-20px) translateX(-20px);
  opacity: 0;
  transition: all 1s ease;
}
.fade-in-down-right.inview-on {
  transform: translateY(0px) translateX(0px);
  opacity: 1;
}

.inview-on .fade-in-down-right {
  transform: translateY(0px) translateX(0px);
  opacity: 1;
}

.popup-anime {
  opacity: 0;
}
.popup-anime.inview-on {
  animation: popup 0.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1);
  }
  80%, 100% {
    opacity: 1;
  }
}
.poyopoyo.inview-on {
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}

@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}
.smooth-left {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  display: inline-block;
  transition: 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
}
.smooth-left.inview-on {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}

.main {
  background: #faf6f0;
}

.mainVisual {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .mainVisual {
    margin-top: -0.15rem;
  }
}
.mainVisual:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2rem;
  background: #fff;
  z-index: 1;
}
.mainVisual img {
  position: relative;
  z-index: 3;
}
.mainVisual .ttl {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 10;
}
.mainVisual .ttl.--01 {
  width: 3.5rem;
  top: 0.8rem;
}
.mainVisual .ttl.--02 {
  width: 6.4rem;
  top: 1.5rem;
}
.mainVisual .ttl.--03 {
  width: 5.4rem;
  top: 3.9rem;
}
.mainVisual .illust {
  position: absolute;
  z-index: 10;
}
.mainVisual .illust.--01 {
  width: 2.43rem;
  bottom: 0.05rem;
  right: 0.8rem;
}
.mainVisual .fukidashi {
  position: absolute;
}
.mainVisual .fukidashi.--01 {
  width: 3.38rem;
  top: 5.3rem;
  left: 0.5rem;
}
.mainVisual .fukidashi.--02 {
  width: 4.08rem;
  top: 5.7rem;
  right: 0;
}
.mainVisual .fukidashi.--03 {
  width: 4.58rem;
  top: 7.3rem;
  right: 0.5rem;
}
.mainVisual .fukidashi.--04 {
  width: 4.68rem;
  top: 9.2rem;
  left: 0.3rem;
}

.oricon {
  background: #ebe0d1;
  margin-top: -1.2rem;
  padding-top: 2rem;
  padding-bottom: 1rem;
  position: relative;
}
.oricon .image {
  padding: 0 0.4rem;
}
.oricon .image figcaption {
  font-size: 0.2rem;
  margin-top: 0.2rem;
}
.oricon .illust .--01 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1.7rem;
}
.oricon .illust .--02 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 1.6rem;
}
.oricon .illust .--03 {
  position: absolute;
  bottom: 1.5rem;
  right: 0;
  width: 0.6rem;
}

.mustard {
  color: #cca974;
}

.blue {
  color: #72a1aa;
}

.green {
  color: #899a66;
}

.red {
  color: #bb7d64;
}

.text {
  line-height: 2;
}
.text p + p {
  margin-top: 0.3rem;
}

.cv {
  position: relative;
  z-index: 10;
}
.cv .wrap {
  background: #e0df87;
  padding-top: 0.3rem;
  padding-bottom: 0.5rem;
  padding-left: 0;
  padding-right: 0;
}
.cv .wrap .ttl {
  font-size: 0.35rem;
  text-align: center;
}
.cv .wrap .ttl.--02 {
  font-size: 0.32rem;
  line-height: 1.7;
}
.cv .wrap .text {
  margin-top: 0.4rem;
  text-align: center;
}
.cv .wrap .text span {
  display: inline-block;
  font-size: 0.3rem;
  background-image: radial-gradient(circle, #3d3323 1px, transparent 1px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 2px;
}
.cv .wrap .btn_wrap {
  margin-top: 0.6rem;
  display: grid;
  gap: 0.3rem;
}
.cv .wrap .btn a {
  width: 6rem;
  margin: 0 auto;
  display: block;
  color: #fff;
  font-size: 0.34rem;
  text-align: center;
  padding: 0.4rem 0;
  border-radius: 5px;
}
.cv .wrap .btn a.request {
  background: #ba6e50;
  box-shadow: 0 5px 0 #ab5b3f;
}
.cv .wrap .btn a.reserve {
  background: #679fab;
  box-shadow: 0 5px 0 #558d9a;
}

.cv_request {
  position: relative;
  z-index: 10;
}
.cv_request .wrap {
  background: #e0df87;
  padding-top: 0.8rem;
  padding-bottom: 0.6rem;
  margin: 0 0.4rem;
  border-radius: 8px;
  position: relative;
}
.cv_request .wrap .ttl_img {
  position: absolute;
  width: 3.4rem;
  top: -0.3rem;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.cv_request .wrap .ttl {
  font-size: 0.35rem;
  text-align: center;
}
.cv_request .wrap .ttl.--02 {
  font-size: 0.32rem;
  line-height: 1.7;
}
.cv_request .wrap .text_dot {
  margin-top: 0.4rem;
  text-align: center;
}
.cv_request .wrap .text_dot span {
  display: inline-block;
  font-size: 0.3rem;
  background-image: radial-gradient(circle, #3d3323 1px, transparent 1px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 2px;
}
.cv_request .wrap .box {
  margin-top: 0.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.1rem;
}
.cv_request .wrap .box span {
  border: 1px solid;
  border-radius: 3px;
  font-size: 0.26rem;
  padding: 0.03rem 0.08rem;
}
.cv_request .wrap .image {
  width: 5rem;
  margin: 0.5rem auto 0;
}
.cv_request .wrap .btn_wrap {
  margin-top: 0.5rem;
  display: grid;
  gap: 0.3rem;
}
.cv_request .wrap .btn a {
  width: 100%;
  margin: 0 auto;
  display: block;
  color: #fff;
  font-size: 0.34rem;
  text-align: center;
  padding: 0.4rem 0;
  border-radius: 5px;
}
.cv_request .wrap .btn a.request {
  background: #ba6e50;
  box-shadow: 0 5px 0 #ab5b3f;
}
.cv_request .wrap .btn a.reserve {
  background: #679fab;
  box-shadow: 0 5px 0 #558d9a;
}

.fourpoint {
  padding-top: 0.3rem;
  background: #ebe0d1;
}
.fourpoint .prepend {
  position: relative;
  z-index: 1;
}
.fourpoint .prepend .mainttl {
  width: 6.5rem;
  margin: 0 auto;
}
.fourpoint .prepend .mainttl .logo {
  width: 2.56rem;
  margin: 0 auto;
}
.fourpoint .prepend .mainttl .--01 {
  margin-top: 0.4rem;
}
.fourpoint .prepend .mainttl .--02 {
  margin-top: 0.25rem;
}
.fourpoint .prepend .illust.--01 {
  width: 5.3rem;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.fourpoint .prepend .illust.--02 {
  position: absolute;
  width: 100%;
  top: 2.2rem;
  z-index: 1;
}
.fourpoint .cream_arc_top {
  margin-top: -0.5rem;
}
.fourpoint .body {
  position: relative;
  z-index: 2;
  background: #faf6f0;
  padding-bottom: 0.7rem;
}
.fourpoint .body .lead {
  width: 4.4rem;
  margin: 0 auto;
}
.fourpoint .body .list {
  margin-top: 0.8rem;
}
.fourpoint .body .list .inner {
  display: grid;
  grid-template-columns: 1.3rem auto;
  gap: 0.2rem;
  margin-bottom: 0.4rem;
  padding-bottom: 0.4rem;
  background-image: repeating-linear-gradient(90deg, #c9c5bf, #c9c5bf 2px, transparent 2px, transparent 7px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}
.fourpoint .body .list .text {
  font-size: 0.32rem;
  line-height: 1.7;
}
.fourpoint .body .list .text em {
  font-size: 0.38rem;
  font-weight: 900;
  -webkit-text-decoration: 2px underline wavy;
          text-decoration: 2px underline wavy;
  text-underline-offset: 3px;
}
.fourpoint .body .list .text.--02 {
  text-align: right;
}
.fourpoint .body .list .text.--02 em {
  text-align: left;
  display: block;
}
.fourpoint .body .list .text.--03 {
  line-height: 1.4;
}
.fourpoint .body .list .text.--03 span {
  display: block;
  text-align: right;
}

.sec_point .ttl_wrap {
  position: relative;
  z-index: 2;
}
.sec_point .ttl_wrap .point_ic {
  width: 2rem;
}
.sec_point .ttl_wrap .ttl {
  margin-top: 0.4rem;
}
.sec_point .prepend .text {
  margin-top: 0.8rem;
}
.sec_point .prepend .text em {
  background: #ecdfcb;
  padding: 0.02rem 0.06rem 0.04rem;
}

.point01 {
  padding-top: 1.2rem;
}
.point01 .prepend {
  position: relative;
}
.point01 .prepend .illust.--01 {
  position: absolute;
  width: 2.6rem;
  top: 0;
  right: 0;
}
.point01 .prepend .illust.--02 {
  position: absolute;
  top: -2.2rem;
  right: 0;
}
.point01 .image_area {
  position: relative;
  margin-top: 1rem;
}
.point01 .image_area .image {
  width: 6.4rem;
  position: relative;
  z-index: 2;
}
.point01 .image_area .image.--02 {
  width: 5.7rem;
  margin-top: 0.6rem;
  margin-left: auto;
}
.point01 .image_area .bg {
  position: absolute;
  top: 0.5rem;
  z-index: 1;
}
.point01 .image_area .illust {
  position: absolute;
  z-index: 3;
}
.point01 .image_area .illust.--03 {
  top: 2.5rem;
  right: 0;
  width: 0.7rem;
}
.point01 .image_area .illust.--04 {
  bottom: 0;
  left: 0;
  width: 1.3rem;
}
.point01 .body {
  margin-top: 1rem;
}
.point01 .body .mainttl {
  font-size: 0.36rem;
  text-align: center;
  line-height: 2;
}
.point01 .body .mainttl em {
  background: #ebdeca;
  padding: 0.02rem 0.06rem 0.04rem;
}
.point01 .body .mainttl small {
  font-size: 90%;
}
.point01 .body .mainttl .mustard {
  color: #c7a571;
  font-size: 0.4rem;
  font-weight: 600;
  position: relative;
}
.point01 .body .mainttl .mustard img {
  width: 0.25rem;
  position: absolute;
  bottom: 0.05rem;
}
.point01 .body .mainttl .mustard .left {
  left: -0.4rem;
}
.point01 .body .mainttl .mustard .right {
  right: -0.4rem;
}
.point01 .body .book {
  margin-top: 0.6rem;
  padding-bottom: 2rem;
  position: relative;
}
.point01 .body .book .inner {
  position: relative;
  z-index: 2;
}
.point01 .body .book .inner_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.point01 .body .book .inner_inner .ttl {
  width: 3.7rem;
  margin: 0 auto;
}
.point01 .body .book .inner_inner .text {
  font-size: 0.26rem;
  padding: 0.3rem 0.7rem 0;
}
.point01 .body .book .inner_inner .text .red {
  position: relative;
  font-weight: 600;
  padding-right: 0.2rem;
  display: inline-block;
}
.point01 .body .book .inner_inner .text .red em {
  font-size: 0.4rem;
  line-height: 1;
}
.point01 .body .book .inner_inner .text .red small {
  position: absolute;
  top: 0;
}
.point01 .body .book .illust.--06 {
  width: 0.58rem;
  position: absolute;
  top: 0;
  left: 0.5rem;
}
.point01 .body .book .illust.--07 {
  width: 0.54rem;
  position: absolute;
  top: 1rem;
  right: 0.6rem;
}
.point01 .body .book .illust.--08 {
  width: 1.3rem;
  position: absolute;
  bottom: -0.1rem;
  right: 0.1rem;
}
.point01 .body .book .bg {
  position: absolute;
  top: 1rem;
  left: 0;
  z-index: 1;
}
.point01 .body .book .caption {
  position: absolute;
  bottom: -0.35rem;
  font-size: 0.2rem;
}

.point02 {
  padding-top: 1.2rem;
}
.point02 .prepend {
  position: relative;
  padding-right: 0.3rem;
}
.point02 .prepend .ttl_wrap .ttl {
  width: 4.4rem;
}
.point02 .prepend .illust.--01 {
  position: absolute;
  width: 2.2rem;
  top: 0.2rem;
  right: 0.2rem;
  z-index: 2;
}
.point02 .prepend .illust.--02 {
  position: absolute;
  top: -2.5rem;
  right: 0;
}
.point02 .prepend .text em {
  background: #d1dcdb;
}
.point02 .image_area {
  position: relative;
  margin-top: 1rem;
}
.point02 .image_area .image {
  position: relative;
  z-index: 2;
}
.point02 .image_area .image.--01 {
  width: 4.3rem;
  margin-left: auto;
}
.point02 .image_area .image.--02 {
  width: 6rem;
  margin-top: 0.6rem;
}
.point02 .image_area .bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.point02 .image_area .illust {
  position: absolute;
  z-index: 3;
}
.point02 .image_area .illust.--03 {
  top: 1rem;
  left: 0;
  width: 2rem;
}
.point02 .body {
  margin-top: 1rem;
}
.point02 .body .wrap {
  background: #d3e6eb;
  padding-bottom: 2.5rem;
}
.point02 .body .text_dot {
  text-align: center;
}
.point02 .body .text_dot span {
  display: inline-block;
  font-size: 0.3rem;
  background-image: radial-gradient(circle, #3d3323 1px, transparent 1px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 2px;
  padding-bottom: 0.1rem;
}
.point02 .body .mainttl {
  margin: 0.3rem 0.3rem 0;
}
.point02 .body .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.3rem;
  margin-top: 0.8rem;
}
.point02 .body .grid li {
  position: relative;
}
.point02 .body .grid li .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}
.point02 .body .grid li .inner .ic {
  width: 1.75rem;
}
.point02 .body .grid li .inner .ttl {
  font-size: 0.26rem;
  margin-top: 0.2rem;
}

.cv.--02 {
  margin-top: -1.2rem;
}

.point03 {
  padding-top: 1.2rem;
}
.point03 .prepend {
  position: relative;
}
.point03 .prepend .text em {
  background: #d8dac6;
}
.point03 .prepend .illust.--01 {
  position: absolute;
  width: 1.8rem;
  top: -0.6rem;
  right: 0;
}
.point03 .prepend .illust.--02 {
  position: absolute;
  top: -2.2rem;
  right: 0;
}
.point03 .image_area {
  position: relative;
  margin-top: 1rem;
}
.point03 .image_area .image {
  position: relative;
  z-index: 2;
}
.point03 .image_area .image.--01 {
  width: 6.5rem;
  margin-left: auto;
}
.point03 .image_area .image.--02 {
  width: 6rem;
  margin-top: 0.6rem;
}
.point03 .image_area .bg {
  position: absolute;
  top: 0.5rem;
  z-index: 1;
}
.point03 .image_area .illust {
  position: absolute;
  z-index: 3;
}
.point03 .image_area .illust.--03 {
  top: 7.5rem;
  right: 0;
  width: 1.5rem;
}

.point04 {
  padding-top: 3rem;
}
.point04 .prepend {
  position: relative;
}
.point04 .prepend .text em {
  background: #e7d1c6;
}
.point04 .prepend .illust.--01 {
  position: absolute;
  width: 2rem;
  top: -1rem;
  right: 0;
  z-index: 2;
}
.point04 .prepend .illust.--02 {
  position: absolute;
  top: -2.2rem;
  right: 0;
}
.point04 .image_area {
  position: relative;
}
.point04 .image_area .image.--01 {
  width: 3rem;
  margin-left: auto;
  margin-right: 0.2rem;
  position: relative;
  z-index: 2;
}
.point04 .image_area .image.--02 {
  width: 3.5rem;
  position: absolute;
  top: 1rem;
  left: 0;
  z-index: 2;
}
.point04 .image_area .image.--03 {
  width: 2.6rem;
  position: absolute;
  z-index: 4;
  top: 4.8rem;
  left: 1.2rem;
}
.point04 .image_area .bg {
  position: absolute;
  top: 1rem;
  z-index: 1;
}
.point04 .image_area .illust {
  position: absolute;
  z-index: 3;
}
.point04 .image_area .illust.--03 {
  top: 7.5rem;
  right: 0;
  width: 1.5rem;
}
.point04 .body {
  position: relative;
  z-index: 3;
  margin-top: 0.5rem;
  padding-bottom: 1rem;
}
.point04 .body .wrap {
  background: #faf6f0;
  padding-top: 0.2rem;
}
.point04 .body .mainttl {
  width: 5.9rem;
  margin: 0 auto;
  position: relative;
}
.point04 .body .mainttl .sub {
  position: absolute;
  top: -0.1rem;
  right: 0.4rem;
  width: 2.7rem;
}
.point04 .body .illust.--01 {
  width: 6rem;
  margin: -0.3rem auto 0;
}
.point04 .body .frame {
  position: relative;
  margin-top: -0.05rem;
}
.point04 .body .frame .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 85%;
  padding-top: 0.2rem;
}
.point04 .body .frame .inner dl {
  display: grid;
  grid-template-columns: 1.1rem auto;
  gap: 0.3rem;
}
.point04 .body .frame .inner dl:nth-child(n+2) {
  background-image: repeating-linear-gradient(90deg, #514d47, #514d47 2px, transparent 2px, transparent 6px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 2px;
  padding-top: 0.35rem;
  margin-top: 0.25rem;
}
.point04 .body .frame .inner dl dt img {
  height: 0.68rem;
}
.point04 .body .frame .inner dl dd {
  display: grid;
  grid-template-columns: 1rem auto;
  gap: 0.2rem;
  align-items: center;
}
.point04 .body .frame .inner dl dd .ttl.small {
  font-size: 0.26rem;
  line-height: 1.4;
}

.voice {
  margin-top: 1.2rem;
  padding-bottom: 1rem;
}
.voice .ttl_wrap .ttl {
  width: 5.75rem;
  margin: 0 auto;
}
.voice .fukidashi {
  position: relative;
}
.voice .fukidashi:nth-child(n+2) {
  margin-top: 0.3rem;
}
.voice .fukidashi .inner {
  position: absolute;
  top: 0.2rem;
  left: 0;
  width: 100%;
}
.voice .fukidashi .grid {
  display: grid;
  grid-template-columns: auto 2.8rem;
}
.voice .fukidashi .grid .cont {
  padding-top: 0.5rem;
  padding-left: 0.4rem;
  padding-right: 0.3rem;
  position: relative;
}
.voice .fukidashi .grid .cont:before {
  content: "";
  position: absolute;
  top: 0.2rem;
  left: 0.3rem;
  background: url(../imgs/voive_ic01.webp) no-repeat;
  background-size: contain;
  width: 0.23rem;
  height: 0.18rem;
}
.voice .fukidashi .grid .cont .profile {
  position: absolute;
  bottom: 0;
  right: 0.3rem;
  font-size: 0.22rem;
  color: #999896;
}
.voice .fukidashi .grid .image {
  padding-right: 0.2rem;
}
.voice .fukidashi .grid.reverse {
  grid-template-columns: 2.8rem auto;
}
.voice .fukidashi .grid.reverse .cont {
  padding-left: 0.3rem;
  padding-right: 0.4rem;
}
.voice .fukidashi .grid.reverse .image {
  padding-right: 0;
  padding-left: 0.2rem;
}
.voice .fukidashi .text {
  font-size: 0.25rem;
  line-height: 1.7;
  padding: 0.35rem 0.4rem 0;
}

.gallery .prepend {
  position: relative;
  padding-top: 1.2rem;
}
.gallery .prepend .ttl_wrap .text_dot {
  text-align: center;
}
.gallery .prepend .ttl_wrap .text_dot span {
  display: inline-block;
  font-size: 0.3rem;
  background-image: radial-gradient(circle, #3d3323 1px, transparent 1px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 2px;
  padding-bottom: 0.1rem;
}
.gallery .prepend .ttl_wrap .ttl {
  width: 5.6rem;
  margin: 0.3rem auto 0;
}
.gallery .prepend .illust.--01 {
  position: absolute;
  top: -0.8rem;
  left: 0;
}
.gallery .image_area {
  margin-top: 0.8rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.3rem;
  position: relative;
}
.gallery .image_area .image {
  position: relative;
  z-index: 2;
}
.gallery .image_area .bg {
  position: absolute;
  top: 0.5rem;
  left: 0;
  z-index: 1;
}

.cv_request.--01 {
  margin-top: 1.2rem;
}

.oneorder {
  margin-top: 2.5rem;
}
.oneorder .prepend .ttl_wrap {
  text-align: center;
}
.oneorder .prepend .ttl_wrap .ttl {
  font-size: 0.48rem;
  line-height: 2;
}
.oneorder .prepend .ttl_wrap .ttl em {
  font-size: 0.56rem;
  color: #bb7d64;
  font-weight: 600;
  background-position: top left 0px;
  background-repeat: repeat-x;
  background-size: 1em 0.3em;
  background-image: radial-gradient(0.1em 0.1em at center center, #bb7d64, #bb7d64 100%, transparent, transparent);
  padding-top: 0.2em;
}
.oneorder .prepend .ttl_wrap .text {
  margin-top: 0.5rem;
  font-size: 0.32rem;
}
.oneorder .prepend .ttl_wrap .text em {
  background: #ecdfcb;
  padding: 0.02rem 0.06rem 0.04rem;
}
.oneorder .prepend .fukidashi {
  position: relative;
  margin-top: 0.4rem;
}
.oneorder .prepend .fukidashi .illust {
  position: absolute;
}
.oneorder .prepend .fukidashi .illust.--01 {
  width: 2rem;
  top: 0;
  right: 0;
}
.oneorder .prepend .fukidashi .illust.--02 {
  width: 1.4rem;
  bottom: 0;
  left: -0.4rem;
}
.oneorder .prepend .fukidashi .illust.--03 {
  width: 1.47rem;
  bottom: 0;
  right: -0.4rem;
}
.oneorder .prepend .mitubishi {
  margin-top: 0.8rem;
  position: relative;
}
.oneorder .prepend .mitubishi .mainlogo {
  width: 3rem;
  margin: 0 auto;
}
.oneorder .prepend .mitubishi .list {
  margin-top: 0.8rem;
}
.oneorder .prepend .mitubishi .list .box {
  position: relative;
  z-index: 2;
}
.oneorder .prepend .mitubishi .list .box:nth-child(n+2) {
  margin-top: 0.2rem;
}
.oneorder .prepend .mitubishi .list dl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  display: grid;
  grid-template-columns: 2.9rem auto;
  align-items: center;
}
.oneorder .prepend .mitubishi .list dl dt {
  padding: 0 0.4rem;
}
.oneorder .prepend .mitubishi .list dl .ttl {
  font-size: 0.32rem;
}
.oneorder .prepend .mitubishi .list dl .text {
  font-size: 0.26rem;
  line-height: 1.5;
  margin-top: 0.1rem;
}
.oneorder .prepend .mitubishi .list dl .text.small {
  font-size: 0.24rem;
}
.oneorder .prepend .mitubishi .bg {
  position: absolute;
  top: 2rem;
  left: 0;
  z-index: 1;
}
.oneorder .body {
  position: relative;
  z-index: 3;
  margin-top: 2rem;
}
.oneorder .body .inner {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translate(-50%, -20%);
  width: 100%;
}
.oneorder .body .inner .text {
  text-align: center;
  color: #fff;
  font-size: 0.32rem;
}
.oneorder .body .inner .text p + p {
  margin-top: 0.4rem;
}

.cv.--05 {
  margin-top: -0.8rem;
}
.cv.--05 .illust.--01 {
  width: 3.75rem;
  margin: -1.8rem auto 0;
}

.pcSide .contents--hero {
  width: pcSize(7.665);
  position: absolute;
  top: pcSize(2.64);
  left: pcSize(0.74);
  text-align: center;
}
.pcSide .contents--hero .image img {
  max-height: calc(100vh - pcSize(3.64));
}
.pcSide .contents--concept, .pcSide .contents--access, .pcSide .contents--location, .pcSide .contents--design, .pcSide .contents--plan {
  width: pcSize(7.6);
  position: absolute;
  bottom: 0;
  left: pcSize(1);
}
.pcSide .contents--concept .image--01, .pcSide .contents--access .image--01, .pcSide .contents--location .image--01, .pcSide .contents--design .image--01, .pcSide .contents--plan .image--01 {
  text-align: right;
}
.pcSide .contents--concept .image--01 img, .pcSide .contents--access .image--01 img, .pcSide .contents--location .image--01 img, .pcSide .contents--design .image--01 img, .pcSide .contents--plan .image--01 img {
  max-height: calc(100vh - pcSize(2.35));
}
.pcSide .contents--concept .text, .pcSide .contents--access .text, .pcSide .contents--location .text, .pcSide .contents--design .text, .pcSide .contents--plan .text {
  margin: 0 0 0 pcSize(2.4);
}
.pcSide .contents--concept .image--02, .pcSide .contents--access .image--02, .pcSide .contents--location .image--02, .pcSide .contents--design .image--02, .pcSide .contents--plan .image--02 {
  position: absolute;
  bottom: 0;
}
.pcSide .contents--concept {
  height: pcSize(7.86);
}
@media screen and (max-height: 896px) {
  .pcSide .contents--concept {
    height: auto;
    top: pcSize(1.1);
  }
}
.pcSide .contents--concept .image--02 {
  width: pcSize(3.05);
  left: pcSize(-0.57);
}
.pcSide .contents--concept .image--02 img {
  max-height: 31.7592592593vh;
}
.pcSide .contents--position, .pcSide .contents--development {
  width: pcSize(7.6);
  height: pcSize(8.98);
  position: absolute;
  bottom: 0;
  left: pcSize(1);
}
@media screen and (max-height: 1006px) {
  .pcSide .contents--position, .pcSide .contents--development {
    height: auto;
    top: pcSize(1.1);
  }
}
.pcSide .contents--position .image--01, .pcSide .contents--development .image--01 {
  width: pcSize(4.88);
  position: absolute;
  top: 0;
  left: pcSize(-0.7);
}
.pcSide .contents--position .image--01 img, .pcSide .contents--development .image--01 img {
  max-height: 22.3148148148vh;
}
.pcSide .contents--position .image--02, .pcSide .contents--development .image--02 {
  margin: pcSize(1.71) 0 0;
}
@media screen and (max-height: 1006px) {
  .pcSide .contents--position .image--02, .pcSide .contents--development .image--02 {
    margin: 15.8333333333vh 0 0;
  }
}
.pcSide .contents--position .image--02 img, .pcSide .contents--development .image--02 img {
  max-height: calc(100vh - pcSize(4.06));
}
.pcSide .contents--position .text, .pcSide .contents--development .text {
  width: pcSize(5.32);
}
.pcSide .contents--position .image--03, .pcSide .contents--development .image--03 {
  width: pcSize(2.71);
  position: absolute;
  right: pcSize(-0.52);
  bottom: pcSize(0.72);
}
.pcSide .contents--position .image--03 img, .pcSide .contents--development .image--03 img {
  max-height: 25.8333333333vh;
}
.pcSide .contents--access {
  height: pcSize(8.69);
}
@media screen and (max-height: 979px) {
  .pcSide .contents--access {
    height: auto;
    top: pcSize(1.1);
  }
}
.pcSide .contents--access .image--02 {
  width: pcSize(2.96);
  left: pcSize(-0.86);
}
.pcSide .contents--access .image--02 img {
  max-height: 30.7407407407vh;
}
.pcSide .contents--location {
  height: pcSize(8.97);
}
@media screen and (max-height: 1007px) {
  .pcSide .contents--location {
    height: auto;
    top: pcSize(1.1);
  }
}
.pcSide .contents--location .image--02 {
  width: pcSize(3.03);
  position: absolute;
  bottom: 0;
  left: pcSize(-0.74);
}
.pcSide .contents--location .image--02 img {
  max-height: 33.1481481481vh;
}
.pcSide .contents--design {
  height: pcSize(8.37);
}
@media screen and (max-height: 947px) {
  .pcSide .contents--design {
    height: auto;
    top: pcSize(1.1);
  }
}
.pcSide .contents--design .image--02 {
  width: pcSize(2.27);
  left: pcSize(-0.73);
}
.pcSide .contents--design .image--02 img {
  max-height: 34.0740740741vh;
}
.pcSide .contents--plan {
  height: pcSize(8.37);
}
@media screen and (max-height: 946px) {
  .pcSide .contents--plan {
    height: auto;
    top: pcSize(1.1);
  }
}
.pcSide .contents--plan .image--02 {
  width: pcSize(3.05);
  left: pcSize(-0.57);
}
.pcSide .contents--plan .image--02 img {
  max-height: 31.7592592593vh;
}/*# sourceMappingURL=unique.css.map */