/*
Theme Name:  不二コンTHEME 2.0
Theme URI: https://fujicon.jp
Description: wordpressテーマ
Version: 2.0
Author:  不二コンクリート工業株式会社
Author URI: https://fujicon.jp
*/

/* IMPORT RESET */
@import url("css/reset.css");
.bg-white{
	background-color: #fff;
	padding: 60px 0 60px 0;
}
.bg-green{
	background-color: #00b7b2;
	padding: 60px 0 60px 0;
}
.bg-blue{
	background-color: #067ec4;
	padding: 60px 0 60px 0;
}
.bg-gray{
	background-color: #f2f2f2;
	padding: 60px 0 60px 0;
}
.fuji-color{
	color:#00b7b2;
}
.green-color{
	color:#00b7b2;
}

/*リンクボタン*/
.jump-btn a{
	display: block;
	background-color: #fff;
	border: 2px solid #00b7b2;
	color: #00b7b2;
	text-align: center;
	padding: 20px 40px;
	margin: 40px 0 0 0;
	border-radius: 100px;
}
.jump-btn a:hover{
	background-color: #00b7b2;
	border: 2px solid #00b7b2;
	color: #fff;
}
.green-btn a{
	display: block;
	background-color: #00b7b2;
	border: 2px solid #00b7b2;
	color: #fff;
	text-align: center;
	padding: 20px 40px;
	margin: 20px 0 80px 0;
	border-radius: 100px;
}
.green-btn a:hover{
	background-color: #fff;
	border: 2px solid #00b7b2;
	color: #00b7b2;
}
.btn-blue a{
	display: block;
	background-color: #067ec4;
	border: 1px solid #067ec4;
	color: #fff!important;
	text-align: center;
	padding: 20px 40px;
	margin: 20px 0 80px 0;
}
.btn-blue a:hover{
	background-color: #fff;
	border: 1px solid #067ec4;
	color: #067ec4!important;
}
.btn-black a{
	display: block;
	background-color: #383838;
	border: 1px solid #383838;
	color: #fff!important;
	text-align: center;
	padding: 15px 0px;
	margin: 20px 0 20px 0;
}
.btn-black a:hover{
	background-color: #fff;
	border: 1px solid #383838;
	color: #383838!important;
}
.kome{
	font-size:70% ;
}
.anker{
   display: block;
   margin-top:-100px;
   padding-top:100px;
}

.only-smp{
	display: none;
}
.only-pc{
	display: none;
	}
.not-smp{
	display: block;
}
.center_txt{
	text-align: center;
}
.center_pc{
	text-align: center;
	line-height: 1.6;
}
.left_txt{
	text-align: left;
}
.right_txt{
	text-align: left;
}
.white-txt{
	color: #fff;
}
.red{
	color:red;
}
.din{
	font-family: "Oswald", "Noto Sans JP", sans-serif;
}

.mb-40{
	margin-bottom: 40px;
}
.mb-0{
	margin-bottom: 0px;
}
.padd0 {
    padding-top: 0px !important;
}
.reverse{
	flex-direction: row-reverse;
}	
/* position:abusoluteの高さ回避 */
.takasa:before {
    content: "";
    display: block;
    padding-top: 100%; /* 1:1 */
}

/*//////////////////////////// header style ////////////////////////////*/
html{
	font-size: 10px;
	/*visibility: hidden;*/
}
	html.wf-active,
	html.loading-delay {
    /*visibility: visible;*/
}
body {
	padding:0px;
	margin:0px;
	/*,"Sawarabi Gothic"*/
	font-family: "YakuHanJP","Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
	font-weight: normal;
	font-style: normal;
	font-size: 1.4rem;
	letter-spacing: 0px;
}
.over {
	width: 100%;
	overflow-x: hidden;
}



	
/*//////////////////////////// main style ////////////////////////////*/
.pankuzu{
	margin:20px 0!important;
	color:#656565;
	font-size: 1.2rem;
}
section{
	margin:0px;
	padding:0px;
}


.pagestyle section a{
	color:#067ec4;
}	
.blog-con-area .post{
	min-height: 300px;
	margin: 80px 0;
}
.post h1{
	font-size: 2.4rem;
	font-weight: normal;
	margin:0 0 20px 0;
	padding: 20px 20px 20px 0px;
	color: #383838;
	text-align: left;
	position: relative;

}

section p{
	font-size:1.6rem;
	line-height: 1.75;
	margin-bottom: 20px;
}
section a:hover{
	text-decoration:none!important;
}






/*//////////////////////////// article post single ////////////////////////////*/

