html[lang=en] button, html[lang=en] input[type=text], html[lang=en] select, html[lang=ja] button, html[lang=ja] input[type=text], html[lang=ja] select, html[lang=en] body, html[lang=ja] body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500
}
/*#page-index #header .title-en, #loader .loading-en, #page-index #mv .countdown-wrap.pc .countdown1 .remaining, #page-index #header .countdown-wrap.sp .countdown1 .remaining, #page-index #mv .countdown-wrap.pc .countdown2 .remaining, #page-index #header .countdown-wrap.sp .countdown2 .remaining {
	font-family: "Lato", sans-serif;
	font-weight: 400
}*/
html[lang=ja] .en-only { display: none; }
html[lang=ja] .jp-only { display: inherit; }
html[lang=en] .en-only { display: inherit; }
html[lang=en] .jp-only { display: none; }
@media print, screen and (min-width: 768px) {
	.pc {
		display: block
	}
	img.pc, span.pc, br.pc {
		display: inline
	}
	.sp, img.sp, span.sp, br.sp {
		display: none
	}
}
@media screen and (max-width: 767px) {
	.sp {
		display: block
	}
	img.sp, span.sp, br.sp {
		display: inline
	}
	.pc, img.pc, span.pc, br.pc {
		display: none
	}
}
.text {
	text-align: justify;
	text-justify: auto
}
.inner {
	position: relative;
	z-index: 1;
	width: 1040px;
    max-width: 94vw;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.inner {
		width: 90vw;
	}
}
img {
	max-width: 100%;
	vertical-align: bottom;
}



.external-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}
.external-link::after {
	content: "";
	-webkit-mask: url(../img/common/arrow_06.svg) no-repeat;
	mask: url(../img/common/arrow_06.svg) no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	background: #808080;
    width: 1.5em;
    height: 1em;
    display: inline-block;
    margin-left: 0.2em;
}
.external-link:hover::after {
	background: #009db1;
}
.button-01.external-link::after {
	content: none;
}
.button-01.external-link span::after {
	aspect-ratio: auto;
	position: absolute;
	top: 5%;
	right: -2.2em;
	transform: rotate(0deg);
	content: "";
	-webkit-mask: url(../img/common/arrow_06.svg) no-repeat;
	mask: url(../img/common/arrow_06.svg) no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	background: #808080;
    width: 1.5em;
    height: 1em;
    display: inline-block;
    margin-left: 1em;
}
.button-01.external-link span::after {
	background: #009db1;
}


/*#page-0311 #list .item .item-slider-navigation, #page-index #banner .banner-slider-navigation, #page-index #bbb .bbb-slider-navigation, #page-index #mv .mv-slider-navigation {
	display: flex;
	align-items: center;
	width: max-content;
	gap: 10px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .item-slider-navigation, #page-index #banner .banner-slider-navigation, #page-index #bbb .bbb-slider-navigation, #page-index #mv .mv-slider-navigation {
		gap: 1vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .item-slider-navigation, #page-index #banner .banner-slider-navigation, #page-index #bbb .bbb-slider-navigation, #page-index #mv .mv-slider-navigation {
		gap: 2.4vw;
		width: auto;
		justify-content: center
	}
}
#page-index #banner .inner {
	position: relative;
	padding-bottom: 50px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #banner .inner {
		padding-bottom: 5vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #banner .inner {
		padding-bottom: 12vw
	}
}*/
/*#page-0311 #list .item .swiper-pagination, #page-index #banner .swiper-pagination, #page-index #bbb .swiper-pagination, #page-index #mv .swiper-pagination, #page-0311 #list .item .swiper-button-next, #page-index #banner .swiper-button-next, #page-index #bbb .swiper-button-next, #page-index #mv .swiper-button-next, #page-0311 #list .item .swiper-button-prev, #page-index #banner .swiper-button-prev, #page-index #bbb .swiper-button-prev, #page-index #mv .swiper-button-prev {
	position: static;
	margin-top: 0
}
#page-0311 #list .item .swiper-button-prev, #page-index #banner .swiper-button-prev, #page-index #bbb .swiper-button-prev, #page-index #mv .swiper-button-prev, #page-0311 #list .item .swiper-button-next, #page-index #banner .swiper-button-next, #page-index #bbb .swiper-button-next, #page-index #mv .swiper-button-next, #page-0311 #list .item button[id$=slider-control], #page-index #banner button[id$=slider-control], #page-index #bbb button[id$=slider-control], #page-index #mv button[id$=slider-control] {
	aspect-ratio: 1;
	height: auto;
	width: 30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .swiper-button-prev, #page-index #banner .swiper-button-prev, #page-index #bbb .swiper-button-prev, #page-index #mv .swiper-button-prev, #page-0311 #list .item .swiper-button-next, #page-index #banner .swiper-button-next, #page-index #bbb .swiper-button-next, #page-index #mv .swiper-button-next, #page-0311 #list .item button[id$=slider-control], #page-index #banner button[id$=slider-control], #page-index #bbb button[id$=slider-control], #page-index #mv button[id$=slider-control] {
		width: 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .swiper-button-prev, #page-index #banner .swiper-button-prev, #page-index #bbb .swiper-button-prev, #page-index #mv .swiper-button-prev, #page-0311 #list .item .swiper-button-next, #page-index #banner .swiper-button-next, #page-index #bbb .swiper-button-next, #page-index #mv .swiper-button-next, #page-0311 #list .item button[id$=slider-control], #page-index #banner button[id$=slider-control], #page-index #bbb button[id$=slider-control], #page-index #mv button[id$=slider-control] {
		width: 7.3333333333vw
	}
}
#page-0311 #list .item .swiper-button-prev::after, #page-index #banner .swiper-button-prev::after, #page-index #bbb .swiper-button-prev::after, #page-index #mv .swiper-button-prev::after, #page-0311 #list .item .swiper-button-next::after, #page-index #banner .swiper-button-next::after, #page-index #bbb .swiper-button-next::after, #page-index #mv .swiper-button-next::after, #page-0311 #list .item button[id$=slider-control]::after, #page-index #banner button[id$=slider-control]::after, #page-index #bbb button[id$=slider-control]::after, #page-index #mv button[id$=slider-control]::after {
	display: none
}
#page-0311 #list .item .swiper-button-prev, #page-index #banner .swiper-button-prev, #page-index #bbb .swiper-button-prev, #page-index #mv .swiper-button-prev, #page-0311 #list .item .swiper-button-next, #page-index #banner .swiper-button-next, #page-index #bbb .swiper-button-next, #page-index #mv .swiper-button-next {
	transition: .3s;
	background-image: url(../img/common/arrow_02.svg);
	background-repeat: no-repeat;
	background-size: contain
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .swiper-button-prev, #page-index #banner .swiper-button-prev, #page-index #bbb .swiper-button-prev, #page-index #mv .swiper-button-prev, #page-0311 #list .item .swiper-button-next, #page-index #banner .swiper-button-next, #page-index #bbb .swiper-button-next, #page-index #mv .swiper-button-next {
		display: block !important;
		pointer-events: auto !important
	}
	#page-0311 #list .item .swiper-button-prev.swiper-button-lock, #page-index #banner .swiper-button-prev.swiper-button-lock, #page-index #bbb .swiper-button-prev.swiper-button-lock, #page-index #mv .swiper-button-prev.swiper-button-lock, #page-0311 #list .item .swiper-button-next.swiper-button-lock, #page-index #banner .swiper-button-next.swiper-button-lock, #page-index #bbb .swiper-button-next.swiper-button-lock, #page-index #mv .swiper-button-next.swiper-button-lock {
		opacity: 1 !important
	}
}
@media print, screen and (min-width: 768px) {
	#page-0311 #list .item .swiper-button-prev:hover, #page-index #banner .swiper-button-prev:hover, #page-index #bbb .swiper-button-prev:hover, #page-index #mv .swiper-button-prev:hover, #page-0311 #list .item .swiper-button-next:hover, #page-index #banner .swiper-button-next:hover, #page-index #bbb .swiper-button-next:hover, #page-index #mv .swiper-button-next:hover {
		background-image: url(../img/common/arrow_02_on.svg)
	}
}
#page-0311 #list .item .swiper-button-next, #page-index #banner .swiper-button-next, #page-index #bbb .swiper-button-next, #page-index #mv .swiper-button-next {
	transform: scale(-1, 1)
}
#page-0311 #list .item .swiper-pagination-bullets, #page-index #banner .swiper-pagination-bullets, #page-index #bbb .swiper-pagination-bullets, #page-index #mv .swiper-pagination-bullets {
	display: flex;
	align-items: center;
	width: max-content;
	height: max-content;
	gap: 6px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .swiper-pagination-bullets, #page-index #banner .swiper-pagination-bullets, #page-index #bbb .swiper-pagination-bullets, #page-index #mv .swiper-pagination-bullets {
		gap: .6vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .swiper-pagination-bullets, #page-index #banner .swiper-pagination-bullets, #page-index #bbb .swiper-pagination-bullets, #page-index #mv .swiper-pagination-bullets {
		gap: 1.3333333333vw
	}
}
#page-0311 #list .item .swiper-pagination-bullet, #page-index #banner .swiper-pagination-bullet, #page-index #bbb .swiper-pagination-bullet, #page-index #mv .swiper-pagination-bullet {
	opacity: 1;
	box-sizing: border-box;
	background: #5a6b7c;
	border: 1px solid #5a6b7c;
	width: 30px;
	height: 4px;
	margin: 0;
	border-radius: 3px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .swiper-pagination-bullet, #page-index #banner .swiper-pagination-bullet, #page-index #bbb .swiper-pagination-bullet, #page-index #mv .swiper-pagination-bullet {
		width: 3vw;
		height: .4vw;
		border-radius: .3vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .swiper-pagination-bullet, #page-index #banner .swiper-pagination-bullet, #page-index #bbb .swiper-pagination-bullet, #page-index #mv .swiper-pagination-bullet {
		width: 7.7333333333vw;
		height: 1.0666666667vw;
		border-radius: .8vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-0311 #list .item .swiper-pagination-bullet:hover, #page-index #banner .swiper-pagination-bullet:hover, #page-index #bbb .swiper-pagination-bullet:hover, #page-index #mv .swiper-pagination-bullet:hover {
		background: #fff
	}
}
#page-0311 #list .item .swiper-pagination-bullet-active, #page-index #banner .swiper-pagination-bullet-active, #page-index #bbb .swiper-pagination-bullet-active, #page-index #mv .swiper-pagination-bullet-active {
	background: #9d8200 !important;
	border: 1px solid #9d8200;
	pointer-events: none;
	height: 10px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .swiper-pagination-bullet-active, #page-index #banner .swiper-pagination-bullet-active, #page-index #bbb .swiper-pagination-bullet-active, #page-index #mv .swiper-pagination-bullet-active {
		height: 1vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .swiper-pagination-bullet-active, #page-index #banner .swiper-pagination-bullet-active, #page-index #bbb .swiper-pagination-bullet-active, #page-index #mv .swiper-pagination-bullet-active {
		height: 2.6666666667vw
	}
}*/
/*#page-index #banner .banner-slider-navigation {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%)
}
#page-index #banner #banner-slider-control, #page-index #mv #mv-slider-control {
	position: relative;
	z-index: 10;
	transition: .3s;
	background-image: url(../img/common/ic_stop.svg);
	background-repeat: no-repeat;
	background-size: contain
}
@media print, screen and (min-width: 768px) {
	#page-index #banner #banner-slider-control:hover, #page-index #mv #mv-slider-control:hover {
		background-image: url(../img/common/ic_stop_on.svg)
	}
}
#page-index #banner .stop#banner-slider-control, #page-index #mv .stop#mv-slider-control {
	background: url(../img/common/ic_play.svg) no-repeat;
	background-size: contain
}
@media print, screen and (min-width: 768px) {
	#page-index #banner .stop#banner-slider-control:hover, #page-index #mv .stop#mv-slider-control:hover {
		background-image: url(../img/common/ic_play_on.svg)
	}
}
#page-index #mv .countdown-wrap.pc, #page-index #header .countdown-wrap.sp {
	position: relative;
	background: linear-gradient(326deg, #007cbd 0%, #008572 100%);
	color: #fff;
	position: absolute;
	z-index: 20;
	left: 50%;
	transform: translateX(-640px);
	gap: 20px;
	padding: 20px 15px 15px 15px
}
#page-index #mv .pc.countdown-wrap, #page-index #header .pc.countdown-wrap.sp {
	display: flex
}
#page-index #mv .sp.countdown-wrap.pc, #page-index #header .sp.countdown-wrap {
	display: none
}
@media screen and (min-width: 768px)and (max-width: 1300px) {
	#page-index #mv .countdown-wrap.pc, #page-index #header .countdown-wrap.sp {
		left: 0;
		transform: translateX(0)
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .countdown-wrap.pc, #page-index #header .countdown-wrap.sp {
		gap: 2vw;
		padding: 2vw 1.5vw 1.5vw 1.5vw
	}
}
html[lang=ja] #page-index #mv .countdown-wrap.pc, #page-index #mv html[lang=ja] .countdown-wrap.pc, html[lang=ja] #page-index #header .countdown-wrap.sp, #page-index #header html[lang=ja] .countdown-wrap.sp {
	top: 280px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	html[lang=ja] #page-index #mv .countdown-wrap.pc, #page-index #mv html[lang=ja] .countdown-wrap.pc, html[lang=ja] #page-index #header .countdown-wrap.sp, #page-index #header html[lang=ja] .countdown-wrap.sp {
		top: 27vw
	}
}
html[lang=en] #page-index #mv .countdown-wrap.pc, #page-index #mv html[lang=en] .countdown-wrap.pc, html[lang=en] #page-index #header .countdown-wrap.sp, #page-index #header html[lang=en] .countdown-wrap.sp {
	top: 210px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	html[lang=en] #page-index #mv .countdown-wrap.pc, #page-index #mv html[lang=en] .countdown-wrap.pc, html[lang=en] #page-index #header .countdown-wrap.sp, #page-index #header html[lang=en] .countdown-wrap.sp {
		top: 19vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .countdown-wrap.pc, #page-index #header .countdown-wrap.sp {
		position: static;
		transform: translateX(0);
		gap: 2.6666666667vw;
		padding: 4vw 2vw 2.6666666667vw 2vw;
		margin: 0 5.3333333333vw
	}
	#page-index #mv .pc.countdown-wrap, #page-index #header .pc.countdown-wrap.sp {
		display: none
	}
	#page-index #mv .sp.countdown-wrap.pc, #page-index #header .sp.countdown-wrap {
		display: flex
	}
}
#page-index #mv .countdown-wrap.pc::after, #page-index #header .countdown-wrap.sp::after {
	content: "";
	background: #fff;
	position: absolute;
	left: 50%;
	top: 20px;
	width: 1px;
	height: calc(100% - 35px)
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .countdown-wrap.pc::after, #page-index #header .countdown-wrap.sp::after {
		top: 2vw;
		height: calc(100% - 3.5vw)
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .countdown-wrap.pc::after, #page-index #header .countdown-wrap.sp::after {
		top: 2.6666666667vw;
		height: calc(100% - 5.3333333333vw)
	}
}
#page-index #mv .countdown-wrap.pc .countdown1, #page-index #header .countdown-wrap.sp .countdown1, #page-index #mv .countdown-wrap.pc .countdown2, #page-index #header .countdown-wrap.sp .countdown2 {
	width: 10em
}
#page-index #mv .countdown-wrap.pc .countdown1 .title, #page-index #header .countdown-wrap.sp .countdown1 .title, #page-index #mv .countdown-wrap.pc .countdown2 .title, #page-index #header .countdown-wrap.sp .countdown2 .title {
	font-size: 14px;
	line-height: 1.2;
	font-weight: 700;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 2.4em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .countdown-wrap.pc .countdown1 .title, #page-index #header .countdown-wrap.sp .countdown1 .title, #page-index #mv .countdown-wrap.pc .countdown2 .title, #page-index #header .countdown-wrap.sp .countdown2 .title {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .countdown-wrap.pc .countdown1 .title, #page-index #header .countdown-wrap.sp .countdown1 .title, #page-index #mv .countdown-wrap.pc .countdown2 .title, #page-index #header .countdown-wrap.sp .countdown2 .title {
		font-size: 2rem
	}
}
html[lang=en] #page-index #mv .countdown-wrap.pc .countdown1 .title, #page-index #mv html[lang=en] .countdown-wrap.pc .countdown1 .title, html[lang=en] #page-index #header .countdown-wrap.sp .countdown1 .title, #page-index #header html[lang=en] .countdown-wrap.sp .countdown1 .title, html[lang=en] #page-index #mv .countdown-wrap.pc .countdown2 .title, #page-index #mv html[lang=en] .countdown-wrap.pc .countdown2 .title, html[lang=en] #page-index #header .countdown-wrap.sp .countdown2 .title, #page-index #header html[lang=en] .countdown-wrap.sp .countdown2 .title {
	font-size: 13px;
	height: 3.6em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	html[lang=en] #page-index #mv .countdown-wrap.pc .countdown1 .title, #page-index #mv html[lang=en] .countdown-wrap.pc .countdown1 .title, html[lang=en] #page-index #header .countdown-wrap.sp .countdown1 .title, #page-index #header html[lang=en] .countdown-wrap.sp .countdown1 .title, html[lang=en] #page-index #mv .countdown-wrap.pc .countdown2 .title, #page-index #mv html[lang=en] .countdown-wrap.pc .countdown2 .title, html[lang=en] #page-index #header .countdown-wrap.sp .countdown2 .title, #page-index #header html[lang=en] .countdown-wrap.sp .countdown2 .title {
		font-size: 1.3rem
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #page-index #mv .countdown-wrap.pc .countdown1 .title, #page-index #mv html[lang=en] .countdown-wrap.pc .countdown1 .title, html[lang=en] #page-index #header .countdown-wrap.sp .countdown1 .title, #page-index #header html[lang=en] .countdown-wrap.sp .countdown1 .title, html[lang=en] #page-index #mv .countdown-wrap.pc .countdown2 .title, #page-index #mv html[lang=en] .countdown-wrap.pc .countdown2 .title, html[lang=en] #page-index #header .countdown-wrap.sp .countdown2 .title, #page-index #header html[lang=en] .countdown-wrap.sp .countdown2 .title {
		font-size: 2rem
	}
}
#page-index #mv .countdown-wrap.pc .countdown1 .days-wrap, #page-index #header .countdown-wrap.sp .countdown1 .days-wrap, #page-index #mv .countdown-wrap.pc .countdown2 .days-wrap, #page-index #header .countdown-wrap.sp .countdown2 .days-wrap {
	display: flex;
	justify-content: center;
	align-items: flex-end
}
#page-index #mv .countdown-wrap.pc .countdown1 .remaining, #page-index #header .countdown-wrap.sp .countdown1 .remaining, #page-index #mv .countdown-wrap.pc .countdown2 .remaining, #page-index #header .countdown-wrap.sp .countdown2 .remaining {
	font-size: 52px;
	font-weight: 700
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .countdown-wrap.pc .countdown1 .remaining, #page-index #header .countdown-wrap.sp .countdown1 .remaining, #page-index #mv .countdown-wrap.pc .countdown2 .remaining, #page-index #header .countdown-wrap.sp .countdown2 .remaining {
		font-size: 5.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .countdown-wrap.pc .countdown1 .remaining, #page-index #header .countdown-wrap.sp .countdown1 .remaining, #page-index #mv .countdown-wrap.pc .countdown2 .remaining, #page-index #header .countdown-wrap.sp .countdown2 .remaining {
		font-size: 10rem
	}
}
#page-index #mv .countdown-wrap.pc .countdown1 .day, #page-index #header .countdown-wrap.sp .countdown1 .day, #page-index #mv .countdown-wrap.pc .countdown2 .day, #page-index #header .countdown-wrap.sp .countdown2 .day {
	font-size: 21px;
	font-weight: 700;
	transform: translateY(-0.2em)
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .countdown-wrap.pc .countdown1 .day, #page-index #header .countdown-wrap.sp .countdown1 .day, #page-index #mv .countdown-wrap.pc .countdown2 .day, #page-index #header .countdown-wrap.sp .countdown2 .day {
		font-size: 2.1rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .countdown-wrap.pc .countdown1 .day, #page-index #header .countdown-wrap.sp .countdown1 .day, #page-index #mv .countdown-wrap.pc .countdown2 .day, #page-index #header .countdown-wrap.sp .countdown2 .day {
		font-size: 3.2rem
	}
}
*/

/*
#page-current #lead .lead, #page-progress #lead .lead, #page-0311 #lead .lead {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.5em;
	text-align: center;
	color: #009db1
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #lead .lead, #page-progress #lead .lead, #page-0311 #lead .lead {
		font-size: 3.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-current #lead .lead, #page-progress #lead .lead, #page-0311 #lead .lead {
		font-size: 3.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-current #lead .lead, #page-progress #lead .lead, #page-0311 #lead .lead {
		white-space: nowrap;
		line-height: 2em
	}
	html[lang=en] #page-current #lead .lead, #page-current #lead html[lang=en] .lead, html[lang=en] #page-progress #lead .lead, #page-progress #lead html[lang=en] .lead, html[lang=en] #page-0311 #lead .lead, #page-0311 #lead html[lang=en] .lead {
		white-space: inherit
	}
}*/

