@charset "utf-8";

.menu_link::after {
    content: none;
}

/***********************************
	コンテンツごとのカラー指定 
************************************/
.mv_contents_item.carrer,
.cat_carrer .event_cat,
.carrer.article_cat {
    background: #FCC6C6;
}

.mv_contents_item.scholarship,
.cat_scholarship .event_cat,
.scholarship.article_cat {
    background: #FCD4B0;
}

.mv_contents_item.todo,
.cat_todo .event_cat,
.todo.article_cat {
    background: #B2BAD6;
}

.mv_contents_item.group,
.cat_group .event_cat,
.group.article_cat {
    background: #ffee9c;
}

.mv_contents_item.research_support,
.cat_research_support .event_cat,
.research_support.article_cat {
    background: #9CE0D0;
}

.mv_contents_item.fellowship_next_gen,
.cat_fellowship_next_gen .event_cat,
.fellowship_next_gen.article_cat {
    background: #B3E9EF;
}

/*  */
.mv_contents_item.carrer:hover {
    background: #FF8280;
}

.mv_contents_item.scholarship:hover {
    background: #FF983B;
}

.mv_contents_item.todo:hover {
    background: #708ADB;
}

.mv_contents_item.group:hover {
    background: #FFD82B;
}

.mv_contents_item.research_support:hover {
    background: #2FC29E;
}

.mv_contents_item.fellowship_next_gen:hover {
    background: #20BACB;
}

.mv_contents_item.fellowship_next_gen p {
    line-height: 16px;
}

/*  */
.mv_contents_item.carrer .mv_contents_img {
    box-shadow: 2px 2px 8px #FF8280;
}

.mv_contents_item.scholarship .mv_contents_img {
    box-shadow: 2px 2px 8px #FF983B;
}

.mv_contents_item.todo .mv_contents_img {
    box-shadow: 2px 2px 8px #ABABAB;
}

.mv_contents_item.group .mv_contents_img {
    box-shadow: 2px 2px 8px #FFD82B;
}

.mv_contents_item.research_support .mv_contents_img {
    box-shadow: 2px 2px 8px #2FC29E;
}

.mv_contents_item.alternating .mv_contents_img {
    box-shadow: 2px 2px 8px #20BACB;
}

/*------------ 共通 ------------*/
.sec_head {
    display: block;
    font-size: 3.0rem;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.5;
    margin: auto auto 31px;
    position: relative;
    max-width: 1160px;
}

.sec_head::before {
    display: block;
    content: attr(data-en);
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 1;
    font-weight: 500;
    margin: 0 0 9px;
}


.event_cat,
.article_cat {
    position: absolute;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    min-width: 143px;
    padding: 10px 5px;
    border-radius: 8px 0 8px 0;
    background: #c8c8c8;
    z-index: 10;
}

.post_head {
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.5;
}

.post_date {
    display: inline-block;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    margin: 0 11px 5px 0;
}


/**********************************************
	* トップページ
*********************************************/
#mv_wrap {
    background: url(../images/index_bg_1.jpg) no-repeat center / cover;
    position: relative;
    padding-top: 113px;
}

.mv_in {
    max-width: 1548px;
    /* max-width: 100%; */
    margin: auto;
    padding: 150px 20px 70px;
    /* position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    height: 100%; */
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.mv_info_box {
    /*max-width: 1548px;*/
     max-width: 100%;
    margin: auto;
    padding: 0 20px 80px;
    /*display: flex;*/
    align-items: center;
    box-sizing: border-box;
}

.mv_copy {
    /*position: absolute;*/
    /*max-width: 1240px;*/
    /*width: 100%;*/
    /*padding: 0 20px;*/
    /*left: 50%;*/
    /*transform: translateX(-50%);*/
}

.mv_copy .index_h1 {
    font-size: 3.1rem;
    /*font-size: 5.2rem;*/
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.48;
    color: #fff;
    margin: 24px 0 0;
    position: relative;
    text-shadow: 0px 0px 5px #666;
    word-break: break-all;
}

.mv_copy .index_h1::before {
    display: block;
    content: attr(data-en);
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1;
    font-weight: bold;
    margin: 0 0 18px;
}

.mv_contents {
    width: 754px;
    max-width: calc(100% - 350px);
    margin-left: auto;
    z-index: 5;
}
.mv_contents_head{
    word-break: break-all;
}
.mv_contents_list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -2.255%;
}

