@charset "utf-8";

/* Reset
============================================================ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 14px;
	font-family: "meiryo","Hiragino Kaku Gothic Pro","MS PGothic",Verdana,Arial,sans-serif;
	line-height: 1.8;
	color: #333;
	vertical-align: baseline;
	box-sizing: border-box;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
html {
	overflow-y: scroll;
}
blockquote, q {
	quotes: none;
}
blockquote::before,
blockquote::after,
q::before, q::after {
	content: '';
	content: none;
}
input, textarea, select, checkbox {
	margin: 0;
	padding: 0;
	font-size: 16px;
	outline: none;
	border-radius: 0;
	border: 1px solid #767676;
}
select {
	background: #fff;
	color: #333;
}
ol, ul {
	list-style: none;
}
table{
	border-collapse: collapse; 
	border-spacing: 0;
}
caption, th{
	text-align: left;
}
a {
	color: #25aae1;
	text-decoration: none;
	transition: all 0.5s;
}
a:hover {
	opacity: 0.7;
}
a:focus {
	outline: none;
}
a.ud {
	position: relative;
	display: inline-block;
	text-decoration: none;
}
a.ud::after {
	position: absolute;
	bottom: 2px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #333;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.3s;
}
a.ud:hover::after {
	transform: scale(1, 1);
}
img {
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}
i {
	font-size: 14px;
}
table {
	word-break : break-all;
}
/* Font
============================================================ */
@font-face {
	font-family: "Rockwell Extra Bold";
	src: url("../fonts/rockeb.ttf");
}
@font-face {
	font-family: "Rockwell Regular";
	src: url("../fonts/rockwen.ttf");
}

/* Util
============================================================ */
.clearfix::after {
	content: "."; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
.btn_01  {
	display: block;
	width: 100%;
	background: #ff0033;
	text-align: center;
	margin: 20px 0;
	padding: 5px 0;
	color: #fff;
}
.btn_04  {
	display: block;
	width: 200px;
	background: #25aae2;
	text-align: center;
	margin: 20px 0;
	padding: 5px 0;
	color: #fff;
	margin: 20px auto;
}
.btn_02_right  {
	position: relative;
	display: block;
	width: 200px;
	background: #555;
	text-align: center;
	margin: 20px 0 20px auto;
	padding: 5px 0;
	color: #fff;
	border-right: 20px solid #333;
}
.btn_02_right:hover {
	background: #333;
	opacity: 1;
}
.btn_02_right i {
	position: absolute;
	top: calc(50% - 8px);
	right: -14px;
	color: #fff;
}
.scrollert {
	width: auto;
	overflow-y: scroll !important;
}
.underline {
	text-decoration: underline;
}
.color_black {
	color: #333;
}
.color_white {
	color: #fff;
}
.color_red {
	color: #ff0033;
}
.color_blue {
	color: #004b91;
}
.back_black {
	background: #111;
}
.back_gray {
	background: #555;
}
.back_red {
	background: #ff0033;
}
.back_sat {
	background: #f4f4ff;
}
.back_san{
	background: #fff4f4;
}

.bx_shadow1 {
	box-shadow: 1px 1px 1px 1px rgba(0,0,0,0.1);
}
.f_bld {
	font-weight: bold;
}
.f_10 {
	font-size: 10px;
}
.f_12 {
	font-size: 12px;
}
.f_16 {
	font-size: 16px;
}
.f_18 {
	font-size: 18px;
}
.m_t_20 {
	margin-top: 20px;
}
.m_t_50 {
	margin-top: 50px;
}
.m_b_20 {
	margin-bottom: 20px;
}
.m_b_0 {
	margin-bottom: 0;
}
.m_r_30 {
	margin-right: 30px;
}
.txt_gray {
	color: #fff;
	background: #888;
	margin-right: 5px;
	padding: 0 5px;
}
.txt_black {
	color: #fff;
	background: #333;
	margin-right: 5px;
	padding: 0 5px;
}
.txt_under {
	text-decoration: underline;
}
.align_right {
	text-align: right;
}
.align_center {
	text-align: center;
}
.copy {
	cursor: pointer;
	color: #fff;
	background: #555;
	margin: 0 10px;
	padding: 0 5px;
}
.pop {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 16px;
	color: #fff;
	padding: 0 5px;
	background-color: #ff0033;
	opacity: 0.8;
}
.pop_l {
	position: absolute;
	top: 0;
	left: -20px;
	font-size: 16px;
	color: #fff;
	padding: 0 5px;
	background-color: #ff0033;
	transform: rotate(-45deg);
	opacity: 0.8;
}
.sold_out {
	position: absolute;
	top: 60px;
	left: 40px;
	font-size: 20px;
	line-height: 1.0;
	font-weight: bold;
	color: #fff;
	transform: rotate(-20deg);
}
.sold_out_m {
	position: absolute;
	top: 110px;
	left: 50px;
	font-size: 40px;
	line-height: 1.0;
	font-weight: bold;
	color: #fff;
	transform: rotate(-20deg);
}
.filter {
	background: #000;
}
.filter_img {
	display: block;
	opacity: 0.3;
}
.txt_center {
	text-align: center;
}
.no_image_320 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 320px;
	height: 240px;
	background: #f4f4f4;
}
.price {
	font-weight: bold;
	color: #ff0033;
}
.hover_zoom {
	width: 100%;
	overflow: hidden;
}
.hover_zoom img {
	width: 100%;
	height: auto;
	transition: all 0.5s;
}
.hover_zoom img:hover {
	transform: scale(1.1);
	cursor: pointer;
}
.category_name {
	padding-left: 10px;
	background: url("/images/icon_arrow.gif") no-repeat scroll left center;
}
.req::after {
	content: "※";
	color: #ff0033;
	padding-left: 5px;
	font-size: 10px;
}
.error_item_msg {
	color: #ff0033;
}
.remarks {
	position: relative;
	border: 1px solid #ccc;
	padding: 20px 0 10px 10px;;
	margin: 20px 0;
}
.remarks ul li {
	margin-left: 20px;
	list-style-type: disc;
}
.remarks p {
	position: absolute;
	top: -10px;
	left: 10px;
	background: #fff;
	margin: 0;
	padding: 0 5px;
	display: block;
}
.f_ming {
	font-family: serif;
}
.lb-caption {
	color: #fff;
}
.fold {
	position: relative;
	border: 1px solid #aaa;
}
.fold::before {
	position: absolute;
	content: "";
	width: 10px;
	height: 10px;
	background: linear-gradient(-45deg, #f4f4f4 48%, #000 48%, #000 52%, #fff 52%);
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	box-shadow: -1px -1px 2px #ccc;
	display: inline-block;
	bottom: -1px;
	right: -1px;
}
.text_line_right {
	display: flex;
	align-items: center;
}
.text_line_right::after {
	display: block;
	content: "";
	flex-grow: 1;
	height: 1px;
	margin-left: 20px;
	background: #aaa;
}
.fa-youtube {
	color: #fc0d1c;
}
.fa-twitter-square {
	color: #55acee;
}
.exp {
	background: #ddeaf0;
	margin: 20px 0;
	padding: 10px;
}

/* page header image
------------------------------------------------------------ */
.img_title {
	margin-bottom: 20px;
}
.img_title img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}
.page_header {
	position: relative;
}
.page_header .page_img {
	background: #333;
}
.page_header .page_img img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	opacity: 0.8;
}
.page_header .page_txt {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
/*
	-webkit- transform: translateY(-50%) translateX(-50%);
*/
	white-space: nowrap;
	overflow: hidden;
	font-weight: bold;
	font-size: 30px;
	color: #fff;
/*
	font-family: monospace;
*/
}
@media screen and (max-width: 767px) {
	.page_header .page_img img {
		height: 150px;
	}
	.page_header .page_txt {
		font-size: 20px;
	}
}

