@charset "UTF-8";

:is(.p-main-visual,.p-main-visual__inner,.p-main-visual__main) > :first-child{
    margin-top:0 !important;
  }

:is(.p-main-visual,.p-main-visual__inner,.p-main-visual__main) > :last-child{
    margin-bottom:0 !important;
  }

.p-main__inner{
  background-image:linear-gradient(90deg, #205AB2 34.74%, #3C72C3 50.57%, #205AB2 64.89%);
}

.p-main-visual{
  position:relative;
  z-index:1;
  background:url(../img/bg_index_mv-4_sp@2x.jpg) 50% 0 / cover;
  overflow:hidden;
}

.p-main-visual__inner{
  background:url(../img/bg_index_mv-3_sp@2x.png) 50% 0 / cover;
}

.p-main-visual__main{
  background:url(../img/bg_index_mv-2_sp@2x.png) 50% 0 / cover;
}

.p-main-visual__viewport{
  display:block;
  position:relative;
}

.p-main-visual__viewport::before{
    display:block;
    content:"";
    position:absolute;
    inset:0;
    margin:auto;
    background:url(../img/bg_index_mv-1_sp@2x.png) 50% 0 / 100%;
    pointer-events:none;
  }

.p-main-visual__image{
  position:relative;
  z-index:1;
  width:100%;
  vertical-align:bottom;
}

:is(.p-area-hiroshima__inner,.p-area-yamaguchi__inner,.p-area-shimane__inner,.p-area-group__inner) > :first-child{
    margin-top:0 !important;
  }

:is(.p-area-hiroshima__inner,.p-area-yamaguchi__inner,.p-area-shimane__inner,.p-area-group__inner) > :last-child{
    margin-bottom:0 !important;
  }

.p-regionIntro{
  display:flex;
  flex-direction:column;
  position:relative;
  z-index:1;
  padding:0 16px;
  margin-top:-32%;
  background:url(../img/bg_index_info-2_sp@2x.png) no-repeat 50% 0 / cover;
}

.p-regionIntro::before{
    content:"";
    display:block;
    position:absolute;
    inset:0;
    margin:auto;
    background:url(../img/bg_index_info-1_sp@2x.png) no-repeat 50% 0 / cover;
    pointer-events:none;
  }

.p-regionIntro__inner{
  display:flex;
  flex-direction:column;
  gap:10px;
  position:relative;
  z-index:2;
  padding-bottom:37px;
  margin:-12.8% auto 0;
  max-width:1130px;
}

.p-regionCalendar{
  position:relative;
  z-index:1;
  border-top:10px solid #DBC790;
  padding-inline:21px;
  background:url(../img/index_bg_p-regionCalendar_sp@2x.jpg) no-repeat 50% 50% / cover;
}

.p-regionCalendar__inner{
  padding-block:35px 23px;
}

.p-regionCalendar__placeButton{
  text-align:center;
}

.p-regionCalendar__button{
  display:inline-block;
}

.p-regionX{
  border-top:10px solid #DBC790;
  padding:0 16px 12%;
  background:url(../img/index_bg_p-regionX_sp@2x.jpg) no-repeat 50% 0 / cover;
}

.p-regionX__inner{
  padding-block:37px 27px;
}

.p-regionAria{
  position:relative;
  z-index:1;
  border-bottom:11px solid #DBC790;
  overflow:hidden;
}

.p-regionAria::after{
    content:"";
    display:block;
    position:absolute;
    z-index:-2;
    background-image:linear-gradient(90deg, #205AB2 34.74%, #3C72C3 50.57%, #205AB2 64.89%);
  }

@media (min-width: 768px){
  .p-main{
    background:url(../../img/bg_index_mv-4_pc@2x.jpg) 50% 0 / 100%;
  }
  .p-main-visual{
    background-image:url(../img/bg_index_mv-4_pc@2x.jpg);
  }
  .p-main-visual__inner{
    position:relative;
    background:none;
    overflow:hidden;
  }
    .p-main-visual__inner:before,.p-main-visual__inner::after{
      display:block;
      content:"";
      position:absolute;
      top:0;
      bottom:0;
      margin:auto;
      width:186.97917%;
      aspect-ratio:2877 / 770;
      background:url(../img/bg_index_mv-3_pc@2x.png) no-repeat 0 0 / 100%;
    }
    .p-main-visual__inner:before{
      left:0;
      animation:80s infinite linear 0.5s both loop-x-left-to-right;
    }
    .p-main-visual__inner::after{
      left:186.97917%;
      animation:80s infinite linear 0.5s both loop-x-left-to-right;
    }
  .p-main-visual__main{
    background-image:url(../img/bg_index_mv-2_pc@2x.png);
  }
    .p-main-visual__viewport::before{
      background-image:url(../img/bg_index_mv-1_pc@2x.png);
    }
  .p-regionIntro{
    margin-top:-17.31771%;
    background-image:url(../img/bg_index_info-2_pc@2x.png);
  }
    .p-regionIntro::before{
      background-image:url(../img/bg_index_info-1_pc@2x.png);
    }
    @container main (min-width: 1536px){
  .p-regionIntro{
      aspect-ratio:auto;
  }
    }
  .p-regionIntro__inner{
    padding-block:3.25521% 89px;
    margin-top:0;
  }
  .p-regionCalendar{
    background-image:url(../img/index_bg_p-regionCalendar_pc@2x.jpg);
  }
  .p-regionCalendar__inner{
    padding-block:76px 68px;
  }
  .p-regionX{
    padding-bottom:11.06771%;
    background-image:url(../img/index_bg_p-regionX_pc@2x.jpg);
  }
  .p-regionX__inner{
    padding-block:89px 74px;
    margin-inline:auto;
    max-width:1290px;
  }
  .p-regionAria{
    margin-top:-11.06771%;
  }
    .p-regionAria::after{
      top:45%;
      left:0;
      right:0;
      bottom:0;
      width:331.77083%;
    }
  .p-area-hiroshima,
.p-area-group{
    position:relative;
    padding:0 16px;
    overflow:hidden;
  }
    :is(.p-area-hiroshima,.p-area-group)::before,:is(.p-area-hiroshima,.p-area-group)::after{
      content:"";
      display:block;
      position:absolute;
      width:331.77083%;
      background-image:linear-gradient(90deg, #205AB2 34.74%, #3C72C3 50.57%, #205AB2 64.89%);
      transform:translate(-35%, 0%);
    }
    :is(.p-area-hiroshima,.p-area-group)::before{
      z-index:-1;
      inset:auto 0 0;
      height:50%;
    }
    :is(.p-area-hiroshima,.p-area-group)::after{
      z-index:-2;
      inset:0;
      border:11px solid #DBC790;
      border-bottom:0;
      border-radius:50% 50% 0 0;
      aspect-ratio:1 / 1;
    }
  .p-area-group{
    z-index:0;
    margin-top:-7.8125%;
  }
  .p-area-hiroshima__inner,
.p-area-group__inner{
    position:relative;
    margin:auto;
    max-width:1376px;
  }
  .p-area-hiroshima__inner{
    padding:75px 0 calc(95px + 7.8125%);
  }
  .p-area-group__inner{
    display:flex;
    gap:24px;
    padding:75px 0 95px;
  }
    .p-area-group__inner::before{
      content:"";
      display:block;
      width:2px;
      background-color:#DBC790;
      opacity:0.27;
      order:2;
    }
    @container main (max-width: 1420px){
  .p-area-group__inner{
      max-width:1038px;
  }
    }
  .p-area-yamaguchi{
    padding-top:65px;
    max-width:326px;
    flex-grow:1;
    order:1;
  }
    @container main (max-width: 1084px){
  .p-area-yamaguchi{
      max-width:none;
  }
    }
  .p-area-shimane{
    padding-top:65px;
    max-width:998px;
    flex-grow:1;
    order:3;
  }
    .p-regionX .c-layout-grid{
      grid-template-columns:repeat(auto-fit, minmax(350px, 575px));
      gap:24px 16px;
    }
    .p-area-hiroshima .c-layout-grid{
      gap:30px 24px;
    }
    .p-area-yamaguchi .c-layout-grid,.p-area-shimane .c-layout-grid{
      gap:30px 10px;
    }
}

@media (max-width: 767px){
  .p-regionAria{
    margin-top:-12%;
  }
    .p-regionAria::after{
      top:45%;
      left:0;
      right:0;
      bottom:0;
      width:320%;
    }
  .p-area-hiroshima,
.p-area-yamaguchi,
.p-area-shimane{
    position:relative;
    z-index:0;
    padding:0 16px;
    overflow:hidden;
  }
  .p-area-group,
.p-area-shimane{
    margin-top:-40px;
  }
  .p-area-hiroshima__inner,
.p-area-yamaguchi__inner{
    padding:70px 0 115px;
  }
  .p-area-shimane__inner{
    padding:70px 0 75px;
  }
  .p-area-hiroshima__inner,
.p-area-yamaguchi__inner,
.p-area-shimane__inner{
    position:relative;
  }
    :is(.p-area-hiroshima__inner,.p-area-yamaguchi__inner,.p-area-shimane__inner)::before,:is(.p-area-hiroshima__inner,.p-area-yamaguchi__inner,.p-area-shimane__inner)::after{
      content:"";
      display:block;
      position:absolute;
      width:320%;
      background-image:linear-gradient(90deg, #205AB2 34.74%, #3C72C3 50.57%, #205AB2 64.89%);
      transform:translate(-35%, 0%);
    }
    :is(.p-area-hiroshima__inner,.p-area-yamaguchi__inner,.p-area-shimane__inner)::before{
      z-index:-1;
      inset:auto 0 0;
      height:90%;
    }
    :is(.p-area-hiroshima__inner,.p-area-yamaguchi__inner,.p-area-shimane__inner)::after{
      z-index:-2;
      inset:0;
      border:11px solid #DBC790;
      border-bottom:0;
      border-radius:50% 50% 0 0;
      aspect-ratio:1 / 1;
    }
}

@media (hover: hover){
    :is(.p-regionCalendar__button,.p-regionX__button):any-link{
      transition:filter 0.3s;
    }
      :is(.p-regionCalendar__button,.p-regionX__button):any-link:hover{
        filter:brightness(1.75);
      }
}
