@charset "utf-8";

/*-----------------------------
 common
-------------------------------*/
:root{
	--basic : #0b57a0; /*基本色 var(--basic)*/
	--gray1 : #666666; /*濃グレーバック var(--gray1)*/
	--gray2 : #F7F7F7; /*薄グレーバック var(--gray2)*/
	--border: #D3D3D3; /*ボーダー var(--border)*/
	--ct01  : #cc26d5;
	--ct02  : #9126ff;
	--ct03  : #26d33f;
	--ct04  : #008fff;
	--ct05  : #ff5aa0;
	--ct06  : #26dfb5;
	--ct07  : #ff693d;
	--ct08  : #28b9eb;
	--ct09  : #373ee9;
	--ct10  : #4ce0ff;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 60px;
}
html[lang="ja"] {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", Meiryo, sans-serif;
	letter-spacing: 0.05em;
}
@media (768px <= width) {
	html {
		font-size: 16px;
		scroll-padding-top: 76px;
	}
}
@media only screen and (min-width: 768px) and (max-width:1281px) {
	/*html {
		transition: transform 0.3s;
		transform: scale(0.75);
		transform-origin: left top;
		height: calc(100% / 0.75);
		width: calc(100% / 0.75);
	}*/	
}

body {
	font-feature-settings: "palt";
	color: #000000;
	font-weight: 400;
	text-align: left;
	margin: 60px auto 0;
	background: url("../images/bg_head_sp.svg") top center no-repeat, url("../images/bg_sp.svg") top 201% center repeat-y;
	background-size: contain, contain;
}
body.menu_open {
	height: 100%;
	overflow: hidden;
}
@media (768px <= width) {
	body {
		margin: 76px auto 0;
		background: url("../images/bg.svg") top center no-repeat;
		background-size: 100% auto;
	}
}

:focus {
	outline: none;
}
:focus-visible {
	outline: 1px #0017C7 solid;
}
div.pdfemb-viewer {
	z-index: 1;
}

#root {
	/*overflow: hidden;*/
}

.wrap {
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
.wrap .mincho {
	font-family: 'Yu Mincho','YuMincho', serif;
}
.wrap * {
	box-sizing: border-box;
}
.contentWrap {
	max-width: 1290px;
	margin: 0 auto;
}
.contentWrap img {
	max-width: 100%;
	height: auto;
}
.contentWrap a,
.contentWrap a::before,
.contentWrap a::after,
.contentWrap a img {
	text-decoration: underline;
	color: #0017C7;
	-webkit-transition: all 0.3s ease-out;
		 -moz-transition: all 0.3s ease-out;
			-ms-transition: all 0.3s ease-out;
			 -o-transition: all 0.3s ease-out;
					transition: all 0.3s ease-out;
}
.contentWrap a:hover {
	text-decoration: none;
}
.contentWrap a:hover img {
	opacity: 0.8;
}
/*.contentWrap a[target="_blank"]:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 1.1em;
	height: 1.1em;
	margin-left: 8px;
	background: url("../images/icon_blank.svg") center center no-repeat;
	background-size: contain;
}
.contentWrap a[target="_blank"]:has(img):after {
  content: "";
	display: none;
}
.contentWrap a.btn[target="_blank"]:after,
.contentWrap .cta a.btn[target="_blank"]:after {
	content: "";
	display: none;
}
.contentWrap a[href$=".xlsx"]:after,
.contentWrap a[href$=".xlsm"]:after,
.contentWrap a[href$=".xls"]:after,
.contentWrap a[href$=".doc"]:after,
.contentWrap a[href$=".docx"]:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 1.2em;
	height: 1.2em;
	margin-left: 8px;
	background: url("../images/icon_download.svg") center center no-repeat;
	background-size: contain;
}
.contentWrap a[href$=".pdf"]:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 0.9em;
	height: 1.2em;
	margin-left: 8px;
	background: url("../images/icon_paper.svg") center center no-repeat;
	background-size: contain;
}
*/

.contentWrap p {
	line-height: 2;
}
.contentWrap p + p {
	margin-top: 1em;
}
.contentWrap em {
	font-style: normal;
	letter-spacing: 0.03em;
}
.contentWrap sup {
	font-size: 60%;
	vertical-align: text-top;
}
.contentWrap p small {
	font-size: 70%;
}
.contentWrap .center {
	text-align: center !important;
}
.contentWrap .left {
	text-align: left !important;
}
.contentWrap .right {
	text-align: right !important;
}
.contentWrap .note {
	font-size: 80%;
	text-align: left;
	margin-top: 2em;
}
.contentWrap .note li {
	margin-left: 1em;
	text-indent: -1em;
	line-height: 2.5;
}

.clip {
	clip-path: polygon(30% 0, 100% 0, 100% 70%, 70% 100%, 0 100%, 0 30%);
}

.flex {
	display: flex;
}
.flex.item2 {
	flex-wrap: wrap;
	gap: 20px;
	& > li {
    width: calc((100% - 20px * 1) / 2);
	}
}
.flex.item3 {
	flex-wrap: wrap;
	gap: 19px;
	& > li {
    width: calc((100% - 19px * 2) / 3);
	}
}
.flex.item4 {
	flex-wrap: wrap;
	gap: 12px;
	& > li {
    width: calc((100% - 12px * 3) / 4);
	}
}
@media (width < 768px) {
	.flex.item2.sp1 li,
	.flex.item3.sp1 li,
	.flex.item4.sp1 li {
		width: 100%
	}
	.flex.item3.sp2 li,
	.flex.item4.sp2 li {
		width: calc((100% - 19px * 1) / 2);
	}
}
.flex.btn {
	justify-content: center;
}
.flex.btn li {
	margin: 0 2%;
}
.imgArea > div {
	display: table-cell;
	vertical-align: middle;
	margin: 0;
}

.required {
	color: #EB0000;
	font-weight: 400;
}

.accordion dt {
	-webkit-transition: all 0.3s ease-out;
		 -moz-transition: all 0.3s ease-out;
			-ms-transition: all 0.3s ease-out;
			 -o-transition: all 0.3s ease-out;
					transition: all 0.3s ease-out;
}
.accordion dt:hover {
	opacity: 0.9;
	cursor: pointer;
}

.pagetop {
  display: none;
  position: fixed;
  bottom: 50px;
  right: 40px;
  z-index: 5;
}
.pagetop a {
  position: relative;
  display: block;
	border: rgba(255,255,255,0.5) 1px solid;
	border-radius: 30px;
  width: 50px;
  height: 50px;
	background-color: var(--basic);
	padding-top: 26px;
	text-align: center;
	text-decoration: none;
}
.pagetop a span {
	display: none;
}
.pagetop a::after, .pagetop a::before {
  content: "";
  position: absolute;
  top: 40%;
  left: 50%;
  width: 2px;
  height: 14px;
  background-color: #fff;
  -webkit-transform-origin: 0 top;
  transform-origin: 0 top;
	-webkit-transition: all 0.3s ease-out;
		 -moz-transition: all 0.3s ease-out;
			-ms-transition: all 0.3s ease-out;
			 -o-transition: all 0.3s ease-out;
					transition: all 0.3s ease-out;
}
.pagetop a::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.pagetop a::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.pagetop a:hover {
  opacity: 0.8;
}
.pagetop a:hover::after, .pagetop a:hover::before {
  top: 35%;
}

@media (width < 768px) {
	html {
		font-size: calc(100vw / 375 * 15); /* 15px相当 */
	}
	.pc {
		display:none !important;
	}
	.pagetop {
		bottom: 35px;
		right: 20px;
  }
  .pagetop a {
		width: 40px;
		height: 40px;
		padding: 0;
  }
	.pagetop a span {
		display: none;
	}
  .pagetop a::after, .pagetop a::before {
		top: 14px;
		width: 1px;
		height: 14px;
  }
	.contentWrap p {
		letter-spacing: 0;
	}
	.contentWrap em {
		letter-spacing: 0.03em;
	}
}
@media (width < 1330px) {
	.pc.wide {
		display:none !important;
	}
}
@media (768px <= width) {
	.sp {
		display:none !important;
	}
}



/*-----------------------------
Header
-------------------------------*/
#header {
  width: 100%;
	position: relative;
	z-index: 6;
}
#header #fixed {
  position: fixed;
  top: 0;
  left: 0; right: 0;
  width: 100%;
	max-width: 100%;
  z-index: 100;
}
#header #fixed .flex {
	align-items: center;
	justify-content: space-between;
	padding: 20px 2%;
}
#header #fixed .flex::after {
	content: "";
	display: block;
	background: rgba(255,255,255,0.7);
	width: 100vw;
	height: 80px;
	position: fixed;
	top: 0;
	left: 0; right: 0;
	z-index: -1;
}
#header #fixed #logo {
	width: 162px;
	height: 40px;
	padding:0;
	margin: 0;
	line-height: 1;
	& a {
		display: block;
	}
}
#header #fixed #subitem {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	& a:not(:first-child) {
		margin-left: 14px;
	}
}
#header #menu {
  position: relative;
  display: block;
	margin-left: auto;
}
#header #menu .navgroup .flex {
	justify-content: space-between;
	align-items: right;
	width: 90%;
	margin: 0 auto 8%;
}
.menu_open #header #menu .navgroup {
	overflow-y: auto;
}

