@charset "utf-8";

/*----------------------------------------------------
 共通
 ----------------------------------------------------*/

body#service #main p,
body#service #main h4,
body#service #main h5,
body#service #main span,
body#service #main ul li,
body#service #main a {
	font-weight: 600;
	letter-spacing: 1px;
}

body#service #bread_List {
	background: transparent;
	position: absolute;
	top: 40px;
	left: 50%;
	transform: translateX(-50%);
}

body#service #bread_List a {
	color: #fff;
}

body#service #bread_List a::after {
	color: #fff;
}

body#service #main {
	margin-top: 160px;
}


.orange {
	color: #ee7800;
}

.blue {
	color: #0073bd;
}

.green {
	color: #45b035;
}

.white {
	color: #fff;
}

.txt {
	font-size: 22px;
	line-height: 1.8;
}

.cap_txt {
	position: absolute;
	bottom: 5px;
	font-size: 10px;
	line-height: 1;
	z-index: 1;
  }
  
  .cap_R {
	right: 5px;
  }
  
  .cap_W {
	color: #fff;
  }
  
  .cap_B {
	color: #222;
  }

.attention {
	margin-top: 30px;
}

.attention li {
	font-size: 14px;
	font-weight: 500 !important;
	line-height: 1.3;
}

.attention li:nth-of-type(n+2) {
	margin-top: 5px;
}

sup {
	font-size: 0.6em;
	vertical-align: super;
}

.arrow {
	display: block;
	width: 60px;
	margin: 0 auto;
}

.space {
	display: block;
	padding-top: 1em;
}

.text-box {
	width: 90%;
	max-width: 1000px;
	border: 5px solid #ee7800;
	border-radius: 50px;
	padding: 30px 0;
	margin: 0 auto;
	position: relative;
}

.text-box::before,
.text-box::after {
	content: "";
	display: block;
	width: 20px;
	height: 5px;
	background: #fff;
	position: absolute;
}

.text-box::before {
	top: -5px;
	left: 8%;
}

.text-box::after {
	bottom: -5px;
	right: 8%;
}

.text-box p {
	font-size: 38px;
	/* font-weight: 600; */
	line-height: 1.8;
	text-align: center;
}

.copy {
	width: 90%;
	text-align: center;
	margin: 0 auto;
}

.white-box {
	background: #fff;
	border: 5px solid #0073bd;
	border-radius: 20px;
	padding: 30px 30px;
	position: relative;
	top: -12px;
	z-index: 10;
}

.gray-box {
	background: #ebebec;
	padding: 30px 30px;
	margin-top: 40px;
}

.gray-b-box {
	width: 90%;
	max-width: 1000px;
	background: #ebebec;
	border-radius: 30px;
	padding: 30px 30px;
	margin: 0 auto;
}

.for-box {
	background: #e5f1f8;
	margin: 100px auto 0;
}

.for-box .inner {
	width: 90%;
	max-width: 1000px;
	padding: 40px 0;
	margin: 0 auto;
}

.for-box h5 {
	font-size: 26px;
	/* font-weight: 600; */
	color: #0073bd;
	background: #fff;
	border-top: 5px solid #0073bd;
	border-bottom: 5px solid #0073bd;
	text-align: center;
	padding: 10px 0;
	position: relative;
}

.for-box h5::after {
	content: "";
	position: absolute;
	bottom: -27px;
	left: 50%;
	transform: translateX(-50%);
	border: 12px solid transparent;
	border-top: 13px solid #0073bd;
}

.for-box h5 .small {
	font-size: 0.7em;
	color: #231815;
}

.border-item {
	margin: 60px auto 0;
}

