/* placeholder */
@charset "UTF-8";

@layer base {
  html {
    font-size: 62.5%;
  }

  @media screen and (max-width: 750px) {
    html {
      font-size: calc(100vw / 75.0);
    }
  }

  body {
    font-size: 1.6rem;
    line-height: 1.5;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    color: #000;
    background: #fff;
  }

  @media screen and (max-width: 750px) {
    body {
      font-size: 2.8rem;
      font-weight: 400;
    }
  }

  @media screen and (min-width: 751px) ,print {
    .vsp {
      display: none !important;
    }
  }

  @media screen and (max-width: 750px) {
    .vpc {
      display: none !important;
    }
  }

  a {
    color: #000;
    text-decoration: underline;
  }

  a:hover {
    text-decoration: none;
  }

  @media screen and (min-width: 751px) ,print {
    #body {
      position: relative;
      background: #fff;
      overflow: hidden;
    }

    header {}

    main {
      background: #fff;
      margin: 0 auto;
    }

    footer {}
  }

  @media screen and (max-width: 750px) {
    #body {
      width: 100%;
      overflow: hidden;
      background: #fff;
      padding: 0rem 0rem 0rem 0rem;
    }

    header {}

    main {
      background: #fff;
    }

    img {
      width: 100%;
      height: auto;
    }

    footer {}
  }

  @media screen and (min-width: 751px) ,print {
    header {
      position: relative;
      /* max-width: 100.0rem; */
      margin: 0 auto;
      height: 7.0rem;
      overflow: hidden;
    }

    header .logo {
      width: 20.0rem;
      padding-top: 1.3rem;
    }

    .gmenu {
      position: absolute;
      top: 0;
      right: 0;
      display: flex;
      justify-content: right;
      align-items: center;
    }

    .gmenu ul {
      display: flex;
      justify-content: right;
      align-items: center;
      padding-top: 1.6rem;
    }

    .gmenu ul li {
      display: block;
      margin-left: 1.2rem;
    }

    .gmenu ul li a {
      display: block;
      text-decoration: none;
      font-size: 1.4rem;
      padding: 1.0rem 0.1rem;
      transition: opacity 200ms 0s ease;
    }

    .gmenu ul li a:hover {
      opacity: 0.6;
    }

    .gmenu ul li.button-blue {}

    .gmenu ul li.button-blue a {
      border-radius: 0.5rem;
      border: solid 1px #005da8;
      color: #005da8;
      background: #fff;
      padding: 0.3rem 0.5rem;
      font-size: 1.5rem;
    }

    .gmenu ul li.button-green {
      margin-left: 0.9rem;
    }

    .gmenu ul li.button-green a {
      border-radius: 0.6rem;
      border: solid 1px #00aca8;
      color: #00aca8;
      background: #fff;
      padding: 0.3rem 0.5rem;
      font-size: 1.5rem;
    }
  }

  @media screen and (max-width: 1000px) {
    .gmenu {
      display: block;
      padding-top: 0.5rem;
      padding-right: 0.5rem;
    }

    .gmenu ul {
      padding-top: 0rem;
    }

    .gmenu ul li a {
      padding: 0.5rem 0.1rem;
    }
  }

  @media screen and (max-width: 750px) {
    header {
      position: relative;
      height: 10.0rem;
      overflow: hidden;
    }

    header .logo {
      width: 30.0rem;
      position: absolute;
      top: 1.0rem;
      left: 3.0rem;
    }

    .gmenu {
      display: none;
    }
  }

  .gnavi {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 101;
    background: #fff;
    transform: translate(-100%, 0);
    opacity: 1;
    padding: 10.0rem 5.0rem;
    transition: all 200ms 0s ease;
  }

  header.open .gnavi {
    opacity: 1;
    transform: translate(0, 0);
  }

  @media screen and (min-width: 751px) ,print {

    .gnavi .close,
    header .menu {
      display: none;
    }

    .gnavi {
      display: none;
    }
  }

  @media screen and (max-width: 750px) {

    .gnavi .close,
    header .menu {
      position: absolute;
      top: 2.6rem;
      right: 2.8rem;
      width: 5.0rem;
      height: 4.5rem;
      cursor: pointer;
      user-select: none;
      white-space: nowrap;
      text-indent: 100%;
      overflow: hidden;
    }

    header .menu::after,
    header .menu::before,
    header .menu span {
      content: "";
      display: block;
      width: 100%;
      height: 3px;
      position: absolute;
      left: 0;
      background: #005da8;
    }

    header .menu::after {
      top: 0;
    }

    header .menu::before {
      bottom: 0;
    }

    header .menu span {
      top: calc(50% - 1.5px);
    }

    header .close::after,
    header .close::before {
      content: "";
      display: block;
      width: 100%;
      height: 3px;
      position: absolute;
      left: 0;
      background: #005da8;
    }

    header .close::after {
      top: calc(50% - 1.5px);
      transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
    }

    header .close::before {
      top: calc(50% - 1.5px);
      transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      -o-transform: rotate(45deg);
    }

    header .gnavi ul {
      margin-top: 5.0rem;
      border-bottom: solid 1px #ccc;
    }

    header .gnavi li {
      border-top: solid 1px #ccc;
      padding: 1.5rem 0;
    }

    header .gnavi li a {
      display: block;
      text-decoration: none;
      font-size: 2.8rem;
      padding: 1.0rem 0;
      background: url(../img/icon_arrow_blue.png) calc(100% - 1.0rem) 50%/2.0rem auto no-repeat;
    }

    header .gnavi li.button-blue {
      border: none;
    }

    header .gnavi li.button-blue a {
      text-align: center;
      border-radius: 1.0rem;
      border: solid 1px #005da8;
      color: #005da8;
      background: #fff;
      padding: 1.0rem 1.0rem;
      font-size: 2.8rem;
    }

    header .gnavi li.button-green {
      border: none;
      margin-bottom: 3.0rem;
    }

    header .gnavi li.button-green a {
      text-align: center;
      border-radius: 1.0rem;
      border: solid 1px #00aca8;
      color: #00aca8;
      background: #fff;
      padding: 1.0rem 1.0rem;
      font-size: 2.8rem;
    }
  }

  footer {}

  @media screen and (min-width: 751px) ,print {
    footer .inner {
      position: relative;
      max-width: 95.0rem;
      margin: 0 auto;
      padding-top: 5.9rem;
      padding-left: 5.5rem;
      padding-bottom: 3.0rem;
    }

    footer .logo {
      width: 15.4rem;
      margin-bottom: 3.3rem;
    }

    footer .fmenu {
      padding-left: 0.7rem;
    }

    footer .fmenu ul {}

    footer .fmenu ul li {
      display: block;
      margin-bottom: 1.5rem;
    }

    footer .fmenu ul li a {
      display: block;
      width: fit-content;
      text-decoration: none;
      font-size: 1.3rem;
    }

    footer .fmenu ul li a:hover {
      text-decoration: underline;
    }

    footer .copyright {
      font-size: 1.1rem;
      padding-top: 1.5rem;
      padding-left: 0.7rem;
    }
  }

  @media screen and (max-width: 750px) {
    footer {
      padding: 9.8rem 2.0rem 14.0rem 5.3rem;
      position: relative;
    }

    footer .logo {
      width: 30.8rem;
      margin-bottom: 6.3rem;
    }

    footer .fmenu {
      padding-left: 1.3rem;
    }

    footer .fmenu ul {}

    footer .fmenu ul li {
      display: block;
      margin-bottom: 3.0rem;
    }

    footer .fmenu ul li a {
      display: block;
      width: fit-content;
      text-decoration: none;
      font-size: 2.6rem;
    }

    footer .copyright {
      font-size: 2.2rem;
      padding-top: 3.5rem;
      padding-left: 0.7rem;
      /* white-space: nowrap; */
    }
  }


  section {
    position: relative;
  }

  section.blue {
    background: #ebf2f2;
  }

  section .pagination {
    margin-top: 6.4rem;
  }

  section .pagination .page {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  section .pagination .page li {
    margin: 0 0.6rem;
  }

  section .pagination .page a,
  section .pagination .page .current,
  section .pagination .page .sep {
    display: block;
    text-decoration: none;
    border: solid 0.2rem #ccc;
    font-size: 2.5rem;
    width: 4.7rem;
    height: 4.7rem;
    line-height: 4.3rem;
    text-align: center;
  }

  section .pagination .page a {
    transition: opacity 200ms 0s ease;
  }

  section .pagination .page a:hover {
    opacity: 0.6;
  }

  section .pagination .page .current {}

  section .pagination .page .sep {}

  @media screen and (min-width: 751px) ,print {
    section .container {
      padding: 6.0rem 2.0rem;
      max-width: 104.0rem;
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }

    section h2.title {
      text-align: center;
      margin-bottom: 5.5rem;
    }

    section h2.title .main {
      display: block;
      color: #005da8;
      font-family: "Playfair Display", "Noto Serif JP", sans-serif;
      font-size: 4.5rem;
      line-height: 1.0;
      font-weight: bold;
      margin-bottom: 0.5rem;
    }

    section h2.title .sub {
      display: block;
      line-height: 1.0;
    }

    section .button-blue {}

    section .button-blue a {
      display: block;
      width: fit-content;
      min-width: 30.0rem;
      margin: 0 auto;
      height: 6.0rem;
      line-height: 5.5rem;
      border-radius: 10.0rem;
      text-decoration: none;
      background: #005da8 url(../img/icon_arrow_white.png) calc(100% - 2.0rem) 50%/1.6rem auto no-repeat;
      color: #fff;
      text-align: center;
      padding-right: 2.5rem;
      transition: opacity 200ms 0s ease;
    }

    section .button-blue a:hover {
      opacity: 0.6;
    }

    section .button-page {}

    section .button-page a {
      position: relative;
      font-size: 1.4rem;
      display: block;
      width: fit-content;
      min-width: 21.7rem;
      margin: 0 auto;
      height: 4.0rem;
      line-height: 4.0rem;
      border-radius: 10.0rem;
      text-decoration: none;
      background: #005da8;
      color: #fff;
      text-align: center;
      padding-right: 2.5rem;
      transition: opacity 200ms 0s ease;
    }

    section .button-page a:after {
      content: '';
      display: block;
      width: 2.2rem;
      height: 2.2rem;
      position: absolute;
      top: calc(50% + 0.1rem);
      right: 1.2rem;
      transform: translate(0%, -50%);
      background: #fff url(../img/icon_arrow_blue.png) 50% 50%/1.1rem auto no-repeat;
      border-radius: 100%;
    }

    section .button-page a:hover {
      opacity: 0.6;
    }

    section .pagination .page a,
    section .pagination .page .current,
    section .pagination .page .sep {
      font-size: 1.6rem;
    }
  }

  @media screen and (max-width: 750px) {
    section .container {
      padding: 3.0rem 7.1rem;
    }

    section h2.title {
      text-align: center;
      margin-bottom: 5.5rem;
    }

    section h2.title .main {
      display: block;
      color: #005da8;
      font-family: "Playfair Display", "Noto Serif JP", sans-serif;
      white-space: nowrap;
      font-size: clamp(5.5rem, 8vw, 7.0rem);
      line-height: 1.0;
      font-weight: bold;
      margin-bottom: 0.5rem;
    }

    section h2.title .sub {
      display: block;
      font-size: 2.8rem;
      line-height: 1.0;
    }

    section .button-blue {}

    section .button-blue a {
      display: block;
      width: fit-content;
      min-width: 60.0rem;
      margin: 0 auto;
      height: 12.0rem;
      line-height: 11.5rem;
      border-radius: 10.0rem;
      text-decoration: none;
      background: #005da8 url(../img/icon_arrow_white.png) calc(100% - 4.2rem) 50%/3.2rem auto no-repeat;
      color: #fff;
      text-align: center;
      padding-right: 5.2rem;
    }

    section .button-page {}

    section .button-page a {
      position: relative;
      font-size: 2.8rem;
      display: block;
      width: 100%;
      max-width: 43.3rem;
      margin: 0 auto;
      height: 8.0rem;
      line-height: 8.0rem;
      border-radius: 10.0rem;
      text-decoration: none;
      background: #005da8;
      color: #fff;
      text-align: center;
      padding-right: 4.9rem;
    }

    section .button-page a:after {
      content: '';
      display: block;
      width: 4.3rem;
      height: 4.3rem;
      position: absolute;
      top: calc(50% + 0.1rem);
      right: 2.4rem;
      transform: translate(0%, -50%);
      background: #fff url(../img/icon_arrow_blue.png) 50% 50%/1.8rem auto no-repeat;
      border-radius: 100%;
    }
  }

  section.home-mv {}

  @media screen and (min-width: 751px) ,print {
    section.home-mv .container {
      padding-top: 3.4rem;
      padding-bottom: 5.0rem;
      position: relative;
      overflow: hidden;
    }

    section.home-mv .image {
      position: absolute;
      top: 3.4rem;
      left: calc(50% - 24.0rem);
      z-index: 0;
      width: 92.0rem;
    }

    section.home-mv .message {
      position: relative;
      z-index: 1;
      padding-top: 14.5rem;
    }

    section.home-mv .message p {
      background: rgba(255, 255, 255, 0.8);
      width: fit-content;
      font-size: 4.2rem;
      line-height: 1.4;
      padding: 0.8rem 1.8rem 1.5rem 1.8rem;
      margin-bottom: 2.1rem;
    }

    section.home-mv .message dl.sub {
      background: rgba(255, 255, 255, 0.8);
      width: fit-content;
      padding: 1.7rem 2.0rem 1.6rem 2.0rem;
      margin-bottom: 2.1rem;
    }

    section.home-mv .message dl.sub .row {
      display: flex;
      align-items: baseline;
    }

    section.home-mv .message dl.sub dt {
      font-size: 1.6rem;
      white-space: nowrap;
    }

    section.home-mv .message dl.sub dd {
      font-size: 1.6rem;
      margin-left: 0.5rem;
    }

    section.home-mv .message p.detail {
      background: rgba(0, 93, 168, 0.85);
      color: #fff;
      font-size: 1.6rem;
      line-height: 1.8;
      padding: 2.0rem 2.5rem;
      border-radius: 0.5rem;
      box-shadow: 0 0.4rem 1.0rem rgba(0, 0, 0, 0.1);
      margin-top: 3.0rem;
      max-width: 60.0rem;
    }

    section.home-mv .text {
      text-align: center;
      font-size: 2.0rem;
      margin-top: 5.2rem;
      line-height: 1.8;
    }
  }

  @media screen and (max-width: 750px) {
    section.home-mv .container {
      padding: 0 2.0rem;
      padding-top: 5.0rem;
      padding-bottom: 8.5rem;
    }

    section.home-mv .image {
      position: absolute;
      top: 6.9rem;
      left: calc(50% - 30.5rem);
      z-index: 0;
      width: 68.0rem;
    }

    section.home-mv .message {
      position: relative;
      z-index: 1;
      padding-top: 15.5rem;
    }

    section.home-mv .message p {
      background: rgba(255, 255, 255, 0.8);
      width: fit-content;
      font-size: clamp(2.0rem, 8vw, 3.5rem);
      line-height: 1.4;
      padding: 0.8rem 1.8rem 1.5rem 1.5rem;
      margin-bottom: 2.1rem;
    }


    section.home-mv .message dl.sub {
      background: rgba(255, 255, 255, 0.8);
      width: fit-content;
      padding: 1.7rem 2.0rem 1.6rem 2.0rem;
      margin-bottom: 2.1rem;
    }

    section.home-mv .message dl.sub .row {
      display: flex;
      align-items: baseline;
    }

    section.home-mv .message dl.sub dt {
      font-size: 1.6rem;
      white-space: nowrap;
    }

    section.home-mv .message dl.sub dd {
      font-size: 1.6rem;
      margin-left: 0.5rem;
    }

    section.home-mv .message p.detail {
      background: rgba(0, 93, 168, 0.85);
      color: #fff;
      font-size: 2.4rem;
      line-height: 1.8;
      padding: 2.5rem 2.5rem;
      border-radius: 0.5rem;
      box-shadow: 0 0.4rem 1.0rem rgba(0, 0, 0, 0.1);
      margin-top: 4.0rem;
    }

    section.home-mv .text {
      text-align: center;
      font-size: 2.6rem;
      margin-top: 8.7rem;
      line-height: 1.85;
    }
  }

  section.home-news {}

  @media screen and (min-width: 751px) ,print {
    section.home-news .container {
      padding-top: 6.2rem;
      padding-bottom: 5.8rem;
    }

    section.home-news h2.title {
      margin-bottom: 4.7rem;
    }

    section.home-news .news-list {
      max-width: 45.0rem;
      margin: 0 auto;
      border-top: solid 1px #ccc;
      margin-bottom: 5.4rem;
    }

    section.home-news .news-list li {
      display: block;
      border-bottom: solid 1px #ccc;
    }

    section.home-news .news-list li a {
      display: block;
      text-decoration: none;
      padding: 1.2rem 0rem 2.6rem 1.4rem;
      transition: opacity 200ms 0s ease;
    }

    section.home-news .news-list li a:hover {
      opacity: 0.6;
    }

    section.home-news .news-list .date {
      display: block;
      font-size: 1.5rem;
      margin-bottom: 0.7rem;
    }

    section.home-news .news-list .title {
      display: block;
      font-size: 1.4rem;
    }
  }

  @media screen and (max-width: 750px) {
    section.home-news .container {
      padding-top: 6.9rem;
      padding-bottom: 11.6rem;
    }

    section.home-news h2.title {
      margin-bottom: 10.5rem;
    }

    section.home-news .news-list {
      border-top: solid 1px #ccc;
      margin-bottom: 8.5rem;
    }

    section.home-news .news-list li {
      display: block;
      border-bottom: solid 1px #ccc;
    }

    section.home-news .news-list li a {
      display: block;
      text-decoration: none;
      padding: 2.2rem 0rem 4.4rem 2.2rem;
      transition: opacity 200ms 0s ease;
    }

    section.home-news .news-list li a:hover {
      opacity: 0.6;
    }

    section.home-news .news-list .date {
      display: block;
      font-size: 3.0rem;
      margin-bottom: 1.6rem;
    }

    section.home-news .news-list .title {
      display: block;
      font-size: 2.8rem;
      line-height: 1.6;
    }
  }

  section.page-mv {}

  @media screen and (min-width: 751px) ,print {
    section.page-mv .container {
      padding-top: 7.5rem;
      padding-bottom: 0.5rem;
    }

    section.page-mv h2.title {}

    section.page-mv .logo {
      text-align: center;
      max-width: 59.3rem;
      margin: 0 auto;
    }

    section.page-mv .text {
      max-width: 59.3rem;
      margin: 0 auto;
      padding: 2.6rem 0 3.9rem 0;
      font-size: 1.8rem;
    }

    section.page-mv .mv {
      width: 75.1rem;
      margin: 0 auto;
      margin-top: 8.0rem;
    }

    section.page-mv .wrap {
      position: relative;
      z-index: 1;
      box-shadow: 0 0 1.0rem 0 #aaa;
      background: #fff;
      max-width: 45.0rem;
      text-align: center;
      padding: 1.6rem 0;
      margin: 0 auto;
      margin-top: -6.0rem;
    }

    section.page-mv .wrap p {
      color: #000;
      font-size: 3.0rem;
    }

    section.page-mv .wrap p.sub {
      color: #000;
      font-size: 2.0rem;
      margin-bottom: 0.6rem;
    }

    section.page-mv .wrap p.main {
      color: #005da8;
      font-size: 3.3rem;
    }

    section.page-mv.shindantai .wrap p.main {
      color: #00aca8;
    }

    section.page-mv .lead {
      text-align: center;
      padding: 2.6rem 0 3.9rem 0;
      margin-top: 2.4rem;
      font-size: 2.0rem;
      font-weight: bold;
      padding-bottom: 7.2rem;
    }
  }

  @media screen and (max-width: 750px) {
    section.page-mv .container {
      padding: 0;
      padding-top: 7.8rem;
      padding-bottom: 0.5rem;
    }

    section.page-mv h2.title {
      margin-bottom: 0.0rem;
    }

    section.page-mv .logo {
      text-align: center;
      max-width: 60.0rem;
      margin: 0 auto;
      margin-top: 7.3rem;
    }

    section.page-mv .text {
      max-width: 60.0rem;
      margin: 0 auto;
      padding: 4.5rem 0.6rem;
      font-size: 2.7rem;
      line-height: 1.9;
    }

    section.page-mv .mv {
      width: 100%;
      margin: 0 auto;
      margin-top: 8.0rem;
    }

    section.page-mv .wrap {
      position: relative;
      z-index: 1;
      box-shadow: 0 0 1.0rem 0 #aaa;
      background: #fff;
      max-width: 60.0rem;
      text-align: center;
      padding: 2.6rem 0 3.9rem 0;
      margin: 0 auto;
      margin-top: -6.7rem;
    }

    section.page-mv .wrap p {
      color: #000;
      font-size: 5.3rem;
      font-weight: bold;
      line-height: 1.2;
    }

    section.page-mv .wrap p.sub {
      color: #000;
      font-size: 3.2rem;
      font-weight: normal;
      line-height: 1.5;
      margin-bottom: 1.6rem;
    }

    section.page-mv .wrap p.main {
      color: #005da8;
      font-size: 5.3rem;
      font-weight: normal;
      line-height: 1.5;
      line-height: 1.2;
    }

    section.page-mv.shindantai .wrap p.main {
      color: #00aca8;
    }

    section.page-mv .lead {
      max-width: 60.0rem;
      text-align: center;
      padding: 2.6rem 0 3.9rem 0;
      margin: 0 auto;
      margin-top: 2.4rem;
      font-size: 3.5rem;
      font-weight: bold;
      padding-bottom: 7.2rem;
    }
  }

  section.page-content {
    border-bottom: solid 1px #ccc;
  }

  @media screen and (min-width: 751px) ,print {
    section.page-content .container {
      padding-top: 2.6rem;
      max-width: 63.6rem;
      margin: 0 auto;
    }

    section.page-content h2 {
      font-weight: bold;
      font-size: 1.6rem;
    }

    section.page-content h3 {
      font-size: 1.4rem;
      font-weight: bold;
      padding-bottom: 0.8rem;
      border-bottom: solid 1px #ccc;
      margin-top: 4.0rem;
      margin-bottom: 0.9rem;
    }

    section.page-content h4 {
      font-weight: bold;
      font-size: 1.4rem;
      margin-top: 4.2rem;
      margin-left: -1.0rem;
      margin-bottom: 4.0rem;
    }

    section.page-content p {
      font-size: 1.4rem;
      margin-bottom: 2.2rem;
      line-height: 1.6;
    }

    section.page-content p:last-child {
      margin-bottom: 0rem;
    }

    section.page-content ul {
      font-size: 1.4rem;
      margin: 0rem 0rem 0rem 1.5rem;
    }

    section.page-content ul li {
      margin-bottom: 0.2rem;
    }

    section.page-content .ie {
      color: #f00;
      font-size: 1.5rem;
      margin-left: 1.6rem;
      padding-bottom: 0.9rem;
    }

    section.page-content .indent {
      font-size: 1.5rem;
      line-height: 1.75;
      margin-top: 4.0rem;
      margin-left: 2.0rem;
      margin-bottom: 6.0rem;
    }

    section.page-content .button-icon {
      display: block;
      margin-top: 4.4rem;
    }

    section.page-content .button-icon a {
      display: block;
      max-width: 27.0rem;
      margin: 0 auto;
      position: relative;
      text-decoration: none;
      border: solid 2px #ccc;
      border-radius: 1.0rem;
      color: #005da8;
      font-size: 1.8rem;
      text-align: center;
      padding: 1.0rem;
      position: relative;
      transition: opacity 200ms 0s ease;
    }

    section.page-content.shindantai .button-icon a {
      color: #00aca8;
    }

    section.page-content .button-icon a:hover {
      opacity: 0.6;
    }

    section.page-content .button-icon a::after {
      content: '';
      width: 2.7rem;
      height: 2.7rem;
      border-radius: 100%;
      background: #005da8 url(../img/icon_arrow_white.png) 50% 50%/1.0rem auto no-repeat;
      position: absolute;
      top: 50%;
      right: 0.5rem;
      transform: translate(0%, -50%);
    }

    section.page-content.shindantai .button-icon a::after {
      background-color: #00aca8;
    }

    section.page-content .button-icon.doc a {
      background: url(../img/icon_doc.png) 2.3rem 50%/3.0rem auto no-repeat;
    }

    section.page-content .button-icon.book a {
      background: url(../img/icon_book.png) 1.8rem 50%/3.0rem auto no-repeat;
      padding-left: 2.0rem;
    }

    section.page-content .kikan-list {
      margin-top: 9.9rem;
      margin-bottom: 4.0rem;
    }

    section.page-content .kikan-list h3 {
      margin-top: 3.6rem;
      margin-bottom: 2.2rem;
    }

    section.page-content .blue-area {
      background: #ebf2f2;
      border-radius: 1.0rem;
      padding: 1.6rem 2.2rem 1.6rem 2.2rem;
      margin-bottom: 1.3rem;
    }

    section.page-content .blue-area h4 {
      font-size: 1.4rem;
      font-weight: normal;
      margin-top: 0rem;
      margin-left: 0rem;
      margin-bottom: 1.9rem;
    }

    section.page-content .button-page {
      margin-bottom: 1.5rem;
    }

    section.page-content .kome {
      font-size: 1.3rem;
    }

    section.page-content .map {
      width: 100%;
      height: 100%;
      aspect-ratio: 600 / 430;
      margin-top: 4.0rem;
      margin-bottom: 6.0rem;
    }

    section.page-content .map iframe {
      width: 100%;
      height: 100%;
    }
  }

  @media screen and (max-width: 750px) {
    section.page-content .container {
      /*
      padding: 0 7.7rem;
      padding-top: 7.3rem;
      padding-bottom: 3.0rem;
      */
      padding: 0 2.0rem;
      padding-top: 4.0rem;
      padding-bottom: 2.0rem;
    }

    section.page-content h2 {
      font-weight: bold;
      font-size: 3.2rem;
    }

    section.page-content h3 {
      font-size: 2.8rem;
      font-weight: normal;
      padding-bottom: 1.7rem;
      border-bottom: solid 0.3rem #ccc;
      margin-top: 6.0rem;
      margin-bottom: 1.4rem;
    }

    section.page-content h4 {
      font-weight: bold;
      font-size: 3.1rem;
      margin-top: 4.2rem;
      margin-left: -1.0rem;
      margin-bottom: 4.0rem;
    }

    section.page-content p {
      font-size: 2.8rem;
      margin-bottom: 2.2rem;
      line-height: 1.65;
      padding: 0 0.3rem;
    }

    section.page-content p:last-child {
      margin-bottom: 0rem;
    }

    section.page-content ul {
      font-size: 2.9rem;
      margin: 0rem 0rem 0rem 1.0rem;
    }

    section.page-content ul li {
      margin-bottom: 0.2rem;
    }

    section.page-content .ie {
      color: #f00;
      font-size: 2.8rem;
      margin-left: 1.6rem;
      padding-bottom: 0.9rem;
    }

    section.page-content .indent {
      font-size: 2.6rem;
      line-height: 1.75;
      margin-top: 4.0rem;
      margin-left: 2.0rem;
      margin-bottom: 6.0rem;
    }

    section.page-content .button-icon {
      display: block;
      margin-top: 4.4rem;
    }

    section.page-content .button-icon a {
      display: block;
      max-width: 54.1rem;
      margin: 0 auto;
      position: relative;
      text-decoration: none;
      border: solid 2px #ccc;
      border-radius: 2.0rem;
      color: #005da8;
      font-size: 3.7rem;
      text-align: center;
      padding: 1.8rem;
      position: relative;
    }

    section.page-content.shindantai .button-icon a {
      color: #00aca8;
    }

    section.page-content .button-icon a::after {
      content: '';
      width: 5.4rem;
      height: 5.4rem;
      border-radius: 100%;
      background: #005da8 url(../img/icon_arrow_white.png) 50% 50%/2.0rem auto no-repeat;
      position: absolute;
      top: 50%;
      right: 1.4rem;
      transform: translate(0%, -50%);
    }

    section.page-content.shindantai .button-icon a::after {
      background-color: #00aca8;
    }

    section.page-content .button-icon.doc a {
      background: url(../img/icon_doc.png) 5.1rem 50%/6.3rem auto no-repeat;
    }

    section.page-content .button-icon.book a {
      background: url(../img/icon_book.png) 3.1rem 50%/8.2rem auto no-repeat;
      padding-left: 6.0rem;
    }

    section.page-content .kikan-list {
      margin-top: 6.3rem;
      margin-bottom: 4.0rem;
    }

    section.page-content .kikan-list h3 {
      margin-top: 3.6rem;
      margin-bottom: 4.5rem;
    }

    section.page-content .blue-area {
      background: #ebf2f2;
      border-radius: 1.0rem;
      padding: 3.0rem 2.6rem 3.4rem 2.6rem;
      margin-bottom: 2.8rem;
    }

    section.page-content .blue-area h4 {
      font-size: 2.9rem;
      font-weight: normal;
      margin-top: 0rem;
      margin-left: 0rem;
      margin-bottom: 4.6rem;
    }

    section.page-content .button-page {
      margin-bottom: 3.0rem;
    }

    section.page-content .kome {
      font-size: 2.6rem;
    }

    section.page-content .map {
      width: 100%;
      height: 100%;
      aspect-ratio: 600 / 430;
      margin-top: 8.8rem;
      margin-bottom: 9.5rem;
    }

    section.page-content .map iframe {
      width: 100%;
      height: 100%;
    }
  }

  section.contact {}

  @media screen and (min-width: 751px) ,print {
    section.contact .container {
      padding-top: 1.0rem;
    }

    section.contact .detail {
      border: solid 2px #ccc;
      border-radius: 1.0rem;
      background: #fff;
      padding: 2.0rem 1.5rem 2.6rem 1.5rem;
      margin-bottom: 1.7rem;
    }

    section.contact .detail h4 {
      font-size: 2.0rem;
      margin-bottom: 2.0rem;
      text-align: center;
      font-weight: bold;
    }

    section.contact .detail p {
      text-align: center;
      margin: 3.0rem;
      line-height: 1.7;
    }

    section.contact .detail p:last-child {
      margin-bottom: 0rem;
    }

    section.contact .detail ul {
      display: flex;
      justify-content: center;
      align-items: center;
    }

    section.contact .detail ul li {
      display: block;
      width: 100%;
      max-width: 50%;
      padding: 0 0.7rem;
    }

    section.contact .detail ul li a {
      display: block;
      text-decoration: none;
      border: solid 2px #ccc;
      border-radius: 1.0rem;
      color: #005da8;
      font-size: 1.8rem;
      font-weight: 600;
      text-align: center;
      padding: 1.0rem;
      position: relative;
      transition: opacity 200ms 0s ease;
    }

    section.contact .detail ul li a:hover {
      opacity: 0.6;
    }

    section.contact .detail ul li a::after {
      content: '';
      width: 2.7rem;
      height: 2.7rem;
      border-radius: 100%;
      background: #005da8 url(../img/icon_arrow_white.png) 50% 50%/1.0rem auto no-repeat;
      position: absolute;
      top: 50%;
      right: 0.5rem;
      transform: translate(0%, -50%);
    }

    section.contact .detail ul li.chat a {
      background: url(../img/icon_chat.png) 1.0rem 50%/4.0rem auto no-repeat;
    }
  }

  @media screen and (max-width: 750px) {
    section.contact .container {
      padding-top: 7.8rem;
      padding-bottom: 2.0rem;
    }

    section.contact .detail {
      border: solid 0.5rem #ccc;
      border-radius: 2.0rem;
      background: #fff;
      padding: 3.5rem 2.0rem 3.6rem 2.0rem;
      margin-bottom: 3.8rem;
    }

    section.contact .detail h4 {
      font-size: 4.1rem;
      line-height: 1.6;
      text-align: center;
      margin-bottom: 5.5rem;
      font-weight: 500;
    }

    section.contact .detail p {
      margin: 5.5rem 2.7rem 3.1rem 2.7rem;
      line-height: 1.7;
    }

    section.contact .detail ul {}

    section.contact .detail ul li {
      display: block;
      width: 100%;
      padding: 0 0.7rem;
      margin-bottom: 2.0rem;
    }

    section.contact .detail ul li a {
      display: block;
      text-decoration: none;
      border: solid 0.3rem #ccc;
      border-radius: 2.0rem;
      color: #005da8;
      font-size: 3.7rem;
      font-weight: 600;
      text-align: center;
      padding: 2.1rem 6.0rem 2.1rem 1.0rem;
      position: relative;
    }

    section.contact .detail ul li a::after {
      content: '';
      width: 5.3rem;
      height: 5.3rem;
      border-radius: 100%;
      background: #005da8 url(../img/icon_arrow_white.png) 50% 50%/1.9rem auto no-repeat;
      position: absolute;
      top: calc(50% + 0.2rem);
      right: 1.4rem;
      transform: translate(0%, -50%);
    }

    section.contact .detail ul li.chat a {
      background: url(../img/icon_chat.png) 2.9rem calc(50% + 0.1rem)/8.3rem auto no-repeat;
      padding: 2.1rem 1.0rem 2.1rem 2.4rem;
    }
  }

  section.news-list {}

  section.news-list ul.list {
    margin: 0 0.5rem;
  }

  section.news-list ul.list li {
    display: block;
    text-decoration: none;
    background: #fff;
    padding: 4.1rem 4.9rem 2.4rem 4.9rem;
    margin-bottom: 3.8rem;
  }

  section.news-list ul.list .title {
    font-size: 3.4rem;
    font-weight: bold;
    line-height: 1.6;
    padding-bottom: 1.9rem;
    border-bottom: solid 0.4rem #ccc;
    margin-bottom: 1.5rem;
  }

  section.news-list ul.list .date {
    font-size: 2.5rem;
    margin-bottom: 7.6rem;
  }

  section.news-list ul.list .content {
    line-height: 1.8;
    margin-bottom: 6.2rem;
  }

  section.news-list ul.list .button {}

  section.news-list ul.list .button a {
    display: block;
    width: fit-content;
    margin: 0 auto;
    font-size: 2.8rem;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    color: #005da8;
    position: relative;
    padding-right: 6.1rem;
    transition: opacity 200ms 0s ease;
  }

  section.news-list ul.list .button a:hover {
    opacity: 0.6;
  }

  section.news-list ul.list .button a::after {
    content: '';
    display: block;
    width: 4.3rem;
    height: 4.3rem;
    position: absolute;
    top: calc(50% + 0.1rem);
    right: 0.4rem;
    transform: translate(0%, -50%);
    background: #005da8 url(../img/icon_arrow_white.png) 50% 50%/1.8rem auto no-repeat;
    border-radius: 100%;
  }

  @media screen and (min-width: 751px) ,print {
    section.news-list .container {
      padding-top: 3.0rem;
    }

    section.news-list ul.list {
      max-width: 60.0rem;
      margin: 0 auto;
    }

    section.news-list ul.list li {
      padding: 3.0rem 3.0rem;
    }

    section.news-list ul.list .title {
      font-size: 2.0rem;
      margin-bottom: 1.0rem;
    }

    section.news-list ul.list .date {
      font-size: 1.5rem;
      margin-bottom: 3.0rem;
    }

    section.news-list ul.list .content {
      font-size: 1.6rem;
      margin-bottom: 3.0rem;
    }

    section.news-list ul.list .button a {
      font-size: 1.6rem;
      padding-right: 3.1rem;
    }

    section.news-list ul.list .button a::after {
      width: 2.0rem;
      height: 2.0rem;
      background: #005da8 url(../img/icon_arrow_white.png) 50% 50%/1.1rem auto no-repeat;
    }
  }

  @media screen and (max-width: 750px) {
    section.news-list .container {
      padding-top: 7.1rem;
      padding-bottom: 4.2rem;
    }
  }


  section.news-search {}

  section.news-search .search-result {
    margin: 0 0.5rem;
    background: #fff;
    padding: 5.1rem 4.0rem 5.7rem 4.0rem;
  }

  section.news-search .search-result .input-block {
    padding-left: 1.1rem;
    margin-bottom: 4.1rem;
  }

  section.news-search .search-result .input-block .label {
    display: inline-block;
    font-size: 3.4rem;
    font-weight: bold;
    margin-right: 1.0rem;
    position: relative;
    top: 0.7rem;
  }

  section.news-search .search-result .input-block .input {
    display: inline-block;
  }

  section.news-search .search-result .input-block .input input {
    display: inline-block;
    border: solid 0.2rem #ccc;
    border-radius: 1.0rem;
    padding: 0.7rem 2.3rem;
  }

  section.news-search .search-result .result {
    font-size: 3.4rem;
    font-weight: bold;
    padding-left: 1.0rem;
    line-height: 1.6;
  }

  section.news-search ul.list {
    margin: 0 0.5rem;
    background: #fff;
    padding-bottom: 4.5rem;
  }

  section.news-search ul.list li {
    display: block;
    text-decoration: none;
    padding: 4.1rem 4.9rem 2.4rem 4.9rem;
    margin-bottom: 15.8rem;
  }

  section.news-search ul.list li:last-child {
    margin-bottom: 0rem;
  }

  section.news-search ul.list .title {
    font-size: 3.4rem;
    font-weight: bold;
    line-height: 1.6;
    padding-bottom: 1.9rem;
    border-bottom: solid 0.4rem #ccc;
    margin-bottom: 1.5rem;
  }

  section.news-search ul.list .date {
    font-size: 2.5rem;
    margin-bottom: 7.6rem;
  }

  section.news-search ul.list .content {
    line-height: 1.8;
    margin-bottom: 2.9rem;
  }

  section.news-search ul.list .button {}

  section.news-search ul.list .button a {
    display: block;
    width: fit-content;
    margin: 0 auto;
    font-size: 2.8rem;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    color: #005da8;
    position: relative;
    padding-right: 6.1rem;
    transition: opacity 200ms 0s ease;
  }

  section.news-search ul.list .button a:hover {
    opacity: 0.6;
  }

  section.news-search ul.list .button a::after {
    content: '';
    display: block;
    width: 4.3rem;
    height: 4.3rem;
    position: absolute;
    top: calc(50% + 0.1rem);
    right: 0.4rem;
    transform: translate(0%, -50%);
    background: #005da8 url(../img/icon_arrow_white.png) 50% 50%/1.8rem auto no-repeat;
    border-radius: 100%;
  }

  @media screen and (min-width: 751px) ,print {
    section.news-search .container {
      padding-top: 3.0rem;
    }

    section.news-search .search-result {
      max-width: 60.0rem;
      margin: 0 auto;
      padding: 3.0rem 2.0rem;
    }

    section.news-search .search-result .input-block {
      margin-bottom: 2.0rem;
    }

    section.news-search .search-result .input-block .label {
      font-size: 2.0rem;
      top: 0.4rem;
    }

    section.news-search .search-result .input-block .input input {
      padding: 0.3rem 1.0rem;
    }

    section.news-search .search-result .result {
      font-size: 2.0rem;
    }

    section.news-search ul.list {
      max-width: 60.0rem;
      margin: 0 auto;
    }

    section.news-search ul.list li {
      padding: 3.0rem 3.0rem;
      margin-bottom: 7.0rem;
    }

    section.news-search ul.list .title {
      font-size: 2.0rem;
      margin-bottom: 1.0rem;
    }

    section.news-search ul.list .date {
      font-size: 1.5rem;
      margin-bottom: 3.0rem;
    }

    section.news-search ul.list .content {
      font-size: 1.6rem;
      margin-bottom: 3.0rem;
    }

    section.news-search ul.list .button a {
      font-size: 1.6rem;
      padding-right: 3.1rem;
    }

    section.news-search ul.list .button a::after {
      width: 2.0rem;
      height: 2.0rem;
      background: #005da8 url(../img/icon_arrow_white.png) 50% 50%/1.1rem auto no-repeat;
    }
  }

  @media screen and (max-width: 750px) {
    section.news-search .container {
      padding-top: 7.1rem;
      padding-bottom: 11.0rem;
    }
  }

  section.news-search-input {}

  section.news-search-input .input-block {
    padding-left: 1.1rem;
  }

  section.news-search-input .input-block .label {
    display: inline-block;
    font-size: 2.8rem;
    font-weight: bold;
    margin-right: 3.0rem;
    position: relative;
    top: 0.4rem;
    left: -0.7rem;
  }

  section.news-search-input .input-block .input {
    display: inline-block;
  }

  section.news-search-input .input-block .input input {
    display: inline-block;
    border: solid 0.2rem #ccc;
    border-radius: 1.0rem;
    padding: 0.7rem 2.3rem;
  }

  @media screen and (min-width: 751px) ,print {
    section.news-search-input .container {}

    section.news-search-input .input-block {
      max-width: 60.0rem;
      margin: 0 auto;
    }

    section.news-search-input .input-block .label {
      font-size: 2.0rem;
      margin-right: 1.0rem;
    }

    section.news-search-input .input-block .input input {
      padding: 0.3rem 1.0rem;
    }
  }

  @media screen and (max-width: 750px) {
    section.news-search-input .container {
      padding-top: 6.3rem;
      padding-bottom: 1.0rem;
    }
  }


  section.news-single {}

  section.news-single .single {
    background: #fff;
    margin: 0 0.4rem;
    padding: 4.0rem 5.0rem;
  }

  section.news-single .single .title {
    text-align: left;
    font-size: 3.4rem;
    font-weight: bold;
    line-height: 1.6;
    padding-bottom: 1.9rem;
    border-bottom: solid 0.4rem #ccc;
    margin-bottom: 1.5rem;
  }

  section.news-single .single .date {
    font-size: 2.5rem;
    margin-bottom: 7.6rem;
  }

  section.news-single .single .content {
    line-height: 1.85;
    margin-bottom: 2.9rem;
  }

  section.news-single .single .content p {
    margin-bottom: 5.0rem;
  }

  section.news-single .single .content p:last-child {
    margin-bottom: 0rem;
  }

  section.news-single .page-navi {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 7.0rem;
    padding-left: 0.7rem;
  }

  section.news-single .page-navi li {
    display: block;
    margin: 0 1.1rem;
  }

  section.news-single .page-navi li a {
    display: block;
    text-align: center;
    font-size: 2.5rem;
    text-decoration: none;
    border: solid 0.2rem #666;
    color: #666;
    padding: 0.3rem 0;
    min-width: 15.6rem;
    transition: opacity 200ms 0s ease;
  }

  section.news-single .page-navi li a:hover {
    opacity: 0.6;
  }

  section.news-single .page-navi li.prev a {
    background: #fff url(../img/icon_prev.png) 0.9rem 50%/1.2rem auto no-repeat;
    padding-left: 2.6rem;
  }

  section.news-single .page-navi li.next a {
    background: #fff url(../img/icon_next.png) calc(100% - 1.5rem) 50%/1.2rem auto no-repeat;
    padding-right: 2.6rem;
  }

  @media screen and (min-width: 751px) ,print {
    section.news-single .container {
      padding-top: 3.0rem;
    }

    section.news-single .single {
      max-width: 60.0rem;
      margin: 0 auto;
    }

    section.news-single .single .title {
      font-size: 2.0rem;
      margin-bottom: 1.0rem;
    }

    section.news-single .single .date {
      font-size: 1.5rem;
      margin-bottom: 3.0rem;
    }

    section.news-single .single .content {
      font-size: 1.6rem;
      margin-bottom: 3.0rem;
    }

    section.news-single .single .content p {
      margin-bottom: 2.0rem;
    }

    section.news-single .page-navi {
      margin-top: 3.0rem;
    }

    section.news-single .page-navi li a {
      font-size: 1.6rem;
      min-width: 14.0rem;
    }

    section.news-single .page-navi li.prev a {
      background: #fff url(../img/icon_prev.png) 0.9rem calc(50% + 0.2rem)/0.8rem auto no-repeat;
      padding-left: 1.0rem;
    }

    section.news-single .page-navi li.next a {
      background: #fff url(../img/icon_next.png) calc(100% - 1.5rem) calc(50% + 0.2rem)/0.8rem auto no-repeat;
      padding-right: 1.0rem;
    }
  }

  @media screen and (max-width: 750px) {
    section.news-single .container {
      padding-top: 7.1rem;
      padding-bottom: 11.0rem;
    }
  }


  /* Organizers Section - dl/dt/dd styling */
  .organizers-list {
    margin: 2.0rem 0;
  }

  @media screen and (min-width: 751px) ,print {
    .organizers-list {
      display: grid;
      grid-template-columns: 5rem 1fr;
      gap: 1.5rem 1.5rem;
      align-items: baseline;
    }

    .organizers-list dt {
      font-weight: bold;
      white-space: nowrap;
    }

    .organizers-list dt::after {
      content: ":";
    }

    .organizers-list dd {
      margin: 0;
    }

    .organizers-list dd ul {
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .organizers-list dd ul li {
      margin-bottom: 0.3rem;
    }
  }

  @media screen and (max-width: 750px) {
    .organizers-list dt {
      font-weight: bold;
      font-size: 3.0rem;
      margin-top: 3.0rem;
      margin-bottom: 1.0rem;
    }

    .organizers-list dt:first-child {
      margin-top: 0;
    }

    .organizers-list dt::after {
      content: ":";
    }

    .organizers-list dd {
      margin: 0;
      padding-left: 1.5rem;
    }

    .organizers-list dd ul {
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .organizers-list dd ul li {
      margin-bottom: 0.5rem;
    }
  }

  /* Associations Section - dl/dt/dd styling */
  dl.associations {
    margin: 2.0rem 0;
  }

  @media screen and (min-width: 751px) ,print {
    dl.associations {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 0.8rem 0;
      align-items: baseline;
    }

    dl.associations dt {
      display: flex;
      align-items: baseline;
      font-weight: normal;
      white-space: nowrap;
    }

    dl.associations dt::after {
      content: "";
      flex: 1;
      height: 1px;
      background: repeating-linear-gradient(to right,
          #999 0,
          #999 2px,
          transparent 2px,
          transparent 5px);
      margin: 0 0.8em;
      min-width: 2em;
      align-self: center;
    }

    dl.associations dd {
      margin: 0;
    }

    dl.associations .phone-text {
      display: inline;
    }

    dl.associations .phone-link {
      display: none;
    }
  }

  @media screen and (max-width: 750px) {
    dl.associations dt {
      font-weight: bold;
      font-size: 3.2rem;
      margin-top: 3.0rem;
    }

    dl.associations dt:first-child {
      margin-top: 0;
    }

    dl.associations dd {
      margin: 0.5rem 0 0 0;
      font-size: 3.0rem;
    }

    dl.associations .phone-text {
      display: none;
    }

    dl.associations .phone-link {
      display: inline;
      color: #005da8;
      text-decoration: underline;
    }
  }
}