body {
	box-sizing: border-box;
	background-color: #ffffff;
	color: #141414;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.25;
	font-family: "Noto Serif JP", serif;
}

img {
	width: 100%;
	height: auto;
}

picture {
	display: block;
}

a {
	color: #141414;
	text-decoration: none;
}

.container {
	width: 100%;
	max-width: 1680px;
	margin-right: auto;
	margin-left: auto;
	padding: 0 min(14.2857142857vw, 240px);
}

.footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: min(4.1666666667vw, 70px);
	padding: 0 min(2.9761904762vw, 50px);
}

.footer__link {
	padding: 0 min(0.5952380952vw, 10px);
	border-right: 1px solid #656565;
	border-left: 1px solid #656565;
	color: #656565;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.4;
}

.footer__copyright {
	color: #656565;
	font-size: min(0.8333333333vw, 14px);
	line-height: 2;
}

.section__hdl {
	display: flex;
	position: relative;
	row-gap: min(1.1904761905vw, 20px);
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	width: -moz-fit-content;
	width: fit-content;
	margin-right: auto;
	margin-left: auto;
	color: #000000;
	font-weight: bold;
	font-size: min(3.2738095238vw, 55px);
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
	text-transform: uppercase;
}

.section__hdl.--white {
	color: #ffffff;
}

.section__hdl::before {
	width: min(9.2261904762vw, 155px);
	height: min(0.8928571429vw, 15px);
	background-color: #000000;
	content: "";
}

.section__hdl.--white::before {
	background-color: #ffffff;
}

.section__hdl::after {
	width: min(9.2261904762vw, 155px);
	height: min(0.8928571429vw, 15px);
	background-color: #000000;
	content: "";
}

.section__hdl.--white::after {
	background-color: #ffffff;
}

.main {
	overflow: hidden;
}

.page-top-btn {
	display: flex;
	position: fixed;
	right: 0;
	bottom: 0;
	align-items: center;
	justify-content: center;
	width: 3.5714285714vw;
	max-width: 60px;
	height: 3.5714285714vw;
	max-height: 60px;
	transform: translateY(100%);
	background-color: #dc0013;
	opacity: 0;
	transition: 0.7s;
}

.page-top-btn::before {
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	display: block;
	width: 1.4880952381vw;
	max-width: 25px;
	height: 1.4880952381vw;
	max-height: 25px;
	margin-top: min(0.8928571429vw, 15px);
	transform: rotate(135deg);
	border-bottom: 2px solid #ffffff;
	border-left: 2px solid #ffffff;
	content: "";
	transition: all 0.5s ease-in-out;
}

.page-top-btn:hover {
	opacity: 0.5;
}

.page-top-btn.--active {
	transform: translateY(0);
	opacity: 1;
}

.fv {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	height: 100vh;
	background-image: url("../images/fv-img.png");
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
}

.fv__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: max(-3.5714285714vw, -60px);
	margin-right: auto;
	margin-left: auto;
}

.fv__anniversary-logo {
	width: 19.3452380952vw;
	max-width: 325px;
	margin-bottom: min(2.6785714286vw, 45px);
}

.company__logo {
	width: 22.0238095238vw;
	max-width: 370px;
	margin-bottom: min(1.6071428571vw, 27px);
}

.fv__period-image {
	width: 14.5833333333vw;
	max-width: 245px;
}

.fv__period-text {
	color: #ffffff;
	font-style: normal;
	font-weight: 300;
	font-size: min(2.380952381vw, 40px);
	font-family: futura-pt, sans-serif;
}

.message {
	padding-top: min(2.380952381vw, 40px);
	padding-bottom: min(17.2619047619vw, 250px);
	background-color: #663040;
}

.message__hdl {
	margin-bottom: min(1.7857142857vw, 30px);
}

.message__inner {
	position: relative;
	width: 100%;
}

.message__image {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
}

.message__image picture {
	width: 100%;
	height: auto;
}

.message__comment {
	position: absolute;
	top: min(2.380952381vw, 40px);
	left: 0;
	width: 41.0714285714vw;
	max-width: 690px;
	padding: min(2.9761904762vw, 50px) min(2.6785714286vw, 45px) min(3.2738095238vw, 55px) min(2.6785714286vw, 45px);
	background-color: rgba(252, 250, 250, 0.6);
}

