@charset "UTF-8";


h1{
    margin: 0 0 100px;
    text-align: center;
}

.about_h1{
        margin: 0 0 50px;
    }

h2{
    font-size: 52px;
    text-align: center;
    margin-bottom: 50px;
}



/*==================================================	
            index.html  issue_gourp	
===================================================*/	

.issue_gourp{
    padding-bottom: 80px;
    margin-bottom: 80px;
    border-bottom: solid 3px #000;
}

.issue_gourp_end{
    padding-bottom: 110px;
    margin-bottom: 0px;
    border-bottom: solid 0px #000;
}

.issue01{
    width: 340px;
}

.issue01_2{
    width: 270px;
}

.issue01_3{
    width: 200px;
}

.issue02{
    width: 325px;
}

.issue02_2{
    width: 250px;
}

.issue02_3{
    width: 200px;
}

.issue02_4{
    width: 300px;
}

.issue03{
    width: 450px;
}

.issue03_2{
    width: 450px;
}

.issue03_3{
    width: 300px;
}

/* .issue_copy{
    background-color: #000;
    color: #FFF;
    display: inline-block;
    padding: 0 10px;
    margin: 3px;
} */

/* アニメーション前のスタイル */
.js-marker {
    display: inline-block;
    position: relative;
    background-image: linear-gradient(90deg, #000, #000); /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 0 100%; /* '30%'の部分にマーカーの太さを記入 */
    transition: all 0.5s ease-in-out; /* マーカーを引く速度を調整 */
    font-weight: bold; /* ついでに太字にしたい場合 */
    color: #FFF;
    padding: 0 5px;
    margin: 3px;
  }
  
  /* アニメーション発火時 */
  .js-marker.inview {
    background-size: 100% 100%; /* '30%'の部分は上で設定した太さに合わせる */
    color: #FFF;
  }



/*==================================================	
                        article_lv1	
===================================================*/

.article_lv1{
    position: relative;
    top: 0px;
    display: block;
    border: solid 3px #000;
    border-radius: 24px;
    text-align: center;
    padding: 50px 30px 40px;
    box-shadow: 0px 14px 0px 0px #000;
    background-color: #FFF;
    transition: .2s ;
}

.article_lv1_copy{
    padding-bottom: 20px;
    border-bottom: 1px #000 solid;
    margin-bottom: 20px;
    font-weight: 700!important;
}

.issue01_name{
    width: 50px;
    margin-right: 15px;
}


.issue01_01_icon{
    width: 54px;
}

.issue01_02_icon{
    width: 59px;
}

.issue01_03_icon{
    width: 65px;
}

.issue02_01_icon{
    width: 37px;
}

.issue02_02_icon{
    width: 25px;
}

.issue03_01_icon{
    width: 56px;
}

.arrow_2{
    width: 30px;
    position: relative;
    left: 0;
    transition: .3s;
}




/*==================================================	
                        article_lv2	
===================================================*/

.article_lv2{
    display: block;
    background-color: #FFF;
    border: solid 3px #000;
    border-radius: 24px;
    background-color: #FFF;
    padding: 30px 25px;
    margin: 0 10px 50px;
    text-align: center;
    transition: .2s;
}

.article_lv2_copy{
    padding-bottom: 25px;
    margin-bottom: 20px;
    border-bottom: solid 1px #000;
    font-weight: bold;
}

.article_lv2_img{
    width: 70%;
}
  


/*==================================================	
                        article_lv3
===================================================*/

.article_lv3{
    display: block;
    border: solid 3px #000;
    background-color: #FFF;
    border-radius: 24px;
    padding: 30px 35px;
    text-align: center;
    transition: .2s;
}

.article_lv3_copy{
    padding-bottom: 25px;
    margin-bottom: 20px;
    border-bottom: solid 1px #000;
    font-weight: bold;
}

.article_lv3_img{
    width: 60%;
}

.article_lv3 .font18{
    font-weight: 900;
}


/*==================================================	
                        article_lv4
===================================================*/

.article_lv4{
    display: block;
    border: solid 3px #000;
    border-radius: 24px;
    background-color: #FFF;
    padding: 30px 35px;
    transition: .2s;
}

.article_lv4_copy{
    padding-bottom: 25px;
    margin-bottom: 20px;
    border-bottom: solid 1px #000;
    font-weight: bold;
}




/*==================================================	
                        article_lv5
===================================================*/

.article_lv5{
    display: block;
    border: solid 3px #000;
    border-radius: 24px;
    background-color: #FFF;
    padding: 40px 45px;
    margin: 0 10px;
    transition: .2s;
}

.article_lv5_copy {
    padding-bottom: 25px;
    margin-bottom: 20px;
    border-bottom: solid 1px #000;
    font-weight: bold;
}

.article_lv5 .margin20{
    width: 80%;
    margin: 0 auto 20px;
}

.slider_moremore{
    height: 165px;
}

.slider_moremore_03{
    width: 95%!important;
}

.moremoretut_btn{
    margin-top: 50px;
}

.slider{
    margin-bottom: 150px!important;
}








/*==================================================	
                        moremoretut	
===================================================*/

.moremoretut{
    background-color: #E8E8E8;
    padding: 100px 0;
}

.moremoretut_con{
    border: solid 3px #000;
    background-color: #FFF;
    padding: 60px 35px;
    text-align: center;
}

.moremoretut_img{
    width: 80%;
}

.moremoretut_btn{
    margin-top: 100px;
}

.moremore_01{
    width: 85%;
}

.moremore_02{
    width: 85%;
}

.moremore_03{
    width: 80%;
}



/*==================================================	
                    article	
===================================================*/


.issue_title{
    border-top: solid 6px #000 ;
    padding-top: 15px;
    margin-top: 15px;
    text-align: center;
}

.issue_title:after{
    content: '';
    display: inline-block;
    width: 100%;
    height: 100px;
    background-image: url(../images/issue_title.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-top: 15px;
}

.issue_title_2{
    text-align: center;
    margin: 0 auto 50px;
}

.issue01_01_titleicon:before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url(../images/issue01_01_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}

.issue01_02_titleicon:before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url(../images/issue01_02_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}

.issue01_03_titleicon:before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 40px;
    background-image: url(../images/issue01_03_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}

.issue01_04_titleicon:before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 40px;
    background-image: url(../images/issue01_01_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}


.issue02_01_titleicon:before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 40px;
    background-image: url(../images/issue02_01_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}

.issue02_02_titleicon:before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 40px;
    background-image: url(../images/issue02_02_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}

.issue02_03_titleicon:before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 40px;
    background-image: url(../images/issue01_03_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}

.issue03_01_titleicon:before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url(../images/issue03_01_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}

.issue03_02_titleicon:before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 40px;
    background-image: url(../images/issue03_02_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}


.issue04_01_titleicon:before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 40px;
    background-image: url(../images/issue03_02_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}

.issue04_02_titleicon:before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 40px;
    background-image: url(../images/issue01_03_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}

.issue04_03_titleicon:before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 40px;
    background-image: url(../images/issue01_03_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}


.issue_title_3{
    width: 400px;
    text-align: center;
    margin: 0 auto 50px;
}

.issue_title_3_name{
    display: flex;
    justify-content: center;
}

.issue_title_3_name img{
    width: 100px;
    margin-right: 30px;
}

.article_con_title{
    display: inline-block;
    background-color: #000;
    padding: 2px 10px;
    color: #FFF;
}

iframe{
    width: 500px;
}


.article_annotation{
    margin-top: 10px;
}


/*==================================================	
                    moremore article	
===================================================*/

.moremoretut_teacher{
    width: 125px;   
    margin-right: 30px;
}

.quote{
    background-color: #FFF;
    padding:  40px 35px;
}

.quote:before{
    content: '';
    display: inline-block;
    width: 37px;
    height: 25px;
    background-image: url(../images/quote.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-bottom: 17px;
}

.quote p{
    color: #646464;
}

.quote .font18{
    text-align: right;
}



/* hover */


@media screen and (min-width: 970px) {

    .article_lv1:hover .arrow_2{
        position: relative;
        left: 5px;
        transition: .2s;
    }

    .article_lv1:hover{
        position: relative;
        top: 3px;
        box-shadow: 0px 11px 0px 0px #000;
        transition: .2s;
        background-color: #edededcc;
    }

    .article_lv2:hover .arrow_2{
        position: relative;
        left: 5px;
        transition: .2s;
    }

    .article_lv2:hover{
        background-color: #edededcc;
        transition: .2s;
    }

    .article_lv3:hover .arrow_2{
        position: relative;
        left: 5px;
        transition: .2s;
    }

    .article_lv3:hover{
        background-color: #edededcc;
        transition: .2s;
    }

    .article_lv4:hover .arrow_2{
        position: relative;
        left: 5px;
        transition: .2s;
    }

    .article_lv4:hover{
        background-color: #edededcc;
        transition: .2s;
    }

    .article_lv5:hover{
        background-color: #edededcc;
        transition: .2s;
    }

    .article_lv5:hover .arrow_2{
        position: relative;
        left: 5px;
        transition: .2s;
    }

    .btn:hover{
        position: relative;
        top: 4px;
        box-shadow: 4px 3px 0px 0px #00D4DD, 3px 3px 0px 4px #000;
        transition: .15s;
    }

    footer ul li:hover p:after{
        position: relative;
        left: 5px;
        transition: 0.2s;
    }


}






/*202403追加*/



.issue_top{
    margin-top: 100px;
}


.issue01img{
    margin: 150px 0;
}

.issue_con{
    position: relative;
}

.issue01img_link1{
    position: absolute;
    width: 230px;
    top: 20px;
    left: 130px;
}

.issue01img_link1{
    position: absolute;
    width: 230px;
    top: 70px;
    left: 130px;
}

.issue01img_link2{
    position: absolute;
    width: 230px;
    top: 530px;
    left: 0px;
}

.issue01img_link3{
    position: absolute;
    width: 230px;
    top: 530px;
    left: 275px;
}

.issue01_con,.issue02_con,.issue04_con{
    padding: 230px 0 50px;
}

.issue02_con,.issue03_con{
    padding: 160px 0 50px;
}

.issue_contop{
    padding: 230px 0 50px;
}

.issue_con{
    position: relative;
}

.issue_con_btn1_01{
    width: 175px;
    position: absolute;
    top: 280px;
    left: 40px;
}

.issue_con_btn2_01{
    width: 175px;
    position: absolute;
    top: 280px;
    left: 330px;
}

.issue_con_btn3_01{
    width: 175px;
    position: absolute;
    top: 675px;
    left: 40px;
}


.issue_con_btn4_01{
    width: 175px;
    position: absolute;
    top: 675px;
    left: 330px;
}

.issue_con_btn1{
    width: 175px;
    position: absolute;
    top: 280px;
    left: 180px;
}

.issue_con_btn2{
    width: 175px;
    position: absolute;
    top: 675px;
    left: 40px;
}

.issue_con_btn3{
    width: 175px;
    position: absolute;
    top: 675px;
    left: 330px;
}

.issue03_con_btn1,.issue03_con_btn2{
        top: 605px;
}

.issue02_con_btn2,.issue02_con_btn3{
        top: 605px;
}


.issue01_sumi01 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 255px;
    left: 10px;
}

.issue01_sumi02 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 255px;
    left: 290px;
}

.issue01_sumi03 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 645px;
    left: 10px;
}

