@charset "UTF-8";
:root {
  --f13:clamp(0.75rem, 0.728rem + 0.099vw, 0.813rem);
  --f14:clamp(0.813rem, 0.790rem + 0.099vw, 0.875rem);
  --f16:clamp(0.875rem, 0.830rem + 0.199vw, 1rem);
  --f17:clamp(0.938rem, 0.886rem + 0.235vw, 1.063rem);
  --f20:clamp(1.063rem, 0.995rem + 0.298vw, 1.25rem);
  --f22:clamp(1.063rem, 1.1rem + 0.497vw, 1.375rem);
  --f24:clamp(1.313rem, 1.245rem + 0.298vw, 1.5rem);
  --f28:clamp(1.35rem, 1.311rem + 0.398vw, 1.75rem);
  --f32:clamp(1.4rem, 1.121rem + 0.795vw, 2rem);
  --f36:clamp(1.5rem, 0.75rem + 1.25vw, 2.25rem);
  --f40:clamp(1.5rem, 1.148rem + 1.502vw, 2.5rem);
  --f42:clamp(1.5rem, 1.097rem + 1.789vw, 2.625rem);
  --f48:clamp(2rem, 1.642rem + 1.59vw, 3rem);
  --f54:clamp(2.25rem, 1.847rem + 1.789vw, 3.375rem);
  --f64:clamp(2.625rem, 2.133rem + 2.187vw, 4rem);
  --f72:clamp(2.7rem, 2.263rem + 2.386vw, 4.5rem);
  --f106:clamp(3rem, 1.703rem + 5.765vw, 6.625rem);
  --f160:clamp(3.25rem, 0.873rem + 10.141vw, 10rem);
}

@font-face {
  src: url("../font/NotoSansJP-Light.woff") format("woff");
  font-family: "Noto Sans JP";
  font-weight: 300;
  font-display: swap;
}
@font-face {
  src: url("../font/NotoSansJP-Regular.woff") format("woff");
  font-family: "Noto Sans JP";
  font-weight: 400;
  font-display: swap;
}
@font-face {
  src: url("../font/NotoSansJP-Medium.woff.woff") format("woff");
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-display: swap;
}
@font-face {
  src: url("../font/NotoSerifJP-Medium.woff") format("woff");
  font-family: "Noto Serif JP";
  font-weight: 500;
  font-display: swap;
}
@font-face {
  src: url("../font/MPLUS1-Regular.woff") format("woff");
  font-family: "M PLUS U";
  font-weight: 400;
  font-display: swap;
}
.key-wrap {
  z-index: 9999;
}
.key-wrap #key-visual {
  position: relative;
  height: calc(100dvh - 84px);
  height: calc(var(--vh, 1vh) * 100 - 84px);
  margin-top: 95px;
}
@media screen and (max-width: 1240px) {
  .key-wrap #key-visual {
    margin-top: 84px;
  }
}
@media screen and (max-width: 1024px) {
  .key-wrap #key-visual {
    margin-top: 60px;
  }
}
@media screen and (max-width: 480px) {
  .key-wrap #key-visual {
    height: calc(100dvh - 100px);
    height: calc(var(--vh, 1vh) * 100 - 100px);
  }
}
.key-wrap #key-visual video {
  width: 100%;
  -o-object-position: center;
     object-position: center;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100 - 84px);
}
@media screen and (max-width: 480px) {
  .key-wrap #key-visual video {
    height: calc(var(--vh, 1vh) * 100 - 100px);
  }
}
.key-wrap #key-visual .key-txt {
  width: 108px;
  height: 550px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 999;
}
@media screen and (max-width: 1240px) {
  .key-wrap #key-visual .key-txt {
    width: 82px;
    height: 418px;
  }
}
@media screen and (max-width: 768px) {
  .key-wrap #key-visual .key-txt {
    width: 66px;
    height: 335px;
  }
}

