@charset "utf-8";

body {
	background-color : #fff;
	color : #000;
	box-sizing : border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
	min-height : 100%;
}
img {
	vertical-align : top;
}
a {
	text-decoration : none;
}
a:hover img, .navi_bg:hover, .header-navi:hover {
	transition-duration : .3s;
	opacity : 0.8;
}
.clearfix {
	*zoom: 1;
}
.clearfix:before,
.clearfix:after {
	display: table;
	line-height: 0;
	content: "";
}
.clearfix:after {
	clear: both;
}
.ie_alert {
	width : 60%;
	margin : 0 auto 64px auto;
	border : 2px solid #f00;
	text-align : center;
	font-size : 1.6rem;
	font-weight : bold;
	padding : 16px;
}
/* ----- ----- ----- */
/* global navigation */
/* ----- ----- ----- */
#header {
	position : relative;
}



/* ----- ----- ----- */
/* device-related    */
/* ----- ----- ----- */
@media screen and (max-width: 480px) {
}
@media screen and (max-width: 768px) {
	.pc-content {
		display : none;
	}
	.sp-wrap {
		clear : both;
	}
	html {
		-webkit-text-size-adjust : 100%;
		font-size : 62.5%;
	}
	body {
		overflow-x : hidden;
	}
	.wrapper {
		width : calc(100% - 8vw);
		margin : 0 auto;
	}
	.wrapper-narrow {
		width : calc(100% - 16vw);
		margin : 0 auto;
	}
	.header-top {
		width : 100%;
		height : 57px;
		background-color : #fff;
		position : fixed;
		top : 0;
		right : 0;
		z-index : 10000;
	}
	.header-logo {
		width : calc(100% - 84px);
		float : left;
		height : 57px;
		position : relative;
	}
	.header-logo img {
		width : 100%;
		position : absolute;
		top : 50%;
		transform : translate(0,-50%);
	}
	.header-navi {
		float : right;
		width : 84px;
		cursor : pointer;
	}
	#gnavi {
		position : absolute;
		z-index : 10;
		right : 0;
		width : 0;
		background : #ffed61;
		transition : .5s;
		transition-property : width;
		overflow-x : hidden;
	}
	#gnavi.opened {
		width: 100%;
	}
	#gnavi .content {
		width : calc(100% - 8vw);
		margin : 8rem auto 0 auto;
		white-space : nowrap;
	}
	#gnavi .content-sub {
		width : calc(100% - 8vw);
		margin : 0 auto 8rem auto;
		white-space : nowrap;
	}
	#gnavi a {
		color : #000;
	}
	#gnavi .content .head {
		width : 100%;
		font-size : 1.6rem;
		font-weight : 500;
		margin-bottom : 4rem;
	}
	#gnavi .content .head .link-top {
		width : 100%;
		margin-bottom : 4rem;
	}
	#gnavi .content .head .link-en {
		width : 100%;
	}
	#gnavi h3 {
		font-size : 1.6rem;
		margin-bottom : 2.4rem;
	}
	#gnavi h3 span {
		text-decoration : underline;
	}
	#gnavi ul {
		width : 100%;
		font-size : 1.6rem;
		font-weight : 500;
		float : left;
		border-left : 1px solid #000;
		padding-left : 2.4rem;
		margin-bottom : 4rem;
	}
	#gnavi ul.last {
		border-right : 1px solid #000;
	}
	#gnavi ul:nth-child(6) {
		clear : both;
	}
	#gnavi ul li {
		margin-bottom : 1.6rem;
	}
	#gnavi ul li:last-child {
		margin-bottom : 0.2rem;
	}
	#gnavi ul li.title {
		text-decoration : underline;
		font-weight : 700;
	}
	#gnavi ul li strong {
		color : #000;
		font-weight : 500;
	}
	#top_whatsnew .list, #top_report .list, .col-report .list, .col-whatsnew .list {
		text-align : left;
	}
	#top_report .list {
		margin-bottom : 1.6rem;
	}
	#top_whatsnew .list li, #top_report .list li, .col-report .list li {
		float : left;
		width : 45%;
		margin : 0 10% 4rem 0;
	}
	.col-whatsnew .list li {
		width : 100%;
		margin-bottom : 4rem;
		position : relative;
	}
	#top_whatsnew .cell:nth-child(2n), #top_report .cell:nth-child(2n), .col-report .cell:nth-child(2n) {
		margin : 0;
	}
	#top_whatsnew .cell:nth-child(odd) {
		clear : both;
	}
	#top_report .cell:nth-child(3) {
		display : none;
	}
	.col-whatsnew .cell:before, .col-whatsnew .cell:after {
		display: table;
		line-height: 0;
		content: "";
	}
	.col-whatsnew .cell:after {
		clear: both;
	}
	#top_whatsnew .cell .thumbnail {
		width : 100%;
		margin-bottom : 1.6rem;
		position : relative;
		overflow : hidden;
	}
	.col-whatsnew .cell .thumbnail {
		float : left;
		width : 42.5%;
		margin-right : 5%;
		vertical-align : middle;
		position : relative;
		overflow : hidden;
	}
	#top_whatsnew .cell .thumbnail:before {
		content : "";
		display : block;
		padding-top : 56.25%;
	}
	.col-whatsnew .cell .thumbnail:before {
		content : "";
		display : block;
		padding-top : 56%;
	}
	#top_report .cell .thumbnail, .col-report .cell .thumbnail {
		width : 100%;
		margin-bottom : 1.6rem;
		position : relative;
	}
	.col-whatsnew .cell .celltext {
		float : left;
		width : 52.5%;
		vertical-align : middle;
	}
	.col-whatsnew .cell .celltext .contents {
		display : flex;
		flex-direction : column;
	}
	#top_whatsnew .cell .thumbnail img {
		width : 100%;
		position : absolute;
		top : 50%;
		transform : translate(0,-50%);
		left : 0;
	}
	.col-whatsnew .cell .thumbnail img {
		width : 95%;
		position : absolute;
		top : 50%;
		transform : translate(0,-50%);
		left : 0;
	}
	#top_report .cell .thumbnail>img, .col-report .cell .thumbnail>img {
		width : 100%;
		border-radius : 50%;
	}
	#top_whatsnew .description, #top_report .description, .col-whatsnew .description {
		font-size : 1.2rem;
		font-weight : 500;
		line-height : 1.6rem;
		margin-bottom : 1.2rem;
	}
	#top_whatsnew .info, #top_report .info, .col-whatsnew .info {
		display : table;
		width : 100%;
	}
	.col-whatsnew .info {
		order : 1;
	}
	.col-whatsnew .description {
		order : 2;
	}
	#top_report h3, .col-report h3 {
		font-size : 1.3rem;
		font-weight : 500;
		color : #32b9c8;
		margin-bottom : 0.4rem;
	}
	#top_report .description, .col-report .description {
		font-size : 1.1rem;
		vertical-align : middle;
		
	}
	#top_report a, .col-report a, .col-whatsnew a {
		color : #000;
	}
	#top_report .icon, .col-report .icon {
		position : absolute;
		bottom : 0;
		right : 0;
		width : 32%;
	}
	#top_report .icon img, .col-report .icon img {
		width : 100%;
	}
	#top_report .category, .col-report .category {
		width : 100%;
		text-align : center;
		font-weight : 700;
		font-size : 1.1rem;
		color : #fff;
		background-color : #32b9c8;
		padding : 0.6rem 0;
		margin-top : 1.6rem;
	}
	.col-whatsnew .category {
		display : inline-block;
		width : 11.2rem;
		text-align : center;
		font-weight : 700;
		font-size : 1.1rem;
		color : #fff;
		background-color : #32b9c8;
		padding : 0.6rem 1rem;
		margin-bottom : 0.8rem;
	}
	.col-whatsnew .info .date {
		color : #a0a0a0;
		margin-bottom : 1.2rem;
		font-size : 1.5rem;
		font-weight : 700;
	}

	.col-whatsnew li .newicon {
		position : absolute;
		top : 0;
		left : 0;
		width : 5.6rem;
	}
	
	.side-navi {
		width : 100%;
		position : fixed;
		bottom : 0;
		background : #fff;
		z-index : 10000;
	}
	.side-navi a {
		display : block;
		width : calc(50% - 1px);
		float : left;
	}
	.side-navi a:nth-child(odd) {
		border-right : 1px solid #fff;
	}
	.side-navi a:nth-child(even) {
		border-left : 1px solid #fff;
	}
	.side-navi a:nth-child(1), .side-navi a:nth-child(2) {
		border-bottom : 2px solid #fff;;
	}
	.side-navi a img {
		width : 100%;
	}
	#footer {
		width : 100%;
		padding : 4rem 0 18rem 0;
		background : url('/kiec/img/bg_footer.png') repeat;
	}
	#footer .footer-logo {
		width : 45%;
		margin : 2.4rem auto 6.4rem auto;
		text-align : center;
		vertical-align : middle;
	}
	#footer .footer-info {
		width : 100;
		padding-left : 5%;
		font-size : 1.2rem;
		line-height : 2.0rem;
	}
	#footer .footer-info p {
		line-height : inherit;
		margin-bottom : 1.8rem;
	}
	#footer .footer-info img {
		width : 90%;
		margin-bottom : 1.2rem;
	}
	#footer .footer-info .title {
		font-weight : 500;
		font-size : 1.4rem;
		letter-spacing : 0.24rem;
		margin-bottom : 1.8rem;
		color : #000;
	}
	#footer .footer-info .sub-title {
		letter-spacing : 0.24rem;
		margin-bottom : 0.8rem;
	}
	#footer .footer-copy {
		width : 70%;
		margin : 4rem auto 2rem auto;
		text-align : center;
		font-size : 1.2rem;
	}
	#footer .footer-copy .link {
		float : left;
		width : calc(50% - 1px);
		text-align : center;
		padding : 0.6rem 0;
		border-right : 1px solid #000;
	}
	#footer .footer-copy .link:first-child {
		border-left : 1px solid #000;
		width : calc(50% - 2px);
	}
	#footer .footer-copy .link a {
		color : #000;
	}
	#footer .footer-copy .copy {
		clear : both;
		text-align : center;
		padding : 0.6rem 0;
	}
	.wp-pagenavi {
		display : table;
		margin : 0 auto 4rem auto;
		border-collapse : separate;
		border-spacing : 0.6rem 0;
	}
	.wp-pagenavi .pages {
		display : none;
	}
	.previouspostslink, .nextpostslink {
		display : table-cell;
		height : 2.4rem;
		vertical-align : middle;
	}
	.previouspostslink img , .nextpostslink img {
		height : 2.4rem;
	}
	.wp-pagenavi .page, .wp-pagenavi .current {
		display : table-cell;
		width : 2.4rem;
		height : 2.4rem;
		border : 1px solid #32b9c8;
		border-radius : 1.2rem;
		font-size : 1.6rem;
		font-family : 'Barlow Condensed', sans-serif;
		text-align : center;
		vertical-align : middle;
		color : #32b9c8;
	}
	.wp-pagenavi .current {
		color : #fff;
		background-color : #32b9c8;
	}
}
@media screen and (min-width: 769px) {
	.sp-content {
		display : none!important;
	}
	.header-top {
		width : 100%;
		height : 64px;
		background-color : #fff;
		position : fixed;
		top : 0;
		right : 0;
		z-index : 10000;
	}
	.header-logo {
		width : 445px;
		float : left;
		height : 64px;
	}
	.header-logo img {
		width : 100%;
		margin-top : 8px;
	}
	.header-navi {
		width : 93px;
		float : right;
		height : 64px;
		cursor : pointer;
	}
	.header-buttons {
		width : 327px;
		height : 64px;
		float : right;
		cursor : pointer;
	}
	.header-buttons a {
		float : left;
		border-right : 1px solid #fff;
	}
	.header-buttons .navi-eng {
		width : 96px;
	}
	.header-buttons .navi-sa {
		width : 132px;
	}
	.header-buttons .navi-pamph {
		width : 96px;
	}
	.header-navi img {
		width : 100%;
	}
	#gnavi {
		background : #ffed61;
		position : fixed;
		z-index : 10;
		top : 64px;
		right : 0;
		width : 0;
		transition : .5s;
		overflow-x : hidden;
	}
	#gnavi.opened {
		width: 100%;
	}
	#gnavi .content {
		margin-bottom : 8rem;
	}
	#gnavi a {
		color : #000;
	}
	#gnavi .content .head {
		width : 100%;
		font-size : 1.5rem;
		font-weight : 500;
		margin-bottom : 2.4rem;
	}
	#gnavi .content .head .link-top {
		float : left;
		width : 75%;
	}
	#gnavi .content .head .link-en {
		float : left;
		width : 25%;
	}
	#gnavi .navigroup {
		width : calc(33% - 2.4rem - 2px);
		float : left;
	}
	#gnavi .navigroup h3 {
		font-size : 1.5rem;
		margin-bottom : 2.4rem;
	}
	#gnavi .navigroup h3 span {
		text-decoration : underline;
	}
	#gnavi ul {
		font-size : 1.2rem;
		font-weight : 500;
		border-left : 1px solid #000;
		padding-left : 2.4rem;
		margin-bottom : 4rem;
	}
	#gnavi ul.last {
		border-right : 1px solid #000;
	}
	#gnavi ul li {
		margin-bottom : 1.4rem;
	}
	#gnavi ul li:last-child {
		margin-bottom : 0.2rem;
	}
	#gnavi ul li.title {
		text-decoration : underline;
		font-weight : 700;
	}
	#gnavi ul li.featured {
		text-align : center;
		margin-left : -2.4rem;
		padding : 1.2rem 0;
		font-size : 1.4rem;
	}
	#gnavi ul li.featured_sub {
		text-align : center;
		margin-left : -2.4rem;
	}
	#gnavi ul li strong {
		color : #000;
	}
	#top_whatsnew .list, #top_report .list, .col-report .list, .col-whatsnew .list {
		text-align : left;
	}
	#top_whatsnew .list li, #top_report .list li, .col-report .list li, .col-whatsnew .list li {
		float : left;
		width : 26%;
		margin : 0 11% 4rem 0;
		position : relative;
	}
	.col-whatsnew li .newicon {
		position : absolute;
		top : 0;
		left : 0;
		width : 6.4rem;
	}
	#top_whatsnew .cell:nth-child(3n), #top_report .cell:nth-child(3n), .col-report .cell:nth-child(3n), .col-whatsnew .cell:nth-child(3n) {
		margin : 0;
	}
	#top_whatsnew .cell:nth-child(3n + 1), #top_report .cell:nth-child(3n + 1), .col-report .cell:nth-child(3n + 1), .col-whatsnew .cell:nth-child(3n + 1) {
		clear : both;
	}
	#top_report .cell .thumbnail, .col-report .cell .thumbnail {
		width : 100%;
		margin-bottom : 1.6rem;
		position :relative;
	}
	#top_whatsnew .cell .thumbnail, .col-whatsnew .cell .thumbnail {
		width : 100%;
		margin-bottom : 1.6rem;
		position :relative;
		overflow : hidden;
	}
	#top_whatsnew .cell .thumbnail:before, .col-whatsnew .cell .thumbnail:before {
		content : "";
		display : block;
		padding-top : 56.25%;
	}
	#top_whatsnew .cell .thumbnail img, .col-whatsnew .cell .thumbnail img {
		width : 100%;
		position : absolute;
		top : 50%;
		transform : translate(0,-50%);
		left : 0;
	}
	#top_report .cell .thumbnail>img, .col-report .cell .thumbnail>img {
		width : 100%;
		border-radius : 50%;
	}
	#top_report .description, .col-report .description {
		font-size : 1.5rem;
		font-weight : 500;
		line-height : 2.2rem;
		margin-bottom : 0.8rem;
		text-align : left;
	}
	#top_whatsnew .description, .col-whatsnew .description {
		font-size : 1.5rem;
		font-weight : 500;
		line-height : 2.0rem;
		margin-bottom : 1.2rem;
		height : 6.4rem;
	}
	#top_whatsnew .info, #top_report .info, .col-report .info, .col-whatsnew .info {
		display : table;
		width : 100%;
	}
	#top_report h3, .col-report h3 {
		font-size : 1.5rem;
		font-weight : 500;
		color : #32b9c8;
		margin-bottom : 0.4rem;
	}
	#top_report .description, .col-report .description {
	}
	#top_report a, .col-report a, .col-whatsnew a {
		color : #000;
	}
	#top_report .icon, .col-report .icon {
		position : absolute;
		right : 0;
		bottom : 0;
		width : 32%;
	}
	#top_report .icon img, .col-report .icon img {
		width : 100%;
	}
	#top_report .category, .col-report .category {
		width : 68%;
		text-align : center;
		font-weight : 700;
		font-size : 1.3rem;
		color : #fff;
		background-color : #32b9c8;
		padding : 0.6rem 0;
		margin-top : 1.6rem;
	}
	.col-whatsnew .category {
		width : 60%;
		display : table-cell;
		text-align : center;
		font-weight : 700;
		font-size : 1.3rem;
		color : #fff;
		background-color : #32b9c8;
		padding : 0.6rem 0;
	}
	.col-whatsnew .info .date {
		color : #a0a0a0;
		margin-left : 2rem;
		font-size : 1.5rem;
		font-weight : 700;
	}
	.side-navi {
		position : fixed;
		top : 26rem;
		right : 0;
	}
	.side-navi a {
		display : block;
		width : 4.8rem;
		margin-bottom : 0.6rem;
	}
	.side-navi a img {
		width : 100%;
	}
	#footer {
		width : 100%;
		padding : 4rem 0 2.4rem 0;
		background : url('/kiec/img/bg_footer.png') repeat;
	}
	#footer .wrapper {
		display : table;
	}
	#footer .footer-logo {
		display : table-cell;
		width : 45%;
		padding-right : 5%;
		text-align : center;
		vertical-align : middle;
	}
	#footer .footer-logo img {
		width : 35%;
	}
	#footer .footer-info {
		display : table-cell;
		width : 45%;
		padding-left : 5%;
		vertical-align : middle;
		font-size : 1.3rem;
		line-height : 2.2rem;
	}
	#footer .footer-info p {
		line-height : inherit;
		margin-bottom : 1.8rem;
	}
	#footer .footer-info img {
		width : 70%;
		margin-bottom : 1.2rem;
	}
	#footer .footer-info .title {
		font-weight : 500;
		font-size : 1.4rem;
		letter-spacing : 0.24rem;
		margin-bottom : 1.8rem;
		color : #000;
	}
	#footer .footer-info .sub-title {
		letter-spacing : 0.24rem;
		margin-bottom : 0.8rem;
	}
	#footer .footer-copy {
		display : table;
		width : calc(100% - 8rem);
		margin : 0 4rem;
		font-size : 1.3rem;
		border-left : 1px solid #000;
	}
	#footer .footer-copy .link {
		display : table-cell;
		width : 16rem;
		text-align : center;
		padding : 0.6rem 0;
		border-right : 1px solid #000;
	}
	#footer .footer-copy .link a {
		color : #000;
	}
	#footer .footer-copy .copy {
		display : table-cell;
		text-align : right;
		padding : 0.6rem 0;
	}
	.wp-pagenavi {
		display : table;
		margin : 0 auto;
		border-collapse : separate;
		border-spacing : 1.2rem 0;
	}
	.wp-pagenavi .pages {
		display : none;
	}
	.previouspostslink, .nextpostslink, .wp-pagenavi .first, .wp-pagenavi .last, .wp-pagenavi .extend {
		display : table-cell;
		height : 4rem;
		vertical-align : middle;
	}
	.previouspostslink img , .nextpostslink img {
		height : 4rem;
	}
	.wp-pagenavi .page, .wp-pagenavi .current {
		display : table-cell;
		width : 4rem;
		height : 4rem;
		border : 1px solid #32b9c8;
		border-radius : 2rem;
		font-size : 2.4rem;
		font-family : 'Barlow Condensed', sans-serif;
		text-align : center;
		vertical-align : middle;
		color : #32b9c8;
	}
	.wp-pagenavi .current {
		color : #fff;
		background-color : #32b9c8;
	}
}
@media screen and (min-width: 769px) and (max-width: 870px) {
	.header-logo {
		width : 355px;
		height: 64px;
		vertical-align: middle;
	}
	.header-logo img {
		margin-top: 16px;
	}
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
	html {
		font-size: 0.85vw;
		letter-spacing : 0.12rem;
	}
	.wrapper {
		clear : both;
		width : calc(100% - 8vw);
		margin : 0 auto;
	}
	.wrapper-narrow {
		clear : both;
		width : calc(100% - 16vw);
		margin : 0 auto;
	}
	#gnavi .content {
		width : calc(100% - 8vw);
		margin : 3.2rem auto 0 auto;
	}
	#gnavi .content-sub {
		width : calc(100% - 8vw);
		margin : 0 auto 3.2rem auto;
	}
}
@media screen and (min-width: 1201px) {
	html {
		font-size: 10px;
		letter-spacing : 0.08rem;
	}
	.wrapper {
		clear : both;
		width : 1024px;
		margin : 0 auto;
	}
	.wrapper-narrow {
		clear : both;
		width : 860px;
		margin : 0 auto;
	}
	#gnavi .content {
		width : 1024px;
		margin : 4rem auto 0 auto;
	}
	#gnavi .content-sub {
		width : 1024px;
		margin : 0 auto 4rem auto;
	}
}