@font-face {
 font-family: "Source Han Serif";
 font-style: normal;
 font-weight: 300;
 src: url("../fonts/SourceHanSerif-Light.woff2") format("woff2"), url("../fonts/SourceHanSerif-Light.woff") format("woff");
 font-display: swap
}

@font-face {
 font-family: "Source Han Serif";
 font-style: normal;
 font-weight: 400;
 src: url("../fonts/SourceHanSerif-Regular.woff2") format("woff2"), url("../fonts/SourceHanSerif-Regular.woff") format("woff");
 font-display: swap
}

@font-face {
 font-family: "Source Han Serif";
 font-style: normal;
 font-weight: 700;
 src: url("../fonts/SourceHanSerif-Bold.woff2") format("woff2"), url("../fonts/SourceHanSerif-Bold.woff") format("woff");
 font-display: swap
}

.p-section__title {
 line-height: 1.1;
 font-size: 1.3333333333rem;
 font-weight: 500;
 color: #06f
}

@media screen and (min-width: 768px) {
 .p-section__title {
  font-size: 1.7333333333rem
 }
}

@media screen and (min-width: 1024px) {
 .p-section__title {
  font-size: 2.1333333333rem
 }
}

.p-section__title--center {
 text-align: center
}



.p-fv__title {
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 1.5;
}

@media screen and (min-width: 1024px) {
 .p-fv__title {
  font-size: 2.1333333333rem;
 }
}

.p-fv__sub {
 margin-top: 9px;
 line-height: 1.7;
}

@media screen and (min-width: 768px) {
 .p-fv__sub {
  margin-top: 16px;
  font-size: rem(18);
 }
}

html {
 font-size: 15px
}

@media(max-width: 375px) {
 html {
  font-size: 4vw
 }
}

@media (min-width: 768px) and (max-width: 1024px) {
 html {
  font-size: 15px
 }
}

@media(min-width: 1200px) {
 html {
  font-size: 15px
 }
}

img {
 vertical-align: bottom;
 max-width: 100%;
 height: auto;
}

button {
 color: #444
}


body {
 min-height: 100vh;
 min-height: 100dvh;
 display: flex;
 flex-direction: column;
 font-family: "Source Han Serif", serif;
 font-feature-settings: "palt";
 color: #444
}

main {
 flex: 1
}

a[href^="tel:"] {
 pointer-events: auto
}

@media screen and (min-width: 1024px) {
 a[href^="tel:"] {
  pointer-events: none
 }
}

a {
 text-decoration: none;
 color: inherit
}

p {
 margin: 0;
}

.sp-only {
 display: block
}

@media screen and (min-width: 768px) {
 .sp-only {
  display: none
 }
}

.l-container {
 margin-inline: auto;
 padding-inline: 15px;
 /* width:100% */
}

@media screen and (min-width: 768px) {
 .l-container {
  max-width: 1170px;
 }
}

.p-fv {
 margin-top: -20px;
}

@media screen and (min-width: 1024px) {
 .p-fv {
  margin-top: 0;
 }
}

.p-fv__inner {
 position: relative;
 background-color: #f7f5f0;
 height: 480px;
 overflow: hidden;
}

@media screen and (min-width: 768px) {
 .p-fv__inner {
  height: 300px
 }
}

@media screen and (min-width: 1024px) {
 .p-fv__inner {
  height: 380px
 }
}

.p-fv__bg {
 position: absolute;
 background-image: url(../images/bg_circle.svg);
 background-position: center center;
 background-size: cover;
 top: 0;
 right: -20vw;
 width: 375px;
 height: 100%
}

@media screen and (min-width: 768px) {
 .p-fv__bg {
  right: 0;
  width: 300px;
 }
}

.p-fv__content {
 position: relative;
 top: 50%;
 transform: translateY(-50%)
}

@media screen and (min-width: 768px) {
 .p-fv__content {
  display: flex;
  align-items: center;
  gap: 30px
 }
}

@media screen and (min-width: 1024px) {
 .p-fv__content {
  gap: 73px
 }
}

.p-fv__text {
 line-height: 1.1
}

.p-fv__pic {
 margin-top: 22px;
 margin-inline: auto;
 /* padding: 8px; */
 width: 275px;
 aspect-ratio: 425/343
}

@media screen and (min-width: 768px) {
 .p-fv__pic {
  width: 328px;
  margin-top: 0;
  padding: 0
 }
}

@media screen and (min-width: 1024px) {
 .p-fv__pic {
  width: 425px
 }
}

