/*
Theme Name: rise-wp
Theme URI: http://rise-r.co.jp
*/
@charset "UTF-8";
/* CSS Document */
/* common */

:root {
	/* color */
	--white: #ffffff;
	--black: #000000;

	--gray01: #efefef;
	--gray02: #f2f2f2;
	--gray03: #E8E8E8;
	--gray04: #E5E2DE;
	--gray05: #A6A6A6;
	--gray06: #CCCCCC;

	--dark01: #707070;
	--dark02: #2d2d2d;
	--dark03: #dddddd;
	--dark04: #7A7B7F;

	--main01: #03275f;
	--main02: #113368;
	--main03: #223a5e;

	--lb01: #d0e2ff;
	--lb02: #58c3d9;
	--lb03: #29bbd8;

	/* 改修 */
	--gbc01: #F4F2F1;
	--gbc02: #F0F0EE;
	--text01: #333333;
	--text02: #9F8E6D;
	--text02: #9F8E6D;
	--text03: #666666;
	--text04: #3685B0;
	--link01: #A79073;
	--link02: #707070;
	--link03: #E5A15E;
	--border01: #CCCCCC;
	--border02: #CCC4BA;
	--border03: #CEC4AF;
	--name01: #999999;
	--name02: #8B5E14;
}

html {
	margin: 0 !important;
}

.sp {
	display: none;
}
.fw_b {
	font-weight: bold;
}
.navy_l_b {
	color: #03275f;
	font-size: 1.5rem;
	font-weight: bold;
}
.more_btn {
	width: 320px;
	margin: auto;
}
.more_btn a {
	display: block;
	background-color: #03275f;
	color: #fff;
	text-decoration: none;
	font-size: 15px;
	height: 60px;
	width: 320px;
	position: relative;
	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	overflow: hidden;
}
.more_btn a:hover {
	background-color: #053f99;
	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
}
.more_btn a span {
	position: absolute;
	line-height: 1;
	font-weight: bold;
	top: 23px;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}
.more_btn a span:nth-child(1) {
	left: -15px;
	color: #03275f;
}
.more_btn a span:nth-child(2) {
	left: 110px;
}
.more_btn a span:nth-child(3) {
	right: 30px;
}
.more_btn a:hover {
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}
.more_btn a:hover span:nth-child(1) {
	left: 30px;
}
.more_btn a:hover span:nth-child(2) {
	left: 155px;
}
.more_btn a:hover span:nth-child(3) {
	right: -15px;
}

