@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho+B1:wght@400;500;600;700;800&display=swap');

:root {
  --color00: #5c4b38;
  --color01: #1443a6;
  --color02: #4470df;
  --color03: #5ebb93;
  --color04: #fa957f;
  --color05: #fbd150;
  --color06: #3cd5cd;
  --color07: #fffff2;
  --color08: #e7f4fc;
  --color09: #fe9333;
  --color10: #8fbce7;
  --color11: #b9e0c8;
  --color12: #585158;
  --color13: #b8e1c7;
  --color14: #fef9f3;
  --ff01: "M PLUS Rounded 1c", sans-serif;
  --ff02: "Montserrat", sans-serif;
  --ff03: "Noto Sans JP", sans-serif;
  --ff99: "font awesome 5 free";
  --text-shadow1: 1px 1px 0 #FFF,-1px -1px 0 #FFF,-1px 1px 0 #FFF,1px -1px 0 #FFF,0px 1px 0 #FFF,0 -1px 0 #FFF,-1px 0 0 #FFF,1px 0 0 #FFF;
  --text-shadow2: 2px 2px 0 #FFF,-2px -2px 0 #FFF,-2px 2px 0 #FFF,2px -2px 0 #FFF,0px 2px 0 #FFF,0 -2px 0 #FFF,-2px 0 0 #FFF,2px 0 0 #FFF;
}

html {
  font-family: var(--ff01);
  line-height: 1.5;
  letter-spacing: .8px;
  color: var(--color00);
  /* -webkit-transform: rotateZ(0.03deg);
  transform: rotateZ(0.03deg); */
}

.text {
  line-height: 1.6;
}

.rz-1{
  -webkit-transform: rotateZ(0.03deg);
  transform: rotateZ(0.03deg);
}

.lb{
  cursor: pointer;
}

.date {
  font-size: 14px;
  font-weight: 500;
  -ms-flex-negative: 0;
  flex-shrink: 0;    transform: rotateZ(0.03deg);
}

.more {
  font-size: 10px;
  position: relative;
  padding-right: 20px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.more::after {
  content: "\f054";
  font-family: var(--ff99);
  font-weight: bold;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  -webkit-transition: .5s;
  transition: .5s;
}

a:hover .more::after {
  right: -5px;
}

@media(max-width:1024px) {
  .txt {
    font-size: 14px;
    line-height: 1.8;
  }

  .date {
    font-size: 13px;
    letter-spacing: 0;
  }
}

.up-ls-0 {
  letter-spacing: 0;
}

/*===================================
  基本設定
===================================*/
.color-cmn-01 {
  color: var(--color01);
}

.color-cmn-02 {
  color: var(--color02);
}

.color-cmn-03 {
  color: var(--color03);
}

.color-cmn-04 {
  color: var(--color04);
}

.color-cmn-05 {
  color: var(--color05);
}

.color-cmn-12 {
  color: var(--color12);
}

/* bgc */
.bgc-cmn-01 {
  background-color: var(--color01);
}

.bgc-cmn-02 {
  background-color: var(--color02);
}

.bgc-cmn-03 {
  background-color: var(--color03);
}

.bgc-cmn-04 {
  background-color: var(--color04);
}

.bgc-cmn-05 {
  background-color: var(--color05);
}

.bgc-cmn-07 {
  background-color: var(--color07);
}

.bgc-cmn-08 {
  background-color: var(--color08);
}

.bgc-cmn-10 {
  background-color: var(--color10);
}

.bgc-cmn-11 {
  background-color: var(--color11);
}

.bgc-cmn-13 {
  background-color: var(--color13);
}

.bgc-cmn-14 {
  background-color: var(--color14);
  position: relative;
}

.bgc-cmn-14-wave {
  position: absolute;
  top: calc(100% - 50px);
  left: 0;
  width: 100%;
}

@media(max-width:599px) {
  .bgc-cmn-14-wave {
    top: calc(100% - 20px);
  }

  .bgc-cmn-14-wave svg {
    height: 50px;
  }

}

/* bgi */
.bgi-cmn-00 {
  position: relative;
}

.bgi00 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: .2;
}

.bgi00+* {
  z-index: 2;
  position: relative;
}

.bgi-cmn-01 {
  /* background-image: url('/import/tenant_1/85.131.246.59/html/images/bgi1.webp');
  background-color: #7eb6dc; */
  background: linear-gradient(142deg, #4468a1, #4d7cc9, #92c6ff, #94b6f7);
  /* background-image: url('/import/tenant_1/85.131.246.59/html/images/1107782086.webp');
  background-color: #88cae1; */
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top;
  padding-bottom: 10vw;
  margin-bottom: -80px;
  position: relative;
  z-index: 2;
  overflow: hidden;
}

.starry_sky .star {
  background-color: white;
  position: absolute;
  height: auto;
  border-radius: 50%;
  animation-name: twinkle;
  animation-iteration-count: infinite;
  opacity: 0.6;
}


@keyframes twinkle {
  50% {
    transform: scale(0.2);   
  }
} 

.starry_sky .shooting-star {
    position: absolute;
        top: 50%;
    left: 50%;
    width: 150px;
    height: 1px;
    background: linear-gradient(90deg, white, transparent);
    offset-path: path("M300,-300 L-500,500");
    animation: shoot 5s infinite;
}

@keyframes shoot {
    0% { offset-distance: 0%; opacity: 0; }
    5% { opacity: 1; }
    20% { offset-distance: 100%; opacity: 0; }
    100% { offset-distance: 100%; opacity: 0; }
}

/* .bgi-cmn-01+section {
  padding-top: 8vw;
} */

.bgi-cmn-01+.bgi-cmn-02 .illust-cloud {
  position: absolute;
  z-index: 4;
}

.bgi-cmn-01+.bgi-cmn-02 .illust-cloud1 {
  bottom: 100%;
  left: 0;
  width: 24vw;
  max-width: 300px;
}

.bgi-cmn-01+.bgi-cmn-02 .illust-cloud2 {
  bottom: calc(100% - 100px);
  left: 60px;
  max-width: 240px;
  width: 19vw;
}

.bgi-cmn-01+.bgi-cmn-02 .illust-cloud3 {
  bottom: calc(100% - 30px);
  right: 0;
  max-width: 155px;
  width: 20vw;
}

.bgi-cmn-02 {
  /* background-image: url('/import/tenant_1/85.131.246.59/html/images/bgi2.webp'); */
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fbf7b8), color-stop(#feecc3), to(#feeed0));
  background-image: linear-gradient(180deg, #fbf7b8, #feecc3, #feeed0);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
}

.bgi-cmn-02 .bgi-cmn-02-svg {
  position: absolute;
  bottom: calc(100% - 40px);
  z-index: 3;
}

.bgi-cmn-03 {
  position: relative;
}

.bgi-cmn-03 .bgi-cmn-03-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.bgi-cmn-04 {
  background-image: url('/import/tenant_1/85.131.246.59/html/images/bgi5.webp');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
}

.bgi-cmn-05 {
  position: relative;
  z-index: 3;
}

.bgi-cmn-05 .bgi-cmn-05-img-t img,
.bgi-cmn-05 .bgi-cmn-05-img-b img {
  position: absolute;
  left: 0;
  z-index: 2;
  width: 100%;
  mix-blend-mode: darken;
}

.bgi-cmn-05 .bgi-cmn-05-img-t img {
  height: 300px;
  top: 0;
}

.bgi-cmn-05 .bgi-cmn-05-img-b img {
  height: 400px;
  bottom: -82px;
}

.bgi-cmn-06 {
  position: relative;
  padding-bottom: 100px;
  padding-top: 100px;
}

.bgi-cmn-06 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 5vw);
  z-index: 2;
}

