@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

/* bg1 */
#page_title .bg1 {
    transform: translate(-12px, -30px) rotate(6deg);
    animation: bg1FloatIn 1s ease-out .2s forwards;
}

/* bg2 */
#page_title .bg2 {
    transform: translate(14px, -35px) rotate(7deg);
    animation: bg2FloatIn 1s ease-out .3s forwards;
}

@keyframes bg1FloatIn {
    0% {
        opacity: 0;
        transform: translate(-12px, -30px) rotate(6deg);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0) rotate(0deg);
    }
}

@keyframes bg2FloatIn {
    0% {
        opacity: 0;
        transform: translate(14px, -35px) rotate(-8deg);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0) rotate(0deg);
    }
}

#container div.container_inner aside ul li a{
    color: #000;
	display: inline-block;
}

#container div.container_inner main ul.list li a{
    color: #000;
}



/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 961px){
	
	#page_title div.page_title_inner span.bg1 {
		width: 283px;
		top: 56px;
		left: -60px;
	}
	
	#page_title div.page_title_inner span.bg2 {
		width: 128px;
		top: 178px;
		left: 360px;
	}
	
	div.aside_block {
		width: 100%;
		border: 1px solid #D7D7DE;
		padding: 32px 0 26px;
		margin-bottom: 60px;
	}
	
	div.aside_block aside{
		width: 91.3%;
		max-width: 1316px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	div.aside_block aside h3{
		display: inline-block;
		font-family: YakuHanJP, "Libre Franklin";
		font-size: 3.2rem;
		font-weight: 500;
		line-height: 1;
	}
	
	div.aside_block aside ul{
		width: calc(100% - 168px);
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 14px;
	}
	
	div.aside_block aside ul li{
		display: inline-block;
		border: 1px solid #D7D7DE;
		border-radius: 60px;
		overflow: hidden;
		margin-bottom: 6px;
	}
	
	div.aside_block aside ul li a{
		display: block;
		height: 100%;
		padding: 6px 10px 8px;
		font-size: 1.6rem;
		line-height: 1;
		color: #000;
		background: #EDEDEF;
		transition-duration: 0.5s;
		transition-property: background, color;
	}
	
	div.aside_block aside ul li.active a,
	div.aside_block aside ul li a:hover{
		color: #FFF;
		background: #000;
	}
	
	main section ul.list{
		width: 91.3%;
		max-width: 1316px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		gap: 60px 2.3%;
	}
	
	main section ul.list li{
		width: 31.8%;
	}
	
	main section ul.list li a{
		display: block;
		color: #000;
	}
	
	main section ul.list li a div.thum{
		width: 100%;
		height: 20.2cqw;
		max-height: 292px;
		line-height: 0;
		margin-bottom: 20px;
		border: 1px solid #D7D7DE;
		overflow: hidden;
	}
	
	main section ul.list li a div.thum img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	main section ul.list li a ul.cate{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 14px;
	}
	
	main section ul.list li a ul.cate li{
		width: auto;
		display: inline-block;
		border: 1px solid #D7D7DE;
		border-radius: 60px;
		padding: 6px 10px 8px;
		font-size: 1.3rem;
		line-height: 1;
		color: #000;
		background: #EDEDEF;
	}
	
	main section ul.list li a h3{
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.5;
		margin-top: 20px;
	}

	
	/*詳細*/
	
	div.head_block {
		width: 91.3%;
		max-width: 1316px;
		margin: 0 auto;
		padding: 158px 0 42px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	div.head_block h2{
		display: inline-block;
		font-family: YakuHanJP, "Libre Franklin";
		font-size: 4.2rem;
		font-weight: 500;
		line-height: 1;
	}
	
	div.head_block div.head_box{
		width: 71.8%;
	}
	
	div.head_block div.head_box div{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		gap: 18px;
		margin-bottom: 34px;
	}
	
	div.head_block div.head_box h1{
		font-size: 2.5rem;
		font-weight: 500;
		line-height: 1.5;
	}
	
	#container.single {
		border-top: 1px solid #D7D7DE;
		border-bottom: 1px solid #D7D7DE;
		padding-top: 54px;
		padding-bottom: 80px;
	}
	
	#container.single div.container_inner{
		width: 91.3%;
		max-width: 1316px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	#container.single div.container_inner aside h3{
		font-family: YakuHanJP, "Libre Franklin";
		font-size: 3.2rem;
		font-weight: 500;
		line-height: 1;
		border-bottom: 1px solid #000;
		margin-bottom: 18px;
	}
	
	#container.single div.container_inner aside{
		width: 17.4%;
	}
	
	#container.single div.container_inner aside ul{
		width: 100%;
	}
	
	#container.single div.container_inner aside ul li{
		width: 100%;
		margin-bottom: 6px;
	}
	
	#container.single div.container_inner aside ul li + li{
		width: 100%;
		margin-top: 14px;
	}
	
	#container.single div.container_inner aside ul li a{
		display: inline-block;
		border: 1px solid #D7D7DE;
		border-radius: 60px;
		height: 100%;
		padding: 6px 10px 8px;
		font-size: 1.6rem;
		line-height: 1;
		color: #000;
		background: #EDEDEF;
		transition-duration: 0.5s;
		transition-property: background, color;
	}
	
	#container.single div.container_inner aside ul li.active a,
	#container.single div.container_inner aside ul li a:hover{
		color: #FFF;
		background: #000;
	}
	
	#container.single div.container_inner div.contents{
		width: 71.8%;
	}
	
	#container.single div.container_inner div.contents figure.photo {
		margin: 0;
	}
	
	#container.single div.container_inner div.contents figure.photo.small {
		width: 70%;
		margin-left: auto;
		margin-right: auto;
	}
	
	#container.single div.container_inner div.contents figure.photo figcaption{
		font-size: 1.3rem;
		line-height: 1.4;
		text-align: right;
	}
	
	#container.single div.container_inner div.contents figure.photo:not(:first-child) {
		margin-top: 20px;
	}
	
	#container.single div.container_inner div.contents p{
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: 2%;
	}
	
	#container.single div.container_inner div.contents a{
		color: #000;
		text-decoration: underline;
	}
	
	#container.single div.container_inner div.contents ul.cate{
		width: calc(100% - 168px);
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 14px;
		margin-top: 32px;
	}
	
	#container.single div.container_inner div.contents ul.cate li{
		display: inline-block;
		border: 1px solid #D7D7DE;
		border-radius: 60px;
		overflow: hidden;
		margin-bottom: 6px;
		padding: 6px 10px 8px;
		font-size: 1.3rem;
		line-height: 1;
		color: #000;
		background: #EDEDEF;
	}
	
	#container.single div.container_inner div.contents dl{
		margin-top: 32px;
	}
	
	#container.single div.container_inner div.contents dl dt{
		font-size: 1.6rem;
		display: inline-block;
		padding-bottom: 0.15em;
		border-bottom: 1px solid #000;
		margin-bottom: 0.5em;
		padding-right: 2em;
		position: relative;
		cursor: pointer;
	}
	
	#container.single div.container_inner div.contents dl dt span{
		width: 14px;
		height: 14px;
		display: block;
		position: absolute;
		top: 6px;
		right: 0;
	}
	
	#container.single div.container_inner div.contents dl dt span::before{
		content: "";
		width: 14px;
		height: 1px;
		background: #000;
		position: absolute;
		top: 6px;
		right: 0;
	}
	
	#container.single div.container_inner div.contents dl dt span::after{
		content: "";
		width: 1px;
		height: 14px;
		background: #000;
		position: absolute;
		top: 0;
		right: 7px;
		opacity: 1;
        transform: rotate(0deg);
        transform-origin: center;
        transition: transform 0.35s ease, opacity 0.35s ease;
	}
	
	#container.single div.container_inner div.contents dl dt.ac span::after{
        opacity: 0;
        transform: rotate(90deg);
    }
	
	#container.single div.container_inner div.contents dl dd{
		width: 100%;
		font-size: 1.6rem;
		line-height: 1.8;
		padding-left: 0.5em;
		display: none;
	}
	
	#container.single div.container_inner div.contents dl dd p{
		margin: 0;
		line-height: 1.5;
	}
	
	#container.single div.container_inner div.contents dl dd p + p{
		margin-top: 4px;
	}
	
	#container.single div.container_inner div.contents dl dd a{
		color: #000;
	}
	
	aside.slide_block {
		width: 100%;
		padding: 40px 0 32px;
		border-bottom: 1px solid #D7D7DE;
		contain: paint;
	}
	
	aside.slide_block div.aside_inner {
		width: 91.3%;
		max-width: 1316px;
		margin: 0 auto;
		position: relative;
	}
	
	aside.slide_block div.aside_inner h6{
		font-family: YakuHanJP, "Libre Franklin";
		font-size: 1.8rem;
		font-weight: 500;
		line-height: 1;
	}
	
	aside.slide_block div.aside_inner ul.pager{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center;
		gap: 14px;
		position: absolute;
		top: 0;
		right: 140px;
	}
	
	aside.slide_block div.aside_inner a.list_back{
		width: 120px;
		height: 40px;
		border: 1px solid #000;
		border-radius: 60px;
		font-size: 1.6rem;
		line-height: 1;
		color: #000;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: -12px;
		right: 0;
		transition: background-color .3s ease, color .3s ease;
	}

	aside.slide_block div.aside_inner a.list_back:hover{
		background-color: #000;
		color: #FFF;
	}
	
	aside.slide_block div.aside_inner ul.pager li{
		display: inline-block;
		cursor: pointer;
	}
	
	aside.slide_block div.aside_inner ul.pager li.next,
	aside.slide_block div.aside_inner ul.pager li.back{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		font-family: YakuHanJP, "Libre Franklin";
		font-size: 1.3rem;
		line-height: 1;
		text-decoration: none;
	}
	
	aside.slide_block div.aside_inner ul.pager li.next {
		margin-right: 6px;
	}
	
	aside.slide_block div.aside_inner ul.pager li.next span{
		margin-right: 0.25em;
	}
	
	aside.slide_block div.aside_inner ul.pager li.back {
		margin-left: 6px;
	}
	
	aside.slide_block div.aside_inner ul.pager li.back span{
		margin-left: 0.25em;
	}
	
	aside.slide_block div.aside_inner ul.pager li span.arrow{
		display: inline-block;
		position: relative;
		right: 0;
		bottom: -0.15em;
		z-index: 5;
		padding-right: 3px;
		
    }
	
	aside.slide_block div.aside_inner ul.pager li span.arrow::before{
		content: "";
		width: 26px;
		height: 1px;
		background: #000;
		display: block;
		transform: scaleX(1);
		transform-origin: right center;
		transition: transform 0.3s ease;
	}
	
	aside.slide_block div.aside_inner ul.pager li.next span.arrow::before{
		transform-origin: left center;
	}
	
	aside.slide_block div.aside_inner ul.pager li:hover span.arrow::before{
		transform: scaleX(0.8);
	}
	
	aside.slide_block div.aside_inner ul.pager li span.arrow i{
		width: 11px;
		line-height: 0;
		display: inline-block;
		position: absolute;
		right: 0;
		bottom: 0;
    }
	
	aside.slide_block div.aside_inner ul.pager li.next span.arrow{
		padding-right: 0;
		padding-left: 3px;
    }
	
	aside.slide_block div.aside_inner ul.pager li.next span.arrow i{
		right: initial;
		left: 0;
		bottom: 0;
		transform: rotateY(180deg);
    }
	
	aside.slide_block div.aside_inner .project_slider{
		width: 97.36cqw;
		margin-right: -4.35cqw;
		margin-top: 28px;
		overflow: hidden;
	}
	aside.slide_block div.aside_inner ul.slider{
		width: max-content;
		margin: 0;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 32px;
		will-change: transform;
	}
	aside.slide_block div.aside_inner ul.slider li{
		width: 30.97cqw;
		max-width: 446px;
		height: 24.72cqw;
		max-height: 356px;
		flex-shrink: 0;
	}
	
	aside.slide_block div.aside_inner ul.slider li a{
		display: block;
		height: 100%;
		position: relative;
	}
	
	aside.slide_block div.aside_inner ul.slider li a div.text{
		width: 100%;
		height: 100%;
		padding: 6.4% 6.2%;
		background: linear-gradient(180deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .18) 67%, rgba(91, 91, 91, 1) 100%);
		position: absolute;
		top: 0;
		left: 0;
		z-index: 5;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-end;
		color: #FFF;
		transition-duration: 0.5s;
		transition-property: opacity;
		opacity: 0;
	}
	
	aside.slide_block div.aside_inner ul.slider li a:hover div.text{
		opacity: 1;
	}
	
	aside.slide_block div.aside_inner ul.slider li a div.text h5{
		width: 85.9%;
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1.5;
	}
	
	aside.slide_block div.aside_inner ul.slider li a div.text p{
		width: 10.5%;
		font-size: 1.3rem;
		line-height: 1;
		letter-spacing: 2%;
		padding-bottom: 6px;
		border-bottom: 1px solid #FFF;
	}
	
	aside.slide_block div.aside_inner ul.slider li div.thum,
	aside.slide_block div.aside_inner ul.slider li img{
		width: 100%;
		height: 100%;
	}
	
	aside.slide_block div.aside_inner ul.slider li img{
		object-fit: cover;
	}
}


