@charset "utf-8";

html {
font-size: 62.5%;
}
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 1.6rem;
line-height: 200%;
color: #000;
background: #fff;
font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
word-wrap: break-word;
}
img, iframe{
width: 100%;
vertical-align: bottom;
}
a {
color: #000;
}
.box {
width: 90%;
max-width: 1280px;
margin: 0 auto;
}
a.btn {
text-align: center;
display: block;
width: 90%;
margin: 0 auto;
color: #fff;
background:
linear-gradient(45deg,  transparent 5px, #81c12e 5px),
linear-gradient(135deg, transparent 5px, #81c12e 5px),
linear-gradient(225deg, transparent 5px, #81c12e 5px),
linear-gradient(315deg, transparent 5px, #81c12e 5px);
background-position: bottom left, top left, top right, bottom right;
background-size: 50% 50%;
background-repeat: no-repeat;
}
a.btn span {
display: table;
margin: 0 auto;
font-weight: 700;
background: #81c12e;
}

.din {
font-family: "Oswald", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.hel {
font-family: "Open Sans", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.noto {
font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.fade {
opacity: 0;
transition: .6s;
}
.fade.-visible {
opacity: 1;
}
.bottomUp {
transform: translateY(80px);
}
.bottomUp.-visible {
transform: translateY(0);
}
.rightIn {
transform: translateX(80px);
}
.rightIn.-visible {
transform: translateX(0);
}
.blackBg {
position: relative;
}
.blackBg:after {
position: absolute;
top: 0;
left: 0;
content: "";
display: block;
width: 100%;
height: 100%;
background: #000;
z-index: 1;
transition: 0.6s;
}
.blackBg.-visible:after {
width: 0;
}


#header {
position: fixed;
width:100%;
z-index: 9;
display: flex;
align-items: center;
background: #000;
}
#header h1 {
width: 65%;
max-width: 480px;
line-height: 100%;
}

#g-nav{
position:fixed;
z-index: 999;
bottom:-120%;
width:100%;
height: 100vh;
background:#81c12e;
transition: all 0.6s;
}
#g-nav.panelactive{
bottom: 0;
}
#g-nav #g-nav-list{
position: fixed;
z-index: 999; 
width: 100%;
height: 100vh;
overflow: auto;
-webkit-overflow-scrolling: touch;
}
#g-nav-list > ul {
position: absolute;
z-index: 999;
top:50%;
left:50%;
transform: translate(-50%,-50%);
width: 100%;
}
#g-nav-list > ul > li {
text-align: center;
}
#g-nav-list > ul > li > a{
color: #FFF;
text-decoration: none;
padding:10px;
display: block;
text-transform: uppercase;
letter-spacing: 0.1em;
font-weight: bold;
}
.openbtn{
position:fixed;
z-index: 9999;
top:0;
right: 0;
cursor: pointer;
width: 80px;
height:70px;
}
.openbtn span{
display: inline-block;
transition: all .4s;
position: absolute;
width: 40px;
height: 4px;
border-radius: 8px;
background: #fff;
top:20px;
left:20px;
}
.openbtn span:nth-of-type(2) {top:33px;}
.openbtn span:nth-of-type(3) {top:46px;}
.openbtn.active span:nth-of-type(1), .openbtn.active span:nth-of-type(3) {width:30%;}
.openbtn.active span:nth-of-type(1) {
top: 28px;
left: 30px;
transform: translateY(6px) rotate(-45deg);
}
.openbtn.active span:nth-of-type(2) {opacity:0;}
.openbtn.active span:nth-of-type(3) {
top: 40px;
left: 30px;
transform: translateY(-6px) rotate(45deg);
}

.scrollgress{
z-index:99;
}

.head {
border-top: 1px solid #000;
border-bottom: 1px solid #000;
}
.head h2 {
font-weight: 800;
width: 90%;
max-width: 1280px;
margin: 0 auto;
}
.head h3 {
border-top: 1px solid #000;
}
.head h3 span {
display: block;
width: 90%;
max-width: 1280px;
margin: 0 auto;
font-weight: 700;
}

