@charset "UTF-8";

*,
*::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  color: #000;
}
body {
  font-family: '游明朝 Medium', "YuMincho", serif;
}

ul, ol {
  list-style: none;
}

a {
  text-decoration: none;
}

img, video {
  max-width: 100%;
  vertical-align: bottom;
}

/* common */
.common__wrp {
  max-width: 1920px;
  padding: 0 100px;
  margin: 0 auto;
}

.br__sp {
  display: none;
}

.sec__ttl {
  width: 100%;
  background-color: #50382D;
}

.sec__ttl h2 {
  font-size: clamp(20px, 2.604vw, 50px);
  color: #fff;
  height: 17.674%;
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  text-align: center;
}

.sec__ttl .accent {
  font-size: clamp(32px, 4.167vw, 80px);
  color: #FFF3B2;
}

@media screen and (max-width: 768px) {
  .common__wrp {
    padding: 0 20px;
    margin: 0 auto;
  }

  .br__pc {
    display: none;
  }

  .br__sp {
    display: block;
  }

  .sec__ttl {
    background-color: #50382D;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }

  .sec__ttl h2 {
    font-size: clamp(28px, 6.510vw, 50px);
    height: 36.977%;
  }

  .sec__ttl .accent {
    font-size: clamp(40px, 9.115vw, 70px);
  }
}
/* common END */

/* header */
.header {
  width: 100vw;
}

.fv__area {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

.fv__pc {
  width: 100%;
}
.fv__sp {
  width: 100%;
  display: none;
}

.fv_container {
  position: relative;
}

.header__logo {
  position: absolute;
  top: 2.2743%;
  left: 6.5108%;
  width: 16.5858%;
}

.header__catch {
  width: 33.542%;
  position: absolute;
  top: 21.446%;
  left: 5.2084%
}

.header__catch .distance {
  font-size: clamp(16px, 1.563vw, 30px);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  color: #fff;
  background-color: #127264;
  margin-bottom: 1.2423%;
  text-align: center;
  padding: 1.4752% 0;
}

.header__catch .ttl {
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
   width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 2.4845%;
}

.header__catch .letter__block {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #3CBEAA;
  width: 24.379%;
  height: 8.1773vw;
  /* padding: 3.6491% 3.649%; */
}

.header__catch .letter__block:nth-child(even) {
  background-color:#5FD8DD;
}

.header__catch .letter__block p {
  font-size: clamp(60px, 5.729vw, 110px);
  color: #fff;
}

.header__catch .sub__ttl {
  font-size: clamp(20px, 2.083vw, 40px);
  width: 100%;
  padding: 1.864% 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  color: #4B3535;
  background-color: #fff;
  margin-bottom: 4.1926%;
  text-align: center;
}

.price__wrp {
  width: 33.49%;
  position: absolute;
  bottom: 25.3733%;
  left: 5.2084%
}

.price__wrp img {
  width: 100%;
}

@media screen and (max-width: 1000px) {
  .header__catch {
    top: 19.446%;
  }
}

@media screen and (max-width: 768px) {
  .header__logo {
    top: 1.734%;
    left: 4.652%;
    width: 40.233%;
  }

  .header__catch {
    width: 100%;
    top: 45%;
    left: 0;
    padding: 0 7.6745%;
  }

  .header__catch .distance {
    font-size: clamp(16px, 2.604vw, 20px);
    background-color: #4B3535;
    margin-bottom: 3.023%;
    padding: 1.982% 0;
    border-radius: 5.216vw;
  }

  .header__catch .ttl {
    width: 100%;
    margin-bottom: 1.65%;
  }

  .header__catch .letter__block {
    width: 24.4523%;
    height: 20.698vw;
  }

  .header__catch .letter__block p {
    font-size: clamp(60px, 12.370vw, 95px);
  }

  .header__catch .sub__ttl {
    font-size: clamp(20px, 3.255vw, 25px);
    padding: 0.963% 0;
  }

  .price__wrp {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    position: absolute;
    bottom: 2.134%;
    left: 0;
  }

  .price__wrp  img {
    width: 100%;
  }
}


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

  .fv__sp {
    display: block;
  }

}
/* header END */

/* consultation */
.consultation {
  margin-top: -144px;
  margin-top: -7.5%;
  position: relative;
  z-index: 5;
}

.consultation .sec__ttl h2 {
  padding: 6.5698% 0 6.4535%;
}

.consultation__container {
  position: relative;
}

.consultation .sec__ttl .accent {
  margin: 0 1.2%;
}

.consultation .sec__ttl .dot {
  position: relative;
}

.consultation .sec__ttl .dot::after {
  content: "";
  display: block;
  width: 13.58%;
  height: 13.58%;
  border-radius: 50%;
  background-color: #FFF3B2;
  position: absolute;
  top: -35.25%;
  left: 50%;
  transform: translateX(-50%);
}

.consultation__container .consultation__img-sp {
  display: none;
}

.consultation__comment {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 21.6864%;
  height: 32.52%;
  border-radius: 50%;
  border: 1px solid #554536;
  background-color: #F4F2F2;
}

.left__top {
  position: absolute;
  top: 3.4002%;
  left: 13.7791%;
}

.right__top {
  position: absolute;
  top: 7.5854%;
  right: 13.3721%;
}

.left__bottom {
  position: absolute;
  bottom: 24.9347%;
  left: 3.0233%;
}

.right__bottom {
  position: absolute;
  bottom: 12.6417%;
  right: 5.17442%;
}

.consultation__comment .lead {
  font-size: clamp(14px, 1.823vw, 35px);
  line-height: 1.2857;
  text-align: center;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
}

@media screen and (max-width: 970px) {
  .consultation__comment .lead {
    font-size: clamp(13px, 1.596vw, 15px);
  }
}

.consultation__comment .lead span {
  color: #A88524;
}

@media screen and (max-width: 768px) {
  .consultation {
    margin-top: 0;
    /* position: relative;
    z-index: 5; */
  }

  .consultation .sec__ttl h2 {
    padding: 7.6745% 0;
    display: flex;
    flex-direction: column;
  }

  .consultation .sec__ttl h2 span:first-child {
    margin-bottom: 6.0466%;
  }

  .consultation .sec__ttl .accent {
    margin: 0 1.3953% 0 0 ;
  }

  .consultation .sec__ttl .dot::after {
    width: 12.58%;
    height: 12.58%;
    top: -28.897%;
  }

  .consultation__container .consultation__img-pc {
    display: none;
  }

  .consultation__container .consultation__img-sp {
    display: block;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }

  .consultation__comment {
    width: 48.976%;
    height: 18.855%;
  }

  .left__top {
    position: absolute;
    top: 2.4625%;
    left: 0;
  }

  .right__top {
    position: absolute;
    top: 13.395%;
    right: 0;
  }

  .left__bottom {
    position: absolute;
    bottom: initial;
    top: 25.213%;
    left: 4.094%;
  }

  .right__bottom {
    position: absolute;
    bottom: 43.732%;
    right: 3.078%;
  }

  .consultation__comment .lead {
    font-size: clamp(16px, 3.906vw, 30px);
    line-height: 1.3889;
  }

}

/* correspondence */
.correspondence {
  position: relative;
  padding-bottom: 8.8023%;
}

.correspondence .sec__ttl {
  padding: 3.5466% 0 2.9653%;
  position: relative;
  margin-bottom: 14.419%;
}

.correspondence .sec__ttl::after {
  content: "";
  display: block;
  position: absolute;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
  width: 5.6396%;
  height: 26.06%;
  background-color: #50382D;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.correspondence .sec__ttl h2 {
  display: flex;
  flex-direction: column;
}

.correspondence .sec__ttl h2 span:first-child {
  margin-bottom: 3.314%;
}


.correspondence .sec__ttl .accent {
  margin: 0 0 0 1.2%;
}

.correspondence .sec__ttl .dot {
  position: relative;
}

.correspondence .sec__ttl .dot::after {
  content: "";
  display: block;
  width: 13.58%;
  height: 13.58%;
  border-radius: 50%;
  background-color: #FFF3B2;
  position: absolute;
  top: -35%;
  left: 50%;
  transform: translateX(-50%);
}

.correspondence__list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8.4303%;
}