/*
#page-bbb #article-closeup .button, #page-current #current-body .button, #page-index #news .news .all {
	font-size: 14px;
	font-weight: 700;
	display: flex;
	align-items: center;
	background: #fff;
	color: #007cbd;
	gap: 10px;
	padding: 10px 10px 10px 20px;
	border-radius: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #article-closeup .button, #page-current #current-body .button, #page-index #news .news .all {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-bbb #article-closeup .button, #page-current #current-body .button, #page-index #news .news .all {
		font-size: 2.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #article-closeup .button, #page-current #current-body .button, #page-index #news .news .all {
		gap: 1vw;
		padding: 1vw 1vw 1vw 2vw;
		border-radius: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-bbb #article-closeup .button, #page-current #current-body .button, #page-index #news .news .all {
		position: relative;
		justify-content: center;
		gap: 0;
		padding: 2.6666666667vw 0;
		border-radius: 10.6666666667vw;
		width: 53.3333333333vw
	}
}
#page-bbb #article-closeup .button::after, #page-current #current-body .button::after, #page-index #news .news .all::after {
	content: "";
	background-image: url(../img/common/arrow_03.svg);
	background-repeat: no-repeat;
	background-size: contain;
	transition: .3s;
	aspect-ratio: 1;
	width: 16px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #article-closeup .button::after, #page-current #current-body .button::after, #page-index #news .news .all::after {
		width: 1.6vw
	}
}
@media screen and (max-width: 767px) {
	#page-bbb #article-closeup .button::after, #page-current #current-body .button::after, #page-index #news .news .all::after {
		width: 5.3333333333vw;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 2.6666666667vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-bbb #article-closeup .button:hover, #page-current #current-body .button:hover, #page-index #news .news .all:hover {
		text-decoration: underline
	}
	#page-bbb #article-closeup .button:hover::after, #page-current #current-body .button:hover::after, #page-index #news .news .all:hover::after {
		background-image: url(../img/common/arrow_03_on.svg)
	}
}

#page-news #news-body .text p:not(:last-child), #page-bbb #article-closeup .text p:not(:last-child), #page-bbb #article-body .text p:not(:last-child), #page-current #current-body figcaption p:not(:last-child), #page-current #current-body .text p:not(:last-child) {
	margin-bottom: 1em
}
html[lang=en] #page-news #news-body .text, #page-news #news-body html[lang=en] .text, html[lang=en] #page-bbb #article-closeup .text, #page-bbb #article-closeup html[lang=en] .text, html[lang=en] #page-bbb #article-body .text, #page-bbb #article-body html[lang=en] .text, html[lang=en] #page-current #current-body figcaption, #page-current #current-body html[lang=en] figcaption, html[lang=en] #page-current #current-body .text, #page-current #current-body html[lang=en] .text {
	text-align: left
}

@media print, screen and (min-width: 768px) {
	#page-progress #progress4 h3, #page-progress #progress3 h3, #page-progress #progress1 h3 {
		position: relative;
		padding-left: 28px;
		margin-bottom: 30px
	}
	#page-progress #progress4 h3::before, #page-progress #progress3 h3::before, #page-progress #progress1 h3::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		aspect-ratio: 1;
		border-radius: 50%;
		width: 18px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress4 h3, #page-progress #progress3 h3, #page-progress #progress1 h3 {
		padding-left: 2.8vw;
		margin-bottom: 3vw
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress4 h3::before, #page-progress #progress3 h3::before, #page-progress #progress1 h3::before {
		width: 1.8vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-progress #progress7 h3, #page-progress #progress6 h3, #page-progress #progress5 h3 {
		position: relative;
		text-align: center;
		margin-bottom: 20px
	}
	#page-progress #progress7 h3::before, #page-progress #progress6 h3::before, #page-progress #progress5 h3::before {
		content: "";
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		aspect-ratio: 1;
		border-radius: 50%;
		width: 18px;
		top: -28px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress7 h3, #page-progress #progress6 h3, #page-progress #progress5 h3 {
		margin-bottom: 2vw
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress7 h3::before, #page-progress #progress6 h3::before, #page-progress #progress5 h3::before {
		width: 1.8vw;
		top: -2.8vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress7 h3, #page-progress #progress6 h3, #page-progress #progress5 h3, #page-progress #progress4 h3, #page-progress #progress3 h3, #page-progress #progress2 h3, #page-progress #progress1 h3 {
		position: relative;
		padding-left: 7.4666666667vw;
		margin-bottom: 4vw
	}
	#page-progress #progress7 h3::before, #page-progress #progress6 h3::before, #page-progress #progress5 h3::before, #page-progress #progress4 h3::before, #page-progress #progress3 h3::before, #page-progress #progress2 h3::before, #page-progress #progress1 h3::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		aspect-ratio: 1;
		border-radius: 50%;
		width: 4.8vw
	}
}
#page-progress #progress7 .graph-wrap, #page-progress #progress6 .graph-wrap, #page-progress #progress5 .graph-wrap {
	display: flex;
	justify-content: center;
	gap: 60px;
	padding-top: 25px;
	margin-bottom: 60px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress7 .graph-wrap, #page-progress #progress6 .graph-wrap, #page-progress #progress5 .graph-wrap {
		gap: 6vw;
		padding-top: 2.5vw;
		margin-bottom: 6vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress7 .graph-wrap, #page-progress #progress6 .graph-wrap, #page-progress #progress5 .graph-wrap {
		display: block;
		padding-top: 0;
		margin-bottom: 0
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress7 .graph-wrap-sp, #page-progress #progress6 .graph-wrap-sp, #page-progress #progress5 .graph-wrap-sp, #page-progress #progress2 .graph-wrap-sp {
		display: flex;
		flex-direction: row-reverse;
		justify-content: flex-end;
		align-items: flex-end;
		margin-left: auto;
		gap: 2.6666666667vw;
		width: 79.4666666667vw
	}
}
#page-progress #progress4 .graph, #page-progress #progress3 .graph, #page-progress #progress1 .graph {
	margin-left: auto;
	width: 860px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress4 .graph, #page-progress #progress3 .graph, #page-progress #progress1 .graph {
		width: 86vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress4 .graph, #page-progress #progress3 .graph, #page-progress #progress1 .graph {
		width: 79.4666666667vw
	}
}
#page-progress #progress4 .y-2013, #page-progress #progress4 .y-2016, #page-progress #progress4 .y-2020, #page-progress #progress4 .y-2023, #page-progress #progress3 .y-2016, #page-progress #progress3 .y-2021-03, #page-progress #progress3 .y-2021-12, #page-progress #progress1 .y-2011, #page-progress #progress1 .y-2016, #page-progress #progress1 .y-2021, #page-progress #progress1 .y-2023 {
	margin: 0 auto;
	width: 900px;
	padding-bottom: 30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress4 .y-2013, #page-progress #progress4 .y-2016, #page-progress #progress4 .y-2020, #page-progress #progress4 .y-2023, #page-progress #progress3 .y-2016, #page-progress #progress3 .y-2021-03, #page-progress #progress3 .y-2021-12, #page-progress #progress1 .y-2011, #page-progress #progress1 .y-2016, #page-progress #progress1 .y-2021, #page-progress #progress1 .y-2023 {
		width: 90vw;
		padding-bottom: 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress4 .y-2013, #page-progress #progress4 .y-2016, #page-progress #progress4 .y-2020, #page-progress #progress4 .y-2023, #page-progress #progress3 .y-2016, #page-progress #progress3 .y-2021-03, #page-progress #progress3 .y-2021-12, #page-progress #progress1 .y-2011, #page-progress #progress1 .y-2016, #page-progress #progress1 .y-2021, #page-progress #progress1 .y-2023 {
		width: auto;
		padding-bottom: 10.6666666667vw
	}
}
#page-progress #progress7 .y-2011, #page-progress #progress7 .y-2015, #page-progress #progress6 .y-2016, #page-progress #progress6 .y-2021, #page-progress #progress5 .y-2016, #page-progress #progress5 .y-2021, #page-progress #progress4 .y-2013, #page-progress #progress4 .y-2016, #page-progress #progress4 .y-2020, #page-progress #progress3 .y-2016, #page-progress #progress3 .y-2021-03, #page-progress #progress2 .y-2016, #page-progress #progress1 .y-2011, #page-progress #progress1 .y-2016, #page-progress #progress1 .y-2021 {
	position: relative
}
#page-progress #progress7 .y-2011::before, #page-progress #progress7 .y-2015::before, #page-progress #progress6 .y-2016::before, #page-progress #progress6 .y-2021::before, #page-progress #progress5 .y-2016::before, #page-progress #progress5 .y-2021::before, #page-progress #progress4 .y-2013::before, #page-progress #progress4 .y-2016::before, #page-progress #progress4 .y-2020::before, #page-progress #progress3 .y-2016::before, #page-progress #progress3 .y-2021-03::before, #page-progress #progress2 .y-2016::before, #page-progress #progress1 .y-2011::before, #page-progress #progress1 .y-2016::before, #page-progress #progress1 .y-2021::before {
	content: "";
	height: 100%;
	background: #000;
	position: absolute;
	top: 5px;
	left: 8px;
	width: 2px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress7 .y-2011::before, #page-progress #progress7 .y-2015::before, #page-progress #progress6 .y-2016::before, #page-progress #progress6 .y-2021::before, #page-progress #progress5 .y-2016::before, #page-progress #progress5 .y-2021::before, #page-progress #progress4 .y-2013::before, #page-progress #progress4 .y-2016::before, #page-progress #progress4 .y-2020::before, #page-progress #progress3 .y-2016::before, #page-progress #progress3 .y-2021-03::before, #page-progress #progress2 .y-2016::before, #page-progress #progress1 .y-2011::before, #page-progress #progress1 .y-2016::before, #page-progress #progress1 .y-2021::before {
		top: .5vw;
		left: .8vw;
		width: .2vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress7 .y-2011::before, #page-progress #progress7 .y-2015::before, #page-progress #progress6 .y-2016::before, #page-progress #progress6 .y-2021::before, #page-progress #progress5 .y-2016::before, #page-progress #progress5 .y-2021::before, #page-progress #progress4 .y-2013::before, #page-progress #progress4 .y-2016::before, #page-progress #progress4 .y-2020::before, #page-progress #progress3 .y-2016::before, #page-progress #progress3 .y-2021-03::before, #page-progress #progress2 .y-2016::before, #page-progress #progress1 .y-2011::before, #page-progress #progress1 .y-2016::before, #page-progress #progress1 .y-2021::before {
		top: 1.3333333333vw;
		left: 2.1333333333vw;
		width: .5333333333vw
	}
}
#page-progress #progress7 .y-2015::after, #page-progress #progress6 .y-2021::after, #page-progress #progress5 .y-2021::after, #page-progress #progress4 .y-2020::after, #page-progress #progress3 .y-2021-03::after, #page-progress #progress2 .y-2016::after, #page-progress #progress1 .y-2021::after {
	content: "";
	background: url(../img/progress/arrow.svg) no-repeat;
	background-size: contain;
	position: absolute;
	bottom: -5px;
	left: 2px;
	aspect-ratio: 1;
	width: 14px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress7 .y-2015::after, #page-progress #progress6 .y-2021::after, #page-progress #progress5 .y-2021::after, #page-progress #progress4 .y-2020::after, #page-progress #progress3 .y-2021-03::after, #page-progress #progress2 .y-2016::after, #page-progress #progress1 .y-2021::after {
		bottom: -0.5vw;
		left: .2vw;
		width: 1.4vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress7 .y-2015::after, #page-progress #progress6 .y-2021::after, #page-progress #progress5 .y-2021::after, #page-progress #progress4 .y-2020::after, #page-progress #progress3 .y-2021-03::after, #page-progress #progress2 .y-2016::after, #page-progress #progress1 .y-2021::after {
		bottom: -.2666666667vw;
		left: .5333333333vw;
		width: 3.7333333333vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-progress #progress7 .y-2011, #page-progress #progress7 .y-2015, #page-progress #progress6 .y-2016, #page-progress #progress6 .y-2021, #page-progress #progress5 .y-2016, #page-progress #progress5 .y-2021 {
		position: relative
	}
	#page-progress #progress7 .y-2011::before, #page-progress #progress7 .y-2015::before, #page-progress #progress6 .y-2016::before, #page-progress #progress6 .y-2021::before, #page-progress #progress5 .y-2016::before, #page-progress #progress5 .y-2021::before {
		content: "";
		background: #000;
		position: absolute;
		left: 50%;
		top: -20px;
		width: calc(100% + 60px);
		height: 2px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress7 .y-2011::before, #page-progress #progress7 .y-2015::before, #page-progress #progress6 .y-2016::before, #page-progress #progress6 .y-2021::before, #page-progress #progress5 .y-2016::before, #page-progress #progress5 .y-2021::before {
		top: -2vw;
		width: calc(100% + 6vw);
		height: .2vw
	}
}
@media screen and (min-width: 768px)and (max-width: 767px) {
	#page-progress #progress7 .y-2011::before, #page-progress #progress7 .y-2015::before, #page-progress #progress6 .y-2016::before, #page-progress #progress6 .y-2021::before, #page-progress #progress5 .y-2016::before, #page-progress #progress5 .y-2021::before {
		top: -5.3333333333vw;
		width: calc(100% + 16vw);
		height: .5333333333vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-progress #progress7 .y-2015::after, #page-progress #progress6 .y-2021::after, #page-progress #progress5 .y-2021::after {
		content: "";
		background: url(../img/progress/arrow.svg) no-repeat;
		background-size: contain;
		position: absolute;
		transform: rotate(-90deg);
		top: -26px;
		left: calc(150% + 60px - 14px - 9px);
		aspect-ratio: 1;
		width: 14px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress7 .y-2015::after, #page-progress #progress6 .y-2021::after, #page-progress #progress5 .y-2021::after {
		top: -2.6vw;
		left: calc(150% + 3.7vw);
		width: 1.4vw
	}
}
#page-progress #progress7 .detail-wrap, #page-progress #progress6 .detail-wrap, #page-progress #progress5 .detail-wrap, #page-progress #progress4 .detail-wrap, #page-progress #progress2 .detail-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress7 .detail-wrap, #page-progress #progress6 .detail-wrap, #page-progress #progress5 .detail-wrap, #page-progress #progress4 .detail-wrap, #page-progress #progress2 .detail-wrap {
		gap: .8vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress7 .detail-wrap, #page-progress #progress6 .detail-wrap, #page-progress #progress5 .detail-wrap, #page-progress #progress4 .detail-wrap, #page-progress #progress2 .detail-wrap {
		gap: 2.1333333333vw
	}
}*/
/*#page-bbb #list .item, #page-index #bbb .bbb-slider-item {
	transition: .3s
}
@media print, screen and (min-width: 768px) {
	#page-bbb #list .item:hover, #page-index #bbb .bbb-slider-item:hover {
		transform: scale(1.08)
	}
}
#page-bbb #list .item a, #page-index #bbb .bbb-slider-item a {
	position: relative;
	display: block;
	box-sizing: border-box;
	height: 100%;
	color: #000;
	padding: 30px 20px 40px 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #list .item a, #page-index #bbb .bbb-slider-item a {
		padding: 3vw 2vw 4vw 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-bbb #list .item a, #page-index #bbb .bbb-slider-item a {
		padding: 8vw 5.3333333333vw 9.3333333333vw 5.3333333333vw
	}
}
#page-bbb #list .item a::after, #page-index #bbb .bbb-slider-item a::after {
	content: "";
	background-image: url(../img/common/arrow_04.svg);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	transition: .3s;
	aspect-ratio: 1;
	width: 30px;
	right: 20px;
	bottom: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #list .item a::after, #page-index #bbb .bbb-slider-item a::after {
		width: 3vw;
		right: 2vw;
		bottom: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-bbb #list .item a::after, #page-index #bbb .bbb-slider-item a::after {
		width: 8vw;
		right: 5.3333333333vw;
		bottom: 5.3333333333vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-bbb #list .item a:hover::after, #page-index #bbb .bbb-slider-item a:hover::after {
		background-image: url(../img/common/arrow_04_on.svg)
	}
	#page-bbb #list .item a:hover h3 span::before, #page-index #bbb .bbb-slider-item a:hover h3 span::before {
		background: #9d8200
	}
}
#page-bbb #list .item .ill, #page-index #bbb .bbb-slider-item .ill {
	width: 218px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px
}
#page-bbb #list .item .ill img, #page-index #bbb .bbb-slider-item .ill img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #list .item .ill, #page-index #bbb .bbb-slider-item .ill {
		width: 21.8vw
	}
}
@media screen and (max-width: 767px) {
	#page-bbb #list .item .ill, #page-index #bbb .bbb-slider-item .ill {
		width: 58.1333333333vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #list .item .ill, #page-index #bbb .bbb-slider-item .ill {
		margin-bottom: 1vw
	}
}
@media screen and (max-width: 767px) {
	#page-bbb #list .item .ill, #page-index #bbb .bbb-slider-item .ill {
		margin-bottom: 2.6666666667vw
	}
}
#page-bbb #list .item h3, #page-index #bbb .bbb-slider-item h3 {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5em;
	text-align: center;
	position: relative;
	z-index: 1;
	margin-bottom: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #list .item h3, #page-index #bbb .bbb-slider-item h3 {
		font-size: 1.7rem
	}
}
@media screen and (max-width: 767px) {
	#page-bbb #list .item h3, #page-index #bbb .bbb-slider-item h3 {
		font-size: 3.6rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #list .item h3, #page-index #bbb .bbb-slider-item h3 {
		margin-bottom: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-bbb #list .item h3, #page-index #bbb .bbb-slider-item h3 {
		margin-bottom: 5.3333333333vw
	}
}
#page-bbb #list .item h3 span, #page-index #bbb .bbb-slider-item h3 span {
	position: relative
}
#page-bbb #list .item h3 span::before, #page-index #bbb .bbb-slider-item h3 span::before {
	z-index: -1;
	transition: .3s;
	content: "";
	width: 100%;
	height: 7px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%)
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #list .item h3 span::before, #page-index #bbb .bbb-slider-item h3 span::before {
		height: .7vw
	}
}
#page-bbb #list .item .text, #page-index #bbb .bbb-slider-item .text {
	font-size: 14px;
	line-height: 1.5em;
	margin-bottom: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #list .item .text, #page-index #bbb .bbb-slider-item .text {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-bbb #list .item .text, #page-index #bbb .bbb-slider-item .text {
		font-size: 3.2rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #list .item .text, #page-index #bbb .bbb-slider-item .text {
		margin-bottom: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-bbb #list .item .text, #page-index #bbb .bbb-slider-item .text {
		margin-bottom: 5.3333333333vw
	}
}
html[lang=en] #page-bbb #list .item .text, #page-bbb #list html[lang=en] .item .text, html[lang=en] #page-index #bbb .bbb-slider-item .text, #page-index #bbb html[lang=en] .bbb-slider-item .text {
	text-align: left
}
#page-bbb #list .item .location, #page-index #bbb .bbb-slider-item .location {
	font-size: 12px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-bbb #list .item .location, #page-index #bbb .bbb-slider-item .location {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-bbb #list .item .location, #page-index #bbb .bbb-slider-item .location {
		font-size: 2.8rem
	}
}*/
.col-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6.5%;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	.col-2 {
		gap: 2vw;
	}
}
@media screen and (max-width: 767px) {
	.col-2 {
		grid-template-columns: 1fr;
		gap: 8vw;
	}
}
.col-2 .image-h img {
	width: 100%;
	vertical-align: bottom
}
.col-2 .image-v {
	width: 330px;
	margin-left: auto;
	margin-right: auto
}
.col-2 .image-v img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	.col-2 .image-v {
		width: 33vw
	}
}
@media screen and (max-width: 767px) {
	.col-2 .image-v {
		width: 66.6666666667vw
	}
}
.col-2 .image-v figcaption {
	margin-left: auto;
	margin-right: auto;
	width: 330px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	.col-2 .image-v figcaption {
		width: 33vw
	}
}
@media screen and (max-width: 767px) {
	.col-2 .image-v figcaption {
		width: 66.6666666667vw
	}
}


