@charset "utf-8";
/* CSS Document */
/* main section */
.main {
  /* position: fixed; */ /* スクロール前は固定 */
  /* top: 0; */
  /* left: 0; */
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: 0;
  position: relative;
}

.main-blur {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/index/slide01_sp.jpg') ;
  background-size: cover;
  background-position: center;
  filter: blur(0px);
  transition: filter 0.3s ease;
  z-index: 1; /* 背景として下に */
}

.bg-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* 画面いっぱいに表示 */
	z-index: -2;
}

.read {
  position: absolute;
  z-index: 1;
  text-align: center;
  color: var(--white);
  top: 53%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
}



.read dt {
  color: var(--white);
  font-family: var(
  --outfit);
  text-align: left;
  margin: 0 auto 20px;
}
.read dd .en {
  font-family: var(--outfit);
}

.read dd p {
  text-align: left;
  font-size: 1em;
  color: var(--white);
}

.read dl {
    width: 90%;
    z-index: 1;
    flex-wrap: wrap;
    justify-content: center;
    margin: auto;
    z-index: 1;
    position: relative;
}

.read dt .en {
    opacity: 0.5;
    line-height: 1;
    margin: 0 0 90px 0;
}

.read dt .en p {
    line-height: 1.3;
    font-weight: var(--fw-bold);
    font-size: 1.5em;
}

.read dt .jp p {
    font-size: 0.9em;
    line-height: 2.5;
    letter-spacing: 0.08em;
    color: var(--white);
}

.read dt .jp p b {
    font-size: 150%;
    font-weight: 600;
    font-style: italic;
    padding: 0 2px 0 0;
}



.main .wave {
    z-index: 1;
}

.main .wave:before {background-image: url(../img/common/bg_noise.jpg);}

.overlay {
  background: rgb(51 51 51 / 27%);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.scroll {
  cursor: pointer;
  position: absolute;
  width: 80px;
  height: 90px;
  bottom: 85px;
  margin: auto;
  left: 0;
  overflow: hidden;
  z-index: 10;
  right: 0;
}

.scroll a:before {
  -moz-animation-name: anime1;
  -moz-animation-duration: 5s;
  -moz-animation-timing-function: ease;
  -moz-animation-iteration-count: infinite;
  -webkit-animation-name: anime1;
  -webkit-animation-duration: 5s;
  -webkit-animation-timing-function: ease;
  -webkit-animation-iteration-count: infinite;
  -o-animation-name: anime1;
  -o-animation-duration: 5s;
  -o-animation-timing-function: ease;
  -o-animation-iteration-count: infinite;
  -ms-animation-name: anime1;
  -ms-animation-duration: 5s;
  -ms-animation-timing-function: ease;
  -ms-animation-iteration-count: infinite;
  content: "";
  position: absolute;
  top: 26px;
  height: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 1px;
  text-align: center;
  z-index: 100;
  display: block;
  overflow: hidden;
}

.scroll a {
  position: absolute;
  margin: 0 auto;
  display: block;
  text-align: center;
  cursor: pointer;
  height: 100%;
  overflow: hidden;
  z-index: 100;
  cursor: pointer;
  width: 71px;
  top: 0;
  left: 0;
  right: 0;
  color: var(--white);
  font-size: 1.1em;
  letter-spacing: 2px;
  font-family: var(--outfit);
}

.scroll a:after {
  /* content: "Scroll"; */
  position: absolute;
  color: #fff;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  top: 0;
  font-family: var(--inter);
  letter-spacing: 1px;
}

.scroll span {
  display: block;
  position: absolute;
  z-index: 10;
  color: #fff;
  top: 0;
  letter-spacing: 1px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  font-size: 1em;
  width: 100%;
  /* display: block; */
  vertical-align: middle;
  text-align: center;
  writing-mode: vertical-lr;
  font-family: "Crimson Text", serif;
  font-weight: 700;
}

@-moz-keyframes anime1 {
  0% {
    width: 1px;
    height: 0;
    background-color: none;
  }

  100% {
    width: 1px;
    height: 100%;
    background-color: #fff;
  }
}

@-webkit-keyframes anime1 {
  0% {
    width: 1px;
    height: 0;
    background-color: none;
  }

  100% {
    width: 1px;
    height: 100%;
    background-color: #fff;
  }
}

@-o-keyframes anime1 {
  0% {
    width: 1px;
    height: 0;
    background-color: none;
  }

  100% {
    width: 1px;
    height: 100%;
    background-color: #fff;
  }
}

@-ms-keyframes anime1 {
  0% {
    width: 1px;
    height: 0;
    background-color: none;
  }

  100% {
    width: 1px;
    height: 100%;
    background-color: #fff;
  }
}

#instagram .wave:before {
  background-color: #1c3343;
}

