@import url('https://fonts.googleapis.com/css2?family=Cabin+Sketch:wght@400;700&family=Noto+Sans+JP:wght@100..900&display=swap');

*:not(i){
	font-family: "Noto Sans JP", sans-serif;
	font-size:16pt;
	color:#333;
	box-sizing:border-box;
}
body{
	background-color:#FFF8F8;
	position:relative;
	overflow-x: hidden;

}
img{
	max-width:100%;
}
a{
	text-decoration:none;
	color:#333;
}

header{
	margin-bottom:5vh;
	text-align:center;
}
header .title{
	position:relative;
	width:100%;
	max-width:100vw;
	height:70vh;
	background:url(images/kanko_bg.png) top center;
	background-size:50%;
	overflow:hidden;
	text-align:center;
}
header .title img[src="images/kanko_main_pc.png"]{
	position:absolute;
	width:2300px !important;
	max-width:2300px;
	min-height:100%;
	margin:auto;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
}
header .title img[src="images/kanko_main_sp.png"]{
	display:none;
}


.cs{
	opacity:0.25;
}

header .date{
	background:url(images/kanko_header_bg_line.png) repeat-x bottom center;
}
header .date img{
	max-width:60%;
	margin:auto;
	margin-top:4vh;
	margin-bottom:5vh;
}
header .date div{
	width:75%;
	margin:2vh auto;
	padding:10px;
	background-color:#fff;
	border:5px solid #019ad0;
	border-radius:30px;
	font-size:80%;
}
header .date div span{
	margin-right:1vh;
	padding:5px 10px;
	font-size:80%;
	color:#fff;
	background-color:#019ad0;
}

main{
	display:flex;
	position:relative;
	height:100%;
	margin:0;
	padding:0;
	align-items:flex-start;
	background:url(images/kanko_main_bg.png) right top repeat-y;
	background-size:400%:
}

main .side{
	position:sticky !important;
	width:20%;
	height:100vh;
	margin:0;
	padding-top:2vh;
	position:relative;
	background:url(images/kanko_side_bg.png) no-repeat bottom left;
	background-size:80%;
	top:0;
	left:0:
}
main .side ul{
	margin:3vh;
}
main .side ul li{
	list-style:none;
}
main .side ul li a{
	display:block;
	margin-bottom:2vh;
	font-size:14px;
	font-weight:600;
	color:#024074;
}
main .side ul li a:hover{
	color:#019AD0;
}
main .side .entry{
	margin-top:0 !important;
	padding-top:0 !important;
}
main .side .entry button{
	width:65%;
	margin:auto auto auto 5vh;
	padding:10px;
	font-size:100%;
}



main .content{
	width:80%;
	margin:0;
}
main .content section{
	padding:1vh 2vw;
}
main .content section:not(:first-child){
	margin-top:80px;
}

main .content section h2{
	position:relative;
	margin-bottom:20px;
	padding-left:3vh;
	font-size:28px;
	font-weight:900;
	color:#043F71;
	border-left:10px solid 
}
main .content section h2 span{
	position:absolute;
	font-size:500%;
	font-weight:900;
	opacity:0.05;
	top:-15vh;
	right:0;
}

.about{
	background-size:25%;
}
.about h2{
	margin-top:10vh;
	padding-left:0 !important;
	border:none !important;
}
.about h2 img{
	max-width:40%;
}
.about h2 span{
	position:absolute;
	font-size:300%;
	font-weight:900;
	opacity:0.05;
	top:10vh;
	right:0;
}
.text{
	position:relative;
	line-height:2em;
	color:#444;
	font-size:18px;
}
.about img[src="images/kanko_tokuten.png"]{
	margin:auto;
	max-width:60%;
	z-index:99999:
}
.about img[src="images/kanko_about_bg.png"]{
	position:absolute;
	bottom:0;
	right:0;
	width:25%;
}
.center{
	text-align:center;
}