#main-area {
width: 100%;
overflow: hidden;
}

.movie img {
width: 100%;
display: block;
box-sizing: border-box;
padding: 0 10px;
}
.slick-list {
overflow: visible;
}

#footer{
background: #000;
position: relative;
z-index: 11;
}
#footer h6 {
width: 60%;
max-width: 400px;
margin: 0 auto;
}
#footer .box ul li a {
color: #fff;
font-weight: bold;
}
#footer p {
max-width: 560px;
display: flex;
justify-content: space-between;
}
#footer p a {
display: block;
width: 48%;
text-align: center;
}
#footer p a:first-child {
background:linear-gradient(45deg,  transparent 5px, #4a80ac 5px),linear-gradient(135deg, transparent 5px, #4a80ac 5px),linear-gradient(225deg, transparent 5px, #4a80ac 5px),linear-gradient(315deg, transparent 5px, #4a80ac 5px);
background-size: 50% 50%;
background-position: bottom left, top left, top right, bottom right;
background-repeat: no-repeat;
color: #fff;
}
#footer p a:nth-child(2) {
background:linear-gradient(45deg,  transparent 5px, #e8d161 5px),linear-gradient(135deg, transparent 5px, #e8d161 5px),linear-gradient(225deg, transparent 5px, #e8d161 5px),linear-gradient(315deg, transparent 5px, #e8d161 5px);
background-size: 50% 50%;
background-position: bottom left, top left, top right, bottom right;
background-repeat: no-repeat;
}
#footer p a span {
font-weight: 700;
display: table;
margin: 0 auto;
}
#footer p a:first-child span {
background: #4a80ac;
}
#footer p a:nth-child(2) span {
background: #e8d161;
}
#footer small {
display: block;
text-align: center;
color: #fff;
font-size: 12px;
}

#floating {
position: fixed;
z-index: 10;
}
#floating ul {
position: relative;
z-index: 2;
}
#floating ul li a {
display: block;
border: 1px solid #000;
font-weight: bold;
}
#floating ul li:first-child a {
background: #0093d4;
color: #fff;
}
#floating ul li:nth-child(2) a {
background: #ffe100;
}
#floating p {
position: absolute;
z-index: 1;
}

@media screen and (max-width:560px) {
a.btn span {
font-size: 4vw;
padding: 8px 0;
}

.head {
margin-bottom: 16px;
}
.head h2, .head h3 span {
padding: 8px 0;
}
.head h2 {
font-size: 9vw;
}
.head h3 {
font-size: 3vw;
}

#main-area > section {
padding-bottom: 60px;
}

#youtube {
padding-top: 60px;
}

#footer {
padding: 40px 0 10px;
}
#footer h6 {
padding-bottom: 40px;
}
#footer .box ul li {
padding-bottom: 20px;
}
#footer .box ul li a {
font-size: 4vw;
}
#footer p {
padding-bottom: 30px;
}
#footer p a span {
font-size: 3vw;
padding: 12px 0;
}


#floating {
width: 100%;
left: 0;
}
#floating ul li a {
padding: 10px 0 10px 10vw;
font-size: 3.2vw;
}
#floating ul li:first-child a {
background: url(../images/career.svg) no-repeat center left 2.5vw #0093d4;
background-size: 6vw auto;
}
#floating ul li:nth-child(2) a {
background: url(../images/new.svg) no-repeat center left 2.5vw #ffe100;
background-size: 6vw auto;
}
#floating p {
right: 5px;
bottom: 45px;
}
}

@media screen and (min-width:561px) {
#main-area > section {
padding-bottom: 100px;
}

.head h2, .head h3 span {
line-height: 100%;
}

#youtube {
padding-top: 100px;
}

#footer h6 {
padding-bottom: 50px;
}
#footer .box ul {
display: flex;
justify-content: center;
}
#footer p {
margin: 0 auto;
padding-bottom: 40px;
}
#footer p a span {
font-size: 1.8rem;
padding: 16px 0;
}

#floating {
right: 0;
}
}