.index_image {
	min-width: 1000px;
}
.index_image img {
	width: 100%;
	height: auto;
	text-align: center;
}
@media (max-width: 768px) {
	/* common */
	html {
		-webkit-text-size-adjust: 100%;
	}
	body {
		height: 100%;
		margin: 0 !important;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	img {
		max-width: 100%;
		height: auto;
	}
	.navy_l_b {
		font-size: 1.1rem;
	}
	.more_btn {
		width: 300px;
		margin: auto;
	}
	.more_btn a {
		height: 50px;
		width: 100%;
	}
	.more_btn a span {
		top: 18px;
	}
	.more_btn a span:nth-child(1) {
		left: -25px;
		color: #03275f;
	}
	.more_btn a span:nth-child(2) {
		left: 100px;
	}
	.more_btn a span:nth-child(3) {
		right: 20px;
	}
	.more_btn a:hover {
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
	}
	.more_btn a:hover span:nth-child(1) {
		left: 20px;
	}
	.more_btn a:hover span:nth-child(2) {
		left: 145px;
	}
	.more_btn a:hover span:nth-child(3) {
		right: -25px;
	}
	.index_image {
		min-width: 100%;
	}
	.index_image img {
		width: 100%;
		height: auto;
		text-align: center;
	}
	/* low page */
	body.low_page {
		margin: 68px 0 0;
	}
}

/* header */
body.home header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(0, 0, 0, 0);
	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	z-index: 9999;
}
body header {
	background: #fff;
}
body header.is-fixed {
	position: fixed;
	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	animation: ps01 1s both;
	z-index: 99998;
	width: 100%;
	background-color: var(--white);
}
body header * {
	font-family: HelveticaNowText-Bold,sans-serif;
}
@keyframes ps01 {
	0% {
		top: -82px;
	}
	100% {
		top: 0;
	}
}
header .inn {
	padding: 15px 50px;
	margin: auto;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
/* グローバルナビ */
header .inn ul#gnav {
	display: flex;
	gap: 30px;
}
header .inn ul#gnav li a {
	display: block;
	position: relative;
	text-decoration: none;
	color: var(--white);
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	line-height: 1;
}
body:not(.home) header .inn ul#gnav li a {
	color: var(--black);
}
header.is-fixed .inn ul#gnav li a {
	color: var(--black);
}
header .inn ul#gnav li a:hover {
	opacity: 0.8;
}
/* ロゴ */
header .inn .logo img {
	width: 140px;
	filter: invert(100%);
}
body:not(.home) header .inn .logo img {
	filter: none;
}
header.is-fixed .inn .logo img {
	filter: none;
}
header.active .inn .logo img {
	filter: invert(100%);
}
@media (max-width: 768px) {
	header {
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
	}
	header.active {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 99998;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.8);
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
	}
	header .inn {
		width: 100%;
		height: 100%;
		padding: 15px 20px;
		display: block;
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
	}
	header.active .inn {
		background-color: var(--black);
		transition: all 0.2s ease;
		-webkit-transition: all 0.2s ease;
	}
	/* ロゴ */
	body header.active .inn .logo img {
		filter: invert(100%);;
	}
	/* メニューボタン */
	.menu-btn {
		position: absolute;
		top: 38px;
		right: 15px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all 0.4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width: 20px;
		height: 10px;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: var(--white);
	}
	body:not(.home) .menu-trigger span {
		background-color: var(--black);
	}
	.is-fixed .menu-trigger span {
		background-color: var(--black);
	}
	.active .menu-trigger span,
	body:not(.home) .active .menu-trigger span {
		background-color: var(--white);
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 10px;
	}
	.active .menu-trigger span:nth-of-type(1) {
		-webkit-transform: translateY(0) rotate(-45deg);
		transform: translateY(5px) rotate(-45deg);
	}
	.active .menu-trigger span:nth-of-type(2) {
		-webkit-transform: translateY(1px) rotate(45deg);
		transform: translateY(-5px) rotate(45deg);
	}
	/* グローバルナビ */
	header .inn ul#gnav {
		display: none;
		margin: 0;
		padding: 40px 30px;
	}
	header .inn ul#gnav li {
		padding: 0;
		margin: 0;
		border-top: 1px solid var(--white);
	}
	header .inn ul#gnav li:last-of-type {
		border-bottom: 1px solid var(--white);
	}
	header .inn ul#gnav li a {
		display: block;
		padding: 15px 0;
		box-sizing: border-box;
		font-size: 19px;
	}
	header.is-fixed .inn ul#gnav li a,
	body:not(.home) header .inn ul#gnav li a {
		color: var(--white);
	}
}

/* footer */
footer {
	background-color: var(--white);
}
footer * {
	font-family: HelveticaNowText-Bold,sans-serif;
}
footer ul.h_sns {
	display: flex;
	gap: 10px;
}
footer ul.h_sns li a img {
	height: 25px;
}
footer .inn {
	padding: 130px 140px 70px;
}
footer #fnav {
	display: flex;
	justify-content: space-evenly;
	border-top: 1px solid var(--border01);
	border-bottom: 1px solid var(--border01);
	margin: 0 0 80px;
	padding: 60px;
}
footer #fnav li a {
	color: var(--black);
	text-decoration: none;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}
footer #fnav li a:hover {
	opacity: 0.8;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}
footer .flex {
	display: flex;
	justify-content: space-between;
}
footer h2 {
	width: 150px;
}
footer .copyright {
	font-size: 10px;
	text-align: center;
	margin-top: 20px;
	color: var(--link02);
}
footer .goto_search_form {
	position: fixed;
	bottom: 50px;
	right: 200px;
}
footer .goto_search_form a {
	background-color: #FBC52C;
	color: #fff;
	font-size: 20px;
	text-decoration: none;
	padding: 20px;
	border-radius: 100vh;
}
@media (max-width: 768px) {
	footer .inn {
		padding: 40px 30px 60px;
	}
	footer #fnav {
		margin: 0 0 60px;
		padding: 0;
		display: block;
		border-bottom: none;
	}
	footer #fnav li {
		padding: 0;
		margin: 0;
		border-bottom: 1px solid var(--border01);
		text-align: left;
	}
	footer #fnav li a {
		font-size: 19px;
		display: block;
		padding: 15px 0;
		box-sizing: border-box;
	}
	footer .flex {
		flex-direction: column;
	}
	footer h2 {
		margin: 0 0 40px;
	}
	footer .goto_search_form {
		bottom: 20px;
		right: 5px;
	}
	footer .goto_search_form a {
		font-size: 13px;
		padding: 15px;
	}
}

