@charset "utf-8";

*,*::before,*::after{box-sizing:border-box;}
body,h1,h2,h3,h4,p,ul,ol,li,figure,figcaption,blockquote,dl,dd{margin:0;}
ul,ol{list-style:none;padding:0;}
a{color:inherit;text-decoration:inherit;text-decoration-skip-ink:auto;}
canvas{display:block;vertical-align:middle}
img,svg,video,iframe{vertical-align:middle;}
img,video{max-width:100%;}
img[height]{height:auto;}
input,button,textarea,select{font:inherit;}
button{-webkit-appearance:none;-moz-appearance:none;appearance:none;}
button{border:0;padding:0;background:none;}
small{font-size:inherit;}
sub{vertical-align:baseline;}
@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}}
html {
	scroll-behavior: auto;
	-webkit-text-size-adjust: 100%;
}
body {
	overscroll-behavior: auto;
	color: #000;
	font-size: 1em;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	letter-spacing: .06em;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
body.is-fixed {
	overflow: hidden;
}
.isTouch body.is-fixed {
	position: fixed;
	width: 100%;
}
@media screen and (min-width: 768px) {
	.v-mb { display: none !important; }
}
@media screen and (max-width: 767px) {
	.v-dt { display: none !important; }
}
.isTouch a:focus,
.isTouch button:focus,
.isTouch *[tabindex] {
	outline: 0;
}

/**
 * mediaquery
 * common style (desktop/mobile 共通の style)
 * @media screen and (min-width: 480px) {} mobile には適用したくない style
 * @media screen and (min-width: 768px) {} desktop だけの style
 * @media screen and (min-width: 1200px) {} wide desktop style
 * @media screen and (max-width: 767px) {} desktop には適用したくない style
 * @media screen and (max-width: 479px) {} mobile だけの style
 * @media screen and (max-width: 360px) {} small mobile style
 * -------------------------------------------------- */
.l-main { z-index: 1; }
.l-footer { z-index: 2; }
.l-header { z-index: 4; }
.l-entry { z-index: 4; }
.l-deco { z-index: 5; }
.l-menu { z-index: 6; }
.l-modal { z-index: 7; }
.l-loading { z-index: 8; }


/**
 * loading
 * ---------------------------------------- */
body.is-loading {
	position: fixed;
	width: 100%;
}
.l-loading {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	inset: 0;
}
body:not(.is-loading) .l-loading {
	pointer-events: none;
}
/* アニメと数字 */
.l-loading .loading_loader {
	z-index: 1;
	position: relative;
	text-align: center;
}
.l-loading .loader_count {
	display: block;
	font-size: 72px;
	line-height: 1;
	font-family: "Oswald", sans-serif;
}
.l-loading .loader_anim {
	display: block;
	overflow: hidden;
	width: 72px;
	height: 50px;
	margin: 0 auto;
}
.l-loading .loader_anim::before {
	content: "";
	display: block;
	width: 100%;
	height: 1000%;
	background: url(../img/symbol_anim.svg) center / cover no-repeat;
}
.is-loading .l-loading .loader_anim::before {
	animation: symbolAnim 1s steps(10) infinite;
}
@keyframes symbolAnim {
	from { transform: none; }
	to { transform: translateY(-100%); }
}
/* トビラ */
.l-loading .loading_door {
	perspective: 2000px;
	position: absolute;
	inset: 0;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.l-loading .loading_door::before,
.l-loading .loading_door::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: calc(50% + 1px);
	background: #27b53a url(../img/bg_footer.png);
	background-size: 125px 125px;
}
.l-loading .loading_door::before {
	left: 0;
	background-position: right center;
	transform-origin: left center;
}
.l-loading .loading_door::after {
	right: 0;
	background-position: left center;
	transform-origin: right center;
}
/* open motion */
body:not(.is-loading) .l-loading .loading_loader {
	opacity: 0;
}
.l-loading .loading_loader {
	transition: opacity .4s;
}
.l-loading.is-open,
.l-loading.is-loaded {
	opacity: 0;
	transition: opacity .4s 2s;
}
.l-loading.is-loaded {
	transition-delay: .6s;
}
.l-loading.is-open .loading_loader {
	opacity: 0;
	transition: opacity .6s .2s, transform .6s .2s cubic-bezier(.3,1,.7,1);
}
.l-loading.is-open .loading_door::before,
.l-loading.is-open .loading_door::after {
	transition: transform 1.8s .3s cubic-bezier(.4,0,.3,1);
}
.l-loading.is-open .loading_door::before {
	transform: rotateY(108deg);
}
.l-loading.is-open .loading_door::after {
	transform: rotateY(-108deg);
}
.l-loading.is-loaded .loading_door {
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	transition: clip-path .4s cubic-bezier(.4,0,.3,1);
}
/* close motion */
.l-loading.is-standby .loader_anim::before {
	animation: symbolAnim 1s steps(10) infinite;
}
.l-loading.is-standby .loading_door {
	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
.l-loading.is-close .loading_door {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	transition: clip-path .4s cubic-bezier(.4,0,.3,1);
}
.l-loading.is-close.is-open .loading_door {
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}


/**
 * header
 * ---------------------------------------- */
.l-header {
	display: grid;
	place-items: center;
	grid-template-columns: 1fr 191px 1fr;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 64px;
	padding: 0 24px;
}
.l-header.is-active {
	position: fixed;
	top: 0;
}
.l-header.is-anim.is-active {
	animation: appearHeader .6s cubic-bezier(.3,1,.7,1);;
}
.l-header.is-anim.is-hide {
	animation: hideHeader .2s cubic-bezier(.3,1,.7,1);
}
@keyframes appearHeader {
	from { transform: translateY(-100%); }
	to { transform: none; }
}
@keyframes hideHeader {
	from { transform: none; }
	to { transform: translateY(-100%); }
}
.l-header .site {
	justify-self: flex-start;
	margin-right: 1em;
	font-size: 12px;
	line-height: 1.4;
	font-family: "Midashi Go MB31", sans-serif;
}
.l-header .site .sub {
	display: inline-block;
	font-size: 75%;
	letter-spacing: .16em;
}
.l-header .title {
	grid-column: 2 / 3;
	font-size: 1em;
	line-height: 1;
}
.l-header .title img {
	width: 191px;
}
.l-header::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0;
	background: white;
	box-shadow: 0 0 12px rgba(0,0,0,.1);
}
.l-header .menu {
	cursor: pointer;
	position: absolute;
	top: 8px;
	right: 8px;
	width: 48px;
	height: 48px;
	font-size: 10px;
}
.l-header .menu .ico {
	fill: none;
	stroke: #000;
	stroke-width: 3;
}
@media (hover: hover) {
	.l-header .menu.is-active {
		pointer-events: none;
	}
}
/* motion */
.l-header .menu.is-active {
	opacity: 0;
	transform: scale(.8);
}
.l-header .menu.is-anim {
	transition: opacity .3s, transform .3s cubic-bezier(.3,1,.7,1);
}
.l-header .menu.is-anim:not(.is-active) {
	transition-delay: .3s;
}
@media screen and (max-width: 767px) {
	.l-header {
		grid-template-columns: 1fr 81px 1fr;
		padding: 0 16px;
	}
	.l-header .site {
		font-size: 12px;
	}
	.l-header .title img {
		width: 81px;
	}
}
@media screen and (max-width: 479px) {
	.l-header {
		grid-template-columns: 1fr 64px 1fr;
		height: 48px;
	}
	.l-header .site {
		font-size: 8px;
	}
	.l-header .site .sub {
		font-size: 81%;
		letter-spacing: .16em;
	}
	.l-header .title img {
		width: 64px;
	}
	.l-header .menu {
		top: 4px;
		right: 4px;
		width: 40px;
		height: 40px;
	}
	.l-header .menu .ico {
		width: 28px;
		height: 28px;
	}
}
@media screen and (max-width: 360px) {
	.l-header {
		grid-template-columns: 136px 64px auto;
	}
}

/* :::::: ENTRY :::::: */
.l-entry {
	position: fixed;
	top: 112px;
	right: 0;
	filter: drop-shadow(5px 5px 5px rgba(0,0,0,.1));
}
@media screen and (max-width: 767px) {
	.l-entry {
		top: 96px;
		width: 64px;
	}
}
@media screen and (max-width: 479px) {
	.l-entry {
		top: 72px;
		width: 56px;
	}
	.-home ~ .l-entry {
		top: 56px;
	}
}


/**
 * main
 * ---------------------------------------- */
.l-main {
	min-height: calc(100vh - 346px);
	padding: 64px 24px 0;
}
@media screen and (max-width: 479px) {
	.l-main {
		padding: 48px 16px;
	}
}
.main_section {
	max-width: 1000px;
	margin: 0 auto;
	padding: 80px 0;
	text-align: center;
}

/* :::::: 馬タイトル :::::: */
.label_title {
	display: inline-block;
	position: relative;
	padding-top: 40px;
	line-height: 1;
	text-align: center;
}
.label_title::before {
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - 24px);
	width: 47px;
	height: 32px;
	background: url(../img/symbol_horse.svg) center / cover no-repeat;
}

