@charset "UTF-8";
/*==========================================================================
# reset - ブラウザの差異や不要なスタイルを無くすためのスタイル
========================================================================== */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

header,
footer,
nav,
section,
article,
aside,
figure,
figcaption {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
}

a {
  cursor: pointer;
  text-decoration: none;
}

@media (min-width: 992px) {
  .pc {
    display: block;
  }
}
@media (min-width: 576px) {
  .pc {
    display: none;
  }
}

@media (min-width: 768px) {
  .tb-on {
    display: block;
  }
}

@media (min-width: 768px) {
  .tb-off {
    display: none;
  }
}

@media (min-width: 992px) {
  .sp {
    display: none;
  }
}
@media (min-width: 576px) {
  .sp {
    display: block;
  }
}

/*1.0rem=10px*/
html {
  font-size: 62.5%;
}

body {
  background-color: #fff;
  color: #231815;
  font-weight: 500;
  font-family: "M PLUS 2", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "Arial", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

img {
  width: 100%;
}

button {
  background-color: transparent;
  cursor: pointer;
}

input[type=checkbox],
label,
a {
  cursor: pointer;
}

header h1 {
  width: 190px;
  padding: 17px 14px 0 8px;
}

@media screen and (max-width: 768px) {
  header {
    height: 80px !important;
  }
}
@media (min-width: 992px) {
  .mv-img {
    width: 68vw !important;
  }
}
@media (min-width: 768px) {
  .mv-img {
    width: 60vw !important;
  }
}

@media screen and (max-width: 768px) {
  .mv_ {
    top: 51% !important;
  }
}
.footer-font {
  font-size: 15px;
}

.thanks-bg {
  background-image: url(../img/index/kv_bg.jpg) !important;
  background-size: cover;
  background-position: 32.5%;
  background-repeat: no-repeat;
  width: 100%;
  height: 0;
  padding-bottom: 90.424%;
  position: relative;
}
@media (min-width: 768px) {
  .thanks-bg {
    padding-bottom: 60%;
  }
}
@media (min-width: 992px) {
  .thanks-bg {
    padding-bottom: 50%;
  }
}

.thanks-texts {
  text-align: center;
  padding-top: 20%;
  font-size: 18px;
  font-weight: 700;
}
@media (min-width: 768px) {
  .thanks-texts {
    padding-top: 8%;
    font-size: 24px;
  }
}
@media (min-width: 992px) {
  .thanks-texts {
    font-size: 26px;
  }
}
.thanks-texts h3 {
  padding-bottom: 5%;
  font-size: 30px;
}
@media (min-width: 768px) {
  .thanks-texts h3 {
    font-size: 40px;
  }
}
@media (min-width: 992px) {
  .thanks-texts h3 {
    font-size: 40px;
  }
}

/***********************************************
header
************************************************/
.l-header {
  color: #000;
  font-weight: 500;
  background-color: rgba(0, 0, 0, 0.13);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 500;
}
@media (min-width: 768px) {
  .l-header {
    padding: 0 10px;
  }
}
@media (min-width: 576px) {
  .l-header {
    background-color: rgba(0, 0, 0, 0.13);
  }
}
.l-header.--bg-white {
  background-color: #fff;
}

/***********************************************
headerの内容
************************************************/
.l-header__items {
  display: flex;
  justify-content: space-between;
}

/***********************************************
header                      左               ロゴ*****/
.l-header__left {
  margin-left: 60px;
  margin-right: auto;
}
@media (min-width: 576px) {
  .l-header__left {
    margin-left: 14px;
  }
}

.l-header__logo {
  display: block;
  width: 15vw;
  max-width: 191px;
  margin: 15px 0;
  transition: all 0.2s linear 0s;
}
.l-header__logo:hover {
  opacity: 0.7;
}
@media (min-width: 576px) {
  .l-header__logo.--footer {
    text-align: center;
  }
}

/***********************************************
header       右               電話と問い合わせボタン*****/
.l-header__right {
  display: flex;
  justify-content: flex-end;
  font-size: 16px;
  font-weight: 700;
  margin-top: 18px;
  margin-right: 60px;
}
@media (min-width: 768px) {
  .l-header__right {
    margin-right: 2vw;
  }
}
.l-header__right a {
  color: #fff;
}
.l-header__right img {
  width: 20px;
}
.l-header__right .insta,
.l-header__right .beauty,
.l-header__right .contact {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 216px;
  height: 48px;
  background-color: #4877B0;
  margin-left: 20px;
}
@media (min-width: 768px) {
  .l-header__right .insta,
  .l-header__right .beauty,
  .l-header__right .contact {
    width: auto;
    max-width: 216px;
    margin-left: 1vw;
    padding: 0 10px;
  }
}
@media (min-width: 576px) {
  .l-header__right .insta,
  .l-header__right .beauty,
  .l-header__right .contact {
    margin: 0;
  }
}
.l-header__right .insta {
  width: 48px;
  background: #e45ca7;
}
.l-header__right .insta img {
  width: 24px;
}
.l-header__right .beauty {
  background-color: #388f9c;
}
.l-header__right .tel {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  display: flex;
  width: auto;
  height: 48px;
  font-size: 28px;
  padding: 0 0px 0 20px;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.07em;
}
@media (min-width: 768px) {
  .l-header__right .tel {
    font-size: 16px;
  }
}
.l-header__right .l-header__image-tel {
  width: 40px;
}

.l-header__image-mail {
  margin-right: 10px;
}

/*************************電話*/
.l-header__right-tel-items {
  height: 90px;
  text-align: right;
  margin: 11px 12px 0 0;
  background-color: #fff;
  padding: 10px 15px 5px 20px;
  border-radius: 16px;
}
@media (min-width: 768px) {
  .l-header__right-tel-items {
    padding: 15px 15px 0px 20px;
    margin: 8px 12px 0 0;
  }
}
@media (min-width: 576px) {
  .l-header__right-tel-items {
    height: 80px;
    padding: 15px 18px 10px 24px;
    background-color: #fff;
    border-radius: 30px;
    box-shadow: 4px 3px 6px 0px rgba(0, 0, 0, 0.13);
    margin: 15px 5px 0px 0;
  }
}

.l-footer__nav {
  display: flex;
  text-align: left;
  font-size: 16px;
  margin-left: auto;
}
.l-footer__nav a {
  color: #fff;
}
@media (min-width: 768px) {
  .l-footer__nav {
    justify-content: center;
  }
}

.l-footer__contact-buttons {
  display: block;
  margin: 0;
}
.l-footer__contact-buttons a {
  margin: 10px 0;
}
@media (min-width: 768px) {
  .l-footer__contact-buttons a {
    margin: 0;
  }
}
.l-footer__contact-buttons .beauty,
.l-footer__contact-buttons .contact {
  width: 267px;
  height: 64px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-left: 40px;
}
@media (min-width: 768px) {
  .l-footer__contact-buttons .beauty,
  .l-footer__contact-buttons .contact {
    height: 50px;
    margin: 0 auto;
  }
}
.l-footer__contact-buttons .beauty {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .l-footer__contact-buttons .beauty {
    margin-bottom: 10px;
  }
}
.l-footer__contact-buttons .tel {
  margin-left: 30px;
  letter-spacing: 0.05em;
}
.l-footer__contact-buttons .tel .word-tel {
  font-size: 18px;
}
@media (min-width: 768px) {
  .l-footer__contact-buttons .tel {
    margin: 0 auto;
    font-size: 20px;
  }
  .l-footer__contact-buttons .tel .word-tel {
    font-size: 15px;
  }
}

.l-footer__inner {
  width: 90%;
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
}
@media (min-width: 768px) {
  .l-footer__inner {
    display: block;
  }
}

.l-footer__img {
  /*background-image: url(../img/index/l-footer__img.jpg);*/
  height: 27vw;
}
@media (min-width: 768px) {
  .l-footer__img {
    height: 200px;
  }
}

.l-footer__sns-icons {
  display: flex;
  align-items: center;
  width: 250px;
  margin: 30px auto;
}

.l-footer__sns-icon {
  width: 50px;
  height: 50px;
  margin-left: 24px;
}

.l-footer__logo {
  display: block;
  width: 250px;
}
@media (min-width: 768px) {
  .l-footer__logo {
    width: 100px;
    margin: 0 auto;
  }
}

.l-footer {
  width: 100%;
  height: auto;
  text-align: center;
  line-height: 2;
  z-index: 10;
  background-color: #333333;
  color: #fff;
  position: relative;
  padding-bottom: 0;
  font-size: 20px;
  font-weight: 400;
}
.l-footer a {
  transition: all 0.2s linear 0s;
}
.l-footer a:hover {
  opacity: 0.7;
}
@media (min-width: 768px) {
  .l-footer {
    padding-top: 10px;
  }
}

.l-footer__copyright {
  display: block;
  width: 100%;
  font-size: 16px;
  font-weight: 400;
  font-family: Arial, Helvetica, sans-serif;
  color: #000000;
}
@media (min-width: 768px) {
  .l-footer__copyright {
    text-align: center;
    font-size: 9px;
    padding: 0;
    padding-bottom: 60px;
  }
}

.l-footer__nav-items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 15px;
  padding: 46px 0 0;
  line-height: 1;
}
.l-footer__nav-item {
  padding: 0 22px;
  margin: 10px 0;
  border-right: solid 1px #c0c0c0;
}
.l-footer__nav-item a {
  color: #000;
}
.l-footer__nav-item a:hover {
  opacity: 0.7;
}
.l-footer__nav-item:last-child {
  border-right: none;
}

.l-footer__container {
  font-weight: 700;
  font-size: 18px;
  line-height: 2.3;
  margin-right: 60px;
}
@media (min-width: 768px) {
  .l-footer__container {
    font-size: 15px;
    margin: 10px 40px 10px 0;
  }
}

/***********************************************
トップへ戻る
************************************************/
.l-footer__to-top {
  width: 70px;
  position: absolute;
  bottom: 40px;
  right: 20px;
  transition: all 0.2s linear;
}
.l-footer__to-top:hover {
  transform: scale(1.05, 1.05);
}
@media (min-width: 576px) {
  .l-footer__to-top {
    bottom: 250px;
  }
}

.l-footer__logo-kari {
  width: 200px;
  margin: 100px auto;
}

/***********************************************
  sp  navボタン
************************************************/
.l-footer-cv {
  display: flex;
  background-color: #4877B0;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  font-size: 15px;
  font-weight: 700;
}

.l-footer-cv__btn {
  width: 50%;
  padding: 10px;
}
.l-footer-cv__btn a {
  color: #fff;
}
.l-footer-cv__btn.--beauty {
  background-color: #9F1547;
}
.l-footer-cv__btn img {
  width: 25px;
  margin-bottom: 2px;
}

/*contactはない。ベースのCSS*/
*,
::after,
::before {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[data-original-title],
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

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

ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  color: #0056b3;
  text-decoration: underline;
}

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

code,
kbd,
pre,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
  cursor: pointer;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

.featherlight-sample {
  display: none;
}

#law th {
  width: 28%;
  padding: 5px;
  background-color: #ffcf8b;
  border: solid 1px #ffcf8b;
}

#law td {
  background: #fff;
  border: solid 1px #ffcf8b;
  padding: 5px;
}

