/*
light 300
regular 400
medium 500
bold 700
black 900  
  
*/

@font-face {
    font-family: 'Tw Cen MT';
    font-style: normal;
    font-weight: normal;
    src: local('Tw Cen MT'), url('fonts/Tw Cen MT.woff') format('woff');
}

@font-face {

    font-family: "Lane - Upper";
    font-style: normal;
    font-weight: normal;
    src: local('Lane - Upper'), url('fonts/laneup.woff') format('woff');

}

body {
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", Osaka, sans-serif;
    font-weight: normal;
    background: #fff;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    min-width: 100%;
    width: 100%;
    font-size: 1.6rem;
    position: relative;
}

* {
    box-sizing: border-box;
}

.clearfix {
    zoom: 1;
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.font-twcen {
    font-family: 'Tw Cen MT';
}

.font-lane {
    font-family: "Lane - Upper";
}

a {
    color: #53565A;
    text-decoration: none;
    transition: opacity .3s;
    outline: none !important;
}

a:hover {
    opacity: .6;
}

a:focus {
    outline: none !important;
}

.t-center {
    text-align: center !important;
}

.t-left {
    text-align: left !important;
}

.t-right {
    text-align: right !important;
}

@media screen and (min-width: 769px) {

    html {
        font-size: 62.5%;
    }

    .sp {
        display: none !important;
    }

    #container {
        min-width: 1440px;
        min-width: 1200px;
        width: 100%;
        padding: 0;
        border: 10px solid #786858;
        border-top: none;
        overflow: hidden;
    }

    .anchor {
        margin-top: -88px;
        padding-top: 88px;
    }
}

@media screen and (max-width: 768px) {
    html {
        font-size: 62.5%;
    }

    .sec-top-area,
    header,
    footer,
    section {
        font-size: calc(100vw / 75);
    }

    .pc {
        display: none !important;
    }

    #container {
        border: 1.3333vw solid #786858;
    }

    #main {
        padding-top: 16.6667vw;
    }

    .inner {
        padding: 0 4.2667vw;
    }

    .anchor {
        margin-top: -18.6667vw;
        padding-top: 18.6667vw;

    }
}


.tt-gra:before,
.tt-gra:after,
.salons-list > li,
.g-line:after,
.g-font,
header .btn-entry > a,
.gradation {
    background: -moz-linear-gradient(0% 50% 0deg, rgba(232, 119, 154, 1) 13.34%, rgba(112, 173, 200, 1) 96.66%);
    background: -webkit-linear-gradient(0deg, rgba(232, 119, 154, 1) 13.34%, rgba(112, 173, 200, 1) 96.66%);
    background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0.1334, rgba(232, 119, 154, 1)), color-stop(0.9666, rgba(112, 173, 200, 1)));
    background: -o-linear-gradient(0deg, rgba(232, 119, 154, 1) 13.34%, rgba(112, 173, 200, 1) 96.66%);
    background: -ms-linear-gradient(0deg, rgba(232, 119, 154, 1) 13.34%, rgba(112, 173, 200, 1) 96.66%);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#E8779A', endColorstr='#70ADC8' ,GradientType=0)";
    background: linear-gradient(90deg, rgba(232, 119, 154, 1) 13.34%, rgba(112, 173, 200, 1) 96.66%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#E8779A', endColorstr='#70ADC8', GradientType=1);
}

.g-font {
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
    letter-spacing: 0.2em;
}

