@charset "utf-8";

/* -----------------------------
	インタビュー一覧
-------------------------------- */
.intro-area {
	background: url("../img/bg-interview.png") center/cover, no-repeat #0049A1;
	background-blend-mode: multiply;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.intro-area .txt-wrap {
	width: 70%;
	padding-left: calc( ( 100% - 1200px ) / 2 );
	color: #fff;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.intro-area .laurel-group {
	margin-right: 30px;
}

.intro-area .laurel-list {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 80px;
}

.intro-area .txt-wrap .intro-catch {
	font-size: 2.8rem;
	margin: 0 0 20px;
	font-weight: 600;
}

.intro-area .bg-wrap {
	width: 30%;
}

.list-area {
	padding: 100px 0;
	background: #F2FBFE;
}

.list-area .interview-list {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 40px;
}

.list-area .interview-list li {
	width: calc( ( 100% - 40px ) / 2 ) ;
	box-shadow: 0 5px 30px rgba(0,0,0,.1);
}

.list-area .interview-list li a {
	display: block;
	width: 100%;
	text-align: center;
	background: #fff;
}

.list-area .interview-list .img-wrap {
	width: 100%;
	height: 290px;
	overflow: hidden;
}

.list-area .interview-list .img-wrap img {
	width: 100%;
	object-fit: cover;
	transition: all.4s;
	transform: scale(1);
}

.list-area .interview-list .logo-wrap {
	display: inline-block;
	padding: 15px 30px;
	background: #fff;
	margin-top: -40px;
	position: relative;
	z-index: 1;
}

.list-area .interview-list .logo-wrap img {
	max-height: 50px;
	width: initial;
	object-fit: cover;
}

.list-area .interview-list .txt-wrap {
	padding: 10px 30px 30px;
	text-align: left;
}

.list-area .interview-list li .interview-catch {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
}

.list-area .interview-list li .interview-catch .bg {
	background: #0CB6E4;
	padding: 5px;
	line-height: 1.4;
	display: inline-block;
	color: #fff;
}

.list-area .interview-list li .company-name {
	color: #aaa;
	font-size: 1.6rem;
	margin: 5px 0 0;
}

@media (hover: hover) and (pointer: fine) {
	.list-area .interview-list li a:hover .img-wrap img {
		transform: scale(1.05);
	}
}

@media screen and (max-width: 768px){
	/*---------- intro-area ----------*/
	.intro-area {
		flex-wrap: wrap;
	}
	
	.intro-area .txt-wrap {
		width: 100%;
		padding-left: 0;
		padding: 40px 20px;
		order: 2;
		flex-wrap: wrap;
		justify-content: center;
		gap: 15px;
	}
	
	.intro-area .laurel-group {
		margin-right: 0;
	}
	
	.intro-area .txt-wrap .intro-catch {
		font-size: 2.4rem;
		line-height: 1.6;
		text-align: center;
		margin: 0 0 10px;
	}
	
	.intro-area .bg-wrap {
		width: 100%;
		order: 1;
	}
	
	.intro-area .laurel-list li .genre {
		font-size: 2.0rem;
	}
	
	.intro-area .laurel-list li .num {
		font-size: 5.0rem;
	}
	
	.intro-area .laurel-list li::before,
	.intro-area .laurel-list li::after {
		width: 18px;
	}
	
	.intro-area .laurel-list li::before {
		left: -23px;
	}
	
	.intro-area .laurel-list li::after {
		right: -23px;
	}
	
	.intro-area .laurel.kome {
		font-size: 1.0rem;
	}
	
	/*---------- list-area ----------*/
	.list-area {
		padding: 40px 0;
	}
	
	.list-area .interview-list {
		gap: 20px;
	}
	
	.list-area .interview-list li {
		width: 100%;
	}
	
	.list-area .interview-list .img-wrap {
		width: 100%;
		height: 50vw;
	}
	
	.list-area .interview-list .logo-wrap {
		padding: 15px 20px;
		margin-top: -30px;
	}
	
	.list-area .interview-list .logo-wrap img {
		max-height: 36px;
		max-width: 200px;
	}
	
	.list-area .interview-list .txt-wrap {
		padding: 0 20px 20px;
	}
	
	.list-area .interview-list li .interview-catch {
		font-size: 1.9rem;
	}
	
	.list-area .interview-list li .company-name {
		font-size: 1.3rem;
	}
}

/* -----------------------------
	インタビュー詳細
-------------------------------- */

/*----- int-client-area -----*/
.int-client-area {
	padding: 70px 0;
}

.int-client-area .inner {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

.int-client-txt-wrap {
	padding-right: 60px;
}

.int-client-ttl {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
	color: var(--blue);
	position: relative;
	padding: 0 0 5px;
	border-bottom: 1px solid var(--blue);
}

.int-client-ttl::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -2px;
	left: 50%;
	transform: translateX(-50%);
	background: #fff;
	z-index: 1;
	width: 15px;
	height: 2px;
}

.int-client-ttl::after {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -13px;
	left: 49%;
	transform: translateX(-50%) rotate(-50deg);
	background: var(--blue);
	z-index: 1;
	width: 1px;
	height: 15px;
}

.int-client-logo {
	margin: 20px 0 0;
	text-align: center;
}

.int-client-logo img {
	width: initial;
	object-fit: cover;
	width: revert-layer;
}

.int-client-name {
	margin: 20px 0 0;
	line-height: 1.5;
	font-weight: bold;
}

.int-client-img-wrap {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 30px;
	flex-wrap: wrap;
}

.int-client-img {
	text-align: center;
	width: 260px;
	margin: 0px 10px;
}

.int-client-img.full {
	width: 100%;
}

.int-client-position {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5;
	margin: 15px 0 0;
	display: inline-block;
}

@media screen and (max-width: 768px){
	.int-client-area {
		padding: 30px 0;
	}
	
	.int-client-area .inner {
		flex-wrap: wrap;
		justify-content: center;
	}
	
	.int-client-txt-wrap {
		padding-right: 0;
		text-align: center;
	}
	
	.int-client-img-wrap {
		gap: 15px;
		width: 100%;
		margin: 20px 0 0;
		justify-content: center;
	}
	
	.int-client-img {
		text-align: center;
		width: calc( ( 100% - 15px ) / 2 );
		max-width: 280px;
	}
	.int-client-img.wide {
		width: 100%;
	}
	
	.int-client-img.full {
		max-width: initial;
	}
	
	.int-client-name {
		margin: 15px 0 0;
		font-size: 1.5rem;
	}
	
	.int-client-position {
		font-size: 1.4rem;
		margin: 10px 0 0;
		font-weight: 500;
	}
	
}

/*----- int-outline-area -----*/
.int-outline-area {
	padding: 80px 0;
	background: url("../img/bg-interview.png") center/cover, no-repeat, #0049A1;
	background-blend-mode: multiply;
}

.int-outline-txt-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}

