/*****************/
/**** reset *****/
/*****************/
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html,
body {
  height: 100%;
}

body {
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

picture {
  max-width: none;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

#root,
#__next {
  isolation: isolate;
}

html {
  font-size: 62.5%;
}

body {
  color: #262629;
  font-family: "Yu Gothic", "YuGothic", "Noto Sans JP", "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  body {
    overflow-x: hidden;
  }
}

a {
  display: block;
  text-decoration: none;
  transition: all 0.6s ease;
}
a:hover {
  opacity: 0.6;
}

ul {
  padding: 0;
}
ul li {
  list-style: none;
}

img {
  height: auto;
}

@media screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
  .container {
    width: 980px;
    margin: 0 auto;
    position: relative;
  }
  .section-ttl {
    background-color: white;
    display: flex;
    height: 337px;
    align-items: center;
    justify-content: center;
  }
  .section-ttl img {
    margin: auto;
  }
}
@media screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
  .container {
    width: 90%;
    margin: 0 auto;
    position: relative;
  }
  .section-ttl {
    background-color: white;
    display: flex;
    height: 64.1025641026vw;
    align-items: center;
    justify-content: center;
  }
  .section-ttl img {
    margin: auto;
  }
}
/* =====================================
	header
===================================== */
.header.pc_only {
  width: 980px;
  height: 100px;
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
  position: relative;
}

.header.pc_only .logo {
  position: absolute;
  margin-left: 32px;
  top: 50%;
  transform: translateY(-50%);
}

.header.pc_only .logo img {
  width: 244px;
}

.header.pc_only .telno {
  position: absolute;
  margin-left: 450px;
  top: 10px;
}

.header.pc_only .header_cv_btn {
  position: absolute;
  margin-left: 730px;
  top: 10px;
}

.header.pc_only .telno .counseling {
  position: absolute;
  display: block;
  width: 250px;
  height: 70px;
  background: #FFF;
  margin-left: 280px;
  margin-top: -76px;
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}

.header.pc_only .telno .counseling:hover,
.header.pc_only .telno .mail:hover {
  opacity: 0.4;
  filter: alpha(opacity=40);
  -moz-opacity: 40;
}

.header.pc_only .telno .mail {
  position: absolute;
  display: block;
  width: 250px;
  height: 25px;
  background: #FFF;
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  margin-left: 280px;
  margin-top: -31px;
}

