@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Rock+Salt&family=Yuji+Boku&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
body {
  margin: 0 !important;
}
@media (max-width: 768px) {
  body {
    min-width: initial;
  }
}

/* css共通
--------------------------------------------------------------*/
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
*::before, *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.mt0 {
  margin-top: 0;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px !important;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .mt80 {
    margin-top: 40px !important;
  }
}

.mt90 {
  margin-top: 90px;
}

.mt100 {
  margin-top: 100px !important;
}
@media (max-width: 768px) {
  .mt100 {
    margin-top: 40px !important;
  }
}

.pt00 {
  padding-top: 0;
}

.pt10 {
  padding-top: 10px;
}

.pt20 {
  padding-top: 20px;
}

.pt30 {
  padding-top: 30px;
}

.pt40 {
  padding-top: 40px;
}

.pt50 {
  padding-top: 50px;
}

.pt60 {
  padding-top: 60px;
}

.pt70 {
  padding-top: 70px;
}

.pt80 {
  padding-top: 80px;
}

.pt90 {
  padding-top: 90px;
}

.pt100 {
  padding-top: 100px;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
dl,
dd {
  margin: 0;
}

h2,
h3,
h4 {
  font-family: "Inter";
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

html {
  font-size: 62.5%;
  /*16px * 62.5% = 10px*/
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  font-family: "Zen Maru Gothic";
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
  overflow-wrap: break-word;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

.wrapper {
  overflow-x: hidden;
}

.inner {
  padding-inline: 20px;
}

body {
  position: relative;
  z-index: 1000;
}

h1,
h2,
h3,
h4,
p,
li {
  line-height: 1.6;
  font-family: "Zen Maru Gothic";
}

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

a {
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

ul {
  margin: 0;
}

li {
  list-style-position: inside;
  margin: 0;
}

figure {
  margin-left: 0;
  margin-right: 0;
}

ul,
ol {
  list-style-type: none;
  padding: 0;
}

input[type=submit] {
  -webkit-appearance: none;
}

.pc-only {
  display: block;
}
@media (max-width: 400px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media (max-width: 400px) {
  .sp-only {
    display: block;
  }
}

p {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #000;
  margin: 0.3em 0 0;
}

figure {
  margin: 0;
}

img {
  width: 100%;
  object-fit: cover;
}

.flex {
  display: flex;
}
.flex .flex_l,
.flex .flex_r {
  flex: 1;
}
.flex .flex_r.wide_normal {
  margin-left: unset !important;
}
.flex .flex_r.wide_normal img {
  max-height: unset !important;
}

.flex.reverse {
  flex-direction: row-reverse;
}

.center {
  margin-inline: auto;
  text-align: center;
}

.left {
  text-align: left;
}

.orange {
  color: #ff8132;
}

.red {
  color: #f72626;
}

.pink {
  color: #ee86a1;
}

.blue {
  color: #498d9f;
}

.white {
  color: #fff;
}

.brown {
  color: #4f3921;
}

.purple {
  color: #a07f81;
}

.max60 {
  max-width: 60px;
}

.max140 {
  max-width: 140px;
}

.max200 {
  max-width: 200px;
}

.max340 {
  max-width: 340px;
}

.font_sm {
  font-size: 1.2rem;
}

.orange_bg {
  padding: 0 2px;
  background: #ffbe61;
}

.banner {
  animation: bannerPulse 2.5s ease-in-out infinite;
}
@keyframes bannerPulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.03);
  }
  100% {
    transform: scale(1);
  }
}

.h2_bg {
  position: relative;
}
.h2_bg h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2.5rem;
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  white-space: nowrap;
}
@media (max-width: 400px) {
  .h2_bg h2 {
    font-size: 2.2rem;
  }
}

.btn_area {
  margin-top: 30px;
  display: flex;
  align-items: stretch;
  gap: 14px;
}
.btn_area .link_btn {
  flex: 1;
  width: 100%;
}
.btn_area .link_btn .link_btn01,
.btn_area .link_btn .link_btn02 {
  display: block;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 30px 10px 31px 10px;
  max-height: 78px;
  border-radius: 10px;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.35);
  line-height: 1.3;
}
.btn_area .link_btn .link_btn01:hover,
.btn_area .link_btn .link_btn02:hover {
  box-shadow: 0 18px 18px rgba(0, 0, 0, 0.35);
  transform: translateY(-4px);
}
.btn_area .link_btn .link_btn01 {
  background: #ee86a1;
  color: #fff;
  position: relative;
}
.btn_area .link_btn .link_btn01 .label {
  display: block;
  padding: 3px 10px;
  font-size: 1.2rem;
  color: #ee86a1;
  background: #fff;
  border: 1px solid #ee86a1;
  border-radius: 20px;
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.btn_area .link_btn .link_btn02 {
  background: #61c1be;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.btn_area .link_btn .link_btn02 .num {
  font-size: 1.2rem;
  display: block;
}

.main_bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}
@media (max-width: 420px) {
  .main_bg {
    display: none;
  }
}
.main_bg .center_img {
  width: 100vw;
  height: 100vh;
  object-fit: cover;
}
.main_bg .bg_logo {
  position: absolute;
  left: 5%;
  top: 5%;
}
@media (max-width: 1620px) {
  .main_bg .bg_logo {
    left: 1%;
  }
}
@media (max-width: 1150px) {
  .main_bg .bg_logo {
    display: none;
  }
}
.main_bg .bg_logo img {
  max-width: 450px;
}
@media (max-width: 1620px) {
  .main_bg .bg_logo img {
    max-width: 350px;
  }
}
.main_bg .bg_illust {
  position: absolute;
  right: 11%;
  bottom: 10%;
  animation: illustIdle 4s ease-in-out infinite;
  transform-origin: center bottom;
}
@media (max-width: 1620px) {
  .main_bg .bg_illust {
    right: 2%;
  }
}
@media (max-width: 1150px) {
  .main_bg .bg_illust {
    display: none;
  }
}
.main_bg .bg_illust img {
  max-width: 320px;
  animation: illustBreathe 3s ease-in-out infinite;
}
@media (max-width: 1620px) {
  .main_bg .bg_illust img {
    max-width: 280px;
  }
}
@keyframes illustBreathe {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes illustIdle {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  25% {
    transform: translateY(-8px) rotate(1.2deg);
  }
  50% {
    transform: translateY(-3px) rotate(-0.8deg);
  }
  75% {
    transform: translateY(-10px) rotate(0.5deg);
  }
  100% {
    transform: translateY(0) rotate(0deg);
  }
}
.main_bg .bg_btn {
  position: absolute;
  right: 11%;
  top: 12%;
  display: flex;
  flex-direction: column;
  gap: 26px;
}
@media (max-width: 1620px) {
  .main_bg .bg_btn {
    right: 2%;
  }
}
@media (max-width: 1150px) {
  .main_bg .bg_btn {
    display: none;
  }
}
.main_bg .bg_btn .link_btn .link_btn01,
.main_bg .bg_btn .link_btn .link_btn02 {
  transition: all 0.3s ease-in-out;
  box-shadow: 0 6px 18px rgba(255, 255, 255, 0.35);
}
.main_bg .bg_btn .link_btn .link_btn01:hover,
.main_bg .bg_btn .link_btn .link_btn02:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(255, 255, 255, 0.65);
}
.main_bg .bg_btn .link_btn .link_btn01 {
  font-size: 2rem;
  font-weight: 700;
  display: block;
  padding: 20px;
  position: relative;
  background: #ee86a1;
  color: #fff;
  text-align: center;
  border-radius: 10px;
  min-width: 320px;
}
.main_bg .bg_btn .link_btn .link_btn01 .label {
  padding: 4px 20px;
  background: #fff;
  color: #ee86a1;
  font-size: 1.4rem;
  font-weight: 700;
  position: absolute;
  display: block;
  border: 2px solid #ee86a1;
  border-radius: 20px;
  left: 50%;
  transform: translateX(-50%);
  top: -20px;
  white-space: nowrap;
}
.main_bg .bg_btn .link_btn .link_btn02 {
  font-size: 2rem;
  font-weight: 700;
  padding: 14px 20px;
  background: #61c1be;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
  border-radius: 10px;
}
.main_bg .bg_btn .link_btn .link_btn02 .num {
  display: inline-block;
  font-size: 1.7rem;
}

