:root {
	--gnav-color:#1e2f3f;
	--gnav-filter: brightness(0) saturate(100%) invert(13%) sepia(22%) saturate(1292%) hue-rotate(167deg) brightness(94%) contrast(87%);
}
.no-js #loader { display: none;  }
.js #loader { display: block; position: absolute; left: 100px; top: 0; }
.se-pre-con {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background-color: #fff;
}
body.page-home,
body.page-home #main {
	overflow: hidden;
	width: 100%;
	height: 100%;
}
body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	line-height: 1.8;
	color: #fff;
	-webkit-overflow-scrolling: touch;
}
h1,
h2,
h3,
h4{
	font-family: 'Josefin Sans', sans-serif;
}

a {
	font-family: 'Josefin Sans', sans-serif;
}
.size-14{
	font-size: 14px;
}

.header {
	margin-top: 30px;
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 1000;
}

.header .logo {
	position: relative;
	z-index: 1;
	display: block;
}
.header .logo:hover svg{
	fill-opacity: 0.7;
}
.header .logo svg{
	fill: #fff;
}

.header .container-fluid {
	padding-left: 80px;
	padding-right: 80px;
}
.header .container-fluid > .d-flex{
	flex-wrap: wrap;
}
.header .main-menu ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.header .main-menu ul li + li {
	margin-left: 30px;
}

.header .main-menu ul li a {
	color: var(--gnav-color);
	font-size: 19px;
	font-weight: 300;
	text-align: center;
	display: inline-block;
	line-height: 1;
}
.header .main-menu ul li a .-jp{
	display: block;
	font-size: 12px;
	margin-top: 0.5em;
}
.header .main-menu ul .-btn a{
	border: 1px var(--gnav-color) solid;
	width: 130px;
	height: 40px;
	gap: 1em;
}
.header .main-menu ul .-btn-icon{
	filter: var(--gnav-filter);
}
.header .main-menu ul .-btn a:hover{
	text-decoration: none;
}
.header .main-menu ul li#main-menu-about a{
	cursor: pointer;
}
.header .main-menu-top a{
	color: var(--gnav-color);
	font-size: 16px;
	font-weight: 300;
}
.header .main-menu-top a:hover{
	text-decoration: none;
	opacity: 0.75;
}
.header .main-menu-top .img-ig{
	filter: var(--gnav-filter);
}
.header .main-menu-top .bigger{
	font-size: calc(19% / 0.16);
}
.header .sp-menu-btn{
	position: absolute;
	right: calc(50% / 12.42);
	top: 8px;
	width: 50px;
	height: 50px;
	border: 1px #fff solid;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
	z-index: 100;
	--menuline:#fff;
	--menuline1:translateY(-8px);
	--menuline2:translateY(8px);
}
.header .sp-menu-btn .-line{
	height: 2px;
	width: 100%;
	position: relative;
	background-color: var(--menuline);
	display: block;
}
.header .sp-menu-btn .-line::before,
.header .sp-menu-btn .-line::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: #fff;
	transition: 0.3s ease-in-out;
}
.header .sp-menu-btn .-line::before{
	transform: var(--menuline1);
}
.header .sp-menu-btn .-line::after{
	transform: var(--menuline2);
}
.header .sp-menu-btn.is-open{
	--menuline: transparent;
	--menuline1:translateY(0) rotate(45deg);
	--menuline2:translateY(0) rotate(-45deg);
}
.header .sp-menu{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #1e2f3f;
	padding-top: 60px;
	text-align: center;
	color: #fff;
	overflow-y: scroll;
}
.header .sp-menu-list{
	list-style: none;
	padding: 0;
	margin: 0;
}
.header .sp-menu-list>li{
	margin-bottom: 1em;
}
.header .sp-menu-list li ul{
	background-color: #354453;
	list-style: none;
	padding: 1em;
	display: block;
}
.header .sp-menu-list li ul a{
	color: #fff;
}
.header .sp-menu-list li ul li{
	margin-bottom: 1em;
}
.header .sp-menu a{
	color: #fff;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 19px;
	font-weight: 300;
}
.header .sp-menu-list .-jp,
.header .sp-menu-list .size-14{
	display: block;
	font-size: 11px;
	line-height: 1;
}
.header .sp-menu .-btn{
	display: inline-block;
	margin: 1em 0;
}
.header .sp-menu .-btn a{
	border: 1px #fff solid;
	gap: 0.5em;
	padding: 0 1em;
}



