html, body {
  width: 100%;
  overflow-x: none;
}

body {
 background-image: url('./../image/haikei/top.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;
}

.sp{
  display: none;
}
.pc{
  display: block;
}


/* 新しいコンテナのスタイル */
.header-content {
  position: relative; /* 子要素の配置基準に設定 */
  width: 100%;
  height: auto;
}

.main{
  width: 1280px;
  height:auto;
}
.rakuensailogo{
  display: block;
  margin: auto;
  position: fixed; /* 親を基準に配置 */
  top: 20px; /* 上からの距離 */
  left: 26px; /* 左からの距離 */
  width: 265px;
  height: 105px;
  border-radius: 14px;
  z-index: 2; /* 背景画像より前に表示 */
}

.rakuensailogo2{
  display: block;
  margin: auto;
  position: fixed; /* 親を基準に配置 */
  top: 136px; /* 上からの距離 */
  left: 67px; /* 左からの距離 */
  width: 183px;
 
  border-radius: 14px;
  z-index: 2; /* 背景画像より前に表示 */
}

.Image {
width: 100%;
height: auto;
display: block;
}
.day{
text-align: center;
flex-shrink: 0;
display: block; 
margin: auto;
padding-top:42.3px;

}
.te-ma h2{
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 50px;
font-style: normal;
font-weight: 600;
line-height: normal;
padding-top:0px;

}















.line-pc-blue{
width: 506px;
height: 67px;
flex-shrink: 0;
aspect-ratio: 506/67;
display: block;
margin: auto;
position: relative;
margin-top: -60px;
}
.te-mabun{
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 40px;
font-style: normal;
font-weight: 600;
line-height: normal;

}
.sangitantoha{
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 30px;
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: 70px;

}
.sangitantohabun{
width: 776px;
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 20px;
font-style: normal;
font-weight: 500;
line-height: normal;
padding-top: 7px;
display: block;
margin: auto;
}
.sns{
width: 358px;
height: 41px;
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 30px;
font-style: normal;
font-weight: 700;
display: block;
line-height: normal;
margin: auto;
padding-top: 151px;
white-space: nowrap;
}

.pcblue{
width: 153px;
height: 116px;
flex-shrink: 0;
aspect-ratio: 153/116;
vertical-align: middle;

}

.event{
width: 794px;
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 40px;
font-style: normal;
font-weight: 700;
line-height: normal;
padding-top: 237.8px;
}

.event-wrapper {
  display: flex;
  align-items: center; /* 垂直中央揃え */
  justify-content: center; /* 横方向中央揃え */
  gap: 0px; /* 要素間の余白 */
}

.slash1{
width: 23px;
height: 52px;
padding-top: 237.8px;
flex-shrink: 0;
stroke-width: 5px;
stroke: #00286D;
margin-right: -100px;
}

.slash2{
width: 23px;
height: 52px;
padding-top: 237.8px;
flex-shrink: 0;
stroke-width: 5px;
stroke: #00286D;
margin-left: -100px;
}




.campus-container {
  display: flex;
  justify-content: center;
  gap: 20px; /* 画像間の余白 */
  margin-top: 66px;
}

.campus-card {
  
  width: 380px; /* 画像幅 */
}

.campus-card img {
  width: 380px;
  height: 340px;
  border-radius: 52px;
}

.campus-label {
display: flex;
width: 228px;
height: 36px;
flex-direction: column;
justify-content: center;
flex-shrink: 0;
color: #FFF;
text-align: center;
font-family: "Noto Sans";
font-size: 30px;
font-style: normal;
font-weight: 600;
line-height: normal;
margin-top: 41px;
margin-left: auto;
margin-right: auto;
text-decoration: none;
}

.campus-label.blue {
width: 327px;
height: 57.11px;
flex-shrink: 0;
border-radius: 100px;
background: #2463AE;
margin-bottom: 144px;
}

.campus-label.orange {
width: 327px;
height: 57.11px;
flex-shrink: 0;
border-radius: 100px;
background: #FF6B00;

}

.QA h2{

color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 40px;
font-style: normal;
font-weight: 700;
line-height: normal;
padding-top:148px;

}

.line-pc-blue2{
  width: 482px;
height: 64px;
display: block;
margin: auto;
flex-shrink: 0;
aspect-ratio: 241/32;
margin-top: -50px;

}


.rectangle{
position: relative;
display: block;
margin: auto;
width: 840px;
height: 220px;
border-radius: 16px;
background: #e2ebf6;
padding-top: 26px;

}

.rectangle2{
position: relative;
display: block;
margin: auto;
width: 840px;
height: 220px;
border-radius: 16px;
background: #e2ebf6;
margin-top: 30px;
}

.rectangle3{
position: relative;
display: block;
margin: auto;
width: 840px;
height: 220px;
border-radius: 16px;
background: #e2ebf6;
margin-top: 34px;
}

.rectangle .Qicon1{
position: absolute;
top: 37px;
left: 46px;
width: 50px;
height: 50px;
flex-shrink: 0;
}

.rectangle .Q1{
position: absolute;
width: 317px;
top: 51px;
left: 100px;
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 20px;
font-style: normal;
font-weight: 400;
line-height: normal;
font-weight: bold;
}

.rectangle .Aicon1{
position: absolute;
top: 116px;
left: 46px;
width: 50px;
height: 50px;
flex-shrink: 0;
}

.rectangle .A1{
position: absolute;
width: 325px;
top: 127px;
left: 117px;
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 20px;
font-style: normal;
font-weight: 400;
line-height: normal;
}

.rectangle2 .Qicon2{
position: absolute;
top: 37px;
left: 46px;
width: 50px;
height: 50px;
flex-shrink: 0;
}

.rectangle2 .Q2{
position: absolute;
width: 341px;
top: 51px;
left: 86px;
color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 20px;
font-style: normal;
font-weight: 700;
line-height: normal;
font-weight: bold;
}

.rectangle2 .Aicon2{
position: absolute;
top: 116px;
left: 46px;
width: 50px;
height: 50px;
flex-shrink: 0;
}

.rectangle2 .A2{
position: absolute;
width: 640px;
top: 120px;
left: 117px;
color: #00286D;
font-family: "Noto Sans";
font-size: 20px;
font-style: normal;
font-weight: 400;
line-height: normal;
}

.rectangle3 .Qicon3{
position: absolute;
top: 37px;
left: 46px;
width: 50px;
height: 50px;
flex-shrink: 0;
}

.rectangle3 .Q3{
position: absolute;
width: 341px;
top: 51px;
left: 118px;
color: #00286D;
font-family: "Noto Sans";
font-size: 20px;
font-style: normal;
font-weight: 700;
line-height: normal;
font-weight: bold;
}

.rectangle3 .Aicon3{
position: absolute;
top: 116px;
left: 46px;
width: 50px;
height: 50px;
flex-shrink: 0;
}

.rectangle3 .A3{
position: absolute;
width: 640px;
top: 120px;
left: 118px;
color: #00286D;
font-family: "Noto Sans";
font-size: 20px;
font-style: normal;
font-weight: 400;
line-height: normal;
}

.access h2{

color: #00286D;
text-align: center;
font-family: "Noto Sans";
font-size: 40px;
font-style: normal;
font-weight: 700;
line-height: normal;
padding-top: 127px;
}

.line-pc-blue3{
  width: 482px;
height: 64px;
display: block;
margin: auto;
flex-shrink: 0;
aspect-ratio: 241/32;
margin-top: -60px;
margin-bottom: 63px;
}







/* google map */

.department {
  text-align: center;
  margin-bottom: 20px;
}

.department p {
  display: block;
  margin: 6px auto;
  padding-left: 20%;
}

.department span {
  display: inline-block;
  border-bottom: 2px solid #00286D;
  padding: 4px 0;
  width: 50%;
}

.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;
  flex-direction: row-reverse;
}

