@charset "UTF-8";
/*----------------------------------------

	- mv
	+ content
		- pageAnchor
		- sec01
		- plan
		- basic
		- number-goal
		- financial
		- management-plan01
		- management-plan02
		- management-plan03
		- management-plan04
		- management-plan05

		- others

-----------------------------------------*/

/*----------------------------------------
	mv
-----------------------------------------*/
#mv {
	background: #62b1d9 url("../img/c_mv_bg01.jpg") no-repeat right top;
	background-size: 1320px auto;
}
#mv > div > h1 > span:first-child::before {
	display: none;
}
@media screen and (max-width: 767px) {
	#mv {
		background-size: auto 100%;
	}
}

/*----------------------------------------
	content
-----------------------------------------*/
#content {
	padding: 56px 0 90px;
}
@media screen and (max-width: 767px) {
	#content {
		padding: 36px 0 56px;
	}
}

/*----------------------------------------
	pageAnchor
-----------------------------------------*/
#content > #pageAnchor {
	margin-bottom: 97px;
}
#pageAnchor > ul {
	display: flex;
	flex-wrap: wrap;
}
#pageAnchor > ul > li {
	margin-right: 32px;
}
#pageAnchor > ul > li > a {
	position: relative;
	margin: 0 0 40px 0;
	padding: 0 25px 0 0;
	transition: 0.1s ease-out;
	cursor: pointer;
}
#pageAnchor > ul > li > a::after {
	content: "";
	position: absolute;
	top: calc(50% - 3px);
	right: -1px;
	width: 10px;
	height: 10px;
	border-right: solid 2px #00a0e9;
	border-bottom: solid 2px #00a0e9;
	transform-origin: top right;
	transform: rotate(45deg);
	pointer-events: none;
	transition: 0.1s ease-out;
}
#pageAnchor > ul > li > a:hover::after {
	opacity: 0.5;
}
@media screen and (max-width: 767px) {
	#content > #pageAnchor {
		margin-bottom: 67px;
	}
	#pageAnchor > ul {
		width: 300px;
		flex-wrap: wrap;
	}
	#pageAnchor > ul > li {
		margin-right: 0;
	}
	#pageAnchor > ul > li:nth-child(2) {
		margin-left: 30px;
	}
	#pageAnchor > ul > li:nth-child(n+3) {
		margin-top: 6px;
	}
	#pageAnchor > ul > li:nth-child(n+4) {
		margin-top: 7px;
	}
	[lang="en"] #pageAnchor > ul > li:nth-child(n+2) {
		margin-top: 6px;
	}
	[lang="ja"] #pageAnchor > ul {
		width: 375px;
	}
	[lang="ja"] #pageAnchor > ul > li:nth-child(3) {
		margin-top: 0;
		margin-left: 30px;
	}
}

/*----------------------------------------
	sec01
-----------------------------------------*/
.sec01 > .title {
	margin: 56px 0 35px;
	padding: 5px 0 5px 15px;
	border-left: 5px solid #00a0e9;
	color: #000;
	word-break: break-all;
}
@media screen and (max-width: 767px) {
	.sec01 > .title {
		margin-bottom: 26px;
		padding: 2px 0 2px 15px;
		line-height: 1.25;
	}
}

/*----------------------------------------
	sec02
-----------------------------------------*/
.sec02 > .title {
	margin: 56px 0 35px;
	padding: 5px 0;
	color: #000;
	word-break: break-all;
}
@media screen and (max-width: 767px) {
	.sec02 > .title {
		margin-bottom: 26px;
		padding: 2px 0;
		line-height: 1.25;
	}
}

