@charset 'UTF-8';
/*
SCSS SMACSS BEM
*/
/* Tools */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
@import url('https://fonts.googleapis.com/css2?family=Muli&display=swap');
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
{
    font: inherit;
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline; 

    border: 0;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main
{
    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-spacing: 0; 
    border-collapse: collapse;
}

.bold
{
    font-weight: bold;
}

.text-align-center
{
    text-align: center;
}

.text-align-right
{
    text-align: right;
}

.clearfix:before,
.clearfix:after
{
    display: table; 

    content: '';
}

.clearfix:after
{
    clear: both;
}

.clear
{
    clear: both;
}

/* show only  SP/PC
-------------------------------*/
.hidden-lgview
{
    display: none !important;
}

.hidden-smview
{
    display: block !important;
}

@media screen and (max-width: 767px)
{
    .hidden-lgview
    {
        display: block !important;
    }
    .hidden-smview
    {
        display: none !important;
    }
}

/* font
-------------------------------*/
.bold
{
    font-weight: bold;
}

/* margin
-------------------------------*/
/* padding
-------------------------------*/
.fade-in-up
{
    -webkit-transition: opacity .7s ease-out,-webkit-transform .7s ease-out;
            transition: opacity .7s ease-out,-webkit-transform .7s ease-out;
            transition: opacity .7s ease-out,transform .7s ease-out;
            transition: opacity .7s ease-out,transform .7s ease-out,-webkit-transform .7s ease-out; 
    -webkit-transform: translate(0, 60px);
        -ms-transform: translate(0, 60px);
            transform: translate(0, 60px);

    opacity: 0;
}

.fade-in-up-delay--01
{
    -webkit-transition-delay: .3s;
            transition-delay: .3s;
}

.fade-in-up-delay--02
{
    -webkit-transition-delay: .6s;
            transition-delay: .6s;
}

.fade-in-up-active
{
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); 

    opacity: 1.0;
}

@media screen and (max-width: 767px)
{
    .fade-in-up
    {
        -webkit-transition: opacity .7s ease-out,-webkit-transform .7s ease-out;
                transition: opacity .7s ease-out,-webkit-transform .7s ease-out;
                transition: opacity .7s ease-out,transform .7s ease-out;
                transition: opacity .7s ease-out,transform .7s ease-out,-webkit-transform .7s ease-out; 
        -webkit-transform: translate(0, 40px);
            -ms-transform: translate(0, 40px);
                transform: translate(0, 40px);

        opacity: 0;
    }
    .fade-in-up-delay--01
    {
        -webkit-transition-delay: 0s;
                transition-delay: 0s;
    }
    .fade-in-up-delay--02
    {
        -webkit-transition-delay: 0s;
                transition-delay: 0s;
    }
    .fade-in-up-active
    {
        -webkit-transform: translate(0, 0);
            -ms-transform: translate(0, 0);
                transform: translate(0, 0); 

        opacity: 1.0;
    }
}

/*
  MAIN:general
--------------------------------------------- */
html
{
    font-size: 62.5%;
}

body
{
    font-family: 'æ¸¸ã‚´ã‚·ãƒƒã‚¯', YuGothic, 'ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ Pro W3', 'Hiragino Kaku Gothic Pro', 'ãƒ¡ã‚¤ãƒªã‚ª', Meiryo, Osaka, 'ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯', 'MS PGothic', sans-serif;
    font-size: 1.6em;

    min-width: 980px;
    margin: 0 auto;

    vertical-align: top;
    word-wrap: break-word;

    color: #000;
    background: #fff;

    line-break: strict;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: 'palt';
}

@media screen and (max-width: 767px)
{
    body
    {
        font-size: 1.4em;

        min-width: 100%;
    }
}

*,
*:before,
*:after
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

a
{
    color: #000;
}

a:hover
{
    text-decoration: underline;
}

img
{
    width: auto;
    max-width: 100%;
    height: auto;

    vertical-align: bottom;

    border: 0;
}

@media screen and (max-width: 767px)
{
    img
    {
        width: 100%;
        height: auto;
    }
}

input[type=submit]
{
    cursor: pointer;
}

@-ms-viewport
{
    width: auto !important;
}

:root
{
    -ms-overflow-style: scrollbar;
}

@font-face
{
    font-family: 'Muli', sans-serif;
}

body.fixed
{
    position: fixed;

    width: 100%;
}

/* Layout */
.l-header
{
    position: relative;

    width: 100%;
    height: 76px;
    margin: 0 auto;
}

.l-main
{
    position: relative; 

    padding-top: 77px;
}

.l-content
{
    width: 980px;
    margin: 0 auto;
    padding: 0 20px;
}

.l-content-inner
{
    width: 860px;
    margin: 0 auto;
}

.l-section
{
    overflow: hidden; 

    margin-bottom: 90px;
}
.l-section:last-of-type
{
    margin-bottom: 60px;
}

.l-footer
{
    position: relative;

    width: 980px;
    height: 76px;
    margin: 0 auto; 
    padding: 0 20px;
}

@media screen and (max-width: 767px)
{
    .l-header
    {
        width: 100%;
        height: 61px;
    }
    .l-main
    {
        position: relative; 

        padding-top: 61px;
    }
    .l-content
    {
        width: 100%;
        margin: 0 auto;
        padding: 0 15px;
    }
    .l-content-inner
    {
        width: 100%;
        margin: 0 auto;
    }
    .l-section
    {
        overflow: hidden; 

        margin-bottom: calc(100 / 750 * 100vw);
    }
    .l-section:last-of-type
    {
        margin-bottom: calc(80 / 750 * 100vw);
    }
    .l-footer
    {
        position: relative;

        width: 100%;
        height: 76px;
        margin: 0 auto; 
        padding: 0 15px;
    }
}

/* Module */
.header
{
    position: fixed;
    z-index: 9998; 
    top: 0;
    left: 0;

    width: 100%;

    border-bottom: 1px solid #f5f5f5;
    background-color: #fff;
}
.header__inner
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.header__logo
{
    width: 300px; 
    margin: 29px 20px 0;
}

@media screen and (max-width: 767px)
{
    .header__logo
    {
        width: 200px; 
        margin: 23px calc(30 / 750 * 100vw) 0;
    }
}

.utility__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 15px; 
    margin-right: 90px;
}

.utility__item
{
    margin-left: 10px;
}
.utility__item:first-of-type
{
    margin-left: 0;
}

.utility__link
{
    font-size: 1.4rem;
    font-weight: bold;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    height: 45px;
    padding: 0 19px;

    -webkit-transition: all .5s;
            transition: all .5s; 
    text-align: center;
    text-decoration: none;

    color: #7e6f54;
    border: 1px solid #7e6f54;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.utility__link:hover
{
    text-decoration: none;

    color: #fff; 
    border: 1px solid #e5002c;
    background-color: #e5002c;
}
.utility__link:hover::after
{
    display: inline-block;

    width: 6px;
    height: 9px;
    margin-left: 14px; 

    content: '';

    background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
    background-size: contain;
}
.utility__link::after
{
    display: inline-block;

    width: 6px;
    height: 9px;
    margin-left: 14px; 

    content: '';

    background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
    background-size: contain;
}

.nav-button__wrap
{
    position: absolute;
    z-index: 99999;
    top: 15px;
    right: 20px;

    width: 50px;
    height: 50px;
    padding: 11px;

    cursor: pointer;
}
.nav-button__wrap:hover
{
    opacity: .8;
}

.nav-button,
.nav-button span
{
    display: inline-block;

    -webkit-transition: all .3s;
            transition: all .3s;
}

.nav-button
{
    position: relative; 

    width: 30px;
    height: 23px;
}

.nav-button span
{
    position: absolute;
    left: 0;

    width: 100%;
    height: 3px;

    background-color: #111;
}

.nav-button span:nth-of-type(1)
{
    top: 0;
}

.nav-button span:nth-of-type(2)
{
    top: 10px;
}

.nav-button span:nth-of-type(3)
{
    bottom: 0;
}

.active .nav-button span:nth-of-type(1)
{
    -webkit-transform: translateY(10px) rotate(-47deg);
        -ms-transform: translateY(10px) rotate(-47deg);
            transform: translateY(10px) rotate(-47deg);
}

.active .nav-button span:nth-of-type(2)
{
    opacity: 0;
}

.active .nav-button span:nth-of-type(3)
{
    -webkit-transform: translateY(-10px) rotate(45deg);
        -ms-transform: translateY(-10px) rotate(45deg);
            transform: translateY(-10px) rotate(45deg);
}

.nav-button__wrap--close
{
    position: absolute;
    top: 25px;
    right: 33px;

    cursor: pointer;
}

@media screen and (max-width: 767px)
{
    .nav-button__wrap
    {
        position: absolute;
        top: 17px;
        right: 15px;

        width: 30px;
        height: 25px;
        padding: 0;
    }
    .nav-button__wrap:hover
    {
        opacity: 1;
    }
    .nav-button,
    .nav-button span
    {
        -webkit-transition: none;
                transition: none;
    }
    .nav-button
    {
        position: relative; 

        width: 30px;
        height: 25px;
    }
    .nav-button span:nth-of-type(1)
    {
        top: 0;
    }
    .nav-button span:nth-of-type(2)
    {
        top: 11px;
    }
    .nav-button span:nth-of-type(3)
    {
        bottom: 0;
    }
    .active .nav-button span:nth-of-type(1)
    {
        -webkit-transform: translateY(11px) rotate(-47deg);
            -ms-transform: translateY(11px) rotate(-47deg);
                transform: translateY(11px) rotate(-47deg);
    }
    .active .nav-button span:nth-of-type(2)
    {
        opacity: 0;
    }
    .active .nav-button span:nth-of-type(3)
    {
        -webkit-transform: translateY(-11px) rotate(45deg);
            -ms-transform: translateY(-11px) rotate(45deg);
                transform: translateY(-11px) rotate(45deg);
    }
    .nav-button__wrap--close
    {
        position: absolute;
        top: 17px;
        right: 15px;

        cursor: pointer;
    }
}

.global-navigation__wrapper
{
    position: absolute;
    z-index: 9998;
    top: 0;
    right: 0;

    overflow-x: auto;

    width: 550px;
    height: 100vh;

    -webkit-transition: all .3s ease-in-out;
            transition: all .3s ease-in-out;
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); 

    background: rgba(255, 255, 255, .98);
}

.global-navigation__list
{
    margin-bottom: 20px;
    padding: 50px 40px 0;
}

.global-navigation__item
{
    padding-top: 20px;
    padding-bottom: 5px; 

    border-bottom: 1px solid #ccc;
}

.global-navigation-first
{
    font-family: 'Muli', sans-serif;
    font-size: 2.4rem;

    margin-bottom: 14px; 

    letter-spacing: .08em;
}
.global-navigation-first::after
{
    display: block;

    width: 20px;
    height: 2px;
    margin-top: 13px; 

    content: '';

    background-color: #e5002c;
}

.global-navigation-second
{
    margin-left: 16px;
}
.global-navigation-second__item
{
    margin-bottom: 20px;
}

.global-navigation__link
{
    display: block;

    -webkit-transition: color .6s;
            transition: color .6s; 
    text-decoration: none;
}
.global-navigation__link::after
{
    display: inline-block;

    width: 6px;
    height: 9px;
    margin-left: 7px; 

    content: '';

    background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
    background-size: cover;
}
.global-navigation__link:hover
{
    -webkit-transition: color .4s;
            transition: color .4s; 
    text-decoration: none;

    color: #e5002c;
}

.global-navigation__soon
{
    color: #9d9d9d;
}
.global-navigation__soon:after
{
    font-size: 1.2rem;
    font-weight: bold;

    display: inline-block;

    margin-left: 8px;

    content: 'coming soon';
    vertical-align: top; 

    color: #e5002c;
}

.global-navigation__blank
{
    display: block; 

    text-decoration: none;
}
.global-navigation__blank::after
{
    display: inline-block;

    width: 10px;
    height: 10px;
    margin-left: 7px; 

    content: '';

    background: url('../img/common/icon_blank.png') 0 0 no-repeat;
    background-size: cover;
}
.global-navigation__blank:hover
{
    -webkit-transition: color .4s;
            transition: color .4s; 
    text-decoration: none;

    color: #e5002c;
}

.essential__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: 50px; 
    padding: 0 40px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.essential__item
{
    width: calc((100% - 10px) / 2); 
    margin-bottom: 10px;
}

