@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;500;600;700&display=swap");
/* --------------------------------
sec01
----------------------------------- */
.part01-2 {
  background-color: #e7f5e4;
  padding-inline: 3rem;
  padding-bottom: 8rem;
}

.part01-2-text {
  background: linear-gradient(24deg, #139973, #2ec4a8);
  color: #fff;
  font-size: 3.4rem;
  font-weight: 400;
  font-family: "Shippori Mincho B1", serif;
  text-align: center;
  padding-block: 2.4rem;
  position: relative;
  z-index: 100;
  margin-top: -5rem;
}

.part01-2-container {
  border: #0d8260 3px solid;
  border-top: none;
  padding-inline: 1.9rem;
  position: relative;
  background-color: #ffffff;
}

.part01-2-text01 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1.5rem;
  font-size: 2.9rem;
  padding-top: 2rem;
}
.part01-2-text01-img {
  width: 4rem;
}

.part01-2-badge {
  position: absolute;
  top: -3.5rem;
  right: 2.5rem;
  z-index: 101;
}
.part01-2-badge img {
  width: 15.6rem;
}

.part01-2-text02 {
  display: flex;
  align-items: flex-end;
}
.part01-2-text02 .x-img {
  width: 14.2rem;
}
.part01-2-text02 .part01-2-text02-01 {
  font-size: 11.3rem;
  line-height: 1;
  color: #e77577;
  font-weight: 500;
  font-family: "Shippori Mincho B1", serif;
}
.part01-2-text02 .part01-2-text02-unit {
  color: #e77577;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: baseline;
  font-size: 7.2rem;
}
.part01-2-text02 .part01-2-text02-unit .tax-included {
  font-size: 1.9rem;
  line-height: 1;
  display: block;
  white-space: nowrap;
}
.part01-2-text02 .part01-2-text02-unit .en {
  font-size: 4.8rem;
  line-height: 1.5;
}
.part01-2-text02 .part01-2-text02-02 {
  font-size: 3rem;
  line-height: 1;
  font-family: "Shippori Mincho B1", serif;
  margin-bottom: 0.8rem;
}

.part01-2-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-block: 1.8rem 3rem;
}
.part01-2-list li {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  width: 31rem;
  font-size: 3.2rem;
  color: #0d8260;
  font-weight: 500;
  background-color: #f8eaeb;
  padding: 0.5rem 0rem 0.5rem 2rem;
}
.part01-2-list li span {
  width: 4.2rem;
  flex-shrink: 0;
}
.part01-2-list li p {
  width: 100%;
  text-align: center;
}

.part01-2-cta-text01 {
  font-size: 3.2rem;
  text-align: center;
  font-family: "Shippori Mincho B1", serif;
  letter-spacing: 0.06em;
}

.part01-2-cta-text02 {
  font-size: 3.6rem;
  text-align: center;
  font-family: "Shippori Mincho B1", serif;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 3rem;
}
.part01-2-cta-text02 p {
  display: inline-block;
  white-space: nowrap;
  letter-spacing: -0.1em;
}
.part01-2-cta-text02 img {
  width: 2.6rem;
}

.cta {
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
  margin-bottom: 5.5rem;
}

