@charset "UTF-8";
/* CSS INFORMATION -====================================================
File name : layout.css
Description : レイアウト用CSS
===================================================================== */
/* ==========================================================
	共通
========================================================== */
/*コンテンツ背景*/
html{
  overflow-x: hidden;
}
img{
  width: 100%;
  max-width: 100%;
}
ul li{
  list-style: none;
}
.wrapper {
  font-size: 14px;
  color: #331b0a;
  background-color: #c4edfb;
}
@media screen and (min-width: 768px) {
  .wrapper {
    font-size: 2rem;
    font-size: max(2rem, 14px);
  }
  .wrapper .inner {
    padding-left: 0;
    padding-right: 0;
  }
}
.wrapper section > *:not(:last-child) {
  margin-bottom: 6rem;
}
a {
  display: block;
}
 a:hover {
  opacity: 0.7;
}

.onlyPC {
  display: block;
}

.onlySP {
  display: none;
}

@media screen and (max-width: 767px) {
  .onlyPC {
    display: none;
  }
  .onlySP {
    display: block;
  }
}
/* ==========================================================
	header
========================================================== */
.header{
  position: relative;
  z-index: 20;
}
.mv{
background: #C4EDFB;
background: linear-gradient(90deg,rgba(196, 237, 251, 1) 0%, rgba(204, 241, 251, 1) 100%);
margin: 0 auto;
}
.mv picture{
display: block;
text-align: center;
}
.nav ul{
  margin-top: calc(60 / 750 * 100%);
  margin-bottom: calc(150 / 750 * 100%);

}
.nav ul li {
  width: calc(394 / 750 * 100%);
  margin: 0 auto calc(45 / 750 * 100%);
}
@media screen and (min-width: 768px) {
  .mv picture{
    width: calc(1156 / 1600 * 100%);
    margin: 0 auto;
}
.nav{
    width: calc(1000 / 1600 * 100%);
    margin: 0 auto;
}  
.nav ul  {
  display: flex;
  justify-content: space-between;
  margin-top: calc(40 / 750 * 100%);
  margin-bottom: calc(40 / 1000 * 100%);
  }
  .nav ul li {
    width: calc(303 / 1000 * 100%);
  margin: 0 auto;
  }
}
/* ==========================================================
	inner main
========================================================== */
.inner{
  margin: 0 auto;
  padding:0 calc(60 / 750 * 100%);
  text-align: center;
  line-height: 1.667;
}
.main{
  position: relative;
}
.main::before{
    content: "";
    position: absolute;
    display: block;
    top: -0.5em;
    left: 0;
    width: calc(750 / 750 * 100%);
    height: 4.1rem;
    background: url(../images/bg_main.png) no-repeat center top;
    background-size: contain;
    z-index: 20;
}
@media screen and (min-width: 768px) {
  .inner{
  margin: 0 auto;
  width: calc(1000 / 1600 * 100%);
  max-width: 1000px;
  text-align: center;
  line-height: 1.667;
}
.main::before{
    content: "";
    position: absolute;
    display: block;
    top: -0.5em;
    left: 0;
    width: calc(750 / 750 * 100%);
    height: 4.1rem;
    background: url(../images/bg_main.png) repeat-x center top;
    background-size: contain;
    z-index: 20;
}
}
/* =====================================================================
*    introduction
* =================================================================== */
.introduction{
  position: relative;
  background: #d8f4ff;
  padding-top:calc(60 / 750 * 100%);
  padding-bottom:calc(492 / 750 * 100%);
  z-index: 10;
}
.introduction::before{
    content: "";
    position: absolute;
    display: block;
    top: -4rem;
    right: -8rem;
    width: calc(750 / 750 * 100%);
    height: 20rem;
    background: url(../images/bg_introduction.png) no-repeat center top;
    background-size: contain;
    z-index: -1;
}

.introduction::after{
    content: "";
    position: absolute;
    display: block;
    bottom: 6rem;
    left: -12rem;
    width: calc(750 / 750 * 100%);
    height: 20rem;
    background: url(../images/bg_introduction.png) no-repeat center top;
    background-size: contain;
    z-index: -1;
}

.introduction_top-deco{
  position: absolute;
  width: calc(412 / 750 * 100%);
  top:-3rem;
  left: -2rem;
  z-index: 30;
}
.introduction_bottom-deco{
    position: absolute;
    width: calc(557 / 750 * 100%);
    bottom: 3.5rem;
    left: 56%;
    transform: translateX(-50%);
}
.introduction h2{
    width: calc(330 / 750 * 100%);
    margin: 0 auto;
    padding-top: calc(290 / 750 * 100%);
  }