.border-item .detail-ttl {
	display: inline-block;
	font-size: 30px;
	letter-spacing: 2px !important;
	/* font-weight: 600; */
	color: #fff;
	border-radius: 44px 44px 10px 10px;
	background: #0073bd;
	padding: 20px 50px 30px 50px;
	position: relative;
	z-index: 0;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.border-item .trouble-list li {
	font-size: 26px;
	/* font-weight: 600; */
	line-height: 1.5;
	text-indent: -1.4em;
	padding-left: 1em;
	position: relative;
}

.border-item .trouble-list li:nth-of-type(n+2) {
	margin-top: 10px;
}

.border-item .trouble-list li::before {
	content: "";
	display: inline-block;
	background-image: url(../img/s-common/icon-check.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 24px;
	height: 22px;
	margin-right: 10px;
}

[class$="-inner"] .text-box{
	display: inline-block;
	width: auto;
	max-width: initial;
	padding: 30px 30px;
	margin: 120px auto 40px;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
  }

  [class$="-inner"] .text-box::before {
	left: 18%;
  }

  [class$="-inner"] .text-box::after {
	right: 18%;
  }

.page-ttl {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	padding: 16% 0;
	position: relative;
}

.page-ttl h3 {
	width: 90%;
	max-width: 560px;
	/* font-size: 44px; */
	/* font-size: min(3.1428571428571432vw, 44px); */
	font-size: 4.5vw;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 2px;
	color: #fff;
}

.page-ttl h3 img {
	width: 60%;
    mix-blend-mode: multiply;
    position: absolute;
    bottom: -70px;
    left: 0;
}

.page-ttl h3 span.ttl {
	letter-spacing: 6px!important;
	position: absolute;
	bottom: -32px;
	left: 70px;
}

.page-ttl h3 .small {
	display: block;
	font-size: 0.6em;
}

/*News*/
.news_area {
	width: 1000px;
	max-width: 90%;
	padding: 100px 0;
	margin: 0 auto;
}

.news_area .news-ttl {
	font-size: 30px;
	color: #0073bd;
	text-align: center;
	margin-bottom: 40px;
}

.news_area ul {
	border-top: 1px solid #b5b5b6;
	border-bottom: 1px solid #b5b5b6;
}

.news_area ul li {
	width: 100%;
	font-weight: normal!important;
	border-bottom: 1px solid #b5b5b6;
	padding: 15px 0;
}

.news_area ul li p {
	font-weight: normal!important;
}

.news_area ul li a {
	font-weight: normal!important;
	color: #000;
}

.news_area ul li:last-child {
	border-bottom: none;
}

.news_area ul li dl {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	/* padding-right: 40px; */
	text-align: left;
	font-size: 14px;
}

.news_area ul li dl dt {
	margin-right: 15px;
	padding: 4px 15px 4px 0;
	display: flex;
	align-items: center;
}

.news_area ul li dl dt p {
	color: #fff;
	padding: 5px 10px;
	min-width: 110px;
	margin-right: 10px;
	text-align: center;
}

.news_area ul li dl dd {
	line-height: 1.5;
}


.news_area ul li.n_energie dl dt {
	border-right: 1px solid #b5b5b6;
}

.news_area ul li.n_energie dl dt p {
	display: block;
    min-width: 200px;
    font-size: 14px;
    font-weight: 600!important;
    color: #fff;
    letter-spacing: 0.5px;
    text-align: center;
    background: #37bd58;
    border-radius: 4px;
    padding: 8px 10px;
    margin-right: 20px;
}


.news_area ul li.doc {
	background: url(../img/s-common/ic_doc.png) no-repeat;
	background-size: 20px;
	background-position: right 10px center;
}

.news_area ul li.pdf {
	background: url(../img/s-common/ic_pdf.png) no-repeat;
	background-size: 20px;
	background-position: right 10px center;
}

.news_area ul li a {
	display: block;
    font-size: 14px;
    color: #000;
    line-height: 1.4;
    text-align: left;
    text-decoration: none;
    background: url(../img//s-common/ic_arrow.png) no-repeat;
    background-size: 10px;
    background-position: right 25px center;
    padding-right: 50px;
}

.news_link {
	display: block;
	color: #036eb8;
	font-size: 18px;
	margin: 20px auto 0;
}

.news_link span {
	border-bottom: 1px solid #036eb8;
	padding-bottom: 5px;
}


.contact-box {
	text-align: center;
	background: #0073bd;
	padding: 50px 0;
}

.contact-box .contact-ttl {
	font-size: 24px;
	color: #fff;
	text-align: center;
}

.contact-box .contact-link {
	display: inline-block;
	font-size: 24px;
	color: rgb(0, 115, 189);
	background: #fff;
	border-radius: 30px;
	box-shadow: 3px 5px 0px 0px rgb(7, 90, 142);
	padding: 20px 60px 20px 40px;
	margin-top: 20px;
	position: relative;
	transition: all .5s;
}

.contact-box .contact-link:hover {
	opacity: 0.7;
}

.contact-box .contact-link::before {
	content: '';
	width: 30px;
	height: 30px;
	background: #0073bd;
	border-radius: 50%;
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	margin: auto;
}

.contact-box .contact-link::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	margin: auto;
}

.tab-sp {
	display: none;
}

.pc-only {
	display: block;
}

@media screen and (max-width: 1300px) {

	body#service #bread_List {
		top: 20px;
	}
}

/* タブレット */
@media screen and (max-width: 1180px) {
	body#service #bread_List {
		width: 90%;
		margin: 0 auto;
		top: 0;
	}

	.txt {
		font-size: 18px;
	}

	.text-box p {
		font-size: 26px;
	}

	.border-item .detail-ttl {
		font-size: 24px;
		padding: 15px 50px 24px 50px;
	}

	.border-item .trouble-list li {
		font-size: 18px;
	}

	.border-item .trouble-list li {
		text-indent: -2em;
		padding-left: 1.5em;
	}

	.border-item .trouble-list li::before {
		width: 18px;
		height: 16px;
	}

	.for-box h5 {
		font-size: 20px;
	}

	.tab-sp {
		display: block;
	}

	.pc-only {
		display: none;
	}

}

