@charset "utf-8";

/*-----yumesen共通-----*/

body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 'Meiryo', 'メイリオ';
}

img {
    max-width: 100%;
}

#yumesen .sp{
    display: none;
}

#yumesen .oubo_button.top{
    float: right;
    margin-top: 30px;
}

#yumesen .oubo_button a{
    display: block;
    padding: 14px 20px;
    color: #fff;
    background: #e94d49;
    border: 3px solid #e94d49;
    font-weight: 700;
}

#yumesen .oubo_button a:hover{
    color: #e94d49;
    background: #fff;
    text-decoration: none;
}

/*Head*/

.open #sp_navi{
    z-index: 10;
}

.yumesen-container {
    width: 960px;
    margin: 0 auto;
}

#yumesen .main-img{
    width: 100%;
    max-width: 2000px;
    margin: 0 auto;
}

.yumesen-container h2 {
    width: 100%;
    font-size: 24px;
    letter-spacing: 0;
    text-align: center;
    padding: 0;
    margin-bottom: 50px;
}

.yumesen-container .pickup {
    padding-top: 70px;
}

.yumesen-container .pickup h3 {
    font-size: 17px;
    border: none;
    margin: 10px 0;
    padding: 0;
}


/* yumesen-header */
.yumesen-header {
	background-color: #f2f9ff;
	will-change: filter;
	width: 100%;
  height: 90px;
  filter: drop-shadow(0px 2px 8px rgba(38, 168, 255, 0.2));
  transition: top 0.4s;
}

.yumesen-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.yumesen-header__logo {
	display: block;
	transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 93px;
  min-width: 93px;
  padding-left: 20px;
}

.yumesen-header__logo:hover {
  opacity: 0.5;
}

.yumesen-header__list {
	display: flex;
  height: 50px;
}

.yumesen-header__item {
	display: flex;
	align-items: center;
	justify-content: center;
	background-repeat: repeat-y;
	background-position: left bottom;
	height: 100%;
  width: 355px;
  min-width: 355px;
  background-image: linear-gradient(to bottom, #404040 1px, transparent 1px);
  background-size: 1px 3px;
}

.yumesen-header__item:first-child {
	background: none;
}

.yumesen-header__item-inner {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.yumesen-header__item-inner:hover {
  opacity: 0.5;
}

.yumesen-header__item-faq {
  width: 307px;
  min-width: 307px;
}

.yumesen-header.fixed {
	position: fixed;
    top: 110px;
	z-index: 100;
}
.yumesen-header.fixed.is-header-hidden {
    top: 0;
}



/*----pick up----*/

.pickup-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.pickup-block {
    margin-bottom: 70px;
    width: 305px;
    position: relative;
}

.pickup-block .update:before{
    content: "UPDATE!";
    position: absolute;
    top: -25px;
    left: -25px;
    display: block;
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    background: #fff100;
    border-radius: 50%;
    z-index: 1;
}

.news-movie .yumesen-container h2 {
    text-align: left;
}

.news-movie {
    background: url(../img/news_movie_back.png);
    padding: 60px 0 80px 0;
    margin-bottom: 60px;
    box-sizing: border-box;
}

.news-movie-items {
    display: flex;
    justify-content: space-between;
}

.news {
    width: 450px;
}

.news-list {
    padding: 15px 5px;
    box-sizing: border-box;
    border-bottom: 1px solid #000;
}

.news-list dt {
    float: left;
    clear: both;
    width: 90px;
    margin-right: 15px;
}

.news-list dd {
    float: left;
    max-width: 330px;
}

.youtube {
    width: 430px;
}

.movie-area{
    width: 100%;
    padding-bottom: 56.25%;
    position: relative;
}

.movie-area iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/*--------------------------
about.html
--------------------------*/

#yumesen.about .yumesen-container{
    position: relative;
}

#yumesen .whats-yumesen-area{
    margin-bottom: 60px;
}

#yumesen.about h2{
    margin-top: 90px;
} 

#yumesen.about .ballon{
    position: absolute;
    top: -60px;
    left: 0;
    background: #003897;
    border-radius: 0 10px 0 10px;
    color: #fff;
    padding: 10px;
}

#yumesen.about .ballon:after{
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 8px 0 8px;
    border-color: #003897 transparent transparent transparent;
    position: absolute;
    bottom: -11px;
}

.about-flex-photo{
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
}

#yumesen .about-flex-photo p{
    width: 48%;
}

#yumesen.about .yumesen-info{
    margin:15px 0;
}

