@charset "UTF-8";

.flex{
    display: flex;
    flex-wrap: wrap;
}
.flex_c{
    justify-content: center;
}
/*****************************
header
******************************/

#header_area {
    background: #750909;
    height: 190px;
    position: relative;
    z-index: 100;
    padding-top:40px;
}
#header_area:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 63.5vh 49.2vw 0 0;
    border-color: #ffffff transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
}
.p-contact{
    position:relative;
    z-index: 100;

}
..c-header__logo{
    margin-bottom: 20px;
}
.c-header__logo a{
    width:290px;
    display: block;
}
.c-header_container{
  display: flex;
}

.c-header__results {
    margin: 10px 0 0;
}

.c-header__btn {
    margin: 10px 0 0;
}
.c-header__results img {
    width: 60px;
}

.c-header__btn a img{
    width: 60px;
}
.c-header{
    margin-top: 0;
    position: relative;
    z-index: 10;
}
.c-header__nav {
    margin-top: 0;
    position: relative;
    z-index: 2;
    background: transparent;
    padding-top: 45px;
    font-size: 0.25em;
}
.c-header__nav ul li {
    text-align: center;
    flex-grow: 1;
    position: relative;
    padding: 0 1em;
}
.c-header__nav ul li a {
    display: inline-block;
    align-items: center;
}
.c-header__nav ul li a .icon{
    display: none;
}
.c-header__nav ul li a .text {
    display: block;
    font-size: 2rem;
    text-align: center;
    letter-spacing: 0.4rem;
    line-height: 2rem;
    font-weight: bold;
    white-space: nowrap;
}
.c-header__nav ul li.c-has-child li {
    font-size: 2rem;
}
.p-top .c-mainvisual:first-of-type{
    margin-top: 0;
}

/**************************************
footer
***************************************/

