/*
Theme Name: RDSGN ORIGINAL									
*/

/**********************************************
    PC版 CSS
**********************************************/
@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital@1&display=swap');

.sp{
	display:none;
}

/**********************************************
    PC版 CSS
**********************************************/
@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital@1&display=swap');

.sp{
	display:none;
}

.page-cont{
	width:800px;
	margin:0 auto;
	padding:40px 0;
}

.thx-mes{
	text-align:center;
	font-size:18px;
	line-height:220%;
	padding:150px 0;
}


/**************************************************************
全体
**************************************************************/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 100%;
    scroll-behavior: smooth;
}
body {
    font: 500 16px/1.75 "Noto Sans JP", sans-serif;
    color: #000;
    text-align: left;
    letter-spacing: 0.05em;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-size: 13px;

    margin: 0px;
    text-align: center;
    line-height: 180%;
}
/**************************************************************
リンク
**************************************************************/
a:link {
    color: #000;
    text-decoration: none;
	transition: 1.0s ;
}
a:visited {
    color: #000;
    text-decoration: none;
}
a:hover {
    color: #000;
    text-decoration: none;
}
a:active {
    color: #000;
    text-decoration: none;
}
/**************************************************************
アウトライン
**************************************************************/
#outline {
    margin: 0px auto;
    padding: 0px;
    width: 980px;
    background: #FFFFFF;
}
/**************************************************************
ヘッダー
**************************************************************/
#title {
    margin: 0px;
    padding: 0px;
    position: relative;
    text-align: left;
}
#title-inner {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
}
#title-inner .logo {
    width: 250px;
    margin-top: 10px;
    margin-bottom: 10px;
}
#title-inner .logo img {
    height: auto;
    width: 100%;
}

.sns{

	margin:0 auto;
	display:flex;
	justify-content:center;
}
.sns img{
	width:40px;
	height:auto;
	margin:5px;
}

/**************************************************************
グローバルナビ
**************************************************************/
.hamburger-menu{
    width: 700px;
    margin-left: 100px;
}

.hamburger-menu input{
	display:none;
}
.hamburger-menu label{
	display:none;
}

.globalnavi {
    margin: 0;
    padding: 0;
    font-weight: 700;
}

.globalnavi-inner{
    margin: 0 auto;
    font-size: 15px;
    display: flex;
    justify-content: space-around;
    font-size: 15px;

}


.globalnavi a{
	color:#333;
    text-align: center;
    display: block;
    padding: 10px;
    border-radius: 5px;

}
.globalnavi a:hover{
    background-color: #333;
    color: #fff!important;
}


.globalnavi a:first-child{
        border-left: 1px dotted #fff;
}

/**************************************************************
Footer
**************************************************************/
.footer {
  background: #000;
  color: #fff;
  padding: 20px 20px 0 20px;
}



.footer-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.footer-logo {

  height: 90px;
}

.footer-copy {
  font-size: 13px;
  text-align: center;
}


.gototop a{
	z-index:99999999;
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  text-decoration: none;
  background-color: #b7b7b7;
  display: block;
  text-align: center;
  border-radius: 24px;
}

.gototop a::before {
  content: '\f062';
  font-family: 'Font Awesome 6 Free';
  font-size: 30px;
  font-weight: 900;
  color: #fff;
  line-height: 48px;
}

/**************************************************************
Main Slider
**************************************************************/
.main-slider{
	/*max-height:900px;*/
	overflow:hidden;
	position:relative;
}
.main-slider .mes {
	background-color: rgba(0, 0, 0, 0.5); /* #000の50%透過 */
	padding:15px;
    position: absolute;
    z-index: 9;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
    font-size: 52px;
    color: #fff;
    font-weight: 800;
    line-height: 150%;
     /* text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); */
	 /* animation: bounceUp 1.2s ease-out 0.3s both; */
}

@media (max-width: 1700px) and (min-width: 1601px) {
    .main-slider .mes {
        font-size: 48px;
    }
}
@media (max-width: 1600px) and (min-width: 1501px) {
    .main-slider .mes {
        font-size: 46px;
    }
}

@media (max-width: 1500px) and (min-width: 1311px) {
    .main-slider .mes {
        font-size: 38px;
    }
}

@media (max-width: 1310px) {
    .main-slider .mes {
        font-size: 22px;
    }
}


