/*********************************************
 * CSS Document
 *
 * UNIQUE
 *********************************************/
/* ====================================
 * VAR *
====================================*/
/*********************************************
 * VAR
 *********************************************/
/* ------------------------------- *
 * BREAK POINT *
 * ---*/
/* ------------------------------- *
 * COLOR *
 * ---*/
/*====================================
 * Top *
====================================*/
#top {
  /* ------------------------------- */
  /* COMMON */
  /* --- */
  /* ------------------------------- */
  /* MAIN */
  /* --- */
  /* ------------------------------- */
  /* CONCEPT */
  /* --- */
  /* ------------------------------- */
  /* ABOUT */
  /* --- */
  /* ------------------------------- */
  /* CUNSULT */
  /* --- */
  /* ------------------------------- */
  /* FAQ */
  /* --- */
}

#top .sec__label01 {
  font-size: 6.5rem;
  position: absolute;
  z-index: 10;
  pointer-events: none;
}

#top .sec__label02 {
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  color: #258FAD;
  margin-bottom: 2.5rem;
}


@media (min-width: 960px) {
  #top .sec__label01 {
    font-size: 10rem;
  }
  #top .sec__label02 {
    font-size: 2.6rem;
    margin-bottom: 3rem;
  }
}

@media (min-width: 1200px) {
  #top .sec__label01 {
    font-size: 12rem;
  }
  #top .sec__label02 {
    font-size: 3.2rem;
  }
}



#top .main {
  height: calc(100vh - 4rem);
  max-height: 67.5rem;
  padding-top: 9.5rem;
  position: relative;
  box-sizing: border-box;
  margin-bottom: 4rem;
}

#top .main__bg {
  width: 0;
  height: 100%;
  border-radius: 0px 0px 5px 0px;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  transition: .7s ease-in-out;
}

#top .main__bg::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 0px 0px 5px 0px;
  background: linear-gradient(135deg, #53D9FF 0%, #258FAD 100%);
  opacity: 0.8;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}

#top .main__bg__img {
  width: 100%;
  height: 100%;
  background: url(../img/top/main_bg.jpg) no-repeat center/cover;
  animation: anim-zoom 15s ease-in-out forwards;
}

#top .main__bg.is--fire {
  width: calc(100% - 1rem);
}

@keyframes anim-zoom {
  0% {
    transform: scale(1.5);
  }
  100% {
    transform: scale(1);
  }
}

#top .main__inner {
  position: relative;
}

#top .main__slider {
  width: calc((100vw - 100%) / 2 + 100%);
  height: 34.4rem;
  border-radius: 5px 0 0 5px;
  overflow: hidden;
  margin-right: calc((100vw - 100%) / -2);
  box-shadow: 0px 0px 10px rgba(176, 175, 175, 0.3);
  z-index: 10;
}

#top .main__catch {
  width: calc(100vw - 2.5rem);
  margin-top: 2.5rem;
  color: #FFF;
  position: relative;
  z-index: 10;
}

#top .main__catch01 {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.9;
  margin-left: -0.2em;
}

#top .main__catch01 .s {
  display: inline;
}

#top .main__catch01 .s1 {
  letter-spacing: -.01em;
}

#top .main__catch01 .s2 {
  letter-spacing: -1em;
}

#top .main__catch01 .s3 {
  letter-spacing: -.05em;
}

#top .main__catch01 .s4 {
  letter-spacing: -.4em;
}

#top .main__catch02 {
  font-size: 1.3rem;
  letter-spacing: .1em;
  margin-top: 1.5rem;
  line-height: 1.5;
}

#top .main__info {
  width: 39.4rem;
  padding: 2rem 2rem 2rem 2.5rem;
  box-sizing: border-box;
  border-radius: 0 5px 5px 0;
  background-color: #FFF;
  position: absolute;
  left: 0;
  bottom: -4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 10;
}

#top .main__info__txtBox {
  width: 24rem;
}

#top .main__info__date {
  font-size: 1.1rem;
  letter-spacing: .1em;
  margin-bottom: 1rem;
}

#top .main__info__ttl {
  width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  font-size: 1.4rem;
}

#top .main__info__btn {
  width: 8.2rem;
  height: 4rem;
}

@media (min-width: 600px) {
  #top .main__catch {
    margin-left: 0;
  }
  #top .main__catch01 .s1 {
    letter-spacing: 0;
  }
  #top .main__catch01 .s2 {
    letter-spacing: -.5em;
  }
  #top .main__catch01 .s3 {
    letter-spacing: -.01em;
  }
  #top .main__catch01 .s4 {
    letter-spacing: -.05em;
  }
  #top .main__info {
    width: 70rem;
  }
  #top .main__info__txtBox {
    width: 55rem;
  }
}

@media (min-width: 960px) {
  #top .main {
    height: calc(100vh - 4.2rem);
    max-height: 79.6rem;
    padding-top: 20rem;
    margin-bottom: 4.2rem;
  }
  #top .main__bg.is--fire {
    width: calc(100vw - 10rem);
  }
  #top .main__slider {
    width: calc((100vw - 100%) / 2 + 43rem);
    height: 47rem;
  }
  #top .main__slider img {
    width: 100%;
    min-height: 100%;
  }
  #top .main__catch {
    margin-top: 0;
    text-shadow: 0px 0px 6px #258FAD;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  #top .main__catch01 {
    font-size: 2.4rem;
    line-height: 1.5;
  }
  #top .main__catch02 {
    font-size: 1.4rem;
    letter-spacing: 0;
    margin-top: 3.5rem;
  }
  #top .main__info {
    width: calc((100vw - 95rem) / 2 + 80rem);
    padding: 1.5rem 2rem;
    padding-left: calc((100vw - 95rem) / 2);
    bottom: -3.5rem;
  }
  #top .main__info__txtBox {
    width: 65rem;
    display: flex;
    align-items: center;
  }
  #top .main__info__date {
    font-size: 1.4rem;
    margin-bottom: 0;
    margin-right: 2.5rem;
  }
  #top .main__info__ttl {
    font-size: 1.4rem;
  }
  #top .main__info__btn {
    padding: 1rem;
    font-size: 1.5rem;
  }
}

@media (min-width: 1200px) {
  #top .main {
    padding-top: 14rem;
  }
  #top .main__bg.is--fire {
    width: calc(100vw - 20rem);
  }
  #top .main__slider {
    width: calc((100vw - 100%) / 2 + 55rem);
    height: 57.3rem;
  }
  #top .main__catch01 {
    font-size: 3.2rem;
  }
  #top .main__catch02 {
    font-size: 1.6rem;
  }
  #top .main__catch02 br {
    display: none;
  }
  #top .main__info {
    width: calc((100vw - 120rem) / 2 + 100rem);
    padding: 2.2rem 3rem;
    padding-left: calc((100vw - 120rem) / 2);
    bottom: -4.2rem;
  }
  #top .main__info__txtBox {
    width: 82.4rem;
  }
  #top .main__info__date {
    font-size: 1.6rem;
  }
  #top .main__info__ttl {
    font-size: 1.6rem;
  }
  #top .main__info__btn {
    width: 9.1rem;
  }
}

@media (max-width: 600px) {
  #top .bnr_blc{
    margin-top: 8rem
  }
}
@media (min-width: 960px) {
  #top .bnr_blc{
    margin-top: 10rem
  }
}
@media (min-width: 1200px) {
  #top .bnr_blc{
    margin-top: 10rem
  }
}


#top .concept {
  padding: 16rem 0 6rem;
  position: relative;
}

#top .concept .sec__label01 {
  color: #E5F9FF;
  left: 0;
  top: 7rem;
}

#top .concept .sec__label02 {
  width: 39rem;
}

#top .concept__txtBox {
  margin-bottom: 4rem;
  display: block;
}

#top .concept__btns {
  margin-top: 3rem;
  display: flex;
  justify-content: space-between;
}

#top .concept__btn {
  width: 48.6%;
}

#top .concept__imgBox {
  position: relative;
  padding: 6rem 0 4rem;
}

#top .concept__img01 {
  position: relative;
  z-index: 5;
}

#top .concept__img02 {
  width: 40.4rem;
  position: absolute;
  top: 0;
  right: -2.5rem;
}

@media (min-width: 960px) {
  #top .concept {
    padding: 10.7rem 0 13.8rem;
  }
  #top .concept .sec__label01 {
    top: 7rem;
  }
  #top .concept .sec__label02 {
    width: 100%;
    margin-bottom: 2rem;
  }
  #top .concept__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #top .concept__txtBox {
    width: 50%;
    margin-bottom: 0;
  }
  #top .concept__txtBox .cmn-txt {
    line-height: 2.6;
  }
  #top .concept__btns {
    margin-top: 4rem;
    justify-content: flex-start;
  }
  #top .concept__btn {
    width: 20rem;
    margin-right: 2rem;
  }
  #top .concept__imgBox {
    width: 50rem;
    padding: 6rem 5rem 4.5rem 2.5rem;
    margin-right: calc((100vw - 100%) / -2);
    box-sizing: border-box;
  }
  #top .concept__img02 {
    width: 100%;
    right: 0;
  }
}

