@charset "UTF-8";
@import url(color.css);

/* トップページ */
.top-content {width: 100%;}
.top-banner {
	overflow: hidden;
	position: relative;
	height: 0;
	min-height: 76rem;
	padding-bottom: calc(760 / 1920 * 100%);
}
.top-banner-scroll {
	position: absolute;
	bottom: -1.3rem;
	left: -14rem;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.8rem;
	color: var(--white);
	transform: rotate(90deg);
	transform-origin: right;
	display: flex;
	align-items: center;
}
.top-banner-scroll > span {
	margin-left: 1rem;
	display: block;
	width: 14rem;
	height: 0.1rem;
	background-color: var(--white);
}
.top-banner-kv {
	position: absolute;
	background-image: url("../images/index/kv-pc.jpg");
	/* background-image: url("../images/index/kv-pc.png"); */
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 100%;
	min-height: 76rem;
	top: 0;
	left: 0;
}
.top-banner-kv-cta {
	position: absolute;
	top: 20.65%;
	left: 50%;
	color: var(--white);
	text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	font-weight: bold;
	height: 0;
	width: 100%;
	max-width: 124rem;
	padding-bottom: calc(760 / 1920 * 100%);
	transform: translateX(-50%);
}

@media screen and (min-width: 2000px) {	.top-banner-kv-cta {top: 25%;} }
@media screen and (min-width: 2150px) {	.top-banner-kv-cta {top: 30%;} }
@media screen and (min-width: 2300px) {	.top-banner-kv-cta {top: 35%;} }

.top-banner-kv-cta-img {
	display: flex;
	align-items: flex-end;
}

@media screen and (max-width: 1160px) {
	.top-banner {min-height: 56rem;}
	.top-banner-scroll {left: -19rem;}
	.top-banner-kv {min-height: 56rem;}
}
@media screen and (max-width: 767px) {
	.top-banner {
		min-height: 0;
		padding-bottom: calc(610 / 375 * 100%);
	}
	.top-banner-scroll {display: none;}
	.top-banner-kv {
		min-height: 0;
		background-image: url("../images/index/kv-sp.jpg");
		/* background-image: url("../images/index/kv-sp.png"); */
	}
	.top-banner-kv-cta {
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		padding: 0 1.5rem;
		transform: translateX(0);
	}
	.top-banner-kv-cta-img {width: 100%;}
}

.top-banner-kv-cta-img img {width: 57.5rem;}
.top-banner-kv-cta-img span {
	font-size: 4.5rem;
	line-height: 8rem;
	margin-left: -1.5rem;
	padding-bottom: 3.2rem;
}
.top-banner-kv-cta strong {
	font-size: 4.5rem;
	line-height: 8rem;
	display: inline-block;
	margin-left: 2.7rem;
	margin-bottom: -2rem;
}
.top-banner-kv-cta h1 .txt-white {color: var(--white);}
.top-banner-kv-cta h1 {
	font-size: 5rem;
	margin-top: -3.5rem;
	margin-left: 6.9rem;
}
.top-banner-kv-cta h1 span {
	font-size: 7rem;
	line-height: 8.5rem;
	margin-right: 2rem;
	text-shadow: 0 0 13px rgba(44, 77, 122, 0.5);
}
.top-banner-kv-cta h2 {
	font-size: 2.6rem;
	margin-top: 4rem;
	margin-left: 4rem;
}
.top-banner-kv-cta h2:before {
	content: "";
	display: inline-block;
	width: 0.3rem;
	height: 2.4rem;
	background: var(--white);
	transform: rotate(-20deg);
	margin-right: 1rem;
}
.top-banner-kv-cta h2:after {
	content: "";
	display: inline-block;
	width: 0.3rem;
	height: 2.4rem;
	background: var(--white);
	transform: rotate(20deg);
	margin-left: 1rem;
}
.top-banner-kv-cta a {
	background-image: linear-gradient(317deg, var(--primary-color), var(--quaternary-color));
	color: var(--white);
	border-radius: 9999px;
	padding: 3.5rem 9.8rem;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.16);
	font-size: 2.1rem;
	font-weight: bold;
	line-height: 2.8rem;
	margin-top: 2.3rem;
	margin-left: 3.72rem;
}
.top-banner-kv-cta a:hover {opacity: 0.6;}
.top-banner-kv-cta a .icon {
	border: 2px solid var(--white);
	border-width: 0 3px 3px 0;
	display: block;
	height: calc(4rem / 4);
	width: calc(4rem / 4);
	transform: rotate(-45deg);
	margin-right: 2rem;
}
.top-banner2-kv {
	overflow: hidden;
	width: 100%;
	position: relative;
	height: 0;
	padding-bottom: calc(840 / 1920 * 100%);
}
.top-banner2-kv img {
	position: absolute;
	bottom: 0;
	right: 13.96%;
	width: 31.35%;
}

