@charset "utf-8";

.header {
	position:relative;
  padding: 120px 0 80px;
}
.header img {
  max-width: 100%;
}
.tepco {
  position: absolute;
  left: 30px;
  top:30px;
}
.pg {
  position: absolute;
  right: 30px;
  top:30px;
}
.header .inner_md {
	max-width:1100px;
	margin:0 auto
}
.header .logo {
  text-align: center;
}
.header .logo img {
  margin: 0 3px;
}
.container {
	width:100%;
	min-width:1100px;
	background-color:#fff
}
.content {
	width:100%
}
.first_view {
	position:relative;
	width:100%;
	background: #EB6100;
	margin: 0 0 60px;
  border-top:1px solid #ddd;
  border-bottom:1px solid #ddd;
}
.first_view_inner {
	text-align:center;
	margin:0 auto;
  display: flex;
  justify-content: space-between;
}
.first_view_inner img {
  max-width: 100%;
}
.copy {
  width: 40%;
  order: 2;
  position: relative;
}
.copy img {
  width: 70%;
  position: absolute;
  left: 50%;
  top: 50%;
  
	-webkit-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
}
.image1 {
  width: 30%;
  order: 1;
}
.image2 {
  width: 30%;
  order: 3;
}
.gray_area {
	background-color:#f5f6f7
}
.concept {
	width:1100px;
	margin:0 auto 0;
	text-align:center
}
.trouble {
	display:-ms-flexbox;
	display:flex;
	z-index:2;
	position:relative;
	-ms-flex-align:center;
	align-items:center;
	-ms-flex-pack:center;
	justify-content:space-between;
	width:1100px;
	margin:0 auto 0;
	overflow:hidden;
	background-color:white;
	text-align:center
}
.trouble_inner {
	padding:0;
  width: 520px;
}
.trouble_inner h2 {
  background: #EB6100;
  color: #fff;
  line-height: 1.5;
  padding: 15px;
  margin-bottom: 20px;
}
.trouble_inner .down {
  text-align: center;
  margin-bottom: 20px;
}
.trouble-box {
  border:3px solid #EB6100;
  padding: 20px;
}
.btn_box {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-align:center;
	align-items:center;
	-ms-flex-pack:center;
	justify-content:center;
	margin-bottom: 1em;
}
.btn {
	display:-ms-flexbox;
	display:flex;
	position:relative;
	-ms-flex-align:center;
	align-items:center;
	-ms-flex-pack:center;
	justify-content:center;
	font-size:1rem;
	cursor:pointer
		
}
.btn_white {
	position:relative;
	margin:0 12px;
	box-shadow:1.414px 1.414px 4px 0 rgba(0,0,0,.2);
	color:#fff;
	transition: .2s;
}
.btn_white:hover {
	opacity: 0.8;
}
.btn_white:after {
	display:block;
	position:absolute;
	top:50%;
	right:20px;
	width:10px;
	height:10px;
	-webkit-transform:translate(0,-65%)rotate(45deg);
	transform:translate(0,-65%)rotate(45deg);
	border-right:2px solid #fff;
	border-bottom:2px solid #fff;
	content:''
}
.btn_contact {
	margin:0 8px;
	background-color:#e72420;
	box-shadow:1.414px 1.414px 4px 0 rgba(0,0,0,.2);
}
.btn_contact a {
	color: #fff;
}
.btn_contact:hover {
	opacity: 0.8;
}
.btn_contact:after {
	display:block;
	position:absolute;
	top:50%;
	right:20px;
	width:10px;
	height:10px;
	-webkit-transform:translate(0,-50%)rotate(45deg);
	transform:translate(0,-50%)rotate(45deg);
	border-right:2px solid #fff;
	border-top:2px solid #fff;
	content:''
}
.search {
	padding:40px 0 0;
	width:1100px;
	margin:0 auto 0;
}
.search p {
  text-align: center;
}
.search .btn_box {
	margin:30px auto 0
}
.search .btn_white {
	width:480px;
	height:54px
}
.search .btn_contact{
	width:164px;
	height:54px
}
.search .proactive {
	background-color: #EB6100;
}
.search .recovery {
	background-color: #EB6100;
}
.search .search_box {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-align:center;
	align-items:center;
	-ms-flex-pack:center;
	justify-content:center;
	width:500px;
	margin:40px auto 0;
	padding:0 20px 18px;
	border-bottom:1px solid #333;
	color:#333
}
.search .search_box input {
	width:430px;
	border:none;
	background-color:transparent;
	font-size:1rem
}
.search .search_box input:focus {
	outline:none
}
.concept .ttl,.search .ttl {
	margin-bottom:10px;
	padding: 10px 0;
	color:#898989;
	font-size:1.65rem;
	line-height:1;
	text-align:center;
	border-bottom: 5px solid #898989;
}
.white_area {
	padding:30px 0;
	background-color:#fff
}
.services_list {
	width:1100px;
	margin:0 auto 40px;
}
.services_item {
	display: block;
	margin:0 20px 20px 0;
	overflow:hidden;
	border-radius:10px;
	background-color:white;
	box-shadow:1.414px 1.414px 4px 0 rgba(0,0,0,.2);
	position: relative;
}

