@charset "UTF-8";
*,::before,::after {
  box-sizing: border-box;
  border-width:0 ;
  border-style: solid;
  border-color: currentColor
}
html {
  scroll-behavior: smooth;
  overflow-y: scroll;
  font-size: 62.5%; 
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
}
body{
  background-color: #151515;
  line-height: 1.5;
  font-family: "Zen Kaku Gothic New";
  font-weight: 400;
  color: #151515;
  opacity: 0;
  transition: opacity 3s ease;
  cursor: none;
}
body.loaded {
  opacity: 1;
}
h1{
  font-family:"DM Serif Text";
  font-weight: 500;
  font-size: 24rem;
  line-height: 1; 
  display: inline-block; 
  color: #c6baaa;
}
h2{
  font-family: "Zen Kaku Gothic New";
  font-weight: 800;
  font-size: 4rem;
}
p{
  font-family: "Zen Kaku Gothic New";
  font-weight: 400;
  font-size: 1.5rem;
}
a{
  color: inherit;
  text-decoration: inherit;
  cursor: none;
}
li{
  list-style: none;
}
/* ===== fixed 右の位置調整 ===== */
:root {
  --wrapper-max: 1980px;
  --gutter: 48px;
  --right-offset: max(
    var(--gutter),
    calc((100vw - var(--wrapper-max)) / 2 + var(--gutter))
  );
}
/*　=====　footer　=====　*/
footer{
  background-color: #c6baaa;
  height: 40px;
  display: flex;
  justify-content: right; 
  align-items: center;    
}
.footer-wrapper{
  background-color: #c6baaa;
}
.footer-text{
  margin-right: 56px;
  font-size: 1.4rem;
  color: #151515;
}
/* === home footer ==  */
.home footer{
  background-color: #151515;
}
.home .footer-wrapper{
  background-color: #151515
}
.home .footer-text{
  color: #c6baaa;
}
/*　=====　フェードイン・アウト　=====　*/
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 2s ease, transform 2s ease;
}
.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}
.fade-out {
  opacity: 0 !important;
}
/*　=====　誘導ページ　=====　*/
.gateway{
  overflow: hidden;
}
.next-flexbox{
  display: flex;
  justify-content: center;
  justify-content: space-between;
  margin: 40px 20px 200px 20px;
  color:#c6baaa ;
}
.about-dream{
  text-align: right;
}
.content {
  width: 300px;
  height: 300px;
  margin-right: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #fff;
}
.pageposter .content:nth-child(1) { background-image: url(../img/poster-memo1.jpg); }
.pageposter .content:nth-child(2) { background-image: url(../img/poster-memo2.jpg); }
.pageposter .content:nth-child(3) { background-image: url(../img/poster-memo3.jpg); }
.pageposter .content:nth-child(4) { background-image: url(../img/poster-memo4.jpg); }
.pageposter .content:nth-child(5) { background-image: url(../img/poster-memo5.jpg); }
.pageposter .content:nth-child(6) { background-image: url(../img/poster-memo6.jpg); }
.pageflyer .content:nth-child(1) { background-image: url(../img/flyer-memo1.jpg); }
.pageflyer .content:nth-child(2) { background-image: url(../img/flyer-memo2.jpg); }
.pageflyer .content:nth-child(3) { background-image: url(../img/flyer-memo3.jpg); }
.pageflyer .content:nth-child(4) { background-image: url(../img/flyer-memo4.jpg); }
.pageflyer .content:nth-child(5) { background-image: url(../img/flyer-memo5.jpg); }
.pageflyer .content:nth-child(6) { background-image: url(../img/flyer-memo6.jpg); }
.pagecard .content:nth-child(1) { background-image: url(../img/card-memo1.jpg); }
.pagecard .content:nth-child(2) { background-image: url(../img/card-memo2.jpg); }
.pagecard .content:nth-child(3) { background-image: url(../img/card-memo3.jpg); }
.pagecard .content:nth-child(4) { background-image: url(../img/card-memo4.jpg); }
.pagecard .content:nth-child(5) { background-image: url(../img/card-memo5.jpg); }
.pagecard .content:nth-child(6) { background-image: url(../img/card-memo6.jpg); }
.pagebanner .content:nth-child(1) { background-image: url(../img/banner-memo1.jpg); }
.pagebanner .content:nth-child(2) { background-image: url(../img/banner-memo2.jpg); }
.pagebanner .content:nth-child(3) { background-image: url(../img/banner-memo3.jpg); }
.pagebanner .content:nth-child(4) { background-image: url(../img/banner-memo4.jpg); }
.pagebanner .content:nth-child(5) { background-image: url(../img/banner-memo5.jpg); }
.pagebanner .content:nth-child(6) { background-image: url(../img/banner-memo6.jpg); }
.pagesite .content:nth-child(1){ background-image: url(../img/site-memo1.jpg); }
.pagesite .content:nth-child(2){ background-image: url(../img/site-memo2.jpg); }
.pagesite .content:nth-child(3){ background-image: url(../img/site-memo3.jpg); }
.pagesite .content:nth-child(4){ background-image: url(../img/site-memo4.jpg); }
.pagesite .content:nth-child(5){ background-image: url(../img/site-memo5.jpg); }
.pagesite .content:nth-child(6){ background-image: url(../img/site-memo6.jpg); }
.memo-slideshow {
  display: flex;
  animation: loop-slide 20s infinite linear 1s both;
}
.memo-wrap{
  display: flex;
  align-items: center;
　height: 340px;
　overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
  .slide-paused:hover .memo-slideshow{
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
  }
}
.content-hover {
  transition: all 0.2s;
  margin-right: 20px;
}
.content-hover:hover {
  transform: translateY(-20px);
  border-radius: 0 10%;
  box-shadow: 0 3px 10px 0 #fff;
  opacity: 0.8;
}

