@charset "UTF-8";

html,
body,
h1,
h2,
h3,
p,
a,
span,
ul,
li {
  margin: 0;
  padding: 0;
  line-height: 1.5;
  letter-spacing: 0.07em;
  font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 1050px) {

  html,
  body,
  h1,
  h2,
  h3,
  p,
  a,
  span,
  ul,
  li {
    letter-spacing: 0.05em;
  }
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  border: none;
  vertical-align: bottom;
  max-width: 100%;
}

html {
  font-size: 62.5%;
}

address {
  font-style: normal;
  /* イタリック体を解除 */
  margin: 0;
  /* デフォルトの余白をリセット */
  padding: 0;
  /* デフォルトのパディングをリセット */
  text-decoration: none;
  /* 下線などのテキスト装飾を解除 */
  line-height: normal;
  /* 通常の行間に戻す */
}

/* ----------------------------------------------------------- */


/* 共通スタイル */

.body_wrapper {
  width: 100%;
  overflow: hidden;
}

.container-base {
  max-width: 1036px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
}

.container-small {
  max-width: 886px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
}

.bg_blue {
  background-color: #0B94E0;
  width: 100%;
}

.btn_wrap {
  border: 2px solid #A9E0FF;
  border-radius: 38px;
  background: linear-gradient(to bottom, #FFFFFF 63%, #97E0FF 100%);
  position: relative;
  width: 564px;
  height: max-content;
  padding-right: 26px;
  padding-left: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  transition: background 0.3s ease;
}

.btn_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #FCE830 0%, #FCE830 100%);
  transition: opacity 0.3s ease;
  opacity: 0;
  z-index: 0;
  border-radius: 36px;
}

.btn_wrap:hover::before {
  opacity: 1;
}

.btn_wrap * {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1050px) {
  .btn_wrap {
    width: 480px;
  }
}

@media screen and (max-width: 525px) {
  .btn_wrap {
    width: 100%;
  }
}



@media screen and (max-width: 425px) {
  .btn_wrap {
    width: 100%;
  }
}

@media screen and (max-width: 415px) {
  .btn_wrap {
    padding-right: 18px;
    padding-left: 22px;
  }
}

@media screen and (max-width: 375px) {
  .btn_wrap {
    width: 100%;
  }
}

@media screen and (max-width: 350px) {
  .btn_wrap {
    padding: 12px 15px 12px 15px;
  }
}

@media screen and (max-width: 340px) {
  .btn_wrap {
    padding: 12px;
  }
}

@media screen and (max-width: 335px) {
  .btn_wrap {
    padding: 10px;
  }
}

.btn_wrap_text {
  font-size: 24px;
  font-weight: 700;
  color: #02A5D9;
  letter-spacing: 0.08em;
  padding-top: 13px;
  padding-bottom: 13px;
}

@media screen and (max-width: 1050px) {
  .btn_wrap_text {
    font-size: 20px;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 470px) {
  .btn_wrap_text {
    font-size: 17px;
    letter-spacing: 0;
  }
}



@media screen and (max-width: 385px) {
  .btn_wrap_text {
    font-size: 15px;
    padding-bottom: 11px;
  }
}

@media screen and (max-width: 335px) {
  .btn_wrap_text {
    font-size: 14px;
  }
}

.free {
  font-size: 34px;
  font-weight: 700;
  color: #FF9901;
  line-height: 1;
}

@media screen and (max-width: 1050px) {
  .free {
    font-size: 28px;
  }
}

@media screen and (max-width: 425px) {
  .free {
    font-size: 22px;
  }
}

@media screen and (max-width: 385px) {
  .free {
    font-size: 18px;
  }
}


.stripe {
  background-color: #FFEA00;
  width: 100%;
  height: 8px;
  display: block;
}

@media screen and (max-width: 768px) {
  .stripe {
    height: 8px;
  }
}

.asterisk1 {
  position: relative;
  font-size: 11px;
  padding-left: 15px;
}

.asterisk1::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 1px;
  color: inherit;
  font-size: 14px;
  line-height: 1;
}

@media screen and (max-width: 600px) {
  .asterisk1 {
    font-size: 11px;
  }

  .asterisk1::before {
    font-size: 12px;
  }
}

.asterisk2 {
  position: relative;
  font-size: 14px;
  padding-left: 15px;
}

.asterisk2::before {
  content: "＊";
  position: absolute;
  left: 0;
  top: 3px;
  color: inherit;
  font-size: 14px;
  line-height: 1;
}

@media screen and (max-width: 600px) {
  .asterisk2 {
    font-size: 12px;
  }

  .asterisk2::before {
    font-size: 12px;
  }
}

.asterisk1_num1 {
  position: relative;
  font-size: 11px;
  padding-left: 24px;
}

@media (max-width: 600px) {
  .asterisk1_num1 {
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
}

.asterisk1_num1::before {
  content: "※1";
  position: absolute;
  left: 0;
  top: 3px;
  color: inherit;
  font-size: 11px;
  line-height: 1;
}

.main_visual_present_bottom .asterisk1_num1::before {
  content: "※1";
  position: absolute;
  left: 0;
  top: 2px;
  color: inherit;
  font-size: 11px;
  line-height: 1;
}

@media (max-width: 600px) {
  .main_visual_present_bottom .asterisk1_num1::before {
    top: 0;
  }
}

.asterisk1_num2 {
  position: relative;
  font-size: 11px;
  padding-left: 24px;
}

@media (max-width: 600px) {
  .asterisk1_num2 {
    font-size: 10px;
    letter-spacing: 0.05em;
  }
}

.main_visual_present_bottom .asterisk1_num2::before {
  content: "※2";
  position: absolute;
  left: 0;
  top: 3px;
  color: inherit;
  font-size: 11px;
  line-height: 1;
}

@media (max-width: 600px) {
  .main_visual_present_bottom .asterisk1_num2::before {
    content: "※2";
    position: absolute;
    left: 0;
    top: 2px;
    color: inherit;
    font-size: 11px;
    line-height: 1;
  }
}


.asterisk1_num2::before {
  content: "※2";
  position: absolute;
  left: 0;
  top: 3px;
  color: inherit;
  font-size: 11px;
  line-height: 1;
}

.gray {
  color: #636363;
}

.white {
  color: #fff;
}

.bg_blue {
  background-color: #02A5D9;
}

.bgE9F8FE {
  background-color: #E9F8FE;
}

.underline {
  position: relative;
}

.underline::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -31px;
  width: 46px;
  height: 1px;
  background-color: #636363;
}

@media screen and (max-width: 600px) {
  .underline::after {
    bottom: -25px;
    width: 34px;
  }
}

.merit_guidebook,
.treatment_guidebook,
.flow_guidebook,
.cost_guidebook {
  display: flex;
}

.second {
  font-size: 70px;
  font-weight: 700;
  color: #02A5D9;
  line-height: 0.5;
}

@media screen and (max-width: 600px) {
  .second {
    font-size: 44px;
  }
}

.blue {
  font-size: 44px;
  font-weight: 700;
  color: #02A5D9;
  line-height: 1;
}

@media screen and (max-width: 600px) {
  .blue {
    font-size: 26px;
  }
}


.br500 {
  display: none;
}

@media screen and (max-width: 500px) {
  .br500 {
    display: block;
  }
}

.br600_pc {
  display: block;
}

@media screen and (max-width: 600px) {
  .br600_pc {
    display: none;
  }
}

.br600 {
  display: none;
}

@media screen and (max-width: 600px) {
  .br600 {
    display: block;
  }
}

.br350 {
  display: none;
}

@media screen and (max-width: 350px) {
  .br350 {
    display: block;
  }
}

.br580 {
  display: none;
}

@media screen and (max-width: 580px) {
  .br580 {
    display: block;
  }
}

.br380 {
  display: none;
}

@media screen and (max-width: 380px) {
  .br380 {
    display: block;
  }
}

.br370 {
  display: none;
}

@media screen and (max-width: 370px) {
  .br370 {
    display: block;
  }
}

.br340 {
  display: none;
}

@media screen and (max-width: 340px) {
  .br340 {
    display: block;
  }
}



/* -------------------------------------------------------------------------- */



/* ヘッダー */

.header {
  padding: 25px 33px 41px 33px;
  z-index: 999;
  position: relative;
  background-color: transparent !important;
}

@media screen and (max-width: 768px) {
  .header {
    padding: 7px 5px 17px 15px;
  }
}

@media screen and (max-width: 355px) {
  .header {
    padding-left: 8px;
  }
}

.header_wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header_body {
  display: flex;
  gap: 35px;
}

@media screen and (max-width: 1250px) {
  .header_body {
    gap: 32px;
  }
}

@media screen and (max-width: 1200px) {
  .header_body {
    gap: 20px;
  }
}

@media screen and (max-width: 1080px) {
  .header_body__right {
    width: 380px;
    height: auto;
  }
}

