/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */ *,::before,::after{box-sizing:border-box;border-style:solid;border-width:0;min-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="number"]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}

html {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
  tab-size: 4; /* 3 */
  font-family: Noto Sans JP, sans-serif; /* 4 */
  font-size: 62.5%;
}
body {
  background: #e5e7eb;;
  color: #505050;
  line-height: inherit; /* 2 */
  font-size: 1.6rem;
  font-weight: 400;
  margin: 0; /* 1 */
}
dt, dd {
  font-weight: 400;
}
img {
  max-width: 100%;
}

/* Common */
.l-section {
  padding: 5rem 1.6rem 0;
}
.l-footer {
  background-color: #000;
  color: #fff;
  padding: 2.4rem 0;
  text-align: center;
}
.l-footer__name {
  font-size: 1.2rem;
}
.l-footer__copyright {
  font-size: .8rem;
}

.title-h2 {
  color: #004097;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 3rem;
  text-align: center;
}
.title-h2__numbering {
  padding-left: 3.2rem;
  position: relative;
}
.title-h2__numbering::before {
  background-color: #3AB2C9;
  content: '';
  width: 16px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: -1.6rem;
  transform: translateY(-50%);
}
.title-h2__numbering::after {
  font-size: 5.4rem;
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
}
.title-h2__numbering--1::after {
  content: '1';
}
.title-h2__numbering--2::after {
  content: '2';
}

/*.line-h2 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
}

h2:before, h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: #004097;
}

h1:before {
  left:0;
}
h1:after {
  right: 0;
}*/

