.body_bg {
  /* background-image: url("img/pc-bg_aaa.jpg"); */
  background-color: #ebf5f5;
  margin: 0;
  line-height: inherit;
  /* background-attachment: fixed; */
}

.text-center {
  text-align: center;
}

.p_style_a {
  position: relative;
  padding-right: 33px;
  padding-left: 33px;
}

.p_style_a::before {
  position: absolute;
  content: "";
  top: 5px;
  left: 0;
  display: block;
  background-image: url("img/midasi_style_a_1.png");
  width: 42px;
  /*幅*/
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  /*画像を繰り返さない*/
}

.p_style_a::after {
  position: absolute;
  content: "";
  top: 5px;
  right: 0;
  display: block;
  background-image: url("img/midasi_style_a_2.png");
  width: 42px;
  /*幅*/
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  /*画像を繰り返さない*/
}
/*
footer {
  padding-top: 34px;
}*/

.mb_center {
  margin: 0 auto;
}

.mb_tuning_a {
  margin: 52px auto 0px;
  width: 85%;
}

.mb_tuning_a br {
  display: none;
}

@media screen and (max-width: 480px) {
  .mb_tuning_a {
    width: 97%;
  }

  .mb_tuning_a br {
    display: block;
  }
}

.mg_tuning_b {
  margin-bottom: 10px;
}

.po_relative {
  position: relative;
}

.px-5 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1.6rem;
}

.px-6_a {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1.6rem;
}
.px-6_a_outer {
  padding-top: 1.6rem;
}
.px-6_b {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 2.3rem;
  padding-bottom: 2rem;
}

.px-6-top-none {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.text-3xl {
  font-size: 1.875rem;
  padding-top: 15px;
  padding-bottom: 12px;
  text-align: center;
  font-size: 35px;
  color: #fff;
}

.afer_bottom_arrow {
  position: relative;
}

.afer_bottom_arrow::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 22px solid transparent;
  border-left: 22px solid transparent;
  border-top: 26px solid #c6000b;
  border-bottom: 0;
  bottom: -20px;
  z-index: 1;
  transform: translateX(-50%);
  left: 50%;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

body .s_sp_none,
body .l_sp_none {
  display: none;
}

.flex {
  display: flex;
}

.w-full {
  width: 100%;
}

.bg-white {
  background-color: #fff;
}

.bg-gray {
  background-color: #eaeaea;
}

.font-bold {
  font-weight: bold;
}

.text-xl {
  font-size: 1.8rem;
  line-height: 1.75rem;
}

.text-base {
  font-size: 1.4rem;
  line-height: 1.5rem;
  margin-bottom: 0px;
  display: block;
  margin-bottom: 8px;
  display: block;
}

/*.whitespace-nowrap {
  white-space: nowrap;
}*/
@media screen and (max-width: 767px) {
  body .l_pc_none {
    display: none;
  }

  body .l_sp_column {
    flex-direction: column;
  }
}

@media screen and (max-width: 480px) {
  body .s_pc_none {
    display: none;
  }

  body .s_sp_column {
    flex-direction: column;
  }
}

/** 共通 */

a[href=""] {
  pointer-events: none;
  text-decoration: none;
}

.flex_between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.contents-area {
  width: 98%;
  max-width: 1000px;
  margin: 0 auto;
}

/** header */
header {
  width: 100%;
}

.header-nav {
  height: 18px;
  display: flex;
  justify-content: space-between;
}

.header-nav li {
  display: flex;
  align-items: center;
  padding: 0 20px;
  border-right: 1px solid #fff;
}

.header-nav li:last-child {
  border-right: none;
}

.header-nav li a {
  font-size: 0.95em;
}

.hamburger-btn {
  display: none;
}

@media screen and (max-width: 768px) {
  .bn-flex-box {
    flex-direction: column;
  }

  .bn-flex-box a {
    width: 100%;
    margin-bottom: 20px;
  }

  .bn-flex-box {
    margin-bottom: 30px;
  }

  .hamburger-btn {
    display: block;
    position: relative;
    cursor: pointer;
    width: 60px;
    height: 60px;
    border-radius: 5px;
  }

  .header-logo-img {
    width: 140px;
  }

  main {
    margin-top: 100px;
  }

  .hamburger-btn span {
    display: inline-block;
    transition: all 0.4s;
    position: absolute;
    left: 0px;
    height: 3px;
    border-radius: 2px;
    background: #fff;
    width: 60%;
    z-index: 1000;
  }

  .hamburger-btn span:nth-of-type(1) {
    top: 10px;
  }

  .hamburger-btn span:nth-of-type(2) {
    top: 23px;
  }

  .hamburger-btn span:nth-of-type(3) {
    top: 37px;
  }

  .hamburger-btn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
  }

  .hamburger-btn.active span:nth-of-type(2) {
    opacity: 0;
  }

  .hamburger-btn.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
  }

  .header-nav {
    width: 80%;
    height: 100lvh;
    position: fixed;
    top: 0;
    padding: 120px 30px 30px;
    background-color: #282828f2;
    z-index: -1;
    right: -120%;
    transition: 0.6s;
  }

  .header-nav ul {
    flex-direction: column;
    height: 100%;
  }

  .header-nav li {
    padding: 10px;
    border-right: none;
  }

  .header-nav li a {
    text-decoration: underline;
  }

  #bg-cover {
    background-color: rgb(140 141 140 / 73%);
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 100;
    transition: 0.3s;
    visibility: hidden;
    opacity: 0;
  }

  #bg-cover.active {
    visibility: visible;
    opacity: 1;
  }

  .header-nav.active {
    right: 0;
  }
}

