/* l-main-visual============================================== */

.l-main-visual{
    width: 100%;
    background-position: center;
    height: calc(100vh - 0px);
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

.l-main-visual__body{
    width: 100%;
    height:auto;
}

.l-main-visua__copyright{
    position: absolute;
    right: 35px;
    top: 4%;
    width: 20px;
    height: 96%;
    z-index:0;
}

.copyright__text{
    z-index: 6;
    height: 96%;
    font-size: 1.2rem;
    text-align: center;
    letter-spacing: .1em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    position: absolute;
    left: 50%;
    margin-left: -10px;
}

.l-main-visua__scroll{
    width: 110px;
    height: 240px;
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #21232b;
}

.scroll-label{
    font-size: 1.4rem;
    color:#FFF;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    position:absolute;
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    left: 50%;
    margin-left:-9%;
    top: 21%;
}

@media all and (-ms-high-contrast: none) {
    .scroll-label{
        margin-left:-4%;
    }
}

.scroll-line.scroll-line {
    width: 3px;
    height: auto;
    margin: 30px auto 0;
    position: absolute;
    left: calc(50% - 1px);
    top: 43%;
    z-index: 1;
}

.scroll-line-ob-container {
    position: relative;
    overflow: hidden;
    width: 3px;
    height: 56px;
}

.scroll-line .ob01 {
    -webkit-animation: scroll-line 2s linear 0s infinite;
    animation: scroll-line 2s linear 0s infinite;
}

.scroll-line .ob02 {
    -webkit-animation: scroll-line-b 2s linear 1s infinite;
    animation: scroll-line-b 2s linear 1s infinite;
}

.scroll-line-ob {
    position: absolute;
    left: 0;
    display: inline-block;
    height: 75%;
    width: 3px;
    background-color: #FFF;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}


@-webkit-keyframes scroll-line {
    0% {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }
    100% {
        -webkit-transform: translateY(150%);
        transform: translateY(150%);
    }

}

@keyframes scroll-line{
    0% {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }
    100% {
        -webkit-transform: translateY(150%);
        transform: translateY(150%);
    }

}

@-webkit-keyframes scroll-line-b {
    0% {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }
    100% {
        -webkit-transform: translateY(150%);
        transform: translateY(150%);
    }

}

@keyframes scroll-line-b{
    0% {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }
    100% {
        -webkit-transform: translateY(150%);
        transform: translateY(150%);
    }

}


/* slider ============================================== */

body.opening-wait {
    overflow: hidden;
}

body.opening-wait #content {
    visibility: hidden;
}

.l-main-visual__keyvisual {
    width: 100vw;
    /*height: 100vh;*/
    position: relative;
    overflow: hidden;
    /*background-color: #d80930;*/
}

.l-main-visual__keyvisual .cover {
    display: block;
    content: "";
    background-color: #d80930;
    width: 150vw;
    height: 100%;
    -webkit-transform: skewX(15deg);
    transform: skewX(15deg);
    position: absolute;
    top: 0;
    right: -25vw;
    z-index: 2;
    outline: 0px none #000;
}

.l-main-visual__keyvisual .cover.is-hide {
    -webkit-transition: width 0.8s cubic-bezier(0.09, 0.34, 0.63, 1);
    transition: width 0.8s cubic-bezier(0.09, 0.34, 0.63, 1);
    width: 0;
}

.l-main-visual__keyvisual .slogan {
    width: 40%;
    line-height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 2;
}
@media screen and (min-width: 1500px){
    .l-main-visual__keyvisual .slogan {
        max-width:  740px;
    }
}
body.menu-open .l-main-visual__keyvisual .slogan{
    display: none;
}

.l-main-visual__keyvisual .slogan .line {
    overflow: hidden;
}

.l-main-visual__keyvisual .slogan .line img[src$=".svg"] {
    width: 100%;
    -webkit-transform: translateY(105%);
    transform: translateY(105%);
}

.l-main-visual__keyvisual .slogan .line:not(:first-child) {
    margin-top: 6.5%;
}

.l-main-visual__keyvisual .slogan .line:last-child {
    margin-top: 5.78%;
}

.l-main-visual__keyvisual .slogan .line.is-active img {
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.09, 0.34, 0.63, 1);
    transition: -webkit-transform 0.4s cubic-bezier(0.09, 0.34, 0.63, 1);
    transition: transform 0.4s cubic-bezier(0.09, 0.34, 0.63, 1);
    transition: transform 0.4s cubic-bezier(0.09, 0.34, 0.63, 1), -webkit-transform 0.4s cubic-bezier(0.09, 0.34, 0.63, 1);
    -webkit-transform: translateY(0);
    transform: translateY(0);
    display: block;
}

.l-main-visual__keyvisual .slider {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 0;
}

/*.l-main-visual__keyvisual .slider:after {*/
/*    display: block;*/
/*    content: "";*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    background-image: url(../images/slide-cover.png);*/
/*    -webkit-background-size: 2px 2px;*/
/*    background-size: 2px 2px;*/
/*    position: absolute;*/
/*    top: 0;*/
/*    left: 0;*/
/*    z-index: 2;*/
/*}*/

.l-main-visual__keyvisual .slider .slide {
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    left: -25vw;
    z-index: 0;
    -webkit-transform: skewX(15deg);
    transform: skewX(15deg);
    outline: 0px none #000;
    overflow: hidden;
}

.l-main-visual__keyvisual .slider .slide .photo {
    display: block;
    position: absolute;
    top: 0;
    left: 25vw;
    width: 100vw;
    height: 100%;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transform: skewX(-15deg);
    transform: skewX(-15deg);
}

.l-main-visual__keyvisual .slider .slide .photo > span {
    width: calc(100% + 100px);
    height: 100%;
    /*-webkit-background-size: cover;*/
    /*background-size: cover;*/
    /*background-position: 50% 50%;*/
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
    outline: 0 none #000;
    background-size: 100% 100%;
}

.l-main-visual__keyvisual .slider .slide .photo > span.slide-pc {
    display: block;
}
.l-main-visual__keyvisual .slider .slide .photo > span.slide-sp {
    display: none;
}

.l-main-visual__keyvisual .slider .slide.is-active {
    -webkit-transition: width 0.8s cubic-bezier(0.09, 0.34, 0.63, 1);
    transition: width 0.8s cubic-bezier(0.09, 0.34, 0.63, 1);
    width: 150vw;
}