#main_content {
  max-width: 420px;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  z-index: 100;
  background: #fff;
  box-shadow: 10px 0 20px rgba(255, 255, 255, 0.35), -10px 0 20px rgba(255, 255, 255, 0.35), 4px 0 8px rgba(255, 255, 255, 0.7), -4px 0 8px rgba(255, 255, 255, 0.4);
}
#main_content #mv {
  position: relative;
}
#main_content #mv .logo {
  max-width: 65px;
  padding: 20px 0 0 20px;
}
#main_content #mv .logo a {
  transition: all 0.3s ease-in-out;
}
#main_content #mv .logo a:hover {
  opacity: 0.7;
}
#main_content #mv .mv_bg001 {
  position: relative;
  margin-top: 30px;
}
#main_content #mv .mv_bg001 img {
  display: block;
  max-width: 340px;
}
@media (max-width: 390px) {
  #main_content #mv .mv_bg001 img {
    max-width: 300px;
  }
}
#main_content #mv .mv_bg001 .h1_box {
  position: absolute;
  top: -20%;
  right: 22px;
  z-index: 10;
  max-width: 20px;
}
@media (max-width: 390px) {
  #main_content #mv .mv_bg001 .h1_box {
    right: 20px;
  }
}
#main_content #mv .mv_bg001 .h1_box h1 {
  width: 26px;
  color: #666;
  font-size: clamp(2.4rem, 2.0497803807vw, 2.8rem);
  font-family: "Noto Sans JP";
  font-weight: 500;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 0.12em;
  text-shadow: 2px 0 #fff, -2px 0 #fff, 0 2px #fff, 0 -2px #fff, 2px 2px #fff, -2px 2px #fff, 2px -2px #fff, -2px -2px #fff, 1px 0 #fff, -1px 0 #fff, 0 1px #fff, 0 -1px #fff, 1px 1px #fff, -1px 1px #fff, 1px -1px #fff, -1px -1px #fff;
}
#main_content #mv .mv_bg001 .h2_box {
  position: absolute;
  top: -5%;
  right: 100px;
  z-index: 10;
}
@media (max-width: 390px) {
  #main_content #mv .mv_bg001 .h2_box {
    top: -10%;
  }
}
#main_content #mv .mv_bg001 .h2_box h2 {
  display: flex;
  gap: 10px;
  flex-direction: row-reverse;
}
#main_content #mv .mv_bg001 .h2_box h2 span {
  color: #fff;
  font-size: clamp(2rem, 1.756954612vw, 2.4rem);
  font-weight: 500;
  font-family: "Noto Sans JP";
  letter-spacing: 0.12em;
  height: max-content;
  writing-mode: vertical-rl;
  text-orientation: upright;
  position: relative;
  padding: 10px 2px 10px 0;
}
#main_content #mv .mv_bg001 .h2_box h2 span::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #ee86a1;
  transform: translateY(0);
  transition: transform 0.7s ease;
  z-index: -1;
  overflow: hidden;
}
#main_content #mv .mv_bg002 {
  position: absolute;
  right: 2%;
  bottom: 17%;
  max-width: 160px;
  z-index: -1;
}
#main_content #mv .mv_bg003 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}
#main_content #mv .bubble_area {
  gap: 4px;
  justify-content: space-between;
}
#main_content #mv .bubble_area img {
  max-width: 90px;
  height: 100%;
}
@media (max-width: 400px) {
  #main_content #mv .bubble_area img {
    max-width: 82px;
  }
}
#main_content #mv .txt_area {
  margin-top: 10px;
}
#main_content #mv .txt_area p {
  position: relative;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic";
  color: #666;
  letter-spacing: 0.08em;
  line-height: 1.6;
  padding-left: 20px;
}
#main_content #mv .txt_area p::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 20px;
  background: #ee86a1;
  top: 7px;
  left: 0;
}
#main_content #mv .sub_txt p {
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  padding: 10px;
  border: 1px solid #ff8132;
  border-radius: 10px;
}