#yumesen.about .yumesen-info:last-of-type{
    margin-bottom: 30px;
}

#yumesen.about .yumesen-info dt{
    font-size: 18px;
    font-weight: 700;
}

#yumesen .about-flex-graph{
    display: flex;
    justify-content: space-around;
    margin-bottom: 10px;
}

#yumesen p.warning{
    padding-left: 10px;
    position: relative;
}

#yumesen p.warning:before{
    content: "※";
    position: absolute;
    left: 0;
}

#yumesen .introduction-movie-area-inner > div{
    margin: auto;
}

#yumesen .introduction-movie-area{
    margin-bottom: 60px;
    text-align: center;
}

#yumesen .introduction-movie-area iframe{
    width: 640px;
    height: 360px;
    margin-top: 15px;
    border: 1px solid #ccc;
}

#yumesen .introduction-movie-area h3{
    line-height: 1.5;
}

#yumesen .captain-area{
    margin-bottom: 60px;
}

#yumesen .captain-area .captain-img{
    float: right;
    width: 40%;
}

#yumesen .captain-area .info{
    float: left;
    width: 57%;
}

#yumesen .captain-area .desc{
    margin-bottom: 15px;
}

#yumesen .captain-area .link{
    background: url(../../../share/img/arrow_02.gif) no-repeat 0 0.5em;
    padding-left: 10px;
}

#yumesen .outline{
    margin-bottom: 90px;
}

#yumesen .outline-list{
    margin-bottom: 0;
}

#yumesen .outline-list dt{
    float: left;
    clear: left;
    width: 180px;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
}

#yumesen .outline-list dd{
    float: left;
    margin-bottom: 10px;
}

#yumesen .whats-JFA-area{
    margin-bottom: 60px;
    position: relative;
}

#yumesen .whats-JFA-area .flex-box{
    display: flex;
    justify-content: space-between;
}

#yumesen .whats-JFA-area .desc{
    margin: 0 15px 5px 0;
}

#yumesen .whats-JFA-area .logo{
    min-width: 93px;
}

#yumesen .whats-JFA-area .JFA-title{
    font-weight: 700;
    margin-right: 10px;
}

#yumesen.about .about-timetable{
    padding: 30px;
    border: 1px solid #1e96d5;
    margin-bottom: 15px;
}

#yumesen.about .about-timetable-img{
    text-align: center;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-around;
    max-width: 640px;
}
#yumesen.about .about-timetable-img figure {
   width: 48%;
   max-width: 280px;
}

/*--------------------------
list.html
--------------------------*/

.list-main-img{
    background: #e1f6ff;
    padding: 20px 0 50px 0;
    box-sizing: border-box;
    margin-bottom: 30px;
}
.list-annotion{
    margin-bottom: 30px;
}

#slick-box{
    max-width: 960px;
    margin: 0 auto;
    text-align: center;
    position: relative;
}

#slick-box .slide-arrow{
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    z-index: 2;
    cursor: pointer;
}

#slick-box .prev-arrow{
    left: 2%;
}

#slick-box .next-arrow{
    right: 2%;
}

#slick-box .caption{
    margin-top: 10px;
}

.slick-slide {
  transition: .3s ease;
}
.slick-slide:not(.slick-current) {
  opacity: .5;
}

#yumesen.about h2,
#yumesen.list h2,
#yumesen.faq h2,
#yumesen.article h2.about-school,
#yumesen.oubo h2{
    text-align: left;
    padding-bottom: 15px;
    box-sizing: border-box;
    margin-bottom: 30px;
    border-bottom: 2px solid #b7e4f6;
    position: relative;
    line-height: 1.5;
}

#yumesen.list .list_past h2,
#yumesen.faq .faq-dropdown h2{
    padding-right: 50px;
}





#yumesen.list h2.close,
#yumesen.faq h2.close{
    cursor: pointer;
}

#yumesen .list_past:last-of-type{
    margin-bottom: 60px;
}

#yumesen.list .list_past h2:after,
#yumesen.faq .faq-dropdown h2:after{
     content: '';
      width: 12px;
      height: 12px;
      border: 0px;
      border-top: solid 3px #0074c1;
      border-right: solid 3px #0074c1;
      -ms-transform: rotate(135deg);
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg);
      position: absolute;
      top: 25%;
      right: 10px;
      margin-top: -4px;
}

#yumesen.list .list_past h2.close:after,
#yumesen.faq .faq-dropdown h2.close:after{
     content: '';
      width: 12px;
      height: 12px;
      border: 0px;
      border-top: solid 3px #0074c1;
      border-right: solid 3px #0074c1;
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      position: absolute;
      top: 25%;
      right: 10px;
      margin-top: -4px;
}



