/*
Theme Name: JCSF
Description: JCSF
Version: 1.0
Author: JCSF
*/

/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 共通項目 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
*{margin:0;padding:0;text-decoration:none;box-sizing: border-box;;}fieldset{border:0}body{line-height:1.8}body,dd,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,select,ul{margin:0;padding:0}img{border:0;vertical-align:top}a{text-decoration:none}em{font-style:normal}ul li{list-style-type:none;list-style-image:none}address{font-style:normal}strong {font-weight: bold}ul li {list-style:none}img{width: 100%;height: auto}
html{font-size: 62.5%;}
body{font-size: 1.5rem;}




/* body */
body {
	background: url("img/common/bg.jpg") repeat;
	font-family: "IBM Plex Sans JP", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: 500;
	color: #212121;
	padding: 0;
	margin: 0;
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
	word-wrap: break-word;
}
body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
	overflow: hidden;
}


/* テキスト装飾 */
.green {
	color: #1B926A;
}
.red {
	color: #F22335;
}
.blue {
	color: #0098D0;
}
.yellow {
	color: #F3AA00;
}
.purple {
	color: #742181;
}
.white {
	color: #fff;
}
.en {
	font-family: "Manrope", sans-serif;
	font-weight: 700;
}
a {
	color: #212121;
	text-decoration: none;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
a:before {
	transition: 0.3s;
	-webkit-transition: 0.3s;
}


/* flex */
.flex {
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-start {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
.flex-end {
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	 -ms-flex-direction: row-reverse;
		 flex-direction: row-reverse;
}
.flex-center {
	display: flex;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	padding: 0 30px;
	position: fixed;
	top: 30px;
	left: 0;
	z-index: 12;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
#header.is-animation {
	padding: 20px 30px 20px 30px;
	top: 0;
	background: #fff;
}
	#header .logo {
		width: 135px;
		line-height: 1;
		transition: 0.3s;
		-webkit-transition: 0.3s;
	}
	#header.is-animation .logo {
		width: 80px;
	}

	#header .globalnav {
		position: absolute;
		top: 0;
		left: 200px;
		transition: 0.3s;
		-webkit-transition: 0.3s;
	}
	#header.is-animation .globalnav {
		top: 17px;
	}
		#header .globalnav ul.list li {
			margin-right: 30px;
			position: relative;
		}
		#header .globalnav ul.list li:nth-last-child(1) {
			margin-right: 0;
		}
			#header .globalnav ul.list li a.head {
				display: block;
				height: 50px;
				font-size: 1.4rem;
				font-weight: 700;
				overflow: hidden;
				line-height: 1;
			}
			#header .globalnav ul.list li a.head:hover {
				color: #1B926A;
			}
			#header .globalnav ul.list li.active  a.head {
				color: #1B926A;
			}
			#header .globalnav ul.list li.has-child a.head:before {
				content: "";
				width: 0;
				height: 0;
				border-style: solid;
				border-width: 0 8px 8px 8px;
				border-color: transparent transparent #212121 transparent;
				position: absolute;
				bottom: -20px;
				left: 50%;
				margin-left: -8px;
				opacity: 0;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}
			#header .globalnav ul.list li.has-child.active a.head:before {
				bottom: 0;
				opacity: 1;
			}
				#header .globalnav ul.list li a.head span {
					display: block;
					line-height: 50px;
					transform: translateY(0);
					transition: transform 0.5s cubic-bezier(.7, 0, 0, 1);
				}
				#header .globalnav ul.list li a.head:hover span {
					transform: translateY(-100%);
				}
				#header .globalnav ul.list li.active a.head span {
					transform: translateY(-100%);
				}

			#header .globalnav ul.list li.has-child ul.sub_list {
				width: 180px;
				border: solid 1px #212121;
				position: absolute;
				left: 50%;
				top: 70px;
				padding: 0;
				border-radius: 10px;
				margin-left: -90px;
				background: #fff;
				visibility: hidden;
				opacity: 0;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}
			#header .globalnav ul.list li.has-child:hover > .sub_list {
				top: 50px;
				visibility: visible;
				opacity: 1;
			}
				#header .globalnav ul.list li.has-child .sub_list li {
					width: 100%;
					border-left: none;
					margin: 0;
					border-bottom: solid 1px #212121;
				}
				#header .globalnav ul.list li.has-child .sub_list li:nth-last-child(1) {
					border-bottom: none;
				}
					#header .globalnav ul.list li.has-child .sub_list li a {
						display: flex;
						justify-content: flex-start;
						align-items: center;
						height: auto;
						padding: 15px 10px 15px 15px;
						font-size: 1.3rem;
						line-height: 1;
						letter-spacing: 0;
						font-weight: 600;
					}
					#header .globalnav ul.list li.has-child .sub_list li a:hover {
						color: #1B926A;
					}
					#header .globalnav ul.list li.has-child .sub_list.support li:nth-child(1) a:hover {
						color: #F22335;
					}
					#header .globalnav ul.list li.has-child .sub_list.support li:nth-child(2) a:hover {
						color: #F3AA00;
					}
						#header .globalnav ul.list li.has-child .sub_list li a span:nth-child(2) {
							width: -webkit-calc(100% - 20px);
							width: calc(100% - 20px);
							padding-left: 8px;
						}
						#header .globalnav ul.list li.has-child .sub_list li a .arrow {
							width: 20px;
						}

	#header .info {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding-right: 0;
	}
		#header .info form {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			width: 170px;
			border: solid 1px #212121;
			border-radius: 20px;
			overflow: hidden;
			margin-left: 20px;
		}
			#header .info form input {
				width: -webkit-calc(100% - 30px);
				width: calc(100% - 30px);
				border-radius: 20px 0 0 20px;
				overflow: hidden;
				border: none;
				background: #fff;
				font-size: 1.2rem;
				height: 38px;
				padding-left: 10px;
			}
			#header .info form button {
				width: 30px;
				border: none;
				background: #fff;
				border-radius: 0;
				height: 38px;
				cursor: pointer;
				text-align: left;
			}
				#header .info form button img {
					width: 18px;
				}

		#header .info .bogo-language-switcher {
			display: flex;
			flex-direction: row-reverse;
			margin-top: 5px;
			line-height: 1;
		}
			#header .info .bogo-language-switcher li {
				font-size: 1.4rem;
				line-height: 1;
				font-family: "Manrope", sans-serif;
				font-weight: 700;
			}
			#header .info .bogo-language-switcher li.ja {
				padding-right: 10px;
			}
			#header .info .bogo-language-switcher li.en-US {
				position: relative;
				padding-left: 10px;
			}
			#header .info .bogo-language-switcher li.en-US::before {
				content: "";
				width: 1px;
				height: 90%;
				background: #212121;
				position: absolute;
				top: 0;
				left: 0;
			}
				#header .info .bogo-language-switcher li .bogoflags {
					display: none;
				}
				#header .info .bogo-language-switcher li a {
					display: block;
					font-size: 1.4rem;
					line-height: 1;
					color: #ABABAB;
				}
				#header .info .bogo-language-switcher li.current a {
					color: #212121;
				}

		#header .info ul.sns-list {
			margin-right: 20px;
		}
			#header .info ul.sns-list li {
				margin-right: 10px;
			}
			#header .info ul.sns-list li:nth-last-child(1) {
				margin-right: 0;
			}
				#header .info ul.sns-list li a {
					display: block;
					width: 38px;
					background: #fff;
					border: solid 1px #212121;
					border-radius: 50%;
				}
				#header .info ul.sns-list li a:hover {
					background: #F4F3F2;
				}