@media screen and (max-width: 1080px) {
  .header_body__right {
    width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 1000px) {
  .header_body {
    gap: 12px;
  }
}

.site_header_logo a img {
  min-width: 105px;
}

.header_body__right img {
  min-width: 222px;
}

.header_btn_wrap {
  border-radius: 37px;
  background: linear-gradient(to bottom, #00B4ED 68%, #039BCB 100%);
  position: relative;
  width: 442px;
  height: max-content;
  padding: 10px 23px 10px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  transition: background 0.3s ease, border-color 0.3s ease;
}

.header_btn_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #FCE830 0%, #FCE830 100%);
  transition: opacity 0.3s ease, border 0.3s ease;
  opacity: 0;
  z-index: 0;
  border-radius: 37px;
  border: 3px solid transparent;
}

.header_btn_wrap:hover::before {
  opacity: 1;
  border-color: #00B4ED;
}

.header_btn_wrap * {
  position: relative;
  z-index: 1;
}



@media screen and (max-width: 1150px) {
  .header_btn_wrap {
    width: 270px;
    padding: 9px 18px 9px 43.52px;
  }
}

@media screen and (max-width: 1000px) {
  .header_btn_wrap {
    width: 255px;
    padding: 7px 12px 7px 43.52px;
  }
}

@media screen and (max-width: 1210px) {
  .header_btn_wrap {
    display: none;
  }
}

.header_btn_wrap_text {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  transition: all 0.3s ease;
}

@media screen and (max-width: 1150px) {
  .header_btn_wrap_text {
    font-size: 14px;
  }
}

/* ------------------------------------------------------------------------- */

/* メインビジュアル */

.main_visual_section_pc {
  position: relative;
  margin-bottom: 40.805556vw;
}

@media screen and (max-width: 1439px) {
  .main_visual_section_pc {
    margin-bottom: 45.805556vw;
  }
}

@media screen and (max-width: 1370px) {
  .main_visual_section_pc {
    margin-bottom: 45.805556vw;
  }
}

@media screen and (max-width: 1030px) {
  .main_visual_section_pc {
    margin-bottom: 51.805556vw;
  }
}

@media screen and (max-width: 919px) {
  .main_visual_section_pc {
    margin-bottom: 92.805556vw;
  }
}

.merit_section .container-base {
  position: relative;
}

.merit_body_img_top {
  left: calc(-50vw + 20px);
}

.main_visual_background {
  position: absolute;
  top: -150px;
  width: 100%;
  height: auto;
}

.main_visual_background img {
  width: 100%;
  height: auto;
}

.main_visual_text {
  position: relative;
  z-index: 10;
  padding-left: 118px;
  margin-right: 106px;
}

@media screen and (max-width: 1300px) {
  .main_visual_text {
    padding-left: 80px;
    margin-right: 76px;
  }
}

@media screen and (max-width: 919px) {
  .main_visual_text {
    padding-left: 41px;
    margin-right: 38px;
  }
}

@media screen and (max-width: 600px) {
  .main_visual_text {
    padding-left: 26px;
    margin-right: 0px;
  }
}

.main_visual_text_top {
  font-size: 30px;
  font-weight: 700;
  color: #02A5D9;
  margin-bottom: 26px;
}

@media screen and (max-width: 1300px) {
  .main_visual_text_top {
    margin-bottom: 18px;
  }
}

@media screen and (max-width: 1250px) {
  .main_visual_text_top {
    font-size: 24px;
  }
}

@media screen and (max-width: 600px) {
  .main_visual_text_top {
    font-size: 18px;
  }
}

.main_visual_text_top_emphasis {
  font-size: 88px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 1250px) {
  .main_visual_text_top_emphasis {
    font-size: 60px;
  }
}

@media screen and (max-width: 600px) {
  .main_visual_text_top_emphasis {
    font-size: 40px;
  }
}

.main_visual_text_bottom {
  font-size: 18px;
  font-weight: 500;
  color: #636363;
}

@media screen and (max-width: 1250px) {
  .main_visual_text_bottom {
    font-size: 16px;
  }
}

@media screen and (max-width: 1050px) {
  .main_visual_text_bottom {
    font-size: 14px;
  }
}

@media screen and (max-width: 1030px) {
  .main_visual_text_bottom {
    display: none;
  }
}

.main_visual_text_top_vertical {
  display: flex;
  flex-direction: row-reverse;
  position: absolute;
  top: 64px;
  right: 0;
  gap: 24px;
}

@media screen and (max-width: 1050px) {
  .main_visual_text_top_vertical {
    top: -2px;
  }
}


.main_visual_text_top_vertical_text {
  writing-mode: vertical-rl;
  text-orientation: upright;
  background-color: #fff;
  height: max-content;
  font-size: 28px;
  font-weight: 500;
  color: #02A5D9;
  padding-top: 5px;
  padding-bottom: 5px;
  line-height: 1.15;
}


.main_visual_present {
  position: absolute;
  left: 0;
  bottom: -41.041666666666664vw;
}

@media (min-width: 768px) and (max-width: 1370px) {
  .main_visual_present {
    bottom: -40.041667vw;
    width: 689px;
  }
}

@media (min-width: 768px) and (max-width: 1250px) {
  .main_visual_present {
    width: 643px;
  }
}

@media (min-width: 768px) and (max-width: 1150px) {
  .main_visual_present {
    width: 609px;
  }
}

@media (min-width: 768px) and (max-width: 1050px) {
  .main_visual_present {
    width: 574px;
  }
}

@media (min-width: 768px) and (max-width: 1030px) {
  .main_visual_present {
    bottom: -44.041667vw;
  }
}

@media (min-width: 768px) and (max-width: 980px) {
  .main_visual_present {
    width: 555px;
  }
}

@media (min-width: 768px) and (max-width: 919px) {
  .main_visual_present {
    bottom: -85.041667vw;
  }
}

.main_visual_present_inr {
  background-color: #02A5D9;
  padding: 17px 45px 25px 128px;
  border-radius: 0 20px 20px 0;
  margin-bottom: 12px;
}

@media (min-width: 768px) and (max-width: 1370px) {
  .main_visual_present_inr {
    padding-left: 118px;
  }
}

@media (min-width: 768px) and (max-width: 1250px) {
  .main_visual_present_inr {
    padding-left: 80px;
  }
}

@media (min-width: 768px) and (max-width: 1150px) {
  .main_visual_present_inr {
    padding-left: 32px;
  }
}

@media (min-width: 768px) and (max-width: 980px) {
  .main_visual_present_inr {
    padding-left: 20px;
  }
}

.main_visual_present_inr .btn_wrap {
  margin: 0 auto;
  width: 520px;
}

.main_visual_present_inr .btn_wrap_text {
  font-size: 24px;
  letter-spacing: 0;
}

@media screen and (max-width: 768px) {
  .main_visual_present_inr .btn_wrap_text {
    font-size: 16px;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 374px) {
  .main_visual_present_inr .btn_wrap_text {
    font-size: 15px;
  }
}

@media screen and (max-width: 370px) {
  .main_visual_present_inr .btn_wrap_text {
    font-size: 14px;
  }
}

.main_visual_present_inr .free {
  font-size: 34px;
}

@media screen and (max-width: 768px) {
  .main_visual_present_inr .free {
    font-size: 22px;
  }
}

.main_visual_present_inr_img {
  width: 534px;
  /* height: 18.125vw; */
  margin-bottom: 24px;
}

.main_visual_present_inr_img img {
  width: 534px;
  height: 261px;
  margin-bottom: 24px;
}

@media screen and (max-width: 1190px) {
  .main_visual_present_inr_img img {
    width: 418px;
    height: auto;
    margin-bottom: 18px;
    display: block;
    margin: 0 auto;
  }
}

.main_visual_present_bottom {
  padding-left: 105px;
}

.main_visual_section_sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .main_visual_section_sp {
    display: block;
  }

  .main_visual_section_pc {
    display: none;
  }

  .main_visual_text_top {
    font-size: 18px;
    font-weight: 700;
    color: #02A5D9;
    margin-bottom: 13px;
    line-height: 1.25;
    letter-spacing: 0.05em;
  }

  .main_visual_text_top_emphasis {
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    display: block;
    margin-top: 8px;
    letter-spacing: 0.05em;
  }

  .main_visual_text_top .small {
    font-size: 34px;
    font-weight: 700;
  }

  .main_visual_text {
    padding-left: 26px;
    margin-right: 0px;
    position: absolute;
    top: 15.740458vw;
  }

  .main_visual_text_top_vertical {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: static;
  }

  .main_visual_text_top_vertical_text {
    writing-mode: horizontal-tb;
    background-color: #fff;
    width: max-content;
    font-size: 18px;
    font-weight: 500;
    color: #02A5D9;
    line-height: 1.15;
    padding-top: 0;
    padding-bottom: 0;
    letter-spacing: 0.05em;
  }

  .main_visual_text_top_vertical_text_second {
    margin-bottom: 8px;
  }

  .main_visual_present {
    position: absolute;
    left: 0;
    top: 86.1vw;
  }

  .main_visual_background {
    position: relative;
    top: -75px;
    width: 100%;
    height: auto;
    margin-bottom: 60.513995vw;
  }

  .main_visual_present_inr {
    background-color: #02A5D9;
    padding: 11px 25px 15px 23px;
    border-radius: 0;
    margin-bottom: 7px;
  }

  .main_visual_present_inr_img {
    width: auto;
    height: auto;
    margin-bottom: 13px;
  }

  .main_visual_present_inr_img img {
    width: auto;
    height: auto;
    margin-bottom: 13px;
  }

  .main_visual_present_inr .btn_wrap {
    margin: 0 auto;
    width: 385px;
  }

  .main_visual_present_bottom {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 671px) {
  .main_visual_background {
    margin-bottom: 64.513995vw;
  }
}

@media screen and (max-width: 550px) {
  .main_visual_background {
    margin-bottom: 74.513995vw;
  }
}


@media screen and (max-width: 385px) {
  .main_visual_present_inr .btn_wrap {
    padding: 0 15px 0 15px;
  }
}

@media screen and (max-width: 440px) {
  .main_visual_present_inr .btn_wrap {
    margin: 0 auto;
    width: 100%;
  }
}

@media screen and (max-width: 393px) {
  .main_visual_background {
    margin-bottom: 76.513995vw;
  }
}

@media screen and (max-width: 365px) {
  .main_visual_background {
    margin-bottom: 85.513995vw;
  }
}

@media screen and (max-width: 393px) {
  .main_visual_text {
    padding-left: 18px;
  }
}

@media screen and (min-width: 505px) {
  .main_visual_text_top {
    font-size: 24px;
    line-height: 1.25;
    margin-bottom: 20px;
  }

  .main_visual_text_top_emphasis {
    font-size: 54px;
    line-height: 1.2;
  }

  .main_visual_text_top .small {
    font-size: 46px;
  }

  .main_visual_text_top_vertical_text {
    font-size: 24px;
  }
}

@media screen and (max-width: 380px) {
  .main_visual_text_top {
    font-size: 15px;
    margin-bottom: 8px;
  }

  .main_visual_text_top_emphasis {
    font-size: 34px;
  }

  .main_visual_text_top .small {
    font-size: 28px;
  }

  .main_visual_text_top_vertical_text {
    font-size: 16px;
  }

  .main_visual_text {
    padding-left: 26px;
    margin-right: 0px;
    position: absolute;
    top: 16.740458vw;
  }
}

@media screen and (min-width: 1190px) {
  .main_visual_text_top {
    margin-bottom: 5px;
  }
}


@media screen and (min-width: 1440px) {
  .main_visual_section {
    position: relative;
    margin-bottom: 36.80555555555556vw;
  }

  .main_visual_background {
    position: absolute;
    top: -197px;
    width: 100%;
    height: auto;
  }

  .main_visual_background img {
    width: 100%;
    height: auto;
  }

  .main_visual_text {
    position: relative;
    z-index: 10;
    padding-left: 8.194444444444445vw;
    margin-right: 7.361111111111112vw;
  }

  .main_visual_text_top {
    font-size: 2.083333333333333vw;
    font-weight: 700;
    color: #02A5D9;
    margin-bottom: 1.3888888888888888vw;
  }

  .main_visual_text_top_emphasis {
    font-size: 5.972222222222222vw;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.02em;
  }

  .main_visual_text_bottom {
    font-size: 1.1805555555555556vw;
    font-weight: 500;
    color: #636363;
    line-height: 1.75;
  }

  .main_visual_text_top_vertical {
    display: flex;
    flex-direction: row-reverse;
    position: absolute;
    top: 4.444444444444445vw;
    right: 0;
    gap: 1.6666666666666667vw;
  }

  .main_visual_text_top_vertical_text {
    writing-mode: vertical-rl;
    text-orientation: upright;
    background-color: #fff;
    height: max-content;
    font-size: 1.9444444444444444vw;
    font-weight: 500;
    color: #02A5D9;
    padding-top: 0.3472222222222222vw;
    padding-bottom: 0.3472222222222222vw;
    line-height: 1.15;
  }

  .main_visual_present {
    position: absolute;
    left: 0;
    bottom: -32.111vw;
  }

  .main_visual_present_inr {
    background-color: #02A5D9;
    padding: 1.1805555555555556vw 3.125vw 1.7361111111111112vw 8.88888888888889vw;
    border-radius: 0 8px 8px 0;
    margin-bottom: 0.8333333333333334vw;
  }

  .main_visual_present_inr .btn_wrap {
    margin: 0 auto;
    width: 36.11111111111111vw;
  }

  .main_visual_present_inr .btn_wrap_text {
    font-size: 1.6666666666666667vw;
    letter-spacing: 0;
  }

  .main_visual_present_inr .free {
    font-size: 2.361111111111111vw;
  }

  .main_visual_present_inr_img {
    width: 37.083333333333336vw;
    /* height: 18.125vw; */
    margin-bottom: 1.6666666666666667vw;
  }

  .main_visual_present_inr_img img {
    width: 37.083333333333336vw;
    height: 18.125vw;
    margin-bottom: 1.6666666666666667vw;
  }


  .main_visual_present_bottom {
    padding-left: 7.291666666666667vw;
  }
}



/* -------------------------------------------------------------------------------- */
/* メリット */

.merit_section .container-base {
  padding-left: 262px;
  padding-right: 191px;
  position: relative;
  margin: 0 auto;
  max-width: 1500px;
}

@media screen and (max-width: 1290px) {
  .merit_section .container-base {
    padding-right: 149px;
  }
}

@media screen and (max-width: 1180px) {
  .merit_section .container-base {
    padding-right: 120px;
  }
}

@media screen and (max-width: 1100px) {
  .merit_section .container-base {
    padding-right: 83px;
  }
}

@media screen and (max-width: 1024px) {
  .merit_section .container-base {
    padding-right: 51px;
  }
}

@media screen and (max-width: 965px) {
  .merit_section .container-base {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.merit_body {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 78px;
}

@media screen and (max-width: 965px) {
  .merit_body {
    justify-content: center;
    margin-bottom: 67.435233%;
  }
}

@media screen and (max-width: 820px) {
  .merit_body {
    justify-content: center;
    margin-bottom: 69.435233%;
  }
}

@media screen and (max-width: 768px) {
  .merit_body {
    justify-content: center;
    margin-bottom: 70.435233%;
  }
}

.merit_body_img {
  flex-shrink: 0;
}

.merit_body_img_top {
  position: absolute;
  left: 0;
  width: 45.34722222222222%;
  height: 30.97%;
  max-width: 800px;
}

@media screen and (max-width: 965px) {
  .merit_body_img_top {
    position: absolute;
    left: 0;
    bottom: -59.699482vw;
    width: 85%;
    max-width: 650px;
    height: auto;
  }
}

@media screen and (max-width: 820px) {
  .merit_body_img_top {
    position: absolute;
    left: 0;
    bottom: -61.699482vw;
    width: 85%;
    max-width: 650px;
    height: auto;
  }
}

@media screen and (max-width: 768px) {
  .merit_body_img_top {
    position: absolute;
    left: 0;
    bottom: -56.699482vw;
    width: 94%;
    max-width: 650px;
    height: auto;
  }
}

.merit_body_img_bottom {
  position: absolute;
  width: 27.083333333333332%;
  margin-top: 33.75%;
  left: 18.26388888888889%;
}

@media screen and (max-width: 965px) {
  .merit_body_img_bottom {
    display: none;
  }
}

.merit_body_img_top img,
.merit_body_img_bottom img {
  width: 100%;
  height: auto;
}

.bubble {
  padding: 13px 88px 13px 146px;
  background-color: #FFEA00;
  border: none;
  border-radius: 50px;
  width: 448px;
  position: relative;
  margin-bottom: 36px;
}

@media screen and (max-width: 600px) {
  .bubble {
    padding: 11px 70px 11px 109px;
    width: 100%;
    margin-bottom: 27px;
  }
}

@media screen and (max-width: 600px) {
  .bubble {
    padding: 11px 55px 11px 120px;
  }
}

.triangle::after {
  content: '';
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 20px solid #FFEA00;
  bottom: -18px;
}

@media screen and (max-width: 600px) {
  .triangle::after {
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid #FFEA00;
    bottom: -11px;
  }
}

.bubble_img {
  position: absolute;
  bottom: 0;
  left: 21px;
}

.bubble_text {
  font-size: 24px;
  font-weight: 700;
  color: #636363;
  display: block;
  text-align: center;
  line-height: 1.25;
}

@media screen and (max-width: 600px) {
  .bubble_text {
    font-size: 18px;
    letter-spacing: 0.05em;
  }
}

@media screen and (max-width: 385px) {
  .bubble_text {
    font-size: 16px;
  }
}

@media screen and (max-width: 350px) {
  .bubble_text {
    font-size: 14px;
  }
}

.merit_body_text_top {
  font-size: 40px;
  font-weight: 700;
  color: #02A5D9;
  text-align: center;
  margin-bottom: 66px;
}

@media screen and (max-width: 600px) {
  .merit_body_text_top {
    font-size: 30px;
    margin-bottom: 58px;
    letter-spacing: 0.05em;
  }
}

@media screen and (max-width: 375px) {
  .merit_body_text_top {
    font-size: 28px;
  }
}

@media screen and (max-width: 360px) {
  .merit_body_text_top {
    font-size: 28px;
  }
}

@media screen and (max-width: 355px) {
  .merit_body_text_top {
    font-size: 26px;
  }
}

.normal {
  font-size: 32px;
  font-weight: 700;
  color: #636363;
}

@media screen and (max-width: 600px) {
  .normal {
    font-size: 20px;
  }
}

.merit_body_text_bottom {
  padding: 27px 37px;
  border: 3px solid #E0C461;
  border-radius: 10px;
}

@media screen and (max-width: 600px) {
  .merit_body_text_bottom {
    border: 1px solid #E0C461;
    border-radius: 8px;
  }
}

@media screen and (max-width: 600px) {
  .merit_body_text_bottom {
    padding: 27px 24px;
  }
}


.merit_body_text_bottom_title {
  font-family: "Outfit", sans-serif;
  font-size: 24px;
  font-weight: 500;
  color: #02A5D9;
  text-align: center;
  margin-bottom: 19px;
}

@media screen and (max-width: 600px) {
  .merit_body_text_bottom_title {
    font-size: 17px;
    margin-bottom: 18px;
  }
}

.vertical_line {
  position: relative;
  display: inline-block;
  padding: 0 22px;
}

.vertical_line::before,
.vertical_line::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 1px;
  height: 21px;
  background-color: #B8B8B8;
  transform: translateY(-50%);
}

.vertical_line::before {
  left: 0;
}

.vertical_line::after {
  right: 0;
}

.merit_body_text_bottom_list {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 24px 0 21px 0;
  border-bottom: 1px solid #B8B8B8;
}

@media screen and (max-width: 600px) {
  .merit_body_text_bottom_list {
    padding: 19px 0 16px 0;
    gap: 10px;
  }
}

.first {
  padding-top: 0;
}

.merit_body_text_bottom_list:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.merit_body_text_bottom_list_inr {
  font-size: 24px;
  font-weight: 700;
  color: #02A5D9;
}

@media screen and (max-width: 600px) {
  .merit_body_text_bottom_list_inr {
    font-size: 15px;
  }
}

.emphasis {
  font-size: 28px;
  font-weight: 700;
  background: linear-gradient(to bottom, transparent 70%, #FCE830 70%);
}

@media screen and (max-width: 600px) {
  .emphasis {
    font-size: 18px;
  }
}

.guidebook {
  padding: 38px 0 34px 0;
  position: relative;
}

@media screen and (max-width: 600px) {
  .guidebook {
    padding: 16px 0 11px 0;
  }
}

.guidebook_imgarea {
  display: flex;
  justify-content: center;
}

.guidebook_body {
  text-align: center;
  margin-bottom: 23px;
  position: relative;
}

@media screen and (max-width: 600px) {
  .guidebook_body {
    margin-bottom: 14px;
  }
}

@media screen and (max-width: 600px) {
  .guidebook_body::before {
    content: "";
    position: absolute;
    background-image: url(../../assets/img/home/text_left_sp.svg);
    left: 60px;
    bottom: 0;
    width: 27px;
    height: 45px;
    background-repeat: no-repeat;
  }
}

@media screen and (max-width: 525px) {
  .guidebook_body::before {
    left: 35px;
  }
}

@media screen and (max-width: 500px) {
  .guidebook_body::before {
    left: 15px;
  }
}

@media screen and (max-width: 470px) {
  .guidebook_body::before {
    left: -8px;
  }
}

@media screen and (max-width: 385px) {
  .guidebook_body::before {
    left: -19px;
  }
}

@media screen and (max-width: 360px) {
  .guidebook_body::before {
    display: none;
  }
}

@media screen and (min-width: 600px) {
  .guidebook_body::before {
    content: "";
    position: absolute;
    background-image: url(../../assets/img/home/text_left.svg);
    left: -38px;
    bottom: 0;
    width: 60px;
    height: 72px;
    background-repeat: no-repeat;
  }
}

@media screen and (max-width: 600px) {
  .guidebook_body::after {
    content: "";
    position: absolute;
    background-image: url(../../assets/img/home/text_right_sp.svg);
    right: 27px;
    bottom: 0;
    width: 27px;
    height: 45px;
    background-repeat: no-repeat;
  }
}

@media screen and (max-width: 525px) {
  .guidebook_body::after {
    right: 8px;
  }
}

@media screen and (max-width: 500px) {
  .guidebook_body::after {
    right: 14px;
  }
}

@media screen and (max-width: 470px) {
  .guidebook_body::after {
    right: -8px;
  }
}

@media screen and (max-width: 385px) {
  .guidebook_body::after {
    right: -15px;
  }
}

@media screen and (max-width: 360px) {
  .guidebook_body::after {
    display: none;
  }
}

@media screen and (min-width: 600px) {
  .guidebook_body::after {
    content: "";
    position: absolute;
    background-image: url(../../assets/img/home/text_right.svg);
    right: -34px;
    bottom: 0;
    width: 60px;
    height: 72px;
    background-repeat: no-repeat;
  }
}

.guidebook_body_inr {
  font-size: 26px;
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 600px) {
  .guidebook_body_inr {
    font-size: 16px;
  }
}

@media screen and (max-width: 350px) {
  .guidebook_body_inr {
    font-size: 15px;
  }
}

.guidebook_body_inr .yellow {
  font-size: 34px;
  font-weight: 700;
  color: #FFEA00;
}

@media screen and (max-width: 600px) {
  .guidebook_body_inr .yellow {
    font-size: 20px;
  }
}

.guidebook_body_inr .yellow_large {
  font-size: 40px;
  font-weight: 700;
  color: #FFEA00;
}

@media screen and (max-width: 600px) {
  .guidebook_body_inr .yellow_large {
    font-size: 20px;
  }
}

.guidebook_img {
  position: absolute;
  bottom: 0;
  right: -261px;
}

@media screen and (max-width: 920px) {
  .guidebook_img {
    display: none;
  }

  .merit_section .btn_wrap {
    margin: 0 auto;
  }
}

@media screen and (max-width: 920px) {
  .merit_guidebook {
    justify-content: center;
  }
}

/* ----------------------------------------------------------- */

.treatment_section {
  padding-top: 107px;
}

@media screen and (max-width: 600px) {
  .treatment_section {
    padding-top: 65px;
  }
}

.treatment_section .bubble {
  padding: 11px 26px 11px 138px;
  width: 454px;
  margin: 0 auto;
  margin-bottom: 54px;
}


.treatment_section .bubble_img {
  position: absolute;
  bottom: 0;
  left: 28px;
}

@media screen and (max-width: 600px) {
  .treatment_section .bubble_img {
    left: 18px;
  }
}

.treatment_section .bubble_text {
  font-size: 24px;
  font-weight: 700;
  color: #636363;
  display: block;
  text-align: center;
}

@media screen and (max-width: 675px) {
  .treatment_section .bubble_text {
    font-size: 18px;
  }
}

@media screen and (max-width: 390px) {
  .treatment_section .bubble_text {
    font-size: 16px;
  }
}


.treatment_top,
.treatment_title {
  text-align: center;
}

.treatment_title {
  text-align: center;
  font-size: 36px;
  font-weight: 700;
  color: #636363;
  margin-bottom: 100px;
  margin-top: 8px;
}

@media screen and (max-width: 600px) {
  .treatment_title {
    font-size: 20px;
    margin-bottom: 64px;
  }

  .treatment_title .blue {
    font-size: 36px;
  }

  .treatment_title .blue_middle {
    font-size: 30px;
  }
}

.treatment_top_text {
  font-size: 26px;
  font-weight: 700;
  color: #636363;
  position: relative;
  padding: 0 20px 0 20px;
}

.treatment_top_text::before,
.treatment_top_text::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2px;
  height: 25px;
  background-color: #636363;
}

.treatment_top_text::before {
  left: 0;
  transform: translateY(-50%) rotate(-25deg);
}

.treatment_top_text::after {
  right: 0;
  transform: translateY(-50%) rotate(25deg);
}

@media screen and (max-width: 600px) {

  .treatment_top_text::before,
  .treatment_top_text::after {
    display: none;
  }
}




@media screen and (max-width: 600px) {
  .treatment_top_text {
    font-size: 20px;
    margin-bottom: 3px;
  }
}

@media screen and (max-width: 675px) {
  .treatment_title {
    font-size: 20px;
    margin-bottom: 63px;
    margin-top: 18px;
  }
}

.treatment_top_text::before {
  left: 0;
  transform: translateY(-50%) rotate(-25deg);
}

.treatment_top_text::after {
  right: 0;
  transform: translateY(-50%) rotate(25deg);
}

.treatment_flow {
  display: flex;
  flex-direction: column;
  gap: 54px;
  margin-bottom: 117px;
}

@media screen and (max-width: 675px) {
  .treatment_flow {
    margin-bottom: 68px;
  }
}

.treatment_flow_item_pc {
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  border: 4px solid #BDE7FF;
  border-radius: 15px;
  padding: 15px 31px 12px 50px;
}

.treatment_flow_item_pc_first {
  padding-top: 25px;
  padding-bottom: 25px;
}

.treatment_flow_item_text {
  width: 47.026279391424616%;
}

.treatment_flow_item_img {
  width: 52.83540802213002%;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 600px) {
  .treatment_flow_item_img {
    width: 52.83540802213002%;
    margin-bottom: 8px;
  }
}

.treatment_flow_item_img_first {
  margin-top: 14px;
}

.treatment_flow_item_sp {
  display: none;
}

@media (max-width: 680px) {
  .treatment_flow_item_pc {
    display: none;
  }

  .treatment_flow_item_sp {
    display: block;
    background-color: #fff;
    border: 4px solid #BDE7FF;
    border-radius: 15px;
    padding: 10px 20px 13px 20px;
  }

  .treatment_flow_item_text {
    width: 100%;
  }

  .treatment_flow_item_img {
    width: 100%;
  }

  .treatment_flow_item_text_inr {
    text-align: center;
  }
}

.treatment_flow_top {
  background-color: #02A5D9;
  border-radius: 30px;
  width: 380px;
  padding: 10px 11px 11px 11px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 600px) {
  .treatment_flow_top {
    width: 302px;
    padding: 10px 11px 11px 11px;
  }
}

@media screen and (max-width: 350px) {
  .treatment_flow_top {
    width: 100%;
  }
}

.treatment_flow_top:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -41px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 31px;
  background-image: url('../../assets/img/home/flow_dot.svg');
  background-repeat: no-repeat;
  background-size: contain;
}


.treatment_flow_top_text {
  font-size: 26px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

@media screen and (max-width: 675px) {
  .treatment_flow_top_text {
    font-size: 18px;
  }
}

.treatment_flow_item {
  position: relative;
}

.treatment_flow_item::after {
  content: "";
  position: absolute;
  bottom: -45px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 31px;
  background-image: url('../../assets/img/home/flow_dot.svg');
  background-repeat: no-repeat;
  background-size: contain;
}

.treatment_flow_item_text_top {
  font-size: 38px;
  font-weight: 700;
  color: #02A5D9;
  padding-bottom: 21px;
  border-bottom: 1px solid #B8B8B8;
}

@media screen and (max-width: 600px) {
  .treatment_flow_item_text_top {
    padding-bottom: 12px;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
  }
}

.treatment_flow_item_text_top_num {
  font-size: 36px;
  font-weight: 400;
  color: #8DD2F9;
  margin-right: 31px;
}

@media screen and (max-width: 600px) {
  .treatment_flow_item_text_top_num {
    font-size: 20px;
    margin-right: 31px;
    position: absolute;
    left: 20px;
  }
}

.treatment_flow_item_text_inr {
  margin-top: 42px;
  white-space: nowrap;
}

@media screen and (max-width: 675px) {
  .treatment_flow_item_text_inr {
    margin-top: -14px;
  }

  .treatment_flow_item_text_inr_first {
    margin-top: 20px;
  }
}

.treatment_flow_item_text_inr_description {
  font-size: 20px;
  font-weight: 500;
  color: #636363;
  display: block;
  margin-bottom: 5px;
}

@media screen and (max-width: 675px) {
  .treatment_flow_item_text_inr_description {
    font-size: 16px;
    margin-bottom: 5px;
  }
}

.treatment_flow_item_text_inr_caution {
  font-size: 16px;
  color: #636363;
}

@media screen and (max-width: 600px) {
  .treatment_flow_item_text_inr_caution {
    font-size: 12px;
  }
}

.treatment_section .bubble:last-child {
  width: 476px;
  margin-bottom: 53px;
}

@media screen and (max-width: 500px) {
  .treatment_section .bubble:last-child {
    width: 100%;
    margin-bottom: 36px;
    padding-right: 26px;
    padding-left: 100px;
  }
}

@media screen and (max-width: 380px) {
  .treatment_section .bubble:last-child {
    padding-right: 20px;
    padding-left: 106px;
  }
}


@media screen and (max-width: 625px) {
  .treatment_section .bubble {
    margin-bottom: 27px;
    width: 429px;
    padding-right: 26px;
    padding-left: 100px;
  }
}

@media screen and (max-width: 500px) {
  .treatment_section .bubble {
    margin-bottom: 32px;
    width: 100%;
    padding-right: 26px;
    padding-left: 100px;
  }
}

.treatment_guidebook {
  justify-content: flex-end;
}

@media screen and (max-width: 920px) {
  .treatment_guidebook {
    justify-content: center;
  }
}

@media screen and (max-width: 675px) {
  .treatment_guidebook {
    justify-content: center;
  }
}

.treatment_guidebook .guidebook_img {
  position: absolute;
  bottom: -11px;
  right: 0;
  left: -255px;
}

@media screen and (max-width: 1050px) {
  .treatment_guidebook .guidebook_img {
    left: -289px;
  }
}

.treatment_section .guidebook {
  padding: 28px 0 40px 0;
}

@media screen and (max-width: 768px) {
  .treatment_section .guidebook {
    padding: 17px 0 24px 0;
  }
}

@media screen and (max-width: 600px) {

  .treatment_guidebook .guidebook_body::before,
  .treatment_guidebook .guidebook_body::after {
    display: none;
  }

  .treatment_guidebook .guidebook_body {
    text-align: left;
    padding-left: 57px;
  }
}

@media screen and (max-width: 525px) {
  .treatment_guidebook .guidebook_body {
    padding-left: 41px;
  }
}

@media screen and (max-width: 470px) {
  .treatment_guidebook .guidebook_body {
    padding-left: 22px;
  }
}

@media screen and (max-width: 415px) {
  .treatment_guidebook .guidebook_body {
    text-align: left;
    padding-left: 0;
  }
}

.treatment_section_body_item_contents_img {
  display: none;
}

@media screen and (max-width: 600px) {
  .treatment_section_body_item_contents_img {
    display: block;
    position: absolute;
    right: 29px;
    top: -26px;
  }
}

@media screen and (max-width: 525px) {
  .treatment_section_body_item_contents_img {
    display: block;
    position: absolute;
    right: 5px;
    top: -26px;
  }
}

@media screen and (max-width: 470px) {
  .treatment_section_body_item_contents_img {
    right: -13px;
    top: -32px;
  }
}

@media screen and (max-width: 415px) {
  .treatment_section_body_item_contents_img {
    right: -33px;
  }
}

@media screen and (max-width: 385px) {
  .treatment_section_body_item_contents_img {
    right: -54px;
  }
}

@media screen and (max-width: 350px) {
  .treatment_section_body_item_contents_img {
    right: -59px;
  }
}

@media screen and (max-width: 340px) {
  .treatment_section_body_item_contents_img {
    right: -63px;
  }
}


/* ------------------------------------------------------------ */
/* flow_section */

.flow_section {
  padding-top: 99px;
}

@media screen and (max-width: 600px) {
  .flow_section {
    padding-top: 52px;
  }
}

.flow_title {
  text-align: center;
  font-size: 36px;
  font-weight: 700;
  color: #636363;
  margin-bottom: 76px;
  line-height: 1.75;
}

@media screen and (max-width: 600px) {
  .flow_title {
    font-size: 20px;
    margin-bottom: 64px;
  }
}

.flow_section_body {
  padding-top: 96px;
  padding-bottom: 62px;
}

@media screen and (max-width: 768px) {
  .flow_section_body {
    padding-top: 35px;
    padding-bottom: 25px;
  }
}

@media screen and (max-width: 675px) {
  .flow_section_body_caution {
    text-align: left;
  }
}

.flow_section_body_text {
  text-align: center;
  font-size: 30px;
  font-weight: 500;
  color: #636363;
  margin-bottom: 53px;
}

@media screen and (max-width: 768px) {
  .flow_section_body_text {
    font-size: 18px;
    margin-bottom: 31px;
  }
}

.flow_section_body_text_blue {
  font-size: 26px;
  font-weight: 700;
  color: #0B94E0;
}

@media screen and (max-width: 768px) {
  .flow_section_body_text_blue {
    font-size: 24px;
  }
}

.flow_section_body_container {
  display: flex;
  flex-direction: column;
  gap: 26px;
  margin-bottom: 54px;
}

@media screen and (max-width: 500px) {
  .flow_section_body_container {
    margin-bottom: 33px;
  }
}

.flow_section_body_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.flow_section_body_item_circle {
  background-color: #0B94E0;
  border-radius: 50%;
  width: 65px;
  height: 65px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
}



.flow_section_body_item_circle_first,
.flow_section_body_item_circle_second,
.flow_section_body_item_circle_third {
  position: relative;
}

@media screen and (max-width: 600px) {
  .flow_section_body_item_circle_first::after {
    content: "";
    position: absolute;
    bottom: -62px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 46px;
    background-image: url('../../assets/img/home/flow_dot_sp.svg');
    background-repeat: no-repeat;
    background-size: contain;
  }

  .flow_section_body_item .flow_section_body_item_circle_second::after,
  .flow_section_body_item .flow_section_body_item_circle_third::after {
    content: "";
    position: absolute;
    bottom: -349px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 290px;
    background-image: url('../../assets/img/home/flow_dot_sp_long.svg');
    background-repeat: no-repeat;
    background-size: contain;
  }
}

@media screen and (max-width: 450px) {

  .flow_section_body_item .flow_section_body_item_circle_second::after,
  .flow_section_body_item .flow_section_body_item_circle_third::after {
    bottom: -325px;
  }
}

@media screen and (min-width: 600px) {
  .flow_section_body_item:not(:last-child) .flow_section_body_item_circle::after {
    content: "";
    position: absolute;
    bottom: -136px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 118px;
    background-image: url('../../assets/img/home/dot_long.svg');
    background-repeat: no-repeat;
    background-size: contain;
  }
}


@media screen and (max-width: 768px) {
  .flow_section_body_item_circle {
    width: 55px;
    height: 55px;
  }
}

@media screen and (max-width: 450px) {
  .flow_section_body_item_circle {
    width: 45px;
    height: 45px;
  }
}

.circle_step {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  font-family: "Secular One", sans-serif;
}

@media screen and (max-width: 768px) {
  .circle_step {
    font-size: 10.37px;
  }
}

.circle_num {
  font-size: 30px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  font-family: "Secular One", sans-serif;
}

@media screen and (max-width: 768px) {
  .circle_num {
    font-size: 23.05px;
  }
}

.flow_section_body_item_contents {
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 15px;
  width: 88%;
  object-fit: cover;
  object-position: center;
  height: 100%;
}

.flow_section_body_item_contents_img {
  object-fit: cover;
  object-position: center;
}

.flow_section_body_item_contents_img_inr img {
  border-radius: 15px 0 0 15px;
  object-fit: cover;
  object-position: center;
}

@media screen and (max-width: 767px) {
  .flow_section_body_item_contents {
    width: 88%;
  }

  .flow_section_body_item_contents_img_inr {
    width: 125px;
    height: 99px;
    object-fit: cover;
  }
}

@media screen and (max-width: 600px) {
  .flow_section_body_item_contents {
    width: 85%;
  }


}

@media screen and (max-width: 450px) {
  .flow_section_body_item_contents {
    width: 85.2%;
  }
}

.flow_section_body_item_contents_text {
  font-size: 25px;
  font-weight: 700;
  color: #0B94E0;
  padding: 0 30px;
}

.flow_section_body_item_contents_text_normal {
  color: #636363;
}

@media screen and (max-width: 900px) {
  .flow_section_body_item_contents_text {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .flow_section_body_item_contents_text {
    font-size: 15px;
    padding: 14px;
  }

  .step03 .flow_section_body_item_contents_text {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .flow_section_body_item_contents_text {
    font-size: 14px;
    padding: 14px;
  }
}

@media screen and (max-width: 360px) {
  .flow_section_body_item_contents_text {
    padding: 6px;
  }
}

.flow_section_body_item_contents_img img {
  border-radius: 15px 0 0 15px;
  width: 100%;
}

.flow_section_body_bottom {
  font-size: 27px;
  font-weight: 700;
  color: #636363;
  text-align: center;
  margin-top: 45.94px;
}

@media screen and (max-width: 768px) {
  .flow_section_body_bottom {
    font-size: 18px;
    margin-top: 18px;
  }
}

.flow_section_body_bottom_blue {
  font-size: 33.59px;
  font-weight: 700;
  color: #0B94E0;
}

@media screen and (max-width: 768px) {
  .flow_section_body_bottom_blue {
    font-size: 22px;
  }
}

.flow_section_body_bottom_emphasis {
  font-size: 44.78px;
  font-weight: 700;
  color: #0B94E0;
  background: linear-gradient(to bottom, transparent 60%, #FCE830 60%);
}

@media screen and (max-width: 768px) {
  .flow_section_body_bottom_emphasis {
    font-size: 30px;
  }
}

.flow_section_counseling_body {
  text-align: center;
  padding-top: 36px;
  padding-bottom: 21px;
}

@media screen and (max-width: 600px) {
  .flow_section_counseling_body {
    padding-top: 17px;
    padding-bottom: 18px;
  }
}

.flow_section_counseling_body_text {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 600px) {
  .flow_section_counseling_body_text {
    font-size: 18px;
  }
}

.flow_section_counseling_body_text_yellow {
  font-size: 30px;
  font-weight: 700;
  color: #FCE830;
}

@media screen and (max-width: 600px) {
  .flow_section_counseling_body_text_yellow {
    font-size: 20px;
  }

  .flow_section_counseling_body_text_yellow_large {
    font-size: 26px;
  }
}

.flow_section_counseling_body_vist img,
.flow_section_counseling_body_satisfaction img {
  display: block;
  margin: 0 auto;
  margin-bottom: 9px;
}

.flow_section_counseling_body_vist {
  margin-bottom: 20px;
}

@media screen and (max-width: 600px) {
  .flow_section_counseling_body_vist {
    margin-bottom: 11px;
  }
}

.flow_section_counseling_btn {
  display: flex;
  justify-content: center;
  margin-bottom: 21px;
}

@media screen and (max-width: 600px) {
  .flow_section_counseling_btn {
    margin-bottom: 13px;
  }
}

.flow_section_body_item_contents_img .step03 {
  width: 100%;
}

@media screen and (max-width: 600px) {
  .flow_section_body_item_contents_img .step03 {
    width: 100%;
  }
}

@media screen and (max-width: 600px) {
  .step03 .flow_section_body_item_contents_img {
    width: 100%;
  }

  .step03 .flow_section_body_item_contents_img img {
    width: 100%;
    height: auto;
  }
}

@media screen and (min-width: 600px) {
  .step03 .flow_section_body_item_contents_img {
    width: 135.1vw;
    max-width: 450px;
    height: auto;
  }
}

@media screen and (max-width: 600px) {
  .step03 {
    flex-direction: column;
    align-items: flex-start;
  }

  .step03 img {
    border-radius: 15px 15px 0 0;
  }
}

.flow_guidebook {
  justify-content: center;
}

.flow_guidebook .btn_wrap {
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 25px;
}

@media screen and (max-width: 600px) {
  .flow_guidebook .btn_wrap {
    margin-top: 9px;
    margin-bottom: 17px;
  }
}

.flow_guidebook_bottom {
  margin: 0 auto;
  max-width: 700px;
}

.flow_guidebook_bottom .asterisk1_num1::before {
  content: "※1";
  position: absolute;
  left: 0;
  top: 2px;
  color: inherit;
  font-size: 11px;
  line-height: 1;
}

@media screen and (max-width: 600px) {
  .flow_guidebook_bottom .asterisk1_num1::before {
    top: 0;
  }
}

.flow_guidebook_bottom .asterisk1_num2::before {
  content: "※2";
  position: absolute;
  left: 0;
  top: 2px;
  color: inherit;
  font-size: 11px;
  line-height: 1;
}

@media screen and (max-width: 600px) {
  .flow_guidebook_bottom .asterisk1_num2::before {
    top: 2px;
  }
}

.flow_guidebook_bottom span {
  display: block;
}

.flow_section .guidebook {
  padding: 31px 0 23px 0;
  position: relative;
}

@media screen and (max-width: 600px) {
  .flow_section .guidebook {
    padding: 15px 0 10px 0;
  }
}


/* -------------------------------------------------------- */
/* cost_area */

.cost_section {
  padding-top: 107px;
}

@media screen and (max-width: 600px) {
  .cost_section {
    padding-top: 59px;
  }
}

.cost_section .bubble {
  width: 494px;
  padding-right: 24px;
  padding-left: 121px;
  margin: 0 auto;
  margin-bottom: 55px;
}

@media screen and (max-width: 600px) {
  .cost_section .bubble {
    width: 100%;
    padding-right: 26px;
    padding-left: 100px;
    margin: 0 auto;
    margin-bottom: 35px;
  }
}

@media screen and (max-width: 370px) {
  .cost_section .bubble {
    padding-right: 16px;
    padding-left: 115px;
  }
}

.cost_text_top {
  font-size: 36px;
  font-weight: 700;
  color: #636363;
  text-align: center;
  margin-bottom: 84px;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  .cost_text_top {
    font-size: 28px;
    margin-bottom: 63px;
  }

  .cost_text_top .blue {
    font-size: 32px;
  }
}

@media screen and (max-width: 600px) {
  .cost_text_top {
    font-size: 20px;
    margin-bottom: 63px;
  }

  .cost_text_top .blue {
    font-size: 26px;
  }
}

.cost_section_generally {
  font-size: 22px;
  font-weight: 500;
  color: #636363;
  text-align: center;
  margin-bottom: 29px;
}

@media screen and (max-width: 600px) {
  .cost_section_generally {
    font-size: 20px;
    margin-bottom: 18px;
  }
}

.custom_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid #E0C461;
  table-layout: fixed;
  margin-bottom: 14px;
}



@media screen and (max-width: 600px) {
  .custom_table td {
    width: 50%;
  }

  .custom_table {
    margin-bottom: 8px;
  }
}


.custom_table td,
.custom_table th {
  border: 1px solid #B8B8B8;
  padding: 14px 0;
  text-align: center;
  vertical-align: middle;
  word-wrap: break-word;
}

@media screen and (max-width: 600px) {

  .custom_table td,
  .custom_table th {
    border: 1px solid #B8B8B8;
    padding: 11px 0;
    text-align: center;
    vertical-align: middle;
    word-wrap: break-word;
  }
}

.custom_table tr:first-child td,
.custom_table tr:first-child th {
  border-top: none;
}

.td_first {
  padding: 24px 0 !important;
}

.td_bottom_text {
  font-size: 16px;
}

@media screen and (max-width: 600px) {
  .td_bottom_text {
    font-size: 11px;
  }
}

@media screen and (max-width: 370px) {
  .td_bottom_text {
    font-size: 10px;
  }
}

.custom_table td:first-child,
.custom_table th:first-child {
  border-left: none;
  font-size: 20px;
  font-weight: 500;
  color: #636363;
}

.custom_table td:last-child,
.custom_table th:last-child {
  border-right: none;
  font-size: 22px;
  font-weight: 500;
  color: #636363;
}

@media screen and (max-width: 600px) {

  .custom_table td:last-child,
  .custom_table th:last-child {
    font-size: 16px;
    line-height: 1.2;
  }
}

@media screen and (max-width: 370px) {

  .custom_table td:last-child,
  .custom_table th:last-child {
    font-size: 14px;
  }
}

.custom_table tr:last-child td {
  border-bottom: none;
}

.custom_table td:first-child {
  background-color: #FBFAEF;
  width: 41%;
}

.custom_table td:last-child {
  background-color: #fff;
}

.custom_table th {
  background: #f0e6cc;
}

.custom_table tr:nth-child(even) {
  background: #fbf8f0;
}

.custom_table tr:nth-child(odd) {
  background: #fefcf9;
}

@media screen and (max-width: 600px) {

  .custom_table td:first-child,
  .custom_table th:first-child {
    font-size: 16px;
    width: 50%;
    line-height: 1.2;
  }
}

.custom-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  width: 100%;
  padding: 10px;
  padding-right: 30px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  position: relative;
}


.custom-select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url('../img/home/form_arrow.svg');
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}

.cost_section_caution {
  margin-bottom: 31px;
}

.cost_section_caution_text.asterisk1 {
  font-size: 11px;
  display: block;
}

@media screen and (max-width: 600px) {
  .cost_section_caution_text.asterisk1 {
    font-size: 10px;
  }
}


.cost_section_flow {
  font-size: 32px;
  font-weight: 700;
  color: #636363;
  position: relative;
  text-align: center;
  margin-bottom: 110px;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  .cost_section_flow {
    font-size: 28px;
  }
}

.cost_section_flow_bottom {
  margin-bottom: 30px;
}

@media screen and (max-width: 600px) {
  .cost_section_flow_top {
    font-size: 19px;
    margin-bottom: 72px;
  }

  .cost_section_flow_bottom {
    font-size: 20px;
    margin-bottom: 17px;
  }
}

@media screen and (max-width: 378px) {
  .cost_section_flow_top {
    font-size: 18px;
  }
}

@media screen and (max-width: 366px) {
  .cost_section_flow_top {
    font-size: 17px;
  }
}

@media screen and (min-width: 768px) {
  .cost_section_flow_bottom::before {
    content: "";
    position: absolute;
    background-image: url(../../assets/img/home/body_text_left.svg);
    left: 9px;
    bottom: 0;
    width: 60px;
    height: 72px;
    background-repeat: no-repeat;
  }
}

@media screen and (min-width: 830px) {
  .cost_section_flow_bottom::before {
    left: 46px;
  }
}


@media screen and (min-width: 768px) {
  .cost_section_flow_bottom::after {
    content: "";
    position: absolute;
    background-image: url(../../assets/img/home/body_text_right.svg);
    right: 6px;
    bottom: 0;
    width: 60px;
    height: 72px;
    background-repeat: no-repeat;
  }
}

@media screen and (min-width: 830px) {
  .cost_section_flow_bottom::after {
    right: 39px;
  }
}

.cost_section_flow .blue {
  font-size: 40px;
  font-weight: 700;
  color: #02A5D9;
}

@media screen and (max-width: 768px) {
  .cost_section_flow .blue {
    font-size: 32px;
  }
}

@media screen and (max-width: 600px) {
  .cost_section_flow .blue {
    font-size: 23px;
  }
}

@media screen and (max-width: 360px) {
  .cost_section_flow .blue {
    font-size: 21px;
  }
}

@media screen and (max-width: 345px) {
  .cost_section_flow .blue {
    font-size: 20px;
  }
}

.cost_section_flow_top::after {
  content: "";
  position: absolute;
  background-image: url(../../assets/img/home/text_flow.svg);
  left: 50%;
  transform: translateX(-50%);
  bottom: -64px;
  width: 27px;
  height: 26px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 600px) {
  .cost_section_flow_top::after {
    bottom: -47px;
  }
}

.cost_section_logo {
  display: flex;
  justify-content: center;
  margin-bottom: 28px;
}

@media screen and (max-width: 600px) {
  .cost_section_logo {
    margin-bottom: 17px;
  }
}

.cost_package_top {
  background-color: #fff;
  /* border-radius: 10px; */
  padding: 34px 60px 30px 60px;
}

@media screen and (max-width: 600px) {
  .cost_package_top {
    padding: 20px 17px 26px 17px;
  }
}

@media screen and (max-width: 350px) {
  .cost_package_top {
    padding: 18px 12px 22px 12px;
  }
}

.cost_package_top_text {
  font-size: 22px;
  font-weight: 500;
  color: #636363;
  text-align: center;
  margin-bottom: 26px;
}

@media screen and (max-width: 600px) {
  .cost_package_top_text {
    font-size: 20px;
    margin-bottom: 12px;
  }
}


.cost_package {
  border: 3px solid #02A5D9;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 70px;
}

@media screen and (max-width: 600px) {
  .cost_package {
    margin-bottom: 24px;
  }
}

.cost_package_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 10px;
  row-gap: 8px;
}

@media screen and (max-width: 600px) {
  .cost_package_list {
    column-gap: 6px;
    row-gap: 6px;
  }
}

.cost_package_list_item {
  background-color: #02A5D9;
  padding: 4px;
  border-radius: 10px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 600px) {
  .cost_package_list_item {
    padding: 5px 0;
  }
}

.cost_package_list_item_last {
  background-color: #fff;
}

.cost_package_list_item_text {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

.cost_package_list_item_text .small {
  font-size: 16px;
}

@media screen and (max-width: 600px) {
  .cost_package_list_item_text .small {
    font-size: 14px;
  }
}

@media screen and (max-width: 650px) {
  .cost_package_list_item_text {
    font-size: 18px;
  }
}

@media screen and (max-width: 390px) {
  .cost_package_list_item_text {
    font-size: 15px;
  }
}


.cost_package_list_item_last .cost_package_list_item_text {
  color: #02A5D9;
  font-weight: 700;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 600px) {
  .small {
    font-size: 16px;
    font-weight: 500;
  }
}

@media screen and (max-width: 390px) {
  .small {
    font-size: 12px;
  }
}

.cost_package_free {
  background-color: #E9F8FE;
  position: relative;
  padding-top: 12px;
  padding-bottom: 43px;
  text-align: center;
}

@media screen and (max-width: 600px) {
  .cost_package_free {
    padding-top: 16px;
    padding-bottom: 37px;
  }
}

.cost_package_free_plus {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -19px;
}

.cost_package_free_text {
  font-size: 29px;
  font-weight: 700;
  color: #636363;
  letter-spacing: 0.125em;
}

@media screen and (max-width: 600px) {
  .cost_package_free_text {
    font-size: 20px;
  }
}

.cost_package_free_text_blod {
  font-size: 40px;
  font-weight: 700;
  color: #02A5D9;
  line-height: 40px;
  border-bottom: 4px solid #FF9901;
}

@media screen and (max-width: 600px) {
  .cost_package_free_text_blod {
    font-size: 26px;
  }
}

.cost_package_free_text_blod .num {
  font-size: 55px;
}

@media screen and (max-width: 600px) {
  .cost_package_free_text_blod .num {
    font-size: 36px;
  }
}

.cost_package_moreover {
  position: relative;
  text-align: center;
  background-color: #02A5D9;
  padding-top: 36px;
  padding-bottom: 22px;
}

@media screen and (max-width: 600px) {
  .cost_package_moreover {
    padding-top: 28px;
    padding-bottom: 17px;
  }
}

.cost_package_moreover_img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -19px;
}

.cost_package_moreover_text {
  font-size: 28px;
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 600px) {
  .cost_package_moreover_text {
    font-size: 20px;
  }
}

.cost_package_moreover_text .yellow {
  font-size: 37px;
  font-weight: 700;
  color: #FFEA00;
}

@media screen and (max-width: 600px) {
  .cost_package_moreover_text .yellow {
    font-size: 24px;
  }
}

.cost_guidebook {
  position: relative;
  justify-content: center;
}

.cost_guidebook .guidebook {
  padding: 38px 0 24px 0;
  position: relative;
}

@media screen and (max-width: 1050px) {
  .cost_guidebook .guidebook {
    padding: 16px 0 10px 0;
    position: relative;
  }
}

.bg_blue_left {
  position: absolute;
  bottom: 0;
  left: -12px;
}

@media screen and (max-width: 1050px) {
  .bg_blue_left {
    display: none;
  }
}

.bg_blue_right {
  position: absolute;
  bottom: 0;
  right: 1px;
}

@media screen and (max-width: 1050px) {
  .bg_blue_right {
    display: none;
  }
}

.cost_guidebook .btn_wrap {
  margin: 16px auto 18px auto;
}

@media screen and (max-width: 600px) {
  .cost_guidebook .btn_wrap {
    margin: 12px auto 13px auto;
  }
}

.guidebook_section {
  padding-top: 97px;
  background-image: url('../img/home/background_img.svg');
  background-repeat: repeat-x;
  width: 100%;
  background-position: right -12px top;
}

@media screen and (max-width: 600px) {
  .guidebook_section {
    padding-top: 50px;
  }
}

.guidebook_section_top {
  text-align: center;
  margin-bottom: 83px;
}

@media screen and (max-width: 600px) {
  .guidebook_section_top {
    margin-bottom: 61px;
  }
}

.guidebook_section_top_text {
  font-size: 26px;
  font-weight: 700;
  color: #636363;
}

@media screen and (max-width: 600px) {
  .guidebook_section_top_text {
    font-size: 20px;
  }
}

.guidebook_section_top_text_inr {
  font-size: 36px;
}

@media screen and (max-width: 600px) {
  .guidebook_section_top_text_inr {
    font-size: 20px;
  }
}

.orange {
  font-size: 48px;
  font-weight: 700;
  color: #FF9901;
}

@media screen and (max-width: 600px) {
  .orange {
    font-size: 32px;
  }
}



.guidebook_section_body {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}

@media screen and (max-width: 990px) {
  .guidebook_section_body {
    justify-content: center;
    gap: 15px;
  }
}

@media screen and (max-width: 915px) {
  .guidebook_section_body {
    flex-direction: column;
    gap: 32px;
  }

  .guidebook_section_body_img {
    display: flex;
    justify-content: center;
  }
}

@media screen and (max-width: 600px) {
  .guidebook_section_body {
    flex-direction: column;
    margin-bottom: 21px;
    gap: 27px;
  }

  .guidebook_section_body_img {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}

.guidebook_section_body_list_item {
  display: flex;
  align-items: center;
  gap: 17px;
  padding-top: 20px;
  padding-bottom: 22px;
  border-bottom: 1px solid #C0C0C0;
}

@media screen and (max-width: 768px) {
  .guidebook_section_body_list_item {
    gap: 15px;
  }
}

.guidebook_section_body_list_item:first-child {
  padding-top: 0;
}

.guidebook_section_body_list_item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.guidebook_section_text {
  font-size: 24px;
  font-weight: 700;
  color: #636363;
}

@media screen and (max-width: 990px) {
  .guidebook_section_text {
    font-size: 18px;
  }
}

.guidebook_section_text .blue {
  font-size: 32px;
  font-weight: 700;
  color: #02A5D9;
}

@media screen and (max-width: 990px) {
  .guidebook_section_text .blue {
    font-size: 20px;
  }
}

@media screen and (max-width: 990px) {
  .guidebook_section_text_bottom {
    font-size: 20px;
  }

  .guidebook_section_text_bottom .blue {
    font-size: 26px;
  }
}


.guidebook_section_point {
  padding: 0 41px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 15px;
  margin-bottom: 63px;
}

@media screen and (max-width: 768px) {
  .guidebook_section_point {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 18px;
  }
}

.guidebook_section_point_item {
  border: 3px solid #E0C461;
  padding-top: 14px;
  padding-bottom: 14px;
  text-align: center;
}

@media screen and (max-width: 600px) {
  .guidebook_section_point_item {
    border: 2px solid #E0C461;
  }
}

@media screen and (max-width: 600px) {
  .guidebook_section_point_item {
    padding-top: 7px;
    padding-bottom: 7px;
  }
}

.guidebook_section_cumulative {
  background-color: #02A5D9;
  border-radius: 10px;
  padding-top: 15px;
  padding-bottom: 19px;
  margin-bottom: 17px;
}

@media screen and (max-width: 600px) {
  .guidebook_section_cumulative {
    padding-top: 8px;
    padding-bottom: 6px;
    margin-bottom: 10px;
  }
}

.guidebook_section_cumulative_top {
  text-align: center;
}

.guidebook_section_cumulative_top_text {
  font-size: 30px;
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 600px) {
  .guidebook_section_cumulative_top_text {
    font-size: 18px;
  }
}

.guidebook_section_cumulative_top_text .yellow {
  font-size: 38px;
  font-weight: 700;
  color: #FFEA00;
}

@media screen and (max-width: 600px) {
  .guidebook_section_cumulative_top_text .yellow {
    font-size: 22px;
  }
}

.yellow_large {
  font-size: 62px;
  font-weight: 700;
  color: #FFEA00;
  line-height: 1;
}

@media screen and (max-width: 600px) {
  .yellow_large {
    font-size: 44px;
    line-height: 1;
  }
}


.yellow_middle {
  font-size: 42px;
  font-weight: 700;
  color: #FFEA00;
}

@media screen and (max-width: 600px) {
  .yellow_middle {
    font-size: 30px;
  }
}

.yellow_small {
  font-size: 25px;
  font-weight: 700;
  color: #FFEA00;
}

.guidebook_section_cumulative_bottom {
  display: flex;
  justify-content: center;
  margin-top: 2px;
}

.guidebook_section_caution {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 700px;
  margin-bottom: 82px;
}

@media (max-width: 600px) {
  .guidebook_section_caution {
    margin-bottom: 25px;
  }
}

.guidebook_section_caution .asterisk1_num1::before {
  top: 0;
}

.guidebook_section_caution_text {
  text-align: left;
  width: 100%;
}

.guidebook_section_flow {
  font-size: 32px;
  font-weight: 700;
  color: #636363;
  position: relative;
  text-align: center;
  margin-bottom: 105px;
}

@media (max-width: 600px) {
  .guidebook_section_flow {
    font-size: 16px;
    margin-bottom: 47px;
  }
}

.guidebook_section_flow .blue {
  font-size: 40px;
  font-weight: 700;
  color: #02A5D9;
}

@media (max-width: 600px) {
  .guidebook_section_flow .blue {
    font-size: 22px;
  }
}

.guidebook_section_flow_top::after {
  content: "";
  position: absolute;
  background-image: url(../../assets/img/home/text_flow.svg);
  left: 50%;
  transform: translateX(-50%);
  bottom: -60px;
  width: 27px;
  height: 26px;
  background-repeat: no-repeat;
}

@media (max-width: 600px) {
  .guidebook_section_flow_top::after {
    bottom: -36px;
  }
}

/* -------------------------------------------------------------------------------------- */
/* フォーム */

.form_body {
  background-color: #02A5D9;
  padding: 72px 0 49px 0;
}

@media (max-width: 600px) {
  .form_body {
    padding: 29px 0 29px 0;
  }
}

.form_title {
  font-size: 30px;
  font-weight: 700;
  color: #fff;
  text-align: center;
}

@media (max-width: 600px) {
  .form_title {
    font-size: 20px;
  }
}

.contact_form {
  width: 100%;
  padding: 48px 60px 58px 60px;
  margin-top: 54px;
  margin-bottom: 55px;
  background-color: #fff;
  border-radius: 10px;
}

@media (max-width: 600px) {
  .contact_form {
    margin-top: 39px;
  }
}

.submit_button {
  background-color: #007bff;
  cursor: pointer;
  margin-top: 20px;
  padding: 15px 30px;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  border: none;
  border-radius: 30px;
  display: block;
  text-align: center;
  margin: 0 auto;
  margin-top: 40px;
  transition: background-color 0.3s;
  width: 348px;
  line-height: 1;
}

@media (max-width: 600px) {
  .submit_button {
    padding-top: 11px;
    padding-bottom: 13px;
  }
}

@media (max-width: 410px) {
  .submit_button {
    width: 100%;
  }
}

.submit_button.enabled {
  background-color: #007bff;
  cursor: pointer;
}

.consent_label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.radio_label input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 19px;
  height: 19px;
  border: 2px solid #ccc;
  border-radius: 50%;
  position: relative;
  outline: none;
  cursor: pointer;
  margin-right: 8px;
}

.gender_container {
  /* display: flex;
  align-items: center; */
  display: grid;
  grid-template-columns: repeat(2, 130px);
  grid-gap: 10px;
}

.gender_container label {
  margin: 0;
  width: 100%;
  align-items: center;
  display: flex;
  gap: 8px;
}


.radio_label {
  display: flex;
  align-items: center;
  margin-right: 12px;
}

.form_group {
  margin-bottom: 16px;
}

.form_td.--name {
  display: flex;
  gap: 12px;
}

.form_td select,
.form_td input {
  box-sizing: border-box;
}

input[type="radio"] {
  margin: 0;
  height: 24px;
  width: 24px;
}

@media (max-width: 900px) {

  .form_td select,
  .form_td input {
    width: 100%;
  }

  input[type="radio"] {
    width: fit-content;
  }
}

.form_td.form_hyphen {
  display: grid;
  grid-template-columns: repeat(3, 95px);
  grid-gap: 20px;
}

@media screen and (max-width: 768px) {
  .form_td.form_hyphen {
    grid-template-columns: repeat(3, 65px);
  }
}

.form_td.form_hyphen .phone-item {
  position: relative;
}

.form_td.form_hyphen .phone-item:not(:first-child)::before {
  content: '-';
  font-size: 14px;

  position: absolute;
  top: 11px;
  left: -12px;
}

select {
  appearance: none;
  padding-right: 40px;
  background-image: url(../../assets/img/home/form_arrow.svg);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 15px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.address_form_td {
  padding-left: 0 !important;
}

.address_form_td p {
  font-size: 15px;
}

.address_form_td_inr {
  width: 36%;
}

.pg_zip {
  width: 100%;

  display: flex;
  justify-content: space-between;
}

@media (max-width: 900px) {
  .pg_zip {
    display: block;
  }
}

.radio_label input[type="radio"]:checked {
  border: 2px solid #ccc;
  background-color: #0B94E0;
}

.radio_label input[type="radio"]:checked::after {
  content: '';
  width: 10px;
  height: 10px;
  background-color: #0B94E0;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.consent_label input[type="checkbox"] {
  appearance: none;
  width: 24px;
  height: 24px;
  border: 2px solid #C7C8C8;
  border-radius: 4px;
  background-color: #fff;
  cursor: pointer;
  display: inline-block;
  position: relative;
}

.consent_label input[type="checkbox"]:checked {
  border-color: #FF9D00;
  background-color: #FF9D00;
}

.consent_label input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 7px;
  width: 7px;
  height: 12px;
  border-width: 0 3px 3px 0;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.divider {
  display: inline-block;
  width: 10px;
  height: 1px;
  background-color: #000;
  vertical-align: middle;
  margin: 0 10px;
}

table {
  width: 100%;
  border-collapse: collapse;
}

tr {
  border-bottom: 1px solid #C7C8C8;
}

td {
  padding: 29px 0;
  vertical-align: baseline;
}


@media (max-width: 900px) {
  td {
    border-bottom: none;
    padding-top: 0;
    padding-bottom: 13px;
  }
}


.form_padding_top_none {
  padding-top: 0;
}

.form_padding_bottom_none {
  padding-bottom: 0;
}

.contact_form tr:first-child,
.contact_form td:first-child {
  width: 36%;
}

@media screen and (max-width: 900px) {

  .contact_form tr:first-child,
  .contact_form td:first-child {
    width: 100%;
  }
}

.contact_form td:last-child,
.contact_form tr:last-child {
  padding-left: 18px;
}

@media screen and (max-width: 900px) {

  .contact_form td:last-child,
  .contact_form tr:last-child {
    padding-left: 0;
    padding-bottom: 0;
  }
}

label {
  font-size: 16px;
  color: #636363;
}

@media screen and (max-width: 900px) {
  label {
    font-size: 15px;
  }
}

.label_flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.label_flex_bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.label_flex_bottom a {
  text-decoration: underline;
  font-size: 16px;
  color: #fff;
}

@media screen and (max-width: 600px) {
  .label_flex_bottom a {
    font-size: 12px;
  }
}

.required_label {
  padding: 3px 5px 4px 5px;
  background-color: #F3AF00;
  color: #fff;
  font-size: 14px;
  border-radius: 4px;
  font-weight: 600;
  flex-shrink: 0;
  line-height: 1;
}

.option_label {
  padding: 3px 5px 4px 5px;
  background-color: #909090;
  color: #fff;
  font-size: 14px;
  border-radius: 4px;
  font-weight: 600;
  flex-shrink: 0;
  line-height: 1;
}

.address_required_label {
  margin-left: auto;
}

@media screen and (max-width: 600px) {
  .required_label {
    font-size: 10px;
  }
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
select,
textarea {
  width: 100%;
  height: 46px;
  padding: 5px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 16px;
}

@media screen and (max-width: 600px) {

  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="date"],
  select,
  textarea {
    width: 100%;
    height: 36px;
    padding: 5px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 16px;
  }
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
textarea::placeholder {
  color: #aaa;
}

input::placeholder,
textarea::placeholder {
  font-size: 16px;
  color: #B8B8B8;
}

textarea {
  height: 100px;
}

.preferred_date_group {
  display: flex;
  flex-direction: column;
}

.preferred_date_item {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.preferred_date_item:last-child {
  margin-bottom: 0;
}

.preferred_label {
  white-space: nowrap;
  width: 16%;
  font-size: 16px;
}

.preferred_date_item_flex {
  display: flex;
  gap: 10px;
}

.date_input,
.time_select {
  width: 209px;
  padding: 10px 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  color: #aaa;
}

@media screen and (max-width: 600px) {

  .date_input,
  .time_select {
    padding: 3px;
  }
}

.form_border_none {
  border-bottom: none;
}

.preferred_date_item_flex {
  gap: 5px;
  width: 100%;
}

#last_name {
  height: 46px;
  margin-right: 13px;
}

@media screen and (max-width: 600px) {
  #last_name {
    margin-right: 9px;
    height: 36px;
  }
}

#first_name {
  height: 46px;
}

@media screen and (max-width: 600px) {
  #first_name {
    height: 36px;
  }
}

#furigana_last {
  width: 36.1%;
  height: 46px;
  margin-right: 13px;
}

