@charset "UTF-8";

@import url("./normalize.css");
@import url("./general.css");
@import url("./font.css");
@import url("./style.css");



body {
	font-size: 5.333vw;
}

.pc,
.pcimage,
img[src*="_pc."],
.hidden {
	display: none !important;
}

div.container {
	width: 100%;
}





/* ▼header */
/* ----------------------------------------------------- */
header {
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 60px;
/*	height: 12.744vh; */
/*	overflow: hidden; */
	padding: 0;
}
header a {
	vertical-align: middle;
}

header > h1 {
	width: 27.06%;
	height: 60px;
	margin: 0;
	padding: 0;
}

header div#headNav {
	width: 72.94%;
	height: 100%;
	margin: 0;
	padding: 0;
	justify-content: flex-end;
}

header div#headNav ol {
	display: flex;
	justify-content: center;
	text-align: center;
	flex: 1;
	margin: 0;
	padding: 0;
	height: 100%;
	box-sizing: border-box;
}

header div#headNav ol li {
	font-size: 3.2vw;
}

header div#headNav ul {
	display: none;
}
header div#headNav p {
	width: 47.28%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-size: 3.2vw;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center
}
header div#headNav p a {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center
}

/*
header div.container > p,
header div.container div#globalheader ul {
	display: none;
}

header div.container div#globalheader {
	height: 8.246vh;
	overflow: hidden;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	     -o-box-sizing: border-box;
	        box-sizing: border-box;
}

header div.container div#globalheader h1 {
	height: 8.246vh;
	padding: 1.450vh;
	line-height: 1;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	     -o-box-sizing: border-box;
	        box-sizing: border-box;
}

header div.container div#globalheader h1 a svg {
	width: auto ;
	height: 5.346vh;
}

header div.container div#globalheader p {
	height: 8.246vh;
	overflow: hidden;
}

header div.container div#globalheader p img {
	width: auto !important;
	height: 8.246vh !important;
}
*/




/* ▼slidemenu */
/* ----------------------------------------------------- */
section#slidemenu {
	display: none;
	position: fixed;
	z-index: 9999;
	top: 12.744vh;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	padding: 0;
	background-color: #242424;
}

section#slidemenu div.wrap {
	height: 100%;
	padding: 0 0 2em 0;
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	/* box-sizing */
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	     -o-box-sizing: border-box;
	        box-sizing: border-box;
}

section#slidemenu table {
	width: 100%;
	margin: 0 0 1em 0;
}

section#slidemenu table th {
	padding: 0.5em 1em;
	font-size: 5.333vw;
	font-weight: 700;
	text-align: center;
	color: #ffffff;
	/* box-sizing */
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	     -o-box-sizing: border-box;
	        box-sizing: border-box;
}

section#slidemenu table td {
	width: 50%;
	border-top: 1px solid #000000;
	border-right: 1px solid #000000;
	border-bottom: 1px solid #000000;
	border-left: 0 none;
	/* box-sizing */
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	     -o-box-sizing: border-box;
	        box-sizing: border-box;
}

section#slidemenu table td + td {
	border-top: 1px solid #000000;
	border-right: 0 none;
	border-bottom: 1px solid #000000;
	border-left: 1px solid #000000;
}

section#slidemenu table td a {
	display: block;
	padding: 0.5em;
	font-size: 4vw;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
}

section#slidemenu ul {
	width: 100%;
	list-style-type: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

section#slidemenu ul li {
	width: 50%;
	padding: 1em 0 0 0;
	text-align: center;
}




/* ▼main */
/* ----------------------------------------------------- */
div#main {
	/* margin: 12.744vh 0 0 0; */
	margin: 0;
}





/* ▼keyvisual */
/* ----------------------------------------------------- */
section#keyvisual {
	background: url(../img/keyvisual_sp.jpg) no-repeat center top;
	background-size: 100% auto;
}
section#keyvisual::after {
	height: 20.615vh;
}

section#keyvisual div.container {
	width: 92.667%;
}

section#keyvisual h2 {
	margin: 1em 0;
}

section#keyvisual div#slide {
	position: relative;
	width: 89.334%;
	height: 0;
	margin: 0 auto;
	padding: 31.484vh 0 0 0;
}

section#keyvisual div#keyBtn {
	width: 86.667%;
	margin: 0 auto;
	padding: 0 0 0.5em 0;
}

section#keyvisual div#keyBtn p {
	margin-bottom: 0;
	font-size: 3.467vw;
}

