@charset "UTF-8";
body {
	min-width: 1000px;
}

@media screen and (max-width: 768px) {
	body {
		min-width: 1px;
	}
}
.koko-sakadachi p, .koko-sakadachi li, .koko-sakadachi dt, .koko-sakadachi dd {
	font-family: "Hirakaku", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
	font-size: 22px;
	line-height: 1.6;
}
.koko-sakadachi .serif {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-weight: 500;
}

.koko-inner{
    position: relative;
    width: 92%;
    max-width: 980px;
    margin: 0 auto;
}
.object-fit-img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;'
}
.col01{ color: #e50012 !important;}
.strong{ font-weight: 700 !important;}
.border_btm{ text-decoration: underline;}

.sec-img img{
    display: block;
    width: 100%;
    height: auto;
}

@media screen and (min-width: 769px) {
	.koko-sakadachi .sp {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.koko-sakadachi .pc {
		display: none;
	}
	.koko-sakadachi p, .koko-sakadachi li, .koko-sakadachi dt, .koko-sakadachi dd {
		font-size: 13px;
		line-height: 1.6;
	}
}

/* fv
-------------------------------*/
.koko-sakadachi .fv {
	background: url("../img/bg_fv.jpg") no-repeat center top/cover;
	position: relative;
    border-bottom: 60px solid #e50012;
}
.koko-sakadachi .fv .img {
    position: relative;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
	text-align: center;
    bottom: -60px;
}
.koko-sakadachi .fv .img img{
    width: 100%;
    height: auto;
}
.koko-sakadachi .buy_fixed {
	position: fixed;
	bottom: 20px;
	right: 20px;
	display: none;
	z-index: 100;
}

.fv_btm{
    position: relative;

}
.fv_btm ul{
    display: flex;
}
.fv_btm ul li{ line-height: 0;}
.fv_btm li img{
    display: block;
}

@media all and (-ms-high-contrast: none) {
    .fv_btm ul li{ width: calc(68.9% / 2);}
    .fv_btm ul li.gif{ width: 31.1%;}
}

@media screen and (max-width: 768px) {
	.koko-sakadachi .fv {
        padding-top: 4%;
		background: url(../img/bg_fv_sp.jpg) no-repeat center top/cover;
        border-bottom: 80px solid #e50012;
	}
    .koko-sakadachi .fv .img {
        bottom: 0;
        margin-bottom: -23vw;
    }
    .fv_btm ul{
        display: flex;
    }
    .fv_btm ul li{ line-height: 0;}
    .fv_btm li img{
        display: block;
    }
	.koko-sakadachi .buy_fixed {
		bottom: 0;
		right: 0;
		width: 100px;
	}
}

/* sec01
-------------------------------*/
.sec01{
    background: url("../img/bg01.jpg") repeat-x left top;
    background-size: auto 100%;
    box-sizing: border-box;
}

.sec01 .koko-inner{
    padding: 90px 0 76px 0;
    box-sizing: border-box;
}
.sec01 .koko-inner:after{
    position: absolute;
    right: -120px;
    bottom: 0;
    display: block;
    content: '';
    background: url("../img/img01_sec01.png") no-repeat center center;
    background-size: 100% auto;
    width: 560px;
    height: 510px;
}
.sec01 h2{
    margin-bottom: 15px;
}
.sec01 p{
    font-size: 18px;
    line-height: 2.111;
}

@media screen and (max-width: 768px) {
    .sec01{
        background: url("../img/bg01.jpg") repeat-x left top;
        background-size: auto 100%;
        box-sizing: border-box;
    }

    .sec01 .koko-inner{
        padding: 18% 0 14% 0;
        box-sizing: border-box;
    }
    .sec01 .koko-inner:after{
        top: -1%;
        bottom: auto;
        right: -10px;
        background: url("../img/img01_sec01_sp.png") no-repeat center center;
        background-size: 100% auto;
        width: 50vw;
        max-width: 380px;
        height: 68vw;
        max-height: 576px;
    }
    .sec01 h2{
        position: relative;
        z-index: 2;
        width: 70%;
    }
    .sec01 p{
        font-size: 15px;
    }

}


/* sec02
-------------------------------*/
.sec02{
    background: url("../img/bg02.jpg") repeat left top;
    border-bottom: 100px solid #ffe57a;
    padding: 110px 0 0 0;
    box-sizing: border-box;
}

.sec02 .koko-inner:before{
    position: absolute;
    right: -90px;
    top: -70px;
    display: block;
    content: '';
    background: url("../img/subttl_sec02.png") no-repeat center center;
    width: 300px;
    height: 230px;
}
.sec02 h2{
    text-align: center;
    margin-bottom: 70px;
}

.sec02 .skill_list ul{
    display: flex;
    flex-wrap: wrap;
}
.sec02 .skill_list li{
    width: 32.2%;
    max-width: 314px;
    margin-right: 1.7%;
    margin-bottom: 40px;
}
.sec02 .skill_list li:nth-of-type(3n){ margin-right: 0;}

.sec02 .skill_list li:nth-last-of-type(3),
.sec02 .skill_list li:nth-last-of-type(2),
.sec02 .skill_list li:nth-last-of-type(1){ margin-bottom: 0;}

.txt_wrap{
    margin-bottom: -100px;
}
.txt_wrap p{ margin-bottom: -120px;}

@media screen and (max-width: 768px) {
    .sec02{
        border-bottom: 70px solid #ffe57a;
        padding: 38% 0 0 0;
    }

    .sec02 .koko-inner:before{
        right: 0;
        top: -47vw;
        background: url("../img/subttl_sec02.png") no-repeat center center;
        background-size: 100% auto;
        width: 56vw;
        max-width: 300px;
        height: 40vw;
        max-height: 230px;
    }
    .sec02 h2{
        margin-bottom: 12%;
    }
    .sec02 .skill_list ul{ justify-content: space-between;}
    .sec02 .skill_list li{
        width: 49%;
        max-width: inherit;
        margin-right: 0;
        margin-bottom: 2%;
    }

    .sec02 .skill_list li:nth-last-of-type(3),
    .sec02 .skill_list li:nth-last-of-type(2),
    .sec02 .skill_list li:nth-last-of-type(1){ margin-bottom: 2%;}

    .txt_wrap{
        margin-bottom: -20vw;
    }
    .txt_wrap p{ margin-bottom: -14vw;}
}


/* sec03
-------------------------------*/
.sec03{
    background: url("../img/bg03.jpg") no-repeat center center;
    background-size: cover;
    padding: 125px 0 160px 0;
    box-sizing: border-box;
}

.sec03 h2{
    text-align: center;
    margin-bottom: 70px;
}

.koko-movie-main-thumb,
.koko-movie-sub-list{
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}
.koko-movie-main-video{
    height: 396px;
}
.koko-movie-main-thumb-item{
    border-radius: 15px;
    overflow: hidden;
    border: 1px solid #808080;
    box-sizing: border-box;
}

.koko-movie-main-thumb iframe{
    width: 100%;
    height: 100%;
    border: none;
    box-sizing: border-box;
}

.koko-movie-sub-list{ margin-top: 25px;}
.koko-movie-sub-list li{
    margin: 0 5px;
    border-radius: 15px;
    overflow: hidden;
    border: 1px solid #808080;
    box-sizing: border-box;
}
.koko-movie-sub-list li.slick-current{
    border: 3px solid #e50012;
}


@media screen and (max-width: 768px) {
    .sec03{
        background: url("../img/bg03_sp.jpg") no-repeat center center;
        background-size: cover;
        padding: 16% 0 14% 0;
    }

    .sec03 h2{
        margin-bottom: 8%;
    }
    .koko-movie-main-thumb,
    .koko-movie-sub-list{
        max-width: inherit;
    }
    .koko-movie-main-video{
        height: 51vw;
    }
    .koko-movie-main-thumb-item{ border-radius: 10px;}
    .koko-movie-sub-list{ margin-top: 5%;}
    .koko-movie-sub-list li{
        margin: 0 5px;
        border-radius: 10px;
    }

}


/* sec04
-------------------------------*/
.sec04{
    background: url("../img/bg02.jpg") repeat left top;
    padding: 155px 0 185px 0;
    box-sizing: border-box;
}

.sec04 h2{
    text-align: center;
    margin: 0 auto 70px auto;
}
.sec04 .koko-inner:after{
    position: absolute;
    right: -60px;
    bottom: -182px;
    display: block;
    content: '';
    background: url("../img/img01_sec04.png") no-repeat center center;
    width: 286px;
    height: 222px;
}
.sec04 .voice_wrap{
    display: flex;
    justify-content: space-between;
    margin-left: -40px;
}

.sec04 .voice_wrap:nth-of-type(2){ margin-left: auto; margin-right: -40px;}
.sec04 .voice_wrap+.voice_wrap{ margin-top: 20px;}


.sec04 .box{
    width: 48.5%;
    max-width: 480px;
    padding: 15px 25px 25px 25px;
    border-radius: 15px;
    background: #FFF;
    box-sizing: border-box;
}
.sec04 .box p{
    font-size: 18px;
    line-height: 2.22;
    background-color: #fff;
}

.note_line{
    display: block;
    background: url("../img/border_dotted.png") repeat-x left bottom;
    background-size: contain;
}
@media screen and (max-width: 768px) {
    .sec04{
        padding: 16% 0 18% 0;
    }

    .sec04 h2{
        width: 92%;
        margin: 0 auto 8% auto;
    }
    .sec04 .koko-inner{width: 100%;}
    .sec04 .koko-inner:after{
        right: 4%;
        bottom: -16vw;
        background-size: 100% auto;
        width: 38vw;
        max-width: 286px;
        height: 30vw;
        max-height: 222px;
    }
    .sec04 .voice_wrap{
        display: block;
        margin-left: auto;
    }

    .sec04 .voice_wrap:nth-of-type(2){ margin-left: auto; margin-right: 0;}
    .sec04 .voice_wrap+.voice_wrap{ margin-top: 4%;}

    .sec04 .box{
        width: 86%;
        max-width: inherit;
        padding: 5% 6%;
        border-radius: 10px;
        margin: 0 0 0 auto;
    }
    .sec04 .box:nth-of-type(even){
        margin: 0 auto 0 0;
    }
    .sec04 .box+.box{ margin-top: 6%;}

    .sec04 .box p{
        font-size: 15px;
    }

}
@media screen and (max-width: 360px) {
    .sec04 .box p{
        font-size: 4vw;
    }
}

/* buy
-------------------------------*/
.koko-sakadachi .buy {
    position: relative;
    background: url("../img/bg04.jpg") repeat left top;
    padding: 320px 0 165px 0;
    box-sizing: border-box;
}
.koko-sakadachi .buy:before{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: 0 auto;
    display: block;
    content: '';
    background: url("../img/bg01_sec05.png") repeat-x left top;
    background-size: auto 100%;
    width: 100%;
    height: 201px;
}

.koko-sakadachi .buy h2{
    text-align: center;
    margin: 0 auto 75px auto;
}
.koko-sakadachi .buy .box{
    background: #FFF;
    margin-bottom: 80px;
    padding: 40px 38px 50px 38px;
    box-sizing: border-box;
}
.koko-sakadachi .buy .box.last {
    margin-bottom: 155px;
}
.koko-sakadachi .buy .box h3{
    text-align: center;
    margin: 0 auto 35px auto;
}

.koko-sakadachi .buy .box .flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.koko-sakadachi .buy .box .flex .img{}
.koko-sakadachi .buy .buylink {
    width: 47%;
    max-width: 420px;
    margin: 0;
}
.koko-sakadachi .buy .buylink__ttl{
	display: none;
}
.koko-sakadachi .buy .buylink__list {

	border: 0;
	border-radius: 0;
	background: none;
}
.koko-sakadachi .buy .buylink__list-item {

}
.koko-sakadachi .buy .buylink__link {
    position: relative;
	color: #fff000;
	font-weight: 700;
	font-size: 16px;
	border-bottom: 0;
	width: 100%;
	height: 55px;
	display: flex;
	align-items: center;
    justify-content: flex-start;
    border-radius: 30px;
    padding: 0 35px;
    background: #00aeeb;
}
.koko-sakadachi .buy .buylink__link-txt:after {
    position: absolute;
    right: 28px;
    top: 50%;
    margin-top: -3px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    background: none;
}
.buylink__link-txt{ margin: 0;}
.koko-sakadachi .buy .buylink__list-item+.buylink__list-item{ margin-top: 10px;}


@media screen and (max-width: 768px) {

    .koko-sakadachi .buy {
        background: url("../img/bg04_sp.jpg") repeat left top;
        background-size: 100% auto;
        padding: 30% 0 16% 0;
    }
    .koko-sakadachi .buy:before{
        background: url("../img/bg01_sec05_sp.png") no-repeat left top;
        background-size: 100% auto;
        height: 18vw;
    }

    .koko-sakadachi .buy h2{
        margin: 0 auto 8% auto;
    }
    .koko-sakadachi .buy .box{
        margin-bottom: 7%;
        padding: 6% 5%;
    }
    .koko-sakadachi .buy .box.last{
        margin-bottom: 14%;
    }
    .koko-sakadachi .buy .box h3{
        margin: 0 auto 5% auto;
    }

    .koko-sakadachi .buy .box .flex{
        display: block;
    }
    .koko-sakadachi .buy .box .flex .img{ margin: 0 auto 6% auto}
    .koko-sakadachi .buy .buylink {
        width: 100%;
        max-width: inherit;
        margin: 0;
    }

    .koko-sakadachi .buy .buylink__link {
        font-size: 14px;
        height: 55px;
        border-radius: 30px;
        padding: 0 5%;
    }
    .koko-sakadachi .buy .buylink__link-txt:after {
        position: absolute;
        right: 28px;
        top: 50%;
        margin-top: -3px;
        width: 6px;
        height: 6px;
        border-top: 1px solid #FFF;
        border-right: 1px solid #FFF;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        background: none;
    }


}

.koko-sakadachi .koko-sakadachi_footer .sns_link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.koko-sakadachi .koko-sakadachi_footer .sns_link a {
    margin: 0 20px;
    width: 50px;
}

@media screen and (max-width: 768px) {
	.koko-sakadachi .koko-sakadachi_footer .sns_link a {
		width: 40px;
		margin: 0 15px;
	}
}