@charset "UTF-8";


/* -------------------------------------
english
------------------------------------- */
#pageimg .title span.eng {
	font-size:36px;
}
#pageimg .title span.eng::after {
	content:none;
}
#pageimg .title span.eng br {
	display:none;
}

.pagenavi ul {
	text-align:left;
	max-width:1260px;
	margin:0 auto;
}
.pagenavi li {
	width:23%;
	padding:0 10px;
	margin:0 0 10px 0;
}
.pagenavi li:not(:last-child) {
	margin:0 0 10px 0;
}
.pagenavi li:nth-child(2),
.pagenavi li:nth-child(5) {
	width:42%;
}
.pagenavi li:nth-child(3),
.pagenavi li:nth-child(6) {
	width:35%;
}
.pagenavi li a {
	display:inline-block;
}


body .content p {
	line-height:1.9;
}

.lead {
	text-align:center;
	padding:85px 0;
}
.lead h2 {
	font-size:0;
	margin-bottom:30px;
}
.lead h2 span {
	font-size:32px;
	font-weight:600;
	color:#12327C;
	letter-spacing:0.05em;
	display:inline-block;
	position:relative;
	z-index:1;
}
.lead h2 span::after {
	content:"";
	width:104px;
	height:125px;
	display:block;
	background:url(../imgs/common/mark_anchor.png) no-repeat center center;
	background-size:100% auto;
	position:absolute;
	top:50%;
	left:-60px;
	z-index:0;
	transform:translateY(-50%);
}
.lead p {
	font-size:16px;
	max-width:1075px;
	margin:0 auto;
}


.content .line_float:not(:last-child) {
	margin-bottom:45px;
}
.content .line_float .text {
	width:calc(100% - 325px);
	max-width:700px;
	float:left;
	padding-right:10px;
}
.content .line_float .photo {
	width:325px;
	float:right;
}
.content .line_float .text p:not(:last-child) {
	margin-bottom:1.5em;
}


#visitor .bdr {
	padding:20px;
	border:1px solid #CCC;
}
#visitor h4 {
	font-size:18px;
	font-weight:600;
	color:#12327C;
	padding:0 0 13px 15px;
	margin-bottom:15px;
	border-bottom:1px solid #CCC;
}
#visitor p {
	padding-left:15px;
}
#visitor p:not(:last-child) {
	margin-bottom:1em;
}


#use .tbwrap {
	width:100%;
	margin-bottom:20px;
	overflow:auto;
}
#use table {
	width:100%;
	border:1px solid #333;
}
#use table th,
#use table td {
	font-size:16px;
	font-weight:normal;
	text-align:center;
	letter-spacing:0.1em;
	border:1px solid #333;
}
#use table thead th {
	color:#FFF;
	width:20%;
	padding:10px 10px 11px 10px;
	background-color:#2686B1;
}
#use table tbody td {
	padding:5px 5px 6px 5px;
}


#tours .maincap {
	margin-bottom:30px;
}
#tours .tourlist {
	padding:30px;
	border:1px solid #2686B1;
}
#tours .tourlist:not(:last-child) {
	margin-bottom:30px;
}
#tours .tourlist.flex {
	flex-wrap:wrap;
}
#tours .tourlist .photo {
	width:33%;
}
#tours .tourlist .text {
	width:67%;
	padding-left:30px;
}
#tours .tourlist .text h4 {
	font-size:18px;
	font-weight:600;
	color:#12327C;
	letter-spacing:0.1em;
	padding:0 0 13px 0;
	margin-bottom:15px;
	border-bottom:1px solid #CCC;
}
#tours .tourlist .text p:not(:last-child) {
	margin-bottom:30px;
}
#tours .tourlist .text ul:not(:last-child) {
	margin-bottom:20px;
}
#tours .tourlist .text ul li:not(:last-child) {
	margin-bottom:8px;
}
#tours .tourlist .text ul li dl {
	font-size:0;
}
#tours .tourlist .text ul li dl dt,
#tours .tourlist .text ul li dl dd {
	font-size:14px;
	line-height:1.9;
	display:inline-block;
	vertical-align:top;
}
#tours .tourlist .text ul li dl dt {
	color:#FFF;
	text-align:center;
	width:155px;
	padding:0 5px;
	background-color:#12327C;
}
#tours .tourlist .text ul li dl dd {
	width:calc(100% - 155px);
	padding-left:20px;
}