ol {
  margin-bottom: 1rem;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.wrapper {
  width: 100%;
  height: 100vh;
  position: relative;
}

.wrapper:before {
  content: "";
   background-image: url(../img/index/tc/bg.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

main {
  position: relative;
  z-index: 1;
  padding-top: 100px;
}

header {
  width: 100%;
  height: 100px;
  background-color: #fff;
  position: fixed;
  top: 0;
  z-index: 2;
  box-shadow: 1px 1px 3px #ccc;
}

header img {
  width: 100%;
}

header ul {
  position: absolute;
  top: 0;
  right: 10px;
  align-items: center;
  width: 550px;
  font-size: 0;
}

header ul li {
  display: inline-block;
  overflow: hidden;
}

header ul li:nth-child(1) {
  width: 285px;
  max-width: 285px;
  margin-right: 18px;
  padding-top: 10px;
}

header ul li:nth-child(2) {
  width: 246px;
  max-width: 246px;
  position: relative;
  background-color: #666;
  top: -13px;
}
/*
header ul li:nth-child(2)::after {
  content: "";
  display: block;
  width: 30px;
  height: 100%;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #FFF;
  opacity: 0;
  transform: rotate(45deg);
  animation: reflect 2s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflect 2s ease-in-out infinite;
}
@keyframes reflect {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@-webkit-keyframes reflect {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
*/

header ul li:nth-child(1) a span {
  display: none;
}

header ul li a {
  display: block;
}

header ul li a img {
  width: 100%;
}

.mv {
  background-image: url(../img/index/kv_bg.jpg) !important;
  background-size: cover;
  background-position: 32.5%;
  background-repeat: no-repeat;
  width: 100%;
  position: relative;
}

.mv ul {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%) translateX(0%);
  width: 39.193%;
}

.mv ul li img {
  width: 100%;
}

.mv ul li.slider {
  height: 84px;
  background-color: #fff;
  border: solid 5px #d47d00;
  border-radius: 14px;
  margin: 10% auto 0;
}

.mv ul li.slider h2 {
  font-size: 22px;
  text-align: center;
  display: block;
  position: relative;
  margin: -30px auto 0;
  text-shadow: 3px 3px 0px #d47d00, -3px -3px 0px #d47d00, 3px 0px 0px #d47d00, 0px 3px 0px #d47d00, -3px 0px 0px #d47d00, 0px -3px 0px #d47d00, 2px 2px 0px #d47d00, -2px -2px 0px #d47d00, 2px 0px 0px #d47d00, 0px 2px 0px #d47d00, -2px 0px 0px #d47d00, 0px -2px 0px #d47d00;
  color: #fff;
  padding: 0;
}

.mv_ {
  position: absolute;
  top: 33%;
  right: 4%;
  transform: translateY(-50%) translateX(0%);
  width: 25.258%;
}

.mv_ img {
  width: 100%;
}

.slider {
  width: 420px;
  /*
  position: absolute;
  bottom: -23vw;
  left: 15px;

  @include f.mq('tb') {

      bottom: 50px;
      left: 50px;
  }
  */
}

.sample {
  overflow: hidden;
}

.inr {
  width: 100%;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
}

.inr1 {
  width: 39%;
  padding: 0 0 0 2%;
  font-size: 14px;
}
@media (min-width: 768px) {
  .inr1 {
    font-size: 16px;
  }
}

.inr2 {
  width: 37%;
  border-left: solid 3px #d47d00;
  padding-left: 7px;
  font-size: 14px;
}
@media (min-width: 768px) {
  .inr2 {
    font-size: 16px;
  }
}

.inr3 {
  width: 24%;
}

.inr2 p {
  margin: 0;
  font-size: 100%;
  line-height: 1;
}

.inr2 p span {
  margin-right: 5px;
}

.inr3 p {
  margin: 0;
  line-height: 1;
}

.inr3 p:nth-child(1) {
  font-size: 11px;
}

.inr3 p:nth-child(2) {
  font-size: 20px;
  font-weight: bold;
}

.inr3 p:nth-child(2) span {
  font-size: 50px;
  line-height: 1;
}

.swiper-slide {
  padding: 1% 0 3% 0;
}

.jizen {
	padding:50px 0;
}

.jizen img {
	max-width:1000px;
	display:block;
	margin:0 auto;
}

.app {
  background-color: #ffe2b8;
  width: 100%;
  position: relative;
  margin: 0 auto 0;
  padding: 20px 0;
}

.app p {
  font-size: min(4vw, 50px);
  font-weight: bold;
  color: #333;
  text-align: center;
  padding: 3% 0 0;
  margin: 0 0 1%;
}

.app ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
  padding-bottom: 50px;
}

.app ul li img {
  width: 100%;
}

.app ul li a {
  display: block;
  font-size: 0;
  margin: 0 auto;
}

.app ul li a span {
  text-indent: -99999px;
  display: block;
}

.app ul li:nth-child(1) {
  width: 31.885%;
  margin: 0 2% 0 auto;
}

.app ul li:nth-child(2) {
  width: 36.422%;
  margin: 0 auto 0 2%;
  position: relative;
  overflow: hidden;
  background-color: #666;
}


.sct1 {
  background-image: url(../img/index/kv_bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 3%;
}
@media (min-width: 992px) {
  .sct1 {
    padding-top: 80px;
  }
}

.sct1 img {
  width: 100%;
}

.sct1 h2 {
  margin: 0 auto;
  width: 67.459%;
  max-width: 852px;
  display: block;
}

.sct1 ul {
  display: block;
  align-items: self-start;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  flex-flow: row wrap;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

.sct1 ul li {
  /*width: 30.7999%;*/
  /*margin: 3% 4.60005% 1% 14.60005%;*/
  width: 30.7999%;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-bottom: 3.5em;
}
.sct1 ul li:first-child{
  margin-top: 5em;
}

.sct1 ul li:nth-child(2n) {
  margin: 3% 14.60005% 1% 4.60005%;
}

.sct2 {
  background: linear-gradient(to right, #fff 39.2%, #ddd);
  padding: 4% 0 4%;
}

.sct2 h2 {
  font-size: min(4vw, 50px);
  font-weight: bold;
  color: #333;
  text-align: center;
  padding: 3% 0 0;
  margin: 0 0 1%;
  text-shadow: 3px 3px 3px #fff, -3px -3px 3px #fff, 3px 0px 3px #fff, 0px 3px 3px #fff, -3px 0px 3px #fff, 0px -3px 3px #fff, 2px 2px 3px #fff, -2px -2px 3px #fff, 2px 0px 3px #fff, 0px 2px 3px #fff, -2px 0px 3px #fff, 0px -2px 3px #fff;
}

.sct2 div {
  background-image: url(../img/index/sct2.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 64.609%;
  max-width: 816px;
  margin: 0 auto;
  height: 0;
  padding-bottom: 45.685%;
  position: relative;
  overflow: hidden;
}

.sct2 ul {
  font-size: min(2.35vw, 30px);
  font-weight: bold;
  line-height: 2;
  position: absolute;
  top: 50%;
  left: 36%;
  transform: translateY(-50%) translateX(0%);
  width: 60%;
}

.sct2 ul li {
  color: #333;
}

.sct2 p {
  margin: 0;
  overflow: hidden;
}

.sct2 img {
  display: block;
}

.sct2 img:nth-child(1) {
  width: 57.641%;
  max-width: 728px;
  margin: 3% auto 0;
}

.sct2 img:nth-child(2) {
  width: 52.257%;
  max-width: 660px;
  margin: 3% auto 0;
}

.sct2 img:nth-child(3) {
  width: 68.409%;
  max-width: 864px;
  margin: 3% auto 0;
}

.sct3 {
  width: 100%;
  margin: 0 auto 0;
  padding: 7% 0 10%;
  background-image: url(../img/index/conversion_rate_bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.sct3 img {
  width: 100%;
}

.sct3 h2 {
  margin: 0 auto;
  font-size: 40px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.05em;
  text-align: center;
}
.sct3 h2 img {
  width: 220px;
  margin-bottom: 26px;
}
.sct3 h2 span {
  font-size: 22px;
}
@media (min-width: 768px) {
  .sct3 h2 {
    font-size: 50px;
  }
  .sct3 h2 span {
    font-size: 30px;
  }
}
@media (min-width: 992px) {
  .sct3 h2 {
    width: 60%;
    max-width: 600px;
    font-size: 70px;
  }
  .sct3 h2 span {
    font-size: 35px;
  }
}

.sct3 p {
  width: 56.928%;
  max-width: 719px;
  margin: 3% auto;
}
@media (min-width: 768px) {
  .sct3 p {
    width: 71.928%;
    max-width: 950px;
  }
}

.sct4 {
  padding: 10% 0;
  text-align: center;
  position: relative;
  z-index: 1;
  background-image: url(../img/index/kv_bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.sct4 img {
  width: 100%;
}

.sct4 h2 {
  width: 36.343%;
  max-width: 459px;
  margin: 0 auto -10%;
  position: relative;
  z-index: 1;
}

.sct4 p {
  width: 89.074%;
  max-width: 1125px;
  margin: 0 auto;
  display: block;
}

.sct4 div {
  /*display: none;*/
}

.sct4 p {
  display: none;
}
.sct4 div {
  display: block;
  background-color: rgb(255 206 89 / 72%);
  border-radius: 40px;
  position: relative;
  width: 70%;
  padding: 12% 5% 5%;
  margin: 0 auto;
  z-index: 0;
  text-align: left;
}
.sct4 div span {
  font-size: min(3.65vw, 30px);
}

.sct5 {
  position: relative;
  padding: 10% 0 10%;
  background-image: url(../img/index/sct5imgbg.png);
background-repeat:no-repeat;
}


.sct5 img {
  width: 100%;
}

.sct5 h2 {
  width: 40.143%;
  margin: 0 auto;
  max-width: 507px;
  position: relative;
  z-index: 1;
  font-size: 40px;
  font-weight: 700;
  color: #333;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (min-width: 768px) {
  .sct5 h2 {
    font-size: 50px;
  }
  .sct5 h2 span {
    font-size: 30px;
  }
}
@media (min-width: 992px) {
  .sct5 h2 {
    font-size: 70px;
  }
  .sct5 h2 span {
    font-size: 35px;
  }
}

.sct5_ {
  margin: 7% auto 0;
  position: relative;
  max-width: 1260px;
  z-index: 1;
}

.sct5_ li:nth-child(1) {
  width: 32.621%;
  max-width: 412px;
  display: inline-block;
  margin: 0 0 0 3.65%;
}

.sct5_ li:nth-child(2) {
  width: 32.621%;
  max-width: 412px;
  display: inline-block;
  margin: 0 0 0 7%;
}

.sct5_ li:nth-child(3) {
  width: 64.925%;
  margin: 2% auto;
}

.sct5_ li:nth-child(4) {
  width: 32.621%;
  max-width: 412px;
  display: inline-block;
  margin: 0 0 0 23.65%;
}

.sct5_ li:nth-child(5) {
  width: 32.621%;
  max-width: 412px;
  display: inline-block;
  margin: 0 0 0 7%;
}

.sct5 div {
  position: relative;
  z-index: 1;
}

.sct5 div p {
  font-size: min(2.35vw, 30px);
  font-weight: bold;
  line-height: 2;
  text-align: center;
  margin: 2% auto 3%;
}

.sct5 div img {
  width: 90%;
  margin: 0 auto;
  max-width: 1137px;
  display: block;
}

.sct6 {
  padding: 0 0 10%;
}

.sct6 h2 {
  margin: 10% auto 0;
  font-size: 40px;
  font-weight: 700;
  color: #333;
  letter-spacing: 0.05em;
  text-align: center;
}
.sct6 h2 img {
  width: 150px;
}
@media (min-width: 768px) {
  .sct6 h2 img {
    width: 300px;
  }
}
.sct6 h2 span {
  font-size: 22px;
}
@media (min-width: 768px) {
  .sct6 h2 {
    font-size: 50px;
  }
  .sct6 h2 span {
    font-size: 30px;
  }
}
@media (min-width: 992px) {
  .sct6 h2 {
    font-size: 70px;
  }
  .sct6 h2 span {
    font-size: 35px;
  }
}

.sct6 img {
  width: 100%;
}

.sct6 ul {
  margin: 3.5% auto 0;
  width: 90%;
  max-width: 1000px;
  background-color: #fff;
  border: solid 15px #ff9600;
  border-radius: 7px;
  padding: 3%;
}

.sct6 ul li img {
  width: 4.035%;
}

.sct6 ul li .sct6-q,
.sct6 ul li .sct6-a {
  display: flex;
  flex-wrap: wrap;
  align-items: self-start;
  font-size: min(1.6vw, 20px);
  line-height: 1.5;
  margin: 0 0 3%;
}

.sct6 ul li .sct6-a {
  border-bottom: solid 1px;
  padding: 0 0 3%;
}

.sct6 ul li:last-child .sct6-a {
  border: none;
  padding: 0;
  margin: 0;
}

.sct6 ul li .sct6-q span,
.sct6 ul li .sct6-a span {
  width: 93.965%;
  margin-left: 2%;
}

footer {
  position: relative;
  background-color: #fff;
  margin: -1% auto 0;
  padding: 7% 0 0;
}

footer div {
  width: 13.698%;
  max-width: 173px;
  margin: 0 auto;
}

footer div img {
  width: 100%;
}

footer ul {
  flex-wrap: wrap;
  align-items: center;
  text-align: center;
  margin: 2% auto 4%;
  width: 100%;
  display: block;
}

footer ul li {
  margin: 0 14px;
  display: inline-block;
}

footer ul li a {
  color: #333;
}

footer p {
  background-color: #ff9600;
  height: 50px;
  line-height: 50px;
  text-align: center;
  font-size: 15px;
  color: #fff;
}

.sct5__ {
  display: block;
}

.sct5_ {
  display: none;
}


.sct5__ {
  display: flex;
  position: relative;
  width: 50%;
  margin: 7% auto;
  justify-content: center;
}
.sct5__ li:nth-child(1),
.sct5__ li:nth-child(3) {
  width: 30%;
  z-index: 1;
}
.sct5__ li:nth-child(2) {
  width: 7%;
  margin: 14.5% 2%;
}
.sct5__ li:nth-child(1) img:nth-child(2) {
  margin: 73% 0 0;
}
.sct5__ li:nth-child(3) img:nth-child(1) {
  margin: 96% 0 0;
}
.sct5__ li:nth-child(3) img:nth-child(2) {
  margin: 73% 0 0;
}

header ul li:nth-child(1) img:nth-child(1),
.app ul li a img:nth-child(1) {
  display: block;
}

header ul li:nth-child(1) img:nth-child(2),
.app ul li a img:nth-child(2) {
  display: none;
}

@media screen and (min-width: 1281px) {
  .sct2 div {
    width: 816px;
    height: 577px;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  header {
    height: 80px;
  }
  header h1 {
    width: 33%;
  }
  header ul {
    width: 270px;
  }
  header ul li:nth-child(1) {
    width: 59px;
    margin-right: 3%;
  }
  header ul li:nth-child(2) {
    width: 200px;
  }
  .inr2 p {
    font-size: 100%;
  }
  .inr2 p span {
    margin-right: 5px;
    font-size: 80%;
  }
  main {
    padding-top: 50px;
  }
  .mv_ {
    top: 45%;
    right: 21%;
    width: 25%;
  }
  .app {
    padding-bottom: 55%;
    padding-bottom: 0;
  }
  .app p {
    font-size: min(7vw, 50px);
  }
  .app ul {
    display: block;
  }
  .app ul li:nth-child(1) {
    width: 80%;
    margin: 2% auto;
  }
  .app ul li:nth-child(2) {
    width: 80%;
    margin: 0 auto;
  }
  .sct2 div {
    background-image: url(../img/index/sct2.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 94%;
    max-width: 816px;
    margin: 0 auto;
    height: 0;
    padding-bottom: 66.685%;
    position: relative;
  }
  .sct2 ul {
    top: 50%;
    left: 11%;
    width: 80%;
    font-size: min(3.65vw, 30px);
    text-align: center;
  }
  .sct2 img:nth-child(1) {
    width: 90%;
    margin: 7% auto 0;
  }
  .sct2 img:nth-child(2) {
    width: 85%;
    margin: 14% auto 0;
  }
  .sct2 img:nth-child(3) {
    width: 90%;
    margin: 7% auto 0;
  }
  .sct3 h2 {
    width: 80%;
  }
  .sct3 p {
    width: 90%;
  }
  .sct4 h2 {
    width: 50%;
  }
  .sct4 p {
    display: none;
  }
  .sct4 div {
    display: block;
    background-color: rgba(230, 225, 213, 0.7215686275);
    border-radius: 7px;
    position: relative;
    width: 90%;
    padding: 15% 14px 14px;
    margin: 0 auto;
    z-index: 0;
    text-align: left;
  }
  .sct4 div span {
    font-size: min(3.65vw, 30px);
  }
  .sct5 h2 {
    width: 70%;
  }
  .sct5_ {
    display: none;
  }
  .sct5__ {
    display: flex;
    position: relative;
    width: 90%;
    margin: 7% auto;
  }
  .sct5__ li:nth-child(1),
  .sct5__ li:nth-child(3) {
    width: 43%;
    z-index: 1;
  }
  .sct5__ li:nth-child(2) {
    width: 10%;
    margin: 20.5% 2%;
  }
  .sct5__ li:nth-child(1) img:nth-child(2) {
    margin: 73% 0 0;
  }
  .sct5__ li:nth-child(3) img:nth-child(1) {
    margin: 96% 0 0;
  }
  .sct5__ li:nth-child(3) img:nth-child(2) {
    margin: 73% 0 0;
  }
  .sct5 div p {
    font-size: min(4.35vw, 30px);
  }
  .sct6 h2 {
    width: 70%;
  }
  .sct6 ul li .sct6-q,
  .sct6 ul li .sct6-a {
    display: flex;
    flex-wrap: wrap;
    align-items: self-start;
    font-size: min(4vw, 20px);
    line-height: 1.5;
    margin: 0 0 3%;
  }
  .sct6 ul li img {
    width: 7%;
  }
  .sct6 ul li .sct6-q span,
  .sct6 ul li .sct6-a span {
    width: 88%;
    margin-left: 5%;
  }
  footer div {
    width: 30%;
  }
  footer ul {
    margin: 6% auto 8%;
    font-size: 80%;
  }
  #rule h4,
  #rule p,
  #rule ol,
  #contact form table.formTable th {
    font-size: 80%;
  }
  header ul li:nth-child(1) img:nth-child(1),
  .app ul li a img:nth-child(1) {
    display: none;
  }
  header ul li:nth-child(1) img:nth-child(2),
  .app ul li a img:nth-child(2) {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  header {
    height: 50px;
  }
  header ul {
    width: 270px;
    text-align: right;
    padding-top: 7px;
  }
  header ul li:nth-child(1) {
    width: 44px;
    margin-right: 3%;
  }
  header ul li:nth-child(2) {
    width: 200px;
    top: 0px;
  }
  .mv {
    background-position: 65%;
	padding-bottom:inherit;
    padding: 5% 0 0 0;
    background-image: initial;
  }
  .mv ul {
    top: 50%;
    left: 3%;
    width: 94%;
  }
  .mv_ {
    top: 47%;
    right: 2%;
    width: 30%;
  }
  .swiper-slide {
    font-size: 80%;
    padding: 0;
  }
  .mv ul li.slider {
    height: 65px;
    margin: 10% auto 0;
    width: 94%;
  }
  .inr3 p:nth-child(2) span {
    font-size: 30px;
    line-height: 1;
    display: inline-block;
    margin: -3px auto 0;
  }
  .slider {
    width: 300px;
  }
  .inr1 {
    width: 34%;
    padding: 0 0 0 2%;
  }
  .inr2 {
    width: 38%;
  }
  .inr3 {
    width: 28%;
  }
  .sct1 h2 {
    margin: 14% auto 7%;
    width: 94%;
    display: block;
  }
  .sct1 ul li,
  .sct1 ul li:nth-child(2n) {
    width: 70%;
    margin: 3% auto;
    padding: 3%;
  }
}
@media screen and (max-width: 400px) {
  .inr1,
  .inr2,
  .inr3 {
    zoom: 65%;
  }
  .mv ul li.slider {
    height: 50px;
    border: solid 3px #d47d00;
  }
}
#contact form {
  margin: 0 auto;
}

#contact form table.formTable {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
}

#contact form table.formTable td,
#contact table.formTable th {
  border: 1px solid #ccc;
  padding: 10px;
}

#contact form table.formTable th {
  width: 30%;
  font-weight: normal;
  background: #efefef;
  text-align: left;
}

#contact form p {
  margin: 20px auto 0;
}

#contact form table select,
#contact form table input,
#contact form table textarea {
  width: 90%;
  min-height: 50px;
  border: solid 1px #333;
  border-radius: 7px;
}

#contact form table th span {
  font-size: 80%;
  color: #f00;
  margin-left: 7px;
}

@media screen and (max-width: 572px) {
  #contact form table.formTable th,
  #contact table.formTable td {
    width: auto;
    display: block;
  }
  #contact form table.formTable th {
    margin-top: 5px;
    border-bottom: 0;
  }
  #contact form input[type=text],
  #contact form textarea {
    width: 80%;
    padding: 5px;
    font-size: 110%;
    display: block;
  }
  #contact form input[type=submit],
  #contact form input[type=reset],
  #contact form input[type=button] {
    display: block;
    width: 100%;
    height: 40px;
  }
}
.app-btn_ {
  display: none;
}

