@charset "utf-8";
.in-screen{
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .9s ease, transform .9s ease;
}
.is-show{
	opacity: 1;
	transform: translateY(0);
	transition-delay: .28s;
}
.vision2030-mv {
	width: 100%;
	position: relative;
	padding-bottom: 5em;
	overflow: hidden;
}
.vision2030-title{
	text-align: right;
	color: var(--gray);
	font-style: italic;
	font-size: clamp(28px, 3vw, 68px);
	line-height: 1.3;
	font-weight: 300;
	opacity: 0;
	transform: translateY(-8px);
	animation: titleIn 1s ease forwards;
	animation-delay: .85s;
}
.vision2030-title small{
	display: block;
	color: var(--black);
	font-size: clamp(18px, 2vw, 34px);
}
.vision2030-catch{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	position: relative;
	height: clamp(360px, 35vw, 700px);
	z-index: 1;
}
.vision2030-catch:before{
	content: "";
	display: block;
	height: 100%;
	aspect-ratio: 1 / 1;
	background: var(--yellow);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-2deg) scale(.96);
	animation: yellowPaperIn 2.4s cubic-bezier(.16, 1, .3, 1) forwards;
	z-index: -1;
}
.vision2030-catch_p{
	font-size: clamp(44px, 4vw, 88px);
	text-align: center;
	line-height: 1.2;
	margin-bottom: 0.5em !important;
	position: relative;
	z-index: 1;
	opacity: 0;
	transform: translateY(12px);
	animation: catchTextIn 1s ease forwards;
	animation-delay: .55s;
}
.vision2030-catch_p br{
	display: none;
}
.vision2030-catch_year span{
	display:inline-block;
    font-size: 16vw;
    font-style: italic;
	line-height: 1;
	color:var(--gray);
	margin:0 -.1em;
	opacity:0;
	transform:translateX(1.6vw);
	animation: yearIn 1.4s cubic-bezier(.22,1,.36,1) forwards;
}
.vision2030-catch_year span:nth-child(1){
	animation-delay:.25s;
}
.vision2030-catch_year span:nth-child(2){
	animation-delay:.65s;
	padding: 0 0.2em;
}
.vision2030-catch_year span:nth-child(3){
	animation-delay:1.05s;
}
@keyframes yellowPaperIn {
	0% {
		opacity: 0;
		transform: translate(-50%, -48%) rotate(0) scale(.96);
	}
	100% {
		opacity: 1;
		transform: translate(-50%, -50%) rotate(-4deg) scale(1);
	}
}
@keyframes yearIn {
	0% {
		opacity: 0;
		transform: translateX(-1.6vw);
	}
	100% {
		opacity: 0.2;
		transform: translateX(0);
	}
}
@keyframes catchTextIn {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes titleIn {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@media (prefers-reduced-motion: reduce) {
	.vision2030-title,
	.vision2030-catch::before,
	.vision2030-catch_p,
	.vision2030-catch_year {
		animation: none;
		transform: none;
		opacity: 1;
	}
}
@media screen and (max-width: 980px) {
	.vision2030-catch{
		height: clamp(200px, 50vw, 360px);
		margin: 2em 0;
	}
	.vision2030-catch_p{
		font-size: clamp(34px, 5.4vw, 44px);
		margin-bottom: 1em !important;
	}
}
@media screen and (max-width: 580px) {
	.vision2030-mv{
		padding-bottom: 3em;
	}
	.vision2030-catch_p{
		letter-spacing: 0.1em;
		margin-bottom: 0.5em !important;
	}
	.vision2030-catch_p br{
		display: block;
	}
}
/*LEAD*/
.vision2030-lead{
	text-align: center;
	margin-bottom: 10em;
}
.vision2030-lead p.in-screen{
	font-size: clamp(14px, 1.6vw, 18px);
	line-height: 2em;
	margin-bottom: 1.5em !important;
}
.vision2030-lead_em span{
	font-size: clamp(18px, 2.2vw, 28px) !important;
	line-height: 1.7 !important;
	display: block;
}
.vision2030-button{
	border-bottom: 1px solid var(--dgray);
	padding-bottom: 0.3em;
	cursor: pointer;
	margin-top: 2em;
}
.vision2030-button b{
	display: inline-block;
	background: var(--yellow);
	padding: 0.2em 1.5em;
	margin-left: 0.5em;
	line-height: 1;
	transition: 0.3s all;
}
.vision2030-button:hover b{
	background: var(--blue);
	color: #fff;
}
@media screen and (max-width: 580px) {
	.vision2030-lead {
		margin-bottom: 5em;
	}
	.vision2030-lead p{
		line-height: 1.6 !important;
	}
}

/*OBJECT*/
.vision2030-object_bk{
	position: relative;
	padding-bottom: 5em;
}
.vision2030-object_bk:before{
	content: "";
	display: block;
	width: 100%;
	height: 120%;
	background: #f6f9fc;
	z-index: -1;
	position: absolute;
	top: -10%;
	left: 0;
	clip-path: polygon(0% 0%, 100% 10%, 100% 100%, 0% 90%);
}
/*OBJECT LEAD*/
.vision2030-object{
	max-width: 1680px;
}
.vision2030-object_header{
	width: 100%;
	overflow: hidden;
	max-width: 1280px;
	margin: 0 auto;
}
.vision2030-object_lead {
	font-size: clamp(21px, 2vw, 28px);
	line-height: 1.3;
	opacity: 0;
	transform: translateX(-24px);
	transition: opacity 1.2s ease, transform 1.6s cubic-bezier(.16, 1, .3, 1);
}
.vision2030-object_lead br{
	display: none;
}
.vision2030-object_title {
	font-size: clamp(38px, 5vw, 68px);
	font-weight: 300;
	opacity: 0;
	transform: translateX(-34px);
	transition: opacity 1.3s ease, transform 1.8s cubic-bezier(.16, 1, .3, 1);
	margin-bottom: 1em;
}
.vision2030-object_header.is-show .vision2030-object_lead,
.vision2030-object_header.is-show .vision2030-object_title{
	opacity: 1;
	transform: translateX(0);
}
.vision2030-object_header.is-show .vision2030-object_lead { 
	transition-delay: .05s; 
}
.vision2030-object_header.is-show .vision2030-object_title { 
	transition-delay: .28s; 
}
/*OBJECT CIRCLE*/
#voc01{
	margin: 1em 0 0 auto;
}
.vision2030-object_circles{
	font-size: clamp(13px, 2.6vw, 28px);
	position: relative;
	padding: 15em 0;
	--circle-size: 16em;
	--orbit-radius: 24em;
	width: calc((var(--orbit-radius)) + var(--circle-size));
	opacity: 0;
	transform: translateY(100px) translateX(50px);
	transition: opacity .9s ease, transform .9s ease-out;
}
#voc02{
	transform: translateY(100px) translateX(-100px);
}
#voc02.is-show,
.vision2030-object_circles.is-show{
	opacity: 1;
	transform: translateY(0) translateX(0);
}
.vision2030-object_circle-inner,
.vision2030-objectt_circle-main-inner{
	position: relative;
	z-index: 2;
}
.vision2030-object_circle,
.vision2030-object_circle-main{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	position: relative;
	line-height: 1.3;
}
.vision2030-object_circle-main{
	font-size: clamp(13px, 2.6vw, 28px);
	width: var(--circle-size);
	height: var(--circle-size);
}
.vision2030-object_circle{
	font-size: clamp(14px, 1.2vw, 16px);
	width: 13em;
	height: 13em;
}
.vision2030-object_circle:before,
.vision2030-object_circle-main:before,
.vision2030-object_circle-main:after{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%,-50%,0) scale(1);
	border-radius: 50%;
	z-index: 0;
}
.vision2030-object_circle-main:before,
.vision2030-object_circle-main:after{
	width: 100%;
	height: 100%;
	background: rgba(0, 68, 191, 0.7);
	z-index: 0;
}
.vision2030-object_circle:before{
	width: 100%;
	height: 100%;
	background: #fff;
	border: 2em solid rgba(0, 68, 191, 0.1);
	transition: 0.5s all;
	z-index: 1;
}
.vision2030-object_circle-main:after{
	opacity: 0;
}
.vision2030-object_circle-main:hover:after{
	animation: circleRipple .8s ease-out;
}
.vision2030-object_circle:hover:before{
	border: 3em solid rgba(0, 68, 191, 0.2);
}
@keyframes circleRipple{
	0%{
		transform: translate3d(-50%,-50%,0) scale(1);
		opacity: .6;
	}
	100%{
		transform: translate3d(-50%,-50%,0) scale(1.3);
		opacity: 0;
	}
}
.vision2030-object_circle-main span{
	color: var(--yellow);
}
.vision2030-object_circle-main b{
	display: block;
	font-size: clamp(21px, 5vw, 68px);
	color: var(--yellow);
}
.vision2030-object_circle-main p{
	color: #fff;
}
.vision2030-object_circles button{
	margin-top: 0.5em;
}
.vision2030-object_circle button b,
.vision2030-circle_main-button b{
    display: inline-block;
    padding: 0.3em 1.5em 0.2em;
    line-height: 1;
	transition: 0.3s all;
}
.vision2030-circle_main-button b{
    background: var(--yellow);
    font-size: clamp(13px, 1.2vw, 16px);
	color: var(--black);
}
.vision2030-object_circle button b{
	background: var(--blue);
	font-size: clamp(12px, 1.1vw, 14px);
	color: #fff;
}
.vision2030-circle_main-button:hover b{
	background: var(--blue);
	color: #fff;
}
.vision2030-object_circle button:hover b{
	background: var(--yellow);
	color: var(--black);
}
/*CIRCLE POSITION*/
.vision2030-object_circle-main{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%,-50%,0);
}
.vision2030-object_circle{
	position: absolute;
	top: 50%;
	left: 50%;
	transform:
		translate3d(-50%,-50%,0)
		rotate(var(--angle))
		translateY(calc(var(--orbit-radius) * -1))
		rotate(calc(var(--angle) * -1));
}
/* 5つの円の角度
.voc1{
	--angle: -90deg;
	animation: vocOrbit1 230s linear infinite;
}
.voc2{
	--angle: -20deg;
	animation: vocOrbit2 230s linear infinite;
}
.voc3{
	--angle: 50deg;
	animation: vocOrbit3 230s linear infinite;
}
.voc4{
	--angle: 130deg;
	animation: vocOrbit4 230s linear infinite;
}
.voc5{
	--angle: 200deg;
	animation: vocOrbit5 230s linear infinite;
}
*/
/* 5つの円の開始角度 */
.voc1{
	--start-angle: -90deg;
	--end-angle: 270deg;
}

