@media(max-width: 420px) {


body {
 background-image: url('./../image/haikei/menu.png');
 background-repeat: no-repeat;
 background-size: 100%;
 color: #00286D;
 font-family: "Noto Sans","Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
 margin-right: auto;
 margin-left: auto;
 line-height: 1.6;
overflow-x: hidden;
}


/* 新しいコンテナのスタイル */
.header-content {
  position: relative; /* 子要素の配置基準に設定 */
  width: 100%;
  height: auto;
}

.main{
  width: 393px;
  height:auto;
}
.rakuensailogo{
  display: block;
  margin: auto;
  position: fixed; /* 親を基準に配置 */
  top: 20px; /* 上からの距離 */
  left: 12px; /* 左からの距離 */
  width: 126px;
  height: 50px;
  border-radius: 14px;
  z-index: 8; /* 背景画像より前に表示 */
}

.rakuensailogo2{
  display: block;
  margin: auto;
  position: fixed; /* 親を基準に配置 */
  top: 75px; /* 上からの距離 */
  left: 34px; /* 左からの距離 */
  width: 83px;
  height: 33px;
  border-radius: 14px;
  z-index: 8; /* 背景画像より前に表示 */
}

.Image {
width: 100%;
height: auto;
display: block;
margin: auto;
}

.day{
content: url("./../image/haikei/sp-date.png");
  display: block;
  margin: auto;
  padding-top: 19px;
}

.te-ma h2{
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 16px;
font-style: normal;
font-weight: 700;
line-height: normal;
padding-top:49px;

}


.line-pc-blue{
width: 134px;
height: 28px;
aspect-ratio: 67/14;
display: block;
margin: auto;
position: relative;
margin-top: -25px;

}
.te-mabun{
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 14px;
font-style: normal;
font-weight: 600;
line-height: normal;

}
.sangitantoha{
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 20px;
font-style: normal;
font-weight: 700;
line-height: normal;
text-decoration-line: underline;
text-decoration-style: solid;
text-decoration-skip-ink: auto;
text-decoration-thickness: auto;
text-underline-offset: auto;
text-underline-position: from-font;
padding-top: 22px;

}
.sangitantohabun{
width: 310px;
  color: #00286D;
  text-align: center;
display: block;
margin: auto;
font-family: "Noto Sans";
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: normal;
padding-top: 5px;
}
.sns{
width: 358px;
height: 41px;
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 14px;
font-style: normal;
font-weight: 700;
display: block;
line-height: normal;
margin: auto;
padding-top: 34px;
white-space: nowrap;
}

.pcblue{
display: none;

}

.event{
  width: 176px;
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 16px;
font-style: normal;
font-weight: 700;
line-height: normal;
padding-top: 64px;
margin-bottom: -70px;
}

.event-wrapper {
  display: flex;
  align-items: center; /* 垂直中央揃え */
  justify-content: center; /* 横方向中央揃え */
  gap: 110px; /* 要素間の余白 */
}

.slash1, .slash2{
width: 7.831px;
height: 18.599px;
padding-top: 64.4px;
flex-shrink: 0;
stroke-width: 5px;
stroke: #00286D;
margin-bottom: -70px;
}

.campus-container {
  display: block;
  margin: auto;
  justify-content: center;
  gap: 20px; /* 画像間の余白 */
  margin-top: 89px;
}

.campus-card {
  display: block;
  margin: auto;
  width: 355px; /* 画像幅 */
 
}

.mizucam{
  padding-top: 56px;
}


.campus-card img {
  display: block;
  margin: auto;
  width: 95%;
  height: auto;
  border-radius: 52px;
}

.campus-label {
display: block;
width: 84px;
height: 16px;
flex-direction: column;
justify-content: center;
flex-shrink: 0;
color: #FFF;
text-align: center;
font-family: "Noto Sans";
font-size: 12px;
font-style: normal;
font-weight: 600;
line-height: normal;
margin-top: 13px;
margin-left: auto;
margin-right: auto;
padding-top: 5px;

}

.campus-label.blue {
width: 125px;
height: 27px;
flex-shrink: 0;
border-radius: 100px;
background: #2463AE;
}

.campus-label.orange {
width: 125px;
height: 27px;
flex-shrink: 0;
border-radius: 100px;
background: #FF6B00;
margin-bottom: 49.8px;
}

.QA h2{

color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 16px;
font-style: normal;
font-weight: 700;
line-height: normal;
padding-top: 31.69px;

}

.line-pc-blue2{
display: block;
margin: auto;
flex-shrink: 0;
aspect-ratio: 67/14;
width: 134px;
height: 28px;
margin-top: -20px;
}


.rectangle{
position: relative;
display: block;
margin: auto;
width: 357px;
height: 100px;
border-radius: 16px;
background: #e2ebf6;
padding-top: 29px;

}

.rectangle2{
position: relative;
display: block;
margin: auto;
width: 357px;
height: 125px;
border-radius: 16px;
background: #e2ebf6;
margin-top: 30px;
}

.rectangle3{
position: relative;
display: block;
margin: auto;
width: 357px;
height: 118px;
border-radius: 16px;
background: #e2ebf6;
margin-top: 34px;
}

.rectangle .Qicon1{
position: absolute;
top: 45px;
left: 72px;
width: 20px;
height: 20px;
flex-shrink: 0;
aspect-ratio: 1/1;
}

.rectangle .Q1{
position: absolute;
width: 188px;
top: 45px;
left: 100px;
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 12px;
font-style: normal;
font-weight: 700;
line-height: normal;
font-weight: bold;
}

.rectangle .Aicon1{
position: absolute;
display: block;
margin: auto;
top: 75px;
left: 72px;
width: 20px;
height: 20px;
flex-shrink: 0;
aspect-ratio: 1/1;
}

.rectangle .A1{
position: absolute;
width: 193px;
top: 75px;
left: 110px;
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: normal;
}

.rectangle2 .Qicon2{
position: absolute;
top: 30px;
left: 72px;
width: 20px;
height: 20px;
flex-shrink: 0;
}

.rectangle2 .Q2{
position: absolute;
width: 188px;
top: 30px;
left: 100px;
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: normal;
font-weight: bold;
}

.rectangle2 .Aicon2{
position: absolute;
top: 70px;
left: 72px;
width: 20px;
height: 20px;
flex-shrink: 0;
}

.rectangle2 .A2{
position: absolute;
width: 193px;
top: 55px;
left: 110px;
color: #00286D;
font-family: "Noto Sans";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: normal;
}

.rectangle3 .Qicon3{
position: absolute;
top: 22px;
left: 72px;
width: 20px;
height: 20px;
flex-shrink: 0;
aspect-ratio: 1/1;
}

.rectangle3 .Q3{
position: absolute;
width: 188px;
top: 22px;
left: 94px;
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: normal;
font-weight: bold;
}

.rectangle3 .Aicon3{
position: absolute;
top: 71px;
left: 72px;
width: 20px;
height: 20px;
flex-shrink: 0;
aspect-ratio: 1/1;
}

.rectangle3 .A3{
position: absolute;
width: 193px;
top: 55px;
left: 110px;
color: #00286D;
font-family: "Noto Sans";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: normal;
}

.access h2{

color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 16px;
font-style: normal;
font-weight: 700;
line-height: normal;
padding-top: 127px;
}

.line-pc-blue3{
display: block;
margin: auto;
margin-top: -20px;
width: 134px;
height: 28px;
aspect-ratio: 67/14;
}




.sen1{
  display: none;
}


/* google map */

.department {
  display: none;
  text-align: center;
  margin-bottom: 20px;
}



.campus {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  padding: 20px;
  max-width: 1000px;
  margin: auto;
  border-radius: 8px;
}

.campus2 

{
 display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  padding: 20px;
  max-width: 1000px;
  margin: auto;
  border-radius: 8px;
 

}

.campus-info h2.blueyahaba {
  
  padding-left: 20%;
  font-size: 14px;
  margin-bottom: 10px;
  color: #2463AE;
}

.campus-info h2.orangemizusawa {
  order: 0;
  padding-left: 20%;
  font-size: 14px;
  color: #FF6B00;
  margin-bottom: 10px;
}

.campus-info p {
  display: flex;
  align-items: flex-start;
  margin: 8px 0;
  gap: 10px;
}

.info-icon {
  width: 15px;
  height: 15px;
  align-self: center;
}





.campus-map iframe {
  width: 356px;
  height: 170px;
  border: 0;
  border-radius: 8px;
}




.campus-info span {
  display: inline-block;
  line-height: 1.6;
  color: #00286D;
  font-family: "Noto Sans";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.social-footer-section {
  text-align: center;
  padding: 40px 0 20px;
}

.social-icons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  margin-top: 40px;
  margin-bottom: 20px;
}

.x-icon {
  width: 30px;
  height: auto;
}

.insta-icon {
  width: 34px;
  height: auto;
}

.youtube-icon {
  width: 44px;
  height: auto;
}



.fut{
  position: relative;
  width: 392px;
height: 85px;
flex-shrink: 0;
}

.fut .sangi-logo {
position: absolute;
flex-shrink: 0;
display: block;
margin: auto;
}

.footer {
  color: #2463AE;
  font-family: "Noto Sans";
  font-size: 8px;
  font-size: 0.8rem;
  fill: #FFF;
  filter: drop-shadow(0 -10px 16px #D6E4F1);
  margin-top: -10px;
}

.sangi-logo{
  width: 200px;
height: auto;
flex-shrink: 0;
margin-top: 25px;
}

.footer-line-container {
  background-color: white;
  
  box-shadow: 0 -5px 10px rgba(0, 0, 0, 0.1);
}


html {
    scroll-behavior: smooth;
  }

  /* デモ用の長い余白 */

  /* 右下のトップボタン */
  #backToTop {
  position: fixed;   /* 画面に固定 */
  right: 10px;       /* 右端からの距離 */
  bottom: 20px;          /* 縦の中央 */
  transform: translateY(100%); /* 位置を中央に補正 */
  padding: 12px;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  width: 40px;
  height: 40px;
  }
  /* 表示状態 */
  #backToTop.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .backtop{
    width: 100%;
    
  }

  /* キーボードフォーカス可視化 */
  #backToTop:focus-visible {
    outline: 3px solid #3b82f6;
    outline-offset: 2px;
  }

  /* ヘッダー（戻り先） */
  header#top {
    position: sticky;
    top: 0;
    background: #111;
    color: #fff;
    padding: 12px 16px;
    z-index: 10;
  }
  





  /* CSSコード */
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0px;
  background: #fff;
}

