@charset "UTF-8";

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



body {
	font-size: 20px;
}

.sp,
.spimage,
img[src*="_sp."],
.hidden {
	display: none !important;
}

a[href^="tel:"] {
	pointer-events: none;
}

div.container {
	width: 100%;
	max-width: 1080px;
}





/* ▼header */
/* ----------------------------------------------------- */
header {
	height: 60px;
}

header a {
	height: 60px;
	vertical-align: middle;
	font-size: 0.7em;
}

header div#headNav a {
	
}

header > h1 {
	width: 300px;
	height: 60px;
}

header div#headNav ul li a {
	padding: 0 1em;
}

header div#headNav ul li:first-child a {
	padding-left: 2em;
}

header div#headNav ul li:last-child a {
	padding-right: 2em;
}

header div#headNav p a {
	width: 200px;
}

section#slidemenu {
	display: none;
}





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





/* ▼keyvisual */
/* ----------------------------------------------------- */
section#keyvisual {
	padding: 43.594% 0 0 0;
	background: url(../img/keyvisual_pc.jpg) no-repeat center top;
	background-size: 100% auto;
}

section#keyvisual figure {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	/* transform */
	-webkit-transform: translate(-50%,-50%);
	   -moz-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	     -o-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}

section#keyvisual figure img {
	width: auto !important;
	height: 100% !important;
}





/* ▼introduction */
/* ----------------------------------------------------- */
section#introduction div.container {
	background: url(../img/introduction_pc.jpg) no-repeat center top;
}





/* ▼evenso */
/* ----------------------------------------------------- */
section#evenso div.container {
	max-width: 800px;
}

section#evenso h2 {
	font-size: 2.5em;
}

section#evenso ul li {
	width: 225px;
	margin: 1em;
	font-size: 0.9em;
	line-height: 1.5;
	text-align: center;
}





/* ▼moreover */
/* ----------------------------------------------------- */
section#moreover div.container {
	margin: 0 auto 2em auto;
	padding: 4em 0 2em 0;
	background: url(../img/moreover_pc.jpg) no-repeat center top;
}

section#moreover h2 {
	margin: 0;
	font-size: 2.5em;
}

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

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

section#moreover figure {
	width: 51.575%;
}

section#moreover figure figcaption {
	font-size: 0.8em;
	text-align: left;
}





/* ▼solution */
/* ----------------------------------------------------- */
section#solution {
	background: url(../img/solution_pc.jpg) no-repeat center top;
}





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

section#story div.container {
	max-width: 825px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	/* 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#story div.copy {
	width: 66.667%;
}

section#story div.copy figure {
	display: none;
}

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

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

section#story div.photo {
	width: 27.273%;
}

section#story div.photo figure:first-child {
	text-align: center;
}

section#story div.photo figure:first-child figcaption {
	width: 75%;
	margin: 0 auto;
	font-size: 0.65em;
	text-align: left;
}

section#story div.photo figure + figure img {
	margin: 1em 0 0 0;
}






/* ▼picture */
/* ----------------------------------------------------- */
section#picture {
	padding: 1.5em 0;
	background-color: #ffffff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='580' width='1320' fill='rgb(248,230,33)' fill-opacity='1'%3E%3Cpolygon points='0,0 0,580 1320,580 1320,0'%3E%3C/polygon%3E%3C/svg%3E");
	background-repeat: repeat-y;
	background-position: center center;
}

section#picture h2 img {
	width: auto !important;
	height: 35px !important;
}

section#picture h2 + figure img {
	width: auto !important;
	height: 80px !important;
}

section#picture div#photogallery {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	/* 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#picture div#photogallery div#gallery {
	width: 52.32%;
}
section#picture div#photogallery div#gallery div.slideshow-container {
	border: 3px dotted #ffffff;
	padding: 5px 5px 0 5px;
	box-sizing: border-box;
	width: 91.15%;
	margin: 0 auto;
	position: relative;
}
section#picture div#photogallery div#gallery div.slideshow-container div#slideshow {
	width: 100%;
}

section#picture div#photogallery div#gallery div.slideshow-container div#slideshow a {
	display: inline-block;
	position: relative;
	width: 100%;
	height: 0;
	overflow: hidden;
	margin: 0;
	padding: 66.40% 0 0 0;
	line-height: 0;
}

section#picture div#photogallery div#gallery div.slideshow-container div#slideshow a img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100% !important;
	height: 100%;
	object-fit: cover;
	/* transform */
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	/* CSS3 */
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-ms-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

section#picture div#photogallery div#gallery div.caption {
	font-size: 14px;
	padding: 0 2em 0 2em;
}

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: -1em;
}

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