#main {
	position: relative;
}

.top-slide h2 {
	font-size: 80px;
	font-weight: lighter;
}

.top-slide {
	width: 100%;
	height: 100vh;
}
#slide-jq.top-slide .btn-wrap {
	margin-top: 35px;
}
.btn {
	width: 180px;
	height: 50px;
	-webkit-perspective: 300px;
	perspective: 300px;
}
.btn:hover {
	color: #fff;
}

.btn span {
	display: block;
	position: absolute;
	border: 1px solid #fff;
	background-color: transparent;
	width: 180px;
	height: 50px;
	text-align: center;
	line-height: 45px;
	-webkit-transition: all .5s cubic-bezier(.96,.03,.29,.99);
	transition: all .5s cubic-bezier(.96,.03,.29,.99);
	pointer-imgs: none;
	font-size: 25px;
	font-weight: 300;
}

.btn span:nth-child(1) {
	border: 1px solid #fff;
	background-color: rgba(255, 255, 255, 0.5);
	-webkit-transform: rotateX(85deg);
	-moz-transform: rotateX(85deg);
	transform: rotateX(85deg);
	-webkit-transform-origin: 50% 50% -25px;
	-moz-transform-origin: 50% 50% -25px;
	transform-origin: 50% 50% -25px;
}

.btn span:nth-child(2) {
	background-color: transparent;
	color: #fff;
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	transform: rotateX(0deg);
	-webkit-transform-origin: 50% 50% -25px;
	-moz-transform-origin: 50% 50% -25px;
	transform-origin: 50% 50% -25px;
}

.btn:hover span:nth-child(1) {
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	transform: rotateX(0deg);
}

.btn:hover span:nth-child(2) {
	-webkit-transform: rotateX(-85deg);
	-moz-transform: rotateX(-85deg);
	transform: rotateX(-85deg);
}

.top-slide .slide-desc {
	position: relative;
	z-index: 1;
}

.slide-dots {
	position: fixed;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
	list-style: none;
	padding: 0;
	z-index: 1;
	margin: 0;
}

.slide-dots .dot-item + .dot-item {
	margin-top: 15px;
}

.slide-dots .dot-item {
	width: 20px;
	height: 20px;
	border-radius: 20px;
	padding: 3px;
	cursor: pointer;
	position: relative;
}

.slide-dots .dot-item:after {
	content: '';
	width: 20px;
	height: 20px;
	border-radius: 20px;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	border: 1px solid #fff;
	-webkit-transition: all .25s cubic-bezier(.65, .54, .4, .58);
	-moz-transition: all .25s cubic-bezier(.65, .54, .4, .58);
	-o-transition: all .25s cubic-bezier(.65, .54, .4, .58);
	-ms-transition: all .25s cubic-bezier(.65, .54, .4, .58);
	transition: all .25s cubic-bezier(.65, .54, .4, .58);
}

.slide-dots .dot-item:hover:after,
.slide-dots .dot-item.active:after {
	opacity: 1;
}

.slide-dots .dot-item > span {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: #fff;
}

.nav-arrows {
	position: relative;
}
.nav-arrows .nav-prev,
.nav-arrows .nav-next {
	list-style: none;
	padding: 0;
	z-index: 1;
	margin: 0;
	position: fixed;
	right: 35px;
	cursor: pointer;
	transition: all .25s cubic-bezier(.65, .54, .4, .58);
}

.nav-arrows .nav-prev {
	top: calc(50% - 125px);
}

