@charset "UTF-8";
body {
  font-family: "Noto Sans JP", "Quicksand", "Noto Serif JP";
}

.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}

/* リキッドレイアウト対応 */
html {
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.4414414414vw;
  }
}
@media (min-width: 1110px) {
  html {
    font-size: 16px;
  }
}

/* pcの電話番号発信対応 */
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* ホバー */
a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.8;
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* フォームリセット */
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/* about =====================================================================*/
.l-about {
  background: #d5c5a1;
  padding: 65px 0 50px;
}

.about h2 {
  max-width: 383px;
  margin: 0 auto 70px;
}

.about__inner {
  max-width: 1080px;
  margin: 0 auto 70px;
  width: 90%;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-radius: 16px;
  -webkit-box-shadow: 15px 15px 20px rgba(0, 0, 0, .2);
          box-shadow: 15px 15px 20px rgba(0, 0, 0, .2);
}

.about__inner .detail {
  width: 44%;
  padding: 5% 5%;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 180%;
}

.about__inner .detail p {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.86;
  margin-bottom: 18px;
  margin-bottom: 1.125rem;
}

.about__inner .detail p:last-child {
  margin-bottom: 0;
}

.about__inner .detail .logo {
  max-width: 153px;
  margin-bottom: 41px;
  margin-bottom: 2.5625rem;
}

.about__inner .detail .tel {
  max-width: 279px;
  margin-bottom: 16px;
  margin-bottom: 1rem;
}

.about__inner .detail .address {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 400;
  border-bottom: 1px solid #c6c6c6;
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}

.about__inner .detail .address dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.86;
  margin-bottom: 32px;
  margin-bottom: 2rem;
}

.about__inner .detail .address dt {
  width: 20%;
}

.about__inner .detail .address dd {
  width: 80%;
}

.about__inner .detail dl.name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.86;
}

.about__inner .detail dl.name dt {
  width: 30%;
}

.about__inner .detail dl.name dd {
  width: 70%;
}

.about__inner .map {
  width: 50%;
  border-radius: 0 16px 16px 0;
  position: relative;
}

.about__inner .map .map__inner {
  height: 0;
  padding-top: 56.25%;
  border-radius: 0 16px 16px 0;
}

