/* 共通パーツ */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);

a {text-decoration : none ; }
a:visited{color: inherit;}
a:hover {color: #F29434;}
a:hover {text-decoration : none ; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body { 
  font-family: sans-serif; 
  background-size: auto auto;
  background-color:transparent;
}
li{ list-style: none;}

img {
  -webkit-touch-callout:none; 
  width: 100%;
}

body{
	color: #111;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6em;
  letter-spacing: 0.1em;
  background-size: cover;
  background-attachment: fixed;
}


.inner{
    background-color: #fff;
    box-shadow: 0 0 12px 8px rgba(0,0,0,.2);
    margin-left: auto;
    margin-right: auto;
    max-width: 480px;
    overflow: hidden;
}
#wrapper{
  max-width: 480px;
}

/* ヘッダー */
#hamburger{
  display: block;
  background-color: #fff;
  width: 100%;
  margin: 0 auto;
  position: fixed;
  z-index: 10;
  top: 0;
  box-shadow: 0 0 4px 0px rgba(0,0,0,.2);
}
#hamburger h1{
  text-align: center;
  height: 80px;
}
#hamburger img{
  width: 120px;
  padding: 12px 0;
}


#overlay-button {
  position: absolute;
  right: 1.5em;
  top: 0em;
  padding: 42px 0px;
  z-index: 5;
  cursor: pointer;
  user-select: none;
}
#overlay-button span {
  height: 2px;
  width: 35px;
  border-radius: 2px;
  background-color: #333;
  position: relative;
  display: block;
  transition: all .2s ease-in-out;
}
#overlay-button span:before {
  top: -10px;
  visibility: visible;
}
#overlay-button span:after {
  top: 10px;
}
#overlay-button span:before, #overlay-button span:after {
  height: 2px;
  width: 35px;
  border-radius: 2px;
  background-color: #333;
  position: absolute;
  content: "";
  transition: all .2s ease-in-out;
}
/* #overlay-button:hover span, #overlay-button:hover span:before, #overlay-button:hover span:after {
  background: #333;
} */

input[type=checkbox] {
  display: none; 
}

input[type=checkbox]:checked ~ #overlay {
  visibility: visible; 
}

input[type=checkbox]:checked ~ #overlay-button:hover span, input[type=checkbox]:checked ~ #overlay-button span {
  background: transparent;
  
  
}
input[type=checkbox]:checked ~ #overlay-button span:before {
  transform: rotate(45deg) translate(7px, 7px);

}
input[type=checkbox]:checked ~ #overlay-button span:after {
  transform: rotate(-45deg) translate(7px, -7px);


}

#overlay {
  height: 100vh;
  width: 100%;
  background-color: #FBF3D7;
  z-index: 99;
  visibility: hidden;
  position: fixed;
}
/* #overlay.active {

} */
#overlay ul {
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;
  height: 66vh;
  padding-left: 0;
  list-style-type: none;
  padding-top: 20px;
}
#overlay ul li {
  padding: 1em;
  line-height: 2.6rem;
}
#overlay ul li a {
  color: #111;
  font-weight: 400;
  text-decoration: none;
  font-size: 25px;
  border-bottom: #F09437 3px solid;
}


.container{
  width: 86%;
  margin: 40px auto;
}

/* メインビジュアル */
.mainvisual{
  position: relative;
  width: 100%;
  margin-top: 80px;
}
.mainvisual .mv-img img{
  width: 100%;
}



.bg-camera{
  position:absolute;
  width: 124px;
  height:94px;
  top:-44px;
  left: -21px;
}

.bg-lens{
  position:absolute;
  width: 141px;
  height:120px;
  right:-24px;
  top: -80px;
}

.mainvisual .mv-img{
  background-image: url('../img/img-mv.png');
  margin-left: auto;
  animation: bgscroll 70s linear infinite;
  width: 100%;
  height: 344px;
} 