section#picture div#photogallery div#thumbs {
	width: 47.68%;
}

section#picture div#photogallery div#thumbs ul {
	margin: 0;
	border: 3px dotted #ffffff;
	padding: 5px 5px 0 5px;
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	/* 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#picture div#photogallery div#thumbs ul li {
	width: 31.66%;
	list-style-type: none;
}

section#picture div#photogallery div#thumbs ul li a {
	display: inline-block;
	position: relative;
	width: 100%;
	height: 0;
	overflow: hidden;
	margin: 0;
	padding: 65.82% 0 0 0;
	line-height: 0;
}

section#picture div#photogallery div#thumbs ul li a img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100% !important;
	height: 100%;
	object-fit: cover;
	/* transform */
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	/* CSS3 */
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-ms-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

section#picture div#photogallery div#thumbs div.pagination {
	text-align: center;
}
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: 14px;
}



/* ▼price */
/* ----------------------------------------------------- */
section#price {
	background: url(../img/price_pc.jpg) no-repeat center top;
}

section#price div.container {
	max-width: 895px;
}

section#price h2 img {
	width: auto !important;
	height: 35px !important;
}

section#price h2 + figure img,
section#price h2 + p + figure img {
	width: auto !important;
	height: 80px !important;
}

section#price p {
	font-size: 0.8em;
}

section#price h2 + p {
	font-size: 1em;
}

section#price ul {
	list-style-type: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	/* 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#price ul li {
	width: 48.604%;
}

section#price p a img {
	width: auto !important;
	height: 63px !important;
}





/* ▼faq */
/* ----------------------------------------------------- */
section#faq div.container {
	max-width: 945px;
}

section#faq h2 img {
	width: auto !important;
	height: 35px !important;
}

section#faq div.wrap {
	margin: 1.5em 0 0 0;
	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#faq div.wrap div.faq {
	width: 47.090%;
}

section#faq div.wrap div.faq:last-child {
	width: 100%;
}

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

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: 0.65em;
}

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_pc.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;
}

section#contact div.container {
	max-width: 950px;
}

section#contact h2 + figure img {
	width: auto !important;
	height: 80px !important;
}

section#contact div#data {
	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#contact div#data div#address {
/*	width: 48.948%; */
}

section#contact div#data div#address figure img {
	width: auto !important;
	height: 150px !important;
}

section#contact div#data div#address table th,
section#contact div#data div#address table td {
	font-size: 0.8em;
	font-weight: 700;
}

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

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

section#contact div#data + table {
	width: 100%;
}

section#contact div#data + table th,
section#contact div#data + table td {
	width: 33.333%;
	width: calc( 100% / 3 );
	border: 1px solid #333333;
}

section#contact div#data + table th {
	padding: 0.3em 1em;
	font-size: 0.7em;
	text-align: center;
}

section#contact div#data + table td {
	padding: 1em 2em;
	font-size: 0.65em;
	vertical-align: top;
}

section#contact div#data + table td ul {
	margin: 1em 0 0 0;
}

section#contact div#data + table td ul li {
	margin: 0 0 0 1.8em;
}





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

}

section#offer div.container {
	max-width: 770px;
}

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

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






/* ▼optin */
/* ----------------------------------------------------- */
section#optin h2 {
	margin: 0 0 2em 0;
	font-size: 1.1em;
}

section#optin div.container {
	max-width: 895px;
}

section#optin form {
	padding: 2em 20.392%;
	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 {
	width: 100%;
}

section#optin form dl dt {
	font-size: 0.75em;
}

section#optin form dl dt span {
	font-size: 0.867em;
}

section#optin form dl dd {
	font-size: 0.8em;
}

section#optin form dl#optin_form_tel dd input,
section#optin form dl#optin_form_country dd input {
	width: 48.114%;
}

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: 12px;
}

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 {
	width: 65.095%;
	margin: 1em auto 0 auto;
	font-size: 0.65em;
	text-align: left;
}

section#optin form p#submit {
	width: 81.133%;
	margin: 2em auto;
}



body#common section#optin p.memo {
	font-size: 16px;
}

body#common section#optin table {
	font-size: 16px;
	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;
}
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: 81.33%;
	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: 180px;
	background-color: #ffffff;
	background-image: url(../img/testimonial_pc.jpg),
					  url(../img/story_pc.svg);
	background-repeat: no-repeat;
	background-position: center top,
						 90% 170px;
	background-size: auto auto,
					 auto 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 ul {
	
}

footer ul li,
footer address {
	font-size: 0.65em;
}