.l-main-visual__keyvisual .slider .slide.is-active .photo > span {
    -webkit-transition: -webkit-transform 7s linear;
    transition: -webkit-transform 7s linear;
    transition: transform 7s linear;
    transition: transform 7s linear, -webkit-transform 7s linear;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.l-main-visual__keyvisual .slider-navi {
    list-style: none;
    padding: 0;
    position: absolute;
    /*right: 40px;*/
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    bottom: 30px;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.l-main-visual__keyvisual .slider-navi li {
    width: 26px;
    height: 26px;
    cursor: pointer;
    position: relative;
    line-height: 1;
}

.l-main-visual__keyvisual .slider-navi li:not(:last-child) {
    margin-right: 18px;
}

.l-main-visual__keyvisual .slider-navi li .num {
    font-size: 12px;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.8);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.l-main-visual__keyvisual .slider-navi li svg {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.l-main-visual__keyvisual .slider-navi li svg .circle {
    fill: none;
    stroke: #fff;
    stroke-width: 1px;
    stroke-linecap: round;
    stroke-dashoffset: 246;
    stroke-dasharray: 82 82;
}

.l-main-visual__keyvisual .slider-navi li svg .circle {
    opacity: 0;
    stroke-dashoffset: -75;
    transition: stroke-dashoffset .05s linear, opacity .5s ease-in;
}
.l-main-visual__keyvisual .slider-navi li.is-current svg .circle {
    opacity: 1;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 5s linear;
}

.l-main-visual__keyvisual .slider-navi li.is-excurrent svg .circle {
    /*opacity: 0;*/
}

.l-main-visual__keyvisual .slider-navi li.is-current .num {
    color: #fff;
}


/* p-top-column============================================== */

.p-top-column{
    position:relative;
    padding:7% 0 0 0;
    /*overflow: hidden;*/
}

.p-top-column__body{
    width: 100%;
    max-width: 1800px;
    padding: 0 4.55%;
    margin:0 auto;
    position:relative;
}

.p-top-column__body::after {
    width: 58%;
    height: 58%;
    background: url(../images/new-article.svg) center center no-repeat;
    top: -30%;
    right: 0;
    display: block;
    z-index: -1;
    position: absolute;
    content: '';
}

.p-top-column__title,
.p-single-column__title{
    left: -18px;
    top: 50px;
    color: #151515;
    font-size: 1.2rem;
    position:absolute;
}
.p-top-column__title span,
.p-single-column__title span {
    display: inline-block;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

/* new============== */

.p-top-column__new,
.p-top-column__lst{
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.p-top-column__lst{
    margin-top: 4%;
}

.card__item,
.p-top-column__lst.card__item{
    overflow:hidden;
}

.p-top-column__new .card__thumb-inner,
.p-top-column__lst .card__thumb,
.p-single-column__lst .card__thumb-inner{
    width: 100%;
    height:auto;
    display:block;
    /*box-shadow: 10px 15px 35px -5px rgba(18,18,19,.25);
    transition: box-shadow .2s ease-in-out;*/
}


.p-top-column__new .card__thumb-inner,
.p-single-column__new .card__thumb-inner {
    display: block;
    width: 100%;
    height: auto;
    padding:50% 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    transform: translate(0%,0%) scale(1);
    transition: all .7s cubic-bezier(.24,.45,.39,.95);
    overflow:hidden;
}

.card__thumb {
    overflow: hidden;
}

.card__thumb-inner {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

/*.hover a:hover .card__thumb .card__thumb-inner{
	transform: translate(0%,0%) scale(1.02);
	transition: all .7s cubic-bezier(.24,.45,.39,.95);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}*/

a .card__thumb img {
    transform: translate(0%,0%) scale(1);
    transition: all .7s cubic-bezier(.24,.45,.39,.95);
}

/*.hover a:hover .card__thumb img {
	transform: translate(0%,0%) scale(1.02);
	transition: all .7s cubic-bezier(.24,.45,.39,.95);
}
*/

.card__detail{
    padding: 2.4% 5.4% 4.4% 5.4%;
    position:relative;
    cursor: pointer;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    overflow: hidden;
}

.hover a:hover .card__detail{
    color: #FFF;
}

.card__detail::before {
    position: absolute;
    top: 0;
    left: -5%;
    z-index: -1;
    content: '';
    width: 110%;
    height: 180%;
    background: #d80930;
    /*background:#e53e46;*/
    transform-origin: left bottom;
    transform: skewY(-10deg) scale(1, 0);
    transition: transform .7s;
}

.hover a:hover .card__detail::before{
    transform-origin: left top;
    transform: skewY(-10deg) scale(1, 1);
}


.card__item .card__detail::after {
    width: 62%;
    height: 62%;
    background: url(../images/card__num01.svg) center center no-repeat;
    bottom: 7%;
    right: -50px;
    display: block;
    z-index: -1;
    position: absolute;
    content: '';
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.p-top-column__lst .card__item .card__detail::after {
    right: -24px;
}

.hover a:hover .card__detail::after {
    opacity:0.1;
    content: '';
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.card__item:nth-of-type(2n) .card__detail::after{
    background: url(../images/card__num02.svg) center center no-repeat;
}
.card__item:nth-of-type(3n) .card__detail::after{
    background: url(../images/card__num03.svg) center center no-repeat;
}
.p-top-column__lst .card__detail::after{
    background: url(../images/card__num04.svg) center center no-repeat;
}
.p-top-column__lst .card__item:nth-of-type(2n) .card__detail::after{
    background: url(../images/card__num05.svg) center center no-repeat;
}
.p-top-column__lst .card__item:nth-of-type(3n) .card__detail::after{
    background: url(../images/card__num06.svg) center center no-repeat;
}
.p-top-column__lst .card__item:nth-of-type(4n) .card__detail::after{
    background: url(../images/card__num07.svg) center center no-repeat;
}

.card__meta{
    line-height: 1;
    vertical-align: middle;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 2.2% auto 0 auto;
}

.meta__cat,
.meta__new{
    border-color: #FFF;
    background: 0 0;
    color: #ea5550;
    position: relative;
    display: inline-block;
    padding: 4px 8px 3px 8px;
    vertical-align: top;
    border: 1px solid #ea5550;
    border-radius: 20px;
    line-height: 1.3;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    font-size: 1.1rem;
    margin-right: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    max-height: 22px;
    overflow: hidden;
}

.meta__cat{
    letter-spacing:-0.5px;
}

.meta__new{
    background-color: #e53e46;
    color: #FFF;
    border: none;
    padding: 5px 6px 2px 6px;
}

.card__title,
.p-top-column__lst .card__title{
    font-size: 2rem;
    line-height:1.3;
    color:#151515;
    margin-top:3%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    max-height: 52px;
    height: 52px;
    overflow:hidden;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.p-top-column__lst .card__title{
    font-size: 1.8rem;
    line-height:1.4;
    max-height: 50px;
    height: 50px;
}

.card__title br{
    display: none;
}

.hover .card__item a:hover .card__title{
    color: #FFF;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.card__author-unit{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    color: #666;
    margin-top: 13px;
}

.card__author{
    vertical-align: middle;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: table;
}

.author__icon,
.author__icon img{
    display: block;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    /*box-shadow: 0 2px 6px rgba(0,0,0,.2);*/
    margin: 0% 10px 0 0;
}

.author__name{
    font-size: 1.2rem;
    display: table-cell;
    vertical-align: middle;
}

.card__day{
    font-size:1.1rem;
    margin-left: auto;
    color:#6b757c;
    font-weight: 400;
}

.hover .card__item a:hover .author__name,
.hover .card__item a:hover .card__day{
    color: #FFF;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.card__item{
    width: 33.3%;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.p-top-column__lst .card__item{
    width: 25%;
}

.hover .card__item:hover {
    box-shadow: 0 10px 20px 1px rgba(0,0,0,0.35);
    transform: translate(0, -15px);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    z-index: 1;
}
.hover .p-top-how__lst .card__item:hover {
    box-shadow: none;
}

/* p-top-service============================================== */

.p-top-service{
    position:relative;
    padding:6% 0 8% 0;
    background-color: #272931;
    margin: 4% 0 0 0;
}

.p-top-service__body{
    width: 100%;
    max-width: 1800px;
    margin:0 auto;
    padding: 0 4.55%;
    position:relative;
}

.p-top-service__body::after {
    width: 54%;
    height: 54%;
    background: url(../images/service_bg.svg) center center no-repeat;
    top: -15%;
    right: 0;
    display: block;
    z-index: 0;
    position: absolute;
    content: '';
}

.p-top-service__title{
    color: #FFF;
    font-size: 3rem;
    letter-spacing: .2em;
}

.p-top-service .swiper-wrapper{
    flex-wrap: wrap;
    justify-content: space-between;
}

.p-top-service__unit{
    width: 100%;
    height:auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    margin: 1.8% 0 0 0;
    z-index:1;
    overflow:visible;
}

.p-top-service__unit-lst{
    width: 47%;
    height:auto;
    position:relative;
    margin: 0 0 6% 0
}

.p-top-service__unit-lst:nth-of-type(2n){
    margin: 6% 0 0 0;
}

.service__thmub{
    width: 100%;
    height:auto;
    position:relative;
    z-index:1;
    box-shadow: 0 22px 59px -10px rgba(0,0,0,.7);
}

.service__thumb-inner{
    position:absolute;
    left:0;
    right:0;
    margin:auto;
    top:50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    text-align: center;
}

.service__num,
.service__icon,
.service__index{
    font-size: 1.5rem;
    margin: 2% auto 0 auto;
    display: block;
    color: #FFF;
}

.service__num{
    margin:0;
}

.service__icon{
    width: 11%;
}

.service-lst02 .service__icon{
    width: 10%;
}

.service-lst03 .service__icon{
    width: 8%;
}

.service-lst04 .service__icon{
    width: 8.6%;
}

.service__index{
    font-size: 1.7rem;
    letter-spacing: .1em;
}

.service__text{
    width: 100%;
    margin-top: 3.2%;
    position: relative;
    z-index: 1;
}

.service__text h3{
    font-size: 1.7rem;
    color: #FFF;
    position:relative;
}

.service__text h3:after{
    content:'';
    position:absolute;
    width: 10px;
    height:10px;
    background-color: #ea5550;
    left:-10px;
    top:-6px;
    border-radius: 50%;
}

.service__read{
    font-size: 1.4rem;
    color: #dcdcdc;
    line-height:1;
    margin:1.2% 0 0 0;
}

.service-lst__bg-num {
    width: 16%;
    height: auto;
    position: absolute;
    right: 0;
    bottom: -3%;
    z-index: 0;
}

.s_num{
    fill:#21232b;
}


/* p-top-how============================================== */

.p-top-how{
    position:relative;
    padding:0% 0 8% 0;
    margin: 5% 0 0 0;
    overflow:hidden;
}

.p-top-how:before {
    background-color: #ea5550;
    width: 100%;
    height: 60%;
    z-index: 0;
    bottom:0;
    position: absolute;
    content: '';
}

.p-top-how:after {
    background-color: #e53e46;
    width: 900px;
    height:900px;
    z-index: 0;
    bottom:-20%;
    right: -20%;
    position: absolute;
    content: '';
    border-radius: 50%;
}
.p-top-how__body{
    width: 100%;
    max-width: 1800px;
    margin:0 auto;
    padding: 0 4.55%;
    z-index: 1;
    position: relative;
}

.p-top-how__body:before {
    background-color: #FFF;
    width: 120%;
    height: 40%;
    z-index: 1;
    top: 0;
    position: absolute;
    content: '';
}

@media screen and (min-width: 2200px) {
    .p-top-how:after {
        right: -3%;
    }
    .p-top-how__body:before {
        height: 52%;
    }
}
.p-top-how__title{
    color: #151515;
    font-size: 3rem;
    letter-spacing: .08em;
    z-index:3;
    position:relative;
}

.p-top-how__lst{
    width: 100%;
    padding: 1.8% 0 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.p-top-how__lst .card__detail {
    background-color: #FFF;
    padding: 4% 5% 8% 5%;
    z-index:1;
}

.p-top-how__lst .card__title {
    font-size: 1.8rem;
    line-height: 1.3;
    max-height: 45px;
}

.p-top-how__lst .card__item .card__detail::after {
    width: 54%;
    height: 54%;
    background: url(../images/card__num01.svg) center center no-repeat;
    bottom: 9%;
    right: -8%;
    display: block;
    z-index: -1;
    position: absolute;
    content: '';
}

.p-top-how__lst .card__item:nth-of-type(2n) .card__detail::after{
    background: url(../images/card__num02.svg) center center no-repeat;
}
.p-top-how__lst .card__item:nth-of-type(3n) .card__detail::after{
    background: url(../images/card__num03.svg) center center no-repeat;
}
.p-top-how__lst .card__item:nth-of-type(4n) .card__detail::after{
    background: url(../images/card__num04.svg) center center no-repeat;
}
.p-top-how__lst .card__item:nth-of-type(5n) .card__detail::after{
    background: url(../images/card__num05.svg) center center no-repeat;
}
.p-top-how__lst .card__item:nth-of-type(6n) .card__detail::after{
    background: url(../images/card__num06.svg) center center no-repeat;
}
.p-top-how__lst .card__item:nth-of-type(7n) .card__detail::after{
    background: url(../images/card__num07.svg) center center no-repeat;
}
.p-top-how__lst .card__item:nth-of-type(8n) .card__detail::after{
    background: url(../images/card__num08.svg) center center no-repeat;
}


.swiper-button-unit{
    width: 24% !important;
    margin: 6% auto 12%;
    display: -webkit-flex !important;
    display: flex !important;
    justify-content: space-between;
    z-index: 8;
    position: absolute;
    right: 5%;
    top: -14%;
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev,
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next
{
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #FFF;
    border: none;
    display: block;
    position: relative;
    box-shadow: 0px 10px 15px 5px rgba(180,180,180,0.4);
    transition: box-shadow .2s ease-in-out;
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev,
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next{
    background-image: url(../images/arrow-next.svg) !important;
    background-repeat:no-repeat;
    background-position:center center;
    margin-right: -1px;
    position: absolute;
    left: auto;
    top: -20px;
    right: 5%;
    margin-top: 0;
    content: '';
    z-index: 0;
    display: block;
    cursor: pointer;
    background-size: 12px 12px;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next{
    background-image: url(../images/arrow-prev.svg) !important;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    left: 52%;
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: 1;
    cursor: auto;
    pointer-events: none;
}

.swiper-wrapper{
    transition-timing-function:linear !important;
}

/* p-top-conversation============================================== */

.p-top-conversation{
    position: relative;
    padding: 0% 0 7% 0;
    margin: 8% 0 0 0;
}
.p-top-conversation__body{
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    padding: 0 4.55%;
    z-index: 1;
    position: relative;
}
.p-top-conversation__body::after {
    width: 64%;
    height: 64%;
    background: url(../images/conversation.svg) center center no-repeat;
    top: -34%;
    right: 0%;
    display: block;
    z-index: -1;
    position: absolute;
    content: '';
}
/*.p-top-conversation__title{
	font-size: 3rem;
	letter-spacing: .2em;
	position:relative;
	overflow:hidden;
    color: #151515;
}*/
.p-top-conversation__title{
    left: -8px;
    top: 43px;
    color: #151515;
    font-size: 1.2rem;
    position: absolute;
}
@media screen and (min-width: 1600px) {
    .p-top-column__title{
        left: 3px;
    }
    .p-top-conversation__title{
        left: 15px;
    }
}
@media screen and (min-width: 2000px) {
    .p-top-column__title{
        left: 27px;
    }
    .p-top-conversation__title{
        left: 35px;
    }
}
@media screen and (max-width: 1024px) {
    .p-top-conversation__title,
    .p-top-column__title{
        left: -20px;
    }
}
.p-top-conversation__title span {
    display: inline-block;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}
.p-top-conversation__lst {
    width: 100%;
    /*padding: 28px 0 0;*/
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.p-top-conversation .swiper-container {
    overflow: visible;
}
.p-top-conversation__lst .card__item:nth-of-type(2n) .card__detail::after {
    background: url(../images/card__num02.svg) center center no-repeat;
}
.p-top-conversation__lst .card__item:nth-of-type(4n) .card__detail::after {
    background: url(../images/card__num04.svg) center center no-repeat;
}
.p-top-conversation__lst .card__item .card__detail::after {
    right: -24px;
    width: 54%;
    height: 54%;
}
.card__thumb-bg {
    padding: 70% 0;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.card__thumb-bg span {
    width: 100%;
    height: 100%;
    background-size: cover;
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

/* p-top-news============================================== */

.p-top-news{
    position:relative;
    background-color: #FFF;
}

.p-top-news:before {
    background-color: #f2f2f2;
    width: 83%;
    height: 100%;
    z-index: 0;
    right: 0;
    position: absolute;
    content: '';
}

.p-top-news__body{
    width: 100%;
    max-width:  1800px;
    margin:0 auto;
    padding: 0% 4.55% 5% 0%;
    z-index: 1;
    position: relative;
}

.p-top-news__title{
    color: #FFF;
    font-size: 3rem;
    letter-spacing: .2em;
    background-color: #21232b;
    width: 44%;
    height: auto;
    padding: 11.2% 0%;
    text-align: center;
    position:relative;
    overflow:hidden;
    /*margin-left: calc(50% - 48vw);
    width: 38vw;*/
}
@media screen and (min-width: 1700px) {
    .p-top-news__title{
        margin-left: calc(50% - 48vw);
        width: 41vw;
    }
}
.p-top-news__title span{
    position:relative;
    z-index:1;
    display:block;
}


.p-top-news__title::after {
    width: 104%;
    height: 104%;
    background: url(../images/news_bg.svg) center center no-repeat;
    top: 0%;
    right: -3%;
    display: block;
    z-index: 0;
    position: absolute;
    content: '';
}

.p-top-news__lst{
    width: 48%;
    max-width: 750px;
    height:auto;
    margin-left:auto;
    margin-top: -18%;
}

.card-news__item{
    width: 100%;
    height:auto;
    background-color: #FFF;
    border-radius: 6px;
    margin: 0 0 5% 0;
    box-shadow: 0px 10px 15px 5px rgba(180,180,180,0.2);
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
    -webkit-transition: .5s;
    transition: .5s;
}

.card-news__item:hover{
    -webkit-transform: translate(-5px, -5px);
    transform: translate(-5px, -5px);
    transition: all .3s cubic-bezier(.24,.45,.39,.95);
}

.p-top-news__body .card__title {
    font-size: 1.7rem;
    transition: all .3s cubic-bezier(.24,.45,.39,.95);
    height:auto;
}

#news-archive a:hover .card__title,
.p-top-news__body a:hover .card__title{
    color: #e53e46;
}

.p-top-news__lst .card__day {
    font-size: 1.1rem;
    text-align:right;
    font-weight: normal;
    padding: 4% 0 0 0;
    color: #666;
}

.p-top-news__lst .card__detail {
    padding: 2.6% 5% 3.6% 5%;
}

.p-top-news__lst .card__detail::before {
    content: '';
    position: static;
}


/* p-top-link============================================== */

.p-top-link{
    width: 100%;
    position:relative;
}

.p-top-link__body{
    width: 100%;
    margin:0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
}

.p-top-link__lst{
    width: 33.33%;
    background-size: cover;
    background-position: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    background-image: url(../images/01_aboutus_pc.jpg);
    display: table;
}

.p-top-link__lst-inner{
    width: 100%;
    height: 680px;
}

.link-pholosophy{
    background-image: url(../images/02_philosophy_pc.jpg);
}

.link-service{
    background-image: url(../images/03_service_pc.jpg);
}

.p-top-link__lst-text{
    left:0%;
    right:0;
    margin:auto;
    top:50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position:absolute;
    text-align: center;
}

.p-top-link__lst h3{
    font-size: 2.2rem;
    line-height:2;
    letter-spacing:.2em;
    color: #FFF;
}

.p-top-link__lst .p-top-card__btn {
    width: 9vw;
    max-width: 120px;
    margin: 6% auto 0 auto;
    letter-spacing: .1em;
}

.p-top-link__lst .p-top-card__btn-inner {
    border: solid 1px #FFF;
    background:transparent;
}

.p-top-link__lst .p-top-card__btn-text {
    color: #FFF;
    font-size: 1.3rem;
    padding: 5% 0;
}


/* contact============================================== */

.l-contact{
    width: 100%;
    position:relative;
    overflow: hidden;
}

.l-contact::after {
    width: 104%;
    height: 104%;
    background: url(../images/contact_bg.svg) center center no-repeat;
    top: 50%;
    right: 0;
    left: -1.6%;
    margin:auto;
    display: block;
    z-index: 0;
    position: absolute;
    content: '';
    transform: translateY(-36%);
    opacity:.5;
}

.l-contact__body{
    width: 100%;
    max-width:  1700px;
    margin:0 auto;
    padding: 8% 10% 2% 11%;
    z-index: 1;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.l-contact__index{
    width: 35%;
    position:relative;
}

/*.l-contact__index:after {
    content: '';
    position: absolute;
    right: 0;
    width: 1px;
    background-color: #dbdbdb;
    height: 90pt;
    top: calc(50% - 50px);
}*/


.l-contact__title{
    color: #151515;
    font-size: 3rem;
    letter-spacing: .2em;
}

.l-contact__read{
    color: #151515;
    font-size: 1.5rem;
    letter-spacing: .1em;
    margin-top:6%;
}

.l-contact__info{
    width: 37%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #151515;
    padding: 3%;
}

.l-contact__tel,
.l-contact__fax{
    font-size: 1.4rem;
    width: 100%;
    display: table;
}

.l-contact__tel a {
    color: #151515;
}

span.c-index{
    width: 45px;
    display: inline-block;
}

span.c-strong{
    font-size: 2.2rem;
    width: 100%;
}

@media (min-width: 767px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}

.contact__btn{
    width: 20vw;
    height: auto;
    text-align: center;
    letter-spacing: .1em;
}

@media all and (-ms-high-contrast: none) {
    .contact__btn{
        height: 66px;
    }
}


.contact__btn-inner {
    width: 100%;
    height: 100%;
    background-color: #e53e46;
    text-align: center;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50px;
    padding: 8%;
    box-shadow: 0px 10px 15px 5px rgba(180,180,180,0.4);
    transition: box-shadow .2s ease-in-out;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    transition: all 0.5s ease-out;
}

.contact__btn-text {
    position: relative;
    display: inline-block;
    font-size: 1.6rem;
    z-index: 1;
    color: #FFF;
}

.mail_icon{
    display: inline-block;
    width: 10%;
    margin-right:10px;
}

.mail_icon svg{
    fill:#FFF;
    width: 100%;
    height: auto;
    display: inline-block;
}

.mail__precautionary{
    font-size: 1.1rem;
    color:#151515;
    line-height:1.3;
    text-align:left;
    font-weight: normal;
    margin-top:5%;
    position:relative;
}

.mail__precautionary:after {
    content: '';
    position: absolute;
    width: 4px;
    height: 4px;
    background-color: #ea5550;
    left: -6px;
    top: -4px;
    border-radius: 50%;
}

.hover .contact__btn-inner:hover {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-filter: brightness(1.05) contrast(1.05);
    filter: brightness(1.05) contrast(1.05);
}


/* p-archive-column============================================== */

.p-archive-column__visual{
    width: 95.55%;
    height: 60vh;
    position: relative;
    overflow: hidden;
    background-color: #ea5550;
    margin: 110px 0 0 4.55%;
    margin-left: auto;
}

.p-archive-column__visual:after {
    background-color: #e53e46;
    width: 900px;
    height: 900px;
    z-index: 0;
    bottom: -20%;
    right: -20%;
    position: absolute;
    content: '';
    border-radius: 50%;
}

.p-archive-column__visual h2{
    font-size: 3.8rem;
    letter-spacing: .3em;
    left:-4.55%;
    right:0;
    margin:auto;
    top:50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position:absolute;
    z-index:2;
    text-align: center;
}

.p-archive-column__visual h2.jp-label {
    font-size: 3rem;
    letter-spacing: .05em;
}

body.menu-open .p-archive-column__visual h2{
    display: none;
}

#column-archive .l-content {
    padding-bottom: 0%;
}

.p-archive-column{
    margin-top: 5%;
}
.p-archive-column__body {
    padding-bottom: 5%;
}
#column-archive .card__item .card__detail::after {
    background: none;
}

#column-archive .card__detail {
    padding: 2.4% 5.4% 10% 5.4%;
}

#column-archive .p-top-column__lst{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    padding: 0 4.55%;
}

#column-archive .p-top-column__lst .card__item {
    width: 25%;
    margin-bottom: 5%;
}

/* p-archive-news============================================== */

.p-archive-news__visual{
    width: 100%;
    height: 40vh;
    position: relative;
    overflow: hidden;
    background-color: #FFF;
    margin: 0% auto 0;
}

.p-archive-news__visual h2{
    font-size: 3.8rem;
    letter-spacing: .3em;
    left:0%;
    right:0;
    margin:auto;
    top:58%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position:absolute;
    z-index:1;
    text-align: center;
    color:#151515;
}

#news-archive .l-content {
    position: relative;
    padding-bottom: 3%;
    background-color: #f2f2f2;
}

#news-archive .p-archive-news__body{
    width: 100%;
    max-width: 1800px;
    margin:  0 auto;
    padding: 5% 4.55% 0;
}

#news-archive .p-top-news__lst{
    width: 100%;
    max-width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin:0;
}

#news-archive .card-news__item {
    width: 31%;
    height: auto;
    margin: 0 0 5% 0;
    box-shadow: none;
}

#news-archive .card-news__item:nth-child(3n+2):last-child {
    margin-left: auto;
    margin-right: 34.6%;
}

#news-archive .card__title {
    font-size: 1.7rem;
}


@media screen and (max-width: 768px) {


    /* slider ============================================== */

    .l-main-visual__keyvisual .cover.is-hide {
        -webkit-transition: width 0.6s cubic-bezier(0.09, 0.34, 0.63, 1);
        transition: width 0.6s cubic-bezier(0.09, 0.34, 0.63, 1);
    }

    .l-main-visual__keyvisual .slogan {
        width: 60%;
    }

    .l-main-visual__keyvisual .slider .slide.is-active {
        -webkit-transition: width 0.6s cubic-bezier(0.09, 0.34, 0.63, 1);
        transition: width 0.6s cubic-bezier(0.09, 0.34, 0.63, 1);
    }

    .l-main-visual__keyvisual .slider-navi {
        right: 10px;
        bottom: 18px;
    }

    .l-main-visual__keyvisual .slider-navi li:not(:last-child) {
        margin-right: 6px;
    }

    .l-main-visual__keyvisual .slider-navi li .num {
        font-size: 10px;
    }


    /* l-main-visual============================================== */

    .l-main-visual__slogan {
        width: 60%;
    }

    .l-main-slide__pager {
        bottom: 18px;
    }

    .l-main-visua__scroll {
        width: 13%;
    }

    .l-main-visua__copyright {
        right: 15px;
    }


    /* p-top-column============================================== */

    .p-top-column__body {
        padding: 0;
    }
    .p-top-column__new, .p-top-column__lst {
        padding: 0 4%;
    }
    .p-top-column__title {
        left:auto;
        right:0;
        font-size: 10px;
        top: 45px;
        right: -36px;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }

    .p-top-column__title span {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    .p-top-column__body::after {
        background: none;
    }

    .card__title,
    .p-top-column__lst .card__title {
        font-size: 1.6rem;
        line-height: 1.4;
        max-height: 44px;
        height: 44px;
    }

    .p-top-column__lst .card__title{
        max-height: 40px;
        height: 40px;
    }

    .p-top-column__lst .card__title{
        font-size: 1.4rem;
        line-height: 1.4;
    }

    .card__meta {
        margin: 5.2% auto 0 auto;
    }

    .meta__cat, .meta__new{
        font-size: 10px;
        max-height: 20px;
    }

    .author__name {
        font-size: 10px;
    }

    .card__day {
        font-size: 10px;
    }

    .card__item .card__detail::after {
        width: 80px;
        height: 80px;
        bottom: 10px;
        right: 11px;
    }

    .p-top-column__lst .card__detail::after {
        width: 60px;
        height: 60px;
        right: 8px;
        bottom: 5px;
    }


    /* p-top-service============================================== */

    .p-top-service__body {
        padding: 0 4%;
    }

    .p-top-service__title {
        font-size: 2.2rem;
    }

    .service__text h3 {
        font-size: 15px;
    }

    .service__read {
        font-size: 13px;
    }

    .p-top-service__unit {
        margin: 2.8% 0 0 0;
    }

    /* p-top-how============================================== */


    .p-top-how__body{
        padding: 0 4%;
    }

    .p-top-how__title{
        font-size: 2.2rem;
    }

    .p-top-how__lst .card__title {
        font-size: 1.4rem;
        max-height: 36px;
        line-height: 1.3;
    }

    .p-top-how__lst .card__item .card__detail::after {
        width: 52%;
        height: 52%;
        right: 0%;
    }

    .p-top-how:after {
        right: -40%;
    }

    /* p-top-conversation============================================== */

    /*.p-top-conversation__title {
        font-size: 2.2rem;
    }*/
    .p-top-conversation__title {
        font-size: 10px;
        top: 34px;
        left: -23px;
    }
    .p-top-conversation__lst .card__item .card__detail::after {
        right: -2px;
        width: 52%;
        height: 52%;
    }

    /* p-top-news============================================== */

    .p-top-news:before {
        width: 83%;
    }

    .p-top-news__body{
        padding: 0% 6% 5% 0%;
    }

    .p-top-news__title{
        font-size: 2.2rem;
        width: 44%;
        padding: 11.2% 0%;
    }

    .p-top-news__body .card__title{
        font-size: 1.4rem;
        line-height: 1.3;
    }

    .p-top-news__lst {
        width: 49%;
        margin-top: -20%;
    }


    /* p-top-link============================================== */

    .p-top-link__lst{
        width: 33.33%;
    }

    .p-top-link__lst-inner{
        width: 33.33%;
        height: 480px;
    }

    .p-top-link__lst h3{
        font-size: 20px;
    }

    .p-top-link__lst .p-top-card__btn {
        width: 15vw;
    }

    .p-top-link__lst .p-top-card__btn-text {
        font-size: 1.2rem;
    }

    /* contact============================================== */

    .l-content {
        padding-bottom: 50px;
    }

    .l-contact::after {
        background: none;
    }

    .l-contact__body{
        padding: 8% 4% 2% 5%;
    }

    .l-contact__index {
        width: 28%;
    }

    .l-contact__index:after {
        right: -20px;
        height: 90pt;
    }

    .l-contact__title {
        font-size: 2.2rem;
    }

    .l-contact__read {
        font-size: 1.4rem;
        margin-top: 3%;
    }

    .l-contact__read br {
        display: none;
    }

    .l-contact__info {
        width: 44%;
        padding: 3% 3% 3% 6%;
    }

    .l-contact__tel,
    .l-contact__fax {
        font-size: 12px;;
    }

    span.c-strong {
        font-size: 1.8rem;
        padding-left: 4%;
    }

    .contact__btn {
        width: 27vw;
    }

    /* p-archive-column============================================== */

    .p-archive-column__visual {
        height: 33vh;
        margin: 14% 0 0 4.55%;
        margin-left: auto;
    }

    /* p-archive-news============================================== */

    #news-single .single__detail {
        width: 80.75%;
        padding: 3% 0 0;
    }

}

@media screen and (max-width: 420px) {

    /* l-main-visual============================================== */

    .l-main-visual__keyvisual .slogan {
        top: 46%;
        width: 64%;
    }

    .l-main-slide__pager {
        bottom: 18px;
    }

    .l-main-visua__scroll {
        width: 60px;
        height: 140px;
    }

    .scroll-label {
        font-size: 1.1rem;
        margin-left: -8px;
        top: 15%;
        letter-spacing: .14em;
    }

    .scroll-line-ob-container {
        height: 30px;
    }

    .scroll-line.scroll-line {
        top: 40%;
    }

    .l-main-visua__copyright {
        display: none;
    }

    .l-main-visual__keyvisual .slider .slide .photo > span.slide-pc {
        display: none;
    }
    .l-main-visual__keyvisual .slider .slide .photo > span.slide-sp {

        display: block;
    }

    /* p-top-column============================================== */

    .p-top-column {
        padding: 10% 0 0 0;
        overflow:hidden;
    }

    .p-top-column__new {
        padding: 0 7%;
        display: block;
    }

    .p-top-column__new .card__thumb-inner {
        padding:31.1% 0;
    }

    .card__item, .p-top-column__lst.card__item {
        overflow: visible;
    }

    .p-top-column__lst {
        padding: 0%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-wrap: wrap;
    }
    .card__item {
        width: 100%;
        margin: 0 0 18px 0;
    }

    .p-top-column__lst .card__item {
        width: 50%;
        margin: 0 0 30px 0;
    }

    .card__item .card__detail::after {
        right: 0px;
        width: 84px;
        height: 84px;
        bottom: 10px;
    }

    .p-top-column__lst .card__item .card__detail::after {
        width: 62%;
        height: 62%;
    }

    .p-top-column__lst .card__item .card__detail::after {
        right: 11px;
        width: 68px;
        height: 68px;
        bottom: -2px;
    }

    .card__title,
    .p-top-column__lst .card__title,
    .p-single-column .card__title {
        font-size: 1.6rem;
        line-height: 1.4;
        margin-top: 2%;
        height: auto;
    }

    .p-top-column__lst .card__title {
        font-size: 1.3rem;
        line-height: 1.3;
        margin-top: 8px;
        max-height: 32px;
        height: 32px;
    }

    .card__detail {
        padding: 0 0 10px;
    }

    .p-top-column__lst .card__detail {
        padding: 2.4% 5% 2.4% 5%;
    }

    .meta__cat,
    .meta__new {
        font-size: 1rem;
    }

    .card__author-unit {
        margin-top: 9px;
    }

    .author__name {
        font-size: 1.1rem;
    }

    .card__day {
        font-size: 1rem;
    }

    .card__meta {
        margin: 3.2% auto 0 auto;
    }

    .p-top-column__lst .card__day {
        margin-right: auto;
        margin-left: 0;
        padding: 3% 0 0 2px;
    }

    .author__icon,
    .author__icon img {
        display: block;
        width: 32px;
        height: 32px;
    }

    .p-top-column__lst .card__author {
        display: none;
    }

    .p-top-column__lst .card__author-unit {
        margin-top: 3px;
    }

    /* p-top-service============================================== */

    .p-top-service {
        position: relative;
        padding: 12% 0 10% 0;
        overflow: hidden;
    }

    .p-top-service__body {
        padding: 0 0 0 7%;
    }

    .p-top-service__unit {
        margin: 6.8% 0 0 0;
    }

    .p-top-service__unit-lst {
        width: 76%;
    }

    .service__text {
        width: 100%;
        margin-top: 5.6%;
        padding-left: -6%;
    }

    .p-top-service__title {
        font-size: 2rem;
        z-index:5;
        position: relative;
    }

    .service__text h3 {
        font-size: 1.4rem;
    }

    .service__read {
        font-size: 1.3rem;
    }

    .p-top-service__body::after {
        width: 74%;
        height: 74%;
        top: -35%;
    }

    .service-lst__bg-num {
        width: 21%;
        bottom: -3%;
        z-index: -1;
    }

    .p-top-service__unit-lst:nth-of-type(2n) .service-lst__bg-num {
        bottom: 3%;
        width: 22%;
    }

    .p-top-service__unit-lst:nth-of-type(3n) .service-lst__bg-num {
        bottom: -2%;
        width: 22%;
    }

    .service__icon {
        width: 19%;
    }

    .service__num,
    .service__icon, .service__index {
        font-size: 1.4rem;
    }

    .p-top-service__unit-lst:nth-of-type(2n) {
        margin: 0;
    }

    .swiper-container .swiper-slide img {
        max-width: 100%;
        height: auto;
        margin-bottom: 0px;
    }

    .p-top-service .swiper-wrapper {
        padding: 0%;
        width: 100%;
        z-index: 0;
        transition-timing-function: linear;
        flex-wrap: unset;
    }

    .p-top-service .swiper-button-prev,
    .p-top-service .swiper-button-next,.swiper-pagination{
        display: none;
    }

    /* p-top-how============================================== */

    .p-top-how {
        margin: 12.6% 0 0 0;
        padding: 0% 0 18.8% 0;
        /*overflow: visible;*/
    }

    .p-top-how:after {
        width: 360px;
        height: 360px;
        bottom: -7%;
        right: -25%;
    }

    .p-top-how__body{
        padding: 0 0 0 7%;
    }


    .p-top-how__title{
        font-size: 2rem;
    }

    .p-top-how__lst .card__title {
        font-size: 1.5rem;
        line-height: 1.3;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        max-height: 20px;
        height: 20px;
        overflow: hidden;
    }

    .p-top-how__lst .card__item .card__detail::after {
        width: 52%;
        height: 52%;
        right: -8%;
        bottom: 19%;
    }

    .p-top-how__lst {
        flex-wrap: wrap;
        padding: 6.2% 0 0 0;
    }

    .p-top-how__lst .card__item {
        width: 92%;
        margin: 0;
        height: auto !important;
    }

    .p-top-how__lst .card__meta {
        margin: 1.2% auto 0 auto;
    }

    .p-top-how__lst .card__detail {
        padding: 4% 6% 8% 6%;
    }

    .swiper-button-unit {
        width: 24% !important;
        margin: 6% auto 12%;
        display: -webkit-flex !important;
        display: flex !important;
        justify-content: space-between;
        z-index: 68;
        position: absolute;
        right: 5%;
        top: -1%;
    }

    .swiper-button-next,
    .swiper-container-rtl .swiper-button-prev,
    .swiper-button-prev,
    .swiper-container-rtl .swiper-button-next {
        width: 32px;
        height: 32px;
        box-shadow: 0px 10px 15px 5px rgba(180,180,180,0.2);
    }

    .swiper-button-prev,
    .swiper-container-rtl .swiper-button-next {
        left: 4%;
    }


    .p-top-how__coming-soon{
        width: 100%;
        margin-right: 7%;
        background-color:transparent;
    }

    .p-top-how__coming-soon h2{
        font-size: 2.1rem;
        letter-spacing:1.4rem;
    }

    /* p-top-conversation============================================== */
    .p-top-conversation {
        padding: 0% 0 7% 0;
        margin: 38px 0 0 0;
    }
    .p-top-conversation__body {
        padding: 0 0 0 7%;
    }
    /*.p-top-conversation__title {
        font-size: 2rem;
    }*/
    .p-top-conversation__title {
        font-size: 10px;
        top: 49px;
        left: -29px;
    }
    .p-top-conversation__body::after {
        display: none;
    }
    .p-top-conversation__lst {
        padding: 4% 0 0;
        flex-wrap: wrap;
    }
    .p-top-conversation__lst .card__title {
        font-size: 1.5rem;
        line-height: 1.3;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        max-height: 40px;
        height: 40px;
        overflow: hidden;
    }
    .p-top-conversation__lst .card__item {
        width: 50%;
    }
    .p-top-conversation__lst .card__detail {
        padding: 2.4% 6%;
    }
    .p-top-conversation__lst .card__day {
        margin-left: auto;
        padding: 0;
    }
    .p-top-conversation__lst  .card__item .card__detail::after {
        right: 11px;
        width: 68px;
        height: 68px;
        bottom: -2px;
    }
    .card__thumb-bg {
        padding: 60% 0;
    }
    .p-top-conversation .swiper-container {
        overflow: hidden;
    }


    /* p-top-news============================================== */

    .p-top-news:before {
        width: 100%;
        height: 100%;
        bottom: auto;
        top: 0;
    }

    .p-top-news__body{
        padding: 0% 7% 12% 0%;
    }

    .p-top-news__title{
        font-size: 2rem;
        width: 46.6%;
        padding: 8.2% 0%;
    }

    .p-top-news__body .card__title{
        font-size: 1.5rem;
        line-height: 1.3;
    }

    .card-news__item{
        box-shadow:none;
    }

    .p-top-news__lst {
        width: 100%;
        margin: 0;
        padding: 10% 0 0 7%;
    }

    .card-news__item:nth-of-type(3n) {
        margin: 0 0 10% 0;
    }

    /* p-top-link============================================== */

    .p-top-link__body{
        display: block;
    }

    .p-top-link__lst{
        width: 100%;
    }

    .p-top-link__lst-inner{
        height: 210px;
    }

    .p-top-link__lst{
        background-image: url(../images/01_aboutus_sp.jpg);
    }

    .link-pholosophy{
        background-image: url(../images/02_philosophy_sp.jpg);
    }

    .link-service{
        background-image: url(../images/03_service_sp.jpg);
    }

    .p-top-link__lst h3{
        font-size: 1.5rem;
    }

    .p-top-link__lst .p-top-card__btn {
        width: 26vw;
        margin: 3% auto 0 auto;
    }

    .p-top-link__lst .p-top-card__btn-text {
        font-size: 1.1rem;
    }

    /* contact============================================== */

    .l-content {
        padding-bottom: 4%;
    }

    .l-contact::after {
        width: 144%;
        height: 144%;
        background: url(../images/contact_bg.svg) center center no-repeat;
        left: -5.6%;
        transform: translateY(-46%);
    }

    .l-contact__body{
        padding: 14% 7% 10% 7%;
        display: block;
    }

    .l-contact__index {
        width: 100%;
        text-align: center;
    }

    .l-contact__index:after {
        right: -20px;
        height: 90pt;
    }

    .l-contact__title {
        font-size: 2rem;
    }

    .l-contact__read {
        font-size: 1.2rem;
        margin-top: 3%;
    }

    .l-contact__read br {
        display: block;
    }

    .l-contact__info {
        width: 100%;
        padding: 7% 8% 3% 0%;
    }

    .l-contact__tel,
    .l-contact__fax {
        font-size: 1.2rem;
        text-align: center;
    }

    span.c-strong {
        font-size: 1.8rem;
        padding-left: 4%;
    }

    .contact__btn {
        width: 62vw;
        margin: 3% auto 0 auto;
    }

    .contact__btn-text {
        font-size: 1.3rem;
    }

    .mail_icon {
        width: 6%;
    }

    .mail__precautionary{
        font-size: 1.1rem;
        width: 86%;
        margin: 8% 0 0 16%;
        font-weight: normal;
    }

    /* p-archive-column============================================== */

    #column-archive .l-content {
        padding-bottom: 0%;
    }

    .p-archive-column__visual {
        width: 100%;
        height: 25vh;
        margin: 0;
    }

    .p-archive-column__visual h2 {
        font-size: 2.3rem;
        left: 3%;
    }

    .p-archive-column__visual h2 {
        font-size: 2.3rem;
        left: 0;
        right: 0;
        margin: auto;
    }
    .p-archive-column__visual h2.jp-label {
        font-size: 1.8rem;
    }

    .p-archive-column {
        margin-top: 0%;
        padding: 0%;
    }

    .p-archive-column__visual:after {
        width: 300px;
        height: 300px;
        bottom: -70%;
        right: -43%;
    }

    #column-archive .p-top-column__lst {
        display: block;
        margin-top: 0%;
        padding: 0;
    }

    #column-archive .p-top-column__lst .card__item {
        width: 100%;
        padding: 3.6% 4% 3.6% 4%;
        margin-bottom: 0%;
        border-bottom: solid 1px #f5f5f5;
    }

    #column-archive .p-top-column__lst .card__item:last-child {
        border: none;
    }

    /*#column-archive .p-top-column__lst .card__day {
        display: none;
    }*/

    #column-archive .p-top-column__lst .card__item a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
    }

    #column-archive .p-top-column__lst .card__thumb {
        width: 30%;
        height: auto;
        display: block;
    }

    #column-archive .p-top-column__lst .card__detail {
        padding: 0% 0% 2.4% 2.6%;
        width: 70%;
    }

    #column-archive .card__meta {
        margin: 0% auto 0 auto;
    }

    #column-archive .p-top-column__lst .card__title {
        font-size: 1.5rem;
        line-height: 1.3;
        height: auto;
        max-height: initial;
    }
    .p-archive-column__body {
        padding-bottom: 11%;
    }


    /* p-archive-news============================================== */

    .p-archive-news__visual{
        width: 100%;
        height: 25vh;
        margin: 0 auto 0;
    }

    .p-archive-news__visual h2{
        font-size: 2.3rem;
        top: 50%;
    }

    #news-archive .p-archive-news__body{
        padding: 0% 7% 0;
    }

    #news-archive .p-top-news__lst{
        display: block;
    }

    #news-archive .card-news__item {
        width: 100%;
        margin: 0 0 7% 0;
    }

    #news-archive .p-top-news__lst {
        padding: 10% 0 0 0%;
    }

    .p-top-news__lst .card__day {
        font-size: 1rem;
    }

    #news-archive .card__title {
        font-size: 1.5rem;
    }

}