@media screen and (max-width: 768px) {
  .header.sp_only {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5000;
    width: 100%;
    background: #FFF;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
  .header.sp_only .logo {
    margin-left: 2.6666666667vw;
    display: flex;
    align-items: center;
  }
  .header.sp_only .logo img {
    width: 38.6666666667vw;
  }
  .header.sp_only .headnavi ul li {
    flex: 1;
  }
  .header.sp_only .headnavi ul {
    display: flex;
    width: 31.3333333333vw;
  }
}
/* =====================================
	popup
===================================== */
@media screen and (min-width: 769px) {
  .popup-wrapper {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.7);
    width: 100%;
    height: 100vh;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
  }
  .popup-wrapper.active {
    display: flex;
  }
  .popup-wrapper .popup-main {
    margin: auto;
    background-color: white;
    border-radius: 16px;
    padding: 30px;
    position: absolute;
    max-width: 669px;
  }
  .popup-wrapper .popup-main__ttl {
    font-size: 30px;
    text-align: center;
    padding-bottom: 20px;
    border-bottom: 1px solid #f57da4;
  }
  .popup-wrapper .popup-main__desc {
    margin-top: 20px;
    font-size: 20px;
    line-height: 1.6;
  }
  .popup-wrapper .popup-main__close {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #f57da4;
    color: white;
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -20px;
    right: -20px;
    cursor: pointer;
  }
  .popup_btn {
    cursor: pointer;
  }
}
@media screen and (max-width: 768px) {
  .popup-wrapper {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.7);
    width: 100%;
    height: 100vh;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
  }
  .popup-wrapper.active {
    display: flex;
  }
  .popup-wrapper .popup-main {
    margin: auto;
    background-color: white;
    border-radius: 16px;
    padding: 15px;
    position: absolute;
    width: 90%;
  }
  .popup-wrapper .popup-main__ttl {
    font-size: 20px;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #f57da4;
  }
  .popup-wrapper .popup-main__desc {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.6;
  }
  .popup-wrapper .popup-main__close {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #f57da4;
    color: white;
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -10px;
    right: -10px;
    cursor: pointer;
  }
  .popup_btn {
    cursor: pointer;
  }
}
/* =====================================
	hero
===================================== */
@media screen and (min-width: 769px) {
  .hero {
    background-image: url(../img/hero-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  .hero-main {
    margin: 0 auto;
    width: 1190px;
  }
  .hero-main img {
    margin: 0 auto;
    width: 1100px;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 3%, black 90%, transparent 100%), linear-gradient(to top, transparent 0%, black 3%, black 100%);
            mask-image: linear-gradient(to right, transparent 0%, black 3%, black 90%, transparent 100%), linear-gradient(to top, transparent 0%, black 3%, black 100%);
    -webkit-mask-composite: source-in, xor;
            mask-composite: intersect;
  }
  .hero .container {
    z-index: 5;
    width: 1190px;
  }
  .hero-ctr {
    margin: -70px auto 0;
    width: 880px;
    height: 360px;
    background-image: url(../img/ctr.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
  }
  .hero-ctr__list {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: 820px;
    display: flex;
    justify-content: space-between;
  }
  .hero-ctr__item {
    flex-shrink: 0;
    width: 402px;
    height: 106px;
  }
  .hero-ctr__link {
    height: 100%;
  }
  .hero-ctr__link img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .hero-popup_btn {
    margin: 30px auto 0;
    width: 246px;
  }
  .hero-problem {
    margin-top: -150px;
    padding-left: 156px;
    width: 1190px;
  }
  .hero-problem img {
    width: 1033px;
  }
}
@media screen and (max-width: 768px) {
  .hero {
    background: linear-gradient(to right, #12609b, #0e4982);
    padding-top: 15.8974358974vw;
  }
  .hero-main {
    margin: 0 auto;
  }
  .hero .container {
    z-index: 5;
  }
  .hero-ctr {
    margin: -64.1025641026vw auto 0;
    height: 84.6153846154vw;
    background-image: url(../img/sp/ctr.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
  }
  .hero-ctr__list {
    position: absolute;
    bottom: 5.1282051282vw;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
  }
  .hero-ctr__item {
    height: 15.3846153846vw;
  }
  .hero-ctr__link {
    height: 100%;
  }
  .hero-ctr__link img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .hero-popup_btn {
    margin-top: 3.8461538462vw;
    width: 48.2051282051vw;
  }
  .hero-problem {
    margin-top: -46.1538461538vw;
  }
}
/* =====================================
	amazing
===================================== */
@media screen and (min-width: 769px) {
  .amazing-ttl img {
    width: 620px;
  }
  .amazing-main {
    background-color: #eaf5f8;
    padding-top: 50px;
    padding-bottom: 80px;
  }
  .amazing-main picture:last-child {
    margin-top: 34px;
  }
}
@media screen and (max-width: 768px) {
  .amazing-ttl img {
    width: 53.8461538462vw;
  }
  .amazing-main {
    background-color: #eaf5f8;
    padding-top: 10.2564102564vw;
    padding-bottom: 10.2564102564vw;
  }
  .amazing-main picture:last-child {
    margin-top: 5.1282051282vw;
  }
}
/* =====================================
	comparison
===================================== */
@media screen and (min-width: 769px) {
  .comparison-ttl img {
    width: 500px;
  }
  .comparison-main {
    background-color: #efefef;
    padding-top: 45px;
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 768px) {
  .comparison-ttl img {
    width: 76.9230769231vw;
  }
  .comparison-main {
    background-color: #efefef;
    padding-top: 40px;
    padding-bottom: 20px;
  }
}
/* =====================================
	cta-wrap
===================================== */
@media screen and (min-width: 769px) {
  .cta-wrap {
    padding-top: 80px;
  }
  .cta-wrap__catch {
    width: 578px;
    margin: 0 auto;
  }
  .cta-wrap__list {
    margin: 30px auto 0;
    width: 940px;
    display: flex;
    justify-content: space-between;
  }
  .cta-wrap__item {
    width: 462px;
    height: 106px;
    flex-shrink: 0;
  }
  .cta-wrap__link {
    height: 100%;
  }
  .cta-wrap__link img {
    -o-object-fit: contain;
       object-fit: contain;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  .cta-wrap {
    padding-top: 10.2564102564vw;
  }
  .cta-wrap__catch {
    width: 63.5897435897vw;
    margin: 0 auto;
  }
  .cta-wrap__list {
    margin: 2.5641025641vw auto 0;
    width: 76.9230769231vw;
  }
  .cta-wrap__item {
    height: 14.358974359vw;
  }
  .cta-wrap__item:last-child {
    margin-top: 2.5641025641vw;
  }
  .cta-wrap__link {
    height: 100%;
  }
  .cta-wrap__link img {
    -o-object-fit: contain;
       object-fit: contain;
    width: 100%;
    height: 100%;
  }
}
/* =====================================
	case
===================================== */
@media screen and (min-width: 769px) {
  .case-ttl img {
    width: 583px;
  }
  .case-main {
    background-color: #eaf5f8;
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 768px) {
  .case-ttl img {
    width: 71.0256410256vw;
  }
  .case-main {
    background-color: #eaf5f8;
    padding-top: 11.2820512821vw;
    padding-bottom: 10.2564102564vw;
  }
}
/* =====================================
	price
===================================== */
@media screen and (min-width: 769px) {
  .price-title img {
    width: 600px;
  }
  .price-main {
    background-color: #eaf5f8;
  }
  .price-ttl {
    position: relative;
  }
  .price-ttl::before {
    content: "";
    width: 50%;
    height: 100%;
    display: block;
    background-color: #1b5c9a;
    top: 0;
    left: 0;
    position: absolute;
  }
  .price-ttl::after {
    content: "";
    width: 50%;
    height: 100%;
    display: block;
    background-color: #0e4a83;
    top: 0;
    right: 0;
    position: absolute;
  }
  .price-ttl img {
    position: relative;
    z-index: 5;
    width: 1200px;
    margin: 0 auto;
    max-width: none;
  }
  .price .container {
    padding-left: 20px;
    padding-right: 20px;
  }
  .price-note {
    margin: 30px auto 0;
    width: 562px;
  }
  .price-link {
    margin: 30px auto 0;
    width: 246px;
  }
}
@media screen and (max-width: 768px) {
  .price-title img {
    width: 59.2307692308vw;
  }
  .price-ttl {
    width: 90%;
    margin: 0 auto;
  }
  .price-ttl img {
    position: relative;
    z-index: 5;
    margin: 0 auto;
  }
  .price-note {
    width: 90%;
    margin: 3.8461538462vw auto 0;
  }
  .price-link {
    margin-top: 3.8461538462vw;
    margin-left: 5.1282051282vw;
    width: 47.6923076923vw;
  }
}
/* =====================================
	flow
===================================== */
@media screen and (min-width: 769px) {
  .flow-ttl img {
    width: 640px;
  }
  .flow-step {
    position: relative;
  }
  .flow-step.step1, .flow-step.step3 {
    background-color: #0e4a83;
  }
  .flow-step.step2, .flow-step.step4 {
    background-color: #145fa6;
  }
  .flow-step img {
    margin: 0 auto;
    width: 1200px;
  }
  .flow-step .step-after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  .flow-step .step-after img {
    width: 1200px;
  }
  .flow-step.step5 .step-after {
    position: relative;
    width: 100%;
  }
  .flow-step.step5 .step-after img {
    width: 1200px;
  }
}
@media screen and (max-width: 768px) {
  .flow-ttl img {
    width: 59.4871794872vw;
  }
  .flow-step {
    position: relative;
  }
  .flow-step.step1, .flow-step.step3 {
    background-color: #0e4a83;
  }
  .flow-step.step2, .flow-step.step4 {
    background-color: #145fa6;
  }
  .flow-step img {
    margin: 0 auto;
  }
  .flow-step .step-after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  .flow-step .step-after img {
    width: 100%;
  }
  .flow-step.step5 .step-after {
    position: relative;
    width: 100%;
  }
  .flow-step.step5 .step-after img {
    width: 100%;
  }
}
/* =====================================
	reason
===================================== */
@media screen and (min-width: 769px) {
  .reason-ttl img {
    width: 665px;
  }
  .reason-main {
    background-color: #eaf5f8;
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .reason-main .reason1 {
    margin-bottom: 25px;
  }
  .reason-main .reason2 {
    margin-bottom: 25px;
  }
  .reason-main img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .reason-ttl img {
    width: 58.2051282051vw;
  }
  .reason-main {
    background-color: #eaf5f8;
    padding-top: 25px;
    padding-bottom: 45px;
  }
  .reason-main .reason1 {
    margin-bottom: 13px;
  }
  .reason-main .reason2 {
    margin-bottom: 13px;
  }
  .reason-main img {
    width: 100%;
  }
}
/* =====================================
	faq
===================================== */
@media screen and (min-width: 769px) {
  .faq {
    background-color: #0e4a83;
    padding-top: 75px;
    padding-bottom: 80px;
  }
  .faq-ttl img {
    margin: 0 auto;
    width: 274px;
  }
  .faq-list {
    margin-top: 50px;
  }
  .faq-list__item {
    margin-bottom: 30px;
    border-radius: 12px;
    overflow: hidden;
  }
  .faq-list__item:last-child {
    margin-bottom: 0;
  }
  .faq-list__question {
    background-color: white;
    position: relative;
    display: flex;
    align-items: center;
    padding: 30px;
    font-size: 30px;
    color: #0e4a83;
    cursor: pointer;
    font-weight: 600;
  }
  .faq-list__question picture {
    width: 44px;
    flex-shrink: 0;
    margin: 0;
    margin-right: 22px;
  }
  .faq-list__question:before {
    content: "";
    display: block;
    width: 28px;
    height: 2px;
    background-color: #0e4a83;
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translateY(-50%);
  }
  .faq-list__question::after {
    content: "";
    display: block;
    width: 2px;
    height: 28px;
    background-color: #0e4a83;
    position: absolute;
    top: 50%;
    right: 53px;
    transform: translateY(-50%);
  }
  .faq-list__question.active:after {
    display: none;
  }
  .faq-list__answer {
    font-size: 22px;
    color: black;
    padding: 40px 32px;
    background-color: #eef4f9;
    line-height: normal;
  }
}
@media screen and (max-width: 768px) {
  .faq {
    background-color: #0e4a83;
    padding-top: 48px;
    padding-bottom: 50px;
  }
  .faq-ttl img {
    margin: 0 auto;
    width: 44.6153846154vw;
  }
  .faq-list {
    margin-top: 40px;
  }
  .faq-list__item {
    margin-bottom: 20px;
    border-radius: 12px;
    overflow: hidden;
  }
  .faq-list__item:last-child {
    margin-bottom: 0;
  }
  .faq-list__question {
    background-color: white;
    position: relative;
    display: flex;
    padding: 20px;
    padding-right: 36px;
    font-size: 16px;
    line-height: normal;
    color: #0e4a83;
    cursor: pointer;
    font-weight: 600;
  }
  .faq-list__question picture {
    width: 28px;
    flex-shrink: 0;
    margin: 0;
    margin-right: 12px;
    transform: translateY(-3px);
  }
  .faq-list__question:before {
    content: "";
    display: block;
    width: 20px;
    height: 1px;
    background-color: #0e4a83;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
  }
  .faq-list__question::after {
    content: "";
    display: block;
    width: 1px;
    height: 20px;
    background-color: #0e4a83;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
  }
  .faq-list__question.active:after {
    display: none;
  }
  .faq-list__answer {
    font-size: 14px;
    color: black;
    padding: 25px 20px;
    background-color: #eef4f9;
    line-height: normal;
  }
}
/* =====================================
	map
===================================== */
#sec06 {
  margin-top: 80px;
  width: 100%;
  padding: 0 0 100px;
  background: #ebf1f4;
}

#sec06 h2 {
  max-width: 1000px;
  margin: 0 auto;
}

#sec06 p {
  font-size: 1.8rem;
  text-align: center;
  font-weight: bold;
  color: #204077;
  line-height: 1;
  margin-bottom: 60px;
}

#sec06 .map {
  width: 1000px;
  height: 705px;
  position: relative;
  margin: 0 auto;
  background: url("../img/clinic/bg_tokyo.png") no-repeat top left 191px;
}

#sec06 .map li {
  position: absolute;
  cursor: pointer;
}

#sec06 .map li:nth-child(1) {
  top: 122px;
  left: 708px;
}

#sec06 .map li:nth-child(2) {
  top: 304px;
  left: 731px;
}

#sec06 .map li:nth-child(3) {
  top: 459px;
  left: 601px;
}

