@charset "UTF-8";


		
	
/*map
--------------------- */
#map .txt {
	text-align: center;
	margin-bottom: 20px;
}
@media screen and (max-width: 1024px) {
	#map .txt {
		margin-bottom: 2vw;
	}
}
@media screen and (max-width: 767px) {
	#map .txt {
		margin-bottom: 4vw;
	}
}


		
	
/*global
--------------------- */
.global {
	position: relative;
}
	.global .marquee {
		display: flex;
		width: 100%;
		overflow: hidden;
		color: transparent;
		-webkit-text-stroke: 2px #E8EEFC;
		position: absolute;
		top: 120px;
		left: 0;
	}
		.global .marquee .marquee__item {
			flex: 0 0 auto;
			overflow: hidden;
			font-size: 8.0rem;
			font-weight: 700;
			white-space: nowrap;
			line-height: 1;
			padding-right: 20px;
		}
		.global .marquee .marquee__item:nth-child(odd) {
			animation: loop 100s -50s linear infinite;
		}
		.global .marquee .marquee__item:nth-child(even) {
			animation: loop2 100s linear infinite;
		}

	.global a.inner .text {
		padding-top: 95px;
		width: 47%;
	}
	#global02 a.inner .text {
		order: 2;
	}
		.global a.inner .text h2 {
			font-size: 3.0rem;
			font-weight: 700;
			line-height: 1.3em;
			padding-bottom: 30px;
			margin-bottom: 30px;
			border-bottom: dashed 1px #ddd;
		}

		.global a.inner .text .profile {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-bottom: 30px;
		}
			.global a.inner .text .profile .human {
				width: 100px;
			}

			.global a.inner .text .profile .introduction {
				width: -webkit-calc(100% - 120px);
				width: calc(100% - 120px);
			}
				.global a.inner .text .profile .introduction .name {
					font-size: 3.0rem;
					font-weight: 700;
					line-height: 1.3em;
				}

				.global a.inner .text .profile .introduction .txt {
					line-height: 1.6em;
				}

		.global a.inner .text .btn-link {
			width: 180px;
			height: 54px;
			background: #EEF3FF url("../../common/img/icon_arrow_blue.svg") no-repeat right 15px center / 18px;
			padding-left: 15px;
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 54px;
			transition: 0.3s;
			-webkit-transition: 0.3s;
		}
		.global a.inner:hover .text .btn-link {
			background: #004DFF url("../../common/img/icon_arrow_yellow.svg") no-repeat right 15px center / 18px;
			color: #FF0;
		}

	.global a.inner .pht {
		width: 47%;
	}
	#global02 a.inner .pht {
		order: 1;
	}
		.global a.inner .pht img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
@media screen and (max-width: 1024px) {
	.global .marquee {
		top: 12vw;
	}
		.global .marquee .marquee__item {
			font-size: 8.0vw;
			padding-right: 2vw;
		}

	.global a.inner .text {
		padding-top: 8.5vw;
	}
		.global a.inner .text h2 {
			font-size: 3.0vw;
			padding-bottom: 3vw;
			margin-bottom: 3vw;
		}

		.global a.inner .text .profile {
			margin-bottom: 3vw;
		}
			.global a.inner .text .profile .human {
				width: 10vw;
			}

			.global a.inner .text .profile .introduction {
				width: -webkit-calc(100% - 12vw);
				width: calc(100% - 12vw);
			}
				.global a.inner .text .profile .introduction .name {
					font-size: 3.0vw;
				}

		.global a.inner .text .btn-link {
			width: 18vw;
			height: 5.4vw;
			background: #EEF3FF url("../../common/img/icon_arrow_blue.svg") no-repeat right 1.5vw center / 1.8vw;
			padding-left: 1.5vw;
			font-size: 1.6vw;
			line-height: 5.4vw;
		}
		.global a.inner:hover .text .btn-link {
			background: #004DFF url("../../common/img/icon_arrow_yellow.svg") no-repeat right 1.5vw center / 1.8vw;
		}
}
@media screen and (max-width: 767px) {
	.global .marquee {
		top: 17vw;
	}
		.global .marquee .marquee__item {
			font-size: 11.0vw;
		}

	.global a.inner {
		display: block;
	}
		.global a.inner .text {
			width: 100%;
			padding-top: 13vw;
		}
			.global a.inner .text h2 {
				font-size: 6vw;
				padding-bottom: 4vw;
				margin-bottom: 4vw;
			}

			.global a.inner .text .profile {
				margin-bottom: 5vw;
			}
				.global a.inner .text .profile .human {
					width: 25%;
				}

				.global a.inner .text .profile .introduction {
					width: 70%;
				}
					.global a.inner .text .profile .introduction .name {
						font-size: 6vw;
					}

			.global a.inner .text .btn-link {
				width: 60%;
				height: 10vw;
				margin: 0 auto;
				background: #EEF3FF url("../../common/img/icon_arrow_blue.svg") no-repeat right 3vw center / 4vw;
				padding-left: 3vw;
				font-size: 3.6vw;
				line-height: 10vw;
				position: relative;
				z-index: 2;
			}
			.global a.inner:hover .text .btn-link {
				background: #004DFF url("../../common/img/icon_arrow_yellow.svg") no-repeat right 3vw center / 4vw;
			}

		.global a.inner .pht {
			width: 100%;
			margin-top: 5vw;
		}
}


		
	