.main-slider .mes img{
	width:600px;
	height:auto;
}
@keyframes bounceUp {
  0% {
    transform: translateY(100%);
    opacity: 0;
  }
  60% {
    transform: translateY(-20px);
    opacity: 1;
  }
  75% {
    transform: translateY(10px);
  }
  90% {
    transform: translateY(-5px);
  }
  100% {
    transform: translateY(0);
  }
}
/**************************************************************
TOP Concept
**************************************************************/

.concept-section {
    width: 100%;
    box-sizing: border-box;
  background: #333;
  text-align: center;
  padding: 80px 20px;
  position: relative;
  overflow: hidden;
    color: #fff;
}

.common-title {
  font-size: 32px;
  color: #333;
  letter-spacing: 1px;
  margin-bottom: 40px;
  position: relative;

}

.common-title::before {
  content: "";
  display: block;
  width: 1px;
  height: 30px;
  background: #333;
  margin: 0 auto 10px;
    margin-bottom: 18px;
}

.common-title2 {
  font-size: 32px;
  color: #fff;
  letter-spacing: 1px;
  margin-bottom: 40px;
  position: relative;

}

.common-title2::before {
  content: "";
  display: block;
  width: 1px;
  height: 30px;
  background: #fff;
  margin: 0 auto 10px;
    margin-bottom: 18px;
}

.concept-text {
  max-width: 800px;
  margin: 0 auto;
  line-height: 2;
  font-size: 15px;
  color: #fff;
    margin-top: 50px;
}

/* ヤモリ共通設定 */
.yamori {
  position: absolute;
  top: 0;
  width: 200px;
  opacity: 0;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}

/* 左ヤモリ */
.yamori-left {
  left: -220px;
  top: 200px;  
  animation-name: slideInLeft;
  animation-delay: 0.3s;
}

/* 右ヤモリ */
.yamori-right {
  right: -220px;
  animation-name: slideInRight;
  animation-delay: 0.6s;
}

/* アニメーションを "active" 時のみに発動させる */

.concept-section .yamori-left,
.concept-section .yamori-right {
  opacity: 0;
}

/* active がついた時にアニメーション発動！ */
.concept-section.active .yamori-left {
  animation-name: slideInLeft;
  animation-delay: 0.3s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}

.concept-section.active .yamori-right {
  animation-name: slideInRight;
  animation-delay: 0.6s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}



/* アニメーション定義 */
@keyframes slideInLeft {
  0% {
    left: -220px;
    opacity: 0;
  }
  100% {
    left: 0;
    opacity: 1;
  }
}

@keyframes slideInRight {
  0% {
    right: -220px;
    opacity: 0;
  }
  100% {
    right: 0;
    opacity: 1;
  }
}


/**********CONCEPT****************/
.vision-section{
	width:1000px;
	margin:0 auto;
	border-radius:20px;
	background-color:#f5f5f5;
	padding:35px;
	box-sizing:border-box;
	margin-top:70px;
	margin-bottom:10px;
}
.vision-section h3{
	font-size:20px;
	margin-bottom:15px;
}
.vision-section p{
	font-size:15px;
	line-height:180%;
}

/**********PRoduct****************/

.product-section {
  background: #fff;
  padding: 80px 20px;
  text-align: center;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 80px;
}

.product-item {
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(30px);
}

.product-item img {
  width: 100%;
  height: auto;
  display: block;
  filter: brightness(0.7);
}

.product-item .label {
  position: absolute;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.6);
}

/* 順番に表示させるアニメーション遅延クラス＋アクティブ時の動き */
.product-section.active .delay-1 {
  animation: fadeInUp 1s ease forwards;
  animation-delay: 0.2s;
}
.product-section.active .delay-2 {
  animation: fadeInUp 1s ease forwards;
  animation-delay: 0.5s;
}
.product-section.active .delay-3 {
  animation: fadeInUp 1s ease forwards;
  animation-delay: 0.8s;
}
.product-section.active .delay-4 {
  animation: fadeInUp 1s ease forwards;
  animation-delay: 1.1s;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}



/***************Company*********************/

.company-section{
  background: #F5F5F5;
  padding: 80px 20px;
  text-align: center;
}

.company-flex{
    display: flex;
    width: 800px;
    margin: 0 auto;
    margin-top: 80px;
}
.company-flex .info{
    width: 80%;
}
.company-flex .pic{
    width: 20%;
}
.company-flex .pic img{
    width: 100%;
    height: auto;
}
.company-flex .info{
    text-align: left;
    padding-right: 100px;
    box-sizing: border-box;
}
.company-flex .info h3{
    font-size: 20px;
    margin-bottom: 20px;
}
.company-flex .info h4{
    font-size: 18px;
    margin-bottom: 20px;
}
.company-flex .info p{
    font-size: 15px;
    line-height: 210%;
}