@media screen and (max-width: 1160px) {
	.top-banner-kv-cta-img img {width: 30rem;}
	.top-banner-kv-cta-img span {font-size: 3.2rem;}
	.top-banner-kv-cta strong {font-size: 3.2rem;}
	.top-banner-kv-cta h1 {
		font-size: 3.6rem;
		margin-left: 2rem;
		margin-top: -1rem;
	}
	.top-banner-kv-cta h1 span {font-size: 5.2rem;}
	.top-banner-kv-cta h2 {
		font-size: 1.8rem;
		margin-top: 2rem;
	}
	.top-banner-kv-cta a {
		font-size: 1.6rem;
		padding: 2rem 4rem;
	}
}

@media screen and (max-width: 767px) {
	.top-banner-kv-cta-img img {
		width: 27rem;
		margin-right: 1rem;
		height: auto;
	}
	.top-banner-kv-cta-img span {
		font-size: 2.6rem;
		line-height: normal;
		padding-bottom: 1.2rem;
	}
	.top-banner-kv-cta strong {margin-left: 1rem;}
	.top-banner-kv-cta h1 {
		margin-left: 0;
		font-size: 3rem;
		line-height: normal;
		margin-top: 0;
	}
	.top-banner-kv-cta h1 span {
		font-size: 4.4rem;
		line-height: normal;
	}
	.top-banner-kv-cta h2 {
		position: absolute;
		bottom: 100px;
		left: 50%;
		width: 100%;
		font-size: 1.8rem;
		text-align: center;
		margin: 20rem auto 0;
		transform: translateX(-50%);
	}
	.top-banner-kv-cta a {
		position: absolute;
		bottom: 25px;
		left: 50%;
		width: calc(100% - 3rem);
		font-size: 1.6rem;
		padding: 1.8rem 4rem;
		margin-left: 0;
		box-sizing: border-box;
		transform: translateX(-50%);
	}
	.top-banner-kv-cta a:hover {opacity: 1;}
	.top-banner-kv-cta a .icon {
		height: calc(2rem / 4);
		width: calc(2rem / 4);
		margin-right: 1rem;
	}
}

/* top-01 */
.top-01 {
	position: relative;
	display: flex;
	margin-top: 15rem;
	text-align: center;
	padding: 0;
}
.top-01 img{max-width: 100%;}
.top-01:before {
	content: "";
	position: absolute;
	top: -622px;
	right: 48px;
	display: block;
	width: 541px;
	height: 541px;
	background: url(../images/index/kv2-pc.png) 0 0 no-repeat;
	background-size: contain;
}
.top-01:after {
	content: "";
	border: solid var(--lightgray1) 1px;
	position: absolute;
	top: -160px;
	display: block;
	width: 460px;
	height: 98px;
	background: url(../images/index/banner01.png) 0 0 no-repeat;
	background-size: contain;
	margin-left: 3.72rem;
}
.top-01 .img01 {margin: 0 20px 20px;}
.top-01 .img01 img{
	border: solid var(--lightgray1) 1px;
	text-align: center;
}
.top-01_inner{
	width: 100%;
	margin: 0 auto;	
}
.top-01-img {
	flex: 0 0 31.5rem;
	position: relative;
	width: 31.5rem;
	margin-right: 8.5rem;
}
.top-01-imgBg {
	margin-top: 6.2rem;
	position: absolute;
	background-color: var(--milk);
	height: 22rem;
	width: 36rem;
	top: 0;
	left: -2.3rem;
	z-index: -1;
}
.top-01_inner .news_box{
	border: 1px solid var(--lightgray1);
	font-size: 16px;
	text-align: left;
	line-height: 1.36;
	padding: 20px;
	margin: 0 80px;
}
.top-01_inner .news_box .ttl{
	font-weight: bold;
}
.top-01_inner .news_box .date{
	color: var(--secondary-text-color);
}

@media screen and (max-width: 1160px) {
	.top-01:before {
		top: -41rem;
		width: 30rem;
		height: 30rem;
	}
	.top-01:after {
		top: -160px;
		width: 28.5rem;
		height: 6.2rem;
	}
}
@media screen and (max-width: 767px) {
	.top-01 {
		flex-direction: column;
		margin-top: 5rem;
		margin-bottom: 5rem;
	}
	.top-01:before,
	.top-01:after {display: none;}
	.top-01-img {
		flex: 0 0 0;
		width: 15.6rem;
		margin: 0 auto;
	}
	.top-01-img img {width: 15.6rem;}
	.top-01-imgBg {
		width: 18rem;
		margin: 0 auto;
		height: 9.8rem;
		top: 3rem;
		left: -1rem;
	}
	.top-01_inner .news_box{margin: 0 20px;}
}

/* .top-02 */
.top-02 {
	width: 100%;
	background-color: var(--milk);
}
.top-02 ul {display: flex;}
.top-02 ul li {
	background-color: var(--white);
	margin-right: 2rem;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.16);
	padding: 2.8rem 4rem 5rem 4rem;
	flex: 1 1 0px;
}
.top-02 ul li img {
	width: 100%;
	max-width: 15rem;
	margin: 0 auto 1rem auto;
	display: block;
}
.top-02 ul li:last-child {margin-right: 0;}

@media screen and (max-width: 767px) {
	.top-02 ul {flex-direction: column;}
	.top-02 ul li {
		margin-right: 0;
		margin-bottom: 1.5rem;
		display: flex;
		flex: none;
		padding: 2rem;
	}
	.top-02 ul li img {
		margin: 0 1rem 0 0;
		width: 8rem;
		height: 8rem;
	}
	.top-02 ul li:last-child {margin-bottom: 0;}
}