.nav-arrows .nav-next {
	bottom: calc(50% - 125px);
}

.nav-arrows .nav-prev:hover {
	top: calc(50% - 130px);
}

.nav-arrows .nav-next:hover {
	bottom: calc(50% - 130px);
}

#about-open {
	background-color: #1e2f3f;
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	visibility: hidden;
}

#about-open .list-menu {
	padding: 0;
	margin: 0 auto;
	list-style: none;
	visibility: hidden;
	max-width: 1000px;
	width: 100%;
}

#about-open .list-menu li {
	display: block;
	text-align: center;
	margin: 8px 0;
	line-height: 1.2;
}

#about-open .list-menu li a {
	font-size: 350%;
	font-weight: 300;
	color: #FFF;
	-webkit-transition: all .25s ease;
	transition: all .25s ease;
}

#about-open .list-menu li a:hover {
	text-decoration: none;
	opacity: 0.75;
	filter: opacity(75);
}
#about-open .list-menu li.item-about{
	text-align: center;
}
#about-open .list-menu li.item-about a {
	font-size: 150%;
}

#about-open .close-menu {
	width: 50px;
	height: 50px;
	position: fixed;
	right: 40px;
	top: 40px;
	visibility: hidden;
	cursor: pointer;
	z-index: 10;
}

#about-open .close-menu > span {
	width: 100%;
	height: 3px;
	background-color: #fff;
	display: block;
	position: relative;
}

#about-open .close-menu > span + span {
	margin-top: 5px;
}

#about-open .close-menu > span:first-child {
	transform: rotate(45deg);
	top: 25px;
}

#about-open .close-menu > span:last-child {
	transform: rotate(-45deg);
	top: 17px;
}

#about-open .menu-wrapper,
#about-open .menu-wrapper .d-table {
	width: 100%;
	height: 100%;
}
.page-home{
	--gnav-color:#fff;
	--gnav-filter:none;
}
.header .sp-menu-list li.item-about{
	display: none;
}
/**
 *
 * Page about
 *
 */

.page-about,
.page-about #main{
	overflow: auto;
}
.page-about .header .main-menu ul li a{
	color: #1e2f3f;
}
.page-about .header .logo svg path{
	fill: #1e2f3f;
}
.page-about .center-box{
	background-color: rgba(255, 54, 149, 0.5);
	padding: 50px;
	width: 550px;
	height: 500px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.page-about .box-title {
	font-size: 60px;
	font-weight: 100;
	margin-top: 15px;
	font-family: 'Josefin Sans', sans-serif;
}
.page-about .scroll-group{
	font-size: 20px;
	font-weight: 300;
	font-family: 'Josefin Sans', sans-serif;
}
.page-about .scroll-group .scroll-text,
.page-about .scroll-group .scroll-arrow{
	transform: translateX(0px);
}
.page-about .scroll-group .scroll-text {
	position: relative;
	top: -2px;
}
.page-about #pinContainer {
	width: 100%;
	height: 100vh;
	overflow: hidden;
	-webkit-perspective: 1000;
	perspective: 1000;
}
.page-about #pinContainer .sec-title{
	font-size: 60px;
	font-weight: 300;
	color: #ff3695;
	margin-top: 180px;
	text-align: left;
	font-family: 'Josefin Sans', sans-serif;
}
.page-about #slideContainer {
	height: 100vh;
	display: flex;
}
.page-about .panel {
	height: 100vh;
	text-align: center;
	position: relative;
}
.page-about .img-element{
	display: flex;
}
.page-about .fig-caption{
	background-color: #fff;
	width: 30%;
	height: 100vh;
}
.page-about .fig-img{
	width: 200%;
	height: 100vh;
	overflow: hidden;
	transform-origin: 50% 100%;
	transform: translateX(50%);
}
.page-about .fig-img img{
	height: 100%;
	max-width: none;
}
.page-about .fig-caption{
	color: #1e2f3f;
	visibility: hidden;
}
.page-about .group-caption {
	margin-bottom: 15px;
	text-align: left;
	-webkit-animation-name: fadeIn;
	animation-name: fadeIn;
	-webkit-animation-duration: 1.5s;
	animation-duration: 1.5s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
.page-about .group-caption h3{
	line-height: 1.5;
}
@-webkit-keyframes fadeIn {
	0% {
	opacity: 0;
	}

	25% {
	opacity: 0.25;
	}

	50% {
	opacity: 0.5;
	}

	75% {
	opacity: 0.75;
	}

	100% {
	opacity: 1;
	}
}

@keyframes fadeIn {
	from {
	opacity: 0;
	}
	to {
	opacity: 1;
	}
}
@keyframes upDown {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(15px);
  }
}
.page-about .group-caption h3 {
	font-size: 120%;
}
.page-about .point-title{
	font-size: 28px;
	font-weight: 100;
	line-height: 20px;
	margin-bottom: 10px;
	font-family: 'Josefin Sans', sans-serif;
}
#slide-info{
	position: fixed;
	width: 30%;
	left: 0;
	top: 0;
	z-index: 2;
}
#slide-info .fig-caption{
	background-color: transparent;
	width: 100%;
	visibility: visible;
}