@media screen and (max-width: 982px) {
  header {
    z-index: 1000;
    top: 0;
    right: 0;
    left: 0;
  }

  .main_visual {
    margin-top: 5px;
  }
}

.container {
  background: #fff;
  box-shadow: 0 0 30px 3px rgba(110, 90, 70, 0.7);
  max-width: 540px;
  min-width: 540px;
  margin: auto;
  position: relative;
  z-index: 5;
}

.justify-end {
  justify-content: flex-end;
}

.btn {
  display: flex;
  align-items: center;
  position: relative;
  padding: 12px 16px;
  margin: 0 7px;
  width: 100%;
  max-width: 105px;
  color: #fff;
}

.btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #151515;
  transition: 0.2s;
  z-index: 2;
}

.taiken_button:before {
  background-color: #c6000b;
}

.tenpo_button:before {
  background-color: #121212;
}

.btn .txt {
  position: relative;
  top: 0;
  font-size: 15px;
  z-index: 3;
}

.btn:hover .icon {
  right: 8px;
}

.btn .icon {
  position: absolute;
  top: 45%;
  right: 10px;
  width: 12px;
  height: 13px;
  margin-top: -5px;
  background: url("img/link_arrow_a.png") no-repeat;
  background-size: cover;
  transition: 0.2s;
  z-index: 3;
}

.btn::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  width: 100%;
  height: 100%;
  background: #fff;
  border: solid 1px #121212;
  transition: 0.2s;
  /* z-index: 1; */
}

.border_style_a {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 100%;
  height: 100%;
  border: 1px solid #151515;
  transition: 0.2s;
  z-index: -1;
}

@media screen and (max-width: 360px) {
  .btn {
    padding: 9px 6px 9px;
  }

  .btn .icon {
    right: 4px;
    top: 46%;
    right: 4px;
    width: 10px;
    height: 12px;
  }

  .btn .txt {
    font-size: 13px;
  }
}

/*
48
94*/
@media screen and (max-width: 540px) {
  .container {
    max-width: 100%;
    min-width: 100%;
  }
}

.xbody-labo-logo {
  width: 207px;
  margin-right: 13px;
}

@media screen and (max-width: 540px) {
  .xbody-labo-logo {
    width: 175px;
    margin-right: 13px;
  }
}

@media screen and (max-width: 440px) {
  .xbody-labo-logo {
    width: 156px;
    margin-right: 13px;
  }

  .btn .icon {
    right: 6px;
    width: 8px;
    height: 10px;
    top: 51%;
  }

  .btn {
    padding: 12px 7px;
    max-width: 85px;
  }

  .btn .txt {
    font-size: 14px;
  }
}

@media screen and (max-width: 365px) {
  .xbody-labo-logo {
    width: 127px;
    margin-right: 13px;
  }
}

@media screen and (max-width: 336px) {
  .xbody-labo-logo {
    width: 113px;
    margin-right: 13px;
  }
}

@media screen and (max-width: 336px) {
  .btn .txt {
    font-size: 13px;
  }
}

.text-new-red {
  color: #c6000b;
}

.midasi_style_a {
  width: 29px;
  height: auto;
  position: absolute;
  bottom: 0;
}

.midasi_style_a.ab_right {
  right: -35px;
}

.midasi_style_a.ab_left {
  left: -35px;
}

@media screen and (max-width: 540px) {
  .midasi_style_a.ab_right {
    right: -6px;
  }

  .midasi_style_a.ab_left {
    left: -6px;
  }

  .text-base {
    font-size: 1.3rem;
  }

  .text-xl {
    font-size: 1.7rem;
  }

  .midasi_style_a,
  .midasi_style_b {
    width: 27px;
  }
}

@media screen and (max-width: 360px) {
  .midasi_style_a.ab_right {
    right: 0px;
  }

  .midasi_style_a.ab_left {
    left: 0px;
  }

  .text-base {
    font-size: 1.3rem;
  }

  .text-xl {
    font-size: 1.7rem;
  }

  .midasi_style_a,
  .midasi_style_b {
    width: 21px;
  }
}

.wrap_style_a {
  border: solid 3px #c6000b;
}

.stretch_price {
  margin-top: 1.7rem;
}

.stretch_contents div p:nth-child(3) {
  padding-top: 20px;
}

.stretch_contents div p:nth-child(4) {
  padding-top: 5px;
}

