/*-------------------------------------------------------------------

	HEADER

-------------------------------------------------------------------*/
@media all{
  header{display:block;}
  a:focus{outline:none;}
  a:active,a:hover{outline:0;}
  h1{font-size:2em;margin:0.67em 0;}
  img{border:0;}
  div,ul,li,h1,h3,p{margin:0;padding:0;}
  img{border:0;}
  ul{list-style:none;}
  h1,h3,p,ul,li{font-weight:normal;}
  img{vertical-align:bottom;border:none;}
  *,*:before,*:after{box-sizing:border-box;}
  h1{line-height:1;}
  img{max-width:100%;height:auto;}
  a{color:#333;text-decoration:none;}
  .l-header{padding:0 0;background-repeat:no-repeat;background-position:center top;background-size:cover;z-index:10000;background:#fff;}
  .l-header__inner{height:inherit;margin:0 auto;max-width:1100px;box-sizing:content-box;}
  .l-header__content{display:flex;align-items:center;-ms-flex-align:center;height:inherit;padding:14px 0;}
  .l-header__logo{width:360px;margin-right:auto;}
  .l-header__btn{height:50px;border-radius:5px;}
  .l-header__btn a{position:relative;display:flex;align-items:center;justify-content:center;height:inherit;color:#fff;font-size:13px;font-weight:bold;line-height:1.2;transition:opacity .3s ease;}
  .l-header__btn a:hover{opacity:.6;}
  .l-header__btn a::after{content:"";position:absolute;top:50%;transform:translateY(-50%);background-repeat:no-repeat;background-size:contain;}
  .l-header__btn--line{width:160px;margin-right:8px;background:-webkit-linear-gradient(top, #00B700, #049704);background:-moz-linear-gradient(top, #00B700, #049704);background:linear-gradient(to bottom, #00B700, #049704);}
  .l-header__btn--contact{width:160px;background:-webkit-linear-gradient(top, #DD89B3, #B35885);background:-moz-linear-gradient(top, #DD89B3, #B35885);background:linear-gradient(to bottom, #DD89B3, #B35885);}
  .l-header__btn--line a{padding-left:28px;letter-spacing:-.05em;}
  .l-header__btn--contact a{padding-left:23px;}
  .l-header__btn--line a::after{background-image:url(../img/common/icon-line.svg);width:22px;height:22px;left:10px;}
  .l-header__btn--contact a::after{background-image:url(../img/common/icon-mail.svg);width:17px;height:14px;left:13px;}
  @media screen and (max-width: 767px){
  .l-header__inner{padding:0;}
  .l-header__content{padding-left:2vw;}
  .l-header__btn{display:none;}
  }
  .u-menu__set{display:none;}
  .u-menu__item{display:inline-block;height:62px;width:62px;}
  .l-nav__list{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex-align:center;align-items:center;margin:0 auto;padding:20px 0;width:1100px;}
  .l-nav__item{border-right:1px solid #c65b91;display:table;width:220px;}
  .l-nav__item:first-of-type{border-left:1px solid #c65b91;}
  .l-nav__item a{color:#fff;display:table-cell;font-family:YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;font-size:18px;font-size:1.8rem;height:60px;text-align:center;width:100%;vertical-align:middle;}
  .l-nav__anchor-sp{display:none;}
  .c-contact__menu{display:none;}
  .c-btn__contact-menu{cursor:pointer;}
  .c-btn__contact-menu.open{display:block;background:url(../img/common/icon_contact_sp.png) center center no-repeat;background-size:cover;height:100%;width:100%;}
  .c-btn__contact-menu.close{background:url(../img/common/icon_close_sp.png) center center no-repeat;background-size:cover;height:100%;width:100%;}
  .c-btn__toggle-menu{cursor:pointer;}
  .c-btn__toggle-menu.open{background:url(../img/common/icon_menu_sp.png) center center no-repeat;background-size:cover;height:100%;width:100%;}
  .c-btn__toggle-menu.close{position:relative;background:#B75A88;height:100%;width:100%;}
  .c-btn__toggle-menu.close::before,.c-btn__toggle-menu.close::after{position:absolute;content:"";width:3px;height:36px;top:50%;left:50%;background-color:#fff;}
  .c-btn__toggle-menu.close::before{transform:translate(-50%, -50%) rotate(45deg);}
  .c-btn__toggle-menu.close::after{transform:translate(-50%, -50%) rotate(135deg);}
  .c-address__list{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:15px;}
  .c-address__list li{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center;background:#fff;border:1px solid #fff;margin-bottom:10px;width:545px;}
  .c-address__list li:not(:last-child){margin-bottom:20px;}
  .c-address__name{background:#B75A88;color:#fff;display:block;font-size:13px;font-size:1.3rem;font-weight:600;text-align:center;height:60px;line-height:60px;width:180px;}
  .c-address__tel{color:#B75A88;display:block;font-size:2rem;font-weight:bold;height:60px;line-height:60px;width:365px;}
  .c-address__tel:before{content:url(../img/common/icon_free_phone02.png);display:inline;vertical-align:middle;margin-right:8px;}
  .u-sp__show{display:none;}
  a[href^="tel:"]{cursor:default;}
  a img{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";transition:all 0.4s ease;}

  @media screen and (min-width: 768px) {
    a:hover img {
      opacity: .7;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
    }
  }

  @media screen and (max-width: 767px){
  .l-header{height:62px;padding:0;}
  .l-header__inner{width:auto;}
  .l-header__logo{width:43vw;max-width:200px;}
  .l-header__content{display:flex;display:-ms-flexbox;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;position:fixed;width:100%;top:0;z-index:9999;}
  .u-menu__set{display:block;height:inherit;font-size:0;}
  .l-nav__list{padding:0;display:block;width:100%;}
  .l-nav__item{border-right:none;}
  .l-nav__item:first-of-type{border-left:none;}
  .l-nav__anchor-sp{background-color:#B75A88;position:absolute;width:100%;left:0;}
  .l-nav__list{font-size:3.2rem;line-height:1;}
  .l-nav__item{border-bottom:1px solid #fff;width:100%;}
  .l-nav__item:last-of-type{border-bottom:none;}
  .l-nav__item a{color:#fff;display:table-cell;height:13.33vw;font-size:1.8rem;padding:0 1em;text-align:left;}
  .c-contact__menu{background-color:#B75A88;position:absolute;padding:0 0 5vw;width:100%;left:0;}
  .c-contact__info-sp{background:transparent;padding:2.66vw 0;text-align:center;}
  .c-contact__info-sp__title{color:#fff;font-size:1.8rem;font-weight:600;display:inline-block;margin-bottom:2vw;}
  .c-contact__info-sp__data{color:#fff;font-size:1.2rem;font-weight: 600;line-height:1.6;}
  .c-contact__info-sp__subtitle{border:1px solid #fff;border-radius:4vw;color:#fff;font-size:1.5rem;font-weight:600;height:8vw;line-height:8vw;margin:0 auto 20px;text-align:center;width:53.33vw;}
  .c-address__list{display:block;}
  .c-address__list li{margin:0 auto 1.33vw;width:88vw;}
  .c-address__name{height:8vw;line-height:8vw;width:29%;}
  .c-address__tel{background:url(../img/common/icon_free_phone02.png) 2.66vw center no-repeat;background-size:7.066vw auto;height:8vw;line-height:8vw;padding-left:12vw;width:auto;}
  .c-address__tel:before{display:none;}
  .u-sp__show{display:block;}
  a[href^="tel:"]{cursor:pointer;}
  }
  @media screen and (max-width: 750px){
  .l-header__content{opacity:1;}
  }
  .l-header{position:fixed;top:0;left:0;width:100%;}
  @media screen and (max-width: 767px){
  .l-header{z-index:500;}
  }
  }

/*-------------------------------------------------------------------

	MV

-------------------------------------------------------------------*/
.mv {
  margin-top: 55px;
  background: url(../img/top/mv_back_sp.jpg) no-repeat center center;
  background-size: cover;
}

.mv_inner {
  position: relative;
  height: 164vw;
  padding: 4% 4% 0;
}

.mv_logo {
  display: block;
  width: 65.7971%;
  margin-bottom: 7.1333vw;
}

.mv_circle {
  position: absolute;
  width: 37.0724%;
  padding-top: 23.6231%;
  top: 13.2666vw;
  right: 0;
  background: url(../img/top/mv_circle_sp.png) no-repeat left top;
  background-size: contain;
}

.mv_catch {
  text-shadow: 0 0 4px #FFF, 0 0 4px #FFF, 0 0 4px #FFF, 0 0 3px #FFF, 0 0 4px #FFF;
  margin-bottom: 3.5vw;
}

.mv_catch .sub {
  font-size: 3.4666vw;
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: .43em;
  margin-bottom: .5em;
}

.mv_catch .main {
  font-size: 9.6vw;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 0;
}

.mv_catch .main>.small {
  font-size: 0.6862em;
}

.mv_catch .main>.spacing {
  letter-spacing: -.2em;
}

.mv_lead {
  text-shadow: 0 0 4px #FFF, 0 0 4px #FFF, 0 0 4px #FFF, 0 0 3px #FFF, 0 0 4px #FFF, 0 0 4px #FFF, 0 0 4px #FFF, 0 0 4px #FFF;
  font-weight: 600;
  line-height: 1.7;
  margin-bottom: 2vw;
}

.mv_lead>.title {
  font-size: 4.2666vw;
  margin-bottom: 0;
}

.mv_lead>.text {
  font-size: 2.8vw;
  margin-bottom: 0;
}

.mv_monitor {
  margin-bottom: 0;
}

.mv_cv {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}

@media (max-width: 320px) {
  .mv_logo {
    display: block;
    width: 65.7971%;
    margin-bottom: 4.1333vw;
  }
}

/*-------------------------------------------------------------------
	MV PC
-------------------------------------------------------------------*/

@media (min-width: 768px) {
  .mv {
    padding-top: 100px;
    margin-top: 82px;
    background-image: url(../img/top/mv_back_pc.jpg);
  }

  .mv_inner {
    height: 680px;
    padding: 16px 0 0 0;
    width: 80%;
    max-width: 1200px;
    margin: 0 auto;
  }

  .mv_logo {
    width: 350px;
    margin-bottom: 40px;
  }

  .mv_circle {
    width: 229px;
    padding-top: 240px;
    top: 20px;
    right: -119px;
    background-image: url(../img/top/mv_circle_pc.png);
  }

  .mv_catch {
    text-shadow: 0 0 0 #FFF;
    margin-bottom: 12px;
    margin-top: 12px;
  }

  .mv_catch .sub {
    font-size: 24px;
    letter-spacing: .54em;
    margin-bottom: .3em;
  }

  .mv_catch .main {
    font-size: 53px;
    line-height: 1.3;
  }

  .mv_catch .main>.small {
    font-size: 0.6862em;
  }

  .mv_catch .main>.spacing {
    letter-spacing: -.2em;
  }

  .mv_lead {
    text-shadow: 0 0 0 #FFF;
    margin-bottom: 10px;
  }

  .mv_lead>.title {
    font-size: 25px;
  }

  .mv_lead>.text {
    font-size: 17px;
  }

  .mv_cv {
    bottom: 40px;
  }

  .pc_none {
    display: none;
  }

}

@media (min-width: 769px) {

  .mv_circle {
    width: 229px;
    padding-top: 240px;
    top: 20px;
    right: -222px;
    background-image: url(../img/top/mv_circle_pc.png);
  }

}

@media screen and (min-width: 769px) and (max-width: 1023px) {

  .mv_circle {
    width: 229px;
    padding-top: 240px;
    top: 20px;
    right: -120px;
    background-image: url(../img/top/mv_circle_pc.png);
  }
}


@media (min-width: 1024px) {
  .mv_circle {
    width: 229px;
    padding-top: 240px;
    top: 20px;
    right: -115px;
    background-image: url(../img/top/mv_circle_pc.png);
  }
  .tb_bk {
    display: block;
  }
}

@media (min-width: 1280px) {
  .tb_bk {
    display: none;
  }
}


@media (min-width: 1500px) {

  .mv_circle {
    width: 229px;
    padding-top: 240px;
    top: 20px;
    right: -30px;
    background-image: url(../img/top/mv_circle_pc.png);
  }
}


@media (min-width: 2000px) {

  .mv_circle {
    right: -225px;
  }
}


/*-------------------------------------------------------------------

	lower header

-------------------------------------------------------------------*/
.header {
  background-color: #FFF;
}

.header_inner {
  padding: 4%;
}

.header_logo {
  display: block;
  width: 65.7971%;
  margin: 0 auto;
}

/*-------------------------------------------------------------------
	lower header PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .header_inner {
    padding: 30px 0;
    width: 1200px;
    margin: 0 auto;
  }

  .header_logo {
    display: block;
    width: 350px;
    margin: 0 auto;
  }
}

/*-------------------------------------------------------------------

	CV button

-------------------------------------------------------------------*/
.cv-area {
  background-color: rgba(0, 0, 0, 0.3);
  padding: 0 4% 4%;
}

.cv-area .main-title {
  margin: 0;
  text-align: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.cv-area .main-title>span {
  display: inline-block;
  padding: .8em 1.6em;
  border-radius: 2em;
  background-color: #333;
  font-size: 2.6666vw;
  line-height: 1;
  color: #FFF;
  font-weight: 600;
  letter-spacing: .2em;
}

.cv-area_tel .tel-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: -.5em;
  margin-bottom: .5em;
  font-size: 2.6666vw;
  font-weight: 600;
  text-align: center;
  letter-spacing: .2em;
  color: #FFF;
}

.cv-area_tel .tel-title>span {
  display: block;
  padding: 0 1em;
}

.cv-area_tel .tel-title:before,
.cv-area_tel .tel-title:after {
  content: "";
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  height: 1px;
  display: block;
  background-color: rgba(255, 255, 255, 0.3);
}

.cv-area_tel .tel-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 3%;
}

.cv-area_tel .tel-button .buttons {
  width: 32.1739%;
  margin-left: 1.7391%;
}

.cv-area_tel .tel-button .buttons a,
.cv-area_tel .tel-button .buttons span {
  display: block;
  width: 100%;
  height: 100%;
  color: #FFF;
  font-size: 3vw;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

.cv-area_tel .tel-button .buttons span {
  background-color: #003686;
  border: 1px solid #333;
  padding: .3em 0;
}

.cv-area_tel .tel-button .buttons span strong {
  font-size: .8333em;
}

.cv-area_tel .tel-button .buttons span i {
  position: relative;
  display: block;
  font-style: normal
}

.cv-area_tel .tel-button .buttons span i:before {
  content: "";
  position: absolute;
  bottom: 2px;
  left: -10px;
  display: inline-block;
  margin-right: .2em;
  width: 1.2em;
  height: 1em;
  background: url(../img/top/freedial.png) no-repeat center center;
  background-size: contain;
  vertical-align: -.1em
}

.cv-area_tel .tel-button .buttons:nth-child(3n+1) {
  margin-left: 0;
}

.cv-area_mail {
  width: 66.0869%;
  position: relative;
}

.cv-area_mail .buttons {
  margin-bottom: 0;
}

.cv-area_mail .buttons a {
  display: block;
  text-decoration: none;
  width: 100%;
  height: 100%;
  padding: 1em 0;
  background-color: #ab0058;
  border: 1px solid #333;
  color: #FFF;
  font-size: 3.73333vw;
  font-weight: 600;
  text-align: center;
  line-height: 1;
}

.cv-area_mail .buttons a::before {
  content: "\f0e0";
  display: inline-block;
  margin-right: .5em;
  font-family: "Font Awesome 5 Free";
}

.cv-area_mail .line {
  margin-bottom: 10px;
}

.cv-area_mail .line a {
  display: block;
  text-decoration: none;
  width: 100%;
  height: 100%;
  background-color: #21b221;
  border: 1px solid #333;
  color: #FFF;
  font-size: 3.73333vw;
  font-weight: 600;
  text-align: center;
  line-height: 1;
}

.cv-area_mail .line a .line-top {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-top: 10px;
  padding-bottom: 5px;
  background-color: #21b221;
}
.cv-area_mail .line a .line-top img {
  display: inline-block;
  width: 5vw;
  margin-right: 5px;
}

.cv-area_mail .line a .line-bottom {
  display: inline-block;
  width: 100%;
  padding: 2px 0;
  font-size: 10px;
  background-color: #149c14;
}

.cv-area_mail .circle {
  position: absolute;
  width: 28vw;
  height: 28vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -31vw;
  background: url(../img/top/cv_present_sp.png) no-repeat left top;
  background-size: contain;
}

.page-cv {
  background: url(../img/top/cv_back_sp.jpg) no-repeat center center;
  background-size: cover;
}

.page-cv .cv-area {
  background-color: rgba(255, 255, 102, 0.8);
}

.page-cv .tel-title {
  color: #333;
}

.page-cv .tel-title:before,
.page-cv .tel-title:after {
  background-color: rgba(0, 0, 0, 0.3);
}

.page-cv_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 72vw;
  color: #FFF;
  text-align: center;
  font-weight: 600;
  font-size: 5.3333vw;
  line-height: 1.5;
  text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.3);
}

.page-cv_text .small {
  font-size: .65em;
  font-weight: 500;
}

.page-cv_text .large {
  font-size: 1.35em;
  color: #ffff66;
}

.page-cv_text p {
  margin-bottom: 0;
}

.page-cv_caption {
  color: #FFF;
  font-size: 2.2666vw;
  line-height: 1;
  margin-bottom: 0;
  text-align: center;
  padding: 1em 0;
}

.page-cv.is-margin {
  margin-bottom: 13%;
}

.page-cv_banner figure {
  width: 72%;
}

.page-cv_banner figure:nth-child(1) {
  margin: 0 auto 4.533% 4%;
}

.page-cv_banner figure:nth-child(2) {
  margin: 0 4% 0 auto;
}

.step .cv-area_mail .line {
  margin-bottom: 2px;
}

/*-------------------------------------------------------------------
	CV button
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .cv-area {
    padding: 0 26px 20px;
  }

  .cv-area .main-title>span {
    display: inline-block;
    font-size: 16px;
  }

  .cv-area .cv-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-end;
    -ms-justify-content: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
    margin-top: -.5em;
  }

  .cv-area_tel {
    width: 51.3937%;
  }

  .cv-area_tel .tel-title {
    font-size: 14px;
  }

  .cv-area_tel .tel-button {
    margin-bottom: 0;
  }

  .cv-area_tel .tel-button .buttons {
    width: 32.2033%;
    margin-left: 1.6949%;
  }

  .cv-area_tel .tel-button .buttons a,
  .cv-area_tel .tel-button .buttons span {
    font-size: 18px;
  }

  .cv-area_mail .line a .line-top {
    padding-top: 15px;
  }

  .cv-area_tel .tel-button .buttons span strong {
    font-size: .7em;
  }

  .cv-area_mail {
    width: 45.993%;
  }

  .cv-area-btns {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .cv-area_mail .buttons {
    width: 48.5%;
  }

  .cv-area_mail .line a,
  .cv-area_mail .buttons a {
    min-height: 60px;
    font-size: 16px;
  }
  .cv-area_mail .buttons a {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .cv-area_mail .line a {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: space-between;
  }

  .cv-area_mail .line a .line-bottom {
    padding: 3px 0;
    font-size: 11px;
  }

  .cv-area_mail .circle {
    width: 262px;
    height: 140px;
    top: -88px;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    right: -270px;
    background-image: url(../img/top/cv_present_pc.png);
  }

  .cv-area_mail .line {
    width: 48.5%;
    margin: 0;
  }

  .page-cv {
    background-image: url(../img/top/cv_back_pc.jpg);
  }

  .cv-area_mail .line a .line-top img {
    width: 16px;
  }

  .page-cv_text {
    height: 516px;
    font-size: 56px;
    line-height: 1.5;
  }

  .page-cv_text .small {
    font-size: .714em;
  }

  .page-cv_text .large {
    font-size: 1.4285em;
  }

  .page-cv_text.is-middle {
    font-size: 48px;
  }

  .page-cv_inner {
    width: 1200px;
    margin: 0 auto;
  }

  .page-cv_caption {
    font-size: 14px;
  }

  .page-cv.is-margin {
    margin-bottom: 100px;
  }

  .page-cv_banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .page-cv_banner figure {
    width: 48.3333%;
  }

  .page-cv_banner figure:nth-child(1) {
    margin: 0;
  }

  .page-cv_banner figure:nth-child(2) {
    margin: 0;
  }
}

/*-------------------------------------------------------------------

	Gnav

-------------------------------------------------------------------*/
.gnav {
  background-color: #FFF;
}

.gnav>ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 1.3333%;
}

.gnav>ul>li {
  width: 50%;
  border: 1px solid #FFF;
  border-top: none;
  border-right: none;
}

.gnav>ul>li:nth-child(2n+1) {
  border-left: none;
}

.gnav>ul>li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 1em 0;
  font-size: 2.9333vw;
  text-align: center;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  background-color: #c2e9e9;
}

/*-------------------------------------------------------------------
	Gnanv PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .gnav {
    background-color: #c2e9e9;
  }

  .gnav>ul {
    width: 1200px;
    margin: 0 auto;
    padding: 0;
  }

  .gnav>ul>li {
    width: auto;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    border-bottom: none;
  }

  .gnav>ul>li:nth-child(2n+1) {
    border-left: 1px solid #FFF;
  }

  .gnav>ul>li:first-child {
    width: 12.4166%;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
  }

  .gnav>ul>li:last-child {
    border-right: 1px solid #FFF;
  }

  .gnav>ul>li a {
    padding: 1.5em 0;
    font-size: 14px;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
  }

  .gnav>ul>li a:hover {
    background-color: rgba(255, 255, 255, 0.5);
  }
}

/*-------------------------------------------------------------------

	Image

-------------------------------------------------------------------*/
.section-image {
  background-color: #f4f7f3;
}

.section-image_inner {
  padding: 13% 4% 0;
}

.section-image_title {
  font-size: 6.6vw;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1em;
}

/*-------------------------------------------------------------------
	Image PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .section-image_inner {
    padding: 100px 0 0;
    width: 1200px;
    margin: 0 auto;
  }

  .section-image_title {
    font-size: 60px;
  }

  .section-image_photo {
    margin: 0 0 0 auto;
  }
}

/*-------------------------------------------------------------------

	Worry

-------------------------------------------------------------------*/
.section-worry {
  padding: 9% 4% 6.6%;
}

.section-worry_catch {
  font-size: 4vw;
  font-weight: 600;
  text-align: center;
  line-height: 1.5;
  margin-bottom: .5em;
}

.section-worry_title {
  font-size: 8vw;
  font-weight: 600;
  text-align: center;
  margin-bottom: .8em;
}

.section-worry_title .small {
  font-size: .816em;
}

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

/*-------------------------------------------------------------------
	Worry PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .section-worry {
    padding: 70px 0 86px;
    width: 1200px;
    margin: 0 auto;
  }

  .section-worry_catch {
    font-size: 50px;
  }

  .section-worry_title {
    font-size: 100px;
    line-height: 1.3;
  }
}

/*-------------------------------------------------------------------

	Feature

-------------------------------------------------------------------*/
.section-feature {
  padding: 0 4% 13%;
}

.section-feature_top {
  margin-bottom: 9.2%;
}

.section-feature_title .catch {
  text-align: center;
  font-size: 4.5333vw;
  line-height: 1.3;
  font-weight: 600;
  padding: 1em 0;
  margin-bottom: .8em;
  border: 1px solid #333;
  border-left: none;
  border-right: none;
}

.section-feature_title .catch>span {
  font-size: .7647em;
}

.section-feature_title .title {
  text-align: center;
  font-size: 16.8vw;
  line-height: 1.1;
  margin-bottom: .3em;
}

.section-feature_title .title>span {
  font-size: .73em;
}

.policy-list>section {
  margin-bottom: 4%;
  padding: 6% 4.3478%;
  border: 1px solid #333;
  background-color: #f4f7f3;
  font-size: 13px;
}

.policy-list> :last-child {
  margin-bottom: 0;
}

.policy-list_title {
  font-size: 10.6666vw;
  line-height: 1.3;
  text-align: center;
  border-bottom: 1px solid #333;
  padding-bottom: .4em;
}

.policy-list_title>span {
  font-weight: 400;
  font-size: .625em;
}

.policy-list_top {
  margin-bottom: 1em;
}

.policy-list_top .photo {
  margin-bottom: 1em;
}

.policy-list_top .list .title {
  font-size: 8.5333vw;
  margin-bottom: .5em;
}

.policy-list_top .list .title>.small {
  font-size: .626em;
  font-weight: normal;
}

.policy-list_top .list ul {
  font-weight: 600;
  font-size: 1.0769em;
}

.perfect-list {
  padding: 10% 4.3478% 6%;
  border: 1px solid #333;
  background-color: #f4f7f3;
  font-size: 13px;
}

.perfect-list .nav {
  margin-bottom: 1em;
}

.perfect-list .nav>li {
  border: 4px solid #ffff66;
  background-color: #FFF;
  -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
  margin-bottom: 2.5em;
}

.perfect-list .nav>li a {
  position: relative;
  text-decoration: none;
  display: block;
  height: 100%;
  padding: 2em 1em 2em;
  background: url(../img/common/arrow_default_under.png) no-repeat center bottom 14px;
  background-size: 12px;
}

.perfect-list .nav>li a>i {
  position: absolute;
  display: block;
  width: 100%;
  left: 0;
  top: -1em;
  font-size: 40px;
  font-family: "Times New Roman", Times, "serif";
  text-align: center;
}

.perfect-list .nav>li a>h3 {
  font-size: 4.8vw;
  line-height: 1.2;
  text-align: center;
  margin-bottom: .5em;
}

.perfect-list .nav>li a>h3>span {
  font-size: .5555em;
  font-weight: 500;
}

.perfect-list .nav>li a>p {
  margin-bottom: 0;
  line-height: 1.5;
}

.perfect-list .list>section {
  margin-bottom: 1.5em;
}

.perfect-list .list>section i {
  display: block;
  font-size: 40px;
  line-height: 1.2;
  font-weight: 400;
  text-align: center;
  font-family: "Times New Roman", Times, "serif";
}

.perfect-list .list>section h3 {
  font-size: 4.533vw;
  text-align: center;
  margin-bottom: .5em;
}

.perfect-list .list>section h3>span {
  font-size: .647em;
}

.perfect-list .list> :last-child {
  margin-bottom: 0;
}

/*-------------------------------------------------------------------
	Feature PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .section-feature {
    padding: 0 0 100px;
    width: 1200px;
    margin: 0 auto;
  }

  .section-feature_top {
    margin-bottom: 44px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .section-feature_title {
    width: 45%;
  }

  .section-feature_title .catch {
    font-size: 26px;
  }

  .section-feature_title .title {
    font-size: 110px;
    margin-bottom: 0;
  }

  .section-feature_photo {
    width: 51.6666%;
  }

  .policy-list>section {
    margin-bottom: 45px;
    padding: 69px;
    font-size: 20px;
  }

  .policy-list_title {
    font-size: 80px;
    margin-bottom: 50px;
  }

  .policy-list_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .policy-list_top .photo {
    margin-bottom: 0;
    width: 39.6226%;
  }

  .policy-list_top .list {
    width: 56.9811%;
  }

  .policy-list_top .list .title {
    font-size: 60px;
  }

  .policy-list_top .list ul {
    font-size: 24px;
  }

  .perfect-list {
    padding: 69px;
    font-size: 20px;
  }

  .perfect-list .nav {
    margin-bottom: 3em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 18px;
  }

  .perfect-list .nav>li {
    margin-bottom: 0;
    width: 31.3207%;
  }

  .perfect-list .nav>li a {
    background-size: 24px;
  }

  .perfect-list .nav>li a>i {
    font-size: 80px;
  }

  .perfect-list .nav>li a>h3 {
    font-size: 30px;
    min-height: 3.5em;
  }

  .perfect-list .nav>li a>h3>span {
    font-size: .43em;
  }

  .perfect-list .nav>li a>p {
    margin-bottom: 0;
  }

  .perfect-list .list>section i {
    display: inline-block;
    font-size: 80px;
    text-align: left;
    margin-right: .2em;
  }

  .perfect-list .list>section h3 {
    font-size: 34px;
    text-align: left;
  }

  .perfect-list .list>section h3>span {
    font-size: .588em;
  }
}

/*-------------------------------------------------------------------

	doctor-comment

-------------------------------------------------------------------*/
.doctor-comment {
  padding: 0 4% 4%;
}

.doctor-comment_top {
  margin-bottom: 1em;
}

.doctor-comment_top figure {
  margin-bottom: 1em;
}

.doctor-comment_top figure img {
  display: block;
  width: 61.1594%;
  margin: 0 auto;
}

.doctor-comment_top figure figcaption {
  display: block;
  font-size: 20px;
  padding-top: .5em;
  text-align: center;
  font-weight: 600;
}

.doctor-comment_top figure figcaption>span {
  font-size: .65em;
}

.doctor-comment_more {
  font-size: 6.6666vw;
  line-height: 1.5;
  text-align: center;
  font-weight: 600;
}

/*-------------------------------------------------------------------
	doctor-comment PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .doctor-comment {
    padding: 0 0 60px;
    width: 1200px;
    margin: 0 auto;
  }

  .doctor-comment_top {
    margin-bottom: 2em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .doctor-comment_top figure {
    margin-bottom: 0;
    width: 35.1666%;
  }

  .doctor-comment_top figure img {
    width: 100%;
  }

  .doctor-comment_top figure figcaption {
    font-size: 26px;
  }

  .doctor-comment_top .text {
    width: 60.1666%;
  }

  .doctor-comment_more {
    font-size: 44px;
  }
}

/*-------------------------------------------------------------------

	Option

-------------------------------------------------------------------*/
.section-option {
  padding: 0 4% 13%;
}

.section-option> :last-child {
  margin-bottom: 0;
}

.section-option_inner {
  border: 1px solid #333;
  margin-bottom: 4.3%;
  font-size: 13px;
}

.section-option_inner .title {
  background-color: #daf3f0;
  border-bottom: 1px solid #333;
  padding: 1em .5em;
  text-align: center;
  font-size: 5.3333vw;
}

.section-option_inner .title>span {
  font-size: .75em;
}

.section-option_inner .text {
  padding: 6% 4.3478%;
}

.section-option_inner .text_lead {
  font-size: 14px;
  font-weight: 600;
}

.section-option_inner .banner {
  max-width: 265px;
  margin: 0 auto;
  background-color: #f4f7f3;
  border: 1px solid #DDD;
}

.section-option_inner .banner h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 140px;
  padding: 14px;
  background: url(../img/top/option_banner.jpg) no-repeat right center;
  background-size: cover;
  font-size: 25px;
  font-weight: 600;
}

.section-option_inner .banner h3 .small {
  font-size: .6em;
}

.section-option_inner .banner_text {
  padding: 14px;
}

.section-option_inner .banner_text ul {
  font-size: 12px;
  margin-bottom: 1em;
}

.section-option_inner .banner_text .price {
  font-size: 15px;
  font-weight: 600;
  padding: .5em;
  text-align: center;
  background-color: #FFF;
  margin: 0;
}

.section-option_inner .banner_text .price .small {
  font-size: 1.6666em;
}

.section-option_inner .lineup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.section-option_inner .lineup figure {
  width: 32.3809%;
  margin-left: 1.4285%;
  margin-bottom: 1em;
}

.section-option_inner .lineup figure figcaption {
  text-align: center;
  font-size: 2.5vw;
  line-height: 1.3;
  font-weight: 600;
  min-height: 3em;
}

.section-option_inner .lineup figure figcaption>span {
  font-size: .875em;
}

.section-option_inner .lineup figure:nth-child(3n+1) {
  margin-left: 0;
}

.section-option_inner .lineup figure:nth-child(4) figcaption,
.section-option_inner .lineup figure:nth-child(5) figcaption {
  min-height: 2em;
}

/*-------------------------------------------------------------------
	Option PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .section-option {
    padding: 0 0 100px;
    width: 1200px;
    margin: 0 auto;
  }

  .section-option_inner {
    margin-bottom: 60px;
    font-size: 20px;
  }

  .section-option_inner .title {
    font-size: 40px;
  }

  .section-option_inner .text {
    padding: 69px;
  }

  .section-option_inner .text_lead {
    font-size: 22px;
  }

  .section-option_inner .banner {
    max-width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .section-option_inner .banner h3 {
    height: 280px;
    width: 529px;
    padding: 24px;
    font-size: 50px;
  }

  .section-option_inner .banner_text {
    padding: 48px 30px 0;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .section-option_inner .banner_text ul {
    font-size: 24px;
  }

  .section-option_inner .banner_text .price {
    font-size: 30px;
  }

  .section-option_inner .lineup figure {
    width: 19.2452%;
    margin-left: 21.132%;
    margin-bottom: 0;
  }

  .section-option_inner .lineup figure figcaption {
    font-size: 16px;
  }

  .section-option_inner .lineup figure:nth-child(4),
  .section-option_inner .lineup figure:nth-child(5) {
    margin-top: -190px;
  }
}

/*-------------------------------------------------------------------

	spot price flow

-------------------------------------------------------------------*/
.basic-section {
  padding: 13% 4% 9%;
}

.basic-section_title {
  font-size: 6.6666vw;
  text-align: center;
  margin-bottom: 1em;
}

.basic-section_title-sub {
  font-size: 4.3773vw;
  text-align: center;
  margin-bottom: .5em;
}

.basic-section.is-pb0 {
  padding-bottom: 0;
}

/*-------------------------------------------------------------------
	spot price flow PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .basic-section {
    padding: 100px 0 70px;
    width: 1200px;
    margin: 0 auto;
  }

  .basic-section_title {
    font-size: 60px;
  }

  .basic-section_title-sub {
    font-size: 40px;
  }
}

/*-------------------------------------------------------------------

	spot

-------------------------------------------------------------------*/
.spot_illust {
  width: 79.7101%;
  margin: 0 auto;
}

.spot_illust figure {
  margin-bottom: 2em;
}

.spot_illust> :last-child {
  margin-bottom: 0;
}

/*-------------------------------------------------------------------
	spot PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .spot_illust {
    width: 1060px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .spot_illust figure {
    width: 43.7735%;
    margin-bottom: 0;
  }
}

/*-------------------------------------------------------------------

	price

-------------------------------------------------------------------*/
/*-------------------------------------------------------------------
	price PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .price-section {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}

/*-------------------------------------------------------------------

	flow

-------------------------------------------------------------------*/
.flow_step>section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #333;
  margin-bottom: 1%;
}

.flow_step>section>h3 {
  width: 47.826%;
  border-right: 1px solid #333;
  background-color: #daf3f0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 4%;
}

.flow_step>section>h3>span {
  display: block;
  font-size: 3.2vw;
}

.flow_step>section>h3>span>i {
  font-family: "Times New Roman", Times, "serif";
  font-weight: 400;
  font-size: 5.3vw;
}

.flow_step>section>div {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 2.6%;
  font-size: 12px;
}

.flow_step>section>div>div {
  width: 100%;
}

.flow_step>section>div> :last-child {
  margin-bottom: 0;
}

.flow_step>section>div .cv-area_mail {
  width: 100%;
  margin-bottom: 2px;
}

.flow_step>section>div .cv-area_mail a {
  font-size: 2.9vw;
}

.flow_step>section>div .cv-area_tel .tel-button {
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
}

.flow_step>section>div .cv-area_tel .tel-button .buttons {
  margin: 0 0 2px 0;
  width: 100%;
  font-size: 2vw;
}

.flow_step .flow_arrow {
  border: 0;
  width: 30px;
  height: 40px;
  margin: 0 auto 1%;
  background: url(../img/top/flow_arrow.png) no-repeat center center;
  background-size: contain;
}

/*-------------------------------------------------------------------
	flow PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .flow_step>section {
    margin-bottom: 18px;
  }

  .flow_step>section>h3 {
    width: 37.5%;
    padding: 28px;
  }

  .flow_step>section>h3>span {
    font-size: 26px;
  }

  .flow_step>section>h3>span>i {
    font-size: 40px;
  }

  .flow_step>section>div {
    font-size: 20px;
    padding: 30px;
  }

  .flow_step>section>div .cv-area_mail {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
  }
  .flow_step>section>div .cv-area_mail>p {
    height: 60px;
  }

  .flow_step>section>div .cv-area_mail a {
    font-size: 20px;
  }

  .flow_step>section>div .cv-area_tel {
    width: 100%;
  }

  .flow_step>section>div .cv-area_tel .tel-button {
    -ms-flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
  }

  .flow_step>section>div .cv-area_tel .tel-button .buttons {
    margin: 0 10px 0 0;
    width: 100%;
  }

  .flow_step .flow_arrow {
    width: 50px;
    height: 28px;
    margin-bottom: 18px;
  }
}

/*-------------------------------------------------------------------

	clinic

-------------------------------------------------------------------*/
.clinic-section {
  padding: 13% 4% 8%;
}

.clinic-section_sub {
  font-size: 3.73vw;
  text-align: center;
  margin-bottom: 1em;
  color: #FFF;
  font-weight: 600;
  line-height: 1;
}

.clinic-section_sub>span {
  display: inline-block;
  padding: .6em 1.5em;
  background-color: #333;
  border-radius: 3em;
}

.clinic-section_title {
  font-size: 5.3vw;
  text-align: center;
  margin-bottom: 1em;
}

.clinic_doctor {
  margin-bottom: 5%;
}

.clinic_doctor>figure {
  width: 72.4637%;
  margin: 0 auto 1em;
}

.clinic_doctor>p {
  margin: 0;
}

.clinic_facility {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.clinic_facility>figure {
  width: 50%;
  margin-bottom: 1em;
}

.clinic_facility>figure>figcaption {
  font-size: 12px;
  font-weight: 600;
  display: block;
  text-align: center;
  padding-top: .5em;
}

/*-------------------------------------------------------------------
	clinic PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .clinic-section {
    padding: 100px 0 80px;
    width: 1200px;
    margin: 0 auto;
  }

  .clinic-section_sub {
    font-size: 36px;
  }

  .clinic-section_title {
    font-size: 60px;
  }

  .clinic_doctor {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 40px;
  }

  .clinic_doctor>figure {
    width: 41.6666%;
    margin: 0;
  }

  .clinic_doctor>p {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 2em;
  }

  .clinic_facility {
    -ms-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .clinic_facility>figure {
    width: 31%;
    margin-bottom: 0;
  }

  .clinic_facility>figure>figcaption {
    font-size: 18px;
    font-weight: 600;
  }
}

/*-------------------------------------------------------------------

	clinic other

-------------------------------------------------------------------*/
.clinic-other-section {
  padding: 0 4% 9%;
}

.clinic-other-section_title {
  font-size: 6.6vw;
  text-align: center;
  margin-bottom: 1em;
  border-top: 1px solid #333;
  padding-top: 10.6%;
}

.clinic-other-section_title>span {
  display: block;
  font-family: "Times New Roman", Times, "serif";
  font-size: .4em;
  font-weight: 400;
  letter-spacing: .2em;
  margin-bottom: .8em;
}

.doctor-introduction {
  width: 91.3043%;
  margin: 0 auto;
}

.doctor-introduction .photo {
  width: 65%;
  margin: 0 auto 1em;
}

.doctor-introduction .photo>figcaption {
  display: block;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  padding-top: .5em;
}

.doctor-introduction .text {
  line-height: 1.6;
}

.doctor-introduction .img {
  width: 65%;
  margin: 0 auto 1em;
}

.doctor-introduction .text h3 {
  font-size: 15px;
  margin-bottom: 1em;
}

.doctor-introduction .text dl {
  margin-bottom: 1em;
}

.doctor-introduction .text dl dt {
  margin-bottom: .5em;
  font-weight: 600;
  font-size: 14px;
}

.doctor-introduction .text dl dd {
  font-size: 12px;
  margin-bottom: .5em;
}

.access-list {
  width: 91.3043%;
  margin: 0 auto;
}

.access-list>section {
  margin-bottom: 13%;
}

.access-list>section h3 {
  font-size: 15px;
  margin-bottom: 1em;
  text-align: center;
}

.access-list>section:last-child {
  margin-bottom: 0;
}

.access-list_map {
  position: relative;
  width: 100%;
  height: 65.3333vw;
  margin-bottom: 1em;
}

.access-list_map iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.access-list_data {
  font-size: 12px;
  line-height: 1.6;
}

.access-list_data h4 {
  margin-bottom: .5em;
}

.access-list_data dl dt {
  font-weight: 600;
}

.access-list_data dl dd {
  margin-bottom: .5em;
}

/*-------------------------------------------------------------------
	clinic other PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .clinic-other-section {
    padding: 0 0 70px;
    width: 1200px;
    margin: 0 auto;
  }

  .clinic-other-section_title {
    font-size: 60px;
    padding-top: 80px;
  }

  .clinic-other-section_title>span {
    font-size: .33em;
  }

  .doctor-introduction {
    width: 100%;
  }

  .doctor-introduction .photo {
    width: 30%;
    margin: 0;
    float: left;
  }

  .doctor-introduction .photo>figcaption {
    font-size: 18px;
  }

  .doctor-introduction .text {
    float: right;
    width: 65%;
  }

  .doctor-introduction .img {
    margin: 0 0 1em;
  }

  .doctor-introduction .text_data {
    width: 47%;
    float: left;
  }

  .doctor-introduction .text_data:last-child {
    float: right;
  }

  .doctor-introduction .text h3 {
    font-size: 22px;
  }

  .doctor-introduction .text dl dt {
    font-size: 18px;
  }

  .doctor-introduction .text dl dd {
    font-size: 16px;
  }

  .access-list {
    width: 100%;
  }

  .access-list>section {
    margin-bottom: 90px;
  }

  .access-list>section h3 {
    font-size: 26px;
  }

  .access-list>section::after {
    content: "";
    display: block;
    clear: both;
  }

  .access-list_map {
    float: left;
    width: 50%;
    height: 490px;
    margin-bottom: 0;
  }

  .access-list_data {
    float: right;
    width: 46.6666%;
    font-size: 18px;
  }
}

/*-------------------------------------------------------------------

	form

-------------------------------------------------------------------*/
.form-section {
  background-color: #f7f7f7;
}

.form-section_inner {
  padding: 13% 4% 10%;
}

.form-section_title {
  font-size: 6.6666vw;
  margin-bottom: 1em;
  text-align: center;
  color: #674436;
  font-family: 'Noto Serif Japanese', serif;
}

.form-section_txt {
  text-align: left;
  font-size: 1em;
  margin-bottom: 40px;
}

.form-under-tel {
  padding: 2.8985% 2.8985% .5%;
  border: 1px solid #DDD;
  background-color: #FFF;
}

.form-under-tel .tel-title {
  color: #333;
}

.form-under-tel .tel-button .buttons span {
  font-size: 2.5vw;
}

/*-------------------------------------------------------------------
	form PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
  .form-section_inner {
    padding: 100px 0 80px;
    max-width: 650px;
    width: 100%;
    margin: 0 auto;
  }

  .form-section_title {
    font-size: 40px;
  }

  .form-under-tel {
    padding: 2.8985% 2.8985% 2.8985%;
  }

  .form-under-tel .cv-area_tel {
    width: 62%;
    margin: 0 auto;
  }

  .form-under-tel .tel-button .buttons span {
    font-size: 16px;
  }
}

/*-------------------------------------------------------------------

	footer

-------------------------------------------------------------------*/
.footer {
  background-color: #f7f7f7;
  padding: 0 0 90px;
  font-size: 8px;
  text-align: center;
}

.footer-fixed-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  width: 100%;
  left: 0;
  bottom: -200px;
  z-index: 8000;
  border-top: 1px solid #333;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.footer-fixed-button.is-show {
  bottom: 0;
}
.footer-fixed-button .line,
.footer-fixed-button .mail {
  width: calc(50% - 35px);
  text-align: center;
  text-decoration: none;
  color: #FFF;
  font-size: 10px;
  line-height: 1.5;
  font-weight: 600;
  padding: 1em 0 0.5em;
}
.footer-fixed-button .line {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background-color: #21b221;
  text-align: center;
}
.footer-fixed-button .line img {
  display: inline-block;
  width: 16px;
  margin-right: .3em;
  transform: translateY(2px);
}

.footer-fixed-button .mail {
  display: block;
  text-decoration: none;
  background-color: #ab0058;
  text-align: center;
}

.footer-fixed-button .mail::before {
  content: "\f0e0";
  display: inline-block;
  margin-right: .3em;
  font-family: "Font Awesome 5 Free";
}

.footer-fixed-button .top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 70px;
  background-color: #333;
  text-decoration: none;
  color: #FFF;
  font-size: 15px;
  line-height: 1;
  font-weight: 600;
}

.footer-fixed-button .top>i {
  display: block;
}

/*-------------------------------------------------------------------
	footer PC
-------------------------------------------------------------------*/
.cv-area_tel .tel-button .buttons a, .cv-area_tel .tel-button .buttons span {
  padding-left: 14px;
}
@media (min-width: 768px) {
  .footer {
    padding: 0 0 90px;
    font-size: 16px;
  }

  .footer-fixed-button {
    width: 80px;
    height: 80px;
    left: auto;
    right: 10px;
    border-top: none;
  }

  .footer-fixed-button.is-show {
    bottom: 10px;
  }

  .footer-fixed-button .mail,
  .footer-fixed-button .line {
    display: none;
  }

  .footer-fixed-button .top {
    width: 100%;
    height: 100%;
    font-size: 20px;
  }
}

/* 20220310 add */
.p-top__news {
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin: 30px auto 0;
    padding: 0 0 30px 0;
}

header.page_header .banner_wrap .p-top__news__accordion__list .p-top__news__accordion__list__item,
header.page_header .banner_wrap .p-top__news__accordion__list__item2 {
    display: block;
    text-align: left;
}

.p-top__news p {
    margin: 0;
    font-size: 14px;
}

.p-top__news__accordion__item {
    margin: 0 0 5px;
    line-height: 1.8;
    background-color: #fff;
    border: 1px solid #bcb0a9;
}

.p-top__news__accordion__item h2,
.p-top__news__accordion__item h3 {
    font-weight: bold;
    font-family: YuGothic, Yu Gothic, Hiragino Kaku Gothic ProN, 'ヒラギノ角ゴ ProN W3', 'メイリオ', Meiryo, sans-serif;
    color: #332c27;
    line-height: 1.35;
}

.p-top__news__accordion__item h2 {
    /* margin-bottom: 10px; */
}

.p-top__news__accordion__item h2,
.p-top__news__accordion__item h3 {
    font-size: 16px;
}

.p-top__news__accordion__title {
    position: relative;
    font-family: YuMincho, Yu Mincho, Yu Mincho, '游明朝体', "ヒラギノ明朝 ProN W3", Hiragino Mincho ProN, Noto Serif JP, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 500;
    font-weight: 400;
    font-size: 16px;
    text-align: left;
    color: #332c27;
}

.p-top__news__accordion__title h2 {
    /* margin-bottom: 10px; */
    padding: 10px 60px 10px 50px;
    background-color: #ebe7e6;
    text-align: center;
}

.p-top__news__accordion__title__inner {
    padding: 10px 60px 10px 40px;
}

.u-mg--b-sm {
    margin-bottom: 20px !important;
}

.u-mg--b-md {
    margin-bottom: 30px !important;
}

.u-mg--b-lg {
    margin-bottom: 60px !important;
}

.u-text--size-xs {
    font-size: .75em;
}

.p-top__news__accordion__list__item,
.p-top__news__accordion__item h4 {
    font-weight: bold;
    color: #333333;
}

.p-top__news__accordion__list__item3 {
    padding: 0!important;
    font-size: 14px;
    font-weight: normal;
}

.p-top__news__accordion__list__item:before {
    counter-increment: number 1;
    content: counter(number)"）";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}

.p-top__news__accordion__list__item2:before {
    content: "・";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}

.p-top__news__accordion__title__inner {
    padding: 10px 60px 20px 0;
}

.p-top__news__accordion__title__inner > p {
    font-size: 14px;
}

.p-top__news__accordion__textarea {
    padding: 20px 50px;
    display: none;
}

.p-top__news__accordion__list {
    font-weight: 700;
    counter-reset: number 0;
}

.p-top__news__accordion__list__item,
.p-top__news__accordion__list__item2 {
    position: relative;
    padding-left: 15px;
    margin: 5px 0;
}

.p-top__news__accordion__textarea.show {
    display: block;
}
.p-top__news__accordion__textarea.show li {
    font-size: 14px;
}
.p-top__news__accordion__title:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    width: 16px;
    height: 16px;
    margin: auto;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-image: url(../img/common/icon-chevron-down.svg);
    background-size: contain;
    transition: transform .3s;
}

.p-top__news__accordion__title.active:after {
    transform: rotate(-180deg);
}

@media print,
screen and (min-width: 821px) {
    .u-show--pc {
        display: block;
    }
}

@media screen and (max-width: 820px) {
    .p-top__news {
        width: 100%;
        padding: 5%;
    }

    .p-top__news__accordion__item h2 {
        font-size: 14px;
    }

    .u-mg--b-sm {
        margin-bottom: 10px !important;
    }

    .u-mg--b-md {
        margin-bottom: 20px !important;
    }

    .u-mg--b-lg {
        margin-bottom: 30px !important;
    }

    .u-show--pc {
        display: none;
    }

    .p-top__news__accordion__title {
        font-size: 13px;
        font-size: 3.46667vw;
    }

    .p-top__news__accordion__title:after {
        right: 3vw;
        width: 3.73333vw;
        height: 3.73333vw;
    }

    .p-top__news__accordion__title h2 {
        padding: 10px 28px 10px 12px;
    }

    .p-top__news__accordion__title__inner {
        padding: 4vw 2vw;
    }

    .p-top__news__accordion__textarea {
        padding: 4vw;
        font-size: 13px;
        font-size: 3.46667vw;
    }

    .p-top__news__accordion__list__item {
        padding-left: 3.73333vw;
    }
    .p-top__news__accordion__list__item3 {
        font-size: 13px;
    }
    .cv-area_tel .tel-button .buttons span i:before {
      left: 0;
    }
    .cv-area_tel .tel-button .buttons span {
      padding-left: 5px;
    }
}
@media screen and (max-width: 820px) {
  .mv_catch .main {
    font-size: 10vw;
  }
  .mv_catch {
    margin-bottom: 3vw;
    margin-top: 35.5vw;
  }
  .mv_catch .main span {
    font-size: 7.6vw;
  }
}
/*========================================
Content Switching
========================================*/
.sp-content_hidden {
  display: none !important;
}

.tab-content_hidden {
  display: block !important;
}

.pc-content_hidden {
  display: block !important;
}

.mob-content_hidden {
  display: none !important;
}

.main-fixed {
  position: fixed !important;
  width: 100% !important;
}

/* SP */
@media screen and (max-width: 767px) {
  .sp-content_hidden {
    display: block !important;
  }
  .tab-content_hidden {
    display: none !important;
  }
  .pc-content_hidden {
    display: none !important;
  }
  .mob-content_hidden {
    display: block !important;
  }
  .cv-area .cv-flex{
    margin: 7% 0;
  }
}

/* TABLET */
@media screen and (min-width: 768px) and (max-width: 960px) {
  .sp-content_hidden {
    display: none !important;
  }
  .tab-content_hidden {
    display: block !important;
  }
  .pc-content_hidden {
    display: none !important;
  }
  .mob-content_hidden {
    display: block !important;
  }
}
.sention-image_photo img {
  margin: 0 auto;
}

.fl-left{
  float: left !important;
}

/* 追加 */
.sp-only {
  display: none !important;
}

@media only screen and (max-width: 812px) {
  .pc-only {
    display: none !important;
  }

  .sp-only {
    display: block !important;
  }
}

/**
 * cta
 */

.cta {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 7px 38px;
  background-color: rgba(255, 255, 255, 0.6);
}

/* .cta__link {
  width: 50%;
} */

.cta__link+.cta__link {
  margin-left: 17px;
}

@media only screen and (min-width: 812px) {
  .cta {
    display: none;
  }
}

.thx-logo {
  padding-top: 40px;
}

.thx-btn {
  border-radius: 5px;
  padding: 24px 32px;
  border: none;
  background: #B87074;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  cursor: pointer;
  outline: none;
  box-shadow: 0px 2px 8px #CCC;
}


/**
 20251001 add
*/
@font-face {
  font-family: "Alex Brush";
  src: url("../fonts/AlexBrush/AlexBrush-Regular.woff") format("woff");
}
#sec_03 p.prof {
  font-family: YuMincho, Yu Mincho, Yu Mincho, '游明朝体', "ヒラギノ明朝";
  font-size: 30px;
  font-weight: 500;
  color: #674436;
}
#sec_03 p.prof1 {
  line-height: 1;
  font-family: YuMincho, Yu Mincho, Yu Mincho, '游明朝体', "ヒラギノ明朝";
  font-size: 60px;
  font-weight: bold;
  color: #674436;
}
#sec_03 p.prof2 {
  margin: 0 100px 40px;
  font-family: "Alex Brush";
  font-size: 30px;
  color: #B9545A;
  border-bottom: solid 4px #674436;
}
#sec_03 .sec_03_content {
  padding: 70px 0;
}
#sec_03 .sec_03_content:first-child {
  padding-top: 60px;
}
#sec_03 .sec_03_content:nth-of-type(2) {
  border-top: solid 1px #fafafa;
  border-bottom: solid 1px #fafafa;
}
#sec_03 .sec_03_content:last-child {
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  #sec_03 p.prof1 {
    font-size: 12vw;
  }
  #sec_03 p.prof2 {
    margin: 0 15px 40px;
    font-size: 6vw;
    border-bottom: solid 1px #674436;
  }
}

/**
 20251007 add
*/
#sec_02 .sec02_treatment {
  margin: 0 auto;
  padding: 0 37px 50px;
  max-width: 750px;
  background: #F6E9E4;
}
#sec_02 .sec02_treatment table,
#sec_02 .sec02_treatment th,
#sec_02 .sec02_treatment td {
  border: 1px solid #999;
  border-collapse: collapse;
}
#sec_02 .sec02_treatment table {
  width: 100%;
  font-size: 16px;
  background: #F6E9E4;
}
#sec_02 .sec02_treatment th {
  vertical-align: top;
  text-align: left;
  padding :6px;
  width: 25%;
  background: rgb(255, 255, 255, .3);
}
#sec_02 .sec02_treatment td {
  padding :6px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  #sec_02 .sec02_treatment {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  #sec_02 .sec02_treatment table {
    font-size: 3.3vw;
  }
}
