/*
Theme Name:isamukougyo
Template: base
Author: solid+
Version:2.12
*/


/* ------------------------------------
// CSS追記分
------------------------------------ */
/* 共通設定 */
img {-webkit-backface-visibility: hidden;image-rendering: -webkit-optimize-contrast;}
.under10{margin-bottom:10px;}
.top20{margin-top:20px;}
.top0{padding-top:0!important;margin-top:0!important;}
.under0{padding-bottom:0!important;margin-bottom:0!important;}
.bold{font-weight:bold!important;}
.red,.asterisk{color:#d90000;}
.center{text-align: center!important;}
.right{text-align: right!important;}

.cf:after{
  content: " ";
  display: block;
  clear: both;
}

/* dotUL */
ul.dotUL {
  padding: 0.5em 0 0 1.75em;
  margin: 0;
  position: relative;
  font-weight: normal;
  text-align: left;
}
ul.dotUL li {
  line-height: 1.5;
  padding: 0 0 1em 0;
  list-style-type: none !important;
  position: relative;
}
@media screen and (max-width: 750px) {
  ul.dotUL li {
    left: 0;
    padding: 0 0 0.5em 0;
    font-size:15px!important;
  }
}
ul.dotUL li:before {
  content: "●";
  position: absolute;
  left: -1.5em;
  color: #333e48;
  top: 0;
}


/* noneUL */
ul.noneUL {
  padding: 0 0 2em 1.75em;
  margin: 0;
  position: relative;
  font-weight: normal;
  text-align: left;
}
ul.noneUL li {
  line-height: 1.5;
  padding: 0 0 1em 0;
  list-style-type: none !important;
  position: relative;
}
@media screen and (max-width: 750px) {
  ul.noneUL li {
    left: 0;
    padding: 0 0 0.5em 0;
    font-size:15px!important;
  }
}
ul.noneUL li:before {
  content: "・";
  position: absolute;
  left: -1.5em;
  color: #000;
  top: 0;
}

/* note1 */
p.note1{
  text-indent: -3em;
  padding-left: 3em;
  margin-bottom:1em;
}

/* note2 */
.note2{
  font-size:0.9rem;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom:4em!important;
}

.supText{
	font-size: 60%;
	vertical-align: top;
	position: relative;
    
}

/* anchorlink */
a.anchorlink{
    display: block;
    padding-top: 90px;
    margin-top: -90px;
}

/* PC  */
@media screen and (min-width: 1025px) {
    .pcunder30{margin-bottom:30px;}
    .pcunder40{margin-bottom:40px;}
    .pcunder50{margin-bottom:50px;}
    .pcunder60{margin-bottom:60px;}
    .pctop40{padding-top:40px;}
    .pctop50{padding-top:50px;}
}

    .taC{text-align: center!important;}

/* PC　タブレット < */
@media only screen and (min-width:751px) {
    .taCpc{text-align: center!important;}
    .taCsp{text-align: left!important;}
    .sponly{display: none;}
	
/* flexclm */
.flexclm {
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
}
.flexclm div {
  -moz-flex: 1;
  flex: 1;
  margin-top: 2em;
}	
	
}

/* タブレット < */
@media screen and (max-width: 991px) {
    .pctop50{margin-top:50px!important;}
    .pctop40{margin-top:40px!important;}
    .pctop30{margin-top:30px!important;}
    .pctop20{margin-top:20px!important;}
    .pctop10{margin-top:10px!important;}
}


/*　モバイル */
@media only screen and (max-width: 750px) {
    .pc{display: none !important;}
	.p-page-header { height: 150px;}
    .sptop0{margin-top:0px!important;}
    .sptop10{margin-top:10px!important;}
    .sptop20{margin-top:20px!important;}
    .sptop30{margin-top:30px!important;}
    .spunder10{padding-bottom:10px!important;}
    .spunder20{padding-bottom:20px!important;}
    .spunder30{padding-bottom:30px!important;}
    .spunder40{padding-bottom:40px!important;}
    .spcenter{text-align: center!important;}
    .sponly{display: block;}
    .taCsp{text-align: center!important;}
    
}

/* ----------------------------------------------------------------------
 共通ヘッダー
---------------------------------------------------------------------- */
#header { height:100px; }
#header_logo a {height:100px;ine-height:100px; }
#global_menu { height:100px;}
#global_menu > ul > li > a {height:100px; line-height:100px;padding:0 30px; }
#global_menu ul ul { top:100px;}
/* SPトグルボタン < */
#global_menu_button span {background:#114d90!important;}

h1.catch{margin-top:60px!important;}


/* ----------------------------------------------------------------------
 共通フッター
---------------------------------------------------------------------- */
#footer_banner .title_area {background:#efefef!important; }
#footer_banner a:hover h3 { color:#666 !important; }
#footer_banner a:hover div.title.rich_font_2 { color:#666 !important; }


/* ----------------------------------------------------------------------
 トップページ　ヘッダーコンテンツ
---------------------------------------------------------------------- */
@media screen and (max-width:750px) {
  #header_slider_wrap { height:340px!important; }
  #header_slider { height:340px!important; }
  #header_slider .item { height:340px!important; }
}


/* ----------------------------------------------------------------------
 トップページ　施工事例を4列に変更
---------------------------------------------------------------------- */
/*.index_showroom_list .item {
    width: calc(100% / 4);
    height: 350px;
}*/


/* ----------------------------------------------------------------------
 ショールーム　一覧ページのカテゴリーソートボタンのカラム数変更
---------------------------------------------------------------------- */
#showroom_sort_button li {
    width: calc(100% / 4);
}