.about__inner .map .map__inner iframe {
  border-radius: 0 16px 16px 0;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.payment {
  max-width: 1080px;
  width: 90%;
  margin: 0 auto;
}

.payment .payment__inner {
  background: #fff;
  border-radius: 16px;
  padding: 0 5% 5%;
  text-align: center;
  -webkit-box-shadow: 15px 15px 20px rgba(0, 0, 0, .2);
          box-shadow: 15px 15px 20px rgba(0, 0, 0, .2);
}

.payment .payment__inner h3 {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  background: #6ccbd3;
  border-radius: 50px;
  padding: 9px 60px;
  display: inline-block;
  margin-top: -64px;
  margin-top: -4rem;
}

.payment .payment__inner p {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 180%;
  max-width: 738px;
  margin: 0 auto;
  text-align: left;
}

.payment .payment__inner p.lead__txt {
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1.76;
  color: #6ccbd3;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin: 39px auto 55px;
  margin: 2.4375rem auto 3.4375rem;
}

.payment .payment__inner ul {
  max-width: 738px;
  margin: 0 auto 32px;
  margin: 0 auto 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.payment .payment__inner ul li span {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  border-bottom: 4px solid #6ccbd3;
  padding-bottom: 16px;
  padding-bottom: 1rem;
}

@media (max-width: 768px) {
  .l-about {
    background: -webkit-gradient(linear, left top, left bottom, from(#d5c5a1), color-stop(90%, #d5c5a1), color-stop(90%, #f0eeea), to(#f0eeea));
    background: linear-gradient(180deg, #d5c5a1 0%, #d5c5a1 90%, #f0eeea 90%, #f0eeea 100%);
  }

  .about h2 {
    max-width: 312px;
    margin: 0 auto 35px;
  }

  .about__inner {
    display: block;
    width: 90%;
    padding-top: 1.3125rem;
    margin: 0 auto 3.125rem;
    border-radius: 13px;
  }

  .about__inner .detail {
    width: 90%;
    padding: 0 0 0 5%;
  }

  .about__inner .detail p {
    margin-bottom: 1rem;
  }

  .about__inner .detail .tel {
    margin-bottom: 1.25rem;
  }

  .about__inner .detail .address dl {
    margin-bottom: 2.3125rem;
  }

  .about__inner .detail dl.name {
    display: block;
  }

  .about__inner .detail dl.name dt {
    width: 100%;
  }

  .about__inner .detail dl.name dd {
    width: 100%;
    margin-bottom: 1.625rem;
  }

  .about__inner .map {
    width: 100%;
    border-radius: 0 0 13px 13px;
  }

  .about__inner .map .map__inner {
    padding-top: 86.25%;
    border-radius: 0 0 13px 13px;
  }

  .about__inner .map .map__inner iframe {
    border-radius: 0 0 13px 13px;
  }

  .payment .payment__inner {
    border-radius: 13px;
    padding: 0 5% 10%;
  }

  .payment .payment__inner h3 {
    font-size: 1.125rem;
    padding: 6px 58px;
  }

  .payment .payment__inner p {
    font-size: 0.9375rem;
    line-height: 1.86;
  }

  .payment .payment__inner p.lead__txt {
    font-size: 0.875rem;
    line-height: 1.87;
    margin: 30px auto;
  }

  .payment .payment__inner ul {
    max-width: 738px;
    display: block;
    margin-bottom: 2.5rem;
  }

  .payment .payment__inner ul li {
    margin-bottom: 2.375rem;
  }

  .payment .payment__inner ul li span {
    font-size: 1.0625rem;
    padding-bottom: 0.6875rem;
  }
}
.access__inner {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(9%, transparent), color-stop(9%, transparent), color-stop(9%, #f5f3df), to(#f5f3df));
  background: linear-gradient(180deg, transparent 9%, transparent 9%, #f5f3df 9%, #f5f3df 100%);
  padding-bottom: 55px;
  padding-bottom: 3.4375rem;
  margin-top: -77px;
  margin-top: -4.8125rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .access__inner {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(9.8%, transparent), color-stop(9.8%, transparent), color-stop(9.8%, #f5f3df), to(#f5f3df));
    background: linear-gradient(180deg, transparent 9.8%, transparent 9.8%, #f5f3df 9.8%, #f5f3df 100%);
    padding-bottom: 11rem;
    margin-top: -10.4375rem;
  }
}

.access__inner::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  bottom: 0;
  right: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  border-style: solid;
  border-width: 48px 50vw 0 50vw;
  border-width: 3rem 50vw 0 50vw;
  border-color: #f5f3df transparent transparent transparent;
}
@media screen and (min-width: 768px) {
  .access__inner::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    bottom: 0;
    right: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    border-style: solid;
    border-width: 7.5rem 50vw 0 50vw;
    border-color: #f5f3df transparent transparent transparent;
  }
}

.access__icon {
  margin-top: 20px;
  margin-top: 1.25rem;
}
.access__title {
  margin: 31px auto 0 auto;
  margin: 1.9375rem auto 0 auto;
}
@media screen and (min-width: 768px) {
  .access__title {
    margin: 4.5rem auto 0 auto;
  }
}

.access__text {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.85;
  padding: 0 29px 0 29px;
  padding: 0 1.8125rem 0 1.8125rem;
  margin-top: 34px;
  margin-top: 2.125rem;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .access__text {
    font-size: 1.125rem;
    line-height: 1.77;
    padding: 0 17rem 0 17rem;
    margin-top: 3.625rem;
    text-align: center;
  }
}

.access__image {
  width: 100%;
  padding: 0 53px 0 50px;
  padding: 0 3.3125rem 0 3.125rem;
  margin: 34px auto 0 auto;
  margin: 2.125rem auto 0 auto;
}
@media screen and (min-width: 768px) {
  .access__image {
    max-width: 67.5rem;
    padding: 0;
    margin: 3.375rem auto 0 auto;
  }
}

.bg-arrow {
  position: relative;
  z-index: -102;
}

@media screen and (min-width: 768px) {
  .bg-arrow {
    margin-top: -60px;
  }
}

/* @media screen and (min-width: 1191px) and (max-width: 1439px) {
  .bg-arrow {
    margin-top: 60px;
  }
} */

@media screen and (min-width: 768px) {
  .bg-arrow::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 102%;
    bottom: 0;
    right: 0;
    background-image: url(/images/common/pc_bg_arrow.jpg);
    background-size: cover;
    background-repeat: no-repeat;
  }
}

.btn__counseling {
  width: 90%;
  max-width: 388px;
  max-width: 24.25rem;
}
@media screen and (min-width: 768px) {
  .btn__counseling {
    width: 100%;
    max-width: 44.5rem;
  }
}

.l-price-btn {
  margin: 24px auto 0 auto;
  margin: 1.5rem auto 0 auto;
}
@media screen and (min-width: 768px) {
  .l-price-btn {
    margin: 3.75rem auto 0 auto;
  }
}

.l-feature-btn {
  margin: 28px auto 0 auto;
  margin: 1.75rem auto 0 auto;
}
@media screen and (min-width: 768px) {
  .l-feature-btn {
    margin: 13rem auto 0 auto;
  }
}

.l-access-btn {
  margin: 72px auto 0 auto;
  margin: 4.5rem auto 0 auto;
}
@media screen and (min-width: 768px) {
  .l-access-btn {
    margin: 9.625rem auto 0 auto;
  }
}

.l-faq-btn {
  margin: 0 auto;
}

/* キャンペーンボタン =====================================================================*/

.btn__campaign {
  padding: 0 10px;
  margin-top: 180px;
}

@media only screen and (min-width: 377px) and (max-width: 398px) {
  .btn__campaign {
    margin-top: 200px;
  }
}

@media only screen and (min-width: 399px) and (max-width: 416px) {
  .btn__campaign {
    margin-top: 240px;
  }
}

@media only screen and (min-width: 417px) and (max-width: 442px) {
  .btn__campaign {
    margin-top: 300px;
  }
}

@media only screen and (min-width: 443px) and (max-width: 468px) {
  .btn__campaign {
    margin-top: 360px;
  }
}

@media only screen and (min-width: 469px) and (max-width: 499px) {
  .btn__campaign {
    margin-top: 430px;
  }
}

@media only screen and (min-width: 500px) and (max-width: 529px) {
  .btn__campaign {
    margin-top: 500px;
  }
}

@media only screen and (min-width: 530px) and (max-width: 560px) {
  .btn__campaign {
    margin-top: 570px;
  }
}

@media only screen and (min-width: 561px) and (max-width: 595px) {
  .btn__campaign {
    margin-top: 650px;
  }
}

@media only screen and (min-width: 596px) and (max-width: 639px) {
  .btn__campaign {
    margin-top: 750px;
  }
}

@media only screen and (min-width: 640px) and (max-width: 682px) {
  .btn__campaign {
    margin-top: 850px;
  }
}

@media only screen and (min-width: 683px) and (max-width: 726px) {
  .btn__campaign {
    margin-top: 950px;
  }
}

@media only screen and (min-width: 727px) and (max-width: 767px) {
  .btn__campaign {
    margin-top: 1050px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1180px) {
  .btn__campaign {
    margin-top: -50px;
  }
}

@media only screen and (min-width: 1181px) and (max-width: 1250px) {
  .btn__campaign {
    margin-top: 30px;
  }
}

@media only screen and (min-width: 1251px) and (max-width: 1350px) {
  .btn__campaign {
    margin-top: 80px;
  }
}

@media only screen and (min-width: 1351px) and (max-width: 1460px) {
  .btn__campaign {
    margin-top: 130px;
  }
}

@media only screen and (min-width: 1461px) and (max-width: 1580px) {
  .btn__campaign {
    margin-top: 180px;
  }
}

@media only screen and (min-width: 1581px) and (max-width: 1680px) {
  .btn__campaign {
    margin-top: 230px;
  }
}

@media only screen and (min-width: 1681px) and (max-width: 1800px) {
  .btn__campaign {
    margin-top: 280px;
  }
}

@media only screen and (min-width: 1801px) and (max-width: 1910px) {
  .btn__campaign {
    margin-top: 330px;
  }
}

@media only screen and (min-width: 1911px) and (max-width: 2010px) {
  .btn__campaign {
    margin-top: 380px;
  }
}

@media only screen and (min-width: 2011px) and (max-width: 2130px) {
  .btn__campaign {
    margin-top: 430px;
  }
}

@media only screen and (min-width: 2131px) and (max-width: 2240px) {
  .btn__campaign {
    margin-top: 480px;
  }
}

@media only screen and (min-width: 2241px) and (max-width: 2350px) {
  .btn__campaign {
    margin-top: 530px;
  }
}

@media only screen and (min-width: 2351px) and (max-width: 2460px) {
  .btn__campaign {
    margin-top: 580px;
  }
}

@media only screen and (min-width: 2461px) and (max-width: 2570px) {
  .btn__campaign {
    margin-top: 630px;
  }
}

@media only screen and (min-width: 2571px) {
  .btn__campaign {
    margin-top: 800px;
  }
}

@media screen and (min-width: 768px) {
  .btn__campaign {
    position: relative;
    max-width: 44.5rem;
    padding: 0 25px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0;
    z-index: 9999;
  }
}

.l-concept {
  position: relative;
  margin-top: 60px;
  z-index: 100;
}

@media only screen and (min-width: 376px) and (max-width: 399px) {
  .l-concept {
    margin-top: 30px;
  }
}

@media only screen and (min-width: 400px) and (max-width: 439px) {
  .l-concept {
    margin-top: -1220px;
  }
}

@media only screen and (min-width: 440px) and (max-width: 468px) {
  .l-concept {
    margin-top: -1320px;
  }
}

@media only screen and (min-width: 469px) and (max-width: 499px) {
  .l-concept {
    margin-top: -1420px;
  }
}

@media only screen and (min-width: 500px) and (max-width: 539px) {
  .l-concept {
    margin-top: -1520px;
  }
}

@media only screen and (min-width: 540px) and (max-width: 579px) {
  .l-concept {
    margin-top: -1620px;
  }
}

@media only screen and (min-width: 580px) and (max-width: 619px) {
  .l-concept {
    margin-top: -1730px;
  }
}

@media only screen and (min-width: 620px) and (max-width: 659px) {
  .l-concept {
    margin-top: -1850px;
  }
}

@media only screen and (min-width: 660px) and (max-width: 699px) {
  .l-concept {
    margin-top: -1960px;
  }
}

@media only screen and (min-width: 700px) and (max-width: 739px) {
  .l-concept {
    margin-top: -2080px;
  }
}

@media only screen and (min-width: 740px) and (max-width: 767px) {
  .l-concept {
    margin-top: -2200px;
  }
}

@media screen and (min-width: 768px) and (max-width: 900px) {
  .l-concept {
    margin-top: 150px;
  }
}

@media screen and (min-width: 901px) and (max-width: 1200px) {
  .l-concept {
    margin-top: 200px;
  }
}

@media screen and (min-width: 1201px) and (max-width: 1300px) {
  .l-concept {
    margin-top: 150px;
  }
}

@media screen and (min-width: 1301px) and (max-width: 1400px) {
  .l-concept {
    margin-top: 100px;
  }
}

@media screen and (min-width: 1401px) and (max-width: 1439px) {
  .l-concept {
    margin-top: 50px;
  }
}

@media screen and (min-width: 1440px) and (max-width: 1639px) {
  .l-concept {
    margin-top: -70px;
  }
}

@media screen and (min-width: 1640px) and (max-width: 1848px) {
  .l-concept {
    margin-top: -170px;
  }
}

@media screen and (min-width: 1849px) and (max-width: 2100px) {
  .l-concept {
    margin-top: -270px;
  }
}

@media screen and (min-width: 2101px) and (max-width: 2419px) {
  .l-concept {
    margin-top: -370px;
  }
}

@media screen and (min-width: 2420px) {
  .l-concept {
    margin-top: -470px;
  }
}

@media screen and (min-width: 768px) {
  .concept__inner {
    padding: 0 11.25rem;
  }
}

@media (max-width: 319px) {
  .concept__title {
    width: 100%;
    margin: -73.75rem auto 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 404px) {
  .concept__title {
    width: 100%;
    margin: -75rem auto 0;
  }
}
@media only screen and (min-width: 405px) and (max-width: 467px) {
  .concept__title {
    width: 100%;
    margin: -78.125rem auto 0;
  }
}
@media only screen and (min-width: 468px) and (max-width: 524px) {
  .concept__title {
    width: 100%;
    margin: -81.25rem auto 0;
  }
}
@media only screen and (min-width: 525px) and (max-width: 639px) {
  .concept__title {
    width: 100%;
    margin: -84.375rem auto 0;
  }
}
@media only screen and (min-width: 640px) and (max-width: 767px) {
  .concept__title {
    width: 100%;
    margin: -90.625rem auto 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1109px) {
  .concept__title {
    width: 100%;
    margin: -10.9375rem auto 0;
  }
}
@media only screen and (min-width: 1110px) and (max-width: 1154px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: -9.875rem auto 0;
  }
}
@media only screen and (min-width: 1155px) and (max-width: 1199px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: -8.625rem auto 0;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1233px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: -7.1875rem auto 0;
  }
}
@media only screen and (min-width: 1234px) and (max-width: 1307px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: -5rem auto 0;
  }
}
@media only screen and (min-width: 1308px) and (max-width: 1359px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: -3.125rem auto 0;
  }
}
@media only screen and (min-width: 1360px) and (max-width: 1439px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: -1.875rem auto 0;
  }
}
@media only screen and (min-width: 1440px) and (max-width: 1549px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: 6.25rem auto 0;
  }
}
@media only screen and (min-width: 1550px) and (max-width: 1634px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: 9.375rem auto 0;
  }
}
@media only screen and (min-width: 1635px) and (max-width: 1748px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: 12.5rem auto 0;
  }
}
@media only screen and (min-width: 1748px) and (max-width: 1849px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: 15.625rem auto 0;
  }
}
@media only screen and (min-width: 1849px) and (max-width: 1976px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: 18.75rem auto 0;
  }
}
@media only screen and (min-width: 1977px) and (max-width: 2078px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: 21.875rem auto 0;
  }
}
@media only screen and (min-width: 2079px) and (max-width: 2180px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: 25rem auto 0;
  }
}
@media only screen and (min-width: 2181px) and (max-width: 2300px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: 28.125rem auto 0;
  }
}
@media only screen and (min-width: 2301px) and (max-width: 2419px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: 31.25rem auto 0;
  }
}
@media only screen and (min-width: 2420px) and (max-width: 2559px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: 34.375rem auto 0;
  }
}
@media only screen and (min-width: 2560px) {
  .concept__title {
    width: 100%;
    max-width: 55.75rem;
    margin: 37.5rem auto 0;
  }
}
.concept__items {
  padding: 0 20px;
  padding: 0 1.25rem;
}
@media screen and (min-width: 768px) {
  .concept__items {
    max-width: 67.5rem;
    margin: 0 auto;
  }
}