@media (min-width: 1200px) {
  #top .concept {
    padding: 6.7rem 0 13.8rem;
  }
  #top .concept .sec__label01 {
    top: 6.7rem;
  }
  #top .concept__btns {
    margin-top: 5.5rem;
  }
  #top .concept__btn {
    width: 25rem;
  }
  #top .concept__imgBox {
    width: 65rem;
    padding: 8rem 10rem 6.5rem 5rem;
  }
}

#top .about {
  position: relative;
}

#top .about::before {
  height: calc(100% - 12rem);
}

#top .about .sec__label01 {
  color: #F5F5F5;
  left: -2.5rem;
  top: 7rem;
}

#top .about__headline {
  margin-bottom: 3rem;
}

#top .about__item {
  background-color: #FFF;
}

#top .about__item:not(:last-child) {
  margin-bottom: 3rem;
}

#top .about__txtBox {
  padding: 2rem 1rem 3rem 2rem;
}

#top .about__ttl {
  margin-bottom: 1.25rem;
  font-size: 1.8rem;
  font-weight: 700;
  color: #258FAD;
  text-align: center;
  letter-spacing: .1em;
}

@media (max-width: 959px) {
  #top .about {
    padding-top: 16rem;
  }
}

@media (min-width: 960px) {
  #top .about::before {
    height: 46.2rem;
  }
  #top .about .sec__label01 {
    left: auto;
    right: -1.5rem;
    top: 3rem;
  }
  #top .about__headline {
    margin-bottom: 6rem;
  }
  #top .about__list {
    display: flex;
    justify-content: space-between;
  }
  #top .about__item {
    width: 23%;
  }
  #top .about__item:not(:last-child) {
    margin-bottom: 0;
  }
  #top .about__txtBox {
    padding: 1.5rem 2rem 2rem;
  }
  #top .about__ttl {
    min-height: 5.6rem;
    line-height: 1.6;
  }
}

@media (min-width: 1200px) {
  #top .about::before {
    height: 46.2rem;
  }
  #top .about .sec__label01 {
    right: -5.5rem;
    top: 4rem;
  }
  #top .about__txtBox {
    padding: 2.5rem 0 3rem;
  }
  #top .about__txt {
    padding: 0 2rem;
  }
}

#top .consult {
  position: relative;
  padding-top: 16.6rem;
}

#top .consult .sec__label01 {
  color: #FFFFFF;
  right: -3rem;
  top: 7rem;
}

@media (min-width: 960px) {
  #top .consult {
    padding-top: 8rem;
  }
  #top .consult .sec__label01 {
    right: calc((100vw - 100%) / -2 - .5rem);
    top: 3rem;
  }
}

@media (min-width: 1200px) {
  #top .consult .sec__label01 {
    top: 4rem;
  }
}

.faq__inner {
  position: relative;
  padding-top: 16.6rem;
}

.faq__inner::before {
  box-shadow: 0px 0px 1rem rgba(176, 175, 175, 0.1);
}

.faq .sec__label01 {
  color: #E5F9FF;
  left: -3rem;
  top: 7rem;
}

.faq .faqContents__box {
  background-color: #F5F5F5;
  padding: 0 2rem;
}

.faq .faqContents__box:not(:last-child) {
  margin-bottom: 1rem;
}

.faq .faqContents__box.is--active .icon::before {
  transform: translateX(-50%) rotate(-180deg);
}

.faq .faqContents__box.is--active .icon::after {
  transform: translateX(-50%) rotate(0deg);
}

.faq .faqContents__question {
  padding: 1.5rem 1.5rem 1.5rem 4rem;
  position: relative;
}

.faq .faqContents__question span {
  width: 3rem;
  height: 3rem;
  border-radius: 100px;
  box-sizing: border-box;
  font-size: 1.6rem;
  color: #258FAD;
  text-align: center;
  padding-top: 5px;
  background-color: #FFF;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.faq .faqContents__question p {
  font-size: 1.5rem;
  line-height: 1.5;
  box-sizing: border-box;
}

.faq .faqContents__question .icon {
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.faq .faqContents__question .icon::before,
.faq .faqContents__question .icon::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #258FAD;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  transition: .5s ease-in-out;
}

.faq .faqContents__question .icon::after {
  transform: translateX(-50%) rotate(90deg);
}

.faq .faqContents__answer {
  padding: 1.5rem 0 3rem;
  border-top: 1px solid #EAEAEA;
}

@media (min-width: 960px) {
  .faq__inner {
    padding-top: 8rem;
  }
  .faq .sec__label01 {
    top: 3rem;
    left: auto;
    right: -2rem;
  }
  .faq .sec__label02 {
    margin-bottom: 5rem;
  }
  .faq .faqContents__box {
    padding: 0 4rem;
  }
  .faq .faqContents__box:not(:last-child) {
    margin-bottom: 3rem;
  }
  .faq .faqContents__question {
    padding: 2.5rem 2.5rem 2.5rem 6rem;
  }
  .faq .faqContents__question span {
    width: 4rem;
    height: 4rem;
    font-size: 2.2rem;
  }
  .faq .faqContents__question p {
    font-size: 2.2rem;
  }
  .faq .faqContents__question .icon {
    width: 2.5rem;
    height: 2.5rem;
  }
  .faq .faqContents__question .icon::before,
  .faq .faqContents__question .icon::after {
    height: 2px;
  }
  .faq .faqContents__answer {
    padding: 2.5rem 0;
  }
}

@media (min-width: 1200px) {
  .faq .sec__label01 {
    top: 2.5rem;
    right: -5.5rem;
  }
  .faq .faqContents__question {
    cursor: pointer;
  }
}


/*====================================
 update 
====================================*/
#top .news_txt_box {
    margin-top: 10rem;
	margin-bottom: 4rem;
}
#top .news_txt_box .news_txt {
	display: block;
	border: 2px solid #EC3E54;
	padding: 1.5rem;
	box-sizing: border-box;
	text-align: center;
	font-size: 1.3rem;
	color: #EC3E54;
	letter-spacing: .1em;
	line-height: 1.5;
}
#top .news_txt_box .news_txt:not(:last-child) {
	margin-bottom: 2rem;
}

@media screen and (min-width: 540px) {
	#top .news_txt_box {
		margin-bottom: 2rem;
	}
	#top .news_txt_box .news_txt {
		padding: .75rem;
		font-size:1.3rem;
	}
	#top .news_txt_box .news_txt:not(:last-child) {
		margin-bottom: 1rem;
	}
}
@media screen and (min-width: 1024px) {
	#top .news_txt_box {
		margin-bottom: 6rem;
	}
	#top .news_txt_box .news_txt {
		padding: 1.5rem;
		font-size: 1.5rem;
	}
	#top .news_txt_box .news_txt:hover{
		text-decoration: underline;
	}
	#top .news_txt_box .news_txt:not(:last-child) {
		margin-bottom: 2rem;
	}
}




/*====================================
 * OTHER *
====================================*/
#other {
  /* ------------------------------- */
  /* MAIN IMG */
  /* --- */
  /* ------------------------------- */
  /* LAW */
  /* --- */
  /* ------------------------------- */
  /* PRIVACY */
  /* --- */
}

#other .cmn-page__ttl .page__ttl-inner {
  background-image: url(../img/company/main_img-sp.jpg);
}

@media (min-width: 960px) {
  #other .cmn-page__ttl .page__ttl-inner {
    background-image: url(../img/company/main_img-pc.jpg);
  }
}

#other .law__list {
  padding: 3rem 2rem;
  background-color: #F5F5F5;
}

#other .law__item:not(:last-child) {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #EAEAEA;
  margin-bottom: 2rem;
}

#other .law__label {
  margin-bottom: 1rem;
}

@media (min-width: 600px) {
  #other .law__list {
    padding: 4.5rem 4rem;
  }
  #other .law__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #other .law__item:not(:last-child) {
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
  }
  #other .law__label {
    width: 25.8%;
    margin-bottom: 0;
  }
  #other .law__txt {
    width: 70.5%;
  }
}

@media (min-width: 1200px) {
  #other .law__txt {
    width: 73.5%;
  }
}

#other .privacy__headline {
  margin-bottom: 3.5rem;
}

#other .privacy__list {
  padding: 3rem 2rem;
  background-color: #F5F5F5;
}

#other .privacy__item:not(:last-child) {
  margin-bottom: 2.5rem;
}

#other .privacy__label {
  background-color: #FFF;
  border-radius: 5px;
  position: relative;
  padding: 1.5rem 2.3rem 1.7rem;
  margin-bottom: 2rem;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: #258FAD;
  position: relative;
}

#other .privacy__label::before {
  content: "";
  width: 3px;
  height: 1.5rem;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #258FAD;
}