.int-outline-catch {
	font-size: 3.2rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.6;
	flex-shrink: 0;
}

.int-outline-catch .blue-bg {
	background: var(--skyblue);
	display: inline-block;
	padding: 0 5px;
}

.int-outline-txt {
	color: #fff;
	line-height: 2.0;
}

.int-outline-list {
	display: flex;
	gap: 30px;
	margin: 60px 0 0;
}

.int-outline-list li {
	background: #fff;
	padding: 50px 20px 40px;
	width: calc( ( 100% - 60px ) / 3 );
	position: relative;
}

.int-outline-list li:has( + li )::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: -42px;
	width: 52px;
	height: 1px;
	background: var(--skyblue);
	z-index: 2;
	transform: translateY(-50%);
}

.int-outline-list li:has( + li )::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: -47px;
	width: 1px;
	height: 12px;
	transform:  rotate(-40deg) translateY(-100%);
	background: var(--skyblue);
	z-index: 2;
}

.int-outline-list .problem {
	--main: #9F9F9F;
}

.int-outline-list .solution {
	--main: #0457A7;
}

.int-outline-list .effects {
	--main: #EE6F54;
}

.int-outline-list-icon {
	width: 80px;
	height: 80px;
	background: #fff;
	border-radius: 40px;
	position: absolute;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
}