#top-container .intro {
  background: url(../images/intro-bg.webp) no-repeat center;
  padding: clamp(55px, 10vw, 100px) 0;
}
#top-container .intro picture {
  max-width: 812px;
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  #top-container .intro picture img {
    width: 100%;
  }
}
#top-container .service {
  background: #FBF5F5;
  padding: clamp(65px, 11vw, 120px) 0 clamp(55px, 10vw, 100px) 0;
}
#top-container .service .service-list {
  max-width: 1240px;
  width: 90%;
  margin: 2em auto 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.5em;
}
@media screen and (max-width: 1024px) {
  #top-container .service .service-list {
    gap: 1em;
  }
}
@media screen and (max-width: 768px) {
  #top-container .service .service-list {
    grid-template-columns: 1fr 1fr;
    margin: 1em auto 0 auto;
    gap: 0.7em;
  }
}
#top-container .service .service-list li a {
  display: flex;
  align-items: center;
  font-size: var(--f22);
  background: #fff;
  border-radius: 50px;
}
@media screen and (max-width: 1240px) {
  #top-container .service .service-list li a {
    font-size: var(--f17);
  }
}
@media screen and (max-width: 480px) {
  #top-container .service .service-list li a {
    font-size: var(--f16);
    line-height: 1.4;
  }
}
#top-container .service .service-list li a br {
  display: none;
}
@media screen and (max-width: 480px) {
  #top-container .service .service-list li a br {
    display: block;
  }
}
#top-container .service .service-list li a img {
  width: 82px;
  height: 82px;
}
@media screen and (max-width: 1240px) {
  #top-container .service .service-list li a img {
    width: 62px;
    height: 62px;
  }
}
@media screen and (max-width: 1024px) {
  #top-container .service .service-list li a img {
    width: 52px;
    height: 52px;
  }
}
@media screen and (max-width: 1240px) {
  #top-container #parallax-wrap {
    overflow: hidden;
    position: relative;
  }
}
#top-container #parallax-wrap .parallax {
  background-image: url(../images/parallax.webp);
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  box-sizing: border-box;
  width: 100%;
  height: 90vh;
}
@media screen and (max-width: 1240px) {
  #top-container #parallax-wrap .parallax {
    width: 100%;
    height: 60vh;
    position: relative;
    background-image: none;
  }
  #top-container #parallax-wrap .parallax::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 111%;
    background: url(../images/parallax-sp.webp) center no-repeat;
    background-size: contain;
    overflow: hidden;
  }
}
@media screen and (max-width: 768px) {
  #top-container #parallax-wrap .parallax {
    height: 25vh;
  }
  #top-container #parallax-wrap .parallax::before {
    height: 100%;
  }
}
#top-container .craft {
  background: #fff;
  padding: clamp(80px, 12vw, 120px) 0;
}
#top-container .craft .craft-list {
  margin-top: 2em;
  max-width: 1500px;
  width: 90%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 2em;
}
@media screen and (max-width: 768px) {
  #top-container .craft .craft-list {
    grid-template-columns: 1fr 1fr;
  }
}
#top-container .craft .craft-list .craft-item figure {
  max-width: 250px;
  width: 90%;
  margin: 0 auto 1em auto;
}
@media screen and (max-width: 768px) {
  #top-container .craft .craft-list .craft-item figure {
    margin: 0 auto;
  }
}
#top-container .craft .craft-list .craft-item p {
  line-height: 1.6;
}
#top-container .contact {
  display: flex;
  border-top: 1px solid #C89093;
  border-bottom: 1px solid #C89093;
}
@media screen and (max-width: 1024px) {
  #top-container .contact {
    flex-direction: column;
  }
}
#top-container .contact figure {
  width: 25%;
}
@media screen and (max-width: 1024px) {
  #top-container .contact figure {
    width: 100%;
  }
}
#top-container .contact figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  #top-container .contact figure img {
    height: 350px;
  }
}
@media screen and (max-width: 768px) {
  #top-container .contact figure img {
    height: 250px;
  }
}
#top-container .contact .contact-contents {
  width: 50%;
  background: url(../images/contact-bg.webp) no-repeat center;
  background-size: cover;
}
@media screen and (max-width: 1024px) {
  #top-container .contact .contact-contents {
    width: 100%;
  }
}
#top-container .contact .contact-contents .page-title-center {
  margin-top: clamp(65px, 11vw, 120px);
}
@media screen and (max-width: 768px) {
  #top-container .contact .contact-contents .page-title-center {
    margin-top: clamp(90px, 11vw, 120px);
  }
}
#top-container .contact .contact-contents .page-title-center .title {
  line-height: 1.2;
}
#top-container .contact .contact-contents .page-title-center .title span {
  margin-top: 12px;
  display: block;
}
#top-container .contact .contact-contents p {
  font-size: var(--f20);
  width: -moz-fit-content;
  width: fit-content;
  margin: 2em auto;
  padding: 0 1em;
}
@media screen and (max-width: 1240px) {
  #top-container .contact .contact-contents p {
    font-size: var(--f17);
    margin: 1em auto;
  }
}
@media screen and (max-width: 480px) {
  #top-container .contact .contact-contents p .sp {
    display: none;
  }
}
#top-container .contact .contact-contents .btn {
  width: 330px;
  margin-bottom: clamp(55px, 10vw, 80px);
}
@media screen and (max-width: 768px) {
  #top-container .contact .contact-contents .btn {
    width: 250px;
    margin-bottom: clamp(45px, 11vw, 120px);
  }
}
#top-container .bnr {
  background: #fff;
  padding: 5em 0 1em 0;
}
@media screen and (max-width: 768px) {
  #top-container .bnr {
    flex-direction: column;
  }
}
@media screen and (max-width: 480px) {
  #top-container .bnr {
    width: 100%;
    padding: 3em 1em 0 1em;
  }
}
#top-container .bnr .bnr-list {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #top-container .bnr .bnr-list {
    flex-direction: column;
  }
}
#top-container .bnr .bnr-list .bnr-item {
  border: 3px solid #ACA49C;
  background: #F5F3F1;
  position: relative;
}
@media screen and (max-width: 480px) {
  #top-container .bnr .bnr-list .bnr-item {
    width: 100%;
  }
}
#top-container .bnr .bnr-list .bnr-item::before {
  content: "";
  background: url(../images/bnr-img.svg) no-repeat;
  background-size: contain;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 4px;
  right: 4px;
}
#top-container .bnr .bnr-list .bnr-item::after {
  content: "";
  background: url(../images/bnr-img.svg) no-repeat;
  transform: rotate(90deg);
  background-size: contain;
  width: 25px;
  height: 25px;
  position: absolute;
  bottom: 4px;
  right: 4px;
}
#top-container .bnr .bnr-list .bnr-item:first-child {
  margin-right: 3em;
}
@media screen and (max-width: 1024px) {
  #top-container .bnr .bnr-list .bnr-item:first-child {
    margin-right: 2em;
  }
}
@media screen and (max-width: 768px) {
  #top-container .bnr .bnr-list .bnr-item:first-child {
    margin-right: 0;
    margin-bottom: 1em;
  }
}
#top-container .bnr .bnr-list .bnr-item a {
  display: flex;
  align-items: center;
}
#top-container .bnr .bnr-list .bnr-item a figure {
  width: 120px;
  margin-right: 1em;
}
@media screen and (max-width: 1024px) {
  #top-container .bnr .bnr-list .bnr-item a figure {
    width: 100px;
  }
}
#top-container .bnr .bnr-list .bnr-item a .bnr-contents {
  width: 300px;
}
@media screen and (max-width: 1024px) {
  #top-container .bnr .bnr-list .bnr-item a .bnr-contents {
    width: 220px;
  }
}
@media screen and (max-width: 480px) {
  #top-container .bnr .bnr-list .bnr-item a .bnr-contents {
    width: calc(100% - 100px);
  }
}
#top-container .bnr .bnr-list .bnr-item a .bnr-contents h3 {
  font-size: var(--f28);
  font-family: "Noto Serif JP";
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #top-container .bnr .bnr-list .bnr-item a .bnr-contents h3 {
    font-size: var(--f24);
  }
}
#top-container .bnr .bnr-list .bnr-item a .bnr-contents h3 span {
  font-size: var(--f16);
  font-family: "M PLUS U";
  color: #ACA49C;
  letter-spacing: 0.1em;
  padding-left: 4px;
}
#top-container .topics {
  background: #fff;
  padding: clamp(55px, 10vw, 100px) 0;
}
#top-container .topics .topics-wrap {
  max-width: 1240px;
  width: 90%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  #top-container .topics .topics-wrap {
    flex-direction: column;
  }
}
#top-container .topics .topics-wrap .topics-contents {
  width: 48%;
}
@media screen and (max-width: 1024px) {
  #top-container .topics .topics-wrap .topics-contents {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  #top-container .topics .topics-wrap .topics-contents:last-child {
    margin-top: 4em;
  }
}
#top-container .topics .topics-wrap .topics-contents h2 {
  font-size: var(--f32);
  font-weight: 500;
  font-family: "Noto Serif JP";
  text-align: center;
  line-height: 1;
}
#top-container .topics .topics-wrap .topics-contents h2 span {
  font-size: var(--f16);
  color: #C89093;
  font-family: "M PLUS U";
  line-height: 1;
}
#top-container .topics .topics-wrap .topics-contents a {
  padding: 1em;
  display: flex;
  align-items: center;
}
#top-container .topics .topics-wrap .topics-contents a time {
  font-size: var(--f14);
  font-family: "M PLUS U";
  color: #A8A8A8;
}
#top-container .topics .topics-wrap .topics-contents a h3 {
  font-size: var(--f17);
  font-weight: 400;
}
#top-container .topics .topics-wrap .topics-contents .btn {
  margin: 2em auto 0 auto;
  padding: 0.5em 0;
  display: block;
}
@media screen and (max-width: 1024px) {
  #top-container .topics .topics-wrap .topics-contents .btn {
    padding: 0.8em 0;
  }
}
#top-container .topics .topics-wrap .topics-contents .news-list, #top-container .topics .topics-wrap .topics-contents .blog-list {
  margin-top: 2em;
}
@media screen and (max-width: 1024px) {
  #top-container .topics .topics-wrap .topics-contents .news-list, #top-container .topics .topics-wrap .topics-contents .blog-list {
    margin-top: 1em;
  }
}
#top-container .topics .topics-wrap .topics-contents .news-item, #top-container .topics .topics-wrap .topics-contents .blog-item {
  border-top: 1px solid #E1E1E1;
}
#top-container .topics .topics-wrap .topics-contents .news-item:last-child, #top-container .topics .topics-wrap .topics-contents .blog-item:last-child {
  border-bottom: 1px solid #E1E1E1;
}
#top-container .topics .topics-wrap .topics-contents .blog-list .blog-item {
  border-top: 1px solid #E1E1E1;
}
#top-container .topics .topics-wrap .topics-contents .blog-list .blog-item a {
  padding: 0.45em;
}
#top-container .topics .topics-wrap .topics-contents .blog-list .blog-item a figure {
  margin-right: 1em;
}
#top-container .topics .topics-wrap .topics-contents .blog-list .blog-item a figure img {
  width: 100px;
  height: 72px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  #top-container .topics .topics-wrap .topics-contents .blog-list .blog-item a figure img {
    width: 90px;
    height: 62px;
  }
}
#top-container .topics .topics-wrap .topics-contents .blog-list .blog-item a .blog-contents {
  width: calc(100% - 100px);
}
@media screen and (max-width: 1024px) {
  #top-container .topics .topics-wrap .topics-contents .blog-list .blog-item a .blog-contents {
    width: calc(100% - 90px);
  }
}
#top-container .topics .topics-wrap .topics-contents .blog-list .blog-item a .blog-contents h3 {
  line-height: 1.4;
}
#top-container .instagram-bnr {
  background: #fff;
  padding: 0 0 5em 0;
}
#top-container .instagram-bnr a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
#top-container .instagram-bnr picture {
  max-width: 700px;
  width: 90%;
  margin: 0 auto;
}
#top-container .instagram-bnr picture img {
  width: 100%;
}
#top-container .roop {
  background: #fff;
}
#top-container .roop .animation {
  position: relative;
  width: 100%;
  height: 460px;
  margin-top: -1px;
  background-repeat: repeat-x;
  background-size: cover;
  background-position: 0 0;
  animation-name: slide_img;
  animation-duration: 200s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@media screen and (max-width: 1024px) {
  #top-container .roop .animation {
    height: 320px;
  }
}
@media screen and (max-width: 768px) {
  #top-container .roop .animation {
    height: 260px;
  }
}
@media screen and (max-width: 480px) {
  #top-container .roop .animation {
    height: 200px;
  }
}
@keyframes slide_img {
  100% {
    background-position: 10000px 0;
  }
}
#top-container .roop .animation-img {
  position: absolute;
  top: 0%;
  right: 0%;
  left: 0%;
  bottom: 0%;
  width: 100%;
  height: 100%;
}
#top-container .roop .animation-ba {
  background-image: url("../images/roop-bg.webp");
  background-position: bottom;
  position: relative;
  z-index: 1;
}
#top-container .carender {
  background: #fff;
  padding: clamp(90px, 11vw, 120px) 0;
}
#top-container .carender p {
  text-align: center;
}
#top-container .carender .fc-left h2 {
  font-size: var(--f22);
  font-weight: 400;
}

