@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900|Noto+Serif+JP:700&display=swap);
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');

/* ===============================================
   Reset
=============================================== */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, b, cite, code, del, dfn,
em, img, ins, kbd, q, samp, strong, sub, sup, tt, var,
ul, ol, li, dl, dt, dd, form, fieldset, legend, label, input, textarea,
table, caption, tbody, tfoot, thead, tr, th, td,
header, footer, nav, small, section, #wrapper,
*:after, *:before { margin: 0; padding: 0; box-sizing: border-box; position: relative; z-index: 1; outline-offset: 0;}


* { min-height: 0%;}

header, footer, nav, small, section { display: block; }

ul { list-style: none; }

img { border: 0; height: auto; vertical-align: bottom; max-width: 100%; -webkit-backface-visibility: hidden;backface-visibility: hidden; }

/* ===============================================
   Common
=============================================== */
html, body {
    width: 100%;
    overflow-x: hidden;
}

html { font-size: 62.5%; }

body { 
    position: relative; 
    font-family: 'Kosugi Maru', -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; 
    font-size: 1rem; 
    background-color: #ccdf80; 
    color: #000; 
    line-height: 1.4; 
    letter-spacing: .8px; 
}

a { color: #000; display: inline-block; max-width: 100%; text-decoration: none;}
a img { transition: .4s;}
a:hover { text-decoration: none; }
a:hover img { opacity: 0.6; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; }
nav a:hover img { opacity: 1; }

table { border-collapse: collapse; }
table th, table td { vertical-align: middle; }

b { font-weight: bold; }
b, strong, .bold{
	font-family: 'Kosugi Maru', -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
	font-weight: bold;
}

video { max-width: 100%;}

.clearfix:before, .clearfix:after { content:""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom:1; }

.pc { display: block; }
.sp { display: none; }

#wrapper {
	width: 100%;
    margin: 0 auto;
    /*display: flex;
    flex-direction: column;*/
    min-height: 100vh;
	position: relative;
}
section {
	width: 100%;
}
.mb_10 {
	margin-bottom: 10px;
}
.mb_20 {
	margin-bottom: 20px;
}
.mb_30 {
	margin-bottom: 30px;
}
.mb_50 {
	margin-bottom: 50px;
}
.ls_0 {
	letter-spacing: 0;
}
.indent_1 {
	display: block;
	text-indent: 1em;
}

@media screen and (max-width:768px){
	body { font-size: 0.8rem;}
	.pc { display: none; }
	.sp { display: table; }
}


/* ===============================================
   Foot
=============================================== */
.foot_img {
    width: 100%;
	max-width: 1970px;
	margin: auto;
    position: absolute;
    top: -500px;
    left: 0;
    right: 0;
    overflow: hidden;
    display: flex;
    justify-content: center;
}
.foot_img img {
    max-width: 1970px;
}
footer {
    position: relative;
	padding-top: 530px;
}
#footer {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 30px 80px;
  	text-align: right;
}
.copyright {
	width: 145px;
	display: inline-block;
}

@media screen and (max-width:1200px){
    .foot_img img {
        max-width: 153vw;
    }
    .foot_img {
        top: -36vw;
    }
}
@media screen and (max-width:980px){
    footer {
        padding-top: 42vw;
    }
}
@media screen and (max-width:768px){
	#footer {
		padding: 20px 15px;
	}
	.copyright {
		max-width: 30%;
	}
}

/* ===============================================
   mv
=============================================== */
#mv {
	width: 100%;
    height: 1200px;
	margin: 0 auto;
    position: relative;
    overflow: hidden;
}
#mv img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width:1200px){
    #mv {
        width: 100%;
        height: 100%;
        aspect-ratio: 1 / 1;
    }
}