.essential__link
{
    font-size: 1.4rem;
    font-weight: bold;

    position: relative; 

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    height: 58px;
    padding: 0 19px;

    -webkit-transition: all .5s;
            transition: all .5s;
    text-align: center;
    text-decoration: none;

    color: #7e6f54;
    border: 1px solid #7e6f54;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.essential__link:hover
{
    text-decoration: none;

    color: #fff; 
    border: 1px solid #e5002c;
    background-color: #e5002c;
}
.essential__link:hover::after
{
    position: absolute;
    top: 20px; 
    right: 14px;

    display: inline-block;

    width: 10px;
    height: 17px;

    content: '';

    background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
    background-size: contain;
}
.essential__link::after
{
    position: absolute;
    top: 20px; 
    right: 14px;

    display: inline-block;

    width: 10px;
    height: 17px;

    content: '';

    background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
    background-size: contain;
}

.essential__list > .essential__item:last-child
{
    /* margin: 0 auto; */
}

@media screen and (max-width: 767px)
{
    .global-navigation__wrapper
    {
        position: absolute;
        top: 0;
        right: 0;

        overflow-x: auto;

        width: 100%;
        height: 100vh;

        -webkit-transform: translateX(100%);
            -ms-transform: translateX(100%);
                transform: translateX(100%); 

        background: rgba(255, 255, 255, .98);
    }
    .global-navigation__list
    {
        margin-bottom: calc(40 / 750 * 100vw);
        padding: 60px 15px 0;
    }
    .global-navigation__item
    {
        padding-top: calc(36 / 750 * 100vw);
        padding-bottom: 5px;
    }
    .global-navigation-first
    {
        font-size: 2rem;

        margin-bottom: calc(30 / 750 * 100vw);
    }
    .global-navigation-second
    {
        margin-left: calc(30 / 750 * 100vw);
    }
    .global-navigation-second__item
    {
        margin-bottom: calc(36 / 750 * 100vw);
    }
    .global-navigation__link
    {
        -webkit-transition: none;
                transition: none; 
        text-decoration: none;
    }
    .global-navigation__link::after
    {
        display: inline-block;

        width: 4px;
        height: 8px;
        margin-left: 7px; 

        content: '';

        background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
        background-size: contain;
    }
    .global-navigation__link:hover
    {
        -webkit-transition: none;
                transition: none; 

        opacity: 1;
    }
    .global-navigation__blank
    {
        -webkit-transition: opacity .8s;
                transition: opacity .8s; 
        text-decoration: none;
    }
    .global-navigation__blank:hover
    {
        -webkit-transition: none;
                transition: none; 
        text-decoration: none;

        opacity: 1;
    }
    .essential__list
    {
        margin-bottom: 80px; 
        padding: 0 15px;
    }
    .essential__item
    {
        width: calc((100% - 15px) / 2); 
        margin-bottom: 10px;
    }
    .essential__link
    {
        position: relative; 

        height: 58px;
        padding: 0 19px;

        -webkit-transition: all .5s;
                transition: all .5s;
        text-decoration: none;
    }
    .essential__link:hover
    {
        text-decoration: none;

        color: #fff; 
        border: 1px solid #e5002c;
        background-color: #e5002c;
    }
    .essential__link:hover::after
    {
        position: absolute;
        top: 20px; 
        right: 14px;

        display: inline-block;

        width: 10px;
        height: 17px;

        content: '';

        background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
        background-size: contain;
    }
    .essential__link::after
    {
        position: absolute;
        top: 20px; 
        right: 14px;

        display: inline-block;

        width: 10px;
        height: 17px;

        content: '';

        background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
        background-size: contain;
    }
}

.is-open
{
    display: block;

    -webkit-transition: all .3s;
            transition: all .3s;
    -webkit-transform: translateX(0px);
        -ms-transform: translateX(0px);
            transform: translateX(0px); 

    background: rgba(255, 255, 255, .98);
}

/*
  bg
--------------------------------------------- */
.bg--top
{
    z-index: 0;

    background: url('../img/top/bg_top_all.png') 0 -20px no-repeat;
    background-size: 100%;
}

@media screen and (max-width: 767px)
{
    .bg--top
    {
        z-index: 0;

        background: url('../img/top/bg_top_all_sp.png') 0 -100px no-repeat;
        background-size: 100%;
    }
}

.bg--about
{
    z-index: 0; 

    background: url('../img/about/bg_about.png') 50% 0 no-repeat;
}

@media screen and (max-width: 767px)
{
    .bg--about
    {
        z-index: 0;

        background: url('../img/about/bg_about_sp.png') 0 0 no-repeat;
        background-size: 100%;
    }
}

.bg--message
{
    z-index: 0; 

    background: url('../img/message/bg_message.png') 50% 0 no-repeat;
}

@media screen and (max-width: 767px)
{
    .bg--message
    {
        z-index: 0;

        background: url('../img/message/bg_message_sp.png') 0 0 no-repeat;
        background-size: 100%;
    }
}

.bg--news
{
    z-index: 0; 

    background: url('../img/news/bg_news.png') 50% 0 no-repeat;
}

@media screen and (max-width: 767px)
{
    .bg--news
    {
        z-index: 0;

        background: url('../img/news/bg_news_sp.png') 0 0 no-repeat;
        background-size: 100%;
    }
}

.bg--interview
{
    z-index: 0; 

    background: url('../img/interview/bg_interview.png') 50% 0 no-repeat;
}

@media screen and (max-width: 767px)
{
    .bg--interview
    {
        z-index: 0;

        background: url('../img/interview/bg_interview_sp.png') 0 0 no-repeat;
        background-size: 100%;
    }
}

.bg--business
{
    z-index: 0; 

    background: url('../img/business/bg_business.png') 50% 0 no-repeat;
}

@media screen and (max-width: 767px)
{
    .bg--business
    {
        z-index: 0;

        background: url('../img/business/bg_business_sp.png') 0 0 no-repeat;
        background-size: 100%;
    }
}

.bg--article
{
    z-index: 0; 

    background: url('../img/article/bg_article.png') 50% 0 no-repeat;
}

@media screen and (max-width: 767px)
{
    .bg--article
    {
        z-index: 0;

        background: url('../img/article/bg_article_sp.png') 0 0 no-repeat;
        background-size: 100%;
    }
}

.section-news
{
    position: relative;
}
.section-news::after
{
    position: absolute;
    z-index: -1; 
    top: -30px;
    right: calc(180 / 1440 * 100vw);

    display: inline-block;

    width: calc(401 / 1440 * 100vw);
    height: calc(599 / 1440 * 100vw);

    content: '';

    background: url('../img/top/bg_rectangle_02.png') 0 0 no-repeat;
    background-size: cover;
}

.line-01
{
    position: absolute;
    z-index: -1;
    top: -30px; 
    right: 0;

    width: 135px;
    height: 539px;

    background: url('../img/top/red_line.png') 0 0 no-repeat;
}

.line-02
{
    position: absolute;
    z-index: -1;
    top: 140px; 
    left: 0;

    width: 135px;
    height: 539px;

    background: url('../img/top/red_line.png') 0 0 no-repeat;
}

.line-03
{
    position: absolute;
    z-index: -1;
    top: 180px; 
    right: 0;

    width: 135px;
    height: 539px;

    background: url('../img/top/red_line.png') 0 0 no-repeat;
}

.section-company
{
    position: relative;

    margin-bottom: 150px;
}
.section-company::before
{
    position: absolute;
    z-index: -3; 
    top: calc((60 / 1440 * 100vw) * -1);
    right: 0;

    display: inline-block;

    width: calc(600 / 1440 * 100vw);
    height: calc(826 / 1440 * 100vw);

    content: '';

    background: url('../img/top/bg_rectangle_red_01.png') 0 0 no-repeat;
    background-size: cover;
}
.section-company::after
{
    position: absolute;
    z-index: -2; 
    top: calc(384 / 1440 * 100vw);
    left: calc(74 / 1440 * 100vw);

    display: inline-block;

    width: calc(329 / 1440 * 100vw);
    height: calc(435 / 1440 * 100vw);

    content: '';

    background: url('../img/top/bg_rectangle_02.png') 0 0 no-repeat;
    background-size: cover;
}

@media screen and (max-width: 767px)
{
    .section-company
    {
        position: relative;

        margin-bottom: calc(180 / 750 * 100vw);
    }
    .section-company::before
    {
        content: none;
    }
    .section-company::after
    {
        content: none;
    }
}

.section-member
{
    position: relative;

    margin-bottom: 140px;
}

.section-workstyle
{
    position: relative;

    margin-bottom: 140px;
}
.section-workstyle::before
{
    position: absolute;
    z-index: -3; 
    top: calc((200 / 1440 * 100vw) * -1);
    left: 0;

    display: inline-block;

    width: calc(230 / 1440 * 100vw);
    height: calc(963 / 1440 * 100vw);

    content: '';

    background: url('../img/top/bg_rectangle_red_02.png') 0 0 no-repeat;
    background-size: cover;
}

@media screen and (max-width: 767px)
{
    .section-member
    {
        position: relative;

        margin-bottom: calc(160 / 750 * 100vw);
    }
    .section-workstyle
    {
        position: relative;

        margin-bottom: calc(160 / 750 * 100vw);
    }
    .section-workstyle::before
    {
        content: none;
    }
}

.parts-reveal:after
{
    -webkit-transition: -webkit-clip-path .6s ease-out;
            transition: -webkit-clip-path .6s ease-out;
            transition:         clip-path .6s ease-out;
            transition:         clip-path .6s ease-out, -webkit-clip-path .6s ease-out;
    -webkit-transition-delay: .5s;
            transition-delay: .5s; 

    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
}

.active::after
{
    -webkit-clip-path: inset(0) !important;
            clip-path: inset(0) !important;
}

.line-reveal
{
    -webkit-transition: -webkit-clip-path .6s ease-out;
            transition: -webkit-clip-path .6s ease-out;
            transition:         clip-path .6s ease-out;
            transition:         clip-path .6s ease-out, -webkit-clip-path .6s ease-out;
    -webkit-transition-delay: .5s;
            transition-delay: .5s; 

    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
}

.line-active
{
    -webkit-clip-path: inset(0) !important;
            clip-path: inset(0) !important;
}

@media screen and (max-width: 767px)
{
    .section-news::after
    {
        content: none;
    }
    .line-01
    {
        background: none;
    }
    .line-02
    {
        background: none;
    }
    .line-03
    {
        background: none;
    }
    .section-movie::after
    {
        content: none;
    }
}

/*
heading
*/
.heading-lv1
{
    position: relative;

    height: 220px;
    margin-bottom: 40px; 

    background-repeat: no-repeat;
}
.heading-lv1--nomb
{
    height: 170px;
    margin-bottom: 0;
}
.heading-lv1--about::after
{
    position: absolute;
    top: 0; 
    right: 0;

    width: 646px;
    height: 220px;

    content: '';

    background: url('../img/about/bg_heading1.png') 0 0 no-repeat;
}
.heading-lv1--training::after
{
    position: absolute;
    top: 0; 
    right: 0;

    width: 646px;
    height: 220px;

    content: '';

    background: url('../img/training/bg_heading1.png') 0 0 no-repeat;
}
.heading-lv1--careerplans::after
{
    position: absolute;
    top: 0; 
    right: 0;

    width: 646px;
    height: 220px;

    content: '';

    background: url('../img/careerplans/bg_heading1.png') 0 0 no-repeat;
}
.heading-lv1--message::after
{
    position: absolute;
    top: 0; 
    right: 0;

    width: 646px;
    height: 220px;

    content: '';

    background: url('../img/message/bg_heading1.png') 0 0 no-repeat;
}
.heading-lv1--welfare::after
{
    position: absolute;
    top: 0; 
    right: 0;

    width: 646px;
    height: 220px;

    content: '';

    background: url('../img/welfare/bg_heading1.png') 0 0 no-repeat;
}
.heading-lv1__inner
{
    position: relative; 

    display: block;

    width: 980px;
    margin: 0 auto;
    padding: 90px 0 0 20px;
}
.heading-lv1__text
{
    width: calc(500 / 1440 * 100vw);
}
.heading-lv1__text--full
{
    width: 100%;
}
.heading-lv1__eng
{
    font-family: 'Muli', sans-serif;
    font-size: 4.8rem;

    display: inline-block; 

    margin-right: 20px;

    letter-spacing: .05em;

    color: #e5002c;
}
.heading-lv1__jp
{
    font-size: 2rem;
    font-weight: bold;

    display: inline-block;

    margin-top: 12px; 

    color: #111;
}

@media screen and (max-width: 767px)
{
    .heading-lv1
    {
        height: 120px;
        margin-bottom: calc(30 / 750 * 100vw); 

        background-repeat: no-repeat;
    }
    .heading-lv1--nomb
    {
        height: 140px;
        margin-bottom: calc(30 / 750 * 100vw);
    }
    .heading-lv1--about::after
    {
        position: absolute;
        top: 0;
        right: 0;

        width: 152px;
        height: 120px;

        content: '';

        background: url('../img/about/bg_heading1_sp.png') 0 0 no-repeat;
        background-size: cover;
    }
    .heading-lv1--training::after
    {
        position: absolute;
        top: 0;
        right: 0;

        width: 152px;
        height: 120px;

        content: '';

        background: url('../img/training/bg_heading1_sp.png') 0 0 no-repeat;
        background-size: cover;
    }
    .heading-lv1--careerplans::after
    {
        position: absolute;
        top: 0;
        right: 0;

        width: 152px;
        height: 120px;

        content: '';

        background: url('../img/careerplans/bg_heading1_sp.png') 0 0 no-repeat;
        background-size: cover;
    }
    .heading-lv1--message::after
    {
        position: absolute;
        top: 0;
        right: 0;

        width: 152px;
        height: 120px;

        content: '';

        background: url('../img/message/bg_heading1_sp.png') 0 0 no-repeat;
        background-size: cover;
    }
    .heading-lv1--welfare::after
    {
        position: absolute;
        top: 0;
        right: 0;

        width: 152px;
        height: 120px;

        content: '';

        background: url('../img/welfare/bg_heading1_sp.png') 0 0 no-repeat;
        background-size: cover;
    }
    .heading-lv1__inner
    {
        width: 100%;
        padding: 30px 0 0 15px;
    }
    .heading-lv1__text
    {
        width: calc(430 / 750 * 100vw);
    }
    .heading-lv1__eng
    {
        font-size: 3.6rem;

        display: block;
        display: inline; 

        margin-right: 0;

        letter-spacing: .04em;
    }
    .heading-lv1__eng--small
    {
        font-size: 3rem;
    }
    .heading-lv1__jp
    {
        font-size: 1.4rem;

        display: block;

        margin-top: 12px;
    }
}

.heading-lv2
{
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 51px;
}
.heading-lv2::after
{
    display: block;

    width: 40px;
    height: 3px;
    margin-top: 20px; 

    content: '';

    background-color: #e5002c;
}

.president__heading {

    }

.president__heading::after {    
    margin-top: 20px; 
    background-color: #e5002c;
    content: none;
}

@media screen and (max-width: 767px)
{
    .heading-lv2{
        font-size: 2.4rem;
        margin-bottom: calc(50 / 750 * 100vw);
    }
    .heading-lv2::after{
        width: 30px;
        height: 2px;
        margin-top: 20px;
        margin-bottom: calc(40 / 750 * 100vw); 
        content: '';
    }

    .president__heading {
         font-size:0;
        font-weight: normal;
        line-height: 1;
        margin-bottom: 0;
    }

    .president__heading::after
    {
        
        margin-bottom: calc(40 / 750 * 100vw); 

        content: none;
    }

}

.heading-lv3
{
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.6;

    margin-bottom: 30px;
}

@media screen and (max-width: 767px)
{
    .heading-lv3
    {
        font-size: 1.8rem;

        width: 100%;
        margin-bottom: calc(50 / 750 * 100vw);
    }
}

.heading-lv2-top
{
    margin-bottom: 38px;
}
.heading-lv2-top__eng
{
    font-family: 'Muli', sans-serif;
    font-size: 8rem;

    display: block;

    margin-bottom: 28px; 

    letter-spacing: .05em;

    color: #e5002c;
}
.heading-lv2-top__ja
{
    font-size: 3.2rem;
    font-weight: bold;

    display: block;

    margin-bottom: 25px; 

    letter-spacing: .04em;
}
.heading-lv2-top__ja .small
{
    font-size: 2.6rem;
    font-weight: normal;

    padding-left: 7px;
}
.heading-lv2-top::after
{
    display: block;

    width: 50px;
    height: 4px;

    content: '';

    background-color: #e5002c;
}

@media screen and (max-width: 767px)
{
    .heading-lv2-top
    {
        margin-bottom: calc(50 / 750 * 100vw);
    }
    .heading-lv2-top__eng
    {
        font-size: 4.6rem;

        margin-bottom: calc(35 / 750 * 100vw);
    }
    .heading-lv2-top__ja
    {
        font-size: 1.8rem;

        margin-bottom: calc(40 / 750 * 100vw);
    }
    .heading-lv2-top__ja .small
    {
        font-size: 1.4rem;

        padding-left: 7px;
    }
    .heading-lv2-top::after
    {
        width: 30px;
        height: 3px; 

        content: '';
    }
}

.bread-crumb
{
    position: absolute;
    top: 23px;
    left: 20px;
}
.bread-crumb__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.bread-crumb__item
{
    font-size: 1.2rem; 

    margin-left: 10px;
}
.bread-crumb__item a
{
    text-decoration: none;
}
.bread-crumb__item:before
{
    font-size: 1.2rem;

    display: inline-block;

    margin-right: 10px; 

    content: '>';
}
.bread-crumb__item:first-of-type
{
    margin-left: 0;
}
.bread-crumb__item:first-of-type:before
{
    content: none;
}

@media screen and (max-width: 767px)
{
    .bread-crumb
    {
        line-height: 1.7; 

        position: relative;
        top: inherit;
        left: inherit;

        margin-top: calc(100 / 750 * 100vw);
        padding: calc(30 / 750 * 100vw);

        border-top: 1px solid #e6e6e6;
        background: #fff;
    }
    .bread-crumb__list
    {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .bread-crumb__item
    {
        font-size: 1.2rem;
    }
    .bread-crumb__item:first-of-type
    {
        margin-left: 0;
    }
    .pagination-01 + .bread-crumb
    {
        margin-top: 0 !important;
    }
}

/*
  slick style
--------------------------------------------- */
.kv
{
    position: relative; 

    min-width: 980px;
}
.kv__parts--left
{
    position: absolute;
    z-index: 2; 
    top: 0;
    left: 0;

    width: calc(126 / 1440 * 100vw);
}
.kv__parts--right
{
    position: absolute;
    z-index: 2; 
    right: 0;
    bottom: 0;

    width: calc(51 / 1440 * 100vw);
}
.kv__bg
{
    position: absolute;
    top: 0;
    left: calc(135 / 1440 * 100vw);

    width: calc(550 / 1440 * 100vw);

    -webkit-transition: -webkit-clip-path .5s ease-out;
            transition: -webkit-clip-path .5s ease-out;
            transition:         clip-path .5s ease-out;
            transition:         clip-path .5s ease-out, -webkit-clip-path .5s ease-out;
    -webkit-transition-delay: .5s;
            transition-delay: .5s; 

    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
}
.kv__ttl
{
    position: absolute;
    top: calc(156 / 1440 * 100vw);
    left: calc(278 / 1440 * 100vw);

    width: calc(292 / 1440 * 100vw);

    -webkit-transition: -webkit-clip-path .6s ease-out;
            transition: -webkit-clip-path .6s ease-out;
            transition:         clip-path .6s ease-out;
            transition:         clip-path .6s ease-out, -webkit-clip-path .6s ease-out;
    -webkit-transition-delay: 1s;
            transition-delay: 1s; 

    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
}

@media screen and (max-width: 767px)
{
    .kv
    {
        min-width: 100%;
    }
    .kv__parts--left
    {
        width: calc(40 / 750 * 100vw);
    }
    .kv__parts--right
    {
        width: calc(100 / 750 * 100vw);
    }
    .kv__bg
    {
        position: absolute;
        z-index: 3; 
        top: inherit;
        right: 0;
        bottom: calc((96 / 750 * 100vw) * -1);
        left: inherit;

        width: calc(686 / 750 * 100vw);

        -webkit-transition: -webkit-clip-path .5s ease-out;
                transition: -webkit-clip-path .5s ease-out;
                transition:         clip-path .5s ease-out;
                transition:         clip-path .5s ease-out, -webkit-clip-path .5s ease-out;
        -webkit-transition-delay: 1.5s;
                transition-delay: 1.5s;

        -webkit-clip-path: inset(0 0 0 100%);
                clip-path: inset(0 0 0 100%);
    }
    .kv__ttl
    {
        position: absolute;
        z-index: 3; 
        top: inherit;
        right: calc(60 / 750 * 100vw);
        bottom: calc((50 / 750 * 100vw) * -1);
        left: inherit;

        width: calc(534 / 750 * 100vw);

        -webkit-transition: -webkit-clip-path .5s ease-out;
                transition: -webkit-clip-path .5s ease-out;
                transition:         clip-path .5s ease-out;
                transition:         clip-path .5s ease-out, -webkit-clip-path .5s ease-out;
        -webkit-transition-delay: 2.5s;
                transition-delay: 2.5s;

        -webkit-clip-path: inset(0 0 0 100%);
                clip-path: inset(0 0 0 100%);
        filter: none;
    }
}

.lead-copy
{
    width: calc(540 / 1440 * 100vw);
    margin: calc(25 / 1440 * 100vw) 0 calc(200 / 1440 * 100vw) calc(630 / 1440 * 100vw); 

    -webkit-transition: -webkit-clip-path 1.5s;
            transition: -webkit-clip-path 1.5s;
            transition:         clip-path 1.5s;
            transition:         clip-path 1.5s, -webkit-clip-path 1.5s;
    -webkit-transition-delay: 2s;
            transition-delay: 2s;

    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
}

@media screen and (max-width: 767px)
{
    .lead-copy
    {
        width: calc(524 / 750 * 100vw);
        margin: calc(190 / 750 * 100vw) auto calc(110 / 750 * 100vw) auto; 

        -webkit-transition: none;
                transition: none;
        -webkit-transition-delay: none;
                transition-delay: none;

        -webkit-clip-path: inset(0);
                clip-path: inset(0);
    }
}

.line-lead
{
    position: absolute;
    z-index: -1;
    top: calc(580 / 1440 * 100vw);
    right: calc(140 / 1440 * 100vw);

    width: 1px;
    height: calc(165 / 1440 * 100vw);

    -webkit-transition: -webkit-clip-path .6s;
            transition: -webkit-clip-path .6s;
            transition:         clip-path .6s;
            transition:         clip-path .6s, -webkit-clip-path .6s;
    -webkit-transition-delay: 3.5s;
            transition-delay: 3.5s; 
    -webkit-transform: rotate(15deg);
        -ms-transform: rotate(15deg);
            transform: rotate(15deg);

    background-color: #e5002c;

    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
}

.is-bg-active
{
    opacity: 1; 

    -webkit-clip-path: inset(0);
            clip-path: inset(0);
    filter: blur(0);
}

/*
  slick style
--------------------------------------------- */
.slick
{
    position: relative;

    overflow: hidden;
}

.slick .item
{
    overflow: hidden;
}

.slick .slide-image
{
    -webkit-transition: all 12s 0s;
            transition: all 12s 0s; 
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
}

.slick .slick-current .slide-image
{
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
}

.load
{
    -webkit-transition: all 5s ease 0s;
            transition: all 5s ease 0s; 
    -webkit-transform: scale(1.1) !important;
        -ms-transform: scale(1.1) !important;
            transform: scale(1.1) !important;
}

/*
  news
--------------------------------------------- */
.news
{
    margin-bottom: 100px;
}
.news__link
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    text-decoration: none;
}
.news__link:hover
{
    text-decoration: none;
}
.news__link:hover .news__detail
{
    color: #e5002c;
}
.news__item
{
    margin-top: 30px;
}
.news__item:first-of-type
{
    margin-top: 0;
}
.news__date
{
    font-size: 1.4rem;

    margin-top: 7px; 
    margin-right: 25px;
    padding-left: 37px;
}
.news__cat
{
    font-size: 1rem;

    display: inline-block;

    width: 110px;
    height: 17px;
    margin-top: 5px; 
    margin-right: 25px;
    padding: 3px;

    text-align: center;

    border: 1px solid #999;
}
.news__detail
{
    line-height: 1.6;

    display: inline-block;

    width: calc(100% -  210px);
    padding-right: 30px;
}
.news__detail:after
{
    display: inline-block;

    width: 6px;
    height: 10px;
    margin-left: 10px; 

    content: '';

    background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
    background-size: contain;
}

@media screen and (max-width: 767px)
{
    .news
    {
        margin-bottom: calc(180 / 750 * 100vw);
    }
    .news__link
    {
        text-decoration: none;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .news__link:hover
    {
        text-decoration: none;
    }
    .news__link:hover .news__detail
    {
        color: #e5002c;
    }
    .news__item
    {
        margin-top: calc(50 / 750 * 100vw);
    }
    .news__item:first-of-type
    {
        margin-top: 0;
    }
    .news__date
    {
        font-size: 1.2rem;

        margin-top: calc(16 / 750 * 100vw); 
        margin-right: calc(30 / 750 * 100vw);
        padding-left: 0;
    }
    .news__cat
    {
        font-size: 1rem;

        width: calc(200 / 750 * 100vw);
        height: calc(34 / 750 * 100vw);
        margin-right: 0; 
        padding: 3px;
    }
    .news__detail
    {
        display: block;

        width: 100%;
        margin-top: calc(25 / 750 * 100vw);
        padding-right: 0;
    }
}

/*
  company-unit
--------------------------------------------- */
.company-unit
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.company__item
{
    position: relative;

    overflow: hidden;

    width: 460px;

    background: #fff;
}

.company__link
{
    display: block;
}
.company__link:hover .company__photo img
{
    -webkit-transition: all .4s;
            transition: all .4s; 
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);

    opacity: .8;
}

.company__photo img
{
    -webkit-transition: all .4s;
            transition: all .4s;
}

.company__detail
{
    position: absolute;
    top: 65px;

    width: 206px;
    padding: 18px; 

    background: #fff;
}
.company__detail::before
{
    position: absolute;
    top: 30px; 
    right: 18px;

    display: inline-block;

    width: 6px;
    height: 9px;

    content: '';

    background: url(../img/common/icon_arrow_red_s.png) 0 0 no-repeat;
    background-size: contain;
}

.company__ttl--en
{
    font-size: 1.2rem;
    font-weight: bold;

    margin-bottom: 10px; 

    color: #e5002c;
}

.company__ttl--ja
{
    font-size: 1.6rem;
    font-weight: bold;
}

@media screen and (max-width: 767px)
{
    .company-unit
    {
            flex-direction: column; 

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
    .company__item
    {
        width: 100%;
    }
    .company__item:first-of-type
    {
        margin-bottom: calc(40 / 750 * 100vw);
    }
    .company__link:hover .company__photo img
    {
        -webkit-transition: none;
                transition: none; 
        -webkit-transform: scale(1);
            -ms-transform: scale(1);
                transform: scale(1);

        opacity: 1;
    }
    .company__photo img
    {
        -webkit-transition: none;
                transition: none;
    }
    .company__detail
    {
        position: absolute;
        top: calc(150 / 750 * 100vw);

        width: calc(358 / 750 * 100vw);
        height: calc(140 / 750 * 100vw);
        padding: calc(30 / 750 * 100vw); 

        background: #fff;
    }
    .company__detail::before
    {
        position: absolute;
        top: calc(60 / 750 * 100vw); 
        right: calc(22 / 750 * 100vw);

        display: inline-block;

        width: 5px;
        height: 8px;

        content: '';

        background: url(../img/common/icon_arrow_red_s.png) 0 0 no-repeat;
        background-size: contain;
    }
    .company__ttl--en
    {
        font-size: 1.2rem;

        margin-bottom: calc(13 / 750 * 100vw);
    }
    .company__ttl--ja
    {
        font-size: 1.6rem;
    }
}

/*
  workstyle-unit
--------------------------------------------- */
.workstyle-unit
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.workstyle__item
{
    position: relative;

    overflow: hidden;

    width: 300px;

    background: #fff;
}

.workstyle__link
{
    display: block;
}
.workstyle__link:hover .workstyle__photo img
{
    -webkit-transition: all .4s;
            transition: all .4s; 
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);

    opacity: .8;
}

.workstyle__photo img
{
    -webkit-transition: all .4s;
            transition: all .4s;
}

.workstyle__detail
{
    position: absolute;
    top: 65px;

    width: 176px;
    padding: 18px; 

    background: #fff;
}
.workstyle__detail::before
{
    position: absolute;
    top: 30px; 
    right: 18px;

    display: inline-block;

    width: 6px;
    height: 9px;

    content: '';

    background: url(../img/common/icon_arrow_red_s.png) 0 0 no-repeat;
    background-size: contain;
}

.workstyle__ttl--en
{
    font-size: 1.2rem;
    font-weight: bold;

    margin-bottom: 10px; 

    color: #e5002c;
}

.workstyle__ttl--ja
{
    font-size: 1.6rem;
    font-weight: bold;
}

@media screen and (max-width: 767px)
{
    .workstyle-unit
    {
            flex-direction: column; 

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
    .workstyle__item
    {
        width: 100%;
    }
    .workstyle__item:first-of-type
    {
        margin-bottom: calc(40 / 750 * 100vw);
    }
    .workstyle__item:nth-child(2)
    {
        margin-bottom: calc(40 / 750 * 100vw);
    }
    .workstyle__link:hover .workstyle__photo img
    {
        -webkit-transition: none;
                transition: none; 
        -webkit-transform: scale(1);
            -ms-transform: scale(1);
                transform: scale(1);

        opacity: 1;
    }
    .workstyle__photo img
    {
        -webkit-transition: none;
                transition: none;
    }
    .workstyle__detail
    {
        position: absolute;
        top: calc(150 / 750 * 100vw);

        width: calc(358 / 750 * 100vw);
        height: calc(140 / 750 * 100vw);
        padding: calc(30 / 750 * 100vw); 

        background: #fff;
    }
    .workstyle__detail::before
    {
        position: absolute;
        top: calc(60 / 750 * 100vw); 
        right: calc(22 / 750 * 100vw);

        display: inline-block;

        width: 5px;
        height: 8px;

        content: '';

        background: url(../img/common/icon_arrow_red_s.png) 0 0 no-repeat;
        background-size: contain;
    }
    .workstyle__ttl--en
    {
        font-size: 1.2rem;

        margin-bottom: calc(13 / 750 * 100vw);
    }
    .workstyle__ttl--ja
    {
        font-size: 1.6rem;
    }
}

/*
  movie-unit
--------------------------------------------- */
.movie-unit
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.movie__item-wrap
{
    position: relative; 

    width: 300px;
}

.movie__item
{
    overflow: hidden;

    width: 300px;

    background: #fff;
}

.movie__link
{
    display: block;
}
.movie__link:hover .movie__photo img
{
    -webkit-transition: all .4s;
            transition: all .4s; 
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);

    opacity: .8;
}

.movie__photo img
{
    -webkit-transition: all .4s;
            transition: all .4s;
}

.movie__detail
{
    position: absolute;
    bottom: -40px;
    left: 18px;

    width: 263px;
    padding: 18px;

    text-align: center;

    color: #fff; 
    background: url('../img/top/bg_movie.png') 0 0 no-repeat;
}

.movie__ttl--ja
{
    font-size: 1.7rem;
    font-weight: bold;
}

@media screen and (max-width: 767px)
{
    .movie-unit
    {
            flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .movie__item-wrap
    {
        width: 100%;
    }
    .movie__item-wrap:first-of-type
    {
        margin-bottom: calc(130 / 750 * 100vw);
    }
    .movie__item-wrap:nth-child(2)
    {
        margin-bottom: calc(130 / 750 * 100vw);
    }
    .movie__item
    {
        width: 100%;
    }
    .movie__link:hover .movie__photo img
    {
        -webkit-transition: none;
                transition: none; 
        -webkit-transform: scale(1);
            -ms-transform: scale(1);
                transform: scale(1);

        opacity: 1;
    }
    .movie__photo img
    {
        -webkit-transition: none;
                transition: none;
    }
    .movie__detail
    {
        position: absolute;
        bottom: calc((70 / 750 * 100vw) * -1);
        left: calc(90 / 750 * 100vw); 

        width: calc(508 / 750 * 100vw);
        height: calc(120 / 750 * 100vw);
        padding: calc(40 / 750 * 100vw) calc(20 / 750 * 100vw);

        background-size: contain;
    }
    .movie__ttl--ja
    {
        font-size: 1.6rem;
    }
}

/*
  slider
--------------------------------------------- */
.slider .slick-next
{
    z-index: 9999;
    top: inherit; 
    right: 40%;
    bottom: -5px;
}

.slider .slick-prev
{
    z-index: 9999;
    top: inherit; 
    bottom: -5px;
    left: 40%;
}

@media screen and (max-width: 980px)
{
    .slider .slick-next
    {
        right: 38%;
    }
    .slider .slick-prev
    {
        left: 38%;
    }
}

@media screen and (max-width: 767px)
{
    .slider .slick-next
    {
        z-index: 9999;
        top: inherit; 
        right: 16%;
        bottom: -5px;
    }
    .slider .slick-prev
    {
        z-index: 9999;
        top: inherit; 
        bottom: -5px;
        left: 16%;
    }
    .slider .slick-slide:not(.slick-center)
    {
        margin-top: calc(40/ 750 * 100vw); 

        -webkit-transition: .2s linear;
                transition: .2s linear;

        opacity: .6;
    }
}

/*
  movie panel
--------------------------------------------- */
.movie-panel
{
    position: relative;

    margin-top: 80px;
}
.movie-panel:first-of-type
{
    margin-top: 0;
}
.movie-panel__link
{
    display: block;
}
.movie-panel__link:hover
{
    -webkit-transition-duration: .4s;
            transition-duration: .4s;
}
.movie-panel__link:hover .movie-panel__pic img
{
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);

    opacity: .8;
}
.movie-panel__link:hover .movie-panel__textlink
{
    -webkit-transition: opacity .4s;
            transition: opacity .4s; 

    opacity: .8;
}
.movie-panel__pic
{
    position: relative; 

    display: block;
    overflow: hidden;

    width: 620px;
    height: 349px;
}
.movie-panel__pic--right
{
    margin-left: 320px;
}
.movie-panel__pic img
{
    -webkit-transition-duration: .4s;
            transition-duration: .4s;
}
.movie-panel__pic:after
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: inline-block;

    width: 94px;
    height: 94px;

    content: '';
    -webkit-transform: translateY(-50%) translateX(-50%);
        -ms-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%); 

    background: url('../img/common/icon_play.png') 0 0 no-repeat;
    background-size: cover;
}
.movie-panel__detail
{
    position: absolute;
    top: 55px;
    right: 0;

    width: 397px;
    height: 240px;

    background: url('../img/top/movie_panel_bg.png') 0 0 no-repeat;
    background-size: contain;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.movie-panel__detail--right
{
    right: inherit;
    left: 0;
}
.movie-panel__ttl
{
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.4; 

    display: block;

    width: 340px;
    padding-top: 95px;
    padding-left: 70px;

    text-align: center;

    color: #fff;
}
.movie-panel__ttl--twoline
{
    padding-top: 70px;
}
.movie-panel__textlink
{
    display: block;

    margin-top: 60px;
    padding-right: 90px;

    text-align: right;
    text-decoration: underline; 

    color: #fff;
}
.movie-panel__textlink:after
{
    display: inline-block;

    width: 6px;
    height: 6px;
    margin-left: 10px; 

    content: '';

    background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
    background-size: contain;
}

@media screen and (max-width: 767px)
{
    .movie-panel
    {
        margin-top: calc(180 / 750 * 100vw);
    }
    .movie-panel__link:hover
    {
        -webkit-transition-duration: none;
                transition-duration: none;
    }
    .movie-panel__link:hover .movie-panel__pic img
    {
        -webkit-transform: scale(1);
            -ms-transform: scale(1);
                transform: scale(1);

        opacity: 1;
    }
    .movie-panel__link:hover .movie-panel__textlink
    {
        -webkit-transition: none;
                transition: none; 

        opacity: 1;
    }
    .movie-panel__pic
    {
        display: block; 

        width: 100%;
        height: inherit;
    }
    .movie-panel__pic--right
    {
        margin-left: 0;
    }
    .movie-panel__pic img
    {
        -webkit-transition-duration: .4s;
                transition-duration: .4s;
    }
    .movie-panel__pic:after
    {
        position: absolute;
        top: 50%;
        left: 50%;

        display: inline-block;

        width: calc(100 / 750 * 100vw);
        height: calc(100 / 750 * 100vw);

        content: '';
        -webkit-transform: translateY(-50%) translateX(-50%);
            -ms-transform: translateY(-50%) translateX(-50%);
                transform: translateY(-50%) translateX(-50%); 

        background: url('../img/common/icon_play.png') 0 0 no-repeat;
        background-size: cover;
    }
    .movie-panel__detail
    {
        position: absolute;
        top: inherit;
        right: -15px;
        bottom: calc((110 / 750 * 100vw) * -1);
        left: inherit;

        width: calc(642 / 750 * 100vw);
        height: calc(185 / 750 * 100vw);

        background: url('../img/top/movie_panel_bg_sp.png') 0 0 no-repeat;
        background-size: cover;

        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .movie-panel__detail--right
    {
        position: absolute;
        top: inherit;
        right: inherit;
        bottom: calc((110 / 750 * 100vw) * -1);
        left: -15px;

        width: calc(661 / 750 * 100vw);
        height: calc(185 / 750 * 100vw);

        background: url('../img/top/movie_panel_bg_sp2.png') 0 0 no-repeat;
        background-size: cover;

        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .movie-panel__ttl
    {
        font-size: 2.2rem;
        line-height: 1.4; 

        width: calc(620 / 750 * 100vw);
        padding-top: calc(40 / 750 * 100vw);
        padding-left: calc(40 / 750 * 100vw);
    }
    .movie-panel__ttl--twoline
    {
        padding-top: calc(40 / 750 * 100vw);
    }
    .movie-panel__textlink
    {
        margin-top: calc(30 / 750 * 100vw);
        padding-right: calc(20 / 750 * 100vw); 

        text-align: right;
    }
    .movie-panel__textlink--gutter-right
    {
        padding-right: calc(80 / 750 * 100vw);
    }
    .movie-panel__textlink:after
    {
        display: inline-block;

        width: 6px;
        height: 6px;
        margin-left: 10px; 

        content: '';

        background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
        background-size: contain;
    }
}

/*
  movie-banner
--------------------------------------------- */
.movie-banner
{
    width: 858px;
    margin: 0 auto;
}
.movie-banner a
{
    -webkit-transition: opacity .7s;
            transition: opacity .7s;
}
.movie-banner a :hover
{
    -webkit-transition: opacity .7s;
            transition: opacity .7s; 

    opacity: .85;
}

@media screen and (max-width: 767px)
{
    .movie-banner
    {
        width: 100%;
    }
    .movie-banner a
    {
        -webkit-transition: none;
                transition: none;
    }
    .movie-banner a :hover
    {
        -webkit-transition: none;
                transition: none; 

        opacity: 1;
    }
}

.l-content p
{
    line-height: 1.6;

    margin-bottom: 30px;
}

@media screen and (max-width: 767px)
{
    .l-content p
    {
        line-height: 1.8;

        margin-bottom: calc(50 / 750 * 100vw);
        padding-left: 20px;
    }
}

p.signature
{
    text-align: right;
}

@media screen and (max-width: 767px)
{
    p.signature
    {
        text-align: right;
    }
    p.signature img
    {
        width: calc(206 / 750 * 100vw);
    }
}

.media-width710
{
    width: 710px;
    margin: 0 auto;
    margin-bottom: 30px;

    text-align: center;
}


.media-width810 {
    width: 810px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}



@media screen and (max-width: 767px)
{
    .media-width710
    {
        width: 100%;
        margin-bottom: calc(60 / 750 * 100vw);
    }
      .media-width810 {
   width: 100%;
 margin-bottom: calc(60 / 750 * 100vw);
}
}

.media-align-center
{
    margin-bottom: 30px; 

    text-align: center;
}

@media screen and (max-width: 767px)
{
    .media-align-center
    {
        width: 100%;
        margin-bottom: calc(60 / 750 * 100vw);
    }
}

.media
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.media--right .media__thumbnail
{
    width: calc((100% - 20px) / 2); 

    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
}
.media--left .media__thumbnail
{
    width: calc((100% - 20px) / 2); 

    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
}
.media--right .media__text
{
    width: calc((100% - 20px) / 2); 
    padding: 0 20px 0 0;
}
.media--left .media__text
{
    width: calc((100% - 20px) / 2); 
    padding: 0 0 0 20px;
}

@media screen and (max-width: 767px)
{
    .media
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
            flex-direction: column; 

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
    .media--right .media__thumbnail
    {
        width: 100%;
        margin-bottom: calc(60 / 750 * 100vw); 

        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
    }
    .media--left .media__thumbnail
    {
        width: 100%;
        margin-bottom: calc(60 / 750 * 100vw); 

        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
    .media--right .media__text
    {
        width: 100%; 
        padding: 0;
    }
    .media--left .media__text
    {
        width: 100%; 
        padding: 0;
    }
}

.media--full
{
    margin-bottom: calc(60 / 750 * 100vw);
}

/*
  column
--------------------------------------------- */
.column
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 30px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.column--01 .column__unit
{
    width: 100%;
}
.column--02 .column__unit
{
    width: calc((100% - 20px) / 2);

    background: red;
}
.column--03 .column__unit
{
    width: calc((100% - 20px * 2) / 3);

    background: red;
}
.column--04 .column__unit
{
    width: calc((100% - 20px * 3) / 4);

    background: red;
}

/*
  button-horizontal
--------------------------------------------- */
.button-horizontal
{
    margin-bottom: 30px;
}
.button-horizontal--gutter-bottom-wide
{
    margin-bottom: 60px;
}
.button-horizontal__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;
}
.button-horizontal__list--01 .button-horizontal__item
{
    width: 100%;
}
.button-horizontal__list--02 .button-horizontal__item
{
    width: calc((100% - 20px) / 2);
}
.button-horizontal__list--03 .button-horizontal__item
{
    width: calc((100% - 20px * 2) / 3);
}
.button-horizontal__list--04 .button-horizontal__item
{
    width: calc((100% - 20px * 3) / 4);
}

@media screen and (max-width: 767px)
{
    .button-horizontal
    {
        width: calc(630 / 750 * 100vw); 
        margin: 0 auto calc(60 / 750 * 100vw);
    }
    .button-horizontal--gutter-bottom-wide
    {
        margin: 0 auto calc(80 / 750 * 100vw);
    }
    .button-horizontal__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;
    }
    .button-horizontal__list--01 .button-horizontal__item
    {
        width: 100%;
    }
    .button-horizontal__list--02 .button-horizontal__item
    {
        width: 100%;
    }
    .button-horizontal__list--03 .button-horizontal__item
    {
        width: 100%;
    }
    .button-horizontal__list--04 .button-horizontal__item
    {
        width: 100%;
    }
    .button-horizontal__item
    {
        margin-top: calc(30 / 750 * 100vw);
    }
    .button-horizontal__item:first-of-type
    {
        margin-top: 0;
    }
}

/*
  buttons
--------------------------------------------- */
.button-basic
{
    font-size: 1.8rem;
    font-weight: bold;

    position: relative;

    display: block;

    width: 100%;
    padding: 15px 10px;

    -webkit-transition: all .5s;
            transition: all .5s; 
    text-align: center;
    text-decoration: none;

    border: 1px solid #7e6f54;
}
.button-basic::after
{
    position: absolute;
    top: 20px;
    right: 14px; 

    display: inline-block;

    width: 4px;
    height: 8px;

    content: '';

    background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
    background-size: contain;
}
.button-basic:hover
{
    text-decoration: none;

    color: #fff; 
    border: 1px solid #e5002c;
    background: #e5002c;
}
.button-basic:hover::after
{
    position: absolute;
    top: 20px;
    right: 14px; 

    display: inline-block;

    width: 4px;
    height: 8px;

    content: '';

    background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
    background-size: contain;
}
.button-basic--anchor::after
{
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
}
.button-basic--blank::after
{
    position: absolute;
    top: 18px;
    right: 14px; 

    display: inline-block;

    width: 10px;
    height: 10px;

    content: '';

    background: url('../img/common/icon_blank.png') 0 0 no-repeat;
    background-size: contain;
}
.button-basic--blank:hover
{
    text-decoration: none;

    color: #fff; 
    border: 1px solid #e5002c;
    background: #e5002c;
}
.button-basic--blank:hover::after
{
    position: absolute;
    top: 18px;
    right: 14px; 

    display: inline-block;

    width: 10px;
    height: 10px;

    content: '';

    background: url('../img/common/icon_blank_white.png') 0 0 no-repeat;
    background-size: contain;
}

@media screen and (max-width: 767px)
{
    .button-basic
    {
        font-size: 1.6rem;

        padding: calc(30 / 750 * 100vw) calc(10 / 750 * 100vw);

        -webkit-transition: none;
                transition: none;
    }
    .button-basic::after
    {
        position: absolute;
        top: calc(36 / 750 * 100vw);
        right: calc(30 / 750 * 100vw); 

        display: inline-block;

        width: 4px;
        height: 8px;

        content: '';

        background: url('../img/common/icon_arrsow_red_s.png') 0 0 no-repeat;
        background-size: contain;
    }
    .button-basic:hover
    {
        text-decoration: none;

        color: #111; 
        border: 1px solid #7e6f54;
        background: none;
    }
    .button-basic:hover::after
    {
        position: absolute;
        top: calc(36 / 750 * 100vw);
        right: calc(30 / 750 * 100vw); 

        display: inline-block;

        width: 4px;
        height: 8px;

        content: '';

        background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
        background-size: contain;
    }
    .button-basic--blank::after
    {
        position: absolute;
        top: calc(36 / 750 * 100vw);
        right: calc(30 / 750 * 100vw); 

        display: inline-block;

        width: 10px;
        height: 10px;

        content: '';

        background: url('../img/common/icon_blank.png') 0 0 no-repeat;
        background-size: contain;
    }
    .button-basic--blank:hover
    {
        text-decoration: none;
    }
    .button-basic--blank:hover::after
    {
        position: absolute;
        top: calc(36 / 750 * 100vw);
        right: calc(30 / 750 * 100vw); 

        display: inline-block;

        width: 10px;
        height: 10px;

        content: '';

        background: url('../img/common/icon_blank.png') 0 0 no-repeat;
        background-size: contain;
    }
}

.button-entry
{
    font-size: 2rem;
    font-weight: bold;

    position: relative;

    display: block;

    width: 420px;
    margin: 0 auto; 
    padding: 16px 18px;

    -webkit-transition: all .5s;
            transition: all .5s;
    text-align: center;
    text-decoration: none;

    color: #fff;
    background: #7e6f54;
}
.button-entry::after
{
    position: absolute;
    top: 18px;
    right: 18px; 

    display: inline-block;

    width: 11px;
    height: 18px;

    content: '';

    background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
}
.button-entry:hover
{
    text-decoration: none;

    opacity: .8;
    color: #fff;
}

@media screen and (max-width: 767px)
{
    .button-entry
    {
        font-size: 1.8rem;

        width: calc(630 / 750 * 100vw);
        padding: calc(30 / 750 * 100vw) calc(30 / 750 * 100vw);

        -webkit-transition: none;
                transition: none;

        background: #7e6f54;
    }
    .button-entry::after
    {
        position: absolute;
        top: calc(34 / 750 * 100vw);
        right: calc(30 / 750 * 100vw);

        display: inline-block;

        width: 9px;
        height: 16px;

        content: '';

        background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
        background-size: contain;
    }
    .button-entry:hover
    {
        opacity: 1;
        color: #fff;
    }
}

/* new */
.button-entry-new
{
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;

    width: 100%;
    margin-top: 7rem;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.button-entry-new__ul:first-child
{
    width: 44.5%;
    margin:auto 0 auto 3.9rem;
}

.button-entry-new__ul
{
    width: 44.5%;
    margin:auto 3.9rem 0 auto;
}


.button-entry-new__ul li:first-child
{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.3;

    margin-bottom: 1rem; 
    padding-left: 1rem;

    border-left: 3px solid #000;
}

.button-entry-new__li
{
    font-size: 1.6rem;
    font-weight: bold;

    position: relative;

    display: block;

    width: 100%;
    margin: 0 auto;
    padding: 15px 18px;

    -webkit-transition: all .5s;
            transition: all .5s;
    text-align: center;
    text-decoration: none;

    color: #fff;
    background: #7e6f54;
}

.button-entry-new__ul:first-child .button-entry-new__li
{
    //background: #909090;
}

.button-entry-new__li::after
{
    position: absolute;
    top: 15px;
    right: 18px;

    display: inline-block;

    width: 11px;
    height: 15px;

    content: '';

    background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
    background-size: contain;
}

.button-entry-new__li:hover
{
    text-decoration: none;

    opacity: .8;
    color: #fff;
}

@media screen and (max-width: 767px)
{
    .button-entry-new
    {
        display: block; 

        margin-top: 5rem;
    }
    .button-entry-new__ul
    {
        width: 100%;
    }
    .button-entry-new__ul:first-child {
    width: 100%;
    margin:auto 0;
    }
    
    .button-entry-new__ul:last-child {
    width: 100%;
    margin:-1rem auto 0;
    }
    .button-entry-new__ul li:first-child
    {
        font-size: 1.6rem;
    }
    .button-entry-new__li
    {
        font-size: 1.8rem;

        width: calc(630 / 750 * 100vw);
        padding: calc(30 / 750 * 100vw) calc(30 / 750 * 100vw);

        -webkit-transition: none;
                transition: none;

        background: #7e6f54;
    }
    .button-entry-new__li::after
    {
        position: absolute;
        top: calc(34 / 750 * 100vw);
        right: calc(30 / 750 * 100vw);

        display: inline-block;

        width: 9px;
        height: 16px;

        content: '';

        background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
        background-size: contain;
    }
    .button-entry-new__li:hover
    {
        opacity: 1;
        color: #fff;
    }
}

.button-basic--disable
{
    font-size: 1.8rem;
    font-weight: bold; 

    position: relative;

    display: block;

    width: 100%;
    padding: 15px 10px;

    text-align: center;
    text-decoration: none;

    color: #a0a0a0;
    border: 1px solid #a0a0a0;
}
.button-basic--disable::before
{
    position: absolute;
    top: 30px;
    right: 14px;

    display: inline-block;

    width: 4px;
    height: 8px;

    content: '';

    opacity: .4; 
    background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
    background-size: contain;
}
.button-basic--disable::after
{
    font-size: 1.2rem;

    position: relative;
    z-index: 2;

    display: block;

    margin-top: 10px; 

    content: 'coming soon';

    opacity: 1;
    color: #e5002c;
}

@media screen and (max-width: 767px)
{
    .button-basic--disable
    {
        font-size: 1.6rem;
    }
    .button-basic--disable::before
    {
        position: absolute;
        top: 30px;
        right: 14px;

        display: inline-block;

        width: 4px;
        height: 8px;

        content: '';

        opacity: .4; 
        background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
        background-size: contain;
    }
    .button-basic--disable::after
    {
        font-size: 1.2rem;
    }
}

.link-blank::after
{
    display: inline-block;

    width: 10px;
    height: 10px;
    margin-left: 15px; 

    content: '';

    background: url('../img/common/icon_blank.png') 0 0 no-repeat;
    background-size: contain;
}

.button-more
{
    display: inline-block;

    margin: 30px 0; 

    -webkit-transition: color .5s;
            transition: color .5s;
}
.button-more:after
{
    display: inline-block;

    width: 6px;
    height: 9px;
    margin-left: 7px;

    content: '';

    background: url(../img/common/icon_arrow_red_s.png) 0 0 no-repeat;
    background-size: cover;
}
.button-more:hover
{
    -webkit-transition: color .5s;
            transition: color .5s; 

    color: #e5002c;
}

.carousel__wrapper
{
    padding: 37px 70px 27px;

    border: 1px solid #e6e6e6;
    background: #fff;
}

.carousel__ttl-area
{
    margin-bottom: 20px; 

    text-align: center;
}

.carousel__number
{
    font-family: 'Muli', sans-serif;
    font-size: 1.8rem;
    font-weight: bold;

    display: inline-block;

    color: #7e6f54;
}

.carousel__ttl
{
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.8; 

    display: inline-block;

    margin-left: 15px;

    color: #7e6f54;
}

.carousel__detail
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.carousel__pic
{
    width: 300px;
}

.carousel__text
{
    font-size: 1.4rem;
    line-height: 1.6; 

    margin-left: 28px;

    -webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1;
}
.carousel__text p:last-of-type
{
    margin-bottom: 0;
}

@media screen and (max-width: 767px)
{
    .carousel__wrapper
    {
        padding: calc(75 / 750 * 100vw) calc(40 / 750 * 100vw) calc(60 / 750 * 100vw);
    }
    .carousel__ttl-area
    {
        margin-bottom: calc(50 / 750 * 100vw); 

        text-align: center;
    }
    .carousel__number
    {
        font-size: 1.8rem;
    }
    .carousel__ttl
    {
        font-size: 2.2rem;

        margin-left: 15px;
    }
    .carousel__detail
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
            flex-direction: column; 

        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
    .carousel__pic
    {
        width: calc(480 / 750 * 100vw);
        margin: 0 auto calc(40 / 750 * 100vw);
    }
    .carousel__text
    {
        font-size: 1.4rem;
        line-height: 1.6; 

        margin-left: 0;

        -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    }
    .carousel__text p:last-of-type
    {
        margin-bottom: 0;
    }
}

.defenition-list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    border-top: 1px solid #ccc; 

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.defenition-list__dt
{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.6;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 220px;
    padding: 30px 20px;

    color: #e5002c;
    border-bottom: 1px solid #ccc; 

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.defenition-list__dd
{
    line-height: 1.8;

    width: calc(100% - 220px);
    padding: 30px 20px;

    border-bottom: 1px solid #ccc;
}
.defenition-list__dd p:last-of-type
{
    margin-bottom: 0;
}

@media screen and (max-width: 767px)
{
    .defenition-list
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
            flex-direction: column; 

        border-top: none;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
    .defenition-list__dt
    {
        font-size: 1.6rem;

        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        width: 100%;
        padding: 0 0 calc(20 / 750 * 100vw);

        border-bottom: none; 

        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .defenition-list__dd
    {
        line-height: 1.8;

        width: 100%;
        margin-bottom: calc(40 / 750 * 100vw); 
        padding: 0 0 calc(40 / 750 * 100vw) 20px;

        border-bottom: 1px solid #ccc;
    }
}

.tab-navigation
{
    width: 860px;
    margin: 0 auto 60px;
}
.tab-navigation__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.tab-navigation__item
{
    width: 420px; 

    text-align: center;
}
.tab-navigation__current
{
    font-size: 1.4rem;
    font-weight: bold; 

    position: relative;

    display: block;

    padding: 12px;

    border-bottom: 2px solid #e5002c;
    background: #fef2f4;
}
.tab-navigation__current:after
{
    position: absolute;
    bottom: -8px;
    left: calc((100% - 6px) / 2); 

    display: inline-block;

    width: 12px;
    height: 6px;

    content: '';

    background: url('../img/common/arrow_down_red.png') 0 0 no-repeat;
    background-size: contain;
}
.tab-navigation__link
{
    font-size: 1.4rem;
    font-weight: bold;

    display: block;

    padding: 12px;

    -webkit-transition: background .7s;
            transition: background .7s; 
    text-decoration: none;

    border-bottom: 2px solid #7e6f54;
    background: #fff;
}
.tab-navigation__link:hover
{
    text-decoration: none;

    border-bottom: 2px solid #e5002c; 
    background: #fef2f4;
}

@media screen and (max-width: 767px)
{
    .tab-navigation
    {
        width: 100%;
        margin: 0 auto calc(85 / 750 * 100vw); 
        padding: 0 15px;
    }
    .tab-navigation__list
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .tab-navigation__item
    {
        width: calc(330 / 750 * 100vw); 

        text-align: center;
    }
    .tab-navigation__current
    {
        font-size: 1rem; 

        padding: 8px;
    }
    .tab-navigation__current:after
    {
        position: absolute;
        bottom: -8px;
        left: calc((100% - 6px) / 2); 

        display: inline-block;

        width: 12px;
        height: 6px;

        content: '';

        background: url('../img/common/arrow_down_red.png') 0 0 no-repeat;
        background-size: contain;
    }
    .tab-navigation__link
    {
        font-size: 1rem; 

        padding: 8px;
    }
    .tab-navigation__link:hover
    {
        border-bottom: 2px solid #7e6f54; 
        background: #fff;
    }
}

.faq-list__dt
{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.8;

    position: relative; 

    margin: 40px 0 0 0;
    padding: 0 40px 30px 80px;
}
.faq-list__dt:before
{
    position: absolute;
    top: 5px;
    left: 0; 

    display: inline-block;

    width: 29px;
    height: 21px;
    margin-right: 16px;
    margin-left: 40px;

    content: '';
    vertical-align: middle;

    background: url('../img/faq/icon_question.png') 0 0 no-repeat;
    background-size: contain;
}

.faq-list__dd
{
    line-height: 1.8;

    position: relative; 

    padding: 0 40px 30px 80px;

    border-bottom: 1px solid #ccc;
}
.faq-list__dd:before
{
    position: absolute;
    top: 5px;
    left: 0; 

    display: inline-block;

    width: 29px;
    height: 21px;
    margin-right: 16px;
    margin-left: 40px;

    content: '';
    vertical-align: middle;

    background: url('../img/faq/icon_answer.svg') 0 0 no-repeat;
    background-size: contain;
}

@media screen and (max-width: 767px)
{
    .faq-list__dt
    {
        font-size: 1.6rem; 

        margin: calc(40 / 750 * 100vw) 0 0 0;
        padding: 0 0 calc(36 / 750 * 100vw) calc(60 / 750 * 100vw);
    }
    .faq-list__dt:before
    {
        position: absolute;
        top: 5px;
        left: 0; 

        display: inline-block;

        width: calc(41 / 750 * 100vw);
        height: calc(30 / 750 * 100vw);
        margin-right: 10px;
        margin-left: 0;

        content: '';
        vertical-align: middle;

        background: url('../img/faq/icon_question.png') 0 0 no-repeat;
        background-size: contain;
    }
    .faq-list__dd
    {
        line-height: 1.8;

        position: relative; 

        padding: 0 0 calc(36 / 750 * 100vw) calc(60 / 750 * 100vw);

        border-bottom: 1px solid #ccc;
    }
    .faq-list__dd:before
    {
        position: absolute;
        top: 5px;
        left: 0; 

        display: inline-block;

        width: calc(41 / 750 * 100vw);
        height: calc(30 / 750 * 100vw);
        margin-right: 10px;
        margin-left: 0;

        content: '';
        vertical-align: middle;

        background: url('../img/faq/icon_answer.svg') 0 0 no-repeat;
        background-size: contain;
    }
}

.entry-list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: 40px; 

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.entry-list__dt
{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.6;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 220px;
    padding: 30px 20px;

    border-bottom: 1px solid #ccc;
}
.entry-list__dd
{
    line-height: 1.8;

    width: calc(100% - 220px);
    padding: 30px 20px;

    border-bottom: 1px solid #ccc;
}
.entry-list__dd p
{
    line-height: 1.8;
}
.entry-list__dd p:last-of-type
{
    margin-bottom: 0;
}
.entry-list__dd ul
{
    margin-left: 25px; 

    list-style-type: disc;
}
.entry-list__dd ul li
{
    line-height: 2;
}
.entry-list__ttl
{
    font-weight: bold;

    margin-bottom: 13px;
}

@media screen and (max-width: 767px)
{
    .entry-list
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
            flex-direction: column;

        margin-bottom: calc(60 / 750 * 100vw); 

        border-top: none;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
    .entry-list__dt
    {
        font-size: 1.6rem;

        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        width: 100%;
        padding: 0 0 calc(20 / 750 * 100vw);

        border-bottom: none; 

        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .entry-list__dd
    {
        line-height: 1.8;

        width: 100%;
        margin-bottom: calc(40 / 750 * 100vw); 
        padding: 0 0 calc(40 / 750 * 100vw) 20px;

        border-bottom: 1px solid #ccc;
    }
    .entry-list__dd:last-of-type
    {
        margin-bottom: 0;
    }
    .entry-list__dd p
    {
        line-height: 1.8;

        padding-left: 0;
    }
    .entry-list__dd p:last-of-type
    {
        margin-bottom: 0;
    }
    .entry-list__dd ul
    {
        margin-left: calc(30 / 750 * 100vw); 

        list-style-type: disc;
    }
    .entry-list__dd ul li
    {
        line-height: 2;
    }
}

/*
  tabåˆ‡ã‚Šæ›¿ãˆ
--------------------------------------------- */
.tab-change
{
    width: 860px;
    margin: 0 auto 60px;
}
.tab-change__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.tab-change__item
{
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.5; 

    display: block;

    margin-left: 20px;
    padding: 12px;

    cursor: pointer;
    -webkit-transition: background .7s;
            transition: background .7s;
    text-align: center;
    text-decoration: none;

    border-bottom: 2px solid #7e6f54;
    background: #fff;

    -webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1;
}
.tab-change__item:first-of-type
{
    margin-left: 0;
}
.tab-change__item:hover
{
    text-decoration: none;

    border-bottom: 2px solid #e5002c; 
    background: #fef2f4;
}
.tab-change__item--active
{
    font-size: 1.4rem;
    font-weight: bold; 

    position: relative;

    display: block;

    padding: 12px;

    border-bottom: 2px solid #e5002c;
    background: #fef2f4;
}
.tab-change__item--active:after
{
    position: absolute;
    bottom: -8px;
    left: calc((100% - 6px) / 2); 

    display: inline-block;

    width: 12px;
    height: 6px;

    content: '';

    background: url('../img/common/arrow_down_red.png') 0 0 no-repeat;
    background-size: contain;
}

@media screen and (max-width: 767px)
{
    .tab-change
    {
        width: 100%;
        margin: 0 auto calc(85 / 750 * 100vw); 
        padding: 0;
    }
    .tab-change__list
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .tab-change__item
    {
        margin-left: 15px;
    }
    .tab-change__item:first-of-type
    {
        margin-left: 0;
    }
    .tab-change__item:hover
    {
        text-decoration: none;

        border-bottom: 2px solid #e5002c; 
        background: #fef2f4;
    }
    .tab-change__item--active
    {
        padding: 12px;
    }
    .tab-change__item--active:after
    {
        position: absolute;
        bottom: -8px;
        left: calc((100% - 6px) / 2); 

        display: inline-block;

        width: 12px;
        height: 6px;

        content: '';

        background: url('../img/common/arrow_down_red.png') 0 0 no-repeat;
        background-size: contain;
    }
}

.panel
{
    display: none;
}

.panel-2
{
    display: none;
}

.panel.is-show
{
    display: block;
}

.panel-2.is-show
{
    display: block;
}

.photo-president
{
    position: relative;

    margin-bottom: 60px;
}
.photo-president__image
{
    margin-left: 20px;
}
.photo-president__name-area
{
    position: absolute;
    top: 255px;
    right: 0;

    width: 454px;
    height: 130px;
    padding: 30px 5px 0 70px; 

    background: url('/recruit/wp-content/themes/idc-recruit/resources/img/message/bg_name.png') 0 0 no-repeat;
}
.photo-president__position
{
    font-size: 2rem;
    font-weight: bold; 

    margin-bottom: 15px;

    color: #fff;
}
.photo-president__name
{
    font-weight: bold; 

    color: #fff;
}
.photo-president__name--jp
{
    font-size: 3.2rem;

    display: inline-block;
}
.photo-president__name--eng
{
    font-size: 1.4rem;

    display: inline-block;
}

@media screen and (max-width: 767px)
{
    .photo-president
    {
        position: relative;

        margin-bottom: calc(90 / 750 * 100vw);
    }
    .photo-president__image
    {
        margin-right: -15px; 
        margin-left: inherit;
    }
    .photo-president__name-area
    {
        position: absolute;
        top: calc(360 / 750 * 100vw);
        left: -15px;

        width: calc(600 / 750 * 100vw);
        height: calc(160 / 750 * 100vw);
        padding: calc(36 / 750 * 100vw) 5px 0 calc(70 / 750 * 100vw);

        background: url('/recruit/wp-content/themes/idc-recruit/resources/img/message/bg_name_sp.png') 0 0 no-repeat;
        background-size: cover;
    }
    .photo-president__position
    {
        font-size: 1.2rem;
        font-weight: bold; 

        margin-bottom: 15px;

        color: #fff;
    }
    .photo-president__name
    {
        font-weight: bold; 

        color: #fff;
    }
    .photo-president__name--jp
    {
        font-size: 2rem;

        display: inline-block;
    }
    .photo-president__name--eng
    {
        font-size: 1.2rem;

        display: inline-block;
    }
}

.welfare-list
{
    width: 860px;
    margin: 0 auto;
}
.welfare-list__dt
{
    font-weight: bold;
    line-height: 1.8; 

    position: relative;

    margin-bottom: 5px;
}
.welfare-list__dt::before
{
    position: absolute;
    top: 10px;
    left: -15px; 

    display: inline-block;

    width: 5px;
    height: 5px;

    content: '';

    background: url('../img/common/icon_square.png') 0 0 no-repeat;
    background-size: contain;
}
.welfare-list__dd
{
    line-height: 1.8;

    margin-bottom: 15px;
}

.welfare-accordion__title
{
    position: relative;

    display: table; 

    padding: 10px 0 10px 0;

    cursor: pointer;
    text-decoration: underline;
}
.welfare-accordion__title::after
{
    position: absolute;
    top: 20px; 

    display: inline-block;

    width: 12px;
    height: 6px;
    margin-left: 10px;

    content: '';
    -webkit-transition: -webkit-transform .5s;
            transition: -webkit-transform .5s;
            transition:         transform .5s;
            transition:         transform .5s, -webkit-transform .5s;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);

    background: url('../img/common/icon_accordion.png') 0 0 no-repeat;
}
.welfare-accordion__title.is-open::after
{
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);
}

.welfare-accordion__detail
{
    font-size: 1.4rem;

    display: none;

    padding: 10px 0 10px 20px;

    border-left: 1px solid #ccc;
}

@media screen and (max-width: 767px)
{
    .welfare-list
    {
        width: 100%;
    }
    .welfare-list__dt
    {
        line-height: 1.8; 

        margin-bottom: calc(20 / 750 * 100vw);
        margin-left: calc(34 / 750 * 100vw);
    }
    .welfare-list__dt::before
    {
        position: absolute;
        top: 10px;
        left: -15px; 

        display: inline-block;

        width: 4px;
        height: 4px;

        content: '';

        background: url('../img/common/icon_square.png') 0 0 no-repeat;
        background-size: contain;
    }
    .welfare-list__dd
    {
        line-height: 1.8;

        margin-bottom: calc(30 / 750 * 100vw);
        margin-left: calc(38 / 750 * 100vw);
    }
    .welfare-accordion__title
    {
        position: relative;

        display: table; 

        padding: 10px 0 10px 0;

        cursor: pointer;
        text-decoration: underline;
    }
    .welfare-accordion__title::after
    {
        position: absolute;
        top: 20px; 

        display: inline-block;

        width: 12px;
        height: 6px;
        margin-left: 10px;

        content: '';
        -webkit-transition: -webkit-transform .5s;
                transition: -webkit-transform .5s;
                transition:         transform .5s;
                transition:         transform .5s, -webkit-transform .5s;
        -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
                transform: rotate(180deg);

        background: url('../img/common/icon_accordion.png') 0 0 no-repeat;
    }
    .welfare-accordion__title.is-open::after
    {
        -webkit-transform: rotate(0deg);
            -ms-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    .welfare-accordion__detail
    {
        font-size: 1.4rem;

        display: none;

        padding: 10px 0 10px 20px;

        border-left: 1px solid #ccc;
    }
}

/*
  news article
--------------------------------------------- */
.news-article-block
{
    margin-bottom: 30px;
}
.news-article-block:after
{
    display: block;

    width: 40px;
    height: 3px;
    margin-top: 20px;

    content: '';

    background-color: #e5002c;
}

.news-article__title
{
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.6; 

    margin-bottom: 16px;
}

.news-article__data
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: 25px;
}

.news-article__date
{
    font-size: 1.4rem;

    margin-right: 24px; 
    padding: 3px 0;

    color: #4b4948;
}

.news-article__cate
{
    font-size: 1.0rem;

    display: inline-block;

    width: 100px;
    padding: 3px 10px;

    text-align: center; 

    border: 1px solid #999;
}

.news-article a::after
{
    display: inline-block;

    width: 6px;
    height: 9px;
    margin-right: 10px;
    margin-left: 10px;

    content: '';

    background: url(../img/common/icon_arrow_red_s.png) 0 0 no-repeat;
    background-size: contain;
}

.news-article a[target='_blank']::after
{
    display: inline-block;

    width: 10px;
    height: 10px;
    margin-right: 10px;
    margin-left: 10px;

    content: '';

    background: url(../img/common/icon_blank.png) 0 0 no-repeat;
    background-size: contain;
}

.news-article a.download::after
{
    display: inline-block;

    width: 10px;
    height: 10px;
    margin-right: 10px;
    margin-left: 10px;

    content: '';

    background: url(../img/common/icon_download.png) 0 0 no-repeat;
    background-size: contain;
}

.news-article strong
{
    font-weight: bold;
}

@media screen and (max-width: 767px)
{
    .news-article-block
    {
        margin-bottom: calc(50 / 750 * 100vw);
    }
    .news-article-block:after
    {
        width: calc(60 / 750 * 100vw);
        height: 2px;
        margin-top: calc(36 / 750 * 100vw);
    }
    .news-article__title
    {
        font-size: 2.4rem;
        line-height: 1.6; 

        margin-bottom: calc(20 / 750 * 100vw);
    }
    .news-article__data
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        margin-bottom: calc(40 / 750 * 100vw);
    }
    .news-article__date
    {
        font-size: 1.2rem;

        margin-right: calc(30 / 750 * 100vw); 
        padding: 3px 0;
    }
    .news-article__cate
    {
        font-size: 1.0rem;

        display: inline-block;

        width: calc(200 / 750 * 100vw); 
        padding: 3px 5px;

        border: 1px solid #999;
    }
}

/*
  pagenation
--------------------------------------------- */
.pagination-01
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 980px;
    margin: 80px auto 0;
    padding: 20px 20px 0;

    border-top: 2px solid #e7e7e7;
}
.pagination-01__prev
{
    width: 80px;
}
.pagination-01__prev-link
{
    margin-left: 20px;
}
.pagination-01__prev-link::before
{
    display: inline-block;

    width: 6px;
    height: 10px;
    margin-right: 10px; 

    content: '';

    background: url('../img/common/icon_arrow_prev_red_s.png') 0 0 no-repeat;
    background-size: contain;
}
.pagination-01__next
{
    width: 80px;
}
.pagination-01__next-link
{
    margin-left: 20px;
}
.pagination-01__next-link::after
{
    display: inline-block;

    width: 6px;
    height: 10px;
    margin-left: 10px; 

    content: '';

    background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
    background-size: contain;
}
.pagination-01__archive
{
    width: calc(100% - 80px * 2);

    text-align: center;
}

@media screen and (max-width: 767px)
{
    .pagination-01
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        width: 100%;
        margin: calc(80 / 750 * 100vw) auto 0;
        padding: 20px 0 20px;

        border-top: 1px solid #e7e7e7;
        background-color: #fff;
    }
    .pagination-01__prev
    {
        width: 75px;
    }
    .pagination-01__prev-link
    {
        margin-left: calc(30 / 750 * 100vw);
    }
    .pagination-01__prev-link::before
    {
        display: inline-block;

        width: 5px;
        height: 9px;
        margin-right: 10px; 

        content: '';

        background: url('../img/common/icon_arrow_prev_red_s.png') 0 0 no-repeat;
        background-size: contain;
    }
    .pagination-01__next
    {
        width: 75px;
    }
    .pagination-01__next-link
    {
        margin-left: 20px;
    }
    .pagination-01__next-link::after
    {
        display: inline-block;

        width: 5px;
        height: 9px;
        margin-left: 10px; 

        content: '';

        background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
        background-size: contain;
    }
    .pagination-01__archive
    {
        width: calc(100% - 75px * 2);

        text-align: center;
    }
}

/*
  news
--------------------------------------------- */
.wp-pagenavi
{
    padding: 50px 0 0; 

    text-align: center;
}

.previouspostslink
{
    display: inline-block;
    overflow: hidden;

    width: 10px;
    height: 17px;
    margin-right: 15px;

    vertical-align: middle; 
    text-indent: -9999px;

    background: url('../img/common/icon_arrow_prev_red_s.png') 0 0 no-repeat;
    background-size: contain;
}

.nextpostslink
{
    display: inline-block;
    overflow: hidden;

    width: 10px;
    height: 17px;
    margin-left: 15px;

    vertical-align: middle; 
    text-indent: -9999px;

    background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
    background-size: contain;
}

.wp-pagenavi .page
{
    font-size: 1.6rem;

    margin: 0 15px;
}

.wp-pagenavi .current
{
    margin: 0 15px;
}

.tab-link
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 860px;
    margin: 0 auto 40px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.tab-link__item
{
    width: 100%;
}
.tab-link__item:last-of-type .tab-link__link
{
    border-right: 1px solid #cfcbcc;
}
.tab-link__link
{
    font-size: 1.4rem;
    font-weight: bold; 

    display: block;

    padding: 7px 10px;

    -webkit-transition: .6s;
            transition: .6s;
    text-align: center;
    text-decoration: none;

    color: #81715a;
    border-left: 1px solid #cfcbcc;
}
.tab-link__link:hover
{
    -webkit-transition: .7s;
            transition: .7s; 
    text-decoration: none;

    color: #e5002c;
    background-color: #fef2f4;
}

@media screen and (max-width: 767px)
{
    .tab-link
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        width: 100%;
        margin-bottom: cacl(7.33333vw);

        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: start;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .tab-link__item
    {
        width: calc(100% / 3);
    }
    .tab-link__item:nth-child(n + 4)
    {
        width: 50%;
    }
    .tab-link__item:last-of-type .tab-link__link
    {
        border-right: 1px solid #cfcbcc;
    }
    .tab-link__item:nth-child(3) .tab-link__link
    {
        border-right: 1px solid #cfcbcc;
    }
    .tab-link__item--halves
    {
        width: 50%;
    }
    .tab-link__item--halves:nth-child(2) .tab-link__link
    {
        border-right: 1px solid #cfcbcc;
    }
    .tab-link__item--halves:nth-child(3) .tab-link__link
    {
        border-right: none;
    }
    .tab-link__link
    {
        font-size: 1.4rem;

        display: block;

        margin-bottom: calc(30 /750 * 100vw); 
        padding: 7px 10px;

        -webkit-transition: .6s;
                transition: .6s;
        text-align: center;
        text-decoration: none;

        color: #81715a;
        border-left: 1px solid #cfcbcc;
    }
    .tab-link__link:hover
    {
        -webkit-transition: .7s;
                transition: .7s; 
        text-decoration: none;

        color: #e5002c;
        background-color: #fef2f4;
    }
}

.page-current
{
    color: #e5002c; 
    background-color: #fef2f4;
}

.post-type-archive-news .tab-link__link--all
{
    color: #e5002c; 
    background-color: #fef2f4;
}

.term-new .tab-link__link--new
{
    color: #e5002c; 
    background-color: #fef2f4;
}

.term-career .tab-link__link--career
{
    color: #e5002c; 
    background-color: #fef2f4;
}

.term-career .tab-link__link--career
{
    color: #e5002c; 
    background-color: #fef2f4;
}

.term-part .tab-link__link--part
{
    color: #e5002c; 
    background-color: #fef2f4;
}

.term-jobreturn .tab-link__link--jobreturn
{
    color: #e5002c; 
    background-color: #fef2f4;
}

.post-type-archive-interview .tab-link__link--all
{
    color: #e5002c; 
    background-color: #fef2f4;
}

.term-honsha .tab-link__link--hosha
{
    color: #e5002c; 
    background-color: #fef2f4;
}

.term-showroom .tab-link__link--showroom
{
    color: #e5002c; 
    background-color: #fef2f4;
}

.term-service-center .tab-link__link--service
{
    color: #e5002c; 
    background-color: #fef2f4;
}

/*
  business-archive
--------------------------------------------- */
.business-archive__unit
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.business-archive__item
{
    position: relative;

    overflow: hidden;

    width: 460px;
    margin-top: 20px;

    background: #fff;
}
.business-archive__item:nth-child(-n+2)
{
    margin-top: 0;
}

.business-archive__link
{
    display: block;
}
.business-archive__link:hover .business-archive__photo img
{
    -webkit-transition-duration: .4s;
            transition-duration: .4s; 
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);

    opacity: .8;
}

