@charset 'UTF-8';
/* ===============================================
#共通部分のスタイル
=============================================== */
.l-container {
  max-width: 750px;
  margin-inline: auto;
}

.l-main__inner {
  padding-right: 15px;
  padding-left: 15px;
  max-width: 375px;
}

.l-main {
  margin-top: 49px;
}

.c-drawer {
  position: fixed;
  z-index: 100;
  top: auto;
  right: 15px;
  display: block;
}

.c-drawer__content {
  height: 100svh;
  left: calc(100% + ((100vw - 100%) / 2));
}

.c-drawer__open {
  width: 32px;
}

.c-heading {
  margin-bottom: 31px;
}

.c-heading.fs-small .c-heading__en {
  font-size: 30px;
  font-size: 3rem;
}

.c-heading__en {
  font-size: 36px;
  font-size: 3.6rem;

  margin-bottom: 0;
}

.c-heading__en.fs-58,
.c-heading__en.fs-48 {
  font-size: 36px;
  font-size: 3.6rem;
}

.c-point__inner {
  max-width: 100%;
}

.c-heading__jp {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
}

.mt-20 {
  margin-top: 20px;
}

.c-padding__top-bottom {
  padding-top: 52px;
  padding-bottom: 70px;
}

.c-point {
  height: auto;
  padding: 36px 5px 20px;
}

.c-point.pt {
  height: 108px;
  padding: 48px 5px 0;
}

.c-point::before {
  bottom: -18px;

  border: 7px solid transparent;
  border-top: 12px solid #fff;
}

.c-point::after {
  bottom: -24px;

  border: 9px solid transparent;
  border-top: 14px solid #f94142;
}

.c-point__point-box {
  top: -20px;

  padding: 4px 9px;
}

.c-point__en {
  font-size: 20px;
  font-size: 2rem;
}

.c-point__number {
  font-size: 32px;
  font-size: 3.2rem;
}

.c-point__text {
  font-size: 18px;
  font-size: 1.8rem;
}

.c-point__text strong {
  font-size: 22px;
  font-size: 2.2rem;
}

.pc {
  display: none;
}

.pc_tb {
  display: none;
}

.tb_sp {
  display: block;
}

.pc_sp {
  display: block;
}

.tb {
  display: block;
}

.sp {
  display: block;
}

/* ===============================================
#header
=============================================== */
.header {
  max-width: 750px;
  left: 50%;
  transform: translateX(-50%);
  padding: 11px 0 14px;
  background-color: #f94142;
}

.header__inner {
  max-width: 100%;
}

.header__logo-text {
  font-size: 18px;
}

.header.headerColorScroll {
  background-color: #f94142;
}

.header.shopPage {
  background-color: #f94142;
}

.header.headerColorScroll .header__logo-text,
.is-fixed .header__logo-text {
  color: #fff;
}

.header__lists {
  display: none;
}

.header__logo img {
  width: 116px;
}

.header__sub-lists {
  left: auto;
  right: 0;
}

.header__nav {
  justify-content: space-between;
}

.header__list:nth-of-type(n + 2) {
  margin-left: 20px;
}

.header__btn {
  display: none;
  margin-right: 0;
  margin-left: 0;
}
/* ===============================================
#footer
=============================================== */
.footer {
  padding: 40px 0 100px;
}