.fz-14 {
  font-size: 1.4rem;
}
.u-fz-30 {
  font-size: 3rem;
}
.highlight-accent {
  color: #004097;
  background: linear-gradient(transparent 60%, #FFE500 60%);
}

.u-margin-0 {
  margin: 0!important;
}
.u-mb-50 {
  margin-bottom: 5rem;
}
.u-mt-10 {
  margin-top: 1rem;
}
.u-mt-12 {
  margin-top: 1.2rem;
}
.u-mt-14 {
  margin-top: 1.4rem;
}
.u-mt-26 {
  margin-top: 2.6rem;
}
.u-mt-30 {
  margin-top: 3rem;
}
.u-mt-50 {
  margin-top: 5rem;
}
.u-txt-c {
  text-align: center;
}
.u-txt--red {color: #FF0000;}
.u-txt-kome {
  font-size: 1.4rem;
  margin-top: .8rem;
}

.btn-wrap,
.btn-reserve-wrap {
  padding: 5rem 1.6rem;
}
.btn {
  border-radius: 24px;
  color: #fff;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  margin: auto;
  padding: 1.2rem 0;
  text-align: center;
  width: 38.4rem;
  max-width: 100%;
  position: relative;
}
.btn::after {
  background-image: url('../img/svg/button-double-arrow.svg');
  background-size: contain;
  background-repeat: no-repeat;
  content: '';
  width: 1.4rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
}
.btn--red {background-color: #F0153D;}
.btn--cyan {background-color: #28B2C9;}
.mark-registered {
  font-size: 1.4rem;
  line-height: 1;
  vertical-align: bottom;
}

.dot-list li {
  margin-bottom: 1rem;
}

.dot-list li:last-child {
  margin-bottom: 0;
}

/* カスタムCSS */
.body-container {
  max-width: 448px;
  margin-left: auto;
  margin-right: auto;
}
.main-wrapper {
  background-color: rgb(255 255 255 / 1);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.bg-blue {
  background-color: #004097;
}

.first-box {
  background-color: #004097;
  color: #fff;
  font-weight: 700;
  padding: 20px 0;
  text-align: center;
}

.fv {
  background: url('../img/kv.png') no-repeat center / cover;
  background-size: cover;
  padding: 3rem 0 5.6rem;
  text-align: center;
  width: 100%;
  height: 100%;
  position: relative;
}

.fv__title {
}
.fv__title span {
  color: #28B2C9;
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  position: relative;
}
.fv__title span::before,
.fv__title span::after {
  background-color: #28B2C9;
  content: '';
  width: 2px;
  height: 5rem;
  position: absolute;
  bottom: 0;
}
.fv__title span::before {
  left: 0;
  transform: rotate(-35deg);
  transform-origin: bottom center;
}
.fv__title span::after {
  right: 0;
  transform: rotate(35deg);
  transform-origin: bottom center;
}
.fv__pr {
  color: #004097;
  display: inline-block;
  font-size: 3.4rem;
  font-weight: 700;
  margin-top: 4rem;
  text-shadow: 3px 3px 0 #FFF, -3px -3px 0 #FFF,
               -3px 3px 0 #FFF, 3px -3px 0 #FFF,
               0px 3px 0 #FFF,  0 -3px 0 #FFF,
               -3px 0 0 #FFF, 3px 0 0 #FFF;
  position: relative;
  z-index: 10;
}
.fv__pr::before {
  background: #FFE500;
  color: #004097;
  display: flex;
    justify-content: center;
    align-items: center;
  content: "無料";
  border-radius: 50%;
  font-size: 1.4rem;
  text-shadow: none;
  width: 5.4rem;
  height: 5.4rem;
  position: absolute;
  top: -25px;
  left: -40px;
  z-index: -1;
}
.fv__btn {
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  max-width: calc(100vw - 3.2rem);
}

.program {
  background-color: #F6F4EE;
  padding: 6.5rem 1.6rem 5rem;
}
.program-combo {
  text-align: center;
}
.program-combo__box {
  background-color: #fff;
  border: 2px solid #28B2C9;
  color: #28B2C9;
  font-size: 2.4rem;
  font-weight: 700;
  padding: 1rem 1.6rem;
  text-align: center;
}
.program-combo__box span {
  color: #505050;
  font-size: 1.4rem;
  font-weight: 400;
}
.program-combo__mark {
  font-size: 2.4rem;
  font-weight: 700;
}
.program-combo__box .mark-registered {
  color: inherit;
  font-weight: 700;
}

.program-combo-horizon {
  display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
  margin-top: 2rem;
}
.program-combo-horizon__item {
  color: #28B2C9;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.program-combo-horizon__item span {
  font-size: 1.1rem;
}
.program-combo-horizon__item .mark-registered {
  color: inherit;
  font-weight: 700;
}
.program-combo-horizon__item-clinic {
  font-size: 1.1rem;
}
.program p {
  text-align: center;
}
.program-combo-horizon__first-paragraph {
  margin: 2rem 0 1rem;
}
.program-combo-horizon__last-paragraph {
  margin-top: 2rem;
}

.monitor {

}

.flow {
  padding-bottom: 5rem;
}

.flow__request {
  border: 2px solid #FF0000;
  border-radius: 10px;
  font-weight: 700;
  padding: 1.8rem 1.5rem;
}

.flow__weeks {
  margin-top: 2rem;
}

.flow-process {
  margin-top: 3rem;
}
.flow-process {
  background-color: #004097;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.flow-process dt {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 1.2rem 0;
  text-align: center;
}
.flow-process dd {
  background-color: #fff;
  border: 2px solid #004097;
  padding: 2rem 1.6rem 3rem;
}

.flow__summary {
  margin-top: 3rem;
  text-align: center;
}
.flow___summary-emphasis {
  font-size: 1.8rem;
  font-weight: 700;
}

.measure {
  background-color: #f6f4ee;
  padding: 2rem 1.6rem;
}
.measure section + section {
  margin-top: 50px;
}
.measure h3 {
  color: #004097;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  margin-top: 5rem;
}
.measure-before-after {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}
.measure-before-after__item {
  width: 50%;
}
.measure-before-after__box {
  text-align: center;
  position: relative;
}
.measure-before-after__box span {
  color: #fff;
  display: block;
  font-weight: 700;
  padding: 1.7rem 0 1.3rem;
}
.measure-before-after__box::after {
  content: url('../img/svg/icon-magnify.svg');
  width: 16px;
  height: 15.7px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
.measure-before-after__box--before {
  background-color: #004097;
}
.measure-before-after__box--after {
  background-color: #28B2C9;
}

.measure-commentary {
  display: flex;
    gap: 1.5rem;
    justify-content: center;
  margin-top: 3rem;
}
.measure-commentary__inner {
  width: calc((100% - 1.5rem) / 2);
}
.measure-commentary__inner p {
  font-size: 1.3rem;
  margin-top: 10px;
}
.measure-conclusion {
  margin-top: 5rem;
}
.measure-conclusion__apeal {
  text-align: center;
}
.measure-conclusion__apeal span {
  background: linear-gradient(transparent 60%, #FFE500 60%);
  display: inline-block;
  color: #004097;
  font-weight: 700;
  text-align: center;
}
.measure-reference {
  display: flex;
    justify-content: flex-start;
  font-size: 1.4rem;
  gap: .5em;
  margin-top: 20px;
  width: 100%;
}
.measure-reference dt {
  font-weight: 700;
  min-width: 8.4rem;
  width: auto;
  position: relative;
}
.measure-reference dd a {
  color: #004097;
  text-decoration: underline;
  position: relative;
}

.doctor {
  padding: 5rem 1.6rem;
}
.doctor .title-h2 {
  margin-bottom: 0;
}
.doctor__heading {
  display: flex;
    gap: 1.8rem;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3rem;
  padding: 0 1.6rem;
}
.doctor__detail {
}
.doctor__katagaki {
  display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: .6rem;
  font-size: 1.1rem;
}
.doctor__katagaki dt {
  border: 1px solid #505050;
  padding: .4rem .5rem;
}
.doctor__name {
  font-size: 1.8rem;
  margin-top: .8rem;
}
.doctor__name dt,
.doctor__name dd {
  font-weight: 700;
}
.doctor__name dt {
  color: #004097;
  font-size: 1.8rem;
}
.doctor__name dd {
  font-size: 1.5rem;
}

.doctor-career {
  margin-top: 3rem;
}
.doctor-career .doctor-career__title {
  background-color: #28bcC9;
  color: #fff;
  padding: .6rem;
  text-align: center;
}
.doctor-career dd {
  
}
.doctor-career__history {
  background-color: #f0f0f0;
  display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    row-gap: 10px;
  font-size: 1.4rem;
  padding: 2rem 1.6rem 3rem;
  width: 100%;
}
.doctor-career__history dt {
  width: 5.5rem;
}
.doctor-career__history dd {
  width: calc(100% - 5.5rem);
}

.monitor {
  border: 2px solid #004097;
  text-align: center;
  margin: 0 1.6rem;
  padding: 2rem;
}

.monitor p {
  background: linear-gradient(transparent 60%, #FFE500 60%);
  color: #004097;
  display: inline;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 3rem;
}

.monitor .btn {
  margin-top: 30px;
}

/* モーダル */
.modal {
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: 0.5s;
  visibility: hidden;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
.modal.is-active {
  opacity: 1;
  visibility: visible;
}
.modal-content {
  background: #fff;
  border-radius: 10px;
  position: fixed;
  transform: translate(-50%, -50%);
  padding: 3rem 1rem;
  box-sizing: border-box;
  width: 400px;
  transition: 0.8s;
  opacity: 1;
  position: relative;
  top: 50%;
  left: 50%;
  z-index: 101;
}

.modal-close {
  cursor: pointer;
  width: 30px;
  position: absolute;
  top: 0;
  right: 0;
}

@media screen and (max-width: 450px) {
  body {
    font-size: 1.4rem;
  }
  .first-box {
    font-size: 1.5rem;
  }
  .fv__title span {
    font-size: 1.8rem;
  }
  .fv__pr {
    font-size: 3rem;
  }
  .fv__pr::before {
    font-size: 1.2rem;
    width: 4.6rem;
    height: 4.6rem;
    top: -20px;
    left: -35px;
  }
  .program-combo__box {
    font-size: 2.2rem;
  }
  .modal-content {
    width: 95%;
  }
  .title-h2__numbering {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 430px) {
  .program-combo__box .program-combo__second-line {
    display: block;
  }
}

.video-area {
  padding: 0rem 0rem 4rem;
  box-sizing: border-box;
  margin: 0 auto; /* 中央寄せしたい場合は追加 */
}

.video-area__content {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px; /* 任意：角丸が必要な場合 */
}