.c-footer .c-wrap-footer{
    position: relative;
}
.c-footer .c-wrap-footer__right {
    position: absolute;
    right: 0;
    top: 0;
}
.c-footer .c-logo{
    margin-bottom: 20px;
}
.c-footer .c-wrap-footer__left {
    display: block;
    align-items: center;
    text-align: center;
    margin: 0 auto;
}
.sns_btn_area{
    margin-bottom:40px;
}
.sns_btn_area li:not(:last-of-type){
    margin-right: 35px;
}
.c-footer .c-copyright {
    margin-top: 3.6rem;
}
/*******************************
front page
*********************************/
.c-mainvisual_box figure{
    position: relative;
}
.c-mainvisual_box figure:after {
    content: "";
    display: none;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 44.2vw 52.4vw;
    border-color: transparent transparent #00000080 transparent;
    bottom: 0;
    right: 0;
    z-index: 0;
}
.c-mainvisual_box figure > img{
    object-fit: cover;
    object-position: center;
    width: 100vw;
    height: 56.6vw;
    min-height: 725px;
}
.c-mainvisual_box figure figcaption{
    position: absolute;
    bottom: 10%;
    width: 990px;
    left: calc(50% - 495px);
    z-index: 1;
}
#home_philosophy{
    position: relative;
    padding: 120px 0 0;
    background:#000;
}
#home_philosophy:before {
    content: "";
    display: block;
    width: 90vw;
    height: 615px;
    background: url(../img/philio_bg01.png) no-repeat;
    position: absolute;
    right: 0;
    bottom: 0;
    background-size: cover;
    max-width: 1460px;
    background-position: center;
}
#home_philosophy:after{
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 593px 55.3vw 0 0;
    border-color: #750909 transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
}
#home_philosophy h2{
    position: relative;
    z-index: 1;
}
#home_philosophy dl{
    text-align: right;
    width: 100%;
    height: 540px;
    color: #fff;
    padding: 80px 0 80px 80px;
    margin-top: -60px;
    text-shadow: 3px 3px 5px #333;
    position: relative;
}
#home_philosophy dl dt span{
    background: #750909;
}
#home_philosophy dl dd{
    background:rgba(0,0,0,.5);
}
#home_philosophy dl dt{
    font-size: 4.5rem;
    font-weight: bold;
    margin-bottom: 1em;
}
#home_philosophy dl dd{
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: 2px;
    margin:0 0 0 auto;
    width:fit-content;
    background:rgba(0,0,0,.5);
    padding:10px;
}
.p-top1 .c-list-news{
    display: block;
}
.p-top1 .c-list-news .c-new {
    display: flex;
    width: 50%;
    margin-bottom: 40px;
}
.c-new__img img{
    width: 160px !important;
    height: 160px !important;
    object-fit: cover;
}
.c-new__cont{
    margin-left: 30px;
    width: calc(100% - 200px);
}
.p-top1 .c-list-news .c-new__date {
    font-size: 1.8rem;
    line-height: 1.7em;
    color: #ffffff;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 1em;
    letter-spacing: 0.38rem;
    background: #991414;
    border-radius: 5px;
    text-align: center;
    width: fit-content;
    padding: 0 10px;
}
.p-top1 .c-list-news .c-new__content{
    background: #eee;
    font-size: 1.8rem;
    padding: .5em;
    height: 52%;
    margin-top: 1em;
}
.c-list-news .c-view-list a{
    margin:0;
}
#home_news{
    position: relative;
    margin-bottom: 120px;
}
#home_news .l-container{
    position: relative;
}
#home_news h2{
    position: absolute;
    right: 0;
    top: calc(50% - 125px);
    z-index: 1;
}
#home_news:after{
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 32vw 41vw 32vw 0;
    border-color: transparent #000000 transparent transparent;
    position: absolute;
    right: 0;
    top: calc(50% - 40vw);
    z-index: 0;
}
#home_news:before{
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 32vw 41vw 32vw 0;
    border-color: transparent #991414 transparent transparent;
    position: absolute;
    right: 0;
    top: calc(50% - 37vw);
    z-index: 0;
}
.p-top2 .c-slider-work__item img {
    height: auto;
    width: 440px;
    padding:0;
}
.p-top2 .c-wrap-arrows .c-prev {
    background: none;
    width: 100%;
    left: 0px;
    top: 20px;
    margin-left: -2rem;
    height: 1em;
}
.p-top2 .c-wrap-slider {
    position: relative;
    margin: 0 0 0 auto;
    width: 480px;
}
.p-top2 .c-wrap-arrows {
    text-align: center;
    margin-top: 0;
    position: relative;
    z-index: 1;
}
.p-top2 .c-wrap-arrows:last-of-type{
    bottom:45px;
}
.p-top2 .c-wrap-arrows .c-prev img, .p-top2 .c-wrap-arrows .c-next img {
    width: 3.4rem;
}
.p-top2 .c-wrap-arrows .c-next {
    margin-left: -2rem;
    background: none;
    right: 15px;
    width: 100%;
}
.p-top2 .slick-dots li{
    width: 10px;
    height: 10px;
    padding: 0;
}
.p-top2 .slick-dots li button:before {
    font-size: 20px;
    line-height: 20px;
}
.p-top2 .slick-dots {
    display: block;
    width: 100%;
    padding: 0;
    margin: 35px 0 0;
    list-style: none;
    text-align: center;
    position: absolute;
    top: 39%;
    right: -230px;
    transform: rotate(
90deg
);
}
.p-top2 .slick-dots li.slick-active button:before {
    opacity: .75;
    color: #991414;
}
.p-top2 {
    margin:0;
    position: relative;
    padding: 150px 0;
}
.p-top2 .c-view-list{
    width: 50%;
    margin: 0 0 0 auto;
}
.p-top2 h2{
    z-index: 1;
    position: absolute;
    top: calc(50% - 125px);
    left: calc(50% - 460px);
}
.p-top2:before{
    content: "";
    display: block;
    width: 969px;
    height: 860px;
    background: url(../img/works_ttl_bg.png) no-repeat;
    position: absolute;
    left: calc(50% - 1000px);
    background-position: center;
    top: 0;
}
.p-top2 .l-container{
    background: #F0F0F1;
    padding: 40px 0;
    max-width: 100%;
}
.works_slick_box{
    max-width: 128rem;
    width: 100%;
    margin: 0 auto;
}
.p-top3 {
    background: none;
    margin-top: 12.2rem;
    padding-top: 13.8rem;
    padding-bottom: 14.4rem;
    position: relative;
}
.p-top3 .l-container{
    text-align: center;
}
.p-top3 h2{
    position: absolute;
    left: calc(50% - 259px);
    top: 0;
    z-index: 1;
}
.p-top3 dl{
    position: relative;
    width: fit-content;
    margin: 0 auto;
}
 .p-top3 dl dd{
    position: absolute;
    bottom: 0;
     width:100%;

}
.p-top3 dl dt{
    border: 2px solid #991414;
}
.p-top3 dl dd a {
    width: 100%;
    display: block;
    font-size: 3rem;
    background: #991414;
    border: 2px solid #991414;
    box-sizing: border-box;
    line-height: 2em;
    font-weight: bold;
    color: #fff;
    transition: .3s;
}
.p-top3 dl dd a:hover{
    color: #991414;
    background:#fff;
    opacity: 1;
}
.c-wrap-content__instagram{
    width: 50%;
}
.p-top4 .c-wrap-brand {
    width: 50%;
    display: block;
    margin-top: 6.2rem;
}
.p-top4 h2 {
    width: 100%;
    display: block;
    margin-top: 0;
    color: #991414;
    text-align: center;
    font-size: 5rem;
}
.p-top4 .c-wrap-brand {
    margin-top: 0;
}
.p-top4 .c-wrap-content__instagramFeed{
    width: 380px;
    height: 380px;
    margin: 40px auto;
}
.p-top4 .c-wrap-brand__img {
    max-width: 30rem;
    margin-bottom: 4.7rem;
    width: 170px;
    display: block;
    margin: 30px auto 0;
}
.p-top .c-mainvisual:first-of-type{
    position: relative;
}
.p-top .c-mainvisual .scroll_icon{
    position: absolute;
    top: 30%;
    left: 40px;
}
#home_news .scroll_icon{
    position: absolute;
    bottom: -140px;
    left: calc(50% - 20px);
    width: 120px;
}
.p-top2 .scroll_icon{
    position: absolute;
    bottom: 0;
    left: calc(50% - 80px);
    width: 120px;
}
.scroll_icon {
    color: #441919;
    font-size: 1.7rem;
    letter-spacing: 2px;
    width: 200px;
    display: block;
    position: absolute;
    z-index: 100;
    transform: rotate(
90deg
);
    font-family: 'Arial';
}
.scroll_fande{
    background: #441919;
    width: 100%;
    height: 1px;
    position: relative;
    margin-top: 5px;
}
.scroll_fande:after{
    content:"";
    display: block;
    width:10px;
    height: 10px;
    border-radius: 100px;
    background:#441919;
    position: absolute;
    top:-5px;
    left: 0;
    transition: .5s;
}
.scroll_icon.action .scroll_fande:after{
    position: absolute;
    left: 100%;
}

