@charset "utf-8";

/*-------------------------------------------------------------------------
メインビュー
-------------------------------------------------------------------------*/

.main-view {
    min-width: 950px;
    height: 400px;
    background: url("/images/bg_main.png") no-repeat center 0 / cover;
    display        : flex;
    align-items    : center;
    justify-content: center;
}
    .catch {
        width: 601px;
        height: 151px;
        text-align: center;
        position: relative;
        display        : flex;
        align-items    : center;
        justify-content: center;
    }
        /* ttl */
        .catch__ttl {
            font-size  : 4rem;
            font-weight: bold;
            color      : #fff;
            letter-spacing: .2em;
            opacity: 0;
            transform: rotateX(90deg);
            transition: .5s ease .9s;
        }
        .is-active .catch__ttl {
            opacity: 1;
            transform: rotateX(0);
        }
        /* text */
        .catch__text-en {
            font-size  : 1.9rem;
            font-weight: normal;
            color      : #fff;
            position: absolute;
            left    : 0;
            width: 100%;
            letter-spacing: 2px;
            text-align: center;
            opacity: 0;
            transform: rotateX(90deg);
            transition-duration       : .5s;
            transition-timing-function: ease;
        }
        .catch__text-en.-item-top    { top: -9px;}
        .catch__text-en.-item-bottom { bottom: -9px;}

        .is-active .catch__text-en.-item-top,
        .is-active .catch__text-en.-item-bottom {
            opacity: 1;
            transform: rotateX(0);
        }
        .is-active .catch__text-en.-item-top    { transition-delay: .8s;}
        .is-active .catch__text-en.-item-bottom { transition-delay: 1s;}

        /* 線 */
        .catch__line {
            background-color: rgba(255,255,255,.6);
            position: absolute;
            transition-duration: .3s;
            transition-timing-function: ease;
        }
        .catch__line.-item1 {
            top : 0;
            left: 0;
            width: 0;
            height: 2px;
            transition-delay: 0;
        }
        .catch__line.-item2 {
            top  : 0;
            left: 375px;
            width: 0;
            height: 2px;
        }
        .catch__line.-item3 {
            top  : 0;
            right: 0;
            width: 2px;
            height: 0;
        }
        .catch__line.-item4 {
            bottom: 0;
            right : 0;
            width: 0;
            height: 2px;
        }
        .catch__line.-item5 {
            bottom: 0;
            right : 426px;
            width: 0;
            height: 2px;
        }
        .catch__line.-item6 {
            bottom: 0;
            left  : 0;
            width: 2px;
            height: 0;
        }
        .is-active .catch__line.-item1 { transition-delay: .0s; width: 225px;}
        .is-active .catch__line.-item2 { transition-delay: .2s; width: 215px;}
        .is-active .catch__line.-item3 { transition-delay: .3s; height: 141px;}
        .is-active .catch__line.-item4 { transition-delay: .4s; width: 175px;}
        .is-active .catch__line.-item5 { transition-delay: .6s; width: 163px;}
        .is-active .catch__line.-item6 { transition-delay: .7s; height: 141px;}

@media screen and (max-width: 768px){
    .main-view {
        min-width: auto;
        height: 86.667vw;
        margin: 0;
        padding: 0 20px;
        background: url("/images/m_bg_catch.png") no-repeat center 0 / cover;
    }
    .catch {
        height: 190px;
    }
    .catch__ttl {
        width: 59.467vw;
        margin: auto;
    }
        .catch__ttl img {
            width: 100%;
            vertical-align: bottom;
        }
    .catch__text-en {
        font-size: 3vw;
    }
    .catch__text-en.-item-top    { top: -4%;}
    .catch__text-en.-item-bottom { bottom: -3%;}

    .is-active .catch__line.-item1 {
        width: 36%;
    }
    .is-active .catch__line.-item2 {
        width: 34%;
        left: 64%;
    }
    .is-active .catch__line.-item3,
    .is-active .catch__line.-item6 {
        height: 182px
    }
    .is-active .catch__line.-item4 {
        width: 25%;
    }
    .is-active .catch__line.-item5 {
        width: 22%;
        right: 75%;
    }
}