.correspondence__item {
  width: 23.314%;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.correspondence__item .img-content img {
  margin-bottom: 13.217%;
}

.correspondence__item .img-content p {
  font-size: clamp(16px, 1.823vw, 35px);
  color: #4b3535;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
}

.correspondence__case {
  display: flex;
  justify-content: center;
  margin-bottom: 5.6977%;
}

.correspondence__case .txt__contents {
  width: 716px;
  text-align: center;
  background-color: #3CBEAA;
  border-radius: 43px;
  padding: 1.1628% 0 1.2791%;
  position: relative;
}

.correspondence__case .txt__contents::after {
  content: "";
  display: block;
  position: absolute;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
  width: 4.60899%;
  height: 35.26%;
  background-color: #3CBEAA;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.correspondence__case .txt__contents:first-child {
  margin-right: 0.5814%;
}

.correspondence__case .txt__contents:last-child {
  margin-left: 0.5814%;
}

.correspondence__case .txt__contents p {
  font-size: clamp(12px, 2.344vw, 45px);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  color: #fff;
}

.correspondence__container {
  position: relative;
}

.logo {
  width: 23.5469%;
  position: absolute;
  top: 14.6494%;
  left: 30.698%;
}

.correspondence .txt {
  font-size: clamp(20px, 4.167vw, 80px);
  font-weight: 500;
  color: #4b3535;
  text-align: center;
  /* margin-bottom: 4.3605%; */
}

@media screen and (max-width: 970px) {
  .correspondence .txt {
    font-size: clamp(19px, 3.608vw, 35px);
    font-size: clamp(15px, 3.402vw, 32px);

  }
}

.correspondence__img01 {
  width: 35.104%;
  position: absolute;
  left: 0;
  bottom: 0;
}

.correspondence__inner {
  display: flex;
  padding-top: 27.3256%;
}

.correspondence .heading {
  display: none;
}

.correspondence__inner .empty__contents {
  width: 50%;
}

.correspondence__inner .txt__contents {
  width: 50%;
}

.correspondence__inner .txt__contents h4 {
  font-size: clamp(20px, 3.125vw, 60px);
  font-weight: 500;
  color: #4b867d;
  line-height: 1.333;
  margin-bottom: 80px;
  margin-bottom: 9.303%;
}

.correspondence__inner .txt__contents p {
  font-size: clamp(18px, 1.823vw, 35px);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: medium;
  color: #4B3535;
  line-height: 1.5714;
}

@media screen and (max-width: 1000px) {
  .correspondence__inner .txt__contents p {
    font-size: clamp(12px, 1.600vw, 16px);
  }
}

@media screen and (max-width: 768px) {
  .correspondence {
    position: relative;
    padding-bottom: 16.28%;
  }

  .correspondence .sec__ttl {
    padding: 8.9744% 0 10.2565%;
    position: relative;
    margin-bottom: 22.308%;
  }

  .correspondence .sec__ttl h2 {
    font-size: 20px;
    font-size: clamp(20px, 4.948vw, 38px);
  }

  .correspondence .sec__ttl h2 .lead {
    font-size: clamp(28px, 5.859vw, 45px);
  }

  .correspondence .sec__ttl .accent {
    font-size: clamp(34px, 9.115vw, 70px);
  }

  .correspondence .sec__ttl::after {
    width: 6.746%;
    height: 15.253%;

  }

  .correspondence .sec__ttl h2 span:first-child {
    margin-bottom: 5.814%;
  }

  .correspondence .sec__ttl .dot::after {
    width: 12.58%;
    height: 12.58%;
    position: absolute;
    top: -35%;
  }

  .correspondence__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 16.412%;
  }

  .correspondence__item {
    width: 42.8205%;
  }

  .correspondence__item:nth-child(1) {
    margin-bottom: 8.2052%;
  }

  .correspondence__item:nth-child(2) {
    margin-bottom: 8.2052%;
  }

  .correspondence__item .img-content img {
    margin-bottom: 9.5814%;
  }

  .correspondence__item .img-content p {
    font-size: clamp(17px, 3.906vw, 30px);
  }

  .correspondence__case .txt__contents {
    padding: 1.519% 0;
  }

  .correspondence__case .txt__contents p {
    font-size: clamp(11px, 2.995vw, 23px);
  }

  .correspondence__case {
    display: flex;
    justify-content: center;
    margin-bottom: 5.6977%;
  }

  .correspondence__container {
    position: relative;
  }

  .logo {
    width: 37.694%;
    top: 11.026%;
    left: 40.769%;
  }

  .correspondence__img01 {
    width: 46.744%;
    bottom: 20.4501%
  }

  .correspondence .txt {
    font-size: clamp(18px, 4.557vw, 35px);
    margin-bottom: 9.4872%;
  }

  .correspondence .heading {
    display: block;
    text-align: center;
    font-size: clamp(20px, 5.208vw, 40px);
    font-weight: 700;
    color: #4b867d;
    line-height: 1.5;
  }

  .correspondence__inner {
    display: flex;
    padding-top: 68.206%;
  }

  .correspondence__inner .empty__contents {
    width: 0%;
  }

  .correspondence__inner .txt__contents {
    width: 100%;
    text-align: right;
  }

  .correspondence__inner .txt__contents h4 {
    font-size: clamp(18px, 4.557vw, 35px);
    line-height: 1.5;
    margin-bottom: 23.077%;
    text-align: left;
    display: inline-block;
    margin: 0 0 23.077% auto;
  }

  .correspondence__inner .txt__contents p {
    font-size: clamp(15px, 3.906vw, 30px);
    line-height: 1.7778;
    text-align: center;
  }
}
/* correspondence END*/

/* contact */
.contact {
  background-color: #F8F6E7;
  padding: 3.9063% 0 4.375%;
}

.contact h3 {
  max-width: 58.198%;
  font-size: clamp(20px, 2.083vw, 40px);
  color: #fff;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  background-color: #50382D;
  text-align: center;
  margin: auto;
  border-radius: 56px;
  padding: 1.1628% 0;
  margin-bottom: 2.6163%;
}

.contact  .lead {
  font-size: clamp(16px, 1.823vw, 35px);
  color:  #4b3535;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: medium;
  text-align: center;
  line-height: 1.571;
  margin-bottom: 3.5349%;
}

.contact__container {
  max-width: 81.512%;
  margin: 0 auto;
}

