@charset "UTF-8";
#top .header {
  background: none;
  flex-direction: column; }
  @media only screen and (max-width: 1024px) {
    #top .header {
      justify-content: center; } }
  #top .header-logo {
    width: 100%;
    height: 70rem;
    background: url("../../img/top/fig-main.jpg") no-repeat 50% 50%;
    background-size: cover;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0; }
    @media only screen and (max-width: 1024px) {
      #top .header-logo {
        padding: 0;
        height: 60rem;
        flex-direction: column; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    #top .header-logo {
      height: 40rem; } }

    #top .header-logo-mark {
      width: 52rem;
      opacity: 0;
      animation-name: fadeUpAnime;
      animation-duration: 1s;
      animation-fill-mode: forwards;
      animation-delay: .5s; }
      @media only screen and (max-width: 1024px) {
        #top .header-logo-mark {
          margin: 0 auto 6rem; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    #top .header-logo-mark {
      width: 29rem;
      margin-bottom: 2.5rem; } }

    #top .header-logo-txt {
      height: 100%;
      position: absolute;
      left: 50%;
      top: 5rem;
      margin-left: -50rem; }
      @media only screen and (max-width: 1024px) {
        #top .header-logo-txt {
          height: auto;
          position: static;
          margin: 0 auto; } }
      #top .header-logo-txt p {
        display: flex;
        flex-direction: column;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        text-orientation: upright;
        font-size: 3.2rem; }
        @media only screen and (max-width: 1024px) {
          #top .header-logo-txt p {
            font-size: 3rem;
            -ms-writing-mode: unset;
            writing-mode: unset; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    #top .header-logo-txt p {
      font-size: 1.9rem; } }

        #top .header-logo-txt p mark {
          color: #fff;
          background: rgba(63, 45, 7, 0.9);
          padding: 2rem .5rem;
          margin: 0 .8rem auto;
          font-weight: 300;
          opacity: 0;
          animation-name: fadeUpAnime;
          animation-duration: 1s;
          animation-fill-mode: forwards;
          animation-delay: 1.5s; }
          @media only screen and (max-width: 1024px) {
            #top .header-logo-txt p mark {
              padding: .5rem 1rem;
              margin-bottom: 1rem;
              margin-right: auto; } }
          #top .header-logo-txt p mark:nth-of-type(2) {
            margin-top: 16rem;
            animation-delay: 2s; }
            @media only screen and (max-width: 1024px) {
              #top .header-logo-txt p mark:nth-of-type(2) {
                padding: .5rem 1.5rem;
                margin-top: 0; } }
    #top .header-logo:after {
      content: "";
      width: 100%;
      height: 27rem;
      background: url("../../img/top/bg_main.svg") no-repeat;
      background-size: 100% 100%;
      position: absolute;
      left: 0;
      bottom: 0; }
      @media only screen and (max-width: 1024px) {
        #top .header-logo:after {
          height: 12rem; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    #top .header-logo:after {
      height: 5rem; } }

  @media only screen and (min-width: 1025px) {
    #top .header-nav {
      width: 100%;
      height: auto;
      padding: 0 5vw; }
      #top .header-nav ul {
        justify-content: center;
        align-items: center;
        flex-wrap: nowrap; }
        #top .header-nav ul li {
          width: auto;
          padding: 0 .5rem; }
          #top .header-nav ul li a {
            align-items: center;
            line-height: 1.1;
            text-align: center;
            padding: 1rem 1.5rem; } }