#contents h3{
	color:#043F71;
	font-weight:800;
	font-size:125%;
	margin:5vh auto 3vh 0;
}
#contents .point{
	margin-top:3vh;
}
#contents .point .card{
	margin-bottom:4vh;
	border:2px solid #019AD0;
	border-radius:10px !important;
}
#contents .point .card .card-header{
	color:#fff;
	font-size:16px;
	font-weight:700;
	background:url(images/kanko_point.png) right top no-repeat #019AD0;
	background-size:6%;
}
#contents .point .card .card-body{
	font-size:16px;
}
#contents .text{
	width:100%;
}
#contents img[src="images/kanko_line.png"]{
	margin:auto;
	max-width:60%;
}

#flow h2{
	position:relative;
}
#flow h2 img{
	position:absolute;
	top:40vh;
	left:0;
}

#flow .d-flex{
}
#flow .step{
	position:relative;
	width:18%;
	padding:8vh 0;
	text-align:center;
	color:#fff;
	font-weight:800;
	background:url(images/kanko_bg.png) top center #fff;
	border:1px solid #5BBDE5;
	border-radius:20px;
}
#flow .step span{
	position:absolute;
	top:-5vh;
	left:-1vw;
	color:#fff;
	font-size:500%;
	opacity:0.3;
}
#flow .next{
	width:3%;
	text-align:center;
}



.photos h2{
	margin-bottom:5vh !important;
}
.photos ul{
	width:70%;
	padding-left:0;
	margin:auto;
}
.slick-dots{
	width:100% !important;
}
.slick-next{
	z-index:99;
}
.slick-prev{
	left:-60px;
	z-index:99;
}


.slick-next:before,
.slick-prev:before{
	font-size:50px;
	color:#ddd;
}








main .reviews{
	position:relative;
}
main .reviews img[src="images/kanko_p1.png"]{
	position:absolute;
	top:3vh;
	right:-10vw;
	z-index:99;
}
main .reviews img[src="images/kanko_p2.png"]{
	position:absolute;
	bottom:5vh;
	right:-15vw;
	z-index:99;
}

main .faq .card{
	margin:0 0 4vh 0;
	border:5px solid #019AD0;
	background-color:#019AD0;
}
main .faq .card .card-header{
	background-color:#019AD0;
	color:#fff;
	bordrer-radius:5px;
	font-size:16px;
}
main .faq .card .card-header i{
	margin-right:1vw;
	font-size:150%;
}
main .faq .card .card-body{
	position:lerative;
	background-color:#fff;
	color:#333;
	font-size:16px;
}
main .faq .card .card-body a{
	font-weight:600;
	color:#019AD0;
	font-size:16px;
}
main .faq .card .card-body a:hover{
	border-bottom:2px solid #019AD0;
}
main .faq .card .card-body img[src="images/kanko_p6.png"]{
	position:absolute;
	bottom:0;
	left:5vh;
	z-index:999;
}
main .faq .card .card-body img[src="images/kanko_p8.png"]{
	position:absolute;
	bottom:0;
	right:5vh;
	z-index:999;
}
main .faq .card .card-body img[src="images/kanko_p9.png"]{
	position:absolute;
	bottom:-8vh;
	right:1vh;
	max-width:45px;
}

main .entry{
	position:relative;
	margin-top:80px;
	padding-top:80px;
}
main .entry img[src="images/kanko_p5.png"]{
	position:absolute;
	top:-14vh;
	left:55%;
}
main .entry button{
	width:400px;
	margin:auto;
	padding:20px;
	font-size:150%;
	font-weight:700;
	background-color:#019AD0;
	border:2px solid #019AD0;
}
.subt{
	text-align:center;
	font-size:12px;
}
main .entry button:hover{
	background-color:#043F71;
	border:2px solid #043F71;
}
main #access{
	margin-bottom:160px;
}
main #access iframe{
	height:75vh;
	margin-top:3vh;
}
main #access div{
	font-size:16px;
}
main #access .intex{
	font-size:24px;
	font-weight:900;
}
main .privacy{
	margin:5vh auto 3vh auto;
	text-align:center;
	font-size:12px;
}

.address{
	font-size:18px;
}










footer{
	padding:3vh;
	background-color:#019AD0;
	color:#fff;
	text-align:center;
}


