@import url('fonts/font-awesome/css/font-awesome.min.css');
@import url('//fonts.googleapis.com/css?family=Alice');
@import url('//fonts.googleapis.com/css?family=Tangerine');

* {
	margin: 0;
	padding: 0;
	list-style-type: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

input[type='text'],
input[type='number'],
input[type='email'],
input[type='password'] {
	padding: 0.5rem;
}
select {
	padding: 0.5rem;
}

img {
	vertical-align: bottom;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 3em;
	filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.3));
}

th {
	white-space: nowrap;
	padding: 0.5em 1em;
	background: #ffeaf5;
	border: 2px #fff dashed;
}

td {
	padding: 0.5em 1em;
	background: #efefef;
	border: 2px #fff dashed;
}

.frame_pink {
	padding: 0.5em 1em;
	background: #ffeaf5;
	border: 2px #fff dashed;
	margin-bottom: 1em;
}

.frame_blue {
	padding: 0.5em 1em;
	background: #eef8ff;
	border: 2px #fff dashed;
	margin-bottom: 1em;
}

input,
select,
button,
textarea {
	border-radius: 3px;
}

input[type='submit'],
input[type='button'],
button {
	padding: 0.5em 3em;
}

.button a {
	background: linear-gradient(#efefef 0%, #ddd 30%, #ccc 100%);
	filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.8));
	border-radius: 5px;
	padding: 0.5em 3em;
	display: inline-block;
	margin-bottom: 1em;
}

ul {
	margin-bottom: 1em;
}

p {
	margin-bottom: 1em;
}

b {
	color: #2a75a9;
}

.pink {
	color: #bb76bf;
}

em {
	color: #d26262;
}

.dc_01 {
	font-size: 1.4em;
}

a {
	color: #2a75a9;
	text-decoration: none;
}

a:hover {
	color: #a075ad;
}

.title_bg {
	background: linear-gradient(to right, transparent 0%, #e8fffa 30%, #fffcf3 60%, #ffe2f6 80%, transparent 100%);
}

.pagetext {
	padding: 2em;
	margin: 0 1em 2em 1em;
	overflow: hidden;
	word-break: break-all;

	iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
	}
}

.margin_bottom {
	margin-bottom: 2em;
}

.overflow {
	overflow: hidden;
}

.border {
	border: 2px #999 dashed;
	border-radius: 5px;
	width: 100%;
	height: 100%;
}

.acenter {
	text-align: center;
}

.aright {
	text-align: right;
}

.fright {
	float: right;
	margin-left: 1em;
}

.fleft {
	float: left;
	margin-right: 1em;
}

.video {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

body {
	color: #333;
	font-size: 14px;
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	line-height: 2em;
	-webkit-print-color-adjust: exact;
	letter-spacing: 0.05em;
	min-width: 1280px;
}

#wrapper {
	background: linear-gradient(#f5fbff 00%, #fff 5%);
}

/* header */

#header {
	display: flex;
	width: 96%;
	margin: 0 auto;
	padding-top: 2em;
	align-items: center;
	margin-bottom: 1em;
}

#logo {
	flex: 20%;
}

.menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.menu_header {
	justify-content: flex-end;
}

.menu li {
	font-family: 'Alice', serif;
	text-shadow: 2px 2px 3px #fff;
	position: relative;
	padding-left: 1em;
	font-size: 1.1em;
	margin-right: 2em;
}

.menu li:before {
	font-family: FontAwesome;
	content: '\f101';
	color: #807844;
	position: absolute;
	left: 0;
}

.menu_tooltip {
	font-size: 0.2em;
}

/* index */

.h2_index {
	font-family: 'Tangerine', serif;
	text-shadow: 2px 2px 3px #fff;
	margin-bottom: 1em;
	color: #bb76bf;
	text-align: center;
	font-size: 3em;
}

.h1_index_title {
	display: block;
	padding-top: 0.5em;
	color: #bb76bf;
	line-height: 0;
}

.h2_index_title {
	display: block;
	font-size: 0.4em;
	padding-top: 0.5em;
	color: #2a75a9;
}