.business-archive__photo img
{
    -webkit-transition-duration: .5s;
            transition-duration: .5s;
}

.business-archive__data
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    min-height: 76px;

    color: #fff; 
    background-color: rgba(0, 0, 0, .8);
}
.business-archive__data:after
{
    position: absolute;
    right: 20px;
    bottom: 38px;

    width: 6px;
    height: 10px;

    content: ''; 

    background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
    background-size: contain;
}

.business-archive__text
{
    line-height: 1.4; 

    padding: 20px 40px;
}

@media screen and (max-width: 767px)
{
    .business-archive__unit
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .business-archive__item
    {
        width: 100vw;
        margin: 0 calc(50% - 50vw);
        margin-top: calc(20 / 750 * 100vw);
    }
    .business-archive__item:nth-child(-n+2)
    {
        margin-top: calc(20 / 750 * 100vw);
    }
    .business-archive__item:first-of-type
    {
        margin-top: 0;
    }
    .business-archive__link
    {
        display: block;
    }
    .business-archive__link:hover .business-archive__photo img
    {
        -webkit-transition-duration: none;
                transition-duration: none; 
        -webkit-transform: scale(1);
            -ms-transform: scale(1);
                transform: scale(1);

        opacity: 1;
    }
    .business-archive__photo img
    {
        -webkit-transition-duration: none;
                transition-duration: none;
    }
    .business-archive__data
    {
        height: inherit;
        min-height: calc(120 / 750 * 100vw);
    }
    .business-archive__data:after
    {
        right: calc(26 / 750 * 100vw);
        bottom: calc(50 / 750 * 100vw);

        width: calc(10 / 750 * 100vw);
        height: calc(17 / 750 * 100vw);

        content: ''; 

        background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
        background-size: contain;
    }
    .business-archive__text
    {
        padding: calc(20 / 750 * 100vw) calc(60 / 750 * 100vw);
    }
}