section#keyvisual div#keyBtn p a {
	text-align: center !important;
}





/* ▼news */
/* ----------------------------------------------------- */
section#news div.container {
	width: 89.334%;
}

section#news div.container figure {
	display: none;
}

section#news div.container table caption strong {
	font-size: 3.2vw;
}

section#news div.container table caption a {
	bottom: 0.5em;
	font-size: 3.2vw;
}

section#news div.container table tr th,
section#news div.container table tr td {
	font-size: 2.666vw;
}

section#news div.container table tr th {
	padding-right: 1em;
}





/* ▼introduction */
/* ----------------------------------------------------- */
section#introduction div.container {
	width: 89.86%;
	margin: 0 auto;
	background: url(../img/introduction_sp.jpg) no-repeat center top;
	background-size: 100% auto;
}





/* ▼evenso */
/* ----------------------------------------------------- */
section#evenso ul li {
	width: 30%;
	margin: 0 0 1em 0;
	padding: 0 0.75% 0 0.75%;
	font-size: 3.2vw;
	line-height: 1.5;
	text-align: center;
}





/* ▼moreover */
/* ----------------------------------------------------- */
section#moreover div.container {
	width: 89.86%;
	margin: 0 auto;
	padding: 2em 0 3em 0;
	background: url(../img/moreover_sp.jpg) no-repeat center top;
	background-size: 100% auto;
}

section#moreover h2 {
	margin: 0;
	font-size: 8vw;
}

section#moreover p {
	margin: 1em 0;
	font-size: 4.266vw;
}

section#moreover p:after {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background-image: url(../img/moreover_icon.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	right: 0;
	top: 0;
}

section#moreover figure {
	width: 87.53%;
	margin: 0 auto;
}

section#moreover figure figcaption {
	font-size: 3.733vw;
	text-align: left;
}





/* ▼solution */
/* ----------------------------------------------------- */
section#solution {
	background: url(../img/solution_sp.jpg) no-repeat center top;
	background-size: 100% auto;
}





/* ▼story */
/* ----------------------------------------------------- */
section#story {
	padding-bottom: 4em;
	background: url(../img/story_sp.svg) no-repeat center bottom;
	background-size: 100% auto;
}

section#story div.container {
	width: 89.33%;
	margin: 0 auto;
}

section#story div.copy figure {
	float: right;
	width: 29.85%;
	margin: 0 0 1em 0;
}

section#story div.copy figure figcaption {
	font-size: 2.666vw;
	text-align: center;
}

section#story div.copy h2 {
	margin: 0 0 1.5em 0;
	font-size: 5.333vw;
	line-height: 1.6;
}

section#story div.copy p {
	margin: 1.5em 0;
	font-size: 3.733vw;
	line-height: 1.85;
}

section#story div.photo {

}

section#story div.photo figure:first-child {
	display: none;
}

section#story div.photo figure {
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
}

section#story div.photo figure img {
	width: 44.97%;
	margin: 1em 2% 0 2%;
}






/* ▼picture */
/* ----------------------------------------------------- */
section#picture {
	background: #f8e621;
}

section#picture div.container {
	padding: 2em 0 2em 0;
}

section#picture h2 img {
	width: 27.6%!important;
}

section#picture h2 + figure {
	width: 90.4%;
	margin: 1em auto 1em auto;

}

section#picture div#photogallery div#gallery div.slideshow-container {
	width: 83.06%;
	margin: 0 auto;
	border: 3px dotted #ffffff;
	padding: 5px 5px 0 5px;
	box-sizing: border-box;
	position: relative;
}

section#picture div#photogallery div#gallery div.caption {
	width: 83.06%;
	margin: 0 auto 1.5em auto;
	font-size: 2.666vw;
}

section#picture div#photogallery div#gallery div.nav-controls a {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

section#picture div#photogallery div#gallery div.nav-controls a.prev {
	left: -1.3em;
}

section#picture div#photogallery div#gallery div.nav-controls a.next {
	right: -1.3em;
}

section#picture div#photogallery div#gallery div.nav-controls a.prev:after {
	content: '';
	display: inline-block;
	width: 38px;
	height: 77px;
	background-image: url(../img/picture_nav-prev_bg.png);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	left: -0.7em;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: -1;
}

section#picture div#photogallery div#gallery div.nav-controls a.next:after {
	content: '';
	display: inline-block;
	width: 38px;
	height: 77px;
	background-image: url(../img/picture_nav-next_bg.png);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	right: -0.7em;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: -1;
}

section#picture div#photogallery div#thumbs {
	text-align: center;
}