@media screen and (max-width: 1200px) {
	#header .globalnav {
		display: none;
	}
	
	#header .info {
		padding-right: 60px;
	}
}
@media screen and (max-width: 767px) {
	#header {
		padding: 0 20px;
		top: 20px;
	}
	#header.is-animation {
		padding: 15px 30px 15px 30px;
		top: 0;
		background: #fff;
	}
		#header .logo {
			width: 100px;
		}

		#header .info {
			margin-top: 8px;
			padding-right: 60px;
			transition: 0.3s;
			-webkit-transition: 0.3s;
		}
		#header.is-animation .info {
			margin-top: 5px;
			padding-right: 50px;
		}
			#header .info form {
				display: none;
			}
	
			#header .info .bogo-language-switcher {
				margin-top: 0;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}
				#header .info .bogo-language-switcher li a {
					font-size: 1.2rem;
				}

		#header .info ul.sns-list {
			margin-right: 17px;
		}
			#header .info ul.sns-list li {
				margin-right: 8px;
			}
				#header .info ul.sns-list li a {
					width: 30px;
				}
}


	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニューボタン */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubtn {
	display: none;
	width: 40px;
	height: 40px;
	position: fixed;
	top: 30px;
	right: 30px;
	z-index: 15;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
	#menubtn .menu {
		display: block;
		position: relative;
		cursor: pointer;
		border-radius: 50%;
		background: #212121;
		width: 40px;
		height: 40px;
	}
		#menubtn .menu span {
			width: 18px;
			display: inline-block;
			border-radius: 1px;
			position: absolute;
			top: 50%;
			left: 50%;
			margin-left: -9px;
			height: 1px;
			background: #fff;
		}
		#menubtn .menu span:nth-of-type(1) {
			margin-top: -3px;
		}
		#menubtn .menu span:nth-of-type(2) {
			margin-top: 3px;
		}

		#menubtn .menu.active .openbtn-area {
			transform: rotateY(-360deg);
		}
			#menubtn .menu.active span  {
				background: #fff;
			}
			#menubtn .menu.active span:nth-of-type(1) {
				transform: translateY(6px) rotate(-155deg);
				margin-top: -6px;
			}
			#menubtn .menu.active span:nth-of-type(2) {
				transform: translateY(-6px) rotate(155deg);
				margin-top: 6px;
			}
