@charset "utf-8";
/* ========================================================
	top.css => トップページ用CSS
======================================================== */
/* slick
------------------------------------------------------------- */
.slider li {
    position: relative;
}
.slider img {
    width: 100%;
    height: auto;
}
.slick-slider {
    margin-bottom: 0 !important;
}
/*dots*/

.slick-dots {
    position: absolute;
    bottom: -30px;
    display: block;
    left: -0vw;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 18px;
    height: 18px;
    margin: 0 4px;
    padding: 0;
    cursor: pointer;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 18px;
    height: 18px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 18px;
    height: 18px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:before {
    font-family: 'slick';
    font-size: 12px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    content: '•';
    text-align: center;
    opacity: .25;
    color: #595757;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
    opacity: .75;
    color: #00A040;
}
/* main_img
------------------------------------------------------------- */

.main_img {
    padding: 0 0 50px 0;
}
.main_img_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
}
.left_img {
    width: 380px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    z-index: 3;
}
.right_img {
    width: 100%;
    z-index: 1;
    position: relative;
}
.left_img img {
    width: auto;
	height: 550px;
}
.right_img img {
    width: 100%;
    border: solid 5px #99ff99;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    height: 550px;
}

@media screen and (max-width: 1024px) {
.main_img {
    padding: 0 0 20px 0;
}
}

@media screen and (max-width: 960px) {
.left_img {
    width: 300px;
}
.left_img img {
    width: 100%;
	height: auto;
}
.right_img img {
    width: 100%;
    height: 440px;
}
}

@media screen and (max-width: 480px) {
.left_img {
    width: 150px;
}
.right_img img {
    height: 220px;
}
}
.right_img_text {
    font-size: 1.8rem;
    color: #fff;
    font-weight: bold;
    text-align: left;
    position: absolute;
    left: 400px;
    bottom: 20px;
}
.right_img_text.black {
    color: #000;
}
.right_img_text .ja {
    font-size: 3.0rem;
    line-height: 1.3;
}
.right_img_text .date {
    letter-spacing: 1px;
}
.slide_more {
    position: absolute;
    right: 20px;
    bottom: 20px;
    font-size: 1.8rem;
    color: #00ff00;
    font-weight: bold;
    display: inline-block;
    background: url("../images/btn_arrow_gree.svg") no-repeat;
    background-size: 20px auto;
    background-position: right;
    padding: 5px 19px 7px 10px;
    width: 3em;
}

@media screen and (max-width: 1024px) {
.right_img_text {
    max-width: 42%;
}
}

@media screen and (max-width: 960px) {
.right_img_text {
    left: 320px;
}
.right_img_text {
    font-size: 1.4rem;
}
.right_img_text .ja {
    font-size: 1.6rem;
}
.slide_more {
    font-size: 1.2rem;
    background: url("../images/btn_arrow_gree.svg") no-repeat;
    background-size: 10px auto;
    background-position: right;
    padding: 5px 10px 7px 10px;
}
}

@media screen and (max-width: 480px) {
.right_img_text {
    left: 160px;
    font-size: 1.0rem;
    bottom: 10px;
}
.right_img_text .ja {
    font-size: 1.2rem;
    line-height: 1.0;
}
.slide_more {
    right: 10px;
    bottom: 10px;
    font-size: 1.0rem;
    background: url("../images/btn_arrow_gree.svg") no-repeat;
    background-size: 5px auto;
    background-position: right;
    padding: 5px 10px 7px 10px;
    width: 2em;
}
}

@media screen and (max-width: 320px) {
.right_img_text {
    max-width: 36%;
}
}
/* top_main_title
------------------------------------------------------------- */
.main_title_area .btn_gra {
    margin-top: 20px;
}
/*rand_img*/
.rand_img img {
    width: 100%;
}
/* top_text
------------------------------------------------------------- */
.top_text {
    font-feature-settings: "palt" 1;
    font-size: 1.5rem;
    letter-spacing: 2px;
    line-height: 2;
}
.top_text .text_inner p + p {
    margin-top: 2em;
}
.top_midashi_01 {
    line-height: 1.6;
    font-size: 2.0rem;
    font-weight: bold;
    letter-spacing: 3px;
}

@media screen and (max-width: 480px) {
.top_midashi_01 {
    font-size: 1.6rem;
}
.top_text {
    font-size: 1.4rem;
}
.top_text .text_inner p + p {
    margin-top: 1em;
}
.top_text.pd_s {
    padding-top: 40px;
    padding-bottom: 40px;
}
.top_text {
    font-size: 1.3rem;
}
}
/* movie
------------------------------------------------------------- */
.movie_box {
    margin: 2em auto;
}

