@charset "UTF-8";
.trouble-block {
  background: #FBFAEE;
  padding: 50px 0 30px; }

.trouble-title {
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem;
  margin: 0 auto 1.5em; }
  @media (min-width: 992px) {
    .trouble-title {
      font-size: 3.4rem; } }
  .trouble-title .big {
    font-size: 3.4rem;
    color: #46725C; }
    @media (min-width: 992px) {
      .trouble-title .big {
        font-size: 4.4rem; } }
  .trouble-title .mini {
    font-size: 2.0rem; }
    @media (min-width: 992px) {
      .trouble-title .mini {
        font-size: 3.0rem; } }
  .trouble-title .line {
    position: relative;
    display: inline-block;
    z-index: 1; }
    .trouble-title .line:before {
      content: "";
      position: absolute;
      z-index: -1;
      bottom: 0;
      left: 0;
      width: 130px;
      height: 16px;
      background: url(../img/deco_line01.svg);
      background-size: contain; }
      @media (min-width: 992px) {
        .trouble-title .line:before {
          width: 195px;
          height: 24px; } }

@media (min-width: 992px) {
  .trouble-flex {
    display: flex;
    gap: 20px; } }
@media (min-width: 992px) {
  .trouble-flex .img {
    width: 45%; } }
.trouble-flex .txt {
  background: #fff;
  padding: 30px;
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
  @media (min-width: 992px) {
    .trouble-flex .txt {
      width: 55%; } }
  @media (min-width: 992px) {
    .trouble-flex .txt {
      padding: 50px; } }
  .trouble-flex .txt li {
    margin: 0 0 15px;
    padding: 0 0 15px;
    border-bottom: 1px solid #ccc;
    display: flex;
    column-gap: 6px; }
    .trouble-flex .txt li:before {
      content: "";
      position: relative;
      top: -2px;
      width: 30px;
      height: 30px;
      min-width: 30px;
      min-height: 30px;
      background: url(../img/check01.svg) no-repeat;
      background-size: contain; }
    .trouble-flex .txt li:last-child {
      margin: 0;
      padding: 0;
      border-bottom: 0; }
    .trouble-flex .txt li span {
      display: contents; }

.trouble-explanation {
  position: relative;
  padding: 50px 0;
  text-align: center;
  background: url(../img/bg_overlay01.webp) repeat, url(../img/bg_trouble.webp) no-repeat center;
  background-size: 2px, cover;
  color: #fff;
  font-weight: bold;
  font-size: 3.4rem;
  letter-spacing: .05em;
  line-height: 1.5;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.7); }
  @media (min-width: 992px) {
    .trouble-explanation {
      padding: 120px 0 90px;
      font-size: 4.4rem;
      background: url(../img/bg_overlay01.webp) repeat, url(../img/bg_trouble.webp) no-repeat top 20% center;
      background-size: 2px, cover; } }
  .trouble-explanation:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 50vw 0 50vw;
    border-color: #FBFAEE transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
    right: 0; }
    @media (min-width: 992px) {
      .trouble-explanation:before {
        border-width: 100px 50vw 0 50vw; } }
  .trouble-explanation .mini {
    font-size: 2.8rem; }
    @media (min-width: 992px) {
      .trouble-explanation .mini {
        font-size: 3.8rem; } }
  .trouble-explanation .fukidashi {
    display: inline-block;
    position: relative;
    padding: 50px 0 0; }
    @media (min-width: 992px) {
      .trouble-explanation .fukidashi {
        padding: 60px 0 0; } }
    .trouble-explanation .fukidashi:before {
      content: "";
      position: absolute;
      left: -10px;
      top: 0;
      width: 100px;
      height: 59px;
      background: url(../img/fukidashi01.svg) no-repeat;
      background-size: contain; }
      @media (min-width: 992px) {
        .trouble-explanation .fukidashi:before {
          left: -20px;
          width: 125px;
          height: 73.75px; } }

