@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figcaption, figure, section, footer, header, main, hgroup, menu, nav, summary {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
	--size: 1rem;
}
@media all and (min-width: 751px) and (max-width: 1365px) {
	html {
		--size: calc(1000vw / 1366);
	}
}
@font-face {
	font-family: "rutigerneueltpro";
	font-weight: 400;
	src: url("font/frutigerneueltpro-regular.woff2");
}
@font-face {
	font-family: "rutigerneueltpro";
	font-weight: 500;
	src: url("font/frutigerneueltpro-medium.woff2");
}
@media all and (max-width: 389px) {
	html {
		font-size: calc(1000vw / 390);
	}
}
body, table, input, textarea, select, option {
	font-family: "Noto Sans JP", sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, main, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
chrome_annotation {
	border: none !important;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
address {
	font-style: normal;
}
a,
a:link {
	color: #fff;
	text-decoration: none;
	transition: 0.3s;
}
a:visited {
	color: #fff;
}
a:hover {
	color: #fff;
}
a:active {
	color: #fff;
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-LMX */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #fff;
	font-size: 1.35rem;
	font-weight: 300;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #515C65;
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
#container {
	text-align: left;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 751px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 750px) {
	body {
		font-size: 1.2rem;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 999;
	opacity: 0;
	transition: .3s;
}
body.loaded #gHeader {
	opacity: 1;
}
#gHeader::before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	transition: .3s;
	content: "";
	clip-path: inset(0 0 100% 0);
}
#gHeader.on::before {
	clip-path: inset(0 0 0 0);
}
#gHeader .hBox {
	/* max-width: 136.6rem;
	margin: 0 auto; */
	padding: 2.5rem;
	position: relative;
	box-sizing: border-box;
}
#gHeader h1 {
	width: 17.2rem;
}
#gHeader h1 a {
	position: relative;
	display: block;
}
#gHeader h1 img {
	transition: .3s;
}
#gHeader h1 .on {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0 !important;
}
#gHeader.on h1 .on {
	opacity: 1 !important;
}
#gHeader.on h1 .off {
	opacity: 0 !important;
}
#gHeader .langUl {
	position: absolute;
	right: 1.6rem;
	top: 5.3rem;
	font-size: 1.1rem;
	font-weight: 400;
	z-index: 1;
	font-family: "rutigerneueltpro";
}
#gHeader .langUl a {
	padding: 0.4rem 0.5rem 0.3rem;
	line-height: 1.2;
	display: inline-block;
	color: #9CA3AE;
	letter-spacing: 0.02em;
}
#gHeader .langUl .on a {
	color: #fff;
	font-weight: 500;
}
#gHeader.on .langUl .on a {
	color: #009D85;
}
.menu {
	width: 5rem;
	height: 5rem;
	position: absolute;
	right: 1.5rem;
	top: 0.6rem;
	transition: .3s;
	cursor: pointer;
	z-index: 99;
}
.menu span {
	width: 3rem;
	height: 1px;
	position: absolute;
	top: 1.9rem;
	left: 1rem;
	background: #9CA3AE;
	transition: all .35s ease;
}
.menu span:nth-of-type(2) {
	top: 2.5rem;
}
.menu span:nth-of-type(3) {
	top: 3.1rem;
}
.menu.on span {
	background: #fff;
}
.menu.on span:nth-of-type(1) {
	transform: translateY(6px) translateX(0) rotate(45deg);
}
.menu.on span:nth-of-type(2) {
	opacity: 0;
}
.menu.on span:nth-of-type(3) {
	transform: translateY(-6px) translateX(0) rotate(-45deg);
}
.menuBg {
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background-color: #000;
	opacity: 0.6;
	z-index: 97;
	display: none;
}
.menuBox {
	position: fixed;
	right: 0;
	top: 0;
	width: calc(50% - 29.3rem);
	min-width: 39rem;
	height: 100vh;
	overflow-y: scroll;
	box-sizing: border-box;
	background-color: #009D85;
	z-index: 98;
	opacity: 0;
	transform: translateX(101%);
	transition: .5s;
}
.menuBox.open {
	opacity: 1;
	transform: translateX(0);
}
.menuBox .menuInfo {
	padding: 10.3rem 5rem 5rem;
	font-family: "rutigerneueltpro";
}
.menuBox .menuLang {
	margin-bottom: 7.6rem;
	font-size: 2rem;
	font-weight: 400;
}
.menuBox .menuLang a {
	padding: 0.7rem 2.4rem 0.5rem;
	display: block;
	color: #fff;
	letter-spacing: 0.02em;
	line-height: 1;
}
.menuBox .menuLang .on a {
	font-weight: 500;
}
.menuBox .menuLang li:not(.on) a {
	opacity: 0.5 !important;
}
.menuBox .menuList {
	font-size: 2.8rem;
	font-weight: 500;
}
.menuBox .menuList li:not(:last-child) {
	margin-bottom: 3.8rem;
}
.menuBox .menuList a {
	position: relative;
	display: block;
	text-align: center;
	overflow: hidden;
}
.menuBox .menuList a::after {
	content: attr(data-text);
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	transform: translateY(0);
}
.menuBox .menuList li:not(.on) a {
	opacity: 0.5 !important;
}
.menuBox .menuList span {
	display: block;
	transform: translateY(0);
}
.menuBox .menuLink {
	width: 17rem;
	margin: 8rem auto 0;
}
.menuBox .menuLink a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 2.8rem;
	color: #fff;
	opacity: 0.5 !important;
	font-size: 1.6rem;
	font-weight: 500;
}
@media all and (min-width: 751px) {
	.menu:hover {
		opacity: 0.7;
	}
	#gHeader .langUl li:not(.on) a:hover {
		background-color: #fff;
	}
	.menuBox .menuLang li:not(.on) a:hover {
		color: #009D85;
		background-color: #fff;
		opacity: 1 !important;
	}
	.menuBox .menuList a:hover {
		opacity: 1 !important;
	}
	.menuBox .menuList a:hover span {
		transition: transform 0.6s cubic-bezier(0.29, 0.86, 0.51, 0.96);
		transform: translateY(-100%);
	}
	.menuBox .menuList a:hover::after {
		transition: transform 0.6s cubic-bezier(0.29, 0.86, 0.51, 0.96);
		transform: translateY(-100%);
	}
	.menuBox .menuLink a:hover {
		color: #009d85;
		opacity: 1 !important;
		background-color: #fff;
	}
}
@media all and (max-width: 750px) {
	#gHeader .hBox {
		max-width: inherit;
		padding: 1.6rem 1.3rem;
	}
	#gHeader h1 {
		width: 12rem;
	}
	#gHeader .langUl {
		right: 6.4rem;
		top: 2.2rem;
		font-size: 1.2rem;
	}
	#gHeader .langUl a {
		padding: 0 0.6rem;
		letter-spacing: 0.1em;
	}
	.menu {
		right: 0.8rem;
	}
	.menu.on {
		right: 1.1rem;
	}
	.menuBox .menuInfo {
		padding: 9.8rem 2rem 5rem;
	}
}
/*------------------------------------------------------------
	gFooter
------------------------------------------------------------*/
#gFooter {
	padding: 3.6rem 0 3.7rem;
	background-color: #515c65;
}
#gFooter li {
	margin: 0 11.7rem;
	font-weight: 500;
	font-size: 1.8rem;
}
@media all and (min-width: 751px) {
	#gFooter a:hover {
		color: #009d85;
	}
}
@media all and (max-width: 750px) {
	#gFooter {
		padding: 2rem 0;
	}
	#gFooter li {
		margin: 0 2.9rem;
		font-size: 1.5rem;
	}
}
/*------------------------------------------------------------
	pageTop
------------------------------------------------------------*/
.pageTop {
	position: fixed;
	right: 2rem;
	bottom: 2rem;
	width: 4.8rem;
	display: none;
	z-index: 90;
}
/*------------------------------------------------------------
	font
------------------------------------------------------------*/
.noto {
	font-family: "Noto Sans JP", sans-serif;
}
.saira {
	font-weight: 500;
	font-family: "Saira", sans-serif;
}
.mincho {
	font-family: "Hina Mincho", serif;
	font-weight: 400;
}
/*------------------------------------------------------------
	fixLink
------------------------------------------------------------*/
.fixLink {
	position: fixed;
	right: 3.1rem;
	top: 50%;
	z-index: 99;
	font-size: 1rem;
	font-weight: 400;
	transform: translateY(-50%);
	display: none;
	font-family: "rutigerneueltpro";
}
.fixLink li {
	margin-bottom: 6rem;
	writing-mode: vertical-rl;
}
.fixLink li:last-child {
	margin-bottom: 0;
}
.fixLink a {
	color: #9CA3AE;
}
.fixLink li.on a {
	color: #009D85;
}
@media all and (min-width: 751px) {
	.fixLink a:hover {
		color: #009D85;
	}
}
@media all and (max-width: 750px) {
	.fixLink {
		display: none !important;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.titleBox {
	overflow: hidden;
}
.headLine01 {
	position: absolute;
	top: 50%;
	left: -10rem;
    right: -10rem;
	text-align: center;
	transform: translateY(-60%);
	font-weight: 500;
	font-size: 9.6rem;
	letter-spacing: 0.02em;
	font-family: "rutigerneueltpro";
}
.headLine01 .sml {
	margin-top: 0.6rem;
	display: block;
	font-size: 4rem;
	letter-spacing: 0;
}
@media all and (max-width: 750px) {
	.headLine01 {
		transform: translateY(-50%);
		font-size: 4rem;
		letter-spacing: 0;
	}
	.headLine01 .sml {
		margin-top: 0;
		font-size: 1.7rem;
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	position: absolute;
    left: -10rem;
    right: -10rem;
	top: 50%;
	transform: translateY(-50%);
	text-align: center;
	font-size: 4rem;
	font-weight: 500;
	font-family: "rutigerneueltpro";
}
.headLine02 .big {
	margin-top: 1.2rem;
	display: block;
	font-size: 9.6rem;
	letter-spacing: 0.02em;
}
@media all and (max-width: 750px) {
	.headLine02 {
		transform: translateY(-72%);
		font-size: 1.7rem;
	}
	.headLine02 .big {
		margin-top: -0.5rem;
		font-size: 4rem;
		letter-spacing: 0;
	}
}
/*------------------------------------------------------------
	loading
------------------------------------------------------------*/
.loading {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 900;
	background-color: #515C65;
	overflow: hidden;
}
.loading.out {
	transition: .5s;
	transform: translateY(-105%);
}
.loading > div {
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	transition: .3s;
}
.loading .loadInfo01 {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: #fff;
}
body:not(.loaded) .loading .loadInfo01 {
	opacity: 1;
}
.loading .loadInfo01 .loadLogo {
	width: 22.8rem;
	margin: 0 auto;
	animation: loading-logo .5s linear forwards;
	opacity: 0;
}
@keyframes loading-logo {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.loading .loadInfo02 {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
}
.loading .loadInfo02.scale {
	animation: scale 5s linear forwards;
}
@keyframes scale {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.7);
	}
}
body.loaded .loading .loadInfo02:not(.hide) {
	opacity: 1;
}
.loading .loadInfo02 p {
	position: relative;
	color: #A8ADB2;
	font-size: 10rem;
	z-index: 1;
}
.loading .loadInfo02 .slide {
	width: 58.5rem;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.loading .loadInfo02 .slide .img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	background-color: #515C65;
	opacity: 0;
}
.loading .loadInfo02 .slide .img.show {
	opacity: 1;
}
#main .logoSec {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 5;
	background-color: #515C65;
}
#main .logoSec.out {
	transition: 1s;
	transform: translateY(-101%);
}
#main .logoSec .textImg {
	width: 33.1rem;
	margin: 0 auto;
}
@media all and (max-width: 750px) {
	.loading .loadInfo01 .loadLogo {
		width: 20rem;
	}
	.loading .loadInfo02 p {
		font-size: 7rem;
	}
	.loading .loadInfo02 .slide {
		width: 27rem;
	}
	#main .logoSec .textImg {
		width: 14rem;
	}
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .mainVisual {
	position: relative;
	clip-path: inset(0);
}
#main .mainVisual::before {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background: url(img/main_visual_bg.jpg) no-repeat center center;
	background-size: cover;
	content: "";
}
#main .mainVisual h2 {
	position: fixed;
}
#main .mainVisual .innerBox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	opacity: 0;
	transition: .5s;
}
#main .mainVisual.show .innerBox {
	opacity: 1;
}
#main .mainVisual .innerBox .headLine01 {
	z-index: 1;
}
#main .mainVisual .innerBox .photoList {
	background-color: #515C65;
}
#main .mainVisual .innerBox li:not(:first-child) {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#main .mainVisual .innerBox li {
	opacity: 0;
	transition: 2s linear;
	overflow: hidden;
	--para: 0%;
}
#main .mainVisual .innerBox li img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
	transform: scale(calc(1 + 0.3*var(--para)));
	transform-origin: 50% 90%;
}
#main .mainVisual .innerBox li:last-child img {
	transform: scale(calc(1 + 0.6*var(--para)));
}
#main .mainVisual.show .innerBox li.on {
	opacity: 1;
}
#main .message {
	position: relative;
	text-align: center;
	clip-path: inset(0);
}
#main .message .stickyOut {
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	user-select: none;
	pointer-events: none;
	z-index: 1;
	opacity: var(--opacity);
}
#main .message .titleBox {
	height: 100vh;
	background-color: #fff;
	clip-path: inset(0);
}
#main .message .headLine01 {
	position: fixed;
	z-index: 1;
	transition: .3s;
	z-index: 5;
	color: #000;
}
#main .message.hideTitle .headLine01 {
	opacity: 0;
}
#main .message .innerBox {
	padding: 60rem 0 16.8rem;
	position: relative;
	z-index: 2;
}
#main .message .innerBox .bgBox {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
#main .message .sticky {
	position: sticky;
	right: 0;
	top: -1rem;
	height: 100vh;
	overflow: hidden;
}
#main .message .sticky .logo {
	position: absolute;
	right: -4.2rem;
	top: 0;
	width: 37rem;
}
#main .message .innerBox .bgBox .enImg {
	position: absolute;
	left: 50%;
	top: 46.8%;
	transform: translateX(-47.2%);
	width: 100.1rem;
	overflow: hidden;
}
#main .message .sticky .logo img {
	opacity: 0;
	transform: translateY(10rem);
	transition: 1s;
}
#main .message .innerBox .bgBox .enImg img {
	opacity: 0;
	transform: translateX(3rem);
	transition: 1s;
}
#main .message.in:not(.out) .sticky .logo img {
	opacity: 1;
	transform: translateY(0);
}
#main .message:not(.out) .innerBox.show .bgBox .enImg img {
	opacity: 1;
	transform: translateX(0);
}
#main .message.in:not(.out) .sticky .logo img {
	transition-delay: .3s;
}
#main .message .textImg {
	position: absolute;
	top: 10.5rem;
	width: 49.5rem;
	left: 50%;
	transform: translateX(-50%);
}
#main .message .innerBox .bgBox .enImg,
#main .message .textImg {
	opacity: var(--opacity);
}
#main .message .textImg img {
	opacity: 0;
	transform: translateY(10rem);
	transition: 1s;
}
#main .message .show .textImg img {
	opacity: 1;
	transform: translateY(0);
}
#main .message .topTitle {
	margin-bottom: 7.2rem;
	font-size: 3rem;
	line-height: 1.56;
}
#main .message .text {
	margin-bottom: 2.3rem;
	font-size: 1.8rem;
	line-height: 2;
}
#main .message .text:last-child {
	margin-bottom: 0 !important;
}
#main .message .fadeIn {
	opacity: 0;
	transform: translateY(4rem);
	transition: 1s;
}
#main .message .innerBox.show .fadeIn.inView {
	opacity: 1;
	transform: translateY(0);
}
#main .history {
	position: relative;
}
#main .history .topPhoto {
	clip-path: inset(0);
	height: 100vh;
}
#main .history .topPhoto .inner {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
#main .history .topPhoto .inner::after,
#main .history .topPhoto .inner::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 130%;
	content: "";
	will-change: transform;
	background: url(img/history_person.jpg) no-repeat center / contain;
	transform: translate3d(0, calc(-30% * var(--para)), 0);
}
#main .history .topPhoto .inner::before {
	/* filter: blur(30px); */
	background-size: cover;
	background-image: url(img/history_person_on.jpg);
}
#main .history .topPhoto h2 {
	z-index: 1;
}
#main .history .titleBox {
	height: 100vh;
	clip-path: inset(0);
	background-color: #fff;
}
#main .history .titleBox .headLine02 {
	position: fixed;
	color: #000;
}
#main .history .timeList {
	position: sticky;
	left: calc(7.6*var(--size));
	top: calc(11*var(--size));
	width: calc(4.8*var(--size));
}
#main .history .timeList li {
	margin-bottom: calc(-0.6*var(--size));
}
#main .history .timeList a {
	height: calc(4.8*var(--size));
	padding-top: calc(1.2*var(--size));
	display: block;
	text-align: center;
	font-size: calc(1.5*var(--size));
	font-weight: 400;
	background-color: #999;
	box-sizing: border-box;
	border-radius: 100%;
	border: 1px solid #515C65;
}
#main .history .timeList .on a {
	background-color: #009D85;
	border-color: #009D85;
}
#main .historyBox {
	position: relative;
	padding-top: 8.5rem;
}
#main .history .sticky {
	position: absolute;
	left: -1.9rem;
	top: 100vh;
	height: calc(100% - 100vh);
	user-select: none;
	pointer-events: none;
	transition: .5s;
	opacity: 0;
	transform: translateY(4rem);
}
#main .history .sticky.inView {
	opacity: 1;
	transform: translateY(0);
}
#main .history .logo {
	position: sticky;
	left: 0;
	top: 0;
	height: calc(100vh - 2.1rem);
    width: 37rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
