/*============================================================= #home HOME =============================================================*/
/* #strength
================================================ */
#home #strength { padding: 36px 0; background: url("../img/common/bg_beige01.png"); }

#home #strength .head { margin-bottom: 25px; }

#home #strength .head .secTit { display: table; color: #d4000f; font-size: 2.6rem; text-align: center; font-weight: 900; margin: 0 auto 13px; border-bottom: 3px solid #8f7362; }

#home #strength .head .secTit .sml { color: #4d372a; font-size: 2.1rem; display: table; padding: 3px 22px 0; margin: 0 auto -5px; position: relative; }

#home #strength .head .secTit .sml:before, #home #strength .head .secTit .sml:after { content: ""; display: block; width: 3px; height: 24px; background: #4d372a; position: absolute; top: 0; bottom: 0; margin: auto; }

#home #strength .head .secTit .sml:before { left: 0; -webkit-transform: rotate(-30deg); -ms-transform: rotate(-30deg); transform: rotate(-30deg); }

#home #strength .head .secTit .sml:after { right: 0; -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); }

#home #strength .head .lead { font-weight: 500; text-align: center; margin-bottom: 13px; }

#home #strength .list { width: 91%; margin: 0 auto; }

#home #strength .list .item { margin-bottom: 15px; }

#home #strength .list .item:last-of-type { margin-bottom: 0; }

#home #strength .list .item .ico { width: 101px; display: block; margin: 0 auto 8px; }

#home #strength .list .item .tit { color: #4d372a; text-align: center; font-weight: bold; font-size: 1.8rem; margin-bottom: 2px; }

#home #strength .list .item .txt a { color: #0082d4; text-decoration: underline; }

@media screen and (min-width: 600px) { #home #strength { padding: 66px 0 78px; }
  #home #strength .head { margin-bottom: 33px; }
  #home #strength .head .secTit { font-size: 4.8rem; line-height: 1.6; margin-bottom: 22px; }
  #home #strength .head .secTit .sml { font-size: 3.4rem; padding: 1px 30px 0; margin: 0 auto -5px 87px; }
  #home #strength .head .secTit .sml:before, #home #strength .head .secTit .sml:after { height: 34px; }
  #home #strength .head .lead { font-size: 2rem; }
  #home #strength .list { width: 89.5%; }
  #home #strength .list .item { width: 30.5%; float: left; margin: 0 4.25% 0 0; }
  #home #strength .list .item:last-of-type { margin: 0; }
  #home #strength .list .item .ico { width: 140px; margin-bottom: 13px; }
  #home #strength .list .item .tit { font-size: 2.4rem; margin-bottom: 4px; }
  #home #strength .list .item .txt { letter-spacing: 0; } }

/* #category
================================================ */
#home #category { padding: 42px 0 50px; background: url("../img/common/bg_wood01.png"); }

#home #category .head { margin-bottom: 22px; }

#home #category .head .secTit { color: #fff; border-bottom-color: #fff; }

#home #category .categoryList { margin-bottom: 20px; }

#home #category .categoryList .item { margin-bottom: 15px; background: #fff; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3); position: relative; }

#home #category .categoryList .item:last-of-type { margin-bottom: 0; }

#home #category .categoryList .item .tit { color: #4d372a; text-align: center; font-size: 1.8rem; font-weight: bold; padding: 7px 15px; line-height: 1.4; position: absolute; top: 0; left: 0; right: 0; margin: auto; height: 50px; width: 95%; width: calc(100% - 30px); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

#home #category .categoryList .item .img { width: 100%; margin: 0 auto 11px; }

#home #category .other { padding: 10px 10px 15px; background: #fff; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3); }

#home #category .other .in { padding: 21px 3px 24px; border: 8px double #c1bab6; }

#home #category .other .tit { color: #4d372a; text-align: center; font-weight: bold; font-size: 2.1rem; line-height: 1.5; margin-bottom: 11px; }

#home #category .other .tit span { color: #d4000f; }

#home #category .other .list { margin: 0 auto; text-align: center; }

#home #category .other .list .item { display: inline-block; position: relative; padding: 0 0 0 18px; margin: 0 12px; }

#home #category .other .list .item:before { content: ""; display: block; width: 14px; height: 14px; background: #8f7362; border-radius: 50%; position: absolute; top: 6px; left: 0; }

#home #category .categoryList .item .area-img {
  position: relative;
}
#home #category .categoryList .item .strong {
  position: absolute;
  bottom: 24px;
  left: 10px;
}
#home #category .categoryList .item .strong .link {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 61px;
  height: 61px;
  color: #494340;
  background: #ffdb57;
  box-shadow: 0 4px #ebcc40;
  font-size: 1rem;
  font-weight: 700;
  border-radius: 50%;
  position: relative;
}
#home #category .categoryList .item .strong .link:before {
  position: absolute;
  content: "";
  bottom: 5px;
  left: 50%;
  width: 9px;
  height: 14px;
  background: url(../img/common/ico_arrow05.png) no-repeat 0 100%/cover;
  transform: translateX(-50%) rotate(90deg);
}