.section-feature {
  padding: 10rem 3vw; }
  @media only screen and (max-width: 1024px) {
    .section-feature {
      padding: 6rem 5vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .section-feature {
      padding: 4rem 5vw; } }

  .section-feature-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 100rem;
    margin: 0 auto 6rem;
    position: relative;
    letter-spacing: .3rem; }
    @media only screen and (max-width: 767px) {
      .section-feature-header {
        margin-bottom: 2.5rem; } }
    .section-feature-header:before {
      content: "";
      width: 100vw;
      height: 1px;
      background: rgba(200, 153, 50, 0.2);
      top: 2.2rem;
      left: -101vw;
      position: absolute; }
    .section-feature-header-ttl {
      font-size: 3.2rem;
      line-height: 1.4;
      font-weight: 400; }
      @media only screen and (max-width: 767px) {
        .section-feature-header-ttl {
          font-size: 2.4rem; } }
    .section-feature-header-en {
      font-size: 1rem;
      font-family: "Poppins", "IBM Plex Sans JP", sans-serif;
      color: #c89932; }
      @media only screen and (max-width: 767px) {
        .section-feature-header-en {
          font-size: .9rem; } }
  .section-feature-inner {
    max-width: 90rem;
    margin: 0 auto; }
    .section-feature-inner .article-feature {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      padding: 4rem 0 2rem;
      margin-bottom: 5rem; }
      @media only screen and (max-width: 767px) {
        .section-feature-inner .article-feature {
          margin-bottom: 2rem; } }
      .section-feature-inner .article-feature:after {
        content: "";
        width: 80rem;
        height: 100%;
        border-radius: .5rem;
        background: #c89932;
        opacity: 0.2;
        position: absolute;
        top: 0;
        right: 0;
        z-index: -1; }
        @media only screen and (max-width: 767px) {
          .section-feature-inner .article-feature:after {
            width: 100%;
            border-radius: 0 .5rem .5rem 0;
            left: -5vw; } }
      .section-feature-inner .article-feature-header {
        border-bottom: 1px solid rgba(63, 45, 7, 0.2);
        padding: 0 1rem 1.5rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        margin-right: auto;
        margin-bottom: 4rem; }
        @media only screen and (max-width: 767px) {
          .section-feature-inner .article-feature-header {
            margin-bottom: 2.5rem; } }
        .section-feature-inner .article-feature-header-num {
          font-size: 3rem;
          line-height: 1.8;
          color: #c89932;
          font-weight: 200;
          font-family: "Poppins", "IBM Plex Sans JP", sans-serif; }
          @media only screen and (max-width: 767px) {
            .section-feature-inner .article-feature-header-num {
              font-size: 2rem; } }
        .section-feature-inner .article-feature-header-ttl {
          font-size: 2.8rem;
          line-height: 1.2;
          font-weight: 400;
          letter-spacing: .3rem; }
          @media only screen and (max-width: 767px) {
            .section-feature-inner .article-feature-header-ttl {
              font-size: 1.8rem; } }
      .section-feature-inner .article-feature-inner {
        width: 80rem;
        margin-left: auto;
        padding: 0 4rem; }
        @media only screen and (max-width: 1024px) {
          .section-feature-inner .article-feature-inner {
            width: 100%;
            padding: 0 4rem 0 0; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .section-feature-inner .article-feature-inner {
      padding: 0 5rem 0 1rem; } }

        .section-feature-inner .article-feature-inner p {
          font-size: 1.6rem;
          line-height: 2;
          padding-bottom: 2.5rem;
          font-family: "Poppins", "IBM Plex Sans JP", sans-serif; }
          @media only screen and (max-width: 767px) {
            .section-feature-inner .article-feature-inner p {
              font-size: 1.2rem;
              padding-bottom: 1.5rem; } }
          .section-feature-inner .article-feature-inner p strong {
            font-family: "IBM Plex Sans JP", serif;
            font-size: 2.2rem;
            letter-spacing: .3rem;
            line-height: 1.8;
            display: inline-block;
            font-weight: 400; }
            @media only screen and (max-width: 767px) {
              .section-feature-inner .article-feature-inner p strong {
                font-size: 1.5rem; } }
      .section-feature-inner .article-feature:nth-of-type(2n):after {
        right: auto;
        left: 0;
        opacity: 0.1; }
        @media only screen and (max-width: 767px) {
          .section-feature-inner .article-feature:nth-of-type(2n):after {
            left: auto;
            border-radius: .5rem 0 0 .5rem;
            right: -5vw; } }
      .section-feature-inner .article-feature:nth-of-type(2n) .article-feature-header {
        align-items: flex-end;
        margin-left: auto;
        margin-right: 0;
        text-align: right; }
      .section-feature-inner .article-feature:nth-of-type(2n) .article-feature-inner {
        margin-right: auto;
        margin-left: 0; }
        @media only screen and (max-width: 1024px) {
          .section-feature-inner .article-feature:nth-of-type(2n) .article-feature-inner {
            padding: 0 0 0 4rem; } }
        @media only screen and (max-width: 767px) {
          .section-feature-inner .article-feature:nth-of-type(2n) .article-feature-inner {
            padding: 0 1rem 0 5rem; } }
.section-news {
  padding: 6rem 3vw;
  background: rgba(200, 153, 50, 0.1); }
  @media only screen and (max-width: 1024px) {
    .section-news {
      padding: 6rem 5vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .section-news {
      padding: 4rem 5vw; } }

  .section-news-header {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    flex-shrink: 0;
    max-width: 100rem;
    margin: 0 auto 4rem;
    padding: 0 1.5rem;
    position: relative;
    letter-spacing: .3rem; }
@media only screen and (max-width: 1024px) and (max-width: 767px) {
  .section-news-header {
    margin-bottom: 2.5rem; } }

    .section-news-header-ttl {
      font-size: 3.2rem;
      line-height: 1.4;
      font-weight: 400; }
      @media only screen and (max-width: 767px) {
        .section-news-header-ttl {
          font-size: 2.4rem; } }
    .section-news-header-en {
      font-size: 1rem;
      font-family: "Poppins", "IBM Plex Sans JP", sans-serif;
      color: #c89932; }
      @media only screen and (max-width: 767px) {
        .section-news-header-en {
          font-size: .9rem; } }
    .section-news-header-btn {
      position: absolute;
      right: 0;
      top: 50%;
      margin-top: -2rem; }
@media only screen and (max-width: 1024px) and (max-width: 767px) {
  .section-news-header-btn {
    bottom: 10vw; } }

      .section-news-header-btn a {
        width: 11rem;
        height: 4rem;
        display: flex;
        justify-content: center;
        align-items: center;
        border-bottom: 1px solid rgba(200, 153, 50, 0.2); }
        @media only screen and (max-width: 1024px) {
          .section-news-header-btn a {
            margin: 0 auto; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .section-news-header-btn a {
      width: 6rem;
      font-size: 1.2rem; } }

        .section-news-header-btn a:hover {
          color: #c89932; }
  .section-news-inner {
    display: flex;
    flex-wrap: wrap;
    max-width: 100rem;
    margin: 0 auto; }
    @media only screen and (max-width: 1024px) {
      .section-news-inner {
        flex-direction: column; } }
    .section-news-inner > div {
      width: calc(50% - 2rem);
      margin: 1rem;
      height: 6rem;
      padding: 1.5rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-radius: .3rem;
      background: #fff;
      font-family: "Poppins", "IBM Plex Sans JP", sans-serif;
      position: relative; }
      @media only screen and (max-width: 1024px) {
        .section-news-inner > div {
          width: 100%;
          margin: 1rem 0; } }
      @media only screen and (max-width: 767px) {
        .section-news-inner > div {
          margin: .5rem 0; } }
      .section-news-inner > div:hover {
        opacity: 0.8; }
    .section-news-inner dd {
      width: 100%;
      padding: 0 1.5rem;
      text-align: left;
      font-size: 1.4rem; }
      @media only screen and (max-width: 767px) {
        .section-news-inner dd {
          font-size: 1.2rem;
          padding: 0 1.5rem; }
          .section-news-inner dd p {
            line-height: 1.3; } }
      .section-news-inner dd > a {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 10; }
    .section-news-inner dt {
      width: 7.5rem;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      flex-shrink: 0;
      font-weight: 400;
      font-size: 1rem;
      line-height: 1.2;
      padding-right: 2.5rem;
      color: #c89932;
      position: relative; }
      .section-news-inner dt:after {
        content: "";
        flex-shrink: 0;
        width: .5rem;
        height: .5rem;
        border: 1px solid #c89932;
        border-radius: 50%;
        margin: -.25rem .5rem 0 .5rem;
        opacity: 0.5;
        position: absolute;
        right: 0;
        top: 50%; }
      .section-news-inner dt span {
        font-size: 1.3rem; }
        .section-news-inner dt span span {
          font-size: 1rem; }
      @media only screen and (max-width: 767px) {
        .section-news-inner dt {
          width: 7rem;
          font-size: 1.1rem;
          line-height: 1.3; } }
.section-area {
  background: rgba(200, 153, 50, 0.05); }
  .section-area-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 3rem;
    letter-spacing: .3rem; }
    @media only screen and (max-width: 767px) {
      .section-area-header {
        margin-bottom: 2.5rem; } }
    .section-area-header-ttl {
      font-size: 3.2rem;
      line-height: 1.4;
      font-weight: 400; }
      @media only screen and (max-width: 767px) {
        .section-area-header-ttl {
          font-size: 2.4rem; } }
    .section-area-header-en {
      font-size: 1rem;
      font-family: "Poppins", "IBM Plex Sans JP", sans-serif;
      color: #c89932; }
      @media only screen and (max-width: 767px) {
        .section-area-header-en {
          font-size: .9rem; } }
  .section-area-inner-map {
    max-width: 42rem;
    border: .5rem solid #fff;
    margin: 0 auto; }
.section-clinic {
  position: relative;
  z-index: 1;
  background: url("../../img/top/bg_outline.jpg") no-repeat 50% 50%;
  background-size: cover;
  padding: 10rem 3vw; }
  @media only screen and (max-width: 1024px) {
    .section-clinic {
      padding: 6rem 5vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .section-clinic {
      padding: 4rem 5vw; } }

  .section-clinic:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #3F2D07;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0.85;
    z-index: -1; }
  .section-clinic-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 0 6rem;
    position: relative;
    color: #fff;
    letter-spacing: .3rem; }
    @media only screen and (max-width: 767px) {
      .section-clinic-header {
        margin-bottom: 2.5rem; } }
    .section-clinic-header-ttl {
      font-size: 3.2rem;
      line-height: 1.4;
      font-weight: 400; }
      @media only screen and (max-width: 767px) {
        .section-clinic-header-ttl {
          font-size: 2.4rem; } }
    .section-clinic-header-en {
      font-size: 1rem;
      font-family: "Poppins", "IBM Plex Sans JP", sans-serif; }
      @media only screen and (max-width: 767px) {
        .section-clinic-header-en {
          font-size: .9rem; } }
  .section-clinic-inner {
    display: flex;
    justify-content: center;
    color: #fff; }
    @media only screen and (max-width: 1024px) {
      .section-clinic-inner {
        flex-direction: column; } }
    .section-clinic-inner-fig {
      width: 48rem; }
      @media only screen and (max-width: 1024px) {
        .section-clinic-inner-fig {
          margin: 0 auto 3rem; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .section-clinic-inner-fig {
      width: 100%;
      margin-bottom: 1rem; } }

      .section-clinic-inner-fig img {
        border-radius: .5rem;
        overflow: hidden; }
    .section-clinic-inner dl {
      margin-left: 3vw;
      width: 100%;
      max-width: 68.5rem;
      border-top: 1px solid rgba(255, 255, 255, 0.25); }
      @media only screen and (max-width: 1024px) {
        .section-clinic-inner dl {
          margin: 0 auto; } }
      .section-clinic-inner dl div {
        min-height: 8rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
        padding: 2rem 0;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        @media only screen and (max-width: 767px) {
          .section-clinic-inner dl div {
            flex-direction: column;
            padding: 1rem .5rem;
            min-height: 0; } }
        .section-clinic-inner dl div dt {
          font-size: 1.6rem;
          line-height: 1.2;
          font-weight: 400;
          flex-shrink: 0;
          text-align: center;
          width: 18rem;
          position: relative; }
          .section-clinic-inner dl div dt small {
            font-size: 1.2rem; }
            @media only screen and (max-width: 767px) {
              .section-clinic-inner dl div dt small {
                font-size: 1rem; } }
          @media only screen and (max-width: 767px) {
            .section-clinic-inner dl div dt {
              width: 100%;
              font-size: 1.2rem;
              padding-bottom: 1rem;
              text-align: left;
              border-bottom: 1px dashed rgba(255, 255, 255, 0.1); }
              .section-clinic-inner dl div dt br {
                display: none; } }
          .section-clinic-inner dl div dt:after {
            content: "";
            width: .6rem;
            height: .6rem;
            border-radius: 50%;
            background: #fff;
            opacity: 0.2;
            position: absolute;
            right: -.6rem;
            top: 50%;
            margin-top: -.3rem; }
            @media only screen and (max-width: 767px) {
              .section-clinic-inner dl div dt:after {
                display: none; } }
        .section-clinic-inner dl div dd {
          width: 100%;
          font-size: 1.6rem;
          line-height: 1.5;
          padding-left: 3.5rem; }
          @media only screen and (max-width: 767px) {
            .section-clinic-inner dl div dd {
              font-size: 1.2rem;
              padding: 1rem 0 0; } }
          .section-clinic-inner dl div dd > a {
            width: 9.4rem;
            border: 1px solid rgba(255, 255, 255, 0.5);
            border-radius: .3rem;
            color: #fff;
            font-family: "Poppins", "IBM Plex Sans JP", sans-serif;
            font-size: 1.1rem;
            display: inline-block;
            text-align: center;
            padding: .1rem 0;
            margin-left: 1rem; }
            @media only screen and (max-width: 767px) {
              .section-clinic-inner dl div dd > a {
                margin: .5rem auto 0 auto; } }
          .section-clinic-inner dl div dd ul li {
            line-height: 2;
            position: relative;
            padding-left: 1.5em; }
            .section-clinic-inner dl div dd ul li:before {
              content: "・";
              position: absolute;
              left: 0;
              top: 0;
              opacity: 0.5; }
            .section-clinic-inner dl div dd ul li a {
              color: #fff; }

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
