@charset "UTF-8";
/* ==========================================================================//
//
//　tool
//
// ========================================================================== */
/** -------------------------------- **
	コンテンツ
*** ----------------------------------------------------------------- ***/
@media only screen and (max-width: 750px) {
  .contents {
    margin-top: 50px;
    padding: 0; } }

/** -------------------------------- **
	footer
*** ----------------------------------------------------------------- ***/
#gFooter {
  position: relative; }

/** -------------------------------- **
	mainView
*** ----------------------------------------------------------------- ***/
.mainView {
  position: relative;
  z-index: 1;
  overflow: hidden; }
  .mainView::before {
    content: '';
    display: block;
    width: 100%;
    height: 165px;
    background: #fbebee;
    position: absolute;
    left: 0;
    top: 0; }
  @media only screen and (max-width: 750px) {
    .mainView::before {
      height: 80px; } }

.mainViewSlider {
  overflow: inherit;
  max-width: 1160px;
  margin: 0 auto;
  padding: 32px 30px 0; }
  @media only screen and (max-width: 750px) {
    .mainViewSlider {
      margin: 0 auto;
      padding: 20px 15px 0; } }

.mainViewBtnBox {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 14px 0 5px;
  position: relative;
  z-index: 2; }
  .mainViewBtnBox button + button {
    margin-left: 10px; }

.btnMainViewArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 1px solid #d92d53;
  border-radius: 3px;
  background-color: #fff;
  cursor: pointer;
  position: relative;
  background: #fff;
  transition: background .5s; }
  .btnMainViewArrow::before {
    content: '';
    display: block;
    width: 23px;
    height: 8px;
    background: url(../images/common/icon_arrow_white_red-line_left.svg) no-repeat center/contain;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto; }
  .btnMainViewArrow:hover, .btnMainViewArrow:focus {
    opacity: 1;
    background: #d92d53; }
    .btnMainViewArrow:hover::before, .btnMainViewArrow:focus::before {
      background: url(../images/common/icon_arrow_white_white-line_left.svg) no-repeat center/contain; }
  .btnMainViewArrow.btnMainViewPrev::before {
    top: -2px;
    left: 2px; }
  .btnMainViewArrow.btnMainViewNext::before {
    top: -2px;
    left: -3px;
    transform: scale(-1, 1); }
  @media only screen and (max-width: 750px) {
    .btnMainViewArrow {
      width: 20px;
      height: 20px; }
      .btnMainViewArrow::before {
        width: 17px;
        height: 6px; }
      .btnMainViewArrow.btnMainViewPrev::before {
        left: 2px; }
      .btnMainViewArrow.btnMainViewNext::before {
        left: -4px; } }

#btnMvControl {
  cursor: pointer; }
  #btnMvControl .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background-color: #fff;
    border: 1px solid #d92d53;
    border-radius: 3px; }
    #btnMvControl .icon::before, #btnMvControl .icon::after {
      content: '';
      display: block;
      width: 2px;
      height: 9px;
      border: 1px solid #d92d53; }
    #btnMvControl .icon::after {
      margin-left: 4px; }
  #btnMvControl:hover .icon, #btnMvControl:focus .icon {
    background: #d92d53; }
    #btnMvControl:hover .icon::before, #btnMvControl:hover .icon::after, #btnMvControl:focus .icon::before, #btnMvControl:focus .icon::after {
      border: 1px solid #fff;
      background: #d92d53; }
  #btnMvControl.stop span::before {
    width: 17px;
    height: 13px;
    border: none !important;
    background: url(../images/common/icon_play_red.svg) no-repeat center/contain; }
  #btnMvControl.stop span::after {
    display: none; }
  #btnMvControl.stop:hover span::before {
    background: url(../images/common/icon_play_white.svg) no-repeat center/contain; }
  #btnMvControl.stop:hover span::after {
    display: none; }
  @media only screen and (max-width: 750px) {
    #btnMvControl .icon {
      width: 20px;
      height: 20px; }
      #btnMvControl .icon::before, #btnMvControl .icon::after {
        width: 1px;
        height: 7px; } }

