@charset "utf-8";
/* business_add */
#business .body {
	width: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	line-height: 36px;
	letter-spacing: 0.05em;
	font-weight: normal;
}

#business .fnt-montserrat {
	font-family: 'Montserrat', sans-serif;
}

#business .wrap {
	width: 1000px;
	margin: auto;
}

#business .keyvisual {
	background-image: url(../img/business/keyvisual.jpg);
}

#business .breadcrumb {
	padding-bottom: 25px;
}

#business .fl {
	float: left;
}

#business .fr {
	float: right;
}

#business .pc {
	display: block;
}

#business .sp {
	display: none;
}

#business .photo {
	line-height: 0;
	margin-bottom: 43px;
	text-align: center;
}

#business h2 {
	font-size: 40px;
	line-height: 41px;
	letter-spacing: 0.05em;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
}

#business h3 {
	font-size: 30px;
	line-height: 41px;
	letter-spacing: 0.05em;
	font-weight: bold;
	text-align: center;
	margin-bottom: 38px;
}

#business .txt {
	margin-bottom: 53px;
	width: 800px;
	margin-left: auto;
	margin-right: auto;
}

#business .txt p {
	margin-bottom: 21px;
}

#business .txt p:last-child {
	margin-bottom: 0;
}

#business .note {
	margin-bottom: 54px;
	text-align: center;
	font-size: 20px;
	line-height: 40px;
	letter-spacing: 0.05em;
}

#business .note p {
	margin-bottom: 19px;
}

#business .note p:last-child {
	margin-bottom: 0;
}

#business .btn-cus {
	font-size: 20px;
	line-height: 44px;
	letter-spacing: 0.05em;
	font-weight: bold;
	color: #00A500;
	display: inline-block;
	transition: all 0.2s linear 0.1s;
}

#business .btn-cus:hover {
	opacity: 0.8;
}

#business .btn-cus a {
	display: block;
	padding-left: 20px;
	color: #00A500;
	background: url("../img/common/arrow.svg") no-repeat left center;
}

#business section .btn-cus {
	font-size: 24px;
	line-height: 76px;
	display: block;
	border: 2px solid #00A500;
	width: 600px;
	margin: 0 auto;
	text-align: center;
}

#business section .btn-cus a {
	background: url("../img/common/arrow.svg") no-repeat left 40px center;
}

#business .group-bnr-hover {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 69px;
}

#business .group-bnr-hover li {
	width: 320px;
	color: #fff;
	font-size: 24px;
	line-height: 33px;
	letter-spacing: 0.05em;
	font-weight: bold;
	text-align: center;
	background: url("../img/business/business_bnr_01.jpg") no-repeat center center;
	background-size: cover;
	position: relative;
}

#business .group-bnr-hover li:before {
	position: absolute;
	content: "";
	background: rgba(0, 0, 0, 0.4);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 1;
	transition: all 0.2s linear 0.1s;
}

#business .group-bnr-hover li:hover:before {
	opacity: 0;
}

#business .group-bnr-hover li a {
	display: block;
	position: relative;
	z-index: 1;
	padding: 103px 0 105px 0;
	color: #fff;
}

#business .group-photo {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 800px;
	line-height: 0;
	margin-left: auto;
	margin-right: auto;
}

#business .group-photo li {
	margin-bottom: 40px;
}

#business .group-photo .w100 {
	width: 100%;
	text-align: center;
}

#business .group-photo .mb0 {
	margin-bottom: 0;
}

#business .group-other .other {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 1200px;
	line-height: 0;
	margin-left: auto;
	margin-right: auto;
}

#business .group-other .other .item {
	width: 580px;
}

#business .group-other .other .item .photo {
	margin-bottom: 21px;
}

#business .group-other .other .item h3 {
	font-size: 30px;
}

#business .group-other .other .item a {
	display: block;
	transition: all 0.2s linear 0.1s;
}

#business .group-other .other .item a:hover {
	opacity: 0.8;
}

#business .row {
	padding-bottom: 160px;
}

#business #sec1 h3 {
	font-size: 32px;
}

#business #sec1 .group-bnr-hover li:nth-child(2) {
	background: url("../img/business/business_bnr_02.jpg") no-repeat center center;
	background-size: cover;
}

#business #sec1 .group-bnr-hover li:nth-child(3) {
	background: url("../img/business/business_bnr_03.jpg") no-repeat center center;
	background-size: cover;
}

#business #sec2 .group-bnr-hover li:nth-child(1) {
	background: url("../img/business/business_bnr_04.jpg") no-repeat center center;
	background-size: cover;
}

#business #sec2 .group-bnr-hover li:nth-child(2) {
	background: url("../img/business/business_bnr_05.jpg") no-repeat center center;
	background-size: cover;
}

#business #sec2 .group-bnr-hover li:nth-child(3) {
	background: url("../img/business/business_bnr_06.jpg") no-repeat center center;
	background-size: cover;
}

#business #sec3 .group-bnr-hover li:nth-child(1) {
	background: url("../img/business/business_bnr_07.jpg") no-repeat center center;
	background-size: cover;
}