/*kv
--------------------- */
#kv {
	margin-top: 100px;
	overflow: hidden;
	position: relative;
}
	#kv .breadcrumbs {
		font-size: 1.4rem;
		line-height: 1;
	}
		#kv .breadcrumbs a {
			color: #DAE3F8;
			text-decoration: underline;
		}
		#kv .breadcrumbs a:hover {
			text-decoration: none;
		}

	#kv .marquee {
		display: flex;
		width: 100%;
		overflow: hidden;
		color: transparent;
		-webkit-text-stroke: 1px #E8EEFC;
		position: absolute;
		top: 100px;
		left: 0;
		z-index: -1;
	}
		#kv .marquee .marquee__item {
			flex: 0 0 auto;
			overflow: hidden;
			font-size: 8.0rem;
			font-weight: 700;
			white-space: nowrap;
			line-height: 1;
			padding-right: 20px;
		}
		#kv .marquee .marquee__item:nth-child(odd) {
			animation: loop 100s -50s linear infinite;
		}
		#kv .marquee .marquee__item:nth-child(even) {
			animation: loop2 100s linear infinite;
		}

	#kv .area {
		margin-top: 35px;
	}
		#kv .area .text {
			width: 47%;
		}
			#kv .area .text .label {
				display: inline-block;
				border: solid 1px #fff;
				font-size: 1.4rem;
				line-height: 1;
				padding: 8px 10px 9px 10px;
			}

			#kv .area .text h1 {
				font-size: 3.0rem;
				font-weight: 700;
				line-height: 1.3em;
				padding-top: 110px;
				padding-bottom: 30px;
				margin-bottom: 30px;
				border-bottom: dashed 1px #617EC3;
			}

			#kv .area .text .profile {
				display: flex;
				justify-content: space-between;
				align-items: center;
				margin-bottom: 30px;
			}
				#kv .area .text .profile .human {
					width: 100px;
				}

				#kv .area .text .profile .introduction {
					width: -webkit-calc(100% - 120px);
					width: calc(100% - 120px);
				}
					#kv .area .text .profile .introduction .name {
						font-size: 3.0rem;
						font-weight: 700;
						line-height: 1.3em;
					}

					#kv .area .text .profile .introduction .txt {
						line-height: 1.6em;
					}

		#kv .area .pht {
			width: 47%;
		}
			#kv .area .pht img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