/* keyframes
------------------------------------------------------------ */
.from_top {
	animation: fromTop 1s ease-in-out 0s 1 normal both;
} 
@keyframes fromTop {
	0% {
		top: 0%;
		opacity: 0;
	}
	100% {
		top: 50%;
		opacity: 1;
	}
}
.from_bottom {
	animation: fromBottom 1s ease-in-out 0s 1 normal both;
} 
@keyframes fromBottom {
	0% {
		top: 100%;
		opacity: 0;
	}
	100% {
		top: 50%;
		opacity: 1;
	}
}
.from_left {
	animation: fromleft .6s ease-in-out 0s 1 normal both;
} 
@keyframes fromleft {
	0% {
		left: 0%;
		opacity: 0;
	}
	100% {
		left: 50%;
		opacity: 1;
	}
}
.from_right {
	animation: fromRight .6s ease-in-out .5s 1 normal both;
} 
@keyframes fromRight {
	0% {
		left: 100%;
		opacity: 0;
	}
	100% {
		left: 50%;
		opacity: 1;
	}
}
.fadein {
	animation: fadein 2s ease-in-out;
}
@keyframes fadein {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* table
------------------------------------------------------------ */
table.basic {
	border-collapse: collapse;
	width: 100%;
	table-layout: auto;
}
table.basic th {
	border: 1px solid #ddd;
	vertical-align: top;
	padding: 4px;
	background: #f4f4f4;
}
table.basic td {
	border: 1px solid #ddd;
	vertical-align: top;
	padding: 4px;
}
table.border {
	border-collapse: collapse;
	width: 100%;
	table-layout: auto;
}
table.border th {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	vertical-align: top;
	padding: 4px;
}
table.border td {
	border-bottom: 1px solid #ddd;
	padding: 4px;
}

/* list
------------------------------------------------------------ */
.product_list {
	display: flex;
	flex-wrap : wrap;
	width: 100%;
}
.product_list li {
	position: relative;
	margin-bottom: 20px;
	display: flex;
	flex-direction: column;
	background: #f4f4f4;
	border: 1px solid #eee;
	padding: 10px;
}
.product_list li img {
	width: 100%;
	height: auto;
}
.product_list .price {
	margin-top: auto;
}
.product_list p.hover_zoom {
	border: 1px solid #eee;
}
@media screen and (min-width: 768px) {
	.product_list li {
		width: calc((100% - 40px) / 5);
		margin-right: 10px;
	}
	.product_list li:nth-child(5n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 767px) {
	.product_list li {
		width: calc((100% - 10px) /2);
		margin-right: 10px;
	}
	.product_list li:nth-child(2n) {
		margin-right: 0;
	}
}

/* form
------------------------------------------------------------ */
#inputForm input {
	padding: 6px;
}
#inputForm select {
	padding: 8px;
/*
	border: 1px solid #767676;
	background: #fff;
	border-radius: 5px;
	color: #333;
*/
}
#inputForm textarea {
	display: block;
	resize: none;
	padding: 6px;
}
#inputForm th {
	width: 200px;
	padding: 6px;
}
#_name, #_tel, #file1, #file2, #file3 {
	width: 300px;
}
#_mail, #_address, #_title {
	width: 90%;
}
#_post1, #_post2 {
	width: 50px;
}
#_note, #_comment {
	width: 90%;
	height: 100px;
}
@media screen and (max-width: 767px) {
	#_name, #_tel, #_mail, #_address, #_title,
	#file1, #file2, #file3 {
		width: 90%;
	}
}

/* dl page_list
------------------------------------------------------------ */
div.page_list_wrapper {
	border: 1px solid #ccc;
}
dl.page_list {
	display: flex;
	flex-wrap: wrap;
}
dl.page_list dt {
	width: 10%;
	padding: 10px;
}
dl.page_list dt:nth-child(4n-1) {
	background: #fff;
}
dl.page_list dd {
	width: 90%;
	padding: 10px;
}
dl.page_list dd:nth-child(4n) {
	background: #fff;
}
@media screen and (max-width: 767px) {
	dl.page_list dt {
		width: 25%;
	}
	dl.page_list dd {
		width: 75%;
	}
}

/* Layout / Design
============================================================ */

/* wrapper
------------------------------------------------------------ */
@media screen and (min-width: 768px) {
	header .wrapper {
		display: flex;
		justify-content: space-between;
		width: 980px;
		height: 60px;
		margin: 0 auto;
		align-items: center;
	}
	#headerNav .home {
		display: none;
	}
	#headerNav .tel {
		display: none;
	}
	#headerNav .point {
		display: none;
	}
	#headerNav .tide {
		display: none;
	}
	#headerNav .club {
		display: none;
	}
	#headerNav .reserve {
		display: none;
	}
	#headerNav .cart {
		display: none;
		position: relative;
	}
	#headerNav .cart .num {
		position: absolute;
		top: -7px;
		right: -7px;
		color: #fff;
		border-radius: 50%;
		font-size: 10px;
		width: 20px;
		height: 20px;
		text-align: center;
		line-height: 20px;
	}
	#sideNav .cart .num {
		position: absolute;
		top: -10px;
		right: 0;
		color: #fff;
		border-radius: 50%;
		font-size: 10px;
		width: 20px;
		height: 20px;
		text-align: center;
		line-height: 20px;
	}
	#telButton {
		display: none;
	}
	#hamburgerButton {
		display: none;
	}
	footer .wrapper {
		width: 980px;
		margin: 0 auto;
		padding: 30px 0 10px 0;
	}
}

/* header
------------------------------------------------------------ */
header {
	width: 100%;
	background: #25aae2;
/*
	opacity: 0.9;
*/
}
header.fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}
header h1 a .txt1 {
	font-family: "Rockwell Extra Bold";
	color: #fff;
	font-size: 26px;
	line-height: 30px;
}
header h1 a .txt2 {
	font-family: "Rockwell Regular";
	color: #fff;
	font-size: 18px;
	line-height: 30px;
}
header ul {
	display: flex;
}
header ul li a {
	position: relative;
	display: block;
	color: #fff;
	padding: 0 10px;
}
@media screen and (min-width: 768px) {
	header ul li a::after {
		position: absolute;
		bottom: 0;
		left: 10%;
		content: '';
		width: 80%;
		height: 1px;
		background:#fff;
		transition: all .3s;
		transform: scale(0, 1);
		transform-origin: center top;
	}
	header ul li a:hover::after {
		transform: scale(1, 1);
	}
	#pageCatch li.catch a::after {
		transform: scale(1, 1);
	}
	#pageProducts li.products a::after {
		transform: scale(1, 1);
	}
	#pageOnline li.online a::after {
		transform: scale(1, 1);
	}
	#pagePoint li.point a::after {
		transform: scale(1, 1);
	}
	#pageTide li.tide a::after {
		transform: scale(1, 1);
	}
	#pageClub li.club a::after {
		transform: scale(1, 1);
	}
	#pageShop li.shop a::after {
		transform: scale(1, 1);
	}
	#pageSchedule li.schedule a::after {
		transform: scale(1, 1);
	}
	#pageAccess li.access a::after {
		transform: scale(1, 1);
	}
	#pageContact li.contact a::after {
		transform: scale(1, 1);
	}
}
@media screen and (max-width: 767px) {
	header .wrapper {
		display: flex;
		width: 100%;
		height: 60px;
		align-items: center;
		padding-left: 10px;
	}
	header i {
		color: #fff;
	}
	#headerNav {
		position: fixed;
		top: 0;
		right: -767px;
		width: 300px;
		height: 100%;
		padding-top: 60px;
		background: #25aae2;
		z-index: 200;
		overflow-y: auto; 
		transition: all .6s;
	}
	#headerNav ul li.cart {
		position: relative;
	}
	#headerNav .cart .num {
		position: absolute;
		top: 6px;
		left: 60px;
		color: #fff;
		border-radius: 50%;
		font-size: 10px;
		width: 20px;
		height: 20px;
		text-align: center;
		line-height: 20px;
	}
	#telButton a {
		position: fixed;
		top: 0;
		right: 60px;
		line-height: 60px;
		text-align: center;
		transition: all 0.5s;
		cursor: pointer;
	}
	#hamburgerButton {
		position: fixed;
		top: 0;
		right: 20px;
		line-height: 60px;
		text-align: center;
		color: #fff;
		z-index: 300;
		transition: all 0.5s;
		cursor: pointer;
		user-select: none;
	}
	#headerNav ul {
		display: block;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	#headerNav ul li {
		text-align: left;
		padding: 0 30px;
	}
	#headerNav ul li a {
		display: block;
		padding: 10px 0;
		border-bottom: 1px solid #f4f4f4;
	}
	#header .bg_black {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.8);
		opacity: 0;
		visibility: hidden;
		transition: all 0.5s;
		z-index: 50;
	}
	body.open #headerNav {
		right: 0;
	}
	body.open #header .bg_black  {
		opacity: 1;
		visibility: visible;
	}
	#pageCatch li.catch {
		border-bottom: none;
	}
	#pageProducts li.products {
		border-bottom: none;
	}
	#pageOnline li.online {
		border-bottom: none;
	}
	#pagePoint li.point {
		border-bottom: none;
	}
	#pageTide li.tide {
		border-bottom: none;
	}
	#pageClub li.club {
		border-bottom: none;
	}
	#pageShop li.shop {
		border-bottom: none;
	}
	#pageSchedule li.schedule {
		border-bottom: none;
	}
	#pageAccess li.access {
		border-bottom: none;
	}
	#pageContact li.contact {
		border-bottom: none;
	}
}

