@charset "UTF-8";
/* A Modern CSS Reset */
* {
  margin: 0;
  padding: 0;
}

*,
::before,
::after {
  border-style: solid;
  box-sizing: border-box;
  border-width: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  line-height: 1.5;
  text-rendering: optimizeSpeed;
}

ul,
ol {
  list-style: none;
}

a {
  color: inherit;
  background-color: transparent;
  text-decoration: none;
  text-decoration-skip-ink: auto;
}

address {
  font-style: initial;
}

img {
  width: 100%;
  display: block;
}

input,
button,
select,
textarea {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  border-radius: 0;
  background: transparent;
  font: inherit;
  outline: none;
}

textarea {
  resize: none;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.h-font {
  font-family: "Hannari";
  text-decoration: none;
}

body {
  font-family: "meiryo", sans-serif;
  font-weight: 400;
}

body {
  color: #333;
}

span.orange {
  color: #ff5f00;
}

span.uppercase {
  text-transform: uppercase;
}

html {
  scroll-behavior: smooth;
}

html {
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.2558869702vw;
  }
}
@media (min-width: 1274px) {
  html {
    font-size: 16px;
  }
}

@media screen and (min-width: 768px) {
  a {
    transition: 0.3s;
  }
  a:hover {
    opacity: 0.7;
  }
}

.inner {
  width: 100%;
  padding-right: 1.875rem;
  padding-left: 1.875rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 1274px;
    padding-right: 3.875rem;
    padding-left: 3.875rem;
  }
}

.header__nav {
  display: none;
}

/* Header Styles */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.95);
  z-index: 1000;
}
@media screen and (min-width: 768px) {
  .header {
    width: 38.75rem;
    left: inherit;
    right: 0;
    border-radius: 0 0 0 10px;
  }
}

.header-container {
  margin: 0 auto;
  padding: 0 0 0 1.875rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header-logo img {
  height: auto;
  width: 12.5rem;
}

.header-menu-btn {
  width: 30px;
  height: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

.header-menu-line {
  width: 20px;
  height: 2px;
  background-color: #333;
  transition: all 0.3s ease;
  display: block;
}

.header-menu-btn.active .header-menu-line:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.header-menu-btn.active .header-menu-line:nth-child(2) {
  opacity: 0;
}

.header-menu-btn.active .header-menu-line:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -6px);
}

/* Navigation Menu */
.header-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: #e67669;
  transition: transform 0.3s ease;
  z-index: 999;
}

.header-nav.active {
  transform: translateX(0);
}

.header-nav-content {
  padding: 80px 40px 40px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.header-nav-close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 2rem;
  color: #fff;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-nav-list {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2rem;
}

.header-nav-link {
  display: block;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 500;
  padding: 1rem 0;
  transition: color 0.3s ease;
}

.header-nav-link:hover {
  color: rgba(255, 255, 255, 0.7);
}

.header-nav-contact {
  text-align: center;
  margin-top: 2rem;
}

.header-nav-whatsapp {
  display: inline-block;
  width: 50px;
  height: 50px;
}

.header-nav-whatsapp img {
  width: 5rem;
  height: auto;
}

.desktop-menu__items {
  display: flex;
  align-items: center;
}

.desktop-menu__item {
  font-size: 1.25rem;
  color: #e67669;
  font-weight: bold;
  padding-right: 1.875rem;
  padding-left: 1.875rem;
}

.desktop-menu__item.sns {
  position: relative;
  padding-left: 0;
}

.desktop-menu__item.sns::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 30px;
  background-color: #e67669;
  top: 30%;
  right: 0;
}

.desktop-menu__item.line {
  display: flex;
  align-items: center;
  font-size: 0.625rem;
  padding-left: 0;
}
@media screen and (min-width: 768px) {
  .desktop-menu__item.line {
    font-size: 0.75rem;
  }
}

.desktop-menu__item.line img {
  width: 3.125rem;
  height: auto;
  margin-right: 0.5rem;
}

.header-nav {
  width: 21.625rem;
  height: 31.25rem;
  overflow: scroll;
  border-radius: 0 0 0 40px;
}

.header-nav.open {
  z-index: 5;
}

@media screen and (min-width: 768px) {
  .header-nav.u-desktop {
    background-color: #f6f6f6;
    padding: 0.625rem 2rem;
  }
}

@media screen and (min-width: 768px) {
  .header-nav__items.items-desktop {
    display: flex;
    justify-content: right;
  }
}

.header-nav__item {
  position: relative;
}

.header-nav__item.sns a {
  display: flex;
  align-items: center;
}

.header-nav__item.sns a img {
  width: 3.125rem;
  height: auto;
  margin-right: 1.25rem;
}

.header-nav__item a {
  font-size: 1.25rem;
  line-height: 1.5;
  color: #fff;
  margin-right: 1rem;
  margin-left: 1rem;
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .header-nav__item.header-nav__item-pr a {
    padding-left: 3.875rem;
  }
}

@media screen and (min-width: 768px) {
  .header-nav__item:last-child a {
    border-right: 1px solid #b0b0b0;
  }
}

@media screen and (min-width: 768px) {
  .header-nav__item:first-child a::after {
    right: -0.375rem;
  }
}

