/* 
breakpoint guide
header/footer : any size
comment : 940px
content : 768px
 */

@charset "utf-8";
body{
    font-family: "游ゴシック", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
    -webkit-text-size-adjust: 100%; 
    font-weight: 500;
    color: #1a1a1a;
}
input,textarea{
    border-radius: 0;
    outline: none;
}
input[type="submit"]{
    -webkit-appearance: none;
}
a{
    color:inherit;
    text-decoration: none;
}
address{
    font-style: normal;
}

h2{ /* img title */
    text-indent: -9999px;
}
.b_anchor > a{
    height: inherit;
    width: inherit;
    display: block;
    position: relative;
    text-indent: -9999px;
}

#wrapper{
    width: 100%;
    overflow: hidden;
}

.g_header{
    height: 140px;
    padding: 0 30px;
    box-sizing: border-box;
    background-color: white;
    position: relative;
    z-index: 10;
}

#fixedHeader{
    position: fixed;
    left: 0;
    right: 0;
    height: 79px;
    padding: 0 30px;
    background-color: white;
    border-bottom: 1px solid #e0d8ca;
    top: -80px;
    transition: top 300ms ease;
}

#fixedHeader.show{
    top: 0;
}

#fixedHeader .container h1{
    width: 219px;
    height: 47px;
    top: 17px;
}

#fixedHeader .info{
    display: none;
}

#fixedHeader nav{
    top: 27px;
}

.g_header .container{
    max-width: 1340px;
    margin: 0 auto;
    position: relative;
}
.g_header .container h1{
    width: 292px;
    height: 63px;
    background: url(../img/header_logo.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    left: 28px;
    top: 37px;
}
.g_header nav{
    height: 29px;
    position: absolute;
    right: 18px;
    top: 69px;
}
.g_header nav li{
    height: 29px;
    float: left;
}
.g_header nav li._1{
    width: 61px;
    background: url(../img/menu_1.png) no-repeat center center;
    background-size: contain;
}
.g_header nav li._2{
    width: 123px;
    margin-left: 45px;
    background: url(../img/menu_2.png) no-repeat center center;
    background-size: contain;
}
.g_header nav li._3{
    width: 131px;
    margin-left: 35px;
    background: url(../img/menu_3.png) no-repeat center center;
    background-size: contain;
}
.g_header nav li._4{
    width: 61px;
    margin-left: 33px;
    background: url(../img/menu_4.png) no-repeat center center;
    background-size: contain;
}
.g_header nav li._5{
    width: 60px;
    margin-left: 49px;
    background: url(../img/menu_5.png) no-repeat center center;
    background-size: contain;
}
.g_header nav li._6{
    width: 94px;
    margin-left: 38px;
    background: url(../img/menu_6.png) no-repeat center center;
    background-size: contain;
}
.g_header nav li a{
    height: inherit;
    width: inherit;
    display: block;
    position: relative;
    text-indent: -9999px;
    padding-bottom: 10px;
    position: relative;
}
.g_header nav li a:before,
.g_header nav li a:after{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    width: 0;
    height: 1px;
    background: #002d52;
    transition: width 200ms ease;
}

.g_header nav li a:before{
    right: 50%;
}
.g_header nav li a:after{
    left: 50%;
}

.g_header nav li a:hover:before,
.g_header nav li a:hover:after{
    width: 50%;
}
.g_header .info{
    text-align: right;
    position: absolute;
    right: 18px;
    top: 20px;
}
.g_header .info p{
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    letter-spacing: 0.12em;
    display: inline-block;
}
.g_header .info p.phone{
    padding-left: 19px;
    background: url(../img/icon_phone_s.png) no-repeat left center;
    background-size: 10px 13px;
}
.g_header .info p.time{
    padding-left: 19px;
    margin-left: 23px;
    background: url(../img/icon_time_s.png) no-repeat left center;
    background-size: 12.5px;
}
.g_header .info p.consulting{
    padding-left: 19px;
    margin-left: 23px;
    background: url(../img/top_logo_icon.png) no-repeat left center;
    background-size: 13px;
}
.g_header .info p.consulting a{
    transition: opacity 300ms ease;
}
.g_header .info p.consulting a:hover{
    opacity: 0.4;
}
#menuBtn{
    text-indent: -9999px;
    display: none;
}

.bread{
    margin-top: 18px;
    overflow: hidden;
}
.bread li{
    padding-right: 13px;
    font-size: 13px;
    color: #cebba6;
    float: left;
    letter-spacing: 0.05em;
}
.bread li a{
    color: #002d52;
    font-weight: bold;
}
.bread li a{
    display: block;
}
.bread li:first-child{
    width: 44px;
    height: 10px;
    text-indent: -9999px;
    background: url(../img/bread_home.png) no-repeat left center;
    background-size: contain;
}
.bread li + li{
    padding-left: 16px;
    background: url(../img/el_arr3.png) no-repeat left center;
    background-size: 5px auto;
}
.w_break_pc{
    display: block;
}
#about:before,
#business:before,
#comment:before,
#recruit:before,
#news:before,
#contact:before,
#interview:before{
    content: "";
    width: 100%;
    height: 230px;
    background-position: center center;
    background-size: cover;
    display: block;
    overflow: hidden;

/*
  -webkit-filter: blur(1px);
  -moz-filter: blur(1px);
  -o-filter: blur(1px);
  -ms-filter: blur(1px);
  filter: blur(1px);
*/

}
#about:before{
    background-image: url(../img/header_1.jpg);
}
#business:before{
    background-image: url(../img/header_2.jpg);
}
#comment:before{
    background-image: url(../img/header_3.jpg);
}
#contact:before{
    background-image: url(../img/header_4.jpg);
}

