@charset "UTF-8";

/*======================================================
コンポーネント
======================================================*/

/*----------------------------------------
TOP白ボタン４つ部分のレイアウト
----------------------------------------*/

.top-bt04 > div{
    padding:10px;
}

.top-bt04 > div > a{
    background: #fff;
    text-align: center;
    box-shadow: 0 0 35px 0 rgba(0,0,0,0.1);
    font-size:2.0rem;
    line-height: 1.3em;
    padding:16px 0;
    font-weight: bold;
    display: block;
}

.top-bt04 > div > a:hover{
    text-decoration: none;
    color:#333;
}

.top-bt04 span{
    font-size:1.3rem;
}

/*----------------------------------------
小さいボタン
----------------------------------------*/

.btn-small{
    text-align: center;
    margin:30px auto;
}

.btn-small a{
    border-radius: 6px;
    padding:10px 36px;
    color:#fff;
    font-size:1.5rem;
    font-weight: bold;
}

.btn-small a:link,.btn-small a:visited,
.btn-middle a:link,.btn-middle a:visited{
    text-decoration: none;
}

.btn-green a{
    background: #70bc47;
}

.btn-green a:hover{
    background: #b2db9e;
    color:#333;
}

.btn-blue a{
    background: #7895CC;
}

.btn-blue a:hover{
    background: #8ea0c3;
}

.btn-small-green a:link,.btn-small-pink a:visited{
    background: #70bc47;
    padding:4px 20px;
    margin: auto;
    color:#fff;
    text-decoration: none;
    font-size:1.3rem;
}

.btn-small-green a:hover{
    background: #b2db9e;
}

/* 角丸　少し大きめ　シングルページ　一覧に戻るボタン */

.btn-middle{
    text-align: center;
    margin:30px auto;
}

.btn-middle a{
    border-radius: 16px;
    padding:20px 60px;
    color:#fff;
    font-size:1.5rem;
    font-weight: bold;
}





/*----------------------------------------
大きいボタン（ページリンク）
----------------------------------------*/

.btn-link{
    margin-bottom:20px;
}

.btn-link a{
    text-decoration: none;
    display: block;
    text-align: center;
}


/* うごく */

.btn-link a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin: 0 auto;
    padding: 1em 2em;
    max-width: 400px;
    color:#D92F6F;
    font-size: 18px;
    font-weight: 700;
    background-color: #feecf3;
    transition: 0.3s;
  }
  
  .btn-link a::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border: 2px solid #D9749A;
    transition: 0.2s;
  }
  
  .btn-link a::after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 3px solid #D92F6F;
    border-right: 3px solid #D92F6F;
    transform: rotate(45deg);
  }
  
  .btn-link a:hover::before {
    top: 0;
    left: 0;
  }
  
  .btn-link a:hover {
    text-decoration: none;
    background-color:#e9e9e9;;
  }

/* IEでobject fitを適用させる
縦横比を保って表示したい場合

-o-object-fit: contain;
object-fit: contain;
font-family: 'object-fit: contain;'; /*IE対策*/

/*----------------------------------------
色など装飾
----------------------------------------*/
/* 背景色 */
.bg-green{
    background: #f5faf5;
    /* display: inline; */
}
.bg-beige{
    background: #f6f5f2;
}
/* テキストにアンダーライン */
.green-under{
    background: linear-gradient(transparent 60%, rgba(112, 188, 71, 0.5) 60%);
    display: inline;
    padding: 0 2px 4px ;
}

/* ボックスシャドウ */
.box-shadow{
    box-shadow: 0 0 35px 0 rgba(0,0,0,0.1);
}

/*----------------------------------------
見出し
----------------------------------------*/
.title-section{
    text-align: center;
    font-size:3.2rem;
    margin-bottom:40px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
}

@media(max-width:600px){
    .title-section{
        font-size:1.8rem;
    }
}

.title-section span{
    position: relative;
}

.title-section span::after{
    position: absolute;
    left:50%;
    transform: translateX(-50%);
    content: '';
    width:80px;
    height:2px;
    background: #b2db9e;
    bottom: -20px;
}

/* セクションタイトル　サブ */
.title-section-sub{
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
    font-size:2.8rem;
    font-weight: normal;
    margin:20px auto 40px;
}

@media(max-width:767px){
    .title-section-sub{
        font-size:2.0rem;
    }
}

/* Single postタイトル 物件名など　*/

.title-single-post{
    font-size: 1.8rem;

}