#hours ul li:not(:last-child) {
	margin-bottom:8px;
}
#hours ul li dl {
	font-size:0;
}
#hours ul li dl dt,
#hours ul li dl dd {
	font-size:14px;
	line-height:1.9;
	display:inline-block;
	vertical-align:top;
}
#hours ul li dl dt {
	color:#FFF;
	text-align:center;
	width:155px;
	padding:0 5px;
	background-color:#12327C;
}
#hours ul li dl dd {
	width:calc(100% - 155px);
	padding-left:20px;
}
#hours ul li dl dd span {
	display:block;
	margin-top:1em;
}


#inquiries ul li:not(:last-child) {
	margin-bottom:8px;
}
#inquiries ul li dl {
	font-size:0;
}
#inquiries ul li dl dt,
#inquiries ul li dl dd {
	font-size:14px;
	line-height:1.9;
	display:inline-block;
	vertical-align:top;
}
#inquiries ul li dl dt {
	color:#FFF;
	text-align:center;
	width:155px;
	padding:0 5px;
	background-color:#12327C;
}
#inquiries ul li dl dd {
	width:calc(100% - 155px);
	padding-left:20px;
}
#inquiries ul li dl dd a {
	display:inline-block;
}
#inquiries ul li dl dd a:hover {
	text-decoration:underline;
}
#inquiries ul li dl dd span {
	display:block;
	margin-top:1em;
}


#access #land,
#access #sea {
	padding:30px;
	border:1px solid #2686B1;
}
#access #land {
	margin-bottom:30px;
}
#access .map {
	height:445px;
	position:relative;
	overflow:hidden;
}
#access h4 {
	font-size:21px;
	font-weight:600;
	color:#12327C;
	letter-spacing:0.1em;
	padding:0 0 13px 0;
	margin-bottom:30px;
	border-bottom:1px solid #CCC;
}
#access ul {
	margin-bottom:30px;
}
#access ul li:not(:last-child) {
	margin-bottom:8px;
}
#access ul li dl {
	font-size:0;
}
#access ul li dl dt,
#access ul li dl dd {
	font-size:14px;
	line-height:1.9;
	display:inline-block;
	vertical-align:top;
}
#access ul li dl dt {
	color:#FFF;
	text-align:center;
	width:155px;
	padding:0 5px;
	background-color:#12327C;
}
#access ul li dl dd {
	width:calc(100% - 155px);
	padding-left:20px;
}
#access .map iframe {
	width:100%;
	height:100%;
	display:block;
	border:none;
	position:absolute;
	top:0;
	left:0;
	z-index:1;
}
#access #sea_access {
	flex-wrap:wrap;
}
#access #sea_access p {
	width:calc((99.9% - 30px) / 2);
}
#access #sea_access p:last-child {
	margin-left:auto;
}