.contact__container .off {
  font-size: clamp(16px, 2.031vw, 39px);
  color:  #4b3535;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  text-align: center;
  background-color: #fff;
  padding: 1.5478% 0;
  margin-bottom: 4.8359%;
}

.contact__container .off span {
  font-size: clamp(20px, 3.177vw, 61px);
  color: #cb0000;
  font-family: 'Lato', sans-serif;
  font-weight: 900;
  font-style: ;
}

.present__block {
  border: 3px dotted #B59029;
  padding: 1px 1px 2.4253% 1px;
  margin-bottom: 3.5664%;
  position: relative;
}

.contact__icon {
  position: absolute;
  top: -6.2%;
  left: 50%;
  transform: translateX(-50%);
  width: 4.82%;
  height: 4.82%;
  z-index: 15;
}

.present__block h4 {
  font-size: clamp(20px, 2.083vw, 40px);
  font-weight: 500;
  color: #50382d;
  width: 100%;
  text-align: center;
  background-color: #F8E08E;
  padding: 3.7303% 0 2.1398%;
  margin-bottom: 4.2239%;
  position: relative;
}

.present__block h4::after {
  content: "";
  display: block;
  position: absolute;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
  width: 4.60899%;
  height: 35.26%;
  background-color: #F8E08E;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.present__block p {
  font-size: clamp(12px, 1.563vw, 30px);
  color: #fff;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  background-color: #98730D;
  text-align: center;
  max-width: 60.5453%;
  margin: 0 auto;
  padding: 0.933% 0;
  border-radius: 28px;
  margin-bottom: 0.5023%;
}

.present__block .img__contents {
  text-align: center;
  width: 93.01%;
  margin: 0 auto;
}

.present__block .img__contents .contact__img-sp {
  display: none;
}

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

.btn__block .tel__btn-sp {
  display: none;
}

.btn__block .line__btn-sp .web__btn-sp{
  display: none;
}

.btn__block .tel__btn, .btn__block .line__btn {
  width: 33.198%;
  filter: drop-shadow( 3px 5px 3px rgba(60, 60, 60, .6))
}
.so{
  display: none;
}

.tel__btn a, .line__btn a {
  display:inline-block;
  overflow: hidden;
  position: relative;
}