#sec06 .map li:nth-child(4) {
  top: 203px;
  left: 458px;
}

#sec06 .map li:nth-child(5) {
  top: 475px;
  left: 405px;
}

#sec06 .map li:nth-child(6) {
  top: 212px;
  left: 300px;
}

#sec06 .map li:nth-child(7) {
  top: 290px;
  left: 169px;
}

#sec06 .map li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: 0.3s all ease;
}

#sec06 .map li.active::before {
  opacity: 1;
}

#sec06 .map li:nth-child(1)::before {
  background: url("../img/clinic/hokkaido_on.png") no-repeat center;
}

#sec06 .map li:nth-child(2)::before {
  background: url("../img/clinic/kanto_on.png") no-repeat center;
}

#sec06 .map li:nth-child(3)::before {
  background: url("../img/clinic/tokyo_on.png") no-repeat center;
}

#sec06 .map li:nth-child(4)::before {
  background: url("../img/clinic/tyubu_on.png") no-repeat center;
}

#sec06 .map li:nth-child(5)::before {
  background: url("../img/clinic/kansai_on.png") no-repeat center;
}

#sec06 .map li:nth-child(6)::before {
  background: url("../img/clinic/tyugoku_on.png") no-repeat center;
}

#sec06 .map li:nth-child(7)::before {
  background: url("../img/clinic/kyusyu_on.png") no-repeat center;
}