#business #sec3 .group-bnr-hover li:nth-child(2) {
	background: url("../img/business/business_bnr_08.jpg") no-repeat center center;
	background-size: cover;
}

#business #sec3 .group-bnr-hover li:nth-child(3) {
	background: url("../img/business/business_bnr_09.jpg") no-repeat center center;
	background-size: cover;
}

#business .employment {
	position: relative;
	padding-top: 52px;
	padding-bottom: 33px;
}

#business .employment .wrap {
	width: 1200px;
}

#business .employment ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
	width: 900px;
	line-height: 0;
}

#business .employment .text {
	padding-top: 49px;
	width: 300px;
}

#business .employment .text h2 {
	margin-bottom: 44px;
	line-height: 40px;
	text-align: left;
}

#business .employment .text .txt {
	margin-bottom: 47px;
	font-size: 24px;
	line-height: 48px;
	letter-spacing: 0.05em;
}

#business .group-bnr {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	margin-left: auto;
	margin-right: auto;
	margin-top: 87px;
	margin-bottom: 70px;
}

#business .group-bnr li {
	transition: all 0.2s linear 0.1s;
}

#business .group-bnr li:hover {
	opacity: 0.8;
}

.page-environment #business h2,
.page-environment#business h2 {
	margin-bottom: 40px;
}

.page-environment #business h3,
.page-environment#business h3 {
	font-size: 32px;
}

.page-environment #business .txt,
.page-environment#business .txt {
	margin-bottom: 56px;
}

.page-environment #business .txt p
.page-environment#business .txt p {
	margin-bottom: 30px;
}

.page-environment #business section .btn-cus a,
.page-environment#business section .btn-cus a {
	background: url("../img/common/arrow.svg") no-repeat left 58px center;
}

.page-environment #business .note,
.page-environment#business .note {
	margin-bottom: 60px;
}

.page-environment #business .row,
.page-environment#business .row {
	padding-bottom: 160px;
}

.page-environment #business .btn-cus,
.page-environment#business .btn-cus {
	margin-bottom: 120px;
}
.page-environment #business .btn-cus.plaroad-btn,
.page-environment#business .btn-cus.plaroad-btn {
	margin-bottom: 0;
}

.page-environment #business .employment,
.page-environment#business .employment {
	padding-top: 79px;
}

.page-civil #business h2,
.page-civil#business h2 {
	margin-bottom: 40px;
}

.page-civil #business h3,
.page-civil#business h3 {
	font-size: 32px;
}

.page-civil #business .txt,
.page-civil#business .txt {
	margin-bottom: 56px;
}

.page-civil #business .txt p,
.page-civil#business .txt p {
	margin-bottom: 30px;
}

.page-civil #business section .btn-cus a,
.page-civil#business section .btn-cus a {
	background: url("../img/common/arrow.svg") no-repeat left 58px center;
}

.page-civil #business .note,
.page-civil#business .note {
	margin-bottom: 60px;
}

.page-civil #business .row,
.page-civil#business .row {
	padding-bottom: 160px;
}

.page-civil #business .btn-cus,
.page-civil#business .btn-cus {
	margin-bottom: 120px;
}

.page-civil #business .employment,
.page-civil#business .employment {
	padding-top: 80px;
}

.page-electric-power #business h2,
.page-electric-power#business h2 {
	margin-bottom: 40px;
}

.page-electric-power #business h3,
.page-electric-power#business h3 {
	font-size: 32px;
}

.page-electric-power #business .txt,
.page-electric-power#business .txt {
	margin-bottom: 56px;
}

.page-electric-power #business section .btn-cus a,
.page-electric-power#business section .btn-cus a {
	background: url("../img/common/arrow.svg") no-repeat left 58px center;
}

.page-electric-power #business .note,
.page-electric-power#business .note {
	margin-bottom: 60px;
}

.page-electric-power #business .row,
.page-electric-power#business .row {
	padding-bottom: 160px;
}

.page-electric-power #business .btn-cus,
.page-electric-power#business .btn-cus {
	margin-bottom: 120px;
}

.page-electric-power #business .employment,
.page-electric-power#business .employment {
	padding-top: 80px;
}

@media only screen and (min-width: 1320px) {
	#business #bus-banner .wrap {
	width: 1280px;
	}
}


/* 202403 */
#business .group-other .other .item a {
	display: flex;
	flex-direction: column;
	align-items: center;
}
#business .group-other .other .item a .h3 {
	font-size: 30px;
	line-height: 41px;
	letter-spacing: 0.05em;
	font-weight: bold;
	text-align: center;
	margin-bottom: 38px;
}
.page-electric-power #business .txt p,
.page-electric-power#business .txt p {
	margin-bottom: 30px;
}

/* business_sp_add */
@media all and (device-width: 768px) and (device-height: 1024px) and (orientation: portrait) {
#business .wrap {
	width: 100%;
	padding: 0 40px;
}

#business .group-other .other {
	width: calc(100% - 80px);
}

#business .group-other .other .item {
	width: 48%;
}

#business .group-other .other .item img {
	width: 100%;
	height: auto;
}

#business .employment .wrap {
	width: 100%;
}

