@charset "utf-8";

/** ================
標準ブロック
================ **/
:is(.content, .page-body, .news-content) > * {
  margin-top: 24px;

  &:first-child {
    margin-top: 0 !important;
  }
}

.wp-block-spacer {
  margin-top: 0;
}

.wp-block-spacer + *,
.wp-block-lazyblock-double-circle-list + .wp-block-lazyblock-indent-box {
  margin-top: 0;
}

.page-id-293 {
  .wp-block-image {
    & + .wp-block-buttons {
      margin-top: 48px !important;
    }
  }
}

@media screen and (min-width:1200px) {
  p {
    &:has(a[href^="https://hotel.ichibata.co.jp"], a[href^="https://new.matsue-urban.co.jp/"],a[href^="https://www.tokyuhotels.co.jp/matsue-e/index.html"]) {
      margin-top:32px;
    }
  }
}

/** ============
境界線ブロック
============ **/
.content {
  hr {
    margin-top: 24px;
    margin-bottom: 24px;
  }
}

hr {
  border: none;
  height: 1px;
  margin-top:0;
  margin-bottom:0;
}
.hr-default {
  background-color: var(--secondary-color);
}
.hr-red {
  background-color: #fcb7b7;
}
.hr-navy {
  background-color: var(--priority-color);
}
.hr-gray {
  background-color: #e4e4e4;
}
.hr-gray_light {
  background-color: #e4e4e4;
}
.hr-blue_gr {
  background: var(--gradation-primary-color);
}
.hr-yellow {
  background-color: var(--key-color);
}
.hr-blue {
  background-color: var(--primary-color);
}
.hr-gray_dashed {
  border: 1px solid dashed #414141;
}
.hr-gray_dark {
  background-color: var(--disabled-color);
}

/** ============
ドット付きリスト
============ **/
.editor-styles-wrapper .wp-block-list,
ul.wp-block-list {
  li {
    list-style-type: disc;
    margin-top: 8px;
    margin-left: 1.47em;
    line-height: 28px;
    /* font-weight: 500; */
  }
}

/** ============
番号付きリスト
============ **/
ol.wp-block-list {
  li {
    padding-block: 8px;
    margin-top: 0;
    line-height: 28px;
  }
}

/** ============
関連情報（資料・リンク）
============ **/
.related-info {
  margin-bottom: 0;
  .related_style1 {
    background-color: #e4e4e4;
    padding: 10px 15px;
    font-size: 16px;
    font-weight: bold;
    span {
      position: relative;
      display: block;
      padding-left: 20px;
      &::before {
        content: "";
        background-color: #c9c9c9;
        height: 100%;
        width: 4px;
        border-radius: 8px;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
      }
    }
  }
  .related_style2 {
    padding-inline: 8px;
    padding-bottom: 24px;
    font-size: 18px;
    font-weight: bold;
    span {
      position: relative;
      display: block;
      padding-left: 20px;
      &::before {
        content: "";
        background-color: #0092ca;
        height: 100%;
        width: 4px;
        border-radius: 8px;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
      }
    }
  }
  .related-info_contents {
    background-color: #f7f7f7;
    padding: 16px 24px;
    margin-bottom: 0;
  }
  .related-info_list {
    li {
      &:not(:has(> a)) {
        position: relative;
        font-size: 14px;
        font-weight: bold;
      }
      a {
        display: block;
        position: relative;
        padding: 10px 0 10px 28px;
        color: var(--priority-color);
        &::before {
          content: "";
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          width: 24px;
          height: 24px;
          left: 0;
        }
      }
    }
  }

  &.related_docs {
    .related-info_list {
      li {
        &:not(:has(> a)),
        > a {
          &::before {
            background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M7%206.4C7%206.0287%207.14367%205.6726%207.3994%205.41005C7.65513%205.1475%208.00198%205%208.36364%205H13.3636L17%208.73333V17.6C17%2017.9713%2016.8563%2018.3274%2016.6006%2018.5899C16.3449%2018.8525%2015.998%2019%2015.6364%2019H8.36364C8.00198%2019%207.65513%2018.8525%207.3994%2018.5899C7.14367%2018.3274%207%2017.9713%207%2017.6V6.4Z%22%20stroke%3D%22%23007DB8%22%2F%3E%0A%3Cpath%20d%3D%22M13%205V9H17%22%20stroke%3D%22%23007DB8%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");
            background-size: 100%;
            background-repeat: no-repeat;
          }
        }
      }
    }
  }
  &.related_links {
    .related-info_list {
      li {
        &:not(:has(> a)),
        > a {
          &::before {
            background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.616%2016.0771H9.077C7.949%2016.0771%206.98767%2015.6874%206.193%2014.9079C5.39833%2014.1285%205.00067%2013.1852%205%2012.0781C4.99933%2010.971%205.397%2010.0278%206.193%209.24831C6.989%208.46884%207.95033%208.07878%209.077%208.07812H10.616V9.059H9.077C8.23033%209.059%207.506%209.35457%206.904%209.94571C6.30133%2010.5375%206%2011.2483%206%2012.0781C6%2012.9079%206.30133%2013.6184%206.904%2014.2096C7.50667%2014.8007%208.231%2015.0963%209.077%2015.0963H10.616V16.0771ZM9.5%2012.5686V11.5877H14.5V12.5686H9.5ZM13.385%2016.0771V15.0963H14.923C15.7697%2015.0963%2016.494%2014.8007%2017.096%2014.2096C17.6987%2013.6184%2018%2012.9079%2018%2012.0781C18%2011.2483%2017.6987%2010.5378%2017.096%209.94669C16.4933%209.35555%2015.769%209.05998%2014.923%209.05998H13.385V8.07911H14.923C16.051%208.07911%2017.0127%208.46884%2017.808%209.24831C18.6033%2010.0278%2019.0007%2010.971%2019%2012.0781C18.9993%2013.1852%2018.6017%2014.1285%2017.807%2014.9079C17.0123%2015.6874%2016.051%2016.0775%2014.923%2016.0781L13.385%2016.0771Z%22%20fill%3D%22%23007DB8%22%2F%3E%0A%3C%2Fsvg%3E");
            background-size: 100%;
            background-repeat: no-repeat;
          }
        }
        > a[href$=".pdf"],
        > a[href*=".pdf?"],
        > a[href$=".doc"],
        > a[href*=".doc?"],
        > a[href$=".docx"],
        > a[href*=".docx?"],
        > a[href$=".xls"],
        > a[href*=".xls?"],
        > a[href$=".xlsx"],
        > a[href*=".xlsx?"] {
          &::before {
            background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M7%206.4C7%206.0287%207.14367%205.6726%207.3994%205.41005C7.65513%205.1475%208.00198%205%208.36364%205H13.3636L17%208.73333V17.6C17%2017.9713%2016.8563%2018.3274%2016.6006%2018.5899C16.3449%2018.8525%2015.998%2019%2015.6364%2019H8.36364C8.00198%2019%207.65513%2018.8525%207.3994%2018.5899C7.14367%2018.3274%207%2017.9713%207%2017.6V6.4Z%22%20stroke%3D%22%23007DB8%22%2F%3E%0A%3Cpath%20d%3D%22M13%205V9H17%22%20stroke%3D%22%23007DB8%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");
            background-size: 100%;
            background-repeat: no-repeat;
          }
        }
      }
    }
  }
}

