/*============================
	Foundation
==============================*/


/*============================
	Layout
==============================*/


/*============================
	Object
==============================*/

/*---------------
	component
----------------*/


.c-caption{
	font-size: 0.8125rem;
	line-height: 1.4em;
	padding: 0.5em 0 1em;
	letter-spacing: 0;
}

/*---------------
	project
----------------*/
.p-cornerTitle--types{
	font-size: 2.0625rem;
	text-align: center;
	height: 2.8rem;
}
.p-typesLede{
	font-size: 1rem;
	line-height: 1.75rem;
	text-align: center;
	margin-bottom: 1.2rem;
}

/*p-typesAncMenu*/
.p-typesAncMenu{
	position: relative;
	width: 100%;
	margin-bottom: 1rem;
}

.p-typesAncMenu__list{
	position: absolute;
	width: inherit;
	background-color: #fff;
	z-index: 2;
	padding-top: 0.5rem;
	padding-bottom: 0rem;
	box-sizing: border-box;
	border-top: #ccc 1px solid;
	border-bottom: #ccc 1px solid;
}

.p-typesAncMenu__list.is-fixed{
	position: fixed;
	top:52px;
}

.p-typesAncMenu__btns{
	padding: 0.5rem 0;
	display: flex;
	flex-wrap: wrap;
	justify-content:flex-start;
}
.p-typesAncMenu__btns li{
	flex: 0 0 auto;
	width: 13%;
	line-height: 1;
	margin-right: 1%;
	position: relative;
}
.p-typesAncMenu__btns li:last-of-type{
	width: 34%;
}
.p-typesAncMenu__btns li a{
	font-size: 0.875rem;
	display: block;
	padding: 0.6rem 1rem 0.6em 1.8rem;
	border-radius: 1.2rem;
	border: #ccc 1px solid;
	margin-bottom: 0.8rem;
	position: relative;
	box-sizing: border-box;
	color: #212121;
	background: url(/tech/kd/common/images/arrow_red.svg) no-repeat 0.8em 50%;
	background-size: 6px auto;
}
.p-typesAncMenu__btns li a:hover{
}
.p-typesAncMenu__btns li a::before{
	content: "";
	position: absolute;
	display: block;
	top:0px;
	left: 40%;
	border-radius: 1.2rem;
	box-sizing: border-box;
	width: 20%;
	height: 100%;
	z-index: -1;
	background-color: #f4f4f4;
	opacity: 0;
	transition: all 0.2s;
}

.p-typesAncMenu__btns li a:hover::before,
.p-typesAncMenu__btns li.is-current a::before{
	left: 0%;
	width: 100%;
	opacity: 1;
}
.p-typesAncMenu__btns li.is-current a{
	/*color: #E6002D;*/
}

/* for iPad  */
.p-typesAncMenu__list.is-ipad{
	border-bottom: none;
}
.p-typesAncMenu__list.is-ipad::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #fff;
	top:0px; left:0px;
	box-sizing: border-box;
	border-bottom: #ccc 1px solid;
}
.p-typesAncMenu__list.is-ipad li a::before{
	transition: none;
}
.p-typesAncMenu__list.is-ipad li.is-current a{
	background-color: #f4f4f4;
}

/*p-typeBox*/
.p-typeBox{
	border: #ccc 1px solid;
	margin-bottom: 2.5rem;
}
.p-typeBox:last-child{
	margin-bottom: 3rem;
}

.p-typeHeader{
	padding: 1.4rem 24px 0rem;
	border-top: #e6e6e6 3px solid;
}
.p-typeBox__title{
	font-size: 1.625rem;
	line-height: 1.4;
	margin-bottom: 1.5rem;
}
.p-typeBox__title .c-en{
	font-size: 0.875rem;
	color: #E6002D;
	display: inline-block;
	font-weight: 400;
	margin-left: 1em;
}
.p-typeBox__text{
	padding: 0 24px 1rem;
	font-size: 1rem;
	line-height: 1.75rem;
}
.p-typeBox__photos{
	background: #f0f0f0;
	/*padding-bottom: 1rem;*/
}
.p-typeBox__photos .c-moreButton{
	/*font-size:0.9375rem;*/
	margin-top:0.5rem;
}
.p-typeBox__photos .c-moreButton a{
	border-right: none;
}