#business .employment ul {
	width: calc(100% - 300px);
}

#business .employment ul li {
	width: 33.33%;
}

#business .employment ul li img {
	width: 100%;
	height: auto;
}
}

@media all and (device-width: 1024px) and (device-height: 768px) and (orientation: landscape) {
#business .wrap {
	width: 100%;
	padding: 0 40px;
}

#business .group-other .other {
	width: calc(100% - 80px);
}

#business .group-other .other .item {
	width: 48%;
}

#business .group-other .other .item img {
	width: 100%;
	height: auto;
}

#business .employment .wrap {
	width: 100%;
}

#business .employment ul {
	width: calc(100% - 300px);
}

#business .employment ul li {
	width: 33.33%;
}

#business .employment ul li img {
	width: 100%;
	height: auto;
}
}

@media screen and (max-width: 1300px) {
#business .wrap {
	width: 100%;
	padding: 0 40px;
}

#business .group-other .other {
	width: calc(100% - 80px);
}

#business .group-other .other .item {
	width: 48%;
}

#business .group-other .other .item img {
	width: 100%;
	height: auto;
}

#business .employment .wrap {
	width: 100%;
}

#business .employment ul {
	width: calc(100% - 300px);
}

#business .employment ul li {
	width: 33.33%;
}

#business .employment ul li img {
	width: 100%;
	height: auto;
}
}

@media all and (max-width: 767px) {
#business .body {
	width: 100%;
	font-size: 14px;
	line-height: 30px;
	padding: 15px 0 60px;
	margin: 0;
}

#business .body img {
	width: 100%;
	height: auto;
}

#business .wrap {
	width: 100%;
	padding: 0 15px;
}

#business .breadcrumb {
	padding-bottom: 20px;
}

#business .fl {
	float: none;
}

#business .fr {
	float: none;
}

#business .pc {
	display: none;
}

#business .sp {
	display: block;
}

#business .photo {
	line-height: 0;
	margin-bottom: 30px;
}

#business h2 {
	font-size: 22px;
	line-height: 24px;
	margin-bottom: 20px;
}

#business h3 {
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 24px;
}

#business .txt {
	margin-bottom: 30px;
	width: 100%;
}

#business .txt p {
	margin-bottom: 15px;
}

#business .note {
	margin-bottom: 30px;
	font-size: 16px;
	line-height: 30px;
}

#business .note p {
	margin-bottom: 15px;
}

#business .btn-cus {
	font-size: 16px;
	line-height: 20px;
	text-align: center;
	display: block;
}

#business .btn-cus a {
	display: inline-block;
	padding-left: 20px;
	color: #00A500;
	background: url("../img/common/arrow.svg") no-repeat left center;
}

#business section .btn-cus {
	font-size: 16px;
	line-height: 50px;
	width: 100%;
}

#business section .btn-cus a {
	display: block;
	padding-left: 0px;
	color: #00A500;
	background: url("../img/common/arrow.svg") no-repeat left 20px center;
}

#business .group-bnr-hover {
	flex-wrap: wrap;
	max-width: 100%;
	margin-bottom: 30px;
}

#business .group-bnr-hover li {
	width: 100%;
	color: #fff;
	font-size: 18px;
	line-height: 30px;
	margin-bottom: 10px;
}

#business .group-bnr-hover li a {
	padding: 20vw 0;
}

#business .group-bnr-hover li:last-child {
	margin-bottom: 0;
}

#business .group-photo {
	width: 100%;
}

#business .group-photo li {
	margin-bottom: 15px;
	width: 48%;
}

#business .group-photo .w100 img {
	width: 48%;
}

#business .group-other {
	padding-bottom: 60px;
}

#business .group-other .other {
	width: 100%;
}

#business .group-other .other .item {
	width: 100%;
	margin-bottom: 30px;
}

#business .group-other .other .item .photo {
	margin-bottom: 20px;
}

#business .group-other .other .item h3 {
	font-size: 18px;
}

#business .group-other .other .item:last-child {
	margin-bottom: 0;
}

#business .row {
	padding-bottom: 80px;
}

#business #sec1 h3 {
	font-size: 20px;
}

#business .employment {
	position: relative;
}

#business .employment .wrap {
	width: 100%;
}

#business .employment ul {
	width: 100%;
}

#business .employment ul li {
	width: 33.33%;
}

#business .employment .text {
	padding-top: 40px;
	width: 100%;
}

#business .employment .text h2 {
	margin-bottom: 30px;
	line-height: 24px;
	text-align: center;
}

#business .employment .text .txt {
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 30px;
	text-align: center;
}

#business .group-bnr {
	max-width: 100%;
	margin-top: 0px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

#business .group-bnr li {
	margin: 0 0 20px 0;
	width: 100%;
	line-height: 0;
}

#business .group-bnr li:last-child {
	width: 100%;
	text-align: center;
}

#business .group-bnr li:last-child img {
	width: 100%;
}

.page-environment #business h2,
.page-environment#business h2 {
	margin-bottom: 30px;
}

.page-environment #business h3,
.page-environment#business h3 {
	font-size: 20px;
}