section#picture div#photogallery div#thumbs div.pagination {
	text-align: center;
	background: #1a1a1a;
	color: #ffffff;
	display: inline-block;
	padding: 0.3em 1em 0.3em 1em;
	border-radius: 30px;
}

section#picture div#photogallery div#thumbs div.pagination a,
section#picture div#photogallery div#thumbs div.pagination span {
	margin: 0 0.5em 0 0.5em;
	font-size: 3.2vw;
	color: #ffffff;
}

section#picture div#photogallery div#thumbs ul {
	display: none;
}





/* ▼price */
/* ----------------------------------------------------- */
section#price {
	background: url(../img/price_sp.jpg) no-repeat center top;
	background-size: 100% auto;
}

section#price div.container {
	width: 89.33%;
	margin: 0 atuo;
}

section#price h2 img {
	width: 40%!important;
}

section#price ul li {
	margin: 0 0 1.5em 0;
}

section#price p {
	font-size: 3.733vw;
}

section#price p img {
	width: 88.05%;
	margin: 0 auto;
}





/* ▼faq */
/* ----------------------------------------------------- */
section#faq div.container {
	width: 89.33%;
	margin: 0 auto;
}

section#faq h2 img {
	width: 19.10% !important;
}

section#faq div.wrap {
	margin: 1.5em 0 0 0;
}

section#faq div.wrap div.faq {
	border-top: 1px dashed #cacaca;
}

section#faq div.wrap div.faq h3 {
	padding: 0 0 0 35px;
	font-size: 3.733vw;
}

section#faq div.wrap div.faq h3::before {
	margin: 0 0 0 -35px;
	width: 35px;
	height: 18px;
}

section#faq div.wrap div.faq p {
	padding: 0 0 0 35px;
	font-size: 3.2vw;
}

section#faq div.wrap div.faq p::before {
	margin: 0 0 0 -35px;
	width: 35px;
	height: 18px;
}







/* ▼contact */
/* ----------------------------------------------------- */
section#contact {
	background-image: url(../img/contact_sp.jpg),
						url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='800' width='1320' fill='rgb(229,255,243)' fill-opacity='1'%3E%3Cpolygon points='0,0 0,800 1320,800 1320,0'%3E%3C/polygon%3E%3C/svg%3E");
	background-repeat: no-repeat,
						repeat-y;
	background-position: center top;
	background-size: 100% auto;
}

section#contact div.container {
	width: 89.33%;
	margin: 0 auto;
}
section#contact div#address {
	margin: 0 auto;
}

section#contact div#address figure {
	width: 59.70%;
}

section#contact div#address table {
	font-size: 3.733vw;
	margin: 0 0 1em 0;
}
section#contact div#address table tr th,
section#contact div#address table tr td {
	vertical-align: top;
	padding: 0 0.5em 0.5em 0;
}

section#contact div#data div#googlemap {
	position: relative;
}

section#contact div#data div#googlemap:before {
	content:"";
	display: block;
	padding-top: 63.582%;
}

section#contact div#data div#googlemap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
}


section#contact dl {
	width: 100%;
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

section#contact dl dt,
section#contact dl dd {
	border: 1px solid #333333;
	box-sizing: border-box;
	margin: 0 0 1em 0;
	padding: 1em 1em 1em 1em;
	font-size: 3.2vw;
	display: flex;
	flex-direction: column;
	align-items: center;

}

section#contact dl dt {
	text-align: center;
	width: 40%;
}

section#contact dl dd {
	width: 60%;
}

section#contact dl dd ul {
	margin: 1em 0 0 0;
}

section#contact dl dd ul li {
	margin: 0 0 0 1.8em;
}





/* ▼offer */
/* ----------------------------------------------------- */
section#offer {
	padding: 3em 0 1.5em 0;
	background-color: #ffffff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='32' width='42' fill='rgb(229,255,243)' fill-opacity='1'%3E%3Cpolygon points='0,0 21.5,32 42,0'%3E%3C/polygon%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center top;

}

section#offer div.container {
	width: 89.33%;
	margin: 0 auto;
}

section#offer h2,
section#offer p,
section#offer figure {
	margin: 0;
}

section#offer p {
	margin: 1em 0 1.5em 0;
}





/* ▼optin */
/* ----------------------------------------------------- */
section#optin {
	padding: 1.5em 0 1em 0;
}
section#optin h2 {
	margin: 0 0 2em 0;
	font-size: 4.266vw;
}

