@charset "UTF-8";
/*各ページ独自のcss設定*/

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
/*================================================================
綴りを間違えているところが多々あります。後代のみんなほんとうにごめんなさい
================================================================*/

/* ② 横揺れ防止は、全体を囲むmainタグなどに任せる */
main {
  background-color: #f0e9d7;
  min-height: 100%;
  padding-bottom: 90px;
  overflow-x: hidden; /* ← ここに移動！ */
}




/*詳細はこちらボタン*/
.detail-box{
    margin-right: 50px;
    display:flex;
    justify-content: flex-end;
}

.detail-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    /* ボタン内で使う「共通の色変数」を定義（初期値はオレンジ） */
    --current-main: var(--clr-orange);
    --current-sub: var(--clr-lightorange);
}

.detail-btn.is-blue {
    --current-main: var(--clr-blue);
    --current-sub: var(--clr-lightblue);
}

.detail-text {
    color: var(--clr-text);
    font-size: 14px;
    z-index: 10;
}

.detail-decoration {
    display: flex;
    align-items: center;
    height: 0px;
    position: relative;
}

.detail-decoration::before {
    content: "";
    width: 5px;
    height: 5px;
    background-color: var(--current-main);
    border-radius: 50%;
}

.detail-line {
    border-bottom: 1.5px dashed var(--current-main);
    margin: 0 2px;
    width: 50px;
    z-index: 5;
}

.detail-circle {
    width: 25px;
    height: 25px;
    background-color: var(--current-sub);
    border-radius: 50%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    right: 10px;
    z-index: auto;
}

.detail-circle::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 1.5px;
    background-color: var(--current-main);
    transform: rotate(45deg);
    transform-origin: center;
    left: 2px;
    top: 7px;
    z-index: 5;
}

@media (min-width: 1024px){
  .detail-text{
    font-size:20px;
  }
}
  


.footprint-long{
  top:500px;
}
/*-------------------------
---------firstview---------*/
.firstview{
  /*ここは既存のまま*/
  margin-top: 30px;
  height: 100svh;
  overflow: hidden;
  /*あしあとぼかし*/
  -webkit-mask-image: linear-gradient(to bottom, var(--clr-beige) 85%, transparent 100%);
  mask-image: linear-gradient(to bottom, var(--clr-beige) 85%, transparent 100%);
}

.animation-wrapper{
  width: 100%;
  aspect-ratio: 375 / 812;
  position: relative;
  overflow: hidden;
}




/* スマホ */
.pc-only{
    display: none;
  }

.footstamp1{
  position: absolute;
  right: -18%;
  bottom: 12%;
  transform: rotate(-28deg);
  scale: 0.7;
}