.int-outline-list-icon img {
	width: 40px;
	height: initial;
	object-fit: cover;
}

.int-outline-list-ttl {
	text-align: center;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.5;
}

.int-outline-list-en {
	font-size: 1.3rem;
	text-align: center;
	display: block;
	line-height: 1.5;
	margin: 0 0 15px;
	color: var(--main);
	font-weight: 500;
}

.int-outline-list-txt {
	letter-spacing: 0;
	position: relative;
	padding-left: 20px;
}

.int-outline-list-txt::before {
	content: "\f00c";
	display: inline-block;
	position: absolute;
	top: 2px;
	left: 0;
	font-size: 1.5rem;
	color: var(--main);
}

.int-outline-list-txt:has( + p ) {
	margin: 0 0 10px;
}

@media screen and (max-width: 768px){
	.int-outline-area {
		padding: 40px 0;
	}
	
	.int-outline-txt-wrap {
		flex-wrap: wrap;
		gap: 0;
	}
	
	.int-outline-catch {
		font-size: 2.4rem;
		flex-shrink: initial;
	}
	
	.int-outline-txt {
		margin: 20px 0 0;
	}
	
	.int-outline-list {
		flex-wrap: wrap;
		gap: 20px;
		margin: 30px 0 0;
	}
	
	.int-outline-list li {
		padding: 20px;
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px 0;
	}
	
	.int-outline-list-icon {
		width: 40px;
		height: 40px;
		border-radius: 0;
		position: relative;
		top: initial;
		left: initial;
		transform: none;
	}
	
	.int-outline-list-ttl {
		width: calc( 100% - 40px );
		text-align: left;
		padding-left: 20px;
	}
	
	.int-outline-list-en {
		text-align: left;
		margin: 0;
	}
	
	.int-outline-list-txt:has( + p ) {
		margin: 0;
	}
	
	.int-outline-list-txt {
		font-size: 1.5rem;
		line-height: 1.6;
	}
	
	.int-outline-list li:has( + li )::before {
		top: initial;
		bottom: -30px;
		right: initial;
		left: 50%;
		width: 1px;
		height: 40px;
		transform: translateX(-50%);
	}

	.int-outline-list li:has( + li )::after {
		top: initial;
		bottom: -25px;
		right: initial;
		left: 52%;
		width: 13px;
		height: 1px;
		transform:  translateX(-50%) rotate(-40deg);
	}
}

/*----- int-index-area -----*/
.int-index-area {
	padding: 80px 0;
}

.int-index-box {
	border: 1px solid var(--navy);
	position: relative;
	padding: 60px 50px 50px;
}

.int-index-ttl {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.5;
	color: var(--navy);
	position: absolute;
	left: 40px;
	top: -25px;
	display: inline-block;
	background: #fff;
	padding: 0 10px;
	letter-spacing: .2rem;
}

.int-index-list {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 100%;
	gap: 25px;
}

.int-index-list li {
	width: calc( ( 100% - 50px ) / 3 );
}

.int-index-list li a {
	color: var(--blue);
	font-weight: bold;
	display: inline-block;
	padding-left: 16px;
	position: relative;
}

.int-index-list li a::before {
	content: "\f105";
	display: inline-block;
	top: 1px;
	left: 0;
	position: absolute;
	font-size: 1.5rem;
}

@media (hover: hover) and (pointer: fine) {
	.int-index-list li a:hover {
		opacity: .7;
	}
}

@media screen and (max-width: 768px){
	.int-index-area {
		padding: 40px 0 30px;
	}
	
	.int-index-box {
		padding: 30px 20px;
	}
	
	.int-index-ttl {
		font-size: 2.8rem;
		top: -22px;
		left: 20px;
	}
	
	.int-index-list {
		gap: 0;
	}
	
	.int-index-list li {
		line-height: 1.5;
		width: 100%;
	}
	
	.int-index-list li a{
		padding: 8px 0 8px 16px;
	}
	
	.int-index-list li a::before {
		top: 13px;
	}
}