/** ============
カードリンク
============ **/
.card-links {
  display: flex;
  gap: 25px 32px;

  @media screen and (min-width: 761px) {
    &:has(> :nth-child(2):last-child) {
      .card-link_item {
        width: calc((100% - 30px) / 2);
      }
    }
    &:has(> :nth-child(3):last-child) {
      .card-link_item {
        width: calc((100% - (30px * 2)) / 2);
      }
    }
  }

  @media screen and (max-width: 760px) {
    flex-direction: column;
    max-width: 450px;
    margin-inline: auto;
  }

  .card-link_item {
    width: 100%;
    a {
      display: block;
      border-radius: 6px;

      &[href$=".pdf"],
      &[href*=".pdf?"],
      &[href$=".doc"],
      &[href*=".doc?"],
      &[href$=".docx"],
      &[href*=".docx?"],
      &[href$=".xls"],
      &[href*=".xls?"],
      &[href$=".xlsx"],
      &[href*=".xlsx?"] 
      &[href$=".zip"]
      &[href*=".zip?"]{
        text-decoration:none;
        .link-name {
          background-color: #e5f4fa;
          color: var(--priority-color);
          position: relative;
          display: flex;
          column-gap: 10px;
          justify-content: center;
          align-items: center;
          &::before {
            content: "";
            background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M7%206.4C7%206.0287%207.14367%205.6726%207.3994%205.41005C7.65513%205.1475%208.00198%205%208.36364%205H13.3636L17%208.73333V17.6C17%2017.9713%2016.8563%2018.3274%2016.6006%2018.5899C16.3449%2018.8525%2015.998%2019%2015.6364%2019H8.36364C8.00198%2019%207.65513%2018.8525%207.3994%2018.5899C7.14367%2018.3274%207%2017.9713%207%2017.6V6.4Z%22%20stroke%3D%22%23007DB8%22%2F%3E%0A%3Cpath%20d%3D%22M13%205V9H17%22%20stroke%3D%22%23007DB8%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");
            background-size: 100%;
            background-repeat: no-repeat;
            display: block;
            width: 32px;
            height: 32px;
          }
        }
      }

      &:hover {
        text-decoration: none;
      }
    }
    .image {
      border-radius: 6px 6px 0 0;
      display: block;
      img {
        border-radius: 6px 6px 0 0;
        width: 100%;
        height: auto;
        aspect-ratio: 345 / 162;
        object-fit: cover;
      }
    }
    .link-name {
      background-color: var(--priority-color);
      border-radius: 0 0 6px 6px;
      color: #fff;
      font-size: 18px;
      font-weight: bold;
      padding: 14px 10px;
      text-align: center;
      line-height: 1.8;
      margin-bottom: 0;
    }
    .link-note {
      margin-top: 15px;
      font-size: 16px;
      font-weight: 500;
      margin-bottom: 0;
    }
  }
}

/** ============
リンクボタン
============ **/
a.wp-block-button__link {
  background-color: var(--priority-color);
  border-radius: 6px;
  color: #fff;
  font-size: 20px;
  line-height: 1.8;
  font-weight: bold;
  padding: 12px 10px;
  text-align: center;
  color: #fff;
  width: 100%;
  &[href$=".pdf"],
  &[href*=".pdf?"],
  &[href$=".doc"],
  &[href*=".doc?"],
  &[href$=".docx"],
  &[href*=".docx?"],
  &[href$=".xls"],
  &[href*=".xls?"],
  &[href$=".xlsx"],
  &[href*=".xlsx?"],
  &[href$=".zip"]
  &[href*=".zip?"] {
    background-color: #e5f4fa;
    color: var(--priority-color);
    position: relative;
    display: flex;
    column-gap: 3px;
    justify-content: center;
    align-items: center;
    &::before {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M7%206.4C7%206.0287%207.14367%205.6726%207.3994%205.41005C7.65513%205.1475%208.00198%205%208.36364%205H13.3636L17%208.73333V17.6C17%2017.9713%2016.8563%2018.3274%2016.6006%2018.5899C16.3449%2018.8525%2015.998%2019%2015.6364%2019H8.36364C8.00198%2019%207.65513%2018.8525%207.3994%2018.5899C7.14367%2018.3274%207%2017.9713%207%2017.6V6.4Z%22%20stroke%3D%22%23007DB8%22%2F%3E%0A%3Cpath%20d%3D%22M13%205V9H17%22%20stroke%3D%22%23007DB8%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
      display: block;
      width: 32px;
      height: 32px;
    }
  }
}

/** ============
画像リスト
============ **/
.image-list {
  display: flex;
  gap: 40px 27px;
  flex-wrap: wrap;
  @media screen and (max-width: 760px) {
    gap: 32px 18px;
    max-width: 500px;
    margin-inline: auto;
  }

  .image-list_item {
    width: calc((100% - (27px * 2)) / 3);
    @media screen and (max-width: 760px) {
      width: calc((100% - 18px) / 2);
    }
    .image {
      border: 1px solid #e4e4e4;

      img {
        width: 100%;
        height: 100%;
        aspect-ratio: 242 / 213;
        object-fit: contain;
      }
    }
    .title {
      font-weight: 700;
      margin-top: 16px;
    }
    .note-text {
      font-size: 12px;
      font-weight: 500;
      color: #666;
      margin-top: 8px;
      letter-spacing: 0;
    }
  }
}