.goukaku-omedetou{
  filter: drop-shadow(2px 2px 2px #c7b299);
  position: absolute;
  transform: rotate(14deg);
  width: 16%;
  right: 16%;
  bottom: 49%;
}

.back-f {    
  position: absolute;
  top: 9%;
  right: 6%;
  transform: rotate(5deg);
  width: 120%;
}
.miyateli {
  filter: drop-shadow(2px 2px 2px #c7b299);
  position: absolute;
  right: 22%;
  bottom: 54%;
}
.img-style-miyateli{
  rotate: 10deg;
  width: 6%;
}

.osuzu{
  filter: drop-shadow(4px 4px 4px #c7b299);
  position: absolute;
  right: 12%;
  bottom: 55%;
}
.img-style-osuzu{
  rotate: 29deg;
  width: 10%;
}

.asasyuugou {
  filter: drop-shadow(4px 4px 4px #c7b299);
  position: absolute;
  bottom: 58%;
  right: 3%;
}
.img-style-asasyuugou{
  rotate: 10deg;
  width: 15%;
}
.yorusetti{
  filter: drop-shadow(4px 4px 4px #c7b299);
  position: absolute;
  right: 28%;
  bottom: 54%;
}
.img-style-yorusetti{
  rotate: 21deg;
  width: 10%;
}

.adobiiki{
  filter: drop-shadow(7px 7px 5px #c7b299);
  position: absolute;
  right: 25%;
  bottom: 58%;
}
.img-style-adobiiki{
  rotate: 3deg;
  width: 21%;
}

.emosugirunnyo{  
  filter: drop-shadow(7px 7px 5px #c7b299);  
  position: absolute;
  right: 12%;
  top: 28%;
}
.img-style-emosugirunnyo{
  rotate: 10deg;
  width: 22%;
}
.monnhaiinee{
  filter: drop-shadow(7px 7px 5px #c7b299);
  position: absolute;
  left: 28%;
  bottom: 54%;
}
.img-style-monnhaiinee{
  rotate: -19deg;
  width: 25%;
}

.kakkoiisenaka{
  filter: drop-shadow(7px 7px 5px #c7b299);
  position: absolute;
  top: 16%;
  right: 25%;
}
.img-style-kakkoiisenaka{
  rotate: 10deg;
  width: 15%;
}

.yoruyoru{
  filter: drop-shadow(7px 7px 5px #c7b299);
  position: absolute;
  top: 37%;
  left: 0%;
}
.img-style-yoruyoru{
  rotate: 10deg;
  width: 24%;
}
.yappakorenannyo{
  filter: drop-shadow(10px 10px 8px #c7b299);
  position: absolute;
  top: 14%;
  left: -3%;
}
.img-style-yappakorenannyo{    
  rotate: -3deg;
  width: 65%;
}

.poem-matsuri{
  width: 85%;
  position: absolute;
  top: 0vh;
  right: 0%;
}

.poem-yume{
  position: absolute;
  left: 0%;
  width: 70%;
  bottom: 35%;
}


.fade-item {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: opacity 1.2s cubic-bezier(0.33, 1, 0.68, 1),
              transform 1.2s cubic-bezier(0.33, 1, 0.68, 1);
  will-change: opacity, transform;
}

.fade-item.is-show {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.poem {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: opacity 0.9s cubic-bezier(0.33, 1, 0.68, 1),
              transform 1.3s cubic-bezier(0.33, 1, 0.68, 1);
}

.poem.is-show {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}


/* PC */
@media (min-width: 768px){

  .firstview{
    width: 80%;
    display: flex;
    align-items: center;
    height: 120svh;
    margin: 60px auto 0px auto;
    justify-content: center;
  }
  .animation-wrapper {
    margin-top: 250px;
    aspect-ratio: 375 / 812;
    overflow: visible;
    right: auto;
    left: -20%;
    transform: scale(0.55);
  }
  .pc-hidden{
    display: none;
  }


  .pc-only {
    display: block;
    position: absolute;
    left: 58%;
    top: 220px;
    gap: 30px;
    width: 33%;
  }

  .yume-pc{
    top: 320px;
}
}
/*---------------------------------*/


/*pinの設定*/
.title-pin {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0 auto;
}

.pin-text {
  font-weight:bold;
  color: var(--text-color,#ca6723);
  filter: drop-shadow(1px 1px 1px #ebac81);
  mix-blend-mode: multiply;
}

.pin-icon.is-blue + .pin-text {
  color: #458786;
  filter:drop-shadow(1px 1px 1px #a2d2d2);
}

/*チケット*/

.information {
  width: 100%;
  background-color: #efe8d6ff;
  box-shadow: 0 0 20px #efe8d6ff;
}

.ticket-img{
  position: relative;
  display: inline-block;
}

.event-photo{
  width:100%;
  display: block;
}

.event-name{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%; /* ←親（.ticket-img）の幅に100%合わせる */
  
  /* ★超重要：paddingを追加しても横幅が100%をはみ出さないようにする魔法 */
  box-sizing: border-box; 
  
  text-align: center;
  padding: 5px 0; /* 上下に余白をつける */
  color: white;
  z-index: 1; /* 文字をオレンジ背景より手前に出す */  
}

/* ::before でオレンジの四角形を作る */
.event-name::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;  /* ←親（.event-name）の幅に100%合わせる */
  height: 100%; /* 高さもぴったり合わせる */
  background-color: rgba(202, 103, 35, 0.85); /* 写真と同じオレンジ色 */
  z-index: -1; /* 背景を文字の後ろに下げる */
}



.ticket-bigger{
  position: relative;
}
.ticket-left{
  height:115px;
  filter: drop-shadow(10px 10px 5px #c7b299);
}

.ticket-img{
  position: absolute;
  width: 150px;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}



.ticket-smaller{
  position: relative;
}
.ticket-right{
  height:115px;
  display: block;
  filter: drop-shadow(10px 10px 5px #c7b299);
}
.date-time {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-45%, -50%);
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.ticket-date {
    color: #3d3a39;
    line-height: 0.7;
    font-family: serif;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    margin-bottom:5px;
    display: flex;             /* 中身をFlexboxで横並びにする */
    align-items: flex-start;
}

.ticket-time {
  font-size: 12px;
  color: #3d3a39;
  line-height: 1.3;
  text-align: center;
  display:none;
}

/* 曜日の色分け復活 */
.day-sat { color: #007075; } /* 土曜日：水色 */
.day-sun { color: #ca6621; } /* 日曜日：オレンジ */

/* 月のサイズ調整（もし使う場合） */
.month {
  font-size: 11px;
  vertical-align: baseline;
  text-align: left;
  vertical-align: top;

}

.day,.day-sat,.day-sun,.kakko{
  font-size:20px;
}





.time-finish {
  display: block;
  margin-left: 20px; /* 「~」を少し右にずらす */
}


.ticket-paragraph{ 
  font-size: 12px;
  line-height: 1.5; 
  width:160px;
  text-decoration: underline dashed #999999 0.5px; 
  text-underline-offset:3px;
}
.ticket-foundation{
  display: flex;
  justify-content: center;
  align-items: stretch;
  width:fit-content;
  max-width: 80vw;
  margin: 18px auto;/* ↓ これを追加（0.3秒かけて変化する） */
  transition: all 0.3s ease;/* 修正前： margin: 18px auto; */
  /* --- ここから影切れ対策の魔法 --- */
  padding: 20px;       /* 影がはみ出しても大丈夫なように「透明なキャンバス」を全方向に広げる */
  margin: -2px auto;   /* 広げた分(20px)を、元のmargin(18px)から引いて相殺（18 - 20 = -2） */
}


  /*クリックした瞬間（沈み込む） */
.ticket-foundation:active{
  /* 浮き上がっていた状態から、元の位置より少し下まで沈ませる */
  transform: translateY(2px); 
  
  /* 押し込まれたので、影を小さく・濃くして地面に近づける */
  filter: drop-shadow(1px 1px 2px #998a7a); 
  
  /* 沈み込む動きは一瞬（0.1秒）にして、サクッとした押し心地にする */
  transition: all 0.1s ease; 
}



.ticket {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.ticket-introduction {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  background-color: rgb(245,241,229);
  padding: 15px;
}


.information {
  width: 100%;
}

.ticket{
 display:flex; 
 justify-content:center; 
 align-items:stretch; 
 width:100%;
 max-width:80vw; 
 margin:18px auto;
}

/* PC */
@media (min-width: 768px){

  .ticket {
    display: flex;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    max-width: 80vw;
    margin: 50px auto;
  }
  /* ② ホバーした時の動きを設定 */
.ticket-foundation:hover {
  /* 上に 5px 移動させる */
  transform: translateY(-5px) scale(1.05); 
}

.ticket-left {
    height: 200px;
}
.ticket-right {
    height: 200px;
}
.ticket-date {
  font-size: 28px;
  margin-bottom: 20px;
}

.day,.day-sat,.day-sun,.kakko{
  font-size:35px;
}
.ticket-img {
    position: absolute;
    width: 260px;
}
.event-name {
    font-size: 30px;
}

.information {
    width: 100%;
    margin-top: -100px;
}



}


/*-------------------------------------------------------------------
カレンダー
--------------------------------------------------------------------*/
.carender{
  text-align: center;
  margin-top: 10px;
  position: relative;
}
.carender {
    .check {
        font-size: clamp(12px, 3vw, 20px);
        margin: 10px auto 5px auto;
        width: 85%;
    }
}


.calendar {
  .schoolevent{
        background: #f7f4ebff;
        font-size: 6.5px;
        font-size: 0;
        text-align: center;
        vertical-align: middle;
        color: var(--clr-text);
  }
}

.plan{
  transition: all 0.3s ease;
}

.event,.event_small{
  filter: drop-shadow(2px 2px 3px #c7b299);
}

/* ① 基準となる親要素に position: relative; をつける */
/* パターンAなら .carender-frame、パターンBなら .frame-box に指定します */
.carender-frame { 
  position: relative; 
}

/* ② リンクの文字を右下に固定する */
.to-carender {
  position: absolute;
  bottom: -1px;
  z-index: 10;
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 12px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  text-decoration: none;
}

.kochira{
  border-bottom: 1px solid var(--clr-blue);
  margin: 0 2.5px;
  color: var(--clr-blue);
  transition: all 0.3s ease;
}

.carender-midashi{
  font-size:18px;
}
.tappu{
  text-underline-offset: 3px;
}



@media screen and (min-width: 1024px) {
    .calendar .schoolevent {
        height: 25px;
    }
    .carender-frame{
      width: 100%;
      display: block;
      height: 42vw;
    }
    .to-carender {
      font-size:20px;
      padding-bottom:30px;
      bottom:18px;
  }
  .kochira:hover {
    transform: translateY(-5px) scale(1.05); /* 上に少し浮いて拡大 */
    opacity: 0.7; /* 透明度を下げて少し透けさせる */
  }
  .carender {
    .check {
        margin: 10px auto -30px auto;
    }
  }
}




/*-------------------------------------------------------------------------------
コンテンツ
-----------------------------------------------------------------------------------*/

.stamp-svg {
  width: 150px;  /* 好きな横幅を指定 */
  height: auto;  /* 縦横比を崩さないための魔法の言葉 */
  display: block; /* 隙間ができないようにブロック要素にする */
}
.stamp-btn {
  display: flex;         /* 横並びにする */
}

.ticket-intro-btn{
  position: absolute;
  right:20%;
}


.contents01-paragraph {
  text-decoration: underline dashed #999999 0.5px;
  text-underline-offset: 3px;
  margin-right:0;
}

.contents-midashi01{
  font-size: 15px;
  font-weight: 600;
  padding-bottom: 6px;
}

.explanation01 {
  font-size: 11px;
  line-height: 1.6;
  width: 140px;
}

.more01{
  margin-top: 20px;
  margin-right: 34px;
  display: flex;
  justify-content: flex-end;
  /* ↓ これを追加！ */
  transition: all 0.1s ease; 
  /* --- ここからが影切れ対策 --- */
  /* 元の margin-right: 34px; の一部を padding に変換して、右側に影用のキャンバスを確保 */
  margin-right: 20px; 
  padding-right: 25px; 
  
  /* 下側にも影を描くためのキャンバス（padding）を追加 */
  padding-bottom: 40px;
  /* 枠が広がった分、下のレイアウトを押し出さないようにマイナスのmarginで相殺する（魔法のコード） */
  margin-bottom: -40px; 
  /* ↓ これを追加！常に一番手前に表示させる */
  position: relative;
  z-index: 10;
}

.more02{
  margin-top: 20px;
  margin-right: 34px;
  display: flex;
  justify-content: flex-end;
   /* ↓ これを追加！ */
  transition: all 0.1s ease; 
  /* --- ここからが影切れ対策 --- */
  /* 元の margin-right: 34px; の一部を padding に変換して、右側に影用のキャンバスを確保 */
  margin-right: 20px; 
  padding-right: 25px; 
  
  /* 下側にも影を描くためのキャンバス（padding）を追加 */
  padding-bottom: 40px;
  /* 枠が広がった分、下のレイアウトを押し出さないようにマイナスのmarginで相殺する（魔法のコード） */
  margin-bottom: -40px; 
  /* ↓ これを追加！常に一番手前に表示させる */
  position: relative;
  z-index: 10;
}


.explanation01{
  display: flex;
  flex-direction: column;  /* 縦並び */
  align-items: flex-end;   /* 右揃え */
}

.contents0101{
  display:flex;
  margin-right:0px;
}


.contents01 {
  display: flex;
  align-items: center;
  justify-content: space-evenly; /* すべて等間隔に並べる！ */
  
  width: 100%;
  margin: 30px auto 64px auto; /* marginを一括指定（上30px、左右中央、下64px） */
  
  transition: all 0.3s ease; 
  position: relative;
  z-index: 10;
}



.stamp-photo01{
  filter: drop-shadow(1px 1px 1px #ebac81);
  width:40%;
}

.stamp-photo02{
  filter: drop-shadow(1px 1px 1px #61b1bf);
  width: 40%;
}

.contents{
  margin:40px auto 0 auto;
  display:flex;
  flex-direction: column;
  align-items: center;
  width:80%;
}

/* =========================================
   2つ目と3つ目の間の「余白の足し算」を解消する
========================================= */

/* ① スマホ・PC共通：下の箱を30px上に引っ張り上げて、足し算を無かったことにする */
.contents-containers_middle {
  margin-top: -30px; 
}


/* ② PC版：上の箱に設定されていた巨大な下余白（80px）をリセットする */
@media (min-width: 1024px){
  /* ※すでにある .contents-containers_top の margin-bottom: 80px; を見つけて、
     以下の数字（0pxなど）に書き換えてください！ */
  .contents-containers_top {
    margin-bottom: 0px; /* 好みの隙間の広さに合わせて 20px などに調整してもOKです */
  }
}

/*----ホバー---------------*/
/* ---- 同時に動かす設定 ---- */

/* ① セット全体（切手含む）と、カレンダー（.plan）が浮き上がる */
.contents01:hover,
.contents01.is-active,
.plan:hover,           /* ← これを追加 */
.plan.is-active        /* ← これを追加 */
{
  transform: translateY(-5px) scale(1.05);
  position: relative;
  z-index: 10;
}

/* ② 親（.contents01）が浮いた時に、中にあるボタンの影も一緒に出す！ */
.contents01:hover .more01,
.contents01.is-active .more01,
.contents01:hover .more02,
.contents01.is-active .more02 {
  filter: drop-shadow(3px 3px 2px #c7b299);
}

/* ---- ホバー＆スクロールで浮き上がる設定（完全版） ---- */

/* ① まず、すべての要素に「0.3秒かけて動く」というベースを設定 */
.contents01, 
.plan, 
.ticket-foundation {
  transition: all 0.3s ease;
}

/* ② マウスが乗った時（:hover）と、画面中央に来た時（.is-active）の動き */
.contents01:hover,
.contents01.is-active,
.plan:hover,
.plan.is-active,
.ticket-foundation:hover,
.ticket-foundation.is-active {
  transform: translateY(-5px) scale(1.05);
  position: relative;
  z-index: 10;
}







@media (min-width:1024px){
  .contents01{
    height: auto;
    display: flex;
    align-items: center;
    width: 100%;
    gap: 20px;
    margin: 20px auto;
  }

  .contents02{
  height: auto;
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  gap: 20px;
  margin: 20px auto;
  }
  .stamp-photo02{
  filter: drop-shadow(1px 1px 1px #61b1bf);
  width: 40%;
 }
  .media {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin: 70px auto;
  width: 80%;
  justify-content: space-around;
  }
  .even-number{
  flex-direction: row-reverse;
  }

  
  .contents-containers_3-4{
   margin:0 auto;
   display: flex;
   gap: 70px;
   margin-bottom: 80px;
  }
  .number-5{
   width:50%;
  }

  .contents{
    margin: 40px auto 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 80%;
    padding-top: 100px;
  }
  .contents-containers_top {
    display: flex;
    gap: 70px;
    padding-top: 40px;
    margin-bottom: 80px;
  }

  .explanation01 {
    font-size: 16px;
    line-height: 1.6;
    width: 200px;
  }

  .contents-midashi01 {
    font-size: 22px;
  }



}

/*==================================================
PV
===================================*/

/* デザイン全体を包むコンテナ */
.PV{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 60px auto;
}
.PV-container {
    position: relative;
    padding: 20px 30px; /* カードと外側の線の間の距離 */
    margin: 18px auto;
}
/* 中央の白いカード */
.white-card {
  width: 200px;
  height: calc(250px * 9 / 16);
  background-color: #ffffff;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* YouTube埋め込み（16:9でカード内に収める） */
.white-card .youtube-wrap {
    position: relative;
    height:calc(250px * 9 / 16);
}


.white-card .youtube-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}


.PV-container {
    & .white-card {
        .youtube-wrap {
            position: relative;
            width: calc(100% - 5px);
            height: calc(100% - 5px);
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
}

/* 四隅の線の共通設定 */
.corner-line {
    position: absolute;
    width: 50px;  /* 線の長さ（横） */
    height: 30px; /* 線の長さ（縦） */
    border: 2px solid #ffffff; /* 線の太さと色 */
    z-index: 1;
    filter: drop-shadow(1px 1px 3px var(--clr-lightblue));
}
/* 左上の角 */
.top-left {
    top: 0;
    left: 0;
    border-right: none;
    border-bottom: none;
}
/* 右上の角 */
.top-right {
    top: 0;
    right: 0;
    border-left: none;
    border-bottom: none;
}
/* 左下の角 */
.bottom-left {
    bottom: 0;
    left: 0;
    border-right: none;
    border-top: none;
}
/* 右下の角 */
.bottom-right {
    bottom: 0;
    right: 0;
    border-left: none;
    border-top: none;
}
@media (min-width:1024px){
  .PV-container {
    .white-card {
      width: calc(20vw * 16 / 9);
      height: 20vw;
    }
  }
}



/*インスタ*/
.Instagram{
  margin-top:50px;
}

.insta-frame{
  position: relative;
  width: 350px;
  margin: 0 auto;
}

.instaframe{
  width: 80vw;
  display: flex;
  margin: 18px auto;
  position: relative;
  filter: drop-shadow(1px 1px 3px var(--clr-lightblue));
}

.insta-scroll{
  width: 60%;
  height: 80%;
  overflow-x: hidden;
  top: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

}

.instagram-media{
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

@media (min-width:1024px){
  .insta-frame {
    position: relative;
    width: 35vw;
    margin: 0 auto;
  }
  .insta-scroll {
    width: 27vw;
  }
  .instaframe {
    width: 33vw;
    height: 29vw;
  }
}


@media (min-width:1024px){
  .media{
  display:flex;
  gap:45px;
  align-items:baseline;
  }
}

/*新入生お役立ち情報*/
/*==================================================
スライダーのためのcss
===================================*/

.articles{
  margin-top:40px;
  margin-bottom:90px;
}

.article-slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
    width:94%;
    margin:0 auto;
}



.article-slider .slick-slide {
	transform: scale(0.8);/*左右の画像のサイズを80%に*/
	transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
	opacity: 0.5;/*透過50%*/
}

.article-slider .slick-slide.slick-center{
	transform: scale(1);/*中央の画像のサイズだけ等倍に*/
	opacity: 1;/*透過なし*/
}


/*矢印の設定*/



.slick-prev {/*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
    text-align:center;
	margin:20px 0 0 0;
}

.slick-dots li {
    display:inline-block;
	margin:0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#ccc;/*ドットボタンの色*/
}



/*========= レイアウトのためのCSS ===============*/

/*body{
  overflow-x: hidden;
}*/



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

a{
	color: #333;
}

a:hover,
a:active{
	text-decoration: none;
}

.article-slider{
/* 行間を1.5倍に設定 */
  text-align: justify;
  text-align-last: left;
  line-height: 2.0;
  hyphens: auto;
  width: 160px; /* コンテンツ幅を調整 */
  text-decoration:underline dashed #999999 0.5px;
  text-underline-offset:3px;
}
/* コンテンツ用余白 */



.slider .slick-center {
  transform: scale(1);   /* 中央は大きく */
  opacity: 1;            /* 中央はハッキリ */
}


/* 矢印の中の「<」「>」 */
.slick-prev:before, .slick-next:before {
  color: #5da5a5 !important;
  font-size: 24px !important;
  opacity: 1 !important;
}
.slick-prev:before { content: '<' !important; }
.slick-next:before { content: '>' !important; }

/* ドットの下線（画像再現） */
.articles p {
  text-align: center;
  padding: 10px 0;
  background-position: bottom;
  background-size: 8px 1px;
  background-repeat: repeat-x;
  width: 140px;
  height: auto;
  color: var(--purewhite);
  font-family: "Noto Serif Japanese", serif;
  text-decoration: underline dashed #999999 0.5px;
  text-underline-offset: 3px;
}

.pickupslider {/*横幅94%で左右に余白を持たせて中央寄せ*/
    width:90%;
    margin: 18px auto;
    padding: 0;
}

.pickup_tab {
   display: none;
}
.slider li a{
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}


.slider img {
  width: 250px !important;
  height: 170px;
}

.pickupslider p{
    width:50vw;/*スライダー内の文章を60vwにしてレスポンシブ化*/
    height:auto;
    color:var(--purewhite);
    font-family: "Noto Serif Japanese", serif;
    font-size: 13px;
    text-decoration: underline dashed #999999 0.5px; 
    text-underline-offset:3px;
}


.slider .slick-slide {
   transform: scale(0.5);/*左右の画像のサイズを80%に*/
   transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
   opacity: 0.5;/*透過50%*/
}

.slider .slick-slide.slick-center{
   transform: scale(1);/*中央の画像のサイズだけ等倍に*/
   opacity: 1;/*透過なし*/
}


/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev,.slick-next {
    position: absolute;/*絶対配置にする*/
    top: 35% !important;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    z-index: 100!important;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left: 16% !important;
    transform: rotate(-135deg);
}


.slick-prev:before{
   font-size: 18px !important;
   width: 30px !important;
   height: 30px !important;
   opacity: 1 !important;
}
.slick-next:before{
   font-size: 18px !important;
   width: 30px !important;
   height: 30px !important;
   opacity: 1 !important;
}
/*ドットナビゲーションの設定*/

.slick-dots {
   display: flex;
   justify-content: center; /* 水平方向中央揃え */
   align-items: center; /* 垂直方向中央揃え */
   text-align: center;
   margin: 20px auto 0 auto;
   padding-inline-start: 0px;
}

.slick-dots li {
   display: flex;
   justify-content: center;
   align-items: center;
   margin: 0 7px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width: 20px; /* ドットボタンのサイズ */
    height: 20px; /* ドットボタンのサイズ */
    display: flex; /* フレックスボックス適用 */
    justify-content: center; /* 中央揃え */
    align-items: center; /* 中央揃え */
    border-radius: 50%;
    background: #458787; /* ドットボタンの色 */
    padding: 0;
    border: none;
}

.slick-dots .slick-active button {
    background:#458787; /* 現在地表示の色 */
    transform: scale(1.3); /* 大きくする */
}

.slider{
  width: 100%;
  overflow: hidden;
}

/* slick内部調整 */
.slick-prev{
  left: 50% !important;
  transform: translateX(-120%) rotate(-135deg);
}



.slick-track{
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* スライド基本 */
.slider .slick-slide{
  transform: scale(0.8);
  opacity: 0.4;
  transition: all 0.5s ease;
}

/* 中央だけ強調 */
.slider .slick-center{
  transform: scale(1);
  opacity: 1;
}

/* 矢印（デザイン統一） */
.slick-prev,
.slick-next{
  background: rgba(240, 241, 241, 0.7) !important;
  border: 1px solid rgba(240, 241, 241, 0.7) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 30px rgba(240, 241, 241, 1);
}

/* 矢印位置 */
.slick-prev{
  left: 50% !important;
  transform: translateX(-120%) rotate(-135deg);
}


/* ドット */
.slick-dots{
  display:flex;
  justify-content:center;
  margin-top:20px;
  margin-bottom: 5px;
}

.slick-dots button{
  width:8px;
  height:8px;
  border-radius:50%;
  border:none;
  background: #f0e9d7 !important;
  border: 1px solid #458787 !important;
  border-radius: 50% !important;
}

.slick-dots .slick-active button{
  background: #458787 !important;
  border: 1px solid #458787 !important;
  transform: scale(1.3);
}

.article-slider{
  margin-left: auto !important;
  margin-right: auto !important;
  transform: translateX(0) !important;
}

.article-slider{
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

.article-slider p{
  width: 100%;
  text-align: center;
  margin-top: 10px;
}

.slider li{
  text-align: center;
}

.slider p{
  margin: 10px auto 0 auto;
  width: 250px;
}


/* ===============================
   スマホ（最重要：ここ）
================================ */
 /* チラ見せ量を控えめに */
.slick-list {
  padding: 0 8% !important;
}

/* 画像は少し大きめ */



.slider .slick-center {
  transform: scale(1);
  opacity: 1;
}

/* 矢印を画面端に寄せるだけ */
.slick-prev, .slick-next {
  width: 32px !important;
  height: 32px !important;
  transform: translateY(-50%) !important;
}

.slick-prev {
  left: 7% !important;
  right: auto !important;
}

.slick-next {
  right: 7% !important;
  left: auto !important;
}

/* track を中央に */
.slick-track {
  margin-left: auto !important;
  margin-right: auto !important;
}
.slick-track{
display: flex !important;
justify-content: center !important;
align-items: center !important;
margin-left: auto !important;
margin-right: auto !important;
}

.article-slider{
  width: 100%;
  padding: 0 5%;
  box-sizing: border-box;
}

.article-slider .slick-list{
  padding: 0 !important;
}

.article-slider img{
  margin: 0 auto;
  display: block;
}


#pc{
display:none;
}

/* ===============================
   PC版（スライダー＞横並び）
================================ */

@media (min-width: 1024px){
.slick-list{
  padding: 0 !important;
}

.slider .slick-slide{
  transform: scale(0.8);
  opacity: 0.4;
  transition: all 0.5s ease;
}

.slider .slick-center{
  transform: scale(1);
  opacity: 1;
}

#pick_up{
  display:none;
}

#pc{
  display: block;
}
.articles-PC{
  width: 90vw;
  margin: 30px auto;
  display: flex;
  list-style: none;
  justify-content: space-around;
}

.a-img{
  width: 210px;
  height: 140px;
}

.pc li{   
  display: flex !important;
  flex-direction: column;
  justify-content: center;
}

.articles p{
  width: 210px;
}
/* ① ホバーされる各要素（li）にアニメーションの準備（transition）を設定 */
.articles-PC li {
  transition: all 0.3s ease; /* 0.3秒かけて滑らかに変化させる */
}

/* ② 各要素（li）にマウスが乗った時【個別】に動かす */
.articles-PC li:hover {
  transform: translateY(-5px) scale(1.05); /* 上に少し浮いて拡大 */
  opacity: 0.7; /* 透明度を下げて少し透けさせる */
  
  /* 必要であれば、前回使った影（drop-shadow）をつけてもOKです！ */
  /* filter: drop-shadow(5px 5px 5px #c7b299); */
}
}
/*以下に指定を記述する*/
/* header以外のdiv、あるいはmainタグなどを指定する */
main {
  background-color: #f0e9d7;
  min-height: 100%;
  padding-bottom: 90px;
}
.box1{color:#a4d3d3;}
.box1{white-space: pre-wrap;}
