@charset "utf-8";

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,p,blockquote,th,td,main,figure{margin:0;padding:0}table{font-size:100%;font-family:inherit}fieldset,img{border:0}img,svg,video{vertical-align:middle}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%}q:before,q:after{content:''}abbr,acronym{border:0}select,input,textarea{font-size:100%}header,footer,nav,main,section,article,figure,aside,picture{display:block}.clearfix:after,.row:after{content:"";display:table;clear:both}._fl{float:left}._fr{float:right}@media screen and (min-width: 744px),print{._pc_fl{float:left}._pc_fr{float:right}}@media screen and (max-width: 743px){._sp_fl{float:left}._sp_fr{float:right}}._tal{text-align:left!important}._tac{text-align:center!important}._tar{text-align:right!important}@media screen and (min-width: 744px),print{._pc_tal{text-align:left!important}._pc_tac{text-align:center!important}._pc_tar{text-align:right!important}}@media screen and (max-width: 743px){._sp_tal{text-align:left!important}._sp_tac{text-align:center!important}._sp_tar{text-align:right!important}}


/* ‰äÊý
====================================================================== */
:root {
	--color-base: #000;
	--base-width: 120rem;
	--base-small-width: 86rem;
	--pc-base-padding: 4rem;
	--sp-base-padding: calc(25 / 375 * 100vw);
	--font-family-jp: 'Noto Sans JP', sans-serif;
	--font-family-min: 'Noto Serif JP', serif;
	--font-weight: 400;
	--font-weight-bold: 600;
	--font-weight-en: 600;
	--transition-duration: .3s;
	--transition: var(--transition-duration) ease-in-out;
	--rem: 1rem;
}

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
html.no-scroll-behavior {
	scroll-behavior: auto;
}
@media screen and (min-width: 744px), print {
	html {
		font-size: min(calc(10px - (1300px - 100vw) * (10 / 1300)), 10px);
	}
}
body#dsprogram {
	background-color: #023e75;
	font-size: 1.6rem;
	line-height: 1.75;
	color: var(--color-base);
	word-wrap: break-word;
	overflow-wrap: break-word;
	letter-spacing: .05em;
	font-family: var(--font-family-jp);
	font-weight: var(--font-weight);
	font-feature-settings: "palt";
	font-style: normal;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
:where(#dsprogram img) {
	width: 100%;
	height: auto;
}
:where(a[href]) {
	color: var(--color-base);
	outline: none;
	cursor: pointer;
}
:where(a[href]._a_reverse,._a_reverse a[href]) {
	text-decoration: none;
}
@media (hover) {
	:where(a[href]:hover) {
		text-decoration: none;
	}
	:where(a[href]._a_reverse,._a_reverse a[href]):hover {
		text-decoration: underline;
	}
	:where(a[href]:hover ._a_reverse) {
		text-decoration: underline;
	}
}

.-hidden {
	display: none;
}

#top {
	display: block;
}

/* pc / sp
====================================================================== */
@media screen and (min-width: 744px), print {
	._sp {
		display: none !important;
	}
}
@media screen and (max-width: 743px) {
	._pc {
		display: none !important;
	}
	._sp_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
}

/* transition
====================================================================== */
@media (hover) {
	:where(a),
	:where(a)::before,
	:where(a)::after {
		transition: color var(--transition), background var(--transition), border var(--transition), opacity var(--transition), text-decoration-color .2s ease-in-out;
	}
	:where(body.init a svg) {
		transition: fill var(--transition);
	}
}

/* font
====================================================================== */
._ff_min {
	font-family: var(--font-family-min);
}
._wsnw {
	white-space: nowrap;
}
@media screen and (min-width: 744px), print {
	._pc_wsnw {
		white-space: nowrap;
	}
}
@media screen and (max-width: 743px) {
	._sp_wsnw {
		white-space: nowrap;
	}
}

/* object-fit
====================================================================== */
img._of {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
	user-select: none;
	z-index: -1;
}

/* w
====================================================================== */
#dsprogram ._w {
	position: relative;
}
@media screen and (min-width: 744px), print {
	#dsprogram ._w {
		width: var(--base-width);
		max-width: calc(100% - var(--pc-base-padding) * 2);
		margin-inline: auto;
	}
}
@media screen and (max-width: 743px) {
}