@media screen and (max-width: 320px) {
    .l-main-visua__scroll {
        width: 46px;
        height: 110px;
    }
    .scroll-label {
        font-size: 1rem;
        margin-left: -7px;
        top: 14%;
        letter-spacing: .1em;
    }
    .scroll-line.scroll-line {
        width: 2px;
        top: 35%;
        left: calc(50% - 0px);
    }
    .scroll-line-ob-container {
        height: 23px;
        width: 2px;
    }
    .p-top-link__lst .p-top-card__btn {
        width: 32vw;
    }

}



/* l-page-visual============================================== */

.l-page-visual {
    width: 100%;
    padding: 0%;
    position:relative;
}

.l-page-visual__body {
    width: 100%;
    height: auto;
    margin: 0;
}

.l-page-visual__eyecatch {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0%;
    left: 0;
    right: 0;
    margin: auto;
    padding: 0px;
    z-index: 1;
    background-color: transparent;
    overflow: hidden;
}

.page-visual__pc {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
}
.js-opimg__anime {
    width: 100%;
    height: auto;
    display: block;
    overflow: hidden;
    position: relative;
}
.js-opimg__anime-inner {
    height: 100%;
    -webkit-transition-timing-function: cubic-bezier(.075, .82, .165, 1);
    transition-timing-function: cubic-bezier(.075, .82, .165, 1);
    -webkit-transition-duration: 1.3s;
    transition-duration: 1.3s;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    -webkit-transition-delay: .2s;
    transition-delay: .2s;
}
.js-opimg__anime .js-opimg__anime-inner:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: block;
    margin: auto;
    background-color: #f5f5f5;
    content: "";
    -webkit-transition-delay: .4s;
    transition-delay: .4s;
    -webkit-transition-timing-function: cubic-bezier(.075, .82, .165, 1);
    transition-timing-function: cubic-bezier(.075, .82, .165, 1);
    -webkit-transition-duration: 1.3s;
    transition-duration: 1.3s;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right;
    transform-origin: right;
}
.js-opimg__anime.active .js-opimg__anime-inner {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}
.js-opimg__anime.active .js-opimg__anime-inner:before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
}
.js-opimg__anime.active .js-opimg__anime-inner:before {
    -webkit-transition-delay: .5s;
    transition-delay: .5s;
}