#yumesen .school-list{
    font-size: 16px;
    margin-bottom: 50px;
}

#yumesen .school-list li{
    margin-bottom: 20px;
    width: 50%;
    position: relative;
    padding-left: 20px;
    box-sizing: border-box;
    float: left;
    background: url(../../../share/img/arrow_02.gif) no-repeat 0 0.5em;
}

#yumesen .update span{
    background: #fff100;
    padding: 5px;
    margin-left: 10px;
    font-size: 12px;
    position: relative;
    top: -2px;
}

#yumesen .update span.ml0{
    margin-left: 0;
}

#yumesen .update.report span{
    background: #ff7f50;
}

#yumesen .list_past .school-list{
    display: none;
}

#yumesen .totop a{
    display: block;
    max-width: 480px;
    padding: 20px;
    box-sizing: border-box;
    background: #0075c1;
    border: 2px solid #0062a2;
    border-radius: 999px;
    color: #fff;
    text-align: center;
    font-size: 16px;
    margin: 0 auto;
}
#yumesen .past-report {
    display: none;
}
#yumesen .past-report-button {
    margin-bottom: 50px;
}
#yumesen .past-report-button a{
    display: block;
    max-width: 480px;
    padding: 20px;
    box-sizing: border-box;
    background: #0075c1;
    border: 2px solid #0062a2;
    border-radius: 999px;
    color: #fff;
    text-align: center;
    font-size: 16px;
    margin: 0 auto;
    position: relative;
}
#yumesen .past-report-button a::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12.1px 8px 0 8px;
    border-color: #fff transparent transparent transparent;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 22px;
}

#yumesen .totop a:hover,
#yumesen .past-report-button a:hover{
    text-decoration: none;
    color: #fff100;
}
#yumesen .past-report-button a:hover::after {
    border-color: #fff100 transparent transparent transparent;
}

/*--------------------------
faq.html
--------------------------*/

#yumesen.faq h2{
    margin: 20px 0;
}

.question-area{
    display: none;
}

#yumesen .q-and-a{
    margin-bottom: 30px;
}

#yumesen .q-and-a:last-of-type{
    margin-bottom: 60px;
}

#yumesen .q-and-a dt,
#yumesen .q-and-a dd{
    padding-left: 20px;
    position: relative;
}

#yumesen .q-and-a dt{
    color: #25aaff;
    margin-bottom: 8px;
}

#yumesen .q-and-a dt:before{
    content: "Q.";
    color: #25aaff;
    position: absolute;
    left: 0;
}

#yumesen .q-and-a dd:before{
    content: "A.";
    position: absolute;
    left: 0;
}

#yumesen .faq-list:last-of-type{
    margin-bottom: 60px;
}

/*--------------------------
oubo.html
--------------------------*/

#yumesen.oubo h2{
    margin: 20px 0;
}

#yumesen.oubo .block{
    margin-bottom: 60px;
}

#yumesen.oubo .oubo_nagare ol{
    list-style-type: decimal;
    padding-left: 14px;
}

#yumesen.oubo .oubo_nagare ul{
    list-style-type: disc;
    padding-left: 14px;
}

#yumesen.oubo .oubo_nagare ol li{
    margin: 20px 0;
}

#yumesen.oubo .oubo_nagare ul li{
    margin: 10px 0;
}

#yumesen.oubo .oubo_nagare .movie_title{
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    margin: 10px;
}

#yumesen.oubo .oubo_button.bottom{
    float: none;
    text-align: center;
}

#yumesen.oubo .oubo_button.bottom a{
    display: inline-block;
}

/*Emergency*/
#yumesen .emergency{
    border: 3px solid #e94d49;
    padding: 20px;
    margin-top: 20px;
}
#yumesen .emergency p:last-of-type{
    margin-top: 10px;
}