/* header typing
------------------------------------------------------------ */
#shopPage .typing {
	width: 20ch;
	animation: typing 3s steps(20);
}
#catchPage .typing {
	width: 20ch;
	animation: typing 3s steps(20);
}
@keyframes typing {
	0% {
		width: 0;
	}
}

/* footer
------------------------------------------------------------ */
#footer {
	background: #25aae2;
	width: 100%
}
#footer .inner {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
#footer .shop {
	color: #fff;
	width: 100%;
}
#footer .shop a {
	color: #fff;
}
#footer .shop p.industry {
	color: #fff;
	margin-bottom: 10px;
}
#footer .shop >div {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}
#footer .shop >div .shop_name {
	font-size: 18px;
	font-weight: bold;
	margin-left: 10px;
}
#footer .shop dl {
	display: flex;
	flex-wrap: wrap;
}
#footer .shop dl dt {
	width: 15%;
	color: #fff;
}
#footer .shop dl dd {
	width: 85%;
	color: #fff;
}
#footerNav {
	display: flex;
	width: 100%;
}
#footerNav a,
#footerNav i {
	color: #fff;
}
#footerNav ul.menu {
	width: 100%;
}
#footerNav ul.others {
	width: 100%;
}
#footerNav ul li {
	padding-left: 10px;
	background: url("/images/icon_arrow2.gif") no-repeat scroll left 9px;
}
#footer .copyright {
	background: #555;
	width: 100%;
	height: 50px;
}
#footer .copyright p {
	font-size:12px;
	line-height: 50px;
	text-align: center;
	color: #fff;
}
#footer .copyright p a {
	font-size:12px;
	color: #fff;
}
@media screen and (max-width: 767px) {
	footer .wrapper {
		padding: 30px 0 50px 0;
	}
	#footer .inner {
		display: block;
	}
	#footer .shop {
		margin-bottom: 20px;
		padding: 0 20px;
	}
	#footer .shop dl dt {
		width: 20%;
	}
	#footer .shop dl dd {
		width: 80%;
	}
	#footerNav {
		display: block;
		padding: 0 20px;
	}
	#footerNav ul {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 20px;
	}
	#footerNav ul li {
		width: calc(50% - 0px);
	}
	#footerNav ul.others li a {
		font-size: 12px;
	}
	#footer .copyright {
		font-size: 10px;
	}
	#footer .copyright a {
		font-size: 10px;
	}
}

/* side
------------------------------------------------------------ */
@media screen and (min-width: 768px) {
	#sideNav ul {
		position: fixed;
		top: 50%;
		right: -80px;
		border-radius: 10px 0 0 10px;
		width: 120px;
		background: #25aae2;
		overflow: hidden;
		cursor: pointer;
/*
		z-index: 1;
*/
	}
	#sideNav ul.open {
		right: 0;
		transition: right 0.3s ease-out;
	}
	#sideNav ul li {
		padding: 10px;
		border-bottom: 1px solid #fff;
		cursor: pointer;
	}
	#sideNav ul li:last-child {
		border-bottom: none;
	}
	#sideNav ul li a {
		display: flex;
		align-items: center;
	}
	#sideNav ul li:hover {
		background: #333;
	}
	#sideNav ul li i {
		width: 46px;
		color: #fff;
		font-size: 16px;
	}
	#sideNav ul li p {
		width: 100%;
		margin-left: 4px;
		color: #fff;
	}
	#sideNav ul li.cart i {
		position: relative;
	}
}
@media screen and (max-width: 767px) {
	#sideNav {
		display: none;
	}
}

/* swiper
------------------------------------------------------------ */
.swiper {
	position: relative;
	width: 100%;
	height: 700px;
	background: #000;
	--swiper-navigation-color: #fff;
	--swiper-pagination-color: #fff;
}
.swiper-slide {
	box-sizing: border-box;
	padding: 40px 80px;
}
.swiper-slide  img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: auto;
	background-size: cover;
	background-position: center;
}
.swiper-slide .title {
/*
	font-family: serif;
*/
	font-size: 50px;
	font-weight: bold;
	line-height: 1.2;
	color: #fff;
}
.swiper-slide .subtitle {
	font-size: 34px;
	font-weight: bold;
	color: #a9894a;
	text-shadow: 0 0 0.05em #fff, 0 0 0.10em #fff, 0 0 0.15em #fff, 0 0 0.30em #fff ;
}
.swiper-slide .text  {
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #111;
	opacity: 0.9;
	width: 100%;
	padding: 20px;
	text-align: center;
}
.swiper-slide .text p {
	color: #fff;
	font-size: 16px;
}
.swiper-slide .text a {
	color: #fff;
	text-decoration: underline;
}
.bg_color {
	background-color: rgba(0, 0, 0, 0.1);
}
.element {
	-webkit-text-fill-color: #333;
	-webkit-text-stroke: 1px #fff;
}
.swiper-button-prev i,
.swiper-button-next i {
	color: #fff;
}
.swiper-button-next::after,
.swiper-button-prev::after {
	display: none;
}
@keyframes zoom {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.2);
	}
}
.swiper-slide-active .zoom img {
	animation: zoom 6s linear 0s 1 normal both;
} 
@keyframes translate1 {
	0% {
		transform: scale(1.07) translate(0,0);
	}
	100% {
		transform: scale(1.07) translate(3%, 2%);
	}
}
  
.swiper-slide-active .translate1 img {
	animation: translate1 6s linear 0s 1 normal both;
} 

@keyframes translate2 {
	0% {
		transform: scale(1.05) translate(1%,2%);
	}
	100% {
		transform: scale(1.1) translate(-2%, -3%);
	}
}
 
.swiper-slide-active .translate2 img {
	animation: translate2 6s linear 0s 1 normal both;
} 
@media screen and (max-width: 767px) {
	.swiper {
		width: 100%;
		height: 400px;
	}
	.swiper-slide {
		padding: 40px 40px;
	}
	.swiper-slide .parallax-bg img {
		width: 130%;
	}
	.swiper-slide .title {
		font-size: 40px;
		line-height: 1.3;
	}
	.swiper-slide .subtitle {
		font-size: 26px;
		line-height: 1.3;
	}
	.swiper-slide .text  {
		padding: 10px;
		text-align: left;
	}
	.swiper-slide .text p {
		font-size: 14px;
	}
	body.open .swiper {
		z-index: -1;
	}
	.bg_color {
		background-color: rgba(0, 0, 0, 0.4);
	}
}

/* pageTop
------------------------------------------------------------ */
#pageTop {
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 2;
	opacity: 0;
	transform: translateY(100px);
}
#pageTop a {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #555;
	width: 50px;
	height: 50px;
	color: #fff;
	text-align: center;
	opacity: 0.5;
}
#pageTop a:hover{
	background: #333;
}
#pageTop a i {
	color: #fff;
}
#pageTop.UpMove {
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
#pageTop.DownMove {
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 1;
		transform: translateY(100px);
	}
}

/* index
------------------------------------------------------------ */
@media screen and (min-width: 768px) {
	#contentsArea {
		margin: 20px auto 50px auto;
		text-align: left;
		width: 980px;
		min-height: 85vh;
	}
}
@media screen and (max-width: 767px) {
	#contentsArea {
		margin: 20px auto 50px auto;
		text-align: left;
		padding-left: 10px;
		padding-right: 10px;
		min-height: 85vh;
	}
}