.app-btn_.on {
  display: block;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.631372549);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom;
  z-index: 100;
}

.app-btn_.on form {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 90%;
  max-width: 800px;
  background-color: #fff;
  border-radius: 14px;
  padding: 5%;
  text-align: center;
  line-height: 3;
  height: 90%;
  overflow-x: scroll;
}

.app-btn {
  cursor: pointer;
}

.app-btn_ .x {
  width: 100%;
  height: 100%;
}

.app-btn_ .x span {
  display: block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background-color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  font-size: 50px;
  font-family: auto;
}

.Rinput {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
}

.Rlabel {
  display: inline-block;
  padding: 0 2rem;
  margin-right: 18px;
  border-radius: 3px;
  transition: all 0.2s;
  background-color: #fff;
  border: solid 3px #26a80c;
}

.Rinput:checked + .Rlabel {
  background: #26a80c;
  color: #fff;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.7);
}

.Rinput:focus + .Rlabel {
  outline-color: #26a80c;
  outline-offset: -2px;
  outline-style: auto;
  outline-width: 5px;
}

.app-btn_ input[type=text] {
  width: 100%;
  height: 50px;
  padding: 10px;
  border: solid 3px #26a80c;
  border-radius: 7px;
}

.app-btn_ input[type=tel] {
  width: 100%;
  height: 50px;
  padding: 10px;
  border: solid 3px #26a80c;
  border-radius: 7px;
}

.app-btn_ input[type=email] {
  width: 100%;
  height: 50px;
  padding: 10px;
  border: solid 3px #26a80c;
  border-radius: 7px;
}

.app-btn_ select {
  display: inline-block;
  padding: 0 2rem;
  margin-right: 18px;
  border-radius: 3px;
  transition: all 0.2s;
  background-color: #fff;
  border: solid 3px #26a80c;
  height: 50px;
}

.app-btn_ textarea {
  display: inline-block;
  padding: 0 2rem;
  margin-right: 18px;
  border-radius: 3px;
  transition: all 0.2s;
  background-color: #fff;
  border: solid 3px #26a80c;
  min-height: 50px;
  width: 100%;
}

.fttl {
  font-size: min(4vw, 20px);
  line-height: 1;
  text-align: left;
}

.fttl span.c,
.fttl span.n {
  font-size: 12px;
  margin: -3px 7px 3px 0;
  background-color: #f00;
  color: #fff;
  padding: 2px 3px 3px;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}

.fttl span.n {
  background-color: #999;
}

.fcnt {
  text-align: left;
}

.c-inner__center {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 300px;
  background-color: greenyellow;
}
@media (min-width: 576px) {
  .c-inner__center {
    width: 95%;
  }
}

.c-inner__left {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
  padding-bottom: 300px;
  background-color: greenyellow;
}

.c-inner__flex {
  display: flex;
}
@media (min-width: 576px) {
  .c-inner__flex {
    justify-content: center;
  }
}

.c-inner__flex-end {
  display: flex;
  justify-content: flex-end;
}

/***********************************************
margin
************************************************/
.c-margin__top-xs-minus {
  margin-top: -3px;
}

.c-margin__top-xs {
  margin-top: 5px;
}

.c-margin__top-small {
  margin-top: 10px;
}

.c-margin__top-medium {
  margin-top: 20px;
}

.c-margin__top-large {
  padding-top: 60px;
}

.c-margin__left-small {
  margin-left: 10px;
}

.c-margin__left-medium {
  margin-left: 20px;
}

.c-margin__left-large {
  margin-left: 30px;
}

.c-margin__left-auto {
  margin-left: auto;
}

.c-margin__right-small {
  margin-right: 10px;
}

.c-margin__bottom-small {
  margin-bottom: 10px;
}

.c-margin__bottom-medium {
  margin-bottom: 20px;
}

/***********************************************
font
************************************************/
.c-font__source-sans3 {
  font-family: "Source Sans 3", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "Arial", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.c-font__zen-maru-gothic {
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "Arial", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.c-font__oswald {
  font-family: "Oswald", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "Arial", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.c-font__regular {
  font-weight: 400;
}

.c-font__medium {
  font-weight: 500;
}

.c-font__semibold {
  font-weight: 600;
}

.c-font__bold {
  font-weight: 700;
}

.c-background {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  position: relative;
}

.c-background__black {
  background-color: #231815;
}

.c-background__gray {
  background-color: #3D3D3D;
}

/**********「ふきだし」*************************************/
/***********************************************************/
.balloon2 {
  position: relative;
  display: inline-block;
  margin: 1.5em 0px 1.5em 0px;
  padding: 10px 5px;
  width: 100%;
  color: #edf3f8;
  font-size: 16px;
  background: #FFF;
  border: solid 1px #f8edec;
  box-sizing: border-box;
}
@media (min-width: 576px) {
  .balloon2 {
    padding: 0;
    margin: 15px 0 10px;
    height: max(20vw, 100px);
  }
}

.balloon2:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12.5px solid transparent;
  border-top: 13px solid #FFF;
  z-index: 2;
}

.balloon2:after {
  content: "";
  position: absolute;
  bottom: -28px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #edf3f8;
  z-index: 1;
}

.balloon2 p {
  margin: 0;
  padding: 0;
}

/***********************************************
かまぼこ型　曲線の切り抜き
************************************************/
.wrap-l {
  background-color: green;
}

.wrap {
  overflow: hidden;
}

.content01 {
  /*background-image: url(../img/index/fv-kari.png);*/
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top left;
  position: relative;
  border-bottom-left-radius: 1000px 200px;
  border-bottom-right-radius: 1000px 200px;
  height: 600px;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
}

.content02 {
  height: 200px;
}

.content04 {
  height: 100px;
}

.content05 {
  background: #fff;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
}

.c-icon {
  position: relative;
}
.c-icon::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}
.c-icon::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}