/*----------------------------------------
	plan
-----------------------------------------*/
#plan figure {
	max-width: 820px;
	width: 73.21%;
	margin: 54px auto 55px;
}
#plan figure > img:first-child {
	display: block;
}
#plan figure > img:nth-child(2) {
	display: none;
}
#plan > h3 {
	margin-bottom: 16px;
	color: #000;
}
#plan > p {
	margin-top: 31px;
}
#plan > p:nth-of-type(3) {
	margin-top: 28px;
}
#plan > #segments_table .tableWrapper table {
	width: 100%;
}
#plan > #segments_table .tableWrapper table tr > th,
#plan > #segments_table .tableWrapper table tr > td {
	padding: 16px 20px;
	box-sizing: border-box;
}
#plan > #segments_table .tableWrapper table > thead > tr:first-child > th {
	background: #62b1d9;
	text-align: center;
}
#plan > #segments_table .tableWrapper table > thead > tr:first-child > th:first-child,
#plan > #segments_table .tableWrapper table > tbody > tr > th,
#plan > #segments_table .tableWrapper table > tfoot > tr > th {
	width: 318px;
}
#plan > #segments_table .tableWrapper table > thead > tr:first-child > th:nth-child(n+2) {
	width: 401px;
}
#plan > #segments_table .tableWrapper table > thead > tr:nth-child(2) > th {
	border-bottom: 1px solid #ddd;
	background: #fafafa;
}
#plan > #segments_table .tableWrapper table > thead > tr:nth-child(2) > th:nth-child(2),
#plan > #segments_table .tableWrapper table > thead > tr:nth-child(2) > th:nth-child(4),
#plan > #segments_table .tableWrapper table > tbody > tr > td:nth-of-type(odd),
#plan > #segments_table .tableWrapper table > tfoot > tr > td:nth-of-type(odd) {
	width: 200px;
}
#plan > #segments_table .tableWrapper table > thead > tr:nth-child(2) > th:nth-child(3),
#plan > #segments_table .tableWrapper table > thead > tr:nth-child(2) > th:nth-child(5),
#plan > #segments_table .tableWrapper table > tbody > tr > td:nth-of-type(even),
#plan > #segments_table .tableWrapper table > tfoot > tr > td:nth-of-type(even) {
	width: 201px;
}
#plan > #segments_table .tableWrapper table > thead > tr > th:nth-child(n+2) {
	padding: 16px 10px 16px 20px;
	border-left: 1px solid #ddd;
}
#plan > #segments_table .tableWrapper table > tbody > tr > th,
#plan > #segments_table .tableWrapper table > tfoot > tr > th {
	border-bottom: 1px solid #ddd;
	background: #fafafa;
}
#plan > #segments_table .tableWrapper table > tbody > tr > td,
#plan > #segments_table .tableWrapper table > tfoot > tr > td {
	border-bottom: 1px solid #ddd;
	border-left: 1px solid #ddd;
	text-align: right;
}
#plan > #segments_table + p {
	margin: 16px 0 0 -0.65em;
}
@media screen and (max-width: 767px) {
	#plan figure {
		max-width: calc(100% + 40px);
		width: calc(100% + 40px);
		margin: 36px -20px;
	}
	#plan figure > img:first-child {
		display: none;
	}
	#plan figure > img:nth-child(2) {
		display: block;
	}
	#plan > p {
		margin-top: 31px;
		word-break: break-all;
	}
	#plan > p:first-of-type {
		line-height: 1.75;
	}
	#plan > #segments_table .tableWrapper {
		overflow-x: scroll;
		margin: 0 -20px;
	}
	#plan > #segments_table .tableWrapper > div {
		display: inline-block;
		padding: 0 20px;
	}
	#plan > #segments_table .tableWrapper table {
		width: 604px;
	}
	#plan > #segments_table .tableWrapper table tr > th,
	#plan > #segments_table .tableWrapper table tr > td {
		padding: 11px 14px 12px;
	}
	#plan > #segments_table .tableWrapper table > thead > tr:first-child > th:first-child,
	#plan > #segments_table .tableWrapper table > tbody > tr > th,
	#plan > #segments_table .tableWrapper table > tfoot > tr > th {
		width: 120px;
	}
	#plan > #segments_table .tableWrapper table > thead > tr:first-child > th:nth-child(n+2) {
		width: 242px;
	}
	#plan > #segments_table .tableWrapper table > thead > tr:nth-child(2) > th:nth-child(2),
	#plan > #segments_table .tableWrapper table > thead > tr:nth-child(2) > th:nth-child(4),
	#plan > #segments_table .tableWrapper table > tbody > tr > td:nth-of-type(odd),
	#plan > #segments_table .tableWrapper table > tfoot > tr > td:nth-of-type(odd) {
		width: 121px;
	}
	#plan > #segments_table .tableWrapper table > thead > tr:nth-child(2) > th:nth-child(3),
	#plan > #segments_table .tableWrapper table > thead > tr:nth-child(2) > th:nth-child(5),
	#plan > #segments_table .tableWrapper table > tbody > tr > td:nth-of-type(even),
	#plan > #segments_table .tableWrapper table > tfoot > tr > td:nth-of-type(even) {
		width: 121px;
	}
	#plan > #segments_table .tableWrapper table > thead > tr > th:nth-child(n+2) {
		padding: 11px 14px 12px;
	}
	#plan > #segments_table .tableWrapper table > thead > tr:nth-child(2) > th {
		text-align: center;
	}
}