@media (min-width: 960px) {
  #other .privacy__headline {
    margin-bottom: 5.5rem;
  }
  #other .privacy__list {
    padding: 5rem;
  }
  #other .privacy__item:not(:last-child) {
    margin-bottom: 4.5rem;
  }
  #other .privacy__label {
    padding: 2.5rem 4rem 2.7rem;
    margin-bottom: 2.5rem;
    font-size: 2.6rem;
  }
  #other .privacy__label::before {
    width: 5px;
    height: 2rem;
  }
}

/*====================================
 * ABOUT *
====================================*/
#about {
  /* ------------------------------- */
  /*  MAIN */
  /* --- */
  /* ------------------------------- */
  /* CONCEPT */
  /* --- */
  /* ------------------------------- */
  /* ABOUT */
  /* --- */
  /* ------------------------------- */
  /* MESSAGE */
  /* --- */
}

#about .cmn-page__ttl .page__ttl-inner {
  background-image: url(../img/about/main_img-sp.jpg);
}

@media (min-width: 960px) {
  #about .cmn-page__ttl .page__ttl-inner {
    background-image: url(../img/about/main_img-pc.jpg);
  }
}

#about .concept {
  padding: 6rem 0;
  position: relative;
}

#about .concept .concept__ttl {
  width: 39rem;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-bottom: 2.5rem;
}

#about .concept__txtBox {
  margin-bottom: 4rem;
}

#about .concept__btns {
  margin-top: 3rem;
  display: flex;
  justify-content: space-between;
}

#about .concept__btn {
  width: 48.6%;
}

#about .concept__imgBox {
  position: relative;
  padding: 6rem 0 4rem;
}

#about .concept__img01 {
  position: relative;
  z-index: 5;
}

#about .concept__img02 {
  width: 40.4rem;
  position: absolute;
  top: 0;
  right: -2.5rem;
}

@media (min-width: 960px) {
  #about .concept {
    padding: 12rem 0;
  }
  #about .concept .concept__ttl {
    width: 100%;
    font-size: 2.6rem;
    margin-bottom: 3rem;
  }
  #about .concept__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #about .concept__txtBox {
    width: 50%;
    margin-bottom: 0;
  }
  #about .concept__txtBox .cmn-txt {
    line-height: 2.6;
  }
  #about .concept__btns {
    margin-top: 4rem;
    justify-content: flex-start;
  }
  #about .concept__btn {
    width: 20rem;
    margin-right: 2rem;
  }
  #about .concept__imgBox {
    width: 50rem;
    padding: 6rem 5rem 4.5rem 2.5rem;
    margin-right: calc((100vw - 100%) / -2);
    box-sizing: border-box;
  }
  #about .concept__img02 {
    width: 100%;
    right: 0;
  }
}

@media (min-width: 1200px) {
  #about .concept .concept__ttl {
    font-size: 3.2rem;
  }
  #about .concept__btns {
    margin-top: 5.5rem;
  }
  #about .concept__btn {
    width: 25rem;
  }
  #about .concept__imgBox {
    width: 65rem;
    padding: 8rem 10rem 6.5rem 5rem;
  }
}

#about .about {
  position: relative;
  padding-bottom: 0;
}

#about .about::before {
  height: calc(100% - 12rem);
}

#about .about__headline {
  margin-bottom: 3rem;
}

#about .about__item {
  background-color: #FFF;
}

#about .about__item:not(:last-child) {
  margin-bottom: 3rem;
}

#about .about__txtBox {
  padding: 2rem 1rem 3rem 2rem;
}

#about .about__ttl {
  margin-bottom: 1.25rem;
  font-size: 1.8rem;
  font-weight: 700;
  color: #258FAD;
  text-align: center;
  letter-spacing: .1em;
}

@media (min-width: 960px) {
  #about .about::before {
    height: 46.2rem;
  }
  #about .about__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6rem;
  }
  #about .about .cmn-sec__ttl01 {
    margin-bottom: 0;
  }
  #about .about__headline {
    margin-bottom: 0;
  }
  #about .about__list {
    display: flex;
    justify-content: space-between;
  }
  #about .about__item {
    width: 23%;
  }
  #about .about__item:not(:last-child) {
    margin-bottom: 0;
  }
  #about .about__txtBox {
    padding: 1.5rem 2rem 2rem;
  }
  #about .about__ttl {
    min-height: 5.6rem;
    line-height: 1.6;
  }
}

@media (min-width: 1200px) {
  #about .about::before {
    height: 46.2rem;
  }
  #about .about__txtBox {
    padding: 2.5rem 0 3rem;
  }
  #about .about__txt {
    padding: 0 2rem;
  }
}

#about .message {
  padding: 6rem 0;
}

#about .message__sign {
  margin-top: 4rem;
  font-size: 1.6rem;
}

#about .message__imgBox {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-top: 9.3rem;
}

#about .message__img01 {
  width: 18.4rem;
  position: relative;
  z-index: 5;
  border-radius: 0 5px 5px 0;
  overflow: hidden;
}

#about .message__img02 {
  width: 18.4rem;
  margin-top: 5rem;
  position: relative;
  z-index: 5;
  border-radius: 5px 0 0 5px;
  overflow: hidden;
}

#about .message__deco01 {
  width: 16.4rem;
  position: absolute;
  left: 0;
  top: -3.3rem;
}

#about .message__deco02 {
  width: 21.2rem;
  position: absolute;
  right: 0;
  top: 0;
}

@media (min-width: 960px) {
  #about .message {
    padding: 15rem 0;
    position: relative;
  }
  #about .message__txtBox {
    width: 40rem;
    margin: 0 auto;
    position: relative;
    z-index: 10;
  }
  #about .message__sign {
    margin-top: 2rem;
    font-size: 1.8rem;
  }
  #about .message__imgBox {
    width: 100%;
    display: flex;
    position: absolute;
    margin-top: 0;
    top: 17rem;
    left: 0;
  }
  #about .message__img01 {
    width: 25rem;
  }
  #about .message__img02 {
    width: 25rem;
    margin-top: 5rem;
  }
  #about .message__deco01 {
    width: 30rem;
    top: 7.5rem;
  }
  #about .message__deco02 {
    width: 38rem;
  }
}

@media (min-width: 1200px) {
  #about .message {
    padding: 20rem 0 12rem;
  }
  #about .message__txtBox {
    width: 54.6rem;
  }
  #about .message__imgBox {
    top: 11.5rem;
  }
  #about .message__img01 {
    width: 30rem;
  }
  #about .message__img02 {
    width: 30rem;
    margin-top: 7.5rem;
  }
  #about .message__deco01 {
    width: 37rem;
    top: 10.9rem;
  }
  #about .message__deco02 {
    width: 45.7rem;
  }
}

/*====================================
 * FLOW *
====================================*/
#flow {
  /* ------------------------------- */
  /*  MAIN */
  /* --- */
  /* ------------------------------- */
  /*  FLOW */
  /* --- */
}

#flow .cmn-page__ttl .page__ttl-inner {
  background-image: url(../img/flow/main_img-sp.jpg);
}

@media (min-width: 960px) {
  #flow .cmn-page__ttl .page__ttl-inner {
    background-image: url(../img/flow/main_img-pc.jpg);
  }
}

#flow .flow__list {
  padding-top: 2rem;
}

#flow .flow__blc {
  background-color: #F5F5F5;
  border-radius: 5px;
  position: relative;
}

#flow .flow__blc:not(:last-child) {
  margin-bottom: 5rem;
}

#flow .flow__blc:not(:last-child)::before {
  content: "";
  width: 3px;
  height: 5rem;
  background-color: #DEDEDE;
  position: absolute;
  left: 4.1rem;
  bottom: -5rem;
}

#flow .flow__txtBox {
  padding: 4rem 2rem 3rem;
}

#flow .flow__num {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 100px;
  border: 2px solid #258FAD;
  background-color: #FFF;
  padding: 1rem 0;
  text-align: center;
  box-sizing: border-box;
  font-size: 2rem;
  font-weight: 700;
  color: #258FAD;
  position: absolute;
  top: -2.2rem;
  left: 2rem;
  z-index: 5;
}

#flow .flow__ttl {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}

#flow .flow__imgBox {
  overflow: hidden;
  border-radius: 0 0 5px 5px;
}

@media (min-width: 960px) {
  #flow .flow__list {
    padding-top: 3rem;
  }
  #flow .flow__blc {
    display: flex;
  }
  #flow .flow__blc:not(:last-child) {
    margin-bottom: 7rem;
  }
  #flow .flow__blc:not(:last-child)::before {
    height: 7rem;
    left: 7.3rem;
    bottom: -7rem;
  }
  #flow .flow__txtBox {
    width: 58.4%;
    box-sizing: border-box;
    padding: 5.5rem 4rem 1rem;
  }
  #flow .flow__num {
    width: 6.5rem;
    height: 6.5rem;
    padding: 1.5rem 0;
    font-size: 2.8rem;
    top: -3rem;
    left: 4rem;
  }
  #flow .flow__ttl {
    font-size: 2.6rem;
    margin-bottom: 2.5rem;
  }
  #flow .flow__imgBox {
    width: 41.6%;
    border-radius: 0 5px 5px 0;
  }
}

/*====================================
 * Personal information *
====================================*/
#other {
  /* ------------------------------- */
  /* pi */
  /* --- */
}