#index_main_01 {
	background: linear-gradient(rgba(246, 232, 247, 0.6) 0%, transparent 10%, transparent 90%, rgba(246, 232, 247, 0.6) 100%), url('images/img_top_bg.jpg');
	background-size: cover;
	padding: 2% 4%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 2em;
}

#index_header_text {
	width: 45%;
	text-align: center;
}

#index_header_info {
	width: 45%;
	background: rgba(255, 255, 255, 0.3);
	border-radius: 10px;
	padding: 2em;
}

#index_header_info ul {
	overflow-y: auto;
	max-height: 20em;
}

#bn_info li a {
	display: block;
}

.index_header_info_date {
	display: block;
}

.index_header_info_date:before {
	font-family: FontAwesome;
	content: '\f219';
	color: #807844;
	padding-right: 1em;
}

.index_header_info_title {
	display: block;
	padding-left: 2em;
	margin-bottom: 1em;
}

#content {
	width: 1280px;
	margin: 0 auto;
	margin-bottom: 3em;
}

#index_menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 2em;
}

#index_menu a {
	width: 46%;
	margin: 0 1% 2em 1%;
	background-image: url('images/bg_button_index_menu.png');
	border: 1px #efefef solid;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	box-shadow: 5px 5px 5px #999;
	display: block;
	background-size: cover;
	overflow: hidden;
}

.index_list {
	background: rgba(255, 255, 255, 0.5);
	display: flex;
	padding: 1em;
}

.index_list_img {
	margin-right: 1em;
}

.index_list_img img {
	border-radius: 10px;
}

.index_list_title {
	font-size: 1.2em;
	display: block;
	margin-bottom: 1em;
}
.index_list_desc {
	display: block;
	color: #666;
}

#index_info {
	margin-bottom: 2em;
}

#index_info ul {
	width: 70%;
	margin: 0 auto;
	border: 2px #efefef solid;
	padding: 2em;
	border-radius: 10px;
	box-shadow: 5px 5px 5px #999;
	background-image: url('images/img_top.png');
	background-repeat: no-repeat;
	background-position-x: right;
	background-size: contain;
}

.bg_index_about {
	background-image: url('images/img_index_about.png');
	background-repeat: no-repeat;
	background-position: center center;
	margin-bottom: 2em;
}

.bg_index_about_mask {
	background: rgba(255, 255, 255, 0.8);
}

#index_about p {
	text-shadow: 1px 1px 1px #fff;
}

.bg_index_inner {
	text-align: center;
}

/* footer */

#footer {
	border-top: 1px #999 dotted;
	padding-top: 2em;
	margin-bottom: 3em;
}

.menu_footer {
	justify-content: center;
}

.copyright {
	margin: 2em 0;
	font-family: 'Alice', serif;
	text-align: center;
}

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
}
#page-top a {
	background: #666;
	text-decoration: none;
	color: #fff;
	width: 4em;
	padding: 1em 0;
	text-align: center;
	display: block;
	border-radius: 5px;
}
#page-top a:hover {
	text-decoration: none;
	background: #999;
}

/* single */

.h1_content {
	font-family: 'Tangerine', serif;
	text-shadow: 2px 2px 3px #fff;
	margin-bottom: 1em;
	color: #2a75a9;
	text-align: center;
	font-size: 3em;
	padding: 1em 0;
	line-height: 1.5em;
}

.h2_content {
	font-family: 'Tangerine', serif;
	text-shadow: 2px 2px 3px #fff;
	margin-bottom: 1em;
	color: #2a75a9;
	text-align: center;
	font-size: 1.3em;
	padding: 1em 0;
	line-height: 1.5em;
}

#main_img {
	background: linear-gradient(180deg, rgba(233, 233, 233, 0.2), rgba(255, 255, 255, 0.3)), url(images/img_top_bg.jpg) 0 0 no-repeat;
	background-size: cover;
}
.single_top {
	max-width: 1280px;
	margin: 0 auto;
}

.pagetext li {
	position: relative;
	text-shadow: 2px 2px 3px #fff;
	padding-left: 2em;
	margin-right: 2em;
}

.pagetext li:before {
	font-family: FontAwesome;
	content: '\f101';
	color: #807844;
	position: absolute;
	left: 0;
}