.issue01_sumi04 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 645px;
    left: 290px;
}

.issue02_sumi01 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 580px;
    left: 10px;
}

.issue02_sumi02 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 580px;
    left: 290px;
}

.issue02_sumi03 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 580px;
    left: 290px;
}

.issue03_sumi01 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 580px;
    left: 10px;
}

.issue03_sumi02 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 580px;
    left: 290px;
}

.issue03_sumi03 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 580px;
    left: 290px;
}

.issue04_sumi01 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 255px;
    left: 150px;
}

.issue04_sumi02 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 650px;
    left: 10px;
}

.issue04_sumi03 .issue_sumi{
    width: 60px;
    position: absolute;
    top: 650px;
    left: 290px;
}





#issue01_01,#issue01_02,#issue01_03,#issue01_04,#issue02_01,#issue02_02,#issue02_03,#issue03_01,#issue03_02,#issue03_03,#issue04_01,#issue04_02,#issue04_03{
    margin-top: 100px;
}



.issue_title_2::before {
  content:'';
  display: block;
  padding-top: 150px;
  margin-top: -150px;
}





.slideinRight {
  animation: slideinRight 3s infinite;
}

@keyframes slideinRight {
  0% {
    transform: translateX(-50px);
  }
  100% {
    transform: translateX(0);
  }
}