.c-icon__right {
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent #bcdef1;
  border-width: 24px 0px 24px 21px;
  margin: 30px;
}

.c-icon__top-triangle::before {
  /*background-image: url(../img/index/s6-head-icon.png);*/
  width: 127px;
  height: 80px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

/***********************************************
横棒線
************************************************/
.c-icon__bar {
  width: 100%;
  height: 1px;
  background-color: #231815;
}

/***********************************************
c-heading   c-heading    c-heading    c-heading   c-heading
************************************************/
.c-heading {
  color: #fff;
  font-size: 40px;
  text-align: center;
}
.c-heading.--black {
  color: #231815;
}
.c-heading.--contact {
  font-size: 42px;
}
@media (min-width: 576px) {
  .c-heading.--contact {
    font-size: 24px;
    line-height: 1.5;
  }
}
@media (min-width: 576px) {
  .c-heading {
    font-size: 24px;
  }
}

.c-heading__english {
  font-family: Arial, Helvetica, sans-serif;
  color: #8C7428;
  font-size: 24px;
  text-align: center;
  padding: 100px 0 26px;
}
@media (min-width: 576px) {
  .c-heading__english {
    padding: 60px 0 20px;
    font-size: 16px;
  }
}

.c-heading__bg-blue {
  width: 100%;
  height: 80px;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
  line-height: 80px;
  color: #fff;
  background-color: #538A9D;
}
@media (min-width: 576px) {
  .c-heading__bg-blue {
    margin: 30px 0 10px;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
  }
}

/***********************************************
蛍光ペン
************************************************/
.c-heading__warning {
  text-decoration: underline;
  /* 下線 */
  text-decoration-thickness: 0.4em;
  /* 線の太さ */
  text-decoration-color: #8C7428;
  /* 線の色 */
  text-underline-offset: -0.2em;
  /* 線の位置。テキストに重なるようにやや上部にする */
  text-decoration-skip-ink: none;
  /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
}

/***********************************************
逆はの字目立たせ棒\/\/\/
************************************************/
.c-heading__slash {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.c-heading__slash::before,
.c-heading__slash::after {
  content: "";
  width: 70px;
  height: 5px;
  background-color: #3399cc;
  margin: 0px 0px 33px;
}

.c-heading__slash::before {
  transform: rotate(60deg);
}

.c-heading__slash::after {
  transform: rotate(-60deg);
}

input,
textarea,
select {
  width: 100%;
  font-family: "M PLUS 2", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "Arial", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 18px;
  background-color: #fff;
  padding: 20px 19px;
  margin: 12px 0 0;
}
input:focus,
textarea:focus,
select:focus {
  border: 1px solid #4877B0;
  outline: 0;
}
@media (min-width: 576px) {
  input,
  textarea,
  select {
    font-size: 14px;
    width: 100%;
    margin: 0;
  }
}

textarea {
  height: 228px;
}

/***********************************************
input場所の枠線や影の定義


.c-form {
    border: solid 1px f.$form;
    border-radius: 3px;
    height: 30px;
    padding: 1px 12px;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.16) inset;

    &:focus {
        border: 1px solid f.$sub;
        outline: 0;
    }
}

.c-form__dl {
    margin: 0 auto;

    @include f.mq('sp') {
        width: 95%;
    }
}

.c-form__link {
    display: inline-block;
    text-decoration: underline solid 1px f.$link;
    padding: 5px 0;
    color: f.$link;
    font-size: 11px;
    font-weight: 400;
}

.c-form__input-label-name {
    @include f.mq('sp') {
        width: 280px;
    }
}

************************************************/
/***********************************************
contact-form-row その行をフレックスにしている。
************************************************/
.contact-form__row {
  align-items: center;
  margin: 7px 0 0 0;
  display: flex;
}
@media (min-width: 576px) {
  .contact-form__row {
    margin: 23px 0 0 0;
    width: 100%;
    display: block;
    text-align: left;
  }
  .contact-form__row dt {
    display: block;
  }
}

.contact-form__row--textarea {
  align-items: flex-start;
  margin: 0px 0 0 0;
}
.contact-form__row--textarea textarea {
  height: 150px;
}
@media (min-width: 576px) {
  .contact-form__row--textarea {
    margin: 23px 0 0 0;
    width: 100%;
    display: block;
    text-align: left;
  }
  .contact-form__row--textarea dt {
    display: block;
  }
}

.other-question {
  margin: 0;
}

.rate_table {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}
.rate_table table {
	width: 100%;
	border: 2px solid #fff;
}
.rate_table table tr th {
	font-size: 20px;
	font-weight: bold;
	color: #494949;
	border-right: 2px solid #f8f9fa;
	padding: 22px 15px;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.83);
	border-collapse: collapse;
}
.rate_table table tr th.green {
	color: #2fb490;
}
.rate_table table tr th.blue {
	color: #2491f8;
}
.rate_table table tr td {
	font-size: 28px;
	font-weight: bold;
	color: #fff;
	border: 2px solid #dadce3;
	padding: 25px 15px;
	background-color: rgba(255, 255, 255, 0.12);
	border-collapse: collapse;
}
.rate_table table tr td.money {
	text-align: left;
	padding: 25px 5px 25px 20px;
	/*
	width: 26.6%;
	*/
}
.rate_table table tr td .size02 {
	font-size: 24px;
}
.rate_table table tr td .size03 {
	font-size: 21px;
}







/***********************************************
フォームのラベル　文字など…
************************************************/
.c-form__checkbox-label {
  padding-right: 18px;
}
.c-form__checkbox-label.consent {
  margin-top: 34px;
}

.c-form__label {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 200px;
  font-size: 20px;
  font-weight: 700;
  margin-top: 15px;
  padding-right: 14px;
  font-family: "M PLUS 2", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "Arial", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.c-form__label span {
  color: red;
  font-size: 16px;
}
@media (min-width: 576px) {
  .c-form__label span {
    font-size: 14px;
  }
}
@media (min-width: 576px) {
  .c-form__label {
    width: 200px;
    text-align: left;
    justify-content: flex-start;
    font-size: 16px;
    padding-bottom: 10px;
  }
}

.c-form__label--textarea {
  padding-top: 30px;
}

/***********************************************
PC版のコンタクトフォームがブロックの場合**/
.c-form__block-label {
  font-size: 18px;
  font-weight: 700;
  margin: 46px 0 10px 0;
}
.c-form__block-label span {
  color: gray;
  font-size: 16px;
  font-weight: 400;
  margin-left: 20px;
}
.c-form__block-label span.c-form__required {
  font-size: 16px;
  margin-left: 20px;
  padding: 2px 18px;
  background-color: #e61264;
  color: #fff;
}

input,
select,
textarea {
  border: none;
}

textarea {
  min-height: 400px;
}

/***************************プライバシーポリシーに同意します*****************/
/******【注意！！】チェックボックスはinputとlabel逆に書いてはだめです！「checked」に続く＋プラス記号は後のタグだけ表せます-**
<div class="s11__acceptance">
 <input type="checkbox">★
  <label>★
  <span>
</div>

この順番でよろしくです…
*****************************************************************************************/
.wpcf7-form-control-wrap {
  display: block;
}

span.c-form__acceptance-input {
  margin: 0 30px 0 0;
  /* 項目右側の余白設定と、デフォルトの左側の余白を打ち消す */
  position: relative;
}

.c-form__acceptance-label {
  cursor: pointer;
  /* labelにhoverした時にカーソルを表示させる */
  font-size: 16px;
  /* 項目のフォントサイズ */
}

input[type=checkbox] {
  opacity: 0;
  /* デフォルトのチェックボックスを見えなくする */
  position: absolute;
}

.accept-wrap {
  width: 290px;
  height: 20px;
  margin: 0 auto;
}

.c-form__acceptance-label {
  display: inline;
  position: relative;
  text-align: center;
  font-size: 18px;
}
.c-form__acceptance-label a {
  border-bottom: 1px solid #1A1A1A;
}
.c-form__acceptance-label::before {
  /* チェックボックスのデザイン */
  background-color: #fff;
  content: "";
  display: inline-block;
  height: 40px;
  width: 40px;
  margin-right: 34px;
  top: -1px;
  vertical-align: middle;
}

input[type=checkbox]:checked + .c-form__acceptance-label::after {
  /* チェックアイコン */
  border-bottom: 4px solid #1a1a1a;
  border-left: 4px solid #1a1a1a;
  content: "";
  display: block;
  height: 16.8px;
  left: 10px;
  margin-top: -1.3em;
  opacity: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 28px;
  transition: opacity 0.3s ease 0s;
}

input[type=checkbox]:checked + .c-form__acceptance-label::before {
  /* チェックしたボックスの背景色を設定 */
  background-color: #812d2d;
}

input:invalid {
  border: solid 1px red;
}

/******************  *************************プライバシーポリシーに同意します*******************************************/
/***********************************************
フォームのラジオボタンやセレクトボタンはこちらです
************************************************/
.c-button {
  display: block;
  cursor: pointer;
  width: 234px;
  height: 46px;
  background-color: #231815;
  border-radius: 4px;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  margin: 31px auto 0;
}

/**************************************************************************************************************
    チェックボックス　今回はwpcf7.scss使用
************************************************/
.c-button__my-checkbox {
  display: block;
  position: relative;
  margin: 10px 0;
  padding-left: 28px;
  cursor: pointer;
  user-select: none;
  /* テキストの選択を防ぐ */
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}
@media (min-width: 576px) {
  .c-button__my-checkbox {
    font-size: 14px;
    width: 100%;
    max-width: 360px;
    margin: 20px 0;
  }
}

/* inputは非表示にする */
.c-button__my-checkbox input {
  display: none;
}

.c-button__my-checkbox input[type=text] {
  display: block;
}

/* □ */
.c-button__checkmark {
  position: absolute;
  top: -4px;
  /* 上からの位置 */
  left: 0;
  height: 22px;
  /* 大きさ */
  width: 22px;
  /* 大きさ */
  border: solid 1px #d9d9d9;
  /* 線 */
  border-radius: 5px;
  box-sizing: border-box;
  background: #fff;
  background-color: #fafafa;
  transition: all 0.2s linear 0s;
}

/* ✓ */
.c-button__checkmark:after {
  content: "";
  position: absolute;
  left: 7px;
  /* チェックの位置 */
  top: 2px;
  /* チェックの位置 */
  width: 5px;
  /* チェックの大きさ */
  height: 9px;
  /* チェックの大きさ */
  border-right: solid 2px #fff;
  border-bottom: solid 2px #fff;
  transform: rotate(45deg);
  opacity: 0;
  /* 透明にしておく */
}

/* チェックが入ったときの□ */
.c-button__my-checkbox input:checked + .c-button__checkmark {
  background: #00b4ee;
  /* チェック時の色 */
  border-color: #00b4ee;
  /* チェック時の色 */
  transition: all 0.2s linear 0s;
}

/* チェックが入ったときの✓ */
.c-button__my-checkbox input:checked + .c-button__checkmark:after {
  opacity: 1;
  /* 透明を解除 */
}

/***********************************************
ここまで　チェックボックス　チェックボックス
*************************************************************************************************************/
/***********************************************
ラジオボタン
************************************************/
input[type=radio] {
  display: none;
  /* ラジオボタンを非表示にする */
}

.label .wpcf7-list-item-label {
  display: block;
  /* ブロックレベル要素化する */
  float: left;
  /* 要素の左寄せ・回り込を指定する */
  margin: 5px;
  /* ボックス外側の余白を指定する */
  width: 251px;
  /* ボックスの横幅を指定する */
  height: 65px;
  /* ボックスの高さを指定する */
  padding-left: 5px;
  /* ボックス内左側の余白を指定する */
  padding-right: 5px;
  /* ボックス内御右側の余白を指定する */
  color: #000;
  /* フォントの色を指定 */
  font-size: 20px;
  text-align: center;
  /* テキストのセンタリングを指定する */
  line-height: 45px;
  /* 行の高さを指定する */
  cursor: pointer;
  /* マウスカーソルの形（リンクカーソル）を指定する */
  border: 3px solid #c8c8c8;
  /* ボックスの境界線を実線で指定する */
  border-radius: 30px;
  /* 角丸を指定する */
  padding: 8px 5px;
}
@media (min-width: 576px) {
  .label .wpcf7-list-item-label {
    width: 140px;
    font-size: 16px;
  }
}

input[type=radio]:checked + .wpcf7-list-item-label {
  border: 3px solid #3393c5;
  /* マウス選択時の枠や背景色を指定する */
}

/*******普通っぽい◎のラジオボタン******/
.radio-circle {
  font-size: 15px;
  position: relative;
  padding-left: 25px;
  margin-right: 40px;
}
.radio-circle::before {
  content: "";
  display: block;
  border-radius: 50%;
  border: 2px solid #c8c8c8;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  position: absolute;
  top: 53%;
  transform: translateY(-50%);
  left: 0;
}

input[type=radio]:checked + .radio-circle::after {
  content: "";
  position: absolute;
  top: 53%;
  transform: translateY(-50%);
  left: 4.5px;
  display: block;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  background-color: #3393c5;
}

.c-button__radio-title {
  display: block;
}

.c-button__radio-wrap {
  display: block;
  margin-top: 24px;
}

/***********************************************
セレクトボタン
************************************************/
.select-box {
  width: 100%;
  margin: 30px auto 0;
  position: relative;
}

.select-box::before {
  width: 0;
  height: 0;
  font-size: 15px;
  position: absolute;
  top: 50%;
  left: 502px;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 50;
}
@media (min-width: 576px) {
  .select-box::before {
    top: 60%;
    left: 70vw;
  }
}

.select-box__item {
  width: 343px;
  padding: 21px;
  -webkit-appearance: none;
  appearance: none;
}
@media (min-width: 576px) {
  .select-box__item {
    width: 100%;
  }
}

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

/***********************************************
セレクトボタンここまで
************************************************/
.c-drawer {
  position: relative;
  display: block;
  width: 90%;
  margin: 98px auto 100px;
  font-weight: 700;
}
@media (min-width: 576px) {
  .c-drawer {
    margin: 0 auto;
    width: 90%;
  }
}

.c-drawer__heading {
  padding: 67px;
  text-align: center;
  font-size: 24px;
}
@media (min-width: 576px) {
  .c-drawer__heading {
    margin: 0;
    margin-top: 66px;
    padding: 0;
    padding-bottom: 45px;
  }
}

.c-drawer__box {
  background-color: #f8f8f8;
  border-radius: 20px;
  box-shadow: 2px 2px 4px gray;
}

.c-drawer__button {
  background-color: #f8f8f8;
  border-radius: 20px;
  font-size: 20px;
  padding: 25px 6px 25px 60px;
  margin-bottom: 10px;
  position: relative;
}
@media (min-width: 576px) {
  .c-drawer__button {
    font-size: 15px;
    line-height: 1.5;
    padding: 18px 52px 12px 40px;
  }
}
.c-drawer__button::before {
  content: "Q";
  width: 1px;
  height: 1px;
  color: #00b7a0;
  font-size: 30px;
  font-weight: 700;
  position: absolute;
  font-family: "Oswald", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "Arial", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  top: 18px;
  left: 25px;
}
@media (min-width: 576px) {
  .c-drawer__button::before {
    font-size: 20px;
    top: 15px;
    left: 16px;
  }
}
.c-drawer__button::after {
  content: "+";
  width: 30px;
  height: 30px;
  background-color: #00b7a0;
  color: #fff;
  border-radius: 30px;
  font-size: 25px;
  padding-right: 1px;
  vertical-align: middle;
  text-align: center;
  position: absolute;
  top: 13px;
  right: 29px;
}
@media (min-width: 576px) {
  .c-drawer__button::after {
    font-size: 30px;
    line-height: 23px;
    right: 7px;
  }
}

.c-drawer__button + .c-drawer__content {
  display: none;
}

.c-drawer__content {
  font-size: 16px;
  line-height: 1.75;
  padding: 8px 20px 8px 50px;
  margin: 1px 46px 30px;
  background-color: #f8f8f8;
}
@media (min-width: 576px) {
  .c-drawer__content {
    margin: 5px 0px 12px 4px;
    font-size: 14px;
  }
}

.active {
  font-weight: 900;
}
.active::after {
  content: "ー";
  width: 30px;
  height: 30px;
  font-size: 20px;
  line-height: 28px;
  padding-right: 1px;
  background-color: #00b7a0;
  color: #fff;
  border-radius: 30px;
  vertical-align: middle;
  text-align: center;
  position: absolute;
  top: 13px;
  right: 29px;
}
@media (min-width: 576px) {
  .active::after {
    top: 50%;
    transform: translateY(-50%);
    right: 8px;
    font-size: 20px;
  }
}
.active + .c-drawer__content {
  display: block;
  position: relative;
}
.active + .c-drawer__content::before {
  width: 90%;
  height: 1px;
  background-color: gray;
  position: absolute;
  top: 0;
  left: 45%;
  transform: translateX(-50%);
}

/***********************************************
    hoverで少し大きくなって影がつくボタン
    ************************************************/
.c-hover {
  transition: all 0.2s linear;
}
.c-hover:hover {
  transform: scale(1.1, 1.1);
  box-shadow: 4px 3px 6px 0px rgba(0, 0, 0, 0.13);
}

/***********************************************
    ボタンが３秒ごとに揺れる
    ************************************************/
.c-swing {
  margin-top: 10px;
  margin-left: 20px;
  animation-name: c-swing;
  animation-duration: 5s;
  animation-delay: 1s;
  animation-iteration-count: infinite;
}

@-webkit-keyframes c-swing {
  0% {
    -webkit-transform: rotate(0deg);
  }
  55% {
    -webkit-transform: rotate(0deg);
  }
  60% {
    -webkit-transform: rotate(0deg);
  }
  65% {
    -webkit-transform: rotate(0deg);
  }
  70% {
    -webkit-transform: rotate(-1deg);
  }
  75% {
    -webkit-transform: rotate(2deg);
  }
  80% {
    -webkit-transform: rotate(-1deg);
  }
  85% {
    -webkit-transform: rotate(1deg);
  }
  90% {
    -webkit-transform: rotate(0deg);
  }
  95% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
  }
}
/*====== 9-1-1 縦線が動いてスクロールを促す =======*/
/*スクロールダウン全体の場所*/
.scrolldown1 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -35px;
  /*全体の高さ*/
  height: 50px;
}

