@charset "UTF-8";
.main_wrapper {
  padding: 0 0 130px;
  position: relative;
  z-index: 0;
  min-width: 1280px;
}
@media screen and (max-width: 768px) {
  .main_wrapper {
    min-width: initial;
    max-width: initial;
    padding: 0;
    margin-bottom: 30vw;
  }
}

.main_image {
  position: relative;
  max-width: 1440px;
  aspect-ratio: 1440/802;
  padding-top: clamp(308px, 24.72vw, 356px);
  margin: 0 auto;
  box-sizing: border-box;
  background: url(/images/index/mainvisual.webp) center top/cover no-repeat;
  overflow: hidden;
}
@media screen and (min-width: 1441px) {
  .main_image {
    max-width: none;
    width: 100%;
  }
}
.main_image .inner {
  padding: 0 30px 0 50px;
  margin: 0 auto;
  box-sizing: border-box;
}
.main_image .text {
  width: clamp(650px, 52.29vw, 753px);
  height: clamp(275px, 22.15vw, 319px);
  position: absolute;
  bottom: clamp(120px, 13.89vw, 200px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
@media screen and (min-width: 1441px) {
  .main_image .text {
    width: 52.29vw;
    height: auto;
    left: 50%;
    bottom: 50%;
    transform: translate(-50%, 50%);
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .main_image {
    position: relative;
    width: initial;
    height: 153vw;
    padding-top: 27.3vw;
    aspect-ratio: initial;
    box-sizing: border-box;
    background: url(/images/index/mainvisual_sp.webp) right 40% top/cover no-repeat;
    overflow: visible;
    position: relative;
  }
  .main_image .inner {
    padding: 0;
  }
  .main_image .text {
    width: 90%;
    height: auto;
    bottom: -25vw;
  }
}

.sec01 {
  margin-bottom: 280px;
}
.sec01 .inner {
  padding: 0 25px;
}
.sec01 .top_box .flexbox {
  position: relative;
  justify-content: flex-end;
}
.sec01 .top_box .flexbox .textbox {
  position: absolute;
  top: 0;
  left: 90px;
  font-size: 42px;
  font-weight: bold;
  font-family: serif;
  letter-spacing: 0.1em;
  line-height: 2.5;
  z-index: 1;
}
.sec01 .top_box .flexbox .textbox .top_text {
  font-weight: bold;
  line-height: 1.5;
}
.sec01 .top_box .flexbox .textbox .sp_small {
  font-size: 42px;
  font-weight: bold;
}
.sec01 .top_box .flexbox .textbox .small {
  font-size: 32px;
  font-weight: bold;
  color: #444444;
}
.sec01 .top_box .flexbox .textbox .pink {
  font-size: 52px;
  color: #E84E87;
  font-weight: bold;
}
.sec01 .top_box .flexbox .textbox .pink .s_pink {
  font-size: 40px;
  font-weight: bold;
}
.sec01 .top_box .flexbox .textbox .highlight {
  color: #E84E87;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
  display: inline-block;
  background: linear-gradient(#fff36b, #fff36b);
  background-repeat: no-repeat;
  background-position: 0 85%;
  background-size: 100% 13px;
}
.sec01 .gridbox {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: 55px;
  -moz-column-gap: 25px;
       column-gap: 25px;
}
.sec01 .gridbox .flexbox {
  height: 100%;
  align-items: stretch;
}
.sec01 .gridbox .box {
  width: 100%;
  background-color: rgba(249, 233, 240, 0.6);
  height: auto;
  min-height: clamp(340px, 26vw, 388px);
}
.sec01 .gridbox .box .textbox {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.sec01 .gridbox .box .imagebox {
  flex: 0 0 45%;
}
.sec01 .gridbox .box .imagebox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec01 .gridbox .box .box_title {
  font-size: 20px;
  text-align: center;
  padding: 6px 20px 0;
  line-height: 1.3;
  font-feature-settings: "palt";
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: clamp(60px, 5vw, 80px);
  padding: clamp(4px, 0.4vw, 6px) clamp(16px, 1.5vw, 20px) 0;
  margin-bottom: 10px;
}
.sec01 .gridbox .box .mappin {
  text-align: center;
  padding-top: 10px;
}
.sec01 .gridbox .box .access_cont {
  border-bottom: 2px solid #F54B84;
  margin: 0 20px 15px;
  padding-bottom: 15px;
  min-height: 63px;
}
.sec01 .gridbox .box .box_access {
  font-size: 17px;
  position: relative;
  line-height: 1.3;
  padding: 0 clamp(0px, 0.21vw, 3px) 0 clamp(0px, 1.8vw, 30px);
  font-size: clamp(14px, 1.1vw, 17px);
}
.sec01 .gridbox .box .box_access::before {
  content: "●";
  position: absolute;
  font-size: 10px;
  left: 0px;
  bottom: 50%;
  color: #F54B84;
  transform: translateY(50%);
}
.sec01 .gridbox .box .box_tel {
  padding-left: 30px;
  position: relative;
  margin: 0 20px 15px;
  border-radius: 50vh;
}
.sec01 .gridbox .box .box_tel::before {
  content: "";
  position: absolute;
  width: clamp(34px, 2.78vw, 43px);
  height: clamp(34px, 2.78vw, 43px);
  left: clamp(20px, 2.08vw, 30px);
  bottom: 50%;
  transform: translateY(60%);
  background: url(/images/common/tel_pink.webp) center/contain no-repeat;
}
.sec01 .gridbox .box .box_tel .tel_num {
  font-size: 31px;
  font-size: clamp(26px, 2vw, 31px);
  font-weight: bold;
  text-align: center;
}
.sec01 .gridbox .box .box_link {
  background-color: #fff;
  font-weight: bold;
  border: 2px solid #F54B84;
  border-radius: 50px;
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-size: clamp(16px, 1.2vw, 18px);
  width: clamp(290px, 23.19vw, 334px);
  height: clamp(48px, 3.82vw, 55px);
  line-height: 1.3;
}
.sec01 .gridbox .box .box_link::before {
  content: "";
  position: absolute;
  width: clamp(31px, 2.78vw, 40px);
  height: clamp(31px, 2.78vw, 40px);
  right: clamp(8px, 0.11vw, 10px);
  bottom: 50%;
  transform: translateY(50%);
  background: url(/images/common/yajirushi_pink.webp) center/contain no-repeat;
}
.sec01 .gridbox .kagoshima {
  position: relative;
}
.sec01 .gridbox .kagoshima .circle {
  position: absolute;
  width: clamp(160px, 14.5vw, 209px);
  height: clamp(160px, 14.5vw, 209px);
  background-color: #FF748B;
  color: #fff;
  right: 50%;
  transform: translateX(0%);
  top: clamp(-30px, -2.8vw, -40px);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  border-radius: 50vh;
  font-size: clamp(19px, 1.8vw, 26px);
  font-family: serif;
  font-weight: bold;
  text-shadow: 0 0px 14px rgba(0, 0, 0, 0.45);
}
.sec01 .gridbox .kagoshima .box_address {
  margin-bottom: 20px;
}
.sec01 .gridbox .tenmon {
  background-color: rgba(116, 200, 178, 0.2);
  position: relative;
}
.sec01 .gridbox .tenmon .circle {
  position: absolute;
  width: clamp(160px, 14.5vw, 209px);
  height: clamp(160px, 14.5vw, 209px);
  background-color: #27A7AF;
  color: #fff;
  right: 50%;
  transform: translateX(0%);
  top: clamp(-30px, -2.8vw, -40px);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  border-radius: 50vh;
  font-size: clamp(19px, 1.8vw, 26px);
  font-family: serif;
  font-weight: bold;
  text-shadow: 0 0px 14px rgba(0, 0, 0, 0.45);
}
.sec01 .gridbox .tenmon .access_cont {
  border-bottom: 2px solid #27A7AF;
}
.sec01 .gridbox .tenmon .box_access::before {
  color: #27A7AF;
}
.sec01 .gridbox .tenmon .box_tel::before {
  background: url(/images/common/tel_green.webp) center/contain no-repeat;
}
.sec01 .gridbox .tenmon .box_link {
  border: 2px solid #27A7AF;
}
.sec01 .gridbox .tenmon .box_link::before {
  background: url(/images/common/yajirushi_green.webp) center/contain no-repeat;
}
.sec01 .gridbox .taniyama {
  background-color: rgba(223, 187, 0, 0.1);
  position: relative;
}
.sec01 .gridbox .taniyama .circle {
  position: absolute;
  width: clamp(160px, 14.5vw, 209px);
  height: clamp(160px, 14.5vw, 209px);
  background-color: #ECD300;
  color: #fff;
  right: 50%;
  transform: translateX(0%);
  top: clamp(-30px, -2.8vw, -40px);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  border-radius: 50vh;
  font-size: clamp(19px, 1.8vw, 26px);
  font-family: serif;
  font-weight: bold;
  text-shadow: 0 0px 14px rgba(0, 0, 0, 0.45);
}
.sec01 .gridbox .taniyama .box_address {
  margin-bottom: 20px;
}
.sec01 .gridbox .taniyama .access_cont {
  border-bottom: 2px solid #ECD300;
}
.sec01 .gridbox .taniyama .box_access::before {
  color: #ECD300;
}
.sec01 .gridbox .taniyama .box_tel::before {
  background: url(/images/common/tel_yellow.webp) center/contain no-repeat;
}
.sec01 .gridbox .taniyama .box_link {
  border: 2px solid #ECD300;
}
.sec01 .gridbox .taniyama .box_link::before {
  background: url(/images/common/yajirushi_yellow.webp) center/contain no-repeat;
}
.sec01 .gridbox .nishijin {
  background-color: rgba(116, 186, 200, 0.2);
  position: relative;
}
.sec01 .gridbox .nishijin .circle {
  position: absolute;
  width: clamp(160px, 14.5vw, 209px);
  height: clamp(160px, 14.5vw, 209px);
  background-color: #3881B6;
  color: #fff;
  right: 50%;
  transform: translateX(0%);
  top: clamp(-30px, -2.8vw, -40px);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  border-radius: 50vh;
  font-size: clamp(19px, 1.8vw, 26px);
  font-family: serif;
  font-weight: bold;
  text-shadow: 0 0px 14px rgba(0, 0, 0, 0.45);
}
.sec01 .gridbox .nishijin .access_cont {
  border-bottom: 2px solid #3881B6;
}
.sec01 .gridbox .nishijin .box_access::before {
  color: #3881B6;
}
.sec01 .gridbox .nishijin .box_tel::before {
  background: url(/images/common/tel_blue.webp) center/contain no-repeat;
}
.sec01 .gridbox .nishijin .box_link {
  border: 2px solid #3881B6;
}
.sec01 .gridbox .nishijin .box_link::before {
  background: url(/images/common/yajirushi_blue.webp) center/contain no-repeat;
}
@media screen and (max-width: 768px) {
  .sec01 {
    margin-bottom: 13.8vw;
  }
  .sec01 .inner {
    padding: 0;
  }
  .sec01 .top_box .flexbox {
    position: relative;
    justify-content: flex-end;
    margin-bottom: 20vw;
  }
  .sec01 .top_box .flexbox .textbox {
    position: absolute;
    top: auto;
    bottom: -15vw;
    left: 5vw;
    font-size: 5.5vw;
    font-weight: bold;
    font-family: serif;
    letter-spacing: 0.1em;
    line-height: 2.5;
    z-index: 1;
    width: 90%;
  }
  .sec01 .top_box .flexbox .textbox .top_text {
    font-weight: bold;
    line-height: 1.5;
    font-size: 5.5vw;
  }
  .sec01 .top_box .flexbox .textbox .sp_small {
    font-size: 4vw;
    font-weight: bold;
  }
  .sec01 .top_box .flexbox .textbox .small {
    font-size: 4vw;
    font-weight: bold;
    color: #444444;
  }
  .sec01 .top_box .flexbox .textbox .pink {
    font-size: 5.8vw;
    color: #E84E87;
    font-weight: bold;
  }
  .sec01 .top_box .flexbox .textbox .pink .s_pink {
    font-size: 4vw;
    font-weight: bold;
  }
  .sec01 .top_box .flexbox .textbox .highlight {
    color: #E84E87;
    font-weight: bold;
    letter-spacing: 0.1em;
    position: relative;
    display: inline-block;
    background: linear-gradient(#fff36b, #fff36b);
    background-repeat: no-repeat;
    background-position: 0 85%;
    background-size: 100% 13px;
  }
  .sec01 .gridbox {
    grid-template-columns: 1fr;
    row-gap: 10vw;
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .sec01 .gridbox .flexbox {
    flex-direction: column;
  }
  .sec01 .gridbox .box {
    min-height: auto;
  }
  .sec01 .gridbox .box .imagebox {
    flex: none;
    width: 100%;
    height: 58.6vw;
  }
  .sec01 .gridbox .box .imagebox img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .sec01 .gridbox .box .textbox {
    padding: 0 5vw 10vw;
  }
  .sec01 .gridbox .box .mappin {
    padding-top: 0;
    width: 10%;
    margin: 0 auto 3vw;
  }
  .sec01 .gridbox .box .mappin img {
    height: auto;
  }
  .sec01 .gridbox .box .box_title {
    font-size: 4.8vw;
    min-height: auto;
    margin-bottom: 3vw;
    padding: 0;
    flex-direction: column;
  }
  .sec01 .gridbox .box .access_cont {
    margin: 0 0 3vw;
    padding-bottom: 3vw;
    min-height: auto;
  }
  .sec01 .gridbox .box .box_access {
    font-size: 4vw;
    padding-left: 5vw;
  }
  .sec01 .gridbox .box .box_access::before {
    font-size: 3vw;
  }
  .sec01 .gridbox .box .box_tel {
    margin: 0 0 3vw 10vw;
    padding-left: 0;
  }
  .sec01 .gridbox .box .box_tel::before {
    width: 8.5vw;
    height: 8.5vw;
    left: 1vw;
  }
  .sec01 .gridbox .box .box_tel .tel_num {
    font-size: 8vw;
  }
  .sec01 .gridbox .box .box_link {
    width: 100%;
    height: 12.8vw;
    font-size: 4vw;
  }
  .sec01 .gridbox .kagoshima .circle,
  .sec01 .gridbox .tenmon .circle,
  .sec01 .gridbox .taniyama .circle,
  .sec01 .gridbox .nishijin .circle {
    width: 32vw;
    height: 32vw;
    font-size: 4vw;
    right: 5vw;
    transform: initial;
    top: 0;
  }
}

.sec02 {
  margin-bottom: 0;
}
.sec02 .inner {
  padding: 0 clamp(20px, 4vw, 70px);
}
.sec02 .parallax_facility {
  margin-top: clamp(80px, 8vw, 120px);
}
.sec02 .facility_wrapper {
  width: 100%;
  max-width: 1320px;
  margin: auto;
  display: flex;
  gap: clamp(60px, 8vw, 120px);
}
.sec02 .facility_text {
  flex: 0 0 50%;
}
.sec02 .facility_block {
  margin-bottom: 700px;
}
.sec02 .facility_block h3 {
  font-size: clamp(22px, 2vw, 28px);
}
.sec02 .facility_block p {
  font-size: clamp(16px, 1.4vw, 20px);
  line-height: 3;
  letter-spacing: 0.1em;
  font-weight: bold;
}
.sec02 .facility_block p .big {
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: bold;
}
.sec02 .last_block {
  margin-bottom: 700px;
}
.sec02 .facility_title {
  font-size: clamp(22px, 2vw, 28px);
  font-weight: bold;
  font-family: serif;
  line-height: 1;
  padding-left: clamp(14px, 1.4vw, 20px);
  position: relative;
  letter-spacing: 0.1em;
}
.sec02 .facility_title::before {
  content: "●";
  position: absolute;
  font-size: clamp(10px, 1vw, 15px);
  left: 0;
  bottom: 50%;
  transform: translateY(50%);
  color: #E84E87;
}
.sec02 .facility_subtitle {
  width: clamp(180px, 39%, 320px);
  line-height: 1 !important;
}
.sec02 .facility_subtitle01 {
  width: clamp(200px, 44%, 360px);
  line-height: 1 !important;
}
.sec02 .facility_subtitle02 {
  width: clamp(140px, 25%, 240px);
  line-height: 1 !important;
}
.sec02 .facility_image {
  flex: 0 0 50%;
  position: relative;
}
.sec02 .image_wrap {
  position: sticky;
  top: clamp(80px, 8vw, 120px);
}
.sec02 .parallax_img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  transition: opacity 0.6s ease, transform 0.8s ease;
  opacity: 0;
  transform: scale(1.05);
  transition: opacity 0.6s, transform 0.8s;
}
.sec02 .parallax_img.active {
  opacity: 1;
  transform: scale(1);
}
@media screen and (max-width: 768px) {
  .sec02 .inner {
    padding: 0;
  }
  .sec02 .sp_visual {
    position: relative;
    margin-bottom: 18vw;
  }
  .sec02 .sp_image {
    position: relative;
    margin-bottom: 3vw;
  }
  .sec02 .image01 {
    margin-bottom: 15vw;
  }
  .sec02 .image01::before {
    content: "";
    position: absolute;
    width: 67.7vw;
    height: 28.2vw;
    bottom: -10vw;
    left: 3vw;
    background: url(/images/index/float_1.webp) center/contain no-repeat;
  }
  .sec02 .image02 {
    margin-bottom: 25vw;
  }
  .sec02 .image02::before {
    content: "";
    position: absolute;
    width: 55.4vw;
    height: 50.6vw;
    bottom: -22vw;
    left: 3vw;
    background: url(/images/index/float_2.webp) center/contain no-repeat;
  }
  .sec02 .image03 {
    margin-bottom: 30vw;
  }
  .sec02 .image03::before {
    content: "";
    position: absolute;
    width: 77.8vw;
    height: 39.7vw;
    bottom: -27vw;
    left: 50%;
    transform: translateX(-50%);
    background: url(/images/index/float_3.webp) center/contain no-repeat;
  }
  .sec02 .image04 {
    margin-bottom: 5vw;
    margin-top: 35vw;
  }
  .sec02 .image04::before {
    content: "";
    position: absolute;
    width: 56vw;
    height: 50vw;
    top: -27vw;
    left: 0;
    background: url(/images/index/float_4.webp) center/contain no-repeat;
  }
  .sec02 .sp_image img {
    width: 100%;
    height: auto;
    display: block;
  }
  .sec02 .sp_box {
    margin-bottom: 10vw;
    padding: 0 5vw;
  }
  .sec02 .sp_box .sp_subtitle {
    width: 50%;
    margin-bottom: 3vw;
  }
  .sec02 .sp_box .sub01 {
    width: 55%;
  }
  .sec02 .sp_box .sub02 {
    width: 30%;
  }
  .sec02 .sp_box .sp_title {
    position: relative;
    font-weight: bold;
    font-family: serif;
    font-size: 5vw;
    line-height: 1;
    padding-left: 5vw;
  }
  .sec02 .sp_box .sp_title::before {
    content: "●";
    position: absolute;
    font-size: 4vw;
    left: 0;
    bottom: 50%;
    transform: translateY(50%);
    color: #E84E87;
  }
}

.sec03 {
  width: 100%;
  margin-bottom: 365px;
  background: #F8F5F1;
  padding: 125px 0 150px;
  border-top-left-radius: 50% 150px;
  border-top-right-radius: 50% 150px;
  position: relative;
}
.sec03 .inner {
  width: 100%;
  max-width: 1440px;
  min-width: 1280px;
  margin: 0 auto;
  padding: 0 70px;
}
.sec03 .sec_header {
  margin-bottom: 80px;
  text-align: center;
  position: relative;
}
.sec03 .sec_header::before {
  content: "";
  position: absolute;
  width: 65px;
  height: 185px;
  right: 50%;
  bottom: 150px;
  transform: translateX(50%);
  z-index: 1;
  background: url(/images/index/question.webp) center/contain no-repeat;
}
.sec03 .sec_header .sec_subtitle {
  position: absolute;
  top: -70px;
  right: 50%;
  transform: translateX(50%);
  margin-bottom: 0;
  font-size: 130px;
  line-height: 1;
  color: #fff;
  display: block;
  width: 100%;
}
.sec03 .sec_header .sec_title {
  font-family: serif;
  font-size: 40px;
  font-weight: bold;
}
.sec03 .sec_header .sec_title .small {
  font-size: 30px;
  font-weight: bold;
}
.sec03 .sec_header .sec_title .pink {
  font-size: 40px;
  font-weight: bold;
  color: #E85377;
}
.sec03 .gridbox {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  -moz-column-gap: clamp(53px, 4.1vw, 60px);
       column-gap: clamp(53px, 4.1vw, 60px);
  row-gap: 35px;
}
.sec03 .gridbox .box {
  position: relative;
  background: #fff;
  height: 171px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 20px 20px 0 20px;
}
.sec03 .gridbox .box::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  border-radius: 20px 20px 0 20px;
  background: linear-gradient(135deg, #E85377 0%, #F59A6B 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.sec03 .gridbox .box::after {
  content: "";
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-top: 20px solid transparent;
  border-bottom: 20px solid #E85377;
}
.sec03 .gridbox .box .box_text {
  font-weight: bold;
  line-height: 1.5;
  font-size: clamp(23px, 1.8vw, 26px);
}
.sec03 .gridbox .box .box_text .pink {
  color: #E85377;
  font-weight: bold;
  font-size: clamp(24px, 1.9vw, 28px);
}
.sec03 .about_link {
  text-align: center;
  position: absolute;
  bottom: -30px;
  right: 50%;
  transform: translateX(50%);
}
.sec03 .about_btn {
  border: 0px solid;
  background-image: linear-gradient(90deg, rgb(223, 126, 126), rgb(255, 181, 144));
  color: #fff;
  width: 427px;
  padding: 12.5px 0;
  font-weight: bold;
  font-size: 23px;
}
.sec03 .about_btn::before {
  width: 84px;
  height: 81px;
  left: 10px;
  right: auto;
  background: url(/images/index/sec03_kazari.webp) center/contain no-repeat;
}
.sec03 .about_btn::after {
  position: absolute;
  content: "";
  width: 46px;
  height: 46px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  background: url(/images/common/yajirushi_white.webp) center/contain no-repeat;
}
@media screen and (max-width: 1279px) and (min-width: 769px) {
  .sec03 {
    min-width: 1280px;
    max-width: 1440px;
  }
}
@media screen and (max-width: 768px) {
  .sec03 {
    margin-bottom: 23.8vw;
    padding: 15vw 5vw;
    border-top-left-radius: 50% 80px;
    border-top-right-radius: 50% 80px;
  }
  .sec03 .inner {
    max-width: 100%;
    min-width: auto;
    padding: 0;
  }
  .sec03 .sec_header {
    margin-bottom: 5vw;
  }
  .sec03 .sec_header::before {
    width: 10vw;
    height: 22vw;
    bottom: 35vw;
  }
  .sec03 .sec_header .sec_subtitle {
    font-size: 10vw;
    top: -6vw;
  }
  .sec03 .sec_header .sec_title {
    font-size: 6vw;
  }
  .sec03 .sec_header .sec_title .small {
    font-size: 5vw;
  }
  .sec03 .sec_header .sec_title .pink {
    font-size: 6vw;
  }
  .sec03 .gridbox {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 15px;
         column-gap: 15px;
    row-gap: 15px;
  }
  .sec03 .gridbox .box {
    height: auto;
    min-height: 19vw;
    padding: 3vw 2vw;
  }
  .sec03 .gridbox .box::after {
    right: 1.6vw;
    bottom: 1.6vw;
    border-left: 4vw solid transparent;
    border-top: 4vw solid transparent;
    border-bottom: 4vw solid #E85377;
  }
  .sec03 .gridbox .box .box_text {
    font-size: 4vw;
  }
  .sec03 .gridbox .box .box_text .pink {
    font-size: 4.3vw;
  }
  .sec03 .about_link {
    bottom: -7vw;
    width: 80vw;
  }
  .sec03 .about_btn {
    width: 100%;
    max-width: 80vw;
    font-size: 4vw;
    padding: 3vw 0;
  }
  .sec03 .about_btn::before {
    width: 14vw;
    height: 14vw;
    left: 3vw;
  }
  .sec03 .about_btn::after {
    width: 8vw;
    height: 8vw;
    right: 3vw;
  }
}

.sec04 {
  background-color: rgba(233, 232, 214, 0.2);
}
.sec04 .sec_header {
  margin-bottom: 40px;
  position: relative;
}
.sec04 .sec_header::before {
  content: "";
  position: absolute;
  width: 243px;
  height: 243px;
  left: -130px;
  bottom: 50%;
  transform: translateY(70%);
  z-index: -1;
  background: url(/images/index/sec04_kazari02.webp) center/contain no-repeat;
}
.sec04 .sec_header::after {
  content: "";
  position: absolute;
  width: 202px;
  height: 204px;
  right: 50%;
  bottom: -20px;
  transform: translateX(35%);
  background: url(/images/index/sec04_kazari01.webp) center/contain no-repeat;
}
.sec04 .sec_header .sec_subtitle {
  font-size: 36px;
  color: #1D506B;
  line-height: 1.3;
  margin-bottom: 0;
}
.sec04 .sec_header .sec_title {
  color: #1D506B;
  font-size: 60px;
  font-weight: bold;
  text-align: left;
  line-height: 1;
}
.sec04 .flexbox {
  -moz-column-gap: 70px;
       column-gap: 70px;
  position: relative;
  bottom: 90px;
}
.sec04 .textbox {
  width: clamp(528px, 41.3vw, 595px);
}
.sec04 .textbox .box_title {
  font-size: 32px;
  font-weight: bold;
  font-family: serif;
  margin-bottom: 30px;
  line-height: 1.3;
}
.sec04 .textbox .bottom_text {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 40px;
}
.sec04 .textbox .p_link {
  text-align: center;
  margin: 0 auto;
}
.sec04 .textbox .p_link .shourei_link {
  display: inline-block;
  width: 377px;
  padding: 20px 0;
  border-top: 2px solid #444;
  border-bottom: 2px solid #444;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}
.sec04 .imagebox {
  width: clamp(440px, 34.3vw, 495px);
}
.sec04 .page-inner {
  min-width: 1440px;
}
.sec04 .case-wrapper {
  width: 100%;
}
.sec04 .case-container {
  width: 100%;
  max-width: 1440px;
  margin: auto;
  padding: 100px 0;
}
.sec04 .case-tabs {
  display: flex;
  justify-content: center;
  gap: 45px;
  margin-bottom: 60px;
}
.sec04 .case-tab {
  font-size: 21px;
  padding: 14px 30px;
  border-radius: 12px;
  border: 2px solid;
  background: white;
  cursor: pointer;
  transition: 0.3s;
  color: #444444;
}
.sec04 .case-tab.ortho {
  border-color: #74C8BB;
}
.sec04 .case-tab.implant {
  border-color: #3F7D9E;
}
.sec04 .case-tab.ceramic {
  border-color: #D8BB63;
}
.sec04 .case-tab.white {
  border-color: #A271C0;
}
.sec04 .case-tab.is-active.ortho {
  background: #74C8BB;
  color: white;
}
.sec04 .case-tab.is-active.implant {
  background: #3F7D9E;
  color: white;
}
.sec04 .case-tab.is-active.ceramic {
  background: #D8BB63;
  color: white;
}
.sec04 .case-tab.is-active.white {
  background: #A271C0;
  color: white;
}
.sec04 .case-content {
  display: none;
  animation: fade 0.4s;
}
.sec04 .case-content.is-active {
  display: block;
}
@keyframes fade {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.sec04 .case-images {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin-bottom: 60px;
}
.sec04 .case-img {
  width: 537px;
  height: 367px;
  background: #d9d9d9;
}
.sec04 .case-info {
  max-width: 1100px;
  margin: auto;
  background: #fff;
  padding: 50px 60px;
}
.sec04 .case-info dl {
  display: grid;
  grid-template-columns: 180px 1fr;
  row-gap: 30px;
}
.sec04 .case-info dt {
  font-size: 20px;
  font-weight: bold;
}
@media (max-width: 1440px) and (min-width: 1280px) {
  .sec04 .case-container {
    width: 100%;
  }
  .sec04 .case-img {
    width: 45%;
    height: auto;
    aspect-ratio: 537/367;
  }
}
@media screen and (max-width: 768px) {
  .sec04 .sec_header {
    margin-bottom: 5vw;
  }
  .sec04 .sec_header::before {
    width: 26vw;
    height: 26vw;
    left: -10vw;
    transform: translateY(55%);
  }
  .sec04 .sec_header::after {
    width: 32vw;
    height: 32vw;
    bottom: -3vw;
    transform: initial;
    right: auto;
    left: 13vw;
  }
  .sec04 .sec_header .sec_subtitle {
    font-size: 4vw;
  }
  .sec04 .sec_header .sec_title {
    font-size: 6vw;
    letter-spacing: 0.2em;
  }
  .sec04 .flexbox {
    flex-direction: column;
    row-gap: 30px;
    bottom: 0;
  }
  .sec04 .textbox {
    width: 100%;
  }
  .sec04 .textbox .box_title {
    font-size: 5.5vw;
    margin-bottom: 5vw;
  }
  .sec04 .textbox .bottom_text {
    font-size: 4vw;
    margin-bottom: 10vw;
  }
  .sec04 .textbox .p_link .shourei_link {
    width: 100%;
    max-width: 300px;
    font-size: 4vw;
    padding: 3vw 0;
  }
  .sec04 .imagebox {
    width: 80%;
    margin: 0 auto 3vw;
  }
  .sec04 .page-inner {
    min-width: auto;
  }
  .sec04 .case-container {
    padding: 10vw 0;
  }
  .sec04 .case-tabs {
    gap: 3vw;
    margin-bottom: 5vw;
    justify-content: center;
    padding-bottom: 0;
    flex-wrap: wrap;
  }
  .sec04 .case-tab {
    font-size: 4vw;
    width: 47%;
    padding: 3vw;
    white-space: nowrap;
  }
  .sec04 .case-images {
    flex-direction: column;
    gap: 3vw;
    margin-bottom: 5vw;
  }
  .sec04 .case-img {
    width: 100%;
    height: auto;
    aspect-ratio: 537/367;
  }
  .sec04 .case-info {
    padding: 5vw;
  }
  .sec04 .case-info dl {
    grid-template-columns: 1fr;
    row-gap: 3vw;
  }
  .sec04 .case-info dt {
    font-size: 4vw;
  }
}

.sec05 {
  margin-bottom: 170px;
}
.sec05 .inner {
  padding: 0;
}
.sec05 .first_visit {
  position: relative;
}
.sec05 .first_visit img {
  width: 100%;
  height: auto;
  display: block;
}
.sec05 .yellow_box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 160px);
  padding: 90px 80px 50px;
  background: rgba(190, 162, 20, 0.5);
  box-sizing: border-box;
  text-align: left;
  box-sizing: border-box;
}
.sec05 .yellow_box::after {
  content: "";
  position: absolute;
  width: 418px;
  height: 234px;
  right: 10px;
  bottom: 0;
  background: url("/images/index/sec05_kazari01.webp") center/contain no-repeat;
  pointer-events: none;
}
.sec05 .box_title {
  font-size: 40px;
  font-family: serif;
  font-weight: bold;
  color: #fff;
  margin-bottom: 30px;
  text-align: left;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.25));
  position: relative;
  letter-spacing: 0.1em;
}
.sec05 .box_title::before {
  content: "";
  position: absolute;
  width: 655px;
  height: 168px;
  left: -40px;
  bottom: 70px;
  background: url(/images/index/first_visit.webp) center/contain no-repeat;
  filter: drop-shadow(0 0 14px rgba(0, 0, 0, 0.15));
  z-index: -1;
}
.sec05 .box_text {
  font-weight: bold;
  color: #fff;
  font-size: 22px;
  margin-bottom: 50px;
  text-align: left;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.25));
}
.sec05 .about_link {
  text-align: center;
  width: 70%;
}
.sec05 .about_link .about_btn {
  background: #fff;
  padding: 22px 40px;
  display: inline-block;
  border: 0px;
  font-size: 22px;
  font-weight: bold;
  filter: drop-shadow(0px 4px 14px rgba(0, 0, 0, 0.25));
}
.sec05 .about_link .about_btn::before {
  width: 38px;
  height: 50px;
  right: auto;
  left: 20px;
  background: url(/images/index/wakaba.webp) center/contain no-repeat;
}
.sec05 .about_link .about_btn::after {
  content: "";
  position: absolute;
  width: 46px;
  height: 46px;
  right: auto;
  right: 10px;
  bottom: 50%;
  transform: translateY(50%);
  background: url(/images/common/yajirushi_gold.webp) center/contain no-repeat;
}
@media screen and (max-width: 768px) {
  .sec05 {
    margin-bottom: 90px;
  }
  .sec05 .first_visit img {
    width: 100%;
    height: auto;
  }
  .sec05 .yellow_box {
    width: calc(100% - 40px);
    padding: 9vw 5vw 30vw;
  }
  .sec05 .yellow_box::after {
    width: 75.5vw;
    height: 27.7vw;
    right: 0;
    bottom: 0;
    background: url(/images/index/sec05_kazari_sp_02.webp) center/contain no-repeat;
  }
  .sec05 .box_title {
    font-size: 7vw;
    margin-bottom: 3vw;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .sec05 .box_title::before {
    width: 65vw;
    height: 16.8vw;
    left: -4vw;
    bottom: 23vw;
  }
  .sec05 .box_text {
    font-size: 4vw;
    margin-bottom: 10vw;
  }
  .sec05 .about_link {
    width: 100%;
  }
  .sec05 .about_link .about_btn {
    width: 100%;
    max-width: 100%;
    padding: 3.5vw 10vw;
    font-size: 5vw;
  }
  .sec05 .about_link .about_btn::before {
    width: 6.4vw;
    height: 8vw;
    left: 5vw;
  }
  .sec05 .about_link .about_btn::after {
    width: 8vw;
    height: 8vw;
    right: 2vw;
  }
}

.sec06 {
  padding-bottom: clamp(120px, 12vw, 170px);
  position: relative;
  z-index: 1;
  background-image: linear-gradient(180deg, rgba(196, 182, 197, 0), rgba(242, 234, 217, 0.6));
}
.sec06::before {
  content: "";
  position: absolute;
  width: clamp(920px, 79vw, 1140px);
  height: clamp(850px, 73vw, 1056px);
  right: 50%;
  bottom: clamp(40px, 5vw, 80px);
  transform: translateX(50%);
  z-index: -1;
  background-color: #fff;
  filter: drop-shadow(0px 4px 24px rgba(0, 0, 0, 0.05));
}
.sec06 .sec_header {
  text-align: center;
  margin-bottom: clamp(60px, 7vw, 90px);
}
.sec06 .sec_header .sec_subtitle {
  margin-bottom: 0;
}
.sec06 .sec_header .sec_title {
  font-size: clamp(22px, 2vw, 28px);
  font-weight: bold;
  font-family: serif;
}
.sec06 .flexbox {
  -moz-column-gap: clamp(20px, 2.5vw, 35px);
       column-gap: clamp(20px, 2.5vw, 35px);
  margin-bottom: clamp(30px, 4vw, 50px);
}
.sec06 .flexbox .textbox .box_title {
  font-size: clamp(28px, 2.5vw, 38px);
  font-family: serif;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: clamp(60px, 7vw, 100px);
  line-height: 2.3;
}
.sec06 .flexbox .textbox .box_title .gold {
  font-weight: bold;
  color: #B3A36E;
}
.sec06 .flexbox .textbox .box_bottom {
  font-size: clamp(15px, 1.3vw, 18px);
  text-align: right;
}
.sec06 .flexbox .textbox .box_bottom .font {
  font-family: serif;
  font-weight: bold;
}
.sec06 .flexbox .textbox .box_bottom .bottom_name {
  font-size: clamp(16px, 1.4vw, 20px);
  color: #B3A36E;
  padding-right: clamp(10px, 1vw, 20px);
}
.sec06 .flexbox .textbox .box_bottom .top_name {
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: bold;
  font-family: serif;
}
.sec06 .flexbox .imagebox {
  width: clamp(360px, 31.5vw, 454px);
  aspect-ratio: 454/559;
}
.sec06 .bottom_box {
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 2;
  letter-spacing: 0.1em;
  width: clamp(88%, 92vw, 95%);
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sec06 {
    margin-bottom: 13.8vw;
    padding-bottom: 80px;
  }
  .sec06::before {
    width: 90%;
    height: 90%;
    bottom: 10vw;
  }
  .sec06 .sec_header {
    margin-bottom: 10vw;
  }
  .sec06 .sec_header .sec_title {
    font-size: 6vw;
  }
  .sec06 .flexbox {
    flex-direction: column-reverse;
    row-gap: 3vw;
    margin-bottom: 0;
  }
  .sec06 .flexbox .textbox .box_title {
    font-size: 5vw;
    line-height: 1.8;
    margin-bottom: 3vw;
    text-align: left;
    padding-left: 5vw;
  }
  .sec06 .flexbox .textbox .box_bottom {
    text-align: right;
    font-size: 4vw;
    padding-right: 5vw;
    margin-bottom: 5vw;
  }
  .sec06 .flexbox .textbox .box_bottom .bottom_name {
    font-size: 4vw;
    padding-right: 2vw;
  }
  .sec06 .flexbox .textbox .box_bottom .top_name {
    font-size: 4.8vw;
  }
  .sec06 .flexbox .imagebox {
    width: 70%;
    max-width: 260px;
    margin: 0 auto;
  }
  .sec06 .bottom_box {
    width: 90%;
    font-size: 4vw;
    line-height: 1.8;
  }
}

.sec07 {
  margin-bottom: 360px;
}
.sec07 .inner {
  padding: 0;
}
.sec07 .sec_img {
  position: relative;
  margin-bottom: 110px;
}
.sec07 .sec_img img {
  height: auto;
  display: block;
  margin: 0 0 0 auto;
}
.sec07 .sec_img .sec_header {
  padding-left: 80px;
  position: absolute;
  top: 80px;
  left: 0;
}
.sec07 .sec_img .sec_header .sec_subtitle {
  width: 43%;
}
.sec07 .sec_img .sec_header .sec_title {
  width: 42%;
  font-size: 32px;
  font-family: serif;
  font-weight: bold;
  margin-bottom: 80px;
}
.sec07 .sec_img .sec_header .sec_title .small {
  font-family: serif;
  font-weight: bold;
  font-size: 24px;
}
.sec07 .sec_img .sec_header .sec_title .blue {
  font-weight: bold;
  font-size: 54px;
  color: #4693BC;
  letter-spacing: 0.1em;
}
.sec07 .sec_img .sec_header .sec_text {
  font-size: 20px;
  padding: 0 50px;
}
.sec07 .sec_body {
  padding: 0 80px;
}
.sec07 .gridbox {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: clamp(35px, 3.5vw, 50px);
       column-gap: clamp(35px, 3.5vw, 50px);
  row-gap: clamp(45px, 5vw, 70px);
  margin-top: 84px;
}
.sec07 .box {
  position: relative;
}
.sec07 .imagebox {
  position: relative;
}
.sec07 .imagebox img {
  width: 100%;
  display: block;
}
.sec07 {
  /* 青グラデーション */
}
.sec07 .box::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -50px;
  width: 100%;
  height: 55%;
  background: linear-gradient(to top, #4693BC 0%, #4693BC 44%, rgba(116, 186, 200, 0) 100%);
  z-index: 1;
  pointer-events: none;
}
.sec07 .kari::after {
  display: none;
}
.sec07 .textbox {
  z-index: 2;
}
.sec07 {
  /* 医師テキスト */
}
.sec07 .textbox {
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  text-align: center;
  color: #fff;
  line-height: 1.6;
  z-index: 2;
  font-size: clamp(14px, 1.1vw, 16px);
}
.sec07 .textbox .small {
  font-size: clamp(14px, 1.1vw, 16px);
}
.sec07 .textbox .big {
  font-size: clamp(18px, 1.4vw, 21px);
  font-family: serif;
  font-weight: bold;
}
.sec07 .textbox .small02 {
  font-size: clamp(11px, 1.1vw, 13px);
}
.sec07 .textbox01 {
  bottom: -30px;
}
.sec07 .doctortext {
  line-height: 1.2;
  bottom: -40px;
}
.sec07 {
  /* 黄色ラベル */
}
.sec07 .label {
  position: absolute;
  left: -8px;
  bottom: 63px;
  z-index: 3;
}
.sec07 .label01 {
  position: absolute;
  left: -8px;
  bottom: 83px;
  z-index: 3;
}
.sec07 .label_text {
  padding: 10px 26px;
  letter-spacing: 0.1em;
  color: #fff;
  font-weight: bold;
  line-height: 1.4;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(14px, 1.2vw, 16px);
  width: clamp(200px, 17.5vw, 246px);
  text-align: center;
  background: linear-gradient(90deg, #B3A36E 0%, #DFBB00 100%);
  clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.18));
}
.sec07 .about_btn {
  width: 324px;
  display: inline-block;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  border-radius: 50vh;
  border: 2px solid #3881B6;
  background-color: #fff;
  margin: 30px 50px;
  padding: 20px 0;
}
.sec07 .about_btn::before {
  content: "";
  position: absolute;
  width: 46px;
  height: 46px;
  right: 15px;
  bottom: 50%;
  transform: translateY(-50%);
  background: url(/images/index/blue_yajirushi.webp) center/contain no-repeat;
}
@media screen and (max-width: 768px) {
  .sec07 {
    margin-bottom: 33.8vw;
  }
  .sec07 .sec_img {
    margin-bottom: 50px;
  }
  .sec07 .sec_img img {
    width: 100%;
    margin: 0;
    position: absolute;
    z-index: -1;
    bottom: 49vw;
  }
  .sec07 .sec_img .sec_header {
    padding-left: 0;
    position: static;
  }
  .sec07 .sec_img .sec_header .sec_subtitle {
    width: 70%;
    margin-bottom: 0;
    bottom: -52vw;
    left: 50%;
    transform: translateX(-50%);
  }
  .sec07 .sec_img .sec_header .sec_title {
    width: 100%;
    font-size: 6vw;
    margin-bottom: 0;
    line-height: 1.5;
  }
  .sec07 .sec_img .sec_header .sec_title .small {
    font-size: 4vw;
  }
  .sec07 .sec_img .sec_header .sec_title .blue {
    font-size: 9vw;
  }
  .sec07 .sec_img .sec_header .sec_text {
    font-size: 4vw;
    padding: 40vw 5vw 5vw;
  }
  .sec07 .sec_body {
    padding: 0 5vw;
  }
  .sec07 .gridbox {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 3vw;
         column-gap: 3vw;
    row-gap: 10vw;
    margin-top: 10vw;
  }
  .sec07 .box::after {
    bottom: -7vw;
    height: 60%;
  }
  .sec07 .textbox {
    bottom: -5vw;
    font-size: 3vw;
  }
  .sec07 .textbox .small, .sec07 .textbox .small02 {
    font-size: 2.5vw;
  }
  .sec07 .textbox .big {
    font-size: 3.8vw;
  }
  .sec07 .textbox01 {
    bottom: -5vw;
    line-height: 1.3;
  }
  .sec07 .doctortext {
    bottom: -9vw;
  }
  .sec07 .textbox02 {
    bottom: -3vw;
  }
  .sec07 .label {
    left: 0;
    bottom: 9vw;
  }
  .sec07 .label01 {
    bottom: 12vw;
  }
  .sec07 .label_text {
    width: 37vw;
    font-size: 2.5vw;
    height: 5vw;
    padding: 2vw 3vw;
  }
  .sec07 .about_link {
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .sec07 .about_btn {
    width: 80vw;
    display: inline-block;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    border-radius: 50vh;
    border: 2px solid #3881B6;
    background-color: #fff;
    margin: 0 5vw;
    padding: 3vw 0;
  }
  .sec07 .about_btn::before {
    content: "";
    position: absolute;
    width: 11vw;
    height: 11vw;
    right: 2vw;
    bottom: 50%;
    transform: translateY(-50%);
    background: url(/images/index/blue_yajirushi.webp) center/contain no-repeat;
  }
}

.sec08 {
  padding: clamp(100px, 10vw, 140px) 0 0;
}
.sec08 .sec_header {
  text-align: center;
  margin-bottom: 130px;
  position: relative;
}
.sec08 .sec_header::before {
  content: "";
  position: absolute;
  width: 213px;
  height: 215px;
  right: 50%;
  bottom: 60px;
  transform: translateX(50%);
  background: url(/images/index/group_logo.webp) center/contain no-repeat;
}
.sec08 .sec_header .sec_title {
  font-size: 50px;
  font-weight: bold;
  font-family: serif;
  color: #444444;
}
.sec08 .sec_header .sec_subtitle {
  font-size: 28px;
  font-weight: bold;
  font-family: serif;
  color: #444444;
  margin-bottom: 0;
}
.sec08 .inner {
  padding: 0;
}
.sec08 .group_box {
  padding: 60px 100px;
  overflow: hidden;
}
.sec08 .group01 {
  margin-bottom: 175px;
  background-image: linear-gradient(180deg, rgba(239, 141, 120, 0), rgba(255, 116, 139, 0.3));
}
.sec08 .group02 {
  margin-bottom: 175px;
  background-image: linear-gradient(180deg, rgba(116, 200, 178, 0), rgba(39, 167, 175, 0.3));
}
.sec08 .group02 .clinic_img {
  grid-column: 2;
}
.sec08 .group02 .clinic_info {
  grid-column: 1;
  right: auto;
  left: clamp(-100px, -8.3vw, -120px);
  border-radius: 0px 40px 40px 0;
  background: linear-gradient(90deg, rgba(39, 167, 175, 0.3), rgba(245, 238, 216, 0.8));
}
.sec08 .group02 .clinic_title::after {
  background: linear-gradient(to right, #27A7AF, #B3A36E);
}
.sec08 .group02 .dept_label {
  border: 2px solid #27A7AF;
}
.sec08 .group02 .department_area {
  border-bottom: 1px solid #27A7AF;
}
.sec08 .group02 .contact_title {
  color: #27A7AF;
}
.sec08 .group02 .clinic_btn {
  background: #27A7AF;
}
.sec08 .group02 .address::before {
  background: url(/images/index/map_green.webp) center/contain no-repeat;
}
.sec08 .group02 .address ul li::before {
  color: #27A7AF;
}
.sec08 .group03 {
  margin-bottom: 175px;
  background-image: linear-gradient(180deg, rgba(223, 187, 0, 0), rgba(223, 187, 0, 0.2));
}
.sec08 .group03 .clinic_info {
  background: linear-gradient(90deg, rgba(245, 238, 216, 0.8), rgba(223, 187, 0, 0.5));
}
.sec08 .group03 .clinic_title::after {
  background: linear-gradient(to right, #ECD300, #B3A36E);
}
.sec08 .group03 .dept_label {
  border: 2px solid #ECD300;
}
.sec08 .group03 .department_area {
  border-bottom: 1px solid #ECD300;
}
.sec08 .group03 .contact_title {
  color: #ECD300;
}
.sec08 .group03 .clinic_btn {
  background: #ECD300;
}
.sec08 .group03 .address::before {
  background: url(/images/index/map_yellow.webp) center/contain no-repeat;
}
.sec08 .group03 .address ul li::before {
  color: #ECD300;
}
.sec08 .group04 {
  margin-bottom: 175px;
  background-image: linear-gradient(180deg, rgba(116, 186, 200, 0), rgba(116, 186, 200, 0.2));
}
.sec08 .group04 .clinic_img {
  grid-column: 2;
}
.sec08 .group04 .clinic_info {
  grid-column: 1;
  right: auto;
  left: clamp(-100px, -8.3vw, -120px);
  border-radius: 0px 40px 40px 0;
  background: linear-gradient(90deg, rgba(56, 129, 182, 0.3), rgba(245, 240, 216, 0.8));
}
.sec08 .group04 .clinic_title::after {
  background: linear-gradient(to right, #3881B6, #ECD300);
}
.sec08 .group04 .dept_label {
  border: 2px solid #3881B6;
}
.sec08 .group04 .department_area {
  border-bottom: 1px solid #3881B6;
}
.sec08 .group04 .contact_title {
  color: #3881B6;
}
.sec08 .group04 .clinic_btn {
  background: #3881B6;
}
.sec08 .group04 .address::before {
  background: url(/images/index/map_blue.webp) center/contain no-repeat;
}
.sec08 .group04 .address ul li::before {
  color: #3881B6;
}
.sec08 {
  /* 上段 */
}
.sec08 .top_area {
  display: grid;
  grid-template-columns: clamp(420px, 36vw, 520px) 1fr;
  -moz-column-gap: clamp(40px, 5vw, 70px);
       column-gap: clamp(40px, 5vw, 70px);
  align-items: center;
  margin-bottom: 270px;
  position: relative;
}
.sec08 .clinic_img {
  width: 621px;
}
.sec08 .clinic_img img {
  width: 100%;
  display: block;
  border-radius: 10px;
}
.sec08 {
  /* タイトルBOX */
}
.sec08 .clinic_info {
  background: linear-gradient(90deg, rgba(245, 222, 216, 0.8), rgba(255, 116, 139, 0.6));
  width: clamp(700px, 54.7vw, 788px);
  box-sizing: border-box;
  padding: clamp(24px, 2.1vw, 36px) clamp(30px, 3vw, 50px);
  border-radius: 40px 0 0 40px;
  position: absolute;
  right: clamp(-100px, -8.3vw, -120px);
  top: clamp(-20px, -2vw, -30px);
}
.sec08 .clinic_title {
  font-size: clamp(28px, 2.5vw, 36px);
  font-weight: bold;
  font-family: serif;
  margin-bottom: clamp(15px, 1.5vw, 20px);
  letter-spacing: 0.1em;
  position: relative;
  padding-bottom: 25px;
}
.sec08 .clinic_title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 3px;
  background: linear-gradient(to right, #FF748B, #B3A36E);
}
.sec08 .clinic_text {
  font-size: clamp(22px, 1.9vw, 28px);
  line-height: 1.9;
  letter-spacing: 0.1em;
  font-family: serif;
  font-weight: bold;
}
.sec08 {
  /* 円カード */
}
.sec08 .cover_box {
  position: relative;
}
.sec08 .feature_area {
  display: grid;
  -moz-column-gap: clamp(20px, 2vw, 30px);
       column-gap: clamp(20px, 2vw, 30px);
  justify-content: space-between;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: clamp(60px, 7vw, 80px);
  position: absolute;
  bottom: -250px;
  right: 50%;
  width: clamp(1000px, 83vw, 1200px);
  transform: translateX(50%);
}
.sec08 .feature {
  width: 22%;
}
.sec08 .circle {
  background: #fff;
  width: clamp(240px, 19vw, 274px);
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 0px 34px rgba(0, 0, 0, 0.25);
  position: relative;
}
.sec08 .area01 .circle01::before {
  content: "";
  position: absolute;
  width: 226px;
  height: 226px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(/images/index/group01_kazari_1.webp) center/contain no-repeat;
}
.sec08 .area01 .circle02::before {
  content: "";
  position: absolute;
  width: 78px;
  height: 78px;
  top: 0;
  left: 40px;
  background: url(/images/index/group01_kazari_2.webp) center/contain no-repeat;
}
.sec08 .area01 .circle02::after {
  content: "";
  position: absolute;
  width: 88px;
  height: 88px;
  bottom: -10px;
  right: 40px;
  background: url(/images/index/group01_kazari_3.webp) center/contain no-repeat;
}
.sec08 .area01 .circle03::before {
  content: "";
  position: absolute;
  width: 137px;
  height: 131px;
  top: -20px;
  right: 20px;
  background: url(/images/index/group01_kazari_4.webp) center/contain no-repeat;
}
.sec08 .area01 .circle04::before {
  content: "";
  position: absolute;
  width: 80px;
  height: 56px;
  bottom: 0;
  left: 30px;
  background: url(/images/index/group03_kazari_5.webp) center/contain no-repeat;
}
.sec08 .area02 .circle_text {
  font-size: clamp(17px, 1.5vw, 22px);
}
.sec08 .area02 .green {
  margin-top: 10px;
  font-size: clamp(22px, 1.9vw, 28px);
  font-weight: bold;
  color: #27A7AF;
  line-height: 1.3;
}
.sec08 .area02 .circle01::before {
  content: "";
  position: absolute;
  width: 94px;
  height: 52px;
  bottom: 30px;
  left: 0;
  background: url(/images/index/group02_kazari_1.webp) center/contain no-repeat;
}
.sec08 .area02 .circle02::before {
  content: "";
  position: absolute;
  width: 96px;
  height: 110px;
  top: -50px;
  right: 50%;
  transform: translateX(50%);
  background: url(/images/index/group02_kazari_2.webp) center/contain no-repeat;
}
.sec08 .area02 .circle03::before {
  content: "";
  position: absolute;
  width: 87px;
  height: 76px;
  bottom: 3px;
  right: 50%;
  transform: translateX(50%);
  background: url(/images/index/group02_kazari_3.webp) center/contain no-repeat;
}
.sec08 .area02 .circle04::before {
  content: "";
  position: absolute;
  width: 151px;
  height: 79px;
  bottom: 0;
  right: 50%;
  transform: translateX(50%);
  background: url(/images/index/group02_kazari_4.webp) center/contain no-repeat;
}
.sec08 .area03 .circle_text {
  font-size: clamp(22px, 1.7vw, 25px);
}
.sec08 .area03 .yellow {
  margin-top: 10px;
  font-size: clamp(22px, 1.9vw, 28px);
  font-weight: bold;
  color: #DFBB00;
  line-height: 1.3;
}
.sec08 .area03 .circle01::before {
  content: "";
  position: absolute;
  width: 83px;
  height: 69px;
  bottom: 20px;
  right: 50%;
  transform: translateX(50%);
  background: url(/images/index/group03_kazari_1.webp) center/contain no-repeat;
}
.sec08 .area03 .circle02::before {
  content: "";
  position: absolute;
  width: 79px;
  height: 76px;
  bottom: 0;
  left: 0;
  background: url(/images/index/group03_kazari_2.webp) center/contain no-repeat;
}
.sec08 .area03 .circle03::before {
  content: "";
  position: absolute;
  width: 66px;
  height: 60px;
  top: 10px;
  right: 50%;
  transform: translateX(50%);
  background: url(/images/index/group03_kazari_3.webp) center/contain no-repeat;
}
.sec08 .area03 .circle03::after {
  content: "";
  position: absolute;
  width: 188px;
  height: 89px;
  bottom: -10px;
  right: 50%;
  transform: translateX(50%);
  background: url(/images/index/group03_kazari_4.webp) center/contain no-repeat;
}
.sec08 .area03 .circle04::before {
  content: "";
  position: absolute;
  width: 80px;
  height: 56px;
  top: 10px;
  right: 10px;
  background: url(/images/index/group03_kazari_5.webp) center/contain no-repeat;
}
.sec08 .area04 .circle_text {
  font-size: clamp(22px, 1.7vw, 25px);
}
.sec08 .area04 .blue {
  margin-top: 10px;
  font-size: clamp(22px, 1.9vw, 28px);
  font-weight: bold;
  color: #3881B6;
  line-height: 1.3;
}
.sec08 .area04 .circle01::before {
  content: "";
  position: absolute;
  width: 172px;
  height: 107px;
  top: -30px;
  right: 50%;
  transform: translateX(50%);
  background: url(/images/index/group04_kazari_1.webp) center/contain no-repeat;
}
.sec08 .area04 .circle02::before {
  content: "";
  position: absolute;
  width: 172px;
  height: 86px;
  top: -10px;
  right: 50%;
  transform: translateX(50%);
  background: url(/images/index/group04_kazari_2.webp) center/contain no-repeat;
}
.sec08 .area04 .circle03::before {
  content: "";
  position: absolute;
  width: 119px;
  height: 71px;
  bottom: 10px;
  right: 50%;
  transform: translateX(50%);
  background: url(/images/index/group04_kazari_3.webp) center/contain no-repeat;
}
.sec08 .area04 .circle04::before {
  content: "";
  position: absolute;
  width: 61px;
  height: 88px;
  top: 0;
  right: 50%;
  transform: translateX(50%);
  background: url(/images/index/group04_kazari_4.webp) center/contain no-repeat;
}
.sec08 .circle_title {
  font-size: clamp(13px, 1vw, 14px);
  color: #c9a88b;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
}
.sec08 .circle_text {
  line-height: 1.3;
  font-size: clamp(18px, 1.6vw, 23px);
  letter-spacing: 0.1em;
}
.sec08 .circle_text .pink {
  margin-top: 10px;
  font-size: clamp(22px, 1.9vw, 28px);
  font-weight: bold;
  color: #FF748B;
  line-height: 1.3;
}
.sec08 {
  /* 診療科 */
}
.sec08 .department_area {
  border-bottom: 1px solid #FF748B;
  padding-top: clamp(20px, 2vw, 30px);
  margin-bottom: clamp(50px, 5vw, 60px);
  padding-bottom: 20px;
  display: grid;
  grid-template-columns: 150px 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
  align-items: center;
}
.sec08 .dept_label {
  border: 2px solid #FF748B;
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 21px;
  background-color: #fff;
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.1em;
}
.sec08 .dept_list {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: clamp(20px, 3vw, 40px);
       column-gap: clamp(20px, 3vw, 40px);
  row-gap: 15px;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.sec08 {
  /* 下段 */
}
.sec08 .bottom_area {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: clamp(40px, 5vw, 70px);
       column-gap: clamp(40px, 5vw, 70px);
  align-items: start;
}
.sec08 {
  /* 診療時間 */
}
.sec08 .time_table {
  width: 100%;
  margin-bottom: clamp(25px, 2vw, 30px);
}
.sec08 .time_y {
  margin-bottom: 0;
}
.sec08 .time_text {
  font-weight: bold;
  margin-bottom: clamp(25px, 2vw, 30px);
}
.sec08 {
  /* CONTACT */
}
.sec08 .contact_tel {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}
.sec08 .contact_text {
  font-size: 21px;
  line-height: 1.5;
}
.sec08 .contact_title {
  font-size: clamp(24px, 2.1vw, 30px);
  letter-spacing: 0.1em;
  color: #FF748B;
}
.sec08 .tel {
  background: rgba(255, 255, 255, 0.7);
  padding: 10px 22px;
  border-radius: 50px;
  font-size: clamp(28px, 2.5vw, 36px);
  letter-spacing: 0.05em;
}
.sec08 .tel .small {
  font-size: 24px;
}
.sec08 {
  /* ボタン */
}
.sec08 .clinic_btn {
  display: inline-block;
  background: #FF748B;
  color: #fff;
  padding: clamp(14px, 1.5vw, 16px) clamp(36px, 3vw, 44px);
  border-radius: 40px;
  font-size: clamp(23px, 1vw, 29px);
  font-weight: bold;
  text-decoration: none;
  width: 80%;
  margin: 10px auto;
  font-family: serif;
  position: relative;
  text-align: center;
  text-shadow: 0 0px 14px rgba(0, 0, 0, 0.25);
  letter-spacing: 0.1em;
}
.sec08 .clinic_btn::before {
  content: ">";
  position: absolute;
  right: 20px;
  bottom: 50%;
  transform: translateY(50%);
  font-size: 29px;
  font-weight: bold;
}
.sec08 {
  /* MAP */
}
.sec08 .map {
  height: 314px;
  margin-bottom: 20px;
}
.sec08 .map iframe {
  width: 100%;
  height: 100%;
}
.sec08 {
  /* 住所 */
}
.sec08 .address {
  font-size: clamp(20px, 1.45vw, 21px);
  padding-left: 50px;
  position: relative;
}
.sec08 .address::before {
  content: "";
  position: absolute;
  width: 50px;
  height: 50px;
  left: 0;
  top: 0;
  background: url(/images/index/map_pink.webp) center/contain no-repeat;
}
.sec08 .address ul {
  margin-top: 10px;
  line-height: 1.8;
  font-size: 20px;
}
.sec08 .address ul li {
  position: relative;
}
.sec08 .address ul li::before {
  content: "●";
  position: absolute;
  font-size: 11px;
  left: -30px;
  bottom: 50%;
  transform: translateY(50%);
  color: #FF748B;
}
@media screen and (max-width: 768px) {
  .sec08 {
    padding: 10vw 0 0 0;
  }
  .sec08 .sec_header {
    margin-bottom: 0;
  }
  .sec08 .sec_header::before {
    width: 48vw;
    height: 28vw;
    bottom: 25vw;
    background: url(/images/common/group_logo_sp.webp) center/contain no-repeat;
  }
  .sec08 .sec_header .sec_title {
    font-size: 7vw;
  }
  .sec08 .sec_header .sec_subtitle {
    font-size: 5vw;
    line-height: 1.5;
  }
  .sec08 .group_box {
    padding: 10vw 5vw;
    margin-bottom: 10vw;
  }
  .sec08 .group02 {
    margin-bottom: 10vw;
  }
  .sec08 .group02 .clinic_img {
    grid-column: 2;
  }
  .sec08 .group02 .clinic_info {
    grid-column: 1;
    right: auto;
    left: -5vw;
    border-radius: 0px 4vw 4vw 0;
  }
  .sec08 .group04 .address p {
    line-height: 1.5;
  }
  .sec08 .group04 .address ul li {
    line-height: 1.5;
  }
  .sec08 .group04 .clinic_info {
    left: -5vw;
  }
  .sec08 {
    /* 上段 */
  }
  .sec08 .top_area {
    display: block;
    margin-bottom: 40vw;
  }
  .sec08 .clinic_img {
    width: 100%;
    margin-bottom: 3vw;
  }
  .sec08 .clinic_img img {
    border-radius: 0;
  }
  .sec08 {
    /* タイトルBOX */
  }
  .sec08 .clinic_info {
    right: -5vw;
    bottom: -36vw;
    top: auto;
    width: 100%;
    padding: 5vw;
    border-radius: 4vw 0 0 4vw;
    margin-bottom: 10vw;
  }
  .sec08 .clinic_title {
    font-size: 5vw;
    padding-bottom: 1vw;
    margin-bottom: 3vw;
    font-feature-settings: "palt";
  }
  .sec08 .clinic_text {
    font-size: 3.8vw;
    line-height: 1.5;
    font-feature-settings: "palt";
  }
  .sec08 {
    /* 円エリア */
  }
  .sec08 .feature_area {
    position: static;
    width: 100%;
    transform: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8vw 3vw;
    margin-bottom: 12vw;
  }
  .sec08 .feature {
    width: 100%;
  }
  .sec08 {
    /* 円 */
  }
  .sec08 .circle {
    width: 100%;
    max-width: 44vw;
    margin: auto;
  }
  .sec08 .circle_text {
    font-size: 3.8vw;
  }
  .sec08 .circle_text .pink,
  .sec08 .circle_text .green,
  .sec08 .circle_text .yellow,
  .sec08 .circle_text .blue {
    font-size: 5.5vw;
    margin-top: 1vw;
  }
  .sec08 .area01 .circle01::before {
    content: "";
    position: absolute;
    width: 53vw;
    height: 44vw;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -58%);
    background: url(/images/index/group01_kazari_1_sp.webp) center/contain no-repeat;
  }
  .sec08 .area01 .circle02::before {
    width: 15vw;
    height: 15vw;
    top: -5vw;
    left: 18vw;
  }
  .sec08 .area01 .circle02::after {
    width: 15vw;
    height: 15vw;
    bottom: auto;
    top: -8vw;
    right: -2vw;
  }
  .sec08 .area01 .circle03::before {
    width: 20vw;
    height: 19vw;
    top: -3vw;
    right: 0;
  }
  .sec08 .area01 .circle04::before {
    width: 17vw;
    height: 12vw;
    bottom: initial;
    left: auto;
    right: -3vw;
    top: -5vw;
  }
  .sec08 .area02 .circle_text {
    font-size: 3.8vw;
  }
  .sec08 .area02 .green {
    margin-top: 1vw;
    font-size: 4.8vw;
  }
  .sec08 .area02 .circle01::before {
    content: "";
    position: absolute;
    width: 22vw;
    height: 12vw;
    bottom: -2vw;
    left: 50%;
    transform: translateX(-60%);
  }
  .sec08 .area02 .circle02::before {
    content: "";
    position: absolute;
    width: 19vw;
    height: 21vw;
    top: -13vw;
    right: 50%;
    transform: translateX(50%);
  }
  .sec08 .area02 .circle03::before {
    width: 16vw;
    height: 14vw;
    bottom: -2vw;
  }
  .sec08 .area02 .circle04::before {
    width: 35vw;
    height: 19vw;
    bottom: -5vw;
    right: 50%;
    transform: translateX(50%);
  }
  .sec08 .area03 .circle_text {
    font-size: 3.8vw;
  }
  .sec08 .area03 .yellow {
    margin-top: 1vw;
    font-size: 5.5vw;
    font-weight: bold;
    color: #DFBB00;
    line-height: 1.3;
  }
  .sec08 .area03 .circle01::before {
    width: 18vw;
    height: 15vw;
    bottom: 0;
    right: 50%;
    transform: translateX(50%);
  }
  .sec08 .area03 .circle02::before {
    width: 15vw;
    height: 18vw;
    bottom: -4vw;
    left: -4vw;
  }
  .sec08 .area03 .circle03::before {
    width: 13vw;
    height: 10vw;
    top: -1vw;
    right: 50%;
    transform: translateX(50%);
  }
  .sec08 .area03 .circle03::after {
    width: 34vw;
    height: 16vw;
    bottom: -8vw;
    right: 50%;
    transform: translateX(50%);
  }
  .sec08 .area03 .circle04::before {
    width: 17vw;
    height: 12vw;
    top: -4vw;
    right: -2vw;
  }
  .sec08 .area04 .circle_text {
    font-size: 3.8vw;
  }
  .sec08 .area04 .blue {
    margin-top: 1vw;
    font-size: 5.5vw;
  }
  .sec08 .area04 .circle01::before {
    width: 30vw;
    height: 19vw;
    top: -8vw;
    right: 50%;
    transform: translateX(50%);
  }
  .sec08 .area04 .circle02::before {
    width: 28vw;
    height: 18vw;
    top: -7vw;
    right: 50%;
    transform: translateX(50%);
  }
  .sec08 .area04 .circle03::before {
    width: 24vw;
    height: 14vw;
    bottom: 0;
    right: 50%;
    transform: translateX(50%);
  }
  .sec08 .area04 .circle04::before {
    width: 11vw;
    height: 15vw;
    top: -2vw;
    right: 50%;
    transform: translateX(50%);
  }
  .sec08 {
    /* 診療科 */
  }
  .sec08 .department_area {
    display: block;
    padding-top: 0;
    margin-bottom: 5vw;
    padding-bottom: 5vw;
  }
  .sec08 .dept_label {
    font-size: 5vw;
    padding: 2vw 10vw;
    margin: 0 auto 4vw;
  }
  .sec08 .dept_label span {
    font-weight: bold;
  }
  .sec08 .dept_list {
    font-size: 4vw;
    row-gap: 2vw;
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .sec08 .dept_list li {
    font-weight: bold;
  }
  .sec08 {
    /* 下段 */
  }
  .sec08 .bottom_area {
    display: block;
  }
  .sec08 .clinic_left {
    margin-bottom: 10vw;
  }
  .sec08 {
    /* 診療時間 */
  }
  .sec08 .time_table {
    width: 100%;
    margin-bottom: 5vw;
  }
  .sec08 .time_y {
    margin-bottom: 0;
  }
  .sec08 .time_text {
    font-size: 3.6vw;
    margin-bottom: 5vw;
  }
  .sec08 {
    /* CONTACT */
  }
  .sec08 .contact_tel {
    flex-direction: column;
    gap: 4vw;
    margin-bottom: 2vw;
    padding: 2vw 5vw;
  }
  .sec08 .contact_text {
    font-size: 5.5vw;
    text-align: center;
  }
  .sec08 .contact_title {
    font-size: 5vw;
  }
  .sec08 .tel {
    font-size: 6vw;
    width: 90vw;
    padding: 3vw 0;
    text-align: center;
  }
  .sec08 .tel .small {
    font-size: 5.8vw;
  }
  .sec08 {
    /* ボタン */
  }
  .sec08 .clinic_btn {
    width: 90vw;
    padding: 4.2vw 0;
    font-size: 4.5vw;
    margin: 0 auto;
  }
  .sec08 .clinic_btn::before {
    font-size: 5vw;
    right: 3vw;
  }
  .sec08 {
    /* MAP */
  }
  .sec08 .map {
    height: 60vw;
    margin-bottom: 5vw;
  }
  .sec08 {
    /* 住所 */
  }
  .sec08 .address {
    font-size: 4vw;
    padding-left: 10vw;
  }
  .sec08 .address p {
    font-weight: bold;
    font-feature-settings: "palt";
  }
  .sec08 .address::before {
    width: 8vw;
    height: 8vw;
  }
  .sec08 .address ul {
    font-size: 4vw;
  }
  .sec08 .address ul li {
    font-weight: bold;
  }
  .sec08 .address ul li::before {
    left: -5vw;
    font-size: 3vw;
  }
}

.sec09 {
  margin-bottom: 130px;
}
.sec09 .info_box {
  width: 1280px;
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  box-sizing: border-box;
  padding: 0 40px;
  -moz-column-gap: 60px;
       column-gap: 60px;
  margin: 0 auto 240px;
}
.sec09 .info_box .pink_box {
  background-color: rgba(232, 83, 119, 0.12);
  width: 422px;
  height: 326px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: 50px;
}
.sec09 .info_box .pink_box .news {
  font-size: 38px;
  color: #E85377;
  font-weight: bold;
  font-family: serif;
}
.sec09 .info_box .pink_box .info {
  font-size: 28px;
  font-weight: bold;
  font-family: serif;
}
.sec09 .info_box .blog_sec {
  max-width: 45%;
  width: 470px;
}
.sec09 .info_box .blog_sec .flex {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
  flex-direction: column;
}
.sec09 .info_box .blog_sec .blog_list {
  width: 100%;
}
.sec09 .info_box .blog_sec .blog_list .blog_wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-bottom: 0.75px solid #666666;
  box-sizing: border-box;
  padding: 10px 1em;
}
.sec09 .info_box .blog_sec .blog_list .blog_wrap .blog_date {
  color: #666666;
  font-size: 15px;
}
.sec09 .info_box .blog_sec .blog_list .blog_wrap .blog_data {
  font-size: 18px;
  color: #4D4D4D;
}
@media screen and (max-width: 768px) {
  .sec09 {
    margin-bottom: 13.8vw;
  }
  .sec09 .info_box {
    width: 100%;
    max-width: 100%;
    display: block;
    padding: 0;
    margin: 0 auto;
  }
  .sec09 .info_box .pink_box {
    width: 100%;
    height: auto;
    padding: 3vw 0;
    margin-bottom: 3vw;
  }
  .sec09 .info_box .pink_box .news {
    font-size: 6vw;
    line-height: 1.3;
  }
  .sec09 .info_box .pink_box .info {
    font-size: 5vw;
  }
  .sec09 .info_box .blog_sec {
    max-width: 93vw;
    width: 93%;
    margin: 0 auto 10vw;
  }
  .sec09 .info_box .blog_sec .title_text {
    font-size: 5vw;
  }
  .sec09 .info_box .blog_sec .flex {
    display: flex;
    -moz-column-gap: 3vw;
         column-gap: 3vw;
  }
  .sec09 .info_box .blog_sec .blog_list {
    width: 100%;
  }
  .sec09 .info_box .blog_sec .blog_list .blog_wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-bottom: 0.75px solid #666666;
    box-sizing: border-box;
    padding: 2.5vw 0.5em;
  }
  .sec09 .info_box .blog_sec .blog_list .blog_wrap .blog_date {
    color: #666666;
    font-size: 3.8vw;
  }
  .sec09 .info_box .blog_sec .blog_list .blog_wrap .blog_data {
    font-size: 4vw;
  }
}

.sec10 {
  padding: 0 0 60px;
  position: relative;
  background-image: linear-gradient(180deg, rgba(250, 204, 181, 0), rgba(250, 204, 181, 0.5));
  margin-bottom: 110px;
}
.sec10 .inner {
  padding: 0 60px 0 0;
}
.sec10 .recruit {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
}
.sec10 .recruit_images {
  max-width: 650px;
  display: flex;
  position: relative;
  z-index: 2;
}
.sec10 .recruit_images img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec10 .recruit_content {
  position: relative;
  z-index: 2;
}
.sec10 .recruit_head {
  position: absolute;
  right: 0;
  top: -120px;
  text-align: right;
}
.sec10 .recruit_head .en {
  font-size: 48px;
  letter-spacing: 0.25em;
  color: #e89a73;
  display: block;
  font-weight: 600;
}
.sec10 .recruit_head h2 {
  font-size: 28px;
  letter-spacing: 0.15em;
}
.sec10 .catch {
  font-size: 34px;
  font-weight: bold;
  font-family: serif;
  margin-bottom: 30px;
  letter-spacing: 0.12em;
}
.sec10 .text {
  font-size: 17px;
  line-height: 2;
  margin-bottom: 40px;
}
.sec10 .about_link {
  text-align: center;
}
.sec10 .recruit_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 280px;
  height: 64px;
  border-radius: 100px;
  color: #fff;
  text-decoration: none;
  font-size: 21px;
  background-color: #F59A6B;
  margin: 0 auto;
  position: relative;
}
.sec10 .recruit_btn::after {
  content: "";
  position: absolute;
  right: 30px;
  bottom: 50%;
  transform: translateY(50%);
  width: 0;
  height: 0;
  border-left: 10px solid #fff;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  margin-left: 14px;
}
@media (max-width: 768px) {
  .sec10 .inner {
    padding: 0 5vw;
  }
  .sec10 .recruit {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
  }
  .sec10 .recruit_images {
    max-width: initial;
    display: flex;
    position: relative;
    z-index: 2;
  }
  .sec10 .recruit_images img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .sec10 .recruit_content {
    position: relative;
    z-index: 2;
  }
  .sec10 .recruit_head {
    position: static;
    text-align: right;
    margin-bottom: 5vw;
  }
  .sec10 .recruit_head .en {
    font-size: 6vw;
    letter-spacing: 0.25em;
    color: #e89a73;
    display: block;
    font-weight: 600;
  }
  .sec10 .recruit_head h2 {
    font-size: 5vw;
    letter-spacing: 0.15em;
  }
  .sec10 .catch {
    font-size: 5.5vw;
    font-weight: bold;
    font-family: serif;
    margin-bottom: 5vw;
    letter-spacing: 0.12em;
    text-align: center;
  }
  .sec10 .text {
    font-size: 4vw;
    line-height: 2;
    margin-bottom: 5vw;
  }
  .sec10 .about_link {
    text-align: center;
  }
  .sec10 .recruit_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80vw;
    height: auto;
    padding: 3vw 0;
    border-radius: 100px;
    color: #fff;
    text-decoration: none;
    font-size: 5vw;
    background-color: #F59A6B;
    margin: 0 auto;
    position: relative;
  }
  .sec10 .recruit_btn::after {
    content: "";
    position: absolute;
    right: 5vw;
    bottom: 50%;
    transform: translateY(50%);
    width: 0;
    height: 0;
    border-left: 3vw solid #fff;
    border-top: 3vw solid transparent;
    border-bottom: 3vw solid transparent;
    margin-left: 0;
  }
}

.sitemap {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(1100px, 95vw, 1369px);
  z-index: 50;
  /* ナビ */
}
.sitemap .m_nav {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  width: 100%;
  height: clamp(70px, 6.6vw, 95px);
  background: #fff;
  border-radius: 20px;
}
.sitemap {
  /* メニュー */
}
.sitemap .m_nav li {
  list-style: none;
  position: relative;
}
.sitemap .m_nav li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 15px;
  bottom: 15px;
  width: 1px;
  background: #E84E87;
}
.sitemap {
  /* 最初のライン削除 */
}
.sitemap .m_nav li:first-child::before {
  display: none;
}
.sitemap {
  /* リンク */
}
.sitemap .m_nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  text-decoration: none;
  font-size: clamp(12px, 0.95vw, 15px);
  line-height: 1.4;
  letter-spacing: 0.05em;
  position: relative;
  transition: 0.25s;
  font-size: clamp(14px, 1.11vw, 16px);
  font-family: serif;
  font-weight: bold;
}
.sitemap {
  /* ドット */
}
.sitemap .m_nav a::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 18px;
  height: 18px;
  background: #E84E87;
  border-radius: 50%;
  transition: opacity 0.25s ease;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.sitemap {
  /* hover */
}
.sitemap .m_nav a:hover::after {
  opacity: 1;
}
.sitemap a:hover {
  opacity: initial;
}
.sitemap {
  /* ホーム */
}
.sitemap .menu_hom a {
  font-weight: 700;
}

.header {
  position: absolute;
  z-index: 1000;
  width: 100%;
  min-width: 1280px;
  max-width: 1440px;
  height: 135px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (min-width: 1441px) {
  .header {
    min-width: initial;
    max-width: initial;
  }
}
.header .header_left {
  padding: 10px 0 0 10px;
}
.header .header_left .title {
  display: flex;
  align-items: center;
}
.header .header_left .title .top_box .flexbox {
  justify-content: flex-start;
}
.header .header_left .title .top_box .company_name {
  font-size: 18px;
  color: #fff;
  padding-left: 10px;
  letter-spacing: 0.1em;
  font-weight: bold;
  font-family: serif;
  text-shadow: 0 0px 14px rgb(0, 0, 0);
}
.header .header_left .title .top_box .company_name .big {
  font-size: 34px;
  font-weight: bold;
}
.header .header_right {
  position: relative;
  z-index: 5;
  display: flex;
  padding-right: 30px;
  padding-top: 10px;
}
.header .header_right .web_btn_box {
  position: relative;
}
.header .header_right .web_btn {
  border: none;
  background: none;
  cursor: pointer;
}
.header {
  /* グリッド */
}
.header .clinic_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.header {
  /* カード */
}
.header .clinic_card {
  width: 100%;
  height: 403px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.header {
  /* 色 */
}
.header .pink {
  background-image: linear-gradient(180deg, #FFB9C2, #F7EEEC);
}
.header .green {
  background-image: linear-gradient(180deg, #CCE5E7, #BEF3E0);
}
.header .yellow {
  background-image: linear-gradient(180deg, #F7EFBA, #FFE2C6);
}
.header .blue {
  background-image: linear-gradient(180deg, #D9F3F9, #BBD9F1);
}
.header {
  /* 名前 */
}
.header .clinic_name {
  font-weight: bold;
  margin-bottom: 12px;
  font-size: clamp(22px, 1.81vw, 26px);
  line-height: 1.5;
  font-family: serif;
  padding-top: 20px;
}
.header .clinic_name .small {
  font-size: clamp(20px, 1.67vw, 24px);
  font-weight: bold;
}
.header {
  /* 電話 */
}
.header .tel {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  background: #fff;
  border-radius: 30px;
  padding: 6px 20px;
  font-size: clamp(23px, 1.94vw, 28px);
  font-weight: bold;
  margin-bottom: 10px;
  border: 2px solid #F54B84;
  letter-spacing: 0.1em;
}
.header .b_gr {
  border: 2px solid #27A7AF;
}
.header .b_ye {
  border: 2px solid #ECD300;
}
.header .b_bl {
  border: 2px solid #3881B6;
}
.header {
  /* テキスト */
}
.header .web_text {
  font-size: clamp(20px, 1.67vw, 24px);
  margin-bottom: 12px;
  font-weight: bold;
  position: relative;
}
.header .web_text::before {
  content: "";
  position: absolute;
  width: 9px;
  height: 34px;
  left: -20px;
  bottom: 50%;
  transform: translateY(50%);
  background: url(/images/common/web_left.webp) center/contain no-repeat;
}
.header .web_text::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 34px;
  right: -20px;
  bottom: 50%;
  transform: translateY(50%);
  background: url(/images/common/web_right.webp) center/contain no-repeat;
}
.header .web_text .gold {
  font-size: clamp(20px, 1.67vw, 24px);
  color: #A98B14;
  font-weight: bold;
}
.header {
  /* ボタン */
}
.header .btn {
  display: block;
  padding: 15px;
  margin-top: 6px;
  font-size: clamp(16px, 1.25vw, 19px);
  text-decoration: none;
  position: relative;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.1em;
  width: 80%;
  text-shadow: 0 0px 14px rgba(0, 0, 0, 0.25);
}
.header .btn::before {
  content: "";
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-top: 20px solid transparent;
  border-bottom: 20px solid #fff;
}
.header .btn .big {
  font-size: 22px;
  font-weight: bold;
}
.header .pi {
  background-color: #FF748B;
}
.header .gr {
  background-color: #27A7AF;
}
.header .ye {
  background-color: #ECD300;
}
.header .bl {
  background-color: #3881B6;
}
@media screen and (max-width: 768px) {
  .header {
    display: none;
    width: 100%;
    min-width: initial;
    padding: 0;
    height: 80px;
    box-sizing: border-box;
  }
  .header .flexbox {
    display: block;
  }
  .header .header_left {
    padding: 10px 0 0 10px;
  }
  .header .header_left .title_box {
    display: flex;
    align-items: center;
  }
  .header .header_left .title_box .top_box .page_title {
    font-size: 3.5vw;
    letter-spacing: 0.05em;
    color: #fff;
  }
  .header .header_left .title_box .top_box .company_name {
    width: 57.25vw;
  }
  .header .header_left .title_box .top_box .company_name img {
    width: 100%;
  }
  .header .header_right {
    display: none;
  }
}

.web_panel {
  position: absolute;
  top: 135px;
  left: 50%;
  transform: translate(-50%, -15px);
  width: clamp(1180px, 99vw, 1424px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s linear 0.35s;
}

/* 開く */
.header.is-open .web_panel, .copy_header.is-open .web_panel {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s;
  background-color: #fff;
  padding: clamp(12px, 1.5vw, 20px) clamp(5px, 0.8vw, 8px);
}

.pc03 {
  display: none;
}

/* =========================
1441px以上
ボタンの下に表示
========================= */
@media screen and (min-width: 1441px) {
  .header_right {
    position: relative;
  }
  .web_btn_box {
    position: relative;
  }
  /* ↓ .web_panel → .header .web_panel に限定 */
  .header .web_panel {
    top: 100%;
    left: auto;
    right: 30px;
    transform: translateY(-15px);
    width: 1424px;
    max-width: calc(100vw - 60px);
  }
  .header.is-open .web_panel {
    transform: translateY(0);
  }
  /* ↓ copy_header用を明示的に追加 */
  .copy_header .web_panel {
    top: 95px;
    left: auto; /* ← 50% をやめる */
    right: 0; /* ← まず右端に合わせる */
    transform: translateY(-15px); /* ← X移動なし */
    width: clamp(1180px, 99vw, 1424px);
    max-width: 100vw;
  }
  .copy_header.is-open .web_panel {
    transform: translateY(0); /* ← X移動なし */
  }
}
.footer {
  width: 100%;
  margin: 0 auto;
}
.footer .inner {
  padding: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 1440px;
}
.footer .last_box {
  display: flex;
  margin: 0 auto;
  padding: clamp(140px, 12vw, 180px) 0 clamp(90px, 8vw, 120px) clamp(20px, 2vw, 30px);
  justify-content: center;
}
.footer .last_box .company_info {
  margin: 0 auto 0 0;
  box-sizing: border-box;
}
.footer .last_box .company_name {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  margin-bottom: 65px;
  align-items: center;
}
.footer .last_box .company_name .company {
  font-size: 30px;
  font-family: serif;
  line-height: 1;
  font-weight: 500;
}
.footer .last_box .company_name .company .small {
  font-size: 18px;
  color: #E85377;
  font-family: initial;
}
.footer .central_box {
  margin-bottom: 80px;
}
.footer .central_box .central_logo {
  text-align: center;
}
.footer .central_box .central_logo .central_text {
  font-family: serif;
  font-weight: bold;
  font-size: 34px;
  line-height: 1.5;
}
.footer .central_box .central_logo .central_text .small {
  font-size: 24px;
  font-weight: bold;
}
.footer .group {
  padding: 0 25px;
}
.footer .group .gridbox {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: 55px;
  -moz-column-gap: 25px;
       column-gap: 25px;
}
.footer .group .gridbox .flexbox {
  height: 100%;
  align-items: stretch;
}
.footer .group .gridbox .box {
  width: 100%;
  background-color: rgba(249, 233, 240, 0.6);
  height: auto;
  min-height: clamp(340px, 26vw, 388px);
}
.footer .group .gridbox .box .textbox {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.footer .group .gridbox .box .imagebox {
  flex: 0 0 45%;
}
.footer .group .gridbox .box .imagebox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.footer .group .gridbox .box .box_title {
  font-size: 20px;
  text-align: center;
  padding: 6px 20px 0;
  line-height: 1.3;
  font-feature-settings: "palt";
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: clamp(60px, 5vw, 80px);
  padding: clamp(4px, 0.4vw, 6px) clamp(16px, 1.5vw, 20px) 0;
  margin-bottom: 10px;
}
.footer .group .gridbox .box .mappin {
  text-align: center;
  padding-top: 10px;
}
.footer .group .gridbox .box .access_cont {
  border-bottom: 2px solid #F54B84;
  margin: 0 20px 15px;
  padding-bottom: 15px;
  min-height: 63px;
}
.footer .group .gridbox .box .box_access {
  font-size: 17px;
  position: relative;
  line-height: 1.3;
  padding: 0 clamp(0px, 0.21vw, 3px) 0 clamp(0px, 1.8vw, 30px);
  font-size: clamp(14px, 1.1vw, 17px);
}
.footer .group .gridbox .box .box_access::before {
  content: "●";
  position: absolute;
  font-size: 10px;
  left: 0px;
  bottom: 50%;
  color: #F54B84;
  transform: translateY(50%);
}
.footer .group .gridbox .box .box_tel {
  padding-left: 30px;
  position: relative;
  margin: 0 20px 15px;
  border-radius: 50vh;
}
.footer .group .gridbox .box .box_tel::before {
  content: "";
  position: absolute;
  width: clamp(34px, 2.78vw, 43px);
  height: clamp(34px, 2.78vw, 43px);
  left: 30px;
  bottom: 50%;
  transform: translateY(60%);
  background: url(/images/common/tel_pink.webp) center/contain no-repeat;
}
.footer .group .gridbox .box .box_tel .tel_num {
  font-size: 31px;
  font-size: clamp(26px, 2vw, 31px);
  font-weight: bold;
  text-align: center;
}
.footer .group .gridbox .box .box_link {
  background-color: #fff;
  font-weight: bold;
  border: 2px solid #F54B84;
  border-radius: 50px;
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-size: clamp(16px, 1.2vw, 18px);
  width: clamp(290px, 23.19vw, 334px);
  height: clamp(48px, 3.82vw, 55px);
  line-height: 1.3;
}
.footer .group .gridbox .box .box_link::before {
  content: "";
  position: absolute;
  width: clamp(31px, 2.78vw, 40px);
  height: clamp(31px, 2.78vw, 40px);
  right: clamp(8px, 0.11vw, 10px);
  bottom: 50%;
  transform: translateY(50%);
  background: url(/images/common/yajirushi_pink.webp) center/contain no-repeat;
}
.footer .group .gridbox .kagoshima {
  position: relative;
}
.footer .group .gridbox .kagoshima .circle {
  position: absolute;
  width: clamp(160px, 14.5vw, 209px);
  height: clamp(160px, 14.5vw, 209px);
  background-color: #FF748B;
  color: #fff;
  right: 50%;
  transform: translateX(0%);
  top: clamp(-30px, -2.8vw, -40px);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  border-radius: 50vh;
  font-size: clamp(19px, 1.8vw, 26px);
  font-family: serif;
  font-weight: bold;
  text-shadow: 0 0px 14px rgba(0, 0, 0, 0.45);
}
.footer .group .gridbox .kagoshima .box_address {
  margin-bottom: 20px;
}
.footer .group .gridbox .tenmon {
  background-color: rgba(116, 200, 178, 0.2);
  position: relative;
}
.footer .group .gridbox .tenmon .circle {
  position: absolute;
  width: clamp(160px, 14.5vw, 209px);
  height: clamp(160px, 14.5vw, 209px);
  background-color: #27A7AF;
  color: #fff;
  right: 50%;
  transform: translateX(0%);
  top: clamp(-30px, -2.8vw, -40px);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  border-radius: 50vh;
  font-size: clamp(19px, 1.8vw, 26px);
  font-family: serif;
  font-weight: bold;
  text-shadow: 0 0px 14px rgba(0, 0, 0, 0.45);
}
.footer .group .gridbox .tenmon .access_cont {
  border-bottom: 2px solid #27A7AF;
}
.footer .group .gridbox .tenmon .box_access::before {
  color: #27A7AF;
}
.footer .group .gridbox .tenmon .box_tel::before {
  background: url(/images/common/tel_green.webp) center/contain no-repeat;
}
.footer .group .gridbox .tenmon .box_link {
  border: 2px solid #27A7AF;
}
.footer .group .gridbox .tenmon .box_link::before {
  background: url(/images/common/yajirushi_green.webp) center/contain no-repeat;
}
.footer .group .gridbox .taniyama {
  background-color: rgba(223, 187, 0, 0.1);
  position: relative;
}
.footer .group .gridbox .taniyama .circle {
  position: absolute;
  width: clamp(160px, 14.5vw, 209px);
  height: clamp(160px, 14.5vw, 209px);
  background-color: #ECD300;
  color: #fff;
  right: 50%;
  transform: translateX(0%);
  top: clamp(-30px, -2.8vw, -40px);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  border-radius: 50vh;
  font-size: clamp(19px, 1.8vw, 26px);
  font-family: serif;
  font-weight: bold;
  text-shadow: 0 0px 14px rgba(0, 0, 0, 0.45);
}
.footer .group .gridbox .taniyama .box_address {
  margin-bottom: 20px;
}
.footer .group .gridbox .taniyama .access_cont {
  border-bottom: 2px solid #ECD300;
}
.footer .group .gridbox .taniyama .box_access::before {
  color: #ECD300;
}
.footer .group .gridbox .taniyama .box_tel::before {
  background: url(/images/common/tel_yellow.webp) center/contain no-repeat;
}
.footer .group .gridbox .taniyama .box_link {
  border: 2px solid #ECD300;
}
.footer .group .gridbox .taniyama .box_link::before {
  background: url(/images/common/yajirushi_yellow.webp) center/contain no-repeat;
}
.footer .group .gridbox .nishijin {
  background-color: rgba(116, 186, 200, 0.2);
  position: relative;
}
.footer .group .gridbox .nishijin .circle {
  position: absolute;
  width: clamp(160px, 14.5vw, 209px);
  height: clamp(160px, 14.5vw, 209px);
  background-color: #3881B6;
  color: #fff;
  right: 50%;
  transform: translateX(0%);
  top: clamp(-30px, -2.8vw, -40px);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  border-radius: 50vh;
  font-size: clamp(19px, 1.8vw, 26px);
  font-family: serif;
  font-weight: bold;
  text-shadow: 0 0px 14px rgba(0, 0, 0, 0.45);
}
.footer .group .gridbox .nishijin .access_cont {
  border-bottom: 2px solid #3881B6;
}
.footer .group .gridbox .nishijin .box_access::before {
  color: #3881B6;
}
.footer .group .gridbox .nishijin .box_tel::before {
  background: url(/images/common/tel_blue.webp) center/contain no-repeat;
}
.footer .group .gridbox .nishijin .box_link {
  border: 2px solid #3881B6;
}
.footer .group .gridbox .nishijin .box_link::before {
  background: url(/images/common/yajirushi_blue.webp) center/contain no-repeat;
}
.footer .menu_box {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(20px, 3vw, 60px);
  padding-right: 0;
  display: grid;
  -moz-column-gap: 15px;
  column-gap: clamp(40px, 7vw, 100px);
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 2fr);
}
.footer .menu_box .list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.footer .menu_box .item {
  margin-bottom: 20px;
  font-size: clamp(16px, 1.39vw, 20px);
}
.footer .menu_box .indent .item {
  padding-left: 1em;
}
.footer .menu_box .item a {
  font-size: 20px;
  color: #444;
  text-decoration: none;
  padding-left: 1.4em;
  letter-spacing: 0.08em;
  position: relative;
}
.footer .menu_box .item a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 9px solid #E84E87;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
}
.footer .menu_box .item_top a::before {
  border-left: 11px solid #E84E87;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
}
.footer .menu_box {
  /* カラム別矢印色 */
}
.footer .menu_box .orange a::before {
  border-left-color: #EF8D78;
}
.footer .menu_box .green a::before {
  border-left-color: #74C8B2;
}
.footer .menu_box .yellow a::before {
  border-left-color: #DFBB00;
}
.footer .menu_box .blue a::before {
  border-left-color: #74BAC8;
}
.footer {
  /* バナー */
}
.footer .banner_box {
  max-width: 1230px;
  margin: 60px auto 125px;
  padding: 0 clamp(20px, 4vw, 55px);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}
.footer .banner_box .banner {
  position: relative;
  z-index: 0;
}
.footer .banner_box .banner a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 8px;
  color: #fff;
  font-weight: bold;
  font-size: clamp(17px, 1.5vw, 22px);
  text-decoration: none;
  height: 104px;
  line-height: 1.5;
  position: relative;
  overflow: hidden;
  padding-bottom: 30px;
  width: 100%;
  cursor: pointer;
  z-index: 2;
}
.footer .banner_box .banner a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 260px;
  height: 134px;
  background: url(/images/common/white_g.webp) center/contain no-repeat;
  z-index: 1;
}
.footer .banner_box {
  /* play circle */
}
.footer .banner_box .play {
  position: absolute;
  right: 18px;
  width: 30px;
  height: 30px;
  bottom: 15px;
  right: 50%;
  transform: translateX(50%);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
}
.footer .banner_box .play::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  border-left: 7px solid currentColor;
  border-top: 7.5px solid transparent;
  border-bottom: 7.5px solid transparent;
}
.footer .banner_box {
  /* banner colors */
}
.footer .banner_box .banner.pink a {
  background: #FF748B;
}
.footer .banner_box .banner.pink a .play::after {
  border-left: 10px solid #FF748B;
}
.footer .banner_box .banner.green a {
  background: #27A7AF;
}
.footer .banner_box .banner.green a .play::after {
  border-left: 10px solid #27A7AF;
}
.footer .banner_box .banner.yellow a {
  background: #ECD300;
}
.footer .banner_box .banner.yellow a .play::after {
  border-left: 10px solid #ECD300;
}
.footer .banner_box .banner.blue a {
  background: #3881B6;
}
.footer .banner_box .banner.blue a .play::after {
  border-left: 10px solid #3881B6;
}
.footer .footer_bottom {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
}
.footer .footer_bottom .bottom_text {
  font-size: 16px;
  padding: 10px;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 1279px) and (min-width: 768px) {
  .footer {
    max-width: 1440px;
    min-width: 1280px;
  }
  .footer .last_box {
    padding-left: 1%;
  }
}
@media screen and (max-width: 768px) {
  .footer {
    min-width: initial;
    width: 100%;
    margin: 0 auto;
    padding-top: 10vw;
  }
  .footer .inner {
    padding: 0;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
  .footer .gmap iframe {
    width: 100%;
    height: 79vw;
  }
  .footer .central {
    width: 80%;
    margin: 0 auto;
  }
  .footer .central_box {
    margin-bottom: 10vw;
  }
  .footer .central_box .central_logo {
    text-align: center;
  }
  .footer .central_box .central_logo .central_text {
    font-family: serif;
    font-weight: bold;
    font-size: 7vw;
    line-height: 1.3;
  }
  .footer .central_box .central_logo .central_text .small {
    font-size: 5vw;
    font-weight: bold;
  }
  .footer .group {
    padding: 0;
  }
  .footer .group .gridbox {
    grid-template-columns: 1fr;
    row-gap: 10vw;
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .footer .group .gridbox .flexbox {
    flex-direction: column;
  }
  .footer .group .gridbox .box {
    min-height: auto;
  }
  .footer .group .gridbox .box .imagebox {
    flex: none;
    width: 100%;
    height: 58.6vw;
  }
  .footer .group .gridbox .box .imagebox img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .footer .group .gridbox .box .textbox {
    padding: 0 5vw 10vw;
  }
  .footer .group .gridbox .box .mappin {
    padding-top: 0;
    width: 10%;
    margin: 0 auto 3vw;
  }
  .footer .group .gridbox .box .mappin img {
    height: auto;
  }
  .footer .group .gridbox .box .box_title {
    font-size: 4.8vw;
    min-height: auto;
    margin-bottom: 3vw;
    padding: 0;
    flex-direction: column;
  }
  .footer .group .gridbox .box .access_cont {
    margin: 0 0 3vw;
    padding-bottom: 3vw;
    min-height: auto;
  }
  .footer .group .gridbox .box .box_access {
    font-size: 4vw;
    padding-left: 5vw;
  }
  .footer .group .gridbox .box .box_access::before {
    font-size: 3vw;
  }
  .footer .group .gridbox .box .box_tel {
    margin: 0 0 3vw 10vw;
    padding-left: 0;
  }
  .footer .group .gridbox .box .box_tel::before {
    width: 8.5vw;
    height: 8.5vw;
    left: 1vw;
  }
  .footer .group .gridbox .box .box_tel .tel_num {
    font-size: 8vw;
  }
  .footer .group .gridbox .box .box_link {
    width: 100%;
    height: 12.8vw;
    font-size: 4vw;
  }
  .footer .group .gridbox .kagoshima .circle,
  .footer .group .gridbox .tenmon .circle,
  .footer .group .gridbox .taniyama .circle,
  .footer .group .gridbox .nishijin .circle {
    width: 32vw;
    height: 32vw;
    font-size: 4vw;
    right: 5vw;
    transform: initial;
    top: 0;
  }
  .footer .menu_box {
    padding: 0;
    margin-bottom: 10vw;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 5vw;
  }
  .footer .menu_box .list {
    display: block;
  }
  .footer .menu_box .list .item {
    margin-bottom: 3vw;
    font-size: 4vw;
  }
  .footer .menu_box .list .item a {
    font-size: 4vw;
  }
  .footer .menu_box .list .item a::before {
    border-left: 3vw solid #E84E87;
    border-top: 2vw solid transparent;
    border-bottom: 2vw solid transparent;
  }
  .footer .menu_box .list .orange a::before {
    border-left-color: #EF8D78;
  }
  .footer .menu_box .list .green a::before {
    border-left-color: #74C8B2;
  }
  .footer .menu_box .list .yellow a::before {
    border-left-color: #DFBB00;
  }
  .footer .menu_box .list .blue a::before {
    border-left-color: #74BAC8;
  }
  .footer .last_box {
    display: block;
    margin: 0 auto;
    padding: 15vw 5vw 0;
    justify-content: center;
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .footer .last_box .imagebox {
    width: 15%;
    margin-bottom: 0;
  }
  .footer .last_box .company_name {
    -moz-column-gap: 2vw;
         column-gap: 2vw;
    margin-bottom: 10vw;
  }
  .footer .last_box .company_name .company {
    text-align: left;
    font-size: 5.5vw;
    margin-bottom: 1vw;
  }
  .footer .last_box .company_name .company .small {
    font-size: 3vw;
  }
  .footer .last_box .telbox {
    text-align: center;
  }
  .footer .last_box .tel_num {
    font-size: 7vw;
    font-weight: bold;
    position: relative;
    text-align: center;
    margin-bottom: 10vw;
  }
  .footer .last_box .flexbox {
    justify-content: flex-start;
    -moz-column-gap: 3vw;
         column-gap: 3vw;
    align-items: flex-start;
    margin-bottom: 5vw;
  }
  .footer .last_box .flexbox .logo {
    width: 15%;
    min-width: initial;
  }
  .footer .last_box .flexbox .address_text {
    font-size: 4vw;
    font-weight: bold;
    color: #fff;
    line-height: 1.7;
  }
  .footer .last_box .flexbox:last-of-type {
    margin-bottom: 10vw;
  }
  .footer .footer_bottom {
    max-width: 100%;
    width: 100%;
    margin: 0 auto 20vw;
  }
  .footer .footer_bottom .bottom_text {
    font-size: 4vw;
    padding: 5vw;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .footer .banner_box {
    max-width: 100%;
    margin: 10vw auto 10vw;
    padding: 0 3vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3vw;
  }
  .footer .banner_box .banner {
    position: relative;
    z-index: 0;
    overflow: hidden;
  }
  .footer .banner_box .banner::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 19.6vw;
    height: 30.2vw;
    background: url(/images/common/white_g_sp.webp) center/contain no-repeat;
    z-index: 1;
  }
  .footer .banner_box .banner a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 8px;
    color: #fff;
    font-weight: bold;
    font-size: 4vw;
    text-decoration: none;
    height: 19vw;
    line-height: 1.3;
    position: relative;
    overflow: hidden;
    padding-bottom: 10vw;
  }
  .footer .banner_box {
    /* play circle */
  }
  .footer .banner_box .play {
    position: absolute;
    width: 8vw;
    height: 8vw;
    bottom: 2vw;
    right: 50%;
    transform: translateX(50%);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
  }
  .footer .banner_box .play::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
    border-left: 7px solid currentColor;
    border-top: 7.5px solid transparent;
    border-bottom: 7.5px solid transparent;
  }
}/*# sourceMappingURL=style05.css.map */