﻿@charset "UTF-8";
/*
Theme Name: 基本テンプレート
Description: レイアウト：テンプレート
*/

html {
  background: url(../img/common/bk.png) no-repeat top 70px right 0px;
}

/* -------------------------- */
/* page-top */
/* -------------------------- */
#page-top {
  display: none;
  position: fixed;
  bottom: 50px;
  right: 30px;
  width: 50px;
  height: auto;
  z-index: 99;
  cursor: pointer;
}


/* -------------------------- */
/* efect */
/* -------------------------- */
.fadein {
  opacity: 0;
  transform : translate(0, 50px);
  transition : all 1500ms;
}

.fadein.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}


/*////////////////////
	共通レイアウト
///////////////////*/
._flex {
  display: -webkit-box;
  display: -ms-flexbox;
    display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
    justify-content: space-between;
}

/* 行送り */
._wrap {
  display: -webkit-box;
  display: -ms-flexbox;
    display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
    flex-direction: row;
  -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  width: 100%;
}

/*　中央寄せ */
._flex_center {
  display: -webkit-box;
    display: -ms-flexbox;
      display: flex;
    -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* 逆配置 */
._row {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}

@media screen and (max-width: 768px){

  ._flex, ._row {
    display: block;
    width: 100%;
  }

  ._wrap {
    display: -webkit-box;
    display: -ms-flexbox;
      display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
      flex-direction: row;
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    width: 100%;
  }
}


/* テキスト中央 */
._center {
  text-align: center!important;
}


/* テキスト中揃え解除 */
._justify {
  text-align: justify!important;
    text-justify: inter-ideograph!important;
}


/* -------------------------- */
/* スペース調整：content */
/* -------------------------- */
._adjust150 {
  margin-top: 150px!important;
}
._adjust100 {
  margin-top: 100px!important;
}
._adjust80 {
  margin-top: 80px!important;
}
._adjust50 {
  margin-top: 50px!important;
}
._adjust20 {
  margin-top: 20px!important;
}
._adjust10 {
  margin-top: 10px!important;
}

._negative {
  margin: 0!important;
}

._padding150 {
  padding-top: 150px!important;
}
._padding80 {
  padding-top: 80px!important;
}
._padding50 {
  padding-top: 50px!important;
}
._padding20 {
  padding-top: 20px!important;
}

@media screen and (max-width: 768px){
  ._adjust150 {
    margin-top: 0px!important;
  }
  ._adjust100 {
    margin-top: 0px!important;
  }
  ._adjust80 {
    margin-top: 30px!important;
  }
  ._padding150 {
    padding-top: 0px!important;
  }
  ._padding80 {
    padding-top: 30px!important;
  }
  ._negative {
    margin-top: 30px!important;
  }
}

/* -------------------------- */
/* 投稿ページ */
/* -------------------------- */
.article img {
  width: auto;
  height: auto;
}


/* -------------------------- */
/* map */
/* -------------------------- */
.map {
  position: relative;
  width: 100%;
  height: 500px;
  margin: 0;
  overflow: hidden;
}
.map iframe,
.map object,
.map embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* -------------------------- */
/* pc_head */
/* -------------------------- */
#pc_head {
  position: fixed;
  top: 0;
  width: 100%;
  background: #fff;
  z-index: 999;
}

.pc_menu {
  padding: 0 5px 0 0;
}
@media print {
  #pc_head,
  .pc_menu {
    position:absolute;
  }
}
/* -------------------------- */
/* sp_head */
/* -------------------------- */
#sp_head {
  position: fixed;
  top: 0;
  width: 100%;
  background: #fff;
  z-index: 999;
}



/* -------------------------- */
/* footer */
/* -------------------------- */
.footer_box {
  width: 100%;
  padding: 50px 0 20px 0;
  background: #037050;
}
.footer_inbox {
  width: 1024px;
  margin: auto;
  padding: 0 0 80px 5px;
}

.footer_info {
  width: 400px;
}
.footer_info p {
  color: #fff;
}
.footer_info img {
  width: 320px;
  margin: 0 0 30px 0;
}

.footer_menu {
  width: calc(100% - 350px);
  width: -webkit-calc(100% - 350px);
}
.footer_menu ul {
  display: block;
  width: 105%;
  padding: 10px 0 0 0;
}
.footer_menu ul li {
  display: inline-block;
}
.footer_menu ul li a {
  display: block;
  color: #fff;
  margin: 0 10px 0 0;
  text-transform: uppercase;
}

@media screen and (max-width: 768px){
  .footer_inbox, .footer_info, .footer_menu {
    width: 100%;
  }
  .footer_info img {
    margin: auto;
  }
  .footer_menu {
    margin: 30px 0 0 0;
  }
  .footer_menu ul li {
    display: block;
  }
  .footer_info p, .footer_menu ul li a {
    text-align: center;
    margin: 0;
  }
}


/* -------------------------- */
/* shadow */
/* -------------------------- */
._shadow {
  box-shadow:0px 0px 80px rgba(0,0,0,0.1);
}


/* -------------------------- */
/* コンテンツ幅 */
/* -------------------------- */
#main {
  width: 100%;
  padding: 0 0 80px 0;
}

.content_box {
  width: 1024px;
  margin: auto;
}

@media screen and (max-width: 768px){
  .content_box {
    width: 100%;
    padding: 0 5%;
  }
}


/* -------------------------- */
/* Font スタイル */
/* -------------------------- */
h2.cat_ttl {
  width: 240px;
  margin: 0 auto;
}
h2.cat_ttl span {
  display: block;
  width: 74px;
  margin: 0 auto 30px auto;
}

h3.content_subttl {
  font-size: 30px;
  color: #282828;
  padding: 20px 0 30px 0;
}


/* -------------------------- */
/* MORE link */
/* -------------------------- */
a.more_btn {
  display: block;
  width: 200px;
  padding: 10px 0;
  text-align: center;
}

a.more_btn._green {
  color: #037050;
  border: 1px solid #037050;
}
a.more_btn._green:hover {
  color: #fff;
  background: #037050;
  transition: 0.8s;
}