.page-visual__sp {
    display: none;
}

.p-page__index h2 {
    font-size: 3.8rem;
    letter-spacing: .3em;
    left: 0%;
    right: 0;
    margin: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    z-index: 1;
    text-align: center;
    color: #FFF;
}


/* about============================================== */

#page-about .l-content {
    position: relative;
    padding-bottom: 0%;
    z-index:0;
}
.page-id-1513 #l-header__toggle,
.page-id-1513 .l-header__sitename {
    opacity:0;
    -webkit-transition: .3s cubic-bezier(.55, .085, .68, .53);
    transition: .3s cubic-bezier(.55, .085, .68, .53);
}
.page-id-1513 #l-header__toggle.block-in,
.page-id-1513 .l-header__sitename.block-in {
    opacity:1;
    -webkit-transition: .3s cubic-bezier(.55, .085, .68, .53);
    transition: .3s cubic-bezier(.55, .085, .68, .53);
}
/*
.page-id-1513 .toggle span{
    background-color: #151515;
}
#page-about .l-page-visual:before,
#page-about .l-page-visual:after {
	position:absolute;
	top:0;
	height: 110px;
	width: 100%;
	background-color:#FFF;
	content:'';
	z-index:1;
}
#page-about .l-page-visual:after {
	top:auto;
	bottom:0;
}
*/

