@charset "UTF-8";
.home-ttl {
  display: inline-block;
  padding-left: 50px;
  font-size: 38px;
  font-size: 2.375rem;
  font-weight: 700;
  line-height: 40px;
  background: no-repeat 0 50%; }
  @media (max-width: 767px) {
    .home-ttl {
      font-size: 24px;
      font-size: 1.5rem; } }
  .home-ttl-sub {
    border-bottom: 1px solid #34887F;
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.6;
    color: #34887F;
    margin-bottom: 40px; }
    @media (max-width: 767px) {
      .home-ttl-sub {
        margin-bottom: 30px;
        font-size: 20px;
        font-size: 1.25rem; } }

/*
heloview
-------------------------------------------------- */
.heloview {
  position: relative;
  background-color: #F9FCE1;
  max-width: 1920px;
  min-height: 720px;
  overflow: hidden; }
  @media (max-width: 767px) {
    .heloview {
      min-height: 420px;
      /* background-color: #fc0; */
    } }
  @media (max-width: 1380px) {
    .heloview-pic {
      display: flex;
      justify-content: center;
      overflow: hidden; } }
  @media (max-width: 1380px) {
    .heloview-img {
      height: 720px; } }
  @media (max-width: 767px) {
    .heloview-img {
      height: 420px; } }
  @media (max-width: 1380px) {
    .heloview-img img {
      height: 720px;
      max-width: none;
      width: auto; } }
  @media (max-width: 767px) {
    .heloview-img img {
      max-width: none;
      width: auto;
      height: 420px; } }
  .heloview-img::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 240px;
    content: '';
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221920%22%20height%3D%22240%22%20viewBox%3D%220%200%201920%20240%22%3E%20%3Cpath%20d%3D%22M1920%2C240H0V0C490%2C0%2C962%2C235%2C1166%2C235S1920%2C79%2C1920%2C79Z%22%20fill%3D%22%23f9fce1%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% bottom;
    z-index: 3; }
    @media (max-width: 767px) {
      .heloview-img::after {
        height: 96px;
        background-size: 767px auto; } }
  @media (min-width: 768px) {
    .heloview-lead {
      position: absolute;
      top: 90px;
      right: 280px;
      display: inline-block;
      padding: 30px 10px;
      background-color: rgba(114, 114, 114, 0.52);
      border-radius: 15px; } }
  @media (max-width: 767px) {
    .heloview-lead {
      width: 100%;
      margin: 40px 0;
      white-space: nowrap;
      text-align: center; } }
  @media (max-width: 767px) {
    .heloview-lead > p {
      font-size: 20px;
      font-size: 1.25rem;
      line-height: 1.75;
      text-align: center; } }
  @media (min-width: 768px) {
    .heloview-lead > p {
      font-size: 21px;
      font-size: 1.3125rem;
      color: #FFF;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      line-height: 1.65;
      letter-spacing: .3em; } }
  .heloview-lead-img {
    position: absolute;
    top: 90px;
    right: 60px;
    width: 202px;
    height: 435px; }
    @media (max-width: 767px) {
      .heloview-lead-img {
        top: 15px;
        right: 20px;
        width: 170px;
        height: 362px; } }

