@charset "UTF-8";

/* body
-------------------------- */
/* 14px @ 768px increasing to 20px @ 1360px */
@media (min-width: 768px) {
	:root {
		font-size: calc(0.875rem + ((1vw - 7.68px) * 1.0135));
	}
}
@media (min-width: 1360px) {
	:root {
		font-size: 20px;
	}
}
body {
	width: 100%;
	height: 100%;
	min-height: 100vh;
	color: #fff;
	background: #000;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", '游ゴシック', 'Yu Gothic', "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	/*font-family: "Noto Sans JP", sans-serif;*/
	font-weight: 400;
	line-height: 2;
	letter-spacing: .02rem;
	text-align: left;
	position: relative;
	-webkit-text-size-adjust: 100%;
}
::selection {
	background: #333;
	color: #efefeb;
}
a {
	color: #fff;
	text-decoration: none;
}
a:hover {
	filter: brightness(120%);
}
a,
a img,
.easing {
	transition: .3s ease-in-out;
	border: none;
	outline: none;
	position: relative;
}
a img.ov:hover {
	filter: brightness(120%);
}
a.btn {
	font-family: "baucher-gothic-urw-extended", sans-serif;
	font-weight: 700;
	display: inline-block;
	font-size: 1.125rem;
	line-height: 1;
	letter-spacing: .05rem;
	padding: .25rem .5rem .125rem;
	border-radius: .25rem;
}
/* responsive
-------------------------- */
.spSet {
	display: none !important;
}
.pcSet {
	display: block !important;
}
/* base
-------------------------- */
main {
	width: 100%;
}
section {
	width: 100%;
	padding: 3rem;
	position: relative;
	z-index: 1;
}
.inner {
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
}
sup {
	font-size: 85%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
	top: -.25rem;
}
sub {
	font-size: 85%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
	bottom: -.25rem;
}
hr {
	display: block;
	border: none;
	border-top: 1px solid #fff;
	margin: 1.5rem 0;
}
/* header
------------------------------------ */
header {
	width: 100%;
	z-index: 50;
	border-bottom: 1px solid #333;
}
header .inner {
	padding: .75rem 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
header h1 a {
	display: block;
	width: 15rem;
	margin: 0 .5rem;
}
header h1 a img {
	object-fit: cover;
}
header h1 a img:hover {
	filter: invert(35%) sepia(100%) saturate(3600%) brightness(135%) contrast(85%);
}
/* footer
------------------------------------ */
footer {
	width: 100%;
	font-family: "baucher-gothic-urw-extended", sans-serif;
	line-height: 1;
	letter-spacing: .05rem;
	font-weight: 700;
	padding: 1rem 3rem;
}
footer .inner {
	max-width: 980px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
}
footer .inner .box_half {
	width: 50%;
	padding: 5%;
	text-align: center;
}
footer h6 {
	font-size: 1.5rem;
	margin: 1.5rem 0 .75rem;
	padding: 0 1rem .25rem;
	border-bottom: 1px solid #fff;
}
.past {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
}
.past li {
	position: relative;
	padding: 0 1rem 0 .75rem;
}
.past li:before {
	content: '';
	display: inline-block;
	width: .875rem;
	height: .5rem;
	border: .25rem solid transparent;
	border-left: .5rem solid #fff;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.sns {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.sns li a {
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	margin: 0 1rem;
}
.sns li:nth-of-type(1) a {
	background: url('../_img/sns_twitter.svg') no-repeat center;
	background-size: contain;
}
.sns li:nth-of-type(2) a {
	background: url('../_img/sns_facebook.svg') no-repeat center;
	background-size: contain;
}
.sns li:nth-of-type(3) a {
	background: url('../_img/sns_instagram.svg') no-repeat center;
	background-size: contain;
}
.org {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding: 1.5rem 0;
}
.org li a {
	display: block;
	width: 4.5rem;
	height: 4.5rem;
	margin: 0 1.5rem;
}
.org li:nth-of-type(1) a {
	background: url('../_img/logo_orizuru.webp') no-repeat center;
	background-size: contain;
}
.org li:nth-of-type(2) a {
	background: url('../_img/logo_act.svg') no-repeat center;
	background-size: contain;
}
footer li a:hover {
	opacity: .5;
}
footer .copyright {
	font-size: 1rem;
	font-weight: 400;
	text-align: center;
	padding: 3rem 0 1rem;
	margin: 0 auto;
	transform: scaleX(1.25);
}
.to_top {
	cursor: pointer;
	position: fixed;
	width: 3rem;
	height: 3rem;
	right: .5rem;
	bottom: .5rem;
	border-radius: 50%;
	background: #fff;
	display: none;
	z-index: 60;
	opacity: 1;
}
.to_top:after {
	content: '';
	position: absolute;
	width: .5rem;
	height: .5rem;
	top: .25rem;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	will-change: transform;
	transform: rotate(-45deg);
}
.to_top:hover {
	opacity: .7;
}
/* #index00
------------------------------------ */
#index00 {
	padding: 0 3rem 3rem;
	background: linear-gradient(75deg,
			#744de4, #59c6fe, #a9e93d, #ee8d00, #ee1a02, #ee327f);
	background-size: 300% 300%;
	animation: gradient 12s ease infinite;
}
@keyframes gradient {
	0% {
		background-position: 0% 100%
	}
	50% {
		background-position: 100% 0%
	}
	100% {
		background-position: 0% 100%
	}
}
#index00:after {
	content: '';
	background: url('../_img/noise.svg');
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	filter: opacity(.5)
}
#index00 .inner {
	position: relative;
	z-index: 10;
}
h1 {
	padding: .75rem 0;
}
h1 img {
	width: 15rem;
	margin: 0 .5rem;
}
h2 img {
	max-width: 863px;
	margin: auto;
	z-index: 10;
}
/* #index01
------------------------------------ */
#index01 {
	color: #000;
	background: #fff;
}
#index01 h3 {
	width: 100%;
	max-width: 980px;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1.8;
	margin: 1rem auto;
}
#index01 h3 span {
	display: block;
	text-align: center;
	font-size: 120%;
	line-height: 1.4;
	padding: .5rem;
	margin: 0 auto 1rem;
	background: #000;
	color: #fff;
}
#index01 p {
	width: 100%;
	max-width: 980px;
	font-size: .875rem;
	margin: 1rem auto;
}
/* #index02
------------------------------------ */
#index02:after {
	content: '';
	background: url('../_img/bg_cosmos.webp');
	background-size: cover;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	filter: opacity(.45)
}
#index02 .inner {
	position: relative;
	z-index: 10;
}
#index02 h3 {
	font-family: "baucher-gothic-urw-extended", sans-serif;
	line-height: 1;
	letter-spacing: .05rem;
	font-weight: 700;
	font-size: 7rem;
	text-align: center;
	margin: 1.5rem 0 3rem;
}
#index02 dl {
	font-family: "baucher-gothic-urw-extended", sans-serif;
	line-height: 1;
	letter-spacing: .05rem;
	font-weight: 700;
	font-size: 2.75rem;
	margin: 3rem auto 4.5rem;
	width: 100%;
	max-width: 680px;
}
#index02 dl dt {
	color: #000;
	font-size: 2.5rem;
	text-align: center;
	padding: .5rem 1rem .25rem;
	margin: 0 auto 1.5rem;
}
#index02 dl:nth-of-type(1) dt {
	background: #f89424;
}
#index02 dl:nth-of-type(2) dt {
	background: #ae69ea;
}
#index02 dl:nth-of-type(3) dt {
	background: #1dc3f7;
}
#index02 .flex_half {
	width: 100%;
	max-width: 680px;
	margin: 3rem auto 4.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#index02 .flex_half dl {
	width: 50%;
	margin: 0 auto;
}
#index02 .flex_half dl:nth-of-type(1) dt {
	background: #52bcca;
}
#index02 .flex_half dl:nth-of-type(2) dt {
	background: #e5a75e;
}
#index02 dl dd ul {
	max-width: 6em;
	margin: auto;
}
#index02 dl dd ul li {
	position: relative;
	padding: .25rem .5rem;
}
#index02 dl dd ul li span {
	font-size: 115%;
}
#index02 a.btn {
	background: #f89424;
	position: absolute;
	top: 1.25rem;
	right: -4.5rem;
}
/* #index03
------------------------------------ */
#index03 {
	color: #000;
	background: #fff;
}
#index03 dl {
	max-width: 980px;
	margin: 1rem auto;
	display: flex;
	flex-wrap: wrap;
	font-size: 1rem;
}
#index03 dl dt {
	width: 10em;
	padding: .5rem;
	border-bottom: 1px solid #707070;
}
#index03 dl dd {
	width: calc(100% - 10em);
	padding: .5rem;
	border-bottom: 1px solid #707070;
}
#index03 dl dd span {
	display: inline-block;
	padding-left: 3rem;
}
#index03 a.btn {
	background: #000;
	margin-left: 1rem;
}
/* #index04
------------------------------------ */
#index04 {
	padding: 0;
}
#index04 iframe {
	filter: grayscale(100%);
	transition: all .7s ease;
	display: block;
}
/* #indexAF1
------------------------------------ */
#indexAF1 {
	background: #000;
	padding: 3rem 3rem 1.5rem;
}
#indexAF1 .inner {
	max-width: 980px;
}
/* #indexAF2
------------------------------------ */
#indexAF2 {
	color: #000;
	background: #fff;
}
#indexAF2 dl {
	max-width: 980px;
	margin: 1rem auto;
	display: flex;
	flex-wrap: wrap;
	font-size: 1rem;
}
#indexAF2 dl dt {
	width: 10em;
	padding: .5rem;
	border-bottom: 1px solid #707070;
}
#indexAF2 dl dd {
	width: calc(100% - 10em);
	padding: .5rem;
	border-bottom: 1px solid #707070;
}
#indexAF2 dl dd span {
	display: inline-block;
	padding-left: 3rem;
}
#indexAF2 a.btn {
	background: #000;
	margin-left: 1rem;
}
/* #index05
------------------------------------ */
#index05 {
	background: #ff2eec;
	padding: 3rem 3rem 6rem;
}
#index05 .inner {
	max-width: 980px;
}
#index05 h3 {
	font-family: "baucher-gothic-urw-extended", sans-serif;
	line-height: 1;
	letter-spacing: .05rem;
	font-weight: 700;
	font-size: 7.5rem;
	text-align: center;
	margin: 3rem 0;
}
#index05 h3 span {
	display: block;
	font-size: 75%;
}
/* #indexLINE
------------------------------------ */
#indexLINE {
	background: #9B9B9B;
	padding: 3rem;
}
#indexLINE .inner {
	background: #fff;
	color: #000;
	padding: 3rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
#indexLINE .box_text {
	width: 80%;
	letter-spacing: .05rem;
}
#indexLINE h3 {
	font-weight: bold;
	font-size: 1.25rem;
	margin-bottom: 1.5rem;
}
#indexLINE a {
	display: block;
	width: 18%;
	pointer-events: none;
}


/* style ------------------------ */
.f_strong {
	font-weight: bold;
	background: linear-gradient(transparent 65%, #f89424 65%);
}
.f_BaucherR {
	font-family: "baucher-gothic-urw-extended", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.f_BaucherM {
	font-family: "baucher-gothic-urw-extended", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.f_BaucherB {
	font-family: "baucher-gothic-urw-extended", sans-serif;
	font-weight: 700;
	font-style: normal;
}