@charset "UTF-8";
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "ZenMaruGothic-Regular";
  src: url("../fonts/ZenMaruGothic-Regular.ttf");
  font-display: swap;
}
@font-face {
  font-family: "ZenMaruGothic-Medium";
  src: url("../fonts/ZenMaruGothic-Medium.ttf");
  font-display: swap;
}
@font-face {
  font-family: "ZenMaruGothic-Bold";
  src: url("../fonts/ZenMaruGothic-Bold.ttf");
  font-display: swap;
}
@font-face {
  font-family: "ZenMaruGothic-Black";
  src: url("../fonts/ZenMaruGothic-Black.ttf");
  font-display: swap;
}
/*	layout
------------------------------------ */
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "ZenMaruGothic-Regular";
  src: url("../fonts/ZenMaruGothic-Regular.ttf");
  font-display: swap;
}
@font-face {
  font-family: "ZenMaruGothic-Medium";
  src: url("../fonts/ZenMaruGothic-Medium.ttf");
  font-display: swap;
}
@font-face {
  font-family: "ZenMaruGothic-Bold";
  src: url("../fonts/ZenMaruGothic-Bold.ttf");
  font-display: swap;
}
@font-face {
  font-family: "ZenMaruGothic-Black";
  src: url("../fonts/ZenMaruGothic-Black.ttf");
  font-display: swap;
}
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/************************************************

  SP layout

************************************************/
/*	cmn parts  SP
------------------------------------ */
.com-inner {
  padding: 50px 15px;
}

.com-md-inner {
  padding: 50px 15px;
}

.no-sb {
  margin: 30px auto 0;
}

.com-ib {
  display: inline-block;
}

.mb10 {
  margin-bottom: 10px;
}
.mb20 {
  margin-bottom: 20px;
}

.anchor-mp {
  margin: -70px auto 0;
  padding-top: 70px;
}

.com-txt-box p:nth-of-type(n+2) {
  margin-top: 15px;
}

/*  共通パーツ
------------------------------------ */
.com-chara-bg {
  padding-bottom: 150px;
  background-size: 150px, 120px;
  background-position: 5px calc(100% - 30px), calc(100% - 5px) bottom;
}

.com-voice {
  flex-direction: column;
  align-items: center;
}
.com-voice-link {
  padding: 15px;
}
.com-voice-link::after {
  width: 16px;
  height: 31px;
  bottom: -39px;
}
.com-voice-item:nth-of-type(n+2) {
  margin: 60px auto 0;
}

.com-bg01 {
  background-size: 100%;
}

.news-post-link {
  padding: 20px 15px;
  border-radius: 21px;
}
.news-post-tag {
  margin-left: 9px;
}

.com-tag {
  flex-direction: column;
  align-items: center;
}
.com-tag-item {
  width: 100%;
}
.com-tag-item:nth-of-type(n+2) {
  margin-top: 20px;
}
.com-tag-link {
  height: 60px;
}

/* =========================================

  main  SP

========================================= */
/*  top-news  SP
------------------------------------ */
#top-news .news-bg {
  background-size: 100%;
}
#top-news .news-inner {
  padding-top: 0;
}
#top-news .news-flx {
  display: block;
}
#top-news .news-ttl {
  text-align: center;
}
#top-news .news-btn {
  margin: 20px auto 0;
  position: static;
}
#top-news .news-post {
  margin: 25px auto 0;
}

/*  top-worries  SP
------------------------------------ */
#top-worries .worries-inner {
  background-size: 150px;
  background-position: left 68px;
}
#top-worries .worries-list {
  flex-direction: column;
  align-items: center;
}
#top-worries .worries-list-item:nth-of-type(n+2) {
  margin: 30px auto 0;
}
#top-worries .sign {
  margin: 15px auto 0;
  padding-top: 70px;
  background-size: 100px;
}
#top-worries .sign-link {
  margin-top: 20px;
  border: 6px solid #ffb7c5;
  text-align: center;
}
#top-worries .sign-link-box {
  padding: 0 0 40px;
  border-radius: 25px 25px 0 0;
  background: url(../img/top/sign-01.png) no-repeat -15px calc(100% + 15px)/50px, url(../img/top/sign-02.png) no-repeat 15px calc(100% - 85px)/50px, url(../img/top/top_diagnosis-bnr-character_c.png) no-repeat 90% 10px/80px, url(../img/top/sign-04.png) no-repeat 95% 120%/80px;
  background-color: #fff;
}
#top-worries .sign-link-fuki {
  width: 165px;
  height: 92px;
  padding-top: 6px;
  position: static;
}
#top-worries .sign-link-ttl-sm {
  font-size: 1.8rem;
  line-height: 1.4;
}
#top-worries .sign-link-ttl-lg {
  font-size: 2.5rem;
}
#top-worries .sign-link-ttl-lg span {
  font-size: 3rem;
}
#top-worries .sign-link-ttl-lg span::before {
  width: 50px;
  height: 50px;
}
#top-worries .sign-link-cta {
  display: inline-block;
  padding-right: 20px;
  background-position: right center;
  text-align: center;
  font-size: 2rem;
}
#top-worries .sign-flx {
  display: block;
}
#top-worries .sign-ttl {
  text-align: center;
}
#top-worries .sign-txt-box {
  margin: 20px auto 0;
}

