@charset "UTF-8";

/*共通
---------------------------------------------------------------------------*/
:root {
	--themecolor: #552e00;
	--maincolor: #333333;
}

/*container（サイト全般を囲むブロック）
---------------------------------------------------------------------------*/
.container,
.container__temp{
padding: 0 6%;
box-sizing:border-box;
width:100%;
}
@media screen and (min-width: 1024px) {
.container,
.container__temp{
padding: 0 10%;
}
}
@media screen and (min-width: 1200px) {
.container{
padding: 0;
margin: 0 auto;
width: 1140px
}
.container__temp{
padding: 0;
margin: 0 auto;
width: 940px
}
}


/*ページ内リンクずれ
---------------------------------------------------------------------------*/
html {
scroll-padding-top: 200px;
}

/*google-maps
---------------------------------------------------------------------------*/
.google-maps {
position: relative;
padding-bottom: 75%;
height: 0;
overflow: hidden;
}
.google-maps iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

/*hr
---------------------------------------------------------------------------*/
hr {
border-width: 1px 0 0 0; /* 太さ */
border-style: dotted; /* 線種 */
border-color: #3F3F3F; /* 線色 */
height: 1px; /* 高さ */
max-width: 100%;
clear:both;
margin: 4% 0px;
}

/*title
---------------------------------------------------------------------------*/
#title {
margin: 0;
width: 100%;
padding: 20% 0 10% 0;
text-align: center;
position: relative;
}
#title h2 {
font-size: 150%;
line-height: 2;
font-weight: normal;
display: inline-block;
position: relative;

text-shadow: 
0 0 10px rgba(255, 255, 255, 1),
0 0 10px rgba(255, 255, 255, 1),
0 0 10px rgba(255, 255, 255, 1),
0 0 10px rgba(255, 255, 255, 1);
}
.t_other {
background: url(../img/page/t_other.jpg) bottom / cover no-repeat;
}
.t_info {
background: url(../img/page/t_info.jpg) bottom / cover no-repeat;
}
.t_works {
background: url(../img/page/t_works.jpg) bottom / cover no-repeat;
}

@media screen and (min-width: 768px) {
#title {
padding: 180px 0 120px 0;
}
#title h2 {
font-size: 180%;
}
}

/*tex
---------------------------------------------------------------------------*/
.tex {
width: 100%;
line-height: 2em;
text-align:justify;
text-justify:inter-ideograph;
padding: 50px 0
}

.tex_archive {
width: 100%;
line-height: 2em;
text-align:justify;
text-justify:inter-ideograph;
overflow: visible;
padding: 50px 0
}

.tex img {
border: 0;
max-width: 100%;
height: auto;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
}
.tex p{
margin: 0;
padding: 0;
}
.tex img a {
border: 0;
}
.tex a:hover img {
opacity: 0.6;
transition: 0.5s;
}
.tex a {
text-decoration: underline;
text-decoration-style:dotted;
text-decoration-color:#ccc;
}
@media screen and (min-width:768px) {
.tex {
padding: 60px 0
}
.tex_archive {
padding: 5% 0;
}
}

/* 等分
---------------------------------------------------------------------------*/
.boxA {
display: flex;
flex-direction: column;
gap: 10px;
}
.box2 {
flex: 0 0 48%;
box-sizing: border-box;
}
@media screen and (min-width: 768px) {
.boxA {
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
gap: 4%;
}
.box2 {
flex: 0 0 48%; /* 幅48% */
}
}

/* ボックス*/
.box_nuri {
padding: 1.5em 2em;
margin: 2em 0;
background: #f5f5f5;/*背景色*/
}
.box_nuri p,
.box_waku p{
margin: 0; 
padding: 0;
}
.box_waku {
padding: 2em;
margin: 2em 0;
border: 1px solid var(--maincolor);
}