/** ============
明朝体ブロック
============ **/
.wp-block-lazyblock-paragraph-mincho {
  font-family: var(--serif);
  font-size: 20px;
  line-height: 34px;
  @media screen and (max-width: 760px) {
    font-size: 18px;
    line-height: 32px;
  }
  p {
    margin: 16px 0 0;
    &:first-child {
      margin: 0;
    }
  }
  ul,
  ol {
    margin: 8px 0 0;
    &:first-child {
      margin: 0;
    }
  }
  ol {
    list-style: none;
    counter-reset: item;
    padding-left: 1.5em;
    & > li {
      line-height:34px;
      counter-increment: item;
      &:first-child {
        margin: 0;
      }
      &:before {
        content: counter(item) ")";
        position: absolute;
        margin: 0 0 0 -1.5em;
      }
    }
  }
}

/** ================
病院施設ブロック
================ **/
.medical-facility-block {
  background-color: #f7f7f7;
  margin: 24px 0 0;
  padding: 24px 40px;

  @media screen and (max-width: 760px) {
    padding: 1rem;
  }

  .medical-facility_header {
    display: flex;
    gap: 1rem;
    align-items: center;

    @media screen and (max-width: 760px) {
      flex-direction: column;
      align-items: flex-start;
    }

    .title {
      font-weight: 400;
    }
  }

  .reception-hours {
    margin-top: 0;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 1rem;
  }

  .reception-hours_note {
    font-weight: 500;
  }

  .notice-text {
    font-weight: 500;
    margin-top: 0;
  }

  .facility-contact {
    padding-top: 16px;
    border-top: 1px solid #e4e4e4;
    display: flex;
    gap: 5px 2rem;
    flex-wrap: wrap;
  }

  .contact-address {
    width: 100%;
  }

  .facility-contact_box {
    display: flex;
    align-items: center;
    gap: 1rem;
  }

  .facility-contact_title {
    background-color: #e4e4e4;
    padding: 4px;
    border-radius: 20px;
    font-weight: 700;
    width: 68px;
    flex:0 0 68px;
    text-align: center;
  }

  .facility-contact_number {
    margin-top: 0;
    font-weight: 700;
  }

  .facility-contact_number:has(> .phone-type) {
    display: flex;
    align-items: center;
    gap: 1rem;
  }

  .phone-type {
    font-weight: 500;
  }

  .facility-contact_address-text {
    margin-top: 0;
    font-weight: bold;
  }
}

.wp-block-gallery {
  & + .medical-facility-block {
    margin-top: 48px;
  }
}

/** ============
インデント付きボックス
============ **/
.wp-block-lazyblock-indent-box {
  margin-left: 1.25rem;
  &:is(.lazyblock-inner-blocks) {
    & > * {
      margin-top: 8px;
      &:first-child {
        margin-top: 0;
      }
    }
  }
  p + .wp-block-media-text {
    margin-top:16px;
  }
}

/** ============
グレーボックス
============ **/
.wp-block-lazyblock-gray-box {
  background-color: #f7f7f7;
  padding: 2rem;
  @media screen and (max-width: 760px) {
    padding: 1rem;
  }
  .lazyblock-inner-blocks {
    > .wp-block-lazyblock-headline:first-child {
      margin-top: 0;
    }
  }
}

/** ============
テーブルブロック
============ **/
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table {
  margin-top: 3rem;
  table {
    thead {
      th,
      td {
        border: none;
        border-top: 1px solid #e4e4e4;
        padding: 1rem;
      }
      th {
        background-color: #e4e4e4;
        font-weight: bold;
        position: relative;
        &:not(:last-child) {
          &::after {
            content: "";
            background-color: #fff;
            height: 24px;
            width: 2px;
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
          }
        }
      }
    }
    tbody {
      th,
      td {
        border: none;
        border-top: 1px solid #e4e4e4;
        border-bottom: 1px solid #e4e4e4;
        padding: 1rem;
        position: relative;
      }

      > tr {
        > * {
          &:first-child {
            border-left: 1px solid #e4e4e4;
          }

          &:last-child {
            border-right: 1px solid #e4e4e4;
          }
        }
        td + td {
          &::after {
            content: "";
            background-color: #e4e4e4;
            height: 65%;
            width: 2px;
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
          }
        }
      }
      th {
        background-color: #f7f7f7;
        font-weight: bold;
      }
      td {
        font-weight: 400;
      }
    }
  }

  @media screen and (max-width: 760px) {
    .is-stacked-on-mobile {
      tbody {
        tr {
          th,
          td {
            border: 1px solid #e4e4e4;
            border-bottom: none;
          }
          th {
            padding: 5px 1rem;
          }
          &:last-child {
            td {
              border-bottom: 1px solid #e4e4e4;
            }
          }
        }
      }
    }

    &.is-scroll-on-mobile {
      table {
        width: auto;
      }
    }
  }
}
/** ============
認定・指定ブロック
============ **/
.accreditations_wrapper {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 27px;
}
.accreditation_wrapper {
  width: calc((100% - (27px * 2)) / 3);
  @media screen and (max-width: 760px) {
    width: calc((100% - 27px) / 2);
  }
  .accreditation_image {
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    img {
      max-width: 100%;
      height: auto;
      object-fit: contain;
    }
  }
  .accreditation_name {
    font-weight: 700;
    line-height: 28px;
    margin: 8px 0 0;
  }
  .accreditation_period {
    font-size: 12px;
    line-height: 22px;
    color: #666;
    margin-top:8px;
  }
}