@media screen and (max-width: 600px) {
  #furigana_last {
    width: 41.1%;
    margin-right: 8px;
    height: 36px;
  }
}

#furigana_first {
  width: 36.1%;
  height: 46px;
}

@media screen and (max-width: 600px) {
  #furigana_first {
    width: 41.1%;
    height: 36px;
  }
}

#email {
  width: 100%;
  height: 46px;
}

@media screen and (max-width: 600px) {
  #email {
    width: 100%;
    height: 36px;
  }
}

#email_confirm {
  width: 84.7%;
  height: 46px;
}

#prefecture {
  width: 48.41%;
  height: 46px;
}

#prefecture {
  width: 76%;
  margin-top: 8px;
}

@media screen and (max-width: 900px) {
  #prefecture {
    width: 100%;
    margin-top: 12px;
    height: 36px;
  }
}

#city {
  margin-top: 8px;
}

@media screen and (max-width: 900px) {
  #city {
    margin-top: 12px;
    height: 36px;
  }
}

#address_detail {
  margin-top: 8px;
}

@media screen and (max-width: 900px) {
  #address_detail {
    margin-top: 12px;
    height: 36px;
  }
}

.label_and_input {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

@media screen and (max-width: 900px) {
  .label_and_input {
    flex-direction: column;
    gap: 0px;
  }
}

.label_flex {
  flex: 1;
}

.input_area {
  flex: 1;
  text-align: right;
}

.additional_text {
  margin-top: 10px;
  font-size: 12px;
  color: #555;
}

.postal_code {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 900px) {
  .postal_code {
    justify-content: left;
  }
}

#postal_code1 {
  width: 21.1%;
}