#other .piContents__box {
  background-color: #F5F5F5;
  padding: 0 2rem;
}

#other .piContents__box:not(:last-child) {
  margin-bottom: 1rem;
}

#other .piContents__box.is--active .icon::before {
  transform: translateX(-50%) rotate(-180deg);
}

#other .piContents__box.is--active .icon::after {
  transform: translateX(-50%) rotate(0deg);
}

#other .piContents__clinic {
  padding: 1.7rem 0;
  position: relative;
}

#other .piContents__clinic p {
  font-size: 1.8rem;
  font-weight: 700;
  color: #258FAD;
  line-height: 1.5;
  box-sizing: border-box;
}

#other .piContents__clinic .icon {
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

#other .piContents__clinic .icon::before, #other .piContents__clinic .icon::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #258FAD;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  transition: .5s ease-in-out;
}

#other .piContents__clinic .icon::after {
  transform: translateX(-50%) rotate(90deg);
}

#other .piContents__txtBox {
  padding: 2.5rem 0;
  border-top: 1px solid #258FAD;
}

#other .piContents__txtBox dt {
  font-size: 1.6rem;
  font-weight: 700;
  color: #258FAD;
  line-height: 1.5;
  margin-top: 3rem;
  margin-bottom: 1rem;
  position: relative;
}

#other .piContents__txtBox dt:first-child {
  margin-top: 0;
}

#other .piContents__txtBox dt::before {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background-color: #E5E5E5;
  position: absolute;
  top: 50%;
  left: 0;
}

#other .piContents__txtBox dt span {
  position: relative;
  z-index: 5;
  background-color: #F5F5F5;
  padding-right: 1rem;
}

@media (min-width: 960px) {
  #other .piContents__box {
    padding: 0 4rem;
  }
  #other .piContents__box:not(:last-child) {
    margin-bottom: 2rem;
  }
  #other .piContents__clinic {
    padding: 3rem 0;
    cursor: pointer;
  }
  #other .piContents__clinic p {
    font-size: 2.6rem;
  }
  #other .piContents__clinic .icon {
    width: 2.5rem;
    height: 2.5rem;
  }
  #other .piContents__clinic .icon::before, #other .piContents__clinic .icon::after {
    height: 2px;
  }
  #other .piContents__txtBox {
    padding: 4.5rem 0;
  }
  #other .piContents__txtBox dt {
    font-size: 2rem;
    margin-top: 4.5rem;
    margin-bottom: 2.5rem;
  }
}

/*====================================
 * COMPANY *
====================================*/
#other {
  /* ------------------------------- */
  /* MESSAGE */
  /* --- */
  /* ------------------------------- */
  /* COMPANY */
  /* --- */
}

#other .cmn-lastSec {
  padding-top: 0;
}

#other .message {
  padding: 6rem 0;
}

#other .message__sign {
  margin-top: 4rem;
  font-size: 1.6rem;
}

#other .message__imgBox {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-top: 9.3rem;
}

#other .message__img01 {
  width: 18.4rem;
  position: relative;
  z-index: 5;
  border-radius: 0 5px 5px 0;
  overflow: hidden;
}

#other .message__img02 {
  width: 18.4rem;
  margin-top: 5rem;
  position: relative;
  z-index: 5;
  border-radius: 5px 0 0 5px;
  overflow: hidden;
}

#other .message__deco01 {
  width: 16.4rem;
  position: absolute;
  left: 0;
  top: -3.3rem;
}

#other .message__deco02 {
  width: 21.2rem;
  position: absolute;
  right: 0;
  top: 0;
}

@media (min-width: 960px) {
  #other .message {
    padding: 15rem 0;
    position: relative;
  }
  #other .message__txtBox {
    width: 40rem;
    margin: 0 auto;
    position: relative;
    z-index: 10;
  }
  #other .message__sign {
    margin-top: 2rem;
    font-size: 1.8rem;
  }
  #other .message__imgBox {
    width: 100%;
    display: flex;
    position: absolute;
    margin-top: 0;
    top: 17rem;
    left: 0;
  }
  #other .message__img01 {
    width: 25rem;
  }
  #other .message__img02 {
    width: 25rem;
    margin-top: 5rem;
  }
  #other .message__deco01 {
    width: 30rem;
    top: 7.5rem;
  }
  #other .message__deco02 {
    width: 38rem;
  }
}

@media (min-width: 1200px) {
  #other .message {
    padding: 20rem 0 12rem;
  }
  #other .message__txtBox {
    width: 54.6rem;
  }
  #other .message__imgBox {
    top: 11.5rem;
  }
  #other .message__img01 {
    width: 30rem;
  }
  #other .message__img02 {
    width: 30rem;
    margin-top: 7.5rem;
  }
  #other .message__deco01 {
    width: 37rem;
    top: 10.9rem;
  }
  #other .message__deco02 {
    width: 45.7rem;
  }
}

#other .company__list {
  padding: 3rem 2rem;
  background-color: #F5F5F5;
}

#other .company__item:not(:last-child) {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #EAEAEA;
  margin-bottom: 2rem;
}

#other .company__label {
  margin-bottom: 1rem;
}

@media (min-width: 600px) {
  #other .company__list {
    padding: 3rem;
  }
  #other .company__item {
    display: flex;
    align-items: baseline;
  }
  #other .company__item:not(:last-child) {
    padding-bottom: 3rem;
    margin-bottom: 3rem;
  }
  #other .company__label {
    min-width: 10rem;
    margin-bottom: 0;
    margin-right: 7rem;
  }
}

@media (min-width: 1200px) {
  #other .company__list {
    height: 40rem;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }
  #other .company__item {
    width: 47.7%;
  }
  #other .company__item:nth-child(5) {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
}

/*====================================
 * FLOW *
====================================*/
#area {
  /* ------------------------------- */
  /*  MAIN */
  /* --- */
  /* ------------------------------- */
  /*  HOUR */
  /* --- */
  /* ------------------------------- */
  /*  AREA */
  /* --- */
}

#area .cmn-page__ttl .page__ttl-inner {
  background-image: url(../img/hour-area/main_img-sp.jpg);
}

@media (min-width: 960px) {
  #area .cmn-page__ttl .page__ttl-inner {
    background-image: url(../img/hour-area/main_img-pc.jpg);
  }
}

#area .hour {
  padding-top: 6rem;
}

#area .hour__inner {
  padding-bottom: 0;
}

#area .hour__inner::before {
  content: "";
  height: calc(100% - 7rem);
}

#area .hour__scheduleBox {
  padding: 3rem 2rem;
  background: #FFF;
}

#area .hour__scheduleBox__tbl {
  width: 100%;
  position: relative;
  z-index: 10;
}

#area .hour__scheduleBox__tbl tr th,
#area .hour__scheduleBox__tbl tr td {
  min-width: 3rem;
  height: 4rem;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
  color: #258FAD;
}

#area .hour__scheduleBox__tbl tr th.is--ir,
#area .hour__scheduleBox__tbl tr td.is--ir {
  letter-spacing: -.2em;
}

#area .hour__scheduleBox__tbl tr th {
  font-size: 1.3rem;
  padding: 1rem .2rem;
}

#area .hour__scheduleBox__tbl tr th:first-child {
  width: 8.5rem;
}

#area .hour__scheduleBox__tbl tr td {
  font-size: 1.2rem;
  padding: 1.5rem 0;
}

#area .hour__scheduleBox__tbl tr:first-child th {
  text-align: center;
  background-color: #F5F5F5;
}

#area .hour__scheduleBox__tbl tr:first-child th:not(:last-child) {
  border-right: 2px solid #FFF;
}

#area .hour__scheduleBox__tbl tr:last-child th, #area .hour__scheduleBox__tbl tr:last-child td {
  border-top: 1px solid #EAEAEA;
}

#area .hour__scheduleBox__note {
  margin-top: 1rem;
}

@media (min-width: 960px) {
  #area .hour__inner::before {
    content: "";
    height: calc(100% - 8rem);
  }
  #area .hour__scheduleBox {
    padding: 5rem 5rem 3rem;
  }
  #area .hour__scheduleBox__tbl tr th,
  #area .hour__scheduleBox__tbl tr td {
    min-width: 10rem;
    height: 6rem;
    font-size: 1.6rem;
  }
  #area .hour__scheduleBox__tbl tr th:first-child {
    width: 17rem;
  }
  #area .hour__scheduleBox__tbl tr td {
    padding: 2.5rem 0;
  }
  #area .hour__scheduleBox__tbl tr:first-child th {
    padding: 1.8rem .5rem;
  }
  #area .hour__note {
    margin-top: 2rem;
  }
}

@media (min-width: 1200px) {
  #area .hour__scheduleBox__tbl tr th,
  #area .hour__scheduleBox__tbl tr td {
    min-width: 12.8rem;
  }
  #area .hour__scheduleBox__tbl tr th:first-child {
    width: 19rem;
  }
}

#area .area__inner {
  width: calc((100vw - 100%) / 2 + 100%);
}