#trouble {
  position: relative;
  z-index: 1;
  background: #fff2dd;
  overflow: hidden;
}
#trouble::before {
  position: absolute;
  content: "";
  aspect-ratio: 420/483;
  width: 105%;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: url(/wp-content/uploads/2026/02/trouble_img001.png) center top/cover no-repeat;
}
@media (max-width: 395px) {
  #trouble::before {
    width: 115%;
  }
}
#trouble::after {
  position: absolute;
  content: "";
  aspect-ratio: 420/1734;
  width: 100%;
  left: 0;
  bottom: 0;
  z-index: -1;
  background: url(/wp-content/uploads/2026/02/trouble_img002.png) center top/cover no-repeat;
}
#trouble h2 {
  font-size: 3.5rem;
  line-height: 1.3;
  font-family: "Noto Serif JP";
}
#trouble h2 span {
  font-size: 2.5rem;
}
#trouble .trouble_txt {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#trouble .trouble_txt p {
  font-size: 1.4rem;
  font-weight: 600;
  color: #666;
  margin: 0;
  padding: 8px 0;
  background: #fff;
  border-radius: 10px;
}
#trouble .copy01 {
  font-size: 2rem;
}
#trouble .copy02 {
  font-size: 3.5rem;
  font-weight: 600;
}
#trouble .copy03 {
  font-size: 1.8rem;
  font-weight: 600;
  border-bottom: 2px dashed #4f3921;
  display: inline-block;
  margin: 0;
}
#trouble .flex {
  gap: 0;
  align-items: center;
}
#trouble .flex.reverse .txt_area {
  right: unset;
  left: -10px;
}
#trouble .flex .txt_area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  position: relative;
  right: -10px;
}
#trouble .flex .txt_area img {
  aspect-ratio: 361/76;
  width: 180px;
}
#trouble .flex .txt_area h3 {
  font-size: 2rem;
  display: inline-block;
}
#trouble .flex .img_area {
  width: 60%;
}
#trouble .map_img {
  position: relative;
  z-index: -1;
  margin-top: -85px;
}