.l-page-visual__body.about-body {
    height: 100vh;
}


#page-about .l-page-visual__index {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 2;
}
#page-about .l-page-visual__index h2 {
    font-size: 3.4rem;
    letter-spacing: .3em;
    color: #FFF;
}
#page-about .l-main-visua__scroll {
    bottom: -50px;
    background-color: transparent;
    right: 0;
    margin: auto;
    z-index:2;
}
#page-about .scroll-line-ob {
    background-color: #232228;
}
.l-page-visual__cover img,
video.l-page-visual__cover {
    object-fit: cover;
    position: absolute;
    object-position: center center;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}
.movie-pc {
    display: block;
}
.movie-sp {
    display: none;
}
audio, canvas, progress, video {
    display: inline-block;
}
.p-page-about {
    width: 100%;
    margin: 0 auto;
}
.p-page-about__body {
    width: 100%;
    position:relative;
    overflow: hidden;
}

.p-about__parts {
    position: absolute;
    width: 230px;
    height: auto;
    right: -100px;
    top: 12%;
    display: none;
}

.p-about__slogun {
    width: 100%;
    background-color: #f5f5f5;
    padding-left:12%;
}

.p-about__slogun-inner {
    width: 100%;
    background-color: #FFF;
    padding: 10% 8% 4% 8%;
    position:relative;
}

.p-about__slogun-inner::after {
    width: 90px;
    height: 900px;
    background: url(../images/about/MESSAGE.png) center center no-repeat;
    top: 11%;
    left: -4px;
    display: block;
    z-index: 1;
    position: absolute;
    content: '';
}

.p-about__title {
    font-size: 2rem;
    letter-spacing: .2em;
    color: #151515;
    position:relative;
}

span.title-sub {
    font-size: 1.2rem;
    color: #7c7c7c;
    display: block;
    margin-top: 0px;
    letter-spacing: .1em;
    font-weight : normal;
}

.p-about__title:after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    background-color: #ea5550;
    left: -10px;
    top: -6px;
    border-radius: 50%;
}

.p-about__text {
    padding: 6% 12%;
    max-width: 1200px;
    margin: 0 auto;
}

.slogun-index {
    width: 100%;
    margin-bottom:70px;
}

.slogun-read {
    font-size: 1.6rem;
    letter-spacing:.03em;
    line-height:2.2;
    color: #151515;
    margin-bottom: 30px;
}

.credit-label {
    font-size: 1.4rem;
    line-height:1;
    text-align: right;
    color: #333;
    letter-spacing:.1em;
    font-weight: bold;
}

.credit-label span {
    font-size: 1.1rem;
    display: block;
    letter-spacing:0em;
    font-weight: normal;
}

.p-about__bg {
    width: 100%;
}

.p-about__promise {
    width: 100%;
    background-color: #FFF;
    position:relative;
}

.p-about__promise .p-about__title {
    text-align: center;
    display: table;
    margin: 105px auto 12px;
    font-size: 2.7rem;
    letter-spacing: .14em;
}

.p-about__promise-inner {
    width: 100%;
    max-width: 1440px;
    padding: 0 7% 110px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    margin: 50px auto 0;
    position:relative;
    z-index:10;
}
.p-about__promise:before {
    content: '';
    position: absolute;
    background-color: #F5F5F5;
    width: 100%;
    height: 260px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index:0;
}

.promise-lst {
    width: 30%;
    background-color:#FFF;
    box-shadow: 0 6px 36px -9px rgba(90,101,102,.3);
    padding: 35px 30px;
    border-radius: 6px;
    position:relative;
    z-index:10;
}

.promise-text {
    color: #151515;
    width: 100%;
    text-align: center;
}

.promise-num {
    font-size: 1.4rem;
    color:#ea5550;
}

.promise-index {
    font-size: 1.8rem;
    line-height: 1.5;
    margin-top: 5px;
    letter-spacing: .05em;
}

.promise-read {
    font-size: 1.3rem;
    line-height: 1.7;
    color: #333333;
    margin-top: 25px;
    letter-spacing: .05em;
    text-align: left;
}

.promise-thumb {
    width: 48%;
    height: auto;
}
.sp-br {
    display: none;
}

@media screen and (max-width: 768px) {
    .p-about__slogun {
        padding-left: 0;
    }

    .p-about__slogun-inner::after {
        top: 29px;
    }

    .p-about__promise-inner {
        width: 100%;
        padding: 0% 10% 70px;
        display: block;
    }
    .p-about__promise .p-about__title {
        margin: 75px auto 12px;
    }
    .p-about__text {
        padding: 6% 0% 6% 12%;
    }
    .promise-lst {
        width: 100%;
        padding: 35px 30px 65px;
        margin-bottom: 50px;
    }
    .promise-lst:last-child{
        margin-bottom: 0;
    }

}

@media screen and (max-width: 420px) {

    body.page-id-1513 #l-header {
        height: auto;
    }
    #page-about .l-main-visua__scroll {
        bottom: -20px;
        display: none;
    }
    .page-id-1513 #l-header__toggle,
    .page-id-1513 .l-header__sitename {
        opacity:1;
    }
    #page-about .l-page-visual__index h2 {
        font-size: 2.2rem;
        letter-spacing: .2em;
    }
    .movie-pc {
        display: none;
    }
    .movie-sp {
        display: block;
    }
    .p-about__slogun-inner::after {
        top: -5px;
        left: auto;
        right: -10px;
    }
    .p-about__title:after {
        width: 6px;
        height: 6px;
        left: -7px;
        top: -2px;
    }
    .p-about__slogun-inner {
        padding: 60px 8% 30px;
    }
    .p-about__text {
        padding: 11% 0% 6% 0%;
    }
    .slogun-index {
        margin: 0px 0 35px;
        width: 78%;
    }
    .p-about__title {
        font-size: 1.4rem;
        letter-spacing: .17em;
    }
    .slogun-read {
        font-size: 1.4rem;
        letter-spacing: .03em;
        line-height: 2.1;
        z-index: 9999;
        position: relative;
        margin-bottom: 20px;
    }
    .slogun-read .sp-br {
        display: block !important;
    }
    .credit-label {
        font-size: 1.2rem;
    }
    .credit-label span {
        font-size: 1rem;
        margin-top:50px;
    }
    .p-about__promise .p-about__title {
        margin: 45px auto 12px;
        font-size: 1.8rem;
    }
    .p-about__promise-inner {
        width: 100%;
        padding: 0% 8% 50px;
        margin: 35px auto 0;
    }
    .promise-num {
        font-size: 1.2rem;
    }
    .promise-index {
        font-size: 1.6rem;
    }
    .promise-read {
        font-size: 1.2rem;
        line-height: 1.6;
        margin-top: 18px;
    }
    .promise-lst {
        padding: 28px 25px 35px;
        margin-bottom: 40px;
    }
    .p-about__promise:before {
        height: 180px;
    }

}


/* office============================================== */

#page-office .l-content {
    padding-bottom: 0;
}

#page-office .l-page-visual {
    width: 90.90%;
    margin: 0 auto;
    max-width: 1400px;
}

.l-page-visual__body.office-body {
    height: 100vh;
}
#page-office .l-page-visual__eyecatch {
    width: 60.83%;
    height: 74%;
    position: absolute;
    top: 16%;
    left: auto;
    right: 0;
    margin: 0;
    padding: 0px;
    z-index: 1;
    background-color: transparent;
    overflow: hidden;
}

.l-page-visual__text {
    position: absolute;
    top: 38%;
    left: 6%;
    z-index: 1;
}

.l-page-visual__text h2 {
    font-size: 3.6rem;
    letter-spacing: .3em;
    z-index: 1;
    text-align: left;
    color: #151515;
    opacity:0;
}

.office-read {
    font-size: 1.4rem;
    letter-spacing: .14em;
    z-index: 1;
    color: #333;
    font-weight: bold;
    margin-top: 25px;
    line-height: 1.8;
    position:relative;
}

/*.office-read:after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: #ea5550;
    left: -9px;
    top: -5px;
    border-radius: 50%;
}*/

.p-page-office {
    width: 100%;
    margin: 0 auto;
}

.p-page-office__body {
    width: 100%;
    position:relative;
}

.office-copy {
    font-size: 1.3rem;
    color:#151515;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 2;
    position: relative;
}

/*.office-copy:after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: #ea5550;
    left: -9px;
    top: -5px;
    border-radius: 50%;
}*/

.office-item-unit {
    width: 90.90%;
    position:relative;
    margin: 120px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 1400px;
}

.office-item-unit.unit01 {
    width: 86%;
    margin: 140px auto 0;
}

.office-item-unit.unit02 {
    width: 76%;
    margin: 120px auto 0;
}

.office-item-unit.unit03 {
    margin: 200px auto 0;
}

.office-item-unit.unit04 {
    margin: 140px auto 0;
}

.item01,
.item02 {
    width: 18%;
    position: absolute;
    top: 0;
    left: 4%;
}

.item02 {
    left: 19%;
    top: 15%;
}

.item03 {
    width: 48%;
    margin-left: auto;
    margin-top: 100px;
}

.item03 .office-item-inner {
    margin-top: 90px;
}

.item04 {
    margin-top: 90px;
    padding: 0 4.3% 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}

.item04 .office-item-inner {
    margin-right: 80px;
    width: 67%;
}

.item05 {
    width: 48%;
    margin-top: 150px;
}

.item06 {
    width: 46%;
    margin-left: auto;
    margin-top: 40px;
    margin-bottom: 60px;
}

.item06 .office-item-inner {
    margin-bottom: 80px;
}

.item07,
.item08 {
    width: 18%;
    position: absolute;
    top: 17%;
    left: 11%;
    z-index:2;
}

.item08 {
    left: 26%;
    top: 42%;
    z-index:1;
}

.item09 {
    width: 46%;
    margin-left: auto;
    margin-top: 100px;
    padding-right: 9%;
}

.item09 .office-item-inner {
    margin-bottom: 50px;
}

.office-item-unit.unit05 {
    width: 66%;
    margin: 280px auto;
    display: block;
}

.item10 {
    margin-bottom: 90px;
}

.item10 .office-item-inner,
.item11 .office-item-inner {
    margin-bottom: 26px;
}

.item11 {
    margin-top: 160px;
}

.item12 {
    width: 47%;
}

.item13 {
    width: 43%;
    margin-left: auto;
    margin-top: 50px;
}

.item13 .office-item-inner {
    margin-top: 50px;
}

.before-item-unit {
    width: 100%;
    margin: 260px auto 160px;
}

.before-item-unit h3 {
    color: #151515;
    font-size: 2.6rem;
    letter-spacing: .2em;
    text-align: center;
}

.before-item-lst {
    margin: 30px auto;
    width: 100%;
    height: 100%;
    height: 480px;
    background: transparent url(../images/office/before-img.jpg) repeat-x;
    -webkit-transition-property: background-position;
    transition-property: background-position;
    -webkit-transition-duration: 60s;
    transition-duration: 60s;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
    -webkit-animation-name: hero_mid_bg_dra_anim;
    animation-name: hero_mid_bg_dra_anim;
    -webkit-animation-duration: 60s;
    animation-duration: 60s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}


@keyframes hero_mid_bg_dra_anim{
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 2720px 0;
    }
}


.before-item-unit .office-copy {
    text-align: center;
}


/* fade-anime============================================== */

.js-opning__fade{
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
}

/* p-about__split============================================== */

h2.js-opning__split .split-anime span {
    display: inline-block;
    transition: transform 1.3s ease 0s,opacity 1.3s ease 0s;
    opacity: 0;
}

h2.js-opning__split .split-anime span:nth-child(1) {
    transform: translate3d(0, 25px, 0);
    transition-delay: .05s;
    -webkit-transition-delay: .05s;
}

h2.js-opning__split .split-anime span:nth-child(2) {
    transform: translate3d(0, 25px, 0);
    transition-delay: .1s;
    -webkit-transition-delay: .1s;
}