.page-environment #business .txt,
.page-environment#business .txt {
	margin-bottom: 30px;
}

.page-environment #business .txt p,
.page-environment#business .txt p {
	margin-bottom: 15px;
}

.page-environment #business section .btn-cus a,
.page-environment#business section .btn-cus a {
	background: url("../img/common/arrow.svg") no-repeat left 20px center;
}

.page-environment #business .note,
.page-environment#business .note {
	margin-bottom: 50px;
	font-size: 15px;
}

.page-environment #business .row,
.page-environment#business .row {
	padding-bottom: 80px;
}

.page-environment #business .btn-cus,
.page-environment#business .btn-cus {
	margin-bottom: 60px;
}

.page-environment #business .btn-cus.plaroad-btn,
.page-environment#business .btn-cus.plaroad-btn {
	margin-bottom: 0;
}

.page-environment #business .employment,
.page-environment#business .employment {
	padding-top: 0;
}

.page-civil #business h2,
.page-civil#business h2 {
	margin-bottom: 24px;
}

.page-civil #business h3,
.page-civil#business h3 {
	font-size: 20px;
}

.page-civil #business .txt,
.page-civil#business .txt {
	margin-bottom: 30px;
}

.page-civil #business .txt p,
.page-civil#business .txt p {
	margin-bottom: 15px;
}

.page-civil #business section .btn-cus a,
.page-civil#business section .btn-cus a {
	background: url("../img/common/arrow.svg") no-repeat left 20px center;
}

.page-civil #business .note,
.page-civil#business .note {
	margin-bottom: 50px;
}

.page-civil #business .row,
.page-civil#business .row {
	padding-bottom: 80px;
}

.page-civil #business .btn-cus,
.page-civil#business .btn-cus {
	margin-bottom: 60px;
}

.page-civil #business .employment,
.page-civil#business .employment {
	padding-top: 0;
}

.page-electric-power #business h2,
.page-electric-power#business h2 {
	margin-bottom: 30px;
}

.page-electric-power #business h3,
.page-electric-power#business h3 {
	font-size: 20px;
}

.page-electric-power #business .txt,
.page-electric-power#business .txt {
	margin-bottom: 30px;
}

.page-electric-power #business section .btn-cus a,
.page-electric-power#business section .btn-cus a {
	background: url("../img/common/arrow.svg") no-repeat left 20px center;
}

.page-electric-power #business .note,
.page-electric-power#business .note {
	margin-bottom: 50px;
	font-size: 15px;
}

.page-electric-power #business .row,
.page-electric-power#business .row {
	padding-bottom: 60px;
}

.page-electric-power #business .btn-cus,
.page-electric-power#business .btn-cus {
	margin-bottom: 60px;
}

.page-electric-power #business .employment,
.page-electric-power#business .employment {
	padding-top: 0;
}
}


/* 202403 */
@media all and (max-width: 767px) {
#business .group-other .other .item a .h3 {
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 24px;
	letter-spacing: 0.05em;
}
.page-electric-power #business .txt p {
	margin-bottom: 15px;
}
.page-environment #business .group-bnr,
.page-civil#business .group-bnr,
.page-electric-power#business .group-bnr {
	justify-content: center;
}
#business .group-other .other .item .photo {
	width: 100%;
}
}

/* company */
/*===== keyvisual =====*/
#company .keyvisual {
	background-image: url(../img/company/keyvisual.jpg);
}

/*===== MAIN =====*/
#company .body {
	padding: 19px 0 176px;
}
#company .main .headline03 {
	margin-bottom: 14px;
	font-size: 24px;
}
#company .main .headline03:before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 2px;
	margin: 0 9px 8px 0;
	background-color: #00A500;
}
#company .main .headline04 {
	margin: 30px 0 10px 0;
	font-size: 20px;
	color: #00A500;
}
#company .main article {
	margin: 40px 0 0 0;
}


/*===== message =====*/
#company .president_ph {
	float: right;
	width: 240px;
	height: 320px;
	margin: 0 0 30px 30px;
}
#company .main article p {
	padding: 0 0 25px 0;
	line-height: 2;
}
#company .president_name {
	float: right;
}


/*===== philosophy =====*/
#company .mission {
	margin: 40px 0 0 0;
}
#company .mission p {
	margin: 0;
	padding: 0 0 25px 0;
	font-size: 18px;
	font-weight: bold;
	line-height: 2;
	text-align: center;
}
#company .mission p.notice {
	font-size: 14px;
	font-weight: normal;
	line-height: 1.6;
}
#company ul.philosophy_list {
	margin: 0 0 40px 0;
	padding: 0;
	font-size: 16px;
	line-height: 2;
}
#company ul.philosophy_list li {
	margin: 0 0 0 20px;
	list-style-type: disc;
}
#company .main article p.motto {
	margin: 0;
	padding: 0 0 10px 0;
	font-size: 18px;
	font-weight: bold;
	line-height: 2;
	text-align: center;
}
#company .main article p.name {
	margin: 0;
	padding: 0 0 40px 0;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.6;
	text-align: center;
}

