@charset "utf-8";

/* ------------ 共通 ------------ */
.box {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

#section02 .ttl-bg .section-ttl,
#section04 .ttl-bg .section-ttl {
	text-indent: 40px;
}

.section-ttl {
	display: flex;
	font-size: 3.4rem;
	line-height: 22px;
	text-indent: 60px;
	letter-spacing: 2.88px;
	padding-top: 34px;
}

.section-ttl.line2 .ttl { /* 2行のとき */
	margin-top: -57px;
	line-height: 46px;
}

.section-ttl .num {
	font-family: "Tw Cen MT Regular", "Century Gothic Pro", メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
	font-size: 13rem;
}

.section-ttl .ttl {
	text-indent: 0;
	padding-top: 30px;
}

@media all and (-ms-high-contrast:none) { /* IE11 */
	*::-ms-backdrop,
	#section01 .box-r,
	#section03 .box-r {
		padding-left: 0 !important;
	}
	#section02 .box-r,
	#section04 .box-r {
		padding-right: 0 !important;
	}
}

.box-l.img-box {
	width: 100%;
	max-width: 450px;
}

@media all and (-ms-high-contrast:none) { /* IE11 */
	*::-ms-backdrop,
	.box-l.img-box {
		max-width: none;
	}
}

.box-l.img-box img {
	display: inline;
	vertical-align: bottom;
}

.box-r {
	margin-top: 20px;
}

.box-r.txt-box {
	width: 100%;
}

.section-txt {
	font-family: メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
	font-size: 1.8rem;
	letter-spacing: -0.4px;
	line-height: 36px;
	width: 100%;
	margin: 30px 0 0 5px;
}

#section01 .section-txt,
#section01 .section-list,
#section03 .section-txt {
	max-width: 480px;
	margin-left: 5px;
}

#section02 .section-txt,
#section04 .section-txt {
	max-width: 460px;
	margin-left: 50px;
}

.section-list {
	width: 100%;
	margin-top: 70px;
}

.section-list dt {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 17px;
}

.section-list dd {
	font-size: 1.8rem;
	line-height: 36px;
}


/* ------------ イントロ ------------ */
#intro {
	margin-top: 20px;
}

#intro .txt {
	font-size: 2.1rem;
	font-weight: bold;
	text-align: center;
	line-height: 46px;
}


/* ------------ section01 ------------ */
#section01 {
	margin-top: 40px;
}

#section01 .box-r {
	margin-top: 20px;
	padding-left: 35px;
}

#section01 .ttl-bg {
	background: url(../images/work/ttl_arw01_l.png) no-repeat center bottom;
	background-size: 100%;
	height: 104px;
}


/* ------------ section02 ------------ */
#section02 {
	background: #d9eaeb;
	margin-top: 50px;
	padding: 50px 0 40px;
}

#section02 .ttl-bg {
	background: url(../images/work/ttl_arw01_r.png) no-repeat center bottom;
	background-size: 100%;
	height: 107px;
}

#section02 .box {
	flex-direction: row-reverse;
}

#section02 .box-r {
	padding-right: 35px;
}

#section02 .img-box img {
	display: block;
	margin-left: auto;
}


/* ------------ section03 ------------ */
#section03 {
	background: #008377;
	color: #fff;
	padding: 50px 0 40px;
}

#section03 .ttl-bg {
	background: url(../images/work/ttl_arw02_l.png) no-repeat center bottom;
	background-size: 100%;
	height: 107px;
}

#section03 .box-r {
	padding-left: 35px;
}


/* ------------ section04 ------------ */
#section04 {
	background: #00655d;
	color: #fff;
	padding: 50px 0 40px;
}

#section04 .ttl-bg {
	background: url(../images/work/ttl_arw02_r.png) no-repeat center bottom;
	background-size: 100%;
	height: 107px;
}

#section04 .box {
	flex-direction: row-reverse;
}

#section04 .box-r {
	padding-right: 35px;
}

#section04 .img-box img {
	display: block;
	margin-left: auto;
}