@media screen and (min-width: 768px) {
  .header-nav__item:last-child a::after {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .header-nav__item a:hover::before {
    transform: scale(1, 1);
  }
}

@media screen and (min-width: 768px) {
  .header-logo.u-desktop {
    position: absolute;
    display: inline-block;
    z-index: 10;
    top: 1.25rem;
    left: 4rem;
  }
}

a.desktop-logo {
  font-size: 0.625rem;
  color: #396a9d;
  line-height: 1.4;
  font-weight: 400;
}

a.desktop-logo img {
  width: 10rem;
  height: auto;
  margin-top: 0.3125rem;
}

a.desktop-logo img.logo-2 {
  margin-top: 1.25rem;
}

.header__hamburger {
  padding: 1.4375rem 1.0625rem;
  background-color: #e67669;
  z-index: 1005;
}

.hamburger span {
  display: block;
  width: 2.75rem;
  height: 0.375rem;
  background-color: #ffffff;
  transition: 0.3s;
  border-radius: 10px;
}

.hamburger span:nth-child(2) {
  margin: 0.5rem 0;
}

.hamburger.open span:nth-child(1) {
  transform: translate(4px, -1px) rotate(45deg);
  transform-origin: left;
}

.hamburger.open span:nth-child(2) {
  opacity: 0;
}

.hamburger.open span:nth-child(3) {
  transform: translate(4px, 2px) rotate(-45deg);
  transform-origin: left;
}

.mv {
  position: relative;
  background-image: url(../image/mv/top-sp.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 64%;
  height: 28.875rem;
  margin-top: 3.5rem;
  padding-top: 11.25rem;
}
@media screen and (min-width: 768px) {
  .mv {
    background-image: url(../image/mv/top-pc.png);
    height: 37.5rem;
    margin-top: 9rem;
    padding-top: 12.75rem;
    background-size: 100% 37.5rem;
  }
}

.mv.section-mv {
  height: 15rem;
  padding-top: 5rem;
  background-color: #ffffff;
  background-size: 100% 15rem;
  padding-bottom: 14.0625rem;
}
@media screen and (min-width: 768px) {
  .mv.section-mv {
    height: 25rem;
    background-size: 100% 25rem;
    padding-top: 11.5rem;
  }
}

.mv__inner {
  text-align: center;
}

.mv__title {
  font-weight: 600;
  font-size: 1.5rem;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .mv__title {
    font-size: 2.5rem;
    line-height: 1.6;
  }
}

.mv__title.section-mv__title {
  font-weight: 700;
  font-size: 1.125rem;
  position: relative;
  width: 6.875rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .mv__title.section-mv__title {
    font-size: 1.5rem;
    width: 9rem;
  }
}

.mv__title.section-mv__title::before {
  position: absolute;
  content: "";
  width: 40px;
  height: 1px;
  background-color: #ffffff;
  top: 0.875rem;
  left: -3.4375rem;
}
@media screen and (min-width: 768px) {
  .mv__title.section-mv__title::before {
    height: 2px;
    top: 1.125rem;
    left: -3.4375rem;
    width: 2.5rem;
  }
}

.mv__title.section-mv__title::after {
  position: absolute;
  content: "";
  width: 40px;
  height: 1px;
  background-color: #ffffff;
  top: 0.875rem;
  right: -3.4375rem;
}
@media screen and (min-width: 768px) {
  .mv__title.section-mv__title::after {
    height: 2px;
    top: 1.125rem;
    right: -3.4375rem;
    width: 2.5rem;
  }
}

.mv__sub-title {
  font-weight: 600;
  font-size: 1.125rem;
  color: #ff5f00;
  padding-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .mv__sub-title {
    font-size: 1.5rem;
    padding-top: 1.5rem;
  }
}

.mv__btn-title {
  font-size: 1rem;
  color: #ffffff;
  padding-top: 7.375rem;
}
@media screen and (min-width: 768px) {
  .mv__btn-title {
    padding-top: 10.25rem;
  }
}

.mv__btn-title.mv__section-btn-title {
  padding-top: 5.25rem;
}
@media screen and (min-width: 768px) {
  .mv__btn-title.mv__section-btn-title {
    font-size: 1rem;
    padding-top: 8rem;
  }
}

.mv__btn-box.tel__btn-box {
  margin-top: 0.4375rem;
}
@media screen and (min-width: 768px) {
  .mv__btn-box.tel__btn-box {
    margin-top: 0.75rem;
  }
}

.mv__btn-box.tel__btn-box a {
  position: relative;
}
@media screen and (min-width: 768px) {
  .mv__btn-box.tel__btn-box a {
    font-size: 1.25rem;
  }
}

.mv__btn-box.tel__btn-box a::after {
  position: absolute;
  content: url(../image/common/tel-map.png);
  width: 1.25rem;
  height: 1.25rem;
  transform: scale(0.5);
  top: 0.4375rem;
  left: 2.5rem;
}
@media screen and (min-width: 768px) {
  .mv__btn-box.tel__btn-box a::after {
    transform: scale(0.55);
    top: 0.4375rem;
    left: 2.0625rem;
  }
}

.mv__btn-time.btn-time {
  font-size: 0.875rem;
  letter-spacing: 0.05rem;
  padding-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .mv__btn-time.btn-time {
    font-size: 1rem;
  }
}

.mv__btn-time.btn-time.mv__btn-time--text {
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  .mv__btn-time.btn-time.mv__btn-time--text {
    padding-top: 0.25rem;
  }
}

.mv__btn-time.btn-time.mv__btn-time--text.time-text-top {
  padding-top: 0.5625rem;
}

.mv__btn-time.btn-time span {
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0.3px;
}

.btn-box {
  text-align: center;
  margin-top: 2.3125rem;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .btn-box {
    margin-top: 2.4375rem;
    text-align: left;
    margin-left: 11.5rem;
    position: relative;
    top: -8.5rem;
  }
}

@media screen and (min-width: 768px) {
  li.safety__item.driver .btn-box {
    margin-top: 2.4375rem;
  }
}

.btn-box a {
  color: #ffffff;
  background-color: #e67669;
  padding: 1.125rem 3.4375rem;
  border-radius: 32px;
  letter-spacing: 0.04em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .btn-box a {
    padding: 1.4375rem 5.5625rem 1.5rem 4rem;
    font-size: 0.9375rem;
    font-weight: bold;
  }
}

.btn-box a::before {
  position: absolute;
  content: "➡︎";
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  color: #e67669;
  width: 1.5625rem;
  height: 1.5625rem;
  background-color: #fff;
  border-radius: 50%;
  right: 1.1875rem;
  padding-top: 2px;
  padding-left: 2px;
}

.btn-box a::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 7.5rem;
  height: 7.375rem;
  background-image: url(../image/common/circle01.png);
  background-size: 100% 100%;
  right: -1.8125rem;
  top: -5rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .btn-box a::after {
    right: -3.25rem;
    top: -1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .mv__btn-box.tel__btn-box.header-box {
    padding-top: 0;
    margin-top: 0;
  }
}

.safety__btn-insurance.btn-box {
  width: 15.0625rem;
  background-color: initial;
}

@media screen and (min-width: 768px) {
  .btn-box.safety__btn-text--5 {
    margin-top: 3.9375rem;
  }
}

.btn-box.safety__btn-text--5 a {
  padding: 0.8125rem 5.375rem;
}
@media screen and (min-width: 768px) {
  .btn-box.safety__btn-text--5 a {
    padding: 0.75rem 5rem;
  }
}

.safety__btn.btn-box a {
  position: relative;
  z-index: 1;
}

.safety__btn.btn-box a:before {
  position: absolute;
  content: "";
  background: #111111;
  height: 6.9282032303px;
  width: 8px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  transform: rotate(90deg);
  z-index: 5;
  top: 21.5px;
  right: 18px;
}
@media screen and (min-width: 768px) {
  .safety__btn.btn-box a:before {
    top: 1.34375rem;
    right: 1.125rem;
  }
}

.safety__btn-insurance.btn-box a:before {
  display: none;
}

.safety__btn.btn-box a:after {
  position: absolute;
  content: "";
  background: #ffffff;
  height: 18px;
  width: 18px;
  border-radius: 50%;
  z-index: 3;
  top: 16px;
  right: 14px;
}
@media screen and (min-width: 768px) {
  .safety__btn.btn-box a:after {
    top: 0.8rem;
    right: 0.875rem;
  }
}
@media screen and (min-width: 1230px) {
  .safety__btn.btn-box a:after {
    top: 1rem;
  }
}

.safety__btn-insurance.btn-box a:after {
  display: none;
}

.tel__btn-box {
  text-align: center;
}

.tel__btn-box a {
  font-weight: 700;
  font-size: 1.25rem;
  color: #ffffff;
  background-color: #ff5f00;
  padding: 0.4375rem 2.8125rem 0.625rem 4.5rem;
  border-radius: 4px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .tel__btn-box a {
    padding: 0.5625rem 2.625rem 0.5625rem 4.125rem;
  }
}

.tel__btn-box a::before {
  position: absolute;
  content: "";
  background: rgba(255, 255, 255, 0.2);
  height: 27.7128129211px;
  width: 28px;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  transform: rotate(270deg);
  top: 18px;
  right: 0px;
  border-radius: 4px;
  z-index: 3;
}

.top-section {
  margin-top: 8.4375rem;
}

.section__title-wrapper {
  background-color: #ff5f00;
  width: 15.625rem;
  position: relative;
  border-top-right-radius: 4px;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.2509803922);
  z-index: 9;
}
@media screen and (min-width: 768px) {
  .section__title-wrapper {
    width: 32rem;
  }
}

.section__title {
  font-size: 2.5rem;
  font-weight: 500;
  text-transform: capitalize;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  padding-left: 2.5625rem;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .section__title {
    font-size: 3.5rem;
    padding-top: 1.125rem;
    padding-bottom: 1rem;
    padding-left: 10rem;
  }
}

.section__title-wrapper::before {
  position: absolute;
  content: "";
  background: rgba(255, 255, 255, 0.2);
  height: 50.2294734195px;
  width: 3.125rem;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  transform: rotate(90deg);
  z-index: 8;
}
@media screen and (min-width: 768px) {
  .section__title-wrapper::before {
    height: 5.0067093656rem;
    width: 5rem;
  }
}

.section__sub-title-wrapper {
  position: relative;
  z-index: 7;
}

.section__sub-title-wrapper::before {
  position: absolute;
  content: "";
  width: 9.5rem;
  height: 6rem;
  background-color: #ffffff;
  box-shadow: 0px 1px 4.1px rgba(134, 134, 134, 0.2509803922);
  z-index: 3;
  top: -2.1875rem;
  left: 13.9375rem;
}
@media screen and (min-width: 768px) {
  .section__sub-title-wrapper::before {
    width: 16rem;
    height: 11rem;
    top: -3.4375rem;
    left: 28rem;
    box-shadow: none;
  }
}

.section__sub-title-wrapper::after {
  position: absolute;
  content: url(../image/taxy.png);
  transform: scale(0.3);
  width: 5.4375rem;
  height: 5.3125rem;
  z-index: 3;
  top: -3.4375rem;
  left: 14.9375rem;
}
@media screen and (min-width: 768px) {
  .section__sub-title-wrapper::after {
    width: 5rem;
    height: 4.575625rem;
    transform: scale(0.22);
    top: -2.25rem;
    left: 31.8125rem;
  }
}
@media screen and (min-width: 1024px) {
  .section__sub-title-wrapper::after {
    transform: scale(0.35);
  }
}

.section__sub-title {
  width: 15.625rem;
  font-weight: 500;
  font-size: 1.125rem;
  color: #ffffff;
  background-color: rgba(255, 154, 36, 0.8);
  padding-left: 2.6875rem;
  text-align: left;
  padding-top: 0.4375rem;
  padding-bottom: 0.4375rem;
  border-bottom-right-radius: 4px;
  box-shadow: 0px 4px 4px rgba(86, 86, 86, 0.2509803922);
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .section__sub-title {
    width: 32rem;
    font-size: 1.5rem;
    padding-top: 1.125rem;
    padding-bottom: 1.125rem;
    padding-left: 10rem;
  }
}

.policy__sub-title.section__sub-title {
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .section__flex-wrapper {
    display: flex;
    align-items: center;
    margin-top: -10px;
  }
}

.section-hero-content {
  position: relative;
}

@media screen and (min-width: 768px) {
  .section-hero-content.inner {
    padding-left: 8.4375rem;
  }
}

.section-hero-content::before {
  position: absolute;
  content: "";
  width: 5.625rem;
  height: 5.5rem;
  top: 0;
  left: 15.9375rem;
  background-image: url(../image/common/circle01.png);
  background-size: 100% 100%;
}
@media screen and (min-width: 768px) {
  .section-hero-content::before {
    width: 7.5rem;
    height: 7.375rem;
    top: 4.5625rem;
    left: 26.25rem;
    z-index: -1;
  }
}

.section-hero-title {
  font-family: "Oregano", cursive;
  font-style: oblique;
  color: #ffffff;
  font-size: 2.875rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .section-hero-title {
    color: #d9d8d8;
    font-size: 5rem;
    font-weight: 400;
  }
}

.section-sub-title {
  color: #396c9f;
  font-size: 1.875rem;
}
@media screen and (min-width: 768px) {
  .section-sub-title {
    font-size: 2.5rem;
    padding-left: 7.5rem;
  }
}

@media screen and (min-width: 768px) {
  .section-hero-title.service {
    font-style: normal;
    padding-left: 2.5rem;
  }
}

.section-hero-title.privacy-title {
  font-size: 2.6875rem;
}
@media screen and (min-width: 768px) {
  .section-hero-title.privacy-title {
    font-size: 3.75rem;
    font-style: normal;
  }
}

.section-hero-content.privacy-hero-content::before {
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .section-hero-content.privacy-hero-content::before {
    top: 3.5625rem;
    left: 29.0625rem;
    z-index: -1;
  }
}

.footer {
  padding-bottom: 2.9375rem;
}
@media screen and (min-width: 768px) {
  .footer {
    padding-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .footer-logo.u-desktop a {
    display: flex;
    align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .footer-logo.u-desktop a img {
    width: 7.1875rem;
    margin-right: 0.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .footer-logo.u-desktop a .footer-logo-text__wrapper img.logo-title {
    width: 13.4375rem;
  }
}

.footer-title {
  text-align: center;
  color: #396a9d;
  line-height: 1;
}

.footer-title img {
  width: 14.4375rem;
  margin: 0 auto;
  height: auto;
}

.footer-title span {
  font-size: 0.5625rem;
  line-height: 1.2222222222;
}
@media screen and (min-width: 768px) {
  .footer-title span {
    font-size: 0.625rem;
  }
}

.footer__logo a {
  width: 100%;
}

.footer-logo a img {
  width: 12.5rem;
  height: auto;
  margin: 0 auto;
}

.footer-logo a img.footer-title__logo {
  width: 12.5rem;
  height: auto;
  margin: 1.25rem auto 0;
}

.footer__text {
  font-size: 1rem;
  padding-top: 0.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer__text {
    padding-top: 1.5rem;
  }
}

.footer-nav-list {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .footer-nav-list {
    margin-top: 0;
  }
}

.footer-nav-item {
  text-align: center;
  color: #396a9d;
  font-size: 0.9375rem;
  margin-bottom: 0.625rem;
}
@media screen and (min-width: 768px) {
  .footer-nav-item {
    margin-bottom: 0;
  }
}

.footer-social a {
  width: 3.75rem;
  margin: 0 auto;
  display: block;
}

.footer-social {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .footer-social {
    margin-top: 0;
  }
}

.footer-social a img {
  width: 100%;
  height: auto;
}

.footer-copyright {
  font-size: 0.625rem;
  text-align: center;
  color: #396a9d;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .footer-copyright {
    margin-top: 3.75rem;
  }
}

.footer-nav__items {
  padding-top: 0.5rem;
  background-color: #333;
}
@media screen and (min-width: 768px) {
  .footer-nav__items {
    background-color: #d9d9d9;
    text-align: center;
    padding-top: 2rem;
    padding-bottom: 4.1875rem;
  }
}

.footer-nav__items-flex-mobile {
  display: flex;
  padding-top: 0.75rem;
}

.footer-nav__item {
  padding-left: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #cccccc;
}
@media screen and (min-width: 768px) {
  .footer-nav__item {
    margin: 4px 13px;
    display: inline-block;
    padding-left: initial;
    padding-bottom: initial;
    border-bottom: initial;
  }
}

.footer-nav__item.item-flex {
  padding-left: 1.766875rem;
}

.footer-nav__item:nth-child(n+2) {
  padding-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .footer-nav__item:nth-child(n+2) {
    padding-top: initial;
  }
}

.footer-nav__item.item-flex:nth-child(n+2) {
  padding-top: initial;
}

.footer-nav__item a {
  font-size: 1rem;
  position: relative;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .footer-nav__item a {
    color: #333;
  }
}

@media screen and (min-width: 768px) {
  .footer-nav__item a::before {
    position: absolute;
    content: "";
    width: 0.125rem;
    height: 0.625rem;
    background-color: #ff5f00;
    transform: rotate(-50deg);
    top: 0.25rem;
    left: -0.5rem;
  }
}

@media screen and (min-width: 768px) {
  .footer-nav__item a::after {
    position: absolute;
    content: "";
    width: 0.125rem;
    height: 0.625rem;
    background-color: #ff5f00;
    transform: rotate(50deg);
    top: 0.58125rem;
    left: -0.5rem;
  }
}

.footer-nav__item.item-flex a::before {
  position: absolute;
  content: "";
  width: 2px;
  height: 10px;
  background-color: #ff5f00;
  transform: rotate(-50deg);
  top: 0.5625rem;
  left: -0.5rem;
}

.footer-nav__item.item-flex a::after {
  position: absolute;
  content: "";
  width: 2px;
  height: 10px;
  background-color: #ff5f00;
  transform: rotate(50deg);
  top: 0.89375rem;
  left: -0.5rem;
}

@media screen and (min-width: 768px) {
  .footer-nav__container.u-desktop {
    width: 18.6875rem;
    display: grid;
    align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .footer-nav__container.u-desktop .footer-nav .footer-nav-list {
    display: flex;
    justify-content: space-between;
  }
}

/* Common Styles - 既存のcommon.cssでカバーされていない部分のみ */
/* Container */
.container {
  max-width: 375px;
  margin: 0 auto 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .container {
    max-width: inherit;
  }
}

.container.news-container {
  background-color: #fff;
  position: relative;
  border-radius: 20px;
  padding-top: 1.875rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 600px) {
  .container.news-container {
    max-width: initial;
  }
}
@media screen and (min-width: 768px) {
  .container.news-container {
    max-width: 940px;
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}

/* Section Title */
.section-title {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  color: #396b9e;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .section-title {
    font-size: 1.875rem;
  }
}

.section-title.top-staff {
  line-height: 1.3;
}

.section-title__decoration {
  width: 6.3125rem;
  margin-left: auto;
  margin-right: auto;
}

.section-title__decoration img {
  width: 100%;
  height: auto;
}

/* Buttons */
.btn-primary {
  display: inline-block;
  padding: 12px 24px;
  background-color: #e88585;
  color: #fff;
  border-radius: 25px;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
  transition: all 0.3s ease;
  border: 2px solid #e88585;
  width: 18.75rem;
}

.news-more .btn-primary {
  width: 16.25rem;
}
@media screen and (min-width: 768px) {
  .news-more .btn-primary {
    width: 18.75rem;
  }
}

.btn-primary:hover {
  background-color: #fff;
  color: #e88585;
}

.btn-box.about-more {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .btn-box.about-more {
    top: 0;
    margin-left: auto;
    text-align: center;
  }
}

.btn-box.about-more.top-plan {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .btn-box.about-more.top-plan {
    margin-top: 1.875rem;
  }
}

@media screen and (min-width: 768px) {
  .btn-box.about-more a {
    padding: 1rem;
  }
}

.btn-box.about-more a::after {
  content: none;
}

.btn-box.news-more a::after {
  content: none;
}

/* Fade In Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fade-in {
  animation: fadeInUp 0.6s ease-out;
}

/* Color Variables */
:root {
  --primary-color: #e88585;
  --accent-color: #f4a460;
  --text-color: #333333;
  --light-text: #666666;
  --background-light: #fff8f3;
  --green-accent: #90ee90;
}

.breadcrumbs {
  padding-top: 4.6875rem;
}

/*==================================================
スライダーのためのcss
===================================*/
.slider {
  position: relative;
  z-index: 1;
  /*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
  height: 90vh; /*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}

/*　背景画像設定　*/
.slider-item01 {
  background: url(../image/common/fv-img-01.jpg);
}

.slider-item02 {
  background: url(../image/common/fv-img-02.jpg);
}

.slider-item03 {
  background: url(../image/common/fv-img-03.jpg);
}

.slider.about-slider .slider-item01.slider-item {
  background-image: url(../image/about/news-img02.jpg);
  background-position: 100% 50%;
}

.slider-item {
  width: 100%; /*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
  height: 90vh; /*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
  background-repeat: no-repeat; /*背景画像をリピートしない*/
  background-position: center; /*背景画像の位置を中央に*/
  background-size: cover; /*背景画像が.slider-item全体を覆い表示*/
}
@media screen and (min-width: 768px) {
  .slider-item {
    background-position: 0% 0%; /*背景画像の位置を中央に*/
    height: 54.4375rem; /*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
  }
}

button.slick-prev.slick-arrow {
  display: none !important;
}

.about-content-slider img {
  width: 100%; /*スライダー内の画像を横幅100%に*/
  height: 16.4375rem;
  border-radius: 35px;
}
@media screen and (min-width: 768px) {
  .about-content-slider img {
    height: 18.75rem;
    border-radius: 20px;
  }
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.about-content-slider .slick-slide {
  margin: 0 1.5625rem; /*スライド左右の余白調整*/
}
@media screen and (min-width: 400px) {
  .about-content-slider .slick-slide {
    margin: 0 1.25rem; /*スライド左右の余白調整*/
  }
}
@media screen and (min-width: 768px) {
  .about-content-slider .slick-slide {
    margin: 0 1.25rem; /*スライド左右の余白調整*/
  }
}
@media screen and (min-width: 1024px) {
  .about-content-slider .slick-slide {
    margin: 0 1.25rem; /*スライド左右の余白調整*/
  }
}

.about-content-slider .slick-active,
.about-content-slider .slick-slide:has(+ .slick-active),
.about-content-slider .slick-slide:last-child {
  animation: none;
}

@media screen and (min-width: 768px) {
  .about-content-slider li:nth-child(2n) {
    margin-top: 30px;
  }
}

/*アコーディオン全体*/
.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 30px auto 0;
  counter-reset: num;
}
@media screen and (min-width: 768px) {
  .accordion-area {
    margin-top: 3.75rem;
  }
}

.accordion-area li {
  margin: 1.25rem 0;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .accordion-area li {
    margin: 3.125rem 0;
  }
}

@media screen and (min-width: 768px) {
  .accordion-area li:nth-child(3) {
    margin: 0;
  }
}

.accordion-area section {
  border-radius: 10px;
  width: 69%;
  margin: 0 auto;
  position: relative;
}

.accordion-area section::before {
  position: absolute;
  content: "Q" counter(num) ".";
  counter-increment: num;
  font-size: 0.9375rem;
  color: #396c9f;
  font-weight: 700;
  left: -18%;
  top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .accordion-area section::before {
    font-size: 1.5625rem;
    top: 0.875rem;
    left: -15%;
  }
}

/*アコーディオンタイトル*/
.title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 0.75rem;
  color: #396c9f;
  font-weight: 700;
  transition: all 0.5s ease;
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .title {
    font-size: 0.9375rem;
    padding-top: 1.3125rem;
    padding-bottom: 1.3125rem;
  }
}

/*アイコンの＋と×*/
.title::before,
.title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #396a9d;
}
@media screen and (min-width: 768px) {
  .title::before,
  .title::after {
    width: 28px;
  }
}

.title::before {
  top: 48%;
  right: -13%;
  transform: rotate(0deg);
}

.title::after {
  top: 48%;
  right: -13%;
  transform: rotate(90deg);
}

/*　closeというクラスがついたら形状変化　*/
.title.close::before {
  transform: rotate(45deg);
}

.title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box {
  display: none; /*はじめは非表示*/
}

.box p {
  font-size: 0.75rem;
  padding-bottom: 0.9375rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .box p {
    font-size: 0.9375rem;
  }
}

.box p::before {
  position: absolute;
  content: "A.";
  font-size: 0.9375rem;
  color: #396c9f;
  font-weight: 700;
  top: 0;
  left: -13%;
}
@media screen and (min-width: 768px) {
  .box p::before {
    font-size: 1.5625rem;
    left: -12%;
  }
}

.breadcrumbs {
  color: #e67669;
  font-size: 0.9375rem;
}

.breadcrumbs-inner span {
  color: #333333;
}

@media screen and (min-width: 768px) {
  .breadcrumbs.news-page {
    padding-top: 5.625rem;
  }
}

.breadcrumbs.single {
  padding-top: 2.8125rem;
}
@media screen and (min-width: 768px) {
  .breadcrumbs.single {
    padding-top: 5.625rem;
  }
}

/* ===========================
   トップに戻るボタン
   =========================== */
.scroll-to-top {
  position: fixed;
  right: 1.875rem;
  bottom: 1.875rem;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
}
.scroll-to-top.show {
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 768px) {
  .scroll-to-top {
    right: 2.5rem;
    bottom: 2.5rem;
  }
}

.scroll-to-top__btn {
  display: block;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.3s;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .scroll-to-top__btn {
    width: 8.75rem;
    height: 8.75rem;
  }
}
.scroll-to-top__btn:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}
.scroll-to-top__btn img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.625rem;
  animation: fly 2s ease-in-out infinite;
}

@keyframes fly {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}
/* ふわっとさせたい要素の共通設定 */
.fade-in {
  opacity: 0; /* 最初は透明 */
  transform: translateY(30px); /* 30px下に下げておく */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* JavaScriptでこのクラスが付与されたら表示される */
.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* TOP Page Styles */
/* Hero Section */
.hero {
  position: relative;
  height: 90vh;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .hero {
    height: 54.4375rem;
  }
}

@media screen and (min-width: 768px) {
  .hero::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../image/common/fv-deco_backgroundcolor.png);
    background-size: 100% 101%;
    bottom: 0;
    left: 0;
    z-index: 5;
  }
}

.hero-content {
  position: relative;
  z-index: 10;
  text-align: center;
  color: #fff;
  padding: 0 20px;
  opacity: 0;
  animation: heroContentFadeIn 5s ease-out forwards;
}
@keyframes heroContentFadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero-title {
  font-size: 1.25rem;
  position: absolute;
  bottom: 5.125rem;
  right: 1.75rem;
  width: 8.875rem;
  text-align: left;
  line-height: 1.8;
  text-decoration: underline;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .hero-title {
    width: 100%;
    font-size: 1.875rem;
    color: #396c9f;
    bottom: 7.5rem;
    right: inherit;
    left: 4rem;
    text-decoration: none;
  }
}

.hero-title.h-font {
  text-decoration: none;
}

/* News Section */
.news {
  margin: 40px 0 0;
  padding-top: 2.5rem;
  background-color: #fef9d4;
  position: relative;
}
@media screen and (min-width: 768px) {
  .news {
    padding-top: 5.5625rem;
  }
}

.news::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 12.5rem;
  height: 13.125rem;
  background-image: url(../image/top/circle02.png);
  background-size: 100% 100%;
  top: 0.125rem;
  left: -2.625rem;
}
@media screen and (min-width: 768px) {
  .news::before {
    width: 17.4375rem;
    height: 17.6875rem;
    top: 1.8125rem;
    left: 7%;
  }
}