.footer .footer__link {
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.mv__btn-box {
  bottom: -15px;
  width: 338px;
}

.mv__object {
  bottom: -23px;
  left: -15px;
  display: none;
  width: 191px;
}

.mv__img {
  display: none;
}

.mv {
  height: clamp(611px, -11px + 165.87vw, 1233px);
  padding-bottom: 0;
  background: transparent url(./../image/mv-sp.jpg) no-repeat top center/cover;
}

.mv.part2 {
  background: transparent url(./../image/mv3-sp.jpg) no-repeat top center/cover;
}

.mv__container {
  max-width: 900px;
  padding-right: 0;
}

.mv {
  padding-bottom: 10px;
}
/* ===============================================
#3/1追記
=============================================== */
.mv__container.sendai .mv__btn-box {
  max-width: 338px;
  width: 90%;
}

.banner.sendai {
  margin: 168px auto 0;
}

.mv__container.sendai .mv__btn-box {
  flex-direction: column;
  gap: 10px 0;
  width: 500px;
  bottom: auto;
  top: calc(100% - 20px);
}

.banner.sendai {
  margin: 358px auto 0;
}
/* ===============================================
#3/1追記ここまで
=============================================== */
.subMv {
  height: 300px;
  margin-top: 49px;
}
.subMv__en {
  font-size: 40px;
  font-size: 4rem;
}

.subMv__jp {
  font-size: 28px;
  font-size: 2.8rem;
}

.profile {
  margin-top: 78px;
  margin-bottom: 55px;
}
.profile__inner {
  max-width: 375px;
}

.profile__container {
  display: block;
}

.profile__img {
  width: 100%;
  max-width: 217px;
  margin: 0 auto 15px;
}

.profile__text-box {
  width: 100%;
  white-space: normal;
}

.profile__img-object.top {
  top: 90px;
  left: -23px;
}

.profile__img-object.bottom {
  right: -66px;
  bottom: 123px;
}

.profile__name {
  font-size: 16px;
  font-size: 1.6rem;
  text-align: center;
}

.profile__text {
  font-size: 14px;
  font-size: 1.4rem;
}

.philosophy {
  margin-bottom: 36px;
}

.philosophy .c-heading {
  width: 100%;
  text-align: center;
}

.philosophy__container {
  display: block;
}

.philosophy__border {
  display: none;
}

.philosophy__text {
  line-height: 1.6;
  width: 100%;
}

.worry {
  margin-bottom: 38px;
}

.worry__inner {
  max-width: 375px;
}

.worry__heading {
  margin-bottom: 114px;
}

.worry__heading-top {
  font-size: 18px;
  font-size: 1.8rem;
}

.worry__heading-top::before,
.worry__heading-top::after {
  width: calc(50% - 13.4px);
}

.worry__heading-border {
  bottom: -20px;
  width: 20px;
  height: 20px;
}

.worry__heading-bottom {
  font-size: 24px;
  font-size: 2.4rem;
  margin-top: 23px;
}

.worry__cards {
  max-width: 600px;
  margin: 0 auto;
}

.worry__card:nth-of-type(odd) {
  color: #f94142;
  background-color: #fff;
}

.worry__card:nth-of-type(even) {
  margin-top: 0px;
}

.worry__card {
  font-size: 15px;
  font-size: 1.5rem;
  height: 108px;
  width: 48.2%;
}

.worry__card:nth-of-type(1),
.worry__card:nth-last-of-type(1) {
  color: #fff;
  background-color: #f94142;
}

.worry__card:nth-last-of-type(1) {
  font-size: 14px;
  font-size: 1.4rem;
}

.worry__card:nth-last-of-type(1) .worry__card-text {
  line-height: 1.3;
}

.worry__card:nth-of-type(n + 3) {
  margin-top: 105px;
}
.worry__card-img--01 {
  top: -126px;
  width: 115%;
}
.worry__card-img--02 {
  top: -123px;
  width: 117%;
}
.worry__card-img--03 {
  top: -128px;
  width: 110%;
}
.worry__card-img--04 {
  top: -122px;
  width: 115%;
}
.worry__card-text {
  font-size: 15px;
  font-size: 1.5rem;
}
.relief {
  margin-bottom: 92px;
}
.relief .c-heading {
  margin-top: 38px;
}
.relief__object {
  display: none;
}
.relief__inner {
  margin-top: 23px;
  padding-top: 30px;
}
.relief__lead-box {
  padding: 60px 15px 18px;
}
.relief__lead-box::before,
.relief__lead-box::after {
  border: none;
  width: 100%;
  background-color: #fff;
  height: 23px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.relief__lead-box::after {
  background-color: #f94142;
}

.relief__heading-top {
  font-size: 24px;
  font-size: 2.4rem;
  margin-bottom: 20px;
}
.relief__heading-bottom {
  font-size: 16px;
  font-size: 1.6rem;
  position: relative;
}
.relief__heading-bottom .fs-big {
  font-size: 20px;
  font-size: 2rem;
}
.relief__slider {
  display: block;
  max-width: 100%;
  margin: 40px 0 0 0;
}
.relief__slide {
  width: 100%;
  margin: 0 4px;
}
.schedule__main {
  margin-top: 20px;
  margin-bottom: 30px;
  padding-top: 42px;
  padding-bottom: 100px;
}
.schedule__container {
  display: block;
}
.schedule__container {
  margin-bottom: 66px;
}
.schedule__wrapper {
  width: 100%;
}
.schedule__wrapper:nth-of-type(n + 2) {
  margin-top: 70px;
}
.schedule__day-heading {
  font-size: 28px;
  font-size: 2.8rem;
}
.schedule__lists {
  max-width: 330px;
  padding-left: 23px;
}
.schedule__time {
  font-size: 15px;
  font-size: 1.5rem;
}
.schedule__list-title {
  font-size: 14px;
  font-size: 1.4rem;
}
.schedule__comment {
  display: none;
}
.schedule__comment-sp {
  position: relative;
  display: block;
  max-width: 345px;
  height: 213px;
  margin: 0 auto;
  padding: 29px 5px 68px;
  border-radius: 5px;
  background: transparent url(./../image/comment-bg.png) no-repeat top center/contain;
}
.schedule__comment-text {
  font-size: 15px;
  font-size: 1.5rem;
}
.works {
  margin-bottom: 16px;
  padding-bottom: 40px;
}
.works__text {
  font-size: 15px;
  font-size: 1.5rem;
}
.works__slide {
  margin: 0 7px;
}
.works__img {
  padding-top: 55%;
}
.works__caption {
  font-size: 14px;
  font-size: 1.4rem;
}
.other {
  margin-bottom: 103px;
}
.other .c-point__text {
  font-size: 18px;
  
  strong {
    font-size: 22px;
  }
}
.other .c-point__en {
  font-size: 20px;
  font-size: 2rem;
}
.other .c-point__number {
  font-size: 32px;
  font-size: 3.2rem;
}
.other__text {
  margin-top: 20px;
  order: 2;
}
.other__img {
  max-width: 280px;
  margin: 0 auto 31px auto;
}
.other__container {
  display: block;
}
.other__support-box {
  margin-top: 30px;
  display: block;
}
.other__support-item:nth-of-type(n + 2) {
  margin-left: 0;
  margin-top: 43px;
}
.other__support-title::before {
  top: 5px;
}
.other__support-title {
  font-size: 16px;
  color: #000;
}
.other__support-text {
  font-size: 14px;
  font-size: 1.4rem;
}
.other__wrapper:nth-of-type(1) {
  width: 100%;
}
.other__wrapper:nth-of-type(2) {
  width: 100%;
  border-left: none;
  padding-left: 0;
}
.other .c-point,
.other__wrapper:nth-of-type(1) .c-point {
  margin-left: 0;
  padding: 36px 5px 20px;
}
.compare {
  margin-bottom: 66px;
}
.compare__table-container {
  overflow-x: scroll;
  margin-bottom: 22px;
  padding: 0 16px;
  padding-top: 16px;
}
.compare__table {
  width: 734px;
}
.compare__inner {
  max-width: 100%;
}
.present__cards {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.present__card {
  width: 48%;
}
.present__card:not(:nth-of-type(4n + 1)) {
  margin-left: 0;
}
.present__card:nth-of-type(n + 3) {
  margin-top: 32px;
}
.present__card:not(:nth-of-type(3n + 1)) {
  margin-left: 0px;
}
.present__card:nth-last-of-type(1) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.present__card:nth-last-of-type(1) .present__img-box {
  width: 38%;
}
.present__card-title {
  font-size: 16px;
}
.present__note {
  text-align: left;
}
.plan {
  margin-bottom: 67px;
}
.plan__container {
  padding: 0 19px;
}
.plan__wrapper {
  padding: 31px 16px;
}
.plan__wrapper-left {
  font-size: 17px;
  font-size: 1.7rem;
  width: 96px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.plan__wrapper-left span {
  font-size: 12px;
  font-size: 1.2rem;
}
.plan__number {
  font-size: 87px;
  font-size: 8.7rem;
}
.plan__tax {
  font-size: 12px;
  font-size: 1.2rem;
}
.plan__money {
  font-size: 20px;
  font-size: 2rem;
}
.plan__wrapper:nth-of-type(1) .plan__wrapper-right {
  width: calc(100% - 93px);
}
.plan__wrapper:nth-of-type(2) .plan__wrapper-right {
  width: calc(100% - 96px);
}
.flow {
  margin-bottom: 66px;
}
.flow__container {
  max-width: 300px;
  padding-left: 30px;
}
.flow__left-border {
  position: absolute;
  top: 20px;
  left: 0;
  display: block;
  width: 2px;
  height: calc(100% - 135px);
  background-color: #f94142;
}
.flow__top-border {
  display: none;
}
.flow__bottom-border {
  display: none;
}
.flow__card {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.flow__card-left {
  width: 135px;
}
.flow__card-right {
  width: calc(100% - 135px);
}

.flow__step::before {
  top: 12px;
  left: -34px;
}

.flow__card-title {
  font-size: 17px;
  font-size: 1.7rem;
}

.flow__card-img--01 {
  max-width: 76px;
}

.flow__card-img--02 {
  max-width: 80px;
}

.flow__card-img--03 {
  max-width: 63px;
}

.flow__card-img--04 {
  max-width: 61px;
}

.flow__card-img--05 {
  max-width: 80px;
}

.flow__card-img--06 {
  max-width: 72px;
}

.flow__card-img--07 {
  max-width: 80px;
}

.flow__card-img--08 {
  max-width: 96px;
}
.flow__card:not(:nth-of-type(4n + 1)) {
  margin-left: 0px;
}
.flow__card:nth-of-type(n + 2) {
  margin-top: 24px;
}

.recommended {
  margin-bottom: 201px;
}

.recommended__wrapper {
  width: 100%;
}
.recommended__wrapper:nth-of-type(n + 2) {
  margin-top: 69px;
}

.recommended__container {
  display: block;
}

.contact__container {
  display: block;
}

.contact .c-heading {
  margin-bottom: 40px;
  text-align: center;
}
.contact__bottom-lead-box,
.contact__top-lead-box {
  padding-right: 0px;
}

.contact__object.top {
  left: -29px;
}

.contact__object.bottom {
  right: -3px;
}

.contact__top-lead-box {
  margin-bottom: 21px;
}

.contact__top-lead {
  font-size: 16px;
}

.contact__bottom-lead {
  font-size: 18px;
  font-size: 1.8rem;
}

.contact__lead-object-left,
.contact__lead-object-right {
  top: 0;
}

.qa__list:nth-of-type(n + 2) {
  margin-top: 31px;
}

.qa__dt {
  font-size: 15px;
  font-size: 1.5rem;
  padding: 11px 18px 11px 22px;
}

.qa__dt span {
  font-size: 22px;
  font-size: 2.2rem;
  top: -13px;
  left: -20px;
  padding: 2px 12px;
  border-radius: 10px;
}


.qa__dd {
  font-size: 15px;
  font-size: 1.5rem;
  margin-top: 0px;
  padding-left: 0px;
}

.shop {
  margin-top: 70px;
}

.shop__wrapper:nth-of-type(n + 2) {
  margin-top: 70px;
}

.shop__title {
  font-size: 28px;
  font-size: 2.8rem;
}

.shop__text-box {
  margin-bottom: 40px;
}

.shop__map {
  padding-top: 50%;
}

.shop__map {
  padding-top: 80%;
}

.shop__text {
  font-size: 15px;
  font-size: 1.5rem;
}

.shop__text:nth-of-type(n + 2) {
  margin-top: 20px;
}

.shop__index {
  margin-bottom: 70px;
}

.shop__index-item {
  width: calc(100% / 2 - 30px * 1 / 2);
}

.shop__index-area {
  font-size: 18px;
}

.c-fixed__btn-text {
  font-size: 10px;
}

/* ===============================================
#セミナー用
=============================================== */
.w-100 {
  width: 100%;
}

.seminar__text {
  font-size: 26px;
  text-align: center;
  font-weight: 900;
  display: flex;
  flex-direction: column;
  gap: 9px;
  align-items: center;
  margin-top: 45px;

  b {
    color: #f94142;
    font-weight: 900;
    background-image: radial-gradient(circle at center, #f94142 15%, transparent 15%); /* 点の色とサイズ調整 */
    background-position: top right; /* 点の位置 */
    background-repeat: repeat-x; /* 横方向に繰り返し */
    background-size: 1em 0.3em; /* 点の間隔とサイズ調整 */
    padding-top: 0.15em; /* 縦方向の位置調整 */
  }

  span {
    background-image: linear-gradient(180deg, #fff 0%, #fff 73%, #ffde68 73%, #ffde68 100%);
  }
}

.seminar__bottom-text {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  margin-top: 48px;
  margin-bottom: 16px;

  b {
    font-size: 28px;
    font-weight: 900;
  }

  strong {
    color: #f94142;
    font-size: 28px;
    font-weight: 900;
  }
}