.tel__btn a::after, .line__btn a::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 10%;
  height: 150%;
  background: #fff;
  transform: rotate(45deg);
  animation: shiny-btn 3s ease-in-out infinite;
}
.web_btn a {
  display:inline-block;
  overflow: hidden;
  position: relative;
}
.web_btn a::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 10%;
  height: 150%;
  background: #fff;
  transform: rotate(45deg);
  animation: shiny-btn 3s ease-in-out infinite;
}
@media screen and (max-width: 768px) {
  . {
    display:inline-block;
    overflow: hidden;
    position: relative;
  }
  .shiny::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 10%;
    height: 150%;
    background: #fff;
    transform: rotate(45deg);
    animation: shiny-btn 3s ease-in-out infinite;
  }
}
@keyframes shiny-btn {
  0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
  80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
  100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.btn__block .tel__btn a:hover, .btn__block .line__btn a:hover {
  cursor: pointer;
  opacity: .7;
}

.btn__block .tel__btn {
  margin-right: 1.7442%;
}

.btn__block .line__btn {
  margin-left: 1.7442%;
}

@media screen and (max-width: 768px) {
.contact {
  background-color: #F8F6E7;
  padding: 8.8374% 0 9.3024%;
}

.contact h3 {
  max-width:100%;
  font-size: clamp(20px,3.646vw, 28px);
  padding: 2.4359% 0;
  margin-bottom: 8.2052%;
}

.contact  .lead {
  font-size: clamp(14px, 3.125vw, 24px);
  line-height: 1.5625;
  margin-bottom: 8.718%;
}

.contact__container {
  max-width: 100%;
}

.contact__container .off {
  font-size: clamp(18px, 4.125vw, 24px);
  padding: 5.1284% 0;
  margin-bottom: 10%;
}

.contact__container .off span {
  font-size: clamp(17px, 5.125vw, 24px);
}

.present__block {
  padding: 0px 0px 2.565% 0px;
  margin-bottom: 6.1539%;
}

.contact__icon {
  top: -17px;
  width: 8.766%;
  height: 18.71%;
  width: 34px;
  height: 34px;
}

.present__block h4 {
  font-size: clamp(20px, 5.208vw, 40px);
  padding: 6.445% 0 3.353%;
  margin-bottom: 5.413%;
}

.present__block h4::after {
  width: 5.60899%;
  height: 24.26%;
}

.present__block p {
  font-size: clamp(15px, 3.125vw, 24px);
  max-width: 94.359%;
  padding: 2.063% 0;
  margin-bottom: 4.64%;
  line-height: 1.4375;
  border-radius: 28px;
}

.present__block .img__contents {
  margin: 0 auto;
  width: 91.498%;
}

.present__block .img__contents .contact__img-pc {
  display: none;
}

.present__block .img__contents .contact__img-sp {
  display:  block;
}


.btn__block .tel__btn-pc {
  display: none;
}

.btn__block .tel__btn-sp {
  display: block;
}

.btn__block .line__btn-pc {
  display: none;
}



.so{
  display: block;
}

.btn__block .line__btn-sp .web__btn-sp{
  display: block;
}

.btn__block {
  display: flex;
  flex-direction: column;
  text-align: center;
}

.btn__block .tel__btn, .btn__block .line__btn {
  width: 100%;
}
.web__btn {
  width: 100%;
  filter: drop-shadow( 3px 5px 3px rgba(60, 60, 60, .6));
}

.btn__block .tel__btn {
  margin-bottom: 5.898%;
}

.btn__block .tel__btn a, .btn__block .line__btn a {
  display:inline-block;
}
.web__btn a {
  display:inline-block;
}

.btn__block .tel__btn {
  margin-right: 0;
}

.btn__block .line__btn {
  margin-left: 0;
}
.web__btn-sp{
  /* filter: drop-shadow( 3px 5px 3px rgba(60, 60, 60, .6)); */
  margin-top: 7%;
}
}

/* contact END */


/* invisalign */
.invisalign__container {
  text-align: center;
  padding-top: 4.6875%;
  padding-bottom: 6.25%;
  background: url(../images/invisalign__wrp.jpg) no-repeat;
  background-size: cover;
}

.invisalign__container h2 {
  margin: 0 auto;
  width: 60.291%;
  margin-bottom: 6.71642%;
}

.invisalign__container .message {
  font-size: clamp(18px, 2.344vw, 45px);
  color: #4B867D;
  font-weight: 500;
  margin-bottom: 1.9768%;
}

.invisalign__container  h3 {
  font-size: clamp(45px, 5.208vw, 100px);
  color: #4B867D;
  font-weight: 500;
  margin-bottom: 3.1977%;
}

.invisalign__container .invisalign__img01 {
  width: 58.198%;
  margin: 0 auto;
  margin-bottom: 5.407%;
}

.invisalign__container .lead {
  font-size: 15px;
  line-height: 1.8;
  color: #4b3535;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: medium;
  margin-bottom: 6.8024%;
}
@media (min-width: 960px){
.invisalign__container .lead {
  font-size: clamp(14px, 1.823vw, 35px);
  line-height: 1.778;
}
}


.invisalign__container .lead span {
  color: #d50000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
}

.invisalign__container h4 {
  font-size: clamp(23px, 2.865vw, 55px);
  color: #4b867d;
  font-weight: 500;
  background-color: #fff;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 4.0989% 0;
  margin-bottom: 8.2559%;
}

.invisalign__container .lead:last-of-type {
  font-size: clamp(23px, 2.344vw, 45px);
  color: #4b867d;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: medium;
  margin-bottom: 6%;
}

.point__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.point__list-sp {
  display: none;
}

.point__item {
  width: 28.779%;
  display: flex;
  flex-direction: column;
}

.point__item:nth-of-type(1),
.point__item:nth-of-type(2),
.point__item:nth-of-type(3) {
  margin-bottom: 6%;
}

.point__item img {
  margin-bottom: 10%;
}

.point__item p {
  font-size: clamp(14px, 1.823vw, 35px);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  color: #4b867d;
}

.invisalign__difference {
  padding: 6.4586% 0 5.625%;
}

.invisalign__img02 {
  width: 59.36%;
  margin: 0 auto;
  margin-bottom: 7.5582%;
}

.invisalign__difference .lead {
  font-size: clamp(16px, 1.823vw, 35px);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: medium;
  color: #4b3535;
  line-height: 1.857;
  text-align: center;
}

.invisalign__difference .lead:first-of-type {
  margin-bottom: 7.5582%;
}

.invisalign__difference .lead:last-of-type {
  margin-bottom: 10.407%;
}

.invisalign__difference .lead span {
  color: #C90303;
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 700;
}

.table__ttl {
  margin-bottom: 4.4768%;
  display: flex;
  justify-content: flex-end;
  margin-right: 3.4303%;
  font-weight: 500;
}

.table__ttl p {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  color: #fff;
  width: 38.991%;
  text-align: center;
  border-radius: 52px;
  height: 90px;
  height: 5.2326%;
  /* line-height: 90px; */
}

.table__ttl p:first-of-type {
  font-size: clamp(18px, 2.865vw, 55px);
  background-color: #31A8A8;
  padding: 0.8% 0;
  position: relative;
}

.table__ttl p:first-of-type::after {
  content: "";
  display: block;
  position: absolute;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
  width: 4.302%;
  height: 25.61%;
  background-color: #31A8A8;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.table__ttl p:last-of-type {
  font-size: clamp(13px, 2.344vw, 45px);
  background-color: #3D2413;
  padding: 1.1462% 0;
  margin-left: 1.746%;
  position: relative;
  /* font-weight: 500; */
}

.table__ttl p:last-of-type::after {
  content: "";
  display: block;
  position: absolute;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
  width: 4.302%;
  height: 25.61%;
  background-color: #3D2413;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.chart__sp {
  display: none;
}

@media screen and (max-width: 768px) {
.invisalign__container {
  padding-top: 9.8838%;
  padding-bottom: 15.209%;
}

.invisalign__container h2 {
  width: 100%;
  margin-bottom: 7.0513%;
}

.invisalign__container .message {
  font-size: clamp(16px, 3.906vw, 30px);
  margin-bottom: 3.077%;
}

.invisalign__container  h3 {
  font-size: clamp(40px, 9.115vw, 70px);
  margin-bottom: 7.694%;
}

.invisalign__container .invisalign__img01 {
  width: 100%;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  margin-bottom: 12.821%;
}

.invisalign__container .lead {
  font-size: clamp(12px, 3.255vw, 25px);
  font-size: 15px;
  margin-bottom: 14.616%;
}

.invisalign__container h4 {
  font-size: clamp(20px, 5.208vw, 40px);
  line-height: 1.522;
  padding: 5.2565% 0;
  margin-bottom: 9.488%;
}

.invisalign__container .lead:last-of-type {
  font-size: clamp(18px, 4.167vw, 32px);
  margin-bottom: 13.847%;
}

.point__list {
  display: none;
}

.point__list-sp {
  display: block;
}

.point__item-sp {
  width: 100%;
  margin-bottom: 5.1283%;
}

.invisalign__difference {
  padding: 11.767% 0 11.977%;
}

.invisalign__img02 {
  width: 100%;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  margin-bottom: 11.539%;
}

.invisalign__difference .lead {
  font-size: clamp(16px, 3.255vw, 25px);
  line-height: 1.778;
}

.invisalign__difference .lead:first-of-type {
  margin-bottom: 10.257%;
}

.invisalign__difference .lead:last-of-type {
  margin-bottom: 13.077%;
}

.table__ttl {
  margin-bottom: 6.1539%;
  margin-right: 0;
}

.table__ttl p {
  width: 43.59%;
  border-radius: 12.35vw;
  /* height: 40px; */
}

.table__ttl p:first-of-type {
  font-size: clamp(16px, 3.906vw, 30px);
  padding: 3.078% 0;
}

.table__ttl p:first-of-type::after {
  width: 6.471%;
  height: 22.38%;
}

.table__ttl p:last-of-type {
  font-size: clamp(12px, 2.995vw, 23px);
  padding: 3.718% 0;
  margin-left: 1.539%;
}

.table__ttl p:last-of-type::after {
  width: 6.471%;
  height: 22.38%;
}

/* .invisalign__desc {
  width: 100%;
  border-collapse:separate;
  border-spacing:3px 3px ;
}


.invisalign__desc th span {
  display: none;
}

.invisalign__desc th p {
  display: block;
  width: 25.89%;
  margin: 0 auto;
}

.invisalign__desc th img {
  width: 100%;
}

.invisalign__desc td {
  width: calc((100% - 11.794%) / 2);
  padding: 3.646% 0 4.168%;
  writing-mode: horizontal-tb;
}

.invisalign__desc td ul li:first-child {
    margin-bottom: 7.8%;
}

.invisalign__desc td ul li:last-child {
    font-size: clamp(12px, 2.604vw, 20px);
    line-height: 1.385;
} */

.chart__pc {
  display: none;
}

.chart__sp {
  display: block;
}

}
/* invisalign END*/

/* reason */
.reason {
  padding-top: 9.948%;
  background: url(../images/reason__wrp.jpg) no-repeat;
}

.reason h2 {
  width: 51.977%;
  margin: 0 auto;
  padding-bottom: 16.2792%;
}

.reason__container .flex__wrp {
  display: flex;
  position: relative;
  margin-bottom: 10.698%;
}

.flex__wrp-sp {
  display: none;
}

.reason__container .flex__wrp .img__contents {
  width: 50%;
  z-index: 15;
}

.reason__container .flex__wrp .txt__contents {
  width: 60.6396%;
  height: 102.544%;
  background-color: #EDF7F6;
  position: absolute;
  top: 12.083%;
  right: 0;
  display: flex;
  flex-direction: column;
  /* align-items: center;
  justify-content: center; */
  padding-top: 3.5469%;
}

.txt__contents-wrp {
  margin-left: 20.9972%;
}

.reason__container .txt__contents-inner {
  display: flex;
  align-items: center;
  margin-bottom: 7.6702%;
  margin-left: 20.9972%;
}

.reason__container .number__block {
  width: 15.899%;
  height: 113.93%;
  margin-right: 4.4903%;
}

.reason__container h3 {
  font-size: clamp(18px, 2.083vw, 40px);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  color: #4B3535;
  line-height: 1.375;
}


.reason__container .flex__wrp .txt__contents .txt {
  font-size: clamp(18px, 1.823vw, 35px);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: medium;
  color: #4B3535;
  line-height: 1.571;
  margin-left: 31.352%;
}

@media screen and (max-width: 1170px) {
  .reason__container h3 {
    font-size: clamp(15px, 2.051vw, 24px);
  }

  .reason__container .flex__wrp .txt__contents .txt {
    font-size: clamp(12px, 1.538vw, 18px);
  }
}

@media screen and (max-width: 768px) {
  .reason {
    padding-top: 9.948%;
    background: url(../images/reason__wrp-sp.jpg) no-repeat;
  }

  .reason h2 {
    width: 83.334%;
    padding-bottom: 20%;
  }

  .reason__container .flex__wrp {
    display: none;
  }

  .flex__wrp-sp {
    display: block;
    margin-bottom: 7.907%;
  }

  .flex__wrp-sp .img__contents {
    width: 88.14%;
    position: relative;
    z-index: 5;
  }

  .flex__wrp-sp .right {
    margin: 0 0 0 auto;
  }

  .flex__wrp-sp .txt__contents {
    width: 95.35%;
    margin-top: -164px;
    margin-top: -39.735%;
  }

  .flex__wrp-sp .point__03-contents {
    margin-top: -39.035%;
  }

  .flex__wrp-sp .point__01-contents,
  .flex__wrp-sp .point__05-contents {
    margin-top: -38.735%;
  }
}

/* neocap */
.neocap__container {
  text-align: center;
  padding-top: 10%;
  padding-bottom: 1%;
  background: url(../images/invisalign__wrp.jpg) no-repeat;
  background-size: cover;
}
@media (min-width: 960px){
.neocap__container {
  text-align: center;
  padding-top: 7%;
  padding-bottom: 7%;
}
}

.neocap__container h2{
  width: 76%;
  margin: 0 auto;
  margin-bottom: 5.0%;
}
@media (min-width: 960px){
.neocap__container h2{
  width: 60.291%;
  margin-bottom: 4.0%;
}
}

.neocap__container .message {
  color: #4B867D;
  font-weight: 500;
  font-size: clamp(17px, 3.906vw, 30px);
  margin-bottom: 3.077%;
}
@media (min-width: 960px){
.neocap__container .message {
  font-size: clamp(18px, 2.344vw, 45px);
  margin-bottom: 1.9768%;
}
}

.neocap__container h3 {
  font-size: clamp(45px, 5.208vw, 100px);
  color: #4B867D;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 2.0%;
}

.neocap__container h3 span{
  font-size: 65%;
  letter-spacing: 0.08em;
}

.neocap__logo{
  width: 100%;
	display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 15px;
  margin-bottom: 26px;
}
@media (min-width: 960px){
.neocap__logo{
  width: auto;
  margin-top: 0;
  margin-bottom: 40px;
}
}

.neocap__logo img{
  width: auto;
  height: 50px;
  display: block;
}
@media (min-width: 960px){
.neocap__logo img{
  width: auto;
  height: 70px;
}
}

.neocap__container .neocap__img01 {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  margin-bottom: 30px;
}
@media (min-width: 960px){
.neocap__container .neocap__img01 {
  width: 58.198%;
  margin: 0 auto;
  margin-bottom: 5.407%;
}
}

.neocap__container .lead {
  font-size: 15px;
  line-height: 1.8;
  color: #4b3535;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: medium;
  margin-bottom: 6.8024%;
}
@media (min-width: 960px){
.neocap__container .lead {
  font-size: clamp(14px, 1.823vw, 35px);
  line-height: 1.778;
}
}

.neocap__container .lead span {
  color: #d50000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
}

.neocap__container h4 {
  font-size: clamp(22px, 5.208vw, 40px);
  line-height: 1.5;
  color: #4b867d;
  font-weight: 500;
  background-color: #fff;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 6% 0 5% 0;
  margin-bottom: 10.0%;
}
@media (min-width: 960px){
.neocap__container h4 {
  font-size: clamp(23px, 2.865vw, 55px);
  line-height: 1;
  padding: 4.0% 0;
  margin-bottom: 8.0%;
}
}

.neocap__container .lead:last-of-type {
  font-size: clamp(21px, 2.344vw, 45px);
  color: #4b867d;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: medium;
  line-height: 1.4;
  margin-bottom: 6%;
}
@media (min-width: 960px){
.neocap__container .lead:last-of-type {
  font-size: clamp(23px, 2.344vw, 45px);
  line-height: 1;
  margin-bottom: 6%;
}
}

.neocap__point .point__list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}
@media (min-width: 960px){
.neocap__point .point__list {
  flex-direction: row;
  align-items: flex-start;
	justify-content: space-between;
}
}