/** ============
目次ブロック
============ **/
.wp-block-lazyblock-toc {
  margin: 0;
}
.toc_wrapper {
  background: #f7f7f7;
  margin: 0;
  padding: 1rem;
  .toc_body {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    li {
      font-size: 14px;
      font-weight: 700;
      line-height: 24px;
      a {
        display: flex;
        gap: 8px;
        align-items: center;
        color: #007db8;
        text-decoration: none;
        transition: all 0.3s ease;
        &:after {
          display: block;
          content: "";
          width: 10px;
          height: 10px;
          background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.0054 8.24613L8.7365 4.53287C8.80327 4.46642 8.88193 4.4316 8.97248 4.42842C9.06304 4.42569 9.14604 4.4621 9.2215 4.53765C9.29467 4.61229 9.33194 4.69263 9.33332 4.77865C9.33423 4.86421 9.29696 4.94477 9.2215 5.02033L5.05067 9.17121C4.9903 9.23083 4.92902 9.2727 4.86683 9.29682C4.80463 9.32095 4.73649 9.33301 4.6624 9.33301C4.58831 9.33301 4.52017 9.32095 4.45798 9.29682C4.39578 9.2727 4.33473 9.23083 4.27482 9.17121L0.103302 5.02033C0.0392765 4.95661 0.00497685 4.879 0.000403578 4.78752C-0.0041697 4.69558 0.0301299 4.61207 0.103302 4.53697C0.178761 4.46187 0.260166 4.42432 0.347515 4.42432C0.435322 4.42432 0.516955 4.46187 0.592414 4.53697L4.31941 8.24682L4.31941 0.341029C4.31941 0.24363 4.3521 0.162387 4.4175 0.0973015C4.4829 0.0322161 4.56453 -0.000326102 4.6624 -0.000326101C4.76027 -0.0003261 4.8419 0.0322161 4.9073 0.0973015C4.9727 0.162387 5.0054 0.24363 5.0054 0.341029L5.0054 8.24613Z' fill='%23007DB8'/%3E%3C/svg%3E%0A");
          background-repeat: no-repeat;
        }
        &:hover {
          color: #4ca4cd;
        }
      }
    }
  }
}

/* イレギュラーな目次の配置 */
.page-id-244,
.page-id-287 {
  overflow-x: hidden;
  .wp-block-lazyblock-toc {
    background: #f7f7f7;
    margin: -48px calc(50% - 50vw) 0;
    margin-top: -48px !important;

    @media screen and (max-width: 1200px) {
      margin-top: -48px!important;
    }
    @media screen and (max-width: 760px) {
      margin-top: -32px!important;
    }
  }
  .toc_wrapper {
    width: 100%;
    max-width: 1100px;
    margin-inline: auto;

    @media screen and (min-width: 1201px) {
      padding-inline: 0;
    }
  }
}

/** ================
サービスリンク
================ **/
.service-link {
  a {
    display: flex;
    align-items: center;
    column-gap: 1rem;
    padding: 20px 1rem 24px;
    border-bottom: 1px solid #e4e4e4;
    position: relative;

    &::after {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2036%2036%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M15%2025.5L22.5%2018L15%2010.5%22%20stroke%3D%22%23007DB8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 36px;
      height: 36px;
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
    }
  }
}

.page-id-291 {
  .service-link {
    a {
      img {
        width: auto;
        height: 56px;
      }
      .link-text {
        margin-top: 0;
        line-height: 1.244;
        color:#414141;
      }
    }
  }
}

/** ================
テキストリンクリスト
================ **/
.text-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;

  &:has(> :nth-child(1):last-child) {
    .text-link_item {
      width:calc((100% - 1rem) / 2);
      @media screen and (max-width:760px) {
        width:100%;
      }
    }
  }

  &:has(> :nth-child(2):last-child) {
    .text-link_item {
      width: calc((100% - 1rem) / 2);
      @media screen and (max-width:760px) {
        width:100%;
      }
    }
  }
  &:has(> :nth-child(3):last-child) {
    .text-link_item {
      width: calc((100% - (1rem * 2)) / 3);
      @media screen and (max-width:760px) {
        width:100%;
      }
    }
  }
  &:has(> :nth-child(4):last-child) {
    .text-link_item {
      width: calc((100% - (1rem * 3)) / 4);
      a {
        &:empty {
          padding:0;
          border-bottom:none;
          &:after {
            background:none;
          }
        }
      }
      @media screen and (max-width:760px) {
        width:100%;
      }
    }
  }
  a {
    padding: 1rem 2rem 1rem 0;
    border-bottom: 1px solid #e4e4e4;
    position: relative;
    display: block;

    &::after {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10%2017L15%2012L10%207%22%20stroke%3D%22%23414141%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 24px;
      height: 24px;
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
    }
  }
}