#area .areaBlc {
  border-radius: 5px 0 0 5px;
  background-color: #F5F5F5;
}

#area .areaBlc:not(:last-child) {
  margin-bottom: 7rem;
}

#area .areaBlc__txtBox {
  padding: 6rem 2.5rem 4rem 2rem;
  position: relative;
}

#area .areaBlc__txtBox dt {
  font-size: 1.6rem;
  font-weight: 700;
  color: #258FAD;
  line-height: 1.5;
  margin-top: 3rem;
  margin-bottom: 1rem;
  position: relative;
}

#area .areaBlc__txtBox dt:first-child {
  margin-top: 0;
}

#area .areaBlc__txtBox dt::before {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background-color: #E5E5E5;
  position: absolute;
  top: 50%;
  left: 0;
}

#area .areaBlc__txtBox dt span {
  position: relative;
  z-index: 5;
  background-color: #F5F5F5;
  padding-right: 1rem;
}

#area .areaBlc__label {
  font-size: 2rem;
  font-weight: 700;
  color: #258FAD;
  padding: 1.6rem 2rem;
  background-color: #FFF;
  border-radius: 5px;
  position: absolute;
  top: -3rem;
  left: 0;
}

#area .areaBlc__imgBox {
  height: 28rem;
  background-color: #E5F9FF;
  border-radius: 5px 0 0 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 2.5rem;
}

#area .areaBlc__imgBox img {
  max-height: 100%;
}

@media (min-width: 960px) {
  #area .areaBlc {
    background-color: #FFF;
    display: flex;
    align-items: center;
  }
  #area .areaBlc:not(:last-child) {
    margin-bottom: 5rem;
  }
  #area .areaBlc__txtBox {
    width: 61rem;
    padding: 7rem 4rem 4rem;
    border-radius: 5px 0 0 5px;
    background-color: #F5F5F5;
  }
  #area .areaBlc__txtBox dt {
    font-size: 2rem;
    margin-top: 3.5rem;
    margin-bottom: 1.5rem;
  }
  #area .areaBlc__label {
    font-size: 3rem;
    padding: 1.5rem 4rem;
    top: -3.5rem;
  }
  #area .areaBlc__imgBox {
    width: calc((100vw - 100%) / 2 + 59rem);
    height: 50rem;
    padding: 0 4.5rem;
  }
}

/*====================================
 * CLINIC *
====================================*/
#clinic {
  /* ------------------------------- */
  /*  MAIN */
  /* --- */
  /* ------------------------------- */
  /*  PARTNER */
  /* --- */
  /* ------------------------------- */
  /* COOPAERATION */
  /* --- */
}

#clinic .cmn-page__ttl .page__ttl-inner {
  background-image: url(../img/clinic/main_img-sp.jpg);
}

@media (min-width: 960px) {
  #clinic .cmn-page__ttl .page__ttl-inner {
    background-image: url(../img/clinic/main_img-pc.jpg);
  }
}

#clinic .partner {
  padding-top: 6rem;
}

#clinic .partner__inner {
  padding-bottom: 0;
}

#clinic .partner__inner::before {
  height: calc(100% - 7rem);
}

#clinic .partner__item {
  background-color: #FFF;
}

@media (max-width: 599px) {
  #clinic .partner__item:not(:last-child) {
    margin-bottom: 3rem;
  }
}

#clinic .partner__imgBox {
  width: 100%;
  height: 22.2rem;
}

#clinic .partner__txtBox {
  padding: 2rem 2rem 3rem;
}

#clinic .partner__label {
  font-size: 1.8rem;
  font-weight: 700;
  color: #258FAD;
  line-height: 1.3;
  margin-bottom: 1.5rem;
  position: relative;
}

#clinic .partner__label::before {
  content: "";
  width: 1.5rem;
  height: 2px;
  background-color: #258FAD;
  position: absolute;
  top: .6em;
  left: -2rem;
}

@media (min-width: 960px) {
  #clinic .partner {
    padding-top: 12rem;
  }
  #clinic .partner__inner::before {
    height: calc(100% - 8rem);
  }
  #clinic .partner__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #clinic .partner__item {
    width: 47.9%;
    margin-bottom: 5rem;
  }
  #clinic .partner__imgBox {
    height: 30rem;
  }
  #clinic .partner__txtBox {
    padding: 3rem 3rem 4rem;
  }
  #clinic .partner__label {
    font-size: 2.6rem;
    margin-bottom: 2rem;
  }
  #clinic .partner__label::before {
    width: 2.5rem;
    top: .6em;
    left: -3rem;
  }
}

@media (min-width: 1200px) {
  #clinic .partner__imgBox {
    height: 35rem;
  }
}

#clinic .cooperation__list {
  padding: 3rem 2rem;
  background-color: #F5F5F5;
}

#clinic .cooperation__item:not(:last-child) {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #EAEAEA;
  margin-bottom: 2rem;
}

#clinic .cooperation__label {
  margin-bottom: 1rem;
}

@media (min-width: 600px) {
  #clinic .cooperation__list {
    padding: 4rem;
  }
  #clinic .cooperation__item {
    display: flex;
    align-items: center;
    padding-right: 3rem;
  }
  #clinic .cooperation__item:not(:last-child) {
    padding-bottom: 3rem;
    margin-bottom: 3rem;
  }
  #clinic .cooperation__label {
    width: 38.4%;
    margin-bottom: 0;
    margin-right: 7rem;
  }
  #clinic .cooperation__txt {
    width: 43%;
  }
}

@media (min-width: 960px) {
  #clinic .cooperation__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #clinic .cooperation__item {
    width: 44.5%;
  }
  #clinic .cooperation__lavel {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

/*====================================
 * RECRUIT *
====================================*/
#recruit {
  /* ------------------------------- */
  /*  MAIN */
  /* --- */
  /* ------------------------------- */
  /*  MESSAGE */
  /* --- */
  /* ------------------------------- */
  /*  POINT */
  /* --- */
}

#recruit .cmn-page__ttl .page__ttl-inner {
  background-image: url(../img/recruit/main_img-sp.jpg);
}

@media (min-width: 960px) {
  #recruit .cmn-page__ttl .page__ttl-inner {
    background-image: url(../img/recruit/main_img-pc.jpg);
  }
}

#recruit .message {
  position: relative;
}

#recruit .message .message__ttl {
  width: 39rem;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-bottom: 2.5rem;
}

#recruit .message__txtBox {
  margin-bottom: 4rem;
}

#recruit .message__btn {
  margin-top: 3rem;
}

#recruit .message__imgBox {
  position: relative;
  padding: 6rem 0 4rem;
}

#recruit .message__imgBox img {
  filter: drop-shadow(0px 0px 3rem rgba(176, 175, 175, 0.3));
}

#recruit .message__img01 {
  width: 40.4rem;
  position: absolute;
  top: 0;
  right: -2.5rem;
}

#recruit .message__img02 {
  width: 38.9rem;
  margin-right: -2.5rem;
  position: relative;
}

@media (min-width: 960px) {
  #recruit .message .message__ttl {
    width: 100%;
    font-size: 2.6rem;
    margin-bottom: 3rem;
  }
  #recruit .message__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #recruit .message__txtBox {
    width: 44%;
    margin-bottom: 0;
  }
  #recruit .message__txt {
    line-height: 2.6;
    padding-right: 2.5rem;
  }
  #recruit .message__btn {
    margin-top: 4rem;
  }
  #recruit .message__imgBox {
    width: 60rem;
    padding: 3rem 0rem 4.5rem;
    margin-right: calc((100vw - 100%) / -2);
    box-sizing: border-box;
  }
  #recruit .message__img01 {
    width: 100%;
    right: 0;
    box-sizing: border-box;
    padding-left: 6rem;
  }
  #recruit .message__img02 {
    width: 100%;
    margin-right: 0;
  }
}

@media (min-width: 1200px) {
  #recruit .message .message__ttl {
    font-size: 3.2rem;
  }
  #recruit .message__txt {
    padding-right: 5rem;
  }
  #recruit .message__btn {
    margin-top: 5.5rem;
  }
  #recruit .message__imgBox {
    width: 74rem;
    padding: 5rem 0rem 6.5rem;
  }
}

#recruit .point__list {
  margin-top: 8rem;
}

#recruit .point__item:not(:last-child) {
  margin-bottom: 7.8rem;
}

#recruit .point__txtBox {
  background-color: #E5F9FF;
  border-radius: 5px 5px 0 0;
  padding: 3rem 2rem;
  position: relative;
  margin: 0 1rem;
}

#recruit .point__point {
  font-size: 2.2rem;
  font-weight: 700;
  color: #258FAD;
  letter-spacing: .1em;
  position: absolute;
  top: -4.5rem;
  left: 0;
}

#recruit .point__point span {
  font-size: 5rem;
  padding-left: .5rem;
}

#recruit .point__ttl {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .1em;
  margin-bottom: 1.5rem;
}

#recruit .point__btn {
  margin: 4rem auto 0;
}

