@charset "UTF-8";



@media screen and (min-width: 769px){
	#header {
		position: fixed;
	}
	.sec {
		padding-top: 4rem !important;
		padding-bottom: 7.2rem !important;
	}
	.portfolio.tyousei{
		width: calc(40% - 2.4rem);
	}
}
#button_tyousei {
	margin-top: 0;
}






.bread-crumbs {
	margin-bottom: 7.2rem;
}
#key-visual.portfolio_pic {
	height: 60rem;
	overflow: hidden;
}
#key-visual.portfolio_pic::before {
	background-color: #faed00;
	opacity: 1;
}
.rotate-pic {
	z-index: 3;
	position: absolute;
	top: -25vw;
	left: 50%;
	transform: translateX(-50%);
	min-width: 120%;
	/*animation: rotate-circle 30s linear infinite;*/
}
@keyframes rotate-circle {
	from {
		transform: translateX(-50%) scale(1.1) rotate(0deg);
	}
	to {
		transform: translateX(-50%) scale(1.1) rotate(360deg);
	}
}
.rotate-pic img,
.content-pic01 img,
.content-pic02 img {
	width: 100%;
	height: auto;
}
.content-pic01,
.content-pic02 {
	position: absolute;
	z-index: 4;
}
.content-pic01 {
	max-width: 1300px;
	top: 30%;
}
.content-pic02 {
	max-width: 350px;
	top: 30%;
}
.sec-title01.portfolio-main {
	margin-bottom: 0 !important;
}
.catch-copy {
	position: absolute;
	top: 95px;
	font-size: 2.5rem;
	color: #221814;
	font-weight: 700;
	font-family: "Shippori Mincho", serif;
	z-index: 5;
}
.catch-copy .large {
	font-size: 3.5rem;
}

/* +++#portfolio+++ */
.portfolio_button_sp {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #f5f8fa;
	z-index: 9999;
	width: 100%;
}
.portfolio_button_sp ul {
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	margin: 2rem 0;
}
.portfolio_button_sp li {
	list-style: none;
	padding: 0 1.25rem;
	position: relative;
}
.portfolio_button_sp li + li::before {
	content: "｜";
	position: absolute;
	left: 0;
	transform: translateX(-50%);
}
.portfolio_button_sp li a {
	font-weight: 500;
	position: relative;
}
.portfolio_button_sp li a:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: -.25em;
	left: 0;
	transition: .3s transform ease;
	background: #222;
	transform: scaleX(0);
	transform-origin: right top;
}
.portfolio_button_sp li a:hover:after{
	transform-origin: left top;
	transform: scaleX(1);
}
.portfolio_button {
	width: 100%;
	background-color: #f5f8fa;
	z-index: 9999;
}
.kotei {
	position: fixed;
}
.portfolio_button .button01 {
	width: 20rem;
	height: 4rem;
	margin: 3.2rem 1.8rem !important;
	font-size: 1.2rem;
}
.button01.select{
	background: #222;
	color: #fff !important;
	border-color: #222;
	cursor: default;
	pointer-events: none;
}
.button01.select:hover{
	color: #fff !important;
}
.button01.select:before{
	content: none;
	display: none;
	transform: none;
}
.page-portfolio .button01::after{
	content: none;
	display: none;
}

.portfolio-list{
	max-width: 136.8rem;
	width: 100%;
}

.portfolio{
	position: relative;
	overflow: hidden;	
	width: calc(33.333% - 2.4rem);
	margin-bottom: 7.2rem;
}
.portfolio.tyousei{
	margin-bottom: 0;
}
.portfolio .pic.takasa{
	height: 34vh;
}
.portfolio:not(:nth-of-type(3n)){
	margin-right: 3.6rem;
}






.portfolio .pic{
	position: relative;
	width: 100%;
	height: 18vw;
	object-fit: cover;
	object-position: center;
}
.portfolio .pic:before{
	content: "";
	display: block;
	width: 120%;
	height: 100%;
	position: absolute;
	background: #f85084;
	transform: skew(-15deg, 0) scale(0,1);
	left: -10%;
	top: 0;
	transition: .3s all ease;
	opacity: 0;
}
.portfolio:hover .pic:before{
	transform: skew(-15deg, 0) scale(1,1);
	opacity: .85;
}