/* 221201 top-assets-01 追加 */
.top-assets-01 {width: 100%;}
.top-assets-01 ul {display: flex;}
.top-assets-01 ul li {
	background-color: var(--white);
	max-width: 580px;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.16);
	flex: 1 1 0px;
	margin-right: 2rem;
}
.top-assets-01 ul li a{
	-moz-transition: color .3s, opacity .3s, background .3s;
	-o-transition: color .3s, opacity .3s, background .3s;
	-webkit-transition: color .3s, opacity .3s, background .3s;
	transition: color .3s, opacity .3s, background .3s;
}

.top-assets-01 ul li a:hover {opacity: 0.5;}
.top-assets-01 ul li img {
	width: 100%;
	margin: 0 auto 2rem;
	display: block;
}
.top-assets-01 ul li:last-child {margin-right: 0;}
.top-assets-01 .txt_box01 .txt01 {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}
.top-assets-01 .txt_box01 .txt02 {
	position: relative;
	color: var(--secondary-color);
	font-size: 22px;
	font-weight: bold;
	text-align: right;
	margin-right: 1rem;
	padding: 0 0 3rem 3rem;
}
.top-assets-01 .txt_box01 .txt02::before {
	content: "";
	position: absolute;
	border: solid var(--secondary-color);
	border-width: 0 3px 3px 0;
	top: 6px;
	height: calc(4rem / 4);
	width: calc(4rem / 4);
	transform: rotate(-45deg);
	margin-right: 1rem;
	right: 16rem;
}
@media screen and (max-width: 767px) {
	.top-assets-01 ul {flex-direction: column;}
	.top-assets-01 ul li,
	.top-assets-01 ul li:last-child {
		display: block;
		flex: none;
		margin: 0 auto 1.5rem;
	}
}

/* top-03 */
.top-03 {
	width: 100%;
	background-color: var(--lightgray2);
}
.top-03 ul {
	margin-top: 5rem;
	display: flex;
}
.top-03 ul li {
	position: relative;
	flex: 1 1 0px;
	padding: 0 6.5rem;
}
.top-03 ul li img {
	display: block;
	border-radius: 9999px;
	max-width: 30rem;
	width: 100%;
	max-height: 30rem;
	height: auto;
	margin: 0 auto;
	background-color: var(--white);
}
.top-03 ul li h4 {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 7rem;
	line-height: normal;
}
.top-03 ul li:last-child {
	margin-right: 0;
}
@media screen and (max-width: 767px) {
	.top-03 ul {flex-direction: column;}
	.top-03 ul li {
		display: flex;
		min-height: 184px;
		margin-right: 0;
		padding: 0;
	}
	.top-03 ul li div {
		width: calc(100% - 12rem);
		margin-bottom: 2.8rem;
	}
	.top-03 ul li img {
		width: 10.5rem;
		height: 10.5rem;
		margin: 0 1.5rem 1.5rem 0;
	}
	.top-03 ul li h4 {
		justify-content: flex-start;
		align-items: flex-start;
		min-height: 2.6rem;
	}
}

/* top-04 */
.top-04 {
	background: url("../images/index/top-04.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	overflow: hidden;
	position: relative;
}
.top-04 .container {position: relative;}
.top-04-control {
	display: flex;
	position: absolute;
	right: 0;
	top: 40%;
	z-index: 1;
}
.top-04-control .top-04-prev {
	cursor: pointer;
	margin-right: 4rem;
	position: relative;
	width: 6rem;
}
.top-04-control .top-04-prev::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	box-sizing: border-box;
	border-radius: 50%;
	border: 2px solid var(--primary-color);
	display: inline-block;
	height: 6rem;
	width: 6rem;
	transition: 0.3s;
	transform: translate(-50%, -50%);
}
.top-04-control .top-04-prev::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 25%;
	right: 25%;
	margin: auto;
	border: 2px solid var(--primary-color);
	border-width: 0 2px 2px 0;
	display: inline-block;
	height: calc(6rem / 4);
	width: calc(6rem / 4);
	margin-top: calc((((100% - (6rem / 4)) / 2) / -2) + 1px);
	left: calc((100% - (6rem / 4)) / 2);
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
}
.top-04-control .top-04-prev:hover::before {
	height: 8rem;
	width: 8rem;
}
.btn-a:hover .top-04-control .top-04-prev::before {
	height: 8rem;
	width: 8rem;
}
.top-04-control p {
	color: var(--primary-text-color);
	font-size: 2.6rem;
	font-weight: bold;
}
.top-04-control p small {font-size: 1.8rem;}
.top-04-control .top-04-next {
	cursor: pointer;
	margin-left: 4rem;
	position: relative;
	width: 6rem;
}
.top-04-control .top-04-next::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	box-sizing: border-box;
	border-radius: 50%;
	border: 2px solid var(--primary-color);
	display: inline-block;
	height: 6rem;
	width: 6rem;
	transition: 0.3s;
	transform: translate(-50%, -50%);
}
.top-04-control .top-04-next::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 25%;
	right: 25%;
	margin: auto;
	border: 2px solid var(--primary-color);
	border-width: 0 2px 2px 0;
	display: inline-block;
	height: calc(6rem / 4);
	width: calc(6rem / 4);
	margin-top: calc((((100% - (6rem / 4)) / 2) / -2) + 1px);
	right: calc((100% - (6rem / 4)) / 2);
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}
.top-04-control .top-04-next:hover::before {
	height: 8rem;
	width: 8rem;
}
.btn-a:hover .top-04-control .top-04-next::before {
	height: 8rem;
	width: 8rem;
}
.top-04 ul {
	position: relative;
	display: flex;
	align-items: flex-end;
	height: 48.6rem;
	margin-top: 5rem;
}
.top-04 ul li {
	box-sizing: border-box;
	position: inherit;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.16);
	background-color: var(--white);
	padding: 2rem;
	margin-right: 2rem;
	min-width: 28rem;
	max-width: 28rem;
	min-height: 20rem;
	max-height: 20rem;
	left: 0;
	transition: 0.3s;
}
.top-04 ul li h3 {
	display: flex;
	align-items: flex-end;
	font-size: 2rem;
	font-weight: bold;
}
.top-04 ul li h3 span {
	color: var(--primary-color);
	font-family: "Roboto", "Hiragino Kaku Gothic Pro";
	font-size: 4rem;
	font-weight: bold;
	margin-right: 1rem;
}