/* sp¥Ñ¥Ç¥£¥ó¥°
====================================================================== */
@media screen and (max-width: 743px) {
	#dsprogram ._sp_pd {
		padding-inline: var(--sp-base-padding) !important;
	}
	#dsprogram ._sp_mg {
		margin-inline: var(--sp-base-padding) !important;
	}
	#dsprogram ._sp_full {
		margin-inline: calc(var(--sp-base-padding) * -1) !important;
	}
	#dsprogram ._sp_full_l {
		margin-left: calc(var(--sp-base-padding) * -1) !important;
	}
	#dsprogram ._sp_full_r {
		margin-right: calc(var(--sp-base-padding) * -1) !important;
	}
}


/* header
====================================================================== */
#dsprogram #header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	color: #fff;
	z-index: 10;
}
#dsprogram #header ._ff_min {
	font-size: 3.2rem;
	font-weight: 400;
}
@media screen and (min-width: 744px), print {
	#dsprogram #header {
		top: 6rem;
		width: var(--base-width);
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-inline: auto;
	}
	#dsprogram #header .logo {
		width: 30rem;
	}
}
@media screen and (max-width: 743px) {
	#dsprogram #header {
		top: 2rem;
		text-align: center;
	}
	#dsprogram #header ._ff_min {
		font-size: 1.4rem;
	}
	#dsprogram #header .logo {
		width: 15rem;
		margin: .5rem auto 0;
	}
}

/* footer
====================================================================== */
#dsprogram #footer {
	position: relative;
	padding-top: 9rem;
	color: #fff;
	text-align: center;
}
#dsprogram #footer .en {
	position: relative;
	overflow: hidden;
	margin-bottom: 13rem;
}
#dsprogram #footer .en ul {
	width: calc(102rem * 4 + 15rem * 4);
	display: flex;
	animation: auto_slide 20s linear infinite;
}
#dsprogram #footer .en li {
	width: 102rem;
	margin-right: 15rem;
}
@keyframes auto_slide {
	0% {transform: translateX(0%)}
	100% {transform: translateX(-50%)}
}
#dsprogram #footer dl {
	border: .3rem solid;
	font-weight: 700;
	font-size: 3rem;
	line-height: 1.5;
}
#dsprogram #footer dl dt {
	padding: 1.5rem 0;
	border-bottom: .3rem solid;
}
#dsprogram #footer dl dd {
	padding: 3rem 0;
}
#dsprogram #footer dl dd .address {
	display: block;
	margin-bottom: 1rem;
	font-size: 2rem;
}
#dsprogram #footer dl dd a {
	display: block;
	color: #fff;
	text-decoration: none;
}
#dsprogram #footer dl dd a span {
	margin-left: 0.5em;
}
#dsprogram #footer dl dd .tel {
	font-size: 3.4rem;
}
#dsprogram #footer dl dd .email {
	font-size: 2.4rem;
	letter-spacing: 0.1em;
}
#dsprogram #footer .logo {
	max-width: 30rem;
	margin: 15rem auto 5rem;
}
#dsprogram #footer small {
	font-size: 1.8rem;
}
@media screen and (min-width: 744px), print {
	#dsprogram #footer {
		height: 96rem;
	}
	#dsprogram #footer dl {
		max-width: 78rem;
		margin: 0 auto;
	}
	#dsprogram #footer dl dd .tel {
		pointer-events: none;
	}
}
@media screen and (max-width: 743px) {
	#dsprogram #footer {
		padding-top: 4rem;
		padding-bottom: 2rem;
	}
	#dsprogram #footer .en {
		margin-bottom: 5rem;
	}
	#dsprogram #footer .en ul {
		width: calc(50rem * 4 + 5rem * 4);
		display: flex;
		animation: auto_slide 20s linear infinite;
	}
	#dsprogram #footer .en li {
		width: 50rem;
		margin-right: 5rem;
	}
	#dsprogram #footer dl {
		border-width: .2rem;
		font-size: 1.7rem;
	}
	#dsprogram #footer dl dt {
		padding: 1rem 0;
		border-bottom-width: .2rem;
	}
	#dsprogram #footer dl dd {
		padding: 2rem 0;
	}
	#dsprogram #footer dl dd .address {
		margin-top: 0.5rem;
		margin-bottom: 1rem;
		font-size: 1.3rem;
	}
	#dsprogram #footer dl dd .tel {
		font-size: 2.4rem;
	}
	#dsprogram #footer dl dd .email {
		font-size: 1.4rem;
		letter-spacing: 0.05em;
	}
	#dsprogram #footer .logo {
		max-width: 20rem;
		margin: 5rem auto 3rem;
	}
	#dsprogram #footer small {
		font-size: 1.2rem;
	}
}
#dsprogram main {
	position: relative;
	padding-bottom: 10rem;
	overflow: hidden;
}
@media screen and (max-width: 743px) {
	#dsprogram main {
		padding-bottom: 5rem;
	}
}