/* ===============================================
   course
=============================================== */
#course {
	width: 1200px;
	max-width: 96%;
	margin: 0 auto 120px;
	padding: 50px 55px;
	background-color: #fff;
	display: flex;
    border-radius: 30px;
}
.img_prize {
    max-width: 46%;
    position: absolute;
    bottom: 0;
    right: 10px;
    z-index: 10;
}
.img_ringo {
    max-width: 46%;
    position: absolute;
    bottom: -27px;
    left: 39%;
    z-index: 10;
}
.course_ringo {
	width: 55%;
    position: relative;
    z-index: 1;
}
.course_ttl {
	position: relative;
}
.course_ringo .txt_em {
	font-size: 2.5rem;
	font-weight: bold;
    color: #e7372f;
    margin-top: 1em;
    margin-bottom: 0.5em;
}
.course_ringo .txt_em span {
    display: inline-block;
}
.course_ringo .txt {
	font-size: 2rem;
    line-height: 1.75em;
    margin-bottom: 0.8em;
}
.course_ringo .txt span {
	font-weight: bold;
    color: #e7372f;
}
.course_ringo .txt_note {
	font-size: 1.8rem;
	font-weight: bold;
}
@media screen and (max-width:1200px){
    #course {
        padding: 30px 4vw 150px;
        display: flex;
        border-radius: 3vw;
        flex-direction: column;
        align-items: center;
    }
    .img_prize {
        position: relative;
        margin-bottom: 5vw;
        right: 0;
    }
    .course_ringo {
        width: 100%;
        max-width: 540px;
    }
}
@media screen and (max-width:768px){
	#course {
		margin: 0 auto 50px;
		padding: 3vw 5vw 80px;
		flex-wrap: wrap;
        border-radius: 5vw;
	}
    .img_prize {
        max-width: 90%;
        bottom: 0;
        right: -2%;
    }
    .img_ringo {
        width: 91px;
        bottom: -16px;
        left: 33%;
    }
    .course_ringo .txt_em {
        font-size: 1.8rem;
    }
    .course_ringo .txt {
        font-size: 1.4rem;
    }
    .course_ringo .txt_note {
        font-size: 1.2rem;
    }
}

/* ===============================================
   description
=============================================== */
.disc_bnr {
	width: 1200px;
	max-width: 90%;
	margin: 0 auto 240px;
    text-align: center;
}
@media screen and (max-width:768px){
	.disc_bnr {
		margin: 0 auto 22vw;
	}
}


/* ===============================================
   	four panel comic
=============================================== */
#comic_area {
    width: 1200px;
    max-width: 96%;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 30px;
    padding: 130px 0 50px;
    position: relative;
}
#comic_area .inner {
    width: 84%;
    margin: 0 auto;
}
#comic_ttl {
    width: 1200px;
    max-width: 100%;
    position: absolute;
    top: -165px;
    left: 50%;
    transform: translate(-50%, 0);
    margin: auto;
}
#comic_ttl img {
    max-width: inherit;
}
.four_panel_comic {
	width: 100%;
	max-width: 830px;
    margin: 0 auto 50px;
}

.comic_detail {
	width: 72%;
	max-width: 730px;
	margin: 0 auto 95px;
}
.deta_ttl {
	margin-bottom: 25px;
}
.deta_txt {
	font-size: 2.1rem;
	line-height: 2em;
	margin-bottom: 75px;
}

.side_img_1 {
    position: absolute;
    right: -490px;
    top: 160px;
}
.side_img_2 {
    position: absolute;
    left: -535px;
    bottom: 580px;
}

@media screen and (max-width:1200px){
    #comic_area {
        padding: 12vw 0 10vw;
    }
    #comic_ttl {
        top: -12vw;
    }
}
@media screen and (max-width:1080px){
    .side_img_1,.side_img_2 {
        display: none;
    }
}
@media screen and (max-width:768px){
    #comic_area {
        border-radius: 5vw;
    }
	h2#comic {
		margin: 0 auto 30px;
	}
	.comic_area {
		margin-bottom: 20px;
		justify-content: center;
		flex-wrap: wrap;
	}
	.four_panel_comic {
		margin-bottom: 20px;
	}

	.comic_detail {
        width: 90%;
		margin: 0 auto 5vw;
	}
	.deta_ttl {
		width: 80%;
		margin-left: 0;
		margin-bottom: 15px;
	}
	.deta_ttl img {
		height: auto;
	}
	.deta_txt {
		font-size: 1.4rem;
		line-height: 1.8em;
		margin: 0;
	}
    .deta_txt.last {
        margin-left: 0;
    }
}
@media screen and (max-width:400px){
	.deta_txt {
		font-size: 1.2rem;
	}
}


/* ===============================================
   bnr
=============================================== */
#bnr_hp_link {
	width: 980px;
	max-width: 90%;
	margin: 0 auto 50px;
}
@media screen and (max-width:768px){
	#bnr_hp_link {
		max-width: 96%;
		margin: 0 auto 20px;
	}
}









@media all and (-ms-high-contrast: none){
	body, html, b, strong, .bold {
		font-family: メイリオ, Meiryo, sans-serif;
	}
	tbody,td, th {
		position: static;
	}
	p {
		transform: rotate(0.03deg);
	}
}

@-moz-document url-prefix() {
	body, html, b, strong, .bold {
		font-family: メイリオ, Meiryo, sans-serif;
	}
	p {
		transform: rotate(0.03deg);
	}
	tbody,td, th {
		background-clip: padding-box;
		position: static;
	}
}