/*----- int-detail-area -----*/
.int-detail-area {
	padding: 100px 0;
	background: #F2FBFE;
}

.int-detail-block {
	background: #fff;
	padding: 80px;
	position: relative;
}

.int-detail-block:not(:last-child) {
	margin: 0 0 80px;
}

.int-detail-q {
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.5;
	color: var(--navy);
	text-align: center;
	padding: 12px 10px;
	border-top: 1px solid var(--navy);
	border-bottom: 1px solid var(--navy);
	display: inline-block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -25px;
	white-space: nowrap;
}

.int-detail-q::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 16px;
	height: 16px;
	background: #fff;
}

.int-detail-q::after {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%) rotate(-50deg);
	width: 1px;
	height: 18px;
	background: var(--navy);
}

.int-detail-q-en {
	color: var(--blue);
	display: inline-block;
	margin-right: 20px;
}

.int-detail-a {
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.5;
	color: var(--orange);
	text-align: center;
	margin: 0 0 40px;
}

.int-detail-talk-box {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 30px;
}

.int-detail-talk-box:has( + * ) {
	margin: 0 0 40px;
}

.int-detail-talk-thumb {
	width: 70px;
	text-align: center;
}

.int-detail-talk-thumb img {
	width: 100%;
	height: initial;
	border-radius: 50px;
}

.int-detail-talk-name {
	font-size: 1.3rem;
	letter-spacing: 0;
}

.int-detail-talk-txt-wrap {
	width: calc( 100% - 100px );
	background: #f8f8f8;
	padding: 30px;
	position: relative;
}

.int-detail-talk-txt-wrap::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 30px;
	left: -15px;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-right: 15px solid #f8f8f8;
	border-left: 0;
}

.int-detail-talk-txt {
	line-height: 2;
}

.int-detail-talk-txt:has( + p ) {
	margin: 0 0 10px;
}

.int-detail-staff-txt {
	line-height: 1.8;
}

.int-detail-staff-txt:has( + div ) {
	margin: 0 0 40px;
}

@media screen and (max-width: 768px){
	.int-detail-area {
		padding: 30px 0;
	}
	
	.int-detail-block {
		padding: 20px 15px;
	}
	
	.int-detail-block:not(:last-child) {
		margin: 0 0 20px;
	}
	
	.int-detail-q {
		font-size: 1.8rem;
		padding: 10px;
		width: 100%;
		white-space: pre-wrap;
		position: relative;
		left: initial;
		top: initial;
		transform: none;
		margin: 0 0 20px;
	}
	
	.int-detail-a {
		font-size: 2.1rem;
		margin: 0 0 20px;
	}
	
	.int-detail-talk-box {
		gap: 15px;
	}
	
	.int-detail-talk-box:has( + * ) {
		margin: 0 0 20px;
	}
	
	.int-detail-talk-txt-wrap {
		width: calc( 100% - 75px );
		background: #f8f8f8;
		padding: 15px;
	}
	
	.int-detail-talk-txt-wrap::before {
		top: 20px;
		border-right: 10px solid #f8f8f8;
		left: -10px;
	}
	
	.int-detail-talk-thumb {
		width: 60px;
	}
	
	.int-detail-talk-txt {
		line-height: 1.8;
	}
}

/*----- int-designers-area -----*/
.int-designers-area {
	padding: 130px 0 0;
}

.int-designers-area .inner {
	border-bottom: 1px solid #ddd;
	position: relative;
}

.int-designers-area .inner::after {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 80px;
	right: 0;
	background: url("../img/ill-reputation01.png") center/cover, no-repeat;
	width: 170px;
	height: initial;
	aspect-ratio: 600 / 572;
}

.int-designers-box {
	background: #FDFAEF;
	border-radius: 10px;
	padding: 40px;
	margin: 0 0 80px;
	position: relative;
	width: calc( 100% - 180px);
}

.int-designers-box::before {
	content: "";
	display: inline-block;
	position: absolute;
	right: -20px;
	bottom: 50px;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-left: 20px solid #FDFAEF;
	border-right: 0;
}