.reason_contents h2 {
  color: #212121;
  margin-left: 20px;
  font-size: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.reason_contents .point {
  width: 80px;
  align-self: flex-start;
  /* 追加 */
}

@media screen and (max-width: 540px) {
  .reason_contents .point {
    width: 69px;
  }
}

.reason-txt {
  padding: 13px;
  background-color: #fff;
  width: 95%;
  margin: 0 auto;
  position: relative;
  bottom: 32px;
}

@media screen and (max-width: 440px) {
  .reason_contents h2 {
    margin-left: 16px;
    font-size: 1.7rem;
  }
}

.h2_inner_span_a {
  font-size: 1.2rem;
  display: block;
}

.h2_inner_span_b {
  font-size: 1.4rem;
}

@media screen and (max-width: 380px) {
  .h2_inner_span_b {
    display: block;
  }
}

.voice-icon {
  width: 86px;
  align-self: flex-start;
  margin-right: 6px;
}

.voice-red-title {
  padding: 12px;
  text-align: center;
  font-size: 35px;
  color: #fff;
  background-color: #c6000b;
}

.voice-red-title span {
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: initial;
  line-height: 29px;
  margin-top: 6px;
}

@media screen and (max-width: 540px) {
  .voice-red-title span {
    font-size: 19px;
    margin-top: 0px;
  }

  .voice-icon {
    width: 72px;
    align-self: flex-start;
    margin-right: 6px;
  }
}

.voice-text {
  padding: 22px 11px 11px;
}

.voice-red-title.afer_bottom_arrow::after {
  bottom: -10px;
}

.voice_contents_wrap {
  overflow: hidden;
}

.voice-profile {
  float: right;
  padding: 6px 13px;
  color: #fff;
  background-color: #c6000b;
}

.tyusyaku {
  color: #c6000b;
  margin-top: 12px;
}

.voice_contents_wrap {
  margin-top: 26px;
}

.voice_contents div:nth-child(1) {
  margin-top: 0px;
}

.difference_illust {
  margin-top: 30px;
}

@media screen and (max-width: 380px) {
  .difference_contents .text-3xl {
    padding-top: 26px;
    line-height: 37px;
  }
}

.difference_contents img:nth-child(1) {
  margin-top: 3.3rem;
}

.raiten_contents_wrap {
  position: relative;
  padding-top: 15px;
  padding-bottom: 17px;
  margin-top: 47px;
}

.raiten_contents div:nth-child(1) {
  margin-top: 0px;
}

.raiten_contents_wrap.befor_img::before {
  position: absolute;
  content: "";
  top: -14px;
  left: -12px;
  display: block;
  width: 16%;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
}

@media screen and (max-width: 540px) {
  .raiten_contents_wrap.befor_img::before {
    width: 18%;
  }
}

.raiten_contents_wrap.befor_img:nth-child(1):before {
  background-image: url(img/step1.png);
}

.raiten_contents_wrap.befor_img:nth-child(2):before {
  background-image: url(img/step2.png);
}

.raiten_contents_wrap.befor_img:nth-child(3):before {
  background-image: url(img/step3.png);
}

.raiten_contents_wrap.befor_img:nth-child(4):before {
  background-image: url(img/step4.png);
}

.raiten_contents_wrap.befor_img:nth-child(5):before {
  background-image: url(img/step5.png);
}

.raiten_contents_wrap.afer_bottom_arrow::after {
  border-top: 26px solid #fff;
}

.raiten_contents p .text-base {
  font-size: 1.1rem;
  font-weight: 600;
}

.raiten_contents_wrap img {
  width: 92%;
  margin: 0 auto;
}

.raiten_contents_wrap h3 {
  width: 92%;
  margin: 14px auto 3px;
  font-size: 1.3rem;
}

.raiten_contents_wrap p {
  width: 92%;
  margin: 0 auto;
}

.post p.title_style_a {
  background-color: #333;
  display: flex;
}

.title_style_a img {
  width: 20px;
  height: auto;
  overflow-clip-margin: unset;
  margin-right: 9px;
  position: absolute;
  top: 33%;
  left: 15px;
}

.nav-accordion img {
  width: 20px;
  height: 100%;
  overflow-clip-margin: unset;
  margin-top: 2px;
  margin-right: 9px;
}

p.title_style_a + .nav-accordion {
  margin-bottom: 30px;
  padding: 15px;
}

p.title_style_a + .nav-accordion.nav-accordion-last {
  margin-bottom: 0px;
}

.title_style_a span {
  width: 84%;
  line-height: 24px;
}

@media screen and (max-width: 540px) {
  .title_style_a span {
    width: 80%;
  }
}

.nav-accordion {
  display: none;
}

.nav-accordion p {
  margin-top: 10px;
  margin-bottom: 20px;
}

.post .nav-open {
  padding: 15px 48px 12px;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  background: #757575;
  position: relative;
  border-bottom: solid #eeee 2px;
  position: relative;
  margin-bottom: 0px;
}

.qa_content_text {
  font-weight: initial;
  margin-left: 9px;
  font-size: 18px;
  margin-top: 0px;
  line-height: 28px;
}

.nav-open::after {
  content: "";
  background-image: url(img/clause_arrow.png);
  display: inline-block;
  width: 33px;
  height: 33px;
  background-size: cover;
  position: absolute;
  top: 0;
  right: 6px;
  bottom: 0;
  margin: auto 0px;
  margin-right: 16px;
}

.nav-open.active::after {
  content: "";
  background-image: url(img/open_arrow.png);
  display: inline-block;
  width: 33px;
  height: 33px;
  background-size: cover;
  position: absolute;
  top: 0;
  right: 6px;
  bottom: 0;
  margin: auto 0px;
  margin-right: 16px;
}

.copyright {
  text-align: center;
  padding-top: 10px;
  padding-bottom: 10px;
  color: #fff;
  background-color: #e56ea4;
}

@media screen and (max-width: 587px) {
  .copyright {
    padding-bottom: 110px;
    font-size: 14px;
    margin-top: 15px;
    padding-top: 14px;
  }
}

@media screen and (max-width: 410px) {
  .copyright {
    padding-bottom: 90px;
    font-size: 13px;
  }
}

.price_lead {
  width: 80%;
  margin: 70px auto 16px;
}

.stretch_lead {
  width: 65%;
  margin: 0 auto;
  padding-top: 40px;
  padding-bottom: 16px;
}

@media screen and (max-width: 540px) {
  .price_lead {
    width: 80%;
    margin: 60px auto 16px;
  }

  .stretch_lead {
    width: 65%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 540px) {
  .reason_contents h2 {
    line-height: 33px;
  }
}

.mb_none {
  margin-bottom: -32px;
}

.footer_text {
  text-align: center;
  margin-bottom: 24px;
  -webkit-mask-size: cover;
}

@media screen and (max-width: 380px) {
  .footer_text {
    font-size: 14px;
  }
}

.footer_text .corporation {
  display: block;
  margin-top: 15px;
  margin-bottom: 2px;
  font-size: 18px;
  font-weight: bolder;
  color: #191919;
}

.raiten_contents {
  margin-top: 60px;
}

.logo-pc {
  position: fixed;
  height: 100%;
  width: calc(48vw - 250px);
  text-align: center;
}

.logo-pc__inner {
  padding: 1rem 1rem;
  margin: calc(34vh - 178px) auto 0;
  max-width: 421px;
}

.logo-pc .xbody-labo {
  margin-bottom: 8rem;
}

.logo-pc a {
  display: inline-block;
  transform: 0.5s;
  color: #fff;
  font-weight: bold;
  padding-top: 12px;
  padding-bottom: 12px;
}

.logo-pc a:hover {
  opacity: 0.5;
}

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

.sp_on_a {
  display: none;
}

@media screen and (max-width: 324px) {
  .sp_on_a {
    display: block;
  }
}

.sp_on_b {
  display: none;
}

@media screen and (max-width: 405px) {
  .sp_on_b {
    display: block;
  }
}

.sp_on_c {
  display: none;
}

@media screen and (max-width: 540px) {
  .sp_on_c {
    display: block;
  }
}

@media screen and (max-width: 405px) {
  .reason_contents h2 {
    margin-left: 7px;
    font-size: 1.6rem;
  }
}

.tel-btn {
  background-color: #134fba;
  color: #fff !important;
  font-weight: bold;
  text-align: center;
  padding: 3%;
  display: block;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
  font-size: 16px;
  margin-bottom: 10px;
}

@media screen and (max-width: 540px) {
  .tel-btn {
    font-size: 15px;
  }
}

.line-btn {
  background-color: #01b901;
  color: #fff !important;
  font-weight: bold;
  text-align: center;
  padding: 3%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
  font-size: 17px;
  margin-bottom: 10px;
}

.hidden_list {
  padding: 0px;
  position: relative;
  top: 27%;
}

.hidden_list li {
  width: 77%;
  margin: 0 auto;
}

aside .hidden_list.tell_list {
  top: 15%;
}

@media screen and (max-width: 355px) {
  .reason_contents h2 {
    margin-left: 7px;
    font-size: 1.4rem;
  }
}

.hidden_aside,
#sp-fttap {
  display: none;
}

@media screen and (max-width: 553px) {
  .hidden_list {
    padding: 0px;
    position: relative;
    top: auto;
  }

  .hidden_list li {
    width: auto;
    margin: 0;
    position: initial;
    top: auto;
  }

  .hidden_aside {
    display: block;
  }

  #sp-fttap {
    display: block;
    z-index: 500;
    position: fixed;
    bottom: 0;
    width: 100%;
    right: 0;
    left: 0;
  }

  #sp-fttap img {
    /*
    width: 24px;
    margin-left: 6px;
    position: relative;
    top: 10px;  */
    width: 100%;
    margin: 0 auto;
  }

  #sp-fttap ul li.tap01 button span::before {
    position: absolute;
    content: "";
    left: -27%;
    display: block;
    background-image: url("img/tell_logo.png");
    width: 30px;
    /*幅*/
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    /*画像を繰り返さない*/
  }

  #sp-fttap ul li.tap02 button span::before,
  #sp-fttap ul li.tap03 button span::before {
    position: absolute;
    content: "";
    left: -27%;
    display: block;
    background-image: url("img/line_logo.png");
    width: 30px;
    /*幅*/
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    /*画像を繰り返さない*/
  }
  /*
  .clearfix button span {
    position: relative;
    left: 32%;
    top: 2px;
    font-size: 17px;
  }
*/
  .tap-line ul li,
  .tap-tel ul li {
    width: 50%;
    padding: 0.5%;
  }

  .hidden_list {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 10px 10px 0px 10px;
    justify-content: space-between;
  }

  .hidden_list li {
    width: 49%;
  }

  #sp-fttap ul {
    padding: 0px;
    margin: 0px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0;
    background-color: rgba(255, 255, 255, 0.9);
  }

  #sp-fttap ul li.tap01 {
    width: 33.9%;
    list-style: none;
  }

  #sp-fttap ul li.tap01 button {
    padding: 8% 2% 8% 2%;
    position: relative;
    writing-mode: initial;
    margin-bottom: 0;
    animation: cta1 2s ease-in-out infinite;
    display: flex;
    text-align: center;
    color: #fff;
    text-decoration: none;
    line-height: 1.4;
    font-size: 17px;
    font-weight: bold;
    background-color: #007bbc;
    border: none;
    width: 100%;
    border-radius: 0px 10px 0px 0px;
  }
  /*
  #sp-fttap ul li.tap01 button::after {
    position: absolute;
    content: '';
    width: calc((6 / 375) * 100vw);
    height: calc((6 / 375) * 100vw);
    top: 50%;
    transform: translatey(-50%) rotate(45deg);
    right: calc((12 / 375) * 100vw);
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
  }*/

  #sp-fttap ul li.tap02 button {
    padding: 8% 2% 8% 2%;
    position: relative;
    writing-mode: initial;
    animation: cta2 2s ease-in-out infinite;
    display: flex;
    text-align: center;
    color: #fff;
    text-decoration: none;
    line-height: 1.4;
    font-size: 17px;
    font-weight: bold;
    background-color: #00b900;
    text-orientation: upright;
    border: none;
    width: 100%;
    border-radius: 10px 0px 0px 0px;
  }
  #sp-fttap ul li.tap03 button {
    padding: 8% 2% 8% 2%;
    position: relative;
    writing-mode: initial;
    animation: cta2 2s ease-in-out infinite;
    display: flex;
    text-align: center;
    color: #fff;
    text-decoration: none;
    line-height: 1.4;
    font-size: 17px;
    font-weight: bold;
    background-color: #f19a3f;
    text-orientation: upright;
    border: none;
    width: 100%;
  }
  /*
  #sp-fttap ul li.tap02 button::after ,#sp-fttap ul li.tap03 button::after {
    position: absolute;
    content: '';
    width: calc((6 / 375) * 100vw);
    height: calc((6 / 375) * 100vw);
    top: 50%;
    transform: translatey(-50%) rotate(45deg);
    right: calc((12 / 375) * 100vw);
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
  }*/

  #sp-fttap ul li.tap02,
  #sp-fttap ul li.tap03 {
    width: 33.9%;
    list-style: none;
  }

  /*--CSS基本は変更 可 下記はデフォルトになります。--*/

  .close {
    width: 20px;
    height: 21px;
    position: relative;
    display: inline-block;
    vertical-align: text-bottom;
    text-align: center;
    cursor: pointer;
  }

  .close:before,
  .close:after {
    position: absolute;
    left: 10px;
    content: " ";
    height: 21px;
    width: 3px;
    background-color: #fff;
  }

  .close:before {
    transform: rotate(45deg);
  }

  .close:after {
    transform: rotate(-45deg);
  }

  .card {
    margin: 20px;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
  }

  .card_title,
  .title {
    font-size: 1.6rem;
    padding: 15px 20px;
    font-weight: bold;
  }

  .card_title {
    border-radius: 4px 4px 0px 0px;
  }

  .card_content {
    padding: 15px;
  }

  a.button.getBtn {
    margin-top: 16px;
    background-color: #fff;
    color: #4039ff;
    border-color: #fff;
  }

  .small {
    font-size: 14px;
    font-weight: 400;
  }

  .menu li {
    list-style: none;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    display: block;
    margin: 0px;
    color: rgba(255, 255, 255, 0.65);
  }

  .menu li a {
    font-size: 1.4rem;
    color: #fff;
    display: block;
    padding: 15px 20px;
  }

  .button,
  button,
  input[type="button"],
  input[type="reset"],
  input[type="submit"] {
    background-color: #fd6158;
    border: 0.1rem solid #fd6158;
    cursor: pointer;
  }

  button {
    font-size: 1.6rem;
    margin-top: 1em;
    padding: 0.4em 2em;
    color: #fff;
  }

  .menu li a:hover,
  button:hover {
    background-color: #f43631;
  }
}
/*
@media screen and (max-width: 415px) {
  .clearfix button span {
    position: relative;
    left: 13%;
    top: 1px;
    font-size: 15px;
  }
}*/

