@charset "utf-8";

/* ===================================================== */
/* common */
/* ===================================================== */
body {
  font-family: -apple-system, blinkMacSystemFont, /* Macの欧文はSan Francisco (OS X 10.11以降) */
	       'Helvetica Neue', /* Macの欧文 (OS X 10.10以前) */
	       'Segoe UI',       /* Windowsの欧文 */
	       YuGothicM,        /* Windows8.1以上は游ゴシック */
	       YuGothic,         /* Macの游ゴシック */
	       Meiryo,           /* 游ゴシックが入っていないWindows */
	       sans-serif;
}

/* Windows */
@font-face {
	font-family: YuGothicM;
	font-weight: normal;
		src: local('YuGothic-Medium'),  /* Mediumを明示的に指定 */
		local('Yu Gothic Medium'), /* Chrome用 */
		local('YuGothic-Regular'); /* Windows8.1ではMediumがないのでRegularを指定 */
}
@font-face {
	font-family: YuGothicM;
	font-weight: bold;
		src: local('YoGothic-Bold'), /* Boldはそのまま */
		local('Yu Gothic');     /* Chrome用 */
}
.container {
	max-width:1280px;
}

a {
	color:black;
}

a:hover {
	color:#087D28;
	text-decoration:none;
	transition:0.5s;
}

ul {
	list-style-type:none;
	padding-inline-start:0;
}

p {
	font-size:16px;
	color:#707070;
}

h2 {
	font-weight:normal;
	font-size:27px;
}
@media (max-width:991px) { 
	h2 {
		font-size:22px;
	}
}

h6 {
	font-weight:normal;
	font-size:20px;
}
@media (max-width:991px) { 
	h6 {
		font-size:18px;
	}
}


.bg-gray {
	background-color:#F3F3F3;
}
.txt-green {
	color:#087D28;
}

.btn-a {
	font-size:20px;
	color:white;
	background-color:#5EA272;
	text-align:center;
	padding:15px 30px;
	border:1px solid #707070;
}
@media (max-width:991px) { 
	.btn-a {
		font-size:18px;
	}
}


.btn-a:hover {
	opacity:0.8;
	transition:0.5s;
	text-decoration:none;
	cursor:pointer;
	color:white;
}
.btn-a.--2 {
	background-color: #5faab9;
}

/* HEADER */
.nav-link {
	outline:none;
}

.navbar .dropdown-toggle::after {
	display:none;
}
.navbar .navbar-brand img {
	max-width:300px;
}
@media (max-width:991px) { 
	.navbar .navbar-brand,
	.navbar .navbar-brand img {
		max-width:70%;
	}
}
.navbar a.nav-link,
.navbar a.dropdown-item {
	font-size:16px;
}
@media (max-width:1100px) { 
	.navbar a.nav-link,
	.navbar a.dropdown-item {
		font-size:14px;
	}
}
.top-main {
	margin-top:-100px;
}

@media (max-width:991px) { 
	.top-main {
		margin-top:0;
	}
}
/* FOOTER */
.footer-contact {
	background-image:url(../img/footer-bg.png);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
}

.footer-contact .container{
	max-width:600px;
}

.footer-contact .tel-box{
	max-width:300px;
	margin:0 auto;
}

.footer-contact .number{
	font-size:28px;
	color:black;
}

@media (max-width:991px) { 
	.footer-contact .number{
		font-size:24px;
	}
}
.footer-logo {
	max-width:350px;
}


/* TOP */
body#top .standard .box {
	max-width:50%;
	margin:0 auto;
}

body#top .news-list {
	max-height: 320px;
	overflow-y: scroll;
}
body#top .news-list li {
	border-bottom:1px dotted gray;
	font-size:20px;
}
@media (max-width:991px) { 
	body#top .news-list li {
		font-size:16px;
	}
	body#top .news-list li span {
		display:block;
	}
}

body#top ul.links-list,
body#company ul.links-list {
	list-style-type:disc;
}
body#top .links-list li ,
body#company .links-list li {
	display:inline-block;
}
body#top .about-text {
	font-size: 20px;
	line-height: 2em;
}
@media (max-width:767px) {
	body#top .about-text {
		font-size: 16px;
		line-height: 1.8em;
	}	
}