/* パンくず */
#breadlist {
	background-color: var(--gbc01);
}
#breadlist p {
	padding: 30px 140px;
	margin: auto;
	font-size: 12px;
	font-family: "ゴシックMB101 R",sans-serif;
	color: var(--black)!important;
}
#breadlist p a {
	text-decoration: none;
	color: var(--black);
}
@media (max-width: 768px) {
	#breadlist p {
		padding: 20px!important;
	}
}

/* about */
#about section .inn,
#recruit section .inn {
	width: 1000px;
	margin: auto;
}
#about .company,
#recruit .company {
	background-image: url(./images/common/bg01.jpg);
	background-position: center top;
	background-repeat: repeat;
	padding: 60px 0;
}
#about .company h2,
#recruit .company h2 {
	font-size: 28px;
	font-weight: bold;
	color: #03275f;
	border-bottom: 3px solid #03275f;
	padding: 0 0 5px;
	margin: 0 0 35px;
}
#about .company .table_wrap,
#recruit .company .table_wrap {
	width: 920px;
	margin: auto;
	overflow: hidden;
}
#about .company .table_wrap table,
#recruit .company .table_wrap table {
	width: 430px;
	float: left;
}
#about .company .table_wrap table:nth-child(2),
#recruit .company .table_wrap table:nth-child(2) {
	float: right;
}
#about .company .table_wrap table tr th,
#about .company .table_wrap table tr td,
#recruit .company .table_wrap table tr th,
#recruit .company .table_wrap table tr td {
	font-size: 16px;
	line-height: 36px;
}
#about .company .table_wrap table tr th,
#recruit .company .table_wrap table tr th {
	font-weight: bold;
	color: #03275f;
	width: 120px;
}
#about .company .table_wrap table tr td p,
#recruit .company .table_wrap table tr td p {
	line-height: 28px;
	margin: 0 0 10px;
}
#about .google_map,
#recruit .google_map {
	padding: 40px 0;
}
#about .google_map h2,
#recruit .google_map h2 {
	font-size: 28px;
	font-weight: bold;
	color: #03275f;
	padding: 0 0 8px;
	letter-spacing: 0.05em;
}
#about .google_map p,
#recruit .google_map p {
	font-size: 16px;
	line-height: 28px;
	margin: 20px 0 0;
}
#about .google_map p.snd,
#recruit .google_map p.snd {
	line-height: 36px;
}
@media (max-width: 768px) {
	#about section .inn,
	#recruit section .inn {
		width: 92%;
	}
	#about .company,
	#recruit .company {
		background-image: url(./images/common/bg01_sp.jpg);
		background-size: 100%;
		padding: 10% 0 8%;
	}
	#about .company h2,
	#recruit .company h2 {
		font-size: 19px;
		border-bottom: 2px solid #03275f;
		padding: 0 0 2%;
		margin: 0 0 5%;
	}
	#about .company .table_wrap,
	#recruit .company .table_wrap {
		width: 94%;
	}
	#about .company .table_wrap table,
	#recruit .company .table_wrap table {
		width: 100%;
		float: none;
	}
	#about .company .table_wrap table:nth-child(2),
	#recruit .company .table_wrap table:nth-child(2) {
		float: none;
	}
	#about .company .table_wrap table tr th,
	#about .company .table_wrap table tr td,
	#recruit .company .table_wrap table tr th,
	#recruit .company .table_wrap table tr td {
		font-size: 12px;
		line-height: 20px;
		display: block;
	}
	#about .company .table_wrap table tr th,
	#recruit .company .table_wrap table tr th {
		width: 100%;
	}
	#about .company .table_wrap table tr td,
	#recruit .company .table_wrap table tr td {
		margin: 0 0 3%;
	}
	#about .company .table_wrap table tr td p,
	#recruit .company .table_wrap table tr td p {
		line-height: 20px;
		margin: 0;
	}
	#about .company .table_wrap table tr td p br,
	#recruit .company .table_wrap table tr td p br {
		display: none;
	}
	#about .google_map,
	#recruit .google_map {
		padding: 8% 2%;
	}
	#about .google_map h2,
	#recruit .google_map h2 {
		font-size: 19px;
		padding: 0 0 8px;
	}
	#about .google_map .map_wrap,
	#recruit .google_map .map_wrap {
		position: relative;
		padding-bottom: 56.25%;
		padding-top: 30px;
		height: 0;
		overflow: hidden;
	}
	#about .google_map .map_wrap iframe,
	#about .google_map .map_wrap object,
	#about .google_map .map_wrap embed,
	#recruit .google_map .map_wrap iframe,
	#recruit .google_map .map_wrap object,
	#recruit .google_map .map_wrap embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	#about .google_map p,
	#recruit .google_map p {
		font-size: 12px;
		line-height: 20px;
		margin: 5% 0 0;
	}
	#about .google_map p.snd,
	#recruit .google_map p.snd {
		line-height: 20px;
	}
}