a.more_btn._white {
  color: #fff;
  border: 1px solid #fff;
}
a.more_btn._white:hover {
  color: #037050;
  background: #fff;
  transition: 0.8s;
}

.m_center {
  margin: auto;
}
.m_right {
  float: right;
}

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

/* メインビジュアル */
.mv {
  position: relative;
  min-width: 1024px;
  height: 100%;
  margin: 70px 0 0 0;
}

img.mv_txt {
  display: block;
  position: absolute;
  width: 35%;
  top: 30%;
  left: 7%;
  z-index: 100;
}

img.sp_mv_txt {
  display: none;
}

@media screen and (max-width: 768px){
  .mv {
    min-width: 100%;
    margin: 70px 0 0 0;
  }
  img.sp_mv_txt {
    display: block;
    position: absolute;
    width: 90%;
    top: 39%;
    left: 50%;
    -webkit-transform: translate(-50%);
        -ms-transform: translate(-50%);
            transform: translate(-50%);
  }
  img.mv_txt {
    display: none;
  }
}


/* tag */
img.tag_pic {
  width: 200px;
}

/* news */
#news {
  margin: 50px 0 80px 0;
}

/* comcept */
.comcept_box {
  width: 100%;
  padding: 80px 0 80px;
}

.comcept_txtbox {
  width: 48%;
}
.comcept_txt {
  display: block;
  width: 420px;
  margin: 0 0 0 auto;
  padding: 0 50px 0 0;
}

.comcept_pic {
  width: 62%;
  height: 500px;
  background: url(../img/top/comcept_pic1.jpg) no-repeat 50% 80px;
  background-size: cover;
}

@media screen and (max-width: 768px){
  .comcept_txtbox {
    width: 100%;
    padding: 5%;
  }
  .comcept_txt {
    width: 100%;
    padding: 0;
  }
  .comcept_pic {
    width: 93%;
    height: 300px;
    margin: 0 0 0 auto;
    background: url(../img/top/comcept_pic1.jpg) no-repeat 50% 20px;
  }
}


/* message */
.message_box {
  background: url(../img/top/message_bk.jpg) no-repeat 50% 50%;
  background-size: cover;
  padding: 100px 0;
}

.message_inbox {
  width: 1024px;
  margin: auto;
}

.message_pic, .message_txt {
  width: 85%;
}
.message_txt {
  padding: 0 0 0 100px;
}

@media screen and (max-width: 768px){
  .message_box {
    background: url(../img/top/message_spbk.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  .message_inbox, .message_pic, .message_txt {
    width: 100%;
  }
  .message_txt {
    padding: 0 5%;
  }
  .message_pic {
    margin: 50px 0 0 0;
  }
}


/* 商品紹介 */
.product_topbox {
  width: 100%;
  padding: 100px 0 0;
}
@media screen and (max-width: 768px){
  .product_topbox {
    padding: 30px 0;
  }
}


.product_unit {
  width: calc((100% - 90px) / 4);
  width: -webkit-calc((100% - 90px) / 4);
  margin: 0 30px 50px 0;
}
.product_unit:nth-child(4n) {
  margin-right: 0;
}
.product_unit p {
  font-size: 18px;
  padding: 10px 0 0 0;
  text-align: center;
}

@media screen and (max-width: 768px){
  .product_unit {
    width: calc((100% - 30px) / 2);
    width: -webkit-calc((100% - 30px) / 2);
    margin: 0 30px 50px 0;
  }
  .product_unit:nth-child(2n) {
    margin-right: 0;
  }
  .product_unit p {
    font-size: 14px;
  }
}


/* WORKS */
.works_box {
  position: relative;
  display: block;
  width: 100%;
  height: 700px;
}

.works_pic {
  background: url(../img/top/works_pic1.jpg) no-repeat 50% 50%;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 70%;
  height: 600px;
  z-index: 2;
}

.works_bk {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 65%;
  height: 550px;
  background: #f8f8ec;
  z-index: 1;
}

.works_unit {
  position: absolute;
  display: block;
  width: 1024px;
  height: 100%;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%);
        -ms-transform: translate(-50%);
            transform: translate(-50%);
  z-index: 3;
}
.works_txt {
  display: block;
  width: 400px;
  height: 400px;
  margin: 25% 0 0 auto;
  padding: 100px 80px;
  background: #037050;
}
.works_txt h3 {
  display: block;
  width: 148px;
  margin: 0 0 30px 0;
}
.works_txt p {
  color: #fff;
}

@media screen and (max-width: 768px){
  .works_box {
    width: 100%;
    height: 500px;
  }
  .works_pic {
    width: 90%;
    height: 300px;
  }
  .works_bk {
    display: none;
  }
  .works_unit {
    width: 100%;
    left: 0;
    transform: none;
  }
  .works_txt {
    width: 50%;
    height: 200px;
    margin: 35% 0 0 auto;
    padding: 30px 50px;
  }
}

@media screen and (max-width: 414px){
  .works_box {
    height: 100%;
    padding: 0 0 90% 0;
  }
  .works_txt {
    width: 250px;
    height: 200px;
    margin: 35% 0 0 auto;
    padding: 30px 10px;
  }
}


/* BUSINESS：RECRUIT */
.link_box {
  width: 100%;
  padding: 50px 0;
}

.link_unit {
  width: 100%;
  height: 293px;
  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;
}
._business {
  background: url(../img/top/business_pic.jpg) no-repeat 50% 50%;
  background-size: cover;
}
._recruit {
  background: url(../img/top/recruit_pic.jpg) no-repeat 50% 50%;
  background-size: cover;
}

.link_txt h3 {
  display: block;
  margin: 0 auto 50px auto;
}
.link_txt p {
  color: #fff;
  text-align: center;
  padding: 0 0 20px 0;
}

@media screen and (max-width: 768px){
  .link_unit {
    width: 100%;
    height: 0;
    padding: 57.5% 0 0 0;
    margin: 0 0 10px 0;
  }
  .link_txt {
    display: block;
    margin: -55% 0 0 0;
  }
}
@media screen and (max-width: 414px){
  .link_unit {
    display: block;
    width: 100%;
    height: 0;
    padding: 57.5% 0 0 0;
    margin: 0 0 10px 0;
  }
  .link_txt {
    display: block;
    width: 80%;
    margin: -48% auto 0 auto;
  }
  .link_txt h3 {
    width: 100%;
    margin: 0 auto 25px;
  }  
}


/* CONTACT */
.contact_box {
  position: relative;
  display: block;
  width: 100%;
  height: 590px;
  margin: 0 0 70px 0;
}

.contact_pic {
  background: url(../img/top/contact_pic1.jpg) no-repeat 50% 50%;
  background-size: cover;
  position: absolute;
  top: 50px;
  right: 0;
  width: 75%;
  height: 450px;
  z-index: 2;
}

.contact_bk {
  position: absolute;
  top: 0;
  left: 0;
  width: 52%;
  height: 300px;
  background: #f8f8ec;
  z-index: 1;
}

.contact_unit {
  position: absolute;
  display: block;
  width: 1024px;
  height: 100%;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%);
        -ms-transform: translate(-50%);
            transform: translate(-50%);
  z-index: 3;
}
.contact_txt {
  display: block;
  width: 400px;
  height: 400px;
  margin: 18% 0 0 0;
  padding: 100px 70px;
  background: #037050;
}
.contact_txt h3 {
  display: block;
  margin: 0 0 30px 0;
}
.contact_txt p {
  color: #fff;
}