/*p-type__col*/

.grid--typesPhoto{
	display: flex;
	justify-content: center;
	padding: 1rem 0 0;
}
.p-type__col{
	flex: 0 0 auto;
	margin-bottom: 0.6rem;
}
.p-photoArea{
	height: auto;
	display: flex;
	align-items: flex-end;
}
.p-type__col a{
	display: block;
	position: relative;
}
.p-type__col a::before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top:-6px; left: -6px;
	padding: 3px;
	box-sizing:content-box;
	border: #b6b6b6 3px solid;
	opacity: 0;
	transition: opacity 0.3s;
}
.p-type__col a:hover::before{
	opacity: 1;
}
.p-type__col a:hover .c-caption{
	text-decoration: underline;
}

.col5 .p-type__col{
	width:140px;
	margin-right: 10px;
}
.col5 .p-type__col.t{
	width: 105px;
}
.col5 .p-type__col:last-of-type{
	margin-right: 0;
}

.col5 .p-photoArea{
	height: 105px;
}
.col5.u-hasT .p-photoArea{
	height: 140px;
}
/**/

.col4 .p-type__col{
	width:160px;
	margin-right: 20px;
}
.col4 .p-type__col.t{
	width: 120px;
}
.col4 .p-type__col:last-of-type{
	margin-right: 0;
}

.col4 .p-photoArea{
	height: 120px;
}
.col4.u-hasT .p-photoArea{
	height: 160px;
}
/**/

.grid--typesPhoto.col3{ /*--- col4 size -> 3 x n ----*/
	width: 520px;
	margin: 0 auto;
	flex-wrap: wrap;
	box-sizing: border-box;
}
.col3 .p-type__col{
	width:160px;
	margin-right: 20px;
}
.col3 .p-type__col:nth-of-type(3n){
	margin-right: 0;
}
.col3 .p-photoArea{
	height: 120px;
}
.col3.u-hasT .p-photoArea{
	height: 160px;
}

/*p-btnTypeIndex*/
.p-btnTypeIndex{
	text-align: right;
	font-size: 1rem;
	line-height: 1;
	font-weight: 500;
	letter-spacing: 0.08em;
	clear: both;
}
.p-btnTypeIndex a{
	display: inline-block;
	padding: 0.9em 2.7em 0.9em 3em;
	margin: 0;
	border-left: #ccc 1px solid;
	background: url(/tech/kd/common/images/arrow_red.svg) no-repeat 1.5em 48%;
	background-size: 8px auto;
	transition: all 0.2s;
}
.p-btnTypeIndex a:hover{
	background-color: #f0f0f0;
}

/*p-relInfo*/
.p-relInfo{
	padding: 1rem 1.5rem;
	font-size: 0.875rem;
	line-height: 1.7;
}
.p-relInfo__link {
	margin-left: 1em;
}
.p-relInfo__link li{
	background: url(/tech/kd/common/images/arrow_red.svg) no-repeat 0.8em 0.7em;
	background-size: 6px auto;
	padding: 0.25em 0em 0.25em 1.8em;
}
.p-relInfo__link li a:hover{
	text-decoration: underline;
}


/*-------------------
	Utility
--------------------*/


@media print{
	.p-typeBox{
		page-break-inside: avoid;
	}
	.p-typesAncMenu__list.is-fixed{
		position: absolute;
		top:0px;
	}
}


/*============================
	sp
==============================*/

.sp .p-typesLede{
	text-align: left;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}
/*main font size*/
.sp .p-typeBox__text{
	font-size: 1.07rem;
}

.sp .p-cornerTitle--types{
	padding-top: 1rem;
}
.sp .p-typesLede{
	font-size: 0.9375rem;
}

/*typesAncMenu*/
.sp .p-typesAncMenu{
	margin: 2.5rem 0 3rem;
}

