@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,
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,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	position: static;
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
}

html {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption,
th,
td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

q,
blockquote {
    quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
    content: "";
    content: none;
}

a img {
    border: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}


/* support iOS */
html{
	height: -webkit-fill-available;
}
body{
	min-height: 100vh;
	min-height: -webkit-fill-available;
	font-family: noto-sans-cjk-jp, sans-serif;
	font-feature-settings: "palt";
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	text-align: center;
	-webkit-overflow-scrolling: auto;
}

@media screen and (max-width: 800px) {
	body {
		font-size: 2vw;
	}
}

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

#wrapper {
	width:100%;
	overflow: hidden !important;
}

#mv-process {
	position: relative;
	padding-top: 3vh;
	background-image: url("../img/bg.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

#mv-process::after {
	content: "";
	position: absolute;
	top: .8rem; 
	left: .8rem;
	width: calc( 100% - 1.6rem - 8px );
	height: calc( 100vh - 1.6rem - 8px );
	display: block;
	border: 4px solid #fff;
	z-index: 1;
}

#mv {
	height: 90vh;
  width: 100%;
	margin-bottom: -5vh;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

#mv img {
	max-height: 50%;
	width: auto;
	max-width: 100%;
	margin-bottom: 5vh;
	z-index: 3;
}

img.top_logo {
	position: absolute;
	top: 2rem;
	left: 2rem;
	width: 40% !important;
	max-width: 320px !important;
}

.video{
	width: 100%;
	height: 90vh;
	position: absolute;
    top: 4vh;
	left: 0;
	-webkit-clip-path: polygon(0 10%, 100% 0, 100% 90%, 0% 100%);
	clip-path: polygon(0 10%, 100% 0, 100% 90%, 0% 100%);
	overflow: hidden;
	z-index: 2;
}

.video::after{
	content: '';
	width: 100%;
	height: 100%;
	/*background-color: rgba(16, 57, 75, .3);*/
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}

.video video{
	height: 75vw;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

@media (max-aspect-ratio: 569/500) {
	#mv {
		height: calc( 92vh - 21.6vw - 1.6rem );
	}
	
	#mv-process::after {
		height: calc( 100vh - 21.6vw - 1.6rem );
	}

	.video {
		height: 64vh;
		top: 4vh;
		-webkit-clip-path: polygon(0 10%, 100% 0, 100% 90%, 0% 100%);
		clip-path: polygon(0 10%, 100% 0, 100% 90%, 0% 100%);
	}

	.video video {
		height: 64vh;
	}

	#mv img {
    	max-width: 80%;
		margin-bottom: 1vh;
	}

	a.scroll {
		padding-top: 9vh;
	}

	#process {
		padding-top: 12em;
	}
}

.container {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

.ttl {
	display: block;
	height: auto;
	max-width: 90%;
	margin: 2em auto 2em 5%;
}

.entry_h {
	position: fixed;
    bottom: 0;
    width: 100%;
	max-width: 960px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	z-index: 999;
}

.entry_h a {
	width: 50%;
	text-decoration: none;
	font-size: 1.8em;
	font-weight: bold;
	line-height: 1.5;
	padding: 4vw 5vw 4vw 2vw;
	position: relative;
	text-align: center;
}

.entry_h a::after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2vw;
	width: 2vw;    /* くの字を山なりに見た時、左側の長さ */
	height: 2vw;   /* くの字を山なりに見た時、右側の長さ */
	border-top: 3px solid;     /* くの字を山なりに見た時、左側の太さと色 */
	border-right: 3px solid;   /* くの字を山なりに見た時、右側の太さと色 */
	transform: rotate(45deg);    /* くの字の向き */
}

@media screen and (min-width:860px) {
	.entry_h {
		right: 0;
		bottom: 0;
		max-width: 160px;
		justify-content: center;
		flex-flow: column;
	}
	.entry_h a {
		width: 100%;
		font-size: .9em;
		padding: 2vw 5vw 2vw 2vw;
	}
}

.btn_white {
	background-color: #fff;
	border: .6vw solid #723203;
	color: #723203;
}

.btn_brown {
	background-color: #723203;
	border: .6vw solid #723203;
	color: #fff;
}

#process {
	padding-top: 2em;
	padding-bottom: 5em;
}

.ttl1 {
	width: 89%;
}

.process_crsl {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

.thumbnail {
	padding: 0 10px 30px;
}

.thumbnail .slick-track {
	transform: unset !important;
}

.thumbnail-img {
	opacity: 0.3;
	transition: opacity .3s linear;
}

.thumbnail .slick-current {
	opacity: 1;
}
 
.slick-img {
	width: 480px;
	margin: 0px 12px;
}

@media screen and (max-width:860px) {
	.slick-img {
		width: 86vw;
		margin: 0px 1vw;
	}
}

.slick-list {
    overflow: visible;
}

.slick-dots {
    bottom: -40px;
}

.slick-dots li {
	margin: 0 auto;
}

#future {
	padding-top: 2em;
	padding-bottom: 4em;
}