/*
  business-article
--------------------------------------------- */
.business-article p
{
    line-height: 1.8;

    padding: 0;
}

.business-article-heading
{
    position: relative;

    height: 440px;
    margin-bottom: 70px;
}
.business-article-heading__photo
{
    position: absolute;
    right: -100px;
}
.business-article-heading__text
{
    position: absolute;
    top: 100px;
    left: -110px;

    width: 474px;
    height: 336px;
    padding: 0 0 0 110px; 

    background: url('../img/business/article/heading-bg-01.png') 0 0 no-repeat;
    background-size: contain;
}
.business-article-heading__ttl
{
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 1.6;

    display: inline-block; 

    width: 300px;
    padding: 35px 0 40px;

    color: #fff;
}
.business-article-heading__cate
{
    font-size: 1.4rem;

    display: inline-block;

    margin-bottom: 15px; 
    padding: 3px 10px;

    color: #e5002c;
    background: #fff;
}
.business-article-heading__position
{
    font-size: 1.8rem;

    margin-bottom: 12px; 

    color: #fff;
}
.business-article-heading__name
{
    font-size: 2.4rem;
    font-weight: bold; 

    margin-bottom: 12px;

    color: #fff;
}
.business-article-heading__year
{
    font-size: 1.4rem;

    color: #fff;
}

