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


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


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

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


/*---------------
	project
----------------*/

/*all_view(year)*/

.p-AncIndex{
	display: flex;
	justify-content:space-between;
	font-size: 1rem;
	border-top: #ccc 1px solid;
}
.p-AncIndex__key{
	flex: 0 0 auto;
	width: 3.5em;
	font-size: 1.5625rem;
	padding-top: 0.5em;
	text-align: center;
}
.p-AncIndex__list{
	flex: 1 0 auto;
}
.p-AncIndex__list li{
	padding: 0;
	line-height: 1.4;
	border-bottom: #e6e6e6 1px solid;
	position: relative;
}
.p-AncIndex__list li:last-child{
	border-bottom: none;
}
.p-AncIndex__list li:hover{
	background-color: #f4f4f4;
}
.p-AncIndex__list li a{
	display: block;
	padding: 0.8em 0 0.8em 1.6em;
	background: url(/tech/kd/common/images/arrow_red.svg) no-repeat 0.5em 1.05em;
	background-size: 7px auto;
}

.p-AncIndex__pps{
	position: absolute;
	top:0.7em; right: 10px;
	width: auto;
	color: #777;
}
.p-AncIndex__pps span{
	display: inline-block;
	margin-left: 0.4em;
	padding: 0.4em 0.4em;
	font-size: 0.812rem;
	line-height: 1;
	border-radius: 3px;
	background-color: #f6f6f6;
	white-space: nowrap;
}