/* data-box
====================================================================== */
#dsprogram .data-box {
	position: relative;
	z-index: 2;
}
#dsprogram .data-box::before {
	content: "";
	position: absolute;
	top: -.2rem;
	right: -.2rem;
	left: -.2rem;
	bottom: -.2rem;
	background-color: #fff;
	filter: blur(0.6rem);
	opacity: 0.8;
	z-index: -1;
}
#dsprogram .data-box .-point::before,
#dsprogram .data-box .-point::after {
	content: "";
	position: absolute;
	width: 1.4rem;
	height: 1.4rem;
	background-color: #fff;
}
#dsprogram .data-box .-point.-t::before {
	right: calc(100% - 1.4rem / 2);
	bottom: calc(100% - 1.4rem / 2);
}
#dsprogram .data-box .-point.-t::after {
	left: calc(100% - 1.4rem / 2);
	bottom: calc(100% - 1.4rem / 2);
}
#dsprogram .data-box .-point.-b::before {
	right: calc(100% - 1.4rem / 2);
	top: calc(100% - 1.4rem / 2);
}
#dsprogram .data-box .-point.-b::after {
	left: calc(100% - 1.4rem / 2);
	top: calc(100% - 1.4rem / 2);
}
@media screen and (max-width: 743px) {
	#dsprogram .data-box::before {
		filter: blur(0.4rem);
	}
	#dsprogram .data-box .-point::before,
	#dsprogram .data-box .-point::after {
		width: 1rem;
		height: 1rem;
	}
	#dsprogram .data-box .-point.-t::before {
		right: calc(100% - 1rem / 2);
		bottom: calc(100% - 1rem / 2);
	}
	#dsprogram .data-box .-point.-t::after {
		left: calc(100% - 1rem / 2);
		bottom: calc(100% - 1rem / 2);
	}
	#dsprogram .data-box .-point.-b::before {
		right: calc(100% - 1rem / 2);
		top: calc(100% - 1rem / 2);
	}
	#dsprogram .data-box .-point.-b::after {
		left: calc(100% - 1rem / 2);
		top: calc(100% - 1rem / 2);
	}
}

/* blinking-twice
====================================================================== */
.blinking-twice.showed,
.showed .blinking-twice {
	animation: blink-twice 2s 1s infinite;
}
@keyframes blink-twice {
	0%, 12% {
		opacity: 1;
	}
	1%, 11% {
		opacity: 0;
	}
	20%, 32% {
		opacity: 1;
	}
	21%, 31% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/* main-head
====================================================================== */
#dsprogram {
	background: url(/dsprogram/img/page-bg.jpg) no-repeat 50% 0;
	background-size: 240rem;
}
#dsprogram .main-head {
	position: relative;
	padding-top: 27rem;
	z-index: 2;
}
#dsprogram .main-head .lead {
	position: relative;
	left: 2rem;
	max-width: 71.4rem;
	margin: 0 auto 12rem;
	text-align: center;
}
#dsprogram .main-head .lead span {
	display: block;
}
#dsprogram .main-head-en {
	position: absolute;
	width: 10.2rem;
	top: 24rem;
}
#dsprogram .main-head-en svg {
	width: 100%;
	height: auto;
}
#dsprogram .main-head .data-box {
	display: flex;
	justify-content: center;
	padding: 2rem 0 3rem;
	font-size: 4.2rem;
	line-height: 6rem;
	font-weight: 800;
}
@media screen and (min-width: 744px), print {
	#dsprogram .main-head-en {
		right: calc(50% + var(--base-width) / 2 - 10.2rem + 2rem);
	}
	#dsprogram .main-head {
		height: 120rem;
	}
	#dsprogram .main-head .data-box {
		width: 65rem;
		margin-inline: auto;
	}
}
@media screen and (max-width: 743px) {
	#dsprogram {
		background-size: 120rem;
	}
	#dsprogram .main-head {
		margin-bottom: 6rem;
		padding-top: 13rem;
		padding-inline: calc(var(--sp-base-padding) * 1.5);
	}
	#dsprogram .main-head .lead {
		left: 0;
		margin: 0 auto 3rem;
	}
	#dsprogram .main-head-en {
		left: -1rem;
		top: 10rem;
		width: 4rem;
	}
	#dsprogram .main-head .data-box {
		padding: 2rem 0;
		font-size: 2rem;
		line-height: 3rem;
	}
}