@media (768px <= width) {
	#header #menu #menuwrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
	}
	#header #menu #menuwrap li {
		text-align: center;
		position: relative;
		padding-left: 0.6em;
	}
	#header #menu #menuwrap li a {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		padding: 0.4em 0.5em;
		overflow: hidden;
		color: #000000;
		font-size: 0.875rem;
		white-space: nowrap;
		line-height: 1;
		text-align: center;
		text-decoration: none;
		background: transparent;
	}
	#header #menu #menuwrap li a::after {
		position: absolute;
		bottom: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 2px;
		content: "";
		transform: scaleX(0);
		transform-origin: right top;
		background-color: #000000;
	}
	#header #menu #menuwrap li.cta a::after {
		background-color: transparent !important;
	}
	@media (any-hover: hover) {
		#header #menu #menuwrap li a:hover {
			color: #7F7F7F;
		}
		#header #menu #menuwrap li a::after {
			transition: transform 0.2s cubic-bezier(0.19, 1, 0.22, 1);
		}

		#header #menu #menuwrap li a:hover::after {
			transition: transform 0.4s cubic-bezier(0.9, 0, 0, 1);
			transform: scaleX(1);
			transform-origin: left top;
		}
	}
}
@media (width < 768px) {}


#header #menu_sp {
	position:relative;
	display: block;
	width: 40px;
	height: 40px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	z-index: 120;
}
#header #menu_sp span {
	position: absolute;
	display: block;
	left: calc(50% - 20px);
	width: 40px;
	height: 3px;
	border-radius: 3px;
	background-color: var(--basic);
	-webkit-transition: top 0.2s 0.5s,bottom 0.2s 0.5s,-webkit-transform 0.5s;
	transition: top 0.2s 0.5s,bottom 0.2s 0.5s,-webkit-transform 0.5s;
	transition: transform 0.5s,top 0.2s 0.5s,bottom 0.2s 0.5s;
	transition: transform 0.5s,top 0.2s 0.5s,bottom 0.2s 0.5s,-webkit-transform 0.5s;
}
#header #menu_sp span:first-of-type {
	top: 8px;
}
#header #menu_sp span:nth-child(2) {
	top: 19px;
}
#header #menu_sp span:last-of-type {
	bottom: 8px;
}