.top-04 ul li.active {
	padding: 4rem;
	min-height: 48.6rem;
	max-height: 48.6rem;
	min-width: 58rem;
	max-width: 58rem;
	left: 0;
}
@media screen and (max-width: 970px) {
	.top-04 ul li.active {min-width: 38rem;}
}

.top-04 ul li.active h3 {font-size: 2.4rem;}
.top-04 ul li.active h3 span {
	font-size: 5rem;
	margin-right: 1.5rem;
}
.top-04 ul li.active p {
	opacity: 1;
	transition: 0.7s;
}
.top-04 ul li img {
	width: 75%;
	display: block;
	margin: 3.1rem auto 0 auto;
}
.top-04 ul li img + p {
	line-height: normal;
	margin-top: 2rem;
}
.top-04 ul li p {opacity: 0;}
@media screen and (max-width: 767px) {
	.top-04 {
		background: url("../images/index/top-04sp.png");
		background-repeat: no-repeat;
		background-size: cover;
	}
	.top-04-control {
		margin-top: 2rem;
		align-items: center;
		justify-content: center;
		position: relative;
	}
	.top-04-control .top-04-prev:hover::before {
		height: 6rem;
		width: 6rem;
	}
	.top-04-control .top-04-prev {
		position: relative;
		width: 5rem;
	}
	.top-04-control .top-04-prev::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		box-sizing: border-box;
		border-radius: 50%;
		border: 2px solid var(--primary-color);
		display: inline-block;
		height: 5rem;
		width: 5rem;
		transition: 0.3s;
		transform: translate(-50%, -50%);
	}
	.top-04-control .top-04-prev::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 25%;
		right: 25%;
		margin: auto;
		border: 2px solid var(--primary-color);
		border-width: 0 2px 2px 0;
		display: inline-block;
		height: calc(5rem / 4);
		width: calc(5rem / 4);
		margin-top: calc((((100% - (5rem / 4)) / 2) / -2) + 1px);
		left: calc((100% - (5rem / 4)) / 2);
		transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
	}
	.top-04-control .top-04-prev:hover::before {
		height: 5rem;
		width: 5rem;
	}
	.top-04-control .top-04-prev:hover::before {
		height: 5rem;
		width: 5rem;
	}
	.top-04-control p {font-size: 2.3rem;}
	.top-04-control p small {font-size: 1.6rem;}
	.top-04-control .top-04-next:hover::before {
		height: 6rem;
		width: 6rem;
	}
	.top-04-control .top-04-next {
		position: relative;
		width: 5rem;
	}
	.top-04-control .top-04-next::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		box-sizing: border-box;
		border-radius: 50%;
		border: 2px solid var(--primary-color);
		display: inline-block;
		height: 5rem;
		width: 5rem;
		transition: 0.3s;
		transform: translate(-50%, -50%);
	}
	.top-04-control .top-04-next::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 25%;
		right: 25%;
		margin: auto;
		border: 2px solid var(--primary-color);
		border-width: 0 2px 2px 0;
		display: inline-block;
		height: calc(5rem / 4);
		width: calc(5rem / 4);
		margin-top: calc((((100% - (5rem / 4)) / 2) / -2) + 1px);
		right: calc((100% - (5rem / 4)) / 2);
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}
	.top-04-control .top-04-next:hover::before {
		height: 5rem;
		width: 5rem;
	}
	.top-04-control .top-04-next:hover::before {
		height: 5rem;
		width: 5rem;
	}
	.top-04 ul {height: 36rem;}
	.top-04 ul li {
		max-height: 18rem;
		min-height: 18rem;
		max-width: 20rem;
		min-width: 20rem;
		padding: 1.5rem;
	}
	.top-04 ul li h3 {font-size: 1.8rem;}
	.top-04 ul li h3 span {font-size: 3rem;}
	.top-04 ul li.active {
		max-height: 39rem;
		min-height: 36rem;
		max-width: 31.5rem;
		min-width: 31.5rem;
		padding: 1.5rem;
	}
	.top-04 ul li.active h3 {font-size: 1.8rem;}
	.top-04 ul li.active h3 span {font-size: 3rem;}
}