/*Scrollテキストの描写*/
.scrolldown1 span {
  /*描画位置*/
  position: absolute;
  left: -35px;
  top: -15px;
  /*テキストの形状*/
  color: #eee;
  width: 70px;
  font-size: 20px;
  font-weight: 400;
}
@media (min-width: 576px) {
  .scrolldown1 span {
    font-size: 12px;
    left: -50%;
    transform: translateX(-50%);
    top: 0px;
  }
}

/* 線の描写 */
.scrolldown1::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 0;
  /*線の形状*/
  width: 3px;
  height: 30px;
  background: #c3107e;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}
@media (min-width: 576px) {
  .scrolldown1::after {
    width: 1px;
    height: 15px;
  }
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove {
  0% {
    height: 0;
    top: 10px;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 55px;
    opacity: 0;
  }
}
.p-s3__problem-section {
  background-color: #231815;
}

.p-s3__inner {
  width: 90%;
  max-width: 1140px;
  margin: 0 auto;
}

.p-s3__problem-background-triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #3D3D3D transparent transparent transparent;
  border-width: 130px 50vw 0px 50vw;
  position: relative;
  bottom: 0;
}
@media (min-width: 576px) {
  .p-s3__problem-background-triangle {
    border-width: 86px 48vw 0px 48vw;
  }
}

.p-s3__baloons-img {
  width: 50%;
  margin-top: 20px;
  display: flex;
}
@media (min-width: 576px) {
  .p-s3__baloons-img {
    width: 85%;
    display: block;
    margin: 20px auto 0;
  }
}

/***********************************************
backgroundの縦の長さと一致する。
************************************************/
.p-section__10-15 {
  height: auto;
  max-height: 1570px;
  position: relative;
  /*background: linear-gradient(transparent 30%, #f8edec 30% 100%);*/
}
.p-section__10-15::before {
  height: 800px;
  content: "";
  position: absolute;
  top: min(15vw, 250px);
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #f8edec;
  transform: skewY(-18deg);
  z-index: -999;
}
@media (min-width: 576px) {
  .p-section__10-15::before {
    top: min(50vw, 700px);
  }
}
.p-section__10-15 .background {
  width: 100%;
  height: 600px;
  position: absolute;
  top: min(25vw, 600px);
  left: 0;
}
@media (min-width: 576px) {
  .p-section__10-15 .background {
    height: 2000px;
    top: 10%;
  }
}
.p-section__10-15 .background::before {
  content: "";
  position: absolute;
  top: 0px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(255, 199, 193, 0.5);
  transform: skewY(17deg);
}
@media (min-width: 768px) {
  .p-section__10-15 {
    height: auto;
    max-height: 1000vw;
  }
}
@media (min-width: 576px) {
  .p-section__10-15 {
    height: auto;
    max-height: 10000vw;
  }
}

.c-bacground__skew {
  margin-top: 1500px;
  height: auto;
  max-height: 1570px;
  position: relative;
  /*background: linear-gradient(transparent 30%, #4ca5ff 30% 100%);*/
}
.c-bacground__skew::before {
  height: 800px;
  content: "";
  position: absolute;
  top: min(15vw, 250px);
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #4ca5ff;
  transform: skewY(-18deg);
  z-index: -999;
}
@media (min-width: 576px) {
  .c-bacground__skew::before {
    top: min(50vw, 700px);
  }
}
@media (min-width: 768px) {
  .c-bacground__skew {
    height: auto;
    max-height: 1000vw;
  }
}
@media (min-width: 576px) {
  .c-bacground__skew {
    height: auto;
    max-height: 10000vw;
  }
}

/**/
.p-s20__items {
  display: flex;
  line-height: 1.5;
}
@media (min-width: 576px) {
  .p-s20__items {
    display: block;
  }
}

.p-s20__item {
  width: 390px;
  height: 306px;
  margin-right: 13px;
  background-color: #fff;
  margin-top: 40px;
  position: relative;
  font-size: 18px;
  border: solid 4px #118173;
  border-radius: 8px;
  box-shadow: 5px 3px 6px 0px rgba(0, 0, 0, 0.1);
  padding: 150px 0px 0;
}
@media (min-width: 768px) {
  .p-s20__item {
    width: 95%;
    height: auto;
    margin: 15px auto;
  }
}
@media (min-width: 576px) {
  .p-s20__item {
    width: 98%;
    height: 316px;
    margin-top: 70px;
    margin-bottom: 20px;
  }
}
.p-s20__item span {
  color: #ec5b7a;
}

.p-s20__green-heading-section {
  height: 142px;
  position: absolute;
  top: 0;
  padding: 53px 0px 18px;
  width: 100%;
  color: #fffc00;
  background-color: #0ea290;
  font-size: min(1.8vw, 24px);
  font-weight: 700;
  text-align: center;
}
@media (min-width: 576px) {
  .p-s20__green-heading-section {
    font-size: 22px;
  }
}

.p-s20__icon {
  width: 100px;
  position: absolute;
  top: -55px;
  left: 50%;
  transform: translateX(-50%);
}

.p-s20__item-text {
  font-size: 18px;
  font-weight: 700;
  line-height: 2;
  padding: 0px 20px;
}

.p-s20__item-text-ul {
  font-size: 18px;
  font-weight: 700;
  padding-left: 36px;
  padding-right: 10px;
}
.p-s20__item-text-ul li {
  line-height: 2;
  position: relative;
}
.p-s20__item-text-ul li::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #000;
  position: absolute;
  left: -15px;
  top: calc(1em - 2px);
}
.p-s20__item-text-ul li span {
  color: #ec5b7a;
}

.p-20__bottom-button {
  margin-top: 70px;
}

/***********************************************
「REBODY式ストレッチ術の特徴」


************************************************/
.p-s4__service-section {
  position: relative;
  color: #fff;
  letter-spacing: 0.15em;
}

.p-s4__heading-image {
  width: 40%;
  max-width: 386px;
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 576px) {
  .p-s4__heading-image {
    width: 55%;
  }
}

.p-s4__inner {
  width: 90%;
  max-width: 1140px;
  margin: 0 auto;
}

.p-s4__heading-text {
  font-size: 40px;
  padding-top: 220px;
  padding-bottom: 93px;
  text-align: center;
}
@media (min-width: 576px) {
  .p-s4__heading-text {
    font-size: 20px;
    padding: 30vw 0 0;
    line-height: 1.5;
  }
}

.p-s4__service {
  display: flex;
  margin-top: 50px;
}
@media (min-width: 576px) {
  .p-s4__service {
    display: block;
    margin-top: 20px;
  }
}
.p-s4__service.--reverse {
  flex-direction: row-reverse;
}

.p-s4__img {
  width: 50%;
  max-width: 461px;
}
@media (min-width: 576px) {
  .p-s4__img {
    width: 100%;
    margin-top: 50px;
  }
}

