@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.is-locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}
.is-locked body {
  -webkit-overflow-scrolling: auto;
}
#gHeader h1 a {
	color: #fff;
}
#gHeader h1 .ihiGroupLogo {
	filter: none;
}
#gHeader h1 .siteBrand > .logo02 {
	display: none;
}
#gHeader h1 .siteBrand > .logo01 {
	display: block;
}
#gFooter {
	background: none;
	position: relative;
}
#main {
	margin-bottom: 0;
}
#main > *,
#main .bgWhite > * {
	position: relative;
}
#main .bgWhite {
	padding-bottom: 3rem;
	background: #fff;
	position: relative;
}
#main .topVisual {
	display: flex;
	align-items: center;
	position: relative;
	height: 100dvh;
	min-height: 44rem;
}
#main .topVisual .fixBox {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#main .topVisual .fixBox.hide .bg01 {
	opacity: 0.65 !important;
}
#main .topVisual .bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 3;
}
#main .topVisual .bg01 {
	background: #1c2634;
	opacity: 0.3;
	z-index: 2;
}
#main .topVisual .bg02 {
	background: url(../images/index/top_bg.png) no-repeat right center/cover;
}
#main .topVisual .movie {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
#main .topVisual .movie video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .topVisual .content01 {
	width: auto;
	max-width: none;
	color: #fff;
	margin-top: 1.5rem;
	margin-left: clamp(3.2rem, 7.5vw, 14rem);
	margin-right: clamp(3.2rem, 7.5vw, 14rem);
}
#main .topVisual .content01 em {
	display: inline-block;
	vertical-align: top;
	opacity: 0;
	transition: all ease 1s;
	font-style: normal;
}
#main .topVisual .content01.on em {
	opacity: 1;
}
#main .topVisual .content01 p {
	margin-bottom: 3.7rem;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 800;
	line-height: 1.55;
	letter-spacing: 0.05em;
}
#main .topVisual .content01 .title {
	margin-bottom: clamp(0.8rem, 1vw, 1.4rem);
	font-size: 9rem;
	line-height: 1.22;
}
#main .topVisual .content01 .title img:only-child {
	display: block;
	width: clamp(65rem, 65vw, 85rem);
	height: auto;
}
#main .topVisual .content01 .en {
	margin-bottom: 0;
	opacity: 0.8;
	font-style: italic;
	font-size: clamp(1.35rem, 0.45vw + 0.92rem, 1.8rem);
	line-height: 1.5;
	font-weight: 400;
	letter-spacing: 0.06em;
}
#main .topVisual .content01 .en em {
	font-style: italic;
}
#main .topVisual .sideBtn {
	position: absolute;
	right: 11.5rem;
	bottom: 19.5rem;
}
#main .topVisual .sideBtn span {
	display: inline-block;
	padding-bottom: 5.5rem;
	position: relative;
	background-image: -webkit-linear-gradient(bottom, #AD465E, #5E2B6D 5%, #50236E 10%, #50236E);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	opacity: 0.8;
	-webkit-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-style: italic;
	letter-spacing: 0.09em;
	line-height: 1.75;
	font-weight: 400;
}
#main .topVisual .sideBtn span:after {
	margin-left: -0.2rem;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 4rem;
	content: "";
	border-left: 1px solid #4F246E;
	opacity: 0.8;
}
#main .topVisual .sideBtn span:before {
	position: absolute;
	left: 50%;
	bottom: 2rem;
	margin-left: -0.5rem;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background: #3A005B;
	animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
	content: "";
}
@keyframes circlemove {
	0% {
		bottom: 4rem;
	}
	100% {
		bottom: -0.5rem;
	}
}
@keyframes cirlemovehide {
	0% {
		opacity: 0
	}
	50% {
		opacity: 1;
	}
	80% {
		opacity: 0.9;
	}
	100% {
		opacity: 0;
	}
}
#main .topVisual .newsBox {
	position: absolute;
	padding: 2.5rem 2rem 2.5rem 2.4rem;
	bottom: 3.2rem;
	right: 3.2rem;
	width: auto;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 0.06em;
	border-radius: 0.8rem;
	background: rgba(30, 82, 166, 0.93);
}
#main .topVisual .newsBox dt {
	float: left;
	font-size: 1.5rem;
	letter-spacing: 0.03em;
	font-family: "Kanit", sans-serif;
}
#main .topVisual .newsBox dd {
	padding-left: 6.5em;
}
#main .topVisual .newsBox dd a {
	color: #fff;
}
#main .topVisual .newsBox dd a:hover {
	opacity: 0.7;
}
#main .message {
	padding: 17.6rem 0 18.3rem;
}
#main .message .content02 {
	max-width: 62rem;
	color: #fff;
}
#main .message h2 .jp {
	border-bottom-color: #fff;
}
#main .message p {
	margin: 0 -2rem 5.2rem 0;
	font-weight: 500;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	line-height: 2.4;
}
#main .about {
	margin-bottom: 2.8rem;
	padding: 15.2rem 0 15.8rem;
	background: url(../images/index/about_bg.jpg) no-repeat center bottom/cover;
}
#main .about .ttlBox {
	margin-bottom: 5.8rem;
}
#main .about .ttlBox h2 {
	margin-bottom: 0;
	width: 44.6rem;
}
#main .about .ttlBox .txtBox {
	flex: 1;
}
#main .about .ttlBox .txtBox h3 {
	margin-bottom: 2.5rem;
}
#main .about .ttlBox .txtBox p {
	margin-right: -1rem;
	line-height: 2.2;
}
#main .about .slide {
	margin: 0 auto;
	max-width: 97.2rem;
	border-radius: 0.8rem;
	background: #fff;
	overflow: hidden;
	box-shadow: 1.9rem 1rem 4rem rgba(146, 184, 198, 0.3);
}
#main .job {
	margin: 0 auto 9rem;
	padding: 0 3rem;
	max-width: 143.8rem;
}
#main .job .item {
	width: 48.5%;
	padding: 7.7rem 8rem 6.4rem;
	border-radius: 1.6rem;
	background: url(../images/index/job_bg.jpg) no-repeat center center/cover;
	overflow: hidden;
}
#main .job .item > p {
	margin-bottom: 6.3rem;
	line-height: 2.2;
	color: #fff;
}
#main .job h2 {
	margin-bottom: 2.5rem;
	color: #fff;
}
#main .job h2 .en {
	margin-bottom: 1.6rem;
	color: #fff;
	letter-spacing: 0.04em;
}
#main .job h3 {
	margin-bottom: 2.6rem;
}
#main .job h3 span {
	border-bottom-color: #fff;
}
#main .job .slideBox01 .foo {
	margin: 0 2.6rem 8rem 1rem;
}
#main .job .slideBox01 .foo .slick-list {
	overflow: visible !important;
}
#main .job .slideBox01 .foo a {
	display: block;
	position: relative;
	z-index: 1;
}
#main .job .slideBox01 .foo a:after {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 0.6rem;
	background: url(../images/index/cover.png) no-repeat left top/cover;
	z-index: 5;
	content: "";
}
#main .job .slideBox01 .foo .img {
	width: 100%;
	position: relative;
	border-radius: 0.6rem;
	overflow: hidden;
	z-index: 2;
}
#main .job .slideBox01 .foo .img img {
	width: 100%;
	transition: .3s;
}
#main .job .slideBox01 .foo .prevImg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transform: rotate(5deg);
	z-index: 1;
}
#main .job .slideBox01 .foo .ttl {
	position: absolute;
	right: 2rem;
	top: 3rem;
	height: calc(100% - 6rem);
	font-weight: bold;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	line-height: 2.05;
	color: #1e52a6;
	-webkit-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	z-index: 10;
}
#main .job .slideBox01 .foo .ttl > span {
	padding: 1rem 0.4rem;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	background-color: #fff;
}
#main .job .slideBox01 .foo .ttl .num {
	letter-spacing: 0;
	font-size: 1.75rem;
}
#main .job .slideBox01 .foo .txt {
	position: absolute;
	left: 3rem;
	bottom: 3rem;
	color: #fff;
	z-index: 10;
}
#main .job .slideBox01 .foo .info {
	margin-bottom: 2rem;
	font-weight: 500;
	font-size: 1.1rem;
	letter-spacing: 0.1em;
}
#main .job .slideBox01 .foo .info .en {
	margin-bottom: 0.2rem;
	display: block;
	font-size: 2rem;
	letter-spacing: 0.1em;
}
#main .job .slideBox01 .foo .tag {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}
#main .job .slideBox01 .foo .tag span {
	padding: 0.5rem 1rem;
	font-weight: 500;
	font-size: 1.1rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
	border-radius: 1.4rem;
	background: rgba(51, 51, 51, 0.51);
	border: 1px solid #fff;
}
#main .job .slideBox .control {
	position: relative;
	height: 5rem;
	justify-content: flex-end;
}
#main .job .slideBox .control .prev,
#main .job .slideBox .control .next {
	position: absolute;
	left: 0;
	width: 5rem;
	height: 5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .3s;
	cursor: pointer;
	background: url(../images/common/icon13.png) no-repeat center center/1.7rem auto;
	border: 1px solid #fff;
	border-radius: 50%;
}
#main .job .slideBox .control .next {
	left: 6.2rem;
	background-image: url(../images/common/icon08_o.png);
}
#main .job .slideBox .control .pager {
	margin-top: 0.2rem;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#main .job .slideBox .control .pager .bar {
	margin-right: 1.5rem;
	width: 10rem;
	height: 0.2rem;
	background: rgba(255, 255, 255, 0.21);
	position: relative;
}
#main .job .slideBox .control .pager .bar .line {
	width: 3rem;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #fff;
	transition: all linear 0.3s;
}
#main .job .slideBox .control .pager p {
	color: #fff;
	font-weight: 400;
	letter-spacing: 0.1em;
}
#main .job .comBtn {
	margin-top: 3rem;
	display: flex;
	justify-content: flex-end;
}
#main .job .item02 > p {
	margin-bottom: 5rem;
}
#main .job .slideBox02 .listUl {
	margin: 0 -8rem 1rem;
}
#main .job .slideBox02 .listUl .slick-slide {
	opacity: 0.36;
	transform: scale(0.9);
	transition: opacity .3s,transform .3s;
	pointer-events: none;
}
#main .job .slideBox02 .listUl .slick-center {
	opacity: 1;
	transform: scale(1);
	pointer-events: auto;
}
#main .job .slideBox02 .listUl li {
	margin: 0 1.2rem;
	width: 27rem !important;
}
#main .job .slideBox02 .listUl .photo {
	margin-bottom: 1.7rem;
}
#main .job .slideBox02 .listUl .photo a {
	display: block;
	overflow: hidden;
	position: relative;
	border-radius: 0.8rem;
}
#main .job .slideBox02 .listUl .photo a:after {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 6rem;
	height: 6rem;
	content: "";
	transform: translate(-50%, -50%);
	background: url(../images/shortmovie/icon.png) no-repeat left top/100% auto;
}
#main .job .slideBox02 .listUl .photo a img {
	width: 100%;
	transition: .3s;
}
#main .job .slideBox02 .listUl .photo .ttl {
	position: absolute;
	right: 1.2rem;
	top: 1.3rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	flex-direction: row-reverse;
}
#main .job .slideBox02 .listUl .photo .ttl .sub {
	padding: 0.6rem 0.3rem;
	width: 2.4rem;
	font-weight: 600;
	font-size: 1.2rem;
	line-height: 1.15;
	letter-spacing: 0.1em;
	text-align: center;
	color: #707070;
	word-break: break-all;
	background-color: #fff;
}
#main .job .slideBox02 .listUl .photo .ttl .sub:first-child {
	margin-left: 0.2rem;
	width: 2.8rem;
	padding: 0.3rem 0.2rem 0.5rem 0.4rem;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
	color: #1e52a6;
}
#main .job .slideBox02 .listUl .photo .ttl .sub .num {
	margin-top: 0.5rem;
	padding-top: 0.5rem;
	width: 1.2rem;
	display: inline-block;
	border-top: 1px solid #E8EAEB;
}
#main .job .slideBox02 .listUl .tag {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1.2rem;
}
#main .job .slideBox02 .listUl .tag span {
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	color: #fff;
}
#main .job .slideBox02 .listUl .tag span:before {
	display: inline-block;
	margin-right: 0.1rem;
	content: "#";
}
#main .gallery {
	padding-bottom: 20rem;
	overflow: hidden;
	background: url(../images/index/gallery_bg.png) no-repeat center top/156rem auto;
}
#main .gallery .infiniteslide {
	align-items: flex-start !important;
}
#main .gallery .infiniteslide li {
	margin: 0 -1.2rem;
	width: 74.4rem;
}
#main .gallery .infiniteslide li:first-child {
	margin-top: 4.5rem;
}
#main .gallery .infiniteslide .wid01 {
	margin-top: 9.8rem;
	width: 78.6rem;
}
#main .gallery .infiniteslide .wid02 {
	width: 100.1rem;
}
#main .gallery .infiniteslide .liStyle {
	margin-top: 13.5rem;
	margin-left: -2.3rem;
}
#main .gallery .infiniteslide .wid03 {
	margin: 17.5rem -4rem 0 6rem;
	width: 54.4rem;
}
#main .gallery .infiniteslide .wid04 {
	margin-top: 13rem;
	width: 52.4rem;
}
#main .gallery .linkBtn {
	margin: -25rem auto 0;
	max-width: 112rem;
	position: relative;
	z-index: 1;
}
#main .gallery .linkBtn a {
	margin-left: auto;
	padding-top: 4.3rem;
	display: block;
	width: 18rem;
	height: 18rem;
	color: #fff;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-align: center;
	background: #1e52a6 url(../images/common/icon14.png) no-repeat center bottom 3rem/3.2rem auto;
	border-radius: 50%;
	box-shadow: 1.9rem 1rem 4rem rgba(146, 184, 198, 0.3);
}
#main .gallery .linkBtn a .en {
	margin: 0 auto 1rem;
	padding-left: 1.3rem;
	display: block;
	width: fit-content;
	position: relative;
	font-style: italic;
	letter-spacing: 0.09em;
}
#main .gallery .linkBtn a .en:before {
	position: absolute;
	left: 0;
	top: 0.9rem;
	width: 0.6rem;
	height: 0.6rem;
	background: #fff;
	border-radius: 50%;
	content: "";
}
#main .short {
	margin: 0 3.2rem;
	padding: 10.5rem 0 10.2rem;
	border-radius: 1.6rem;
	background: url(../images/index/movie_bg.jpg) no-repeat center top/cover;
}
#main .short .content01 {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#main .short .txtBox {
	width: 40rem;
}
#main .short .txtBox h2 {
	margin-bottom: 2.2rem;
}
#main .short .txtBox h2 .jp {
	font-size: 3.8rem;
	border-width: 0.2rem;
	letter-spacing: 0;
}
#main .short .txtBox p {
	margin: 0 0.5rem 3.5rem 0;
	line-height: 2.25;
}
#main .short .txtBox .comBtn a {
	border: 1px solid #e8eaeb;
}
#main .short .enTtl {
	margin-right: -6.8rem;
}
#main .environment {
	padding: 13.7rem 0 8.8rem;
}
#main .environment h2 {
	margin-bottom: 6.5rem;
}
#main .environment h2 .en {
	margin-bottom: 1.7rem;
}
#main .environment .listUl > li {
	width: 53.2rem;
}
#main .environment .listUl .photo {
	margin-bottom: 3.2rem;
}
#main .environment .listUl .photo a {
	position: relative;
	overflow: hidden;
	display: block;
	border-radius: 0.8rem;
	overflow: hidden;
}
#main .environment .listUl .photo img {
	transition: .3s;
}
#main .environment .listUl .photo h3 {
	position: absolute;
	left: 0;
	top: 0;
	padding: 2rem 2rem 2rem 3.8rem;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	border-radius: 0rem 0rem 0.8rem 0rem;
	background: #fff;
}
#main .environment .listUl .photo h3:before {
	position: absolute;
	left: 2rem;
	top: 3.5rem;
	width: 0.7rem;
	height: 0.7rem;
	background: #1e52a6;
	border-radius: 50%;
	content: ""
}
#main .environment .listUl .photo a:after {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	width: 5rem;
	height: 5rem;
	background: url(../images/common/icon15.png) no-repeat left top/5rem auto;
	content: "";
}
#main .environment .linkList {
	gap: 1.6rem 2.2rem;
}
#main .environment .linkList a {
	display: inline-block;
	padding: 0.4rem 0 0.4rem 4rem;
	letter-spacing: 0.1em;
	font-weight: 500;
	background: url(../images/common/icon05.png) no-repeat left top/3.2rem auto;
}
#main .internShip {
	margin-bottom: 4rem;
}
#main .internShip .linkBox a {
	display: block;
	position: relative;
	border-radius: 0.8rem;
	overflow: hidden;
	box-shadow: 1.9rem 1.9rem 3rem rgba(146, 184, 198, 0.3);
}
#main .internShip .linkBox a > img {
	transition: .3s;
	width: 100%;
}
#main .internShip .linkBox a:after {
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	width: 5rem;
	height: 5rem;
	background: url(../images/common/icon16.png) no-repeat left top/5rem auto;
	content: "";
}
#main .internShip .sub {
	margin-top: 0.7rem;
	position: absolute;
	left: 6rem;
	top: 50%;
	transform: translateY(-50%);
}
#main .internShip h2 {
	margin-bottom: -1rem;
	position: relative;
	z-index: 1;
}
#main .internShip .subTtl span {
	display: inline-block;
	padding: 0.8rem 1rem;
	color: #fff;
	font-weight: 500;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	border-radius: 0.4rem 0.4rem 0.4rem 0rem;
	background: rgba(51, 51, 51, 0.2);
}
#main .internShip .subTtl span:last-child {
	padding-top: 0.4rem;
	letter-spacing: 0.15em;
	border-radius: 0rem 0rem 0.4rem 0.4rem;
}
#main .internShip.noLink a {
	pointer-events: none;
}
#main .internShip.noLink a:before {
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	background: url(../images/index/comimg_img.png) no-repeat left top/100%;
	content: "";
}
#main .comRecruitBox {
	background: none;
}
@media all and (min-width: 897px) and (max-width: 1439px) {
	#main .job .slideBox01 .foo .ttl {
		font-size: 1.65rem;
		line-height: 2.2;
	}
	#main .job .slideBox01 .foo .ttl .num {
		font-size: 1.6rem;
	}
}
@media all and (min-width: 897px) and (max-width: 1359px) {
	#main .job .slideBox01 .foo .ttl {
		font-size: 1.5rem;
	}
	#main .job .slideBox01 .foo .ttl .num {
		font-size: 1.45rem;
	}
}
@media all and (min-width: 897px) {
	#main .job .slideBox .control .prev:hover,
	#main .job .slideBox .control .next:hover {
		background-image: url(../images/common/icon13_o.png);
		background-color: #fff;
	}
	#main .job .slideBox .control .next:hover {
		background-image: url(../images/common/icon08.png);
	}
	#main .job .slideBox02 .listUl .photo a:hover img {
		transform: scale(1.1);
	}
	#main .gallery .linkBtn a:hover {
		background-color: #1086d4;
		background-image: url(../images/common/icon14_o.png);
	}
	#main .environment .listUl .photo a:hover img {
		transform: scale(1.2);
	}
	#main .environment .linkList a:hover {
		background-image: url(../images/common/icon05_o.png)
	}
	#main .environment .listUl .photo a:hover:after {
		background-image: url(../images/common/icon16.png)
	}
	#main .internShip .linkBox a:hover:after {
		background-image: url(../images/common/icon15.png)
	}
	#main .internShip .linkBox a:hover > img {
		transform: scale(1.2);
	}
	#main .job .slideBox .foo a:hover .img:not(.prevImg) > img {
		transform: scale(1.2);
	}
	.vertical-rt {
		writing-mode: vertical-rl;
	}
}
@media all and (max-width: 896px) {
	#main .topVisual {
		padding-bottom: 7.6rem;
		min-height: 34rem;
		align-items: flex-end;
	}
	#main .topVisual .bg02 {
		background-image: url(../images/index/top_bg_sp.png);
	}
	#main .topVisual .content01 {
		margin-right: 1.8rem;
		margin-bottom: 3rem;
		margin-left: 1.8rem;
	}
	#main .topVisual .content01 p {
		font-size: 1.2rem;
		line-height: 1.58;
	}
	#main .topVisual .content01 .title {
		margin-bottom: 1.8rem;
		font-size: 0;
	}
	#main .topVisual .content01 .title img {
		width: 30.5rem;
	}
	#main .topVisual .content01 .title img:only-child {
		width: 100%;
	}
	#main .topVisual .content01 .title em:last-child {
		margin-top: 0;
		width: 32rem;
		max-width: 100%;
	}
	#main .topVisual .content01 .en {
		font-size: clamp(1.1rem, 3.15vw, 1.28rem);
		line-height: 1.35;
	}
	#main .topVisual .sideBtn {
		right: 1.1rem;
		bottom: 10.7rem;
		width: 2.1rem;
	}
	#main .topVisual .sideBtn span {
		padding-bottom: 4.8rem;
		font-size: 1.2rem;
	}
	#main .topVisual .sideBtn span:after {
		margin-left: 0;
	}
	#main .topVisual .sideBtn span:before {
		margin-left: -0.3rem;
	}
	#main .topVisual .newsBox {
		padding: 2rem 2.4rem;
		bottom: 0;
		right: 0;
		width: 100%;
		font-size: 1.3rem;
		border-radius: 0;
		background: #1E52A6;
	}
	#main .topVisual .newsBox dt {
		float: none;
		font-size: 1.2rem;
	}
	#main .topVisual .newsBox dd {
		padding: 0.5rem 0 0;
	}
	#main .message {
		padding: 5.3rem 0 6rem;
	}
	#main .message .content02 {
		max-width: inherit;
	}
	#main .message p {
		margin: 0 0 3.3rem;
		font-size: 1.5rem;
		line-height: 2.2;
	}
	#main .comBtn a {
		padding: 0 4.2rem;
	}
	#main .about {
		margin-bottom: 0;
		padding: 7.4rem 0 6.2rem;
		overflow: hidden;
		background-image: url(../images/index/about_bg_sp.jpg);
	}
	#main .about .ttlBox {
		margin-bottom: 2.5rem;
		display: block;
	}
	#main .about .ttlBox h2 {
		margin-bottom: 3.5rem;
	}
	#main .headLine01 {
		width: auto;
		font-size: 1.5rem;
	}
	#main .headLine01 .en {
		margin-bottom: 1.5rem;
		font-size: 4rem;
	}
	#main .about .ttlBox .txtBox {
		flex: 1;
	}
	#main .about .ttlBox .txtBox h3 {
		margin-bottom: 2rem;
	}
	#main .about .ttlBox .txtBox h3 .jp {
		line-height: 1.86;
	}
	#main .about .ttlBox .txtBox p {
		margin-right: 0;
		line-height: 2.1;
	}
	#main .about .slide {
		border-radius: 0.4rem;
		box-shadow: none;
	}
	#main .job {
		margin: 0 0 4rem;
		padding: 0;
		gap: 6rem 0;
	}
	#main .job .item {
		padding: 4rem 2.4rem 6.5rem;
		width: 100%;
		border-radius: 0;
		background-image: url(../images/index/job_bg_sp.jpg);
	}
	#main .job h2 {
		margin-bottom: 3.2rem;
	}
	#main .job h2 .en {
		margin-bottom: 1rem;
		line-height: 1.3;
	}
	#main .job .item > p {
		margin-bottom: 5rem;
		line-height: 2.1;
	}
	#main .job .slideBox01 .foo {
		margin: 0 0 2.5rem;
	}
	#main .job .slideBox01 .foo .ttl {
		right: 1.6rem;
		top: 1.5rem;
		height: calc(100% - 3rem);
		font-size: 1.6rem;
		line-height: 1.8;
	}
	#main .job .slideBox01 .foo .ttl > span {
		padding: 0.7rem 0.1rem;
	}
	#main .job .slideBox01 .foo .ttl .num {
		font-size: 1.55rem;
	}
	#main .job .slideBox01 .foo .txt {
		left: 1.5rem;
		bottom: 1.5rem;
	}
	#main .job .slideBox01 .foo .info {
		margin-bottom: 1.1rem;
		font-size: 1.2rem;
	}
	#main .job .slideBox01 .foo .info .en {
		font-size: 2rem;
	}
	#main .job .slideBox01 .foo .tag span {
		padding: 0.4rem 1rem;
		font-size: 1.2rem;
	}
	#main .job .slideBox .control {
		margin-right: -0.2rem;
		height: 4rem;
	}
	#main .job .slideBox .control .prev,
	#main .job .slideBox .control .next {
		width: 4rem;
		height: 4rem;
		background-size: 1.5rem auto;
	}
	#main .job .slideBox .control .next {
		left: 4.8rem;
	}
	#main .job .slideBox .control .pager {
		margin-top: 0;
	}
	#main .job .slideBox .control .pager .bar {
		margin-right: 1.7rem;
		width: 8rem;
	}
	#main .job .comBtn {
		margin-top: 4rem;
	}
	#main .job .slideBox02 .listUl {
		margin: 0 -2.4rem 2rem;
	}
	#main .job .slideBox02 .listUl li {
		margin: 0 0.7rem;
		width: 53.333vw !important;
	}
	#main .job .slideBox02 .listUl .photo {
		margin-bottom: 0.8rem;
	}
	#main .job .slideBox02 .listUl .photo a {
		border-radius: 0.4rem;
	}
	#main .job .slideBox02 .listUl .photo a:after {
		width: 4.4rem;
		height: 4.4rem;
	}
	#main .job .slideBox02 .listUl .photo .ttl {
		right: auto;
		left: 1rem;
		top: auto;
		bottom: 1rem;
		display: block;
	}
	#main .job .slideBox02 .listUl .photo .ttl .sub {
		padding: 0.25rem 0.3rem;
		width: auto;
		font-size: 1.1rem;
		line-height: 2.1;
		white-space: nowrap;
		vertical-align: bottom;
	}
	#main .job .slideBox02 .listUl .photo .ttl .sub:last-child {
		box-decoration-break: clone;
		-webkit-box-decoration-break: clone;
	}
	#main .job .slideBox02 .listUl .photo .ttl .sub:first-child {
		margin: 0 0 0.1rem;
		width: auto;
		display: inline-block;
		padding: 0.3rem 0.4rem 0.5rem 0.4rem;
		font-size: 1.6rem;
	}
	#main .job .slideBox02 .listUl .photo .ttl .sub .num {
		margin-top: 0;
		width: auto;
		border-top: none;
		padding-top: 0;
	}
	#main .job .slideBox02 .listUl .tag {
		gap: 0.5rem 1.1rem;
	}
	#main .job .slideBox02 .listUl .tag span {
		font-size: 1.1rem;
	}
	#main .job .slideBox02 .listUl .tag span:before {
		margin-right: 0;
	}
	#main .gallery {
		padding: 2.5rem 0 8rem;
		background-size: 78rem auto;
	}
	#main .gallery .infiniteslide li {
		margin: 0 -0.9rem;
		width: 37.2rem;
	}
	#main .gallery .infiniteslide li:first-child {
		margin-top: 2.3rem;
	}
	#main .gallery .infiniteslide .wid01 {
		margin-top: 4.9rem;
		width: 39.3rem;
	}
	#main .gallery .infiniteslide .wid02 {
		width: 50rem;
	}
	#main .gallery .infiniteslide .liStyle {
		margin-top: 6.3rem;
		margin-left: -1.2rem;
	}
	#main .gallery .infiniteslide .wid03 {
		margin: 9rem -4rem 0 3rem;
		width: 27.2rem;
	}
	#main .gallery .infiniteslide .wid04 {
		margin-top: 6.5rem;
		width: 26.2rem;
	}
	#main .gallery .linkBtn {
		margin: -14rem 2.5rem 0;
	}
	#main .gallery .linkBtn a {
		margin-left: 0;
		padding-top: 2.9rem;
		width: 14rem;
		height: 14rem;
		letter-spacing: 0;
		background-position: center bottom 2.4rem;
		background-size: 2.8rem auto;
	}
	#main .gallery .linkBtn a .en {
		margin-bottom: 0.7rem;
		padding-left: 1rem;
	}
	#main .gallery .linkBtn a .en:before {
		top: 0.8rem;
		width: 0.5rem;
		height: 0.5rem;
	}
	#main .short {
		margin: 0;
		padding: 6.8rem 0 12.6rem;
		border-radius: 0;
		background-image: url(../images/index/movie_bg_sp.jpg);
	}
	#main .short .content01 {
		display: block;
	}
	#main .short .txtBox {
		margin-bottom: 8.2rem;
		width: auto;
	}
	#main .short .txtBox h2 {
		margin-bottom: 2.2rem;
	}
	#main .short .txtBox h2 .jp {
		font-size: 2.8rem;
	}
	#main .short .txtBox p {
		margin: 0 0 2.5rem;
		line-height: 2.15;
	}
	#main .short .txtBox .comBtn a {
		padding: 0 3rem;
	}
	#main .short .enTtl {
		margin: 0 -1.2rem 0 -0.6rem;
		text-align: center;
	}
	#main .environment {
		padding: 7.3rem 0 6rem;
	}
	#main .environment h2 {
		margin-bottom: 3.7rem;
	}
	#main .environment h2 .en {
		margin-bottom: 1.7rem;
	}
	#main .environment .listUl {
		display: block;
	}
	#main .environment .listUl > li {
		width: auto;
	}
	#main .environment .listUl > li:not(:last-child) {
		margin-bottom: 4rem;
	}
	#main .environment .listUl .photo {
		margin-bottom: 2.3rem;
	}
	#main .environment .listUl .photo h3 {
		padding: 1.2rem 1.5rem 1.2rem 3rem;
		font-size: 1.8rem;
		border-radius: 0rem 0rem 0.8rem 0rem;
	}
	#main .environment .listUl .photo h3:before {
		left: 1.5rem;
		top: 2.3rem;
	}
	#main .environment .listUl .photo a:after {
		display: none;
	}
	#main .environment .linkList {
		gap: 1.2rem 1.2rem;
	}
	#main .environment .linkList a {
		padding-left: 3.4rem;
		padding-top: 0.5rem;
		min-height: 3.2rem;
	}
	#main .internShip {
		margin-bottom: 1.5rem;
	}
	#main .internShip .linkBox a {
		box-shadow: 1rem 1rem 2rem rgba(146, 184, 198, 0.3);
	}
	#main .internShip .linkBox a:after {
		right: 1.4rem;
		bottom: 1.3rem;
		width: 2.8rem;
		height: 2.8rem;
		background-size: 2.8rem auto;
	}
	#main .internShip .sub {
		margin-top: 0.3rem;
		left: 2rem;
	}
	#main .internShip h2 {
		margin-bottom: 0.5rem;
		width: 20.5rem;
	}
	#main .internShip .subTtl span {
		padding: 0.2rem 0.7rem;
		font-size: 0.8rem;
		line-height: 2.1;
		vertical-align: top;
	}
	#main .internShip .subTtl span:last-child {
		margin-top: -0.1rem;
		padding-top: 0.2rem;
		letter-spacing: 0.1em;
	}
	#main .internShip.noLink a::before {
		background-image: url(../images/index/comimg_img_sp.png);
	}
}