.int-designers-ttl {
	font-size: 2.1rem;
	font-weight: bold;
	line-height: 1.5;
	color: var(--orange);
	padding: 0 0 5px;
	border-bottom: 1px solid var(--orange);
	display: inline-block;
	position: absolute;
	top: -15px;
	left: 40px;
	z-index: 2;
}
.int-designers-ttl span {
	font-size: 1.6rem;
}

.int-designers-ttl-en {
	color: #FDFAEF;
	font-size: 8.0rem;
	font-weight: 800;
	position: absolute;
	top: -70px;
	left: 20px;
}

.int-designers-txt {
	line-height: 2.0;
}

.int-designers-txt:not(:last-child) {
	margin: 0 0 10px;
}

@media screen and (max-width: 768px){
	.int-designers-area {
		padding: 100px 0 0;
	}
	
	.int-designers-area .inner::after {
		content: "";
		display: inline-block;
		position: absolute;
		bottom: initial;
		top: -70px;
		right: 10px;
		width: 26%;
		height: initial;
	}
	
	.int-designers-box {
		padding: 40px 20px 30px;
		margin: 0 0 30px;
		width: 100%;
	}
	.int-designers-box.type2 {
		padding: 70px 20px 30px;
	}
	
	.int-designers-ttl {
		font-size: 2.0rem;
		top: -10px;
		left: 20px;
	}
	
	.int-designers-ttl-en {
		font-size: 3.6rem;
		top: -32px;
		left: 20px;
		white-space: nowrap;
	}
	
	.int-designers-txt {
		line-height: 1.8;
	}
}

/*----- int-profile-area -----*/
.int-profile-area {
	padding: 100px 0;
	position: relative;
}

.int-profile-area::before {
	content: "";
	display: block;
	width: 100%;
	height: 430px;
	background: #EEF0EF;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.int-profile-area .inner {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 60px;
}

.int-profile-logo {
	width: revert-layer;
	flex-shrink: 0;
	max-width: 240px;
}

.int-profile-txt-wrap {
	width: calc( 100% - 300px );
}

.int-profile-catch {
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.5;
	margin: 0 0 20px;
}

.int-profile-company {
	font-size: 1.8rem;
	font-weight: bold;
	margin: 0 0 5px;
}

.int-profile-txt {
	margin: 0 0 20px;
	line-height: 1.8;
}

.int-profile-site {
	line-height: 1.6;
}

.int-profile-site a {
	color: var(--blue);
	font-weight: bold;
	position: relative;
}

.int-profile-site a::after {
	content: "\f08e";
	position: absolute;
	top: 2px;
	right: -20px;
}

.int-profile-thumb-pc {
	width: 500px;
}

.int-profile-thumb-sp {
	width: 350px;
}

.int-profile-area .btn-more {
	margin: 0;
}

@media (hover: hover) and (pointer: fine) {
	.int-profile-site a:hover {
		opacity: .7;
	}
}

@media screen and (max-width: 768px){
	.int-profile-area {
		padding: 30px 0;
	}
	
	.int-profile-area::before {
		height: 220px;
	}
	
	.int-profile-area .inner {
		gap: 20px;
	}
	
	.int-profile-logo {
		max-width: 160px;
	}
	
	.int-profile-txt-wrap {
		width: 100%;
	}
	
	.int-profile-catch {
		font-size: 1.8rem;
		margin: 0 0 15px;
		text-align: center;
	}
	
	.int-profile-company {
		text-align: center;
		margin: 0 0 10px;
	}
	
	.int-profile-txt {
		margin: 0 0 10px;
	}
	
	.int-profile-thumb-pc {
		width: 52%;
	}
	
	.int-profile-thumb-sp {
		width: 36%;
	}
	
	.int-profile-area .btn-more {
		width: 100%;
		max-width: 400px;
	}
	
	.int-profile-area .btn-more a {
		padding: 12px 40px;
		line-height: 1.5;
		font-size: 1.5rem;
		width: 100%;
	}
	
}

#img_wide {
	width: 500px;
}

@media screen and (max-width: 768px){
	#img_wide {
		width: 200px;
	}
}