/* main-title
====================================================================== */
#dsprogram .main-title {
	position: relative;
	z-index: 3;
}
#dsprogram .main-title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 300rem;
	background: linear-gradient(180deg, rgba(0,105,165,0) 0%, rgba(0,105,165,1) 20%, rgba(2,62,117,1) 100%);
	z-index: -1;
}
#dsprogram .main-title h1 {
	max-width: 90rem;
	margin: 0 auto 4rem;
}
#dsprogram .main-title .main-lead {
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 2.7rem;
	line-height: 5.6rem;
	letter-spacing: 0.2em;
}
#dsprogram .main-title .main-min {
	margin: 18rem auto 0;
	color: #fff;
	font-size: 8.2rem;
	line-height: 1.3;
	text-align: center;
}
@media screen and (min-width: 744px), print {
}
@media screen and (max-width: 743px) {
	#dsprogram .main-title::before {
		height: 100rem;
	}
	#dsprogram .main-title h1 {
		margin: 0 calc(var(--sp-base-padding) / 2) 2rem;
	}
	#dsprogram .main-title .main-lead {
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: 0.1em;
	}
	#dsprogram .main-title .main-min {
		margin: 8rem var(--sp-base-padding) 0;
		font-size: 3rem;
	}
}


/* main-contents
====================================================================== */
#dsprogram .main-contents {
	position: relative;
	margin-top: 10rem;
	font-size: 2.6rem;
	line-height: calc(37 / 26);
	letter-spacing: 0.05em;
	font-weight: 700;
	z-index: 10;
}
@media screen and (max-width: 743px) {
	#dsprogram .main-contents {
		margin-top: 5rem;
		font-size: 1.4rem;
	}
}
#dsprogram .main-contents .data-box {
	margin-bottom: 10rem;
	padding: 5rem 6rem 8rem;
}
@media screen and (max-width: 743px) {
	#dsprogram .main-contents .data-box {
		margin-bottom: 5rem;
		padding: 3rem 2rem 4rem;
	}
}

#dsprogram .main-contents .grad_title {
	text-align: center;
	font-size: 4.2rem;
	line-height: 1.5;
	font-weight: 800;
	letter-spacing: 0.05em;
}
#dsprogram .main-contents .grad_title span {
	display: inline-block;
	background: linear-gradient(90deg, rgba(217,65,121,1) 0%, rgba(41,142,205,1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
@media screen and (max-width: 743px) {
	#dsprogram .main-contents .grad_title {
		font-size: 2.2rem;
		line-height: 1.4;
	}
}
#dsprogram .main-contents .grad_lead {
	margin-top: 2rem;
	padding: 1rem;
	background: linear-gradient(90deg, rgba(217,65,121,1) 0%, rgba(41,142,205,1) 100%);
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 3.2rem;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 743px) {
	#dsprogram .main-contents .grad_lead {
		margin-top: 1.5rem;
		padding: .5rem;
		font-size: 1.6rem;
		line-height: 1.5;
		letter-spacing: 0.05em;
	}
}
#dsprogram .main-contents .-contents1 {
	font-size: 2.2rem;
	line-height: calc(38 / 22);
}
#dsprogram .main-contents .-contents1 .about {
	margin-top: 5rem;
	font-weight: 400;
}
#dsprogram .main-contents .-contents1 .about h3 {
	margin-bottom: 1.5rem;
	font-size: 2.8rem;
}
#dsprogram .main-contents .-contents1 .graph {
	position: relative;
	height: 53.4rem;
	margin-top: 4.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