.campus-info {
  font-family: "Noto Sans";
  position: relative;
  text-align: left;
  flex: 1;
}

.campus-info h2.blueyahaba {
  padding-left: 20%;
  font-size: 30px;
  margin-bottom: 10px;
  color: #2463AE;
}

.campus-info h2.orangemizusawa {
  padding-left: 20%;
  font-size: 30px;
  color: #FF6B00;
  margin-bottom: 10px;
}

.campus-info p {
  display: flex;
  align-items: flex-start;
  margin: 8px 0;
  gap: 10px;
}

.info-icon {
  width: 20px;
  height: 20px;
  align-self: center;
}

.campus-map {
  flex: 1;
}

.campus-map iframe {
  width: 390px;
  height: 390px;
  border: 0;
  border-radius: 8px;
}

.campus-info span {
  display: inline-block;
  line-height: 1.6;
}

.sen1 {
  border: none;
  border-top: 1px solid #ccc;
  margin: 40px auto;
  width: 80%;
}

.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: 70px;
  height: auto;
}

.insta-icon {
  width: 70px;
  height: auto;
}

.youtube-icon {
  width: 80px;
  height: auto;
}



.fut{
  position: relative;
  width: 1280px;
height: 198px;
flex-shrink: 0;
}

.fut .sangi-logo {
position: absolute;
width: 454px;
height: 71px;
flex-shrink: 0;
display: block;
margin: auto;
}