/*-------------------------------------------------------------------------

-------------------------------------------------------------------------*/

.section {
    margin: 0 0 100px;
}
.headline {
    font-size  : 3.4rem;
    line-height: 1.2;
    margin: 0 0 30px;
}
    .headline span {
        display: block;
        line-height: 1.2;
        font-size  : 1.2rem;
        font-weight: 400;
        margin: 12px 0 0;
    }
@media screen and (max-width: 768px){
    .section {
        margin: 0 0 50px;
    }
    .headline {
        font-size: 2.4rem;
        margin: 0 0 15px;
    }
    .headline span {
        margin: 8px 0 0;
    }
}

/*-------------------------------------------------------------------------
リノベーション
-------------------------------------------------------------------------*/

.works-window {
    position: relative;
}
.slick-slide img {
    width: 100%;
}
.works-window .slick-arrow {
    position: absolute;
    top     : 0;
    bottom  : 0;
    z-index : 100;
    margin  : auto;
    width: 40px;
    height: 40px;
    background: #231815 url("/images/img_arw.png") no-repeat center;
    border: none;
    font-size: 0;
    color    : transparent;
    cursor: pointer;
    outline: none;
}
.works-window .slick-prev {
    left: 0;
}
.works-window .slick-next {
    right: 0;
    transform: rotate(180deg);
}
.works-window .slick-prev:active {
    transform: scale(.95);
}
.works-window .slick-next:active {
    transform: scale(.95) rotate(180deg);
}
.works-window .slick-dots {
    text-align: center;
    margin: 11px 0 0;
}
.works-window .slick-dots li {
    display: inline-block;
    margin: 0 5px;
}
.works-window .slick-dots button {
    width: 12px;
    height: 12px;
    background-color: #ccc;
    border       : none;
    border-radius: 50%;
    padding: 0;
    font-size: 0;
    cursor: pointer;
}
.works-window .slick-active button {
    background-color: #231815;
}
@media screen and (max-width: 768px){
    .works-window .slick-arrow {
        display: none!important;
    }
}

/*-------------------------------------------------------------------------
会社概要
-------------------------------------------------------------------------*/

.company-list {
    display: flex;
    border-bottom: 1px solid #ccc;
    padding: 16px 0 17px;
}
.company-list:first-of-type {
    border-top: 1px solid #ccc;
}
.company-list__ttl, .company-list__text, .company-list__text2, .company-list__text3 {
        line-height: 1.6;
    }
    .company-list__ttl {
        width: 176px;
        padding: 0 0 0 20px;
    }
    .company-list__text {
        width: calc(100% - 176px);
    }
    .company-list__text.job .respon_txt::after {
        content: "、";
    }
    .company-list__text.job .respon_txt:last-child::after {
        content: "";
    }
    .company-list__text .adviser {
        display: block;
    }
    .company-list__text .adviser br {
        display: none;
    }
    .company-list__text.bank {
        width: 135px
    }
    .company-list__text3.bank {
        padding-left: 20px;
    }

    .adv_type,
    .adv_name {
        display: inline-block;
    }
    .adv_type::after {
        content: "：";
        display: inline-block;
    }