#intro .wave:before {
  /* background: #f7f7f7; */
}

#access .wave:before {
  background-color: #1c3343;
}

#guide .wave:before {
  /* background: #edf7ff; */
}

/*==========================================================
__トップ
==========================================================*/

section#prologue {
    z-index: 1;
    position: relative;
}

section#prologue .wave:before {
    background: url(../img/common/bg_noise.jpg);
}

h5.h5__common {
    line-height: 2.6;
    font-size: 1.1em;
}

.prologue__inner nav {
    padding-top: 60px;
    padding-bottom: 30vh;
}

section#intro {
    background-image: url(../img/common/bg_noise.jpg);
    position: relative;
}

nav.lower {
    padding-top: 30px;
    padding-bottom: 60px;
}

.about-wrap figure {
    margin: 0 auto 20px;

}

.about-wrap figure img{

    overflow: hidden;
    border-radius: 10px;
}

.top__head .en {
  font-family: var(--outfit);
  letter-spacing: .04em;
  font-size: 0.85em;
  color: #a8b7c3;
  line-height: 1.5;
  margin: 0 0 10px 0;
}

section#guide,section#access {
  z-index: 1;
  position: relative;
  padding: 0;
}

section#guide nav.lower {
  background: linear-gradient(0deg, #a3cfed, #64aedf, #52a9e5);
  z-index: 1;
  position: relative;
  padding: 50px 5% 90px;
  overflow-x: hidden;
}

section#guide .guide__inner nav.middle {
  /* margin-top: 2.5rem; */
  background: url(../img/common/bg_noise_gray.jpg);
  padding-top: 50px;
  padding-bottom: 90px;
}
section#guide .guide__inner nav.middle ul.middle__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(17rem, 100%), 1fr));
  grid-gap: 2.5rem;
  gap: 2rem;
}
section#guide
  .guide__inner
  nav.middle
  ul.middle__list
  li.middle__list__li
  a.middle__link {
  position: relative;
  display: grid;
  padding-bottom: 12px;
  transition-timing-function: var(--easing-default);
  transition-duration: var(--duration-default);
  transition-property: color;
  text-decoration-thickness: 0.03125rem;
  text-underline-offset: 0.1875rem;
}
section#guide
  .guide__inner
  nav.middle
  ul.middle__list
  li.middle__list__li
  a.middle__link::before,
section#guide
  .guide__inner
  nav.middle
  ul.middle__list
  li.middle__list__li
  a.middle__link::after {
  position: absolute;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 0.0625rem;
  content: "";
}
section#guide
  .guide__inner
  nav.middle
  ul.middle__list
  li.middle__list__li
  a.middle__link::before {
  left: 0;
  background-color: #ebebeb;
}
section#guide
  .guide__inner
  nav.middle
  ul.middle__list
  li.middle__list__li
  a.middle__link::after {
  right: 0;
  background-color: var(--blue);
  transition: scale 0.4s ease-in-out;
  transform-origin: left;
  scale: 0 1;
}
section#guide
  .guide__inner
  nav.middle
  ul.middle__list
  li.middle__list__li
  p.text {
  display: flex;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
  justify-content: space-between;
  margin-top: 0.8rem;
  font-weight: var(--fw-bold);
  letter-spacing: .08em;
  position: relative;
  color: var(--black);
}

section#guide
  .guide__inner
  nav.middle
  ul.middle__list
  li.middle__list__li
  span.p__desc {
  text-wrap: pretty;
  word-break: auto-phrase;
  word-wrap: anywhere;
  font-size: 1em;
  line-height: 1.8;
  letter-spacing: 0.08em;
}

section#guide
  .guide__inner
  nav.middle
  ul.middle__list
  li.middle__list__li
  span.p__icon {
  right: 0;
  bottom: 0;
  top: 0;
  --icon-color: var(--blue);
}

section#guide
  .guide__inner
  nav.middle
  ul.middle__list
  li.middle__list__li
  a:hover
  p.text {
  color: var(--blue);
}

section#guide
  .guide__inner
  nav.middle
  ul.middle__list
  li.middle__list__li
  figure.card-thumb {
  order: calc(-infinity);
  overflow: hidden;
  border-radius: 0.625rem;
width: 100%;
background: var(
  --white);
padding: 10px 0;
}
section#guide
  .guide__inner
  nav.middle
  ul.middle__list
  li.middle__list__li
  figure.card-thumb
  img {
  width: 100%;
  object-fit: cover;
  margin: 0 auto;
  text-align: center;
  display: block;
}