#dsprogram .main-contents .-contents1 .graph::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 37rem;
	height: 37rem;
	border-radius: 100%;
	border: .8rem solid #fff000;
	transform: translate(-50%, -50%);
	pointer-events: none;
}
#dsprogram .main-contents .-contents1 .graph dt {
	width: 20rem;
}
#dsprogram .main-contents .-contents1 .graph li {
	position: absolute;
	width: 16.4rem;
}
#dsprogram .main-contents .-contents1 .graph .p1,
#dsprogram .main-contents .-contents1 .graph .p4 {
	left: calc(50% - 16.4rem / 2);
}
#dsprogram .main-contents .-contents1 .graph .p2,
#dsprogram .main-contents .-contents1 .graph .p3 {
	left: calc(50% + 8rem);
}
#dsprogram .main-contents .-contents1 .graph .p5,
#dsprogram .main-contents .-contents1 .graph .p6 {
	right: calc(50% + 8rem);
}
#dsprogram .main-contents .-contents1 .graph .p1 {
	top: 0;
}
#dsprogram .main-contents .-contents1 .graph .p2 {
	top: 9.2rem;
}
#dsprogram .main-contents .-contents1 .graph .p3 {
	bottom: 9.2rem;
}
#dsprogram .main-contents .-contents1 .graph .p4 {
	bottom: 0;
}
#dsprogram .main-contents .-contents1 .graph .p5 {
	bottom: 9.2rem;
}
#dsprogram .main-contents .-contents1 .graph .p6 {
	top: 7.6rem;
	width: 18rem;
}
#dsprogram .main-contents .-contents1 .graph .p6 .new {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
@media screen and (max-width: 743px) {
	#dsprogram .main-contents .-contents1 {
		font-size: 1.4rem;
	}
	#dsprogram .main-contents .-contents1 .about {
		margin-top: 2rem;
	}
	#dsprogram .main-contents .-contents1 .about h3 {
		margin-bottom: 1rem;
		line-height: 1.5;
		font-size: 1.8rem;
	}
	#dsprogram .main-contents .-contents1 .graph {
		position: relative;
		margin-top: 2rem;
		margin-bottom: calc(53.4rem * -.4);
		transform-origin: 50% 0;
		transform: scale(.6);
	}
}

#dsprogram .main-contents .-contents2 .grad_title,
#dsprogram .main-contents .-contents3 .grad_title,
#dsprogram .main-contents .-contents4 .grad_title,
#dsprogram .main-contents .-contents5 .grad_title {
	margin-bottom: 4rem;
}
@media screen and (max-width: 743px) {
	#dsprogram .main-contents .-contents2 .grad_title,
	#dsprogram .main-contents .-contents3 .grad_title,
	#dsprogram .main-contents .-contents4 .grad_title,
	#dsprogram .main-contents .-contents5 .grad_title {
		margin-bottom: 2rem;
	}
}

#dsprogram .main-contents .-contents2 {
	font-size: 3.2rem;
	line-height: 1.5;
}
#dsprogram .main-contents .-contents2 .reg {
	font-weight: 400;
}
#dsprogram .main-contents .-contents2 .result {
	text-align: center;
}
#dsprogram .main-contents .-contents2 .arrow {
	position: relative;
	max-width: 76rem;
	margin: 6rem auto 8rem;
	padding: 3.5rem 0;
	background: linear-gradient(90deg, rgba(99,197,241,0) 0%, rgba(99,197,241,0.89) 16%, rgba(236,129,176,1) 84%, rgba(236,129,176,0) 100%);
	text-align: center;
	font-size: 4.4rem;
	line-height: calc(56 / 44);
	font-weight: 800;
}
#dsprogram .main-contents .-contents2 .arrow::before {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	top: -4rem;
	width: 10rem;
	height: 34.3rem;
	margin-inline: auto;
	background: url(/dsprogram/img/arrow.svg) no-repeat 50%;
	background-size: 100%;
	z-index: -1;
}
@media screen and (max-width: 743px) {
	#dsprogram .main-contents .-contents2 {
		font-size: 1.7rem;
	}
	#dsprogram .main-contents .-contents2 .arrow {
		margin: 3rem auto 5rem;
		padding: 2rem 0;
		font-size: 2rem;
	}
	#dsprogram .main-contents .-contents2 .arrow::before {
		top: -2rem;
		bottom: -4rem;
		height: auto;
		margin-inline: auto;
		background-size: auto 100%;
	}
}