@media screen and (max-width: 1200px) {
	#menubtn {
		display: block;
	}
	#menubtn.is-animation {
		top: 20px;
	}
}
@media screen and (max-width: 767px) {
	#menubtn {
		width: 46px;
		height: 46px;
		top: 20px;
		right: 20px;
	}
	#menubtn.is-animation {
		top: 12px;
	}
		#menubtn .menu {
			width: 46px;
			height: 46px;
			background: #fff;
			border: solid 1px #212121;
		}
		#menubtn .menu.active {
			background: #212121;
		}
			#menubtn .menu span {
				width: 20px;
				margin-left: -10px;
				background: #212121;
			}
}


	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox {
	display: none;
}
@media screen and (max-width: 1200px) {
	#menubox {
		width: 100%;
		max-width: 380px;
		height: 100vh;
		background: #fff;
		border-radius: 30px 0 0 30px;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 11;
	}
		#menubox .menunav {
			display: block;
			width: 100%;
			height: 100%;
			padding: 100px 13% 60px 13%;
			overflow: hidden;
			overflow-y: scroll;
		}
			#menubox .menunav ul.sns-list {
				display: flex;
				justify-content: center;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
			}
				#menubox .menunav ul.sns-list li {
					margin-right: 10px;
				}
				#menubox .menunav ul.sns-list li:nth-last-child(1) {
					margin-right: 0;
				}
					#menubox .menunav ul.sns-list li a {
						display: block;
						width: 38px;
						background: #fff;
						border: solid 1px #212121;
						border-radius: 50%;
					}
					#menubox .menunav ul.sns-list li a:hover {
						background: #F4F3F2;
					}
	
			#menubox .menunav ul.menulist li {
				border-bottom: solid 1px #212121;
			}
			#menubox .menunav ul.menulist li:nth-last-child(1) {
				margin-bottom: 0;
			}
				#menubox .menunav ul.menulist li a.head {
					display: flex;
					justify-content: space-between;
					align-items: center;
					font-size: 1.6rem;
					font-weight: 600;
					line-height: 1;
					padding: 20px 5px 20px 0;
				}
				#menubox .menunav ul.menulist li span.head {
					display: flex;
					justify-content: space-between;
					align-items: center;
					font-size: 1.6rem;
					font-weight: 600;
					line-height: 1;
					padding: 25px 5px 20px 0;
				}
					#menubox .menunav ul.menulist li .head span:nth-child(1) {
						padding-top: 3px;
					}

				#menubox .menunav ul.menulist li .sublist {
					border-top: dashed 1px #212121;
				}
				#menubox .menunav ul.menulist li .sublist li {
					margin-bottom: 0;
					border-bottom: dashed 1px #212121;
				}
				#menubox .menunav ul.menulist li .sublist li:nth-last-child(1) {
					border-bottom: none;
				}
					#menubox .menunav ul.menulist li .sublist li a {
						display: flex;
						justify-content: space-between;
						align-items: center;
						font-size: 1.4rem;
						padding: 15px 5px 15px 5px;
					}
}
@media screen and (max-width: 767px) {
	#menubox {
		max-width: 100%;
		height: 100dvh;
		border-radius: 0;
	}
		#menubox .menunav {
			padding: 25vw 10vw 60px 10vw;
		}
			#menubox .menunav ul.sns-list li {
				margin-right: 3vw;
				margin-bottom: 2vw;
			}
				#menubox .menunav ul.sns-list li a {
					width: 10vw;
				}
	
			#menubox .menunav ul.menulist li a.head {
				font-size: 4.4vw;
				font-weight: 600;
				line-height: 1;
				padding: 5vw 2vw 5vw 0;
			}
			#menubox .menunav ul.menulist li span.head {
				font-size: 4.4vw;
				font-weight: 600;
				line-height: 1;
				padding: 6vw 2vw 5vw 0;
			}
				#menubox .menunav ul.menulist li .head span:nth-child(1) {
					padding-top: 1vw;
				}

				#menubox .menunav ul.menulist li .sublist li a {
					font-size: 3.8vw;
					padding: 4vw 2vw 3vw 0;
				}
}





	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* タイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* pagetitle */
#pagetitle {
	background: url("img/common/motif_green.svg") no-repeat right bottom 50px / 208px;
}
.creators #pagetitle {
	background: url("img/common/motif_red.svg") no-repeat right bottom 50px / 208px;
}
.cultural-facilities #pagetitle {
	background: url("img/common/motif_yellow.svg") no-repeat right bottom 50px / 208px;
}
.developer #pagetitle {
	background: url("img/common/motif_purple.svg") no-repeat right bottom 50px / 208px;
}
.entertainment #pagetitle {
	background: url("img/common/motif_blue.svg") no-repeat right bottom 50px / 208px;
}
	#pagetitle .inner {
		padding: 170px 0 70px 0;
	}
		#pagetitle .breadcrumb  {
			display: block;
			overflow-x: scroll;
			white-space: nowrap;
			letter-spacing: 0;
			font-size: 1.2rem;
			line-height: 1;
			padding-bottom: 5px;
		}
		#pagetitle .breadcrumb::-webkit-scrollbar {
			width: 3px;
			height: 3px;
		}
		#pagetitle .breadcrumb::-webkit-scrollbar-track {
			background: none;
		}
		#pagetitle .breadcrumb::-webkit-scrollbar-thumb {
			background: #fff;
		}
			#pagetitle .breadcrumb a  {
				text-decoration: underline;
				color: #888888;
			}
			#pagetitle .breadcrumb a:hover  {
				text-decoration: none;
			}

			#pagetitle .breadcrumb .current-item  {
				color: #212121;
			}

		#pagetitle h1 {
			margin-top: 20px;
			font-size: 5.0rem;
			font-weight: 700;
			line-height: 1.3em;
		}
			#pagetitle h1 span {
				display: block;
				font-size: 3.0rem;
				font-weight: 700;
				line-height: 1.3em;
			}