@media screen and (max-width:1260px) {
	#pageimg .title span.eng {
		font-size:35px;
	}
	
	
	.lead {
		padding:80px 0;
	}
	.lead h2 {
		margin-bottom:29px;
	}
	.lead h2 span {
		font-size:30px;
	}
	.lead h2 span::after {
		width:100px;
		height:120px;
		left:-55px;
	}
	.lead p {
		font-size:15px;
	}
	
	
	.content .line_float .text {
		width:calc(100% - 315px);
		padding-right:20px;
	}
	.content .line_float .photo {
		width:315px;
	}
	
	
	#visitor h4 {
		font-size:17px;
		padding:0 0 12px 10px;
		margin-bottom:14px;
	}
	#visitor p {
		padding-left:10px;
	}
	
	
	#use table th,
	#use table td {
		font-size:15px;
	}
	
	
	#tours .maincap {
		margin-bottom:29px;
	}
	#tours .tourlist {
		padding:28px;
	}
	#tours .tourlist .text {
		padding-left:28px;
	}
	#tours .tourlist .text h4 {
		font-size:17px;
		padding:0 0 12px 0;
		margin-bottom:14px;
	}
	#tours .tourlist .text p:not(:last-child) {
		margin-bottom:29px;
	}
	#tours .tourlist .text ul:not(:last-child) {
		margin-bottom:19px;
	}
	
	
	#access #land,
	#access #sea {
		padding:28px;
	}
	#access .map {
		height:430px;
	}
	#access h4 {
		font-size:20px;
		padding:0 0 12px 0;
		margin-bottom:28px;
	}
	#access #sea_access p {
		width:calc((99.9% - 28px) / 2);
	}
}
@media screen and (max-width:1100px) {
	#pageimg .title span.eng {
		font-size:34px;
	}
	
	
	.content .line_float .text {
		width:calc(100% - 300px);
	}
	.content .line_float .photo {
		width:300px;
	}
}
@media screen and (max-width:1040px) {
	.pagenavi li {
		width:50%;
		padding:0 10px 0 0;
	}
	.pagenavi li:nth-child(2),
	.pagenavi li:nth-child(5) {
		width:50%;
	}
	.pagenavi li:nth-child(3),
	.pagenavi li:nth-child(6) {
		width:50%;
	}
	
	.pagenavi li:nth-child(even) {
		padding:0 0 0 10px;
	}
}
@media screen and (max-width:980px) {
	#pageimg .title span.eng {
		font-size:32px;
	}
	
	
	.lead {
		padding:70px 0;
	}
	.lead h2 {
		margin-bottom:27px;
	}
	.lead h2 span {
		font-size:28px;
	}
	.lead h2 span::after {
		width:96px;
		height:115px;
		left:-50px;
	}
	
	
	.content .line_float .text {
		width:calc(100% - 275px);
	}
	.content .line_float .photo {
		width:275px;
	}
	
	
	#visitor h4 {
		padding:0 0 11px 5px;
		margin-bottom:13px;
	}
	#visitor p {
		padding-left:5px;
	}
	
	
	#tours .maincap {
		margin-bottom:27px;
	}
	#tours .tourlist {
		padding:25px;
	}
	#tours .tourlist .text {
		padding-left:25px;
	}
	#tours .tourlist .text h4 {
		padding:0 0 11px 0;
		margin-bottom:13px;
	}
	#tours .tourlist .text p:not(:last-child) {
		margin-bottom:27px;
	}
	#tours .tourlist .text ul:not(:last-child) {
		margin-bottom:17px;
	}
	
	
	#access #land,
	#access #sea {
		padding:25px;
	}
	#access .map {
		height:400px;
	}
	#access h4 {
		font-size:19px;
		padding:0 0 11px 0;
		margin-bottom:25px;
	}
	#access #sea_access p {
		width:calc((99.9% - 25px) / 2);
	}
}
@media screen and (max-width:768px) {
	#pageimg .title span.eng {
		font-size:30px;
	}
	
	
	.lead {
		padding:60px 0;
	}
	.lead h2 {
		margin-bottom:25px;
	}
	.lead h2 span {
		font-size:26px;
	}
	.lead h2 span::after {
		width:92px;
		height:111px;
		left:-45px;
	}
	.lead p {
		font-size:14px;
	}
	
	
	.content .line_float .text {
		width:calc(100% - 250px);
	}
	.content .line_float .photo {
		width:250px;
	}
	
	
	#visitor h4 {
		font-size:16px;
		padding:0 0 10px 0;
		margin-bottom:12px;
	}
	#visitor p {
		padding-left:0;
	}
	
	
	#use table th,
	#use table td {
		font-size:14px;
	}
	
	
	#tours .maincap {
		margin-bottom:25px;
	}
	#tours .tourlist {
		padding:20px;
	}
	#tours .tourlist .text {
		width:55%;
		padding-left:20px;
	}
	#tours .tourlist .photo {
		width:45%;
	}
	#tours .tourlist .text h4 {
		font-size:16px;
		padding:0 0 10px 0;
		margin-bottom:12px;
	}
	#tours .tourlist .text p:not(:last-child) {
		margin-bottom:25px;
	}
	#tours .tourlist .text ul:not(:last-child) {
		margin-bottom:15px;
	}
	#tours .tourlist .text ul li:not(:last-child) {
		margin-bottom:20px;
	}
	#tours .tourlist .text ul li dl dt,
	#tours .tourlist .text ul li dl dd {
		display:block;
	}
	#tours .tourlist .text ul li dl dt {
		text-align:left;
		width:100%;
		margin-bottom:5px;
	}
	#tours .tourlist .text ul li dl dd {
		width:100%;
		padding-left:0;
	}
	
	
	#access #land,
	#access #sea {
		padding:20px;
	}
	#access .map {
		height:350px;
	}
	#access h4 {
		font-size:18px;
		padding:0 0 10px 0;
		margin-bottom:20px;
	}
	#access #sea_access p {
		width:calc((99.9% - 20px) / 2);
	}
}
@media screen and (max-width:700px) {
	#use .tbwrap {
		width:100%;
		margin-bottom:20px;
		overflow:auto;
	}
	#use table {
		width:643px;
	}
	#use table thead th {
		padding:5px 5px 6px 5px;
	}
}
@media screen and (max-width:640px) {
	#pageimg .title span.eng {
		font-size:29px;
	}
	
	.pagenavi {
		padding:10px 20px 20px 20px;
	}
	.pagenavi li {
		width:100%;
		padding:0;
		margin:0;
		border-bottom:1px solid #FFF;
	}
	.pagenavi li:not(:last-child) {
		margin:0;
	}
	.pagenavi li:nth-child(2),
	.pagenavi li:nth-child(5) {
		width:100%;
	}
	.pagenavi li:nth-child(3),
	.pagenavi li:nth-child(6) {
		width:100%;
	}
	
	.pagenavi li:nth-child(even) {
		padding:0;
	}
	.pagenavi li a {
		display:block;
		padding:10px 0;
	}
	
	
	.lead {
		padding:55px 0;
	}
	.lead h2 span {
		font-size:25px;
	}
	.lead h2 span::after {
		width:88px;
		height:106px;
		left:-40px;
	}
	
	
	.content .line_float:not(:last-child) {
		margin-bottom:55px;
	}
	.content .line_float .text {
		width:100%;
		float:none;
		padding-right:0;
		margin-bottom:20px;
	}
	.content .line_float .photo {
		width:100%;
		float:none;
	}
	
	
	#tours .tourlist .text {
		width:100%;
		padding-left:0;
	}
	#tours .tourlist .photo {
		width:100%;
		margin-bottom:20px;
	}
	
	
	#hours ul li:not(:last-child) {
		margin-bottom:20px;
	}
	#hours ul li dl dt,
	#hours ul li dl dd {
		display:block;
	}
	#hours ul li dl dt {
		text-align:left;
		width:100%;
		margin-bottom:5px;
	}
	#hours ul li dl dd {
		width:100%;
		padding-left:0;
	}
	
	
	#inquiries ul li:not(:last-child) {
		margin-bottom:20px;
	}
	#inquiries ul li dl dt,
	#inquiries ul li dl dd {
		display:block;
	}
	#inquiries ul li dl dt {
		text-align:left;
		width:100%;
		margin-bottom:5px;
	}
	#inquiries ul li dl dd {
		width:100%;
		padding-left:0;
	}
	
	
	#access ul li:not(:last-child) {
		margin-bottom:20px;
	}
	#access ul li dl dt,
	#access ul li dl dd {
		display:block;
	}
	#access ul li dl dt {
		text-align:left;
		width:100%;
		margin-bottom:5px;
	}
	#access ul li dl dd {
		width:100%;
		padding-left:0;
	}
	#access .map {
		height:330px;
	}
	#access #sea_access p {
		width:100%;
	}
	#access #sea_access p:nth-child(1) {
		margin-bottom:20px;
	}
}
@media screen and (max-width:500px) {
	#pageimg .title span.eng {
		font-size:27px;
	}
	#pageimg .title span.eng br {
		display:block;
	}
	
	
	.lead {
		padding:45px 0;
	}
	.lead h2 span {
		font-size:23px;
	}
	.lead h2 span::after {
		width:80px;
		height:96px;
		left:-30px;
	}
	
	
	#access .map {
		height:300px;
	}
}
@media screen and (max-width:320px) {
	
}
@media screen and (min-width:769px) {
	
}