.p-s4__contents {
  width: 60%;
  padding-left: 42px;
}
.p-s4__contents.--left {
  padding-left: 0;
  padding-right: 35px;
}
@media (min-width: 576px) {
  .p-s4__contents.--left {
    padding: 0;
  }
}
@media (min-width: 576px) {
  .p-s4__contents {
    width: 100%;
    padding: 0;
    position: relative;
  }
}

.p-s4__three-content-number {
  width: 68px;
  padding-left: 10px;
}
.p-s4__three-content-number.--2 {
  width: 90px;
  margin-top: 12px;
}
@media (min-width: 576px) {
  .p-s4__three-content-number {
    padding-top: 20px;
    position: absolute;
    top: -300px;
    left: 0px;
  }
}

.p-s4__three-content-text .text1 {
  font-size: 32px;
  font-weight: 700;
  padding-top: 40px;
  line-height: 1.4;
}
.p-s4__three-content-text .text2 {
  font-size: 18px;
  padding-top: 40px;
  line-height: 1.6;
}
@media (min-width: 576px) {
  .p-s4__three-content-text .text1 {
    font-size: 22px;
    padding-top: 10px;
  }
  .p-s4__three-content-text .text2 {
    font-size: 14px;
    padding-top: 10px;
    line-height: 1.6;
  }
}

/***********************************************
「痛みの原因は深層筋
ストレッチでのみアプローチできる理由」

マッサージとストレッチの違いの図
************************************************/
.p-s4__explains {
  padding-top: 90px;
  padding-bottom: 100px;
  text-align: center;
}

.p-s4__explains-heading {
  display: inline-block;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.7;
  border-bottom: solid 1px #8C7428;
}
@media (min-width: 576px) {
  .p-s4__explains-heading {
    font-size: 22px;
  }
}

.p-s4__explain-two-images {
  display: flex;
  justify-content: space-between;
}
@media (min-width: 576px) {
  .p-s4__explain-two-images {
    display: block;
  }
}

.p-s4__explain-container {
  width: 49%;
  margin-top: 40px;
  text-align: left;
}
@media (min-width: 576px) {
  .p-s4__explain-container {
    width: 100%;
  }
}

.p-s4__explain-image-title {
  display: inline-block;
  font-size: 28px;
  font-weight: 700;
  background-color: #8C7428;
  padding: 15px 15px;
}
.p-s4__explain-image-title.--right {
  padding: 15px 25px;
}
@media (min-width: 576px) {
  .p-s4__explain-image-title {
    font-size: 16px;
  }
}

.p-s4__explain-image-text {
  font-size: 18px;
  padding: 24px 0 30px;
}
@media (min-width: 576px) {
  .p-s4__explain-image-text {
    font-size: 14px;
    padding: 14px 0 20px;
  }
}

/***********************************************
 image第二セクション　「書品写真の重要性」
************************************************/
.p-service__4-4-sub-title {
  font-size: 40px;
  font-weight: 700;
  padding: 76px 0 0px 0;
}
@media (min-width: 576px) {
  .p-service__4-4-sub-title {
    font-size: 23px;
    padding: 76px 30px 0px;
    line-height: 1.5;
  }
}

.p-service__section4-4-container {
  width: 900px;
  height: 1142px;
  margin: 0 auto;
}
.p-service__section4-4-container-small {
  display: flex;
  justify-content: space-between;
  padding: 24px 0 40px 0;
}
@media (min-width: 576px) {
  .p-service__section4-4-container-small {
    padding: 20px 0 0px;
  }
}
@media (min-width: 768px) {
  .p-service__section4-4-container {
    width: 90%;
  }
  .p-service__section4-4-container-small {
    display: block;
    width: 100%;
    margin: 20px auto;
  }
}
@media (min-width: 576px) {
  .p-service__section4-4-container {
    height: 1020px;
  }
}