.voc2{
	--start-angle: -20deg;
	--end-angle: 340deg;
}

.voc3{
	--start-angle: 50deg;
	--end-angle: 410deg;
}

.voc4{
	--start-angle: 130deg;
	--end-angle: 490deg;
}

.voc5{
	--start-angle: 200deg;
	--end-angle: 560deg;
}

/* 5つとも同じアニメーション */
.voc1,
.voc2,
.voc3,
.voc4,
.voc5{
	animation: vocOrbit 230s linear infinite;
}

@keyframes vocOrbit{
	from{
		transform:
			translate3d(-50%, -50%, 0)
			rotate(var(--start-angle))
			translateY(calc(var(--orbit-radius) * -1))
			rotate(calc(var(--start-angle) * -1));
	}

	to{
		transform:
			translate3d(-50%, -50%, 0)
			rotate(var(--end-angle))
			translateY(calc(var(--orbit-radius) * -1))
			rotate(calc(var(--end-angle) * -1));
	}
}
@keyframes vocOrbit1{
	from{
		transform:
			translate3d(-50%, -50%, 0)
			rotate(-95deg)
			translateY(calc(var(--orbit-radius) * -1))
			rotate(95deg);
	}
	to{
		transform:
			translate3d(-50%, -50%, 0)
			rotate(265deg)
			translateY(calc(var(--orbit-radius) * -1))
			rotate(-265deg);
	}
}