/* 221201追加 top-assets-02 */
.top-assets-02 {padding: 20px 0;}
.top-assets-02 .listUl {
	display: flex;
	flex-wrap: wrap;
	margin: 5rem 0 2.5rem;
}
.top-assets-02 .listUl li {
	margin: 30px 28px 0 0;
	padding: 30px 25px 26px;
	width: calc((100% - 84px)/4);
	background-color: var(--white);
	border-radius: 12px;
	box-sizing: border-box;
	box-shadow: 0 0 6px rgba(0,0,0,0.1);
}
.top-assets-02 .listUl li:nth-child(4n) {margin-right: 0;}
.top-assets-02 .listUl .img {
	margin: 0 auto 13px;
	max-width: 160px;
}
.top-assets-02 .listUl h3 {
	margin-bottom: 19px;
	color: var(--primary-color);
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.36;
	text-align: center;
}
.top-assets-02 .listUl p {
	font-size: 1.8rem;
	line-height: 1.66;
}
.top-assets-02 .listUl p small {font-size: 1.4rem;}
.top-assets-02 .node {
	font-weight: 300;
	font-size: 1.4rem;
	line-height: 1.71;
}
@media screen and (max-width: 1160px) {
	.top-assets-02 .listUl {display: block;}
	.top-assets-02 .listUl li {width: 100%;}
}

/* 221201追加 top-assets-03 */
.top-assets-03 .top_table01 {
	width: 100%;
	background: var(--white);
}
.top-assets-03 .top_table01 thead th{
	background: var(--white);
	font-size: 16px;
	vertical-align: bottom;
}
.top-assets-03 .top_table01 thead th span{
	display: block;
	font-size: 20px;
	font-weight: bold;
	padding-bottom: 10px;
}
.top-assets-03 .top_table01 th img{
	max-height: 140px;
	margin: 10px auto;
}