.tel_big {
  position: relative;
  font-size: 29px;
}

.tel_big::before {
  position: absolute;
  content: "";
  top: 8px;
  left: -31px;
  display: block;
  background-image: url("img/tell_icon.png");
  width: 26px;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
}

@media screen and (max-width: 982px) {
  .tel_big {
    font-size: 18px;
    margin-left: 17px;
  }

  .tel_big::before {
    position: absolute;
    content: "";
    top: 2px;
    left: -21px;
    display: block;
    background-image: url("img/tell_icon.png");
    width: 18px;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
  }
}

#page-top {
  position: fixed;
  right: 2%;
  bottom: 19%;
  z-index: 999999;
  width: 85.5px;
}

#page-top img {
  width: 100%;
}

@media screen and (max-width: 682px) {
  #page-top {
    position: fixed;
    right: 1%;
    bottom: 14.1%;
    z-index: 999999;
    width: 66.6px;
  }
}

@media screen and (max-width: 551px) {
  #page-top {
    position: fixed;
    right: 1%;
    bottom: 12rem;
    z-index: 999999;
    width: 66.6px;
  }
}
@media screen and (max-width: 340px) {
  #page-top {
    bottom: 17.9rem;
  }
}

.corporation_info {
  margin-right: 13px;
}

@media screen and (max-width: 540px) {
  .corporation_info {
    display: block;
    margin: 0;
  }
}