.mv_contents_item {
    width: 31.83%;
    margin: 0 2.255% 2.255% 0;

    border-radius: 8px;
    transition: all .3s ease;
}

.mv_contents_item:nth-child(3n) {
    margin-right: 0;
}

.mv_contents_link {
    display: block;
    text-decoration: none;
    font-weight: 500;
    text-align: center;
    padding: 25px 10px;
}

.mv_contents_img {
    width: 120px;
    max-width: 100%;
    border-radius: 50%;
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto auto 15px;
    padding: 0 15px;
    aspect-ratio: 1 / 1;
}

.mv_contents_img img {
    max-width: 100%;
}

.mv_info {
    position: absolute;
    /*max-width: 1240px;*/
    /*width: 100%;*/
    /*padding: 0 20px;*/
    /*left: 50%;*/
    /*transform: translateX(-50%);*/
    /*display: flex;*/
}

.mv_info_item {
    background-color: #ffffff;
    border: 1px solid #c8c8c8;
    cursor: pointer;
    border-radius: 4px;
    display: inline-block;
}

.mv_info_item:hover {
    border: 1px solid #007f4d;
}

.mv_info_link {
    padding: 16px 20px;
    display: block;
    background: none!important;
    text-align: center;
    text-decoration: none;
    transition: none;
}

.mv_info_link:hover {
    color: #007F4D;
    text-decoration: underline;
    text-decoration-color: #007F4D;
}

/*------------ イベント ------------*/
.index_event {
    margin-bottom: 78px;
    background: #F6F6F6;
    padding: 54px 0 73px;
    position: relative;
}

.event_box {
    width: 1220px;
    max-width: 100%;
    margin: auto;
    padding: 0 20px;
    position: relative;
}

.event_list {
    margin-bottom: 112px;
    position: relative;
}

.event_list .slick-list,
.article_list .slick-list{
    overflow: visible;
}

.event_item {
    width: 380px;
    max-width: calc(100% - 40px);
    height: auto;
    margin: 0 10px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0, 0, 0, .13);
    transition: all .4s ease;
}

.event_item:hover {
    box-shadow: 0 0 13px rgba(0, 0, 0, .25);
}

.event_link {
    text-decoration: none;
    position: relative;
}

.event_link:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(247 247 247 / 20%);
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transition: all .3s ease;
}

.event_link:hover:after {
    opacity: 1;
    transition: all .3s ease;
}


.event_thumb_box {
    width: 100%;
}

.event_thumb {
    background: #fcfdfc;
    position: relative;
    border-radius: 8px;
    /*     padding-top: 65.78%; */
    padding-top: 67.18%;

    overflow: hidden;
}

.event_thumb img {
    position: absolute;
    top: 0;
    right: 0;
    /*bottom: 0;*/
    left: 0;
    margin: auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    transition: all .3s ease;
    object-fit: cover;
}

.event_item:hover .event_thumb img {
    transform: scale(1.1);
    transition: all .3s ease;
}

.event_txt_wrap {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    padding: calc(67.18% + 17px) 15px 20px;
    height: 100%;
    margin-top: -67.18%;
    word-break: break-word;
}

.event_info_date {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 3px;
}

.event_txt_wrap .event_status_wrap {
    margin-bottom: 5px;
    min-width: 65%;
}

