@charset "UTF-8";
/* CSS Document */

*{
	box-sizing: border-box;
}

:root {
    --color-white: #FFFFFF;
    --color-black: #444444;
	--color-gray:#4D4D4D;
    --color-green: #1D6166;
    --color-placeholder: rgba(42, 50, 59, 0.3);
  }

img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}


a{
	text-decoration: none;
	color: inherit;
	transition: all .3s;
}

body{
	background-color:var(--color-green);
	color:var(--color-white);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	
}

.inner__outside{
	width: 82%;
	margin-right: auto;
	margin-left: auto;
}

.inner__inside{
	width: 70%;
	margin-right: auto;
	margin-left: auto;
}

.sp{
	display: none;
}

.middle{
	display: none;
}

.pc{
	display: block;
}



header{
	padding-top: calc(20 / 1440 * 100vw);
}

.header__inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#header__inner--hamburger{
	display: none;
}

.header__logo--container .logo{
	width: calc(100 / 1440 * 100vw);
}

.header__menuContainer{
	display: flex;
}

.header__menuContainer--content a{
	display: flex;
	align-content: flex-start;
	flex-direction: column;
	font-family: "Teko", sans-serif;
	font-size: 20px;
	font-weight: 700;
	padding-bottom: calc(3/ 1440 * 100vw);
 	position: relative;	
}

.header__menuContainer--content a::before {
	background-color: var(--color-white);
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	margin: auto;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .3s;
}



.header__menuContainer--content a:hover::before {
	transform-origin: left top;
	transform: scale(1, 1);
}

.header__menuContainer--content:not(:first-child){
	margin-left: calc(80 / 1440 * 100vw);
}


#about, #features, #company, #recruit, #vision, #mission, #ceoMessage, #subFeatures, #subRecruit, #contact{
	padding-top: calc(200 / 1440 * 100vw);
	padding-bottom: calc(200 / 1440 * 100vw);
	position: relative;
}

#about::before, #features::before, #company::before {
	background-color: var(--color-white);
	content: "";
	display: block;
	height: 2px;
	margin-top: 11px;
	position: absolute;
	width: calc(75 / 1440 * 100vw);
}

.about__container--title, .vision__container--title, .mission__container--title, .ceoMessage__container--title, .subFeatureslist__container--title{
	font-size: clamp(18px, 36 / 1440 * 100vw, 36 / 1440 * 100vw);
	font-weight: 700;
	line-height: 2;
	margin-top: calc(80 / 1440 * 100vw);
	margin-bottom: calc(80 / 1440 * 100vw);
}

.about__container--text, .vision__container--text, .mission__container--text, .ceoMessage__container--text{
    font-size: clamp(16px, 18 / 1440 * 100vw, 18 / 1440 * 100vw);
	line-height: 3;
}


.viewMore{
	display: flex;
	justify-content: end;
	margin-top: calc(80 / 1440 * 100vw);
	margin-right: calc(30 / 1440 * 100vw);
	position: relative;
}
.viewMore__btn{
	display: block;
}

.viewMore__btn::before{
    content: '';
	position: absolute;
    bottom:-8px;
    right:calc(-30 / 1440 * 100vw);
    width: calc(500 / 1440 * 100vw);
    height: 1px;
	background:var(--color-white);
    transition: all .3s;
}

.viewMore__btn::after{
    content: '';
	position: absolute;
    bottom:-3px;
    right:calc(-30 / 1440 * 100vw);
    width: 16px;
    height:1px;
	background:var(--color-white);
    transform: rotate(35deg);
    transition: all .3s;
}

.viewMore__btn:hover::before{
    right:calc(-50 / 1440 * 100vw);
}

.viewMore__btn:hover::after{
    right:calc(-50 / 1440 * 100vw);
}

.section__title--eng{
	font-family: "Teko", sans-serif;
	font-size: clamp(32px , 48 / 1440 * 100vw, 48 / 1440 * 100vw);
	font-weight: 700;
	line-height: 1;
}

.section__title--jpn{
	font-size: clamp(12px , 20 / 1440 * 100vw, 20 / 1440 * 100vw);
	margin-top: calc(10 / 1440 * 100vw);
	line-height: 1;
}

#recruit{
	background-image: url(../images/recruit.png);
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	height: calc(460 / 1440 * 100vw);
	width: 100vw;
}


.recruit__view{
	display: flex;
	justify-content: center;
	margin-top: calc(100 / 1440 * 100vw);
}

.recruit__view--btn{
	background-color: var(--color-white);
	color: var(--color-black);
	display: flex;
	align-items: center;
	justify-content: center;
	height: 80px;
	position: relative;
	width: 360px;
}

.recruit__view--btn--arrow{
	margin-left: calc(16 / 1440 * 100vw);
	width:  clamp(30 / 600 * 100vw, 40 / 1440 * 100vw, 40 / 1440 * 100vw);
	transition: all 0.3s;
}

.recruit__view--btn:hover{
	opacity: 0.9;
}

.recruit__view--btn:hover .recruit__view--btn--arrow{
	transform: translateX(10px);
}


#footer__top{
	background-color: #FFFFFF;
}

.footer__top--inner{
	color: var(--color-green);
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: calc(20 / 1440 * 100vw);
	padding-bottom: calc(20 / 1440 * 100vw);
}

.footer__logo--container .logo{
	width: calc(100 / 1440 * 100vw);
}

.footer__menuContainer{
	display: flex;
}
.footer__menuContainer--content a{
	font-family: "Teko", sans-serif;
	font-weight: 500;
}