/*----- introduction -----*/
#introduction {
	margin: 30px 0;
	background:  url("/images/img_shop01.jpg") no-repeat scroll right top;
}
#introduction .sub {
	color: #25aae2;
	font-size: 18px;
	font-weight: bold;
}
#introduction .main {
	font-size: 38px;
	line-height: 48px;
	font-weight: bold;
	margin: 10px 0;
}
#introduction .desc {
	font-weight: bold;
	width: 560px;
}
@media screen and (max-width: 767px) {
	body.open #introduction {
		z-index: -1;
	}
	#introduction {
		background: url("/images/img_shop01.jpg") no-repeat scroll right top;
		background-size: 280px auto;
	}
	#introduction .main {
		font-size: 34px;
	}
	#introduction .desc {
		width: 100%;
	}
}

/*----- service -----*/
#service ul.inner {
	display: flex;
	justify-content: space-between;
}
#service ul.inner li {
	width: 100%;
	margin-right: 20px;
	margin-bottom: 20px;
}
#service ul.inner li p {
	padding: 10px 10px 20px 0;
}
#service ul.inner li:last-child {
	margin-right: 0;
}
#service dl {
	margin-bottom: 10px;
}
#service dt, #service dd {
	display: inline-block;
}
#service dt span {
	font-size: 50px;
	line-height: 50px;
	color: #a9894a;
	font-weight: bold;
}
#service dd {
	font-weight: bold;
	line-height: 1.2;
	padding: 0 10px;
}
#service dd span {
	font-size: 12px;
	font-weight: bold;
	color: #a9894a;
}
@media screen and (max-width: 767px) {
	#service ul.inner {
		display: block;
	}
}

/*----- Heading -----*/
h2 {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	line-height: 1.2;
	font-weight: bold;
}
h2::before, h2::after {
	content: '';
	flex-grow: 0.1;
	height: 2px;
}
h2::before {
	margin-right: 10px;
	background: linear-gradient(-90deg, #333, transparent);
}
h2::after {
	margin-left: 10px;
	background: linear-gradient(90deg, #333, transparent);
}
.h2_wrapper {
	text-align: center;
	margin: 20px 0 30px 0;
}
.h2_wrapper p {
	color: #a9894a;
}
h2.detail {
	display: block;
	font-size: 30px;
	line-height: 1.0;
}
h2.detail::before {
	margin: 0;
	padding: 0;
}
h3 {
	position: relative;
	font-size: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
	padding-bottom: 5px;
	border-bottom: 1px solid #ccc;
}
h3::after {
	position: absolute;
	display: block;
	content: "";
	border-bottom: solid 2px #25aae2;
	bottom: -1px;
	width: 20%;
}
h3.sub_title {
	font-size: 20px;
	margin: 0;
}
h3.sub_title::after {
	border: none;
}
h4 {
	font-weight: bold;
}
#imgTitle {
	position: relative;
	background: #000;
}
#imgTitle h3 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	color: #fff;
}
#imgTitle img {
	display: block;
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	body.open #imgTitle {
		z-index: -1;
	}
	body.open #imgTitle h3 {
		z-index: -1;
	}
}
/*----- index -----*/
#indexPage .h2_wrapper {
	margin: 60px 0 30px 0;
}
/*----- news -----*/
#news {
	display: flex;
}
#news p {
	margin: 0;
	padding: 10px 20px;
	color: #fff;
	background: #ff0033;
	cursor: pointer;
}
#news dl.news_list {
	position: relative;
	width: 100%;
	border: 1px solid #ddd;
	cursor: pointer;
}
#news dl.news_list::after {
	position: absolute;
	top: 15px;
	right: 15px;
	display: block;
	width: 7px;
	height: 7px;
	margin: auto;
	content: '';
	transform: rotate(135deg);
	border-top: 2px solid #000;
	border-right: 2px solid #000;
}
#news dl.open::after {
	transform: rotate(-45deg);
}
#news dl.news_list dt {
	padding: 10px 20px;
	background: #f4f4f4;
}
#news dl.news_list dd {
	padding: 10px 20px;
}

/*----- information -----*/
#topInfo h3 {
	border: none;
}
#topInfo .info_inner {
	display: flex;
	justify-content: space-between;
}
#topInfo .info_inner > div {
	width: 100%;
	margin-right: 20px;
}
#topInfo .info_inner > div:last-child {
	margin-right: 0;
}
#topInfo .schedule table th,
#topInfo .schedule table td {
	text-align: center;
}
#topInfo .schedule th.th1,
#topInfo .schedule th.th2 {
	width: 120px;
}
#topInfo .schedule td.memo {
	text-align: left;
}
@media screen and (max-width: 767px) {
	#topInfo .info_inner {
		display: block;
	}
	.btn_01_left,
	.btn_02_right  {
		width: 100%;
	}
	#topInfo .info {
		margin-bottom: 20px;
	}
	#topInfo .info table th,
	#topInfo .info table td {
		display: block;
		width: 100%;
		height: 100%;
	}
}

/*----- catch -----*/
#newResults .catch_list div.select {
	display: flex;
	height: 40px;
	text-align: center;
	margin: 0;
	padding: 0;
}
#newResults .catch_list div.select a {
	display: block;
	background: #555;
	color: #fff;
	width: 100%;
	margin-right: 1px;
	margin-top: 10px;
	line-height: 30px;
}
#newResults .catch_list div.select a:last-child {
	margin-right: 0;
}
#newResults .catch_list div.select a.now {
	background: #25aae2;
	margin-top: 0;
	line-height: 40px;
}
#newResults ul.inner {
	display: flex;
	padding: 10px;
	background: #f4f4f4;
}
#newResults ul.inner li {
	width: 100%;
	margin-right: 20px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}
#newResults ul.inner li:last-child {
	margin-right: 0;
}
#newResults ul.inner li dt {
	position: relative;
}
#newResults ul.inner li dt img {
	width: 100%;
	height: auto;
}
#newResults ul.inner li dd {
	text-align: center;
	background: #fff;
	line-height: 1.4;
	padding: 4px 0;
}
@media screen and (max-width: 767px) {
	#newResults ul.inner {
		display: flex;
		flex-flow: row wrap;
	}
	#newResults ul.inner li {
		width: calc(100% / 2) ;
		margin-right: 0;
		padding: 5px;
	}
}

/*----- products -----*/
#productsHandled .slick {
	width: 100%;
	margin: 0 auto;
}
#productsHandled ul li img {
	width: 100%;
	height: auto;
}
#productsHandled ul li dd {
	border: 1px solid #eee;
	background: #f4f4f4;
	height: 60px;;
	padding: 4px;
	line-height: 1.4;
}
#productsHandled .slick .slick-slide {
	margin: 0 10px;
}
#productsHandled .slick_prev, 
#productsHandled .slick_next {
	position: absolute;
	top: 40%;
	cursor: pointer;
}
#productsHandled .slick_prev {
	left: -10px;
}
#productsHandled .slick_next {
	right: -10px;
}
/*
#productsHandled ul.inner {
	display: flex;
}
#productsHandled ul.inner li {
	width: 100%;
	margin-right: 20px;
}
#productsHandled ul.inner li:last-child {
	margin-right: 0;
}
#productsHandled ul.inner li dt img {
	width: 100%;
	height: auto;
}
#productsHandled ul.inner li dt {
	position: relative;
}
@media screen and (max-width: 767px) {
	#productsHandled ul.inner {
		display: flex;
		flex-flow: row wrap;
	}
	#productsHandled ul.inner li {
		width: calc(100% / 2) ;
		margin-right: 0;
		padding: 5px;
	}
}
*/
/*----- web shop -----*/
#webShopping ul {
	display: flex;
	align-items: stretch;
}
#webShopping ul li {
	position: relative;
	width: 100%;
	margin-right: 20px;
	display: flex;
	flex-direction: column;
	border: 1px solid #eee;
	padding: 10px;
	background: #f4f4f4;
}
#webShopping ul li:last-child {
	margin-right: 0;
}
#webShopping ul li .product_name {
	margin: 4px 0;;
}
#webShopping ul li .price {
	margin-top: auto;
}
@media screen and (max-width: 767px) {
	#webShopping ul {
		display: flex;
		flex-flow: row wrap;
	}
	#webShopping ul li {
		width: calc(100% / 2) ;
		margin-right: 0;
		padding: 5px;
	}
}

