@charset "utf-8";
@import url("slider-pro.css");

/* 2025.2.3追記 */
/* 観光案内所ページ　 sightseeing-info*/
@media screen and (min-width: 768px){
  .contents-p2{
    float: none;
    width: 100%;
  }
  .contents-p2 img{
    height: 400px;
    object-fit: cover;
  }
  .school-detail{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
  }
  .school-map-img{
    flex: 1;
  }
  .school-precautions{
    flex: 1;
  }
  .school-banner{
    padding-top: 20px;
    max-width: 80%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px){
  .school-detail{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
  }
  .school-map-img{
    flex: 1;
  }
  .school-precautions{
    flex: 1;
  }
  .school-banner{
    padding-top: 20px;
    max-width: 100%;
    margin: 0 auto;
  }
}
.imgauto{
height: auto;
width: 100%;
box-sizing: unset;
line-height: 1rem;
display: block;
}
.thumbnail {
width: 100%;
cursor: pointer;
transition: opacity 0.4s;
}

.thumbnail:hover {
opacity: 0.7;
}

/* 拡大表示のオーバーレイ */
.overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
justify-content: center;
align-items: center;
z-index: 1000;
}
/* 拡大画像 */
.full-image {
max-width: 90%;
max-height: 90%;
border-radius: 10px;
}
.sns-navi .china>a::before,
.sns-navi .english>a::before{
  display: none;
}
.fl-r li a{
  position: static;
  padding-left: 0;
}
.fl-r .china>a::before,
.fl-r .english>a::before{
  display: none;
}
.fl-r{
  display: block;
}
.sightseeing-info__headtitle{
  font-size: clamp(21px, 2.8vw, 38px);
  color: #fff;
  font-weight: 700;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
}
@media screen and (min-width: 768px){
  .sightseeing-info_top {
    background: url(images/sightseeing-info/sightseeing-info_top.jpg) no-repeat top center / cover;
    width: 100%;
    height: 400px;
    position: relative;
  }
  .sightseeing-info_top.gallery-top-img{
    background: url(images/gallery/gallery_top.jpg) no-repeat top center / cover;
    width: 100%;
    height: 400px;
    position: relative;
  }
}
@media screen and (max-width: 767px){
  .sightseeing-info_top {
    background: url(images/sightseeing-info/sightseeing-info_top.jpg) no-repeat top center / cover;
    width: 100%;
    height: 20vh;
    position: relative;
  }
  .sightseeing-info_top.gallery-top-img{
    background: url(images/gallery/gallery_top.jpg) no-repeat top center / cover;
    width: 100%;
    height: 20vh;
    position: relative;
  }
}
/* souvenir */
.souvenir{
  padding-block: var(--SPACE80);
}
.souvenir__headtitle{
  font-size: clamp(20px, 4vw, 32px) !important;
  font-family: var(--FF_ZENMARU);
}
.souvenir__text{
  text-align: center;
  font-size: var(--FZ_20);
  font-family: var(--FF_ZENMARU);
}
@media screen and (min-width: 768px){
  .souvenir__list{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 30px 20px;
  }
  .souvenir__text{
    padding-top: 10px;
  }
  .souvenir__headtitle{
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 767px){
  .souvenir__list{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 15px 10px;
  }
  .souvenir__text{
    padding-top: 5px;
  }
  .souvenir__headtitle{
    margin-bottom: 20px;
  }
}
.info-thumb__top.sightseeing-info{
  margin-left: 0;
}
/* ギャラリーページ　gallery */
.photosiwpe{
  display: grid;
}
.gallery{
  max-width: 800px;
  margin: 0 auto;
}
.photosiwpe li{
  aspect-ratio: 1/1;
  overflow: hidden;
}
.photosiwpe li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px){
  .gallery{
    padding-top: 50px;
  }
  .photosiwpe{
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
  }
}
@media screen and (max-width: 767px){
  .gallery{
    padding-top: 50px;
  }
  .photosiwpe{
    grid-template-columns: repeat(3,1fr);
    gap: 10px;
  }
}
/* access画像修正 */
.ac-map__link{
  color: #e50012;
}
.ac-map__flex{
  padding-bottom: 30px;
}
@media screen and (min-width: 768px){
  .ac-map__flex{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .ac-map__flex .left{
    text-align: right;
  }
  .ac-map__flex .right{
    text-align: left;
  }
}
.sec-m .info-data.no-flex{
  display: block;
}
.sec-m .info-data.no-flex dt{
  margin-bottom: 10px;
}
.access-train-head{
  margin-bottom: 10px;
}
.sec-m *,.souvenir *{
  font-family: "Noto Sans SC", sans-serif;
}
@media screen and (min-width: 768px){
  .access-train-headText{
    text-align: center;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px){
  .access-train-headText{
    text-align: left;
    width: 93%;
    margin: 0 auto;
    margin-bottom: 20px;
  }
}
.souvenir__underText{
  padding-top: clamp(20px, 2.5vw, 40px);
  text-align: right;
  font-size: clamp(14px, 1.8vw, 18px);
}