@media screen and (max-width: 960px) {
.movie_box iframe {
    height: 500px;
}
}

@media screen and (max-width: 568px) {
.movie_box iframe {
    max-width: 100%;
    height: 54vw;
}
}

@media screen and (max-width: 480px) {
.movie_box iframe {
    height: 53vw;
}
}
/* about_areas
------------------------------------------------------------- */
.about_area {
/*    padding: 50px 0 0 0;*/
}
.about_area {
    padding: 50px 40px 40px 40px;
    background: #E3E3E3
}
.about_area .text_box {
    margin-top: 2em;
    font-size: 1.4rem;
}
.about_area .text_box span{
    color: red;
}
.about_area .text_box span a {
    color: #00A040;
    text-decoration: none;
}
.about_area .text_box span a:hover {
    text-decoration: underline!important;
    opacity: 1!important;
}

@media screen and (max-width: 480px) {
.about_area {
/*    padding: 10px 10px 0   10px;*/
}
.about_area {
    padding: 20px 15px;
}
.about_area .text_box {
    font-size: 1.4rem;
}
}
/* top_title
------------------------------------------------------------- */

.top_title_l {
    font-size: 2.6rem;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    margin-bottom: 2em;
    padding: 5px 0;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#009f40+0,00ff00+100 */
    background: #009f40; /* Old browsers */
    background: -moz-linear-gradient(left, #009f40 0%, #99ff99 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #009f40 0%, #99ff99 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #009f40 0%, #99ff99 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#009f40', endColorstr='#99ff99', GradientType=1 ); /* IE6-9 */
}

@media screen and (max-width: 480px) {
.top_title_l {
    font-size: 2.4rem;
    margin-bottom: 1em;
}
}
/* top_title
------------------------------------------------------------- */

.top_title {
    font-size: 2.6rem;
    font-weight: bold;
}

@media screen and (max-width: 480px) {
.top_title {
    font-size: 1.6rem;
}
}
/* midashi_01
------------------------------------------------------------- */
.midashi_01_area {
    margin-bottom: 3em;
}
.midashi_01 {
    position: relative;
    font-weight: bold;
    padding: 5px 0 0 30px;
    font-size: 4.0rem;
    line-height: 1;
    z-index: 2;
    display: block;
}
.midashi_01:before {
    content: "";
    width: 100%;
    height: 18px;
    position: absolute;
    bottom: 0;
    background: #E9E9E9;
    z-index: -1;
    left: 0px;
}
.midashi_01_area p {
    font-size: 1.6rem;
    font-weight: bold;
    padding: 10px 0 0 30px;
}

@media screen and (max-width: 480px) {
.midashi_01 {
    padding: 5px 0 0 20px;
    font-size: 3.0rem;
}
.midashi_01_area p {
    font-size: 1.4rem;
    padding: 5px 0 0 20px;
}
.midashi_01:before {
    height: 14px;
}
}
/*more_btn*/
.more_btn {
    margin: 20px auto;
    font-weight: bold;
    cursor: pointer;
    width: 100px;
    padding: 3px 0;
    font-size: 1.6rem;
    color: #00A040;
    display: inline-block;
    border-top: solid 1px #00A040;
    border-bottom: solid 1px #00A040;
}

/*
.program_list li:nth-child(n+4) {
    display: none;
}
*/

/*ここ*/
@media screen and (max-width: 480px) {
.more_btn {
    margin: 10px auto 10px auto;
}
}
/* 共通スライド
============================================================================================================ */
/*矢印　初期化*/    
.slick-prev:before, .slick-next:before {
    content: ""!important;
    top: 5px;
}
button.slick-prev, button.slick-next {
    z-index: 10;
}
.sub_slide_box {
    position: relative;
}
/*subやじるし*/
.sub_slide-arrow {
    position: absolute;
    margin: 0 auto 0 0;
    top: 17%;
  
    width:100%;
    z-index: 50;
-webkit-transform: translate(-0%,-50%);
-moz-transform: translate(-0%,-50%);
-ms-transform: translate(-0%,-50%);
-o-transform: translate(-0%,-50%);
transform: translate(-0%,-50%);
    
}
.sub_slide-arrow .slick-prev, .sub_slide-arrow .slick-next {
    width: 24px;
    height: 80px;
}
.sub_slide-arrow .slick-prev img, .sub_slide-arrow .slick-next img {
    width: auto;
    height: auto;
    position: relative;
    top: 0px;
}
.sub_slide-arrow .slick-prev {
}
.sub_slide-arrow .slick-next {
}
@media screen and (max-width:1024px) {
    .sub_slide-arrow .slick-prev {
    left: -9px;
}
.sub_slide-arrow .slick-next {
    right: -10px;
}
}

@media screen and (max-width: 480px) {
.sub_slide-arrow .slick-prev, .sub_slide-arrow .slick-next {
    width: 25px;
    height: 80px;
}

}
/*スライドの上部　一覧へのリンク
------------------------------------------------------------------*/
/*.all_more_btn {
    position: absolute;
    top: 5px;
    z-index: 2;
    right: 30px;
    width: 50px;
    height: 50px;
}
.all_more_btn img {
    width: 100%;
    height: 50px;
}
.all_more_btn a:hover {
    background: url("../images/sub_arrow_r_h.svg") no-repeat;
    opacity: 1!important;
    -webkit-transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
    -o-transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
    transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
}
.all_more_btn a:hover {
    background-color: transparent;
}
.all_more_btn a {
    display: inline-block;
}
.all_more_btn a:hover img {
    visibility: hidden;
}

@media screen and (max-width: 480px) {
.all_more_btn {
    position: absolute;
    top: 0px;
    z-index: 2;
    right: 30px;
}
.all_more_btn img {
    height: 40px;
}
}*/

/*スライドの上部　一覧へのリンク テキストの時
------------------------------------------------------------------*/

.all_more_btn {
    position: absolute;
    top: 25px;
    z-index: 2;
    right: 30px;
/*    width: 50px;
    height: 50px;*/
}


.all_more_btn a {position: relative;
    display: inline-block;
    color: #000;
    font-weight: bold;
}
.all_more_btn a:before {
    content: "";
position: absolute;
    background: url("../images/top/all_more_btn_arrow.png")no-repeat;
    width:20px;
    height:40px ;
    background-size: contain;
    position: absolute;
top: 50%;
    left: -2em;
-webkit-transform: translate(-0%,-50%);
-moz-transform: translate(-0%,-50%);
-ms-transform: translate(-0%,-50%);
-o-transform: translate(-0%,-50%);
transform: translate(-0%,-50%);
    
    
}

.all_more_btn a:hover{
    text-decoration: underline!important;
    opacity: 1!important;
}

@media screen and (max-width: 480px) {
.all_more_btn {
    position: absolute;
    top: 17px;
    z-index: 2;
    right: 10px;
}
    
    .all_more_btn a:before {
width: 12px;
    height: 23px;;
    left: -15px;
    
    
}
    
.all_more_btn img {
    height: 40px;
}
}


/*top_cation
------------------------------------------------------------------*/
.infotext{
    text-align: center;
    font-size: 1.8rem;
    margin-top: 20px;
}
.infotext a{
    color: #00A040;
    }
.infotext a:hover{
    text-decoration: underline!important;
    opacity: 1!important;
}
@media screen and (max-width: 960px){
.infotext{
    font-size: 1.4rem;
    padding:0 10px;
}
}

/*top_sns
------------------------------------------------------------------*/
.sns_inner {
    max-width: 100%;
    margin: auto;
}
.sns_inner > div {
    width: 40%;
    overflow: hidden;
}
.sns_inner > div + div {
    margin-left: 20%;
}
.sns_inner .tw_box {
    height: 500px;
    overflow: hidden;
}
.sns_inner .tw_box .iframe {
    height: 500px;
}

@media screen and (max-width: 480px) {
.sns_inner > div {
    width: 100%;
    max-width: 100%;
}
.sns_inner > div + div {
    margin-left: auto;
    margin-top: 60px;
}
.sns_inner .tw_box {
    height: 500px;
}
}
/*top_overview
------------------------------------------------------------------*/
.top_overview_table {
    width: 100%;
}
.top_overview_table tr + tr {
    border-top: solid 1px #999999;
}
.top_overview_table tr:first-child th, .top_overview_table tr:first-child td {
    padding: 0px 20px 30px 20px;
}
.top_overview_table th, .top_overview_table td {
    vertical-align: top;
    padding: 30px 20px;
}
.top_overview_table th {
    width: 25%;
}
.top_overview_table td {
    width: 75%;
}
.top_overview_table td a {
    color: #00A040;
    text-decoration: none;
}
.top_overview_table td a:hover {
    text-decoration: underline!important;
    opacity: 1!important;
}
.top_overview_table td a:hover img {
    opacity: .8!important;
}

@media screen and (max-width: 480px) {
.top_overview_table th, .top_overview_table td {
    display: block;
}
.top_overview_table th {
    width: auto;
}
.top_overview_table td {
    width: auto;
}
.top_overview_table tr:first-child th, .top_overview_table tr:first-child td {
    padding: 0px 0px 20px 0px;
}
.top_overview_table th, .top_overview_table td {
    padding: 20px 0px;
    font-size: 1.4rem;
}
.top_overview_table tr:first-child th {
    padding: 0px 0px 10px 0px;
}
.top_overview_table th {
    padding: 20px 0px 0px 0px;
}
.top_overview_table td {
    padding: 10px 0px 20px 0px;
}
}
/*coop_list
------------------------------------------*/
.coop_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.coop_list li {
    width: 30%;
    margin-bottom:5%;
    margin-right: 10px;
}

.coop_list img{
    width:100%;
}
/* program 中身
------------------------------------------------------------- */
/*
.box_scroll {
    overflow-x: scroll;
    width: 100%;
}
.program_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.program_list li {
    height: auto;
    min-width: 400px;
    margin-bottom: 3em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    margin: auto 20px;
    white-space: nowrap;
}
.program_list li a {
    display: block;
    width: 100%;
}
*/

/*
.program_list > li:nth-child(3n) {
    margin-right: auto;
}
*/
/*
@media screen and (max-width:960px) {
.program_list li {
    min-width: 40%;
}
}

@media screen and (max-width: 480px) {
.program_list li {
    min-width: 80%;
    margin: auto 10px;
}
}*/
/*speakers
------------------------------------------------------------------------------------------------------*/

/*speakers_list
--------------------------------------------*/
/*.speakers_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.speakers_list {
    padding-bottom: 10px;
}
.speakers_list li {
    margin: auto 1em;
    margin-top: 0;
    white-space: normal;
    height: auto;
    min-width: 180px;
}*/

@media screen and (max-width: 480px) {
.speakers_list li span {
    font-size: 1.6rem;
}
/*.speakers_list li + li {
    margin-top: 1.5em;
}*/
    .speakers_list {
    padding-bottom: 0px;
}

}
/*キーワード
--------------------------------------------*/
.keyword_list {
/*    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-start;
    flex-wrap: nowrap;*/
}
.keyword_list li {
    white-space: nowrap;
    margin: 0 10px 10px 10px;
}
.keyword_list li a {
    display: block;
}
.keyword .sub_slide-arrow{
    top:00%;
}
@media screen and (max-width: 960px) {
    .keyword_list {
    max-width: 80%;
    margin: 0 auto;
}

.keyword .sub_slide-arrow .slick-prev {
    left: 10px;
}
.keyword .sub_slide-arrow .slick-next {
    right: 10px;
}
}

@media screen and (max-width: 480px) {
    .keyword_list {
    max-width: 100%;
}
    .keyword .sub_slide-arrow{
    top:5%;
}
}

/*モーダル
------------------------------------------------------------------------------------------------------*/
.text_inner {
    font-size: 1.4rem;
    text-align: center;
    line-height: 2.0;
}
.modal_design {
    position: relative;
}
.modal_design .top_midashi_01 {
    margin-bottom: 2em;
}
.modal {
    z-index: 100;
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
}
.modal__bg {
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
    z-index: 100;
}
.moda_scroll {
    overflow-y: auto;
    height: 100%;
}
.modal__content {
    z-index: 100;
    background: #fff;
    left: 50%;
    padding: 80px 40px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
    height: calc(70% - 50px);
}

@media screen and (max-width: 960px) {
.modal__content {
    width: 80%;
}
}

@media screen and (max-width: 680px) {
.text_inner {
    font-size: 1.2rem;
}
}

@media screen and (max-width: 480px) {
.text_inner {
    font-size: 1.2rem;
    text-align: left;
}
.modal__content {
    padding: 50px 20px 30px 20px;
}
}
/*閉じるボタン*/
.modal_close {
    position: absolute;
    top: 0;
    right: 0;
    width: 49px;
    height: 49px;
}
.modal_close img {
    width: 100%;
}
/*time_table
-----------------------------------------------------------------------*/
.time_table_list{
    max-width: 100%;
    margin: auto;
    justify-content: center;
}
.time_table_list li{
   width:24%;
    margin: auto 10px;
}
.time_table_list li  a{

}
@media screen and (max-width: 480px) {
    .time_table_list li{
   width:100%;
        margin: auto;
}
    .time_table_list li + li{
margin-left:0;
        margin-top:10px;
}
}

/* special_list*/
.special_list li{
    width:23%;
    margin:0 2%;
}


@media screen and (max-width: 1024px) {
    
.special_list li{
    width:26%;

}
}
@media screen and (max-width: 480px) {
        
.special_list li{
    width:48%;

}
.special_list li:nth-child(n + 3){
 display: none;
}
}