.services_item dl {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-align:stretch;
	align-items:stretch;
	justify-content: space-between;
	width:100%;
	height:100%;
	border-left:15px solid #768085;
}
.services_item dt {
	background-position:center;
	background-repeat:no-repeat;
	padding:20px 10px 20px 15px;
}
.services_item dd {
	padding:20px 10px;
}
.services_item dt h4 {
	font-size:1.125rem;
	line-height:1.25;
	margin-bottom: 10px;
}
.services_item dt h4 span {
	font-size: .75em;
}
.services_item dt p {
	color:#666;
	font-size:.875rem;
	line-height:1.5;
	margin-bottom: 10px;
}
.services_item dt p.company {
	margin-bottom: 0;
}
.services_item dt p.company a {
	color: #036eb8;
	padding: 0 20px 0 0;
	background: url(../images/open.png) no-repeat right center;
}
.services_item dt p.company a:hover {
  opacity: 0.8;
}
.services_item dd a {
	display: block;
	background-color: #768085;
	color: #fff;
	width: 12em;
	padding: 20px 40px 20px 20px;
	position: relative;
	border-radius:8px;
	font-weight: 700;
	transition: .2s;
}
.services_item dd span {
	display: block;
	color: #768085;
	border: 1px solid #768085;
	width: 12em;
	padding: 18px 28px 18px 28px;
	position: relative;
	font-weight: 400;
	text-align: center;
}
.services_item dd a:hover {
	background-color: #333;
}
.services_item dd a:after {
	display:block;
	position:absolute;
	top:50%;
	right:20px;
	width:8px;
	height:8px;
	-webkit-transform:translate(0,-65%)rotate(45deg);
	transform:translate(0,-65%)rotate(45deg);
	border-right:2px solid #fff;
	border-top:2px solid #fff;
	content:''
}
.contact {
	text-align: center;
	margin-bottom: 40px;
}

