@charset "utf-8";
/* ===================================================================

 file name  :voice.css
 style info :お客様の声

=================================================================== */

/* =============================

	overwrite

=============================== */
#pageheader{
	margin-bottom: 45px;
}
#pageheader .inner{
	position: relative;
	height: 130px;
}
#pageheader .inner::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: url(../images/voice/index/img_pageheader.jpg) no-repeat center bottom / cover;
}
#pageheader h1{
	position: absolute;
	top: 50%;
	left:0;
	transform: translateY(-50%);
	padding: 15px 14px;
	background: rgba(255,255,255,0.9);
}
@media screen and (min-width: 768px){
	#pageheader{
		margin-bottom: 100px;
	}
	#pageheader .inner{
		height: 354px;
	}
	#pageheader h1{
		top: 20px;
		left: calc(50% - 550px);
		transform: none;
		padding: 15px 14px;
	}
	#pageheader .inner::before{
		min-width: 1000px;
		width: 65.1%;
	}
}

body:not(.voice.detail) #main{
	padding-bottom: 0 !important;
}

/* =================================== */
/*
#interview
---------------------------*/
#interview {
	margin-bottom: 45px;
}
#interview .ttl-huki{
	position: relative;
}
#interview .ttl-huki::before{
	content: 'INTERVIEW';
	position: absolute;
	top: -0.25em;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'Montserrat', sans-serif;
	font-size: 6rem;
	font-weight: 700;
	color: #fef6f6;
	line-height: 1;
}
#interview .voice-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#interview .voice-list li {
	width: 47.826%;
	margin-bottom: 15px;
	border: 1px solid #737378;
}
#interview .voice-list li a {
	display: block;
	height: 100%;
	position: relative;
	overflow: hidden;
	text-decoration: none;
}
#interview .voice-list li a::after{
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 13px 13px;
	border-color: transparent transparent #737378 transparent;
}
#interview .voice-list li a figure {
	position: relative;
	overflow: hidden;
}
#interview .voice-list li a figure img{
	width: 100%;
}
#interview .voice-list li a h3 {
	padding: 0.1em 10px;
	background: #1b1b1b;
	color: #fff;
	font-weight: 700;
	text-align: center;
}
#interview .voice-list li a p {
	padding: 10px;
	font-size: 1.4rem;
	line-height: 1.5;
	color: #333333;
	font-weight: 700;
}
#interview .voice-list li.new a::before{
	content: 'NEW';
	position: absolute;
	right: 0;
	top: 0;
	color: #fff;
	background: #fc8c7b;
	padding: 0.05em 0.3em;
	font-size: 1.1rem;
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
	z-index: 10;
}
@media screen and (max-width: 374px){
	#interview .voice-list li a p {
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 768px){
	#interview {
		margin-bottom: 120px;
	}
	#interview .ttl-huki{
		margin-bottom: 100px;
	}
	#interview .ttl-huki::before{
		font-size: 10rem;
	}
	#interview .voice-list {
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	#interview .voice-list::after {
		content: '';
		display: block;
		width: 30%;
	}

	#interview .voice-list li {
		width: 30%;
		margin-bottom: 5%;
	}
	#interview .voice-list li a::after{
		transition: all ease .4s;
		border-width: 0 0 15px 15px;
	}
	#interview .voice-list li a:hover::after{
		right: -3px;
		bottom: -3px;
	}
	#interview .voice-list li a figure{
		background: #000;
	}
	#interview .voice-list li a figure img{
		transition: all ease .4s;
	}
	#interview .voice-list li a:hover figure img{
		opacity: 0.6;
		transform: scale(1.1);
	}
	#interview .voice-list li a p {
		padding: 15px;
		font-size: 1.6rem;
		line-height: 1.7;
	}
}