/*----------------------------------------
	basic
-----------------------------------------*/
#basic p+p {
	margin-top: 20px;
}
#basic p:last-of-type {
	margin-bottom: 40px;
}

/*----------------------------------------
	number-goal
-----------------------------------------*/
#number-goal .contents {
	width: fit-content;
	margin: auto;
}
#number-goal .contents .flex-item {
	display: flex;
	justify-content: center;
	margin: 0 0 60px;
	align-items: center;
	gap: 30px;
}
#number-goal .contents .flex-item table,
#number-goal .contents .flex-item table th,
#number-goal .contents .flex-item table td {
	border: 1px solid #333;
}
#number-goal .contents .flex-item table th,
#number-goal .contents .flex-item table td {
    padding: 10px 15px;
}
#number-goal .contents .flex-item table thead th {
	text-align: center;
}

#number-goal .contents .flex-item table tbody td {
	text-align: right;
}

@media screen and (max-width: 767px) {
	#number-goal .contents .flex-item {
		flex-wrap: wrap;
	}
	#number-goal .contents .flex-item table {
		width: 100%;
		table-layout: fixed;
	}
}

/*----------------------------------------
	management-plan
-----------------------------------------*/
#management-plan02 figure figcaption {
	font-size: 1.8rem;
	margin: 0 0 15px;
	font-weight: bold;
}
#management-plan03 .report {
  margin: 20px 0 0 40px;
}
#management-plan03 .line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 5px;
}
#management-plan03 .dots {
	flex: 1;
	border-bottom: 1px dotted #888;
	margin: 0 8px;
	min-width: 30px;
}
#management-plan03 .result {
	white-space: nowrap;
	font-weight: bold;
	color: #333;
}
#management-plan03 .description {
	margin-left: 1em;
	margin-bottom: 1em;
	color: #555;
}
@media screen and (max-width: 500px) {
	#management-plan03 table thead th.title,
	#management-plan03 table tbody th.title {
		width: 140px;
	}
	#management-plan03 .report {
  margin: 20px auto 0;
}
}
@media screen and (max-width: 767px) {
	#management-plan03 .title {
		white-space: normal;
	}
}
#management-plan05 .definition {
	display: flex;
	gap: 15px;
	margin: 0 0 40px;
}
#management-plan05 .supplement {
	margin: 0 auto 40px;
}