/* === お知らせと連絡先 === */
.media{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  padding: 28px 160px 28px 80px 
}
.contact{
  grid-column: 1;
  grid-row: 2;
  line-height: 2.7;
  font-size: 1.8rem;
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
  align-self: end;
  color: #c6baaa;
}
.news{
  grid-column: 2;
  grid-row: 1;
  font-size: 1.6rem;
  max-width: 500px;
  border-collapse: collapse;
  margin-top: 1em;
  margin: auto 10px;
  color: #c6baaa;
}
.news td{
  border-bottom: 1px solid #c6baaa;
  padding: 16px 12px;
  text-align: left;
}
.news th{
  border-bottom: 2px solid #c6baaa;
  padding: 16px 12px;
  text-align: left;
}
/*=== homeだけ色反転 ====*/
.home .contact{
  color: #151515;
}
.home .news{
  color: #151515;
}
.home .news td {
  border-color: #151515;
}
.home .news th{
  border-color: #151515;
}
/* === カーソル設定(スマホ×) === */
@media (hover: hover) and (pointer: fine) {

  .cursor {
    position: fixed;
    top: -5px;
    left: -5px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #b3b3b3;
    pointer-events: none;
    z-index: 9999;
    transform: translate(0, 0);
    transition: width 0.5s, height 0.5s, top 0.5s, left 0.5s;
  }
  .cursor.cursor--hover {
    top: -20px;
    left: -20px;
    width: 60px;
    height: 60px;
    background: rgba(250, 224, 0, 0.5);
  }
}
/* ===== アニメーション ===== */
@keyframes loop-slide-vertical-2 {
  from { transform: translateY(-100%); }
  to   { transform: translateY(0); }
}
@keyframes loop-slide-vertical-1 {
  from { transform: translateY(0); }
  to   { transform: translateY(-100%); }
}
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes move-stars {
  from {
    background-position: 0 0, 100% 0;
  }
  to {
    background-position: -100% 0, 0 0;
  }
}
@keyframes float-diagonal{
  0% {
    transform: translate(0,0);
  }
  50% {
    transform: translate(-12px,-3px);
  }
  100% {
    transform: translate(0,0);
  }
}
@keyframes move-updown {
  0% {
    top: 0%;
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  50% {
    top: 60%;
    opacity: 1;
  }
  100% {
    top: 100%;
    opacity: 0;
  }
}

/* ======== header ======== */

/* ===== 位置 ===== */
#nav,
#to-top,
#location,
.scroll-indicator {
  right: var(--right-offset);
  transition: right 0.3s ease; 
}
.header-wrapper{
  position: relative;
  z-index: 100;
}
#nav,#SNS,#to-top,#realtime-fixed,#location{
  position: fixed;
  z-index: 1000;
  transition: top 0.5s ease, opacity 0.6s ease;
}
/* == topだけの位置 == */
.top-section-active #SNS{
  bottom: 40px;
  left: 80px;
}
.top-section-active #location{
  top: 60px;
  --wrapper-max: 1980px;
  --gutter: 90px;
  --right-offset: max(
    var(--gutter),
    calc((100vw - var(--wrapper-max)) / 2 + var(--gutter))
  );
}
.top-section-active #realtime-fixed {
  top: 60px; 
}
body.top-section-active #nav{
  top: 60px;
  --wrapper-max: 1980px;
  --gutter: 90px;
  --right-offset: max(
    var(--gutter),
    calc((100vw - var(--wrapper-max)) / 2 + var(--gutter))
  );
}
/*

通常 #c6baaa opacity:0;
.visibleで表示 opacity:1;
.invert-colorで色反転 #151515

*/

/* ======= nav ======= */

#nav{
  font-size: 1.8rem;
  writing-mode: vertical-rl;
  top: 32px;
  opacity: 0;
  pointer-events: none; 
}
#nav a{
  display: inline-block;
}
#nav.visible{
  opacity: 1;
  pointer-events: auto;
}
#nav li{
  margin-left: 20px;
  font-family:"Zen Kaku Gothic New";
  font-weight: 400;
}
#nav a{
  border: solid 1px #c6baaa;
  padding: 20px 5px;
  border-radius: 4px;
  color: #c6baaa;
 
}
@media (hover: hover) and (pointer: fine) {
  #nav a{
    display: inline-block; 
    transition: transform 0.3s ease; 
  }
  #nav a:hover{
    transform: translateY(10px);
  }
}

/* ======= sns ======= */

#SNS{
  width: 30px;
  text-align: center;
  color: #c6baaa;
  font-size: 1.8rem;
  line-height: 5rem;
  bottom: 40px;
  left: 42px;
  opacity: 0;
  transform: translateX(-20px);
  transition: transform 0.4s ease, opacity 0.6s ease;
  pointer-events: none;
}
#SNS.visible{
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
.note-img{
  background-image: url(../img/noteicon1.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 24px;
  height: 24px;
  margin-top: 12px;
}
#SNS div {
  display: inline-block; 
  transition: transform 0.3s ease; 
}
@media (hover: hover) and (pointer: fine) {
  #SNS div:hover{
    transform: translateY(6px); 
  }
}
.mail{
  font-size: 1.6rem;
}

/* ======= to-top ======= */

#to-top{
  bottom: 40px;
  right: var(--right-offset);
  font-size: 2rem;
  opacity: 0;
  transform: translateX(20px);
  transition: transform 0.4s ease, opacity 0.6s ease;
  pointer-events: none; 
}
#to-top a{
  color: #151515;
  border: solid 2px #151515;
  border-radius: 30px;
  padding: 8px 0 0 12px;
  height: 48px;
  width: 48px;
  background-color: #c6baaa;
  display: inline-block;
  transition: transform 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  #to-top a:hover{
    transform: translateY(-10px);
  }
}
#to-top.visible{
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

/* ======= realtime ======= */

#realtime-fixed{
  top:20px;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 2rem;
  font-family: "Zen Kaku Gothic New";
  font-weight: 400;
  color: #c6baaa;
  transform: translateY(-20px); 
  opacity: 0;
  transition: transform 0.3s ease, opacity 0.6s ease;
}
#realtime-fixed.visible {
  transform: translateY(0);
  opacity: 1;
}

