@charset "UTF-8";
/*
Name: common.css
Description: 共通CSS
-------------------------------------------------- */

/* ----------------------------------------
* clearfix hack
---------------------------------------- */
.clearfix:after {content: " "; display:block; clear:both; height:0; font-size:0.1em; line-height:0; visibility:hidden; overflow:hidden;}
.clearfix { display:inline-block; }
/* exlude MacIE5 \*/
* html .clearfix { height:1% }
.clearfix { display:block;}
/* end MacIE5 */


/* ----------------------------------------
* etc...
---------------------------------------- */
.ls_none { list-style: none; }
.line-break {
  word-wrap: break-word !important;
  white-space: normal !important;
  display: block !important;
}

.box_l{text-align: left !important;}
.box_c{text-align: center !important;}
.box_r{text-align: right !important;}

.txtBox {
  text-align: left;
  display: inline-block;
}
.txtBox .w50 { width: 50%; }
.txtBox .w80 { width: 80%; }

.tRight {padding:10px; text-align:right;}

.fl_l {float: left;}
.fl_r {float: right;}
.fl_c {margin: 0 auto;}


/* ----------------------------------------
* 動画表示(iframe,Videoタグ)
---------------------------------------- */
.movie-wrap {
    position: relative;
    padding-bottom: 56.25%;
    height: auto;
    overflow: hidden;
    margin-bottom: 50px;
}
.movie-wrap iframe,
.movie-wrap video {
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    width: 100% !important;
    height: auto !important;
}

.movie {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: 50px;
}
.movie iframe,
.movie video,
.movie object,
.movie embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.photo-wrap {
  position: relative;
  width: 100%;
  text-align: center;
}
.photo-wrap img {
  border: 1px #e5e5e5 solid;
  border-radius: 5px;
  width: 100%;
  height: auto;
  padding: 2px;
}

.google-map {
  position: relative;
  width: 100%;    /* 左右に余白が必要なら値を変更してもOK */
  height: 0;
  padding-bottom: 75%;    /* padding-topでもOK */
  overflow: hidden;
}
.google-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;    /* 必要であれば!importantを付けてください */
  height: 100%;    /* 必要であれば!importantを付けてください */
}
.google-map2 {
  position: relative;
  width: 100%;    /* 左右に余白が必要なら値を変更してもOK */
}
.google-map2 iframe {
  width: 100%;    /* 必要であれば!importantを付けてください */
  height: 100%;    /* 必要であれば!importantを付けてください */
  min-height: 250px;
}

.google-map2 iframe.mh180 { min-height: 180px !important; }
.google-map2 iframe.mh320 { min-height: 320px !important; }
.google-map2 iframe.mh480 { min-height: 480px !important; }
.google-map2 iframe.mh560 { min-height: 560px !important; }

.google-map2 a {
  font-weight: bold;
  margin-left: 10px;
}