/* vision */
#vision:not(.home) section .inn,
#recruit section .inn {
	width: 1000px;
	margin: auto;
}
#vision:not(.home) .vision_top,
#recruit .vision_top {
	background-image: url(./images/common/bg01.jpg);
	background-position: center top;
	background-repeat: repeat;
	padding: 70px 0;
}
#vision:not(.home) .vision_top h2,
#recruit .vision_top h2 {
	font-size: 38px;
	line-height: 56px;
	color: #03275f;
	margin: 0 0 30px;
}
#vision:not(.home) .vision_top h3,
#recruit .vision_top h3 {
	font-size: 22px;
	line-height: 44px;
	color: #595757;
}
#vision:not(.home) .guidance,
#recruit .guidance {
	padding: 70px 0;
}
#vision:not(.home) .guidance h2,
#recruit .guidance h2 {
	margin: 0 0 65px;
}
#vision:not(.home) .guidance h3,
#recruit .guidance h3 {
	text-align: center;
	font-size: 28px;
	line-height: 44px;
	color: #03275f;
}
#vision:not(.home) .guidance h3.bg,
#recruit .guidance h3.bg {
	text-align: center;
	background-image: url(./images/top/recruit_border.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	padding: 0 0 60px;
	margin: 0 0 40px;
}
#vision:not(.home) .guidance ul,
#recruit .guidance ul {
	display: flex;
	width: 900px;
	margin: 0 auto 50px;
}
#vision:not(.home) .guidance ul li,
#recruit .guidance ul li {
	text-align: center;
	margin: 0 80px 0 0;
}
#vision:not(.home) .guidance ul li:last-child,
#recruit .guidance ul li:last-child {
	margin: 0;
}
#vision:not(.home) .guidance ul li p,
#recruit .guidance ul li p {
	text-align: left;
	margin: 20px 0 0;
	font-size: 15px;
	line-height: 25px;
}
#vision:not(.home) .ceo,
#recruit .ceo {
	padding: 70px 0 80px;
	background-image: url(./images/common/bg01.jpg);
	background-position: center top;
	background-repeat: repeat;
}
#vision:not(.home) .ceo h2,
#recruit .ceo h2 {
	margin: 0 0 65px;
}
#vision:not(.home) .ceo p,
#recruit .ceo p {
	width: 900px;
	margin: auto;
	font-size: 16px;
	line-height: 28px;
}
#vision:not(.home) .ceo p.aright,
#recruit .ceo p.aright {
	text-align: right;
	margin: 35px auto 0;
	box-sizing: border-box;
	padding: 0 100px 0 0;
}