#sec06 .shopList {
  width: 100%;
  max-width: 690px;
  margin: 56px auto 0;
}

#sec06 .shopList > li {
  width: 100%;
  display: none;
}

#sec06 .shopList > li.active {
  display: block;
}

#sec06 .shopList h3 {
  width: 100%;
  height: 80px;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #fff;
  padding-top: 27px;
  background: #545d72;
}

#sec06 .shopList dl {
  width: 100%;
  display: flex;
}

#sec06 .shopList dl div {
  width: 50%;
  position: relative;
}

#sec06 .shopList li.kanto dl div:first-child::before,
#sec06 .shopList li.kansai dl div:first-child::before,
#sec06 .shopList li.kyusyu dl div:first-child::before {
  content: "";
  width: 1px;
  height: calc(100% - 99px);
  background: #cdc3c3;
  position: absolute;
  bottom: 0;
  left: calc(100% - 1px);
}

#sec06 .shopList li.tyugoku dl div:first-child::before {
  content: "";
  width: 1px;
  height: calc(100% - 99px);
  background: #cdc3c3;
  position: absolute;
  bottom: 0;
  left: 100%;
}

#sec06 .shopList dl div dt {
  font-size: 2.8rem;
  line-height: 1;
  text-align: center;
  color: #fff;
  padding-top: 36px;
  background: #f57da4;
  width: 100%;
  height: 99px;
}