.event_txt_wrap .event_status {
    /* イベント開催前 */
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0;
    text-align: center;
    color: #75aef9;
    width: 98px;
    max-width: calc(50% - 7px);
    border: 2px solid #75aef9;
    padding: 3px 5px;
    border-radius: 50px;
    margin-right: 4px;
}

.event_txt_wrap .event_status.holding {
    /* イベント開催日 */
    color: #FF0400;
    border-color: #FF0400;
}

.event_txt_wrap .event_status.finished {
    /* イベント開催済み */
    color: #666666;
    border-color: #666666;
}

.event_txt_wrap .event_status.soon {
    /* イベント開催済み */
    color: #FF983B;
    border-color: #FF983B;
}

.event_txt_wrap .schedule_status {
    /* イベント応募締切前 */
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0;
    text-align: center;
    color: #47a412;
    width: 98px;
    max-width: calc(50% - 7px);
    border: 2px solid #47a412;
    padding: 3px 5px;
    border-radius: 50px;
}

.event_txt_wrap .schedule_status.soon {
    /* イベント応募締切間近 */
    color: #FF983B;
    border-color: #FF983B;
}

.event_txt_wrap .schedule_status.soon_today {
    /* イベント応募本日締切 */
    color: #FF0400;
    border-color: #FF0400;
}

.event_txt_wrap .schedule_status.closed {
    /* イベント応募募集終了 */
    color: #666666;
    border-color: #666666;
}



.event_txt_wrap .event_content {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    margin-bottom: 10%;

}

.event_content>p>* {
    font-style: normal;
    font-weight: 400;
}

.event_txt_wrap .event_content ul,
.event_txt_wrap .event_content ol {
    padding-left: 1.5em;
}

.event_txt_wrap .event_content ul li {
    list-style: disc;
}

.event_txt_wrap .event_content ol li {
    list-style: decimal;
}

.event_link:hover span:after {
    right: -8px;
    transition: all .3s ease;
}

.calendar_link {
    position: absolute;
    top: -5px;
    left: 300px;
    height: 24px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #222;
    text-decoration: none;
    padding: 0 20px 0 0;
    transition: none;
}
.calendar_link.allow_btn:before {
    position: absolute;
    content: "";
    top: 7px;
    right: 3px;
    bottom: 0;
    width: 15px;
    height: 15px;
    margin: 0;
    border: 1px solid #222222;
    border-radius: 50%;
}
.calendar_link.allow_btn:after {
    position: absolute;
    content: "";
    right: 8px;
    top: 11px;
    bottom: 0;
    margin: 0;
    width: 5px;
    height: 5px;
    border-top: 1px solid #222222;
    border-right: 1px solid #222222;
    transform: rotate(135deg);
}

.calendar_link:hover {
    /*color: #007F4D;*/
    /*transition: color .3s ease;*/
    border-bottom: 1px solid #000;
}
@media screen and (max-width: 767px) {
    .calendar_link {
        position: absolute;
        top: 45px;
        left: auto;
        right: 0;
        font-size: 1.3rem;
        height: 20px;
    }
    .calendar_link.allow_btn:before {
        top: 3px;
    }
    .calendar_link.allow_btn:after {
        top: 8px;
    }

    .mv_info {
        padding: 1rem 0;
        margin-right: 20px;
        /*margin: auto;*/
        /*width: 350px;*/
        /*display: block;*/
    }

    .mv_info_item {
        background-color: #ffffff;
        border: 1px solid #c8c8c8;
        cursor: pointer;
    }

    .mv_info_link {
        padding: 16px 20px;
        display: block;
        background: none!important;
    }
}
@media screen and (max-width: 360px) {
    h2.event_head {
        display: table-row;
    }
    .calendar_link {
        position: unset;
    }
    ul.event_list {
        margin-top: 10px;
    }
    .calendar_link.allow_btn:before {
        top: 49px;
        left: 152px;
    }
    .calendar_link.allow_btn:after {
        top: 54px;
        left: 156px;
    }
}