/*yearAncNav*/
.p-AncNav{
	position: relative;
	width: 100%;
}
.p-AncNav__list{
	position: absolute;
	width: inherit;
	background-color: #fff;
	z-index: 2;
	padding-top: 0.8rem;
	padding-bottom: 0.4rem;
	box-sizing: border-box;
	border-top: #ccc 1px solid;
	border-bottom: #ccc 1px solid;
	text-align: center;
}
.p-AncNav__list ul{
	width: 760px;
	margin: 0 auto;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.p-AncNav__list li{
	flex: 0 0 auto;
	font-size: 0.9375rem;
	width: 72px;
	text-align: center;
	margin: 0 2px 0.4rem;
	box-sizing: border-box;
	position: relative;
}
.p-AncNav__list li a{
	display: block;
	line-height: 1;
	padding: 0.5em 0 0.5em;
}
.p-AncNav__list li::before {
	content: '';
	position: absolute;
	top:0px; left: 40%;
	width: 20%;
	height: 100%;
	background-color: #f0f0f0;
	border-radius: 3px;
	margin: 0 auto 0;
	transition: all 0.1s ease-out;
	display: block;
	opacity: 0;
	z-index: -1;
}
.p-AncNav__list li:hover::before,
.p-AncNav__list li.is-current::before{
	opacity: 1;
	left: 0%;
	width: 100%;
}
.p-AncNav__list li.is-current a{
	color: #E6002D;
	font-weight: 600;
}
.p-AncNav__list.is-fixed{
	position: fixed;
	top:52px;
}

/* for iPad  */
.p-AncNav__list.is-ipad{
	border-bottom: none;
}
.p-AncNav__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-AncNav__list.is-ipad li a::before{
	transition: none;
}
.p-AncNav__list.is-ipad li.is-current a{
	background-color: #f4f4f4;
	border-radius: 3px;
}

@media print{
	.p-AncNav__list.is-fixed{
		position: absolute;
		top:0px;
	}
}

/*p-main__grid--col3 / p-thumb*/
.p-main__grid--col3{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	min-height: 500px;
}

.p-main__grid--col3 .p-thumb{
	width: 230px;
	flex: 0 0 auto;
	/*margin-bottom: 3rem;*/
	margin-bottom: 2.5rem;
	margin-right: 35px;
	position: relative;
	cursor: pointer;
}

.block_link.p-thumb::before{
	top:-3.5%; left:-5%;
	width: 110%; height: 107%;
}

/*.p-thumb::after{
	content: "";
	width: 0px;
	height: 100%;
	z-index: 1;
	display: block;
	position: absolute;
	top:0px; right:-18px;
	border-right: #dcdcdc 1px solid;
}
.p-thumb:nth-of-type(3n)::after{
		display: none;
}*/
.p-main__grid--col3 .p-thumb:nth-child(3n){
	margin-right: 0px;
}

.p-thumb__photo{
	width:auto;
	height:auto;
	max-width: 100%;
	max-height: 100%;
	margin: 0 auto;
}
@media all and (-ms-high-contrast:none){ /*IE11ハック*/
  *::-ms-backdrop, .p-thumb__photo{
		max-width: 230px;
		max-height: 210px;
	}
}
.p-thumb__photoArea{
	width:230px;
	height: 210px;
	display: flex;
	align-items:flex-end;
	text-align: center;
}
.p-thumb__name{
	font-size: 0.8125rem;
	letter-spacing: 0;
	line-height: 1.3;
	min-height: 3em;
	padding: 0.7em 0 2em;
	margin-top: 0.9em;
	border-top: #d5d5d5 1px solid;
}
.p-thumb__date{
	position: absolute;
	letter-spacing: 0;
	left: 3px; bottom: 0px;
	font-size: 0.6875rem;
	color: #666;
	line-height: 1;
	padding:0.5em 7em 0.5em 0;
}

.p-thumb__link{
	position: absolute;
	letter-spacing: 0;
	right: 0px; bottom: 0px;
	/*font-size: 0.75rem;*/
	font-size: 0.75rem;
	line-height: 1;
	display: block;
	width: auto;
	background: url(/tech/kd/common/images/arrow_red.svg) no-repeat 0.6em 48%;
	/*background-size: 7px auto;*/
	background-size: 6px 11px;
	padding:0.5em 0.5em 0.5em 20px;
}
.p-thumb:hover .p-thumb__link{
	background-color: #e6e6e6;
}

@media print{
	.p-main__grid--col3{
		display: block;
		overflow: hidden;
	}
	.p-main__grid--col3 .p-thumb{
		float: left;
		margin-right: 35px;
		page-break-inside: avoid;
	}
	.p-main__grid--col3 .p-thumb:nth-child(3n+1){
		clear: both;
	}
	.p-thumb__photoArea{
		page-break-inside: avoid;
	}
	.p-thumb__name{
		font-size: 12px;
	}
}

/*p-worksBody*/

.p-worksBody{
	border: #ccc 1px solid;
	margin-top: 0.5rem;
	/*margin-bottom: 3rem;*/
	box-shadow: 1px 1px 4px -1px rgba(0,0,0,0.2);
	text-align: center;
	position: relative;
}
.p-works__title{
	font-size: 1.5625rem;
	position: relative;
	/*padding: 1.75rem 0 0.625rem 0;*/
	padding: 2.125rem 0 1.125rem 0;
	line-height: 1.3;
	letter-spacing: 0.02em;
}
.p-works__title::before{
	content: "";
	border-top: #e6002d 3px solid;
	width: 30%;
	height: 0;
	position: absolute;
	top:-1px;
	left: 50%;
	margin-left: -15%;
	z-index: 2;
}
.p-works__place,
.p-works__date{
	font-size: 0.8125rem;
	line-height: 1;
	display: inline-block;
	/*margin: 0 0.5em 1.6125rem;*/
	margin: 0 0.5em 2.125rem;
}

.p-works__shoulder{
	position: absolute;
	top:-23px;
	right: -26px;
	width: auto;
	background-color: #fff;
}
.sp .p-works__shoulder{
	position: static;
	margin: 0 1.25rem 1.25rem;
	display: flex;
	justify-content: flex-start;
}

.p-works__mainImg{
	width: 575px;
	margin: 0 auto;
}
.p-works__discription{
	width: 575px;
	margin: 1.6125rem auto;
}
.p-works__catch{
	font-size: 1.25rem;
	margin-bottom: 1.25rem;
}
.p-works__lede{
	font-feature-settings : "palt" 0;
	-webkit-font-feature-settings : "palt" 1;
	font-size: 1rem;
	text-align:justify;
	text-justify:inter-ideograph;
	line-height: 1.75rem;
}

.p-works__data{
	background-color: #f0f0f0;
	margin-bottom: 1.875rem;
}

.p-worksData__content{
	width: 575px;
	margin: 0 auto;
	text-align: left;
	padding: 1em 0 1.2em;
}
.p-photoInfo{
	display: block;
	margin: 0.8em 0 0;
	font-size: 0.8125rem;
	color: #777;
}
.p-worksData__commentLink{
	text-align:right;
	margin:-0.8rem 0 0;
}
.p-worksData__commentLink a{
	display: inline-block;
	padding:0.8em 1.4em 0.8em 1.8em;
	line-height:1;
	border-left: #ccc 1px solid;
	background: url(/tech/kd/common/images/arrow_red.svg) no-repeat 0.8em 45%;
	background-size: 6px auto;
}

.p-worksPhotos{
	padding-bottom: 2rem;
	/*202305*/
	display: flex;
	flex-direction: column;
	align-items: center;
}
.p-worksPhotos li{
	margin-bottom: 1.5rem;
}

.p-photo_caption{
	/*width: 400px;*/
	max-width: 96%;
	margin: 0 auto;
	font-size: 0.8125rem;
	line-height: 1.5;
	padding: 0.375rem 0;
}

/*p-pageMove--top*/
.p-pageMove--top{
	width: 90px;
	height: 30px;
	margin-right: -45px;
	position: absolute;
	right:0px; top:1.5rem;
}
.p-pageMove--top .p-pageMove__btns a,
.p-pageMove--top .p-pageMove__btns span{
	overflow: hidden;
	text-indent: 100%;
	height: 100%;
	white-space: nowrap;
	padding: 0px;
	border: #ccc 1px solid;
}
.p-pageMove--top .p-pageMove__btns li{
	width: 30px;
	height: 30px;
}


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


/*****************************/
/* sp */
/*****************************/

/*p-snav__nav*/
.sp .p-snav__nav>li li{
	width: 30%;
	margin-left:1.5%;
	margin-right:1.5%;
}

.sp .l-snav .p-snav__nav>li li:nth-last-of-type(4),
.sp .l-snav .p-snav__nav>li li:nth-last-of-type(3),
.sp .l-snav .p-snav__nav>li li:nth-last-of-type(2){
	background-image: none;
}

/*l-title--sp p-snav*/
.sp .l-title--sp .p-snav__nav>li {
	width: 25%;
}

/*.sp .l-title--sp .p-snav__nav>li.p-hasChildren a{
	padding-right: 1.5rem;
}*/

.sp .p-main__title {
	margin-top: 1rem;
	padding-top: 1rem;
	line-height: 1.1;
}

/*yearAncNav*/

.sp .p-AncNav {
	margin: 2.5rem 0;
	box-sizing: border-box;
}

.sp .p-AncNav__list::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: #f4f4f4;
	top:0px;left:0px;
	border-bottom: #e0e0e0 1px solid;
	box-shadow: 0px 2px 8px -4px rgba(0,0,0,0.3);
}
.sp .p-AncNav__list {
	position: absolute;
	width: 100%;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	border: none;
	z-index: 10;
	top:0px;
}
.sp .p-AncNav__list.is-fixed{
	position: fixed;
	top:52px;
}
.sp .p-AncNav__list ul {
	width:100%;
	padding:0 0 0 3%;
	box-sizing: border-box;
}
.sp .p-AncNav__list li {
	width: 16%;
	margin: 0 0 0.4rem;
}
.sp .p-AncNav__list li::before {
	transition: none;
}