/***************Prize*********************/

.prize-section{
  padding: 80px 20px;
  text-align: center;
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.prize-list{
    width: 600px;
    margin: 0 auto;
    margin-top: 60px;
}

.prize-list2{
    width: 1000px!important;
    margin: 0 auto;
    margin-top: 60px;
}

.prize-list .list-mda{
	padding-left:66px;
}
.prize-list h3{
    font-size: 18px;
    margin-bottom: 25px;
}
.prize-list ul{}

.prize-list ul li{
    list-style-type: none;
    border-bottom: dotted 1px #ccc;
    padding: 8px;
    text-align: left;
    font-size: 15px;
}
.yamori-head {
  position: absolute;
  top: 100px;
  right: -150px; /* 初期位置（画面外） */
  width: 120px;
  opacity: 0;
  transition: all 1s ease;
  z-index: 10;
    width: 300px;
}

.prize-section.active .yamori-head {
  right: 0;
  opacity: 1;
}

/* ヤモリの尻尾（左） */
.yamori-tail {
	
  position: absolute;
  bottom: 60px;
  left: -150px;
  width: 120px;
  opacity: 0;
  transition: all 1s ease 0.3s; /* 少し遅れて出現 */
  z-index: 10;
    width: 300px;
}
.prize-section.active .yamori-tail {
  left: 0;
  opacity: 1;
}

.awards-pic{
	margin:10px 0;
}

.awards-pic img{
	width:100%;
	height:auto;
}

.publish-bg{
	background-color:#f6f6f6 !important;
}

/***************Company*********************/
.company-section3{
  padding: 80px 20px;
  text-align: center;
    position: relative;
    width: 100%;
    box-sizing: border-box;
  background-image: url("../../../image/base/ybg.svg"); /* SVG背景を追加 */
	background-repeat:no-repeat;
	background-position:right;
}

.background-box {
  background-color: #f5f5f5; /* 明るいグレー */
  border-top-left-radius: 120px;
  width: 70%;               /* 右側を空ける */
  height: 400px;            /* お好みで高さ調整 */
  padding: 40px;
  position: relative;
}


.company-list{
    width: 600px;
    margin: 0 auto;
    margin-top: 60px;

}
.company-list .c-line{
    display: flex;
    font-size: 15px;
    text-align: left;

}
.company-list .c-line .mm{
    width: 20%;
    border-bottom: solid 1px #333;
    padding: 10px 5px;
}
.company-list .c-line .tt{
    width: 80%;
    border-bottom: solid 1px #ccc;
    padding: 10px 15px;
}


.map-wrapper {
    width: 600px;
 /* filter: grayscale(100%) brightness(0.9) contrast(1.1);  ← モノトーン化！ */
  overflow: hidden;
  margin: 0 auto;
    margin-top: 50px;
}
/***************Company*********************/
.contact-section{
  background: #fff!important;
  padding: 80px 20px;
  text-align: center;
}


/*************Contact****************************/

.contact-form {
  max-width: 800px;
  margin: 0 auto;
    margin-top: 60px;
}

.form-group {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
}

.form-group label {
  width: 150px;
  font-weight: bold;
  padding-top: 10px;
}

.form-group input,
.form-group textarea {
  flex: 1;
  padding: 10px;
  background: #eaeaea;
  border: none;
  font-size: 16px;
  border-radius: 4px;
	width:650px;
}
.wpcf7 input[type="submit"] {
  background-color: #000;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 12px 32px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
	    font: 500 15px/1.75 "Noto Sans JP", sans-serif!important;
  display: inline-block;
	margin-top:15px;
	margin-bottom:15px;
}

.wpcf7 input[type="submit"]:hover {
  background-color: #000;
  transform: translateY(2px);
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
	    font: 500 15px/1.75 "Noto Sans JP", sans-serif!important;
}

.wpcf7-spinner{
	display:block!important;
}

/*********************************************
施工事例
******************************************/

.sub-tt{
	background-color:#333;
	padding:20px;
	color:#fff;
	font-size:18px;
	text-align:center;
}

.works-frame{
	width:90%;
	max-width:1200px;
	margin:0 auto;
	padding:50px 0;
	display:flex;
	flex-wrap:wrap;
}
.works-frame .wbox {
  width: 31%;
  margin: 1%;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 6px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.works-frame .wbox:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.works-frame .wbox img {
  width: 100%;
  height: auto;
  transition: transform 0.3s ease;
}

.works-frame .wbox:hover img {
  transform: scale(1.05);
}

.works-frame .wbox p {
  padding: 10px;
  font-size: 16px;
  transition: color 0.3s ease;
}

.works-frame .wbox:hover p {
  color: #333; /* アクション感出すなら色チェンジ */
}


/**************************************************************
works
**************************************************************/
#works-s{
	max-width:1000px;
	margin:50px auto 20px;
}
#works-s .stitle{
        text-align: center;
        margin-bottom: 20px;
        /* background-color: #0457ac; */
        padding: 10px 10px;
        color: #333;
        font-weight: 600;
        border-radius: 20px;
        font-size: 20px;
        border-bottom: solid 2px #333;
}
#works-flex-s{
	margin: 0 auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
}