@media (width < 768px) {
	#header #fixed {
		height: 60px;
	}
	#header #fixed #logo {
		width: 25%;
		height: auto;
	}
	#header #fixed #logo img {
		width: 100%;
		height: auto;
		margin-bottom: 8%;
	}
	#header #fixed .flex {
		padding: 5px 5%;
		background: rgba(255,255,255,0.7);
		overflow-y: scroll;
	}
	#header #fixed .flex::after {
		content: "";
		display: none;
	}
	#header #fixed #subitem {
		& .selectdiv {
			margin-left: 0;
			margin-right: 14px;
			max-width: 105px;
		}
		& .selectdiv:after {
			top: 35%;
		}
		& .selectdiv select {
			height: 3em;
			padding: 0px 12px;
			font-size: 14px;
		}
	}
	#header #menuwrap {
		padding: 0 10%;
		margin-bottom: 13%;
	}
	#header #menu {
		overflow: hidden;
	}
	#header #menu .navgroup {
		width: 100%;
		overflow: hidden;
		display: block;
		position: absolute;
		top: 60px;
		left: 2px;
		padding: 0 0 5%;
		height: 0;
		-webkit-transition: height 0.5s;
		transition: height 0.5s;
		z-index: 91;
	}
	#header #menu .navgroup ul li {
		text-align: center;
		padding-top: 1em;
		opacity: 0;
		-webkit-transition: opacity 0.3s;
		transition: opacity 0.3s;
		position: relative;
	}
	#header #menu #menuwrap li a {
		display: block;
		position: relative;
		height: 100%;
		padding: 0 0.5em;
		overflow: hidden;
		text-align: center;
		color: #000000;
		font-size: 1rem;
		font-weight: 700;
		line-height: 2;
		text-decoration: none;
	}
	#header #menu .navgroup ul li.cta {
		padding-top: 2em;
		& a {
			width: 80%;
		}
	}
}
.menu_open #header {
	border-bottom: none;
}
.menu_open #header #menu .navgroup {
	position: fixed;
	background: rgba(255,255,255,0.9);
}
.menu_open #header #menu .navgroup ul li {
	opacity: 1;
}
.menu_open #header #menu .navgroup ul li:nth-of-type(1) {
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
}
.menu_open #header #menu .navgroup ul li:nth-of-type(2) {
	-webkit-transition-delay: 0.35s;
	transition-delay: 0.35s;
}
.menu_open #header #menu .navgroup ul li:nth-of-type(3) {
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s;
}
.menu_open #header #menu .navgroup ul li:nth-of-type(4) {
	-webkit-transition-delay: 0.45s;
	transition-delay: 0.45s;
}
.menu_open #header #menu .navgroup ul li:nth-of-type(5) {
	-webkit-transition-delay: 0.5s;
	transition-delay: 0.5s;
}
.menu_open #header #menu .navgroup ul li:nth-of-type(6) {
	-webkit-transition-delay: 0.55s;
	transition-delay: 0.55s;
}
.menu_open #header #menu_sp span {
	-webkit-transition: top 0.2s,bottom 0.2s,-webkit-transform 0.5s 0.2s;
	transition: top 0.2s,bottom 0.2s,-webkit-transform 0.5s 0.2s;
	transition: top 0.2s,bottom 0.2s,transform 0.5s 0.2s;
	transition: top 0.2s,bottom 0.2s,transform 0.5s 0.2s,-webkit-transform 0.5s 0.2s;
}
.menu_open #header #menu_sp span:first-of-type {
	top: 19px;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.menu_open #header #menu_sp span:nth-child(2) {
	opacity: 0;
}
.menu_open #header #menu_sp span:last-of-type {
	bottom: 19px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}




/*-----------------------------
Footer
-------------------------------*/
#footer {
	padding: 0 5%;
	background-color: var(--basic);
}
#footer .contentWrap {
	position: relative;
	max-width: 1400px;
	padding: 10px 0 40px;
}
#footer ul {
	display: flex;
	justify-content: space-between;
	padding: 3em 0 2em;
}
#footer h1 {
	font-size: 2.8125rem;
	color: #ffffff;
	line-height: 1;
	margin: 0 auto 0.5em;
}
#footer p {
	color: #ffffff;
}
#footer ul li.logo {
	width: 39%;
	max-width: 300px;
	height: auto;
	padding-top: 5px;
}
#footer .sec_t {
	width: 96%;
	max-width: 720px;
	position: absolute;
	top: 0; left: 0;
	margin: auto;
}
#footer .blank {
	padding-right: 1.7em;
	position: relative;
	display: inline-block;
	color: #ffffff;
	&::after {
		content: "";
		display: block;
		width: 1.2em;
		height: 1.2em;
		background: url("../images/icon_blank.svg") no-repeat;
		background-size: contain;
		position: absolute;
		margin: auto;
		right: 0; top: 0; bottom: 0;
	}
}
#footer #copyright {
	text-align: center;
  font-size: 0.75rem;
	color: #ffffff;
  letter-spacing: 0.04em;
}


@media (width < 768px) {
	#footer ul {
		text-align: center;
		display: block;
		padding: 2em 0 0.5em;
	}
	#footer h1 {
		font-size: 2rem;
	}
	#footer ul li.logo {
		width: 48%;
		margin: 0 auto;
		padding-top: 2.5em;
	}
	#footer .sec_t {
		top: 0; left: 0; right: 0;
	}
	#footer #copyright {
		font-size: 0.75rem;
	}
}



/*-----------------------------
section setting
-------------------------------*/
section {
	padding: 0 5%;
}
h1 {
	margin: 1.875rem auto 0;
	font-size: 2.8125rem;
	letter-spacing: 0.02em;
	font-weight: 700;
	line-height: 1;
	/*word-break: keep-all;
	text-wrap: balance;*/
}
h1 span {
	display: inline-block;
}
h2 {
	font-size: 2.8125rem;
	text-align: center;
	line-height: 1;
	padding-top: 3.75rem;
	margin-bottom: 1.5em;
}
h3 {
	font-size: 1.5rem;
	line-height: 1.5;
	word-break: auto-phrase;
	margin-bottom: 0.5em;
}
h4 {
	font-size: 1.25rem;
	line-height: 2.2;
	word-break: auto-phrase;
}

p.lead {
	text-align: left;
	& strong {
		font-size: 114%;
	}
}

@media (width < 768px) {
	h1 {
		margin: 0 auto 2rem;
	}
	section h1 {
		font-size: 1.5625rem;
	}
	section h2 {
		font-size: 1.375rem;
		padding-top: 1.875rem;
	}
	section h3 {
		font-size: 1.25rem;
	}
	section h4 {
		font-size: 1.125rem;
	}
	p.lead {
		font-size: 1rem;
	}
}