/* ======= location ======= */

#location{
  font-size: 2.4rem;
  color: #c6baaa;
  top: 48px;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 30px;
  margin-right: 8px;
  right: var(--right-offset);
}


/* ======= scroll line ======= */

.scroll-indicator {
  position: absolute;
  bottom: 100px;
  right: var(--right-offset);
  transform: translateX(-50%);
  width: 2px;
  height: 200px; 
  z-index: 999;
}
.scroll-indicator .line {
  position: absolute;
  top: 0;
  width: 2px;
  height: 100%;
  background-color: #c6baaa; 
  opacity: 0.5;
}
.scroll-indicator .short-line {
  position: absolute;
  width: 2px;
  height: 20px; 
  background-color: #f7f7f7;
  animation: move-updown 2s ease-in-out infinite;
  opacity: 1;
}

/* ======= 色反転（黒へ） ======= */

#realtime-fixed.invert-color {
  color: #151515;
}
#SNS.invert-color {
  color: #151515;
}
#nav.invert-color a {
  color: #151515;
  border-color: #151515;
}
#to-top.invert-color a {
  color: #c6baaa;
  background-color: #151515;
  border-color: #c6baaa;
}
#location.invert-color{
  color: #151515;
}


/* ======= 最下部に来た時 ======= */

#to-top, #SNS {
  transition: bottom 0.3s ease;
}
#to-top.shift-up {
  bottom: 80px; 
}
#SNS.shift-up {
  bottom: 60px; 
}

/* ======= コピーした時の案内（スマホ×） ======= */
#toast {
  position: fixed;
  bottom: 64px;
  left: 50%;
  transform: translateX(-50%);
  background: #151515;
  color: #f7f7f7;
  padding: 8px 16px;
  border-radius: 4px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.4rem;
  z-index: 9999;
}
#toast.show {
  opacity: 1;
}
/* ======= 1980px以上は広がらない ======= */
.body-wrapper{
  max-width: 1980px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}
/* ======= 　　　　各ページ 　　　　======= */

/* ===== 　各ページのトップ　 ===== */
#top.page-top{
  position: relative;
  width: 100%;
  height:100vh; 
  z-index: 1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  grid-template-rows: 2fr 1fr auto 0.5fr;
  padding:100px 160px 100px 160px;
}
/* === タイトル画像 ===　*/
.page-top-img{
  grid-column: 1/3;
  grid-row: 1/6;
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
}
.pagecard .page-top-img{ background-image: url(../img/card-top-img.svg); }
.pagebanner .page-top-img{ background-image: url(../img/banner-top-img.svg); }
.pagesite .page-top-img{ background-image: url(../img/site-top-img.svg); }
.pageposter .page-top-img{ background-image: url(../img/poster-top-img.svg); }
.pageflyer .page-top-img{ background-image: url(../img/flyer-top-img.svg); }

/*　=== カード型の画像 ===　*/
.page-top-imgcard{
  grid-column: 2;
  grid-row: 2/5;
  position: relative;
  width: 500px;
  height: auto;
}
.imgcard1{
  position: absolute;
  top: 0;
  left: 0;
  width: 300px;
  height: 100%; 
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(-8deg);
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center; 
}
.imgcard2{
  position: absolute;
  top: 0px;
  left: 200px;
  width: 300px;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 2;   
}
.imgcard1 p,
.imgcard2 p{
  width:100%;
  height:100%;
  text-align: center;
  padding-top: 20px;
  padding-left: 10px;
  font-size: 1.5rem;
  color: #151515;
  opacity: 0;
  font-family: "Zen Kaku Gothic New";
  font-weight: bold;
}
@media (hover: hover) and (pointer: fine) {
  .imgcard1:hover,
  .imgcard2:hover{
    z-index: 3;
    transform: rotate(8deg)
  }
  .imgcard1 p:hover,
  .imgcard2 p:hover{
    opacity: 1;
  }
}
.pagesite .imgcard1{ background-image: url(../img/page-top-img-site1.png); }
.pagecard .imgcard1{ background-image: url(../img/page-top-img-card1.png); }
.pagebanner .imgcard1{ background-image: url(../img/page-top-img-banner1.png); }
.pageposter .imgcard1{ background-image: url(../img/page-top-img-poster1.png); }
.pageflyer .imgcard1{ background-image: url(../img/page-top-img-flyer1.png); }

.pagesite .imgcard2{ background-image: url(../img/page-top-img-site2.png); }
.pagecard .imgcard2{ background-image: url(../img/page-top-img-card2.png); }
.pagebanner .imgcard2{ background-image: url(../img/page-top-img-banner2.png); }
.pageposter .imgcard2{ background-image: url(../img/page-top-img-poster2.png); }
.pageflyer .imgcard2{ background-image: url(../img/page-top-img-flyer2.png); }