#about > div,
#business > div,
#comment > div,
#recruit > div,
#news > div,
#contact > div{
    padding: 0 14px;
}
#contact .submit,
#recruit .submit{
    padding: 88px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255,255, 0.84);
    display: none;
    z-index: 1000;
}
#contact .submit > div,
#recruit .submit > div{
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
    border: 3px solid #002d52;
    background-color: white;
    box-sizing: border-box;
}
#contact .submit > div p:first-child,
#recruit .submit > div p:first-child{
    padding: 95px 0;
    font-size: 24px;
    color: #002d52;
    font-weight: bold;
}
#contact .submit > div p:first-child + p,
#recruit .submit > div p:first-child + p{
    font-size: 18px;
    line-height: 30px;
    font-weight: bold;
}
#contact .submit > div p.small,
#recruit .submit > div p.small{
    margin-top: 15px;
    font-size: 14px;
    line-height: 30px;
}
#contact .submit > div p.submit_close,
#recruit .submit > div p.submit_close{
    width: 120px;
    margin: 100px auto 70px;
    padding-top: 30px;
    background: url(../img/el_close.png) no-repeat center top;
    background-size: auto 20px;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    color: #002d52;
    cursor: pointer;
}

    @media (max-width:1170px) {
        #fixedHeader{
            display: none;
        }

        #about:before,
        #business:before,
        #comment:before,
        #recruit:before,
        #news:before,
        #contact:before,
        #interview:before{
            height: 90px;
        }
        .w_break{
            display: block;
        }
        .w_break_pc{
            display: inline;
        }
        .bread li:first-child{
            width: 32px;
            height: 13px;
            background-size: auto 8px;
        }
        .bread li{
            height: 13px;
            line-height: 13px;
            font-size: 9px;
        }
        .bread li + li{
            padding-left: 13px;
        }
        #wrapper{
            padding-top: 44px;
        }
        #menuBtn{
            width: 24px;
            height: 18px;
            background: url(../img/menu_btn_sp.png) no-repeat center center;
            background-size: contain;
            display: block;
            position: absolute;
            left: 14px;
            top: 14px;
        }
        #menuBtn.open{
            background-image: url(../img/menu_close.png);
        }
        .g_header{
            width: 100%;
            height: auto;
            z-index: 100;
            padding: 0;
            position: fixed;
            top: 0;
        }
        .g_header .container h1{
            width: 80px;
            height: 24px;
            padding: 10px 0;
            margin: 0 auto;
            background: url(../img/header_logo_sp.png) no-repeat center center;
            background-size: contain;
            position: relative;
            top: 0;
            left: 0;
        }
        .g_header #navi{
            display: none;
            background-color: white;
            border-top: 2px solid #cebba6;
            position: fixed;
            top: 44px;
            left: 0;
            right: 0;
            bottom: 0;
        }
        .g_header #navi nav{
            position: relative;
            top: 0;
            right: 0;
        }
        .g_header nav{
            width: 100%;
            height: auto;
        }
        .g_header nav li{
            width: 100% !important;
            height: auto;
            margin: 0 !important;
            position: relative;
            float: none;
            padding: 0;
        }
        .g_header nav li a{
            padding: 13px 0 10px;
            height: 30px;
            display: block;
        }
        .g_header nav li a:before,
        .g_header nav li a:after{
            display: none;
        }
        .g_header nav li:after{
            content: "";
            height: 10px;
            width: 100%;
            background: url(../img/el_dot2.png) repeat-x center bottom;
            background-size: 4px 2px;
            display: block;
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
        }
        .g_header nav li._1{
            background: url(../img/menu_1_sp.png) no-repeat center center;
            background-size: auto 27px;
        }
        .g_header nav li._2{
            background: url(../img/menu_2_sp.png) no-repeat center center;
            background-size: auto 27px;
        }
        .g_header nav li._3{
            background: url(../img/menu_3_sp.png) no-repeat center center;
            background-size: auto 27px;
        }
        .g_header nav li._4{
            background: url(../img/menu_4_sp.png) no-repeat center center;
            background-size: auto 27px;
        }
        .g_header nav li._5{
            background: url(../img/menu_5_sp.png) no-repeat center center;
            background-size: auto 27px;
        }
        .g_header nav li._6{
            background: url(../img/menu_6_sp.png) no-repeat center center;
            background-size: auto 27px;
        }
        .g_header .info{
            margin-top: 42px;
            padding-bottom: 33px;
            position: relative;
            top: 0;
            right: 0;
        }
        .g_header .info p{
            font-size: 15px;
            line-height: 14px;
            display: block;
            text-align: center;
        }
        .g_header .info p.phone,
        .g_header .info p.time,
        .g_header .info p.consulting{
            background: none;
            padding: 0;
        }
        .g_header .info p.phone:before{
            content: '';
            width: 19px;
            height: 14px;
            background: url(../img/icon_phone_s.png) no-repeat left center;
            background-size: contain;
            display: inline-block;
        }
        .g_header .info p.time,
        .g_header .info p.consulting{
            margin: 15px 0 0;
        }
        .g_header .info p.time:before{
            content: '';
            width: 19px;
            height: 14px;
            background: url(../img/icon_time_s.png) no-repeat left center;
            background-size: contain;
            display: inline-block;
        }
        .g_header .info p.consulting:before{
            content: '';
            width: 19px;
            height: 14px;
            transform: translateY(2px);
            background: url(../img/top_logo_icon.png) no-repeat left center;
            background-size: contain;
            display: inline-block;
        }
        #contact .submit, 
        #recruit .submit{
            padding: 70px 25px;
        }
        #contact .submit > div,
        #recruit .submit > div{
            padding: 0 15px;
        }
        #contact .submit > div p:first-child, 
        #recruit .submit > div p:first-child{
            padding: 35px 0;
        }
        #contact .submit > div p.small, 
        #recruit .submit > div p.small{
            margin-top: 30px;
            font-size: 10px;
            line-height: 20px;
        }
        #contact .submit > div p.submit_close,
        #recruit .submit > div p.submit_close{
            margin: 30px auto;
        }
    }

#g_footer{
    height: 220px;
    background-color: #002d52;
    position: relative;
}
#g_footer .banner{
    padding-top: 50px;
    text-align: center;
}
#g_footer .banner p{
    width: 383px;
    height: 85px;
    margin: 0 8px;
    display: inline-block;
}
#g_footer .banner p:first-child{
    background: url(../img/footer_banner.png) no-repeat center center;
    background-size: contain;
}
#g_footer .banner p:first-child + p{
    background: url(../img/footer_banner2.png) no-repeat center center;
    background-size: contain;
}
#g_footer h1{
    position: absolute;
    top: 90px;
    left: 42px;
}
#g_footer #totop{
    width: 28px;
    height: 20px;
    background: url(../img/footer_totop.png) no-repeat center center;
    background-size: 28px auto;
    cursor: pointer;
    position: absolute;
    right: 35px;
    top: 100px;
    text-indent: -9999px;
}
#g_footer .rights{
    margin-top: 38px;
    text-align: center;
}
    @media (max-width:1180px) {
        #g_footer{
            height: auto;
            padding-bottom: 44px;
        }
        #g_footer .banner{
            padding-top: 33px;
        }
        #g_footer .banner p{
            display: block;
            width: 300px;
            height: 115px;
            margin: 0 auto 20px;
        }
        #g_footer .banner p:first-child{
            background: url(../img/footer_banner_sp.png) no-repeat center center;
            background-size: contain;
        }
        #g_footer .banner p:first-child + p{
            background: url(../img/footer_banner2_sp.png) no-repeat center center;
            background-size: contain;
        }
        #g_footer #totop{
            margin: 45px auto 0;
            position: relative;
            top: 0;
            left: 0;
        }
        #g_footer h1{
            margin-top: 35px;
            text-align: center;
            position: relative;
            top: 0;
            left: 0;
        }
        #g_footer h1 img{
            width: auto;
            height: 36px;
        }
        #g_footer .rights{
            margin-top: 30px;
        }
    }

/* TOP */
#loading{
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: #FFF;
    z-index: 11;
}
#loading:after{
    content: "";
    display: block;
    width: 80px;
    height: 80px;
    background: url(../img/top_load.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    left: 50%; top: 50%;
    margin-top: -40px; margin-left: -40px;
    animation: loading 1000ms linear infinite;
    transition: opacity 200ms linear;
}
#loading.hide:after{
    opacity: 0;
}
@keyframes loading {
    0% {
        transform: rotate(0deg);
    } 100% {
        transform: rotate(360deg);
    }
}

#top .circle{
    text-align: center;
}
#top .circle > a{
    width: 114px;
    height: 114px;
    font-size: 14px;
    line-height: 110px;
    letter-spacing: 0.04em;
    font-family: "Montserrat", sans-serif;
    color: #1d3b61;
    text-decoration: none;
    border-radius: 100%;
    text-indent: 0px;
    display: inline-block;
    position: relative;
    transition: background 300ms ease, color 300ms ease;
}
#top .circle > a:after{
    content: "";
    display: block;
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border: 2px solid #1d3b61;
    border-radius: 100%;
}
#top .circle > a:hover{
    background: #1d3b61;
    color: #FFF;
}


#top .circle > a:hover:after{
    animation: btnHover 300ms ease;
}

@keyframes btnHover {
    0% {
        transform: scale(1);
        opacity: 1;
    } 100% {
        transform: scale(1.25);
        opacity: 0;
    }
}

#top .upper{
    position: relative;
    top: -140px;
    height: 100vh;
    min-height: 640px;
    padding: 140px 30px 30px;
    margin: 0 auto -140px;
    box-sizing: border-box;
}
#top .upper > div{
    height: 100%;
    position: relative;
    box-sizing: border-box;
}

#top .upper ul{
    width: 100%;
    overflow: hidden;
}

#top .upper ul,
#top .upper ul li .image span{
    display: block;
    position: absolute;
    left: 0; right: 0; bottom: 0; top: 0;
    z-index: 1;
}
#top .upper ul li{
    position: absolute;
    bottom: 0; top: 0;
    z-index: 1;
    background-color: #002d52;
    left: 50%;
    right: 50%;
    transition: all 1400ms cubic-bezier(1, 0, 0, 1);
    overflow: hidden;
}
#top .upper ul li.next{
    z-index: 2;
}
#top .upper ul li.show{
    left: 0;
    right: 0;
}
#top .upper ul li .image{
    width: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    overflow: hidden;
}

#top .upper ul li .image span{
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1.1);
/*     transition: transform 8000ms linear 1400ms; */
}

#top .upper ul li .image.animate span{
    animation: imageZoom 4000ms linear forwards;
}

@keyframes imageZoom {
    0% {
        transform: scale(1.1);
    } 100% {
        transform: scale(1);
    }
}