@media screen and (min-width: 768px) {
  .news::after {
    bottom: -3.9375rem;
    right: 8%;
    position: absolute;
    content: "";
    display: inline-block;
    width: 16.9375rem;
    height: 16.9375rem;
    background-image: url(../image/top/circle03.png);
    background-size: 100% 100%;
  }
}

.news-list {
  padding-top: 1.875rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .news-list {
    padding-top: 3.1875rem;
  }
}

.news-item {
  background-color: #fff;
  border-radius: 15px;
  padding: 0 1.25rem 1.5625rem 1.8125rem;
}
@media screen and (min-width: 768px) {
  .news-item {
    padding-left: 6.25rem;
    display: flex;
    align-items: center;
  }
}

.news-item:last-child {
  border-bottom: none;
}

.news-date {
  font-size: 0.9375rem;
  font-weight: 700;
  display: block;
}
@media screen and (min-width: 768px) {
  .news-date {
    margin-right: 1.25rem;
    width: 6.25rem;
  }
}

.news-category {
  display: inline-block;
  padding: 0.1875rem 0;
  width: 6.25rem;
  text-align: center;
  background-color: #a8d588;
  color: #ffffff;
  font-size: 0.625rem;
  border-radius: 8px;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .news-category {
    margin-bottom: 0;
    margin-right: 2.5rem;
  }
}

.news-title {
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #333;
}
@media screen and (min-width: 768px) {
  .news-title {
    margin-bottom: 0;
  }
}

.news-excerpt {
  font-size: 0.875rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 0.5rem;
}

.news-link {
  font-size: 0.875rem;
  color: var(--primary-color);
  font-weight: 500;
}

.news-more {
  width: 16.25rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .news-more {
    top: 0;
    width: 18.75rem;
  }
}

/* About Section */
.about {
  padding: 3rem 0 3.125rem;
  background-color: #fef9d4;
}
@media screen and (min-width: 768px) {
  .about {
    padding-top: 6.25rem;
    padding-bottom: 5rem;
  }
}

.about-content {
  font-size: 1.25rem;
  color: #396c9f;
  line-height: 2;
  padding-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .about-content {
    padding-top: 0;
  }
}

.about-image {
  margin-bottom: 2rem;
  text-align: center;
  width: 19.6875rem;
}
@media screen and (min-width: 768px) {
  .about-image {
    width: 45rem;
    margin-bottom: 3.75rem;
  }
}

.about-image img {
  border-radius: 0 20px 20px 0;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .about-image img {
    border-radius: 0 0 100px 0;
  }
}

.about-content__text {
  margin-bottom: 2rem;
  font-size: 1.25rem;
  color: #396c9f;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .about-content__text {
    font-size: 1.5625rem;
    line-height: 2.3;
    padding-top: 2.5rem;
  }
}