#postal_code2 {
  width: 21.1%;
}

#station {
  width: 84.7%;
}

#phone1 {
  width: 23.99%;
}

#phone2 {
  width: 23.99%;
}

#phone3 {
  width: 23.99%;
}

@media screen and (max-width: 420px) {
  #phone1 {
    width: 25.1%;
  }

  #phone2 {
    width: 25.1%;
  }

  #phone3 {
    width: 25.1%;
  }
}

@media (max-width: 362px) {
  #phone1 {
    width: 22.1%;
  }

  #phone2 {
    width: 22.1%;
  }

  #phone3 {
    width: 22.1%;
  }
}

#contact_time {
  width: 48.36%;
}

#request {
  width: 84.78%;
}

#preferred_date1 {
  width: 40.28%;
  margin-right: 13px;
}

#preferred_time1 {
  width: 40.28%;
}

#preferred_date2 {
  width: 40.28%;
  margin-right: 13px;
}

#preferred_time2 {
  width: 40.28%;
}

#preferred_date3 {
  width: 40.28%;
  margin-right: 13px;
}

#preferred_time3 {
  width: 40.28%;
}

.form_vertical_align_top td {
  vertical-align: middle;
}

.additional_text {
  font-size: 14px;
  color: #636363;
  margin-top: 24px;
}