#sec06 .shopList dl div:nth-child(2) dt {
  background: #ba89c6;
}

#sec06 .shopList dl div dd ul {
  display: flex;
  flex-wrap: wrap;
  background: #cdc3c3;
  gap: 2px;
  width: 100%;
  position: relative;
}

#sec06 .shopList dl div dd ul li {
  width: calc((100% - 2px) / 2);
  height: 86px;
  background: #fff;
  position: relative;
}

#sec06 .shopList dl div:first-child dd ul li:nth-child(odd)::before {
  content: "";
  height: 2px;
  width: 5px;
  background: #fff;
  position: absolute;
  bottom: -2px;
  left: 0;
}

#sec06 .shopList dl div:nth-child(2) dd ul li:nth-child(even)::before {
  content: "";
  height: 2px;
  width: 5px;
  background: #fff;
  position: absolute;
  bottom: -2px;
  right: 0;
}

#sec06 .shopList dl div:first-child dd ul li:nth-child(odd):last-child::before {
  content: "";
  height: 100%;
  width: 1px;
  background: #cdc3c3;
  position: absolute;
  top: 0;
  bottom: auto;
  left: auto;
  right: calc(-100% - 2px);
  z-index: 100;
}

#sec06 .shopList dl div dd ul li:nth-child(odd):last-child::after {
  content: "";
  height: 100%;
  width: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  right: calc(-100% - 2px);
}