/* -----------------Margin---------------------- */
.mb10 {
	margin-bottom: 10px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.mb100 {
	margin-bottom: 100px !important;
}
@media (width < 768px) {
	.mb10 {
		margin-bottom: 4% !important;
	}
	.mb30 {
		margin-bottom: 10% !important;
	}
	.mb50 {
		margin-bottom: 13% !important;
	}
	.mb60 {
		margin-bottom: 20% !important;
	}
	.mb100 {
		margin-bottom: 26% !important;
	}
}
.mt10 {
	margin-top: 10px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt50 {
	margin-top: 50px !important;
}
.mt60 {
	margin-top: 60px !important;
}
.mt100 {
	margin-top: 100px !important;
}
@media (width < 768px) {
	.mt10 {
		margin-top: 4% !important;
	}
	.mt30 {
		margin-top: 10% !important;
	}
	.mt50 {
		margin-top: 13% !important;
	}
	.mt60 {
		margin-top: 20% !important;
	}
	.mt100 {
		margin-top: 26% !important;
	}
}



/* -----------------Button---------------------- */
a.btn {
	display: inline-block;
	text-align: left;
	color: #000;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 2.2;
	text-decoration: none !important;
	padding: 1em 4.5em 1em 2.5em;
	margin-top: 10px;
	background-image: url("../images/icon-btn.svg");
	background-repeat: no-repeat;
	background-position: center right 2.5em;
	background-color: var(--gray2);
	border-radius: 5px;
}
a.btn:hover {
	cursor: pointer;
	background-position: center right 2em;
	opacity: 0.8;
}

#header a.btn {
	background-color: var(--other) !important;
	line-height: 1;
	padding: 1.25em 1em 1.25em 1em !important;
	white-space: nowrap;
	margin: 0;
}
::-webkit-full-page-media, :future, :root #header a.btn {
	padding: 0.8em 1em!important;
}
#contact a.btn,
#contact a.btn[target="_blank"] {
	background-color: var(--contact) !important;
}
a.btn.no-icon {
	background-image: none !important;
	padding: 1em 2.5em 1em 2.5em !important;
}
.contentWrap a.btn.blank,
.contentWrap a.btn[target="_blank"] {
	padding: 1em 3.5em 1em 2.5em;
	background-image: url("../images/icon_blank.svg");
	background-repeat: no-repeat;
	background-position: center right 1.5em;
	background-color: var(--gray2);
}
.contentWrap a.btn.blank:after,
.contentWrap a.btn[target="_blank"]:after {
	display: none;
}
.contentWrap a.btn[href$=".xlsx"],
.contentWrap a.btn[href$=".xlsm"],
.contentWrap a.btn[href$=".xls"] {
	padding: 0.5em 3.5em 0.5em 2.5em;
	background-image: url("../images/icon_download.svg");
	background-repeat: no-repeat;
	background-position: center right 1.5em;
	background-color: var(--education);
}
.contentWrap a.btn[href$=".xlsx"]:after,
.contentWrap a.btn[href$=".xlsm"]:after,
.contentWrap a.btn[href$=".xls"]:after {
	display: none;
}
.contentWrap a.btn[href$=".pdf"] {
	padding: 0.5em 3.5em 0.5em 2.5em;
	background-image: url("../images/icon_paper.svg");
	background-repeat: no-repeat;
	background-position: center right 1.5em;
	background-color: var(--education);
}
.contentWrap a.btn[href$=".pdf"]:after {
	display: none;
}
a.btn.narrow {
	padding: 0.5em 3em 0.5em 1.5em !important;
	background-position: center right 1em !important;
}
a.btn.blank.narrow,
.contentWrap a.btn.narrow[target="_blank"] {
	padding: 0.5em 3em 0.5em 1.8em !important;
	background-position: center right 1em !important;
}
a.btn.no-icon.narrow {
	background-image: none !important;
	padding: 0.5em 2em 0.5em 2em !important;
}

@media (width < 768px) {
	a.btn {
		font-size: 1rem;
		padding: 1.15em 3.5em 1.15em 1.5em;
		background-position: center right 1em;
	}
	a.btn:hover {
		background-position: center right 1em;
	}
}


/* -----------------Share---------------------- */
.line {
	margin-top: 1.875rem;
	border-bottom: 1px var(--border) solid;
}
.linedot {
	margin-top: 1.875rem;
	border-bottom: 1px var(--border) dashed;
}
.txtbox {
	background-color: var(--gray2);
	padding: 1.25rem;
	margin-top: 1.875rem;
	& .header {
		background-color: var(--gray1);
		padding: 0.5em;
		color: #fff;
		font-weight: 700;
		line-height: 2.2;
	}
}
.table {
	margin-top: 1rem;
	border-collapse: collapse;
	border: 1px var(--border) solid;
	& th, & td {
		padding: 1em;
		border: 1px var(--border) solid;
		line-height: 2.2;
	}
	& thead th {
		background-color: var(--gray1);
		color: #fff;
	}
}
.table.striped {
	& th, & td {
		border-top: none;
		border-bottom: none;
	}
	& tr:nth-child(even) {
		background-color: var(--gray2);
	}
}
@media (width < 768px) {
  .table {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
  }
  .table .fixed {
    position: sticky;
    left: 0;
  }
}

.imgbox {
	max-width: 900px;
	margin: 0.625rem auto 0;
}
.imgbox2 {
	display: flex;
	margin: 0.625rem auto 0;
	flex-wrap: wrap;
	gap: 20px;
	& > li {
    width: calc((100% - 20px * 1) / 2);
	}
}
.imgbox3 {
	display: flex;
	margin: 0.625rem auto 0;
	flex-wrap: wrap;
	gap: 19px;
	& > li {
    width: calc((100% - 19px * 2) / 3);
	}
}
.imgbox4 {
	display: flex;
	margin: 0.625rem auto 0;
	flex-wrap: wrap;
	gap: 12px;
	& > li {
    width: calc((100% - 12px * 3) / 4);
	}
}
.imgbox-txt-left,
.imgbox-txt-right {
	display: flex;
	margin: 0.625rem auto 0;
	flex-wrap: wrap;
	gap: 20px;
	& > li {
    width: calc((100% - 20px * 1) / 2);
	}
}
@media (width < 768px) {
	.imgbox-txt-left li,
	.imgbox-txt-right li {
		width: 100%
	}
}