.sp .p-typesAncMenu__btns{
	padding-top: 0.3rem;
	padding-bottom: 0.3rem;
}
.sp .p-typesAncMenu__btns li {
	flex: 0 0 auto;
	width: 18%;
	margin-right: 1%;
	margin-left: 1%;
	white-space: nowrap;
}
.sp .p-typesAncMenu__btns li:last-of-type {
    width: 50%;
}
.is-ipad .p-typesAncMenu__btns li a,
.sp .p-typesAncMenu__btns li a {
	display: block;
	padding: 0.6rem 0rem 0.6em 1.5rem;
	border-radius: 4px;
	font-size: 0.9375rem;
	border: none;
	margin-bottom: 0.2rem;
	box-sizing: border-box;
	background: url(/tech/kd/common/images/arrow_red.svg) no-repeat 0.5em 50%;
	background-size: 5px auto;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
.is-ipad .p-typesAncMenu__btns li a::before,
.sp .p-typesAncMenu__btns li a::before {
	transition: none;
}
.sp .p-typesAncMenu__btns li.is-current a{
	background-color: #e0e0e0;
	background-image: url(/tech/kd/common/images/arrow_next.svg);
}
.is-ipad .p-typesAncMenu__btns li a.active,
.sp .p-typesAncMenu__btns li a.active{
	background-color: #e6e6e6;
}

.sp .p-typesAncMenu__list{
	width: 100%;
	z-index: 10;
	padding-top: 0;
	box-sizing: border-box;
	border: none;
}
.sp .p-typesAncMenu__list::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #f4f4f4;
	top:0px; left:0px;
	box-sizing: border-box;
	border-bottom: #e0e0e0 1px solid;
	box-shadow: 0px 2px 8px -4px rgba(0,0,0,0.3);
}

/*typeBox__photos*/
.sp .p-typeHeader {
	padding-left: 1.25rem;
}
.sp .p-typeBox{
	border-left: none;
	border-right: none;
}
.sp .p-typeBox__photos .c-moreButton a{
	font-size: 0.875rem;
	padding-right: 1.25rem;
}
.sp .p-typeBox__text{
	text-align: justify;
	line-height: 1.9;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.sp .grid--typesPhoto{
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 340px;
	margin: 0 auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.sp .p-type__col .c-caption{
	/*font-size: 0.7rem;*/
}

.sp .grid--typesPhoto.col3{
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}
.sp .p-photoArea{
	height: 120px !important;
}
.sp .p-type__col{
	width: 160px !important;
	margin-right:0;
	margin-bottom: 1.25rem;
}
.is-ipad .p-type__col,
.is-ipad .p-type__col a,
.sp .p-type__col,
.sp .p-type__col a{
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
.is-ipad .p-type__col a:hover .c-caption,
.sp .p-type__col a:hover .c-caption{
	text-decoration: none;
}
.sp .p-type__col.t .p-photoArea{
	background-color: #d5d5d5;
	text-align: center;
}
.sp .p-type__col.t img{
	max-height: 120px;
	height: 100%;
	width: auto !important;
	margin: 0 auto;
}

/*block_link*/
.is-ipad .p-type__col a::before,
.sp .p-type__col a::before{
	box-sizing: content-box;
	padding: 2px;
	border-width: 3px;
	width: 100%;
	height: 100%;
	top: -5px;
	left: -5px;
	display: none;
}
.is-ipad .p-type__col a.active::before,
.sp .p-type__col.active a::before{
	display: block;
	opacity: 1;
}

/*.p-relInfo*/
.sp .p-relInfo{
	padding: 1rem 1.25rem;
}
.sp .p-relInfo__link {
	margin: 0;
}
.sp .p-relInfo__link li{
	background: url(/tech/kd/common/images/arrow_red.svg) no-repeat 0.2em 0.7em;
	background-size: 5px auto;
	padding: 0.25em 0em 0.25em 1.25em;
}


@media screen and (max-width:360px){
	.sp .p-typesAncMenu__btns li:last-of-type {
		width: 15em;
	}
	.sp .grid--typesPhoto {
		max-width: 300px;
		padding-left: 0;
		padding-right: 0;
	}
	.sp .p-type__col {
		width: 140px !important;
		margin-right: 0;
		margin-bottom: 1.25rem;
	}
	.sp .p-photoArea {
		height: 105px !important;
	}
	.sp .p-type__col.t img {
		max-height: 105px;
	}
	
}