.copyright {
  width: 100%;
  max-width: 269px;
  max-width: 16.8125rem;
  padding: 23px 0 23px 0;
  padding: 1.4375rem 0 1.4375rem 0;
  margin: 0 auto;
}

/* faq =====================================================================*/
.faq__inner {
  padding: 65px 0 50px;
}

.faq-title {
  max-width: 296px;
  margin: 0 auto 65px;
}

.faq__inner dl {
  max-width: 1080px;
  max-width: 67.5rem;
  width: 90%;
  margin: 0 auto;
}

.faq__inner dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 16px;
  margin-bottom: 1rem;
}

.faq__inner dl dt div.faq__img {
  width: 50px;
  width: 3.125rem;
  margin-right: 18px;
  margin-right: 1.125rem;
}

.faq__inner dl dd div.faq__img {
  width: 20px;
  width: 1.25rem;
  margin-right: 33px;
  margin-right: 2.0625rem;
}

.faq__inner dl dt p {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
  width: 90%;
}

.faq__inner dl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-bottom: 48px;
  padding-bottom: 3rem;
  margin-left: 15px;
  margin-left: 0.9375rem;
  margin-bottom: 48px;
  margin-bottom: 3rem;
  border-bottom: 1px solid #C6C6C6;
}

.faq__inner dl dd p {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.86;
  width: 90%;
  display: inline-block;
}