/*
#page-current #current-header .tag-wrap, #page-current #current .item .tag-wrap {
	display: flex;
	align-items: center;
	margin-bottom: .7em;
	gap: .5em
}
@media screen and (max-width: 767px) {
	#page-current #current-header .tag-wrap, #page-current #current .item .tag-wrap {
		align-items: flex-start;
		flex-direction: column
	}
}
#page-current #current-header .tag, #page-current #current .item .tag {
	font-size: 18px;
	color: #fff;
	border-radius: 20px;
	padding: 4px 20px 6px 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-header .tag, #page-current #current .item .tag {
		font-size: 1.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-header .tag, #page-current #current .item .tag {
		font-size: 3.2rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-header .tag, #page-current #current .item .tag {
		border-radius: 2vw;
		padding: .4vw 2vw .6vw 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-header .tag, #page-current #current .item .tag {
		border-radius: 2.6666666667vw;
		padding: .5333333333vw 2.6666666667vw .8vw 2.6666666667vw
	}
}
#page-current #current-header .tag.miyagi, #page-current #current .item .tag.miyagi {
	background: #007cbd
}
#page-current #current-header .tag.iwate, #page-current #current .item .tag.iwate {
	background: #009db1
}
#page-current #current-header .tag.fukushima, #page-current #current .item .tag.fukushima {
	background: #0074e6
}
#page-current #current-header .sub, #page-current #current .item .sub {
	flex: 1;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3333333333em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-header .sub, #page-current #current .item .sub {
		font-size: 1.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-header .sub, #page-current #current .item .sub {
		font-size: 3.2rem
	}
}
#page-current #current-header .title, #page-current #current .item .title {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.5em;
	transition: .3s
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-header .title, #page-current #current .item .title {
		font-size: 2.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-header .title, #page-current #current .item .title {
		font-size: 3.6rem
	}
}*/
html {
	font-size: 100%;
	overflow: auto;
	width: 100%
}
body {
	margin: 0;
	padding: 0;
	width: 100%
}
div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, picture {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
	box-sizing: border-box
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, picture {
	display: block
}
body {
	line-height: 1
}
ol, ul {
	list-style: none
}
blockquote, q {
	quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	outline: 0;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
button {
	cursor: pointer
}
sup {
    font-size: 0.65em;
    display: inline-block;
    transform: translateY(-0.6em);
}
sub {
    font-size: 0.65em;
    display: inline-block;
}
@keyframes whirly-loader {
	0% {
		-moz-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg)
	}
	100% {
		-moz-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}
#loaderBg {
	background-color: #fff;
	height: 100%;
	width: 100%;
	position: fixed;
	flex-direction: column;
	top: 0px;
	left: 0px;
	z-index: 30000;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: opacity .5s, z-index 1s 1s
}
body.loaded #loaderBg {
	opacity: 0;
	pointer-events: none;
	z-index: 0
}
#loader #loading-logo {
	height: 90px
}
@media screen and (max-width: 767px) {
	#loader #loading-logo {
		height: 13.3333333333vw
	}
}
#loader #loading-logo.loaded #loading-logo-base {
	stroke-opacity: 1 !important
}
#loader .loading-en {
	font-size: 18px;
	text-align: center;
	color: rgba(0, 0, 0, .5)
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#loader .loading-en {
		font-size: 1.8rem
	}
}
@media screen and (max-width: 767px) {
	#loader .loading-en {
		font-size: 3rem
	}
}
html[lang=ja] #loader .loading-en {
	display: none
}
html {
	font-size: 1vw
}
@media screen and (max-width: 767px) {
	html {
		font-size: 1.3333333333vw
	}
}
.disable-auto-tel a[href^="tel:"] {
	color: inherit;
	text-decoration: none;
	pointer-events: none
}
body {
	font-size: 16px;
	color: #000;
	line-height: 1;
	-webkit-text-size-adjust: inherit
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	body {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	body {
		font-size: 3.2rem
	}
}
@media screen and (max-width: 767px) {
	body {
		-webkit-text-size-adjust: 100%
	}
	body.is-fixed {
		width: 100%;
		height: 100%;
		position: fixed
	}
}
body.is-fixed-modal {
	width: 100%;
	height: 100%;
	position: fixed
}
_:-ms-fullscreen, :root body {
	overflow: hidden
}
button, input[type=text], select {
	font-size: 16px;
	color: #000;
	line-height: 1
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	button, input[type=text], select {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	button, input[type=text], select {
		font-size: 3.2rem
	}
}
a, button {
	text-decoration: none;
	transition: .3s;
	color: #009db1
}
a::after, a::before, button::after, button::before {
	transition: .3s
}
svg {
	overflow-x: visible;
	overflow-y: visible
}
header {
	position: relative;
	z-index: 10000;
}
@media screen and (max-width: 767px) {
	header {
		border: none
	}
}
header .inner {
    width: 100%;
    max-width: 100%;
}
header .title-wrap {
    width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 0 5px;
    position: relative;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	header .title-wrap {
		padding: .5vw 4vw 1vw 3vw;
		max-width: 128vw
	}
}
@media screen and (max-width: 767px) {
	header .title-wrap {
		display: block;
		padding: 0 16vw 5.3333333333vw 0.3vw;
		max-width: inherit
	}
}
header .title-wrap h1 a {
	color: #000;
	font-weight: 700;
	font-size: 18px;
    display: flex;
    align-items: center;
    gap: 0 0.5em;
}
@media screen and (min-width: 768px)and (max-width: 1300px) {
	header .title-wrap h1 a {
		font-size: 1.5rem
	}
}
@media screen and (max-width: 767px) {
	header .title-wrap h1 a {
		font-size: 2.9vw;
		line-height: 1.2;
        white-space: nowrap;
        align-items: flex-start;
	}
	html[lang=en] header .title-wrap h1 a {
		font-size: 2rem
	}
}
html[lang=en] header .title-wrap h1 a {
	line-height: 1.2
}
header .title-wrap h1 a img {
    width: 240px;
}
@media screen and (min-width: 768px)and (max-width: 1300px) {
    header .title-wrap h1 a img {
        max-width: 16vw;
    }
}
@media screen and (max-width: 767px) {
    header .title-wrap h1 a img {
        max-width: 32vw;
    }
    header .title-wrap h1 a p {
        margin-top: 1.2em;
    }
	html[lang=en] header .title-wrap h1 a p {
        margin-top: 0.7em;
	}
}
header .title-wrap .logo-wrap {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20px;
    margin: 0 auto;
	display: flex;
    align-items: center;
}
@media screen and (max-width: 767px) {
    header .title-wrap .logo-wrap {
        position: absolute;
        top: 10vw;
        bottom: inherit;
        left: 34vw;
    }
}
header .title-wrap .logo-wrap .logo {
    display: flex;
	gap: 20px
}
@media screen and (min-width: 768px)and (max-width: 1300px) {
	header .title-wrap .logo-wrap .logo {
		gap: 2vw;
	}
}
@media screen and (max-width: 767px) {
	header .title-wrap .logo-wrap .logo {
		gap: 5vw;
        align-items: center;
	}
}
header .title-wrap .logo-wrap .logo1 {
	width: 148px
}
header .title-wrap .logo-wrap .logo1 img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1300px) {
	header .title-wrap .logo-wrap .logo1 {
		width: 11.5625vw
	}
}
@media screen and (max-width: 767px) {
	header .title-wrap .logo-wrap .logo1 {
		width: 19vw
	}
}
header .title-wrap .logo-wrap .logo2 {
	width: 152px
}
header .title-wrap .logo-wrap .logo2 img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1300px) {
	header .title-wrap .logo-wrap .logo2 {
		width: 11.875vw
	}
}
@media screen and (max-width: 767px) {
	header .title-wrap .logo-wrap .logo2 {
		width: 20vw
	}
}
header .title-wrap .nav-language {
    position: absolute;
    top: 30px;
    right: 40px;
}
@media screen and (max-width: 767px) {
	header .title-wrap .nav-language {
		display: none;
	}
}
header .title-wrap .nav-language a {
	font-size: 12px;
	color: #000;
	font-weight: 700;
	border: 1px solid #000;
	padding: 0 6px 1px 6px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	header .title-wrap .nav-language a {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	header .title-wrap .nav-language a {
		font-size: 2.4rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	header .title-wrap .nav-language a {
		padding: 0 .6vw .1vw .6vw
	}
}
@media screen and (max-width: 767px) {
	header .title-wrap .nav-language a {
		padding: 0 1.6vw .2666666667vw 1.6vw
	}
}
html[lang=ja] header .title-wrap .nav-language a.jp, html[lang=en] header .title-wrap .nav-language a.en {
	background: #009db1;
	color: #fff;
	pointer-events: none !important
}
header .title-wrap .nav-language a.jp {
	border-radius: 3px 0 0 3px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	header .title-wrap .nav-language a.jp {
		border-radius: .3vw 0 0 .3vw
	}
}
@media screen and (max-width: 767px) {
	header .title-wrap .nav-language a.jp {
		border-radius: .8vw 0 0 .8vw
	}
}
header .title-wrap .nav-language a.en {
	margin-left: -1px;
	border-radius: 0 3px 3px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	header .title-wrap .nav-language a.en {
		border-radius: 0 .3vw .3vw 0
	}
}
@media screen and (max-width: 767px) {
	header .title-wrap .nav-language a.en {
		border-radius: 0 .8vw .8vw 0
	}
}
@media print, screen and (min-width: 768px) {
	header .title-wrap .nav-language a:hover {
		color: #009db1
	}
}
#header-nav-pc {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	max-width: 1060px;
	margin: 0 auto;
	padding: 0 10px
}
@media screen and (max-width: 767px) {
	#header-nav-pc {
		display: none;
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100%;
	}
    #header-nav-pc::after {
        content: "";
        width: 100%;
        height: 100%;
        background: #000;
        opacity: 0.86;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }
	#header-nav-pc.active {
        display: flex;
        justify-content: center;
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#header-nav-pc {
		max-width: 106vw;
		padding: 0 2vw
	}
}
#header-nav-pc .header-nav {
	display: flex;
	justify-content: space-between
}
@media screen and (max-width: 767px) {
    #header-nav-pc .header-nav {
        height: 100%;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 2em 0;
    }
}
#header-nav-pc .header-nav-item {
	position: relative;
    margin-bottom: 20px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#header-nav-pc .header-nav-item {
		margin-bottom: 3vw;
	}
}
@media screen and (max-width: 767px) {
	#header-nav-pc .header-nav-item {
		margin-bottom: 0;
	}
}
#header-nav-pc .header-nav-item a {
	position: relative;
	color: #808080;
}
#header-nav-pc .header-nav-item a:hover {
	color: #000;
}
@media screen and (max-width: 767px) {
    #header-nav-pc .header-nav-item a,
    #header-nav-pc .header-nav-item a:hover {
        color: #fff;
    }
}
body#page-0311 #header-nav-pc .header-nav-item a.recovery, body#page-progress #header-nav-pc .header-nav-item a.recovery, body#page-current #header-nav-pc .header-nav-item a.recovery, body#page-preparation #header-nav-pc .header-nav-item a.preparation, body#page-bbb #header-nav-pc .header-nav-item a.bbb, body#page-news #header-nav-pc .header-nav-item a.news {
	color: #000;
}
body#page-0311 #header-nav-pc .header-nav-item>a.recovery::after, body#page-progress #header-nav-pc .header-nav-item>a.recovery::after, body#page-current #header-nav-pc .header-nav-item>a.recovery::after, body#page-preparation #header-nav-pc .header-nav-item>a.preparation::after, body#page-bbb #header-nav-pc .header-nav-item>a.bbb::after, body#page-news #header-nav-pc .header-nav-item>a.news::after {
	background-color: #000;
}
@media screen and (max-width: 767px) {
    body#page-0311 #header-nav-pc .header-nav-item a.recovery, body#page-progress #header-nav-pc .header-nav-item a.recovery, body#page-current #header-nav-pc .header-nav-item a.recovery, body#page-preparation #header-nav-pc .header-nav-item a.preparation, body#page-bbb #header-nav-pc .header-nav-item a.bbb, body#page-news #header-nav-pc .header-nav-item a.news {
        color: #fff;
    }
    body#page-0311 #header-nav-pc .header-nav-item>a.recovery::after, body#page-progress #header-nav-pc .header-nav-item>a.recovery::after, body#page-current #header-nav-pc .header-nav-item>a.recovery::after, body#page-preparation #header-nav-pc .header-nav-item>a.preparation::after, body#page-bbb #header-nav-pc .header-nav-item>a.bbb::after, body#page-news #header-nav-pc .header-nav-item>a.news::after {
        background-color: #fff;
    }
}
body#page-themeweek.page-themeweek-themeweek #header-nav-pc .header-nav-item a.themeweek,
body#page-themeweek.page-themeweek-monument #header-nav-pc .header-nav-item a.monument,
body#page-bbb.page-bbb-food #header-nav-pc .header-nav-item a.food,
body#page-bbb.page-bbb-lore #header-nav-pc .header-nav-item a.lore,
body#page-bbb.page-bbb-tech #header-nav-pc .header-nav-item a.tech,
body#page-0311 #header-nav-pc .header-nav-item a.r0311,
body#page-progress #header-nav-pc .header-nav-item a.progress,
body#page-current #header-nav-pc .header-nav-item a.current,
body#page-preevent.page-preevent-expo #header-nav-pc .header-nav-item a.expo,
body#page-preevent.page-preevent-moment #header-nav-pc .header-nav-item a.moment,
body#page-preevent.page-preevent-ev100 #header-nav-pc .header-nav-item a.ev100 {
	color: #009db1
}
body#page-themeweek.page-themeweek-themeweek #header-nav-pc .header-nav-item a.themeweek::before,
body#page-themeweek.page-themeweek-monument #header-nav-pc .header-nav-item a.monument::before,
body#page-bbb.page-bbb-food #header-nav-pc .header-nav-item a.food::before,
body#page-bbb.page-bbb-lore #header-nav-pc .header-nav-item a.lore::before,
body#page-bbb.page-bbb-tech #header-nav-pc .header-nav-item a.tech::before,
body#page-0311 #header-nav-pc .header-nav-item a.r0311::before,
body#page-progress #header-nav-pc .header-nav-item a.progress::before,
body#page-current #header-nav-pc .header-nav-item a.current::before,
body#page-preevent.page-preevent-expo #header-nav-pc .header-nav-item a.expo::before,
body#page-preevent.page-preevent-moment #header-nav-pc .header-nav-item a.moment::before,
body#page-preevent.page-preevent-ev100 #header-nav-pc .header-nav-item a.ev100::before {
	content: "●";
	font-size: 10px;
	color: #009db1;
	position: absolute;
	top: .5em;
	left: -1.5em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    body#page-bbb.page-bbb-food #header-nav-pc .header-nav-item a.food::before,
    body#page-bbb.page-bbb-lore #header-nav-pc .header-nav-item a.lore::before,
    body#page-bbb.page-bbb-tech #header-nav-pc .header-nav-item a.tech::before,
	body#page-0311 #header-nav-pc .header-nav-item a.r0311::before,
    body#page-progress #header-nav-pc .header-nav-item a.progress::before,
    body#page-current #header-nav-pc .header-nav-item a.current::before,
	body#page-preevent.page-preevent-expo #header-nav-pc .header-nav-item a.expo::before,
	body#page-preevent.page-preevent-moment #header-nav-pc .header-nav-item a.moment::before,
	body#page-preevent.page-preevent-ev100 #header-nav-pc .header-nav-item a.ev100::before {
		font-size: 1rem
	}
}
@media screen and (max-width: 767px) {
    body#page-bbb.page-bbb-food #header-nav-pc .header-nav-item a.food::before,
    body#page-bbb.page-bbb-lore #header-nav-pc .header-nav-item a.lore::before,
    body#page-bbb.page-bbb-tech #header-nav-pc .header-nav-item a.tech::before,
	body#page-0311 #header-nav-pc .header-nav-item a.r0311::before,
    body#page-progress #header-nav-pc .header-nav-item a.progress::before,
    body#page-current #header-nav-pc .header-nav-item a.current::before,
	body#page-preevent.page-preevent-expo #header-nav-pc .header-nav-item a.expo::before,
	body#page-preevent.page-preevent-moment #header-nav-pc .header-nav-item a.moment::before,
	body#page-preevent.page-preevent-ev100 #header-nav-pc .header-nav-item a.ev100::before {
		font-size: 2rem
	}
}
#header-nav-pc .header-nav-item>a {
	position: relative;
	display: block;
	font-size: 13px;
    font-weight: 600;
    padding-right: 1.2em;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#header-nav-pc .header-nav-item>a {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	#header-nav-pc .header-nav-item>a {
		font-size: 3.2rem
	}
}
html[lang=en] #header-nav-pc .header-nav-item>a {
	font-size: 11px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	html[lang=en] #header-nav-pc .header-nav-item>a {
		font-size: 1.1rem
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #header-nav-pc .header-nav-item>a {
		font-size: 3rem
	}
}
#header-nav-pc .header-nav-item>a::before, #header-nav-pc .header-nav-item>a::after {
	transition: .3s
}
body#page-0311 #header-nav-pc .header-nav-item>a.recovery::before, body#page-progress #header-nav-pc .header-nav-item>a.recovery::before, body#page-current #header-nav-pc .header-nav-item>a.recovery::before {
	background: #009db1
}
#header-nav-pc .header-nav-item>a::after {
	content: "";
	-webkit-mask: url(../img/common/arrow_01.svg) no-repeat;
	mask: url(../img/common/arrow_01.svg) no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	background: #808080;
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
	right: 0;
    margin: auto;
	aspect-ratio: 11.5/6.5;
	width: 1em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#header-nav-pc .header-nav-item>a::after {
        bottom: 1vw;
        width: 1.2vw;
	}
}
@media screen and (max-width: 767px) {
	#header-nav-pc .header-nav-item>a::after {
        background: #fff;
        width: 0.8em;
        top: 25%;
        right: -0.5em;
        transform: rotate(-90deg) translateY(-50%);
	}
}
#header-nav-pc .header-nav-item>a.noscroll.hover {
    color: #000;
}
#header-nav-pc .header-nav-item>a:hover::after,
#header-nav-pc .header-nav-item>a.noscroll:hover::after, #header-nav-pc .header-nav-item>a.noscroll.hover::after {
	background: #000;
}
body#page-0311 #header-nav-pc .header-nav-item>a::after, body#page-progress #header-nav-pc .header-nav-item>a::after, body#page-current #header-nav-pc .header-nav-item>a::after {
	background: #808080;
}
body#page-0311 #header-nav-pc .header-nav-item>a:hover::after, body#page-progress #header-nav-pc .header-nav-item>a:hover::after, body#page-current #header-nav-pc .header-nav-item>a:hover::after {
	background: #000;
}
@media screen and (max-width: 767px) {
    #header-nav-pc .header-nav-item>a:hover::after,
    #header-nav-pc .header-nav-item>a.noscroll:hover::after, #header-nav-pc .header-nav-item>a.noscroll.hover::after {
        background: #fff;
    }
    body#page-0311 #header-nav-pc .header-nav-item>a::after, body#page-progress #header-nav-pc .header-nav-item>a::after, body#page-current #header-nav-pc .header-nav-item>a::after {
        background: #fff;
    }
}
#header-nav-pc .header-nav-item:hover>.header-nav-sub {
	opacity: 1;
	visibility: visible
}
#header-nav-pc .header-nav-sub {
	display: flex;
	flex-direction: column;
	transition: all .3s;
	opacity: 0;
	visibility: hidden;
	width: max-content;
	background: #fff;
	border: 1px solid #009db1;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: calc(17px + 1em);
	padding: 20px 30px 20px 42px;
	gap: 15px
}
@media screen and (max-width: 767px) {
    #header-nav-pc .header-nav-sub {
        display: none;
    }
}
html[lang=en] #header-nav-pc .header-nav-sub {
	top: 31px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#header-nav-pc .header-nav-sub {
		top: calc(3vw + 1em);
		padding: 1.6vw 2.4vw 1.6vw 3.36vw;
		gap: 15px
	}
	html[lang=en] #header-nav-pc .header-nav-sub {
		top: calc(3vw + .7em)
	}
}
#header-nav-pc .header-nav-sub.focused {
	opacity: 1;
	visibility: visible
}
#header-nav-pc .header-nav-sub a {
	font-size: 14px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#header-nav-pc .header-nav-sub a {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#header-nav-pc .header-nav-sub a {
		font-size: 2.8rem
	}
}
html[lang=en] #header-nav-pc .header-nav-sub a {
	font-size: 11px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	html[lang=en] #header-nav-pc .header-nav-sub a {
		font-size: 1.1rem
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #header-nav-pc .header-nav-sub a {
		font-size: 2.8rem
	}
}
#header-nav-pc .header-nav-sub a:hover {
	color: #000,
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#header-nav-pc .header-nav-item a.sns+.header-nav-sub {
		transform: translateX(-76%)
	}
}
#header-nav-sp {
	display: none;
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
}
#header-nav-sp::after {
    content: "";
    width: 100%;
    height: 100%;
	background: #333;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