#main .historyBox .timeBox {
	position: absolute;
	left: calc(7.6*var(--size));
	top: 0;
	height: 100%;
	z-index: 2;
	opacity: 0;
	transition: .5s;
	transform: translateY(4rem);
}
#main .historyBox .timeBox.inView {
	opacity: 1;
	transform: translateY(0);
}
#main .historyBox .line {
	margin-left: auto;
	width: calc(50% + calc(48*var(--size)));
	height: 1px;
	background-color: #868D93;
	clip-path: inset(0 0 0 100%);
	transition: .5s;
}
#main .historyBox .borLeft .line {
	clip-path: inset(0 100% 0 0);
}
#main .historyBox.playing .inView .borLeft .line,
#main .historyBox.playing .inView .line {
	clip-path: inset(0 0 0 0);
}
#main .historyBox .time {
	position: absolute;
	width: calc(30*var(--size));
	top: calc(4*var(--size));
	right: calc(50% + calc(18*var(--size)));
	font-size: calc(10.5*var(--size));
	line-height: 1;
	color: #A6ACB0;
	white-space: nowrap;
	transform: translateX(3rem);
	opacity: 0;
	transition: 1s;
}
#main .historyBox .borLeft .time {
	transform: translateX(-3rem);
}
#main .historyBox.playing .inView .info.show .time,
#main .historyBox.playing .inView .borLeft .info.show .time {
	transform: translateX(0);
	opacity: 1;
	transition-delay: .3s;
}
#main .historyBox .time .sml {
	font-size: calc(1.5*var(--size));
	font-family: "Noto Sans JP", sans-serif;
}
#main .historyBox .time01 .sml {
	margin-left: calc(0.5*var(--size));
}
#main .historyBox .info {
	position: relative;
	padding: calc(4.1*var(--size)) 0;
}
#main .historyBox .imgBox {
	padding-left: calc(50.8*var(--size));
	margin: 0 auto;
	position: relative;
	max-width: calc(130*var(--size));
}
#main .historyBox .imgBox .photo {
	position: absolute;
	left: 12.9%;
	top: calc(17.2*var(--size));
	width: 23.1%;
	z-index: 2;
}
#main .historyBox .imgBox .photo img {
	width: 100%;
}
#main .historyBox .imgBox h3 {
	margin-bottom: calc(5.2*var(--size));
	font-size: calc(3*var(--size));
	line-height: 1.43;
	font-weight: 400;
	font-family: "Hina Mincho", serif;
}
#main .historyBox .imgBox .textBox {
	--font: calc(1.75*var(--size));
	width: calc(42*var(--size));
	height: calc(7.72*var(--font));
	overflow: hidden;
	--height: 0;
	transition: calc(var(--time) + 0.5s);
	position: relative;
    z-index: 2;
}
#main .historyBox .imgBox .textBox .hide {
	opacity: 0;
	transition: .2s linear;
	display: inline-block;
	transition-delay: calc(var(--time) - var(--dely));
}
#main .historyBox .imgBox.open .textBox .hide {
	opacity: 1;
	transition-delay: var(--dely);
}
#main .historyBox .imgBox.open .textBox {
	height: var(--height) !important;
}
#main .historyBox .imgBox .textBox p {
	margin-bottom: calc(1.93*var(--font));
	font-size: var(--font);
	line-height: 1.93;
	display: flex;
	flex-wrap: wrap;
}
#main .historyBox .imgBox .link {
	margin: calc(2.8*var(--size)) 0 0;
	position: relative;
    z-index: 2;
}
#main .historyBox .imgBox .link a {
	padding: calc(0.6*var(--size));
	width: calc(42*var(--size));
	display: block;
	color: #fff;
	font-size: calc(1.2*var(--size));
	text-align: center;
	background: #009D85;
}
#main .historyBox .imgBox .link .on {
	display: none;
}
#main .historyBox .imgBox.open .link a {
	color: #009D85;
	background-color: #fff;
}
#main .historyBox .imgBox.open .link .on {
	display: inline-block;
}
#main .historyBox .imgBox.open .link .off {
	display: none;
}
#main .historyBox .imgBox .enImg {
	width: calc(51.4*var(--size));
	position: relative;
}
#main .historyBox .imgBox .enImg img + img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#main .historyBox .imgBox .image01 {
	position: absolute;
	width: calc(23.6*var(--size));
	right: calc(1.2*var(--size));
	top: calc(2.4*var(--size));
	z-index: 1;
}
#main .historyBox .imgBox .image02 {
	position: absolute;
	width: calc(18.5*var(--size));
	right: calc(14.7*var(--size));
	top: calc(21.3*var(--size));
	z-index: 1;
}
#main .historyBox .imgBox .image03 {
	position: absolute;
	width: 11.3%;
	right: calc(10.5*var(--size));
	top: calc(45*var(--size));
	z-index: 1;
}
#main .historyBox .borLeft .photo {
	left: auto !important;
	right: 5.8%;
	top: calc(18*var(--size));
	width: 32.4%;
}
#main .historyBox .borLeft .enImg {
	width: calc(47.4*var(--size));
}
#main .historyBox .short .enImg {
	width: calc(68.9*var(--size));
}
#main .historyBox .imgBox .subBox > *,
#main .historyBox .imgBox > *:not(.enImg,.subBox) {
	transition: 1s;
	opacity: 0;
	transform: translateY(4rem);
}
#main .historyBox.playing .show .imgBox .subBox > .isShow,
#main .historyBox.playing .show .imgBox > .isShow:not(.enImg,.subBox) {
	opacity: 1;
	transform: translateY(0);
	transition-delay: .5s;
}
#main .historyBox .imgBox > *:not(.enImg,.subBox) img {
	filter: blur(10px);
	transform: scale(1.5);
	transition: 1s;
}
#main .historyBox.playing .show .imgBox > .isShow:not(.enImg,.subBox) img {
	filter: blur(0);
	transform: scale(1);
	transition-delay: .5s;
}
/* #main .historyBox.playing .show .imgBox .dely01 {
	transition-delay: .6s;
	--dely: .6s;
}
#main .historyBox.playing .show .imgBox .dely02 {
	transition-delay: .7s;
	--dely: .7s;
}
#main .historyBox.playing .show .imgBox .dely03 {
	transition-delay: .8s;
	--dely: .8s;
}
#main .historyBox.playing .show .imgBox .dely04 {
	transition-delay: .9s;
	--dely: .9s;
}
#main .historyBox.playing .show .imgBox .dely05 {
	transition-delay: 1s;
	--dely: 1s;
}
#main .historyBox.playing .show .imgBox .dely06 {
	transition-delay: 1.1s;
	--dely: 1.1s;
}
#main .historyBox.playing .show .imgBox .dely07 {
	transition-delay: 1.2s;
	--dely: 1.2s;
} */
#main .historyBox .imgBox .enImg img {
	display: block;
	opacity: 0;
	transform: translateY(4rem);
	transition: 1s;
	--dely: .5s;
}
#main .historyBox.playing .show .imgBox .enImg.isShow img {
	transition: .5s;
	opacity: 0.66;
	transform: translateY(0);
	transition-delay: var(--dely);
}
#main .historyBox.playing .show .imgBox .enImg.isShow img + img {
	transition-delay: calc(var(--dely) + .1s);
}
#main .historyBox.playing .show .imgBox .enImg.isShow img:nth-child(3) {
	transition-delay: calc(var(--dely) + .2s);
}
#main .stories {
	position: relative;
}
#main .stories .sticky {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	user-select: none;
	pointer-events: none;
}
#main .stories .logo {
	position: sticky;
	top: calc(100% - 37rem);
	right: 0;
	height: 37rem;
    width: 37rem;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}
