@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Italianno&family=Noto+Serif+JP:wght@200..900&display=swap");
@media screen and (max-width: 639px) {
  body {
    font-size: 14px !important;
  }
}

.min-ff {
  font-family: "Noto Serif JP", serif !important;
}

.en-ff {
  font-family: "Italianno", cursive !important;
  line-height: 1 !important;
}

@media screen and (max-width: 639px) {
  .blog h1,
.single h1 {
    font-size: 22px !important;
  }
  .blog h2,
.single h2 {
    font-size: 18px !important;
  }
  .blog h3,
.single h3 {
    font-size: 16px !important;
  }
  .blog h4,
.single h4 {
    font-size: 15px !important;
  }
  .blog h2.c-entry-summary__title {
    font-size: 16px !important;
  }
  h3.c-entry-summary__title {
    font-size: 16px !important;
  }
}
.c-prev-next-nav__item-title {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 500 !important;
}
@media screen and (max-width: 639px) {
  .c-prev-next-nav__item-title {
    font-size: 15px !important;
  }
}

@media screen and (max-width: 639px) {
  .p-related-posts.c-entry-aside h3 {
    font-size: 14px !important;
  }
}

.c-prev-next-nav__item-label {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 500 !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 500 !important;
}

h1.c-entry__title {
  font-size: 20px !important;
}
@media screen and (max-width: 639px) {
  h1.c-entry__title {
    font-size: 18px !important;
  }
}

@media screen and (max-width: 639px) {
  .sp-f14 {
    font-size: 14px !important;
  }
  .sp-f16 {
    font-size: 16px !important;
  }
  .sp-f18 {
    font-size: 18px !important;
  }
  .sp-f20 {
    font-size: 20px !important;
  }
  .sp-f22 {
    font-size: 22px !important;
  }
  .sp-tal {
    text-align: left !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .sp-tal {
    text-align: left !important;
  }
}
li.c-meta__item.c-meta__item--author {
  display: none !important;
}

li.c-meta__item.c-meta__item--published {
  font-weight: 400 !important;
}

h2.wp-block-heading {
  font-weight: 400 !important;
  font-family: "Noto Serif JP", serif !important;
}

.lh2 {
  line-height: 2 !important;
}

/*=============================================
# ページヘッダー
=============================================== */
.c-page-header[data-has-image=true] {
  height: clamp(250px, 62.5vw, 320px) !important;
}

.c-page-header {
  position: relative;
}
.c-page-header::before {
  content: "";
  width: 100%;
  height: 100%;
  display: inline-block;
  background-image: linear-gradient(150deg, rgb(205, 193, 217) 0%, rgb(175, 163, 191) 49%, rgb(252, 250, 244));
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.8;
  z-index: 1;
}

.c-page-header__content {
  z-index: 1;
}

.c-page-header__content h1.c-page-header__title {
  font-size: 1.15em !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  position: relative;
  text-align: center;
  margin-top: 2em !important;
}
@media screen and (max-width: 639px) {
  .c-page-header__content h1.c-page-header__title {
    font-size: 16px !important;
  }
}
.c-page-header__content h1.c-page-header__title::before {
  display: block;
  content: "";
  font-size: 3.6em;
  font-family: "Italianno", cursive;
  line-height: 1;
}
@media screen and (max-width: 639px) {
  .c-page-header__content h1.c-page-header__title::before {
    font-size: 3em;
  }
}

.page-id-42 .c-page-header__content h1.c-page-header__title::before {
  content: "Appraisal menu";
}

.page-id-44 .c-page-header__content h1.c-page-header__title::before {
  content: "About me";
}

.page-id-46 .c-page-header__content h1.c-page-header__title::before {
  content: "Faq";
}

.page-id-48 .c-page-header__content h1.c-page-header__title::before {
  content: "Voice";
}

.page-id-50 .c-page-header__content h1.c-page-header__title::before {
  content: "YouTube";
}

.page-id-50 .c-page-header__content h1.c-page-header__title::before {
  content: "YouTube";
}

.page-id-52 .c-page-header__content h1.c-page-header__title::before {
  content: "Reservation form";
}

.page-id-54 .c-page-header__content h1.c-page-header__title::before {
  content: "Contact form";
}

.blog .c-page-header__content h1.c-page-header__title::before {
  content: "Blog";
}

.category .c-page-header__content h1.c-page-header__title::before {
  content: "Category";
}

.page-id-216 .c-page-header__content h1.c-page-header__title::before {
  content: "Legal notice";
}

.page-id-56 .c-page-header__content h1.c-page-header__title::before {
  content: "Privacy policy";
}

.page-id-218 .c-page-header__content h1.c-page-header__title::before {
  content: "Terms of service";
}

.page-id-42 .c-page-header__bgimage > img {
  -o-object-position: 50% 65% !important;
     object-position: 50% 65% !important;
}

.smb-items__banner:active .smb-items__banner__figure,
.smb-items__banner:focus .smb-items__banner__figure,
.smb-items__banner:hover .smb-items__banner__figure {
  filter: brightness(100%);
}

.blog .l-contents__inner,
.single .l-contents__inner {
  margin-top: 3em !important;
}

/*=============================================
# ドロワー
=============================================== */
nav#drawer-nav {
  background: #b1a1c8 !important;
}