.top-assets-03 .top_table01 tbody th,
.top-assets-03 .top_table01 tbody td{
	border:1px solid #989898;
	font-size: 1.4rem;
	text-align: center;
	padding:5px;
}
.top-assets-03 .top_table01 tbody th{background: var(--secondary-color);}
.top-assets-03 .top_table01 tbody td.yellow_cell{
	background: var(--milk);
	text-align: left;
}
.top-assets-03 .top_table01 tbody td.non_border_cell{
	border-left-width: 0;
	border-right-width: 0;
}
.top-assets-03 .txt01{
	font-size: 1.4rem;
	line-height: 1.36;
}
@media only screen and (max-width: 769px) {
	.scroll{
		overflow: auto;
		white-space: nowrap;
	}
	.scroll::-webkit-scrollbar-track{background: #F1F1F1;}
	.scroll::-webkit-scrollbar-thumb{background: #BCBCBC;}
}

/* 221201追加 top-assets-04 */
.top-assets-04 .flex_wrap ul{
	display: flex;
	flex-wrap: wrap;
	border: solid var(--secondary-color);
	border-width: 3px 0;
	padding: 20px 0 5px;
	margin: 20px auto;
}
.top-assets-04 .flex_wrap ul > li {
	width: calc(100% / 3);
	margin-bottom: 15px;
}
.top-assets-04 .txt01{
	font-size: 1.8rem;
	text-align: center;
}
.top-assets-04 .flex_wrap ul > li > a{
	color: #000;
	font-size: 1.8rem;
	text-decoration: underline;
}
.top-assets-04 .flex_wrap ul > li > a:hover{
	opacity: 0.5;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	.top-assets-04 .flex_wrap ul > li {width: 100%;}
}

/* top-05 */
.top-05 {overflow: hidden;}
.top-05-control {
	margin-top: 6rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.top-05-control p {
	color: var(--primary-text-color);
	font-size: 2.6rem;
	font-weight: bold;
}
.top-05-control p small {font-size: 1.8rem;}
.top-05-content {position: relative;}
.top-05-contentBg {
	position: absolute;
	top: 0;
	left: calc(770 / 1920 * 100%);
	background-color: var(--lightgray2);
	width: 100%;
	height: calc(100% - 7.5rem);
	z-index: -1;
}
.top-05-contentSlide {width: 100%;}
.top-05-contentSlide-item {
	display: none;
	width: 100%;
	transition: 0.3s;
}
.top-05-contentSlide-item.active {display: flex !important;}
.top-05-content figure {
	display: block;
	width: 50%;
}
.top-05-content figure img {
	display: block;
	width: 100%;
	max-width: 58rem;
	height: auto;
}
.top-05-contentFull {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.top-05-contentFullDetails {
	word-break: break-all;
	display: flex;
	flex-direction: column;
	width: calc(50% - 5rem);
}
.top-05-contentFullDetails h4 {
	color: var(--primary-color);
	font-size: 2.5rem;
	font-weight: bold;
	font-family: "Roboto", "Hiragino Kaku Gothic Pro";
}
.top-05-contentFullDetails h4 span {
	margin-left: 1rem;
	font-size: 3.5rem;
}
.top-05-contentFullDetails h5 {
	margin: 2rem 0;
	color: var(--primary-text-color);
	font-weight: bold;
	line-height: 2.8rem;
	font-size: 2.1rem;
}
.top-05-contentFullDetails h5 span {
	color: var(--secondary-text-color);
	font-weight: 500;
	font-size: 1.6rem;
	margin-left: 4rem;
}
.top-05-contentFullDetails p {
	font-size: 1.6rem;
	line-height: 3.5rem;
	font-weight: 500;
}
.top-05-contentFullDetails img {
	display: block;
	margin: 4rem auto 0 auto;
	max-width: 26.4rem;
	width: 100%;
}
.top-05-contentFullDetails a {
	margin-top: 5rem;
	align-self: flex-end;
}
.top-05 .top-05-prev {
	cursor: pointer;
	margin-right: 4rem;
	position: relative;
	width: 6rem;
}
.top-05 .top-05-prev::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	box-sizing: border-box;
	border-radius: 50%;
	border: 2px solid var(--primary-color);
	display: inline-block;
	height: 6rem;
	width: 6rem;
	transition: 0.3s;
	transform: translate(-50%, -50%);
}
.top-05 .top-05-prev::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 25%;
	right: 25%;
	margin: auto;
	border: 2px solid var(--primary-color);
	border-width: 0 2px 2px 0;
	display: inline-block;
	height: calc(6rem / 4);
	width: calc(6rem / 4);
	margin-top: calc((((100% - (6rem / 4)) / 2) / -2) + 1px);
	left: calc((100% - (6rem / 4)) / 2);
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
}
.top-05 .top-05-prev:hover::before {
	height: 8rem;
	width: 8rem;
}
.btn-a:hover .top-05 .top-05-prev::before {
	height: 8rem;
	width: 8rem;
}
.top-05 .top-05-next {
	cursor: pointer;
	margin-left: 4rem;
	position: relative;
	width: 6rem;
}
.top-05 .top-05-next::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	box-sizing: border-box;
	border-radius: 50%;
	border: 2px solid var(--primary-color);
	display: inline-block;
	height: 6rem;
	width: 6rem;
	transition: 0.3s;
	transform: translate(-50%, -50%);
}
.top-05 .top-05-next::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 25%;
	right: 25%;
	margin: auto;
	border: 2px solid var(--primary-color);
	border-width: 0 2px 2px 0;
	display: inline-block;
	height: calc(6rem / 4);
	width: calc(6rem / 4);
	margin-top: calc((((100% - (6rem / 4)) / 2) / -2) + 1px);
	right: calc((100% - (6rem / 4)) / 2);
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}
.top-05 .top-05-next:hover::before {
	height: 8rem;
	width: 8rem;
}
.btn-a:hover .top-05 .top-05-next::before {
	height: 8rem;
	width: 8rem;
}
@media screen and (max-width: 767px) {
	.top-05-control {
		margin-top: 2rem;
		align-items: center;
		justify-content: center;
		position: relative;
	}
	.top-05-control p {font-size: 2.3rem;}
	.top-05-control p small {font-size: 1.6rem;}
	.top-05-contentBg {
		left: 0;
		width: calc(100% + 1.5rem);
		height: calc(100% - 65px);
	}
	.top-05-contentSlide-item {flex-direction: column;}
	.top-05-content figure {width: 100%;}
	.top-05-content figure img {
		width: calc(100% + 15px);
		margin-left: -15px;
	}
	.top-05-contentFull {flex-direction: column;}
	.top-05-contentFullDetails {
		width: 100%;
		margin-left: 0;
		padding: 1.5rem;
		box-sizing: border-box;
	}
	.top-05-contentFullDetails h5 span {
		display: block;
		margin-left: 0;
	}
	.top-05-contentFullDetails a {
		font-size: 1.6rem;
		margin-bottom: 3rem;
	}
	.top-05 .top-05-prev:hover::before {
		height: 6rem;
		width: 6rem;
	}
	.top-05 .top-05-prev {
		position: relative;
		width: 5rem;
	}
	.top-05 .top-05-prev::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		box-sizing: border-box;
		border-radius: 50%;
		border: 2px solid var(--primary-color);
		display: inline-block;
		height: 5rem;
		width: 5rem;
		transition: 0.3s;
		transform: translate(-50%, -50%);
	}
	.top-05 .top-05-prev::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 25%;
		right: 25%;
		margin: auto;
		border: 2px solid var(--primary-color);
		border-width: 0 2px 2px 0;
		display: inline-block;
		height: calc(5rem / 4);
		width: calc(5rem / 4);
		margin-top: calc((((100% - (5rem / 4)) / 2) / -2) + 1px);
		left: calc((100% - (5rem / 4)) / 2);
		transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
	}
	.top-05 .top-05-prev:hover::before {
		height: 5rem;
		width: 5rem;
	}
	.top-05 .top-05-prev:hover::before {
		height: 5rem;
		width: 5rem;
	}
	.top-05 .top-05-next:hover::before {
		height: 6rem;
		width: 6rem;
	}
	.top-05 .top-05-next {
		position: relative;
		width: 5rem;
	}
	.top-05 .top-05-next::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		box-sizing: border-box;
		border-radius: 50%;
		border: 2px solid var(--primary-color);
		display: inline-block;
		height: 5rem;
		width: 5rem;
		transition: 0.3s;
		transform: translate(-50%, -50%);
	}
	.top-05 .top-05-next::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 25%;
		right: 25%;
		margin: auto;
		border: 2px solid var(--primary-color);
		border-width: 0 2px 2px 0;
		display: inline-block;
		height: calc(5rem / 4);
		width: calc(5rem / 4);
		margin-top: calc((((100% - (5rem / 4)) / 2) / -2) + 1px);
		right: calc((100% - (5rem / 4)) / 2);
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}
	.top-05 .top-05-next:hover::before {
		height: 5rem;
		width: 5rem;
	}
	.top-05 .top-05-next:hover::before {
		height: 5rem;
		width: 5rem;
	}
}