.top.about .about-content.reverce p.about-content__text {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
@media screen and (min-width: 768px) {
  .top.about .about-content.reverce p.about-content__text {
    padding-left: 0;
    padding-right: 0;
  }
}

.top.about .about-content.reverce {
  margin-bottom: 1.875rem;
}

@media screen and (min-width: 768px) {
  .about-content__text.inner {
    padding-left: 0;
    padding-right: 0;
  }
}

.about-content__text.content-decoration {
  position: relative;
}

.about-content__text.content-decoration::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 8.125rem;
  height: 8rem;
  background-image: url(../image/common/circle01.png);
  background-size: 100% 100%;
  right: 1.875rem;
  bottom: -0.3125rem;
}
@media screen and (min-width: 768px) {
  .about-content__text.content-decoration::before {
    width: 12.1875rem;
    height: 12rem;
    right: -5.625rem;
    bottom: -7rem;
  }
}
@media screen and (min-width: 1390px) {
  .about-content__text.content-decoration::before {
    right: -6.875rem;
  }
}

@media screen and (min-width: 768px) {
  .about-content.reverce {
    display: flex;
    flex-direction: row-reverse;
    gap: 12.2%;
  }
}

.about-content.reverce .about-image {
  margin-right: 0;
  margin-left: auto;
}
@media screen and (min-width: 600px) {
  .about-content.reverce .about-image {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .about-content.reverce .about-image {
    width: 35rem;
    margin-left: 0;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .about-content.reverce.top .about-image {
    margin-right: 0;
  }
}

.about-content.reverce .about-image img {
  border-radius: 20px 0 0 20px;
}
@media screen and (min-width: 600px) {
  .about-content.reverce .about-image img {
    border-radius: 0 0 0 0;
  }
}
@media screen and (min-width: 768px) {
  .about-content.reverce .about-image img {
    border-radius: 100px 0 0 0;
  }
}

.about-content.reverce p.about-content__text {
  margin-bottom: 2rem;
  font-size: 0.9375rem;
  color: #396c9f;
  line-height: 1.5333333333;
  text-decoration: none;
  padding-right: 3.0625rem;
  padding-left: 3rem;
}
@media screen and (min-width: 768px) {
  .about-content.reverce p.about-content__text {
    margin-bottom: 3.125rem;
    padding-left: 0;
    padding-right: 0;
  }
}

.about-service__container {
  background-color: #fff;
  border-radius: 20px;
  margin-right: 1.875rem;
  margin-left: 1.875rem;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .about-service__container {
    margin-top: 7.5rem;
    width: 65rem;
    border-radius: 30px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
    position: relative;
    z-index: 10;
  }
}

@media screen and (min-width: 768px) {
  .about-service__container::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 16.9375rem;
    height: 16.9375rem;
    top: 0;
    left: 0;
    background-image: url(../image/common/circle03.png);
    background-size: 100% 100%;
    top: -4.375rem;
    left: -3.625rem;
    z-index: -1;
  }
}

.about-service-detail__container {
  padding-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .about-service-detail__container {
    display: flex;
  }
}

.about-service-detail__item {
  width: 15.625rem;
  margin: 0 auto;
  padding-bottom: 1.875rem;
}

.about-service-detail__item:last-child {
  padding-bottom: 0;
}

.about-service-detail__item img {
  width: 100%;
  height: auto;
}

.about-service-detail__item-text {
  color: #396a9d;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: bold;
}

.about-features.about {
  margin-bottom: 2rem;
  background-color: #fff;
  overflow-x: hidden;
}
@media screen and (min-width: 768px) {
  .about-features.about {
    margin-bottom: 0;
    padding-bottom: 3.75rem;
  }
}

.about-feature {
  margin-bottom: 1.5rem;
}

.about-feature-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--primary-color);
  margin-bottom: 0.5rem;
}

.about-feature-text {
  font-size: 0.875rem;
  color: #666;
}

@media screen and (min-width: 768px) {
  .about-item.u-desktop {
    display: flex;
    gap: 10%;
  }
}

/* Staff Section */
.staff {
  padding: 2.5rem 0 3.125rem;
}
@media screen and (min-width: 768px) {
  .staff {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

@media screen and (min-width: 600px) {
  .staff .container {
    max-width: initial;
  }
}

.information-section {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  background-image: url(../image/common/information_bg-img.jpg);
  background-size: 100% 100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .information-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
    padding-left: 7.5rem;
    padding-right: 7.5rem;
  }
}

.information-section::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.49);
  top: 0;
  right: 0;
}

.information-container {
  position: relative;
  border: 6px solid #fef9d4;
  border-radius: 20px;
  background-color: #fff;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .information-container {
    max-width: 1045px;
    padding: 3.75rem;
  }
}