@media screen and (max-width: 767px) {
	#header-nav-sp.active {
		display: block
	}
}
#header-nav-sp .scroll {
	height: 100vh;
	overflow-y: auto
}
#header-nav-sp .header-nav {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin: 20vw 0
}
#header-nav-sp .header-nav-item {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#header-nav-sp .header-nav-item {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#header-nav-sp .header-nav-item {
		font-size: 2.8rem
	}
}
#header-nav-sp .header-nav-item.has-child {
	position: relative
}
#header-nav-sp .header-nav-item.has-child::before, #header-nav-sp .header-nav-item.has-child::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 5.3333333333vw;
	transition: .3s;
	width: 3.7333333333vw;
	height: .2666666667vw;
	background: #000
}
#header-nav-sp .header-nav-item.has-child::after {
	transform: translateY(-50%) rotate(90deg)
}
#header-nav-sp .header-nav-item.has-child.open::after {
	transform: translateY(-50%)
}
#header-nav-sp .header-nav-item a, #header-nav-sp .header-nav-item span {
	display: block;
	padding: 5.3333333333vw 10.6666666667vw 5.3333333333vw 5.3333333333vw
}
#header-nav-sp .header-nav-sub {
	font-size: 12px;
	line-height: 1.4;
	display: none;
	padding: 0 5.3333333333vw 5.3333333333vw 5.3333333333vw
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#header-nav-sp .header-nav-sub {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	#header-nav-sp .header-nav-sub {
		font-size: 2.8rem
	}
}
#header-nav-sp .header-nav-sub-item:not(:last-child) {
	margin-bottom: 4vw
}
#header-nav-sp .header-nav-sub-detail a::before {
	content: "●"
}
#header-nav-sp .header-nav a {
	color: #fff
}
#disp-nav {
	display: none;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	background: #009db1;
    background: linear-gradient(-50deg, #007c9a 0%, #009eb2 43%, #006d9d 100%);
	width: 13.3333333333vw;
	aspect-ratio: 1;
	cursor: pointer;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 12000
}
@media screen and (max-width: 767px) {
	#disp-nav {
		display: flex
	}
}
#disp-nav button {
	width: 5.3vw;
	aspect-ratio: 60/43.5;
	position: relative
}
#disp-nav span {
	display: block;
	transition: all .3s;
	box-sizing: border-box;
	position: absolute;
	z-index: 12000;
	left: 0;
	width: 100%;
	height: .6vw;
	background: #fff
}
#disp-nav span:nth-of-type(1) {
	top: 0
}
#disp-nav span:nth-of-type(2) {
	top: calc(50% - .3333333333vw)
}
#disp-nav span:nth-of-type(3) {
	bottom: 0
}
#disp-nav.active span:nth-of-type(1) {
	transform: translate(0, 1.6vw) rotate(-45deg)
}
#disp-nav.active span:nth-of-type(2) {
	display: none
}
#disp-nav.active span:nth-of-type(3) {
	transform: translate(0, -1.6vw) rotate(45deg)
}
#breadcrumb {
	padding: 15px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#breadcrumb {
		padding: 1.5vw 0
	}
}
@media screen and (max-width: 767px) {
	#breadcrumb {
		padding: 4vw 0
	}
}
#breadcrumb .inner {
	text-align: right
}
@media screen and (max-width: 767px) {
	#breadcrumb .inner {
		text-align: left
	}
}
#breadcrumb a {
	font-size: 12px;
	line-height: 1.5em;
	color: #000
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#breadcrumb a {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	#breadcrumb a {
		font-size: 2.2rem
	}
}
#breadcrumb a.nopage {
	pointer-events: none
}
#breadcrumb a:hover {
	color: #009db1
}
#breadcrumb .no-link::after,
#breadcrumb a::after {
	content: "";
	display: inline-block;
	-webkit-mask: url(../img/common/arrow_01.svg) no-repeat;
	mask: url(../img/common/arrow_01.svg) no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	background: #009db1;
	transform: rotate(-90deg) translateX(0.2em);
	aspect-ratio: 8/4;
	width: 10px;
	margin: 0 8px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    #breadcrumb .no-link::after,
	#breadcrumb a::after {
		width: 1vw;
		margin: 0 .8vw
	}
}
@media screen and (max-width: 767px) {
    #breadcrumb .no-link::after,
	#breadcrumb a::after {
		width: 2vw;
		margin: 0 1.3333333333vw
	}
}
#breadcrumb span {
	font-size: 12px;
	line-height: 1.5em;
	color: #5a6b7c
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#breadcrumb span {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	#breadcrumb span {
		font-size: 2.4rem
	}
}
#pagetop {
	transition: 0s;
	text-indent: -10000px;
	background-image: url(../img/common/pagetop.svg);
	background-repeat: no-repeat;
	background-size: contain;
	position: fixed;
	z-index: 9000;
	right: 40px;
	bottom: 20px;
	width: 20px;
	aspect-ratio: 20 / 135;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#pagetop {
		right: 1vw;
		bottom: 2vw;
		width: 1.5vw
	}
}
@media screen and (max-width: 767px) {
	#pagetop {
        display: none;
        opacity: 0;
        right: 0;
        bottom: 0;
        width: 0;
	}
}
footer {
    color: #fff;
    background: linear-gradient(-22deg, #005b93 0%, #009cb0 43%, #005b93 100%);
    position: relative;
}
footer::before {
    content: "";
    height: 100%;
    aspect-ratio: 125 / 783;
    background: url("../img/common/footer_bg.svg") no-repeat top left / 101% 101%;
    position: absolute;
    top: 0;
    right: 0;
}
@media screen and (max-width: 767px) {
    footer::before {
        display: none;
    }
}
footer .inner {
    width: 1040px;
    margin: 0 auto;
    max-width: 84%;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	footer .inner {
		padding: 6vw 0
	}
}
@media screen and (max-width: 767px) {
	footer .inner {
		width: auto;
		padding: 0
	}
}
footer .footer-nav {
    padding: 50px 0 80px;
	display: flex;
    align-items: flex-start;
    gap: 0 11.5%;
}
@media screen and (max-width: 767px) {
	footer .footer-nav {
        padding: 17.3vw 0 19.3vw;
		flex-direction: column;
	}
}
footer .footer-nav-bnr-link {
    width: 585px;
    max-width: 52%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 25px;
    grid-row-gap: 25px;
}
@media screen and (max-width: 767px) {
    footer .footer-nav-bnr-link {
        width: 100%;
        max-width: 100%;
        grid-column-gap: 3.3vw;
        grid-row-gap: 6.7vw;
    }
}
footer .footer-nav-bnr-link .footer-nav-bnr-item {
    width: 100%;
    aspect-ratio: 280 / 80;
}
footer .footer-nav-bnr-link .footer-nav-bnr-item a {
    width: 100%;
    height: 100%;
    display: block;
    line-height: 0;
}
footer .footer-nav-bnr-link .footer-nav-bnr-item a img {
    width: 100%;
    vertical-align: top;
}
footer .footer-nav-wrap:not(:first-child) {
    margin-top: 40px;
}
@media screen and (max-width: 767px) {
    footer .footer-nav-wrap:not(:first-child) {
        margin-top: 11vw;
    }
    footer .footer-nav-txt-link {
        margin-top: 20vw;
        padding-left: 1.1em;
    }
}
footer .footer-nav-item {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	footer .footer-nav-item {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	footer .footer-nav-item {
		font-size: 3.2rem
	}
}
footer .footer-nav-item:not(:last-child) {
	margin-bottom: 0.6em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	footer .footer-nav-item:not(:last-child) {
		margin-bottom: 1.5vw
	}
}
@media screen and (max-width: 767px) {
	footer .footer-nav-item:not(:last-child) {
		margin-bottom: 1em;
	}
}
footer .footer-nav-item a {
    position: relative;
}
footer .footer-nav-item a::after {
    content: "\02022";
    position: absolute;
    top: 0.1em;
    left: -1em;
    line-height: 1.2em;
}
footer .footer-nav-sub {
	font-size: 14px;
	line-height: 1.4
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	footer .footer-nav-sub {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	footer .footer-nav-sub {
		font-size: 2.8rem
	}
}
@media screen and (max-width: 767px) {
	footer .footer-nav-sub {
	}
}
footer .footer-nav-sub:not(:last-child) {
	margin-bottom: 35px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	footer .footer-nav-sub:not(:last-child) {
		margin-bottom: 1.5vw
	}
}
@media screen and (max-width: 767px) {
	footer .footer-nav-sub:not(:last-child) {
		margin-bottom: 13.3vw;
	}
}
footer .footer-nav-sub-item:not(:last-child) {
	margin-bottom: 10px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	footer .footer-nav-sub-item:not(:last-child) {
		margin-bottom: 1.5vw
	}
}
@media screen and (max-width: 767px) {
	footer .footer-nav-sub-item:not(:last-child) {
		margin-bottom: 4vw
	}
}
footer .footer-nav-sub-detail a::before {
	content: "●"
}
footer .footer-nav a {
	color: #fff;
    text-decoration: underline;
}
footer .footer-nav a:hover {
    text-decoration: none;
}
footer .government-wrap {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
footer .government-wrap .inner {
    display: flex;
    gap: 100px;
}
@media screen and (max-width: 767px) {
    footer .government-wrap .inner {
        display: block;
        gap: 0;
    }
}
footer .government-wrap .government {
	padding: 30px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	footer .government-wrap .government {
		padding: 3vw 0
	}
}
@media screen and (max-width: 767px) {
	footer .government-wrap .government {
		padding: 5.3333333333vw 0
	}
}
footer .government-wrap .government:not(:first-child) {
    position: relative;
}
footer .government-wrap .government:not(:first-child)::before {
    content: "";
    width: 6px;
    height: 70px;
    background-color: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -53px;
    margin: auto;
}
@media screen and (max-width: 767px) {
    footer .government-wrap .government:not(:first-child) {
        margin-top: 0.8vw;
    }
    footer .government-wrap .government:not(:first-child)::before {
        width: 100%;
        height: 0.8vw;
        top: -0.8vw;
        bottom: inherit;
        left: 0;
    }
}
footer .government-wrap .government .logo {
	text-align: center;
	margin-bottom: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	footer .government-wrap .government .logo {
		margin-bottom: 2vw
	}
}
@media screen and (max-width: 767px) {
	footer .government-wrap .government .logo {
		margin-bottom: 4vw
	}
}
footer .government-wrap .government .logo img {
	height: 60px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	footer .government-wrap .government .logo img {
		height: 6vw
	}
}
@media screen and (max-width: 767px) {
	footer .government-wrap .government .logo img {
		height: 10.4vw
	}
}
footer .government-wrap .government .address {
	font-size: 14px;
	line-height: 1.7em;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	footer .government-wrap .government .address {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	footer .government-wrap .government .address {
		font-size: 2.3rem
	}
}
footer .government-wrap .government .address .em {
    font-size: 1.3em;
    font-weight: bold;
}
footer .copyright {
	font-size: 12px;
	line-height: 1.5em;
	padding: 30px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	footer .copyright {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	footer .copyright {
		font-size: 1.65rem;
        white-space: nowrap;
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	footer .copyright {
		padding: 3vw 0
	}
}
@media screen and (max-width: 767px) {
	footer .copyright {
		padding: 6vw 0
	}
}
.fade-in {
	transition: all .5s;
	opacity: 0;
	transform: translateY(80px)
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	.fade-in {
		transform: translateY(8vw)
	}
}
@media screen and (max-width: 767px) {
	.fade-in {
		opacity: 1;
		transform: translateY(0)
	}
}
.fade-in.scroll-in {
	opacity: 1;
	transform: translateY(0) !important
}
#modalMovie {
	display: none;
	opacity: 0
}
#modalMovie #modalMovie-content {
	display: none;
	opacity: 0
}
#modalMovie.is-open {
	display: block;
	opacity: 1
}
#modalMovie.is-open #modalMovie-content {
	display: block;
	opacity: 1;
	animation: modalFadeIn .6s
}
#modalOverlay, #modalUgOverlay, #modalUgOverlayTop {
	background: rgba(0, 0, 0, .6);
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 20000
}
#modalMovie-content {
	width: 896px;
	aspect-ratio: 16/9;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#modalMovie-content {
		width: 89.6vw
	}
}
@media screen and (max-width: 767px) {
	#modalMovie-content {
		width: 100vw
	}
}
#youtube>div {
	aspect-ratio: 16/9
}
#youtube #player {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
	vertical-align: bottom
}
@media screen and (max-width: 767px) {
	#youtube #player {
		width: 100vw;
		position: absolute;
		top: 0;
		left: 0
	}
}
#modalPlay {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	cursor: pointer;
	transform-origin: center;
	transition: .2s
}
@media screen and (max-width: 767px) {
	#modalPlay {
		width: 13.3333333333vw;
		height: 13.3333333333vw
	}
}
#modalPlay:hover {
	transform: translate(-50%, -50%) scale(1.1)
}
#modalClose {
	position: absolute;
	top: -70px;
	right: 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#modalClose {
		top: -7vw
	}
}
@media screen and (max-width: 767px) {
	#modalClose {
		top: -10.6666666667vw
	}
}
#modalClose button {
	cursor: pointer;
	display: block;
	width: 60px;
	height: 60px;
	text-indent: -10000px;
	position: relative
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#modalClose button {
		width: 6vw;
		height: 6vw
	}
}
@media screen and (max-width: 767px) {
	#modalClose button {
		width: 13.3333333333vw;
		height: 13.3333333333vw
	}
}
#modalClose button span {
	display: block;
	width: 100%;
	height: 4px;
	background: #5a6b7c;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	transition: .3s;
	pointer-events: none
}
@media screen and (max-width: 767px) {
	#modalClose button span {
		width: 7.2vw
	}
}
#modalClose button span:nth-child(1) {
	top: 16px;
	transform: translate(-22px, 12px) rotate(-45deg);
	box-shadow: 3px 3px 0 0 #1c0f02
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#modalClose button span:nth-child(1) {
		top: 1.6vw;
		transform: translate(-2.2vw, 1.2vw) rotate(-45deg)
	}
}
@media screen and (max-width: 767px) {
	#modalClose button span:nth-child(1) {
		top: 2.9333333333vw;
		transform: translate(-2.1333333333vw, 3.2vw) rotate(-45deg)
	}
}
#modalClose button span:nth-child(2) {
	bottom: 16px;
	transform: translate(-22px, -12px) rotate(45deg)
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#modalClose button span:nth-child(2) {
		bottom: 1.6vw;
		transform: translate(-2.2vw, -1.2vw) rotate(45deg)
	}
}
@media screen and (max-width: 767px) {
	#modalClose button span:nth-child(2) {
		bottom: 2.9333333333vw;
		transform: translate(-2.1333333333vw, -3.2vw) rotate(45deg)
	}
}
@keyframes ill1-l {
	0% {
		transform: translate(0, 0)
	}
	50% {
		transform: translate(6px, -6px);
		@media screen and (min-width: 768px)and (max-width: 1020px) {
			transform:translate(0.6vw, -0.6vw)
		}
		@media screen and (max-width: 767px) {
			transform: translate(0.8448vw, -0.8448vw)
		}
	}
	100% {
		transform: translate(0, 0)
	}
}
@keyframes ill2-l {
	0% {
		transform: rotate(0deg)
	}
	50% {
		transform: rotate(6deg)
	}
	100% {
		transform: rotate(0deg)
	}
}
@keyframes ill3-l {
	0% {
		transform: translateX(0)
	}
	50% {
		transform: translateX(-12px);
		@media screen and (min-width: 768px)and (max-width: 1020px) {
			transform:translateX(-1.2vw)
		}
		@media screen and (max-width: 767px) {
			transform: translateX(-1.6896vw)
		}
	}
	100% {
		transform: translateX(0)
	}
}
@keyframes ill4-l {
	0% {
		transform: translate(0, 0)
	}
	50% {
		transform: translate(-6px, 6px);
		@media screen and (min-width: 768px)and (max-width: 1020px) {
			transform:translate(-0.6vw, 0.6vw)
		}
		@media screen and (max-width: 767px) {
			transform: translate(-0.8448vw, 0.8448vw)
		}
	}
	100% {
		transform: translate(0, 0)
	}
}
@keyframes ill1-r {
	0% {
		transform: translateX(0)
	}
	50% {
		transform: translateX(-12px);
		@media screen and (min-width: 768px)and (max-width: 1020px) {
			transform:translateX(-1.2vw)
		}
		@media screen and (max-width: 767px) {
			transform: translateX(-1.6896vw)
		}
	}
	100% {
		transform: translateX(0)
	}
}
@keyframes ill2-r {
	0% {
		transform: translateY(0)
	}
	50% {
		transform: translateY(-2px);
		@media screen and (min-width: 768px)and (max-width: 1020px) {
			transform:translateY(-0.2vw)
		}
		@media screen and (max-width: 767px) {
			transform: translateY(-0.2816vw)
		}
	}
	100% {
		transform: translateY(0)
	}
}
@keyframes ill3-r {
	0% {
		transform: translateX(0)
	}
	50% {
		transform: translateX(-12px);
		@media screen and (min-width: 768px)and (max-width: 1020px) {
			transform:translateX(-1.2vw)
		}
		@media screen and (max-width: 767px) {
			transform: translateX(-1.6896vw)
		}
	}
	100% {
		transform: translateX(0)
	}
}
/*#page-index {
	overflow-x: hidden
}
#page-index #header {
	margin: 20px 0 50px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header {
		margin: 2vw 0 5vw 0
	}
}
@media screen and (max-width: 767px) {
	#page-index #header {
		margin: 5.3333333333vw 0 53.3333333333vw 0
	}
}
#page-index #header .logo {
	text-indent: -10000px;
	background-image: url(../img/toppage/logo_animation@pc.gif);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 150px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .logo {
		height: 15vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .logo {
		background-image: url(../img/toppage/logo@sp.png);
		height: 12.6666666667vw;
		margin-bottom: 6.6666666667vw
	}
}
#page-index #header .lead {
	font-size: 18px;
	font-weight: 700;
	line-height: 2em;
	color: #009db1;
	text-align: center
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .lead {
		font-size: 1.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .lead {
		font-size: 3.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .lead {
		margin-bottom: 5.3333333333vw
	}
}
#page-index #header .title-en {
	font-size: 16px;
	text-align: center;
	color: rgba(0, 0, 0, .4);
	transform: translateY(-2.5em)
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .title-en {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .title-en {
		font-size: 2.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .title-en {
		transform: translateY(-1.2em)
	}
}
#page-index #header .lead-wrap {
	position: relative;
	margin-right: -60px;
	margin-left: -60px;
	padding-bottom: 60px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .lead-wrap {
		margin-right: -6vw;
		margin-left: -6vw;
		padding-bottom: 6vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .lead-wrap {
		margin-left: -4vw;
		margin-right: -4vw;
		padding-bottom: 2.6666666667vw
	}
}
#page-index #header .ill-l, #page-index #header .ill-r, #page-index #header .ill1, #page-index #header .ill2, #page-index #header .ill3, #page-index #header .ill4 {
	position: absolute
}
#page-index #header .ill-l {
	top: 0;
	left: 0
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-l {
		top: auto;
		bottom: -49.8666666667vw
	}
}
#page-index #header .ill-l .base {
	width: 339px
}
#page-index #header .ill-l .base img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-l .base {
		width: 33.9vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-l .base {
		width: 47.7312vw
	}
}
#page-index #header .ill-l .ill1 {
	width: 38px;
	top: 70px;
	left: 75px;
	animation: ill1-l 3s infinite
}
#page-index #header .ill-l .ill1 img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-l .ill1 {
		width: 3.8vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-l .ill1 {
		width: 5.3504vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-l .ill1 {
		top: 7vw;
		left: 7.5vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-l .ill1 {
		top: 9.856vw;
		left: 10.56vw
	}
}
#page-index #header .ill-l .ill2 {
	width: 23px;
	top: 121px;
	left: 140px;
	transform-origin: bottom left;
	animation: ill2-l 2s infinite
}
#page-index #header .ill-l .ill2 img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-l .ill2 {
		width: 2.3vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-l .ill2 {
		width: 3.2384vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-l .ill2 {
		top: 12.1vw;
		left: 14vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-l .ill2 {
		top: 17.0368vw;
		left: 19.712vw
	}
}
#page-index #header .ill-l .ill3 {
	width: 43px;
	top: 65px;
	right: 50px;
	animation: ill3-l 5s .2s infinite
}
#page-index #header .ill-l .ill3 img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-l .ill3 {
		width: 4.3vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-l .ill3 {
		width: 6.0544vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-l .ill3 {
		top: 6.5vw;
		right: 5vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-l .ill3 {
		top: 9.152vw;
		right: 7.04vw
	}
}
#page-index #header .ill-l .ill4 {
	width: 25px;
	top: 98px;
	right: 38px;
	animation: ill4-l 4s .4s infinite
}
#page-index #header .ill-l .ill4 img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-l .ill4 {
		width: 2.5vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-l .ill4 {
		width: 3.52vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-l .ill4 {
		top: 9.8vw;
		right: 3.8vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-l .ill4 {
		top: 13.7984vw;
		right: 5.3504vw
	}
}
#page-index #header .ill-r {
	top: 0;
	right: 0
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-r {
		top: auto;
		bottom: -29.6vw
	}
}
#page-index #header .ill-r .base {
	width: 324px
}
#page-index #header .ill-r .base img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-r .base {
		width: 32.4vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-r .base {
		width: 48.1536vw
	}
}
#page-index #header .ill-r .ill1 {
	width: 78px;
	top: 54px;
	left: 0;
	animation: ill1-r 5s infinite
}
#page-index #header .ill-r .ill1 img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-r .ill1 {
		width: 7.8vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-r .ill1 {
		width: 10.9824vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-r .ill1 {
		top: 5.4vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-r .ill1 {
		top: 7.6032vw
	}
}
#page-index #header .ill-r .ill2 {
	width: 73px;
	top: 140px;
	left: 120px;
	animation: ill2-r 2s infinite
}
#page-index #header .ill-r .ill2 img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-r .ill2 {
		width: 7.3vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-r .ill2 {
		width: 10.2784vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-r .ill2 {
		top: 14vw;
		left: 12vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-r .ill2 {
		top: 19.712vw;
		left: 16.896vw
	}
}
#page-index #header .ill-r .ill3 {
	width: 66px;
	top: 80px;
	left: 135px;
	animation: ill3-r 3s .3s infinite
}
#page-index #header .ill-r .ill3 img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-r .ill3 {
		width: 6.6vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-r .ill3 {
		width: 9.2928vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-r .ill3 {
		top: 8vw;
		left: 13.5vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-r .ill3 {
		top: 11.264vw;
		left: 19.008vw
	}
}
#page-index #header .ill-r .ill4 {
	width: 33px;
	top: 96px;
	right: 16px;
	animation: ill3-r 5s .3s infinite
}
#page-index #header .ill-r .ill4 img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-r .ill4 {
		width: 3.3vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-r .ill4 {
		width: 4.6464vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #header .ill-r .ill4 {
		top: 9.6vw;
		right: 1.6vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #header .ill-r .ill4 {
		top: 13.5168vw;
		right: 2.2528vw
	}
}
#page-index #mv {
	position: relative;
	margin-bottom: 50px;
	margin-top: 15px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv {
		margin-bottom: 5vw;
		margin-top: 1.5vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv {
		margin-bottom: 10vw;
		margin-top: 0
	}
}
#page-index #mv .inner {
	position: static;
	overflow-x: hidden
}
@media screen and (max-width: 767px) {
	#page-index #mv .inner {
		width: 94.6666666667vw
	}
}
#page-index #mv .mv-slider-item {
	position: relative
}
#page-index #mv .mv-slider-item picture {
	overflow: hidden;
	border-radius: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .mv-slider-item picture {
		border-radius: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .mv-slider-item picture {
		border-radius: 2vw
	}
}
#page-index #mv .mv-slider-item picture img {
	width: 100%;
	vertical-align: bottom
}
#page-index #mv .mv-slider-item .caption {
	font-size: 12px;
	position: absolute;
	right: 0;
	bottom: -30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .mv-slider-item .caption {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .mv-slider-item .caption {
		font-size: 2.4rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .mv-slider-item .caption {
		bottom: -3vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .mv-slider-item .caption {
		position: static;
		line-height: 1.4;
		margin-top: 2vw
	}
}
#page-index #mv .mv-slider-item .title {
	transition: .3s;
	display: flex;
	align-items: center;
	font-size: 18px;
	line-height: 1.75em;
	font-weight: 500;
	background: #fff;
	border-radius: 10px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 16px;
	width: 968px;
	padding: 10px 70px 10px 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .mv-slider-item .title {
		font-size: 1.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .mv-slider-item .title {
		font-size: 3.2rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .mv-slider-item .title {
		border-radius: 1vw;
		bottom: 1.6vw;
		width: 92.8vw;
		padding: 1vw 7vw 1vw 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .mv-slider-item .title {
		background: none;
		position: static;
		transform: translateX(0);
		width: auto;
		padding: 1.3333333333vw 11.3333333333vw 2.6666666667vw 0
	}
}
#page-index #mv .mv-slider-item .title::after {
	transition: .3s;
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	aspect-ratio: 1;
	background-image: url(../img/common/arrow_05.svg);
	background-repeat: no-repeat;
	background-size: contain;
	right: 20px;
	width: 30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .mv-slider-item .title::after {
		right: 2vw;
		width: 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .mv-slider-item .title::after {
		right: 1.3333333333vw;
		width: 8vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-index #mv .mv-slider-item a:hover .title {
		background: #009db1;
		color: #fff
	}
	#page-index #mv .mv-slider-item a:hover .title::after {
		background-image: url(../img/common/arrow_05_on.svg)
	}
}
#page-index #mv .swiper-wrapper {
	padding-bottom: 30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .swiper-wrapper {
		padding-bottom: 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .swiper-wrapper {
		padding-bottom: 2.6666666667vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .swiper-autoheight {
		overflow: hidden
	}
}
#page-index #mv .mv-slider-navigation {
	position: relative;
	z-index: 1;
	background: #fff;
	margin-top: -20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #mv .mv-slider-navigation {
		margin-top: -2vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #mv .mv-slider-navigation {
		margin-top: 0
	}
}
#page-index #about {
	position: relative;
	z-index: 1;
	margin-bottom: 70px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #about {
		margin-bottom: 7vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #about {
		margin-bottom: 52vw
	}
}
#page-index #about .lead-wrap {
	position: relative;
	margin-right: -60px;
	margin-left: -60px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #about .lead-wrap {
		margin-right: -6vw;
		margin-left: -6vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #about .lead-wrap {
		margin-left: -4vw;
		margin-right: -4vw
	}
}
#page-index #about .lead {
	font-size: 18px;
	font-weight: 700;
	line-height: 2em;
	text-align: center
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #about .lead {
		font-size: 1.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #about .lead {
		font-size: 3.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #wave {
		height: 21.3333333333vw;
		margin: 10.6666666667vw 0
	}
}
#page-index #news {
	margin-top: 20px;
	margin-bottom: 100px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #news {
		margin-top: 2vw;
		margin-bottom: 10vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #news {
		margin-top: 5.3333333333vw;
		margin-bottom: 10.6666666667vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #news .inner {
		width: auto
	}
}
#page-index #news .news {
	display: flex;
	align-items: center;
	background: linear-gradient(326deg, #007cbd 0%, #008572 100%);
	gap: 50px;
	padding: 20px 20px 20px 30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #news .news {
		gap: 5vw;
		padding: 2vw 2vw 2vw 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #news .news {
		gap: 8vw;
		flex-direction: column;
		align-items: flex-start;
		padding: 6.6666666667vw 5.3333333333vw
	}
}
#page-index #news .news h2 {
	position: relative;
	font-size: 24px;
	font-weight: 700;
	color: #fff
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #news .news h2 {
		font-size: 2.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #news .news h2 {
		font-size: 4.8rem
	}
}
#page-index #news .news h2::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -25px;
	width: 4px;
	height: 40px;
	background: linear-gradient(to bottom, #fff, #fff 4px, transparent 4px, transparent 12px) repeat-y;
	background-size: 4px 12px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #news .news h2::after {
		right: -2.5vw;
		width: .4vw;
		height: 4vw;
		background: linear-gradient(to bottom, #fff, #fff 0.4vw, transparent 0.4vw, transparent 1.2vw) repeat-y;
		background-size: .4vw 1.2vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #news .news h2::after {
		width: 89.3333333333vw;
		height: .5333333333vw;
		top: auto;
		transform: translateY(0);
		right: auto;
		bottom: -4.5333333333vw;
		left: 0;
		background: linear-gradient(to right, #fff, #fff 0.5333333333vw, transparent 0.5333333333vw, transparent 1.6vw) repeat-x;
		background-size: 1.6vw .5333333333vw
	}
}
#page-index #news .news .title {
	font-size: 16px;
	line-height: 1.5em;
	color: #fff;
	flex: 1
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #news .news .title {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #news .news .title {
		font-size: 2.8rem
	}
}
@media print, screen and (min-width: 768px) {
	#page-index #news .news .title:hover {
		text-decoration: underline
	}
}
@media screen and (max-width: 767px) {
	#page-index #news .news .all {
		align-self: center
	}
}
#page-index #expo {
	margin-bottom: 100px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #expo {
		margin-bottom: 10vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #expo {
		margin-bottom: 10.6666666667vw
	}
}
#page-index #expo h2 {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #expo h2 {
		gap: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #expo h2 {
		gap: 4vw
	}
}
#page-index #expo h2 span {
	font-size: 28px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #expo h2 span {
		font-size: 2.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #expo h2 span {
		font-size: 4.2rem
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #page-index #expo h2 span {
		font-size: 3.6rem
	}
}
#page-index #expo h2 strong {
	font-size: 46px;
	font-weight: 700
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #expo h2 strong {
		font-size: 4.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #expo h2 strong {
		font-size: 6.8rem
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #page-index #expo h2 strong {
		font-size: 5rem
	}
}
#page-index #expo .logo {
	width: 384px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px
}
#page-index #expo .logo img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #expo .logo {
		width: 38.4vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #expo .logo {
		width: 72vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #expo .logo {
		margin-bottom: 4vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #expo .logo {
		margin-bottom: 6vw
	}
}
#page-index #expo .logo figcaption {
	font-size: 14px;
	text-align: right;
	margin-right: 40px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #expo .logo figcaption {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #expo .logo figcaption {
		font-size: 2.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #expo .logo figcaption {
		margin-right: 4vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #expo .logo figcaption {
		margin-right: 7.3333333333vw
	}
}
#page-index #expo .button {
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	margin: 0 auto;
	border: 2px solid #009db1;
	border-radius: 10px;
	width: 530px;
	gap: 10px;
	padding: 28px 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #expo .button {
		border-width: .2vw;
		border-radius: 1vw;
		width: 53vw;
		gap: 1vw;
		padding: 2.8vw 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #expo .button {
		position: relative;
		flex-direction: column;
		align-items: flex-start;
		border-width: .2666666667vw;
		border-radius: 2vw;
		width: 89.3333333333vw;
		gap: 2.6666666667vw;
		padding: 4.6666666667vw 3.7333333333vw
	}
	html[lang=en] #page-index #expo .button {
		padding-right: 10.6666666667vw
	}
}
#page-index #expo .button span {
	font-size: 16px;
	font-weight: 700
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #expo .button span {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #expo .button span {
		font-size: 2.8rem
	}
}
html[lang=en] #page-index #expo .button span {
	line-height: 1.4
}
#page-index #expo .button strong {
	font-size: 24px;
	font-weight: 700
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #expo .button strong {
		font-size: 2.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #expo .button strong {
		font-size: 3.6rem
	}
}
#page-index #expo .button svg {
	transition: .3s;
	aspect-ratio: 1;
	width: 26px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #expo .button svg {
		width: 2.6vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #expo .button svg {
		width: 7.3333333333vw;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 3.7333333333vw
	}
}
#page-index #expo .button svg polyline, #page-index #expo .button svg line {
	transition: .3s;
	fill: none;
	stroke: #fff;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2px
}
#page-index #expo .button svg circle {
	transition: .3s;
	fill: #009db1;
	stroke-width: 0px
}
@media print, screen and (min-width: 768px) {
	#page-index #expo .button:hover {
		color: #fff;
		background: #009db1
	}
	#page-index #expo .button:hover svg polyline, #page-index #expo .button:hover svg line {
		stroke: #009db1
	}
	#page-index #expo .button:hover svg circle {
		fill: #fff
	}
}
#page-index #bbb {
	position: relative;
	background: linear-gradient(326deg, rgba(0, 124, 189, 0.2) 0%, rgba(0, 133, 114, 0.2) 100%);
	padding: 80px 0 30px 0;
	margin-bottom: 100px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb {
		padding: 8vw 0 3vw 0;
		margin-bottom: 10vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb {
		padding: 10.6666666667vw 0 4vw 0;
		margin-bottom: 10.6666666667vw
	}
}
#page-index #bbb .bbb-header {
	display: flex;
	justify-content: space-between;
	align-items: center
}
@media screen and (max-width: 767px) {
	#page-index #bbb .bbb-header {
		align-items: flex-start;
		flex-direction: column;
		gap: 10.6666666667vw
	}
}
html[lang=en] #page-index #bbb .title-wrap {
	width: 330px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	html[lang=en] #page-index #bbb .title-wrap {
		width: 33vw
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #page-index #bbb .title-wrap {
		width: auto
	}
}
#page-index #bbb .title-wrap h2 {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 60px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .title-wrap h2 {
		gap: 1.2vw;
		margin-bottom: 6vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .title-wrap h2 {
		gap: 2.6666666667vw;
		margin-bottom: 3.3333333333vw
	}
}
#page-index #bbb .title-wrap h2 .en {
	font-size: 14px;
	font-weight: 700
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .title-wrap h2 .en {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .title-wrap h2 .en {
		font-size: 2.8rem
	}
}
#page-index #bbb .title-wrap h2 .jp {
	font-size: 36px;
	font-weight: 700
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .title-wrap h2 .jp {
		font-size: 3.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .title-wrap h2 .jp {
		font-size: 6.8rem
	}
}
html[lang=en] #page-index #bbb .title-wrap h2 .jp {
	line-height: 1.4
}
#page-index #bbb .title-wrap .button {
	font-size: 16px;
	font-weight: 700;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #000;
	margin-right: 1.5em;
	border-bottom: 4px solid #007cbd;
	padding-bottom: 10px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .title-wrap .button {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .title-wrap .button {
		font-size: 3.2rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .title-wrap .button {
		border-width: .4vw;
		padding-bottom: 1vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .title-wrap .button {
		width: 40vw;
		border-width: .5333333333vw;
		padding-bottom: 1.3333333333vw
	}
}
#page-index #bbb .title-wrap .button::after {
	content: "";
	transition: .3s;
	background-image: url(../img/common/arrow_03.svg);
	background-repeat: no-repeat;
	background-size: contain;
	aspect-ratio: 1;
	width: 24px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .title-wrap .button::after {
		width: 2.4vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .title-wrap .button::after {
		width: 6.4vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-index #bbb .title-wrap .button:hover {
		color: #007cbd
	}
	#page-index #bbb .title-wrap .button:hover::after {
		background-image: url(../img/common/arrow_03_on.svg)
	}
}
#page-index #bbb .catch-wrap .catch {
	font-size: 24px;
	font-weight: 700;
	color: #009db1;
	padding-bottom: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .catch-wrap .catch {
		font-size: 2.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .catch-wrap .catch {
		font-size: 4.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .catch-wrap .catch {
		padding-bottom: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .catch-wrap .catch {
		letter-spacing: -0.04em;
		padding-bottom: 6.6666666667vw
	}
}
html[lang=en] #page-index #bbb .catch-wrap .catch {
	line-height: 1.6
}
#page-index #bbb .catch-wrap .text {
	font-size: 16px;
	line-height: 2em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .catch-wrap .text {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .catch-wrap .text {
		font-size: 3.2rem
	}
}
#page-index #bbb .bbb {
	margin-left: -40px;
	margin-right: -40px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .bbb {
		margin-left: -4vw;
		margin-right: -4vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .bbb {
		margin-left: -5.3333333333vw;
		margin-right: -5.3333333333vw
	}
}
#page-index #bbb .bbb-slider {
	padding: 50px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .bbb-slider {
		padding: 5vw 0
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .bbb-slider {
		padding: 6.6666666667vw 0
	}
}
@media print, screen and (min-width: 768px) {
	#page-index #bbb .bbb-slider .swiper-wrapper {
		margin-bottom: 60px;
		margin-left: 15px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .bbb-slider .swiper-wrapper {
		margin-bottom: 8vw;
		margin-left: 3.3333333333vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .bbb-slider .swiper-wrapper {
		margin-bottom: 10.6666666667vw
	}
}
#page-index #bbb .bbb-slider-item {
	background: #fff;
	height: auto !important;
	border-radius: 20px;
	width: 310px;
	margin: 0 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .bbb-slider-item {
		border-radius: 2vw;
		width: 30vw;
		margin: 0 1.2vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .bbb-slider-item {
		border-radius: 4vw;
		width: 84vw;
		margin: 0 2vw
	}
}
#page-index #bbb .bbb-slider-navigation {
	width: auto;
	justify-content: center
}
#page-index #bbb .bbb-slider-navigation .swiper-button-prev, #page-index #bbb .bbb-slider-navigation .swiper-button-next {
	position: absolute;
	width: 50px;
	top: 250px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .bbb-slider-navigation .swiper-button-prev, #page-index #bbb .bbb-slider-navigation .swiper-button-next {
		width: 5vw;
		top: 25vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .bbb-slider-navigation .swiper-button-prev, #page-index #bbb .bbb-slider-navigation .swiper-button-next {
		width: 10.6666666667vw;
		top: 56vw
	}
}
#page-index #bbb .bbb-slider-navigation .swiper-button-prev {
	left: 12px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .bbb-slider-navigation .swiper-button-prev {
		left: 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .bbb-slider-navigation .swiper-button-prev {
		left: 0
	}
}
#page-index #bbb .bbb-slider-navigation .swiper-button-next {
	right: 12px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #bbb .bbb-slider-navigation .swiper-button-next {
		right: 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #bbb .bbb-slider-navigation .swiper-button-next {
		right: 0
	}
}
#page-index #lottie {
	pointer-events: none;
	position: absolute;
	left: 0;
	width: 100%;
	aspect-ratio: 1280/764;
	top: 300px
}
@media screen and (min-width: 768px)and (max-width: 1300px) {
	#page-index #lottie {
		top: 35.15625vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #lottie {
		top: 40vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #lottie {
		aspect-ratio: 750/477;
		top: -9.3333333333vw
	}
}
#page-index #recovery {
	position: relative;
	margin-bottom: 100px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #recovery {
		margin-bottom: 10vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery {
		margin-bottom: 13.3333333333vw
	}
}
#page-index #recovery h2 {
	font-size: 32px;
	font-weight: 700;
	text-align: center;
	color: #009db1;
	margin-bottom: 40px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #recovery h2 {
		font-size: 3.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery h2 {
		font-size: 4.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #recovery h2 {
		margin-bottom: 4vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery h2 {
		margin-bottom: 5.3333333333vw
	}
}
html[lang=en] #page-index #recovery h2 {
	line-height: 1.6
}
#page-index #recovery .lead {
	font-size: 16px;
	line-height: 2.5em;
	text-align: center;
	margin-bottom: 50px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #recovery .lead {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery .lead {
		font-size: 3.2rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #recovery .lead {
		margin-bottom: 5vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery .lead {
		letter-spacing: -0.02em;
		margin-bottom: 6.6666666667vw
	}
}
#page-index #recovery .button-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 16px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #recovery .button-wrap {
		gap: 1.6vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery .button-wrap {
		flex-direction: column;
		gap: 4vw
	}
}
#page-index #recovery .button-wrap .button {
	font-size: 24px;
	font-weight: 700;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	box-sizing: border-box;
	border: 2px solid #009db1;
	border-radius: 10px;
	padding: 10px 30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #recovery .button-wrap .button {
		font-size: 2.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery .button-wrap .button {
		font-size: 3.6rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #recovery .button-wrap .button {
		border-width: .2vw;
		border-radius: 1vw;
		padding: 1vw 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery .button-wrap .button {
		gap: 1.3333333333vw;
		border-width: .2666666667vw;
		border-radius: 2vw;
		padding: 1.3333333333vw 4vw
	}
}
html[lang=en] #page-index #recovery .button-wrap .button {
	font-size: 24px;
	line-height: 1.2
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	html[lang=en] #page-index #recovery .button-wrap .button {
		font-size: 2.4rem
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #page-index #recovery .button-wrap .button {
		font-size: 3rem
	}
}
#page-index #recovery .button-wrap .button .ill {
	width: 82px
}
#page-index #recovery .button-wrap .button .ill img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #recovery .button-wrap .button .ill {
		width: 8.2vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery .button-wrap .button .ill {
		width: 13.3333333333vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery .button-wrap .button .ill {
		margin-left: auto
	}
}
#page-index #recovery .button-wrap .button svg {
	aspect-ratio: 1;
	width: 26px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #recovery .button-wrap .button svg {
		width: 2.6vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery .button-wrap .button svg {
		width: 7.3333333333vw
	}
}
#page-index #recovery .button-wrap .button svg polyline, #page-index #recovery .button-wrap .button svg line {
	transition: .3s;
	fill: none;
	stroke: #fff;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2px
}
#page-index #recovery .button-wrap .button svg circle {
	transition: .3s;
	fill: #009db1;
	stroke-width: 0px
}
@media print, screen and (min-width: 768px) {
	#page-index #recovery .button-wrap .button:hover {
		background: #009db1;
		color: #fff
	}
	#page-index #recovery .button-wrap .button:hover svg polyline, #page-index #recovery .button-wrap .button:hover svg line {
		stroke: #009db1
	}
	#page-index #recovery .button-wrap .button:hover svg circle {
		fill: #fff
	}
}
#page-index #recovery .button-wrap .button:nth-child(1), #page-index #recovery .button-wrap .button:nth-child(2) {
	width: 392px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #recovery .button-wrap .button:nth-child(1), #page-index #recovery .button-wrap .button:nth-child(2) {
		width: 39.2vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery .button-wrap .button:nth-child(1), #page-index #recovery .button-wrap .button:nth-child(2) {
		width: auto
	}
}
#page-index #recovery .button-wrap .button:nth-child(3) {
	width: 100%
}
html[lang=ja] #page-index #recovery .button-wrap .button:nth-child(3) {
	padding-left: 260px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	html[lang=ja] #page-index #recovery .button-wrap .button:nth-child(3) {
		padding-left: 26vw
	}
}
@media screen and (max-width: 767px) {
	html[lang=ja] #page-index #recovery .button-wrap .button:nth-child(3) {
		padding-left: 3vw
	}
}
#page-index #banner {
	background: linear-gradient(326deg, rgba(0, 124, 189, 0.2) 0%, rgba(0, 133, 114, 0.2) 100%);
	padding: 50px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #banner {
		padding: 5vw 0
	}
}
@media screen and (max-width: 767px) {
	#page-index #banner {
		padding: 8vw 0
	}
}
#page-index #banner .inner {
	overflow: hidden
}
@media screen and (max-width: 767px) {
	#page-index #banner .inner {
		width: 100%
	}
}
#page-index #banner .banner-slider-item {
	width: 312px;
	margin-right: 30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #banner .banner-slider-item {
		width: auto;
		margin: 0 .4vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #banner .banner-slider-item {
		width: 62.4vw;
		margin: 0 3.2vw
	}
}
#page-index #banner .banner-slider-item a {
	position: relative
}
#page-index #banner .banner-slider-item a::after {
	content: "";
	transition: 0s;
	pointer-events: none;
	box-sizing: border-box;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%
}
@media print, screen and (min-width: 768px) {
	#page-index #banner .banner-slider-item a:hover::after {
		border: 5px solid #009db1
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-index #banner .banner-slider-item a:hover::after {
		border-width: .5vw
	}
}
#page-index #banner .banner-slider-item .image {
	width: 312px
}
#page-index #banner .banner-slider-item .image img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-index #banner .banner-slider-item .image {
		width: 31.2vw
	}
}
@media screen and (max-width: 767px) {
	#page-index #banner .banner-slider-item .image {
		width: 62.4vw
	}
}
#page-0311 {
	overflow-x: hidden
}
#page-0311 #lead .inner {
	padding-bottom: 80px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #lead .inner {
		padding-bottom: 8vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #lead .inner {
		padding-bottom: 13.3333333333vw
	}
}
#page-0311 #lead .lead {
	margin-bottom: 40px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #lead .lead {
		margin-bottom: 4vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #lead .lead {
		margin-bottom: 6.6666666667vw
	}
}
#page-0311 #lead .inner>.text {
	font-size: 16px;
	line-height: 2.5em;
	text-align: center;
	margin-bottom: 40px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #lead .inner>.text {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #lead .inner>.text {
		font-size: 3.2rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #lead .inner>.text {
		margin-bottom: 4vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #lead .inner>.text {
		text-align: justify;
		line-height: 2em;
		margin-bottom: 10.6666666667vw
	}
	html[lang=en] #page-0311 #lead .inner>.text {
		text-align: left
	}
}
#page-0311 #lead .attention {
	display: flex;
	align-items: center;
	border: 1px solid #5a6b7c;
	box-sizing: border-box;
	gap: 25px;
	border-radius: 5px;
	padding: 15px 30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #lead .attention {
		gap: 2.5vw;
		border-radius: .5vw;
		padding: 1.5vw 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #lead .attention {
		gap: 2.6666666667vw;
		border-radius: 2vw;
		padding: 2.6666666667vw 4vw
	}
	html[lang=en] #page-0311 #lead .attention {
		text-align: left
	}
}
#page-0311 #lead .attention .icon {
	width: 40px
}
#page-0311 #lead .attention .icon img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #lead .attention .icon {
		width: 4vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #lead .attention .icon {
		width: 8vw
	}
}
#page-0311 #lead .attention .text {
	flex: 1;
	font-size: 12px;
	line-height: 2em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #lead .attention .text {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #lead .attention .text {
		font-size: 2.4rem
	}
}
#page-0311 #lead .button-wrap {
	display: flex;
	justify-content: center;
	border-top: 1px solid #5a6b7c;
	padding: 40px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #lead .button-wrap {
		padding: 4vw 0
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #lead .button-wrap {
		padding: 10.6666666667vw 0
	}
}
#page-0311 #lead .button-wrap .button {
	position: relative;
	font-size: 18px;
	font-weight: 700;
	color: #009db1;
	border-radius: 30px;
	border: 2px solid #009db1;
	padding: 15px 70px 15px 30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #lead .button-wrap .button {
		font-size: 1.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #lead .button-wrap .button {
		font-size: 3.2rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #lead .button-wrap .button {
		border-radius: 3vw;
		border-width: .2vw;
		padding: 1.5vw 7vw 1.5vw 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #lead .button-wrap .button {
		border-radius: 8vw;
		border-width: .2666666667vw;
		padding: 4vw 18.6666666667vw 4vw 8vw
	}
}
#page-0311 #lead .button-wrap .button::before, #page-0311 #lead .button-wrap .button::after {
	content: "";
	background: #009db1;
	transition: .3s;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 30px;
	width: 18px;
	height: 2px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #lead .button-wrap .button::before, #page-0311 #lead .button-wrap .button::after {
		right: 3vw;
		width: 1.8vw;
		height: .2vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #lead .button-wrap .button::before, #page-0311 #lead .button-wrap .button::after {
		right: 8vw;
		width: 4.8vw;
		height: .5333333333vw
	}
}
#page-0311 #lead .button-wrap .button::after {
	transform: translateY(-50%) rotate(90deg)
}
#page-0311 #lead .button-wrap .button.open {
	color: #5a6b7c;
	border-color: #5a6b7c
}
#page-0311 #lead .button-wrap .button.open::before {
	display: none
}
#page-0311 #lead .button-wrap .button.open::after {
	transform: translateY(-50%) rotate(180deg);
	background: #5a6b7c
}
@media print, screen and (min-width: 768px) {
	#page-0311 #lead .button-wrap .button:hover {
		background: #009db1;
		color: #fff
	}
	#page-0311 #lead .button-wrap .button:hover::before, #page-0311 #lead .button-wrap .button:hover::after {
		background: #fff
	}
}
@media print, screen and (min-width: 768px) {
	#page-0311 #lead .button-wrap .button.open:hover {
		background: #5a6b7c;
		color: #fff
	}
}
#page-0311 #accordion {
	display: none
}*/
/*#page-0311 #list {
	background: linear-gradient(326deg, rgba(0, 124, 189, 0.2) 0%, rgba(0, 133, 114, 0.2) 100%);
	padding: 100px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list {
		padding: 10vw 0
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list {
		padding: 18.6666666667vw 0 .6666666667vw 0
	}
}
#page-0311 #list h1 {
	font-size: 32px;
	font-weight: 700;
	color: #009db1;
	text-align: center;
	margin-bottom: 100px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list h1 {
		font-size: 3.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list h1 {
		font-size: 4.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list h1 {
		margin-bottom: 10vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list h1 {
		margin-bottom: 13.3333333333vw
	}
}
#page-0311 #list .item {
	display: flex;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: 100px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item {
		gap: 4vw;
		margin-bottom: 10vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item {
		flex-direction: column;
		gap: 6.6666666667vw;
		margin-bottom: 13.3333333333vw
	}
}
#page-0311 #list .item:nth-of-type(even) {
	flex-direction: row-reverse
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item:nth-of-type(even) {
		flex-direction: column
	}
}
#page-0311 #list .item-slider {
	position: relative;
	background: #fff;
	overflow: hidden;
	border-radius: 20px;
	width: 620px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item-slider {
		width: 62vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item-slider {
		border-radius: 4vw;
		width: 89.3333333333vw
	}
}
#page-0311 #list .item .item-slider-item img {
	width: 100%
}
#page-0311 #list .item .swiper-button-prev, #page-0311 #list .item .swiper-button-next {
	position: absolute;
	top: 380px;
	width: 40px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .swiper-button-prev, #page-0311 #list .item .swiper-button-next {
		top: 38vw;
		width: 4vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .swiper-button-prev, #page-0311 #list .item .swiper-button-next {
		top: 53.3333333333vw;
		width: 8vw
	}
}
#page-0311 #list .item .swiper-button-prev {
	left: 10px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .swiper-button-prev {
		left: 1vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .swiper-button-prev {
		left: 2.6666666667vw
	}
}
#page-0311 #list .item .swiper-button-next {
	right: 10px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .swiper-button-next {
		right: 1vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .swiper-button-next {
		right: 2.6666666667vw
	}
}
#page-0311 #list .item .swiper-pagination {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 420px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .swiper-pagination {
		top: 42vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .swiper-pagination {
		top: 61.3333333333vw
	}
}
#page-0311 #list .item .caption {
	font-size: 12px;
	line-height: 1.75em;
	text-align: center;
	padding: 40px 60px 30px 60px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .caption {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .caption {
		font-size: 2.4rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .caption {
		padding: 4vw 6vw 3vw 6vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .caption {
		padding: 8vw 8vw 5.3333333333vw 8vw
	}
}
#page-0311 #list .item .context {
	flex: 1
}
#page-0311 #list .item .context h2 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.75em;
	margin-bottom: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .context h2 {
		font-size: 2.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .context h2 {
		font-size: 3.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .context h2 {
		margin-bottom: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .context h2 {
		margin-bottom: 5.3333333333vw
	}
}
#page-0311 #list .item .context .text {
	font-size: 16px;
	line-height: 2em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .context .text {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .context .text {
		font-size: 3.2rem
	}
}
html[lang=en] #page-0311 #list .item .context .text {
	text-align: left
}
#page-0311 #list .item .context .text sup {
	font-size: 10px;
	display: inline-block;
	transform: translateY(-0.6em)
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #list .item .context .text sup {
		font-size: 1rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #list .item .context .text sup {
		font-size: 2rem
	}
}*/
/*#page-0311 #relation {
	background: linear-gradient(326deg, rgba(0, 124, 189, 0.2) 100%, rgba(0, 133, 114, 0.2) 0%);
	padding-bottom: 100px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #relation {
		padding-bottom: 10vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #relation {
		padding-bottom: 13.3333333333vw
	}
}
#page-0311 #relation .relation {
	background: #fff;
	border-radius: 20px;
	padding: 60px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #relation .relation {
		border-radius: 2vw;
		padding: 6vw 0
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #relation .relation {
		border-radius: 4vw;
		padding: 10.6666666667vw 4vw 4vw 4vw
	}
}
#page-0311 #relation h2 {
	font-size: 32px;
	font-weight: 700;
	text-align: center;
	color: #009db1;
	margin-bottom: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #relation h2 {
		font-size: 3.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #relation h2 {
		font-size: 4.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #relation h2 {
		margin-bottom: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #relation h2 {
		margin-bottom: 4vw
	}
	html[lang=en] #page-0311 #relation h2 {
		line-height: 1.4
	}
}
#page-0311 #relation .text {
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 40px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #relation .text {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #relation .text {
		font-size: 2.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #relation .text {
		margin-bottom: 4vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #relation .text {
		margin-bottom: 6.6666666667vw
	}
}
#page-0311 #relation .link-wrap {
	box-sizing: border-box;
	margin: 0 auto;
	border: solid 1px #5a6b7c;
	text-align: center;
	width: 540px;
	border-radius: 5px;
	padding: 25px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #relation .link-wrap {
		width: 54vw;
		border-radius: .5vw;
		padding: 2.5vw 0
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #relation .link-wrap {
		width: auto;
		border-radius: 2vw;
		padding: 5.3333333333vw
	}
}
#page-0311 #relation .link-wrap:not(:last-child) {
	margin-bottom: 10px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #relation .link-wrap:not(:last-child) {
		margin-bottom: 1vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #relation .link-wrap:not(:last-child) {
		margin-bottom: 2.6666666667vw
	}
}
#page-0311 #relation .link-wrap .title {
	font-size: 14px;
	margin-bottom: 15px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #relation .link-wrap .title {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #relation .link-wrap .title {
		font-size: 2.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #relation .link-wrap .title {
		margin-bottom: 1.5vw
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #relation .link-wrap .title {
		margin-bottom: 3.3333333333vw
	}
	html[lang=en] #page-0311 #relation .link-wrap .title {
		line-height: 1.4
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #page-0311 #relation .link-wrap .link {
		line-height: 1.4
	}
}
#page-0311 #source {
	padding: 50px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #source {
		padding: 5vw 0
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #source {
		padding: 5.3333333333vw 0 10.6666666667vw 0
	}
}
#page-0311 #source dl {
	font-size: 14px;
	line-height: 2em;
	display: flex
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-0311 #source dl {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #source dl {
		font-size: 2.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-0311 #source dl {
		display: block
	}
	#page-0311 #source dl dt {
		margin-bottom: 1.3333333333vw
	}
}
#page-0311 #source dl dd {
	flex: 1
}
#page-progress {
	overflow-x: hidden
}
#page-progress #lead .inner {
	margin-bottom: 100px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #lead .inner {
		margin-bottom: 10vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #lead .inner {
		margin-bottom: 13.3333333333vw
	}
}
#page-progress .progress {
	margin-bottom: 150px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress {
		margin-bottom: 15vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress {
		margin-bottom: 13.3333333333vw
	}
}
#page-progress .progress h2 {
	position: relative;
	display: flex;
	margin-bottom: 50px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress h2 {
		margin-bottom: 5vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress h2 {
		margin-bottom: 10.6666666667vw
	}
}
#page-progress .progress h2 span {
	position: relative;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.75em;
	padding-bottom: 10px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress h2 span {
		font-size: 2.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress h2 span {
		font-size: 4rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress h2 span {
		padding-bottom: 1vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress h2 span {
		padding-bottom: 2.6666666667vw
	}
}
#page-progress .progress h2::before, #page-progress .progress h2 span::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	border-radius: 2px;
	width: 100%;
	height: 10px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress h2::before, #page-progress .progress h2 span::before {
		height: 1vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress h2::before, #page-progress .progress h2 span::before {
		height: 2.6666666667vw
	}
}
#page-progress .progress h2::before {
	background: rgba(0, 133, 114, .2)
}
#page-progress .progress h2 span::before {
	background: #008572
}
#page-progress .progress h3 {
	font-size: 24px;
	font-weight: 700
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress h3 {
		font-size: 2.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress h3 {
		font-size: 3.6rem
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #page-progress .progress h3 {
		font-size: 3.2rem
	}
}
#page-progress .progress .text {
	font-size: 18px;
	line-height: 2em;
	margin-bottom: 50px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .text {
		font-size: 1.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress .text {
		font-size: 3.2rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .text {
		margin-bottom: 5vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress .text {
		margin-bottom: 10.6666666667vw
	}
	html[lang=en] #page-progress .progress .text {
		text-align: left
	}
}
#page-progress .progress h2+.text {
	margin-top: -30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress h2+.text {
		margin-top: -3vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress h2+.text {
		margin-top: -5.3333333333vw
	}
}
#page-progress .progress .caution {
	font-size: 16px;
	line-height: 1.75em;
	width: 900px;
	margin: 0 auto 50px auto
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .caution {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress .caution {
		font-size: 2.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .caution {
		width: 90vw;
		margin-bottom: 5vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress .caution {
		width: auto;
		margin-bottom: 10.6666666667vw
	}
	html[lang=en] #page-progress .progress .caution {
		text-align: left
	}
}
#page-progress .progress .indent li {
	text-indent: -1em;
	margin-left: 1em
}
html[lang=en] #page-progress .progress .indent li {
	text-indent: -0.5em;
	margin-left: .5em
}
#page-progress .progress .value-wrap {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	gap: 5px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .value-wrap {
		gap: .5vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress .value-wrap {
		gap: 1.3333333333vw
	}
}
#page-progress .progress .value-wrap .unit {
	font-size: 36px;
	font-weight: 700;
	transform: translateY(-0.1em);
	white-space: nowrap
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .value-wrap .unit {
		font-size: 3.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress .value-wrap .unit {
		font-size: 5.04rem
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #page-progress .progress .value-wrap .unit {
		font-size: 4.32rem
	}
}
#page-progress .progress .value-wrap .value {
	font-size: 64px;
	font-weight: 700
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .value-wrap .value {
		font-size: 6.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress .value-wrap .value {
		font-size: 8.96rem
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #page-progress .progress .value-wrap .value {
		font-size: 7.68rem
	}
}
#page-progress .progress .detail-wrap .detail {
	font-size: 24px;
	font-weight: 700
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .detail-wrap .detail {
		font-size: 2.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress .detail-wrap .detail {
		font-size: 3.36rem
	}
}
#page-progress .progress .source {
	box-sizing: border-box;
	border: 1px solid #5a6b7c;
	text-align: center;
	margin: 0 auto;
	border-radius: 5px;
	width: 540px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .source {
		border-radius: .5vw;
		width: 54vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress .source {
		border-radius: 2vw;
		width: auto
	}
}
#page-progress .progress .source dt {
	font-size: 14px;
	background: #5a6b7c;
	color: #fff;
	padding: 10px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .source dt {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress .source dt {
		font-size: 2.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .source dt {
		padding: 1vw 0
	}
}
#page-progress .progress .source dd {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px 0 25px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .source dd {
		gap: 1vw;
		padding: 2vw 0 2.5vw 0
	}
}
#page-progress .progress .source dd .name {
	font-size: 14px;
	line-height: 1.75em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress .progress .source dd .name {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-progress .progress .source dd .name {
		font-size: 2.8rem
	}
}
#page-progress #progress1 .graph {
	display: flex;
	flex-wrap: wrap;
	gap: 2px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress1 .graph {
		gap: .2vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress1 .graph {
		gap: .5333333333vw
	}
}
#page-progress #progress1 .graph span {
	-webkit-mask: url(../img/progress/graph_01.svg) no-repeat;
	-webkit-mask-size: contain;
	mask: url(../img/progress/graph_01.svg) no-repeat;
	mask-size: contain;
	aspect-ratio: 24/60;
	width: 11px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress1 .graph span {
		width: 1.1vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress1 .graph span {
		width: 3.3333333333vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-progress #progress1 .graph span:nth-child(10), #page-progress #progress1 .graph span:nth-child(20), #page-progress #progress1 .graph span:nth-child(30), #page-progress #progress1 .graph span:nth-child(40) {
		margin-right: 5px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress1 .graph span:nth-child(10), #page-progress #progress1 .graph span:nth-child(20), #page-progress #progress1 .graph span:nth-child(30), #page-progress #progress1 .graph span:nth-child(40) {
		margin-right: .5vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress1 .graph span:nth-child(10), #page-progress #progress1 .graph span:nth-child(30) {
		margin-right: 2.6666666667vw
	}
}
#page-progress #progress1 .y-2011 h3::before {
	background: #008572
}
#page-progress #progress1 .y-2011 .graph span {
	background: #d4efef
}
#page-progress #progress1 .y-2011 .graph span.active {
	background: #008572
}
#page-progress #progress1 .y-2011 .value-wrap {
	color: #008572
}
#page-progress #progress1 .y-2016 h3::before {
	background: #009db1
}
#page-progress #progress1 .y-2016 .graph span {
	background: #d4efef
}
#page-progress #progress1 .y-2016 .graph span.active {
	background: #009db1
}
#page-progress #progress1 .y-2016 .value-wrap {
	color: #009db1
}
#page-progress #progress1 .y-2021 h3::before {
	background: #007cbd
}
#page-progress #progress1 .y-2021 .graph span {
	background: #d0eef4
}
#page-progress #progress1 .y-2021 .graph span.active {
	background: #007cbd
}
#page-progress #progress1 .y-2021 .value-wrap {
	color: #007cbd
}
#page-progress #progress1 .y-2023 h3::before {
	background: #0074e6
}
#page-progress #progress1 .y-2023 .graph span {
	background: #cdecf9
}
#page-progress #progress1 .y-2023 .graph span.active {
	background: #0074e6
}
#page-progress #progress1 .y-2023 .value-wrap {
	color: #0074e6
}
#page-progress #progress1 .y-2011, #page-progress #progress1 .y-2016, #page-progress #progress1 .y-2021, #page-progress #progress1 .y-2023 {
	padding-bottom: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress1 .y-2011, #page-progress #progress1 .y-2016, #page-progress #progress1 .y-2021, #page-progress #progress1 .y-2023 {
		padding-bottom: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress1 .y-2011, #page-progress #progress1 .y-2016, #page-progress #progress1 .y-2021, #page-progress #progress1 .y-2023 {
		padding-bottom: 10.6666666667vw
	}
}
#page-progress #progress1 .value-wrap {
	margin-top: -40px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress1 .value-wrap {
		margin-top: -4vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress1 .value-wrap {
		margin-top: -5.3333333333vw
	}
}
html[lang=en] #page-progress #progress1 .value-wrap {
	margin-top: 0
}
@media print, screen and (min-width: 768px) {
	#page-progress #progress2 h3 {
		width: max-content;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: -70px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress2 h3 {
		bottom: -7vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-progress #progress2 h3::before {
		content: "";
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		aspect-ratio: 1;
		border-radius: 50%;
		top: -28px;
		width: 18px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress2 h3::before {
		top: -2.8vw;
		width: 1.8vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-progress #progress2 .graph-wrap {
		position: relative;
		justify-content: center;
		display: flex;
		margin: 0 auto;
		gap: 116px;
		width: 900px;
		padding-bottom: 109px;
		margin-bottom: 60px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress2 .graph-wrap {
		gap: 11.6vw;
		width: 90vw;
		padding-bottom: 10.8vw;
		margin-bottom: 6vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-progress #progress2 .graph-wrap::before {
		content: "";
		background: linear-gradient(326deg, rgba(0, 124, 189, 0.2) 0%, rgba(0, 133, 114, 0.2) 100%);
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 112px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress2 .graph-wrap::before {
		height: 11.2vw
	}
}
#page-progress #progress2 .graph .ill {
	width: 204px;
	position: relative
}
#page-progress #progress2 .graph .ill img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress2 .graph .ill {
		width: 20.4vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress2 .graph .ill {
		width: 40vw
	}
}
#page-progress #progress2 .graph .ill::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: #fff;
	width: 100%;
	height: 100%
}
#page-progress #progress2 .y-2016 .graph .ill::after {
	transition: 1s
}
#page-progress #progress2 .y-2020 .graph .ill::after {
	transition: 1s .3s
}
#page-progress #progress2 .y-2016.scroll-in .graph .ill::after, #page-progress #progress2 .y-2020.scroll-in .graph .ill::after {
	height: 0
}
#page-progress #progress2 .detail-wrap {
	margin-bottom: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress2 .detail-wrap {
		margin-bottom: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress2 .detail-wrap {
		margin-bottom: 0
	}
}
#page-progress #progress2 .y-2016, #page-progress #progress2 .y-2020 {
	position: relative
}
@media screen and (max-width: 767px) {
	#page-progress #progress2 .y-2016, #page-progress #progress2 .y-2020 {
		padding-bottom: 10.6666666667vw
	}
}
#page-progress #progress2 .y-2016 h3::before {
	background: #008572
}
#page-progress #progress2 .y-2016 .detail-wrap {
	color: #008572
}
@media print, screen and (min-width: 768px) {
	#page-progress #progress2 .y-2016::before {
		content: "";
		background: #000;
		position: absolute;
		top: auto;
		left: 50%;
		bottom: -28px;
		width: calc(100% + 116px);
		height: 2px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress2 .y-2016::before {
		bottom: -2.8vw;
		width: calc(100% + 11.6vw);
		height: .2vw
	}
}
@media print, screen and (min-width: 768px) {
	#page-progress #progress2 .y-2016::after {
		content: "";
		background: url(../img/progress/arrow.svg) no-repeat;
		background-size: contain;
		position: absolute;
		transform: rotate(-90deg);
		bottom: -34px;
		left: calc(150% + 116px - 14px - 9px);
		aspect-ratio: 1;
		width: 14px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress2 .y-2016::after {
		bottom: -3.4vw;
		left: calc(150% + 9.3vw);
		width: 1.4vw
	}
}
#page-progress #progress2 .y-2020 h3::before {
	background: #0074e6
}
#page-progress #progress2 .y-2020 .detail-wrap {
	color: #0074e6
}
#page-progress #progress3 .graph {
	position: relative;
	display: flex
}
@media print, screen and (min-width: 768px) {
	#page-progress #progress3 .graph {
		margin-top: -15px
	}
}
@media screen and (min-width: 768px)and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress3 .graph {
		margin-top: -1.5vw
	}
}
#page-progress #progress3 .graph::before {
	content: "";
	background: rgba(167, 181, 193, .2);
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 40px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress3 .graph::before {
		height: 4vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress3 .graph::before {
		height: 10.6666666667vw
	}
}
#page-progress #progress3 .graph::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 19px;
	width: 100%;
	height: 2px;
	background-image: linear-gradient(to right, #fff, #fff 12px, transparent 8px, transparent 20px);
	background-size: 24px 4px;
	background-position: left top;
	background-repeat: repeat-x
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress3 .graph::after {
		bottom: 1.9vw;
		height: .2vw;
		background-image: linear-gradient(to right, #fff, #fff 1.2vw, transparent 0.8vw, transparent 2vw);
		background-size: 2.4vw .4vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress3 .graph::after {
		bottom: 5.0666666667vw;
		height: .5333333333vw;
		background-image: linear-gradient(to right, #fff, #fff 1.6vw, transparent 1.0666666667vw, transparent 2.6666666667vw);
		background-size: 3.2vw .5333333333vw
	}
}
#page-progress #progress3 .graph-inner {
	position: relative;
	box-sizing: border-box;
	padding-bottom: 45px;
	width: 0
}
@media print, screen and (min-width: 768px) {
	#page-progress #progress3 .graph-inner {
		overflow: hidden
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress3 .graph-inner {
		padding-bottom: 4.5vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress3 .graph-inner {
		padding-bottom: 12vw
	}
}
#page-progress #progress3 .graph-inner::before {
	content: "";
	background: #a7b5c1;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 40px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress3 .graph-inner::before {
		height: 4vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress3 .graph-inner::before {
		height: 10.6666666667vw
	}
}
#page-progress #progress3 .graph-inner::after {
	content: "";
	position: absolute;
	aspect-ratio: 112/65;
	background-repeat: no-repeat;
	background-size: contain;
	right: 10px;
	bottom: 27.5px;
	width: 112px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress3 .graph-inner::after {
		right: 1vw;
		bottom: 2.75vw;
		width: 11.2vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress3 .graph-inner::after {
		right: 1.3333333333vw;
		bottom: 7.3333333333vw;
		width: 14.9333333333vw
	}
}
#page-progress #progress3 .detail-wrap {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	padding-right: 115px
}
html[lang=en] #page-progress #progress3 .detail-wrap {
	padding-right: 125px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress3 .detail-wrap {
		padding-right: 11.5vw
	}
	html[lang=en] #page-progress #progress3 .detail-wrap {
		padding-right: 12.5vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress3 .detail-wrap {
		padding-right: 15.3333333333vw;
		flex-direction: column;
		justify-content: center;
		gap: 2.1333333333vw
	}
	html[lang=en] #page-progress #progress3 .detail-wrap {
		padding-right: 16.6666666667vw
	}
}
#page-progress #progress3 .y-2021-12 {
	padding-bottom: 60px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress3 .y-2021-12 {
		padding-bottom: 6vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress3 .y-2021-12 {
		padding-bottom: 10.6666666667vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress3 .y-2016::after {
		content: "";
		height: 100%;
		background: #fff;
		position: absolute;
		z-index: -1;
		top: 1.3333333333vw;
		left: -5.3333333333vw;
		width: 7.4666666667vw
	}
}
#page-progress #progress3 .y-2016 h3 {
	z-index: 1
}
#page-progress #progress3 .y-2016 h3::before {
	background: #008572
}
#page-progress #progress3 .y-2016 .graph::before {
	z-index: -1
}
#page-progress #progress3 .y-2016 .graph-inner {
	z-index: -1;
	transition: .63s
}
#page-progress #progress3 .y-2016 .graph-inner::before {
	z-index: -1
}
#page-progress #progress3 .y-2016 .graph-inner::after {
	background-image: url(../img/progress/graph_03_01.png)
}
#page-progress #progress3 .y-2016 .detail-wrap {
	color: #008572
}
#page-progress #progress3 .y-2016.scroll-in .graph-inner {
	width: 42%
}
#page-progress #progress3 .y-2021-03 h3::before {
	background: #007cbd
}
#page-progress #progress3 .y-2021-03 .graph-inner {
	overflow: hidden;
	transition: 1.84s
}
#page-progress #progress3 .y-2021-03 .graph-inner::after {
	background-image: url(../img/progress/graph_03_02.png)
}
#page-progress #progress3 .y-2021-03 .detail-wrap {
	color: #007cbd
}
#page-progress #progress3 .y-2021-03.scroll-in .graph-inner {
	width: 92%
}
#page-progress #progress3 .y-2021-12 h3::before {
	background: #0074e6
}
#page-progress #progress3 .y-2021-12 .graph-inner {
	overflow: hidden;
	transition: 2s
}
#page-progress #progress3 .y-2021-12 .graph-inner::after {
	background-image: url(../img/progress/graph_03_03.png)
}
#page-progress #progress3 .y-2021-12 .detail-wrap {
	color: #0074e6
}
#page-progress #progress3 .y-2021-12.scroll-in .graph-inner {
	width: 100%
}
#page-progress #progress4 h3 {
	margin-bottom: 15px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress4 h3 {
		margin-bottom: 1.5vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress4 h3 {
		margin-bottom: 4vw
	}
}
#page-progress #progress4 .graph {
	position: relative;
	height: 107px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress4 .graph {
		height: 10.7vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress4 .graph {
		height: 26.88vw
	}
}
#page-progress #progress4 .graph::before, #page-progress #progress4 .graph::after {
	content: "";
	position: absolute;
	z-index: -1;
	left: 0;
	bottom: 0;
	width: 100%
}
#page-progress #progress4 .graph::before {
	height: 100px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress4 .graph::before {
		height: 10vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress4 .graph::before {
		height: 24.32vw
	}
}
#page-progress #progress4 .graph::after {
	height: 100%;
	background-position: right top;
	background-repeat: no-repeat;
	background-size: auto 100%
}
#page-progress #progress4 .graph-inner {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0;
	bottom: 0;
	background-image: linear-gradient(45deg, #CE4916 25%, #D35B2D 25%, #D35B2D 50%, #CE4916 50%, #CE4916 75%, #D35B2D 75%, #D35B2D 100%);
	background-size: 20px 20px;
	height: 100px;
	width: 100%
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress4 .graph-inner {
		height: 10vw;
		background-size: 2vw 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress4 .graph-inner {
		height: 24.32vw;
		background-size: 4vw 4vw
	}
}
#page-progress #progress4 .graph-inner::after {
	content: "";
	width: 100%;
	background: #fff;
	position: absolute;
	left: 0;
	height: 16px;
	top: -16px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress4 .graph-inner::after {
		height: 1.6vw;
		top: -1.6vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress4 .graph-inner::after {
		height: 2.56vw;
		top: -2.56vw
	}
}
#page-progress #progress4 .detail-wrap {
	color: #fff
}
#page-progress #progress4 .detail-wrap sup {
	font-size: 20px;
	display: inline-block;
	transform: translateY(-0.6em)
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress4 .detail-wrap sup {
		font-size: 2rem
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress4 .detail-wrap sup {
		font-size: 2rem
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress4 .detail-wrap {
		text-shadow: 1px 1px 0 #d35b2d, -1px -1px 0 #d35b2d, -1px 1px 0 #d35b2d, 1px -1px 0 #d35b2d, 0px 1px 0 #d35b2d, -1px 0 #d35b2d, -1px 0 0 #d35b2d, 1px 0 0 #d35b2d
	}
}
#page-progress #progress4 .y-2013 h3::before {
	background: #008572
}
#page-progress #progress4 .y-2013 .graph::before {
	display: none
}
#page-progress #progress4 .y-2013 .graph::after {
	display: none
}
#page-progress #progress4 .y-2016 h3::before {
	background: #009db1
}
#page-progress #progress4 .y-2016 .graph::before {
	background: #cce6e8
}
#page-progress #progress4 .y-2016 .graph::after {
	background-image: url(../img/progress/graph_04_01@pc.png)
}
@media screen and (max-width: 767px) {
	#page-progress #progress4 .y-2016 .graph::after {
		background-image: url(../img/progress/graph_04_01@sp.png)
	}
}
#page-progress #progress4 .y-2016 .graph-inner {
	transition: .63s
}
#page-progress #progress4 .y-2016.scroll-in .graph-inner {
	width: 63%
}
#page-progress #progress4 .y-2020 h3::before {
	background: #007cbd
}
#page-progress #progress4 .y-2020 .graph::before {
	background: #cce5f2
}
#page-progress #progress4 .y-2020 .graph::after {
	background-image: url(../img/progress/graph_04_02@pc.png)
}
@media screen and (max-width: 767px) {
	#page-progress #progress4 .y-2020 .graph::after {
		background-image: url(../img/progress/graph_04_02@sp.png)
	}
}
#page-progress #progress4 .y-2020 .graph-inner {
	transition: 1s
}
#page-progress #progress4 .y-2020.scroll-in .graph-inner {
	width: 29%
}
#page-progress #progress4 .y-2023 h3::before {
	background: #0074e6
}
#page-progress #progress4 .y-2023 .graph::before {
	background: #cce3fa
}
#page-progress #progress4 .y-2023 .graph::after {
	background-image: url(../img/progress/graph_04_03@pc.png)
}
@media screen and (max-width: 767px) {
	#page-progress #progress4 .y-2023 .graph::after {
		background-image: url(../img/progress/graph_04_03@sp.png)
	}
}
#page-progress #progress4 .y-2023 .graph-inner {
	transition: 1s
}
#page-progress #progress4 .y-2023.scroll-in .graph-inner {
	width: 27%
}
#page-progress #progress5 .detail-wrap {
	margin-bottom: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress5 .detail-wrap {
		margin-bottom: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress5 .detail-wrap {
		margin-bottom: 0
	}
}
#page-progress #progress5 .graph {
	position: relative;
	aspect-ratio: 1;
	border-radius: 50%;
	width: 260px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress5 .graph {
		width: 26vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress5 .graph {
		width: 41.6vw
	}
}
#page-progress #progress5 .graph::after {
	opacity: 0;
	transition: .5s .3s;
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -5px;
	aspect-ratio: 1;
	width: 254px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress5 .graph::after {
		top: -0.5vw;
		width: 25.4vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress5 .graph::after {
		top: -0.8vw;
		width: 40.64vw
	}
}
#page-progress #progress5 .graph.ended::after {
	opacity: 1
}
#page-progress #progress5 .y-2016, #page-progress #progress5 .y-2021, #page-progress #progress5 .y-2022 {
	position: relative
}
@media screen and (max-width: 767px) {
	#page-progress #progress5 .y-2016, #page-progress #progress5 .y-2021, #page-progress #progress5 .y-2022 {
		padding-bottom: 10.6666666667vw
	}
}
#page-progress #progress5 .y-2016 h3::before {
	background: #008572
}
#page-progress #progress5 .y-2016 .detail-wrap {
	color: #008572
}
#page-progress #progress5 .y-2016 .graph {
	background-image: conic-gradient(#EDCEA0 0%, #EDCEA0 74%, #EDCEA0 74%, #EDCEA0 100%)
}
#page-progress #progress5 .y-2016 .graph::after {
	background-image: url(../img/progress/graph_05_01.png)
}
#page-progress #progress5 .y-2021 h3::before {
	background: #007cbd
}
#page-progress #progress5 .y-2021 .detail-wrap {
	color: #007cbd
}
#page-progress #progress5 .y-2021 .graph {
	background-image: conic-gradient(#EDCEA0 0%, #EDCEA0 94%, #EDCEA0 94%, #EDCEA0 100%)
}
#page-progress #progress5 .y-2021 .graph::after {
	background-image: url(../img/progress/graph_05_02.png)
}
#page-progress #progress5 .y-2022 h3::before {
	background: #0074e6
}
#page-progress #progress5 .y-2022 .detail-wrap {
	color: #0074e6
}
#page-progress #progress5 .y-2022 .graph {
	background-image: conic-gradient(#EDCEA0 0%, #EDCEA0 95%, #EDCEA0 95%, #EDCEA0 100%)
}
#page-progress #progress5 .y-2022 .graph::after {
	background-image: url(../img/progress/graph_05_03.png)
}
#page-progress #progress6 .detail-wrap {
	margin-bottom: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress6 .detail-wrap {
		margin-bottom: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress6 .detail-wrap {
		margin-bottom: 0
	}
}
#page-progress #progress6 .graph {
	position: relative;
	background: url(../img/progress/graph_06_base.svg) no-repeat;
	background-size: contain;
	aspect-ratio: 260/200;
	width: 260px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress6 .graph {
		width: 26vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress6 .graph {
		width: 41.6vw
	}
}
#page-progress #progress6 .graph::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-mask-image: url(../img/progress/mask.png);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 0 100%;
	mask-image: url(../img/progress/mask.png);
	mask-repeat: no-repeat;
	mask-size: 0 100%
}
#page-progress #progress6 .y-2016, #page-progress #progress6 .y-2021, #page-progress #progress6 .y-2022 {
	position: relative
}
@media screen and (max-width: 767px) {
	#page-progress #progress6 .y-2016, #page-progress #progress6 .y-2021, #page-progress #progress6 .y-2022 {
		padding-bottom: 10.6666666667vw
	}
}
#page-progress #progress6 .y-2016 h3::before {
	background: #008572
}
#page-progress #progress6 .y-2016 .graph::before {
	transition: 1s;
	background-image: url(../img/progress/graph_06_01.svg)
}
#page-progress #progress6 .y-2016 .detail-wrap {
	color: #008572
}
#page-progress #progress6 .y-2016.scroll-in .graph::before {
	-webkit-mask-size: 78% 100%;
	mask-size: 78% 100%
}
#page-progress #progress6 .y-2021 h3::before {
	background: #007cbd
}
#page-progress #progress6 .y-2021 .graph::before {
	transition: 1s .2s;
	background-image: url(../img/progress/graph_06_02.svg)
}
#page-progress #progress6 .y-2021 .detail-wrap {
	color: #007cbd
}
#page-progress #progress6 .y-2021.scroll-in .graph::before {
	-webkit-mask-size: 97% 100%;
	mask-size: 97% 100%
}
#page-progress #progress6 .y-2022 h3::before {
	background: #0074e6
}
#page-progress #progress6 .y-2022 .graph::before {
	transition: 1s .4s;
	background-image: url(../img/progress/graph_06_03.svg)
}
#page-progress #progress6 .y-2022 .detail-wrap {
	color: #0074e6
}
#page-progress #progress6 .y-2022.scroll-in .graph::before {
	-webkit-mask-size: 100% 100%
}
#page-progress #progress7 .detail-wrap {
	margin-bottom: 30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress7 .detail-wrap {
		margin-bottom: 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress7 .detail-wrap {
		margin-bottom: 0
	}
}
#page-progress #progress7 .graph {
	position: relative;
	background: url(../img/progress/graph_07_base.png) no-repeat;
	background-size: contain;
	aspect-ratio: 260/220;
	width: 260px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress7 .graph {
		width: 26vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress7 .graph {
		width: 32.9333333333vw
	}
}
#page-progress #progress7 .graph::before, #page-progress #progress7 .graph::after {
	content: "";
	position: absolute
}
#page-progress #progress7 .graph::before {
	z-index: 1;
	background: url(../img/progress/graph_07_frame.png) no-repeat;
	background-size: contain;
	bottom: -2px;
	left: 50%;
	transform: translateX(-50%);
	aspect-ratio: 264/204;
	width: 264px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-progress #progress7 .graph::before {
		bottom: -0.2vw;
		width: 26.4vw
	}
}
@media screen and (max-width: 767px) {
	#page-progress #progress7 .graph::before {
		bottom: -.2533333333vw;
		width: 33.44vw
	}
}
#page-progress #progress7 .graph::after {
	background-repeat: no-repeat;
	background-size: contain;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	-webkit-mask-image: url(../img/progress/mask.png);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: left bottom;
	-webkit-mask-size: 100% 0;
	mask-image: url(../img/progress/mask.png);
	mask-repeat: no-repeat;
	mask-size: 100% 0
}
#page-progress #progress7 .y-2011, #page-progress #progress7 .y-2015, #page-progress #progress7 .y-2020 {
	position: relative
}
@media screen and (max-width: 767px) {
	#page-progress #progress7 .y-2011, #page-progress #progress7 .y-2015, #page-progress #progress7 .y-2020 {
		padding-bottom: 10.6666666667vw
	}
}
#page-progress #progress7 .y-2011 h3::before {
	background: #008572
}
#page-progress #progress7 .y-2011 .graph::after {
	transition: 1s;
	background-image: url(../img/progress/graph_07_01.png)
}
#page-progress #progress7 .y-2011 .detail-wrap {
	color: #008572
}
#page-progress #progress7 .y-2011.scroll-in .graph::after {
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%
}
#page-progress #progress7 .y-2015 h3::before {
	background: #007cbd
}
#page-progress #progress7 .y-2015 .graph::after {
	transition: 1s .2s;
	background-image: url(../img/progress/graph_07_02.png)
}
#page-progress #progress7 .y-2015 .detail-wrap {
	color: #007cbd
}
#page-progress #progress7 .y-2015.scroll-in .graph::after {
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%
}
#page-progress #progress7 .y-2020 h3::before {
	background: #0074e6
}
#page-progress #progress7 .y-2020 .graph::after {
	transition: 1s .4s;
	background-image: url(../img/progress/graph_07_03.png)
}
#page-progress #progress7 .y-2020 .detail-wrap {
	color: #0074e6
}
#page-progress #progress7 .y-2020.scroll-in .graph::after {
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%
}
#page-current {
	overflow-x: hidden
}
#page-current #header {
	margin-bottom: 50px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #header {
		margin-bottom: 5vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #header {
		margin-bottom: 10.6666666667vw
	}
	html[lang=en] #page-current #header {
		height: 26.6666666667vw
	}
}
#page-current #lead .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #lead .inner {
		margin-bottom: 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #lead .inner {
		gap: 2.6666666667vw;
		margin-bottom: 10.6666666667vw
	}
}
#page-current #lead .lead {
	flex: 1;
	text-align: left
}
@media print, screen and (min-width: 768px) {
	#page-current #lead .lead {
		letter-spacing: -0.04em
	}
}
@media screen and (max-width: 767px) {
	#page-current #lead .lead {
		letter-spacing: -0.02em;
		white-space: inherit
	}
}
#page-current #lead .map {
	width: 219px;
	margin-right: 100px
}
#page-current #lead .map img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #lead .map {
		width: 21.9vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #lead .map {
		width: 32vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #lead .map {
		margin-right: 6vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #lead .map {
		margin-right: 0
	}
}
#page-current #current {
	margin-bottom: 150px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current {
		margin-bottom: 15vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current {
		margin-bottom: 13.3333333333vw
	}
}
#page-current #current .list {
	display: flex;
	flex-direction: column;
	gap: 40px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current .list {
		gap: 4vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current .list {
		gap: 2.6666666667vw
	}
}
#page-current #current .item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 20px;
	padding-bottom: 20px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current .item {
		padding-top: 2vw;
		padding-bottom: 2vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current .item {
		padding-top: 5.3333333333vw;
		padding-bottom: 5.3333333333vw;
		flex-direction: column;
		align-items: flex-start;
		gap: 4vw
	}
}
#page-current #current .item .title-wrap {
	flex: 1
}
#page-current #current .item .thumb {
	width: 210px
}
#page-current #current .item .thumb img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current .item .thumb {
		width: 21vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current .item .thumb {
		width: 66.6666666667vw
	}
}
#page-current #current-header {
	position: relative;
	padding-bottom: 10px;
	margin-top: -30px;
	margin-bottom: 150px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-header {
		padding-bottom: 1vw;
		margin-top: -3vw;
		margin-bottom: 15vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-header {
		padding-bottom: 1.3333333333vw;
		margin-top: 0;
		margin-bottom: 13.3333333333vw
	}
}
#page-current #current-header::before, #page-current #current-header::after {
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	width: 100%;
	height: 10px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-header::before, #page-current #current-header::after {
		height: 1vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-header::before, #page-current #current-header::after {
		height: 1.3333333333vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-header::before {
		z-index: 1;
		background: linear-gradient(326deg, rgba(0, 124, 189, 0.2) 0%, rgba(0, 133, 114, 0.2) 100%);
		bottom: 70.4vw
	}
}
#page-current #current-header::after {
	background: linear-gradient(326deg, rgba(0, 124, 189, 0.2) 0%, rgba(0, 133, 114, 0.2) 100%);
	bottom: 0
}
#page-current #current-header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center
}
@media screen and (max-width: 767px) {
	#page-current #current-header .inner {
		flex-direction: column;
		align-items: flex-start
	}
}
#page-current #current-header .map {
	width: 540px
}
#page-current #current-header .map img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-header .map {
		width: 54vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-header .map {
		width: 89.3333333333vw
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-header .map {
		width: 56.6vw
	}
}
#page-current #current-header .title-wrap {
	flex: 1
}
@media screen and (max-width: 767px) {
	#page-current #current-header .title-wrap {
		margin-bottom: 9.3333333333vw
	}
	#page-current #current-header .tag-wrap {
		flex-direction: row;
		align-items: center
	}
	#page-current #current-header .title {
		font-size: 4.8rem
	}
}
#page-current #current-body {
	margin-bottom: 150px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-body {
		margin-bottom: 15vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-body {
		margin-bottom: 13.3333333333vw
	}
}
#page-current #current-body .section:not(:last-child) {
	margin-bottom: 150px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-body .section:not(:last-child) {
		margin-bottom: 15vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-body .section:not(:last-child) {
		margin-bottom: 13.3333333333vw
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #page-current #current-body .text {
		text-align: left
	}
}
#page-current #current-body .col-1-h .image img {
	width: 100%;
	vertical-align: bottom
}
#page-current #current-body .col-1-v .image {
	width: 538px;
	margin-left: auto;
	margin-right: auto
}
#page-current #current-body .col-1-v .image img {
	width: 100%;
	vertical-align: bottom
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-body .col-1-v .image {
		width: 53.8vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-body .col-1-v .image {
		width: 66.6666666667vw
	}
}
#page-current #current-body .col-1-v figcaption {
	margin-left: -51px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-body .col-1-v figcaption {
		margin-left: -5.1vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-body .col-1-v figcaption {
		margin-left: -11.3333333333vw
	}
}
#page-current #current-body figcaption {
	font-size: 14px;
	line-height: 1.5em;
	margin-top: 1em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-body figcaption {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-body figcaption {
		font-size: 2.8rem
	}
}
#page-current #current-body .production {
	font-size: 14px;
	line-height: 1.5em;
	margin-bottom: 60px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-body .production {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-body .production {
		font-size: 2.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-current #current-body .production {
		margin-bottom: 6vw
	}
}
@media screen and (max-width: 767px) {
	#page-current #current-body .production {
		margin-bottom: 8vw
	}
}
#page-current #current-body .button-wrap {
	display: flex;
	justify-content: center
}
#page-current #current-body .button {
	color: #009db1;
	border: 1px solid #009db1
}
#page-current #current-body .button::after {
	background-image: url(../img/common/arrow_04.svg)
}
@media print, screen and (min-width: 768px) {
	#page-current #current-body .button:hover::after {
		background-image: url(../img/common/arrow_04_on.svg)
	}
}
#page-preparation {
	overflow-x: hidden
}
@media screen and (max-width: 767px) {
	#page-preparation #header {
		height: 26.6666666667vw
	}
	#page-preparation #header h1 .jp {
		font-size: 5rem;
		line-height: 1.5em
	}
}
#page-preparation #about {
	margin-bottom: 150px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #about {
		margin-bottom: 15vw
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #about {
		margin-bottom: 13.3333333333vw
	}
}
#page-preparation #about .about:not(last-child) {
	margin-bottom: 100px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #about .about:not(last-child) {
		margin-bottom: 10vw
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #about .about:not(last-child) {
		margin-bottom: 13.3333333333vw
	}
}
#page-preparation #about h2 {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.5em;
	text-align: center;
	color: #009db1;
	position: relative;
	margin-bottom: 40px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #about h2 {
		font-size: 3.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #about h2 {
		font-size: 4.8rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #about h2 {
		margin-bottom: 4vw
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #about h2 {
		margin-bottom: 5.3333333333vw
	}
}
#page-preparation #about h2::after {
	content: "";
	display: block;
	background: rgba(0, 133, 114, .2);
	width: 100%;
	height: 10px;
	margin-top: 10px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #about h2::after {
		height: 1vw;
		margin-top: 1vw
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #about h2::after {
		height: 2.6666666667vw;
		margin-top: 2.6666666667vw
	}
}
#page-preparation #about .text {
	font-size: 16px;
	line-height: 2em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #about .text {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #about .text {
		font-size: 3.2rem
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #page-preparation #about .text {
		text-align: left
	}
}
#page-preparation #theme {
	margin-bottom: 150px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme {
		margin-bottom: 15vw
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme {
		margin-bottom: 13.3333333333vw
	}
}
#page-preparation #theme h2 {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5em;
	background: linear-gradient(326deg, #007cbd 0%, #008572 100%);
	color: #fff;
	text-align: center;
	border-radius: 50px;
	padding: 15px 0;
	margin-bottom: 60px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme h2 {
		font-size: 2.8rem
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme h2 {
		font-size: 4rem
	}
}
html[lang=en] #page-preparation #theme h2 {
	font-size: 24px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	html[lang=en] #page-preparation #theme h2 {
		font-size: 2.4rem
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #page-preparation #theme h2 {
		font-size: 3.2rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme h2 {
		border-radius: 5vw;
		padding: 1.5vw 0;
		margin-bottom: 6vw
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme h2 {
		border-radius: 13.3333333333vw;
		padding: 4vw 0;
		margin-bottom: 10.6666666667vw
	}
}
#page-preparation #theme .theme {
	text-align: center
}
#page-preparation #theme .theme dt {
	font-size: 16px;
	margin-bottom: 30px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme .theme dt {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme .theme dt {
		font-size: 3.2rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme .theme dt {
		margin-bottom: 3vw
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme .theme dt {
		margin-bottom: 8vw
	}
}
#page-preparation #theme .theme dd {
	margin-bottom: 80px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme .theme dd {
		margin-bottom: 8vw
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme .theme dd {
		margin-bottom: 10.6666666667vw
	}
}
#page-preparation #theme .theme div.main dd {
	font-size: 46px;
	font-weight: 700;
	line-height: 1.5em;
	color: #009db1
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme .theme div.main dd {
		font-size: 4.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme .theme div.main dd {
		font-size: 6rem
	}
}
#page-preparation #theme .theme div.sub dd {
	display: flex;
	justify-content: center;
	gap: 10px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme .theme div.sub dd {
		gap: 1vw
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme .theme div.sub dd {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0
	}
}
#page-preparation #theme .theme div.sub dd .sub1, #page-preparation #theme .theme div.sub dd .sub2, #page-preparation #theme .theme div.sub dd .sub3 {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	border-radius: 50%;
	background: linear-gradient(326deg, rgba(0, 124, 189, 0.15) 0%, rgba(0, 133, 114, 0.15) 100%);
	aspect-ratio: 1;
	gap: 15px;
	width: 260px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme .theme div.sub dd .sub1, #page-preparation #theme .theme div.sub dd .sub2, #page-preparation #theme .theme div.sub dd .sub3 {
		gap: 1.5vw;
		width: 26vw
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme .theme div.sub dd .sub1, #page-preparation #theme .theme div.sub dd .sub2, #page-preparation #theme .theme div.sub dd .sub3 {
		gap: 2.6666666667vw;
		width: 40vw;
		margin: 0 2vw
	}
}
#page-preparation #theme .theme div.sub dd .sub1 .en, #page-preparation #theme .theme div.sub dd .sub2 .en, #page-preparation #theme .theme div.sub dd .sub3 .en {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.1875em;
	color: #009db1
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme .theme div.sub dd .sub1 .en, #page-preparation #theme .theme div.sub dd .sub2 .en, #page-preparation #theme .theme div.sub dd .sub3 .en {
		font-size: 3.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme .theme div.sub dd .sub1 .en, #page-preparation #theme .theme div.sub dd .sub2 .en, #page-preparation #theme .theme div.sub dd .sub3 .en {
		font-size: 3.8rem
	}
}
#page-preparation #theme .theme div.sub dd .sub1 .jp, #page-preparation #theme .theme div.sub dd .sub2 .jp, #page-preparation #theme .theme div.sub dd .sub3 .jp {
	font-size: 12px;
	font-weight: 700;
	background: linear-gradient(326deg, #007cbd 0%, #008572 100%);
	color: #fff;
	width: 150px;
	padding: 6px 0
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme .theme div.sub dd .sub1 .jp, #page-preparation #theme .theme div.sub dd .sub2 .jp, #page-preparation #theme .theme div.sub dd .sub3 .jp {
		font-size: 1.2rem
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme .theme div.sub dd .sub1 .jp, #page-preparation #theme .theme div.sub dd .sub2 .jp, #page-preparation #theme .theme div.sub dd .sub3 .jp {
		font-size: 2.2rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme .theme div.sub dd .sub1 .jp, #page-preparation #theme .theme div.sub dd .sub2 .jp, #page-preparation #theme .theme div.sub dd .sub3 .jp {
		width: 15vw;
		padding: .6vw 0
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme .theme div.sub dd .sub1 .jp, #page-preparation #theme .theme div.sub dd .sub2 .jp, #page-preparation #theme .theme div.sub dd .sub3 .jp {
		width: 29.3333333333vw;
		padding: 1.3333333333vw 0
	}
}
#page-preparation #theme .text {
	font-size: 16px;
	line-height: 2em;
	margin-bottom: 80px
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme .text {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme .text {
		font-size: 3.2rem
	}
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#page-preparation #theme .text {
		margin-bottom: 8vw
	}
}
@media screen and (max-width: 767px) {
	#page-preparation #theme .text {
		margin-bottom: 10.6666666667vw
	}
	html[lang=en] #page-preparation #theme .text {
		text-align: left
	}
}
#page-preparation #theme .col-2 .image-h.center {
	transform: translateX(50%)
}
@media screen and (max-width: 767px) {
	#page-preparation #theme .col-2 .image-h.center {
		transform: translateX(0)
	}
}
#page-preparation #theme .col-2 figcaption {
	text-align: center
}
/*202406add*/