#service {
  background: #fff2dd;
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-bottom: 30px;
}
#service::before {
  position: absolute;
  content: "";
  aspect-ratio: 478/987;
  width: 110%;
  left: 50%;
  bottom: 23%;
  transform: translateX(-50%);
  z-index: -1;
  background: url(/wp-content/uploads/2026/02/sevice_img007.png) center top/cover no-repeat;
}
@media (max-width: 395px) {
  #service::before {
    bottom: 27%;
  }
}
#service::after {
  position: absolute;
  content: "";
  aspect-ratio: 478/1302;
  width: 160%;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: -2;
  background: url(/wp-content/uploads/2026/02/sevice_img006.png) center top/cover no-repeat;
}
@media (max-width: 395px) {
  #service::after {
    width: 190%;
  }
}
#service .copy03 {
  display: inline-block;
  font-size: clamp(1.6rem, 1.317715959vw, 1.8rem);
  font-weight: 600;
  border-bottom: 2px dashed #4f3921;
}
#service .service_item {
  padding: 20px 14px;
  background: #fff;
  margin-inline: 20px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
  border-radius: 10px;
}
#service .service_item.border_none {
  border-radius: 0;
}
#service .service_item.border_none h3 {
  border-radius: 0;
}
#service .service_item h3 {
  padding: 12px;
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  background: #ff8132;
  border-radius: 10px;
}
#service .service_item .info_area {
  display: flex;
  gap: 10px;
}
@media (max-width: 400px) {
  #service .service_item .info_area {
    gap: 8px;
  }
}
#service .service_item .info_area p {
  margin: 0;
  flex: 1;
  font-weight: 600;
}
#service .service_item .info_area .label {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  padding: 6px 2px;
  color: #fff;
  background: #707679;
  max-width: 60px;
  white-space: nowrap;
  height: max-content;
}
@media (max-width: 400px) {
  #service .service_item .info_area .label {
    max-width: 52px;
  }
}
#service .service_item .info_area .font_lg {
  font-size: 1.4rem;
}
#service .service_item .info_area02 {
  padding-block: 14px;
  display: flex;
  gap: 10px;
  align-items: center;
  border-bottom: 1px dashed #707679;
}
#service .service_item .info_area02 .center {
  max-width: 100px;
}
#service .service_item .info_area02 p {
  flex: 1;
  margin: 0;
}
#service .service_item .info_area02 .ls_wide {
  letter-spacing: 2em;
  text-align: center;
  padding-left: 2em;
}
#service .service_item .info_area02 .red_label {
  display: inline-block;
  padding: 2px 10px 4px;
  background: #f72626;
  color: #fff;
  margin-top: 10px;
  border-radius: 20px;
}
#service .service_item .info_area02 .red {
  font-weight: 700;
}
#service .service_item .info_area02 .price {
  font-size: 1.6rem;
}
#service .service_item .info_area02 .border_r {
  border-left: 1px dashed #707679;
  padding-left: 10px;
}
#service .service_item .info_area02 .font_lg {
  font-size: 1.6rem;
}
#service .service_item .bg_gray {
  margin-top: 20px;
  padding: 10px 4px;
  background: #e2e4e4;
}
#service .service_item .bg_gray span {
  display: block;
  font-size: 1.2rem;
}
#service .copy01 {
  display: inline-block;
  font-size: 1.6rem;
  border-bottom: 2px dashed #ff8132;
}
#service .btn_area {
  margin-top: 20px;
}