h2.js-opning__split .split-anime span:nth-child(3) {
    transform: translate3d(0, 25px, 0);
    transition-delay: .15s;
    -webkit-transition-delay: .15s;
}

h2.js-opning__split .split-anime span:nth-child(4) {
    transform: translate3d(0, 25px, 0);
    transition-delay: .2s;
    -webkit-transition-delay: .2s;
}

h2.js-opning__split .split-anime span:nth-child(5) {
    transform: translate3d(0, 25px, 0);
    transition-delay: .25s;
    -webkit-transition-delay: .25s;
}

h2.js-opning__split .split-anime span:nth-child(6) {
    transform: translate3d(0, 25px, 0);
    transition-delay: .3s;
    -webkit-transition-delay: .3s;
}

h2.js-opning__split .split-anime span:nth-child(7) {
    transform: translate3d(0, 25px, 0);
    transition-delay: .35s;
    -webkit-transition-delay: .35s;
}

h2.js-opning__split .split-anime span:nth-child(8) {
    transform: translate3d(0, 25px, 0);
    transition-delay: .4s;
    -webkit-transition-delay: .4s;
}

h2.js-opning__split .split-anime span:nth-child(9) {
    transform: translate3d(0, 25px, 0);
    transition-delay: .45s;
    -webkit-transition-delay: .45s;
}

h2.js-opning__split.active .split-anime span {
    transform: translate3d(0, 0, 0);
}

h2.js-opning__split.active .split-anime span{
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* share=================== */


.p-page-content__share{
    width: 69.75%;
    margin: 0 auto 0 auto;
    background-color: #FFF;
}

.p-page-content__share-body{
    width: 100%;
    padding: 0% 12.125% 130px 12.125%;
}

.p-page-content__share h2{
    width: 100%;
    font-size: 1.8rem;
    text-align:center;
    color: #151515;
    /*border-top: solid 1px #d3d3d3;
    padding:0;*/
}

.p-page-content__share-lst{
    width: 38%;
    margin: 3% auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    background-color:#FFF;
}

.p-page-content__share-lst li{
    width: 33.33%;
    background-color: #f7f7f7;
    position:relative;
}

.p-page-content__share-lst li:nth-of-type(2n){
    width: 33.33%;
    background-color: #f3f3f3;
}

.p-page__social-fb svg{
    width: 20%;
}

.p-page__social-tw svg{
    width: 20%;
}

.p-page__social-line svg{
    width: 20%;
}


.p-page__social-fb a,
.p-page__social-tw a,
.p-page__social-line a{
    width: 100%;
    height: 100%;
    padding: 33.05% 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media all and (-ms-high-contrast: none) {
    .p-page__social-fb a,
    .p-page__social-tw a,
    .p-page__social-line a{
        height: 100px;
    }
}

.p-page__social-fb a svg,
.p-page__social-tw a  svg,
.p-page__social-line a svg{
    fill:#151515;
    display: block;
    -webkit-transition: all 0.3s cubic-bezier(.24,.45,.39,.95);
    transition: all 0.3s cubic-bezier(.24,.45,.39,.95);
}

.hover .p-page__social-fb a:hover  svg,
.hover .p-page__social-tw a:hover  svg,
.hover .p-page__social-line a:hover  svg{
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

.l-page__scroll {
    display: none;
}

.sp-br {
    display:none;
}


@media screen and (max-width: 768px) {
    #page-office .l-page-visual__eyecatch {
        width: 100%;
        height: 46%;
        left: 0;
        right: 0;
        margin: auto;
        top:42%;
    }
    .l-page-visual__text {
        top: 20%;
        left: 0;
        right:0;
        margin:auto;
        text-align:center;
    }
    .l-page-visual__text h2 {
        text-align: center;
    }
    .office-item-unit {
        width: 92%;
    }
    .office-item-unit.unit01 {
        width: 92%;
        margin: 100px auto 0;
    }
    .item01,
    .item02 {
        width: 22%;
        left: 0%;
    }
    .item02 {
        left: 19%;
        top: 15%;
    }
    .office-item-unit.unit02 {
        width: 86%;
        margin: 60px auto 0;
    }
    .item04 .office-item-inner {
        margin-right: 30px;
        width: 56%;
    }
    .office-item-unit.unit03 {
        margin: 140px auto 0;
    }
    .office-item-unit.unit04 {
        margin: 80px auto 0;
    }
    .item07,
    .item08 {
        width: 22%;
        left: 5%;
        top: 0%;
    }
    .item08 {
        left: 23%;
        top:14%;
    }
    .item09 {
        width: 43%;
        margin-top: 90px;
        padding-right: 6%;
    }
    .office-item-unit.unit05 {
        width: 80%;
        margin: 180px auto;
    }
    .before-item-unit {
        width: 100%;
        margin: 210px auto 120px;
    }
    .before-item-lst {
        margin: 30px auto;
        padding: 32% 0;
    }

}

@media screen and (max-width: 480px) {
    #page-office .l-page-visual {
        width: 86%;
        max-width: 100%;
    }
    .office-item-unit {
        width: 86%;
    }
    .l-page-visual__text {
        top: 10%;
    }
    .l-page-visual__text h2 {
        font-size: 2rem;
    }
    span.title-sub {
        font-size: 1rem;
    }
    .office-read {
        font-size: 1rem;
    }
    #page-office .l-page-visual__eyecatch {
        width: 100%;
        height: 36%;
        top:36%;
    }
    .l-page__scroll {
        width: 110px;
        height: 130px;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        display: none;
    }
    .l-page__scroll .scroll-line.scroll-line {
        bottom: 5%;
        top:0%;
    }
    .l-page__scroll .scroll-line-ob {
        background-color: #151515;
    }
    .item01, .item02 {
        width: 48%;
        left: 0%;
    }
    .item02 {
        left: auto;
        top: 70px;
        right: 0;
        width: 42%;
    }
    .office-item-unit.unit01 {
        width: 86%;
        margin: 50px auto 0;
    }
    /*.office-item-unit.unit01 .office-copy {
        text-align: center;
    }*/
    .item03 {
        width: 100%;
        margin-left: auto;
        margin-top: 310px;
    }
    .office-copy {
        font-size: 1rem;
        line-height: 2.2;
    }
    .item03 .office-item-inner {
        margin-top: 60px;
    }
    .item04 {
        margin-top: 30px;
        padding: 0;
        display: block;
        flex-direction: column;
        display: flex;
    }
    .item04 .office-item-inner {
        margin-right: 0;
        width: 100%;
        margin: 60px auto 30px;
        order:2;
    }
    .office-item-unit.unit02 {
        margin: 30px auto 0;
        width: 100%;
    }
    .office-item.item04 .office-copy {
        text-align: center;
    }
    .office-item-unit.unit03 {
        margin: 70px auto 0;
        display: block;
    }
    .item05 {
        width: 70%;
        margin: 100px auto 0;
    }
    .item06 {
        width: 100%;
        margin: 80px auto 0px;
    }
    .item06 .office-item-inner {
        margin-bottom: 20px;
    }
    .office-item-unit.unit04 {
        width: 76%;
    }
    .item07,
    .item08 {
        width: 55%;
        left: 0%;
        top: 0%;
    }
    .item08 {
        left: auto;
        top: 11%;
        right: 0;
    }
    .item09 {
        width: 100%;
        margin: 390px auto 0;
        padding-right: 0;
        flex-direction: column;
        display: flex;
    }
    .item09 .office-item-inner {
        margin-bottom: 0px;
        margin-top: 50px;
        order: 2;
    }
    /*.office-item-unit.unit04 .office-copy br {
        display: none;
    }*/
    .office-item-unit.unit05 {
        width: 100%;
        margin: 110px auto;
    }
    .office-item-unit.unit05 .office-copy {
        text-align: center;
    }
    .item10 .office-item-inner{
        margin-bottom: 20px;
    }
    .item11 .office-item-inner {
        margin-bottom: 20px;
    }
    .item10 {
        margin-bottom: 60px;
    }
    .item11 {
        margin-top: 60px;
    }
    .office-item-unit.unit05 .office-copy .sp-br {
        display:block;
    }
    .office-item-unit.unit06 {
        margin: 0px auto 0;
        display: block;
    }
    .item12 {
        width: 60%;
        margin: 0 auto;
    }
    .item13 {
        width: 90%;
        margin: 50px auto 0;
        margin-top: 50px;
    }
    .office-item-unit.unit06 .office-copy {
        text-align: center;
    }
    .before-item-unit {
        width: 100%;
        margin: 110px auto 80px;
    }
    .before-item-unit h3 {
        font-size: 1.4rem;
    }
    .before-item-lst {
        margin: 20px auto;
        padding: 0;
        height: 265px;
        background: transparent url(../images/office/before-img-sp.jpg)
    }
    .p-page-content__share {
        width: 100%;
    }
    .p-page-content__share h2 {
        width: 100%;
        font-size: 1.5rem;
        padding: 5% 0 0 0;
    }
    .p-page-content__share-body {
        width: 100%;
        padding: 0% 7% 10% 7%;
    }
    .p-page-content__share-lst {
        width: 70%;
        margin: 3% auto 6%;
    }
    .p-page__social-fb a,
    .p-page__social-tw a,
    .p-page__social-line a {
        padding: 23.05% 0;
    }

}


@media screen and (max-width: 320px) {
    .l-page-visual__text {
        top: 5%;
    }

}


/* pagelink============================================== */


.page-link {
    width: 100%;
    position:relative;
    border-top: solid 1px #dbdbdb;
}
.page-link__inner {
    width: 100%;
    max-width: 1400px;
    margin:0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.page-lst {
    width: 33.3%;
    position:relative;
}

.page-lst a {
    width: 100%;
    height: 100%;
    display: block;
    cursor: pointer;
    padding: 35px 0 35px 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}

.page-lst:after {
    content: '';
    position: absolute;
    right: 0;
    width: 1px;
    background-color: #dbdbdb;
    height: 40px;
    top: calc(50% - 20px);
}

.page-lst:nth-child(3n):after {
    display: none;
}

.page-title {
    color: #151515;
    font-size: 1.9rem;
    letter-spacing: .1em;
    position:relative;
}
.page-lst span.title-sub {
    font-size: 1.1rem;
    letter-spacing: .05em;
}

.page-title:after {
    content: '';
    position: absolute;
    width: 7px;
    height: 7px;
    background-color: #ea5550;
    left: -10px;
    top: 2px;
    border-radius: 50%;
}
.next-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    position: relative;
    border: 1px solid #999;
    border-radius: 50%;
    overflow: hidden;
    margin-left: 80px;
}

.page-lst a:hover .next-icon {
    overflow: visible;
    -webkit-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    -o-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    border: 1px solid #e53e46;
}

.next-icon i {
    display: block;
    position: absolute;
    border-bottom: 1px solid #777;
    border-right: 1px solid #777;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    width: 6px;
    height: 6px;
    top: 50%;
    left: 48%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);
    -o-transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);
}

.page-lst a:hover .next-icon i {
    border-bottom: 1px solid #e53e46;
    border-right: 1px solid #e53e46;
    -webkit-transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);
    -o-transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
}

.next-line {
    height: 1px;
    width: 0%;
    position: absolute;
    top: 50%;
    left: -40%;
    background: #e4e4e4;
    z-index: 0;
}

.next-line:before {
    width: 100%;
    content: "";
    display: block;
    top: 0;
    left: 1px;
    position: absolute;
    background-color: #E4E4E4;
    height: 1px;
    z-index: 1;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    transition: -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    -o-transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
}

.page-lst a:hover .next-line {
    top: 50%;
    width: 100%;
    -webkit-animation: nextLine 0.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation: nextLine 0.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

.next-line:after {
    width: 100%;
    content: "";
    display: block;
    top: 0;
    left: 1px;
    position: absolute;
    background: #e53e46;
    height: 1px;
    z-index: 1;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    transition: -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    -o-transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
}

.hover .page-lst a::hover .next-line:before {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    -o-transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
}

.hover .page-lst a:hover .next-line:after {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    -o-transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0.16, 0.12, 1);
    -webkit-transition-delay: 0.35s;
    -o-transition-delay: 0.35s;
    transition-delay: 0.35s;
}


@keyframes nextLine{
    0% {
        -webkit-transform: translate3d(-150%, 0, 0) scale(1);
        transform: translate3d(-150%, 0, 0) scale(1);
        -webkit-transform-origin: right top;
        transform-origin: right top;
    }
    100% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0) scale(1);
        transform: translate3d(0, 0, 0) scale(1);
    }
}


@media screen and (max-width: 768px) {
    .next-icon {
        margin-left: 50px;
    }
    .page-lst a {
        padding: 35px 0 35px 30px;
    }
    .page-title {
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 480px) {
    .page-link {
        border-top: solid 12px #f5f5f5;
    }
    .page-link__inner {
        display: block;
    }
    .page-lst {
        width: 100%;
    }
    .page-lst a {
        padding: 22px 35px;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
    }
    .next-icon {
        margin-left: auto;
        width: 20px;
        height: 20px;
    }
    .next-icon i {
        width: 4px;
        height: 4px;
    }
    .page-title {
        font-size: 1.5rem;
    }
    .page-lst:after {
        right: 0;
        left: 0;
        width: 100%;
        background-color: #e9e9e9;
        height: 1px;
        top: auto;
        bottom: 0;
    }
    .page-title:after {
        width: 5px;
        height: 5px;
        left: -5px;
        top: 1px;
    }
    .page-lst span.title-sub {
        font-size: 1rem;
        line-height: 1.4;
    }

}


/* philosophy============================================== */

#page-philosophy .l-content {
    padding-bottom: 0;
}