.float_img {
	overflow: hidden;
}
.img_left {
	float: left;
	margin-right: 1em;
	margin-bottom: 1em;
}
.img_right {
	float: right;
	margin-left: 1em;
	margin-bottom: 1em;
}
@media (width < 768px) {
	.img_left {
		display: block;
		width: 50%;
		height: auto;
		float: none;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 1em;
	}
	.img_right {
		display: block;
		width: 50%;
		height: auto;
		float: none;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 1em;
	}
}
.videowrap {
	max-width: 768px;
	margin: 0.625rem auto 0;
	& .video {
		width: 100%;
		aspect-ratio: 16 / 9;
		& iframe {
			width: 100%;
			height: 100%;
		}
	}
	& .caption {
		margin-top: 0;
		line-height: 2.2;
	}
}

#root .cta {
	text-align: center;
}
#root .cta a,
#header #menu #menuwrap li.cta a {
	display: inline-block;
	margin: auto;
  background-image: linear-gradient(90deg, rgba(255, 255, 65, 1), rgba(0, 200, 220, 1) 30%, rgba(0, 65, 200, 1) 65%, rgba(10, 0, 100, 1));
	border-radius: 2em;
	color: #ffffff;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none !important;
	padding: 0.8em 2.3em;
	width: 80%;
	max-width: 600px;
	position: relative;
}
#root .cta a.faq {
	margin-top: 1.5em;
	background-image: linear-gradient(90deg, rgba(255, 255, 65, 1) 0%, rgba(255, 105, 61, 1) 30%, rgba(204, 38, 213, 1) 65%, rgba(125, 58, 169, 1) 100%);
	padding: 0.6em 3em;
	& em {
		font-size: 140%;
		font-weight: 900;
		font-style: normal;
		padding-right: 0.1em;
		vertical-align: middle;
	}
	& span {
		vertical-align: middle;
	}
}
#header #menu #menuwrap li.cta a {
	width: 100%;
	font-size: 0.875rem;
	line-height: 1.8;
	padding: 0 3em;
}
#root .cta a::after,
#header #menu #menuwrap li.cta a::after {
	content: "";
	height: 12px;
	width: 12px;
	aspect-ratio: cos(30deg);
	clip-path: polygon(0 0,100% 50%,0 100%);
	background: #ffffff;
	position: absolute;
	top: 0; bottom: 0;
	right: 5%;
	margin: auto;
}
#root .cta a:hover {
	-webkit-filter: brightness(120%);
	filter: brightness(120%);
	-webkit-transition: .3s ease all;
	transition: .3s ease all;
}
@media (width < 768px) {
	#root .cta a,
	#header #menu #menuwrap li.cta a {
		font-size: 1rem;
		line-height: 1;
		padding: 1em 3em;
	}
}





/*-----------------------------
mv
-------------------------------*/
section.mv {
	padding: 0 0 4%;
}
.mv .contentWrap {
	max-width: 1000px;
	padding-top: 10%;
	& figure {
		text-align: center;
		& .date {
			width: 80%;
			max-width: 680px;
			margin: 1em auto 0.2em;
		}
		& figcaption {
			font-size: 1rem;
			font-weight: 900;
			margin-bottom: 1em;
		}
	}
}
@media only screen and (min-width: 768px) and (max-width:1281px) {
	.mv .contentWrap {
		width: 66%;
		padding-top: 20px;
		& figcaption {
			font-size: 0.8rem;
		}
	}
}
@media (1281px <= width) {
	.mv .contentWrap {
		padding-top: 30px;
		& figure figcaption {
			font-size: 1.8rem;
		}
	}
}

.mvslide {
	margin: 10% auto 0;
	width: 100%;
	/*max-width: 1600px;*/
}
.mvslide .swiper-wrapper {
  transition-timing-function: linear;
}
@media (768px <= width) {
	.mvslide {
		margin: 50px auto 0;
	}
}


/*-----------------------------
about
-------------------------------*/
#about {
	position: relative;
}
#about::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0; left: 0;
	background-color: rgba(1,1,1,1);
	mix-blend-mode: overlay;
	z-index: -1;
}
#about .contentWrap {
	padding: 3% 0;
}
#about ul {
	padding-bottom: 2em;
}
#about ul li + li {
	margin-top: 1em;
}
#about h2,
#about p {
	color: #ffffff;
}
@media (width < 768px) {
	#about ul li img {
		width: 112%;
		max-width: 112%;
		height: auto;
		margin: 0 -6%;
	}
}
@media (768px <= width) {
	#about ul {
		display: flex;
		justify-content: space-between;
		margin-bottom: 0;
	}
	#about ul li {
		width: 48%;
		position: relative;
	}
	#about ul li img {
		width: 115%;
		max-width: 115%;
		height: auto;
		position: absolute;
		top: 0; left: 0;
	}
}


/*-----------------------------
OVERVIEW
-------------------------------*/
#OVERVIEW .contentWrap {
	padding: 3% 0;
	position: relative;
}
#OVERVIEW .contentWrap::after {
	content: "";
	display: block;
	width: 110%;
	height: 100%;
	position: absolute;
	margin: auto;
	top: 0; right: -3%;
	background-color: rgba(255,255,255,0.7);
	z-index: -1;
}
#OVERVIEW .sec_t {
	position: absolute;
	bottom: 99.5%; right: -3%;
	margin: auto;
	opacity: 0.1;
}
#OVERVIEW .sec_t img {
	height: 25px;
	width: auto;
}

