﻿@charset "utf-8";
@import url("css2.css");
@import url("css2-1.css");

/* *****************************************************************************
=01 reset style
=02 option style
=03 common style
=04 layout style
***************************************************************************** */
/*---------- =01 reset style ----------*/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
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;
}
/*---------- //end reset style ----------*/

/*---------- =02 option style ----------*/
.tal{text-align:left!important;}
.tac{text-align:center!important;}
.tar{text-align:right!important;}
.mbNone{margin-bottom:0!important;}
.mbShort{margin-bottom:1em!important;}
.mbMiddle{margin-bottom:2em!important;}
.mbLong{margin-bottom:3em!important;}
.bold{font-weight:bold;}
.red{color:#c40a03;}
.cf{zoom:1;}
.cf:before,.cf:after{content:"";display:table;}
.cf:after{clear:both;}
/*---------- //end option style ----------*/

/*---------- =03 common style ----------*/
*{
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
html{
	font-size: 62.5%;
}
body{
    font-family: YakuHanJP_Noto, 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-weight: 500;
    line-height: 2;
    color: #333333;
    background-color: #ffffff;
    -webkit-text-size-adjust: 100%;
    font-size: 1.6em;
    letter-spacing: 0;
    margin-top: 66px;
}
a{
    color: #333333;
	text-decoration: none;
}
a:hover,
a:active{
	text-decoration: none;
}
img,a img{
	vertical-align: bottom;
	border: none;
}
strong{
	font-weight: bold;
}
::selection{
	background-color: #c40a03;
	color: #ffffff;
}
::-moz-selection {
	background-color: #c40a03;
	color: #ffffff;
}
.en{
    font-family: 'Barlow', sans-serif;
}

@media screen and (max-width: 760px){
    body{
        margin-top: 60px;
    }
}

/*---------- //end common style ----------*/

/*---------- =04 layout style ----------*/
/*========================================
header layout
========================================*/
/* header */
.header{
    height: 66px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-left: 40px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    z-index: 10;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

@media screen and (max-width: 760px){
    /* header */
    .header{
        height: 60px;
    }
}

/* header-primary */
.header-primary > a{
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.header-primary > a:hover{
    opacity: 0.75;
}
.header-name{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
}
.logo{
    width: 34px;
}
.logo-sp{
    display: none;
}
.header-name > span{
    width: 97px;
    display: inline-block;
    margin-left: 10px;
    margin-right: 17px;
}
.header-name > span > img{
    vertical-align: baseline;
    width: 100%;
}
.header-label{
    line-height: 1;
}
.header-label > img{
    width: 95px;
    vertical-align: baseline;
}

@media screen and (max-width: 1580px){
    /* header-primary */
    .header{
        padding-left: 15px;
    }
    .header-label > img{
        width: 85px;
        vertical-align: baseline;
    }
    .header-name > span{
        margin-right: 15px;
    }
}

@media screen and (max-width: 1400px){
    /* header-primary */
    .header-primary > a{
        display: block;
    }
    .header-label{
        margin-left: 45px;
        width: 80px;
    }
    .header-label > img{
        padding-top: 2px;
        vertical-align: top;
        width: 100%;
    }
}

@media screen and (max-width: 1200px){
    /* header-primary */
    .header-primary > a{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .header-name > span{
        margin-right: 17px;
    }
    .header-label{
        margin-left: 0;
    }
    .header-label > img{
        width: 95px;
        vertical-align: baseline;
        padding-top: 0;
    }
}

@media screen and (max-width: 760px){
    /* header-primary */
    .logo{
        display: none;
    }
    .logo-sp{
        display: inline;
        width: 34px;        
    }
    .header-name > span{
        margin-right: 16px;
    }
}

@media screen and (max-width: 375px){
    /* header-primary */
    .header-primary > a{
        display: block;
    }
    .header-label{
        margin-left: 45px;
        width: 70px;
    }
    .header-label > img{
        vertical-align: top;
        padding-top: 3px;
    }
}

/* nav */
.nav{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.nav ul{
    margin-right: 3rem;
    letter-spacing: -.4em;
    text-align: right;
    white-space: nowrap;
}
.nav li{
    display: inline-block;
    letter-spacing: normal;
    margin-left: 2.8rem;
    font-size: 1.3rem;
    line-height: 14px;
    font-weight: 700;
}
.nav li:first-child{
    margin-left: 0;
}
.nav li > a{
    display: block;
    position: relative;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}
.nav li > a::after{
    content: "";
    display: block;
    height: 3px;
    width: 100%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-delay: 0;
    transition-delay: 0;
    background: #c40a03;
    position: absolute;
    left: 0;
    bottom: -25px;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}
.nav li > a:hover::after{
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}
.advantage .nav li:nth-child(1) a::after{
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}
.reikantanzo .nav li:nth-child(2) a::after{
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}
.interview .nav li:nth-child(3) a::after{
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}
.worklife .nav li:nth-child(4) a::after{
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}
.message .nav li:nth-child(5) a::after{
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}
.job .nav li:nth-child(6) a::after{
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}

@media screen and (max-width: 1580px){
    /* nav */
    .nav ul{
        margin-right: 2.4rem;
    }
    .nav li{
        margin-left: 2.4rem;
    }
}

@media screen and (max-width: 1400px){
    /* nav */
    .nav ul{
        margin-right: 2rem;
    }
    .nav li{
        margin-left: 2rem;
    }
}

@media screen and (max-width: 1200px){
    /* nav */
    .nav{
        display: none;
    }
}

/* movie-library-button */
.movie-library-button{
    margin-right: 3rem;
}
.movie-library-button > a{
    background-color: #333333;
    color: #ffffff;
    text-align: center;
    display: inline-block;
    border-radius: 9999px;
    width: 140px;
    line-height: 3rem;
    font-size: 1.3rem;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}
.movie-library-button > a:hover{
    background-color: #c40a03;
}

@media screen and (max-width: 1580px){
    /* movie-library-button */
    .movie-library-button{
        margin-right: 2.4rem;
    }
    .movie-library-button > a{
        font-size: 1.2rem;
        width: 130px;
    }
}

@media screen and (max-width: 1400px){
    /* movie-library-button */
    .movie-library-button{
        margin-right: 2rem;
    }
    .movie-library-button > a{
        width: 124px;
    }
}

/* entry-button */
.entry-button > a{
    width: 240px;
    background-color: #c40a03;
    display: inline-block;
    color: #ffffff;
    text-align: center;
    font-family: 'Barlow', sans-serif;
    font-size: 21px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    vertical-align: middle;
}
.entry-button > a:hover{
    background-color: #ff0900;   
}
.entry-button > a > span{
    display: inline-block;
    height: 66px;
    line-height: 66px;
    padding-right: 28px;
    background: url("icon-entry.svg") right center no-repeat;
    background-size: 18px auto;
}

@media screen and (max-width: 1580px){
    /* entry-button */
    .entry-button > a{
        width: 160px;
        font-size: 19px;
    }
    .entry-button > a > span{
        padding-right: 26px;
        background: url("icon-entry.svg") right center no-repeat;
        background-size: 17px auto;
    }
}

@media screen and (max-width: 1400px){
    /* entry-button */
    .entry-button > a{
        width: 120px;
        font-size: 17px;
    }
    .entry-button > a > span{
        padding-right: 24px;
        background: url("icon-entry.svg") right center no-repeat;
        background-size: 15px auto;
    }
}

@media screen and (max-width: 1200px){
    /* entry-button */
    .entry-button{
        display: none;
    }
}

/* hamburger-button */
.hamburger-button{
    display: none;
}

@media screen and (max-width: 1200px){
    /* hamburger-button */
    .hamburger-button{
        display: block;
        position: fixed;
        width: 66px;
        height: 66px;
        cursor: pointer;
        top: 0;
        right: 0;
        z-index: 11;
        background-color: #c40a03;
    }
    .hamburger-button span{
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        background-color: #ffffff;
        display: block;
        height: 2px;
        position: absolute;
        width: 22px;
    }
    .hamburger-button span:nth-child(1){
        -webkit-transform: rotate(0);
        transform: rotate(0);
        -webkit-transform-origin: left top;
        transform-origin: left top;
        top: 25px;
        left: 22px;
    }
    .hamburger-button span:nth-child(2){
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        top: 32px;
        left: 22px;
    }
    .hamburger-button span:nth-child(3){
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        top: 39px;
        left: 22px;
    }
    .hamburger-button.is-open span{
        width: 29px;
    }
    .hamburger-button.is-open span:nth-child(1){
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 23px;
        left: 24px;
    }
    .hamburger-button.is-open span:nth-child(2){
        display: none;
    }
    .hamburger-button.is-open span:nth-child(3){
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 22px;
        left: 15px;
    }
}

@media screen and (max-width: 760px){
    /* hamburger-button */
    .hamburger-button{
        width: 60px;
        height: 60px;
    }
    .hamburger-button span{
        width: 22px;
    }
    .hamburger-button span:nth-child(1){
        top: 22px;
        left: 19px;
    }
    .hamburger-button span:nth-child(2){
        top: 29px;
        left: 19px;
    }
    .hamburger-button span:nth-child(3){
        top: 36px;
        left: 19px;
    }
    .hamburger-button.is-open span{
        width: 26px;
    }
    .hamburger-button.is-open span:nth-child(1){
        top: 20px;
        left: 22px;
    }
    .hamburger-button.is-open span:nth-child(3){
        top: 20px;
        left: 14px;
    }
}

/* hamburger-nav */
.hamburger-nav{
    display: none;
}

@media screen and (max-width: 1200px){
    /* hamburger-nav */
    .hamburger-nav{
        background-color: rgba(255,255,255,0.98);
        display: block;
        height: 100%;
        opacity: 0;
        overflow: auto;
        padding-top: 86px;
        position: fixed;
        top: 0;
        left: 0;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        visibility: hidden;
        width: 100%;
        -webkit-overflow-scrolling: touch;
        z-index: 10;
    }
    .hamburger-nav.is-show{
        opacity: 1;
        top: 0;
        visibility: visible;
    }
    .hamburger-nav > ul > li{
        margin-left: 20px;
        margin-right: 20px;
        border-bottom: 1px solid #ebebeb;
        font-size: 15px;
        line-height: 15px;
        font-weight: 700;
    }
    .hamburger-nav > ul > li:first-child{
        border-top: 1px solid #ebebeb;     
    }
    .hamburger-nav > ul > li > a{
        color: #000000;
        background: url("arrow-nav.svg") right 5px center no-repeat;
        background-size: 9px auto;
        display: block;
        padding: 22px 5px;
        font-weight: bold;
    }
}

@media screen and (max-width: 760px){
    /* hamburger-nav */
    .hamburger-nav{
        padding-top: 80px;
    }
    .hamburger-nav > ul > li{
        font-size: 14px;
        line-height: 14px;
    }
    .hamburger-nav > ul > li > a{
        background: url("arrow-nav.svg") right 5px center no-repeat;
        background-size: 8px auto;
    }
}

/* movie-library-button-sp */
.movie-library-button-sp{
    text-align: center;
    margin-top: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
}
.movie-library-button-sp > a{
    background-color: #333333;
    color: #ffffff;
    text-align: center;
    display: inline-block;
    border-radius: 9999px;
    max-width: 180px;
    width: 100%;
    line-height: 4rem;
    font-size: 1.4rem;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

@media screen and (max-width: 1580px){
    /* movie-library-button */
    .movie-library-button{
        margin-right: 2.4rem;
    }
    .movie-library-button > a{
        font-size: 1.2rem;
        width: 130px;
    }
}

@media screen and (max-width: 1400px){
    /* movie-library-button */
    .movie-library-button{
        margin-right: 2rem;
    }
    .movie-library-button > a{
        width: 124px;
    }
}

/* entry-button-sp */
.entry-button-sp{
    display: none;
}

@media screen and (max-width: 1200px){
    /* entry-button-sp */
    .entry-button-sp{
        display: block;
        padding-top: 20px;
        padding-left: 20px;
        padding-right: 20px;
    }
    .entry-button-sp > a{
        background-color: #c40a03;
        color: #ffffff;
        width: 100%;
        height: 56px;
        line-height: 56px;
        display: block;
        text-align: center;
        font-size: 19px;
        font-family: 'Barlow', sans-serif;
    }
    .entry-button-sp > a > span{
        display: inline-block;
        height: 56px;
        line-height: 56px;
        padding-right: 26px;
        background: url("icon-entry.svg") right center no-repeat;
        background-size: 16px auto;
    }
}

@media screen and (max-width: 760px){
    /* header-button-sp */
    .entry-button-sp > a{
        height: 54px;
        line-height: 54px;
        font-size: 18px;
    }
    .entry-button-sp > a > span{
        display: inline-block;
        height: 54px;
        line-height: 54px;
    }
}

/* hamburger-corporate-link */
.hamburger-corporate-link{
    display: none;
}

@media screen and (max-width: 1200px){
    /* hamburger-corporate-link */
    .hamburger-corporate-link{
        display: block;
        text-align: center;
        padding-top: 20px;
        padding-left: 20px;
        padding-right: 20px;
        line-height: 1;
    }
    .hamburger-corporate-link > a{
        color: #000000;
        font-size: 13px;
        font-weight: 500;
        display: inline-block;
        -webkit-transition: all 0.2s;
        transition: all 0.2s;
        position: relative;
        padding-right: 18px;
    }
    .hamburger-corporate-link > a::before{
        content: '';
        width: 5px;
        height: 5px;
        border: 0px;
        border-top: 2px solid #000000;
        border-right: 2px solid #000000;
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        top: 4px;
        right: 0;
    }
}
    
@media print, screen and (max-width: 760px){
    /* hamburger-corporate-link */
    .hamburger-corporate-link > a{
        font-size: 12px;
    }
    .hamburger-corporate-link > a::before{
        width: 4px;
        height: 4px;
    }
    .hamburger-corporate-link > a:hover{
        opacity: 1;
    }
}

/*========================================
contents layout
========================================*/
/* note */
.note{
    margin-left: 1em;
}
.note::before{
  content: '※';
  margin-left: -1em;
}

/* pagelink-box */
.pagelink-box{
    margin-top: -66px;
    padding-top: 66px;
}

@media screen and (max-width: 760px){
    /* pagelink-box */
    .pagelink-box{
        margin-top: -60px;
        padding-top: 60px;
    }
}

/* view-more-button */
.view-more-button{
    text-align: center;
    font-size: 18px;
    font-family: 'Barlow', sans-serif;
}
.view-more-button > a{
    display: inline-block;
	text-decoration: none;
    max-width: 336px;
    width: 100%;
    line-height: 46px;
	position: relative;
    background-color: #c40a03;
    outline: none;
    color: #ffffff;
    padding-left: 20px;
    padding-right: 20px;
    white-space: nowrap;
    box-sizing: border-box;
    border: 2px solid #c40a03;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    text-align: left;
}
.view-more-button > a::before{
    position: absolute;
    content: '';
    top: 50%;
    right: -2px;
    width: 42px;
    height: 2px;
    background-color: #ffffff;
    z-index: 1;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}
.view-more-button > a:hover{
    background-color: #ffffff;
    color: #c40a03;
}
.view-more-button > a:hover::before{
    background-color: #c40a03;
    width: 32px;
}

@media print, screen and (max-width: 760px){
    /* view-more-button */
    .view-more-button{
        font-size: 16px;
    }
    .view-more-button > a{
        max-width: 300px;
        line-height: 44px;
        padding-left: 16px;
        padding-right: 16px;
    }
    .view-more-button > a::before{
        width: 38px;
    }
    .view-more-button > a:hover{
        background-color: #c40a03;
        color: #ffffff;
    }
    .view-more-button > a:hover::before{
        background-color: #ffffff;
        width: 38px;
    }
}

/* maintitle */
.bg-maintitle{
    height: 514px;
}
.maintitle-inner{
    padding-left: 60px;
    padding-right: 60px;
}
.maintitle-inner > div{
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
}
.maintitle-base{
    color: #c30a03;
    text-align: right;
    position: relative;
    margin-top: -59px;
    padding-bottom: 30px;
}
.maintitle-base::after{
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background-color: #c30a03;
    position: absolute;
    right: 0;
    bottom: 0;
}
.maintitle-base > .en{
    font-size: 89px;
    line-height: 1;
}
.maintitle-main{
    font-size: 20px;
    font-weight: 700;
    color: #c30a03;
    line-height: 1;
    padding-top: 28px;
}
.maintitle-text{
    text-align: right;
    padding-top: 22px;
}
.maintitle-text > P{
    font-size: 16px;
    line-height: 2;
}

@media print, screen and (max-width: 1000px){
    /* maintitle */
    .maintitle-inner{
        padding-left: 40px;
        padding-right: 40px;
    }
}

@media print, screen and (max-width: 760px){
    /* maintitle */
    .bg-maintitle{
        height: 257px;
    }
    .maintitle-inner{
        padding-left: 20px;
        padding-right: 20px;
    }
    .maintitle-base{
        margin-top: -41px;
        padding-bottom: 28px;
    }
    .maintitle-base > .en{
        font-size: 62px;
    }
    .maintitle-main{
        font-size: 18px;
        padding-top: 18px;
    }
    .maintitle-text{
        padding-top: 18px;
    }
    .maintitle-text > P{
        font-size: 14px;
    }
}

@media print, screen and (max-width: 540px){
    /* maintitle */
    .maintitle-base{
        text-align: left;
        margin-top: -30px;
    }
    .maintitle-base > .en{
        font-size: 48px;
    }
    .maintitle-base::after{
        left: 0;
    }
    .maintitle-main{
        font-size: 17px;
        padding-top: 10px;
    }
    .maintitle-text{
        text-align: left;
    }
}

/* maintitle-basic */
.maintitle-basic{
    background-color: #f7f6f1;
    width: 100%;
    height: 250px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
}
.maintitle-basic-inner{
    width: 100%;
    text-align: center;
    position: relative;
    padding-bottom: 30px;
}
.maintitle-basic-inner::before{
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    content: '';
    width: 40px;
    height: 1px;
    background-color: #c30a03;
}
.maintitle-basic-inner > .en{
    font-size: 50px;
    line-height: 1em;
    color: #c30a03;
    margin-bottom: 28px;
}
.maintitle-basic-inner > .main{
    font-size: 20px;
    line-height: 1em;
    color: #c30a03;
    font-weight: 700;
}
.bg-maintitle-basic{
    width: 100%;
    height: 200px;
}

@media print, screen and (max-width: 760px){
    /* maintitle-basic */
    .maintitle-basic{
        height: 180px;
    }
    .maintitle-basic-inner{
        padding-bottom: 25px;
    }
    .maintitle-basic-inner::before{
        width: 30px;
        }
    .maintitle-basic-inner > .en{
        font-size: 40px;
        margin-bottom: 18px;
    }
    .maintitle-basic-inner > .main{
        font-size: 18px;
    }
    .bg-maintitle-basic{
        height: 150px;
    }
}

/* page-nav */
.page-nav{
    padding-top: 42px;
    padding-left: 32px;
    padding-right: 32px;
}
.page-nav > ul{
    max-width: 1176px;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.page-nav-link{
    width: 33.3333%;
    padding-top: 56px;
    padding-left: 2.3809%;
    padding-right: 2.3809%;
}
.page-nav-link > a{
    display: block;
    background: #c30a03 url("") right 8.0357% center no-repeat;
    background-size: 14px auto;
    color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 80px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    width: 100%;
    padding-left: 9.5238%;
}
.page-nav-link > a:hover{
    background: #ff0900 url("") right 8.0357% top 35px no-repeat;
    background-size: 14px auto;
}
.page-nav-link > a > span:nth-child(1){
    font-size: 32px;
}
.page-nav-link > a > span:nth-child(2){
    font-size: 21px;
    letter-spacing: 0.1em;
    padding-left: 9.8214%;
}

@media print, screen and (max-width: 1160px){
    /* page-nav */
    .page-nav{
        padding-top: 58px;
        padding-left: 40px;
        padding-right: 40px;
    }
    .page-nav-link{
        padding-top: 40px;
        padding-left: 20px;
        padding-right: 20px;
    }
    .page-nav-link > a{
        padding-left: 25px;
        background: #c30a03 url("") right 20px center no-repeat;
        background-size: 14px auto;
    }
    .page-nav-link > a:hover{
        background: #ff0900 url("") right 20px top 35px no-repeat;
        background-size: 14px auto;
    }
    .page-nav-link > a > span:nth-child(1){
        font-size: 28px;
    }
    .page-nav-link > a > span:nth-child(2){
        font-size: 19px;
        padding-left: 15px;
    }
}

@media print, screen and (max-width: 1000px){
    /* page-nav */
    .page-nav{
        padding-top: 60px;
        padding-left: 30px;
        padding-right: 30px;
    }
    .page-nav-link{
        padding-top: 20px;
        padding-left: 10px;
        padding-right: 10px;
    }
    .page-nav-link > a{
        background: #c30a03 url("") right 15px center no-repeat;
        background-size: 13px auto;
        height: 70px;
        padding-left: 15px;
    }
    .page-nav-link > a:hover{
        background: #ff0900 url("") right 15px top 29px no-repeat;
        background-size: 13px auto;
    }
    .page-nav-link > a > span:nth-child(1){
        font-size: 26px;
    }
    .page-nav-link > a > span:nth-child(2){
        font-size: 17px;
        padding-left: 10px;
    }
}

@media print, screen and (max-width: 760px){
    /* page-nav */
    .page-nav{
        padding-left: 20px;
        padding-right: 20px;
    }
    .page-nav > ul{
        display: block;
    }
    .page-nav-link{
        width: 100%;
        padding-top: 1px;
        padding-left: 0;
        padding-right: 0;
    }
    .page-nav-link > a{
        height: 77px;
        padding-left: 32px;
        background: #c30a03 url("") right 26px center no-repeat;
        background-size: 14px auto;
    }
    .page-nav-link > a:hover{
        background: #c30a03 url("") right 26px center no-repeat;
        background-size: 14px auto;
    }
    .page-nav-link > a > span:nth-child(1){
        font-size: 32px;
        width: 1em;
    }
    .page-nav-link > a > span:nth-child(2){
        font-size: 21px;
        padding-left: 40px;
    }
}

@media print, screen and (max-width: 540px){
    /* page-nav */
    .page-nav-link > a{
        padding-left: 20px;
        background: #c30a03 url("") right 20px center no-repeat;
        background-size: 14px auto;
    }
    .page-nav-link > a:hover{
        background: #c30a03 url("") right 20px center no-repeat;
        background-size: 14px auto;
    }
    .page-nav-link > a > span:nth-child(1){
        font-size: 29px;
    }
    .page-nav-link > a > span:nth-child(2){
        font-size: 19px;
        padding-left: 20px;
    }
}

/* interview-area */
.interview-area-wrap{
    background-color: #f6f6f6;
    padding-top: 80px;
    padding-bottom: 24px;
}
.interview-area{
    margin-bottom: 150px;
    padding-left: 60px;
    padding-right: 60px;
    position: relative;
}
.interview-area-wrap > .interview-area{
    margin-bottom: 0;
}
.interview-area::after{
    content: "";
    display: block;
    width: 75.3472%;
    height: 72%;
    position: absolute;
    top: 36px;
    left: 0;
    background-color: #fae6e6;
    z-index: 0;
}
.interview-area-wrap > .interview-area::after{
    display: none;
}
.interview-area > div{
    width: 1120px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
}

@media print, screen and (max-width: 1257px){
    /* interview-area */
    .interview-area > div{
        width: 100%;
    }
}

@media print, screen and (max-width: 1120px){
    /* interview-area */
    .interview-area-wrap{
        padding-bottom: 40px;
    }
}

@media print, screen and (max-width: 1000px){
    /* interview-area */
    .interview-area-wrap{
        padding-bottom: 60px;
    }
    .interview-area{
        padding-left: 40px;
        padding-right: 40px;
    }
    .interview-area::after{
        height: 82%;
    }
}

@media print, screen and (max-width: 760px){
    /* interview-area */
    .interview-area-wrap{
        padding-top: 60px;
        padding-bottom: 24px;
    }
    .interview-area{
        padding-left: 20px;
        padding-right: 20px;
        margin-bottom: 96px;
    }
    .interview-area::after{
        top: 32px;
    }
}

@media print, screen and (max-width: 640px){
    /* interview-area */
    .interview-area::after{
        width: 68%;
        height: 100%;
        position: absolute;
        top: 36px;
        left: 0;
        background-color: #fae6e6;
        z-index: 0;
    }
}

/* interview-area-title */
.interview-area-title{
    margin-bottom: 38px;
}
.interview-area-title > .en{
    font-size: 90px;
    line-height: 60px;
    white-space: nowrap;
    color: #ca241f;
}
.interview-area-title-main{
    padding-top: 30px;
    font-size: 24px;
    line-height: 24px;
    font-weight: 700;
}

@media print, screen and (max-width: 760px){
    /* home-block */
    .interview-area-title > .en{
        font-size: 70px;
        line-height: 54px;
   }
    .interview-area-title-main{
        font-size: 18px;
        line-height: 18px;
        padding-top: 20px;
    }
}

/* interview-list */
.interview-list{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.interview-list-box{
    width: calc(33.33333% - 56px * 2/3);
    width: -webkit-calc(100%/3 - 56px * 2/3);
    width: calc(100%/3 - 56px * 2/3);
    margin-right: 56px;
    margin-bottom: 56px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.interview-list-box:nth-of-type(3n){
    margin-right: 0;
}
.interview-list-box > a{
    display: block;
    background-color: #ffffff;
}
.interview-list-img{
    overflow: hidden;
}
.img-link-bg > img{
    width: 100%;
}
.interview-list-img > img{
    width: 100%;
    display: block;
    -ms-transition-duration: 0.5s;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
}
a:hover > .interview-list-img > img{
    -ms-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -ms-transition-duration: 0.5s;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
}
.interview-list-primary{
    padding: 25px 22px;
}
.interview-list-text > p{
    font-size: 18px;
    line-height: 1.6;
    font-weight: 700;
}
.interview-list-data{
    font-size: 16px;
    line-height: 1.6;
    padding-top: 24px;
}
.interview-list-data > div:nth-child(1){
    color: #ca241f;
}
.interview-list-data > div:nth-child(2){
    padding-top: 2px;
}

@media print, screen and (max-width: 1120px){
    /* interview-list */
    .interview-list-box{
        width: calc(33.33333% - 40px * 2/3);
        width: -webkit-calc(100%/3 - 40px * 2/3);
        width: calc(100%/3 - 40px * 2/3);
        margin-right: 40px;
        margin-bottom: 40px;
    }
}

@media print, screen and (max-width: 1000px){
    /* interview-list */
    .interview-list-box{
        width: -webkit-calc(50% - 20px * 1/2);
        width: calc(50% - 20px * 1/2);
        margin-right: 20px;
        margin-bottom: 20px;
    }
    .interview-list-box:nth-of-type(3n){
        margin-right: 20px;
    }
    .interview-list-box:nth-of-type(2n){
        margin-right: 0;
    }
}

@media print, screen and (max-width: 760px){
    /* interview-list */
    .interview-list-primary{
        padding: 24px 20px;
    }
    .interview-list-text > p{
        font-size: 16px;
    }
    .interview-list-data{
        font-size: 14px;
        padding-top: 18px;
    }
    a:hover > .interview-list-img > img{
        -ms-transform: scale(1);
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@media print, screen and (max-width: 640px){
    /* interview-list */
    .interview-list{
        scroll-snap-type: x mandatory;
        white-space: nowrap;
        overflow-x: auto;
        display: block;
        margin-bottom: 36px;
    }
    .interview-list-box{
        scroll-snap-align: center;
        display: inline-block;
        width: 80%;
        white-space: normal;
        margin-right: 5px;
        margin-bottom: 0;
        vertical-align: top;
    }
    .interview-list-box:nth-of-type(3n){
        margin-right: 5px;
    }
    .interview-list-box:nth-of-type(2n){
        margin-right: 5px;
    }
}

/* recruit-link-container */
.recruit-link-container{
    margin-top: 150px;
    background-color: #b4aa87;
    padding: 60px 40px;
}
.recruit-link-container > div{
    color: #ffffff;
    max-width: 728px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.recruit-link-title{
    width: 50%;
    padding-right: 28px;
}
.recruit-link-title-main{
    font-size: 36px;
    line-height: 1em;
    font-weight: 700;
}
.recruit-link-title > .en{
    font-size: 24px;
    line-height: 1em;
    padding-top: 20px;
}
.recruit-link-button-wrap{
    width: 50%;
    padding-left: 28px;
}
.recruit-link-button{
    padding-top: 30px;
}
.recruit-link-button:first-child{
    padding-top: 0;
}
.recruit-link-button > a{
    font-size: 18px;
	display: inline-block;
	text-decoration: none;
    width: 100%;
    max-width: 336px;
    line-height: 56px;
	position: relative;
    background-color: #b4aa88;
    outline: none;
    color: #ffffff;
    padding-left: 20px;
    padding-right: 20px;
    white-space: nowrap;
    box-sizing: border-box;
    border: 2px solid #ffffff;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    text-align: left;
}
.recruit-link-button > a::before{
    position: absolute;
    content: '';
    top: 50%;
    right: -1px;
    width: 46px;
    height: 2px;
    background-color: #ffffff;
    z-index: 1;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}
.recruit-link-button > a:hover{
    background-color: #ffffff;
    color: #b4aa88;
}
.recruit-link-button > a:hover::before{
    background-color: #b4aa88;
    width: 32px;
}

@media print, screen and (max-width: 760px){
    /* recruit-link-container */
    .recruit-link-container{
        margin-top: 60px;
        padding: 60px 20px;
    }
    .recruit-link-title{
        padding-right: 10px;
    }
    .recruit-link-title-main{
        font-size: 28px;
    }
    .recruit-link-title > .en{
        font-size: 20px;
        padding-top: 15px;
    }
    .recruit-link-button-wrap{
        padding-left: 10px;
    }
    .recruit-link-button{
        padding-top: 20px;
    }
    .recruit-link-button > a{
        font-size: 16px;
        line-height: 50px;
        padding-left: 16px;
        padding-right: 16px;
    }
    .recruit-link-button > a::before{
        width: 38px;
    }
    .recruit-link-button > a:hover{
        background-color: #b4aa88;
        color: #ffffff;
    }
    .recruit-link-button > a:hover::before{
        background-color: #ffffff;
        width: 38px;
    }
}

@media print, screen and (max-width: 520px){
    /* recruit-link-container */
    .recruit-link-container > div{
        display: block;
    }
    .recruit-link-title{
        width: 100%;
        padding-right: 0;
        text-align: center;
    }
    .recruit-link-title-main{
        font-size: 26px;
    }
    .recruit-link-title > .en{
        font-size: 18px;
    }
    .recruit-link-button-wrap{
        width: 100%;
        padding-top: 35px;
        padding-left: 0;
        text-align: center;
    }
}

/*========================================
footer layout
========================================*/
/* footer */
.footer{
    background-color: #c40a03;
    color: #ffffff;
    padding-top: 25px;
}

/* footer-nav */
.footer-nav{
    padding: 25px 20px 15px;
}
.footer-nav > ul{
    text-align: center;
    letter-spacing: -.4em;
}
.footer-nav > ul > li{
    display: inline-block;
    letter-spacing: normal;
    font-size: 14px;
    line-height: 1em;
    border-left: 1px solid #df827f;
    padding-left: 15px;
    padding-right: 15px;
}
.footer-nav > ul > li:nth-child(1){
    border-left: none;
}
.footer-nav > ul > li > a{
    color: #ffffff;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}
.footer-nav > ul > li > a:hover{
    opacity: 0.75;
}

@media print, screen and (max-width: 1000px){
    /* footer-nav */
    .footer-nav{
        padding-bottom: 20px;
    }
    .footer-nav > ul{
        width: 600px;
        margin-left: auto;
        margin-right: auto;
    }
    .footer-nav > ul > li:nth-child(5){
        border-left: none;
    }
}

@media print, screen and (max-width: 760px){
    /* footer-nav */
    .footer-nav > ul{
        width: 100%;
    }
    .footer-nav > ul > li{
        display: block;
        border-left: none;
        padding-top: 20px;
        padding-left: 0;
        padding-right: 0;
    }
    .footer-nav > ul > li:nth-child(1){
        padding-top: 0;
    }
    .footer-nav > ul > li > a:hover{
        opacity: 1;
    }
}

/* footer-movie-library-button */
.footer-movie-library-button{
    text-align: center;
    margin-bottom: 1.2rem;
    padding-left: 2rem;
    padding-right: 2rem;
}
.footer-movie-library-button > a{
    background-color: #ffffff;
    color: #c40a03;
    text-align: center;
    display: inline-block;
    border-radius: 9999px;
    width: 140px;
    line-height: 3rem;
    font-size: 1.3rem;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}
.footer-movie-library-button > a:hover{
    opacity: 0.75;
}

/* footer-corporate-link */
.footer-corporate-link{
	text-align: center;
    padding-left: 20px;
    padding-right: 20px;
}
.footer-corporate-link > a{
	color: #ffffff;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	display: inline-block;
	-webkit-transition: all 0.2s;
    transition: all 0.2s;
    position: relative;
    padding-right: 18px;
}
.footer-corporate-link > a::before{
    content: '';
    width: 4px;
    height: 4px;
    border: 0px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 4px;
    right: 0;
}
.footer-corporate-link > a:hover{
	opacity: 0.75;
}

@media print, screen and (max-width: 760px){
    /* footer-corporate-link */
    .footer-corporate-link > a{
        font-size: 11px;
    }
    .footer-corporate-link > a::before{
        top: 3px;
    }
    .footer-corporate-link > a:hover{
        opacity: 1;
    }
}

/* footer-copyright */
.footer-copyright{
	width: 100%;
	padding: 25px;
}
.footer-copyright > div{
	text-align: center;
	font-size: 12px;
	line-height: 12px;
	white-space: nowrap;
    font-family: 'Barlow', sans-serif;
}

/*========================================
other layout
========================================*/

/*---------- //end layout style ----------*/