@media (min-width: 561px) and (max-width: 768px){
a.btn span {
font-size: 3.6vw;
padding: 12px 0;
}

#g-nav-list > ul > li > a{
font-size: 3.2vw;
}

.head {
margin-bottom: 20px;
}
.head h2, .head h3 span {
padding: 20px 0;
}
.head h2 {
font-size: 10vw;
}
.head h3 {
font-size: 4vw;
}

#floating {
width: 500px;
}
#floating ul li a {
padding: 12px 0 12px 8vw;
font-size: 2.2vw;
}
#floating ul li:first-child a {
background: url(../images/career.svg) no-repeat center left 2vw #0093d4;
background-size: 4vw auto;
}
#floating ul li:nth-child(2) a {
background: url(../images/new.svg) no-repeat center left 2vw #ffe100;
background-size: 4vw auto;
}
#floating p {
width: 20vw;
right: 2vw;
bottom: 7vw;
}

#footer {
padding: 60px 0 12px;
}
#footer .box ul {
flex-wrap: wrap;
}
#footer .box ul li {
padding: 0 2vw 20px;
}
#footer .box ul li a {
font-size: 2.4vw;
}
}

@media screen and (max-width:768px) {
#floating {
bottom: 0;
transform: translateY(200px);
}
#floating.LeftMove{animation: LeftAnime 0.5s forwards;}
@keyframes LeftAnime{from {opacity: 0;transform: translateY(200px);}to {opacity: 1;transform: translateY(0);}}
#floating.RightMove{animation: RightAnime 0.5s forwards;}
@keyframes RightAnime{from {opacity: 1;transform: translateY(0);}to {opacity: 1;transform: translateY(200px);}
}
#floating ul {
display: flex;
justify-content: space-between;
width: 100%;
}
#floating ul li {
width: 49.8%;
}
}

@media screen and (min-width:769px) {
#footer {
padding: 100px 0 20px;
}
#footer .box ul {
justify-content: space-between;
padding-bottom: 30px;
}

#floating {
width: 120px;
top: 65%;
transform: translate(120px,-50%);
}
#floating.LeftMove{
animation: LeftAnime 0.5s forwards;
}
@keyframes LeftAnime{
from {opacity: 0;transform: translate(120px,-50%);}
to {opacity: 1;transform: translate(0,-50%);}
}
#floating.RightMove{animation: RightAnime 0.5s forwards;}
@keyframes RightAnime{
from {opacity: 1;transform: translate(0,-50%);}
to {opacity: 1;transform: translate(120px,-50%);}
}
#floating ul {
width: 40px;
padding-left: 80px;
}
#floating ul li {
text-align: center;
}
#floating ul li a {
writing-mode: vertical-rl;
display: inline-block;
padding: 8px 4px;
border-right: none;
}
#floating p {
width: 100%;
right: -8px;
top: -105px;
}
}

@media (min-width: 769px) and (max-width: 1024px){
a.btn span {
font-size: 3vw;
padding: 10px 0;
}

#g-nav-list > ul > li > a{
font-size: 3vw;
}

.head {
margin-bottom: 14px;
}
.head h2, .head h3 span {
padding: 14px 0;
}
.head h2 {
font-size: 5vw;
}
.head h3 {
font-size: 2vw;
}

#footer .box ul li a {
font-size: 1.3vw;
}
}

@media screen and (max-width:1024px) {
#header {
height: 75px;
}
#header h1 {
margin-left: 5%;
}

#hero {
padding-top: 75px;
}
}

@media screen and (min-width:1025px) {
a.btn {
width: 480px;
}
a.btn span {
font-size: 2rem;
padding: 16px 0;
}

.head {
margin-bottom: 30px;
}
.head h2, .head h3 span {
padding: 20px 0;
}
.head h2 {
font-size: 5rem;
}
.head h3 {
font-size: 2rem;
}

#header {
width: 90%;
padding: 0 5%;
height: 100px;
}
.openbtn{
top:15px;
}
#g-nav-list > ul > li > a{
font-size: 2rem;
}

#hero {
padding-top: 100px;
}

#footer .box ul li a {
font-size: 1.8rem;
}
}