/*
#message
---------------------------*/
#message {
	padding: 80px 0 40px;
	background: #faf7e4 url(../images/voice/index/bg_message.svg) repeat-x center bottom / 375px;
}
#message .inner{
	position: relative;
	padding: 30px 15px 12px;
	background: #fff;
}
#message .inner::before{
	content: 'MESSAGE';
	position: absolute;
	top: -0.85em;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'Montserrat', sans-serif;
	font-size: 6rem;
	font-weight: 700;
	color: #ffffff;
	line-height: 1;
}
#message .ttl-huki{
	position: relative;
	margin-bottom: 26px;
}
#message .swiper-outer{
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
#message .swiper{
	padding: 12px 0 30px;
	position: relative;
}
#message .swiper-button-next,
#message .swiper-button-prev{
	width: 20px;
	height: 20px;
	background: #e4a59b;
	top: 50%;
	border-radius: 100px;
}
#message .swiper-button-prev{left: -24px;}
#message .swiper-button-next{right: -24px;}
#message .swiper-button-next:after,
#message .swiper-button-prev:after{
	font-size: 1rem;
	color: #fff;
}
#message .detail {
	max-width: 550px;
	margin-left: auto;
	margin-right: auto;
	padding: 30px;
	border: 1px solid #e4a59b;
	font-size: 1.2rem;
}
#message .detail h3 {
	text-align: center;
	margin-top: -42px;
	margin-bottom: 24px;
}
#message .detail h3 span{
	display: inline-block;
	padding: 0.4em;
	min-width: 110px;
	position: relative;
	background: #e4a59b;
	font-weight: 700;
	color: #fff;
	border-radius: 0 0 2px 2px;
}
#message .detail h3 span::before{
	content: '';
	position: absolute;
	left: -12px;
	top: 0;
	width: 0;
	height: 0;
	transform-origin: right top;
	transform: scaleX(0.8);
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color: transparent transparent #cd8175 transparent;
}
#message .detail h3 span::after{
	content: '';
	position: absolute;
	right: -12px;
	top: 0;
	width: 0;
	height: 0;
	transform-origin: left top;
	transform: scaleX(0.8);
	border-style: solid;
	border-width: 12px 0 0 12px;
	border-color: transparent transparent transparent #cd8175;
}
#message .detail p {
	line-height: 1.7;
	margin-bottom: 1.4em;
}
#message .detail figure {
	text-align: center;
}
#message .detail figure img{
	border: 1px solid #e4a59b;
}
#message .btn-pic_voice{
	margin-top: 30px;
}
@media screen and (min-width: 768px){
	#message {
		padding: 120px 0 120px;
		background-size: 440px;
	}
	#message .inner{
		padding: 40px 20px 30px;
	}
	#message .inner::before{
		top: -0.85em;
		font-size: 10rem;
	}
	#message .ttl-huki{
		margin-bottom: 50px;
	}
	#message .swiper-outer{
		max-width: 700px;
	}
	#message .swiper{
		padding: 20px 0 40px;
	}
	#message .swiper-button-next,
	#message .swiper-button-prev{
		width: 40px;
		height: 40px;
	}
	#message .swiper-button-prev{left: -54px;}
	#message .swiper-button-next{right: -54px;}
	#message .swiper-button-next:after,
	#message .swiper-button-prev:after{
		font-size: 1.6rem;
	}
	#message .detail {
		max-width: 700px;
		padding: 60px 80px;
		font-size: 1.6rem;
	}
	#message .detail h3 {
		margin-top: -80px;
		margin-bottom: 40px;
	}
	#message .detail h3 span{
		padding: 0.8em;
		min-width: 200px;
		font-size: 1.8rem;
	}
	#message .detail h3 span::before{
		left: -20px;
		border-width: 0 0 20px 20px;
	}
	#message .detail h3 span::after{
		right: -20px;
		border-width: 20px 0 0 20px;
	}
	#message .detail p {
		line-height: 2;
		margin-bottom: 1.6em;
	}
}





/*
 * 詳細ページ
 *
 * ----------------------------------------------------------- */