.introduction p{
  margin-top: calc(103 / 750 * 100%);
}
@media screen and (min-width: 768px) {
.introduction{
  padding-top:calc(60 / 1600 * 100%);
  padding-bottom:calc(270 / 1600 * 100%);
}
  .introduction::before{
    top: -6rem;
    right: -10rem;
    width: calc(782 / 1600 * 100%);
    height: 79.5rem;
}

.introduction::after{
    bottom: -22rem;
    left: -6rem;
    width: calc(782 / 1600 * 100%);
    height: 79.5rem;
}
.introduction_top-deco{
  width: calc(330 / 1600 * 100%);
  top: 9rem;
  left: 10rem; 
    /* top: 7rem;
  left: 4rem; */

}
.introduction_bottom-deco{
        position: absolute;
        width: calc(442 / 1600 * 100%);
        bottom: 3.5rem;
        right: 20rem;
        left:auto;
        transform: none;
      }
.introduction h2{
  width: calc(284 / 1000 * 100%);
  padding-top: calc(113 / 750 * 100%);
}
.introduction p{
  width: calc(913 / 1000 * 100%);
  margin: calc(108 / 1000 * 100%) auto calc(80 / 1000 * 100%);
}
}
@media (max-width: 1024px) and (min-width: 768px) {
  .introduction::after{
    height: 46.5rem;
}
.introduction_top-deco {
        top: 6rem;
        left: 5rem;
    }
.introduction_bottom-deco {
        position: absolute;
        width: calc(442 / 1600 * 100%);
        bottom: 2.5rem;
        right: 13rem;
        left: auto;
        transform: none;
    }
}

/* =====================================================================
*    character
* =================================================================== */
.character{
position: relative;
background: linear-gradient(102.5deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(245, 152, 0, 1) 50%, rgba(245, 152, 0, 1) 100%),url(../images/bg_character_left.jpg) repeat;
color: #fff;;
padding-bottom:calc(43 / 750 * 100%);
z-index: 20;
}
.character::before{
    content: "";
    position: absolute;
    display: block;
    top: -0.2rem;
    left: 0;
    width: calc(750 / 750 * 100%);
    height: 20rem;
    background: url(../images/bg_character_top.png) repeat-x center top;
    background-size: contain;
    z-index: 20;
}
.character::after{
    content: "";
    position: absolute;
    display: block;
    bottom: -20rem;
    left: 0;
    width: calc(750 / 750 * 100%);
    height: 20rem;
    background: url(../images/bg_character_bottom.png) repeat-x center top;
    background-size: contain;
    z-index: 10;
}

.character h2{
  width: calc(466 / 750 * 100%);
    margin: 0 auto;
    padding-top: calc(178 / 750 * 100%);
    padding-bottom: calc(60 / 750 * 100%);

}
.character ul img{
  width: calc(428 / 750 * 100%);
}
.character ul li{
  padding-top: calc(0 / 750 * 100%);
  padding-bottom: calc(130 / 1000 * 100%);
}

.character ul dt{
  font-weight: bold;
  font-size: 1.4rem;
}
.character ul dd{
  padding-top: calc(30 / 750 * 100%);
  font-size: 0.85rem;
}
@media screen and (min-width: 768px) {
  .character{
background: linear-gradient(132deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(245, 152, 0, 1) 50%, rgba(245, 152, 0, 1) 100%),url(../images/bg_character_left.jpg) repeat;
padding-bottom: calc(37 / 750 * 100%);
}
.character::before{
    height: 3.9rem;
    background-size: auto;
}
.character::after{
    height: 20rem;
    background-size: auto;
}
  .character h2{
  width: calc(384 / 1000 * 100%);
  padding-top: calc(150 / 1000 * 100%);
  padding-bottom: calc(60 / 1000 * 100%);
}
.character ul {
  display: flex;
  width: calc(1000 / 1000 * 100%);
  flex-wrap: wrap;
  justify-content: center;
}
.character ul li{
  width: calc(500 / 1000 * 100%);
  padding-top: calc(0 / 1000 * 100%);
  padding-bottom: calc(140 / 1000 * 100%);
}
.character ul img{
      width: calc(715 / 1000 * 100%);
}
.character ul dt{
  font-size: 2.5rem;
   padding-top: calc(20 / 1000 * 100%);
}
.character ul dd{
  font-size: 1.4rem;
  padding-top: calc(10 / 1000 * 100%);

}
}
@media (max-width: 1024px) and (min-width: 768px) {
      .character::after {
        height: 24rem;
    }
  .character ul dt{
  font-size: 2rem;
}
.character ul dd{
  font-size: 1rem;

}
}