.ttl2 {
	width: 89%;
}

.loop_wrap {
	display: flex;
	width: calc(100vw - calc(100vw - 100%));
	height: 110vw;
	max-height: 720px;
	margin-top: 1em;
	overflow: hidden;
}

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

@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.loop_wrap img:first-child {
	animation: loop 60s -30s linear infinite;
}

.loop_wrap img:last-child {
	animation: loop2 60s linear infinite;
}

#workstyle {
	background-image: url("../img/bg.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 3em;
	padding-bottom: 3em;
}

.ttl3 {
	width: 72%;
}

.workstyle_inner {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	display: flex;
    flex-wrap: wrap;
	justify-content: center;
}

.workstyle_content {
	width: 36%;
	margin-bottom: 2em;
}

.workstyle_content:nth-child(2n+1) {
	margin-right: 12%;
}

.workstyle_content p {
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.5;
	position: relative;
	text-align: center;
}

#daitoh, #meetup {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
	padding-top: 3em;
	padding-bottom: 3em;
}

#daitoh {
	padding-bottom: 6em;
}

#req {
	background-image: url("../img/bg.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 3em;
	padding-bottom: 3em;
}

.ttl4 {
	width: 47%;
}

.req {
	width: 90%;
	background-color: #fff;
	margin: 0 auto;
}

.req table {
	display: block;
	font-size: 1.8em;
	line-height: 1.8;
	padding: 2em;
}

.req table th,
.req table td {
	width: 100%;
	display: block;
}

.req table tr th {
	color: #723203;
	font-family: ten-mincho;
	font-size: 1.2em;
	margin-bottom: .5rem;
}

.req table tr:nth-child(n+2) th {
	margin-top: 1.5rem;
}

@media screen and (min-width:861px) {
	#req {
		font-size: .7em;
	}
}

.career_crsl {
	width: 100%;
	max-width: 800px;
	margin: 2rem auto;
}

.career_crsl p {
	display: block;
	width: 800px;
	max-width: 84%;
	color: #723203;
	font-family: ten-mincho;
	font-size: 1.9em;
	margin: 2em auto 1em;
	text-align: left;
}

.career_crsl .slick-list {
    padding: 0 7% !important;
}

.career-img {
	margin: 0 4px;
}

.career-list {
    overflow: visible;
}

b {
	font-size: .7em;
	margin: 0 .3em;
}

#future {
	padding-top: 2em;
	padding-bottom: 4em;
}

.ttl5 {
	width: 79%;
}

.w90 {
	width: 90%;
}

.entry_v {
	width: 90%;
	max-width: 800px;
	margin: 3em auto 5em;
	display: flex;
	justify-content: center;
	flex-flow: column;
}

.entry_v a {
	max-width: 800px;
	border-radius: 1em;
	text-decoration: none;
	font-size: 1.8em;
	font-weight: bold;
	line-height: 1.5;
	padding: 4vw 5vw 4vw 2vw;
	position: relative;
	text-align: center;
	-webkit-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	-moz-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	-ms-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
}

.entry_v a::after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2vw;
	width: 2vw;    /* くの字を山なりに見た時、左側の長さ */
	height: 2vw;   /* くの字を山なりに見た時、右側の長さ */
	border-top: 3px solid;     /* くの字を山なりに見た時、左側の太さと色 */
	border-right: 3px solid;   /* くの字を山なりに見た時、右側の太さと色 */
	transform: rotate(45deg);    /* くの字の向き */
}

.entry_v a:first-child {
	margin-bottom: 1em;
}

#ceo {
	background-image: url("../img/bg.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 3em;
	padding-bottom: 3em;
}

.ttl6 {
	width: 81%;
}

#ceo p {
	display: block;
	width: 800px;
	max-width: 90%;
	color: #723203;
	font-family: ten-mincho;
	font-size: 3em;
	margin: 2em auto 1em;
	text-align: left;
}

.ceo {
	width: 90%;
	max-width: 800px;
}

#footer {
	padding-bottom: calc( 6.3em + 8vw );
	background-color: #333;
	color: #fff;
	font-family: ten-mincho;
}

#footer p {
	padding: 1em 0;
}

@media screen and (min-width:860px) {
	#footer {
		padding-bottom: 0px;
	}
}

a.scroll {
	position: relative;
	z-index: 2;
	display: inline-block;
	color: #723203;
	font-size: 1rem;
	font-weight: 900;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	text-decoration: none;
	padding-top: 100px;
}
a.scroll span {
	position: absolute;
	bottom: -15px;
	left: 50%;
	width: 1em;
	height: 1em;
	margin-left: -.5em;
	border-left: 3px solid #723203;
	border-bottom: 3px solid #723203;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb 1.5s infinite;
	animation: sdb 1.5s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb {
	0% {
		-webkit-transform: rotate(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		-webkit-transform: rotate(-45deg) translate(-.5em, .5em);
		opacity: 0;
	}
}
@keyframes sdb {
	0% {
		transform: rotate(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		transform: rotate(-45deg) translate(-10px, 10px);
		opacity: 0;
	}
}