.contact .btn_contact{
	width:360px;
	height:54px
}
.contact a {
  color: #036eb8;
}
.contact a:hover {
  opacity: 0.8;
}
.pagetop {
	width: 40px;
	text-align: center;
	position: fixed;
	bottom:20px;
	right:20px;
}
.pagetop a {
	background: rgba(0,0,0,0.6);
	display: block;
	width: auto;
	height: 40px;
}
.pagetop a:before {
	display:block;
	position:absolute;
	top:50%;
	left: 50%;
	width:8px;
	height:8px;
	-webkit-transform:translate(-50%,-50%)rotate(45deg);
	transform:translate(-50%,-50%)rotate(45deg);
	border-left:2px solid #fff;
	border-top:2px solid #fff;
	content:''
}
.pagetop a:hover {
	background: rgba(0,0,0,0.3);
}
.footer {
	background-color:#545454;
	background: url(../images/bg.png);
}
.footer .inner {
	max-width:1100px;
	margin:0 auto
}
.footer .inner {
	position:relative;
	height: 110px;
}
.footer .footer_logo {
	position:absolute;
	top:17px;
	left:0
}
.footer .footer_link {
	position:absolute;
	top:44px;
	left:122px;
	font-size:.875rem;
}
.footer .footer_link a {
	color:#fff;
}
.footer .footer_copy {
	position:absolute;
	top:44px;
	right:0;
	color:#fff;
	font-family:Roboto;
	font-size:.875rem;
	font-weight:300;
	letter-spacing:.6px;
	text-align:center
}
.breakcrumb {
	padding:13px 0 10px;
	border-bottom:1px solid #999;
	background:#333
}
.breakcrumb .inner {
	max-width:1100px;
	margin:0 auto
}
.breakcrumb li {
	display:inline-block;
	position:relative;
	margin-right:40px;
	color:#fff;
	font-size:.875rem;
	line-height:36px
}
.breakcrumb li:after {
	display:inline-block;
	position:absolute;
	top:0;
	right:-26px;
	content:'＞'
}
.breakcrumb li a {
	display:inline-block;
	color:#fff;
	transition:all .35s
}
.breakcrumb li a:hover {
	text-decoration:underline
}
.breakcrumb li a.top {
	width:23px
}
.breakcrumb li a.top:before {
	display:inline-block;
	position:absolute;
	top:1px;
	left:-8px;
	width:32px;
	height:30px;
	background:url(../images/icon_home.png) 0 0 no-repeat;
	content:''
}
.breakcrumb li:last-child:after {
	display:none
}
.arrow {
	width:15px;
	height:15px;
	font-size:.875rem;
	cursor:pointer
}
.arrow.hidden {
	display:none;
	opacity:0;
	pointer-events:none
}
.right_arrow {
	margin-left:20px;
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
	border-top:2px solid black;
	border-right:2px solid black
}
.left_arrow {
	margin-right:20px;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	border-top:2px solid black;
	border-left:2px solid black
}
.modal_bg {
	display:none;
	z-index:10000;
	position:fixed;
	top:0;
	left:0;
	-ms-flex-line-pack:center;
	align-content:center;
	-ms-flex-pack:center;
	justify-content:center;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.6);
	cursor:pointer;
	opacity:0
}
.modal_bg.active {
	display:-ms-flexbox;
	display:flex
}
.modal_wrapper {
	position:absolute;
	top:100px;
	left:50%;
	width:1000px;
	-webkit-transform:translate(-50%,0);
	transform:translate(-50%,0);
	background-color:#fff;
	cursor:default;
	opacity:0
}
.modal_header {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-align:center;
	align-items:center;
	-ms-flex-pack:justify;
	justify-content:space-between
}
.search-box input:checked ~:before {
	opacity:1
}
.search-box .control__radio {
	position:absolute;
	top:50%;
	left:0;
	width:18px;
	height:18px;
	-webkit-transform:translate(0,-50%);
	transform:translate(0,-50%);
	border:1px solid #cdcdcd;
	border-radius:50%
}
.search-box .control__radio:before {
	display:block;
	position:absolute;
	top:50%;
	left:50%;
	width:10px;
	height:10px;
	-webkit-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
	border-radius:50%;
	background-color:#eb1e1e;
	content:'';
	opacity:0
}
.search-box {
	text-align: left;
}
.search-box input[type=radio] {
	display: none;
}
.search-box.proactive label:focus,
.search-box.proactive label:active,
.search-box.proactive input:checked + label {
	color: #000;
}
.search-box.proactive label:focus:before,
.search-box.proactive label:active:before,
.search-box.proactive input:checked + label:before {
	border-color: #EB6100;
	background: #ffffff;
}
.search-box.recovery label:focus,
.search-box.recovery label:active,
.search-box.recovery input:checked + label {
	color: #000;
}
.search-box.recovery label:focus:before,
.search-box.recovery label:active:before,
.search-box.recovery input:checked + label:before {
	border-color: #EB6100;
	background: #ffffff;
}
.search-box label {
	font-size: 1em;
	line-height: 1.25;
	position: relative;
	display: block;
	padding: .5em 1em .5em 2em;
	cursor: pointer;
	-webkit-transition: all 0.15s ease;
	        transition: all 0.15s ease;
	background: #ffffff;
	border-radius: 6px;
	margin-bottom: 8px;
}
.search-box.proactive label {
	border: 1px dashed rgba(235,97,0,0.5);
}
.search-box.recovery label {
	border: 1px dashed rgba(235,97,0,0.5);
}
.search-box label:before {
	position: absolute;
	top: .65em;
	left:.5em;
	width: 10px;
	height: 10px;
	content: '';
	border: 0.2em solid #cccccc;
	border-radius: 50%;
}
.search-box.proactive label:before {
	border-color: #EB6100;
}
.search-box.recovery label:before {
	border-color: #EB6100;
}
.search-box.proactive input:checked + label:before {
	border-color: #EB6100;
	background: #EB6100;
}
.search-box.recovery input:checked + label:before {
	border-color: #EB6100;
	background: #EB6100;
}
.search-box input:disabled + label {
	cursor: not-allowed;
	color: #EB6100;
	background: #efefef;
}
.search-box input:disabled + label:hover {
	border-color: rgba(0, 0, 0, 0.1);
}
.search-box input:disabled + label:before {
	border-color: #ffffff;
	background: #ffffff;
}
.search-box label:hover {
	background: #eee;
}
.search-box.proactive label:hover {
	background-color: rgba(235,97,0,0.2);
}
.search-box.recovery label:hover {
	background-color: rgba(235,97,0,0.2);
}
.search-box.proactive input[type="radio"]:checked + label {
	display: block;
	background-color: #EB6100;
	color: #fff;
	border: 1px solid #dbf0cb;
}
.search-box.recovery input[type="radio"]:checked + label {
	display: block;
	background-color: #EB6100;
	color: #fff;
	border: 1px solid #f4e0ce;
}
.search-box.proactive input[type="radio"]:checked + label:before {
	border: none;
	background: #fff;
	width: 10px;
	height: 10px;
	top: .8em;
	left:.75em;
}
.search-box.recovery input[type="radio"]:checked + label:before {
	border: none;
	background: #fff;
	width: 10px;
	height: 10px;
	top: .8em;
	left:.75em;
}
.proactive h3 {
	text-align: center;
	color: #EB6100;
	border-bottom: 3px solid #EB6100;
	padding-bottom: .5em;
	margin-bottom: .5em;
}
.recovery h3 {
	text-align: center;
	color: #EB6100;
	border-bottom: 3px solid #EB6100;
	padding-bottom: .5em;
	margin-bottom: .5em;
}