.neocap__point .point__item {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 8%;
  padding: 0 2%;
}
@media (min-width: 960px){
.neocap__point .point__item {
  width: 22%;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  padding: 0;
}
}

.neocap__point .point__item img {
  margin-bottom: 7%;
  padding: 0 10%;
}
@media (min-width: 960px){
.neocap__point .point__item img {
  margin-bottom: 10%;
  padding: 0 7%;
}
}

.neocap__point .point__item h5 {
  font-size: 19px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  color: #4b867d;
  line-height: 1.3;
  margin-bottom: 4%;
}
@media (min-width: 960px){
.neocap__point .point__item h5 {
  font-size: clamp(14px, 1.7vw, 35px);
  margin-bottom: 7%;
}
}

.neocap__point .point__item p {
  width: 100%;
  font-size: 15px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: normal;
  color: #4B3535;
  line-height: 1.7;
  text-align: justify;
}
@media (min-width: 960px){
.neocap__point .point__item p {
  font-size: clamp(14px, 1.4vw, 17.5px);
}
}

/* neocap__price */
.neocap__price{
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 10% 0;
}
@media (min-width: 960px){
.neocap__price{
  padding: 6% 0;
}
}

.neocap__price .price__container{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px;
}
@media (min-width: 960px){
.neocap__price .price__container{
  width: 860px;
  padding: 0;
}
}

.neocap__price .price__container .ttl {
  font-size: clamp(26px, 4.167vw, 80px);
  font-weight: 500;
  letter-spacing: 0.10em;
  line-height: 1.3;
  text-align: center;
  color: #3d2413;
  display: inline-block;
  margin-bottom: 10%;
  position: relative;
}
@media (min-width: 960px){
.neocap__price .price__container .ttl {
  font-size: clamp(22px, 3.0vw, 42px);
  margin-bottom: 10%;
}
}

.neocap__price .price__container .ttl::after {
  content: "";
  display: block;
  width: 37.92%;
  height: 3px;
  background-color: #3D2413;
  position: absolute;
  bottom: -20%;
  left: 50%;
  transform: translateX(-50%);
}

.neocap__price .price__block{
  width: 100%;
  display: flex;
  flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
  border: 2px solid #3f2d23;
  margin-bottom: 6%;
}
@media (min-width: 960px){
.neocap__price .price__block{
  flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
  margin-bottom: 4%;
}
}

.neocap__price .price__block .left{
  color: #FFF;
  width: 100%;
  height: 70px;
  font-size: clamp(18px, 1.5vw, 23px);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: medium!important;
  line-height: 1.3;
  text-align: center;
  display: flex;
	align-items: center;
	justify-content: center;
  background-color: #3f2d23;
}
@media (min-width: 960px){
.neocap__price .price__block .left{
  width: 40%;
  height: 100px;
}
}

