@charset "utf-8";
/*=========================================================
all
=========================================================*/
/*:::::::::::【背景】::::::::::*/
.back {
  /*padding: 100px 0;*/
  padding-top: 100px;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
  .back {
    padding: 60px 0;
  }
}
@media (max-width:900px) {
  .back {
    padding: 50px 0;
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::【横幅】::::::::::*/
.width {
  max-width: 80%;
  margin: 0 auto;
  position: relative;
  z-index: 5;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {
  .width {
    max-width: 90%;
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::【コンテンツ】::::::::::*/
.contents {
  position: relative;
  margin: 0 auto;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
  /*  .contents {
    margin: 50px auto 0 auto;
  }*/
}
@media (max-width:900px) {
  /*  .contents {
    margin: 50px auto 0 auto;
  }*/
}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::【オーバーレイ】::::::::::*/
.overlay {
  position: relative;
  /*padding: 100px 0;*/
}
.overlay::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.3);
  z-index: 2;
}
.overlay-box {
  position: relative;
  z-index: 5;
}
/*=========================================================
TOP
=========================================================*/
/*:::::::::::【】::::::::::*/
#slider-box {
  position: relative;
  width: 100%;
  height: calc(100vh - 100px);
  margin: 0 auto;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.slider {
  width: 80%;
  height: 90%;
}
/*テキスト*/
.top-txt {
  position: absolute;
  width: clamp(18.75rem, 10.25rem + 13.33vw, 26.25rem); /*420px~320px*/
  height: auto;
	    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
	background-color: rgba(255,255,255,0.30);
}
.top-txt img {
  width: 100%;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  #slider-box {
    height: calc(50vh - 100px);
  }
  .slider {
    width: 80%;
    height: 80%;
  }

}
@media (max-width:900px) {
  #slider-box {
    height: calc(50vh - 100px);
  }
  .slider {
    width: 80%;
    height: 80%;
  }

}
@media (max-width:600px) {
  #slider-box {
    position: relative;
    height: calc(100vh - 80px);
    flex-direction: column;
  }
  .slider {
    width: 100%;
    height: 100%;
  }
  .top-txt {
    width: clamp(11.25rem, 5rem + 25vw, 14.375rem); /*230-180*/
  }
}
@media (max-width:450px) {
}
@media (max-width: 400px) {}
/*=========================================================
【お知らせ】
=========================================================*/
/*:::::::::::【背景】::::::::::*/
.news-back {
  overflow-x: hidden;
  height: auto;
  padding-bottom: 0;
}
.news-width {}
/*:::::::::::【メインタイトル】::::::::::*/
.news-mtitle {
  margin-bottom: 80px;
}
/*:::::::::::【パターン】::::::::::*/
.n-ptn-01 {
  position: absolute;
  top: 30%;
  left: 0;
  transform: translateY(-30%);
  transform: scaleY(-1);
  height: 200px;
}
.n-ptn-02 {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: scaleX(-1);
  height: 200px;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {
  .n-ptn-01 {
    height: 150px;
  }
  .n-ptn-02 {
    height: 150px;
  }
}
@media (max-width:600px) {
  .news-back {
    padding-bottom: 0;
  }
  /*:::::::::::【メインタイトル】::::::::::*/
  .news-mtitle {
    margin-bottom: 60px;
  }
  /*:::::::::::【パターン】::::::::::*/
  .n-ptn-01 {
    top: 41%;
    transform: translateY(-41%);
    transform: scaleY(-1);
    height: 100px;
  }
  .n-ptn-02 {
    position: absolute;
    bottom: 15%;
    right: 0;
    transform: translateY(-15%);
    transform: scaleX(-1);
    height: 100px;
  }
}
@media (max-width:450px) {
  /*:::::::::::【パターン】::::::::::*/
  .n-ptn-01 {
    height: 82px;
  }
  .n-ptn-02 {
    bottom: 19%;
    transform: translateY(-19%);
    transform: scaleX(-1);
    height: 82px;
  }
}
@media (max-width: 400px) {
  /*:::::::::::【パターン】::::::::::*/
  .n-ptn-01 {
    top: 42%;
    transform: translateY(-42%);
    transform: scaleY(-1);
    height: 71px;
  }
  .n-ptn-02 {
    position: absolute;
    bottom: 20%;
    right: 0;
    transform: translateY(-20%);
    transform: scaleX(-1);
    height: 71px;
  }
}
/*:::::::::::【ニュース】::::::::::*/
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  display: inline-block;
  margin: 3%;
}
/* for macIE \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}
.news-flex {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.news_titl {
  width: 25%;
}
.news-box {
  width: 100%;
}
#newsWrap {
  display: block;
  width: 100%;
  margin: 0 auto;
  height: auto;
  position: relative;
}
.back_w {
  position: absolute;
  top: 0;
  right: 0;
  width: 65%;
  z-index: -10;
}
#newsWrap ul#newsList { /*211029〜*/
  width: 100%;
  overflow-y: scroll;
  height: 200px;
  padding: 0 5px;
  display: block;
  border: 1px solid #343434;
  border-right: 2px solid #343434;
  background-color: #fff;
}
#newsWrap ul#newsList::-webkit-scrollbar {
  width: 4px;
}
#newsWrap ul#newsList::-webkit-scrollbar-track { /*バーの色*/
  background-color: #5269cc;
}
#newsWrap ul#newsList::-webkit-scrollbar { /*バーの色*/
  background-color: #5269cc;
}
.news-flex {
  width: 100%;
}
ul#newsList {
  display: block;
  margin: 0 auto;
}
ul#newsList li {
  font-size: 1em;
  margin: 0;
  padding: 2% 3%;
  margin-bottom: 3px;
  list-style-type: none;
  border-bottom: 1px dashed #534741;
}
#newsWrap a { /*新着情報*/
  /*color: #fff;*/
  text-decoration: underline;
  text-decoration: none;
}
#newsWrap a:hover {
  color: #5269cc;
  text-decoration: none;
}
.up_ymd { /*日付*/
  /*color: #fff;*/
  padding: 1%;
  text-align: left;
}
.catName { /*お知らせ・施工実績などの名前*/
  display: inline-block;
  padding: 3px;
  border: 1px solid #d80000;
  border-radius: 6px;
  font-size: 0.9em;
  line-height: 100%;
  margin: 0 2px;
  color: #d80000;
}
.newMark { /*newマーク*/
  display: inline-block;
  padding: 1px 4px;
  font-size: 11px;
  line-height: 100%;
  color: #FF0000;
  border-radius: 8px;
  font-style: italic;
  font-weight: bold;
}
.comment {
  display: block;
  padding: 3px 0;
  float: left;
  overflow: hidden;
  width: 80%; /* 本文部分の幅。ここは特に設置ページ合わせて変更下さい */
}
.thumbNailWrap {
  display: block;
  width: 110px;
  float: left;
  height: 80px;
  overflow: hidden;
}
.sp {
  display: none;
}
.copyright2 a {
  /*color: #fff !important;*/
}
@media all and (max-width:1700px) {
  .back_w {
    width: 75%;
    /*      height: 500px;*/
  }
}
@media all and (max-width:1150px) {
  #newsWrap ul#newsList { /*211029〜*/
    width: 100%;
    /*	height: 100px;
*/
  }
  .text_img {
    width: 45%;
  }
}
@media all and (max-width:950px) {
  .up_ymd {
    display: block;
    /*width: 30%;*/
    margin: 1% 0;
  }
  #newsWrap ul#newsList { /*211029〜*/
    height: 250px;
  }
}
@media (max-width: 690px) {
  .text_img {
    top: 65%;
  }
  .news_titl {
    width: 40%;
    margin: 0 auto;
  }
  .news-box {
    width: 100%;
  }
  #newsWrap ul#newsList { /*211029〜*/
    width: 100%;
    margin: 0 auto;
    height: 100%;
  }
  .up_ymd {
    display: block;
    width: 100%;
    margin: 1% 0;
    text-align: left;
  }
  #newsWrap {
    width: 100%;
    height: auto;
  }
  .news-box1 {
    width: 100%;
  }
  .news-box2 {
    width: 100%;
    margin-top: 8% !important;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .comment {
    width: 100%; /* 本文部分の幅。ここは特に設置ページ合わせて変更下さい */
  }
  .thumbNailWrap {
    width: 100%;
    height: auto;
  }
  .detailUpfile {
    margin: 20px;
    width: 100%;
    max-width: 50%;
  }
}
/*=========================================================
【ご挨拶】
==========================================================*/
/*:::::::::::【背景】::::::::::*/
.grt-back {
  height: 80vh;
  padding: 0;
}
.grt-width {
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
/*:::::::::::【コンテンツ】::::::::::*/
.grt-cont {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
/* 変更：パディングを%やめてpxに（高さ増分を消す） */
.grt-cont p {
	color: #fff;
	text-shadow: 2px 2px 2px #343434;
	text-align: center;
  line-height: 3;
  font-size: 32px;
  font-family: "Klee One", cursive;
  font-weight: 400;
}
/* そのままでもOK。背景が切れないよう保険で追加 */
.grt-cont .back-circle {
  width: 400px;
  height: 400px;
  background-color: rgba(204, 181, 150, 0.6);
  background-image: url("../image/index/grt-img.png");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  border-radius: 50%;
	/*縁のぼかし*/
  --feather: 40px; /* ここを好みで調整：20〜60px目安 */
  -webkit-mask-image: radial-gradient(closest-side,
    #000 0,
    #000 calc(100% - var(--feather)),
    transparent 100%);
  mask-image: radial-gradient(closest-side,
    #000 0,
    #000 calc(100% - var(--feather)),
    transparent 100%);
}
/*:::::::::::【コンテンツ】::::::::::*/
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  .grt-back {
    height: 50vh;
  }
}
@media (max-width:900px) {
  .grt-back {
    height: 60vh;
  }
  .grt-cont .back-circle {
    width: 350px;
    height: 350px;
  }
  .grt-cont p {
    font-size: 28px;
  }
}
@media (max-width:600px) {
  .grt-back {
    height: 55vh;
  }
  .grt-cont .back-circle {
    width: clamp(15.625rem, 9.375rem + 25vw, 18.75rem);
    height: clamp(15.625rem, 9.375rem + 25vw, 18.75rem);
  }
  .grt-cont p {
    font-size: clamp(1.25rem, 0.5rem + 3vw, 1.625rem);
  }
}
@media (max-width:450px) {}
@media (max-width:420px) {}
@media (max-width: 400px) {}
/*=========================================================
【こだわり】
==========================================================*/
/*:::::::::::【背景・横幅】::::::::::*/
.kdwr-back {
  /*background-color: #f2e1d6;*/
  background-color: rgba(204, 181, 150, 0.6);
  background-image: url("../image/common/ptn.png");
  background-repeat: repeat;
  background-size: contain;
}
/*:::::::::::【コンテンツ】::::::::::*/
.kdwr-cont {
  margin-top: 50px;
  margin-bottom: 100px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 50px;
  align-items: stretch;
}
/*:::::::::::【イメージ】::::::::::*/
.ki-box {
  width: 80%;
  text-align: center;
  margin: 0 auto;
	margin-bottom: 20px;
}
.ki-box img {
	width: 100%;
  display: block;
  text-align: center;
  margin: 0 auto;
}
/*:::::::::::【テキスト】::::::::::*/
.kdwr-cont dl {
  background-color: #fff;
  padding: 10px;
}
.kdwr-cont dt {
  text-align: center !important;
  border-bottom: 1px solid #949291;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {
  .kdwr-width {
    max-width: 90%;
  }
}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  .kdwr-cont {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width:900px) {
  .kdwr-width {
    max-width: 60%;
  }
  .kdwr-cont {
    margin-bottom: 80px;
    display: block;
  }
  .kdwr-cont li {
    margin-bottom: 70px;
  }
}
@media (max-width:600px) {
  .kdwr-width {
    max-width: 80%;
  }
  .kdwr-cont {
    margin-bottom: 80px;
    display: block;
  }
	
  .kdwr-cont li {
    margin-bottom: 50px;
  }
  .ki-box img {
    width: 100%;
  }
}
@media (max-width:450px) {
}
@media (max-width:420px) {}
@media (max-width:400px) {}
/*=========================================================
【商品紹介】
==========================================================*/
/*:::::::::::【背景・横幅】::::::::::*/
/*:::::::::::【コンテンツ】::::::::::*/
.menu-cont {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 100px auto 150px auto;
}
/*:::::::::::【イメージ】::::::::::*/
.mi-box img {}
/*:::::::::::【テキスト】::::::::::*/
.menu-txt {}
.menu-txt p {
  text-align: center;
  line-height: 2;
  margin-bottom: 30px;
}
/*:::::::::::【流れるスライダー】::::::::::*/
.slidshow {
  margin-bottom: 50px;
}
.slidshow img {
  width: 100%; /*スライダー内の画像を横幅100%に*/
}
/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slidshow .slick-slide {
  margin: 0 30px; /*スライド左右の余白調整*/
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  .slidshow {
    margin-bottom: 0;
  }
  .menu-cont {
    margin: 75px auto 80px auto;
  }
}
@media (max-width:900px) {
  .slidshow {
    margin-bottom: 0;
  }
  .menu-cont {
    flex-direction: column;
    margin: 50px auto 80px auto;
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {
  .menu-cont {
    margin: 20px auto 50px auto;
  }
  .menu-txt p {
    text-align: justify;
  }
}
@media (max-width:420px) {}
@media (max-width:400px) {}