/*見出し
---------------------------------------------------------------------------*/
h3.midasi {
font-weight: normal;
font-size: 1.3em;
line-height: 1.3em;
margin-bottom: 30px;
clear: both;
color: var(--themecolor);
}
h4.midasi {
font-weight: normal;
padding-bottom: 1%;
font-size: 1.2em;
line-height: 1.2em;
margin-bottom: 30px;
clear: both;
border-bottom: solid 1px var(--themecolor);
}
h5.midasi {
color: var(--themecolor);
font-size: 1.1em;
line-height: 1.5em;
font-weight: normal;
padding: 0.3em 0;
margin-bottom: 10px;
}

/*真ん中見出し*/
.section-news-h3{
text-align:center;
font-size: 1.3em;
line-height: 1.5;
font-weight: normal;
letter-spacing:.05em;
margin: 0;
color: #333
}
@media screen and (min-width:768px) {
.section-news-h3n{font-size: 1.4em;line-height: 1.4em;}

}


/* ---------------------------------------------------------------------------------------------

　 table

--------------------------------------------------------------------------------------------- */
/* 必須マーク */
.must {
background: #ea5514;
}
/* 任意マーク */
.free {
background: #ccc;
}
.must,
.free {
color: #FFF;
font-size: 10px;
margin-right: 10px;
padding: 5px;
letter-spacing: 0.2em;
}
/* 入力確認のチェックボックスを大きく */
form .wpcf7-acceptance input[type="checkbox"] {
transform: scale(2.0);
margin-right: 0.5em;
}
/* CF7チェックボックスを縦並びに */
.wpcf7-checkbox .wpcf7-list-item {
margin-top:5px;
display: block;
}
/* CF7ラジオボタンを縦並びに */
.wpcf7-radio .wpcf7-list-item {
margin-top:5px;
display: block;
}
.font-s {
font-size: 80%
}

/* input・textarea */
.wpcf7 td input[type="text"],
.wpcf7 td input[type="tel"],
.wpcf7 td input[type="email"],
.wpcf7 td textarea {
width: 100%;
padding: 20px;
background: #F4F4F4;
box-sizing: border-box;
border: 1px solid #F4F4F4;
outline: none;
font-size: 100%;
}

.wpcf7 td textarea {
font-size: 100%;
font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

.wpcf7 td input[type="text"]:focus,
.wpcf7 td input[type="tel"]:focus,
.wpcf7 td input[type="email"]:focus,
.wpcf7 td textarea:focus {
background: #F4F4F4;
border: 1px solid #333;
outline: 0;
}

/* table */
table {
width: 100%;
border-collapse: collapse;
margin: 10px 0;
border-style: solid;
border-width: 0;
border-bottom: 1px solid #eee;
text-align: left;
}
table th,table#otoiawase th {
vertical-align: middle;
box-sizing: border-box;
}
table th,
table td {
font-weight:normal;
padding: 8px;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
vertical-align: middle;
}
table#otoiawase th {
font-weight:normal;
padding: 8px;
border-bottom: 1px solid #eee;
}
table#otoiawase td {
font-weight:normal;
padding: 8px 0;
border-bottom: 1px solid #eee;
}
table.mobile-block {
border-left: none;
}
table.mobile-block th {
color:#333;
}
table td img {
margin: 0 0 10px 0;
margin-bottom: 0;
}
.red {
color: red;
}
.form_moji {
font-size: 130%;
}
/* 画像用 */
table.topwaku td,
table.topwaku {
font-weight:normal;
padding: 0px 10px;
border: none;
border-top: none;
}
textarea{
width:100%;
padding:5px;
box-sizing:border-box;
}
input[type="text"] ,input[type="email"] ,input[type="tel"] {
width:100%;
padding:5px;
box-sizing:border-box;
}
/* お問い合わせボタン */
.buttonContainer {
text-align: center;
padding: 20px 0 0 0;
}
#button {
width: 98%;
display: inline-block;
font: normal normal 300 1.3em '';
text-decoration: none;
color: var(--themecolor);
border: 1px solid var(--themecolor);
padding: 1em 0;
margin: 5px;
background-size: 200% 100%;
background-color: #fff;
transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
}
#button:hover {
color: rgba(255, 255, 255, 1);
background-color: var(--themecolor);
background-position: -100% 100%;
}
.contactform-width {
max-width: 100%;
}
/* 確認赤枠 */
.red_line {
margin: 2em 0;
padding:2em;
border: solid 1px red;
text-align: center;
font-weight:normal
}
.red_line p {
margin: 0; 
padding: 0;
}