.faq__inner dl dd p span {
  font-weight: bold;
}

.faq__inner dl dd a {
  color: #DD176B;
  border-bottom: 1px solid #DD176B;
}

.faq__inner dl dd div {
  width: 100%;
}

@media (max-width: 768px) {
  .faq__inner dl dt p {
    font-size: 1.375rem;
  }

  .faq__inner dl dt div.faq__img {
    width: 2.125rem;
    margin-right: 0.625rem;
  }

  .faq__inner dl dd div.faq__img {
    width: 1.1875rem;
    margin-right: 1.25rem;
  }

  .faq__inner dl dd {
    margin-left: 0.4375rem;
  }
}
.l-feature {
  margin-top: 50px;
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .l-feature {
    margin-top: 12.5rem;
  }
}

@media screen and (min-width: 768px) {
  .feature__inner {
    padding: 0 11.3125rem;
  }
}

.feature__title h2 {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
}

.feature__first {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .feature__first {
    max-width: 67.5rem;
    margin: 1.875rem auto 0 auto;
  }
}

.feature__second {
  margin-top: 82px;
  margin-top: 5.125rem;
}
@media screen and (min-width: 768px) {
  .feature__second {
    max-width: 67.5rem;
    margin: 11.625rem auto 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .feature__third {
    max-width: 67.5rem;
    margin: 9.25rem auto 0 auto;
  }
}

.feature__third-icon {
  width: 100%;
  max-width: 186px;
  max-width: 11.625rem;
  margin: 91px auto 0 auto;
  margin: 5.6875rem auto 0 auto;
}

.feature__third-img {
  margin-top: 36px;
  margin-top: 2.25rem;
}

.feature__price {
  margin-top: 38px;
  margin-top: 2.375rem;
}
@media screen and (min-width: 768px) {
  .feature__price {
    max-width: 67.5rem;
    margin: 2.0625rem auto 0 auto;
  }
}

/* flow =====================================================================*/
.l-flow {
  background: #F4E5D2;
  padding: 65px 0 50px;
  margin-top: 48px;
  margin-top: 3rem;
}

.flow h2 {
  max-width: 210px;
  margin: 0 auto 65px;
}

.flow__inner {
  background: #fff;
  border-radius: 16px;
  max-width: 1080px;
  width: 90%;
  margin: 0 auto 25px;
  padding: 35px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-shadow: 15px 15px 20px rgba(0, 0, 0, .2);
          box-shadow: 15px 15px 20px rgba(0, 0, 0, .2);
}

.flow__inner .flow_no {
  width: 15%;
  text-align: center;
}

.flow__inner .flow_no img {
  width: 68px;
  margin: 0 auto;
}

.flow__inner .flow_txt {
  width: 45%;
  padding: 0 48px 0 3px;
  padding: 0 3rem 0 0.1875rem;
}

.flow__inner .flow_txt h3 {
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: 700;
  color: #6CCBD3;
  margin-bottom: 16px;
  margin-bottom: 1rem;
}

.flow__inner .flow_txt h3 span {
  font-size: 22px;
  font-size: 1.375rem;
}

.flow__inner .flow_txt p {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.86;
}

.flow__inner .flow_img {
  width: 34%;
}

@media (max-width: 768px) {
  .l-flow {
    margin-top: 2.375rem;
  }

  .flow h2 {
    max-width: 171px;
  }

  .flow__inner {
    border-radius: 13px;
    margin: 0 auto 1.5rem;
    width: 90%;
    padding: 1.375rem 0 2rem 0;
    display: block;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .flow__inner .flow_no {
    width: 84%;
    margin: 0 auto 15px;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }

  .flow__inner:nth-child(4) .flow_no {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .flow__inner .flow_no img {
    width: 57px;
    margin: 0 auto;
  }

  .flow__inner .flow_txt {
    width: 84%;
    margin: 0 auto 18px;
    padding: 0;
  }

  .flow__inner .flow_no h3 {
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1;
    color: #6CCBD3;
    margin-left: 1.4375rem;
    text-align: left;
  }

  .flow__inner .flow_no h3 span {
    font-size: 1rem;
    display: inline-block;
    text-indent: -1rem;
  }

  .flow__inner .flow_txt p {
    font-size: 0.9375rem;
    line-height: 1.86;
  }

  .flow__inner .flow_img {
    width: 84%;
    margin: 0 auto;
  }
}
.footer {
  height: 280px;
  height: 17.5rem;
  background-color: #C0C1C5;
  z-index: 999;
}
.footer__inner {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #fff;
  padding: 36px 50px;
  padding: 2.25rem 3.125rem;
  text-align: center;
}

.footer__logo {
  width: 100%;
  max-width: 176px;
  max-width: 11rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .footer__logo {
    width: 100%;
    max-width: 11rem;
  }
}

.footer__adress {
  margin-top: 22px;
  margin-top: 1.375rem;
}

.footer__adress-place {
  margin-top: 6px;
  margin-top: 0.375rem;
}

.footer__tel {
  font-size: 18px;
  font-size: 1.125rem;
  margin-top: 17px;
  margin-top: 1.0625rem;
}

.footer__tel span {
  font-family: "Quicksand";
  font-size: 30px;
  font-size: 1.875rem;
}

.foot_banner {
  display: none;
}

@media (max-width: 768px) {
  .foot_banner {
    display: block;
    position: fixed;
    bottom: 0;
    z-index: 999;
    overflow: hidden;
    width: 100%;
  }

  .foot_banner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .foot_banner ul li {
    width: 50%;
    text-align: center;
  }

  .foot_banner ul li a {
    padding: 13px 0;
    display: block;
  }

  .foot_banner ul li:first-child a {
    background: #377dce;
  }

  .foot_banner ul li:first-child img {
    max-width: 118px;
    margin: 0 auto;
  }

  .foot_banner ul li:last-child a {
    background: #00b900;
  }

  .foot_banner ul li:last-child img {
    max-width: 101px;
    margin: 0 auto;
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 88px;
  height: 5.5rem;
  z-index: 999;
  background-color: #C0C1C5;
}
@media screen and (min-width: 768px) {
  .header {
    height: 7.5rem;
  }
}

.header__inner {
  width: 100%;
  max-width: 1440px;
  max-width: 90rem;
  height: inherit;
  padding: 0 0 0 10px;
  padding: 0 0 0 0.625rem;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .header__inner {
    height: inherit;
    padding: 0 0 0 2.125rem;
  }
}

.header__logo {
  width: 65%;
  max-width: 275px;
  max-width: 17.1875rem;
  height: inherit;
  margin-top: 8px;
  margin-top: 0.5rem;
  z-index: 9999;
}
@media screen and (min-width: 768px) {
  .header__logo {
    max-width: 21.875rem;
    margin-top: 0.625rem;
  }
}

header .inner .header__logo {
  float: left;
  margin-top: 10px;
}

.btn {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  margin: 15px 15px 0 0;
  margin: 0.9375rem 0.9375rem 0 0;
}

.btn_counseling {
  max-width: 125px;
  max-width: 7.8125rem;
}
@media screen and (min-width: 768px) {
  .btn_counseling {
    max-width: 11.25rem;
  }
}

.btn_line {
  max-width: 70px;
  max-width: 4.375rem;
  margin: 20px 0 0 42px;
  margin: 1.25rem 0 0 2.625rem;
}
@media screen and (min-width: 768px) {
  .btn_line {
    max-width: 5.625rem;
  }
}

@media screen and (min-width: 768px) {
  .l-interview {
    margin-top: 7.5rem;
  }
}

.interview__title {
  margin: 20px auto 0 auto;
  margin: 1.25rem auto 0 auto;
}
@media screen and (min-width: 768px) {
  .interview__title {
    margin: 4.5rem auto 0 auto;
  }
}

.interview__subtitle {
  font-weight: 700;
  margin-top: 10px;
  margin-top: 0.625rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .interview__subtitle {
    font-size: 2.5rem;
    margin-top: 1.75rem;
  }
}

.interview__subtitle span {
  padding-bottom: 2px;
  padding-bottom: 0.125rem;
  border-bottom: 3px solid #CEC15E;
}

.interview__doctor {
  background-color: #F4E5D2;
  padding-top: 21px;
  padding-top: 1.3125rem;
  padding-bottom: 80px;
  padding-bottom: 5rem;
  margin-top: 23px;
  margin-top: 1.4375rem;
}

@media only screen and (min-width: 768px) and (max-width: 1440px) {
  .interview__doctor {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 2.75rem;
    padding-right: 1.5625rem;
    padding-bottom: 2.5rem;
    margin-top: 6.0625rem;
  }
}
@media only screen and (min-width: 1441px) {
  .interview__doctor {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 2.75rem;
    padding-right: 1.5625rem;
    padding-bottom: 2.5rem;
    margin-top: 6.0625rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.interview__doctor-image {
  padding-right: 29px;
  padding-right: 1.8125rem;
}
@media screen and (min-width: 768px) {
  .interview__doctor-image {
    padding-right: 0;
    margin-right: 4.375rem;
  }
}

.interview__doctor-img {
  width: 100%;
  max-width: 767px;
  max-width: 47.9375rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .interview__doctor-img {
    max-width: 44.375rem;
  }
}

@media only screen and (max-width: 375px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 20rem;
    height: 2px;
    bottom: -21%;
    left: 9%;
    background-image: url(/images/common/sp_interview_dotline.png);
  }
}
@media only screen and (min-width: 376px) and (max-width: 399px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 21.25rem;
    height: 2px;
    bottom: -18%;
    left: 8%;
    background-image: url(/images/common/sp_interview_dotline.png);
  }
}
@media only screen and (min-width: 400px) and (max-width: 428px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 22.9375rem;
    height: 2px;
    bottom: -18%;
    left: 8%;
    background-image: url(/images/common/sp_interview_dotline.png);
  }
}
@media only screen and (min-width: 429px) and (max-width: 439px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 22.9375rem;
    height: 2px;
    bottom: -17%;
    left: 8%;
    background-image: url(/images/common/sp_interview_dotline.png);
  }
}
@media only screen and (min-width: 440px) and (max-width: 469px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 22.9375rem;
    height: 2px;
    bottom: -16%;
    left: 7%;
    background-image: url(/images/common/sp_interview_dotline.png);
  }
}
@media only screen and (min-width: 470px) and (max-width: 499px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 22.9375rem;
    height: 2px;
    bottom: -15%;
    left: 7%;
    background-image: url(/images/common/sp_interview_dotline.png);
  }
}
@media only screen and (min-width: 500px) and (max-width: 529px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 22.9375rem;
    height: 2px;
    bottom: -13%;
    left: 6%;
    background-image: url(/images/common/sp_interview_dotline.png);
  }
}
@media only screen and (min-width: 530px) and (max-width: 579px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 22.9375rem;
    height: 2px;
    bottom: -13%;
    left: 6%;
    background-image: url(/images/common/sp_interview_dotline.png);
  }
}
@media only screen and (min-width: 580px) and (max-width: 629px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 22.9375rem;
    height: 2px;
    bottom: -12%;
    left: 5%;
    background-image: url(/images/common/sp_interview_dotline.png);
  }
}
@media only screen and (min-width: 630px) and (max-width: 699px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 22.9375rem;
    height: 2px;
    bottom: -11%;
    left: 4%;
    background-image: url(/images/common/sp_interview_dotline.png);
  }
}
@media only screen and (min-width: 700px) and (max-width: 767px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 22.9375rem;
    height: 2px;
    bottom: -10%;
    left: 4%;
    background-image: url(/images/common/sp_interview_dotline.png);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1109px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 42.9375rem;
    height: 2px;
    bottom: -24%;
    left: 0;
    background-image: url(/images/common/pc_interview_dotline.png);
  }
}
@media only screen and (min-width: 1110px) and (max-width: 1149px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 42.9375rem;
    height: 2px;
    bottom: -22%;
    left: 0;
    background-image: url(/images/common/pc_interview_dotline.png);
  }
}
@media only screen and (min-width: 1150px) and (max-width: 1199px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 42.9375rem;
    height: 2px;
    bottom: -21%;
    left: 0;
    background-image: url(/images/common/pc_interview_dotline.png);
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1249px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 42.9375rem;
    height: 2px;
    bottom: -19%;
    left: 0;
    background-image: url(/images/common/pc_interview_dotline.png);
  }
}
@media only screen and (min-width: 1250px) and (max-width: 1439px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 42.9375rem;
    height: 2px;
    bottom: -18%;
    left: 0;
    background-image: url(/images/common/pc_interview_dotline.png);
  }
}
@media only screen and (min-width: 1440px) {
  .interview__doctor-img::after {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 42.9375rem;
    height: 2px;
    bottom: -18%;
    left: 0;
    background-image: url(/images/common/pc_interview_dotline.png);
  }
}
.interview__doctor-information {
  width: 100%;
  max-width: 160px;
  max-width: 10rem;
  padding-left: 30px;
  padding-left: 1.875rem;
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .interview__doctor-information {
    max-width: 14.625rem;
    margin: 2.625rem auto 0 auto;
  }
}