@media screen and (min-width: 600px) { #home #category { padding: 88px 0 90px; }
  #home #category .head { margin-bottom: 40px; }
  #home #category .categoryList { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  #home #category .categoryList .item { width: 23.8%; margin: 0 1.6% 20px 0 !important; }
  #home #category .categoryList .item:nth-of-type(4n + 1) { margin-right: 0 !important; }
  #home #category .categoryList .item:nth-of-type(1) { width: 100%; padding-bottom: 29px !important; }
  #home #category .categoryList .item:nth-of-type(1) .tit { margin-bottom: 8px; }
  #home #category .categoryList .item .tit { width: auto; height: auto; display: block; font-size: 2.4rem; padding: 0; margin-bottom: 3px; position: static; background: none; }
  #home #category .categoryList .item .img { margin-bottom: 14px; }
  #home #category .categoryList .item .txt { width: 97%; margin: 0 auto; }
  #home #category .other { padding: 11px; }
  #home #category .other .in { padding: 30px 3px 28px; border-width: 6px; }
  #home #category .other .tit { font-size: 3rem; margin-bottom: 16px; }
  #home #category .other .list .item { padding: 0 0 0 22px; margin: 0 14px 6px 0; }
  #home #category .other .list .item:before { width: 19px; height: 19px; }
  #home #category .other .list .item:nth-child(7) { margin-right: 100px; }
  #home #category .categoryList .item .strong .link {
    width: 80px;
    height: 80px;
    font-size: 1.4rem;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    cursor: pointer;
  }
  #home #category .categoryList .item .strong .link:hover {
    transform: translateY(4px);
    box-shadow: none;
  }

}