/* h2-tit */
.h2-tit {
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.3em;
	margin-bottom: 15px;
	padding-left: 28px;
}
.h2-tit.motif-red {
	background: url("img/common/motif_red.svg") no-repeat left top 5px / 18px;
}
.h2-tit.motif-blue {
	background: url("img/common/motif_blue.svg") no-repeat left top 5px / 18px;
}
.h2-tit.motif-green {
	background: url("img/common/motif_green.svg") no-repeat left top 5px / 18px;
}
.h2-tit.motif-yellow {
	background: url("img/common/motif_yellow.svg") no-repeat left top 5px / 18px;
}
.h2-tit.motif-purple {
	background: url("img/common/motif_purple.svg") no-repeat left top 5px / 18px;
}
@media screen and (max-width: 1024px) {
	#pagetitle {
		background: url("img/common/motif_green.svg") no-repeat right bottom 5vw / auto 50%;
	}
	.creators #pagetitle {
		background: url("img/common/motif_red.svg") no-repeat right bottom 5vw / auto 50%;
	}
	.cultural-facilities #pagetitle {
		background: url("img/common/motif_yellow.svg") no-repeat right bottom 5vw / auto 50%;
	}
	.developer #pagetitle {
		background: url("img/common/motif_purple.svg") no-repeat right bottom 5vw / auto 50%;
	}
	.entertainment #pagetitle {
		background: url("img/common/motif_blue.svg") no-repeat right bottom 5vw / auto 50%;
	}
		#pagetitle .inner {
			padding: 17vw 0 6vw 0;
		}
			#pagetitle .breadcrumb  {
				font-size: 1.2vw;
			}

			#pagetitle h1 {
				margin-top: 2vw;
				font-size: 5.0vw;
			}
				#pagetitle h1 span {
					font-size: 2.8vw;
				}

	/* h2-tit */
	.h2-tit {
		font-size: 2.6vw;
		margin-bottom: 1.5vw;
		padding-left: 2.8vw;
	}
	.h2-tit.motif-red {
		background: url("img/common/motif_red.svg") no-repeat left top 0.5vw / 1.8vw;
	}
	.h2-tit.motif-blue {
		background: url("img/common/motif_blue.svg") no-repeat left top 0.5vw / 1.8vw;
	}
	.h2-tit.motif-green {
		background: url("img/common/motif_green.svg") no-repeat left top 0.5vw / 1.8vw;
	}
	.h2-tit.motif-yellow {
		background: url("img/common/motif_yellow.svg") no-repeat left top 0.5vw / 1.8vw;
	}
	.h2-tit.motif-purple {
		background: url("img/common/motif_purple.svg") no-repeat left top 0.5vw / 1.8vw;
	}
}
@media screen and (max-width: 767px) {
	#pagetitle {
		background: url("img/common/motif_green.svg") no-repeat right bottom 11.5vw / auto 40%;
	}
	.creators #pagetitle {
		background: url("img/common/motif_red.svg") no-repeat right bottom 11.5vw / auto 40%;
	}
	.cultural-facilities #pagetitle {
		background: url("img/common/motif_yellow.svg") no-repeat right bottom 11.5vw / auto 40%;
	}
	.developer #pagetitle {
		background: url("img/common/motif_purple.svg") no-repeat right bottom 11.5vw / auto 40%;
	}
	.entertainment #pagetitle {
		background: url("img/common/motif_blue.svg") no-repeat right bottom 11.5vw / auto 40%;
	}
		#pagetitle .inner {
			padding: 120px 0 9vw 0;
		}
			#pagetitle .breadcrumb  {
				font-size: 2.8vw;
			}
				#pagetitle .breadcrumb span br  {
					display: none;
				}

			#pagetitle h1 {
				margin-top: 4vw;
				font-size: 7.6vw;
			}
				#pagetitle h1 span {
					margin-top: 1vw;
					font-size: 4.6vw;
					line-height: 1.4em;
				}

	/* h2-tit */
	.h2-tit {
		font-size: 5.2vw;
		margin-bottom: 2.5vw;
		padding-left: 5.5vw;
	}
	.h2-tit.motif-red {
		background: url("img/common/motif_red.svg") no-repeat left top 1vw / 3.8vw;
	}
	.h2-tit.motif-blue {
		background: url("img/common/motif_blue.svg") no-repeat left top 1vw / 3.8vw;
	}
	.h2-tit.motif-green {
		background: url("img/common/motif_green.svg") no-repeat left top 1vw / 3.8vw;
	}
	.h2-tit.motif-yellow {
		background: url("img/common/motif_yellow.svg") no-repeat left top 1vw / 3.8vw;
	}
	.h2-tit.motif-purple {
		background: url("img/common/motif_purple.svg") no-repeat left top 1vw / 3.8vw;
	}
}




	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 矢印 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* btn */
a.btn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 250px;
	height: 60px;
	border-radius: 30px;
	padding: 0 20px 0 20px;
	background: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2em;
}
	a.btn span:nth-child(1) {
		width: -webkit-calc(100% - 26px);
		width: calc(100% - 26px);
		padding-right: 10px;
		padding-top: 3px;
	}
	a.btn .arrow {
		width: 26px;
		text-align: center;
	}

a.btn:hover {
	color: #fff;
}
a.btn-red:hover {
	background: #F22335;
}
a.btn-yellow:hover {
	background: #F3AA00;
}
a.btn-green:hover {
	background: #1B926A;
}
a.btn-blue:hover {
	background: #0098D0;
}
a.btn-purple:hover {
	background: #742181;
}

/* more */
a .more {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 1.4rem;
	transition: 0.3s;
	-webkit-transition: 0.3s
}
a:hover .more-red {
	color: #F22335;
}
a:hover .more-blue {
	color: #0098D0;
}
a:hover .more-green {
	color: #1B926A;
}
a:hover .more-yellow {
	color: #F3AA00;
}
a:hover .more-purple {
	color: #742181;
}
	a .more span:nth-child(1) {
		margin-right: 10px;
	}

/* arrow */
.arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	border: solid 1px #212121;
	transition: 0.3s;
	-webkit-transition: 0.3s
}
.arrow.b {
	width: 26px;
	height: 26px;
}
.arrow.s {
	width: 20px;
	height: 20px;
}
.arrow.red {
	background: #F22335;
}
.arrow.green {
	background: #1B926A;
}
.arrow.blue {
	background: #0098D0;
}
.arrow.yellow {
	background: #F3AA00;
}
.arrow.purple {
	background: #742181;
}
a:hover .arrow {
	background: #ffff !important;
}
	a .arrow svg {
		fill: #fff;
		transition: 0.3s;
		-webkit-transition: 0.3s
	}
	.arrow.b svg {
		width: 10px;
	}
	.arrow.s svg {
		width: 6px;
	}

	a:hover .arrow.red svg {
		fill: #F22335;
	}
	a:hover .arrow.green svg {
		fill: #1B926A;
	}
	a:hover .arrow.blue svg {
		fill: #0098D0;
	}
	a:hover .arrow.yellow svg {
		fill: #F3AA00;
	}
	a:hover .arrow.purple svg {
		fill: #742181;
	}