@media (min-width: 960px) {
  #recruit .point__list {
    margin-top: 0;
  }
  #recruit .point__item {
    display: flex;
    align-items: center;
  }
  #recruit .point__item:nth-child(even) {
    flex-direction: row-reverse;
  }
  #recruit .point__txtBox {
    width: 100%;
    min-height: 24.2rem;
    box-sizing: border-box;
    border-radius: 5px;
    padding: 5rem 4rem;
    margin: 0;
  }
  #recruit .point__point {
    font-size: 3rem;
    top: -5.5rem;
    left: 4rem;
  }
  #recruit .point__point span {
    font-size: 6rem;
    padding-left: .5rem;
  }
  #recruit .point__ttl {
    font-size: 2.6rem;
    margin-bottom: 3rem;
  }
  #recruit .point__imgBox {
    width: 100%;
  }
  #recruit .point__btn {
    margin: 6rem auto 0;
  }
}

/*====================================
 * MEDICAL-FEE *
====================================*/
#medical-fee {
  /* ------------------------------- */
  /* MAIN */
  /* --- */
  /* ------------------------------- */
  /* POINT */
  /* --- */
  /* ------------------------------- */
  /* SP */
  /* --- */
  /* ------------------------------- */
  /* MF */
  /* --- */
}

#medical-fee .cmn-page__ttl .page__ttl-inner {
  background-image: url(../img/medical-fee/main_img-sp.jpg);
}

@media (min-width: 960px) {
  #medical-fee .cmn-page__ttl .page__ttl-inner {
    background-image: url(../img/medical-fee/main_img-pc.jpg);
  }
}

#medical-fee .point {
  padding: 6rem 0;
}

#medical-fee .point__list {
  padding: 3rem 2rem;
  background-color: #FFF;
}

#medical-fee .point__item:not(:last-child) {
  margin-bottom: 3rem;
}

#medical-fee .point__label {
  font-size: 1.8rem;
  font-weight: 700;
  color: #258FAD;
  letter-spacing: .1em;
  position: relative;
  margin-bottom: 1.5rem;
}

#medical-fee .point__label span {
  font-size: 3.6rem;
  letter-spacing: 0;
}

#medical-fee .point__label::before {
  content: "";
  width: 20.7rem;
  height: 1px;
  background-color: #EAEAEA;
  position: absolute;
  right: 0;
  bottom: 1rem;
}

@media (min-width: 960px) {
  #medical-fee .point {
    padding: 12rem 0;
  }
  #medical-fee .point__list {
    padding: 6rem 5rem 8rem;
  }
  #medical-fee .point__item:not(:last-child) {
    margin-bottom: 5rem;
  }
  #medical-fee .point__label {
    font-size: 2.2rem;
    margin-bottom: 3rem;
  }
  #medical-fee .point__label span {
    font-size: 5rem;
  }
  #medical-fee .point__label::before {
    width: 70rem;
    bottom: 1.5rem;
  }
}

@media (min-width: 1200px) {
  #medical-fee .point__item:not(:last-child) {
    margin-bottom: 7rem;
  }
  #medical-fee .point__label {
    margin-bottom: 3rem;
  }
  #medical-fee .point__label::before {
    width: 93rem;
  }
}

#medical-fee .sp__blc {
  position: relative;
  background-color: #FFF;
  margin-top: 7rem;
  padding: 5rem 2rem 3rem;
}

#medical-fee .sp__label {
  padding: 1.5rem 2rem;
  background-color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .1em;
  position: absolute;
  top: -3rem;
  left: 0;
  border-radius: 5px;
}

#medical-fee .sp__imgBox {
  margin: 0 1.6rem 3rem;
  text-align: center;
}

#medical-fee .sp__txtBox {
  background-color: #F5F5F5;
  padding: 3rem 2rem;
  border-radius: 5px;
}

#medical-fee .sp__txtBox dt {
  font-size: 2rem;
  font-weight: 700;
  color: #258FAD;
  text-align: center;
  margin-bottom: 2rem;
}

#medical-fee .sp__txtBox dd {
  line-height: 1.9;
}

#medical-fee .sp__txtBox dd strong {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 1.5rem;
  display: block;
}

@media (min-width: 960px) {
  #medical-fee .sp__list {
    display: flex;
    justify-content: space-between;
  }
  #medical-fee .sp__blc {
    width: 49.5%;
    box-sizing: border-box;
    padding: 6rem 3rem 2.6rem;
  }
  #medical-fee .sp__label {
    padding: 1.5rem 4rem;
    font-size: 2.6rem;
    top: -3rem;
  }
  #medical-fee .sp__imgBox {
    margin: 0 1.6rem 3rem;
  }
  #medical-fee .sp__txtBox {
    padding: 3.5rem 3rem 4rem;
  }
  #medical-fee .sp__txtBox dt {
    font-size: 2.4rem;
    margin-bottom: 3rem;
  }
  #medical-fee .sp__txtBox dd {
    line-height: 2;
  }
  #medical-fee .sp__txtBox dd strong {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
  }
}

@media (min-width: 1200px) {
  #medical-fee .sp__blc {
    padding: 8.8rem 3rem 2.6rem;
  }
  #medical-fee .sp__label {
    font-size: 3rem;
    top: -3.5rem;
  }
  #medical-fee .sp__txtBox {
    min-height: 25.6rem;
    box-sizing: border-box;
  }
  #medical-fee .sp__txtBox dt {
    font-size: 3.2rem;
  }
  #medical-fee .sp__txtBox dd strong {
    font-size: 2rem;
  }
}

#medical-fee .mf__blc {
  position: relative;
  background-color: #F5F5F5;
  margin-top: 7rem;
  border-radius: 5px;
}

#medical-fee .mf__ttl {
  padding: 2rem;
  background-color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  color: #258FAD;
  letter-spacing: .1em;
  position: absolute;
  top: -3rem;
  left: 0;
  border-radius: 5px;
}

#medical-fee .mf__txtBox {
  padding: 6rem 2rem 3rem;
  border-radius: 5px;
}

#medical-fee .mf__label {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 2rem;
}

#medical-fee .mf__txt {
  line-height: 2.3;
}

#medical-fee .mf__txt strong {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 2rem;
  display: block;
}

#medical-fee .mf__priceList {
  margin-bottom: 3rem;
}

#medical-fee .mf__priceCell {
  border-radius: 5px;
  background-color: #FFF;
  overflow: hidden;
}

#medical-fee .mf__priceCell:not(:last-child) {
  margin-bottom: 1rem;
}

#medical-fee .mf__priceCell:nth-child(1) .mf__priceTtl {
  background-color: #FAE2D5;
}

#medical-fee .mf__priceCell:nth-child(1) .mf__priceTxt {
  color: #D77037;
}

#medical-fee .mf__priceCell:nth-child(2) .mf__priceTtl {
  background-color: #E9F1F0;
}

#medical-fee .mf__priceCell:nth-child(2) .mf__priceTxt {
  color: #5FAFA5;
}

#medical-fee .mf__priceCell:nth-child(3) .mf__priceTtl {
  background-color: #F0E9F1;
}

#medical-fee .mf__priceCell:nth-child(3) .mf__priceTxt {
  color: #C165CE;
}

#medical-fee .mf__priceTtl {
  font-size: 1.8rem;
  font-weight: 700;
  color: #258FAD;
  text-align: center;
  padding: 1.5rem;
}

#medical-fee .mf__priceTxt {
  font-size: 4.4rem;
  font-weight: 700;
  text-align: center;
  padding: 2rem 0 2.5rem;
}

#medical-fee .mf__priceTxt span {
  font-size: 2.6rem;
}

@media (min-width: 960px) {
  #medical-fee .mf__blc {
    margin-top: 8.5rem;
  }
  #medical-fee .mf__blc__inner {
    display: flex;
    justify-content: space-between;
  }
  #medical-fee .mf__ttl {
    padding: 1.5rem 4rem;
    font-size: 3rem;
    top: -3.5rem;
  }
  #medical-fee .mf__txtBox {
    padding: 7.5rem 4rem 3.5rem;
  }
  #medical-fee .mf__label {
    font-size: 2.6rem;
    margin-bottom: 2.5rem;
  }
  #medical-fee .mf__txt {
    line-height: 2;
  }
  #medical-fee .mf__txt strong {
    font-size: 2rem;
    padding-left: 3rem;
    margin-bottom: 1.5rem;
  }
  #medical-fee .mf__priceList {
    margin-bottom: 4rem;
    display: flex;
    justify-content: space-between;
  }
  #medical-fee .mf__priceCell {
    width: 33.2%;
  }
  #medical-fee .mf__priceCell:not(:last-child) {
    margin-bottom: 0;
  }
  #medical-fee .mf__priceTtl {
    font-size: 2.2rem;
    padding: 2rem;
  }
  #medical-fee .mf__priceTxt {
    font-size: 5.2rem;
    padding: 2.5rem 0 3rem;
  }
  #medical-fee .mf__priceTxt span {
    font-size: 3rem;
  }
}

