@charset "UTF-8";
/*! Writen  by SCSS */
.header_top,
.footer_top {
  display: block !important; }

.header_001,
.footer_001 {
  display: none !important; }

button {
  cursor: pointer;
  border: none;
  padding: 0;
  background: none;
  margin: 0;
  font-family: YakuHanMP_Noto, "Noto Serif JP","游明朝", "Yu Mincho", YuMincho, "游明朝体", 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝', serif; }
  button:focus {
    outline: none; }

.inner {
  max-width: 1200px;
  width: calc(100% - 40px);
  margin: 0 auto; }

.flex {
  display: flex;
  justify-content: space-between; }

.flex_wrap {
  flex-wrap: wrap; }

.flex_rr {
  flex-direction: row-reverse; }

.pos_r {
  position: relative; }

.pos_a {
  position: absolute; }

.bg_wrap {
  background-repeat: repeat;
  background-size: 80px 80px;
  background-position: top left;
  background-image: url("../images/top/bg_pattern.png"); }
  @media screen and (max-width: 768px) {
    .bg_wrap {
      background-size: 40px 40px; } }

.contents_wrap::before {
  content: "";
  display: block;
  position: fixed;
  inset: 0;
  background: url("../images/top/bg_01.jpg") center/cover no-repeat; }

.sec_main {
  position: relative;
  z-index: 2;
  background: #fff; }
  .sec_main .sec_main_wrap {
    position: relative; }
    .sec_main .sec_main_wrap .main_text {
      position: absolute;
      display: flex;
      align-items: flex-start;
      flex-direction: column;
      z-index: 2;
      color: #fff;
      font-size: clamp(30px, 3.06vw, 40px);
      text-shadow: 0px 0px 0px rgba(0, 0, 0, 0.5), 0px 0px 1px rgba(0, 0, 0, 0.5), 0px 0px 2px rgba(0, 0, 0, 0.5), 0px 0px 3px rgba(0, 0, 0, 0.5), 0px 0px 4px rgba(0, 0, 0, 0.5), 0px 0px 5px rgba(0, 0, 0, 0.5), 0px 0px 6px rgba(0, 0, 0, 0.5), 0px 0px 7px rgba(0, 0, 0, 0.5), 0px 0px 8px rgba(0, 0, 0, 0.5);
      top: 16%;
      right: 14.69%; }
      @media screen and (max-width: 768px) {
        .sec_main .sec_main_wrap .main_text {
          top: 5%;
          right: 10%; } }
      .sec_main .sec_main_wrap .main_text .text_02 {
        margin-top: 1.5em; }
        @media screen and (max-width: 768px) {
          .sec_main .sec_main_wrap .main_text .text_02 {
            margin-top: 0;
            margin-left: 1.5em; } }
    .sec_main .sec_main_wrap .main_image {
      padding-top: 40%;
      background: url("../images/top/main.jpg") center/cover no-repeat; }
      @media screen and (max-width: 480px) {
        .sec_main .sec_main_wrap .main_image {
          padding-top: 125%;
          background: url("../images/top/main_sp.jpg") center/cover no-repeat; } }

.read {
  font-size: clamp(13px, 1.2vw, 16px); }

.sec01 {
  padding-top: clamp(60px, 8.34%, 100px);
  padding-bottom: clamp(60px, 8.34%, 100px);
  position: relative;
  z-index: 2;
  background: url("../images/top/img01.jpg") center/cover no-repeat;
  color: #fff; }

.sec02 {
  position: relative;
  z-index: 2;
  padding-top: clamp(60px, 10%, 120px);
  padding-bottom: clamp(60px, 10%, 120px); }

.sec03 {
  position: relative;
  z-index: 2;
  padding-top: clamp(60px, 10%, 120px);
  padding-bottom: clamp(60px, 10%, 120px);
  background-repeat: repeat;
  background-size: 80px 80px;
  background-position: top left;
  background-image: url("../images/top/bg_pattern.png"); }
  @media screen and (max-width: 768px) {
    .sec03 {
      background-size: 40px 40px; } }

.sec04 {
  padding-top: clamp(60px, 14.17%, 170px);
  padding-bottom: clamp(60px, 10%, 120px);
  position: relative;
  z-index: 2;
  background: #fff; }

.sec05 {
  position: relative;
  z-index: 2;
  background: #fff; }

.sec06 {
  position: relative;
  z-index: 2;
  padding-top: clamp(60px, 10%, 120px);
  padding-bottom: clamp(60px, 10%, 120px); }

.sec_info {
  padding-top: clamp(40px, 5.84%, 70px);
  padding-bottom: clamp(60px, 8.34%, 100px);
  position: relative;
  z-index: 2;
  background: #fff; }
  .sec_info .inner {
    max-width: 900px; }
  .sec_info .bnnr_wrap {
    padding-top: clamp(40px, 5.84%, 70px);
    max-width: 710px;
    margin: 0 auto; }
    .sec_info .bnnr_wrap a {
      display: block;
      transition: opacity 0.3s ease-in-out; }
      @media (hover: hover) {
        .sec_info .bnnr_wrap a:hover {
          opacity: 0.7; } }

.attention_wrap {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(25px, 5.56%, 50px);
  pointer-events: none; }
  .attention_wrap .modal_button {
    cursor: pointer;
    background: none;
    margin: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 1em;
    font-size: clamp(14px, 1.45vw, 18px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.1em;
    border: 4px solid #a51d2d;
    border: 4px solid #361da5;
    padding: 10px 6.67%;
    transition: opacity 0.3s ease-in-out; }
    .attention_wrap .modal_button:focus {
      outline: 0; }
    @media (hover: hover) {
      .attention_wrap .modal_button:hover {
        opacity: 0.7; } }
    @media screen and (max-width: 768px) {
      .attention_wrap .modal_button {
        padding: 10px 20px; } }
    @media screen and (max-width: 480px) {
      .attention_wrap .modal_button {
        text-align: center;
        padding: 10px 15px;
        font-size: 14px;
        gap: 0.8em 0;
        flex-direction: column;
        align-items: center; } }
    .attention_wrap .modal_button .attention_head {
      flex-shrink: 0; }
      .attention_wrap .modal_button .attention_head .icon {
        line-height: 0; }
    .attention_wrap .modal_button .small {
      font-size: 80%;
      display: inline-block;
      line-height: 1.4;
      margin-top: 0.5em; }

.news_wrap .news_lead_wrap {
  margin-bottom: clamp(20px, 4.45%, 40px);
  align-items: center;
  border-bottom: 3px double #333;
  padding-bottom: 20px; }
  .news_wrap .news_lead_wrap .news_head {
    line-height: 1;
    font-size: clamp(24px, 3.61vw, 36px); }
  .news_wrap .news_lead_wrap .news_other {
    max-width: 180px; }
    @media screen and (max-width: 480px) {
      .news_wrap .news_lead_wrap .news_other {
        max-width: 160px; } }
    .news_wrap .news_lead_wrap .news_other a {
      display: flex;
      justify-content: center;
      align-items: center;
      line-height: 1;
      font-size: clamp(11px, 1.48vw, 15px);
      border: 1px solid #485e6e;
      border-radius: 50px;
      padding: 15px 1.33em;
      transition: opacity 0.3s ease-in-out; }
      @media screen and (max-width: 480px) {
        .news_wrap .news_lead_wrap .news_other a {
          font-size: 13px;
          padding: 10px 1.33em; } }
      @media (hover: hover) {
        .news_wrap .news_lead_wrap .news_other a:hover {
          opacity: 0.7; } }
      .news_wrap .news_lead_wrap .news_other a .icon {
        flex-shrink: 0; }
      .news_wrap .news_lead_wrap .news_other a .text {
        margin-left: 1em; }
.news_wrap .news_list {
  font-size: clamp(11px, 1.48vw, 15px);
  line-height: 1.4; }
  @media screen and (max-width: 480px) {
    .news_wrap .news_list {
      font-size: 13px; } }
  .news_wrap .news_list .item {
    letter-spacing: 0.1em; }
    @media screen and (max-width: 480px) {
      .news_wrap .news_list .item {
        display: block; } }
    .news_wrap .news_list .item a {
      display: flex;
      align-items: baseline; }
      @media screen and (max-width: 480px) {
        .news_wrap .news_list .item a {
          display: block; } }
    .news_wrap .news_list .item dt {
      font-weight: 600;
      margin-right: 2em;
      flex-shrink: 0; }
      @media screen and (max-width: 480px) {
        .news_wrap .news_list .item dt {
          margin-right: 0;
          margin-bottom: 0.6em; } }
    .news_wrap .news_list .item:not(:last-child) {
      margin-bottom: 20px; }

.sec01 .sec01_head {
  font-size: clamp(30px, 4.67vw, 60px);
  font-size: clamp(30px, 3.87vw, 50px);
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: clamp(30px, 8.34%, 100px);
  margin-bottom: clamp(30px, 5%, 60px); }
.sec01 .read {
  letter-spacing: 0.2em;
  line-height: 3;
  margin-bottom: clamp(20px, 5%, 60px); }
  @media screen and (max-width: 1240px) {
    .sec01 .read {
      line-height: 2.5; } }
  @media screen and (max-width: 960px) {
    .sec01 .read {
      line-height: 2; } }
  @media screen and (max-width: 768px) {
    .sec01 .read {
      line-height: 1.8; } }
.sec01 .sec01_list {
  max-width: 720px;
  align-items: flex-start;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 768px) {
    .sec01 .sec01_list {
      width: 80%; } }
  @media screen and (max-width: 480px) {
    .sec01 .sec01_list {
      width: 100%; } }
  .sec01 .sec01_list .item {
    max-width: 220px;
    width: 30.56%; }
    @media screen and (max-width: 768px) {
      .sec01 .sec01_list .item {
        width: 30%; } }

.sec_wrap .sec_head {
  font-size: clamp(26px, 6.45vw, 80px);
  font-size: clamp(26px, 4.83vw, 60px);
  line-height: 1.2;
  text-align: center;
  margin-bottom: clamp(30px, 15%, 60px); }
  @media screen and (max-width: 480px) {
    .sec_wrap .sec_head {
      font-size: 34px;
      margin-bottom: 30px; } }
.sec_wrap .lead_box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(25px, 12.5%, 50px); }
  @media screen and (max-width: 480px) {
    .sec_wrap .lead_box {
      width: fit-content; } }
  .sec_wrap .lead_box .lead {
    border-top: 1px #4B5D6B solid;
    border-bottom: 1px #4B5D6B solid;
    padding: 10px;
    width: 100%;
    text-align: center;
    font-size: clamp(18px, 2.01vw, 26px);
    color: #485e6e;
    line-height: 1.4;
    letter-spacing: 0.1em;
    margin-bottom: 1em; }
  .sec_wrap .lead_box .read {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(11px, 1.12vw, 15px);
    line-height: 2; }
    @media screen and (max-width: 480px) {
      .sec_wrap .lead_box .read {
        font-size: 13px; } }
.sec_wrap .sec_list {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  font-size: clamp(11px, 1.12vw, 15px);
  line-height: 1.4;
  gap: 1em;
  color: #485e6e; }
  .sec_wrap .sec_list .item a {
    display: flex;
    align-items: center;
    transition: opacity 0.3s ease-in-out; }
    @media (hover: hover) {
      .sec_wrap .sec_list .item a:hover {
        opacity: 0.7; } }
    .sec_wrap .sec_list .item a::before {
      content: "";
      width: 1em;
      height: 1px;
      background: #485e6e;
      margin-right: 0.5em; }
.sec_wrap .sec_button {
  margin-top: clamp(25px, 12.5%, 50px); }

.sec_button {
  max-width: 200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(12px, 1.2vw, 16px); }
  @media screen and (max-width: 480px) {
    .sec_button {
      max-width: 160px; } }
  .sec_button a {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    color: #fff;
    background: #485e6e;
    transition: opacity 0.3s ease-in-out;
    padding: 1em 0.5em;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.15);
    border-radius: 10px; }
    @media (hover: hover) {
      .sec_button a:hover {
        opacity: 0.7; } }

.sec_wrap_02 {
  display: grid;
  justify-content: end;
  align-content: center;
  align-items: center;
  grid-template-columns: 25% 56.25%;
  gap: 0 6.25%; }
  @media screen and (max-width: 1200px) {
    .sec_wrap_02 {
      width: calc(100% - 20px);
      margin-left: auto;
      grid-template-columns: 36% 60%;
      gap: 0 4%; } }
  @media screen and (max-width: 480px) {
    .sec_wrap_02 {
      width: 100%;
      display: block; } }
  .sec_wrap_02 .image_outer {
    grid-column: 2 / 3;
    grid-row: 1 / 6; }
    @media screen and (max-width: 480px) {
      .sec_wrap_02 .image_outer {
        width: calc(100% - 20px);
        margin-left: auto;
        margin-bottom: 30px; } }
    .sec_wrap_02 .image_outer img {
      width: 100%; }
  .sec_wrap_02 .sec_head {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 480px) {
      .sec_wrap_02 .sec_head {
        align-items: center; } }
    .sec_wrap_02 .sec_head .icon_logo {
      width: 1.13em;
      margin-left: auto;
      margin-right: auto;
      line-height: 0;
      margin-bottom: 10px; }
    .sec_wrap_02 .sec_head .cap_title {
      font-size: clamp(12px, 1.2vw, 15px);
      text-align: right;
      margin-right: 8px; }
      @media screen and (max-width: 480px) {
        .sec_wrap_02 .sec_head .cap_title {
          margin-right: 0px; } }

.sec_wrap_03 {
  display: grid;
  justify-content: start;
  align-content: center;
  align-items: center;
  grid-template-columns: 56.25% 25%;
  gap: 0 6.25%; }
  @media screen and (max-width: 1200px) {
    .sec_wrap_03 {
      width: calc(100% - 20px);
      grid-template-columns: 60% 36%;
      gap: 0 4%; } }
  @media screen and (max-width: 480px) {
    .sec_wrap_03 {
      display: block;
      width: 100%; } }
  .sec_wrap_03 .sec_head {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 480px) {
      .sec_wrap_03 .sec_head {
        align-items: center; } }
    .sec_wrap_03 .sec_head .icon_logo {
      width: 1.13em;
      margin-left: auto;
      margin-right: auto;
      line-height: 0;
      margin-bottom: 10px; }
    .sec_wrap_03 .sec_head .cap_title {
      font-size: clamp(12px, 1.2vw, 15px);
      text-align: right;
      margin-right: 8px; }
      @media screen and (max-width: 480px) {
        .sec_wrap_03 .sec_head .cap_title {
          margin-right: 0px; } }
  .sec_wrap_03 .image_outer {
    grid-column: 1 / 2;
    grid-row: 1 / 6; }
    @media screen and (max-width: 480px) {
      .sec_wrap_03 .image_outer {
        width: calc(100% - 20px);
        margin-left: auto;
        margin-bottom: 30px; } }
    .sec_wrap_03 .image_outer img {
      width: 100%; }

.sec04 .inner {
  position: relative;
  z-index: 3;
  display: grid;
  align-items: center;
  align-content: center;
  grid-template-columns: 25% 73.34%;
  justify-content: space-between; }
  @media screen and (max-width: 480px) {
    .sec04 .inner {
      display: block; } }
  .sec04 .inner .sec04_image {
    grid-column: 2 / 3;
    grid-row: 1 / 7; }
    @media screen and (max-width: 480px) {
      .sec04 .inner .sec04_image {
        margin-top: 30px; } }
    .sec04 .inner .sec04_image .image img {
      border-radius: 10px; }
      @media screen and (max-width: 480px) {
        .sec04 .inner .sec04_image .image img {
          border-radius: 5px; } }
    .sec04 .inner .sec04_image .image .image_text {
      text-align: center;
      margin-top: 15px;
      font-size: clamp(14px, 1.37vw, 18px); }
      @media screen and (max-width: 480px) {
        .sec04 .inner .sec04_image .image .image_text {
          margin-top: 5px; } }
  .sec04 .inner .sec_head {
    grid-row: 2 / 3;
    text-align: center;
    font-size: clamp(24px, 4.35vw, 56px);
    font-size: clamp(26px, 4.83vw, 60px);
    line-height: 1;
    margin-bottom: clamp(15px, 10%, 30px); }
    @media screen and (max-width: 480px) {
      .sec04 .inner .sec_head {
        font-size: 30px;
        margin-bottom: 15px; } }
  .sec04 .inner .read {
    grid-row: 3 / 4;
    text-align: center;
    font-size: clamp(11px, 1.12vw, 15px);
    text-align: center; }
    @media screen and (max-width: 480px) {
      .sec04 .inner .read {
        font-size: 13px; } }
  .sec04 .inner .sec_button {
    grid-row: 4 / 5;
    margin-top: clamp(25px, 16.67%, 50px); }
    @media screen and (max-width: 480px) {
      .sec04 .inner .sec_button {
        margin-top: 25px; } }
.sec04 .sec04_bg_logo {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  max-width: 606px;
  width: 37.88%;
  left: 1.88%;
  bottom: 0; }
  @media screen and (max-width: 480px) {
    .sec04 .sec04_bg_logo {
      width: 40%;
      left: 0; } }

.sec05_wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px; }
  @media screen and (max-width: 480px) {
    .sec05_wrap {
      grid-template-columns: 1fr; } }
  .sec05_wrap .item {
    position: relative;
    overflow: hidden; }
    .sec05_wrap .item a {
      display: block;
      position: relative; }
      .sec05_wrap .item a .text_box {
        position: absolute;
        inset: 0;
        z-index: 4;
        text-align: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        color: #fff;
        text-align: center; }
        .sec05_wrap .item a .text_box .sec05_head {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          font-size: clamp(18px, 1.85vw, 24px);
          line-height: 1.4;
          padding: 1.87em 1.66em;
          border: 1px solid #fff; }
          .sec05_wrap .item a .text_box .sec05_head .text_min {
            font-size: 0.7em; }
      .sec05_wrap .item a::after {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        z-index: 2;
        background: rgba(0, 0, 0, 0.3); }
      .sec05_wrap .item a .bg_image {
        display: block;
        transition: transform 0.3s ease-in-out; }
      .sec05_wrap .item a img {
        width: 100%; }
      @media (hover: hover) {
        .sec05_wrap .item a:hover .bg_image {
          transform: scale(1.05); } }
    .sec05_wrap .item.item_wide {
      grid-column: 1 / 4; }
      @media screen and (max-width: 480px) {
        .sec05_wrap .item.item_wide {
          grid-column: 1 / 2; } }
      .sec05_wrap .item.item_wide a .text_box .sec05_head {
        padding: 1.25em 1.66em; }
        @media screen and (max-width: 768px) {
          .sec05_wrap .item.item_wide a .text_box .sec05_head {
            padding: 1em 1.5em; } }
        .sec05_wrap .item.item_wide a .text_box .sec05_head .text_min {
          font-size: 0.7em; }
      .sec05_wrap .item.item_wide a .text_box .read {
        margin-top: 2.5%; }
        @media screen and (max-width: 480px) {
          .sec05_wrap .item.item_wide a .text_box .read {
            margin-top: 20px; } }

.sec_wrap_06 {
  display: grid;
  justify-content: end;
  align-content: center;
  align-items: center;
  grid-template-columns: 25% 56.25%;
  gap: 0 6.25%; }
  @media screen and (max-width: 1200px) {
    .sec_wrap_06 {
      width: calc(100% - 20px);
      margin-left: auto;
      grid-template-columns: 36% 60%;
      gap: 0 4%; } }
  @media screen and (max-width: 480px) {
    .sec_wrap_06 {
      width: 100%;
      display: block; } }
  .sec_wrap_06 .image_outer {
    grid-column: 2 / 3;
    grid-row: 1 / 6; }
    @media screen and (max-width: 480px) {
      .sec_wrap_06 .image_outer {
        width: calc(100% - 20px);
        margin-left: auto;
        margin-bottom: 30px; } }
    .sec_wrap_06 .image_outer img {
      width: 100%; }
  .sec_wrap_06 .sec_head {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 480px) {
      .sec_wrap_06 .sec_head {
        align-items: center; } }
    .sec_wrap_06 .sec_head .icon_logo {
      width: 1.13em;
      margin-left: auto;
      margin-right: auto;
      line-height: 0;
      margin-bottom: 10px; }
    .sec_wrap_06 .sec_head .cap_title {
      font-size: clamp(12px, 1.2vw, 15px);
      text-align: right;
      margin-right: 8px; }
      @media screen and (max-width: 480px) {
        .sec_wrap_06 .sec_head .cap_title {
          margin-right: 0px; } }

.button_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 200px;
  width: 100%;
  margin-top: 30px; }
  @media screen and (max-width: 480px) {
    .button_wrap {
      max-width: 160px; } }
  .sec_wrap_03 .button_wrap {
    margin-left: auto; }
    @media screen and (max-width: 480px) {
      .sec_wrap_03 .button_wrap {
        margin-right: 20px; } }
  .sec04 .button_wrap {
    margin-left: auto;
    margin-right: auto; }

.swiper-button-next,
.swiper-button-prev {
  position: static;
  z-index: 4;
  transition: opacity 0.3s ease-in-out;
  width: auto;
  height: auto; }
  @media (hover: hover) {
    .swiper-button-next:hover,
    .swiper-button-prev:hover {
      opacity: 0.7; } }
  .swiper-button-next:focus,
  .swiper-button-prev:focus {
    outline: none; }
  .swiper-button-next::after,
  .swiper-button-prev::after {
    content: none; }
  .swiper-button-next button,
  .swiper-button-prev button {
    display: flex;
    align-items: center; }
    .swiper-button-next button .icon,
    .swiper-button-prev button .icon {
      flex-shrink: 0; }
    .swiper-button-next button .text,
    .swiper-button-prev button .text {
      font-size: clamp(18px, 1.53vw, 20px);
      line-height: 1;
      color: #a81f24; }

.swiper-button-next button {
  flex-direction: row-reverse; }
  .swiper-button-next button .text {
    margin-right: 0.7em; }

.swiper-button-prev button .text {
  margin-left: 0.7em; }

.modal_cont {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  transition: 0.6s opacity ease-in-out 0s;
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 999; }
  body.modal_open .modal_cont {
    opacity: 1;
    pointer-events: all; }
  .modal_cont .modal {
    max-width: 700px;
    margin: 0 auto;
    overflow-y: auto;
    position: absolute;
    padding: 20px;
    max-height: calc(100lvh - 60px);
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto; }
    .modal_cont .modal .modal_bg {
      inset: 0;
      position: fixed;
      z-index: 2;
      background: rgba(0, 0, 0, 0.8);
      cursor: pointer; }
    .modal_cont .modal .modal_box {
      width: 100%;
      height: 100%;
      position: relative;
      z-index: 3;
      overflow-x: scroll;
      background: #fff; }
      .modal_cont .modal .modal_box .m_box {
        height: 100%;
        padding: 20px;
        line-height: 1.6; }
        @media screen and (max-width: 480px) {
          .modal_cont .modal .modal_box .m_box {
            line-height: 1.4; } }
        .modal_cont .modal .modal_box .m_box .modal_head {
          text-align: center;
          font-size: clamp(16px, 3.75vw, 24px); }
          @media screen and (max-width: 480px) {
            .modal_cont .modal .modal_box .m_box .modal_head {
              font-size: 16px; } }
        .modal_cont .modal .modal_box .m_box .modal_time {
          font-size: clamp(10px, 2.18vw, 14px);
          width: fit-content;
          margin-left: auto;
          margin-top: 0.8em;
          margin-bottom: 0.8em;
          line-height: 1.4; }
          @media screen and (max-width: 480px) {
            .modal_cont .modal .modal_box .m_box .modal_time {
              margin-top: 0.6em;
              margin-bottom: 0.6em;
              line-height: 1.2; } }
        .modal_cont .modal .modal_box .m_box .modal_lead {
          font-size: clamp(14px, 2.81vw, 18px); }
          .modal_cont .modal .modal_box .m_box .modal_lead.indent {
            text-indent: 1em; }
          .modal_cont .modal .modal_box .m_box .modal_lead + .modal_lead {
            margin-top: 0.4em;
            margin-bottom: 1em;
            text-align: center; }
            @media screen and (max-width: 480px) {
              .modal_cont .modal .modal_box .m_box .modal_lead + .modal_lead {
                margin-top: 0.2em;
                margin-bottom: 0.8em; } }
        .modal_cont .modal .modal_box .m_box .modal_list {
          display: flex;
          flex-direction: column;
          gap: 0.6em;
          line-height: 1.4;
          width: fit-content;
          margin-left: auto;
          margin-right: auto;
          font-size: clamp(12px, 2.5vw, 16px); }
          @media screen and (max-width: 480px) {
            .modal_cont .modal .modal_box .m_box .modal_list {
              font-size: 13px;
              gap: 0.5em; } }
          .modal_cont .modal .modal_box .m_box .modal_list .item {
            display: flex;
            align-items: baseline;
            gap: 0.5em; }
            @media screen and (max-width: 480px) {
              .modal_cont .modal .modal_box .m_box .modal_list .item {
                flex-direction: column;
                gap: 0.2em; } }
            .modal_cont .modal .modal_box .m_box .modal_list .item dt {
              font-weight: 700;
              flex-shrink: 0; }
            .modal_cont .modal .modal_box .m_box .modal_list .item dd .text_sub {
              text-align: right; }
        .modal_cont .modal .modal_box .m_box .modal_cap_wrap {
          margin-top: 20px;
          font-size: clamp(10px, 1.87vw, 12px);
          line-height: 1.4;
          width: fit-content;
          margin-left: auto;
          margin-right: auto; }
          .modal_cont .modal .modal_box .m_box .modal_cap_wrap p {
            padding-left: 1em;
            text-indent: -1em; }
        .modal_cont .modal .modal_box .m_box .map_button {
          width: fit-content;
          margin-left: auto;
          margin-right: auto;
          margin-top: 1em;
          font-size: clamp(10px, 2.18vw, 14px); }
          @media screen and (max-width: 480px) {
            .modal_cont .modal .modal_box .m_box .map_button {
              padding-bottom: 40px; } }
          .modal_cont .modal .modal_box .m_box .map_button a {
            padding: 0.8em 2em;
            display: block;
            transition: opacity 0.3s ease-in-out;
            border: 1px solid;
            border-radius: 3px; }
            @media (hover: hover) {
              .modal_cont .modal .modal_box .m_box .map_button a:hover {
                opacity: 0.7; } }
  .modal_cont .modal_close {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    color: #FFF;
    line-height: 1;
    background: #000;
    cursor: pointer;
    transition: opacity 0.3s ease-in-out; }
    @media screen and (max-width: 480px) {
      .modal_cont .modal_close {
        width: 30px;
        height: 30px;
        font-size: 20px; } }
    @media (hover: hover) {
      .modal_cont .modal_close:hover {
        opacity: 0.7; } }

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