@media screen and (min-width:961px) and (max-width: 1440px){
	#page_title div.page_title_inner span.bg1 {
		left: -4.35cqw;
	}
}
	

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 960px){
	
	#page_title div.page_title_inner span.bg1 {
		width: 29.2%;
		top: 17.8cqw;
		left: -5cqw;
	}
	
	#page_title div.page_title_inner span.bg2 {
		width: 20.8%;
		top: 37.2cqw;
		left: 31%;
	}
	
	div.aside_block {
		width: 100%;
		border: 1px solid #D7D7DE;
		padding: clamp(calc(28px * 0.96), calc(28 * var(--scale)), calc(28px * 2.56)) 0;
		margin-bottom: clamp(calc(32px * 0.96), calc(32 * var(--scale)), calc(32px * 2.56));
	}
	
	div.aside_block aside{
		width: 90%;
		margin: 0 auto;
	}
	
	div.aside_block aside h3{
		display: inline-block;
		font-family: YakuHanJP, "Libre Franklin";
		font-size: var(--f24);
		font-weight: 500;
		line-height: 1;
		padding-bottom: 0.15em;
		border-bottom: 1px solid #000;
		margin-bottom: clamp(calc(20px * 0.96), calc(20 * var(--scale)), calc(20px * 2.56));
	}
	
	div.aside_block aside ul{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: clamp(calc(16px * 0.96), calc(16 * var(--scale)), calc(16px * 2.56))  clamp(calc(10px * 0.96), calc(10 * var(--scale)), calc(10px * 2.56));
	}
	
	div.aside_block aside ul li{
		display: inline-block;
		border: 1px solid #D7D7DE;
		border-radius:  clamp(calc(60px * 0.96), calc(60 * var(--scale)), calc(60px * 2.56));
		overflow: hidden;
	}
	
	div.aside_block aside ul li a{
		display: block;
		height: 100%;
		padding: clamp(calc(6px * 0.96), calc(6 * var(--scale)), calc(6px * 2.56)) clamp(calc(10px * 0.96), calc(10 * var(--scale)), calc(10px * 2.56)) clamp(calc(8px * 0.96), calc(8 * var(--scale)), calc(8px * 2.56));
		font-size: var(--f13);
		line-height: 1;
		color: #000;
		background: #EDEDEF;
	}
	
	div.aside_block aside ul li.active a{
		color: #FFF;
		background: #000;
	}
	
	main section ul.list{
		width: 90%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		gap: clamp(calc(34px * 0.96), calc(34 * var(--scale)), calc(34px * 2.56)) 0;
	}
	
	main section ul.list li{
		width: 100%;
	}
	
	main section ul.list li a{
		display: block;
		color: #000;
	}
	
	main section ul.list li a div.thum{
		width: 100%;
		height: 63.4cqw;
		line-height: 0;
		margin-bottom: clamp(calc(15px * 0.96), calc(15 * var(--scale)), calc(15px * 2.56));
		border: 1px solid #D7D7DE;
		overflow: hidden;
	}
	
	main section ul.list li a div.thum img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	main section ul.list li a ul.cate{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 14px;
	}
	
	main section ul.list li a ul.cate li{
		width: auto;
		display: inline-block;
		border: 1px solid #D7D7DE;
		border-radius:  clamp(calc(60px * 0.96), calc(60 * var(--scale)), calc(60px * 2.56));
		padding: clamp(calc(6px * 0.96), calc(6 * var(--scale)), calc(6px * 2.56)) clamp(calc(10px * 0.96), calc(10 * var(--scale)), calc(10px * 2.56)) clamp(calc(8px * 0.96), calc(8 * var(--scale)), calc(8px * 2.56));
		font-size: var(--f13);
		line-height: 1;
		color: #000;
		background: #EDEDEF;
	}
	
	main section ul.list li a h3{
		font-size: var(--f15);
		font-weight: 700;
		line-height: 1.5;
		margin-top: clamp(calc(15px * 0.96), calc(15 * var(--scale)), calc(15px * 2.56));
	}
	
	
	
	
	
	
	
	
	
	
	
	#container div.container_inner main{
		width: 100%;
		margin-top: clamp(calc(32px * 0.96), calc(32 * var(--scale)), calc(32px * 2.56));
	}
	
	#container div.container_inner main article {
		width: 90%;
		margin: 0 auto;
	}
	
	#container div.container_inner main ul.list{
		border-top: 1px solid #D7D7DE;
	}
	
	#container div.container_inner main ul.list li{
		width: 100%;
		border-bottom: 1px solid #D7D7DE;
	}
	
	#container div.container_inner main ul.list li a{
		width: 100%;
		padding: clamp(calc(20px * 0.96), calc(20 * var(--scale)), calc(20px * 2.56)) 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	#container div.container_inner main ul.list li a div{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		margin-bottom: clamp(calc(13px * 0.96), calc(13 * var(--scale)), calc(13px * 2.56));
	}
	
	#container div.container_inner main ul.list li a div time,
	div.head_block div.head_box div time {
		width: clamp(calc(95px * 0.96), calc(95 * var(--scale)), calc(95px * 2.56));
		font-family: YakuHanJP, "Libre Franklin";
		font-size: var(--f15);
		line-height: 1;
	}
	
	#container div.container_inner main ul.list li a div p.cate,
	div.head_block div.head_box div p.cate {
		display: inline-block;
		padding: clamp(calc(6px * 0.96), calc(6 * var(--scale)), calc(6px * 2.56)) clamp(calc(10px * 0.96), calc(10 * var(--scale)), calc(10px * 2.56));
		font-size: var(--f13);
		line-height: 1;
		border: 1px solid #000;
		border-radius: clamp(calc(60px * 0.96), calc(60 * var(--scale)), calc(60px * 2.56));
	}
	
	#container div.container_inner main ul.list li a h3{
		font-size: var(--f15);
		font-weight: 500;
		line-height: 1.5;
	}
	
	/*詳細*/
	
	div.head_block {
		width: 90%;
		margin: 0 auto;
		padding: clamp(calc(106px * 0.96), calc(106 * var(--scale)), calc(106px * 2.56)) 0 clamp(calc(30px * 0.96), calc(30 * var(--scale)), calc(30px * 2.56));
		display: flex;
		flex-wrap: wrap;
	}
	
	div.head_block h2{
		display: inline-block;
		font-family: YakuHanJP, "Libre Franklin";
		font-size: var(--f36);
		font-weight: 500;
		line-height: 1;
		margin-bottom: clamp(calc(40px * 0.96), calc(40 * var(--scale)), calc(40px * 2.56));
	}
	
	div.head_block div.head_box{
		width: 100%;
	}
	
	div.head_block div.head_box div{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		gap: clamp(calc(10px * 0.96), calc(10 * var(--scale)), calc(10px * 2.56));
		margin-bottom: clamp(calc(20px * 0.96), calc(20 * var(--scale)), calc(20px * 2.56));
	}
	
	div.head_block div.head_box h1{
		font-size: var(--f21);
		font-weight: 500;
		line-height: 1.5;
	}
	
	#container.single {
		width: 100%;
		border-top: 1px solid #D7D7DE;
		border-bottom: 1px solid #D7D7DE;
		padding-top: clamp(calc(30px * 0.96), calc(30 * var(--scale)), calc(30px * 2.56));
		padding-bottom: clamp(calc(40px * 0.96), calc(40 * var(--scale)), calc(40px * 2.56));
	}
	
	#container.single div.container_inner{
		width: 100%;
		display: flex;
		flex-direction: column-reverse;
	}
	
	#container.single div.container_inner aside{
		width: 90%;
		margin: 0 auto;
	}
	
	#container.single div.container_inner aside h3{
		display: inline-block;
		font-family: YakuHanJP, "Libre Franklin";
		font-size: var(--f21);
		font-weight: 500;
		line-height: 1;
		border-bottom: 1px solid #000;
		padding-bottom: clamp(calc(3px * 0.96), calc(3 * var(--scale)), calc(3px * 2.56));
		margin-bottom: clamp(calc(20px * 0.96), calc(20 * var(--scale)), calc(20px * 2.56));
	}
	
	#container.single div.container_inner aside ul{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: clamp(calc(16px * 0.96), calc(16 * var(--scale)), calc(16px * 2.56)) clamp(calc(10px * 0.96), calc(10 * var(--scale)), calc(10px * 2.56));
	}
	
	#container.single div.container_inner aside ul li{
		display: inline-block;
		border: 1px solid #D7D7DE;
		border-radius: clamp(calc(60px * 0.96), calc(60 * var(--scale)), calc(60px * 2.56));
		overflow: hidden;
	}
	
	#container.single div.container_inner aside ul li a{
		display: block;
		height: 100%;
		padding: clamp(calc(6px * 0.96), calc(6 * var(--scale)), calc(6px * 2.56)) clamp(calc(10px * 0.96), calc(10 * var(--scale)), calc(10px * 2.56)) clamp(calc(8px * 0.96), calc(8 * var(--scale)), calc(8px * 2.56));
		font-size: var(--f13);
		line-height: 1;
		color: #000;
		background: #EDEDEF;
	}
	
	#container.single div.container_inner aside ul li.active a{
		color: #FFF;
		background: #000;
	}
	
	#container.single div.container_inner div.contents{
		width: 90%;
		margin: 0 auto clamp(calc(40px * 0.96), calc(40 * var(--scale)), calc(40px * 2.56));
		padding-bottom: clamp(calc(40px * 0.96), calc(40 * var(--scale)), calc(40px * 2.56));
		position: relative;
	}
	
	#container.single div.container_inner div.contents::after{
		content: "";
		width: 100cqw;
		height: 1px;
		background: #D7D7DE;
		display: block;
		position: absolute;
		bottom: 0;
		left: -5cqw;
	}
	
	
	#container.single div.container_inner div.contents figure.photo:not(:first-child) {
		margin-top: clamp(calc(20px * 0.96), calc(20 * var(--scale)), calc(20px * 2.56));
	}
	
	#container.single div.container_inner div.contents p{
		font-size: var(--f14);
		line-height: 1.8;
		letter-spacing: 2%;
	}
	
	#container.single div.container_inner div.contents a{
		color: #000;
		text-decoration: underline;
	}
	
	#container.single div.container_inner div.contents figure.photo {
		margin: clamp(calc(20px * 0.96), calc(20 * var(--scale)), calc(20px * 2.56)) 0;
	}
	
	#container.single div.container_inner div.contents figure.photo.small {
		width: 70%;
		margin-left: auto;
		margin-right: auto;
	}
	
	#container.single div.container_inner div.contents figure.photo figcaption{
		font-size: var(--f12);
		line-height: 1.4;
		text-align: right;
	}
	
	#container.single div.container_inner div.contents figure.photo:not(:first-child) {
		margin-top: 20px;
	}
	
	#container.single div.container_inner div.contents p{
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: 2%;
	}
	
	#container.single div.container_inner div.contents a{
		color: #000;
		text-decoration: underline;
	}
	
	#container.single div.container_inner div.contents ul.cate{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: clamp(calc(10px * 0.96), calc(10 * var(--scale)), calc(10px * 2.56));
		margin-top: clamp(calc(24px * 0.96), calc(24 * var(--scale)), calc(24px * 2.56));
	}
	
	#container.single div.container_inner div.contents ul.cate li{
		display: inline-block;
		border: 1px solid #D7D7DE;
		border-radius: clamp(calc(60px * 0.96), calc(60 * var(--scale)), calc(60px * 2.56));
		overflow: hidden;
		padding: clamp(calc(6px * 0.96), calc(6 * var(--scale)), calc(6px * 2.56)) clamp(calc(10px * 0.96), calc(10 * var(--scale)), calc(10px * 2.56)) clamp(calc(8px * 0.96), calc(8 * var(--scale)), calc(8px * 2.56));
		font-size: var(--f13);
		line-height: 1;
		color: #000;
		background: #EDEDEF;
	}
	
	#container.single div.container_inner div.contents dl{
		margin-top: clamp(calc(24px * 0.96), calc(24 * var(--scale)), calc(24px * 2.56));
	}
	
	#container.single div.container_inner div.contents dl dt{
		font-size: var(--f14);
		display: inline-block;
		padding-bottom: 0.15em;
		border-bottom: 1px solid #000;
		margin-bottom: 0.5em;
		padding-right: 2em;
		position: relative;
		cursor: pointer;
	}
	
	#container.single div.container_inner div.contents dl dt span{
		width: clamp(calc(14px * 0.96), calc(14 * var(--scale)), calc(14px * 2.56));
		height: clamp(calc(14px * 0.96), calc(14 * var(--scale)), calc(14px * 2.56));
		display: block;
		position: absolute;
		top: clamp(calc(4px * 0.96), calc(4 * var(--scale)), calc(4px * 2.56));
		right: 0;
	}
	
	#container.single div.container_inner div.contents dl dt span::before{
		content: "";
		width: clamp(calc(14px * 0.96), calc(14 * var(--scale)), calc(14px * 2.56));
		height: 1px;
		background: #000;
		position: absolute;
		top: clamp(calc(7px * 0.96), calc(7 * var(--scale)), calc(7px * 2.56));
		right: 0;
	}
	
	#container.single div.container_inner div.contents dl dt span::after{
		content: "";
		width: 1px;
		height: clamp(calc(14px * 0.96), calc(14 * var(--scale)), calc(14px * 2.56));
		background: #000;
		position: absolute;
		top: 0;
		right: clamp(calc(7px * 0.96), calc(7 * var(--scale)), calc(7px * 2.56));
		opacity: 1;
        transform: rotate(0deg);
        transform-origin: center;
        transition: transform 0.35s ease, opacity 0.35s ease;
	}
	
	#container.single div.container_inner div.contents dl dt.ac span::after{
        opacity: 0;
        transform: rotate(90deg);
    }
	
	#container.single div.container_inner div.contents dl dd{
		width: 100%;
		font-size: var(--f14);
		line-height: 1.8;
		padding-left: 0.5em;
		display: none;
	}
	
	#container.single div.container_inner div.contents dl dd p{
		margin: 0;
		line-height: 1.5;
	}
	
	#container.single div.container_inner div.contents dl dd p + p{
		margin-top: clamp(calc(4px * 0.96), calc(4 * var(--scale)), calc(4px * 2.56));
	}
	
	#container.single div.container_inner div.contents dl dd a{
		color: #000;
	}
	
	aside.slide_block {
		width: 100%;
		padding-top: clamp(calc(32px * 0.96), calc(32 * var(--scale)), calc(32px * 2.56));
		border-bottom: 1px solid #D7D7DE;
		contain: paint;
	}
	
	aside.slide_block div.aside_inner {
		width: 90%;
		margin: 0 auto;
		padding-bottom: clamp(calc(114px * 0.96), calc(114 * var(--scale)), calc(114px * 2.56));
		position: relative;
	}
	
	aside.slide_block div.aside_inner h6{
		font-family: YakuHanJP, "Libre Franklin";
		font-size: var(--f18);
		font-weight: 500;
		line-height: 1;
	}
	
	aside.slide_block div.aside_inner ul.pager{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center;
		gap: clamp(calc(10px * 0.96), calc(10 * var(--scale)), calc(10px * 2.56));
		position: absolute;
		bottom: clamp(calc(58px * 0.96), calc(58 * var(--scale)), calc(58px * 2.56));
		left: 0;
	}
	
	aside.slide_block div.aside_inner a.list_back{
		width: clamp(calc(110px * 0.96), calc(110 * var(--scale)), calc(110px * 2.56));
		height: clamp(calc(40px * 0.96), calc(40 * var(--scale)), calc(40px * 2.56));
		border: 1px solid #000;
		border-radius: clamp(calc(60px * 0.96), calc(60 * var(--scale)), calc(60px * 2.56));
		font-size: var(--f14);
		line-height: 1;
		color: #000;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		position: absolute;
		bottom: clamp(calc(42px * 0.96), calc(42 * var(--scale)), calc(42px * 2.56));
		right: 0;
	}
	
	aside.slide_block div.aside_inner ul.pager li{
		display: inline-block;
		cursor: pointer;
	}
	
	aside.slide_block div.aside_inner ul.pager li.next,
	aside.slide_block div.aside_inner ul.pager li.back{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		font-family: YakuHanJP, "Libre Franklin";
		font-size: var(--f13);
		line-height: 1;
		text-decoration: none;
	}
	
	aside.slide_block div.aside_inner ul.pager li.next {
		margin-right: clamp(calc(6px * 0.96), calc(6 * var(--scale)), calc(6px * 2.56));
	}
	
	aside.slide_block div.aside_inner ul.pager li.next span{
		margin-right: 0.25em;
	}
	
	aside.slide_block div.aside_inner ul.pager li.back {
		margin-left: clamp(calc(6px * 0.96), calc(6 * var(--scale)), calc(6px * 2.56));
	}
	
	aside.slide_block div.aside_inner ul.pager li.back span{
		margin-left: 0.25em;
	}
	
	aside.slide_block div.aside_inner ul.pager li span.arrow{
		display: inline-block;
		position: relative;
		right: 0;
		bottom: -0.15em;
		z-index: 5;
		padding-right: clamp(calc(3px * 0.96), calc(3 * var(--scale)), calc(3px * 2.56));
		
    }
	
	aside.slide_block div.aside_inner ul.pager li span.arrow::before{
		content: "";
		width: clamp(calc(26px * 0.96), calc(26 * var(--scale)), calc(26px * 2.56));
		height: 1px;
		background: #000;
		display: block;
		transform: scaleX(1);
		transform-origin: right center;
	}
	
	aside.slide_block div.aside_inner ul.pager li.next span.arrow::before{
		transform-origin: left center;
	}
	
	aside.slide_block div.aside_inner ul.pager li span.arrow i{
		width: clamp(calc(11px * 0.96), calc(11 * var(--scale)), calc(11px * 2.56));
		line-height: 0;
		display: inline-block;
		position: absolute;
		right: 0;
		bottom: 0;
    }
	
	aside.slide_block div.aside_inner ul.pager li.next span.arrow{
		padding-right: 0;
		padding-left: clamp(calc(3px * 0.96), calc(3 * var(--scale)), calc(3px * 2.56));
    }
	
	aside.slide_block div.aside_inner ul.pager li.next span.arrow i{
		right: initial;
		left: 0;
		bottom: 0;
		transform: rotateY(180deg);
    }
	
	aside.slide_block div.aside_inner .project_slider{
		width: 97.36cqw;
		margin-right: -4.35cqw;
		margin-top: 28px;
		overflow: hidden;
	}
	aside.slide_block div.aside_inner ul.slider{
		width: max-content;
		margin: 0;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 32px;
		will-change: transform;
	}
	aside.slide_block div.aside_inner ul.slider li{
		width: 71.7cqw;
		flex-shrink: 0;
	}
	
	aside.slide_block div.aside_inner ul.slider li a{
		display: block;
		height: 100%;
		position: relative;
	}
	
	aside.slide_block div.aside_inner ul.slider li a div.text{
		margin-top: clamp(calc(16px * 0.96), calc(16 * var(--scale)), calc(16px * 2.56));
		color: #000;
	}
	
	aside.slide_block div.aside_inner ul.slider li a div.text h5{
		font-size: var(--f15);
		font-weight: 500;
		line-height: 1.6;
	}
	
	aside.slide_block div.aside_inner ul.slider li a div.text p{
		text-align: right;
		font-size: var(--f13);
		line-height: 1;
		letter-spacing: 2%;
		margin-top: 0.75em;
	}
	
	aside.slide_block div.aside_inner ul.slider li a div.text p span{
		display: inline-block;
		padding-bottom: 6px;
		border-bottom: 1px solid #000;
	}
	
	aside.slide_block div.aside_inner ul.slider li div.thum {
		width: 100%;
		height: 50.66cqw;
	}
	
	aside.slide_block div.aside_inner ul.slider li img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

}