.marker {
  background: linear-gradient(transparent 60%, #fffb8e 0); /* 下40%だけ黄色 */
  box-decoration-break: clone; /* 複数行でも行ごとに塗る */
  -webkit-box-decoration-break: clone;
}

/* --------------------------------
sec02
----------------------------------- */
.sec02 {
  background-image: url(../../img/01/w1.webp);
  padding: 8.5rem 3rem 9.5rem;
  background-size: cover;
  background-position: center top;
}

.sec02-text {
  font-size: 5.8rem;
  font-family: "Shippori Mincho B1", serif;
  text-align: center;
  white-space: nowrap;
  letter-spacing: -0.06em;
  font-weight: 400;
  margin-bottom: 7rem;
  text-shadow: 0 0 16px rgb(255, 255, 255), 0 0 48px rgb(255, 255, 255), 0 0 110px rgb(255, 255, 255), 0 0 180px rgb(255, 255, 255), 0 0 24px rgb(255, 255, 255), 0 0 64px rgba(255, 255, 255, 0.98), 0 0 140px rgba(255, 255, 255, 0.95), 0 0 220px rgba(255, 255, 255, 0.88), 0 0 320px rgba(255, 255, 255, 0.78), 0 0 460px rgba(255, 255, 255, 0.65), 0 0 16px rgb(255, 255, 255), 0 0 48px rgb(255, 255, 255), 0 0 110px rgb(255, 255, 255), 0 0 180px rgb(255, 255, 255), 0 0 24px rgb(255, 255, 255), 0 0 64px rgba(255, 255, 255, 0.98), 0 0 140px rgba(255, 255, 255, 0.95), 0 0 220px rgba(255, 255, 255, 0.88), 0 0 320px rgba(255, 255, 255, 0.78), 0 0 460px rgba(255, 255, 255, 0.65);
}

.sec02-lists {
  display: flex;
  flex-direction: column;
  gap: 2.7rem;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 4.4rem 0rem 4rem 4rem;
  box-shadow: 0 4px 6px rgba(4, 0, 27, 0.14);
}

.sec02-list {
  display: flex;
  align-items: first baseline;
  font-size: 3rem;
  gap: 3rem;
}
.sec02-list img {
  width: 3.4rem;
}
.sec02-list span {
  color: #de787a;
  font-weight: bold;
}

/* --------------------------------
sec03
----------------------------------- */
.sec03-title {
  position: relative;
  margin-top: -2.5rem;
}

.sec03-title-text {
  font-size: 3.6rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 5rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  margin-left: 1rem;
  line-height: 1.4;
}
.sec03-title-text .sec03-title-text-02 {
  font-size: 6.2rem;
  color: #fffb8e;
  letter-spacing: 0.02em;
}
.sec03-title-text .sec03-title-text-02 .sec03-title-dots {
  margin-right: -2rem;
}
.sec03-title-text .sec03-title-text-03 {
  font-size: 3.6rem;
  letter-spacing: -0.03em;
}
.sec03-title-text .sec03-title-text-03 .sec03-title-dots {
  margin-right: -2rem;
}

.sec03-text01 {
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  margin-top: 2.6rem;
}
.sec03-text01 span {
  font-size: 6.8rem;
}

.sec03-point-text {
  font-size: 4.9rem;
  font-weight: bold;
  text-align: center;
  margin-top: 2.6rem;
  background-color: #fffb8e;
  clip-path: polygon(0 0, 100% 0%, 100% 70%, 50% 100%, 0% 70%);
  width: 28.2rem;
  height: 10rem;
  text-align: center;
  margin: 5rem auto 4rem;
  padding-top: 0.5rem;
}

.sec03-text02 {
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
}
.sec03-text02 span {
  font-size: 3.6rem;
  background-color: #de787a;
  color: #fff;
  padding: 0.5rem 1.5rem;
}

.sec03-text03 {
  position: relative;
  z-index: 1;
  margin-top: 2.7rem;
  padding-top: 5rem;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6666666667;
  margin-left: 5.5rem;
  text-shadow: 0 0 10px rgb(255, 255, 255), 0 0 5px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 25px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 25px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255);
}

.sec03-text03-img {
  position: absolute;
  top: 0rem;
  right: 0;
  z-index: -1;
  width: 60%;
}

.sec03-text04 {
  font-size: 3.6rem;
  font-weight: bold;
  text-align: center;
  margin-top: 2.6rem;
  background-color: #333;
  width: 47rem;
  height: 6.3rem;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 5rem auto 4rem;
  position: relative;
}
.sec03-text04::after {
  content: "";
  display: block;
  width: 2.2rem;
  height: 3.5rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #333;
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translateX(-50%);
}

.sc03-img {
  margin: 1.3rem 5.5rem 3rem;
}

.sec03-text05 {
  font-size: 3rem;
  padding-inline: 5.5rem;
  font-weight: 500;
  margin-bottom: 8rem;
  line-height: 1.6;
}
.sec03-text05 span {
  color: #de787a;
  font-weight: bold;
}

.sec03-box {
  background-color: #232f28;
  margin-top: 8rem;
  position: relative;
  padding-block: 8.4rem 11rem;
  text-align: center;
}

.sec03-box-text {
  background-color: #434343;
  color: #fff;
  font-weight: bold;
  font-size: 5.4rem;
  clip-path: polygon(0 0, 100% 0%, 100% 70%, 50% 100%, 0% 70%);
  width: 25.7rem;
  height: 9.7rem;
  text-align: center;
  position: absolute;
  top: -5rem;
  left: 50%;
  transform: translateX(-50%);
}

