@charset "utf-8";

/* ---------------------------------------- 
 - mainTitle 
---------------------------------------- */
#mainTitle{
	position:relative;
    background: url(../images/common/bg_pattern.png);
}
#mainTitle .mainTitle-inner {
	position:relative;
	width:86%;
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
	padding: 75px 0 0;
}
#mainTitle .lead {
    font-size: 3.6rem;
	font-weight: bold;
	margin-bottom: 30px;
}
#mainTitle .lead .marker {
    background: linear-gradient(transparent 75%, #f7d60f 75%);
}
#mainTitle .visual {
	position:relative;
	width:100%;
	max-width: 382px;
	margin: 0 auto;
	text-align: center;
}
@media screen and (max-width: 768px) {
	#mainTitle .mainTitle-inner {
		padding-top: 40px;
	}
	#mainTitle .lead {
		font-size: clamp(2.4rem, 6.8vw, 3.6rem);
		margin-bottom: 15px;
	}
}

/* ---------------------------------------- 
 - topic-box 
---------------------------------------- */
.topic-box{
	position:relative;
}
.topic-box:nth-child(n+2):nth-child(odd) {
  background-color: #edf2f4;
}
.topic-box .topic-box-inner {
	position:relative;
	width:86%;
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
	padding: 75px 0 100px;
}
.topic-box .ttl {
    font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 50px;
}
.topic-box .ttl > .underline {
	border-bottom: solid 2px #d90429;
}
.topic-box .catch {
    font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 35px;
}
.topic-box .lead {
	text-align: left;
	margin-bottom: 50px;
}
.topic-box .visual {
	width: 100%;
	max-width: 600px;
	margin: 0 auto 50px;
}
.topic-box .visual img {
	border:solid 1px #272a44;
}
.topic-box .visual-box {
	width: 100%;
	max-width: 600px;
	margin: 0 auto 60px;
}
.topic-box .visual-box .visual {
	margin-bottom: 30px;
}
.topic-box .visual-box .txt {
	font-size: 1.6rem;
	text-align: left;
}
.topic-box .btn-box {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
}
.topic-box .btn-box .btn {
	margin-bottom: 20px;
}
.topic-box .btn-box .btn:last-child {
	margin-bottom: 0;
}
.topic-box .btn-box .btn a {
	display: block;
	background: #272a44;
	font-size: 2.0rem;
	font-weight: bold;
	color:#fff;
	text-decoration: none;
    transition: opacity .3s;
	padding: 0.25em;
}
.topic-box .btn-box .btn a:hover{
	opacity: 0.6;
}
.topic-box .lead:last-child,
.topic-box .visual:last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 768px) {
	.topic-box .topic-box-inner {
		padding: 40px 0 60px;
	}
	.topic-box .ttl {
		font-size: clamp(1.6rem, 5.8vw, 2.4rem);
		margin-bottom: 35px;
	}
	.topic-box .catch {
		font-size: clamp(2.2rem, 6.4vw, 2.8rem);
		margin-bottom: 35px;
	}
	.topic-box .lead {
		font-size: clamp(1.5rem, 4vw, 1.8rem);
		margin-bottom: 35px;
	}
	.topic-box .visual {
		margin-bottom: 35px;
	}
	.topic-box .visual-box {
		margin-bottom: 40px;
	}
	.topic-box .visual-box .visual {
		margin-bottom: 20px;
	}
	.topic-box .visual-box .txt {
		font-size: clamp(1.4rem, 3.6vw, 1.6rem);
	}
	.topic-box .btn-box .btn {
		margin-bottom: 15px;
	}
	.topic-box .btn-box .btn a {
		font-size: clamp(1.6rem, 4vw, 2.0rem);
	}
}