#vision:not(.home) .career {
	padding: 60px 0 80px;
}
#vision:not(.home) .career dl {
	overflow: hidden;
}
#vision:not(.home) .career dl dt {
	float: right;
}
#vision:not(.home) .career dl dd {
	float: left;
}
#vision:not(.home) .career dl dd h2 {
	font-size: 22px;
	width: 550px;
	border-bottom: 1px dotted #b5b5b6;
	line-height: 1;
	padding: 0 0 10px;
	color: #03275f;
	margin: 0 0 15px;
}
#vision:not(.home) .career dl dd p {
	font-size: 16px;
	line-height: 28px;
}
@media (max-width: 768px) {
	#vision:not(.home) section .inn,
	#recruit section .inn {
		width: 92%;
	}
	#vision:not(.home) .vision_top,
	#recruit .vision_top {
		background-image: url(./images/common/bg01_sp.jpg);
		background-size: 100%;
		padding: 8% 0;
	}
	#vision:not(.home) .vision_top h2,
	#recruit .vision_top h2 {
		font-size: 20px;
		line-height: 29px;
		margin: 0 0 4%;
	}
	#vision:not(.home) .vision_top h3,
	#recruit .vision_top h3 {
		font-size: 12px;
		line-height: 20px;
	}
	#vision:not(.home) .guidance,
	#recruit .guidance {
		padding: 8% 0;
	}
	#vision:not(.home) .guidance h2,
	#recruit .guidance h2 {
		margin: -2.5rem 0 3%;
		width: 90%;
	}
	#vision:not(.home) .guidance h3,
	#recruit .guidance h3 {
		font-size: 15px;
		line-height: 25px;
	}
	#vision:not(.home) .guidance h3.bg,
	#recruit .guidance h3.bg {
		background-size: 150%;
		padding: 0 0 8%;
		margin: 0 0 6%;
	}
	#vision:not(.home) .guidance ul,
	#recruit .guidance ul {
		width: 100%;
		margin: 0 auto 6%;
	}
	#vision:not(.home) .guidance ul li,
	#recruit .guidance ul li {
		text-align: center;
		margin: 0 2% 0 0;
		width: 32%;
	}
	#vision:not(.home) .guidance ul li:last-child,
	#recruit .guidance ul li:last-child {
		margin: 0;
	}
	#vision:not(.home) .guidance ul li h4,
	#recruit .guidance ul li h4 {
		width: 70%;
		margin: auto;
	}
	#vision:not(.home) .guidance ul li p,
	#recruit .guidance ul li p {
		margin: 3% 0 0;
		font-size: 11px;
		line-height: 20px;
	}
	#vision:not(.home) .ceo,
	#recruit .ceo {
		padding: 8% 0;
		background-image: url(./images/common/bg01_sp.jpg);
		background-size: 100%;
	}
	#vision:not(.home) .ceo h2,
	#recruit .ceo h2 {
		margin: -2.5rem 0 3%;
	}
	#vision:not(.home) .ceo p,
	#recruit .ceo p {
		width: 100%;
		font-size: 12px;
		line-height: 20px;
	}
	#vision:not(.home) .ceo p.aright,
	#recruit .ceo p.aright {
		margin: 6% auto 0;
		padding: 0;
	}

	#vision:not(.home) .career {
		padding: 8% 0;
	}
	#vision:not(.home) .career dl dt {
		float: none;
		width: 92%;
		margin: 0 auto 6%;
	}
	#vision:not(.home) .career dl dd {
		float: none;
		width: 92%;
		margin: auto;
	}
	#vision:not(.home) .career dl dd h2 {
		font-size: 15px;
		width: 100%;
		padding: 0 0 3%;
		margin: 0 0 3%;
	}
	#vision:not(.home) .career dl dd p {
		font-size: 12px;
		line-height: 20px;
	}
}