#service-container {
  margin-top: 100px;
  padding-bottom: 5em;
}
@media screen and (max-width: 768px) {
  #service-container {
    margin-top: 60px;
    padding-bottom: 3em;
  }
}
#service-container .btn {
  margin: 2em auto 0 auto;
}
@media screen and (max-width: 480px) {
  #service-container .btn {
    margin: 1em auto 0 auto;
  }
}
#service-container .intro {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0 2.5em;
}
@media screen and (max-width: 480px) {
  #service-container .intro {
    padding: 0 1.5em;
  }
}
#service-container .intro2 {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 2.5em;
}
@media screen and (max-width: 480px) {
  #service-container .intro2 {
    padding: 0 1.5em;
  }
}
#service-container .intro2 span {
  color: #C89093;
  font-weight: 500;
}
#service-container .bold {
  color: #C89093;
  font-weight: 500;
}
#service-container .service-contents {
  width: min(90%, 1240px);
  margin: 0 auto;
  margin: 0 auto;
}
#service-container .service-contents .item-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 2em;
  gap: 2em;
}
@media screen and (max-width: 768px) {
  #service-container .service-contents .item-list {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 480px) {
  #service-container .service-contents .item-list {
    gap: 1em;
    margin-top: 1em;
  }
}
#service-container .service-contents .item-list .item-box a {
  display: block;
}
#service-container .service-contents .item-list .item-box a figure {
  background: #FAF9F8;
  padding: 1.5em;
  height: 360px;
}
@media screen and (max-width: 1240px) {
  #service-container .service-contents .item-list .item-box a figure {
    height: 28vw;
  }
}
@media screen and (max-width: 480px) {
  #service-container .service-contents .item-list .item-box a figure {
    padding: 0.5em;
    height: 40vw;
  }
}
#service-container .service-contents .item-list .item-box a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#service-container .service-contents .item-list .item-box a h4 {
  font-size: var(--f22);
  font-weight: 500;
  color: #8A4949;
  font-weight: 500;
  text-align: center;
  margin-top: 0.5em;
}
@media screen and (max-width: 1240px) {
  #service-container .service-contents .item-list .item-box a h4 {
    font-size: var(--f20);
  }
}
@media screen and (max-width: 1024px) {
  #service-container .service-contents .item-list .item-box a h4 {
    font-size: var(--f17);
  }
}
#service-container .service-contents .info {
  background: #FAF9F8;
  margin-top: 2em;
  padding: 2em;
}
@media screen and (max-width: 480px) {
  #service-container .service-contents .info {
    margin-top: 1em;
    padding: 1em;
  }
}
#service-container .service-contents .info dl {
  max-width: 920px;
  width: 100%;
  margin: 0 auto;
}
#service-container .service-contents .info dl .info-item {
  border-bottom: 1px solid #E3CDCF;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #service-container .service-contents .info dl .info-item {
    flex-direction: column;
    align-items: flex-start;
    padding: 1em;
  }
}
#service-container .service-contents .info dl .info-item:last-child {
  border-bottom: none;
}
#service-container .service-contents .info dl .info-item dt, #service-container .service-contents .info dl .info-item dd {
  font-size: var(--f17);
  padding: 1.5em;
}
@media screen and (max-width: 768px) {
  #service-container .service-contents .info dl .info-item dt, #service-container .service-contents .info dl .info-item dd {
    width: 100%;
    padding: 0;
  }
}
#service-container .service-contents .info dl .info-item dt {
  color: #8A4949;
  font-weight: 500;
  width: 160px;
}
#service-container .service-contents .info dl .info-item dd {
  width: calc(100% - 160px);
}
#service-container .service-contents .info dl .info-item dd a {
  pointer-events: none;
}
@media screen and (max-width: 480px) {
  #service-container .service-contents .info dl .info-item dd a {
    pointer-events: all;
    text-decoration: underline;
  }
}
#service-container .service-contents .flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #service-container .service-contents .flex {
    flex-direction: column;
  }
}
#service-container .service-contents .flex .flex-txt {
  width: 57%;
}
@media screen and (max-width: 768px) {
  #service-container .service-contents .flex .flex-txt {
    width: 100%;
  }
}
#service-container .service-contents .flex .flex-txt .btn {
  margin: clamp(20px, 3vw, 30px) auto 0 0;
}
@media screen and (max-width: 768px) {
  #service-container .service-contents .flex .flex-txt .btn {
    margin: clamp(20px, 3vw, 30px) auto 0 auto;
  }
}
#service-container .service-contents .flex figure {
  width: 40%;
}
@media screen and (max-width: 768px) {
  #service-container .service-contents .flex figure {
    width: 100%;
    margin-top: 2em;
  }
}
#service-container .service-contents .flex figure img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