.side-content .content-details{
	width: 100%;
}
.side-content .content-details .page-title {
	font-family: 'Josefin Sans', sans-serif;
	text-align: center;
	font-weight: 300;
	font-size: 34px;
	margin-top: 40px;
	margin-bottom: 40px;
}
.side-content .content-details h3 {
	font-size: 18px;
	margin-bottom: 0;
	font-weight: 200;
}
.side-content .content-details .sub-title{
	text-align: center;
	font-size: 16px;
	margin-top: 5px;
	letter-spacing: 1px;
}
.page-company{
	--gnav-color:#fff;
	--gnav-filter:none;
}
.page-company #sec01 #content-01 ul{
	list-style: none;
	padding-left: 0;
	margin: 40px auto 0;
	width: 300px;
}
.page-company #sec01 #content-01 ul li{
	display: flex;
}
.page-company #sec01 #content-01 ul li + li{
	margin-top: 35px;
}
.page-company #sec01 #content-01 ul li .number{
	margin-right: 20px;
}
.page-company #sec01 #content-02 .text{
	text-align: center;
	margin: 40px 0 50px;
}
.page-company #sec01 #content-02 .title {
	border: 1px solid #fff;
	padding: 3px 5px;
	text-align: center;
	margin-bottom: 15px;
}
.page-company #sec01 #content-02 ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
.page-company #sec01 #content-02 ul li{
	margin-bottom: 5px;
}
.page-company #sec01 #content-02 .box-column {
	width: 415px;
	margin: 0 auto;
}
.page-company #sec02 #content-03 .info-list {
	width: 300px;
	margin-left: auto;
	margin-right: auto;
}
.page-company #sec02 #content-03 .info-list .info-item{
	display: flex;
}
.page-company #sec02 #content-03 .info-list .info-item + .info-item{
	margin-top: 35px;
}
.page-company #sec02 #content-03 .info-list .info-item > span{
	display: block;
	width: 50%;
}
.page-company #sec02 #content-03 .info-list .info-item > span:first-child{
	text-align: right;
	padding-right: 20px;
}
.page-company #sec02 #content-03 .info-list .info-item > span:last-child{
	text-align: left;
	padding-left: 20px;
}
.page-company #sec02 #content-04 .page-title {
	font-size: 22px;
	margin: 0 0 10px;
}
.page-company #sec02 #content-04 h3{
	font-size: 14px;
}
.page-company #sec02 #content-04 .contact-info {
	margin-top: 5%;
	text-align: center;
}
.page-company #sec02 #content-04 .btn.btn {
	width: 140px;
	height: 35px;
}
.page-company #sec02 #content-04 .btn span{
	font-size: 14px;
	width: 140px;
	height: 35px;
	text-align: center;
	line-height: 35px;
}
.page-company #sec02 #content-04 .btn span:nth-child(1) {
	-webkit-transform-origin: 50% 50% -18px;
	-moz-transform-origin: 50% 50% -18px;
	transform-origin: 50% 50% -18px;
}
.page-company #sec02 #content-04 .btn span:nth-child(2) {
	-webkit-transform-origin: 50% 50% -18px;
	-moz-transform-origin: 50% 50% -18px;
	transform-origin: 50% 50% -18px;
}
.page-contact{
	--gnav-color:#fff;
	--gnav-filter:none;
}
.page-contact .side-content .content-details .page-title{
	margin-bottom: 0;
}
.page-contact .wrap-contact ul{
	list-style: none;
	padding: 0;
}
.page-contact form input[type="text"],
.page-contact form input[type="email"],
.page-contact form textarea{
	font-family: 'Josefin Sans', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 20px;
	font-weight: 200;
	color: #445b71;
	padding: 4px 10px;
	border: none;
	border-radius: 4px;
	transition: all .75s linear;
}
.page-contact form input[type="text"]:focus,
.page-contact form input[type="email"]:focus,
.page-contact form textarea:focus{
	outline: 0;
	background-color: #f4f4f4;
}
.page-contact form input[type="submit"]{
	font-family: 'Josefin Sans', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 20px;
	font-weight: 200;
	color: #fff;
	padding: 4px 10px;
	border: 1px solid #fff;
	width: 160px;
	cursor: pointer;
	background-color: transparent;
	transition: all .5s linear;
}
.page-contact form input[type="submit"]:hover{
	background-color: rgba(255,255,255,0.5)
}