/*wp-pagenavi*/
.wp-pagenavi{
	text-align:center;
	margin-top:40px;	
	margin-bottom:40px;	
}
.navprev a{
	display: block;
	float: right;
	width:45%;
	padding: 20px;
	border: 1px solid #f2f2f2;
	background-color: #fff; 
	color: #383838;
	text-align: center;
	text-decoration: none;
	margin-bottom: 40px;
}
.navprev a:hover{
	background-color: #b3b3b3; 
	color: #fff;
	text-decoration: none;
}
.navnext a{
	display: block;
	float: left;
	width:45%;
	padding: 20px;
	border: 1px solid #f2f2f2;
	background-color: #fff; 
	color: #383838;
	text-align: center;
	text-decoration: none;
	margin-bottom: 40px;
}
.navnext a:hover{
	background-color: #b3b3b3; 
	color: #fff;
	text-decoration: none;
}
.page-numbers{
	border: 1px solid #f2f2f2;
	padding: 5px;
	margin-bottom: 80px;
}
/*コンタクトフォームデフォルト*/
.hissu{
	background-color: #f2f2f2;
	color: red;
	padding: 3px;
	font-size: 1.2rem;
	margin-left: 20px;
}
textarea {
    border: 1px solid #c5c5c5;
    height: 10em;
    line-height: 1.5em;
    width: 100%;
    background-color: #fff;
	font-size: 16px;
    }
input{
	border: 1px solid #c5c5c5;
	padding: 5px;
	font-size: 16px;
}
.textarea{
	width:100%;
	font-size: 16px;
}
.textbox{
	width:100%;
}
.wpcf7-text, .wpcf7-email, .wpcf7-textarea {

    border: 1px solid #c7c7c7;
    width: 100%;
    padding: 10px;

}
.soushin_btn_area {
    max-height: 100px;
    overflow: hidden;
    text-align: center;
    width: 100%;
}
.soushin_btn {
	width: 20%;
    background: #383838 none repeat scroll 0 0;
    border: 1px solid #383838;
    border-radius: 3px;
    color: #fff !important;
    cursor: pointer;
    display: inline-block;
    font-size: 80%;
    margin: 0 auto;
    padding: 10px 20px;
}
div.wpcf7-mail-sent-ok,div.wpcf7-response-output,div.wpcf7-validation-errors {
    padding: 30px!important;
    margin-bottom: 120px!important;
    line-height: 1!important;
}

/*youtube responced*/
.youtube{
	position: relative;
	width: 100%;
	padding-top: 56.25%;
  }
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
.gmap {
position: relative;
padding-bottom: 45%; /*これが縦横比*/
height: 0;
overflow: hidden;
}
.gmap iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}
.smp-quick-btn{
	display: none;
}
.foot-recruit{
	margin-bottom: 0;	
}

.grecaptcha-badge{
	visibility: hidden;
}

/* カタログ系　追加分　ここから */

select{
	padding:5px;
	border:1px solid #ccc;
	font-size:16px;
}

.productSearch {
    background-color: #067ec4;
    display: flex;
    padding: 40px;
	color: #ffffff;
	margin-bottom: 40px;
}

.productSearch h2 {
    color: #ffffff;
    text-align: unset;
	font-size:2rem;
}
.psLeft {
    width: 22%;
    border-right: 1px solid #ffffff;
}
.productSearch h2 span {
    color: #ffffff;
    font-size: 75% !important;
    font-weight: 400;
}

.psRight {
    width: 78%;
    padding: 0px 20px 20px 20px;
}

.psRight form {
    display: flex;
	flex-wrap: wrap;
}

.psField {
    width: 100%;
    margin: 0.5rem 0 1rem 0;
	padding:0;
	line-height: 1;
	
}
.psItem {
    width: 100%;
    margin: 0.5rem 0 2rem 0;
	padding:0;
	line-height: 1;

	position: relative;
	z-index: 1;
}
.psItem::before{
	right: 10px;
	top: 50%;
	translate: 0 -50%;
	rotate: 45deg;
	/* transform: translateY(-50%) rotate(45deg); 古い記述方法*/
	border-bottom: 2px solid #fff;
}

.key{
	width: 60%;
}
/* 基本のセレクトボックスのカスタマイズ */
.select {
  background: #f2f2f2;
  border-radius: 3px;
  position: relative;
  padding: 5px;
  z-index: 1;
}

.select::after {
  position: absolute;
  content: '';
  width: 8px;
  height: 8px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 2px solid #383838;
  border-right: 2px solid #383838;
  z-index: -1;
}

select {
  /* 初期化 */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  color: #333;
  font-size: 16px;
  width: 100%;
  height: 100%;
  padding: 0 10px;
}

.psSubmit input[type="submit"] {
    background-color: #383838;
    border: none;
    color: #ffffff;
    width: 14em;
    padding: 1rem;
}
.productSearch input[type="radio"] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #fff;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin-right: 5px;
}

.productSearch input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #fff;
  content: '';
}