/* link-list */
ul.link-list li {
	margin-top: 20px;
}
	ul.link-list li a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		background: #fff;
		border: solid 1px #212121;
		border-radius: 10px;
		padding: 15px 20px;
		font-size: 1.6rem;
		line-height: 1.4em;
	}
	ul.link-list li a:hover {
		background: #1B926A;
		color: #fff;
	}

/* pagenavi */
.pagenavi {
	width: 100%;
	display: block;
}
.wp-pagenavi {
	clear: both;
	text-align: center;
	font-weight: 500;
	font-size: 100%;
}
.wp-pagenavi a, .wp-pagenavi span {
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	font-family: 'Jost', sans-serif;
	font-weight: 400;
	font-size: 1.5rem;
	font-weight: 500;
	background: #fff;
	border: solid 1px #212121;
	color: #0D0D0D;
	text-align: center;
	line-height: 40px;
	margin: 0 5px;
	padding: 0;
	transition: 0.3s;
	-webkit-ransition: 0.3s;
}
.wp-pagenavi a:hover{
	opacity: 1;
	background: #F1F1F1;
}
.wp-pagenavi span.current{
	color: #fff;
	background: #212121;
	font-weight: 700;
}
.wp-pagenavi .pages,
.wp-pagenavi .first,
.wp-pagenavi .last {
	display: none;
}
@media screen and (max-width: 1024px) {
	/* btn */
	a.btn {
		max-width: 26vw;
		height: 6vw;
		border-radius: 3vw;
		padding: 0 2vw 0 2vw;
		font-size: 1.6vw;
	}
		a.btn span:nth-child(1) {
			width: -webkit-calc(100% - 2.6vw);
			width: calc(100% - 2.6vw);
			padding-right: 1vw;
			padding-top: 0.3vw;
		}
		a.btn .arrow {
			width: 2.6vw;
		}

	/* more */
	a .more {
		font-size: 1.4vw;
	}
		a .more span:nth-child(1) {
			margin-right: 1vw;
		}
	
	/* arrow */
	.arrow.b {
		width: 2.6vw;
		height: 2.6vw;
	}
	.arrow.s {
		width: 2vw;
		height: 2vw;
	}
		.arrow.b svg {
			width: 1vw;
		}
		.arrow.s svg {
			width: 0.6vw;
		}

	/* link-list */
	ul.link-list li {
		margin-top: 2vw;
	}
		ul.link-list li a {
			padding: 1.5vw 2vw;
			font-size: 1.6vw;
		}

	/* pagenavi */
	.wp-pagenavi a, .wp-pagenavi span {
		width: 4vw;
		height: 4vw;
		font-size: 1.5vw;
		line-height: 4vw;
		margin: 0 0.5vw;
	}
}
@media screen and (max-width: 767px) {
	/* btn */
	a.btn {
		max-width: 55vw;
		height: 14vw;
		border-radius: 20vw;
		padding: 0 4vw 0 5vw;
		font-size: 3.8vw;

	}
		a.btn span:nth-child(1) {
			width: -webkit-calc(100% - 6vw);
			width: calc(100% - 6vw);
		}
		a.btn .arrow {
			width: 6vw;
		}

	/* more */
	a .more {
		font-size: 3.2vw;
	}
		a .more span:nth-child(1) {
			margin-right: 2vw;
		}
	
	/* arrow */
	.arrow.b {
		width: 6vw;
		height: 6vw;
	}
	.arrow.s {
		width: 5vw;
		height: 5vw;
	}
		.arrow.b svg {
			width: 2.5vw;
		}
		.arrow.s svg {
			width: 2vw;
		}

	/* link-list */
	ul.link-list li {
		margin-top: 3vw;
	}
		ul.link-list li a {
			padding: 3vw 3vw;
			font-size: 3.4vw;
		}
		ul.link-list li a span:nth-child(1) {
			width: -webkit-calc(100% - 8vw);
			width: calc(100% - 8vw);
		}
		ul.link-list li a .arrow {
			width: 6vw;
		}

	/* pagenavi */
	.wp-pagenavi a, .wp-pagenavi span {
		width: 8vw;
		height: 8vw;
		font-size: 3.2vw;
		line-height: 8vw;
		margin: 0 1vw;
	}
}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.sp {
	display: none;
}

/* main */
#main {
	display: block;
}
.inner {
	width: 1100px;
	margin: 0 auto;
	position: relative;
}
.inner_full {
	width: 100%;
	position: relative;
}

/* img-over */
a .img-over {
	overflow: hidden;
}
	a .img-over img {
		-moz-transition: -moz-transform 0.2s linear;
		-webkit-transition: -webkit-transform 0.2s linear;
		-o-transition: -o-transform 0.2s linear;
		-ms-transition: -ms-transform 0.2s linear;
		transition: transform 0.2s linear;
	}
	a:hover .img-over img {
		-webkit-transform: scale(1.05);
		-moz-transform: scale(1.05);
		-o-transform: scale(1.05);
		-ms-transform: scale(1.05);
		transform: scale(1.05);
	}

/* border-box */
.border-box {
	border: solid 1px #212121;
}

/* wrap */
.wrap-beginning {
	padding-top: 100px;
}
.wrap-top {
	padding-top: 100px;
}
.wrap-bottom {
	padding-bottom: 100px;
}