.home {
  /*
  info
  -------------------------------------------------- */
  /*
  	clinic
  -------------------------------------------------- */
  /*
  	greeting
  -------------------------------------------------- */ }
  .home-info {
    padding: 200px 15px 185px;
    background-color: #F9FCE1; }
    @media (max-width: 767px) {
      .home-info {
        padding-top: 125px;
        padding-bottom: 120px; } }
    .home-info-wrap {
      position: relative;
      background-color: #FFF;
      max-width: 1000px;
      margin: auto;
      padding: 50px 0; }
      @media (max-width: 1149px) {
        .home-info-wrap {
          padding-bottom: 100px; } }
      .home-info-wrap::before {
        position: absolute;
        display: block;
        top: -171px;
        left: 80px;
        width: 226px;
        height: 172px;
        background: url("../img/home-img/home_news_bg_01.webp") 50% bottom no-repeat;
        background-size: contain;
        content: ''; }
        @media (min-width: 768px) and (max-width: 1149px) {
          .home-info-wrap::before {
            left: 30px; } }
        @media (max-width: 767px) {
          .home-info-wrap::before {
            top: -85px;
            left: 30px;
            width: 112px;
            height: 85px; } }
      .home-info-wrap::after {
        position: absolute;
        bottom: -104px;
        right: -100px;
        display: block;
        width: 158px;
        height: 116px;
        background: url("../img/home-img/home_news_bg_02.webp") 50% 50% no-repeat;
        background-size: contain;
        content: ''; }
        @media (max-width: 1149px) {
          .home-info-wrap::after {
            bottom: 18px;
            right: 9px;
            width: 81px;
            height: 60px;
            opacity: .6; } }
    .home-info-ttl {
      margin-bottom: 80px;
      background-image: url("../img/home-img/ic_news.webp"); }
      @media (max-width: 767px) {
        .home-info-ttl {
          margin-bottom: 50px;
          padding-left: 35px;
          background-size: 26px auto; } }
    .home-info-contents {
      max-width: 655px;
      margin: auto;
      padding: 0 15px; }
      @media (max-width: 767px) {
        .home-info-contents {
          margin-bottom: 35px; } }
    .home-info-article {
      display: flex;
      align-items: flex-start;
      margin-bottom: 30px; }
      @media (max-width: 767px) {
        .home-info-article {
          display: block;
          margin-bottom: 20px; } }
      @media (max-width: 767px) {
        .home-info-article:not(:last-child) {
          border-bottom: 2px solid #DDDBDB;
          padding-bottom: 20px; } }
    .home-info-data {
      display: flex;
      align-items: center;
      margin-right: 25px; }
      @media (max-width: 767px) {
        .home-info-data {
          align-items: flex-end;
          margin-right: 0; } }
    .home-info-date {
      padding-right: 25px;
      margin-right: 25px;
      font-family: "Yu Gothic", YuGothic, "游ゴシック", "游ゴシック体", "YuGothic", "Noto Sans JP", sans-serif;
      font-weight: bold;
      line-height: 1; }
      @media (min-width: 768px) {
        .home-info-date {
          border-right: 1px solid #DDDBDB;
          width: 86px; } }
      @media (max-width: 767px) {
        .home-info-date {
          padding-right: 0;
          margin-right: 15px; } }
      .home-info-date .year {
        display: block;
        font-size: 14px;
        font-size: 0.875rem;
        margin-bottom: 3px; }
      .home-info-date .date {
        display: block;
        font-size: 24px;
        font-size: 1.5rem; }
    .home-info-category {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      color: #FFF;
      width: 85px;
      height: 25px;
      padding: 4px 10px;
      border-radius: 25px;
      font-size: 12px;
      font-size: 0.75rem;
      background-color: #9CCD2E; }
    .home-info-link {
      display: block;
      margin-top: 9px;
      line-height: 1.4; }
      @media (max-width: 767px) {
        .home-info-link {
          margin-top: 20px; } }
  .home-clinic {
    position: relative;
    padding: 90px 0 110px;
    background-color: #FFF; }
    @media (max-width: 1149px) {
      .home-clinic {
        padding: 10px 0 90px; } }
    .home-clinic::before {
      position: absolute;
      top: 0;
      right: 0;
      left: -12%;
      display: block;
      width: 112%;
      height: 72px;
      margin-top: -72px;
      background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22448%22%20height%3D%2272%22%20viewBox%3D%220%200%20448%2072%22%3E%20%3Cpath%20d%3D%22M0%2C72l448-.2V14.444c-55.922%2C15.438-106.25%2C32.4-146.52%2C28.023C222.138%2C33.853%2C221.646%2C0%2C106.323%2C0%2C56.14%2C0%2C25.332%2C6.469%2C0%2C14.487Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") 50% 0 repeat-x;
      content: '';
      z-index: 2; }
      @media (max-width: 767px) {
        .home-clinic::before {
          left: 0;
          width: 100%; } }
    .home-clinic-ttl {
      margin-bottom: 80px;
      background-image: url("../img/home-img/ic_clinic_info.webp");
      background-size: 40px auto; }
      @media (max-width: 767px) {
        .home-clinic-ttl {
          margin-bottom: 25px;
          padding-left: 35px;
          background-size: 26px auto; } }
    .home-clinic-list {
      display: flex;
      gap: 25px; }
      @media (max-width: 1149px) {
        .home-clinic-list {
          display: block;
          margin: 0 16px 0 10px; } }
      .home-clinic-list > li {
        position: relative;
        flex: 1;
        z-index: 2; }
        @media (max-width: 1149px) {
          .home-clinic-list > li {
            margin-bottom: 35px; } }
        @media (max-width: 1149px) {
          .home-clinic-list > li:last-child {
            margin-bottom: 0; } }
        .home-clinic-list > li::before {
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          display: block;
          width: 100%;
          height: 100%;
          background-color: #FFF;
          border: #39938A 5px solid;
          border-radius: 10px;
          content: '';
          overflow: hidden;
          z-index: 2; }
        .home-clinic-list > li::after {
          position: absolute;
          top: 15px;
          left: 15px;
          display: block;
          width: 100%;
          height: 100%;
          border-radius: 10px;
          background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2284%22%20height%3D%2279%22%20viewBox%3D%220%200%2084%2079%22%3E%20%3Cpath%20d%3D%22M0%2C0V10L8%2C0Z%22%20fill%3D%22%230f9385%22%2F%3E%20%3Cpath%20d%3D%22M21%2C0%2C0%2C26.25v10L29%2C0Z%22%20fill%3D%22%230f9385%22%2F%3E%20%3Cpath%20d%3D%22M42%2C0%2C0%2C52.5v10L50%2C0Z%22%20fill%3D%22%230f9385%22%2F%3E%20%3Cpath%20d%3D%22M63%2C0%2C0%2C78.75V79H7.8L71%2C0Z%22%20fill%3D%22%230f9385%22%2F%3E%20%3Cpath%20d%3D%22M84%2C0%2C20.8%2C79h8L84%2C10Z%22%20fill%3D%22%230f9385%22%2F%3E%20%3Cpath%20d%3D%22M41.8%2C79h8L84%2C36.25v-10Z%22%20fill%3D%22%230f9385%22%2F%3E%20%3Cpath%20d%3D%22M62.8%2C79h8L84%2C62.5v-10Z%22%20fill%3D%22%230f9385%22%2F%3E%3C%2Fsvg%3E") 50% 0;
          overflow: hidden;
          opacity: .6;
          content: '';
          z-index: 1; }
        @media (min-width: 1150px) {
          .home-clinic-list > li:hover::before {
            border-color: #47b8ad; } }
    .home-clinic-link {
      position: relative;
      display: block;
      width: calc(100% + 10px);
      height: calc(100% + 10px);
      padding: 35px 15px 20px;
      z-index: 3; }
      @media (max-width: 1149px) {
        .home-clinic-link {
          padding: 30px 25px; } }
      .home-clinic-link > h3 {
        margin-bottom: 12px;
        padding-top: 130px;
        font-size: 32px;
        font-size: 2rem;
        font-weight: 700;
        color: #34887F;
        text-align: center;
        background: no-repeat 50% 0; }
        @media (max-width: 1149px) {
          .home-clinic-link > h3 {
            height: 62px;
            margin-left: 15px;
            padding-top: 16px;
            padding-left: 58px;
            font-size: 28px;
            font-size: 1.75rem;
            text-align: left;
            background-position: 0 0;
            background-size: 44px; } }
      .home-clinic-link.home-clinic-internist > h3 {
        background-image: url("../img/home-img/ic_internist_clinic.webp"); }
      .home-clinic-link.home-clinic-cardiology > h3 {
        background-image: url("../img/home-img/ic_cardiology.webp"); }
      .home-clinic-link.home-clinic-inspection > h3 {
        background-image: url("../img/home-img/ic_inspection.webp"); }
      .home-clinic-link.home-clinic-home-ns > h3 {
        background-image: url("../img/home-img/ic_car.webp"); }

        .home-greeting {
    position: relative;
    padding-top: 165px;
    padding-bottom: 300px;
    background: #F9FCE1; }
    @media (max-width: 767px) {
      .home-greeting {
        padding-top: 100px;
        padding-bottom: 135px; } }
    .home-greeting-ttl {
      position: relative;
      margin-bottom: 80px;
      background-image: url("../img/home-img/ic_greeting.webp");
      z-index: 3; }
      @media (max-width: 767px) {
        .home-greeting-ttl {
          margin-bottom: 50px;
          padding-left: 35px;
          background-size: 26px auto; } }
    .home-greeting-wrap {
      position: relative;
      display: grid;
      grid-auto-columns: 1fr;
      grid-template-columns: auto 190px 370px;
      grid-template-rows: repeat(2, auto);
      gap: 110px 20px;
      grid-template-areas: ". pht01 pht01" "pht02 pht02 cts";
      z-index: 3; }
      @media (min-width: 768px) and (max-width: 1149px) {
        .home-greeting-wrap {
          padding: 0 calc(100 / 1280 * 90px) 0 0;
          gap: 70px 20px; } }
      @media (max-width: 767px) {
        .home-greeting-wrap {
          display: block; } }
    @media (min-width: 768px) {
      .home-greeting-lead {
        position: absolute;
        top: 0; } }
    @media (min-width: 1150px) {
      .home-greeting-lead {
        left: calc(50% - 315px); } }
    @media (min-width: 768px) and (max-width: 1149px) {
      .home-greeting-lead {
        left: calc(50% - 360px); } }
    @media (max-width: 767px) {
      .home-greeting-lead {
        margin-bottom: 20px;
        text-align: center; } }
    .home-greeting-lead > p {
      font-size: 32px;
      font-size: 2rem;
      font-weight: 700; }
      @media (min-width: 768px) {
        .home-greeting-lead > p {
          -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
          line-height: 1.65;
          letter-spacing: .45em; } }
      @media (min-width: 768px) and (max-width: 1149px) {
        .home-greeting-lead > p {
          font-size: 28px;
          font-size: 1.75rem;
          letter-spacing: .4em; } }
      @media (max-width: 767px) {
        .home-greeting-lead > p {
          display: inline-block;
          font-size: 20px;
          font-size: 1.25rem;
          line-height: 1.6;
          text-align: left; } }
    .home-greeting-photo01 {
      grid-area: pht01; }
      @media (max-width: 767px) {
        .home-greeting-photo01 {
          margin-bottom: 20px;
          text-align: center; } }
      .home-greeting-photo01 > img {
        max-width: 600px;
        border-radius: 10px; }
        @media (max-width: 767px) {
          .home-greeting-photo01 > img {
            max-width: 460px; } }
    .home-greeting-photo02 {
      grid-area: pht02;
      justify-self: end; }
      @media (max-width: 767px) {
        .home-greeting-photo02 {
          margin-bottom: 20px;
          text-align: center; } }
      .home-greeting-photo02 > img {
        max-width: 460px;
        border-radius: 10px; }
    .home-greeting-cts {
      grid-area: cts;
      justify-self: center; }
      .home-greeting-cts > p {
        margin-bottom: 45px;
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.6; }
        @media (max-width: 767px) {
          .home-greeting-cts > p {
            margin-bottom: 20px;
            font-size: 16px;
            font-size: 1rem;
            line-height: 2; } }
    .home-greeting-fadein-01 {
      position: absolute;
      top: 0;
      left: 0;
      width: 780px;
      height: 550px;
      z-index: 1;
      background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22775.805%22%20height%3D%22547.188%22%20viewBox%3D%220%200%20775.805%20547.188%22%3E%20%3Cpath%20d%3D%22M344.676%2C36.141C499.914-30.118%2C900.258-26.511%2C737.67%2C231.478c-56.332%2C75.834-151.561%2C107.446-234.318%2C143.794C440.159%2C420%2C392.779%2C487.8%2C318.482%2C518.579c-215.4%2C89.913-428.6-41.119-254.394-266.968C125.929%2C151.766%2C234.58%2C76.256%2C344.674%2C36.145%22%20transform%3D%22translate(0%20-0.001)%22%20fill%3D%22%23d5f0da%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%;
      background-size: contain; }
      @media (max-width: 767px) {
        .home-greeting-fadein-01 {
          width: 368px;
          height: 315px;
          top: -65px;
          left: calc(50% - 184px); } }
    .home-greeting-fadein-02 {
      position: absolute;
      right: -60px;
      bottom: 48px;
      width: 336px;
      height: 320px;
      background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22230.291%22%20height%3D%22278.292%22%20viewBox%3D%220%200%20230.291%20278.292%22%3E%20%3Cpath%20d%3D%22M138.445%2C253.557c-26.3%2C17.124-74.586%2C33.2-103.612%2C19.7-45.237-20.175-41.392-87.08-16.919-124.61C32.156%2C123.528%2C57.571%2C108.29%2C77.531%2C89.9%2C98.923%2C53.779%2C120.079%2C3.156%2C167.836%2C0c69.394%2C3.835%2C70.016%2C74.819%2C53.673%2C127.434-13.989%2C48.854-41.273%2C97.773-83.068%2C126.121%22%20transform%3D%22translate(0.001)%22%20fill%3D%22%23e76233%22%20opacity%3D%220.2%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%;
      background-size: contain;
      z-index: 1; }
      @media (max-width: 767px) {
        .home-greeting-fadein-02 {
          width: 230px;
          height: 278px;
          bottom: 65px;
          left: calc(50% - 80px); } }
    .home-greeting-effect {
      position: relative; }

.fadein {
  opacity: 0;
  transition: all 1s; }
  .fadein.is-show {
    opacity: 1;
    transition-delay: .3s; }

@media (min-width: 767px) {
  _::-webkit-full-page-media, _:future, :root .heloview-lead {
    width: 188px; } }