#main .stories .titleBox {
	position: relative;
	height: 100vh;
	clip-path: inset(0);
	background: #fff;
	z-index: -1;
}
#main .stories .headLine01 {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	color: #000;
}
#main .stories .headLine01 .sml {
	margin-top: 2.1rem;
}
#main .stories .inner {
	min-height: max(100vh,76.9rem);
	padding: 5.9rem 0 9.2rem;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	overflow: hidden;
}
#main .stories .innerBox {
	width: 100%;
	position: relative;
}
#main .stories .enImg {
	position: absolute;
	left: 50%;
	top: 6rem;
	width: 87.2rem;
	margin-left: -55.7rem;
	transition-delay: .8s;
}
#main .stories .topText {
	margin-bottom: 7rem;
	font-size: 1.8rem;
	line-height: 2;
	text-align: center;
	transition-delay: .5s;
}
#main .stories .photoBox {
	width: 101.1rem;
	margin: 0 auto;
	position: relative;
	transition-delay: 1.2s;
}
#main .stories .photoInfo {
	transition-delay: 1.2s;
}
#main .stories .link {
	display: block;
	position: absolute;
}
#main .stories .link::before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #009D85;
	opacity: 0;
	content: "";
	transition: .3s;
}
#main .stories .link01 {
	padding-top: 5.4rem;
	left: 0;
	top: 0;
	width: 29.2rem;
	height: 22rem;
	clip-path: polygon(0 0, 100% 0, 95% 85%, 0% 100%);
}
#main .stories .link02 {
	padding: 5.4rem 3rem 0 0;
	left: 28.5rem;
	top: 0;
	width: 40.4rem;
	height: 18.7rem;
	clip-path: polygon(4% 0, 95% 0, 100% 76%, 0% 100%);
}
#main .stories .link03 {
	padding: 6.5rem 0 0 5rem;
	right: 0;
	top: 0;
	width: 33rem;
	height: 18rem;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 8% 100%);
}
#main .stories .link04 {
	padding: 7.5rem 1.5rem 0 0;
	left: 0;
	bottom: 0;
	width: 27.5rem;
	height: 20.1rem;
	clip-path: polygon(0 16%, 100% 0, 93% 101%, 0 100%);
}
#main .stories .link05 {
	padding: 11.8rem 0 0 0.5rem;
	left: 26.8rem;
	bottom: 0;
	width: 22.8rem;
	height: 22.8rem;
	clip-path: polygon(8% 11%, 100% 0, 100% 100%, 0 100%);
}
#main .stories .link06 {
	padding: 12.2rem 1.5rem 0 0;
	right: 28rem;
	bottom: 0;
	width: 22.4rem;
	height: 25.2rem;
	clip-path: polygon(0 8%, 83% 0%, 100% 100%, 0 100%);
}
#main .stories .link06 span {
	padding: 1rem 0.5rem;
}
#main .stories .link07 {
	padding: 6.6rem 0 0 3.5rem;
	right: 0;
	bottom: 0;
	width: 30rem;
	height: 20.9rem;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 11% 100%);
}
#main .stories .link span {
	position: relative;
	z-index: 1;
	width: fit-content;
	margin: 0 auto;
	padding: 1rem 2rem;
	display: block;
	text-align: center;
	font-weight: 700;
	font-size: 1.36rem;
	line-height: 1.27;
	background-color: #009D85;
	transition: .3s;
}
#main .business {
	position: relative;
}
#main .business .sticky {
	position: absolute;
	left: 4.2rem;
    top: 0;
    height: 100%;
    user-select: none;
    pointer-events: none;
}
#main .business .logo {
	position: sticky;
	left: 0;
	top: 12.9rem;
    width: 37rem;
}
#main .business .titleBox {
	position: relative;
	height: 100vh;
	background: #fff;
	clip-path: inset(0);
	z-index: -1;
}
#main .business .headLine02 {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	color: #000;
}
#main .business .headLine02 .big {
	letter-spacing: 0;
}
#main .business .inner {
	position: sticky;
	top: 0;
	min-height: 100vh;
	padding: 7.5rem 0 27.2rem;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	overflow: hidden;
}
#main .business .innerBox {
	width: 100%;
	position: relative;
}
#main .business .enImg {
	position: absolute;
	right: 50%;
	bottom: -13.5rem;
	width: 79.9rem;
	margin-right: -63rem;
}
#main .business .topText {
	margin-bottom: 7rem;
	font-size: 1.8rem;
	line-height: 2;
	text-align: center;
	transition-delay: .5s;
}
#main .business .slideBox {
	width: 100%;
	display: flex;
}
#main .business .slide {
	width: 38rem !important;
	margin: 0 1.5rem;
	--slide: 0;
	flex-shrink: 0;
}
#main .business .slide a {
	padding: 2.2rem 2rem 4rem;
	height: 100%;
	text-align: center;
	box-sizing: border-box;
	display: block;
	background-color: #68727A;
	opacity: calc((1 - 1 * var(--slide)));
	transform: scale(calc(1 - 0.3 *var(--slide)));
	transition: 0s;
}
#main .business .slide:last-child a {
	opacity: 1;
	transform: scale(1);
}
#main .business .slide .pho {
	width: 25rem;
	margin: 0 auto 2.9rem;
	background-color: #fff;
	overflow: hidden;
}
#main .business .slide .pho img {
	width: 100%;
	transition: .3s;
}
#main .business .slide h3 {
	font-size: 1.8rem;
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: 0.08em;
	font-feature-settings: "palt";
}
#main .business .slide p {
	margin: 0 auto 2.2rem;
	padding: 0.1rem 0.9rem 0.3rem;
	width: fit-content;
	display: block;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	background-color: #fff;
	font-feature-settings: normal;
	color: #009D85;
}
#main .business .slick-arrow {
	position: absolute;
	top: 11.5rem;
	background: url(img/business_prev.png) no-repeat center center;
	background-size: 100% 100%;
	cursor: pointer;
	z-index: 8;
	font-size: 0;
	width: 4.8rem;
	height: 4.8rem;
	border: none;
	transition: .3s;
}
#main .business .slick-arrow::before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(img/business_prev_on.png) no-repeat center center;
	background-size: 100% 100%;
	content: "";
	opacity: 0;
	transition: .3s;
}
#main .business .slick-next::before {
	background-image: url(img/business_next_on.png);
}
#main .business .slick-prev {
    left: 6rem;
    top: 11.5rem;
}
#main .business .slick-next {
	right: 6rem;
	background-image: url(img/business_next.png);
}
#main .business .slick-dots {
	position: absolute;
	left: 0;
	width: 100%;
	text-align: center;
	bottom: -9rem;
}
#main .business .slick-dots li {
	position: relative;
	display: inline-block;
	width: 1rem;
	height: 1rem;
	margin: 0 0.5rem;
	padding: 0;
	cursor: pointer;
	background: #fff;
	border-radius: 100%;
	opacity: 0.2;
}
#main .business .slick-dots li button {
	display: none;
}
#main .business .slick-dots li.slick-active {
	opacity: 1;
}
#main .business .animate:not(.inView) .slide .fadeInUp {
	transform: translateY(10rem);
	opacity: 0;
}
#main .business .animate:not(.inView) .fadeInUp {
	transform: translateY(10rem);
}
#main .nextyears {
	position: relative;
	clip-path: inset(0);
	overflow: hidden;
}
#main .nextyears::before {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(img/nextyears_bg.jpg) no-repeat center / cover;
	content: "";
	transform: scale(1.3);
	transform-origin: 50% calc(50% * var(--para));
}
#main .nextyears .titleBox {
	height: 100vh;
	clip-path: inset(0);
}
#main .nextyears .titleBox:not(.box02) {
	background-color: #fff;
}
#main .nextyears .titleBox:not(.box02) .headLine02 {
	color: #000;
}
#main .nextyears .titleBox .headLine02 {
	position: fixed;
	color: #fff;
}
#main .nextyears .inner {
	position: relative;
	z-index: 1;
	min-height: calc(100vh - 10rem);
	padding: 7.5rem 0;
	background: rgba(255,255,255,0.8);
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	box-sizing: border-box;
	overflow: hidden;
}
#main .nextyears .topText {
	margin-bottom: 7.2rem;
	font-size: 3rem;
}
#main .nextyears .text {
	margin-bottom: 2.3rem;
	font-size: 1.8rem;
	line-height: 2;
}
#main .historyBox .border {
	overflow: hidden;
}
#main .nextyears .text {
	transition-delay: .5s;
}
#main .nextyears .text:nth-child(3) {
	transition-delay: .8s;
}
#main .nextyears .text:last-child {
	margin-bottom: 0 !important;
	transition-delay: 1.2s;
}
#main .nextyears .animate:not(.inView) .fadeInUp {
	transform: translateY(10rem);
}
@media all and (min-width: 751px) {
	#main .historyBox .imgBox .textBox.height01 {
		height: calc(5.79*var(--font));
	}
	#main .historyBox .imgBox .textBox.wid01 {
		width: calc(42.5 * var(--size));
	}
	#main .historyBox .imgBox .textBox.wid02 {
		width: calc(41 * var(--size));
	}
	#main .stories .logo img {
		margin: 0 -1.3rem 0 1.3rem;
	}
	#main .history .timeList a:hover {
		background-color: #009D85;
		border-color: #009D85;
	}
	#main .historyBox .imgBox .link a:hover {
		color: #009D85;
		background-color: #fff;
	}
	#main .historyBox .imgBox.open .link a:hover {
		color: #fff;
		background-color: #009D85;
	}
	#main .stories .link:hover::before {
		opacity: 0.8;
	}
	#main .stories .link:hover span {
		background-color: transparent;
	}
	#main .business .slide a:hover img {
		transform: scale(1.1);
	}
	#main .historyBox .borLeft .line {
		margin-left: 0;
	}
	#main .historyBox .borLeft .time {
		right: auto;
		left: calc(50% + calc(18.5*var(--size)));
		text-align: right;
	}
	#main .historyBox .borLeft .imgBox {
		padding-left: calc(17*var(--size));
	}
	#main .historyBox .short .line {
		width: calc(50% + calc(18*var(--size)));
	}
	#main .historyBox .short .time {
		right: calc(50% - calc(10*var(--size)));
	}
	#main .historyBox .short .imgBox {
		padding: 0 75px;
	}
	#main .historyBox .short .subBox {
		width: fit-content;
		margin-left: auto;
	}
	#main .historyBox .info {
		box-sizing: border-box;
		min-height: calc(75*var(--size));
	}
	#main .historyBox .imgBox .enImg {
		position: absolute;
		left: calc(43.8*var(--size));
		top: calc(40.1*var(--size));
	}
	#main .historyBox .info02 {
		min-height: calc(77.7*var(--size));
	}
	#main .historyBox .info02 .imgBox .enImg {
		left: calc(24.8*var(--size));
		top: calc(38.1*var(--size));
	}
	#main .historyBox .info02 .image01 {
		width: calc(13.4*var(--size));
		right: 39.2%;
		top: calc(37.1*var(--size));
	}
	#main .historyBox .info02 .image02 {
		width: calc(16.1*var(--size));
		right: 17%;
		top: calc(50.9*var(--size));
	}
	#main .historyBox .info03 {
        min-height: calc(74*var(--size));
    }
    #main .historyBox .info03 .imgBox .enImg {
        left: calc(51.8*var(--size));
		top: calc(32.1*var(--size));
    }
	#main .historyBox .info03 .image01 {
		width: calc(19.3*var(--size));
		right: auto;
		left: 23.9%;
		top: calc(8.5*var(--size));
	}
	#main .historyBox .info03 .image02 {
		width: calc(13.3*var(--size));
		right: auto;
		left: 38.5%;
		top: calc(15.2*var(--size));
	}
	#main .historyBox .info03 .image03 {
		width: calc(38.6*var(--size));
		right: auto;
		left: 17.8%;
		top: calc(34.5*var(--size));
	}
	#main .historyBox .info04 {
        min-height: calc(59*var(--size));
    }
    #main .historyBox .info04 .imgBox .enImg {
       left: calc(22.8*var(--size));
		top: calc(31.1*var(--size));
		width: calc(74*var(--size));
    }
	#main .historyBox .info04 .image01 {
		width: calc(10.3*var(--size));
		right: 12.5%;
		top: calc(11.5*var(--size));
	}
	#main .historyBox .info05 {
        min-height: calc(82*var(--size));
    }
    #main .historyBox .info05 .imgBox .enImg {
		left: calc(50.8*var(--size));
		top: calc(37.1*var(--size));
		width: calc(41*var(--size));
    }
	#main .historyBox .info05 .image01 {
		width: calc(28.4*var(--size));
		top: calc(6.5*var(--size));
		right: 9.3%;
	}
	#main .historyBox .info05 .image02 {
		width: calc(10.5*var(--size));
		top: calc(15.8*var(--size));
		right: 3.7%;
	}
	#main .historyBox .info05 .image03 {
		right: 11.5%;
		width: calc(20.6*var(--size));
		top: calc(25.6*var(--size));
	}
	#main .historyBox .info06 {
        min-height: calc(71*var(--size));
    }
    #main .historyBox .info06 .imgBox .enImg {
       left: calc(51.8*var(--size));
		top: calc(34.1*var(--size));
		width: calc(65.9*var(--size));
    }
	#main .historyBox .info06 .image01 {
		width:calc( 21*var(--size));
		left: 38%;
		right: auto;
		top: calc(14.5*var(--size));
	}
	#main .historyBox .info06 .image02 {
		width: calc(39.4*var(--size));
		right: auto;
		left: 19.8%;
		top:  calc(24.4*var(--size));
	}
	#main .historyBox .info07 {
        min-height: calc(78.8*var(--size));
    }
    #main .historyBox .info07 .imgBox .enImg {
       left: calc(15.8*var(--size));
		top: calc(38.1*var(--size));
		width: calc( 107.3*var(--size));
    }
	#main .historyBox .info07 .image01 {
		width: calc(22.8*var(--size));
		right: 34.2%;
		top: calc(7.3*var(--size));
	}
	#main .historyBox .info07 .image02 {
		width: calc(32.7*var(--size));
		right: 6.7%;
		top: calc(18.8*var(--size));
	}
	#main .historyBox .info07 .image03 {
		right: calc(-3*var(--size));
		width: calc(58*var(--size));
		top: calc(39.5*var(--size));
	}
	#main .historyBox .info08 {
        min-height: calc(61.5*var(--size));
    }
    #main .historyBox .info08 .imgBox .enImg {
       left: calc(36.8*var(--size));
    top: calc(36.1*var(--size));
		width: calc(52.6*var(--size));
    }
	#main .historyBox .info08 .image01 {
		right: auto;
		left: 8.5%;
		width: calc(35.8*var(--size));
		top: calc(12.7*var(--size));
	}
	#main .historyBox .info08 .image02 {
		right: 8.5%;
		width: calc(16*var(--size));
		top: calc(24.3*var(--size));
	}
	#main .historyBox .info08 .image03 {
		width: calc(33.6*var(--size));
		right: 3.5%;
		top: calc(47*var(--size));
	}
	#main .historyBox .info09 {
        min-height: calc(75.7*var(--size));
    }
    #main .historyBox .info09 .imgBox .enImg {
       left: calc(67.8*var(--size));
		top: calc(32.1*var(--size));
		width: calc(55.4*var(--size));
    }
	#main .historyBox .info09 .photo {
		left: 15.8%;
		width: 18.1%;
		top: calc(11.3*var(--size));
	}
	#main .historyBox .info09 .photo .zoom {
		margin-top: calc(3.5*var(--size));
	}
	#main .historyBox .info09 .image01 {
		width: calc(21.5*var(--size));
		right: 7.5%;
		top: calc(12.7*var(--size));
	}
	#main .historyBox .info10 {
        min-height: calc(64.4*var(--size));
    }
	#main .historyBox .info10 .photo {
		top: calc(18.2*var(--size));
		right: 11.8%;
		width: 15.5%;
	}
	#main .historyBox .info10 .photo .zoom {
		margin-bottom: calc(2.9*var(--size));
	}
	#main .historyBox .info10 .image01 {
		width: calc(18.6*var(--size));
		right: 37%;
		top: calc(12*var(--size));
	}
	#main .historyBox .info10 .image02 {
		width: calc(24*var(--size));
		right: 25.7%;
		top: calc(50.5*var(--size));
	}
	#main .historyBox .info11 {
        min-height: calc(72*var(--size));
    }
	#main .historyBox .info11 .enImg {
		left: calc(27.8*var(--size));
		top: calc(38.1*var(--size));
		width: calc(35.5*var(--size));
	}
	#main .historyBox .info11 .image01 {
		width: calc(30.8*var(--size));
		right: 18.8%;
		top: calc(16.7*var(--size))
	}
	#main .historyBox .info11 .image02 {
		width: calc(14.3*var(--size));
		right: calc(12*var(--size));
		top: calc(21.6*var(--size));
	}
	#main .historyBox .info11 .image03 {
		width: calc(29.6*var(--size));
		right: 27%;
		top: calc(38.8*var(--size));
	}
	#main .historyBox .info12 {
        min-height: calc(62.2*var(--size));
    }
	#main .historyBox .info12 .imgBox {
		padding-right: 3%;
	}
	#main .historyBox .info12 .enImg {
		width: calc(58.5*var(--size));
		left: calc(63.8*var(--size));
		top: calc(38.1*var(--size));
	}
	#main .historyBox .info12 .image01 {
		width: calc(38.8*var(--size));
		right: auto;
		top: calc(2*var(--size));
		left: calc(9*var(--size));
	}
	#main .historyBox .info12 .image02 {
		width: calc(29.4*var(--size));
		right: auto;
		top: calc(15*var(--size));
		left: calc(40*var(--size));
	}
	#main .historyBox .info13 {
        min-height: calc(54.5*var(--size));
    }
	#main .historyBox .info13 .enImg {
		width: calc(57.9*var(--size));
		left: calc(63.8*var(--size));
		top: calc(37.1*var(--size));
	}
	#main .historyBox .info13 .image01 {
		width: calc(31.5*var(--size));
		right: auto;
		top: calc(12.7*var(--size));
		left: calc(26.5*var(--size));
	}
	#main .historyBox .info14 {
        min-height: calc(85.4*var(--size));
    }
	#main .historyBox .info14 .enImg {
		width: calc(57.9*var(--size));
		left: calc(64.8*var(--size));
		top: calc(38.1*var(--size));
	}
	#main .historyBox .info14 .image01 {
		width: calc(30.8*var(--size));
		right: calc(52.8*var(--size));
		top: calc(11.3*var(--size));
	}
	#main .historyBox .info14 .image02 {
		width: calc(26.5*var(--size));
		right: calc(79.5*var(--size));
		top: calc(16.7*var(--size));
	}
	#main .historyBox .info14 .image03 {
		width: calc(31.3*var(--size));
		right: calc(62*var(--size));
		top: calc(46*var(--size));
	}
	#main .historyBox .info15 {
        min-height: calc(78.1*var(--size));
    }
	#main .historyBox .info15 .enImg {
		width: calc(65*var(--size));
		left: calc(23.8*var(--size));
		top: calc(37.1*var(--size));
	}
	#main .historyBox .info15 .image01 {
		width: calc(12.7*var(--size));
		right: calc(45.2*var(--size));
		top: calc(12*var(--size));
	}
	#main .historyBox .info15 .image02 {
		width: calc(37.9*var(--size));
		right: calc(10.5*var(--size));
		top: calc(31*var(--size));
	}
	#main .historyBox .info16 {
        min-height: calc(71*var(--size));
    }
	#main .historyBox .info16 .enImg {
		width: calc(45.6*var(--size));
		left: calc(49.8*var(--size));
		top: calc(39.1*var(--size));
	}
	#main .historyBox .info16 .image01 {
		width: calc(34*var(--size));
		right: auto;
		top: calc(19*var(--size));
		left: calc(13*var(--size));
	}
	#main .historyBox .info16 .image02 {
		width: calc(24.5*var(--size));
		right: calc(10*var(--size));
		top: calc(33.4*var(--size));
	}
	#main .historyBox .info17 {
        min-height: calc(65.2*var(--size));
    }
	#main .historyBox .info17 .enImg {
		left: calc(22.8*var(--size));
		top: calc(38.1*var(--size));
		width: calc(56.7*var(--size));
	}
	#main .historyBox .info17 .image01 {
		width: calc(23.8*var(--size));
		right: calc(36.2*var(--size));
		top: calc(12*var(--size));
	}
	#main .historyBox .info17 .image02 {
		width: calc(23.8*var(--size));
		right: calc(18.7*var(--size));
		top: calc(21.4*var(--size));
	}
	#main .historyBox .info17 .image03 {
		width: calc(29.3*var(--size));
		right: calc(16.7*var(--size));
		top: calc(41*var(--size));
	}
	#main .historyBox .info18 {
        min-height: calc(68.3*var(--size));
    }
	#main .historyBox .info18 .enImg {
		left: calc(23.8*var(--size));
		top: calc(34.1*var(--size));
		width: calc(50.2*var(--size));
	}
	#main .historyBox .info18 .image01 {
		width: calc(20.9*var(--size));
		right: calc(34.2*var(--size));
		top: calc(14.8*var(--size));
	}
	#main .historyBox .info18 .image02 {
		width: calc(32.6*var(--size));
		right: calc(14.5*var(--size));
		top: calc(32.8*var(--size));
	}
	#main .historyBox .info19 {
        min-height: calc(79.5*var(--size));
    }
	#main .historyBox .info19 .enImg {
		width: calc(74.3*var(--size));
	}
	#main .historyBox .info19 .image02 {
		width: calc(40.4*var(--size));
		right: calc(65.7*var(--size));
		top: calc(14*var(--size));
	}
	#main .historyBox .info19 .image03 {
		width: calc(33.2*var(--size));
		right: calc(56.5*var(--size));
		top: calc(53.3*var(--size));
	}
	#main .historyBox .info06 .imgBox {
		padding-right: 1.1%;
	}
	#main .historyBox .info14 .subBox {
		margin-right: calc(-7*var(--size));
	}
	#main .historyBox .info15 .textBox {
		width: calc(44*var(--size));
	}
	#main .business .slick-arrow:hover::before {
		opacity: 1;
	}
	#main .business .slick-arrow:hover {
		background-image: none;
	}
}
@media all and (max-width: 750px) {
	#main .business .sticky {
		left: 0;
	}
	#main .business .logo {
		width: 23rem;
	}
	#main .history .logo {
		width: 23rem;
	}
	#main .stories .logo {
		width: 23rem;
		top: calc(100% - 23rem);
		height: 23rem;
	}
	#main .message .headLine01 .sml {
		margin-top: 0;
	}
	#main .message .innerBox {
		padding: 52rem 0 14rem;
	}
	#main .message .stickyOut .logo {
		width: 23rem;
		right: -2.7rem;
	}
	#main .message .innerBox .bgBox .enImg {
		top: 52%;
		transform: translateX(-32.5%);
		width: 47.3rem;
	}
	#main .message .textImg {
		width: 30.1rem;
	}
	#main .message .topTitle {
		margin-bottom: 10rem;
		font-size: 2rem;
		line-height: 1.4;
	}
	#main .message .text {
		margin-bottom: 3.4rem;
		font-size: 1.7rem;
	}
	#main .historyBox {
		padding-top: 6rem;
	}
	#main .history .topPhoto .inner::after,
	#main .history .topPhoto .inner::before {
		background: url(img/history_person_sp.jpg) no-repeat center / cover;
	}
	#main .history .topPhoto .inner::before {
		display: none;
	}
	#main .history .timeList {
		display: none;
	}
	#main .historyBox .line {
		margin: 0 auto !important;
		width: calc(100% - 3.6rem) !important;
	}
	#main .historyBox .time {
		width: auto;
		top: 2rem;
		left: 2rem;
		right: auto;
		font-size: 5rem;
	}
	#main .historyBox .time .sml {
		font-size: 1.1rem;
	}
	#main .historyBox .info {
		padding: 8.7rem 2rem 38.4rem;
	}
	#main .historyBox .info02 {
		padding-bottom: 15.3rem;
	}
	#main .historyBox .info03 {
		padding-bottom: 22rem;
	}
	#main .historyBox .info04 {
		padding-bottom: 9.4rem;
	}
	#main .historyBox .info06 {
		padding-bottom: 21.4rem;
	}
	#main .historyBox .info07 {
		padding-bottom: 32.4rem
	}
	#main .historyBox .info08 {
		padding-bottom: 21rem;
	}
	#main .historyBox .info09 {
		padding-bottom: 22rem;
	}
	#main .historyBox .info10 {
		padding-bottom: 27.2rem;
	}
	#main .historyBox .info11 {
		padding-bottom: 26.4rem;
	}
	#main .historyBox .info12 {
		padding-bottom: 13rem;
	}
	#main .historyBox .info13 {
		padding-bottom: 15.8rem;
	}
	#main .historyBox .info14 {
		padding-bottom: 32.4rem;
	}
	#main .historyBox .info15 {
		padding-bottom: 16.4rem;
	}
	#main .historyBox .info16 {
		padding-bottom: 25.6rem;
	}
	#main .historyBox .info17 {
		padding-bottom: 16.9rem;
	}
	#main .historyBox .info18 {
		padding-bottom: 19.8rem;
	}
	#main .historyBox .info19 {
		padding-bottom: 35rem;
	}
	#main .historyBox .imgBox {
		padding-left: 0;
	}
	#main .historyBox .imgBox .photo {
		width: 14.6rem;
		left: 0;
		bottom: -10.5rem;
		top: auto !important;
	}
	#main .historyBox .imgBox h3 {
		margin: 0 -1rem 2.2rem 0;
		font-size: 2rem;
		line-height: 1.5;
	}
	#main .historyBox .imgBox .textBox {
		width: auto;
		--font: 1.5rem;
		height: calc(5.58*var(--font));
	}
	#main .historyBox .imgBox .textBox p {
		margin-bottom: calc(1.86*var(--font));
		line-height: 1.86;
	}
	#main .historyBox .imgBox .link {
		margin: 1.8rem auto 2rem;
		width: 35rem;
	}
	#main .historyBox .imgBox .link a {
		padding: 0.2rem;
		width: auto;
		font-size: 1.3rem;
	}
	#main .historyBox .imgBox .link01 {
		margin-bottom: 1.6rem;
	}
	#main .historyBox .imgBox .enImg {
		margin: 0 -0.2rem -8.8rem auto;
		width: 25.4rem;
	}
	#main .historyBox .imgBox .image01 {
		top: auto !important;
		width: 14.8rem;
		right: -2rem;
		bottom: -4.6rem;
	}
	#main .historyBox .imgBox .image02 {
		top: auto !important;
		width: 11.6rem;
		right: 7rem;
		bottom: -15.2rem;
	}
	#main .historyBox .imgBox .image03 {
		top: auto !important;
		width: 9.2rem;
		right: 1.5rem;
		bottom: -23.8rem;
	}
	#main .historyBox .borLeft .photo {
		right: 0;
		width: 17.6rem;
		bottom: 1.2rem;
	}
	#main .historyBox .borLeft .enImg {
		margin: 0;
	}
	#main .historyBox .short .enImg {
		margin: -1.9rem -5.5rem 0 auto;
		width: 34.8rem;
	}
	#main .historyBox .info02 .enImg {
		width: 23.6rem;
		margin-top: 6rem;
	}
	#main .historyBox .info02 .image01 {
		width: 8.4rem;
		right: auto;
		left: 4.5rem;
		bottom: -4.5rem;
	}
	#main .historyBox .info02 .image02 {
		width: 10.3rem;
		right: 3.7rem;
		bottom: -9.5rem;
	}
	#main .historyBox .info03 .image01 {
		width: 10.1rem;
		right: auto;
		left: 2rem;
		bottom: 0.5rem;
	}
	#main .historyBox .info03 .image02 {
		width: 7.5rem;
		right: auto;
		left: 16.9rem;
		bottom: -5.2rem;
	}
	#main .historyBox .info03 .image03 {
		width: 21.6rem;
		right: auto;
		left: 0.4rem;
		bottom: -16rem;
	}
	#main .historyBox .info04 .enImg {
		margin: 2.7rem 0 0;
		width: 43.7rem;
	}
	#main .historyBox .info04 .image01 {
		width: 7rem;
		right: auto;
		left: 50%;
		bottom: -6rem;
		margin-left: -4rem;
	}
	#main .historyBox .info05 .enImg {
		width: 20rem;
		margin: -0.6rem 2rem -8.5rem auto;
	}
	#main .historyBox .info05 .photo {
		width: 17.5rem;
		bottom: -6.5rem;
	}
	#main .historyBox .info05 .image01 { 
		width: 12.4rem;
		bottom: 1rem;
		right: 5.5rem;
	}
	#main .historyBox .info05 .image02 {
		width: 5.2rem;
		bottom: -0.5rem;
		right: 0.8rem;
	}
	#main .historyBox .info05 .image03 {
		right: 4.8rem;
		width: 12.4rem;
	}
	#main .historyBox .info06 .enImg {
		margin: 2.5rem 0 0;
		width: 32.9rem;
	}
	#main .historyBox .info06 .image01 {
		width: 10.5rem;
		left: auto;
		right: 5.4rem;
		bottom: 3rem;
	}
	#main .historyBox .info06 .image02 {
		width: 26.2rem;
		right: auto;
		left: 0;
		bottom: -16rem;
	}
	#main .historyBox .info07 .enImg {
		margin-left: 0;
		width: 44rem;
	}
	#main .historyBox .info07 .image01 {
		width: 12.6rem;
		right: auto;
		left: 0;
		bottom: -3.5rem;
	}
	#main .historyBox .info07 .image02 {
		width: 22rem;
		right: 0.3rem;
		bottom: -13.5rem;
	}
	#main .historyBox .info07 .image03 {
		right: -2rem;
		width: 33.7rem;
		bottom: -27rem;
	}
	#main .historyBox .info08 .enImg {
		margin: 2.5rem 0 0 8rem;
		width: 26.7rem;
	}
	#main .historyBox .info08 .image01 {
		right: auto;
		left: -0.9rem;
		width: 19.8rem;
		bottom: -4.5rem;
	}
	#main .historyBox .info08 .image02 {
		right: 3rem;
		width: 9.6rem;
		bottom: -10rem;
	}
	#main .historyBox .info08 .image03 {
		bottom: -19.5rem;
		width: 20.1rem;
		right: -1rem;
	}
	#main .historyBox .info09 .photo {
		width: 14.8rem;
		bottom: -16rem;
	}
	#main .historyBox .info09 .photo .zoom {
		margin-top: 2.2rem;
	}
	#main .historyBox .info09 .enImg {
		margin: 2.5rem -1rem 0 auto;
		width: 27.7rem;
	}
	#main .historyBox .info09 .image01 {
		width: 11.8rem;
		right: 2.8rem;
		bottom: -5rem;
	}
	#main .historyBox .info10 .photo {
		width: 12.1rem;
		bottom: -23.5rem;
	}
	#main .historyBox .info10 .photo .zoom {
		margin-bottom: 1.9rem;
	}
	#main .historyBox .info10 .image01 {
		width: 11.2rem;
		right: auto;
		bottom: -14rem;
		left: 2.8rem;
	}
	#main .historyBox .info11 .enImg {
		width: 18rem;
	}
	#main .historyBox .info11 .image01 {
		width: 18.4rem;
		right: 7rem;
		bottom: -3rem;
	}
	#main .historyBox .info11 .image02 {
		width: 8.6rem;
		right: 0.7rem;
		bottom: -16rem;
	}
	#main .historyBox .info11 .image03 {
		width: 17rem;
		right: auto;
		bottom: -21rem;
		left: 3.3rem;
	}
	#main .historyBox .info12 .enImg {
		margin: -0.7rem 0.5rem 0 auto;
		width: 29.4rem;
	}
	#main .historyBox .info12 .image01 {
		width: 23.2rem;
		right: auto;
		bottom: -14rem;
		left: -2.3rem;
	}
	#main .historyBox .info12 .image02 {
		width: 17.8rem;
		right: 0.8rem;
		bottom: -12rem;
		left: auto;
	}
	#main .historyBox .info13 .enImg {
		margin: -0.4rem 0.8rem 0 auto;
		width: 29rem;
	}
	#main .historyBox .info13 .image01 {
		width: 17.5rem;
		right: auto;
		bottom: -13rem;
		left: 2.5rem;
	}
	#main .historyBox .info14 .enImg {
		margin: -0.4rem 0.8rem 0 auto;
		width: 29rem;
	}
	#main .historyBox .info14 .image01 {
		width: 18.6rem;
		right: 1.2rem;
		bottom: -8rem;
	}
	#main .historyBox .info14 .image02 {
		width: 11rem;
		right: 21.5rem;
		bottom: -10.5rem;
	}
	#main .historyBox .info14 .image03 {
		width: 18.5rem;
		right: 4.5rem;
		bottom: -23.5rem;
	}
	#main .historyBox .info15 .enImg {
		margin: -0.2rem 0 0 5rem;
		width: 32.4rem;
	}
	#main .historyBox .info15 .image01 {
		width: 7.5rem;
		right: auto;
		bottom: 3.5rem;
		left: 23px;
	}
	#main .historyBox .info15 .image02 {
		width: 22.67rem;
		right: 0.2rem;
		bottom: -9.5rem;
	}
	#main .historyBox .info16 .enImg {
		margin: -0.4rem 0 0 auto;
		width: 22.7rem;
	}
	 #main .historyBox .info16 .image01 {
		width: 19rem;
		right: auto;
		bottom: -11.5rem;
		left: -8px;
	}
	#main .historyBox .info16 .image02 {
		width: 14.8rem;
		right: -0.3rem;
		bottom: -19.5rem;
	}
	#main .historyBox .info17 .enImg {
		margin: -0.4rem 0 0 -0.3rem;
		width: 28.4rem;
	}
	#main .historyBox .info17 .image01 {
		width: 14.4rem;
		right: 11rem;
		bottom: -3.5rem;
	}
	#main .historyBox .info17 .image02 {
		width: 14rem;
		right: 1rem;
		bottom: -9rem;
	}
	 #main .historyBox .info17 .image03 {
		width: 17.5rem;
		bottom: -14rem;
		right: auto;
		left: 0;
	}
	#main .historyBox .info18 .enImg {
		margin: 0 0 0 auto;
		width: 25.2rem;
	}
	#main .historyBox .info18 .image01 {
		width: 12.5rem;
		right: auto;
		bottom: -3rem;
		left: 0;
	}
	 #main .historyBox .info18 .image02 {
		width: 19.5rem;
		right: 0;
		bottom: -14rem;
	}
	 #main .historyBox .info19 .enImg {
		margin: -0.5rem -0.5rem 0 auto;
		width: 36.8rem;
	}
	#main .historyBox .info19 .image02 {
		width: 17.5rem;
		right: 11rem;
		bottom: -18rem;
	}
	 #main .historyBox .info19 .image03 {
		width: 19.5rem;
		bottom: -30.5rem;
		right: 4.3rem;
		left: auto;
	}
	#main .stories .headLine01 .sml {
		margin-top: 1.2rem;
	}
	#main .stories .inner {
		height: auto;
		min-height: inherit;
		padding: 9.3rem 0 5.2rem;
		display: block;
	}
	#main .stories .enImg {
		position: static;
		width: 33rem;
		margin-left: 1.7rem;
	}
	#main .stories .topText {
		margin-bottom: 2.5rem;
		font-size: 1.7rem;
	}
	#main .stories .photoBox {
		margin: -0.4rem 2.2rem 0 2.1rem;
		width: auto;
	}
	#main .stories .photoBox img {
		width: 100%;
	}
	#main .stories .link {
		display: none;
	}
	#main .business .headLine02 .big {
		letter-spacing: 0;
	}
	#main .business .inner {
		min-height: inherit;
		padding: 6rem 0 4rem;
		display: block;
	}
	#main .business .enImg {
		right: 0.6rem;
		bottom: 2rem;
		width: 30rem;
		margin-right: auto;
	}
	#main .business .topText {
		margin-bottom: 4.3rem;
		font-size: 1.7rem;
	}
	/* #main .business .slideBox {
		width: calc(100% - 3.3rem);
		margin-left: auto;
	} */
	#main .business .slide {
		width: 30rem !important;
	}
	#main .business .slick-prev {
		left: 2rem;
	}
	#main .business .slick-next {
		right: 2rem;
	}
	#main .business .slick-dots {
		bottom: -4rem;
	}
	#main .nextyears::before {
		background-image: url(img/nextyears_bg_sp.jpg);
	}
	#main .nextyears .inner {
		padding: 2.5rem 0 4.5rem;
		min-height: calc(100vh - 6rem);
	}
	#main .nextyears .topText {
		margin-bottom: 7.2rem;
		font-size: 2rem;
	}
	#main .nextyears .text {
		margin-bottom: 3.3rem;
		font-size: 1.7rem;
	}
}
#main .enImg img {
	opacity: 0.66;
}
.fadeInUp {
	opacity: 0;
	transition: 1s;
	transform: translateY(4rem);
}
.inView.fadeInUp,
.inView .fadeInUp {
	opacity: 1;
	transform: translateY(0);
}
.fadeLeft {
	opacity: 0;
	transition: 1s;
}
.inView.fadeLeft,
.inView .fadeLeft {
	opacity: 1;
	transition-delay: .3s;
}
.fadeRight {
	opacity: 0;
	transition: 1s;
}
img.fadeRight {
	display: inline-block;
}
.inView.fadeRight,
.inView .fadeRight {
	opacity: 1;
	transition-delay: .3s;
}