.fadein {
  opacity: 0;
  transform: translate(0, 100px);
  transition: all 1s;
}

.fadein.active {
  opacity: 1;
  transform: translate(0, 0);
}

header {
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  background-color: #fff;
}

.openbtn {
  position: fixed;
  top: 2vw;
  right: 2vw;
  width: 60px;
  height: auto;
  cursor: pointer;
  z-index: 9999;
}

.openbtn.active {
  background-color: transparent;
}

#header-nav {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  padding: 120px 30px 30px;
  background: rgba(29, 106, 178, 0.9);
  z-index: 100;
  display: none;
}

.logo {
  display: block;
  margin-right: 13px;
  width: auto;
}

@media screen and (max-width: 665px) {
  .logo {
    display: block;
    margin-right: 13px;
    width: 76vw;
  }
}

@media screen and (max-width: 540px) {
  .openbtn {
    position: fixed;
    top: 3vw;
    right: 3vw;
    width: 53px;
    height: auto;
    cursor: pointer;
  }
}

.common_title_b {
  background-color: #e56ea4;
  border-radius: 7px;
  font-weight: bold;
  padding: 14px 9px 14px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 21px;
}
.common_title_b::before {
  content: "";
  border: 10px solid transparent;
  border-top: 10px solid#e56ea4;
  margin-left: -10px;
  top: 100%;
  left: 50%;
  position: absolute;
}
.youtube_b {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 20px;
}