.works-box-s{
	width:98%;
	margin:1%;
	padding:25px 0;
}
.works-box-s img{
	width:100%;
	height:auto;
}
.works-info-flex{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
}
.works-info-s{
	width:56%;
	padding:2%;
	line-height: 1.8;
}

.works-info-s .title{
	font-weight:600;
	font-size:20px;
	padding-bottom:10px;
	margin-bottom:20px;
	border-bottom: 2px solid #EB8400;
}
.works-info-s p{padding:10px 0;}

.works-info-s .hitokoto{
	padding:15px 0;
	font-size:13px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

.works-info-r{
	width:38%;
	margin:20px 1%;
}
.works-info-r li{
	font-size:15px;
	display:flex;
	flex-wrap:wrap;
	padding:7px;
	border-right:1px solid #aaa;
	border-bottom:1px solid #aaa;
	border-left:1px solid #aaa;

}
.works-info-r li:nth-child(1) {
	border-top:1px solid #aaa;
}
.works-info-r li:nth-child(even) {
	background-color:#FCF6D8;
}

.works-info-r dt{
	width:40%;
	border-right:1px solid #aaa;
}
.works-info-r dd{
	width:60%;
	padding-left:10px;
}

/*******設計実績各ページ***************/

#tsuyomi{
	padding-bottom:50px;
}

/******施工実績下***********************/

.factory-strength {
  background-color: #F5F5F5;
  padding: 40px 20px;
  border: 1px solid #737373;
  width: 88%;
  max-width: 1150px;
  margin: 40px auto;
  font-family: "Noto Sans JP", sans-serif;
	text-align:left;
  color: #333;
}

.factory-strength h2 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
  border-bottom: 1px solid #737373;
  padding-bottom: 10px;
}

.factory-strength p {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 25px;
}

.strength-box h3 {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  border-left: 5px solid #333;
  padding-left: 10px;
  margin-bottom: 10px;
}

.conclusion {
  font-weight: bold;
}

/**********************************求人*******/

.recruit{
	display:flex;
	flex-wrap:wrap;
	width:1000px;
	margin:0 auto;
	margin-top:65px;
}

.rec-waku{
	width:32%;
	margin:0.5%;
	position:relative;
}
.rec-waku a {
	box-sizing:border-box;
	background-color: rgba(152, 145, 131, 0.4);
	display:block;
	padding:40px 10px;
	font-size:18px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica Neue, Helvetica, sans-serif;
}
.rec-waku a:hover{
	background-color:#323232;
	color:#fff;
}
.rec-waku .label{
	position:absolute;
	padding:5px;
	font-size:11px;
	background-color:#f6f6f6;
}

#rec-s{
	width:900px;
	margin:0 auto;
	padding:80px 0;
}
#rec-s .stitle {
	text-align: center;
	margin-bottom: 20px;
	/* background-color: #0457ac; */
	padding: 10px 10px;
	color: #333;
	font-weight: 600;
	border-radius: 20px;
	font-size: 20px;
	border-bottom: solid 2px #333;
}
#rec-s h3{
	font-size:18px;
	padding:25px 0;
}
#rec-s .nn{
	padding:20px 10px;
	border-bottom:dashed 1px #ccc;
	text-align:left;
}
#rec-s .nn h4{
	font-size:12px;

}
#rec-s .nn p{
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica Neue, Helvetica, sans-serif;
	font-size:14px;
}


.banner-area{
	display:flex;
	padding:15px 0;
	flex-wrap:wrap;
	justify-content:center;
}
.banner-area p{
	background-color:#fff;
	border:solid 2px #fff;
	margin:5px;
	padding:5px;
	box-sizing:border-box;
}


.banner-area img{
	height:50px;
	width:100%;
}