#hikkou-container {
  margin-top: 140px;
  padding-bottom: 5em;
}
@media screen and (max-width: 768px) {
  #hikkou-container {
    margin-top: 100px;
    padding-bottom: 3em;
  }
}

#price-container {
  padding-bottom: 5em;
}
@media screen and (max-width: 768px) {
  #price-container {
    padding-bottom: 3em;
  }
}
#price-container .price-contents .page-title-center {
  margin: clamp(65px, 11vw, 120px) 0 0 0;
}
#price-container .price-contents .price-list {
  display: grid;
}
#price-container .price-contents .price-list .price-box .sub-title {
  margin: 1.5em 0 0 0;
}
#price-container .price-contents .price-list .price-box dl .price-item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #E3CDCF;
  padding: 1em;
}
@media screen and (max-width: 768px) {
  #price-container .price-contents .price-list .price-box dl .price-item {
    flex-direction: column;
    align-items: flex-start;
  }
}
#price-container .price-contents .price-list .price-box dl .price-item:first-child {
  border-top: 1px solid #E3CDCF;
}
#price-container .price-contents .price-list .price-box dl .price-item dt, #price-container .price-contents .price-list .price-box dl .price-item dd {
  font-size: var(--f17);
  line-height: 1.4;
}
#price-container .price-contents .price-list .price-box dl .price-item dt {
  color: #8A4949;
  font-weight: 500;
  width: 160px;
}
@media screen and (max-width: 768px) {
  #price-container .price-contents .price-list .price-box dl .price-item dt {
    width: 100%;
  }
}
#price-container .price-contents .price-list .price-box dl .price-item dd {
  width: calc(100% - 160px);
}
@media screen and (max-width: 768px) {
  #price-container .price-contents .price-list .price-box dl .price-item dd {
    width: 100%;
  }
}
#price-container .price-contents .price-list .price-box dl .price-item dd span {
  font-size: var(--f14);
}
#price-container .price-contents table {
  width: 100%;
  margin-top: 2em;
}
@media screen and (max-width: 768px) {
  #price-container .price-contents table {
    margin-top: 1em;
  }
}
#price-container .price-contents table tr {
  border: 1px solid #E3CDCF;
}
#price-container .price-contents table th {
  background: #FBF5F5;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif !important;
  padding: 1em;
  color: #8A4949;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  line-height: 1.4;
}
#price-container .price-contents table th br {
  display: none;
}
@media screen and (max-width: 480px) {
  #price-container .price-contents table th br {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  #price-container .price-contents table th {
    padding: 0.5em;
    font-feature-settings: "palt";
  }
}
#price-container .price-contents table td {
  padding: 1em;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  #price-container .price-contents table td {
    padding: 0.5em;
    font-size: var(--f14);
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 480px) {
  #price-container .price-contents table .price-txt {
    width: 84px;
    letter-spacing: 0.001rem;
  }
}
#price-container .price-contents + .price-contents {
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  #price-container .price-contents + .price-contents {
    margin-top: 80px;
  }
}