/*  top-about  SP
------------------------------------ */
#top-about .about-bg {
  padding-bottom: 30px;
}
#top-about .about-ttl {
  font-size: 1.8rem;
}
#top-about .about-ttl-ac {
  font-size: 2rem;
}
#top-about .about-flx {
  display: block;
  margin-top: 25px;
}
#top-about .about-contents {
  margin: 15px auto 0;
}
#top-about .about-btn {
  margin-top: 25px;
  font-size: 1.4rem;
}

/*  top-voice  SP
------------------------------------ */
#top-voice .voice-flx {
  display: block;
}
#top-voice .voice-ttl {
  padding-bottom: 15px;
  background-position-x: center;
  text-align: center;
}
#top-voice .voice-list {
  margin-top: 25px;
}
#top-voice .voice-btn {
  margin: 80px auto 0;
}

/*  top-staff  SP
------------------------------------ */
#top-staff .staff-bg {
  padding-top: 50px;
}
#top-staff .staff-img {
  width: 90%;
  height: auto;
  position: static;
}
#top-staff .staff-img img {
  position: static;
}
#top-staff .staff-inner {
  padding: 20px 15px;
}
#top-staff .staff-ttl {
  text-align: center;
  background-position-x: center;
}
#top-staff .staff-txt-box {
  margin-top: 25px;
}
#top-staff .staff-btn {
  margin-top: 25px;
}

/*  top-flow  SP
------------------------------------ */
#top-flow .flow-list {
  flex-direction: column;
  align-items: center;
}
#top-flow .flow-list-item:nth-of-type(n+2) {
  margin: auto;
  padding-top: 60px;
  background: url(../img/top/top_flow-arw-sp.png) no-repeat center 15px/40px;
}
#top-flow .flow-list-ico {
  width: 80px;
  margin: auto;
}
#top-flow .flow-list-ttl {
  margin-top: 15px;
  font-size: 1.8rem;
}

/*  com-contact  SP
------------------------------------ */
.com-contact {
  background: url(../img/top/contact-bg-wave.png) no-repeat center bottom/100% #fff;
}
.com-contact .contact-ttl {
  padding-top: 20px;
  background: url(../img/top/com_cta-ttl-left.png) no-repeat center top/100px, url(../img/top/com_ttl-deco.png) no-repeat center bottom/90px;
}
.com-contact .contact-txt {
  text-align: left;
}
.com-contact .contact-list {
  flex-direction: column;
  align-items: center;
}
.com-contact .contact-list-btn {
  width: 100%;
  height: 73px;
}
.com-contact .contact-list-btn.flx {
  height: auto;
  padding: 10px 0;
  text-align: center;
  flex-direction: column;
  align-items: center;
}
.com-contact .contact-list-item {
  width: 100%;
}
.com-contact .contact-list-item01::before {
  width: 75px;
  height: 79px;
  top: -40px;
  left: -15px;
}
.com-contact .contact-list-item02 {
  margin: 50px auto 0;
}
.com-contact .contact-list-item02::before {
  width: 75px;
  height: 79px;
  top: -61px;
  right: -10px;
}
.com-contact .contact-tel-link {
  padding-left: 26px;
  background-size: 18px;
  font-size: 2.5rem;
}
.com-contact .contact-tel-note {
  margin-left: -17px;
}
.com-contact .contact-worktime {
  margin: 10px auto 0;
}

/*  top-information  SP
------------------------------------ */
#top-information .information-insta {
  margin-top: 25px;
  padding: 20px 15px 150px;
  border-width: 5px;
  background-position: 10px 85%, calc(100% - 10px) 85%, center bottom;
  background-size: 150px, 150px, 100%;
}
#top-information .information-insta-ttl {
  width: 100%;
  padding: 10px;
}
#top-information .information-flx {
  margin-top: 20px;
  flex-direction: column-reverse;
  align-items: center;
}
#top-information .information-map {
  margin: 20px auto 0;
}
#top-information .information-map-txt {
  font-size: 1.3rem;
}

