@charset "utf-8";
body {
	background: linear-gradient(to bottom, rgba(0,75,145,1) 0%,rgba(0,75,145,1) 40%,rgba(112,179,211,1) 80%,rgba(112,179,211,1) 100%);
}

.wrapper > .inner {
	position: relative;
}

.wrapper > .inner::after {
	content: '';
	position: absolute;
	left: calc(-1 * min(7.68vw, 86px));
	top: min(126.16vw, 1413px);
	width: min(84.46vw, 946px);
	height: min(52.95vw, 593px);
	background: url('/company/images/bg_pc.png') center/ 100% auto no-repeat;
}

.section .contentInner {
	z-index: 1;
}

@media (max-width: 767px)  {
	.wrapper > .inner::after {
    left: calc(-1 * min(76.09vw, 630px));
    top: min(364.73vw, 3020px);
    width: min(170.29vw, 1410px);
    height: min(106.52vw, 882px);
    transform: rotate(90deg);
	}
}

.section01 .contentInner {
	padding-bottom: min(64.29vw, 720px);
}

.section01 .sectionTtl {
	left: calc(-1 * min(21.43vw, 240px));
	top: min(29.29vw, 328px);
}

.section01 .subTtl {
	left: min(8.66vw, 97px);
	top: min(9.46vw, 106px);
}

.section01 .txt01 {
	max-width: min(75.54vw, 846px);
	position: absolute;
	left: min(16.07vw, 180px);
	top: min(19.82vw, 222px);
	font-size: min(1.43vw, 16px);
	font-weight: 300;
	line-height: 2;
	letter-spacing: 0.06em;
}

.section01 .txt02 {
	position: absolute;
	left: min(15.98vw, 179px);
	bottom: 0;
	font-size: min(2.5vw, 28px);
	color: #70B3D3;
	letter-spacing: 0.06em;
}

.section01 .txt02 span:last-child {
	display: inline-block;
	margin-left: min(7.95vw, 89px);
	margin-top: min(0.63vw, 7px);
}

.section01 .txt03 {
	position: absolute;
	right: calc(-1 * min(3.93vw, 44px));
	top: min(4.91vw, 55px);
	font-size: min(1.25vw, 14px);
	letter-spacing: 0.36em;
}

.section01 .img {
	position: absolute;
	right: 0;
	bottom: min(15.98vw, 179px);
	display: flex;
	align-items: center;
	gap: min(1.79vw, 20px);
}

.section01 .img span:last-child {
	width: min(16.43vw, 184px);
	display: inline-block;
}

@media (max-width: 1279px) and (min-width: 768px) {
	.section01 .txt03 {
    right: 0;
	}
}

@media (max-width: 767px) {
	.section01 {
    margin-top: min(10.87vw, 90px);
	}

	.section01 .contentInner {
    padding-bottom: 0;
	}

	.section01 .sectionTtl {
    left: 0;
    top: 0;
	}

	.section01 .subTtl {
    left: auto;
    top: min(1.69vw, 14px);
	}

	.section01 .img {
		width: min(37.33vw, 280px);
		position: relative;
		bottom: auto;
		flex-direction: column;
		align-items: flex-start;
		margin: min(6.04vw, 50px) 0 0 auto;
		gap: min(2.9vw, 24px);
	}

	.section01 .img span:first-child {
		font-size: min(3.38vw, 28px);
		letter-spacing: 0.06em;
	}

	.section01 .img span:last-child {
		width: 100%;
	}

	.section01 .txt01 {
    max-width: 100%;
    position: relative;
    left: 0;
    top: auto;
    font-size: min(3.38vw, 28px);
    margin-top: min(5.8vw, 48px);
	}

	.section01 .txt02 {
    position: relative;
    left: -10px;
    bottom: 0;
    font-size: min(4.8vw, 36px);
    margin-top: min(12.08vw, 100px);
		letter-spacing: 0.02em;
		width: calc(100% + 10px);
	}

	.section01 .txt02 span:last-child {
    margin-left: min(9.18vw, 78px);
	}

	.section01 .txt03 {
    position: relative;
    right: auto;
    top: auto;
    font-size: min(2.66vw, 22px);
    letter-spacing: 0.16em;
		margin-top: min(4.59vw, 38px);
	}
}

.section02 {
	margin-top: min(4.46vw, 50px);
	padding-top: min(10.45vw, 117px);
}

.section02 .subTtl {
	font-size: min(1.25vw, 14px);
	top: calc(-1 * min(4.38vw, 49px));
	letter-spacing: 0.36em;
	left: min(16.07vw, 180px);
	font-weight: 300;
}

.section02 .sectionList {
	max-width: min(64.64vw, 724px);
	margin-left: auto;
	margin-right: min(9.2vw, 103px);
}

.section02 .sectionList li {
	display: flex;
	padding: min(1.7vw, 19px) min(2.68vw, 30px) min(1.7vw, 19px) min(3.57vw, 40px);
	border-bottom: 1px solid #70B3D3;
	font-size: min(1.61vw, 18px);
	letter-spacing: 0.1em;
}