@media screen and (max-width: 1024px) {
	#kv {
		margin-top: 80px;
	}
		#kv .breadcrumbs {
			font-size: 1.5vw;
		}

		#kv .marquee {
			top: 10.5vw;
		}
			#kv .marquee .marquee__item {
				font-size: 8.0vw;
				padding-right: 2vw;
			}

		#kv .area {
			margin-top: 3.5vw;
		}
			#kv .area .text .label {
				font-size: 1.4vw;
				padding: 0.8vw 1vw 0.9vw 1vw;
			}

			#kv .area .text h1 {
				font-size: 3.0vw;
				padding-top: 11vw;
				padding-bottom: 3vw;
				margin-bottom: 3vw;
			}

			#kv .area .text .profile {
				margin-bottom: 3vw;
			}
				#kv .area .text .profile .human {
					width: 10vw;
				}

				#kv .area .text .profile .introduction {
					width: -webkit-calc(100% - 12vw);
					width: calc(100% - 12vw);
				}
					#kv .area .text .profile .introduction .name {
						font-size: 3.0vw;
					}
}
@media screen and (max-width: 767px) {
	#kv .breadcrumbs {
		font-size: 3.0vw;
		overflow-x: scroll;
		white-space: nowrap;
	}

	#kv .marquee {
		top: 19vw;
	}
		#kv .marquee .marquee__item {
			font-size: 11.0vw;
		}

	#kv .area {
		display: block;
		margin-top: 5vw;
	}
		#kv .area .text {
			width: 100%;
		}
			#kv .area .text .label {
				font-size: 3.4vw;
				padding: 1.5vw 2vw 1.5vw 2vw;
			}

			#kv .area .text h1 {
				font-size: 6.0vw;
				padding-top: 17vw;
				padding-bottom: 6vw;
				margin-bottom: 6vw;
			}

			#kv .area .text .profile {
				margin-bottom: 6vw;
			}
				#kv .area .text .profile .human {
					width: 25%;
				}

				#kv .area .text .profile .introduction {
					width: 70%;
				}
					#kv .area .text .profile .introduction .name {
						font-size: 6.0vw;
					}
	
		#kv .area .pht {
			width: 116%;
			margin-left: -8%;
		}
}




/*global-content
--------------------- */
#global-content {
	padding-bottom: 120px;
}
	#global-content .row {
		margin-bottom: 100px;
	}
	#global-content .row:nth-last-child(1) {
		margin-bottom: 0;
	}	
		#global-content .row .txt-pht .txt {
			width: 47%;
		}
		#global-content .row .mg_bottom {
			margin-bottom: 25px;
		}
		#global-content .row:nth-last-child(1) .txt-pht .txt {
			order: 2;
		}

		#global-content .row .txt-pht .pht {
			width: 47%;
		}
		#global-content .row:nth-last-child(1) .txt-pht .pht {
			order: 1;
		}
			#global-content .row .txt-pht .pht img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
@media screen and (max-width: 1024px) {
	#global-content {
		padding-bottom: 12vw;
	}
		#global-content .row {
			margin-bottom: 10vw;
		}
}
@media screen and (max-width: 767px) {
	#global-content {
		padding-bottom: 17vw;
	}
		#global-content .row {
			margin-bottom: 15vw;
		}
			#global-content .row .txt-pht {
				display: block;
			}	
				#global-content .row .txt-pht .txt {
					width: 100%;
				}
				#global-content .row .mg_bottom {
					margin-bottom: 23px;
				}

				#global-content .row .txt-pht .pht {
					width: 100%;
					margin-top: 5vw;
				}
}


		
	