.p-fv__img {
 -o-object-fit: cover;
 object-fit: cover;
 width: 100%
}

.p-health-reserve__inner {
 margin-top: 30px
}

.p-health-reserve__content {
 margin-top: 24px;
}

@media screen and (min-width: 768px) {
 .p-health-reserve__content {
  margin-top: 50px;
 }
}


.p-health-reserve__text {
 margin-top: 24px;
 font-weight: 500
}

@media screen and (min-width: 768px) {
 .p-health-reserve__text {
  margin-top: 30px;
  text-align: center
 }
}

.p-health-reserve__buttonArea {
 margin-top: 24px;
 display: grid;
 grid-template-columns: 1fr;
 gap: 20px
}

@media screen and (min-width: 768px) {
 .p-health-reserve__buttonArea {
  max-width: 540px;
  margin-inline: auto;
  margin-top: 30px;
  grid-template-columns: repeat(2, 1fr)
 }
}

@media screen and (min-width: 1024px) {
 .p-health-reserve__buttonArea {
  max-width: 940px;
  grid-template-columns: repeat(4, 1fr)
 }
}

.p-btn--blue {
 line-height: 1.5;
 background: #36c;
 border: 1px solid #2952a3;
 width: 220px;
 margin-inline: auto
}

.p-btn--blue a {
 box-shadow: 0 0 0 1px #4775d1 inset, 0 0 0 2px #2b57ad inset;
 color: #fff;
 display: block;
 padding: 5px 10px;
 text-align: center;
 font-size: 15px
}

.p-btn--blue a:hover {
 background: #4e7ad3;
 box-shadow: 0 0 0 1px #4775d1 inset, 0 0 0 2px #2b57ad inset
}

.p-health-apply__inner {
 margin-top: 24px
}

@media screen and (min-width: 768px) {
 .p-health-apply__inner {
  margin-top: 50px
 }
}

.p-health-apply__content {
 margin-top: 20px;
 display: flex;
 flex-direction: column;
 justify-content: center;
 gap: 24px
}

@media screen and (min-width: 768px) {
 .p-health-apply__content {
  margin-top: 30px;
  flex-direction: row;
  gap: 16px
 }
}

.p-health-apply__processArea {
 max-width: 611px
}

.p-health-apply__wrap {
 padding: 12px;
 display: flex;
 align-items: center;
 gap: 16px;
 border: 1px solid #dfeefe;
 background-color: #fafcff
}

@media screen and (min-width: 1024px) {
 .p-health-apply__wrap {
  padding: 17px
 }
}

.p-health-apply__number {
 line-height: 1.42;
 font-size: 1.6rem;
 font-weight: 500;
 color: #b9d5ff
}

@media screen and (min-width: 1024px) {
 .p-health-apply__number {
  font-size: 2.1333333333rem
 }
}

.p-health-apply__text {
 font-size: .9333333333rem;
 font-weight: 500
}

@media screen and (min-width: 768px) {
 .p-health-apply__text {
  font-size: 1rem
 }
}

.p-health-apply__next {
 padding-block: 20px;
 padding-left: 30px
}

@media screen and (min-width: 1024px) {
 .p-health-apply__next {
  padding-block: 14px
 }
}

.p-health-apply__processInfo {
 margin-top: 20px
}

@media screen and (min-width: 768px) {
 .p-health-apply__processInfo {
  margin-top: 12px
 }
}

.p-health-apply__processText:last-of-type {
 margin-top: 12px
}

.p-health-apply__target {
 margin-inline: auto;
 max-width: 427px;
 aspect-ratio: 427/488
}

@media screen and (min-width: 768px) {
 .p-health-apply__target {
  padding-top: 36px
 }
}

@media screen and (min-width: 1024px) {
 .p-health-apply__target {
  max-width: 514px
 }
}

.p-health-apply__targetImg {
 width: 100%;
 -o-object-fit: cover;
 object-fit: cover
}

.p-health-apply__contact {
 margin-top: 24px;
 margin-inline: auto;
 text-align: center
}

@media screen and (min-width: 768px) {
 .p-health-apply__contact {
  margin-top: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px
 }
}

.p-health-apply__contactLabel {
 font-size: 1.1rem;
}

.p-health-apply__contactDial-label {
 margin-top: 4px;
 line-height: 1.1;
 font-size: 1.3333333333rem;
 font-weight: 500;
 color: #00c
}