.header-menu .menu-list > li.active > a:after,
.menu-btn span,
.header-menu .menu-list > li:not(:last-child) > a:hover:after,
.header-menu .sub-menu,
.gradation2 {
    background: -moz-linear-gradient(0% 50% 0deg, rgba(231, 115, 153, 1) 0%, rgba(175, 133, 171, 1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(231, 115, 153, 1) 0%, rgba(175, 133, 171, 1) 100%);
    background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(231, 115, 153, 1)), color-stop(1, rgba(175, 133, 171, 1)));
    background: -o-linear-gradient(0deg, rgba(231, 115, 153, 1) 0%, rgba(175, 133, 171, 1) 100%);
    background: -ms-linear-gradient(0deg, rgba(231, 115, 153, 1) 0%, rgba(175, 133, 171, 1) 100%);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#E77399', endColorstr='#AF85AB' ,GradientType=0)";
    background: linear-gradient(90deg, rgba(231, 115, 153, 1) 0%, rgba(175, 133, 171, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#E77399', endColorstr='#AF85AB', GradientType=1);
    opacity: 1;
}

.bg-gradient {
    position: relative;
}

.bg-gradient:after {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: -moz-linear-gradient(-25.63% 148.59% 24.36deg, rgba(255, 255, 255, 1) 13.34%, rgba(120, 105, 88, 1) 96.18%);
    background: -webkit-linear-gradient(24.36deg, rgba(255, 255, 255, 1) 13.34%, rgba(120, 105, 88, 1) 96.18%);
    background: -webkit-gradient(linear, -25.63% 148.59%, 142.91% -71.12%, color-stop(0.1334, rgba(255, 255, 255, 1)), color-stop(0.9618, rgba(120, 105, 88, 1)));
    background: -o-linear-gradient(24.36deg, rgba(255, 255, 255, 1) 13.34%, rgba(120, 105, 88, 1) 96.18%);
    background: -ms-linear-gradient(24.36deg, rgba(255, 255, 255, 1) 13.34%, rgba(120, 105, 88, 1) 96.18%);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#786958' ,GradientType=0)";
    background: linear-gradient(65.64deg, rgba(255, 255, 255, 1) 13.34%, rgba(120, 105, 88, 1) 96.18%);
    opacity: 0.15;
    filter: alpha(opacity=15) progid:DXImageTransform.Microsoft.Alpha(opacity=15) progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#786958', GradientType=1);
}

.tt-test {
    fill: linear-gradient(65.64deg, rgba(255, 255, 255, 1) 13.34%, rgba(120, 105, 88, 1) 96.18%);
    fill: red;
}

/* header */

@media screen and (min-width: 769px) {

    /* header menu */
    header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        /* min-width: 1440px;*/
        min-width: 1200px;
        z-index: 999;
        background-color: rgba(255, 255, 255, 0.6);
        border: 10px solid #786858;
        border-bottom: none;
        padding: 0 30px;
    }

    header .inner {
        max-width: 1360px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 88px;
        position: relative;
    }

    header h1 {
        display: flex;
        align-items: center;
    }


    header h1 img {
        width: 168px;
        vertical-align: middle;
    }

    .header-menu {
        display: block !important;
    }

    .header-menu .menu-list {
        display: flex;
        align-items: center;
        position: relative;
        padding-right: 295px;
    }

    .header-menu .menu-list > li {}

    .header-menu .menu-list > li:not(:last-child) {
        margin-right: 25px;
    }

    .header-menu .menu-list > li:not(:last-child) > a {
        font-size: 1.5rem;
        letter-spacing: 2.1px;
        color: #333333;
        padding-bottom: 3px;

    }

    .header-menu .menu-list > li:not(:last-child) > a:after {
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        background-color: rgba(0, 0, 0, 0);
    }

    header .btn-entry {
        position: absolute;
        right: 0;
        top: 20px;
        z-index: 1;
    }

    header .btn-entry > a {
        display: inline-block;
        width: 150px;
        margin-left: 2px;
        height: 44px;
        font-size: 1.3rem;
        color: #fff;
        padding: 0;
        letter-spacing: 0.1em;
        font-weight: bold;
        text-align: center;
        line-height: 43px;
        border-radius: 22px;
        vertical-align: middle;
    }

    .header-menu .sub-menu {
        position: absolute;
        display: none;
        margin-left: 1em;
        transform: translateX(-50%) translateY(-2px);
        padding: 0 8px 8px;
    }

    .header-menu .sub-menu li > a {
        display: block;
        font-size: 1.5rem;
        color: #fff;
        letter-spacing: 2.1px;
        padding: 10px 0 2px;
        text-align: center;
    }

    .header-menu .sub-menu > li:not(:last-child) {
        border-bottom: 1px solid #fff;
    }

    .header-menu .menu-list li:hover > .sub-menu {
        display: block;
    }

    .body-recruit .icon-tw {
        width: 18px;
    }

    .body-recruit .icon-fb {
        width: 8px;
    }

    .body-recruit .icon-insta {
        width: 18px;
    }

    .body-recruit .icon-youtube {
        width: 19px;
    }

    /* footer */

    footer {
        /*  min-width: 1440px;*/
        min-width: 1200px;
        padding: 60px 0 80px;
        border-top: 10px solid #786858;
        background: #d9d9e1;
    }

    footer .inner {
        margin: 0 auto;
        max-width: 1340px;
        position: relative;
    }

    footer .footer-box {
        display: flex;
        justify-content: space-between;
    }

    .img-footer-warp {
        width: calc(100% - 800px);
        position: relative;

    }

    .nav-footer-warp {
        width: 800px;
    }

    .img-footer-logo {
        width: 92px;
        position: absolute;
        top: 0;
        left: calc(50% - 46px);
        bottom: 0;
        margin: auto;
    }

    footer .footer-nav {
        font-size: 1.2em;
        line-height: 24.22px;
        letter-spacing: 0.72px;
        color: #808080;
        color: rgb(128, 128, 128);
        display: flex;
        margin-bottom: 6px;
        /* padding-left: calc(100% - 820px);*/

    }

    footer .footer-nav a {
        margin: 0 14px;
        font-size: 1.2rem;
        white-space: nowrap;
    }

    footer .footer-nav a:hover {
        text-decoration: underline;
        opacity: 1;
    }

    .footer-sns-list {
        display: flex;
        margin-top: 40px;
        /* padding-left: calc(100% - 820px);*/
    }

    .footer-sns-list a {
        margin: 0 16px;
    }

    .recruit-sns-list img,
    .footer-sns-list img {
        vertical-align: middle;
    }
}