.business-article-heading03
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 80px; 
    margin-bottom: 30px;
}
.business-article-heading03__number
{
    font-family: 'Muli', sans-serif;
    font-size: 2.2rem;

    display: inline-block; 

    width: 200px;

    color: #7e6f54;
}
.business-article-heading03__bunshi
{
    font-size: 5.6rem; 

    display: inline-block;
}
.business-article-heading03__bunbo
{
    font-size: 2.2rem; 

    display: inline-block;
}
.business-article-heading03__title
{
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.6;

    width: calc(100% - 200px);
    padding-right: 20px; 

    color: #7e6f54;
}

.gutter-left
{
    padding-left: 200px;
}

.gutter-left-image
{
    padding-left: 200px;
}

.business-article .wp-block-image
{
    width: 620px;
    margin: 0 auto; 

    text-align: center;
}

@media screen and (max-width: 767px)
{
    .business-article p
    {
        line-height: 1.8;

        padding: 0 0 0 20px;
    }
    .business-article-heading
    {
        height: calc(550 / 750 * 100vw);
        margin-bottom: calc(80 / 750 * 100vw);
    }
    .business-article-heading__photo
    {
        position: absolute;
        right: calc((100 / 750 * 100vw) * -1);
    }
    .business-article-heading__text
    {
        position: absolute;
        top: calc(230 / 750 * 100vw);
        left: calc((120 / 750 * 100vw) * -1);

        width: calc(739 / 750 * 100vw);
        height: calc(360 / 750 * 100vw);
        padding: 0 0 0 calc(180 / 750 * 100vw); 

        background: url('../img/business/article/heading-bg-01.png') 0 0 no-repeat;
        background-size: cover;
    }
    .business-article-heading__ttl
    {
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 1.6;

        display: inline-block; 

        width: calc(500 / 750 * 100vw);
        padding: calc(30 / 750 * 100vw) 0 calc(30 / 750 * 100vw);
    }
    .business-article-heading__cate
    {
        font-size: 1rem;

        display: inline-block;

        margin-bottom: 10px; 
        padding: 3px 10px;
    }
    .business-article-heading__position
    {
        font-size: 1.2rem;

        margin-bottom: 8px; 

        color: #fff;
    }
    .business-article-heading__name
    {
        font-size: 1.4rem;
        font-weight: bold; 

        margin-bottom: 10px;
    }
    .business-article-heading__year
    {
        font-size: 1rem;
    }
    .business-article-heading03
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
            flex-direction: column;

        margin-top: calc(90 / 750 * 100vw); 
        margin-bottom: calc(50 / 750 * 100vw);

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
    .business-article-heading03__number
    {
        font-family: 'Muli', sans-serif;
        font-size: 1.2rem;

        display: inline-block;

        width: 100%;
        margin-bottom: calc(30 / 750 * 100vw); 

        color: #7e6f54;
    }
    .business-article-heading03__bunshi
    {
        font-size: 2.4rem; 

        display: inline-block;
    }
    .business-article-heading03__bunbo
    {
        font-size: 1.2rem; 

        display: inline-block;
    }
    .business-article-heading03__title
    {
        font-size: 2rem;
        font-weight: bold;
        line-height: 1.6;

        width: 100%;
        padding-right: 20px; 

        color: #7e6f54;
    }
    .gutter-left
    {
        padding-left: calc(40 / 750 * 100vw);
    }
    .gutter-left-image
    {
        padding-left: 0;
    }
    .business-article .wp-block-image
    {
        width: 100%;
        margin: 0 auto; 

        text-align: center;
    }
}