.source-block {
  padding: 50px 0;
  background: url(../img/bg_source.webp) no-repeat left top, #FDFBF7;
  background-size: contain; }
  @media (min-width: 992px) {
    .source-block {
      padding: 80px 0; } }

.source-title {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.8rem;
  margin: 0 0 2.0em;
  font-weight: bold;
  position: relative;
  text-shadow: 2px 2px 2px #fbfaee;
  line-height: 1.6; }
  @media (min-width: 992px) {
    .source-title {
      font-size: 2.8rem;
      margin: 0; } }
  .source-title .title-inner {
    position: relative;
    z-index: 1;
    display: inline-block; }
  .source-title .dot:before {
    background: #D96666; }
  .source-title .cycle {
    position: relative;
    display: inline-block;
    z-index: -1; }
    .source-title .cycle:before {
      content: "";
      z-index: -1;
      position: absolute;
      left: -4px;
      bottom: 0;
      width: 78px;
      height: 40px;
      background: url(../img/deco_cycle01.svg) no-repeat;
      background-size: contain; }
  .source-title .mid {
    font-size: 2.4rem; }
    @media (min-width: 992px) {
      .source-title .mid {
        font-size: 3.4rem; } }
  .source-title .big {
    font-size: 3.2rem; }
    @media (min-width: 992px) {
      .source-title .big {
        font-size: 4.2rem; } }

.source-item {
  display: flex;
  justify-content: center;
  align-items: end;
  margin: 0 auto 50px;
  max-width: 900px; }
  @media (min-width: 992px) {
    .source-item {
      align-items: center;
      margin: 0 auto 70px; } }
  .source-item .txt {
    width: 71%;
    background: #fff;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 4px; }
    @media (min-width: 992px) {
      .source-item .txt {
        width: 80%;
        padding: 50px;
        font-size: 2.0rem; } }
  .source-item .img {
    width: 29%;
    position: relative;
    bottom: -20px; }
    @media (min-width: 992px) {
      .source-item .img {
        width: 20%; } }

.source-txt {
  padding: 0 1.0em;
  line-height: 2.0; }
  @media (min-width: 992px) {
    .source-txt {
      text-align: center;
      font-size: 2.0rem; } }

@media (min-width: 992px) {
  .symptoms-wrap {
    display: flex;
    flex-flow: wrap;
    gap: 20px; } }

.symptoms-cards {
  background: #fff;
  border: 1px solid #7F7F7F;
  margin: 0 0 30px;
  padding: 20px;
  border-radius: 2px; }
  @media (min-width: 992px) {
    .symptoms-cards {
      flex: 1 1 calc(50% - 20px);
      box-sizing: border-box;
      min-width: 280px;
      margin: 0;
      padding: 40px; } }
  .symptoms-cards:last-child {
    margin: 0; }
  .symptoms-cards h3 {
    font-family: "Zen Old Mincho", serif;
    font-weight: bold;
    font-size: 2.2rem;
    margin: 0 0 1.0em;
    padding: 0 0 2px 15px;
    border-left: 4px solid #46725C;
    line-height: 1.4; }
    @media (min-width: 992px) {
      .symptoms-cards h3 {
        font-size: 2.6rem; } }
  .symptoms-cards .symptoms-lead {
    display: flex;
    line-height: 1.6;
    color: #333;
    margin: 0 0 1.5em;
    gap: 10px; }
    @media (min-width: 992px) {
      .symptoms-cards .symptoms-lead {
        align-items: center; } }
    .symptoms-cards .symptoms-lead:before {
      content: "";
      width: 44px;
      height: 44px;
      min-width: 44px;
      min-height: 44px;
      background: url(../img/icon_logo.svg) no-repeat;
      background-size: contain; }
  .symptoms-cards .symptoms-txt {
    position: relative;
    font-size: 1.4rem;
    line-height: 2.0;
    padding: 30px;
    border-radius: 4px;
    background: #F0F4F5;
    position: relative;
    max-height: 110px;
    overflow: hidden; }
    @media (min-width: 992px) {
      .symptoms-cards .symptoms-txt {
        font-size: 1.6rem;
        padding: 40px; } }
    .symptoms-cards .symptoms-txt::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to bottom, rgba(240, 244, 245, 0) 0%, #f0f4f5 100%); }
    .symptoms-cards .symptoms-txt.open {
      max-height: none; }
      .symptoms-cards .symptoms-txt.open::after {
        display: none; }
  .symptoms-cards .toggle-btn {
    all: unset;
    display: inline-block;
    cursor: pointer;
    position: absolute;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    background: #574D46;
    padding: 10px 20px;
    border-radius: 60px;
    transition: background 0.3s ease;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    z-index: 2; }
    .symptoms-cards .toggle-btn:hover {
      background: #ddd; }
  .symptoms-cards .arrow {
    display: flex;
    align-items: center;
    gap: 8px; }
    .symptoms-cards .arrow:before {
      content: "";
      width: 22px;
      height: 22px;
      background: url(../img/icon_arrow02.svg) no-repeat;
      background-size: contain; }

@media (min-width: 992px) {
  .reason-card-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; } }

.reason-card {
  background: #fff;
  margin: 0 auto 30px;
  padding: 30px 20px 50px;
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
  @media (min-width: 992px) {
    .reason-card {
      width: calc(50% - 10px);
      margin: 0;
      padding: 30px 30px 50px; } }
  .reason-card:nth-child(2) h3:before {
    background: url(../img/reason_num02.svg) no-repeat; }
  .reason-card:nth-child(3) h3:before {
    background: url(../img/reason_num03.svg) no-repeat; }
  .reason-card:nth-child(4) h3:before {
    background: url(../img/reason_num04.svg) no-repeat; }
  .reason-card:nth-child(5) h3:before {
    background: url(../img/reason_num05.svg) no-repeat; }
  .reason-card h3 {
    font-size: 2.2rem;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    line-height: 1.6;
    position: relative;
    padding: 0 0 0 70px; }
    @media (min-width: 992px) {
      .reason-card h3 {
        font-size: 2.5rem; } }
    .reason-card h3:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      min-width: 60px;
      min-height: 60px;
      background: url(../img/reason_num01.svg) no-repeat;
      background-size: contain; }
    .reason-card h3 .fukidashi {
      display: block; }
    .reason-card h3 .fukidashi-bg {
      font-size: 1.4rem;
      display: inline-block;
      color: #fff;
      background: #46725C;
      border-radius: 30px;
      margin: 0 0 .6em;
      padding: .2em .8em .2em .8em;
      position: relative;
      letter-spacing: .08em; }
      @media (min-width: 992px) {
        .reason-card h3 .fukidashi-bg {
          font-size: 1.8rem; } }
      .reason-card h3 .fukidashi-bg:after {
        content: "";
        position: absolute;
        margin: 0;
        bottom: -12px;
        left: 30px;
        width: 0;
        height: 0;
        border-top: 15px solid #46725C;
        border-left: 3px solid transparent;
        border-right: 3px solid transparent;
        transform: rotate(-30deg); }
  .reason-card .reason-img {
    margin: 20px auto 30px; }
  .reason-card .reason-txt {
    padding: 0 1.0em; }
    .reason-card .reason-txt p {
      margin: 0 0 2.0em; }
      .reason-card .reason-txt p:last-child {
        margin: 0; }
      .reason-card .reason-txt p .mini {
        font-size: 1.4rem; }
        @media (min-width: 992px) {
          .reason-card .reason-txt p .mini {
            font-size: 1.6rem;
            line-height: 1.8; } }

.review-explanation {
  margin: 0 auto 50px;
  text-align: center; }
  .review-explanation p {
    margin: 0 0 2.0em; }
    @media (min-width: 992px) {
      .review-explanation p {
        margin: 0 0 .5em; } }
    .review-explanation p:last-child {
      font-size: 1.4rem;
      margin: 0; }
      @media (min-width: 992px) {
        .review-explanation p:last-child {
          font-size: 1.8rem; } }

@media (min-width: 992px) {
  .review-card-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; } }

.review-card {
  margin: 0 0 20px;
  padding: 20px;
  background: #FBFAEE;
  border: 1px solid #E0E0D5; }
  @media (min-width: 992px) {
    .review-card {
      padding: 30px; } }
  @media (min-width: 992px) {
    .review-card {
      width: calc(50% - 10px);
      margin: 0; } }
  .review-card:last-child {
    margin: 0; }

.review-card-info {
  display: flex;
  justify-content: space-between;
  column-gap: 10px; }
  .review-card-info h3 {
    font-size: 1.9rem;
    font-weight: bold;
    line-height: 1.5; }
    @media (min-width: 992px) {
      .review-card-info h3 {
        font-size: 2.4rem; } }
    .review-card-info h3:before {
      content: "症状";
      display: block;
      font-size: 1.4rem;
      line-height: 1.0;
      font-weight: normal;
      color: #fff;
      background: #46725C;
      width: 50px;
      text-align: center;
      border-radius: 30px;
      margin: 0 0 .5em;
      padding: .4em .5em; }
  .review-card-info .review-img {
    min-width: 70px;
    max-width: 70px; }
    .review-card-info .review-img .attribute {
      margin: .5em 0 0;
      font-size: 1.2rem;
      line-height: 1.4;
      text-align: center; }

.review-txt {
  overflow: hidden;
  background: #fff;
  margin: 25px 0 0;
  padding: 30px;
  border-radius: 4px;
  font-size: 1.4rem;
  line-height: 2.0;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
  @media (min-width: 992px) {
    .review-txt {
      padding: 40px;
      font-size: 1.6rem; } }
  .review-txt .review-content {
    overflow: hidden;
    transition: height 0.5s ease;
    height: 0; }
  .review-txt.open .review-content {
    max-height: 3000px; }
  .review-txt.open .toggle-btn .arrow:before {
    content: "";
    width: 22px;
    height: 22px;
    background: url(../img/icon_arrow02.svg) no-repeat;
    background-size: contain;
    transform: rotate(180deg);
    transition: transform 0.3s ease; }
  .review-txt .toggle-btn {
    all: unset;
    display: block;
    cursor: pointer;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    background: #574D46;
    margin: 0 auto;
    padding: 10px 20px;
    border-radius: 60px;
    transition: background 0.3s ease;
    white-space: nowrap;
    z-index: 2; }
    .review-txt .toggle-btn:hover {
      opacity: .5; }
    .review-txt .toggle-btn.open-margin {
      margin: 0 auto 2.0em; }
  .review-txt .arrow {
    display: flex;
    align-items: center;
    gap: 8px; }
    .review-txt .arrow:before {
      content: "";
      width: 22px;
      height: 22px;
      background: url(../img/icon_arrow02.svg) no-repeat;
      background-size: contain; }
  .review-txt p {
    margin: 0 0 2.0em; }
    .review-txt p:last-child {
      margin: 0; }

.moreReviews {
  display: none;
  margin-top: 1em; }

.toggleReviewsBtn {
  all: unset;
  display: block;
  cursor: pointer;
  font-size: 2.4rem;
  font-weight: 700;
  border-radius: 70px;
  font-family: "Zen Old Mincho", serif;
  margin: 1.0em auto 0;
  padding: 1.0em 1.75em;
  background: #fff;
  border: 2px solid #000; }
  @media (min-width: 992px) {
    .toggleReviewsBtn {
      font-size: 3.0rem; } }
  .toggleReviewsBtn .arrow {
    display: flex;
    align-items: center;
    gap: 8px; }
    .toggleReviewsBtn .arrow:before {
      content: "";
      position: relative;
      top: 2px;
      width: 25px;
      height: 25px;
      background: url(../img/icon_arrow03.svg) no-repeat;
      background-size: contain; }

.flow-content {
  padding: 0 0 30px;
  position: relative; }
  .flow-content:nth-child(2):before {
    background: url(../img/step_num02.svg) no-repeat;
    background-size: contain; }
  .flow-content:nth-child(3):before {
    background: url(../img/step_num03.svg) no-repeat;
    background-size: contain; }
  .flow-content:nth-child(4):before {
    background: url(../img/step_num04.svg) no-repeat;
    background-size: contain; }
  .flow-content:nth-child(5):before {
    background: url(../img/step_num05.svg) no-repeat;
    background-size: contain; }
  .flow-content:nth-child(6):before {
    background: url(../img/step_num06.svg) no-repeat;
    background-size: contain; }
  .flow-content:nth-child(7):before {
    background: url(../img/step_num07.svg) no-repeat;
    background-size: contain; }
  .flow-content:nth-child(7):after {
    display: none; }
  .flow-content:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 50px;
    height: 50px;
    background: url(../img/step_num01.svg) no-repeat;
    background-size: contain;
    z-index: 1; }
    @media (min-width: 992px) {
      .flow-content:before {
        width: 70px;
        height: 70px; } }
  .flow-content:after {
    content: '';
    display: block;
    height: calc(100% - 64px);
    border-left: 1px solid #000;
    position: absolute;
    top: 58px;
    left: 25px;
    transform: translateX(-50%);
    z-index: 0; }
    @media (min-width: 992px) {
      .flow-content:after {
        height: calc(100% - 82px);
        top: 76px;
        left: 35px; } }

.flow-inner {
  margin: 0 0 0 60px;
  padding: 20px 20px 30px;
  background: #F0F4F5; }
  @media (min-width: 992px) {
    .flow-inner {
      margin: 0 0 0 80px;
      display: flex; } }
  .flow-inner .img {
    margin: 0 0 20px; }
    @media (min-width: 992px) {
      .flow-inner .img {
        margin: 0;
        width: 40%; } }
  .flow-inner .txt {
    padding: 0 1.0em 0; }
    @media (min-width: 992px) {
      .flow-inner .txt {
        width: 60%;
        padding: .5em 2.0em 1.0em; } }
    .flow-inner .txt h3 {
      font-size: 2.2rem;
      font-weight: 700;
      margin: 0 0 1.0em;
      letter-spacing: .15em;
      font-family: "Zen Old Mincho", serif; }
      @media (min-width: 992px) {
        .flow-inner .txt h3 {
          font-size: 3.2rem; } }
    .flow-inner .txt p {
      margin: 0 0 1.5em; }
      .flow-inner .txt p:last-child {
        margin: 0; }
      .flow-inner .txt p.mini {
        font-size: 1.4rem; }
    .flow-inner .txt a.tel {
      font-size: 2.4rem;
      display: flex;
      align-items: center;
      column-gap: 10px;
      font-weight: bold;
      white-space: nowrap;
      color: #000;
      text-decoration: none; }
      @media (min-width: 992px) {
        .flow-inner .txt a.tel {
          font-size: 3.4rem; } }
      .flow-inner .txt a.tel:before {
        content: "";
        min-width: 30px;
        min-height: 30px;
        background: url(../img/icon_tel.svg) no-repeat;
        background-size: contain; }
        @media (min-width: 992px) {
          .flow-inner .txt a.tel:before {
            min-width: 40px;
            min-height: 40px; } }

.price-table {
  max-width: 800px;
  margin: 0 auto 70px; }
  @media (min-width: 992px) {
    .price-table {
      margin: 0 auto 120px; } }
  .price-table .price-txt {
    text-align: right; }
  .price-table table {
    border-collapse: separate;
    border-spacing: 2px;
    width: 100%;
    margin: 0 auto 30px;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.4; }
    @media (min-width: 992px) {
      .price-table table {
        font-size: 2.4rem; } }
    .price-table table tr:first-child td {
      background: #46725C;
      color: #fff;
      padding: .5em;
      font-weight: bold; }
    .price-table table td {
      background: #F0F4F5;
      padding: 1.0em .5em; }
      .price-table table td.red {
        font-weight: bold;
        font-size: 2.0rem; }
        @media (min-width: 992px) {
          .price-table table td.red {
            font-size: 3.0rem; } }
      .price-table table td .yen {
        font-size: 1.6rem; }
        @media (min-width: 992px) {
          .price-table table td .yen {
            font-size: 2.2rem; } }

.price-attention {
  color: #474747;
  font-size: 1.4rem;
  padding: 0 1.0em; }
  @media (min-width: 992px) {
    .price-attention {
      font-size: 1.6rem; } }
  .price-attention li {
    margin: 0 0 1.0em;
    padding: 0 0 0 1.1em;
    text-indent: -1.1em; }
    @media (min-width: 992px) {
      .price-attention li {
        margin: 0; } }
    .price-attention li:last-child {
      margin: 0; }

@media (min-width: 992px) {
  .access-block .swiper-wrapper {
    display: flex;
    justify-content: center;
    gap: 30px;
    /* スライドの間隔と同じ */
    transform: none !important;
    /* Swiperのtransform無効化 */
    transition: none !important; }
  .access-block .swiper-slide {
    max-width: 300px;
    flex: 0 0 auto;
    width: auto !important;
    /* Swiperの幅指定を解除 */ }
    .access-block .swiper-slide:nth-child(4), .access-block .swiper-slide:nth-child(5), .access-block .swiper-slide:nth-child(6) {
      display: none; }
  .access-block .swiper-button-next,
  .access-block .swiper-button-prev,
  .access-block .swiper-pagination {
    display: none !important;
    /* ナビゲーションを非表示 */ }
  .access-block .swiper {
    overflow: visible;
    /* スライドを全部見せるように */ } }
.access-block .swiper-slide img {
  width: 100%;
  height: auto;
  display: block; }

.access-flex {
  margin: 0 10px 50px; }
  @media (min-width: 992px) {
    .access-flex {
      display: flex;
      gap: 20px; } }
  .access-flex .img {
    margin: 0 0 40px; }
    @media (min-width: 992px) {
      .access-flex .img {
        width: 40%;
        margin: 0; } }
  @media (min-width: 992px) {
    .access-flex .txt {
      width: 60%; } }
  .access-flex dl {
    margin: 0 0 20px;
    padding: 0;
    display: flex;
    gap: 20px; }
    .access-flex dl dy,
    .access-flex dl dd {
      margin: 0;
      padding: 0; }
    .access-flex dl:last-child {
      margin: 0; }
    .access-flex dl dt {
      min-width: 100px;
      font-size: 1.5rem;
      text-align: center; }
      .access-flex dl dt span {
        background: #46725C;
        color: #fff;
        display: block;
        border-radius: 40px;
        padding: .25em 0; }
    .access-flex dl dd {
      width: calc(100% - 50px);
      font-size: 1.8rem; }
      .access-flex dl dd .add {
        display: block;
        font-size: 1.4rem; }
        @media (min-width: 992px) {
          .access-flex dl dd .add {
            font-size: 1.6rem; } }
      .access-flex dl dd .time-list {
        margin: .5em 0 0;
        font-size: 1.6rem; }
        .access-flex dl dd .time-list li {
          display: flex;
          gap: 7px;
          align-items: center; }
          .access-flex dl dd .time-list li:before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #A9C1A0; }

.access-map {
  margin: 50px 20px 80px; }
  .access-map iframe {
    width: 100%;
    height: 300px;
    vertical-align: bottom; }
    @media (min-width: 992px) {
      .access-map iframe {
        height: 500px; } }

.access-way {
  margin: 0 auto 50px;
  padding: 0 15px; }
  @media (min-width: 992px) {
    .access-way {
      margin: 0 auto 80px;
      padding: 0;
      display: flex;
      justify-content: space-between; } }

.access-card {
  position: relative;
  border: 1px solid #000;
  margin: 0 0 40px; }
  @media (min-width: 992px) {
    .access-card {
      margin: 0;
      width: 32%; } }
  .access-card:last-child {
    margin: 0; }
  .access-card h3 {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #FDFBF7;
    font-size: 2.0rem;
    font-weight: bold;
    white-space: nowrap;
    padding: 0 5px; }
  .access-card .accordion-card-txt {
    font-size: 1.4rem;
    padding: 30px 30px 20px; }
    @media (min-width: 992px) {
      .access-card .accordion-card-txt {
        font-size: 1.6rem; } }

.access-parking h3 {
  font-size: 2.0rem;
  font-weight: bold;
  margin: 0 0 1.0em;
  padding: 0 0 0 .5em;
  border-left: 4px solid #46725C; }
  @media (min-width: 992px) {
    .access-parking h3 {
      font-size: 2.4rem; } }

@media (min-width: 992px) {
  .access-parking-flex {
    display: flex;
    gap: 30px; } }
.access-parking-flex .img {
  margin: 0 0 30px; }
  @media (min-width: 992px) {
    .access-parking-flex .img {
      margin: 0; } }
  @media (min-width: 992px) {
    .access-parking-flex .img {
      width: 50%; } }
.access-parking-flex .txt {
  font-size: 1.4rem;
  padding: 0 20px; }
  @media (min-width: 992px) {
    .access-parking-flex .txt {
      width: 50%;
      font-size: 1.6rem; } }
.access-parking-flex ul {
  font-size: 1.2rem;
  margin: 40px 0 0; }
  @media (min-width: 992px) {
    .access-parking-flex ul {
      font-size: 1.4rem; } }
  .access-parking-flex ul li {
    margin: 0 0 2.0em;
    padding: 0 0 0 1.1em;
    text-indent: -1.1em; }
    .access-parking-flex ul li:last-child {
      margin: 0; }

.greeting-flex {
  margin: 0 auto 50px;
  padding: 30px 20px 40px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
  @media (min-width: 992px) {
    .greeting-flex {
      display: flex;
      align-items: center;
      padding: 30px; } }
  .greeting-flex .img {
    margin: 0 auto 35px; }
    @media (min-width: 992px) {
      .greeting-flex .img {
        margin: 0;
        width: 50%; } }
    .greeting-flex .img .profile {
      display: block;
      max-width: 200px;
      margin: 0 auto 30px; }
    .greeting-flex .img p {
      font-size: 1.6rem;
      letter-spacing: .05em;
      text-align: center; }
      @media (min-width: 992px) {
        .greeting-flex .img p {
          font-size: 2.0rem;
          letter-spacing: .1em; } }
      .greeting-flex .img p .name {
        font-size: 2.8rem;
        font-weight: bold;
        line-height: .1em; }
        @media (min-width: 992px) {
          .greeting-flex .img p .name {
            font-size: 3.2rem; } }
      .greeting-flex .img p .block {
        display: block;
        margin: .8em 0 0;
        letter-spacing: .2em; }
  .greeting-flex .txt {
    font-size: 1.4rem;
    line-height: 2.0; }
    @media (min-width: 992px) {
      .greeting-flex .txt {
        width: 50%;
        font-size: 1.8rem;
        line-height: 2.4; } }
    .greeting-flex .txt li {
      position: relative;
      padding: 0 0 0 15px; }
      .greeting-flex .txt li:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border: 0;
        width: 8px;
        height: 12px;
        background-color: #A9C1A0;
        clip-path: polygon(0% 0%, 100% 50%, 0% 100%); }

.greeting-txt {
  padding: 25px 30px;
  border-radius: 4px;
  line-height: 2.0;
  background: #F0F4F5; }
  @media (min-width: 992px) {
    .greeting-txt {
      padding: 4.0em; } }
  .greeting-txt p {
    font-size: 1.4rem;
    margin: 0 0 2.0em; }
    @media (min-width: 992px) {
      .greeting-txt p {
        font-size: 1.8rem; } }
    .greeting-txt p:last-child {
      margin: 0; }
    .greeting-txt p a {
      color: #000;
      text-decoration: underline; }

/*# sourceMappingURL=index.css.map */
