@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Arvo&family=Noto+Serif&family=PT+Sans:wght@700&family=Roboto+Mono&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Arvo&family=Noto+Serif&family=PT+Sans:wght@700&family=Roboto+Mono&family=Sawarabi+Gothic&display=swap');

body{  font-size: 16px; }
h1{ font-size:28px; font-weight: bold;}
h2{ font-size:20px;}
h3{ font-size:18px;}
p, span { color: #FFFFFF; }
img{ width:100%;  }

/*
 * reset 
 */ 
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 {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}



/* herder */
header {
	height: 120px;
	width: 100%;
	padding-top: 32px;
	background-color: rgba(255, 255, 255, 0.0);
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 999;
}
.navbar {
	display: flex;
	justify-content: space-between;
	border: none;
}
/* bootstrap reset */
.navbar::before, .navbar::after, .navbar-nav::before{
	display: none;
}
#logo {
	padding-left: 32px;
	width: 280px;
	height: 50px;
}
.navbar-nav {
	padding-right: 32px;
}
.menu-item a {
	color: #FFFFFF;
}

/* 
 *contents01 
*/
section#contents01 {
    position: -webkit-sticky;
	position: sticky;
	top: 0;
	width: 100%;
    height: 100vh;
	z-index: -100;
}
img#contents01_back_img {
    position: absolute;
    object-fit: cover;
    width: 100%;
    height: 100vh;
}

div#contents01_wrap01_left {
    position: absolute;
    top: 40%;
    left: 20px;
	color: #FFFFFF;
}
#all_right_reserved {
    writing-mode: vertical-lr;
}
#contents01_wrap01_left p {
	writing-mode: vertical-lr;
}

div#contents01_wrap01_right {
	position: absolute;
	top: 30%;
	left: 10%;
}
.font_emphasis {
	font-size: 64px;
	font-weight: bold;
}
#contents01_wrap01_right_txt {
	font-size: 48px;
	line-height: 74px;
	color: #FFFFFF;
	opacity: 0.8;
}

/* contents02 */
#contents02 {
	display: flex;
	justify-content: space-between;
	position: sticky;
	background-color: rgba(0,0,0,0.6);
	z-index: 100px;
	width: 100%;
	height: 800px;
}

#contents02_left {
	position: relative;
	width: 50%;
	height: 100%;
}
#contents02_left_bg {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #FD7B22;
	width: 70%;
	height: 600px;
	min-width: 350px;
}
#contents02_left_img {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 70%;
	height: 600px;
	box-shadow: 10px 10px 10px rgba(0,0,0,0.6);
	object-fit: cover;
	min-width: 350px;
}

#contents02_right {
	width: 50%;
	height: 100%;
}
#contents02_right_values01{
	margin: 140px 0 0 20px;
	padding: 24px;
	color: #FFFFFF;
}
#contents02_right_values01 span {
	font-weight: bold;
}
#contents02_right_values01 h2 {
	margin-top: 4px;
	font-size: 42px;
}
#contents02_right_values01 p {
	margin-top: 8px;
	line-height: 24px;
}

#contents02_right_values02 {
	padding: 24px;
	margin: 80px 0 0 20px;
	background-color: #FCCB2E;
	line-height: 24px;
}

#contents02_right_values02 span {
	font-weight: bold;
}

#contents02_right_values02 p, #contents02_right_values02 span {
	color: #000;
}

/* contents03 */
#contents03 {
	justify-content: flex-start;
	position: -webkit-sticky;
	position: sticky;
	background-color: rgba(0,0,0,0.6);
	z-index: 200px;
	width: 100%;
	height: 100vh;
}
#contents03_wrap {
	display: flex;
	justify-content: space-around;
}
.contents03_item {
	width: 28%; 
	background-color: #FFFFFF;
	box-shadow: 2px 6px 6px 6px rgba(0, 0, 0,0.2);
	position: relative;
}
.contents03_item img {
	object-fit: cover;
}
.contents03_item_title {
	margin: 20px 0 20px 20px;
	color: #000 !important;
	font-size: 20px !important;
}
.contents03_item p {
	margin: 0 20px 40px;
	line-height: 24px;
	color: rgba(0,0,0,0.8);
}

.contents03_item .btn_container {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -28px;
}