.youtube_b iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.bg_style_dots_yellow {
  background-color: #ffffff;
  background-image: radial-gradient(circle, #ffe100 1px, transparent 1px);
  background-position: 0 0;
  background-size: 6px 8px;
}

.contents_a_inner {
  /* padding: 13px;
  border: solid #ffe100 2px;*/
}
.bg_gray .contents_a_inner {
  padding-bottom: 16px;
}
.text_style_bold_c {
  font-weight: bold;
  letter-spacing: 1;
  letter-spacing: 1px;
  line-height: 25px;
  padding: 0px 22px 23px 23px;
  background-color: #f0f0f0;
  letter-spacing: 1px;
  line-height: 25px;
  position: relative;
  z-index: -1;
}

.reservation-buttons {
  max-width: 800px;
  margin: 0 auto;
}

.top-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.top-buttons a img {
  max-width: 100%;
  height: auto;
}

.line-button {
  text-align: center;
}

.line-button a img {
  max-width: 100%;
  height: auto;
}

.campaign_tuning_a {
  margin-bottom: 10px;
}

.header-nav_list {
  text-align: center;
}

.header-nav_list li {
  margin-bottom: 19px;
  padding-bottom: 17px;
  border-bottom: solid 2px #fff;
}

.header-nav_list a {
  color: #fff;
  font-weight: bold;
}

.openbtn .btn_nav_05_click {
  display: none;
}

.openbtn.active .btn_nav_05_click {
  display: block;
}

.openbtn.active .btn_nav_05 {
  display: none;
}

.point {
  background: #fffce5 none repeat scroll 0 0;
  border-radius: 10px;
  margin-bottom: 30px;
  padding: 15px;
  counter-reset: number 0;
}
.point dt.point-title {
  font-size: 20px;
  color: #ec6ca5;
  font-family: "Zen Kaku Gothic New", sans-serif;
  position: relative;
  padding-left: 35px;
  line-height: 1.2;
}
.point dt {
  border-bottom: 3px dotted #1d6ab2;
  color: #1d6ab2;
  font-size: 18px;
  font-weight: bold;
  padding: 5px 0;
}
.point dt.point-title::before {
  counter-increment: number 1;
  content: counter(number);
  font-size: 0.9em;
  background-color: #ec6ca5;
  color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 45%;
  transform: translateY(-50%);
  left: 0;
  line-height: 1;
}
.point dd {
  margin: 10px 0;
}

.reason-grid {
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin: 23px auto 0;
}

.reason-item {
  display: flex;
  align-items: center;
  gap: 7px;
  padding-bottom: 16px;
  border-bottom: dashed #a2a2a2 2px;
  padding-top: 7px;
}

.reason-item img {
  width: 47px;
  height: auto;
  flex-shrink: 0;
}

.reason-item p {
  font-size: 1rem;
  line-height: 1.6;
  text-align: left;
}

.reason-item {
  margin-bottom: 10px;
}

.symptom-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* 2列 */
  gap: 20px;
  max-width: 600px;
  margin: 36px auto 11px;
}

.symptom-item {
  text-align: center;
}

.symptom-item img {
  width: 100%;
  height: auto;
}

.common_title_b span {
  font-size: 20px; /*
  margin-left: 8px;*/
  color: #fff;
}

.coco-review-widget3_poweredByCocoLink {
  display: none !important;
}

.common_title_b img {
  width: 30px;
}

@media screen and (max-width: 540px) {
  .common_title_b img {
    width: 7vw;
    align-self: flex-start;
  }
}

@media screen and (max-width: 440px) {
  .common_title_b img {
    width: 7vw;
    align-self: flex-start;
  }

  .common_title_b span {
    font-size: 18.5px; /*
    margin-left: 7.2px;*/
  }
}

@media screen and (max-width: 365px) {
  .common_title_b span {
    font-size: 15.5px;
    margin-left: 4.2px;
  }
}

.campaign_tuning_a.tuning_b {
  margin-top: 20px;
}

.suisen_ul_contents {
  padding: 0;
}

element.style {
  width: 80%;
  margin: 0 auto 15px;
}

.inner_katagaki {
  font-weight: initial;
  display: block;
  margin-bottom: 1px;
  /* font-size: 16px; */
  margin-top: 10px;
}

.suisen_ul_contents h3 {
  margin-bottom: 13px;
  width: 100%;
}

.inner_name {
  background-color: #1d6ab2;
  width: 100%;
  display: block;
  text-align: center;
  padding-top: 10px;
  padding-bottom: 4px;
  margin-bottom: 0;
  border-radius: 8px 8px 0px 0px;
}

.inner_katagaki {
  font-size: 15px;
  text-shadow: 3px 3px 0px #fff, -3px -3px 0px #fff, -3px 3px 0px #fff,
    3px -3px 0px #fff, 3px 0px 0px #fff, -3px -0px 0px #fff, 0px 3px 0px #fff,
    0px -3px 0px #fff;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 23px;
}

.suisen_ul_contents p {
  padding: 10px;
  background-color: #f0f0f0;
  letter-spacing: 1px;
  line-height: 25px;
  padding: 17px;
  margin-top: 14px;
}

.suisen_section .suisen_ul_contents p {
  padding: 10px;
  background-color: #f0f0f0;
  letter-spacing: 1px;
  line-height: 25px;
  padding: 17px;
  margin-top: 14px;
  margin-right: 14px;
  margin-left: 14px;
  margin-bottom: 15px;
}