.sec03-box-text02 {
  font-size: 3rem;
  color: #fff;
  line-height: 1.8;
  font-weight: bold;
}

.sec03-box-point1 {
  background-color: #fff;
  color: #232f28;
  padding-inline: 0.5rem;
}

.sec03-box-point2 {
  font-size: 4.8rem;
  color: #fffb8e;
}

/* --------------------------------
sec04
----------------------------------- */
.sec04 {
  background-color: #f7f7f7;
}

.sec04-img {
  margin-left: 4.5rem;
  margin-top: 5.5rem;
  position: relative;
}
.sec04-img .sec04-img-text {
  position: absolute;
  top: 3.7rem;
  right: 3rem;
}
.sec04-img .sec04-img-text p {
  color: #4da474;
  font-size: 8.2rem;
  font-family: "Shippori Mincho B1", serif;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-weight: 500;
}
.sec04-img .sec04-img-text .sec04-img-text-num {
  width: 8.9rem;
  margin-left: 5.5rem;
  margin-top: -2rem;
}

.sec04-item01 {
  background-color: #fff;
  margin-left: 5.5rem;
  box-shadow: 0 4px 6px rgba(4, 0, 27, 0.14);
  padding: 4rem 3.4rem;
  margin-top: -2rem;
  margin-bottom: 8rem;
}

.sec04-item01-text01 {
  font-size: 4rem;
  line-height: 1.2;
  font-family: "Shippori Mincho B1", serif;
}

.sec04-img02 {
  width: 42.4rem;
  margin: 4rem auto;
}

.sec04-item01-text02 {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.7666666667;
}

.sec04-img03 {
  margin-right: 2rem;
  position: relative;
}
.sec04-img03 .sec04-img03-text {
  position: absolute;
  top: 3.7rem;
  left: 3rem;
}
.sec04-img03 .sec04-img03-text p {
  color: #4da474;
  font-size: 8.2rem;
  font-family: "Shippori Mincho B1", serif;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-weight: 500;
}
.sec04-img03 .sec04-img03-text .sec04-img-text-num02 {
  width: 8.9rem;
  margin-left: 5.5rem;
  margin-top: -2rem;
}

.sec04-item02 {
  background-color: #fff;
  margin-right: 5.5rem;
  box-shadow: 0 4px 6px rgba(4, 0, 27, 0.14);
  padding: 4rem 0 4rem 3rem;
  margin-top: -4rem;
}

.sec04-item02-text01-margin {
  margin-left: 16rem;
  margin-bottom: 3.2rem;
}

.sec04-lists {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.sec04-list {
  background-color: #f5ffe3;
  height: 13.4rem;
  padding: 2.2rem 0 2.2rem 2.7rem;
  margin-right: 2.5rem;
}
.sec04-list .sec04-list-text01 {
  color: #8bb641;
  font-weight: bold;
  font-size: 3.3rem;
}
.sec04-list .sec04-list-text02 {
  color: #333;
  font-weight: 500;
  font-size: 3.3rem;
}

.sec04-item02-text {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6666666667;
}

/* --------------------------------
sec05
----------------------------------- */
.sec05 {
  padding-block: 4.3rem 14rem;
  background-color: #f7f7f7;
}

.sec05-arrow {
  width: 14.3rem;
  margin: 0 auto 4rem;
}

.sec05-item01-text {
  font-size: 3.4rem;
  line-height: 1.2;
  font-family: "Shippori Mincho B1", serif;
  line-height: 2;
  text-align: center;
}
.sec05-item01-text span {
  color: #fff;
  background-color: #e77577;
  padding: 0.2rem;
}

.sec05-item-img {
  position: relative;
}

.sec05-item-img-text {
  font-size: 7.2rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4rem;
  margin: auto;
  text-shadow: 0 0 10px rgb(255, 255, 255), 0 0 5px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 25px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 25px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255);
}
.sec05-item-img-text span {
  font-size: 6rem;
}
.sec05-item-img-text img {
  width: 64rem;
  margin: 0 auto;
}

.sec05-item02 {
  position: relative;
}

.sec05-en {
  position: absolute;
  top: -10.4rem;
  right: 0;
  width: 100%;
}

.sec05-item02-text {
  position: relative;
  z-index: 2;
  font-size: 3.5rem;
  text-align: center;
  line-height: 1.6;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
}
.sec05-item02-text span {
  font-size: 5.8rem;
  color: #4da474;
  padding: 0.2rem;
}

