@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 .container > p {
	line-height: 2;
}

.box {
	margin: 0 0 10rem;
}

.box > figure {
	margin: 0 0 4rem;
}

.box .imgCol {
	margin: 0 0 4rem;
}

.box .imgCol li {
	width: 48%;
}

.box p {
	margin: 0 0 4rem;
	line-height: 2;
}

.box > .flexBox {
	margin: 0 0 4rem;
}

.box .boxImg {
	order: 2;
	width: 48%;
}

.box .boxTxt {
	order: 1;
	width: 50%;
}

.box .imgLeft .boxImg {
	order: 1;
}

.box .imgLeft .boxTxt {
	order: 2;
}

.box a {
	color: #9e1f00;
	text-decoration: underline;
	transition: all 0.3s;
}

.box a[target="_blank"]::after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    width: 15px;
    height: 15px;
    background: url(../img/common/ic-external-link-red.svg) center center / 100% 100%;
    line-height: 1;
}

.box a:hover {
	text-decoration: none;
}


.fImg {
	margin: 0 0 6rem;
}

.grTit .flexBox {
	justify-content: flex-start;
	line-height: 1;
}

.grTit .date {
	font-size: 1.4rem;
	border-right: 1px solid #000;
	padding-right: 20px;
	margin-right: 20px;
}

.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 {
	text-align: left;
	border-right: 1px solid #000;
	line-height: 1;
	font-size: 2rem;
	padding-right: 80px;
}

.grAnchor ul {
	padding-left: 80px;	
}

.grAnchor ul li:not(:last-child) {
	margin: 0 0 2rem;
}

.grAnchor a {
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	text-decoration: underline;
	transition: 0.3s;
}

.grAnchor a i {
	display: inline-block;
	vertical-align: middle;
	margin-left: 2rem;
	width: 30px;
	height: 30px;
	background: #ffffff url(../img/common/arrow-down-long.svg) no-repeat center center / auto 15px;
	border: 1px solid #000;
	border-radius: 50%;
	transition: all 0.3s;
}

.grAnchor a:hover {
	text-decoration: none;
	color: #9e1f00;
}

.grAnchor a:hover i {
	background: #000;
	background-image: url(../img/common/arrow-down-long-white.svg);
}

@media (max-width: 768px) {
	.contents .container > p {
		line-height: 1.6;
	}

	.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;
		font-size: min(4vw, 1.4rem);
	}

	.grTit .tit {
		font-size: min(5.5vw, 2.8rem);
	}

	.grAnchor {
		display: block;
		margin: 4rem 0;
	}

	.grAnchor li:not(:last-child) {
		margin: 0 0 1rem;
	}

	.grAnchor a {
		position: relative;
		font-size: 1.6rem;
		padding: 0 40px 0 0;
	}

	.grAnchor a i {
		margin: 0;
		position: absolute;
		top: 0;
		right: 0;
		width: 25px;
		height: 25px;
	}

	.grAnchor h4 {
		width: 100%;
		padding: 0;
		border: 0;
		width: 100%;
		margin: 0 0 2rem
	}

	.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 !important;
		width: 100%;
		margin: 0 0 2rem;
	}

	.box .boxTxt {
		order: 2 !important;
		width: 100%;
	}

	.box .boxTxt p:last-child {
		margin: 0;
	}

	.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 2rem;
}

.relate .relateList .item img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	object-position: center;
	transition: all 0.3s;
}

.relate .relateList .itemTit {
	font-weight: 400;
	margin: 0 0 2rem;
	position: relative;	
	padding: 0 60px 0 0;
	line-height: 1.6;
}

.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 .item a:hover img {
	transform: scale(1.1);
}

.relate .relateList .item a:hover {
	color: #9e1f00;
}

.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;
		margin: 0;
	}

	.relate .relateList .itemTit::after {
		width: 25px;
		height: 25px;
		background-size: 15px auto;
	}

	.relate .relateList .item figure {
		margin: 0 0 1rem;
	}

	.relate .relateList .item img {
		height: 32vw;
	}
}