@media screen and (min-width: 768px) {
table#otoiawase {
border-top: 1px solid #eee;
}
table#otoiawase th,
table#otoiawase td {
padding: 20px;
}
table#otoiawase th {
width:30%;
}
#button {
width: 240px;}
}
@media all and (max-width: 767px) {
table.mobile-block,
table.mobile-block th,
table.mobile-block td{border:none;}
table.mobile-block th,
table.mobile-block td{width:100%;display:block;}
table.mobile-block th,
table#otoiawase th,
table#otoiawase td{border-bottom:none;}
table#otoiawase td{margin-bottom: 15px}
}

/* simple-table */
.simple-table {
width: 100%;
border-collapse: collapse;
}
.simple-table td {
padding: 16px 0 16px 12px;
border-bottom: 1px solid #eee;
}


/*pagination
---------------------------------------------------------------------------*/
.pagination {
clear: both;
padding: 20px 0;
position: relative;
font-size: 12px;
line-height: 12px;
text-align: center;
margin-bottom:3%
}
.pagination-box {
display: inline-block;
}
.pagination span, .pagination a {
display: block;
float: left;
margin: 2px 2px 2px 0;
padding: 8px 10px 8px 10px;
text-decoration: none;
width: auto;
color: #fff;
background: #c5c5c5;
}
.pagination a:hover {
color: #666;
background: #848484;
}
.pagination .current {
padding: 8px 10px 8px 10px;
background: #848484;
color: #fff;
}
.page_box {
float: left;
width: 100%;
margin-top:20px
}

@media screen and (min-width: 768px) {
.pagination {
font-size: 14px;
line-height: 14px;
}
.pagination span, .pagination a {
padding: 10px 15px 10px 15px;
}
.pagination .current {
padding: 10px 15px 10px 15px;
}}

/* editボタン
---------------------------------------------------- */
.postmetadata{
	margin: 10px 0;
	width:100%;
	clear:both;
}
.edit-link{
	width:100%;
	clear:both;
}
a.post-edit-link {
display: inline-block;
padding: 0 1.6em;
font-size: 0.8em;
color: #fff;
text-decoration: none;
user-select: none;
background: #999;
transition: 0.2s ease;
}
a.post-edit-link:hover {
opacity: .6;
color: #fff;
}
.edit-link:after{
content: "";
clear: both;
height: 0;
display: block;
visibility: hidden;
}


/*ギャラリー
---------------------------------------------------------------------------*/
.gallery {
display: flex;
flex-wrap: wrap;
gap: 16px; /* 隙間 */
margin-bottom: 20px !important;
}
.gallery br {
display: none;
}

/* =========================
 各アイテム
========================= */
.gallery-item {
margin: 0 !important;
}
/* 画像 */
.gallery-icon img {
width: 100%;
height: auto;
display: block;
}
/* キャプション */
.gallery-caption,
.wp-caption-text {
color: #222;
font-size: 14px;
margin-top: 6px;
text-align: center;
}