.dots-line {
  width: 100%;
  height: 0.2rem;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  width: 62rem;
}

.sec05-item02-text02 {
  position: relative;
  z-index: 1;
  width: 63rem;
  margin: 5rem auto 0;
}
.sec05-item02-text02 .sec05-item-text02-text {
  width: 100%;
  font-size: 3rem;
  line-height: 1.6666666667;
  text-align: center;
  position: absolute;
  top: 1rem;
}
.sec05-item02-text02 .sec05-item-text02-text span {
  font-weight: bold;
  color: #e77577;
}

.sec05-lists {
  margin-top: 5rem;
}

.sec05-list-odd {
  position: relative;
  z-index: 3;
}
.sec05-list-odd p {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.6666666667;
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  transform: translateY(-50%);
  text-shadow: 0 0 10px rgb(255, 255, 255), 0 0 5px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 25px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 25px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255);
}

.sec05-list-even {
  position: relative;
  z-index: 3;
}
.sec05-list-even p {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.6666666667;
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 3rem;
  transform: translateY(-50%);
  text-shadow: 0 0 10px rgb(255, 255, 255), 0 0 5px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 25px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 25px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255);
}

.sec05-item04 {
  margin-top: 11rem;
}

.sec05-item04-img {
  position: relative;
}
.sec05-item04-img .sec05-item04-text01 {
  position: absolute;
  top: -2.5rem;
  right: 8rem;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 4rem;
  font-family: "Shippori Mincho B1", serif;
  text-shadow: 0 0 10px rgb(255, 255, 255), 0 0 5px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 25px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 25px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255);
}
.sec05-item04-img .sec05-item04-text01 span {
  margin-top: 2.5rem;
}

.sec05-item04-text02 {
  font-size: 7.3rem;
  font-family: "Shippori Mincho B1", serif;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  top: 0;
  left: 5.5rem;
  letter-spacing: 0;
  line-height: 1.2;
  white-space: nowrap;
  word-break: keep-all;
  text-shadow: 0 0 10px rgb(255, 255, 255), 0 0 5px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 25px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 25px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255);
}

.sec05-item04-text02 .col {
  display: inline-block;
  border-block-start: 2px solid #333;
}

.second-font {
  margin-top: 30rem;
  margin-right: 2rem;
}

.font57 {
  font-size: 5.7rem;
}

.font70 {
  font-size: 7rem;
}

.sec05-item04-text {
  font-size: 3.4rem;
  text-align: center;
  font-family: "Shippori Mincho B1", serif;
  font-family: 500;
  margin-bottom: 8rem;
}
.sec05-item04-text span {
  color: #e77577;
}

/* --------------------------------
sec06
----------------------------------- */
.sec06 {
  background-color: #e7f5e4;
  padding: 8rem 3rem 9rem;
}

.flow-title {
  text-align: center;
  font-size: 5rem;
  line-height: 1.58;
  margin-bottom: 4rem;
  color: #4da474;
  font-family: "Shippori Mincho B1", serif;
}
.flow-title .flow-title02 {
  font-size: 5.5rem;
}
.flow-title .flow-title01 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4.5rem;
}
.flow-title .flow-title01::after {
  content: "";
  display: block;
  width: 9.5rem;
  height: 1px;
  background-color: #4da474;
}
.flow-title .flow-title01::before {
  content: "";
  display: block;
  width: 9.5rem;
  height: 1px;
  background-color: #4da474;
}

.flow-lists {
  box-shadow: 0 4px 6px rgba(4, 0, 27, 0.14);
  background-color: #fff;
  padding: 5rem 2.5rem;
}

.flow-list-text {
  font-size: 5.4rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
}
.flow-list-text span {
  font-size: 3.4rem;
  margin-left: 3rem;
}

.flow-list-text02 {
  font-size: 2.8rem;
  line-height: 1.6071428571;
}

.flow-arrow {
  width: 13.2rem;
  margin: 2.7rem auto;
}

/* --------------------------------
sec07
----------------------------------- */
.sec07 {
  padding-block: 7.8rem 0;
}

.sec07-top {
  background-image: url(../../img/03/bg-y.webp);
  background-position: center 31px;
  background-size: 100%;
  background-repeat: no-repeat;
  padding-bottom: 10rem;
}

