@charset "utf-8";

/* common
----------------------------------------------------------*/
.tel-num { color:#4bb2d0; font-size:24px; font-weight:bold; }

/* button */
.ct-btn, .submit-btn { display:inline-block; padding:.5em 2em .35em; line-height:1.2; color:#fff; font-size:22px; border:1px solid #fff; background:transparent; }
.ct-btn:hover, .submit-btn:hover { background:rgba(255,255,255,.5); }

.submit-btn { -webkit-transition:all .5s; transition:all .5s; border-radius:0; -webkit-appearance:none; }
.submit-btn.type-back { color:rgba(255,255,255,.5); border:1px solid rgba(255,255,255,.5); background:none; }
.submit-btn.type-back:hover { color:#fff; border-color:#fff; background:rgba(255,255,255,.5); }
.submit-btn:focus { outline:none; }

.submit-btn {  }


/* pagetitle */
.page-ttl { font-size:55px; }

/* title */
.sub-ttl1 { margin-bottom:.8em; font-size:32px; line-height:1.2; }
.sub-ttl1 > span { display:inline-block; padding:.417em 3.283em; color:#79b492; font-weight:bold; border:1px solid #79b492; }

.indent-txt { padding-left:1.2em; }

/* table */
.ct-tbl tr > * { padding:.8em; border:1px solid #fff; }
.ct-tbl th { width:215px; text-align:left; background:rgba(255,255,255,.5); }

/* box */
.ct-box { margin-bottom:70px; }

/* list */
.list-dots > li { position:relative; margin-bottom:.5em; padding-left:1em; line-height:1.7; }
.list-dots > li:before { content:"●"; position:absolute; top:0; left:0; color:#4bb2d0; }

/* dl */
.ct-dl > dt { margin-bottom:.8em; font-size:1.143em; line-height:1.4; font-size:1.25em; }
.ct-dl > dd { margin-bottom:3.5em; }

.dl-sidetxt .row { margin-bottom:.5em; }
.dl-sidetxt dt { width:12.778em; }
.dl-sidetxt dd { -webkit-box-flex:1; -ms-flex:1; flex:1; }
.dl-sidetxt dd p:first-child { margin-top:0; }
.dl-sidetxt dd p:last-child { margin-bottom:0; }

.dl-sidetxt.type-chronology dt { width:5.5em; margin-right:.5em }

/* 959px 以下 (タブレット縦以下) */
@media screen and (max-width: 959px) {
  .page-ttl { margin-bottom:.3em; }

  .dl-sidetxt { display:block; }
  .dl-sidetxt dt { width:100%; }
}

/* 599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  /* title */
  .page-ttl { font-size:45px; }

  /* table */
  .ct-tbl { border-top:1px solid #79b492; }
  .ct-tbl tr > * { display:block; width:100%; }
  .ct-tbl th { border-top:none; border-bottom:none; }

}

/* animete
----------------------------------------------------------*/
@-webkit-keyframes move {
    0%   { -webkit-transform:translateX(0); }
    100% { -webkit-transform:translateX(-100px); }
}

@keyframes move {
    0%   { transform:translateX(0); }
    100% { transform:translateX(-100px); }
}

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

.effect-fadeIn { -webkit-transition:all 1.5s ease-out; transition:all 1.5s ease-out;  }

.effect-fadeIn { opacity:0; }
.effect-fadeIn.on-effect { opacity:1; }

/* slider
----------------------------------------------------------*/
#slider-wrap { position:fixed; top:0; left:0; width:100%; z-index:0; height:100%; background:#000; }
  .slide-item { position:absolute; top:0; left:0; z-index:1; width:100%; height:100vh; }
  .slide-item-img { position:absolute; top:0; left:0; width:100vw; height:100vh; background:no-repeat center / cover; }

  .slide-eff-move { width:115vw; overflow:hidden; }
  .slide-eff-move.is-show { -webkit-transition:width 1.2s ease-in-out; transition:width 1.2s ease-in-out; }
  .slide-eff-move.on-effect { -webkit-animation:10s linear 0s move; animation:10s linear 0s move; }
  .slide-eff-move .slide-item-img { width:115vw; height:100vh; }

  .slide-eff-zoom { -webkit-transition:opacity 2s linear; transition:opacity 2s linear; opacity:0; }
  .slide-eff-zoom.is-show { z-index:2; opacity:1;
   -webkit-transition:opacity 2s linear, transform 10s linear;
   transition:opacity 2s linear, transform 10s linear, width 1s linear; }
  .slide-eff-zoom.on-effect { -webkit-animation:10s linear 0s zoom; animation:15s linear 0s zoom; }

/*トップスライド変更箇所 トップページのindex.phpとclassを合せる*/

.top-slide-item-1 { z-index:5; }
.top-slide-item-6 { z-index:4; }
.top-slide-item-3 { z-index:3; }
.top-slide-item-4 { z-index:2; }
.top-slide-item-5 { z-index:1; }

.top-slide-item-1 .slide-item-img { background-image:url(../img/top/slider-01.jpg); }
.top-slide-item-6 .slide-item-img { background-image:url(../img/top/slider-06.jpg); }
.top-slide-item-3 .slide-item-img { background-image:url(../img/top/slider-03.jpg); }
.top-slide-item-4 .slide-item-img { background-image:url(../img/top/slider-04.jpg); }
.top-slide-item-5 .slide-item-img { background-image:url(../img/top/slider-05.jpg); }

/*トップスライド変更箇所 ↑↑↑ここまで↑↑↑　*/

.about-slide-item-1 .slide-item-img { background-image:url(../img/about/slider-01.jpg); }
.about-slide-item-2 .slide-item-img { background-image:url(../img/about/slider-02.jpg); }
.about-slide-item-3 .slide-item-img { background-image:url(../img/about/slider-03.jpg); }
.about-slide-item-4 .slide-item-img { background-image:url(../img/about/slider-04.jpg); }
.about-slide-item-5 .slide-item-img { background-image:url(../img/about/slider-05.jpg); }

.works-slide-item-1 .slide-item-img { background-image:url(../img/works/slider-01.jpg); }
.works-slide-item-2 .slide-item-img { background-image:url(../img/works/slider-02.jpg); }
.works-slide-item-3 .slide-item-img { background-image:url(../img/works/slider-03.jpg); }
.works-slide-item-4 .slide-item-img { background-image:url(../img/works/slider-04.jpg); }
.works-slide-item-5 .slide-item-img { background-image:url(../img/works/slider-05.jpg); }

.project-slide-item-1 .slide-item-img { background-image:url(../img/project/slider-01.jpg); }
.project-slide-item-2 .slide-item-img { background-image:url(../img/project/slider-02.jpg); }
.project-slide-item-3 .slide-item-img { background-image:url(../img/project/slider-03.jpg); }
.project-slide-item-4 .slide-item-img { background-image:url(../img/project/slider-04.jpg); }
.project-slide-item-5 .slide-item-img { background-image:url(../img/project/slider-05.jpg); }

.contact-slide-item-1 .slide-item-img { background-image:url(../img/contact/slider-01.jpg); }
.contact-slide-item-2 .slide-item-img { background-image:url(../img/contact/slider-02.jpg); }
.contact-slide-item-3 .slide-item-img { background-image:url(../img/contact/slider-03.jpg); }
.contact-slide-item-4 .slide-item-img { background-image:url(../img/contact/slider-04.jpg); }
.contact-slide-item-5 .slide-item-img { background-image:url(../img/contact/slider-05.jpg); }

/* about
----------------------------------------------------------*/
.about-prof-box { width:72.7%; margin-bottom:55px; }
  .about-prof-img { width:46%; }
  .about-prof-info { margin-right:2.143em; -webkit-box-flex:1; flex:1;
   display:-webkit-box; display:flex;
   flex-direction:column;
   -webkit-box-pack:justify; justify-content:space-between;
   -webkit-box-orient:vertical; -webkit-box-direction:normal; }

.about-prof-name { margin-bottom:-.7em; font-size:16px; text-align:right; }
  .about-prof-name .name { margin-top:.5em; font-size:1.5em; line-height:1.6; }
  .about-prof-name .name span { display:block; font-size:.833em; }

.about-office-info dt { width:15em; margin-right:1em; font-size:1.143em; }

.about-feeling { -webkit-box-align:start; align-items:flex-start; margin-bottom:55px; }
.about-feeling-box { width:47.7%; padding:3em 2.86em 2.71em; border:1px solid #fff; }
  .about-feeling-box .sub-ttl1 { margin-bottom:.5em }
  .about-feeling-txt { text-align:justify; }

.about-feeling-box:nth-child(odd) { padding-right:5.5em; padding-bottom:6.7em; }
.about-feeling-box:nth-child(even) { margin-top:167px; padding-left:5.5em; padding-top:6.7em; }
.about-feeling-box:nth-child(even) .sub-ttl1 { text-align:right; }

/* 959px 以下 (タブレット縦以下) */
@media screen and (max-width: 959px) {
  .about-feeling-box { width:80%; }
  .about-feeling-box:nth-child(even) { margin-top:30px; margin-left:auto; }
  .about-prof-box { width:80%; }

}

/* 599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  .about-prof-box,
  .about-feeling-box { width:100%; }
  .about-feeling-box:nth-child(odd), .about-feeling-box:nth-child(even) { padding:3em 1.8em 1.5em; }
  .about-feeling-box .sub-ttl1, .about-feeling-box:nth-child(even) .sub-ttl1 { text-align:center; }
}

/* works
----------------------------------------------------------*/
.works-item { margin-bottom:65px; }
  .works-item a { text-decoration:none; }
  .works-item-ttl { padding:1.5em 1.2em 1.2em; background:rgba(255,255,255,.5); }
  .works-item-img { overflow:hidden; }

.works-detail {}
  .works-detail-ttl {  margin-right:20px; -webkit-box-flex:1; flex:1; }

  .works-detail-info { font-size:12px; }
    .works-detail-info-tbl .row { margin-bottom:.5em; }
    .works-detail-info-tbl dt { position:relative; width:4.5em; margin-right:1em; padding-right:1em; }
    .works-detail-info-tbl dt:after { content:"/"; position:absolute; right:0; top:0; }
    .works-detail-info-tbl dd p:first-child { margin-top:0; }
    .works-detail-info-tbl dd p:last-child { margin-bottom:0; }

  .works-slider-container { position:relative; }
    .works-slider .slider-item img { max-height:100%; margin:0 auto; }
    .works-slider .slider-item:focus { outline:none; }

    .works-slider-thumb { margin-bottom:13px; }
    .works-slider-thumb .slider-item { position:relative; overflow:hidden; width:60px; margin-right:7px; margin-bottom:7px; padding-top:40px; cursor:pointer; opacity:.5; }
    .works-slider-thumb .slider-item.current { opacity:1; }
    .works-slider-thumb .slider-item img { position:absolute; top:50%; left:50%; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }

  .works-slider-arrows .slick-arrow { position:absolute; top:0; bottom:0; left:15px;
   width:65px; height:65px; margin:auto;
   color:transparent; text-indent:-9999px; cursor:pointer;
   -webkit-filter: drop-shadow(0 0 6px rgba(0,0,0,.3)); filter: drop-shadow(0 0 6px rgba(0,0,0,.3)); }
  .works-slider-arrows .slick-arrow:before {
    content:""; position:absolute; top:0; right:0; width:70%; height:70%;
    -webkit-transform:rotate(45deg) translate(20%, -20%); transform:rotate(45deg) translate(20%, -20%);
    transform-origin:left top;
    border-left:2px solid #fff; border-bottom:2px solid #fff;
   }
  .works-slider-arrows .slick-next { left:auto; right:15px;
   -webkit-transform: scale(-1, 1); transform:scale(-1, 1); }

  .works-detail-pager { font-size:18px; margin-top:20px; }
    .works-detail-pager .back { float:left; }
    .works-detail-pager .next { float:right; }

/* 959px 以下 (タブレット縦以下) */
@media screen and (max-width: 959px) {
  .works-detail-box { display:block; }
  .works-detail-ttl { margin:0 0 1.5em; }

}

/* 599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  .works-item { margin-bottom:30px; }
  .works-item-ttl { padding:1em 1.2em .8em; }

  .works-detail-box { margin-bottom:40px; }
  .works-slider-thumb { display:none; }

  .works-slider .slider-item { margin-bottom:30px; text-align:center; }

}

/* project
----------------------------------------------------------*/
.project-box { max-width:780px; }
  .project-info { -webkit-box-align:baseline; align-items:baseline; font-size:22px; -webkit-box-flex:1; flex-grow:1; }
  .project-cat { font-size:.636em; text-align:right; -webkit-box-flex:1; flex-grow:1; }

/* 600px 以上 (PC・タブレット)  */
@media screen and (min-width: 600px) {
  .project-10 { width:91%; margin:0 0 7%; }	
  .project-11 { width:80%; margin:0 0 7% 15%; }	
  .project-12 { width:85%; margin:0 0 7%; }	
  .project-13 { width:75%; margin:0 0 7% 22%; }		
  .project-01 { width:91%; margin-bottom:7%; }
  .project-02 { width:75%; margin-bottom:6%; margin-left:auto; }
  .project-03 { width:49.7%; }
  .project-04 { width:41%; margin-bottom:7%; }
  .project-05 { width:46.9%; margin:0 7% 5.4% auto;  }
  .project-06 { width:80.9%; margin:0 0 6.5% 5.2%; }
  .project-07 { width:45%; margin:0 0 5% 9.8%; }
  .project-08 { width:46%; margin-bottom:7%;
    -webkit-box-ordinal-group:3; order:2; }
  .project-09 { width:42.5%; margin:28% 0 7%; }


  .column-group1 { margin-bottom:5.6%; -webkit-box-align:end; align-items:flex-end; }
  .column-group2 { width:92.9%; }
}

/* 599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  .project-box { margin-bottom:60px; }

}

/* contact
----------------------------------------------------------*/
.btn-policy { padding-top:.2em; font-size:20px; }

.form-box { margin:62px 0; }
.form-tbl { margin-bottom:20px; }
.form-tbl .row { margin-bottom:25px; }
  .form-tbl .row > * {  }
  .form-tbl .row dt { width:10em; font-size:22px; }
  .form-tbl .row dd { -webkit-box-flex:1; -ms-flex:1; flex:1; }
  .form-tbl .required:after { content:"*"; margin-left:.3em; color:#e60d0d; }

.type-confirm .form-tbl dd { padding:.3em 1em; font-size:1.286em; }

input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], .select-custom select, textarea {
  margin:4px 0; padding:.45em 1.2em .25em; color:#fff; border-radius:0; font-weight:normal;
  font-size:16px; font-family:inherit; border:none; background:rgba(255,255,255,.5);
 }

input::placeholder, textarea::placeholder { color:#999; }

input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="number"]:focus, input[type="date"]:focus, .select-custom select:focus, textarea:focus { border-color:#aaa; outline:none; }

.select-custom { position:relative; display:inline-block; }
.select-custom:before { content:""; position:absolute; top:0; bottom:0; right:10px; width:0; height:0; margin:auto 0; border-width:6px 5px 0 5px; border-style:solid; border-color:#888 transparent transparent transparent; pointer-events:none; }
.select-custom select { -webkit-appearance:none; -moz-appearance:none; appearance:none;
  padding-right:1.8em; background:#fff; }
.select-custom  select::-ms-expand { display:none; }

.size-t { width:15%; }
.size-s { width:30%; }
.size-m { width:60%; }
.size-l { width:100%; }

.submit-box .submit-btn.type-back { margin-right:1em; }

/* 959px 以下 (タブレット縦以下) */
@media screen and (max-width: 959px) {
  .form-box { margin-top:50px; }
  .form-tbl .row { display:block; }
  .form-tbl .row dt { width:100%; }

  .type-confirm .form-tbl dd { padding:0; font-size:1.12em; }

}

/* 599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  .form-box { margin:30px 0 50px; }

  .submit-box { display:-webkit-box; display:-ms-flexbox; display:flex;
  -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column;flex-direction:column;
  -webkit-box-align:center; -ms-flex-align:center; align-items:center; }

  .submit-box .submit-btn.type-back { margin:15px 0 0;
   -webkit-box-ordinal-group:3; -ms-flex-order:2; order:2; }

}

/* policy
----------------------------------------------------------*/
.policy-list { margin-top:36px; }
.policy-ttl { margin:1em 0 1.4em; }
.list-number { margin:1em; counter-reset:list-no; }
.list-number li { position:relative; padding-left:2.5em; }
.list-number li:before { content:counter(list-no) '.)'; counter-increment:list-no;
 position:absolute; top:0; left:0; }



/* 599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
}