@media only screen and (max-width: 768px) {

    #yumesen .sp{
        display: block;
    }
    
    #yumesen .pc{
        display: none;
    }
    
    .yumesen-container {
        width: 94%;
        margin: 0 auto;
    }
    

    /* yumesen-header */
    .yumesen-header {
      position: fixed;
      z-index: 100;
      top: calc(120 * 100vw / 768);
      height: 16vw;
      filter: drop-shadow(0vw 0.26667vw 1.06667vw rgba(38, 168, 255, 0.2));
    }

    .yumesen-header img{
      width: 100%;
    }
    .yumesen-header__logo {
      width: 14.53333vw;
      min-width: 0;
      padding-left: 5.33333vw;
      box-sizing: initial!important;
    }

    .yumesen-header__list {
      height: 13.33333vw;
    }

    .yumesen-header__item {
      width: 24.93333vw;
      min-width: 0;
      background-image: linear-gradient(to bottom, #404040 0.13333vw, transparent 0.13333vw);
      background-size: 0.13333vw 0.4vw;
    }

    .yumesen-header__item-list {
      width: 24.53333vw;
    }

    .yumesen-header__item-faq {
      width: 25.33333vw;
    }


    .yumesen-header.fixed {
      top: calc(120 * 100vw / 768);
    }

    /*----pick up----*/
    .pickup-items {
        display: block;
    }

    .pickup-block {
        width: 100%;
        max-width: 690px;
        margin: 0 auto 70px;
    }
    
    .pickup-block .update:before{
        top: -35px;
        left: 0;
        width: 70px;
        height: 70px;
        line-height: 70px;
        text-align: center;
    }
    
    /*----News Movie----*/
    
    .news-movie {
        padding: 40px 0 80px 0;
        margin-bottom: 60px;
    }
    
    .news-movie-items {
        display: block;
        width: 100%;
    }

    .news,.youtube {
        width: 100%;
    }
    
    .news{
        margin-bottom: 70px;
    }
    
    .news-movie .yumesen-container h2 {
        text-align: center;
        margin-bottom: 30px;
    }
    
    .news-list dt {
        float: none;
        width: 100%;
        margin-right: 0;
    }

    .news-list dd {
        float: none;
        max-width: 100%;
    }
    
    .movie-area{
        width: 100%;
        padding-bottom: 56.25%;
        position: relative;
    }
    
    .movie-area iframe{
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }
    
    .js-flickity{
        width: 100%;
        padding-bottom: 56.25%;
    }
    
/*--------------------------
about.html
--------------------------*/
    
    #yumesen.about h2{
        padding-right: 0;
    }
    
    #yumesen .about-flex-photo,
    #yumesen .about-flex-graph,
    #yumesen .captain-area .flex-box,
    #yumesen .whats-JFA-area .flex-box{
        display: block;
    }
    
    #yumesen .about-flex-photo p,
    #yumesen .about-flex-graph p{
        width: 100%;
        text-align: center;
    }
    
    .about-flex-photo p:first-of-type,
    .about-flex-graph p:first-of-type{
        margin-bottom: 15px;
    }
    
    #yumesen .captain-area .captain-img{
        margin-bottom: 15px;
    }
    
    #yumesen .captain-area .captain-img,
    #yumesen .captain-area .info{
        float: none;
        width: 100%;
    }
    
    #yumesen .outline-list dt{
        float: none;
        width: 100%;
        margin-bottom: 0;
    }

    #yumesen .outline-list dd{
        float: none;
        margin-bottom: 20px;
    }
    
    #yumesen .whats-JFA-area .logo{
        text-align: center;
        margin-top: 60px;
    }
    
    #yumesen .whats-JFA-area .desc{
        margin-right: 0;
    }
    
    #yumesen .introduction-movie-area-inner{
        position:relative;
        width:100%;
        height:0;
        padding-top: 56.25%;
    }
    
    #yumesen .introduction-movie-area iframe{
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }

    #yumesen.about .about-timetable{
        padding: 15px;
    }

 /*--------------------------
list.html
--------------------------*/
    
    .list-main-img{
        padding: 0 0 40px 0;
    }
    
    #slick-box .caption{
        padding: 0 15px; 
    }
    
    #slick-box .slide-arrow{
        top: 30%;
        width: 20px;
        height: 20px;
    }
    
    button.slick-prev{
        left: 3%;
    }
    
    button.slick-next{
        right: 3%;
    }
    
    #yumesen.list h2,
    #yumesen.faq h2{
        font-size: 18px;

    }
    
    #yumesen .school-list li{
        width: 100%;
        float: none;
        position: relative;
    }
    
    #yumesen .update{
        margin-top: 45px;    
    }
    
    #yumesen .update span{
        margin-left: 0;
        position: absolute;
        top: -30px;
        left: 20px;
    }
    
    #yumesen .past-report-button a,
    #yumesen .totop a{
        width: 90%;
        padding: 20px 40px;
    }
    
    /*--------------------------
    oubo.html
    --------------------------*/
    
    #yumesen.oubo .oubo_button.bottom a{
        display: block;
    }
    
}