.post-info {
	max-width: 280px;
	margin: 0 auto 30px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.post-info p {
	width: 50%;
	padding: 0.2em 0;
	border: 1px solid #1b1b1b;
	font-weight: 700;
	text-align: center;
}
.post-info p:nth-of-type(odd){background: #1b1b1b; color: #fff;}
@media screen and (min-width: 768px){
	.post-info {
		max-width: 400px;
		margin: 0 auto 80px;
	}
	.post-info p {
		border-width: 2px;
	}
}
.ttl-huki_large span {
	position: relative;
}

/*
#post
---------------------------*/
#post{
	padding: 0 0 45px;
	position: relative;
}
#post::before{
	content: '';
	background: url(../images/voice/bg_homes.svg) repeat-x center bottom / auto 100%;
	width: 100%;
	height: 100px;
	position: absolute;
	left: 0;
	top: 10px;
	z-index: -1;
}
#post::after{
	content: '';
	width: 100%;
	height: calc(100% - 110px);
	background: #faf7e4;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}
#post section{
	margin-bottom: 16px;
	position: relative;
	background: #fff;
	padding: 6px;
	border: 1px solid #737378;
}
#post section img{
	width: 100%;
}
#post section .notes{
	padding: 20px;
}
#post section h3{
	position: absolute;
	top: 15px;
	left: -16px;
	padding: 0.2em 1em;
	display: inline-block;
	font-size: 1.3rem;
	font-weight: 700;
	background: #737378;
	color: #fff;
	z-index: 5;
}
#post section h3.static{
	margin: 10px 0 0 -22px;
	position: static;
}
#post section h3::first-letter{
	color: #e4a59b;
}
#post section h4{
	margin-bottom: 1em;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.5;
}
#post section figure{
	position: relative;
}
#post section figure figcaption{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	line-height: 1;
	padding: 0.8em;
	font-size: 1rem;
	text-align: right;
}
#post section figure figcaption span{
	display: inline-block;
	width: 50%;
}
#post section .block-notes{
	border: 1px solid #e4a59b;
	background: #fef6f6;
	padding: 20px;
}
#post section .block-notes h5{

}
#post section .list{
	position: relative;
	counter-reset: li;
	padding-left: 1.5em;
}
#post section .list li:not(:last-child){
	margin-bottom: 0.5em;
}
#post section .list li:before {
	content: counter(li) ". ";
	counter-increment: li;
	position: absolute;
	left: 0;
	color: #e4a59b;
	font-weight: bold;
}
#post section .frame{
	border: 5px solid #fef6f6;
	padding: 5px;
}
#post section .has-uline{
	border-bottom: 1px solid #c7c7c7;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
#post section .popup a{
	position: relative;
}
#post section .popup a::after{
	content: '';
	background: url(../images/works/ico_zoom.svg) no-repeat center center / contain;
	width: 25px;
	height: 25px;
	position: absolute;
	right: 0;
	bottom: 0;
}
.btn-pic_estimate{
	margin-top: 45px;
}
@media screen and (max-width: 374px){
	#post section .notes{
		padding: 20px 10px;
	}
	#post section .notes h4{
		font-size: 1.6rem;
	}
}
@media screen and (min-width: 768px){
	#post{
		padding: 0 0 120px;
	}
	#post::before{
		height: 132px;
		top: 10px;
	}
	#post::after{
		height: calc(100% - 142px);
	}
	#post section{
		margin-bottom: 30px;
		padding: 20px;
		border-width: 2px;
	}
	#post section .notes{
		padding: 15px 20px 20px;
	}
	#post section h3{
		top: 30px;
		left: -30px;
		font-size: 1.8rem;
	}
	#post section h3.static{
		margin: 10px 0 0 -50px;
	}
	#post section h3.pc-static{
		position: static;
		margin: 10px 0 0 -50px;
	}
	#post section h4{
		font-size: 2.2rem;
		line-height: 1.7;
	}
	#post section figure figcaption{
		font-size: 1.1rem;
	}
	#post section .frame{
		border-width: 8px;
		padding: 10px;
	}
	#post section .has-uline_change-rline{
		border-bottom: none;
		border-right: 1px solid #c7c7c7;
		padding-bottom: 0;
		margin-bottom: 0;
		padding-right: 15px;
		margin-right: 15px;
	}
	#post section .popup a::after{
		width: 34px;
		height: 34px;
		transition: transform ease .3s;
	}
	#post section .popup a:hover{
		opacity: 0.6;
	}
	#post section .popup a:hover::after{
		transform: rotate(180deg);
	}
	.btn-pic_estimate{
		margin-top: 80px;
	}

	#post .row{
		display: flex !important;
		justify-content: space-between;
		align-items: flex-start;
	}
	#post section .notes .row{
		margin-top: 30px;
	}

	

}