@keyframes vocOrbit2{
	from{
		transform:
			translate3d(-50%, -50%, 0)
			rotate(-25deg)
			translateY(calc(var(--orbit-radius) * -1))
			rotate(25deg);
	}
	to{
		transform:
			translate3d(-50%, -50%, 0)
			rotate(335deg)
			translateY(calc(var(--orbit-radius) * -1))
			rotate(-335deg);
	}
}

@keyframes vocOrbit3{
	from{
		transform:
			translate3d(-50%, -50%, 0)
			rotate(55deg)
			translateY(calc(var(--orbit-radius) * -1))
			rotate(-55deg);
	}
	to{
		transform:
			translate3d(-50%, -50%, 0)
			rotate(415deg)
			translateY(calc(var(--orbit-radius) * -1))
			rotate(-415deg);
	}
}

@keyframes vocOrbit4{
	from{
		transform:
			translate3d(-50%, -50%, 0)
			rotate(120deg)
			translateY(calc(var(--orbit-radius) * -1))
			rotate(-120deg);
	}
	to{
		transform:
			translate3d(-50%, -50%, 0)
			rotate(480deg)
			translateY(calc(var(--orbit-radius) * -1))
			rotate(-480deg);
	}
}

@keyframes vocOrbit5{
	from{
		transform:
			translate3d(-50%, -50%, 0)
			rotate(200deg)
			translateY(calc(var(--orbit-radius) * -1))
			rotate(-200deg);
	}
	to{
		transform:
			translate3d(-50%, -50%, 0)
			rotate(560deg)
			translateY(calc(var(--orbit-radius) * -1))
			rotate(-560deg);
	}
}
/*後ろの円*/
.vision2030-object_orbit{
	position:absolute;
	top:50%;
	left:50%;
	width:calc(var(--orbit-radius)* 1.2);
	height:calc(var(--orbit-radius) * 1.2);
	transform:translate3d(-50%,-50%,0);
	z-index:0;
	pointer-events:none;
	overflow:visible;
}
.orbit-line{
	fill:none;
	stroke:rgba(0,68,191,.12);
	stroke-width:.18;
	stroke-linecap:round;
	stroke-dasharray:none;
}
.orbit-dot{
	fill:rgba(0,68,191,.35);
}
.dot02{
	opacity:.65;
}
.dot03{
	opacity:.45;
}
/* 円周線 */
.orbit-line-svg{
	animation:orbitClockwise 30s linear infinite;
}
.dot-svg01{
	animation:orbit01 20s linear infinite;
}
.dot-svg02{
	animation:orbit02 15s linear infinite;
}
.dot-svg03{
	animation:orbit03 10s linear infinite;
}
@keyframes orbitClockwise{
	from{ transform:translate3d(-50%,-50%,0) rotate(0deg); }
	to{ transform:translate3d(-50%,-50%,0) rotate(360deg); }
}
@keyframes orbit01{
	from{ transform:translate3d(-50%,-50%,0) rotate(0deg); }
	to{ transform:translate3d(-50%,-50%,0) rotate(360deg); }
}
@keyframes orbit02{
	from{ transform:translate3d(-50%,-50%,0) rotate(120deg); }
	to{ transform:translate3d(-50%,-50%,0) rotate(-240deg); }
}
@keyframes orbit03{
	from{ transform:translate3d(-50%,-50%,0) rotate(245deg); }
	to{ transform:translate3d(-50%,-50%,0) rotate(605deg); }
}
/*五角形*/
#voc02 .vision2030-object_circle-main:before,
#voc02 .vision2030-object_circle-main:after{
    width:100%;
    height:100%;
    background:rgba(0,68,191,.7);
    border-radius:0;
    clip-path:polygon( 50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
	transform: translate3d(-50%,-50%,0) rotate(-10deg) scale(1);
}
.orbit-line-pentagon {
	fill: none;
	stroke: rgba(0,68,191,.12);
	stroke-width: .18;
	stroke-linejoin: round;
	stroke-linecap: round;
	stroke-dasharray: none;
}
.orbit-dot {
	fill: rgba(0,68,191,.35);
}
.dot02 {
	opacity: .65;
}
.dot03 {
	opacity: .45;
}
@media screen and (max-width: 1680px) {
	#voc01{
		margin-bottom: 3em;
	}
}
@media screen and (max-width: 1280px) {
	.vision2030-object_circles{
		margin: 0 auto 3em !important;
		--circle-size: 14em;
		--orbit-radius: 22em;
	}
}
@media screen and (max-width: 980px) {
	.vision2030-object_circles{
		margin: 3em auto !important;
		--circle-size: 12em;
        --orbit-radius: 34vw;
	}
	.vision2030-object_orbit {
		width: calc(var(--orbit-radius) * 2);
		height: calc(var(--orbit-radius) * 2);
	}
	.orbit-line {
		stroke-width: 0.4px;
	}
    .vision2030-object_circle {
        width: 20vw;
        height: 20vw;
    }
}
@media screen and (max-width: 780px) {
	.vision2030-object_title{
		text-align: right;
		line-height: 1.3;
	}
	.vision2030-object_circle-main {
		font-size: clamp(13px, 3.2vw, 21px);
	}
    .vision2030-object_circle {
        width: 25vw;
        height: 25vw;
    }
    .vision2030-object_circle:before {
        border: 1.5em solid rgba(0, 68, 191, 0.1);
    }
}
@media screen and (max-width: 680px) {
	.vision2030-object_bk{
		padding-bottom: 3em;
	}
	.vision2030-object{
		width: 100% !important;
		overflow: hidden;
	}
	.vision2030-object_header{
		width: 90% !important;
		margin: 0 auto !important;
	}
	.vision2030-object_lead {
		font-size: clamp(21px, 4vw, 28px);
	}
	.vision2030-object_lead br{
		display: block;
	}
	.vision2030-object_title {
		font-size: clamp(38px, 8vw, 68px);
	}
	.vision2030-object_circle {
		font-size: clamp(11.5px, 1.2vw, 16px);
	}
	.vision2030-object_circle:hover:before {
		border: 1.5em solid rgba(0, 68, 191, 0.1);
	}
}
@media screen and (max-width: 580px) {
	.vision2030-object_bk{
		padding-bottom: 1em;
	}
    .vision2030-object_circles {
        margin: 0 auto !important;
		padding: 50vw 0;
    }
    .vision2030-object_circle {
        width: 30vw;
        height: 30vw;
    }
	.orbit-line {
		stroke-width: 0.7px;
	}
}
/*PLANS*/
.vision2030-plans{
	padding: 10em 0 5em;
}
.vision2030-plans_title{
	text-align: center;
    font-size: clamp(38px, 8vw, 68px);
	line-height: 1.3;
	font-weight: 300;
}
.vision2030-plans_title small{
	font-size: clamp(16px, 1.4vw, 18px);
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
}
.vision2030-plans_title small:before,
.vision2030-plans_title small:after{
	content: "";
	display: block;
	width: 1.5em;
	height: 1px;
	background: var(--black);
	margin: 0 5px;
}
.vision2030-plans_swiper{
	overflow: hidden;
	padding: 2em 1em 5em;
	width: 95%;
	max-width: 1280px;
	margin: 0 auto;
}
.vision2030-plans_swiper .swiper-slide {
	width: clamp(220px, 36vw, 420px);
	background: #fff;
	padding: 2em;
	box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}