/*************************************
Pad pro
**************************************/

@media only screen and (min-width: 1023px) and (max-width:1365px) {

#header_area:after{
  border-width: 45.5vh 49.2vw 0 0;
}

}

/*************************************
Pad
**************************************/
@media only screen and (max-width: 980px) {
    .l-container {
    padding: 0px 1.875rem 0;
}

    .c-header__results img{
    width: 6vw;
}

    .c-header__btn a img {
    width: 6vw;
}
    .c-wrap-menu.c-wrap-menu {
    padding: 2rem 0;
    background: #991414;
    margin-top: 0;
    position: absolute;
    top: 190px;
    right: 0;
    width: 100%;
    z-index: 105;
}
    #header_area:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18.5vh 101.2vw 0px 0px;
    border-color: #ffffff transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
}
    .c-mainvisual_box figure figcaption {
    position: absolute;
    bottom: 10%;
    width: 90vw;
    left: calc(50% - 45vw);
    z-index: 1;
}
    #home_news h2 {
    position: absolute;
    right: 20px;
    top: calc(50% - 125px);
    z-index: 1;
}
    .p-top2 h2 {
    z-index: 1;
    position: absolute;
    top: calc(50% - 125px);
    left: calc(50% - 48vw);
    width: 35vw;
}
    .p-top2 .c-wrap-slider {
    position: relative;
    margin: 0 20px 0px auto;
    width: 50vw;
}
    .p-top2:before {
    content: "";
    display: block;
    width: 100vw;
    height: 860px;
    background: url(../img/works_ttl_bg.png) no-repeat;
    position: absolute;
    left: calc(50% - 105vw);
    background-position: right;
    top: 0;
}
    .p-top2 .slick-dots {
    display: block;
    width: 100%;
    padding: 0;
    margin: 35px 0 0;
    list-style: none;
    text-align: center;
    position: absolute;
    top: 39%;
    right: -205px;
    transform: rotate(
90deg
 );
}
    .p-top2 .c-wrap-arrows .c-prev {
    background: none;
    width: 100%;
    left: 20px;
    top: 20px;
    margin-left: -2rem;
    height: 1em;
}
    .p-top2 .c-wrap-arrows .c-next {
    margin-left: -2rem;
    background: none;
    right: -5px;
    width: 100%;
}
    .c-view-list a {
    font-size: 2.2rem;
    font-weight: bold;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 50vw;
    height: 7.5rem;
    margin-right: auto;
    margin-left: auto;
    background: #991414;
    position: relative;
    letter-spacing: 0.5rem;
    right: 20px;
}
    .c-title-page h2 {
    z-index: 99;
    font-size: 5rem;
    line-height: 1.74;
    letter-spacing: 1.05rem;
}
}