.neocap__price .price__block .right{
  color: #891f12;
  width: 100%;
  height: 70px;
  font-size: clamp(36px, 2.865vw, 50px);
  text-align: center;
  display: flex;
	align-items: center;
	justify-content: center;
  box-sizing: border-box;
  padding-left: 30px;
}
@media (min-width: 960px){
.neocap__price .price__block .right{
  width: 60%;
  font-size: clamp(18px, 2.865vw, 50px);
  height: 100px;
  letter-spacing: 0.04em;
  padding-left: 30px;
}
}

.neocap__price .price__block .yen{
  font-size: 65%;
  letter-spacing: 0;
  margin-bottom: -0.2em;
}

.neocap__price .price__block .tax{
  font-size: 40%;
  letter-spacing: 0;
  margin-bottom: -0.4em;
}

.neocap__price .loan{
  color: #891f12;
  width: 100%;
  font-size: clamp(17px, 2.865vw, 50px);
  text-align: center;
  line-height: 1.6;
  box-sizing: border-box;
  padding-left: 4px;
}
@media (min-width: 960px){
.neocap__price .loan{
  width: 60%;
  font-size: clamp(17px, 2.0vw, 26px);
  letter-spacing: 0.04em;
  padding-left: 4px;
}
}

.neocap__price .loan .tax{
  font-size: 70%;
}
/* neocap END */

/* concept */
.concept__container {
  text-align: center;
  padding-top: 10%;
  padding-bottom: 1%;
  background: url(../images/invisalign__wrp.jpg) no-repeat;
  background-size: cover;
}
@media (min-width: 960px){
.concept__container {
  text-align: center;
  padding-top: 7%;
  padding-bottom: 7%;
}
}

.concept__container h2{
  width: 76%;
  margin: 0 auto;
  margin-bottom: 5.0%;
}
@media (min-width: 960px){
.concept__container h2{
  width: 60.291%;
  margin-bottom: 4.0%;
}
}

.concept__container h3 {
  font-size: clamp(36px, 4vw, 80px);
  color: #4B867D;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 6.0%;
}

.concept__container .concept__img01 {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  margin-bottom: 30px;
}
@media (min-width: 960px){
.concept__container .concept__img01 {
  width: 58.198%;
  margin: 0 auto;
  margin-bottom: 5.407%;
}
}

.concept__container .lead {
  font-size: 15px;
  line-height: 1.8;
  color: #4b3535;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: medium;
  margin-bottom: 6.8024%;
}
@media (min-width: 960px){
.concept__container .lead {
  font-size: clamp(14px, 1.823vw, 35px);
  line-height: 1.778;
}
}

.concept__container .lead span {
  color: #d50000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
}

.concept__img {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}
@media (min-width: 960px){
.concept__img {
  width: 74%;
  margin: 0 auto;
  flex-direction: row;
  align-items: flex-start;
	justify-content: space-between;
}
}

.concept__img .img__item {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 8%;
  border: 4px solid #fff;
  box-sizing: border-box;
}
@media (min-width: 960px){
.concept__img .img__item {
  width: 47.5%;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  padding: 0;
}
}




/* case */
.case {
  padding-bottom: 5.4688%;
}

.case__ttl-wrp {
  position: relative;
  margin-bottom: 12.849%;
}

.case__ttl-wrp-sp {
  display: none;
}

.case__ttl-wrp  h2 {
  width: 27.907%;
  position: absolute;
  top: 39.95%;
  left: 14.594%;
}