/*===== outline =====*/
#company .company-profile {
	padding: 18px 0 20px;
	line-height: 2;
}
#company .company-profile dt {
	float: left;
	padding: 16px 10px 0 0;
}
#company .company-profile dd {
	padding: 16px 0 15px 140px;
	border-bottom: 1px solid #ccc;
}
#company .company-profile a {
	color: #00A500;
}
#company .company-profile a:hover {
	opacity: .7;
}

/*===== history =====*/
#company .company-history {
	padding: 0 0 20px;
	line-height: 2;
}
#company .company-history dt {
	float: left;
	padding: 16px 10px 0 0;
}
#company .company-history dd {
	padding: 16px 0 15px 140px;
	border-bottom: 1px solid #ccc;
}


/*===== organization =====*/
#company .company-organization {
	padding: 0 0 20px;
	line-height: 2;
}
#company .company-organization dt {
	float: left;
	padding: 16px 10px 0 0;
}
#company .company-organization dd {
	padding: 16px 0 15px 140px;
	border-bottom: 1px solid #ccc;
}

#company .organization_img {
	max-width: 720px;
	width: 100%;
}
/*===== access =====*/
#company #gmap01,
#company #gmap02,
#company #gmap03 {
	width: 720px;
	height: 300px;
}

#company .google-map {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
}
#company .google-map > span,
#company .google-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* company_sp */
@media all and (max-width: 767px) {
/*===== MAIN =====*/

#company .body {
padding: 15px 0 60px;
}

#company .main .headline03 {
margin-bottom: 10px;
font-size: 20px;
}

#company .main .headline03:before {
width: 10px;
}

#company .main .headline04 {
margin: 20px 0 10px 0;
font-size: 18px;
}

#company .main article {
margin: 30px 0 0;
}

/*===== message =====*/
#company .president_ph {
float: none;
width: 240px;
height: 320px;
margin: 0 auto 30px;
display: block;
}

#company .main article p {
padding: 0 0 20px;
}

/*===== message =====*/
#company .mission p.notice br {
display: none;
}

/*===== outline =====*/
#company .company-profile {
padding-bottom: 15px;
overflow: hidden;
}

#company .company-profile dt {
float: left;
padding: 10px 0 10px 1px;
}

#company .company-profile dd {
padding: 10px 0 10px 90px;
min-height: 45px;
box-sizing: border-box;
}

/*===== history =====*/
#company .company-history {
padding-bottom: 15px;
overflow: hidden;
}

#company .company-history dt {
float: left;
padding: 10px 0 10px 1px;
}

#company .company-history dd {
padding: 10px 0 10px 110px;
min-height: 45px;
box-sizing: border-box;
}
}
/* contact */
/*===== keyvisual =====*/

#contact .keyvisual {
	background-image: url(../img/contact/keyvisual.jpg);
}
  
/*===== MAIN =====*/
#contact .body {
	width: 1000px;
	margin: 0 auto;
	padding: 20px 0 50px;
	font-size: 16px;
}
#contact .main {
	float: none;
	width: 800px;
	margin: 0 auto;
}
#contact .main .headline02 {
	padding-bottom: 8px;
	border-bottom: 2px solid #00A500;
}
#contact .main article {
	margin: 0;
	padding: 0 0 40px 0;
}
#contact .main article a:hover {
	opacity: 0.7;
}
#contact .main article p {
	margin: 30px 0 20px;
	padding: 0;
	line-height: 2;
	text-align: center;
}

#contact .main article.tel_contact {
	margin: 30px 0 60px 0;
	padding: 0;
}
#contact .main article.tel_contact h3 {
	margin: 0 0 15px 0;
	padding: 0;
	font-size: 24px;
	font-weight: bold;
	color: #00A500;
	text-align: center;
}
#contact .main article.tel_contact p {
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}
#contact .main article.tel_contact div {
	background-color: #E6F6E6;
	margin: 20px 0 0 0;
	padding: 20px 40px;
}
#contact .main article.tel_contact .tel_add {
	margin: 0 0 5px 0;
	padding: 0;
	font-size: 32px;
	font-weight: bold;
	color: #00A500;
	line-height: 1.5;
	text-align: center;
}
#contact .main article.tel_contact .tel_add a,
#contact .main article.tel_contact .tel_add a:hover {
	color: #00A500;
	opacity: 1;
}

#contact .form_table {
	width: 800px;
	margin: 30px 0 30px 0;
	padding: 0;
	border-top: 1px solid #ccc;
	border-collapse: collapse;
	font-size: 16px;
	line-height: 1.5;
}
#contact .form_table th {
	width: 250px;
	padding: 15px 10px;
	border-bottom: 1px solid #ccc;
	vertical-align: middle;
	text-align: right;
}
#contact .form_table td {
	padding: 15px 20px;
	border-bottom: 1px solid #ccc;
	vertical-align: middle;
	word-break: break-all;
}
#contact .form_table th span {
	color: #ff4a6f;
}
#contact .form_table td input[type="text"] {
	width: 500px;
	margin: 0;
	padding: 4px 6px;
	border: 1px solid #ccc;
}
#contact .form_table td select {
	width: 300px;
	margin: 0;
	padding: 4px 6px;
	border: 1px solid #ccc;
}
#contact .form_table td textarea {
	width: 500px;
	margin: 0;
	padding: 4px 6px;
	height: 160px;
	border: 1px solid #ccc;
}
#contact .error {
	margin: 0;
	padding: 10px 0 0 0;
	font-size: 16px;
	line-height: 1.5;
	color: #ff4a6f;
}
#contact .required_txt {
	margin: 0;
	padding: 0;
	color: #ff4a6f;
	text-align: center;
}
#contact .form_btn {
	margin: 0;
	padding: 0;
	text-align: center;
}
#contact .check_btn {
	width: 300px;
	height: 50px;
	margin: 0 auto;
	border: none;
	background: url(../img/contact/btn_check.png) no-repeat 0 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