/*====================================
 * TREATMENT *
====================================*/
#treatment {
  /* ------------------------------- */
  /* MAIN */
  /* --- */
  /* ------------------------------- */
  /* symptom */
  /* --- */
  /* ------------------------------- */
  /* examination */
  /* --- */
}

#treatment .cmn-page__ttl .page__ttl-inner {
  background-image: url(../img/treatment/main_img-sp.jpg);
}

@media (min-width: 960px) {
  #treatment .cmn-page__ttl .page__ttl-inner {
    background-image: url(../img/treatment/main_img-pc.jpg);
  }
}

#treatment .symptom {
  padding: 6rem 0;
}

#treatment .symptom__blc {
  padding: 3rem 2rem;
  background-color: #FFF;
}

#treatment .symptom__box:not(:last-child) {
  margin-bottom: 1rem;
}

#treatment .symptom__ttl {
  font-size: 1.8rem;
  font-weight: 700;
  color: #258FAD;
  letter-spacing: .1em;
  padding: 1.5rem 2.3rem;
  border-radius: 5px;
  background-color: #F5F5F5;
  position: relative;
  margin-bottom: 2rem;
}

#treatment .symptom__ttl::before {
  content: "";
  width: 3px;
  height: calc(100% - 3.5rem);
  background-color: #258FAD;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

#treatment .symptom__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#treatment .symptom__item {
  width: 44.6%;
  font-size: 1.5rem;
  line-height: 1.5;
  margin-bottom: 2rem;
}

@media (min-width: 960px) {
  #treatment .symptom {
    padding: 12rem 0;
  }
  #treatment .symptom__blc {
    padding: 5rem;
  }
  #treatment .symptom__box:not(:last-child) {
    margin-bottom: 2rem;
  }
  #treatment .symptom__ttl {
    font-size: 2.6rem;
    padding: 2rem 4rem 2.4rem;
    margin-bottom: 3rem;
  }
  #treatment .symptom__ttl::before {
    width: 5px;
    height: calc(100% - 5rem);
  }
  #treatment .symptom__list {
    justify-content: flex-start;
  }
  #treatment .symptom__item {
    width: auto;
    display: inline-block;
    font-size: 1.8rem;
    margin-bottom: 2rem;
    margin-right: 4rem;
  }
}

#treatment .examination__item {
  background-color: #FFF;
  border-radius: 5px;
}

#treatment .examination__item:not(:last-child) {
  margin-bottom: 3rem;
}

#treatment .examination__img {
  position: relative;
}

#treatment .examination__ttl {
  font-size: 1.8rem;
  font-weight: 700;
  color: #258FAD;
  letter-spacing: .1em;
  padding: 1rem 2rem;
  background-color: #FFF;
  border-radius: 0 5px 0 0;
  position: absolute;
  bottom: 0;
  left: 0;
}

#treatment .examination__txt {
  padding: 2.5rem 2rem;
}

@media (min-width: 960px) {
  #treatment .examination__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #treatment .examination__item {
    width: 31%;
    margin-bottom: 4rem !important;
  }
  #treatment .examination__item:not(:last-child) {
    margin-bottom: 0;
  }
  #treatment .examination__ttl {
    font-size: 2.2rem;
    padding: 1.5rem 3rem;
  }
  #treatment .examination__txt {
    padding: 2.5rem 3rem;
  }
}

/*====================================
 * Appointment *
====================================*/
#appointment {
  /* ------------------------------- */
  /* MAIN */
  /* --- */
  /* ------------------------------- */
  /* form */
  /* --- */
}

#appointment .cmn-page__ttl .page__ttl-inner {
  background-image: url(../img/appointment/main_img-sp.jpg);
}

@media (min-width: 960px) {
  #appointment .cmn-page__ttl .page__ttl-inner {
    background-image: url(../img/appointment/main_img-pc.jpg);
  }
}

#appointment .formHead {
  background-color: #FFF;
  margin-bottom: 6rem;
  border: 6px solid #D89696;
  box-sizing: border-box;
  padding: 4rem 1.4rem;
  border-radius: 5px;
}

#appointment .formHead__label {
  font-size: 1.8rem;
  line-height: 1.6;
  text-align: center;
  color: #B94040;
  margin-bottom: 3rem;
}

#appointment .formHead__list {
  padding: 3rem 0 0 2rem;
  background-color: #F5F5F5;
  border-radius: 5px;
  display: flex;
  flex-wrap: wrap;
}

#appointment .formHead__item {
  font-size: 1.6rem;
  line-height: 1.25;
  display: inline-flex;
  align-items: baseline;
  margin-bottom: 2rem;
}

#appointment .formHead__item::before {
  content: "";
  width: 1rem;
  height: 1rem;
  margin-right: 1rem;
  background-color: #D89696;
  border-radius: 3px;
  display: block;
}

@media (max-width: 599px) {
  #appointment .formHead__item:nth-child(1), #appointment .formHead__item:nth-child(4) {
    margin-right: 3rem;
  }
}

@media (min-width: 600px) {
  #appointment .formHead__item {
    margin-right: 3rem;
  }
}

@media (min-width: 960px) {
  #appointment .formHead {
    margin-bottom: 8rem;
    padding: 5rem;
  }
  #appointment .formHead__label {
    font-size: 2.6rem;
    letter-spacing: .1em;
    margin-bottom: 4rem;
  }
  #appointment .formHead__list {
    padding: 4rem 4rem 1.5rem;
  }
  #appointment .formHead__item {
    font-size: 2rem;
    margin-bottom: 2.5rem;
    margin-right: 4rem;
  }
}

/*====================================
 * TOPICS ARCHIVE *
====================================*/
#topics {
  /* ------------------------------- */
  /* MAIN */
  /* --- */
  /* ------------------------------- */
  /* common */
  /* --- */
  /* ------------------------------- */
  /* article */
  /* --- */
}

#topics .cmn-page__ttl .page__ttl-inner {
  background-image: url(../img/information/main_img-sp.jpg);
}

@media (min-width: 960px) {
  #topics .cmn-page__ttl .page__ttl-inner {
    background-image: url(../img/information/main_img-pc.jpg);
  }
}

@media (min-width: 600px) {
  #topics .topics__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

#topics .article {
  margin-bottom: 5rem;
}

#topics .article__blc {
  display: block;
  background-color: #FFF;
}

#topics .article__blc:not(:last-child) {
  margin-bottom: 3rem;
}

#topics .article__txtBox {
  padding: 3rem 2rem;
}

#topics .article__date {
  font-size: 1.4rem;
  letter-spacing: .1em;
  margin-bottom: 1.5rem;
  color: #AFAFAF;
}

#topics .article__ttl {
  font-size: 1.8rem;
  letter-spacing: .1em;
  line-height: 1.6;
  color: #258FAD;
  margin-bottom: 2rem;
}

#topics .article__imgBox {
  width: 100%;
  height: 24.3rem;
}

@media (min-width: 600px) {
  #topics .article {
    width: 70.8%;
  }
  #topics .article__blc.imgTrue {
    display: flex;
    justify-content: space-between;
  }
  #topics .article__blc.imgTrue .article__txtBox {
    width: 60%;
  }
  #topics .article__txtBox {
    box-sizing: border-box;
    padding: 2rem;
  }
  #topics .article__date {
    font-size: 1rem;
    margin-bottom: .5rem;
  }
  #topics .article__ttl {
    font-size: 1.4rem;
    margin-bottom: .5rem;
  }
  #topics .article__imgBox {
    width: 40%;
    margin-top: 0;
  }
}

@media (min-width: 960px) {
  #topics .article__date {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
  #topics .article__ttl {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
  #topics .article__imgBox {
    height: 22.6rem;
  }
}

@media (min-width: 1200px) {
  #topics .article__txtBox {
    padding: 3rem;
  }
}

/*====================================
 * TOPICS SINGLE*
====================================*/
#topics {
  /* ------------------------------- */
  /* single */
  /* --- */
}

#topics .single {
  box-sizing: border-box;
  margin-bottom: 5rem;
  padding: 4rem 2rem;
  background-color: #FFF;
  /* headBox */
  /* layout */
}

#topics .single__headBox {
  margin-bottom: 2rem;
}

#topics .single__headBox__date {
  font-size: 1.4rem;
  margin-bottom: 2rem;
  color: #AFAFAF;
}

#topics .single__headBox__ttl {
  font-size: 1.8rem;
  letter-spacing: .1em;
  line-height: 1.6;
}

#topics .single .layoutBox:not(:last-child) {
  padding-bottom: 3rem;
  border-bottom: 1px solid #E5E5E5;
  margin-bottom: 3rem;
}

#topics .single .layoutBox__inner + .layoutBox__txt {
  margin-top: 2rem;
}

@media (max-width: 599px) {
  #topics .single .layoutBox__img:not(:last-child) {
    margin-bottom: 2rem;
  }
}

#topics .single .layoutBox__mov {
  position: relative;
  margin-bottom: 2rem;
}