/* txt */
.txt {
	font-size: 1.6rem;
	line-height: 2em;
}
.sub-txt {
	font-size: 1.3rem;
	line-height: 1.4em;
}

/* marquee */
.container {
	overflow: hidden;
	border-top: solid 1px #212121;
	border-bottom: solid 1px #212121;
	height: 50px;
}
	.container .marquee {
		position: relative;
		width: 100%;
		height: 50px;
		overflow: hidden;
	}
		.container .marquee .marquee__inner {
			display: flex;
			white-space: nowrap;
			animation: scroll linear infinite;
		}
			.container .marquee .marquee__inner span {
				display: inline-block;
				font-size: 1.8rem;
				line-height: 50px;
				margin-right: 20px;
			}
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 1200px) {
	.inner {
		width: 88%;
	}
}
@media screen and (max-width: 1024px) {
	/* wrap */
	.wrap-beginning {
		padding-top: 10vw;
	}
	.wrap-top {
		padding-top: 10vw;
	}
	.wrap-bottom {
		padding-bottom: 10vw;
	}

	/* txt */
	.txt {
		font-size: 1.6vw;
		line-height: 1.7em;
	}
	.sub-txt {
		font-size: 1.3vw;
	}

	/* marquee */
	.container {
		height: auto;
	}
		.container .marquee {
			height: auto;
		}
			.container .marquee .marquee__inner span {
				font-size: 1.8vw;
				line-height: 1;
				padding: 1.5vw 0;
			}
}
@media screen and (max-width: 767px) {
	.sp {
		display: block;
	}
	.pc {
		display: none !important;
	}

	/* wrap */
	.wrap-beginning {
		padding-top: 15vw;
	}
	.wrap-top {
		padding-top: 16vw;
	}
	.wrap-bottom {
		padding-bottom: 16vw;
	}

	/* txt */
	.txt {
		font-size: 3.8vw;
	}
	.sub-txt {
		font-size: 3.2vw;
	}

	/* marquee */
	.container .marquee .marquee__inner span {
		font-size: 4.0vw;
		padding: 3.5vw 0;
	}
}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* パーツ */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* row */
.row .set {
	margin-bottom: 60px;
}
.row .set:nth-last-child(1) {
	margin-bottom: 0;
}
	.row .txt.mt {
		margin-top: 15px;
	}

	.row ol {
		padding-left: 20px;
	}
		.row ol li {
			font-size: 1.6rem;
			line-height: 1.6em;
			margin-top: 5px;
		}

	.row .set h3 {
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1.3em;
		border-bottom: solid 1px #212121;
		margin-top: 30px;
		padding-bottom: 10px;
		margin-bottom: 25px;
	}
		.row .set h3 span {
			font-size: 1.6rem;
		}

	.row .set .cell {
		margin-bottom: 30px;
	}
	.row .set .cell:nth-last-child(1) {
		margin-bottom: 0;
	}

		.row .set .cell .text {
			width: 75%;
			padding-right: 3%;
		}

		.row .set .cell .logo {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 25%;
			border-radius: 15px;
			background: #fff;
			padding: 40px 3%;
		}
			.row .set .cell .logo img {
				width: 100%;
			}

		.row .set .cell h4 {
			font-size: 1.8rem;
			font-weight: 700;
			line-height: 1.3em;
			margin-top: 10px;
			margin-bottom: 10px;
		}
			.row .set .cell h4 span {
				font-size: 1.6rem;
			}

		.row .set .cell .logo-center {
			width: 540px;
			margin: 40px auto 20px auto;
		}

		.row .set .cell .btn-area {
			margin-top: 60px;
		}
			.row .set .cell .btn-area .box {
				width: 48%;
				background: #fff;
				border-radius: 10px;
				padding: 35px 10px;
			}
				.row .set .cell .btn-area .box .head {
					font-size: 2.0rem;
					font-weight: 700;
					line-height: 1.3em;
					text-align: center;
					margin-bottom: 18px;
				}
				.row .set .cell .btn-area .box .btn {
					margin: 0 auto;
				}

		.row .set .cell .btn-list .link {
			display: block;
			margin-top: 15px;
			margin-right: 20px;
		}
		.row .set .cell .btn-list .link:nth-last-child(1) {
			margin-right: 0;
		}

/* download */
#download {
	width: -webkit-calc(100% - 100px);
	width: calc(100% - 100px);
	margin: 0 auto 100px auto;
	background: #fff;
	border-radius: 20px;
}
	#download .inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
		#download .inner .text {
			width: -webkit-calc(100% - 300px);
			width: calc(100% - 300px);
		}

		#download .inner .btn {
			width: 100%;
		}

/* search */
#search .list a.linkbox {
	display: block;
	width: 31%;
	background: #fff;
	border-radius: 15px;
	overflow: hidden;
	margin-right: 3.5%;
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 25px 30px;
}
#search .list a.linkbox:nth-child(3n) {
	margin-right: 0;
}
	#search .list a.linkbox h3 {
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1.3em;
		margin-bottom: 10px;
	}

	#search .list a.linkbox p {
		font-size: 1.4rem;
		line-height: 1.7em;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		margin-bottom: 20px;
	}