.interview__doctor-name {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .interview__doctor-name {
    font-size: 1.75rem;
  }
}

.interview__doctor-info {
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 400;
  margin-top: 17px;
  margin-top: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .interview__doctor-info {
    font-size: 0.9375rem;
    margin-top: 1.875rem;
  }
}

.interview__doctor-comments {
  width: 100%;
  max-width: 430px;
  max-width: 26.875rem;
  padding: 0 30px;
  padding: 0 1.875rem;
  margin: 40px auto 0 auto;
  margin: 2.5rem auto 0 auto;
}
@media screen and (min-width: 768px) {
  .interview__doctor-comments {
    max-width: 30.0625rem;
    padding: 0;
    margin: 0;
  }
}

.interview__doctor-comment__title {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  padding-right: 60px;
  padding-right: 3.75rem;
  line-height: 1.93;
}
@media screen and (min-width: 768px) {
  .interview__doctor-comment__title {
    font-size: 1.5rem;
    font-weight: 700;
    padding-right: 0;
    line-height: 1.58;
  }
}

.interview__doctor-comment {
  font-size: 11px;
  font-size: 0.6875rem;
  line-height: 1.81;
  margin-top: 23px;
  margin-top: 1.4375rem;
}
@media screen and (min-width: 768px) {
  .interview__doctor-comment {
    font-size: 1.125rem;
    line-height: 1.77;
    margin-top: 3.375rem;
  }
}