#OVERVIEW ul {
	padding-bottom: 1em;
}
#OVERVIEW ul li {
	background: #ffffff;
	border: var(--border) 1px solid;
	border-radius: 10px;
	padding: 30px 20px 20px;
}
#OVERVIEW ul li em {
	display: block;
	width: 80%;
	max-width: 300px;
	margin: 0 auto 0.5em;
	color: #ffffff;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 900;
	line-height: 1;
	padding: 0.4em;
	border-radius: 2em;
	background-image: linear-gradient(90deg, rgba(255, 76, 255, 1) 0%, rgba(255, 105, 61, 1) 100%);
}
#OVERVIEW ul li + li em {
	background-image: linear-gradient(90deg, rgba(38, 239, 255, 1) 0%, rgba(0, 110, 255, 1) 100%);
}
#OVERVIEW h3 {
	text-align: center;
}
#OVERVIEW p {
	margin-bottom: 1em;
}

@media (width < 768px) {
	#OVERVIEW ul li + li {
		margin-top: 1.5em;
	}
}

@media (768px <= width) {
	#OVERVIEW .contentWrap::after {
		width: 150%;
	}
	#OVERVIEW .sec_t {
		width: 80px;
		position: absolute;
		left: 102.8%; right: auto;
		top: 0; bottom: auto;
		margin: auto;
	}
	#OVERVIEW .sec_t img {
		width: 80px;
		height: auto;
	}
	#OVERVIEW ul {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	#OVERVIEW ul li {
		width: 48%;
	}
}


/*-----------------------------
EXHIBITOR
-------------------------------*/
#EXHIBITOR .contentWrap {
	padding: 3% 0;
	position: relative;
}
#EXHIBITOR .contentWrap::after {
	content: "";
	display: block;
	width: 110%;
	height: 100%;
	position: absolute;
	margin: auto;
	top: 0; left: -3%;
	background-color: rgba(1,1,1,1);
	mix-blend-mode: overlay;
	z-index: -1;
}
#EXHIBITOR .sec_t {
	position: absolute;
	bottom: 99.5%; left: -3%;
	margin: auto;
	opacity: 0.1;
}
#EXHIBITOR .sec_t img {
	height: 25px;
	width: auto;
}

#EXHIBITOR h2,
#EXHIBITOR p {
	color: #ffffff;
}

#EXHIBITOR .filter {
	max-width: 1000px;
	margin: auto auto 2em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 20px;
	& > a {
    width: calc((100% - 20px * 1) / 2);
	}
}
#EXHIBITOR .filter a.all {
	display: block;
	text-align: center;
	color: #000;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	padding: 0.5em;
	background-color: var(--gray2);
	border-radius: 2em;
}
#EXHIBITOR .filter a.all:hover {
	opacity: 0.8;
}
#EXHIBITOR .filter a.active img {
  -webkit-filter: brightness(200%);
	filter: brightness(200%);
}
#EXHIBITOR .boxes {
	max-width: 1200px;
	margin: auto auto 2em;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	& > li {
    width: calc((100% - 10px * 2) / 3);
		background-color: #ffffff;
		padding: 3% 0;
		line-height: 1;
	}
}

.is-animated {
  animation: .6s zoom-in;
}
@keyframes zoom-in {
  0% {
   transform: scale(.1);
  } 
  100% {
    transform: none;
  }
}


@media (768px <= width) {
	#EXHIBITOR .contentWrap::after {
		width: 150%;
	}
	#EXHIBITOR .sec_t {
		width: 80px;
		position: absolute;
		left: auto; right: 102.8%;
		top: 0; bottom: auto;
		margin: auto;
	}
	#EXHIBITOR .sec_t img {
		width: 80px;
		height: auto;
	}
	
	#EXHIBITOR .filter {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		& > a {
			width: calc((100% - 20px * 4) / 5);
		}
	}
	#EXHIBITOR .boxes {
		gap: 20px;
		& > li {
			width: calc((100% - 20px * 4) / 5);
			padding: 1% 0;
		}
	}
}






/*-----------------------------
PROGRAM
-------------------------------*/
#PROGRAM .contentWrap {
	padding: 3% 0;
	position: relative;
}
#PROGRAM .contentWrap::after {
	content: "";
	display: block;
	width: 110%;
	height: 100%;
	position: absolute;
	margin: auto;
	top: 0; right: -3%;
	background-color: rgba(255,255,255,0.7);
	z-index: -1;
}
#PROGRAM .sec_t {
	position: absolute;
	bottom: 99.5%; right: -3%;
	margin: auto;
	opacity: 0.1;
}
#PROGRAM .sec_t img {
	height: 25px;
	width: auto;
}

#PROGRAM .flex.head {
	text-align: center;
}
@media (width < 768px) {
	#PROGRAM .flex.head {
		display: block;
		& li + li {
			margin-top: 2em;
		}
	}
}

#PROGRAM .day25 {
	display: inline-block;
	text-align: center;
	line-height: 1;
	background-image: linear-gradient(90deg, rgba(38, 236, 63, 1), rgba(0, 110, 255, 1));
	border-radius: 2em;
	padding: 0.5em 5px 0.4em;
	width: 100%;
	& img {
		width: 126px;
		height: auto;
	}
	@media (768px <= width) {
		width: 380px;
	}
}
#PROGRAM .day26 {
	display: inline-block;
	text-align: center;
	line-height: 1;
	background-image: linear-gradient(90deg, rgba(255, 105, 61, 1), rgba(255, 46, 164, 1));
	border-radius: 2em;
	padding: 0.5em 5px 0.4em;
	width: 100%;
	& img {
		width: 126px;
		height: auto;
	}
	@media (768px <= width) {
		width: 380px;
	}
}


@media (768px <= width) {
	#PROGRAM .contentWrap::after {
		width: 150%;
	}
	#PROGRAM .sec_t {
		width: 80px;
		position: absolute;
		left: 102.8%; right: auto;
		top: 0; bottom: auto;
		margin: auto;
	}
	#PROGRAM .sec_t img {
		width: 80px;
		height: auto;
	}
	#PROGRAM .flex.head {
		max-width: 1030px;
		margin: auto;
	}
	#PROGRAM .flex.head > li {
		width: 48%;
	}
}




