@charset "UTF-8";

/* DIN Alternate bold */
@font-face {
  font-family: "DIN Alternate";
  src: url(../font/din-alternate-bold.ttf) format("opentype");
}

/* font
--------------------- */
/* color
--------------------- */
/* layout
--------------------- */
.body {
  margin-inline: auto;
  width: min(75rem, 100%);
  font-family: "こぶりなゴシック W3 JIS2004", "Koburina Gothic W3 JIS2004", sans-serif;
  color: #333;
  background: #000;
}

.body--mov {
  position: relative;
}

.main--mov {
  padding-top: 15%;
}

img {
  width: 100%;
  vertical-align: middle;
  -o-object-fit: cover;
  object-fit: cover;
  object-position: top;
  height: auto;
}

a {
  transition: .3s;
}

a:hover {
  transform: scale(1.05);
  transition: .3s;
}

@-webkit-keyframes scaleChange {
  0% {
    scale: 1.05;
  }

  50% {
    scale: 0.95;
  }

  100% {
    scale: 1.05;
  }
}

@keyframes scaleChange {
  0% {
    scale: 1.05;
  }

  50% {
    scale: 0.95;
  }

  100% {
    scale: 1.05;
  }
}

/* ボタン */
.cvBtn {
  display: block;
  margin-inline: auto;
  width: clamp(0px, 89.4vw, 67.05rem);
  -webkit-animation: scaleChange 2s infinite;
  animation: scaleChange 2s infinite;
  -webkit-backdrop-filter: unset;
  backdrop-filter: unset;
}

.priceBtn__area {
  padding-inline: 7.75%;
}

.priceBtn__area--mov {
  position: absolute;
  bottom: 7.5%;
}

.priceBtn__hige--mov {
  filter: drop-shadow(0px 3px 26px rgba(0, 0, 0, 0.29));
}

.priceBtn__area--youtube {
  top: 50.5% !important;
}

.priceBtn__area--youtube .priceBtn__item {
  margin-bottom: 5% !important;
}

.priceBtn__item {
  position: absolute;
  bottom: 5%;
  left: 13%;
  right: 13%;
  display: block;
  margin-bottom: 4%;
  cursor: pointer;
}

.priceBtn__item.b_area {
  bottom: 5%;
}

.priceBtn__item.b_area_2 {
  bottom: 10.5%;
}

.priceBtn__item.b_area_3 {
  bottom: 12%;
}

.priceBtn__item.b_area_3.lightPlan {
  bottom: 12%;
}

.priceBtn__item.select_all {
  bottom: 6.5%;
}

.priceBtn__item.select_light {
  bottom: 10%;
}

.priceBtn__item.lightMov_2 {
  bottom: 72%;
}

.priceBtn__atn {
  font-size: clamp(0px, 2.67vw, 2rem);
}

/* 注釈エリア */
*[data-ahead-double] {
  position: relative;
  padding-left: 2em;
}

*[data-ahead-double]::before {
  position: absolute;
  left: 0;
  top: 0;
  content: attr(data-ahead-double);
  display: inline-block;
  color: inherit;
  font: inherit;
}

*[data-ahead-single] {
  position: relative;
  padding-left: 1.3em;
}

*[data-ahead-single]::before {
  position: absolute;
  left: 0;
  top: 0;
  content: attr(data-ahead-single);
  display: inline-block;
  color: inherit;
  font: inherit;
}

/* フローティングエリア */
.floating {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding-block: 3%;
  -webkit-backdrop-filter: blur(5rem);
  backdrop-filter: blur(5rem);
  z-index: 999;
}

@media (min-width: 751px) {
  .floating {
    display: none;
  }
}

.floating--medical {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding-block: 2%;
  -webkit-backdrop-filter: blur(5rem);
  backdrop-filter: blur(5rem);
  z-index: 999;
}

@media (min-width: 1499px) {
  .floating--medical {
    display: none;
  }
}

.floating--medical .cvBtn {
  width: min(53.3vw, 400px);
  -webkit-backdrop-filter: blur(5rem);
  backdrop-filter: blur(5rem);
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.67% 3%;
  background: #fff;
}

.header__logo {
  flex-basis: clamp(0px, 27vw, 19.8rem);
}

.header__nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.5%;
}

.header__navItem:first-of-type {
  width: clamp(0px, 25.3vw, 19rem);
}

.header__navItem:nth-of-type(2) {
  width: clamp(0px, 38.4vw, 28.8rem);
}

.header__navItem--medical {
  width: clamp(0px, 30.3vw, 25rem);
}

.header--mov {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.67% 3%;
  background: #fff;
}

.header--medical {
  height: 96px;
}

@media (max-width: 750px) {
  .header--medical {
    height: auto;
  }
}

.cvBtn {
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
}

.fv {
  /* padding-bottom: 7%; */
  background: #222A37;
}

.afi .fv {
  padding-bottom: 0;
}

.fv--movie {
  background: #000;
}

.fv--medical {
  background: #FFF;
  margin-bottom: clamp(0px, 8vw, 60px);
}

.fv--black {
  padding-bottom: 0;
  /* background: linear-gradient(#000 0%, #000 80%, #B9B9B9 80%, #B9B9B9 100%); */
}

.fv--tiktok,
.fv--all_youtube {
  background: #000;
}

.fv--avenu {
  padding-bottom: 0;
}

.fv--light {
  background: #000;
}

.fv__copy {
  margin-bottom: 3%;
}

.fv__img {
  margin-bottom: 2%;
}

.fv--medical .fv__img {
  margin-bottom: 0;
}

.afi .fv__img {
  margin-bottom: 0;
}

.fv__num {
  display: block;
  text-align: center;
  font-size: clamp(0px, 4.8vw, 3.6rem);
  font-family: "Koburina Gothic W6 JIS2004", "こぶりなゴシック W6 JIS2004", sans-serif;
  line-height: 2em;
  color: #fff;
  background: #000;
}

.fv__select {
  position: relative;
  background: #B9B9B9;
  overflow: hidden;
  transition: 0.5s;
  height: min(180vw, 1350px);
}

.fv__select.active {
  height: min(301vw, 2260px);
}

.fv__selectOverlay {
  position: absolute;
  width: 100%;
  height: min(55.3vw, 415px);
  z-index: 1;
  background: #dbdbdb;
  bottom: 0;
}
.fv__select.active .fv__selectOverlay {
  height: 0;
  background: unset;
}

.fv__select .fv__select--all-b-area {
  margin-bottom: 0;
  position: relative;
}

.fv__selectInner {
  position: absolute;
  top: min(71vw, 540px);
  left: 0;
  padding-inline: 3%;
  width: 100%;
  overflow: hidden;
  transition: 0.5s;
  height: min(55.6vw, 417px);
}

.fv__selectInner.active {
  height: min(179vw, 1342px);
}

.fv__selectInner .moreBtnContainer {
  width: 100%;
  background-image: linear-gradient(to bottom, rgba(219, 219, 219, 0), #dbdbdb 50%, #dbdbdb);
  margin: unset;
  padding: 16% 0 4%;
}
.fv__selectInner .moreBtnContainer .moreBtn {
  width: min(82.9vw, 622px);
  margin: unset;
  margin-inline: auto;
}

.fv__select .cvBtn {
  display: block !important;
  transform: translateY(-40%);
  -webkit-transform: translateY(-40%);
  position: absolute;
  bottom: min(15.3vw, 115px);
  height: min(24.5vw, 184px);
  left: 5%;
  z-index: 2;
}

.fv__selectPrice {
  margin-top: -19%;
  position: relative;
  z-index: 3;
}
.fv__selectPrice input[name="tab_item"] {
  display: none;
}
.fv__selectPrice #tab_1:checked~#tab_item1,
.fv__selectPrice #tab_2:checked~#tab_item2 {
  display: block;
}
.fv__selectPrice #tab_1:checked+.fv__selectPrice__tagBtn,
.fv__selectPrice #tab_2:checked+.fv__selectPrice__tagBtn {
  background: #222A37;
  color: #FFF;
  z-index: 100;
  position: relative;
}