.bgi-cmn-07 {
  background-image: -webkit-gradient(linear, left top, right top, from(#fdf4e0), color-stop(#fdf4e0), color-stop(#fdf3e1), color-stop(#fdf2e0), to(#fdf3e1));
  background-image: linear-gradient(90deg, #fdf4e0, #fdf4e0, #fdf3e1, #fdf2e0, #fdf3e1);
  position: relative;
  z-index: 3;
  padding: 80px 0;
}

.bgi-cmn-07 .bgi-cmn-07-img-t svg {
  position: absolute;
  bottom: calc(100% - 50px);
  left: 0;
  width: 100%;
  z-index: 4;
}

.bgi-cmn-07 .bgi-cmn-07-img-b svg {
  position: absolute;
  width: 100%;
  top: calc(100% - 50px);
  z-index: 4;
}

.bgi-cmn-08 {
  margin-top: 50px;
  position: relative;
}

.bgi-cmn-08::before {
  content: "";
  background-image: url('/import/tenant_1/85.131.246.59/html/images/woods.webp');
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 303 / 272;
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
  position: absolute;
  top: -10vw;
  right: 0;
  display: block;
  width: 22vw;
  max-width: 300px;
}


.bgi-cmn-08 img {
  width: 100%;
  height: 150px;
}

.bgi-cmn-08+* .inner {
  margin-top: -80px;
  position: relative;
  z-index: 2;
}

@media(max-width:1024px) {

  .bgi-cmn-01+.bgi-cmn-02 .illust-cloud1 {
    max-width: 140px;
    bottom: calc(100% - 40px);
  }

  .bgi-cmn-01+.bgi-cmn-02 .illust-cloud2 {
    bottom: calc(100% - 90px);
    max-width: 120px;
  }

  .bgi-cmn-01+.bgi-cmn-02 .illust-cloud3 {
    max-width: 100px;
  }

  .bgi-cmn-01+.bgi-cmn-02 .bgi-cmn-02-svg {
    bottom: calc(100% - 20px);
  }

  .bgi-cmn-06 img {
    height: calc(100% + 8vw);
  }
}

@media(max-width:599px) {
  .bgi-cmn-01+.bgi-cmn-02 .bgi-cmn-02-svg {
    bottom: calc(100% - 1px);
  }

  .bgi-cmn-01+.bgi-cmn-02 .illust-cloud1 {
    max-width: 160px;
    bottom: calc(100% - 20px);
    width: 28vw;
  }

  .bgi-cmn-01+.bgi-cmn-02 .illust-cloud2 {
    bottom: calc(100% - 40px);
    max-width: 140px;
    width: 22vw;
  }

  .bgi-cmn-01+.bgi-cmn-02 .illust-cloud3 {
    width: 18vw;
  }

  .bgi-cmn-05 .bgi-cmn-05-img-t img {
    height: 130px;
  }

  .bgi-cmn-05 .bgi-cmn-05-img-b img {
    height: 150px;
    bottom: -40px;
  }

  .bgi-cmn-06 img {
    height: calc(100% + 15vw);
  }

  .bgi-cmn-07 {
    padding: 40px 0 !important;
  }

  .bgi-cmn-07 .bgi-cmn-07-img-t svg {
    bottom: calc(100% - 20px);
    height: 50px;
  }

  .bgi-cmn-07 .bgi-cmn-07-img-b svg {
    top: calc(100% - 20px);
    height: 50px;
  }

  .bgi-cmn-08 {
    margin-top: 30px;
  }

  .bgi-cmn-08 img {
    height: 50px;
  }

  .bgi-cmn-08+* .inner {
    margin-top: 0;
  }
}

/* wave 波 */
.canvas-container canvas {
  width: 100%;
  height: 100%;
}

.canvas-wave {
  position: relative;
  margin-bottom: -2px;
}

.canvas-container {
  width: 100%;
  height: 140px;
}

@media (max-width: 599px) {
  .canvas-container {
    top: -3px;
  }
}

/* font */
.font-cmn-01 {
  font-family: var(--ff01);
}

.font-cmn-02 {
  font-family: var(--ff02);
}

.font-cmn-03 {
  font-family: var(--ff03);
}

/* hoverエフェクト */
.hover-text-underline-box a:hover {
  opacity: 1;
}

.hover-text-underline-box a:hover .text {
  text-decoration: underline;
}

.hover-img-box a:hover {
  opacity: 1;
}

.hover-img-box a .hover-img {
  overflow: hidden;
}

.hover-img-box a .hover-img img {
  -webkit-transition: .5s;
  transition: .5s;
}

.hover-img-box a:hover .hover-img img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* ttl-cmn */
.ttl-cmn-01 {
  color: #fff;
  text-shadow: -2px -2px 0 var(--color01), 0 -2px 0 var(--color01), 2px -2px 0 var(--color01), -2px 0 0 var(--color01), 2px 0 0 var(--color01), -2px 2px 0 var(--color01), 0 2px 0 var(--color01), 2px 2px 0 var(--color01);
  font-weight: 700;
  border-bottom: 3px solid transparent;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-transition: .5s;
  transition: .5s;
}

.ttl-cmn-01.mv {
  border-color: var(--color05);
}

.ttl-cmn-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.ttl-cmn-02 .en {
  opacity: .4;
  color: var(--color05);
  font-size: 82px;
  font-weight: 600;
  font-family: var(--ff02);
  line-height: 1;
  text-indent: -10px;
}

.ttl-cmn-02 .ja {
  font-size: 30px;
  margin-top: -30px;
  z-index: 2;
  position: relative;
  font-weight: 600;
}

.ttl-cmn-02.-min .en {
  font-size: 62px;
}

.ttl-cmn-02.-min .ja {
  font-size: 28px;
}

.ttl-cmn-03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.ttl-cmn-03.-left {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.ttl-cmn-03 .en {
  color: var(--color05);
  font-size: 88px;
  font-weight: 600;
  font-family: var(--ff02);
  line-height: 1;
  color: rgb(254 237 198);
  text-align: center;
  text-shadow: 1px 1px 0 var(--color11),
    -1px -1px 0 var(--color11),
    1px -1px 0 var(--color11),
    -1px 1px 0 var(--color11),
    1px 1px 0 var(--color11);
}

.bgi-cmn-04 .ttl-cmn-03 .en {
  color: rgb(188 234 150);
  text-shadow: 1px 1px 0 #ffffff, -1px -1px 0 #ffffff, 1px -1px 0 #ffffff, -1px 1px 0 #ffffff, 1px 1px 0 #ffffff;
}

.bgc-cmn-08 .ttl-cmn-03 .en {
  color: var(--color08);
  text-shadow: 1px 1px 0 #a6bdf6, -1px -1px 0 #a6bdf6, 1px -1px 0 #a6bdf6, -1px 1px 0 #a6bdf6, 1px 1px 0 #a6bdf6;
}

.bgc-cmn-14 .ttl-cmn-03 .en {
  color: var(--color14);
  text-shadow: 1px 1px 0 #a6bdf6, -1px -1px 0 #a6bdf6, 1px -1px 0 #a6bdf6, -1px 1px 0 #a6bdf6, 1px 1px 0 #a6bdf6;
}

.ttl-cmn-03 .en.-white {
  color: #fff;
  text-shadow: 1px 1px 0 #a6bdf6, -1px -1px 0 #a6bdf6, 1px -1px 0 #a6bdf6, -1px 1px 0 #a6bdf6, 1px 1px 0 #a6bdf6;
}

.bgc-cmn-13 .ttl-cmn-03 .en {
  color: var(--color13);
  text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}

.ttl-cmn-03 .ja {
  font-size: 30px;
  margin-top: -25px;
  z-index: 2;
  position: relative;
  font-weight: 600;
}

.ttl-cmn-04 {
  border-bottom: 8px dotted #fff;
  font-weight: 600;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.ttl-cmn-05 {
  display: inline;
  position: relative;
  background: linear-gradient(transparent calc(100% - 10px), #fff 10px);
  color: var(--color01);
  font-weight: 600;
}

@media(max-width:1024px) {
  .ttl-cmn-02 .en {
    font-size: 70px;
    text-indent: -1px;
  }

  .ttl-cmn-02 .ja {
    font-size: 28px;
    margin-top: -15px;
  }

  .ttl-cmn-03 .en {
    font-size: 66px;
  }

  .ttl-cmn-03 .ja {
    font-size: 28px;
    margin-top: -35px;
  }
}

@media(max-width:599px) {
  .ttl-cmn-02 .en {
    font-size: 56px;
  }

  .ttl-cmn-02.-min .en {
    font-size: clamp(2.5rem, -1.25rem + 16vw, 3rem) !important;
  }

  .ttl-cmn-03 .en {
    /* values52px-56px view375px-425px */
    font-size: clamp(3.25rem, 1.375rem + 8vw, 3.5rem);
  }

  .ttl-cmn-03.-min .en {
    /* values42px-48px view375px-425px */
    font-size: clamp(2.5rem, -1.25rem + 16vw, 3rem);
  }
  
  .ttl-cmn-02 .ja.-min{
    font-size: 24px;
    margin-top: -15px;
  }

  .ttl-cmn-03.-xmin .en {
    /* values38px-44px view375px-425px */
    font-size: clamp(2.375rem, -0.438rem + 12vw, 2.75rem);
  }

  .ttl-cmn-03 .ja {
    font-size: 23px;
    margin-top: -20px;
  }

  .ttl-cmn-03.-min .ja {
    font-size: 21px;
    margin-top: -15px;
  }

  .ttl-cmn-03.-sp-center {
    text-align: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

/* ttl-size */
.ttl-size-medium {
  font-size: 36px;
}

.ttl-size-small {
  font-size: 30px;
}

.ttl-size-xsmall {
  font-size: 28px;
}

.ttl-size-xxsmall {
  font-size: 22px;
}

@media(max-width:1024px) {
  .ttl-size-medium {
    font-size: 32px;
  }

  .ttl-size-small {
    font-size: 26px;
  }

  .ttl-size-xsmall {
    font-size: 24px;
  }
}

@media(max-width:599px) {
  .ttl-size-medium {
    font-size: 26px;
  }

  .ttl-size-small {
    font-size: 22px;
  }

  .ttl-size-xsmall {
    font-size: 22px;
  }
}

/* sub-cmn */
.sub-cmn-01 {
  font-size: 24px;
  font-weight: 500;
}

@media(max-width:1024px) {
  .sub-cmn-01 {
    font-size: 20px;
  }
}

@media(max-width:599px) {
  .sub-cmn-01 {
    font-size: 18px;
    letter-spacing: 0;
  }
}

.sub-cmn-02 {
  font-size: 20px;
}

/* btn-type */
.btn-type-01 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.btn-type-01 a,
.btn-type-01 button {
  display: block;
  text-align: center;
  background: #fff;
  color: var(--color01);
  border: 1px solid var(--color01);
  padding: 10px 50px 10px 40px;
  font-size: 18px;
  min-width: 220px;
  position: relative;
  border-radius: 100px;
  -webkit-transform: rotateZ(0.03deg);
  transform: rotateZ(0.03deg);
}

.btn-type-01 a:hover,
.btn-type-01 button:hover {
  opacity: 1;
  background: var(--color01);
  color: #fff;
}

.btn-type-01 a::after,
.btn-type-01 button::after {
  content: "\f054";
  font-weight: bold;
  font-family: var(--ff99);
  line-height: 0;
  letter-spacing: 0;
  position: absolute;
  top: 50%;
  right: 10px;
  font-size: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: .5s;
  transition: .5s;
  background-color: var(--color01);
  color: #fff;
  width: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  aspect-ratio: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 50%;
}

.btn-type-01 a:hover::after, .btn-type-01 button:hover::after{
  color: var(--color01);
  background-color: #fff;
}

.btn-type-01.back a, .btn-type-01.back button {
    padding: 10px 40px 10px 50px;
}

.btn-type-01.back a::after, .btn-type-01.back button::after{
  content: "\f053";
  left: 10px;
  right: auto;
}

.btn-type-01.min a,
.btn-type-01.min button {
  font-size: 16px;
  min-width: 200px;
}

.btn-type-01.blue a,
.btn-type-01.blue button {
  background-color: var(--color01);
  color: #fff;
}

.btn-type-01.blue a:hover,
.btn-type-01.blue button:hover {
  color: var(--color01);
  background-color: #fff;
}

.btn-type-01.blue a::after,
.btn-type-01.blue button::after {
  background-color: #fff;
  color: var(--color01);
}

.btn-type-01.blue a:hover::after, .btn-type-01.blue button:hover::after{
  background-color: var(--color01);
    color: #fff;
}

@media(max-width:599px) {}

.btn-type-02 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.btn-type-02 a {
  background-color: var(--color01);
  padding: 25px 30px;
  position: relative;
  font-size: 22px;
  color: #fff;
  font-weight: 500;
  border-radius: 100px;
  display: block;
  text-align: center;
  border: 2px solid var(--color01);
}

.btn-type-02 a:hover {
  opacity: 1;
  background-color: #fff;
  color: var(--color01)
}

@media(max-width:599px) {
  .btn-type-02 a {
    font-size: 18px;
  }
}

/* parts-illust */
.parts-illust {}

.waving1 {
  -webkit-animation: fuwafuwa 3s ease-in-out infinite alternate;
  animation: fuwafuwa 3s ease-in-out infinite alternate;
}

.waving2 {
  -webkit-animation: fuwafuwa 1.5s ease-in-out infinite alternate;
  animation: fuwafuwa 1.5s ease-in-out infinite alternate;
}

@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0) rotate(-4deg);
    transform: translate(0, 0) rotate(-4deg);
  }

  50% {
    -webkit-transform: translate(0, -4px) rotate(0deg);
    transform: translate(0, -4px) rotate(0deg);
  }

  100% {
    -webkit-transform: translate(0, 0) rotate(4deg);
    transform: translate(0, 0) rotate(4deg);
  }
}

@keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0) rotate(-4deg);
    transform: translate(0, 0) rotate(-4deg);
  }

  50% {
    -webkit-transform: translate(0, -4px) rotate(0deg);
    transform: translate(0, -4px) rotate(0deg);
  }

  100% {
    -webkit-transform: translate(0, 0) rotate(4deg);
    transform: translate(0, 0) rotate(4deg);
  }
}

.waving3 {
  -webkit-animation: fluffy 3s ease-in-out infinite alternate;
  animation: fluffy 3s ease-in-out infinite alternate;
}

@-webkit-keyframes fluffy {

  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  50% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
}

@keyframes fluffy {

  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  50% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
}

.waving-fishes {
  -webkit-animation: fluffy-fish 2s ease-in-out infinite alternate;
  animation: fluffy-fish 2s ease-in-out infinite alternate;
}

.waving-fishes1-2 {
  -webkit-animation: fluffy-fish 2.5s ease-in-out infinite alternate;
  animation: fluffy-fish 2.5s ease-in-out infinite alternate;
}

.waving-fishes1-3 {
  -webkit-animation: fluffy-fish 1.5s ease-in-out infinite alternate;
  animation: fluffy-fish 1.5s ease-in-out infinite alternate;
}

.waving-fishes2 {
  -webkit-animation: fluffy-fish2 2s ease-in-out infinite alternate;
  animation: fluffy-fish2 2s ease-in-out infinite alternate;
}

.waving-fishes2-2 {
  -webkit-animation: fluffy-fish2 2.3s ease-in-out infinite alternate;
  animation: fluffy-fish2 2.3s ease-in-out infinite alternate;
}

.waving-fishes2-2 {
  -webkit-animation: fluffy-fish2 1.8s ease-in-out infinite alternate;
  animation: fluffy-fish2 1.8s ease-in-out infinite alternate;
}

@-webkit-keyframes fluffy-fish {

  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  50% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

@keyframes fluffy-fish {

  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  50% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

@-webkit-keyframes fluffy-fish2 {

  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  50% {
    -webkit-transform: translateY(15px);
    transform: translateY(15px);
  }
}

@keyframes fluffy-fish2 {

  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  50% {
    -webkit-transform: translateY(15px);
    transform: translateY(15px);
  }
}

.waving4 {
  -webkit-animation: leaf-wave 4s ease-in-out infinite alternate;
  animation: leaf-wave 4s ease-in-out infinite alternate;
}

@-webkit-keyframes leaf-wave {

  0%,
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  50% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
}

@keyframes leaf-wave {

  0%,
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  50% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
}

/* sp-order */
@media(max-width:599px) {
  .sp-order-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .sp-order-contents {
    display: contents;
  }

  .sp-order-box .sp-order-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .sp-order-box .sp-order-2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .sp-order-box .sp-order-3 {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
  
  .sp-order-box .sp-order-4 {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
  }
}

/* line-cmn */
.line-cmn-01 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;

  -webkit-line-clamp: 1;
}

.line-cmn-02 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
}

@media(max-width:599px) {
  .line-cmn-02\@sp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 2;
  }
}

/* indent-cmn */
.indent-half {
  text-indent: -10px;
}

.indent-cmn-01 {
  padding-left: 1em;
  text-indent: -1em;
}

.indent-cmn-02 {
  padding-left: 1.5em;
  position: relative;
}

.indent-cmn-02::before {
  content: "\f058";
  font-family: var(--ff99);
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
}

/* other */
.box-cmn-01 {
  background: var(--color05);
  padding: 60px;
}

.box-cmn-01.white {
  background: rgb(255 255 255 / 80%);
}

.box-cmn-02 {
  background: var(--color05);
  padding: 50px;
}

@media(max-width:1024px) {
  .box-cmn-01 {
    padding: 50px 20px;
  }

  .box-cmn-02 {
    padding: 50px 20px;
  }
}

@media(max-width:599px) {
  .box-cmn-01 {
    padding: 30px 10px;
  }

  .box-cmn-02 {
    padding: 30px 15px;
  }

  .box-cmn-01.white {
    background: rgb(255 255 255 / 90%);
  }
}

/* 共通コンテンツ間隔 */

[class*="section-m"],
[class*="section-p"] {
  --section-xlarge: 150px;
  --section-large: 120px;
  --section-medium: 100px;
  --section-small: 80px;
  --section-xsmall: 60px;
}

.section-my-xlarge {
  margin-top: var(--section-xlarge);
  margin-bottom: var(--section-xlarge);
}

.section-mt-xlarge {
  margin-top: var(--section-xlarge);
}

.section-mb-xlarge {
  margin-bottom: var(--section-xlarge);
}

.section-my-large {
  margin-top: var(--section-large);
  margin-bottom: var(--section-large);
}

.section-mt-large {
  margin-top: var(--section-large);
}

.section-mb-large {
  margin-bottom: var(--section-large);
}

.section-my-medium {
  margin-top: var(--section-medium);
  margin-bottom: var(--section-medium);
}

.section-mt-medium {
  margin-top: var(--section-medium);
}

.section-mb-medium {
  margin-bottom: var(--section-medium);
}

.section-my-small {
  margin-top: var(--section-small);
  margin-bottom: var(--section-small);
}

.section-mt-small {
  margin-top: var(--section-small);
}

.section-mb-small {
  margin-bottom: var(--section-small);
}

.section-my-xsmall {
  margin-top: var(--section-xsmall);
  margin-bottom: var(--section-xsmall);
}

.section-mt-xsmall {
  margin-top: var(--section-xsmall);
}

.section-mb-xsmall {
  margin-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
  .section-my-xlarge {
    margin-top: calc(var(--section-xlarge) * 0.8);
    margin-bottom: calc(var(--section-xlarge) * 0.8);
  }

  .section-mt-xlarge {
    margin-top: calc(var(--section-xlarge) * 0.8);
  }

  .section-mb-xlarge {
    margin-bottom: calc(var(--section-xlarge) * 0.8);
  }

  .section-my-large {
    margin-top: calc(var(--section-large) * 0.8);
    margin-bottom: calc(var(--section-large) * 0.8);
  }

  .section-mt-large {
    margin-top: calc(var(--section-large) * 0.8);
  }

  .section-mb-large {
    margin-bottom: calc(var(--section-large) * 0.8);
  }

  .section-my-medium {
    margin-top: calc(var(--section-medium) * 0.8);
    margin-bottom: calc(var(--section-medium) * 0.8);
  }

  .section-mt-medium {
    margin-top: calc(var(--section-medium) * 0.8);
  }

  .section-mb-medium {
    margin-bottom: calc(var(--section-medium) * 0.8);
  }

  .section-my-small {
    margin-top: calc(var(--section-small) * 0.8);
    margin-bottom: calc(var(--section-small) * 0.8);
  }

  .section-mt-small {
    margin-top: calc(var(--section-small) * 0.8);
  }

  .section-mb-small {
    margin-bottom: calc(var(--section-small) * 0.8);
  }

  .section-my-xsmall {
    margin-top: calc(var(--section-xsmall) * 0.8);
    margin-bottom: calc(var(--section-xsmall) * 0.8);
  }

  .section-mt-xsmall {
    margin-top: calc(var(--section-xsmall) * 0.8);
  }

  .section-mb-xsmall {
    margin-bottom: calc(var(--section-xsmall) * 0.8);
  }
}

@media (max-width: 599px) {
  .section-my-xlarge {
    margin-top: calc(var(--section-xlarge) * 0.6);
    margin-bottom: calc(var(--section-xlarge) * 0.6);
  }

  .section-mt-xlarge {
    margin-top: calc(var(--section-xlarge) * 0.6);
  }

  .section-mb-xlarge {
    margin-bottom: calc(var(--section-xlarge) * 0.6);
  }

  .section-my-large {
    margin-top: calc(var(--section-large) * 0.6);
    margin-bottom: calc(var(--section-large) * 0.6);
  }

  .section-mt-large {
    margin-top: calc(var(--section-large) * 0.6);
  }

  .section-mb-large {
    margin-bottom: calc(var(--section-large) * 0.6);
  }

  .section-my-medium {
    margin-top: calc(var(--section-medium) * 0.6);
    margin-bottom: calc(var(--section-medium) * 0.6);
  }

  .section-mt-medium {
    margin-top: calc(var(--section-medium) * 0.6);
  }

  .section-mb-medium {
    margin-bottom: calc(var(--section-medium) * 0.6);
  }

  .section-my-small {
    margin-top: calc(var(--section-small) * 0.6);
    margin-bottom: calc(var(--section-small) * 0.6);
  }

  .section-mt-small {
    margin-top: calc(var(--section-small) * 0.6);
  }

  .section-mb-small {
    margin-bottom: calc(var(--section-small) * 0.6);
  }

  .section-my-xsmall {
    margin-top: calc(var(--section-xsmall) * 0.6);
    margin-bottom: calc(var(--section-xsmall) * 0.6);
  }

  .section-mt-xsmall {
    margin-top: calc(var(--section-xsmall) * 0.6);
  }

  .section-mb-xsmall {
    margin-bottom: calc(var(--section-xsmall) * 0.6);
  }
}

.section-py-xlarge {
  padding-top: var(--section-xlarge);
  padding-bottom: var(--section-xlarge);
}

.section-pt-xlarge {
  padding-top: var(--section-xlarge);
}

.section-pb-xlarge {
  padding-bottom: var(--section-xlarge);
}

.section-py-large {
  padding-top: var(--section-large);
  padding-bottom: var(--section-large);
}

.section-pt-large {
  padding-top: var(--section-large);
}

.section-pb-large {
  padding-bottom: var(--section-large);
}

.section-py-medium {
  padding-top: var(--section-medium);
  padding-bottom: var(--section-medium);
}

.section-pt-medium {
  padding-top: var(--section-medium);
}

.section-pb-medium {
  padding-bottom: var(--section-medium);
}

.section-py-small {
  padding-top: var(--section-small);
  padding-bottom: var(--section-small);
}

.section-pt-small {
  padding-top: var(--section-small);
}

.section-pb-small {
  padding-bottom: var(--section-small);
}

.section-py-xsmall {
  padding-top: var(--section-xsmall);
  padding-bottom: var(--section-xsmall);
}

.section-pt-xsmall {
  padding-top: var(--section-xsmall);
}

.section-pb-xsmall {
  padding-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
  .section-py-xlarge {
    padding-top: calc(var(--section-xlarge) * 0.8);
    padding-bottom: calc(var(--section-xlarge) * 0.8);
  }

  .section-pt-xlarge {
    padding-top: calc(var(--section-xlarge) * 0.8);
  }

  .section-pb-xlarge {
    padding-bottom: calc(var(--section-xlarge) * 0.8);
  }

  .section-py-large {
    padding-top: calc(var(--section-large) * 0.8);
    padding-bottom: calc(var(--section-large) * 0.8);
  }

  .section-pt-large {
    padding-top: calc(var(--section-large) * 0.8);
  }

  .section-pb-large {
    padding-bottom: calc(var(--section-large) * 0.8);
  }

  .section-py-medium {
    padding-top: calc(var(--section-medium) * 0.8);
    padding-bottom: calc(var(--section-medium) * 0.8);
  }

  .section-pt-medium {
    padding-top: calc(var(--section-medium) * 0.8);
  }

  .section-pb-medium {
    padding-bottom: calc(var(--section-medium) * 0.8);
  }

  .section-py-small {
    padding-top: calc(var(--section-small) * 0.8);
    padding-bottom: calc(var(--section-small) * 0.8);
  }

  .section-pt-small {
    padding-top: calc(var(--section-small) * 0.8);
  }

  .section-pb-small {
    padding-bottom: calc(var(--section-small) * 0.8);
  }

  .section-py-xsmall {
    padding-top: calc(var(--section-xsmall) * 0.8);
    padding-bottom: calc(var(--section-xsmall) * 0.8);
  }

  .section-pt-xsmall {
    padding-top: calc(var(--section-xsmall) * 0.8);
  }

  .section-pb-xsmall {
    padding-bottom: calc(var(--section-xsmall) * 0.8);
  }
}

@media (max-width: 599px) {
  .section-py-xlarge {
    padding-top: calc(var(--section-xlarge) * 0.6);
    padding-bottom: calc(var(--section-xlarge) * 0.6);
  }

  .section-pt-xlarge {
    padding-top: calc(var(--section-xlarge) * 0.6);
  }

  .section-pb-xlarge {
    padding-bottom: calc(var(--section-xlarge) * 0.6);
  }

  .section-py-large {
    padding-top: calc(var(--section-large) * 0.6);
    padding-bottom: calc(var(--section-large) * 0.6);
  }

  .section-pt-large {
    padding-top: calc(var(--section-large) * 0.6);
  }

  .section-pb-large {
    padding-bottom: calc(var(--section-large) * 0.6);
  }

  .section-py-medium {
    padding-top: calc(var(--section-medium) * 0.6);
    padding-bottom: calc(var(--section-medium) * 0.6);
  }

  .section-pt-medium {
    padding-top: calc(var(--section-medium) * 0.6);
  }

  .section-pb-medium {
    padding-bottom: calc(var(--section-medium) * 0.6);
  }

  .section-py-small {
    padding-top: calc(var(--section-small) * 0.6);
    padding-bottom: calc(var(--section-small) * 0.6);
  }

  .section-pt-small {
    padding-top: calc(var(--section-small) * 0.6);
  }

  .section-pb-small {
    padding-bottom: calc(var(--section-small) * 0.6);
  }

  .section-py-xsmall {
    padding-top: calc(var(--section-xsmall) * 0.6);
    padding-bottom: calc(var(--section-xsmall) * 0.6);
  }

  .section-pt-xsmall {
    padding-top: calc(var(--section-xsmall) * 0.6);
  }

  .section-pb-xsmall {
    padding-bottom: calc(var(--section-xsmall) * 0.6);
  }
}

/* slick */
.slick-next,
.slick-prev {
  z-index: 2;
  width: 40px;
  height: 40px;
}

button:hover.slick-prev,
button:hover.slick-next {
  opacity: 1;
}

.slick-prev::before,
.slick-next::before {
  font-family: var(--ff99);
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  letter-spacing: 0;
  background: var(--color01);
  width: 100%;
  height: 100%;
  font-size: 12px;
  opacity: 1;
  -webkit-transition: .5s;
  transition: .5s;
  border: 1px solid var(--color01);
}

.slick-next::before {
  content: "\f054";
}

.slick-prev::before {
  content: "\f053";
}

button:hover.slick-prev::before,
button:hover.slick-next::before {
  background: #fff;
  color: var(--color01);
}

/* fead */
[class*='fead'].mv {
  -webkit-transition: 0.8s ease-out;
  transition: 0.8s ease-out;
}

.fead-mv.mv {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.fead-up.mv {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.fead-order>* {
  opacity: 0;
}

.fead-order>.mv {
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

/* fead-textは準備完了（span化）するまで表示しない */
.fead-text {
  visibility: hidden;
  opacity: 0;
}

/* span化が終わったら表示可能にする（まだ透明のまま） */
.fead-text.is-ready {
  visibility: visible;
  opacity: 0;
}

/* mvが付いたらフェードイン */
.fead-text.is-ready.mv {
  opacity: 1;
}

[data-element-id] .fead-text {
  visibility: visible;
  opacity: 1;
}

/* .fead-road-original {
  opacity: 1;
}

.fead-road-original img {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}

.fead-road-original.mv img {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
} */

/* shine */
.shine a {
    overflow: hidden;
    position: relative;
}

/* 光の疑似要素 */
.shine a::before {
    content: "";
    width: 200%;
    height: 100%;
    background-color: #fff;
    opacity: 0.5;
    -webkit-transform: skewX(-45deg);
    transform: skewX(-45deg);
    -webkit-transform-origin: top right;
    transform-origin: top right;
    -webkit-animation: shine 4s cubic-bezier(0.25, 0, 0.25, 1) infinite;
    animation: shine 4s cubic-bezier(0.25, 0, 0.25, 1) infinite;
    position: absolute;
    top: 0;
    left: -200%;
    pointer-events: none;
}

@-webkit-keyframes shine {
    0% {
        opacity: 0;
        left: -200%;
    }

    70% {
        opacity: 0.5;
        left: -200%;
    }

    71% {
        opacity: 1;
        left: -200%;
    }

    100% {
        opacity: 0;
        left: 400%;
    }
}

@keyframes shine {
    0% {
        opacity: 0;
        left: -200%;
    }

    70% {
        opacity: 0.5;
        left: -200%;
    }

    71% {
        opacity: 1;
        left: -200%;
    }

    100% {
        opacity: 0;
        left: 400%;
    }
}

/* show hide */
.show\@pc {
  display: block;
}

.hide\@pc {
  display: none;
}

[data-element-id] .hide\@pc{
  display:block;
}

@media (max-width: 1024px) {
  .show\@tb {
    display: block;
  }

  .hide\@tb {
    display: none;
  }
}

@media (max-width: 599px) {
  .show\@sp {
    display: block;
  }

  .hide\@sp {
    display: none;
  }
}

/********************************
/********************************
/********************************

l_modal

********************************/
.js-modal-open01 {
  cursor: pointer;
}

.modal {
  width: 100%;
  height: 100vh;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.modal__bg {
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  position: absolute;
}

.modal__content {
  width: 60%;
  padding: 60px 40px;
  border-radius: 20px;
  background: #fff;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
}

.modal .btn_close {
    display: block;
    padding: 10px 15px 10px;
    text-align: center;
    border: 2px solid #838383;
    border-radius: 5px;
    background: #fff;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 150px;
    color: #838383;
    margin-left: auto;
    margin-right: auto;
    transform: rotateZ(0.03deg);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.modal .btn_close:hover{
  opacity: 1;
}

.modal .tablebox {
    padding: 10px 15px 15px;
    border: 2px solid var(--color08);
}

@media(max-width:1024px){
  .modal__content{
    width: 90%;
    padding: 50px 20px;
  }
}

@media(max-width:599px){
  .modal__content{
    width: 94%;
    padding: 30px 10px;
    border-radius: 15px;
  }
  
  .modal .tablebox {
    padding: 10px 8px 15px;
  }
  
  .modal .tablebox dl dt {
    width: 200px;
    font-size: 13px;
  }
}

/*===================================
  他共通エレメント -cmn
===================================*/
/*===================================
  共通要素
===================================*/
/*h1ページタイトル */
.pagettl {
  font-size: 14px;
  width: 98%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  font-weight: 500;
  transform: rotateZ(0.03deg);
}

header>.pagettl {
  display: none;
}

@media(max-width:1024px) {
  .pagettl {
    width: 100%;
    margin-top: 10px;
    margin-bottom: 20px;
  }
}

@media(max-width:599px) {
  .pagettl {}
}

/**
ヘッダー
header
*/
.header {
  padding: 0;
  z-index: 100;
}

.header .header-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 98%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-bottom: 20px;
  padding-top: 15px;
}

.header .header-info .right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  column-gap: 10px;
}

.header .header-info .right .contact a {
  background-color: var(--color01);
  color: #fff;
  border-radius: 100px;
  padding: 10px 20px;
  font-size: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  column-gap: 10px;
  transform: rotateZ(0.03deg);
  border: 2px solid var(--color01);
}

.header .header-info .right .contact a:hover{
  color: #1443a6;
  background-color: #fff;
  opacity: 1;
}

.header .header-info .right .contact a:before {
  content: "";
  background-image: url('/import/tenant_1/85.131.246.59/html/images/icon-mail-brown.webp');
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 33 / 25;
  width: 30px;
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(348deg) brightness(101%) contrast(103%);
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(348deg) brightness(101%) contrast(103%);
}

.header .header-info .right .contact a:hover:before{
  filter: brightness(0) saturate(100%) invert(16%) sepia(57%) saturate(5166%) hue-rotate(221deg) brightness(83%) contrast(87%);
}

.header .sns-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}

.header .sns-box .sns-item {
  width: 50px;
}

.header .sns-box .sns-item img{
  transition: .5s;
}

.header .sns-box .sns-item a:hover{
  opacity: 1;
}

.header .sns-box .sns-item a:hover img{
  transform: scale(1.1);
}

.header .header-nav {
  background-image: url('/import/tenant_1/85.131.246.59/html/images/nav-bgi.webp');
  background-repeat: no-repeat;
  background-size: cover;
  padding: 30px 0;
  position: relative;
}

.fixed .header .header-nav {
  padding: 15px 0;
}

.header .header-nav .illust-leaf-right,
.header .header-nav .illust-leaf-left {
  position: absolute;
  top: 5px;
  width: 13vw;
  max-width: 180px;
  z-index: 4;
  -webkit-transition: 2s;
  transition: 2s;
}

.header .header-nav .illust-leaf-left {
  left: 0;
  top: -20px;
}

.header .header-nav .illust-leaf-right {
  right: 0;
}

.fixed .header .header-nav .illust-leaf-right {
  right: -50%;
}

.fixed .header .header-nav .illust-leaf-left {
  left: -50%;
}

.header .logo img {
  max-height: 50px;
}

@media (max-width: 1024px) {
  .header .header-info {
    padding-bottom: 0;
    display: none;
  }

  .header .header-common .header-nav {
    position: fixed;
    top: 0;
    right: 0;
    overflow: auto;
    width: 100%;
    max-width: 450px;
    padding: 30px 10px;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    -webkit-transition: -webkit-transform ease 0.5s;
    transition: -webkit-transform ease 0.5s;
    transition: transform ease 0.5s;
    transition: transform ease 0.5s, -webkit-transform ease 0.5s;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    -webkit-overflow-scrolling: touch;
  }

  .drawer-active .header .header-common .header-nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 250;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: #fff;
    -webkit-box-shadow: 0 0 5px 0 #999;
    box-shadow: 0 0 5px 0 #999;
    cursor: pointer;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    overflow-y: scroll;
  }

  .header .right .info-block {
    -webkit-transform: none;
    transform: none;
    padding-top: 50px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    letter-spacing: 0;
  }

  .header .header-nav .illust-leaf-right,
  .header .header-nav .illust-leaf-left {
    display: none;
  }
}

/* 下部固定コンテンツ */
.fix-bottom {
  position: fixed;
  top: 50%;
  right: -100px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 20px;
  -webkit-transition: 1s;
  transition: 1s;
}

.fix-bottom.mv {
  right: 0;
}

.fix-bottom a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 10px 10px 10px 15px;
  font-size: 22px;
  background: #fff;
  color: var(--color01);
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  min-width: 72px;
  min-height: 150px;
  gap: 10px;
  border: 2px solid transparent;
  border-right: none;
  border-radius: 10px 0 0 10px;
  letter-spacing: 2px;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  box-shadow: -1px 1px 5px rgb(0 0 0 / 20%);
}

.fix-bottom a .text-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: row;
  line-height: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5px;
}

.fix-bottom a .item-text {
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0;
  margin-right: -5px;
  -webkit-transform: rotateZ(0.03deg);
  transform: rotateZ(0.03deg);
}

.fix-bottom a .text-item:before {
  margin-right: 5px;
  content: '';
  background-size: cover;
  aspect-ratio: 100 / 99;
  width: 20px;
  margin-right: 0;
}

.fix-bottom .contact a:hover,.fix-bottom .tel:hover a {
  background: var(--color01);
  color: #f1f5f4;
  opacity: 1;
  border-color: var(--color01);
}

.fix-bottom .tel .text-item:before {
  background-image: url('/import/tenant_1/85.131.246.59/html/images/icon-calender.webp');
  aspect-ratio: 16 / 17;
  width: 27px;
}

.fix-bottom .contact a:hover .text-item:before,.fix-bottom .tel:hover .text-item:before{
  filter: brightness(0) saturate(100%) invert(100%) sepia(3%) saturate(7435%) hue-rotate(192deg) brightness(107%) contrast(93%);
}

.fix-bottom .contact a .text-item:before {
  background-image: url('/import/tenant_1/85.131.246.59/html/images/icon-mail-brown.webp');
  aspect-ratio: 33 / 25;
  width: 30px;
}

.fix-bottom .schedule a .text-item:before {
  background-image: url('/import/tenant_1/85.131.246.59/html/images/icon-clock.webp');
  aspect-ratio: 1;
  width: 30px;
}

@media (max-width: 1024px) {
  .fix-bottom {
    position: fixed;
    bottom: 4px;
    top: auto;
    -webkit-transform: none;
    transform: none;
    left: 4px;
    z-index: 250;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(100% - 8px);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 4px;
  }

  .fix-bottom .item {
    width: calc(100% / 2);
    padding: 0;
    border-radius: 0;
  }

  .fix-bottom .item a {
    -webkit-writing-mode: inherit;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
    min-height: 70px;
    -webkit-box-shadow: 0 2px 5px rgb(0 0 0 / 30%);
    box-shadow: 0 2px 5px rgb(0 0 0 / 30%);
    border-radius: 8px;
    border: 2px solid transparent;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 5px;
  }

  .fix-bottom a:before {
    width: 26px;
    margin-right: 5px;
  }
}

@media(max-width:599px) {
  .fix-bottom .item a {
    min-height: 70px;
    font-size: 17px;
    letter-spacing: 0;
    padding: 5px;
  }

  .fix-bottom a .item-text {
    display: none;
  }

  .fix-bottom a .text-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/**
グローバルナビ
gnav
*/
.fixed .header .header-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 15%);
  box-shadow: 0 0 10px rgb(0 0 0 / 15%);
  z-index: 20;
}