/*----------------------------------------
	.table_2_clumn
-----------------------------------------*/
.table_2_clumn {
	display: flex;
	justify-content: space-between;
	margin: 55px 0 60px;
}
.table_2_clumn>* {
	width: 48%;
}
.table_2_clumn table {
	width: 100%;
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
}
.table_2_clumn table tr th,
.table_2_clumn table tr td {
	padding: 10px 20px;
	box-sizing: border-box;
}
.table_2_clumn table tr th:first-child {
	width: 40px;
}
.table_2_clumn table tr th {
	width: calc(50% - 20px);
	background: #fafafa;
}
.table_2_clumn table tr th+th,
.table_2_clumn table tfoot tr th {
	border-bottom: 2px solid #fff;
}
.table_2_clumn table tr td {
	width: calc(40% - 20px);
	text-align: right;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
}
.table_2_clumn table tr.total {
	border-bottom: 2px solid #fff;
}
.table_2_clumn table tr.total th {
	text-align: center;
}
.table_2_clumn table tfoot tr th {
	text-align: center;
}
@media screen and (max-width: 767px) {
	.table_2_clumn {
		display: block;
		margin-bottom: 40px;
	}
	.table_2_clumn>* {
		width: auto;
	}
	.table_2_clumn>*+* {
		margin-top: 40px;
	}
}

/*----------------------------------------
	.works_table
-----------------------------------------*/
.works_table {
	width: 100%;
	table-layout: fixed;
	margin: 0 auto 40px;
}
.works_table th,
.works_table td {
	padding: 16px 20px;
	border: 2px solid #fff;
}
.works_table thead th {
	text-align: center;
	background-color: #3486c5;
}
.works_table thead th:nth-of-type(1) {
	background-color: #fff;
	text-align: left;
	vertical-align: baseline;
	font-size: 1.8rem;
}
.works_table thead th:nth-of-type(2) {
	background-color: #b9bfc3;
}
.works_table tbody td {
	text-align: right;
}
.works_table tbody tr:nth-child(odd) td:nth-of-type(1) {
	background-color: #d5d8db;
}
.works_table tbody tr:nth-child(even) td:nth-of-type(1) {
	background-color: #f1f2f3;
}
.works_table tbody tr:nth-child(odd) th,
.works_table tbody tr:nth-child(odd) td:not(:nth-of-type(1)) {
	background-color: #99c3e2;
}
.works_table tbody tr:nth-child(even) th,
.works_table tbody tr:nth-child(even) td:not(:nth-of-type(1)) {
	background-color: #cce1f1;
}
@media screen and (max-width: 767px) {
	.tableWrapper {
		overflow-x: scroll;
		margin: 0 -5px 20px;
	}
	.tableWrapper > div {
		padding: 0 10px;
	}
	.tableWrapper .works_table {
		width: 900px;
		margin: 0 0 15px;
	}
}

/*----------------------------------------
	.works_table02
-----------------------------------------*/
.works_table02 {
	width: 100%;
	table-layout: fixed;
	margin: 0 auto 40px;
}
.works_table02 th,
.works_table02 td {
	padding: 16px 20px;
	border: 2px solid #fff;
}
.works_table02 thead th {
	text-align: center;
	background-color: #3486c5;
}
.works_table02 thead th:nth-of-type(1) {
	background-color: #fff;
	text-align: left;
	vertical-align: baseline;
	font-size: 1.8rem;
}
.works_table02 thead th:nth-of-type(2) {
	background-color: #b9bfc3;
}
.works_table02 tbody td:nth-of-type(1) {
	text-align: center;
}
.works_table02 tbody td {
	text-align: right;
}
.works_table02 tbody tr:nth-child(odd) td:nth-of-type(1),
.works_table02 tbody tr:nth-child(odd) td:not(:nth-of-type(1)) {
	background-color: #99c3e2;
}
.works_table02 tbody tr:nth-child(even) td:nth-of-type(1),
.works_table02 tbody tr:nth-child(even) td:not(:nth-of-type(1)) {
	background-color: #cce1f1;
}
.works_table02 tbody tr:nth-child(odd) td:nth-of-type(2) {
	background-color: #d5d8db;
}
.works_table02 tbody tr:nth-child(even) td:nth-of-type(2) {
	background-color: #f1f2f3;
}
.works_table02 tbody tr:nth-child(odd) th{
	background-color: #3486c5;
}
.works_table02 tbody th.total {
	background-color: #3486c5;
}
.works_table02 tbody tr.over td:nth-child(2),
.works_table02 tbody tr.over td:nth-child(4),
.works_table02 tbody tr.over td:nth-child(5),
.works_table02 tbody tr.over td:nth-child(6),
.works_table02 tbody tr.over td:nth-child(7) {
	background-color: #cce1f1 !important;
}
.works_table02 tbody tr.over td:nth-child(3){
	background-color: #f1f2f3 !important;
}

