@charset "utf-8";
:root {
	--main-color: #0c234a;
}
/* 汎用 */
a:hover img { opacity: 0.8; filter: alpha(opacity=80); -moz-opacity: 0.8; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.st { font-weight: bold; }
.fl { float: left; }
.fr { float: right; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 20px; }
.fs22 { font-size: 22px; }
.fs24 { font-size: 24px; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.fw800 { font-weight: 800; }
.flex { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }
.flex_not_justify { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }

/* メインの日本語フォント */
.f_min { font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; }
.f_hira { font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; }
.f_gothic { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; }
.f_hirago { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif; }

/* メインの日本語フォント 太字 */
.f_min_bold { font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; font-weight: 600; }
.f_hira_bold { font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; font-weight: 600; }
.f_gothic_bold { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; font-weight: 600; }
.f_hirago_bold { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif; font-weight: 600; }

/* 英字用フォント */
.f_times { font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif; }
.f_arial { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }

/* 画像フィット用 */
.fit_img { display: flex; justify-content: center; align-items: center; /*IE用*/ flex-direction: column; }
.fit_img img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.regacy_fit_img { display: relative; overflow: hidden; }
.regacy_fit_img img { position: absolute; left: -50%; right: -50%; top: -50%; bottom: -50%; margin: auto; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.ofi { object-fit: cover; font-family: 'object-fit:cover; '; }

/*===========
inview
===========*/
/*
.inview img {
	opacity: 0;
	transform: translate(0, 20%);
	transition: 1s;
}
.inVleft img {
	opacity: 0;
	transform: translate(-5%, 0);
	transition: 1s;
}
*/
.inview2 {
	opacity: 0;
	transform: translate(0, 20%);
	transition: 1s;
}

.inview img {
	opacity: 0;
	transform: translate(5%, 0);
	transition: 0.5s;
}
.inview img:last-child {
	opacity: 0;
	transform: translate(0, 5%);
	transition-delay: 2.0s;
}
.inview img:first-child {
	transform: translate(0, 0);
	transition-delay: 0.5s;
}
.inview img:nth-child(2) {
	transition-delay: 1s;
}
.inview img:nth-child(3) {
	transition-delay: 1.5s;
}
.inview.is-show img,
.inVleft.is-show img,
.inview2.is-show {
	transform: translate(0, 0);
	opacity: 1;
}
.inview img.zoom {
	width: 95px;
	position: absolute;
	left: 10%;
	top: 77px;
}
.inview.is-show img.zoom {
	animation: zoom 1.25s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
	opacity: 1;
}
@keyframes zoom {
	0% {
		opacity: 0;
		transform: scale(0);
	}
	35% {
		transform: scale(1.05);
	}
	50% {
		transform: scale(0.95);
	}
	60% {
		transform: scale(1.025);
	}
	75% {
		transform: scale(0.975);
	}
	80% {
		transform: scale(1.0125);
		opacity: 0.95;
	}
	95% {
		transform: scale(0.9875);
		opacity: 0.95;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

/* ズレ表示用sample */
.works_list .parts:nth-child(2) {
	transition-delay: .2s;
}
.works_list .parts:nth-child(3) {
	transition-delay: .4s;
}


/*PC用*/
@media print, screen {
	.pc { display: block !important }
	.sp { display: none !important }
	.h_menu, #sp_global_nav { display: none; }

	body {
		background: url("../../images/src/bg_pc.png"), #BBBDBF;
		background-position: center top;
		background-repeat: no-repeat;
		background-size: 100%;
		background-attachment: fixed;
	}
	#header {
		position: relative;
		/*position: fixed;*/
		top: 0;
		left: calc(80% - 550px);
		left: 0;
		margin: 0 20% 0 auto;
		width: 550px;
		height: 73px;
		background: #fff;
		z-index: 1;
		background: #fff;
		background-position: left top;
		background-repeat: no-repeat;
		background-size: 17.89%;

	}
	#header > div {
		display: flex;
		justify-content: space-between;
	}
	#header .logo {
		display: flex;
		align-items: center;
	}
	#header .logo li {
		width: 92px;
		margin-right: 5px;
	}
	#header .logo li:first-child {
		margin-left: 1.5em;
	}
	#header .logo li:nth-child(3),
	#header .logo li:nth-child(4) {
		width: 84px;
	}
	main {
		position: relative;
		/*top: 73px;*/
	}