/*
  interview-archive
--------------------------------------------- */
.interview-archive__unit
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.interview-archive__item
{
    line-height: 1.5; 

    position: relative;

    overflow: hidden;

    width: 300px;
    margin-top: 20px;
    margin-right: 20px;
}
.interview-archive__item:nth-child(3n)
{
    margin-right: 0;
}
.interview-archive__item:nth-child(-n+3)
{
    margin-top: 0;
}
.interview-archive__item--liquid
{
    width: inherit;
}

.interview-archive__gutter
{
    position: relative;

    overflow: hidden; 

    margin: 0 5px;
}

.interview-archive__link
{
    display: block;
}
.interview-archive__link:hover .interview-archive__photo img
{
    -webkit-transition-duration: .4s;
            transition-duration: .4s; 
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);

    opacity: .8;
}

.interview-archive__photo
{
    background: #fff;
}
.interview-archive__photo img
{
    width: 100%; 

    -webkit-transition-duration: .5s;
            transition-duration: .5s;
}

.interview-archive__data
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 253px;
    height: 132px;
    padding: 20px 15px 20px; 

    background: #fff;
}

.interview-archive__cate
{
    font-size: 1.4rem;
    font-weight: bold; 

    position: absolute;
    left: 0;

    display: inline-block;

    margin-top: -40px;
    padding: 3px 7px;

    white-space: nowrap;

    color: #fff;
    background: #e5002c;
}

