@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,700&display=swap&subset=japanese');
body {
	position: relative;
	width: 100vw;
	height: 100%;
	margin: 0;
	padding: 0;
	letter-spacing: 0.1em;
	font-family: 'Noto Sans JP', sans-serif;
	font-style: 400;
	color: #000;
	line-height: 200%;
	background-color: #fff;
	overflow-x: hidden!important;
}
body.open {
	overflow: hidden;
}
img.cover {
	width: 100%;
	height: auto;
}
.preload {
	display: none;
}
.dispWide {
	display: block;
}
.dispNarrow {
	display: none;
}
@media screen and (max-width: 800px) {
	.dispWide {
		display: none;
	}
	.dispNarrow {
		display: block;
	}
}
/* text decoration */
/*リンク文字色*/
a {
	display: inline-block;
	position: relative;
	color: #000;
	text-decoration: none;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
/*リンク文字色フォーカス時*/
a.hover {
	color: #000;
	text-decoration: none;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
a.hoverOpacity {
	opacity: 1;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
a.hoverOpacity.hover {
	opacity: 0.75;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
/*
a.btn {
	padding: 0.6em 2em;
	border-radius: 5em;
}
*/
.deactive {
	opacity: 0.5;
}
.deactive a {
	pointer-events: none;
}
/*文字選択時文字色＆背景色*/
::selection {
	color: #fff;
	background-color: #eb6100;
}
/*英字フォント*/
.fontEn {
	font-family: 'HelveticaRoundedLTPro-Bd', HelveticaRoundedLTPro-Bd, sans-serif;
	font-weight: normal;
}
/* 文字をセンタリングする場合 */
.alignCenter {
	text-align: center;
}
/* 文字数がわからないブロックをセンタリングする場合 */
.alignCenter > .blockCenter {
	display: inline-block;
}
/* 文字を右寄せ場合 */
.alignRight {
	text-align: right;
}
/* 文字を左寄せ場合（デフォルト） */
.alignLeft {
	text-align: left;
}
/* 文字を太字にする場合 */
.textBold {
	font-weight: 700;
}
/* 文字をデフォルトの太さにする場合（デフォルト） */
.textNormal {
	font-weight: normal;
}
.textIndent {
	padding-left: 1em;
}
/*二行目以降一文字分段落ち指定*/
.textAttention {
	display: block;
	text-indent: -1em;
	margin-left: 1em;
}
/*一行の領域からはみ出す時に文字省略*/
.textEllipsis {
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
/*二行の領域からはみ出す時に文字省略*/
.textEllipsis2lines {
	display: -webkit-box!important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
/*行間指定*/
.lineHeight100 {
	line-height: 100%;
}
.lineHeight120 {
	line-height: 120%;
}
.lineHeight160 {
	line-height: 160%;
}
.lineHeight210 {
	line-height: 210%;
}
/*文字間指定*/
.letterSpacing0 {
	letter-spacing: 0;
}
/*余白指定*/
.marginTopHalf {
	margin-top: 0.5em!important;
}
.marginTop1 {
	margin-top: 1em!important;
}
.marginTop1half {
	margin-top: 1.5em!important;
}
.marginTop2 {
	margin-top: 2em!important;
}
.marginTop3 {
	margin-top: 3em!important;
}
.marginTop4 {
	margin-top: 4em!important;
}
.paddingVertical1 {
	padding: 1em 0;
}
.paddingVertical2 {
	padding: 2em 0;
}
.paddingVertical3 {
	padding: 3em 0;
}
.paddingHorizontalHalf {
	padding: 0 0.5em;
}
.paddingHorizontal1 {
	padding: 0 1em;
}
.paddingHorizontal2 {
	padding: 0 2em;
}
/* font size */
.text42 {
	font-size: 42px;
}
.text26 {
	font-size: 26px;
}
.text24 {
	font-size: 24px;
}
.text19 {
	font-size: 19px;
}
.text17 {
	font-size: 17px;
}
.text16 {
	font-size: 16px;
}
.text14 {
	font-size: 14px;
}
.text0 {
	font-size: 0;
}
@media screen and (min-width: 801px) and (max-width: 1500px) {
	.text42 {
		font-size: 2.8vw;
	}
	.text26 {
		font-size: 1.733333vw;
	}
	.text24 {
		font-size: 1.6vw;
	}
	.text19 {
		font-size: 1.266666vw;
	}
	.text17 {
		font-size: 1.133333vw;
	}
	.text16 {
		font-size: 1.066666vw;
	}
	.text14 {
		font-size: 0.933333vw;
	}
}
@media screen and (max-width: 800px) {
	.text42 {
		font-size: 6vw;
	}
	.text26,
	.text24 {
		font-size: 3.5vw;
	}
	.text19 {
		font-size: 3.25vw;
	}
	.text17,
	.text16 {
		font-size: 3vw;
	}
	.text14 {
		font-size: 2.8vw;
	}
}
/*枠組み*/
.widthWrapper {
	width: 76%;
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 4em;
}
@media screen and (max-width: 800px) {
	.widthWrapper {
		width: 86%;
	}
}
/*flexbox指定*/
.flexBlock {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: row;
	flex-shrink: 0;
	list-style: none;
	margin: 0 auto;
}
.flexColumn {
	flex-direction: column;
}
.flexBetween {
	justify-content: space-between;
}
.flexEnd {
	justify-content: flex-end;
}
.flexStretch {
	align-items: stretch;
}
.flexAlignCenter {
	align-items: center;
}
.flexReverse {
	flex-direction: row-reverse;
}
@media screen and (max-width: 800px) {
}
/*デフォルト文字色*/
.textGray,
.topicsList .date {
	color: #848484;
}
.textOrange,
.topicsList .news .tag {
	color: #ea5413;
}
.topicsList .news {
	border: 2px solid #ea5413;
}
.topicsList .goods .tag {
	color: #147a20;
}
.topicsList .goods {
	border: 2px solid #147a20;
}
.topicsList .blog .tag {
	color: #005192;
}
.topicsList .blog {
	border: 2px solid #005192;
}
/*背景色*/
.bgWhite {
	background-color: #fff;
}
.bgYellow {
	background-color: #fffce5;
}
.bgGray {
	background-color: #efefef;
}
/*header*/
header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 101;
	opacity: 0;
	pointer-events: none;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
header.fixed {
	opacity: 1;
	pointer-events: auto;
}
header > h1 {
	width: 10.8vw;
	max-width: 162px;
	height: 14.4vw;
	max-height: 216px;
}
header > h1 > a {
	display: block;
	width: 100%;
	height: 100%;
	background-image: url("../images/logo.png");
	background-size: 95% auto;
}
.open header > h1 > a {
	pointer-events: none;
}
header > h1 > a.hover {
	background-size: 100% auto;
}
@media screen and (max-width: 800px) {
	header > h1 {
		width: 21.6vw;
		max-width: inherit;
		height: 28.8vw;
		max-height: inherit;
	}
}
/*nav*/
nav {
	/*display: none;*/
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 100;
	opacity: 0;
	pointer-events: none;
}
nav.open {
	opacity: 0;
	pointer-events: auto;
	animation: fadein 0.5s ease-in forwards;
}
nav.close {
	opacity: 1;
	pointer-events: none;
	animation: fadein 2s ease-out reverse forwards;
}
@keyframes fadein {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
nav ul {
	width: 100%;
	height: 100vh;
	padding: 20vh 7% 3em;
}
nav ul button {
	padding: 0 1.5em;
	border-radius: 6px;
	outline: 0;
}
#menu {
	position: fixed;
	top: 0;
	right: 0;
	width: 5vw;
	height: 6.5vw;
	margin-top: 50vh;
	transform: translateY(-50%);
	z-index: 51;
	opacity: 0;
	pointer-events: none;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
#menu > a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 5vw;
	height: 6.5vw;
	background-color: #fff;
	border-radius: 6px 0 0 6px;
	box-shadow: 0 0 4px 0 rgba(0,0,0,0.5);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
#menu.fixed {
	opacity: 1;
	pointer-events: auto;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
#menu > a.hover {
	background-color: #dcdcdc;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
#menu > a > span {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
}
@media screen and (max-width: 800px) {
	#menu,
	#menu > a {
		width: 13vw;
		/*
		height: 16.9vw;
		*/
		height: 3em;
	}
}
/*kv*/
#kv {
	position: relative;
	width: 100vw!important;
	height: 100vh;
	overflow-x: hidden!important;
}
#kv .canvasWrapper #dom_overlay_container {
	position: absolute!important;
	top: 0!important;
	left: 0!important;
	width: 1px!important;
	height: 1px!important;
}

#kv .canvasWrapper,
#kv .canvasWrapper canvas{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 80vh!important;
	height: 100vh!important;
	transform: translate(-50%, -50%);
}
@media screen and (max-width: 800px) {
	#kv {
		height: 100vh;
	}
	#kv .canvasWrapper,
	#kv .canvasWrapper canvas {
		width: 80vw!important;
		height: 100vw!important;
		pointer-events: none;
	}
}
/*history*/
#history .widthWrapper {
	padding-bottom: 1em;
}
#history .slideGalleryWrapper {
	width: 100vw;
	height: 26vw;
	overflow-x: hidden!important;
}
#history .slideGalleryWrapper ul {
	width: 974.4vw;
	height: 26vw;
}
#history.action .slideGalleryWrapper ul {
	animation: slideshowToLeft 120s linear infinite;
}
#history .slideGalleryWrapper ul li {
	text-align: left;
	width: 13.6vw;
	height: 12.6vw;
}
#history .slideGalleryWrapper ul li:nth-child(3n + 1) {
	width: 27vw;
	height: 26vw;
}
#history .slideGalleryWrapper ul li img {
	width: auto;
	height: 100%;
}
@keyframes slideshowToLeft {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-487.2vw);
	}
}
@media screen and (max-width: 800px) {
	#history .widthWrapper {
		padding-top: 20vw;
	}
	#history .slideGalleryWrapper {
		height: 78vw;
	}
	#history .slideGalleryWrapper ul {
		width: 2923.2vw;
		height: 78vw;
	}
	#history.action .slideGalleryWrapper ul {
		animation: slideshowToLeftSp 100s linear infinite;
	}
	#history .slideGalleryWrapper ul li {
		width: 40.8vw;
		height: 37.8vw;
	}
	#history .slideGalleryWrapper ul li:nth-child(3n + 1) {
		width: 81vw;
		height: 78vw;
	}
}
@keyframes slideshowToLeftSp {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-1461.6vw);
	}
}
/*section*/
section h1 {
	padding: 1.5em 0 1em; 
}
/*YouTube*/
.movieWrapper,
.movieWrapper02 {
	position: relative;
	width: 100%;
	height: 0;
	margin: 0 auto;
	padding-top: 56.25%;
	overflow: hidden;
}
.movieWrapper > iframe,
.movieWrapper02 > iframe,
.movieWrapper > video,
.movieWrapper02 > video,
.movieWrapper > img,
.movieWrapper02 > img,
.movieWrapper > span,
.movieWrapper02 > span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
}
.movieWrapper > span,
.movieWrapper02 > span {
	width: 8%;
	height: 0;
	padding-top: 8%;
	background-image: url("../images/_svg/btnPlay.svg");
	background-size: contain;
}
@media screen and (max-width: 800px) {
	.movieWrapper > span,
	.movieWrapper02 > span {
		width: 16%;
		padding-top: 16%;
	}
}
/*topics*/
.topicsList {
	width: 100%;
}
.topicsList + .topicsList {
	display: none;
	margin-top: 2em;
}
.topicsList li {
	position: relative;
	width: 31%;
	margin-left: 3%;
}
.topicsList.action li.hover {
	animation: topicsHover 0.5s linear 0.01s forwards;
}
@keyframes topicsHover {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	20% {
		-webkit-transform: translateY(-1em);
		transform: translateY(-1em);
	}
	40% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	60% {
		-webkit-transform: translateY(-1em);
		transform: translateY(-1em);
	}
	80% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	60% {
		-webkit-transform: translateY(-0.5em);
		transform: translateY(-0.5em);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
.topicsList li.btnMore {
	width: 100%;
}
.topicsList li.btnMore > div {
	position: relative;
	display: block;
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	padding: 1em;
	cursor: pointer;
	overflow: hidden;
}
.topicsList li.btnMore > div::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	background-color: #dcdcdc;
	border-radius: 100%;
	transform: translate(-50%, -50%);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	pointer-events: none;
}
.topicsList li.btnMore > div.hover::before {
	width: 100vw;
	height: 100vw;
	background-color: #dcdcdc;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}
.topicsList li.btnMore > div > span {
	position: relative;
	display: inline-block;
	padding-right: 2em;
}
.topicsList li.btnMore > div > span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 0.25em;
	width: 1.5em;
	height: 1.5em;
	background-image: url("../images/_svg/btnMore.svg");
	transform: translateY(-50%);
}
.topicsList li:nth-child(3n + 1) {
	margin-left: 0;
}
.topicsList li:nth-child(n + 4) {
	margin-top: 2em;
}
.topicsList li > div {
	width: 100%;
	height: 100%;
	padding-bottom: 1em;
}
.topicsList li > div .thumb {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 75%;
	overflow: hidden;
}
.topicsList li > div .thumb img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: 102%;
	transform: translate(-50%, -50%);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
.topicsList li > div > .flexBlock,
.topicsList li > div > p {
	width: 100%;
	padding: 1em 1em 0;
	word-break: break-all;
}
.topicsList li > div > a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 800px) {
	.topicsList li,
	.topicsList li:nth-child(3n + 1) {
		width: 80%;
		margin-left: 10%;
		margin-right: 10%;
	}
	.topicsList li:nth-child(n + 1) {
		margin-top: 2em;
	}
}
/*present*/
#present .widthWrapper > .flexBlock > div:nth-child(1) {
	width: 39%;
}
#present .widthWrapper > .flexBlock > div:nth-child(2) {
	width: 60%;
	padding-left: 3em;
}
#present ol {
	width: 100%;
	list-style: none;
	counter-reset: none;
}
#present ol li {
	position: relative;
	width: 100%;
	padding-left: 1em;
	text-indent: -1em;
}
#present ol li + li {
	padding-top: 3em;
}
#present ol li + li::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: -0.5em;
	width: 100%;
	height: 3em;
	background-image: url("../images/_svg/arrowDown.svg");
	background-size: contain;
}
#present ol li > span {
	display: block;
	width: 70%;
}
#present ol li > span > span {
	display: block;
	text-indent: 0;
}
#present ol li > .qr {
	width: 25%;
	max-width: 240px;
}
@media screen and (max-width: 800px) {
	#present .widthWrapper > .flexBlock {
		flex-direction: column;
	}
	#present .widthWrapper > .flexBlock > div:nth-child(1) {
		width: 100%;
	}
	#present .widthWrapper > .flexBlock > div:nth-child(2) {
		width: 100%;
		margin-top: 1em;
		padding-left: 0;
	}
	#present ol li > span {
		display: block;
		width: 100%;
	}
	#present ol li > .qr {
		width: 40%;
		max-width: inherit;
		margin: 1em 30% 0;
	}
}
/*footer*/
footer {
	padding: 4.3em 1em 1em;
}
footer ul {
	height: 3em;
}
footer ul .logo {
	margin-right: 2.5em;
}
footer ul .sns {
	width: 3em;
	height: 3em;
	border: 1px solid #000;
	border-radius: 3em;
	background-size: 60% auto;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
footer ul .sns.hover {
	background-color: #fffce5;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
footer ul .sns + .sns {
	margin-left: 1em;
}
footer ul .snsFacebook {
	background-image: url("../images/_svg/iconSnsFacebook.svg");
}
footer ul .snsTwitter {
	background-image: url("../images/_svg/iconSnsTwitter.svg");
}
footer ul .snsInsta {
	background-image: url("../images/_svg/iconSnsInsta.svg");
}
footer ul + p {
	width: 8vw;
	height: auto;
	margin: 4em auto 2em;
}
footer ul + p a.hover {
	animation: topicsHover 0.5s linear 0.01s forwards;
}
footer .copyright {
	width: auto;
	height: 1.25em;
}
footer .copyright img {
	width: auto;
	height: 100%;
}
@media screen and (max-width: 800px) {
	footer ul {
		height: inherit;
	}
	footer ul .logo {
		width: 100%;
		margin-right: 0;
		margin-bottom: 2em;
	}
	footer ul + p {
		width: 36vw;
		height: auto;
		margin: 4em auto 2em;
	}
	footer .copyright,
	footer .copyright img {
		width: 100%;
		height: auto;
	}
}
/* animation */
.init {
	opacity: 0;
	-webkit-transform: translateY(40px);
	transform: translateY(40px);
}
.action .delay00 {
	animation: fadeAndSlideInTitle 0.5s linear 0.000001s forwards;
}
.action .delay01,
.topicsList.action li:nth-child(1) > div {
	animation: fadeAndSlideIn 0.5s linear 0.2s forwards;
}
.action .delay02,
.topicsList.action li:nth-child(2) > div {
	animation: fadeAndSlideIn 0.5s linear 0.4s forwards;
}
.action .delay03,
.topicsList.action li:nth-child(3) > div {
	animation: fadeAndSlideIn 0.5s linear 0.6s forwards;
}
.action .delay04,
.topicsList.action li:nth-child(4) > div {
	animation: fadeAndSlideIn 0.5s linear 0.8s forwards;
}
.action .delay05,
.topicsList.action li:nth-child(5) > div {
	animation: fadeAndSlideIn 0.5s linear 1s forwards;
}
.action .delay06,
.topicsList.action li:nth-child(6) > div {
	animation: fadeAndSlideIn 0.5s linear 1.2s forwards;
}
.action .delay07,
.topicsList.action li:nth-child(7) > div {
	animation: fadeAndSlideIn 0.5s linear 1.4s forwards;
}
.topicsList.action li:nth-child(8) > div {
	animation: fadeAndSlideIn 0.5s linear 1.6s forwards;
}
.topicsList.action li:nth-child(9) > div {
	animation: fadeAndSlideIn 0.5s linear 1.8s forwards;
}
.topicsList.action li:nth-child(10) > div {
	animation: fadeAndSlideIn 0.5s linear 2s forwards;
}
@keyframes fadeAndSlideIn {
	0% {
		opacity: 0;
		-webkit-transform: translateY(40px);
		transform: translateY(40px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
@keyframes fadeAndSlideInTitle {
	0% {
		opacity: 0;
		letter-spacing: -0.25em;
		-webkit-transform: translateY(40px);
		transform: translateY(40px);
	}
	60% {
		opacity: 1;
		letter-spacing: 0.015em;
		-webkit-transform: translateY(3px);
		transform: translateY(3px);
	}
	100% {
		opacity: 1;
		letter-spacing: 0;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}