body#top .topics {
	padding-top: 30px;
	padding-bottom: 30px;
}
body#top .topics .ttl {
	font-size: 20px;
	color: red;
	text-align: center;
}
@media (max-width:767px) {
	body#top .topics .ttl {
		font-size: 16px;
	}
}
body#top .topics .ttl-sub {
	font-size: 14px;
	text-align: center;
}
@media (max-width:767px) {
	body#top .topics .ttl-sub {
		font-size: 12px;
	}
}
body#top .topics .topics-box {
	max-width: 700px;
	margin: 0 auto;
	border: 1px solid #d7d7d7;
	padding: 20px 20px 10px;
}
body#top .topics .topics-box p {
	font-size: 14px;
}
@media (max-width:767px) {
	body#top .topics .topics-box p {
		font-size: 12px;
	}
}

/* BUSINESS*/
body#business h2 {
	border-bottom:1px solid black;
	max-width:450px;
}

body#business h2#business-1::before {
	content: url(../img/business-1-ico.png);
	display: inline-block;
	vertical-align: middle;
}
body#business h2#business-2::before {
	content: url(../img/business-2-ico.png);
	display: inline-block;
	vertical-align: middle;
}
body#business h2#business-4::before {
	content: url(../img/business-4-ico.png);
	display: inline-block;
	vertical-align: middle;
}

body#business h2#business-5::before {
	content: url(../img/business-5-ico.png);
	display: inline-block;
	vertical-align: middle;
}

body#business h2#business-7::before {
	content: url(../img/business-7-ico.png);
	display: inline-block;
	vertical-align: middle;
	padding-right: 18px;
}

body#business h4 {
	display:inline-block;
	font-size:21px;
}

body#business h4 hr {
	margin:0.5em 0;
}


body#business dl dt,
body#business dl dd {
	display:inline-block;
	font-weight:normal;
}
body#business dl dd {
	margin-left:30px;
}

body#business .table-wrap {
	overflow-x:auto;

}
body#business .detail p span {
	width:150px;
	display:inline-block;
}

body#business table {
	border-collapse:collapse;
}
body#business table th, 
body#business table td {
	font-weight:normal;
	border:1px solid black;
	padding:15px 30px;
}
body#business table.safety td {
	width:30%;
}
@media (max-width:991px) { 
	body#business table.safety td {
		width:40%;
	}
}


body#business .service,
body#company .service {	/* add 2020/12/21 サービスの項目 5→4つになったためサイズ調整*/
	max-width: 1080px;
}

body#business .service h3,
body#company .service h3 {
	border-bottom:1px dotted black;
	padding-bottom:15px;
	margin-bottom:15px;
}

body#business .service .clear,
body#company .service .clear {
	clear:both;
}
@media (max-width:991px) { 
	body#business .service .service-list div ,
	body#company .service .service-list div {
		width:50%;
		float:left;
	}
}
body#business .service .service-list a,
body#company .service .service-list a {
	display:inline-block;
	position:relative;
	background-color:black;
}

body#business .service .service-list a:hover img ,
body#company .service .service-list a:hover img {
	opacity:0.5;
	transition:0.3s;
}

body#business .service .service-list a p,
body#company .service .service-list a p {
	display:none;
	font-size:16px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	margin: auto;
	color:white;
	width:100%;
}

body#business .service .service-list a:hover p,
body#company .service .service-list a:hover p {
	display:block;
}

body#business .service .service-list .in-preparation a:hover,
body#company .service .service-list .in-preparation a:hover  {
	cursor:default;
}

@media (max-width:991px) { 
	body#business .service .service-list a img,
	body#company .service .service-list a img {
		opacity:0.5;
		transition:0.3s;
	}

	body#business .service .service-list a p,
	body#company .service .service-list a p {
		display:block;
	}
}

body#business .btn-a {
	width:30%;
}
@media (max-width:991px) { 
	body#business .btn-a {
		width:100%;
	}
}
body#business .movie-wrap {
	width: 100%;
	height: 0;
	position: relative;
	padding-top: 56.25%;
	overflow: hidden;
}
body#business .movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

body#business .it-content .img {
	width:8%;
	vertical-align:top;
}
body#business .it-content .txt {
	width:90%;
}
body#business .it-content .btn-a {
	font-size:14px;
	color:white;
}
@media (max-width:991px) { 
	body#business .it-content h5 {
		font-size:16px;
	}
}
body#business .item-name {
	font-size: 22px;
	margin-bottom: 5px;
}