/* SIDEBAR */
#sidebar .productSearch,
#catalog-search-drawer .productSearch {
    padding: 30px;
    display: block;
}
#sidebar .psLeft,
#catalog-search-drawer .psLeft {
    width: 100%;
    border-right: unset;
}

#sidebar .productSearch h2,
#catalog-search-drawer .productSearch h2 {
    border-color: #ffffff;
    padding: 1rem 0;
}
#sidebar .productSearch h2 span,
#catalog-search-drawer .productSearch h2 span {
    display:inline-block;
	margin-left:0.5em;
	font-size: 60% !important;
}
#sidebar .psRight,
#catalog-search-drawer .psRight {
    width: 100%;
    padding: 0 0 1em 0;
}

#sidebar .psRight form,
#catalog-search-drawer .psRight form {
    display: block;
}

#sidebar .psField,
#sidebar .psItem,
#sidebar .psField-wide,
#sidebar .psItem-wide,
#catalog-search-drawer .psField,
#catalog-search-drawer .psItem{
    width: 100%;
}

/*トップの検索レイアウト*/
.categorybox{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
}
.seriesbox{
width: 45%;
margin-right: 5%;
}
.seihinbox{
width: 50%;
}





/* カタログのアコーディオン化 */
.catalog-accordion-controls {
  display:flex; gap:.5rem; margin: .5rem 0 1rem;
}
.catalog-accordion-controls button {
  padding:.4rem .75rem; border:1px solid #ddd; background:#fff; cursor:pointer;
}

.catalog-parent-name {
  margin: 1.25rem 0 .5rem;
  color: #067ec4!important;
  padding: 10px;
  background-color: #f4f4f4;
  border-left: 1px solid #067ec4;
  margin-bottom: 20px!important;
}
.catalog-parent-toggle {
  all: unset; /* リセット（必要に応じて） */
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  cursor: pointer;
  padding: .25rem .25rem;
}
.catalog-parent-toggle:focus-visible {
  outline: 2px solid #6aa7ff;
  outline-offset: 2px;
}
.catalog-parent-toggle .count {
  color:#666; font-weight: normal; font-size: .9em;
}

/* 開閉アイコン（+ / -） */
.catalog-parent-toggle .toggle-icon {
  width: 1em; height: 1em; display: inline-block;
  position: relative;
}
.catalog-parent-toggle .toggle-icon::before,
.catalog-parent-toggle .toggle-icon::after {
  content: ""; position: absolute; top: 50%; left: 50%;
  width: 1em; height: 2px; background: currentColor; transform: translate(-50%, -50%);
}
.catalog-parent-toggle .toggle-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.catalog-parent-toggle.is-open .toggle-icon::after {
  /* open時は縦線を消してマイナス表示に */
  opacity: 0;
}

.catalog-parent-panel { margin-bottom: 1rem; }






/* ===== FAB ===== */
.catalog-search-fab{
  position: fixed; right: 16px; bottom: 16px; z-index: 1000;
  width: 56px; height: 56px; border-radius: 50%;
  border: none; background: #0d6efd; color:#fff; box-shadow: 0 6px 16px rgba(0,0,0,.25);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.catalog-search-fab .fab-icon{
  width:22px; height:22px; display:inline-block; position:relative;
}
.catalog-search-fab .fab-icon::before,
.catalog-search-fab .fab-icon::after{
  content:""; position:absolute; border:2px solid currentColor; border-radius:50%;
}
.catalog-search-fab .fab-icon::before{ /* レンズ */
  width:14px; height:14px; top:1px; left:1px;
}
.catalog-search-fab .fab-icon::after{ /* 柄 */
  width:8px; height:0; border:1px solid currentColor; border-radius:0;
  top:13px; left:14px; transform:rotate(45deg);
}
.catalog-search-fab:focus-visible{ outline:2px solid #9cc2ff; outline-offset:2px; }

/* ===== Drawer ===== */
.catalog-form-slot-drawerhidden]{ display:none; }
.catalog-search-drawer.is-open{ display:block; }
.catalog-search-drawer .drawer-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.3);
}
.catalog-search-drawer .drawer-panel{
  position:fixed; left:0; right:0; bottom:0; z-index:1001;
  max-height:85vh; background:#fff; border-top-left-radius:16px; border-top-right-radius:16px;
  transform:translateY(100%); transition:transform .18s ease-out;
  box-shadow: 0 -8px 24px rgba(0,0,0,.25);
}
.catalog-search-drawer.is-open .drawer-panel{ transform:translateY(0); }

.drawer-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 16px; border-bottom:1px solid #eee;
  height: 60px; background-color: #fff;
}
#catalog-search-title{
	font-size: 2rem;
	display: block;
}
.drawer-body{ padding:0px; overflow:auto; max-height:calc(85vh - 54px); }
.drawer-body .productSearch{margin-bottom: 0;}
.drawer-tojiru{ font-size:20px; line-height:1; background:none; border:none; cursor:pointer; }