.section02 .sectionList li span:first-child {
	width: min(16.79vw, 188px);
}

.section02 .sectionList li span:last-child {
	width: calc(100% - min(16.79vw, 188px));
}

@media (max-width: 767px) {
	.section02 {
    padding-top: min(12.8vw, 106px);
	}

	.section02 .subTtl {
    font-size: min(2.66vw, 22px);
    top: 0;
    letter-spacing: 0.16em;
    left: 0;
		position: relative;
	}

	.section02 .sectionList {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: min(3.38vw, 28px);
	}

	.section02 .sectionList li {
    padding: min(4.35vw, 36px);
    font-size: min(3.38vw, 28px);
    flex-direction: column;
		gap: min(1.21vw, 10px);
	}

	.section02 .sectionList li span:first-child {
    width: 100%;
    font-size: min(2.9vw, 24px);
	}

	.section02 .sectionList li span:last-child {
		width: 100%;
	}
}

.section03 {
	margin-top: min(4.46vw, 50px);
	padding-top: min(11.61vw, 130px);
	padding-bottom: min(0.45vw, 5px);
}

.section03 .subTtl {
	right: -2px;
	top: calc(-1 * min(5.45vw, 61px));
	display: block;
	font-weight: 300;
	font-size: min(1.25vw, 14px);
	letter-spacing: 0.36em;
}

.section03 .timeline {
	max-width: min(80.36vw, 900px);
	margin-left: auto;
	margin-right: min(10.27vw, 115px);
	background: url('/company/images/bg_timeline_pc.png') top right min(7.86vw, 88px) / min(42.41vw, 475px) min(42.23vw, 473px) no-repeat;
}

.section03 .timeline li {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	line-height: 1.52;
}

.section03 .timeline .txt {
	display: inline-block;
	font-size: min(1.61vw, 18px);
	letter-spacing: 0.1em;
}

.section03 .timeline .year {
	display: inline-block;
	font-size: min(3.13vw, 35px);
	margin-left: min(5.36vw, 60px);
	letter-spacing: 0.04em;
}

.section03 .timeline li.txt02 {
	padding-right: min(4.91vw, 55px);
}

.section03 .timeline li.txt03 {
	padding-right: min(9.29vw, 104px);
}

.section03 .timeline li.txt04 {
	padding-right: min(14.29vw, 160px);
}

.section03 .timeline li.txt05 {
	padding-right: min(18.93vw, 212px);
}

.section03 .timeline li.txt06 {
	padding-right: min(23.57vw, 264px);
}

.section03 .timeline li.txt07 {
	padding-right: min(29.2vw, 327px);
}

.section03 .timeline li.txt08 {
	padding-right: min(32.77vw, 367px);
}

.section03 .timeline li.txt09 {
	padding-right: min(37.5vw, 420px);
}

@media (max-width: 767px) {
	.section03 {
    padding-top: min(12.08vw, 100px);
    padding-bottom: min(0.45vw, 5px);
	}

	.section03 .subTtl {
    top: 0;
    font-size: min(2.66vw, 22px);
    letter-spacing: 0.16em;
    position: relative;
    left: 0;
    right: auto !important;
	}

	.section03 .timeline {
    max-width: 105%;
    margin-right: calc(-1 * min(1.21vw, 10px));
		margin-left: calc(-1 * min(2.42vw, 20px));
    margin-top: min(7vw, 58px);
    background: url('/company/images/bg_timeline_sp.png') top min(0.72vw, 6px) right min(16.67vw, 138px) / min(32.61vw, 270px) auto no-repeat;
	}

	.section03 .timeline .txt {
    font-size: min(3.38vw, 28px);
	}

	.section03 .timeline .year {
    font-size: min(6.04vw, 50px);
    margin-left: min(6.28vw, 52px);
	}

	.section03 .timeline li.txt02 {
    padding-right: min(4.11vw, 34px);
    margin-top: min(2.9vw, 24px);
	}

	.section03 .timeline li.txt03 {
    padding-right: min(6.76vw, 56px);
    margin-top: min(2.9vw, 24px);
	}

	.section03 .timeline li.txt04 {
    padding-right: min(10.87vw, 90px);
    margin-top: min(2.9vw, 24px);
	}

	.section03 .timeline li.txt05 {
    padding-right: min(14.01vw, 116px);
    margin-top: min(2.9vw, 24px);
	}

	.section03 .timeline li.txt06 {
    padding-right: min(17.39vw, 144px);
    margin-top: min(2.9vw, 24px);
	}

	.section03 .timeline li.txt07 {
    padding-right: min(23.43vw, 194px);
    margin-top: min(4.83vw, 40px);
	}

	.section03 .timeline li.txt08 {
    padding-right: min(25.12vw, 208px);
    margin-top: min(4.83vw, 40px);
	}

	.section03 .timeline li.txt09 {
    padding-right: min(29.71vw, 246px);
    margin-top: min(4.83vw, 40px);
	}

	.section03 .timeline li.txt07 .txt,
	.section03 .timeline li.txt09 .txt {
		text-align: right;
	}
}