/* header */
/*
#header-nav-pc .header-nav-sub a svg {
	aspect-ratio: 1;
	margin-left: .3em;
	width: 14px;
	transform: translateY(0.1em);
}
#header-nav-pc .header-nav-sub a svg path, #header-nav-pc .header-nav-sub a svg polyline, #header-nav-pc .header-nav-sub a svg line {
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
}
#header-nav-pc .header-nav-sub a:hover svg path, #header-nav-pc .header-nav-sub a:hover svg polyline, #header-nav-pc .header-nav-sub a:hover svg line {
	stroke: currentColor;
}
@media screen and (min-width: 768px) and (max-width: 1020px) {
	#header-nav-pc .header-nav-sub a svg {
		width: 1.4vw;
	}
}
@media screen and (max-width: 767px) {
	#header-nav-sp .header-nav-sub a svg {
		aspect-ratio: 1;
		margin-left: .3em;
		width: 3.7333333333vw;
		transform: translateY(0.1em);
	}
	#header-nav-sp .header-nav-sub a svg path, #header-nav-sp .header-nav-sub a svg polyline, #header-nav-sp .header-nav-sub a svg line {
		fill: none;
		stroke: currentColor;
		stroke-linecap: round;
		stroke-linejoin: round;
	}
}*/
/* footer */
/*
footer .footer-nav-sub a svg {
	aspect-ratio: 1;
	margin-left: .3em;
	width: 14px;
	transform: translateY(0.1em);
}
footer .footer-nav-sub a svg path, footer .footer-nav-sub a svg polyline, footer .footer-nav-sub a svg line {
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
}
footer .footer-nav-sub a:hover svg path, footer .footer-nav-sub a:hover svg polyline, footer .footer-nav-sub a:hover svg line {
	stroke: currentColor;
}
@media screen and (min-width: 768px) and (max-width: 1020px) {
	footer .footer-nav-sub a svg {
		width: 1.4vw;
	}
}
@media screen and (max-width: 767px) {
	footer .footer-nav-sub a svg {
		width: 3.7333333333vw;
	}
}*/
/* #page-index */
/*
#page-index #recovery .button-wrap .button:nth-child(3) {
	font-feature-settings: "palt";
}
#page-index #recovery .button-wrap .button:nth-child(3), #page-index #recovery .button-wrap .button:nth-child(4) {
	width: 392px;
}
html[lang="ja"] #page-index #recovery .button-wrap .button:nth-child(3) {
	padding-left: 30px;
}
#page-index #recovery .button-wrap .button {
	min-height: 106px;
}
@media screen and (min-width: 768px) and (max-width: 1020px) {
	#page-index #recovery .button-wrap .button:nth-child(3), #page-index #recovery .button-wrap .button:nth-child(4) {
		width: 39.2vw;
	}
	html[lang="ja"] #page-index #recovery .button-wrap .button:nth-child(3) {
		padding-left: 3vw;
	}
	#page-index #recovery .button-wrap .button {
		min-height: 10.6vw;
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery .button-wrap .button:nth-child(3), #page-index #recovery .button-wrap .button:nth-child(4) {
		width: auto;
	}
	html[lang="ja"] #page-index #recovery .button-wrap .button:nth-child(3) {
		padding-left: 4vw;
	}
	#page-index #recovery .button-wrap .button {
		min-height: 16.5166883963vw;
	}
}
#page-index #recovery .button-wrap .button {
	line-height: 1.2;
}
#page-index #recovery .button-wrap .button .ill {
	flex-shrink: 0;
}
#page-index #recovery .button-wrap .button svg.blank {
	aspect-ratio: 1;
	width: 24px;
	transform: translateX(-1px);
}
#page-index #recovery .button-wrap .button svg.blank path, #page-index #recovery .button-wrap .button svg.blank polyline, #page-index #recovery .button-wrap .button svg.blank line {
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: initial;
}
#page-index #recovery .button-wrap .button:hover svg.blank path, #page-index #recovery .button-wrap .button:hover svg.blank polyline, #page-index #recovery .button-wrap .button:hover svg.blank line {
	stroke: currentColor;
}
@media screen and (min-width: 768px) and (max-width: 1020px) {
	#page-index #recovery .button-wrap .button svg.blank {
		width: 2.4vw;
		transform: translateX(-0.1vw);
	}
}
@media screen and (max-width: 767px) {
	#page-index #recovery .button-wrap .button svg.blank {
		width: 6.4vw;
		transform: translateX(-0.2666666666vw);
	}
}*/
/* #page-current */
/*
#page-current #current .banner-list {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 40px;
}






/*---------------------------------------------------
article title
---------------------------------------------------*/
#article-body h3,
#current-body h3 {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.75em;
	text-align: center;
    color: #009db1;
	position: relative;
	margin-bottom: 1em;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#article-body h3,
    #current-body h3 {
		font-size: 3rem;
		margin-bottom: 4vw;
	}
}
@media screen and (max-width: 767px) {
	#article-body h3,
    #current-body h3 {
		font-size: 3.6rem;
		margin-bottom: 8vw;
	}
}