/*future
--------------------- */
#future .inner .parent {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(30, 1fr);
	grid-template-rows: repeat(4, auto); 
    gap: 30px;
	padding-bottom: 120px;
}

	#future .inner .parent .item_1 {	
		position: relative;
		grid-column: span 2 / span 2;
		grid-row: span 2 / span 2;
		width: 723px;
		height: 516px;
		background-color: #fff;
		border-radius: 20px;
		padding: 64px 0 64px 105px;
	}
	
	#future .inner .parent .item_1::after {
		content: "";
		position: absolute;
		z-index: 1;
		top: 0;
		left: 93px;
		width: 102px;
		height: 497px;
		background: url("../img/future/item_irasuto01.svg") no-repeat center/cover;
	}

		#future .inner .parent .item_1 h2 {
			position: relative;
			z-index: 2;
			color: #004DFF;
			font-size: 8rem;
			line-height: 93px;
		}
			#future .inner .parent .item_1 h2 .spacing {
				padding-right: 20px;
			}

		#future .inner .parent .item_1 p {
			color: #004DFF;
			font-size: 2rem;
			font-weight: bold;
			line-height: 36px;
			margin: 37px 0 0 142px;
		}
			#future .inner .parent .item_1 .right-top  {
				position: absolute;
				top: 0;
				right: 37px;
				width: 152px;
				height: auto;
			}

			#future .inner .parent .item_1 .right-bottom  {
				position: absolute;
				bottom: 0;
				right: 0;
				width: 193px;
				height: auto;
			}

			#future .inner .parent .item_1 .left_top  {
				position: absolute;
				top: 93px;
				left: 0;
				width: 58px;
				height: auto;
			}

		#future .inner .parent .common_item {
			position: relative;
			width: 345px;
			height: 243px;
			background-color: #1A5FFF;
			border-radius: 10px;
			padding: 38px 30px;
		}
			#future .inner .parent .common_item p {
				font-size: 1.8rem;
				line-height: 2.8rem;
				color: #fff;
				padding-top: 21PX;
			}

			#future .inner .parent .common_item h2 {
				font-size: 2.9rem;
				line-height: 4rem;
				color: #fff;
			}

				#future .inner .parent .common_item h2 .big {
					font-size: 5rem;
					color: #FFFF00;
				}

		#future .inner .parent .item_2 {
			grid-column-start: 3;
		}

		#future .inner .parent .item_3 {
			grid-column-start: 3;
			grid-row-start: 2;
		}

			#future .inner .parent .item_3 .item_3_irasuto {
				position: absolute;
				z-index: 2;
				width: 116px;
				height: auto;
				top: -20px;
				right: 20px;
			}

		#future .inner .parent .item_4 {
			grid-row-start: 3;
		}

		#future .inner .parent .item_5 {
			grid-row-start: 3;
		}

			#future .inner .parent .item_5 .item_5_irasuto {
				position: absolute;
				z-index: 2;
				width: 84px;
				height: auto;
				top: 30px;
				right: 30px;
			}

		#future .inner .parent .item_6 {
			grid-row-start: 3;
		}

		#future .inner .parent .item_7 {
			grid-row-start: 4;
		}

			#future .inner .parent .item_7 .item_7_irasuto {
				position: absolute;
				z-index: 2;
				width: 144px;
				height: auto;
				top: -20px;
				right: -20px;
			}

		#future .inner .parent .item_8 {
			grid-row-start: 4;
		}

		#future .inner .parent .item_9 {
			grid-row-start: 4;
		}

			#future .inner .parent .item_9 .item_9_irasuto {
				position: absolute;
				z-index: 2;
				width: 164px;
				height: auto;
				top: -60px;
				right: -40px;
			}