/* == 箇条書きの一覧 == */
.page-top-nav{
  grid-column: 1;
  grid-row: 4;
  line-height: 4rem;
  justify-self: start;
  align-self: end;
  padding-top: 20px;
}
.page-top-nav li{
  font-size: 1.6rem;
  color: #c6baaa;
  list-style-type: circle;
  list-style-position: inside;
  margin-left: 16px;
}
/* == 日本語のタイトル == */
.page-top-title{
  grid-column: 1;
  grid-row: 3;
  margin-left: 10px;
  align-self: end;
}
.page-top-title h1{
  font-size: 5rem;
  font-family:"Zen Kaku Gothic New";
  font-weight: 800;
}
/* == 隣のハッシュタグ == */
.page-top-hashtag{
  font-size: 1.8rem;
  color: #c6baaa;
  align-self: end;
  margin-left: 10px;
}
/* 　=========== 各ページ本文 ===========  */
.pagegrid{
  display: grid;
  grid-template-columns:120px 1.5fr 3fr;
  background-color: #c6baaa;
  position: relative;
}
/* 　=== 左（タイトルh2） ===  */
.page-left-wrapper{
  grid-column: 1;
  position: sticky;
  top: 0;
  height: 100vh;
  align-self: start;
  background-color: #151515;
}
.page-left-wrapper h2{
 writing-mode: vertical-rl;
 margin: 50px auto;
 font-size: 2.4rem;
 color: #c6baaa;
}
/* 　=== 右（文章） ===  */
.page-right-wrapper{
  grid-column: 3;
  padding: 700px 200px 80px 48px;
}
.page-right-wrapper h3 {
  font-size: 1.9rem;
  font-weight: normal;
  padding: 10px 15px;
  border-radius: 5px;
  font-family:"Zen Kaku Gothic New";
  font-size: 700;
  margin-bottom: 40px;
  border: solid 2px #151515;
  background-color: #151515;
  color: #c6baaa;
}
.hashtag {
  float: right;
  font-size: 1.6rem;
  margin-left: 8px;
  vertical-align: bottom;
  font-family:"Zen Kaku Gothic New";
  font-weight: 200;
}
.web-h3-pointcolor h3{
  border: solid 2px #151515;
  background-color: #c6baaa;
  color: #151515;
}
.dtp-ex,
.web-ex{
  padding-left: 16px;
}
.dtp-ex li,
.web-ex li{
  margin: 20px 0 100px 0;
  font-size: 2rem;
  color: #c6baaa;
  font-family:"Zen Kaku Gothic New";
  font-size: 700;
}
.dtp-ex p,
.web-ex p{
  text-indent: -1.3em; 
  padding-left: 1em; 
  line-height: 3rem;
  font-size: 1.6rem;
  margin: 20px 0 0 20px;
  color: #151515;
  font-family: "Zen Kaku Gothic New";
  font-weight: 400;
}
/* 右本文内のの画像  */
.page-ex-img{
  max-width: 100%;
  width: 90%;
  height: auto;
  display: block;
  margin:  20px auto 0;
}
/* 　=== 中央（作品） ===  */
.dtp-center-wrapper{
  height: 100vh;
  position: sticky;
  top: 0;
  display: block;   
}
.dtp-center-wrapper img{
  position: absolute;
  top: 50%;
  left: 50%;
  padding: 0 20px;
  transform: translate(-50%, -50%);
  max-width: 100%;
  height: auto;
  object-fit: contain;
  z-index: 1; 
}

/*　== 画像の裏表調節 == */

.dtp-center-wrapper .flyer2-1,
.dtp-center-wrapper .card1-1,
.dtp-center-wrapper .card2-1{
 z-index: 3; 
}
.dtp-center-wrapper .flyer2-2,
.dtp-center-wrapper .card1-2,
.dtp-center-wrapper .card2-2{
 z-index: 2; transition: z-index 0.3s ease;
}
/* active が付くと前面に */
.dtp-center-wrapper .flyer2-2.active,
.dtp-center-wrapper .card1-2.active,
.dtp-center-wrapper .card2-2.active{
  z-index: 4;
}
/* == 表裏ボタン == */
.toggleFlyerZ{
  background-color: #151515;
  width: 120px;
  height: 50px;
  max-width: 100%;
  display: block;
  margin: 30px auto auto 30px;
  object-fit: contain;
  border-radius: 30px;
  color: white;
  z-index: 200;
  position: relative;
}
.toggleFlyerZ-in{
  width: 50px;
  height: 40px;
  background-color: #f7f7f7;
  border-radius: 30px;
  margin-left: 0;
  transition: margin-left 0.3s ease;
}
.toggleFlyerZ-in.moved {
  margin-left: 60px;
}

/* == 作品ごとの画像幅 == ✅*/
.pageflyer .dtp-center-wrapper img{
  width: 400px;
}
.pagecard .dtp-center-wrapper img{
  width: 240px;
}
.pagecard .dtp-center-wrapper.hr img{
  height: 240px;
  width: auto;
}

/* 　========= バナーページ限定設定 =========  */
.banner-center-wrapper {
  grid-column: 2;
}
.header-inner{
  display: flex;     
  flex-direction: column;   
  justify-content: center;  
  align-items: center;       
  gap: 20px;                 
  height: 100vh;
  position: sticky;
  top: 0;
}
.banner-center-wrapper img{
  width: 300px;
  height: auto;
  max-width: 100%;
  display: block;
  margin: 0 auto;
  object-fit: contain;
  max-height: 30vh;
}
.banner1-1,
.banner1-2,
.banner1-3,
.banner2-1,
.banner2-2,
.banner2-3{
  opacity: 1;
  transition: opacity 0.5s ease;
}
/* 　========= サイトページ限定設定 =========  */
.site-center-wrapper{
  grid-column: 2;
  display: flex;     
  flex-direction: column;   
  justify-content: center;  
  align-items: center;       
  gap: 20px;                 
  height: 100vh;
  position: sticky;
  top: 0;
}
.site-center-wrapper img{
  width: 400px;
  height: auto;
  max-width: 100%;
  display: block;
  margin: 0 auto;
  object-fit: contain;
  max-height: 40vh;
}

/* == == == == == == ==== == == == == */
/* == == == == ファーストビュー == == == == */
/* == == == == == == ==== == == == == */

#top{
  background-color: #151515;
  position: relative;
  z-index: -10;
  max-width: 100%;
  min-height: 100vh;
  color: #c6baaa;
  overflow: hidden;
}
.top-layer-bg {
  position: absolute;
  z-index: -9;
  width: 400%;
  height: 100vh;
  background-image: url('../img/bg-star.png');
  background-repeat: repeat-x;
  background-size: auto 100%;
  background-position: 0 0 0 0;
  animation: move-stars 360s linear infinite;
}