.sec07-title {
  font-size: 5.5rem;
  font-family: "Shippori Mincho B1", serif;
  text-align: center;
  font-weight: 500;
  margin-bottom: 2.5rem;
}

.sec07-sub-title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  font-size: 3.6rem;
  font-family: "Shippori Mincho B1", serif;
  line-height: 1.25;
}
.sec07-sub-title img {
  width: 2.8rem;
}

.sec07-main-img {
  margin: -11.1rem auto 3.5rem;
  width: 55rem;
}

.sec07-container {
  background-image: url(../../img/03/bg.webp);
  background-size: cover;
  background-position: center top;
  padding-bottom: 8rem;
}

.sec07-text {
  font-size: 2.8rem;
  line-height: 1.6071428571;
  letter-spacing: 0.08em;
  padding-inline: 3rem;
}

.staff-lists {
  display: flex;
  flex-direction: column;
  margin-top: 4rem;
  gap: 4rem;
}

.staff-list {
  display: flex;
  gap: 1rem;
}
.staff-list .staff-img {
  width: 30rem;
  height: auto;
  flex-shrink: 0;
  margin-right: 5.5rem;
}

.staff-num {
  font-size: 2.8rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  line-height: 1.6071428571;
  letter-spacing: 0.02em;
  color: #0d8260;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 3rem;
}
.staff-num::after {
  content: "";
  display: block;
  width: 22.6rem;
  height: 1px;
  background-color: #0d8260;
  margin-left: 0.8rem;
}

.staff-name {
  font-size: 4.8rem;
  font-family: "Shippori Mincho B1", serif;
  line-height: 0.9375;
  letter-spacing: 0.08em;
  color: #0d8260;
  padding-left: 3rem;
  margin-bottom: 2rem;
  color: #333;
}
.staff-name span {
  font-size: 2.8rem;
  margin-right: 3.2rem;
}

.staff-text {
  font-size: 2.8rem;
  line-height: 1.6071428571;
  letter-spacing: 0.08em;
}
.staff-text .staff-font {
  color: #fff;
  background-color: #4da474;
  display: inline-block;
  padding-left: 3rem;
  padding-right: 2rem;
  margin-bottom: 0.5rem;
  overflow: visible;
  white-space: nowrap;
}
.staff-text .staff-font span {
  letter-spacing: -0.2rem;
  margin-right: -1rem;
}

/* 回転対象は独立させて“確実に”効かせる */
.staff-rotate {
  display: inline-block; /* インラインの回転を安定させる */
  transform: rotate(30deg);
  transform-origin: center; /* 回転中心を中央に */
  vertical-align: middle; /* ベースラインのズレを軽減 */
  margin-left: -1rem;
}

.sec07-m-text01,
.sec07-m-text02 {
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 2px; /* 太さ */
  text-underline-offset: 0.25em; /* 文字からの離れ具合 */
  padding-inline: 3rem;
}

.sec07-m-text01 {
  color: #e77577;
  font-size: 3.2rem;
  font-family: "Shippori Mincho B1", serif;
  line-height: 1.875;
  font-weight: 500;
  margin-top: 3.9rem;
}

.sec07-m-text02 {
  color: #333;
  font-size: 3.2rem;
  font-family: "Shippori Mincho B1", serif;
  line-height: 1.875;
  font-weight: 500;
  margin-bottom: 3rem;
}

.sec07-under {
  display: flex;
  padding-inline: 3rem;
}
.sec07-under img {
  width: 29.4rem;
  flex-shrink: 0;
  margin-right: 4.6rem;
}

.sec07-u-text {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 1.6071428571;
  letter-spacing: 0.08em;
}
.sec07-u-text .sec07-u-text01 {
  background-color: #8bb641;
  color: #fff;
  width: 17.6rem;
  height: 4rem;
  text-align: center;
}
.sec07-u-text .sec07-u-text02 {
  font-size: 3.4rem;
}
.sec07-u-text .sec07-u-name {
  font-size: 6.2rem;
}

.sec07-u-text-last {
  background-color: #fff;
  width: 69rem;
  margin: 0 auto 4rem;
  padding: 2.5rem;
  font-size: 2.8rem;
  line-height: 1.6071428571;
  box-shadow: 0 4px 6px rgba(4, 0, 27, 0.14);
}
.sec07-u-text-last span {
  font-weight: bold;
  background-color: #fffb8e;
}