/*-----------------------------
OUTLINE
-------------------------------*/
#OUTLINE .contentWrap {
	padding: 1% 0 5%;
	position: relative;
}
#OUTLINE .contentWrap::after {
	content: "";
	display: block;
	width: 110%;
	height: 100%;
	position: absolute;
	margin: auto;
	top: 0; left: -3%;
	background-color: rgba(1,1,1,1);
	mix-blend-mode: overlay;
	z-index: -1;
}
#OUTLINE .sec_t {
	position: absolute;
	bottom: 99.5%; left: -3%;
	margin: auto;
	opacity: 0.1;
}
#OUTLINE .sec_t img {
	height: 25px;
	width: auto;
}

#OUTLINE h2 {
	color: #ffffff;
}

@media (768px <= width) {
	#OUTLINE .contentWrap::after {
		width: 150%;
	}
	#OUTLINE .sec_t {
		width: 80px;
		position: absolute;
		left: auto; right: 102.8%;
		top: 0; bottom: auto;
		margin: auto;
	}
	#OUTLINE .sec_t img {
		width: 80px;
		height: auto;
	}
}

#OUTLINE dl {
	display: block;
	color: #ffffff;
	max-width: 700px;
	margin: auto;
	padding-top: 1em;
	border-top: #ffffff 1px solid;
	& dt {
		float: left;
		width: 9.5em;
		clear: both;
		font-weight: 700;
	}
	& dd {
		margin-bottom: 1em;
		padding: 0 0 1em 10em;
		border-bottom: #ffffff 1px solid;
	}
	@media (width < 768px) {
		& dt {
			width: 7.5em;
		}
		& dd {
			padding-left: 7.5em;
		}
	}
}



/*-----------------------------
ACCESS
-------------------------------*/
#ACCESS .contentWrap {
	padding: 3% 0;
	position: relative;
}
#ACCESS .contentWrap::after {
	content: "";
	display: block;
	width: 110%;
	height: 100%;
	position: absolute;
	margin: auto;
	top: 0; right: -3%;
	background-color: rgba(255,255,255,0.7);
	z-index: -1;
}
#ACCESS .sec_t {
	position: absolute;
	bottom: 99.5%; right: -3%;
	margin: auto;
	opacity: 0.1;
}
#ACCESS .sec_t img {
	height: 25px;
	width: auto;
}
#ACCESS ul {
	max-width: 850px;
	margin: auto;
}
#ACCESS ul li + li {
	margin-top: 2em;
}
#ACCESS ul li .map {
	border: var(--gray1) 1px solid;
}

@media (768px <= width) {
	#ACCESS .contentWrap::after {
		width: 150%;
	}
	#ACCESS .sec_t {
		width: 80px;
		position: absolute;
		left: 102.8%; right: auto;
		top: 0; bottom: auto;
		margin: auto;
	}
	#ACCESS .sec_t img {
		width: 80px;
		height: auto;
	}
	#ACCESS ul ul {
		display: flex;
		justify-content: space-between;
	}
	#ACCESS ul ul li {
		width: 38%;
	}
	#ACCESS ul ul li + li {
		width: 57%;
		margin-top: 0;
	}
}