#top .upper ul li._1 .image,
#top .upper ul li._3 .image,
#top .upper ul li._5 .image,
#top .upper ul li._7 .image,
#top .upper ul li._9 .image{
    left: 50%;
}

#top .upper ul li._2 .image,
#top .upper ul li._4 .image,
#top .upper ul li._6 .image,
#top .upper ul li._8 .image,
#top .upper ul li._10 .image{
    right: 50%;
}

#top .upper ul li._5 .image span,
#top .upper ul li._10 .image span{
    background-image: url(../img/top_slider_4.jpg);
}
#top .upper ul li._4 .image span,
#top .upper ul li._9 .image span{
    background-image: url(../img/top_slider_4.jpg);
}
#top .upper ul li._3 .image span,
#top .upper ul li._8 .image span{
    background-image: url(../img/top_slider_3.jpg);
}
#top .upper ul li._2 .image span,
#top .upper ul li._7 .image span{
    background-image: url(../img/top_slider_2.jpg);
}
#top .upper ul li._1 .image span,
#top .upper ul li._6 .image span{
    background-image: url(../img/top_slider_1.jpg);
}

#top .upper > div .title{
    max-width: 700px;
    position: absolute;
    top: 50%; left: 50%;
    transform: translateX(-50%) translateY(-50%);
    color: white;
    font-size: 15px;
    text-align: center;
    z-index: 2;
/*     overflow: hidden; */
}

#top .upper > div .title:after,
#top .upper > div .title:before{
    content: "";
    display: block;
    position: absolute;
    border: 3px solid white;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    box-sizing: border-box;
/*     height: 50%; */
}

#top .upper > div .title:before{
    top: 0;
    border-bottom: none;
}
#top .upper > div .title:after{
    bottom: 0;
    border-top: none;
}

#top .upper.show > div .title:before,
#top .upper.show > div .title:after{
    opacity: 0;
    animation: initBorder 500ms linear 600ms forwards;
}

@keyframes initBorder {
    0% {
        opacity: 0;
        width: 0;
        height: 0;
    } 5%{
        opacity: 1;
        width: 0;
        height: 0;
    } 70% {
        opacity: 1;
        width: 100%;
        height: 0;
    } 100% {
        opacity: 1;
        width: 100%;
        height: 50%;
    }
}

#top .upper > div .title p{
    padding: 49px 8% 40px;
}

#top .upper > div .title img{
    display: block;
    max-width: 100%;
    height: auto;
    margin-bottom: 14px;
    vertical-align: bottom;
}

#top .upper > div .title p span{
    display: block;
    opacity: 0;
    transition: all 600ms ease;
}

#top .upper > div .title p span._1{
    transform: translateY(10px);
    transition-delay: 1200ms;
}
#top .upper > div .title p span._2{
    transform: translateY(8px);
    transition-delay: 1400ms;
}

#top .upper > div .title p span._2 img{
    margin-bottom: 0;
}

#top .upper.show > div .title p span{
    opacity: 1;
    transform: translateY(0px);
}

#top .upper > div .scroll{
    content: "";
    width: 34px;
    height: 63px;
    background: url(../img/icon_scroll.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    left: 50%;
    bottom: 20px;
    margin-left: -17px;
    z-index: 2;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 800ms ease 1800ms, transform 800ms ease 1800ms;
    cursor: pointer;
}
#top .upper.show > div .scroll{
    opacity: 1;
    transform: translateY(0px);
}
#top .upper > div .scroll:after{
    content: "";
    display: block;
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 100%;
    background: #FFF;
    left: 14px;
    top: 13px;
    opacity: 0;
}

#top .upper.show > div .scroll:after{
    animation: scrollPC 2000ms linear infinite 2600ms;
}

@keyframes scrollPC {
    0% {
        top: 13px;
        opacity: 0;
    } 5% {
        top: 13px;
        opacity: 1;
    } 20% {
        top: 13px;
        opacity: 1;
    } 60% {
        opacity: 1;
        top: 30px;
    } 70% {
        opacity: 1;
        top: 30px;
    } 75% {
        opacity: 0;
        top: 30px;
    } 100% {
        opacity: 0;
        top: 13px;
    }
}
@keyframes scrollSP {
    0% {
        top: 8px;
        opacity: 0;
    } 5% {
        top: 8px;
        opacity: 1;
    } 20% {
        top: 8px;
        opacity: 1;
    } 60% {
        opacity: 1;
        top: 18px;
    } 70% {
        opacity: 1;
        top: 18px;
    } 75% {
        opacity: 0;
        top: 18px;
    } 100% {
        opacity: 0;
        top: 8px;
    }
}

#top .about{
    text-align: center;
    box-sizing: border-box;
    height: 100vh;
    min-height: 780px;
    position: relative;
}

#top .about .content{
    position: absolute;
    height: 580px;
    width: 760px;
    top: 50%; left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

#top .about h2{
    height: 59px;
    background: url(../img/top_h_about.png) no-repeat center center;
    background-size: contain;
}
#top .about p{
    margin-top: 50px;
    font-size: 18px;
    line-height: 38px;
    font-weight: bold;
    letter-spacing: 0.04em;
}
#top .about .sign{
    margin-top: 30px;
}
#top .about .circle{
    margin-top: 60px;
}

#top .info{
    background-color: #f9f6f3;
}
#top .info:before{
    content: "";
    width: 100%;
    height: 270px;
    background: url(../img/top_img2.jpg) no-repeat center center;
    background-size: cover;
    display: block;
}
#top .info > div{
    max-width: 1240px;
    margin: 0 auto;
    background: url(../img/top_info_img.jpg) no-repeat right center;
    background-size: 46.7% auto;
}
#top .info > div > div{
    padding: 120px 56% 109px 92px;
    box-sizing: border-box;
}
#top .info h2{
    height: 62px;
    margin-bottom: 70px;
    background: url(../img/top_h_info.png) no-repeat 38.8% center;
    background-size: contain;
}
#top .info ul{
    min-height: 187px;
}
#top .info ul li{
    margin-top: 45px;
}
#top .info ul li:first-child{
    margin-top: 0;
}
#top .info ul li a{
    padding-left: 100px;
    font-size: 13px;
    position: relative;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-decoration: none;
    letter-spacing: 0.06em;
}
#top .info ul li a:hover{
    text-decoration: underline;
}
#top .info ul li a time{
    font-family: "Montserrat", sans-serif;
    letter-spacing: 0.05em;
    position: absolute;
    left: 0;
    top: 0;
}
#top .info .circle{
    margin-top: 70px;
}
#top .office{
    padding: 76px 0;
}
#top .office h2{
    height: 68px;
    background: url(../img/top_h_office.png) no-repeat center center;
    background-size: contain;
}
#top .office > div{
    text-align: center;
}
#map_canvas,
#map_canvas_2{
    margin-top: 50px;
}
#top .office > div h3{
    margin-top: 55px;
}
#top .office > div address{
    margin-top: 40px;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.14em;
    color: #002d52;
}
#top .office > div address h4{
    font-size: 120%;
    margin-bottom: 1.5em;
}
#top .office > div address a{
    display: inline-block;
    margin-top: 10px;
    text-decoration: underline;
    font-size: 11px;
}
#top .office > div address > div{
    margin-top: 17px;
    font-family: "Montserrat", sans-serif;
}
#top .office > div address > div p{
    height: 13px;
    display: inline-block;
}
#top .office > div address > div p.phone{
    padding-left: 18px;
    background: url(../img/icon_phone_s.png) no-repeat left center;
    background-size: contain;
}
#top .office > div address > div p.time{
    padding-left: 18px;
    margin-left: 13px;
    background: url(../img/icon_time_s.png) no-repeat left center;
    background-size: contain;
}

    @media (max-width:1170px) {
        #top .upper{
            top: -44px;
            padding-top: 74px;
            margin-bottom: -74px;
        }
    }

    @media (max-width:768px) {
        #top .upper{
            top: -44px;
            padding: 0;
            min-height: 0;
            margin-bottom: -44px;
        }
        #top .upper > div{
            padding-top: 44px;
        }
        #top .upper > div .title{
            width: 85% !important;
        }
        #top .upper > div .title  p{
            padding: 15px 20px;
            font-size: 10px;
        }
        #top .upper > div .title p img{
            margin-bottom: 10px;
            width: 100%;
        }
        #top .upper ul li{
            left: auto !important;
            right: -100%;
            width: 100%;;
            transition: none;
            transition: right 800ms cubic-bezier(1, 0, 0, 1);
        }
        #top .upper ul li:after{
            content: "";
            display: block;
            background-color: #002d52;
            position: absolute;
            left: 0; bottom: 0; top: 0;
            width: 100%;
            z-index: 2;
            transition: left 800ms cubic-bezier(1, 0, 0, 1) 700ms;
        }
        #top .upper ul li.show:after{
            left: -100%;
        }
        #top .upper ul li.show{
            right: 0;
        }
        #top .upper ul li._1 .image,
        #top .upper ul li._3 .image,
        #top .upper ul li._2 .image,
        #top .upper ul li._4 .image{
            left: 0;
            right: 0;
            width: 100% !important;
        }

        #top .upper > div .title p{
            padding: 35px 8% 30px;
        }

        #top .upper > div .scroll{
            width: 31px;
            height: 41px;
            background-image: url(../img/icon_scroll_sp.png);
            bottom: 55px;
        }
        #top .upper > div .scroll:after{
            width: 4px;
            height: 4px;
            left: 14px;
            top: 8px;
        }
        #top .upper.show > div .scroll:after{
            animation: scrollSP 2000ms linear infinite 2600ms;
        }
        #top .about{
            min-height: 640px;
        }
        #top .about .content{
            position: relative;
            padding: 55px 34px 35px;
            height: auto;
            width: auto;
        }
        #top .about p{
            font-size: 12px;
            line-height: 22px;
        }
        #top .about .sign img{
            height: 42px;
            width: auto;
        }
        #top .about .circle{
            margin-top: 32px;
        }
        #top .info:before{
            height: 160px;
        }
        #top .info > div{
            background: transparent;
        }
        #top .info > div > div{
            padding: 63px 19px 18px;
        }
        #top .info h2{
            margin-bottom: 45px;
        }
        #top .info ul li{
            padding: 20px 0;
            margin: 0;
            border-top: 3px solid #d4c4b2;
        }
        #top .info ul li a{
            max-height: 90px;
            padding: 0;
            font-size: 16px;
            font-weight: bold;
            line-height: 25px;
            white-space: normal;
        }
        #top .info ul li a time{
            margin-bottom: 10px;
            font-size: 12px;
            color: #cebba6;
            display: block;
            position: relative;
        }
        #top .info .circle{
            display: none;
        }
        #top .office{
            padding: 40px 0 37px;
        }
        #top .office h2{
            height: 68px;
            background-image: url(../img/top_h_office.png);
        }
        #top .office > div{
            margin-top: 30px;
        }
        #top .office > div:before{
            height: 320px;
        }
        #top .office > div h3{
            margin-top: 28px;
        }
        #top .office > div address{
            line-height: 21px;
        }
        #top .office > div address > div p{
            line-height: 13px;
        }
    }