@media screen and (max-width: 768px) {
    body {
        color: #000;
    }

    /* header menu */

    header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 999;
        background-color: rgba(255, 255, 255, 0.6);
        box-sizing: border-box;
        border: 1.3333vw solid #786858;
        border-bottom: none;
    }


    header .inner {
        width: 100%;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 16.6667vw;
        position: relative;
    }

    header h1 {
        display: flex;
        align-items: center;
    }

    header h1 img {
        width: 27.6667vw;
        vertical-align: middle;
    }

    .header-menu .menu-list {
        display: block;
        align-items: center;
        position: relative;
    }

    .menu-btn {
        width: 8.5333vw;
        min-width: 8.5333vw;
        height: 4.5333vw;
        margin-left: 6.9149vw;
        position: absolute;
        right: 4.2667vw;
        top: 5.3191vw;
        z-index: 1000;
    }


    header .btn-entry {
        position: absolute;
        right: 17.6000vw;
        top: 4.5333vw;
        z-index: 1;
    }

    header .btn-entry > a {
        display: inline-block;
        width: 23vw;
        height: 7.2000vw;
        font-size: 2.6667vw;
        letter-spacing: 0.1em;
        line-height: 7.2000vw;
        border-radius: 3.6000vw;
        color: #fff;
        margin-left: 2px;
        font-weight: bold;
        text-align: center;
        vertical-align: middle;
    }

    .header-menu {
        display: none;
        position: fixed;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        z-index: 998;
        padding-top: 16.6667vw;
        background: -moz-linear-gradient(0% 50% 0deg, rgba(231, 115, 153, 1) 0%, rgba(175, 133, 171, 1) 100%);
        background: -webkit-linear-gradient(0deg, rgba(231, 115, 153, 1) 0%, rgba(175, 133, 171, 1) 100%);
        background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(231, 115, 153, 1)), color-stop(1, rgba(175, 133, 171, 1)));
        background: -o-linear-gradient(0deg, rgba(231, 115, 153, 1) 0%, rgba(175, 133, 171, 1) 100%);
        background: -ms-linear-gradient(0deg, rgba(231, 115, 153, 1) 0%, rgba(175, 133, 171, 1) 100%);
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#E77399', endColorstr='#AF85AB' ,GradientType=0)";
        background: linear-gradient(90deg, rgba(231, 115, 153, 1) 0%, rgba(175, 133, 171, 1) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#E77399', endColorstr='#AF85AB', GradientType=1);
        opacity: 1;

        padding: 16.6667vw 7.4667vw 100px;
        overflow-y: scroll;
    }

    .header-menu .menu-list {
        position: relative;
        height: 100%;
        padding-top: 6.6667vw;

    }

    .header-menu .menu-list li {
        margin-bottom: 2.4000vw;
    }

    .header-menu .menu-list a {
        font-size: 3.8em;
        color: #fff;
    }

    .header-menu .menu-list .bottom-header {
        border-top: 1px solid #fff;
        margin-top: 4vw;
        padding-top: 2vw;
        display: flex;
        align-items: center;

    }

    .header-menu .menu-list .bottom-header > div {
        width: 50%;
        text-align: center;
    }

    .header-menu .menu-list .bottom-header .img {
        text-align: left;
        margin-left: 6vw;
        margin-top: 2vw;
    }

    .header-menu .menu-list .bottom-header .img img {
        width: 15.3333vw;
    }

    .header-menu .menu-list:after {
        content: '';
        position: absolute;
        width: 26.9333vw;
        height: 5.2000vw;
        background: url(../img/recruit/common/img_logo_menu.png) no-repeat center center /contain;
        left: -3.2000vw;
        top: -11.3333vw;
    }

    .menu-btn span {
        position: absolute;
        display: inline-block;
        width: 8.5333vw;
        height: 0.9333vw;
        background-color: #000;
        border-radius: 0.4666vw;
        transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out, transform 0.4s, background 0.4s ease-in-out;
    }

    .menu-btn span:nth-of-type(1) {
        top: 0;
    }

    .menu-btn span:nth-of-type(2) {
        top: calc(50% - 0.4666vw);
    }

    .menu-btn span:nth-of-type(3) {
        bottom: 0;
    }


    header.active .menu-btn span:nth-of-type(1) {
        transform: translateY(1.8067vw) rotate(-315deg);
    }

    header.active .menu-btn span:nth-of-type(2) {
        opacity: 0;
    }

    header.active .menu-btn span:nth-of-type(3) {
        transform: translateY(-1.8067vw) rotate(315deg);
    }

    header.active .menu-btn span {
        background: -moz-linear-gradient(0% 50% 0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
        background: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
        background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(255, 255, 255, 1)), color-stop(1, rgba(255, 255, 255, 1)));
        background: -o-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
        background: -ms-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#FFFFFF' ,GradientType=0)";
        background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#FFFFFF', GradientType=1);
    }

    .body-recruit .icon-tw {
        width: 4.0000vw;
    }

    .body-recruit .icon-fb {
        width: 1.7333vw;
    }

    .body-recruit .icon-insta {
        width: 4.0000vw;
    }

    .body-recruit .icon-youtube {
        width: 4.2667vw;
    }

    /* footer */

    footer {
        width: 100%;
        padding: 8vw 0 12vw;
        border-top: 1.3333vw solid #786858;
        background: #d9d9e1;
    }

    footer .inner {
        position: relative;
    }

    .img-footer-logo {
        width: 17.7333vw;
        position: absolute;
        left: 6.4000vw;
        top: 18.6667vw;
    }

    footer .footer-nav {
        font-size: 2.6em;
        line-height: 1.393em;
        letter-spacing: 0;
        color: #333333;
        padding-left: 32.0000vw;

    }

    footer .footer-nav2 {
        padding-left: 0;
        display: flex;
        flex-flow: row wrap;
        padding-top: 8.0000vw;
    }

    footer .footer-nav2 > li {
        width: 50%;
        text-align: center;
    }

    footer .footer-nav li {
        margin-bottom: 2.6667vw;
    }

    footer .footer-nav a {}

    footer .footer-nav a:hover {
        text-decoration: underline;
        opacity: 1;
    }

    .footer-sns-list {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 7.4667vw;
    }

    .footer-sns-list a {
        margin: 0 3.7333vw;
    }

    .recruit-sns-list img,
    .footer-sns-list img {
        vertical-align: middle;
    }
}