.mainSliderLinkList > li {
  visibility: hidden; }
  .mainSliderLinkList > li.swiper-slide-visible {
    visibility: inherit; }
  .mainSliderLinkList > li .sliderLinkModalNav {
    position: relative;
    display: block;
    width: 345px;
    height: 260px;
    padding: 4% 4% 5.6%;
    background: #fff;
    border-radius: 30px;
    box-shadow: 0px 4px 8px rgba(217, 45, 83, 0.4); }
    .mainSliderLinkList > li .sliderLinkModalNav:hover {
      opacity: .5; }
    .mainSliderLinkList > li .sliderLinkModalNav::before {
      content: '';
      position: relative;
      display: block;
      margin: 0 auto; }
    .mainSliderLinkList > li .sliderLinkModalNav img {
      margin: 0 auto;
      transition: transform .5s;
      pointer-events: none;
      width: 100%;
      height: auto;
      display: block; }
      .mainSliderLinkList > li .sliderLinkModalNav img.pc {
        display: block; }
      .mainSliderLinkList > li .sliderLinkModalNav img.sp {
        display: none; }
    .mainSliderLinkList > li .sliderLinkModalNav:hover::before, .mainSliderLinkList > li .sliderLinkModalNav:focus::before {
      z-index: 10 !important;
      transition: transform .5s;
      transform: none; }
    .mainSliderLinkList > li .sliderLinkModalNav:hover .click, .mainSliderLinkList > li .sliderLinkModalNav:focus .click {
      display: block; }
    .mainSliderLinkList > li .sliderLinkModalNav:hover img, .mainSliderLinkList > li .sliderLinkModalNav:focus img {
      z-index: 11 !important;
      transform: none; }
    .mainSliderLinkList > li .sliderLinkModalNav p {
      font-weight: 600;
      font-size: 2.25rem;
      line-height: 1.33;
      letter-spacing: .025em;
      color: #d92d53;
      text-align: center; }
    .mainSliderLinkList > li .sliderLinkModalNav.about img {
      max-width: 261px;
      margin-top: 16px; }
    .mainSliderLinkList > li .sliderLinkModalNav.diagnosis img {
      max-width: 229px;
      margin-top: 9px; }
    .mainSliderLinkList > li .sliderLinkModalNav.detection img {
      max-width: 236px;
      margin-top: 16px; }
    .mainSliderLinkList > li .sliderLinkModalNav.treatment {
      padding-bottom: 1%; }
      .mainSliderLinkList > li .sliderLinkModalNav.treatment img {
        max-width: 245px;
        margin-top: 0; }
@media only screen and (max-width: 750px) {
  .mainSliderLinkList > li .sliderLinkModalNav {
    width: 100%;
    height: calc((251 / 750) * 100vw);
    border-radius: 20px;
    box-shadow: 2.5px 2.5px 2.5px rgba(0, 0, 0, 0.16); }
    .mainSliderLinkList > li .sliderLinkModalNav p {
      font-size: calc((28 / 750) * 100vw);
      line-height: 1.35; }
    .mainSliderLinkList > li .sliderLinkModalNav.about img {
      max-width: calc((254 / 750) * 100vw);
      margin-top: 0; }
    .mainSliderLinkList > li .sliderLinkModalNav.diagnosis img {
      max-width: calc((200 / 750) * 100vw);
      margin-top: calc((8 / 750) * 100vw); }
    .mainSliderLinkList > li .sliderLinkModalNav.detection img {
      max-width: calc((247 / 750) * 100vw);
      margin-top: calc((10 / 750) * 100vw); }
    .mainSliderLinkList > li .sliderLinkModalNav.treatment img {
      max-width: calc((195 / 750) * 100vw);
      margin-top: calc((10 / 750) * 100vw); }
  .mainSliderLinkList > li .linkModalNav img.pc {
    display: none; }
  .mainSliderLinkList > li .linkModalNav img.sp {
    display: block; }
  .mainSliderLinkList > li .linkModalNav:hover img, .mainSliderLinkList > li .linkModalNav:focus img {
    transform: none !important; }
  .mainSliderLinkList > li .linkModalNav:hover::before, .mainSliderLinkList > li .linkModalNav:focus::before {
    transform: none !important; } }

/** -------------------------------- **
	bgArea
*** ----------------------------------------------------------------- ***/
.bgArea {
  background: url(../images/top/bg_pink.png) no-repeat center top 75px/cover; }
  @media only screen and (max-width: 750px) {
    .bgArea {
      background: url(../images/top/bg_pink_sp.svg) no-repeat center top calc((80 / 750) * 100vw)/cover;
      overflow: hidden; } }

/** -------------------------------- **
	subView
*** ----------------------------------------------------------------- ***/
.subView {
  margin: 15px auto 0; }
  @media only screen and (max-width: 750px) {
    .subView {
      margin: 12px 0 0; } }

.mainLink {
  position: relative;
  width: 1200px;
  padding: 0 30px;
  margin: 0 auto; }
  @media only screen and (max-width: 750px) {
    .mainLink {
      width: 100%;
      padding: 0; } }