/* --------------------------------
sec08
----------------------------------- */
.sec08-review {
  background-image: url(../../img/04/review-bg.webp);
  background-position: center top;
  background-size: cover;
  padding: 8.7rem 3rem 7.9rem;
}

.sec08-title-text {
  width: 100%;
  text-align: center;
  top: 0;
  font-family: "Shippori Mincho B1", serif;
}

.sec08-title-text01 {
  font-size: 4.5rem;
}
.sec08-title-text01 span {
  font-size: 3.8rem;
}

.sec08-title-text02 {
  font-size: 7rem;
}

.sec08-title-text03 {
  font-size: 3rem;
  color: #fff;
  font-weight: bold;
  /* グラデ背景（左が濃い） */
  background: linear-gradient(90deg, #139973 0%, #2ec4a8 100%);
  /* フォールバック */
  background-color: #139973;
  margin-inline: 3rem;
  padding-inline: 0.5rem;
}

.sec08-review-contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.3rem;
  margin-top: 2.4rem;
}

.sec08-review-item {
  display: flex;
  justify-content: space-between;
  width: 63.8rem;
}
.sec08-review-item .sec08-item-wing {
  width: 6.8rem;
}
.sec08-review-item .review-title {
  font-size: 3.6rem;
  font-weight: 500;
  font-family: "Shippori Mincho B1", serif;
  text-align: center;
}
.sec08-review-item .star-img {
  width: 20rem;
  margin-right: 0;
  margin-left: auto;
}
.sec08-review-item .review-text {
  display: flex;
  justify-content: center;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  line-height: 0.8;
}
.sec08-review-item .review-point01 {
  font-size: 12rem;
}
.sec08-review-item .font-ken {
  font-size: 5.6rem;
  margin-left: -3rem;
}
.sec08-review-item .review-point02 {
  font-size: 12rem;
}
.sec08-review-item .review-point02 .review-p {
  margin-right: -3rem;
  margin-left: 2rem;
}
.sec08-review-item .review-point02 .review-p2 {
  font-size: 10rem;
}
.sec08-review-item .review-point02 .review-p3 {
  font-size: 4.9rem;
  margin-left: -3rem;
}

.sec08-review-word {
  text-align: center;
  font-size: 6rem;
  font-weight: 500;
  font-family: "Shippori Mincho B1", serif;
  line-height: 1.2;
  margin-top: 1rem;
  letter-spacing: 0.08em;
}

.sec08-move {
  background-image: url(../../img/04/bg.webp);
  background-position: center top;
  background-size: cover;
  padding: 7.7rem 3rem 8rem;
}

.sec08-move-title {
  font-size: 4rem;
  text-align: center;
}

.sec08-move-title01 {
  color: #0d8260;
  font-weight: 300;
}

.sec08-move-title02 {
  font-family: "Shippori Mincho B1", serif;
  font-size: 4.6rem;
}
.sec08-move-title02 .font42 {
  font-size: 4.2rem;
}
.sec08-move-title02 .font-green {
  color: #0d8260;
}

.video {
  width: 100%;
  margin-top: 4.8rem;
  aspect-ratio: 16/9;
}
.video iframe {
  width: 100%;
  height: 100%;
}

.btn-03 {
  width: 47.4rem;
  margin: 6.9rem auto 0;
}

.case-swiper {
  --swiper-pagination-bullet-size: 16px; /* 直径 */
  --swiper-pagination-bullet-horizontal-gap: 15px; /* 左右の間隔 */ /* 位置（下から） */
}

.yt-lite {
  position: relative;
  display: block;
  cursor: pointer;
  background: #000 center/cover no-repeat;
  aspect-ratio: 16/9; /* iOSでも安定 */
}

.yt-lite::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--thumb);
  background-size: cover;
  background-position: center;
  filter: brightness(0.9);
}

.yt-play {
  position: absolute;
  inset: auto 0 0 0;
  margin: auto;
  top: 0;
  bottom: 0;
  width: 68px;
  height: 48px;
  border: 0;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.6);
}

.yt-play::before {
  content: "";
  display: block;
  margin: 16px auto 0 auto;
  border-style: solid;
  border-width: 10px 0 10px 18px;
  border-color: transparent transparent transparent #fff;
  width: 0;
  height: 0;
}

.gold-text {
  color: #b86300;
}

/* --------------------------------
swiper
----------------------------------- */
.sec09 {
  background-color: #fcf8f6;
  text-align: center;
  padding-block: 8.9rem;
}