#about-container {
  margin-top: 140px;
  padding-bottom: 5em;
}
@media screen and (max-width: 768px) {
  #about-container {
    margin-top: 100px;
    padding-bottom: 3em;
  }
}
#about-container .about-contents .greeting-txt img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#about-container .about-contents dl .info-item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #E3CDCF;
  padding: 1.5em;
}
@media screen and (max-width: 1024px) {
  #about-container .about-contents dl .info-item {
    padding: 1em;
  }
}
@media screen and (max-width: 768px) {
  #about-container .about-contents dl .info-item {
    flex-direction: column;
    align-items: flex-start;
  }
}
#about-container .about-contents dl .info-item:first-child {
  border-top: 1px solid #E3CDCF;
}
#about-container .about-contents dl .info-item dt, #about-container .about-contents dl .info-item dd {
  font-size: var(--f17);
  line-height: 1.4;
}
#about-container .about-contents dl .info-item dt {
  color: #8A4949;
  font-weight: 500;
  width: 160px;
}
@media screen and (max-width: 768px) {
  #about-container .about-contents dl .info-item dt {
    width: 100%;
  }
}
#about-container .about-contents dl .info-item dd {
  width: calc(100% - 160px);
}
#about-container .about-contents dl .info-item dd a {
  text-decoration: underline;
}
#about-container .about-contents dl .info-item dd .tel {
  pointer-events: none;
  text-decoration: none;
}
@media screen and (max-width: 480px) {
  #about-container .about-contents dl .info-item dd .tel {
    pointer-events: all;
    text-decoration: underline;
  }
}
@media screen and (max-width: 768px) {
  #about-container .about-contents dl .info-item dd {
    width: 100%;
  }
}
#about-container .about-contents dl .info-item dd span {
  font-size: var(--f14);
}
#about-container .about-contents + .about-contents {
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  #about-container .about-contents + .about-contents {
    margin-top: 80px;
  }
}

#blog-container {
  margin-top: 100px;
  padding-bottom: 5em;
}
@media screen and (max-width: 768px) {
  #blog-container {
    margin-top: 60px;
    padding-bottom: 3em;
  }
}
#blog-container .blog-wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  #blog-container .blog-wrap {
    flex-direction: column;
  }
}
#blog-container .blog-wrap .blog-contents {
  width: calc(100% - 240px - 5%);
}
@media screen and (max-width: 1024px) {
  #blog-container .blog-wrap .blog-contents {
    width: 100%;
  }
}
#blog-container .blog-wrap .blog-contents .search-title {
  background: #C89093;
  font-size: var(--f20);
  color: #fff;
  font-family: "Noto Serif JP";
  text-align: center;
  padding: 0.5em;
}
#blog-container .blog-wrap .blog-contents .blog-list .blog-item {
  border-top: 1px solid #E1E1E1;
}
#blog-container .blog-wrap .blog-contents .blog-list .blog-item:last-child {
  border-bottom: 1px solid #E1E1E1;
}
#blog-container .blog-wrap .blog-contents .blog-list .blog-item a {
  display: flex;
  align-items: center;
  padding: 0.45em;
}
#blog-container .blog-wrap .blog-contents .blog-list .blog-item a figure {
  margin-right: 1em;
}
#blog-container .blog-wrap .blog-contents .blog-list .blog-item a figure img {
  width: 100px;
  height: 72px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  #blog-container .blog-wrap .blog-contents .blog-list .blog-item a figure img {
    width: 90px;
    height: 62px;
  }
}
#blog-container .blog-wrap .blog-contents .blog-list .blog-item a .blog-contents {
  width: calc(100% - 100px);
}
@media screen and (max-width: 1024px) {
  #blog-container .blog-wrap .blog-contents .blog-list .blog-item a .blog-contents {
    width: calc(100% - 90px);
  }
}
#blog-container .blog-wrap .blog-contents .blog-list .blog-item a .blog-contents time {
  font-size: var(--f14);
  font-family: "M PLUS U";
  color: #A8A8A8;
}
#blog-container .blog-wrap .blog-contents .blog-list .blog-item a .blog-contents h3 {
  font-size: var(--f17);
  font-weight: 400;
  line-height: 1.4;
}
#blog-container .blog-wrap .topics-detail {
  width: calc(100% - 240px - 5%);
}
@media screen and (max-width: 1024px) {
  #blog-container .blog-wrap .topics-detail {
    width: 100%;
  }
}
#blog-container .blog-wrap .topics-detail time {
  font-size: var(--f14);
  font-family: "M PLUS U";
  color: #A8A8A8;
}
@media screen and (max-width: 480px) {
  #blog-container .blog-wrap .topics-detail time {
    font-size: var(--f13);
  }
}
#blog-container .blog-wrap .topics-detail .topics-wrap {
  padding: 1em 2em 2em 2em;
  border: 1px solid #E3CDCF;
}
@media screen and (max-width: 480px) {
  #blog-container .blog-wrap .topics-detail .topics-wrap {
    padding: 0.5em 1em 1em 1em;
  }
}
#blog-container .blog-wrap .topics-detail .topics-wrap .topics-contents {
  margin-top: 1em;
}
@media screen and (max-width: 480px) {
  #blog-container .blog-wrap .topics-detail .topics-wrap .topics-contents {
    margin-top: 0.5em;
  }
}
#blog-container .blog-wrap .topics-detail .topics-wrap .topics-contents p img[src*=typepad],
#blog-container .blog-wrap .topics-detail .topics-wrap .topics-contents p img[src*=emoji],
#blog-container .blog-wrap .topics-detail .topics-wrap .topics-contents p img[src*=typepad-emoji-for-tinymce] {
  display: inline !important;
  vertical-align: middle !important;
  margin: 0 2px !important;
  padding: 0 !important;
  box-shadow: none !important;
  border: none !important;
}
#blog-container .blog-wrap .topics-detail .topics-wrap .topics-contents .aligncenter {
  display: block !important;
  margin: 0.7em auto !important;
}
#blog-container .blog-wrap .topics-detail .topics-wrap .topics-contents p {
  margin: 0 0 20px;
}
#blog-container .blog-wrap .topics-detail .topics-wrap .topics-contents p a:has(img) {
  display: block;
}
#blog-container .blog-wrap .topics-detail .topics-wrap .topics-contents p a:has(.topi-pic) {
  display: inline;
}
#blog-container .blog-wrap .topics-detail .topics-wrap .topics-contents img {
  margin: 0.7em 0;
}
#blog-container .blog-wrap .topics-detail .topics-wrap .topics-contents .topi-pic {
  margin: 0;
  padding: 0;
  vertical-align: middle;
  display: inline;
}
#blog-container .blog-wrap .topics-detail .sub-title {
  border-top: 1px solid #E3CDCF;
  border-left: 1px solid #E3CDCF;
  border-right: 1px solid #E3CDCF;
  margin: 0;
}
#blog-container .blog-wrap .topics-detail .btn {
  margin: clamp(25px, 4vw, 40px) auto;
}
#blog-container .blog-wrap .sidebar {
  width: 240px;
  background: #FBF5F5;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 1024px) {
  #blog-container .blog-wrap .sidebar {
    width: 100%;
    margin-top: 3em;
  }
}
#blog-container .blog-wrap .sidebar h3 {
  background: #C89093;
  font-size: var(--f20);
  color: #fff;
  font-family: "Noto Serif JP";
  text-align: center;
  padding: 0.5em;
}
#blog-container .blog-wrap .sidebar .search {
  box-sizing: border-box;
  position: relative;
  border: 1px solid #999;
  background: #fff;
  padding: 7px 30px 4px 14px;
  border-radius: 50px;
  height: 3em;
  width: 90%;
  overflow: hidden;
  margin: 1em auto;
}
@media screen and (max-width: 1024px) {
  #blog-container .blog-wrap .sidebar .search {
    width: 240px;
    margin: 1em auto;
  }
}
@media screen and (max-width: 480px) {
  #blog-container .blog-wrap .sidebar .search {
    width: 90%;
    padding: 3px 30px 4px 14px;
  }
}
#blog-container .blog-wrap .sidebar .search::after {
  content: "";
  background: url(../images/search.svg) no-repeat;
  background-size: contain;
  position: absolute;
  width: 15px;
  height: 15px;
  right: 12px;
  top: 0;
  bottom: 0;
  margin: auto;
}
#blog-container .blog-wrap .sidebar .search input {
  width: 100%;
  border: none;
  height: 1.9em;
}
@media screen and (max-width: 480px) {
  #blog-container .blog-wrap .sidebar .search input {
    font-size: 18px;
  }
}
#blog-container .blog-wrap .sidebar .search input[type=submit] {
  cursor: pointer;
}
#blog-container .blog-wrap .sidebar .search input[type=text] {
  border: 1px solid #fff;
}
#blog-container .blog-wrap .sidebar .search input[type=text]:focus {
  border: 1px solid #fff;
  outline: 0;
}
#blog-container .blog-wrap .sidebar .archive-menu {
  border-top: 1px solid #E1E1E1;
}
#blog-container .blog-wrap .sidebar .archive-menu li {
  border-bottom: 1px solid #E1E1E1;
}
#blog-container .blog-wrap .sidebar .archive-menu li a {
  font-size: var(--f16);
  display: flex;
  align-items: center;
  padding: 1em;
}

.pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #F9F9F9;
  padding: 24px 40px;
  margin: 60px auto;
  position: relative;
}
.pagination ul li {
  margin-right: 2%;
  border: none;
}
.pagination ul li a {
  font-size: var(--f17);
  font-family: "M PLUS U";
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  height: 35px;
  width: 35px;
  transition: all ease 0.3s;
  background: #C89093;
  border-radius: 50px;
  padding: 0;
}
.pagination ul li .next, .pagination ul li .prev {
  color: #433F37 !important;
  background: none !important;
}
.pagination ul .page-active {
  font-size: var(--f17);
  font-family: "M PLUS U";
}
.pagination ul .next a, .pagination ul .prev a {
  color: #433F37;
  font-size: var(--f17);
  background: none;
  width: auto;
  font-family: "M PLUS U";
}
.pagination ul .next {
  position: absolute;
  right: 2%;
  top: 0;
  bottom: 0;
  margin: auto;
  height: -moz-fit-content;
  height: fit-content;
}
.pagination ul .prev {
  position: absolute;
  left: 2%;
  top: 0;
  bottom: 0;
  margin: auto;
  height: -moz-fit-content;
  height: fit-content;
}

#news-container {
  margin-top: 100px;
  padding-bottom: 5em;
}
@media screen and (max-width: 768px) {
  #news-container {
    margin-top: 60px;
    padding-bottom: 3em;
  }
}
#news-container .news-list .news-item {
  border-top: 1px solid #E1E1E1;
}
#news-container .news-list .news-item:last-child {
  border-bottom: 1px solid #E1E1E1;
}
#news-container .news-list .news-item a {
  padding: 1em;
  display: block;
}
#news-container .news-list .news-item a time {
  font-size: var(--f14);
  font-family: "M PLUS U";
  color: #A8A8A8;
}
#news-container .news-list .news-item a h3 {
  font-size: var(--f17);
  font-weight: 400;
}
#news-container .topics-detail {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  #news-container .topics-detail {
    width: 100%;
  }
}
#news-container .topics-detail time {
  font-size: var(--f14);
  font-family: "M PLUS U";
  color: #A8A8A8;
}
@media screen and (max-width: 480px) {
  #news-container .topics-detail time {
    font-size: var(--f13);
  }
}
#news-container .topics-detail .topics-wrap {
  padding: 1em 2em 2em 2em;
  border: 1px solid #E3CDCF;
}
@media screen and (max-width: 480px) {
  #news-container .topics-detail .topics-wrap {
    padding: 0.5em 1em 1em 1em;
  }
}
#news-container .topics-detail .topics-wrap .topics-contents {
  margin-top: 1em;
}
@media screen and (max-width: 480px) {
  #news-container .topics-detail .topics-wrap .topics-contents {
    margin-top: 0.5em;
  }
}
#news-container .topics-detail .topics-wrap .topics-contents p img[src*=typepad],
#news-container .topics-detail .topics-wrap .topics-contents p img[src*=emoji],
#news-container .topics-detail .topics-wrap .topics-contents p img[src*=typepad-emoji-for-tinymce] {
  display: inline !important;
  vertical-align: middle !important;
  margin: 0 2px !important;
  padding: 0 !important;
  box-shadow: none !important;
  border: none !important;
}
#news-container .topics-detail .topics-wrap .topics-contents .aligncenter {
  display: block !important;
  margin: 0.7em auto !important;
}
#news-container .topics-detail .topics-wrap .topics-contents p {
  margin: 0 0 20px;
}
#news-container .topics-detail .topics-wrap .topics-contents p a:has(img) {
  display: block;
}
#news-container .topics-detail .topics-wrap .topics-contents p a:has(.topi-pic) {
  display: inline;
}
#news-container .topics-detail .topics-wrap .topics-contents img {
  margin: 0.7em 0;
}
#news-container .topics-detail .topics-wrap .topics-contents .topi-pic {
  margin: 0;
  padding: 0;
  vertical-align: middle;
  display: inline;
}
#news-container .topics-detail .sub-title {
  border-top: 1px solid #E3CDCF;
  border-left: 1px solid #E3CDCF;
  border-right: 1px solid #E3CDCF;
  margin: 0;
}
#news-container .topics-detail .btn {
  margin: clamp(25px, 4vw, 40px) auto;
}

