@charset "utf-8";
/* CSS Document */
body {
  padding-top: 3rem;
  /*padding-bottom: 3rem;*/
  /*color: #5a5a5a;*/
}
.row {
	margin: auto;
}
section{
    padding: 100px 0;
}
.section-heading {
	margin-bottom: .5rem;
}
.bg-light {
	background-color: #fff!important;
} 
a {
	color: #333;	
}
a:hover {
	color: #252525;
	text-decoration: none;
}
ul {
    -webkit-padding-start: 0;
}
/*
li {
	list-style: none;
}
*/
h2 {
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
}
/*
.fixed-top {
	border-bottom: solid 1px #ccc;
}
*/
.navbar-light .navbar-nav .nav-link {
    color: #000;
}
.navbar-light .navbar-nav .nav-link:hover {
	color: #ffa500;
}
.navbar-nav li {
	font-size: 0.8rem;
	font-weight: bold;
}
.nav-link {
	font-size: 0.8rem;
}

.card{
	position:relative;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-ms-flex-direction:column;
	flex-direction:column;
	min-width:0;
	word-wrap:break-word;
	background-color:#fff;
	background-clip:border-box;
	border: none;
	border-radius: none;
}
.icon{
	color: #fff;
}
.taitle-sen {
	border-bottom:3px solid #7F7F7F;
	padding-bottom: .3rem;
}
.item-mt {
	margin-top: 3rem;
}

/*## 追加色 ##*/
.text-orange {
	color: #ee7800;
}
.bg-lightglay {
	background-color:#EEEEEE;
}
.bg-lightred {
	background-color: #fff3f5;
}

/*
################
     top
################
*/
.jumbotron {
	position: relative;
	height: 30vw;
	background-image: url("../img/ecoswitch-d_topimg.png");
	background-size: cover;
	background-position: center 100%;
	padding-top: 11rem;
}
.display-4 {
	position: absolute;
	font-size: 3vw;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
	left: 25vw;
	bottom: 10vw;
	text-shadow: 2px 2px 3px #000;
}

/*
################
     point
################
*/
.about-moji th {
	font-weight: normal;
} 
.section-bottom-border {
	padding: 50px 0;
	border-bottom: 1px dotted #888;
}
.point-circle {
	display: inline-block;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	color: #fff;
	background-color: #DB095E;
}
.point-circle-lg {
	position: relative;
	display: inline-block;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	color: #fff;
	background-color: #DB095E;
	margin: 0 auto;
	text-align: center;
	font-weight: 700;
	font-size: 2rem;
}
.point-text {
	display: block;
	line-height: 2.8rem;
	padding-top: 1rem;
}
.point-midashi {
	position: absolute;
	display: inline-block;
	font-size: 2rem;
	top: 15%;
	left: 25%;
	font-weight: 500;
}
.fontsize-lg {
	font-size: 4.5rem;
}
/*
.container {
	position: relative;
}
*/
.mb-10 {
	margin-bottom: 8rem;
}
.text-lc {
	vertical-align: middle;
	padding: 1rem 2rem 1rem 2rem;
	text-align: left;
}
.moji-sm {
	font-size: .8rem;
}

/*
################
      plan
################
*/
#plan .tab-waku {
	width: 100%;
	border: 5px solid #ddd;
	border-radius: 30px;
	padding: 3em;
	margin-top: 2em;
}
#plan .table-plan-detail {
	/*float: left;*/
	width: 100%;
	table-layout: fixed;
	/*margin: 20px 0;*/
	font-size: 14px;
	border: none;
}
.table-plan-detail .bg-blue {
	background: #444;
	color: #fff;
}
.table-plan-detail .bg-water {
	background: #dbdbdb;
}
.table-plan-detail .bg-yellow {
	background: #FFCE00;
}
.table-plan-detail .bg-lightyellow {
	background: #fff3d3;
}
.table-plan-detail .bg-egg {
	background: #fffaee;
}
.table-plan-detail th {
	border: solid 1px #333;
	padding: 10px 3px;
	text-align: center;
	vertical-align: middle;
	font-weight: bold;
	background: #FFCE00;
}
.table-plan-detail td {
	padding: 10px 3px;
	border: solid 1px #2A0D0D;
	text-align: center;
	vertical-align: middle;
}
.accordion_btn {
	padding-bottom: .25rem;
}
#plan .btn-outline-secondary {
	color: #000;
}
#plan .btn-outline-secondary:not(:disabled):not(.disabled).active, .btn-outline-secondary:not(:disabled):not(.disabled):active, .show>.btn-outline-secondary.dropdown-toggle {
	color: #fff;
}
#plan .btn-outline-secondary:hover {
	color:#fff;
	background-color:#6c757d;
	border-color:#6c757d;
}