@media screen and (min-width: 768px) {
  .interview__info {
    margin: 5rem auto 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .l-content-inner {
    width: 100%;
    max-width: 1440px;
    padding: 0 11.25rem;
  }
}

.l-inner {
  width: 100%;
  max-width: 426px;
  padding: 0 28px;
  padding: 0 1.75rem;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1440px;
    padding: 0 23.5rem;
  }
}

.l-margin-top {
  margin-top: 23px;
  margin-top: 1.4375rem;
}

.mv {
  height: 612px;
  height: 38.25rem;
  position: relative;
}

.mv__inner {
  height: inherit;
}

.mv__person {
  position: relative;
  z-index: -102;
}

.mv_price {
  position: relative;
  margin-top: -100px;
  margin-top: -6.25rem;
  z-index: -101;
}

#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100;
}

#page-top a {
  display: block;
  width: 44px;
}

@media (max-width: 768px) {
  #page-top {
    bottom: 75px;
  }
}
@media screen and (min-width: 768px) {
  .l-price {
    margin-top: 3.75rem;
  }
}

.price__inner {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(4%, transparent), color-stop(4%, transparent), color-stop(4%, #F4E5D2), to(#F4E5D2));
  background: linear-gradient(180deg, transparent 4%, transparent 4%, #F4E5D2 4%, #F4E5D2 100%);
}
@media screen and (min-width: 768px) {
  .price__inner {
    position: relative;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(6%, transparent), color-stop(6%, transparent), color-stop(6%, #F4E5D2), to(#F4E5D2));
    background: linear-gradient(180deg, transparent 6%, transparent 6%, #F4E5D2 6%, #F4E5D2 100%);
    padding-bottom: 11rem;
  }
}

.price__inner::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  bottom: 0;
  right: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  border-style: solid;
  border-width: 35px 50vw 0 50vw;
  border-width: 2.1875rem 50vw 0 50vw;
  border-color: #F4E5D2 transparent transparent transparent;
}
@media screen and (min-width: 768px) {
  .price__inner::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    bottom: 0;
    right: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    border-style: solid;
    border-width: 7.5rem 50vw 0 50vw;
    border-color: #F4E5D2 transparent transparent transparent;
  }
}

.price__items {
  max-width: 807px;
  max-width: 50.4375rem;
  padding: 0 10px;
  padding: 0 0.625rem;
  margin-top: 34px;
  margin-top: 2.125rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .price__items {
    max-width: 90rem;
    padding: 0 11.25rem;
    margin-top: 6.375rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.sp-price__item-title {
  padding: 0 19px;
  padding: 0 1.1875rem;
}

.l-price__item {
  margin-top: 34px;
  margin-top: 2.125rem;
}

.price__item-box {
  width: 100%;
  max-width: 700px;
  max-width: 43.75rem;
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 500;
  border: 2px solid #707070;
  padding: 6px 6px;
  padding: 0.375rem 0.375rem;
  margin: 0 auto;
  text-align: center;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(32%, #cec15e), color-stop(32%, #cec15e), color-stop(32%, #f5f3df), to(#f5f3df));
  background: linear-gradient(180deg, #cec15e 32%, #cec15e 32%, #f5f3df 32%, #f5f3df 100%);
}

.price__item-box__inner {
  border: 1px dashed #707070;
  padding: 10px 20px;
  padding: 0.625rem 1.25rem;
}

.price__item-box__subtitle {
  margin-top: 13px;
  margin-top: 0.8125rem;
}

.price__item-box__description {
  padding: 0 5px;
  padding: 0 0.3125rem;
  margin-top: 13px;
  margin-top: 0.8125rem;
}

.price__table {
  width: 100%;
  max-width: 700px;
  max-width: 43.75rem;
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 700;
  margin: 15px auto 0 auto;
  margin: 0.9375rem auto 0 auto;
}

.price__table table, .price__table td, .price__table th {
  border-top: 1px solid #A7BBC7;
  border-right: 1px solid #A7BBC7;
  border-collapse: collapse;
}

.price__table table:last-child, .price__table td:last-child, .price__table th:last-child {
  border-right: none;
}

.price__table .price__table-last td {
  border-bottom: 1px solid #707070;
}

.price__table td, .price__table th {
  padding: 3px;
  width: 328px;
  height: 20px;
}

.price__table th {
  background: #F0EEEA;
}

.price__table td {
  background: #F4E5D2;
}

.price__table-special__title, .price__table-special__price {
  color: #FE4E72;
}

.price__table-normal__price, .price__table-special__price {
  text-align: center;
}

.price__table-normal__price {
  font-size: 11px;
  font-size: 0.6875rem;
}

.price__table-special__price {
  font-size: 14px;
  font-size: 0.875rem;
}

.price__table-special__price span {
  font-size: 12px;
  font-size: 0.75rem;
}

.price__attention {
  font-size: 10px;
  font-size: 0.625rem;
  margin: 20px auto 0 auto;
  margin: 1.25rem auto 0 auto;
  text-align: center;
}

.price__attention-price {
  font-size: 11px;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #FE4E72;
}

.price__attention-medical {
  font-weight: 400;
  margin-top: 6px;
  margin-top: 0.375rem;
}

.privacy__inner {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(9%, transparent), color-stop(9%, transparent), color-stop(9%, #cec15e), to(#cec15e));
  background: linear-gradient(180deg, transparent 9%, transparent 9%, #cec15e 9%, #cec15e 100%);
  padding-bottom: 80px;
  padding-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .privacy__inner {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, transparent), color-stop(10%, transparent), color-stop(10%, #cec15e), to(#cec15e));
    background: linear-gradient(180deg, transparent 10%, transparent 10%, #cec15e 10%, #cec15e 100%);
    padding-bottom: 11rem;
  }
}

.privacy__icon {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.privacy__title {
  margin: 31px auto 0 auto;
  margin: 1.9375rem auto 0 auto;
}
@media screen and (min-width: 768px) {
  .privacy__title {
    margin: 4.5rem auto 0 auto;
  }
}

.privacy__text {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.85;
  padding: 0 29px 0 29px;
  padding: 0 1.8125rem 0 1.8125rem;
  margin-top: 34px;
  margin-top: 2.125rem;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .privacy__text {
    font-size: 1.125rem;
    line-height: 1.77;
    padding: 0 17rem 0 17rem;
    margin-top: 4rem;
    text-align: center;
  }
}

.privacy__image {
  width: 100%;
  padding: 0 53px 0 50px;
  padding: 0 3.3125rem 0 3.125rem;
  margin: 34px auto 0 auto;
  margin: 2.125rem auto 0 auto;
}
@media screen and (min-width: 768px) {
  .privacy__image {
    max-width: 67.5rem;
    padding: 0;
  }
}

.l-ranking {
  margin-top: 23px;
  margin-top: 1.4375rem;
}

@media screen and (min-width: 768px) {
  .ranking__inner {
    position: relative;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1440px) {
  .ranking__inner::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 77%;
    top: 0;
    left: 0;
    -webkit-transform: translateY(39%);
            transform: translateY(39%);
    background-image: url(/images/common/pc_ranking123_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -100;
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1500px) {
  .ranking__inner::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 77%;
    top: 0;
    left: 0;
    -webkit-transform: translateY(39%);
            transform: translateY(39%);
    background-image: url(/images/common/pc_ranking123_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -100;
  }
}
@media only screen and (min-width: 1501px) and (max-width: 1900px) {
  .ranking__inner::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 75%;
    top: 0;
    left: 0;
    -webkit-transform: translateY(43%);
            transform: translateY(43%);
    background-image: url(/images/common/pc_ranking123_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -100;
  }
}
@media only screen and (min-width: 1901px) and (max-width: 2230px) {
  .ranking__inner::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 72%;
    top: 0;
    left: 0;
    -webkit-transform: translateY(48%);
            transform: translateY(48%);
    background-image: url(/images/common/pc_ranking123_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -100;
  }
}
@media only screen and (min-width: 2231px) and (max-width: 2560px) {
  .ranking__inner::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 70%;
    top: 0;
    left: 0;
    -webkit-transform: translateY(52%);
            transform: translateY(52%);
    background-image: url(/images/common/pc_ranking123_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -100;
  }
}
@media screen and (min-width: 2561px) {
  .ranking__inner::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 68%;
    top: 0;
    left: 0;
    -webkit-transform: translateY(56%);
            transform: translateY(56%);
    background-image: url(/images/common/pc_ranking123_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -100;
  }
}
.ranking__title {
  margin: 14px auto 0 auto;
  margin: 0.875rem auto 0 auto;
}
@media screen and (min-width: 768px) {
  .ranking__title {
    margin: 1.6875rem auto 0 auto;
  }
}

.ranking__items {
  margin-top: 16px;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .ranking__items {
    max-width: 90rem;
    padding: 0 11.25rem;
    margin-top: 8.375rem;
    margin-left: auto;
    margin-right: auto;
  }
}

/* reserve =====================================================================*/
.l-reserve {
  background: #f0eeea;
  padding: 65px 0 50px;
}

.reserve h2 {
  max-width: 385px;
  margin: 0 auto 70px;
}

.reserve__inner {
  max-width: 1080px;
  width: 90%;
  margin: 0 auto;
}

.reserve__inner .reserve__form {
  background: #fff;
  border-radius: 16px;
  padding: 0 5% 5%;
  text-align: center;
  -webkit-box-shadow: 15px 15px 20px rgba(0, 0, 0, .2);
          box-shadow: 15px 15px 20px rgba(0, 0, 0, .2);
}

.reserve__inner .reserve__form h3 {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  background: #fe4e72;
  border-radius: 50px;
  padding: 9px 85px;
  display: inline-block;
  margin-top: -64px;
  margin-top: -4rem;
  margin-bottom: 80px;
  margin-bottom: 5rem;
}

@media (max-width: 768px) {
  .reserve h2 {
    max-width: 315px;
    margin: 0 auto 55px;
  }

  .reserve__inner .reserve__form {
    border-radius: 13px;
    padding: 0 5% 10%;
  }

  .reserve__inner .reserve__form h3 {
    font-size: 1.125rem;
    padding: 6px 10px;
    margin-bottom: 2.5rem;
  }
}
/* mailform =====================================================================*/
form #form * {
  margin: 0;
  padding: 0;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 500;
}

form #form {
  width: 100%;
}

form #form th {
  width: 26%;
  padding: 3% 3% 3% 0;
  border-bottom: 1px solid #c6c6c6;
  text-align: left;
  overflow: hidden;
}

form #form tr:nth-child(5) th {
  vertical-align: baseline;
}

form #form tr:nth-child(6) th {
  vertical-align: baseline;
}

form #form tr:nth-child(7) th {
  vertical-align: baseline;
}

form #form th span {
  color: #dd176b;
  border: 1px solid #dd176b;
  border-radius: 3px;
  padding: 3px 5px;
  display: inline-block;
  float: right;
}

form #form td {
  width: 65%;
  padding: 20px 3% 20px 0;
  padding: 1.25rem 3% 1.25rem 0;
  text-align: left;
  border-bottom: 1px solid #c6c6c6;
}

form #form th.bodern {
  vertical-align: baseline;
}

form #form th.bodern,
form #form td.bodern {
  border-bottom: none;
}

p.note__txt {
  color: #dd176b;
  margin: 16px auto 32px !important;
  margin: 1rem auto 2rem !important;
}

form #form td input {
  width: 100%;
  background: #f2f2f2;
  border: none;
  padding: 3% 0 3% 3%;
}

form #form td .radio-btn {
  display: block;
  text-align: left;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  position: relative;
}