/*yearIndex*/
.sp .p-AncIndex {
	display: inherit;
}
.sp .p-AncIndex:last-of-type {
	margin-bottom: 2rem;
}
.sp .p-AncIndex__key {
	font-size: 2.14rem;
	padding: 2rem 0 1.5rem;
}
.sp .p-AncIndex dd{
	padding:0 1rem !important;
}
.sp .p-AncIndex__list li a {
	padding: 0.8em 0 0.2em 1.6em;
	background-size: 6px auto;
}
.is-ipad .p-AncIndex__list li:hover,
.sp .p-AncIndex__list li:hover{
	background-color: inherit;
}
.sp .p-AncNav__list li a{
	border-radius: 3px;
}
.sp .p-AncNav__list li.is-current a{
	font-weight: 400;
	background: #e6e6e6;
}
.is-ipad .p-AncNav__list li a.active{
	background-color: #f0f0f0;
}
.is-ipad .p-AncIndex__list li a.active,
.sp .p-AncIndex__list li.active,
.sp .p-AncIndex__list li.active a{
	background-color: #f0f0f0;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
.sp .p-AncIndex__pps {
	position: static;
	padding-left: 1.25rem;
	padding-bottom: 0.5em;
}

/*thumb*/
.sp .p-main__grid--col3 {
	justify-content: space-between;
	margin: 0 auto;
	max-width: 360px;
	min-height: inherit;
}

.sp .p-main__grid--col3 .p-thumb {
	width: 170px;
	/*width: 260px;*/
	flex: 0 0 auto;
	margin-bottom: 2.5rem;
	margin-right: 0px;
	}

.sp .p-thumb__photoArea {
	width: 170px;
	height: 128px;
	background-color: #f0f0f0;
}
.sp .p-thumb__name {
	border-top: none;
	padding-top: 0;
	margin-top: 0.6em;
}
.sp .p-thumb:hover .p-thumb__link{
	background-color:inherit;
}

/*block_link*/
.is-ipad .block_link.active::before,
.sp .block_link.active::before{
	display: block;
	opacity: 1;
}

/*p-works*/

.sp .p-worksBody{
	text-align: left;
	border:none;
	border-top:#bababa 1px solid;
	box-shadow:none;
}

.sp .p-works__title{
	text-align: left;
	padding: 1.75rem 1.75rem 0.25rem 1.75rem;
	letter-spacing: 0.01em;
}
.sp .p-works__place, .sp .p-works__date {
	white-space: nowrap;
}
.sp .p-works__place{
	margin-left: 1.75rem;
	margin-right: -1rem;
	margin-bottom: 0.2rem;
}
.sp .p-works__date {
	margin-bottom: 2rem;
	margin-left: 1.75rem;
}
.p-works__title::before{
	display: none;
}
.sp .p-works__mainImg{
	width:100%;
	text-align: center;
}
.sp .p-works__mainImg img{
	margin: 0 auto;
}
.sp .p-works__discription,
.sp .p-worksData__content{
	width: 100%;
	box-sizing: border-box;
	padding-left: 1.85rem;
	padding-right: 1.85rem;
}
.sp .p-works__catch{
	line-height: 1.4;
	margin-bottom: 0.6rem;
}
.sp .p-works__lede {
	font-size: 1.07rem;
	line-height: 1.9;
	font-feature-settings: "palt";
}
.sp .p-worksData__commentLink a{
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}

.is-ipad .p-worksData__commentLink a.active
.sp .p-worksData__commentLink a.active{
	background-color: #e6e6e6;
	
}
.sp .p-worksPhotos{
	text-align: center;
}

@media screen and (max-width:360px){
	.sp .p-main__grid--col3 {
		max-width: 300px;
	}
	.sp .p-main__grid--col3 .p-thumb {
		width: 140px;
		}
	.sp .p-thumb__photoArea {
		width: 140px;
		height: 105px;
	}
	.sp .p-works__title {
		font-size: 1.3rem;
		padding: 1.75rem 1.4rem 0.25rem;
		letter-spacing: 0em;
	}
	.sp .p-works__place,
	.sp .p-works__date{
		margin-left: 1.4rem;
	}
	.sp .p-works__catch {
			font-size: 1.14rem;
	}
	.sp .p-works__discription,
	.sp .p-worksData__content{
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

/*utility_for_irregular*/

.u-nowrap{
	white-space: nowrap;
}
.u-normal_spacing{
	letter-spacing: 0em;
}
.u-tight_spacing{
	letter-spacing: -0.01em;
}
.u-tight_spacing.more{
	letter-spacing: -0.03em;
}