@-webkit-keyframes bgscroll {
0% {background-position: 0 0;}
100% {background-position: 700px 0;}
}

@keyframes bgscroll {
0% {background-position: 0 0;}
100% {background-position: 700px 0;}
}

.slider1{
  background-image: url('../img/img_slider1.png');
  margin-left: auto;
  animation: bgscroll 70s linear infinite;
  width: 100%;
  height: 240px;
  margin-bottom: 60px;
} 

.slider2{
  background-image: url('../img/img_slider2.png');
  margin-left: auto;
  animation: bgscroll 70s linear infinite;
  width: 100%;
  height: 240px;
} 


.slider3{
  background-image: url('../img/img_slider3.png');
  margin-left: auto;
  animation: bgscroll 70s linear infinite;
  width: 100%;
  height: 240px;
} 

.slider4{
  background-image: url('../img/img_slider4.png');
  margin-left: auto;
  animation: bgscroll 70s linear infinite;
  width: 100%;
  height: 240px;
} 


@-webkit-keyframes bgscroll {
0% {background-position: 0 0;}
100% {background-position: 700px 0;}
}

@keyframes bgscroll {
0% {background-position: 0 0;}
100% {background-position: 700px 0;}
}

.label{
  width: 50% !important;
  margin-bottom: 20px;
  margin-top: 30px;
}

.label2{
  width: 80% !important;
  margin-bottom: 20px;
  margin-top: 30px;
}

/* メインタイトル */



.maintitle{
  background: url('../img/bg_stripe.png');
  width: 100%;
  height: 50vh;
  position: relative;
  top:-38px;
}
.maintitle .mv-title{
  margin: -60px 0 0;
  position: absolute;
  top: -238px;
  width: 100%;
  max-width: 480px;
}
.maintitle .mv-title img{
   z-index: 900; 
   margin: 15px 0 0;
}
.maintitle .mv-title_b{
  margin: -60px 0 0;
}
.maintitle .mv-scroll{
  margin: 46px 0 30px;
}
.maintitle .mv-report{
  position: absolute;
  top: -90px;
  right: -16px;
}
.maintitle .mv-report img{
width: 190px;
}


#information{
  background-image: url('../img/bg_info.png');
  background-size: 100%, 100%;
  background-repeat: no-repeat;
  position: relative;
  margin: -70px 0 0;
}
#information .container{
  padding-top: 68%;
  padding-bottom: 60px;
  margin: 0 auto;
}
#information .container::before{
  background-image: url('../img/bg_lens.png');
  background-size: 100%, 100%;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: 0;
}
#information .container::after{
  background-image: url('../img/bg_camera.png');
  background-size: 100%, 100%;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}
#information .container p{
  padding: 20px;
  background:rgba(255, 255, 255, 0.9);
  border-radius: 10px;
}



h3 p{
  font-size: 28px;
  margin: 0.4rem 0;
  letter-spacing: 0.2em;
  line-height: 1.3em;
}

h3 .kiri{
  font-family: "ab-kirigirisu", sans-serif;
  letter-spacing: 0;
  color: #F09437;
}

h3 p span{
  background: linear-gradient(
      transparent 25%, #F29434 25%
    );
    font-weight:700;
}

.flag{
  width: 50%;
  margin: 0 auto;
  padding: 20px 0 12px;
}
.event{
  margin-bottom: 44px;
}

.event-point{
  max-width: 117px;
  margin-bottom: 14px;
}

.event-info{
  
}
dl{

}

dt{
  color: #F09437;
 margin: 10px 0;
}

dd{
margin-bottom: 20px;
border-bottom: 1px solid #333;
padding-bottom: 20px;


}



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


.btn a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1em 2em;
  width: 100%;
  max-width: 360px;
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  background-color: #F29434;
  border: 2px solid #F09437;
  transition: 0.3s;
  margin: 0 auto;
  /* box-shadow: 2px 3px 0px rgb(0 0 0); */
  border-radius: 6px;
}