#globalNav .button {
	width: 72px;
	height: 0;
	padding: calc(96px * (550 / 750)) 0 0 0;
	padding: calc(89px * (550 / 750)) 0 0 0;
	display: block;
	cursor: pointer;
	position: fixed;
	top: 0;
	right: 20%;
	background: none;
	border: none;
	z-index: 1000;
	background: #fff;
}
#globalNav.accordion.open .button {
	background: none;
}
#globalNav .button .wrap {
	display: flex;
	align-items: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: calc(35 / 113 * 100%);
	width: calc(55 / 113 * 100%);
	height: 0;
	padding: calc(30 / 113 * 100%) 0 0 0;
	padding: calc(50 / 113 * 100%) 0 0 0;
	margin: auto;
}
#globalNav .button .wrap span {
	position: absolute;
	left: 0;
	right: 0;
	height: 2px;
	background-color: #000;
	margin: auto;
	transition: all 0.2s;
}
#globalNav .button .wrap span:nth-of-type(1) {
	top: 0;
}
#globalNav .button .wrap span:nth-of-type(2) {
	top: 0;
	bottom: 0;
}
#globalNav .button .wrap span:nth-of-type(3) {
	bottom: 0;
}
#globalNav .menu {
	position: fixed;
	top: 0;
	right: 20%;
	z-index: 999;
	height: 420px;
	font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif;
}
#globalNav .menu .menuBg {
	position: fixed;
	top: 0;
	right: 0;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
}
#globalNav .menu .menuInner {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 390px;
	color: #ffffff;
	background: #B40000;
	transform: translateX(100%);
	transition: all 0.2s ease-out;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
}
#globalNav .menu .title {
	color: #FFFF00;
	font-weight: 900;
	text-align: center;
	line-height: 1.8;
}
#globalNav .menu .list {
	margin: 0 18px;
	display: flex;
	flex-direction: column;
	border-top: 1px solid rgba(255, 255, 255, 0.6);
}
#globalNav .menu .list li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}
#globalNav .menu .list a {
	padding: 0.25em 0 0.5em;
	color: #fff;
	font-weight: 500;
}
#globalNav.open .button .wrap span:nth-of-type(1) {
	bottom: 0;
	left: 0;
	transform: translateY(50%) translateY(-1px) rotate(-45deg);
}
#globalNav.open .button .wrap span:nth-of-type(2) {
	opacity: 0;
	left: 0;
}
#globalNav.open .button .wrap span:nth-of-type(3) {
	top: 0;
	left: 0;
	transform: translateY(-50%) translateY(1px) rotate(45deg);
}
#globalNav.open .menu {
	left: 0;
}
#globalNav.open .menu .menuBg {
	left: 0;
}
#globalNav.open .menu .menuInner {
	transform: translateX(0);
}
button {
	cursor: pointer;
	font-family: inherit;
}
.ib {
	display: inline-block;
	line-height: inherit;
	font-weight: inherit;
}
.accordionTrigger {
	cursor: pointer;
	display: block;
}

