@charset "UTF-8";
/*ブレイクポイントを設定*/
/*メディアクエリ用のミックスイン*/
/*-- リセット --*/
h1,
h2,
h3,
h4,
h5,
p,
b,
dt,
dd,
li,
span,
a,
strong {
  margin: 0;
  padding: 0;
  line-height: 1.5;
}

img {
  width: 100%;
  min-height: 0%;
  vertical-align: top;
  backface-visibility: hidden;
}

figure {
  width: 100%;
  min-height: 0%;
  margin: 0 auto;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: rgba(255, 255, 255, 0.01);
  transition: .3s;
}

a:link    { color: #5C5C5C; text-decoration: none; }
a:visited { color: #5C5C5C; text-decoration: none; }
a:hover   { color: #00A199; text-decoration: none; }
a:active  { color: #00A199; text-decoration: none; }

a img {
  display: inline-block;
}

.pc {
  display: block;
}

@media only screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.tab {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .tab {
    display: block;
  }
}

.sp {
  display: none;
}

@media only screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

.inline-pc {
  display: inline;
}

@media only screen and (max-width: 768px) {
  .inline-pc {
    display: none;
  }
}

.inline-sp {
  display: none;
}

@media only screen and (max-width: 768px) {
  .inline-sp {
    display: inline;
  }
}

.text__common {
  line-height: 2.0666;
  font-size: 1.6rem;
}

@media only screen and (max-width: 768px) {
  .text__common {
    font-size: 1.4rem;
  }
}

.text__common + .text__common {
  margin-top: 1.2rem;
}

.text__common_att {
  font-size: 1.2rem;
}

@media only screen and (max-width: 768px) {
  .text__common_att {
    font-size: 1rem;
  }
}

.text__common_left {
  text-align: left;
}

.text__common_right {
  text-align: right;
}

.text__common_center {
  text-align: center;
}

.text__common_link {
  line-height: inherit;
  text-decoration: underline;
  font-size: inherit;
  font-weight: inherit;
}

.font__weight_bold {
  font-weight: bold;
}


.ib {
  display: inline-block;
  line-height: inherit;
}


html {
  font-size: 62.5%;
}

@media only screen and (max-width: 1240px) {
  html {
    font-size: 0.835vw;
  }
}

@media only screen and (max-width: 768px) {
  html {
    font-size: 2.6vw;
  }
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-family: 'Noto Sans JP', "Hiragino Sans", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: center;
  color: #5C5C5C;
}

@media only screen and (max-width: 768px) {
  body {
    overflow: hidden;
    overflow-y: scroll;
  }
}

body.hidden {
  overflow: hidden;
}

input[type=text],
input[type=email],
textarea {
  font-family: 'Noto Sans JP', "Hiragino Sans", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.main {
  display: block;
}

.section__content {
  width: 100%;
  margin: 0 auto;
  padding: 0 2rem;
  box-sizing: border-box;
  position: relative;
}

@media only screen and (max-width: 768px) {
  .section__content {
    padding: 0 4rem;
  }
}

.section__content_ptn1 {
  max-width: 124rem;
}

.section__common {
  padding: 11rem 0;
}

@media only screen and (max-width: 768px) {
  .section__common {
    padding: 0 0 7.8rem;
  }
}

.section__bg_gray {
  background: #E5E5E6;
}

@media only screen and (max-width: 768px) {
  .section__bg_spblue {
    background: rgba(0, 161, 153, 0.07);
  }
}

.section__before_round {
  position: relative;
}

.section__before_round::before {
  content: "";
  width: 100%;
  height: 10rem;
  background: url(../img/about_round@2x.png) 50% 50% no-repeat;
  background-size: 100% 100%;
  position: absolute;
  top: -10rem;
  left: 0;
}

@media only screen and (max-width: 768px) {
  .section__before_round::before {
    height: 3rem;
    top: -3rem;
  }
}

.gridblock {
  display: grid;
}

.gridblock__ttl {
  padding-left: 8rem;
  position: relative;
  align-self: end;
  text-align: left;
  line-height: 1;
  font-size: 3rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .gridblock__ttl {
    display: inline-block;
    margin: 0 auto;
    padding: 8rem 0 0;
  }
}

.gridblock__ttl::before {
  content: "";
  width: 6rem;
  height: 9.263rem;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

@media only screen and (max-width: 768px) {
  .gridblock__ttl::before {
    top: -1.8rem;
    left: 50%;
    transform: translate(-50%, 0);
  }
}

.gridblock__ttl_01::before {
  background-image: url(../img/ttl_icon_01.svg);
}

.gridblock__ttl_02::before {
  background-image: url(../img/ttl_icon_02.svg);
}

.gridblock__ttl_03::before {
  background-image: url(../img/ttl_icon_03.svg);
}

.gridblock__ttl_04::before {
  background-image: url(../img/ttl_icon_04.svg);
}

.gridblock__ttl_05::before {
  background-image: url(../img/ttl_icon_05.svg);
}

.gridblock__ttl_circle::before {
  background-image: url(../img/ttl_icon_circle.svg);
}

.gridblock__cont {
  align-self: start;
  text-align: left;
}

.gridblock__btn {
  margin: 5.4rem 0 0;
  text-align: left;
}

@media only screen and (max-width: 768px) {
  .gridblock__btn {
    text-align: center;
  }
}

.gridblock__btn_more {
  display: block;
  width: 15.73rem;
  cursor: pointer;
}

@media only screen and (max-width: 768px) {
  .gridblock__btn_more {
    margin: 0 auto;
  }
}


.gridblock__bnr {
  background-color: #FF523F;
  background: linear-gradient(110deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 10%, rgba(244,169,161,1) 10%, rgba(246,152,142,1) 12%, rgba(255,82,63,1) 12%, rgba(255,82,63,1) 88%, rgba(244,169,161,1) 88%, rgba(244,169,161,1) 90%, rgba(255,255,255,0) 90%, rgba(255,255,255,0) 100%);
  color:#fff;
  padding: 0.866em 2.33em 0.866em 3.33em;
  text-align: center;
  font-weight: bold;
  line-height: 1.75;
  font-size: 2.33rem;
  display: inline-flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .gridblock__bnr {
    padding: 0.866em 0em 0.866em 0em;
    background: linear-gradient(135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 5%, rgba(244,169,161,1) 5%, rgba(246,152,142,1) 7%, rgba(255,82,63,1) 7%, rgba(255,82,63,1) 93%, rgba(244,169,161,1) 93%, rgba(244,169,161,1) 95%, rgba(255,255,255,0) 95%, rgba(255,255,255,0) 100%);
  }
  .gridblock__bnr * {
    transform: none !important;
  }
}


.gridblock__ptn1 {
  grid-template-columns: 49.7rem 1fr;
  column-gap: 5.6rem;
  row-gap: 4.4rem;
  align-items: center;
}

@media only screen and (max-width: 768px) {
  .gridblock__ptn1 {
    grid-template-columns: auto;
  }
}

.gridblock__ptn1 .gridblock__ttl {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
}

@media only screen and (max-width: 768px) {
  .gridblock__ptn1 .gridblock__ttl {
    grid-row: auto / auto;
    grid-column: auto / auto;
  }
}

.gridblock__ptn1 .gridblock__img {
  grid-row: 1 / 3;
  grid-column: 1 / 2;
}

@media only screen and (max-width: 768px) {
  .gridblock__ptn1 .gridblock__img {
    grid-row: auto / auto;
    grid-column: auto / auto;
  }
}

.gridblock__ptn1 .gridblock__cont {
  grid-row: 2 / 3;
  grid-column: 2 / 3;
}

@media only screen and (max-width: 768px) {
  .gridblock__ptn1 .gridblock__cont {
    grid-row: auto / auto;
    grid-column: auto / auto;
  }
}

.gridblock__ptn2 {
  grid-template-columns: 1fr 49.7rem;
  column-gap: 5.6rem;
  row-gap: 4.4rem;
  align-items: center;
}

@media only screen and (max-width: 768px) {
  .gridblock__ptn2 {
    grid-template-columns: auto;
  }
}

.gridblock__ptn2 .gridblock__ttl {
  grid-row: 1 / 2;
  grid-column: 1 / 2;
}

@media only screen and (max-width: 768px) {
  .gridblock__ptn2 .gridblock__ttl {
    grid-row: auto / auto;
    grid-column: auto / auto;
  }
}

.gridblock__ptn2 .gridblock__img {
  grid-row: 1 / 3;
  grid-column: 2 / 3;
}

@media only screen and (max-width: 768px) {
  .gridblock__ptn2 .gridblock__img {
    grid-row: auto / auto;
    grid-column: auto / auto;
  }
}

.gridblock__ptn2 .gridblock__cont {
  grid-row: 2 / 3;
  grid-column: 1 / 2;
}

@media only screen and (max-width: 768px) {
  .gridblock__ptn2 .gridblock__cont {
    grid-row: auto / auto;
    grid-column: auto / auto;
  }
}

.gridblock__modal {
  grid-template-columns: 18.8rem 1fr;
  column-gap: 5rem;
  row-gap: 3rem;
}

@media only screen and (max-width: 768px) {
  .gridblock__modal {
    grid-template-columns: auto;
    row-gap: calc(3rem * .625);
  }
}

.gridblock__modal + .gridblock__modal {
  margin-top: 5.5rem;
}

.gridblock__modal + .modal__item_sub {
  margin-top: 7.2rem;
}

.gridblock__modal_ttl {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
  align-self: end;
  line-height: 1.666;
  text-align: left;
  font-size: 3rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .gridblock__modal_ttl {
    grid-row: auto;
    grid-column: auto;
    font-size: calc(3rem * .8);
  }
}

.gridblock__modal_sub {
  font-size: 2.2rem;
}

@media only screen and (max-width: 768px) {
  .gridblock__modal_sub {
    font-size: 1.8rem;
  }
}

.gridblock__modal_img {
  grid-row: 1 / 3;
  grid-column: 1 / 2;
  align-self: start;
}

@media only screen and (max-width: 768px) {
  .gridblock__modal_img {
    grid-row: auto;
    grid-column: auto;
  }
}

.gridblock__modal_cont {
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  align-self: start;
}

@media only screen and (max-width: 768px) {
  .gridblock__modal_cont {
    grid-row: auto;
    grid-column: auto;
  }
}

.gridblock__modal_text {
  text-align: left;
}

@media only screen and (max-width: 768px) {
  .gridblock__modal_text {
    font-size: 1.3rem;
  }
}

.gridblock__modal_btns {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  margin: 2rem 0 0;
}

@media only screen and (max-width: 768px) {
  .gridblock__modal_btns {
    justify-content: space-between;
    flex-wrap: wrap;
    width: 85%;
    margin: 3rem auto 0;
  }
}

.gridblock__modal_link {
  display: inline-block;
  padding: .4rem 1.5rem;
  border: 0.1rem solid #5C5C5C;
  box-sizing: border-box;
  line-height: 1;
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: bold;
  color: #5C5C5C;
}

@media only screen and (max-width: 768px) {
  .gridblock__modal_link {
    display: block;
    width: calc(50% - .4rem);
    margin: .8rem 0 0;
    padding: .4rem 0;
  }
}

.gridblock__modal_link + .gridblock__modal_link {
  margin-left: .8rem;
}

@media only screen and (max-width: 768px) {
  .gridblock__modal_link + .gridblock__modal_link {
    margin-left: 0;
  }
}


.gridblock__modal_link.gridblock__modal_link_cp {
  border: 0;
  border-radius: 2px;
  background: #f5f5f5;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
  max-width: 320px;
  transition: .3s;
  padding: 1.125rem 1.5rem;
}
.gridblock__modal_link.gridblock__modal_link_cp:hover {
  opacity: 0.8;
}
.gridblock__modal_link.gridblock__modal_link_cp small {
  font-size: 80%;
  font-weight: normal;
  line-height: 1.33;
  display: inline-block;
}
.gridblock__modal_link.gridblock__modal_link_cp figure {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}
.gridblock__modal_link.gridblock__modal_link_cp figure img {
  width: 33.3%;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.25);
}
.gridblock__modal_link.gridblock__modal_link_cp figure figcaption {
}
.gridblock__modal_link.gridblock__modal_link_cp figure figcaption .btn {
  background-color: #00A199;
  color: #fff;
  font-size: 1.0rem;
  transition: .3s;
}
.gridblock__modal_link.gridblock__modal_link_cp:hover figure figcaption .btn {
  opacity: 0.8;
}
@media only screen and (max-width: 768px) {
.gridblock__modal_link.gridblock__modal_link_cp {
  width: 100%;
  max-width: initial;
}
}


@media only screen and (max-width: 768px) {
  .gridblock__modal_detail {
    width: 100%;
  }
}

.decoration__item {
  position: absolute;
}

.header {
  width: 100%;
  padding: 0 4.5rem;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
}

@media only screen and (max-width: 768px) {
  .header {
    padding: 2rem;
  }
}

.header__logo {
  width: 11.2rem;
}

@media only screen and (max-width: 768px) {
  .header__logo {
    width: 8.562rem;
  }
}

.header__logo_link {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 1;
}

.footer {
  position: relative;
}

.footer__totop {
  display: block;
  width: 11.45rem;
  position: absolute;
  top: -11rem;
  right: 0;
}

@media only screen and (max-width: 768px) {
  .footer__totop {
    display: none;
  }
}

.footer__nav {
  padding: 2.4rem 0;
  box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
  .footer__nav {
    padding: 4.5rem 0 0;
  }
}

.footer__nav_list {
  display: flex;
  justify-content: center;
}

@media only screen and (max-width: 768px) {
  .footer__nav_list {
    flex-direction: column;
    align-items: flex-start;
  }
}

.footer__nav_item {
  display: block;
  padding: 0 4.5rem;
  box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
  .footer__nav_item {
    padding: 0;
  }
}

.footer__nav_item + .footer__nav_item {
  border-left: 0.1rem solid #5C5C5C;
}

@media only screen and (max-width: 768px) {
  .footer__nav_item + .footer__nav_item {
    margin-top: 1.2rem;
    border: 0;
  }
}

.footer__nav_link {
  line-height: 1.33;
  text-decoration: none;
  font-size: 1.8rem;
  color: #5C5C5C;
}

.footer__copy {
  padding: 3rem 0;
}

@media only screen and (max-width: 768px) {
  .footer__copy {
    background: #E5E5E6;
  }
}

.footer__copy_text {
  line-height: 1.333;
  font-size: 1.8rem;
}

@media only screen and (max-width: 768px) {
  .footer__copy_text {
    font-size: 1rem;
  }
}

@media only screen and (max-width: 768px) {
  .mv {
    width: 100%;
    overflow: hidden;
    overflow-x: auto;
  }
}

.mv__wrap {
  position: relative;
}

@media only screen and (max-width: 768px) {
  .mv__wrap {
    width: 200%;
  }
}

.mv__pin {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  font-size: .5vw;
}

.mv__pin_item {
  width: 9em;
  height: 13.2em;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  position: absolute;
  transition: .3s ease-out;
}

@media only screen and (max-width: 768px) {
  .mv__pin_item {
    width: calc(9rem * .725);
    height: calc(13.1rem * .725);
  }
}

.mv__pin_item::before {
  content: "";
  width: 100%;
  height: 100%;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 0 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: .3s ease-out;
}

@media only screen and (max-width: 768px) {
  .mv__pin_item::before {
    display: none;
  }
}

.mv__pin_item:hover {
  background-size: 0 100%;
}

@media only screen and (max-width: 768px) {
  .mv__pin_item:hover {
    background-size: 100% 100%;
  }
}

.mv__pin_item:hover::before {
  background-size: 100% 100%;
}

.mv__pin_01 {
  background-image: url(../img/mv_pin_01_a@2x.png);
  left: 46em;
  bottom: 34.5em;
}

@media only screen and (max-width: 768px) {
  .mv__pin_01 {
    background-image: url(../img/mv_pin_01_sp@2x.png);
    left: 73em;
    bottom: 113em;
  }
}

.mv__pin_01::before {
  background-image: url(../img/mv_pin_01_b@2x.png);
}

.mv__pin_02 {
  background-image: url(../img/mv_pin_02_a@2x.png);
  left: 99em;
  bottom: 34.5em;
}

@media only screen and (max-width: 768px) {
  .mv__pin_02 {
    background-image: url(../img/mv_pin_02_sp@2x.png);
    left: 191em;
    bottom: 140em;
  }
}

.mv__pin_02::before {
  background-image: url(../img/mv_pin_02_b@2x.png);
}

.mv__pin_03 {
  background-image: url(../img/mv_pin_03_a@2x.png);
  top: 18.8em;
  left: 96em;
}

@media only screen and (max-width: 768px) {
  .mv__pin_03 {
    background-image: url(../img/mv_pin_03_sp@2x.png);
    top: 60em;
    left: 187em;
  }
}

.mv__pin_03::before {
  background-image: url(../img/mv_pin_03_b@2x.png);
}

.mv__pin_04 {
  background-image: url(../img/mv_pin_04_a@2x.png);
  top: 38.8em;
  left: 49em;
}

@media only screen and (max-width: 768px) {
  .mv__pin_04 {
    background-image: url(../img/mv_pin_04_sp@2x.png);
    top: 110em;
    left: 88em;
  }
}

.mv__pin_04::before {
  background-image: url(../img/mv_pin_04_b@2x.png);
}

.mv__pin_05 {
  background-image: url(../img/mv_pin_05_a@2x.png);
  top: 41.8em;
  right: 59.5em;
}

@media only screen and (max-width: 768px) {
  .mv__pin_05 {
    background-image: url(../img/mv_pin_05_sp@2x.png);
    top: 110em;
    right: 112em;
  }
}

.mv__pin_05::before {
  background-image: url(../img/mv_pin_05_b@2x.png);
}

.mv__scrollbar {
  display: block;
  width: 1.263em;
  position: absolute;
  right: 6.46em;
  bottom: 12.38em;
}

@media only screen and (max-width: 768px) {
  .mv__scrollbar {
    width: calc(1.263em * .685);
    right: 1.5em;
    bottom: 0;
    z-index: 2;
  }
}

.about__content {
  padding-top: 9rem;
  padding-bottom: 10rem;
  /*
  background: url(../img/logo_white.svg) 50% 50% no-repeat;
  background-size: 18.889rem;
  */
  z-index: 0;
}

@media only screen and (max-width: 768px) {
  .about__content {
    padding-top: 6.5rem;
    padding-bottom: 16rem;
    /*
    background-position: 50% 25%;
    background-size: 16.5rem;
    */
  }
}

.about__block {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.about__block:before {
  background: url(../img/logo_white.svg) 50% 50% no-repeat;
  background-size: 18.889rem;
  content: "";
  position: absolute;
  top: -20%;
  bottom: -20%;
  left: 0;
  right: 0;
  z-index: -1;
}

.about__block_ttl {
  width: 24.164rem;
  margin: 0 auto 3.44rem;
}

.about__block_cont {
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .about__block:before {
    background-position: 50% 25%;
    background-size: 16.5rem;
  }

  .about__block_cont {
    text-align: left;
  }
  .about__block_cont .text__common {
    line-height: 2.857;
  }
}

.reserve__img {
  display: block;
  width: 46.8rem;
  transform: translateX(-3.4rem);
}

@media only screen and (max-width: 768px) {
  .reserve__img {
    width: 100%;
    margin: 0 auto;
    transform: translateX(0);
  }
}

.reserve__deco_01 {
  width: 8.5rem;
  right: 6.1rem;
  top: -13.6rem;
}

@media only screen and (max-width: 768px) {
  .reserve__deco_01 {
    width: calc(8.5rem * .685);
    right: 2rem;
    top: -2.6rem;
  }
}

.reserve__deco_02 {
  width: 11.1rem;
  left: -5.7rem;
  bottom: 9.4rem;
}

@media only screen and (max-width: 768px) {
  .reserve__deco_02 {
    display: none;
  }
}

.reserve__deco_03 {
  width: 8.5rem;
  right: 9.6rem;
  bottom: -3rem;
}

@media only screen and (max-width: 768px) {
  .reserve__deco_03 {
    display: none;
  }
}

.reserve__deco_04 {
  width: 6.8rem;
  right: 3.9rem;
  bottom: -1rem;
}

@media only screen and (max-width: 768px) {
  .reserve__deco_04 {
    width: calc(6.8rem * .685);
    left: 2rem;
    right: auto;
    top: -5rem;
  }
}

.reserve__deco_05 {
  width: 6.8rem;
  left: -2rem;
  top: -18.5rem;
}

@media only screen and (max-width: 768px) {
  .reserve__deco_05 {
    display: none;
  }
}

.reception__img {
  display: block;
  width: 54.3rem;
  transform: translateX(0.9rem);
}

@media only screen and (max-width: 768px) {
  .reception__img {
    width: calc(100% + 1.5rem);
    margin: 0 auto 0 -1.5rem;
    transform: translateX(0);
  }
}

.reception__deco_01 {
  width: 10.3rem;
  top: -7.5rem;
  right: 55.9rem;
}

@media only screen and (max-width: 768px) {
  .reception__deco_01 {
    display: none;
  }
}

.reception__deco_02 {
  width: 8.5rem;
  right: -5.4rem;
  bottom: 5.8rem;
}

@media only screen and (max-width: 768px) {
  .reception__deco_02 {
    width: calc(8.5rem * .685);
    top: 16rem;
    right: 2rem;
    bottom: auto;
  }
}

.clinic__img {
  display: block;
  width: 47.7rem;
}

@media only screen and (max-width: 768px) {
  .clinic__img {
    width: 100%;
  }
}

.clinic__deco_01 {
  width: 6.5rem;
  top: -9.6rem;
  left: 43.3rem;
}

@media only screen and (max-width: 768px) {
  .clinic__deco_01 {
    display: none;
  }
}

.clinic__deco_02 {
  width: 6.8rem;
  left: -3.4rem;
  bottom: -13.5rem;
}

@media only screen and (max-width: 768px) {
  .clinic__deco_02 {
    width: calc(6.8rem * .685);
    top: 3rem;
    left: 4rem;
    bottom: auto;
  }
}

.xray__img {
  display: block;
  width: 37.6rem;
  margin: 0 0 0 auto;
}

@media only screen and (max-width: 768px) {
  .xray__img {
    width: 75%;
    margin: 0 auto;
  }
}

.xray__deco_01 {
  width: 17.6rem;
  top: -34.9rem;
  right: -2.4rem;
}

@media only screen and (max-width: 768px) {
  .xray__deco_01 {
    width: calc(17.6rem * .485);
    top: -7.5rem;
    right: 2rem;
  }
}

.xray__deco_02 {
  width: 9.9rem;
  top: -17.6rem;
  left: 39rem;
}

@media only screen and (max-width: 768px) {
  .xray__deco_02 {
    width: calc(9.9rem * .545);
    top: 5rem;
    left: 4rem;
  }
}

.xray__deco_03 {
  width: 6.8rem;
  top: -10.6rem;
  right: 53.2rem;
}

@media only screen and (max-width: 768px) {
  .xray__deco_03 {
    display: none;
  }
}

.preparation__img {
  width: 48.9rem;
}

.preparation__deco_01 {
  width: 8.9rem;
  top: -17.6rem;
  left: 55.6rem;
}

@media only screen and (max-width: 768px) {
  .preparation__deco_01 {
    width: calc(8.9rem * .685);
    top: -2rem;
    left: auto;
    right: 2.5rem;
  }
}

.preparation__deco_02 {
  width: 11.1rem;
  top: -16.5rem;
  left: 35.5rem;
}

@media only screen and (max-width: 768px) {
  .preparation__deco_02 {
    width: calc(11.1rem * .685);
    top: auto;
    left: 4rem;
    bottom: -12rem;
    z-index: 1;
    transform: scaleX(-1);
  }
}

.preparation__deco_03 {
  width: 7.8rem;
  top: -2.6rem;
  right: 15.2rem;
}

@media only screen and (max-width: 768px) {
  .preparation__deco_03 {
    width: calc(7.8rem * .625);
    top: 1rem;
    left: 2.5rem;
    right: auto;
  }
}

.preparation__deco_04 {
  width: 12.4rem;
  right: -1.6rem;
  bottom: 3.2rem;
}

@media only screen and (max-width: 768px) {
  .preparation__deco_04 {
    width: calc(12.4rem * .685);
    right: 1rem;
    bottom: -5.5rem;
  }
}

.preparation__deco_05 {
  width: 15.3rem;
  left: -8.7rem;
  bottom: -7.8rem;
}

@media only screen and (max-width: 768px) {
  .preparation__deco_05 {
    display: none;
  }
}

.preparation__deco_06 {
  width: 6.8rem;
  left: 60rem;
  bottom: -7.7rem;
}

@media only screen and (max-width: 768px) {
  .preparation__deco_06 {
    display: none;
  }
}

.modal__wrap {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
}

.modal__overlay {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  position: absolute;
  top: 0;
  left: 0;
}

.modal__item {
  display: none;
  max-width: 110rem;
  width: calc(100% - 4rem);
  height: 81.4%;
  margin: 0 auto;
  padding: 7rem 0 0;
  border: 0.3rem solid #00A199;
  border-radius: 2rem;
  box-sizing: border-box;
  background: #FFF;
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media only screen and (max-width: 768px) {
  .modal__item {
    max-width: initial;
    padding: 7rem 0 0;
  }
}

.modal__item_inner {
  width: 100%;
  height: 100%;
  padding: 0 10rem 7rem;
  box-sizing: border-box;
  overflow: hidden;
  overflow-y: auto;
}

@media only screen and (max-width: 768px) {
  .modal__item_inner {
    padding: 0 2rem 7rem;
  }
}

.modal__item_ttl {
  margin: 0 auto 2.4rem;
  line-height: 1;
  font-size: 4rem;
  font-weight: bold;
  color: #00A199;
}

@media only screen and (max-width: 768px) {
  .modal__item_ttl {
    font-size: calc(4rem * .8);
  }
}

.modal__item_sub {
  margin: 0 auto 4.2rem;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .modal__item_sub .text__common {
    text-align: left;
    font-size: 1.3rem;
  }
}

.modal__item_copy {
  margin: 0 auto 6rem;
  line-height: 1.666;
  text-align: left;
  font-size: 3rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .modal__item_copy {
    margin: 0 auto calc(6rem * .8);
    font-size: calc(3rem * .8);
  }
}

.modal__item_copy-sub {
  margin: -4rem auto 6rem;
  text-align: left;
}

@media only screen and (max-width: 768px) {
  .modal__item_copy-sub .text__common {
    font-size: 1.3rem;
  }
}

.modal__item_close {
  width: 2.7rem;
  height: 2.7rem;
  position: absolute;
  top: 3.25rem;
  left: 3.25rem;
  cursor: pointer;
}

.modal__item_close::before, .modal__item_close::after {
  content: "";
  width: 100%;
  height: .4rem;
  background: #00A199;
  position: absolute;
  top: 50%;
  left: 50%;
}

.modal__item_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal__item_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.modal__btn {
  cursor: pointer;
}

.modal__mov {
  display: flex;
  margin: 2rem auto 3rem;
  text-decoration: none;
}

@media only screen and (max-width: 768px) {
  .modal__mov {
    flex-direction: column;
    width: 80%;
  }
}

.modal__mov.modal__mov_column {
  flex-direction: column;
}

.modal__mov_img {
  display: block;
  width: 17rem;
  margin: 0 1rem 0 0;
  -moz-box-shadow: 0px 2px 7px rgba(0,0,0,0.2);
  -webkit-box-shadow: 0px 2px 7px rgba(0,0,0,0.2);
  -o-box-shadow: 0px 2px 7px rgba(0,0,0,0.2);
  -ms-box-shadow: 0px 2px 7px rgba(0,0,0,0.2);
}

@media only screen and (max-width: 768px) {
  .modal__mov_img {
    width: 100%;
    margin: 0 0 .5rem;
  }
}

.modal__mov.modal__mov_column .modal__mov_img {
  margin: 0 0 .5rem;
}

.modal__mov_caption {
  display: block;
  width: calc(100% - 17rem);
  line-height: 1.357;
  text-align: left;
  text-decoration: none;
  font-size: 1.4rem;
  color: rgba(92, 92, 92, 0.7);
}

@media only screen and (max-width: 768px) {
  .modal__mov_caption {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
}

.modal__mov.modal__mov_column .modal__mov_caption {
  width: 17rem;
  text-align: center;
}

.loading {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  overflow: hidden;
}

.loading::before {
  content: "";
  display: block;
  padding-top: 58.75%;
}

@media only screen and (max-width: 768px) {
  .loading::before {
    padding-top: 176.5333%;
  }
}

.loading__bg_wh {
  width: 100%;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  transition: .6s linear 1.2s;
}

.loading__bg_wh.hide {
  opacity: 0;
}

.loading__bg_01 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.loading__bg_01.zoom {
  transform-origin: 48.4% 59%;
  animation: 3.4s cubic-bezier(0.455, 0.03, 0.515, 0.955) forwards 2.6s mvZoom;
}

@media only screen and (max-width: 768px) {
  .loading__bg_01.zoom {
    transform-origin: 16.8% 63.4%;
    animation: 3.4s cubic-bezier(0.455, 0.03, 0.515, 0.955) forwards 2.6s mvZoomSP;
  }
}

.loading__bg_02 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.loading__logo {
  width: 15.634rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
  transition: .6s linear 1.2s;
}

@media only screen and (max-width: 768px) {
  .loading__logo {
    width: 10.353rem;
  }
}

.loading__logo.wh {
  filter: grayscale(100%) brightness(100) drop-shadow(0 0 0.5rem rgba(0, 0, 0, 0.35));
}

@keyframes mvZoom {
  0% {
    transform: scale(1, 1);
    opacity: 1;
  }
  60% {
    transform: scale(2.34, 2.34);
    opacity: 1;
  }
  100% {
    transform: scale(2.34, 2.34);
    opacity: 0;
  }
}

@keyframes mvZoomSP {
  0% {
    transform: scale(1, 1);
    opacity: 1;
  }
  60% {
    transform: scale(2.38, 2.38);
    opacity: 1;
  }
  100% {
    transform: scale(2.38, 2.38);
    opacity: 0;
  }
}

.center{
  margin: auto;
}

.request{
  width: auto;
  position: fixed;
  right: 0;
  bottom: 0;
}