/**
 *
 * Page Recruit
 *
 */
.page-recruit{
	--gnav-color:#fff;
	--gnav-filter:none;
}
.page-recruit .side-content .content-details .page-title{
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 120px;
}
.page-recruit #sec-entry .page-title{
	padding-top: 80px!important;
}
.page-recruit .side-content .content-details h3{
	margin-bottom: 10px;
}
.page-recruit .wrap-contact {
	margin-top: 20px;
}
.page-recruit .wrap-contact table{
	width: 100%;
}
.page-recruit .wrap-contact ul{
	list-style: none;
	padding: 0;
}
.page-recruit tr,
.page-recruit tr td{
	vertical-align: top;
}
.page-recruit .table-data tr{
	border-top: 1px solid rgba(255,255,255,0.2);
}
.page-recruit .table-data tr td{
	padding: 10px 0;
}
.page-recruit form select{
	height: 33px;
}
.page-recruit form input[type="text"],
.page-recruit form input[type="email"],
.page-recruit form select,
.page-recruit form textarea{
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 200;
	color: #445b71;
	padding: 4px 10px;
	border: none;
	border-radius: 4px;
	transition: all .75s linear;
}
.page-recruit form input[type="text"]:focus,
.page-recruit form input[type="email"]:focus,
.page-recruit form select:focus,
.page-recruit form textarea:focus{
	outline: 0;
	background-color: #f4f4f4;
}
.page-recruit form input[type="submit"]{
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 200;
	color: #fff;
	padding: 4px 10px;
	border: 1px solid #fff;
	width: 160px;
	cursor: pointer;
	background-color: transparent;
	transition: all .5s linear;
}
.page-recruit form input[type="submit"]:hover{
	background-color: rgba(255,255,255,0.5)
}
.page-recruit form td:first-child{
	width: 140px;
}
.page-recruit form td:last-child{
	width: calc(100% - 140px);
}
.page-recruit form textarea{
	height: 115px;
	resize: none;
}

.scroll-icon {
	text-align: center;
	position: fixed;
	right: 15px;
	bottom: 40px;
	animation: upDown 1000ms infinite 500ms alternate;
}
.scroll-icon.fadeout {
	opacity: 0;
	transition: opacity .5s linear;
}
.scroll-icon span:first-child {
	display: block;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 16px;
	font-weight: 100;
}