/*------------ 記事 ------------*/
.index_article {
    padding: 0 0 85px;
    position: relative;
    overflow: hidden;
}

.article_list {
    margin-bottom: 112px;
    position: relative;
}

.article_box {
    margin: 0 auto;
    width: 1200px;
    max-width: 100%;
    padding: 0 20px;
    position: relative;
}

.article_list .article_item {
    width: 380px;
    max-width: calc(100% - 40px);
    height: auto;
    margin: 0 10px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0, 0, 0, .13);
    transition: all .4s ease;
}

.article_list .article_item:hover {
    box-shadow: 0 0 13px rgba(0, 0, 0, .25);
}

.article_list .article_post_link {
    display: block;
    height: 100%;
    text-decoration: none;
    transition: all .3s ease;
    position: relative;
}

.article_list .article_post_link:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(247 247 247 / 20%);
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transition: all .3s ease;
}

.article_list .article_post_link:hover:after {
    opacity: 1;
    transition: all .3s ease;
}

.article_thumb {
    width: 100%;
    background: #fcfdfc;
    position: relative;
    padding-top: 67.18%;
    border-radius: 8px;
    overflow: hidden;
}

.article_thumb img {
    position: absolute;
    top: 0;
    right: 0;
    /*bottom: 0;*/
    left: 0;
    margin: auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    transition: all .3s ease;
    object-fit: cover;
}

.article_post_link:hover .article_thumb img {
    transform: scale(1.1);
    transition: all .3s ease;
}

.article_txt {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    padding: calc(67.18% + 9px) 15px 18px;
    height: 100%;
    margin-top: -67.18%;
}

.article_title {
    font-size: 2.0rem;
    font-weight: bold;
    letter-spacing: 0.2em;
}

/*------------ ログイン限定画像 ------------*/
.post_title_wrap,
.event_title_wrap {
    display: flex;
}

.members_only_post_img,
.members_only_event_img {
    width: 20px;
    height: 30px;
    float: left;
    margin-right: 8px;
}

/*------------ コンテンツ ------------*/
.contents_list {
    display: flex;
    flex-wrap: wrap;
}

.contents_item {
    display: block;
    width: 50%;
    position: relative;
}

.contents_link {
    display: block;
    text-decoration: none;
}

.contents_img {
    overflow: hidden;
}

.contents_img img {
    width: 100%;
    min-height: 200px;
    object-fit: cover;
    transition: all .5s ease;
}

.contents_link:hover .contents_img img {
    transform: scale(1.05);
}

.contents_in {
    display: flex;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 810px;
    max-width: calc(100% - 50px);
    margin: auto;
    transform: translate(-50%, -50%);

}

.contents_in .contents_txt {
    padding-left: 15px;
}

.contents_in .sec_head {
    margin: auto auto 15px;
}

.contents_in .sec_head::before {
    color: #fff;
}

.contents_in .link_btn {
    width: 220px;
    margin: 0 0 0 auto;
}

.contents_link:hover .contents_in .link_btn {
    background: rgba(255, 255, 255, 0.4);
}

.contents_link:hover .contents_in .link_btn::after {
    border-color: #222222;
}

.contents_link:hover .contents_in .link_btn span {
    color: #222222;
}

/*------------ カレンダー ------------*/
.index_calendar {
    padding: 67px 0 86px;
    background: #F6F6F6;
    position: relative;
    overflow: hidden;
}

.calendar_box {
    margin: 0 auto;
    width: 1240px;
    max-width: 100%;
    padding: 0 20px;
    position: relative;
}

.calendar_iframe {
    position: relative;
    padding-bottom: 49.8%;
    height: 0;
    overflow: hidden;
}

.calendar_iframe iframe,
.calendar_iframe object,
.calendar_iframe embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.calendar_iframe * {
    font-family: YakuHanJP, 'Noto Sans JP', 'Open Sans', sans-serif, "游ゴシック", "Yu Gothic", Yu Gothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック";
}