/* :::::: セクション背景 :::::: */
.section_bg {
	overflow: hidden;
	position: absolute;
	top: 0;
	right: calc(50% - 50vw);
	bottom: 0;
	left: calc(50% - 50vw);
	pointer-events: none;
}
.section_bg .bg {
	z-index: 0;
	position: absolute;
	opacity: .2;
	mix-blend-mode: multiply;
}

/* :::::: 被せリンク :::::: */
.c-coverlink {
	z-index: 1;
	position: absolute;
	inset: 0;
	color: transparent;
}
.c-coverlink::selection {
	color: transparent;
}

/* :::::: ドット一覧 :::::: */
.c-dotlist {
	line-height: 1.4;
}
.c-dotlist li,
.c-dotlist dt,
.c-dotlist dd {
	margin-top: .4em;
}
.c-dotlist li {
	padding-left: 16px;
	text-indent: -16px;
}
.c-dotlist li::before,
.c-dotlist dt::before {
	content: "";
	display: inline-block;
	position: relative;
	top: -.1em;
	width: 8px;
	height: 8px;
	margin-right: 8px;
	border-radius: 8px;
	background: #29b23e;
	vertical-align: middle;
}


/**
 * menu
 * ---------------------------------------- */
.menu_list {
	padding-left: 24px;
	border-left: 1px solid rgba(0,0,0,.5);
	text-align: left;
}
.menu_list a,
.menu_list button {
	display: inline-block;
	cursor: pointer;
	padding: .3em;
	color: inherit !important;
	font-family: "Midashi Go MB31", sans-serif;
}
/*.menu_list a[aria-current] {
	pointer-events: none;
}*/
.menu_list a[aria-current] {
	background: linear-gradient(#fff, #fff) right center / 0 .5em no-repeat;
	background-position: left center;
	background-size: 100% .5em;
}
@media (hover: hover) {
	.menu_list a,
	.menu_list button {
		transition: opacity .3s;
	}
	.menu_list a:hover,
	.menu_list button:hover {
		opacity: .5;
		transition-duration: .2s;
	}
}
.menu_list .ar {
	position: relative;
	top: -.1em;
	width: 8px;
	margin-left: 8px;
	fill: currentcolor;
}
.menu_sub {
	padding-left: 1em;
	line-height: 1.4;
}
.menu_sub.-interview {
	font-size: 90%;
	line-height: 1.2;
}
.menu_sub.-interview li {
	counter-increment: n;
	margin-top: .3em;
}
.menu_sub.-interview li:nth-child(n+2) {
	margin-top: 1em;
}
.menu_sub.-sp li:nth-child(n+2) {
	margin-top: 1em;
}
.menu_sub.-sp li {
	padding-left: .9em;
	text-indent: -.9em;
}
.menu_sub li:last-child {
	margin-bottom: 1em;
}
.menu_sub a {
	display: inline;
	padding: .3em 0;
}
/*.menu_sub.-sp a {
	position: relative;
}
.menu_sub.-sp a::before {
	content: "";
	position: absolute;
	top: .7em;
	right: calc(100% + 4px);
	width: 8px;
	height: 8px;
	border-radius: 8px;
	background: currentcolor;
}
.menu_sub.-sp li:nth-child(2) a::before {
	top: .6em;
}
.menu_sub.-sp a * {
	text-indent: 0;
}*/
.menu_sub.-interview .num {
	font-size: 112%;
}
.menu_sub .sub,
.menu_sub .join {
	font-size: 75%;
}
.menu_sub .join,
.menu_sub .assign {
	position: relative;
	top: -.1em;
}
.menu_sub .assign {
	font-size: 80%;
	letter-spacing: 0;
}
.menu_sub .title {
	font-style: normal;
}
.menu_sub .title::before {
	content: "「";
}
.menu_sub .title::after {
	content: "」";
}
@media screen and (max-width: 767px) {
	.menu_list {
		padding-left: 16px;
	}
}


/**
 * footer
 * ---------------------------------------- */
.l-footer {
	position: relative;
	padding: 96px 24px 24px;
	text-align: center;
	background: #27b53a url(../img/bg_footer.png) center top / 125px 125px;
}
.l-footer .hgroup {
	display: flex;
}
.l-footer .title,
.l-footer .logo {
	font-size: 1em;
	line-height: 1;
}
.l-footer .logo {
	order: 1;
	margin-left: 48px;
}
.l-footer .menu_list {
	font-size: 14px;
}
.l-footer .menu_sub.-sp li:nth-child(2) a::before {
	top: .5em;
}
.l-footer .menu_sub.-interview br {
	display: none;
}
.l-footer .pagetop {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: 16px;
	position: absolute;
	top: 40px;
	right: 24px;
	padding-bottom: 24px;
}
.l-footer .pagetop path {
	fill: currentcolor;
}
.l-footer .pagetop line {
	fill: none;
	stroke: currentcolor;
	stroke-dasharray: 90px 180px;
	stroke-dashoffset: 0;
}
.l-footer .pagetop.is-hover line {
	animation: stretchPagetop 1s cubic-bezier(.7,0,.3,1);
}
.l-footer .pagetop.is-sticky {
	position: fixed;
	top: auto;
	bottom: 0;
}
.l-footer .pagetop:not(.is-active) {
	opacity: 0;
	transform: translate(24px);
	pointer-events: none;
}
.l-footer .pagetop.is-anim.is-active {
	animation: appearPagetop .6s cubic-bezier(.3,1,.7,1);;
}
.l-footer .pagetop.is-anim.is-hide {
	animation: hidePagetop .2s cubic-bezier(.3,1,.7,1);
}
@keyframes stretchPagetop {
	from { stroke-dashoffset: 0; }
	to { stroke-dashoffset: 270px; }
}
@keyframes appearPagetop {
	from { transform: translateY(24px); opacity: 0; }
	to { transform: none; opacity: 1; }
}
@keyframes hidePagetop {
	from { transform: none; opacity: 1; }
	to { transform: translateY(24px); opacity: 0; }
}
.l-footer .pagetop .ar {
	fill: none;
	stroke: #000;
	stroke-miterlimit: 10;
}
.l-footer .copyright {
	margin-top: 96px;
	font-size: 10px;
	font-family: "Midashi Go MB31", sans-serif;
}
@media screen and (min-width: 768px) {
	.l-footer .footer_menu {
		display: flex;
		justify-content: center;
		max-width: 880px;
		margin: 0 auto;
	}
	.l-footer .title,
	.l-footer .logo {
		padding-top: 56px;
	}
	.l-footer .logo {
		padding-top: 70px;
	}
	.l-footer .menu_list:first-of-type {
		margin-left: 80px;
	}
	.l-footer .menu_list:last-of-type {
		align-self: flex-start;
		margin-left: 16px;
	}
	.l-footer .menu_sub.-interview li:last-child {
		margin-bottom: 0;
	}
}
@media screen and (min-width: 1025px) {
	.l-footer .logo {
		padding-top: 74px;
	}
	.l-footer .menu_list:first-of-type {
		margin-left: auto;
	}
	.l-footer .menu_list:last-of-type {
		margin-left: 24px;
	}
}
@media screen and (max-width: 1024px) {
	.l-footer .logo {
		margin-left: 32px;
	}
	.l-footer .title img {
		width: 104px;
	}
	.l-footer .logo img {
		width: 94px;
	}
	.l-footer .menu_list {
		padding: 0 16px;
	}
}
@media screen and (max-width: 767px) {
	.l-footer .footer_menu {
		/*max-width: 240px;*/
	}
	.l-footer .hgroup {
		justify-content: center;
		align-items: center;
	}
	.l-footer .logo {
		margin-left: 32px;
	}
	.l-footer .pagetop {
		right: 4px;
	}
}
@media screen and (max-width: 767px) and (min-width: 480px) {
	.l-footer .footer_menu {
		display: grid;
		grid-template: auto 1fr / repeat(2, auto);
		justify-content: center;
		width: calc(100% - 48px);
		min-width: 432px;
		margin: 0 auto;
	}
	.l-footer .hgroup {
		grid-area: 1 / 1 / 2 / 3;
	}
	.l-footer .menu_list {
		grid-row: 2 / 3;
		margin-top: 24px;
	}
	.l-footer .menu_list:first-of-type {
		grid-column: 1 / 2;
		justify-content: flex-end;
	}
	.l-footer .menu_list:last-of-type {
		grid-column: 2 / 3;
		justify-content: flex-start;
	}
}
@media screen and (max-width: 479px) {
	.l-footer {
		padding-top: 64px;
	}
	.l-footer .menu_list {
		margin: 0 auto;
		max-width: 272px;
	}
	.l-footer .menu_list:first-of-type {
		margin-top: 32px;
	}
	.l-footer .copyright {
		margin-top: 48px;
	}
}

/**
 * nav
 * ---------------------------------------- */
.l-menu,
.l-menu .overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.l-menu .overlay {
	background: rgba(0,0,0,.05);
}
.l-menu .close {
	cursor: pointer;
	position: fixed;
	top: 8px;
	right: 8px;
	width: 48px;
	height: 48px;
	font-size: 10px
}
.l-menu .close .ico {
	fill: none;
	stroke: #000;
	stroke-width: 3;
}
.l-menu .container {
	display: flex;
	justify-content: center;
	position: absolute;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	top: 0;
	right: 0;
	width: 90%;
	max-width: 480px;
	height: 100%;
	background: #27b53a url(../img/bg_footer.png) center / 125px 125px;
}
.l-menu .menu_wrap {
	margin: auto;
	padding: 80px 24px;
}
.l-menu .menu_title {
	width: 156px;
	height: 64px;
	margin: 0 auto;
}
.l-menu .menu_list {
	font-size: 17px;
	margin-top: 24px;
}
@media screen and (min-width: 480px) {
	.l-menu .menu_sub.-interview br {
		display: none;
	}
}
@media screen and (min-width: 768px) {
	.l-menu .menu_list {
		margin-left: 40px;
	}
}
@media screen and (max-width: 767px) {
	.l-menu .menu_list {
		font-size: 16px;
	}
}
@media screen and (max-width: 479px) {
	.l-menu .close {
		top: 4px;
		right: 4px;
		width: 40px;
		height: 40px;
	}
	.l-menu .close .ico {
		width: 28px;
		height: 28px;
	}
}
/* motion */
.l-menu:not(.is-active) {
	pointer-events: none;
}
.l-menu .close:not(.is-active),
.l-menu .overlay:not(.is-active),
.l-menu:not(.is-active) .container {
	opacity: 0;
}
.l-menu .close:not(.is-active) {
	transform: scale(.5);
}
.l-menu:not(.is-active) .container {
	transform: translateX(24px);
}
.l-menu .close.is-anim,
.l-menu .overlay.is-anim,
.l-menu.is-anim .container {
	transition: opacity .6s, transform .6s cubic-bezier(.3,1,.7,1);
}
.l-menu .close.is-anim { transition-duration: .3s; }
.l-menu .close.is-anim.is-active { transition-delay: .3s; }
.l-menu.is-anim.is-active .container { transition-delay: .1s; }
.l-menu.is-anim:not(.is-active) .container { transition-duration: .3s; }


/**
 * decoration
 * -------------------------------------------------- */
.l-deco {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	max-width: 1200px;
	margin: 0 auto;
	pointer-events: none;
}
.l-deco .deco_container {
	position: absolute;
	right: 0;
	left: 0;
}
.l-deco .deco {
	position: absolute;
}


/**
 * モーダルコンテンツ
 * -------------------------------------------------- */
.l-modal,
.modal_overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.l-modal {
	display: flex;
	align-items: center;
}
.modal_overlay {
	cursor: pointer;
	background: rgba(39,162,58,.1);
}
.modal_container {
	position: relative;
	width: calc(100% - 48px);
	max-width: 800px;
	height: calc(100% - 48px);
	max-height: 620px;
	margin: 0 auto;
	padding: 24px;
	border-radius: 10px;
	background: white;
	box-shadow: 10px 10px 10px rgba(0,0,0,.1);
}
.modal_close {
	cursor: pointer;
	position: absolute;
	width: 32px;
	height: 32px;
	top: 16px;
	right: 16px;
}
.modal_close .ico {
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
}
.modal_contents {
	padding: 48px;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}
.c-scrollcontainer {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	height: 100%;
	scrollbar-width: thin;
}
.c-scrollcontainer::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
.c-scrollcontainer::-webkit-scrollbar-thumb {
	border-radius: 6px;
	box-shadow: none;
	background: #279a3a;
}
.c-scrollcontainer::-webkit-scrollbar-track {
	border-radius: 6px;
	background: #eceae8;
}
@media screen and (max-width: 479px) {
	.modal_contents {
		padding: 24px;
	}
}
@media screen and (max-width: 479px) {
	.modal_container {
		max-width: calc(100% - 32px);
		padding: 16px;
	}
	.modal_close {
		top: 8px;
		right: 8px;
	}
	.modal_contents {
		padding: 24px 16px;
	}
}
@media screen and (max-width: 374px) {
	.modal_container {
		padding: 8px;
	}
	.modal_contents {
		padding: 24px 8px;
	}
}
/* motion */
.l-modal:not(.is-active) {
	pointer-events: none;
}
.modal_close:not(.is-active),
.modal_overlay:not(.is-active),
.l-modal:not(.is-active) .modal_container {
	opacity: 0;
}
.modal_close:not(.is-active) {
	transform: scale(.5);
}
.l-modal:not(.is-active) .modal_container {
	transform: translateY(24px);
}
.l-modal.is-anim:not(.is-active) .modal_container {
	transform: translateY(-24px);
}
.modal_close.is-anim,
.modal_overlay.is-anim,
.l-modal.is-anim .modal_container {
	transition: opacity .6s, transform .6s cubic-bezier(.3,1,.7,1);
}
.modal_close.is-anim { transition-duration: .3s; }
.modal_close.is-anim.is-active { transition-delay: .3s; }
.l-menu.is-anim.is-active .modal_container { transition-delay: .1s; }
.l-menu.is-anim:not(.is-active) .modal_container { transition-duration: .3s; }



/**
 * javascript
 * -------------------------------------------------- */
.svg-parts,
.visuallyhidden {
	position: absolute;
	top: 0;
	left: 0;
	clip: rect(0 0 0 0);
	overflow: hidden;
	width: 1px;
	height: 1px;
}
.js-forfont {
	display: none;
}
.js-forfont.-midashigo {
	font-family: "Midashi Go MB31", sans-serif;
}
.js-forfont.-oswald {
	font-family: "Oswald", sans-serif;
}

/* accordion UI */
.js-accContent {
	overflow: hidden;
}
.js-accContent.is-anim {
	transition: opacity .6s, height .6s cubic-bezier(.3,1,.7,1);
}
.js-accToggle.is-anim .ar {
	transition: transform .4s .2s cubic-bezier(.3,1,.7,1);
}
.js-accContent:not(.is-active) {
	pointer-events: none;
	opacity: 0;
}
.js-accToggle.is-active .ar {
	transform: rotateX(-180deg);
}

/* transformScroll */
.js-sc-wrap {
	overflow: hidden;
}
.js-sc-wrap.js-fixed {
	position: fixed;
	width: 100%;
}
.js-sc-wrap.js-fixed,
.js-sc-slip {
	will-change: transform;
}
.js-sc-slip {
	backface-visibility: hidden;
}
.js-sc-dummy {
	z-index: -1;
	pointer-events: none;
}

/* inview */
.js-inview:not(.is-inview) {
	opacity: 0;
	transform: translateY(24px);
}
.js-inview.is-anim {
	transition: opacity .6s, transform .6s cubic-bezier(.3,1,.7,1);
}

/* lazy */
img[data-src]:not(.is-loaded) {
	opacity: 0;
}
img[data-src].is-anim {
	transition: opacity .2s;
}

/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled{position:relative}.flickity-enabled:focus{outline:0}.flickity-viewport{overflow:visible;position:relative;height:100%}.flickity-slider{position:absolute;width:100%;height:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}.flickity-button{position:absolute;background:hsla(0,0%,100%,.75);border:none;color:#333}.flickity-button:hover{background:#fff;cursor:pointer}.flickity-button:focus{outline:0;box-shadow:0 0 0 5px #19f}.flickity-button:active{opacity:.6}.flickity-button:disabled{opacity:.3;cursor:auto;pointer-events:none}.flickity-button-icon{fill:currentColor}.flickity-prev-next-button{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%)}.flickity-prev-next-button.previous{left:10px}.flickity-prev-next-button.next{right:10px}.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px}.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px}.flickity-prev-next-button .flickity-button-icon{position:absolute;left:20%;top:20%;width:60%;height:60%}.flickity-page-dots{position:absolute;width:100%;bottom:-25px;padding:0;margin:0;list-style:none;text-align:center;line-height:1}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;width:10px;height:10px;margin:0 8px;background:#333;border-radius:50%;opacity:.25;cursor:pointer}.flickity-page-dots .dot.is-selected{opacity:1}