.vision2030-plans_swiper .swiper-slide.is-hidden-slide{
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s ease;
}
.swiper-button-prev svg,
.swiper-button-next svg{
	color: var(--blue);
}
.vision2030-plans_swiper .swiper-button-prev,
.vision2030-plans_swiper .swiper-button-next {
	background: none;
}
.vision2030-plans_h3{
	text-align: center;
	font-size: clamp(21px, 2.1vw, 32px);
	line-height: 1.2;
	font-weight: 300;
}
.vision2030-plans_h4{
	margin-top: 0.5em !important;
	text-align: center;
	font-size: clamp(12px, 1.2vw, 16px);
	line-height: 1.3;
}
.vision2030-plans_h4 br{
	display: none;
}
.vision2030-plans_img{
	margin: 1em 0;
}
.vision2030-plans_p{
	font-size: clamp(12px, 1.1vw, 14px);
}
.vision2030-plans_button{
	text-align: right;
	font-size: clamp(12px, 1.1vw, 14px);
}
.vision2030-plans_button .vision2030-button{
	opacity: 1;
	transform: none;
}
.vision-modal_body ol{
	padding-left: 1.2em !important;
	margin: 1em 0 !important;
}
.vision-modal_body li{
	list-style: decimal outside;
	line-height: 1.6;
	padding: 0.7em 0;
}
#modal-vap06 .vision-modal_h3{
	margin-bottom: 0 !important;
}
#modal-vap06 .vision-table_unit{
	text-align: right;
	margin-bottom: 0.1em !important;
	line-height: 1;
}
.vision-table{
	width: 100%;
	border-collapse: collapse;
}
.vision-table th,
.vision-table td{
	border: 1px solid var(--gray);
	padding: 0.1em 0.2em;
}
.vision-table td{
	text-align: right;
}
.vision-table_title{
	text-align: left;
}
.vision-table_title-ie2,
.vision-table_title-ie{
	background: var(--lgray);
}
.vision-table_title-total th,
.vision-table_title-ie th{
	text-align: right;
}
.vision-table_title-total td,
.vision-table_title-ie td{
	font-weight: bold;
}
.vision-table_title-total{
	background: #ddd;
}
.vision-table_title-ie2 th:first-child{
	background: #fff;
	text-align: center;
}
.vision-table_title-ie2 th:nth-child(2){
	text-align: right;
}
.vision-table_title-ie2 td{
	font-weight: bold;
}
.vision-table_title-balance{
	background: #bbb;
	font-weight: bold;
}
.vision-table_list{
	counter-reset: kana;
	list-style: none;
    padding-left: 0.7em !important;
    margin: 1em 0 !important;
}
.vision-table_list li {
	list-style: none;
	counter-increment: kana;
	padding-left: 1.2em;
	text-indent: -2em;
}
.vision-table_list li::before {
	content: counter(kana, katakana) "．";
}
@media screen and (max-width: 980px) {
	.vision2030-plans_swiper .swiper-slide {
		padding: 2em 1em;
	}
}
@media screen and (max-width: 780px) {
	.vision2030-plans_swiper .swiper-slide {
		width: clamp(230px, 41vw, 420px);
	}
	.vision2030-plans_swiper .swiper-button-prev,
	.vision2030-plans_swiper .swiper-button-next {
		width: 30px;
		height: 30px;
	}
	.vision-table_wrap{
		overflow: scroll;
	}
	.vision-table{
		min-width: 560px;
	}
}
@media screen and (max-width: 680px) {
	.vision2030-plans {
		padding: 2em 0 5em;
	}
	.vision2030-plans_h4 br{
		display: block;
	}
	.vision2030-plans_swiper{
		width: 98%;
		padding: 1em 1em 3em;
	}
    .vision2030-plans_swiper .swiper-slide {
        width: clamp(230px, 58vw, 300px);
    }
	.vision2030-plans_img{
		margin: 0.5em 0;
	}
}
/*FOOTER*/
.vision2030-footer{
	position: relative;
	text-align: center;
	margin-bottom: 3em;
}
.vision2030-foote_content{
	position: relative;
	z-index: 5;
	margin-bottom: -5em;
}
.vision2030-footer_p{
	font-size: clamp(28px, 4vw, 54px);
	line-height: 1.3;
}
.vision2030-footer_pdf{
	margin-top: 1em;
	display: inline-block;
	border: 1px solid var(--blue);
	padding: 0.7em 3em;
	line-height: 1;
	color: var(--blue);
	box-shadow: 0 10px 10px rgba(0,0,0,0.1);
	font-size: clamp(16px, 1.5vw, 24px);
	vertical-align: middle;
	background: #fff;
}
.vision2030-footer_pdf small{
	font-size: clamp(13px, 1.2vw, 16px);
}
.vision2030-footer_pdf b{
	font-size: clamp(24px, 2.1vw, 38px);
	color: var(--blue);
	font-style: italic;
}
.vision2030-footer_pdf:after{
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	background: url("../img/icon-pdf.svg") center center / contain no-repeat;
}
.vision2030-footer_pdf:hover{
	background: var(--blue);
}
.vision2030-footer_pdf:hover small,
.vision2030-footer_pdf:hover b{
	color: #fff;
}
@media screen and (max-width: 980px) {
	.vision2030-foote_content{
		margin-bottom: -2em;
	}
}
@media screen and (max-width: 580px) {
	.vision2030-foote_content{
		margin-bottom: -1em;
	}
	.vision2030-footer_pdf b{
		display: block;
		margin: 0.1em 0;
	}
}