@media screen and (max-width: 768px){
  .contact_box {
    width: 100%;
    height: 500px;
  }
  .contact_pic {
    width: 90%;
    height: 300px;
  }
  .contact_bk {
    display: none;
  }
  .contact_unit {
    width: 100%;
    left: 0;
    transform: none;
  }
  .contact_txt {
    width: 50%;
    height: 300px;
    margin: 35% 0 0 0;
    padding: 30px 50px;
  }
}

@media screen and (max-width: 414px){
  .contact_box {
    height: 100%;
    padding: 0 0 80% 0;
  }
  .contact_txt {
    width: 250px;
    height: 270px;
    margin: 35% 0 0 0;
    padding: 30px 10px;
  }
  .contact_txt h3 {
    width: 100%;
    margin: 0 0 9px;
  }
  .contact_txt p {
    padding: 0 0 0 15px;
  }
}


/*////////////////////
  カテゴリページ
///////////////////*/

/* パンくずリスト */
.breadcrumb {
  display: flex;
  width: 80%;
  margin: auto;
  padding: 20px 0 0 0;
}
.breadcrumb a {
  color: #767676;
}
.breadcrumb p {
  color: #767676;
}
.cat_inbox {
  width: 100%;
}
.cat_txt, .cat_pic {
  width: 50%;
}
.cat_txt {
  padding: 0 0 0 50px;
}
@media screen and (max-width: 768px){
  .cat_txt, .cat_pic {
    width: 100%;
  }
  .cat_txt {
    padding: 0;
  }
  .cat_pic {
    padding: 30px;
  }
}

/* 共通 */
.cat_head {
  width: 100%;
  height: 350px;
  padding: 70px 0 0 0;
}
.cat_head h2, h3.midashi, h4.sub_midashi, h5.sub_midashi, ._midashi, .common_ttl, .common_ttl2, .new_data p b {
  font-family: YuMincho, 'Yu Mincho', serif;
}
.cat_head h2 {
  font-size: 36px;
  text-align: center;
  letter-spacing: 5px;
  padding: 50px 0 0 0;
}
.cat_head h2 img {
  width: auto;
  margin: 20px auto 0 auto;
}
@media screen and (max-width: 768px){
  .cat_head {
    height: 200px;
    padding: 50px 0 0 0;
  }
  .cat_head h2 {
    font-size: 25px;
  }
  .cat_head h2 img {
    width: auto;
    margin: 10px auto 0 auto;
  }
}

h3.midashi {
  font-size: 28px;
  padding: 0 0 50px 0;
}
h4.sub_midashi {
  font-size: 22px;
  padding: 0 0 20px 0;
}
h5.sub_midashi {
  font-size: 24px;
  padding: 0 0 20px 0;
}
h5.sub_midashi._padding47 {
  font-size: 24px;
  padding: 70px 0 0 0;
}
h4.cat_subttl {
  font-size: 26px;
  padding: 0 0 20px 0;
}
p.cat_midashi {
  font-size: 23px;
  font-weight: 600;
  padding: 0 0 30px 0;
}
p.cat_midashi2 {
  font-size: 23px;
  font-weight: 600;
  padding: 0;
}
@media screen and (max-width: 768px){
  h2._midashi._relative {
    position: relative;
    display: block;
  }
  h2._midashi._relative img {
    position: absolute;
    width: 100px;
    top: -40px;
    right: 10px;
  }
  h3.midashi {
    font-size: 25px;
    padding: 0 0 20px 0;
  }
  h4.cat_subttl {
    font-size: 18px;
    font-weight: 500;
    padding: 50px 0 20px 0;
  }
  p.cat_midashi2 {
    font-size: 16px;
    font-weight: 500;
  }
}