/* =====================================================================
*    broadcast
* =================================================================== */
.broadcast{
  position: relative;
  background: #fff;
  color: #009c49;
  font-weight: bolder;
  padding-top: calc(200 / 750 * 100%);
  padding-bottom: calc(120 / 750 * 100%);
}
.broadcast h2{
  width: calc(495 / 750 * 100%);
  margin: 0 auto;
  padding-top: calc(45 / 750 * 100%);
}
.broadcast p{
  margin-top: calc(60 / 750 * 100%);
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .broadcast{
  padding-top: calc(130 / 1000 * 100%);
  padding-bottom: calc(90 / 1000 * 100%);
}
  .broadcast h2{
  width: calc(410 / 1000 * 100%);
  padding-top: calc(60 / 1000 * 100%);
}
.broadcast p{
          margin-top: calc(70 / 1000 * 100%);
        font-size: 4rem;
}
}
@media (max-width: 1024px) and (min-width: 768px) {
    .broadcast p {
        font-size: 3rem;
    }
}
/* =====================================================================
*    youtube
* =================================================================== */
.youtube{
  position: relative;
  background: #ff0057;
  color: #fff;
  font-weight: bolder;
  padding-bottom: calc(120 / 750 * 100%);
}
.youtube::before{
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: calc(750 / 750 * 100%);
    height: 2.7rem;
    background: url(../images/bg_youtube.png) repeat-x center top;
    background-size: contain;
}
.youtube::after{
    content: "";
    position: absolute;
    display: block;
    bottom: -2rem;
    left: 0;
    width: calc(750 / 750 * 100%);
    height: 2.7rem;
    background: url(../images/bg_youtube.png) repeat-x center top;
    background-size: contain;
}
.youtube h2{
width: calc(265 / 750 * 100%);
    margin: 0 auto;
    padding-top: calc(110 / 750 * 100%);
}
.youtube p{
  margin-top: calc(120 / 750 * 100%);
  font-size: 1.6rem;
}

.embed-container { 
  height: 0; 
  overflow: hidden; 
  max-width: 100%; 
  padding-bottom: 56.25%; /* 16:9 の高さなので 56.25% (= 9 ÷ 16) */ 
  position: relative;
  margin-top: calc(40 / 750 * 100%);
}
 .embed-container iframe { 
  height: 100%; 
  left: 0; 
  position: absolute; 
  top: 0; 
  width: 100%; 
}
@media screen and (min-width: 768px) {
  .youtube{
  padding-bottom: calc(55 / 1000 * 100%);
}
.youtube::before{
    top: 0;
    left: 0;
    height: 1.7rem;
}
.youtube::after{
    bottom: -1rem;
    left: 0;
    height: 1.7rem;
}
  .youtube h2{
        width: calc(255 / 1000 * 100%);
        margin: 0 auto;
        padding-top: calc(60 / 750 * 100%);
}
.embed-container { 
  margin-top: calc(50 / 750 * 100%);
}

}
/* =====================================================================
*    streaming
* =================================================================== */
.bnr_box{
  width: calc(500 / 750 * 100%);
  margin: 0 auto;
  padding:calc(150 / 750 * 100%) 0;
}
@media screen and (min-width: 768px) {
  .bnr_box{
  width: calc(500 / 1600 * 100%);
  margin: 0 auto;
  padding:calc(50 / 750 * 100%) 0 calc(50 / 750 * 100%);
}
}
/* =====================================================================
*    footer
* =================================================================== */
footer{
    position: relative;
    font-size: 0.75rem;
    line-height: 1.4;
    background: #ffc200;
    text-align: center;
    padding: calc(10 / 750 * 100%) calc(72 / 750 * 100%);
}
.footer::before{
    content: "";
    position: absolute;
    display: block;
    top: -1rem;
    left: 0;
    width: calc(750 / 750 * 100%);
    height: 3.9rem;
    background: url(../images/bg_footer.png) repeat-x center top;
    background-size: contain;
}
@media screen and (min-width: 768px) {
  footer{
  font-size: 1.25rem;
  padding:calc(12 / 750 * 100%) calc(80 / 750 * 100%);
}
.footer::before{
    background-size: auto;
}
}