.suisen_ul_contents li img {
  width: 179px;
  margin-right: 12px;
  align-self: flex-start;
}

.bottom_ul_contents {
  margin-top: 30px;
}

.table_2FG {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  margin-bottom: 30px;
}

.table_2FG td {
  border-radius: 30px;
  padding: 8px;
  background: #9f9b9b;
  text-align: center;
  color: #fff;
  margin-top: 30px;
  /*
  border-top: 1px solid #C8CFCC;
  border-left: 1px solid #C8CFCC;*/
}

.table_2FG tr:nth-child(even) td {
  background: #ffffff;
}
/*
.table_2FG td:last-child {
  border-right: 1px solid #C8CFCC;
}

.table_2FG tr:last-child td {
  border-bottom: 1px solid #C8CFCC;
}*/
.map {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
  margin: 0 auto 15px;
}
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
img.intyo {
  width: 84%;
  margin: 0 auto 20px;
}
.common_title_c {
  text-align: center;
}
.common_title_c {
  text-align: center;
  border-bottom: solid 2px #424242;
  margin-bottom: 18px;
}
.common_title_c span {
  display: block;
}
.common_title_c span:nth-child(2) {
  margin-bottom: 10px;
}

#sp-fttap ul li button {
  justify-content: center;
}
.common_title_c b {
  font-size: 31px;
}
.p_style_a {
  padding: 10px;
  background-color: #fff;
  letter-spacing: 1px;
  line-height: 23px;
}
.arrow_s {
  position: relative;
  display: inline-block;
}
.arrow_s:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 0;
  right: -14px;
  bottom: 0;
  margin: auto;
}
.logo-pc__inner li a.arrow_s:before {
  right: 14px;
}
.jump_link_tuning {
  margin-top: -30px;
  padding-top: 30px;
}
.suisen_fl {
  display: flex;
}
.header-nav_list {
  width: 500px;
  padding: 0;
  margin: 0 auto;
}

@media screen and (max-width: 540px) {
  .header-nav_list {
    width: auto;
  }
  footer {
    padding-top: 18px;
  }
}
.footer_logo {
  margin-bottom: 30px;
}
@media screen and (max-width: 550px) {
  .footer_logo {
    margin-bottom: 0px;
  }
  .suisen_fl {
    display: block;
  }
  .suisen_ul_contents li img {
    width: auto;
    margin-right: 0px;
    margin: 21px auto 14px;
    align-self: flex-start;
  }
}

@media screen and (max-width: 360px) {
  #sp-fttap ul li button {
    font-size: 15px !important;
  }
}
.bg_cream {
  background: #fff9df;
}
.orange_border {
  border: solid #1d6ab2 6px;
  border-radius: 15px;
  overflow: hidden;
  background-color: #fffbf0;
}

.orange_border .common_title_b {
  background-color: #1d6ab2;
  border-radius: 0px;
  color: #fff;
  padding: 9px 9px;
  margin-bottom: 0;
}
.orange_border .common_title_b::before {
  content: none;
}
.px-6_a:has(.orange_border) {
  margin-top: 1.6rem;
  padding-bottom: 2.6rem;
}
.bg_gray {
  background-color: #f2f2f2;
}
.text_style_bold {
  font-weight: bold;
  letter-spacing: 1;
  letter-spacing: 1px;
  line-height: 25px;
  text-shadow: 3px 3px 0px #fff, -3px -3px 0px #fff, -3px 3px 0px #fff,
    3px -3px 0px #fff, 3px 0px 0px #fff, -3px -0px 0px #fff, 0px 3px 0px #fff,
    0px -3px 0px #fff;
}
.slant-bg {
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  top: 0px;
}

.slant-bg::before {
  content: "";
  position: absolute;
  top: -76px;
  bottom: 46px;
  left: 0;
  right: 0;
  background-color: #f2f2f2;
  transform: skewY(-7deg);
  z-index: -1;
}
.px-6_easy {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0rem;
}
.text_box_white {
  padding: 10px;
  background-color: #fff;
  margin-top: 0px;
}
.px-6_top_only {
  margin-top: 1.6rem;
}
.px-6_side {
  margin-right: 1.6rem;
  margin-left: 1.6rem;
}
.onayamiklkaiketu {
  margin-bottom: 20px;
  margin-top: 23px;
}

.box_grid {
  /* 方眼紙模様に必須のスタイル */
  background-image: linear-gradient(
      0deg,
      transparent calc(100% - 1px),
      #f0f0f0 calc(100% - 1px)
    ),
    linear-gradient(
      90deg,
      transparent calc(100% - 1px),
      #f0f0f0 calc(100% - 1px)
    );
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
  margin-bottom: 22px;
  /* 以下任意のスタイル */
  padding: 20px;
}
.reason-item span {
  color: #f52308;
} /*
.inner_katagaki{
  padding: 8px;
  border: solid #ffdd59 3px;
  margin-top: 0;
  border-radius: 0px 0px 8px 8px;
}*/
.suisen_section .suisen_ul_contents {
  border: solid #1d6ab2 6px;
  border-radius: 15px;
  overflow: hidden;
}
.table_2FG tr:nth-child(2n) td {
  background: #ffffff;
  color: #333;
  padding-top: 15px;
  padding-bottom: 13px;
}
.common_title_b .icon_img_tuning {
  width: 19px;
  position: relative;
  top: -2px;
}
.fl_wrap_intyo {
  display: flex;
}
.suisen_ul_contents li .intyo_img_a {
  float: left;
  margin-bottom: 2px;
  width: 43%;
}
.intyo_img_a + span {
  clear: both;
}