.modaal-close::before, .modaal-close::after {
  width: 2px;
}
.modaal-close:focus::before, .modaal-close:focus::after, .modaal-close:hover::before, .modaal-close:hover::after {
  background: var(--basic);
}
.modaal-container {
	max-width: 900px;
	background: none;
	box-shadow: none;
}
.modaal-content-container {
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  padding: 0;
	border-radius: 8px;
	/*overflow: hidden;*/
	& .program {
		border-radius: 8px;
		background: url("../images/bg_modal_sp.svg") top center no-repeat #fff;
		background-size: 100% auto;
		padding: 5% 3% 3%;
		@media (768px <= width) {
			background: url("../images/bg_modal.svg") top center no-repeat #fff;
			background-size: 100% auto;
			padding: 30px 30px 20px;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			align-items: center;
			& .head {
				width: 70%;
			}
			& .inner {
				width: 24%;
				margin-top: 0;
				padding-bottom: 1em;
				& ul.flex {
					display: block;
					& li:first-child {
						width: 100%;
						padding: 0 13%;
					}
					& li:last-child {
						width: 100%;
						text-align: center;
					}
				}
			}
		}
	}
	& .company {
		border-radius: 8px;
		position: relative;
		background: #fff;
		padding: 5% 3% 3%;
		@media (768px <= width) {
			padding: 30px 30px 20px;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			align-items: center;
			& .inner {
				width: 68%;
				margin-top: 0;
				padding-bottom: 1em;
			}
		}
		& .icon {
			position: absolute;
			top: -15%;
			left: 0;
			width: 23%;
			aspect-ratio: 1 / 1;
			background-size: contain;
			@media (768px <= width) {
				top: -30px;
				left: -30px;
				width: 100px;
			}
		}
		& .logo {
			text-align: center;
			padding: 5% 0;
		}
		& .link {
			display: inline-block;
			color: #000;
			font-size: 0.6875rem;
			line-height: 2;
			padding: 0 1em;
			margin-bottom: 1.5em;
			position: relative;
			z-index: 1;
			&::after {
				content: "";
				display: block;
				border-radius: 2em;
				width: 100%;
				height: 100%;
				background-color: aquamarine;
				position: absolute;
				top: 0; left: 0;
				opacity: 0.3;
				z-index: 0;
			}
			&:hover {
				opacity: 0.8;
			}
		}
	}
	& .company .name {
		font-size: 1.6rem !important;
		margin-bottom: 0.2em;
	}
	& .company.ct01 {
		& .link::after {background-color: var(--ct01);}
		& h3 {color: var(--ct01);}
		& .icon {background-image: url("../images/icon_ct01.png");}
	}
	& .company.ct02 {
		& .link::after {background-color: var(--ct02);}
		& h3 {color: var(--ct02);}
		& .icon {background-image: url("../images/icon_ct02.png");}
	}
	& .company.ct03 {
		& .link::after {background-color: var(--ct03);}
		& h3 {color: var(--ct03);}
		& .icon {background-image: url("../images/icon_ct03.png");}
	}
	& .company.ct04 {
		& .link::after {background-color: var(--ct04);}
		& h3 {color: var(--ct04);}
		& .icon {background-image: url("../images/icon_ct04.png");}
	}
	& .company.ct05 {
		& .link::after {background-color: var(--ct05);}
		& h3 {color: var(--ct05);}
		& .icon {background-image: url("../images/icon_ct05.png");}
	}
	& .company.ct06 {
		& .link::after {background-color: var(--ct06);}
		& h3 {color: var(--ct06);}
		& .icon {background-image: url("../images/icon_ct06.png");}
	}
	& .company.ct07 {
		& .link::after {background-color: var(--ct07);}
		& h3 {color: var(--ct07);}
		& .icon {background-image: url("../images/icon_ct07.png");}
	}
	& .company.ct08 {
		& .link::after {background-color: var(--ct08);}
		& h3 {color: var(--ct08);}
		& .icon {background-image: url("../images/icon_ct08.png");}
	}
	& .company.ct09 {
		& .link::after {background-color: var(--ct09);}
		& h3 {color: var(--ct09);}
		& .icon {background-image: url("../images/icon_ct09.png");}
	}
	& .company.ct10 {
		& .link::after {background-color: var(--ct10);}
		& h3 {color: var(--ct10);}
		& .icon {background-image: url("../images/icon_ct10.png");}
	}
	
	& .inner_header {
		font-weight: 700;
		font-size: 1.0625rem;
		& em {
			display: inline-block;
			background: url("../images/time1.svg") no-repeat;
			background-size: contain;
			width: 1em;
			height: 1em;
			vertical-align: middle;
		}
		& span {
			font-style: normal;
			padding-left: 0.5em;
			vertical-align: middle;
		}
	}
	& .day25 .inner_header {
		color: #26dfb5;
		& em {
			background: url("../images/time1.svg") no-repeat;
			background-size: contain;
		}
	}
	& .day26 .inner_header {
		color: #ff5a96;
		& em {
			background: url("../images/time2.svg") no-repeat;
			background-size: contain;
		}
	}
	& h3 {
		line-height: 1.5;
		margin: 0.3em auto 0.5em;
	}
	@media (width < 768px) {
		& h3 {
			font-size: 1.1rem;
		}
		& p {
			font-size: 0.86rem;
		}
	}
	& .inner {
		margin-top: 1em;
		position: relative;
		& .flex {
			align-items: center;
			justify-content: space-between;
			& li:first-child {
				width: 28%;
			}
			& li:last-child {
				width: 68%;
			}
		}
		& .img img {
			width: 100%;
			height: auto;
		}
		& .name {
			font-size: 1.1rem;
			& em {
				font-style: normal;
				font-weight: 700;
				& small {
					font-size: 70%;
					font-weight: normal;
				}
			}
		}
		& .corp {
			font-size: 0.875rem;
		}
		& .post {
			font-size: 0.875rem;
		}
	}
	& .btnwrap {
		text-align: center;
		padding-top: 1em;
		width: 100%;
		& .c-btn {
			font-size: 0.9rem;
			cursor: pointer;
			display: inline-block;
			background-color: var(--border);
			border-radius: 2em;
			padding: 0.3em 2em 0.3em 3em;
			position: relative;
			&::before,
			&::after {
				display: block;
				content: "";
				position: absolute;
				margin: auto;
				top: 0; bottom: 0;
				left: 20px;
				width: 1px;
				height: 18px;
				background: #000;
				-webkit-transition: background 0.2s ease-in-out;
				transition: background 0.2s ease-in-out;
			}
			&::before {
				-webkit-transform: rotate(-45deg);
				-ms-transform: rotate(-45deg);
				transform: rotate(-45deg);
			}
			&::after {
				-webkit-transform: rotate(45deg);
				-ms-transform: rotate(45deg);
				transform: rotate(45deg);
			}
		}
	}
}
@media (768px <= width) {
	.modaal-content-container {
		background: url("../images/bg_modal.svg") top center no-repeat #fff;
		background-size: 100% auto;
	}
}








/*-----------------------------
FAQ
-------------------------------*/
#faq {}
body#faq {
	margin: 0 auto;
	background: url("../images/bg_sp.svg") bottom center repeat-y;
	background-size: 100% auto;
}
@media (768px <= width) {
	body#faq {
		background: url("../images/bg.svg") bottom center no-repeat;
		background-size: 100% auto;
	}
}

#faq #header {
  width: 100%;
	height: auto;
	position: relative;
	z-index: 6;
	background: #ffffff;
	text-align: center;
	padding: 30px;
}
#faq #header #logo {
	width: 42%;
	max-width: 350px;
	height: auto;
	margin: 0 auto;
}
#faq h2 {
	background : linear-gradient(90deg, rgba(255, 255, 65, 1) 0%, rgba(255, 105, 61, 1) 30%, rgba(204, 38, 213, 1) 65%, rgba(125, 58, 169, 1) 100%);
	font-size: 2rem;
	color: #ffffff;
  line-height: 1.2;
  padding: 0 0.5em 0.5em;
  margin-bottom: 1.2em;
	& span {
		display: inline-block;
		font-size: 1.375rem;
		line-height: 1;
	}
}
#qa {
	padding: 0;
}
#qa .contentWrap {
  max-width: 1110px;
  padding: 0 3% 3%;
}
#qa dl {
	background-color: rgba(255,255,255,1.00);
	border-radius: 10px;
	padding: 1.25em;
	& + dl {
		margin-top: 1.25em;
	}
	& dt {
		border-bottom: 2px #a0a0a0 solid;
		padding-bottom: 1.25em;
		font-weight: bold;
		position: relative;
		padding-left: 3em;
		& span {
			content: "";
			display: inline-block;
			font-size: 2em;
			font-weight: bold;
			color: #0B57A0;
			position: absolute;
			left: 0;
			top: -0.4em;
		}
	}
	& dd {
		padding-top: 1.25em;
		position: relative;
		padding-left: 3em;
		& span {
			content: "";
			display: inline-block;
			font-size: 2em;
			font-weight: bold;
			color: #CC26D5;
			position: absolute;
			left: 0.1em;
			top: 0.2em;
		}
	}
}


@media (768px <= width) {
	#faq h2 {
		font-size: 3.75rem;
		& span {
			font-size: 2.5rem;
		}
	}
}
