#flow {
  background: #fff2dd;
  padding-bottom: 30px;
  position: relative;
  overflow: hidden;
}
#flow::before {
  position: absolute;
  content: "";
  aspect-ratio: 514/852;
  width: 110%;
  left: 50%;
  bottom: 38%;
  transform: translateX(-50%);
  z-index: 0;
  background: url(/wp-content/uploads/2026/02/flow_img008.png) center top/cover no-repeat;
}
#flow .copy01 {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 600;
  border-bottom: 2px dashed #4f3921;
}
#flow .flow_item_wrap {
  filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.3));
}
#flow .flow_item_wrap .flow_item {
  padding: 20px 14px 40px;
  background: #fff;
  position: relative;
  clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 30px), 50% 100%, 0% calc(100% - 30px));
}
#flow .flow_item_wrap .flow_item.clip_none {
  clip-path: none;
  padding: 20px 14px;
}
#flow .flow_item_wrap .flow_item h3 {
  font-size: 2rem;
  line-height: 1;
  font-family: "Zen Maru Gothic";
  color: #fff;
  padding: 12px;
  background: #ff8132;
  border-radius: 10px;
}
#flow .flow_item_wrap .flow_item p {
  font-size: 1.2rem;
  font-weight: 600;
}
#flow .flow_item_wrap .flow_item p.font_sm {
  font-size: 1rem;
}

#faq .faq_item .faq_head h3 {
  font-size: 1.4rem;
  position: relative;
  color: #a07f81;
  border-top: 1px dashed #a07f81;
  border-bottom: 1px dashed #a07f81;
  padding: 5px 4px 4px 30px;
}
#faq .faq_item .faq_head h3::after {
  position: absolute;
  content: "";
  aspect-ratio: 14/14;
  width: 15px;
  height: auto;
  background: url(/wp-content/uploads/2026/02/faq_img002.png) center top/cover no-repeat;
  top: 8px;
  left: 6px;
}
#faq .faq_item .faq_head:first-of-type {
  margin-bottom: 16px;
}
#faq .faq_item .faq_head:not(:first-of-type) {
  margin-top: 16px;
  margin-bottom: 16px;
}
#faq .faq_item .faq_content:not(:first-of-type) {
  margin-top: 10px;
}
#faq .faq_item .faq_content .txt_q,
#faq .faq_item .faq_content .txt_a {
  font-size: 1.4rem;
  padding-left: 30px;
  position: relative;
  margin: 0;
}
#faq .faq_item .faq_content .txt_q::before,
#faq .faq_item .faq_content .txt_a::before {
  position: absolute;
  content: "";
  aspect-ratio: 23/18;
  width: 20px;
  height: auto;
  top: 3px;
  left: 3px;
}
#faq .faq_item .faq_content .txt_q {
  color: #ff8132;
  margin-bottom: 10px;
}
#faq .faq_item .faq_content .txt_q::before {
  background: url(/wp-content/uploads/2026/02/faq_img003.png) center top/cover no-repeat;
}
#faq .faq_item .faq_content .txt_a::before {
  background: url(/wp-content/uploads/2026/02/faq_img004.png) center top/cover no-repeat;
}
#faq .btn_area {
  margin-top: 20px;
}
#faq .bg_yellow {
  padding-block: 30px;
  background: #fff2dd;
}