body.no-scroll{ overflow:hidden; }









/*//////////////////////////// mobile ////////////////////////////*/

@media only screen and ( max-width : 600px ) {
/*header*/
html{
	font-size: 10px;
}
body {
	font-size: 1.4rem;
}
.container {
  width: 90%;
}
.center_pc{
	text-align: left;
}
section{
	margin:0 0 0px 0;
	padding:0 0 0px 0;
	line-height: 1;
}


section p{
	font-size: 1.4rem;
}

/*メイン*/




.soushin_btn {
	width: 60%;
}
.gmap {
padding-bottom: 80%; /* これが縦横比*/
}

/*トップの検索レイアウト*/
.categorybox{
	flex-wrap: wrap;
}
.seriesbox{
width: 100%;
margin-right: 0;
}
.seihinbox{
width: 100%;
}

/* 検索TOPPAGE */
.productSearch,
#catalog-search-drawer .productSearch {
    padding: 20px;
    display: block;
}
.psLeft,
#catalog-search-drawer .psLeft {
    width: 100%;
    border-right: unset;
}

.productSearch h2,
#catalog-search-drawer .productSearch h2 {
    border-color: #ffffff;
    padding: 1rem 0;
}
.productSearch h2 span,
#catalog-search-drawer .productSearch h2 span {
    display:inline-block;
	margin-left:0.5em;
	font-size: 60% !important;
}
.psRight,
#catalog-search-drawer .psRight {
    width: 100%;
    padding: 0 0 1em 0;
}

.psRight form,
#catalog-search-drawer .psRight form {
    display: block;
}

.psField,
.psItem,
.psField-wide,
.psItem-wide,
#catalog-search-drawer .psField,
#catalog-search-drawer .psItem{

}


/*///////////////// SINGLE //////////////////////*/
	
article section{
margin-bottom:20px;
}

/*横スクロール*/
.scroll{
	width:100%;
	overflow: auto;
}
.scroll img{
	width:600px;
}
.scroll::-webkit-scrollbar{
 height: 5px;
}
.scroll::-webkit-scrollbar-track{
 background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {
 background: #BCBCBC;
}

.mb_40{
	margin-bottom: 20px;
}
.only-smp{
	display: block;
}
.only-pc{
	display: none;
	}	
.not-pc{
	display: block;
}
.not-smp{
	display: none;
}

.bg-gray{
	padding: 40px 0 40px 0;
}
.bg-green{
	padding: 40px 0 40px 0;
}
.bg-blue{
	padding: 40px 0 40px 0;
}
.bg-white{
	padding: 40px 0 40px 0;
}

.jump-btn a{
	width: 80%;
	border: 1px solid #00b7b2;
	margin: 0 auto;
	padding: 15px;
}
.green-btn a{
	width: 80%;
	border: 1px solid #00b7b2;
	margin: 0 auto;
	padding: 15px;
}



}

/*//////////////////////////// PC ////////////////////////////*/
@media print, screen and ( min-width : 1025px ) {

.container {
  max-width: 1024px;
}
.widemode{
	max-width: 1200px!important;
}
/*header*
/*通常改行<br>*/
.only-smp{
	display: none;
}
.not-pc{
	display: none;
}
.only-pc{
	display: block;
	}
.not-smp{
	display: block;
}
html{
	font-size: 10px;
}
body{
	font-size: 1.6rem;
}
.foot-service ul li a{
	font-size: 1.4rem;
}
.post h1{
	font-size: 3rem;
	margin-bottom: 20px;
	line-height: 1.2;
}
.bg-white{
	background-color: #fff;
	padding: 100px 0 100px 0;
}
.bg-green{
	background-color: #00b7b2;
	padding: 100px 0 100px 0;
}
.bg-blue{
	background-color: #067ec4;
	padding: 100px 0 100px 0;
}
.bg-gray{
	background-color: #f2f2f2;
	padding: 100px 0 100px 0;
}
.drawer-hamburger{
	padding: 10px 25px 15px 25px!important;
	width:88px!important;
	height:88px!important;
}

section .row{
	margin-bottom: 20px;
}
section .row:last-child{
	margin-bottom: 0px;
}


/*トップの検索レイアウト*/

.seriesbox{
width: 40%;
margin-right: 5%;
}
.seihinbox{
width: 40%;
}


}






/* ===== レスポンシブ：モバイルで右カラムフォームを隠す ===== */
@media (max-width: 991px){
  #sidebar ,.archive-catalog .sidebar .catalog-search-form { display:none; } /* 右カラムのクラスに合わせて調整 */
  .catalog-search-fab{ display:flex; }
}
@media (min-width: 992px){
  .catalog-search-fab, #catalog-search-drawer{ display:none !important; }
}