/* ABOUT */
#about > div{
    padding: 0;
}
#about > div > div{
    max-width: 1080px;
    padding: 0 14px;
    margin: 0 auto;
}
#about h2{
    height: 32px;
    margin-top: 65px;
    background: url(../img/about_h.png) no-repeat left center;
    background-size: contain;
}
#about h3{
    margin-top: 85px;
    margin-bottom: 20px;
    padding-left: 40px;
    font-size: 30px;
    color: #002d52;
}
#about h3 span{
    margin-bottom: 12px;
    color: #cebba6;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    letter-spacing: 0.04em;
    display: block;
}
#about h3+ul{
    font-size: 14px;
    line-height: 22px;
    padding-left: 60px;
    list-style: disc;
    margin-top: 70px;
}
#about h3+ul li{
    list-style: disc;
    margin-bottom: 8px;
}
#about .interview{
    padding-left: 40px;
}
#about .interview ul{
    overflow: hidden;
}
#about .interview ul li{
    width: calc(50% - 8px); 
    float: left;
    background-color: #234261;
    position: relative;
}
#about .interview ul li:first-child{
    margin-right: 16px;
}
#about .interview ul li img{
    width: 100%;
    height: auto;
    vertical-align: bottom;
    transition: opacity 0.3s ease;
}
#about .interview ul li:hover img{
    opacity: 0.11;
}
#about .interview ul li:after{
    content: "";
    width: 59px;
    height: 21px;
    padding: 0 21px;
    background-image: url(../img/about_read.png),
                      url(../img/el_arr4.png);
    background-position: center center,
                         right center;
    background-size: auto 21px,
                     8px 14px;
    background-repeat: no-repeat;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -10px 0 0 -50px;
    opacity: 0;
    transition: opacity 0.3s ease;
}
#about .interview ul li:hover:after{
    opacity: 1;
}
#about .comment > div{
    padding: 60px 80px;
    background: url(../img/el_dot.png) repeat-x left bottom;
    background-size: 4px auto;
    position: relative;
    overflow: hidden;
}
#about .comment > div .name{
    padding-left: 40px;
    font-size: 20px;
    font-weight: bold;
    background: url(../img/el_tri.png) no-repeat left center;
    background-size: auto 10px;
    position: absolute;
    top: 60px;
    left: 40px;
}
#about .comment > div .avatar{
    float: right;
}
#about .comment > div .avatar img{
    max-width: 100%;
    height: auto;
}
#about .comment > div .summary{
    margin-top: 60px;
    width: calc(100% - 340px);
    font-size: 16px;
    line-height: 28px;
    float: left;
    letter-spacing: 0.06em;
/*     text-align: justify; */
}

#about .access{
    max-width: 100%;
    margin-top: 85px;
    padding: 85px 0 100px;
    background-color: #f9f6f3;
    overflow: hidden;
}
#about .access > div{
    max-width: 1080px;
    margin: 0 auto;
    position: relative;
}
#about .access h3{
    position: absolute;
    top: -5px;
    left: 0;
    margin: 0;
}
#about .access .access_detail{
    padding: 0 40px;
    overflow: hidden;
    position: relative;
}
#about .access .access_detail+.access_detail{
    margin-top: 40px;
}
#about .access .access_detail .map{
    position: absolute;
    top: 0;
    left: 440px;
    right: 40px;
    bottom: 0;
}
#about .access .access_detail .detail{
    width: 360px;
    height: 300px;
    margin-top: 140px;
    text-align: center;
    float: left;
}
#about .access .access_detail .detail > p{
    margin: 20px 0;
    font-size: 13px;
    line-height: 21px;
    font-weight: bold;
    color: #002d52;
    letter-spacing: 0.06em;
}
#about .access .info p {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: #002d52;
    letter-spacing: 0.12em;
    display: inline-block;
}
#about .access .info p.phone {
    padding-left: 19px;
    background: url(../img/icon_phone_s.png) no-repeat left center;
    background-size: 10px 13px;
}
#about .access .info p.time {
    padding-left: 19px;
    margin-left: 23px;
    background: url(../img/icon_time_s.png) no-repeat left center;
    background-size: 12.5px;
}
    @media (max-width:768px) {
        #about h2{
            height: 47px;
            margin-top: 40px;
            background-image: url(../img/about_h_sp.png);
            background-position: center center;
        }
        #about h3{
            margin: 60px 0 0;
            padding: 0;
            font-size: 22px;
        }
        #about .interview{
            width: calc(100% + 28px);
            margin-top: 10px;
            margin-left: -14px;
            padding: 0;
        }
        #about .interview ul li{
            width: 100%;
            margin-top: 20px;
        }
        #about .interview ul li:first-child{
            margin-right: 0;
        }
        #about .comment > div{
            padding: 33px 0;
        }
        #about .comment > div .name{
            padding-left: 18px;
            font-size: 16px;
            position: relative;
            top: 0;
            left: 0;
        }
        #about .comment > div .avatar{
            margin-top: 20px;
            text-align: center;
            float: none;
        }
        #about .comment > div .summary{
            width: 100%;
            margin-top: 20px;
            font-size: 14px;
            float: left;
        }
        #about .access{
            margin-top: 30px;
            padding: 35px 0 50px;
        }
        #about .access h3{
            padding-left: 14px;
            padding-bottom: 30px;
            position: relative;
            top: 0;
        }
        #about .access .access_detail{
            padding: 0;
        }
        #about .access .access_detail > p{
            width: 100%;
            height: 340px;
            margin-top: 35px;
            float: none;
            background: url(../img/about_img.jpg) no-repeat center center;
            background-size: cover;
        }
        #about .access .access_detail > p img{
            display: none;
        }
        #about .access .access_detail .map{
            position: relative;
            left: 0;
            right: 0;
            width: 100%;
        }
        #about .access .access_detail .detail{
            width: 100%;
            height: auto;
            position: relative;
            margin-top: 42px;
            float: none;
        }
        #about .access .access_detail .detail h1 img{
            height: 45px;
            width: auto;
        }
        #about .access .access_detail .detail > p{
            margin-bottom: 20px;
        }
        #about h3+ul{
            padding-top: 30px;
            padding-left:20px;
            margin-top: 0;
        }
        #about h3+ul li+li{
            margin-top: 10px;
        }
    }