#page-philosophy .p-archive-column__visual {
    width: 100%;
    margin: 110px auto 0;
}

#page-philosophy .p-archive-column__visual h2 {
    left: 0;
}

.p-page-philosophy {
    width: 100%;
    position:relative;
}

.p-page-philosophy__body {
    width: 65.90%;
    margin: 60px auto 80px;
    max-width: 1140px;
}

.plsp-lst {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 100px 0;
    border-bottom: solid 1px #d3d3d3;
}

.plsp-lst:last-child {
    border:none;
    padding-bottom: 0px;
}

.plsp-lst.plsp-lst04 {
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}

.plsp-label {
    width: 40%;
    color: #151515;
    font-size: 2.4rem;
    letter-spacing: .05em;
    position: relative;
}

.plsp-label :after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: #ea5550;
    left: -9px;
    top: -5px;
    border-radius: 50%;
}

span.plsp-sub {
    font-size: 1.2rem;
    color: #7c7c7c;
    display: block;
    margin-top: 0px;
    letter-spacing: .1em;
    font-weight: normal;
}

.plsp-text {
    width: 60%;
}

.plsp-text01 img {
    width: 80%;
}

.plsp-text04 img {
    width: 70%;
}

.plsp-text05 img {
    width: 52%;
    margin-bottom: 40px;
}
.logo-read {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 20px;
    color: #151515;
    letter-spacing: 0;
}


@media screen and (max-width: 768px) {

    #page-philosophy .p-archive-column__visual {
        height: 33vh;
        margin: 14% 0 0;
    }
    .p-page-philosophy__body {
        width: 100%;
        margin: 60px auto 0px;
        max-width: 100%;
        padding: 0 8%;
    }

}
@media screen and (max-width: 480px) {

    #page-philosophy .p-archive-column__visual {
        width: 100%;
        height: 25vh;
        margin: 0;
    }
    #page-philosophy .p-archive-column__visual h2 {
        font-size: 2.3rem;
    }
    .p-page-philosophy__body {
        margin: 15px auto 0px;
        padding: 0px;
    }
    .plsp-lst {
        display: block;
        padding: 45px 30px 52px;
    }
    .plsp-lst:last-child {
        padding-bottom:30px;
    }
    .plsp-label {
        width: 100%;
        font-size: 1.2rem;
        letter-spacing: .04em;
    }
    .plsp-text {
        width: 100%;
        margin: 30px auto 0;
    }
    .plsp-text img{
        margin: 0 auto;
        display: block;
    }
    span.plsp-sub {
        font-size: 1rem;
    }
    .plsp-label :after {
        width: 6px;
        height: 6px;
        left: -8px;
        top: 0px;
    }
    .plsp-text05 img {
        width: 52%;
        margin-bottom: 30px;
    }
    .logo-read {
        font-size: 1.3rem;
        line-height: 1.6;
        margin-bottom: 15px;
    }
    .logo-read br {
        display: none;
    }
}


/* outline============================================== */

#page-outline .p-archive-column__visual {
    width: 100%;
    margin: 110px auto 0;
}

#page-outline .p-archive-column__visual h2 {
    left: 0;
}

.p-page-outline {
    width: 100%;
    position:relative;
}

.p-page-outline__body {
    width: 100%;
    margin: 90px auto 0px;
}

.company-data{
    width: 60.30%;
    margin: 5% auto 0;
    color: #151515;
    max-width: 1024px;
}

.company-data tbody {
    margin-left: 50px;
    display: block;
}

.company-data th,
.company-data td {
    line-height: 1.6;
    padding: 28px 0 28px;
    text-align: left;
    vertical-align: top;
    font-size : 1.6rem;
    font-weight: normal;
    position:relative;
    border-top: solid 1px #eaeaea;
}

.company-data th {
    width: 90%;
    display: block;
    font-weight: bold;
    letter-spacing: .1em;
    position:relative;
}
.company-data td {
    width: 80%;
}


.map-area {
    width: 100%;
    margin: 80px auto 0;
}
.map-area__inner {
    width: 100%;
    position:relative;
}
.map-area__inner h3{
    position: absolute;
    right: 30px;
    top: 30px;
    color: #151515;
    z-index: 10;
    font-size: 1.5rem;
    letter-spacing: .1em;
}
.map-area__inner h3:after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: #ea5550;
    left: -7px;
    top: -3px;
    border-radius: 50%;
}
.map-label{
    width: 200px;
    background-color: #FFF;
    position: absolute;
    z-index:10;
    top: 40%;
    left: 33%;
    border-radius: 4px;
    box-shadow: 0px 0px 14px 0px rgba(10,10,50,0.1);
    cursor: pointer;
}
.map-label a{
    width: 100%;
    height: 100%;
    display: block;
    cursor:pointer;
    padding: 12px;
}
.map-logo {
    width: 150px;
    margin: 0 auto;
}
.g-map {
    width: 84px;
    text-align: center;
    color: #ea5550;
    position: relative;
    display: block;
    margin: 9px auto 0;
    padding: 6px 2px;
    border: 1px solid #ea5550;
    border-radius: 20px;
    line-height: 1;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    font-size: 1rem;
    letter-spacing: 0;
    -webkit-transition: .3s cubic-bezier(.55, .085, .68, .53);
    transition: .3s cubic-bezier(.55, .085, .68, .53);
    cursor: pointer;
}

.map-label a:hover .g-map {
    background-color: #ea5550;
    color: #FFF;
}
.map-bg {
    width: 100%;
    position:relative;
    z-index:0;
}

#page-outline .l-content {
    padding-bottom: 0%;
}


@media screen and (max-width: 768px) {

    #page-outline .p-archive-column__visual  {
        height: 33vh;
        margin: 14% 0 0;
    }
    .p-page-outline__body {
        margin: 80px auto 0px;
    }
    .company-data {
        width: 100%;
        max-width: 100%;
    }
    .company-data tbody {
        margin-left: 0;
        padding: 0 28px;
    }
    .map-area {
        margin: 30px auto 60px;
    }

}
@media screen and (max-width: 480px) {

    #page-outline .p-archive-column__visual {
        width: 100%;
        height: 25vh;
        margin: 0;
    }
    #page-outline .p-archive-column__visual h2 {
        font-size: 2.3rem;
    }
    .company-data td {
        width: 72%;
    }
    .company-data th,
    .company-data td {
        line-height: 1.5;
        padding: 24px 0 23px;
        font-size: 1.2rem;
        letter-spacing:0;
    }
    .p-page-outline__body {
        margin: 50px auto 0px;
    }
    .map-area__inner h3 {
        right: 10px;
        top: 20px;
        font-size: 1.3rem;
        letter-spacing: .05em;
    }
    .map-logo {
        width: 100px;
        margin: 0 auto;
    }
    .map-label {
        width: 150px;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }


}
/* privacy============================================== */

#page-privacy .p-archive-column__visual {
    width: 100%;
    margin: 110px auto 0;
}

.p-page-privacy {
    width: 100%;
    position:relative;
}

.p-page-privacy__body {
    width: 65.90%;
    margin: 110px auto 0px;
    max-width: 1200px;
}

.privacy-contents{
    width: 870px;
    margin: 70px auto 70px;
}

.privacy-contents h3{
    font-size: 2.4rem;
    line-height: 1.6;
    color: #151515;
    font-weight: bold;
    text-align: center;
    position:relative;
    display: table;
    margin: 0 auto;
}

.privacy-contents h3:after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: #ea5550;
    left: -9px;
    top: -5px;
    border-radius: 50%;
}

.privacy-contents h4{
    font-size: 2rem;
    line-height: 1.6;
    color: #ea5550;
}

.privacy-contents__text {
    width: 100%;
    height:auto;
    margin: 30px auto;
}

.privacy-read {
    font-size: 1.5rem;
    line-height: 2;
    color: #151515;
}

.privacy-lst {
    width: 100%;
    margin: 30px auto;
    color: #151515;
}

.privacy-lst li{
    font-size: 1.5rem;
    line-height: 1.5;
    margin: 14px 0 0;
    font-weight: bold;
}


@media screen and (max-width: 768px) {

    #page-privacy .p-archive-column__visual {
        height: 33vh;
        margin: 14% 0 0;
    }
    .privacy-contents {
        width: 100%;
        margin: 50px auto 70px;
    }
    .p-page-privacy__body {
        width: 100%;
        margin: 80px auto 0px;
        max-width: 100%;
        padding: 0 8%;
    }

}
@media screen and (max-width: 480px) {

    #page-privacy .p-archive-column__visual {
        width: 100%;
        height: 25vh;
        margin: 0;
    }
    #page-privacy .p-archive-column__visual h2 {
        font-size: 2.3rem;
    }

    .p-page-privacy__body {
        margin: 50px auto 0px;
        padding: 0 30px;
    }

    .privacy-contents {
        width: 100%;
        margin: 40px auto 50px;
    }

    .privacy-contents h3{
        font-size: 1.6rem;
        line-height: 1.6;
    }

    .privacy-contents h4{
        font-size: 1.4rem;
        line-height: 1.5;
    }

    .privacy-contents__text {
        margin: 22px auto;
    }

    .privacy-read {
        font-size: 1.3rem;
        line-height: 1.7;
    }

    .privacy-lst {
        margin: 22px auto;
    }

    .privacy-lst li{
        font-size: 1.3rem;
        margin: 8px 0 0;
    }

}


/* contact============================================== */

#page-contact .p-archive-column__visual {
    width: 100%;
    margin: 110px auto 0;
}

#page-contact .p-archive-column__visual h2 {
    left:0;
}

.p-page-contact {
    width: 100%;
    position:relative;
}

.p-page-contact__body {
    width: 65.90%;
    margin: 100px auto 60px;
}

.contact-guide {
    font-size: 1.6rem;
    color: #151515;
    line-height: 1.8;
    letter-spacing: .05em;
    text-align: center;
    position:relative;
}

/*.contact-guide:after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: #ea5550;
    left: -9px;
    top: -5px;
    border-radius: 50%;
}*/

.form-flow {
    width: 90%;
    max-width: 800px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    padding: 25px 0;
    color: #151515;
    font-weight: bold;
    font-size: 2rem;
    letter-spacing: .05em;
    margin: 0 auto 70px;
}

.form-flow li{
    width: 30%;
    position:relative;
}

.form-flow li:after {
    content: '';
    position: absolute;
    right: -33%;
    width: 50%;
    background-color: #151515;
    height: 1px;
    top: calc(50% - -8px);
}

.form-flow li:last-child:after {
    display: none;
}

.flow-active {
    color: #ea5550;
}

.flow-num {
    display: block;
    font-size: 1.3rem;
    text-align: center;
}

.flow-label {
    display: block;
    text-align: center;
}

/* form======= */

.form-contents{
    width: 870px;
    margin:90px auto 0;
}

.form-contents table {
    width: 100%;
    margin-top: 60px;
    color: #151515;
}

.form-contents table th,
.form-contents table td {
    vertical-align: top;
    padding-bottom: 50px;
}

.form-contents table td {
    font-size: 1.5rem;
}

.form-contents table th {
    width: 290px;
    padding: 0.75em 2em 0 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1.7rem;
    text-align: left;
    font-weight: normal;
}

.form-contents table th .title {
    display: inline-block;
    vertical-align: top;
    margin-top: -0.125em;
    font-weight: bold;
}

.mwform-radio-field.horizontal-item {
    position: relative;
}

.mwform-radio-field.horizontal-item input {
    display: none;
}

.mwform-radio-field label {
    font-size: 1.6rem;
    padding-left: 28px;
    line-height: 1.5;
    position:relative;
    margin-right: 20px;
    cursor: pointer;
}

.mwform-radio-field-text:before{
    position: absolute;
    top: -3px;
    left: 0;
    display: block;
    width: 22px;
    height: 22px;
    background-color: #f5f5f5;
    border: 1px solid #dcdcdc;
    border-radius: 50%;
    content: "";
}

.mwform-radio-field-text:after {
    position: absolute;
    top: 1px;
    left: 4px;
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: #e53e46;
    content: "";
    -webkit-transition: .3s cubic-bezier(.55, .085, .68, .53);
    transition: .3s cubic-bezier(.55, .085, .68, .53);
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transform: scale(0);
    transform: scale(0);
}