/* project */
#project:not(.home) section .area_wrap {
	background-image: url(./images/common/bg01.jpg);
	background-position: center top;
	background-repeat: repeat;
}
#project:not(.home) section .inn {
	width: 1000px;
	margin: auto;
}
#project:not(.home) .summary {
	padding: 80px 0 50px;
}
#project:not(.home) .summary h2 {
	font-size: 28px;
	border-bottom: 3px solid #03275f;
	font-weight: bold;
	color: #03275f;
	padding: 0 0 6px;
	margin: 0 0 40px;
}
#project:not(.home) .summary dl {
	overflow: hidden;
	margin: 0 0 50px;
}
#project:not(.home) .summary dl dt {
	float: right;
}
#project:not(.home) .summary dl dd {
	float: left;
	width: 585px;
}
#project:not(.home) .summary dl dd h3 {
	font-size: 22px;
	border-bottom: 1px dotted #b5b5b6;
	line-height: 1;
	padding: 0 0 10px;
	color: #03275f;
	margin: 0 0 15px;
}
#project:not(.home) .summary dl dd p {
	font-size: 16px;
	line-height: 28px;
}
#project:not(.home) .result {
	padding: 0 0 40px;
}
#project:not(.home) .result h2 {
	font-size: 28px;
	line-height: 50px;
	border-bottom: 3px solid #03275f;
	font-weight: bold;
	color: #03275f;
	padding: 0 0 12px 60px;
	background-repeat: no-repeat;
	background-position: left top;
	margin: 0 0 40px;
}
#project:not(.home) .result.kanto h2 {
	background-image: url(./images/project/area_kanto.png);
}
#project:not(.home) .result.shikoku h2 {
	background-image: url(./images/project/area_shikoku.png);
}
#project:not(.home) .result.kyusyu h2 {
	background-image: url(./images/project/area_kyusyu.png);
}
#project:not(.home) .result ul {
	display: flex;
	flex-wrap: wrap;
	width: 930px;
	margin: auto;
}
#project:not(.home) .result ul li {
	margin: 0 33px 33px 0;
}
#project:not(.home) .result ul li:nth-child(3n) {
	margin: 0 0 33px;
}
#project:not(.home) .result ul li p {
	margin: 10px 0 0;
	font-size: 16px;
	line-height: 28px;
}
#project:not(.home) .reuse {
	padding: 60px 0 30px;
}
#project:not(.home) .reuse dl {
	overflow: hidden;
	margin: 0 0 75px;
}
#project:not(.home) .reuse dl dt {
	float: right;
}
#project:not(.home) .reuse dl dd {
	float: left;
	width: 585px;
}
#project:not(.home) .reuse dl dd h2 {
	font-size: 22px;
	border-bottom: 1px dotted #b5b5b6;
	line-height: 1;
	padding: 0 0 10px;
	color: #03275f;
	margin: 0 0 15px;
}
#project:not(.home) .reuse dl dd p {
	font-size: 16px;
	line-height: 28px;
}
#project:not(.home) .reuse dl dd p a {
	color: #4cc3d9;
}
#project:not(.home) .reuse ul {
	display: flex;
	flex-wrap: wrap;
	width: 930px;
	margin: auto;
}
#project:not(.home) .reuse ul li {
	margin: 0 33px 33px 0;
	width: 30%;
}
#project:not(.home) .reuse ul li:nth-child(3n) {
	margin: 0 0 33px;
}
#project:not(.home) .reuse ul li p {
	margin: 10px 0 0;
	font-size: 16px;
	line-height: 28px;
}

@media (max-width: 768px) {
	#project:not(.home) section .area_wrap {
		background-image: url(./images/common/bg01_sp.jpg);
		background-size: 100%;
	}
	#project:not(.home) section .inn {
		width: 92%;
	}
	#project:not(.home) .summary {
		padding: 8% 0;
	}
	#project:not(.home) .summary h2 {
		font-size: 17px;
		border-bottom: 2px solid #03275f;
		padding: 0 0 2%;
		margin: 0 0 6%;
	}
	#project:not(.home) .summary dl {
		margin: 0 0 6%;
	}
	#project:not(.home) .summary dl dt {
		float: none;
		width: 92%;
		margin: 0 auto 6%;
	}
	#project:not(.home) .summary dl dd {
		float: none;
		width: 92%;
		margin: auto;
	}
	#project:not(.home) .summary dl dd h3 {
		font-size: 15px;
		width: 100%;
		padding: 0 0 3%;
		margin: 0 0 3%;
	}
	#project:not(.home) .summary dl dd p {
		font-size: 12px;
		line-height: 20px;
	}
	#project:not(.home) .summary .map {
		width: 92%;
		margin: auto;
	}

	#project:not(.home) .result {
		padding: 0 0 6%;
	}
	#project:not(.home) .result h2 {
		font-size: 17px;
		line-height: 30px;
		border-bottom: 2px solid #03275f;
		padding: 0 0 2% 40px;
		background-size: 30px;
		margin: 0 0 6%;
	}
	#project:not(.home) .result ul {
		width: 100%;
		margin: auto;
	}
	#project:not(.home) .result ul li {
		margin: 0 6% 6% 0;
		width: 47%;
	}
	#project:not(.home) .result ul li:nth-child(3n) {
		margin: 0 6% 6% 0;
	}
	#project:not(.home) .result ul li:nth-child(2n) {
		margin: 0 0 6%;
	}
	#project:not(.home) .result ul li p {
		margin: 10px 0 0;
		font-size: 12px;
		line-height: 20px;
	}
	#project:not(.home) .reuse {
		padding: 8% 0 4%;
	}
	#project:not(.home) .reuse dl {
		overflow: hidden;
		margin: 0 0 10%;
	}
	#project:not(.home) .reuse dl dt {
		float: none;
		width: 92%;
		margin: 0 auto 6%;
	}
	#project:not(.home) .reuse dl dd {
		float: none;
		width: 92%;
		margin: auto;
	}
	#project:not(.home) .reuse dl dd h2 {
		font-size: 15px;
		width: 100%;
		padding: 0 0 3%;
		margin: 0 0 3%;
	}
	#project:not(.home) .reuse dl dd p {
		font-size: 12px;
		line-height: 20px;
	}
	#project:not(.home) .reuse ul {
		width: 100%;
		margin: auto;
	}
	#project:not(.home) .reuse ul li {
		margin: 0 6% 6% 0;
		width: 47%;
	}
	#project:not(.home) .reuse ul li:nth-child(3n) {
		margin: 0 6% 6% 0;
	}
	#project:not(.home) .reuse ul li:nth-child(2n) {
		margin: 0 0 6%;
	}
	#project:not(.home) .reuse ul li p {
		margin: 10px 0 0;
		font-size: 12px;
		line-height: 20px;
	}
}