/* INTERVIEW */
#interview:before {
    background-image: url(../img/header_7.jpg);
}
#interview > div {
    padding: 0;
}
#interview > div > div {
    max-width: 1080px;
    padding: 0 14px;
    margin: 0 auto;
}
#interview h2 {
    height: 32px;
    margin-top: 65px;
    background: url(../img/interview_h.png) no-repeat left center;
    background-size: contain;
}
#interview header{
    padding: 0 8px;
    background-color: #002d52;
}
#interview header > div{
    max-width: 1016px;
    margin: 45px auto 0;
    padding: 70px 0;
    color: white;
    position: relative;
}
#interview header > div .avatar{
    right: -80px;
    top: -25px;
    position: absolute;
}
#interview header > div h3{
    padding-bottom: 38px;
    font-size: 28px;
    font-weight: normal;
    letter-spacing: 0.05em;
    border-bottom: 1px solid white;
}
#interview header > div ul li{
    margin-top: 38px;
    font-size: 21px;
}
#interview article{
    padding: 0 8px;
}
#interview article > div{
    max-width: 1000px;
    margin: 60px auto 0;
}
#interview article > div > div{
    padding-bottom: 60px;
}
#interview article > div h4{
    margin-bottom: 40px;
    color: #1e4260;
    font-size: 22px;
    letter-spacing: 0.04em;
}
#interview article > div .image{
    margin: 0 0 15px 49px;
    float: right;
}
#interview article > div .image span{
    padding: 10px;
    border: 1px solid #999;
    display: inline-block;
}
#interview article > div .image img{
    vertical-align: bottom;
}
#interview article > div p{
    font-size: 17px;
    line-height: 29px;
}
#interview article > div p.credit{
    font-size: 80%;
    line-height: 160%;
    color: #AAA;
    padding-top: 2em;
/*     text-align: right; */
}
#interview article .caption{
    color: #999;
}
#interview article aside.recommend{
    margin-top: 35px;
}
#interview article aside.recommend article{
    padding: 25px;
    border: 1px solid #a5a5a5;
}
#interview article aside.recommend article + article{
    margin-top: 20px;
}
#interview article aside.recommend article p:first-child{
    margin: 0;
    font-size: 17px;
    line-height: 1em;
}
#interview article aside.recommend article p{
    margin-top: 22px;
    font-size: 15px;
    line-height: 27px;
}
#interview article aside.recommend article h5{
    margin-top: 22px;
    font-size: 18px;
}
#interview article a{
    word-break: break-all;
}
#interview footer{
    max-width: 1080px;
    margin: 0 auto;
    padding: 55px 0 100px;
    border-top: 1px solid #999;
}
#interview footer > div{
    width: 730px;
    margin: 0 auto;
    overflow: hidden;
}
#interview footer > div .avatar{
    margin-right: 50px;
    float: left;
}
#interview footer > div h5{
    padding: 18px 0 24px;
    font-size: 14px;
}
#interview footer > div h5 + div{
    margin-right: 25px;
}
#interview footer > div > div > div{
    float: left;
}
#interview footer > div > div > div p{
    margin-bottom: 1em;
    font-size: 13px;
}
#interview footer > div > div > div p .break{
    margin-top: 1em;
    display: block;
}

    @media (max-width:980px) {
        #interview h2{
            height: 47px;
            margin-top: 40px;
            background-image: url(../img/interview_h_sp.png);
            background-position: center center;
        }
        #interview header{
            
        }
        #interview header > div{
            padding: 0 0 33px;
        }
        #interview header > div .avatar{
            width: calc(100% + 16px);
            margin-left: -8px;
            text-align: center;
            position: relative;
            top: 0;
            right: 0;
        }
        #interview header > div .avatar img{
            max-width: 100%;
            height: auto;
        }
        #interview header > div h3{
            margin-top: 25px;
            padding-bottom: 20px;
            text-align: center;
            font-size: 21px;
        }
        #interview header > div ul li{
            margin-top: 22px;
            padding-left: 1.3em;
            text-indent: -1.3em;
            font-size: 15px;
            line-height: 24px;
        }
        #interview article > div{
            margin-top: 25px;
        }
        #interview article > div > div{
            padding-bottom: 25px;
        }
        #interview article > div h4{
            margin-bottom: 17px;
            font-size: 15px;
            line-height: 24px;
            padding-left: 1.3em;
            text-indent: -1.3em;
        }
        #interview article > div .image{
            margin: 0 0 14px;
            padding: 0;
            text-align: center;
            box-sizing: border-box;
            float: none;
        }
        #interview article > div .image span{
            padding: 7px;
        }
        #interview article > div .image img{
            max-width: 100%;
            height: auto;
        }
        #interview article > div p{
            padding: 0 10px;
            font-size: 14px;
            line-height: 26px;
        }
        #interview article > div p.credit{
            font-size: 11px;
            line-height: 20px;
        }
        #interview article aside.recommend{
            margin-top: 20px;
        }
        #interview article aside.recommend article{
            padding: 15px 10px;
        }
        #interview article aside.recommend article + article{
            margin-top: 10px;
        }
        #interview article aside.recommend article p:first-child{
            font-size: 14px;
            line-height: 20px;
        }
        #interview article aside.recommend article p{
            margin-top: 10px;
            padding: 0;
            font-size: 12px;
            line-height: 20px;
        }
        #interview article aside.recommend article .sp_break{
            display: block;
        }
        #interview article aside.recommend article h5{
            margin-top: 10px;
            font-size: 15px;
            line-height: 20px;
        }
        #interview footer{
            padding: 25px 12px;
        }
        #interview footer > div .avatar{
            margin-right: 15px;
        }
        #interview footer > div .avatar img{
            width: 100px;
            height: auto;
        }
        #interview footer > div .avatar + div{
            float: left;
        }
        #interview footer > div h5{
            padding: 2px 0 13px;
            color: #888787;
            font-size: 8px;
        }
        #interview footer > div > div > div{
            float: none;
        }
        #interview footer > div > div > div p{
            font-size: 7.5px;
        }
        #interview footer > div > div > div p .break{
            display: inline;
            margin: 0;
        }
    }

/* BUSINESS */
#business > div > div{
    max-width: 1080px;
    margin: 0 auto;
}
#business > div{
    padding: 0 14px;
}
#business h2{
    height: 32px;
    margin-top: 65px;
    background: url(../img/business_h.png) no-repeat left center;
    background-size: contain;
}
#business .upper{
    margin-top: 85px;
    padding: 0 26px;
    overflow: hidden;   
}
#business .upper > div{
    width: calc(50% - 28px);
    max-width: 485px;
    height: 298px;
    margin: 0 14px 28px;
    padding: 19px 35px 0;
    border: 1px solid #002d52;
    box-sizing: border-box;
    position: relative;
    float: left;
}
#business .upper > div p:first-child{
    padding-left: 14px;
    color: #cebba6;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    letter-spacing: 0.04em;
}
#business .upper > div h3{
    padding: 11px 0 18px 14px;
    font-size: 24px;
    line-height: 28px;
    color: #002d52;
    letter-spacing: 0.04em;
    position: relative;
}
#business .upper > div h3:before{
    content: "";
    width: 10px;
    position: absolute;
    left: -18px;
    top: 0;
    bottom: 0;
    background: url(../img/el_tri.png) no-repeat center 18px;
    background-size: contain;
}
#business .upper > div h3:after{
    content: '';
    height: 2px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: url(../img/el_dot2.png) repeat-x left center;
    background-size: contain;
    display: block;
}
#business .upper > div ul{
    padding-left: 15px;
    margin-top: 28px;
}
#business .upper > div ul li{
    padding-left: 15px;
    margin-bottom: 18px;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.1em;
    background: url(../img/el_nakaguro.png) no-repeat left center;
    background-size: 5px auto;
}
#business .upper > div ul + p{
    position: absolute;
    right: 15px;
    bottom: 15px;
}