.btn a::after {
  content: '';
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

.btn a:hover {
  font-weight: bold;
  color: #F09437;
  text-decoration: none;
  background-color: #fff;
  border: 2px solid #F09437;
}

.btn-center a{
  margin: 0 auto;
}

.title h2{
    font-family: 'Cormorant', serif;
    font-weight: 300;
    font-size: 54px;
    color: #F09437;
    text-align: center;
    margin-bottom: 30px;
  }

.detail{
  position :relative;
  margin: 112px 0;
}
.detail:last-child{
  margin: 0 0 130px;
}
.balloon{
  position: absolute;
  top: -180px;
  left: 0%;
}

.bg_orange{
  border-radius: 60px 60px 0 0;
  background: #fff;
}
.date{
  font-family: "reross-quadratic",'Noto Sans JP', sans-serif;
  font-size: 26px;
  margin: 16px 0 26px;
  border-bottom: #999 1px solid;
  padding-bottom: 16px;
}
.thumbnail{
  margin-bottom: 16px;
}
.event .performer{
  margin-top: 50px;
}

.performer{
  margin: 0 auto 50px;
}

.performer_inner{
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.performer_image{
  width: 120px;
  margin-right: 10px;
}
.performer_caption{
  text-align: center;
}
.performer_name{
  font-size: 28px;
  font-weight: 500;
  padding: 8px 0 20px;
}

.performer_name span{
  background: linear-gradient(
      transparent 90%, #F29434 90%
    );}
.performer_sns span{
  padding: 0 6px;
}

.balloon-006 {
    display: flex;
    justify-content: center;
    position: relative;
    margin-top: 20px;
    padding: .8em 1.2em;
    border:2px solid #111;
    border-radius: 5px;
    background-color: #fff;
    color: #333333;
}

.balloon-006::before,
.balloon-006::after {
    position: absolute;
    top: -15px;
    width: 30px;
    height: 15px;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    content: '';
}

.balloon-006::before {
    background-color: #111;
}

.balloon-006::after {
    top: -12px;
    background-color: #fff;
}

/* トップへ戻るボタン */
.pagetop {
  height: 60px;
  width: 60px;
  position: fixed;
  right: 5%;
  bottom: 5%;
  background: #fff;
  border-radius: 50%;
  border: 2px solid #111;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  box-shadow: 2px 3px 0px rgb(0 0 0);
  transition: box-shadow 0.3s;
}
.pagetop:hover{
  box-shadow: 0px 0px 0px rgb(0 0 0);
  transition: box-shadow 0.3s;
}

.pagetop__arrow {
  height: 14px;
  width: 14px;
  border-top: 3px solid #111;
  border-right: 3px solid #111;
  transform: translateY(20%) rotate(-45deg);
}

/* フッター */

footer{
    background-color: #F09437;
    text-align: center;
    color: #fff;
    padding: 36px 0;
}


footer a:link { color: #fff; }
footer a:visited { color: #fff; }


footer ul{
    display: flex;
    justify-content: center;
    align-items: center;

}
footer li{
padding: 0 10px;
}

footer .copyright{
  font-weight: 300;
  font-size: 11px;
}

/* -------- 下層 -------- */

.kasou img{
  width: 100%;
  padding-top: 20px;
}
.kasou .slider2{
  margin-top: 20px;
}

.kasou .event{
  margin-top: 120px;
}

.btn_disable{
  padding: 20px 0;
}


.btn_disable a{
  background-color: #666;
  border: 2px solid #666;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1em 2em;
  width: 100%;
  max-width: 300px;
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  transition: 0.3s;
  margin: 0 auto;
  /* box-shadow: 2px 3px 0px rgb(0 0 0); */
  border-radius: 6px;
}
.btn_caption{
  font-size: 14px;
}
.btn_caption a:link{
  color: #F29434;
}
.btn_caption a:visited{
  color: #F29434;
}

/* -------- レポート -------- */

.report{
  margin-top: 80px;
}

#report{
  display: block;
  padding-top: 130px;
  background-color: #fff;
}
#report .toc-002 ul,ol,a {
  margin: 0;
  padding: 0;
  list-style:disc;
}

#report a{
  color: #F09437;
  border-bottom: #F09437 1px solid;
}
#report p{
  padding: 4% 0;
}