.c-drawer ul li a small {
  font-family: "Italianno", cursive !important;
  font-size: 2em !important;
  line-height: 1 !important;
  color: #ede7f3;
}
.c-drawer ul li a {
  display: flex;
  text-align: center;
  justify-content: space-between;
}
.c-drawer ul li a span {
  font-size: 16px !important;
  font-family: "Noto Serif JP", serif !important;
}

/*=============================================
# ヘッダー
=============================================== */
.header-btn-content {
  display: flex;
  gap: 2em;
  flex-wrap: wrap;
}
.header-btn-content .header-contact-btn {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  padding: 0.5em 3em;
  font-size: 1rem;
  background: #C1ADDD;
  text-decoration: none;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 0.5em;
  justify-content: center;
  transition: 0.3s;
}
.header-btn-content .header-contact-btn::before {
  content: "";
  width: 1.2em;
  height: 1.2em;
  background: url(https://kaiunkigakuai.com/wp-content/uploads/2025/05/mail-icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  margin-top: 4px;
}
.header-btn-content .header-contact-btn.btn2 {
  background: #A1C6BC;
}
.header-btn-content .header-contact-btn:hover {
  opacity: 0.8;
}

@media (min-width: 1024px) {
  .l-2row-header__row {
    padding: 0 !important;
  }
  .l-2row-header .p-global-nav .c-navbar__item > a {
    padding-top: 1em !important;
    padding-bottom: 1em !important;
    font-family: "Noto Serif JP", serif !important;
    font-weight: 400 !important;
    font-size: 1em !important;
  }
  .l-2row-header .p-global-nav .c-navbar__item > a:hover {
    color: #AFA3BF !important;
  }
  .l-2row-header .p-global-nav .c-navbar__item > a:active {
    color: #AFA3BF !important;
  }
  .l-2row-header__row.u-invisible-md-down {
    margin-top: 0 !important;
    max-width: 95%;
    margin: auto;
  }
  .l-header--sticky-lg {
    box-shadow: none;
  }
}
/*=============================================
# トップページ
=============================================== */
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .fv {
    --smb-section--min-height: 80vh !important;
  }
}
@media screen and (max-width: 639px) {
  .fv {
    --smb-section--min-height: 60vh !important;
  }
}

@media screen and (max-width: 639px) {
  .fv img {
    -o-object-position: 62% 50% !important;
       object-position: 62% 50% !important;
  }
}