.sec09-title {
  font-size: 4rem;
  text-align: center;
  margin-bottom: 3rem;
  color: #e77577;
  font-weight: 300;
}

.sec09-text01 {
  background-color: #e77577;
  color: #fff;
  font-size: 4rem;
  font-weight: bold;
  border-radius: 3.4rem;
  width: 52.3rem;
  height: 6.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}

.sec09-text02 {
  font-size: 4.2rem;
  text-align: center;
  margin-bottom: 3rem;
  font-family: "Shippori Mincho B1", serif;
}
.sec09-text02 span {
  color: #e77577;
  font-size: 5.6rem;
}

.swiper-slide img {
  box-shadow: 0 4px 6px rgba(4, 0, 27, 0.14);
  margin-bottom: 10rem;
}

/* デフォルト矢印を消す */
.case-swiper .swiper-button-prev::after,
.case-swiper .swiper-button-next::after {
  content: none;
}

.swiper-button-next {
  width: 5.6rem;
  right: 0;
}

.swiper-button-prev {
  left: 0;
  width: 5.6rem;
}

.case-swiper .swiper-slide {
  padding-inline: 3rem; /* ← ここに余白 */
  box-sizing: border-box; /* パディング込みで幅計算 */
}

.swiper-pagination-bullet-active {
  background-color: #e77577;
}

/* --------------------------------
sec10
----------------------------------- */
.sec10 {
  background-color: #e7f5e4;
  padding: 8.7rem 3rem;
}

.sec10-item01 {
  background-color: #fff;
  box-shadow: 0 4px 6px rgba(4, 0, 27, 0.14);
}

.sec10-item01-title {
  background-color: #4da474;
  color: #fff;
  text-align: center;
  padding-block: 3rem;
  font-size: 4.5rem;
  font-family: "Shippori Mincho B1", serif;
  text-align: center;
  letter-spacing: 0.08em;
}

.sec10-item01-box-text {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.4666666667;
  letter-spacing: 0.04em;
  text-align: center;
}

.sec10-item01-box {
  padding: 2.8rem 1.9rem;
}

.sec10-item01-lists {
  display: flex;
  flex-direction: column;
  margin-top: 3.5rem;
}
.sec10-item01-lists li {
  display: flex;
  align-items: center;
  gap: 3rem;
  padding-block: 1.6rem;
  font-size: 3rem;
  font-weight: 500;
  border-bottom: #e5e5e5 1px solid;
  letter-spacing: 0.08em;
}
.sec10-item01-lists li img {
  width: 3.2rem;
}

.sec10-text02 {
  text-align: center;
  font-size: 3rem;
  letter-spacing: 0.08em;
  line-height: 1.4666666667;
  margin-block: 2.8rem 3rem;
}
.sec10-text02 span {
  color: #e77577;
  font-weight: bold;
}

.sec10-item02 {
  background-color: #fff;
  box-shadow: 0 4px 6px rgba(4, 0, 27, 0.14);
  padding: 2.3rem;
  margin-top: 6rem;
}

.sec01-item-box {
  padding: 4rem 0.2rem 5rem 1.9rem;
  border: #72c063 1px solid;
}

.sec10-item02-title {
  font-size: 5rem;
  font-family: "Shippori Mincho B1", serif;
  letter-spacing: -0.08em;
  text-align: center;
  margin-bottom: 2.5rem;
  color: #e77577;
}

.sec10-item02-text {
  font-size: 3rem;
  line-height: 1.4666666667;
}

.cta-text {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.6rem;
  letter-spacing: 0.08em;
  line-height: 1.4666666667;
  font-weight: bold;
  background-color: #e7f5e4;
  padding-bottom: 2.3rem;
  margin-bottom: 5rem;
}
.cta-text img {
  width: 3.2rem;
}

/* --------------------------------
qa
----------------------------------- */
.qa {
  padding: 8.4rem 3rem 5rem;
}

.qa-title {
  font-size: 3.5rem;
  letter-spacing: 0.24em;
  text-align: center;
  margin-bottom: 2.5rem;
  color: #4da474;
}

.qa-title02 {
  font-size: 5.6rem;
  font-family: "Shippori Mincho B1", serif;
  line-height: 2.0178571429;
  letter-spacing: 0.36em;
  text-align: center;
  transform: scaleY(1.05);
}