/* top-06 */
.top-06 {background-color: var(--milk);}
.top-06 ul {display: flex;}
.top-06 ul li {
	flex: 1 1 0px;
	position: relative;
	margin-right: 4.5rem;
}
.top-06 ul li:last-child {margin-right: 0;}
.top-06 ul li img {
	display: block;
	width: 100%;
	background-color: var(--white);
	border-radius: 50%;
	margin: 0 auto;
}
.top-06 ul li h5 {
	margin: 1rem 0;
	color: var(--primary-color);
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}
.top-06 ul li p {
	font-size: 1.8rem;
	font-weight: 500;
	color: var(--primary-text-color);
	line-height: 2.8rem;
	text-align: center;
}
.top-06-figure {position: relative;}
.top-06-line {top: 50%;}

@media screen and (max-width: 767px) {
	.top-06 ul {flex-direction: column;}
	.top-06 ul li {
		display: flex;
		flex: none;
		margin-right: 0;
		margin-bottom: 2rem;
	}
	.top-06 ul li:last-child {margin-bottom: 0;}
	.top-06 ul li img {
		width: 12rem;
		height: 12rem;
		margin-right: 2rem;
	}
	.top-06 ul li h5 {
		text-align: left;
		margin: 0 0 0.5rem 0;
	}
	.top-06 ul li p {
		text-align: left;
		font-size: 1.6rem;
		line-height: 2.5rem;
	}
	.top-06-content {width: calc(100% - 12rem);}
}

/* top-07 */
.top-07 {
	position: relative;
	padding: 10rem 0 0 0;
	overflow: hidden;
}
.top-07-bg {
	display: block;
	background: url("../images/index/top-07.png");
	background-repeat: no-repeat;
	position: absolute;
	top: 10rem;
	left: calc(770 / 1920 * 100%);
	width: 100%;
	height: 47.4rem;
	z-index: -1;
}
.top-07-content {
	background-color: var(--white);
	width: 76rem;
	padding: 8rem;
	box-sizing: border-box;
}
.top-07-content p {
	font-size: 1.6rem;
	color: var(--primary-text-color);
	line-height: 2.4rem;
}
@media screen and (max-width: 767px) {
	.top-07 { padding: 5rem 0; }
	.top-07-bg {
		left: 1.5rem;
		height: 14.9rem;
		top: 5rem;
		background-position: center;
		background-size: contain;
	}
	.top-07-content {
		width: 100%;
		padding: 2.2rem 0 0 0;
	}
}

/* top-08 */
.top-08 {
	background: linear-gradient(317deg, var(--primary-color), var(--quaternary-color));
	width: 100%;
}
.top-08 h3 {
	color: var(--white);
	font-size: 3.1rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 2.2rem;
}
.top-08 h4 {
	color: var(--white);
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
}
.top-08 ul {
	display: flex;
	justify-content: center;
}
.top-08 ul li {
	display: flex;
	flex: 1 1 0px;
	justify-content: center;
	align-items: center;
}
.top-08 ul li:first-child {margin-right: 20px;}
.top-08 ul li:last-child {margin-right: 0;}

@media screen and (max-width: 767px) {
	.top-08 h3 {
		font-size: 2.4rem;
		margin-bottom: 2rem;
	}
	.top-08 ul { flex-direction: column; }
	.top-08 ul li:first-child { margin-right: 0; }
	.top-08 ul li .btn-b.white {
		max-width: 32rem;
		height: 6rem;
		padding: 2.5rem 0;
	}
}

.top-08 .banner_area {
	background-color: var(--white);
	padding: 20px;
}
.banner_box{
	display: flex;
    justify-content: center;
	background-color: var(--white);
	flex: 1 1 0px;
	margin: 0 auto;
}
.banner_box_inner{
	width: calc(50% - 10px);
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.16);
	margin-bottom: 20px;
}