html[lang=en] #article-body h3,
html[lang=en] #current-body h3 {
	font-size: 28px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	html[lang=en] #article-body h3,
    html[lang=en] #current-body h3 {
		font-size: 2.6rem;
	}
}
@media screen and (max-width: 767px) {
	html[lang=en] #article-body h3,
    html[lang=en] #current-body h3 {
		font-size: 3.2rem;
	}
}


/*---------------------------------------------------
article text
---------------------------------------------------*/
.text {
	font-size: 20px;
	line-height: 2.2em;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .text {
		font-size: 1.8rem;
    }
}
@media screen and (max-width: 767px) {
    .text {
        font-size: 2.6rem;
        line-height: 1.8em;
    }
}
.text p:not(:last-child) {
    margin-bottom: 1.5em;
}
#article-body .text,
#current-body .text {
	width: 720px;
	margin: 0 auto;
	margin-bottom: 6.5em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	#article-body .text,
    #current-body .text {
		width: 72vw;
		margin-bottom: 6vw;
	}
}
@media screen and (max-width: 767px) {
	#article-body .text,
    #current-body .text {
		width: 100%;
		margin-bottom: 9vw;
	}
}


/*---------------------------------------------------
img caption
---------------------------------------------------*/
.col-2 figcaption,
#page-current #current-body figcaption {
	font-size: 14px;
	line-height: 1.7em;
	margin-top: 1em
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
	.col-2 figcaption,
    #page-current #current-body figcaption {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 767px) {
	.col-2 figcaption,
    #page-current #current-body figcaption {
		font-size: 2.6rem;
    	line-height: 1.75em;
	}
}