/*----- point -----*/
#matHarbor .point {
	display: flex;
}
#matHarbor .point .image {
	margin-right: 20px;
}
#matHarbor .point .image img {
	border: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
	#matHarbor .point {
		display: block;
	}
	#matHarbor .point .image {
		margin: 0 0 20px 0;;
	}
	#matHarbor .point .image img {
		width: 100%;
		height: auto;
	}
}

/*----- SNS -----*/
#officialSNS h3 {
	border: none;
}
#officialSNS .sns_wrapper {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
#officialSNS .sns_wrapper .item {
	width: 50%;
	height: 300px;
	background: #f4f4f4;
}
#officialSNS .sns_wrapper iframe {
	width: 100%;
	height: 100%;
}
#officialSNS .sns ul {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}
#officialSNS .sns li {
	width: 100%;
	margin-right: 5px;
}
#officialSNS .sns li:last-child {
	margin-right: 0;
}
#officialSNS .sns li a {
	text-align: center;
}
#officialSNS .flowbtn {
	border-radius: 4px;
	display: inline-block;
	width: 100%;
	font-size: 20px;
	color: #fff;
	text-decoration: none;
	margin-bottom: 5px;
}
#officialSNS .flowbtn i {
	color: #fff;
}
#officialSNS .flowbtn span {
	color: #fff;
	margin-left: 4px;
}
#officialSNS .fl_tw {
	background: #0f1419;
}
#officialSNS .fl_ig {
	background: linear-gradient(-135deg, #4933f7, #ef1837, #fbd980);
}
#officialSNS .fl_fb {
	background: #3b5998;
}
#officialSNS .fl_yu {
	background: #fc0d1c;
}
@media screen and (max-width: 767px) {
	#officialSNS .sns_wrapper {
		display: block;
		width: auto;
	}
	#officialSNS .sns_wrapper .item {
		width: 100%;
		margin-bottom: 20px;
	}
	#officialSNS .sns ul {
		flex-wrap: wrap;
	}
	#officialSNS .sns ul li {
		margin-bottom: 10px;
	}
	#officialSNS .sns ul li:last-child {
		margin-bottom: 0;
	}
}

/*----- Links -----*/
#links .list .box {
	display: flex;
	align-items: stretch;
	margin-bottom: 20px;
}
#links .list ul {
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #ddd;
	padding: 10px;
	width: 100%;
}
#links .list ul li {
	padding-right: 20px;
}
#links .list ul li {
	padding-left: 10px;
	background: url("/images/icon_arrow.gif") no-repeat scroll left center;
}
#links .list p {
	width: 120px;
	background: #f4f4f4;
	padding: 10px;
}

/*----- information -----*/
#information {
	margin: 30px 0;
}
#information .tab {
	display: flex;
	height: 40px;
	text-align: center;
	margin: 0;
	padding: 0;
}
#information .tab a {
	display: block;
	background: #555;
	color: #fff;
	width: 100%;
	margin-right: 1px;
	margin-top: 10px;
	line-height: 30px;
}
#information .tab a.now {
	background: #25aae2;
	margin-top: 0;
	line-height: 40px;
}
#notice,
#update {
	width: 100%;
	height: 240px;
	background: #f4f4f4;
}

/* Layout / Design
============================================================ */

/*----- topicPath -----*/
#topicPath ul {
	display: flex;
	flex-wrap: wrap;
}
#topicPath ul li a {
	padding-right: 15px;
	background: url("/images/icon_arrow.gif") no-repeat scroll right center;
}
#topicPath ul li:nth-child(n + 2) {
	padding-left: 10px;
}

/*----- schedulePage -----*/
#schedulePage dl {
	text-align: center;
	width: 100px;
	margin: 20px auto 10px auto;
}
#schedulePage dt {
	font-size: 40px;
	line-height: 1;
	border-bottom: 1px solid #ddd;
	font-weight: bold;
}
#schedulePage dd {
	font-weight: bold;
}
#schedulePage table {
	border-collapse: collapse;
	width: 100%;
}
#schedulePage table td {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	padding: 6px;

}
#schedulePage table td.date {
	width: 40px;
	text-align: center;
}
#schedulePage table td.week {
	width: 20px;
	text-align: center;
	font-size: 10px;
}
#schedulePage table td.holiday {
	width: 80px;
	font-size: 10px;
}
#schedulePage table td.time {
	width: 140px;
	text-align: center;
}
#schedulePage table td.today {
	background: #ddd;
	border-radius: 50%;
	color: #fff;
}
#schedulePage table td span.update {
	background: #ff0033;
	color: #fff;
	padding: 0 4px;
	margin-right: 10px;
	font-size: 10px;
}

/*----- accessPage -----*/
#googleMap {
	width: 480px;
	height: 300px;
}
#accessPage .inner {
	display: flex;
	justify-content: space-between;
	align-items: start;
}
#accessPage .inner .map {
	width: 100%;
	margin-right: 20px;
}
#accessPage .inner .info {
	width: 100%;
}
#accessPage .inner .info table {
	height: 300px;
}
#accessPage .street iframe {
	width: 100%;
	height: 240px;
}
@media screen and (max-width: 767px) {
	#accessPage .inner {
		display: block;
	}
	#googleMap {
		width: 100%;
		height: 300px;
		margin-bottom: 20px;
	}
	body.open #googleMap {
		z-index: -1;
	}
}
/*----- shop -----*/
#shopPage .shop_info ul {
	list-style: inside;
}
#shopPage .shop_info ul.answer {
	list-style: none;
}
#shopPage .shop_info ul.answer li {
	color: #7d7d7d;
	margin-left: 20px;
}
#shopPage .shop_info dd {
	padding-left: 20px;
}
#shopPage .name {
	margin-top: 20px;
}
#shopPage .name ul {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}
#shopPage .name ul li {
	padding-left: 10px;
}
#shopPage .name ul li img.photo {
	border-radius: 50%;
	width: 50px;
	height: 50px;
}
#shopPage .cap {
	position: relative;
	margin: 30px 0 20px 0;
}
#shopPage .cap .label {
	position: absolute;
	top: 20px;
	left: 20px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
}
@media screen and (min-width: 768px) {
	#shopPage .cap .triangle {
		position: absolute;
		top: 0;
		left: 0;
		width: 500px;
		border-top: 200px solid #333;
		border-right: 150px solid transparent;
		opacity: 0.5;
	}
}
@media screen and (max-width: 767px) {
	#shopPage .shop_info table th,
	#shopPage .shop_info table td {
		display: block;
		width: 100%;
		height: 100%;
	}
	#shopPage .shop_info img {
		width: 100%;
		height: auto;
	}
	#shopPage .cap img {
		width: 100%;
		object-fit: cover;
	}
}

/*----- about -----*/
#aboutPage ul.browser {
	margin: 20px 0 0 20px; 
}
#aboutPage ul.browser li {
	list-style: square;
}
#aboutPage ul.logo {
	margin: 20px 0 0 20px; 
}
#aboutPage ul.logo li {
	list-style: decimal;
	margin: 10px 0;
}

/*----- about -----*/
#privacyPage ul {
	margin: 20px 0 0 20px; 
}
#privacyPage ul li {
	list-style: square;
}

/*----- rule shopping -----*/
#ruleShoppingPage ul {
	margin: 20px 0 0 20px; 
}
#ruleShoppingPage .text_lst > ul > li {
	list-style: square;
}
#ruleShoppingPage .text_lst > ul > li.style {
	list-style: none;
}
#ruleShoppingPage li.style ul {
	margin: 20px 0 20px 20px; 
}
#ruleShoppingPage li.style ul li {
	list-style: inside;
}
/*----- rule fishing -----*/
#ruleFishingPage ul {
	margin: 20px 0 0 20px; 
}
#ruleFishingPage ul li {
	list-style: square;
}
#ruleFishingPage .memo {
	border: 1px solid #333;
	margin: 30px 0;
	padding: 10px;
}

/*----- sitemap -----*/
#sitemapPage .sitemap > ul > li {
	list-style: square;
}