/** ================
サイトマップ用タイトルリンク
================ **/
.sitema-title-link {
  a {
    display: block;
    align-items: center;
    border-bottom: 2px solid var(--primary-color);
    padding-top: 9px;
    padding-bottom: 20px;
    padding-left: 2rem;
    position: relative;
    color:#414141;

    &::before {
      content: "";
      position: absolute;
      left: 0;
      top: 18px;
      width: 20px;
      height: 20px;
    }

    &::after {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2036%2036%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M15%2025.5L22.5%2018L15%2010.5%22%20stroke%3D%22%23007DB8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 30px;
      height: 30px;
      position: absolute;
      top: 12px;
      right: 0;
    }
  }
  .icon-news {
    &::before {
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M16.668%200C17.5845%200.000178951%2018.334%200.750435%2018.334%201.66699V18.333C18.334%2019.2496%2017.5845%2019.9998%2016.668%2020H3.33398C2.41747%2019.9998%201.66797%2019.2496%201.66797%2018.333V1.66699C1.66797%200.750434%202.41747%200.000177326%203.33398%200H16.668ZM3.33398%2018.333H16.668V1.66699H3.33398V18.333ZM10.001%2013.333C10.4593%2013.333%2010.834%2013.7087%2010.834%2014.167C10.8338%2014.6252%2010.4592%2015%2010.001%2015H6.66797C6.20974%2015%205.83416%2014.6252%205.83398%2014.167C5.83398%2013.7087%206.20964%2013.333%206.66797%2013.333H10.001ZM13.334%209.16699C13.7923%209.16699%2014.168%209.54167%2014.168%2010C14.168%2010.4583%2013.7923%2010.833%2013.334%2010.833H6.66797C6.20964%2010.833%205.83398%2010.4583%205.83398%2010C5.83398%209.54167%206.20964%209.16699%206.66797%209.16699H13.334ZM13.334%205C13.7922%205%2014.1678%205.37482%2014.168%205.83301C14.168%206.29134%2013.7923%206.66699%2013.334%206.66699H6.66797C6.20964%206.66699%205.83398%206.29134%205.83398%205.83301C5.83416%205.37482%206.20974%205%206.66797%205H13.334Z%22%20fill%3D%22%230092CA%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
    }
  }
  .icon-facility {
    &::before {
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M9.99121%200C10.8579%200%2011.667%200.683659%2011.667%201.66699V6.8916H17.5C17.9582%206.8916%2018.3328%207.26645%2018.333%207.72461V18.333H19.167C19.6252%2018.3332%2020%2018.7088%2020%2019.167C19.9998%2019.6251%2019.6251%2019.9998%2019.167%2020H0.833008C0.374931%2019.9998%200.000177648%2019.6251%200%2019.167C0%2018.7088%200.374822%2018.3332%200.833008%2018.333H1.66699V6.11621C1.66714%205.56642%201.94174%205.04166%202.4082%204.7334L9.0752%200.283203C9.36666%200.0917186%209.68309%209.01995e-05%209.99121%200ZM3.33301%206.11621V18.333H10V1.66699L3.33301%206.11621ZM11.667%2018.333H16.667V8.55859H11.667V18.333ZM5.41699%2012.4746C5.78349%2012.4748%206.08297%2012.7751%206.08301%2013.1416V14.3086C6.08287%2014.675%205.78342%2014.9744%205.41699%2014.9746C5.05041%2014.9746%204.75014%2014.6751%204.75%2014.3086V13.1416C4.75004%2012.775%205.05035%2012.4746%205.41699%2012.4746ZM7.91699%2012.4746C8.28349%2012.4748%208.58297%2012.7751%208.58301%2013.1416V14.3086C8.58287%2014.675%208.28342%2014.9744%207.91699%2014.9746C7.55041%2014.9746%207.25014%2014.6751%207.25%2014.3086V13.1416C7.25004%2012.775%207.55035%2012.4746%207.91699%2012.4746ZM5.41699%208.30859C5.78338%208.30877%206.08279%208.60823%206.08301%208.97461V10.1416C6.08301%2010.5082%205.78351%2010.8084%205.41699%2010.8086C5.05033%2010.8086%204.75%2010.5083%204.75%2010.1416V8.97461C4.75021%208.60812%205.05046%208.30859%205.41699%208.30859ZM7.91699%208.30859C8.28338%208.30877%208.58279%208.60823%208.58301%208.97461V10.1416C8.58301%2010.5082%208.28351%2010.8084%207.91699%2010.8086C7.55033%2010.8086%207.25%2010.5083%207.25%2010.1416V8.97461C7.25021%208.60812%207.55046%208.30859%207.91699%208.30859Z%22%20fill%3D%22%230092CA%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
    }
  }
  .icon-recruit {
    &::before {
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M8.84082%2010C8.94071%2010.0001%209.03201%2010.0585%209.08203%2010.1416L9.75781%2011.3164C9.86623%2011.4997%2010.1328%2011.4997%2010.2412%2011.3164L10.917%2010.1416C10.967%2010.0499%2011.0591%2010%2011.1592%2010H13.0527C16.8889%2010.0002%2019.9999%2013.1083%2020%2016.9414V19.167C19.9998%2019.625%2019.6244%2019.9998%2019.166%2020C18.7074%2020%2018.3322%2019.6252%2018.332%2019.167V16.9414C18.3319%2014.5916%2016.7886%2012.6004%2014.6621%2011.917V14.2168C15.254%2014.4751%2015.6629%2015.0581%2015.6631%2015.7412C15.6631%2016.6577%2014.9124%2017.408%2013.9951%2017.4082C13.0777%2017.4082%2012.3271%2016.6579%2012.3271%2015.7412C12.3273%2015.0582%2012.7353%2014.4752%2013.3271%2014.2168V11.6748C13.2357%2011.6665%2013.1442%2011.6582%2013.0527%2011.6582H12.001C11.9094%2011.6583%2011.8263%2011.7005%2011.7764%2011.7754L11.0586%2012.7754C10.8167%2013.1167%2010.4251%2013.3251%2010%2013.3252C9.58307%2013.3252%209.18231%2013.117%208.94043%2012.7754L8.23145%2011.7754C8.18146%2011.7005%208.09845%2011.6583%208.00684%2011.6582H6.94727C6.85554%2011.6582%206.7636%2011.6748%206.67188%2011.6748V13.8584C7.53921%2014.1417%208.17279%2014.9499%208.17285%2015.9082V16.6582C8.17285%2017.0748%207.83979%2017.4081%207.42285%2017.4082C7.00585%2017.4082%206.67188%2017.0749%206.67188%2016.6582V15.9082C6.6718%2015.5416%206.3718%2015.2412%206.00488%2015.2412C5.63796%2015.2412%205.33796%2015.5416%205.33789%2015.9082V16.6582C5.33789%2017.0749%205.00392%2017.4082%204.58691%2017.4082C4.16998%2017.4081%203.83691%2017.0748%203.83691%2016.6582V15.9082C3.83697%2014.9499%204.47056%2014.1417%205.33789%2013.8584V11.917C3.21124%2012.6003%201.66808%2014.5915%201.66797%2016.9414V19.167C1.66779%2019.6252%201.29258%2020%200.833984%2020C0.375399%2020%200.000177766%2019.6252%200%2019.167V16.9414C0.000140766%2013.1082%203.11098%2010%206.93066%2010H8.84082ZM10.0078%200C12.3097%200%2014.1777%201.86699%2014.1777%204.16699C14.1776%206.46684%2012.3096%208.33301%2010.0078%208.33301C7.7062%208.33283%205.83807%206.46673%205.83789%204.16699C5.83789%201.8671%207.70609%200.000179411%2010.0078%200ZM10.0078%201.66699C8.63184%201.66717%207.50586%202.7921%207.50586%204.16699C7.50604%205.54173%208.63195%206.66681%2010.0078%206.66699C11.3838%206.66699%2012.5096%205.54184%2012.5098%204.16699C12.5098%202.79199%2011.3839%201.66699%2010.0078%201.66699Z%22%20fill%3D%22%230092CA%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
    }
  }
  .icon-corporate {
    &::before {
      background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5127 3.1748C11.0626 3.1748 11.5633 3.43682 11.8633 3.88672C12.1632 4.33666 12.2254 4.89948 12.0254 5.39941L10.5381 9.16113C10.6129 9.16113 10.6879 9.13682 10.7627 9.13672H13.4629C14.0378 9.13676 14.5749 9.43663 14.8623 9.93652V9.94824C14.8623 9.94824 17.1124 13.7356 19.0996 17.1602C19.387 17.6601 19.3871 18.2853 19.0996 18.7852C18.8122 19.2849 18.2747 19.5975 17.6875 19.5977H14.9248C14.3501 19.5976 13.8128 19.2849 13.5254 18.7852L9.48828 11.8105L6.66406 18.96C6.4141 19.5849 5.81377 19.9971 5.15137 19.9971H1.62695C1.07703 19.9971 0.564606 19.7222 0.264648 19.2598C-0.0352719 18.8099 -0.0852642 18.2226 0.139648 17.7227L6.06348 4.14941C6.3259 3.56209 6.901 3.17493 7.55078 3.1748H10.5127ZM7.53906 4.81152L1.62695 18.3604H5.14355L10.501 4.81152H7.53906ZM10.7627 10.7607L14.9375 17.9727H17.6875C15.7003 14.5481 13.4629 10.7607 13.4629 10.7607H10.7627ZM18.3369 5.73633C19.2492 5.73633 19.9988 6.48621 19.999 7.39844C19.999 8.31081 19.2493 9.06055 18.3369 9.06055C17.4246 9.06051 16.6748 8.31078 16.6748 7.39844C16.675 6.48623 17.4122 5.73637 18.3369 5.73633ZM15.625 0C17.0055 0 18.125 1.11948 18.125 2.5C18.1248 3.88035 17.0054 4.99902 15.625 4.99902C14.2446 4.99899 13.1252 3.88033 13.125 2.5C13.125 1.11951 14.2445 3.58202e-05 15.625 0Z' fill='%230092CA'/%3E%3C/svg%3E%0A");
      background-size:100%;
      background-repeat:no-repeat;
    }
  }
  .icon-local-institution {
    &::before {
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10%200C12.3415%200.000132915%2014.6744%201.11694%2016.166%203.3418C18.0743%206.18346%2017.9243%209.99199%2015.8076%2012.667L10%2020L4.19141%2012.667C2.07475%209.99201%201.93304%206.18346%203.83301%203.3418C5.32467%201.1168%207.65833%200%2010%200ZM10%201.6748C8.06667%201.6748%206.32415%202.62539%205.21582%204.27539C3.72448%206.50868%203.84178%209.53394%205.5%2011.6338L10%2017.3164L14.5%2011.6338C16.1582%209.53392%2016.2746%206.50868%2014.7832%204.27539C13.6749%202.62551%2011.9332%201.67494%2010%201.6748ZM11.8496%204.09961C12.6662%204.09967%2013.333%204.76683%2013.333%205.5918V10.8252H11.8496V5.5918H8.14941V10.8252H6.66602V5.5918C6.66602%204.76683%207.33279%204.09966%208.14941%204.09961H11.8496ZM10.833%209.1582V10.8252H9.16602V9.1582H10.833ZM10.833%208.3252H9.16602V6.6582H10.833V8.3252Z%22%20fill%3D%22%230092CA%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
    }
  }
  .icon-contact {
    &::before {
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M14.168%200C15.0845%200.000177326%2015.834%200.750434%2015.834%201.66699V18.333C15.834%2019.2496%2015.0845%2019.9998%2014.168%2020H5.83398C4.91747%2019.9998%204.16797%2019.2496%204.16797%2018.333V1.66699C4.16797%200.750434%204.91747%200.000177521%205.83398%200H14.168ZM5.83398%201.66699V18.333H14.168V1.66699H5.83398ZM11.2422%2015C11.7087%2015%2012.0838%2015.3748%2012.084%2015.833C12.084%2016.2913%2011.7089%2016.667%2011.2422%2016.667H8.75977C8.2931%2016.667%207.91797%2016.2913%207.91797%2015.833C7.91815%2015.3748%208.29321%2015%208.75977%2015H11.2422Z%22%20fill%3D%22%230092CA%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
    }
  }
}