@media screen and (max-width: 900px) {
  .form_tr {
    display: block;
  }

  .form_tr,
  .form_td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .form_td:last-child,
  .form_tr:last-child {
    padding-left: 0;
    padding-right: 0;
  }

  tr {
    border-bottom: none;
  }

  .form_td {
    border-bottom: none;
    padding: 0;
    padding-bottom: 9px;
  }

  .label_flex {
    justify-content: left;
    gap: 8px;
  }

  .form_tr:first-child,
  .form_td:first-child {
    width: 100%;
  }

  .form_td_last {
    padding-bottom: 0;
  }

  .submit_button {
    width: 208px;
    margin-top: 22px;
  }

  .label_flex_bottom {
    gap: 5px;
  }

  select {
    appearance: none;
    padding-right: 40px;
    background-image: url(../../assets/img/home/form_arrow.svg);
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
  }

  .additional_text p {
    font-size: 10px;
  }

  .additional_text {
    font-size: 14px;
    margin-top: 0;
  }
}


@media screen and (max-width: 900px) {
  .contact_form {
    padding: 28px 17px;
    padding-top: 23px;
    margin-bottom: 26px;
  }

  .form_table,
  .form_tr,
  .form_td,
  .tr_gender {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .form_tr {
    margin-bottom: 26px;
  }

  .form_tr_last {
    margin-bottom: 0;
  }

  .label_flex {
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
  }

  .label_flex_bottom {
    gap: 5px;
  }

  .submit_button {
    width: 208px;
    margin-top: 22px;
  }

  input,
  textarea {
    width: 100%;
    box-sizing: border-box;
  }
}

.label_flex_with_required {
  display: flex;
  align-items: center;
  gap: 18px;
  position: relative;
}

.address_required_label {
  position: absolute;
  left: -61px;
  flex-shrink: 0;
}

.form_group label,
.form_group input,
.form_group select {
  width: 100%;
}

.form_group label,
.form_group input,
.form_group select {
  width: 100%;
}

.required_label {
  flex-shrink: 0;

}

@media (max-width: 900px) {
  .address_required_label {
    display: none;
  }
}

.address_form_tr .required_label_top {
  display: none;
}

@media (max-width: 900px) {
  .address_form_tr .required_label_top {
    display: block;
  }
}


@media (max-width: 600px) {
  #city::placeholder {
    font-size: 14px;
  }
}