@media (min-width: 600px) {
  #topics .single {
    width: 70.8%;
    margin-bottom: 0;
    /* layout */
  }
  #topics .single .layoutBox__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #topics .single .layoutBox01 .layoutBox__img {
    margin: 0 auto;
  }
  #topics .single .layoutBox02 .layoutBox__img {
    width: 48%;
  }
  #topics .single .layoutBox03 .layoutBox__img {
    width: 30.6%;
  }
}

@media (min-width: 960px) {
  #topics .single {
    padding: 5rem;
    /* headBox */
    /* layout */
  }
  #topics .single__headBox {
    margin-bottom: 4rem;
  }
  #topics .single__headBox__date {
    font-size: 1.8rem;
  }
  #topics .single__headBox__ttl {
    font-size: 2.6rem;
  }
  #topics .single .layoutBox:not(:last-child) {
    padding-bottom: 3.5rem;
    margin-bottom: 3.5rem;
  }
  #topics .single .layoutBox__inner + .layoutBox__txt {
    margin-top: 2.5rem;
  }
}

/*====================================*/
/* SIDEBAR */
/*====================================*/
.sidebar {
  /* latest */
  /* archive */
  /* category */
}

.sidebar__blc:not(:last-child) {
  margin-bottom: 5rem;
}

.sidebar__label {
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: #258FAD;
  position: relative;
}

.sidebar__label::before {
  content: "";
  width: 5rem;
  height: 2px;
  background-color: #258FAD;
  position: absolute;
  bottom: 0;
  left: 0;
}

.sidebar__latestItem {
  width: 17.7rem;
  box-sizing: border-box;
  display: block;
  background-color: #FFF;
  border: 1px solid #F1F1F1;
  margin-bottom: 1rem;
}

.sidebar__latestItem__img {
  width: 100%;
  height: 11.8rem;
}

.sidebar__latestItem__txt {
  padding: 1.5rem 1rem;
}

.sidebar__latestItem__date {
  font-size: 1.1rem;
  margin-bottom: 1rem;
  color: #AFAFAF;
}

.sidebar__latestItem__ttl {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
}

.sidebar__select {
  width: 100%;
}

.sidebar__select select {
  border: 1px solid #258FAD;
  background: #FFF;
}

.sidebar__catItem {
  display: block;
  background-color: #FFF;
  font-size: 1.5rem;
  font-weight: 700;
  color: #258FAD;
  text-align: center;
  letter-spacing: .1em;
  box-sizing: border-box;
  padding: 1.5rem;
  border-radius: 5px;
  border: 1px solid #258FAD;
  transition: .3s ease-in-out;
}

.sidebar__catItem:not(:last-child) {
  margin-bottom: 1rem;
}

.sidebar__catItem.is--active {
  background-color: #258FAD;
  color: #FFF;
}

@media (max-width: 599px) {
  .sidebar {
    /* latest */
  }
  .sidebar__latestList {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}

@media (min-width: 600px) {
  .sidebar {
    width: 25%;
    /* latest */
  }
  .sidebar__latestItem {
    width: 100%;
  }
  .sidebar__latestItem__img {
    height: 12rem;
  }
}

@media (min-width: 960px) {
  .sidebar {
    /* latest */
  }
  .sidebar__label {
    font-size: 2.6rem;
  }
  .sidebar__latestItem {
    margin-bottom: 2rem;
  }
  .sidebar__latestItem__img {
    height: 15rem;
  }
  .sidebar__latestItem__txt {
    padding: 1.5rem;
  }
  .sidebar__latestItem__date {
    font-size: 1.3rem;
  }
  .sidebar__latestItem__ttl {
    font-size: 1.6rem;
  }
}

@media (min-width: 1200px) {
  .sidebar {
    /* latest */
    /* category */
  }
  .sidebar__latestItem__img {
    height: 20rem;
  }
  .sidebar__catItem {
    font-size: 1.8rem;
    padding: 2rem;
  }
  .sidebar__catItem:hover {
    background-color: #258FAD;
    color: #FFF;
  }
}

/*====================================
 * OTHER ARTICLE*
====================================*/
.otherArticle {
  padding-top: 6rem;
}

.otherArticle__btn {
  width: 25rem;
  display: block;
  margin: 5rem auto 0;
  background-color: #FFF;
}

@media (min-width: 600px) {
  .otherArticle {
    width: 70.8% !important;
  }
}

@media (min-width: 960px) {
  .otherArticle__btn {
    width: 30rem;
  }
}

.consultOtherSec {
  padding-top: 6rem;
}

@media (min-width: 960px) {
  .consultOtherSec {
    padding-top: 10rem;
  }
}

@media (min-width: 1200px) {
  .consultOtherSec {
    padding-top: 12rem;
  }
}

/*====================================*/
/* PAGE NAVI */
/*====================================*/
.wp-pagenavi {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  pointer-events: all;
  display: block;
  position: relative;
}

.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .nextpostslink::before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  border-right: #258FAD 1px solid;
  border-bottom: #258FAD 1px solid;
  position: absolute;
  top: 50%;
}

.wp-pagenavi .previouspostslink::before {
  left: -2rem;
  transform: translateY(-50%) rotate(135deg);
}

.wp-pagenavi .nextpostslink::before {
  right: -2rem;
  transform: translateY(-50%) rotate(-45deg);
}

.wp-pagenavi a, .wp-pagenavi span {
  margin: 0 .5rem;
}

.wp-pagenavi .current,
.wp-pagenavi .page,
.wp-pagenavi span {
  content: "";
  width: 4rem;
  height: 4rem;
  font-size: 1.6rem;
  color: #258FAD;
  background-color: #FFF;
  border: 1px solid #258FAD;
  box-sizing: border-box;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wp-pagenavi .current {
  background-color: #258FAD;
  color: #FFF;
}

@media (min-width: 960px) {
  .wp-pagenavi {
    margin-top: 5rem;
  }
  .wp-pagenavi .previouspostslink,
  .wp-pagenavi .nextpostslink,
  .wp-pagenavi .current,
  .wp-pagenavi .page,
  .wp-pagenavi span {
    font-size: 1.8rem;
  }
}

@media (min-width: 1200px) {
  .wp-pagenavi .current,
  .wp-pagenavi .page,
  .wp-pagenavi span {
    transition: .3s ease-in-out;
  }
  .wp-pagenavi .page:hover,
  .wp-pagenavi span:hover {
    opacity: 1 !important;
    background-color: #258FAD;
    color: #FFF;
  }
}

/*====================================
 * CONSULT ARCHIVE *
====================================*/
#topics.consult {
  /* ------------------------------- */
  /* MAIN */
  /* --- */
}

#topics.consult .cmn-page__ttl .page__ttl-inner {
  background-image: url(../img/consultation/main_img-sp.jpg);
}

@media (min-width: 960px) {
  #topics.consult .cmn-page__ttl .page__ttl-inner {
    background-image: url(../img/consultation/main_img-pc.jpg);
  }
}

/*====================================
 * CONSULT SINGLE *
====================================*/
#topics.consult .single__headBox {
  margin-bottom: 2.5rem;
}

#topics.consult .single__headBox__user {
  margin-bottom: 2rem;
}

#topics.consult .single__headBox__ttl {
  letter-spacing: 0;
}

#topics.consult .singleQ {
  margin-bottom: 3rem;
}

#topics.consult .singleQ__ttl {
  font-size: 1.7rem;
  font-weight: 700;
  color: #258FAD;
  letter-spacing: .1em;
  margin-bottom: 1.5rem;
  position: relative;
  line-height: 1.1;
}

#topics.consult .singleQ__ttl::before {
  content: "";
  width: 23.5rem;
  height: 1px;
  background-color: #EAEAEA;
  position: absolute;
  right: 0;
  top: 50%;
}

#topics.consult .singleA {
  padding: 2rem 2rem 2.5rem;
  background-color: #F5F5F5;
  border-radius: 5px;
}

#topics.consult .singleA__ttl {
  font-size: 1.7rem;
  font-weight: 700;
  color: #258FAD;
  letter-spacing: .1em;
  margin-bottom: 1.5rem;
  background-color: #FFF;
  display: inline-block;
  padding: 1rem 2rem;
  border-radius: 0 5px 5px 0;
  margin-left: -2rem;
}

@media (min-width: 600px) {
  #topics.consult .singleQ__ttl::before {
    width: 40.5rem;
  }
}

@media (min-width: 960px) {
  #topics.consult .single__headBox {
    margin-bottom: 4rem;
  }
  #topics.consult .singleQ {
    margin-bottom: 4rem;
  }
  #topics.consult .singleQ__ttl {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  #topics.consult .singleQ__ttl::before {
    width: 49rem;
  }
  #topics.consult .singleA {
    padding: 2rem 3rem 2.5rem;
  }
  #topics.consult .singleA__ttl {
    font-size: 2rem;
    padding: 1rem 3rem;
    margin-left: -3rem;
    margin-bottom: 2rem;
  }
}

@media (min-width: 1200px) {
  #topics.consult .singleQ__ttl::before {
    width: 64.4rem;
  }
}

/*====================================
 * XXX *
====================================*/
/* ------------------------------- */
/* XXX */
/* --- */
/*# sourceMappingURL=unique.css.map */