#faq-container {
  margin-top: 100px;
  padding-bottom: 5em;
}
@media screen and (max-width: 768px) {
  #faq-container {
    margin-top: 60px;
    padding-bottom: 3em;
  }
}
#faq-container .faq-list {
  display: grid;
  gap: 2em;
}
@media screen and (max-width: 480px) {
  #faq-container .faq-list {
    gap: 1em;
  }
}
#faq-container .faq-list .faq-item {
  border: 1px solid #E3CDCF;
}
#faq-container .faq-list .faq-item p {
  padding: 1em;
}
@media screen and (max-width: 480px) {
  #faq-container .faq-list .faq-item p {
    padding: 0.5em;
  }
}
#faq-container .faq-list .faq-item p a {
  text-decoration: underline;
}
#faq-container .faq-list .sub-title {
  margin: 0;
  border-bottom: 1px solid #E3CDCF;
}

#contact-container {
  margin-top: 100px;
  padding-bottom: 5em;
}
@media screen and (max-width: 768px) {
  #contact-container {
    margin-top: 60px;
    padding-bottom: 3em;
  }
}
#contact-container .sub-title {
  margin: 2em 0 0.5em 0;
}
#contact-container .contact-detail .contact-info {
  padding-left: 1.5em;
}
#contact-container .contact-detail .contact-info .info-item {
  list-style: disc;
}
#contact-container .contact-detail .privacy-list {
  display: grid;
  gap: 1.5em;
}
@media screen and (max-width: 480px) {
  #contact-container .contact-detail .privacy-list {
    gap: 1em;
  }
}
#contact-container .contact-detail .privacy-list .privacy-item dt {
  font-family: "Noto Sans JP" sans-serif;
  font-size: var(--f20);
  font-weight: 500;
  color: #8A4949;
}
@media screen and (max-width: 480px) {
  #contact-container .contact-detail .privacy-list .privacy-item dt {
    font-size: var(--f17);
  }
}
#contact-container .contact-detail .privacy-list .privacy-item dd {
  line-height: 1.4;
}
#contact-container .contact-form form {
  margin-top: 2em;
}
#contact-container .contact-form form h4 {
  font-family: "Noto Sans JP" sans-serif;
  font-size: var(--f22);
  font-weight: 500;
  color: #8A4949;
}
@media screen and (max-width: 1024px) {
  #contact-container .contact-form form h4 {
    font-size: var(--f17);
  }
}
#contact-container .contact-form form dl div {
  padding: 12px 0;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  #contact-container .contact-form form dl div {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (max-width: 480px) {
  #contact-container .contact-form form dl div {
    padding: 8px 0;
  }
}
#contact-container .contact-form form dl div dt, #contact-container .contact-form form dl div dd {
  font-family: "Noto Sans JP";
  color: #2E2E2E;
}
#contact-container .contact-form form dl div dt {
  width: 240px;
  font-size: var(--f17);
  font-weight: 500;
  line-height: 1.2;
}
@media screen and (max-width: 1024px) {
  #contact-container .contact-form form dl div dt {
    width: 100%;
    margin-bottom: 0.4em;
  }
}
#contact-container .contact-form form dl div dt span.hissu {
  font-family: "Noto Sans JP" sans-serif;
  color: #fff;
  background: #C89093;
  line-height: 1;
  font-size: var(--f13);
  padding: 4px 6px;
  margin: 4px 6px 0 0;
}
@media screen and (max-width: 1024px) {
  #contact-container .contact-form form dl div dt span.hissu {
    padding: 2px 6px;
  }
}
#contact-container .contact-form form dl div dt span {
  font-family: "Noto Sans JP" sans-serif;
  font-size: var(--f13);
  color: #8F8F8F;
  line-height: 1;
  letter-spacing: 0.001rem;
}
#contact-container .contact-form form dl div dt br {
  display: none;
}
#contact-container .contact-form form dl div dt .pc {
  display: block;
}
@media screen and (max-width: 1024px) {
  #contact-container .contact-form form dl div dt .pc {
    display: flex;
  }
}
#contact-container .contact-form form dl div dt .sp {
  display: block;
}
@media screen and (max-width: 1024px) {
  #contact-container .contact-form form dl div dt .sp {
    display: none;
  }
}
#contact-container .contact-form form dl div dd {
  width: calc(100% - 240px);
}
@media screen and (max-width: 1024px) {
  #contact-container .contact-form form dl div dd {
    width: 100%;
  }
}
#contact-container .contact-form form dl div dd input, #contact-container .contact-form form dl div dd textarea, #contact-container .contact-form form dl div dd select {
  width: 100%;
  font-size: var(--f17);
  padding: 16px 16px;
  background: #FAF9F8;
  border: 1px solid #ACA49C;
  box-sizing: border-box;
  border-radius: 3px;
  font-weight: 400;
}
@media screen and (max-width: 480px) {
  #contact-container .contact-form form dl div dd input, #contact-container .contact-form form dl div dd textarea, #contact-container .contact-form form dl div dd select {
    padding: 0.7em 1em;
  }
}
#contact-container .contact-form form dl div dd select {
  width: 280px;
  cursor: pointer;
}
@media screen and (max-width: 480px) {
  #contact-container .contact-form form dl div dd select {
    width: 200px;
  }
}
#contact-container .contact-form form dl div .select-wrap {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  flex-wrap: wrap;
  flex-direction: column;
}
#contact-container .contact-form form dl div .select-wrap::after {
  content: "";
  position: absolute;
  cursor: pointer;
  top: 24px;
  right: 16px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg);
}
@media screen and (max-width: 480px) {
  #contact-container .contact-form form dl div .select-wrap::after {
    top: 20px;
    width: 8px;
    height: 8px;
  }
}
#contact-container .contact-form form dl div .small-detail {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  #contact-container .contact-form form dl div .small-detail {
    flex-direction: column;
    align-items: flex-start;
  }
}
#contact-container .contact-form form dl div .small-detail p {
  width: 180px;
  font-weight: 500;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif !important;
}
#contact-container .contact-form form dl div .small-detail .wpcf7-form-control-wrap {
  width: calc(100% - 180px);
}
@media screen and (max-width: 1024px) {
  #contact-container .contact-form form dl div .small-detail .wpcf7-form-control-wrap {
    width: 100%;
  }
}
#contact-container .contact-form form dl div .small-wrap {
  display: flex;
  align-items: center;
}
#contact-container .contact-form form dl div .small-wrap input {
  width: 280px;
  cursor: pointer;
}
@media screen and (max-width: 480px) {
  #contact-container .contact-form form dl div .small-wrap input {
    width: 200px;
  }
}
#contact-container .contact-form form dl div .small-wrap p {
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif !important;
  font-weight: 500;
  margin-left: 8px;
}
#contact-container .contact-form form dl .title-top {
  align-items: flex-start;
}
#contact-container .contact-form form dl .file-wrap dd label {
  color: #656172;
}
#contact-container .contact-form form dl .file-wrap dd input {
  background: none;
  border: none;
  padding: 0;
  width: auto;
  font-weight: 400;
  color: #858585;
}
#contact-container .contact-form form .check {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
}
#contact-container .contact-form form .check label, #contact-container .contact-form form .check input {
  font-weight: 500;
  cursor: pointer;
  margin: 0 0 4px 0;
  font-size: var(--f17);
}
@media screen and (max-width: 768px) {
  #contact-container .contact-form form .check label, #contact-container .contact-form form .check input {
    line-height: 1.2;
  }
}
#contact-container .contact-form form .check label br, #contact-container .contact-form form .check input br {
  display: none;
}
@media screen and (max-width: 768px) {
  #contact-container .contact-form form .check label br, #contact-container .contact-form form .check input br {
    display: block;
  }
}
#contact-container .contact-form form .check input {
  width: 16px;
  height: 16px;
  margin-right: 4px;
}
#contact-container .contact-form form .tyuui {
  color: #A7A7A7;
  font-size: var(--f16);
  background: #FBF5F5;
  border: 1px solid #ACA49C;
  padding: 24px;
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 480px) {
  #contact-container .contact-form form .tyuui {
    padding: 1em;
  }
}
#contact-container .contact-form form .tyuui h3 {
  font-size: var(--f20);
  color: #8A4949;
  text-align: center;
  font-weight: 500;
  margin-bottom: 12px;
}
#contact-container .contact-form form .tyuui h3 br {
  display: none;
}
@media screen and (max-width: 768px) {
  #contact-container .contact-form form .tyuui h3 br {
    display: block;
  }
}
#contact-container .contact-form form .tyuui p {
  width: -moz-fit-content;
  width: fit-content;
  color: #341F20;
}
#contact-container .contact-form form .btn-group {
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 40px auto 0 auto;
}
#contact-container .contact-form form .btn-group input[type=submit] {
  border: none;
  font-size: var(--f17);
  font-weight: 400;
  -webkit-appearance: none;
  cursor: pointer;
  transition: all ease 0.5s;
  padding: 12px 77px;
  background: #C89093;
  color: #ffffff;
}
#contact-container .contact-form form .btn-group input[type=submit]:hover {
  background: #8A4949;
}
#contact-container .contact-form .wpcf7-list-item-label {
  margin: 0 24px 8px 0;
}
#contact-container .contact-form .wpcf7-not-valid-tip {
  font-size: var(--f13);
}
#contact-container .contact-form .wpcf7-response-output {
  font-size: var(--f20);
  text-align: center;
  color: #dc3232;
  font-weight: bold;
}
#contact-container .contact-form .wpcf7-spinner {
  position: absolute !important;
}
@media screen and (max-width: 768px) {
  #contact-container .contact-form .wpcf7-date {
    position: relative;
    padding-right: 36px !important; /* アイコンと文字が被らないように余白を確保 */
    height: 50px;
  }
  #contact-container .contact-form .wpcf7-date::after {
    content: "📅"; /* もし手持ちの画像があれば url(画像パス) に変更可能 */
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    pointer-events: none; /* アイコンをクリックしても下の入力欄が反応するようにする */
  }
}

#contents-404 {
  width: min(90%, 1240px);
  margin: 0 auto;
}
#contents-404 h2 {
  text-align: center;
  font-weight: 500;
  font-size: var(--f22);
}
@media screen and (max-width: 768px) {
  #contents-404 h2 {
    font-size: var(--f20);
  }
}
#contents-404 p {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #contents-404 p {
    margin-bottom: 3em;
  }
}/*# sourceMappingURL=style.css.map */