.case__list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.case__item {
  width: 30.4655%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.case__item:first-of-type {
  margin-right: 50px;
}

.case__item:last-of-type {
  margin-left: 50px;
}

.case__img {
  margin-bottom: 0%;
}

.case_type {
  margin-bottom: 6.29773%;
}

/* .case__desc {
  margin-bottom: 7.25193%;
} */

@media screen and (max-width: 768px) {
  .case {
    padding-bottom: 12.5583%;
    background: url(../images/case__wrp-sp.jpg) no-repeat;
    background-size: cover;
  }

  .case__ttl-wrp {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    margin-bottom: 10.25643%;
  }

  .case__ttl-wrp-pc {
    display: none;
  }

  .case__ttl-wrp-sp {
    display: block;
  }

  .case__ttl-wrp  h2 {
    width: 39.07%;
    top: 39.216%;
    left: 13.955%;
  }

  .case__container {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }

  .case__list {
    display: block;
  }

  .case__item {
    padding: 6.4103% 0 7.1795%;
    background-color: #fff;

    width: 100%;
    margin-bottom: 6.4103%;
  }

  .case__item:first-of-type {
    margin-right: 0px;
  }

  .case__item:last-of-type {
    margin-left: 0px;
    margin-bottom: 0;
  }

  .case__img {
    margin-bottom: 1.1795%;
    width: 78.718%;
  }

  .case_type {
    margin-bottom: 5.8975%;
    width: 78.718%;
  }

  .case__desc {
    /* margin-bottom: 5.8975%; */
    width: 78.718%;
  }

  .case__risk {
    padding: 0 4.6513%;
    width: 87.9%;
  }
}

@media screen and (max-width: 768px){
  .images{
    width: 78.718%;
  }
}
/* case END*/

/* flow */
.flow {
  margin-bottom: 9.974%;
}

.flow .ttl__wrp {
  position: relative;
  margin-bottom: 6.8605%;
}

.flow__ttl-wrp-sp {
  display: none;
}

.flow h2  {
  font-size: clamp(28px, 4.167vw, 80px);
  color: #3D2413;
  font-weight: 500;
  position: absolute;
  top: 38.889%;
  left: 7.8489%;
}

.flow__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.flow__item {
  width: 43.547%;
}

.flow__item:nth-child(odd) {
  margin-right: 3.256%;
}

.flow__item:nth-child(even) {
  margin-left: 3.256%;
}

.flow__item:nth-child(1), .flow__item:nth-child(2) {
  margin-bottom: 10.8722%;
}

.flow__item h3 {
  margin-bottom: 7.344%;
}

.flow__item .num {
  display: flex;
  align-items: center;
}

.flow__item .num img {
  width: 15.354%;
  margin-right: 2.938%;
}

.flow__item .num p {
  font-size: clamp(18px, 2.604vw, 50px);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  color: #4b3535;
}

@media screen and (max-width: 1026px) {
  .flow__item .num p {
    font-size: clamp(18px, 2.339vw, 24px);
  }
}

.flow__item .img__contents {
  margin-bottom: 8.679%;
}

.flow__item .txt__contents p {
  font-size: clamp(14px, 1.823vw, 35px);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: medium;
  color: #4b3535;
  line-height: 1.5714;
}

@media screen and (max-width: 1650px) {
  .flow__item .txt__contents p {
    font-size: clamp(14px, 1.576vw, 26px);
  }
}

@media screen and (max-width: 768px) {
  .flow {
    margin-bottom: 10.932%;
  }

  .flow .ttl__wrp {
    position: relative;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    margin-bottom: 6.8605%;
  }

.flow h2 {
    top: 50.193%;
}

  .flow__ttl-wrp-pc {
    display: none;
  }

  .flow__ttl-wrp-sp {
    display: block;
  }

  .flow h2  {
    font-size: clamp(28px, 6.510vw, 50px);
  }

  .flow__list {
    display: block;
  }

  .flow__item {
    width: 100%;

  }

  .flow__item:nth-child(odd) {
    margin-right: 0%;
    margin-bottom: 11.538%;
  }

  .flow__item:nth-child(even) {
    margin-left: 0;
    margin-bottom: 11.538%;
  }

  .flow__item:nth-child(1), .flow__item:nth-child(2) {
    margin-bottom: 0%;
    margin-bottom: 11.538%;
  }

  .flow__item h3 {
    margin-bottom: 6.412%;
  }

  .flow__item .num img {
    width: 13.3336%;
    margin-right: 2.565%;
  }

  .flow__item .num p {
    font-size: clamp(20px, 4.557vw, 35px);
  }

  .flow__item .img__contents {
    margin-bottom: 9.744%;
  }

  .flow__item .txt__contents p {
    font-size: clamp(15px, 3.255vw, 25px);
    line-height: 1.556;
  }
}
/* flow END*/

/* price */
.price .price__container {
  padding: 5.8432% 0 13.576%;
  text-align: center;
  background: url(../images/price__wrp-pc.jpg) no-repeat;
  background-size: cover;
}

.price .price__container .ttl {
  font-size: clamp(28px, 4.167vw, 80px);
  font-weight: 500;
  color: #3d2413;
  display: inline-block;
  margin-bottom: 7.849%;
  position: relative;
}

.price .price__container .ttl::after {
  content: "";
  display: block;
  width: 37.92%;
  height: 3px;
  background-color: #3D2413;
  position: absolute;
  bottom: -42.94%;
  left: 50%;
  transform: translateX(-50%);
}

.price .price__container .price__block {
  width: 71.047%;
  margin: 0 auto;
  position: relative;
}
.pcyen {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;

    position: absolute;
    top: 57%;
    left: 66.4%;
    width: 31%;
    /* animation: anime1 0.6s ease 0s infinite alternate;
    transform-origin:center; */
}
@keyframes anime1 {
  from {
    transform: scale(0.9,0.9);
  }
  to {
    transform: scale(1,1);
  }
}
.pcyen2 {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: absolute;
  top: -8%;
  left: 13.6%;
  width: 42%;
  animation: anime1 0.6s ease 0s infinite alternate;
  transform-origin:center;
}
@keyframes anime1 {
from {
  transform: scale(0.9,0.9);
}
to {
  transform: scale(1,1);
}
}

.price__img-sp {
  display: none;
}
.pc_none{
  display: none;
}

@media screen and (max-width: 768px) {
  .price {
    background: url(../images/price__wrp-sp.jpg) no-repeat;
    background-size: cover;
  }

  .price .price__container {
    padding: 12.821% 0 16.154%;
    background: none;
  }

  .price .price__container .ttl {
    margin-bottom: 14.616%;
    font-size: clamp(28px, 7.813vw, 60px);
  }

  .price .price__container .ttl::after {
    height: 1px;
  }

  .price .price__container .price__block {
    width: 100%;
    position: relative;
  }
  .SPyen {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: absolute;
    top: 63%;
    left: 50.4%;
    width: 47.5%;
    /* animation: anime1 0.6s ease 0s infinite alternate;
    transform-origin:center; */
}
@keyframes anime1 {
  from {
    transform: scale(0.9,0.9);
  }
  to {
    transform: scale(1,1);
  }
}

  .price__img-pc {
    display: none;
  }

  .price__img-sp {
    display: block;
    width: 100%;
  }
  .sp_none {
    display: none;
  }
}
/* price END*/

/* question */
.question {
  padding-bottom: 9.4844%;
  background: url(../images/question__wrp.jpg) no-repeat;
  background-size: contain;
  background-position: top right;
}

.question .ttl{
  padding: 476px 0 253px 140px;
  padding: 27.6745% 0 14.71% 8.1399%;
}

.question .ttl h2 {
  font-size: clamp(28px, 4.167vw, 80px);
  font-weight: 500;
  color: #3D2413;
}

.question__container {
  border-top: 3px dotted #3D2413;
}

.question__container:last-of-type {
  border-bottom: 3px dotted #3D2413;
}

.question__container dt {
  display: flex;
  align-items: center;
  padding: 4.942% 0;
  position: relative;
}

.vertical {
  display: block;
  width: 0.17443%;
  height: 22.107%;
  background-color:#3D2413;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 7.535%;
}

.beside {
  display: block;
  width: 3.6628%;
  height: 1.053%;
  background-color:#3D2413;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5.791%
}

  .active {
    width: 0;
  }

.q__icon {
  width: 4.012%;
  margin-right: 3.4885%;
}

.question__container dt p {
  font-size: clamp(35px, 2.604vw, 50px);
  font-weight: 500;
  color: #3d2413;
}

@media screen and (max-width: 1300px) {
  .question__container dt p {
    font-size: clamp(19px, 2.308vw, 30px);
  }
}

.question__container dd {
  font-size: clamp(18px, 1.458vw, 28px);
  font-weight: 500;
  color: #3d2413;
  padding: 0 5.814% 5.814% 10.174%;
  line-height: 1.5;
  display: none;
}


@media screen and (max-width: 768px) {
  .question {
    padding-bottom: 9.4844%;
  }

  .question .ttl{
    padding: 53.329%  0 25.581% 0;
  }

  .question .ttl h2 {
    font-size: clamp(28px, 7.813vw, 60px);
  }

.question__container dt {
  padding: 8.3333% 0;
}

/* .vertical {
  width: 5.898%;
  height: 1.74%;
  right: 7.535%;
}

.beside {
  width: 0.514%;
  height: 20.003%;
  right: 10.1%;
} */

.vertical {
  display: block;
  width: 0.53%;
  height: 22.283%;
  background-color:#3D2413;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 7.535%;
}

.beside {
  display: block;
  width: 6.412%;
  height: 1.93%;
  background-color:#3D2413;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4.791%
}

.active {
  width: 0;
}
.q__icon {
  width: 6.667%;
  margin-right: 4.616%;
}

.question__container dt p {
  font-size: clamp(17px, 3.906vw, 30px);
  line-height: 1.3889
}

.question__container dd {
  font-size: clamp(14px, 3.125vw, 24px);
  padding: 0 5.814% 5.814% 10.174%;
  display: none;
}

}
/* question END*/

/* greeting */
.greeting {
  position: relative;
  margin-bottom: 12.8646%;
}

.greetin__container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
}

.greetin__container .img__contents {
  width: 50%;
}

.greetin__container .img__contents img {
  width: 97.0933%;
}

.greetin__container .txt__contents {
  width: 50%;
  margin-top: 16.0469%;
}

