@charset "utf-8";
/* 使用フォント：日本語 Zen Maru Gothic ／ 英字 Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Zen+Maru+Gothic:wght@400;500;700&display=swap');
/* CSS Document */
.main-wrap {
  overflow: hidden;
}
.nowhite {
  white-space: nowrap;
}
.font400 {
  font-weight: 400;
}
.font500 {
  font-weight: 500;
}
.lineheight22 {
  line-height: 2.2;
  letter-spacing: 0.08em;
  font-weight: 400;
}
.txtwhite {
  color: #fff;
}
.color1 {
  color: #404040;
}
.color2 {
  color: rgba(51, 51, 51, 0.70);
}
.color3 {
  color: ;
}
.bg1 {
  position: relative;
  background:
    url("https://watanohana.co.jp/system_panel/uploads/images/right1.png") right top / max(42%, 400px) auto no-repeat;
  overflow: hidden;
}
.bg2 {
  position: relative;
  background:
    url("https://watanohana.co.jp/system_panel/uploads/images/left1.png") left top / max(42%, 400px) auto no-repeat;
  overflow: hidden;
}
.bg3 {
  background: #F3EFE4;
}
.mincho {
  font-family: "Zen Old Mincho", "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}
.serif {
  font-family: "Noto Serif JP", "Zen Old Mincho", "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}
.fontnoto {
  font-family: "Noto Sans JP", "Noto Sans", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.zenkaku {
  font-family: "Zen Kaku Gothic New", "Noto Sans", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.fontsen {
  font-family: "JetBrains Mono", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.entitle0 {
  font-family: "JetBrains Mono", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(56px, 6vw, 72px);
  letter-spacing: 0.08em;
}
.entitle1 {
  font-family: "JetBrains Mono", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(40px, 4vw, 57px);
  letter-spacing: 0.12em;
}
.entitle2 {
  font-family: "JetBrains Mono", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(34px, 5vw, 46px);
  letter-spacing: 0.1em;
}
.entitle3 {
  font-family: "JetBrains Mono", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(22px, 3vw, 28px);
  letter-spacing: 0.08em;
}
.entitle4 {
  font-family: "JetBrains Mono", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(18px, 3vw, 22px);
  letter-spacing: 0.08em;
}
.default_title1 {
  font-size: clamp(28px, 3.2vw, 44px);
}
.default_title2 {
  font-size: clamp(26px, 3.0vw, 32px);
}
.default_title3 {
  font-size: clamp(18px, 2.8vw, 28px);
}
.default_title4 {
  font-size: clamp(18px, 1.8vw, 22px);
}
.default_txt1 {
  font-size: clamp(15px, 1.4vw, 18px);
}
.default_txt2 {
  font-size: clamp(12px, 1.2vw, 14px);
}
.default_txt3 {
  font-size: clamp(12px, 1.2vw, 14px);
}
.mg_b_1 {
  margin-bottom: 150px;
}
.mg_b_2 {
  margin-bottom: 100px;
}
.mg_b_3 {
  margin-bottom: 80px;
}
.mg_b_4 {
  margin-bottom: 50px;
}
.mg_b_5 {
  margin-bottom: 30px;
}
@media screen and (max-width: 1080px) {
  .mg_b_1 {
    margin-bottom: 100px;
  }
  .mg_b_2 {
    margin-bottom: 80px;
  }
  .mg_b_3 {
    margin-bottom: 60px;
  }
  .mg_b_4 {
    margin-bottom: 40px;
  }
  .mg_b_5 {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 576px) {
  .mg_b_1 {
    margin-bottom: 80px;
  }
  .mg_b_2 {
    margin-bottom: 60px;
  }
  .mg_b_3 {
    margin-bottom: 50px;
  }
  .mg_b_4 {
    margin-bottom: 30px;
  }
  .mg_b_5 {
    margin-bottom: 20px;
  }
}
.mg_t_1 {
  margin-top: 150px;
}
.mg_t_2 {
  margin-top: 100px;
}
.mg_t_3 {
  margin-top: 80px;
}
.mg_t_4 {
  margin-top: 50px;
}
.mg_t_5 {
  margin-top: 30px;
}
@media screen and (max-width: 1080px) {
  .mg_t_1 {
    margin-top: 100px;
  }
  .mg_t_2 {
    margin-top: 80px;
  }
  .mg_t_3 {
    margin-top: 60px;
  }
  .mg_t_4 {
    margin-top: 40px;
  }
  .mg_t_5 {
    margin-top: 30px;
  }
}
@media screen and (max-width: 576px) {
  .mg_t_1 {
    margin-top: 80px;
  }
  .mg_t_2 {
    margin-top: 60px;
  }
  .mg_t_3 {
    margin-top: 50px;
  }
  .mg_t_4 {
    margin-top: 30px;
  }
  .mg_t_5 {
    margin-top: 20px;
  }
}
.pd_wrap {
  padding: 150px 80px 0;
}
.pd_wrap_all {
  padding: 150px 80px 150px;
}
.pd_wrap_side {
  padding-left: 80px;
  padding-right: 80px;
}
.pd_wrap_t {
  padding-top: 150px;
}
.pd_wrap_b {
  padding-bottom: 150px;
}
.pd_wrap_tb {
  padding-top: 150px;
  padding-bottom: 150px;
}
@media screen and (max-width: 1280px) {
  .pd_wrap {
    padding: 150px 60px 0;
  }
  .pd_wrap_all {
    padding: 150px 60px 150px;
  }
  .pd_wrap_side {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media screen and (max-width: 768px) {
  .pd_wrap {
    padding: 100px 50px 0;
  }
  .pd_wrap_all {
    padding: 100px 50px 100px;
  }
  .pd_wrap_side {
    padding-left: 50px;
    padding-right: 50px;
  }
  .pd_wrap_t {
    padding-top: 100px;
  }
  .pd_wrap_b {
    padding-bottom: 100px;
  }
  .pd_wrap_tb {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 576px) {
  .pd_wrap {
    padding: 80px 20px 0;
  }
  .pd_wrap_all {
    padding: 80px 20px 80px;
  }
  .pd_wrap_side {
    padding-left: 20px;
    padding-right: 20px;
  }
  .pd_wrap_t {
    padding-top: 80px;
  }
  .pd_wrap_b {
    padding-bottom: 80px;
  }
  .pd_wrap_tb {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
html {}
body {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background-color: #fff;
  color: #000000;
}
body .bg_img_wrap {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
body.on .bg_img_wrap .bg_img {
  display: none;
}
body .bg_img_wrap2 {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
body.on .bg_img_wrap2 > img {
  display: none;
}
a {
  display: inline-block;
  transition: ease 0.3s;
}
a:hover {
  opacity: 0.5;
}
a p, a, a i {
  color: #000000;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.font-black {
  font-weight: 900;
}
.cate_wrap > .cate {
  padding-top: 150px;
}
/* ---------- common ---------- */
/* ---------- header ---------- */
.header {}
/* ---------- footer ---------- */
/* ANIME */
.sc-anime.topin.on {
  opacity: 0;
  transform: translateY(-50px);
}
.sc-anime.topin.on.active {
  animation-name: topin;
  animation-duration: 1.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
.sc-anime.bottomin.on {
  opacity: 0;
  transform: translateY(50px);
}
.sc-anime.bottomin.on.active {
  animation-name: bottomin;
  animation-duration: 1.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
.sc-anime.leftin.on {
  opacity: 0;
  transform: translateX(-50px);
}
.sc-anime.leftin.on.active {
  animation-name: leftin;
  animation-duration: 1.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
.sc-anime.rightin.on {
  opacity: 0;
  transform: translateX(50px);
}
.sc-anime.rightin.on.active {
  animation-name: rightin;
  animation-duration: 1.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
.sc-anime.fadein.on {
  opacity: 0;
}
.sc-anime.fadein.on.active {
  animation-name: fadein;
  animation-duration: 1.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
.sc-anime.blurin.on {
  opacity: 0;
  -ms-filter: blur(6px);
  filter: blur(6px);
}
.sc-anime.blurin.on.active {
  animation-name: blurin;
  animation-duration: 1.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
.sc-anime.blurin2.on {
  opacity: 0;
  transform: translateY(50px);
  -ms-filter: blur(6px);
  filter: blur(6px);
}
.sc-anime.blurin2.on.active {
  animation-name: blurin2;
  animation-duration: 1.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
@keyframes topin {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes bottomin {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes leftin {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}
@keyframes rightin {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}
@keyframes upin {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes blurin {
  0% {
    opacity: 0;
    -ms-filter: blur(6px);
    filter: blur(6px);
  }
  100% {
    opacity: 1;
    -ms-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes blurin2 {
  0% {
    opacity: 0;
    transform: translateY(50px);
    -ms-filter: blur(6px);
    filter: blur(6px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
    -ms-filter: blur(0px);
    filter: blur(0px);
  }
}
.sc-anime.active .f-anime {
    animation: f-anime 7s cubic-bezier(0.45, 0, 0.55, 1) infinite;
    will-change: transform;
}

@keyframes f-anime {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-22px);
    }
}
/* color */
.txt-color-normal {
  color: #000000;
}
.txt-white {
  color: #ffffff;
}
.txt-red {
  color: red;
}
.txt-color1 {
  color: #FFE93C
}
.txt-color2 {
  color: #F1F1E9
}
.txt-color3 {
  color: #021745
}
.txt-color4 {
  color: #EBF5E5
}
.bg-white {
  background-color: #ffffff;
}
.bg-black {
  background-color: black
}
.bg-color1 {
  background-color: #FFE93C
}
.bg-color2 {
  background-color: #F1F1E9
}
.bg-color3 {
  background-color: #021745
}
.bg-color4 {
  background-color: #EBF5E5
}
.border-color1 {
  border-color: #FFE93C
}
.border-color2 {
  border-color: #F1F1E9
}
.border-color3 {
  border-color: #021745
}
.border-color4 {
  border-color: #EBF5E5
}
.hvr-txt-color-normal:hover {
  color: #000000;
}
.hvr-txt-white:hover {
  color: #ffffff;
}
.hvr-txt-red:hover {
  color: red;
}
.hvr-txt-color1:hover {
  color: #FFE93C
}
.hvr-txt-color2:hover {
  color: #F1F1E9
}
.hvr-txt-color3:hover {
  color: #021745
}
.hvr-txt-color4:hover {
  color: #EBF5E5
}
.hvr-bg-white:hover {
  background-color: #ffffff;
}
.hvr-bg-black:hover {
  background-color: black
}
.hvr-bg-color1:hover {
  background-color: #FFE93C
}
.hvr-bg-color2:hover {
  background-color: #F1F1E9
}
.hvr-bg-color3:hover {
  background-color: #021745
}
.hvr-bg-color4:hover {
  background-color: #EBF5E5
}
.hvr-border-color1:hover {
  border-color: #FFE93C
}
.hvr-border-color2:hover {
  border-color: #F1F1E9
}
.hvr-border-color3:hover {
  border-color: #021745
}
.hvr-border-color4:hover {
  border-color: #EBF5E5
}
/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px) {
  .pd_wrap {
    padding: 150px 60px 0;
  }
  .pd_wrap_all {
    padding: 150px 60px 150px;
  }
  .pd_wrap_side {
    padding-left: 60px;
    padding-right: 60px;
  }
  /* ---------- common ---------- */
  /* ---------- header ---------- */
  /* ---------- footer ---------- */
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px) {
  /* ---------- common ---------- */
  /* ---------- header ---------- */
  /* ---------- footer ---------- */
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px) {
  .pd_wrap {
    padding: 100px 50px 0;
  }
  .pd_wrap_all {
    padding: 100px 50px 100px;
  }
  .pd_wrap_side {
    padding-left: 50px;
    padding-right: 50px;
  }
  .cate_wrap > .cate {
    padding-top: 100px;
  }
  /* ---------- common ---------- */
  /* ---------- header ---------- */
  /* ---------- footer ---------- */
}
/* ---------- スマートフォン ---------- */
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px) {
  .pd_wrap {
    padding: 80px 20px 0;
  }
  .pd_wrap_all {
    padding: 80px 20px 80px;
  }
  .pd_wrap_side {
    padding-left: 20px;
    padding-right: 20px;
  }
  .cate_wrap > .cate {
    padding-top: 80px;
  }
  /* ---------- common ---------- */
  /* ---------- header ---------- */
  /* ---------- footer ---------- */
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px) {}
/* ===== 綿の華 共通 ===== */ :root {
  --wata-ink: #3a3937;
  --wata-pink: #de6a73;
  --wata-blue: #64abcb;
  --wata-yellow: #eaa640;
  --wata-paper: #f9f8f4;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 30px;
}
body {
  font-family: 'Zen Maru Gothic', sans-serif;
  color: #3a3937;
  background: #fff;
}
.main-wrap {
  overflow: clip;
}
h1, h2, h3, h4, h5, h6, p, li, a {
  font-size: 16px;
  font-weight: 500;
  margin: 0;
  line-height: 1.6;
}
a {
  color: inherit;
  text-decoration: none;
  transition: opacity .35s, background-color .35s, transform .35s;
}
a:hover {
  color: inherit;
}
img {
  display: block;
  max-width: 100%;
}
input, select, textarea, button {
  font: inherit;
}
.width-1200-max, .width-1160-max, .width-1140-max {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.width-1200-max {
  max-width: 1200px;
}
.width-1160-max {
  max-width: 1160px;
}
.width-1140-max {
  max-width: 1140px;
}
.default_title1 {
  font-size: clamp(30px, 3.5vw, 48px);
  font-weight: 700;
}
.default_title2 {
  font-size: clamp(23px, 2.36vw, 34px);
  font-weight: 700;
}
.default_title3 {
  font-size: clamp(21px, 1.95vw, 28px);
  font-weight: 700;
}
.default_title4 {
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 700;
}
.section_heading {
  position: relative;
  isolation: isolate;
}
body.on .section_heading::before {
  content: '';
  position: absolute;
  z-index: -1;
  left: -34px;
  top: -19px;
  width: 60px;
  height: 60px;
  background: radial-gradient(#fce3a0, rgba(250, 237, 202, 0) 70%);
}
.section_english {
  font-family: Montserrat, sans-serif;
  font-size: clamp(32px, 3.58vw, 51.45px);
  line-height: 1.08;
  letter-spacing: 1px;
  font-weight: 500;
}
.section_heading h2 {
  color: var(--wata-blue);
  font-weight: 700;
  letter-spacing: 1.5px;
  margin-top: 7px;
}
.section_intro {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  margin-bottom: 45px;
}
.section_intro_copy {
  max-width: 660px;
  background: #fff;
  border-radius: 30px;
  padding: 25px 30px;
}
.more_btn {
  display: flex;
}
.more_btn > a, .more_btn > button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  min-height: 54px;
  padding: 12px 25px 12px 28px;
  border: 0;
  border-radius: 999px;
  background: var(--wata-pink);
  color: #fff;
  cursor: pointer;
  box-sizing: border-box;
  transition: opacity .35s, transform .35s;
}
.more_btn > a:hover, .more_btn > button:hover {
  opacity: .8;
  transform: translateY(-2px);
}
.more_btn p {
  color: #fff;
  font-weight: 700;
}
.more_btn img {
  width: auto;
  height: auto;
  max-width: none;
  flex-shrink: 0;
}
.aquarium_button > a {
  background: var(--wata-blue);
}
.rental_button > a {
  background: var(--wata-yellow);
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 25px;
  box-sizing: border-box;
  padding: 20px 30px;
}
.header_logo {
  position: relative;
  display: block;
  width: 170px;
  height: 185px;
  overflow: hidden;
  flex-shrink: 0;
}
.header_logo img {
  position: absolute;
  width: 117.2%;
  max-width: none;
  height: 108.06%;
  left: -17.08%;
  top: -7.8%;
  object-fit: fill;
}
.header_links {
  display: flex;
  align-items: center;
  padding: 5px 30px;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 8px 12px #3a393714;
}
.header_links > a {
  padding: 10px 12px;
  text-align: center;
  white-space: nowrap;
}
.header_links > a:hover {
  opacity: .65;
}
.header_links .header_english {
  font-family: Montserrat, sans-serif;
  color: #7eb5cc;
  font-size: 14px;
  letter-spacing: 1.08px;
  line-height: 1.2;
  margin-bottom: 4px;
}
.header_links > a > p:last-child {
  font-weight: 700;
}
.header_contact {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 69px;
  padding: 6px 35px 6px 10px;
  border-radius: 999px;
  background: var(--wata-pink);
  box-sizing: border-box;
  white-space: nowrap;
  color: #fff;
}
.header_contact > p {
  color: #fff;
  font-weight: 700;
}
.header_contact:hover {
  color: #fff;
  opacity: .8;
}
.header_mail {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
}
.header_mail img {
  width: auto;
  height: auto;
  max-width: none;
}
.wata_menu_toggle {
  display: none;
}
.menu-wrap {
  display: none;
}
.footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #f29913;
  border-radius: 60px 60px 0 0;
  color: #fff;
}
body.on .footer::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url('https://watanohana.co.jp/system_panel/uploads/images/d442d.jpg') center/cover;
  opacity: .5;
  pointer-events: none;
}
.footer_row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 200px 200px;
  gap: 25px;
}
.footer_info {
  max-width: 350px;
}
.footer_logo {
  position: relative;
  display: block;
  width: 212px;
  height: 248px;
  overflow: hidden;
}
.footer_logo img {
  position: absolute;
  max-width: none;
  width: 127.36%;
  height: 108.87%;
  left: -18.87%;
  top: -8.54%;
  object-fit: fill;
}
.footer_address {
  display: flex;
  gap: 5px;
  align-items: flex-start;
  margin-top: 30px;
}
.footer_address > img {
  width: auto;
  height: auto;
  max-width: none;
  flex-shrink: 0;
}
.footer_address p {
  color: #fff;
}
.footer_english {
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: #fff;
  margin-bottom: 20px;
}
.footer_menu > a, .footer_social > a {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  color: #fff;
}
.footer_menu > a p, .footer_social > a p {
  color: #fff;
}
.footer_bullet {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  background: var(--wata-pink);
  border-radius: 50%;
  flex-shrink: 0;
}
.footer_bullet img, .footer_instagram img {
  width: auto;
  height: auto;
  max-width: none;
}
.footer_instagram {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 1.5px solid #d4edae;
  border-radius: 50%;
}
.copyright {
  margin-top: 60px;
  color: #fff;
}
.contact_section {
  background: var(--wata-paper);
  padding-bottom: clamp(80px, 10.4vw, 150px);
}
.contact_heading {
  position: relative;
  isolation: isolate;
  text-align: center;
  color: #fff;
  padding-top: clamp(80px, 9.7vw, 140px);
  padding-bottom: clamp(110px, 9vw, 130px);
  background: url('https://watanohana.co.jp/system_panel/uploads/images/2afe9.jpg') center/cover;
}
body.on .contact_heading::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #0005;
  z-index: -1;
}
.contact_heading .section_heading h2 {
  color: #fff;
}
body.on .contact_heading .section_heading::before {
  content: none;
}
.contact_heading .section_heading {
  margin-bottom: 30px;
}
.contact_message {
  color: #fff;
}
.contact_form_wrap {
  position: relative;
  margin-top: -70px;
}
.contact_form {
  box-sizing: border-box;
  max-width: 900px;
  margin: auto;
  padding: clamp(25px, 5.56vw, 80px);
  border-radius: 30px;
  background: #f8dfe2;
  box-shadow: 0 20px 30px #3a393714;
}
.contact_intro {
  text-align: center;
}
.form_fields {
  display: grid;
  gap: 28px;
  margin-top: 30px;
}
.form_columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}
.form_field {
  min-width: 0;
}
.form_field > h3 {
  font-weight: 700;
  margin-bottom: 8px;
}
.form_field input, .form_field select, .form_field textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  border: 1px solid #e7e4dd;
  border-radius: 0;
  background: var(--wata-paper);
  color: var(--wata-ink);
  padding: 14px 17px;
  min-height: 60px;
}
.form_field textarea {
  height: 210px;
  resize: vertical;
}
.form_field input::placeholder, .form_field textarea::placeholder {
  color: #3a393780;
}
.form_select {
  position: relative;
}
.form_select select {
  appearance: none;
  padding-right: 45px;
  min-height: 54px;
}
.form_select > img {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  height: auto;
  max-width: none;
  pointer-events: none;
}
.privacy_agreement {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.privacy_agreement input {
  width: 17px;
  height: 17px;
  accent-color: var(--wata-pink);
}
.privacy_agreement > a {
  border-bottom: 1px solid currentColor;
}
.form_submit {
  justify-content: center;
  margin-top: 30px;
}
.form_status {
  margin-top: 20px;
  color: #8b2630;
  text-align: center;
}
@media(max-width:1080px) {
  .header {
    gap: 20px;
  }
  .header_logo {
    width: 125px;
    height: 136px;
  }
  .header_links {
    padding: 5px 15px;
  }
  .header_links > a {
    padding: 10px 8px;
  }
  .header_links > a > p:last-child {
    font-size: 14px;
  }
  .header_contact {
    padding-right: 20px;
  }
  .header_contact > p {
    font-size: 14px;
  }
  .footer_row {
    grid-template-columns: minmax(0, 1fr) 180px 180px;
  }
}
@media(max-width:768px) {
  .txt-left-tb {
    text-align: left;
  }
  .header {
    padding: 15px 20px;
    align-items: flex-start;
  }
  .header_logo {
    width: 105px;
    height: 114px;
  }
  .header_links {
    display: none;
  }
  .header_contact {
    margin-left: auto;
    min-height: 50px;
    padding: 6px 15px 6px 6px;
    gap: 8px;
  }
  .header_mail {
    width: 36px;
    height: 36px;
  }
  .wata_menu_toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .wata_menu_toggle > p {
    font-size: 9px;
  }
  .menu_lines {
    display: grid;
    gap: 4px;
  }
  .menu_lines > div {
    width: 20px;
    height: 1px;
    background: var(--wata-ink);
    transition: transform .35s, opacity .35s;
  }
  .wata_menu_toggle.active .menu_lines > div:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
  }
  .wata_menu_toggle.active .menu_lines > div:nth-child(2) {
    opacity: 0;
  }
  .wata_menu_toggle.active .menu_lines > div:nth-child(3) {
    transform: translateY(-5px) rotate(-45deg);
  }
  .menu-wrap {
    position: fixed;
    top: 80px;
    right: 20px;
    left: 20px;
    z-index: 1001;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 25px #3a39371f;
  }
  .menu_inner {
    display: grid;
    padding: 20px;
    gap: 16px;
  }
  .menu-wrap.active {
    display: block;
  }
  .section_intro {
    align-items: flex-start;
    gap: 30px;
  }
  .footer_row {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .footer_info {
    grid-column: 1/-1;
  }
  .footer_logo {
    width: 170px;
    height: 199px;
  }
  .company_inner {
    grid-template-columns: 1fr;
  }
  .form_columns {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
@media(max-width:576px) {
  p, li, a {
    font-size: 14px;
  }
  .header {
    gap: 10px;
  }
  .header_contact > p {
    font-size: 12px;
  }
  .header_contact {
    padding-right: 12px;
  }
  .header_mail {
    width: 30px;
    height: 30px;
  }
  .header_logo {
    width: 85px;
    height: 93px;
  }
  .section_intro {
    flex-direction: column;
  }
  .section_intro_copy {
    padding: 20px;
  }
  .section_heading h2 {
    font-size: 16px;
  }
  .footer {
    border-radius: 30px 30px 0 0;
  }
  .footer_row {
    grid-template-columns: 1fr 1fr;
    gap: 30px 15px;
  }
  .footer_menu, .footer_social {
    min-width: 0;
  }
  .footer_logo {
    width: 145px;
    height: 170px;
  }
  .privacy_agreement {
    gap: 6px;
  }
  .privacy_agreement p {
    font-size: 12px;
  }
  .contact_message {
    font-size: 20px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }
  .sc-anime.blurin2.on {
    opacity: 1;
    filter: none;
  }
  .sc-anime.blurin2.on.active {
    animation: none;
  }
  a, button {
    transition: none;
  }
}
/* 参考フォームの必須クラスで表示。spanは使用しない */
body.on .contact_form .required-box > h3::after {
  content: "必須";
  display: inline-block;
  margin-left: 12px;
  color: var(--wata-pink);
  font-weight: 500;
}
.contact_form .inputbox {
  min-width: 0;
}
/* プライバシーポリシー（新規ウィンドウ） */
.privacy_page {
  min-height: 100vh;
  box-sizing: border-box;
  background: var(--wata-paper);
}
.privacy_page .privacypolicy {
  display: block;
  max-width: 1080px;
  margin: auto;
}
.privacy_page .close-bt {
  display: table;
  margin: 0 0 30px auto;
  padding: 10px 25px;
  border-radius: 999px;
  background: var(--wata-pink);
  color: #fff;
}
.privacy_page .close-bt p {
  color: #fff;
}
.privacy_page .close-bt:hover {
  opacity: .8;
}
.privacy_page .contents {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  background: #fff;
  border-radius: 20px;
  padding: clamp(24px, 4.2vw, 60px);
}
.privacy_page .contents > h1 {
  margin-bottom: 25px;
}
.privacy_page .top-txt {
  margin-bottom: 30px;
}
.privacy_page .box-wrap {
  display: grid;
  gap: 30px;
}
.privacy_page .box h3 {
  font-weight: 700;
  margin-bottom: 12px;
}
.privacy_page .contents p {
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.privacy_page .contents a {
  display: inline-block;
  border-bottom: 1px solid currentColor;
}
.privacy_page .contents a:hover {
  opacity: .65;
}
/* フォーム内のリンクからプライバシーポリシーを開く */
.privacy_modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 2000;
  overflow-y: auto;
  padding: 80px 20px 40px;
  background: rgba(249, 248, 244, .98);
}
.privacy_modal.is-open {
  display: block;
}
.privacy_modal .close-bt {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1;
  margin: 0;
}
.privacy_modal .contents {
  margin: auto;
}
body.policy-open {
  overflow: hidden;
}
@media(max-width:576px) {
  .privacy_modal {
    padding: 75px 15px 25px;
  }
  .privacy_modal .close-bt {
    top: 15px;
    right: 15px;
  }
}
/* ロゴとメニューを分離。ヘッダーの透明な空白は下の操作を遮らない */
.header {
  display: block;
  height: 0;
  padding: 0;
  pointer-events: none;
}
.header > .header_logo {
  position: absolute;
  top: 20px;
  left: 30px;
  pointer-events: auto;
}
.header_menu {
  position: absolute;
  top: 20px;
  left: 260px;
  right: 30px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 25px;
  pointer-events: none;
}
.header_menu .header_links, .header_menu > .header_contact, .header_menu > .wata_menu_toggle {
  pointer-events: auto;
}
.header_links > a {
  box-sizing: border-box;
  min-height: 48px;
}
.menu_inner > a {
  display: flex;
  align-items: center;
  min-height: 44px;
}
@media(max-width:1080px) {
  .header > .header_logo {
    width: 125px;
    height: 136px;
  }
  .header_menu {
    left: 190px;
    gap: 15px;
    justify-content: flex-end;
  }
  .header_menu .header_links {
    display: none;
  }
  .header_menu > .header_contact {
    min-height: 50px;
    padding: 6px 15px 6px 6px;
    gap: 8px;
  }
  .header_menu .header_mail {
    width: 36px;
    height: 36px;
  }
  .header_menu > .wata_menu_toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .header_menu > .wata_menu_toggle > p {
    font-size: 9px;
  }
  .header_menu .menu_lines {
    display: grid;
    gap: 4px;
  }
  .header_menu .menu_lines > div {
    width: 20px;
    height: 1px;
    background: var(--wata-ink);
    transition: transform .35s, opacity .35s;
  }
  .header_menu .wata_menu_toggle.active .menu_lines > div:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
  }
  .header_menu .wata_menu_toggle.active .menu_lines > div:nth-child(2) {
    opacity: 0;
  }
  .header_menu .wata_menu_toggle.active .menu_lines > div:nth-child(3) {
    transform: translateY(-5px) rotate(-45deg);
  }
  .menu-wrap {
    position: fixed;
    top: 85px;
    right: 20px;
    left: auto;
    max-width: 400px;
    width: calc(100% - 40px);
    z-index: 1001;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 25px #3a39371f;
    max-height: calc(100dvh - 105px);
    overflow-y: auto;
  }
  .menu_inner {
    display: grid;
    padding: 20px;
    gap: 8px;
  }
  .menu-wrap.active {
    display: block;
  }
}
@media(max-width:768px) {
  .header > .header_logo {
    top: 15px;
    left: 20px;
    width: 105px;
    height: 114px;
  }
  .header_menu {
    top: 15px;
    left: 145px;
    right: 20px;
    gap: 10px;
  }
}
@media(max-width:576px) {
  .header > .header_logo {
    width: 85px;
    height: 93px;
  }
  .header_menu {
    left: 115px;
  }
  .header_menu > .header_contact {
    padding-right: 12px;
  }
  .header_menu .header_mail {
    width: 30px;
    height: 30px;
  }
}
/* PCのナビゲーションを画面中央に配置 */
@media(min-width:1081px) {
  .header_menu {
    left: 0;
    right: 0;
  }
  .header_menu .header_links {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  .header_menu > .header_contact {
    position: absolute;
    right: 30px;
  }
}
/* ===== 下層ページ共通 ===== */
.subpage_inner {
  width: 100%;
  max-width: 1140px;
  margin: auto;
  box-sizing: border-box;
}
.width-800-max {
  width: 100%;
  max-width: 800px;
  margin: auto;
  box-sizing: border-box;
}
.page_hero {
  height: 487px;
  position: relative;
}
.page_hero_image {
  height: 430px;
  overflow: hidden;
}
.page_hero_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page_title_plate {
  position: absolute;
  top: 370px;
  left: 50%;
  transform: translateX(-50%);
  width: 470px;
  max-width: calc(100% - 40px);
  min-height: 117px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  padding: 25px 45px;
  border-radius: 22px;
  background: var(--wata-pink);
  color: #fff;
}
body.on .page_title_plate::before, body.on .page_title_plate::after {
  content: '';
  position: absolute;
  top: 15px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 79px 0 #fff;
}
body.on .page_title_plate::before {
  left: 15px;
}
body.on .page_title_plate::after {
  right: 15px;
}
.page_english {
  font-family: Montserrat, sans-serif;
  letter-spacing: 1.98px;
  color: #fff;
}
.page_title_plate .page_japanese {
  font-size: clamp(20px, 1.8vw, 26px);
  letter-spacing: .125em;
  color: #fff;
}
.page_lead {
  max-width: 1040px;
  margin: 0 auto;
  text-align: center;
  padding-top: 65px;
  padding-bottom: 50px;
}
.page_lead h2 {
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.4;
}
.page_lead > p {
  margin-top: 20px;
}
.two_columns {
  display: grid;
  grid-template-columns: 1.02fr 1fr;
  gap: 48px;
  align-items: center;
}
.two_columns p {
  line-height: 1.9;
}
.two_columns h3 {
  margin-bottom: 30px;
}
.subpage_illustration img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.price_table {
  border: 1px solid #e7e4dd;
  border-radius: 10px;
  overflow: hidden;
  margin-top: 40px;
}
.price_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 67px;
  border-bottom: 1px solid #e7e4dd;
}
.price_row:last-child {
  border-bottom: 0;
}
.price_row > h3, .price_row > p {
  display: flex;
  align-items: center;
  padding: 18px 28px;
}
.price_row > h3 {
  font-weight: 700;
}
.price_row > p {
  justify-content: flex-end;
  text-align: right;
  border-left: 1px solid #e7e4dd;
}
.price_row:first-child {
  background: var(--wata-pink);
  color: #fff;
}
.price_row:first-child p {
  color: #fff;
}
.price_note {
  background: #faedca;
  padding: 25px 30px;
  border-radius: 8px;
  margin-top: 30px;
}
.price_note h3 {
  font-weight: 700;
  margin-bottom: 8px;
}
.service_contact_inner {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1.38fr 1fr;
  max-width: 1200px;
  margin: auto;
  background: var(--wata-pink);
  color: #fff;
  border-radius: 24px;
  overflow: hidden;
}
.service_contact_copy {
  padding: clamp(30px, 4.1vw, 58px) clamp(25px, 4.85vw, 70px);
}
.service_contact_en {
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  letter-spacing: 2px;
}
.service_contact_copy h2 {
  margin: 20px 0 18px;
  font-weight: 500;
  letter-spacing: .07em;
}
.service_contact_copy p {
  color: #fff;
}
.service_contact_button {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  background: #f0a6af;
  border-radius: 999px;
  padding: 6px 25px 6px 7px;
  margin-top: 30px;
}
.service_contact_button > div {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  background: #fff;
  border-radius: 50%;
  flex-shrink: 0;
}
.service_contact_button img {
  width: auto;
  height: auto;
  max-width: none;
}
.service_contact_button > p {
  font-weight: 700;
}
.service_contact_button:hover {
  opacity: .8;
}
.service_contact_photos {
  position: relative;
  min-height: 350px;
}
.service_contact_photos > div {
  position: absolute;
  overflow: hidden;
  width: 49%;
  height: 255px;
  border-radius: 14px;
}
.service_contact_photos > div:first-child {
  left: 0;
  top: 45px;
  transform: rotate(-7deg);
}
.service_contact_photos > div:last-child {
  right: 30px;
  top: 100px;
  transform: rotate(7deg);
}
.service_contact_photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media(max-width:1080px) {
  .two_columns {
    gap: 30px;
  }
  .service_contact_copy {
    padding: 35px 30px;
  }
  .service_contact_photos > div {
    height: 230px;
  }
  .service_contact_button {
    padding-right: 15px;
    gap: 8px;
  }
}
@media(max-width:768px) {
  .page_hero {
    height: 377px;
  }
  .page_hero_image {
    height: 320px;
  }
  .page_title_plate {
    top: 260px;
  }
  .page_lead {
    padding-top: 45px;
    padding-bottom: 15px;
  }
  .two_columns {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .two_columns > .subpage_illustration {
    grid-row: 1;
    max-width: 500px;
    margin: auto;
  }
  .service_contact_inner {
    grid-template-columns: 1fr;
  }
  .service_contact_photos {
    min-height: 320px;
    max-width: 500px;
    width: 100%;
    margin: auto;
  }
  .service_contact_photos > div {
    height: 230px;
    top: 20px !important;
  }
  .service_contact_photos > div:last-child {
    top: 60px !important;
  }
  .price_row > h3, .price_row > p {
    padding: 16px 20px;
  }
}
@media(max-width:576px) {
  .page_hero {
    height: 337px;
  }
  .page_hero_image {
    height: 280px;
  }
  .page_title_plate {
    top: 220px;
    min-height: 117px;
    padding: 25px 30px;
  }
  .page_lead h2 {
    font-size: 24px;
  }
  .price_row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  }
  .price_row > h3, .price_row > p {
    padding: 14px 12px;
  }
  .price_row > h3 {
    font-size: 14px;
  }
  .service_contact_copy h2 {
    font-size: 22px;
  }
  .service_contact_photos {
    min-height: 280px;
  }
  .service_contact_photos > div {
    height: 210px;
  }
  .service_contact_photos > div:first-child {
    left: 15px;
  }
  .service_contact_photos > div:last-child {
    right: 15px;
  }
}
.privacy_modal .contents > h2 {
  margin-bottom: 25px;
}
/* 四角い写真素材を使用し、見本の角丸はCSSで指定 */
.main-wrap .about_photo {
  border-radius: 9px;
  overflow: hidden;
}
.main-wrap .news_photo, .main-wrap .news_list .imgbox, .main-wrap .facility_photos img {
  border-radius: 10px;
  overflow: hidden;
}
.main-wrap .instagram_card, .main-wrap .service_contact_photos > div {
  border-radius: 14px;
  overflow: hidden;
}
.main-wrap .product_card, .main-wrap .rental_card {
  border-radius: 20px;
  overflow: hidden;
}
.main-wrap .product_photo, .main-wrap .rental_photo {
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
.main-wrap.news_detail_page .img-box {
  border-radius: 30px;
  overflow: hidden;
}
@media(max-width:576px) {
  .main-wrap .instagram_card {
    border-radius: 10px;
  }
  .main-wrap.news_detail_page .img-box {
    border-radius: 18px;
  }
}
/* 元画像に含まれる角丸は表示範囲の外へ */
.welfare_features .feature_card:first-child .feature_image img, .welfare_features .feature_card:last-child .feature_image img {
  transform: scale(1.2);
}
.guide_page .product_photo img {
  transform: scale(1.12);
}
/* 共通：事業内リンク */
.guide_page .business_links {
  display: flex;
  width: calc(100% - 40px);
  max-width: 620px;
  margin: 30px auto 60px;
  padding: 0;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 12px 40px #3a393714;
  overflow: hidden;
}
.guide_page .business_links > .business_link {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  text-align: left;
  gap: 13px;
  flex: 1;
  min-width: 0;
  min-height: 100px;
  padding: 18px 22px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.guide_page .business_links > .business_link + .business_link {
  border-left: 1px solid #e7e4dd;
}
.business_link_icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
}
.business_link_icon img {
  width: auto;
  height: auto;
  max-width: none;
}
.business_link_text {
  min-width: 0;
}
.business_link_text > p:last-child {
  font-weight: 700;
  white-space: nowrap;
}
.guide_page .business_links > .business_link > .business_link_arrow {
  display: block;
  width: auto;
  height: auto;
  margin-left: auto;
  flex-shrink: 0;
}
.business_link:hover {
  background: var(--wata-paper);
}
/* 共通：写真・番号・英字ラベル・本文のカード */
.guide_page .numbered_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  height: 100%;
  padding: 0 0 30px;
  border-radius: 20px;
  background: #fff;
  overflow: hidden;
  text-align: center;
}
.guide_page .numbered_card > .card_photo {
  width: 100%;
  aspect-ratio: 6/5;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
.guide_page .numbered_card > .card_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.guide_page .numbered_card > .card_caption {
  position: relative;
  z-index: 1;
  margin-top: -32px;
  text-align: center;
  color: var(--wata-blue);
}
.guide_page .numbered_card .card_number {
  font-family: Montserrat, sans-serif;
  font-size: 43px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 1px;
  color: inherit;
}
.guide_page .numbered_card .card_label {
  font-family: Montserrat, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: inherit;
}
.guide_page .rental_card > .card_caption {
  color: var(--wata-yellow);
}
.guide_page .numbered_card > .card_title {
  margin: 22px 25px 12px;
  font-weight: 500;
  line-height: 1.5;
}
.guide_page .numbered_card > .card_description {
  align-self: stretch;
  margin: 0 0 22px;
  padding: 0 30px;
  line-height: 1.8;
  text-align: left;
}
.guide_page .numbered_card > .card_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  margin-top: auto;
  padding: 10px 25px;
  border: 1px solid var(--wata-blue);
  border-radius: 999px;
  color: var(--wata-blue);
}
.guide_page .numbered_card > .card_button p {
  color: var(--wata-blue);
}
@media(max-width:768px) {
  .guide_page .business_links > .business_link {
    padding: 16px;
    gap: 10px;
  }
  .guide_page .numbered_card > .card_description {
    padding: 0 22px;
  }
  .guide_page .numbered_card > .card_button {
    padding: 10px 18px;
    gap: 15px;
  }
}
@media(max-width:576px) {
  .guide_page .business_links {
    border-radius: 28px;
  }
  .guide_page .business_links > .business_link {
    padding: 15px 10px;
    gap: 7px;
  }
  .business_link_icon {
    width: 36px;
    transform: scale(.8);
  }
  .business_link_text > p:last-child {
    font-size: 12px;
  }
  .business_link_text > .guide_link_en {
    font-size: 10px;
    letter-spacing: .08em;
  }
  .guide_page .business_links > .business_link > .business_link_arrow {
    max-width: 8px;
  }
  .guide_page .numbered_card .card_number {
    font-size: 36px;
  }
  .guide_page .numbered_card > .card_caption {
    margin-top: -27px;
  }
}
/* ヘッダーロゴは元画像の縦横比を保持 */
.header > .header_logo{height:auto;overflow:visible;}
.header .header_logo img{position:static;width:100%;max-width:100%;height:auto;left:auto;top:auto;object-fit:contain;}

/* 商品カードの購入ボタンは1行で表示 */
.guide_page .numbered_card>.card_button{box-sizing:border-box;max-width:calc(100% - 24px);padding:10px clamp(10px,1.3vw,20px);gap:clamp(8px,1vw,16px);}
.guide_page .numbered_card>.card_button p{font-size:clamp(11px,1.05vw,14px);white-space:nowrap;}
.guide_page .numbered_card>.card_button img{flex-shrink:0;}

/* 下層のページタイトル画像を縦長に */
.page_hero{--page-hero-height:clamp(360px,42vw,600px);height:calc(var(--page-hero-height) + 57px);}
.page_hero .page_hero_image{height:var(--page-hero-height);}
.page_hero .page_title_plate{top:calc(var(--page-hero-height) - 60px);}

/* お問い合わせとフッター角丸の外側の背景色を統一 */
.footer_background{background:var(--wata-paper);}

/* 見出し：文章の区切り単位で自然に折り返し、親の文字色を保持 */
.title_wrap>span{display:inline-block;max-width:100%;font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;vertical-align:baseline;}

/* 画像を差し替えても外枠の角丸を維持 */
.main-wrap .about_photo img,.main-wrap .news_photo img,.main-wrap .instagram_card img,.main-wrap .news_list .imgbox img,.main-wrap .product_photo img,.main-wrap .rental_photo img,.main-wrap .service_contact_photos img,.main-wrap.news_detail_page .img-box img{border-radius:inherit;}
/* フォーム全体は900px以内。欄間の縦余白も適度に調整 */
.contact_form_wrap>.contact_form{width:100%;max-width:900px;margin-left:auto;margin-right:auto;}
.contact_form .form_fields,.contact_form .form_columns{gap:clamp(20px,2vw,28px);}
/* Firefox：画像を含むブロックは移動・ぼかしを使わずフェードだけにする */
@supports (-moz-appearance:none){
 .sc-anime.blurin2.on{transform:none!important;filter:none!important;}
 .sc-anime.blurin2.on.active{animation-name:wataFirefoxFade;animation-duration:.6s;animation-timing-function:ease;}
 .main-wrap img{animation:none!important;transition:none!important;}
 .news_card>a:hover img,.news_page .news_list a:hover .imgbox img,.instagram_card a:hover img{transform:none;}
 @keyframes wataFirefoxFade{from{opacity:0;}to{opacity:1;}}
}

@media(prefers-reduced-motion:reduce){.sc-anime.blurin2.on.active{animation:none;opacity:1;transform:none;filter:none;}}

/* 各デバイス：入力文字・タップ領域・見出しの折り返し */
@media(max-width:1080px){
  .contact_form .form_field input,
  .contact_form .form_field select,
  .contact_form .form_field textarea{font-size:16px;}
  .guide_page .numbered_card>.card_button{min-height:44px;}
  .guide_page .numbered_card>.card_button p{font-size:clamp(12px,1.3vw,14px);}
}
@media(max-width:576px){
  .contact_heading .contact_message{font-size:clamp(16px,4.6vw,18px);text-wrap:balance;}
  .guide_page .numbered_card>.card_button p{font-size:clamp(12px,3.5vw,14px);}
}

/* タブレット：会社情報とナビゲーションを左右に配置 */
@media(min-width:577px) and (max-width:1080px){
  .footer .footer_row{
    grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
    grid-template-areas:"info menu" "info social";
    gap:28px clamp(24px,4vw,40px);
    align-items:start;
  }
  .footer .footer_info{grid-area:info;max-width:none;min-width:0;}
  .footer .footer_menu{grid-area:menu;min-width:0;}
  .footer .footer_social{grid-area:social;min-width:0;}
  .footer .footer_address p{overflow-wrap:anywhere;}
}

/* お問い合わせ完了 */
.thanks_page{background:var(--wata-paper);}
.thanks_page .thanks_content{padding-top:clamp(180px,18vw,260px);padding-bottom:clamp(80px,9vw,130px);}
.thanks_page .thanks_inner{max-width:800px;margin:0 auto;text-align:center;}
.thanks_page .section_heading{display:inline-block;}
.thanks_page .section_english{margin-bottom:12px;}
.thanks_page h1{line-height:1.6;}
.thanks_page .thanks_message{margin-top:clamp(24px,3vw,40px);}
.thanks_page .thanks_note{margin-top:20px;}
.thanks_page .more_btn{justify-content:center;margin-top:clamp(30px,4vw,50px);}
@media(max-width:576px){
  .thanks_page .thanks_content{padding-top:150px;}
  .thanks_page h1{font-size:clamp(22px,5vw,28px);}
}

/* スマホ：本文以外の見出し・画像・ボタンを中央へ */
@media(max-width:576px){
  .main-wrap .section_heading{text-align:center;}
  .main-wrap .two_columns h3,
  .main-wrap .service_contact_copy h2,
  .main-wrap .service_contact_en{text-align:center;}
  .main-wrap .more_btn{justify-content:center;}
  .main-wrap .subpage_illustration{justify-self:center;}
  .main-wrap .service_contact_button{margin-left:auto;margin-right:auto;}
  .news_page .news_list>.webgene-blog{grid-template-columns:minmax(0,1fr);}
}
body:not(.on) .sc-anime{opacity:1!important;filter:none!important;transform:none!important;animation:none!important;pointer-events:auto;}

@media screen and (max-width:576px){

  /* 見出しを中央に配置 */
  .about_section .section_heading,
  .service_section .section_intro > .section_heading,
  .welfare_page .section_heading{
    width:fit-content;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }

  .service_section .section_intro{
    grid-template-columns:minmax(0,1fr);
    flex-direction:column;
    align-items:center;
  }

  /* 黄色の丸を英字の左側へ */
  body.on .about_section .section_heading::before,
  body.on .service_section .section_intro > .section_heading::before,
  body.on .welfare_page .section_heading::before{
    left:-26px;
    top:-18px;
    width:60px;
    height:60px;
  }

  /* 各サービスのアイコンをタイトルの上へ */
  .service_section .service_title{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-align:center;
  }

  .service_section .service_title > img{
    display:block;
    margin-left:auto;
    margin-right:auto;
  }

  .service_section .service_title > div{
    width:100%;
    text-align:center;
  }

  /* お問い合わせバナーの文字を中央に */
  .service_contact .service_contact_button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:360px;
    gap:10px;
    margin-left:auto;
    margin-right:auto;
    padding:6px 12px 6px 7px;
  }

  .service_contact .service_contact_button > div{
    flex:0 0 48px;
  }

  .service_contact .service_contact_button > p{
    flex:1;
    min-width:0;
    margin:0;
    text-align:center;
  }
}
@media screen and (max-width:576px){

  /* 共通見出し：文字幅を基準に中央配置 */
  .main-wrap .section_heading,
  .service_section .section_intro > .section_heading{
    display:table;
    width:fit-content;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }

  /* 黄色の丸を英字タイトルの左へ */
  body.on .main-wrap .section_heading::before,
  body.on .service_section .section_intro > .section_heading::before{
    left:-26px;
    top:-18px;
    width:60px;
    height:60px;
  }

  /* 各サービス：アイコンをタイトルの上へ */
  .service_section .service_title{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-align:center;
  }

  .service_section .service_title > div{
    width:100%;
    text-align:center;
  }

  /* お問い合わせボタン */
  .service_contact .service_contact_button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:360px;
    margin-left:auto;
    margin-right:auto;
    padding:6px 12px 6px 7px;
    gap:10px;
  }

  .service_contact .service_contact_button > div{
    flex:0 0 48px;
  }

  .service_contact .service_contact_button > p{
    flex:1;
    min-width:0;
    margin:0;
    text-align:center;
    line-height:1.6;
  }

  /* 料金表：左右の幅と文字の収まりを調整 */
  .main-wrap .price_row{
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  }

  .main-wrap .price_row > h3,
  .main-wrap .price_row > p{
    min-width:0;
    padding:16px 12px;
    font-size:14px;
    line-height:1.7;
    letter-spacing:0;
  }

  /* flexでspanが横に分割されるのを解除 */
  .main-wrap .price_row > h3{
    display:block;
    align-content:center;
    text-align:left;
    overflow-wrap:anywhere;
  }

  .main-wrap .price_row > h3 > span{
    display:inline-block;
    width:auto;
    max-width:100%;
    white-space:nowrap;
    font:inherit;
    vertical-align:baseline;
  }

  .main-wrap .price_row > p{
    justify-content:flex-end;
    text-align:right;
    overflow-wrap:anywhere;
  }

  /* 新着情報一覧もスマホでは1列 */
  .news_page .webgene-blog{
    grid-template-columns:minmax(0,1fr);
  }
}
@media screen and (max-width:576px){
  .main-wrap .price_row{
    grid-template-columns:minmax(0,1fr);
  }

  .main-wrap .price_row > h3{
    padding:16px 16px 6px;
  }

  .main-wrap .price_row > p{
    justify-content:flex-start;
    padding:0 16px 16px;
    border-left:0;
    text-align:left;
  }
}