.pagetext h3 {
	border-bottom: 2px #efefef dashed;
	background: url(images/h3_bg.png) no-repeat;
	background-position-x: right;
	margin-bottom: 1em;
	border-left: 5px #e5b1e8 solid;
	padding-left: 1em;
}

.pagetext img {
	border-radius: 5px;
}

#sub_content {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 2em;
}

.sub_content_frame {
	margin: 1em;
	text-shadow: 1px 1px 1px #fff;
}

.sub_content_100 {
	width: 100%;
}

.sub_content_48 {
	width: calc(50% - 2rem);
}

.sub_content_30 {
	width: 30%;
}

.sub_text_mask {
	overflow: hidden;
}

.bg_white {
	background: rgba(255, 255, 255, 0.6);
	border-radius: 5px;
	padding: 1em;
}

.bg_gray {
	background: rgba(230, 230, 230, 0.6);
	border-radius: 5px;
	padding: 1em;
}

/* page */

.h2_page {
	font-family: 'Tangerine', serif;
	margin-bottom: 2em;
}

/* member */

#memberpages {
	background: url(images/bg_login.jpg) no-repeat;
	background-size: contain;
	background-position-x: center;
}

.whitebox {
	background: rgba(255, 255, 255, 0.6);
	padding: 3em;
}
.h1_member {
	font-family: 'Tangerine', serif;
	text-shadow: 2px 2px 3px #fff;
	margin-bottom: 1em;
	color: #bb76bf;
	text-align: center;
	font-size: 3em;
}

.h1_member_title {
	display: block;
	font-size: 0.4em;
	padding-top: 0.5em;
	color: #2a75a9;
}

#memberinfo h3 {
	font-family: 'Tangerine', serif;
	text-shadow: 2px 2px 3px #fff;
	font-size: 1.2em;
	background-color: #bdd8ea;
	border-radius: 5px;
	padding: 1em 0;
	text-align: center;
	margin-bottom: 2em;
}

.loginbox {
	width: 500px;
	text-align: center;
	margin: 0 auto;
}

.send {
	text-align: center;
}

/* cart */

.usccart_navi ol {
	display: flex;
}

.usccart_navi ol li {
	width: 23%;
	background-color: #efefef;
	border-radius: 5px;
	margin: 1%;
	text-align: center;
	padding: 0.5em 0;
}

.usccart_cart,
.usccart_customer,
.usccart_delivery,
.usccart_confirm {
	background: linear-gradient(#e5b1e8, #f3dbe4, #f2e0f5, #e7bed8) !important;
}

.cart_num {
	background-color: #bdd8ea;
}

tfoot th {
	background-color: #ddd;
}

#customer-info h5 {
	font-family: 'Tangerine', serif;
	text-shadow: 2px 2px 3px #fff;
	font-size: 1.2em;
	background-color: #bdd8ea;
	border-radius: 5px;
	padding: 1em 0;
	text-align: center;
	margin-bottom: 2em;
}

.form_outline {
	border: #999 2px dashed;
	border-radius: 5px;
	padding: 2em;
	margin-bottom: 2em;
}

.error_message {
	margin-bottom: 2em;
	text-align: center;
	color: red;
}

.confiem_notice {
	text-align: center;
}

.notes {
	width: 50%;
	height: 10em;
}

#info-confirm h3 {
	font-family: 'Tangerine', serif;
	text-shadow: 2px 2px 3px #fff;
	font-size: 1.2em;
	background-color: #bdd8ea;
	border-radius: 5px;
	padding: 1em 0;
	text-align: center;
}

/* category */

#category_menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-bottom: 2em;
}

#category_menu a {
	width: 48%;
	margin: 0 1% 2em 1%;
	background-image: url('images/bg_button_index_menu.png');
	border: 1px #efefef solid;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	box-shadow: 5px 5px 5px #999;
	display: block;
	background-size: cover;
	overflow: hidden;
}

.cat_list {
	background: rgba(255, 255, 255, 0.5);
	padding: 1em;
	height: 100%;
}

.cat_list_img {
}

.cat_list_img img {
	border-radius: 10px;
	width: 100%;
}

.cat_list_title {
	font-size: 1.2em;
	display: block;
	margin-bottom: 1em;
}
.cat_list_desc {
	display: block;
	color: #666;
}