#business .upper > div ul + p a{
    display: block;
    width: 88px;
    height: 35px;
    padding-left: 0.1em;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    line-height: 33px;
    text-align: center;
    letter-spacing: 0.1em;
    border: 1px solid #002d52;
    box-sizing: border-box;
    border-radius: 4px;
    transition: background 300ms ease, color 300ms ease;
}

#business .upper > div ul + p a:hover{
    background: #002d52;
    color: #FFF;
}

#business article{
    padding: 79px 0 89px;
    background: url(../img/el_dot.png) repeat-x left top;
    background-size: 4px auto;
}
#business article header p:first-child{
    color: #cebba6;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    letter-spacing: 0.04em;
}
#business article header h3{
    margin-top: 12px;
    font-size: 30px;
    color: #002d52;
    letter-spacing: 0.02em;
}
#business article header h3 + p{
    margin-top: 50px;
    font-size: 17px;
    line-height: 32px;
    color: #002d52;
    font-weight: bold;
}
#business article header + div{
    margin-top: 50px;
}
#business article dl{
    margin-top: 2px;
    overflow: hidden;
    padding: 20px 0;
    background-color: #f9f6f3;
}
#business article dl dt,
#business article dl dd{
    height: 110px;
    display: table;
    float: left;
    padding: 0 20px;
    box-sizing: border-box;
    line-height: 24px;
}
#business article dl dt{
    width: 280px;
    text-align: center;
    font-weight: bold;
}
#business article dl dd{
    width: calc(100% - 280px);
    padding-right: 32px;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.02em;
    box-sizing: border-box;
}
#business article dl dt > div,
#business article dl dd > div{
    height: inherit;
    display: table-cell;
    vertical-align: middle;
}

#business .support{
    padding: 50px 0 90px;
    background-color: #f9f6f3;
}
#business .support h3{
    font-size: 25px;
    color: #002d52;
    text-align: center;
}
#business .support h3 > span{
    margin-bottom: 15px;
    color: #cebba6;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    letter-spacing: 0.04em;
    display: block;
}
#business .support h3 + div{
    max-width: 1040px;
    margin: 50px auto 0;
    overflow: hidden;
}
#business .support h3 + div > div{
    width: calc(50% - 40px);
    margin: 0 20px;
    font-size: 18px;
    line-height: 30px;
    font-weight: bold;
    text-align: center;
    float: left;
}
#business .support h3 + div > div img{
    max-width: 100%;
    height: auto;
}
#business .support h3 + div > div p + p{
    margin-top: 20px;
}
    @media (max-width:768px) {
        #business h2{
            height: 47px;
            margin-top: 40px;
            background-image: url(../img/business_h_sp.png);
            background-position: center center;
        }
        #business .upper{
            padding: 0 0 38px;
            margin-top: 40px;
        }
        #business .upper > div:first-child{
            border-top: 1px solid #002d52;
        }
        #business .upper > div{
            width: 100%;
            max-width: 100%;
            height: auto;
            padding: 19px 10px;
            margin: 0;
            border-top: none;
        }
        #business .upper > div p:first-child{
            padding-left: 5px;
        }
        #business .upper > div h3{
            padding-left: 5px;
            font-size: 22px;
        }
        #business .upper > div h3:before{
            content: none;
        }
        #business .upper > div ul li{
            
        }
        #business .upper > div ul + p{
            display: none;
        }
        #business article{
            padding: 50px 0 35px;
        }
        #business article header h3{
            font-size: 25px;
            line-height: 30px;
            letter-spacing: 0;
        }
        #business article header h3 + p{
            margin-top: 35px;
            font-size: 14px;
            line-height: 25px;
        }
        #business article header + div{
            margin-top: 35px;
        }
        #business article dl dt, 
        #business article dl dd{
            height: auto;
            float: none;
        }
        #business article dl dt > div, 
        #business article dl dd > div{
            display: block;
        }
        #business article dl dt{
            width: 100%;
            padding: 17px 0 27px;
        }
        #business article dl dd{
            width: 100%;
            min-height: 150px;
            padding: 0 13px;
            font-size: 12px;
            line-height: 20px;
        }
        #business .support{
            padding: 40px 8px 0;
        }
        #business .support h3 + div{
            margin-top: 40px;
        }
        #business .support h3 + div > div{
            width: 100%;
            margin: 0 auto 35px;
            font-size: 14px;
            line-height: 24px;
        }
    }

/* COMMENT */
#comment{
    padding-bottom: 120px;
}
#comment h2{
    height: 32px;
    margin-top: 65px;
    background: url(../img/comment_h.png) no-repeat left center;
    background-size: contain;
}
#comment > div > div{
    max-width: 1080px;
    margin: 0 auto;
}
#comment article{
    padding: 55px 67px 45px;
    background: url(../img/el_dot.png) repeat-x left bottom;
    background-size: 4px auto;
    overflow: hidden;
}
#comment article p.title{
    padding: 13px 14px;
    font-size: 18px;
    color: #002d52;
    font-weight: bold;
    text-align: center;
    position: relative;
}
#comment article p.title:before,
#comment article p.title:after{
    content: '';
    width: 13px;
    position: absolute;
    top: 0;
    bottom: 0;
    display: block;
}
#comment article p.title:before{
    left: 0;
    background: url(../img/el_kl.png) no-repeat left top;
    background-size: contain;
}
#comment article p.title:after{
    right: 0;
    background: url(../img/el_kr.png) no-repeat right bottom;
    background-size: contain;
}
#comment article p.title + div{
    margin-top: 32px;
    padding: 0 10px;
}
#comment article p.title + div p{
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0.05em;
}
#comment article p.title + div p span{
    font-size: 12px;
}
#comment article .lay2{
    display: none;
}
#comment article:nth-child(odd) .lay1 > div:first-child{
    width: 545px;
    float: left;
}
#comment article:nth-child(odd) .lay1 > div:first-child + div{
    width: calc(100% - 545px);
    max-width: 400px;
    padding: 0 13px 0 67px;
    box-sizing: border-box;
    float: left
}
#comment article .lay1 > div:first-child + div .name{
    margin-top: 15px;
    font-size: 13px;
    font-weight: bold;
    line-height: 20px;
}
#comment article .photo{
    text-align: center;
}
#comment article .photo img{
    width: 100%;
    max-width: 320px;
    height: auto;
    border: 1px solid #EEE;
    box-sizing: border-box;
}

#comment article:nth-child(even) .lay1 > div:first-child{
    width: 545px;
    float: right;
}
#comment article:nth-child(even) .lay1 > div:first-child + div{
    width: calc(100% - 545px);
    max-width: 400px;
    padding: 0 67px 0 13px;
    box-sizing: border-box;
    float: right;
}
#comment article:nth-child(even) .lay1 > div:first-child + div img{
    max-width: 100%;
    height: auto;
}
    @media (max-width:940px) {
        #comment h2{
            height: 47px;
            margin-top: 38px;
            background-image: url(../img/comment_h_sp.png);
            background-position: center center;
        }
        #comment article .lay1{
            display: none;
        }
        #comment article .lay2{
            display: block;
        }
        #comment article{
            padding: 34px 0;
        }
        #comment article p.title{
            margin: 0 8px;
            padding: 0 14px;
            font-size: 16px;
            line-height: 25px;
        }
        #comment article p.name{
            margin: 15px 0;
/*             padding-left: 18px; */
            font-size: 15px;
            font-weight: bold;
            text-align: center;
        }
        #comment article .photo{
            margin-bottom: 20px;
        }
        #comment article .lay2 > div{
            padding: 20px 8px 0;
            font-size: 12px;
            line-height: 21px;
        }
    }