.unTline { border-top:    1px #efefef solid; width: 100%; }
.unBline { border-bottom: 1px #efefef solid; width: 100%; }

.bline0 { border: 1px #e5e5e5 solid; padding:  0;position: relative;overflow: hidden; }
.bline  { border: 1px #e5e5e5 solid; padding:  1px;position: relative;overflow: hidden; }
.bline10{ border: 1px #e5e5e5 solid; padding: 10px 10px;position: relative;overflow: hidden; }
.bline20{ border: 1px #e5e5e5 solid; padding: 20px 20px;position: relative;overflow: hidden; }
.bline30{ border: 1px #e5e5e5 solid; padding: 30px 30px;position: relative;overflow: hidden; }

.imgBm {
  position: absolute;
  bottom: 0;
  left: 25px;
}

div#side.img_box img {
  width: 100%;
  height: auto;
}
.wmp_txt{
	font-size:12px;
	margin:3px auto 15px;
	text-align:left;
	line-height:120%;
}
.wmp_txt a{
	font-size:10px;
}

.mgT10{margin-top: 10px !important;}
.mgT20{margin-top: 20px !important;}
.mgT30{margin-top: 30px !important;}
.mgT40{margin-top: 40px !important;}
.mgT50{margin-top: 50px !important;}
.mgT60{margin-top: 60px !important;}
.mgT70{margin-top: 70px !important;}
.mgT80{margin-top: 80px !important;}
.mgT90{margin-top: 90px !important;}

.mgT100{margin-top: 100px !important;}
.mgT150{margin-top: 150px !important;}
.mgT200{margin-top: 200px !important;}
.mgT280{margin-top: 280px !important;}
.mgT300{margin-top: 300px !important;}


.mgB10{margin-bottom: 10px !important;}
.mgB20{margin-bottom: 20px !important;}
.mgB30{margin-bottom: 30px !important;}
.mgB40{margin-bottom: 40px !important;}
.mgB50{margin-bottom: 50px !important;}
.mgB60{margin-bottom: 60px !important;}
.mgB70{margin-bottom: 70px !important;}
.mgB80{margin-bottom: 80px !important;}
.mgB90{margin-bottom: 90px !important;}

.mgB100{margin-bottom: 100px !important;}
.mgB200{margin-bottom: 200px !important;}
.mgB300{margin-bottom: 300px !important;}
.mgB400{margin-bottom: 400px !important;}
.mgB500{margin-bottom: 500px !important;}

.w100{width: 100px;}
.w150{width: 150px;}
.w200{width: 200px;}
.w250{width: 250px;}
.w300{width: 300px;}
.w350{width: 350px;}
.w400{width: 400px;}
.w450{width: 450px;}
.w500{width: 500px;}
.w550{width: 550px;}

.h100{height: 100px;}
.h150{height: 150px;}
.h200{height: 200px;}
.h250{height: 250px;}
.h300{height: 300px;}
.h350{height: 350px;}
.h400{height: 400px;}
.h450{height: 450px;}
.h500{height: 500px;}
.h550{height: 550px;}

.p10{padding: 10px;}
.p20{padding: 20px;}
.p30{padding: 30px;}
.p40{padding: 40px;}
.p50{padding: 50px;}

.cap01{font-size: 80%;background-color: #ffcccc;border-bottom: 1px #e5e5e5 solid;text-align: center;}

.fs10{font-size: 10px;}
.fs12{font-size: 12px;}
.fs14{font-size: 14px;}
.fs16{font-size: 16px;}
.fs18{font-size: 18px;}
.fs20{font-size: 20px;}
.fs24{font-size: 24px;}
.fs28{font-size: 28px;}
.fs30{font-size: 30px;}
.fs34{font-size: 34px;}
.fs38{font-size: 38px;}

.fc_or   { color: #ff8101; font-weight: bold; }
.fc_or30 { color: #fb7c22; font-size: 30px; font-weight: bold; }
.fc_red  { color: #ff0000; font-weight: bold; }
.fc_blu  { color: #29b5e8; font-weight: bold; }

.md01 { color: #333; font-size: 140%; }

.line_h10 { line-height: 1.0em !important; }
.line_h15 { line-height: 1.5em !important; }
.line_h20 { line-height: 2.0em !important; }
.line_h25 { line-height: 2.5em !important; }
.line_h30 { line-height: 3.0em !important; }

.triangle01{
   width: 0;
   height: 0;
   border-top: solid 15px transparent;
   border-right: solid 15px transparent;
   border-bottom: solid 15px transparent;
   border-left: solid 15px #697b91;
}
.arrow01 {
   display: block;
   width: 15px;
   height: 15px;
   border-top: solid 3px #697b91;
   border-right: solid 3px #697b91;
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg);
}
.arrow02 {
   position:relative;
   height:16px;
   width:16px;
   background-color:#697b91;
}
.arrow02::before {
   position:absolute;
   content:"";
   border:solid 16px transparent;
   border-left:solid 16px #697b91;
   top:-8px;
   left:12px;
}
@media only screen and (max-width: 480px) {
  .triangle01,
  .arrow01,
  .arrow02 {
    display: none;
  }
}
.post-content input[type="submit"]:hover,
.post-content input[type="button"]:hover {
  opacity: 0.8;
  text-decoration: none;
}

/* 見えなくする */
.hidden_box { display: none; }

/* radiobutton、checkbox、selectとテキストのズレ補正 */
input, select{ vertical-align:middle !important; }
input[type="radio"],input[type="checkbox"]{
  position: relative;
  top: -2px;
}

/* ボタン（背景：グレー） */
.square_btn {
  position: relative;
  border-radius: 3px;
  border: solid 1px #2f8eeb;
  display: inline-block;
  font-weight: normal;
  padding: 0.3em 1em 0.25em;
  text-decoration: none;
  color: #fff !important;
  background: #3399fd;
  transition: .4s;
}
.square_btn:hover {
  opacity: 0.6;
  text-decoration: none;
}
.square_btn2 {
  position: relative;
  color: #fff !important;
  background: #fca32e;
  border: solid 1px #ffc880;
  border-radius: 5px;
  display: inline-block;
  font-weight: normal;
  padding: 0.6em 2em;
  text-decoration: none;
  transition: .4s;
}
.square_btn2:hover {
  background: #ffc880;
  border: solid 1px #fcc071;
}
.square_btn3 {
  position: relative;
  color: #fff !important;
  background: #7fcaad;
  border-bottom: 2px solid #70ae96 !important;
  border-radius: 4px;
  display: inline-block;
  font-weight: bold;
  padding: 0.5em 2em;
  text-decoration: none;
  transition: .4s;
}
.square_btn3:hover {
  opacity: 0.6;
  text-decoration: none;
}

.widget_btn_area ul {
  margin-left: 0;
  padding-left: 0;
  text-align: center;
}
.widget_btn_area li{
  display: inline-block;
  list-style: none;
  min-width: 240px;
  height: auto;
  margin: 10px auto;
}
.widget_btn {
  position: relative;
  color: #3d3d41 !important;
  background: #fff;
  border-radius: 30px;
  display: inline-block;
  font-weight: normal;
  padding: 0.8em 2.4em;
  text-decoration: none;
  transition: .4s;
  text-align: center;
  min-width: 200px;
}
.widget_btn:hover {
  color: #fff !important;
  background: #3d3d41;
  font-weight: bold;
}
.widget_btn2 {
  position: relative;
  color: #fff !important;
  border: 1px solid #fff !important;
  border-radius: 30px;
  display: inline-block;
  font-weight: normal;
  padding: 0.8em 2.4em;
  text-decoration: none;
  transition: .4s;
  text-align: center;
  min-width: 180px;
}
.widget_btn2:hover {
  color: #fff !important;
  background: #3d3d41;
  border: 1px solid #3d3d41 !important;
  font-weight: bold;
}

/* ボックス（囲み枠） */
.box_blue {
  padding: 0.3em 1em 0;
  margin: 2em 0;
  color: #29b5e8;
  font-weight: bold;
  background: #ebfaff;/*背景色*/
  border-top: solid 3px #29b5e8;
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.32);/*影*/
}
.box_blue p {
  margin: 0;
  padding: 0;
}

/* ボックス2（囲み枠）：吹き出し */
.box_balloon {
  position: relative;
  padding: 2em 0.7em 0.001em;
  margin: 2em 0;
  background: #0065a6;
  border-radius: 8px;
  color: #fff;
  font-weight: bold;
}
.box_balloon:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid #0065a6;
  width: 0;
  height: 0;
}
.box_balloon p {
  margin: 0;
  padding: 0;
}

/* ボックス（囲み枠）：枠の途中にタイトル */
.box_topic {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.box_topic .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}
.box_topic p {
    margin: 0;
    padding: 0;
}

/* ボックス（背景透過） */
.box_trans {
  padding: 1em;
  margin: auto 128px;
  border: solid 2px #ffffff;
  border-radius: 8px;
  font-size: 18px;
  font-weight: bold;
  /* 背景色のみ50%透明 */
  background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 1151px) {
  .box_trans { margin: auto; }
}
.box_trans_bl {
  padding: 1em;
  border: solid 2px #99e9ff;
  border-radius: 8px;
  font-size: 18px;
  /* 背景色のみ50%透明 */
  background-color: rgba(153, 233, 255, 0.5);
}

p.btm{position: absolute !important;bottom: 0;right: 0;padding: 0 5px;}


.entry dl {
  line-height: 0.1em;
}
.entry dt {
  font-weight: bold;
}
@media screen and (min-width: 480px) {
  .entry dt {
    clear: left;
    float: left;
    width: 10%;
  }
  .entry dd {
    margin-left: 11%;
  }
}

#circle {
  width: 65px;
  height: 65px;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  -o-border-radius: 50%;
  -ms-border-radius: 50%;
  font-size: 16px;
  font-weight: bold;
  color: #a1ba54;
  border: 2px solid #a7be60;
  background-color: #FFF;
  text-align: center;
}
/*ここから下の部分を追加*/
#circle p {
  position: relative;
  top:52%;
  transform: translateY(-50%);
  line-height: 1em;
}


/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ*/
@media(max-width:500px){
.entry-content .inquiry th,.entry-content .inquiry td {
 display:block;
 width:100%;
 border-top:none;
 -webkit-box-sizing:border-box;
 -moz-box-sizing:border-box;
 box-sizing:border-box;
}
.entry-content .inquiry tr:first-child th{
 border-top:1px solid #d7d7d7;
}
/* 必須・任意のサイズ調整 */
.inquiry .haveto,.inquiry .any {
font-size:10px;
}}
/*見出し欄*/
.inquiry th{
 text-align:left;
 font-size:14px;
 color:#444;
 padding-right:5px;
 width:30%;
 background:#f7f7f7;
 border:solid 1px #d7d7d7;
}
/*通常欄*/
.inquiry td{
 font-size:13px;
 border:solid 1px #d7d7d7;
}
/*横の行とテーブル全体*/
.entry-content .inquiry tr,.entry-content table{
 border:solid 1px #d7d7d7;
}
/*必須の調整*/
.haveto{
 font-size:7px;
 padding:5px;
 background:#ff9393;
 color:#fff;
 border-radius:2px;
 margin-right:5px;
 position:relative;
 bottom:1px;
}
/*任意の調整*/
.any{
 font-size:7px;
 padding:5px;
 background:#93c9ff;
 color:#fff;
 border-radius:2px;
 margin-right:5px;
 position:relative;
 bottom:1px;
}
/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
 display:block;
}
/*送信ボタンのデザイン変更*/
#formbtn{
 padding:15px;
 max-width:350px;
 background:#ffaa56;
 color:#fff;
 font-size:18px;
 font-weight:bold;
 border-radius:2px;
 margin:25px auto 0;
}
/*送信ボタンマウスホバー時*/
#formbtn:hover{
 background:#fff;
 color:#ffaa56;
 border:2px solid #ffaa56;
}



/* --------------------------------------
  カスタマイズ
--------------------------------------- */

/* 会社概要
----------------------------------------*/
table.Company-info {
  /* border: 1px solid #dde4e6 !important; */
  width: 100%;
  background-color: #ffffff;
}

table..Company-info th {
  /* border-right:  1px solid #dde4e6 !important;
  border-bottom: 1px solid #dde4e6 !important; */
}
table.Company-info th,
table.Company-info td {
  /* padding: 20px; */
  text-align: left;
}

table.Company-info th {
  font-weight: bold;
  background-color: #e7f2f9;
  white-space: nowrap;
}

@media screen and (max-width: 959px) {
  table.Company-info,
  table.Company-info tr,
  table.Company-info td,
  table.Company-info th {display:block;}
  table.Company-info th {width:100%;}
}


.CompanyInfo dl {
  width: 100% !important;
  margin-bottom: 20px !important;
}
.CompanyInfo dt {
  position: relative !important;
  box-sizing: border-box !important;
  color: #7a7a7a !important;
  margin-bottom: 5px !important;
  vertical-align: middle !important;
}
.CompanyInfo dd {
  box-sizing: border-box !important;
}
@media screen and (min-width: 768px) {
  .CompanyInfo dl {
    clear: both;
    display: table !important;
    width: 100% !important;
    border-top: 1px solid #efefef !important;
    margin-bottom: 0 !important;
  }
  .CompanyInfo dt {
    display: table-cell !important;
    font-weight: bold;
    width: 35% !important;
    margin-bottom: 0 !important;
    padding: 20px !important;
  }
  .CompanyInfo dd {
    border: none !important;
    display: table-cell !important;
    width: 65% !important;
    padding: 20px !important;
  }
}
@media screen and (max-width:767px){
  .CompanyInfo dt {
    position: relative !important;
    box-sizing: border-box !important;
    color: 7a7a7a !important;
    margin-bottom: 5px !important;
    text-align: left !important;
    vertical-align: middle !important;
  }
  .CompanyInfo dd {
    margin: 0 !important;
    padding: 0 !important;
    line-height: normal !important;
  }
}