@media screen and (max-width: 767px) {
  .header {
    position:relative;
    padding: 60px 0 40px;
  }
  .tepco {
    position: absolute;
    width:59px;
    left: 15px;
    top:15px;
  }
  .pg {
    position: absolute;
    width: 30px;
    right: 15px;
    top:15px;
  }
	.header .inner_md {
		max-width:auto;
	}
	.header .logo img{
		width:60vw;
		height: auto;
    margin-bottom: 5px;
	}
  .first_view {
    margin: 0 0 60px;
  }
  .first_view_inner {
    flex-wrap: wrap;
  }
  .first_view_inner img {
    max-width: 100%;
  }
  .copy {
    width: 100%;
    height: 50vw;
    order: 1;
    position: relative;
  }
  .copy img {

    width: 70vw;
    position: absolute;
    left: 50%;
    top: 50%;

    -webkit-transform:translate(-50%,-50%);
    transform:translate(-50%,-50%);
  }
  .image1 {
    width: 50%;
    order: 2;
  }
  .image2 {
    width: 50%;
    order: 3;
  }
	.container{
		width:100%;
		min-width:0;
		background-color:#fff
	}
	.content{
		width:auto;
		font-size:3.6458333333333335vw;
	}
	.trouble {
		display:block;
		width:auto;
		margin:0 10px;
	}
	.trouble_inner {
    width: auto;
		margin-bottom: 20px;
	}
	.trouble_inner p img {
		max-width: 100%;
	}

.trouble_inner h2 {
  padding: 10px;
  margin-bottom: 10px;
  font-size:18px;
}
.trouble_inner .down {
  margin-bottom: 10px;
}
.trouble-box {
  border:3px solid #EB6100;
  padding: 20px;
}
	.btn_box {
		display: block;
	}
	.btn {
		position:relative;
		font-size:.8rem;
		align-items: center;
	}
	.search {
		padding:40px 0 0;
		width:auto;
		margin:0 10px;
	}
	.search .btn_box {
		margin:10px auto 0
	}
	.search p {
		font-size: 1rem;
	}
	.concept .ttl,.search .ttl {
		margin-bottom:15px;
		font-size:1.25rem;
		line-height:1.2;
	}

	.search .btn_white {
		width:100%;
		height:48px;
		margin: 0 auto 5px;
	}
	
	.proactive h3 {
			font-size:.9rem;
	}
	.recovery h3 {
			font-size:.9rem;
	}
	.services_list {
		width:auto;
		margin:0 10px 40px;
	}
	.services_item {
		display: block;
		margin:0 0 20px 0;
	}
	.services_item dl {
		display:block;
		width:100%;
		height:100%;
		border-left:15px solid #768085;
	}
	.services_item dt {
		padding:10px 10px 10px 15px;
	}
	.services_item dd {
		padding:0 10px 10px;
	}
	.services_item dt h4 {
		font-size:1rem;
		line-height:1.2;
		margin-bottom: 10px;
	}
	.services_item dt p {
		font-size:.7rem;
		line-height:1.5;
		margin-bottom: 10px;
	}
	.services_item dt p.company a {
		color: #036eb8;
		padding: 0 16px 0 0;
		background: url(../images/open.png) no-repeat right center;
		background-size: auto 10px;
	}
	.services_item dd a {
		color: #fff;
		width: auto;
		font-size:.875rem;
		padding: 10px 30px 10px 20px;
	}
	.services_item dd span {
		width: auto;
		font-size:.875rem;
		padding: 8px 28px 8px 28px;
	}
	.contact {
		padding: 0 10px;
	}
	.contact .btn_contact{
		width:300px;
		height:48px;
		margin: 0 auto;
	}
	.contact p {
		font-size: .75em;
	}
	.footer .inner {
		width:auto;
		height: auto;
		margin:0;
		padding: 20px 0;
	}
	.footer .footer_logo {
		position:static;
		display: block;
		width: auto;
		padding: 0 0 15px;
		text-align: center;
	}
	.footer .footer_logo img {
		width: auto;
	}
	.footer .footer_link {
		position:static;
		font-size:2.8vw;
		text-align:center;
		margin-bottom: 2em;
	}
	.footer .footer_copy {
		position:static;
		font-size:2.8vw;
	}
	.pagetop {
		width: 100%;
		position: relative;
		left: 0;
		top: 0;
	}
	.pagetop a {
		background: #000;
	}
	.pagetop a:hover {
		background: #333;
	}
	.breakcrumb {
		display: none;
	}
	.breakcrumb .inner {
		width:auto;
		margin:0 10px;
	}
	.search-box label {
		font-size: .85em;
		line-height: 1.25;
		padding: .4em 0em .4em 2em;
	}
}
@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}
@keyframes zoom-in {
  0% {
		opacity:0;
	 top:20px;
  } 
  100% {
	  opacity:1;
	 top:0px;
  }
}
.is-animated {
  animation: .6s zoom-in;
}

.is-hide{
    display: none;
  	animation: .6s zoom-in;
}

.is-show{
    display: block;
  	animation: .6s zoom-in;
}
.list_item,
.is-active{
	transition: .5s;
}