#dsprogram .main-contents .-contents3 dt {
	margin-bottom: 1rem;
	font-size: 2.8rem;
	color: #005292;
}
#dsprogram .main-contents .-contents3 dt ~ dt {
	margin-top: 4rem;
}
#dsprogram .main-contents .-contents3 dd {
	font-size: 3.2rem;
	line-height: calc(37 / 32);
}
#dsprogram .main-contents .-contents3 li {
	position: relative;
	padding-left: 5rem;
}
#dsprogram .main-contents .-contents3 li::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(.5lh - 2rem);
	width: 4.2rem;
	height: 4rem;
	background: linear-gradient(90deg, rgba(99,197,241,0) 0%, rgba(99,197,241,0.89) 16%, rgba(236,129,176,1) 84%, rgba(236,129,176,0) 100%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
#dsprogram .main-contents .-contents3 li + li {
	margin-top: 2rem;
}
@media screen and (min-width: 744px), print {
	#dsprogram .main-contents .-contents3 dl {
		width: fit-content;
		margin-inline: auto;
	}
}
@media screen and (max-width: 743px) {
	#dsprogram .main-contents .-contents3 dt {
		font-size: 1.5rem;
	}
	#dsprogram .main-contents .-contents3 dt ~ dt {
		margin-top: 3rem;
	}
	#dsprogram .main-contents .-contents3 dd {
		font-size: 1.6rem;
	}
	#dsprogram .main-contents .-contents3 li {
		padding-left: 2.5rem;
	}
	#dsprogram .main-contents .-contents3 li::before {
		transform-origin: 0;
		transform: scale(.4);
	}
	#dsprogram .main-contents .-contents3 li + li {
		margin-top: 1.5rem;
	}
}

#dsprogram .main-contents .-contents4 li:not(.sub li) {
	position: relative;
	padding-left: 1.3em;
}
#dsprogram .main-contents .-contents4 li:not(.sub li)::before {
	content: "?";
	position: absolute;
	left: 0;
	top: 0;
}
#dsprogram .main-contents .-contents4 li:not(.sub li) + li {
	margin-top: 1em;
}
#dsprogram .main-contents .-contents4 .c-blue {
	color: #0068b7;
}
#dsprogram .main-contents .-contents4 .s {
	font-size: 1.8rem;
	font-weight: 400;
}
#dsprogram .main-contents .-contents4 .sub {
	overflow: hidden;
	font-size: 1.8rem;
	font-weight: 400;
	margin-top: 1rem;
	line-height: 1.8;
}
#dsprogram .main-contents .-contents4 .sub ul {
	margin-left: -1em;
	display: flex;
	flex-wrap: wrap;
}
#dsprogram .main-contents .-contents4 .sub li::before {
	content: "£¯";
}
@media screen and (max-width: 743px) {
	#dsprogram .main-contents .-contents4 .s {
		display: block;
		font-size: 1.1rem;
	}
	#dsprogram .main-contents .-contents4 .sub {
		font-size: 1.1rem;
		margin-top: 1rem;
	}
}
#dsprogram .main-contents .-contents6 {
	text-align: center;
	color: #fff;
}
#dsprogram .main-contents .-contents6 .grad_title {
	margin-bottom: 1rem;
}
#dsprogram .main-contents .-contents6 a {
	position: relative;
	overflow: hidden;
	display: block;
	width: 9rem;
	margin: 2rem auto 0;
	border-radius: 100%;
	z-index: 2;
}
#dsprogram .main-contents .-contents6 a::before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 300%;
	height: 300%;
	background: linear-gradient(135deg, #81ecba 0%, #ecd181 35%, #ec81b0 75%, #63c5f1 95%);
	z-index: -1;
}
@media (hover) {
	#dsprogram .main-contents .-contents6 a::before {
		transition: transform var(--transition);
	}
	#dsprogram .main-contents .-contents6 a:hover::before {
		transform: translate(18rem,18rem);
	}
}
@media screen and (max-width: 743px) {
	#dsprogram .main-contents .-contents6 a {
		width: 7rem;
	}
}