section#guide
  .guide__inner
  nav.middle
  ul.middle__list
  li.middle__list__li
  figure.card-thumb
  b {
  width: 100%;
  display: block;
  background: var(--white);
  padding: 32px;
  text-align: center;
  font-weight: 600;
  letter-spacing: 2px;
}

section#guide .guide__inner nav.lower {
  overflow: hidden;
  width: 100%;
  height: 100%;
}


section#newss {
  padding-top: 3.125rem;
  padding-bottom: 3.5rem;
  z-index: 1;
  position: relative;
  padding: 50px 0 90px;
  background: #ffffff;
}

section#newss .newss__inner {
  padding: 0;
}
section#newss .newss__inner .news__head {
  padding: 0 5%;
}

section#newss .newss__inner .news__head a.button {
  display: none;
}

section#newss .newss__inner .activity h2 {
  padding: 0 5%;
}

section#newss .newss__inner .tab__content ul.tab__content__list {
  display: grid;
  gap: 0.625rem;
  margin-top: 2.25rem;
  width: 100%;
  margin-bottom: 2rem;
  grid-template-columns: 1fr 1fr 1fr;
}

section#newss .newss__inner .tab__content ul.tab__content__list li span {
  width: 100%;
  width: -moz-fit-content;
  padding: 0.125rem 0.75rem;
  font-size: 0.8em;
  font-weight: var(--fw-medium);
  line-height: 1.75;
  background-color: var(--lightgray);
  border-radius: calc(infinity * 1px);
  display: block;
  transition: color 0.4s ease, background-color 0.4s ease;
  text-align: center;
  cursor: pointer;
  color: var(--black);
}
section#newss .newss__inner .tab__content ul.tab__content__list li.active span {
  color: var(--white);
  background-color: var(--darkblue);
}
section#newss .newss__inner .news__body {
  margin-top: 2rem;
  padding: 0 5%;
}
section#newss .newss__inner .news__body .news__body__inner > div {
  grid-area: tabpanel;
  transition: opacity 0.4s ease;
  display: none;
}
section#newss .newss__inner .news__body .news__body__inner > div.active {
  display: block;
}

section#newss
  .newss__inner
  .news__body
  .news__body__inner
  ul.news__list li {
  border-bottom: 0.0625rem dashed var(--gray);
}

section#newss .newss__inner .news__body .news__body__inner ul.news__list li:first-child {
  border-top: 0.0625rem dashed var(--gray);
}

section#newss
  .newss__inner
  .news__body
  .news__body__inner ul.news__list li a:hover {
    background: #f4f5f58a;
    padding-left: 5%;
}

ul.news__list li:first-child {
  border-top: 0.0625rem dashed var(--lightblue);
}




section#newss
  .newss__inner
  .news__body
  .news__body__inner
  ul.news__list
  li
  a:hover
  p.title {
  color: var(--blue);
}


/*link*/
section#link {
  z-index: 1;
  position: relative;
  padding: 50px 0 80px;
  background: #1c3343;
}

ul.link__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

ul.link__list li a {
  border: 1px solid #e1e1e1;
  display: block;
  padding: 6px 3px;
  background: var(--white);
  border-radius: 5px;
  margin: auto;
}

ul.link__list li a img {
  text-align: center;
  margin: auto;
  display: block;
}

section#about {
    position: relative;
    background: var(--white);
}

section#about .wave:before {background: url(../img/common/bg_noise_gray.jpg);}

/*access*/

.fixed-bg {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: url('../img/index/access_bg.jpg') 75% bottom /cover no-repeat;
     z-index: -1;
}

#access iframe {
    height: 250px;
}

#access figure {
    border: 2px solid var(--blue);
    border-radius: 10px;
    overflow: hidden;
}

#access address {
    font-size: 0.9em;
    color: #454545;
}

section#access {
    padding-top: 180px;
}

section#access nav.lower {
    background: var(--white);
    width: 90%;
    margin: 0 auto;
    border-radius: 10px 10px 0 0;
}

section#newss .wave:before {
    /* background-color: #f7f7f7; */
    transform: rotateX(180deg);
}

section#newss .wave {
    bottom: -30px;
}

section#access:before {
    content: "";
    position: absolute;
    background: #1c3343;
    height: 40vh;
    width: 100%;
    display: block;
    z-index: -1;
    bottom: 0;
}

@media screen and (min-width: 500px) {
}