.fv-title {
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.15);
  text-indent: -3.5em;
  padding-left: 3.5em !important;
  line-height: 1.6 !important;
  letter-spacing: 0.2em !important;
}
@media screen and (max-width: 639px) {
  .fv-title {
    font-size: 2.2em !important;
  }
}

.fv-text {
  padding-left: 13em !important;
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.15);
  letter-spacing: 0.1em !important;
  position: relative;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 639px) {
  .fv-text {
    font-size: 1.35em !important;
    padding-left: 5em !important;
  }
}
.fv-text::before {
  content: "";
  height: 1px;
  width: 12em;
  background: #fff;
  display: inline-block;
  position: absolute;
  left: 0;
}
@media screen and (max-width: 639px) {
  .fv-text::before {
    width: 4em;
  }
}

@media screen and (max-width: 639px) {
  .fv-contents {
    margin-top: 6em !important;
  }
}

.top-message-section p {
  text-align: center !important;
  font-size: 1.15em !important;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 639px) {
  .top-message-section p {
    font-size: 15px !important;
  }
}

@media screen and (min-width: 639px) and (max-width: 1023px) {
  .appraisal-menu-section .smb-section-with-bgimage__bgimage img {
    -o-object-position: 100% 50% !important;
       object-position: 100% 50% !important;
  }
}
@media screen and (max-width: 639px) {
  .appraisal-menu-section .smb-section-with-bgimage__bgimage img {
    -o-object-position: 100% 50% !important;
       object-position: 100% 50% !important;
  }
}

@media screen and (min-width: 1024px) {
  .menu-item1.c-row__col {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}
.menu-item .smb-items__item__body {
  outline: 1px solid #EBE5D9;
  outline-offset: -8px !important;
}

.arrow-button a {
  justify-content: space-between;
  position: relative;
  transition: 0.3s;
  letter-spacing: 0.1em !important;
  font-family: "Noto Serif JP", serif !important;
}
.arrow-button a::before {
  content: "";
  position: absolute;
  top: calc(50% + 4px);
  right: 1.5em;
  transform: translateY(calc(-50% - 6px)) rotate(44deg);
  width: 5px;
  height: 1px;
  background-color: #fff;
  transition: 0.3s;
}
.arrow-button a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
  width: 26px;
  height: 1px;
  background-color: #fff;
  transition: 0.3s;
}
@media screen and (max-width: 639px) {
  .arrow-button a::after {
    width: 18px;
  }
}
.arrow-button a:hover {
  background: #D4C9E2;
}
.arrow-button a:hover::before, .arrow-button a:hover::after {
  right: 1.2em;
}

.smb-btn:hover {
  filter: none;
}

.voice-item-title {
  position: relative;
}
@media screen and (max-width: 639px) {
  .voice-item-title {
    font-size: 16px !important;
  }
}
.voice-item-title::after {
  content: "";
  background: #CDC1D9;
  height: 1px;
  width: 64px;
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: -0.8em;
}