#sitemapPage .sitemap ul li ul {
	margin-top: .5em;
	margin-bottom: .75em;
	margin-left: 48px;
}
#sitemapPage .sitemap ul li ul li {
	margin-bottom: .25em;
	position: relative;
}
#sitemapPage .sitemap ul li ul li::before {
	content: "";
	position: absolute;
	top: -0.5em;
	left: -16px;
	width: 10px;
	height: calc(100% + .75em);
	border-left: 1px solid #333;
}
#sitemapPage .sitemap ul li ul li:last-child::before {
	height: calc(1em + .25em);
}
#sitemapPage .sitemap ul li ul li::after {
	content: "";
	position: absolute;
	top: .75em;
	left: -16px;
	width: 10px;
	border-bottom: 1px solid #333;
}

/*----- catch -----*/
#search {
	display: flex;
	align-items: stretch;
	width: 100%;
	margin: 20px 0;
}
#search input {
	width: 100%;
	padding-left: 10px;
}
#search button {
	height: 44px;
	padding: 10px 20px;
	color: #fff;
	background: #333;
	border: 1px solid #333;
	cursor: pointer;
	margin: 0;
}
#search button i {
	color: #fff;
}
#search button.post {
	height: 44px;
	background: #25aae2;
	border: 1px solid #25aae2;
	white-space: nowrap;
	margin: 0;
}
#search button:hover {
	opacity: 0.7;
}

/*----- catch list -----*/
#catchPage h3 {
	font-size: 26px;
	font-weight: bold;
	padding: 0;
	margin: 0 0 20px 0;
	border: none;
	line-height: 1.4;
	font-family: "G2サンセリフ-B";
}
#catchPage h3::after {
	border: none;
}
#catchPage h4 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}
#catchPage .item_list {
	margin: 20px 0;
	padding: 0;
}
#catchPage .item_list li {
	position: relative;
	margin-bottom: 20px;
	padding: 20px;
	background: #f4f4f4;
	border: 1px solid #ddd;
}
#catchPage .item_list li .no {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 10px;
	padding: 5px;
}
#catchPage .item_list li ul.image_s li {
	padding: 0;
	margin-bottom: 0;
}
#catchPage .item_detail .outer {
	display: flex;
	justify-content: space-between;
}
#catchPage .item_detail .inner_lr {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
#catchPage .item_detail .inner_tb {
	display: flex;
	justify-content: space-between;
	flex-flow: column;
}
#catchPage .item_detail .img_lightbox {
	position: relative;
	width: 320px;
	margin-right: 30px;
}
#catchPage .item_detail .img_lightbox .image_m {
	margin-bottom: 10px;
}
#catchPage .item_detail .img_lightbox .image_s {
	width: 100%;
	columns: 3;
}
#catchPage .item_detail .img_lightbox .image_s li {
	border: none;
}

#catchPage .item_detail .img_lightbox .image_s li img {
	width: 100%;
	height: auto;
}
#catchPage .item_detail .text {
	width: 100%;
	margin-right: 30px;
}
#catchPage .item_detail .text dl {
	display: flex;
	flex-wrap: wrap;
}
#catchPage .item_detail .text dl dt {
	width: 30%;
	margin: 0;
	padding-bottom: 1px;
}
#catchPage .item_detail .text dl dd {
	width: 70%;
}
#catchPage .item_detail .comment {
	width: 100%;
}
#catchPage .item_detail .result ul {
	display: flex;
}
#catchPage .item_detail .result td {
	border-bottom: none;
}
@media screen and (max-width: 767px) {
	#imgTitle  img {
		width: 100%;
		height: auto;
	}
	#catchPage .item_detail .outer {
		display: block;
	}
	#catchPage .item_detail .inner_lr{
		display: block;
	}
	#catchPage .item_detail .inner_tb{
		display: block;
	}
	#catchPage .item_detail .image {
		width: 100%;
		margin-right: 0;
	}
	#catchPage .item_detail .image img {
		width: 100%;
		height: auto;
	}
	#catchPage .item_detail .text {
		margin-top: 20px;
	}
	#catchPage .item_detail .comment {
		margin-top: 20px;
	}
	#catchPage .item_detail .img_lightbox {
		width: 100%;
	}
	#catchPage .item_detail .img_lightbox .image_m img {
		width: 100%;
		height: auto;
	}
	#catchPage .item_detail .img_lightbox .image_s li {
		margin-bottom: 0;
	}
	body.open #catchPage .item_detail .img_lightbox {
		z-index: -1;
	}
}

/*----- catch form -----*/
.input-group {
	position: relative;
	display: flex;
	align-items: stretch;
	width: 100%;
}
.input-group .custom-file {
	position: relative;
	display: flex;
/*
	flex: 1 1 auto;
*/
	align-items: center;
	overflow: hidden;
	width: 100%;
}
.custom-file-input {
	position: relative;
	width: 100%;
	z-index: 1;
	opacity: 0;
	cursor: pointer;
}
.custom-file-label {
	display: flex;
	align-items: center;
	height: 44px;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	border: 1px solid #767676;
	padding:6px;
	overflow: hidden;
	white-space: nowrap;
}
.custom-file-label::after {
	display: flex;
	align-items: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	padding: 0 10px;
	content: "参照";
	background: #25aae2;
	color: #fff;
}
.input-group-append {
	width: 100%;
	white-space: nowrap;
}
.input-group-append .reset {
	color: #fff;
	font-size:14px;
	height: 44px;
	background: #333;
	border: 1px solid #333;
	padding: 0 10px;
	margin: 0;
	cursor: pointer;
}
#catchFormPage .wrapper {
	margin: 20px 0;
}
#catchFormPage table.detail {
	margin: 20px 0;
}
#catchFormPage table.detail th {
	text-align: center;
	width: auto;
}
#catchFormPage table.detail input.num {
	width: 50px;
}
@media screen and (max-width: 767px) {
	#catchFormPage table.input th,
	#catchFormPage table.input td {
		display: block;
		width: 100%;
		height: 100%;
	}
	.input-group-append {
		width: auto;
	}
}

/*----- products -----*/
#productsPage .search_box {
	display: flex;
	align-items: stretch;
}
#productsCategory {
	padding: 10px 10px;
	width: 30%;
}
#productsSearch {
	display: flex;
	align-items: stretch;
	width: 70%;
}
#productsSearch input {
	width: 100%;
	padding: 10px 10px;
}
#productsSearch button {
/*
	height: 44px;
*/
	padding: 10px 20px;
	margin: 0;
	color: #fff;
	background: #333;
	border: 1px solid #333;
	cursor: pointer;
}
#productsSearch button i {
	color: #fff;
}
#productsSearch button:hover {
	opacity: 0.7;
}
#productsPage .page_count {
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
	body.open #productsPage .product_list li {
		z-index: -1;
	}
}

/*----- products detail -----*/
#productsDetailPage img {
	border: 1px solid #ddd;
}
#productsDetailPage .item_detail {
	display: flex;
	margin-bottom: 20px;
}
#productsDetailPage .item_detail .image {
	position: relative;
	width: 320px;
	margin-right: 20px;
}
#productsDetailPage .item_detail .image > p {
	margin-bottom: 10px;
}
#productsDetailPage .item_detail .image .image_s {
	width: 100%;
	columns: 4;
}
#productsDetailPage .item_detail .image .image_s li img {
	width: 100%;
	height: auto;
}
#productsDetailPage .item_detail .text {
	width: 100%;
	background: #f4f4f4;
	padding: 20px;
}
#productsDetailPage .item_detail .text dt {
	font-weight: bold;
	border-bottom: 1px solid #ccc;

}
#productsDetailPage .item_detail .text dd {
	padding-left: 10px;
	margin-bottom: 10px;
}
#productsDetailPage .item_detail .select_box {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: #f4f4f4;
	padding: 20px;
}
#productsDetailPage .item_detail .select_box p.btn {
	margin-top: auto;
}
#productsDetailPage .explanation {
	margin-bottom: 20px;
}
#productsDetailPage .explanation .comment {
	margin-bottom: 20px;
}
#productsDetailPage .explanation .title {
	font-weight: bold;
	border-bottom: 1px dotted #ccc;
}
@media screen and (max-width: 767px) {
	#productsDetailPage .item_detail {
		display: block;
	}
	#productsDetailPage .item_detail .image {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	#productsDetailPage .item_detail .image .image_m img {
		width: 100%;
		height: auto;
	}
	#productsDetailPage .item_detail {
		margin-top: 20px;
	}
	body.open #productsDetailPage .item_detail .image {
		z-index: -1;
	}
	#productsDetailPage table.overview th,
	#productsDetailPage table.overview td {
		display: block;
		width: 100%;
		height: 100%;
	}
}