form #form td .radio-btn input {
  width: 4%;
  background: #fff;
  border: none;
  padding: 3% 0 3% 3%;
}

form #form td.date span {
  display: block;
}

form #form td.date input {
  width: 40%;
  background: #f2f2f2;
  border: none;
  padding: 2% 0 2% 3%;
  margin: 0 0 10px 10px;
  color: #505758;
  height: 40px;
  height: 2.5rem;
}

form #form tr:nth-child(7) td.date input:first-child {
  margin-left: 30px;
}

form #form td.date span.note__txt {
  color: #dd176b;
  margin-top: 7px;
  margin-top: 0.4375rem;
}

form #form td textarea {
  width: 100%;
  background: #f2f2f2;
  border: none;
  padding: 2% 0 2% 3%;
  color: #505758;
  height: 160px;
  line-height: 160%;
}

input.contact-btn,
input.back-btn {
  background: #d5c5a1;
  color: #000;
  font-size: 24px;
  font-size: 1.5rem;
  border: none;
  width: 100%;
  max-width: 280px;
  max-width: 17.5rem;
  height: 56px;
  border-radius: 50px;
  cursor: pointer;
  margin: 148px auto 0;
  margin: 9.25rem auto 0;
}

input.contact-btn {
  letter-spacing: 0.25em;
}

