@charset "UTF-8";
/*
Theme Name: 協立電業株式会社
Theme URL: https://kyoritsu-dengyo.co.jp/
*/
/*-----------------------------------------
common
-----------------------------------------*/
body {
  background: #fff;
  color: #333;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 18px; }

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

.aligncenter {
  display: block;
  margin: 0 auto; }

.alignright {
  float: right; }

.alignleft {
  float: left; }

li {
  list-style: none; }

.tc {
  text-align: center; }

.pb30 {
  padding-bottom: 30px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pb80 {
  padding-bottom: 80px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.pt80 {
  padding-top: 80px !important; }

/* link */
a {
  color: #333;
  text-decoration: none;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out; }

a:hover {
  color: #008CB5; }

.btn_set {
  padding-top: 50px;
  text-align: center;
  width: 400px;
  max-width: 80%;
  margin: 0 auto; }
  .btn_set .btn {
    border: 2px solid #008CB5;
    border-radius: 50px;
    color: #008CB5;
    width: 100%;
    display: block;
    padding: 15px 0;
    font-weight: bold;
    font-size: 20px;
    position: relative;
    overflow: hidden;
    transition: .3s; }
    .btn_set .btn span {
      z-index: 1;
      position: relative; }
    .btn_set .btn:before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: -100%;
      background-color: #008CB5;
      transition: .2s;
      z-index: 0; }
    .btn_set .btn:after {
      content: "▶";
      position: absolute;
      right: 20px;
      top: 50%;
      transform: translateY(-50%); }
    .btn_set .btn:hover {
      color: #fff; }
      .btn_set .btn:hover:before {
        left: 0; }
  .btn_set .white {
    border: 2px solid #fff;
    color: #fff; }
    .btn_set .white:before {
      background-color: #fff; }
    .btn_set .white:hover {
      color: #008CB5; }
  .btn_set .black {
    border: 2px solid #333;
    color: #333; }
    .btn_set .black:before {
      background-color: #008CB5; }
    .btn_set .black:hover {
      color: #fff;
      border-color: #008CB5; }

/*-----------------------------------------
display
-----------------------------------------*/
.container {
  width: 1200px;
  max-width: 96%;
  margin: 0 auto; }

.contents {
  width: 1000px;
  max-width: 96%;
  margin: 0 auto; }

h2 {
  text-align: center; }
  h2 span {
    display: block;
    font-size: 23px;
    padding-bottom: 30px;
    font-weight: bold; }
  h2 img {
    transform: scale(0.6);
    transform-origin: center top; }

.two_box {
  display: flex; }
  .two_box .two_box_img {
    line-height: 0; }
  .two_box .two_box_txt {
    padding: 50px; }

/*-----------------------------------------
head
-----------------------------------------*/
header {
  max-width: 96%;
  margin: 0 auto;
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff; }
  header h1 {
    max-width: 150px; }

.drawer-hamburger {
  width: 1.8rem;
  padding: 25px .75rem 45px; }

.drawer-hamburger-icon {
  margin-top: 0; }

.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
  height: 5px;
  background-color: #008CB5; }

.drawer-hamburger-icon:before {
  top: 10px; }

.drawer-hamburger-icon:after {
  top: 20px; }

.drawer-open .drawer-hamburger-icon, .drawer-open .drawer-hamburger-icon:after, .drawer-open .drawer-hamburger-icon:before {
  height: 2px; }

.drawer-nav li a {
  display: block;
  border-bottom: 1px solid #ccc;
  padding: 15px; }

/*-----------------------------------------
top
-----------------------------------------*/
/* mv */
.mv {
  background: url("img/top_gif.gif") no-repeat;
  position: relative;
  background-size: contain;
  padding-top: 43.4%; }
  .mv > div {
    max-width: 250px;
    width: 30%; }
  .mv .apartment_bt, .mv .hospital_bt, .mv .station_bt {
    width: 3.5vw;
    height: 3.5vw;
    display: block;
    position: absolute;
    cursor: pointer;
    z-index: 2; }
  .mv .apartment_bt {
    right: 39.5vw;
    top: 18.4vw; }
  .mv .hospital_bt {
    right: 18.5vw;
    top: 14vw; }
  .mv .station_bt {
    left: 48vw;
    top: 9.7vw; }
  .mv .apartment {
    position: absolute;
    top: 12vh;
    left: 58%;
    display: none; }
  .mv .hospital {
    position: absolute;
    top: 0;
    right: 18%;
    display: none; }
  .mv .station {
    position: absolute;
    top: 0;
    left: 50%;
    display: none; }
  .mv .mv_img_set {
    display: block; }

@media screen and (max-width: 1000px) {
  .mv {
    background-size: 120% auto;
    background-position: center top;
    padding-top: 52%; }
    .mv .apartment_bt {
      right: 37.5vw;
      top: 22.4vw; }
    .mv .hospital_bt {
      right: 12.5vw;
      top: 17vw; }
    .mv .station_bt {
      left: 48.2vw;
      top: 12vw; }
    .mv .apartment {
      top: 7vh;
      left: 61%; }
    .mv .hospital {
      right: 8%; }
    .mv .station {
      left: 49%; } }
main {
  display: block;
  background: url("img/top_bg.gif") repeat;
  padding: 100px 0; }
.s1 {
  width: 80%;
  margin: 0 auto 100px;
  padding: 50px;
  box-shadow: 2px 2px 4px gray;
  background: #fff;
  text-align: center; }
  .s1 p {
    width: 75%;
    margin: 0 auto;
    line-height: 45px;
    background-position: 0px 0px;
    background-size: 45px 45px;
    /* line-height に合わせる */
    background-color: #fff;
    background-repeat: repeat;
    background-image: linear-gradient(180deg, transparent 44px, #938980 44px);
    font-weight: bold;
    font-size: 18px; }

.s2 {
  background: #008CB5;
  margin-bottom: 100px; }
  .s2 h2 img {
    transform-origin: left top; }
  .s2 h2 span {
    text-align: left;
    color: #fff; }
	.s2 .two_box {
		overflow: hidden;
	}
	.s2 .two_box_img {
		max-width: 500px;
    position: relative;
    width: 50%;
    padding-top: 35%;	}
	.s2 .two_box_img img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);	}
  .s2 p {
    font-size: 18px;
    color: #fff;
    line-height: 2.5; }
  .s2 .two_box_txt {
    position: relative; }
		.s2 .two_box_txt h2 {
			text-align: left;	}
    .s2 .two_box_txt .btn_set {
      position: absolute;
      bottom: 3vw; }

.s3 {
  margin-bottom: 100px;
  background: url("img/service.jpg") no-repeat center;
  background-size: cover;
  padding: 80px 0; }
  .s3 h2 {
    text-align: left; }
    .s3 h2 img {
      transform-origin: left top; }
    .s3 h2 span {
      text-align: left;
      color: #fff; }
  .s3 p {
    font-size: 18px;
    color: #fff;
    line-height: 2.5; }
  .s3 .btn_set {
    margin: 0; }

.s4 {
  margin-bottom: 100px;
  background: #E0F4FF;
  display: flex; }
	.s4 .s4_bg {
    position: relative;
    width: 50%;
    overflow: hidden;
		max-width: 900px; }
	.s4 .s4_bg img {
    width: 170%;
    max-width: inherit;
    position: absolute;
    right: 0;	}
  .s4 .container {
    width: 50%;
    padding: 80px; }
    .s4 .container h2 {
      text-align: left; }
      .s4 .container h2 img {
        transform-origin: left top; }
    .s4 .container .btn_set {
      margin: 0; }
    .s4 .container p {
      font-size: 18px;
      line-height: 2.5; }

.s5 {
  margin-bottom: 150px;
  background: #008CB5;
  display: flex;
  position: relative;
  overflow: hidden; }
  .s5 .s5_bg {
    order: 2;
    position: absolute;
    right: 0;
    width: 70%;
		height: 100%;
		overflow: hidden;
		max-width: 900px; }
	.s5 .s5_bg img {
		max-width: inherit;
    width: 145%;
	}
  .s5 .container {
    order: 1;
    padding: 80px 0;
    color: #fff; }
    .s5 .container h2 {
      text-align: left;
      position: relative; }
      .s5 .container h2 img {
        transform-origin: left top; }
    .s5 .container .btn_set {
      margin: 0; }
    .s5 .container p {
      font-size: 28px;
      text-shadow: gray 0 0 5px;
      line-height: 2;
      position: relative; }

footer {
  text-align: center;
  background: url("img/footer_bg.jpg") no-repeat;
  background-size: 100% 100%;
  padding: 50px 0; }
	footer a {
		display: inline-block;
		width: 250px;	}
  footer small {
    display: block;
    margin-top: 15px;
    font-size: 12px; }

/*-----------------------------------------
under
-----------------------------------------*/
.page main {
  padding: 0 0 100px;
  background: none; }

.u_mv {
  background: url("img/m_bg.png") no-repeat;
  background-size: 100% auto;
  padding: 30px 0 80px; }
  .u_mv .container {
    position: relative; }
    .u_mv .container:before {
      content: url("img/u_left.png");
      position: absolute;
      left: -110px;
      bottom: -100px; }
    .u_mv .container:after {
      content: url("img/u_right.png");
      position: absolute;
      right: -70px;
      bottom: -100px; }

.contents_box_under h2 img {
  transform: scale(0.5);
  transform-origin: center; }
.contents_box_under h3 {
  font-size: 28px;
  font-weight: bold; }
.contents_box_under p {
  font-size: 16px;
  line-height: 1.8; }
.contents_box_under dl {
  margin-top: 30px; }
.contents_box_under dd {
  font-size: 18px;
  line-height: 1.8;
  font-weight: bold;
  padding-left: 30px;
  position: relative; }
  .contents_box_under dd:before {
    content: "●";
    color: #FF6C45;
    position: absolute;
    left: 0; }
.contents_box_under .three_box {
  display: flex;
  justify-content: space-between; }
  .contents_box_under .three_box li {
    width: 33%; }
  .contents_box_under .three_box p {
    margin-top: 15px; }
.contents_box_under .two_box {
  justify-content: space-between; }
  .contents_box_under .two_box li {
    width: 49%; }
.contents_box_under .blue_box {
  background: #F3F8FA;
  padding: 50px 30px; }
.contents_box_under #map, .contents_box_under #maps {
  height: 500px;
	margin: 0 -100px; }
.contents_box_under th {
  width: 180px;
  text-align: left; }
.contents_box_under th, .contents_box_under td {
  padding: 10px; }
.imb {
	display: flex;
	align-items: flex-end; }
	
	
/* form */
.wpcf7 table {
  width: 100%;
}
.wpcf7 th {
  width: 30%;
  padding: 15px 10px;
  border-bottom: 1px solid #ccc;
  text-align: left;
  font-weight: bold;
	font-size: 16px;
	position: relative;
	vertical-align: middle;
}
.wpcf7 td {
  width: 70%;
  padding: 15px 10px;
  border-bottom: 1px solid #ccc;
	font-size: 16px;
}
.his {
    display: inline-block;
    color: #008CB5;
    position: absolute;
    right: 0;
    font-size: 12px;
    border: 1px solid #008CB5;
    padding: 5px;
    line-height: 1;
    top: 50%;
    transform: translateY(-50%);
}
.c_txt {
	width:95%;
	margin:20px auto;
	display:block;
	background:#fff;
	padding:20px 30px 0;
	box-sizing:border-box;
	line-height:1.5;
}
.c_txt h4 {
    padding: 0 15px;
    font-size: 21px;
    border-left: 5px solid #008CB5;
    margin-bottom: 20px;
}
.c_txt iframe {
    border: 1px solid #ccc;
    width: 85%;
    margin: 20px auto 30px;
    display: block;
}
.ifrm-container {
  width:100% !important;
  height:150px !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
  margin: 0 auto !important;
  display: inline-block;
  border: 1px solid #ccc !important;
}
.ifrm {
  width:100% !important;
  margin: 0 !important;
  height:100% !important;
  border:none !important;
  display:block !important;
}
input[type="submit"],input[type="button"] {
    font-size: 100%;
    padding-right: 100px;
    padding: 0.2em 0.4em;
    background: #008CB5;
    color: #fff;
    border-radius: 4px;
    width: 30%;
    height: 50px;
    cursor: pointer;
    box-shadow: 0 0 1px rgba(181, 235, 178, 1);
    border: 1px solid #ccc;
    margin-top: 100px;
}

/*ドロワー */
.drawer-overlay {
	background: rgba(255,255,255,.5);
}
.drawer-nav {
	width: 400px;
}
.drawer--right .drawer-nav {
	right: -400px;
}
.drawer--right.drawer-open .drawer-hamburger {
    right: 410px;
}