@media screen and (max-width: 1200px) {
    #future .inner .parent  {
        gap: 2vw;
		padding-bottom: 12vw;
    }

		#future .inner .parent .item_1 {
			width: 56.3vw; /* paddingを考慮した幅 */
			height: calc(53.2vw / 1.4); /* 比率維持 */
			padding: 4vw 0 4vw 9vw;
		}

		#future .inner .parent .common_item {
			width: 27vw; /* paddingを考慮した幅 */
			height: calc(25.4vw / 1.43); /* 比率維持 */
		}

		#future .inner .parent .item_1::after {
			left: 7.9vw;
			width: 7vw;
			height: 36vw;
			background: url("../img/future/item_irasuto01.svg") no-repeat center/cover;
		}

			#future .inner .parent .item_1 h2 {
				font-size: 5vw;
				line-height: 6vw;
			}

			#future .inner .parent .item_1 h2 .spacing {
				padding-right: 1.5vw;
			}

			#future .inner .parent .item_1 p {
				font-size: 1.6vw;
				line-height: 2.8vw;
				margin: 2vw 0 0 10vw;
			}

			#future .inner .parent .item_1 .right-top  {
				right: 37px;
				width: 9vw;
			}

			#future .inner .parent .item_1 .right-bottom  {
				width: 13vw;
			}

			#future .inner .parent .item_1 .left_top  {
				top: 7vw;
				width: 58px;
			}


		#future .inner .parent .common_item {
			padding: 1.9vw 2.7vw 3.7vw 2.7vw;
		}

			#future .inner .parent .common_item p {
				font-size: 1.6vw;
				line-height: 2.7rem;
				padding-top: 1.5vw;
			}

			#future .inner .parent .common_item h2 {
				font-size: 2.2vw;
				line-height: 3.3vw;
			}
				#future .inner .parent .common_item h2 .big {
					font-size: 3.8vw;
				}

		#future .inner .parent .item_3 .item_3_irasuto {
			width: 8.6vw;
			top: -2vw;
			right: 2vw;
		}

		#future .inner .parent .item_5 .item_5_irasuto {
			width: 6.6vw;
			top: 3vw;
			right: 3vw;
		}

		#future .inner .parent .item_7 .item_7_irasuto {
			width: 10.7vw;
			top: -2vw;
			right: -1.2vw;
		}

		#future .inner .parent .item_9 .item_9_irasuto {
			width: 13vw;
			top: -5vw;
			right: -3.8vw;
		}
}
@media screen and (max-width: 767px) {
    #future .inner .parent  {
        gap: 3vw;
		grid-column: auto;
        grid-row: auto ;
		grid-template-columns: repeat(2, 1fr);
		padding-bottom: 17vw;
    }

	#future .inner .parent > * {
        grid-column: auto !important;
        grid-row: auto !important;
    }
	
		#future .inner .parent .item_1 {
			width: 100% !important;  
			grid-column: 1 / -1 !important;
			max-width: 100%;
			height: auto;
			padding: 7vw 12vw 7vw 12vw ;
			grid-column: 1 / -1;
		}
		
		#future .inner .parent .common_item {
			width: 100% !important;
			height: auto
		}
		
		#future .inner .parent .item_1::after {
			content: "";
			position: absolute;
			z-index: 1;
			top: 0;
			left: 11vw;
			width: 12vw;
			height: 58vw;
			background: url("../img/future/item_irasuto01.svg") no-repeat center/cover;
		}
			#future .inner .parent .item_1 h2 {
				font-size: 10vw;
				line-height: 12vw;
			}
			#future .inner .parent .item_1 h2 .spacing {
				padding-right: 2vw;
			}
			#future .inner .parent .item_1 p {
				font-size: 2.3vw;
				line-height: 4.1vw;
				margin: 3vw 0 0 17vw;
			}
			#future .inner .parent .item_1 .right-top  {
				top: 0;
				right: 37px;
				width: 15vw;
			}
			#future .inner .parent .item_1 .right-bottom  {
				bottom: 0;
				right: 0;
				width: 23vw;
			}
			#future .inner .parent .item_1 .left_top  {
				top: 7vw;
				left: 0;
				width: 7vw;
			}

		#future .inner .parent .common_item {
			border-radius: 1vw;
			padding: 4vw 2.5vw;
		}

			#future .inner .parent .common_item h2 {
				font-size: 3.7vw;
				line-height: 5vw;
			}
				#future .inner .parent .common_item h2 .big {
					font-size: 6vw;
				}

			#future .inner .parent .common_item p {
				font-size: 3.2vw;
				line-height: 4.7vw;
				padding-top: 3vw;
			}
		
		#future .inner .parent .item_3 .item_3_irasuto {
			width: 11.5vw;
			top: -2vw;
			right: 3.3vw;
		}

		#future .inner .parent .item_5 .item_5_irasuto {
			width: 8.5vw;
			top: 3.2vw;
			right: 7.5vw;
		}

		#future .inner .parent .item_7 .item_7_irasuto {
			width: 14vw;
			top: -1.8vw;
			right: -.5vw;
		}
		#future .inner .parent .item_9 .item_9_irasuto {
			width: 17vw;
			top: -5vw;
			right: -3.8vw;
		}
}







































