@charset "utf-8";

/*
activities
*/
.page-id-29 .common-mv-inner {
	background-image: url("../images/activities/activities_mv.jpg");
}
.activities-nav li {
	width: 100%;
}
.activities-nav li + li {
	margin-top: 10px;
}
.activities-nav .common-btn02 {
	margin: 0;
	max-width: 100%;
}
.activities-section {
	padding: 10rem 0;
}
.activities-section .about-flex {
	position: relative;
}
.activities-section .about-flex:before {
	content: '';
	width: 100%;
	height: 1px;
	background-color: #A0ACBA;
	position: absolute;
	bottom: -10rem;
	left: 0;
}
.activities-section.activities-energy .about-flex:before {
	display: none;
}
.activities-energy {
	padding-bottom: 15rem;
}
.activities-box {
	background-color: #fff;
	border-radius: 2rem;
	padding: 2rem 1.85rem;
	margin-top: 3rem;
	letter-spacing: 1px;
}
.activities-img {
	margin-bottom: 12px;
	text-align: center;
}
.activities-img img {
	max-width: 30rem;
}
.activities-title {
	font-size: 2.4rem;
	color: #26499D;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.458;
	margin-bottom: 13px;
	text-align: center;
}
@media (min-width: 768px){
	.activities-nav {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		max-width: 78rem;
		margin: 0 auto;
	}
	.activities-nav li + li {
		margin: 0 0 0 30px;
	}
	
	.activities-box {
		display: flex;
	}
	.activities-section .about-flex {
		display: block;
	}
	.activities-section .about-flex .common-title, .activities-section .about-content {
		width: 100%;
	}
	.activities-img {
		margin: 0 12px 0 0;
	}
	.activities-img img {
		max-width: 14.8rem;
	}
	.activities-textarea {
		width: calc(100% - (14.8rem + 12px));
	}
	.activities-title {
		text-align: left;
	}
}
@media (min-width: 992px){
	.activities-section {
		padding: 10rem 0 12rem;
	}
	.activities-environment {
		padding-top: 12rem;
	}
	.activities-energy {
		padding-bottom: 27.3rem;
	}
	.activities-section .about-flex {
		display: flex;
	}
	.activities-section .about-flex:before {
		bottom: -12rem;
	}
	.activities-section .about-flex .common-title {
		width: 36.4%;
	}
	.activities-section .about-content {
		width: 63.6%;
	}
	
}