.top-layer-orbit{
  position: absolute;
  z-index: -8;
  width: 100%;
  height: 100vh;
  background-repeat: repeat-x;
  background-size: cover;
  background-position: center;
  background-image: url('../img/homeorbit.svg');
}
.top-layer-planet {
  position: absolute;
  z-index: -7;
  inset: 0 0 0 0; 
  width: auto;
  height: auto;
  background-image: url('../img/homeplanet.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  animation: float-diagonal 20s ease-in-out infinite;
}
.top-layer-title {
  position: absolute;
  z-index: -6;
  width: 300px;
  height: auto;
  top: 160px;
  left: 30%;
  transform: translatey(10%);
  background-image: url('../img/hometitle.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
#typing_text {
  position: absolute;
  min-height: 2em;
  padding-right: .4em;
  position: relative;
  font-size: 2rem;
  color: #c6baaa;
  white-space: pre-wrap;
  height: 160px;
  top: 20px; 
  width: 300px;
}
#typing_text .right-align {
  display: block;
  width: 100%;
  text-align: right;
}
.top-layer-border{
  position: absolute;
  z-index: 1;
  pointer-events: none;
  inset: 30px 60px;
  border: 1px solid #c6baaa;
  border-radius: 20px;
  box-shadow:  0 0 0 100vw #c6baaa;
}


/*　===　ホームの作品一覧　===　*/
.design-web,
.design-dtp{
  background-color: #c6baaa;
}
.corner-top{
  grid-column: 1;
  grid-row: 1;
  border-left: solid 4px #151515;
}
.corner-bottom{
  grid-column: 1;
  grid-row: 4/7;
  border-left: solid 4px #151515;
}
.design-web a:hover,
.design-dtp a:hover{
  text-decoration: underline solid 1px;
  text-underline-offset: 8px;
}
.design-web-1,
.design-web-2,
.design-dtp-1,
.design-dtp-2,
.design-dtp-3 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 56px 40px 1fr 0.3fr auto;
  padding: 80px 40px;
  max-width: 1200px;
  margin: 0 auto;
}
.design-web-1 .home-hashtag,
.design-web-2 .home-hashtag,
.design-dtp-1 .home-hashtag,
.design-dtp-2 .home-hashtag,
.design-dtp-3 .home-hashtag{
  grid-column: 1; 
  grid-row: 3;
  font-size: 1.8rem;
}
.web-subtitle,
.dtp-subtitle {
  grid-column: 1 ;
  grid-row: 2;
  margin-top: 10px;
}
.design-web-img1,
.design-web-img2,
.design-dtp-img1,
.design-dtp-img2,
.design-dtp-img3 {
  grid-column: 2;    
  grid-row: 1 / 5;      
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  overflow: hidden;
  display: block;
  padding: 0;
  margin: 0;
} 
.design-web-img1 img,
.design-web-img2 img,
.design-dtp-img1 img,
.design-dtp-img2 img,
.design-dtp-img3 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
  object-position: 50% 60%;
}
.design-web-img1 img:hover,
.design-web-img2 img:hover,
.design-dtp-img1 img:hover,
.design-dtp-img2 img:hover,
.design-dtp-img3 img:hover{
  transform: scale(1.08);
}
.design-web-1 article,
.design-web-2 article,
.design-dtp-1 article,
.design-dtp-2 article,
.design-dtp-3 article{
  grid-column: 2; 
  grid-row: 6;
  font-size: 1.4rem;
  text-align: justify;
  text-justify: inter-ideograph;
}
.design-web-1 p,
.design-web-2 p,
.design-dtp-1 p,
.design-dtp-2 p,
.design-dtp-3 p{
  line-height: 2;
  margin-bottom: 2rem;
}
.design-web-1 p:last-child,
.design-web-2 p:last-child,
.design-dtp-1 p:last-child,
.design-dtp-2 p:last-child,
.design-dtp-3 p:last-child {
  margin-bottom: 0;
}
.design-web-1 p:first-child,
.design-web-2 p:first-child,
.design-dtp-1 p:first-child,
.design-dtp-2 p:first-child,
.design-dtp-3 p:first-child {
  font-size: 2rem;
  text-align: right;
}
.design-web-1 article a,
.design-web-2 article a,
.design-dtp-1 article a,
.design-dtp-2 article a,
.design-dtp-3 article a {
  display: block;
  text-align: right;
  margin-top: 1rem;
}

/* ====== 私のことトップ ====== */