#contact .check_btn:hover {
	cursor: pointer;
	filter: alpha(opacity=80); /* IE 6,7*/
	-ms-filter: "alpha(opacity=80)"; /* IE 8,9 */
	-moz-opacity:0.8; /* FF , Netscape */
	-khtml-opacity: 0.8; /* Safari 1.x */
	opacity:0.8;
}
#contact .error_txt {
	margin: 0;
	padding: 0 0 10px 0;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	color: #ff4a6f;
}
#contact .error_list {
	text-align: center;
	color: #ff4a6f;
}
#contact .error_list li {
	line-height: 2.0;
}



/*入力確認画面*/
#contact #form_confirm h3 {
	margin: 30px 0 20px 0;
	padding: 0;
	font-size: 24px;
	font-weight: bold;
	color: #00A500;
	text-align: center;
}
#contact #form_confirm p {
	margin: 0;
	padding: 0 0 20px 0;
	font-size: 16px;
	line-height: 2.0;
	text-align: center;
}
#contact #form_confirm .btn_box {
	width: 640px;
	margin: 0 auto;
	padding: 20px 0 60px;
	overflow: hidden;
}
#contact #form_confirm .btn_box .back_btn {
	float: left;
	width: 300px;
	height: 50px;
	margin: 0 10px;
	border: none;
	background: url(../img/contact/btn_back.png) no-repeat 0 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
#contact #form_confirm .btn_box .back_btn:hover {
	cursor: pointer;
	filter: alpha(opacity=80); /* IE 6,7*/
	-ms-filter: "alpha(opacity=80)"; /* IE 8,9 */
	-moz-opacity:0.8; /* FF , Netscape */
	-khtml-opacity: 0.8; /* Safari 1.x */
	opacity:0.8;
}
#contact #form_confirm .btn_box .send_btn {
	float: left;
	width: 300px;
	height: 50px;
	margin: 0 10px;
	border: none;
	background: url(../img/contact/btn_send.png) no-repeat 0 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
#contact #form_confirm .btn_box .send_btn:hover {
	cursor: pointer;
	filter: alpha(opacity=80); /* IE 6,7*/
	-ms-filter: "alpha(opacity=80)"; /* IE 8,9 */
	-moz-opacity:0.8; /* FF , Netscape */
	-khtml-opacity: 0.8; /* Safari 1.x */
	opacity:0.8;
}


/*送信完了画面*/
#contact #form_finish h3 {
	margin: 30px 0 20px 0;
	padding: 0;
	font-size: 24px;
	font-weight: bold;
	color: #00A500;
	text-align: center;
}
#contact #form_finish p {
	margin: 0;
	padding: 0 0 20px 0;
	font-size: 16px;
	line-height: 2.0;
	text-align: center;
}
#contact #form_finish .mail_add {
	margin: 0;
	padding: 30px 0 60px 0;
	font-size: 24px;
	line-height: 1.5;
	text-align: center;
}
#contact #form_finish .back_link_list {
	text-align: center;
	margin: 0;
	padding: 0;
}
#contact #form_finish .back_link_list li {
	display: inline-block;
	margin: 0 30px;
	padding: 0;
	font-size: 16px;
	line-height: 1.5;
}
#contact #form_finish .back_link_list li:before {
	content: "";
	display: inline-block;
	margin-right: 5px;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 5px solid #00A500;
}


/*エラー画面*/
#contact #form_error h3 {
	margin: 30px 0 20px 0;
	padding: 0;
	font-size: 24px;
	font-weight: bold;
	color: #ff4a6f;
	text-align: center;
}
#contact #form_error p {
	margin: 0;
	padding: 0 0 20px 0;
	font-size: 16px;
	line-height: 2.0;
	text-align: center;
}
#contact #form_error h4 {
	margin: 20px 0 10px 0;
	padding: 0;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
	color: #00A500;
	text-align: center;
}
#contact #form_error p.back_link {
	margin: 40px 0 0 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}
#contact #form_error p.back_link:before {
	content: "";
	display: inline-block;
	margin-right: 5px;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 5px solid #00A500;
}