.voice-item {
  padding: 4em 4.5em 3em !important;
  position: relative;
}
@media screen and (max-width: 639px) {
  .voice-item {
    padding: 3em 2.5em 2em !important;
  }
}
.voice-item::before {
  content: "";
  width: 4em;
  height: 6em;
  display: inline-block;
  background: #fff;
  position: absolute;
  left: -2px;
  top: -2px;
  z-index: 1;
}
@media screen and (max-width: 639px) {
  .voice-item::before {
    width: 4em;
    height: 6em;
    left: -24px;
    top: -4px;
  }
}
.voice-item::after {
  content: "";
  background: url(https://kaiunkigakuai.com/wp-content/uploads/2025/05/voice-flower.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 21em;
  height: 21em;
  display: inline-block;
  transform: rotateZ(28deg);
  position: absolute;
  right: -7.5em;
  bottom: -6.5em;
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .voice-item::after {
    right: -5.5em;
  }
}
@media screen and (max-width: 639px) {
  .voice-item::after {
    width: 16em;
    height: 16em;
    right: -5em;
    bottom: -5.5em;
  }
}

.voice-section .arrow-button {
  margin-top: 4em !important;
}

.top-about-img img {
  aspect-ratio: 3/3.5 !important;
  -o-object-position: 58% 50% !important;
     object-position: 58% 50% !important;
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .top-about-img img {
    width: 60% !important;
  }
}
@media screen and (max-width: 639px) {
  .top-about-img img {
    width: 70% !important;
  }
}

.top-about-section .smb-section__background {
  width: 70%;
  right: 0 !important;
  left: auto !important;
  top: 9em !important;
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .top-about-section .smb-section__background {
    width: 80%;
  }
}
.top-about-section .smb-section__background::before {
  content: "";
  width: 52%;
  height: 76%;
  display: inline-block;
  background: url(https://kaiunkigakuai.com/wp-content/uploads/2025/05/about-back.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0.1;
}
@media screen and (max-width: 639px) {
  .top-about-section .smb-section__background::before {
    width: 100%;
    height: 40%;
    left: 0;
    bottom: 0;
    opacity: 0.2;
    background-size: cover;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .top-about-section .smb-section__background::before {
    width: 78%;
    height: 45%;
    background-size: cover;
  }
}

.top-about-section .arrow-button a:hover,
.footer-contact .arrow-button a:hover {
  background: #B1CEC6;
}

@media screen and (min-width: 639px) and (max-width: 1023px) {
  .about-r-item {
    padding-top: 0 !important;
    padding-left: 6em !important;
  }
}
@media screen and (max-width: 639px) {
  .about-r-item {
    padding-top: 0 !important;
    padding-right: 0em !important;
    padding-left: 3em !important;
  }
}

@media screen and (min-width: 639px) and (max-width: 1023px) {
  .about-flex {
    gap: 4em !important;
  }
}
@media screen and (max-width: 639px) {
  .about-flex {
    gap: 3.5em !important;
  }
}

@media screen and (max-width: 639px) {
  .blog-section {
    padding-top: 6em !important;
  }
}

.footer-contact {
  font-size: 16px !important;
}
@media screen and (max-width: 639px) {
  .footer-contact {
    font-size: 14px !important;
  }
}
.footer-contact h2::before,
.footer-contact h2::after {
  display: none !important;
}

.l-footer-widget-area {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.l-footer-widget-area .c-fluid-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.l-footer {
  border-top: none !important;
}

@media screen and (max-width: 639px) {
  .footer-contact {
    margin-top: 1em !important;
  }
}
@media screen and (max-width: 639px) {
  .footer-contact .section-title h2 {
    font-size: 1.15em !important;
  }
}
@media screen and (max-width: 639px) {
  .footer-contact .arrow-button {
    margin-top: 2em !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .footer-contact .arrow-button {
    margin-top: 2em !important;
  }
}

.c-copyright--inverse {
  background-color: #AFA3BF;
  color: #fff;
}

/*=============================================
# footer
=============================================== */
.footer-nav {
  width: 1140px !important;
  max-width: 100% !important;
  margin: auto !important;
}

.footer-nav ul {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .footer-nav ul {
    justify-content: start !important;
    gap: 1em 0 !important;
  }
}
@media screen and (max-width: 639px) {
  .footer-nav ul {
    justify-content: left !important;
    flex-direction: column !important;
    margin-top: 1em !important;
  }
}
.footer-nav ul li {
  margin-top: 0 !important;
}
.footer-nav ul li a {
  padding: 1em 2em !important;
  display: inline-block !important;
}
@media screen and (max-width: 639px) {
  .footer-nav ul li a {
    padding: 0.5em 2em !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .footer-nav ul li a {
    padding: 0 2em !important;
  }
}
.footer-nav ul li a:hover {
  text-decoration: none !important;
  color: #AFA3BF !important;
}

.footer-sub-nav {
  margin-top: 3.5em !important;
  margin-bottom: 2.5em !important;
}
.footer-sub-nav ul {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center;
}
@media screen and (max-width: 639px) {
  .footer-sub-nav ul {
    gap: 12px 0 !important;
  }
}
.footer-sub-nav ul li {
  margin-top: 0 !important;
}
.footer-sub-nav ul li a {
  padding: 0 3em !important;
  border-left: 1px solid #a6a6a6;
  display: inline-block !important;
}
@media screen and (max-width: 639px) {
  .footer-sub-nav ul li a {
    font-size: 13px !important;
  }
}
.footer-sub-nav ul li a:hover {
  text-decoration: none !important;
  color: #AFA3BF !important;
}
.footer-sub-nav ul li:last-child a {
  border-right: 1px solid #a6a6a6;
}
@media screen and (max-width: 639px) {
  .footer-sub-nav ul li:first-child a {
    border-right: 1px solid #a6a6a6;
  }
}

/*=============================================
# 鑑定メニュー
=============================================== */
.menu-btn-box a {
  border-right: none !important;
  border-top: none !important;
  border-left: none !important;
  padding-left: 0 !important;
  padding-right: 3em !important;
  align-items: center !important;
  position: relative;
  transition: all 0.3s;
}
.menu-btn-box a:hover {
  transform: translateY(4px);
}
.menu-btn-box a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-left: 2px solid #ccbfe1;
  border-bottom: 2px solid #ccbfe1;
  transform: rotate(-45deg);
  position: absolute;
  right: 8px;
}

@media screen and (max-width: 639px) {
  .menu-btn-box {
    padding-top: 1em !important;
    padding-bottom: 1em !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .menu-btn-box {
    padding-top: 1em !important;
    padding-bottom: 1em !important;
  }
}
@media screen and (max-width: 639px) {
  .menu-btn-box .btn-flex {
    gap: 1em !important;
    justify-content: left;
  }
  .menu-btn-box .btn-flex .wp-block-snow-monkey-blocks-btn {
    flex: 1 1 auto !important;
  }
  .menu-btn-box .btn-flex .wp-block-snow-monkey-blocks-btn a {
    width: 100% !important;
    padding-right: 0 !important;
    justify-content: space-between !important;
    font-size: 13px !important;
  }
}

.menu-content-text p {
  line-height: 1.9 !important;
}

.menu-content-text p.en-ff {
  line-height: 1 !important;
}

.border-title {
  border-bottom: 1px solid #AFA3BF !important;
  padding-bottom: 0.5em !important;
}

.check-list li {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 639px) {
  .check-list li {
    align-items: start;
  }
}
.check-list li::before {
  content: "" !important;
  background: url(https://kaiunkigakuai.com/wp-content/uploads/2025/05/Icon-akar-check-box.png);
  background-repeat: no-repeat !important;
  background-size: contain !important;
  width: 1em !important;
  height: 1em !important;
}
@media screen and (max-width: 639px) {
  .check-list li::before {
    margin-top: 6px;
  }
}

.check-list-box {
  padding: 3em 6em 3em !important;
}
@media screen and (max-width: 639px) {
  .check-list-box {
    padding: 2em 1em 2em !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .check-list-box {
    padding: 3em 2em 3em !important;
  }
}

.check-list-box.check-list-box2 .border-title {
  border-bottom: 1px solid #C4BDB0 !important;
}
.check-list-box.check-list-box2 .check-list li::before {
  background: url(https://kaiunkigakuai.com/wp-content/uploads/2025/05/check-icon2.png);
}

@media screen and (max-width: 639px) {
  .menu-en-title {
    position: absolute;
    top: -0.5em;
    opacity: 0.4;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .menu-en-title {
    position: absolute;
    top: -0.3em;
    opacity: 0.4;
  }
}

.menu-box2 {
  padding: 4em 5em 4em !important;
}
@media screen and (max-width: 639px) {
  .menu-box2 {
    padding: 4em 1.5em 3em !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .menu-box2 {
    padding: 4em 2em 3em !important;
  }
}

@media screen and (max-width: 639px) {
  .menu-top-flex {
    gap: 1em !important;
    flex-direction: column !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .menu-top-flex {
    gap: 2.5em !important;
    flex-direction: column !important;
  }
}
@media screen and (max-width: 639px) {
  .menu-top-flex.menu-top-flex1 {
    gap: 2.5em !important;
  }
}

.icon-list li:before {
  content: "■";
  color: #CDC1D9;
}

.flow-item .c-row__col {
  padding-left: 1.6em !important;
  padding-right: 1.6em !important;
}
@media screen and (max-width: 639px) {
  .flow-item .c-row.c-row--margin {
    gap: 3em !important;
  }
}

/*=============================================
# about me
=============================================== */
.about-img img {
  aspect-ratio: 3/3.5 !important;
}
@media screen and (max-width: 639px) {
  .about-img img {
    width: 70% !important;
    margin: auto !important;
  }
}

.about-me-title {
  position: relative;
  margin-bottom: 2em !important;
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .about-me-title {
    font-size: 1.25em !important;
  }
}
.about-me-title::after {
  content: "";
  width: 83px;
  height: 1px;
  background: #AFA3BF;
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: -0.8em;
}

.about-me-section p {
  line-height: 2 !important;
  font-family: "Noto Serif JP", serif !important;
  letter-spacing: 0.1em !important;
}

@media screen and (min-width: 639px) and (max-width: 1023px) {
  .about-top-flex .about-img {
    flex: 1 1 30%;
  }
  .about-top-flex .about-img-right {
    flex: 1 1 45%;
  }
}

/*=============================================
# バナー
=============================================== */
.banner-item .smb-items__banner__title {
  font-size: 2.5em !important;
  line-height: 1 !important;
  font-family: "Italianno", cursive !important;
  letter-spacing: 0.1em !important;
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .banner-item .smb-items__banner__title {
    font-size: 1.6em !important;
  }
}
.banner-item .smb-items__banner__lede {
  font-size: 1em !important;
  font-family: "Noto Serif JP", serif !important;
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .banner-item .smb-items__banner__lede {
    font-size: 0.9em !important;
  }
}
@media screen and (max-width: 639px) {
  .banner-item .smb-items__banner__lede {
    font-size: 16px !important;
  }
}
.banner-item .smb-items__banner__body {
  outline-offset: -8px !important;
  outline: 1px solid #ffffff !important;
}
.banner-item .smb-items__banner:hover img {
  transform: scale(1.1) !important;
}
.banner-item .smb-items__banner__figure {
  overflow: hidden !important;
}
.banner-item .smb-items__banner__figure > img {
  transition: transform 0.6s ease !important;
}
.banner-item .smb-items__banner--wide:before {
  padding: 64.25% 0 0 !important;
}
@media screen and (max-width: 639px) {
  .banner-item .smb-items__banner--wide:before {
    padding: 58.25% 0 0 !important;
  }
}

/*=============================================
# faq
=============================================== */
.faq-section .faq-list .smb-accordion__item__title {
  background-color: transparent !important;
  font-size: 1.15em !important;
  border-top: 1px solid #EBE5D9;
  padding: 1.3em 2em 1.5em 4em !important;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 639px) {
  .faq-section .faq-list .smb-accordion__item__title {
    padding: 1.3em 1em 1.5em 2.5em !important;
    font-size: 15px !important;
  }
}
.faq-section .faq-list .smb-accordion__item__title::before {
  content: "Q";
  color: #C4BDB0;
  font-family: "Noto Serif JP", serif;
  font-size: 1.25em;
  position: absolute;
  left: 1.5em;
}
@media screen and (max-width: 639px) {
  .faq-section .faq-list .smb-accordion__item__title::before {
    left: 0.5em;
  }
}
.faq-section .faq-list .wp-block-snow-monkey-blocks-accordion-item:last-child {
  border-bottom: 1px solid #EBE5D9;
}
.faq-section .faq-list .smb-accordion__item {
  margin-top: 0 !important;
}
.faq-section .faq-list .wp-block-accordion-item-is-layout-constrained {
  background: #fff;
  padding: 1.5em 2em !important;
  margin: 0 2em 1.5em !important;
}
@media screen and (max-width: 639px) {
  .faq-section .faq-list .wp-block-accordion-item-is-layout-constrained {
    margin: 0 0.5em 1.5em !important;
  }
}
.faq-section .faq-list.faq-list2 .wp-block-accordion-item-is-layout-constrained {
  background: #FAF8F4;
}

/*=============================================
# youtube
=============================================== */
.youtube-section {
  position: relative;
}
.youtube-section::before {
  content: "";
  background: url(https://kaiunkigakuai.com/wp-content/uploads/2025/05/profile-back-scaled.jpeg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 734px;
  height: 410px;
  transform: rotate(32deg);
  position: absolute;
  left: 50%;
  transform: translateX(-50%) rotate(22deg);
  top: 5em;
  opacity: 0.2;
}

.point-box {
  border-top: 1px solid #BABABA;
  border-bottom: 1px solid #BABABA;
  padding: 2em 0 !important;
}
@media screen and (max-width: 639px) {
  .point-box {
    flex-flow: column !important;
    gap: 1.5em !important;
    padding-top: 3em !important;
    padding-bottom: 3em !important;
  }
}

.dot-list li {
  margin-top: 8px !important;
  padding-left: 4px !important;
}
.dot-list li::marker {
  color: #C4B4D9;
}

.flex-box .d-title {
  border-right: 1px solid #EBE5D9 !important;
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .flex-box .d-title {
    --smb--flex-basis: 15% !important;
  }
}
@media screen and (max-width: 639px) {
  .flex-box .d-title {
    border: none !important;
    border-bottom: 1px solid #EBE5D9 !important;
    padding-bottom: 1em !important;
    padding-top: 0 !important;
  }
}

.d-flex-gap {
  gap: 2em !important;
}
@media screen and (max-width: 639px) {
  .d-flex-gap {
    gap: 2em !important;
    padding: 0 2em !important;
  }
}

/*=============================================
# フォーム
=============================================== */
.scroll-contents {
  height: 250px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 2em;
  overflow: auto;
  margin: 0px auto;
  background: #ffffff;
}

form[data-screen=confirm] .kiyaku {
  display: none;
}

.form-section button.smf-button-control__control {
  border-radius: 0 !important;
  letter-spacing: 0.1em !important;
  font-size: 1em !important;
  padding: 0.6em 3.5em !important;
}

/*=============================================
# ボタンパターン
=============================================== */
.btn-pattern .arrow-button2 a {
  justify-content: space-between;
  position: relative;
  transition: 0.3s;
  letter-spacing: 0.1em !important;
  font-family: "Noto Serif JP", serif !important;
}
.btn-pattern .arrow-button2 a::before {
  content: "";
  position: absolute;
  top: calc(50% + 4px);
  right: 1.5em;
  transform: translateY(calc(-50% - 6px)) rotate(44deg);
  width: 5px;
  height: 1px;
  background-color: #fff;
  transition: 0.3s;
}
.btn-pattern .arrow-button2 a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
  width: 26px;
  height: 1px;
  background-color: #fff;
  transition: 0.3s;
}
@media screen and (max-width: 639px) {
  .btn-pattern .arrow-button2 a::after {
    width: 18px;
  }
}
.btn-pattern .arrow-button2 a:hover::before, .btn-pattern .arrow-button2 a:hover::after {
  right: 1.2em;
}

.btn-pattern span.smb-btn__label {
  font-weight: 500 !important;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.15) !important;
}
.btn-pattern .arrow-button2 a:hover {
  opacity: 0.9 !important;
}