/*
contact
*/
.page-id-32 .common-mv-inner, .page-id-34 .common-mv-inner {
	background-image: url("../images/contact/contact_mv.jpg");
	background-position: center;
}
.contact {
	padding: 0 0 8rem 0;
	letter-spacing: 1px;
}
.contact-title {
	color: #3B4A7F;
	font-size: 2.4rem;
	margin-bottom: 2.5rem;
	text-align: center;
	font-weight: 500;
	letter-spacing: 3.92px;
	line-height: 1.667;
}
.contact-telfax-box {
	background-color: #fff;
	border-radius: 3rem;
	padding: 15px;
	width: 100%;
	max-width: 48.2rem;
	margin: 0 auto 10rem;
	display: flex;
	align-items: center;
	flex-direction: column;
	line-height: 1.563;
}
.contact-tel {
	color: #26499D;
	letter-spacing: 0;
	font-size: 3.8rem;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.contact-tel img {
	max-width: 3rem;
	margin-right: 10px;
}
.contact-fax {
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1;
}
.form-table {
	width: 100%;
	max-width: 71rem;
	margin: 3rem auto 0;
}
.form-table th, .form-table td {
	display: block;
}
.form-table th {
	font-weight: 500;
	padding: 3.3rem 0 5px;
	text-align: left;
	letter-spacing: 1.8px;
}
.form-table th.required label, .wpcf7-acceptance label {
	position: relative;
}
.form-table th.required label:before, .wpcf7-acceptance label:before {
	content: '*';
	font-size: 18px;
	color: #E60012;
	position: absolute;
	top: -5px;
	right: -15px;
}
.form-table input, .form-table textarea {
	background-color: #F6FAFF;
	border: 1px solid #E6ECF2;
	width: 100%;
	border-radius: 10px;
	padding: 17px 25px;
	min-height: 60px;
	font-size: 16px;
}
.form-table textarea {
	min-height: 27.4rem;
}
.form-table input::placeholder, .form-table textarea::placeholder {
	color: #A0ACBA;
}
.wpcf7-list-item {
	margin: 0 auto;
}
.wpcf7-acceptance {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 3.2rem;
	letter-spacing: 1.6px;
}
.wpcf7-acceptance label {
	display: flex;
	
}
.wpcf7-acceptance a {
	display: inline-block;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.acceptance-privacy {
	margin-right: 10px;
}
.wpcf7-acceptance input[type=checkbox] {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
  margin: 0;
  width: 16px;
  height: 16px;
  cursor: pointer;
  opacity: 0;
}
.wpcf7-acceptance .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 52%;
  left: -1.5em;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 1px solid #E6ECF2;
  background: #FFF;
  cursor: pointer;
  transition: all 0.3s;
}
.wpcf7-acceptance .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 52%;
  left: -1.5em;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: transparent url("../images/contact/checked.png") no-repeat center center / contain;
  cursor: pointer;
  transition: all 0.3s;
  opacity: 0; 
}
input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  opacity: 0;
}
input[type="submit"] {
	border: 2px solid #0A3E86;
	border-radius: 10rem;
	margin: 5rem auto 0;
	transition: .5s;
	font-size: 16px;
	font-weight: 500;
	display: block;
}
input[type="submit"][disabled]:hover {
	background-color: #0A3E86;
	color: #fff;
}
.wpcf7-spinner {
	display: block;
	margin: 0 auto;
}
@media (min-width: 768px){
	.contact-telfax-box {
		padding: 2.5rem;
	}
	.contact-tel {
		font-size: 4.8rem;
	}
	.contact-tel img {
		max-width: 4.3rem;
		margin-right: 3rem;
	}
}
@media (min-width: 992px){
	.contact {
		padding: 3rem 0 11rem;
	}
}


.thanks {
	padding: 0 0 8rem 0;
	letter-spacing: 1px;
}
.thanks .common-btn02 {
	margin: 7rem auto 0;
}
@media (min-width: 992px){
	.thanks {
		padding: 3rem 0 16.3rem;
	}
}