@media screen {
	#dsprogram .mov_show.fadeup {
		opacity: 0;
		transform: translateY(4rem);
	}
	#dsprogram .mov_show.fadeup.exit-to-top {
		transform: translateY(-4rem);
	}
	#dsprogram.scrolled .mov_show.fadeup.showed {
		transition: transform 0.5s cubic-bezier(0.5, 1, 0.89, 1), opacity 0.5s linear;
		opacity: 1;
		transform: translateY(0);
	}

	#dsprogram .mov_show.fadezoom {
		opacity: 0;
		transform: scale(.3);
	}
	#dsprogram.scrolled .mov_show.fadezoom.showed {
		transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.5s linear;
		opacity: 1;
		transform: scale(1);
	}

	#dsprogram .main-contents .-contents1 .graph::before {
		opacity: 0;
		z-index: -1;
	}
	#dsprogram.scrolled .main-contents .-contents1 .graph.showed::before {
		transition: opacity 0.4s 2s linear;
		opacity: 1;
	}
	#dsprogram .main-contents .-contents1 .graph li {
		opacity: 0;
	}
	#dsprogram .main-contents .-contents1 .graph .p6 {
		transform: scale(.4);
	}
	#dsprogram.scrolled .main-contents .-contents1 .graph.showed li {
		transition: opacity 1s ease-out;
		opacity: 1;
	}
	#dsprogram .main-contents .-contents1 .graph {
		--transition-delay: .2s;
	}
	#dsprogram.scrolled .main-contents .-contents1 .graph.showed .p1 {
		transition-delay: calc(var(--transition-delay) * 1);
	}
	#dsprogram.scrolled .main-contents .-contents1 .graph.showed .p2 {
		transition-delay: calc(var(--transition-delay) * 2);
	}
	#dsprogram.scrolled .main-contents .-contents1 .graph.showed .p3 {
		transition-delay: calc(var(--transition-delay) * 3);
	}
	#dsprogram.scrolled .main-contents .-contents1 .graph.showed .p4 {
		transition-delay: calc(var(--transition-delay) * 4);
	}
	#dsprogram.scrolled .main-contents .-contents1 .graph.showed .p5 {
		transition-delay: calc(var(--transition-delay) * 5);
	}
	#dsprogram.scrolled .main-contents .-contents1 .graph.showed .p6 {
		transition: opacity 0.6s linear, transform .6s cubic-bezier(0.34, 1.56, 0.64, 1);
		transition-delay: calc(var(--transition-delay) * 7);
		transform: scale(1);
	}

	#dsprogram .main-head .lead span {
		opacity: 0;
		transform: translateY(1rem);
	}
	#dsprogram .main-head .lead.exit-to-top span {
		transform: translateY(-1rem);
	}
	#dsprogram.show-ok .main-head .lead.showed span {
		transition: transform 0.7s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.7s linear;
		opacity: 1;
		transform: translateY(0);
	}
	#dsprogram.show-ok .main-head .lead.showed span + span {
		transition-delay: 0.6s;
	}

	#dsprogram .main-head .lead_after_mov_show {
		opacity: 0;
		transform: translateY(1rem);
	}
	#dsprogram .main-head .lead_after_mov_show.exit-to-top {
		transform: translateY(-1rem);
	}
	#dsprogram.lead_after-ok .main-head .lead_after_mov_show.showed {
		transition: transform 0.5s cubic-bezier(0.5, 1, 0.89, 1), opacity 0.5s linear;
		opacity: 1;
		transform: translateY(0);
	}


	#dsprogram .main-head-en path {
		opacity: 0;
	}
	#dsprogram .main-head-en.showed svg path {
		transition: opacity .3s linear;
		opacity: 1;
	}

}