/* ----------------------------------------------------------------------
 投稿ページ　記事のアイキャッチ画像非表示
---------------------------------------------------------------------- */
#article #post_image_wrap{display: none!important;}

/* ----------------------------------------------------------------------
 共通下層
---------------------------------------------------------------------- */
h2.baseH2 {
  line-height: 1.7;
  font-size: 36px!important;
  letter-spacing: 0.02em;
  margin:0 0 40px!important;
  text-align: center;
}

h2.baseH2.under0 {
  margin-bottom:0!important;
}

h3.baseH3 {
  line-height: 1.9;
  font-size: 30px!important;
  letter-spacing: 0.02em;
  margin:0 0 30px!important;
  text-align: center;
}

@media (max-width:750px) {
    h2.baseH2 {
        line-height: 1.5;
        font-size: 18px!important;
        letter-spacing: 0.02em;
        margin:0 0 25px!important;
    }
	
	h3.baseH3 {
        line-height: 1.5;
        font-size: 18px!important;
        letter-spacing: 0.02em;
        margin:0 0 25px!important;
    }
}  

/* .clm */
.clm { margin-top:7em;}
@media screen and (max-width: 750px){
    .clm { margin-top:4em;}
}



/* ----------------------------------------------------------------------
 施工事例　一覧ページのカラム数を２に変更
---------------------------------------------------------------------- */
@media screen and (min-width: 950px) {
#showroom_list .item {
    width: calc(100% / 2 - 10px);
}
}


/* ----------------------------------------------------------------------
 施工事例
---------------------------------------------------------------------- */
/* フッターカルーセル */
#showroom_footer_carousel { background:#f7f6f5!important; }
#showroom_footer_carousel h2.headline{ color:#000!important; }
#showroom_title_area_bottom h2.title{margin-bottom:0!important;padding-bottom:0!important;}



/* ----------------------------------------------------------------------
 company
---------------------------------------------------------------------- */
.company_contents {line-height: 1.8;}
.company_contents p.prof {text-align: right;line-height: 1.7;}
.company_contents p.prof span.name{font-size: 24px}
@media screen and (max-width: 750px){
    .company_contents{width:90%;margin:0 auto;}
	.company_contents p.prof span.name{font-size: 18px}
}

.company_contents .aboutimg{width:300px;float:right;margin:0 0 3em 3em;text-align: center;}
.company_contents .aboutimg p{line-height: 1.7;}
.company_contents .aboutimg img{width:300px;}