.g-line:after {
    content: '';
    display: block;
    font-size: 4rem;
    width: 1.35em;
    height: 1px;
    margin: 0.24em auto 0.24em;
}

.ttl-sub-title {
    font-size: 1.6rem !important;
    letter-spacing: 0.35em !important;
    font-weight: 500 !important;
}



@media screen and (max-width: 768px) {
    .g-line:after {
        font-size: 4em;
    }

    .ttl-sub-title {
        font-size: 2.4em !important;
        font-weight: 300 !important;
    }
}






@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fadeIn {
    animation-name: fadeIn;
}

.animated {
    animation-duration: 1s;
    animation-fill-mode: both;
    opacity: 0;
}

.animated.infinite {
    animation-iteration-count: infinite;
}

.animated.delay-1s {
    animation-delay: 1s;
}

.animated.delay-2s {
    animation-delay: 2s;
}

.animated.delay-3s {
    animation-delay: 3s;
}


.animated.fast {
    animation-duration: 800ms;
}

.animated.faster {
    animation-duration: 500ms;
}

.animated.slow {
    animation-duration: 2s;
}

.animated.slower {
    animation-duration: 3s;
}

@media (print),
(prefers-reduced-motion) {
    .animated {
        /*    -webkit-animation: unset !important;
    animation: unset !important;*/
        -webkit-transition: none !important;
        transition: none !important;
    }
}