label input:checked + .mwform-radio-field-text::after {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.form-contents table th .required {
    display: inline-block;
    vertical-align: top;
    color: #d80930;
    font-size: 1.8rem;
    line-height: 0.875;
}

.form-contents table td .unit {
    vertical-align: middle;
    letter-spacing: 0.02em;
    margin-left: 0.4em;
}

.form-contents table td .notes {
    vertical-align: middle;
    font-size: 1.5rem;
    margin-left: 1em;
    letter-spacing: 0.02em;
    color: #686f7a;
}

.form-contents table td p.notes {
    margin-left: 0;
}

.form-contents table td .error {
    font-size: 12px;
}

.form-contents select {
    font-size: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 44px;
    padding: 0 30px 0 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    border: 1px solid #dcdcdc;
    background: #f5f5f5 url(../images/entry/select-arrow.png) 100% 50% no-repeat;
    -webkit-background-size: 17px 14px;
    background-size: 17px 14px;
}

.form-contents select::-ms-expand {
    display: none;
}

.form-contents select.short {
    width: 140px;
}

.form-contents input[type="text"],
.form-contents input[type="email"],
.form-contents input[type="tel"],
.form-contents input[type="number"] {
    font-size: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 44px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #f5f5f5;
    border: 1px solid #dcdcdc;
    font-size: 1.5rem;
}

.form-contents textarea {
    display: block;
    font-size: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 15em;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    border: 1px solid #dcdcdc;
    background-color: #f5f5f5;
    line-height:1;
}

.form-contents .field-set .field {
    display: inline-block;
    margin-right: 1.5em;
}

.form-contents .field-set .field:last-child {
    margin-right: 0;
}

.form-contents .field-set.half-and-half .field {
    width: 280px;
    margin-right: 0;
}

.form-contents .field-set.half-and-half .field:first-child {
    float: left;
}

.form-contents .field-set.half-and-half .field:nth-child(2) {
    float: right;
}

.form-contents .submit-btns {
    text-align: center;
}

.form-contents .submit-btns input[type="submit"] {
    display: inline-block;
    width: 154px;
    height: 50px;
    margin: 0 20px;
    border: none;
    background-color: #016f8b;
    color: #fff;
    text-align: center;
}

.form-contents .submit-btns button {
    display: inline-block;
    width: 154px;
    height: 50px;
    margin: 0 20px;
    border: none;
    background-color: #e53e46;
    color: #fff;
    text-align: center;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    font-size: 1.6rem;
    cursor: pointer;
}

.form-contents .submit-btns button {
    -webkit-transition: .3s cubic-bezier(.55, .085, .68, .53);
    transition: .3s cubic-bezier(.55, .085, .68, .53);
}
.form-contents .submit-btns button:hover {
    background-color: #101010;
}

.form-contents .privacy-link {
    display: table;
    margin: 40px auto 0;
    font-size: 13px;
}

.form-contents .privacy-link a {
    -webkit-transition: .3s cubic-bezier(.55, .085, .68, .53);
    transition: .3s cubic-bezier(.55, .085, .68, .53);
}

.form-contents .privacy-link a:hover {
    color:#6b6b6b;
    text-decoration-color: transparent;
}

.form-contents .privacy-link a {
    display: inline-block;
    color: #101010;
    margin-top: 1em;
    text-decoration: underline;
}

.form-contents .privacy-link a:first-child {
    margin-top: 0;
}

.form-contents .privacy-agree {
    text-align: center;
    display: none;
    margin-top: 2em;
}

.form-contents .mw_wp_form_confirm table th {
    padding-top: 0.25em;
}

.form-contents .mw_wp_form_confirm table td .notes {
    display: none;
}

.mw_wp_form_confirm .privacy-link {
    display: none;
}

.form-contents .mw_wp_form_confirm .privacy-agree {
    display: block;
}

.form-contents .mw_wp_form_confirm .field-set .field {
    width: auto !important;
    float: none !important;
}

.form-contents .mw_wp_form_confirm .field-set .field:first-child {
    margin-right: 2em;
}

.mw_wp_form_complete .form-contents {
    text-align: center;
}

.form-contents .section-headline{
    font-size: 2.4rem;
}

.mw_wp_form_complete .form-contents h5 {
    font-size: 2rem;
    color: #ea5550;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    margin: 35px 0 40px;
}

.mw_wp_form_complete .form-contents p {
    font-size: 1.4rem;
    letter-spacing: 0.04em;
    text-indent: 0.04em;
    margin: 15px 0 0;
    line-height: 1.5;
    color: #151515;
}

.mw_wp_form_complete .form-contents .back-btn {
    width: 225px;
    margin: 50px auto 0;
    background-color: #101010;
    text-align: center;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
}

.mw_wp_form_complete .form-contents .back-btn a {
    color: #FFF;
    font-weight: bold;
    font-size: 1.3rem;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    padding: 20px 0;
}

.mw_wp_form .error {
    font-size: 93%;
    color: #e53e46;
    display: block;
}

.mw_wp_form .br-sp{
    display: none;
}

@media screen and (max-width: 768px) {

    .form-contents {
        width: auto;
    }
    .form-contents .caution ul {
        list-style: none;
        padding: 0;
    }
    .form-contents .caution ul li {
        padding-left: 21px;
        text-indent: -21px;
    }
    .form-contents .caution ul li:before {
        width: 6px;
        height: 6px;
        margin-bottom: 2px;
    }
    .form-contents .caution .notes {
        font-size: 11px;
    }
    .form-contents table {
        display: block;
        margin-top: 50px;
    }
    .form-contents table tbody,
    .form-contents table tr,
    .form-contents table th,
    .form-contents table td {
        display: block;
        padding: 0;
    }
    .form-contents table th {
        width: 100%;
        font-size: 13px;
        padding-bottom: 5px;
    }
    .form-contents table th .required {
        font-size: 11px;
    }
    .form-contents table td {
        padding-bottom: 30px;
    }
    .form-contents table td .unit {
        font-size: 13px;
    }
    .form-contents table td .notes {
        font-size: 11px;
    }
    .form-contents table td .error {
        font-size: 11px;
    }
    .form-contents select {
        font-size: 16px;
    }
    .form-contents select.short {
        width: 130px;
        max-width: 70%;
    }
    .form-contents input[type="text"],
    .form-contents input[type="email"],
    .form-contents input[type="tel"],
    .form-contents input[type="number"] {
        font-size: 16px;
    }
    .form-contents input[type="text"].short,
    .form-contents input[type="email"].short,
    .form-contents input[type="tel"].short,
    .form-contents input[type="number"].short {
        width: 130px;
        max-width: 70%;
    }
    .form-contents textarea {
        font-size: 16px;
        height: 10em;
    }
    .form-contents .field-set .field {
        width: 50%;
        max-width: 167.5px;
        margin: 0;
        float: left;
    }
    .form-contents .field-set.half-and-half .field {
        width: 48%;
        max-width: initial;
        max-width: auto;
    }
    .form-contents .submit-btns {
        text-align: center;
    }
    .form-contents .submit-btns input[type="submit"] {
        display: block;
        width: 158px;
        height: 40px;
        margin: 25px auto 0;
    }
    .form-contents .submit-btns input[type="submit"]:first-child {
        margin-top: 0;
    }
    .form-contents .submit-btns button {
        display: block;
        width: 158px;
        height: 40px;
        margin: 25px auto 0;
    }
    .form-contents .submit-btns button:first-child {
        margin-top: 0;
        font-size: 1.2rem;
        font-weight: bold;
    }
    .form-contents .privacy-link {
        font-size: 11px;
        margin-top: 25px;
    }
    .form-contents .mw_wp_form_confirm .field-set .field:first-child {
        margin-right: 1em;
    }
    .form-contents .mw_wp_form_complete h5 {
        font-size: 15px;
        margin-bottom: 1.5em;
    }
    .form-contents .mw_wp_form_complete .back {
        width: 180px;
    }

    .mw_wp_form_complete .form-contents h5 {
        font-size: 2.4rem;
        letter-spacing: 0;
        margin: 35px 0 50px;
    }
    .mw_wp_form .br-sp {
        display: block;
    }

    .mw_wp_form_complete .form-contents p {
        font-size: 1.6rem;
        margin: 25px 0 0;
        line-height: 2;
    }


    #page-contact .p-archive-column__visual {
        height: 33vh;
        margin: 14% 0 0;
    }
    .p-page-contact__body {
        width: 100%;
        margin: 40px auto 60px;
        padding: 0 8%;
    }

}
@media screen and (max-width: 480px) {

    #page-contact .p-archive-column__visual {
        width: 100%;
        height: 25vh;
        margin: 0;
    }
    #page-contact .p-archive-column__visual h2 {
        font-size: 2.3rem;
    }
    .p-page-contact__body {
        margin: 20px auto 50px;
        padding: 0 20px;
    }
    .form-flow {
        width: 100%;
        padding: 25px 0;
        font-size: 1.4rem;
        margin: 0 auto 20px;
    }
    .flow-num {
        font-size: 1rem;
    }
    .contact-guide {
        font-size: 1.3rem;
        line-height: 1.7;
        text-align: left;
    }
    .form-contents {
        width: 100%;
        margin: 45px auto 0;
    }
    .mwform-radio-field label {
        font-size: 1.3rem;
    }
    .mwform-radio-field.horizontal-item {
        display: block;
        margin: 13px 0;
    }
    .mw_wp_form .horizontal-item + .horizontal-item{
        margin-left:0 !important;
    }
    .form-contents table th .title {
        font-size: 1.3rem;
    }

    .form-contents table {
        margin-top: 24px;
    }

    .mw_wp_form_complete .form-contents h5 {
        font-size: 1.6rem;
        margin: 25px 0 20px;
    }

    .mw_wp_form_complete .form-contents p {
        font-size: 1.3rem;
        line-height: 1.6;
    }

    .mw_wp_form_complete .form-contents .back-btn {
        margin: 30px auto 55px;
    }

    .mwform-radio-field-text:before {
        top: -5px;
    }
    .mwform-radio-field-text:after {
        top: -1px;
    }

}

/* recruit============================================== */
.page-template-recruit .p-archive-column__visual {
    width: 100%;
    margin: 110px 0 0;
}
.page-template-recruit .p-archive-column__visual h2 {
    left: 0%;
}
.page-template-recruit .l-content {
    padding-bottom: 0%;
}
.p-page-recruit {
    width: 100%;
    position: relative;
    padding: 0 6%;
}
.p-page-recruit__body {
    width: 100%;
    max-width: 1000px;
    margin: 90px auto 0px;
}
.recruit-tab-unit {
    width: 100%;
    margin-top: 40px;
}
.recruit-tab-lst {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-top: solid 1px #e3e6ea;
    border-bottom: solid 1px #e3e6ea;
}
.recruit-tab {
    width: 50%;
    text-align: center;
    font-size: 1.8rem;
    letter-spacing: 0;
    padding: 30px 0;
    font-weight: bold;
    color: #151515;
    cursor: pointer;
    -webkit-transition: .3s cubic-bezier(.55, .085, .68, .53);
    transition: .3s cubic-bezier(.55, .085, .68, .53);
}
.hover .recruit-tab:hover {
    color: #ea5550;
}
.recruit-tab.recruit-active {
    color: #ea5550;
}
.recruit-tab:first-child {
    border-right: solid 1px #e3e6ea;
}
.recruit-container__wrap {
    width: 100%;
    margin: 0px auto 0;
    position: relative;
}
.recruit-tab__container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto 0;
    position: relative;
}
.recruit-tab__container {
    opacity: 0;
    display: none;
    -webkit-transition: .5s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition: .5s cubic-bezier(0.55, 0.05, 0.22, 0.99);
}
.recruit-tab__container.recruit-show {
    opacity: 1;
    display: block;
}
.recruit-text {
    font-size: 1.6rem;
    color: #151515;
    padding: 50px 0;
    text-align: center;
    font-weight: bold;
}
.p-page-recruit .company-data {
    width: 100%;
    margin: 0 auto 0;
    color: #151515;
    max-width: 1000px;
}
.p-page-recruit .company-data tbody {
    margin-left: 0px;
    display: block;
}
.p-page-recruit .company-data th {
    width: 90%;
    letter-spacing: 0em;
}
.p-page-recruit .company-data th span.recruit-label {
    position:relative;
    display: inline-block;
}
.p-page-recruit .company-data th span.recruit-label:before {
    content: '';
    position: absolute;
    width: 7px;
    height: 7px;
    background-color: #ea5550;
    left: -7px;
    top: -6px;
    border-radius: 50%;
}
.p-page-recruit .company-data td {
    width: 70%;
}
.company-data .work-content {
    font-weight: bold;
    margin-bottom: 10px;
}
.company-data .work-read {
    font-size: 1.6rem;
    margin-bottom: 30px;
}
.work-read a {
    color: #ea5550;
    text-decoration:underline;
    font-weight: bold;
    -webkit-transition: .3s cubic-bezier(.55, .085, .68, .53);
    transition: .3s cubic-bezier(.55, .085, .68, .53);
}
.hover .work-read a:hover {
    opacity: .7;
    text-decoration-color: transparent;
}

@media screen and (max-width: 768px) {
    .page-template-recruit .p-archive-column__visual {
        height: 33vh;
        margin: 14% 0 0;
    }
    .p-page-recruit {
        width: 100%;
        position: relative;
        padding: 0;
    }
    .p-page-recruit__body {
        margin: 60px auto 0px;
    }
}
@media screen and (max-width: 480px) {
    .page-template-recruit .p-archive-column__visual {
        width: 100%;
        height: 25vh;
        margin: 0;
    }
    .p-page-recruit__body {
        margin: 0px auto 0px;
    }
    .recruit-tab-unit {
        margin-top: 0px;
    }
    .recruit-tab-lst {
        border-top: none;
    }
    .recruit-tab {
        font-size: 1.4rem;
        padding: 18px 0;
    }
    .recruit-text {
        font-size: 1.3rem;
        padding: 30px 28px;
        text-align: left;
    }
    .p-page-recruit .company-data th {
        font-size: 1.3rem;
        line-height: 1.3;
    }
    .company-data .work-content {
        font-size: 1.3rem;
        margin-bottom: 6px;
    }
    .company-data .work-read {
        font-size: 1.3rem;
        margin-bottom: 18px;
    }
}