.banner_box a{
	-moz-transition: color .3s, opacity .3s, background .3s;
	-o-transition: color .3s, opacity .3s, background .3s;
	-webkit-transition: color .3s, opacity .3s, background .3s;
	transition: color .3s, opacity .3s, background .3s;
}
.banner_box a:hover {opacity: 0.5;}
.banner_box img {
	width: 100%;
	margin: 0 auto 2rem;
	display: block;
}
.banner_box .txt_box01 .txt01 {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
    line-height: 1.36;
	margin-bottom: 20px;
}


.banner_box .txt_box01 .txt_parallel{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.banner_box .txt_box01 .txt03 {
	position: relative;
	color: var(--secondary-color);
	font-size: 22px;
	font-weight: bold;
	min-width: 7em;
	text-align: right;
	margin-right: 1rem;
	padding: 0 0 1rem 3rem;
}

.banner_box .txt_box01 .txt03::before {
	content: "";
	position: absolute; 
	border: solid var(--secondary-color);
	border-width: 0 3px 3px 0;
	top: 6px;
	height: calc(4rem / 4);
	width: calc(4rem / 4);
	box-sizing: content-box;
	transform: rotate(-45deg);
	margin-right: 1rem;
	right: 16rem;
}

.banner_box .txt_box01 .txt02 {
	font-size: 14px;
	border: 2px solid #f23400;
	text-indent: -1em;
	margin: 0 1em 10px;
	padding: 0.5rem 0.3em 0.5rem 1.3em;
}
.br_sp{display: none;}

@media screen and (max-width: 1060px) {
	.banner_box .txt_box01 .txt_parallel{display: block;}
	.br_sp{display: block;}
}
@media screen and (max-width: 868px) {
	.banner_box .txt_box01 .txt02 {font-size: 12px;}
}

@media screen and (max-width: 767px) {
	.banner_box { 
		display: block;
		width: 100%;
	}
	.banner_box_inner{width: 100%;}
	.banner_box .txt_box01 .txt02 {font-size: 12px;}
}

/* top-09 */
.top-09 {background-color: var(--lightgray2);}
.top-09-content {display: flex;}
.top-09-contentL {flex: 1 0 40rem;}
.top-09-contentR {
	flex: 1 1 auto;
	width: 70rem;
}

@media screen and (max-width: 767px) {
	.top-09-content {flex-direction: column;}
	.top-09-contentL {
		flex: 1 1 0px;
		margin-bottom: 4rem;
	}
	.top-09-contentR {width: auto;}
}

/* top-10 */
.top-10-content {display: flex;}
.top-10-contentL {flex: 1 0 40rem;}
.top-10-contentR {
	flex: 1 1 auto;
	width: 70rem;
}
.top-10-contentR ul {width: 100%;}
.top-10-contentR ul li {
	border-bottom: solid 1px var(--lightgray1);
	margin: 1.5rem 0;
}
.top-10-contentR ul li:first-child {
	margin-top: 0;
	padding-top: 1.5rem;
	border-top: solid 1px var(--lightgray1);
}
.top-10-contentR ul li h5 {
	display: flex;
	font-size: 1.6rem;
	color: var(--primary-text-color);
	margin-bottom: 2rem;
	font-weight: bold;
	line-height: 2.4rem;
}
.top-10-contentR ul li h5 span {
	color: var(--secondary-text-color);
	margin-right: 4.8rem;
}
.top-10-contentR ul li h5 p {flex: 1;}
@media screen and (max-width: 767px) {
	.top-10-content {flex-direction: column;}
	.top-10-contentL {
		flex: 1 1 0px;
		margin-bottom: 4rem;
	}
	.top-10-contentL .btn-a {font-size: 1.6rem;}
	.top-10-contentR {width: auto;}
	.top-10-contentR ul li h5 span {margin-top: 0.5rem;}
	.top-10-contentR ul li h5 {flex-direction: column;}
}

/* top-11 */
.top-11 {
	background-image: url("../images/index/top-11a.png");
	background-repeat: no-repeat;
	background-size: contain;
}
.top-11-content {
	position: relative;
	padding: 8rem 0 10rem 0;
}
.top-11-contentBg {
	background-color: var(--white);
	position: absolute;
	top: 0;
	left: -8rem;
	right: -8rem;
	bottom: 0;
}
.top-11-content p {position: relative;}
.top-11-content-address {
	position: relative;
	display: flex;
	width: 100%;
}
.top-11-content-address-img {
	display: block;
	width: 34rem;
	height: auto;
	margin-right: 6.3rem;
}
.top-11-content-address > div {	width: 100%;}
.top-11-content-address ul li {
	display: flex;
	font-size: 1.6rem;
	color: var(--primary-text-color);
	margin-bottom: 2rem;
}
.top-11-content-address ul li span {
	display: inline-block;
	flex: 1 1 10rem;
}
.top-11-content-address ul li p {
	display: inline-block;
	flex: 1 1 auto;
	width: 100%;
	line-height: 2.4rem;
}

@media screen and (max-width: 767px) {
	.top-11 {background-size: auto 25rem;}
	.top-11-content {padding: 3rem 1.5rem 5rem 1.5rem;}
	.top-11-contentBg {
		left: 0;
		right: 0;
	}
	.top-11-content-address-img {
		width: 100%;
		max-width: 34rem;
		margin: 0 auto 2rem;
	}
	.top-11-content-address {flex-direction: column;}
}