#voice {
  background: #fff2dd;
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-bottom: 10px;
}
#voice::before {
  position: absolute;
  content: "";
  aspect-ratio: 497/468;
  width: 115%;
  left: 50%;
  top: 120px;
  transform: translateX(-50%);
  z-index: 0;
  background: url(/wp-content/uploads/2026/02/voice_img002.png) center top/cover no-repeat;
}
#voice .bg_img01 {
  position: relative;
  z-index: 10;
}
#voice .bg_img02 {
  position: absolute;
  top: 30px;
  left: 10px;
  max-width: 160px;
  z-index: 100;
}
#voice .voice_box {
  position: relative;
  z-index: 20;
  margin-top: -20px;
}
#voice .voice_box img {
  width: max-content;
}
#voice .voice_box .img001 {
  max-height: 120px;
}
#voice .voice_box .img002 {
  max-height: 160px;
  position: relative;
  right: -145px;
}
@media (max-width: 400px) {
  #voice .voice_box .img002 {
    right: -100px;
  }
}

#contact .copy01 {
  font-size: 1.8rem;
  font-weight: 700;
  border-bottom: 2px dashed #4f3921;
  display: inline-block;
}
#contact .font_sm {
  font-weight: 600;
}
#contact .font_sm .purple {
  font-weight: 700;
}
#contact .form_area {
  margin-top: 30px;
  padding: 30px 20px;
  background: #fff2dd;
}
#contact .form_area h2 {
  font-size: 2rem;
  font-family: "Zen Maru Gothic";
  text-align: center;
  margin-bottom: 30px;
}
#contact {
  /* ===== フォーム全体 ===== */
}
#contact .cf7-custom-form {
  background: #fff;
  max-width: 600px;
  margin: 0 auto;
  padding: 30px 20px 10px;
  border: 2px solid #a07f81;
}
#contact {
  /* ===== 各フォームグループ ===== */
}
#contact .cf7-custom-form .form-group {
  margin-bottom: 20px;
}
#contact .cf7-custom-form .form-group:last-of-type {
  border-bottom: none;
}
#contact {
  /* ===== ラベル ===== */
}
#contact .cf7-custom-form label {
  display: block;
  font-size: 15px;
  font-weight: bold;
  color: #a07f81;
  margin-bottom: 8px;
}
#contact {
  /* ===== 必須バッジ ===== */
}
#contact .cf7-custom-form .required {
  display: inline-block;
  background: #a07f81;
  color: #fff;
  font-size: 11px;
  padding: 1px 6px 2px;
  margin-left: 12px;
  vertical-align: middle;
  font-weight: normal;
  position: relative;
  top: -2px;
}
#contact {
  /* ===== テキスト・メール・電話入力 ===== */
}
#contact .cf7-custom-form input[type=text],
#contact .cf7-custom-form input[type=email],
#contact .cf7-custom-form input[type=tel],
#contact .cf7-custom-form textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #f9f9f9;
  font-size: 14px;
  color: #333;
  box-sizing: border-box;
}
#contact .cf7-custom-form input::placeholder,
#contact .cf7-custom-form textarea::placeholder {
  color: #bbb;
}
#contact .cf7-custom-form textarea {
  height: 120px;
  resize: vertical;
}
#contact {
  /* ===== ラジオボタン ===== */
}
#contact .cf7-custom-form .radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 5px;
}
#contact .cf7-custom-form .radio-group .wpcf7-radio {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  row-gap: 0;
}
#contact .cf7-custom-form .radio-group .wpcf7-radio .wpcf7-list-item-label {
  font-weight: 600;
}
#contact .cf7-custom-form .wpcf7-radio .wpcf7-list-item {
  margin: 0;
}
#contact .cf7-custom-form .wpcf7-radio .wpcf7-list-item label {
  font-weight: normal;
  font-size: 14px;
  color: #333;
  cursor: pointer;
}
#contact {
  /* ===== 個人情報テキスト ===== */
}
#contact .cf7-custom-form .form-privacy {
  text-align: center;
  font-size: 13px;
  color: #666;
  margin: 25px 0 15px;
}
#contact .cf7-custom-form .form-privacy a {
  color: #a07f81;
  text-decoration: underline;
}
#contact {
  /* ===== 送信ボタン ===== */
}
#contact .cf7-custom-form .form-submit {
  text-align: center;
}
#contact .cf7-custom-form .form-submit input[type=submit] {
  background: #a07f81;
  color: #fff;
  border: none;
  padding: 8px 60px 10px 80px;
  font-size: 16px;
  letter-spacing: 1em;
  border-radius: 30px;
  cursor: pointer;
  transition: opacity 0.3s;
}
#contact .cf7-custom-form .form-submit input[type=submit]:hover {
  opacity: 0.8;
}
#contact {
  /* ===== CF7バリデーションエラー ===== */
}
#contact .cf7-custom-form .wpcf7-not-valid-tip {
  color: #e06060;
  font-size: 12px;
  margin-top: 5px;
}
#contact .cf7-custom-form .wpcf7-response-output {
  border-color: #c9a0a0 !important;
  border-radius: 6px;
  text-align: center;
}
#contact .wpcf7-spinner {
  display: block;
  margin: 0 auto !important;
}