/**
 *
 * Right Side
 *
 */

.side-content{
	background-color: #1e2f3f;
}
.side-content .fp-tableCell{
	vertical-align: top;
}
.active .img-hero{
	height: 100%;
	transition-duration: 0;
}
.img-hero .container-fluid{
	position: relative;
	height: 100%;
}
.active .img-wrap{
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	-o-opacity: 1;
	-ms-opacity: 1;
	filter: alpha(opacity=100);
}
.fp-completely:not(.active) .img-wrap{
	height: 100%;
	opacity: 0;
	-moz-opacity: 0;
	-webkit-opacity: 0;
	-o-opacity: 0;
	-ms-opacity: 0;
	filter: alpha(opacity=0);
}
.img-wrap:after{
}
.active .img-wrap{
	width: 100%;
}
.active .img-fig{
	opacity: 1;
}
.img-fig{
	opacity: 0.5;
	transition: all 2s ease;
	-webkit-transition: all 2s ease;
	-moz-transition: all 2s ease;
	-ms-transition: all 2s ease;
	-o-transition: all 2s ease;
	background-repeat: no-repeat;
}
.fp-section.active.fp-table, .fp-slide.fp-table{
	display: block;
	min-height: 100vh;
	height: auto!important;
}
html.fp-enabled, .fp-enabled body{
	overflow: visible;
}
.fp-section.active.fp-table,
.fp-slide.fp-table{
	display: block;
	min-height: 100vh;
	height: auto!important;
}
.active .fp-tableCell{
	min-height: 100vh;
	display: block;
	height: auto!important;
}

/**
 *
 * Media Query
 *
 */