@media screen and (max-width: 1024px) {

	body#service #main {
		margin-top: 140px;
	}

	.page-ttl h3 span.ttl {
		bottom: -48px;
	}

}

/* スマホ */
@media screen and (max-width: 767px) {
	body#service #main {
        margin-top: 70px;
    }
	body#service #bread_List {
		top: 0;
	}

	/* 共通 */
	.txt {
		font-size: 14px;
	}

	.attention {
		margin-top: 10px;
	}

	.attention li {
		font-size: 12px;
	}

	.arrow {
		width: 30px;
	}

	.text-box {
		padding: 14px 0;
	}

	.text-box p {
		font-size: 17px;
	}

	.text-box::before {
		left: 18%;
	}

	.text-box::after {
		right: 18%;
	}

	.white-box {
		padding: 20px 20px;
	}

	.gray-box {
		padding: 20px 20px;
		margin-top: 20px;
	}

	.for-box {
		margin: 60px auto 0;
	}

	.for-box .inner {
		padding: 60px 0;
	}

	.for-box h5 {
		font-size: 20px;
	}


	.border-item {
		margin: 30px auto 0;
	}

	.border-item .detail-ttl {
		font-size: 18px;
	}

	.border-item .trouble-list li {
		font-size: 16px;
		text-indent: -1.5em;
	}

	.border-item .trouble-list li::before {
		margin-right: 5px;
	}

	.page-ttl {
		padding: 28% 0;
	}

	.page-ttl h3 {
		font-size: 28px;
	}

	.page-ttl h3 span.ttl {
		line-height: 1.4;
		letter-spacing: 1px!important;
		left: 20px;
		bottom: -37px;
	}

	.page-ttl h3 img {
		width: 90%;
		bottom: -50px;
	}

	[class$="-inner"] .text-box {
		margin: 100px auto 40px;
	}

	[class$="-inner"] .text-box {
		width: 90%;
		padding: 14px 0;
	}

	.news_area {
		padding: 50px 0;
	}

	.news_area .news-ttl {
		font-size: 24px;
		margin-bottom: 20px;
	}

	.news_area ul li dl {
		flex-wrap: wrap;
	}

	.news_area ul li dl dt {
		width: 100%;
		padding: 4px 15px 8px 0;
		margin-bottom: 5px;
		margin-right: 5px;
		
	}

	.news_area ul li.n_energie dl dt {
		border-right: none;
		border-bottom: 2px solid #25841d;
	}

	.contact-box .contact-ttl {
		font-size: 16px;
	}

	.contact-box .contact-link {
		font-size: 16px;
	}

	.sp-none {
		display: none !important;
	}


}