.single-post-title{
    border-bottom:1px solid #ccc;
    margin-bottom:1em;
    padding-bottom:1em;
}

.single-post-date{
    color:#48931f;
    text-align: right;
    margin-bottom:30px;
}

.single-cont{
    padding-bottom:40px;
}



/*----------------------------------------
カード型レイアウト
----------------------------------------*/

.card_news-text-wrapper{
    background: #fff;
}

@media(max-width:767px){
    .card_news{
        max-width:480px;
        margin: 0 auto 40px;
    }
}

.card_tate{
    display:flex;
    justify-content: flex-start;
}

.card_tate li{
    display: flex;
    flex-basis: 23%;
    margin : 10px 1%;
    border:1px solid #aaa;
}

@media(max-width:767px){
    .card_tate li{
        flex-basis: 100%;
    }
}

.card_tate a{
    display: flex;
    flex-direction: column;
    width: 100%;
    height:auto;
    text-decoration: none;
}

.card_news-text-wrapper{
    padding:10px;
}

.card_news-date{
    font-size:1.4rem;
    color:#D92F6F;
    text-align: left;
}

.card_news-post{
    font-size:1.4rem;
    text-decoration: underline;
}

.card_news-text-wrapper span{
    margin-top:auto;
    text-align: right;
/*     font-size:1.2rem; */
}

/*----------------------------------------
パネル型レイアウト
----------------------------------------*/

.panel-wrapper{
    border:1px solid #ccc;
    padding:0;
    margin-bottom:40px;
}

.panel-photo{
    flex-basis: 30%;
}

.panel-txt{
    flex-basis: 68%;
    padding:10px 0 10px 30px;
}

@media(max-width:767px){
    .panel-photo{
        flex-basis:100%;
    }
    .panel-txt{
        flex-basis: 100%;
        margin-left:0;
    }
    .panel-wrapper{
        margin:20px 20px 40px 20px;
    }
}

/*----------------------------------------
詳細へボタン
----------------------------------------*/

.btn-detail{
    text-align: right;
    font-size:1.3rem;
}

/* パネル内の詳細ボタンの位置 */

.panel-wrapper{
    position: relative;
}

.panel-txt .btn-detail{
    position: absolute;
    bottom:20px;
    right:20px;
}

/* NEW表示 */

.new-mark{
    color:#fff;
    font-size:1.1rem;
    text-align: center;
    margin-left:0.4em;
    padding:1px 4px;
    background: #70bc47;
}

/* font family noto */
.font-noto{
    font-family: 'Noto Sans JP', sans-serif;
}

/* 電話アイコン */

.ico-phone,.ico-fax{
    font-family: 'Noto Sans JP', sans-serif;
    /* font-weight: bold; */
} 

.ico-phone::before{
    content:"\f095";
    font-family: "Font Awesome 6 Free";
    font-weight: 700;
    margin-right:0.5em;
}

.ico-fax::before{
    content:"\f1ac";
    font-family: "Font Awesome 6 Free";
    font-weight: 700;
    margin-right:0.5em;
}

/*======================================================
TOPページ
======================================================*/

/*----------------------------------------
メインイメージ部分
----------------------------------------*/

/* スライドのレイアウト */


.swiper-container {
    background:#49413e;
    height:70vh;
}

@media(max-width:767px){
    .swiper-container{
        height:400px;
    }
}

.slide-img{
    height: 100%;
    width:100%;
    margin: 0 auto;
    -o-object-fit: cover;
    object-fit: cover;
    /* -o-object-position: 100% 100%;
    object-position: 100% 100%; */
}

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1) ;
  }
  100% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
  -webkit-animation: zoomUp 10s linear 0s 1 normal both;
  animation: zoomUp 10s linear 0s 1 normal both;
}

.slide-img img{
  display: block;
}

@-webkit-keyframes fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes fade-in {
    from {
        opacity: 0;    }

    to {
        opacity: 1;
    }
}

.swiper-slide {
        background-repeat: no-repeat;
        /* background-size: cover; */
        background-position: center;
}

.swiper-wrapper{
    /* max-width:1600px; */
    margin: auto;
}

            
.swiper-wrapper p {
    position: absolute;
    top: 50%;
    left: 50%;
    color: #ffffff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width:400px;
}

.swiper-wrapper .swiper-slide-active p{
    -webkit-animation-name: fade-in;
    animation-name: fade-in;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;

}

/*----------------------------------------
スライド下のテキスト
----------------------------------------*/