#report h1{
  font-size: 26px;
  font-weight: 500;
  margin-bottom: 1rem;
  line-height: 1.3em;
  text-align: center;
  /* background: linear-gradient(
      transparent 25%, #F29434 25%
    ); */
}
#report h2{
  font-size: 24px;
  font-weight: 500;
  margin: 40px 0 16px;
  text-align: center;
}

#report h3{
  font-size: 24px;
  color: #F09437;
  padding: 40px 0 10px;
  border-bottom: #111 1px solid;
  margin-bottom: 12px;
}


.balloon_title {
    position: relative;
    padding: 1rem;
    border-radius: 10px;
    border: 3px solid #333;
    background-color: #fff;
    color: #333;
    font-weight: bold;
    font-size: 18px;
}

.balloon_title:before {
    position: absolute;
    top: 99%;
    left: 50px;
    transform: skew(-25deg);
    height: 18px;
    width: 15px;
    border-right: 3px solid #333;
    background-color: #fff;
    content: "";
}

.balloon_title p {
    line-height: 1.5;
}

.multiple{
  display: flex;
  width: 50%;
  align-items: flex-start;
}


/* .balloon_title {
    position: relative;
    padding: 1rem;
    border-radius: 10px;
    border: 2px solid #333;
    border-bottom: 6px solid #333;
    text-align: center;
}

.balloon_title:before,
.balloon_title:after {
    position: absolute;
    left: 50%;
    content: "";
    height: 0;
    width: 0;
}

.balloon_title:before {
    top: 100%;
    border: 22px solid;
    border-color: transparent;
    border-top-color: #333;
    margin-left: -15px;
}

.balloon_title:after {
    top: 99%;
    border: 14px solid;
    border-color: transparent;
    border-top-color: white;
    margin-left: -8px;
} */

.toc-002 {
  width: 100%;
    border: 2px solid #F09437;
    position: fixed;
z-index: 9;
margin-left: auto;
margin-right: auto;
max-width: 480px;
top: 80px;
}

.toc-002 div {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 10px 0;
    background-color: #F09437;
    color: #fff;
    font-weight: 600;
    font-size: 1.1em;
}

.toc-002 div::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 5px;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M3.8%2017.2h-3c-.5%200-.8.4-.8.8v3c0%20.4.3.8.8.8h3c.4%200%20.8-.3.8-.8v-3c-.1-.4-.4-.8-.8-.8zm0-15h-3c-.5%200-.8.4-.8.8v3c0%20.4.3.8.8.8h3c.4%200%20.8-.3.8-.8V3c-.1-.4-.4-.8-.8-.8zm0%207.6h-3c-.5%200-.8.3-.8.7v3c0%20.4.3.8.8.8h3c.4%200%20.8-.3.8-.8v-3c-.1-.4-.4-.7-.8-.7zM23.2%2018h-15c-.4%200-.8.3-.8.8v1.5c0%20.4.3.8.8.8h15c.4%200%20.8-.3.8-.8v-1.5c0-.5-.3-.8-.8-.8zm0-15h-15c-.4%200-.7.3-.7.8v1.5c0%20.4.3.7.7.7h15c.5%200%20.8-.3.8-.8V3.8c0-.5-.3-.8-.8-.8zm0%207.5h-15c-.4%200-.8.3-.8.8v1.5c0%20.4.3.8.8.8h15c.4%200%20.8-.3.8-.8v-1.5c0-.5-.3-.8-.8-.8z%22%2F%3E%3C%2Fsvg%3E');
    content: '';
}