.accordionContent {
	display: none;
}

	h2 {
		/*margin-top: -72px;
		padding-top: 72px;*/
	}

	.wrapper {
		width: 550px;
		margin: 0 20% 0 auto;
		position: relative;
		background: #FFFAB9;
		font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif;
	}
	h1 {
		padding-bottom: 15px;
		position: relative;
		background: url("../../images/src/bg_main.png") center top no-repeat;
		background-size: 100%;
	}
	h1 .abs {
		position: absolute;
		left: 0;
		top: 0;
	}
	section {
		width: 568px;
		width: 505px;
		margin: 0 auto;
	}
	#facility {
		width: 100%;
		padding: 0 22.5px;
		background: url("../../images/src/bg_facility.png") center top no-repeat;
		background-size: 100%;
	}
	#facility h2 span {
		display: block;
		margin: 35px 0 20px;
		margin: 31px 0 18px;
		padding: 0.25em 0;
		background: #C30D23;
		color: #fff;
		text-align: center;
		font-weight: 700;
	}
	#facility div {
		display: flex;
		justify-content: space-between;
	}
	#facility p {
		text-align: center;
	}
	#facility div p {
		width: 127px;
		width: 113px;
		font-weight: 700;
		line-height: 1.2;
	}
	#facility img {
		margin-bottom: 0.5em;
	}
	#facility > p {
		margin: 30px 0 0.25em;
		font-weight: 900;
		line-height: 1.3;
	}
	#facility > p span {
		font-weight: 900;
	}
	#facility > p strong {
		margin: 0.375em auto;
		display: block;
		color: #FF0000;
		font-weight: 700;
	}
	#facility .limit {
		width: fit-content;
		margin: 0 auto 0.5em;
		padding: 0.25em 4.5em;
		display: flex;
		align-items: center;
		background: #E60012;
		color: #fff;
		border-radius: 2em;
		text-align: center;
		font-weight: 500;
	}
	#facility > p:last-child {
		margin: 0 0 1em;
	}
	#facility p:last-child span {
		color: #FF0000;
	}
	#flow,
	#area,
	#spot {
		margin-bottom: 20px;
		padding-bottom: 20px;
		margin-bottom: 18px;
		padding-bottom: 18px;
		background: #B40000;
		border-radius: 1em;
	}
	#area {
		margin-bottom: 0;
		border-radius: 1em 1em 0 0;
	}
	#spot {
		border-radius: 0 0 1em 1em;
	}
	#flow {
		padding-top: 10px;
		padding-top: 9px;
	}
	#flow h2 {
		margin-bottom: 0.25em;
		color: #fff;
		font-weight: 700;
		text-align: center;
	}
	#flow p,
	#flow li {
		color: #fff;
	}
	#flow > p {
		font-weight: 500;
		text-align: center;
	}
	#flow ul {
		margin: 1em 0;
	}
	#flow li {
		margin-left: 1.625em;
	}
	#flow li:before {
		content: "※";
	}
	#flow li span {
		color: #fff100;
	}
	#flow div {
		width: 528px;
		width: 470px;
		margin: 0 auto;
		padding: 0.5em 0 0.5em;
		background: #fff;
		border-radius: 1em;
		text-align: center;
	}
	#flow .detail {
		background: url("../../images/src/bg_detail.png"), #fff;
		background-position: left top 10px;
		background-repeat: no-repeat;
		background-size: 100%;
	}
	#flow .flow {
		margin: 0 auto;
		padding: 0.5em 0 0;
		background: none;
	}
	.flow p {
		margin-bottom: 13px;
	}
	#flow div:last-child {
		margin-bottom: 0;
	}
	#flow .step h3 {
		margin: 0.625em 0 0.75em 3.25em;
		font-weight: 900;
		line-height: 1.2;
		text-align: left;
	}
	#flow .detail h3 {
		width: 95%;
		margin: 0 auto 1em;
		padding: 0.125em 0.5em;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #B40000;
		color: #fff;
		font-weight: 900;
		border-radius: 1em;
	}
	#flow div p {
		color: #000;
		font-weight: 700;
	}
	#flow div .step {
		min-height: 173px;
		border-radius: 1em;
	}
	#flow .arrow {
		width: 470px;
		height: 45px;
		background: url("../../images/src/flow.svg") center top no-repeat;
		background-size: 100%;
	}
	#flow .step p {
		margin-left: 4.825em;
		text-align: left;
		line-height: 1.3;
		font-weight: 900;
	}
	#flow .step p.flow_sub {
		margin: 0 0 0 1em;
	}
	#flow .step p.flow_sub a {
		font-weight: 900;
		text-decoration: underline;
	}
	#flow .step p.flow_sub a:hover {
		text-decoration: none;
	}
	#flow .step1 {
		background: url("../../images/src/bg_step01.png"), #fff;
		background-position: left top;
		background-repeat: no-repeat;
		background-size: 100%;
	}
	#flow .step2 {
		background: url("../../images/src/bg_step02.png"), #fff;
		background-position: left top;
		background-repeat: no-repeat;
		background-size: 100%;
	}
	#flow .step3 {
		background: url("../../images/src/bg_step03.png"), #fff;
		background-position: left top;
		background-repeat: no-repeat;
		background-size: 100%;
	}
	#flow .step4 {
		background: url("../../images/src/bg_step04.png"), #fff;
		background-position: left top;
		background-repeat: no-repeat;
		background-size: 100%;
	}
	#flow .detail p {
		line-height: 1.3;
	}
	#flow .detail .benefits {
		margin-bottom: 1.25em;
	}
	#flow .detail strong {
		margin-bottom: -0.37em;
		display: block;
		color: #FF0000;
		font-weight: 700;
	}
	#flow .detail span {
		font-weight: 700;
	}
	#flow .detail .more {
		text-shadow: 0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff;
	}
	#flow .detail .present {
		width: fit-content;
		margin: 0 auto 0.25em;
		padding: 0 0.25em 0.25em;
		background: linear-gradient(transparent 70%, #FFF100 70%);
		font-weight: 700;
		line-height: 1;
	}
	#flow .detail .present span {
		font-weight: 900;
	}
	#area,
	#spot {
		padding: 20px 0;
		padding: 18px 0;
	}
	#area h2,
	#spot h2 {
		margin-bottom: 20px;
		margin-bottom: 18px;
		color: #FFFF00;
		font-weight: 900;
		text-align: center;
		line-height: 1.0;
	}
	#area .ic > div {
		width: 470px;
		margin: 0 auto;
		padding: 20px;
		background: #fff;
		border-radius: 1em;
	}
	#area .ic h3 {
		width: 300px;
		margin: 0 auto -0.75em;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #009844;
		color: #fff;
		font-weight: 600;
		border-radius: 0.25em;
	}
	#area .ic .ride > div {
		width: 432px;
		margin: 0 auto;
		padding: 0.5em 0;
		border: 2px solid #009844;
		border-radius: 1em;
	}
	#area .rideon p {
		margin-top: 0.5em;
		text-align: center;
		font-weight: 700;
	}
	#area .rideon span {
		color: #E50012;
		font-weight: 700;
	}
	#area .ic .rideoff > div {
		padding: 0.5em 0 1em;
	}
	#area .rideoff h4 {
		margin: 1.0em auto 0.5em;
		text-align: center;
		font-weight: 700;
		line-height: 1.2;
	}
	#area .rideoff .goo {
		width: 385px;
		margin: 13px auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		border: 2px solid #009844;
		border-radius: 0.5em;
		overflow: hidden
	}
	#area .rideoff .goo p {
		width: 225px;
		margin: 0 auto;
		display: flex;
		justify-content: center;
		font-weight: 700;
		line-height: 1.4;
	}
	#area .rideoff .goo p:last-child {
		width: 160px;
		background: #009844;
		color: #fff;
	}
	#spot > div {
		width: 470px;
		margin: 0 auto;
		padding: 10px;
		padding-bottom: 0.5em;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 10px 0;
		background: #fff;
		border-radius: 1em;
	}
	#spot > div > p {
		padding: 10px 10px 10px 1.5em;
		padding: 9px 9px 0 1.5em;
		display: flex;
		justify-content: space-between;
	}
	#spot h3 {
		margin-bottom: 0.5em;
	}
	#spot h3 {
		font-weight: 600;
	}
	#spot p {
		line-height: 1.3;
	}
	#area .map {
		width: 470px;
		margin: 18px auto 0;
	}
	#area .map_ic {
		margin: 18px auto;
	}
	#spot > div > div {
		width: 220px;
		padding: 1.5em 0.75em 0.5em;
		background: #FFFAB9;
		border: 2px solid #EA5514;
		border-radius: 1em;
		text-align: center;
	}
	#spot > div > div p {
		margin-bottom: 1em;
		font-weight: 900;
	}
	#info {
		padding-bottom: 20px;
		padding-bottom: 18px;
	}
	#info h2 {
		color: #B40000;
		text-align: center;
		font-weight: 900;
	}
	#info div {
		margin-bottom: 1em;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#info div p {
		margin-top: 1em;
		width: 274px;
		width: 244px;
	}
	.sa {
		margin-top: 35px;
	}

	#pc_navi {
		width: 100%;
		position: fixed;
		top: 50%;
		transform: translateY(-50%);
		font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif;
	}
	#pc_navi div {
		width: 300px;
		width: 267px;
		padding: 20px 0 10px 20px;
		padding: 18px 18px 9px;
		position: absolute;
		top: 50%;
		left: calc((120% - 550px) / 4);
		transform: translateY(-50%) translateX(-50%);
		background: #fff;
		border-radius: 1em;
	}
	#pc_navi p {
		margin-bottom: 0.5em;
		color: #C30D23;
		text-align: center;
		font-weight: 900;
		font-size: 40px;
		font-size: 36px;
		line-height: 1.0;
	}
	#pc_navi li {
		margin-bottom: 0.75em;
		font-size: 24px;
		font-size: 18px;
		line-height: 1.0;
	}
	#pc_navi li a {
		padding: 0.25em 0;
		display: block;
		border: 3px solid #C30D23;
		border-radius: 1em;
		font-weight: 700;
		text-align: center;
	}
	#pc_navi li a:hover {
		opacity: 0.7;
	}

	#page-top {
		width: 58px;
		width: 52px;
		position: fixed;
		bottom: 20px;
		right: calc((100% - 550px) / 4);
		right: calc(((100% - 550px) / 2) + 20px);
		right: calc(20% + 20px);
		bottom: 18px;
		z-index: 999;
	}

	#footer {
		position: relative;
		top: 73px;
		top: 0;
		width: 550px;
		margin: 0 auto;
		margin: 0 20% 0 auto;
		padding: 60px 40px;
		padding: 53px 33px;
		text-align: center;
		background: #B40000;
	}
	#footer ul {
		justify-content: center;
		align-items: center;
		gap: 0 32px;
		gap: 0 28px;
	}
	#footer ul + ul {
		margin: 15px 0 27px;
		margin: 13px 0 24px;
	}
	#footer ul li {
		position: relative;
	}
	#footer ul li::after {
		content:'';
		position: absolute;
		right: -16px;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 1px;
		height: 11px;
		height: 10px;
		background: #fff;
	}
	#footer ul li a {
		color: #fff;
		font-size: 14px;
		font-size: 12px;
		font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif;
	}
	#footer ul li a:hover {
		text-decoration: underline;
	}
	#footer .ft_logo {
		width: 100%;
		background: #fff;
		border-radius: 0.125em;
	}
	#footer .ft_logo img {
		width: 56.467%;
		margin: 0 auto;
	}
	#footer #copyright {
		margin-top: 10px;
		margin-top: 9px;
		color: #fff;
		font-size: 12px;
		font-size: 10px;
		font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif;
	}

	.remodal {
		background: none;
	}
	.remodal-close {
		left: auto;
		right: 0;
	}
	.remodal-close:before {
		font-size: 50px;
	}

	#facility h2,
	#flow p,
	#flow div .place,
	#spot h3,
	#flow div span.step_sub {
		font-size: 20px;
		font-size: 18px;
	}
	#flow div span.step_sub {
		font-size: 17px;
	}
	#facility div p,
	#flow div p.fs12 {
		font-size: 12px;
		font-size: 10px;
	}
	#flow .detail {
		font-size: 24px;
		font-size: 21px;
	}
	#facility > p,
	#flow h2,
	#flow h3 {
		font-size: 28px;
		font-size: 25px;
	}
	#facility > p {
		font-size: 23px;
	}
	#facility > p span,
	#facility .limit,
	#facility > p:last-child {
		font-size: 20px;
	}
	#facility > p strong {
		font-size: 30px;
	}
	#flow li {
		font-size: 12px;
	}
	#flow div p {
		font-size: 19px;
		font-size: 17px;
	}
	#flow div p.flow_sub {
		font-size: 10px;
	}
	#flow .detail h3 {
		font-size: 21px;
	}
	#flow .detail p,
	#flow .detail .more {
		font-size: 22px;
	}
	#flow .detail strong {
		font-size: 28px;
	}
	#flow .detail span {
		font-size: 13px;
	}
	#flow div span,
	#info h2 {
		font-size: 36px;
		font-size: 32px;
	}
	#flow .detail .present {
		font-size: 34px;
	}
	#flow .detail .present span {
		font-size: 20px;
	}
	#flow div span.fs34 {
		font-size: 33px;
		font-size: 29px;
		letter-spacing: -0.0625em;
	}
	#area h2,
	#spot h2 {
		font-size: 40px;
		font-size: 36px;
	}
	#area .ic h3,
	#area .rideoff h4 {
		font-size: 26px;
	}
	#area .rideoff .goo p {
		font-size: 24px;
	}
	#area .rideoff .goo p.enshu {
		font-size: 17px;
		line-height: 2.25;
	}
	#area .rideon {
		font-size: 27px;
	}
	#spot p {
		font-size: 16px;
	}
	#spot p:last-child {
		font-size: 24px;
	}
	#globalNav .menu .title {
		font-size: 36px;
	}
	#globalNav .menu .list a {
		font-size: 31px;
	}
}
@media screen and (min-width: 1919px) {
	.wrapper {
		width: 550px;
		margin: 0 auto;
		position: relative;
		font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif;
	}
	#header,
	#footer {
		margin: 0 auto;
	}
	#header {
		left: calc((100% - 550px) / 2 );
		left: 0;
	}
	#pc_navi div {
		position: absolute;
		top: 50%;
		left: calc((100% - 550px) / 4);
		transform: translateY(-50%) translateX(-50%);
	}
	#globalNav .button {
		right: calc((100% - 550px) / 2);
	}
	#globalNav .menu {
		right: calc((100% - 550px) / 2);
	}
	#page-top {
		right: calc((100% - 550px) / 2);
	}

}
@media screen and (min-width: 1025px) and (max-width: 1280px) {
	body {
		background: url("../../images/src/bg_pc.png"), #BBBDBF;
		background-position: center top;
		background-repeat: no-repeat;
		background-size: 100% 100%;
		background-attachment: fixed;
	}
	.wrapper,
	#header,
	#footer {
		margin: 0 0 0 auto;
	}
	#header, main, #footer{
		overflow-x: hidden;
	}

	.inview img.zoom {
		width: 17.24vw;
		position: absolute;
		left: 10%;
		top: 13.84vw;
	}

	#flow .detail {
		background: url("../../images/src/bg_detail.png"), #fff;
		background-position: left top 3.5vw;
		background-repeat: no-repeat;
		background-size: 100%;
	}


	#header {
		left: auto;
		right: 0;
	}
	#pc_navi div {
		position: absolute;
		top: 50%;
		left: calc((100% - 550px) / 2);
		transform: translateY(-50%) translateX(-50%);
	}
	#globalNav .button {
		right: 0;
	}
	#globalNav .menu {
		right: 0;
	}
	#page-top {
		left: auto;
		right: 18px;
	}

}