.cached{
    background-color: pink;
}


/*アコーディオン*/
.menu {
  position: fixed;
  top: 0;
  width: 540px;
  border-bottom: solid 4px #000;
  background-color: #FFF;
    z-index: 100;
}
.menu input {
  display: none; /*チェックボックスを隠す*/
}

/*バー部分*/
.menu label {
  cursor :pointer;
  display: block;
  text-decoration: none;
  line-height: 1;
  position: relative;
  padding: 20px 5%;
  border-top: solid 4px #000;
}

/*開いたときに表示される部分*/
.menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 1px;
}
.menu li {
  height: 0;
  overflow-y: hidden;
  transition: padding-bottom 0.5s, padding-top 0.5s; /*閉じるときのアニメーション*/
  -webkit-transition: padding-bottom 0.5s, padding-top 0.5s;
  -moz-transition: padding-bottom 0.5s, padding-top 0.5s;
  -ms-transition: padding-bottom 0.5s, padding-top 0.5s;
  -o-transition: padding-bottom 0.5s, padding-top 0.5s;
}
#menu_bar01:checked ~ #links01 li,
#menu_bar02:checked ~ #links02 li {
    height: auto;
    opacity: 1;
    padding: 20px 10px 20px 30px;
    border-top: solid 2px #E6E6E6;
}