.organized{
	width:70%;
	margin:auto auto 1vh auto;
	color:#fff;
	text-align:left;
}
.organized div{
	width:100%;
	display:flex;
	font-size:85%;
	color:#fff;
}
.organized div div.title{
	width:20%;
}
.organized div div.body{
	display:block;
	width:80%;
}
.organized div.ork div.title{
	display:block;
	margin-top:2vh;
	width:40%;
}
.organized div.ork div.body{
	display:block;
	margin-top:2vh;
	width:60%;
}
.organized div span{
	font-size:85%;
	color:#fff;
}
.copyright{
	margin-top:5vh;
	font-size:70%;
	color:#fff;
}
.copyright span{
	color:#fff;
}




























































/* --- ふきだし --- */
.balloon-r {
	position: relative;
	margin: 1.5em 15px 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 75%;
	color: #555;
	background: #FFF;
	border: solid 3px #019AD0;
	box-sizing: border-box;
	border-radius:10px;
}

.balloon-r:before {
	content: "";
	position: absolute;
	top: 50%;
	right: -24px;
	margin-top: -12px;
	border: 12px solid transparent;
	border-left: 13px solid #FFF;
	z-index: 2;
}

.balloon-r:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -30px;
	margin-top: -14px;
	border: 14px solid transparent;
	border-left: 14px solid #019AD0;
	z-index: 1;
}

.balloon-r p {
	margin: 0;
	padding: 10px;
	font-size: 16px;
}









.sp{
	display:none !important;
}
nav{
	display:none;
}
nav i{
	color:#FFF8F8;
}

nav button{
	width:50px;
	position:fixed;
	top:2vh;
	left:2vw;
	text-align:center;
	border:5px solid #019AD0;
	border-radius:10px;
	aspect-ratio:1/1;
	background-color:#019AD0;
	z-index:1001;
}