.message__comment-title {
	margin-bottom: min(3.2738095238vw, 55px);
	font-weight: bold;
	font-size: min(1.7857142857vw, 30px);
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
}

.message__comment-text-block {
	margin-bottom: min(1.9047619048vw, 32px);
}

.message__comment-text,
.message__comment-date {
	font-weight: 400;
	font-size: min(0.9523809524vw, 16px);
	line-height: 2.15;
}

.message__comment-date {
	margin-bottom: min(2.9761904762vw, 50px);
}

.message__comment-signature {
	margin-right: 0;
	margin-left: auto;
	font-weight: 400;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.6;
	text-align: end;
}

.message__comment-signature span {
	font-weight: bold;
	font-size: min(1.4285714286vw, 24px);
}

.concept {
	padding-top: min(2.380952381vw, 40px);
	padding-bottom: min(7.1428571429vw, 120px);
	overflow: hidden;
}

.concept__hdl {
	margin-bottom: min(3.5714285714vw, 60px);
}

.concept__list {
	display: flex;
	width: 100%;
}

.concept__item {
	width: 35.7142857143vw;
	max-width: 600px;
	height: 20.8333333333vw;
	max-height: 340px;
	overflow: hidden;
}

.concept__list:first-of-type .concept__item:first-of-type {
	border-right: 3px dotted #adadad;
	border-bottom: 3px dotted #adadad;
}

.concept__list:first-of-type .concept__item:nth-of-type(2) {
	border-bottom: 3px dotted #adadad;
}

.concept__list:nth-of-type(2) .concept__item:first-of-type {
	border-right: 3px dotted #adadad;
}

.concept__item-inner {
	width: 100%;
	height: 100%;
}

.concept__list:first-of-type .concept__item:first-of-type .concept__item-inner {
	display: flex;
	align-items: center;
	justify-content: center;
}

.concept__100-anniversary-img {
	width: 23.8095238095vw;
	max-width: 400px;
}

.concept__list:first-of-type .concept__item:nth-of-type(2) .concept__item-inner {
	padding-top: min(1.1904761905vw, 20px);
	padding-bottom: min(2.9761904762vw, 50px);
	padding-left: min(2.9761904762vw, 50px);
}

.concept__list:nth-of-type(2) .concept__item:first-of-type .concept__item-inner {
	padding-top: min(0.5952380952vw, 10px);
	padding-right: min(2.9761904762vw, 50px);
	padding-left: min(0.5952380952vw, 10px);
}

.concept__sub-hdl {
	margin-bottom: min(0.7142857143vw, 12px);
}

.logo-image {
	width: 16.0714285714vw;
	max-width: 270px;
}

.concept__text {
	width: 31.8452380952vw;
	max-width: 540px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.8;
}

.concept__list:nth-of-type(2) .concept__item:nth-of-type(2) .concept__item-inner {
	display: flex;
	align-items: center;
	justify-content: center;
}

.slogan-image {
	width: 21.4285714286vw;
	max-width: 360px;
}

.concept__catch {
	margin-left: min(5.9523809524vw, 100px);
	color: #000000;
	font-weight: 500;
	font-size: min(4.1666666667vw, 70px);
	font-family: "Noto Sans JP", sans-serif;
	white-space: nowrap;
}

.history {
	padding-top: min(2.9761904762vw, 50px);
	padding-bottom: min(6.5476190476vw, 110px);
	background-color: #554f52;
}

.history__hdl {
	margin-bottom: min(1.7857142857vw, 30px);
}

.history__illust-block {
	position: relative;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	overflow: hidden;
}

.history__message-english {
	width: 22.0238095238vw;
	max-width: 370px;
	margin-left: min(14.2857142857vw, 240px);
}

.history__illust-world {
	-webkit-transform: translate(-50%, -30%) !important;
	-ms-transform: translate(-50%, -30%) !important;
	position: absolute;
	top: 40%;
	left: 50%;
	width: 47.619047619vw;
	max-width: 800px;
	transform: translate(-50%, -30%) !important;
}

.history__illust-world.--active {
	-webkit-transform: translate(-50%, -50%) !important;
	-ms-transform: translate(-50%, -50%) !important;
	transform: translate(-50%, -50%) !important;
}