input.contact-btn:hover,
input.back-btn:hover {
  opacity: 0.8;
}

@media (max-width: 768px) {
  form #form tr:nth-child(5) th {
    vertical-align: unset;
  }

  form #form tr:nth-child(6) th {
    vertical-align: unset;
  }

  form #form tr:nth-child(7) th {
    vertical-align: unset;
  }

  form #form th {
    width: 99%;
    display: block;
    padding: 5% 0 3% 0;
    border-bottom: none;
  }

  form #form th span {
    font-weight: 400;
  }

  form #form td {
    width: 99%;
    display: block;
    padding: 3% 0 6% 0;
  }

  form #form tr:nth-child(7) td.date span {
    vertical-align: middle;
  }

  form #form td input,
form #form td textarea {
    width: 100%;
    padding: 3%;
  }

  form #form td.date span {
    overflow: hidden;
  }

  form #form td.date input {
    width: 75%;
    float: right;
    height: 2.5rem;
  }

  input.contact-btn,
input.back-btn {
    display: block;
    margin: 1.25rem auto 0;
  }

  input.contact-btn:hover,
input.back-btn:hover {
    opacity: 1;
  }

  form #form th.bodern {
    vertical-align: unset;
  }
}
/* Confirm =====================================================================*/
#contact {
  max-width: 1080px;
  width: 90%;
  margin: 0 auto;
}

#contact .check_txt {
  font-size: 24px;
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 48px;
  margin-bottom: 3rem;
}

#contact form #form th {
  width: 26%;
  padding: 3% 3% 3% 0;
}

#contact form #form td {
  width: 65%;
  padding: 3% 3% 3% 0;
}

#contact input.back-btn {
  margin-left: 20px;
}

@media (max-width: 768px) {
  #contact form #form th {
    width: 100%;
    padding: 3% 3% 3% 0;
  }

  #contact form #form td {
    width: 100%;
    padding: 3% 3% 3% 0;
  }

  #contact input.back-btn {
    margin-left: auto;
  }
}
/* Confirm_error =====================================================================*/
/* Thanks =====================================================================*/
/* Sec09 =====================================================================*/
#sec09 {
  background: #F0EEEA;
  padding: 180px 0 50px;
}

#sec09 h2 {
  max-width: 385px;
  margin: 0 auto 70px;
}

#sec09 .reserve {
  max-width: 1080px;
  padding: 0 5%;
  width: 90%;
  margin: 0 auto;
}

#sec09 .reserve .reserve_form {
  background: #fff;
  border-radius: 16px;
  padding: 0 5% 5%;
  text-align: center;
  -webkit-box-shadow: 15px 15px 20px rgba(0, 0, 0, .2);
          box-shadow: 15px 15px 20px rgba(0, 0, 0, .2);
}

#sec09 .reserve .reserve_form h3 {
  font-size: 32px;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  background: #FE4E72;
  border-radius: 50px;
  padding: 9px 85px;
  display: inline-block;
  margin-top: -64px;
  margin-top: -4rem;
  margin-bottom: 80px;
  margin-bottom: 5rem;
}

@media (max-width: 768px) {
  #sec09 h2 {
    max-width: 315px;
    margin: 0 auto 55px;
  }

  #sec09 .reserve .reserve_form {
    border-radius: 13px;
    padding: 0 5% 10%;
  }

  #sec09 .reserve .reserve_form h3 {
    font-size: 1.7rem;
    padding: 6px 10px;
  }
}
/*# sourceMappingURL=styles.css.map */