/* =========================================

sub layout  SP

========================================= */
/*  diagnosis  SP
------------------------------------ */
#diagnosis .diagnosis-inner {
  padding-top: 0;
}
#diagnosis .diagnosis-box {
  padding: 30px 15px;
}
#diagnosis .chart_btn_list {
  margin-top: 20px;
  flex-direction: column;
  align-items: center;
}
#diagnosis .chart_btn_list li:nth-of-type(n+2) {
  margin: 20px auto 0;
}
#diagnosis .chart_btn_list-item a {
  min-height: 115px;
  font-size: 1.5rem;
}
#diagnosis .result_container {
  margin-top: 70px;
  padding: 30px 15px 60px;
}
#diagnosis .result_container::before {
  width: 76px;
  bottom: auto;
  top: -90px;
  pointer-events: none;
}
#diagnosis .result_container::after {
  width: 100px;
  bottom: auto;
  top: -101px;
  pointer-events: none;
}
#diagnosis .result_btn-list {
  bottom: -30px;
}
#diagnosis .result_btn-list-btn {
  width: 90%;
  height: 60px;
}
#diagnosis .result_txt {
  margin-top: 10px;
  text-align: left;
}
#diagnosis .result_txtxbx {
  padding: 20px 15px;
}
#diagnosis .price_info {
  display: block;
}
#diagnosis .price_info dt {
  text-align: center;
  margin: auto;
}
#diagnosis .price_info dd {
  margin: 15px auto 0;
}

/*  about  SP
------------------------------------ */
#about .about-flx {
  margin-top: 20px;
  flex-direction: column;
  align-items: center;
}
#about .about-case-ttl {
  width: 286px;
  height: 68px;
}
#about .about-case-list {
  padding: 60px 0 24px 0;
  border-radius: 15px;
  justify-content: center;
}
#about .about-case-list li:nth-of-type(n+2) {
  margin-left: 14px;
}
#about .class-list {
  margin-top: 100px;
  flex-direction: column;
  align-items: center;
}
#about .class-list-item:nth-of-type(n+2) {
  margin: 100px auto 0;
}
#about .class-list-item01::before {
  width: 127px;
  height: 101px;
  top: -91px;
}
#about .class-list-item02::before {
  width: 110px;
  height: 110px;
  top: -91px;
}
#about .class-list-ttl {
  font-size: 1.8rem;
}
#about .class-list-box01::before {
  width: 47px;
  height: 91px;
}
#about .class-list-box01::after {
  width: 45px;
  height: 56px;
}
#about .class-list-box02::before {
  width: 57px;
}
#about .class-list-box02::after {
  width: 64px;
}
#about .class-list-box-ttl {
  font-size: 2rem;
}
#about .class-list-box-txt {
  padding-bottom: 8px;
}
#about .class-list-box-check {
  margin-top: 15px;
}
#about .class-list-box-check li {
  font-size: 1.5rem;
}
#about .feature-list {
  margin-top: 25px;
}
#about .feature-list-item {
  flex-direction: column;
  align-items: center;
}
#about .feature-list-item:nth-of-type(n+2) {
  margin-top: 30px;
}
#about .feature-list-contents {
  margin: 15px auto 0;
}
#about .feature-list-ttl {
  text-align: center;
  font-size: 1.8rem;
}
#about .feature-list-txt-box {
  margin-top: 16px;
}

/*  review  sP
------------------------------------ */
#review .review {
  padding-bottom: 50px;
}
#review .review-detail {
  padding: 20px 15px 30px;
}
#review .review-detail-dl {
  margin-top: 15px;
  padding: 0;
}
#review .review-detail-dl dt::before {
  width: 35px;
  height: 35px;
  font-size: 1.8rem;
  line-height: 35px;
}
#review .review-detail-dl dd {
  margin: 15px auto 0;
  padding: 20px 15px;
}

/*  staff  SP
------------------------------------ */
#staff .staff-inner {
  padding-top: 20px;
}
#staff .staff-list-item {
  padding: 25px 15px;
}
#staff .staff-list-item:nth-of-type(n+2) {
  margin: 25px auto 0;
}
#staff .staff-ico {
  width: 70%;
  height: 0;
  padding-top: 70%;
}
#staff .staff-txt {
  font-size: 1.5rem;
}

/*  news  SP
------------------------------------ */
#news .com-tag {
  margin-top: 0;
}/*# sourceMappingURL=style_sp.css.map */