.greetin__container .txt__contents .name {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.greetin__container .txt__contents p:first-of-type {
  font-size: clamp(18px, 3.646vw, 70px);
  font-weight: 300;
  color: #3D2413;
  margin-bottom: 5.931%;
}

@media screen and (max-width: 1601px) {
  .greetin__container .txt__contents p:first-of-type {
    font-size: clamp(23px, 2.811vw, 45px);
  }
}

.greetin__container .txt__contents p:last-of-type {
  font-size: clamp(16px, 3.125vw, 60px);
  font-weight: 500;
  color: #3D2413;
}

.greetin__container .txt__contents p:last-of-type span {
  font-size: clamp(30px, 5.990vw, 115px);
  font-weight: 500;
  color: #3D2413;
  letter-spacing: 0.1em;
  margin-left: 2.674%;
}

.greeting__area {
  background-color: #7FEAD8;
  position: absolute;
  top: 48.535%;
  right: 0;
  padding: 4.8633% 1.9768% 4.8633% 3.6628%;
  z-index: 30;
}

.greeting__area p {
  font-size: clamp(15px, 1.823vw, 35px);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: medium;
  color: #2e2e2e;
  line-height: 1.6667;
}

.empty__box {
  position: absolute;
  bottom: 0;
  bottom: -5.6366%;
  left: 0;
  background-color: #01B9C1;
  width: 50%;
  height: 27.676%;
  z-index: 20;
}

@media screen and (max-width: 768px) {
  .greeting {
    margin-bottom: 33.023%;
    padding-bottom: 42.26%;
  }

  .greetin__container {
    display: block;
  }

  .greetin__container .img__contents {

    margin: 0 calc(50% - 50vw);
    width: 100vw;
    width: 54.872%;
  }


  .greetin__container .img__contents img {
    width: 100%;
  }

  .greetin__container .txt__contents {
    margin-top: 0;
    position: absolute;
    top: 12.11%;
    right: 0;
    width: 55.385%;
  }

  .greetin__container .txt__contents p:first-of-type {
    font-size: clamp(15px, 3.906vw, 30px);
    margin-bottom: 3.59%;
  }

  .greetin__container .txt__contents p:last-of-type {
    font-size: clamp(16px, 5.208vw, 40px);
  }

  .greetin__container .txt__contents p:last-of-type span {
    font-size: clamp(30px, 5.990vw, 90px);
    margin-left: 1.538%;
  }

  .greeting__area {
    top: 50.165%;
    right: 0;
    padding: 9.643% 4.103% 9.643% 7.949%;
    z-index: 30;
  }

  .greeting__area p {
    font-size: clamp(15px, 3.255vw, 25px);
  }

  .empty__box {
    bottom: -10.63%;
    width: 79.303%;
    height: 41.86%;
  }
}

/* access */
.access {
  padding-bottom: 7.813%;
}

.access__container {
  position: relative;
  margin-bottom: 26.395%;
}

.access__container .ttl {
  position: absolute;
  top: 18.8432%;
  left: 50%;
  transform: translateX(-50%);
  letter-spacing: 0.1em;
  width: 76.163%;
  /* margin-top: 12.5%; */
  text-align: center;
  color: #3d2413;
}

.access__container .ttl p {
  font-size: clamp(20px, 3.125vw, 60px);
  font-weight: 500;
  margin-bottom: 4.0435%;
}

.access__container .ttl h2 {
  font-size: clamp(23px, 5.208vw, 100px);
  font-weight: 500;
}

@media screen and (max-width: 1210px) {
  .access__container .ttl h2 {
    font-size: clamp(35px, 4.545vw, 55px);
  }
}

.map__contents {
  width: 76.163%;
  height: 74.759%;;
  position: absolute;
  bottom: -29.185%;
  left: 50%;
  transform: translateX(-50%);
}

.map__contents iframe {
  width: 100%;
  height: 100%;;
}

.address__container {
  max-width: 80.1744%;
  margin: 0 auto;
}

.address__container {
  width: 80.174%;
}

@media screen and (max-width: 768px) {
  .access {
    padding-bottom: 12.185%;
    margin-bottom: 5%;
  }

  .access__container {
    position: relative;
    margin-bottom: 42.308%;
  }

  .access__container .ttl {
    position: absolute;
    top: 15.076%;
    width: 77.18%;
  }

  .access__container .ttl p {
    font-size: clamp(20px, 5.208vw, 40px);
    margin-bottom: 3.8462%;
  }

  .access__container .ttl h2 {
    font-size: clamp(20px, 5.208vw, 40px);
  }

  .map__contents {
    width: 82.82%;
    height: 87.356%;;
    position: absolute;
    bottom: -43.6783%;
  }

  .address__container {
    max-width: 100%;
    width: 100%;
  }

}
/* access END*/

/* banner */

@media screen and (max-width: 768px) {
  .fixed__banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    bottom: 0px;
    z-index: 9999;
  }

  .fixed__banner-tel, .fixed__banner-line {
    display: inline;
    /* width: 49.5%; */
    /* filter: drop-shadow( 3px 5px 3px rgba(60, 60, 60, .6)); */
    margin-bottom: -2px;
  }

  .fixed__banner-tel a, .fixed__banner-line a {
    display:inline-block;
    overflow: hidden;
    position: relative;
  }

  .fixed__banner-tel a::after, .fixed__banner-line a::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 10%;
    height: 150%;
    background: #fff;
    transform: rotate(45deg);
    animation: shiny-btn 3s ease-in-out infinite;
  }

  @keyframes shiny-btn {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
  }

  .btn__block .tel__btn a:hover, .btn__block .line__btn a:hover {
    cursor: pointer;
    opacity: .7;
  }
  .web_btn a:hover {
    cursor: pointer;
    opacity: .7;
  }
}

@keyframes shiny-btn {
  0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
  80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
  100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.btn__block .tel__btn a:hover, .btn__block .line__btn a:hover {
  cursor: pointer;
  opacity: .7;
}
.web_btn a:hover {
  cursor: pointer;
  opacity: .7;
}

/* fade__in */
.fade__in {
  transform: translateY(30px);
  opacity: 0;
  visibility: hidden;
  transition: transform 1s, opacity 1s, visibility 1s;
}

.is__fade-in {
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
}

.images{
  position: relative;
}
.c-ofiCover{
    object-fit: cover;
    font-family: "object-fit: cover;, object-position: center;";
    width: 100%;
    height: 100%;
    object-position: center;
}
.case__item .images .after{
  position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    animation: imageAnim 6s ease 0s infinite;
    z-index: 2;
}
@keyframes imageAnim {
    0% {opacity: 0;}
    45% {opacity: 0;}
    50% {opacity: 1;}
    95% {opacity: 1;}
    100%{opacity: 0;}
}
.case__item2{
  text-align: center;
}

.newopal{
  margin-bottom: 5%;
}
.web_btn{
  width: 70%;
  margin: 0 auto;
  margin-top: 2%;
  filter: drop-shadow( 3px 5px 3px rgba(60, 60, 60, .6));
}
.web_btn_pc{
  margin-left: 0.5%;
}

@media screen and (max-width: 768px) {
  .web_btn_pc{
    display: none;
  }
  .web_btn{
    width: 70%;
    margin: 0 auto;
    margin-top: 2%;
    filter: drop-shadow( 3px 5px 3px rgba(60, 60, 60, .6));
  }
}

.web_btn_sp{
  display: block;

}




@keyframes shiny {
  0% { left: -20%; }
  10% { left: 120%; }
  100% { left: 120%; }
}

.shiny-btn {
  position: relative;
  display: block;
  overflow: hidden;
}

.shiny-btn::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 10%;
  height: 150%;
  transform:rotate(45deg);
  background: #fff;
  /* background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%); */

  /* アニメーション */
  animation-name: shiny-btn;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.waribiki{
  color: #31A8A8;
}

@media screen and (max-width: 768px) {
  .img_off{
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .img_on{
    display: none;
  }
}