/*SP用*/
@media screen and (max-width: 1024px) {
	.pc { display: none !important }
	.sp { display: block !important }
	img { max-width: 100%; height: auto; width: 100%; }
	/*body { min-width: auto !important; overflow: visible !important; overflow-x: hidden; }*/
	div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }
	#header, main, #footer{
		overflow-x: hidden;
	}

	body {
		overflow-y: visible;
	}
	#header {
		margin: 0 3.382vw;
		padding: 0;
		width: auto;
		max-width: initial;
		height: 12.56vw;

		background: #fff;
		background-position: left top;
		background-repeat: no-repeat;
		background-size: 17.89%;
	}
	#header ul {
		height: 12.56vw;
	}
	#header .logo li {
		width: 16.184vw;
	}
	#header .logo li:nth-child(2) {
		width: 17.391vw;
	}
	#header .logo li:nth-child(3) {
		width: 19.082vw;
	}
	#header .logo li:nth-child(4) {
		width: 19.082vw;
	}
	#header .logo li a {
		display: flex;
		align-items: center;
	}
	#header .logo li img {
		max-height: 13.25vw;
	}

	#header {
		/*position: fixed;*/
		top: 0;
		left: 0;
		right: auto;
		margin: 0;
		width: 100vw;
		height: 13.33vw;
	}
	#header .logo li {
		width: 16.91vw;
		margin-right: 0.98vw;
	}
	#header .logo li:first-child {
		margin-left: 1em;
	}
	#header .logo li:nth-child(3),
	#header .logo li:nth-child(4) {
		width: 15.45vw;
	}
	main {
		position: relative;
		/*top: 13.33vw;*/
	}