/* RECRUIT */
#recruit > div > div{
    max-width: 1080px;
    margin: 0 auto;
}
#recruit h2{
    height: 32px;
    margin-top: 60px;
    background: url(../img/recruit_h.png) no-repeat left center;
    background-size: contain;
}
#recruit h3{
    font-size: 20px;
    letter-spacing: 0.18em;
    color: #002d52;
}
#recruit article{
    margin-top: 80px;
    padding: 0 80px 70px;
}
#recruit article h3 + div{
    margin-top: 10px;
    overflow: hidden;
}
#recruit article h3 + div > p{
    width: 31%;
    float: right;
}
#recruit article h3 + div > p img{
    max-width: 100%;
    height: auto;
}
#recruit article h3 + div > div{
    width: 63%;
    float: left;
}
#recruit article h3 + div > div p{
    margin-top: 30px;
    font-size: 16px;
    line-height: 28px;
}

#recruit p.not{
    padding: 85px 0 0;
    text-align: center;
    color: #999;
    font-size: 16px;
}

#recruit .flow{
    padding: 58px 80px 85px;
    background: url(../img/el_dot.png) repeat-x left top;
    background-size: 4px auto;
}
#recruit .chart{
    margin-top: 59px;
    padding-left: 18px;
}
#recruit .chart ul{
    overflow: hidden;
}
#recruit .chart li{
    float: left;
}
#recruit .chart li + li{
    padding-left: 73px;
    background: url(../img/recruit_el_arr.png) no-repeat 30px center;
    background-size: 15px auto;
}
#recruit .chart li span{
    height: 63px;
    padding: 18px 25px;
    font-size: 20px;
    color: #002d52;
    font-weight: bold;
    text-align: center;
    box-sizing: border-box;
    background: url(../img/el_stripe.png);
    background-size: 8px;
    border: 3px solid #002d52;
    display: block;
}
#recruit .chart li:first-child span{
    padding: 18px 15px;
}
#recruit .chart li em{
    margin-top: 13px;
    font-size: 13px;
    text-align: center;
    font-style: normal;
    display: block;
}

#recruit .form{
    margin-top: 55px;
}
#recruit .form .tab{
    overflow: hidden;
}
#recruit .form .tab > p{
    width: 50%;
    padding:19px 0 18px;
    color: white;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    float: left;
    background-color: #eee1da;
    cursor: pointer;
    letter-spacing: 0.06em;
}
#recruit .form .tab > p.active{
    background-color: #002d52;
    cursor: default;
}
#recruit .form .content > div{
    padding: 0 55px 85px;
    border: 3px solid #002d52;
    display: none;
}
#recruit .form .content > div.active{
    display: block;
}
#recruit .form h4{
    padding: 55px 0 12px;
    margin-bottom: 27px;
    font-size: 20px;
    letter-spacing: 0.12em;
    border-bottom: 3px solid #cebba6;
}
#recruit .form dl{
    margin-top: 2px;
    font-size: 15px;
    line-height: 20px;
    overflow: hidden;
    background-color: #f3f2f2;
}
#recruit .form dl > *{
    padding: 12px 0 10px;
    float: left;
}
#recruit .form dl > dt{
    width: 165px;
    font-weight: bold;
    text-align: center;
}
#recruit .form dl > dd{
    width: calc(100% - 167px);
    padding-left: 35px;
    border-left: 2px solid white;
    box-sizing: border-box;
}
#recruit .form .item{
    margin: 30px 60px;
    padding-left: 220px;
    font-size: 16px;
    line-height: 28px;
    position: relative;
}
#recruit .form .item label{
    vertical-align: top;
}
#recruit .form .item span.title{
    width: 220px;
    font-weight: bold;
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}
#recruit .form .item span.title + span{
    width: 100%;
    display: inline-block;
}
#recruit .form .item input{
    width: 100%;
    line-height: 28px;
    box-sizing: border-box;
    border: 1px solid #737373;
    font-size: 16px;
}
#recruit .form .wpcf7-form-control-wrap.age .wpcf7-list-item {
    width: 100px;
    margin: 0;
    display: inline-block;
}
#recruit .form .wpcf7-form-control-wrap.age input{
    width: auto;
}
#recruit .form textarea{
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #737373;
}
#recruit .form .item span.require:after{
    content: '必須';
    padding: 3px;
    margin-left: 8px;
    font-size: 10px;
    line-height: 1em;
    color: white;
    font-weight: 500;
    background-color: #cf9b58;
    display: inline-block;
}
#recruit .form form > p{
    text-align: center;
} 
#recruit .form .wpcf7-submit{
    width: 130px;
    height: 40px;
    margin: 40px auto 0;
    line-height: 37px;
    font-size: 16px;
    font-weight: bold;
    color: white;
    background-color: #002d52;
    border: none;
    border-radius: 5px;
}
.wpcf7-response-output{
    display: none !important;
}
    @media (max-width:1070px) {
        #recruit .chart{
            padding-left: 0;
        }
        #recruit .chart ul{
            width: 292px;
            margin: 0 auto;
        }
        #recruit .chart li span{
            width: 292px !important;
            font-size: 17px;
        }
        #recruit .chart li:first-child + li{
            padding-top: 75px;
            background-position: center 20px;
        }
        #recruit .chart li + li{
            padding: 100px 0 0;
            background: url(../img/recruit_el_arr_sp.png) no-repeat center 40px;
            background-size: 46px auto;
        }
    }
    @media (max-width:768px) {
        #recruit h2{
            height: 47px;
            margin-top: 40px;
            background-image: url(../img/recruit_h_sp.png);
            background-position: center center;
        }
        #recruit article{
            margin-top: 50px;
            padding: 0 5px 50px;
        }
        #recruit h3{
            text-align: center;
        }
        #recruit article h3 + div{
            margin-top: 35px;
        }
        #recruit article h3 + div > p{
            width: 100%;
            float: none;
            text-align: center;
        }
        #recruit article h3 + div > div{
            width: 100%;
            margin-top: 10px;
        }
        #recruit article h3 + div > div p{
            margin-top: 22px;
            font-size: 12px;
            line-height: 21px;
        }
        #recruit p.not{
            padding: 30px 0;
        }
        #recruit .flow{
            padding: 50px 0 30px;
        }
        #recruit .chart{
            padding: 0;
            margin-top: 50px;
        }
        #recruit .form .tab > p{
            font-size: 15px;
        }
        #recruit .form .content > div{
            padding: 0 20px 50px;
        }
        #recruit .form h4{
            padding-top: 33px;
            font-size: 15px;
        }
        #recruit .form dl{
            margin-top: 15px;
            font-size: 13px;
            background-color: transparent;
        }
        #recruit .form dl > *{
            float: none;
        }
        #recruit .form dl > dt{
            padding: 0;
            text-align: left;
        }
        #recruit .form dl > dd{
            width: 100%;
            padding: 12px 0;
        }
        #recruit .form .item{
            margin: 35px 0;
            padding: 0;
            font-size: 13px;
        }
        #recruit .form .item span.title{
            position: relative;
            margin-bottom: 20px;
            line-height: 13px;
        }
        #recruit .form .wpcf7-submit{
            margin-top: 15px;
        }
    }

