@charset "utf-8";

/* ----- ----- ----- */
/* device-related    */
/* ----- ----- ----- */
@media screen and (max-width: 480px) {
}
@media screen and (max-width: 768px) {
	#top_plan .description, #top_program .description {
		text-align : justify;
		text-justify : inter-character;
	}
	.main-visual {
		position : relative;
		width : 100%;
		height : 54vw;
		background-size : cover;
		margin : 57px 0 8vw 0;
	}
	#top_slider {
		width : 100%;
	}
	#top_slider img {
	}
	.title-logo {
		position : absolute;
		width : 50%;
		top : 8vw;
		left : 6vw;
		pointer-events : none;
	}
	.title-logo .badge {
		width : 72%;
		margin-bottom : 2vw;
	}
	.title-logo .catch {
		color : #fff;
		width : 100%;
		font-size : 3.2vw;
		margin-left : 1.2vw;
		font-weight : 500;
		padding-bottom : 0.8vw;
		letter-spacing : 0.24vw;
	}
	#top_style {
		text-align : center;
		margin-bottom : 6.4vw;
	}
	#top_style h1 {
		width : 80%;
		margin : 0 auto 1.2rem auto;
	}
	#top_style h2 {
		font-size : 1.8rem;
		font-weight : 500;
		letter-spacing : 0.14rem;
		margin-bottom : 4rem;
	}
	#top_style .choices {
		width : 92%;
		margin : 0 auto;
	}
	#top_style .choices>li {
		padding : 0 1.6rem;
	}
	#top_style .choices>li ul {
		margin-top : 0.8rem;
	}
	#top_style .choices>li li {
		margin-bottom : 1.2rem;
	}
	#top_style .choices>li li a {
		display : block;
		color : #000;
		padding : 1.6rem 0;
		width : calc(100% - 1.2rem);
		font-size : 1.4rem;
	}
	#top_style .navi_acc.navi_bg {
		height: 0;
		overflow: hidden;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	#menu_bar01:checked ~ #links01 li {
		height: 54px;
		opacity: 1;
	}
	#top_whatsnew {
		text-align : left;
		margin : 4rem auto;
	}
	#top_whatsnew .head {
		width : 100%;
		margin-bottom : 4rem;
	}
	#top_whatsnew h1 {
		width : 100%;
		text-align : center;
	}
	#top_whatsnew h1 img {
		height : 3.6rem;
	}
	#top_whatsnew .navi, #top_report .navi {
		width : 100%;
		text-align : center;
	}
	#top_whatsnew .navi img, #top_report .navi img {
		height : 3.2rem;
	}
	#top_whatsnew .info .category {
		width : 60%;
		display : table-cell;
		text-align : center;
		font-weight : 700;
		font-size : 1.3rem;
		color : #cd1225;
		border : 1.5px solid #cd1225;
		padding : 0.6rem 0;
	}
	#top_whatsnew .info .date {
		color : #a0a0a0;
		margin-left : 0.8rem;
		font-size : 1.3rem;
		font-weight : 700;
	}
	#top_sns {
		background : url('/kiec/img/bg_follow_sp.svg?v=1.1') no-repeat;
		background-size : 100%;
		margin-bottom : 4rem;
	}
	#top_sns h1 {
		width : 80%;
		margin : 0 auto 1.2rem auto;
		padding : 22vw 0 0 0;
	}
	#top_sns .list {
		width : 90%;
		margin : 2vw 0 10vw 10%;
	}
	#top_sns .list li {
		width : 100%;
		margin-bottom : 2vw;
	}
	#top_sns .list li a {
		display : table;
	}
	#top_sns .list li img {
		display : table-cell;
		vertical-align : middle;
		height : 9.6vw;
		margin-right : 4vw;
	}
	#top_sns .list li.is a, #top_sns .list li.yt a {
		display : block;
		width : 90%;
		text-align : center;
	}
	#top_sns .list li.is img, #top_sns .list li.yt img {
		display : inline;
	}
	#top_sns .list li h4 {
		display : table-cell;
		vertical-align : middle;
		font-weight : normal;
	}
	#top_plan {
		width : 100%;
		background : url('/kiec/img/bg_gst.png');
		margin-bottom : 6.4rem;
		padding : 4vw 0;
	}
	#top_plan .content, #top_program .content {
		padding : 4vw;
		margin-bottom : 6.4rem;
	}
	#top_plan .illust {
		width : 80%;
		margin : -32vw auto 8vw auto;
	}
	#top_program .illust-sp {
		width : 80%;
		margin : -12vw auto 8vw auto;
	}
	#top_plan .illust-sp img, #top_program .illust-sp img {
		width : 100%;
	}
	#top_plan h1, #top_program h1 {
		margin-bottom : 2rem;
	}
	#top_plan h1 img, #top_program h1 img {
		height : 4.8rem;
	}
	#top_plan h2, #top_program h2 {
		font-size : 2.0rem;
		font-weight : 500;
		line-height : 2.8rem;
		letter-spacing : 0.24rem;
		margin-bottom : 4rem;
	}
	#top_plan .description, #top_program .description {
		width : 100%;
		font-size : 1.5rem;
		font-weight : 500;
		line-height : 2.6rem;
		margin-bottom : 4rem;
	}
	#top_plan .navi img, #top_program .navi img {
		width : 100%;
	}
	#top_program .chart {
		margin-bottom : 4rem;
	}
	#top_program h3 {
		text-align : center;
		margin-bottom : 0.4rem;
	}
	#top_program h3 img {
		width : 90%;
	}
	#top_program .select_type {
		padding-bottom : 4rem;
	}
	#top_program .select_type li {
		float : left;
		width : 32%;
		margin : 0 2% 0 0;
	}
	#top_program .select_type li:nth-child(3n) {
		margin : 0;
	}
	#top_program .select_type li img {
		width : 100%;
	}
	#top_program .select_check {
		padding-bottom : 4rem;
	}
	#top_program .select_check li {
		padding : 0.6rem 0;
	}
	#top_report {
		width : 100%;
		background : url('/kiec/img/bg_gst.png');
		margin-bottom : 6.4rem;
		text-align : center;
	}
	#top_report .inner {
		padding : 2rem 0 2.8rem 0;
		background : url('/kiec/img/illust_report_sp.svg') top 6rem right 0 / 26% no-repeat;
	}
	#top_report h1 {
		margin : 2rem 0;
	}
	#top_report h1 img {
		height : 4rem;
	}
	#top_report h2 {
		font-size : 2.0rem;
		font-weight : 500;
		letter-spacing : 0.14rem;
		margin-bottom : 3.2rem;
	}
	#top_link, #top_certificate {
		margin-bottom : 3.2rem;
	}
	#top_link .banner. #top_certificate .banner {
		width : 100%;
		margin-bottom : 2.4rem;
	}
	#top_link .banner_host-family {
		width : 100%;
		height : vw;
		background : url('/kiec/img/bg_host_sp.svg') no-repeat;
		background-size : 100% auto;
	}
	#top_link .banner_host-family .title, #top_link .banner_host-family .illust {
		width : 100%;
	}
	#top_link .banner_host-family .title img {
		width : 80%;
		margin : 6% 10% 0 10%;
	}
	#top_link .banner_host-family .illust img {
		width : 70%;
		margin : 0 15% 6% 15%;
	}
}
@media screen and (min-width: 769px) {
	.main-visual {
		position : relative;
		width : 100%;
		height : 50vw;
		background-size : cover;
		margin : 64px 0 4.8vw 0;
	}
	#top_slider {
	}
	#top_slider img {
		margin-top : -4vw;
		width : 100%;
	}
	.bx-viewport {
		height : 50vw!important;
		overflow : hidden;
	}
	.title-logo {
		position : absolute;
		width : 80%;
		top : 50%;
		left : 10%;
		-webkit-transform : translateY(-50%);
		transform : translateY(-50%);
		pointer-events : none;
	}
	.title-logo .badge {
		width : 24vw;
	}
	.title-logo .catch {
		display : inline-block;
		color : #fff;
		font-size : 1.8vw;
		font-weight : 500;
		margin : 1.2vw;
		padding-bottom : 0.8vw;
		border-bottom : 3px solid #fff;
		letter-spacing : 0.24vw;
	}
	#top_style {
		text-align : center;
		margin-bottom : 6.4rem;
	}
	#top_style h1 {
		width : 40%;
		margin : 0 auto 1.2rem auto;
	}
	#top_style h2 {
		font-size : 1.8rem;
		font-weight : 500;
		letter-spacing : 0.14rem;
		margin-bottom : 4rem;
	}
	#top_style .choices {
		width : 80%;
		margin : 0 auto;
		display : table;
	}
	#top_style .choices>li {
		display : table-cell;
		width : 50%;
		padding : 0 1.6rem;
	}
	#top_style .choices>li label {
		cursor : pointer!important;
	}
	#top_style .choices>li li a {
		display : block;
		color : #000;
		padding : 1.6rem 0;
		margin-bottom : 0.8rem;
		width : calc(100% - 0.9rem);
		font-size : 1.6rem;
	}
	#top_style .navi_acc.navi_bg {
		height: 0;
		overflow: hidden;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	#menu_bar01:checked ~ #links01 li,
	#menu_bar02:checked ~ #links02 li {
		height: 5.6rem;
		opacity: 1;
	}
	#top_whatsnew {
		text-align : left;
		margin-bottom : 6.4rem;
	}
	#top_whatsnew .head {
		width : 100%;
		display : table;
		margin-bottom : 4rem;
	}
	#top_whatsnew h1 {
		width : 22%;
		display : table-cell;
	}
	#top_whatsnew .navi {
		width : 78%;
		display : table-cell;
		text-align : right;
		vertical-align : middle;
	}
	#top_whatsnew .navi img {
		width : 12%;
	}
	#top_whatsnew .info .category {
		width : 60%;
		display : table-cell;
		text-align : center;
		font-weight : 700;
		font-size : 1.3rem;
		color : #cd1225;
		border : 1.5px solid #cd1225;
		padding : 0.6rem 0;
	}
	#top_whatsnew .info .date {
		color : #a0a0a0;
		margin-left : 2rem;
		font-size : 1.5rem;
		font-weight : 700;
	}
	#top_sns {
		height : 27.2rem;
		margin-bottom : 6.4rem;
		background : url('/kiec/img/bg_follow.svg') no-repeat;
		background-size : 100% auto;
		text-align : center;
		margin-bottom : 6.4rem;
	}
	#top_sns h1 {
		width : 38%;
		margin : 0 auto 1.2rem auto;
		padding : 4rem 0 0 0;
	}
	#top_sns .list {
		width : 80%;
		margin : 4.8rem 10% 0 10%;
		display : table;
	}
	#top_sns .list li {
		display : table-cell;
		width : 20%;
		margin : 0 8rem 0 0;
	}
	#top_sns .list li .yt {
	}
	#top_sns .list li img {
		height : 6.4rem;
	}
	#top_sns .list li h4 {
		font-weight : normal;
		margin-top : 0.8rem;
	}
	#top
	#top_plan {
		width : 100%;
		background : url('/kiec/img/bg_gst.png');
		margin-bottom : 6.4rem;
	}
	#top_plan .inner, #top_program .inner {
		display : table;
		padding : 4rem;
	}
	#top_plan .content, #top_program .content {
		display : table-cell;
		width : 50%;
		vertical-align : middle;
	}
	#top_plan .illust, #top_program .illust {
		display : table-cell;
		width : 50%;
		vertical-align : middle;
	}
	#top_plan .illust img, #top_program .illust img {
		width : 100%;
	}
	#top_plan h1, #top_program h1 {
		margin-bottom : 4.8rem;
	}
	#top_plan h1 img, #top_program h1 img {
		height : 4.8rem;
	}
	#top_plan h2, #top_program h2 {
		font-size : 2.2rem;
		font-weight : 500;
		letter-spacing : 0.4rem;
		margin-bottom : 4rem;
	}
	#top_plan .description, #top_program .description {
		width : 90%;
		font-size : 1.5rem;
		font-weight : 500;
		line-height : 2.6rem;
		margin-bottom : 4rem;
	}
	#top_plan .navi img, #top_program .navi img {
		height : 5.6rem;
	}
	#top_program .chart {
	}
	#top_program h3 {
		text-align : center;
		margin-bottom : 0.4rem;
	}
	#top_program h3 img {
		height : 9.6rem;
	}
	#top_program .select_type {
		padding-bottom : 6rem;
	}
	#top_program .select_type li {
		float : left;
		width : 30%;
		margin : 0 5% 0 0;
	}
	#top_program .select_type li:nth-child(3n) {
		margin : 0;
	}
	#top_program .select_type li img {
		width : 100%;
	}
	#top_program .select_check {
		padding-bottom : 4rem;
	}
	#top_program .select_check li {
		padding : 2rem 0;
	}
	#top_report {
		width : 100%;
		background : url('/kiec/img/bg_gst.png');
		margin-bottom : 6.4rem;
		text-align : center;
	}
	#top_report .inner {
		padding : 6rem 0;
		background : url('/kiec/img/illust_report.svg') top 6rem right 0 / 32% no-repeat;
	}
	#top_report h1 {
		margin : 2rem 0;
	}
	#top_report h1 img {
		height : 4rem;
	}
	#top_report h2 {
		font-size : 1.8rem;
		font-weight : 500;
		letter-spacing : 0.14rem;
		margin-bottom : 6rem;
	}
	#top_link, #top_certificate {
	}
	#top_link .banner, #top_certificate .banner {
		width : 100%;
		margin-bottom : 6.4rem;
	}
	#top_link .banner_host-family {
		width : 100%;
		height : 276px;
		background : url('/kiec/img/bg_host.svg') no-repeat;
		display : table;
	}
	#top_link .banner_host-family .title, #top_link .banner_host-family .illust {
		width : 50%;
		display : table-cell;
		vertical-align : middle;
	}
	#top_link .banner_host-family .title img {
		width : 80%;
		margin : 0 10% 4% 10%;
	}
	#top_link .banner_host-family .illust img {
		width : 70%;
		margin : 0 20% 4% 10%;
	}
	#top_report .navi {
		width : 100%;
		text-align : right;
	}
	#top_report .navi img {
		width : 10%;
	}
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
	#top_link .banner_host-family {
		background-size : cover;
		height : 20.8vw;
	}

}
@media screen and (min-width: 1201px) {

}