/* ここから下がハンバーガーメニューに関するCSS */
  
/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;/* 重なり順を一番上にする */
  cursor: pointer;
  background-image: url("../image/icon/Ellipse\ 57.png");
left: 82%;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #fff;
  transition: 0.3s;
  position: absolute;
  
}



/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}
  
/* メニューのデザイン*/
/* メニューのデザイン*/
.nav_content {
  width: 100%;
    height: 100%;
    position: fixed;
    top: -100%;
    left: 0 !important;  /* ここを追加 */
    z-index: 99;
    background-color:#6EA4D9;
    transition: top 0.5s;
    overflow-y: auto;

}
.text{
  color: #fff;
  padding-top: 80px;

}
.menu-top{
  padding-left: 127px;
  font-size: 22px;
  margin: 0;
}
.menu-yahaba,.menu-mizusawa{
  padding-left: 121px;
  font-size: 22px;
  margin: 0;
}
.menu-map{
  padding-left: 142px;
  font-size: 22px;
  margin: 0;
}
.menu-koumoku{
  padding-left: 120px;
  font-size: 19px;
  list-style: none;
  padding: 0 0 0 120px;
}
.menu-koumoku li::before{
  content: "✦";

}
/* メニュー黒ポチを消す */
.nav_list {
  list-style: none;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  top: 0;
    left: 0 !important;
}
/* アイコンがクリックされたら背景画像を消す */
#drawer_input:checked ~ .drawer_open {
  background-image: none;
  background-color: transparent; /* 完全に透明に */
  /* background-color: #fff; とかにすれば色に変えることも可能 */
}