.cat_tag {
  width: 50%;
  margin: 80px 0 130px 0;
}
.cat_tag > div img {
  width: auto;
  margin: 0 0 0 auto;
}
.cat_tag._purple {
  background: #41428f;
}
.cat_tag._green {
  background: linear-gradient(to left, transparent 50%, #00938b 50%);
}
@media screen and (max-width: 768px){
  .cat_tag, .cat_tag > div img {
    width: 100%;
  }
  .cat_tag {
    margin: 20px 0 30px 0;
  }
  .cat_tag._purple, .cat_tag._green {
    background: rgba(255,255,255,0);
  }
}


.common_box {
  width: 100%;
  margin: 0 0 80px 0;
}
.common_space {
  display: block;
  width: 100px;
}
.common_txt, .common_pic {
  width: calc((100% - 100px) / 2);
  width: -webkit-calc((100% - 100px) / 2);
}
.common_pic._padding65 {
  padding: 65px 0 0 0;
}
.common_pic_unit {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  margin: 20px 0 0 0;
}
.common_pic_unit > div {
  width: calc((100% - 20px) / 2);
  width: -webkit-calc((100% - 20px) / 2);
  margin: 0 20px 0 0;
}
.common_pic_unit > div:nth-child(2n) {
  margin-right: 0;
}
.common_ttl, .common_ttl2 {
  margin: 0 0 20px 0;
  font-size: 28px;
}
.common_ttl {
  height: 95px;
  padding: 57px 0 0 0;
}

.common_bk {
  background: #fbfaf6;
  padding: 50px 0;
}

@media screen and (max-width: 768px){
  .common_box {
    margin: 0 0 30px 0;
  }
  .common_pic._padding65 {
    padding: 20px 0 0 0;
  }
  .common_txt, .common_pic {
    width: 100%;
  }
  .common_space {
    width: 100%;
    height: 30px;
  }
  .common_bk {
    padding: 30px 0 20px 0;
  }
}


/* 余白調整 */
._padding80w {
  padding: 0 80px!important;
}
._padding80h {
  padding-top: 80px 0 0 0;
}
._padding47 {
  display: block;
  padding: 47px 0 0 0;
}
.sp_space10 {
  padding: 10px 0 0 0;
}


/* HOMEへ戻る */
a.home_btn {
  display: block;
  width: 300px;
  margin: 30px auto;
  padding: 20px 0;
  color: #037050;
  text-align: center;
  border: 1px solid #037050;
}
a.home_btn:hover {
  color: #fff;
  background: #037050;
  transition: 0.8s;
}

/* 外部リンク */
a.outside_link {
  display: block;
  width: 300px;
  margin: 50px auto 30px auto;
  padding: 20px 0;
  color: #fff;
  text-align: center;
  background: #eb6877;
}
a.outside_link:hover {
  transition: 0.8s;
  opacity: 0.5;
}
a.outside_link span:after {
  content: '';
  display: inline-block;
  background: url(../img/cat/common/outside_icon.png) no-repeat 0 0;
  background-size: 100%;
  vertical-align: middle;
  width: 15px;
  height: 15px;
  margin: -5px 0 0 10px;
}

.comment_box {
  display: block;
  width: 90%;
  margin: auto;
}
.comment_ttl {
  font-size: 20px;
  font-weight: 600;
  padding: 0 0 20px 0;
}
.comment_ttl span {
  color: #219a93;
}


/* -------------------------- */
/* 品質・コンセプト  */
/* -------------------------- */
.cat_comcept {
  background: url(../img/cat/comcept/comcept_bk.jpg) no-repeat 50% 50%;
  background-size: cover;
  padding: 80px 0 0 0;
}
@media screen and (max-width: 768px){
  .cat_comcept {
    padding: 50px 0 0 0;
  }
}

.comcept_img {
  width: 100%;
  padding: 80px 0 50px 0;
}
.comcept_img > div {
  width: calc(100% / 4);
  width: -webkit-calc(100% / 4);
}
@media screen and (max-width: 768px){
  .comcept_img {
    padding: 0 0 50px 0;
  }
  .comcept_img > div {
    width: calc(100% / 2);
    width: -webkit-calc(100% / 2);
  }
}


/* Keypoint of 3 style tile */
.keypoint_box {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  width: 100%;
  padding: 0 0 80px 0;
}

.keypoint_txt {
  width: calc(100% - 310px);
  width: -webkit-calc(100% - 310px);
}

.keypoint_pic {
  width: 300px;
  padding: 0 0 0 60px;
}

@media screen and (max-width: 768px){
  .keypoint_box {
    padding: 0 0 30px 0;
  }
  .keypoint_pic {
    width: 40%;
    padding: 0 0 0 20px;
  }
  .keypoint_txt {
    width: 60%;
  }
}


/* 公共施設・店舗の一例 */
._home:before {
  content: '';
  display: inline-block;
  background: url(../img/cat/comcept/icon_home.png) no-repeat 0 0;
  background-size: 100%;
  vertical-align: middle;
  width: 40px;
  height: 40px;
  margin: auto 10px auto 0;
}

.home_box > div {
  width: calc((100% - 90px) / 4);
  width: -webkit-calc((100% - 90px) / 4);
  margin: 0 30px 0 0;
}
.home_box > div:nth-child(4n) {



  margin-right: 0;

}
@media screen and (max-width: 768px){
  .home_box > div {
    width: 50%;
    margin: 0;
  }
  .home_box > div:nth-child(2n) {
    margin-right: 0;
  }
}

._residence {
  background: url(../img/cat/comcept/residence.png) no-repeat;
  background-size: 90%;
  background-position: bottom 20px right 0;
}
._public {
  background: url(../img/cat/comcept/public.png) no-repeat;
  background-size: 90%;
  background-position: bottom 20px right 0;
}
._shop {
  background: url(../img/cat/comcept/shop.png) no-repeat;
  background-size: 90%;
  background-position: bottom 0 right 0;
}


/* 面状バリエーション */
._variation:before {
  content: '';
  display: inline-block;
  background: url(../img/cat/comcept/icon_variation.png) no-repeat 0 0;
  background-size: 100%;
  vertical-align: middle;
  width: 40px;
  height: 40px;
  margin: auto 10px auto 0;
}

.variation_box > div {
  width: calc((100% - 80px) / 5);
  width: -webkit-calc((100% - 80px) / 5);
  margin: 0 20px 0 0;
  font-size: 14px;
}
.variation_box > div:nth-child(5n) {
  margin-right: 0;
}
.variation_box > div img {
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px){
  .variation_box > div {
    width: calc((100% - 40px) / 3);
    width: -webkit-calc((100% - 40px) / 3);
    margin: 0 20px 20px 0;
  }
  .variation_box > div:nth-child(3n) {
    margin-right: 0;
  }
  .variation_box > div img {
    margin: 0 0 10px 0;
  }
}


/* COLOR */
.color_box {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.color_box > div {
  width: calc((100% - 30px) / 2);
  width: -webkit-calc((100% - 30px) / 2);
  margin: 0 30px 0 0;
}
.color_box > div:nth-child(2) {
  margin-right: 0;
}

.v01 {
  padding: 120px 0 0 0;
}
@media screen and (max-width: 768px){
  .color_box {
    margin: 50px 0 0 0;
  }
  .v01 {
    padding: 
  }
}


/* 高品質の理由1 */
.quality_box {
  position: relative;
  margin: 200px 0 0 0;
  padding: 150px 0 100px 0;
  background: #daf2ef;
}

.cat_tag._green {
  position: absolute;
  top: -160px;
  left: 0;
}
@media screen and (max-width: 768px){
  .quality_box {
    margin: 130px 0 0 0;
    padding: 70px 0 30px 0;
  }
  .cat_tag._green {
    top: -80px;
  }
}

.quality_ttlbox {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.quality_ttl {
  display: block;
  padding: 0 50px 30px 0;
}

.mark {
  margin: 0 30px 0 0;
}

@media screen and (max-width: 768px){
  .quality_ttlbox {
    margin: 0 0 20px 0;
  }
  .quality_ttl {
    padding: 0 10px 20px 0;
  }
  .mark {
    margin: 0;
  }
  .mark_2 {
    width: 80px;
    margin: 0 20px 0 0;
  }
  .mark_3 {
    width: 60px;
  }
}


/* 施工工程の比較 */
.koutei_ttl {
  padding: 0 0 50px 0;
}
.koutei_ttl h2 {
  font-size: 28px!important;
  padding: 0 20px!important;
}
@media screen and (max-width: 768px){
  .koutei_ttl {
    padding: 0 0 20px 0;
  }
  .koutei_ttl h2 {
    font-size: 20px!important;
  }
}

p.koutei_sub {
  font-size: 20px;
  padding: 0 0 30px 0;
}

.koutei_unit1, .koutei_unit2 {
  width: 170px;
  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;
  padding: 20px 0;
}
.koutei_unit1._end {
  width: auto;
  color: red;
  background: #fff;
  border: 0;
}
.koutei_unit1 {
  background: #f8fcfc;
  border: 1px solid #00938b;
}
.koutei_unit2 {
  background: #f0f0f0;
  border: 1px solid #909090;
}

.yajirushi {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.sp_koutei, object {
  display: block;
  width: 100%;
  height: 100%;
}

.unit_box {
  width: 90%;
  margin: auto;
}
.unit_box > div {
  width: calc((100% - 80px) / 5);
  width: -webkit-calc((100% - 80px) / 5);
  margin: 0 20px 0 0;
  font-size: 14px;
}
.unit_box > div:nth-child(5n) {
  margin-right: 0;
}
@media screen and (max-width: 768px){
  .unit_box {
    width: 100%;
  }
  .unit_box > div {
    width: calc((100% - 40px) / 3);
    width: -webkit-calc((100% - 40px) / 3);
    margin: 0 20px 20px 0;
  }
  .unit_box > div:nth-child(3n) {
   margin-right: 0;
  }
}

.unit_underbox {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  padding: 50px 0 0 0;
}
@media screen and (max-width: 768px){
  .unit_underbox {
    display: block;
    padding: 20px 0 0 0;
  }
}

.underbox_txt1 p, .underbox_txt2 p {
  font-size: 14px;
  text-indent: -1em;
  padding-left: 1em;
}
.underbox_txt1 span, .underbox_txt2 span {
  font-size: 20px;
}
.underbox_txt1 {
  padding: 0 50px 0 0;
}
@media screen and (max-width: 768px){
  .underbox_txt1 p, .underbox_txt2 p {
    text-indent: 0;
    padding-left: 0;
  }
  .underbox_txt1 {
    padding: 0 0 20px 0;
  }
}

b.b_green {
  display: block;
  font-size: 20px;
  color: #219a93;
  padding: 50px 0 20px 0;
}


/* -------------------------- */
/* Q-CATとは  */
/* -------------------------- */
.qcat_info {
  width: 70%;
  margin: auto;
  padding: 50px 0 10px 0;
}
.qcat_info img {
  width: auto;
  margin: 0 auto 50px auto;
}
.qcat_info p {
  font-size: 12px;
  text-align: center;
}
@media screen and (max-width: 768px){
  .qcat_info {
    width: 100%;
    padding: 20px 0;
  }
  .qcat_info img {
    width: 80%;
    margin: auto;
  }
}

.qcat_box {
  width: 100%;
  padding: 80px 0;
}

.qcat_txt {
  width: 50%;
  margin: 0 80px 0 0;
}
.qcat_txt > div {
  width: 512px;
  margin: 0 0 0 auto;
}

.qcat_pic {
  background: url(../img/cat/qcat/qcat_pic1.jpg) no-repeat 50% 50%;
  background-size: cover;
  width: calc((100% - 80px) / 2);
  width: -webkit-calc((100% - 80px) / 2);
  height: 400px;
}

@media screen and (max-width: 768px){
  .qcat_box {
    padding: 20px 0 50px 0;
  }
  .qcat_txt {
    width: 90%;
    margin: auto;
  }
  .qcat_txt > div {
    width: 100%;
  }
  .qcat_pic {
    width: 100%;
    height: 300px;
    margin: 20px 0 0 0;
  }
}


/* 概要 */
.kijun_box {
  width: 100%;
  margin: 50px 0 0 0;
}

.kijun_unit {
  width: calc((100% - 120px) / 3);
  width: -webkit-calc((100% - 120px) / 3);
  margin: 0 60px 0 0;
  padding: 30px;
  background: #f8fcfc;
  border: 1px solid #13b5b1;
}
.kijun_unit:nth-child(3n) {
  margin-right: 0;
}
.kijun_unit h3 {
  font-size: 24px;
  color: #00938b;
  padding: 0 0 10px 10px;
}
.kijun_unit h3:before {
  content: '';
  display: inline-block;
  background: url(../img/cat/qcat/check_icon.png) no-repeat 0 0;
  background-size: 100%;
  vertical-align: middle;
  width: 28px;
  height: 28px;
  margin: auto 20px auto 0;
}
@media screen and (max-width: 768px){
  .kijun_box {
    margin: 20px 0 0 0;
  }
  .kijun_unit {
    width: 100%;
    margin: 0 0 20px 0;
  }
  .kijun_unit h3 {
    text-align: center;
    margin: 0 0 0 -14px;
  }
}

.nintei_arr img {
  width: auto;
  margin: 50px auto;
}
@media screen and (max-width: 768px){
  .nintei_arr img {
    width: 80%;
    margin: 20px auto;
  }
}

.kijun_box2 {
  width: 100%;
  padding: 30px 80px 80px 50px;
  background: #f8fcfc;
  border: 1px solid #13b5b1;
}
.kijun_box2 h3 {
  font-size: 26px;
  color: #00938b;
  text-align: center;
  padding: 0 0 30px 0;
}
@media screen and (max-width: 768px){
  .kijun_box2 {
    padding: 30px 10px;
  }
}

.kijun_inbox2 {
  width: 100%;
}

.kijun_unit2 {
  width: 50%;
}
.kijun_unit2 p {
  padding: 0 80px 0 0;
}
.kijun_unit2 > div {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  background: #219a93;
  padding: 20px 0 20px 40px;
}
.kijun_unit2 > div img {
  width: 100px;
  margin: 5px 0 0 0;
}
.kijun_unit2 > div p {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  padding: 0 0 0 10px;
}

@media screen and (max-width: 768px){
  .kijun_unit2 {
    width: 100%;
  }
  .kijun_unit2 p {
    padding: 20px 0 0 0;
  }
  .kijun_unit2 > div {
    padding: 20px 5%;
    -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
    -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;

  }
  .kijun_unit2 > div > div img {
    width: 100%;
  }
  .kijun_unit2 > div p {
    font-size: 3vw;
  }
}

p.tab_undertxt {
  font-size: 13px;
}
@media screen and (max-width: 768px){
  p.tab_undertxt b {
    display: block;
    padding: 20px 0 0 0;
  }
}

/* Q-CAT認定品のメリット */
.qcat_merit {
  width: 80%;
  margin: 50px auto 0 auto;
  border: 2px solid #219a93;
  background: #f5f4e6;
}
.qcat_merit h3 {
  font-size: 20px;
  color: #fff;
  text-align: center;
  background: #219a93;
  padding: 10px 0;
}
@media screen and (max-width: 768px){
  .qcat_merit {
    width: 100%;
  }
}

.merit_inbox {
  width: 100%;
  padding: 50px 50px 30px 50px;
}

.merit_pic {
  width: 140px;
}

.merit_txt {
  width: calc(100% - 140px);
  width: -webkit-calc(100% - 140px);
  padding: 0 50px 0 0;
}
.merit_txt h4 {
  font-size: 19px;
  margin: 0 0 20px 0;
}
.merit_txt h4.no1:before {
  content: '';
  display: inline-block;
  background: url(../img/cat/qcat/no1.png) no-repeat 0 0;
  background-size: 100%;
  vertical-align: middle;
  width: 26px;
  height: 26px;
  margin: auto 10px auto 0;
}
.merit_txt h4.no2:before {
  content: '';
  display: inline-block;
  background: url(../img/cat/qcat/no2.png) no-repeat 0 0;
  background-size: 100%;
  vertical-align: middle;
  width: 26px;
  height: 26px;
  margin: auto 10px auto 0;
}
.merit_txt h4 span.red {
  color: red;
}
.merit_txt p {
  padding: 0 0 20px 36px;
}
.merit_txt p span {
  font-size: 13px;
}
@media screen and (max-width: 768px){
  .merit_inbox {
    padding: 20px 10px;
  }
  .merit_pic {
    margin: 0 auto 30px auto;
  }
  .merit_txt {
    width: 100%;
    padding: 0;
  }
  .merit_txt p {
    padding: 0 0 20px 0;
  }
  .merit_txt p span {
    display: block;
    margin: 20px 0 0 0;
  }
}



/* -------------------------- */
/* 会社案内  */
/* -------------------------- */

/* 会社概要 */
.company_info {
  width: 100%;
  padding: 0 0 20px 0;
}
.company_info ul {
  width: 100%;
  padding: 0 7%;
}
.company_info ul li {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  padding: 20px 0 20px 50px;
  border-bottom: 1px dotted #ccc;
}
.company_info ul li span {
  display: block;
  width: 20%;
}

.movie_box {
  margin: 80px 0;
  padding: 0 15%;
}
.movie_box iframe {
  width: 100%;
  height: 410px;
}

@media screen and (max-width: 768px){
  .company_info ul {
    padding: 0;
  }
  .company_info ul li {
    padding: 20px 0;
  }
  .company_info ul li span {
    width: 40%;
  }
  .company_info ul li p {
    width: 60%;
  }
  .movie_box {
    margin: 20px 0 50px 0;
    padding: 0 10%;
  }
}


/* 詳細連絡先 */
.company_details, #company_info {
  width: 100%;
}

.company_box {
  width: 100%;
  margin: 80px 0 0 0;
}
.company_pic, .company_txt {
  width: 50%;
}
.company_pic {
  padding: 0 50px 0 0;
}
.company_txt h3 {
  font-size: 20px;
  padding: 0 0 10px 0;
}
.company_txt p {
  padding: 0 0 20px 0;
}
.company_txt dl {
  display:flex; 
}
.company_txt dt {
  width:200px; 
}
.company_txt dd {
  width:250px; 
}
@media screen and (max-width: 768px){
  .company_box {
    margin: 30px 0 0 0;
  }
  .company_pic, .company_txt {
    width: 100%;
  }
  .company_pic {
    padding: 0;
  }
  .company_pic h3 {
    font-weight: 500;
    text-align: center;
    padding: 0 0 20px 0;
  }
  .company_txt p b {
    font-size: 20px;
    font-weight: 500;
  }
  .company_txt p {
    padding: 0 0 50px 0;
  }
  .company_txt dt {
  width:260px; 
}
}


/* 沿革 */
.history {
  width: 100%;
  margin: 0 0 -1px 0;
  border: 1px solid #aaaaaa;

}
.history_data {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 20%;

  padding: 0 2%;
  background: #ededed;
  border-right: 1px solid #aaaaaa;
}
.history_unit1 {
  width: 30%;
  padding: 20px 15px;
  border-right: 1px solid #aaaaaa;
}
.history_unit1 img {
  width: 50%;
  margin: 0 0 5px 0;
}
.history_unit2 {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50%;
  padding: 20px 15px;
}

@media screen and (max-width: 768px){
  .history {
    border: 0;
  }
  .history_data, .history_unit1, .history_unit2 {
    width: 100%;
  }
  .history_unit1, .history_unit2 {
    border-right: 0;
  }
  .history_unit1 {
    border-bottom: 1px solid #aaaaaa;
  }
  .history_data {
    -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
    padding: 2% 0;
    text-align: center;
  }
}


/* -------------------------- */
/* 採用情報  */
/* -------------------------- */
.center_catch {
  font-size: 24px;
  text-align: center;
  line-height: 1.0;
}

.recruit_box {
  width: 100%;
}
.recruit_box h4 {
  font-size: 24px;
  padding: 50px 0;
}

.recruit_inbox {
  width: 100%;
}

.recruit_txt {
  width: calc(100% - 398px);
  width: -webkit-calc(100% - 398px);
  padding: 0 30px 0 0;
}
.recruit_txt ul {
  width: 100%;
  margin: 0;
  padding: 0;
}
.recruit_txt ul li {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  padding: 20px 0;
  border-bottom: 1px dotted #ccc;
}
.recruit_txt ul li._first {
  padding: 0;
  border: 0;
}
.kubun._first, .shokushu._first, .ninzu._first {
  padding: 10px 0;
  background: #ededed;
  text-align: center;
  border: 0;
}
.kubun {
  width: 20%;
  margin: 0 10px 0 0;
  text-align: center;
}
.shokushu {
  width: 50%;
  margin: 0 10px 0 0;
  padding-left: 10px;
  padding-right: 10px; 
  letter-spacing: -0.5px;
}
.ninzu {
  width: 30%;
  text-align: center;
}

.recruit_pic {
  width: 398px;
}

.recruit_unit {
  width: 100%;
  padding: 20px 0;
  border-bottom: 1px dotted #ccc;
}
p.recruit_item {
  width: 30%;
  padding: 0 80px;
}
p.recruit_details {
  width: 70%;
}

.recruit_under {
  width: 100%;
}
.recruit_under_pic {
  width: 40%;
}
.recruit_under_txt {
  width: 60%;
  padding: 0 0 0 80px;
}

@media screen and (max-width: 768px){
  .center_catch {
    font-size: 20px;
    text-align: justify;
    text-justify: inter-ideograph;
    line-height: 1.7;
  }
  .recruit_box h4 {
    padding: 30px 0 10px 0;
  }
  .recruit_txt, .recruit_pic, p.recruit_item, p.recruit_details, .recruit_under_pic, .recruit_under_txt {
    width: 100%;
  }
  .recruit_txt {
    padding: 0;
  }
  .recruit_pic {
    padding: 0 0 20px 0;
  }
  p.recruit_item {
    padding: 0;
  }
  .recruit_under_txt {
    padding: 20px 0 0 0;
  }
  .sp_recruit_contact {
    width: 100%;
  }
  .sp_recruit_contact h4 {
    font-size: 24px;
    padding: 30px 0 10px 0;
  }
  .sp_recruit_contact p {
    padding: 10px 0;
    border-bottom: 1px dotted #ccc;
  }
  /* 資料請求 */
  a.contact_btn2 {
    display: block;
    width: 100%;
    margin: 50px 0 100px 0;
    padding: 10px 0;
    color: #037050;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    border: 2px solid #037050;
    border-radius: 50px;
    background: #fbf8e2;
  }
  a.contact_btn2:before {
    content: '';
    display: inline-block;
    background: url(../img/cat/recruit/file_icon.png) no-repeat 0 0;
    background-size: 100%;
    vertical-align: middle;
    width: 34px;
    height: 34px;
    margin: auto 10px auto 0;
  }
}


/* -------------------------- */
/* お問い合わせ：フォーム  */
/* -------------------------- */
.form_box {
  width: 100%;
  margin: 50px 0 0 0;
}

.form_unit {
  width: 100%;
  margin: 0 0 -1px 0;
  border: 1px solid #ccc;
}

.item_name {
  width: 30%;
  padding: 20px 30px;
  background: #f7f7f7;
  border-right: 1px solid #ccc;
  font-weight: 600;
  line-height: 1.0;

}
.item_name span {
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  background: #eb6877;
  margin: 0 0 0 20px;
  padding: 5px 10px;
}

.item_box {
  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;

  width: 70%;
  padding: 10px 20px;
}

textarea, select,
input[type=text],
input[type=email] {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc!important;
  border-radius: 5px;
}

.submit {
  margin: 150px auto 20px auto;
}

input[name="submitBack"] {
  display: block;
  width: 300px;
  margin: 0 50px 0 0;
  padding: 10px 0;
  font-size: 20px;
  color: #037050!important;
  background: #fff!important;
  border: 2px solid #037050!important;
  text-align: center;
  cursor: pointer;
}
input[name="submitBack"]:hover {
  color: #fff!important;
  background: #037050!important;
  transition: 0.8s;
}

input[type="submit"] {
  display: block;
  width: 300px;
  padding: 10px 0;
  font-size: 20px;
  color: #fff;
  background: #037050;
  border: 2px solid #037050;
  text-align: center;
  cursor: pointer;
}
input[type="submit"]:hover {
  color: #037050;
  background: #fff;
  transition: 0.8s;
}

.form_txt p {
  margin: 0 0 50px 0;
  text-align: center;
}
.form_txt b {
  font-size: 18px;
  color: #037050;
}

@media screen and (max-width: 896px){
  .form_box, .item_name, .item_box {
    width: 100%;
  }
  .form_unit {
    border: 0;
    margin: 0;
  }
  .item_name {
    padding: 15px 10px;
    border: 1px solid #ccc;
  }
  .item_box {
    padding: 10px 5px;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }
  .submit {
    margin: 50px auto;
  }
  .form_txt p {
    margin: 0;
  }
}


/* -------------------------- */
/* 商品紹介  */
/* -------------------------- */
.product_box {
  width: 100%;
}
.product_inbox {
  width: calc(100% - 200px);
  width: -webkit-calc(100% - 200px);
  padding: 0 50px 0 0;
}
.product_article {
  width: 100%;
  padding: 0 0 30px 0;
}
.product_article h2 {
  font-size: 36px;
  font-weight: 500;
  color: #282828;
  padding: 0 0 30px 0;
}
.product_article ul {
  width: 100%;
  margin: 0;
  padding: 0;
}
.product_article ul li {
  width: calc((100% - 50px) / 3);
  width: -webkit-calc((100% - 50px) / 3);
  margin: 0 25px 30px 0;
}
.product_article ul li:nth-child(3n) {
  margin-right: 0;
}
.product_article ul li p {
  height: 80px;
  padding: 10px 20px 20px 20px;
  border: 1px solid #ccc;
}
@media screen and (max-width: 768px){
  .product_inbox {
    width: 100%;
    padding: 0;
  }
  .product_article ul li {
    width: calc((100% - 20px) / 2);
    width: -webkit-calc((100% - 20px) / 2);
    margin: 0 20px 30px 0;
  }
  .product_article ul li:nth-child(2n) {
    margin-right: 0;
  }
  .product_article ul li:nth-child(3n) {
    margin-right: 20px;
  }
  .product_article ul li:nth-child(6n) {
    margin-right: 0;
  }
  .product_article ul li p {
    line-height: 1.3;
  }
}

/* page-numbers */
.page-numbers {
  width: 100%;
  margin: 100px 0 0 0;
}
.page-numbers ul {
  display: -webkit-box;
    display: -ms-flexbox;
      display: flex;
    -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
.page-numbers li a {
  width: 53px;
  height: 53px;
  margin: 0 5px 0 0;
  padding: 15px 20px;
  text-align: center;
  border: 1px solid #b6b6b6;
}
.page-numbers.current {
  width: 53px;
  height: 53px;
  margin: 0 5px 0 0;
  padding: 15px 20px;
  background: #b6b6b6;
  border: 1px solid #b6b6b6;
  color: #fff;
}

@media screen and (max-width: 768px){
  .product_inbox {
    width: 100%;
    padding: 0;
  }
  .page-numbers {
    margin: 20px 0 50px 0;
  }
}


/* カテゴリ一覧 */
.category {
  display: block;
  width: 200px;
}
@media screen and (max-width: 768px){
  .category {
    display: none;
  }

}

.category h3 {
  font-size: 20px;
  font-weight: 500;

  padding: 0 0 10px 0;
}
.category ul {
  width: 100%;
  margin: 0;
  padding: 0;
}
.category li {
  width: 100%;
  margin: 
  padding: 10px 0;
  border-bottom: 1px solid #ccc;
}
.category li a {
  line-height: 2.0;
  color: initial!important;
}

/* 検索 */
.search_btn {
    margin: 0 0 30px 0;
}
button[name="search"] {
  display: block;
  width: 70px;
  margin: 0 0 0 10px;
  padding: 3px 0;
  font-size: 14px;
  color: #fff;
  background: #288f71;
  border: 2px solid #288f71;
  border-radius: 10px;
  text-align: center;
  cursor: pointer;
}
button[name="search"]:hover {
  color: #288f71;
  background: #fff;
  transition: 0.8s;
}
/* 検索結果 */
.count {
  margin: 0 0 20px 0;
}
.search_box {
  width: 80%;
  margin: 0 auto 80px auto;
}
.search_box h1 {
  font-size: 30px;
}

ul.search_list {
  width: 100%;
  margin: 0;
  padding: 0;
}
ul.search_list li {
  padding: 10px 0;
  border-bottom: 1px dotted #ccc;
}

/* Page Nation */
.page_nation {
  margin: 100px 0;
}
span.pages {
  display: none;
}
span.current, a.page, a.nextpostslink, a.previouspostslink {
  padding: 15px 20px!important;
}
span.current {
  color: #fff;
  background: #b6b6b6;
}
.wp-pagenavi a, .wp-pagenavi span {
  border: 1px solid #b6b6b6!important;
}
@media screen and (max-width: 768px){
  .page_nation {
    margin: 50px 0 0 0;
  }
}



/* -------------------------- */
/* 商品一覧 */
/* -------------------------- */
.archive_productbox {
  width: 100%;
}
.archive_product_inbox {
  width: calc(100% - 150px);
  width: -webkit-calc(100% - 150px);
  padding: 0 50px 0 0;
}

.archive_product_list {
  padding: 0 0 30px 0;
}
.archive_product_list li {
  width: calc((100% - 50px) / 3);
  width: -webkit-calc((100% - 50px) / 3);
  margin: 0 25px 30px 0;
}
.archive_product_list li:nth-child(3n) {
  margin-right: 0;
}

.archive_product_list li p {
  height: 110px;
  font-weight: 600;
  padding: 10px 20px 20px 20px;
  border: 1px solid #ccc;
}
.archive_product_list li a p span {
  font-size: 14px;
  font-weight: 500;
  color: #7f7f7f;
  padding: 0 0 10px 0;
}

.thumbnail {
  position: relative;
  max-height: 200px;
  margin: 0 0 -1px 0; 
  overflow: hidden;
  border: 1px solid #ccc;
}

.thumbnail:before {
  content: '';
  display: block;
  padding-top: 100%;
}

.thumbnail img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: 110%;
  -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px){
  .thumbnail img {
    height: 150%;
  }
}
@media screen and (max-width: 415px){
  .thumbnail img {
    height: 120%;
  }
}

/* レスポンシブ */
@media screen and (max-width: 768px){
    .comcept_box {
  padding: 40px 0 80px 0;
}
  .archive_productbox {
    margin: 50px 0;
  }
  .archive_product_inbox {
    width: 100%;
    padding: 0;
  }
  .archive_product_list li {
    width: calc((100% - 10px) / 2);
    width: -webkit-calc((100% - 10px) / 2);
    margin: 0 10px 20px 0;
  }
  .archive_product_list li:nth-child(2n) {
    margin-right: 0;
  }
  .archive_product_list li:nth-child(3n) {
    margin-right: 10px;
  }
  .archive_product_list li:nth-child(6n) {
    margin-right: 0;
  }
  .archive_product_list li p {
    line-height: 1.4;
  }
}