@media (min-width: 1400px) and (max-width: 1920px){
	main .side ul{
		margin:1vh;
	}
	.sp{
		display:block;
	}
	main .side .entry button{
		font-size:90%;
	}
}
@media (min-width: 1300px) and (max-width: 1399px){
	main .side .entry button{
		font-size:90%;
	}
	main .reviews img[src="images/kanko_p1.png"]{
		position:absolute;
		top:3vh;
		right:-15vw;
		z-index:99;
	}
	main .reviews img[src="images/kanko_p2.png"]{
		position:absolute;
		bottom:5vh;
		right:-20vw;
		z-index:99;
	}
}
@media (min-width: 1200px) and (max-width: 1299px){
	main .side ul{
		margin:1vh;
	}
	main .side ul li{
		font-size:95%;
	}
	.sp{
		display:block;
	}
	main .side .entry button{
		font-size:80%;
	}
	header .title img[src="images/kanko_main_pc.png"]{
		position:absolute;
		width:2000px !important;
		max-width:2000px;
		min-height:100%;
		margin:auto;
		top:50%;
		left:50%;
		transform: translate(-50%, -50%);
	}
	#flow .flow_steps .ul .li{
		padding-top:5%;
	}
	main .reviews img[src="images/kanko_p1.png"]{
		position:absolute;
		top:3vh;
		right:-15vw;
		z-index:99;
	}
	main .reviews img[src="images/kanko_p2.png"]{
		position:absolute;
		bottom:5vh;
		right:-18vw;
		z-index:99;
	}
}
@media (max-width: 1199px){
	main .faq .card .card-body img[src="images/kanko_p6.png"]{
		display:none;
	}
}
@media (min-width: 1000px) and (max-width: 1199px){
	header .date div{
		width:95%;
	}
	main .side ul{
		margin:0.5vh;
	}
	main .side ul li{
		font-size:90%;
	}
	main .reviews img[src="images/kanko_p1.png"]{
		position:absolute;
		top:10vh !important;
		right:-15vw !important;
		z-index:99;
	}
	main .reviews ul li img[src="images/kanko_p2.png"]{
		top:5vh;
		right:0;
	}
	.sp{
		display:block;
	}
	main .side .entry button{
		font-size:70%;
	}
	header .title img[src="images/kanko_main_pc.png"]{
		position:absolute;
		width:1800px !important;
		max-width:1800px;
		min-height:100%;
		margin:auto;
		top:50%;
		left:50%;
		transform: translate(-50%, -50%);
	}
	#flow .step{
		font-size:85%;
	}
	main .reviews img[src="images/kanko_p1.png"]{
		position:absolute;
		top:-10vh;
		right:-5vw;
		z-index:99;
	}
	main .reviews img[src="images/kanko_p2.png"]{
		position:absolute;
		bottom:5vh;
		right:-18vw;
		z-index:99;
	}
	.photos ul{
		width:100%;
	}

	.organized div.ork{
		display:block;
	}
	.organized div.ork div.body{
		width:100%;
		margin-top:0;
		padding-left:1em;
	}
	.organized div.ork div.body br{
		display:none;
	}

}
@media (max-width: 999px){
	main .side{
	}
}
@media (min-width: 768px) and (max-width: 999px){
	header,
	header .date{
		height:auto;
		padding-bottom:5vh;
	}
	header .date div{
		width:95%;
	}
	header .date img{
		margin-bottom:3vh;
	}
	nav{
		display:block !important;
	}
	main .side{
		display:none;
		position:fixed !important;
		width:50%;
		margin-top:0 !important;
		padding-top:10vh;
		background-color:#019AD0;
		top:0;
		left:0;
		z-index:1000;
	}
	main .side a{
		color:#fff !important;
	}
	main .side a:hover{
		color:#024074 !important;
	}
	main .content{
		width:100%;
	}
	main .content h2 span{
		font-size:250%;
	}
	.sp{
		display:block !important;
	}
	main .side .entry button{
		background-color:#fff;
		color:#019AD0;
	}
	main .side .entry button:hover{
		background-color:#019AD0;
		color:#fff;
		border:5px solid #fff;
	}
	header .title img[src="images/kanko_main_pc.png"]{
		display:none;
	}
	header .title img[src="images/kanko_main_sp.png"]{
		display:inline-block;
		position:absolute;
		width:100vw !important;
		max-width:100vw;
		min-height:100%;
		margin:auto;
		top:50%;
		left:50%;
		transform: translate(-50%, -50%);
		aspect-ratio:1/1;
	}
	.about img[src="images/kanko_about_bg.png"]{
		display:block;
		margin:auto;
		position:unset;
		width:50%;
	}
	.about img[src="images/kanko_tokuten.png"],
	.content img[src="images/kanko_line.png"]{
		display:block;
		margin:2vh auto auto auto !important;
		max-width:90% !important;
	}
	#flow .d-flex{
		display:block !important;
	}
	#flow .step{
		width:100%;
		padding:3vh 0;
	}
	#flow .step span{
		top:-5.5vh;;
		left:30%;
	}
	#flow .next{
		width:100%;
		transform: rotate(90deg);
	}
	main .reviews img[src="images/kanko_p1.png"]{
		position:absolute;
		top:-22vh !important;
		right:0 !important;
		z-index:99;
	}
	img[src="images/kanko_p2.png"]{
		right:0 !important;
		bottom:-20vh !important;
	}
	.balloon-r{
		width:100%;
		max-width:100%;
	}
	.balloon-r::before,
	.balloon-r::after{
		content:none;
	}


	.photos ul{
		width:100%;
	}
	.text{
		font-size:16px !important;
	}
	.organized{
		width:100%;
		margin:auto auto 1vh auto;
	}
	.organized div{
		display:block;
		text-align:center;
	}
	.organized div div.title{
		width:100%;
	}
	.organized div div.body{
		width:100%;
	}
	.organized div span{
	}

	.organized div.ork{
		display:block;
		text-align:center;
	}
	.organized div.ork div.title{
		margin-top:5vh !important;
	}

	.organized div.ork div.title,
	.organized div.ork div.body{
		width:100%;
		margin-top:0;
		padding-left:0;
	}
	.organized div.ork div.body br{
		display:block;
	}
}
@media (max-width: 767px){
	body{
	}
	header{
		height:auto;
	}
	header .title{
		height:auto;
		aspect-ratio:1/1;
	}
	header .date{
		width:100%;
		height:auto;
		padding-bottom:5vh;
	}
	header .date div{
		width:100%;
	}
	header .date img{
		width:90%;
		max-width:100%;
		margin:2vh auto auto auto;
	}
	nav{
		display:block !important;
	}
	main .side{
		display:none;
		position:fixed !important;
		width:75%;
		margin-top:0 !important;
		padding-top:10vh;
		background-color:#019AD0;
		top:0;
		left:0;
		z-index:1000;
	}
	main .side a{
		color:#fff !important;
	}
	main .side a:hover{
		color:#024074 !important;
	}
	main .side .entry button{
		background-color:#fff;
		color:#019AD0;
	}
	main .side .entry button:hover{
		background-color:#019AD0;
		color:#fff;
		border:5px solid #fff;
	}
	main .content{
		width:100%;
		padding:10px;
	}
	main .contents h2{
		font-size:160% !important;
	}
	main .content section h2 span{
		font-size:250%;
		top:-5vh;
	}
	.about h2{
		text-align:center;
		margin-top:0;
		margin-bottom:5vh !important;
		padding-left:0 !important;
	}
	.about h2 img{
		width:100%;
		max-width:100%;
	}
	.about .text{
		width:100%;
	}
	.about img[src="images/kanko_about_bg.png"]{
		bottom:-22vh;
		right:0;
		width:40%;
	}
	.about img[src="images/kanko_about_bg.png"]{
		display:block;
		margin:auto;
		position:unset;
		width:50%;
	}
	.about img[src="images/kanko_tokuten.png"],
	.content img[src="images/kanko_line.png"]{
		display:block;
		margin:2vh auto auto auto !important;
		max-width:100% !important;
	}
	header .title img[src="images/kanko_main_pc.png"]{
		display:none;
	}
	header .title img[src="images/kanko_main_sp.png"]{
		display:inline-block;
		position:absolute;
		width:100vw !important;
		max-width:100vw;
		min-height:100%;
		margin:auto;
		top:50%;
		left:50%;
		transform: translate(-50%, -50%);
		aspect-ratio:1/1;
	}
	.sp{
		display:block;
	}
	img[src="images/kanko_p6.png"]{
		display:none;
	}
	img[src="images/kanko_p9.png"]{
		top:-28vh;
	}
	img[src="images/kanko_p8.png"]{
		display:none;
	}
	#flow .d-flex{
		display:block !important;
	}
	#flow .step{
		width:100%;
		padding:3vh 0;
	}
	#flow .step span{
		top:-5.5vh;;
		left:30%;
	}
	#flow .next{
		width:100%;
		transform: rotate(90deg);
	}
	.photos ul{
		margin-top:0;
		padding:0;
		width:100%;
	}
	.photos h2{
		margin-bottom:20px !important;
	}
	.reviews ul{
		margin-top:-5vh;
		padding:0;
	}
	img[src="images/kanko_p1.png"]{
		max-width:60px;
		right:-3vw !important;
		top:-20vh !important;
	}
	img[src="images/kanko_p2.png"]{
		display:none;
	}
	.balloon-r{
		width:100%;
		max-width:100%;
	}
	.balloon-r::before,
	.balloon-r::after{
		content:none;
	}
	main section{
		margin-bottom:60px !important;
		margin-top:20px !important;
	}

	.organized{
		width:100%;
		font-size:75%;
		text-align:center;
	}
	main .entry button{
		width:100%;
		font-size:110%;
	}

	.text{
		width:100%;
	}
	.intex{
		font-size:150% !important;
	}
	img[src="images/kanko_p5.png"]{
		top:-5vh !important;
		left:3vw !important;
		max-width:75px;
	}
	img[src="images/kanko_p9.png"]{
		top:-20vh;
		right:0;
	}
	main #access{
		padding-bottom:0;
	}
	.text{
		font-size:16px !important;
	}
	.organized{
		width:100%;
		margin:auto auto 1vh auto;
	}
	.organized div{
		display:block;
		text-align:center;
		font-size:90%;
	}
	.organized div div.title{
		width:100%;
	}
	.organized div div.body{
		width:100%;
	}
	.organized div span{
	}
	.organized div div.body br{
		display:block !important;
	}

	.organized div.ork{
		display:block;
		text-align:center;
	}
	.organized div.ork div.title{
		margin-top:5vh !important;
	}

	.organized div.ork div.title,
	.organized div.ork div.body{
		width:100%;
		margin-top:0;
		padding-left:0;
	}
	.organized div.ork div.body br{
		display:block;
	}

}