.mainLinkList {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  margin: 0 -15px; }
  .mainLinkList > li {
    position: relative;
    width: 158px;
    height: 158px;
    margin: 0 15px; }
    .mainLinkList > li:first-of-type, .mainLinkList > li:last-of-type {
      margin-top: 0; }
    .mainLinkList > li.open {
      z-index: 20; }
    .mainLinkList > li.about {
      margin-top: 78px; }
      .mainLinkList > li.about .modalNavWrap .modalNavBox > li:nth-child(even) {
        margin-right: 0; }
    .mainLinkList > li.doubt {
      margin-top: 22px; }
      .mainLinkList > li.doubt .modalNavWrap {
        padding: 9px 26px; }
        .mainLinkList > li.doubt .modalNavWrap .modalNavBox > li {
          width: 47%;
          margin-right: 6%; }
          .mainLinkList > li.doubt .modalNavWrap .modalNavBox > li:nth-child(even) {
            margin-right: 0; }
    .mainLinkList > li.inspection .modalNavWrap {
      padding: 9px 26px; }
      .mainLinkList > li.inspection .modalNavWrap .modalNavBox > li {
        width: 47%;
        margin-right: 6%; }
        .mainLinkList > li.inspection .modalNavWrap .modalNavBox > li:nth-child(even) {
          margin-right: 0; }
    .mainLinkList > li.diagnosed .modalNavWrap .modalNavBox > li:nth-child(even) {
      margin-right: 0; }
    .mainLinkList > li.treatment {
      margin-top: 22px; }
      .mainLinkList > li.treatment .modalNavWrap {
        padding: 9px 26px; }
        .mainLinkList > li.treatment .modalNavWrap .modalNavBox > li:nth-child(2), .mainLinkList > li.treatment .modalNavWrap .modalNavBox > li:nth-child(4), .mainLinkList > li.treatment .modalNavWrap .modalNavBox > li:nth-child(7), .mainLinkList > li.treatment .modalNavWrap .modalNavBox > li:nth-child(8) {
          margin-right: 0; }
        .mainLinkList > li.treatment .modalNavWrap .modalNavBox > li:nth-child(1), .mainLinkList > li.treatment .modalNavWrap .modalNavBox > li:nth-child(3) {
          width: 22%; }
    .mainLinkList > li.life {
      margin-top: 78px; }
      .mainLinkList > li.life .modalNavWrap .modalNavBox > li:nth-child(even) {
        margin-right: 0; }
  @media only screen and (max-width: 750px) {
    .mainLinkList {
      flex-wrap: wrap;
      margin: 0 calc((-20/750)*100vw); }
      .mainLinkList > li {
        width: calc((158 / 750) * 100vw);
        height: calc((158 / 750) * 100vw);
        margin: 0 calc((23/750)*100vw); }
        .mainLinkList > li:first-of-type, .mainLinkList > li:last-of-type {
          margin-top: 0; }
        .mainLinkList > li:nth-of-type(n + 4) {
          margin-top: calc((69 / 750) * 100vw); }
        .mainLinkList > li.about {
          margin-top: calc((60/750)*100vw); }
        .mainLinkList > li.doubt {
          margin-top: 0; }
          .mainLinkList > li.doubt .modalNavWrap {
            padding: 9px 20px; }
            .mainLinkList > li.doubt .modalNavWrap .modalNavBox > li {
              width: auto;
              margin-right: 0; }
        .mainLinkList > li.inspection {
          margin-top: calc((60/750)*100vw); }
          .mainLinkList > li.inspection .modalNavWrap {
            padding: 9px 20px; }
            .mainLinkList > li.inspection .modalNavWrap .modalNavBox > li {
              width: auto;
              margin-right: 0; }
        .mainLinkList > li.diagnosed {
          margin-top: calc((132 / 750) * 100vw); }
        .mainLinkList > li.treatment {
          margin-top: calc((72 / 750) * 100vw); }
          .mainLinkList > li.treatment .modalNavWrap {
            padding: 9px 20px; }
            .mainLinkList > li.treatment .modalNavWrap .modalNavBox > li:nth-child(1), .mainLinkList > li.treatment .modalNavWrap .modalNavBox > li:nth-child(3) {
              width: auto; }
        .mainLinkList > li.life {
          margin-top: calc((132 / 750) * 100vw); } }