hr {
  border: none;
  border-top: 2px solid #fff;
  width: 265px;         /* 線の長さはそのまま */
  margin-left: 60px;  
    /* 左に少し寄せる */
  margin-top: 10px;
  margin-bottom: 10px;
}

.text-bottom{
  padding-bottom: 20px;
}
.html,body{
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;

}

.ov-hi-x{
overflow-x: hidden;
    width: 100%;
}

/* SNSアイコンコンテナのスタイル */
.snsicon {
  display: none;
  position: fixed; /* 画面に固定 */
  top: 103px; /* 画面の上から150pxの位置に配置 */
  right: 37px; /* 画面の右から20pxの位置に配置 */
  display: flex; /* Flexboxを有効にする */
  flex-direction: column; /* アイコンを縦に並べる */
  gap: 20px; /* アイコン間の余白 */
  z-index: 90; /* 他の要素の上に表示 */
}

/* 各SNSアイコンの共通スタイル */
.snsicon img {
  display: none;
  width: 36px; /* アイコンのサイズを統一 */
  height: auto; /* 縦横比を維持 */
}

/* 以前のアイコンのスタイルはすべて削除してください */
/* .X, .instagram, .youtube { ... } */

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: fixed; /* 👈 ここをfixedに変更 */
  top: 20px; /* 👈 画面上部から90pxに配置 */
  right: 25px; /* 👈 画面右側から20pxに配置 */
  z-index: 100;
  cursor: pointer;
  background-image: url("../image/icon/Ellipse\ 57.png");
}

.menu-event{
  color: #FFF;
  
}

.campus {
    flex-direction: column;
  }

  .campus2 {
    flex-direction: column;
  }

  .campus-map iframe {
    height: 200px;
  }

  .department p {
    width: 100%;
  }

.campus-map {
  
  order: 1;
}

.sp{
  display: block;
  order: 0;
  margin: auto;
}
.pc{
  display: none;
}
.campus-info {
  display: block;
  margin: auto;
  position: relative;
  text-align: left;
  flex: 1;
  order: 2;
}