.history__illust-city {
	width: 100%;
}

.history__list {
	display: flex;
	position: relative;
	row-gap: min(5.9523809524vw, 100px);
	flex-direction: column;
	width: 100%;
}

.history__list::before {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.119047619vw;
	max-width: 2px;
	height: 97%;
	transform: translate(-50%, -50%);
	background-color: #ffffff;
	content: "";
}

.history__item {
	-moz-column-gap: min(5.9523809524vw, 100px);
	display: flex;
	position: relative;
	column-gap: min(5.9523809524vw, 100px);
	align-items: center;
	width: 100%;
	margin-right: auto;
	margin-left: 0;
}

.history__item:nth-of-type(even) {
	flex-direction: row-reverse;
}

.history__comment-block {
	width: 32.7380952381vw;
	max-width: 550px;
}

.history__comment {
	color: #ffffff;
	font-size: min(0.9523809524vw, 16px);
	line-height: 2.15;
	text-align: end;
}

.history__item:nth-of-type(even) .history__comment {
	text-align: start;
}

.history__comment-br {
	display: block;
}

.history__year-block {
	position: relative;
	width: 32.7380952381vw;
	max-width: 550px;
}

.history__year {
	margin-top: max(-1.7857142857vw, -30px);
	color: #adadad;
	font-weight: 500;
	font-size: min(4.5238095238vw, 76px);
}

.history__item:first-of-type .history__year {
	font-size: min(5.9523809524vw, 100px);
}

.history__item:nth-of-type(even) .history__year {
	text-align: end;
}

.history__marker {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	display: flex;
	position: absolute;
	top: 50%;
	left: 50%;
	flex-direction: column;
	align-items: center;
	transform: translate(-50%, -50%);
}

.history__circle {
	display: block;
	width: 2.1428571429vw;
	max-width: 36px;
	height: 2.1428571429vw;
	max-height: 36px;
	border-radius: 50%;
	background-color: #ffffff;
}

.history__item:first-of-type .history__circle {
	position: relative;
	width: 2.7380952381vw;
	max-width: 46px;
	height: 2.7380952381vw;
	max-height: 46px;
}

.history__item:first-of-type .history__circle::before {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.5476190476vw;
	max-width: 26px;
	height: 1.5476190476vw;
	max-height: 26px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background-color: #dc0013;
	content: "";
}

.future {
	padding-top: min(2.9761904762vw, 50px);
	background-color: #f0f0f0;
}

.future__hdl {
	margin-bottom: 3.5714285714vw;
}

.future__text {
	width: min(34.8214285714vw, 585px);
	margin-bottom: min(2.0833333333vw, 35px);
	margin-left: min(4.7619047619vw, 80px);
	color: #141414;
	font-size: min(0.9523809524vw, 16px);
	line-height: 2;
}

.future__figure {
	position: relative;
	width: 50vw;
	max-width: 840px;
	margin-left: min(14.2857142857vw, 240px);
}

.future__next-image {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	position: absolute;
	top: -33%;
	left: 57%;
	width: 19.0476190476vw;
	max-width: 320px;
	height: 19.0476190476vw;
	max-height: 320px;
	transform: translate(-50%, -50%);
}

.future__arrows-image {
	width: 100%;
}

.future__circle {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
	width: 5.6547619048vw;
	max-width: 95px;
	height: 5.6547619048vw;
	max-height: 95px;
	transform: translate(-50%, -50%);
}

.future__circle.--xl {
	width: 6.4880952381vw;
	max-width: 109px;
	height: 6.4880952381vw;
	max-height: 109px;
}

.future__circle.--lg {
	width: 6.0119047619vw;
	max-width: 101px;
	height: 6.0119047619vw;
	max-height: 101px;
}

.future__circle.--sm {
	width: 5.0595238095vw;
	max-width: 85px;
	height: 5.0595238095vw;
	max-height: 85px;
}

.future__circle.--xs {
	width: 4.5833333333vw;
	max-width: 77px;
	height: 4.5833333333vw;
	max-height: 77px;
}

.future__circle.--xxs {
	width: 4.1071428571vw;
	max-width: 69px;
	height: 4.1071428571vw;
	max-height: 69px;
}