.page-id-291 {
  .wp-block-lazyblock-service-title {
    margin-top: 80px;
    & + .wp-block-lazyblock-service-title {
      margin-top:48px;
    }
  }
  .wp-block-lazyblock-sitemap-title-links {
    margin-top: 56px !important;
  }
  .wp-block-lazyblock-text-links {
    margin-top: 0;
  }
}

/** ================
二重丸付リスト
================ **/
.double-circle-list {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 8px 1rem;
  align-items: center;

  @media screen and (max-width: 760px) {
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  > dt {
    position: relative;
    padding-left: 1.75rem;
    font-weight: 400;

    &::before {
      content: "◎";
      font-family: var(--serif);
      font-size: 1.25rem;
      line-height: 1.9;
      letter-spacing: 0.08em;
      color: var(--primary-color);
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
    }
  }
  @media screen and (max-width: 760px) {
    dd {
      &:first-of-type {
        margin-bottom: 1rem;
      }
    }
  }
}

/** ================
ギャラリーのキャプション
================ **/
.wp-block-gallery.has-nested-images figcaption {
  text-align: left;
}

/** ============
カラムブロック
============ **/
:where(.wp-block-columns.is-layout-flex) {
  gap: 1rem;
}

.page-id-126,
.page-id-346,
.page-id-548 {
  :where(.wp-block-columns.is-layout-flex) {
    gap: 2rem;
  }

  @media screen and (max-width: 760px) {
    .has-text-align-center {
      text-align: left;
    }
  }
}

.page-id-145,
.page-id-130 {
  :where(.wp-block-columns.is-layout-flex) {
    gap: 2rem;
  }
}

.wp-block-columns {
  margin-bottom: 0;
  + .wp-block-columns,
  + .wp-block-columns + .wp-block-columns {
    margin-top: 1rem;
  }
}

.page-id-561 {
  .wp-block-lazyblock-card-links {
    & + .wp-block-columns {
      margin-top: 2rem;
      gap:2rem;

      @media screen and (max-width: 760px) {
        margin-top: 1rem;
        gap:1rem;
      }
      & + .wp-block-columns {
        margin-top:2rem;
        gap:2rem;

        @media screen and (max-width:760px) {
          margin-top:1rem;
          gap:1rem;
        }
      }
    }
  }
  .wp-block-columns {
    & + .wp-block-lazyblock-related-docs {
      margin-top: 80px;
    }
  }
}

.page-id-419 {
  .wp-block-columns {
    margin-top: 1rem;
    gap: 1rem;
  }
}

/** ============
サービスカードメニュー
============ **/

.service-card-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  .card-link {
    width: calc((100% - (1rem * 2)) / 3);

    @media screen and (max-width: 760px) {
      width: 100%;
    }

    a {
      border: 1px solid #e4e4e4;
      color: var(--base-text-color);
    }
  }
}