/* contents04 */
#contents04 {
	position: -webkit-sticky;
	position: sticky;
	background-color: rgba(0,0,0,0.6);
	z-index: 300px;
	width: 100%;
	height: 100vh;
}
#contents04_wrap {
	display: flex;
	justify-content: center;
	height: 680px;
	background-color: rgba(230, 229, 227,0.8);
}
.contents04_wrap_item {
	position: relative;
	width: 50%;
	height: 60%;
}
.contents04_wrap_item_img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#contents04_company {
	position: absolute;
	top: 80%;
	left: 10%;
	width: 70%;
	height: 40%;
	background-color: #FFFFFF;
	box-shadow: 2px 6px 6px 6px rgba(0, 0, 0,0.2);
}
#contents04_company span, #contents04_company p {
	display: block;
	padding: 24px 0 0 24px;
}
#contents04_company h2 {
	padding-left: 24px;
}
#contents04_company span, #contents04_company h2, #contents04_company p {
	color: #434343;
}
#contents04_recruit {
	position: absolute;
	top: 80%;
	left: 10%;
	width: 70%;
	height: 40%;
	background-color: #FFFFFF;
	box-shadow: 2px 6px 6px 6px rgba(0, 0, 0,0.2);
}
#contents04_recruit span, #contents04_recruit p {
	display: block;
	padding: 24px 0 0 24px;
}
#contents04_recruit h2 {
	padding-left: 24px;
}
#contents04_recruit span, #contents04_recruit h2, #contents04_recruit p {
	color: #434343;
}

/* contents05 */
#contents05 {
	position: -webkit-sticky;
	position: sticky;
	background-color: rgba(0,0,0,0.6);
	z-index: 400px;
	width: 100%;
	height: 100vh;
}

#contents05 span {
	display: block;
	padding: 64px 0 0 24px;
	color: #FFFFFF;
}
#contents05 h2 {
	padding: 0 0 64px 24px;
	color: #FFFFFF;
}

#contents05_wrap {
	display: flex;
	justify-content: space-around;
}
.contents05_wrap_item {
	width: 28%; 
	background-color: #FFFFFF;
	border: solid 1px;
	border-radius: 3px;
}
.contents05_wrap_item a {
	display: block;
}
.contents05_wrap_item a img {
	object-fit: cover;
}


/* footer */

#footer_container {
	position: -webkit-sticky;
	position: sticky;
	height: 240px;
	width: 100%;
	display: flex;
	justify-content: center;
	z-index: 500;
}
#footer_container_left {
	width: 60%;
	background-color: #434343;
}
#footer_container_left ul {
	margin: 48px 0  0 24px;
}
#footer_container_left ul li{
	display: inline-block;
    padding-left: 24px;
}

#footer_container_right {
	width: 40%;
	background-color: #FD7B22;
}
#footer_container_right img{
	margin-top: 32px;
}



/* font-size */
.font_sm {
	font-size: 14px;
}
.font_mi {
	font-size: 16px;
}
.font_la {
	font-size: 42px;
	color: #FFFFFF;
	font-weight: bold;
}

/* link */
a.link {
	color: #FFFFFF;
	padding: 0 10px;
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgb(233, 17, 24) 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: .3s;
	text-decoration: none;
}
a.link:hover {
	background-position: -100% 0;
	color: #FFFFFF;
}

/* button */
.btn_container {
	font-family: "Yu Gothic", YuGothic, Verdana, 'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, sans-serif;
	text-align: center;
}
.btn_open01 {
	display: inline-block;
	width: 240px;
	height:50px;
	text-align: center;
	background-color: #FD7B22;
	line-height: 52px;
	color: #FFFFFF;
	text-decoration: none;
	font-weight: bold;
	border: 2px solid #FD7B22;
	position: relative;
	overflow: hidden;
	z-index: 1;
	border-radius: 26px;
	box-shadow: 2px 6px 6px 6px rgba(0, 0, 0,0.2);
}
.btn_open01:after{
	width: 100%;
	height: 0;
	content:"";
	position: absolute;
	top: 50%;
	left: 50%;
	background : #FFFFFF;
	opacity: 0;
	transform: translateX(-50%) translateY(-50%) rotate(45deg);
	transition: .2s;
	z-index: -1;
}
.btn_open01:hover{
	color: #FD7B22;
}
.btn_open01:hover:after{
	height: 240%;
	opacity: 1;
}
.btn_open01:active:after{
	height: 340%;
	opacity: 1;
}



/* scroll(swiper) */
.swiper-container {
    width: 100%;
    height: 100vh;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
  animation: zoomUp 10s linear 0s 1 normal both;  
}

.slide-img img{
  display: block;
}


/* effect */
.effect {
	transition: .8s;
	transition-delay: .3s;
}