@media (max-width: 370px) {
  #city::placeholder {
    font-size: 12px;
  }
}


/* 規約 */

.terms_content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s ease;
  padding: 0 15px;
}

.terms_content.open {
  padding-top: 15px;
  padding-bottom: 15px;
}

.terms_header {
  margin-top: 20px;
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
}

.terms_paragraph {
  margin-bottom: 10px;
  font-weight: 400;
  line-height: 1.6;
  color: #fff;
}

.terms_list_item {
  font-weight: 400;
  margin-bottom: 10px;
  color: #fff;
}

.terms_toggle {
  cursor: pointer;
  text-decoration: underline;
}

.caution {
  display: block;
}

/* -------------------------------------------------------------------------------------- */
/* フッター */

footer {
  text-align: center;
  padding-top: 39px;
  padding-bottom: 33px;
}

@media screen and (max-width: 600px) {
  footer {
    padding-top: 27px;
    padding-bottom: 16px;
  }
}

.privacypolicy {
  font-size: 16px;
  text-decoration: none;
  color: #636363;
  position: relative;
  display: inline-block;
}

@media screen and (max-width: 600px) {
  .privacypolicy {
    font-size: 11px;
  }
}

.privacypolicy::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #636363;
  transform: scaleX(1);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.privacypolicy:hover::after {
  transform-origin: right;
  transform: scaleX(0);
}