.future__circle-kinzoku {
	top: min(2.380952381vw, 40px);
	left: min(26.1904761905vw, 440px);
	transition-delay: 0.4s;
}

.future__circle-environment {
	top: min(4.4642857143vw, 75px);
	left: min(16.0714285714vw, 270px);
	transition-delay: 0.2s;
}

.future__circle-hatsuden {
	top: min(7.1428571429vw, 120px);
	left: min(6.5476190476vw, 110px);
	transition-delay: 0.4s;
}

.future__circle-traffic {
	top: min(14.5833333333vw, 245px);
	left: min(2.380952381vw, 40px);
	transition-delay: 0.6s;
}

.future__circle-building {
	top: min(22.9166666667vw, 385px);
	left: min(5.3571428571vw, 90px);
	transition-delay: 0.4s;
}

.future__circle-material {
	top: auto;
	bottom: min(1.1904761905vw, 20px);
	left: min(19.3452380952vw, 325px);
	transition-delay: 0.2s;
}

.future__circle-warm {
	left: min(13.6904761905vw, 230px);
	transition-delay: 0.4s;
}

.future__circle-heat-environment {
	top: min(14.2857142857vw, 240px);
	left: min(20.8333333333vw, 350px);
	transition-delay: 0.6s;
}

.future__circle-filtration {
	top: auto;
	bottom: min(3.5714285714vw, 60px);
	left: min(25.5952380952vw, 430px);
	transition-delay: 0.6s;
}

.future__circle-seal {
	top: min(19.9404761905vw, 335px);
	left: min(31.25vw, 525px);
	transition-delay: 0.4s;
}

.future__circle-food {
	top: auto;
	right: min(0.2976190476vw, 5px);
	bottom: min(1.1904761905vw, 20px);
	left: auto;
	transition-delay: 0.4s;
}

.future__circle-wallpaper {
	right: max(-2.9761904762vw, -50px);
	left: auto;
	transition-delay: 0.2s;
}

.future__circle-chemistry {
	top: min(7.7380952381vw, 130px);
	right: max(-0.5952380952vw, -10px);
	left: auto;
	transition-delay: 0.2s;
}

.future__circle-function-material {
	top: min(11.9047619048vw, 200px);
	left: min(36.0119047619vw, 605px);
	transition-delay: 0.6s;
}

.future__circle-blue-building {
	top: min(23.8095238095vw, 400px);
	left: min(13.0952380952vw, 220px);
	transition-delay: 0.4s;
}

.fade-from-bottom {
	transform: translate(0, 2.380952381vw);
	opacity: 0;
	transition-duration: 1.2s;
}

.fade-from-left {
	transform: translate(-7.1428571429vw, 0);
	opacity: 0;
	transition-duration: 1.2s;
}

.pc-fade-from-left {
	transform: translate(-7.1428571429vw, 0);
	opacity: 0;
	transition-duration: 1.2s;
}

.fade-from-right {
	transform: translate(7.1428571429vw, 0);
	opacity: 0;
	transition-duration: 1.2s;
}

.pc-fade-from-right {
	transform: translate(7.1428571429vw, 0);
	opacity: 0;
	transition-duration: 1.2s;
}

.fade-from-bottom.--active,
.fade-from-left.--active,
.fade-from-right.--active,
.sp-fade-from-bottom.--active,
.sp-fade-from-left.--active,
.sp-fade-from-right.--active,
.pc-fade-from-left.--active,
.pc-fade-from-right.--active {
	transform: translate(0, 0);
	opacity: 1;
}

.fade-in {
	opacity: 0;
	transition-duration: 1.2s;
}

.fade-in.--active {
	opacity: 1;
}

@media screen and (min-width: 429px) and (max-width: 767px) {

.history__list::before {
	top: 48.6%;
	left: 23%;
	width: 0.5128205128vw;
	max-width: none;
	height: 95%;
}

}

@media screen and (min-width: 1600px) {

.concept__item {
	height: 21.4285714286vw;
	max-height: 390px;
}

}