/* add 2023/08 事業紹介 建物解体ページ追加 */
body#business.kaitai h2.main-title {
	max-width:200px;
	border-bottom: none;
}
body#business.kaitai hr {
	border-top: 1px solid black;
}
body#business.kaitai h3 {
	border-bottom: 1px solid black;
	padding-bottom: 1rem;
	text-indent: -1rem;
	padding: 0.5rem 1.5rem;
	color: #707070;
	font-size: 21px;
	font-weight: 400;
}
@media (max-width:767px) {
	body#business.kaitai h3{
		display: block;
		font-size: 16px;
		line-height: 1.6;
		padding-right: 0;
		padding-left: 0;
		text-indent: 0;
	}
}
body#business.kaitai .kaitai-sec-top .inner{
	max-width: 1100px;
}
@media (max-width:767px) {
	body#business.kaitai .kaitai-sec-top .kaitai-txt p {
		text-indent: -1rem;
		padding-left: 1rem;
	}
}
body#business.kaitai .sec-works h2 {
	border: none;
}
@media (max-width:767px) {	
	body#business.kaitai .slick-slider {
		margin-left: -56px; /*スライダー左を隠して2枚表示*/
	}
}
body#business.kaitai .slider-item{
	margin: 0 25px;
}
@media (max-width:767px) {
	body#business.kaitai .slider-item{
		margin: 0 10px;
	}
}
body#business.kaitai .slick-dots {
	bottom: -35px;
}
@media (max-width:767px) {
	body#business.kaitai .slick-dots {
		padding-left: 66px; /* マイナスmargin+スライダーの余白（10px） */
	}
}
body#business.kaitai .slick-dots li button:before {
	font-size: 12px;
}


/* CONTACT */
body#contact .number {
	font-size:30px;
	color:black;
}
@media (max-width:991px) { 
	body#contact .number {
		font-size:25px;
	}
}


body#contact .form-wrap {
	max-width:600px;
}
body#contact form label {
	margin-right:20px;
	font-size:20px;
}
@media (max-width:991px) { 
	body#contact form label {
		font-size:18px;
	}
}

body#contact form input[type="text"],
body#contact form input[type="email"] {

	width:100%;
}
body#contact form textarea {
	width:100%;
	min-height:200px;
}
body#contact form input[name="postal_code"],
body#contact form input[name="tel"],
body#contact form input[name="email"] {
	max-width:300px;
}
body#contact dt {
	font-weight:normal;
	font-size:20px;
}

@media (max-width:991px) { 
	body#contact dt {
		font-size:18px;
	}
}

body#contact dt.require span {
	color:#ae272d;
	font-weight:bold;
}
body#contact .err{
	color:#ae272d;
}

/* CONTACT */
body#policy dl dt {
	border-bottom:1px solid black;
	margin-bottom:10px;
}
body#policy dl dd {
	margin-bottom:20px;
}


/* COMPANY */
body#company h2.main-title {
	max-width:200px;
}
body#company .gaiyou-table p {
	display:inline-block;
	padding:10px;
	margin:0;
	vertical-align:top;
}

body#company .gaiyou-table p.title {
	width:300px;
}
body#company .gaiyou-table p.business {
	width:300px;
}
body#company .gaiyou-table .chara {
	display:inline-block;
}

body#company .gaiyou-table .chara p {
	display:block;
}
body#company .bg-green {
	background-color:#C5EFC6;
	box-shadow:3px 3px 5px 3px #efefef;
	border-radius:15px;
}
@media (max-width:991px) { 
	body#company .gaiyou-table p,
	body#company .gaiyou-table p.title {
		display:block;
		width:100%;
	}
	body#company .bg-green {
		background-color:transparent;
		border-radius:0;
		box-shadow:none;
	}
	body#company .gaiyou-table p.title {
		background-color:#C5EFC6;
		box-shadow:3px 3px 5px 3px #efefef;
		border-radius:15px;
		box-shadow:
	}
	body#company .gaiyou-table .chara {
		display:block;
	}
}
body#company .map {
	position: relative;
	padding-top: 30px;
	overflow: hidden;
	height: 600px;
}
body#company .map iframe,
body#company .map object,
body#company .map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 600px;
}
body#company .btn-a {
	width:30%;
}
@media (max-width:991px) { 
	body#company .btn-a {
		width:100%;
	}
}

/* 各種商品販売 */
body#business .thumb img {
	max-width:100px;
}

body#titania .video-wrap {
	width: 100%;/*背景色を横幅いっぱいに広げる*/
	text-align: center;
	margin: auto;
}
body#titania .video-wrap video {
	width: 100%;
	cursor: pointer;
	position: static;
	top:unset;
	left: unset;
	background: none;
	z-index: 1;
}

/* 発展途上国への支援 */
body#support .inner {
	max-width: 1000px;
	margin: 0 auto;
}