@media screen and (min-width: 767px) {
  /*main*/
  .read dt .jp p {
    font-size: 1em;
  }
  .read dd p {
    font-size: 1.4em;
  }

  .top__head .en {
    font-size: 1em;
    margin: 0 0 10px 0;
  }

  h5.h5__common {
    font-size: 1.4em;
}

  nav.lower {
    padding-top: 60px;
    padding-bottom: 80px;
}

  /*news*/
  section#newss {
    padding: 50px 0 150px;
  }

  section#newss .newss__inner .tab__content ul.tab__content__list li span {
    padding: 10px;
  }

  
section#newss .wave {
    bottom: -49px;
}

  /*ガイド*/
  section#guide nav.lower {
    padding: 50px 5% 150px;
  }

  section#guide .guide__inner nav.middle ul.middle__list {
    gap: 1em;
    grid-template-columns: 1fr 1fr 1fr;
  }

  section#guide .guide__inner nav.middle {
    padding-bottom: 150px;
  }


  section#guide
    .guide__inner
    nav.middle
    ul.middle__list
    li.middle__list__li
    figure.card-thumb
    b {
    padding: 28px;
  }

  section#guide
    .guide__inner
    nav.middle
    ul.middle__list
    li.middle__list__li
    figure.card-thumb
    img {
    /* width: 230px; */
    display: block;
    margin: auto;
  }

  section#guide
    .guide__inner
    nav.middle
    ul.middle__list
    li.middle__list__li
    figure.card-thumb {
    background: var(--white);
    padding: 20px 0;
  }

  section#guide
    .guide__inner
    nav.middle
    ul.middle__list
    li.middle__list__li
    figure.card-thumb
    b {
    padding: 16px;
  }

  /*access*/

  section#access:before {
      height: 40vh;
  }
  
  section#access {
      padding-top: 370px;
  }
  /*link*/

  section#link {
    padding: 50px 0 130px;
  }
}

@media screen and (min-width: 991px) {
 .main-blur {
    background-image: url(../img/index/slide01_pc.jpg);
} 
  

  
  nav.lower, section#guide .guide__inner nav.middle,section#newss {
    padding-top: 90px;
    padding-bottom: 170px;
}

  h5.h5__common {
    font-size: 1.6em;
}


  .about-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.about-wrap figure {
    width: 45%;
    margin: 0 0 0 0;
}

.about-wrap .about-text {
    width:50%;
    margin:0 0 0 5%;
}

  #prologue .about-wrap .about-text {
    width: 100%;
    margin: 0;
    text-align: center;
}

  /*news*/
   section#newss .newss__inner .tab__content ul.tab__content__list {
    margin-bottom: 60px;
}


.top__head {
    text-align: center;
}
  
  /*ガイド*/
  

  section#guide .guide__inner nav.middle ul.middle__list li.middle__list__li p.text {
    font-size: 1.1em;
}

  /*access*/
  section#newss .wave {
    bottom: -90px;
}

  section#access nav.lower{
    padding-top: 50px;
  }

  /*link*/

  section#link {
    padding: 100px 0 170px;
}
  
  ul.link__list {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}

@media screen and (min-width: 1200px) {
  p {
    font-size: 1em;
    line-height: 2.3;
    color: #454545;
}
  
  /*main*/
.read {
    top: 67%;
}
	

.read dt .jp p {
    font-size: 1.4em;
    /* text-align: center; */
}


  .scroll {
    /* left: inherit; */
    /* right: 4%; */
  }

  .top__head .en {
    font-size: 1.4em;
    margin: 0 0 0 0;
    font-weight: var(--fw-semibold);
    opacity: 0.3;
  }

  .h2__common small {
    display: inline-block;
    padding: 0 0 0 20px;
}

  
a.button.news_b {
    margin: 0;
}

  nav.lower, section#guide .guide__inner nav.middle, section#newss {
    padding-top: 130px;
    padding-bottom: 220px;
}