.p-service__section4-4 img {
  width: 100%;
}
@media (min-width: 576px) {
  .p-service__section4-4 img {
    padding-top: 20px;
  }
}
.p-service__section4-4-1, .p-service__section4-4-2, .p-service__section4-4-3, .p-service__section4-4-4 {
  width: 406px;
  height: 400px;
  position: relative;
}
@media (min-width: 768px) {
  .p-service__section4-4-1, .p-service__section4-4-2, .p-service__section4-4-3, .p-service__section4-4-4 {
    width: 100%;
    height: 220px;
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 576px) {
  .p-service__section4-4-1, .p-service__section4-4-3 {
    margin-bottom: 30px;
  }
}

.p-service__section4-4-img1, .p-service__section4-4-img2 {
  position: relative;
}
.p-service__section4-4-img1::after, .p-service__section4-4-img2::after {
  /*background-image: url(../img/index/right-arrow.png);*/
  width: 60px;
  height: 60px;
  bottom: 24px;
  right: -110px;
}
@media (min-width: 768px) {
  .p-service__section4-4-img1::after, .p-service__section4-4-img2::after {
    width: 40px;
    height: 40px;
    bottom: 120px;
    right: -50px;
    transform: rotate(90deg);
  }
}
@media (min-width: 576px) {
  .p-service__section4-4-img1::after, .p-service__section4-4-img2::after {
    bottom: 90px;
  }
}
.p-service__section4-4-img1 {
  width: 350px;
  height: 350px;
  margin: 0 28px;
}
@media (min-width: 768px) {
  .p-service__section4-4-img1 {
    width: 30%;
    margin: 0 40px;
  }
}
@media (min-width: 576px) {
  .p-service__section4-4-img1 {
    width: 200px;
    margin: 0;
  }
}
.p-service__section4-4-img2 {
  width: 406px;
  height: 406px;
}
.p-service__section4-4-img2::after {
  bottom: -34px;
  right: -80px;
}
@media (min-width: 768px) {
  .p-service__section4-4-img2 {
    width: 30%;
    margin: 0 40px;
  }
  .p-service__section4-4-img2::after {
    bottom: 180px;
    right: -60px;
  }
}
@media (min-width: 576px) {
  .p-service__section4-4-img2 {
    width: 200px;
    margin: 0;
  }
  .p-service__section4-4-img2::after {
    bottom: 150px;
    right: -50px;
  }
}

.p-service__section4-4-text {
  width: 311px;
  height: 190px;
  position: absolute;
  bottom: -70px;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .p-service__section4-4-text {
    display: block;
    position: relative;
    bottom: -10px;
    left: 0;
    transform: none;
  }
}
@media (min-width: 576px) {
  .p-service__section4-4-text {
    padding-top: 30px;
  }
}

.p-service__4-4-text1 {
  font-weight: 600;
  font-size: 32px;
}
@media (min-width: 576px) {
  .p-service__4-4-text1 {
    font-size: 25px;
    padding-left: 20px;
  }
}
.p-service__4-4-text1.--after {
  display: inline-block;
  background: linear-gradient(90deg, #F4951D 10%, #FF5C00);
  background: -webkit-linear-gradient(0deg, #F4951D 10%, #FF5C00);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-service__4-4-text2 {
  font-weight: 700;
  font-size: 20px;
  padding: 20px 0 30px;
}
@media (min-width: 576px) {
  .p-service__4-4-text2 {
    font-size: 15px;
    padding: 10px 0 24px 20px;
  }
}
.p-service__4-4-text2.--after {
  display: inline-block;
  background: linear-gradient(90deg, #F4951D 10%, #FF5C00);
  background: -webkit-linear-gradient(0deg, #F4951D 10%, #FF5C00);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (min-width: 768px) {
  .p-service__4-4-text2.--after {
    display: block;
  }
}
.p-service__4-4-text3 {
  font-weight: 500;
  font-size: 16px;
  padding-bottom: 12px;
  display: inline-block;
  position: relative;
}
.p-service__4-4-text3-wrapper {
  text-align: left;
  margin-left: 55px;
}
@media (min-width: 768px) {
  .p-service__4-4-text3-wrapper {
    padding-left: 55px;
    width: 250px;
    margin: 0 auto;
  }
}
@media (min-width: 576px) {
  .p-service__4-4-text3-wrapper {
    padding-left: 15px;
    width: 180px;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  .p-service__4-4-text3 {
    width: 230px;
    font-size: 14px;
    line-height: 1.5;
  }
}
@media (min-width: 576px) {
  .p-service__4-4-text3 {
    width: 200px;
    font-size: 12px;
    line-height: 1.5;
  }
}
.p-service__4-4-text3::before {
  /*background-image: url(../img/index/x-mark.png);*/
  width: 20px;
  height: 20px;
  bottom: 10px;
  left: -30px;
}
@media (min-width: 576px) {
  .p-service__4-4-text3::before {
    width: 12px;
    height: 12px;
    bottom: 13px;
    left: -16px;
  }
}
.p-service__4-4-text3.--after::before {
  /*background-image: url(../img/index/check.png);*/
  width: 26px;
  height: 26px;
  bottom: 5px;
  left: -32px;
}
@media (min-width: 576px) {
  .p-service__4-4-text3.--after::before {
    width: 12px;
    height: 12px;
    bottom: 12px;
    left: -16px;
  }
}

.p-service__section4-4-3 .p-service__section4-4-text,
.p-service__section4-4-4 .p-service__section4-4-text {
  position: absolute;
  bottom: -200px;
}
@media (min-width: 768px) {
  .p-service__section4-4-3 .p-service__section4-4-text,
  .p-service__section4-4-4 .p-service__section4-4-text {
    position: relative;
    bottom: 0;
  }
}

.p-s5__th-company-rebody {
  background-color: #231815;
}

.p-s5__inner {
  width: 98%;
  max-width: 1140px;
  margin: 0 auto;
}

.p-s5__table {
  border-collapse: collapse;
  width: 100%;
  margin-top: 65px;
  margin-bottom: 100px;
}
.p-s5__table th,
.p-s5__table td {
  border: solid 1px #231815;
  vertical-align: middle;
  text-align: center;
}
@media (min-width: 576px) {
  .p-s5__table {
    margin-top: 40px;
    margin-bottom: 50px;
  }
  .p-s5__table th,
  .p-s5__table td {
    font-size: 15px;
    padding: 8px;
  }
}

.p-s5__th-company-rebody-image {
  max-width: 191px;
  margin: 0 auto;
}

.p-s5__border-non {
  border-top: none !important;
  border-left: none !important;
}

.p-s5__th-row-head {
  width: 180px;
  padding: 30px 0;
  background-color: #BCDEF1;
  font-size: 24px;
}
.p-s5__th-row-head.--method {
  padding: 44px 0;
}
@media (min-width: 576px) {
  .p-s5__th-row-head.--method {
    padding: 20px 0;
  }
}
.p-s5__th-row-head.--time {
  padding: 44px 0;
}
@media (min-width: 576px) {
  .p-s5__th-row-head.--time {
    padding: 20px 0px;
  }
}
@media (min-width: 576px) {
  .p-s5__th-row-head {
    width: 30px;
    padding: 10px 0;
  }
  .p-s5__th-row-head .small {
    font-size: 10px;
  }
}

.p-s5__th-company {
  width: 300px;
  padding: 28px 0;
  font-size: 28px;
  font-weight: 700;
  background-color: #BCDEF1;
}
@media (min-width: 576px) {
  .p-s5__th-company {
    width: 30px;
  }
}

.p-s5__th-company-rebody {
  width: 400px;
}
@media (min-width: 576px) {
  .p-s5__th-company-rebody {
    width: 30px;
  }
}

.p-s5__td {
  font-size: 20px;
  line-height: 1.3;
  padding: 10px 40px;
}
.p-s5__td.--rebody {
  font-size: 32px;
  font-weight: 600;
  color: #E4007F;
}
@media (min-width: 576px) {
  .p-s5__td.--rebody {
    font-size: 16px;
  }
}
.p-s5__td.--small {
  font-size: 24px;
}
@media (min-width: 576px) {
  .p-s5__td.--small {
    font-size: 16px;
  }
}
.p-s5__td.--small span {
  color: #231815;
}
@media (min-width: 576px) {
  .p-s5__td {
    padding: 0;
  }
}

.p-s6__slider-inner {
  margin-top: 46px;
  padding-bottom: 115px;
  position: relative;
}

.p-s6__slide-arrow {
  width: 60px;
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
}
@media (min-width: 576px) {
  .p-s6__slide-arrow {
    width: 40px;
  }
}
.p-s6__slide-arrow.--prev {
  left: 125px;
  z-index: 10;
}
@media (min-width: 576px) {
  .p-s6__slide-arrow.--prev {
    left: 30px;
  }
}
.p-s6__slide-arrow.--next {
  right: 125px;
}
@media (min-width: 576px) {
  .p-s6__slide-arrow.--next {
    right: 30px;
  }
}

.p-s6__white-box {
  height: auto;
  min-height: 240px;
  background-color: #fff;
  padding: 30px 25px;
}

.p-s6__item {
  width: 420px;
  margin: 0 17px;
}

.p-s6__name {
  font-size: 20px;
  font-weight: 700;
}
@media (min-width: 576px) {
  .p-s6__name {
    font-size: 18px;
  }
}

.p-s6__text-title {
  font-size: 18px;
  font-weight: 700;
  padding-top: 20px;
  line-height: 1.35;
}
@media (min-width: 576px) {
  .p-s6__text-title {
    font-size: 16px;
  }
}

.p-s6__text {
  font-size: 16px;
  padding-top: 20px;
  line-height: 1.35;
}
@media (min-width: 576px) {
  .p-s6__text {
    font-size: 14px;
  }
}

.p-s7__inner {
  width: 90%;
  max-width: 1140px;
  margin: 0 auto;
  padding-bottom: 50px;
}

.p-s7__four-reasons {
  margin-top: 44px;
  margin-bottom: 64px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (min-width: 576px) {
  .p-s7__four-reasons {
    display: block;
  }
}

.p-s7__reason-item {
  width: 267px;
}
@media (min-width: 576px) {
  .p-s7__reason-item {
    margin: 20px auto;
    width: 200px;
  }
}

.p-s7__union {
  width: 170px;
  margin: 0 auto 45px;
}
@media (min-width: 576px) {
  .p-s7__union {
    width: 100px;
    margin-top: -20px;
    margin-bottom: 25px;
  }
}

.p-s8__flow {
  padding-bottom: 1px;
}

.p-s8__flow-items {
  background-color: #191919;
  width: 90%;
  max-width: 1140px;
  margin: 60px auto 100px;
  padding: 80px 100px;
}
@media (min-width: 768px) {
  .p-s8__flow-items {
    padding: 50px 12px;
    width: 98%;
    max-width: 1140px;
    margin: 38px auto 60px;
  }
}

.p-s8__flow-item {
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .p-s8__flow-item {
    justify-content: center;
  }
}
@media (min-width: 576px) {
  .p-s8__flow-item {
    position: relative;
    justify-content: normal;
  }
}

.p-s8__number {
  width: 97px;
  height: 151px;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  background-color: #8C7428;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  padding: 45px 0;
}
@media (min-width: 576px) {
  .p-s8__number {
    font-size: 16px;
    padding: 0 0px;
    vertical-align: middle;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.p-s8__number span {
  font-size: 48px;
}
@media (min-width: 576px) {
  .p-s8__number span {
    font-size: 34px;
  }
}

.p-s8__white-box {
  width: 100%;
  max-width: 606px;
  height: 151px;
  background-color: #fff;
}
@media (min-width: 576px) {
  .p-s8__white-box {
    max-width: 130%;
    padding-left: 80px;
    height: 110px;
  }
}

.p-s8__white-box-title {
  font-size: 24px;
  font-weight: 700;
  padding: 30px 30px 0;
}
@media (min-width: 576px) {
  .p-s8__white-box-title {
    font-size: 18px;
    padding: 10px 30px 0;
    padding-right: 10px;
  }
}

.p-s8__white-box-text {
  width: 93%;
  font-size: 18px;
  font-weight: 400;
  padding: 30px 30px;
  line-height: 1.2;
}
@media (min-width: 576px) {
  .p-s8__white-box-text {
    width: 95%;
    font-size: 14px;
    padding: 15px 0px 10px 30px;
  }
}

.p-s8__flow-img {
  height: 151px;
}
.p-s8__flow-img img {
  width: auto;
  height: 100%;
}
@media (min-width: 576px) {
  .p-s8__flow-img {
    height: 60px;
    position: absolute;
    bottom: 0;
  }
}

.p-s8__triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #bcdef1 transparent transparent transparent;
  border-width: 24px 28px 0px 28px;
  margin: 21px auto 12px;
}
@media (min-width: 576px) {
  .p-s8__triangle {
    border-width: 16px 20px 0px 20px;
  }
}

.p-s9__price-inner {
  width: 90%;
  max-width: 1140px;
  margin: 0 auto;
  font-weight: 700;
}

.p-s9__price-top-texts {
  text-align: center;
  font-size: 24px;
  padding: 58px 0 0;
  line-height: 1.6;
}
@media (min-width: 576px) {
  .p-s9__price-top-texts {
    font-size: 18px;
    padding: 38px 0 0;
  }
}

.p-s9__price-table {
  margin: 50px auto 0;
}
@media (min-width: 576px) {
  .p-s9__price-table {
    margin: 30px auto 0;
    border-collapse: separate;
    border-spacing: 10px;
  }
}
.p-s9__price-table th {
  font-size: 54px;
  width: 224px;
  padding: 17px 0;
  letter-spacing: 0.02em;
}
@media (min-width: 576px) {
  .p-s9__price-table th {
    padding: 10px 0;
    font-size: 24px;
  }
}
.p-s9__price-table td {
  font-size: 64px;
  width: 358px;
  padding-left: 50px;
}
@media (min-width: 576px) {
  .p-s9__price-table td {
    font-size: 30px;
  }
}
.p-s9__price-table span {
  font-size: 40px;
}
@media (min-width: 576px) {
  .p-s9__price-table span {
    font-size: 24px;
  }
}

.p-s9__table-yellow {
  background-color: #FDED00;
}

.p-s9__time-price-note {
  font-size: 18px;
  padding-top: 70px;
  padding-bottom: 50px;
  font-weight: 500;
}
@media (min-width: 576px) {
  .p-s9__time-price-note {
    padding: 30px 0 30px;
    font-size: 15px;
    line-height: 1.3;
  }
}

/***********************************************

************************************************/
.p-s9__opening-price-heading {
  width: 58%;
  padding: 15px 0;
  margin: 60px auto 30px;
}
@media (min-width: 576px) {
  .p-s9__opening-price-heading {
    width: 100%;
    margin: 0;
    margin-top: 40px;
  }
}

.p-s9__opening-price-table,
.p-s9__trial-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 36px;
  margin-top: 40px;
}
@media (min-width: 576px) {
  .p-s9__opening-price-table,
  .p-s9__trial-table {
    margin-top: 10px;
    font-size: 22px;
  }
}
.p-s9__opening-price-table th,
.p-s9__opening-price-table td,
.p-s9__trial-table th,
.p-s9__trial-table td {
  border: solid 1px #231815;
  padding: 26px 0;
  text-align: center;
  position: relative;
}
@media (min-width: 576px) {
  .p-s9__opening-price-table th,
  .p-s9__opening-price-table td,
  .p-s9__trial-table th,
  .p-s9__trial-table td {
    padding: 15px;
  }
}

.p-s9__opening-price-th {
  background-color: #231815;
  color: #fff;
  letter-spacing: 0.2em;
}
.p-s9__opening-price-th span {
  color: #FDED00;
  text-decoration: underline 2px #8C7428;
  text-underline-offset: 0.3em;
}
@media (min-width: 576px) {
  .p-s9__opening-price-th {
    line-height: 1.3;
  }
}

.p-s9__trial-table th,
.p-s9__trial-table td {
  vertical-align: middle;
}

.p-s9__trial-td {
  font-weight: 700;
  line-height: 1.4;
  background-color: #FDED00;
  padding-top: 15px !important;
  padding-bottom: 10px !important;
}
@media (min-width: 576px) {
  .p-s9__trial-td {
    text-align: center;
    margin: 0 auto;
    padding: 0;
  }
}
.p-s9__trial-td .new-customer {
  background-color: #231815;
  padding: 0px 20px 5px;
  color: #fff;
  margin-right: 50px;
  margin-bottom: 15px;
  letter-spacing: 0.3em;
}
@media (min-width: 576px) {
  .p-s9__trial-td .new-customer {
    display: block;
    margin: 0 auto;
    margin-bottom: 0;
  }
}
.p-s9__trial-td .ticket {
  font-size: 34px;
  padding-right: 20px;
}
@media (min-width: 576px) {
  .p-s9__trial-td .ticket {
    font-size: 24px;
  }
}
.p-s9__trial-td em {
  font-style: normal;
  font-size: 64px;
}
@media (min-width: 576px) {
  .p-s9__trial-td em {
    font-size: 41px;
  }
}
.p-s9__trial-td .limit {
  display: inline;
  font-size: 26px;
}
@media (min-width: 576px) {
  .p-s9__trial-td .limit {
    display: block;
    font-size: 15px;
  }
}
.p-s9__trial-td .note {
  font-size: 20px;
  text-align: left;
  padding-left: 10%;
}
@media (min-width: 576px) {
  .p-s9__trial-td .note {
    font-size: 12px;
    margin: 0 auto;
    padding-left: 0;
    text-align: center;
    margin-top: -30px;
  }
}

.p-s9__trial {
  padding-top: 30px;
  padding-bottom: 80px;
}
@media (min-width: 576px) {
  .p-s9__trial {
    padding-bottom: 40px;
  }
}

.time-td {
  font-size: 35px;
}
@media (min-width: 576px) {
  .time-td {
    font-size: 21px;
    vertical-align: middle;
  }
}

.price-td {
  font-size: 50px;
  font-weight: 800;
  vertical-align: middle;
}
@media (min-width: 576px) {
  .price-td {
    font-size: 28px;
  }
}

.discount-td {
  width: 300px;
  font-size: 32px;
  color: #E4007F;
  vertical-align: middle;
}
@media (min-width: 576px) {
  .discount-td {
    width: 50px;
    font-size: 20px;
  }
}

/***********************************************

************************************************/
.p-s9__60minutes-container {
  padding-top: 50px;
}
@media (min-width: 576px) {
  .p-s9__60minutes-container {
    padding-top: 35px;
  }
}

.p-s9__minutes-heading {
  display: flex;
}
@media (min-width: 576px) {
  .p-s9__minutes-heading {
    display: block;
  }
}
.p-s9__minutes-heading span {
  background-color: #231815;
  color: #fff;
  font-size: 36px;
  width: 296px;
  height: 64px;
  line-height: 64px;
  text-align: center;
}
@media (min-width: 576px) {
  .p-s9__minutes-heading span {
    font-size: 17px;
    width: 130px;
    height: 40px;
    line-height: 40px;
    padding: 5px 10px;
  }
}
.p-s9__minutes-heading img {
  width: 58%;
  padding: 15px 40px;
}
@media (min-width: 576px) {
  .p-s9__minutes-heading img {
    width: 100%;
    padding: 0;
    margin-top: 10px;
  }
}

.p-s9__coupon-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 36px;
  margin-top: 40px;
}
@media (min-width: 576px) {
  .p-s9__coupon-table {
    margin-top: 20px;
    font-size: 18px;
  }
}
.p-s9__coupon-table th,
.p-s9__coupon-table td {
  border: solid 1px #231815;
  padding: 26px 0;
  text-align: center;
  position: relative;
}
@media (min-width: 576px) {
  .p-s9__coupon-table th,
  .p-s9__coupon-table td {
    padding: 24px 0;
  }
}
@media (min-width: 576px) {
  .p-s9__coupon-table th {
    padding: 10px 0;
  }
}
.p-s9__coupon-table span {
  position: absolute;
  top: 35px;
  right: 30px;
  font-size: 24px;
  color: #E4007F;
}
@media (min-width: 768px) {
  .p-s9__coupon-table span {
    font-size: 20px;
    top: auto;
    bottom: 5px;
  }
}
@media (min-width: 576px) {
  .p-s9__coupon-table span {
    font-size: 14px;
  }
}

@media (min-width: 576px) {
  .p-s9__coupon-price {
    font-size: 22px;
  }
}

.p-s9__coupon-th-times {
  width: 40%;
  font-size: 30px;
}
@media (min-width: 576px) {
  .p-s9__coupon-th-times {
    font-size: 16px;
  }
}

.p-s9__coupon-th-price {
  width: 60%;
  font-size: 30px;
}
@media (min-width: 576px) {
  .p-s9__coupon-th-price {
    font-size: 16px;
  }
}

.p-s9__coupon-note {
  text-align: right;
  font-size: 20px;
  padding: 15px 10px;
}
@media (min-width: 576px) {
  .p-s9__coupon-note {
    font-size: 14px;
  }
}

/*******************/
.p-s9__90minutes-container {
  margin-top: 40px;
}
@media (min-width: 576px) {
  .p-s9__90minutes-container {
    margin-top: 5px;
  }
}

/***********************************************

************************************************/
@media (min-width: 576px) {
  .p-s9__staff-reservation-fee th,
  .p-s9__staff-reservation-fee td {
    padding: 10px 0;
  }
}

.p-s9__price-info {
  margin-top: 40px;
  font-size: 24px;
  line-height: 1.55;
}

.p-s9__payment-options {
  margin-top: 64px;
}
@media (min-width: 576px) {
  .p-s9__payment-options {
    margin-top: 50px;
  }
}

.p-s9__payment-options-text {
  font-size: 18px;
  text-align: center;
  padding-top: 60px;
}
@media (min-width: 576px) {
  .p-s9__payment-options-text {
    padding-top: 0;
    font-size: 14px;
    line-height: 1.5;
  }
}

.p-s9__payment-options-img {
  width: 57%;
  margin: 25px auto 100px;
}
@media (min-width: 576px) {
  .p-s9__payment-options-img {
    width: 80%;
    margin: 25px auto 50px;
  }
}

.p-s10__franchise-owner {
  padding-bottom: 100px;
}

.proceeding {
  padding-bottom: 10000px;
}

.p-s10__inner {
  width: 80%;
  margin: 0 auto;
}

.p-s10__heading-1,
.p-s10__heading-2 {
  color: #fff;
  font-size: 42px;
  font-weight: 700;
  text-align: center;
  padding-top: 100px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media (min-width: 576px) {
  .p-s10__heading-1,
  .p-s10__heading-2 {
    font-size: 25px;
  }
}

.p-s10__heading-2 {
  padding-top: 30px;
  margin-bottom: 50px;
}
.p-s10__heading-2 em {
  width: 104px;
  height: 104px;
  background-color: #8C7428;
  padding: 10px 20px;
  margin: 10px;
  font-style: normal;
}

.p-s10__franchise-flow-heading {
  background-color: #538A9D;
  height: 80px;
  width: 100%;
  margin: 25px 0;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: center;
  padding: 20px 0;
  font-size: 32px;
  font-weight: 700;
}

.p-s10__franchise-flow-images {
  display: flex;
  justify-content: center;
  color: #fff;
  font-size: 24px;
}

.p-s10__franchise-flow-image {
  width: 148px;
}

.p-s11__contact-section {
  background-color: #f8f8f8;
}

.p-s9 {
  background-color: #f8f8f8;
  padding-bottom: 12px;
}

.p-s11__inner {
  width: 80%;
  max-width: 800px;
  color: #000;
  margin: 53px auto 50px;
}
@media (min-width: 576px) {
  .p-s11__inner {
    width: 100%;
    margin-top: 0;
  }
}

/***********************************************
フォームボックス開始
************************************************/
.p-s9__form {
  margin: 0 auto;
}
@media (min-width: 576px) {
  .p-s9__form {
    width: 100%;
  }
  .p-s9__form dl {
    min-width: 320px;
  }
}

.p-s11__dd {
  width: 100%;
}

.p-s11__reservation-label {
  padding-bottom: 150px;
}
@media (min-width: 576px) {
  .p-s11__reservation-label {
    padding-bottom: 10px;
    font-size: 20px;
  }
}

.p-s11__reservation-time {
  margin-top: 25px;
  font-size: 16px;
  text-align: left;
}
.p-s11__reservation-time .day {
  width: 56px;
  height: 48px;
  padding: 0;
  padding-left: 15px;
  margin: 10px 10px 10px 20px;
}
@media (min-width: 768px) {
  .p-s11__reservation-time .day {
    width: 48px;
    height: 45px;
    padding: 0;
    padding-left: 12px;
    margin: 6px 5px 5px 4px;
  }
}
.p-s11__reservation-time input[type=time] {
  width: 120px;
  height: 50px;
}
@media (min-width: 768px) {
  .p-s11__reservation-time input[type=time] {
    width: 90px;
    padding: 0 5px;
  }
}
.p-s11__reservation-time .time {
  margin-left: 30px;
}
.p-s11__reservation-time .time input {
  margin-left: 15px;
}
@media (min-width: 768px) {
  .p-s11__reservation-time .time {
    margin-left: 0px;
  }
  .p-s11__reservation-time .time input {
    margin-left: 0;
  }
}
@media (min-width: 576px) {
  .p-s11__reservation-time .time-span {
    display: none;
    width: 20px;
    font-size: 14px;
    font-weight: 400;
  }
}

@media (min-width: 576px) {
  .small-label {
    padding-top: 20px;
    text-align: center;
  }
  .text-left {
    padding-right: 250px;
  }
}
.s11__acceptance {
  font-size: 20px;
  margin-top: 45px;
  position: relative;
}
.s11__acceptance a {
  border-bottom: 1px solid #000;
}
.s11__acceptance .c-form__required {
  font-size: 16px;
  margin-left: 20px;
  padding: 2px 18px;
  background-color: #e61264;
  color: #fff;
}

/***********************************************
bottom  bottom
************************************************/
.p-s9__bottom-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 35px;
}

.p-s9__bottom-text {
  font-size: 16px;
  padding: 50px 0 50px;
  padding-bottom: 70px;
  font-family: YuGothic, "Yu Gothic", "メイリオ", Meiryo, "Arial", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media (min-width: 576px) {
  .p-s9__bottom-text {
    font-size: 14px;
    line-height: 1.5;
  }
}

.s11__note {
  margin-top: 50px;
  font-size: 14px;
  line-height: 1.5;
}

.p-s11__send-button {
  width: 400px;
  height: 56px;
  display: block;
  margin: 0 auto;
  color: #fff;
  background-color: green;
  border-radius: 30px;
  border: none;
  padding: 10px;
  margin-top: 68px;
  font-size: 18px;
}
@media (min-width: 576px) {
  .p-s11__send-button {
    width: 297px;
    height: 59px;
  }
}

input[type=submit] {
  font-weight: 700;
  font-family: "M PLUS 2", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "Arial", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/***********************************************
confirm画面調整
************************************************/
.p-s9__confirm .contact-form__row {
  margin-top: 22px;
}
@media (min-width: 576px) {
  .p-s9__confirm .c-form__dl {
    width: 90%;
    max-width: 350px;
  }
  .p-s9__confirm .c-form__input-label-name {
    width: auto;
  }
  .p-s9__confirm .contact-form__row {
    display: flex;
  }
  .p-s9__confirm .c-form__label {
    width: 138px;
    padding-bottom: 0;
  }
}

.time .wpcf7-form-control-wrap {
  position: relative;
}
.time .wpcf7-form-control-wrap::before {
  content: "▼";
  font-size: 11px;
  color: #231815;
  position: absolute;
  top: 10px;
  right: 10px;
}

.walcf7-timepicker {
  width: 107px;
  height: 50px;
  margin-left: 15px;
}
@media (min-width: 768px) {
  .walcf7-timepicker {
    width: 90px;
    padding: 0 15px;
    margin-left: 0px;
  }
}

/***********************************************
thanks画面調整
************************************************/
.p-s11__thanks-title {
  font-size: 28px;
  font-size: 22px;
}

.p-s11__thanks-text {
  font-size: 22px;
  line-height: 1.5;
  padding: 48px 0 86px;
}
@media (min-width: 576px) {
  .p-s11__thanks-text {
    font-size: 21px;
    padding: 70px 0 50px;
  }
}

.p-s12__news-section {
  padding: 0 0;
}

.p-s12__inner {
  width: 80%;
  max-width: 946px;
  font-size: 20px;
  color: #fff;
  margin: 0px auto;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.p-s12__texts {
  margin-top: 25px;
  padding-bottom: 95px;
}

.p-s12__text {
  font-size: 18px;
  padding: 24px 0;
  border-bottom: solid 1px #4E4E4E;
  line-height: 1.3;
  display: flex;
}
@media (min-width: 576px) {
  .p-s12__text {
    font-size: 15px;
    line-height: 1.3;
    display: block;
  }
}

.p-s12__date {
  font-size: 20px;
  margin-right: 40px;
}
@media (min-width: 576px) {
  .p-s12__date {
    display: block;
    font-size: 17px;
  }
}

/***********************************************
section13  information
************************************************/
.p-s13__information-section {
  padding: 0px 0 90px;
}
@media (min-width: 576px) {
  .p-s13__information-section {
    padding: 0px 0 50px;
  }
}

.p-s13__inner {
  width: 80%;
  max-width: 1140px;
  font-size: 20px;
  color: #fff;
  margin: 60px auto 0;
  display: flex;
  flex-direction: row-reverse;
}
.p-s13__inner p {
  padding: 10px 0;
}
@media (min-width: 576px) {
  .p-s13__inner {
    width: 90%;
    display: block;
    margin: 30px auto 0;
  }
}

.p-13__info-left iframe {
  width: 31vw;
  height: 22vw;
}
@media (min-width: 576px) {
  .p-13__info-left iframe {
    width: 80%;
    height: 50vw;
  }
}
@media (min-width: 576px) {
  .p-13__info-left {
    text-align: center;
  }
}

.p-13__info-right {
  padding-left: 50px;
  font-size: 18px;
  letter-spacing: 0.05em;
}
.p-13__info-right dl {
  padding-top: 30px;
}
.p-13__info-right dt {
  width: 120px;
  line-height: 1.4;
  font-weight: 700;
}
@media (min-width: 576px) {
  .p-13__info-right dt {
    width: 100px;
  }
}
.p-13__info-right dd {
  width: 300px;
  padding: 0px 0 30px 0;
  line-height: 1.4;
  font-weight: 500;
}
.p-13__info-right .open-time {
  margin-top: -5px;
}
@media (min-width: 576px) {
  .p-13__info-right {
    padding: 0;
    font-size: 15px;
  }
}

.p-13__info-right-logo {
  width: 250px;
  margin-bottom: 17px;
}
@media (min-width: 576px) {
  .p-13__info-right-logo {
    width: 120px;
    margin: 0 auto;
  }
}

.step_list{
  width: 100%;
  max-width: 1137px;
  margin-left: auto;
  margin-right: auto;
  padding: 50px;
  background: rgba(255,255,255,0.75);
  border-radius: 20px;
}
.step_list dl{
  display: flex;
}
.step_list dl dt{
  width: 100px;
  position: relative;
}
.step_list dl dt::before{
  width: 16px;
  height: calc(100% - 100px);
  background: #BCBCBC;
  content: '';
  position: absolute;
  top: 100px;
  left: calc(50% - 8px);
}
.step_list dl dt > span{
  width: 100px;
  height: 100px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  background: #E74C3C;
  border-radius: 5px;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  display: block;
  text-align: center;
  box-sizing: border-box;
  padding-top: 20px;
  font-family: 'Oswald', sans-serif;
}
.step_list dt > span span{
  font-size: 40px;
  font-weight: bold;
  line-height: 1;
  margin-top: 5px;
  display: block;
  font-family: 'Oswald', sans-serif;
}
.step_list dd{
  width: calc(100% - 150px);
  margin-left: 50px;
}
.step_list dd .ttl{
  font-size: 30px;
  border-bottom: 1px solid #000;
  padding-bottom: 25px;
  text-align: left;
  margin: 0;
}
.step_list dd .excerpt{
  text-align: left;
  font-size: 24px;
}
.step_list dl:nth-child(2) dt > span{
  background: #E67E22;
}
.step_list dl:nth-child(3) dt > span{
  background: #F39C12;
}
.step_list dl:nth-child(4) dt > span{
  background: #A4C520;
}
.four_best{
  width: 100%;
  max-width: 1440px;
  padding: 50px 0;
  margin-left: auto;
  margin-right: auto;
}
.four_best_inner{
  padding: 50px;
  background: rgba(255,255,255,0.75);
  border-radius: 20px;
}
@media (max-width: 768px){
  .step_list{
    box-sizing: border-box;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    padding: 20px 5%;
  }
  .step_list dl dt{
    width: 50px;
  }
  .step_list dl dt > span {
    width: 50px;
    height: 50px;
    font-size: 14px;
    padding-top: 7px;
  }
  .step_list dl dt > span span {
    font-size: 23px;
    margin-top: 5px;
  }
  .step_list dl dt::before{
    width: 10px;
    left: calc(50% - 5px);
    height: calc(100% - 50px);
    top: 50px;
  }
  .step_list dl dd {
    width: calc(100% - 70px);
    margin-left: 15px;
    padding: 0px;
  }
  .step_list dl dd .ttl{
    font-size: 24px;
  }
  .step_list dd .excerpt{
    font-size: 16px;
    line-height: 1.5;
  }
  .four_best{
    width: 90%;
    padding: 0 0 50px 0;
  }
  .four_best_inner{
    padding: 10px;
  }

	.rate_table{
		margin-bottom: 12vw;
	}
	.rate_table table {
		margin: 0 auto;
		border: 0;
	}
	.rate_table table tr th {
		font-size: 3.4vw;
		padding: 3vw 1.5vw;
		border-right: 0;
		white-space: nowrap;
		line-height: 1.4;
	}
	.rate_table table tr td {
		font-size: 4vw;
		padding: 2vw;
		border: 0;
	}
	.rate_table table tr td.money {
		padding: 2vw;
		width: 21%;
		line-height: 1.2;
	}
	.rate_table table tr td .size02 {
		font-size: 3.2vw;
	}
	.rate_table table tr td .size03 {
		font-size: 3.2vw;
	}

.sct3 h2 img {
    display: block;
    margin: 0 auto;}
.forpc {display:none;}
}
@media screen and (min-width:769px){
.forsp {display:none;}
}
