/*リンクの形状*/
#page-top a{
  display: flex;
  justify-content:center;
  align-items:center;
  background:#0087cf;
  border-radius: 10px;
  width: 50px;
  height: 50px;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size:1rem;
  transition:all 0.3s;
}

#page-top a:hover{
  background: #00508F;
}

/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 10px;
  bottom:10px;
  z-index: 2;
    /*はじめは非表示*/
  opacity: 0;
  transform: translateX(100px);
}

/*　左の動き　*/

#page-top.LeftMove{
  animation: LeftAnime 0.5s forwards;
}

@keyframes LeftAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }
  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/*　右の動き　*/

#page-top.RightMove{
  animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime{
  from {
    opacity: 1;
  transform: translateX(0);
  }
  to {
    opacity: 1;
  transform: translateX(100px);
  }
}


/*************************/
/******    common    *****/
/*************************/

.c-pink{ color: #ff7086; }
.c-white{ color: #fff!important;}
.c-navy{ color: #00508f!important; }
.c-red{ color: #e7194d; }
.c-green{ color: #00a192; }
.b-blue{ background-color: #00508f; }

.bg-com{background: url(../img/bk-com.png) top left repeat; }
.bg-green{ background-color: #428294; }
.bg-green2{ background-color: #00a192; }
.bg-blue{background: url(../img/bk-blue.png) top left repeat; }
.bg-blue2{background-color: #0087cf; }
.bg-blue3{background-color: #e7f5fa; }
.bg-white{ background-color: #fff; }
.bg-dot{background: url(../img/bk-dot.png) top left repeat; }
.bg-skyblue{background-color: #cee8fc;}
.bg-subblue{background-color: #c8e7ec;}
.bg-subred{background-color: #fff0f3;}
.bg-cream{background-color: #ffefbd;}
.bg-d-blue{background-color: #007cc8;}
.bg-pink{background-color: #fadbdd;}
.bg-lightgreen{background-color: #e7f1d7;}
.bg-gray{background-color: #f1f1f1;}
.bg-orange{background-color: #da4929;} 
.bg-beige{background-color: #EAE1D4;} 

a{cursor: pointer;}
sup{font-size: 6px!important;}

.t-underline{text-decoration: underline;}


.no-gutters{
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
}

.imgover {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.imgover:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
}


.link-arrow-icon{
    position: relative;
}

.link-arrow-icon i{
  font-family: "Font Awesome 5 Free";
  content: '\f105';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
}

.btn-small{
    display: block;
    background-color: #ff7086;
    width: 100%;
    /* height: 30px; */
    padding: 5px 0;
    font-size: 14px;
    color: #fff!important;
    /* line-height: 30px; */
    text-align: center;
    border-radius: 15px;        /* CSS3草案 */
    -webkit-border-radius: 15px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 15px;   /* Firefox用 */
}


.btn-big{
    display: block;
    font-size: 26px;
    height: 80px;
    line-height: 80px;
    background-color: #ff7086;
    width: 100%;
    color: #fff!important;
    text-align: center;
    border-radius: 40px;        /* CSS3草案 */
    -webkit-border-radius: 40px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 40px;   /* Firefox用 */
}

.btn-movie{
    display: block;
    background-color: #fff;
    width: 100%;
    height: 40px;
    color: #e7194d!important;
    border: 2px solid #e7194d;
    line-height: 40px;
    text-align: center;
    border-radius: 20px;        /* CSS3草案 */
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 20px;   /* Firefox用 */
}

.btn-small:hover, .btn-big:hover{
    text-decoration: none;
}

.btn-movie:hover{
    text-decoration: none;
    background-color: #e7194d!important;
    color: #fff!important;
}

.ol-list-pl{
    padding-left: 1rem!important;
    line-height: 1.6;
}

.sec-line{
    margin: 2.5rem 0 3.5rem 0;
}

.box-round{
    border-radius: 10px;        /* CSS3草案 */
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 10px;   /* Firefox用 */
}

.row-height{
    display: flex;
    flex-wrap: wrap;
}

/* 992px以下 */
@media screen and (max-width: 992px){

    .sec-line{
        margin: 1rem 0 1.5rem 0;
    }

    .btn-big{
        font-size: 14px;
        height: 40px;
        line-height: 40px;
        border-radius: 20px;        /* CSS3草案 */
        -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */
        -moz-border-radius: 20px;   /* Firefox用 */
    }

}

/*大デバイス（デスクトップ, 1200px 未満）*/
@media screen and (max-width: 1024px) and (orientation: portrait) {
 .f-xl {
   font-size: 0.8rem!important;
 }
}
/*中デバイス（タブレット, 992px 未満）*/
@media (max-width: 991.98px) {
 .f-lg {
 }
}
/*小デバイス（横向きモバイル, 768px 未満）*/
@media (max-width: 767.98px) {
 .f-md {
   font-size: 2.0rem;
 }
}

/*極小デバイス（縦向きモバイル, 576px 未満）*/
@media (max-width: 575.98px) {
 .f-sm {
   font-size: 1.0rem;
 }
}


/*************************/
/******    layout    *****/
/*************************/

body{
    /*background-color: #ffefbd;*/
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}

main{
    margin:110px 0 0 0;
}

@media screen and (max-width: 992px){
    main{
        margin:65px 0 0 0;
    }
}

/*************************/
/******     nav      *****/
/*************************/
.navbar{
    font-size: 14px;
    padding: 5px 20px;
}

.navbar-nav{
    text-align: right;
}

.navbar .nav-item{
    line-height: 1.2;
    text-align: center;
    margin:0 0px 0 0px;
    /* padding: 0 20px 0 20px; */
    border-right: 1px solid #fff;
    position: relative;
}

.navbar-nav .nav-link{
    color: #fff!important;
    display: flex;
    height: 50px;
    width: 180px;
    align-items: center;
    justify-content: center;
}

.navbar-nav .nav-link:first-of-type{
    border-bottom: 1px solid #fff;
}

.navbar-nav .active .nav-link{
    color: yellow!important;
}

/*.navbar .l1{
    padding-top: 1.5rem!important;
}*/

.navbar .nav-icon{
    margin: 25px 0 0 20px;
/*    margin-right: 5px;
    padding-right: 5px;*/
}

.navbar .nav-icon img { width: 95%; }

.navbar .icon-new{
    background-color: #ef194d;
    /*display: block;*/
    color: #fff;
    font-size: 12px;
    padding: 3px;
    position: absolute;
    top: -10px;
    left: -20px;
}

/* 1362px以下で適用 */
@media screen and (max-width: 1362px) {
    .navbar{
        font-size: 14px;
    }

    .navbar .l1{
        font-size: 14px;
    }

}


/* 769px以下で適用 */
@media screen and (max-width: 769px){
    .navbar{
        padding: 0px 10px;
    }

    .navbar .l1{
        padding: 8px;
    }

    .navbar .l1 a{
        padding: 8px;
    }
}

/* 992px以上 */
@media screen and (min-width: 992px) {
    .navbar{
        /*font-size: 16px;*/
    }
}

/* 992px以下 */
@media screen and (max-width: 992px){
    .navbar .navbar-brand img{
        width: 80%;
    }

    .navbar .nav-item{
        line-height: 1.4;
        text-align: center;
        margin:0 0px 0 0;
        padding: 0px 0px;
        border-right: none;
    }

    .navbar-nav .nav-link{
        color: #fff!important;
        display: flex;
        height: 50px;
        width: 100%;
        align-items: center;
        justify-content: center;
    }

    .navbar-nav .nav-link{
        border-bottom: none;
        padding: 15px 0;
    }

    .navbar-nav .nav-link:first-of-type{
        border-bottom: none;
    }

    .navbar .icon-new{
        position: relative;
        top: 0px;
        left: 0px;
        margin-right: 10px;
    }

    .navbar .nav-icon{
        margin: 25px 0 20px 0px;
        display: inline-block;
        text-align: center;
    }

    .navbar .nav-icon img { width: 7%; }
    
    .nav-icon .nav-link{
        display: inline-block;
    }

    .navbar-toggler{
        border: 1px solid #e5f7ff!important;
    }

    .navbar-toggler-icon{
        color:#fff!important;
        padding-top: 5px;
    }
}




/*************************/
/******     top      *****/
/*************************/
.top-mv{
    /* height: 650px; */
    /* min-height: auto; */
    padding-left: 0px;
    padding-right: 0px;
}

.top-sp-mv{
padding-top: 20px;
}

.top-mv-logo{
    margin: 50px 0 40px 0;
}

.top-mv-badge{
    margin-left: 15px;
    text-align: center;
}

.top-mv-badge li{
    display: inline;
    margin: 0 20px;
}
.top-mv-badge li img{
    width: 30%;
}

/* modal youtube */
.modal-dialog {
      max-width: 800px;
      margin: 30px auto;
  }

.modal-body {
  position:relative;
  padding:0px;
}
.close {
  position:absolute;
  right:-30px;
  top:0;
  z-index:999;
  font-size:2rem;
  font-weight: normal;
  color:#fff;
  opacity:1;
}


/* News */
.top-news{
    background-color: #fff;
}

.top-news .title{
    background-color: #da4929;
    color: #fff;
    text-align: center;
    padding: 20px 0;
}
.top-news .info{
    padding: 20px 0 20px 20px;
}
.top-news .all{
    text-align: right;
    padding: 20px 20px 20px 0;
}



/* modal board */
.tb-board{
    padding: 20px;
    font-size: 12px;
}

.tb-board th{
    width: 50%;
}



.top-links{
    padding: 2rem 0;
    text-align: center;
}

.top-about{
    padding: 10rem 0 2.5rem 0;
    line-height: 1.8;
}

.top-about-sec .top-about-exp{
    font-size: 20px;
}



/* 992px以下で適用 */
@media screen and (max-width: 992px){
    /* top */
    .top-news {
        font-size: 14px;
        padding: 0 30px;
        background-color:#428294;
    }
    
    .top-news .title{
        /* height: 70px; */
        padding: 10px 0;
    }
    .top-news .info{
        padding: 10px;
        background-color: #fff;
    }
    .top-news .all{
        padding: 10px;
        background-color: #fff;
    }
    .top-links{
    padding: 2rem 0;
    }

    .top-links div{
        margin-bottom: 1rem;
    }

    .top-about{
        /*padding: 6rem 0 2.5rem 0;*/
    }

    .top-about-title{
        background: url(../img/top-about-title.png) top center no-repeat;
        background-size:200% auto;
    }
}


/* 769px以下で適用 */
@media screen and (max-width: 769px){

    .top-about-sec .top-about-exp{
        font-size: 16px;
    }
}


/* 576px以下で適用 */
@media screen and (max-width: 576px){
    .top-mv{
        /* height: 430px; */
        /*position: relative;*/
    }

    .top-about{
        padding: 6rem 0 2.5rem 0;
    }
}


/*************************/
/******     next     *****/
/*************************/
.sec-title{
    font-size: 2.2rem;
    background-color: #428294;
    color: #fff;
    padding: 3rem 0 2rem 0;
    text-align: center;
}

.sec-title:after{
    content: url(../img/sec-title-bk.png);
    display: block;
}

.next-title{
    height: 200px;
    margin-bottom: 2.5rem;
}

.next-anchor{
    margin-bottom: 2.5rem;
}

.next-anchor a{
    display: block;
    width: 100%;
    font-size: 1.4rem;
    background-color: #fff;
    border: 3px solid #00508f;
    color: #00508f;
    border-radius: 10px;        /* CSS3草案 */
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 10px;   /* Firefox用 */
    padding: 1.6rem 0;
    text-align: center;
    text-decoration: none;
}

.next-anchor .active a{
    background-color: #00508f;
    color: #fff;
}

.next-anchor a:hover{
    background-color: #00508f;
    color: #fff;
}

.next-cont{
    background-color: #fff;
    padding: 3.5rem 0 2rem 0;
    margin-bottom: 3.5rem;
}

.top-subtitle{
    font-size: 2rem;
    color: #00508f;
}

/*.top-subtitle:after{
    content: url(../img/top-title-line.png);
    display: block;
}*/

.top-subtitle:after{
    content:" ";
    margin-top: 10px;
    height: 10px;
    display: block;
    background-image: url(../img/top-title-line.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.open_movie{
    padding-top: 40px!important;
    padding-bottom: 5px!important;
}

/* 992px以下 */
@media screen and (max-width: 992px){

    .next-anchor a{
        padding: 1rem 0;
        margin: 0 0 1rem 0;
    }

    .next-title{
        height: 150px;
    }

    .next-title .title{
        width: 75%;
    }

    .next-cont{
        padding: 1.5rem 1rem;
    }

}

/* 769px以下で適用 */
@media screen and (max-width: 769px){
    .sec-title{
        font-size: 1.6rem;
        padding: 1rem 0 0.5rem 0;
        text-align: center;
    }

    .top-subtitle{
        font-size: 1.6rem;
        color: #00508f;
    }

    .top-subtitle:after{
        content:" ";
        margin-top: 8px;
        height: 8px;
        display: block;
        background-image: url(../img/top-title-line.png);
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      vertical-align: middle;
    }
}



/*************************/
/******   application   *****/
/*************************/
.top-app-sec{
    /*padding-bottom: 3em;*/
}


.top-app-sec h4{
    background-color: #00508f;
    color: #fff;
    font-size: 1.3rem;
    padding: 0.6rem 0;
    text-align: center;
}

.top-app-box{
    /*background-color: #fff;*/
    padding: 1.2rem;
}


.top-app-sec .app-att{
    display: inline;
    font-size: 1.2rem;
    color: #00508f;
    font-weight: bold;
    border-bottom: solid;
    border-color: #e7194d;
    border-width: 2px;
}

.app-att-list{
    margin:1rem 0;
}
.app-att-list li{
    margin-bottom: 0.5rem;
    padding-left: 1.1rem;
    text-indent: -1.1rem;
}


/*************************/
/******   application   *****/
/*************************/
.app-sec{
    margin-bottom: 3em;
}

.app-subtitle{
    font-size: 1.1rem;
    text-align: center;
    vertical-align: middle!important;
}

.app-sec01{height:120px; padding-top: 45px;}
.app-sec02{height:200px; padding-top: 65px;}
.app-sec03{height:280px; padding-top: 125px;}
.app-sec04{height:80px; padding-top: 30px;}
.app-sec05{height:100px; padding-top: 35px;}
.app-sec06{height:200px; padding-top: 85px;}


.app-step4-list{
    font-size: 20px;
    padding: 15px 0px;
}

.app-step4-list li{
    margin-bottom: 20px;
    background: url(../img/icon-check.png) top left no-repeat;
    padding-left: 55px;
}

.app-step4-list li span{
    display: block;
    font-size: 14px;
}

.app-step5-illst{
    position: absolute;
    top: 15px;
    right: -50px;
}

.app-step5-list{
    padding: 40px 0 40px 40px;
}

.app-step5-list .title{
    color: #fff;
    background-color: #e7194d;
    font-size: 20px;
    border-radius: 20px;        /* CSS3草案 */
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 20px;   /* Firefox用 */
    padding: 5px 20px;
}

.app-step6-illst{
    position: absolute;
    top: 340px;
    right: 100px;
    z-index: 100;
}

/* 1200px以下 */
@media screen and (max-width: 1200px){
    .app-step5-illst{
    position: absolute;
    top: 0px;
    right: -130px;
    }
    .app-step5-illst img{
        width: 90%;
    }
}

/* 992px以下 */
@media screen and (max-width: 992px){
    .app-step5-illst{
        position: relative;
        top: 0;
        right: 0;
    }
    .app-step5-illst img{
        width: 90%;
    }
}

/* 769px以下で適用 */
@media screen and (max-width: 769px){
    .app-step5-illst{
        position: relative;
        top: -10px;
        right: -20px;
    }

.app-sec01{height:120px; padding-top: 30px;}
.app-sec02{height:200px; padding-top: 55px;}
.app-sec03{height:280px; padding-top: 125px;}
.app-sec04{height:80px; padding-top: 15px;}
.app-sec05{height:100px; padding-top: 35px;}
.app-sec06{height:280px; padding-top: 100px;}

}

/* 720px以下で適用 */
@media screen and (max-width: 720px){
    .app-sec01{height:auto;}
    .app-sec02{height:auto;}
    .app-sec03{height:auto;}
    .app-sec04{height:auto;}
    .app-sec05{height:auto;}
    .app-sec06{height:auto;}

    .app-subtitle{
        padding: 1rem 0;
    }

    .app-step4-list{
        padding:5px;
    }

    .app-step5-list{
        padding: 20px 10px;
    }
}



/*************************/
/******   about   *****/
/*************************/
.day{
    background-color: #f2ea27;
    color: #e83839;
    font-size: 22px;
    display: inline;
    font-weight: bold;
    padding: 10px 20px;
    margin-top: 10px;
    border-radius: 20px;        /* CSS3草案 */
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 20px;   /* Firefox用 */

}

.day span{
    font-size: 14px;
}

.about-block h3{
    font-size: 22px;
    line-height: 1.8;
}

.carousel-indicators{
    bottom: -35px!important;
}

.carousel-indicators li{
    background-color: gray;
    height:5px;
}

.carousel-indicators .active{
    background-color:#ff7086!important;
}


.about-special-list{
width: 100%;
}


.about-special-list dt{
display: block;
width: 65%;
clear: left;
float: left;
border-bottom: 1px dotted #00508f;
padding: 0 0 5px 0;
font-weight: normal;
}

.about-special-list dd{
display: block;
width: 35%;
float: left;
border-bottom: 1px dotted #00508f;
padding: 0 0 5px 0;
}

.about-special-list2 dt{
    display: block;
    width: 50%;
    clear: left;
    float: left;
    border-bottom: 1px dotted #00508f;
    padding: 0 0 5px 0;
    font-weight: normal;
    }
    
    .about-special-list2 dd{
    display: block;
    width: 50%;
    float: left;
    border-bottom: 1px dotted #00508f;
    padding: 0 0 5px 0;
    }

.about-special-jk span{
    padding-top: 10px;
}

.about-special-txt{
    font-size: 24px;
    font-weight: bold;
}

.marker{
  background: linear-gradient(transparent 80%, #fdd000 0%);
  display: inline;
  /*横に余白をつけたり、下にずらしたりするときは以下のpaddingを調整してください*/
  padding: 0 2px 2px;
}

/* 768px以下 */
@media screen and (max-width: 992px){

    .about-special-list dt, .about-special-list2 dt{
    display: block;
    width: 100%;
    clear: left;
    float: none;
    border-bottom: none;
    padding-left: 0.5rem;
    }

    .about-special-list dd, .about-special-list2 dd{
    display: block;
    width: 100%;
    float: none;
    border-bottom: 1px dotted #00508f;
    padding: 0 0 5px 0;
    padding-left: 0.5rem;
    }

}



/*************************/
/******     sdgs    *****/
/*************************/
.top-sdgs-sec .logo{
    margin: 40px 0;
}

.top-sdgs-sec .read{
    font-size: 18px;
    line-height: 1.8;
}

.top-sdgs-sec .title-cat{
    text-align: center;
    margin: 10px 0;
    /*color: #ff7086;*/
    font-weight: bold;
    font-size: 20px;
}

.top-sdgs-sec .jk{
    width: 30%;
    float: left;
}

.top-sdgs-sec .cat-box{
    background-color: #fff;
    border: 1px solid #014d88;
    float: right;
    width: 65%;
    height: 150px;
}

.top-sdgs-sec .cat-box span{
    width: 100%;
    display: block;
    text-align: center;
    color: #fff;
    padding: 5px 0;
    background-color: #014d88;
}

.top-sdgs-sec .cat{
    margin: 0;
    padding: 0;
    font-size: 12px;
    padding: 10px;
}

.top-sdgs-sec .cat li{
    list-style: none;
    display: inline-block;
    padding: 3px 10px;
    /*border: 1px solid #014d88;*/
    margin: 3px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    background-color: #ff7086;
    color: #fff;
    font-weight: bold;
}



/* 1199px以下で適用 */
@media screen and (max-width: 1199px) {

    .top-sdgs-sec .jk{
        width: 100%;
        float: none;
        text-align: center;
        margin-bottom: 20px;
    }

    .top-sdgs-sec .jk img{
        width: 50%;
    }

    .top-sdgs-sec .cat-box{
        height: auto;
        width: 100%;
        float: none;
    }

}



/*************************/
/******     prize    *****/
/*************************/
.top-prize-sec h4{
    font-size: 28px;
    color: #00508f;
    margin-bottom: 1.2rem;
    display: inline;
    margin-right: 20px;
}

.top-prize-sec h4 span{
    font-size: 1rem;
    display: block;
    padding: 10px 0 0 0;
}

.top-prize-sec .prize-ttl01:before{
    content:"";
    display:inline-block;
    width:1.2em;
    height:1.2em;
    background:url(../img/top-prize-icon01.png) no-repeat;
    background-size:contain;
    margin-right: 3px;
    margin-left: 3px;
}
.top-prize-sec .prize-ttl02:before{
    content:"";
    display:inline-block;
    width:1.2em;
    height:1.2em;
    background:url(../img/top-prize-icon02.png) no-repeat;
    background-size:contain;
    margin-right: 3px;
    margin-left: 3px;
}
.top-prize-sec .prize-ttl03:before{
    content:"";
    display:inline-block;
    width:1.2em;
    height:1.2em;
    background:url(../img/top-prize-icon03.png) no-repeat;
    background-size:contain;
    margin-right: 3px;
    margin-left: 3px;
}

/* 720px以下で適用 */
@media screen and (max-width: 720px){
    .top-prize-sec h4{
        font-size: 24px;
    }

    .top-prize-sec h4 span{
        font-size: 0.8rem;
    }

    .top-prize-sec .day{
        display: inline-block;
    }
}

.top-prize-goods-box{
    padding: 1.6rem 1.6rem 0 1.6rem ;
}

.top-prize-goods{

}



/*************************/
/******     movie    *****/
/*************************/
.top-movie-sec h4{
    font-size: 24px;
    color: #fff;
    font-weight: bold;
}

/*.top-movie-sec h4:before{
    content: url(../img/top-movie-illust02.png);
    margin-right: 10px;
}*/

.movie-border{
    padding: 0px 20px 10px 20px;
    background-color: #fff;
    border: 2px solid #e7194d;
}

.award-bk{
    padding: 20px 0 10px 0;
    margin: 40px 0 40px 0;

    border-radius: 30px;        /* CSS3草案 */
    -webkit-border-radius: 30px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 30px;   /* Firefox用 */
}

.award-bk-orange{background-color: #d74b32;}
.award-bk-yellow{background-color: #efbb19;}
.award-bk-blue{background-color: #06aee6;}
.award-bk-pink{background-color: #D06DA2;}

.award-img{
    padding: 20px 0 10px 0;
    margin: 20px 0 30px 0;
}

.movie-award-title{
    position: relative;
    text-align: center;
    color: #fff!important;

}
.movie-award-title:before{
    content: url(../img/movie-illust-left.png)!important;
    margin-right: 20px;
    position: absolute;
    top: -12px;
    left: -40px;
}

.movie-award-title:after{
    content: url(../img/movie-illust-right.png)!important;
    margin-left: 20px;
    position: absolute;
    top: -12px;
    right: -40px;
}

.top-movie-sec .p-title{
    color: #6abc6f;
}

.top-movie-sec .s-title{
    color:#83909a;
}

.top-movie-sec .s-title:before{
    content: url(../img/top-movie-illust02.png);
    margin-right: 10px;
    margin-left: 0px!important;
}

.top-movie-sec .m-title{
    color:#e03731;
}

.top-movie-sec .jk{
    /* min-height: 290px; */
}

.top-movie-read{
    font-size: 22px;
    padding: 40px 40px 30px 40px;
    position: relative;
}

.movie-dl-list{
    position: absolute;
    top: 30px;
    right: 10px;
}

.eirin-title{
    font-size: 22px;
    color: #00508f;
    font-weight: bold;
}


.movie-ondemand{
    border: 4px solid #1FAFE6;
    background-color: #fff;
    border-radius: 20px;
    padding: 40px;
    margin: 0 20px;
}

.movie-ondemand h3{
    line-height: 1.6;
    margin-bottom: 40px;
}

.movie-ondemand .title{
    background-color: #1FAFE6;
    color: #fff;
    font-size: 16px;
    padding: 5px 0 5px 10px;
    border-radius: 5px;
}

.movie-ondemand .ban_list li{
    display: inline;
    width: 30%;
}

.movie-ondemand .ban_list li a{
}

.movie-info-list{
    text-align: center;
}
.movie-info-list li{
    list-style-type: none;
    float: left;
}

.movie-text{
    font-weight: bold!important;
    color: #00508f;
    font-size: 18px;
}

.movie_att_text{
    font-size: 24px;
    color: #e7194d;
    font-weight: bold;
}

/* 1140px以下 */
@media screen and (max-width: 1199px){

    .top-movie-read{
        font-size: 20px;
    }

    .movie-dl-list{
        width: 40%;
        top: 30px;
        right: -10px;
    }

}

/* 992px以下 */
@media screen and (max-width: 992px){

    .movie-dl-list{
        top: 135px;
        right: -10px;
    }
}

/* 769px以下で適用 */
@media screen and (max-width: 769px){
    .movie-text{
        font-size: 16px;
    }

    .movie-ondemand{
        padding: 20px 20px 0 20px;
        margin: 0 20px;
    }

    .movie_att_text{
        font-size: 18px;
    }
}

.movie-icon-exp{
    background-color: #e5f5f4;
    padding: 20px 0 20px 40px;
}

.movie-icon-exp li{
    padding: 5px 0;
}

.top-movie-read .movie:after{
    content:"";
    display:inline-block;
    width:1.1em;
    height:1.1em;
    background:url(../img/top-movie-icon01.png) no-repeat;
    background-size:contain;
    margin-right: 3px;
    margin-left: 3px;
}

.top-movie-read .dvd:after{
    content:"";
    display:inline-block;
    width:1.1em;
    height:1.1em;
    background:url(../img/top-movie-icon02.png) no-repeat;
    background-size:contain;
    margin-right: 3px;
    margin-left: 3px;
}



/* 769px以下で適用 */
@media screen and (max-width: 769px){
    .top-movie-read{
        font-size: 18px;
        padding: 20px 20px 30px 20px;
    }

    .movie-icon-exp{
        padding: 20px 0 20px 20px;
    }

    .movie-dl-list{
        position: relative;
        width: 90%;
        top: 0;
    }

    .top-movie-sec h4{
        font-size: 20px;
    }

    .movie-award-title:before{
        top: 0px;
        left: -50px;
    }

    .movie-award-title:after{
        top: 0px;
        right: -50px;
    }

    .movie-award-title:before{
        margin-right: 20px;
        top: -7px;
        left: -50px;
    }

    .movie-award-title:after{
        margin-left: 20px;
        top: -7px;
        right: -50px;
    }

.movie-ondemand h3{
    line-height: 1.4;
    font-size: 20px;
    margin-bottom: 20px;
}

}




.movie-read{
    margin: 1rem 0 2.5rem 0;
    position: relative;
}

.movie-read .movie-list-dl{
    position: absolute;
    right: -20px;
    top: -30px;
}

.movie-award{
    background-color: #fff0f3;
    border-radius: 15px;        /* CSS3草案 */
    -webkit-border-radius: 15px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 15px;   /* Firefox用 */
    padding: 30px 30px 0 30px ;
}




.movie-read h2{
    font-size: 22px!important;
    text-align: center;
    line-height: 1.8;
}

.movie-read .movie-badge{position: absolute;left: -20px;}
.movie-read .movie-badge img{ width: 90%; }

.movie-list{
    margin: 0 0 3.5rem 0;
}

.movie-list .title{
    font-size: 18px;
    text-align: center;
}

.movie-dot{
    text-align: center;
    margin-bottom: 1rem;
}


.movie-list .date{
    font-size: 13px;
    padding: 3px 0;
    text-align: center;
    border:1px solid #ff7086;
    background-color: #fff;
    color: #ff7086;
    border-radius: 15px;        /* CSS3草案 */
    -webkit-border-radius: 15px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 15px;   /* Firefox用 */
}

.movie-list .company{
    font-size: 13px;
}

.movie-list .info{
    font-size: 13px;
    line-height: 1.8;
}

.movie-copy{
    font-size: 9px;
}

/* 1140px以下 */
@media screen and (max-width: 1140px){

    .movie-read h2{
        font-size: 20px!important;
    }

    .movie-read .movie-list-dl{
        right: -40px;
    }
    .movie-list-dl img{
        width: 90%;
    }

    .movie-read .movie-badge{left: -40px;}
    .movie-read .movie-badge img{ width: 80%; }


}

/* 992px以下 */
@media screen and (max-width: 992px){
    .movie-award{
        padding-bottom: 20px;
    }

    .movie-read h2{
        font-size: 20px!important;
    }

    .movie-list-dl{
        display: none;
    }

    .movie-read .movie-badge{position: static; text-align: center; margin-bottom: 1rem;}
    .movie-read .movie-badge img{ width: 80%; }
}


/*************************/
/******     screen    *****/
/*************************/
.screen-read{
    margin: 1rem 0 2rem 0;
    position: relative;
}

.screen-read h2{
    font-size: 22px!important;
    text-align: center;
    line-height: 1.8;
}

.screen-list{
    margin-bottom: 0rem;
}

.screen-list h3{
    font-size: 30px;
    font-weight: bold!important;
    padding: 0.5rem 0;
    margin: 0 0 1.5rem 0;
    text-align: center;
    width: 100%;
    color: #fff;
    background-color: #00a192;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;

}


.screen-list .screen{
    margin: 0 0 1.5rem 0;
}

.screen-list .release{
    font-size: 14px;
    margin-top: 10px;
    line-height: 1.2;
}
.screen-list .release span{
    font-size: 10px;
    margin-top: 10px;
    display: block;
}

.screen-list h4{
    font-size: 21px;
    margin-bottom: 1rem;
}

.screen-list .exp{
    font-size: 15px;
    line-height: 1.6;
}

.screen-list .access{
    padding: 4px 10px;
    font-size: 12px;
    background-color: #00508f;
    color: #f2ea27;
    text-decoration: none;
    margin-left: 5px;
}

.screen-list .access:hover{
    background-color: #00a2ea;
    color: #f2ea27;
}

/* 1140px以下 */
@media screen and (max-width: 1140px){

    .screen-read h2{
        font-size: 20px!important;
    }


}

/* 992px以下 */
@media screen and (max-width: 992px){

    .screen-read h2{
        font-size: 20px!important;
    }

    .screen-list h3{
        font-size: 22px;
    }

    .screen-list h3 span{
        top: -15px;
    }

    .screen-list h3 span img{
        width: 80%;
    }

}



/*************************/
/******    award    *****/
/*************************/
.award-sttl{
    font-size: 1.8rem;
    color: #00508f!important;
}

.award-list div{
    margin: 0 0 2rem 0;
}

.btn-award{
    display: block;
    font-size: 24px;
    height: 80px;
    line-height: 80px;
    background-color: #fff;
    border: 3px solid #00508f;
    width: 100%;
    color: #00508f!important;
    text-align: center;
    border-radius: 40px;        /* CSS3草案 */
    -webkit-border-radius: 40px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 40px;   /* Firefox用 */
}

.btn-award:hover{
    color: #fff!important;
    background-color: #00508f;
    text-decoration: none;
}

.award-aboutinfo{
    background-color: #fff;
    padding: 20px 40px 10px 40px;
    font-size: 14px;
}

/* 992px以下 */
@media screen and (max-width: 992px){

    .award-list div{
        margin: 0 0 1rem 0;
    }

    .btn-award{
    height: 40px;
    line-height: 40px;
    font-size: 14px;
    border-radius: 20px;        /* CSS3草案 */
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 20px;   /* Firefox用 */
    }

}


/*************************/
/******     area    *****/
/*************************/
.award-area{
    margin: 1rem 0 2.5rem 0;
    position: relative;
}

.award-area .area-list-dl{
    position: absolute;
    right: -20px;
    top: -5px;
}

.award-area h2{
    font-size: 22px!important;
    text-align: center;
    line-height: 1.8;
}

.award-area .area-badge{position: absolute;right: 0px;}
.award-area .area-badge img{ width: 100%; }

#sec01,#sec02,#sec03,#sec04,#sec05,#sec06{
margin-top:-120px;
padding-top:120px;
}

.award-subtitle{
    font-size: 1.4rem;
}

.area-anchor{
    text-align: center;
    background-color: #e5f6fd;
    padding: 10px 0;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    }
.area-anchor li{
    display: inline;
}
.area-anchor li::after {
  content: "／";
  padding: 0 10px;
}
.area-anchor li.end::after {
  content: "";
}

.area-anchor .sp-anchor{
    display: none;
}

.area-row, .area-row2{
    padding: 10px 0 0px 0;
}

.area-badge li{
    display: inline;
    margin: 0 5px;
}

.area-info{
    padding: 12px 0 0 0;
}

.n-row{
    padding: 3px 0 0 0;
}

.area-info li{
    float: left;
}
.area-info .title{
    font-size: 20px;
    padding: 6px 0 0 0;
    color: #00508f;
}

.area-info .shool{
    margin-right: 10px;
    clear: both;
}
.area-info .mita{
}

.area-info-btn{
    display: block;
    background-color: #ff7086;
    width: 200px;
    height: 30px;
    font-size: 14px;
    color: #fff!important;
    line-height: 30px;
    text-align: center;
    border-radius: 15px;        /* CSS3草案 */
    -webkit-border-radius: 15px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 15px;   /* Firefox用 */
}

.area-info-btn-bg-green{
background-color: #829c00;
}

.area-info-btn i{
    margin-right: 10px;
    font-size: 14px;
}

/*modal*/
.remodal h2{
    font-size: 22px;
    margin-bottom: 20px;
}
.remodal h3{
    font-size: 14px;
    margin-bottom: 20px;
    line-height: 1.4;
}
.remodal .writing-cont p{
    font-size: 14px;
    text-align: left;
}

.remodal .ribbon1 {
    display: inline-block;
    position: relative;
    height: 50px;/*リボンの高さ*/
    /*line-height: 50px;*//*リボンの高さ*/
    vertical-align: middle;
    text-align: center;
    padding: 0 80px;/*横の大きさ*/
    /*font-size: 18px;*//*文字の大きさ*/
    background: #f45f53;/*塗りつぶし色*/
    color: #FFF;/*文字色*/
    box-sizing: border-box;
}

.remodal .ribbon1 span{
    font-size: 14px;
}

.remodal .ribbon1:before, .remodal .ribbon1:after{
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1;
}

.remodal .ribbon1:before{
    top: 0;
    left: 0;
    border-width: 25px 0px 25px 15px;
    border-color: transparent transparent transparent #fff;
    border-style: solid;
}

.remodal .ribbon1:after{
    top: 0;
    right: 0;
    border-width: 25px 15px 25px 0px;
    border-color: transparent #fff transparent transparent;
    border-style: solid;
}


/* 1140px以下 */
@media screen and (max-width: 1140px){

    .award-area h2{
        font-size: 20px!important;
    }

    .award-area .area-list-dl{
        right: -40px;
    }
    .area-list-dl img{
        width: 90%;
    }

    /*.award-area .area-badge{left: -40px;}*/
    .award-area .area-badge img{ width: 80%; }

}

/* 992px以下 */
@media screen and (max-width: 992px){

    .award-area h2{
        font-size: 20px!important;
    }

    .award-area .area-badge{
        position: static;
        text-align: center;
        margin-bottom: 1rem;
    }

    .area-row2{
        padding-top: 0px;
    }
    .area-badge{
        margin-bottom: 0px!important;
        margin-top: 10px;
    }

    .area-info li{
        float: none;
        text-align: center;
    }
    .area-info .title{
    }

    .area-info .shool{
        margin-right: 0px;
    }
    .area-info .mita{
    }

    .area-info .btn{
        display: block;
    }

    .area-info-btn{
        margin: 0 auto;
    }

}



/*************************/
/******     all       *****/
/*************************/
.all-ribbon{
    background: url(../img/all-block-riboon.png) top center no-repeat #fff;
    background-size: 100% auto;
}

.award-area .all-badge{position: absolute;left: 0px;}
.award-area .all-badge img{ width: 100%; }

.award-area .all-btn{
    position: absolute;
    right: 0px;
    top: 20px;
}

.all-dantai{
    color: #00508f;
}

.all-cat03-gp{
    font-size: 24px;
}

.all-cat03-fp{
    font-size: 16px;
    margin-bottom: 40px;
}

.all-cat03-fp li{
    margin-bottom: 10px;
}

.all-gp-info .cat{
    margin-bottom: 5px;
}

.all-gp-info .title{
    color: #00508f;
    font-size: 20px;
    margin-bottom: 10px;
}

.all-gp-info .read{
    margin-bottom: 10px;
}

.all-gp-info .report{
    margin-bottom: 15px;
    margin-left: 30px;
    width: 365px;
    position: relative;
}

.all-gp-info .report a .f_active{
    position: absolute;
    left: 0;
    top: 0;
    display: none;
}

.all-gp-info .report a:hover .f_active{
    display: block;
}

.all-gp-info .school{
    margin-bottom: 15px;
}


/* 1140px以下 */
/*@media screen and (max-width: 1140px){

    .all-gp-info .report{
        margin-left: 0px;
    }

}*/


/* 992px以下 */
@media screen and (max-width: 992px){

    .all-gp-info .report{
        margin-left: -10px;
        width: 100%;
    }

}





/*************************/
/******    school    *****/
/*************************/
.top-school-read{
    font-size: 18px;
}


.school-list{
    margin-bottom: 3rem;
}

.school-list h3{
    font-size: 20px;
    font-weight: normal!important;
    padding: 0.6rem 0;
    margin: 0 0 1.5rem 0;
    text-align: center;
    width: 100%;
    color: #fff;
    background-color: #00a192;
    border-radius: 20px;        /* CSS3草案 */
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 20px;   /* Firefox用 */
}

.school-list .illust{
    margin: 0 0 1.5rem 0;
}

/* 992px以下 */
@media screen and (max-width: 992px){

    .school-list h3{
        font-size: 16px;
    }
}

/* 769px以下で適用 */
@media screen and (max-width: 769px){
    .top-school-read{
        font-size: 16px;
        text-align: left;
    }

}


/*************************/
/******   interview  *****/
/*************************/

.interview-block p{
    line-height: 1.8;
}


/*************************/
/******     howto    *****/
/*************************/
.howto-read h3{
    text-align: center;
    font-size: 18px;
    line-height: 1.8;
}

.howto-point{
    color: #333333;
    padding: 2rem 2rem 1rem 6rem;
    background-color: #e5f5f4;
    border-radius: 20px;        /* CSS3草案 */
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 20px;   /* Firefox用 */
    position: relative;
}

.howto-point li{
    margin: 0 0 0.8rem 0;
}

.howto-point i{padding-right: 10px;}

.howto-write{
    padding: 2rem 2rem 1rem 6rem;
    background-color: #e5f5f4;
    border-radius: 20px;        /* CSS3草案 */
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 20px;   /* Firefox用 */
}

.howto-write ol li{
    margin: 0 0 0.5rem 0;
}

.howto-write ol ul{
    margin: 0.5rem 0 1rem 0;
}
.howto-write ol li span{
    display: block;
    margin: 1rem 0 0 0;
}

.howto-point .illust01{
    position: absolute;
    top:-30px;
    right: 20px;
    width: 220px;
}

.howto-point .illust01 img{ width: 100%; }

.howto-write .illust02{
    position: absolute;
    top:125px;
    right: 40px;
    width: 235px;
}

.howto-write .illust02 img{ width: 100%; }

.howto-point .illust03{
    position: absolute;
    top:-10px;
    right: 0px;
    z-index: 100;
    width: 230px;
}

.howto-point .illust03 img{ width: 100%; }

.howto-block{
    margin-bottom: 3rem;
}


/* 1199px以下で適用 */
@media screen and (max-width: 1199px) {

    .howto-point .illust01{
        top:0px;
        right: -45px;
        width: 200px;
    }

    .howto-point .illust01 img{ width: 90%; }

    .howto-write .illust02 img{ width: 90%; }

    .howto-point .illust03 img{ width: 80%; }

    .howto-point .illust03{
        top:0px;
        right: -70px;
    }
}


/* 992px以下 */
@media screen and (max-width: 992px){

    .howto-read h3{
        font-size: 15px;
        line-height: 1.8;
    }

    .howto-write, .howto-point{
        padding: 1rem 0.8rem 0.5rem 0.8rem;
        margin: 0rem 1rem 2rem 1rem;
    }

    .howto-write ol{
        padding-left: 1.5rem;
    }

    .howto-point .illust01, .howto-write .illust02, .howto-point .illust03{
        display: none;
    }

    .howto-block{
        margin-bottom: 1rem;
    }

}



/*************************/
/******     books    *****/
/*************************/
.book-exp{
    font-size: 16px;
    line-height: 1.8;
}

.book-exp .cat{
    background-color: #00508f;
    color: #fff;
    padding: 3px 5px;
    margin: 0 0 0.5rem 0;
    display: block;
    width: 80px;
    text-align: center;
    font-size: 14px;
}



.books-comment{
    position: relative;
}

.books-comment .balloon {
    top: -20px;
    left: 140px;
    position: absolute;
    z-index: 100;
    display: inline-block;
   /* margin: 1.5em 0;*/
    padding: 7px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    font-size: 16px;
    color: #fff;
    background: #00a192;
}

.books-comment .balloon:before{
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #00a192;
}

.books-comment .balloon p {
    margin: 0;
    padding: 0;
}

.books-comment .books-point{
    background-color: #e5f5f4;
    position: relative;
    padding: 3rem 0 1.5rem 3rem;
    line-height: 1.8;
}

.books-comment .illust{
    position: absolute;
    top: -30px;
    right: 130px;
    z-index: 100;
    width: 180px;
}

.books-comment .illust img{
    width: 100%;
}


/* 1200px以下 */
@media screen and (max-width: 1200px){

    .books-comment .illust{
        display: none;
    }

}


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

    .books-comment .balloon {
        left: 80px;
    }

    .books-comment .books-point{
        background-color: #fff8f9;
        position: relative;
        padding: 3rem 1rem 1.5rem 1rem;
        line-height: 1.8;
    }

    .books-comment .balloon {
        left: 20px;
    }

}






/*************************/
/******     download    *****/
/*************************/
.download-text{
    height: 60px;
}
.download-list{
    font-size: 14px;
}

.download-list h3{
    font-size: 1.2rem;
    font-weight: normal!important;
    padding: 0.8rem 0;
    margin: 0 0 1.5rem 0;
    text-align: center;
    width: 100%;
    color: #fff;
    background-color: #00508f;
    border-radius: 10px;        /* CSS3草案 */
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 10px;   /* Firefox用 */
}

.download-list .download-thumb{
    position: relative;
}

.download-genkou{
    margin-bottom: 2rem;
}

.download-genkou li{
    margin-bottom: 0.5rem;
}

/* 769px以下で適用 */
@media screen and (max-width: 769px){
    .download-list h3{
        font-size: 18px;
    }

}

/*************************/
/******    foofer    *****/
/*************************/
footer{
    font-size: 14px;
}

.foot-banner{
    padding-top: 30px;
}
.foot-copy{
    padding: 30px 0;
    font-size: 13px;
    color: #fff;
}

.foot-copy a{
    color: #ffff00;
}

footer .foot-link li{
    margin-bottom: 0.3rem;
}

footer .foot-link a{
    color: #fff;
}


footer .foot-cont li{
    margin-bottom: 1rem;
}

footer .mail{
    background: url(../img/foot-mail.png) top left no-repeat;
    /*width: 458px;*/
    height: 50px;
    position: relative;
    font-size: 18px;
}

footer .mail a{
    position: absolute;
    top: 12px;
    right: 20px;
}


footer .tel{
    background: url(../img/foot-tel.png) top left no-repeat;
    /*width: 458px;*/
    height: 102px;
    position: relative;
    font-size: 34px;
}

footer .tel a{
    position: absolute;
    top: 10px;
    right: 20px;
    text-align: center;
}

footer .tel a span{
    font-size: 16px;
    display: block;
}

footer .foot-cont2{
    background-color: #fff;
}

footer .foot-cont2 li{
    /*margin-bottom: 0.5rem;*/
}

footer .cont-title{
    text-align: left;
    padding: 5px 0;
    color: #fff;
    font-size: 16px;
}

footer .cont-title2{
    text-align: center;
    background-color: #64b75b;
    padding: 5px 0;
    color: #fff;
    font-size: 20px;
    border-radius: 10px 10px 0px 0px;
}

footer .mail2{
    font-size: 22px;
    padding: 25px 0;
}

footer .mail2 a{
    /*color: #fff;*/
}

footer .mail2 a:hover{
    /*color: #fff;*/
}

footer .tel2{
    font-size: 32px;
    padding-bottom: 10px;
}

footer .tel2 a{
    /*color: #fff;*/
}

footer .tel2 a:hover{
    /*color: #fff;*/
}

footer .tel2 a span{
    font-size: 16px;
    display: block;
}


/*footer .title{
    font-size:20px;
    text-align: center;
    padding: 8px 8px 8px 0;
    margin-right: 8px;
}

footer .title a{
    color: #fff;
    text-decoration: underline;
}

footer .title a:hover{
    text-decoration: none;
}*/

/* 1199px以下 */
@media screen and (max-width: 1199px){

/*    footer .tel{
        background-color: #fff;
        height: 102px;
        position: relative;
        font-size: 34px;
    }*/

}

/* 768px以下 */
@media screen and (max-width: 992px){
    footer .title{
        font-size:20px;
        float: none;
        border-right: none;
        /*border-bottom: 1px solid #fff;*/
        padding: 0px 0px 8px 0;
        margin-bottom: 8px;
    }

    footer .mail2{
        font-size: 16px;
        padding: 5px 0;
    }

    footer .banner div{
        text-align: center;
        margin-bottom: 1rem;
    }


}