/*----- online -----*/
#onlinePage .search_box {
	display: flex;
	align-items: stretch;
}
#onlineCategory {
	padding: 10px 10px;
	width: 30%;
}
#onlineSearch {
	display: flex;
	align-items: stretch;
	width: 70%;
}
#onlineSearch input {
	width: 100%;
	padding: 10px 10px;
}
#onlineSearch button {
/*
	height: 44px;
*/
	padding: 10px 20px;
	margin: 0;
	color: #fff;
	background: #333;
	border: 1px solid #333;
	cursor: pointer;
}
#onlineSearch button i {
	color: #fff;
}
#onlineSearch button:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	body.open #onlinePage .product_list li {
		z-index: -1;
	}
}

/*----- online detail -----*/
#onlineDetailPage img {
	border: 1px solid #ddd;
}
#onlineDetailPage .item_detail {
	display: flex;
/*
	align-items: flex-start;
*/
	margin-bottom: 20px;
}
#onlineDetailPage .item_detail .image {
	position: relative;
	width: 320px;
	margin-right: 20px;
}
#onlineDetailPage .item_detail .image > p {
	margin-bottom: 10px;
}
#onlineDetailPage .item_detail .image .image_s {
	width: 100%;
	columns: 4;
}
#onlineDetailPage .item_detail .image .image_s li {
	margin-bottom: 10px;
}
#onlineDetailPage .item_detail .image .image_s li img {
	width: 100%;
	height: auto;
}
#onlineDetailPage .item_detail .text {
	width: 100%;
	background: #f4f4f4;
	padding: 20px;
}
#onlineDetailPage .item_detail .text dt {
	font-weight: bold;
	border-bottom: 1px solid #ccc;

}
#onlineDetailPage .item_detail .text dd {
	padding-left: 10px;
	margin-bottom: 10px;
}
#onlineDetailPage .item_detail .select_box {
	width: 100%;
	background: #f4f4f4;
	padding: 20px;
}
#onlineDetailPage .item_detail .select_box table th {
	background: #ddd;
}
#onlineDetailPage .item_detail .select_box p {
	text-align: center;
	margin: 20px 0;
}
#onlineDetailPage .item_detail .select_box select {
	padding: 5px 5px;
}
#onlineDetailPage .explanation {
	margin-bottom: 20px;
}
#onlineDetailPage .explanation .comment {
	margin-bottom: 20px;
}
#onlineDetailPage .explanation .title {
	font-weight: bold;
	border-bottom: 1px dotted #ccc;
	margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
	#onlineDetailPage .item_detail {
		display: block;
	}
	#onlineDetailPage .item_detail .image {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	#onlineDetailPage .item_detail .image .image_m img {
		width: 100%;
		height: auto;
	}
	#onlineDetailPage .item_detail .text {
		margin-top: 20px;
	}
	#onlineDetailPage .item_detail .select_box {
		width: 100%;
		padding: 20px 20px 10px 20px;
	}
	body.open #onlineDetailPage .item_detail .image {
		z-index: -1;
	}
	#onlineDetailPage table.overview th,
	#onlineDetailPage table.overview td {
		display: block;
		width: 100%;
		height: 100%;
	}
}

/*----- online cart -----*/
#onlineCartPage .wrapper {
	display: flex;
	align-items: flex-start;
	margin: 20px 0;
}
#onlineCartPage .shoppig {
	padding-right: 40px;
}
#onlineCartPage .shoppig_list {
	display: flex;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px dotted #ccc;
}
#onlineCartPage .shoppig_list:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
#onlineCartPage .shoppig_list .image {
	width: 160px;
	margin-right: 40px;
}
#onlineCartPage .shoppig_list .image img {
	border: 1px solid #ccc;
}
#onlineCartPage .shoppig_list .item {
	width: 100%;
}
#onlineCartPage .shoppig_list .item select {
	padding: 5px;
}
#onlineCartPage .shoppig_list dl {
	display: flex;
	flex-wrap: wrap;
}
#onlineCartPage .shoppig_list dt {
	width: 20%;
}
#onlineCartPage .shoppig_list dd {
	width: 80%;
}
#onlineCartPage .amount {
	width: 500px;
}
#onlineCartPage .amount .inner {
	padding: 20px;
	background: #f4f4f4;
}
#onlineCartPage .amount dl {
	display: flex;
	flex-wrap: wrap;
}
#onlineCartPage .amount dt {
	width: 40%;
	padding-bottom: 10px;
}
#onlineCartPage .amount dd {
	width: 60%;
	text-align: right;
	padding-bottom: 10px;
}
#onlineCartPage .amount dt:nth-of-type(3),
#onlineCartPage .amount dd:nth-of-type(3) {
	border-bottom: 1px solid #ccc;
}
#onlineCartPage .amount dt:nth-of-type(4),
#onlineCartPage .amount dd:nth-of-type(4) {
	padding-top: 10px;
	padding-bottom:  0;
}
#onlineCartPage .amount p {
	margin-top: 20px;
	font-size: 12px;
}
#onlineCartPage .flow ul {
	display: flex;
	flex-wrap : wrap;
	width: 100%;
}
#onlineCartPage .flow ul li {
	margin-right: 10px;
	margin-bottom: 20px;
}
#onlineCartPage .explanation ul li {
	margin-left: 20px;
	list-style-type: decimal;
}
#onlineCartPage .comment {
	margin-bottom: 20px;
}
#onlineCartPage .comment .title {
	font-weight: bold;
	border-bottom: 1px dotted #ccc;
}
#stepFlow {
	margin: 20px 0;
}
#stepFlow .step_list {
	position: relative;
	margin-bottom: 20px;
}
#stepFlow .step_title {
	display: inline-flex;
	align-items: center;
}
#stepFlow .step_title .stepcircle {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	background: #25aae2;
	color: #fff;
	text-align: center;
	border-radius: 50%;
}
#stepFlow .step_title .stepcircle span {
	line-height: 1;
	font-size: 12px;
	color: #fff;
}
#stepFlow .step_list .step_title .title {
	margin-left: 20px;
	font-weight: bold;
}
#stepFlow .step_list .step_text {
	margin-left: 70px;
}
#stepFlow .step_list .step_line {
	width: 1px;
	height: 100%;
	background: #333;
	position: absolute;
	top: 20px;
	left: 25px;
	z-index: -1;
}
.step_list:last-of-type .step_line:last-of-type {
	display: none;
}
@media screen and (max-width: 767px) {
	#onlineCartPage .wrapper {
		display: block;
	}
	#onlineCartPage .shoppig {
		padding-right: 0;
	}
	#onlineCartPage .shoppig_list .image img {
		margin-bottom: 10px;
	}
	#onlineCartPage .amount {
		width: 100%;
	}
	#onlineCartPage .shoppig_list {
		display: block;
	}
}

/*----- online form -----*/
#onlineFormPage .wrapper {
	margin: 20px 0;
}
#onlineFormPage table.purchase th {
	text-align: center;
}
#onlineFormPage .btn {
	display: flex;
	justify-content: center;
	margin: 20px 0;
}
#onlineFormPage .btn .btn_04 {
	margin: 0 10px;
}
@media screen and (max-width: 767px) {
	#onlineFormPage table.input th,
	#onlineFormPage table.input td {
		display: block;
		width: 100%;
		height: 100%;
	}
	#onlineFormPage table.purchase th.product {
		width: 70%;
	}
}

/*----- online comp -----*/
#onlineCompPage p {
	margin-bottom: 20px;
}