.sangi-logo{
  margin-top: 30px;
}

.footer {
  font-size: 0.8rem;
  color: #2463AE;;
  fill: #FFF;
filter: drop-shadow(0 -15px 34px #D6E4F1);
}

.footer-line-container {
  background-color: white;
  padding: 15px;
  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: 75px;
 height: 75px;
  }
  /* 表示状態 */
  #backToTop.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  /* キーボードフォーカス可視化 */
  #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: fixed;   /* ← 右上に固定 */
   top: 20px;
   right: 20px;
   z-index: 100;
   cursor: pointer;
   background-image: url("../image/icon/Ellipse\ 57.png");
   background-size: cover;
 
 }

/* ハンバーガーメニューのアイコン */
.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.5s;
  position: absolute;
  
}
/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#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: 380px;
  height: 100%;
  position: fixed;
  top: 0;
  right: -380px;
  z-index: 99;
  background-color:#6EA4D9;
  transition: .5s;
  overflow-y: auto;

}
.text{
  color: #fff;
  padding-top: 100px;

}
.menu-top{
  padding-left: 127px;
  font-size: 22px;
  
}
.menu-yahaba,.menu-mizusawa{
  padding-left: 121px;
  font-size: 22px;
  
}
.menu-map{
  padding-left: 142px;
  font-size: 22px;
}
.menu-koumoku{
  padding-left: 120px;
  font-size: 19px;
  list-style: none;
   padding-top: 20px;
  padding-bottom: 20px;
  margin: 0;
}
.menu-koumoku li::before{
  content: "✦";

}
/* メニュー黒ポチを消す */
.nav_list {
  list-style: none;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  right: 0%;/* メニューを画面に入れる */
}
/* アイコンがクリックされたら背景画像を消す */
#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;
}

/* SNSアイコンコンテナのスタイル */
.snsicon {
  position: fixed; /* 画面に固定 */
  top: 103px; /* 画面の上から150pxの位置に配置 */
  right: 37px; /* 画面の右から20pxの位置に配置 */
  display: flex; /* Flexboxを有効にする */
  flex-direction: column; /* アイコンを縦に並べる */
  gap: 20px; /* アイコン間の余白 */
  z-index: 90; /* 他の要素の上に表示 */
}

/* 各SNSアイコンの共通スタイル */
.snsicon img {
  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;
  text-decoration: none;

}




/* jsの下 */
@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-50%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
  
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 30s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc((100vw / 4) - 10px); /* スペース分だけ幅を調整 */
  margin-right: -15px; /* 画像間のスペース */
  margin-bottom: 0; /* 5pxから0に変更 */
  margin-top: 0;
}
.scroll-infinity__item>img {
  width: 92%;
}


@keyframes infinity-scroll-right {
from {
  transform: translateX(-50%);
}
  to {
  transform: translateX(0%);
}
}
.scroll-infinity__list--right{
  animation :infinity-scroll-right 30s infinite linear 0.5s both;
}
.scroll-infinity {
    transform: translate(30px, 20px) rotate(-3.5deg);
    padding-top: 7px;
}



/* 基本は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; }


.twitter-tweet{
  display: block;
  margin: auto;
  padding-top: 61px;
  
}



.newX{
width: 30px; /* アイコンの幅 */
    height: auto; /* 高さは自動調整 */
    filter: invert(100%);
    
    
  }

.campus-label.blue2 {
width: 379px;
height: 57.11px;
flex-shrink: 0;
border-radius: 100px;
background: #2463AE;
text-decoration: none; /* リンクの下線を削除 */
color: #FFF;
text-align: center;
font-family: "Noto Sans";

}