/* js */
@media screen and (max-width: 599px) { .categoryList .js-parent { padding: 24px 15px 0; overflow: hidden; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .categoryList .js-parent.is_active { padding: 50px 15px 10px; }
  .categoryList .js-parent.is_active .js-category-content { visibility: visible; opacity: 1; height: auto; }
  .categoryList .js-parent .js-category-btn { cursor: pointer; background: url("../img/common/ico_arrow01.png") no-repeat right center; background-size: 14px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .categoryList .js-parent .js-category-btn.is_active { background-image: url("../img/common/ico_arrow02.png"); }
  .categoryList .js-parent .js-category-content { visibility: hidden; opacity: 0; height: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

  .categoryList .js-parent.is_active .js-category-strong {
    visibility: visible; opacity: 1;
  }
  .categoryList .js-parent .js-category-strong {
    visibility: hidden;
    opacity: 0;
  }
}

@media screen and (min-width: 600px) { .categoryList .js-parent { padding: 10px 10px 20px !important; }
  .categoryList .js-parent .js-category-btn { pointer-events: none; }
  .categoryList .js-parent .js-category-content { visibility: visible; opacity: 1; height: auto; } }

/* #consultation
================================================ */
#home #consultation { padding: 34px 0 30px; background: url("../img/common/bg_beige01.png"); }

#home #consultation .head { margin-bottom: 21px; }

#home #consultation .head .secTit { font-size: 2.4rem; font-weight: 900; text-align: center; line-height: 1.72; }

#home #consultation .head .secTit span { color: #4d372a; font-size: 2.7rem; border-bottom: 3px solid #8f7362; }

#home #consultation .box { margin-bottom: 28px; }

#home #consultation .box .img { display: block; margin: 0 auto 14px; }

#home #consultation .two .item { padding: 38px 11px 15px; margin-bottom: 10px; background: #fff; border: 3px solid #4d372a; position: relative; }

#home #consultation .two .item:last-of-type { margin-bottom: 0; }

#home #consultation .two .item .num { color: #fff; font-size: 1.8rem; font-weight: bold; position: absolute; top: -3px; left: -3px; width: 75px; height: 75px; padding: 6px 0 0 10px; overflow: hidden; }

#home #consultation .two .item .num:before { content: ""; display: block; width: 100%; height: 100%; background: #009044; position: absolute; top: 0; left: -37px; z-index: 1; -webkit-transform: skewX(-45deg); -ms-transform: skewX(-45deg); transform: skewX(-45deg); }

#home #consultation .two .item .num span { position: relative; z-index: 2; }

#home #consultation .two .item .tit { color: #4d372a; font-size: 2.1rem; font-weight: bold; line-height: 1.4; text-align: center; margin-bottom: 3px; position: relative; z-index: 2; }

#home #consultation .two .item .sml { font-size: 1.3rem; margin-top: 7px; }

@media screen and (min-width: 600px) { #home #consultation { padding: 66px 0 60px; }
  #home #consultation .head { margin-bottom: 14px; }
  #home #consultation .head .secTit { font-size: 3.6rem; line-height: 1.78; }
  #home #consultation .head .secTit span { font-size: 4.5rem; }
  #home #consultation .box { margin-bottom: 50px; }
  #home #consultation .box .img { width: 580px; float: left; margin: 3px auto 0 0; }
  #home #consultation .box .txtBox { width: 48.2%; float: right; }
  #home #consultation .two { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  #home #consultation .two .item { width: 49.2%; padding: 23px 23px 22px; margin: 0; border-width: 6px; }
  #home #consultation .two .item .num { top: -6px; left: -6px; }
  #home #consultation .two .item .tit { font-size: 3rem; margin-bottom: 8px; }
  #home #consultation .two .item .sml { font-size: 1.5rem; } }

/* #case
================================================ */
#home #case { padding: 23px 0 47px; background: url("../img/common/bg_beige02.png"); }

#home #case .head { margin-bottom: 15px; }

#home #case .head .secTit { display: table; color: #4d372a; font-size: 2.4rem; text-align: center; font-weight: bold; line-height: 1.5; padding: 0 23px; margin: 0 auto; position: relative; }

#home #case .head .secTit:before, #home #case .head .secTit:after { content: ""; display: block; width: 4px; height: 34px; background: #4d372a; position: absolute; bottom: 5px; margin: auto; }

#home #case .head .secTit:before { left: 0; -webkit-transform: rotate(-30deg); -ms-transform: rotate(-30deg); transform: rotate(-30deg); }

#home #case .head .secTit:after { right: 0; -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); }

@media screen and (min-width: 600px) { #home #case { padding: 53px 0 80px; }
  #home #case .head { margin-bottom: 21px; }
  #home #case .head .secTit { font-size: 3.6rem; padding: 0 26px; }
  #home #case .head .secTit:before, #home #case .head .secTit:after { bottom: 8px; } }

/* #blogArchive
================================================ */
#home #blogArchive { padding: 38px 0 0; }

#home #blogArchive .head { margin-bottom: 15px; }

#home #blogArchive .head .secTit { margin-bottom: 15px; }

#home #blogArchive .head .lead { text-align: center; }

@media screen and (min-width: 600px) { #home #blogArchive { padding: 77px 0 0; }
  #home #blogArchive .head { margin-bottom: 2px; }
  #home #blogArchive .head .secTit { margin-bottom: 22px; } }

/* #flow
================================================ */
#home #flow { padding: 34px 0 12px; }

#home #flow .head { margin-bottom: 16px; }

#home #flow .head .secTit { margin-bottom: 15px; }

#home #flow .head .lead { font-size: 1.6rem; font-weight: bold; text-align: center; }

#home #flow .flowBox { margin-bottom: 26px; }

#home #flow .flowBox .box { position: relative; margin-bottom: 11px; padding-bottom: 32px; }

#home #flow .flowBox .box:last-of-type { padding-bottom: 0; margin-bottom: 0; }

#home #flow .flowBox .box:last-of-type:before { content: none; }

#home #flow .flowBox .box:before { content: ""; display: block; width: 38px; height: 20px; background: url("../img/common/ico_arrow04.png") no-repeat center; background-size: contain; position: absolute; left: 0; right: 0; bottom: 0; margin: auto; }

#home #flow .flowBox .box .num { color: #fff; font-size: 1.8rem; font-weight: bold; position: absolute; top: 0; left: 0; width: 75px; height: 75px; padding: 5px 0 0 12px; overflow: hidden; }

#home #flow .flowBox .box .num:before { content: ""; display: block; width: 100%; height: 100%; background: #d4000f; position: absolute; top: 0; left: -37px; z-index: 1; -webkit-transform: skewX(-45deg); -ms-transform: skewX(-45deg); transform: skewX(-45deg); }

#home #flow .flowBox .box .num span { position: relative; z-index: 2; }

#home #flow .flowBox .img { display: block; width: 100%; margin: 0 auto 11px; }

#home #flow .flowBox .tit { color: #4d372a; font-size: 1.8rem; font-weight: bold; text-align: center; }

#home #flow .flowBox .txt a { color: #0082d4; text-decoration: underline; }

#home #flow .flowBox .txt + .txt { margin-top: 10px; }

#home #flow .flowBox .caution { text-indent: -1.1em; padding-left: 1.1em; }

#home #flow .flowBox .info { padding: 9px 12px 17px; margin-top: 10px; background: #eee; }

#home #flow .flowBox .info dt { color: #4d372a; font-weight: bold; }

@media screen and (min-width: 600px) { #home #flow { padding: 78px 0 35px; }
  #home #flow .head { margin-bottom: 31px; }
  #home #flow .head .secTit { margin-bottom: 20px; }
  #home #flow .head .lead { font-size: 2.1rem; }
  #home #flow .flowBox { margin-bottom: 63px; }
  #home #flow .flowBox .box { width: 30%; float: left; padding: 0; margin: 0 5% 0 0; }
  #home #flow .flowBox .box:last-of-type { margin: 0; }
  #home #flow .flowBox .box:before { top: 188px; bottom: auto; left: auto; right: -52px; -webkit-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); }
  #home #flow .flowBox .img { margin-bottom: 9px; }
  #home #flow .flowBox .tit { font-size: 2.4rem; margin-bottom: 6px; }
  #home #flow .flowBox .txt { font-size: 1.5rem; }
  #home #flow .flowBox .txt + .txt { margin-top: 34px; }
  #home #flow .flowBox .info { padding: 16px 17px 15px; margin-top: 13px; }
  #home #flow .flowBox .info dt { font-size: 1.5rem; }
  #home #flow .flowBox .info dd { font-size: 1.5rem; } }

/* #shop
================================================ */
#home #shop { padding: 35px 0 35px; background: url("../img/common/bg_beige01.png"); }

#home #shop .head { margin-bottom: 19px; }

#home #shop .shopBox .box { margin-bottom: 25px; }

#home #shop .shopBox .box:last-of-type { margin-bottom: 0; }

#home #shop .shopBox .box .img { display: block; margin: 0 auto 13px; }

#home #shop .shopBox .box .name { display: table; font-size: 1.6rem; font-weight: bold; padding-bottom: 11px; margin: 0 auto 10px 0; position: relative; }

#home #shop .shopBox .box .name:before { content: ""; display: block; width: 118px; height: 2px; background: #8f7362; position: absolute; left: 0; bottom: 0; }

#home #shop .shopBox .box .name span { font-size: 1.4rem; }

@media screen and (min-width: 600px) { #home #shop { padding: 78px 0 84px; }
  #home #shop .head { margin-bottom: 38px; }
  /*#home #shop .shopBox .box { width: 48.3%; float: left; margin-bottom: 0; }*/
  #home #shop .shopBox  {display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0 -20px;}
  /*#home #shop .shopBox .box:last-of-type { float: right; }*/
  #home #shop .shopBox .box {width: calc(50% - 40px); margin: 0 20px;}
  #home #shop .shopBox .box:nth-child(n+3) { margin-top: 40px; }
  #home #shop .shopBox .box .img { margin-bottom: 20px; }
  #home #shop .shopBox .box .name { font-size: 2.1rem; padding-bottom: 9px; margin-bottom: 15px; }
  #home #shop .shopBox .box .name:before { width: 125px; }
  #home #shop .shopBox .box .name span { font-size: 1.8rem; }
  #home #shop .shopBox .box .txt { font-size: 1.5rem; }
   }