#sec06 .shopList dl div:first-child dd ul li:nth-child(even)::before {
  content: "";
  height: 100%;
  width: 1px;
  background: #cdc3c3;
  position: absolute;
  top: 0;
  right: 0;
}

#sec06 .shopList dl div:nth-child(2) dd ul li:nth-child(odd)::before {
  content: "";
  height: 100%;
  width: 1px;
  background: #cdc3c3;
  position: absolute;
  top: 0;
  left: 0;
}

#sec06 .shopList dl div dd ul li a {
  font-size: 2rem;
  line-height: 1;
  text-align: center;
  color: #f57da4;
  padding-top: 34px;
  width: 100%;
  height: 86px;
  display: block;
}

#sec06 .shopList dl div:nth-child(2) dd ul li a {
  color: #ba89c6;
}

#sec06 .shopList dl div dd ul li a::before {
  content: "";
  width: 14px;
  height: 14px;
  border-top: solid 2px #f57da4;
  border-right: solid 2px #f57da4;
  position: absolute;
  right: 16px;
  top: 50.8%;
  transform: translateY(-50%) rotate(45deg);
}

#sec06 .shopList dl div:nth-child(2) dd ul li a::before {
  border-top: solid 2px #ba89c6;
  border-right: solid 2px #ba89c6;
}

@media screen and (max-width: 768px) {
  #sec06 {
    margin-top: 43px;
    padding: 13.867vw 0 12.133vw;
  }
  #sec06 p {
    font-size: 4vw;
    margin-bottom: 5.2vw;
  }
  #sec06 .map {
    width: 100%;
    height: 94vw;
    background: url("../img/clinic/bg_tokyo.png") no-repeat center top;
    background-size: 86.933vw;
  }
  #sec06 .map li:nth-child(1) {
    top: 16.267vw;
    left: 77.733vw;
    width: 17.067vw;
  }
  #sec06 .map li:nth-child(2) {
    top: 40.533vw;
    left: 80.8vw;
    width: 17.067vw;
  }
  #sec06 .map li:nth-child(3) {
    top: 60.933vw;
    left: 63.33vw;
    width: 25.867vw;
  }
  #sec06 .map li:nth-child(4) {
    top: 27.067vw;
    left: 44.4vw;
    width: 17.067vw;
  }
  #sec06 .map li:nth-child(5) {
    top: 63.33vw;
    left: 37.33vw;
    width: 17.067vw;
  }
  #sec06 .map li:nth-child(6) {
    top: 28.267vw;
    left: 23.33vw;
    width: 17.067vw;
  }
  #sec06 .map li:nth-child(7) {
    top: 38.67vw;
    left: 5.867vw;
    width: 17.067vw;
  }
  #sec06 .map li:nth-child(1)::before {
    background: url("../img/clinic/hokkaido_on.png") no-repeat center;
    background-size: cover;
  }
  #sec06 .map li:nth-child(2)::before {
    background: url("../img/clinic/kanto_on.png") no-repeat center;
    background-size: cover;
  }
  #sec06 .map li:nth-child(3)::before {
    background: url("../img/clinic/tokyo_on.png") no-repeat center;
    background-size: cover;
  }
  #sec06 .map li:nth-child(4)::before {
    background: url("../img/clinic/tyubu_on.png") no-repeat center;
    background-size: cover;
  }
  #sec06 .map li:nth-child(5)::before {
    background: url("../img/clinic/kansai_on.png") no-repeat center;
    background-size: cover;
  }
  #sec06 .map li:nth-child(6)::before {
    background: url("../img/clinic/tyugoku_on.png") no-repeat center;
    background-size: cover;
  }
  #sec06 .map li:nth-child(7)::before {
    background: url("../img/clinic/kyusyu_on.png") no-repeat center;
    background-size: cover;
  }
  #sec06 .shopList {
    width: 92vw;
    margin: 7.467vw auto 0;
  }
  #sec06 .shopList h3 {
    height: 10.67vw;
    font-size: 3.733vw;
    padding-top: 3.6vw;
  }
  #sec06 .shopList li.kanto dl div:first-child::before,