@media screen and (max-width: 767px) {

.container {
	max-width: none;
	padding: 0 min(3.8461538462vw, 15px);
}

.footer {
	flex-direction: column;
	justify-content: flex-start;
	justify-content: center;
	height: min(17.9487179487vw, 70px);
	padding: 0 min(0.8928571429vw, 15px);
}

.footer__link {
	margin-bottom: min(3.0769230769vw, 12px);
	padding: 0 min(2.5641025641vw, 10px);
	font-size: min(3.0769230769vw, 12px);
}

.footer__copyright {
	font-size: min(2.5641025641vw, 10px);
}

.section__hdl {
	row-gap: min(1.2820512821vw, 5px);
	font-size: min(4.358974359vw, 17px);
}

.section__hdl::before {
	width: min(11.5384615385vw, 45px);
	height: min(1.0256410256vw, 4px);
}

.section__hdl::after {
	width: min(11.5384615385vw, 45px);
	height: min(1.0256410256vw, 4px);
}

.page-top-btn {
	width: 10.2564102564vw;
	max-width: none;
	height: 10.2564102564vw;
	max-height: none;
}

.page-top-btn::before {
	width: 4.1025641026vw;
	max-width: none;
	height: 4.1025641026vw;
	max-height: none;
	margin-top: 2.5641025641vw;
}

.fv {
	position: relative;
	background-image: url("../images/fv-img-sp.png");
	background-position: center;
}

.fv__content {
	margin-top: -10.2564102564vw;
}

.fv__anniversary-logo {
	width: 71.7948717949vw;
	max-width: none;
	margin-bottom: 2.5641025641vw;
}

.company__logo {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	position: absolute;
	top: 4%;
	left: 50%;
	width: 76.9230769231vw;
	transform: translate(-50%, -50%);
}

.fv__period-image {
	width: 41.0256410256vw;
}

.fv__period-text {
	font-size: 10.2564102564vw;
}

.message {
	padding-top: min(7.6923076923vw, 30px);
	padding-bottom: min(7.6923076923vw, 30px);
}

.message__hdl {
	margin-bottom: min(6.4102564103vw, 25px);
}

.message__comment {
	position: relative;
	top: auto;
	left: auto;
	width: 93%;
	max-width: none;
	margin-top: max(-7.6923076923vw, -30px);
	margin-right: auto;
	margin-left: auto;
	padding: min(5.1282051282vw, 20px) min(3.8461538462vw, 15px) min(3.8461538462vw, 15px) min(3.8461538462vw, 15px);
	transform: translate(0, 0);
	opacity: 1;
}

.message__comment-title {
	margin-bottom: min(3.0769230769vw, 12px);
	font-size: min(6.9230769231vw, 27px);
}

.message__comment-text-block {
	margin-bottom: min(7.1794871795vw, 28px);
}

.message__comment-text,
.message__comment-date {
	font-size: min(3.8461538462vw, 15px);
}

.message__comment-date {
	margin-bottom: min(8.9743589744vw, 35px);
}

.message__comment-signature {
	font-size: min(3.0769230769vw, 12px);
}

.message__comment-signature span {
	font-size: min(5.1282051282vw, 20px);
}

.concept {
	padding-top: 7.6923076923vw;
	padding-bottom: 10.2564102564vw;
}

.concept__hdl {
	margin-bottom: 2.5641025641vw;
}

.concept__list {
	flex-direction: column;
}

.concept__list:nth-of-type(2) {
	flex-direction: column-reverse;
}

.concept__item {
	width: 100%;
	max-width: none;
	height: auto;
	max-height: none;
}

.concept__list:first-of-type .concept__item:first-of-type {
	border-right: none;
	border-bottom: 0.5128205128vw dotted #adadad;
}

.concept__list:first-of-type .concept__item:nth-of-type(2) {
	border-bottom: 0.5128205128vw dotted #adadad;
}

.concept__list:nth-of-type(2) .concept__item:first-of-type {
	border-right: none;
	border-bottom: none;
}

.concept__list:nth-of-type(2) .concept__item:nth-of-type(2) {
	padding: 10.2564102564vw 0;
	border-bottom: 0.5128205128vw dotted #adadad;
}

.concept__list:first-of-type .concept__item:first-of-type .concept__item-inner {
	padding: 10.2564102564vw 0;
}

.concept__100-anniversary-img {
	width: 42.3076923077vw;
	max-width: none;
}

.concept__list:first-of-type .concept__item:nth-of-type(2) .concept__item-inner {
	padding-top: 3.0769230769vw;
	padding-bottom: 7.6923076923vw;
	padding-left: 0;
	transform: translate(0, 0);
	opacity: 1;
}

.concept__list:nth-of-type(2) .concept__item:first-of-type .concept__item-inner {
	padding-top: 3.0769230769vw;
	padding-bottom: 7.6923076923vw;
	padding-left: 0;
	transform: translate(0, 0);
	opacity: 1;
}

.concept__sub-hdl {
	margin-bottom: 2.5641025641vw;
	font-size: 7.6923076923vw;
	text-align: center;
}

.logo-image {
	width: 30.7692307692vw;
	margin-right: auto;
	margin-left: auto;
}

.concept__text {
	width: 100%;
	max-width: none;
	font-size: 3.8461538462vw;
}

.concept__list:nth-of-type(2) .concept__item:nth-of-type(2) .concept__item-inner {
	padding: 10.2564102564vw 0;
}

.slogan-image {
	width: 33.3333333333vw;
	margin-right: auto;
	margin-left: auto;
}

.concept__catch {
	margin-left: 7.6923076923vw;
	font-size: 8.2051282051vw;
}

.history {
	padding-top: 10.2564102564vw;
	padding-bottom: 15.3846153846vw;
}

.history__hdl {
	margin-bottom: 7.6923076923vw;
}

.history__message-english {
	width: 46.1538461538vw;
	max-width: none;
	margin-bottom: 17.9487179487vw;
	margin-left: 3.8461538462vw;
}

.history__illust-world {
	left: 55%;
	width: 96%;
	max-width: none;
}

.history__illust-city {
	width: 169.2307692308vw;
}

.history__list {
	row-gap: 4.1025641026vw;
	align-items: flex-end;
	overflow: hidden;
}

.history__item {
	-moz-column-gap: 10.2564102564vw;
	column-gap: 10.2564102564vw;
	flex-direction: row-reverse;
	align-items: flex-start;
	width: 100%;
	max-width: none;
}

.history__comment-block {
	width: 66.6666666667vw;
	max-width: none;
}

.history__comment {
	font-size: 3.3333333333vw;
	line-height: 1.8;
	text-align: start;
}

.history__comment-br {
	display: none;
}

.history__year-block {
	width: 15.3846153846vw;
	max-width: none;
}

.history__year {
	margin-top: 0;
	font-size: 5.3846153846vw;
	text-align: end;
}

.history__item:first-of-type .history__year {
	font-size: 7.1794871795vw;
}

.history__marker {
	left: 22.5%;
}

.history__circle {
	width: 3.0769230769vw;
	max-width: none;
	height: 3.0769230769vw;
	max-height: none;
	margin-top: -4.6153846154vw;
}

.history__item:first-of-type .history__circle {
	width: 3.0769230769vw;
	max-width: none;
	height: 3.0769230769vw;
	max-height: none;
}

.history__item:first-of-type .history__circle::before {
	width: 1.7948717949vw;
	max-width: none;
	height: 1.7948717949vw;
	max-height: none;
}

.history__item:first-of-type .history__circle {
	margin-top: -6.9230769231vw;
}

.history__item:nth-of-type(2) .history__circle {
	margin-top: -7.6923076923vw;
}

.history__item:nth-of-type(4) .history__circle {
	margin-top: -4.1025641026vw;
}

.history__item:nth-of-type(5) .history__circle {
	margin-top: -7.6923076923vw;
}

.history__item:nth-of-type(8) .history__circle {
	margin-top: -4.1025641026vw;
}

.history__item:nth-of-type(11) .history__circle {
	margin-top: -6.9230769231vw;
}

.history__item:nth-last-of-type(10) .history__circle {
	margin-top: -6.9230769231vw;
}

.history__item:nth-last-of-type(7) .history__circle {
	margin-top: 0;
}

.history__item:nth-last-of-type(5) .history__circle {
	margin-top: 0;
}

.history__item:nth-last-of-type(4) .history__circle {
	margin-top: -6.9230769231vw;
}

.history__item:last-of-type .history__circle {
	margin-top: -7.6923076923vw;
}

.future {
	padding-top: 8.7179487179vw;
}

.future__hdl {
	margin-bottom: 10.2564102564vw;
}

.future__text {
	width: 84.6153846154vw;
	margin-right: auto;
	margin-bottom: 30.7692307692vw;
	margin-left: auto;
	font-size: 3.8461538462vw;
	line-height: 1.8;
}

.future__figure {
	width: 100%;
	max-width: none;
	height: auto;
	max-height: none;
	margin-right: auto;
	margin-left: auto;
}

.future__next-image {
	top: -38%;
	left: 55%;
	width: 38.4615384615vw;
	max-width: none;
	height: 38.4615384615vw;
	max-height: none;
}

.future__circle {
	width: 10.2564102564vw;
	max-width: none;
	height: 10.2564102564vw;
	max-height: none;
}

.future__circle.--xl {
	width: 11.5384615385vw;
	max-width: none;
	height: 11.5384615385vw;
	max-height: none;
}

.future__circle.--lg {
	width: 10.7692307692vw;
	max-width: none;
	height: 10.7692307692vw;
	max-height: none;
}

.future__circle.--sm {
	width: 9.2307692308vw;
	max-width: none;
	height: 9.2307692308vw;
	max-height: none;
}

.future__circle.--xs {
	width: 8.9743589744vw;
	max-width: none;
	height: 8.9743589744vw;
	max-height: none;
}

.future__circle.--xxs {
	width: 7.4358974359vw;
	max-width: none;
	height: 7.4358974359vw;
	max-height: none;
}

.future__circle-kinzoku {
	top: 2.5641025641vw;
	left: 45.3846153846vw;
}

.future__circle-environment {
	top: 6.4102564103vw;
	left: 28.2051282051vw;
}

.future__circle-hatsuden {
	top: 12.3076923077vw;
	left: 12.0512820513vw;
}

.future__circle-traffic {
	top: 24.8717948718vw;
	left: 4.6153846154vw;
}

.future__circle-building {
	top: 41.0256410256vw;
	left: 8.9743589744vw;
}

.future__circle-material {
	bottom: 0;
	left: 37.1794871795vw;
}

.future__circle-warm {
	top: 53%;
	left: 29.4871794872vw;
}

.future__circle-heat-environment {
	top: 25.641025641vw;
	left: 38.4615384615vw;
}

.future__circle-filtration {
	bottom: 6.1538461538vw;
	left: 47.6923076923vw;
}

.future__circle-seal {
	top: 34.6153846154vw;
	left: 60.2564102564vw;
}

.future__circle-food {
	right: 2.5641025641vw;
	bottom: 1.2820512821vw;
}

.future__circle-wallpaper {
	right: -3.8461538462vw;
}

.future__circle-chemistry {
	top: 14.1025641026vw;
	right: -0.5128205128vw;
}

.future__circle-function-material {
	top: 21.0256410256vw;
	left: 65.8974358974vw;
}

.future__circle-blue-building {
	top: 46.1538461538vw;
	left: 25.641025641vw;
}

.fade-from-bottom {
	transform: translate(0, 10.2564102564vw);
}

.sp-fade-from-bottom {
	transform: translate(0, 10.2564102564vw);
	opacity: 0;
	transition-duration: 1s;
}

.fade-from-left {
	transform: translate(-20.5128205128vw, 0);
}

.fade-from-right {
	transform: translate(20.5128205128vw, 0);
}

.sp-fade-from-left {
	transform: translate(-20.5128205128vw, 0);
	opacity: 0;
	transition-duration: 1.2s;
}

.sp-fade-from-right {
	transform: translate(20.5128205128vw, 0);
	opacity: 0;
	transition-duration: 1.2s;
}

.fade-from-bottom.--active,
.fade-from-left.--active,
.fade-from-right.--active,
.sp-fade-from-bottom.--active,
.sp-fade-from-left.--active,
.sp-fade-from-right.--active,
.pc-fade-from-left.--active,
.pc-fade-from-right.--active {
	transform: translate(0, 0);
	opacity: 1;
}

}

@media screen and (max-width: 428px) {

.history__list::before {
	top: 48.6%;
	left: 22.4%;
	width: 0.5128205128vw;
	max-width: none;
	height: 95%;
}

}

@media screen and (max-width: 414px) {

.history__list::before {
	top: 48.6%;
	left: 22.5%;
	width: 0.5128205128vw;
	max-width: none;
	height: 95%;
}

}