.information-container.inner {
  margin-left: 1.875rem;
  margin-right: 1.875rem;
  width: inherit;
}
@media screen and (min-width: 768px) {
  .information-container.inner {
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (min-width: 768px) {
  .information-content {
    display: flex;
    padding-top: 3.75rem;
    gap: 3.25rem;
  }
}

.information-image {
  width: 15.625rem;
  padding-top: 1.875rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .information-image {
    width: 21.75rem;
    padding-top: 0;
    margin-right: inherit;
    margin-left: inherit;
  }
}

.information-image img {
  width: 100%;
  height: auto;
  border-radius: 16px;
}

.information-details {
  padding-top: 0.9375rem;
}
@media screen and (min-width: 600px) {
  .information-details {
    width: 25rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .information-details {
    padding-top: 0;
  }
}

.info-row {
  font-size: 0.625rem;
  line-height: 1.5;
  display: flex;
  padding-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .info-row {
    max-width: 32.8125rem;
    font-size: 1rem;
  }
}

.info-label {
  width: 34%;
}
@media screen and (min-width: 768px) {
  .info-label {
    width: 24%;
  }
}

.info-value {
  width: 66%;
}
@media screen and (min-width: 768px) {
  .info-value {
    width: 76%;
  }
}

.schedule-container {
  position: relative;
  border: 6px solid #fff;
  border-radius: 20px;
  background-color: #fef9d4;
  padding-top: 2.5rem;
  padding-bottom: 1.5625rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .schedule-container {
    padding: 3.75rem;
    margin-top: 5rem;
  }
}

.schedule-container.inner {
  margin-left: 1.875rem;
  margin-right: 1.875rem;
  width: inherit;
}
@media screen and (min-width: 500px) {
  .schedule-container.inner {
    max-width: 28.125rem;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 600px) {
  .schedule-container.inner {
    max-width: initial;
    margin-left: 1.875rem;
    margin-right: 1.875rem;
  }
}
@media screen and (min-width: 768px) {
  .schedule-container.inner {
    width: 65rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.schedule-main {
  font-size: 0.9375rem;
  color: #396a9d;
  line-height: 1.5333333333;
  font-weight: bold;
  text-align: center;
  margin-top: 2.5rem;
  padding-bottom: 1.875rem;
}
@media screen and (min-width: 768px) {
  .schedule-main {
    font-size: 1.25rem;
  }
}

.schedule-main .u-mobile p {
  font-size: 0.9375rem;
}

.schedule-main span {
  font-size: 0.625rem;
}
@media screen and (min-width: 768px) {
  .schedule-main span {
    font-size: 1.25rem;
  }
}

.schedule-note {
  font-size: 0.625rem;
  color: #396a9d;
  text-align: center;
  padding-bottom: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .schedule-note {
    font-size: 0.9375rem;
    line-height: 1.5333333333;
  }
}

.top-guidance-img {
  width: 100%;
  padding-top: 2.5rem;
}
@media screen and (min-width: 600px) {
  .top-guidance-img {
    width: 25rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .top-guidance-img {
    width: 50rem;
    margin-right: auto;
    margin-left: auto;
    padding-top: 3.75rem;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .top-guidance-img::before {
    position: absolute;
    content: "";
    width: 17.5rem;
    height: 16.875rem;
    display: inline-block;
    background-image: url(../image/common/circle04.png);
    background-size: 100% 100%;
    top: -3.75rem;
    left: -11.875rem;
    z-index: -1;
  }
}

@media screen and (min-width: 768px) {
  .top-guidance-img::after {
    position: absolute;
    content: "";
    width: 17.1875rem;
    height: 16.875rem;
    display: inline-block;
    background-image: url(../image/common/circle05.png);
    background-size: 100% 100%;
    bottom: -3.75rem;
    right: -10.375rem;
    z-index: -1;
  }
}

.top-guidance-img img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .top-guidance-img img {
    border-radius: 30px;
  }
}

.top-guidance-text__wrapper {
  position: relative;
  overflow-x: hidden;
  padding-bottom: 2.5rem;
}

.top-guidance-text {
  margin-top: 1.5625rem;
  padding: 0.9375rem 0.625rem;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  font-size: 0.9375rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .top-guidance-text {
    margin-top: 3.75rem;
    text-align: center;
    background-color: inherit;
  }
}

.top-guidance-text::before {
  position: absolute;
  content: "";
  width: 11.25rem;
  height: 10.5625rem;
  display: inline-block;
  background-image: url(../image/common/circle04.png);
  background-size: 100% 100%;
  top: -1.5625rem;
  left: -3.4375rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .top-guidance-text::before {
    content: none;
  }
}

.top-guidance-text::after {
  position: absolute;
  content: "";
  width: 11.25rem;
  height: 11.125rem;
  display: inline-block;
  background-image: url(../image/common/circle05.png);
  background-size: 100% 100%;
  bottom: -1.5625rem;
  right: -3.4375rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .top-guidance-text::after {
    content: none;
  }
}

.staff-list {
  margin-bottom: 2rem;
}

.staff-item {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid #eee;
}

.staff-item:last-child {
  border-bottom: none;
}

/* TOP Page Styles */
@keyframes heroContentFadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Staff Section */
.staff-list {
  margin-bottom: 2rem;
}

.staff-item {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid #eee;
}

.staff-item:last-child {
  border-bottom: none;
}

.staff-image {
  width: 80px;
  height: 80px;
  margin-right: 1rem;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
}

.staff-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: none;
}

.staff-info {
  flex: 1;
}

.staff-name {
  font-size: 1rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 0.25rem;
}

.staff-title {
  font-size: 0.875rem;
  color: #666;
}

.staff-more {
  text-align: center;
}

/* Service Introduction Section */
.service-intro {
  padding: 3rem 0;
  background-color: var(--background-light);
  text-align: center;
}

.service-intro-text {
  font-size: 0.875rem;
  line-height: 1.8;
  color: #666;
  margin-bottom: 2rem;
}

/* Contact Section */
.contact {
  padding: 3rem 0 0;
  background-image: url(../image/common/footer-backgroun-image.jpg);
  background-size: 290% 74%;
  background-repeat: no-repeat;
  background-position: top right;
}
@media screen and (min-width: 768px) {
  .contact {
    background-size: 100% 100%;
    padding-top: 7.125rem;
    padding-bottom: 1rem;
  }
}

.contact.footer-contact {
  background-image: none;
}
@media screen and (min-width: 768px) {
  .contact.footer-contact {
    background-image: url(../image/common/footer-backgroun-image.jpg);
  }
}

@media screen and (min-width: 768px) {
  .contact.top-contact {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .container.contact-container {
    width: 46.875rem;
    margin: 0 auto;
  }
}

.contact-title {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  color: #333;
  margin-bottom: 1rem;
}

.contact-text {
  font-size: 0.625rem;
  color: #396a9d;
  line-height: 1.6;
  padding-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .contact-text {
    font-size: 0.9375rem;
    padding-top: 3.75rem;
    font-weight: bold;
  }
}

@media screen and (min-width: 768px) {
  .contact-text.inner {
    padding-left: 0;
    padding-right: 0;
  }
}

.contact-methods {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .contact-methods {
    flex-direction: inherit;
    padding-top: 3.75rem;
  }
}

.contact-methods.inner {
  padding-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .contact-methods.inner {
    padding-left: 0;
    padding-right: 0;
  }
}

.contact-method {
  background-color: #fff;
  border-radius: 15px;
  padding: 2.5rem 1.625rem 2.5rem 1.6875rem;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.16);
}
@media screen and (min-width: 768px) {
  .contact-method {
    width: 22.5rem;
    padding: 2.5rem 3.0625rem;
  }
}

.contact-method-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-method-icon img {
  width: 2.25rem;
  height: auto;
  margin-right: 1rem;
}
@media screen and (min-width: 768px) {
  .contact-method-icon img {
    width: 2.5rem;
  }
}

.contact-method-content {
  text-align: center;
  margin-top: 2.5rem;
}

.contact-method-title {
  font-size: 1.25rem;
  font-weight: bold;
  color: #396a9d;
}

.contact-method-number {
  font-size: 1.875rem;
  font-weight: bold;
  color: #396a9d;
  margin-bottom: 1.25rem;
}

.contact-method-time {
  font-size: 0.9375rem;
  font-weight: bold;
  color: #396a9d;
  margin-bottom: 0.9375rem;
}

.contact-method-note {
  font-size: 0.625rem;
  color: #396a9d;
  margin-bottom: 0.25rem;
  text-align: left;
}

.contact-method-note.bold {
  font-weight: bold;
  text-align: center;
}

.contact-method-text {
  font-size: 0.625rem;
  color: #396a9d;
  margin-bottom: 0.25rem;
}

.qr-id {
  font-size: 0.9375rem;
  color: #396a9d;
  font-weight: bold;
}

.contact-method-qr .contact-text {
  padding-top: 0;
  font-weight: bold;
}

.contact-method-qr a {
  background-color: #fef9d4;
  padding: 1.875rem 2.6875rem;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 11.5625rem;
  margin-right: auto;
  margin-left: auto;
}

.contact-method-qr img {
  width: 6.25rem;
  height: auto;
}

.footer-contact.contact-method-qr {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .footer-contact.contact-method-qr {
    width: 11.625rem;
    display: block;
    margin-top: 0;
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (min-width: 768px) {
  .footer-contact.contact-method-qr img {
    width: 100%;
    height: auto;
  }
}

.contact-method-text {
  font-size: 0.875rem;
  color: #666;
  margin-bottom: 1rem;
}

.contact.footer-contact .contact-bg {
  display: none;
}
@media screen and (min-width: 768px) {
  .contact.footer-contact .contact-bg {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .container.footer-container {
    display: flex;
    padding-top: 6.25rem;
    padding-left: 4.0625rem;
    gap: 8vw;
  }
}
@media screen and (min-width: 1390px) {
  .container.footer-container {
    gap: 10vw;
  }
}
@media screen and (min-width: 1440px) {
  .container.footer-container {
    gap: 12vw;
  }
}

@media screen and (min-width: 768px) {
  .footer-nav__container.u-desktop .footer-nav .footer-nav-list:nth-child(2) {
    margin-top: 0.4375rem;
  }
}

/* News Page Styles */
/* Page Header */
.page-header {
  position: relative;
  z-index: 100;
  margin-top: -2.6875rem;
}
@media screen and (min-width: 768px) {
  .page-header {
    margin-top: -12.5rem;
  }
}

.page-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 0.5rem;
}

.page-subtitle {
  font-size: 1rem;
  color: #666;
}

/* News Section */
.news-section {
  padding: 3rem 0;
  background-color: #fff;
}

.news-title a {
  font-size: 0.9375rem;
  color: #333;
  display: block;
}

.news-title a:hover {
  color: var(--primary-color);
}

.news-image {
  margin-bottom: 1rem;
  border-radius: 10px;
  overflow: hidden;
  background-color: #f5f5f5;
}

.news-image img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform 0.3s ease;
  max-width: none;
}

.news-item:hover .news-image img {
  transform: scale(1.05);
}

.news-read-more {
  font-size: 0.875rem;
  color: var(--primary-color);
  font-weight: 500;
  display: inline-block;
  padding: 0.5rem 1rem;
  border: 1px solid var(--primary-color);
  border-radius: 20px;
  transition: all 0.3s ease;
}

.news-read-more:hover {
  background-color: var(--primary-color);
  color: #fff;
}

/* Pagination */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.pagination-link {
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  color: #666;
  border: 1px solid #ddd;
  border-radius: 50%;
  font-size: 0.875rem;
  transition: all 0.3s ease;
}

.pagination-link:hover,
.pagination-link.active {
  background-color: var(--primary-color);
  color: #fff;
  border-color: var(--primary-color);
}

.pagination-next {
  padding: 0.5rem 1rem;
  color: var(--primary-color);
  border: 1px solid var(--primary-color);
  border-radius: 20px;
  font-size: 0.875rem;
  transition: all 0.3s ease;
}

.pagination-next:hover {
  background-color: var(--primary-color);
  color: #fff;
}

.pagination-dots {
  color: #999;
  font-size: 0.875rem;
}

.news-page.inner {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  margin-top: 0.625rem;
  background-image: url(../image/news/news_background-img-sp.jpg);
  background-repeat: repeat-y;
  background-size: 100% 50%;
}
@media screen and (min-width: 768px) {
  .news-page.inner {
    max-width: initial;
    background-image: url(../image/news/news_background-img-pc.jpg);
    background-repeat: initial;
    background-size: 100% 100%;
    padding: 5.625rem 3.75rem;
  }
}

.news-page .category-tabs {
  margin-top: 1.25rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem 1.25rem;
  width: 14.75rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .news-page .category-tabs {
    margin-top: 2.5rem;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 2.1875rem;
    width: 33.75rem;
  }
}

.news-page .category-tabs a {
  width: 6.75rem;
  height: 2rem;
  border-radius: 10px;
  background-color: #a8d588;
  color: #ffffff;
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.news-page .news-item__container {
  padding: 1.25rem;
  border-radius: 10px;
  filter: drop-shadow(0px 3px 10px #d9d8d8);
  background-color: #fff;
  width: 19.6875rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .news-page .news-item__container {
    width: 315px;
    max-width: initial;
  }
}

.news-page .news-item__container:nth-child(n+2) {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .news-page .news-item__container:nth-child(n+2) {
    margin-top: 0;
  }
}

.news-page .news-thumbnail img {
  border-radius: 10px;
}

.news-page .news-meta {
  display: flex;
  gap: 0.9375rem;
  margin-top: 0.9375rem;
}

.news-page .news-meta .news-date {
  font-size: 1.0625rem;
}

.news-page .news-meta .news-category {
  margin-bottom: 0;
  font-size: 0.75rem;
  width: 6.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: initial;
}

.news-page .news-title {
  font-size: 0.9375rem;
  color: #396a9d;
  font-weight: 700;
  margin-top: 0.75rem;
  margin-bottom: 0;
}

.news-page .news-excerpt {
  margin-top: 0.625rem;
  font-size: 0.625rem;
  line-height: 1.6;
  margin-bottom: 0;
}

.news-page .pagination {
  display: block;
}

/* ===========================
   ページネーション
   =========================== */
.news-page .pagination {
  margin-top: 60px;
  text-align: center;
}

.news-page .pagination ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .news-page .pagination ul {
    gap: 1.25rem;
  }
}

.news-page .pagination li {
  display: inline-block;
}

.news-page .pagination a,
.news-page .pagination span {
  padding: 0.8125rem 0.75rem;
  width: 3.125rem;
  font-size: 0.9375rem;
  background-color: #fff;
  color: #333;
  border-radius: 50%;
  font-weight: 700;
  display: block;
}
@media screen and (min-width: 768px) {
  .news-page .pagination a,
  .news-page .pagination span {
    padding: 0.625rem 0.9375rem;
    width: 3.75rem;
    padding: 0.9375rem 0.75rem;
    font-size: 1.25rem;
  }
}

.news-page .pagination a.next.page-numbers,
.news-page .pagination a.prev.page-numbers {
  background-color: initial;
  text-decoration: underline;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .news-page .pagination a.next.page-numbers,
  .news-page .pagination a.prev.page-numbers {
    font-size: 0.9375rem;
  }
}

.news-page .pagination a.next.page-numbers::before {
  position: absolute;
  content: "➡︎";
  font-size: 0.9375rem;
  font-weight: 700;
  color: #e67669;
  right: -12px;
  top: 50%;
  transform: translateY(-50%);
}

.news-page .pagination a.prev.page-numbers::before {
  position: absolute;
  content: "⬅︎";
  font-size: 0.9375rem;
  font-weight: 700;
  color: #e67669;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
}

/* ホバー時の色 */
.news-page .pagination a:hover {
  background-color: #90c31f;
  color: #fff;
}

/* 現在のページの色（重要！） */
.news-page .pagination .current,
.news-page .pagination span.current {
  background-color: #e67669;
  color: #fff;
  font-weight: bold;
  border-radius: 50%;
  cursor: default;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .news-page .pagination .current,
  .news-page .pagination span.current {
    font-size: 1.25rem;
  }
}

/* 前へ・次へボタン */
.news-page .pagination .pagination-prev,
.news-page .pagination .pagination-next {
  font-weight: bold;
}

/* 前へ・次へボタンのホバー */
.news-page .pagination a.pagination-prev:hover,
.news-page .pagination a.pagination-next:hover {
  background-color: #7ab01a;
}

/* 省略記号（...） */
.news-page .pagination .dots {
  background-color: transparent;
  color: #999;
  cursor: default;
}

.news-page .pagination .dots:hover {
  background-color: transparent;
}

.news-page .news-list {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .news-page .news-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5625rem;
    width: 700px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 1230px) {
  .news-page .news-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.5%;
    width: 1000px;
  }
}

/* ページネーションをグリッドの影響から除外 */
@media screen and (min-width: 768px) {
  .news-page .pagination {
    grid-column: 1/-1; /* グリッドの全列にまたがる */
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
  }
}

/* News Detail Page Styles */
/* Breadcrumb */
.breadcrumb {
  padding: 1rem 0;
  background-color: #f8f8f8;
  border-bottom: 1px solid #eee;
}

.breadcrumb-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.75rem;
}

.breadcrumb-link {
  color: #666;
  transition: color 0.3s ease;
}

.breadcrumb-link:hover {
  color: var(--primary-color);
}

.breadcrumb-separator {
  color: #999;
}

.breadcrumb-current {
  color: #333;
  font-weight: 500;
}

/* Article */
.article {
  padding: 2rem 0;
  background-color: #fff;
}

.article-header {
  text-align: center;
  margin-bottom: 2rem;
}

.article-date {
  font-size: 0.875rem;
  color: #999;
  margin-bottom: 0.5rem;
  display: block;
}

.article-category {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background-color: var(--green-accent);
  color: #333;
  font-size: 0.75rem;
  border-radius: 15px;
  margin-bottom: 1rem;
  font-weight: 500;
}

.article-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #333;
  line-height: 1.4;
}

.article-image {
  margin-bottom: 2rem;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.article-image img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  max-width: none;
}

.article-content {
  font-size: 0.875rem;
  line-height: 1.8;
  color: #333;
}

.article-content p {
  margin-bottom: 1.5rem;
}

.article-content h2 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--primary-color);
  margin: 2rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--primary-color);
}

.article-content h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #333;
  margin: 1.5rem 0 1rem;
}

.article-content ul {
  margin-bottom: 1.5rem;
  padding-left: 1rem;
}

.article-content li {
  position: relative;
  margin-bottom: 0.5rem;
  padding-left: 1rem;
}

.article-content li::before {
  content: "•";
  color: var(--primary-color);
  position: absolute;
  left: 0;
  font-weight: bold;
}

.price-table {
  background-color: var(--background-light);
  border-radius: 10px;
  padding: 1.5rem;
  margin: 1.5rem 0;
}

.price-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(232, 133, 133, 0.2);
}

.price-item:last-child {
  border-bottom: none;
}

.price-service {
  font-weight: 500;
  color: #333;
}

.price-amount {
  font-weight: 700;
  color: var(--primary-color);
  font-size: 1.125rem;
}