.visible-pc,
.visible-sp-landscape,
.visible-sp-portrait{
	display: none;
}
@media(min-width: 1200px){
	.visible-pc{
		display: block;
	}
	#slide-info{
		width: clamp(320px, calc(430% / 14),430px) ;
		padding-left: clamp(30px,calc(80% / 14), 80px);
		box-sizing: border-box;
	}
	.page-recruit .side-content .content-details {
		width: 490px;
		margin: auto;
		min-height: 100vh;
	}
}
@media(min-width: 768px) and (max-width: 991px){
	.page-recruit form td:first-child,
	.page-recruit form td:last-child {
		width: 100%;
		display: block;
	}
}
@media(min-width: 768px){
	.visible-sp{
		display: none;
	}
	.img-hero{
		position: fixed;
		height: 0;
		width: 50%;
		top: 0;
		left: 0;
	}
	.img-wrap{
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		opacity: 0;
		-moz-opacity: 0;
		-webkit-opacity: 0;
		-o-opacity: 0;
		-ms-opacity: 0;
		filter: alpha(opacity=0);
	}
	.img-hero-padder {
		position: absolute;
		left: 0;
		top: 0;
		display: block;
		width: 100%;
		height: 100%;
		border: 0 solid #fff;
		z-index: 1;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
	}
	.img-fig{
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100vh;
		transition: transform 1s easeOut;
	}
	.active .img-fig{
		background-position: 0 0;
		background-size: cover;
		transform: scale(1.09);
	}
	.page-company #sec01 .img-fig{
		background-image: url(../images/company_01.png);
	}
	.page-company #sec02 .img-fig{
		background-image: url(../images/company_02.png);
	}
	.page-company #sec02 #content-04 .map{
		width: 30vw;
		margin: auto;
	}

	.page-contact .img-hero,
	.page-recruit .img-hero{
		height: 100%;
	}
	.page-contact .img-wrap,
	.page-contact .img-fig,
	.page-recruit .img-wrap,
	.page-recruit .img-fig{
		opacity: 1;
	}
	.page-contact .img-fig{
		background-image: url(../images/contact_img.png);
		background-size: cover;
		background-repeat: no-repeat;
	}
	.page-recruit .img-fig{
		background-image: url(../images/recruit_img.webp);
		background-size: cover;
		background-repeat: no-repeat;
	}
	.site-main .main-content{
		width: 100%;
		height: 100%;
	}
	.side-content {
		margin: 0 0 0 auto;
		padding-left: 55px;
		padding-right: 50px;
		width: 50%;
		position: relative;
		background-size: 660px auto;
		background-attachment: fixed;
	}
	.page-about .group-caption {
		margin-bottom: 80px;
	}
}
@media(min-width: 576px){
	.page-contact form,
	.page-contact table{
		max-width: 430px;
		margin: 30px auto;
	}
	.page-contact .btn-form{
		max-width: none;
		margin: 0;
	}
	.page-contact form textarea{
		height: 160px;
	}
}
@media(min-width: 768px) and (max-width: 1199px){
	.page-about .fig-img img {
		height: 100%;
		max-width: none;
	}
}
@media(max-width: 1199px){
	.page-about #pinContainer .sec-title{
		font-size: 4vw;
		margin-bottom: 50px;
	}
	.page-about .point-title{
		margin-bottom: 20px;
	}
}
@media(max-width: 767px){
	.visible-sp{
		display: block;
	}
	.img-hero figure{
		margin-bottom: 0;
	}
	.img-wrap{
		width: 100%!important;
	}
	.top-slide h2 {
		font-size: 60px;
		padding-left: 5%;
		padding-right: 5%;
		line-height: 56px;
		margin-bottom: 5%;
	}
	#slide-jq.top-slide h2 img {
		width: 165px;
	}
	.header{
		margin-top: 0;
		transition: all .5s linear;
	}
	.on-scroll .header{
		background-color: #1e2f3f;
	}
	.header .container-fluid{
		padding-left: 15px;
		padding-right: 15px;
	}
	.header .logo {
		text-align: center;
		margin-top: 8px;
		margin-right: 15px;
		display: block;
		width: 90px;
	}
	.header .logo svg{
		width: 100%;
		height: auto;
	}
	.header .main-menu ul{
		justify-content: flex-end;
		flex-wrap: wrap;
	}
	.header .main-menu ul li + li {
		margin-left: 15px;
	}
	.nav-arrows .nav-prev,
	.nav-arrows .nav-next{
		right: 15px;
	}
	.slide-dots{
		right: 20px;
	}
	#about-open .list-menu li a{
		font-size: 200%;
	}
	#about-open .menu-wrapper{
		overflow-x: scroll;
	}
	#about-open .close-menu {
		width: 30px;
		height: 30px;
		right: 20px;
		top: 30px;
		z-index: 1;
	}
	#about-open .close-menu > span:first-child{
		top: 15px;
	}
	#about-open .close-menu > span:last-child{
		top: 8px;
	}
	.page-about .img-element .fig-caption{
		display: none!important;
	}

	/* Company */
	.page-company{
		--gnav-color:#fff;
	}

	.page-company #sec01 #content-02 .box-column{
		width: 100%;
	}
	.page-company .h-100 {
		height: auto;
	}
	.side-content .content-details {
		padding-left: 15px;
		padding-right: 15px;
		padding-bottom: 30px;
	}
	.side-content .content-details .page-title{
		margin: 30px 0;
	}
	.page-company #sec01 #content-01 ul {
		padding-left: 0;
		margin: 30px auto 60px;
	}
	.page-company #sec01 #content-02 .text{
		margin: 40px 0 50px;
	}
	.page-recruit .side-content .content-details .page-title{
		padding-top: 40px;
	}
	.page-recruit .table-data tr td{
		padding: 10px;
	}
}
@media(max-width: 575px){
	.page-about .group-caption{
		margin-left: 0;
	}
	.page-recruit form td:first-child {
		width: 90px;
	}
	.page-recruit form td:first-child {
		width: calc(100% - 90px);
	}
}
@media(max-width: 1199px) and (orientation: portrait){
	.page-child-jq #pinContainer .sec-title {
		margin-bottom: 50px;
	}
}
@media(max-width: 767px) and (orientation: portrait){
	.page-about br{
		display: none;
	}
	.page-about .group-caption {
		padding-left: 15px;
		padding-right: 15px;
		margin-bottom: 0;
	}
	.page-about #pinContainer .sec-title{
		font-size: 40px;
		text-align: left;
		padding-left: 15px;
		padding-right: 15px;
	}
	.page-about .center-box {
		padding: 8% 5%;
		width: 50vh;
		height: 50vh;
		font-size: 90%;
		margin-top: 70px;
	}
	.page-about .box-title {
		font-size: 34px;
		margin-top: 0;
		line-height: 30px;
		margin-bottom: 10px;
	}
	.page-about .scroll-group {
		font-size: 20px;
		margin-top: 0;
	}
	.page-contact .wrap-contact {
		margin-top: 20px;
	}
}
@media(max-width: 767px) and (orientation: landscape){
	#about-open .menu-wrapper{
		padding-top: 20px;
	}
	#slide-info .fig-caption{
		overflow-x: scroll;
	}
	.page-about br{
		display: none;
	}
	.page-about .center-box {
		padding: 15px;
		width: 320px!important;
		height: 300px;
		font-size: 90%;
	}
	.page-about .box-title {
		font-size: 5vw;
		line-height: 40px;
		margin-top: 0;
	}
	.page-about .text-img {
		padding-left: 30px;
		padding-right: 30px;
	}
	.page-about .scroll-group {
		margin-top: 5px;
		font-size: 130%;
	}
	.page-about #pinContainer .sec-title {
		font-size: 6vw;
		line-height: 30px;
		text-align: left;
		margin-top: 100px;
		margin-left: 15px;
		margin-bottom: 10px;
	}
	.page-about .group-caption {
		padding-left: 15px;
		padding-right: 15px;
		margin-bottom: 0;
		margin-left: 0;
	}
	.page-about .group-caption h3 {
		font-size: 110%;
	}
	.page-about .fig-img {
		width: 100%;
	}
	.page-contact .h-100 {
		height: auto;
	}
}
@media(min-width: 481px) and (max-width: 991px){
	#slide-info {
		width: 50%;
	}
}
@media(max-width: 480px) and (orientation: portrait){
	.page-about .center-box {
		padding: 8% 5%;
		width: calc(100% - 30px)!important;
		height: 50vh;
		font-size: 90%;
		margin-top: 70px;
	}
	#slide-info{
		width: 100%;
	}
	.page-about #pinContainer .sec-title{
		margin-left: 0;
	}
	.page-about .fig-img {
		transform-origin: 50% 100%;
	}
	.header h1 {
		width: 100%;
		font-size: 1rem;
	}
	.header .logo {
		margin-right: auto;
	}
	.header .main-menu {
		width: 100%;
	}
}
@media(max-width: 320px){
	.header h1 {
		width: 25%;
		margin-right: 15px;
		margin-bottom: 0;
	}
	.header .logo {
		text-align: center;
		margin-top: 8px;
		margin-right: 0;
		display: block;
		width: 100%;
	}
	.header .main-menu ul li a{
		font-size: 16px;
	}
	.page-about .box-title {
		font-size: 24px;
	}
	.page-about .center-box {
		padding: 30px;
		width: 280px;
		height: 285px;
		font-size: 85%;
	}
	.page-about .scroll-group {
		font-size: 16px;
		margin-top: 5px;
	}
	.page-about .scroll-group .scroll-text {
		top: 1px;
	}
}
@media(min-width: 768px){
	#about-open .list-menu {
		display: grid;
		grid-template-columns: 60% 40%;
		grid-template-rows: auto 1fr 1fr 1fr 1fr;
		grid-auto-flow: column;
		gap: 40px 0;
	}
	#about-open .list-menu li {
		text-align: left;
	}
	#about-open .list-menu li.item-about{
	grid-column: 1 / 3;
	}
}