.toc-002 label::after {
  margin-left: 7px;
  font-weight: 500;
  font-size: .7em;
  color: #fff;
  content: "[開く]";
  cursor: pointer;
}

.toc-002:has(:checked) label::after {
  content: "[閉じる]";
}

.toc-002 input {
  display: none;
}
.toc-002 ol {
    list-style-type: decimal;
    margin: 0;
    overflow: hidden;
    background-color: #fff;
}

.toc-002 > ol {
  height: 0;
}

.toc-002:has(:checked) > ol {
  height: auto;
  padding: 1em 1em 1em 3em;
}

.toc-002 ol ol {
    margin-top: 5px;
    padding-left: 1.1em;
}

.toc-002 li {
    padding: 8px 0;
    font-weight: 600;
}

.toc-002 ol ol li {
    font-weight: 500;
    font-size: .9em;
}

.toc-002 a {
    color: #333;
    text-decoration: none;
}
.dotted_list{
margin-top: 12px;
}
.dotted_list_item {
  margin-bottom: 12px;
  padding-left: 16px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}

.dotted_list_item:before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background: #F29434;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 7px;
}

.report_thumb a:first-child{
  display: inline-block;
margin-bottom: 30px;
}

@media screen and (min-width: 481px){
  #hamburger {
    width: 480px;
  .cd{
    display: none;
  }
}
#overlay {
  height: 100vh;
  width: 480px;
}

#information .container {
  padding-top: 330px;
}
.maintitle {
  height: 534px;
}
.bg-camera{
  position:absolute;
  width: 124px;
  height:94px;
  top:-13px;
  left: -21px;
}

.bg-lens{
  position:absolute;
  width: 141px;
  height:120px;
  right:-24px;
  top: -40px;
}
}

.bg{
  background-size: auto auto;
background-color: rgba(248, 229, 190, 1);
background-image: repeating-linear-gradient(118deg, transparent, transparent 10px, rgba(249, 243, 218, 1) 10px, rgba(249, 243, 218, 1) 20px );
background-attachment: fixed;
}

.cd{
  position: fixed;
  top: 0;
  width: 30%;
}

/* 全体を囲うコンテナー＆背景 */
.cd-container {
  position: relative;
  /* background-image: url('bg.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center; */
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 背景画像と文字を区別させるためのオーバーレイ */
.cd-countainer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

/* カウントダウンタイマー本体 */
.countdown {
  position: relative;
  color: #F09437;
  text-align: center;
  background: #fff;
  padding: 20px;
  width: 90%;
}

/* タイトル */
.countdown-title {
  font-weight: 600;
  font-size: 30px;
  line-height: 1.2;
}

/* 年のテキスト */
.new-year {
  display: none;
  font-family: 'Roboto', sans-serif;
  font-size: 60px;
  font-weight: bold;
  letter-spacing: 0.05em;
}

/* タイマー部分を囲うコンテナー */
.time-container {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  flex-wrap:wrap ;
}

/* hours, minutes, secondsの共通スタイル */
.time {
  font-family: "reross-quadratic", monospace;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 20px;
  font-size: 20px;
}

/* hours, minutes, secondsの数値のスタイル */
.time-num {
  font-size: 60px;
  line-height: 1;
}

/* 小さいデバイス用に文字サイズ & margin調整 */
@media screen and (max-width: 600px) {
  .cd{
    display: none;
  }
  .countdown-title {
    font-size: 50px;
  }

  .new-year {
    font-size: 100px;
  }

  .time-wrap {
    margin-top: 10px;
  }

  .time {
    font-size: 12px;
    margin: 0 10px;
  }

  .time-num {
    font-size: 34px;
  }
}

@media screen and (max-width: 1000px) {
  .cd-container {
    width: 80%;
  }
}