.copyright {
  font-size: 14px;
  margin-top: 41px;
  color: #636363;
}

@media screen and (max-width: 600px) {
  .copyright {
    font-size: 11px;
    margin-top: 23px;
  }
}

/* --------------------------------------------------------------------------------- */
/* 追従ボタン */


.foot_btn_wrap {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(to bottom, #00B4ED 0%, #039BCB 68%);
  text-align: center;
  padding: 10px 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-left: 17px;
  padding-right: 17px;
  z-index: 999;
}

.btn_top_area {
  position: relative;
}

@media (min-width: 425px) {
  .foot_btn_wrap {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    animation: slideUp 0.5s ease-out forwards;
  }
}

@keyframes slideUp {
  from {
    transform: translateY(100%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.foot_btn_text {
  font-size: 20px;
  font-weight: 900;
  color: #fff;
}

@media (max-width: 380px) {
  .foot_btn_text {
    font-size: 18px;
  }
}

@media (max-width: 360px) {
  .foot_btn_text {
    font-size: 16px;
  }
}


@media (max-width: 420px) {
  .foot_btn_wrap {
    display: flex;
  }
}


/* -------------------------------------------------------------------- */
/* thanks */

.thanks_message {
  font-size: 16px;
  text-align: center;
  color: #636363;
}

.thanks_message p {
  margin-bottom: 28px;
}

.thanks_message .btn_wrap {
  margin: 0 auto;
  justify-content: center;
}

@media (max-width: 900px) {
  .thanks_message {
    font-size: 14px;
    text-align: left;
  }
}

.dd_alert input,
.dd_alert select {
  background-color: #FFE4E1;
}

html {
  scroll-behavior: smooth;
}

/* 生年月日 */
.form_td.birth {
  align-items: center;
  display: grid;
  grid-template-columns: 80px 18px 60px 18px 60px 18px;
  gap: 8px;
}

.form_td.birth select {
  min-width: 60px;
  padding: 3px 20px 3px 10px;
}

.form_td.birth span {
  font-size: 16px;
  line-height: 1;
}