#intro .common__padding {
    padding-left: 5%;
    padding-right: 5%;
}


  
  /*ガイド*/
  section#guide {
    padding: 0;
  }

  section#guide .guide__inner nav.middle ul.middle__list {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 50px;
    max-width: 1200px;
    margin: auto;
  }

  section#guide
    .guide__inner
    nav.middle
    ul.middle__list
    li.middle__list__li
    a.middle__link:hover::after {
    scale: 1 1;
  }

  section#guide
    .guide__inner
    nav.middle
    ul.middle__list
    li.middle__list__li
    span.p__desc {
    font-weight: var(--fw-bold);
    font-size: 1.1em;
  }

  section#guide
    .guide__inner
    nav.middle
    ul.middle__list
    li.middle__list__li
    figure.card-thumb {
    background: var(--white);
    text-align: center;
    display: block;
    padding: 10px;
  }

  section#guide
    .guide__inner
    nav.middle
    ul.middle__list
    li.middle__list__li
    figure.card-thumb
    b {
    padding: 47px;
    font-size: 2em;
  }

  section#guide
    .guide__inner
    nav.middle
    ul.middle__list
    li.middle__list__li
    figure.card-thumb
    img {
    transition: transform 0.6s ease;
    width: 480px;
    text-align: center;
    display: block;
    margin: auto;
  }
  section#guide
    .guide__inner
    nav.middle
    ul.middle__list
    li.middle__list__li
    a:hover
    figure.card-thumb
    img {
    transform: scale(1.1);
  }

 
  section#guide .guide__inner nav.lower {
    padding: 100px 5% 180px;
  }
  
  section#guide .guide__inner nav.middle {
    padding: 100px 5% 180px;
  }

  /*news*/

  section#newss,
  section#link {
    padding: 100px 0 180px;
  }
  section#newss .newss__inner.info {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: auto;
    align-items: baseline;
    width: 90%;
  }
  section#newss .newss__inner .news__head {
    width: 30%;
    text-align: left;
    padding: 0;
  }

  section#newss .newss__inner .news__head a.button {
    display: block;
    margin: 80px 0 0 0;
    max-width: 280px;
  }

  section#newss .newss__inner .news__head .h2__common {
    text-align: left;
  }

  section#newss .newss__inner .tab__content {
    width: 100%;
  }
  section#newss .newss__inner .tab__content ul.tab__content__list {
    margin: 0;
  }

  section#newss .newss__inner .tab__content ul.tab__content__list li span {
    font-weight: normal;
    padding: 7px 18px;
    font-size: 0.95em;
    font-weight: 500;
    width: 100%;
    cursor: pointer;
  }
  section#newss
    .newss__inner
    .tab__content
    ul.tab__content__list
    li
    span:hover {
    color: var(--blue);
  }

  section#newss
    .newss__inner
    .tab__content
    ul.tab__content__list
    li.active
    span:hover {
    color: var(--white);
  }

  section#newss .newss__inner .news__body {
    margin-top: 0;
    width: 65%;
    padding: 0;
  }

  section#newss .newss__inner .news__body a.button {
    display: none;
  }

  section#newss .newss__inner .news__body .news__body__inner {
    margin: 50px auto 0;
  }



  section#newss
    .newss__inner
    .news__body
    .news__body__inner
    ul.news__list
    li
    time
    span.date {
    font-size: 0.9em;
  }

  section#newss
    .newss__inner
    .news__body
    .news__body__inner
    ul.news__list
    li
    time
    span.news_cate {
    font-size: 0.85rem;
    padding: 0.1rem 0.75rem;
  }

  section#newss
    .newss__inner
    .news__body
    .news__body__inner
    ul.news__list
    li
    a
    p.title {
    font-size: 1em;
    margin-top: 1rem;
  }



  /*access*/
  #access iframe {
    height: 340px;
}

#access address {
    font-size: 0.95em;
    text-decoration: underline;
    margin: 0 0 5px 0;
}

  section#access nav.lower {
    width: 100%;
    padding: 70px 5% 170px;
    border-radius: 60px 60px 0 0;
}

section#access:before {
    height: 50vh;
}

  /*link*/
  section#link {
    padding: 100px 0 180px;
  }

  .link__inner {
    padding: 0;
    max-width: 1200px;
    margin: auto;
  }

  ul.link__list {
    gap: 10px;
  }
}

@media screen and (min-width: 1400px) {
  #intro .about-wrap figure {
      width: inherit;
      grid-row: 1 / 5;
      grid-column: 1 / 7;
      align-self: start;
  }
  
  #intro .about-wrap .about-text {
      width: inherit;
      grid-row: 1 / 2;
      grid-column: 7 / 13;
      margin: 0 0 0 7%;
  }
  
  #intro .about-wrap {
      display: grid;
      grid-template-columns: repeat(13,minmax(0,1fr));
      align-items: inherit;
      justify-content: inherit;
  }
  
  
  .h2__common b {
      display: block;
      margin: 20px auto 0;
      border: none;
      padding: 0;
  }



}

@media screen and (min-width: 1699px) {
    .read dt .jp p {
      font-size: 2em;
  }

.read {
    top: 63%;
}
  
  /*news*/
  section#newss {
    padding: 150px 0 220px;
  }

    section#newss .wave {
    bottom: -130px;
}


  section#link {
    padding: 100px 0 220px;
  }
}