/*閉じた状態の矢印描画*/
.menu label:after{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top: #000 2px solid;
  border-right: #000 2px solid;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  position:absolute;
  right: 2%;
  top: 0;
  bottom: 15%;
  margin: auto;
}
/*開いた状態の矢印描画*/
.menu input[type=checkbox]:checked + label:after{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top: #000 2px solid;
  border-right: #000 2px solid;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position:absolute;
  right: 2%;
  top: 7%;
  bottom: 0;
  margin: auto;
}



/*==================================================
                        fade	
===================================================*/	
.fade {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1s;
}
.fade.active {
	opacity: 1;
	transform: translateY(0px);
}

/*----------------------------
キャラクター
----------------------------*/

.anime{
    position: relative;
}

.anim-box{
    position: absolute;
}

.issue_00_char{
    width: 140px;
    top: 135px;
    right: 165px;
}

.issue_00_fuki{
    width: 445px;
    top: 20px;
    left: 35px;
}

.issue_01_char{
    width: 200px;
    top: 60px;
    right: 0;
}

.issue_01_fuki{
    width: 274px;
    top: 60px;
    left: 20px;
}

.issue_02_char{
    width: 200px;
    top: 60px;
    left: 20px;
}

.issue_02_char_{
    width: 200px;
    top: 60px;
    left: 20px;
}

.issue_02_fuki{
    width: 274px;
    top: 60px;
    right: 0;
}

.issue_02_fuki_{
    width: 274px;
    top: 60px;
    right: 0;
}

.issue_03_char{
    width: 200px;
    top: 60px;
    right: 0;
}

.issue_03_fuki{
    width: 274px;
    top: 60px;
    left: 20px;
}


.anim-box.poyoyon {
      transform: translateX(140px);
      opacity: 0;
}


.anim-box.poyoyon.is-animated {
  animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}
 
@keyframes poyoyon {
  0% {
    transform: translateX(140px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
  20%,100% {
    opacity: 1;
  }
}

.anim-box.poyoyon2 {
      opacity: 0;
}

.anim-box.poyoyon2.is-animated {
  animation: poyoyon2 1s ease-in-out forwards;
}
 
@keyframes poyoyon2 {
  0%  {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1.0) translate(0, 8px);
  }
  50% {transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1.0, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}
 

.anim-box.poyopoyo3 {
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}