.works_table02 tbody tr.over02 td:nth-child(2),
.works_table02 tbody tr.over02 td:nth-child(4),
.works_table02 tbody tr.over02 td:nth-child(5),
.works_table02 tbody tr.over02 td:nth-child(6),
.works_table02 tbody tr.over02 td:nth-child(7) {
	background-color: #99c3e2 !important;
}
.works_table02 tbody tr.over02 td:nth-child(3){
	background-color: #d5d8db !important;
}
.works_table02 tbody tr.over03 td:nth-child(3),
.works_table02 tbody tr.over03 td:nth-child(4),
.works_table02 tbody tr.over03 td:nth-child(5),
.works_table02 tbody tr.over03 td:nth-child(6),
.works_table02 tbody tr.over03 td:nth-child(7) {
	background-color: #cce1f1 !important;
}
.works_table02 tbody tr.over03 td:nth-child(2){
	background-color: #f1f2f3 !important;
}
.works_table02 tbody tr.over03 td:nth-child(1){
	background-color: #cce1f1 !important;
}
.works_table02:last-of-type {
	margin: 0 auto 20px;
}
@media screen and (max-width: 767px) {
	.tableWrapper .works_table02 {
		width: 900px;
		margin: 0 0 15px;
	}
}

/*----------------------------------------
	.investment_table
-----------------------------------------*/
.investment_table thead th {
	background-color: #3486c5;
}
.investment_table th.title {
	text-align: center;
}
.investment_table th.title,
.investment_table th.depreciation {
	background-color: #0063bd;
}
.investment_table tbody tr:nth-child(odd) th,
.investment_table tbody tr:nth-child(odd) td {
	background-color: #99c3e2;
}
.investment_table tbody tr:nth-child(even) th,
.investment_table tbody tr:nth-child(even) td,
.investment_table tfoot tr th,
.investment_table tfoot tr td {
	background-color: #cce1f1;
}
.investment_table tbody tr th:first-child,
.investment_table tbody tr.total td,
.investment_table tfoot tr.total td {
	background-color: #67a4d4;
}
@media screen and (max-width: 767px) {
	.tableWrapper .investment_table {
		margin: 0 0 15px;
	}
}
/*----------------------------------------
	.image
-----------------------------------------*/
.image {
	max-width: 820px;
	margin: 0 auto 40px;
}
/*----------------------------------------
.unit
-----------------------------------------*/
.unit {
	font-size: 1.4rem;
	text-align: right;
	margin: 0 auto 5px;
}
/*----------------------------------------
.disclaimer
-----------------------------------------*/
.disclaimer {
	font-size: 1.4rem;
	color: #666;
	border-top: 1px solid #ccc;
	padding: 20px 0 0;
}
/*----------------------------------------
.mb_10
.mb_20
.mb_40
-----------------------------------------*/
.mb_10 {
	margin: 0 0 10px;
}
.mb_20 {
	margin: 0 0 20px;
}
.mb_40 {
	margin: 0 0 40px;
}
/*----------------------------------------
.indent
-----------------------------------------*/
.indent02 {
	padding: 0 0 0 40px;
}
/*----------------------------------------
.num
-----------------------------------------*/
.num {
	margin: 0 10px 0 0;
}