footer {
  max-width: 420px;
  margin: 0 auto;
  position: relative;
  z-index: 100;
  background: #fff;
}
footer .logo {
  padding-top: 30px;
}
footer .logo a {
  transition: all 0.3s ease-in-out;
}
footer .logo a:hover {
  opacity: 0.7;
}
footer .logo img {
  max-width: 200px;
}
footer .footer_txt {
  font-size: 1.2rem;
}
footer .copy {
  padding: 10px 20px 20px;
}
footer .copy .txt {
  font-size: 1.4rem;
  text-align: center;
}

.thanks-footer {
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.35);
}

#thanks {
  max-width: 420px;
  background: #fff;
  margin: 0 auto;
  padding: 40px 20px;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.35);
  position: relative;
}
#thanks h1 {
  text-align: center;
  font-size: clamp(1.8rem, 1.6105417277vw, 2.2rem);
  color: #ff8132;
  margin-bottom: 25px;
  letter-spacing: 0.05em;
}
#thanks p {
  font-size: 14px;
  line-height: 2;
  margin-bottom: 20px;
}
#thanks .thanks-notice {
  background: #fdf8f0;
  border: 1px solid #e8c96e;
  border-radius: 8px;
  padding: 20px 15px;
  margin: 30px 0;
}
#thanks .thanks-notice p {
  font-size: 13px;
  color: #666;
  margin-bottom: 0;
}
#thanks .thanks-btn,
#thanks .thanks-btn-top {
  margin-top: 20px;
}
#thanks .thanks-btn a,
#thanks .thanks-btn-top a {
  display: block;
  padding: 14px;
  border-radius: 30px;
  font-size: 15px;
  text-decoration: none;
  letter-spacing: 0.1em;
  transition: opacity 0.3s;
  text-align: center;
}
#thanks .thanks-btn a:hover,
#thanks .thanks-btn-top a:hover {
  opacity: 0.8;
}
#thanks .thanks-btn a {
  background: #c9a0a0;
  color: #fff;
}
#thanks .thanks-btn-top {
  margin-top: 12px;
}
#thanks .thanks-btn-top a {
  background: #fff;
  color: #6b4a3a;
  border: 1px solid #c9a0a0;
}/*# sourceMappingURL=piano_lp.css.map */