#section04 .section-txt-box {
	margin-top: 30px;
}


/* ------------ リンクボタン ------------ */
.link-box {
	margin: 90px 0 136px;
}

.link-box .link-btn {
	width: 369px;
}


/* ------------ レスポンシブ ------------ */
@media screen and (max-width: 768px) {
	/* ------------ 共通 ------------ */
	.box {
		flex-direction: column-reverse;
	}

	.section-ttl .num {
		font-size: 7rem;
	}

	.section-ttl {
		font-size: 1.8rem;
		text-indent: 20px;
		line-height: 11px;
		padding: 0 0 9px;
	}

	.section-ttl .ttl {
		padding-top: 15px;
	}

	#section02 .ttl-bg .section-ttl,
	#section04 .ttl-bg .section-ttl {
		text-indent: 20px;
	}

	.section-ttl.line2 .ttl {
		margin-top: -28px;
		line-height: 23px;
	}

	.section-txt {
		font-size: 1.35rem;
		line-height: 24px;
		margin-top: 15px;
	}

	#section01 .section-txt {
		max-width: 100%;
		margin: 15px auto 0;
		padding: 0 12.5px;
	}

	#section02 .section-txt,
	#section03 .section-txt,
	#section04 .section-txt {
		margin: 0;
		padding: 0 10px;
	}

	#section02 .img-box,
	#section03 .img-box,
	#section04 .img-box {
		width: 100%;
		margin-top: 15px;
		max-width: 100%;
	}

	#section02 .img-box img,
	#section03 .img-box img,
	#section04 .img-box img {
		max-width: 115px;
		height: auto;
		width: auto;
	}

	#section01 .box-r,
	#section02 .box-r,
	#section03 .box-r,
	#section04 .box-r {
		padding-left: 0;
		padding-right: 0;
	}

	.box-l.img-box {
		display: flex;
		width: 50%;
		margin-top: 10px;
	}

	.box-l.img-box img {
		width: 100%;
		height: 100%;
	}

	.box-l.txt-box,
	.box-r.txt-box {
		max-width: 100%;
	}

	.section-list {
		margin-top: 15px;
		padding: 0 10px;
	}

	.section-list dt {
		font-size: 1.6rem;
		margin-bottom: 8.5px;
	}

	.section-list dd {
		font-size: 1.35rem;
		line-height: 24px;
	}

	.section-txt-box h3 {
		margin-top: 15px;
	}


	/* ------------ section01 ------------ */
	#section01 {
		margin-top: 15px;
	}

	#section01 .ttl-bg {
		background: none;
		border-bottom: 1px solid #008377;
		height: auto;
	}


	/* ------------ section02 ------------ */
	#section02 {
		margin-top: 0;
		padding: 25px 0;
	}

	#section02 .box {
		flex-direction: column-reverse;
	}

	#section02 .ttl-bg {
		background: none;
		border-bottom: 1px solid #008377;
		height: auto;
	}


	/* ------------ section03 ------------ */
	#section03 {
		margin-top: 0;
		padding: 25px 0;
	}

	#section03 .box {
		flex-direction: column-reverse;
	}

	#section03 .ttl-bg {
		background: none;
		border-bottom: 1px solid #fff;
		height: auto;
	}


	/* ------------ section04 ------------ */
	#section04 {
		margin-top: 0;
		padding: 25px 0;
	}

	#section04 .box {
		flex-direction: column-reverse;
	}

	#section04 .ttl-bg {
		background: none;
		border-bottom: 1px solid #fff;
		height: auto;
	}


	/* ------------ リンクボタン ------------ */
	.link-box {
		margin: 25px 0 117px;
	}

	.link-box .link-btn {
		width: 281px;
	}

}

@media screen and (max-width: 320px) {
	#section02 .img-box img,
	#section03 .img-box img,
	#section04 .img-box img {
		max-width: 115px;
		height: auto;
	}

	#section02 .section-txt,
	#section03 .section-txt,
	#section04 .section-txt {
		max-width: 205px;
	}
}