/*------------ slick ------------*/
.slick-nav-arrows {
    position: absolute;
    top: 27px;
    right: -7px;
}

.slick-next,
.slick-prev {
    font-size: 0;
    line-height: 0;
    position: relative;
    display: inline-block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #222222;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: 0;
    z-index: 20;
    border: 2px solid #222;
    box-shadow: 0 3px 6px 0 rgb(0 0 0 / 16%);
    transition: all .3s ease;
}

.slick-next:hover,
.slick-prev:hover {
    background: #fff;
}

.slick-next:before,
.slick-prev:before {
    position: absolute;
    content: "";
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
    top: 0;
    bottom: 0;
    left: -4px;
    right: 0;
    margin: auto;
    transition: all .3s ease;
}

.slick-next:hover:before,
.slick-prev:hover:before {
    border-color: #222;
}

.slick-next {
    right: 0;
}

.slick-prev {
    left: 0;
    margin-right: 10px;
}

.slick-prev:before {
    transform: rotate(-135deg);
    left: 4px;
}

.slick-disabled{
    background: #c9c9c9;
    border-color: #c9c9c9;
}

.slick-disabled:hover{
    background: #c9c9c9;
    cursor: default;
}

.slick-disabled:hover:before{
    border-color: #fff;
}

.slick-track {
    display: flex;
}