.about-all{
  background-color: #c6baaa;;
}
.about-profile{
  background-color: #c6baaa;
  height: 2000px;
}
.about-top-img{
  grid-column: 1 / 6;
  grid-row: 2 / 6;
  background-image: url(../img/orbit2.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.about-top-title{
  grid-column: 1/6;
  grid-row: 1;
  top: -48px;
  left: -24px;
  position: relative;
}
/* == プロフィールとスキル == */
.about-profile {
  display: grid;
  grid-template-columns: 1.5fr 1fr 3fr ;
  grid-template-rows: auto auto auto;
  background-color: #c6baaa;
  padding: 300px 160px 300px 48px; 
  height: fit-content;
}
.about-profile-img {
  grid-column: 1 / 3;
  grid-row: 1 /3;
  background-image: url(../img/profile.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: auto;
  height: 100vh;
  position: relative;
  margin-left: 50px;
  z-index: 0;
}
.about-profile-title {
  grid-column: 2 / 4;
  grid-row: 1;
  position: relative;
  z-index: 1;
  margin: 80px 0;
  height: fit-content;
}
.about-profile-title h2{
  font-size: 9rem;
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
}
.name{
  font-size: 2rem;
  text-indent: -0.5rem;
  padding-bottom: 16px;
}
.about-profile-p {
  grid-column: 3;
  grid-row: 2;
  z-index: 2;
  position: relative;
  width: 100%;
  height: fit-content;
  line-height: 2;
  margin-left: 20px;
  margin-bottom: 20px;
}
.about-profile-skill{
  grid-column: 1/4;
  grid-row: 3;
  position: relative;
  font-size: 1.5rem;
}
.about-profile-skill table {
  width: 600px;
  border-collapse: collapse;
  margin-top: 1em;
  margin: 80px auto;
}
.about-profile-skill td {
  border-bottom: 1px solid #151515;
  padding: 16px 12px;
  text-align: left;
}
.about-profile-skill th{
  border-bottom: 2px solid #151515;
  padding: 16px 12px;
  font-size: 2rem;
  text-align: left;
}

/*戻る＆次へ✅*/
.about-flexbox{
  display: flex;
  justify-content: center;
  justify-content: space-between;
  margin: 20px 20px 300px 20px;
}
.about-dream{
  text-align: right;
}
/*Design-map*/

.mappage{
  width: 900px;
  margin: 0 auto;
}
.mappage h1{
  margin-top: 240px ;
  font-size: 8rem;
  align-self: center;
  padding-top: 16px;
  border-left: solid 8px ;
  padding-left: 20px;
  padding-bottom: 4px;
  font-weight: bold;
}
.mappage img{
  margin-top: 40px;
  width: 200px;
  object-fit: cover;
}
.mappage h2{
  font-size: 2rem;
}
.mappage div{
  font-size: 1.8rem;
}
.mappage p{
  margin-bottom: 16px;
}
.mappage-ex{
  margin-top: 24px;
  margin-bottom: 240px;
  color: #c6baaa; 
  text-indent: 3rem;
}
.mappage-wrap{
  margin: 0 auto;
  padding: 20px 80px ;
}
.mappage a{
  display: flex;
  justify-content: space-between;
  align-items: flex-end; 
  margin-bottom: 4px;
  color: #c6baaa;
}
.mappage li{
  border-bottom: dashed 2px #c6baaa;
}
.mappage li:last-child{
  margin-bottom: 80px;
}

/*====== レスポンシブ ======*/
/*=== デスクトップファースト ===*/

/*== 1350以下 ==*/
/*== 1024以下 ==*/
/*=== 800以下 ==*/
/*=== 600以下 ===*/
/*=== 500以下 ===*/
@media screen and (max-width: 1350px) {
  .page-right-wrapper{
    padding: 600px 100px 40px 0px;
  }
  .top-layer-border{
    top: 50px;
    right: 60px;
    bottom: 50px;
    left: 60px;
  }
  h2{
    font-size: 3rem;
  }
  .design-top-nav1{
    top: 500px;
    right: 160px;
  }
  .design-top-nav2{
    left: 0px;
  }
  .design-web div,
  .design-dtp div{
    margin-right:80px;
  }
  .design-web-1 article,
  .design-web-2 article,
  .design-dtp-1 article,
  .design-dtp-2 article,
  .design-dtp-3 article{
    font-size: 1.4rem;
    grid-column: 2;   
  }
  #nav{
    font-size: 1.6rem;
  }
  #nav li{
    margin-left: 10px;
  }
  #nav a{
    padding: 15px 4px;
  }
  
  #location{
    --wrapper-max: 1980px;
    --gutter: 40px;
    --right-offset: max(
      var(--gutter),
      calc((100vw - var(--wrapper-max)) / 2 + var(--gutter))
    );
  }
  .top-section-active #SNS{
    left: 80px;
  }
  body.top-section-active #nav{
    top: 80px;
    --wrapper-max: 1980px;
    --gutter: 90px;
    --right-offset: max(
      var(--gutter),
      calc((100vw - var(--wrapper-max)) / 2 + var(--gutter))
    );
  }
  .about-profile-title h2{
    font-size: 8rem;
  }
  .design-web-1,
  .design-web-2,
  .design-dtp-1,
  .design-dtp-2,
  .design-dtp-3 {
    padding: 100px 100px;
  }
  
  .news{
    grid-column: 2;
    grid-row: 1;
    font-size: 1.6rem;
    max-width: 500px;
    border-collapse: collapse;
    margin-top: 1em;
    margin: auto 10px;
  }
  .news td{
    padding: 16px 12px;
  }
  .news th{
    padding: 16px 12px;
  }
  .page-top-imgcard{
    width: 320px;
  }
  .imgcard1{
    width: 200px;
    height: 200px;
  }
  .imgcard2{
    width: 200px;
    height: 200px;
    left: 160px;
  }
  .news{
    grid-column: 1/3;
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 1024px) {

  #top.page-top{
    padding: 100px 120px;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr auto auto;
  }
  .page-top-imgcard{
    grid-column: 1;
    grid-row: 2;
    justify-self: end;
  }
  .page-top-img{
    margin-top: 90px;
  }
  .pagecard .page-top-img{
    grid-column: 1;
    grid-row: 1/3;
    margin-top: 60px;
    background-size: 100%;
  }
  .page-top-title{
    grid-column: 1;
    grid-row: 3;
  }
  .page-top-nav{
    grid-column: 1;
    grid-row: 4;
  }
  .top-layer-border{
    top: 50px;
    right: 40px;
    bottom: 50px;
    left: 40px;
  }
  footer{
    justify-content: center; 
  }
  .footer-text{
    margin: 0;
  }
  .top-section-active #SNS{
    left: 60px;
  }
  body.top-section-active #nav{
    top: 80px;
    --wrapper-max: 1980px;
    --gutter: 70px;
    --right-offset: max(
      var(--gutter),
      calc((100vw - var(--wrapper-max)) / 2 + var(--gutter))
    );
  }
  .design-web-1 p:first-child,
  .design-web-2 p:first-child,
  .design-dtp-1 p:first-child,
  .design-dtp-2 p:first-child,
  .design-dtp-3 p:first-child {
    font-size: 1.8rem;
    text-align: center;
  }
  .about-profile-title h2{
    font-size: 6.5rem;
  }
  .about-profile-p p:first-child{
    text-align: right;
  }
  .about-profile-skill{
    font-size: 1.4rem;
  }
  .about-profile-skill table {
    width: 500px;
    margin-top: 1em;
    margin: 80px 20px;
  }
  .about-profile-skill td {
    padding: 8px 6px;
  }
  .about-profile-skill th{
    padding: 8px 6px;
    font-size: 1.8rem;
  }
  .media{
    display: grid ;
    grid-template-columns: 1fr 1fr ;
    grid-template-rows: 1fr 1fr ;
    padding: 28px 160px 28px 80px ;
  }
  .news{
   font-size: 1.4rem;
  }
  .news td{
    padding: 8px 6px;
  }
  .news th{
    padding: 8px 6px;
  }
  .about-top-img{
    grid-column: 1/6;
    grid-row: 1/5;
    background-size: cover;
    background-position: 30% 70%;
  }
  .memo-title h1{
    font-size: 20rem;
  }
  .mappage-wrap{
    padding: 18px 60px;

  }
  .mappage{
    width: 800px;
    margin: 0 auto;
  }
  .mappage h1{
    font-size: 7rem;
    margin-left: 10px;
  }
  .mappage img{
    width: 180px;
  }
  .mappage h2{
    font-size: 1.8rem;

  }
  .mappage div{
    font-size: 1.6rem;
  }
  .mappage-ex{
    margin-bottom: 210px;
  }

}
@media screen and (max-width: 800px) {
  
  .toggleFlyerZ{
    margin: 570px auto 0 30px;
  }
  .page-top-nav{
    line-height: 3rem;
  }
  .page-top-nav li{
    font-size: 1.4rem;
  }
  .page-top-title h1{
    font-size: 4rem;
  }
  .page-top-hashtag{
    font-size: 1.6rem;
  }
  .pagegrid{
    grid-template-columns: 1fr;
    grid-template-rows: auto 600px 2fr;
  }
  .page-left-wrapper{
    grid-column: 1;
    grid-row: 1;
    position: sticky;
    top: 0;
    height: 100%;
    border-top: solid 2px #c6baaa;
    z-index: 999;
  }
  .page-left-wrapper h2{;
    writing-mode: horizontal-tb;
    margin: 16px 0;
    align-self: center;
    justify-self: center;
    font-size: 2rem;
    text-align: center;
  }
  .banner-center-wrapper {
    grid-row: 2;
    grid-column: 1;
    position: sticky;
    top: 60px;
    padding: 40px 0;
    background-color: #c6baaa;
    border-top: dashed 2px #151515;
    border-bottom: dashed 2px #151515;
    height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: height 0.3s ease;
  }
  /* デフォルト：縦並び＆大きい */
  .banner-center-wrapper .header-inner {
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: all 0.3s ease;
  }
  .banner-center-wrapper .header-inner img {
    max-width: 220px;
    max-height: 300px;
    transition: all 0.3s ease;
    will-change: transform, opacity;
    backface-visibility: hidden;
    transform: translateZ(0);
  }
  /* スクロール後：横並び＆小さく */
  .banner-center-wrapper.scrolled {
    height: 180px;
  }
  .banner-center-wrapper.scrolled .header-inner {
    flex-direction: row;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly; /* or space-evenly */
    align-items: center;
    gap: 8px;

  }
  .banner-center-wrapper.scrolled .header-inner img {
    flex: 1 1 auto; 
    min-width: 0;        
    max-height: 130px;     
    height: auto;
    width: auto;
  }
  .site-center-wrapper{
    grid-row: 2;
    grid-column: 1;
    position:static;
    top: 60px;
    padding: 40px 0;
    background-color: #c6baaa;
    border-top: dashed 2px #151515;
    border-bottom: dashed 2px #151515;
    height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: height 0.3s ease;
  }
  .dtp-center-wrapper{
    position: relative;
    grid-column: 1;
    grid-row: 2;
    height: 100%;
    background-color:#c6baaa;
    border-bottom:dashed 2px #151515;
    border-top:dashed 2px #151515;
  }

  .dtp-center-wrapper img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    max-width: 100%;
    height: auto;
  }
  .pageflyer .dtp-center-wrapper img,
  .pageposter .dtp-center-wrapper img,
  .site-center-wrapper img{
    width: 400px;
    padding: 40px auto;
  }
  .pagecard .dtp-center-wrapper img{
    width: 220px;
  }
  .pagecard .dtp-center-wrapper.hr img{
    height: 180px;
    width: auto;
  }
  .hashtag{
    font-size: 1.3rem;
  }
  .page-right-wrapper{
    position: static;
    grid-column: 1;
    grid-row: 3;
    padding: 50px 16px 0 0;
  }
  .page-right-wrapper h3{
    font-size: 1.5rem;
    padding: 8px 13px;
    border-radius: 3px;
  }
  .pagebanner .page-right-wrapper{
    padding-top: 500px;
  }
  #top.page-top{
    padding:80px 100px;
  }
  .top-layer-planet{
    background-size: 200%;
    transform: translateX(-10%);
  }
  .top-layer-orbit{
    background-size: 200%;
  }
  .top-layer-border{
    top: 32px;
    bottom: 64px;
    right: 16px;
    left:  16px;
  }
  .top-layer-bg {
    animation: move-stars 80s linear infinite;
  }
  .scroll-indicator {
    width: 1px;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    height: 100px; /* ← 長さここで調整できる */
  }
  .scroll-indicator .line{
    width: 1px;
  }
  .scroll-indicator .short-line{
    width: 1px;
  }
  #nav{
    top: 20px;
    right: 20px;
  }
  #to-top{
    right: 20px;
  }
  #SNS{
    left: 20px;
    bottom: 10px;
  }
  #location{
    top: 20px;
    right: 30px;
  }
  .pagebanner #location{
    top: 10px;
    right: 30px;
  }
  .top-section-active #realtime-fixed{
    top: 30px;
  }
  .top-section-active #SNS{
    left: 20px;
    bottom: 40px;
  }
  body.top-section-active #nav{
    top: 40px;
    right: 30px;
  }
  body.top-section-active #location{
    right: 30px;
    top: 40px;
  }
  .design-web div,
  .design-dtp div{
    margin-right:0px;
  }
  .design-web-1,
  .design-web-2,
  .design-dtp-1,
  .design-dtp-2,
  .design-dtp-3 {
    grid-template-columns: 1fr ;
    grid-template-rows: 1fr 56px 40px 1fr 0.3fr 300px auto;
    padding: 20px;
  }
  .corner-bottom{
    border: none;
  }
  .design-web-img1,
  .design-web-img2,
  .design-dtp-img1,
  .design-dtp-img2,
  .design-dtp-img3{
    grid-column: 1;
    grid-row: 6;
  }
  .design-web-1 article,
  .design-web-2 article,
  .design-dtp-1 article,
  .design-dtp-2 article,
  .design-dtp-3 article{
    grid-column: 1;
    grid-row: 7;
    margin-top: 30px;
  }
  .about-profile{
    grid-template-rows: auto 2fr 1fr auto;
    padding: 300px 48px;
  }
  .about-profile-title{
    grid-column: 1/4;
    grid-row: 1/3;
  }
  .about-profile-p{
    grid-column: 1/4;
    grid-row: 3;    
    width: 100%;
    margin-left: 0;
  }

  .about-profile-skill td{
    font-size: 1.5rem;
  }
  .about-profile-skill{
    grid-column: 1/4;
    grid-row: 4;
  }
  .about-profile-title h2{
    font-size: 6rem;
  }
  .about-profile-skill table {
    width: 100%;
    margin-left: 0;
  }
  .media{
    padding: 28px 48px;
  }
  .contact{
    grid-column: 1/3;
  }
  .news td{
    padding:  4px 0;
  }

  
  .about-profile-img{
    grid-column: 1/4;
    margin: 0;
  }
  .memo-title h1{
    font-size: 16rem;
  }
  .mappage-wrap{
    padding: 18px 30px;
  }
  .mappage{
    width: 600px;
  }
  .mappage h1{
    font-size: 6rem;
  }
  .mappage img{
    width: 160px;
  }
  .mappage h2{
    font-size: 1.6rem;
  }
  .mappage div{
    font-size: 1.4rem;
  }
  .mappage-ex{
    margin-bottom: 160px;
  }
}
@media screen and (max-width: 600px) {
  .top-layer-title {
    width: 240px;
    left: 12%;
    top: 160px;
    }
  .top-layer-bg {
    animation: move-stars 50s linear infinite;
  }
  #typing_text {
    width: 240px;
    height: 140px;
    top:20px;
    font-size: 1.6rem;
  }
  .banner-center-wrapper {
    height: 500px;
  }
  .banner-center-wrapper .header-inner {
    gap: 4px;
  }
  .banner-center-wrapper .header-inner img {
    max-width: 180px;
    max-height: 260px;
  }
  .banner-center-wrapper.scrolled {
    height: 140px;
  }
  .banner-center-wrapper.scrolled .header-inner {
    gap: 8px;
  }
  .banner-center-wrapper.scrolled .header-inner img {
    max-height: 100px;
  }
  .page-top-imgcard{
    justify-self: start;
  }
  .page-top-imgcard{
    width: 280px;
  }
  .imgcard1{
    width: 180px;
    height: 180px;
  }
  .imgcard2{
    width: 180px;
    height: 180px;
    left: 120px;
  }
  #top.page-top{
    padding:80px 80px;
  }
  .memo-title h1{
    font-size: 13rem;
  }
  .mappage{
    width: 500px;
  }
  .mappage h1{
    font-size: 5rem;
  }
  .mappage img{
    width: 150px;
  }
  .mappage-ex{
    margin-bottom: 80px;
  }
  .news td{
    padding: 8px 2px;
    font-size: 1.3rem;
  }
  .news th{
    padding: 8px 2px;
  }
}
@media screen and (max-width: 500px) {
  h2{
    font-size: 2.8rem;

  }
  .top-layer-bg {
    animation: move-stars 30s linear infinite;
  }
  .media{
    position: relative;
    padding: 0;
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: 2fr 1fr;
  }
  .news{
    position: absolute;
    grid-column: 1;
    grid-row: 1;
    margin: 0 20px;
  }
  .contact{
    grid-column: 1;
    grid-row: 2;
    margin-bottom: 30px;
    margin-left: 48px;
  }
  .mappage-wrap{
    padding: 18px 4px;
  }
  .mappage{
    width: 320px;
  }
  .mappage h1{
    font-size: 3rem;
  }
  .mappage img{
    width: 120px;
  }
  .mappage h2{
    font-size: 1.4rem;
  }
  .mappage div{
    font-size: 1.3rem;
  }
  .banner-center-wrapper {
    height: 480px;
  }
  .banner-center-wrapper .header-inner {
    gap: 3px;
  }
  .banner-center-wrapper .header-inner img {
    max-width: 160px;
    max-height: 240px;
  }
  .banner-center-wrapper.scrolled {
    height: 120px;
  }
  .banner-center-wrapper.scrolled .header-inner {
    gap: 4px;
  }
  .banner-center-wrapper.scrolled .header-inner img {
    max-height: 80px;
  }
  .page-top-imgcard{
    width: 260px;
  }
  .imgcard1{
    width: 160px;
    height: 160px;
  }
  .imgcard2{
    width: 160px;
    height: 160px;
    left: 100px;
  }
  .memo-title h1{
    font-size: 11rem;
  }
  .content {
    width: 200px;
    height: 200px;
  }
  .design-web-1 p:first-child,
  .design-web-2 p:first-child,
  .design-dtp-1 p:first-child,
  .design-dtp-2 p:first-child,
  .design-dtp-3 p:first-child {
    font-size: 1.8rem;
  }
  .about-profile{
    padding-top: 40px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .about-profile-title h2{
    font-size: 5rem;
  }
  #top.page-top{
    padding:60px 40px 100px 48px;
  }
  .page-top-nav{
    line-height: 2rem;
  }
  .page-top-nav li{
    font-size: 1.4rem;
  }
  .page-top-title h1{
    font-size: 3rem;
  }
  .page-top-hashtag{
    font-size: 1.4rem;
  }
  .mappage-ex{
    margin-bottom: 40px;
  }
}