.gnav {
  position: relative;
  z-index: 100;
}

.gnav .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.gnav .list01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 40px;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.fixed .gnav .list01 {
  gap: 20px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.gnav .item01 {
  text-align: center;
  font-size: 16px;
}

.gnav .item01.-logo {
  display: none;
}

.gnav .item01.-logo img {
  opacity: 0;
  width: 0px;
  visibility: hidden;
  -webkit-transition: .5s;
  transition: .5s;
  -webkit-transition-delay: .3s;
  transition-delay: .3s;
}

.fixed .gnav .item01.-logo {
  display: block;
}

.fixed .gnav .item01.-logo img {
  opacity: 1;
  visibility: visible;
  width: 280px;
}

.fixed .gnav .item01 .hide\@pc {
  display: block;
}

.gnav .item01>a,
.gnav .item01 .itemin {
  display: block;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
      transform: rotateZ(0.03deg);
      position: relative;
  z-index: 2;
}

.gnav .item01>a::before, .gnav .item01 .itemin::before {
    content: "";
    width: 100%;
    height: 2px;
    background-color: var(--color02);
    display: block;
    bottom: -8px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: .5s;
}

.gnav .item01>a:hover, .gnav .item01 .itemin:hover,.gnav .item01>a:hover::before, .gnav .item01.-parent:hover .itemin::before {
    opacity: 1;
}


.gnav .item01.-parent {
  position: relative;
}

.gnav .item01.-parent:hover .list02 {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.gnav .list02 {
  position: absolute;
  top: calc(100% - 40px);
  left: 50%;
  visibility: hidden;
  padding-top: 70px;
  width: 200px;
  font-size: 15px;
  letter-spacing: 1px;
  background: rgb(255 255 255) content-box;
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  pointer-events: none;
}

.gnav .list02.-type2 {
  width: 400px;
}

.fixed .gnav .list02 {
  padding-top: 55px;
}

.fixed .gnav .list02.-type1 {
  top: calc(100% - 28px);
}

.gnav .item02 {
  border-top: 1px solid var(--color02);
}

.gnav .item02:first-of-type {
  border-top: none;
}

.gnav .item02 a {
  display: block;
  padding: 12px;
  -webkit-transition: .5s;
  transition: .5s;
  font-size: 16px;
  line-height: 1.3;
  color: var(--color01);
  font-weight: 500;
  transform: rotateZ(0.03deg);
}

.gnav .item02 a:hover {
  background-color: var(--color02);
  color: #fff;
  opacity: 1;
}

.gnav .item02 a .min {
  font-size: 80%;
  display: block;
  color: var(--color00);
}

.gnav .item02 a:hover .min {
  color: #fff;
}

@media (max-width: 1024px) {

  body.drawer-active {
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none;
  }

  .header .left,
  .header .pagettl,
  main,
  footer {
    -webkit-transition: .5s;
    transition: .5s;
  }

  .drawer-active main,
  .drawer-active footer {
    -webkit-filter: blur(3px);
    filter: blur(3px);
  }

  .gnav {
    margin-top: 40px;
  }

  .gnav .navlogo {
    display: block;
    margin-bottom: 20px;
    padding-right: 40px;
  }

  .gnav .list01 {
    gap: 20px;
  }

  .gnav .item01 {
    /* margin: 0 0 10px 0; */
    width: 100%;
    text-align: left;
  }
  
  .gnav .item01>a::before, .gnav .item01 .itemin::before {
    content: none;
  }
  
  .gnav .item01>a:hover {
    opacity: .5;
  }

  .gnav .list02 {
    position: relative;
    top: 0;
    left: 0;
    visibility: visible;
    padding-top: 0;
    background: none;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    width: 100%;
    margin-top: 5px;
    pointer-events: auto;
  }

  .gnav .list02 a {
    position: relative;
    padding: 0px 0 0px 1em;
    margin: 10px 0;
    display: block;
    font-size: 15px;
  }
  
  .gnav .item02 a:hover{
    background-color: unset;
    color: var(--color01);
    opacity: .5;
  }
  
  .gnav .item02 a:hover .min{
        color: var(--color00);
  }

  .gnav .list02 a::before {
    content: "\f054";
    font-family: var(--ff99);
    font-weight: bold;
    font-size: 10px;
    position: absolute;
    top: 4px;
    left: 1px;
  }

  .gnav .list02.-type1,
  .gnav .list02.-type2 {
    width: auto;
  }

  .gnav .item02 {
    border: none;
  }

  .gnav .right {
    border-top: dashed 2px #ccc;
    width: 100%;
    padding-top: 30px;
  }
}

@media(max-width:599px) {}

/* ハンバーガーメニュー  */
.toggle {
  position: relative !important;
  z-index: 251;
  height: 50px;
  width: 50px;
  border-radius: 70px;
  background: var(--color02);
  cursor: pointer;
  display: none;
}

.toggle .bar {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  margin-top: -1px;
  padding: 0;
  width: 28px;
  height: 3px;
  background: #fff;
  text-indent: 9999px;
  transition: ease 0.4s;
  -webkit-transition: ease 0.4s;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  border-radius: 10px;
}

.toggle .bar:nth-of-type(1) {
  top: calc(50% - 8px);
}

.toggle .bar:nth-of-type(3) {
  top: calc(50% + 8px);
}

.drawer-active .toggle .bar:nth-of-type(1) {
  -webkit-transform: translate(-50%, 0) rotate(45deg);
  transform: translate(-50%, 0) rotate(45deg);
  top: 50%;
}

.drawer-active .toggle .bar:nth-of-type(2) {
  opacity: 0;
}

.drawer-active .toggle .bar:nth-of-type(3) {
  -webkit-transform: translate(-50%, 0) rotate(-45deg);
  transform: translate(-50%, 0) rotate(-45deg);
  top: 50%;
}

@media (max-width: 1024px) {
  .toggle {
    display: block !important;
    position: fixed !important;
    top: 10px;
    right: 10px;
  }

  .drawer-active .overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 249;
    width: 100%;
    height: 100vh;
    background: #000;
    content: '';
    opacity: 0.3;
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
  }
}

/*トップへ戻る*/
.totop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 200;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid;
  color: #fff;
  background: #66937a;
  text-align: center;
  font-size: 12px;
  letter-spacing: 0;
  line-height: 35px;
  cursor: pointer;
}