/*
################
  application
################
*/
#application .services-container {
	position: relative;
	margin-top: 1em;
	padding: 0 0 56px;
}
#application .services-container .line {
	position: absolute;
	top: 56px;
	width: 70%;
	left: 15%;
	border-top: 2px solid #0D1533;
}
#application .services-container .service {
	max-width: 500px;
	margin: 0 auto;
	text-align: center;
}
#application .services-container .service p {
	margin-top: 1em;
	text-align: left;
}


/*
################
    privasy
################
*/
.privacy-title {
	border-left: 5px solid #ffc107;
	border-bottom: 3px solid #E3E3E3;
	padding: 0.5rem;
	background-color: #FFFBEF;
	margin-top: 1.5rem;
}
.privacy-li li {
	list-style: disc;
}
#privacy h3 {
	font-size: 1.5rem;
}
/*
################
   tokuteishou
################
*/
.tokuteishou th {
	width: 30%;
	background-color: #FDFDFD;
	border: 1px solid #AAAAAA;
}
.tokuteishou td {
	width: 70%;
	border: 1px solid #AAAAAA;
}

/*
################
  topBtn
################
*/
#topBtn {
  position:fixed; /*固定*/
  bottom:20px; /*場所を右下に移動*/
  right:20px; /*場所を右下に移動*/
  display:block; /*aタグをblock要素に変更*/
  background-color:rgba(0,0,0,0.5); /*以下、デザインはご自由に！！*/
  color:#fff;
  text-decoration:none;
  font-weight:bold;
  font-size:11px;
  width:60px;
  height:60px;
  text-align:center;
  line-height:22px;
  border-radius:30px;
  padding-top:30px;
  box-sizing:border-box;
  z-index: 10;
}
#topBtn:before {
  content:'\25B2';
  position:absolute;
  top:15px;
  left:0;
  width:100%;
  text-align:center;
  font-size:20px;
}
#topBtn:hover {
  opacity:0.7;
}
#topBtn a {
	color: #fff;
}

/*
################
    footer
################
*/
footer {
	width: 100%;
	height: 100%;
    background: #000;
	/*color: #fff;*/
}
footer ul li {
	/*border-right: 1px solid #888;*/
	float: left;
	padding:0em 0.3em;
}
footer a {
	color: #000;
}
footer a:hover {
	color: #ffa500;
}

/*
################
     faq
################
*/
#faqpage .answer h5 {
	 border-bottom: 1px solid #CCCCCC;
}
#faqpage .answer dl{
	width:90%;
	margin: 0 auto;
	line-height:1.8em;
	overflow: hidden;
	_zoom: 1;
	background-color: #F9F9F9;
	border-radius: 5px;
	padding: 2em;
	margin-bottom: 3em;
}
#faqpage .answer dl dd,
#faqpage .answer dl dt{
     text-indent: -2.6em;   
     padding: 0 20px 0px 50px;
}
#faqpage .answer dl dt{
     margin:20px 20px 0 0;
	 font-size: 1.2em;
}
#faqpage .answer dl dt:first-child {
	margin-top: 0;
}
#faqpage .answer dl dd:first-letter,
#faqpage .answer dl dt:first-letter{
     font-size: 1.6rem;
     font-weight: bold;
     margin-right:10px;
     padding:5px;
}
#faqpage .answer dl dd{
     margin: 20px 0 -1px -5px;
     padding-bottom:15px;
     border-bottom: 1px #555 dotted;
	 word-wrap: break-word;
}
#faqpage .answer dl dd:last-child {
	border-bottom: none;
}
#faqpage .answer dl dt{
     color: #0AAB7B;	
}
#faqpage .answer dl dd:first-letter{
     color: #FFA600;
	 /*font-size: 1.8rem;*/
}
#faqpage h4 {
    border-left: 2px solid #000;
    font-size: 140%;
    color: #000;
    padding-left: 15px;
    margin-bottom: 10px;
}

/*
################
     contact
################
*/
.ct-btn {
	padding: 1rem 5rem;
}
#contact .ct-waku {
	padding-bottom: 2rem;
	width: 100%;
} 
#contact .ct-sen {
	border-top: dotted 1px #888;
}
#formWrap,
#contact {
	margin:0 auto;
	/*color:#555;*/
	line-height:130%;
	font-size:90%;
}
table.formTable{
	width:100%;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	border:1px solid #ccc;
	padding:10px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;
}
table.formTable td {
	width:70%;
	background: #fff;
}
h3.heading {
	font-weight: normal;
	padding: 0 10px;
	line-height: 36px;
	color: #fff;
	background: #333;
	overflow: hidden;
}
#contact-wrapper .heading {
	font-weight: normal;
	padding: 0 10px;
	line-height: 36px;
	color: #fff;
	background: #333;
	overflow: hidden;
}
p.error_messe{
	margin:10px 0;
	color: #555555;
}
#formWrap p {
	font-size: 1rem;
	line-height:160%;
}
#formWrap table td textarea {
	height: 200px;
	width: 100%;
}