.top-copy{
    font-family: var(--mincho);
    font-size: clamp(1.8rem,4.0vw,4.0rem);
    font-weight: bold;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.0;
    gap:10px;
    margin-bottom:40px;
}

.top-copy > div{
    display: inline;
}

.top-copy-border{
    background: linear-gradient(transparent 80%, #bbda94 20%);
    font-size:clamp(1.8rem,5.6vw,5.6rem);
    position: relative;
}

.top-copy-sub{
    margin-bottom: 2em;
    color:#000000;
}

.top-copy-sub > span:first-child{
    font-size: clamp(1.8rem, 3.0vw, 3.0rem);
}



    


/*----------------------------------------
TOPコンセプト
----------------------------------------*/


.top-concept-box{
    background: #fff;
    margin: auto;
    padding:30px;
    box-shadow: 0 0 35px 0 rgba(0,0,0,0.1);
    max-width: 768px;
}

@media(max-width:767px){
    .top-concept-box{
        margin:0 20px;
    }
}

.top-concept-text{
    margin:1em 1em 2em 1em;
}

.top-concept-text li{
    margin-bottom:0.5em;
}

.top-concept-text li::before{
    font-family: "Font Awesome 6 Free";
    content:"\f14a";
    font-weight: 900;
    margin-right:0.4em;
}

/*----------------------------------------
TOPチェックリスト（丸型）のレイアウト
----------------------------------------*/

.top-list-lay li::before{
    font-family: "Font Awesome 5 Free";
    content:"\f058";
    font-weight: 900;
    margin-right:0.5em;
}

.top-list-lay li{
    margin-bottom:1em;
}

/*----------------------------------------
TOPお知らせ・ブログ
----------------------------------------*/

.top-archive dl{
    margin-bottom:0.5em;
    padding-bottom:0.5em;
    border-bottom:1px dashed #ccc;
}

.top-archive dt{
    font-size:1.3rem;
    color:#48931f;
}

.top-archive-wrapper{
    padding:20px;
}

.top-archive-cat{
    text-align: right;
}

.archive-cat a{
    color:#fff;
    display: inline-block;
    font-size: 1.2rem;
    padding:0 10px;
    border-radius: 2px;
}


.archive-cat .news a{
    background: #48931f;
}

.archive-cat .blog a{
    background: #5f8fd8;
}





/*======================================================
フッターお問い合わせ・ご相談
======================================================*/

.top-contact-wrapper{
    max-width:1100px;
    margin: auto;
}

.top-contact{
    background: #fff;
    padding:20px;
    margin:20px;
}

.top-contact-box{
    border-bottom:1px solid #48931f;
    padding-bottom:0.5em;
}

.top-contact-messa{
    color:#666;
    font-weight: bold;
}

@media(max-width:767px){
    .top-contact{
        margin: 20px;
    }
}

.ico-phone{
    font-weight: bold;
}

.ico-fax{
    font-weight: bold;
}

.fa-envelopes-bulk::before{
    font-size:5.0rem;
    margin-top:20px;
}


/*======================================================
会社概要
======================================================*/

.company-main-image{
    max-width:250px;
    margin:60px auto 40px;
}

.company-info{
    margin: 0 auto 20px;
    line-height: 2.25em;
}

.company-ta{
    width:90%;
    max-width:960px;
    margin: auto;
}

.company-ta th,.company-ta td{
    border-bottom:1px dashed #555;
    padding:16px 0 16px 40px;
}

.company-ta th{
    font-size:2.0rem;
}


@media(max-width:767px){
    .company-ta th,.company-ta td{
        display: block;
        font-size:inherit;
    }
    .company-ta th{
        border-bottom:none;
        padding:0.5em 0.5em 0 0.5em;
    }
    .company-ta td{
        padding-bottom:0.5em;
    }

}

/*======================================================
中村工務店のこだわり
======================================================*/

.point-wrapper{
    margin-bottom:80px;
}

.point-number{
    flex-basis: 35%;
}

.point-txt{
    flex-basis: 65%;
}

.title-about{
    font-size:2.4rem;
    margin-bottom:1em;
}

@media(max-width:767px){
    .title-about{
        font-size:1.8rem;
    }
}

.title-section-sub-omoism{
    text-align: left;
}

@media(max-width:767px){
    .point-txt{
        flex-basis: 90%;
    }
    .title-section-sub-omoism{
        text-align: center;
    }
}

.point-number-wrapper{
    border:1px solid #ccc;
    border-radius: 50%;
    width:230px;
    height:230px;
    position: relative;
    margin: auto;
}

.point-number-wrapper::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: #333333;
  }

  .point-txt01,.point-txt02{
      position: absolute;
      left:50%;
      transform: translateX(-50%);
      color:#222;
  }

  .point-txt01{
      font-size:3.0rem;
      top:20%;
      font-family: 'Castoro', serif;
  }

  .point-txt02{
      font-size:7.0rem;
      bottom:0;
      font-family: 'Castoro', serif;
  }

  @media(max-width:767px){
    .point-number-wrapper{
        width:120px;
        height:120px;
    }

    .point-txt01{
        top:10%;
    }
    .point-txt02{
        font-size:4.0rem;
    }
}