/* 202403 */
#contact .wpcf7 form .wpcf7-response-output {
	display: none !important;
}
#contact .wpcf7 form .btn_box {
	position: relative;
}
#contact .wpcf7 form .btn_box .wpcf7-spinner {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	margin: 0;
}
/* contact_sp */
/*===== contact_sp =====*/
@media all and (max-width: 767px) {

	/*===== MAIN =====*/
	#contact .body {
	  width: auto;
	  margin: 0 15px;
	  font-size: 14px;
	}
  
	#contact .main {
	  float: none;
	  width: auto;
	  margin: 0;
	}
  
	#contact .main article {
	  padding: 0;
	}
  
	#contact .main article a:hover {
	  opacity: 1;
	}
  
	#contact .main article p {
	  margin: 20px 0 10px;
	}
  
	#contact .main article.tel_contact {
	  margin: 60px 0 20px 0;
	  padding: 0;
	}
  
	#contact .main article.tel_contact h3 {
	  margin: 0 0 10px 0;
	  font-size: 20px;
	}
  
	#contact .main article.tel_contact p {
	  font-size: 14px;
	  text-align: center;
	}
  
	#contact .main article.tel_contact div {
	  margin: 15px 0 0 0;
	  padding: 20px 20px;
	}
  
	#contact .main article.tel_contact .tel_add {
	  font-size: 24px;
	}
  
	#contact .form_table {
	  width: 100%;
	  margin: 0;
	  padding: 0;
	  font-size: 14px;
	}
  
	#contact .form_table th {
	  width: 100%;
	  padding: 10px 10px 0;
	  display: block;
	  box-sizing: border-box;
	  text-align: left;
	  border-bottom: none;
	}
  
	#contact .form_table td {
	  width: 100%;
	  padding: 10px;
	  display: block;
	  box-sizing: border-box;
	}
  
	#contact .form_table td input[type="text"] {
	  width: 100%;
	  box-sizing: border-box;
	  border-radius: 0;
	  -webkit-appearance: none;
	  appearance: none;
	}
  
	#contact .form_table td select {
	  width: 100%;
	  box-sizing: border-box;
	}
  
	#contact .form_table td textarea {
	  width: 100%;
	  box-sizing: border-box;
	  height: 120px;
	  border-radius: 0;
	  -webkit-appearance: none;
	  appearance: none;
	}
  
	#contact .error {
	  padding: 10px 0 0;
	  font-size: 14px;
	}
  
	#contact .check_btn {
	  width: 270px;
	  height: 45px;
	  background-size: 100% auto;
	  border-radius: 0;
	  -webkit-appearance: none;
	  appearance: none;
	}
  
	#contact .check_btn:hover {
	  filter: alpha(opacity=100);
	  /* IE 6,7*/
	  -ms-filter: "alpha(opacity=100)";
	  /* IE 8,9 */
	  -moz-opacity: 1;
	  /* FF , Netscape */
	  -khtml-opacity: 1;
	  /* Safari 1.x */
	  opacity: 1;
	}
  
	#contact .error_txt {
	  padding: 0 0 5px;
	  font-size: 18px;
	}
  
	/*入力確認画面*/
	#contact #form_confirm h3 {
	  margin: 20px 0 10px 0;
	  font-size: 20px;
	}
  
	#contact #form_confirm p {
	  padding: 0 0 10px 0;
	  font-size: 14px;
	}
  
	#contact #form_confirm .btn_box {
	  width: 270px;
	  padding: 15px 0 0;
	}
  
	#contact #form_confirm .btn_box .back_btn {
	  float: none;
	  width: 270px;
	  height: 45px;
	  margin: 10px auto;
	  background-size: 100% auto;
	}
  
	#contact #form_confirm .btn_box .back_btn:hover {
	  filter: alpha(opacity=100);
	  /* IE 6,7*/
	  -ms-filter: "alpha(opacity=100)";
	  /* IE 8,9 */
	  -moz-opacity: 1;
	  /* FF , Netscape */
	  -khtml-opacity: 1;
	  /* Safari 1.x */
	  opacity: 1;
	}
  
	#contact #form_confirm .btn_box .send_btn {
	  float: none;
	  width: 270px;
	  height: 45px;
	  margin: 10px auto;
	  background-size: 100% auto;
	}
  
	#contact #form_confirm .btn_box .send_btn:hover {
	  filter: alpha(opacity=100);
	  /* IE 6,7*/
	  -ms-filter: "alpha(opacity=100)";
	  /* IE 8,9 */
	  -moz-opacity: 1;
	  /* FF , Netscape */
	  -khtml-opacity: 1;
	  /* Safari 1.x */
	  opacity: 1;
	}
  
	/*送信完了画面*/
	#contact #form_finish h3 {
	  margin: 20px 0 10px 0;
	  font-size: 20px;
	}
  
	#contact #form_finish p {
	  padding: 0 0 10px 0;
	  font-size: 14px;
	}
  
	#contact #form_finish .mail_add {
	  padding: 10px 0 20px 0;
	  font-size: 20px;
	}
  
	#contact #form_finish .back_link_list li {
	  display: block;
	  margin: 5px 0;
	  font-size: 14px;
	}
  
	/*エラー画面*/
	#contact #form_error h3 {
	  margin: 20px 0 10px 0;
	  font-size: 20px;
	}
  
	#contact #form_error p {
	  padding: 0 0 10px 0;
	  font-size: 14px;
	}
  
	#contact #form_error h4 {
	  font-size: 16px;
	}
  
	#contact #form_error p.back_link {
	  margin: 20px 0 0 0;
	  font-size: 14px;
	}
  }
  
  /* 202403 */
  @media all and (max-width: 767px) {
	#contact .main .headline02 {
	  padding-bottom: 0;
	}
  }