.footer__menuContainer--content a:hover{
	opacity: .7;
}

.footer__menuContainer--content:not(:first-child){
	margin-left: calc(20 / 1440 * 100vw);
}

.footer__top--privacy.pc{
	display: inline-block;
	border-bottom: 1px solid var(--color-green);
}


#footer__bottom{
	background-color: var(--color-gray);
	font-size: 10px;
	padding: 8px 0px;
	text-align: center;
}

@media(max-width:960px){

	.middle{
		display: block;
	}

	#dark{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.50);
		z-index: 99999999;
		opacity: 0;
		visibility: hidden;
		transition: all 0.5s; 
	}
    
	#dark.filter{	
		opacity: 1;
		visibility: visible;
	}

	#header__inner--hamburger{
		cursor: pointer;
		display: block;
		width: 50px;
		height: 22px;
		z-index: 9999999999;
		position: relative;
		transition: transform 500ms ease;
	}
	
	.hamburger__bar{
		background-color: var(--color-white);
		position: absolute;
		transition: 0.3s;
	}
	
	.hamburger__bar:first-child{
		top: 0;
		width: 50px;
		height: 2px;
	}	
	
	.hamburger__bar:nth-child(2){
		top: 10px;
		right: 0;
		width: 25px;
		height: 2px;
	}
	
	.hamburger__bar:last-child{
		top: 20px;
		right: 0;
		width: 10px;
		height: 2px;
	}
	
	#header__inner--hamburger.hamburger_active .hamburger__bar{
		background-color: var(--color-green);
	}

	#header__inner--hamburger.hamburger_active .hamburger__bar:first-child{
		transform: translateY(10px) rotate(15deg);
	}
		
	#header__inner--hamburger.hamburger_active .hamburger__bar:nth-child(2){
		width: 50px;	}
		
	#header__inner--hamburger.hamburger_active .hamburger__bar:last-child{
		opacity: 0;
	}

	.header__inner--menu{
		position: fixed;
		top: 0;
		right: 0;
		z-index: 999999999;
		background-color: var(--color-white);
		width: calc(220 / 395 * 100vw);
		height: 100vh;
		transform: translateX(100%);
		pointer-events: none;
		transition: 0.3s;
	}
	
	.header__inner--menu.nav_active{
		transform: translateX(0);
		pointer-events: auto;
	}

	.header__menuContainer{
		color: var(--color-green);
		display: inline-block;
		padding-top: 0px;
		padding-bottom: 0px;
		margin-top: 100px;
		margin-left: calc(30 / 395 * 100vw);
	}

	.header__menuContainer--content:not(:first-child){
		margin-left: 0px;
		padding-left: 0px;
		margin-top: calc(30 / 395 * 100vw);
	}


	.header__menuContainer--content a::before {
		background-color: var(--color-green);
	}

}

@media(max-width:600px){
	body{
		font-size: 14px;
	}

	.pc{
		display: none;
	}

	.sp{
		display: block;
	}

	.inner__inside{
		width: 82%;
	}


	header{
		padding-top: calc(10 / 395 * 100vw);
	}

	.header__logo--container .logo{
		width: 60px
	}

	#main__visual{
		height: calc(300 / 395 * 100vw);
	}

	main{
		padding-top: 0;
	}

	.about__container--title, .vision__container--title, .mission__container--title, .ceoMessage__container--title{
		font-size: calc(24 / 395 * 100vw);
		margin-top: calc(40 / 395 * 100vw);
		margin-bottom: calc(40 / 395 * 100vw);
	}
	
	.about__container--text, .vision__container--text, .mission__container--text, .ceoMessage__container--text{
		font-size: calc(15 / 395 * 100vw);
		line-height: 2.2;
	}

	.viewMore{
		margin-top: calc(40 / 395 * 100vw);
		margin-right: 0;
		position: relative;
	}

	.viewMore__btn{
		margin-right: calc(20 / 395 * 100vw);
	}

	.viewMore__btn::before{
		bottom:-8px;
		right:0;
	}

	.viewMore__btn::after{
		bottom:-3px;
		right:0;
		width: 16px;
	}

	.viewMore__btn:hover::before{
		right:calc(-30 / 395 * 100vw);
	}

	.viewMore__btn:hover::after{
		right:calc(-30 / 395 * 100vw);
	}

	#recruit{
		background-image: url(../images/recruit_sp.png);
		height: calc(230 / 395 * 100vw);
	}

	.recruit__view{
		margin-top: calc(40 / 395 * 100vw);
	}
	
	.recruit__view--btn{
		font-size: clamp(16 / 395 * 100vw,16 / 395 * 100vw, 16px );
		height: calc(60 / 395 * 100vw);
		width: calc(270 / 395 * 100vw);
	}
	
	.recruit__view--btn--arrow{
		margin-left: calc(16 / 395 * 100vw);
		width:  calc(30 / 395 * 100vw);
	}
	
	.recruit__view--btn:hover .recruit__view--btn--arrow{
		transform: translateX(10px);
	}

	.footer__logo--container .logo {
		width: calc(54 / 395 * 100vw);
	}

	.footer__top--inner {
		padding-top: calc(20 / 395 * 100vw);
		padding-bottom: calc(20 / 395 * 100vw);
	}

	.footer__top--right{
		font-size: calc(12 / 395 * 100vw);
	}

	.footer__top--privacy{
		margin-top: calc(10 / 395 * 100vw);
	}
	
	.footer__top--privacy.pc{
		display: none;
	}
	.footer__top--privacy.sp{
		display: inline-block;
		border-bottom: 1px solid var(--color-green);
	}
}