/* form */

/************* mailform ***************/

.form_section p.note {
	text-align: center;
	margin-top: 50px;
}

dl.form_main {
	display: block;
	padding: 30px 0;
}

dt.form_title {
	font-size: 18px;
	padding: 10px 10px 0;
	text-align: left;
}

span.must {
	font-size: 10px;
	margin-left: 10px;
	color: #fff;
	background-color: #d94c4c;
	padding: 5px;
	border-radius: 5px;
	font-weight: bold;
	vertical-align: text-bottom;
}

span.must.no_must {
	background-color: #898989 !important;
}

dd.form_input_area {
	padding: 10px;
}

dd.form_input_area input,
dd.form_input_area textarea {
	font-size: 20px;
	padding: 10px;
	border: solid 2px #1d6fa1;
	border-radius: 5px;
	width: 100%;
}

dd.form_input_area input#zip {
	max-width: 60%;
}

input.wpcf7-form-control.wpcf7-submit.submit_btn {
	font-size: 20px;
	margin: 0 auto 30px;
	display: block;
	background: #03275f;
	color: #fff;
	border: none;
	padding: 10px 15px;
	width: 300px;
	border-radius: 5px;
}

div.accept {
	text-align: center;
}

div.accept span.wpcf7-list-item {
	margin-left: 0 !important;
}

@media screen and (min-width: 768px) {
	dl.form_main {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		padding: 30px 0 0;
	}

	dt.form_title {
		padding: 20px;
		width: 30%;
		font-size: 18px;
	}

	span.must {
		vertical-align: text-top;
	}

	dd.form_input_area:not(:last-of-type) {
		width: 70%;
	}

	dd.form_input_area:last-of-type {
		width: 100%;
	}
}

/* MEMO:このクラスは太陽光問合せフォーム固有項目の指定です。
** もし今後こういう固有指定要素が増えそうなら項目移した方が良いかもしれません */
dd.form_input_area.land_area {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-end;
	justify-content: flex-start;
}

dd.form_input_area.land_area span.wpcf7-form-control-wrap.land_area {
	padding: 0 10px;
	flex-basis: 150px;
}
/****************** 太陽光フォーム固有項目 END ******************/

/* privacy */
#privacy .privacy_inn {
	width: 900px;
	margin: 0 auto;
	padding: 80px 0;
}
#privacy .privacy_inn h2 {
	font-weight: bold;
	color: #03275f;
	font-size: 28px;
	border-bottom: 3px solid #03275f;
	padding: 0 0 8px;
	margin: 0 0 35px;
	text-align: center;
}
#privacy .privacy_inn p {
	font-size: 16px;
	line-height: 28px;
}
#privacy .privacy_inn p strong {
	font-weight: bold;
}
#privacy .privacy_inn p.aright {
	text-align: right;
	margin: 30px 0 0;
}

@media (max-width: 768px) {
	#privacy .privacy_inn {
		width: 92%;
		padding: 8% 0;
	}
	#privacy .privacy_inn h2 {
		font-size: 17px;
		border-bottom: 2px solid #03275f;
		padding: 0 0 2%;
		margin: 0 0 5%;
		text-align: left;
	}
	#privacy .privacy_inn p {
		font-size: 12px;
		line-height: 20px;
	}
	#privacy .privacy_inn p.aright {
		margin: 6% 0 0;
	}
}