/*
privacy policy
*/
.page-id-36 .common-mv-inner {
	background-image: url("../images/privacy/privacy_mv.jpg");
	background-position: center;
}
.privacy-top {
	font-weight: 500;
	padding: 3rem 0 8rem 0;
	letter-spacing: 1px;
}
.privacy-top-list {
	font-weight: 400;
	width: 100%;
	max-width: 83.2rem;
	margin: 0 auto;
}
.privacy-top-list, .privacy-policy ol, .privacy-polic ul {
	counter-reset: num;
}
.privacy-top-list li, .privacy-policy li {
	position: relative;
}
.privacy-top-list li:before, .privacy-policy li:before {
	position: absolute;
	left: 0;
	top: 0;
}
.privacy-top-list li {
	padding-left: 3rem;
}
.privacy-top-list li:before{
	counter-increment: num;
	content: counter(num, lower-alpha) ")";
}
.privacy-window {
	padding-bottom: 8rem;
}
.privacy-window-box {
	width: 100%;
	max-width: 52.2rem;
	margin: 0 auto;
	padding: 15px;
	background-color: #fff;
	border-radius: 3rem;
	text-align: center;
	letter-spacing: 1px;
	line-height: 1.563;
}
.privacy-logo {
	margin-bottom: 7px;
}
.privacy-logo img {
	max-width: 30.3rem;
}
.privacy-window-box .contact-tel {
	margin: 15px auto;
}
.privacy-window .common-btn02 {
	max-width: 40.2rem;
	margin: 15px auto 10px;
}
.privacy-policy {
	padding-bottom: 10rem;
	letter-spacing: 1px;
}
.privacy-title {
	color: #3B4A7F;
	padding: 0 0 15px 2rem;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 3px;
	border-bottom: 1px solid #A0ACBA;
	margin: 3.5rem 0 2rem;
}
.privacy-list01 > li, .privacy-list02 > li {
	padding-left: 3.3rem;
}
.privacy-list01 > li:before {
	counter-increment: num;
	content: counter(num) ".";
}
.privacy-list02 > li:before {
	counter-increment: num;
	content: "(" counter(num) ")";
}
.privacy-list03 > li {
	padding-left: 2.5rem;
}
.privacy-list03 > li:before {
	content: "・";
	left: 5px;
}
.privacy-list03 > li + li {
	margin-top: 3rem;
}
.privacy-list04 .privacy-list03 > li + li {
	margin-top: 0;
}
.privacy-list04 > li {
	padding-left: 17px;
}
.privacy-list04-num {
	position: absolute;
	top: 0;
	left: 0;
}
.privacy-table-wrapper {
	overflow-x: auto;
}
.privacy-table {
	width: 60rem;
	margin-top: 2rem;
}
.privacy-table th, .privacy-table td {
	border: 1px solid #A0ACBA;
	vertical-align: middle;
	display: table-cell;
}
.privacy-table th {
	background-color: #fff;
	letter-spacing: 3px;
	padding: 7px 10px;
	width: 50%;
	font-weight: 400;
}
.privacy-table td {
	height: 7rem;
	font-size: 14px;
	padding: 5px 15px;
	width: 50%;
	letter-spacing: 3px;
	line-height: 1.429;
}
.privacy-policy .common-btn02 {
	margin: 8rem auto 0;
}
@media (min-width: 576px){
	.privacy-table {
		width: 100%;
		max-width: 80rem;
	}
}
@media (min-width: 768px){
	.privacy-window-box {
		padding: 3rem;
	}
	
	.privacy-table td {
		padding: 14px 3.6rem;
	}
	
}
@media (min-width: 992px){
	.privacy-policy {
		padding-bottom: 16.3rem;
	}
	
	.privacy-policy .common-btn02 {
		margin: 12rem auto 0;
	}
}


/*news-archive*/
.post-type-archive-news .common-mv-inner, .single-news .common-mv-inner {
	background-image: url("../images/news/news_mv.jpg");
	background-position: center;
}
.news-archive, .news-single {
	padding-bottom: 8rem;
}
.news-archive .news-list {
	width: 100%;
	max-width: 90rem;
	margin: -3rem auto 0;
}
.news-archive .title {
	margin-top: 5px;
	letter-spacing: 1px;
}
.single-title {
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 3px;
	margin: 5px 0 4rem;
	text-align: center;
}
.editor-content {
	margin-bottom: 8rem;
}
@media (min-width: 992px){
	.news-archive, .news-single {
		padding-bottom: 16.3rem;
	}
	.news-archive .news-list a {
		display: flex;
		align-items: center;
	}
	.news-archive .title {
		margin: 0 0 0 2rem;
	}
	.editor-content {
		margin-bottom: 12rem;
	}
}


/*
blog-archive
*/
.post-type-archive-blog .common-mv-inner, .single-blog .common-mv-inner, .tax-blog-cat .common-mv-inner {
	background-image: url("../images/blog/blog_mv.jpg");
	background-position: center;
}
.blog-archive {
	padding-bottom: 8rem;
}
.blog-cat-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	flex-wrap: wrap;
	margin-bottom: 4rem;
}
.blog-cat-nav li {
	margin: 0 10px 10px 10px;
}
.blog-cat-nav a {
	text-align: center;
	min-width: 12rem;
	font-size: 16px;
}
.blog-cat-nav a:hover {
	color: #fff;
	background-color: #30AFE9;
}
.blog-archive .blog-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4rem;
}
.blog-archive .blog-list li + li {
	margin: 0;
}
.blog-archive .pagination {
	margin-top: 8rem;
}
@media (min-width: 576px){
	.blog-archive .blog-list {
		grid-template-columns: 1fr 1fr;
		gap: 4rem 2rem;
	}
}
@media (min-width: 992px){
	.blog-archive {
		padding-bottom: 16.3rem;
	}
	.blog-archive .blog-list {
		grid-template-columns: 1fr 1fr 1fr;
	}
}