.fv__selectPrice__tagArea {
  flex-wrap: wrap;
}
.fv__selectPrice__tagBtn {
  display: flex;
  justify-content: center;
  align-items: center;
}
.fv__selectPrice__tagBtn span {
  font-size: .55em;
}
.fv__selectPrice__list {
  padding: 7% 5.3% 3%;
  background: #222A37;
  transform: translateY(-1px);
  font-family: "Koburina Gothic W3 JIS2004", "こぶりなゴシック W3 JIS2004", sans-serif;
}
.fv__selectPrice__listItem {
  position: relative;
}


.fv--all-b-area {
  background: linear-gradient(180deg, #000 0%, #000 80%, #b9b9b9 50%);
}

@media (max-width: 750px) {
  .fv .cvBtn {
    display: none;
  }
}

.fv .cvBtn--medical {
  width: clamp(0px, 77vw, 57.05rem);
}

.fv__atn {
  margin-inline: auto;
  width: 89.4%;
  padding-block: 2.5% 4.5%;
  font-size: min(2.6vw, 20px);
  color: #fff;
}

.fv__atn--medical {
  margin-top: 0;
  margin-bottom: 5%;
  padding-block: 0;
  color: #352C27;
  font-size: min(2.13vw, 16px);
}

.fv__bnrArea {
  margin-top: 7%;
  padding: 6.5% 5.3%;
  background: #F4FAFD;
}

.intro--yahoo {
  background: unset;
}

.intro--all {
  background: linear-gradient(to bottom, #5E6876 0, #5E6876 45%, #f6f6f6 45%);
}

.intro--all-autom-content {
  background: #222A37;
}

.intro--normal-all {
  background: linear-gradient(to bottom, #5E6876 0, #5E6876 15%, #f6f6f6 25%);
}

.intro-yahoo--all {
  background: linear-gradient(to bottom, #fff 1%, #f6f6f6 45%);
}

.introPlan {
  background: #222A37;
  padding: 5.3%;
}

.introSec01 {
  background: linear-gradient(to bottom, #222A37, #F2F2F2);
}

.introSec01__start {
  padding-bottom: 10%;
  background: url(../image/intro_sec01_start_bg.webp), #FFFFFF center /cover;
}

.zenshin .introSec01__start {
  padding-bottom: 30%;
}

.introSec01__start .cvBtn {
  margin-top: 4%;
}

.introSec01__atn {
  margin-inline: auto;
  width: 89.4%;
  margin-block: 4%;
  font-size: clamp(0px, 2.67vw, 2rem);
}

.introSec02 {
  position: relative;
  margin-top: -25%;
}

.main--mov .introSec02 {
  padding-bottom: 0;
}

.introSec02__compare {
  position: relative;
}

.introSec02__compareBox-1,
.introSec02__compareBox-2 {
  position: absolute;
  left: 5.2%;
  width: 89%;
}

.introSec02__compareBox-1 {
  position: absolute;
  top: 26.7%;
}

.introSec02__compareBox-2 {
  position: absolute;
  top: 52.7%;
}

.introSec02__compareBox-inner {
  position: relative;
}

.introSec02__compareBox-inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 10%;
  display: inline-block;
  background: transparent;
  z-index: 1;
}

@media screen and (max-width: 480px) {
  .introSec02__compareBox-inner::before {
    bottom: 12%;
  }
}

.introSec02__allPlan {
  position: relative;
  margin-top: -17%;
  overflow: hidden;
}

.introSec02__allPlanPrice {
  height: min(144vw, 1080px);
  transition: 0.5s;
  background: #222A37;
  text-align: center;
  padding: 0 5.35% 5%;
}

.introSec02__active {
  height: min(251vw, 1880px);
}

.introSec02__active.notVio {
  height: min(245vw, 1840px);
}

.introSec02__atn {
  margin-inline: auto;
  margin-block: 4%;
  font-size: clamp(0px, 2.67vw, 2rem);
}

.introSec02__atn--all {
  margin-bottom: 0;
}

@keyframes autoSwipe-drag {
  0% {
    left: 15%;
  }

  50% {
    left: 85%;
  }

  100% {
    left: 15%;
  }
}

@keyframes autoSwipe-img {
  0% {
    width: 15%;
  }

  50% {
    width: 85%;
  }

  100% {
    width: 15%;
  }
}

.cocoen {
  position: relative;
  padding: 0 0 min(30px, 4vw) 0;
}

.cocoen-drag.active {
  animation: autoSwipe-drag 4s infinite ease-in-out;
}

.cocoen-drag::before {
  top: 99%;
  left: 50%;
  margin: 0;
  width: min(22vw, 165px);
  height: min(22vw, 165px);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  background: radial-gradient(circle, #fff 35%, transparent 35%);
}

.cocoen-drag::after {
  top: 99%;
  left: 50%;
  margin: 0;
  width: min(7vw, 52.5px);
  height: min(7vw, 52.5px);
  transform: translate(-50%, -50%);
  background: url(../image/cocoen-drag_arrow.svg) center/contain no-repeat;
  z-index: 3;
}

@media screen and (max-width: 480px) {
  .cocoen-drag::before {
    width: 27vw;
    height: 27vw;
  }

  .cocoen-drag::after {
    width: 8.54vw;
    height: 8.54vw;
  }
}

.slider__before.active {
  animation: autoSwipe-img 4s infinite ease-in-out;
}

.slider__before::after,
.slider__after::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  border-radius: 5px;
}

.slider__before::after {
  top: 98%;
  height: 2.2%;
  background-color: #9F9F9F;
  z-index: 2;
}

.slider__after::after {
  top: 98%;
  height: 2%;
  background-color: #2C9AE5;
  z-index: 1;
}

.moreBtnContainer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto 5%;
  width: 89.3%;
  display: grid;
  place-items: center;
  background: linear-gradient(transparent 0, transparent 60%, #fff 60%, #fff 100%);
}

.moreBtnContainer.open {
  background: linear-gradient(transparent 0, transparent 100%);
}

.moreBtn {
  margin-bottom: min(5vw, 3rem);
  width: 93%;
  font-size: clamp(1.6rem, 4.26vw, 3.2rem);
  font-family: "こぶりなゴシック W6 JIS2004", sans-serif;
  text-align: center;
  line-height: 2em;
  color: #fff;
  border-radius: 2em;
  background: linear-gradient(to bottom, #7AA8C7, #13507B);
  cursor: pointer;
  position: relative;
}

.moreBtnContainer.open .moreBtn {
  margin-bottom: 0;
}

.moreBtn::before,
.moreBtn::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.085em;
  background: #fff;
}

.moreBtn::before {
  right: 1em;
  top: 50%;
  transform: rotate(90deg) translate(-5%, 240%);
  transition: 0.3s;
}

.moreBtn::after {
  right: 1.2em;
  top: 48%;
}

.moreBtnContainer.open .moreBtn::before {
  transform: rotate(0) translate(-28%, 0);
  opacity: 0;
}

.introSec02__meritTtl {
  margin-bottom: -17%;
  margin-top: -1%;
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.meritArea__tabArea {
  display: flex;
  justify-content: space-between;
  gap: 1.5%;
  filter: drop-shadow(0px -2px 3px rgba(0, 0, 0, 0.17));
}

.meritArea__tabBtn {
  flex: 1;
  height: min(13vw, 9.8rem);
  text-align: center;
  font-size: clamp(0px, 5.34vw, 4rem);
  font-family: "Koburina Gothic W6 JIS2004", "こぶりなゴシック W6 JIS2004", sans-serif;
  -webkit-clip-path: polygon(92% 0, 100% 15%, 100% 100%, 0 100%, 0 0);
  clip-path: polygon(92% 0, 100% 15%, 100% 100%, 0 100%, 0 0);
  background: #ABC9DE;
  z-index: 0;
}

.introSec02__meritArea {
  margin-top: 16.5%;
  position: relative;
  z-index: 1;
}

.introSec02__meritArea.select {
  margin-top: 14.5%;
}

@media screen and (min-width: 750.1px) {
  .meritArea__tabBtn {
    cursor: pointer;
  }
}

.meritArea__tabBtn.small {
  font-size: clamp(0px, 4.8vw, 3.6rem);
  letter-spacing: 0.05em;
}

.meritArea__tabBtn span {
  display: block;
  font-size: .55em;
}

.meritArea__tabBtn.active {
  background: #222A37;
  color: #FFF;
  z-index: 100;
  position: relative;
}

.meritArea__content {
  display: none;
  background: #222A37;
  padding: 5% 0;
}

.meritArea__content.active {
  display: block !important;
  filter: drop-shadow(0px -2px 3px rgba(0, 0, 0, 0.17));
}

.meritArea__content .meritArea__list {
  display: none;
}

.meritArea__content h3 {
  height: min(32vw, 240px);
}

.meritArea__list {
  padding: 7% 5.3% 5%;
}

.meritArea__planTtl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: clamp(0px, 5.34vw, 4rem);
  font-family: "こぶりなゴシック W6 JIS2004", sans-serif;
  color: #fff;
  margin-bottom: 4%;
}

.meritArea__planTtl:before,
.meritArea__planTtl:after {
  border-top: 1px solid;
  content: "";
  width: 25%;
}

.meritArea__listItem {
  margin-bottom: 5%;
}

.meritArea__listItem.value {
  margin-bottom: 10%;
}

.meritArea__listNote {
  margin-top: 0.5em;
  padding-inline: 0.8em;
  font-size: clamp(0px, 2.67vw, 2rem);
  color: #FFF;
}

.causeSec01 {
  position: relative;
  padding-bottom: 10%;
  background: url(../image/intro_sec02_bg.webp), #FFF;
}

.causeSec01__cost {
  position: relative;
  padding: 6% 5% 0;
}

.causeSec01__cost--yahoo {
  margin-top: 5%;
}

.causeSec01__Num {
  font-size: clamp(76px, 20.2vw, 150px);
  color: #2C9AE5;
  font-family: "DIN Alternate", sans-serif;
  font-style: italic;
  text-align: right;
}

.causeSec01__NumItem1 {
  top: 25%;
  left: 47%;
  transform: translateX(-50%);
  position: absolute;
}

.causeSec01__NumItem2 {
  top: 35.5%;
  left: 46%;
  letter-spacing: -5px;
  transform: translateX(-50%);
  position: absolute;
}

.causeSec01__NumItem3 {
  top: 57.8%;
  left: 52%;
  transform: translateX(-50%);
  font-size: clamp(64px, 17vw, 128px);
  position: absolute;
}

.causeSec01_saving {
  position: absolute;
  top: 37.5%;
  margin: 0 auto;
  width: 85%;
  left: 7.5%;
}

.causeSec01_saving--yahoo {
  top: 54%;
}

.causeSec01_trouble {
  position: relative;
  padding: 0 5%;
}

.causeSec01_troubleSetuyaku,
.causeSec01_troubleKaihou {
  position: absolute;
  width: 40%;
  top: 80%;
}

.causeSec01_troubleSetuyaku {
  left: 8.1%;
}

.causeSec01_troubleKaihou {
  right: 8.1%;
}

.introSec02--mov {
  background: linear-gradient(to bottom, #F2F2F2 15%, #f6f6f6 25%);
  margin-top: 0;
}

.introSec02--mov--normal {
  bottom: 5.5%;
}

.introSec03 {
  position: relative;
}

.introSec04 {
  position: relative;
  margin-top: -17%;
}

.introSec04 .splide {
  position: absolute;
  top: 44.5%;
  left: 7.6%;
  width: 84.7%;
  z-index: 2;
}

.introSec04__img {
  margin-bottom: -2px;
}

.introSec03 .splide__track,
.introSec04 .splide__track {
  padding-left: 10.35% !important;
  padding-right: 10.35% !important;
}

.introSec04Point {
  position: absolute;
  text-align: center;
  width: 100%;
  top: 28.5%;
  font-size: clamp(16px, 4.2vw, 32px);
  font-weight: 500;
  font-family: "こぶりなゴシック W3 JIS2004", sans-serif;
  color: #292929;
}

.introSec04PointStrong {
  font-size: clamp(28px, 7.4vw, 56px);
}

.introSec03--yahoo .splide {
  top: 65.5%;
}

.introSec03--mov .priceBtn__area {
  top: 45.5% !important;
}

.introSec03 .priceBtn__area {
  position: absolute;
  top: 45%;
  display: grid;
  gap: 1%;
}

.introSec03--b-area {
  margin-bottom: -40%;
}

.tktk .introSec03 .priceBtn__area,
.ytbe .introSec03 .priceBtn__area {
  position: absolute;
  top: 44.8%;
}

.introSec03 .priceBtn__area_all {
  top: 49.5%;
}

.introSec03 .priceBtn__light_all {
  top: 53%;
}

.introSec03 .priceBtn__b-area {
  top: 28.5%
}

.introSec03 .priceBtn__hige_top_b-area {
  top: 24.8%
}

.introSec03 .priceBtn__hige_btm_b-area {
  top: 58.5%;
}

.introSec04--b-area {
  margin-top: 14%;
}

.introSec04_all {
  margin-top: 0;
  background: #EBEBEB;
}

.introSec04Merit {
  position: absolute;
  top: 15.5%;
  left: 0;
}

.introSec04Merit2 {
  position: absolute;
  top: 35.7%;
  left: 0;
}

.introSec04_all .introSec04Merit {
  top: 27.5%;
}

.introSec04_all .introSec04Merit2 {
  top: 62.7%;
}

.introSec04Merit2_all_youtube {
  position: absolute;
  top: 30.7%;
  left: 0;
}

.intro__atn--mov {
  margin-top: -21%;
  margin-bottom: 2%;
  margin-inline: auto;
  width: 89.4%;
  margin-inline: auto;
  width: 89.4%;
  font-size: clamp(0px, 2.67vw, 2rem);
  top: 49%;
}

.medical_body {
  position: relative;
  z-index: 98;
  background: #FFF;
  font-family: sans-serif;
}

.medical_body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  display: inline-block;
  width: 100vw;
  height: 100vh;
  background: center/cover url(./../../asset/image/medical_bg_body.webp);
}

.medical_body .fixedarea__cv {
  position: absolute;
  bottom: 18vh;
  width: 55vh;
  position: fixed;
  max-width: 550px;
}

.medical_body .fixedarea__img {
  width: 100vh;
  height: auto;
  position: fixed;
  /* margin-top: 175px; */
}

.medical_body .fixedarea--left {
  left: 0;
  top: 0;
  bottom: 0;
  display: grid;
  place-items: center;
  width: 50%;
}

@media screen and (max-width: 1499px) {
  .medical_body .fixedarea--left {
    width: 0%;
  }
}

.medical_body .fixedarea {
  position: fixed;
  z-index: 100;
}

@media screen and (max-width: 1499px) {
  .medical_body .fixedarea {
    display: none;
  }
}

.medical_body .wrapper {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  max-width: 750px;
  -webkit-filter: drop-shadow(0 5px 5px #ccc);
  filter: drop-shadow(0 5px 5px #ccc);
  background: #fff;
  transform: translateZ(0);
  z-index: 100;
}

@media screen and (max-width: 1499px) {
  .medical_body .wrapper {
    left: 50%;
    transform: translateX(-50%);
  }
}

.medicalSec00 {
  position: relative;
}

.medicalSec00_campaign {
  position: absolute;
  width: 92%;
  top: 17.5%;
  left: 4%;
}

.medicalSec00_atn {
  width: 97%;
  font-size: clamp(0px, 2vw, 15px);
  margin: clamp(0px, 1.3vw, 10px) auto clamp(0px, 4vw, 30px);
}

.medicalSec02 {
  margin-top: -10%;
  padding-bottom: 0;
  background: transparent;
}

.medicalSec04 {
  margin-top: -30%;
  position: relative;
}

.medicalSec04_plan {
  position: absolute;
  bottom: 4.8%;
  left: 50%;
  width: 84%;
  transform: translateX(-50%);
}

.medicalSec04_plan-swipeicn {
  position: absolute;
  top: 67%;
  left: 50%;
  width: 44%;
  aspect-ratio: 1/1;
  transform: translate(-50%, -60%);
  transition: 0.2s;
  z-index: 1;
}

.medicalSec04 .splide__track {
  padding-left: 0px !important;
}

.medicalSec04 .splide__pagination {
  display: none;
}

.medicalSecMonitor {
  position: relative;
}

.monitor01 {
  position: absolute;
  top: 39.2%;
  left: 5%;
  width: 89.3%;
}

.monitor01_change {
  position: absolute;
  top: 49.7%;
  left: 0;
  width: 100%;
}

.medicalSec06 {
  position: relative;
  z-index: 0;
}

.medicalSec06_atn {
  position: absolute;
  bottom: 4.5%;
  left: 0;
  width: 100%;
  padding: 3% 6%;
  font-size: clamp(0px, 2.67vw, 2rem);
}

.medicalSec07 {
  margin-top: -5%;
  position: relative;
}

.medicalSec08 {
  position: relative;
  z-index: 10;
  margin-top: -30%;
}

.medicalSec09 {
  margin-top: -15%;
}

.movie {
  background-color: #4D4D4D;
  padding: 50px 0 30px 0;
}

.movieBlack {
  background-color: #000;
}

.movieSec_title {
  color: #fff;
  font-family: "ヒラギノ明朝 W8 JIS2004", sans-serif;
  text-align: center;
  font-size: clamp(12px, 3.2vw, 2rem);
  position: relative;
}

.movieSec_title::before,
.movieSec_title::after {
  content: "";
  width: 3%;
  height: 35%;
  position: absolute;
}

.movieSec_title::before {
  border-left: solid 2px #fff;
  border-top: solid 2px #fff;
  top: clamp(14px, 3.7vw, 20px);
  left: clamp(26px, 6.9vw, 110px);
}

.movieSec_title::after {
  border-right: solid 2px #fff;
  border-bottom: solid 2px #fff;
  bottom: clamp(0px, 3.7vw, 0px);
  right: clamp(26px, 6.9vw, 110px);
}

.movieSec_subtitle {
  font-size: clamp(10px, 2.6vw, 14px);
}

.movie_contents {
  margin: 30px 20px;
}

.movieSec_text {
  font-family: "ヒラギノ明朝 W8 JIS2004", sans-serif;
  text-align: center;
  display: inline-block;
  color: #fff;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  font-size: clamp(12px, 3.2vw, 2rem);
}

iframe.youtube-16-9 {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  max-width: 600px;
  display: block;
  margin: auto;
}

.underIcon {
  width: 13px;
  height: 13px;
}

.process__atn {
  margin-top: -21%;
  margin-bottom: 4%;
  margin-inline: auto;
  width: 89.4%;
  margin-inline: auto;
  width: 89.4%;
  font-size: clamp(0px, 2.67vw, 2rem);
}

.processSec01 {
  margin-bottom: -17%;
  z-index: 2;
  position: relative;
}

.processSec02 {
  z-index: 0;
  position: relative;
}

.processSec03 {
  position: relative;
  background: #FFF;
}

.processSec03 .priceBtn__area {
  position: absolute;
  top: 54%;
}

.processSec03--mov .priceBtn__area {
  top: 38%;
}

.which {
  background: #FFF;
  padding-bottom: 10%;
}

.which__atn {
  margin-top: -30%;
  margin-bottom: 4%;
  margin-inline: auto;
  width: 89.4%;
  margin-inline: auto;
  width: 89.4%;
  font-size: clamp(0px, 2.67vw, 2rem);
}

.which .planArea {
  position: relative;
}

.which .planArea .priceBtn__area {
  position: absolute;
  top: 58%;
  z-index: 2;
}

.which .planArea--mov .priceBtn__area {
  top: 14.9%;
  z-index: 2;
}

.which .planArea--mov2 .priceBtn__area {
  top: 41.5%;
}

.which .planArea .mudage- {
  width: auto;
  height: 10%;
  position: absolute;
  top: 13.5%;
  right: 7%;
  z-index: 2;
}

.character {
  background-color: #000;
  padding: 50px 0 30px 0;
  color: #fff;
  font-family: "ヒラギノ明朝 W8 JIS2004", sans-serif;
  text-align: center;
}

.character .br {
  display: block;
}

.characterSec_title {
  font-size: clamp(16px, 4.2vw, 30px);
  position: relative;
}

.characterSec_title::before,
.characterSec_title::after {
  content: "";
  width: 5%;
  height: 35%;
  position: absolute;
}

.characterSec_title::before {
  border-left: solid 2px #fff;
  border-top: solid 2px #fff;
  top: clamp(32px, 8.5vw, 40px);
  left: clamp(58px, 17vw, 110px);
}

.characterSec_title::after {
  border-right: solid 2px #fff;
  border-bottom: solid 2px #fff;
  bottom: clamp(0px, 4.2vw, 0px);
  right: clamp(58px, 17vw, 110px);
}

.characterSec_subtitle {
  font-size: clamp(10px, 2.6vw, 20px);
  margin-bottom: 30px;
}

.characterSec_text {
  margin: 10px 0;
}

.characterMain_title {
  font-size: clamp(30px, 8vw, 60px);
  width: 80%;
  margin: 40px auto 20px auto;
}

.characterMain_title h2 {
  border-bottom: 1px solid #fff;
}

.characterBox {
  display: grid;
  grid-template-columns: 50% 50%;
  margin: 10px;
}

.characterBox_item {
  margin: clamp(8px, 2.1vw, 16px);
}

.characterBox_title {
  font-size: clamp(22px, 5.8vw, 40px);
  margin-top: 10px;
}

.characterBox_text {
  font-size: clamp(12px, 3.2vw, 20px);
  font-family: "ヒラギノ角ゴ W4 JIS2004", sans-serif;
}

.aboutMachine {
  background: #fff;
}

.aboutMachine__content {
  position: relative;
}

.aboutMachine__gif {
  position: absolute;
  top: 15%;
  width: 89.3%;
  height: min(44.2vw, 332px);
  left: 5.3%;
  -o-object-fit: cover;
  object-fit: cover;
}

.aboutMachine__gif_yahoo {
  top: 16.2%;
}

.featureSec01 {
  position: relative;
  background: url(../image/feature_sec_bg.webp);
}

.featureSec01__head {
  background: #5C5C5C;
}

.featureSec01__ttl {
  padding: 1% 5% 0% 5%;
}

.featureSec01__content {
  position: relative;
}

.featureSec01__subttl {
  padding: 7.42% 11.42% 0 11.42%;
}

.featureSec01__point {
  padding: 4% 4% 10% 4%;
}

.featureSec01__pointItem {
  margin-block: 1.5%;
}

.featureSec01__mudage {
  position: absolute;
  width: 17.5%;
  top: 7.8%;
  right: 2.5rem;
  z-index: 4;
}

.featureSec02 {
  position: relative;
  background: url(../image/feature_sec_bg.webp);
}

.featureSec02__head {
  background: #5C5C5C;
}

.featureSec02__ttl {
  padding: 1% 5% 0% 5%;
}

.featureSec02__txt {
  padding: 4% 4% 6%;
}

.featureSec02__table {
  padding: 9% 2% 0;
}

.featureSec02__point {
  position: relative;
  margin-top: -1%;
}

.featureSec02__pointTxt {
  position: absolute;
  bottom: 39%;
  right: 4%;
  width: 72%;
}

.featureSec03 {
  position: relative;
  margin-top: -9%;
}

.featureSec03__all {
  margin-bottom: 1.6%;
}

.featureSec03__ttl {
  position: absolute;
  top: 6.5%;
  left: 0;
  width: 100%;
  margin-top: 2%;
}

.featureSec04 {
  position: relative;
  background: #FFF;
}

.featureSec04_all {
  background: #F2F2F2;
}

.featureSec04_all_youtube {
  position: relative;

}

.featureSec04_all_youtube .priceBtn__area_all {
  position: absolute;
  top: 44.5%;
  left: 0;
}

.featureSec04--b-area {
  margin-bottom: -30%;
}

.featureSec04 .priceBtn__area {
  position: absolute;
  top: 53.5%;
  left: 0;
  display: grid;
  gap: 1%;
}

.line .featureSec04 .priceBtn__area,
.tktk .featureSec04 .priceBtn__area,
.ytbe .featureSec04 .priceBtn__area {
  top: 52.8%;
}

.featureSec04 .priceBtn__area_all {
  top: 66.5%;
}

.featureSec04 .priceBtn__light_all {
  top: 53.5%;
}

.featureSec04 .priceBtn__b-area {
  top: 49.5%;
}

.featureSec04 .priceBtn__item {
  margin-bottom: 4%;
}

.featureSec04 .priceBtn__light_b-area {
  top: 32%;
}

.featureSec04 .priceBtn__hige_top_b-area {
  top: 30%;
}

.featureSec04 .priceBtn__hige_btm_b-area {
  top: 62%;
}

.feature__select {
  position: relative;
  background: #eee;
}

.feature__selectBnr {
  position: absolute;
  top: 24.5%;
  left: 0;
  padding-inline: 3%;
}

.feature__selectBnr--b-area {
  top: 18%;
}

.feature__select .priceBtn__area {
  padding-top: 10%;
  background: #eee;
}

.plan {
  background: #222A37;
}

.plan__btn {
  position: absolute;
  bottom: 25%;
  left: 4%;
  right: 4%;
}

.plan__btnAll {
  position: absolute;
  bottom: 24.5%;
  left: 4%;
  right: 4%;
}

.plan__btnOther {
  position: absolute;
  bottom: 21%;
  left: 4%;
  right: 4%;
}

.plan__btnOther.armpit {
  position: absolute;
  bottom: 25%;
  left: 4%;
  right: 4%;
}

.plan__btnSelectA {
  position: absolute;
  bottom: 24%;
  left: 4%;
  right: 4%;
}

.plan__btnSelectB {
  position: absolute;
  bottom: 24.5%;
  left: 4%;
  right: 4%;
}


.planSec01__head {
  margin-bottom: -15%;
  margin-top: -1%;
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.planSec01__headTtl {
  position: absolute;
  content: "";
  top: 9%;
  left: 2%;
  width: 52.5%;
}

.planArea {
  margin-bottom: -1%;
  position: relative;
  z-index: 5;
}

.planArea--mov {
  display: block;
}

.planArea__tagArea,
.fv__selectPrice__tagArea {
  display: flex;
  justify-content: space-between;
  gap: 1.5%;
  font-family: "Koburina Gothic W6 JIS2004", "こぶりなゴシック W6 JIS2004", sans-serif;
}

.planArea__tagBtn,
.fv__selectPrice__tagBtn {
  flex: 1;
  height: min(14.9vw, 11.2rem);
  line-height: 1em;
  text-align: center;
  font-size: clamp(0px, 5.34vw, 4rem);
  -webkit-clip-path: polygon(92% 0, 100% 15%, 100% 100%, 0 100%, 0 0);
  clip-path: polygon(92% 0, 100% 15%, 100% 100%, 0 100%, 0 0);
  background: #ABC9DE;
  z-index: 0;
  position: relative;
  box-shadow: 0 -2px 2px 1px rgba(0, 0, 0, 0.17);
}

@media screen and (min-width: 750.1px) {
  .planArea__tagBtn,
  .fv__selectPrice__tagBtn {
    cursor: pointer;
  }
}

.planArea__tagBtn:nth-of-type(1),
.planArea__tagBtn:nth-of-type(2),
.planArea__tagBtn:nth-of-type(3) {
  padding-top: 2%;
}

.planArea__tagBtn span {
  display: block;
  font-size: .55em;
}

.planArea__tagBtn.active {
  background: #222A37;
  color: #FFF;
  z-index: 100;
  position: relative;
}

.planArea__list {
  display: none;
  padding: 7% 5.3% 3%;
  background: #222A37;
  transform: translateY(-1px);
  font-family: "Koburina Gothic W3 JIS2004", "こぶりなゴシック W3 JIS2004", sans-serif;
}

.planArea__list.active {
  display: block !important;
  box-shadow: 0 -2px 2px 1px rgba(0, 0, 0, 0.17);
}

.planArea__list .cliniclist,
.fv__selectPrice__list .cliniclist {
  margin-bottom: 6%;
}

.planArea__list .cliniclist__ttl,
.fv__selectPrice__list .cliniclist__ttl {
  margin-bottom: 2.5%;
  text-align: center;
}

.planArea__list .cliniclist__ttl span,
.fv__selectPrice__list .cliniclist__ttl span {
  padding: .3em 3.5em;
  border: 1px solid #fff;
  text-align: center;
  font-size: min(1.8rem, 2.4vw);
  color: #fff;
}

.planArea__listItem {
  margin-bottom: 5%;
  position: relative;
}

.planArea__listItem:nth-of-type(1) .plan__btn {
  bottom: 16%;
}

.planArea__listItem:nth-of-type(2) .plan__btn {
  bottom: 19%;
}

.planArea__listItem:nth-of-type(3) .plan__btn {
  bottom: 19%;
}

.planArea__listItem:nth-of-type(4) .plan__btn {
  bottom: 23.5%;
}

.planArea__listNote,
.fv__selectPrice__listNote {
  margin-top: 0.5em;
  /* padding-inline: 0.8em; */
  font-size: clamp(0px, 2.67vw, 2rem);
  color: #FFF;
}

.payBlock {
  padding-bottom: 7%;
}

.payBlock__head {
  width: 89.3%;
  margin: 0 auto;
}

.planSec02 {
  position: relative;
  z-index: 6;
}

.planSec02__bg {
  width: 100%;
}

.planSec02__student {
  margin-top: -15%
}

.planSec02__tagArea {
  display: flex;
  justify-content: space-between;
  gap: 1.5%;
  font-family: "Koburina Gothic W6 JIS2004", "こぶりなゴシック W6 JIS2004", sans-serif;
}

.planSec02__tagBtn {
  flex: 1;
  margin-bottom: -1px;
  text-align: center;
  font-size: clamp(0px, 5.34vw, 4rem);
  line-height: 2.8em;
  -webkit-clip-path: polygon(92% 0, 100% 15%, 100% 100%, 0 100%, 0 0);
  clip-path: polygon(92% 0, 100% 15%, 100% 100%, 0 100%, 0 0);
  background: #fff;
  color: #333;
  z-index: 0;
  position: relative;
  box-shadow: 0 -2px 2px 1px rgba(0, 0, 0, 0.17);
}

.planSec02__tagBtn.active {
  background: #838383;
  color: #FFF;
  z-index: 100;
  position: relative;
}

.planSec02__student-menu {
  /* display: none; */
  display: block;
  padding: 5% 2.5% 7%;
  background: #838383;
  z-index: 10;
  position: relative;
}

.planSec02__student-menu.active {
  display: block;
}

.planSec02__student-menu-ttlarea {
  margin-bottom: 2.5%;
  text-align: center;
}

.planSec02__student-menu-ttlarea span {
  padding: .3em 3.5em;
  border: 1px solid #fff;
  text-align: center;
  font-size: min(1.8rem, 2.4vw);
  color: #fff;
}

.planSec02__student-menu-clinic {
  margin-bottom: 0.5em;
  /* padding: 0 1em; */
  font-size: min(2rem, 2.67vw);
  color: #fff;
}

.planSec02__student-menu-clinic-atn {
  /* margin-top: .5em; */
  text-align: right;
  display: block;
}

.main--mov .planSec02 .cvBtn {
  margin-block: 10%;
}

.reason {
  width: 100%;
  position: relative;
}

.reasonSec {
  position: absolute;
  top: 7.5%;
  left: 0;
  width: 100%;
  place-items: center;
  display: grid;
  gap: 1.8%;
}

.reasonSec.youtube {
  top: 8.5%;
  gap: 2.3%;
}

.reasonSec.yahoo {
  top: 8%;
  gap: 2%;
}

.reasonSec01 {
  width: 79.2%;
  padding-top: 8%;
}

.reasonSec02 {
  width: 89%;
}

.reasonSec03 {
  width: 78.1%;
}

.reasonSec04 {
  width: 94.6%;
  position: relative;
  text-align: center;
}

.reasonSec04_Num {
  font-size: clamp(81px, 21.6vw, 160px);
  color: #C49B62;
  font-family: "DIN Alternate", sans-serif;
  font-style: italic;
  text-align: right;
  letter-spacing: -3px;
  text-shadow: 2px 2px 0 #D9D9D9;
}

.reasonSec04_Num_bg {
  padding-top: 15px;
  width: 620px;
}

.reason2 {
  background-color: #222A37;
  padding-bottom: 10%;
}

.reason2.--vissel {
  background-color: #020202;
}

.reason2__header {
  position: relative;
}

.reason2__header__ttl {
  padding: 10% 17%;
  position: relative;
  z-index: 10;
}

.reason2__header__logo {
  position: absolute;
  height: 100%;
  width: auto;
  top: 0;
  right: 0;
  mix-blend-mode: overlay;
}

.reason2.--vissel .reason2__header__logo {
  mix-blend-mode: normal;
  opacity: 0.52;
}

.reason2__contents {
  position: relative;
  width: 90%;
  margin: 0 auto;
  padding: 10% 0 16%;
  background-color: #fff;
}

.reason2__contents::before {
    content: "";
    position: absolute;
    top: -1px;
    right: -2px;
    width: 8%;
    aspect-ratio: 1;
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    background-color: #222A37;
}

.reason2.--vissel .reason2__contents::before {
  background-color: #020202;
}

.reason2__contents::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: -2px;
    width: 8%;
    aspect-ratio: 1;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
    background-color: #222A37;
}

.reason2.--vissel .reason2__contents::after {
  background-color: #020202;
}

.reason2__section {
  position: relative;
}

.reason2__section:not(:last-child) {
  padding-bottom: 10%;
}

.reason2__section01 {
  padding: 0 5%;
}

.reason2__section02 img {
  position: relative;
  z-index: 100;
}

.reason2__section04 .reasonSec04_Num_bg {
  width: 95%;
}

.reason2__section04 .reasonSec04_Num_item1 {
  top: 65%;
  right: 42%;
  position: absolute;
}

@media screen and (max-width: 749px) {
  .reasonSec04_Num_bg {
    padding-top: 2vw;
    width: 82.6vw;
  }
}

.reasonSec04_Num_item1 {
  top: 71%;
  right: 42%;
  position: absolute;
}

.reasonSec05 {
  width: 91.3%;
}

.reasonSec05.youtube {
  width: 94.5%;
}

.reasonSec06 {
  width: 94.6%;
  position: relative;
}

.reasonSec06__btnArea {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.reason .cvBtn {
  position: relative;
}

.flow {
  position: relative;
}

.flow__ttl {
  position: absolute;
  top: 5%;
  left: 0;
}

.flow .splide {
  position: absolute;
  top: 42%;
  left: 0;
}

.flow.flow__afi .splide {
  top: 36%;
}

.flow--yahoo {
  padding-block: 0 21%;
}

.flow--yahoo__img {
  background: #838383;
}

.flow--medical {
  background: transparent;
  padding: 0;
  z-index: 0;
  position: relative;
}

.flow--medical_yahoo {
  margin-top: -15%;
}

.flow--medical_list {
  position: absolute;
  bottom: 48%;
  width: 85%;
  left: 50%;
  transform: translateX(-50%);
}

.flow--medical_list_yahoo {
  bottom: 43%;
}

.flow--medical .splide__track {
  padding-left: 0px !important;
}

.flow--medical_arrow {
  width: 34%;
  float: right;
  padding-top: 2%;
}

.flow--medical .splide__pagination {
  bottom: -3.5em;
  width: 34%;
}

@media screen and (max-width: 480px) {
  .flow--medical .splide__pagination {
    bottom: -2.5em;
  }
}

.flow--medical .splide__pagination__page {
  background: #FFF;
  width: 2.2vw;
  height: 2.2vw;
  max-width: 17px;
  max-height: 17px;
  opacity: 1;
  box-shadow: 1px 1px 0px 0px rgba(52, 52, 52, 0.16);
}

.flow--medical .splide__pagination__page.is-active {
  background: #0E193E;
  transform: scale(1);
}

.flow__img {
  position: relative;
  z-index: 1;
}

.flow .cvBtn {
  margin-top: 18%;
}

.splide__track {
  padding-left: 7.35% !important;
}

.splide__slide {
  flex-shrink: 0;
}

.splide__slide.is-next,
.splide__slide.is-prev {
  -webkit-filter: brightness(0.7);
  filter: brightness(0.7);
}

.splide__slideImg {
  display: block;
  width: clamp(0px, 85.3vw, 63.98rem) !important;
}

.splide__arrows {
  display: none;
}

.splide__pagination {
  bottom: -5.5%;
  gap: 2.5%;
}

.splide__pagination__page {
  margin: 0 0.2em;
  width: clamp(0px, 2.13vw, 1.6rem);
  height: clamp(0px, 2.13vw, 1.6rem);
  background: #D5CFCF;
}

.splide__pagination__page.is-active {
  background: #000000;
  transform: unset;
}

.faq {
  background: #FFF;
}

.faq--medical {
  background: linear-gradient(to bottom right, #5A5A5A, #000000);
  padding: 15% 5% 12% 5%;
  outline: 1px solid rgb(255, 255, 255);
  outline-offset: -15px;
  text-align: center;
  z-index: 10;
  position: relative;
}

@media screen and (max-width: 480px) {
  .faq--medical {
    padding: 18.75vw 6.25vw 14.0625vw 6.25vw;
    outline-offset: -3.125vw;
  }
}

.faq--medical_ttl {
  width: 51%;
  margin: 0 auto 10%;
}

.faq--medical_list {
  text-align: left;
  font-family: "ヒラギノ角ゴ Std W6", sans-serif;
  font-weight: 600;
  position: relative;
}

.faq--medical_item {
  background: #FFF;
  color: #000;
  border-radius: 5px;
  margin-bottom: 3%;
}

.faq--medical_question,
.faq--medical_answer {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}

.faq--medical_question::before,
.faq--medical_answer::before {
  position: absolute;
  font-family: "DIN 2014", "din-2014", sans-serif;
  font-style: italic;
  font-weight: 600;
  font-size: clamp(0px, 5vw, 38px);
  top: 1.5rem;
  left: 3.5%;
}

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

  .faq--medical_question::before,
  .faq--medical_answer::before {
    top: 20%;
  }
}

.faq--medical_question {
  padding: 3% 10%;
  position: relative;
  display: block;
  cursor: pointer;
  font-size: clamp(0px, 3.3vw, 25px);
}

.faq--medical_question::before {
  content: "Q";
  color: #777777;
}

.faq--medical_question::after {
  content: "＋";
  position: absolute;
  color: #777777;
  right: 4%;
  top: 2.2rem;
  font-size: clamp(0px, 3.2vw, 24px);
  transition: all 0.3s;
}

@media screen and (max-width: 749px) {
  .faq--medical_question::after {
    top: 30%;
  }
}

.faq--medical_answer {
  position: relative;
  max-height: 0;
  overflow: hidden;
  font-size: clamp(0px, 3vw, 23px);
}

.faq--medical_answer p {
  padding: 3% 0 4% 7%;
  border-top: 2px dotted #65B7D1;
  width: 94%;
  margin: 0 auto;
}

.faq--medical_answer::before {
  content: "A";
  color: #D3B824;
}

.toggle {
  display: none;
}

.toggle:checked+.faq--medical_question+.faq--medical_answer {
  max-height: 500px;
  transition: all 0.2s;
}

.toggle:checked+.faq--medical_question::after {
  content: "ー";
  font-size: clamp(0px, 3.2vw, 24px);
  transform: rotate(180deg) !important;
}

@media screen and (max-width: 749px) {
  .toggle:checked+.faq--medical_question::after {
    top: 30%;
  }
}

.clinic {
  margin-bottom: -1px;
  position: relative;
  z-index: 1;
}

.clinicAcd__stateName {
  position: relative;
  text-align: center;
  font-size: clamp(0px, 4.27vw, 3.2rem);
  font-family: "Koburina Gothic W6 JIS2004", "こぶりなゴシック W6 JIS2004", sans-serif;
  line-height: 3.4em;
  color: #fff;
  border-bottom: 1px solid #fff;
  background: #222A37;
  cursor: pointer;
}

.clinicAcd__stateName::before,
.clinicAcd__stateName::after {
  position: absolute;
  top: 50%;
  right: 1.2em;
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.085em;
  background: #fff;
}

.clinicAcd__stateName::before {
  transform: rotate(90deg) translate(-5%, 240%);
  transition: 0.3s;
}

.clinicAcd__stateName::after {
  transform: translate(-0.23em, -50%);
}

.clinicAcd__stateName.active::before {
  transform: rotate(0) translate(-28%, 0);
  opacity: 0;
}

.clinicAcd__clinicContainer {
  height: 0;
  overflow: hidden;
  transition: 0.25s;
}

.clinicAcd__clinicList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.5%;
  padding: 7% 5.3% 4%;
  background: #f5f5f5;
}

.clinicAcd__clinicListItem {
  flex-shrink: 0;
  width: 48.5%;
}

.clinicAcd__clinicListName {
  margin-bottom: 5.5%;
  padding-block: 5%;
  width: 100.5%;
  text-align: center;
  font-size: clamp(0px, 4.27vw, 3.2rem);
  color: #222A37;
  background: transparent;
  border: 2px solid #222A37;
  transition: 0.2s;
  cursor: pointer;
}

.clinicAcd__clinicListName small {
  display: block;
  font-family: 'こぶりなゴシック StdN', sans-serif;
  font-size: 0.6875em;
  font-weight: lighter;
  letter-spacing: 0.05em;
  color: #222A37;
}

.clinicAcd__clinicListName.active {
  color: #fff;
  background: #286792;
  border: 2px solid #286792;
}

.clinicAcd__clinicListName.active small {
  color: #fff;
}

.clinicAcd__clinicListItem.kokura .clinicAcd__clinicListName.active {
  margin-bottom: 15.5%;
}

.clinicAcd__clinicInfo {
  width: clamp(0px, 89.6vw, 67.2rem);
  height: 0;
  overflow-y: hidden;
}

.clinicAcd__clinicInfoInner {
  margin-bottom: 6%;
  padding: 2% 5% 7%;
  border: 2px solid #286792;
  background: #fff;
}

.clinicAcd__clinicInfoLabel {
  margin-bottom: 2%;
  display: flex;
  align-items: stretch;
  gap: 1.6em;
}

.clinicAcd__clinicInfoLabel.no01 {
  margin-top: 4%;
}

.clinicAcd__clinicNotice {
  margin-top: 5.4%;
  padding: min(4vw, 3rem);
  border: 2px solid #1d81f9;
}

.clinicAcd__clinicNoticeInner {
  color: #2A648D;
  font-size: clamp(0px, 3.47vw, 2.6rem);
  text-align: center;
}

.clinicAcd__clinicNoticeDetail {
  margin-top: 2.8vw;
  font-size: clamp(0px, 3.47vw, 2.6rem);
  color: #222A37;
  text-align: left;
}

.clinicAcd__clinicInfoSummay {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 21.9%;
  min-height: 2.8em;
  text-align: center;
  font-size: clamp(0px, 3.47vw, 2.6rem);
  font-weight: bold;
  background: #EBDDC3;
  color: #222A37;
}

.clinicAcd__clinicInfoDetail {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-family: 'こぶりなゴシック StdN', sans-serif;
  font-weight: 300;
  font-size: clamp(0px, 3.47vw, 2.6rem);
  color: #292929;
}

.clinicAcd__clinicInfoCv {
  position: relative;
  display: block;
  margin-block: 1.2em;
  width: 100%;
  text-align: center;
  font-family: "Koburina Gothic W3 JIS2004", "こぶりなゴシック W3 JIS2004", sans-serif;
  font-size: clamp(0px, 4.53vw, 3.4rem);
  line-height: 2.35em;
  border-radius: 2em;
  color: #fff;
  background: linear-gradient(to right, #286792, #222A37);
  z-index: 1;
}

.clinicAcd__clinicInfoNotice {
  text-align: center;
  display: block;
  margin-top: -10px;
  margin-bottom: clamp(0px, 4vw, 30px);
  font-size: clamp(0px, 2.66vw, 2rem);
}

.clinicAcd__clinicInfoMap {
  margin-bottom: 4.5%;
  aspect-ratio: 2/1;
}

.clinicAcd__doctorInfo {
  padding-inline: 3.3%;
}

.clinicAcd__doctorName {
  display: flex;
  align-items: end;
  margin-bottom: 2.3em;
}

.clinicAcd__doctorName span {
  flex-shrink: 0;
  margin-right: 1.7em;
  font-family: "Koburina Gothic W3 JIS2004", "こぶりなゴシック W3 JIS2004", sans-serif;
  font-size: clamp(0px, 3.47vw, 2.6rem);
  line-height: 2.2em;
}

.clinicAcd__doctorName img {
  flex-shrink: 0;
  width: 50%;
  pointer-events: none;
}

.clinicAcd__doctorHistory dl {
  display: flex;
  gap: 0.5em;
  font-family: "Koburina Gothic W3 JIS2004", "こぶりなゴシック W3 JIS2004", sans-serif;
  font-weight: 300;
  font-size: clamp(0px, 3.47vw, 2.6rem);
  color: #000;
}

.clinicAcd__doctorHistory dt {
  white-space: nowrap;
}

.clinicAcd__doctorHistory dd {
  letter-spacing: 0.02em;
}

.line__bnr {
  margin-inline: auto;
  width: clamp(0px, 89.4vw, 67.05rem);
  margin-bottom: 10%;
}

.clinic__president {
  padding-block: 7% 11%;
  background: #222A37;
}

.clinic__presidentSubttl {
  display: block;
  text-align: center;
  font-family: "Koburina Gothic W3 JIS2004", "こぶりなゴシック W3 JIS2004", sans-serif;
  font-size: clamp(0px, 3.2vw, 2.4rem);
  line-height: 2.6em;
  background: #D9D9D9;
}

.clinic__presidentInner {
  margin-inline: auto;
  width: clamp(0px, 89.4vw, 67.05rem);
  background: #fff;
  overflow: hidden;
}

.clinic__presidentInfo {
  margin: 5% auto;
  width: 80%;
}

.clinic__presidentName {
  display: flex;
  align-items: end;
  gap: 2em;
  margin-bottom: 1em;
  font-family: "Koburina Gothic W3 JIS2004", "こぶりなゴシック W3 JIS2004", sans-serif;
  font-size: clamp(0px, 3.47vw, 2.6rem);
}

.clinic__presidentName span {
  line-height: 2.2em;
  white-space: nowrap;
}

.clinic__presidentName img {
  width: 55%;
}

.clinic__presidentCareer {
  display: flex;
  gap: 0.5em;
  font-family: "Koburina Gothic W3 JIS2004", "こぶりなゴシック W3 JIS2004", sans-serif;
  font-size: clamp(0px, 3.2vw, 2.4rem);
}

.clinic__presidentCareer dt {
  white-space: nowrap;
}

.clinicAcd__clinicList .clinicAcd__clinicListItem:nth-child(2n) .clinicAcd__clinicInfo {
  transform: translateX(-51.4%);
}

.attention {
  margin-bottom: -1px;
  font-size: clamp(0px, 3.47vw, 2.6rem);
  color: #fff;
  background: #222A37;
}

.attention__inner {
  margin: 0 auto;
  width: 89.4%;
}

.attention__head,
.attention__txt,
.attention__list {
  font-family: "Koburina Gothic W3 JIS2004", "こぶりなゴシック W3 JIS2004", sans-serif;
}

.attention__head {
  text-align: center;
}

.attention__subhead {
  margin-block: 1.1em 0.5em;
}

.attention__subhead:first-of-type {
  margin-top: 1.3em;
}

.attention__txt small {
  display: block;
  font-size: clamp(0px, 2.67vw, 2rem);
}

.attention__txt small:first-of-type {
  margin-top: 2.5em;
}

.attention .cvBtn {
  margin-top: 15%;
}

@media (max-width: 750px) {
  .attention .cvBtn {
    display: none;
  }
}

.footer {
  margin-bottom: -15px;
  padding-block: 3em 2em;
  text-align: center;
  font-family: "Koburina Gothic W3 JIS2004", "こぶりなゴシック W3 JIS2004", sans-serif;
  font-size: clamp(0px, 3.47vw, 2.6rem);
  background: #222A37;
}

@media (max-width: 750px) {
  .footer {
    padding-block: 3em 11em;
  }
}

.footer__link {
  display: block;
  margin-bottom: 1em;
  color: #fff;
}

.footer__copy {
  display: block;
  line-height: 3em;
  color: #333;
  background: #D9D9D9;
}

.medical_body .footer {
  padding-block: 3em 0;
}

@media (max-width: 1500px) {
  .medical_body .footer {
    padding-block: 3em 7em;
  }
}

.js_fadein__left {
  transition: 0.6s 0.125s;
}

.js_fadein__left.inactive {
  opacity: 0;
  transform: translateX(-5%);
}

.js_fadein__right {
  transition: 0.6s 0.125s;
}

.js_fadein__right.inactive {
  opacity: 0;
  transform: translateX(5%);
}

.js_fadein__bottom {
  transition: 0.6s 0.125s;
}

.js_fadein__bottom.inactive {
  opacity: 0;
  transform: translateY(5%);
}

.js_marker {
  font-size: clamp(46px, 12vw, 92px);
  background: -webkit-linear-gradient(bottom, rgb(192, 240, 255) 50%, transparent 50%);
  display: inline;
  background: linear-gradient(bottom, rgb(192, 240, 255) 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: background-size 1s ease-in-out;
  margin-left: 17%;
}

.js_marker.is-active {
  background-size: 100% 100%;
}

.js_balloon.is-active {
  -webkit-animation: balloon 0.7s linear;
  animation: balloon 0.7s linear;
}

@-webkit-keyframes balloon {

  0%,
  40%,
  100% {
    transform: scale(1);
  }

  50%,
  90% {
    transform: scale(1.3);
  }
}

@keyframes balloon {

  0%,
  40%,
  100% {
    transform: scale(1);
  }

  50%,
  90% {
    transform: scale(1.3);
  }
}

.js_swaying.is-active {
  -webkit-animation: swaying 2s ease-in-out;
  animation: swaying 2s ease-in-out;
}

@-webkit-keyframes swaying {
  0% {
    transform: rotate(5deg);
  }

  50% {
    transform: rotate(-5deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

@keyframes swaying {
  0% {
    transform: rotate(5deg);
  }

  50% {
    transform: rotate(-5deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

.js_shine {
  position: relative;
  overflow: hidden;
  opacity: 1;
}

.js_shine::before {
  transition: cubic-bezier(0.32, 0, 0.67, 0);
  opacity: 0;
  background-color: #fff;
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  width: 30px;
  height: 100%;
}

.js_shine.is-active::before {
  -webkit-animation: shine 0.5s linear;
  animation: shine 0.5s linear;
}

@-webkit-keyframes shine {
  0% {
    transform: scale(2) rotate(45deg);
    opacity: 0;
  }

  20% {
    transform: scale(20) rotate(45deg);
    opacity: 0.6;
  }

  40% {
    transform: scale(30) rotate(45deg);
    opacity: 0.4;
  }

  80% {
    transform: scale(45) rotate(45deg);
    opacity: 0.2;
  }

  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

@keyframes shine {
  0% {
    transform: scale(2) rotate(45deg);
    opacity: 0;
  }

  20% {
    transform: scale(20) rotate(45deg);
    opacity: 0.6;
  }

  40% {
    transform: scale(30) rotate(45deg);
    opacity: 0.4;
  }

  80% {
    transform: scale(45) rotate(45deg);
    opacity: 0.2;
  }

  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

.js_slideinLeft {
  opacity: 0;
}

.js_slideinLeft.is-active {
  -webkit-animation: slideinLeft 0.4s;
  animation: slideinLeft 0.4s;
  transform: translateX(0) translateY(0);
  opacity: 1;
}

@-webkit-keyframes slideinLeft {
  0% {
    transform: translateX(-250px) translateY(50px);
  }

  100% {
    transform: translateX(0) translateY(0);
  }
}

@keyframes slideinLeft {
  0% {
    transform: translateX(-250px) translateY(50px);
  }

  100% {
    transform: translateX(0) translateY(0);
  }
}

.js_jump.is-active {
  -webkit-animation-name: jump;
  animation-name: jump;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}

@-webkit-keyframes jump {
  0% {
    transform: translate(0%, 5%) rotateY(20deg);
  }

  40% {
    transform: translate(0%, 0%);
  }

  60% {
    transform: translate(0%, 5%) rotateY(20deg);
  }

  100% {
    transform: translate(0%, 0%);
  }
}

@keyframes jump {
  0% {
    transform: translate(0%, 5%) rotateY(20deg);
  }

  40% {
    transform: translate(0%, 0%);
  }

  60% {
    transform: translate(0%, 5%) rotateY(20deg);
  }

  100% {
    transform: translate(0%, 0%);
  }
}