.qa-list {
  border-bottom: #4da474 2px solid;
}
.qa-list:last-child {
  border-bottom: none;
}

.qa-q {
  font-family: "Shippori Mincho B1", serif;
  font-size: 3rem;
  line-height: 1.2666666667;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.qa-q .qa-q-text {
  display: flex;
  gap: 3rem;
  margin-right: 2rem;
}
.qa-q .qa-q-text p {
  margin-top: 6rem;
}
.qa-q img {
  width: 7.5rem;
  flex-shrink: 0;
  padding: 4.2rem 0;
}
.qa-q span {
  background-color: #4da474;
  display: block;
  width: 4rem;
  height: 2px;
  margin-top: 7.8rem;
}

.qa-list:last-child .qa-q {
  border-bottom: none;
}

.qa-a-box {
  font-size: 2.4rem;
  line-height: 1.4166666667;
  margin-top: 1.5rem;
  letter-spacing: 0.08em;
  padding-block: 4.2rem;
  display: flex;
  gap: 3rem;
  border-top: #4da474 1px dotted;
}
.qa-a-box img {
  width: 7.5rem;
  flex-shrink: 0;
}
.qa-a-box a {
  color: #e77577;
  border-bottom: #e77577 1px solid;
}

/* クリック感＆キーボード操作 */
.qa-q {
  cursor: pointer;
  outline: none;
}

/* プラス(+)アイコンを作る：横棒は既存の span、縦棒は擬似要素で */
.qa-toggle {
  position: relative;
}

.qa-toggle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2px;
  height: 4rem;
  background: #4da474;
  transform: translate(-50%, -50%);
  transition: transform 0.2s, opacity 0.2s;
}

/* 開いたら 縦棒を消してマイナス(−)に見せる */
.qa-q.is-open .qa-toggle::after {
  transform: translate(-50%, -50%) scaleY(0);
  opacity: 0;
}

/* jQueryのslideDownはdisplay:blockになるため、完了時にflexへ戻す */
.qa-a {
  display: none;
} /* 初期は閉じる（既存の display:flex を上書き） */
.qa-a.is-flex {
  display: flex;
} /* JSの完了時につけるクラス */
.qa-section-title {
  background-color: #4da474;
  font-size: 3rem;
  font-family: "Shippori Mincho B1", serif;
  padding: 1.5rem 0;
  text-align: center;
  color: #fff;
  margin-top: 5rem;
}

.shop-list-title span {
  font-size: 2rem;
}

.shop-list-title.is-open span {
  color: rgb(231, 117, 119);
}

.qa-lists:last-child li {
  border-bottom: #4da474 1px solid;
}

/* --------------------------------
shop
----------------------------------- */
.shop {
  background-color: #fcf8f6;
  padding: 7.3rem 3rem;
}

.shop-title {
  color: #4da474;
  font-size: 5.6rem;
  text-align: center;
  margin-bottom: 8.7rem;
  font-family: "Shippori Mincho B1", serif;
}

.shop-lists {
  background-color: #fff;
  padding: 4.3rem 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 5.8rem;
}

.shop-list-title {
  font-size: 2.6rem;
  background-color: #c7dda2;
  margin-bottom: 3.5rem;
  color: #333;
  font-weight: bold;
  width: 100%;
  height: 6.2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 4rem;
  border-radius: 0.1rem;
}
.shop-list-title img {
  width: 3.8rem;
}

.shop-address-title,
.shop-time-title {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.1333333333;
  width: 17.6rem;
  font-weight: 500;
}

.shop-address-text,
.shop-time-text {
  font-size: 2.4rem;
  line-height: 1.4166666667;
  letter-spacing: 0.08em;
}

.shop-address,
.shop-time {
  display: flex;
  align-items: first baseline;
}

.shop-contents {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.shop-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.shop-link img {
  width: 31rem;
}

/* 初期は閉じる */
.shop-contents {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.3s ease;
}

/* 開いた状態 */
.shop-list.is-open .shop-contents {
  /* 中身の高さはJSでscrollHeightに合わせます */
  opacity: 1;
}

/* クリックできる見た目 */
.shop-list-title {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* 矢印回転（お好みで） */
.shop-arrow {
  display: inline-flex;
  transition: transform 0.3s ease;
}

.shop-list.is-open .shop-arrow {
  transform: rotate(180deg);
}/*# sourceMappingURL=d-style.css.map */