.p-health-apply__contactDial {
 margin-top: 16px;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 12px
}

@media screen and (min-width: 768px) {
 .p-health-apply__contactDial {
  margin-top: 0
 }
}

.p-health-apply__contactLink {
 line-height: 1.1;
 font-weight: 500;
 font-size: 2.1333333333rem;
 color: #00c
}

.p-health-apply__contactTime {
 display: block;
 font-size: 1.1rem;
}



.p-dotted {
 margin-top: 40px;
 background-image: linear-gradient(to right, #3399ff, #3399ff 14.28571%, rgba(0, 0, 0, 0) 14.28571%, rgba(0, 0, 0, 0) 100%);
 background-size: 35px 35px;
 height: 5px;
 border: none
}

.p-health-about__inner {
 margin-top: 24px
}

@media screen and (min-width: 768px) {
 .p-health-about__inner {
  margin-top: 40px
 }
}

.p-health-about__text {
 margin-top: 16px
}

@media screen and (min-width: 768px) {
 .p-health-about__text {
  margin-top: 30px
 }
}

.sub_blue {
 color: #39f
}

.accent-blue {
 color: #00c
}

.p-health-step {
 margin-top: 16px
}

@media screen and (min-width: 768px) {
 .p-health-step {
  margin-top: 30px
 }
}

.p-health-step__flow {
 margin-top: 16px
}

@media screen and (min-width: 768px) {
 .p-health-step__flow {
  margin-top: 30px;
  margin-inline: auto;
  max-width: 680px
 }
}

@media screen and (min-width: 1024px) {
 .p-health-step__flow {
  max-width: 840px
 }
}

.p-health-step__wrap {
 padding-block: 16px;
 padding-inline: 11px;
 border: 1px solid #39f;
 border-radius: 20px
}

@media screen and (min-width: 768px) {
 .p-health-step__wrap {
  padding-block: 24px;
  padding-inline: 24px;
  display: flex;
  align-items: center;
  gap: 43px
 }
}

@media screen and (min-width: 1024px) {
 .p-health-step__wrap {
  max-width: 948px
 }
}

.p-health-step__wrap:not(:first-child) {
 margin-top: 16px
}

@media screen and (min-width: 768px) {
 .p-health-step__wrap:not(:first-child) {
  margin-top: 30px
 }
}

.p-health-step__number {
 line-height: 1.42;
 font-weight: 500;
 font-size: 2.1333333333rem
}

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

.p-health-step__number span {
 font-size: 1.0666666667rem;
 text-transform: uppercase;
 display: block
}

.p-health-step__description {
 padding-top: 16px;
 margin-top: 16px;
 border-top: 1px solid #39f;
 line-height: 1.7
}

@media screen and (min-width: 768px) {
 .p-health-step__description {
  max-width: 652px;
  padding-top: 0;
  padding-left: 53px;
  margin-top: 0;
  border-top: 0;
  border-left: 1px solid #39f
 }
}

.p-health-step__title {
 line-height: 1.1;
 font-weight: 500;
 color: #36c;
 font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
 .p-health-step__title {
  font-size: 1.333rem;
 }
}

.p-health-step__item {
 margin-top: 16px;
 margin-inline: auto;
 max-width: 320px
}

@media screen and (min-width: 768px) {
 .p-health-step__item {
  max-width: 746px
 }
}

.p-health-step__itemWrap {
 display: flex;
 flex-direction: column;
 gap: 4px
}

@media screen and (min-width: 768px) {
 .p-health-step__itemWrap {
  flex-direction: row;
  align-items: center;
  gap: 8px
 }
}

.p-health-step__itemWrap:last-of-type {
 margin-top: 16px
}

.p-health-step__arrow {
 text-align: center
}

.p-health-step__img {
 rotate: 90deg;
 display: inline-block
}

@media screen and (min-width: 768px) {
 .p-health-step__img {
  rotate: 0deg;
  display: block
 }
}

.p-health-step__resultNumber {
 text-align: center;
 line-height: 1.1;
 font-size: 1.3333333333rem;
 font-weight: 500;
 color: #36c
}

.p-health-step__itemSupplement {
 margin-top: 12px;
}

@media screen and (max-width: 374px) {
 .p-health-step__itemSupplement {
  font-size: 1rem
 }
}


.p-health-step__count {
 margin-top: 16px
}

.p-health-step__countNumber:not(:first-child) {
 margin-top: 12px
}

.p-health-step__itemContent {
 margin-top: 16px;
 display: flex;
 flex-direction: column;
 gap: 16px
}

@media screen and (min-width: 600px) {
 .p-health-step__itemContent {
  flex-direction: row;
  gap: 20px
 }
}

.p-health-step__groupTitle span {
 color: #06f
}

.p-health-step__groupItem {
 margin-top: 6px;
 padding-block: 8px;
 padding-inline: 8px 2px;
 background-color: #f7f5f0
}

@media screen and (min-width: 600px) {
 .p-health-step__groupItem {
  max-width: 240px
 }
}

.p-health-step__groupItemTitle {
 font-weight: 500;
 font-size: 1.2rem
}

.p-health-step__groupItemHead {
 margin-top: 4px;

}

@media screen and (min-width: 768px) {
 .p-health-step__groupItemHead {
  font-size: .9rem
 }
}

.p-health-step__groupItemWrap {
 margin-top: 4px;
 display: flex;
 align-items: center;
 gap: 4px
}

@media screen and (min-width: 768px) {
 .p-health-step__groupItemNumber {
  font-size: .9rem
 }
}

@media screen and (min-width: 768px) {
 .p-health-step__groupItemResult {
  font-size: .9rem
 }
}

.result__blue {
 color: #36c
}

.result__purple {
 color: #4733cc
}

.p-health-step__text:not(:first-child) {
 margin-top: 16px
}

.p-health-details__inner {
 margin-top: 40px
}

@media screen and (min-width: 768px) {
 .p-health-details__inner {
  margin-top: 80px
 }
}

.p-health-details__intro {
 margin-top: 12px
}

@media screen and (min-width: 768px) {
 .p-health-details__intro {
  margin-top: 24px
 }
}

.table-blue {
 color: #36c
}

.table-p-blue {
 color: #4733cc
}

.p-health-details__pic {
 margin-top: 24px;
 display: block;
}

@media screen and (min-width: 768px) {
 .p-health-details__pic {
  max-width: 600px;
  padding-inline: 30px;
  margin-inline: auto;
  margin-top: 30px
 }
}

@media screen and (min-width: 1024px) {
 .p-health-details__pic {
  max-width: 946px
 }
}

.p-health-details__supplement {
 margin-top: 24px;
 padding-inline: 15px;
 line-height: 1.7
}

@media screen and (min-width: 768px) {
 .p-health-details__supplement {
  max-width: 870px;
  margin-top: 30px;
  margin-inline: auto
 }
}

.p-health-details__type {
 position: relative;
 padding-left: 1em
}

.p-health-details__type::before {
 content: "・";
 display: block;
 position: absolute;
 left: 0;
 top: 0
}

.p-health-details__type:not(:first-child) {
 margin-top: 16px
}

@media screen and (min-width: 768px) {
 .p-health-details__type:not(:first-child) {
  margin-top: 12px
 }
}

.p-health-details__note {
 margin-top: 16px;
 position: relative;
 padding-left: 1em
}

@media screen and (min-width: 768px) {
 .p-health-details__note {
  margin-top: 12px
 }
}

.p-health-details__note::before {
 content: "※";
 display: block;
 position: absolute;
 left: 0;
 top: 0
}

.p-health-courseWrap {
 margin-top: 40px
}

@media screen and (min-width: 768px) {
 .p-health-courseWrap {
  margin-top: 50px
 }
}

.p-health-course:nth-of-type(2) {
 margin-top: 40px
}

@media screen and (min-width: 768px) {
 .p-health-course:nth-of-type(2) {
  margin-top: 50px
 }
}

.p-health-course__title {
 line-height: 1.1;
 font-size: 1.3333333333rem;
 color: #06f;
 display: flex;
 align-items: center;
 flex-direction: column
}

@media screen and (min-width: 768px) {
 .p-health-course__title {
  font-size: 2.1333333333rem
 }
}

.p-health-course__title::after {
 content: "";
 display: block;
 margin-top: 10px;
 width: 40px;
 border-top: 1px solid #06f
}

@media screen and (min-width: 768px) {
 .p-health-course__title::after {
  margin-top: 20px;
  width: 60px
 }
}

.p-health-course__tableArea {
 margin-top: 30px;
 overflow-x: auto;
 -webkit-overflow-scrolling: touch
}

@media screen and (min-width: 768px) {
 .p-health-course__tableArea {
  overflow-x: hidden;
  -webkit-overflow-scrolling: auto
 }
}

.p-health-courseTable {
 width: 100%;

 margin-inline: auto;
 table-layout: fixed;
 border-collapse: collapse;
}

@media screen and (min-width: 768px) {
 .p-health-courseTable {
  width: 562px;
 }
}

@media screen and (min-width: 1024px) {
 .p-health-courseTable {
  width: 840px;
 }
}

.p-health-courseTh {
 width: 100px;
 background-color: #fff;
 border-top: none;
 border-left: none;
 border-bottom: none
}

@media screen and (min-width: 1024px) {
 .p-health-courseTh {
  width: 288px
 }
}

.p-health-courseType {
 width: 231px;
 padding-block: 1.45em;
 border-radius: 10px 0 0 0;
 color: #f3f7ff;
 line-height: 1.1;
 font-size: 1.3333333333rem;
 font-weight: normal;
}

@media screen and (min-width: 1024px) {
 .p-health-courseType {
  width: 276px;
  padding-block: 1em;
  font-size: 1.7333333333rem
 }
}

.p-health-courseType:nth-of-type(2) {
 background-color: #36c
}

.p-health-courseType:last-of-type {
 background-color: #4733cc;
 border-radius: 0px 10px 0px 0px
}

.p-health-courseDays {
 padding-block: 1.7em;
 border: 1px solid #d5e0e9;
 line-height: 1.1;
 font-size: 1.3333333333rem;
 font-weight: normal;
 white-space: nowrap
}

@media screen and (min-width: 1024px) {
 .p-health-courseDays {
  font-size: 1.7333333333rem;
  padding-block: 1.1538461538em;
 }
}

.p-health-courseTr:last-of-type .p-health-courseDays {
 padding-block: 0.4615384615em;
 text-align: center;
 vertical-align: middle
}

.p-health-courseTr:last-of-type td {
 padding-block: 0.6666666667em
}

.p-health-courseTable td {
 padding: 0.6666666667em;
 text-align: center;
 vertical-align: middle;
 border: 1px solid #d5e0e9;
 background-color: #f3f7ff;
 line-height: 1.7;
 font-size: 1.2rem
}

@media screen and (min-width: 1024px) {
 .p-health-courseTable td {
  padding-block: 1.6111111111em;
  padding-inline: 0.5555555556em
 }
}

.p-health-courseTable td:nth-child(3) {
 background-color: #f7f3ff
}

.p-health-courseTable span {
 font-size: .9333333333rem
}

@media screen and (max-width: 374px) {
 .p-health-courseTable span {
  font-size: 1.1rem
 }
}

.p-health-courseEvaluation__text:last-child {
 margin-top: 4px
}

.p-health-tag td {
 position: relative;
 overflow: visible
}

.p-health-courseNote {
 position: absolute;
 bottom: -15px;
 left: 5px;
 z-index: 20;
 padding: 0.3333333333em;
 background-color: #36c;
 font-size: .8rem;
 font-weight: 500;
 color: #f3f7ff;
 white-space: nowrap
}

.p-health-details__contact {
 max-width: 480px;
 margin-top: 40px;
 margin-inline: auto;
 padding-block: 28px;
 padding-inline: 36px;
 text-align: center;
 border: 3px double #06f
}

@media screen and (min-width: 768px) {
 .p-health-details__contact {
  margin-top: 80px;
  padding: 30px
 }
}

.p-health-details__contactDial {
 margin-top: 16px;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 6px
}

@media screen and (min-width: 768px) {
 .p-health-details__contactDial {
  gap: 12px;
 }
}


.p-health-details__contactDial-text {
 line-height: 1.1;
 font-size: 1.3333333333rem;
 font-weight: 500;
 color: #00c
}

.p-health-details__contactLink {
 line-height: 1.1;
 font-weight: 500;
 font-size: 2.1333333333rem;
 color: #00c
}

.p-health-details__contactDial-label {
 margin-top: 16px;
 line-height: 1.1;
 font-size: 1.2rem;
 color: #00c
}

@media screen and (min-width: 768px) {
 .p-health-details__contactDial-label {
  font-size: 1.7333333333rem;
 }
}

.p-health-details__contactTime {
 font-size: 1.1rem;
 margin-top: 8px;
 display: block;
}

/* Safari / Chrome 対応 */
.scroll-hint-wrapper {
 scrollbar-width: none;
 /* Firefox */
 -ms-overflow-style: none;
 /* IE/Edge */
}

.scroll-hint-wrapper::-webkit-scrollbar {
 display: none;
 /* Safari / Chrome */
}




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