@media screen and (max-width: 750px){
    .company_contents .aboutimg{float:none;width:90%;margin:0 auto 2em auto}
    .company_contents .aboutimg img{width:90%;}
}

.company_contents .idea h3 { font-size:1.1em;font-weight:600; height:50px; line-height:50px; border-top:3px solid #0071a2; display:inline-block; }
.company_contents .ideaimg img{width:500px;float:right;margin:0 0 0 3em;}
.company_contents .idea p { margin-bottom:3em;}
@media screen and (max-width: 750px){
    .company_contents .ideaimg img{float:none;width:100%;margin:0 0 2em 0;}
}

dl.aboutusDl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-bottom: 1px solid #ccc;
}
dl.aboutusDl dt {
  margin: 0;
  font-weight: normal;
  width: 30%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-top: 1px solid #ccc;
  padding: 1em 0 1em 2em;
}
@media screen and (max-width: 750px) {
  dl.aboutusDl dt {
    width: 100%;
    padding: 0.75em 0 0 0;
  }
}
dl.aboutusDl dd {
  margin: 0;
  border-top: 1px solid #ccc;
  width: 70%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1em 2em 1em 0;
}
@media screen and (max-width: 750px) {
  dl.aboutusDl dd {
    border-top: none;
    width: 100%;
    padding: 0 0 0.75em 1em;
  }
}
dl.aboutusDl dd span.position {
  display: inline-block;
  width: 7rem;
}

.company_contents .patentimg{width:500px;margin:0 auto;}
.company_contents .patentimg img{width:100%;}
@media screen and (max-width: 750px){
    .company_contents .patentimg{width:90%;margin:0 auto;}
    .company_contents .patentimg img{width:100%;}
}

@media screen and (min-width: 751px) {
/* company_pic */
.company_pic {
  display: flex;
  justify-content: center; 
  gap:40px;
}
.company_pic div {
  flex: 1;  
  max-width: 500px;
  margin-top: 3em;
}	
.company_pic div img{
  margin:0 auto;
}	
}
@media screen and (max-width: 750px) {
    .company_pic {
        display: block;
    }
    .company_pic div {
        width:100%;
        margin-top: 2em;
    }	
    
    .company_pic div img{
        max-width:100%;
        margin:0 auto;
    }	
}


.company_contents .aboutimg{width:400px;float:left;margin:0 3em 3em 0;text-align: center;}
.company_contents .aboutimg img{width:100%;}

@media screen and (max-width: 750px){
    .company_contents .aboutimg{float:none;width:80%;max-width: 400px; margin:0 auto 2em auto}
    .company_contents .aboutimg img{width:100%;}
}