.service-list_link {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 2rem 0;
  background-color: #fff;
  min-height: 19.3125rem;
  border-radius: 6px;
  &:hover {
    color: var(--main-text-color);
  }

  @media screen and (max-width: 760px) {
    flex-direction: row;
    align-items: center;
    column-gap: 16px;
    padding: 5px 16px;
    min-height: auto;
  }

  .service-list_img {
    display: block;
    margin-inline: auto;
    margin-bottom: 28px;

    @media screen and (max-width: 760px) {
      margin: 0;
      width: 56px;
    }

    .anime-path {
      transition: fill 0.5s ease;
    }
  }
  .service-list_text {
    margin-bottom: 10px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 76px;

    @media screen and (max-width: 760px) {
      margin-bottom: 0;
      text-align: left;
      min-height: auto;
    }
  }
  .link-icon {
    display: block;
    text-align: center;
    margin-top: auto;
    position: relative;

    @media screen and (max-width: 760px) {
      margin: 0;
      width: 36px;
      height: 36px;
      position: absolute;
      right: 16px;

      svg {
        height: 100%;
      }
    }
  }
}

.service-hover-anime {
  position: relative;
  z-index: 0;
  overflow: hidden;
  background: #fff;

  @media screen and (min-width: 761px) {
    > *:not(.service-hover-image) {
      z-index: 1;
      position: relative;
    }
  }

  /* =========================
   ①〜④ 黄色い円（既存）
  ========================= */
  &::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    background: rgba(255, 221, 0, 0.15);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    z-index: -2;
    transition: none;
  }

  /* =========================
   ③〜⑤ 白い四角（既存）
  ========================= */
  &::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 50%;
    bottom: 50%;
    left: 50%;
    background: #fff;
    border-radius: 16px;
    z-index: -1;
    transition: none;
  }

  /* =========================
  link-icon 青い円の土台
  ========================= */
  .link-icon {
    z-index: 1;

    &::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 10px;
      height: 10px;
      background: #007db8;
      border-radius: 50%;
      transform: translate(-50%, -50%) scale(0);
      z-index: -1;
      transition: none;
    }
  }

  /* =========================
  ① 通常時：SVGの矢印は青
  ========================= */
  .link-icon svg path {
    stroke: #007db8;
    transition: stroke 0.3s ease;
  }

  @media screen and (min-width: 761px) {
    /* =========================
    ホバー時 アニメーション
    ========================= */
    &:hover {
      opacity: 1 !important;
      /* svgアイコンの色変更 */
      .anime-path {
        fill: #909090;
      }
      /* 黄色の円 */
      &::before {
        transform: translate(-50%, -50%) scale(30);
        transition: transform 0.7s ease;
      }

      /* 白い四角 */
      &::after {
        top: 20px;
        right: 20px;
        bottom: 55px;
        left: 20px;
        border-radius: 12px;

        transition: top 0.45s ease 0.25s, right 0.45s ease 0.25s, bottom 0.45s ease 0.25s, left 0.45s ease 0.25s, border-radius 0.45s ease 0.25s;
      }

      /* 白い四角と「同じタイミング」で青い円が 60×60 まで拡大 */
      .link-icon::before {
        width: 60px;
        height: 60px;
        transform: translate(-50%, -50%) scale(1);

        transition: transform 0.45s ease 0.25s, width 0.45s ease 0.25s, height 0.45s ease 0.25s;
      }

      /* =========================
      ② 青い円と同時に SVG を白へ
      ========================= */
      .link-icon svg path {
        stroke: #fff;
        transition-delay: 0.25s;
      }

      .service-hover-image {
        opacity: 0.5;
        transition: opacity 0.5s ease 0.5s;
      }
    }
  }
}

.service-hover-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 0;
  opacity: 0;
  transition: none;

  &.service1 {
    background-image: url("../img/blocks/service-link/bg_menu1_atlas.png");
    background-size: cover;
    background-position: center;
  }
  &.service2 {
    background-image: url("../img/blocks/service-link/bg_menu2_atlas.png");
    background-size: cover;
    background-position: center;
  }
  &.service3 {
    background-image: url("../img/blocks/service-link/bg_menu3_atlas.png");
    background-size: cover;
    background-position: center;
  }
  &.service4 {
    background-image: url("../img/blocks/service-link/bg_menu4_atlas.png");
    background-size: cover;
    background-position: center;
  }
  &.service5 {
    background-image: url("../img/blocks/service-link/bg_menu5_atlas.png");
    background-size: cover;
    background-position: center;
  }
}

/** ================
デバイス別画像出力ブロック
================ **/
@media screen and (max-width: 760px) {
  .wp-block-lazyblock-image-srcset {
    img {
      display: block;
      width: fit-content;
      margin-inline: auto;
    }
  }
}

/** ============
メディア+テキストカラムブロック
============ **/
.wp-block-media-text {
  .wp-block-media-text__content {
    .wp-block-flexible-table-block-table {
      margin-top:24px;
      &:first-child {
        margin-top:0;
      }
    }
  }
}
@media screen and (max-width: 600px) {
  .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
    grid-row: 1;
  }
  .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
    grid-row: 2;
  }
}

/** ================
見出しブロック
================ **/

.wp-block-lazyblock-headline {
  scroll-margin-top:90px;
  @media screen and (max-width:760px) {
    scroll-margin-top:0;
  }
  h1,
  h2,
  h3,
  h4,
  h5 {
    position: relative;
    letter-spacing: 0.08em;
    .flex-ttl {
      width:100%;
      display:flex;
      justify-content:space-between;
      align-items:center;
      @media screen and (max-width:1199px) {
        flex-wrap:wrap;
      }
    }
    span.ff_sans_1r {
      font-family: var(--sans-serif);
      font-size: 1rem;
      font-weight: 300;
      line-height: 3;
      a {
        &:after {
          position: relative;
          right: 0;
          bottom: -10px;
        }
      }
    }
    .__lh-1 {
      line-height:1.3332 !important;
    }
    a {
      color: var(--primary-color);

      &::after {
        content: "";
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%226%22%20height%3D%2211%22%20viewBox%3D%220%200%206%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M0.5%2010.5L5.5%205.5L0.5%200.5%22%20stroke%3D%22%23007DB8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");
        background-size: 100%;
        background-repeat: no-repeat;
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        width: 6px;
        height: 11px;
      }

      &:hover {
        text-decoration: none;
      }
    }

    &:not(:has(> a)),
    > a {
      display: flex;
      justify-content: space-between;
      align-items: center;

      @media screen and (max-width: 1200px) {
        flex-direction: column;
        align-items: flex-start;
      }

      > span {
        font-size: 16px;
        font-weight: 500;
        line-height: 1.75;

        @media screen and (max-width: 1200px) {
          font-size: 14px;
        }
      }
    }
  }

  &:has(> h1, > .title_style1) {
    margin-bottom: 48px;
    @media screen and (max-width: 760px) {
      margin-bottom: 24px;
    }
  }
  &:has(> .title_style2) {
    margin-top: 3rem;

  }
  &:has(> .title_style3, > .title_style6) {
    margin-top: 1.5rem;
  }
  &:has(> .title_style4, > .title_style5, > .title_style7) {
    margin-top: 1rem;
  }
  & + *:not(.wp-block-lazyblock-headline, .wp-block-lazyblock-toc) {
    margin-top: .5rem;
  }

  &:has(> .title_style2) + * {
    margin-top: 24px;
  }

  &:has(+ *)&:has(> .title_style1) {
    margin-top: 80px;

    @media screen and (max-width: 760px) {
      margin-top: 48px;
    }
  }

  @media screen and (max-width: 760px) {
    &:not(:has(> .title_style2)) {
      margin-top: 2rem;
    }
  }

  &:has(+ .wp-block-lazyblock-toc) {
    margin-bottom: 0;
  }
}