/*
#post section#staff
---------------------------*/
#post section#staff {
	margin-top: 45px;
	padding-top: 35px;
	position: relative;
	border-color:#e4a59b;
}
#post section#staff h4 {
	padding: 0.4em 1em;
	position: absolute;
	top: -1.2em;
	left: 50%;
	transform: translateX(-50%);
	background: #e4a59b;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
	border-radius: 3px;
}
#post section#staff h4::after{
	content: '';
	position: absolute;
	bottom: -5px;
	left: calc(50% - 5px);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 5px 0 5px;
	border-color: #e4a49b transparent transparent transparent;
}
#post section#staff figure {
	width: 138px;
	margin: 0 auto 1em;
}
#post section#staff .name {
	text-align: center;
	font-weight: 700;
	font-size: 1.4rem;
}
#post section#staff .name small {
	display: block;
	font-weight: 500;
	font-size: 1.2rem;
}
#post section#staff .comment {
	padding: 10px 20px 20px;
}
#post section#staff .comment + .comment {
	padding-top: 0;
}
@media screen and (max-width: 374px){
	#post section#staff .comment {
		padding: 10px;
	}
}
@media screen and (min-width: 768px){
	#post section#staff {
		max-width: 900px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 90px;
		padding-top: 50px;
	}
	#post section#staff h4 {
		font-size: 1.8rem;
	}
	#post section#staff h4::after{
		bottom: -10px;
		left: calc(50% - 10px);
		border-width: 10px 10px 0 10px;
	}
	#post section#staff figure {
		width: 180px;
	}
	#post section#staff .name {
		font-size: 1.8rem;
	}
	#post section#staff .name small {
		font-size: 1.6rem;
	}
}


/*
.page-links
---------------------------*/
.page-links {
	margin-top: 35px;
}
.page-links ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.page-links ul::after{
	content: '';
	width: 32%;
	display: block;
}
.page-links ul li {
	width: 32%;
	margin-bottom: 9px;
}
.page-links ul li a {
	position: relative;
	display: block;
	padding: 0.3em 0;
	color: #e4a59b;
	text-decoration: none;
	font-size: 1.3rem;
	font-weight: 700;
	text-align: center;
	border: 2px solid #e4a59b;
}
.page-links ul li a::after{
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 6px 6px;
	border-color: transparent transparent #e4a59b transparent;
}
.page-links ul li.current a{
	background: #e4a59b;
	color: #fff;
}
.page-links ul li.current a::after{
	right: 1px;
	bottom: 1px;
	border-color: transparent transparent #fff transparent;
}
@media screen and (max-width: 374px){
	.page-links ul li a {
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 768px){
	.page-links {
		margin-top: 80px;
	}
	.page-links ul li {
		margin-bottom: 22px;
	}
	.page-links ul li a {
		padding: 0.5em 0;
		font-size: 1.7rem;
	}
	.page-links ul li a:hover{
		background: #e4a59b;
		color: #fff;
	}
	.page-links ul li a::after{
		transition: all ease .4s;
		border-width: 0 0 12px 12px;
	}
	.page-links ul li a:hover::after{
		right: 2px;
		bottom: 2px;
		border-color: transparent transparent #fff transparent;
	}
}