#globalNav {

}
#globalNav .button {
	width: 13.0vw;
	height: 0;
	padding: 13.0vw 0 0 0;
	display: block;
	cursor: pointer;
	position: fixed;
	top: 0;
	right: auto;
	left: 88vw;
	background: #fff;
	border: none;
	z-index: 1000;
}
#globalNav .button .wrap {
	display: flex;
	align-items: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: calc(35 / 113 * 100%);
	width: calc(55 / 113 * 100%);
	height: 0;
	padding: calc(30 / 113 * 100%) 0 0 0;
	padding: calc(50 / 113 * 100%) 0 0 0;
	margin: auto;
}
#globalNav .button .wrap span {
	position: absolute;
	left: 0;
	right: 0;
	height: 2px;
	background-color: #000;
	margin: auto;
	transition: all 0.2s;
}
#globalNav .button .wrap span:nth-of-type(1) {
	top: 0;
}
#globalNav .button .wrap span:nth-of-type(2) {
	top: 0;
	bottom: 0;
}
#globalNav .button .wrap span:nth-of-type(3) {
	bottom: 0;
}
#globalNav .menu {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 999;
	height: 76.5vw;
}
#globalNav .menu .menuBg {
	position: fixed;
	top: 0;
	right: 0;
	/*height: 100vh;*/
	background-color: rgba(0, 0, 0, 0.5);
}
#globalNav .menu .menuInner {
	width: 64.73vw;
}
#globalNav .menu .list {
	margin: 0 3.27vw;
	border-top: 0.18vw solid rgba(255, 255, 255, 0.6);
}
#globalNav .menu .list li {
	border-bottom: 0.18vw solid rgba(255, 255, 255, 0.6);
}

	h2 {
		/*margin-top: -13.33vw;
		padding-top: 13.33vw;*/
	}



	#pc_navi {
		display: none;
	}
	.wrapper {
		width: 100vw;
		background-size: 100%;
	}
	h1 {
		padding-bottom: 3vw;
		background-size: 100%;
	}
	.inview img.zoom {
		width: 17.24vw;
		position: absolute;
		left: 10%;
		top: 13.84vw;
	}
	section {
		width: 92.36vw;
	}
	#facility {
		padding: 0 3.82vw;
		background: url("../../images/src/bg_facility.png") center top no-repeat;
		background-size: contain;
	}
	#facility h2 span {
		margin: 5.5vw 0 3.25vw;
	}
	#facility div p {
		width: 20.65vw;
	}
	#facility > p {
		margin: 5.5vw 0 0;
	}
	#facility .limit {
		margin: 0.25em auto 1em;
		padding: 0.25em 4.5em 0.5em;
	}
	#flow,
	#spot {
		margin-bottom: 3.25vw;
		padding-bottom: 3.25vw;
	}
	#flow {
		padding-top: 1.63vw;
	}
	#flow div {
		width: 85.85vw;
		margin: 0 auto 3.25vw;
	}
	.flow p {
		margin-bottom: 2.33vw;
	}
	#flow .detail {
		width: 82.6vw;
	}
	#flow div .step {
		min-height: 31.3vw;
	}
	#flow .arrow {
		width: 85.85vw;
		height: 8.13vw;
	}
	#flow .step p {
		margin-left: 4.625em;
	}
	#spot {
		padding: 3.25vw 0;
	}
	#spot h2 {
		margin-bottom: 3.25vw;
	}
	#spot > div {
		width: 85.85vw;
		padding: 2.25vw;
		gap: 2.25vw 0;
	}
	#spot > div > div,
	#spot > div > p {
		padding: 1.63vw 1.63vw 0 1.5em;
	}
	#spot > div > p {
		padding: 1.63vw 1.63vw 0;
	}
	#spot > div > div p {
		width: 100%;
	}
	#spot > p {
		width: 85.85vw;
		margin: 3.25vw auto 0;
	}
	#spot > div > div {
		width: 39.84vw;
		padding: 5.85vw 0 0.5em;
		border: 0.33vw solid #EA5514;
	}
	#info {
		padding-bottom: 3.25vw;
	}
	#info div p {
		width: 44.55vw;
	}
	.sa {
		margin-top: 6.75vw;
	}
	#area .ic > div,
	#area .map {
		width: 85.85vw;
	}
	#area .ic .ride > div {
		border: 0.35vw solid #009844;
	}
	#area .ic h3 {
		width: 53.5vw;
	}
	#area .rideoff .goo {
		width: 69.3vw;
		margin: 2.35vw auto;
		border: 0.35vw solid #009844;
	}
	#area .ic > div {
		padding: 3.9vw;
	}
	#area .ic .ride > div {
		width: 78vw;
	}
	#area .rideoff .goo p {
		width: 55vw;
	}
	#area .rideoff .goo p:last-child {
		width: 40vw;
	}

	#page-top {
		width: 9.33vw;
		bottom: 6.039vw;
		left: auto;
		right: 3.623vw;
	}

	#footer {
		width: 100vw;
		padding: 2em 8.8vw 11.6vw;
		position: relative;
		/*top: 13.33vw;*/
		margin: 0 auto;
	}
	#footer ul {
		display: block;
	}
	#footer ul + ul {
		margin: 0 0 9.333vw;
	}
	#footer ul li {
		position: relative;
		text-align: left;
		margin-bottom: 3vw;
	}
	#footer ul li::after {
		display: none;
	}
	#footer ul li a {
		font-size: 3.5vw;
	}
	#footer .ft_logo {
	}
	#footer #copyright {
		margin-top: 2.867vw;
		font-size: 3.2vw;
	}

	.remodal-close:before {
		font-size: 10vw;
	}


	#facility h2,
	#flow p,
	#flow div .place,
	#spot h3,
	#flow div span.step_sub {
		font-size: 3.125vw;
	}
	#flow div p.fs12 {
		font-size: 1.95vw;
	}
	#facility div p {
		font-size: 1.8vw;
	}
	#flow .detail {
		font-size: 3.9vw;
	}
	#flow h2,
	#flow h3 {
		font-size: 4.55vw;
	}
	#facility > p {
		font-size: 4.23vw;
	}
	#facility > p span,
	#facility .limit,
	#facility > p:last-child {
		font-size: 3.74vw;
	}
	#facility > p strong {
		font-size: 5.37vw;
	}
	#flow li {
		font-size: 2.25vw;
	}
	#flow div p {
		font-size: 3.25vw;
	}
	#flow div p.flow_sub {
		font-size: 1.95vw;
	}
	#flow .detail h3 {
		font-size: 3.9vw;
	}
	#flow .detail p,
	#flow .detail .more {
		font-size: 4.07vw;
	}
	#flow .detail strong {
		font-size: 5.2vw;
	}
	#flow .detail span {
		font-size: 2.44vw;
	}
	#info h2 {
		font-size: 5.8vw;
	}
	#flow .detail .present {
		font-size: 6vw;
	}
	#flow .detail .present span {
		font-size: 3.5vw;
	}
	#flow div span.fs34 {
		font-size: 5.25vw;
		letter-spacing: -0.0625em;
	}
	#area h2,
	#spot h2 {
		font-size: 6.5vw;
	}
	#area .ic h3,
	#area .rideoff h4 {
		font-size: 4.68vw;
	}
	#area .rideon {
		font-size: 4.88vw;
	}
	#area .rideoff .goo p {
		font-size: 4.35vw;
	}
	#area .rideoff .goo p.enshu {
		font-size: 3vw;
	}
	#spot li,
	#spot p {
		font-size: 3.25vw;
	}
	#spot p:last-child {
		font-size: 4.25vw;
	}
	#globalNav .menu .title {
		font-size: 6.55vw;
	}
	#globalNav .menu .list a {
		font-size: 5vw;
	}


}

/* 印刷用 */
@media print {
	body { zoom: 0.6; -webkit-print-color-adjust: exact; }
}

/* 印刷用 IE10以上 */
@media print and (-ms-high-contrast:none) {
	@page { size: A4; margin: 12.7mm 9.7mm; }
	body { zoom: 1.8; width: 1200px; transform: scale(0.5); transform-origin: 0 0; }
}