/* NEWS */
#news h2{
    height: 31px;
    margin-top: 60px;
    background: url(../img/news_h.png) no-repeat left center;
    background-size: contain;
}
#news > div > div{
    max-width: 1080px;
    margin: 0 auto;
    padding-bottom: 100px;
}
#news .news_wrapper{
    max-width: 920px;
    padding-right: 160px;
    position: relative;
}
#news article{
    padding: 55px 40px 50px;
    border-bottom: 3px solid #cebba6;
}
#news article header time{
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    letter-spacing: 0.05em;
    color: #cebba6;
    display: block;
}
#news article header h3{
    margin-top: 24px;
    font-size: 20px;
    line-height: 34px;
    letter-spacing: 0.05em;
}
#news article header + div{
    margin-top: 50px;
    font-size: 13px;
    line-height: 26px;
    letter-spacing: 0.04em;
}
#news article header + div p + p{
    margin-top: 1em;
}
#news article a{
    font-size: 14px;
    text-decoration: underline;
}
#news article > p{
    margin-top: 50px;
    font-weight: bold;
}
#news .archive{
    width: 100px;
    font-family: "Montserrat", sans-serif;
    color: #002d52;
    position: absolute;
    top: -20px;
    right: 0px;
}
#news .archive > p{
    padding-bottom: 20px;
    margin-bottom: 20px;
    font-size: 15px;
    border-bottom: 2px solid #002d52;
}
#news .archive > div{
    font-size: 14px;
}
#news .archive > div > p{
    display: none;
}
#news .archive ul li{
    margin-bottom: 11px;
    letter-spacing: 0.05em;
}
#news .wp-pagenavi{
    margin-top: 48px;
    font-size: 15px;
    color: #002d52;
    font-family: "Montserrat", sans-serif;
    letter-spacing: 0.1em;
    text-align: center;
}
#news .wp-pagenavi .previouspostslink{
    padding: 7px 0 7px 35px;
    margin-right: 50px;
    background: url(../img/el_arr.png) no-repeat left center;
    background-size: contain;
    display: inline-block;
}
#news .wp-pagenavi .nextpostslink{
    padding: 7px 35px 7px 0;
    margin-left: 50px;
    background: url(../img/el_arr2.png) no-repeat right center;
    background-size: contain;
    display: inline-block;
}
    @media (max-width:768px) {
        #news h2{
            height: 46px;
            margin-top: 35px;
            background-image: url(../img/news_h_sp.png);
            background-position: center center;
        }
        #news .bread{
            padding-left: 14px;
        }
        #news > div{
            padding: 0;
        }
        #news > div > div{
            padding-bottom: 0;
        }
        #news .news_wrapper{
            padding: 0;
        }
        #news article{
            padding: 40px 0;
            margin: 0 14px;
        }
        #news article header h3{
            font-size: 16px;
            line-height: 25px;
        }
        #news article header + div{
            margin-top: 30px;
            line-height: 21px;
            font-size: 12px;
        }
        #news article > p{
            margin-top: 20px;
            font-size: 12px;
        }
        #news .archive{
            position: relative;
            width: 100%;
            margin: 38px -14px 0;
            padding: 0 14px;
            text-align: center;
            top: 0;
        }
        #news .archive > p{
            display: none;
        }
        #news .archive > div > p{
            padding: 20px 0;
            display: block;
            background-color: #f3ebe7;
        }
        #news .archive > div > ul+p{
            border-top: 1px solid #FFF;
        }
        #news .archive ul li{
            margin: 0;
        }
        #news .archive ul li+li{
            border-top: 1px solid #f3ebe7;
        }
        #news .archive ul li a{
            display: block;
            padding: 20px 0;
        }
    }


/* CONTACT */
#contact > div > div{
    max-width: 1080px;
    margin: 0 auto;
}
#contact h2 {
    height: 32px;
    margin-top: 65px;
    background: url(../img/contact_h.png) no-repeat left center;
    background-size: contain;
}
#contact h2 + div{
    padding: 80px 80px 90px;
}
#contact h3{
    padding-bottom: 15px;
    font-size: 22px;
    color: #002d52;
    border-bottom: 3px solid #cebba6;
}
#contact .form .item{
    margin: 30px 60px;
    padding-left: 220px;
    font-size: 16px;
    line-height: 28px;
    color: #002d52;
    position: relative;
}
#contact .form .item label{
    vertical-align: top;
}
#contact .form .item span.title{
    width: 220px;
    font-weight: bold;
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}
#contact .form .item span.title + span{
    width: 100%;
    display: inline-block;
}
#contact .form .item input{
    width: 100%;
    line-height: 28px;
    box-sizing: border-box;
    border: 1px solid #737373;
    font-size: 16px;
}
#contact .form textarea{
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #737373;
}
#contact .form .item span.require:after{
    content: '必須';
    padding: 3px;
    margin-left: 8px;
    font-size: 10px;
    line-height: 1em;
    color: white;
    font-weight: 500;
    background-color: #cf9b58;
    display: inline-block;
}
#contact .form form > p{
    text-align: center;
} 
#contact .form .wpcf7-submit{
    width: 130px;
    height: 40px;
    margin: 40px auto 0;
    line-height: 37px;
    font-size: 16px;
    font-weight: bold;
    color: white;
    background-color: #002d52;
    border: none;
    border-radius: 5px;
}
#contact .footer{
    padding: 0 18px 73px;
    background-color: #f9f6f3;
}
#contact .footer > div{
    max-width: 820px;
    text-align: center;
    margin: 0 auto;
}
#contact .footer > div > p{
    padding: 45px 0;
    font-size: 18px;
    font-weight: bold;
}
#contact .footer > div > div{
    padding: 0 30px;
    border: 3px solid #002d52;
    background-color: white;
}
#contact .footer > div > div .phone{
    padding: 33px 0;
    color: #002d52;
    font-size: 28px;
    line-height: 25px;
    font-family: "Montserrat", sans-serif;
    letter-spacing: 0.12em;
}
#contact .footer > div > div .phone:before{
    content: '';
    width: 19px;
    height: 25px;
    margin-right: 10px;
    background: url(../img/icon_phone_b.png) no-repeat center center;
    background-size: contain;
    display: inline-block;
}
#contact .footer > div > div .time{
    padding: 7px 0;
    color: white;
    font-size: 15px;
    letter-spacing: 0.12em;
    background-color: #002d52;
}
#contact .footer > div > div .txt{
    padding: 24px 0;
    font-size: 13px;
}

    @media (max-width:768px) {
        #contact h2{
            height: 46px;
            margin-top: 47px;
            background-image: url(../img/contact_h_sp.png);
            background-position: center center;
        }
        #contact h2 + div{
            padding: 44px 25px 70px;
        }
        #contact .form .item{
            margin: 35px 0;
            padding: 0;
            font-size: 13px;
        }
        #contact .form .item span.title{
            position: relative;
            margin-bottom: 20px;
            line-height: 13px;
        }
        #contact .form .wpcf7-submit{
            margin-top: 15px;
        }
        #contact .footer > div > p{
            padding: 30px 0;
            font-size: 15px;
            line-height: 25px;
        }
        #contact .footer > div > div{
            padding: 0 10px;
        }
        #contact .footer > div > div .phone{
            padding: 25px 0;
            font-size: 20px;
            line-height: 1em;
        }
        #contact .footer > div > div .phone:before{
            width: 15px;
            height: 19px;
        }
        #contact .footer > div > div .time{
            font-size: 13px;
        }
        #contact .footer > div > div .txt{
            font-size: 10px;
            line-height: 20px;
        }
        #about .about-image{
            margin-top: 20px;
        }
        #about .about-image p{
            float: none !important;
            margin-top: 0 !important;
        }
        #about .about-image p:first-child{
            margin: 0 auto 20px !important;
        }
        #about .about-message{
            padding-left: 0;
        }
        #about h3+.about-message{
            margin-top: 20px;
        }
    }



.about-message{
    padding-left: 40px;
    font-size: 14px;
    line-height: 28px;
}

.about-message a{
    text-decoration: underline;
}

.business-table h4{
    color: #002d52;
    font-size: 18px;
    padding: 40px 0 20px;
}

.business-table table{
    width: 100%;
    margin-bottom: 20px;
}

.business-table table th,
.business-table table td{
    font-size: 14px;
    line-height: 22px;
    padding: 10px 20px;
}
.business-table table th{
    background: #002d52;
    color: #FFF;
}

.business-table table th+th{
    border-left: 1px solid #FFF;
}

.business-table table td{
    border-left: 1px solid #EEE;
    border-bottom: 1px solid #EEE;
    text-align: right;
}

.business-table table tbody.align-left td{
    text-align: left;
}

.business-table table tbody.align-left td.number{
    text-align: right;
}

.business-table table tbody{
    border-right: 1px solid #EEE;
}

.business-table .note{
    font-size: 14px;
    line-height: 22px;
    color: #888;
}

.business-table .download{
    margin-top: 20px;
}

.business-table .download a{
    display: inline-block;
    height: 35px;
    padding: 0 20px;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    line-height: 33px;
    letter-spacing: 0.1em;
    border: 1px solid #002d52;
    box-sizing: border-box;
    border-radius: 4px;
    transition: background 300ms ease, color 300ms ease;
    cursor: pointer;
}