@media screen and (max-width: 1024px) {
	/* row */
	.row .set {
		margin-bottom: 6vw;
	}
		.row .txt.mt {
			margin-top: 1.5vw;
		}

		.row ol {
			padding-left: 2vw;
		}
			.row ol li {
				font-size: 1.6vw;
				margin-top: 0.5vw;
			}
	
		.row .set h3 {
			font-size: 2.2vw;
			margin-top: 3vw;
			padding-bottom: 1vw;
			margin-bottom: 2.5vw;
		}
			.row .set h3 span {
				font-size: 1.6vw;
			}

		.row .set .cell {
			margin-bottom: 3vw;
		}
			.row .set .cell .text {
				width: 75%;
				padding-right: 3%;
			}

			.row .set .cell .logo {
				padding: 2vw 2vw;
			}

			.row .set .cell h4 {
				font-size: 1.8vw;
				margin-top: 1vw;
				margin-bottom: 1vw;
			}
				.row .set .cell h4 span {
					font-size: 1.6vw;
				}

			.row .set .cell .logo-center {
				width: 54vw;
				margin: 4vw auto 2vw auto;
			}

			.row .set .cell .btn-area {
				margin-top: 6vw;
			}
				.row .set .cell .btn-area .box {
					border-radius: 1vw;
					padding: 3.5vw 1vw;
				}
					.row .set .cell .btn-area .box .head {
						font-size: 2.0vw;
						margin-bottom: 1.8vw;
					}

			.row .set .cell .btn-list .link {
				margin-top: 1.5vw;
				margin-right: 2vw;
			}

	/* download */
	#download {
		width: -webkit-calc(100% - 60px);
		width: calc(100% - 60px);
		margin: 0 auto 10vw auto;
	}
		#download .inner .text {
			width: -webkit-calc(100% - 30vw);
			width: calc(100% - 30vw);
		}

	/* search */
	#search .list a.linkbox {
		margin-top: 2vw;
		margin-bottom: 2vw;
		padding: 2.5vw 3vw;
	}
		#search .list a.linkbox h3 {
			font-size: 1.8vw;
			margin-bottom: 1vw;
		}

		#search .list a.linkbox p {
			font-size: 1.4vw;
			margin-bottom: 2vw;
		}
}
@media screen and (max-width: 767px) {
	/* row */
	.row .set {
		margin-bottom: 12vw;
	}
		.row .txt.mt {
			margin-top: 3vw;
		}

		.row ol {
			padding-left: 5vw;
		}
			.row ol li {
				font-size: 3.6vw;
				margin-top: 1vw;
			}
	
		.row .set h3 {
			font-size: 4.6vw;
			margin-top: 5vw;
			padding-bottom: 3vw;
			margin-bottom: 5vw;
		}
			.row .set h3 span {
				font-size: 3.4vw;
			}

		.row .set .cell {
			display: block;
			margin-bottom: 10vw;
		}
			.row .set .cell .text {
				width: 100%;
				padding-right: 0;
				margin-bottom: 5vw;
			}

			.row .set .cell .logo {
				width: 100%;
				padding: 7vw 15vw;
			}

			.row .set .cell h4 {
				font-size: 4.1vw;
				margin-top: 8vw;
				margin-bottom: 3vw;
			}
				.row .set .cell h4 span {
					font-size: 3.4vw;
				}

			.row .set .cell .logo-center {
				width: 70vw;
				margin: 6vw auto 4vw auto;
			}

			.row .set .cell .btn-area {
				display: block;
				margin-top: 12vw;
			}
				.row .set .cell .btn-area .box {
					width: 100%;
					border-radius: 2vw;
					padding: 7vw 5vw;
					margin-bottom: 6vw;
				}
				.row .set .cell .btn-area .box:nth-last-child(1) {
					margin-bottom: 0;
				}
					.row .set .cell .btn-area .box .head {
						font-size: 4.0vw;
						margin-bottom: 3.6vw;
					}

			.row .set .cell .btn-list .link {
				margin-top: 3vw;
				margin-right: 5vw;
			}

	/* download */
	#download {
		width: -webkit-calc(100% - 40px);
		width: calc(100% - 40px);
		margin: 0 auto 15vw auto;
	}
		#download .inner {
			display: block;
		}
			#download .inner .text {
				width: 100%;
				padding: 0 3vw;
				margin-bottom: 6vw;
			}
	
			#download .inner .btn {
				margin: 0 auto;
			}

	/* search */
	#search .list {
		display: block;
	}
		#search .list a.linkbox {
			width: 100%;
			margin-top: 5vw;
			margin-right: 0;
			margin-bottom: 6vw;
			padding: 8vw 6vw 6vw 6vw;
		}
		#search .list a.linkbox:nth-last-child(1) {
			margin-bottom: 0;
		}
			#search .list a.linkbox h3 {
				font-size: 4.2vw;
				margin-bottom: 3vw;
			}

			#search .list a.linkbox p {
				font-size: 3.6vw;
				margin-bottom: 5vw;
			}
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	width: -webkit-calc(100% - 100px);
	width: calc(100% - 100px);
	margin: 0 auto 50px auto;
	padding-top: 60px;
	padding-bottom: 60px;
	background: #212121;
	border-radius: 20px;
}
	#footer .catch {
		font-size: 9.0rem;
		font-weight: 900;
		line-height: 1.1em;
		margin-bottom: 60px;
	}

	#footer .area .logo {
		width: 160px;
	}

	#footer .area .info {
		width: -webkit-calc(100% - 160px);
		width: calc(100% - 160px);
		padding-left: 80px;
	}
		#footer .area .info ul.navlist li {
			width: 31%;
			margin-right: 3.5%;
			border-bottom: solid 1px #494949;
		}
		#footer .area .info ul.navlist li:nth-child(3n) {
			margin-right: 0;
		}
		#footer .area .info ul.navlist li:nth-child(1),
		#footer .area .info ul.navlist li:nth-child(2),
		#footer .area .info ul.navlist li:nth-child(3) {
			border-top: solid 1px #494949;
		}
			#footer .area .info ul.navlist li a {
				display: flex;
				justify-content: space-between;
				align-items: center;
				height: 70px;
				padding: 0 5px;
				font-size: 1.3rem;
				line-height: 1.4em;
				color: #fff;
			}
			#footer .area .info ul.navlist li a:hover {
				opacity: 0.7;
			}
				#footer .area .info ul.navlist li a svg {
					width: 10px;
					fill: #fff;
					margin-left: 10px;
				}

		#footer .area .info .other {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding-top: 60px;
		}
			#footer .area .info .other ul.sns-list li {
				margin-right: 7px;
			}
			#footer .area .info .other ul.sns-list li:nth-last-child(1) {
				margin-right: 0;
			}
				#footer .area .info .other ul.sns-list li a {
					display: block;
					width: 32px;
					background: #fff;
					border: solid 1px #212121;
					border-radius: 50%;
				}
				#footer .area .info .other ul.sns-list li a:hover {
					background: #F4F3F2;
				}

			#footer .area .info .other .text .cta-txt {
				width: 330px;
				line-height: 1;
				margin-bottom: 14px;
			}

			#footer .area .info .other .text .copyright {
				white-space: nowrap;
				font-size: 1.1rem;
				font-weight: 400;
				line-height: 1;
				text-align: right;
			}

			#footer .area .info .other .logo-ntj {
				width: 170px;
			}
				#footer .area .info .other .logo-ntj a {
					display: block;
				}
				#footer .area .info .other .logo-ntj a:hover {
					opacity: 0.7;
				}
