@charset "utf-8";

.contents {
	padding: 4rem 0
}

main .lineSvg {
	top: 180px;
}

.contents img {
	width: 100%;
}

.contents h3 {
	font-size: 2.4rem;
	margin: 0 0 3rem;
}

.contents figcaption {
	font-size: 1.2rem;
	margin-top: 1rem;
}

.contents .btnDetail {
	color: #9e1f00;
	text-decoration: underline;
	transition: all 0.3s;
}

.contents .btnDetail:hover {
	text-decoration: none;
}

.box {
	margin: 0 0 10rem;
}

.box p {
	line-height: 2;
}

.box > figure {
	margin: 0 0 4rem;
}

.box .imgCol {
	margin: 0 0 4rem;
}

.box .imgCol li {
	width: 48%;
}

.box p {
	margin: 0 0 4rem;
}

.box .boxImg {
	order: 2;
	width: 48%;
}

.box .boxTxt {
	order: 1;
	width: 50%;
}

.fImg {
	margin: 0 0 6rem;
}

.grTit .flexBox {
	justify-content: flex-start;
	line-height: 1;
}

.grTit .tags li {
	font-size: 1.4rem;
	display: inline-block;
	margin: 0 1rem 0 0;
}

.grTit .tags li a {
	text-decoration: underline;
}

.grTit .tags li a:hover {
	text-decoration: none;
}

.grTit .tit {
	font-size: 2.8rem;
	margin: 2rem 0;
}

.grAnchor {
	display: flex;
	border: 1px solid #000;
	padding: 4rem 3rem;
	margin: 8rem 0;
}

.grAnchor h4 {	
	border-right: 1px solid #000;
	line-height: 1;
	font-size: 2rem;
	padding-right: 60px;
}

.grAnchor ul {
	width: calc(100% - 100px);
	padding-left: 60px;
}

.grAnchor .company,
.grAnchor .ceo {
	font-size: min(4.5vw, 1.8rem);
	font-weight: bold;
}

.grAnchor .ceo {
	margin: 0 0 1rem;
}

.grAnchor .website {
	margin: 1rem 0 0;
	transition: 0.3s;
}

.grAnchor .website a {
	text-decoration: underline;
}

.grAnchor .website a::after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
	width: 15px;
	height: 15px;
	background: url(../img/common/ic-external-link.svg) center center / 100% 100%;
	line-height: 1;
}

.grAnchor .website a:hover {
	text-decoration: none;
}


@media (max-width: 768px) {
	.fImg {
		margin: 0 0 2rem;
	}

	.grTit .tags li {
		font-size: min(4vw, 1.4rem);
	}

	.grTit .date {
		width: 100%;
		margin: 0 0 1rem;
		padding: 0;
		border: 0;
	}

	.grTit .tit {
		font-size: min(5.5vw, 2.8rem);
	}

	.grAnchor {
		display: block;
		padding: 3rem;
		margin: 4rem 0;
	}

	.grAnchor h4 {
		width: 100%;
		padding: 0;
		border: 0;
		width: 100%;
		margin: 0 0 1rem;
	}

	.grAnchor ul {
		width: 100%;
		padding: 0;
	}

	.contents h3 {
		font-size: min(5vw, 2.4rem);
		margin-bottom: 2rem;
	}

	.box {
		margin: 0 0 6rem;
	}

	.box p {
		margin: 0 0 2rem;
		line-height: 1.6;
	}

	.box .boxImg {
		order: 1;
		width: 100%;
		margin: 0 0 2rem;
	}

	.box .boxTxt {
		order: 2;
		width: 100%;
	}

	.box > figure {
		margin: 0 0 2rem;
	}
}

/* relate */
.relate {
	border-top: 1px solid #000;
}

.relate .relateTit {
	font-size: 5rem;
	padding: 4rem 0;
	margin: 0;
}

.relate .relateList {
	justify-content: flex-start;
}

.relate .relateList .item {
	width: 30%;
	margin: 0 5% 5% 0;
}

.relate .relateList .item:nth-child(3n) {
	margin-right: 0;
}

.relate .relateList .item {
	display: block;
}

.relate .relateList .item a {
	display: block;
}

.relate .relateList .item figure {
	overflow: hidden;
	margin: 0 0 1rem;
}

.relate .relateList .item img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	object-position: center;
	transition: all 0.3s;
}

.relate .relateList .itemTit {
	font-size: 2rem;
	position: relative;	
	padding: 0 60px 0 0;
	margin: 0 0 1rem;
}


.relate .relateList .itemTit::after {
	position: absolute;
	top: 0;
	right: 0;
	content: '';
	width: 30px;
	height: 30px;
	display: inline-block;
	vertical-align: middle;
	background: url(../img/common/arrow-right-long.svg) no-repeat center center / 20px auto;
	border: 1px solid #000;
	border-radius: 50%;
}

.relate .relateList .itemDesc {
	margin: 0 0 1rem;
}

.relate .relateList .item a:hover img {
	transform: scale(1.1);
}

.relate .relateList .item a:hover .itemTit::after {
	content: "";	
	color: #fff;
	background-color: #000;
	background-image: url(../img/common/arrow-right-long-white.svg);
}

@media (max-width: 768px) {
	.relate .relateTit {
		font-size: min(7vw, 5rem);
	}

	.relate .relateList .itemTit {
		padding: 0 30px 0 0;
		font-size: min(4vw, 2rem);
	}

	.relate .relateList .itemDesc {
		margin: 0;
	}

	.relate .relateList .itemTit::after {
		width: 25px;
		height: 25px;
		background-size: 15px auto;
	}

	.relate .relateList .item img {
		height: 32vw;
	}
}