/* ----------------------------------------------------------------------
 flow
---------------------------------------------------------------------- */
/* フロー */
.flow p{color:#000;}
.flow_list {display: block!important;}
.flow_list .item { width:calc(100% - 0px)!important;  }
.flow_list .item .image { width:100%; height:auto!important;display: none;}
.flow_list .item .desc { padding:2em 0;line-height:2.4; text-align: left;}
.lp_flow.num2 .headline { background:#114d90; }
.lp_flow.num2 .title_area { background:#efefef; }
.flow_list h4.title span {display:block;margin-bottom:1em;color:#000;}

@media screen and (min-width:951px) {
.img_flR{float:right;margin:0 0 1em 2em;}
}

@media screen and (max-width:950px) {
    .cb_content_header p { text-align:left;  }
    .img_flR{width:80%;float:none;margin:0 10% 0 10%;}
}


/* ----------------------------------------------------------------------
 works
---------------------------------------------------------------------- */
.works_cost article{
	padding:50px 0;
}
.works_cost__ttl {
	background-color: #efefef;
	margin-bottom: 2.5rem;
	line-height: 1;
	display: flex;
	height:50px;
}
.works_cost__ttl h2 {
	font-weight: 600;
	font-size: 19px!important;
	height: 50px;
	line-height:50px!important;
	background-color: #114d90;
	min-width:90px;
	padding:0 30px;
	display: block;
	text-align: center;
	color: #fff;
}
.works_cost__ttl h3 {
	font-weight: 600;
	padding-left:30px!important;
	font-size: 19px!important;
	height: 50px;
	line-height:50px!important;
    margin:0;
	display: block;
}

.works_cost article .img_narrow{
	width:100%;
	max-width:700px;
	margin-left:auto;
	margin-right:auto;
}

.works_cost article .img_narrow img{
	width:100%;
}


@media (max-width:750px) {
.works_cost article{
	padding:25px 0;
}
.works_cost__ttl {
	height:36px;
	margin-bottom: 1.5rem;
}
.works_cost__ttl h2 {
	font-size: 15px!important;
	height: 36px;
	line-height:36px!important;
    margin:0 1em 0 0;
	min-width:70px;
	padding:0 15px;
}
.works_cost__ttl h3 {
	padding-left:20px!important;
	font-size: 15px!important;
	height: 36px;
	line-height:36px!important;
}
}



/* ----------------------------------------------------------------------
 voice
---------------------------------------------------------------------- */
@media (min-width:751px) {
.voice article{
	border-radius: 8px;
	background-color: #fef3e9;
	padding:50px 50px 30px;
	margin-bottom:60px;
}
.voice article:last-child{
	margin-bottom:0;
}

.voice_items {
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
}
.voice_items dd {
  width: calc(100% - 220px);
}	


.voice_items dt {
  width:220px;
}	

.voice_items dt img {
  width: 180px;
}

.voice_items dd h3{
   font-weight: 600;
   font-size:1.3rem;
   color:#ec6228;
   margin-bottom:1rem;
}	

.voice_items dd p.name{
   font-weight: 600;
	text-align: right;
}
.voice_items dd p{
   margin:0;
}
}

@media (max-width:750px) {
.voice article{
	padding:25px 20px 20px;
	margin-bottom:30px;
	border-radius: 8px;
	background-color: #fef3e9;
}
.voice article:last-child{
	margin-bottom:0;
}
	
.voice_items {
  display: block;
}
	
.voice_items dd {
  width: 100%;
}	


.voice_items dt {
	width:140px;
	margin:0 auto;
}	

.voice_items dt img {
  width: 140px;
}

.voice_items dd h3{
   font-size:1.1rem;
   margin:1.5rem 0 1rem;
   color:#ec6228;
	text-align: center;
}
.voice_items dd p{
   margin:0;
}
	
.voice_items dd p.name{
   font-weight: 600;
	text-align: right;
}
}

/* ----------------------------------------------------------------------
 contact
---------------------------------------------------------------------- */
/* -----お問い合わせ-----  */
p.contacttel{
    text-align: center;
    font-size:32px;
    font-weight: 600;
    margin:1rem 0 3rem 0;
    padding:0; 
    line-height: 1.2;
}

p.contacttel span{
    font-weight: 400;
    font-size: 18px;
        }

p.contacttel a{
    color:#000;
}

@media only screen and (max-width: 750px) {
p.contacttel{
    font-size: 22px;
    line-height: 1.4!important;
    margin:1rem 0 2.5rem 0;
}
p.contacttel span{
    font-size: 16px;
        }
}


/* 必須マーク */
.must{
	color: #fff!important;
	margin-right: 10px;
    margin-bottom:5px;
	padding: 4px 10px;
	background: #114d90;
	font-size: 0.9rem;
}

/* 任意マーク */
.free {
	color: #fff!important;
	margin-right: 10px;
    margin-bottom:5px;
	padding: 4px 10px;
	background: #aaa;
	font-size: 0.9rem;
}


h4.privacyH4{text-align: center;margin-top:30px;margin-bottom:20px;}
.scroll-box{
   background-color: #fff;
   margin-bottom:30px;
   padding-top:20px;
}

.privacyOl {
  padding: 0 1.5em 0 0;
  margin:0;
  font-size: 1rem;}
  .privacyOl li {
    padding: 0.5em 0;
    margin-left: 2em;
    list-style-type: decimal;
    font-size: 1em;
    font-weight: 400; }
    .privacyOl li h3 {
      font-size: 1em;
      font-weight: 400;
      line-height: 1.75!important;}
    .privacyOl li p {
      font-size: 1em;
      font-weight: 400;
      padding-bottom:0;
      line-height: 1.75!important;}
      .wpcf7-list-item-label{font-size: 1rem!important;}
  @media screen and (max-width: 750px) {
    .privacyOl {
      padding: 0 0.5em;
      margin:0; }
      .privacyOl li {
        padding: 0;
        margin-left: 0;
        list-style-type: decimal;
        font-size: 1em;
        font-weight: 400; }
        .privacyOl li h3 {
          font-size: 0.9em;
          font-weight: 400;} 
        .privacyOl li p {
          font-size: 0.9em;
          font-weight: 400;
          padding: 0.25em 0 0 0;} 
}


/* チェックボックスデザイン変更 */
input[type="checkbox"] {
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="checkbox"] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 1px;
  left: 4px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: '';
}



/* ラジオボタンデザイン変更 */

.wpcf7 .wpcf7-list-item:last-child { margin-bottom:25px;}
@media only screen and (min-width:751px) {
.wpcf7 .wpcf7-list-item { display:inline-block!important;margin-right:20px;margin-bottom:20px;}}

input[type="radio"] {
  border-radius: 50%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="radio"] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="radio"]:checked:before {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
	background: #114d90;
	border-radius: 50%; 
  content: '';
}


/* Form */
form {
  margin: 0 0 2em 0; }
  form > :last-child {
    margin-bottom: 0; }
  form > .fields {
    display: -moz-flex;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -moz-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + 3em);
    margin: -1.5em 0 2em -1.5em; }
    form > .fields > .field {
      -moz-flex-grow: 0;
      -webkit-flex-grow: 0;
      -ms-flex-grow: 0;
      flex-grow: 0;
      -moz-flex-shrink: 0;
      -webkit-flex-shrink: 0;
      -ms-flex-shrink: 0;
      flex-shrink: 0;
      padding: 1.5em 0 0 1.5em;
      width: calc(100% - 1.5em); }
      form > .fields > .field.half {
        width: calc(50% - 0.75em); }
      form > .fields > .field.third {
        width: calc(100%/3 - 0.5em); }
      form > .fields > .field.quarter {
        width: calc(25% - 0.375em); }
  @media screen and (max-width: 480px) {
    form > .fields {
      width: calc(100% + 2em);
      margin: -1em 0 2em -1em; }
      form > .fields > .field {
        padding: 1em 0 0 1em;
        width: calc(100% - 1em); }
        form > .fields > .field.half {
          width: calc(100% - 1em); }
        form > .fields > .field.third {
          width: calc(100% - 1em); }
        form > .fields > .field.quarter {
          width: calc(100% - 1em); } }

label {
  display: block;padding-bottom:10px; }
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select,
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -moz-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -webkit-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -ms-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out;
  color: #000;
  display: block;
  width: 100%;
  padding: 0.65em 0.75em;
  background-color: #fff;
  border: solid 1px #ccc;
  outline: none; }
  input[type="text"]:focus,
  input[type="password"]:focus,
  input[type="email"]:focus,
  input[type="tel"]:focus,
  input[type="search"]:focus,
  input[type="url"]:focus,
  select:focus,
  textarea:focus {
    border: solid 1px #000; }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select {
  line-height: 1.35em; }

textarea {
  min-height: 8em; }

::-moz-focus-inner {
  border: 0; }

::-webkit-input-placeholder {
  opacity: 0.375; }

:-moz-placeholder {
  opacity: 0.375; }

::-moz-placeholder {
  opacity: 0.375; }

:-ms-input-placeholder {
  opacity: 0.375; }


.wpcf7 {border: none; padding-top:10px; }
@media only screen and (max-width: 750px) {
    select {font-size: 16px!important;}
    .wpcf7 { width: 100%; margin: 0 0 2.5em !important; padding: 0; border: none; background: #fff;}
    .wpcf7 form { margin: 0; }
    .wpcf7-submit { background-color: #000!important; }
    
}