.totop:before {
  content: '\f077';
  font-weight: bold;
  font-family: 'Font Awesome 5 Free';
}

@media (max-width: 1024px) {
  .totop {
    right: 10px;
    bottom: 60px;
  }
}

/* フッター footer */
/* footer-info */
.footer-info .logo {
  max-width: 420px;
}

.footer-info .tel {
  font-size: 36px;
  color: var(--color02);
  font-weight: 700;
  font-family: var(--ff02);
}

.footer-info .tel::before {
  content: "\f095";
  font-family: var(--ff99);
  font-weight: bold;
  font-size: 80%;
}

.footer-info .mapbox iframe {
  max-height: 350px;
}

.tablebox {
  background-color: var(--color07);
  padding: 5px 15px 15px;
  border-radius: 10px;
}

.tablebox dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.tablebox dl:first-of-type {
  border-bottom: 2px solid var(--color08);
}

.tablebox dl:last-of-type {
  border-bottom: 2px solid var(--color08);
}

.tablebox dl dt {
  width: 150px;
  padding: 10px 2px;
  font-size: 14px;
}

.tablebox dl dd {
  width: 60px;
  text-align: center;
  padding: 5px 2px;
}

.tablebox dl:not(:first-of-type) dd {
  color: var(--color01);
  font-size: 12px;
}

@media(max-width:599px) {
  .tablebox {
    padding: 5px 8px 15px;
  }

  .tablebox dl dt {
    width: 180px;
    letter-spacing: 0;
    font-size: 13px;
  }
}

/* フッターナビfooter-nav */
.footer-nav {
  position: relative;
  max-width: 100%;
  z-index: 2;
}

.footer-nav .illust-left-leaf,
.footer-nav .illust-right-leaf,
.footer-nav .illust-turtle,
.footer-nav .illust-kujira,
.footer-nav .illust-ei {
  position: absolute;
  z-index: 2;
}

.footer-nav .illust-left-leaf {
  top: 80px;
  left: 0;
  width: 16vw;
  max-width: 220px;
}

.footer-nav .illust-kujira {
  top: 0;
  left: -20px;
  -webkit-transform: translateX(-10px);
  transform: translateX(-10px);
  width: 22vw;
  max-width: 300px;
}

.footer-nav .illust-ei {
  bottom: 170px;
  left: 65px;
  width: 11vw;
  max-width: 140px;
}

.footer-nav .illust-right-leaf {
  top: 80px;
  right: 0;
  width: 18vw;
  max-width: 230px;
}

.footer-nav .illust-turtle {
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 14vw;
  max-width: 180px;
}

.footer-nav .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.footer-nav .txt {
  font-weight: 400;
}

.footer-nav .tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  font-size: 30px;
  font-family: var(--ff01);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: var(--color01);
  font-weight: 700;
}

.footer-nav .tel-icon {
  width: 40px;
}

.footer-nav .item a:before {
  position: absolute;
  top: 10px;
  left: 0;
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #000;
  content: '';
}

.footer-nav .data+.data,
.footer-nav .data2-list+.data {
  margin-top: 30px;
}

.footer-nav .data a,.footer-nav .data .a {
  position: relative;
  display: block;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  font-weight: 500;
  transform: rotateZ(0.03deg);
}

.footer-nav .data.-btn a {
  padding: 15px 20px;
  background-color: #fff;
  color: var(--color01);
  border-radius: 100px;
  text-align: center;
  font-weight: 500;
  min-width: 150px;
  border: 1px solid #fff;
  transition: .3s;
}

.footer-nav .data.-btn a:hover{
  color: #fff;
  background-color: var(--color01);
  text-decoration: none;
}

.footer-nav .datawrap .data2-list {
  padding-left: 10px;
}

.footer-nav .datawrap .data2 {
  margin-top: 12px;
  font-weight: 300;
}

.footer-nav .datawrap .data2 a {
  color: #fff;
  padding-left: 10px;
  position: relative;
  display: block;
  transform: rotateZ(0.03deg);
  transition: none;
}

.footer-nav .datawrap .data2 a::before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
}

.footer-nav .data a{
  transition: none;
}

.footer-nav .data a:hover,.footer-nav .datawrap .data2 a:hover{
  opacity: 1;
  text-decoration: underline;
}

.footer-nav .sns-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}

.footer-nav .sns-box .sns-item {
  width: 50px;
}

.footer-nav .sns-box .sns-item a:hover{
  opacity: 1;
}

.footer-nav .sns-box .sns-item a img{
  transition: .5s;
}

.footer-nav .sns-box .sns-item a:hover img{
  transform: scale(1.1);
}

.footer-info-inner .logo {
  width: 100%;
  max-width: 380px;
}

.footer-info-inner .map-item iframe {
  width: 100%;
  max-height: 370px;
  border-radius: 10px;
}

.footer .copy {
  margin-top: 60px;
  padding-top: 30px;
  border-top: 1px solid var(--color10);
  font-size: 16px;
  color: #fff;
  text-align: center;
}

.footer .copy small{
      transform: rotateZ(0.03deg);
      display: block;
}

@media (max-width: 1024px) {
  .footer-nav .illust-left-leaf {
    top: -20px;
    width: 18vw;
  }

  .footer-nav .illust-right-leaf {
    top: auto;
    bottom: 21px;
  }

  .footer-nav .illust-kujira {
    width: 28vw;
  }

  .footer-nav .illust-ei {
    bottom: 100px;
    left: 15px;
    width: 12vw;
  }

  .footer-nav .illust-turtle {
    top: auto;
    bottom: 90px;
    right: 20px;
    -webkit-transform: none;
    transform: none;
    width: 16vw;
  }

  .footer .copy {
    padding-bottom: 20px;
  }
}

@media (max-width: 599px) {
  .footer-nav .datawrap {
    width: 100%;
  }

  .footer-nav .data+.data,
  .footer-nav .data2-list+.data {
    margin-top: 20px;
  }

  .footer-nav .datawrap.-type01 {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
  }

  .footer-nav .datawrap+.datawrap {
    margin-top: 20px;
  }

  .footer-info-inner .map-item iframe {
    max-height: 250px;
  }

  .footer-nav .illust-kujira {
    width: 50vw;
    top: 20px;
  }

  .footer-nav .illust-left-leaf {
    top: -40px;
    width: 28vw;
  }

  .footer-nav .illust-ei {
    bottom: auto;
    top: 40px;
    left: auto;
    right: 20px;
    width: 22vw;
  }

  .footer-nav .illust-right-leaf {
    width: 32vw;
    max-width: 120px;
    bottom: 110px;
  }

  .footer-nav .illust-turtle {
    bottom: 150px;
    right: 0px;
    width: 26vw;
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
  }

  .footer .copy {
    padding-bottom: 40px;
  }
}