@media screen and (max-width: 768px){
    .company-list.sp_view {
        display: flex;
        flex-wrap: wrap;
    }    
    .company-list {
        display: block;
        padding: 15px 0;
    }
    .company-list__ttl,
    .company-list__text {
        line-height: 1.4;
    }
    .company-list__ttl {
        width: auto;
        margin: 0 0 5px;
        padding: 0;
    }
    .sp_view .company-list__ttl {
        width: 100%;
    }
    .company-list__text {
        width: 100%;
    }
    .company-list__text.job .respon_txt {
        display: block;
    }
    .company-list__text.job .respon_txt::after {
        content: "";
    }
    .company-list__text .adviser {
        margin-bottom: 10px;
    }
    .company-list__text .adviser br {
        display: block;
    }
    .company-list__text.bank {
        width: 45vw;
    }    
    .bank_list2{
        margin-left: 36vw;
    }
    
    .adv_type, .adv_name {
        display: block;
    }
    .adv_type::before {
        content: "■";
	    font-size: 10px;
	    display: inline-block;
	    vertical-align: 1px;
	    margin-right: 5px;
    }
    .adv_name {
    	margin-left: 1em;
    }
    .company-list__text br{
        display: none;
    }
    .earnings_list {
        display: block;
    }
}

.company-list-box {
    display: flex;
}

@media screen and (max-width: 768px){
    .company-list__text2.bank {
        width: 40vw;
    }
}

@media screen and (max-width: 768px){
    .pc_view{
        display: none;
    }
    .sp_view {
        display: block;
    }
}
.sp_view {
    display: none;
}

.address_list a {
    padding-left: 16px;
    cursor: pointer;
    color: #07519A;
    text-decoration: underline;
  }
  .address_list a:hover {
    color: #07519A;
  }
  @media (min-width: 769px) {
    .address_list a:hover {
      opacity: 0.7;
    }
  }

  

/*-------------------------------------------------------------------------
本社
アクセス
-------------------------------------------------------------------------*/
.main_office span{
    font-size: 1.5rem;
    
}

.main_office .left_text{
    margin-left: 155px;
}

@media screen and (max-width: 768px){
    .main_office .left_text{
        margin-left: 0;
        margin-top: 2px;
    }
    .main_office .sp_view {
        display: block;
    }
}


/*-------------------------------------------------------------------------
社内写真
アクセス
-------------------------------------------------------------------------*/

.shop-list {
    display        : flex;
    justify-content: space-between;
}
@media screen and (max-width: 768px){
    .shop-list {
        display: block;
    }
    .shop-list__items:first-child {
        margin: 0 0 10px;
    }
    .shop-list__items img {
        width: 100%;
    }
    .map-item {
        width: 100%;
    }
}

/*-------------------------------------------------------------------------
お問い合わせ
-------------------------------------------------------------------------*/

.contact-us {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 30px;
    height: 146px;
}
.contact-us__ttl {
    text-align: right;
    font-size: 1.8rem;
    margin: 0 0 1px;
}
.contact-us-tel {
    font-size: 5rem;
}
    .contact-us-tel__icn {
        width: 40px;
        height: 40px;
        margin: 0 7px 0 0;
    }
.contact-us-mail__link {
    background-color: #231815;
    border: 1px solid #231815;
    width: 500px;
    height: 84px;
    display        : flex;
    align-items    : center;
    justify-content: center;
    font-size: 2.2rem;
    color    : #fff;
    text-decoration: none;
    transition: .1s ease;
}
.contact-us-mail__link:hover {
    background-color: #fff;
    color: #231815;
}
    .contact-us-mail__link__icn {
        width: 36px;
        height: 27px;
        fill: #fff;
        margin: 0 8px 0 0;
        transition: .1s ease;
    }
    .contact-us-mail__link:hover .contact-us-mail__link__icn {
        fill: #231815;
    }

@media screen and (max-width: 768px) {
    .contact-us {
        display: block;
        padding: 15px 0;
        height: auto;
    }
    .contact-us__ttl {
        text-align: center;
        margin: 0 0 5px;
    }
    .contact-us-tel {
        font-size: 4rem;
        text-align: center;
        margin: 0 0 12px;
    }
    .contact-us-tel__icn {
        width: 30px;
        height: 30px;
    }
    .contact-us-mail__link {
        width: 100%;
        height: 60px;
    }
}

.shop-list__items:nth-child(2) {
    margin-bottom: 10px;
}