/* =========================
 カラム設定（PC）
========================= */
.gallery-columns-1 .gallery-item {
width: 100%;
}
.gallery-columns-2 .gallery-item {
width: calc((100% - 16px) / 2);
}
.gallery-columns-3 .gallery-item {
width: calc((100% - 32px) / 3);
}
.gallery-columns-4 .gallery-item {
width: calc((100% - 48px) / 4);
}
.gallery-columns-5 .gallery-item {
width: calc((100% - 64px) / 5);
}
@media (max-width: 767px) {
.gallery-columns-3 .gallery-item,
.gallery-columns-4 .gallery-item {
width: calc((100% - 16px) / 2);
}
/* 3カラム → 2 or 3調整 */
.gallery-columns-5 .gallery-item {
width: calc((100% - 16px) / 2);
}
}
/* ホバー */
.gallery-icon {
overflow: hidden;
}
.gallery-icon img {
transition: 0.3s;
}
.gallery-icon:hover img {
transform: scale(1.05);
}


/*キャプション
---------------------------------------------------------------------------*/
figure {
background-color: #fff;
padding: 5px;
display: table;
overflow: hidden;
}

figure img {
width:100%;
max-width: 100%;
height: auto;
}

figcaption {
display: table-caption;
caption-side: bottom;
background: #fff;
}
@media only screen and (max-width:60em) {
figure {
text-align:center;
clear:both;
overflow:hidden;
padding:0;
margin:0 auto
}
figure .alignright img,
figure .alignleft img{float:none;}
}


/*arvhive
/* ------------------------------------- */
.i_date{
margin: 0 10px 0 0;
font-size:80%;
min-width: 100px;
}
/* 区切り線 */
.i_date .cat_info::before {
content: "";
display: inline-block;
width: 1px;
height: 10px;
background: #b5b5b5;
margin: 0 20px;
vertical-align: middle;
}
.i_text{
margin: 0;
text-decoration: none;
font-weight: normal;
font-size: 100%;
line-height: 150%;
color: #555;
padding:5px 0;
width: 100%;
}
.i_title{
color: #3F3F3F;
font-size: 1.3em;
line-height: 1.3;
font-weight:400;
margin: 10px 0 20px 0;
padding: 0;
}
@media screen and (min-width:768px) {
.i_title{
font-size: 1.6em;
line-height: 1.6;
margin: 1% 0 30px 0;
}
}

/* 前へ
---------------------------------------------------- */
.kiji_link{
display:flex;
justify-content:center;
}
.kiji_link a{
display:flex;
justify-content:center;
align-items:center;
width:200px;
padding:.2em 1.3em;
border:1px solid var(--themecolor);
border-radius:25px;
color:var(--themecolor);
transition:.3s;
text-decoration:none
}
.kiji_link a:hover{
background:var(--themecolor);
color:#fff;
}



/* back edit
---------------------------------------------------- */
.i_back{
max-width: 100%;
font-size:80%;
margin:10px 0;
}
.i_back a {
text-decoration: none;
}
.i_back a:visited {
text-decoration: underline;
}
.i_back a:hover {
text-decoration: underline;
}
.edit{
width:100%;
font-size:80%;
clear:both;
}


/* ボタン　お知らせ一覧に戻る　single
---------------------------------------------------- */
.back_btn {
margin: 5% 0;
padding: 0;
width:100%;
box-sizing:border-box;
}
.back_btn_box {
margin: 20px auto 0 auto;
padding: 0;
width:100%;
box-sizing:border-box;
}
.back_btn a,
.back_btn_box a{
margin:0 auto;
}
.back_btn a:after,
.back_btn_box a:after{
content: "";
clear: both;
display: block;
}
a.btn {
display:block;
padding: 1em 0;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-transition: all 0.3s;
transition: all 0.3s;
text-align: center;
vertical-align: middle;
text-decoration: none;
color: #848484;
border: solid 1px #848484;
border-radius: 100vh;
}
a.btn:hover{
text-decoration: none;
}
@media screen and (min-width:768px) {
.back_btn a{
width:250px;
}
.back_btn_box a{
width:300px;
}
}