/*----- contact form -----*/
#contactFormPage .faq_list dl {
	position: relative;
	margin-top: 20px;
	border: 1px solid #ddd;
	cursor: pointer;
}
#contactFormPage .faq_list dl:first-child {
	margin-top: 0;
}
#contactFormPage .faq_list dl::after {
	position: absolute;
	top: 15px;
	right: 15px;
	display: block;
	width: 7px;
	height: 7px;
	margin: auto;
	content: '';
	transform: rotate(135deg);
	border-top: 2px solid #000;
	border-right: 2px solid #000;
}
#contactFormPage .faq_list .open::after {
	transform: rotate(-45deg);
}
#contactFormPage .faq_list dl dt {
	position: relative;
	padding: 10px 10px 10px 40px;
	background: #f4f4f4;
}
#contactFormPage .faq_list dl dt::before {
	position: absolute;
	top: 15px;
	left: 15px;
	display: block;
	content: 'Q.';
	font-weight: bold;
	line-height: 1;
	color: #25aae2;
}
#contactFormPage .faq_list dl dd {
	position: relative;
	padding: 20px 10px 20px 40px;
}
#contactFormPage .faq_list dl dd::before {
	position: absolute;
	top: 27px;
	left: 15px;
	display: block;
	content: 'A.';
	font-weight: bold;
	line-height: 1;
	color: #ff0033;
}
#contactFormPage p.dial {
	display: flex;
	align-items: center;
}
#contactFormPage p.dial i {
	color: #fff;
	background: #34c759;
	padding: 12px;
	border-radius: 50%;
	margin-right: 20px;
}
#contactFormPage a.tel {
	color: #333;
	font-size: 38px;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	#contactFormPage table.input th,
	#contactFormPage table.input td {
		display: block;
		width: 100%;
		height: 100%;
	}
	#contactFormPage a.tel {
		font-size: 28px;
		font-weight: bold;
	}
}

/*----- reserve form -----*/
#reserveFormPage p {
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
	#reserveFormPage table.input th,
	#reserveFormPage table.input td {
		display: block;
		width: 100%;
		height: 100%;
	}
}

/*----- point -----*/
#pointPage .wrapper {
	display: flex;
}
#pointPage .inner {
	display: flex;
	margin-bottom: 20px;
}
#pointPage .inner .img {
	margin-right: 20px;
}
#pointPage .inner .txt p {
	margin-bottom: 10px;
}
#pointPage .col_tree {
	width: 300px;
	height: 400px;
	overflow: auto;
	border: 1px solid #ccc;
}
#pointPage .col_map {
	width: 100%;
}
#pointPage table th {
	white-space: nowrap;
}
#mapPoint {
	width: 100%;
	height: 400px;
}
#point li {
	position: relative;
}
#point li img {
	position: absolute;
	top: 6px;
	left: 18px;
}
#point li span.parent {
	margin-left: 10px;
}
#point li a.nolink {
	color: #333;
}
.treeview .hitarea {
	margin-top: 1px;
}
#point li,
#point a,
#point span {
	line-height: 1.3 !important;
}
@media screen and (max-width: 767px) {
	#pointPage .wrapper {
		display: block;
	}
	#pointPage .col_tree {
		width: 100%;
		height: 200px;
	}
	#pointPage .col_map {
		width: 100%;
		height: auto;
	}
	#pointPage .inner {
		display: block;
	}
	#pointPage .inner .img {
		float: left;
		margin: 0 10px 0 0;
	}
	#pointPage .inner .img img {
		width: 100px;
		height: auto;
	}
	#pointPage .inner .txt p {
		margin-bottom: 10px;
	}
	#pointPage table th,
	#pointPage table td {
		display: block;
		width: 100%;
		height: 100%;
	}
	#point li img {
		top: 6px;
		left: 18px;
	}
	.treeview .hitarea {
		margin-top: 0;
	}
	body.open #point li {
		z-index: -1;
	}
}

/*----- point detail -----*/
#pointDetailPage p {
	margin-bottom: 10px;
}
#pointDetailPage table th,
#pointDetailPage table td.month {
	text-align: center;
}
#pointLink ul {
	display: flex;
	flex-wrap: wrap;
}
#pointLink ul li {
	margin-right: 20px;
	padding: 0;
}
#pointLink p.city {
	margin: 10px 0 0 0;
}
#pointLink p.city a {
	font-weight: bold;
}
#childLink ul {
	display: flex;
	flex-wrap: wrap;
}
#childLink ul li {
	margin-right: 20px;
	padding: 0;
}
@media screen and (max-width: 767px) {
	#pointDetailPage table.point th,
	#pointDetailPage table.point td {
		display: block;
		width: 100%;
		height: 100%;
	}
/*
	#pointDetailPage table.point tr:nth-child(odd) td {
		background: #f00;
	}
*/
}

/*----- notice detail -----*/
#noticeDetailPage .outline {
	margin-bottom: 20px;
}
#noticeDetailPage .info_basic {
	display: flex;
}
#noticeDetailPage .info_basic .image {
	margin-right: 20px;
}
#noticeDetailPage .info_basic dl {
	display: flex;
	flex-wrap: wrap;
}
#noticeDetailPage .info_basic dl dt {
	width: 20%;
}
#noticeDetailPage .info_basic dl dd {
	width: 80%;
}
#noticeDetailPage .info_basic .btn_01 {
	width: 200px;
}
#noticeDetailPage .info_detail .comment {
	margin-bottom: 20px;
}
#noticeDetailPage .info_detail .title {
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	#noticeDetailPage .info_basic {
		display: block;
	}
	#noticeDetailPage .info_basic .image {
		margin: 0;
	}
	#noticeDetailPage .info_basic .image img {
		width: 100%;
		height: auto;
	}
	#noticeDetailPage .info_basic .text {
		margin-top: 20px;
	}
	#noticeDetailPage .info_basic .btn_01 {
		width: 100%;
	}
	#noticeDetailPage table.basic th,
	#noticeDetailPage table.basic td {
		display: block;
		width: 100%;
		height: 100%;
	}
}
/*----- tide -----*/
#tideGraph {
	width: 100% !important;
	height: auto !important;
	margin: 20px 0;
}
#tidePage ul.header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background: #f4f4f4;
	text-align: center;
	padding: 10px 0;
}
#tidePage ul.header li {
	font-size: 24px;
	font-family: "じゅん 501";
}
#tidePage ul.header li.point {
	width: 30%;
}
#tidePage ul.header li.date {
	width: 40%;
}
#tidePage ul.header li.sea {
	width: 30%;
}
#tidePage table td {
	text-align: center;
	width: calc(100% / 6);
}
#tidePage .inner {
	display: flex;
	margin-bottom: 20px;
}
#tidePage .inner .img {
	margin-right: 20px;
}
#tidePage .inner .txt p {
	margin-bottom: 10px;
}
#tidePage ul.move {
	position: relative;
	display: flex;
	align-items: center;
}
input[type="range"] { 
	position: absolute;
	top: 1px;
	accent-color: #0485bc;
	cursor: pointer;
	width: 96%;
}
#tidePage ul.move li.range {
	width: 96%;
}
#tidePage ul.move li.prev,
#tidePage ul.move li.next {
	width: 2%;
}
#tidePage ul.move li.prev {
	text-align: left;
}
#tidePage ul.move li.next {
	text-align: right;
}
#tidePage ul.move li.prev i,
#tidePage ul.move li.next i {
	font-size: 20px;
	cursor: pointer;
}
@media screen and (max-width: 767px) {
	#tideGraph {
		margin: 10px 0;
	}
		#tidePage ul.header li {
		font-size: 14px;
	}
	#tidePage .inner {
		display: block;
	}
	#tidePage .inner .img {
		float: left;
		margin: 0 10px 0 0;
	}
	#tidePage .inner .img img {
		width: 100px;
		height: auto;
	}
	#tidePage .inner .txt p {
		margin-bottom: 10px;
	}
	input[type="range"] { 
		width: 88%;
	}
	#tidePage ul.move li.range {
		width: 88%;
	}
	#tidePage ul.move li.prev,
	#tidePage ul.move li.next {
		width: 6%;
	}
}

/*----- paging -----*/
#paging {
	text-align: center;
	padding: 10px 0;
}
#paging a {
	border: 1px solid #ccc;
	padding: 2px 5px;
	margin-right: 2px;
	text-decoration: none;
}
#paging a:hover {
	background: #25aae2;
	border: 1px solid #ccc;
	color: #fff;
}
#paging a.active {
	background: #25aae2;
	border: 1px solid #ccc;
	color: #fff;
}