/*## レスポンシブ ##*/
@media screen and (min-width:767px) {
	#formWrap,#contact {
		width:100%;
		margin:0 auto;
	}
	table.formTable th, table.formTable td {
		width:auto;
		display:block;
	}
	table.formTable th {
		margin-top:5px;
		border-bottom:0;
	}
	input[type="text"], textarea {
		padding:5px;
		font-size:110%;
		display:block;
	}
	input[type="submit"], input[type="reset"], input[type="button"] {
		display:block;
		width:100%;
		height:40px;
	}
	.lead {
		font-size: 1rem;
	}
}

@media only screen and (max-width:992px){
	.fontsize-lg {
		font-size: 3.5rem;
	}
	#application .services-container .service {
		margin-top: 45px;
	}
	#application .services-container .line {
		display: none;
	}
	footer ul li {
		font-size: .90rem;
	}
	.point-midashi {
		font-size: 1.8rem;
		left: 30%;
		top: 15%;
	}
	.point-circle-lg {
		width: 100px;
		height: 100px;
	}
	.point-text {
		font-size: 1.5rem;
		line-height: 150%;
	}
	.main-menu {
		height: 100px;
		line-height: 100px;
	} 
	.img-none {
		display: none;
	}
	#header .nav-link {
		font-size: 0.7rem;
	}
}

@media only screen and (max-width:767.98px){
	#myCarousel {
		margin-top: 1em;
	}
	.fontsize-lg {
		font-size: 3rem;
	}
	.about-moji,
	.about-moji tbody,
	.about-moji thead,
	.about-moji tr,
	.about-moji td,
	.about-moji th {
		display:block;
	}
	.about-moji th {
		width:auto;
	}
	.tokuteishou table th,
	.tokuteishou table td {
		width: 100%;
	}	
	h2{
		font-size: 1.5rem;
	}
	h3,#privacy h3{
		font-size: 1.2rem;
	}
	h5 {
		font-size: 1rem;
	}
	footer ul li {
		text-align: left;
		clear: both;
	}
	p,li,tr {
		font-size: 0.8em;
	}
	#point .sen {
		border-right: none;
		border-bottom: 1px dotted #333;
	}
	.small {
		padding-top: .5rem;
	}
	#point img {
		width:85%;
	}
	#faqpage section {
		padding: 30px 0;
	}
	.lead {
		font-size: .9rem;
	}
	.point-midashi {
		font-size: 1.5rem;
		top: 10%;
		left: 25%;
		font-weight: 600;
	}
	.none {
		display: none;
	}
	.main-menu {
		height: 80px;
		line-height: 80px; 
	}
	.jumbotron {
		top: 1rem;
	}
	.display-4 {
		font-size: 4vw;
		left: auto;
	}
	.ct-block {
		display: block;
	}
}

@media only screen and (max-width:599.98px) {
	#faqpage .answer dl {
		width: 100%;
		padding: 1em;
	}
	#faqpage .answer dl dd{
		font-size: .8rem;
	}
	#faqpage .answer dl dt{
	 font-size: 1rem;
	}
	#faqpage .answer h5 {
	 font-size: 1.2rem;
	}
	.display-4 {
		font-size: 5vw;
		left: 8vw;
	}
}

@media only screen and (max-width:425px){
	#footer.list-inline-item {
		clear: both !important;
	}
	.option img {
		width: 70%;
	}
	h2 {
		font-size: 1.5rem;
		margin-bottom: 0.5em;
	}
	section {
		padding: 30px 0;
	}
	#point .container {
		padding: 0 0 1em 0;
	}
	.point-midashi {
		font-size: 1.5rem;
		left: 35%;
		font-weight: 500;
	}
	.ct-btn {
		padding: 1rem 2rem;
	}
	.logo {
		width: 60vw;
	}
	#plan .tab-waku {
		padding: 1rem;
	}
	.item-mt ul li {
		margin: 0 1rem;
	}
	.jumbotron {
		background-image: url( "../img/ecoswitch-d_topimg_sp.png");
		background-size: cover;
		background-position: 100% 0;
	}
}
@media only screen and (max-width:330px){
	.h3 {
		font-size: 1.2rem;
		font-weight: bold;
	}
	.h1 {
		font-size: 1.5rem;
	}
	.point-midashi {
		font-size: 1.3rem;
		left: 35%;
		top: 10%;
	}
	.point-circle-lg {
		width: 80px;
		height: 80px;
	}
	.point-text {
		font-size: 1.2rem;
		line-height: 140%;
	}
	.display-4 {
		font-size: 8vw;
		left: auto;
		bottom: 5vh;
	}
}