/**
2カラムページ
*/
.column2 .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.column2 .side {
  width: 235px;
  background-color: var(--color02);
  padding: 10px;
  border-radius: 10px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.column2 .mainwrap {
  width: calc(100% - 285px);
}

@media (max-width: 1024px) {
  .column2 .inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .column2 .side {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    margin-bottom: 50px;
    width: 100%;
  }

  .column2 .mainwrap {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-bottom: 50px;
    width: 100%;
  }
}

/* サイドメニュー */
.side .list+.list {
  margin-top: 30px;
}

@media (max-width: 1024px) {
  .side {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .side .list {
    width: calc((100% - 10px)/2);
  }

  .side .list+.list {
    margin-top: 0;
  }
}

@media (max-width: 599px) {
  .side .list {
    width: 100%;
  }

  .side .list+.list {
    margin-top: 10px;
  }
}

.list-side .datattl {
  position: relative;
  margin-bottom: 5px;
  padding: 10px 10px 5px;
  color: #fff;
  line-height: 1;
  letter-spacing: 2px;
  text-align: center;
  font-size: 24px;
  font-family: var(--ff02);
  font-weight: 600;
}

.list-side .data {
  margin-bottom: 5px;
}

.list-side a {
  position: relative;
  display: block;
  padding: 8px 10px 8px 30px;
  line-height: 1.5;
  width: 100%;
  background: #fff;
  border-radius: 3px;
  transform: rotateZ(0.03deg);
}

.list-side a:hover {
  background: var(--color01);
  opacity: 1;
  color: #fff;
}

.list-side a:before {
  position: absolute;
  top: 12px;
  left: 10px;
  color: var(--color01);
  content: '●';
  font-size: 10px;
  font-family: auto;
}

.list-side a:hover:before {
  color: #fff;
}

@media (max-width: 1024px) {
  .list-side.type-archive .datawrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .list-side.type-archive .datawrap .datattl {
    width: 100%;
  }

  .list-side.type-archive .datawrap .data {
    width: calc((100% - 5px) / 2);
  }
}

/* list-cmn */
.list-01 {
  background-color: #fff;
  padding: 20px;
  border-radius: 20px;
}

.list-01 .list-01-item {
  position: relative;
  padding-left: 45px;
  font-size: 20px;
  font-weight: 500;
  padding-bottom: 5px;
}

.list-01 .list-01-item::before {
  content: "";
  background-image: url('/import/tenant_1/85.131.246.59/html/images/icon-check.webp');
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 40/33;
  width: 40px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.list-01 .list-01-item::after {
  content: "";
  border-bottom: 1px dashed var(--color02);
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
}

.list-01 .list-01-item+.list-01-item {
  margin-top: 10px;
}

/*===================================
  各個別コンテンツ
===================================*/
/**
index
*/
/*homevisual*/
.homevisual {
  position: relative;
  height: auto;
  margin-bottom: -10vw;
}

.homevisual+section {
  padding-top: 6vw;
}

.homevisual .img {
  position: relative;
  min-height: 300px;
  height: calc(100vh - 170px);
  width: 100%;
  -webkit-mask-image: url('/import/tenant_1/85.131.246.59/html/images/mv_shape.webp');
  -webkit-mask-size: cover;
  -webkit-mask-position: bottom;
  mask-position: bottom;
  aspect-ratio: 130 / 103;
}

.homevisual .img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover; object-position: 50% 50%;';
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
}

.homevisual .head {
  position: absolute;
  bottom: 20%;
  left: 0;
  width: 100%;
}

.homevisual .head .ja {
  font-size: 45px;
  font-weight: 600;
  color: var(--color01);
  margin-bottom: 20px;
  text-shadow: var(--text-shadow2);
}

.homevisual .head .en {
  color: #ff775a;
  font-size: 22px;
  font-weight: 500;
  text-shadow: var(--text-shadow1);
}

.mv-leaf-right, .mv-leaf-left {
    max-width: 100px;
    position: absolute;
    bottom: 0;
    display: none;
}

.mv-leaf-right{
  right: 0;
}

.mv-leaf-left{
  left: 0;
}

[data-element-id] .mv-leaf-right, [data-element-id] .mv-leaf-left{
  border: solid 4px green;
  padding: 10px;
}

[data-element-id] .mv-leaf-right::before, [data-element-id] .mv-leaf-left::before{
    display: block;
    content: "モバイル用";
    color: #fff;
    font-weight: 500;
    background: green;
    padding: 2px 5px 7px;
    text-align: center;
    text-shadow: none;
    font-size: 12px;
    line-height: 1;
    font-family: initial;
    margin: -10px -10px 10px;
}

@media(max-width:1024px) {
  .homevisual+section {
    padding-top: 0;
  }

  .homevisual .img {
    height: calc(100vh - 60px);
  }
}

@media (max-width: 599px) {
  .homevisual .head {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 96%;
  }

  .homevisual .head .ja {
    font-size: 36px;
  }

  .homevisual .head .en {
    font-size: 16px;
  }

  .homevisual .img {
    height: calc(100vh - 60px);
  }
  
  .mv-leaf-right, .mv-leaf-left {
    display: block;
  }
}

/* A-BiSUスライダー用 */
.homevisual .uk-slidenav-position,
.homevisual .uk-slideshow,
.homevisual .uk-slideshow>li,
.homevisual .uk-flex,
.homevisual .uk-flex img {
  height: 100% !important;
  -o-object-fit: cover;
  object-fit: cover;
}

/* index-concern */
.index-concern-area .section-title-wrap .moon {
  width: 135px;
}

.moon {
  filter: drop-shadow(0 0 10px #ffe976);
  animation: moon-shine 2s ease-in-out infinite alternate;
}

@keyframes moon-shine {
  50% {
    filter: drop-shadow(0 0 5px #ffe976);
  }
} 

.index-concern-area .section-title {
  margin-bottom: 30px;
  margin-left: -40px;
}

.index-concern-area .illust-lady {
  max-width: 120px;
}

.concern-summary {
  background-color: var(--color02);
  padding: 5px;
  border-radius: 10px;
}

.concern-summary-inner {
  border: 1px dashed #fff;
  border-radius: 5px;
  padding: 10px 20px 13px;
  color: #fff;
  text-shadow: 0 1px 2px black;
  font-weight: 500;
}

.concern-summary-inner .mark {
  color: var(--color05);
  font-size: 125%;
}

@media(max-width:1024px) {
  .index-concern-area .section-title-wrap .moon {
    width: 100px;
  }
}

@media(max-width:599px) {
  .index-concern-area .section-title {
    margin-bottom: 15px;
    margin-left: -20px;
  }

  .index-concern-area .section-title-wrap .moon {
    width: 80px;
  }

  .index-concern-area .illust-lady {
    max-width: 65px;
  }

  .list-01 .list-01-item {
    padding-left: 25px;
    font-size: 16px;
  }

  .list-01 .list-01-item::before {
    width: 28px;
    top: 1px;
    left: -2px;
  }

  .concern-summary-inner {
    padding: 10px 10px 13px;
  }
}

/* index-message */
.message-list .img-box {
  position: relative;
}

.message-list .img-box::before {
  content: "";
  width: 130%;
  background-image: url('/import/tenant_1/85.131.246.59/html/images/parts1.webp');
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 626 / 565;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 2;
}

.message-list .img-box .img {
  position: relative;
  z-index: 3;
}

.care-block::before {
  content: "";
  background-image: url('/import/tenant_1/85.131.246.59/html/images/bgi3.webp');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  width: 100%;
  height: 150px;
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
}

.care-block .care-list .care-list-item {
  position: relative;
}

.care-block .care-list .care-list-item:first-of-type,
.care-block .care-list .care-list-item:nth-of-type(3) {
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
}

.care-block .care-list .care-list-item .illust-lady {
  position: absolute;
  bottom: 70px;
  right: -60px;
  max-width: 100px;
  z-index: 2;
}

.care-block .care-list .care-list-item .item-inner {
  background-color: #fff;
  border: 10px solid var(--color11);
  border-radius: 50%;
  aspect-ratio: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 19px;
  color: var(--color01);
  text-align: center;
  line-height: 2;
  -webkit-transform: rotateZ(0.03deg);
  transform: rotateZ(0.03deg);
}

@media(max-width:1024px) {
  .care-block::before {
    height: 110px;
  }

  .care-block .care-list .care-list-item .illust-lady {
    bottom: 20px;
    right: -40px;
    max-width: 80px;
  }
}

@media(max-width:599px) {
  .care-block::before {
    height: 100px;
  }
  
  .care-block .care-list .care-list-item {
    width: 100%;
  }

  .care-block .care-list .care-list-item .item-inner {
    width: 65%;
  }

  .care-block .care-list .care-list-item+.care-list-item {
    margin-top: -70px;
  }

  .care-block .care-list .care-list-item:first-of-type,
  .care-block .care-list .care-list-item:nth-of-type(3) {
    -webkit-transform: none;
    transform: none;
  }

  .care-block .care-list .care-list-item:nth-of-type(2) .item-inner,
  .care-block .care-list .care-list-item:nth-of-type(4) .item-inner {
    margin-left: auto;
  }

  .care-block .care-list .care-list-item .illust-lady {
    right: 50px;
    max-width: 70px;
  }
}

/* index-3seacrets-area */
/* tab */
.tabItem {
  display: none;
}

.tabItem.active {
  display: block;
}

.tabBtn ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 10px;
}

.tabBtn ul .tab_class {
  width: 49%;
  text-align: center;
  font-weight: 600;
}

.tab_class .btn-inner {
  background: #fff;
  padding: 10px 20px;
  color: var(--color01);
  font-size: 21px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 4px solid transparent;
  border-radius: 30px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  -webkit-transition: .5s;
  transition: .5s;
  cursor: pointer;
}

.tab_class.active .btn-inner {
  background: var(--color06);
  color: #fff;
  border-color: #fff;
  cursor: auto;
}

.tab_class .btn-inner .btn-icon {
  max-width: 80px;
  margin-right: 10px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.tab_class.active .btn-inner .btn-icon.-white {
  -webkit-filter: brightness(0) saturate(100%) invert(98%) sepia(7%) saturate(271%) hue-rotate(303deg) brightness(115%) contrast(100%);
  filter: brightness(0) saturate(100%) invert(98%) sepia(7%) saturate(271%) hue-rotate(303deg) brightness(115%) contrast(100%);
}

.index-3seacrets-area .contents {
  background-color: #fff;
  padding: 20px 30px;
  border: 3px solid var(--color06);
  border-radius: 30px;
}

.index-3seacrets-area .contents .img-box .img {
  border: 2px solid var(--color06);
}

.index-3seacrets-area .illust-birds {
  position: absolute;
  top: 0;
  right: 0;
  width: 350px;
}

.index-3seacrets-area .illust-woods {
  position: absolute;
  top: -40px;
  left: 20px;
  width: 40vw;
  max-width: 500px;
}

.index-3seacrets-area .illust-girl {
  position: absolute;
  top: -70px;
  left: 18rem;
  max-width: 115px;
  -webkit-transform: rotate(10deg);
  transform: rotate(10deg);
}

@media(max-width:1024px) {
  .index-3seacrets-area .illust-woods {
    top: -50px;
    left: 20px;
    width: 40vw;
    max-width: 220px;
  }

  .index-3seacrets-area .contents {
    border-radius: 20px;
  }

  .tab_class .btn-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: 16px;
    border-radius: 10px;
    border-width: 3px;
  }

  .tab_class .btn-inner .btn-icon img {
    max-height: 50px;
  }
}

@media(max-width:599px) {
  .index-3seacrets-area .illust-woods {
    top: -80px;
    left: 0px;
    max-width: 130px;
  }

  .index-3seacrets-area .illust-birds {
    top: -20px;
    width: 170px;
  }

  .index-3seacrets-area .illust-girl {
    top: -20px;
    left: 8vw;
    max-width: 75px;
  }

  .tabBtn ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .tabBtn ul .tab_class {
    width: 100%;
  }

  .tab_class .btn-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    font-size: 18px;
    text-align: left;
  }

  .tab_class .btn-inner .btn-icon img {
    width: 50px;
    max-height: 50px;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
  }
}

/* index-step-area */
.illust-road img {
  position: absolute;
  width: 100%;
  height: calc(100% + 30px);
  top: calc(50% - 30px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  mix-blend-mode: darken;
}

.index-step-area .illust-left {
  position: absolute;
  top: -12vw;
  left: 0;
  width: 22vw;
}

.index-step-area .illust-right {
  position: absolute;
  top: -5vw;
  right: 0;
  max-width: 15vw;
}

.index-step-area .illust-wood {
  position: absolute;
  top: 40%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  max-width: 15vw;
  z-index: 3;
}

.index-step-area .illust-leaves {
  position: absolute;
  top: 62%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  max-width: 12vw;
  z-index: 3;
}

.step-list .illust-girl {
  max-width: 120px;
  margin-right: 10px;
}

.step-list .step-item {
  width: 52%;
}

.step-list .step-item.item2 {
  margin-top: -30px;
}


.step-list .step-item.item3 {
  margin-left: auto;
  margin-top: -130px;
}

.step-list .step-item.item4 {
  margin-top: -20px;
  margin-left: 90px;
}

.step-list .step-item .item-inner {
  position: relative;
}

.step-list .step-item.item1 .item-inner {
  background-image: url('/import/tenant_1/85.131.246.59/html/images/step-bgc1.webp');
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 532 / 271;
}

.step-list .step-item.item2 .item-inner {
  background-image: url('/import/tenant_1/85.131.246.59/html/images/step-bgc2.webp');
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 530 / 274;
}

.step-list .step-item.item3 .item-inner {
  background-image: url('/import/tenant_1/85.131.246.59/html/images/step-bgc3.webp');
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 533 / 267;
}

.step-list .step-item.item4 .item-inner {
  background-image: url('/import/tenant_1/85.131.246.59/html/images/step-bgc4.webp');
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 533 / 264;
}

.step-list .step-item.item4 .item-inner .illust-girl {
  position: absolute;
  bottom: calc(100% - 30px);
  left: 80px;
}

.step-list .step-item .title-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  column-gap: 10px;
  padding-top: 20px;
}

.step-list .step-item .title-box .title {
  font-weight: 500;
  font-size: 22px;
  color: var(--color01);
}

.step-list .step-item .num-box {
  background: var(--color03);
  color: #fff;
  text-align: center;
  padding: 10px;
  aspect-ratio: 1;
  width: 90px;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  letter-spacing: 0;
  font-family: var(--ff02);
  line-height: 1;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
}

.step-list .step-item .num-box .illust-boy {
  position: absolute;
  width: 180px;
  bottom: calc(100% - 5px);
  left: 44%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.step-list .step-item .num-box .num {
  font-size: 180%;
  margin-top: 5px;
}

.step-list .step-item .text {
  padding: 10px 30px;
}

.step-list .step-item.item1 .text {
  padding-left: 90px;
  -webkit-transform: translateY(-20px);
  transform: translateY(-20px);
}

.step-list .step-item.item4 .text {
  padding-left: 90px;
  -webkit-transform: translateY(-20px);
  transform: translateY(-20px);
}

.step-list .btn-box {
  width: 36%;
}

.step-list .btn-box .illust-girl2 {
  margin-bottom: -10px;
  max-width: 110px;
}

@media(max-width:1024px) {
  .index-step-area .illust-left {
    top: -15vw;
    width: 24vw;
  }

  .index-step-area .illust-right {
    top: -4vw;
    max-width: 16vw;
  }

  .index-step-area .illust-wood {
    max-width: 18vw;
  }

  .index-step-area .illust-leaves {
    top: 65%;
    max-width: 14vw;
  }

  .step-list .illust-girl {
    max-width: 90px;
    margin-right: 5px;
  }

  .step-list .step-item {
    width: 49%;
  }

  .step-list .step-item.item1 .item-inner,
  .step-list .step-item.item2 .item-inner,
  .step-list .step-item.item3 .item-inner,
  .step-list .step-item.item4 .item-inner {
    background-size: 100% 100%;
    aspect-ratio: auto;
  }

  .step-list .step-item .num-box {
    width: 75px;
    font-size: 16px;
  }

  .step-list .step-item.item2 {
    margin-top: 0;
  }

  .step-list .step-item.item3 {
    margin-top: 50px;
  }

  .step-list .step-item.item4 {
    margin-left: 40px;
  }

  .step-list .step-item .title-box .title {
    font-size: 18px;
  }

  .step-list .step-item.item2 .title-box {
    padding-top: 0;
  }

  .step-list .step-item.item3 .title-box {
    padding-top: 10px;
  }

  .step-list .step-item .text {
    font-size: 15px;
  }

  .step-list .step-item.item1 .text {
    padding-left: 70px;
  }

  .step-list .step-item.item2 .text {
    padding: 10px 20px 20px 80px;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  .step-list .step-item.item3 .text {
    padding: 10px 60px 20px 30px;
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }

  .step-list .step-item.item4 .text {
    padding: 0px 20px 30px;
    padding-left: 60px;
    -webkit-transform: none;
    transform: none;
  }

  .step-list .step-item .num-box .illust-boy {
    width: 110px;
  }

  .step-list .btn-box .illust-girl2 {
    max-width: 80px;
    margin-bottom: 10px;
  }
}

@media(max-width:599px) {
  .illust-road img {
    height: calc(100% + -160px);
    top: calc(50% + 70px);
  }

  .index-step-area .illust-left {
    top: -10px;
    left: -10px;
    width: 130px;
  }

  .index-step-area .illust-right {
    top: -15vw;
    max-width: 22vw;
  }

  .index-step-area .illust-wood {
    max-width: 28vw;
    right: -5vw;
    top: 38%;
  }

  .index-step-area .illust-leaves {
    top: 70%;
    max-width: 26vw;
  }

  .step-list .step-item.item4 .item-inner .illust-girl {
    bottom: calc(100% - 40px);
    left: auto;
    right: 0;
    max-width: 80px;
  }

  .step-list .step-item .num-box .illust-boy {
    width: 100px;
    -webkit-transform: translateX(-38%) rotate(5deg);
    transform: translateX(-38%) rotate(5deg);
  }

  .step-list .step-item {
    width: 95%;
  }

  .step-list .step-item.item2 {
    margin-top: 20px;
    margin-left: auto;
  }

  .step-list .step-item.item3 {
    margin-top: 30px;
    margin-left: 0;
  }

  .step-list .step-item.item4 {
    margin-left: auto;
    margin-top: 20px;
  }

  .step-list .btn-box {
    width: 100%;
    margin-top: -80px;
    z-index: 3;
  }

  .step-list .btn-box .btn-type-01 {
    margin: 0 auto;
  }
}

/* index-case-area */
.index-case-area .box-img {
  padding: 40px;
  background-color: #fff;
  border-radius: 50%;
  max-width: 90%;
  margin: 0 auto;
}

.index-case-area .box-text {
  padding: 30px 20px;
  background-color: #fff;
  color: var(--color01);
  font-family: var(--ff03);
  font-weight: 500;
  margin-top: -20px;
  border-radius: 20px;
}

.index-case-area .item {
  -webkit-transform: scale(.8);
  transform: scale(.8);
}

.index-case-area .swiper-slide-active .item,.index-case-area .swiper-slide-duplicate-active .item {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.index-case-area .swiper-slide-active .box-img,
.index-case-area .swiper-slide-active .box-text,
.index-case-area .swiper-slide-duplicate-active .box-img,
.index-case-area .swiper-slide-duplicate-active .box-text{
  background-color: var(--color06);
}

.index-case-area .box-text .none {
  display: none;
}

.index-case-area .swiper-slide-active .box-text .none,.index-case-area .swiper-slide-duplicate-active .box-text .none {
  display: block;
}

[data-element-id] .index-case-area .box-text .none {
  display: block;
}

.swiper-button-prev,
.swiper-button-next {
  width: 60px;
  height: 60px;
  top: 150px;
}

.swiper-button-prev {
  left: 27%;
}

.swiper-button-next {
  right: 27%;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family: var(--ff99);
  font-weight: bold;
  font-size: 20px;
  color: #fff;
  border-radius: 50%;
  background-color: var(--color06);
}

.swiper-button-prev:after {
  content: "\f053";
}

.swiper-button-next:after {
  content: "\f054";
}

@media(max-width:599px) {
  .index-case-area .inner {
    width: 100%;
  }

  .index-case-area .box-img {
    padding: 30px;
  }

  .index-case-area .box-text {
    padding: 20px;
  }

  .swiper-button-prev,
  .swiper-button-next {
    width: 50px;
    height: 50px;
    top: 110px;
  }

  .swiper-button-prev {
    left: 2%;
  }

  .swiper-button-next {
    right: 2%;
  }
}

/* index-article-area */
.index-article-area .article-block .article-list {
  border-top: 1px solid var(--color02);
}

.index-article-area .article-block .article-list .article-list-item {
  border-bottom: 1px solid var(--color02);
  height: calc(100% / 3);
}

.index-article-area .article-block .article-list .article-list-item a {
  display: block;
  color: var(--color01);
}

.index-article-area .article-block.-news .article-list .article-list-item a {
  padding: 20px 15px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.index-article-area .article-block.-blog .article-list .article-list-item a {
  padding: 10px 5px;
}

@media(max-width:599px) {
  .index-article-area .article-block+.article-block {
    margin-top: 50px;
  }
}

/* index-faq-area */
.index-faq-area {
  position: relative;
}

.bubble {
 position: absolute;
 content: "";
  background-image: url('/upload/tenant_1/parts-bubble.webp');
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 1;
  width: 100%;
 bottom: 1px;
 z-index: 3
}

.index-faq-area .illust-fishes,
.index-faq-area .illust-sea-leaf,
.index-faq-area .illust-sango,
.index-faq-area .illust-kurage {
  position: absolute;
  z-index: 2;
}

.index-faq-area .illust-fishes {
  top: 62px;
    left: 130px;
  width: 90px;
  animation: swim 10s linear infinite;
  animation-duration: 12.5s;
}

.index-faq-area .illust-fishes.-type02{
  animation: swim 12s linear infinite;
  animation-duration: 11s;
  width: 60px;
  top: 20px;
    left: 210px;
}

.index-faq-area .illust-fishes.-type03{
  animation: swim 12.5s linear infinite;
  animation-duration: 11.5s;
  width: 80px;
    top: 40px;
    left: 240px;
}
.index-faq-area .illust-fishes.-type04{
  animation: swim 13s linear infinite;
  animation-duration: 13.5s;
  width: 60px;
    top: 90px;
    left: 50px;
}

.index-faq-area .illust-fishes.-type05{
  animation: swim 13.5s linear infinite;
  animation-duration: 14s;
  width: 70px;
    top: 50px;
    left: 10px;
}
.index-faq-area .illust-fishes.-type06{
  animation: swim 11.5s linear infinite;
  animation-duration: 13s;
  width: 60px;
    top: 25px;
    left: 80px;
}
.index-faq-area .illust-fishes.-type07{
  animation: swim 11s linear infinite;
  animation-duration: 15s;
  width: 50px;
    top: 10px;
    left: 5px;
}

[data-element-id] .index-faq-area .illust-fishes{
  animation:none;
}

@keyframes swim {
    /* 画面左側からスタート */
    0% { left: -100px; transform: scaleX(1); } 

    /* 途中まで左向きで進む（49%の時点でまだ反転しない） */
    49% { transform: scaleX(1); } 

    /* 画面右端（50%地点）で方向転換（進行方向に合わせて画像を反転する） */
    50% { left: 100vw; transform: scaleX(-1); }

    /* そのまま画面左側へ戻る */
    100% { left: -100px; transform: scaleX(-1); }
}

.index-faq-area .illust-sea-leaf {
  top: -50px;
  right: 0;
  width: 15vw;
  max-width: 200px;
}

.index-faq-area .illust-sango {
  bottom: -132px;
  left: 30px;
  width: 25vw;
  max-width: 220px;
}

.index-faq-area .illust-kurage {
  bottom: -170px;
  right: 20px;
  width: 20vw;
  max-width: 230px;
}

.index-faq-area .section-title-wrap .section-title-icon {
  width: 110px;
}

@media(max-width:1024px) {
  .index-faq-area .illust-kurage {
    bottom: -140px;
  }

  .index-faq-area .illust-sango {
    bottom: -112px;
    left: 20px;
    max-width: 130px;
  }
}

@media(max-width:599px) {
  .index-faq-area .illust-fishes {
    top: 10px;
    width: 50px;
  }
  
  .index-faq-area .illust-fishes.-type03{
    width: 50px;
    top: -10px;
  }
  
  .index-faq-area .illust-fishes.-type04{
    width: 40px;
    top: 0;
  }
  
  .index-faq-area .illust-fishes.-type05,.index-faq-area .illust-fishes.-type06,.index-faq-area .illust-fishes.-type07 {
    display: none;
  }

  .index-faq-area .illust-sea-leaf {
    width: 25vw;
    max-width: 110px;
  }

  .index-faq-area .section-title-wrap .section-title-icon {
    width: 80px;
  }

  .index-faq-area .illust-sango {
    bottom: -82px;
    left: 10px;
    max-width: 120px;
    width: 30vw;
  }

  .index-faq-area .illust-kurage {
    bottom: -90px;
    right: 2px;
    width: 40vw;
    max-width: 150px;
  }
}

/* index-price-area */
.index-price-area .price-slide-list {
  padding: 0 70px;
}

.index-price-area .price-slide-list .item {
  margin-top: 30px;
}

.index-price-area .price-slide-list .item a {
  background-color: #fff;
  border: 3px solid var(--color01);
  border-radius: 20px;
  display: block;
  padding: 20px 20px 50px;
}

.index-price-area .price-slide-list .item a .title {
  background-color: var(--color01);
  color: #fff;
  padding: 15px 30px;
  font-size: 22px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 100px;
  margin: -50px auto 40px;
  width: 70%;
  text-align: center;
}

.index-price-area .price-slide-list .item a .text-box {
  font-size: 24px;
  color: #333;
  text-align: center;
}

.index-price-area .swiper-button-prev,
.index-price-area .swiper-button-next {
  top: calc(50% + 30px);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.index-price-area .swiper-button-next {
  right: 0;
}

.index-price-area .swiper-button-prev {
  left: 0;
}

.index-price-area .swiper-button-prev:after,
.index-price-area .swiper-button-next:after {
  background-color: var(--color01);
}

@media(max-width:1024px) {
  .index-price-area .price-slide-list {
    padding: 0 30px;
  }

  .index-price-area .price-slide-list .item a .title {
    padding: 12px 10px;
    font-size: 18px;
    margin: -45px auto 40px;
    width: 90%;
  }
}

/* index-contact-area */
.index-contact-area {
  position: relative;
}

.index-contact-area .illust-snail,
.index-contact-area .illust-starfish {
  position: absolute;
  z-index: 5;
}

.index-contact-area .illust-snail {
  top: -160px;
  left: 0;
  width: 10vw;
  max-width: 130px;
}

.index-contact-area .illust-starfish {
  top: -190px;
  right: 0px;
  width: 13vw;
  max-width: 160px;
}

.index-contact-area .contact-btn-box .btn a {
  background-color: var(--color09);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 20px 10px;
  font-size: 20px;
  font-weight: 500;
  height: 100%;
  border-radius: 15px;
  position: relative;
  transform: rotateZ(0.03deg);
  border: 2px solid var(--color09); 
}

.index-contact-area .contact-btn-box .btn a:hover{
  opacity: 1;
  background-color: #fff;
  color:  var(--color09);
}

.index-contact-area .contact-btn-box .btn a::before {
  content: "\f054";
  font-family: var(--ff99);
  font-weight: bold;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 20px;
}

.index-contact-area .contact-btn-box .btn.tel a {
  font-size: 26px;
  font-family: var(--ff02);
  font-weight: 600;
  line-height: 1;
}

.index-contact-area .contact-btn-box .btn.tel a .icon {
  font-size: 80%;
  margin-right: 10px;
}

@media(max-width:599px) {
  .index-contact-area .illust-snail {
    top: -110px;
    width: 20vw;
    max-width: 90px;
  }

  .index-contact-area .illust-starfish {
    top: -90px;
    width: 20vw;
    max-width: 80px;
  }

  .index-contact-area .contact-btn-box .btn+.btn {
    margin-top: 20px;
  }
}

/**
下層共通
*/
/* トップビジュアル（下層共通） */
.topvisual {
  position: relative;
}

.topvisual .img {
  position: relative;
  height: 250px;
}

.topvisual .img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover; object-position: 50% 50%;';
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
}

.topvisual .head {
  position: absolute !important;
  width: 96%;
  max-width: 1000px;
  text-align: center;
  top: 50%;
  left: 50%;
  font-weight: 500;
  font-size: 22px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  text-shadow: 0 0 10px rgb(0 0 0 / 30%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.topvisual .head {
  font-size: 45px;
  font-weight: 600;
  color: var(--color01);
  margin-bottom: 20px;
  text-shadow: var(--text-shadow2);
  line-height: 1.2;
}

@media(max-width:1024px) {
  .topvisual .head {
    font-size: 36px;
  }
}

@media (max-width: 599px) {
  .topvisual .head {
    font-size: 16px;
  }

  .topvisual .head .en {
    font-size: 250%;
    line-height: 1;
    margin-bottom: 10px;
  }

  .topvisual .head {
    font-size: 30px;
  }

  .topvisual .img {
    height: 200px;
  }
}

/* ##### パンくずリスト breadcrumbs ##### */
.breadcrumbs {
  padding-top: 30px;
  transform: rotateZ(0.03deg);
}

.breadcrumbs-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
}

.breadcrumbs-list li {
  display: inline;
  font-size: 14px;
  letter-spacing: 1px;
  font-weight: 500;
}

.bgi-cmn-01 .breadcrumbs-list li {
    color: var(--color14);
}

.breadcrumbs-list li.breadcrumbs-home a,
.breadcrumbs-list li.breadcrumbs-prevpage a {
  font-weight: bold;
  color: var(--color01);
}

.bgi-cmn-01 .breadcrumbs-list li.breadcrumbs-home a,
.bgi-cmn-01 .breadcrumbs-list li.breadcrumbs-prevpage a{
  color: var(--color10);
}

.breadcrumbs-list li+li::before {
  content: "\f054";
  font-family: var(--ff99);
  font-weight: bold;
  margin: 0 10px;
  font-size: 10px;
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
  display: inline-block;
}

@media (max-width: 1024px) {
  .breadcrumbs {
    padding-top: 20px;
    font-size: 14px;
  }

  .breadcrumbs-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .breadcrumbs-list {
    margin-top: 1em;
  }

  .breadcrumbs li {
    font-size: 12px;
  }

  .breadcrumbs li+li::before {
    margin: 0 5px 0 3px;
  }
}

@media (max-width: 599px) {
  .breadcrumbs {
    padding-top: 15px;
    font-size: 12px;
  }

  .breadcrumbs li+li::before {}
}

/* ページネーション */
.pagenation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.pagenation .item {
  margin: 0 10px;

}

.pagenation .prev {
  position: relative;
  margin-right: 20px;
}

.pagenation .prev a:before {
  content: "\f053";
  font-weight: 600;
  font-family: "Font Awesome 5 Free";
}

.pagenation .next {
  position: relative;
  margin-left: 20px;
}

.pagenation .next a:before {
  content: "\f054";
  font-weight: 600;
  font-family: "Font Awesome 5 Free";
}

.pagenation a,
.pagenation .now {
  font-weight: 500;
}

.pagenation .number a,
.pagenation .prev a,
.pagenation .next a,
.pagenation .now {
  display: block;
  padding: 2px 2px 2px 2px;
  min-width: 33px;
  height: 33px;
  text-align: center;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: 0;
  border-radius: 50%;
  transform: rotateZ(0.03deg);
}

.pagenation .prev a,
.pagenation .next a {
  font-size: 14px;
}

.pagenation .number a:hover,
.pagenation .prev a:hover,
.pagenation .next a:hover,
.pagenation .now {
  background: var(--color01);
  color: #fff;
  opacity: 1;
}

@media (max-width: 599px) {
  .pagenation .item {
    margin: 0 5px;
  }

  .pagenation .prev {
    margin-right: 10px;
  }

  .pagenation .next {
    margin-left: 10px;
  }
}

/* item-table-box */
.item-table-box {
  border-radius: 10px;
  overflow: hidden;
}

.item-table-box dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.item-table-box dl dt {
  width: 200px;
  background: #4470dfcc;
}

.item-table-box dl dd {
  width: calc((100% - 200px) / 2);
}

.item-table-box dt,
.item-table-box dd {
  padding: 10px;
  background-color: #fff;
  border-bottom: 1px solid #d8d8d8;
  border-left: 1px solid #d8d8d8;
  transform: rotateZ(0.03deg);
}

.item-table-box dt,
.item-table-box .table-title dt,
.item-table-box .table-title dd {
  background-color: var(--color02);
  color: #fff;
  border-bottom: 1px solid;
  border-left: 1px solid #fff;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 500;
}

.item-table-box dt,
.item-table-box .table-title dt {
  border-left: none;
}

.item-table-box dl:last-of-type dt,
.item-table-box dl:last-of-type dd {
  border-bottom: none;
}

@media(max-width:599px) {
  .item-table-box dl dt {
    width: 80px;
  }

  .item-table-box dl dd {
    width: calc((100% - 80px) / 2);
  }

  .item-table-box dt,
  .item-table-box dd {
    padding: 10px 5px;
    font-size: 14px;
  }
}

/**
各下層ページ
*/
/* 02about */
/* about-message-area */
.about-message-area .moon {
  position: absolute;
  -webkit-transform: scale(-1, 1) rotate(5deg);
  transform: scale(-1, 1) rotate(5deg);
  top: 50px;
  right: 0;
  width: 150px;
}

.about-message-area .illust-dentist {
  width: 200px;
  margin-bottom: -40px;
  margin-right: 0px;
    margin-left: 20px;
}

.about-message-area .message-list {
  background-color: #fff;
  padding: 30px;
  border-radius: 50px;
  position: relative;
}

.about-message-area .message-list::after {
  content: "";
  position: absolute;
  top: 0;
  left: 60px;
  border-style: solid;
  border-width: 0 10px 20px 10px;
  border-color: transparent transparent #ffffff;
  translate: -50% -100%;
}

@media(max-width:1024px) {
  .about-message-area .moon {
    top: 30px;
    right: 20px;
    width: 100px;
  }

  .about-message-area .illust-dentist {
    width: 150px;
  }

  .about-message-area .message-list {
    border-radius: 30px;
    padding: 20px;
  }

  .about-message-area .message-list::after {
    left: 45px;
    border-width: 0 5px 10px 5px;
  }

  .about-feature-area .care-block .care-list .care-list-item .illust-lady {
    bottom: -30px;
    right: -50px;
    max-width: 70px;
  }

  .about-feature-area .care-block .care-list .care-list-item .item-inner {
    font-size: 17px;
    line-height: 1.5;
  }
}

@media(max-width:599px) {
  .about-message-area .moon {
    top: -10px;
    right: 10px;
    width: 70px;
  }

  .about-message-area .illust-dentist {
    width: 90px;
    margin-left: 0px;
  }

  .about-message-area .message-list {
    border-radius: 20px;
  }

  .about-message-area .message-list::after {
    left: 30px;
  }
}

/* about-feature-area */
.about-feature-area .care-block .care-list .care-list-item .item-inner {
  border: 6px solid var(--color11);
}

.about-feature-area .care-block .care-list .care-list-item:nth-of-type(3) {
  -webkit-transform: none;
  transform: none;
}

.about-feature-area .care-block .care-list .care-list-item:nth-of-type(4) {
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
}

.about-feature-area .care-block .care-list .care-list-item .illust-lady {
  bottom: -10px;
}

@media(max-width:599px) {
  .about-feature-area .care-block .care-list .care-list-item {
    width: 47%;
  }

  .about-feature-area .care-block .care-list .care-list-item .item-inner {
    width: 100%;
  }

  .about-feature-area .care-block .care-list .care-list-item+.care-list-item {
    margin-top: 0;
  }

  .about-feature-area .care-block .care-list .care-list-item:nth-of-type(3),
  .about-feature-area .care-block .care-list .care-list-item:nth-of-type(4) {
    -webkit-transform: none;
    transform: none;
    margin-top: 10px;
  }

  .about-feature-area .care-block .care-list .care-list-item .illust-lady {
    bottom: 30vw;
    left: -8vw;
    right: auto;
    width: 16vw;
  }
}

/* about-scenes-area */
.scenes-box-slide{
  pointer-events: none;
}
.about-scenes-area .scenes-slide .swiper-wrapper {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}

.about-scenes-area .scenes-slide .item {
  padding: 0 20px;
}

.about-scenes-area .scenes-slide .item .img{
  border-radius: 20px;
  overflow: hidden;
  pointer-events: auto;
}

.about-access-area .access-map .img,
.about-access-area .google-map iframe {
  border-radius: 20px;
  overflow: hidden;
}

.about-access-area .google-map iframe {
  aspect-ratio: 281/207;
  height: auto;
}

.about-access-area .access-list .info dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.about-access-area .access-list .info dl dt,
.about-access-area .access-list .info dl dd {
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  transform: rotateZ(0.03deg);
}

.about-access-area .access-list .info dl dt {
  width: 30%;
  text-align: center;
  font-family: var(--ff02);
  font-weight: 500;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.about-access-area .access-list .info dl dt {
  border-bottom: 1px solid var(--color02);
  color: var(--color01);
  padding: 15px 10px;
  font-weight: 600;
}

.about-access-area .access-list .info dl dd {
  width: 70%;
  letter-spacing: 0;
}

.about-access-area .access-list .info dl dd {
  border-bottom: 1px solid #ac8d58;
}

.about-access-area .access-list .imgbox .maps iframe {
  max-height: 300px;
  margin-top: 20px;
}

[data-element-id] .scenes-box-slide{
  pointer-events: auto;
}

@media(max-width:1024px) {
  .about-access-area .access-list .info dl dd {
    font-size: 15px;
  }
  
  .about-scenes-area .scenes-slide .item {
    padding: 0 10px;
  }
}

@media(max-width:599px) {
  .about-access-area .access-list .info dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .about-scenes-area .scenes-slide .item {
    padding: 0 5px;
  }
  
  .about-scenes-area .scenes-slide .item .img{
    border-radius: 10px;
  }

  .about-access-area .access-map .img,
  .about-access-area .google-map iframe {
    border-radius: 10px;
  }

  .about-access-area .access-list .info dl dt {
    width: 100%;
    border-bottom: none;
    padding: 0 0 5px;
  }

  .about-access-area .access-list .info dl dd {
    font-size: 15px;
    width: 100%;
    padding: 0 0 15px;
    margin-bottom: 15px;
  }
}

/* 03first */
/* first-contents1-area */
.first-contents1-area .first-contents1-list {
  background-color: rgb(255 255 255 / 100%);
  padding: 30px;
  border-radius: 30px;
  position: relative;
}

.first-contents1-area .first-contents1-list .ttl-cmn-05 {
  background: linear-gradient(transparent calc(100% - 10px), #fff57c 10px);
}

.first-contents1-area .moon {
  position: absolute;
  top: -50px;
  right: -70px;
  width: 100px;
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
  z-index: 3;
  opacity: 1;
}

@media(max-width:599px) {
  .first-contents1-area .moon {
    top: -70px;
    right: -80px;
    width: 70px;
  }

  .first-contents1-area .first-contents1-list {
    padding: 20px 15px;
    border-radius: 20px;
  }
}

/* first-contents2-area */
.first-contents2-list .item+.item {
  margin-top: 30px;
}

.first-contents2-list .item:nth-of-type(even) .item-inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media(max-width:599px) {
  .first-contents2-list .item+.item {
    margin-top: 50px;
  }

  .first-contents2-area .ttl-cmn-02 .en {
    font-size: 48px;
  }
}

/* first-contents3-area */
.first-contents3-list .item+.item {
  margin-top: 40px;
}

.first-contents3-list .item .img-box {
  padding: 50px;
  background-color: #fff;
  border-radius: 50%;
  border: 2px solid var(--color08);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.first-contents3-list.-p30 .item .img-box{
  padding: 30px;
}

@media(max-width:1024px) {
  .first-contents3-list .item .img-box {
    padding: 30px;
  }
}

@media(max-width:599px) {
  .first-contents3-list .item .img-box {
    padding: 10px;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  
  .first-contents3-list.-p30 .item .img-box{
    padding: 5px;
  }
}

/* first-contents4-area */
@media(max-width:599px){
  .first-contents4-area .btn-box .btn{
    width: 90%
  }
}

/* first-banner-area */
.first-banner-area .first-banner-list .item .item-inner {
  background-color: #fff;
  padding: 20px 10px;
  border: 4px solid #b7cbf8;
  border-radius: 15px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--color01);
  text-align: center;
  line-height: 1.2;
  font-weight: 600;
  -webkit-transition: .3s;
  transition: .3s;
}

.first-banner-area .first-banner-list .item a:hover {
  opacity: 1;
}

.first-banner-area .first-banner-list .item a:hover .item-inner {
  -webkit-box-shadow: 2px 2px 5px rgb(0 0 0 / 37%);
  box-shadow: 2px 2px 5px rgb(0 0 0 / 37%);
  -webkit-transform: translate(-2px, -2px);
  transform: translate(-2px, -2px);
}

.first-banner-area .first-banner-list .item .banner-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 18px;
  transform: rotateZ(0.03deg);
  letter-spacing: -.5px;
}

.first-banner-area .first-banner-list .item .min {
  font-size: 12px;
  color: var(--color02);
  margin-top: 5px;
  -webkit-transition: .5s;
  transition: .5s;
  transform: rotateZ(0.03deg);
}

/* 05price */
.price-pack1-list-wrap .item+.item {
  margin-top: 50px;
}

.price-pack1-list-wrap .item .item-inner {
  background-color: #fff;
  padding: 30px;
  border-radius: 30px;
}

.price-pack1-list-wrap.-type02 .item .item-inner {
  border: 5px solid #b1cfec;
}

.price-pack1-list-wrap .item .left .title {
  font-size: 36px;
  background-color: var(--color02);
  color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 220px;
  text-align: center;
  padding: 10px;
  line-height: 1;
  font-weight: 600;
  border-radius: 100px;
}

.price-pack1-list-wrap .item .left .term-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.price-pack1-list-wrap .item .left .term-box .term {
  padding: 10px;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
}

.price-pack1-list-wrap .item .left .term-box .term.first-term {
  width: 30%;
  background-color: var(--color11);
}

.price-pack1-list-wrap .item .left .term-box .term.second-term {
  width: 70%;
  background-color: var(--color03);
  color: #fff;
}

.price-pack1-list-wrap .item .left .term-box .term.first2-term {
  width: 40%;
  padding: 0;
}

.price-pack1-list-wrap .item .left .term-box .term .first2-term-inner {
  background-color: var(--color03);
  color: #fff;
  padding: 10px;
}

.price-pack1-list-wrap .item .left .term-box .term.add-term {
  width: 30%;
  padding: 0;
}

.price-pack1-list-wrap .item .left .term-box .term .add-term-inner {
  padding: 10px;
  background-color: var(--color03);
  color: #fff;
}

.price-pack1-list-wrap .item .left .term-box .term .sub {
  font-size: 10px;
  margin-top: 3px;
}

.price-pack1-list-wrap .item .left .price-box::before,
.price-pack1-list-wrap .item .left .price-box::after {
  content: "";
  width: 2rem;
  height: 1px;
  background-color: var(--color00);
  display: block;
  position: absolute;
  top: 6px;
}

.price-pack1-list-wrap .item .left .price-box::before {
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
  left: -1px;
}

.price-pack1-list-wrap .item .left .price-box::after {
  -webkit-transform: rotate(-25deg);
  transform: rotate(-25deg);
  right: -1px;
}

.price-pack1-list-wrap .item .right .figure-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 100px;
  padding: 10px;
  font-size: 22px;
  position: relative;
  min-height: 90px;
}

.price-pack1-list-wrap .item .right .figure-item.figure1 {
  background-color: var(--color14);
  border: 2px solid var(--color05);
  width: 30%;
}

.price-pack1-list-wrap .item .right .figure-item.figure2 {
  background-color: var(--color14);
  border: 2px solid var(--color09);
  width: 60%;
}

.price-pack1-list-wrap .item .right .figure-item .etc {
  font-size: 12px;
  position: absolute;
  right: 15px;
  bottom: 12px;
}

.price-pack1-list-wrap .item .right .text-list.-type02 {
  margin-top: -10px;
}

.price-pack1-list-wrap .item .right .text-list li+li {
  margin-top: 10px;
}

.price-pack1-list-wrap .item .arrow-box {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding-right: 20px;
}

.price-pack1-list-wrap .item .arrow-box .arrow {
  content: "";
  height: auto;
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.price-pack1-list-wrap .item .arrow-box .arrow::before {
  content: "";
  width: 100%;
  height: 2px;
  background-color: var(--color00);
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.price-pack1-list-wrap .item .arrow-box .arrow::after {
  content: "\f054";
  font-family: var(--ff99);
  font-weight: bold;
  line-height: 1;
  text-align: right;
  -webkit-transform: translateX(2px);
  transform: translateX(2px);
}

.price-pack1-list-wrap .item .arrow-box .arrow-text1 {
  background-color: var(--color02);
  color: #fff;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 20px;
  line-height: 1;
  border-radius: 100px;
  margin: 0 auto;
}

@media(max-width:599px) {
  .price-pack1-list-wrap .item+.item {
    margin-top: 30px;
  }

  .price-pack1-list-wrap .item .item-inner {
    padding: 20px;
    border-radius: 20px;
  }

  .price-pack1-list-wrap .item .left .title {
    font-size: 22px;
    min-width: 150px;
    width: 100%;
    padding: 8px 10px;
    margin-bottom: 20px;
  }

  .price-pack1-list-wrap .item .left .term-box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .price-pack1-list-wrap .item .left .term-box .term.first2-term {
    width: 100%;
  }

  .price-pack1-list-wrap .item .left .term-box .term.add-term {
    width: 100%;
  }

  .price-pack1-list-wrap .item .right .text-list.-type02 {
    margin-top: 10px;
  }

  .price-pack1-list-wrap .item .arrow-box {
    padding-right: 0;
  }

  .price-pack1-list-wrap .item .arrow-box .arrow {
    height: 70px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-transform: translateX(40px);
    transform: translateX(40px);
    margin-top: -20px;
  }

  .price-pack1-list-wrap .item .arrow-box .arrow::before {
    width: 2px;
    height: 100%;
    top: 0;
    right: auto;
    left: 6px;
    -webkit-transform: none;
    transform: none;
  }

  .price-pack1-list-wrap .item .arrow-box .arrow::after {
    content: "\f078";
    text-align: left;
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  .price-pack1-list-wrap .item .arrow-box .arrow-text1 {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  .price-pack1-list-wrap .item .arrow-box .arrow-text2 {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}

/* 06invisalign */
.menu-contents1-list .item .item-inner {
  background-color: #fff;
  padding: 30px;
  border-radius: 20px;
}

.menu-contents1-list .item+.item {
  margin-top: 40px;
}

@media(max-width:599px) {
  .menu-contents1-list .item+.item {
    margin-top: 20px;
  }

  .menu-contents1-list .item .item-inner {
    padding: 20px 15px;
    border-radius: 10px;
  }
}

/* 09flow  */
.step-area .road-box {
  position: absolute;
  height: 100%;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.step-area .road-box .road {
  position: relative;
  height: 100%;
}

.step-area .road-box .road .square {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  /* ←中心合わせ */
  will-change: transform;
  z-index: 2;
  -webkit-transition: .1s;
  transition: .1s;
}

.step-area .road-box .road .square img {
  display: block;
}

.step-area .road-box .road .road-wave-wrap {
  height: 100%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  overflow: visible;
  margin: 0 auto;
  position: relative;
}

.step-area .road-box .road .road-wave-wrap .road-svg {
  width: 180px;
  height: 100%;
  display: block;
}

.step-area .road-box .road .road-wave-wrap .road-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.step-area .road-box .road .road-wave-wrap .road-img img {
  width: 100%;
  height: 100%;
}

.step-area .step-guide-list {
  position: relative;
  z-index: 2;
}

.step-area .step-guide-list .item {
  /* width: calc((100% - 200px) / 2); */
  width: 80%;
}

.step-area .step-guide-list .item+.item {
  margin-top: 50px;
}

.step-area .step-guide-list .item:nth-of-type(even) {
  margin-left: auto;
  /* margin-top: -200px; */
}

.step-area .step-guide-list .item:nth-of-type(3) {
  /* margin-top: -60px; */
}

.step-area .step-guide-list .item .item-inner {
  background-color: rgb(255 255 255 / 80%);
  padding: 20px 30px 30px;
  border-radius: 30px;
}

.step-area .step-guide-list .item .title {
  font-size: 26px;
  color: var(--color01);
  border-bottom: 1px solid;
  padding-bottom: 5px;
  margin-bottom: 10px;
}

.step-area .step-guide-list .item .sub-title {
  font-size: 20px;
  margin-bottom: 5px;
  transform: rotateZ(0.03deg);
}

.step-area .illust-left {
  position: absolute;
  top: 26%;
  left: 0;
  width: 22vw;
}

.step-area .illust-right {
  position: absolute;
  top: 5vw;
  right: 0;
  max-width: 15vw;
}

.step-area .illust-wood {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  max-width: 15vw;
}

.step-area .illust-leaves {
  position: absolute;
  top: 70%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  max-width: 12vw;
}

@media(max-width:1024px) {
  .step-area .step-guide-list .item {
    width: 90%;
  }

  .step-area .step-guide-list .item .item-inner {
    padding: 20px 20px 30px;
    border-radius: 20px;
  }

  .step-area .step-guide-list .item .title {
    font-size: 22px;
  }

  .step-area .step-guide-list .item .sub-title {
    font-size: 18px;
  }

  .step-area .step-guide-list .item .text {
    font-size: 15px;
  }

  .step-area .illust-left {
    top: 32vw;
    width: 24vw;
  }

  .step-area .illust-right {
    top: 4vw;
    max-width: 16vw;
  }

  .step-area .illust-wood {
    max-width: 18vw;
  }

  .step-area .illust-leaves {
    top: 65%;
    max-width: 14vw;
  }
}

@media(max-width:599px) {
  .step-area .step-guide-list .item {
    width: 96%;
  }

  .step-area .step-guide-list .item .item-inner {
    padding: 10px 10px 15px;
    border-radius: 10px;
  }

  .step-area .step-guide-list .item .title {
    font-size: 20px;
    letter-spacing: -0;
  }

  .step-area .step-guide-list .item .sub-title {
    font-size: 17px;
  }

  .step-area .step-guide-list .item .text {
    font-size: 14px;
  }

  .step-area .road-box .road .square {
    top: -10px;
    width: 110px;
  }

  .step-area .illust-left {
    top: 250px;
    left: -10px;
    width: 36vw;
  }

  .step-area .illust-right {
    top: 20vw;
    max-width: 26vw;
  }

  .step-area .illust-wood {
    max-width: 34vw;
    right: -5vw;
    top: 44%;
  }

  .step-area .illust-leaves {
    top: 78%;
    max-width: 28vw;
  }

  .step-area .road-box .road .road-wave-wrap .road-svg {
    width: 60vw;
  }
}

/* 08invisalign_type */
.checkbox-list-wrap {
  background-color: var(--color14);
  padding: 20px;
  border: 5px solid var(--color02);
  border-radius: 20px;
}

.checkbox-list {
  border: none;
}

.checkbox-list .checkbox-item+.checkbox-item {
  margin-top: 20px;
}

.checkbox-list .checkbox-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0 10px;
  position: relative;
  margin-bottom: 5px;
  cursor: pointer;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.2;
}

.checkbox-list .checkbox-item label::before,
.checkbox-list .checkbox-item label:has(:checked)::after {
  content: '';
}

.checkbox-list .checkbox-item label::before {
  width: 27px;
  height: 27px;
  border-radius: 3px;
  background-color: #fff;
  border: 2px solid #ccc;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.checkbox-list .checkbox-item label:has(:checked)::before {
  background-color: #1443a6;
}

.checkbox-list .checkbox-item label:has(:checked)::after {
  position: absolute;
  top: 4px;
  left: 9px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 8px;
  height: 15px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
}

.checkbox-list .checkbox-item input {
  display: none;
}

.checkbox-list .checkbox-item .text {
  padding-left: 37px;
  line-height: 1.3;
  transform: rotateZ(0.03deg);
}

.checkbox-list-wrap .checkbox-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 0;
  padding-top: 20px;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  -webkit-transform: translateY(6px);
  transform: translateY(6px);
  -webkit-transition: opacity .35s ease, max-height .35s ease, -webkit-transform .35s ease;
  transition: opacity .35s ease, max-height .35s ease, -webkit-transform .35s ease;
  transition: opacity .35s ease, max-height .35s ease, transform .35s ease;
  transition: opacity .35s ease, max-height .35s ease, transform .35s ease, -webkit-transform .35s ease;
}

.checkbox-list-wrap .checkbox-btn.is-visible {
  opacity: 1;
  max-height: 200px;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.checkbox-list-wrap .checkbox-btn a {
  background-color: var(--color02);
  color: #fff;
  font-size: 22px;
  padding: 10px 50px;
  display: block;
  min-width: 400px;
  border-radius: 100px;
  text-align: center;
  position: relative;
  border: 2px solid var(--color02);
}

.checkbox-list-wrap .checkbox-btn a:hover{
  color: var(--color02);
  background-color: #fff;
  opacity: 1;
}

.checkbox-list-wrap .checkbox-btn a::before {
  content: "\f078";
  font-family: var(--ff99);
  font-weight: bold;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 12px;
  right: 20px;
}

.checkbox-list-wrap .checkbox-btn a:hover::before {
  filter: brightness(0) saturate(100%) invert(34%) sepia(96%) saturate(769%) hue-rotate(195deg) brightness(102%) contrast(86%);
}

@media(max-width:599px) {
  .checkbox-list-wrap {
    padding: 20px 10px;
    border-radius: 15px;
    border: 3px solid var(--color02);
  }

  .checkbox-list-wrap .checkbox-btn {
    width: 100%;
  }

  .checkbox-list-wrap .checkbox-btn a {
    min-width: unset;
    width: 100%;
  }

  .checkbox-list .checkbox-item label {
    font-size: 18px;
  }

  .checkbox-list .checkbox-item label::before {
    width: 22px;
    height: 22px;
  }

  .checkbox-list .checkbox-item label:has(:checked)::after {
    top: 3px;
    left: 8px;
    width: 6px;
    height: 13px;
  }

  .checkbox-list .checkbox-item .text {
    padding-left: 32px;
  }

  .checkbox-list-wrap .checkbox-btn a {
    font-size: 18px;
    padding: 10px 30px 10px 30px;
    min-width: unset;
    width: 100%;
  }

  .checkbox-list-wrap .checkbox-btn a::before {
    right: 15px;
  }
}

/* 12smile_pack */
.smile-ort-list .item{
  background-color: #fff;
    padding: 30px;
    border-radius: 20px;
}

.smile-ort-list .item + .item{
  margin-top: 20px;
}

.smile-ort-list .item .item1,.smile-ort-list .item .item3{
  padding: 20px;
    border-radius: 10px;
    width: 34%;
}

.smile-ort-list .item .item1 {
    border: 2px solid var(--color02);
}

.smile-ort-list .item .item2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.smile-ort-list .item .item3 {
    border: 2px solid #6c6c6c;
}

.smile-ort-list .item .merit {
    color: var(--color02);
}

.smile-ort-list .item .demerit{
    color: #6c6c6c;
}

@media(max-width:1024px){
  .smile-ort-list .item {
    padding: 20px;
    border-radius: 10px;
  }
  
  .smile-ort-list .item .item1, .smile-ort-list .item .item3 {
    padding: 15px 10px;
    border-radius: 10px;
  }
}

@media(max-width:599px){
  .smile-ort-list .item .item1, .smile-ort-list .item .item3{
    width: 100%;
  }
  
  .smile-ort-list .item .item1{
    order: 2;
  }
  
  .smile-ort-list .item .item2{
    order: 1;
    flex-direction: column-reverse;
    width: 50%;
  }
  
  .smile-ort-list .item .item3{
    order: 3;
    margin-top: 10px;
  }
}

/* 記事一覧ページ */
.cate,
.genre {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;    transform: rotateZ(0.03deg);
}

.cate span,
.genre span {
  display: inline-block;
  background: var(--color10);
  color: var(--color01);
  padding: 2px 15px 2px 15px;
  margin: 0 3px 3px 0px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
}

.cate.-type2 span,
.genre.-type2 span {
  background: none;
  border: 1px solid;
  border-radius: 0;
}

.genre span {
  margin: 0;
}

.genre span {
  background: var(--color03);
}

.list-article .genre {
  position: absolute;
  bottom: 0;
  right: 0px;
}

.list-article .txt {
  line-height: 1.7;
  font-size: 16px;
  transform: rotateZ(0.03deg);
}

@media(max-width:599px){
  .list-article .txt{
    width: 100%;
  }
  
  .cate span, .genre span {
    padding: 2px 7px 2px 7px;
    font-size: 12px;
    letter-spacing: 0;
  }
}

/* news */
.news01 .list-article .item.item {
  border-bottom: 1px solid var(--color02);
  padding-bottom: 15px;
  margin-bottom: 15px;
  display: block;
}

.news01 .list-article .item .blocktxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
}

.news01 .list-article .item .blocktxt .cate span {
  display: block;
  padding: 5px 10px 6px 10px;
  margin: 0;
  width: 150px;
  text-align: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.index-article-area .article-block .article-list .article-list-item a .cate span:nth-child(n + 2),.news01 .list-article .item .blocktxt .cate span:nth-child(n + 2){
  display: none;
}

@media(max-width:599px) {
  .news01 .list-article .item .blocktxt {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-column-gap: 10px;
    -moz-column-gap: 10px;
    column-gap: 10px;
  }

  .news01 .list-article .item .blocktxt .cate span {
    display: block;
    padding: 5px 10px 4px 10px;
    margin: 0;
    width: 100px;
    text-align: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 12px;
  }
}

/* blog */
.blog01 .list-article .item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.blog01 .list-article .item {
  border-bottom: 1px solid var(--color02);
  padding-bottom: 15px;
  margin-bottom: 15px;
}

.blog01 .list-article .item a .cate span {
  background: transparent;
  color: var(--color01);
  font-weight: 500;
  border-radius: 0;
  border: 1px solid var(--color01);
}

/* case */
.case01 .list-article .item a {
  position: relative;
}

.case01 .list-article .item a .img {
  border-radius: 10px;
  overflow: hidden;
}

.case01 .list-article .item a .cate {
  position: absolute;
  top: 8px;
  left: 8px;
  width: calc(100% - 16px);
}

.case01 .list-article .item a .cate span {
  padding: 2px 10px 2px 10px;
  font-size: 13px;
  margin: 0 5px 5px 0px;
  white-space: nowrap;
}

.recommend-box .item:nth-of-type(4) {
  display: none;
}

.b-after .before,
.b-after .after {
  position: relative;
}

.b-after .before .img,
.b-after .after .img {
  border-radius: 10px;
  overflow: hidden;
}

.before-text,
.after-text {
  position: absolute;
  line-height: 1;
  text-shadow: var(--text-shadow2);
  font-weight: 600;
}

.before-text {
  font-size: 20px;
  left: 10px;
  top: 10px;
  color: #555;
}

.before::before {
  content: "";
  width: 20px;
  height: 50px;
  background-color: var(--color02);
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  display: block;
  position: absolute;
  left: calc(100% + 16px);
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.after-text {
  right: 10px;
  bottom: 10px;
  color: var(--color01);
  font-size: 28px;
}

.uk-lb {
  cursor: pointer;
}

@media(max-width:599px) {
  .case01 .list-article .item a .cate {
    top: 5px;
    left: 5px;
    width: calc(100% - 10px);
  }

  .case01 .list-article .item a .cate span {
    padding: 2px 6px 2px 6px;
    font-size: 12px;
    margin: 0 3px 3px 0px;
  }

  .recommend-box .item:nth-of-type(4) {
    display: block;
  }

  .before::before {
    width: 12px;
    height: 30px;
    left: calc(100% + 10px);
  }

  .before-text {
    font-size: 16px;
  }

  .after-text {
    font-size: 24px;
  }
}

/* 記事詳細ページ */
.articledtl01 .head,
.articledtl01 .txt h2 {
  border-bottom: 1px solid;
  padding-bottom: 5px;
  margin: 1rem 0 .8rem;
  font-size: 22px;
  font-weight: 600;
  color: var(--color01);
}

.articledtl01 .txt h3 {
  margin: 1em 0;
  padding: .4rem 0 .5rem .8rem;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.3;
  border-left: solid 6px var(--color02);
  font-weight: 700;
}

.articledtl01 .txt h4 {
  margin: 1em 0;
  padding-bottom: 0.5em;
  font-weight: 600;
  font-size: 18px;
  border-bottom: dotted 2px var(--color02);
  line-height: 1.3;
  font-weight: 700;
}

.articledtl01 .txt ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  column-gap: 5px;
}

.articledtl01 .txt ul li::before {
  content: "■";
  color: var(--color01);
}

.articledtl01 .txt ol li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  list-style-type: none;
  counter-increment: cnt;
}

.articledtl01 .txt ol li::before {
  content: ""counter(cnt)".";
  margin-right: 5px;
  font-weight: bold;
  font-size: 120%;
  color: var(--color01);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.articledtl01 iframe[src*="youtube"] {
  margin-top: 1em;
  margin-bottom: 1em;
  aspect-ratio: 16 / 9;
  height: auto;
}

/* 16faq */
.faq-list .datattl {
  position: relative;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: baseline;
  color: var(--color01);
  padding: 0 50px 0 10px;
  font-weight: 500;
  transform: rotateZ(0.03deg);
}

.faq-list .datattl span.text {
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  padding: 10px 50px 10px 0;
  line-height: 1.5;
}

.faq-list .datattl:before {
  content: "Q";
  color: #ffffff;
  background-color: var(--color01);
  font-size: 26px;
  font-weight: 600;
  font-family: var(--ff02);
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  line-height: 1;
  -ms-flex-negative: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-shrink: 0;
  margin-right: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.faq-list .datattl span:before {
  content: "";
  width: 50px;
  height: 50px;
  display: block;
  border-radius: 50%;
  background-color: var(--color01);
  position: absolute;
  top: 10px;
  right: 0;
}

.faq-list .datattl span:after {
  content: "\f078";
  font-family: var(--ff99);
  font-weight: bold;
  color: #fff;
  position: absolute;
  top: 24px;
  right: 17px;
  -webkit-transition: .5s;
  transition: .5s;
}

.faq-list .datattl.is-parent span:after {
  -webkit-transform: scale(1, -1);
  transform: scale(1, -1);
}

.faq-list .item {
  margin-bottom: 20px;
  padding-bottom: 20px;
  overflow: hidden;
  border-bottom: 1px solid var(--color01);
}

[data-element-id] .faq-list .item:nth-child(n + 4) {
  display: none;
}

.faq-list .data {
  position: relative;
  display: none;
  padding: 35px 20px 20px 80px;
  color: var(--color01);
  font-weight: 500;
  transform: rotateZ(0.03deg);
}

[data-element-id] .faq-list .data {
  display: block;
}

.faq-list .data:before {
  content: "A";
  position: absolute;
  top: 20px;
  left: 10px;
  color: #ffffff;
  background-color: var(--color01);
  font-size: 26px;
  font-weight: 600;
  font-family: var(--ff02);
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  line-height: 1;
  -ms-flex-negative: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-shrink: 0;
  margin-right: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (max-width: 1024px) {
  .faq-btn-box .button-wrap .btn-type-01 {
    width: calc(100% / 4);
    line-height: 1.3;
  }

  .faq-btn-box .button-wrap .btn-type-01 a {
    width: 100%;
    font-size: 15px;
  }
}

@media (max-width: 599px) {
  .faq-btn-box .button-wrap .btn-type-01 {
    width: calc(100% / 2);
  }

  .faq-list .item {
    font-size: 15px;
  }

  .faq-list .datattl {
    padding: 0 40px 0 0;
  }

  .faq-list .datattl span.text {
    padding: 10px 30px 10px 0;
  }

  .faq-list .datattl span:before {
    right: 0px;
    width: 33px;
    height: 33px;
    top: 5px;
  }

  .faq-list .datattl span:after {
    right: 9px;
    top: 11px;
  }

  .faq-list .datattl:before {
    font-size: 24px;
    width: 40px;
    margin-right: 10px;
  }

  .faq-list .data {
    padding-left: 50px;
    padding-bottom: 0px;
  }

  .faq-list .data:before {
    font-size: 24px;
    width: 40px;
    top: 22px;
    left: 0;
  }

  .faq-list .datattl.is-parent span:after {
    top: 10px;
  }
}

/* 18contact */
.lead-box .lead-box-inner {
  background-color: #fff;
  border: 8px solid #a3e46e;
  border-radius: 20px;
}

.lead-box .qr-box {
  border-top: 2px dashed #ccc;
  margin-top: 30px;
  padding-top: 30px;
}

.lead-box .qr-box .qr-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  border-left: 2px dotted #7a93d3;
  padding: 5px 20px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.lead-box .qr-box .qr-item .num {
  background-color: var(--color01);
  color: #fff;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 5px;
}

.lead-box .qr-box .qr-item .line-id {
  background-color: var(--color08);
  color: var(--color01);
  border-radius: 100px;
  padding: 3px 10px 3px;
  text-align: center;
  font-weight: 500;
  margin-top: 5px;
  font-family: 'Montserrat';
}

.page-contact .contact-none{
  display: none;
}

@media(max-width:599px) {
  .lead-box .qr-box .qr-item {
    border-left: none;
    padding: 0;
    margin-top: 10px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .lead-box .qr-box .qr-item .num {
    width: 30px;
    height: 30px;
  }

  .lead-box .qr-box {
    border-top: 2px dashed #ccc;
    margin-top: 20px;
    padding-top: 20px;
  }
}

.form .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  line-height: 1;
}

.form .box:not(:first-of-type) {
  padding: 30px 0 0;
}

.form .box.textarea {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.form .datattl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  width: 200px;
  font-weight: 500;
  transform: rotateZ(0.03deg);
}

.form .require {
  display: inline-block;
  margin-left: 10px;
  padding: 5px 10px 4px 10px;
  background: var(--color01);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  border-radius: 100px;
}

.form .data {
  padding-left: 50px;
  width: 100%;
  transform: rotateZ(0.03deg);
}

.form .data input {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 5px 1rem;
  width: 100%;
  border: none;
  background: #fff;
  border-radius: 100px;
}

.form .data input[type='radio'] {
  display: none;
}

.form .data input[type='radio']+label {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-right: 20px;
  padding-left: 20px;
  line-height: 1;
  transform: rotateZ(0.03deg);
  display: inline-block;
}

.form .data input[type='radio']+label::before {
  position: absolute;
  top: 1px;
  left: 0;
  display: block;
  width: 15px;
  height: 15px;
  border: 1px solid #7c7c7c;
  border-radius: 50%;
  background: #fff;
  content: '';
}

.form .data input[type='radio']:checked+label::after {
  position: absolute;
  top: 3px;
  left: 2px;
  display: block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--color01);
  content: '';
}

.form .data input[type='radio']:checked+label {
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

.form .data input[type='number'] {
  margin-right: 10px;
  width: 70px;
}

.form .data select {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 5px;
  border: 1px solid #999;
  color: inherit;
}

.form .data textarea {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  width: 100%;
  height: 170px;
  background: #fff;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  border: none;
  border-radius: 10px;
}

.form .data01 div {
  display: inline-block;
}

.form .btn {
  margin-top: 30px;
}

.form .btn button:hover {
  cursor: pointer;
}

@media (max-width: 1024px) {
  .form .item {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .form .datattl {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-bottom: 10px;
  }

  .form .data {
    padding-left: 0;
  }
}

@media(max-width:599px) {
  .form .box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .form .btn {
    padding-bottom: 30px;
  }

  .form .data input[type='radio']+label::before {
    top: 1px;
  }
}

/* 見たまま編集 */
[data-ab-test-block] [data-ab-test-contents]+[data-ab-test-contents] {
  display: none;
}

[data-ab-test-block] {
    width: fit-content;
    margin-left: auto;
    margin-top: 50px;
}

[data-element-id] header>.pagettl {
  display: block;
}

[data-element-id] .date {
  -ms-flex-negative: 1;
  flex-shrink: 1;
}

[data-element-id] .canvas-container {
  display: none;
}

[data-element-id] .gnav.fixed {
  position: relative;
}

[data-element-id] .gnav .item01.-logo {
    display: block;
}

[data-element-id] .gnav .item01.-logo img{
  opacity: 1;
  width: 300px;
  visibility: visible;
}

[data-element-id] .gnav .list01 {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

[data-element-id] .gnav .list02 {
    position: relative;
    top: auto;
    left: auto;
    visibility: visible;
    padding-top: 10px;
    width: auto;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    pointer-events: auto;
}

[data-element-id] .header .header-nav .illust-leaf-right{
  position: relative;
  margin-left: auto;
}

[data-element-id] .header .header-nav .illust-leaf-left {
    top: auto;
    bottom: 0;
}

[data-element-id] .header .header-nav .illust-leaf-right,[data-element-id] .header .header-nav .illust-leaf-left {
    max-width: 100px;
}

[data-element-id] .show\@tb {
  display: block;
  border: solid 4px green;
  position: relative;
}

[data-element-id] .show\@tb:after {
  display: block;
  content: "モバイル用";
  color: #fff;
  font-weight: 500;
  background: green;
  padding: 8px 5px 5px;
  text-align: center;
  text-shadow: none;
  font-size: 12px;
  line-height: 1;
  font-family:initial;
}

[data-element-id] .show\@tb.indention {
  display: inline-block;
  border: none;
  width: 30px;
}

[data-element-id] .show\@tb.indention:after {
  content: "SP時改行";
  font-size: 10px;
  padding: 4px 2px 5px;
}

[data-element-id] .show\@pc.indention {
  font-size: 10px;
  border: none;
  display: inline-block;
  width: 30px;
}

[data-element-id] .show\@pc.indention:after {
  content: "PC時改行";
  display: block;
  letter-spacing: -1px;
  color: #fff;
  font-weight: 700;
  background: blue;
  padding: 3px;
  text-align: center;
  text-shadow: none;
  font-size: 10px;
  font-family:initial;
}

[data-element-id] .show\@sp {
  display: block;
  border: solid 4px green;
  position: relative;
  max-width: 375px;
  margin-left: auto;
  margin-right: auto;
  opacity:1;
}

[data-element-id] .show\@sp:after {
  display: block;
  content: "モバイル用";
  color: #fff;
  font-weight: 500;
  background: green;
  padding: 8px 5px 5px;
  text-align: center;
  text-shadow: none;
  font-size: 12px;
  line-height: 1;
  font-family:initial;
}

[data-element-id] .show\@sp.indention {
  display: inline-block;
  border: none;
  width: 30px;
}

[data-element-id] .show\@sp.indention:after {
  content: "SP時改行";
  font-size: 10px;
  padding: 4px 2px 5px;
}

[data-element-id] .modal {
  height: auto;
  display: block;
  margin: 50px;
  position: relative;
}

[data-element-id] .js-modal01 .modal__content::after {
  width: 100%;
  min-width: 200px;
  padding: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 12px;
  color: #fff;
  background: #555;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  position: absolute !important;
      top: 0;
  left: 50%;
  border: 2px solid #555;
  font-family: initial;
      text-align: center;
}

[data-element-id] .js-modal01 .modal__content::after {
  content: "「電話でお問い合わせ」をクリックしたときに現れる画面です";
}

[data-element-id].modal__bg {
  display: none;
}

[data-element-id] .modal__content {
  width: 90%;
  border: 2px solid #555;
  -webkit-transform: none;
  transform: none;
  position: relative;
  top: 0;
  left: 0;
  border-radius: 0;
  margin: 0 auto;
}

[data-element-id] .fix-bottom {
    position: relative;
    right: auto;
    top: auto;
    border: 3px solid;
    padding: 10px;
    width: fit-content;
    margin-left: auto;
}

[data-element-id] .fix-bottom::before {
    content: "公開画面で追従するボタンです";
    background-color: var(--color00);
    color: #fff;
    padding: 5px;
    font-size: 12px;
    text-align: center;
    display: block;
    margin: -10px -10px 10px;
    font-family: initial;
    width: calc(100% + 20px);
}

[data-element-id] .fix-bottom a{
    writing-mode: unset;
}

[data-element-id] .fix-bottom a .hide\@pc {
    display: block;
    writing-mode: horizontal-tb;
    border: 4px solid green;
    padding: 10px;
}

[data-element-id] .fix-bottom a .hide\@pc::before{
  content: "編集用";
    background-color: green;
    color: #fff;
    padding: 5px;
    font-size: 12px;
    text-align: center;
    display: block;
    margin: -10px -10px 10px;
    font-family: initial;
}

[data-element-id] .footer-nav .illust-kujira{
  max-width: 200px;
  top: 20px;
}

[data-element-id] .footer-nav .illust-left-leaf {
       max-width: 170px;
}

[data-element-id] .footer-nav .illust-ei {
    bottom: 60px;
    left: 50px;
    max-width: 100px;
}

[data-element-id] .footer-nav .illust-right-leaf {
    top: 80px;
    max-width: 160px;
}

[data-element-id] .footer-nav .illust-turtle {
    top: auto;
    bottom: 50px;
    max-width: 130px;
}

[data-element-id] .index-3seacrets-area .illust-girl{
  left: 300px;
  z-index: 3;
}

[data-element-id] .index-3seacrets-area .section-title-wrap{
  width: fit-content;
}

[data-element-id].tabItem {
  display: block;
}

[data-element-id].tabItem + .tabItem{
  margin-top: 20px;
}

[data-element-id] .index-step-area{
  z-index: 4;
}

[data-element-id] .index-case-area .swiper-wrapper {
    width: 100%;
}

[data-element-id] .index-case-area .swiper-wrapper> div{
    width: 100%;
    display: flex;
}

[data-element-id] .index-case-area .swiper-slide{
      max-width: calc(100% / 3);
}

[data-element-id] .index-price-area .swiper-slide,[data-element-id] .index-price-area [data-hide-element]{
      max-width: calc(100% / 2);
      width: 100%;
}

[data-element-id] .index-price-area [data-hide-element] .swiper-slide{
      max-width: 100%;
}

[data-element-id] .checkbox-list-wrap .checkbox-btn{
  overflow: visible;
    opacity: 1;
    max-height: unset;
}

[data-element-id] .step-area .road-box .road .square {
    position: relative;
    left: 80px;
    top: -40px;
    -webkit-transform: none;
    transform: none;
}

/* about */
[data-element-id] .swiper-wrapper{
  flex-wrap: wrap;
}
[data-element-id] .about-scenes-area .scenes-slide .item {
    width: calc((100% - 160px) / 4);
    margin-bottom: 20px;
}

.uk-text-danger {
    transform: rotateZ(0.03deg);
    display: block;
}

.tel.js-modal-open01[data-ab-test-conversion-button=""]{
      pointer-events: auto;
}