.intyo_section p,
.intyo_section .suisen_ul_contents h3 {
  margin: 0;
}
.px-6_a.bottom_px_wrap {
  padding-bottom: 0;
}

.suisen_ul_contents .inner_name {
  padding-top: 10px;
  padding-bottom: 10px;
  color: #fff;
}
@media screen and (max-width: 540px) {
  .suisen_ul_contents li .intyo_img_a {
    float: initial;
    margin-bottom: 17px;
    margin-top: 11px;
    width: 80%;
  }
  .intyo_section .suisen_ul_contents.bottom_ul_contents {
    padding: 10px;
    background-color: #ffff;
    letter-spacing: 1px;
    line-height: 25px;
    padding: 17px;
    margin-top: 14px;
  }
  .intyo_section .suisen_ul_contents p {
    padding: 10px;
    background-color: #ffff;
  }
}
.intyo_section .inner_name {
  background-color: #1d6ab2;
  border-radius: 8px 8px 8px 8px;
}

.intyo_section .inner_name b {
  font-size: 27px;
  letter-spacing: 4px;
}
.pc_on {
  display: block;
}
@media screen and (max-width: 540px) {
  .pc_on {
    display: none;
  }
  .intyo_section .suisen_ul_contents h3 {
    margin-bottom: 17px;
  }
  @media screen and (max-width: 540px) {
    .intyo_section .suisen_ul_contents.bottom_ul_contents {
      padding: 0;
      background-color: initial;
      letter-spacing: 1px;
      line-height: 25px;
      padding: 0;
      margin-top: 14px;
    }
  }
}
.reason-item p {
  font-size: 23px;
  line-height: 28px;
  text-align: left;
  font-weight: bold;
}
@media screen and (max-width: 540px) {
  .reason-item p {
    font-size: 19px;
    line-height: 25px;
  }
}
@media screen and (max-width: 380px) {
  .reason-item p {
    font-size: 17px;
    line-height: 25px;
  }
}
.fl_wrap_aaa {
  display: flex;
  padding-right: 17px;
  padding-left: 17px;
}
@media screen and (max-width: 554px) {
  .fl_wrap_aaa {
    display: block;
    padding-right: 17px;
    padding-left: 17px;
  }
  .inner_katagaki {
    display: flex;
    justify-content: center;
  }
}

.logo-pc.logo_right {
  position: fixed;
  height: 100%; /*
  width: calc(175vw - 250px);*/
  text-align: center;
}
.logo-pc__inner {
  background: rgba(255, 255, 255, 0.7);
}

.inner_logo_link {
  padding: 5px 21px;
  background-color: #fff;
  margin-bottom: 11px;
}
.logo-pc__inner li {
  margin-bottom: 10px;
}

.logo-pc__inner li a {
  background: #e56ea4;
  margin-bottom: 2px;
  width: 100%;
  border-radius: 10px;
}
.logo-pc__inner li:last-child {
  margin-bottom: 0px;
}
.header-nav-number {
  background-color: #fff;
  padding: 1px 9px;
  color: #595757;
  border-radius: 6px;
  /* display: flex; */
  margin-right: 6px;
}
.logo-pc__inner li a.arrow_s {
  display: flex;
}

.logo-pc__inner li a {
  padding-left: 18px;
}
.logo_left {
  z-index: 1111;
}
.logo_right .logo-pc__inner {
  padding: 0;
  background: initial;
}
.logo_right.logo-pc a {
  padding-top: 0px;
  padding-bottom: 0px;
}
.logo_right .inner_aaa {
  width: 88%;
  margin: 0 auto;
}
.sp_on_aaa {
  display: none;
}
.logo-pc.logo_right {
  position: fixed;
  height: 100%;
  /* width: calc(175vw - 250px); */
  text-align: center;
  right: 0;
}
.inner_logo_pc {
  display: inline-block;
  transform: 0.5s;
  font-weight: bold;
  padding-top: 12px;
  padding-bottom: 25px;
}
@media screen and (max-width: 1432px) {
  .logo_right .inner_aaa {
    width: 100%;
  }
  .logo-pc__inner {
    max-width: 337px;
  }
  .logo-pc__inner li a {
    padding-left: 6px;
  }
  .header-nav-number {
    margin-right: 6px;
  }
  .logo-pc a {
    font-size: 15.6px;
  }
  .header-nav-number {
    padding: 1px 9px;
  }
}
@media screen and (max-width: 1265px) {
  .logo-pc__inner {
    max-width: 300px;
  }
  .logo-pc__inner li a {
    padding-left: 3px;
  }
  .header-nav-number {
    margin-right: 3px;
  }
  .logo-pc a {
    font-size: 14px;
  }
  .header-nav-number {
    padding: 1px 9px;
  }
  .logo-pc__inner li a.arrow_s:before {
    right: 3px;
  }
}

@media screen and (max-width: 1210px) {
  .logo-pc__inner {
    max-width: 280px;
  }
  .logo-pc__inner li a {
    padding-left: 3px;
  }
  .header-nav-number {
    margin-right: 3px;
  }
  .logo-pc a {
    font-size: 14px;
  }
  .header-nav-number {
    padding: 1px 9px;
  }
  .logo-pc__inner li a.arrow_s:before {
    right: 3px;
  }
  .logo-pc__inner {
    padding: 0.3rem 0.3rem;
  }
}

@media screen and (max-width: 1150px) {
  .sp_on_aaa {
    display: block;
  }
  .pc_on_aaa {
    display: none;
  }
  header {
    padding: 13px 11px;
  }
}