/*---------------------------------------------------
button style
---------------------------------------------------*/
.button-01 {
    width: 315px;
    max-width: 100%;
    aspect-ratio: 315 / 60;
    background-color: #fff;
    color: #009db1;
    border: 2px solid #009db1;
    border-radius: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.button-01:hover {
    background-color: #009db1;
    color: #fff;
}
.button-01 span {
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    position: relative;
}
.button-01.large span {
    font-size: 24px;
}
.button-01 span::after {
    content: "";
    -webkit-mask: url(../img/common/arrow_01.svg) no-repeat;
    mask: url(../img/common/arrow_01.svg) no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    background: #009db1;
    width: 1em;
    aspect-ratio: 11.5 / 6.5;
    position: absolute;
    top: 25%;
    right: -2em;
    margin: auto;
    transform: rotate(-90deg) translateY(-50%);
	transition: .3s;
}
.button-01:hover span::after {
    background: #fff;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .button-01 span {
        font-size: 1.6rem;
    }
	.button-01.large span {
		font-size: 2.4rem;
	}
}
@media screen and (max-width: 767px) {
    .button-01 span {
        font-size: 2.4rem;
    }
	.button-01.large span {
		font-size: 2.4rem;
	}
}


/*
#page-current #current .banner-list>li {
	width: calc((100% - 20px) / 2);
	border: 1px solid #e2e2e2;
}
@media print, screen and (min-width: 768px) {
	#page-current #current .banner-list>li a {
		transition: .3s;
	}
	#page-current #current .banner-list>li a:hover {
		opacity: .8;
	}
}
#page-current #current .banner-list>li .image img {
	width: 100%;
	vertical-align: bottom;
}
@media screen and (min-width: 768px) and (max-width: 1020px) {
	#page-current #current .banner-list {
		gap: 2vw;
		margin-bottom: 4vw;
	}
	#page-current #current .banner-list>li {
		width: calc((100% - 2.1vw) / 2);
	}
}
@media screen and (max-width: 767px) {
	#page-current #current .banner-list {
		flex-direction: column;
		gap: 4vw;
		margin-bottom: 10.6666666667vw;
	}
	#page-current #current .banner-list>li {
		width: 100%;
	}
}*/