.article-contact {
  background-color: #f8f8f8;
  border-radius: 10px;
  padding: 1.5rem;
  margin: 2rem 0;
  text-align: center;
}

.article-contact h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 1rem;
}

.contact-phone,
.contact-line {
  font-size: 1rem;
  font-weight: 500;
  color: var(--primary-color);
  margin-bottom: 0.5rem;
}

.contact-note {
  font-size: 0.75rem;
  color: #666;
  margin-top: 1rem;
}

.article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 2rem 0;
  padding-top: 2rem;
  border-top: 1px solid #eee;
}

.tag {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background-color: #f0f0f0;
  color: #666;
  font-size: 0.75rem;
  border-radius: 15px;
  transition: all 0.3s ease;
}

.tag:hover {
  background-color: var(--primary-color);
  color: #fff;
}

.article-nav {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 2rem 0;
  padding: 2rem 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

.article-nav-prev,
.article-nav-next {
  display: block;
  padding: 1rem;
  background-color: #f8f8f8;
  border-radius: 10px;
  transition: all 0.3s ease;
}

.article-nav-prev:hover,
.article-nav-next:hover {
  background-color: var(--background-light);
  transform: translateY(-2px);
}

.article-nav-label {
  font-size: 0.75rem;
  color: #999;
  display: block;
  margin-bottom: 0.25rem;
}

.article-nav-title {
  font-size: 0.875rem;
  color: #333;
  font-weight: 500;
}

.back-to-list {
  text-align: center;
  margin: 2rem 0;
}

/* Related Articles */
.related-articles {
  padding: 3rem 0;
  background-color: var(--background-light);
}

.related-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.related-item {
  display: flex;
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.related-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

.related-image {
  width: 100px;
  height: 80px;
  flex-shrink: 0;
}

.related-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: none;
}

.related-content {
  padding: 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.related-date {
  font-size: 0.75rem;
  color: #999;
  margin-bottom: 0.25rem;
}

.related-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #333;
  line-height: 1.4;
}

/* About Page Styles */
.p-about .about-image img {
  height: 21.25rem;
  object-fit: cover;
}

.p-about .about-content__text.content-decoration::before {
  content: none;
}

@media screen and (min-width: 768px) {
  .about.p-about {
    padding-bottom: 0;
  }
}

@media screen and (min-width: 600px) {
  .about.p-about .container {
    max-width: initial;
  }
}

@media screen and (min-width: 600px) {
  .p-about .about-item.u-mobile .about-content {
    display: flex;
    align-items: center;
  }
}

@media screen and (min-width: 600px) {
  .about-item.u-mobile .about-content .about-content__text.content-decoration {
    padding-left: initial;
    padding-right: initial;
    width: initial;
  }
}

.mama-five-points .section-title {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .mama-five-points .section-title {
    font-size: 1.875rem;
    position: relative;
    max-width: 43.125rem;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .mama-five-points .section-title::before {
    position: absolute;
    content: "";
    width: 6.3125rem;
    height: 1.0625rem;
    background-image: url(../image/common/under-line.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    top: 55%;
    left: -2.1875rem;
  }
}

@media screen and (min-width: 768px) {
  .mama-five-points .section-title::after {
    position: absolute;
    content: "";
    width: 6.3125rem;
    height: 1.0625rem;
    background-image: url(../image/common/under-line.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    top: 55%;
    right: -2.1875rem;
  }
}

.mama-five-points .highlight-number {
  font-size: 3.1875rem;
}
@media screen and (min-width: 768px) {
  .mama-five-points .highlight-number {
    font-size: 5.625rem;
  }
}

.five-points-illustration {
  max-width: 300px;
  margin: 30px auto;
}
@media screen and (min-width: 768px) {
  .five-points-illustration {
    max-width: initial;
    margin: 0;
    width: 28.75rem;
  }
}

@media screen and (min-width: 768px) {
  .five-points-illustration img {
    width: 100%;
    height: auto;
  }
}

.intro-message {
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 40px;
}

.point-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.point-item {
  padding-bottom: 0.625rem;
  border-bottom: 1px dashed #396a9d;
}
@media screen and (min-width: 768px) {
  .point-item {
    padding-top: 1.875rem;
    padding-bottom: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .point-item:nth-child(1) {
    padding-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .point-item.border-none {
    border-bottom: none;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .point-item.border-none {
    border-bottom: none;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .point-item.border-none::before {
    position: absolute;
    content: "";
    width: 33.9375rem;
    height: 1px;
    border-bottom: 1px dashed #396a9d;
    bottom: 0;
    left: 0;
  }
}

.point-number {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.625rem;
  color: #396c9f;
}
@media screen and (min-width: 768px) {
  .point-number {
    font-size: 1.5625rem;
    margin-bottom: 0.3125rem;
  }
}

.point-text {
  font-size: 0.75rem;
  line-height: 1.8;
  color: #333333;
}
@media screen and (min-width: 768px) {
  .point-text {
    font-size: 0.9375rem;
    padding-left: 1.5625rem;
  }
}

.about .about-content.reverce {
  padding-top: 2.5rem;
  margin-bottom: 2.8125rem;
}
@media screen and (min-width: 600px) {
  .about .about-content.reverce {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}

@media screen and (min-width: 768px) {
  .about .about-content.reverce.top {
    padding-left: 0;
    padding-right: 0;
  }
}

.about .about-image img {
  height: 21.25rem;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .about .about-image img {
    height: 31rem;
  }
}

@media screen and (min-width: 768px) {
  .about .about-content.reverce.top .about-image img {
    height: 23.75rem;
  }
}

.about .about-content__text-container {
  margin-bottom: 1.75rem;
}
@media screen and (min-width: 600px) {
  .about .about-content__text-container {
    padding-left: 0;
    padding-right: 0;
  }
}

.about .about-content__title {
  color: #604c3f;
  font-size: 0.9375rem;
  line-height: 1.5333333333;
  margin-bottom: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about .about-content__title {
    font-size: 0.9375rem;
    margin-bottom: 0;
  }
}

.about .about-content.reverce p.about-content__text {
  padding-left: 0;
  padding-right: 0;
  font-size: 0.75rem;
  color: #333333;
  margin-bottom: 0.75rem;
}
@media screen and (min-width: 768px) {
  .about .about-content.reverce p.about-content__text {
    font-size: 0.9375rem;
    color: #396c9f;
    margin-bottom: 3.125rem;
  }
}

.about-content__logo-title {
  font-size: 0.9375rem;
  line-height: 1.5333333333;
  color: #396a9d;
  font-weight: 400;
  width: 13.125rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .about-content__logo-title {
    font-size: 1.5625rem;
    width: 21.875rem;
  }
}

.about-content__logo-img-wrapper {
  width: 11.25rem;
  margin-right: auto;
  margin-left: auto;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about-content__logo-img-wrapper {
    margin-top: 1.875rem;
    width: 12.5rem;
  }
}

.about-content__logo-img-wrapper img {
  width: 100%;
  height: auto;
}

.about-content__information {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .about-content__information {
    margin-top: 5rem;
    width: 55.125rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }
}

.information__inner {
  border: 2px solid #e67669;
  border-radius: 10px;
  padding: 1.875rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .information__inner {
    padding: 3.75rem 5.625rem;
    border-radius: 60px;
    position: relative;
    border: none;
  }
}

@media screen and (min-width: 768px) {
  .information__inner::before {
    position: absolute;
    content: "";
    width: 52.5rem;
    height: 35.6875rem;
    background-image: url(../image/about/circle-red.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    top: 0;
    left: 0;
  }
}

.about-information__title {
  font-size: 0.9375rem;
  line-height: 1.5333333333;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .about-information__title {
    font-size: 1.875rem;
  }
}

@media screen and (min-width: 600px) {
  .container.about-features__container {
    max-width: initial;
  }
}

.about-information__items {
  margin-top: 1.875rem;
}

.about-information__item {
  margin-top: 0.9375rem;
}

.about-information__item-title {
  color: #e67669;
  font-size: 0.75rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .about-information__item-title {
    font-size: 0.9375rem;
    line-height: 1.5333333333;
    font-weight: 400;
  }
}

.about-information__item p {
  font-size: 0.75rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .about-information__item p {
    font-size: 0.9375rem;
    line-height: 1.5333333333;
  }
}

.about-content__sub-information {
  position: relative;
  z-index: 5;
}

@media screen and (min-width: 768px) {
  .about-content__sub-information.inner {
    padding-left: 7.3125rem;
    padding-right: 7.3125rem;
  }
}

.about-content__sub-information::before {
  position: absolute;
  content: "";
  width: 31.25rem;
  height: 31.6875rem;
  background-image: url(../image/common/circle06.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  top: 4.71875rem;
  right: -7.8125rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .about-content__sub-information::before {
    width: 62.5rem;
    height: 63.4375rem;
    top: 1.5rem;
    right: -22.0625rem;
  }
}

.about-content__sub-information-wrapper {
  padding: 2.5rem 1.25rem;
  border: 2px solid #E67669;
  border-radius: 10px;
  margin-top: 0.625rem;
  background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (min-width: 768px) {
  .about-content__sub-information-wrapper {
    border: 2px solid #396a9d;
    border-radius: 30px;
    padding: 3.75rem 3.75rem 6.125rem;
  }
}

.about-content__sub-information-wrapper.sayhello-content {
  position: relative;
}
@media screen and (min-width: 768px) {
  .about-content__sub-information-wrapper.sayhello-content {
    padding: 2.5rem;
    width: 31.625rem;
  }
}

.about-content__sub-information-wrapper.sayhello-content::before {
  position: absolute;
  content: "";
  width: 18.75rem;
  height: 18.5625rem;
  background-image: url(../image/common/circle05.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  bottom: -5.125rem;
  left: -6.25rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .about-content__sub-information-wrapper.sayhello-content::before {
    width: 25rem;
    height: 24.75rem;
    bottom: -9.5rem;
    left: -7.9375rem;
  }
}

.about-information__title.sub-title {
  font-size: 1.25rem;
  color: #396c9f;
}
@media screen and (min-width: 768px) {
  .about-information__title.sub-title {
    font-size: 1.875rem;
  }
}

@media screen and (min-width: 768px) {
  .about-information__title.sub-title.sub-information {
    font-size: 1.25rem;
  }
}

.about-content__sub-information-container {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .about-content__sub-information-container {
    margin-top: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .about-content__sub-information-detail {
    display: flex;
    justify-content: space-between;
    margin-top: 2.5rem;
  }
}

.about-content__sub-information-img-wrapper {
  width: 17.1875rem;
  margin-right: auto;
  margin-left: auto;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .about-content__sub-information-img-wrapper {
    width: 37.6%;
    margin-right: initial;
    margin-left: initial;
    margin-top: initial;
  }
}

@media screen and (min-width: 768px) {
  .about-content__sub-information-img-wrapper.sayhello-wrapper {
    width: 11.25rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.1875rem;
  }
}

.about-content__sub-information-img-wrapper img {
  width: 100%;
  height: 17.1875rem;
  object-fit: cover;
  object-position: 71% 50%;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .about-content__sub-information-img-wrapper img {
    height: 21.375rem;
  }
}

@media screen and (min-width: 768px) {
  .about-content__sub-information-img-wrapper.sayhello-wrapper img {
    height: auto;
    border-radius: 10px;
  }
}

.about-content__sub-information-text-wrapper {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .about-content__sub-information-text-wrapper {
    width: 55.7%;
    margin-top: 0;
  }
}

.about-content__sub-information-text-wrapper p {
  font-size: 0.9375rem;
  line-height: 1.5333333333;
  margin-top: 0.9375rem;
  margin-bottom: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .about-content__sub-information-text-wrapper p:nth-child(1) {
    margin-top: 0.5625rem;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .about-content__sub-information-text-wrapper p:nth-child(2) {
    margin-top: 1.25rem;
    margin-bottom: 0;
  }
}

.about-content__sub-information-text-wrapper p.link-text {
  text-align: right;
}
@media screen and (min-width: 768px) {
  .about-content__sub-information-text-wrapper p.link-text {
    margin-top: 0.75rem;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .about-content__sub-information-text-wrapper p:nth-child(4) {
    margin-top: 2.375rem;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .about-content__sub-information-text-wrapper p:nth-child(5) {
    margin-top: 1.875rem;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .about-content__sub-information-text-wrapper p:nth-child(6) {
    margin-top: 0;
    margin-bottom: 0;
  }
}

.about-content__sub-information-text-wrapper a {
  font-size: 0.75rem;
  line-height: 1.5;
  color: #e67669;
  letter-spacing: 0.1em;
  position: relative;
  margin-right: 2.1875rem;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .about-content__sub-information-text-wrapper a {
    font-size: 0.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .about-content-administration__container {
    width: 33.0625rem;
  }
}

.about-content__sub-information-text-wrapper a::before {
  position: absolute;
  content: "➡︎";
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  color: #fff;
  width: 1.5625rem;
  height: 1.5625rem;
  background-color: #e67669;
  border-radius: 50%;
  right: -1.875rem;
}

@media screen and (min-width: 768px) {
  .about-content__sub-information-text-wrapper.sayhello-wrapper {
    width: 100%;
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .about-content__sub-information-text-wrapper.sayhello-wrapper p {
    font-size: 0.9375rem;
    margin-top: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .sub-information__container {
    display: flex;
    margin-top: 2.5rem;
    gap: 0.625rem;
  }
}

@media screen and (min-width: 768px) {
  .btn-box.about-content {
    position: initial;
    margin-left: 0;
    text-align: center;
    margin-top: 6.4375rem;
  }
}

.about-content-administration__wrapper {
  padding: 2.5rem 1.25rem;
  border: 2px solid #e67669;
  border-radius: 10px;
  margin-top: 0.625rem;
  background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (min-width: 768px) {
  .about-content-administration__wrapper {
    border: 2px solid #396a9d;
    border-radius: 30px;
    padding: 2.5rem 3rem 2.5rem 3rem;
  }
}

.about-content-administration__wrapper p {
  font-size: 0.9375rem;
  line-height: 1.5333333333;
}

.about-content-administration__wrapper p.about-administration__text {
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .about-content-administration__wrapper p.about-administration__text {
    margin-top: 1.25rem;
    margin-bottom: 1.875rem;
  }
}

@media screen and (min-width: 768px) {
  .about-content-administration__wrapper p.about-administration__text.school-text {
    margin-top: 1.25rem;
    margin-bottom: 0;
  }
}

.btn-box.about-content a {
  padding: 1.125rem 1.75rem;
}

.btn-box.about-content a.btn-primary {
  text-align: left;
  width: 16.25rem;
  font-size: 0.75rem;
  font-weight: bold;
}

.btn-box.about-content a.btn::after {
  content: none;
}

.about-content-slider {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .about-content-slider {
    margin-top: 6.25rem;
  }
}

.faq-container {
  background-color: #fef9d4;
  padding-bottom: 1px;
}
@media screen and (min-width: 768px) {
  .faq-container {
    margin-top: -5rem;
  }
}

.faq-arch__wrapper {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .faq-arch__wrapper.faq-top_arch {
    position: relative;
    z-index: -1;
  }
}

.faq-arch__wrapper img {
  width: 100%;
  height: auto;
  transform: rotate(180deg);
}

.faq-arch__wrapper.rotate-none img {
  transform: initial;
}

.consultation-time {
  position: relative;
  background-image: url(../image/common/information_bg-img.jpg);
  background-repeat: no-repeat;
  background-position: center;
  padding-bottom: 2.5rem;
}

.consultation-time::before {
  position: absolute;
  content: "";
  background-color: rgba(255, 255, 255, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.consultation.faq-arch__wrapper {
  position: relative;
}

.about-consultation-time .schedule-box .schedule-main span {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .about-consultation-time .schedule-box .schedule-main span {
    font-size: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .about-item.u-desktop.about {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .about-item.u-desktop.about .about-item-flex {
    display: flex;
    justify-content: center;
    padding-top: 5rem;
    gap: 6.875rem;
  }
}

.about-item-flex .about-image {
  width: 28.125rem;
}

.about-item-flex .about-image img {
  width: 100%;
  height: 21.875rem;
  border-radius: 60px 0 0 0;
  object-fit: cover;
  object-position: 50% 30%;
}

.about-item-flex .about-content .about-content__text {
  font-size: 1.875rem;
  padding-top: 0;
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .point-list.u-desktop {
    padding-top: 4.375rem;
    padding-left: 2.1875rem;
    padding-right: 2.1875rem;
  }
}

@media screen and (min-width: 768px) {
  .point-list__flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .point-list__flex-box {
    width: 33.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .about-features.about .about-content.reverce {
    padding-top: 3.75rem;
    flex-direction: row;
    padding-left: 3.875rem;
    padding-right: 3.875rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .about-features.about .about-content.reverce img {
    width: 33rem;
    border-radius: 0 0 60px 0;
  }
}

@media screen and (min-width: 768px) {
  .about-features.about .about-content__text-container {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 3.125rem;
  }
}

@media screen and (min-width: 768px) {
  .about-features.about .about-content.reverce p.about-content__text {
    padding-top: 0.9375rem;
    font-size: 0.9375rem;
    color: #333333;
    margin-bottom: 0.9375rem;
  }
}

.service {
  margin-top: 0.625rem;
}

.service__inner {
  background-color: #fef9d4;
  border-radius: 20px;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .service__inner {
    margin-left: 3.625rem;
    margin-right: 3.625rem;
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}

.service-detail__ttl {
  text-align: center;
  padding-top: 1.875rem;
  color: #396a9d;
}
@media screen and (min-width: 768px) {
  .service-detail__ttl {
    padding-top: 3.125rem;
  }
}

.service-box__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.875rem 0.6875rem;
  padding-left: 1.1875rem;
  padding-right: 1.1875rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 350px;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .service-box__wrapper {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    max-width: 870px;
    margin-top: 2.5625rem;
  }
}

.service-box {
  background-color: #a8d588;
  border-radius: 3px;
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  width: 8.3125rem;
  height: 3.3125rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .service-box {
    width: 11.25rem;
  }
}

.service-box.josanin {
  font-size: 0.8125rem;
}

.service-text__box {
  font-size: 0.9375rem;
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .service-text__box {
    padding-left: 3.4375rem;
    padding-right: 3.4375rem;
    margin-top: 2.5rem;
  }
}

.service-text__box p:nth-child(2) {
  margin-top: 1.25rem;
}

.service-total {
  padding-top: 3.75rem;
  overflow-x: hidden;
}
@media screen and (min-width: 768px) {
  .service-total {
    padding-top: 6.6875rem;
  }
}

.service-support__wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
}

.service-support__wrapper p {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #396a9d;
}
@media screen and (min-width: 768px) {
  .service-support__wrapper p {
    font-size: 1.875rem;
  }
}

.support-img__wrapper {
  width: 6.25rem;
}
@media screen and (min-width: 768px) {
  .support-img__wrapper {
    width: 15.625rem;
  }
}

.support-img__wrapper img {
  height: auto;
}

.total-service__items {
  margin-left: 0.3125rem;
  margin-right: 0.3125rem;
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .total-service__items {
    margin-right: auto;
    margin-left: auto;
  }
}

.total-service__item {
  border: 10px solid #FEF9D4;
  border-radius: 30px;
  padding: 1.875rem 1.25rem;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .total-service__item {
    width: 65rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    gap: 9.9375rem;
    padding: 2.1875rem 2.5rem 3.25rem 2.5625rem;
  }
}

.total-service__item.total-service__2 {
  position: relative;
}

.total-service__item.total-service__2::before {
  position: absolute;
  content: "";
  width: 31.25rem;
  height: 31.71875rem;
  background-image: url(../image/common/circle06.png);
  background-size: 100% 100%;
  top: 7.5rem;
  right: -9.375rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .total-service__item.total-service__2::before {
    width: 62.5rem;
    height: 63.4375rem;
    top: -2.125rem;
    right: -22.1875rem;
  }
}

.total-service__item.total-service__2::after {
  position: absolute;
  content: "";
  width: 18.75rem;
  height: 18.5625rem;
  background-image: url(../image/common/circle05.png);
  background-size: 100% 100%;
  bottom: -12.25rem;
  left: -3.75rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .total-service__item.total-service__2::after {
    content: none;
  }
}

.total-service__item:nth-child(n+2) {
  margin-top: 1.875rem;
}

.total-service-box__items .total-service__item:nth-child(1) {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .total-service-box__items .total-service__item:nth-child(1) {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .total-service-box__items .total-service__item:nth-child(2) {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .total-service-box__items .total-service__item:nth-child(3) {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .total-service__item.total-service__3,
  .total-service__item.total-service__4,
  .total-service__item.total-service__5 {
    width: 20.625rem;
    padding: 2.1875rem 1.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .total-service-box__items {
    display: flex;
    gap: 1.5625rem;
    width: 65rem;
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (min-width: 768px) {
  .total-service-box__items.total-service {
    position: relative;
    margin-top: 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .total-service-box__items.total-service::before {
    position: absolute;
    content: "";
    width: 25rem;
    height: 24.75rem;
    background-image: url(../image/common/circle05.png);
    background-size: 100% 100%;
    bottom: -1.75rem;
    left: -10.625rem;
    z-index: -1;
  }
}

.total-service__item.baby-service__1 .total-service__box {
  grid-template-columns: 1fr 1fr;
  width: 13.125rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 600px) {
  .total-service__item.baby-service__1 .total-service__box {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    width: initial;
  }
}
@media screen and (min-width: 768px) {
  .total-service__item.baby-service__1 .total-service__box {
    grid-template-columns: initial;
    margin-left: initial;
    margin-right: initial;
    width: initial;
  }
}

.total-service__subttl {
  font-family: "Oregano", cursive;
  font-size: 2.5rem;
  color: #d9d8d8;
  font-style: italic;
  padding-left: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .total-service__subttl {
    font-size: 3.4375rem;
    line-height: 1.4;
    font-style: normal;
  }
}

@media screen and (min-width: 768px) {
  .total-service__3 .total-service__subttl {
    padding-left: 0;
    text-align: center;
  }
}

.total-service__ttl {
  font-size: 1.875rem;
  color: #396a9d;
  padding-left: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .total-service__ttl {
    font-size: 2.5rem;
    line-height: 1.5;
  }
}

@media screen and (min-width: 768px) {
  .total-service__3 .total-service__ttl,
  .total-service__4 .total-service__ttl,
  .total-service__5 .total-service__ttl,
  .baby-service__2 .total-service__ttl,
  .baby-service__3 .total-service__ttl,
  .baby-service__4 .total-service__ttl {
    font-size: 1.5625rem;
    padding-left: 0;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .baby-service__4 .total-service__ttl span {
    font-size: 1.25rem;
  }
}

.total-service__ttl.baby-class {
  font-size: 1.5625rem;
}

.total-detail__text-ttl.text-ttl__mt {
  padding-top: 0.9375rem;
}

.total-detail__box {
  padding-top: 1.875rem;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .total-detail__box {
    padding-left: 0;
    padding-right: 0;
  }
}

.total-detail__box p {
  font-size: 0.75rem;
}
@media screen and (min-width: 768px) {
  .total-detail__box p {
    font-size: 0.9375rem;
  }
}

.total-service__box {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.4375rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .total-service__box {
    margin-top: 1.25rem;
    display: flex;
    gap: 0.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .total-service__3 .total-service__box {
    flex-wrap: wrap;
  }
}

.total-service__box.second {
  grid-template-columns: 1fr 1fr;
  gap: 0.9375rem;
  width: 13.4375rem;
  margin-left: auto;
  margin-right: auto;
}

.total-service__box .service-box {
  width: 6.25rem;
  height: 2.5rem;
  font-size: 0.9375rem;
}

.total-service__box .service-box.josanin {
  font-size: 0.625rem;
}

table {
  margin: 1.875rem auto 0;
}

tr {
  height: 2.9375rem;
}

table,
th,
td {
  border: 1px solid;
  border-collapse: collapse;
}

th {
  background-color: #fef9d4;
  font-size: 0.75rem;
  width: 6.3125rem;
}
@media screen and (min-width: 768px) {
  th {
    width: 8.6875rem;
    font-size: 0.9375rem;
  }
}

td {
  font-size: 0.75rem;
  width: 13.375rem;
  padding-left: 0.5rem;
}
@media screen and (min-width: 768px) {
  td {
    width: 16.3125rem;
    font-size: 0.9375rem;
  }
}

td span {
  font-size: 0.625rem;
}

.total-img__wrapper {
  width: 17.8125rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .total-img__wrapper {
    width: 25rem;
    margin-top: 2.5rem;
  }
}

.total-img__wrapper img {
  width: 100%;
  height: 16.9375rem;
  border-radius: 30px 0 0 0;
  object-fit: cover;
}

.table-caption {
  font-size: 0.75rem;
  color: #396a9d;
  text-align: center;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .table-caption {
    font-size: 0.9375rem;
    margin-top: 1.5625rem;
    text-align: left;
  }
}

.baby-service__wrapper {
  display: flex;
  align-items: center;
  gap: 1.125rem;
  padding-left: 1.375rem;
  padding-right: 1.375rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .baby-service__wrapper {
    width: 50.0625rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 3.75rem;
    gap: 1.875rem;
    padding-left: 0;
    padding-right: 0;
  }
}

.baby-service__text {
  font-size: 0.75rem;
  font-weight: 700;
  color: #396a9d;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .baby-service__text {
    font-size: 1.5625rem;
    text-align: left;
  }
}

.baby-service__wrapper a {
  font-size: 0.625rem;
  font-weight: 700;
  color: #396a9d;
  text-align: center;
  background-color: #fef9d4;
  border-radius: 20px;
  padding: 0.75rem 1.5625rem;
}
@media screen and (min-width: 768px) {
  .baby-service__wrapper a {
    padding: 1.9375rem 2.6875rem;
  }
}

.baby-service__img-wrapper {
  width: 6.25rem;
  margin-bottom: 0.6875rem;
}

.baby-service__img-wrapper img {
  width: 100%;
  height: auto;
}

.josanshi-plan__wrapper {
  background-color: #fef9d4;
  padding-top: 1.5625rem;
  margin-top: 3.75rem;
}

.josanshi-q__wrapper,
.josanshi-a__wrapper {
  display: flex;
  align-items: center;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
}
@media screen and (min-width: 768px) {
  .josanshi-q__wrapper,
  .josanshi-a__wrapper {
    width: 59.8125rem;
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto;
  }
}

.josanshi-q__wrapper {
  gap: 2.1875rem;
}
@media screen and (min-width: 768px) {
  .josanshi-q__wrapper {
    gap: 7.875rem;
  }
}

.josanshi-a__wrapper {
  gap: 1.375rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .josanshi-a__wrapper {
    gap: 3.5625rem;
    margin-top: 0;
  }
}

.josanshi-q__img {
  width: 6.25rem;
}
@media screen and (min-width: 768px) {
  .josanshi-q__img {
    width: 16.375rem;
  }
}

.josanshi-a__img {
  width: 6.25rem;
}
@media screen and (min-width: 768px) {
  .josanshi-a__img {
    width: 13.5625rem;
  }
}

.josanshi-q__img img,
.josanshi-a__img img {
  width: 100%;
  height: auto;
}

.josanshi-q__text {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #396c9f;
  line-height: 1.3333333333;
}
@media screen and (min-width: 768px) {
  .josanshi-q__text {
    font-size: 1.875rem;
    line-height: 1.5;
  }
}

.josanshi-a__text {
  font-size: 0.75rem;
  line-height: 1.5;
  width: 61.3%;
}
@media screen and (min-width: 768px) {
  .josanshi-a__text {
    width: 71.4%;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.josanshi-plan .total-service__item {
  background-color: #fff;
}

.total-service__box.josanin-plan {
  grid-template-columns: 1fr 1fr;
  width: 13rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 600px) {
  .total-service__box.josanin-plan {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    width: initial;
  }
}
@media screen and (min-width: 768px) {
  .total-service__box.josanin-plan {
    grid-template-columns: initial;
    margin-left: initial;
    margin-right: initial;
    width: initial;
  }
}

.service-voice__wrapper {
  border: 6px solid #fef9d4;
  border-radius: 30px;
  padding: 2.125rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .service-voice__wrapper {
    width: 65rem;
    margin-left: auto;
    margin-right: auto;
    padding: 3.375rem 3.375rem 3.3125rem;
    display: flex;
    gap: 2.5rem;
    justify-content: space-between;
  }
}

.service-voice__wrapper:nth-child(n+2) {
  margin-top: 1.875rem;
}

@media screen and (min-width: 768px) {
  .service-voice__wrapper.voice-01 {
    margin-top: 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .service-voice__wrapper.voice-02 {
    flex-direction: row-reverse;
    align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .service-voice__wrapper.voice-03 {
    align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .service-voice__wrapper.voice-04 {
    flex-direction: row-reverse;
    align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .service-voice__wrapper.voice-02 .service-voice__text-wrapper,
  .service-voice__wrapper.voice-04 .service-voice__text-wrapper {
    text-align: right;
  }
}

@media screen and (min-width: 768px) {
  .service-voice__wrapper.voice-02 .service-voice__text-wrapper p.midwife-voice {
    font-size: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .service-voice__wrapper.voice-03 .service-voice__img {
    width: 18.75rem;
  }
}

.service-voice__img {
  width: 6.25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .service-voice__img {
    width: 12.5rem;
    margin-left: initial;
    margin-right: initial;
  }
}

.service-voice__img img {
  width: 100%;
  height: auto;
}

.service-voice__text-wrapper {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .service-voice__text-wrapper {
    margin-top: 0;
    width: 73.4%;
  }
}

@media screen and (min-width: 768px) {
  .service-voice__box.voice03-box {
    width: 63%;
  }
}

@media screen and (min-width: 768px) {
  .service-voice__wrapper.voice-03 .service-voice__text-wrapper {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .service-voice__wrapper.voice-03 .service-voice__text-wrapper:nth-child(2) {
    padding-top: 2.5rem;
  }
}

.service-voice__text-wrapper p {
  font-size: 0.75rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .service-voice__text-wrapper p {
    font-size: 0.9375rem;
    line-height: 1.5333333333;
  }
}

.midwife-voice {
  padding-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .midwife-voice {
    padding-top: 1.25rem;
  }
}

.service-voice__inner {
  padding-top: 1.875rem;
  padding-bottom: 3.75rem;
}
@media screen and (min-width: 768px) {
  .service-voice__inner {
    padding-top: 5.625rem;
  }
}

.consultation-time.service-consultation-time {
  padding-top: 2.5rem;
}

.schedule-container.inner.service {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .btn-box.about-content.service {
    margin-top: 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .btn-box.about-content.service a {
    padding: 1.125rem 2.8125rem;
  }
}

@media screen and (min-width: 768px) {
  .btn-box.about-content.service a.btn-primary {
    width: 18.75rem;
    font-size: 0.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .total-service__flex-wrapper {
    display: flex;
    gap: 5.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .total-service__item.baby-service__1,
  .total-service__item.baby-service__5,
  .josanshi-plan .total-service__item {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .baby-service__2 .total-service__subttl,
  .baby-service__3 .total-service__subttl,
  .baby-service__4 .total-service__subttl {
    padding-left: 0;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .total-service__item.baby-service__2,
  .total-service__item.baby-service__3,
  .total-service__item.baby-service__4 {
    padding: 2.1875rem 0.625rem 3.25rem 0.625rem;
  }
}

@media screen and (min-width: 768px) {
  .baby-service__2 .total-detail__box,
  .baby-service__3 .total-detail__box,
  .baby-service__4 .total-detail__box,
  .baby-service__2 .table-caption,
  .baby-service__3 .table-caption,
  .baby-service__4 .table-caption,
  .baby-service__3 .total-service__box {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .total-service__item.baby-service__5 {
    margin-top: 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .baby-consultation .total-service-box__items {
    margin-top: 3.75rem;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .baby-consultation .total-service-box__items::before {
    position: absolute;
    content: "";
    width: 37.5rem;
    height: 39.3125rem;
    background-image: url(../image/service/circle02.png);
    background-size: 100% 100%;
    top: -11.125rem;
    right: -15rem;
    z-index: -1;
  }
}

.main.privacy-main {
  background-color: #fef9d4;
}

.main.privacy-main .contact {
  background-color: #fff;
}

.privacy-header .section-sub-title {
  padding-left: 0;
}

.privacy-main .breadcrumbs.privacy {
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  .privacy-main .breadcrumbs.privacy {
    background-color: #fff;
    padding-bottom: 1rem;
  }
}

.privacy.inner {
  margin-top: 0.625rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .privacy.inner {
    margin-top: 4.875rem;
    padding-bottom: 5rem;
  }
}

.privacy__inner {
  background-color: #fff;
  border-radius: 20px;
  filter: drop-shadow(0px 3px 10px #d9d8d8);
  padding: 2.5rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .privacy__inner {
    width: 65rem;
    margin-left: auto;
    margin-right: auto;
    padding: 3.75rem;
  }
}

.privacy-box {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .privacy-box {
    margin-top: 3.4375rem;
  }
}

.privacy-text {
  font-size: 0.9375rem;
}

.privacy-item__ttl {
  font-size: 0.9375rem;
}

.privacy-item {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .privacy-item {
    margin-top: 1.875rem;
  }
}

@media screen and (min-width: 768px) {
  .privacy-item:nth-child(3) {
    margin-top: 3.75rem;
  }
}

.privacy-contact__box {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .privacy-contact__box {
    margin-top: 3.75rem;
  }
}

.btn-box.about-content.privacy-content a.btn-primary {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .btn-box.about-content.privacy-content {
    margin-top: 5rem;
  }
}

.news-single.inner {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  background-image: url(../image/news/news_background-img-pc.jpg);
  background-size: 100% 100%;
}
@media screen and (min-width: 768px) {
  .news-single.inner {
    max-width: initial;
    margin-top: 0.625rem;
    padding-top: 9.5rem;
    padding-bottom: 9.5rem;
    background-size: 100% 113%;
  }
}

.post-single {
  background-color: #fff;
  border-radius: 20px;
  padding: 2.5rem 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 600px) {
  .post-single {
    padding: 2.5rem 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .post-single {
    width: 67.2%;
    margin-left: auto;
    margin-right: auto;
    padding: 3.75rem 6.25rem;
  }
}

.post-meta {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.post-date {
  font-size: 1.25rem;
  font-weight: 700;
}

.post-category {
  background-color: #a8d588;
  border-radius: 10px;
  color: #fff;
  width: 6.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0.3125rem;
  padding-bottom: 0.25rem;
  font-size: 0.9375rem;
}

.post-title {
  font-size: 1.25rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .post-title {
    font-size: 1.5625rem;
  }
}

.post-thumbnail {
  width: 17.1875rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .post-thumbnail {
    width: 37.5rem;
    margin-top: 3.75rem;
  }
}

.post-thumbnail img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .post-thumbnail img {
    border-radius: 20px;
  }
}

.post-content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .post-content {
    margin-top: 3.125rem;
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}

.post-content p {
  font-size: 0.9375rem;
}

.post-navigation {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .post-navigation {
    margin-top: 3.75rem;
  }
}

.nav-previous a,
.nav-next a {
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}

.nav-label {
  font-weight: 700;
  text-decoration: underline;
}

.nav-arrow {
  color: #e67669;
  font-weight: 700;
}

.nav-links {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}

.btn-box.single-box {
  margin-top: 2.5rem;
}

.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

.u-desktop-flex {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop-flex {
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}

.overflow {
  overflow-x: hidden;
}

/*# sourceMappingURL=style.css.map */