/*MODAL*/
.vision-modal[hidden] {
	display: none;
}
.vision-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s all;
	display: flex;
    align-items: center;
    justify-content: center;
}
.vision-modal.is-open{
	opacity: 1;
	visibility: visible;
}
.vision-modal_overlay {
	opacity: 0;
	transition: 0.3s all;
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	background-filter: blur(8px);
}
.vision-modal.is-open .vision-modal_overlay{
	opacity: 1;
}
.vision-modal_contents {
	position: relative;
	width: min(90%, 780px);
	max-height: 70vh;
	overflow: auto;
	background: #fff;
	z-index: 1;
	transform: translateY(30px) scale(0.98);
	opacity: 0;
	transition: 0.45s cubric-bezier(0.16, 1, 0.3, 1);
}
.vision-modal.is-open .vision-modal_contents{
	transform: translateY(0) scale(1);
	opacity: 1;
	border-top: 5px solid var(--blue);
}
.vision-modal_close {
	position: sticky;
	top: 0;
	border: none;
	cursor: pointer;
	z-index: 100;
	width: 100%;
	text-align: right;
	padding: 0.5em 1.5em;
}
.vision-modal_content{
	padding: 2em 3em 3em 3em;
}
body.is-modal-open {
	overflow: hidden;
}
@media screen and (max-width: 580px) {
	.vision-modal_content {
		padding: 3em 1em;
	}
}

/*MODAL INNER*/
.vision-modal_title{
	padding-bottom: 0.3em;
	margin-bottom: 1em !important;
	border-bottom: 1px solid var(--black);
	line-height: 1.3;
	font-size: clamp(18px, 3vw, 24px);
}
.vision-modal_h3{
	font-size: clamp(16px, 1.4vw, 18px);
	line-height: 1.3;
	margin-bottom: 0.5em;
}
.vision-modal_body{
    margin: 0 0 3em auto;
}
.vision-modal_body p{
	margin-bottom: 1.5em !important;
	text-indent: 1em;
}
.vision-modal_footer-close{
	display: block;
	border: 1px solid var(--gray);
	width: 6em;
	text-align: center;
	line-height: 1;
	padding: 0.3em 0;
	margin: 0 auto;
	cursor: pointer;
}












