/* モバイル版だけ表示 */

.mobile-home {
    display: block;
    padding: 10px;
    background: #ffffff;
    color: #000000;
  margin: 0;
  min-height: 100vh;
  font-family: "dot-gothic-16", sans-serif;
  overflow-x: hidden;
}

.pc-home {
  min-height: 100vh;
  background-image: url(../img/water-99.gif);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
}



.index-header {
  padding: 20px 0;
}

.index-title {
  color: #58ffa6;
  font-family: 'Px437_ATT_PC6300-2x', sans-serif;
  text-align: center;
  text-shadow: 3px 3px 0px #000;
  margin: 120px 20px 80px;
  font-size: 102px;
  transform: scaleY(0.5);
  transform-origin: center;
}

.index-main {
  display: flex;
  justify-content: center;
}

.home-screen {
  position: relative;
  width: 1100px;
  height: 720px;
}

.main-photo {
  position: absolute;
  width: 320px;
  max-width: none;
  left: 50%;
  top: 80px;
  transform: translateX(-50%);
  display: block;
  border-radius: 50%;
  box-shadow: 10px 20px 10px rgba(0,0,0,.8);
  z-index: 1;
    transform:
    translateX(calc(-50% + var(--swim-x,0px)))
    translateY(var(--swim-y,0px));
  
}


.icon-link{
  position:absolute;
  transform: translate(
    var(--swim-x, 0),
    var(--swim-y, 0)
  );
}

.icon {
  display: block;
  width: 76px;
  height: auto;
}


/* 隠し */
.secret-link {
  position: absolute;

  left: 900px;
  top: 0px;

  width: 80px;
  height: 80px;

  z-index: 30;

  /* 完全透明 */
  background: transparent;
}

/* アイコン個別 */


.icon-book {
  left: 70px;
  top: 0;
    transform: translate(
    var(--swim-x,0),
    var(--swim-y,0)
  );
}

.icon-profile {
  left: 724px;
  top: 0;
    transform: translate(
    var(--swim-x,0),
    var(--swim-y,0)
  );
}

.icon-youtube {
  left: 1004px;
  top: 120px;
    transform: translate(
    var(--swim-x,0),
    var(--swim-y,0)
  );
}

.icon-news {
  left: 180px;
  top: 180px;
    transform: translate(
    var(--swim-x,0),
    var(--swim-y,0)
  );
}

.icon-x {
  left: 884px;
  top: 300px;
    transform: translate(
    var(--swim-x,0),
    var(--swim-y,0)
  );
}

.icon-instagram {
  left: 924px;
  top: 380px;
    transform: translate(
    var(--swim-x,0),
    var(--swim-y,0)
  );
}

.icon-note {
  left: 100px;
  top: 500px;
    transform: translate(
    var(--swim-x,0),
    var(--swim-y,0)
  );
}

.icon-schedule {
  left: 300px;
  top: 400px;
    transform: translate(
    var(--swim-x,0),
    var(--swim-y,0)
  );
}

.icon-disco {
  left: 724px;
  top: 550px;
    transform: translate(
    var(--swim-x,0),
    var(--swim-y,0)
  );
}

.icon-contact {
  left: 500px;
  top: 590px;
    transform: translate(
    var(--swim-x,0),
    var(--swim-y,0)
  );
}

/* 揺れ */
.icon-link:hover .icon {
  animation: shake .15s infinite;
}

@keyframes shake {
  0% { transform: translate(0,0); }
  20% { transform: translate(-2px,1px); }
  40% { transform: translate(2px,-1px); }
  60% { transform: translate(-1px,-2px); }
  80% { transform: translate(2px,1px); }
  100% { transform: translate(0,0); }
}



/* ピンク帯 */
.pc-pink-news {
  width: 100vw;
  margin: 20px 0 80px;
  margin-left: calc(50% - 50vw);

  background: #ff4add;
  overflow: hidden;
  padding: 5px 0;
  white-space: nowrap;

  transform: scaleY(3);
  transform-origin: center;
}

.news-track{
    display:inline-block;
    color:#fff;
    font-size:28px;
    white-space:nowrap;
}
.new-news {
  color: #fff;
  font-family: 'dot-gothic-16', sans-serif;
  font-size: clamp(18px, 3vw, 32px);
  font-weight: normal;
  margin: 0;
    display:inline-block;
    white-space:nowrap;
}









/* フッター */
.index-footer{
    width: 1100px;
    margin: 0 auto;
    padding: 70px 0 50px;
}


.logout-mobile{
  display:grid;
  justify-content:flex-end;
}

.logout{
    margin:0;
    font-size:40px;
    font-family:'dot-gothic-16',sans-serif;
    letter-spacing:3px;
}

.mobile-view-link{
    margin:0;
    font-size:20px;
    font-family:'dot-gothic-16',sans-serif;
    letter-spacing:3px;
}
.sound-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    line-height: 0;
}

.sound-icon {
    width: 48px;
    height: auto;
    display: block;
}

.pc-sound-logout{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
/* 押されている時 */

.sound-btn.active .sound-icon{
    filter:
        brightness(1.4);
    transform:scale(1.1);
}

.mobile-home {
  display: none;
  min-height: 100vh;
  background: #fff;
  font-family:'dot-gothic-16',sans-serif;
}

body.is-mobile-view .pc-home {
  display: none;
}

body.is-mobile-view .mobile-home {
  display: block;
}

body.is-pc-view .pc-home {
  display: block;
}

body.is-pc-view .mobile-home {
  display: none;

}





.mobile-status {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.battery {
    width: 42px;
    height: auto;
}

.signal {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    height: 20px;
}

.signal span {
    display: block;
    width: 3px;
    background: #000;
}

.signal span:nth-child(1) { height: 5px; }
.signal span:nth-child(2) { height: 9px; }
.signal span:nth-child(3) { height: 13px; }
.signal span:nth-child(4) { height: 17px; }

.mobile-title {
    text-align: center;
    font-size: 22px;
    font-weight: normal;
    margin: 20px 0;
    font-family: 'Apricot', sans-serif;
}

.keitai-menu {
    margin-top: 20px;
}

.keitai-menu a {
    display: block;
    color: #0000ee;
    text-decoration: underline;
    margin-bottom: 8px;
    font-size: 15px;
}

.keitai-line {
    border: none;
    border-top: 1px solid #999;
    margin: 18px 0;
}

.mobile-counter,
.mobile-update {
    text-align: center;
    font-size: 13px;
    line-height: 1.6;
}

.pc-view-link {
    display: block;
    text-align: center;
    margin-top: 20px;
    color: #0000ee;
    text-decoration: underline;
    font-size: 15px;
}

.whats-new-title {
    text-align: center;
    font-size: 14px;
    margin: 10px 0;
}

.whats-new {
    font-size: 13px;
    line-height: 1.6;
    text-align: center;
}

.new-mark {
    display: inline-block;
    font-size: 10px;
    color: #ff0000;
    border: 1px solid #ff0000;
    padding: 0 3px;
    margin-right: 4px;
}

.mobile-time {
    text-align: center;
    font-size: 13px;
    margin: 4px 0 18px;
}

.mobile-photo-box {
    text-align: center;
    margin: 10px 0 18px;
}

.mobile-photo {
    width: 300px;
    height: 200px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid #000;
    box-shadow: 3px 3px 0 #999;
}

.mobile-bgm-link {
    display: block;
    text-align: center;
    color: #0000ee;
    text-decoration: underline;
    font-size: 14px;
    margin: 10px 0 14px;
}