/*********************************
sp
************************************/
@media only screen and (max-width: 650px) {
    #header_area {
    height: 60px;
    padding-top: 0px;
    background: #fff;
    position: fixed;
}
    #header_area:after{
        display: none;
    }
    .c-wrap-header {
    padding-right: 0px;
    padding-left: 0px;
}
    .c-header {
    display: flex;
    padding: 0px 10px;
}

    .c-header_container {
    display: flex;
    flex-direction: row;
    width: 40%;
    justify-content: flex-end;
}

    .c-header__logo a {
    width: 100%;
    display: block;
}

    .c-header__results {
    margin: 0;
    width: 35%;
}

    .c-header__results img {
    width: 100%!important;
}

    .c-header__btn {
    margin: 0;
    width: 35%;
}
    .c-header__btn a img {
    width: 100%;
}
    #header_area .l-container {
    padding:0;
}
    .c-wrap-menu.c-wrap-menu {
    padding:10px 0;
    background: #991414;
    margin-top: 0;
    position: absolute;
    top: 9vh;
    right: 0;
    width: 100%;
    z-index: 105;
}
    .c-wrap-menu{
        margin:0;
    }
    .c-mainvisual_box figure figcaption {
    position: absolute;
    bottom: 15%;
    width: 95%;
    left: 5px;
    z-index: 1;
}
    .c-mainvisual_box figure > img {
    object-fit: cover;
    object-position: center;
    width: 100vw;
    height: 40vh;
    min-height: unset;
}
    .c-mainvisual_box{
        padding-top:80px;
    }
    #home_philosophy:after {
    border-width: 50vw 135vw 0 0;
    border-color: #750909 transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
}
    #home_philosophy {
    position: relative;
    padding: 50px 0 120px;
}
    #home_philosophy dl {
    width: 100%;
    height: auto;
    color: #fff;
    padding: 25vw 20px 20px;
}
    #home_philosophy dl dt {
    font-size: 2rem;
    font-weight: bold;
}
    #home_philosophy dl dd {
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 2px;
    margin-top: 20px;
}
    .p-top1 .c-list-news .c-new {
    display: flex;
    width: 100%;
    margin-bottom: 20px;
    background: #fff;
    padding: 20px 0px;
    border-radius: 10px;
    box-shadow: 3px 3px 6px #33333394;
}
    .p-top1 .c-list-news {
    display: block;
    position: relative;
    z-index: 2;
}
    .c-new__img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}
    .p-top1 .c-list-news .c-new__img {
    text-align: center;
    width: 40vw;
    height: 40vw;
}
    .c-new__cont {
    margin-left: 10px;
    width: calc(50vw - 10px);
}
    .p-top1 .c-list-news .c-new__date{
        font-size: 1.3rem;
    }
    .p-top1 .c-list-news .c-new__content {
    background: #eee;
    font-size: 1.3rem;
    padding: .5em;
    height: 59%;
    margin-top: .5em;
}
    #home_news {
    position: relative;
    padding-top: 50px;
}
    #home_news:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 32vw 95vw 32vw 0;
    border-color: transparent #000000 transparent transparent;
    position: absolute;
    right: 0;
    top: -110px;
    z-index: 0;
}
    #home_news:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 32vw 95vw 32vw 0;
    border-color: transparent #991414 transparent transparent;
    position: absolute;
    right: 0;
    top: -95px;
    z-index: 0;
}
    #home_news h2 {
    position: absolute;
    right: 0;
    top: -120px;
    z-index: 1;
    width: 55vw;
    right: 20px;
}
    .p-top2:before {
    content: "";
    display: block;
    width: 100vw;
    height: 100vw;
    background: url(../img/works_ttl_bg.png) no-repeat;
    position: absolute;
    left: -160px;
    background-position: center;
    top: 0;
    background-size: contain;
}
    .p-top2 {
    margin: 0;
    position: relative;
    padding: 150px 0 0;
}
    .p-top2 h2 {
    z-index: 1;
    position: absolute;
    top: 150px;
    left: 20px;
    width: 60vw;
}
    .works_slick_box {
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
    .works_slick_box {
    max-width: 128rem;
    width: 100%;
    margin: 0px auto 0;
    position: relative;
    z-index: 1;
    padding: 50px 0 0;
}
    .p-top2 .c-wrap-slider {
    position: relative;
    margin: 0 auto;
    width: 70vw;
}
    .p-top2 .slick-dots {
    display: block;
    width: 100%;
    padding: 0;
    margin: 35px 0 0;
    list-style: none;
    text-align: center;
    position: absolute;
    top: 25%;
    right: -55%;
    transform: rotate(
90deg
 );
}
    .p-top2 .c-view-list {
    width: 90vw;
    margin: 0 auto;
}
    .p-top3 h2 {
    position: absolute;
    left: calc(50% - 45vw);
    top: 40px;
    z-index: 1;
    width: 90vw;
}
    .p-top3 {
    margin-top: 40px;
    position: relative;
    padding-bottom: 40px;
}
    .p-top3 dl dd a {
    font-size: 1.7rem;
}
    .p-top3 dl dt img{
    object-position: 0 -25px;
}
    .c-wrap-content__instagram {
    width: 100%;
}
    .p-top4 h2 {
    width: 100%;
    display: block;
    margin-top: 0;
    color: #991414;
    text-align: center;
    font-size: 3.5rem;
}
    .p-top4 .c-wrap-content__instagramFeed {
    width: 90vw;
    height: 90vw;
    margin: 20px auto;
}
    .p-top4 .c-wrap-brand {
    width: 100%;
    display: block;
    margin-top: 80px;
}
    .p-top2 .c-wrap-arrows:last-of-type {
    bottom: 45px;
}
    .p-top2 .c-wrap-arrows .c-prev {
    background: none;
    width: 100%;
    left: 0px;
    top: 15px;
    margin-left: 0;
}
    .p-top2 .c-wrap-arrows .c-next {
    margin-left: 0;
    background: none;
    right: 0px;
    width: 100%;
}
    .scroll_icon{
        display: none;
    }
    .sns_btn_area li:not(:last-of-type) {
    margin-right: 20px;
}
    .sns_btn_area li a{
        display: block;
        width:25px;
    }
    .c-wrap-menu .list li.c-has-child span::before {
    position: absolute;
    content: "\f107";
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    left: calc(100% + 1.5rem);
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #fff;
    font-size: 2.5rem;
}
    #home_philosophy:before {
    content: "";
    display: block;
    width: 100vw;
    height: 90%;
    background: url(../img/philio_bg01.png) no-repeat;
    position: absolute;
    right: 0;
    bottom: 0;
    background-size: cover;
    max-width: 1460px;
    background-position: center;
}
    .c-title-page {
    padding-top: 20vh;
    display: block;
}
}