.view-more{
	display: flex !important;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.view-more:before{
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	margin-right: .5em;
	background: url(../images/zoom-icon01-white.svg) no-repeat;
	background-position: center center;
	background-size: auto 100%;
}

.view-more,
.portfolio date,
.portfolio ul{
	opacity: 0;
	transition: .3s opacity ease;
	transition-delay: 0s;
}

.portfolio:hover .view-more,
.portfolio:hover date,
.portfolio:hover ul{
	opacity: 1;
	transition-delay: .3s;
}







.portfolio h3 a{
	font-size: 1.7rem;
	line-height: 1.25;
	color: #434343 !important;
	margin-top: 1.8rem;
	display: block;
	width: fit-content;
}
.portfolio date{
	position: absolute;
	left: 1.8rem;
	top: 1.8rem;
	font-size: 1.4rem;
}
.portfolio ul{
	position: absolute;
	right: 1.8rem;
	bottom: 1.8rem;
}
.portfolio li{
	width: 4rem;
	height: 4rem;
	margin-left: 1.2rem;
}
.portfolio li a{
	width: 100%;
	height: 100%;
	background: #fff;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .3s transform ease;
}
.portfolio li a:hover{
	transform: scale(1.1);
}
.portfolio li a img{
	width: 33%;
	height: auto;
}



.pagination {
	margin: 10rem 0 0;
}
.pagination ul {
	display: inline-flex;
	gap: 3rem;
	padding: 4rem 0;
}
.pagination a:hover {
	color: #999;
}
.pagination li.current {
	color: #999;
}
.pagination .prev {
	position: absolute;
	top: 3.75rem;
	left: 0;
}
.pagination .next {
	position: absolute;
	top: 3.75rem;
	right: 0;
}
.pagination .prev span.material-icons {
    margin-right: -1.6rem;
}


/* +++kaihatsuページ用+++ */
.post-content h3{
	font-size: 2rem;
	line-height: 1.75;
	margin-bottom: 1em;
	font-weight: 500;
}
.post-content p:not(:last-of-type){
	margin-bottom: 1.5em;
}
.post-content>div:not(:nth-of-type(1)){
	margin-top: 3.6rem;
}
.post-content table{
	width: 100%;
	line-height: 1.75;
}
.post-content th{
	font-weight: 500;
	text-align: left;
	vertical-align: top;
	width: 30%;
	border-bottom: 1px solid #434343;
	padding: 1.8rem 1.2rem;
}
.post-content td{
	width: 70%;
	border-bottom: 1px solid #ccc;
	padding: 1.8rem 1.2rem;
}
.post-content th:nth-of-type(1){
	border-top: 1px solid #434343;
}
.post-content td:nth-of-type(1){
	border-top: 1px solid #ccc;
}
.post-content td a{
	display: block;
	width: fit-content;
	position: relative;
}
.post-content td a[target="_blank"]:after{
	content: "";
	display: inline-block;
	width: .8em;
	height: .8em;
	margin-left: .5em;
	background: url(../images/new-window-icon01.svg) no-repeat;
	background-size: 100% auto;
	background-position: center center;
}
.post-content td a:before{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #434343;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: .3s transform ease;
	transform-origin: left top;
}
.post-content td a:hover:before{
	transform-origin: right top;
	transform: scaleX(0);
}
.flex .post-content{
	width: calc(60% - 2.4rem);
	margin-left: auto;
}
.flex .post-content>h3:not(:nth-of-type(1)){
	margin-top: 3rem;
}
.post-content ul{
	line-height: 2;
}
.post-content dt:before{
	content: "";
	display: inline-block;
	width: .4rem;
	height: .4rem;
	border-radius: 50%;
	background: #434343;
	margin-right: .5em;
}
.post-content dt:after{
	content: "：";
	display: inline;
}
.post-content li:not(:last-of-type){
	margin-bottom: 1.5em;
}








@media screen and (max-width: 768px){
	.sec {
		padding-top: 4rem !important;
	}
	.portfolio-list{
		max-width: 100%;
	}
	.portfolio{	
		width: 100%;
		margin-bottom: 4.8rem;
	}
	.portfolio:not(:nth-of-type(3n)){
		margin-right: 0;
	}



	#key-visual.portfolio_pic {
		height: 28rem;
	}
	.rotate-pic {
		top: -15vw;
		min-width: 140%;
	}
	.content-pic01 {
		width: 120vw;
		top: 27%;
	}
	.content-pic02 {
		width: 50vw;
		top: 25%;
	}
	.catch-copy {
		font-size: 1.2rem;
		line-height: 1.5;
		top: 7%;
	}
	.catch-copy .large {
		font-size: 2rem;
	}

/* +++#portfolio+++ */

	.portfolio:before{
		display: none;
	}
	.portfolio h3,
	.portfolio date,
	.portfolio ul{
		opacity: 1;
	}

	.portfolio h3{
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		margin: auto;
		font-size: 1.6rem;
		color: #434343 !important;
		opacity: 1;
	}
	.portfolio h3 a{
		height: auto;
		color: #434343 !important;
		display: block;
		margin-top: .8rem;
	}
	.portfolio date{
		position: relative;
		left: auto;
		top: auto;
		font-size: 1.2rem;
		margin: 1.8rem 0 0;
		color: #434343 !important;
		display: block;
	}
	.portfolio .pic{
		height: calc(100vw / 1.25 / 3 * 2);
		overflow: hidden;
		position: relative;
	}

	.portfolio .pic>a{
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 2;
	}
	.portfolio ul{
		position: absolute;
		right: 1.2rem;
		top: calc((100vw / 1.25 / 3 * 2) - 3.6rem - 1.2rem);
		bottom: auto;
		z-index: 9;
	}
	.portfolio li{
		width: 3.6rem;
		height: 3.6rem;
		margin-left: 1.2rem;
	}


/* +++kaihatsuページ用+++ */
	.post-content h3{
		font-size: 1.8rem;
	}
	.flex .post-content{
		width: 100%;
		margin-left: 0;
	}
	.flex .post-content>h3:not(:nth-of-type(1)){
		margin-top: 2.4rem;
	}
	.post-content ul{
		line-height: 1.75;
	}
	.post-content dt:before{
		content: "";
		display: inline-block;
		width: .4rem;
		height: .4rem;
		border-radius: 50%;
		background: #434343;
		margin-right: .5em;
	}



}