/* point色分け */

.point-number-wrapper01{
    background-image: linear-gradient(120deg, #a8caf0, rgba(233, 240, 250, 1));
    border-color: #a8caf0;
}
.point-number-wrapper02{
    background-image: linear-gradient(120deg, #d0f1d5, rgb(246, 255, 249));
    border-color: #d0f1d5;
}
.point-number-wrapper03{
    background-image: linear-gradient(120deg, #e7d1f0, rgb(253, 248, 255));
    border-color: #e7d1f0;
}
.point-number-wrapper04{
    background-image: linear-gradient(120deg, #fefdc3, rgb(254, 255, 244));
    border-color: #f2f19e;
}
.point-number-wrapper05{
    background-image: linear-gradient(120deg, #ade6e2, rgb(255, 255, 255));
    border-color: #ade6e2;
}

/*======================================================
中村工務店のこだわり　インスタ広告からのリンク先として修正
======================================================*/
.kodawari-top-img{
    display: grid;
    place-content: center;
}

.point-img-wrapper{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-block:20px;
}



/*======================================================
ご注文の流れ
======================================================*/

.flow-wrapper{
    border-left:1px dotted #ccc;
}

.flow-box{
    position: relative;
}

body{
    counter-reset:section;
}
.flow-box::before{
    counter-increment: section +1;
    content: counter(section);
    position: absolute;
    top: 0;
    left: -20px;
    width: 40px;
    height: 40px;
    border-radius: 100px;
    line-height: 40px;
    background-color: #70bc47;
    font-family: 'Noto Sans JP', sans-serif;
    color:#fff;
    font-size:1.8rem;
    text-align: center;
}

.flow-box{
    padding-left:3em;
}

.flow-list li{
    margin-bottom:0.5em;
}
.flow-list li::before{
    font-family: "Font Awesome 6 Free";
    content:"\f00c";
    font-weight: 700;
    margin-right:0.8em;
    color:#70bc47;
    font-size:1.2rem;
}

.flow-image{
    max-width:520px;
}

/*======================================================
新築施工事例など　singleページ
======================================================*/

.ex-info{
    padding:50px 20px;
}

.ex-koumoku dl{
    clear:both;
}

.ex-koumoku dt,.ex-koumoku dd{
    font-size:1.5rem;
    float:left;
}

.ex-koumoku dt{
    width:100px;
}

.ex-free-space{
    padding:0 40px 0 0;
}

/*　施工事例写真エリア  */

.ex-photo > div{
    padding:10px;

}

/* 物件一覧ボタン */
.btn-ex-all{
    margin:70px auto;
}

/* リフォームシングル */

.re-free{
    border:1px solid #ccc;
    padding:20px;
    margin: 20px auto;
}

/*======================================================
新築施工事例など　archiveページ
======================================================*/

/* ターム名色分け */

.archive-term-name a {
    border-radius:2px;
    padding:2px 8px;
    background: #666;
    color:#fff;
    font-size:1.3rem;
}

.interior a{
    background: #77a95d;
}

.outer a{
    background: #77398f;
}

.exterior a{
    background: #866e4e;
}

.sanitary a{
    background: #4875b9;
}

/*======================================================
検索結果ページ
======================================================*/
.search-number{
    font-size:1.8rem;
    margin-bottom:40px;
}
.search-result {
    padding:20px;
    margin:20px;
}

.search-result li{
    border-bottom:1px dashed #ccc;
    padding-bottom:1em;
    margin-bottom:1em;
    list-style-position: inside;
}

.search-result li::before{
    content:"\f0c1";
    font-family: "Font Awesome 6 free";
    font-weight: 700;
    margin-right:0.5em;
}