.linkModalNav {
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
  position: relative; }
  .linkModalNav .click {
    position: absolute;
    background: url(../images/common/icon_click.png) no-repeat center center/contain;
    width: 67px;
    height: 67px;
    border-radius: 50%;
    opacity: 0;
    transition: opacity .5s; }
  .linkModalNav img {
    border-radius: 50%;
    box-shadow: 0px 4px 8px rgba(217, 45, 83, 0.4); }
  .linkModalNav p {
    color: #d92d53;
    font-size: 2.24rem;
    font-weight: 600;
    line-height: 1.33;
    letter-spacing: .025em;
    text-align: center;
    margin-top: 10px; }
  .linkModalNav:hover, .linkModalNav:focus {
    outline: none; }
    .linkModalNav:hover img, .linkModalNav:focus img {
      transition: transform .5s;
      transform: scale(1.24);
      transform-origin: bottom;
      border: 5px solid #D92E53; }
    .linkModalNav:hover .click, .linkModalNav:focus .click {
      opacity: 1; }
  .linkModalNav:hover::before {
    display: none; }
  .linkModalNav.focus-visible::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    transform: scale(1.24);
    outline: thick double #646464;
    position: absolute;
    left: 0;
    top: -20px; }
  .linkModalNav.open .click {
    opacity: 0; }
  .linkModalNav[data-target="about"] .click {
    top: -75px;
    left: 0;
    right: 0;
    margin: auto; }
  .linkModalNav[data-target="doubt"] .click {
    top: -44px;
    right: -11px; }
  .linkModalNav[data-target="inspection"] .click {
    top: -45px;
    right: 117px; }
  .linkModalNav[data-target="diagnosed"] .click {
    top: -50px;
    right: -20px; }
  .linkModalNav[data-target="treatment"] .click {
    top: -52px;
    right: -20px; }
  .linkModalNav[data-target="life"] .click {
    top: -70px;
    right: 0;
    left: 0;
    margin: auto; }
  @media only screen and (max-width: 750px) {
    .linkModalNav .icon {
      top: calc((100% - ((100 / 750) * 100vw)) / 2);
      left: calc((100% - ((100 / 750) * 100vw)) / 2);
      width: calc((100 / 750) * 100vw);
      height: calc((100 / 750) * 100vw); }
      .linkModalNav .icon::after {
        width: calc((50 / 750) * 100vw);
        height: calc((50 / 750) * 100vw);
        top: calc((100% - ((50 / 750) * 100vw)) / 2);
        left: calc((100% - ((50 / 750) * 100vw)) / 2); }
    .linkModalNav p {
      font-size: calc((28 / 750) * 100vw);
      line-height: 1.35;
      letter-spacing: 0;
      margin-top: calc((10 / 750) * 100vw); }
    .linkModalNav img {
      box-shadow: 3px 3px 4px rgba(0, 0, 0, 0.16); }
    .linkModalNav .click {
      pointer-events: none; }
    .linkModalNav:hover img, .linkModalNav:focus img {
      transition: transform .5s;
      transform: scale(1);
      border: 3px solid #D92E53; }
    .linkModalNav:hover .click, .linkModalNav:focus .click {
      display: none; }
    .linkModalNav.focus-visible::before {
      transform: scale(1);
      top: 0; }
    .linkModalNav[data-target="inspection"] p {
      position: relative;
      left: -.2em;
      white-space: nowrap; }
    .linkModalNav[data-target="treatment"] p {
      position: relative;
      left: -.8em;
      text-indent: 1.5em; } }

/** -------------------------------- **
	modal
*** ----------------------------------------------------------------- ***/
.modalNav {
  position: absolute;
  display: none;
  width: 450px;
  border: 1px solid #D92E53;
  border-radius: 10px;
  overflow: hidden;
  opacity: 0;
  transition: opacity .5s;
  box-shadow: 0px 3px 12px rgba(217, 45, 83, 0.4); }
  .modalNav.open {
    z-index: 20;
    display: block;
    opacity: 1; }
    .modalNav.open[data-modal="about"] {
      left: calc((100% - -260px) / 2);
      bottom: calc(100% + -160px); }
    .modalNav.open[data-modal="doubt"] {
      left: calc((100% - -262px) / 2);
      bottom: calc(100% + -206px); }
    .modalNav.open[data-modal="inspection"] {
      left: calc((100% - -250px) / 2);
      bottom: calc(100% + -188px); }
    .modalNav.open[data-modal="diagnosed"] {
      left: calc((100% - 1145px) / 2);
      bottom: calc(100% + -222px); }
    .modalNav.open[data-modal="treatment"] {
      left: calc((100% - 1641px) / 2);
      bottom: calc(100% + -208px);
      width: 695px; }
    .modalNav.open[data-modal="life"] {
      left: calc((100% - 1085px) / 2);
      bottom: calc(100% + -143px);
      width: 424px; }
      .modalNav.open[data-modal="life"] .modalNavWrap {
        height: 128px;
        display: flex;
        align-items: center; }
  @media only screen and (max-width: 750px) {
    .modalNav {
      bottom: auto !important;
      left: auto;
      width: calc((672 / 750) * 100vw); }
      .modalNav.open[data-modal="about"] {
        left: calc((-53 / 750) * 100vw);
        top: calc((128 / 750) * 100vw); }
      .modalNav.open[data-modal="doubt"] {
        left: calc((-257 / 750) * 100vw);
        top: calc((128 / 750) * 100vw); }
      .modalNav.open[data-modal="inspection"] {
        left: calc((-461 / 750) * 100vw);
        top: calc((128 / 750) * 100vw); }
      .modalNav.open[data-modal="diagnosed"] {
        left: calc((-53 / 750) * 100vw);
        top: calc((128 / 750) * 100vw); }
      .modalNav.open[data-modal="treatment"] {
        left: calc((-257 / 750) * 100vw);
        top: calc((128 / 750) * 100vw);
        width: calc((672 / 750) * 100vw); }
      .modalNav.open[data-modal="life"] {
        left: calc((-461 / 750) * 100vw);
        top: calc((128 / 750) * 100vw);
        width: calc((672 / 750) * 100vw); }
        .modalNav.open[data-modal="life"] .modalNavWrap {
          height: 128px;
          display: flex;
          align-items: center; } }

.modalNavTit {
  background: #D92E53;
  padding: 8px 20px 9px; }
  .modalNavTit > .icon {
    width: 32.7px;
    height: 21.3px;
    background: url(../images/common/icon_liver_white.svg) no-repeat center/contain;
    display: inline-block;
    margin: 0 10px 0 0;
    position: relative;
    top: 2px; }
  .modalNavTit > .txt {
    color: #fff;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .04em;
    display: inline-block; }
  @media only screen and (max-width: 750px) {
    .modalNavTit {
      padding: calc((16/750)*100vw) calc((40/750)*100vw) calc((18/750)*100vw); }
      .modalNavTit > .icon {
        width: calc((64/750)*100vw);
        height: calc((42/750)*100vw);
        margin: 0 calc((20/750)*100vw) 0 0;
        top: calc((4/750)*100vw); }
      .modalNavTit > .txt {
        font-size: calc((40/750)*100vw); } }

.modalNavWrap {
  position: relative;
  padding: 9px 37px;
  border-radius: 0 0 10px 10px;
  background: #fff; }
  @media only screen and (max-width: 750px) {
    .modalNavWrap {
      padding: 9px 20px; } }

.modalNavBox {
  display: flex;
  flex-wrap: wrap; }
  .modalNavBox li {
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.4;
    padding: 7px 0;
    margin: 0 64px 0 0; }
    .modalNavBox li a {
      position: relative;
      padding-left: 35px;
      text-indent: 0;
      display: inline-block; }
      .modalNavBox li a::before {
        content: '';
        display: block;
        width: 26px;
        height: 12px;
        background: url(../images/common/icon_arrow_red.svg) no-repeat center/contain;
        position: absolute;
        left: 0;
        top: 6px; }
      .modalNavBox li a:hover {
        color: #D92E53;
        text-decoration: underline; }
      .modalNavBox li a:focus {
        color: #D92E53; }
      .modalNavBox li a.window::after {
        content: '';
        display: inline-block;
        width: 13.8px;
        height: 12.3px;
        background: url("../images/common/icon_blank-black.svg") no-repeat center/contain;
        margin: 0 0 0 8px; }
    .modalNavBox li .title {
      padding-bottom: 7px; }
    .modalNavBox li .linkBlank::after {
      content: '';
      display: inline-block;
      width: 1em;
      height: 1em;
      margin: 0 0 -.1em .3em;
      background: url(../images/common/icon_blank03.svg) no-repeat center center/contain; }
    .modalNavBox li .linkBlank:hover::after, .modalNavBox li .linkBlank:focus::after {
      background: url(../images/common/icon_blank.svg) no-repeat center center/contain; }
  .modalNavBox.sub li {
    margin-left: 2em;
    text-indent: -.7em; }
    .modalNavBox.sub li a::before {
      content: '';
      display: inline-block;
      width: 0;
      height: 0;
      margin: 0 .3em .15em 0;
      border-style: solid;
      border-width: 4px 0 4px 7px;
      border-color: transparent transparent transparent #017e78; }
  @media only screen and (max-width: 750px) {
    .modalNavBox {
      display: block; }
      .modalNavBox li {
        font-size: calc((40/750)*100vw); }
        .modalNavBox li a {
          padding-left: calc((52/750)*100vw); }
          .modalNavBox li a::before {
            width: calc((38/750)*100vw);
            height: calc((13/750)*100vw);
            top: calc((20/750)*100vw); } }

.btnCloseModalNav {
  position: absolute;
  top: 6px;
  right: 7px;
  transition: all .5s;
  cursor: pointer; }
  .btnCloseModalNav:hover {
    opacity: .7; }
  .btnCloseModalNav .icon {
    display: block;
    width: 40px;
    height: 40px; }
    .btnCloseModalNav .icon::before, .btnCloseModalNav .icon::after {
      content: '';
      display: block;
      width: 22px;
      height: 3px;
      background-color: #fff; }
    .btnCloseModalNav .icon::before {
      transform: translateX(7px) translateY(20px) rotate(45deg); }
    .btnCloseModalNav .icon::after {
      transform: translateX(7px) translateY(17px) rotate(-45deg); }
  @media only screen and (max-width: 750px) {
    .btnCloseModalNav {
      top: calc((6 / 750) * 100vw);
      right: calc((4 / 750) * 100vw); }
      .btnCloseModalNav .icon {
        width: calc((80 / 750) * 100vw);
        height: calc((80 / 750) * 100vw); }
        .btnCloseModalNav .icon::before, .btnCloseModalNav .icon::after {
          width: calc((52 / 750) * 100vw);
          height: 2px; }
        .btnCloseModalNav .icon::before {
          transform: translateX(calc((14 / 750) * 100vw)) translateY(calc((38 / 750) * 100vw)) rotate(45deg); }
        .btnCloseModalNav .icon::after {
          transform: translateX(calc((14 / 750) * 100vw)) translateY(calc((34 / 750) * 100vw)) rotate(-45deg); } }

/** -------------------------------- **
	baseInfo
*** ----------------------------------------------------------------- ***/
.baseInfo {
  display: flex;
  justify-content: flex-end;
  color: #000; }
  .baseInfo .date p {
    display: inline-block;
    font-size: 1.6rem;
    line-height: 1; }
    .baseInfo .date p + p {
      margin-left: 1em; }
  @media only screen and (max-width: 750px) {
    .baseInfo {
      justify-content: flex-start; }
      .baseInfo .date {
        margin-left: auto; }
        .baseInfo .date p {
          font-size: 1.2rem; } }
  @media only screen and (max-width: 375px) {
    .baseInfo .date p {
      font-size: calc((12 / 375) * 100vw); } }

/** -------------------------------- **
	wantInfo
*** ----------------------------------------------------------------- ***/
.wantInfo {
  position: relative;
  margin-top: 100px; }
  .wantInfo .secTitle {
    position: relative;
    width: 374px;
    margin: 0 auto; }
  @media only screen and (max-width: 750px) {
    .wantInfo {
      margin-top: calc((160 / 750) * 100vw); }
      .wantInfo .inner {
        padding: 0 calc((30/750)*100vw); }
        .wantInfo .inner .secTitle {
          width: calc((545 / 750) * 100vw); } }

.wantInfoList {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 1100px;
  margin: 100px auto 0; }
  .wantInfoList li {
    width: calc((100% - 90px) / 4);
    background-color: #fff;
    border-radius: 10px;
    padding: 17px 20px 20px;
    position: relative; }
    .wantInfoList li .wantInfoBtnList {
      margin-top: 10px; }
      .wantInfoList li .wantInfoBtnList li {
        width: auto;
        background-color: inherit;
        border-radius: 0;
        padding: 0;
        position: relative; }
        .wantInfoList li .wantInfoBtnList li + li {
          margin-top: 10px; }
        .wantInfoList li .wantInfoBtnList li a {
          display: flex;
          align-items: center;
          background-color: #fff;
          box-shadow: 0px 3px 3px rgba(217, 45, 83, 0.4);
          border-radius: 5px;
          padding: 17px 42px 17px 10px;
          height: 52px;
          min-height: 52px; }
          body.iPad .wantInfoList li .wantInfoBtnList li a {
            height: auto; }
          .wantInfoList li .wantInfoBtnList li a .txtBox {
            font-size: 1.5rem;
            line-height: 1.2;
            font-weight: bold;
            text-align: left; }
            .wantInfoList li .wantInfoBtnList li a .txtBox .fontS {
              font-size: 1.35rem;
              font-weight: bold; }
          .wantInfoList li .wantInfoBtnList li a::before {
            content: '';
            display: block;
            width: 31px;
            height: 100%;
            background: #d92d53;
            position: absolute;
            top: 0;
            right: 0;
            border-radius: 0 5px 5px 0; }
          .wantInfoList li .wantInfoBtnList li a::after {
            content: '';
            display: block;
            width: 28.5px;
            height: 10.5px;
            background: url(../images/common/icon_arrow_white.svg) no-repeat center/contain;
            position: absolute;
            right: 3px;
            top: 0;
            bottom: 0;
            margin: auto; }
          .wantInfoList li .wantInfoBtnList li a:hover, .wantInfoList li .wantInfoBtnList li a:focus {
            background-color: #E46C87;
            opacity: 1;
            color: #fff; }
  .wantInfoList h3 {
    font-weight: bold;
    font-size: 1.9rem;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
    color: #d92d53;
    margin-bottom: 5px; }
  .wantInfoList li p {
    display: block;
    margin-top: -30px;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.389;
    text-align: center; }
    .wantInfoList li p span {
      display: block;
      font-size: 1.3rem;
      font-weight: 500; }
  .wantInfoList li a:hover {
    opacity: .7; }
    .wantInfoList li a:hover p {
      opacity: .7; }
  .wantInfoList li .imgBox {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 116px;
    height: 98px; }
  .wantInfoList li.about .imgBox img {
    width: 116px; }
  .wantInfoList li.diagnosis .imgBox img {
    width: 76.4px; }
  .wantInfoList li.detection .imgBox img {
    width: 92px;
    position: relative;
    left: 15px; }
  .wantInfoList li.treatment .imgBox img {
    width: 40.7px; }
  @media only screen and (max-width: 750px) {
    .wantInfoList {
      width: auto;
      margin: 0 auto;
      display: block; }
      .wantInfoList li {
        width: auto;
        padding: 10px 15px 15px; }
        .wantInfoList li .wantInfoBtnList {
          margin-top: 16px; }
          .wantInfoList li .wantInfoBtnList li {
            margin: 0; }
            .wantInfoList li .wantInfoBtnList li a {
              padding: 10.5px 38px 10.5px 10px;
              box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
              height: auto;
              min-height: auto; }
              .wantInfoList li .wantInfoBtnList li a::before {
                width: 28px; }
              .wantInfoList li .wantInfoBtnList li a::after {
                width: 22px;
                height: 9px;
                right: 6px; }
              .wantInfoList li .wantInfoBtnList li a .txtBox {
                font-size: 1.4rem;
                line-height: 1.4;
                font-weight: 500; }
                .wantInfoList li .wantInfoBtnList li a .txtBox .fontS {
                  font-weight: 500; }
        .wantInfoList li .imgBox {
          display: block;
          width: auto;
          height: auto; }
          .wantInfoList li .imgBox img {
            width: calc((184 / 750) * 100vw);
            margin: 0 auto;
            display: block; }
        .wantInfoList li p {
          margin-top: calc((-15 / 750) * 100vw);
          font-size: calc((24 / 750) * 100vw);
          line-height: 1.25; }
          .wantInfoList li p span {
            font-size: calc((21 / 750) * 100vw); }
        .wantInfoList li.about .imgBox img {
          width: 87.5px;
          margin-top: 18px; }
        .wantInfoList li.diagnosis .imgBox img {
          width: 57.5px; }
        .wantInfoList li.detection .imgBox img {
          width: 69px;
          left: 9px;
          margin-top: 2px; }
        .wantInfoList li.treatment .imgBox img {
          width: 30.5px; }
      .wantInfoList > li + li {
        margin-top: 10px; }
      .wantInfoList h3 {
        font-size: 1.5rem; } }

.infoBox {
  margin: 56px auto 0;
  padding: 0 0 60px;
  max-width: 846px; }
  .infoBox h4 {
    font-size: 2.25rem;
    line-height: 1.4;
    font-weight: 600;
    text-align: center;
    letter-spacing: .025em; }
  .infoBox .btnMore {
    margin-top: 35px;
    text-align: right; }
    .infoBox .btnMore a {
      font-size: 1.7rem; }
      .infoBox .btnMore a:hover {
        text-decoration: underline; }
  @media only screen and (max-width: 750px) {
    .infoBox {
      margin: 21px auto 0;
      padding: 0 0 30px; }
      .infoBox h4 {
        font-size: 1.5rem; }
      .infoBox .btnMore {
        margin-top: 25px; }
        .infoBox .btnMore a {
          font-size: 1.3rem; } }

.infoList {
  margin-top: 16px; }
  .infoList dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    border-top: .6px solid #d92d53;
    border-bottom: .6px solid #d92d53; }
    .infoList dl + dl {
      border-top: none; }
    .infoList dl dt,
    .infoList dl dd {
      display: block;
      padding: 10px 0;
      font-size: 1.45rem;
      line-height: 1.3;
      letter-spacing: .025em;
      min-height: 42px; }
    .infoList dl dt {
      display: flex;
      align-items: center;
      width: 155px; }
      .infoList dl dt .new {
        display: block;
        background: #d92d53;
        margin: 0 10px 0 0;
        padding: 3px 10px;
        color: #fff;
        font-size: 1.5rem;
        line-height: 1;
        border-radius: 5px; }
        .infoList dl dt .new img {
          width: 47px;
          height: auto; }
        .infoList dl dt .new + .date {
          padding-left: 0; }
      .infoList dl dt .date {
        padding-left: 64px;
        white-space: nowrap; }
    .infoList dl dd {
      width: calc(100% - 155px);
      padding-left: 20px; }
      .infoList dl dd a {
        text-decoration: underline; }
        .infoList dl dd a:hover {
          text-decoration: none; }
  @media only screen and (max-width: 750px) {
    .infoList {
      margin-top: 11px; }
      .infoList dl dt,
      .infoList dl dd {
        padding: 15px 0;
        font-size: 1.4rem; }
      .infoList dl dt {
        width: 120px; }
        .infoList dl dt .new {
          font-size: 1.2rem;
          margin: 0 5px 0 0;
          padding: 3px 5px; }
        .infoList dl dt .date {
          padding-left: 42px; }
      .infoList dl dd {
        width: calc(100% - 120px);
        padding-left: 5px; } }

.superviseBox {
  padding: 26px 0 40px;
  border-bottom: 1px solid #d92d53; }
  .superviseBox h4 {
    font-size: 2.25rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    letter-spacing: .025em; }
  @media only screen and (max-width: 750px) {
    .superviseBox {
      margin-top: 45px;
      padding: 0 15px 19px;
      border: none; }
      .superviseBox h4 {
        font-size: 1.5rem; } }

.superviseWrap {
  max-width: 846px;
  margin: 28px auto 0;
  display: flex;
  justify-content: space-between;
  position: relative; }
  .superviseWrap::after {
    content: '';
    display: block;
    width: .6px;
    height: 100%;
    background: #d92d53;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    margin: auto; }
  .superviseWrap .superviseItem {
    position: relative; }
    .superviseWrap .superviseItem:nth-child(1) {
      width: 44.5%; }
    .superviseWrap .superviseItem:nth-child(2) {
      width: 50.5%;
      position: relative;
      left: 5.5%; }
    .superviseWrap .superviseItem .profile {
      display: flex;
      align-items: center; }
      .superviseWrap .superviseItem .profile .detail .position {
        font-size: 1.49rem;
        font-weight: 400;
        line-height: 1.49;
        letter-spacing: .025em; }
      .superviseWrap .superviseItem .profile .detail .name {
        font-size: 3rem;
        font-weight: 400;
        letter-spacing: .025em; }
        .superviseWrap .superviseItem .profile .detail .name span {
          margin-left: .5em;
          font-size: 1.5rem;
          font-weight: inherit; }
      .superviseWrap .superviseItem .profile .history .historyBox {
        width: calc(56% - 25px); }
        .superviseWrap .superviseItem .profile .history .historyBox + .historyBox {
          width: calc(42% - 25px); }
  @media only screen and (max-width: 750px) {
    .superviseWrap {
      display: block;
      margin: 19px auto 0; }
      .superviseWrap::after {
        display: none; }
      .superviseWrap .superviseItem:nth-child(1) {
        width: auto; }
      .superviseWrap .superviseItem:nth-child(2) {
        width: auto;
        position: relative;
        left: 0; }
        .superviseWrap .superviseItem:nth-child(2)::before {
          content: '';
          display: block;
          width: 100%;
          height: 1px;
          background: #D92E53;
          position: absolute;
          top: -20px;
          left: 0;
          right: 0;
          margin: auto; }
      .superviseWrap .superviseItem .profile .detail {
        width: calc(100% - 106px);
        margin-top: 5px; }
      .superviseWrap .superviseItem .profile .detail .position {
        font-size: 1.4rem;
        line-height: 1.42; }
      .superviseWrap .superviseItem .profile .detail .name {
        font-size: 1.8rem; }
        .superviseWrap .superviseItem .profile .detail .name span {
          font-size: 1.4rem; }
      .superviseWrap .superviseItem .history {
        display: block;
        width: 100%;
        margin-top: 20px; }
        .superviseWrap .superviseItem .history .historyBox {
          width: 100%; }
          .superviseWrap .superviseItem .history .historyBox + .historyBox {
            width: 100%; } }

@media only screen and (max-width: 750px) {
  .historyBox + .historyBox {
    margin: 15px 0 0; } }

.historyTitle {
  font-size: 1.49rem;
  font-weight: 400;
  line-height: 1.49;
  letter-spacing: .025em; }
  @media only screen and (max-width: 750px) {
    .historyTitle {
      letter-spacing: 0.1em; } }

.historyList li {
  font-size: 1.49rem;
  font-weight: 400;
  line-height: 1.49;
  letter-spacing: .025em; }
@media only screen and (max-width: 750px) {
  .historyList li {
    font-size: 1.4rem;
    line-height: 1.57; } }

/** -------------------------------- **
	アコーディオン
*** ----------------------------------------------------------------- ***/
.accordionTitle {
  display: flex;
  align-content: center;
  justify-content: space-between; }
  .accordionTitle .btnDrop {
    position: relative;
    font-size: 1.7rem;
    font-weight: bold;
    cursor: pointer;
    text-align: center;
    color: #00753d;
    margin: 50px 0 5px 15px;
    padding-right: 15px; }
    .accordionTitle .btnDrop .icon {
      width: 19px;
      height: 19px;
      background: #00753d;
      border-radius: 50%;
      color: #fff;
      padding: 4px;
      display: inline-block;
      position: relative;
      top: 3px;
      left: 8px; }
      .accordionTitle .btnDrop .icon::before, .accordionTitle .btnDrop .icon::after {
        content: '';
        display: block;
        width: 100%;
        height: 1px;
        background-color: #fff;
        -webkit-transition: all 700ms cubic-bezier(0.19, 1, 0.22, 1);
        -moz-transition: all 700ms cubic-bezier(0.19, 1, 0.22, 1);
        -o-transition: all 700ms cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 700ms cubic-bezier(0.19, 1, 0.22, 1);
        transform: translateY(4px); }
      .accordionTitle .btnDrop .icon::before {
        transform: translateY(5px) rotate(90deg); }
    .accordionTitle .btnDrop.open .icon::before {
      transform: translateY(5px) rotate(0); }
  @media only screen and (max-width: 750px) {
    .accordionTitle .btnDrop {
      font-size: 1.3rem;
      margin: 28px 0 5px 11px;
      padding-right: 11px; }
      .accordionTitle .btnDrop::before {
        top: calc((100% - 62px) / 2);
        left: 7px;
        width: 60px;
        height: 62px; }
      .accordionTitle .btnDrop .icon {
        width: 14px;
        height: 14px;
        padding: 3px;
        top: 2px;
        left: 3px; }
        .accordionTitle .btnDrop .icon::before, .accordionTitle .btnDrop .icon::after {
          transform: translateY(2px) rotate(0); }
        .accordionTitle .btnDrop .icon::before {
          transform: translateY(3px) rotate(90deg); }
      .accordionTitle .btnDrop.open {
        border-radius: 5px 5px 0 0; }
        .accordionTitle .btnDrop.open .icon::before {
          transform: translateY(4px) rotate(0); } }

.accordionBox {
  display: none;
  padding: 10px 0 0 0; }
  .accordionBox .itemTitle {
    color: #ff6400;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.3; }
  @media only screen and (max-width: 750px) {
    .accordionBox {
      padding: 10px 0 0 0; }
      .accordionBox .itemTitle {
        font-size: 1.5rem; } }

.btnCloseAccordion {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 200px;
  height: 42px;
  margin: 25px auto 0;
  padding: 10px;
  color: #646464;
  font-size: 1.3rem;
  font-weight: 500;
  text-align: center;
  border: 1px solid #646464;
  border-radius: 6px;
  background-color: #dcdcdc;
  cursor: pointer;
  transition: background .5s, background-color .5s, border-color .5s, color .5s, text-decoration .5s, stroke .5s, fill .5s, opacity .5s; }
  .btnCloseAccordion span {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 5px; }
    .btnCloseAccordion span::before, .btnCloseAccordion span::after {
      content: '';
      display: block;
      width: 100%;
      height: 3px;
      border-radius: 1px;
      background-color: #646464; }
    .btnCloseAccordion span::before {
      transform: translateY(4px) rotate(45deg); }
    .btnCloseAccordion span::after {
      transform: translateY(1px) rotate(-45deg); }
  .btnCloseAccordion:hover {
    opacity: .7; }
  @media only screen and (max-width: 750px) {
    .btnCloseAccordion {
      max-width: 145px;
      height: 30px;
      margin: 20px auto 0;
      padding: 5px;
      font-size: 1.2rem;
      border: 1px solid #646464;
      border-radius: 3px; } }

/*# sourceMappingURL=top.css.map */