.slide-dots {
    position: absolute;
    bottom: -63px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.slide-dots li {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.slide-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 10px;
    height: 10px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slide-dots li button:hover,
.slide-dots li button:focus {
    outline: none;
}

.slide-dots li button:hover:before,
.slide-dots li button:focus:before {
    background: #222;
}

.slide-dots li button:before {
    font-family: 'slick';
    font-size: 1.5rem;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 10px;
    content: '';
    text-align: center;
    background: #C9C9C9;
    border-radius: 50%;
    transition: all .3s ease;
}

.slide-dots li.slick-active button:before {
    background: #222;
}

@media screen and (max-width: 1230px) {

    /*------------ slick ------------*/
    .slick-nav-arrows {
        /* position: absolute;
		top: 27px; */
        right: 20px;
    }

    /**********************************************
	* トップページ
	*********************************************/
    /* .mv_in {
        flex-direction: column;
        padding: 68px 20px 70px;
    }

    .mv_copy {
        position: static;
        padding: 0;
        transform: none;
    } */

    .mv_copy .index_h1 {
        font-size: 2.2vw;
        /*font-size: 4.6vw;*/
        margin: 15px 0 0;
    }

    .mv_copy .index_h1::before {
        font-size: 1.592vw;
        margin: 0 0 8px;
    }

    .mv_contents {
        max-width: calc(100% - (4.6vw * 6 + 40px));
    }

    .mv_contents_link {
        padding: 15px 10px 12px;
    }

    .mv_contents_img {
        margin: auto auto 9px;
    }

}

@media screen and (max-width: 767px) {

    /*------------ 共通 ------------*/
    .sec_head {
        font-size: 2.0rem;
        padding-bottom: 30px;
        margin-bottom: 0;
    }

    .sec_head::before {
        font-size: 1.2rem;
        margin: 0 0 4px;
    }



    .event_cat,
    .article_cat {
        max-width: calc(49.552% - 8px);
        padding: 6px 5px;
    }

    .post_head {
        font-size: 1.5rem;
        min-height: auto;
    }

    .post_date {
        font-size: 1.2rem;
        width: 100%;
        margin: 0 0 5px 0;
    }

    /**********************************************
	* トップページ
	*********************************************/
    /* .mv_copy {
        padding: 0 30px;
    } */
    .mv_in {
        padding: 50px 20px 20px;
        flex-direction: column;
    }

    .mv_copy {
        position: static;
        padding: 0;
        transform: none;
    }

    .mv_copy .index_h1 {
        font-size: 4vw;
        text-align: center;
        /*font-size: 8vw;*/
        /* max-width: 86vw; */
        /* margin: 0; */
        margin: 0 0 30px;
        line-height: 1.2;
    }

    .mv_copy .index_h1:before {
        font-size: 2.769vw;
        margin: 0 0 8px;
    }

    /* .mv_contents {
        width: 754px;
        max-width: calc(100% - 350px);
        margin-left: auto;
        z-index: 5;
    } */
    .mv_contents {
        max-width: 100%;
        margin: auto;
    }

    .mv_contents_list {
        /* display: flex;
        flex-wrap: wrap; */
        margin-bottom: -10px;
    }

    .mv_contents_item {
        width: calc(50% - 5px);
        margin: 0 10px 10px 0;
    }

    .mv_contents_item:nth-child(3n) {
        margin-right: 10px;
    }

    .mv_contents_item:nth-child(2n) {
        margin-right: 0;
    }

    .mv_contents_link {
        /* display: block; */
        /* text-decoration: none; */
        /* font-weight: 500; */
        /* text-align: center; */
        padding: 14px 7px 12px;
    }

    .mv_contents_img {
        width: 87px;
        margin: auto auto 10px;
    }

    /*------------ イベント ------------*/
    .index_event {
        margin-bottom: 50px;
        padding: 55px 0 60px;
    }

    .event_list {
        margin-bottom: 60px;
    }

    .event_item {
        width: 100%;
        margin: 0 10px 30px;
    }

    .event_txt_wrap {
        padding: calc(67.18% + 7px) 10px 13px;
    }



    .event_txt_wrap .event_content {
        -webkit-line-clamp: 3;
        margin-bottom: 30px;
    }

    /*------------ 記事 ------------*/

    .index_article {
        padding: 0 0 70px;
    }

    .article_box {
        padding: 0 20px;
    }

    .article_list {
        margin-bottom: 60px;
    }

    .article_list .article_item {
        width: 100%;
        margin: 0 10px 30px;
    }

    /* .article_date {
		font-size: 1.3rem;
		margin-bottom: 0;
	} */

    .article_title {
        font-size: 1.5rem;
        letter-spacing: 0.1em;
    }

    /*------------ ログイン限定画像 ------------*/
    .post_title_wrap,
    .event_title_wrap {
        display: flex;
    }

    .members_only_post_img,
    .members_only_event_img {
        width: 16px;
        height: 23px;
        float: left;
        margin-right: 6px;
    }

    /*------------ コンテンツ ------------*/

    .contents_item {
        width: 100%;
    }

    .contents_img img {
        min-height: 150px;
    }

    .contents_in {
        display: block;
        max-width: calc(100% - 40px);
    }

    .contents_in .contents_txt {
        padding-left: 0;
    }

    .contents_in .sec_head {
        padding-bottom: 10px;
        margin: 0;
    }

    .contents_in .link_btn {
        margin: 0 0 0 auto;
    }

    /*------------ カレンダー ------------*/
    .index_calendar {
        padding: 50px 0 80px;
    }

    .calendar_iframe {
        position: relative;
        padding-bottom: 90%;
        padding-top: 30px;
        height: 0;
        overflow: hidden;
    }

    .calendar_iframe iframe,
    .calendar_iframe object,
    .calendar_iframe embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    /*------------ slick ------------*/
    .slick-nav-arrows {
        position: static;
    }

    .slick-next,
    .slick-prev {
        position: absolute;
        top: 40%;
        transform: translateY(-50%);
        width: 45px;
        height: 45px;
    }

    .slick-next:before,
    .slick-prev:before {
        width: 15px;
        height: 15px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        left: -5px;
    }

    .slick-next {
        right: 5px;
    }

    .slick-prev {
        left: 5px;
    }

    .slick-prev:before {
        left: 5px;
    }

    .slide-dots {
        bottom: -23px;
    }

    .mv_info_item a {
        font-size: 14px;
    }
}