p {
  & + .wp-block-lazyblock-headline {
    &:has(> :is(h2, h3, h4, h5))&:not(:has(.title_style2)) {
      margin-top: 24px;
    }
    &:has(.title_style1) {
      margin-top: 80px !important;
    }
  }
}

.title_style1 {
  font-size: 2rem;
  font-family: var(--serif);
  border-bottom: 2px solid var(--primary-color);
  font-weight: 400;

  @media screen and (max-width: 1200px) {
    font-size: clamp(1.625rem, calc(1.25rem + 1vw), 2rem); /* min: 26px, max: 32px */
    padding-bottom: 1rem;
  }
}

.title_style2 {
  font-size: 1.5rem;
  border-bottom: 1px solid #e4e4e4;
  padding-bottom: 20px;
  font-family: var(--serif);
  font-weight: 400;

  @media screen and (max-width: 760px) {
    font-size: 22px;
    padding-bottom: 8px;
  }

  &:not(:has(> a)),
  > a {
    padding-left: 35px;
    &::before {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2223%22%20height%3D%2220%22%20viewBox%3D%220%200%2023%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20width%3D%2212%22%20height%3D%2212%22%20rx%3D%226%22%20transform%3D%22matrix(1%200%200%20-1%200%2012)%22%20fill%3D%22%230092CA%22%2F%3E%0A%3Crect%20width%3D%228%22%20height%3D%228%22%20rx%3D%224%22%20transform%3D%22matrix(1%200%200%20-1%2015%2020)%22%20fill%3D%22%230092CA%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 23px;
      height: 20px;
      position: absolute;
      left: 0;
      top: 7px;
    }
  }
}

.title_style3 {
  font-size: 1.25rem;
  font-family: var(--serif);
  font-weight: 400;
  &:not(:has(> a)),
  > a {
    padding-left: 32px;
    &::before {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20rx%3D%2210%22%20transform%3D%22matrix(1%200%200%20-1%200%2020)%22%20fill%3D%22white%22%2F%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20rx%3D%2210%22%20transform%3D%22matrix(1%200%200%20-1%200%2020)%22%20fill%3D%22%230092CA%22%20fill-opacity%3D%220.1%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 20px;
      height: 20px;
      position: absolute;
      left: 0;
      top: 5px;
    }
  }
}

.title_style4 {
  font-weight: 700;
  font-size: 1rem;
  &:not(:has(> a)),
  > a {
    padding-left: 20px;
    &::before {
      content: "";
      background-color: #0092ca;
      border-radius: 8px;
      width: 4px;
      height: 24px;
      position: absolute;
      left: 0;
      top: 0;
    }
  }
}

.title_style5 {
  font-size: 1.25rem;
  font-family: var(--serif);
  font-weight: 400;
  padding-bottom: 24px;
  border-bottom: 1px solid #e4e4e4;
}

.title_style6 {
  font-size: 1.25rem;
  font-family: var(--serif);
  border-bottom: 2px solid var(--primary-color);
  font-weight: 400;
  padding-bottom: 18px;

  &:not(:has(> a)),
  > a {
    padding-left: 36px;
    &::before {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M16.667%200C17.5835%200.000178951%2018.333%200.750435%2018.333%201.66699V18.333C18.333%2019.2496%2017.5835%2019.9998%2016.667%2020H3.33301C2.41649%2019.9998%201.66699%2019.2496%201.66699%2018.333V1.66699C1.66699%200.750434%202.41649%200.000177326%203.33301%200H16.667ZM3.33301%2018.333H16.667V1.66699H3.33301V18.333ZM10%2013.333C10.4583%2013.333%2010.833%2013.7087%2010.833%2014.167C10.8328%2014.6252%2010.4582%2015%2010%2015H6.66699C6.20877%2015%205.83318%2014.6252%205.83301%2014.167C5.83301%2013.7087%206.20866%2013.333%206.66699%2013.333H10ZM13.333%209.16699C13.7913%209.16699%2014.167%209.54167%2014.167%2010C14.167%2010.4583%2013.7913%2010.833%2013.333%2010.833H6.66699C6.20866%2010.833%205.83301%2010.4583%205.83301%2010C5.83301%209.54167%206.20866%209.16699%206.66699%209.16699H13.333ZM13.333%205C13.7912%205%2014.1668%205.37482%2014.167%205.83301C14.167%206.29134%2013.7913%206.66699%2013.333%206.66699H6.66699C6.20866%206.66699%205.83301%206.29134%205.83301%205.83301C5.83319%205.37482%206.20877%205%206.66699%205H13.333Z%22%20fill%3D%22%230092CA%22%2F%3E%0A%3C%2Fsvg%3E");
      background-repeat: no-repeat;
      background-size: 100%;
      width: 20px;
      height: 20px;
      position: absolute;
      left: 0;
      top: 5px;
    }
  }
}

.title_style7 {
  font-size: 1rem;
  font-weight: 700;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e4e4e4;
}

.page-id-291 {
  .wp-block-lazyblock-headline {
    &:has(> :is(h2, .title_style7)) {
      margin-top: 24px;
    }
  }
}