.interview-archive__division
{
    font-size: 1.5rem;
    font-weight: bold; 
    letter-spacing: -0.2px;
    margin-bottom: 8px;
}

.interview-archive__position
{
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.4; 

    margin-bottom: 15px;
}

.interview-archive__year
{
    font-size: 1.4rem;

    position: absolute;
    bottom: 15px;
    left: 15px; 

    margin-bottom: 0;

    color: #4b4948;
}

@media screen and (max-width: 767px)
{
    .interview-archive__unit
    {
        margin-bottom: calc(100 / 750 * 100vw);

        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .interview-archive__item
    {
        overflow: inherit; 

        width: calc(330 / 750 * 100vw);
        margin-top: calc(150 / 750 * 100vw);
        margin-right: 0;
    }
    .interview-archive__item--liquid
    {
        width: 100%;
    }
    .interview-archive__item--liquid .interview-archive__data
    {
        bottom: 0 !important;

        width: 80.76%;
        height: calc(220 / 750 * 100vw);
        padding: calc(20 / 750 * 100vw) calc(20 / 750 * 100vw) !important;
    }
    .interview-archive__item:nth-child(-n+3)
    {
        margin-top: calc(150 / 750 * 100vw);
    }
    .interview-archive__item:nth-child(-n+2)
    {
        margin-top: 0;
    }
    .interview-archive__gutter
    {
        position: relative;

        overflow: hidden; 

        margin: 0 15px;
    }
    .interview-archive__link
    {
        display: block;
    }
    .interview-archive__link:hover .interview-archive__photo img
    {
        -webkit-transition-duration: none;
                transition-duration: none; 
        -webkit-transform: scale(1);
            -ms-transform: scale(1);
                transform: scale(1);

        opacity: 1;
    }
    .interview-archive__photo
    {
        background: #fff;
    }
    .interview-archive__photo img
    {
        -webkit-transition-duration: none;
                transition-duration: none;
    }
    .interview-archive__data
    {
        position: absolute;
        bottom: calc((100 / 750 * 100vw) * -1);
        left: 0;

        width: calc(312 / 750 * 100vw);
        height: calc(184 / 750 * 100vw); 
        padding: calc(10 / 750 * 100vw) calc(10 / 820 * 100vw);

        background: #fff;
    }
    .interview-archive__cate
    {
        font-size: 1rem;

        position: absolute;
        left: 0; 

        display: inline-block;

        margin-top: calc((30 / 750 * 100vw) * -1);
        padding: 3px 7px;

        color: #fff;
        background: #e5002c;
    }
    .interview-archive__division
    {
        font-size: 1rem;
        line-height: 1.4;

        margin-top: calc(30 / 750 * 100vw); 
        margin-bottom: calc(10 / 750 * 100vw);
    }
    .interview-archive__division--large
    {
        font-size: calc(24 / 750 * 100vw);
        line-height: 1.4;

        margin-top: calc(25 / 750 * 100vw); 
        margin-bottom: calc(20 / 750 * 100vw);
    }
    .interview-archive__position
    {
        font-size: 1rem;
        line-height: 1.4;

        margin-bottom: calc(15 / 750 * 100vw);
    }
    .interview-archive__position--large
    {
        font-size: calc(24 / 750 * 100vw);
        line-height: 1.4;

        margin-bottom: calc(15 / 750 * 100vw);
    }
    .interview-archive__year
    {
        font-size: 1rem;

        position: absolute;
        bottom: calc(15 / 750 * 100vw);
        left: calc(20 / 750 * 100vw); 

        margin-bottom: 0;

        color: #4b4948;
    }
}

@media screen and (max-width: 320px)
{
    .interview-archive__data
    {
        height: calc(230 / 750 * 100vw);
    }
    .interview-archive__division--large
    {
        margin-bottom: calc(5 / 750 * 100vw);
    }
    .interview-archive__year
    {
        bottom: calc(5 / 750 * 100vw);
    }
}

/*
  interview-article
--------------------------------------------- */
.interview-article-heading
{
    position: relative;

    height: 387px;
    margin-bottom: 70px;
}
.interview-article-heading__photo
{
    position: absolute;
    right: -107px;
}
.interview-article-heading__text
{
    position: absolute;
    top: 90px;
    left: -85px;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 484px;
    height: 203px;
    padding: 0 0 0 85px; 

    background: url('../img/interview/article/heading-bg.png') 0 0 no-repeat;
    background-size: contain;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.interview-article-heading__cate
{
    font-size: 1.4rem;
    font-weight: bold; 

    display: inline-block;

    margin-bottom: 15px;
    padding: 3px 10px;

    color: #e5002c;
    background: #fff;
}
.interview-article-heading__division
{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5; 

    margin-bottom: 6px;

    color: #fff;
}
.interview-article-heading__position
{
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.4; 

    margin-bottom: 6px;

    color: #fff;
}
.interview-article-heading__name
{
    font-size: 2.4rem;
    font-weight: bold; 

    margin-bottom: 12px;

    color: #fff;
}
.interview-article-heading__year
{
    font-size: 1.4rem;

    color: #fff;
}

.interview-article-question
{
    font-size: 2.8rem;
    font-weight: bold;

    margin-top: 70px;
    padding-left: 0 !important; 

    color: #7e6f54;
}

.article-heading + .interview-article-question
{
    margin-top: 36px;
}

@media screen and (max-width: 767px)
{
    .interview-article-heading
    {
        position: relative;

        height: calc(489 / 750 * 100vw);
        margin-bottom: calc(210 / 750 * 100vw);
    }
    .interview-article-heading__photo
    {
        position: absolute;
        right: -15px;
    }
    .interview-article-heading__text
    {
        position: absolute;
        top: calc(350 / 750 * 100vw);
        left: -15px;

        width: calc(533 / 750 * 100vw);
        height: calc(280 / 750 * 100vw);
        padding: 0 0 0 calc(60 / 750 * 100vw); 

        background: url('../img/interview/article/heading-bg_sp.png') 0 0 no-repeat;
        background-size: contain;
    }
    .interview-article-heading__cate
    {
        font-size: 1rem;

        margin-bottom: calc(20 / 750 * 100vw); 
        padding: 3px 10px;

        white-space: nowrap;
    }
    .interview-article-heading__division
    {
        font-size: 1.2rem;

        margin-bottom: calc(5 / 750 * 100vw);
    }
    .interview-article-heading__position
    {
        font-size: 1.2rem;
        line-height: 1.5; 

        margin-bottom: calc(18 / 750 * 100vw);

        color: #fff;
    }
    .interview-article-heading__name
    {
        font-size: 2rem;

        margin-bottom: calc(12 / 750 * 100vw);
    }
    .interview-article-heading__year
    {
        font-size: 1rem;
    }
    .interview-article-question
    {
        font-size: 2rem;

        margin-top: calc(70 / 750 * 100vw); 
        padding: 0 !important;
    }
    .article-heading + .interview-article-question
    {
        margin-top: calc(36 / 750 * 100vw);
    }
}

.article-heading
{
    margin-bottom: 36px; 
    padding: 0 110px;
}
.article-heading__title
{
    font-size: 3.6rem;
    font-weight: bold; 
    line-height: 1.5;

    position: relative;

    color: #e5002c;
}
.article-heading__title::before
{
    position: absolute;
    top: 27px;
    left: -110px;

    display: inline-block;

    width: 80px; 
    height: 2px;

    content: '';

    background-color: #e5002c;
}

@media screen and (max-width: 767px)
{
    .article-heading
    {
        margin-bottom: calc(60 / 750 * 100vw); 
        padding: 0 0 0 calc(70 / 750 * 100vw);
    }
    .article-heading__title
    {
        font-size: 2.4rem;
    }
    .article-heading__title::before
    {
        position: absolute;
        top: calc(40 / 750 * 100vw);
        left: calc((70 / 750 * 100vw) * -1);

        display: inline-block;

        width: calc(50 / 750 * 100vw); 
        height: 1px;

        content: '';

        background-color: #e5002c;
    }
}

.article-center
{
    padding: 0 110px;
}

.article-center .wp-block-image
{
    margin-bottom: 30px;
}

@media screen and (max-width: 767px)
{
    .article-center
    {
        padding: 0;
    }
    .article-center .wp-block-image
    {
        margin-bottom: calc(50 / 750 * 100vw);
    }
}

.article-image
{
    margin-bottom: 30px;
}

@media screen and (max-width: 767px)
{
    .article-image
    {
        margin-bottom: calc(50 / 750 * 100vw);
    }
}

.entry
{
    width: 100%; 
    height: 346px;
    margin-top: 120px;

    background: url('../img/common/bg_entry.png') 0 0 no-repeat;
    background-size: cover;
}
.entry__ttl
{
    font-family: 'Muli', sans-serif;
    font-size: 4rem;

    margin: 0 0 36px 0;
    padding-top: 56px;

    text-align: center;
    letter-spacing: .05em; 

    color: #fff;
}
.entry__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 860px;
    margin: 0 auto; 

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.entry__item:nth-child(1)
{
    margin-bottom: 20px;
}
.entry__item:nth-child(2)
{
    margin-bottom: 20px;
}
.entry__item:nth-child(3)
{
    margin-bottom: 20px;
}
.entry__item:nth-child(4)
{
    margin-bottom: 20px;
}

.entry__item:last-child
{
    /* margin: 0 auto; */
}

.entry__link
{
    font-size: 1.8rem;
    font-weight: bold;

    position: relative;

    display: block;

    width: 420px;
    padding: 12px 3px;

    -webkit-transition: background .5s;
            transition: background .5s; 
    text-align: center;
    text-decoration: none;

    color: #fff;
    border: 2px solid #fff;
}
.entry__link:after
{
    position: absolute;
    top: 17px;
    right: 15px;

    display: inline-block;

    width: 4px;
    height: 8px;

    content: '';

    background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
    background-size: contain;
}
.entry__link:hover
{
    text-decoration: none; 

    color: #e5002c;
    background: #fff;
}
.entry__link:hover:after
{
    display: inline-block;

    width: 4px;
    height: 8px;

    content: '';

    background: url('../img/common/icon_arrow_red_s.png') 0 0 no-repeat;
    background-size: contain;
}

body.home .entry
{
    margin-top: 140px;
}

@media screen and (max-width: 767px)
{
    .entry
    {
        height: inherit;
        margin-top: 0;
        padding-bottom: calc(75 / 750 * 100vw);

        background: url('../img/common/bg_entry_sp.png') center center no-repeat;
        background-size: cover;
    }
    .entry__ttl
    {
        font-size: 2.4rem;

        margin: 0 0 calc(40 / 750 * 100vw) 0; 
        padding-top: calc(50 / 750 * 100vw);
    }
    .entry__list
    {
        display: block;

        width: 100%;
    }
    .entry__item
    {
        margin-top: calc(30 / 750 * 100vw);
    }
    .entry__item__item:nth-child(1)
    {
        margin-bottom: 0;
    }
    .entry__item__item:nth-child(2)
    {
        margin-bottom: 0;
    }
    .entry__link
    {
        font-size: 1.6rem;
        font-weight: bold;

        width: calc(630 / 750 * 100vw);
        margin: 0 auto; 
        padding: calc(27 / 750 * 100vw) 0;

        -webkit-transition: none;
                transition: none;

        border: 1px solid #fff;
    }
    .entry__link:after
    {
        position: absolute;
        top: calc(33 / 750 * 100vw);
        right: calc(27 / 750 * 100vw);

        width: 5px;
        height: 8px;

        background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
        background-size: cover;
    }
    .entry__link:hover
    {
        text-decoration: none; 

        color: #fff;
        background: none;
    }
    .entry__link:hover:after
    {
        position: absolute;
        top: calc(33 / 750 * 100vw);
        right: calc(27 / 750 * 100vw);

        width: 5px;
        height: 8px;

        background: url('../img/common/icon_arrow_white_s.png') 0 0 no-repeat;
        background-size: cover;
    }
    body.home .entry
    {
        margin-top: calc(180 / 750 * 100vw);
    }
}

/*
  slick style
--------------------------------------------- */
.footer
{
    height: 100px; 

    background: #111;
}

.footer__utility
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding-top: 20px; 

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.footer__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.footer__item
{
    margin-left: 30px;
}
.footer__item:first-of-type
{
    margin-left: 0;
}

.footer__link
{
    font-size: 1.4rem;

    -webkit-transition: opacity .5s;
            transition: opacity .5s; 
    text-decoration: none;

    color: #ccc;
}
.footer__link:after
{
    display: inline-block;

    width: 10px;
    height: 10px;
    margin-left: 10px; 

    content: '';

    background: url('../img/common/icon_blank_ccc.png') 0 0 no-repeat;
    background-size: contain;
}
.footer__link:hover
{
    -webkit-transition: color .5s;
            transition: color .5s; 
    text-decoration: none;

    color: #7a7a7a;
}

.sns
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.sns__ttl
{
    font-size: 1.2rem;

    margin-right: 15px; 
    padding-top: 8px;

    color: #ccc;
}
.sns__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.sns__item
{
    width: 30px; 
    margin-left: 20px;
}
.sns__item:first-of-type
{
    margin-left: 0;
}
.sns__item:hover
{
    -webkit-transition: opacity .5s;
            transition: opacity .5s; 

    opacity: .8;
}

.cr
{
    font-size: 1.2rem;

    padding-top: 20px; 

    text-align: right;

    color: #4b4948;
}

@media screen and (max-width: 767px)
{
    .footer
    {
        height: 155px;
    }
    .footer__utility
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
            flex-direction: column;

        padding-top: calc(40 / 750 * 100vw); 

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .footer__list
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .footer__item
    {
        margin-left: calc(60 / 750 * 100vw);
    }
    .footer__item:first-of-type
    {
        margin-left: 0;
    }
    .footer__link
    {
        -webkit-transition: none;
                transition: none; 
        text-decoration: none;
    }
    .footer__link:after
    {
        display: inline-block;

        width: 10px;
        height: 10px;
        margin-left: 5px; 

        content: '';

        background: url('../img/common/icon_blank_ccc.png') 0 0 no-repeat;
        background-size: contain;
    }
    .footer__link:hover
    {
        -webkit-transition: none;
                transition: none; 
        text-decoration: none;

        color: #ccc;
    }
    .sns
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .sns__ttl
    {
        font-size: 1.2rem;

        margin-right: 15px; 
        padding-top: calc(50 / 750 * 100vw);
    }
    .sns__list
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        margin-top: calc(40 / 750 * 100vw);

        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .sns__item
    {
        width: 30px; 
        margin-left: 20px;
    }
    .sns__item:first-of-type
    {
        margin-left: 0;
    }
    .sns__item:hover
    {
        -webkit-transition: none;
                transition: none; 

        opacity: 1;
    }
    .cr
    {
        padding-top: 18px; 

        text-align: center;
    }
}

.info {
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    padding: 12px;
}





/* PERFORMANCE */

.sp_only {
        display: block;
    }
    @media only screen and (min-width: 768px) {
        .sp_only {
            display: none;
        }
        .pc_only {
            display: block;
        }
    }
    
/*
common --------------------------------------- */
.table_contents {
    padding:0;
    margin-top: 0;
}
.table_contents ul li {
    list-style-type: none;
}
.table_contents .table {
    display: flex;
    flex-flow:row wrap;
    justify-content: space-between;
    list-style-type: none;
    margin-bottom:0.5rem;
    margin-left:0;
}
.table_contents .table2 {
    display: flex;
    flex-flow:row wrap;
    justify-content: space-between;
    list-style-type: none;
    margin-bottom:2.5rem;
    margin-left:0;
}

@media only screen and (min-width: 768px) {
    .table_contents {
        padding:0 0 1.2rem 0;
        margin-top: 3.7rem;
    }
    .table_contents .table li,
    .table_contents .table2 li {
        list-style-type: none;
    }
    .table_contents .table {
        display: flex;
        flex-flow:row wrap;
        justify-content: space-between;
        list-style-type: none;
        margin-bottom:0.5rem;
        margin-left:0;
    }
    .table_contents .table2 {
        display: flex;
        flex-flow:row wrap;
        justify-content: space-between;
        list-style-type: none;
        margin-bottom:2.5rem;
        margin-left:0;
    }
}
/*
table1 --------------------------------------- */
.table_contents .table li {
    width: calc(25%);
    text-align: center;
}
.table_contents .table li span:first-of-type {
    text-align: center;
}
.table_contents .table .value1 {
    border: 1px solid #333;
    background-image: linear-gradient(34deg, 
                      transparent 49%,
                      #333 38%, 
                      #333 45%, 
                      transparent 50%, 
                      transparent)
}
.table_contents .table .value2,
.table_contents .table .value3,
.table_contents .table .value4 {
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    line-height: 1.1;
    padding: 0.8rem 0 0.5rem;
}
.table_contents .table .value5 {
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    border-left: 1px solid #333;
    padding: 0.7rem 0;
    line-height: 1.5;
}
.table_contents .table .value6,
.table_contents .table .value7,
.table_contents .table .value8 {
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    text-align: right;
    padding: 0.8rem 0.5rem 0.5rem 0;
    font-size: 1.5rem;
    line-height: 2.9;
}
.table_contents .table .value2 span,
.table_contents .table .value3 span,
.table_contents .table .value4 span {
    font-size:0.85rem;
    font-weight:normal;
}
.table_contents .table .value8 span {
    font-size:0.7rem;
}
.table_contents .table_note {
    margin-bottom:2rem;
    margin-left:0;
}
.table_contents .table_note li {
    font-size:1.1rem;
}
    

@media only screen and (min-width: 768px) {
    .table_contents .table li {
        width: calc(25%);
        text-align: center;
    }
    .table_contents .table li span:first-of-type {
        text-align: center;
    }
    .table_contents .table .value1 {
        border: 1px solid #333;
        background-image: linear-gradient(14deg, 
                          transparent 49%,
                          #333 38%, 
                          #333 45%, 
                          transparent 50%, 
                          transparent)
    }
    .table_contents .table .value2,
    .table_contents .table .value3,
    .table_contents .table .value4 {
        border-top: 1px solid #333;
        border-right: 1px solid #333;
        border-bottom: 1px solid #333;
        line-height: 1.1;
        padding: 0.8rem 0 0.5rem;
    }
    .table_contents .table .value5 {
        border-right: 1px solid #333;
        border-bottom: 1px solid #333;
        border-left: 1px solid #333;
        padding: 0.7rem 0 0;
        line-height: 2;
    }
    .table_contents .table .value6,
    .table_contents .table .value7,
    .table_contents .table .value8 {
        border-right: 1px solid #333;
        border-bottom: 1px solid #333;
        text-align: right;
        padding: 0.8rem 0.8rem 0.5rem 0;
        font-size: 1.5rem;
        line-height: 2.2;
    }
    .table_contents .table .value2 span,
    .table_contents .table .value3 span,
    .table_contents .table .value4 span {
        font-size:0.85rem;
        font-weight:normal;
    }
    .table_contents .table .value8 span {
        font-size:0.7rem;
    }
    .table_contents .table_note {
        margin-bottom:2rem;
        margin-left:0;  
    }
    .table_contents .table_note li {
        font-size:1.3rem;  
    }
}
    
    
  
/*
table2 --------------------------------------- */
.table_contents .table2 li {
    width: calc(15%);
    text-align: center;
}
.table_contents .table2 li:first-child,
    .table_contents .table2 li:nth-child(7) {
        width: calc(25%);
    }
.table_contents .table2 .value2-1 {
    border: 1px solid #333;
    background-image: linear-gradient(27deg, 
                      transparent 49%,
                      #333 38%, 
                      #333 45%, 
                      transparent 50%, 
                      transparent)
}
.table_contents .table2 .value2-2,
.table_contents .table2 .value2-3,
.table_contents .table2 .value2-4,
.table_contents .table2 .value2-5,
.table_contents .table2 .value2-6 {
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    line-height: 1.1;
    padding: 1.5rem 0 1.5rem;
    font-size: 1.2rem;
}
.table_contents .table2 .value2-7 {
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    border-left: 1px solid #333;
    padding: 0.7rem 0;
    line-height: 1.5;
}
.table_contents .table2 .value2-8,
.table_contents .table2 .value2-9,
.table_contents .table2 .value2-10,
.table_contents .table2 .value2-11,
.table_contents .table2 .value2-12 {
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    text-align: right;
    padding: 0.8rem 0.5rem 0.5rem 0;
    font-size: 1.5rem;
    line-height: 2.9;
}
    

@media only screen and (min-width: 768px) {
    .table_contents .table2 li {
        width: calc(15%);
        text-align: center;
    }
    .table_contents .table2 li:first-child,
    .table_contents .table2 li:nth-child(7) {
        width: calc(25%);
    }
    .table_contents .table2 .value2-1 {
        border: 1px solid #333;
        background-image: linear-gradient(14deg, 
                          transparent 49%,
                          #333 38%, 
                          #333 45%, 
                          transparent 50%, 
                          transparent)
    }
    .table_contents .table2 .value2-2,
    .table_contents .table2 .value2-3,
    .table_contents .table2 .value2-4,
    .table_contents .table2 .value2-5,
    .table_contents .table2 .value2-6 {
        border-top: 1px solid #333;
        border-right: 1px solid #333;
        border-bottom: 1px solid #333;
        line-height: 1.1;
        padding: 1.7rem 0 1.3rem;
        font-size: 1.6rem;
    }
    .table_contents .table2 .value2-7 {
        border-right: 1px solid #333;
        border-bottom: 1px solid #333;
        border-left: 1px solid #333;
        padding: 0.7rem 0 0;
        line-height: 2;
    }
    .table_contents .table2 .value2-8,
    .table_contents .table2 .value2-9,
    .table_contents .table2 .value2-10,
    .table_contents .table2 .value2-11,
    .table_contents .table2 .value2-12 {
        border-right: 1px solid #333;
        border-bottom: 1px solid #333;
        text-align: right;
        padding: 0.8rem 0.8rem 0.5rem 0;
        font-size: 1.5rem;
        line-height: 2.2;
    }
}