/* メニュ横並び（施設紹介）
---------------------------------------------------- */
.button-list-box {
margin: 0 0 30px 0;
}
.button-list-box ul{
display: flex;
list-style: none;
justify-content: space-between;
margin: 0;
padding: 0;
flex-wrap: wrap;
}
.button-list-box li {
width: calc(33.3333% - 5px);
margin-bottom: 7px;
display: table;
text-align: center;
line-height: 1.6
}
.button-list-box li .a-link{
display: table-cell;
vertical-align: middle;
padding: 10px 20px;
border-radius: 5px;
text-decoration: none;
border: 1px solid #999;
color: #555
}
.button-list-box li:hover{
text-decoration: none;
}
@media screen and (max-width:980px) { 
.button-list-box li {
width: calc(50% - 5px);
font-size: 80%;
line-height: 1.3
}
.button-list-box li .a-link{
padding: 15px 0;
}
}


/*施工事例
/* ------------------------------------- */
.sekou_info{
margin: 20px 0;
font-size: 80%;
line-height: 1.6
}


/*事業案内
---------------------------------------------------------------------------*/
.message {
padding: 0 0 40px 0;
width:100%;
box-sizing:border-box;
text-align: center;
overflow: hidden
}
.message h4 {
font-weight: normal;
font-size: 150%;
line-height: 1.5;
margin: 0 0 20px 0;
color: var(--themecolor);
}
.message_t {
font-weight: normal;
font-size: 100%;
text-align: left;
line-height: 2;
}
.br_hidden{
display: none;
}

@media screen and (min-width: 768px) {
.message {
padding: 0 0 50px 0;
}
.message h4 {
font-size: 190%;
line-height: 1.7;
}
.message_t {
text-align: center;
line-height: 2.1;
padding: 0
}
.br_hidden{
display: block;
}
}


/* テキスト */
.house_text{
left:30px;
bottom:30px;
z-index:2;
line-height:1.8;
color: var(--themecolor);
}

.house_text span{
font-size:10px;
display:block;
}

.house_text h5{
font-size:28px;
font-weight:normal;
margin:0 0 10px 0;
}

/* バナー */
.read_btn_center{
display:flex;
margin-top: 10px
}
.read_btn a,
.read_btn_center a{
display:flex;
justify-content:center;
align-items:center;
width:200px;
padding:.2em 1.3em;
border:1px solid var(--themecolor);
border-radius:25px;
color:var(--themecolor);
transition:.3s;
}
.read_btn_center a:hover{
background:var(--themecolor);
color:#fff;
}
@media screen and (max-width:980px){
.banner_text h5{
font-size:23px;
}
}


/*社員インタビュー
---------------------------------------------------------------------------*/
.interview-card {
  display: flex;
  gap: 30px;
  align-items: center;
	margin-bottom: 30px;
}

/* PC：左右50% */
.interview-card img,
.interview-content {
  width: calc(50% - 15px);
}

/* 画像 */
.interview-card img {
  display: block;
  height: 350px;
  object-fit: cover;
}

/* テキスト */
.interview-content {
  padding-left: 20px;
}

.staff-name {
  font-weight: bold;
  margin-bottom: 20px;
}

.interview-text {
  line-height: 1.8;
}

/* PCのみ交互 */
@media (min-width: 769px) {
  .interview-card:nth-child(even) {
    flex-direction: row-reverse;
  }

  /* 反転時の余白調整 */
  .interview-card:nth-child(even) .interview-content {
    padding-left: 0;
    padding-right: 20px;
  }
}

/* スマホ */
@media (max-width: 768px) {
  .interview-card {
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
  }

  .interview-card:last-child {
    margin-bottom: 0;
  }

  .interview-card img,
  .interview-content {
    width: 100%;
  }

  .interview-card img {
    height: auto;
  }

  .interview-content {
    padding: 0;
  }
}


/* Q&A装飾 */
.qa-item {
border: 1px solid #eee;
padding: 30px;
margin-bottom: 16px;
}
.qa-q {
font-weight: bold;
margin-bottom: 8px;
	color:var(--themecolor);
}
.qa-a {
padding-left: 20px;
}
@media (max-width: 768px) {
.qa-item {
padding: 20px;
}
}