/* privacy */
#privacy .keyvisual {
	background-image: url(../img/privacy/keyvisual.jpg);
}

/*===== MAIN =====*/
#privacy .body {
	width: 1000px;
	margin: 0 auto;
	padding: 20px 0 50px;
	font-size: 16px;
}
#privacy .main {
	float: none;
	width: 800px;
	margin: 0 auto;
}
#privacy .main .headline02 {
	padding-bottom: 8px;
	border-bottom: 2px solid #00A500;
}
#privacy .main .headline03 {
	margin-bottom: 14px;
	font-size: 20px;
	font-weight: bold;
}
#privacy .main article {
	margin: 0 0 20px 0;
}
#privacy .text {
	padding: 26px 0 28px;
	line-height: 2;
}
#privacy .text02 {
	padding: 0 0 14px;
	line-height: 2;
}
#privacy .main ul {
	margin: 0 0 14px 0;
	padding: 0
}
#privacy .main ul li {
	margin: 0 0 10px 0;
}
#privacy p.name {
	margin: 0 0 40px 0;
	padding: 0;
	text-align: right;
	font-size: 16px;
	line-height: 2.0;
}
#privacy .contact_box {
	margin: 0 0 80px 0;
	padding: 30px;
	border: 1px solid #ccc;
}
#privacy .contact_box h4 {
	margin: 0 0 10px 0;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
}
#privacy .contact_box p {
	margin: 0 0 15px 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.6
}
#privacy .contact_box address {
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.6
}
/* privacy_sp */
/*===== sitemap_sp =====*/
@media all and (max-width: 767px) {
	/*===== MAIN =====*/
	#privacy .body {
	  width: auto;
	  margin: 0 15px;
	  font-size: 14px;
	}
	#privacy .main {
	  float: none;
	  width: auto;
	  margin: 0;
	}
	#privacy .main article {
	  padding: 0;
	}
	#privacy .main article a:hover {
	  opacity: 1;
	}
	#privacy .main article p {
	  margin: 20px 0 10px;
	  }
  
  }
  /* 202403 */
  @media all and (max-width: 767px) {
	#privacy .main .headline02 {
	  padding-bottom: 0;
	}
  }

/* sitemap */
/*===== keyvisual =====*/

#sitemap .keyvisual {
	background-image: url(../img/sitemap/keyvisual.jpg);
  }
  
  /*===== MAIN =====*/
  #sitemap .body {
	width: 1000px;
	margin: 0 auto;
	padding: 20px 0 50px;
	font-size: 16px;
  }
  #sitemap .main {
	float: none;
	width: 800px;
	margin: 0 auto;
  }
  #sitemap .main .headline02 {
	padding-bottom: 8px;
	border-bottom: 2px solid #00A500;
  }
  
  #sitemap .sitemap-list {
	margin: 20px 0 80px 0;
	padding: 0;
  }
  #sitemap .sitemap-list li {
	margin: 0;
	padding: 20px 0 20px 10px;
	border-bottom: 1px solid #ccc;
	/* background: url(../img/sitemap/arrow_ico.png) no-repeat 0 27px; */
	overflow: hidden;
  }
  #sitemap .sitemap-list li ul li {
	background: none;
  }
  
  #sitemap .sitemap-sub-list01 {
	margin: 0;
	padding: 0;
  }
  #sitemap .sitemap-sub-list01 li {
	display: inline-block;
	width: 380px;
	margin: 0;
	padding: 20px 0 0 0;
	border-bottom: none;
	background: none;
  }
  
  #sitemap .sitemap-sub-list02 {
	display: block;
	float: left;
	width: 380px;
	margin: 0 0 20px 0;
  }
  #sitemap .sitemap-sub-list02 li {
	margin: 0;
	padding: 20px 0 0 0;
	border-bottom: none;
	background: none;
  }
  #sitemap .sitemap-sub-list02 li.sub {
	margin: 0 20px 0 0;
	padding: 20px 0 0 0;
	border-bottom: none;
	background: none;
  }
  
  #sitemap .sitemap-list a {
	color: #333;
  }
  #sitemap .sitemap-list a:hover {
	opacity: .7;
  }
/* sitemap_sp */
/*===== sitemap_sp =====*/
@media all and (max-width: 767px) {
/*===== MAIN =====*/
#sitemap .body {
	width: auto;
	margin: 0 15px;
	font-size: 14px;
}
#sitemap .main {
	float: none;
	width: auto;
	margin: 0;
}
#sitemap .main article {
	padding: 0;
}
#sitemap .main article a:hover {
	opacity: 1;
}
#sitemap .main article p {
	margin: 20px 0 10px;
	}

}
/* 202403 */
@media all and (max-width: 767px) {
#sitemap .main .headline02 {
	padding-bottom: 0;
}
}