/* event */

#event_reserve th {
	width: 20%;
}

.sku_button {
	display: none;
}

.sku_active {
	display: block;
}

.skubutton {
	background: url(images/bg_feather_pen.png) right top no-repeat, linear-gradient(135deg, #e9e2c1 10%, #d9cf9f 20%, #efefef 80%, #999 100%);
	border-radius: 5px;
	width: 280px;
	height: 80px;
	color: #fff;
	text-shadow: 1px 1px 1px #333;
	font-size: 1.5em;
	opacity: 1;
	-moz-opacity: 1;
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

.skubutton:hover {
	opacity: 0.7;
	-moz-opacity: 0.7;
	cursor: pointer;
}

.skubutton a {
	display: block;
	color: #fff;
	text-shadow: 1px 1px 1px #333;
}

.short {
	width: 8em;
}

.reserve {
	display: flex;
	justify-content: space-between;
}

.reserve_detail {
	width: 65%;
}

.reserve_cart {
	position: relative;
	width: 30%;
	margin-bottom: 3em;
	background: url(images/bg_feather.png) right top no-repeat, linear-gradient(135deg, #f0f7ff 10%, #ffffff 60%, #e8f4ff 80%);
	background-size: 100% 100%;
	border-radius: 5px;
	box-shadow: 5px 5px 5px #ddd;
	text-align: center;
	padding: 1em;
}

.soldout {
	position: absolute;
	top: 45%;
	left: 0;
	right: 0;
}

.reserve_cart_option {
	margin-bottom: 1em;
}
.reserve_cart_option select {
	width: 100%;
}

.reserve_cart_button {
	/* position: absolute; */
	bottom: 10%;
	left: 0;
	right: 0;
}

.arrow::before {
	font-family: FontAwesome;
	content: '\f101';
	color: #807844;
	font-size: 1.5em;
	position: absolute;
	left: -2em;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* info */

.info_content {
	border: 2px #999 dashed;
	border-radius: 5px;
}

/* access */

.access_map {
	width: 100%;
	overflow: hidden;
	height: 400px;
	margin-bottom: 2em;
}

.access_data {
	display: flex;
	margin-bottom: 2em;
	justify-content: space-between;
}

.access_img {
	margin-right: 1em;
}

.access_detail {
	font-family: 'Alice', serif;
	font-size: 1.2em;
}

.access_detail i {
	color: #e5b1e8;
	margin-right: 1em;
}

.access_detail dd {
	padding-left: 2em;
	margin-bottom: 1em;
}

.paypal-cp-send {
	display: flex;
	justify-content: center;
	width: 100%;
	padding: 1rem;
}

#checkout_paypal_cp {
	width: 750px;
}

/* 240408 */

.pc_flex {
	display: flex;
	> div {
		flex: 1;
	}
}

/* 250124 */
.ul_comment.short_frame {
	max-height: 400px;
	overflow-y: auto;
}
.ul_comment > li {
	padding: 0.5rem 0;
}
.ul_comment > li > div {
	border: 2px #999 dashed;
	border-radius: 5px;
	padding: 1rem;
	background-color: beige;
}

/* 250311 */
.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube iframe {
	width: 100%;
	height: 100%;
}

/* pagenavi */

.pagenav {
	text-align: center;
	margin-bottom: 3em;
	display: flex;
	justify-content: center;
	align-items: center;
}

a.page-numbers,
.pagenav .current {
	color: #333333;
	padding: 0.5em;
	border: solid 1px #ccc;
	text-decoration: none;
	font-size: 1.1em;
	margin: 0 0.2em;
}

a.page-numbers:hover {
	color: white;
	background: #f6a1a1;
}

.pagenav .current {
	color: white;
	background: #f6a1a1;
	border-color: #f6a1a1;
	font-weight: bold;
}

.tablenav .next,
.tablenav .prev {
	border: 0 none;
	background: transparent;
	text-decoration: underline;
}

/* 250417 */
.ul_flex_img {
	display: flex;
	flex-wrap: wrap;
}
.ul_flex_img > li {
	width: calc(100% / 3);
	padding: 0.5rem;
	margin: 0;
}
.ul_flex_img > li::before {
	content: '';
}
.ul_flex_img > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