@media screen and (max-width: 1300px) {
	#footer .inner {
		width: 88%;
	}
		#footer .catch {
			font-size: 7.2rem;
		}

		#footer .area .info {
			padding-left: 50px;
		}
}
@media screen and (max-width: 1024px) {
	#footer {
		width: -webkit-calc(100% - 60px);
		width: calc(100% - 60px);
		margin: 0 auto 30px auto;
		padding-top: 6vw;
		padding-bottom: 6vw;
	}
		#footer .catch {
			font-size: 7.0vw;
			font-weight: 900;
			line-height: 1.2em;
			margin-bottom: 6vw;
		}

		#footer .area .logo {
			width: 19%;
		}

		#footer .area .info {
			width: 81%;
			padding-left: 6%;
		}
			#footer .area .info ul.navlist li a {
				height: 7vw;
				padding: 0 0.5vw;
				font-size: 1.3vw;
			}
				#footer .area .info ul.navlist li a svg {
					width: 1vw;
					margin-left: 1vw;
				}

			#footer .area .info .other {
				padding-top: 6vw;
			}
				#footer .area .info .other ul.sns-list li {
					margin-right: 0.7vw;
				}
					#footer .area .info .other ul.sns-list li a {
						width: 3.4vw;
						height: 3.4vw;
					}
	
				#footer .area .info .other .text .cta-txt {
					width: 30vw;
					margin-bottom: 1vw;
				}

				#footer .area .info .other .text .copyright {
					font-size: 1.0vw;
				}

				#footer .area .info .other .logo-ntj {
					width: 17vw;
				}
}
@media screen and (max-width: 767px) {
	#footer {
		width: 100%;
		border-radius: 20px 20px 0 0;
		margin: 0;
		padding-top: 12vw;
		padding-bottom: 10vw;
	}
		#footer .catch {
			font-size: 7.8vw;
			line-height: 1.4em;
			margin-bottom: 10vw;
		}

		#footer .area {
			display: block;
		}
			#footer .area .logo {
				width: 50%;
				margin: 0 auto 9vw auto;
			}

			#footer .area .info {
				width: 100%;
				padding-left: 0;
			}
				#footer .area .info ul.navlist {
					display: block;
				}
				#footer .area .info ul.navlist li {
					width: 100%;
					margin-right: 0;
				}
				#footer .area .info ul.navlist li:nth-child(2),
				#footer .area .info ul.navlist li:nth-child(3) {
					border-top: none;
				}
					#footer .area .info ul.navlist li a {
						height: auto;
						padding: 5vw 2vw 4vw 2vw;
						font-size: 3.4vw;
					}
						#footer .area .info ul.navlist li a svg {
							width: 2.5vw;
							margin-left: 2vw;
						}

				#footer .area .info .other {
					display: block;
					padding-top: 10vw;
				}
					#footer .area .info .other ul.sns-list {
						justify-content: center;
						-ms-flex-wrap: wrap;
						flex-wrap: wrap;
						margin-bottom: 6vw;
					}
						#footer .area .info .other ul.sns-list li {
							margin-right: 3vw;
						}
							#footer .area .info .other ul.sns-list li a {
								width: 10vw;
								height: 10vw;
							}
	
					#footer .area .info .other .text .cta-txt {
						width: 50%;
						margin: 0 auto;
					}

					#footer .area .info .other .text .copyright {
						font-size: 3.0vw;
						text-align: center;
						margin-top: 9vw;
					}

					#footer .area .info .other .logo-ntj {
						width: 50%;
						margin: 0 auto 8vw auto;
					}
}



.off {
	display: none;
}

/* img-wrap */
.img-wrap {
	opacity: 0;
}
.img-wrap.img-animation {
	animation: img-opacity 2s cubic-bezier(.4, 0, .2, 1);
	overflow: hidden;
	position: relative;
	opacity: 1;
}

.img-wrap.img-animation:before {
  animation: img-animation 2s cubic-bezier(.4, 0, .2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
@keyframes img-opacity {
  0% {
	opacity: 0;
  }
	
}
@keyframes img-animation {
  100% {
	transform: translateX(101%);
	opacity: 1;
  }
}