.campus h2.blueyahaba.sp {
  color: #2463AE;
font-family: "Noto Sans";
font-size: 16px;

}

.campus2 h2.orangemizusawa.sp {
  color: #FF6B00;
  font-family: "Noto Sans";
  font-size: 16px; 
}




/* jsの下 */
/* Animation for infinite scrolling to the left */
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* Animation for infinite scrolling to the right */
@keyframes infinity-scroll-right {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0%);
  }
}

/* Container for each row of images */
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
  margin-bottom: 5px; 
  margin-top: 4px;    
  transform: rotate(-2deg); 
  transform-origin: center center; 
}

/* List for the top row scrolling to the right */
.scroll-infinity__list--right {
  display: flex;
  list-style: none;
  padding: 0;
  animation: infinity-scroll-right 30s infinite linear 0.5s both;
}

/* List for the bottom row scrolling to the left */
.scroll-infinity__list--left {
  display: flex;
  list-style: none;
  padding: 0;
  animation: infinity-scroll-left 30s infinite linear 0.5s both;
}

/* Individual list items for image sizing and spacing */
.scroll-infinity__item {
  /* 縦横比を保ったまま、元のサイズの2倍になるように幅を調整 */
  width: calc(((100vw / 5) - 10px) * 2);
  margin-right: 15px; 
}

/* Style for the images within the list items */
.scroll-infinity__item > img {
  width: 100%;
  height: auto; /* 縦横比を自動で維持 */
}

.scroll-infinity{
  position: relative;
  left: -30px;
}

.twitter-tweet{
  width: 357px;
  display: block;
  margin: auto;
  padding-top: 27px;
  padding-bottom: 50px;
}



.newX{
width: 16px; /* アイコンの幅 */
    height: auto; /* 高さは自動調整 */
    filter: invert(100%);
    
    
  }

.campus-label.blue2 {
width: 166px;
height: 33px;
border-radius: 100px;
background: #2463AE;
text-decoration: none; /* リンクの下線を削除 */
color: #FFF;
text-align: center;
font-family: "Noto Sans";
font-size: 12px;
font-style: normal;
font-weight: 600;
line-height: normal;
margin-top: -50px;
}
.newXp{
  margin-top: 4px;
}

/*daisuke*/
/* 基本はPC用 */
.Kv{
  background-image: url(../image/daisuke/main_background.png); 
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.jump {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.jump img {
  opacity: 0;
  transform: translateY(100px);
  transition: transform 0.5s ease, opacity 0.5s ease;
  position: relative;
}

.jump img.animate {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.jump1 { z-index: 2; margin-right: -60px; }
.jump2 { z-index: 3; transform: scale(1.5) translateY(50px); margin-left: -90px;}
.jump3 { z-index: 1; margin-left: -230px; margin-top: 240px;}

.jump1.animate,
.jump2.animate,
.jump3.animate {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.rogo-container {
  position: absolute;
  top: 60%;    
  left: 47%;
  transform: translateX(-50%) scale(0); 
  display: flex;
  align-items: center;
  pointer-events: none;
  z-index: 3;
}

@keyframes popBounce {
  0%   { transform: translateX(-50%) scale(0); }
  60%  { transform: translateX(-50%) scale(1.2); }
  100% { transform: translateX(-50%) scale(1); }
}

.rogo-container.show { animation: popBounce 0.6s forwards; }

.rogo { width: 800px; margin-right: -30px; }
.catchphrase { width: 100px; }

.shape {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.shape img {
  position: absolute;
  left: 50%; top: 65%;
  transform: translate(-50%, -50%) scale(0.5);
  transition: transform 1s ease-out, opacity 1s ease-out;
  opacity: 0;
}
.shape img.animate { opacity: 1; }

/* ===== スマホ用 ===== */
@media (max-width: 500px) {
  .jump {
    position: relative; /* 子要素の基準枠にする */
    height: 80vh;
  }
  
  .jump img {
    position: absolute; /* 全部自由に配置可能に */
    width: 180px;
  }
  
  .jump2 {
    top: 180px;
    left: 190px;
    transform: translate(-50%, -50%) scale(1.2); /* 中央に固定 */
    z-index: 2;
  }
  
  .jump1 {
    top: 200px;
    left: -10px;
  }
  
  .jump3 {
    top: 15px;
    left: 410px;
  }
  
  

  .rogo-container { top: 58%; transform: translate(-50%, -50%) scale(0); }
  .rogo { width: 260px; margin-right:140px; }
  .catchphrase { width: 50px; margin-top: -50px; margin-left: 100px;}

  .shape img { 
      top: 50%; 
      transform: translate(-50%, -50%) scale(0.1); 
  }
}

}