section#optin div.container {
	max-width: 95.33%;
	margin: 0 auto;
}

section#optin form {
	padding: 0 2.79%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	/* box-sizing */
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	     -o-box-sizing: border-box;
	        box-sizing: border-box;
}

section#optin form figure {
	width: 100%;
}

section#optin form dl {
	width: 48.114%;
}

section#optin form dl#optin_form_tel,
section#optin form dl#optin_form_email,
section#optin form dl#optin_form_email_confirm,
section#optin form dl#optin_form_country,
section#optin form dl#optin_form_place,
section#optin form dl#optin_form_note,
section#optin form dl#agreement,
section#optin form dl#optin_form_departure,
section#optin form dl#optin_form_return {
	width: 100%;
}

section#optin form dl dt {
	font-size: 4.266vw;
}

section#optin form dl dt span {
	font-size: 3.2vw;
}

section#optin form dl dd {
	font-size: 3.733vw;
}

section#optin form dl#optin_form_departure dd input#optin_departure {
	width: calc( 100% - 44px );
}

section#optin form dl#optin_form_departure dd img {
	width: 44px;
	cursor: pointer;
}

section#optin form dl#optin_form_return dd input#optin_return {
	width: calc( 100% - 44px );
}

section#optin form dl#optin_form_return dd img {
	width: 44px;
	cursor: pointer;
}

section#optin form dl dd p.note {
	font-size: 3.2vw;
}

section#optin form dl#agreement dd div {
	height: 22.728em;
	font-size: 0.688em;
}

section#optin form p#agreement_checker,
section#optin form p#input_checker {
	margin: 1em 0 0 0;
	font-size: 3.2vw;
	text-align: left;
}

section#optin form p#submit {
	margin: 2em 0;
}



body#common section#optin p.memo {
	font-size: 4.266vw;
}

body#common section#optin table {
	font-size: 4.266vw;
	width: 100%;
}

body#common section#optin table tr th,
body#common section#optin table tr td {
	border-collapse: collapse;
	border: 1px solid #cecece;
	padding: 0.5em 0.5em 0.5em 0.5em;
	display: block;
}
body#common section#optin table tr th {
	background: #eeeeee;
}

body#common section#optin p#return,
body#common section#optin p#submit,
body#common section#optin p#gohome {
	width: 90%;
	margin: 1em auto;
}

body#common section#optin p button {
	width: 100%;
	text-align: center;
	padding: 1em 0 1em 0;
	border-radius: 40px;
	box-shadow: 2px 2px 4px #999999; 
}

body#common section#optin p#return button,
body#common section#optin p#gohome button {
	background: #cccccc;
}
body#common section#optin p#submit button {
	background: #f8e621;
}
body#common section#optin p#return button:before {
	content: "＜";
	margin: 0 1em 0 0;
}
body#common section#optin p#submit button:after {
	content: "＞";
	margin: 0 0 0 1em;
}






/* ▼form */
/* ----------------------------------------------------- */
form dl dd input[type="text"],
form dl dd input[type="password"],
form dl dd input[type="datetime"],
form dl dd input[type="datetime-local"],
form dl dd input[type="date"],
form dl dd input[type="month"],
form dl dd input[type="time"],
form dl dd input[type="week"],
form dl dd input[type="number"],
form dl dd input[type="email"],
form dl dd input[type="url"],
form dl dd input[type="search"],
form dl dd input[type="tel"],
form dl dd input[type="color"],
form dl dd select {
	font-size: 1.409em;
}

form dl dd textarea {
	font-size: 0.813em;
}





/* ▼footer */
/* ----------------------------------------------------- */
footer {
	padding-top: 23.08vh;
/*	padding-top: 154px; */
	background-color: #ffffff;
	background-image: url(../img/testimonial_sp.jpg),
					  url(../img/story_pc.svg);
	background-repeat: no-repeat;
	background-position: center top,
						 90% 170px;
	background-size: 100% auto;
}

footer div.container,
footer div.container div {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	/* box-sizing */
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	     -o-box-sizing: border-box;
	        box-sizing: border-box;
}

footer div.container::after {
	display: none;
}

footer div.container div figure {
	width: 28.80%;
}

footer ul li,
footer address {
	font-size: 3.2vw;
	margin: 1em auto 0 auto;
}





/* ▼footer */
/* ----------------------------------------------------- */
footer div.container {
	width: 89.334%;
}

footer p img {
	display: block;
	margin: 0 auto 1em auto;
}

footer p,
footer address {
	font-size: 2.666vw;
}