#sec06 .shopList li.kansai dl div:first-child::before,
#sec06 .shopList li.kyusyu dl div:first-child::before {
    height: calc(100% - 10.67vw);
  }
  #sec06 .shopList li.tyugoku dl div:first-child::before {
    height: calc(100% - 10.67vw);
  }
  #sec06 .shopList dl div dt {
    font-size: 3.733vw;
    padding-top: 4.8vw;
    height: 13.2vw;
  }
  #sec06 .shopList dl div dd ul li {
    height: 11.733vw;
  }
  #sec06 .shopList dl div:first-child dd ul li:nth-child(odd)::before {
    width: 0.8vw;
  }
  #sec06 .shopList dl div:nth-child(2) dd ul li:nth-child(even)::before {
    height: 2px;
    width: 0.8vw;
  }
  #sec06 .shopList dl div dd ul li a {
    font-size: 2.67vw;
    padding-top: 4.4vw;
    height: 11.6vw;
  }
  #sec06 .shopList dl div dd ul li a::before {
    width: 1.867vw;
    height: 1.867vw;
    right: 2.267vw;
  }
}
/* =====================================
	footer
===================================== */
@media screen and (min-width: 769px) {
  .footer {
    margin-top: 80px;
  }
  .footer-top {
    background-color: #ea5383;
    padding: 40px;
  }
  .footer-top__list {
    width: 800px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .footer-top__item {
    margin-right: 20px;
    margin-bottom: 15px;
    border-right: 1px solid white;
  }
  .footer-top__item:nth-child(5), .footer-top__item:last-child {
    border: none;
    margin-right: 0;
    padding-right: 0;
  }
  .footer-top__item:nth-child(6), .footer-top__item:nth-child(7), .footer-top__item:last-child {
    margin-bottom: 0;
  }
  .footer-top__link {
    font-size: 20px;
    color: white;
    padding-right: 20px;
  }
  .footer-bottom {
    padding: 50px;
    font-size: 16px;
    color: #ea5383;
    text-align: center;
    line-height: 2;
  }
}
@media screen and (max-width: 768px) {
  .footer {
    margin-top: 40px;
  }
  .footer-top {
    background-color: #ea5383;
    padding: 15px 20px;
  }
  .footer-top__list {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .footer-top__item {
    margin-right: 8px;
    margin-bottom: 15px;
    border-right: 1px solid white;
  }
  .footer-top__item:nth-child(4), .footer-top__item:nth-child(7), .footer-top__item:last-child {
    border: none;
    margin-right: 0;
    padding-right: 0;
    margin-bottom: 0;
  }
  .footer-top__link {
    font-size: 12px;
    color: white;
    padding-right: 8px;
  }
  .footer-bottom {
    padding: 25px;
    font-size: 12px;
    color: #ea5383;
    text-align: center;
    line-height: 2;
  }
}
/*# sourceMappingURL=style.css.map */