@charset "utf-8";

/* WEB FONT */
@font-face {
	font-family: "wf01";
    font-display: swap;
	src: url("../font/wf01.woff2") format("woff2");
}
@font-face {
	font-family: "wf02";
    font-display: swap;
	src: url("../font/wf02.woff2") format("woff2");
}

/* RESET */
*, *::before, *::after {
    box-sizing: border-box;
}
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-size: 100%;
	font: inherit;
	font-weight: normal;
	vertical-align: baseline;
}
a {
	text-decoration: none;
	outline: none;
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	user-select: none;
}
img {
	image-rendering: -webkit-optimize-contrast;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
}
img[loading="lazy"] {
  opacity: 0;
  transition: opacity 1.2s ease;
}
img[loading="lazy"].lazyloaded,
img[loading="lazy"].is-loaded {
  opacity: 1;
}
legend {
	display: none;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote::before, blockquote::after,
q::before, q::after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ----------------------------------------------*/

body {
	margin: 0;
	padding: 0;
    background: #fdfbf8 url("../img/bg_pattern01.png") repeat center top;
	text-align: center;
	font-size: 16px;
	color: #333333;
	line-height: 1.6em;
    letter-spacing: 0.03em;
	font-family: 'wf01';
	position:relative;
}
th,td {
	font-size: 14px;
	color: #ffffff;
	letter-spacing: 0.08em;
	line-height: 1.6em;
}
button,input,select,textarea {
	font-size: 15px;
	color: #040507;
	letter-spacing: normal;
}
input[type="text"],input[type="date"],input[type="email"] {
	padding: 8px;
}
input[type="file"] {
	max-width: 90%;
}
input[type="file"]::file-selector-button {
    color: black; /* ボタンのテキスト色 */
}
input[type="file"] {
    color: #555555; /* 「選択されていません」の文字の色 */
    opacity: 1; /* 一部のブラウザで色を適用するため */
}
select {
	padding: 4px;
}
textarea {
	padding: 6px;
	line-height: 1.6em;
}
button {
	-webkit-user-select: none;
	user-select: none;
	outline: none;
}
input.btn {
	height: 24px;
	width: 88px;
	letter-spacing: 0.1em;
	cursor: pointer;
}
.btn {
    margin: 24px auto 32px auto;
    display: flex;
    justify-content: center;
}
.btns {
    display: flex;
    justify-content: center;
    gap: 0 8px;
}
.btn01 {
    min-height: 48px;
    width: 200px;
    padding: 8px 24px;
    background: #659d1f;
	display: flex;
	justify-content: center;
    align-items: center;
    color: #ffffff;
    font-size: 17px;
	font-family: 'wf02';
	text-transform: capitalize;
    border: none;
    border-radius: 100vw;
    cursor: pointer;
	transition: background .3s;
}
.btn01:hover {
	background: #568e18;
}
.btn02 {
	min-height: 48px;
	padding: 0 12px;
	background: #659d1f;
	display: flex;
	justify-content: center;
    align-items: center;
	color: #ffffff;
    font-size: 17px;
    font-family: 'wf02';
	letter-spacing: 0.1em;
	text-transform: capitalize;
	border-radius: 100vw;
	border: none;
	cursor: pointer;
	transition: background .3s;
}
.btn02:hover {
	background: #568e18;
}
@media screen and (max-width: 1023px) {
	body {
		font-size: 15px;
		letter-spacing: 0.03em;
	}
}
@media screen and (max-width: 768px) {
	body {
		font-size: 14px;
	}
}

/* SCROLLBAR */
::-webkit-scrollbar {
    background: #ffffff;
    width: 10px;
    height: 10px;
}
::-webkit-scrollbar-thumb {
    background-color: #c1c1c1;
    border-radius: 100vw;
}
::-webkit-scrollbar-thumb:hover {
    background-color: #a8a8a8;
}
/* CHECKBOX */
label {
	cursor: pointer;
}
input[type="checkbox"] {
	margin: 0;
	display: none;
}
.input-checkbox {
	padding: 5px 24px 0 34px;
	display: block;
	position: relative;
}
.input-checkbox label {
	display: inline-block;
	cursor: pointer;
}
.input-checkbox label::before,
.input-checkbox label::after {
	content: "";
	display: inline-block;
	position: absolute;
	transition: transform .2s ease;
}
.input-checkbox label::before {
	width: 22px;
	height: 22px;
	background-color: #ffffff;
	border: 1px solid #f0f0f0;
	border-radius: 2px;
	top: 4px;
	left: 0;
}
.input-checkbox label::after {
	top: 9px;
	left: 5px;
	width: 12px;
	height: 18px;
	margin-top: -5px;
	border-right: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-radius: 2px;
	transform: rotate(45deg);
	transition: border-bottom-color,border-right-color .2s ease;
}
.input-checkbox input[type="checkbox"]:checked + label::after {
	border-color: #5f98e1;
}
/* RADIO */
input[type="radio"] {
	margin: 0;
	display: none;
	border: 0;
}
.wradio {
	padding-bottom: 6px;
	display: flex;
}
.input-radio {
	padding: 5px 32px 4px 32px;
	display: block;
	position: relative;
}
.input-radio label {
	display: inline-block;
	cursor: pointer;
}
.input-radio label::before,
.input-radio label::after {
	content: "";
	position: absolute;
	display: inline-block;
	border-radius: 50%;
	transition: transform .2s ease;
}
.input-radio label::before {
	top: 4px;
	left: 0;
	width: 22px;
	height: 22px;
	background-color: #ffffff;
	border: 1px solid #cccccc;
}
.input-radio label::after {
	top: 8px;
	left: 4px;
	width: 14px;
	height: 14px;
	background-color: transparent;
	transform: scale(0);
}
.input-radio input[type="radio"]:checked + label::after {
	background-color: #156fd3;
	transform: scale(1);
}

@media screen and (max-width: 768px) {
	input[type="text"],input[type="email"],input[type="number"],input[type="tel"],input[type="search"],input[type="date"],textarea {
		font-size: 16px;
		border: 1px solid #cccccc;
		-webkit-appearance : none;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
		border-radius: 2px;
	}
	select {
		font-size: 16px;
	}
	.wradio {
		display: flex;
		flex-direction: column;
	}
	.input-checkbox label::before {
		border: 1px solid #cccccc;
	}
}
/* - */
.clear {
	clear: both;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
/* TRANSLATE */
.gtranslate_wrapper {
    position: absolute;
    top: 20px;
    right: 34px;
    z-index: 50;
}
@media screen and (max-width: 1023px) {
    .gtranslate_wrapper {
        display: none;
    }
}
/* LAYOUT */
header {
    width: calc(100% - 40px);
    max-width: 1640px;
    margin: 0 auto;
	padding-bottom: 12px;
	position: relative;
}
.container {
	width: calc(100% - 40px);
    max-width: 1640px;
    margin: 0 auto;
	display: flex;
	gap: 20px
}
main {
	width: calc(100% - 280px);
	order: 2;
	flex: 1;
}
.sidebar {
	width: 280px;
	order: 1;
}
.sidenav {
	width: 100%;
}
@media screen and (max-width: 1279px) {
	.container {
		gap: 12px
	}
    .sidebar {
		width: 240px;
	}
}
@media screen and (max-width: 1023px) {
	.container {
		width: calc(100% - 20px);
		display: flex;
		flex-direction: column;
	}
	main {
		width: 100%;
		order: 1;
	}
	.sidebar {
		width: 100%;
		display: flex;
		gap: 12px;
		order: 2;
	}
}
@media screen and (max-width: 768px) {
	.container {
		width: calc(100% - 8px);
	}
    aside {
		width: 100%;
	}
	.sidebar {
		flex-wrap: wrap;
	}
}
/* HEADER */
h1 {
    width: 440px;
	margin: 28px auto 0 auto;
	display: block;
}
h1 a img {
	width: 100%;
	display: block;
	white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
    position: relative;
}
.dm-info {
        display: none;
	}
@media screen and (max-width: 1279px) {
	h1 {
		width: 340px;
	}
    header {
        display: block;
    }
    .header-inner {
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: center;
    }
}
@media screen and (max-width: 1023px) {
	h1 {
		margin: 12px auto 24px auto;
	}
	.dm-info {
		padding-top: 70px;
		background: url("../img/logo_sp.svgz") no-repeat center top 24px, rgba(255,255,255,0.25);
		background-size: 140px auto;
		display: block;
	}
	.dm-info-inner {
		width: 84%;
		max-width: 360px;
		margin: 0 auto;
		padding: 12px;
		background: url("../img/bg_pattern03.png") repeat center top;
		letter-spacing: 0.1em;
		border-radius: 10px;
		box-shadow: 0px 0px 2px 1px rgba(177,155,126,0.2);
	}
	.dm-info dl {
		padding-bottom: 8px;
		display: flex;
		flex-wrap: wrap;
	}
	.dm-info dt {
		width: 120px;
		padding: 2px 4px;
	}
	.dm-info dt span {
		width: 100px;
		padding: 1px 4px;
		margin: 0 auto;
		background: rgba(255,255,255,0.15);
		display: inline-block;
		color: #ffffff;
		font-size: 14px;
		font-weight: bold;
		text-shadow: 0 1px 1px rgba(138,106,63,0.25);
		border: 1px solid rgba(138,106,63,0.25);
		border-radius: 5px;
	}
	.dm-info dd {
		width: calc(100% - 120px);
		padding: 2px 4px;
		color: #ffffff;
		font-size: 15px;
		font-weight: bold;
		text-shadow: 0 1px 1px rgba(138,106,63,0.25);
	}
	.dm-tel {
		padding-left: 26px;
		background: url("../img/icon_sp_tel.svgz") no-repeat left center;
		background-size: auto 1em;
		display: inline-block;
		color: #ffffff;
		font-size: 18px;
		font-weight: bold;
	}
}
@media screen and (max-width: 768px) {
    .header-inner {
        display: block;
    }
	h1 {
		width: 280px;
		max-width: 75%;
		margin: 12px auto;
	}
}
/* MAIN MENU */
.mm {
    width: calc(100% - 40px);
    max-width: 1440px;
    margin: 48px auto 18px auto;
    overflow: hidden;
    transition: all .3s;
    pointer-events: none;
}
.mm dl {
	height: 64px;
    width: 100%;
    padding: 0 35px;
	display: flex;
    justify-content: space-around;
    position: relative;
}
.mm dt {
	display: none;
}
.mm dd {
	height: 100%;
}
.mm01 {
	flex-grow: 1;
}
.mm02 {
	flex-grow: 1.05;
}
.mm03 {
	flex-grow: 1.1;
}
.mm04 {
	flex-grow: 1.15;
}
.mm dd a {
    width: calc(100% - 8px);
	margin: 0 auto;
	padding: 12px 6px;
	display: flex;
    align-items: center;
    justify-content: center;
	color: #8d6a40;
	font-size: 20px;
	font-family: 'wf02';
	letter-spacing: 0.03em;
    line-height: 1.2;
	border-radius: 100vw;
    text-transform: capitalize;
	overflow: hidden;
	position: relative;
    transition: all .2s;
    pointer-events: auto;
}
.mm dd a:hover {
	background: rgba(138,106,63,0.5);
	color: #ffffff;
	text-shadow: 0 1px 3px rgba(138,106,63,0.5);
}
.mm-inner {
    display: block;
    color: #040507;
    line-height: 1.2;
    transform: translateY(1px);
}
.mm-inner span {
    display: block;
    font-weight: bold;
}
.mm-hidden01 {
	display: none;	
}
@media screen and (max-width: 1279px) {
	.mm {
		margin: 24px auto 18px auto;
	}
}
/* @media (hover: hover) and (pointer:fine) { */
@media screen and (min-width: 1279px) {
    .mm dl a .mm-inner:after {
        opacity:0;
        transform: translateY(20px);
    }
    .mm dl a:hover .mm-inner:after,
    .mm dl a:hover .mm-inner span {
        transition: opacity .5s linear, transform .5s cubic-bezier(0.33,1,0.68,1);
    }
    .mm dl a:hover .mm-inner span {
        opacity: 0;
        transform: translateY(-20px);
    }
    .mm dl a:hover .mm-inner:after {
        opacity: 1;
        transform: translateY(0);
    }
    .mm-inner {
        overflow:hidden;
        position: relative;
    }
    .mm-inner:after {
        content: attr(data-text);
        display: block;
        font-weight: bold;
        position: absolute;
        left: 0;
        top: 0;
    }
}
/* DRAWER MENU */
@media screen and (max-width: 1023px) {
	.btndm {
		height: 45px;
		width: 45px;
        background: #ffffff;
        border-radius: 100vw;
		position: fixed;
		top: 20px;
		right: 25px;
		cursor: pointer;
		z-index: 100;
	}
	.btndm,
	.btndm span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.btndm span {
		position: absolute;
		left: 12px;
		width: 20px;
		height: 2px;
		background-color: #7a5833;
		border-radius: 3px;
	}
	.btndm span:nth-of-type(1) {
		top: 14px;
	}
	.btndm span:nth-of-type(2) {
		top: 20px;
	}
	.btndm span:nth-of-type(3) {
		top: 26px;
	}
	.menuOpen .btndm span:nth-of-type(1) {
		-webkit-transform: translateY(6px) rotate(45deg);
		transform: translateY(6px) rotate(45deg);
	}
	.menuOpen .btndm span:nth-of-type(2) {
		opacity: 0;
	}
	.menuOpen .btndm span:nth-of-type(3) {
		webkit-transform: translateY(-6px) rotate(-45deg);
		transform: translateY(-6px) rotate(-45deg);
	}
/* MENU */
	.dm {
		width: 100%;
		height: 100vh;
		background: rgba(253,251,248,0.95);
		overflow-y: auto;
		position: fixed;
		top: 0;
		right: 0;
		transform: translateX(100%);
		opacity: 0;
		transition: transform .5s cubic-bezier(.4,0,.2,1), opacity .3s ease;
		will-change: transform;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		pointer-events: none;
		z-index: 99;
	}
	.menuOpen .dm {
		transform: translateX(0);
		opacity: 1;
		pointer-events: auto;
	}
	.dm::-webkit-scrollbar {
		display: none;
	}
	.scroll-prevent {
		overflow: hidden;
	}
    .mm {
        height: auto;
        width: auto;
		margin: 0 auto 18px auto;
        padding: 0;
        background: transparent;
        position: initial;
    }
	.mm dl {
		height: 100%;
		width: 100%;
		margin: 0;
		padding: 0 0 140px 0;
		background: transparent;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		position: relative;
		opacity: 0;
		transform: translate(-20px,0);
		animation: fadein-menus .3s ease forwards;
		animation-delay: .3s;
	}
    .mm dl::after {
        content: none;
    }
    .mm dl::before {
        content: none;
    }
	@keyframes fadein-menus {
	  from {
		opacity: 0;
		transform: translate(-20px,0);
	  }
	  to {
		opacity: 1;
		transform: translate(0,0);
	  }
	}
	.mm01, .mm02, .mm03, .mm04 {
		width: 50% !important;
	}
    .mm dt {
		width: calc(100vw - 32px);
		padding: 6px 12px;
        position: relative;
		margin: 30px auto 12px auto;
        background: #ad987c url("../img/bg_pattern03.png") repeat center top;
        display: flex;
        justify-content: center;
        align-items: center;
		color: #ffffff;
		font-size: 17px;
		font-weight: bold;
        letter-spacing: 0.1em;
		border-radius: 100vw;
		overflow: hidden;
	}
	.mm dd {
		width: 100%;
		height: 42px;
		margin: 2px 0;
		padding: 3px;
	}
    .mm dd a {
		width: calc(100% - 24px);
		padding: 12px 12px 12px 24px;
		background: url("../img/sp_menu_separator_line.svgz") repeat-x center bottom;
        background-size: auto 1px;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        text-align: left;
        font-size: 17px;
		border-radius: 0;
        transition: unset;
    }
	.mm dd a:hover {
		background: url("../img/sp_menu_separator_line.svgz") repeat-x center bottom;
        background-size: auto 1px;
		color: #8d6a40;
		text-shadow: none;
	}
    .mm-inner span {
        display: inline;
        color: #ffffff;
    }
	.mm-hidden01 {
		display: block;
	}
}
@media screen and (max-width: 600px) {
	.btndm {
		top: 18px;
		right: 18px;
	}
}
/* SIDE MENU */
.sidenav ul {
	width: 100%;
	margin: 10px auto;
	padding: 48px 4px 24px 4px;
}
.sidenav li {
	height: 50px;
	width: 100%;
	overflow: hidden;
}
.sidenav li a {
	height: 38px;
	padding-left: 43px;
	display: flex;
    align-items: center;
	text-align: left;
    color: #8d6a40;
	font-size: 17px;
	font-weight: bold;
	line-height: 1.4em;
    letter-spacing: 0.03em;
	text-transform: capitalize;
	overflow: hidden;
	position: relative;
	transition: padding .2s;
}
.sidenav li a:hover,.sidenav li a:focus,.sidenav li a:active {
    padding-left: 46px;
}
.sm-home {
	background: url("../img/icon_sm_home.svgz") no-repeat left 8px center;
	background-size: auto 1.2em;
}
.sm-order {
	background: url("../img/icon_sm_order.svgz") no-repeat left 11px center;
	background-size: auto 1.2em;
}
.sm-shop {
	background: url("../img/icon_sm_shop.svgz") no-repeat left 8px center;
	background-size: auto 1.2em;
}
.sm-buy {
	background: url("../img/icon_sm_buy.svgz") no-repeat left 8px center;
	background-size: auto 1.2em;
}
.sm-contact {
	background: url("../img/icon_sm_contact.svgz") no-repeat left 9px center;
	background-size: auto 1.1em;
}
@media screen and (max-width: 1023px) {
	.sidenav {
		display: none;
	}
}
/* FOOTER SP NAV */
.sp-nav {
    display: none;
}
@media screen and (max-width: 1023px) {
    .sp-nav {
		width: 100%;
        display: block;
    }
    .sp-nav ul {
        height: 48px;
        width: 100%;
        background: #8d6a40;
        display: flex;
        justify-content: space-between;
        position: fixed;
        z-index: 15;
        bottom: -1px;
        right: 0;
    }
    .sp-nav ul li {
        width: 50%;
        text-align: center;
        font-size: 11px;
        border-top: 1px solid rgba(255,255,255,0.5);
    }
    .sp-nav ul li + li {
        border-left: 1px solid rgba(255,255,255,0.5);
    }
    .sp-nav ul li a {
        height: 100%;
        width: 100%;
		padding-top: 24px;
        display: block;
		color: #ffffff;
        font-weight: bold;
    }
    .sp-nav-line {
        background: url("../img/icon_sp_line.svgz") no-repeat center top 4px;
        background-size: auto 20px;
    }
    .sp-nav-tel {
        background: url("../img/icon_sp_tel.svgz") no-repeat center top 7px;
        background-size: auto 18px;
		letter-spacing: 0.05em;
    }
    .sp-nav-contact {
        background: url("../img/icon_sp_contact.svgz") no-repeat center top 7px;
        background-size: auto 16px;
		letter-spacing: 0.01em;
    }
}
/* HOME */
.wrap-home-contents {
	width: 100%;
	padding: 0 18px 36px 18px;
	display: flex;
    align-items: stretch;
    gap: 0 20px;
}
@media screen and (max-width: 768px) {
	.wrap-home-contents {
		padding: 0 8px 36px 8px;
		display: flex;
		flex-direction: column;
		gap: 48px 0;
	}
}
/* NEWS -HOME- */
.wrap-news-home {
    height: auto;
    width: 54%;
	position: relative;
}
.news-home {
	height: 100%;
	max-height: 653px;
	width: calc(100% - 4px);
	margin: 0 0 12px 0;
	padding: 18px 18px 24px 18px;
    background: rgba(255,255,255,0.75);
	color: #333333;
	overflow: auto;
    border-radius: 5px;
}
.news-home dt {
	padding: 4px 8px 3px 14px;
    background: rgba(101,157,31,0.85);
	text-align: left;
	border-radius: 10px;
}
.news-home dt time {
	color: #ffffff;
	letter-spacing: 0.08em;
}
.news-home dd {
	margin-bottom: 32px;
    padding: 8px 14px 18px 14px;
	text-align: left;
	letter-spacing: 0.02em;
}
.news-home dd:last-child {
	margin-bottom: 12px;
}
.news-home dd a {
	color: #0033ff;
	font-weight: bold;
}
.news-home dd strong,.news-home dd strong span {
	font-weight: bold;
}
.entry-title {
    margin-bottom: 14px;
	padding: 4px 4px 4px 30px;
	text-align: left;
    color: #8d6a40;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4em;
	text-transform: capitalize;
	position: relative;
}
.entry-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1em;
    width: 1.2em;
    height: 1.2em;
    transform: translateY(-50%);
    background: url("../img/icon_bell.svgz") no-repeat center center;
    background-size: contain;
}
.entry-photo {
	padding-bottom: 8px;
	text-align: center;
	clear: both;
}
.entry-photo img {
	max-width: 240px;
	height: auto;
	margin: 0 auto;
}
.more-news {
    display: none;
}
@media screen and (max-width: 768px) {
	.wrap-news-home {
		width: 100%;
		height: auto;
		margin: 0;
	}
	.wrap-news-home:before {
		content: none;
	}
	.news-home {
		max-height: none !important;
		overflow: visible !important;
		margin: 0;
	}
	.news-home dd {
		padding: 4px 12px 18px 12px;
	}
	.entry-hidden {
		display: none;
	}
    .more-news {
        display: block;
    }
    .more-news a {
        padding: 8px 20px 8px 20px;
        background: #8d6a40;
        display: inline-block;
        color: #ffffff;
        font-size: 15px;
        font-weight: bold;
		font-family: 'wf02';
        letter-spacing: 0.01em;
        border-radius: 100vw;
    }
}
/* NEW ARRIVALS */
.wrap-new-arrivals {
    height: auto;
    width: 46%;
	position: relative;
}
.no-new-arrivals-home {
	width: calc(100% - 4px);
    margin: 0 2px 4px 2px;
	padding: 18px 18px 12px 18px;
	background: rgba(255,255,255,0.75);
	border-radius: 5px;
}
.no-new-arrivals-home .no-new-arrivals-img {
	height: 100%;
	width: 100%;
	margin: 0 auto;
    border-radius: 5px;
	overflow: hidden;
	position: relative;
}
.no-new-arrivals-home .no-new-arrivals-img:before {
	content: "";
	display: block;
	padding-top : 100%;
}
.no-new-arrivals-home .no-new-arrivals-img img {
	width: 100%;
	height: 100%;
	margin: 0 auto;
    object-fit: cover;
    border-radius: 5px;
	position: absolute;
	top: 0; 
	left: 0;
}
@media screen and (max-width: 768px) {
	.wrap-new-arrivals {
		width: 100%;
		height: auto;
		margin: 0;
	}
}

/* NEWS */
.news {
	width: 100%;
	margin: 0 0 24px 0;
	padding: 0 2px 0 2px;
	text-align: left;
}
.news dt {
	padding: 4px 8px 3px 14px;
    background: rgba(101, 157, 31, 0.85);
    text-align: left;
    border-radius: 10px;
}
.news dt time {
	color: #ffffff;
	letter-spacing: 0.08em;
}
.news dd {
	margin-bottom: 32px;
    padding: 8px 14px 18px 14px;
    text-align: left;
    letter-spacing: 0.02em;
}
.news dd strong,.news dd strong span {
	font-weight: bold;
}
.news dd a {
	color: #0066cc;
	font-weight: bold;
}
.newstit {
	padding: 0 0 4px 0;
	text-align: center;
}
.newsimg {
	padding-bottom: 8px;
	text-align: center;
	clear: both;
}
.newsimg img {
	max-width: 240px;
	height: auto;
	margin: 0 auto;
}
/* HOME */

/* TWITTER HOME */
.wrap-twitter-mc {
	width: calc(56% - 4px);
	margin: 0 2px;
}
.twitter {
	height: 552px;
	width: calc(100% - 4px);
	margin: 0 2px 12px 2px;
	background: rgba(40,168,150,0.9);
	border: rgba(7,126,118,0.4) solid 3px;
	overflow: auto;
}
@media screen and (max-width: 1000px) {
	.wrap-twitter-mc {
		width: calc(56% - 4px);
	}
	.twitter {
		height: 450px;
	}
}
@media screen and (max-width: 600px) {
	.wrap-twitter-mc {
		display: none;
	}
}
/* PAGE-TITLE */
.pgt {
	width: 100%;
	margin: 0 0 34px 0;
	padding-left: 12px;
	text-align: left;
	font-size: 31px;
	color: #8d6a40;
	font-family: 'wf02';
	letter-spacing: 0.005em;
	text-transform: capitalize;
	position: relative;
}
@media screen and (max-width: 1023px) {
    .pgt {
		text-align: center;
        font-size: 28px;
		letter-spacing: 0.001em;
    }
}
@media screen and (max-width: 768px) {
    .pgt {
        margin: 0 0 20px 0;
        font-size: 22px;
    }
}
/* ORDER */
.order-shop {
	text-align: left;
	padding: 0 0 24px 0;
}
.order-shop span {
	margin: 12px 0 0 0;
	padding: 6px 0 6px 18px;
	display: block;
	border-left: 4px solid #077675;
}
.photo-order {
	width: 250px;
}
.photo-order img {
	height: auto;
	width: 250px;
}
.order-att {
	width: 100%;
	padding-bottom: 12px;
	text-align: left;
	font-size: 20px;
	font-style: italic;
	font-weight: bold;
}
@media screen and (max-width: 600px) {
	.order-att {
		padding-bottom: 10px;
		font-size: 18px;
	}
	.photo-order {
		width: 100%;
		max-width: 320px;
	}
	.photo-order img {
		height: auto;
		width: 100%;
	}
}
/* SHOP */
.shop-tetobelle-h {
    width: 100%;
    padding: 24px 0 48px 0;
	color: #6bb50b;
	font-size: 44px;
	font-family: 'wf02';
}
.kern-tight {
    letter-spacing: -0.2em;
}
.shop-tetobelle-h-a {
	padding-left: 8px;
	color: #8d6a40;
    font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.005em;
}
.wrap-shop-intro {
    position: relative;
}
.wrap-shop-intro::before {
    content: "";
    position: absolute;
    top: -72px;
    right: 20px;
    width: 120px;
    height: 74px;
    background-image: url("../img/deco_fennec.png");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
}
.shop-intro {
    width: 100%;
    margin: 0 auto 48px auto;
	padding: 18px;
    background: #ad987c url("../img/bg_pattern03.png") repeat center top;
	text-align: left;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.7em;
    border-radius: 10px;
}
.credit-card {
	display: flex;
    flex-wrap: wrap;
    padding-bottom: 18px;
}
.credit-card li {
	height: 44px;
	width: 50px;
    margin-bottom: 6px;
	background-size: contain;
	white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
}
.card-visa {
	background: url("../img/icon_credit_visa.svgz") no-repeat center top;
}
.card-master {
	background: url("../img/icon_credit_master.svgz") no-repeat center top;
}
.card-jcb {
	background: url("../img/icon_credit_jcb.svgz") no-repeat center top;
}
.card-amex {
	background: url("../img/icon_credit_amex.svgz") no-repeat center top;
}
.card-diners {
	background: url("../img/icon_credit_diners.svgz") no-repeat center top;
}
.card-discover {
	background: url("../img/icon_credit_discover.svgz") no-repeat center top;
}
.e-money {
	display: flex;
    flex-wrap: wrap;
    padding-bottom: 18px;
}
.e-money li {
	height: 44px;
	width: 50px;
    margin-bottom: 6px;
	background-size: contain;
	white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
}
.emoney-quicpay {
	background: url("../img/icon_e-money_quicpay.svgz") no-repeat center top;
}
.emoney-paypay {
	background: url("../img/icon_e-money_paypay.svgz") no-repeat center top;
}
.shop-map {
	width: 100%;
}
.shop-map iframe {
	height: 540px;
	width: 100%;
	border: none;
}
.navi-pin {
    margin-right: 6px;
    padding-left: 22px;
    background: url("../img/icon_googlemap.svgz") no-repeat left center;
    background-size: 1em auto;
    display: inline-block;
    color: #ffffff;
    font-weight: bold;
    border-bottom: 2px dashed rgba(255, 174, 0, 0);
}
.navi-pin::after {
    content: '';
    display: inline-block;
    height: 1em;
    width: calc(1em + 2px);
    background: url("../img/icon_link_blank.svgz") no-repeat center bottom;
    background-size: auto 90%;
    margin: 0 4px;
}

@media screen and (max-width: 1023px) {
	.shop-tetobelle-h {
		font-size: 40px;
	}
	.shop-tetobelle-h-a {
		font-size: 21px;
	}
}
@media screen and (max-width: 768px) {
	.shop-tetobelle-h {
		font-size: 34px;
	}
	.shop-tetobelle-h-a {
		font-size: 18px;
	}
	.wrap-shop-intro::before {
		content: "";
		position: absolute;
		top: -66px;
		right: 12px;
		width: 100px;
		height: 68px;
	}
}
@media screen and (max-width: 600px) {
	.card li {
		height: 32px;
		width: 54px;
	}
	.pay li {
		height: 32px;
		width: 54px;
	}
}
@media screen and (max-width: 500px) {
	.shop-tetobelle-h {
		padding: 24px 0 24px 0;
	}
	.shop-tetobelle-h-a {
		padding: 10px 0 0 0;
		display: block;
	}
}
/* BUY */
.buy-notice {
    width: 100%;
    margin: 0 auto 48px auto;
	padding: 18px;
    background: #ad987c url("../img/bg_pattern03.png") repeat center top;
	text-align: left;
    color: #ffffff;
	font-size: 15px;
	line-height: 1.7em;
    border-radius: 10px;
}
.buy-photo-list {
    display: flex;
    flex-direction: column;
    row-gap: 18px;
}
.preview-container {
    width: 100px;
    height: 100px;
    margin-top: 4px;
    display: none;
    border-radius: 4px;
    overflow: hidden;
}
.preview-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* HOLIDAY */
.wrap-holiday {
	width: 100%;
	padding-bottom: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.holiday {
	width: calc(100% - 6px);
	margin: 0 auto 12px auto;
	padding: 18px 18px 24px 18px;
	background: #ad987c url("../img/bg_pattern03.png") repeat center top;
	text-align: left;
	color: #ffffff;
    border-radius: 10px;
}
.holiday h3 {
	margin-bottom: 18px;
	padding: 4px;
	background: rgba(255,255,255,0.15);
    text-align: center;
	font-size: 15px;
	font-weight: bold;
	text-shadow: 0 1px 1px rgba(138,106,63,0.25);
    letter-spacing: 0.05em;
	line-height: 1.4em;
	text-transform: capitalize;
	border: 1px solid rgba(138,106,63,0.25);
	border-radius: 100vw;
}
.holiday-inner {
	font-size: 14px;
    letter-spacing: 0.03em;
	line-height: 1.5em;
}
@media screen and (max-width: 1023px) {
	.holiday {
	  width: calc(50% - 6px);
	}
}
@media screen and (max-width: 768px) {
	.holiday {
		width: 100%;
	}
}
/* CONTENT HEAD */
.ch {
	height: 30px;
	width: 100%;
	margin: 0 auto 18px auto;
	background: rgba(233,170,201,0.6);
	text-align: center;
	border-radius: 15px;
	clear: both;
}
.ch span {
	height: 30px;
	min-width: 320px;
	max-width: 90%;
	padding: 0 14px;
	margin: 0 auto;
	background: #dfaac9;
	text-align: center;
	display: inline-block;
	font-size: 17px;
	color: #ffffff;
	line-height: 30px;
	font-weight: normal;
	border-radius: 15px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
@media screen and (max-width: 1000px) {
	.ch span {
		min-width: 50%;
	}
}
@media screen and (max-width: 600px) {
	.ch {
		margin: 0 auto 8px auto;
	}
}
/* PICKUP-SIDE- */
.pgt-side {
	padding: 4px 4px 8px 4px;
	color: #8d6a40;
	font-size: 24px;
    font-family: 'wf02';
	letter-spacing: 0.005em;
}
/* PICKUP */
.wrap-home-pickup {
	padding-bottom: 48px;
}
.pickup {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
    gap: 18px 0;
}
.pickup > li {
	width: 50%;
}
.pwrap {
    width: calc(100% - 10px);
    margin: 0 auto;
	display: flex;
	text-align: left;
	border-radius: 12px;
	position: relative;
}
.pickup-img {
	height: auto;
	width: 100%;
	max-width: 300px;
	overflow: hidden;
	position: relative;
}
.pickup-img::before {
	content: "";
	display: block;
	padding-top: 100%;
}
.pickup-img img {
	width: 100%;
	height: auto;
	object-fit: cover;
	margin: 0 auto;
    border-radius: 5px;
	position: absolute;
	top: 0;
	left: 0;
}
.pickup-detail {
    width: 100%;
    color: #ffffff;
}
.pickup h3 {
	width: 100%;
    padding: 8px 12px 2px 10px;
    text-align: left;
    color: #7a5a34;
	font-size: 15px;
    font-weight: bold;
	line-height: 1.3em;
    letter-spacing: 0.02em;
	display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pickup .sname {
    width: 100%;
    padding: 4px 14px 0 10px;
    display: block;
	color: #555555;
	font-family: Geneva, Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-style: italic;
}
.pickup .bss {
    width: 100%;
    padding: 4px 14px 0 10px;
    display: block;
	color: #333333;
    font-size: 13px;
    line-height: 1.6em;
}
.pickup-com {
    height: 3.2em;
    padding: 4px 14px 0 10px;
    color: #333333;
    font-size: 14px;
    line-height: 1.6em;
    letter-spacing: 0.03em;
    white-space: normal;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home-pickup-price {
	position: absolute;
	bottom: 6px;
}
.pickup .price {
	padding: 4px 0 0 10px;
	color: #333333;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: normal;
}
.pickup .redprice {
	padding: 4px 8px 2px 10px;
	color: #f44336;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: normal;
	line-height: 1.4em;
}
.pickup .label-sale {
    margin: 0 4px 3px 0;
    padding: 1px 5px 2px 5px;
    background: #f44336;
    display: inline-block;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.3em;
    letter-spacing: 0.05em;
    border-radius: 2px;
}
.pickup .sale-price {
    padding: 0 14px 2px 12px;
    color: #f44336;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: normal;
}
@media screen and (max-width: 1500px) {
    .pickup .sname {
        display: none;
    }
}
@media screen and (max-width: 1279px) {
    .pickup-com {
		display: none;
	}
}
@media screen and (max-width: 1023px) {
	.pwrap::after {
		height: 30%;
		width: 30%;
	}
	.pickup-img {
		max-width: 240px;
	}
	.pickup .price {
		font-size: 14px;
	}
	.pickup .redprice {
		font-size: 14px;
	}
	.pickup .label-sale {
		font-size: 13px;
	}
	.pickup .sale-price {
		font-size: 15px;
	}
}
@media screen and (max-width: 768px) {
    .pickup > li {
        width: 100%;
    }
	.pwrap::after {
		height: 40%;
		width: 40%;
	}
	.pickup-img {
		max-width: 200px;
	}
    .pickup-com {
		display: block;
	}
}
@media screen and (max-width: 600px) {
    .pickup-com {
		display: none;
	}
}
@media screen and (max-width: 400px) {
    .pickup-img {
		max-width: 40%;
	}
	.pickup .price s {
		display: none;
	}
}
/* STOCK */
.wrap-stock {
	width: 100%;
	padding: 0 0 14px 0;
	overflow: hidden;
}
.stock {
	width: 100%;
    margin-bottom: 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
    justify-content: flex-start;
    gap: 20px 0;
}
.stock > li {
	width: 25%;
}
.swrap {
	width: calc(100% - 12px);
	margin: 0 auto;
	padding: 0 0 10px 0;
	text-align: left;
	position: relative;
}
.stock-new {
	height: 10%;
	width: 18%;
	background: url("../img/icon_stock_new.svgz") no-repeat 0 0;
	background-size: 100% auto;
	white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
	position: absolute;
	top: 11px;
	left: 11px;
	z-index: 10;
}
.stock-img {
	height: auto;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}
.stock-img::before {
	content: "";
	display: block;
	padding-top: 100%;
}
.stock-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0 auto;
    border-radius: 5px;
	position: absolute;
	top: 0;
	left: 0;
}
.stock h3 {
	width: 100%;
	padding: 8px 12px 2px 12px;
	color: #7a5a34;;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.3em;
    letter-spacing: 0.03em;
}
.stock .sname {
    padding: 4px 14px 2px 12px;
	color: #555555;
	font-family: Geneva, Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-style: italic;
    line-height: 1.3em;
}
.stock .bss {
    padding: 4px 14px 2px 12px;
	color: #333333;
    font-size: 13px;
    line-height: 1.3em;
	letter-spacing: 0.05em;
}
.stock .price {
	padding: 8px 14px 2px 12px;
	color: #333333;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: normal;
}
.stock .redprice {
	padding: 8px 14px 2px 12px;
	color: #f44336;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: normal;
}
.stock .price span,.stock .redprice span {
	font-size: 13px;
	font-weight: bold;
}
.stock .sale-price {
	padding: 0 14px 2px 12px;
	color: #f44336;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: normal;
}
.sale-price span {
	font-weight: bold;
}
.stock .label-sale {
	margin: 0 4px 3px 0;
	padding: 1px 5px 2px 5px;
	background: #f44336;
	display: inline-block;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.3em;
	letter-spacing: 0.05em;
	border-radius: 2px;
}
@media screen and (max-width: 1536px) {
    .stock > li {
        width: calc(100% / 3);
    }
}
@media screen and (max-width: 1023px) {
	.stock li h3 {
		font-size: 14px;
	}
    .stock .price {
		font-size: 14px;
	}
	.stock .redprice {
		font-size: 14px;
	}
	.stock .sale-price {
		padding: 0 14px 2px 12px;
		color: #f44336;
		font-size: 14px;
		font-weight: bold;
		letter-spacing: normal;
	}
	.stock .label-sale {
		font-size: 12px;
	}
    .stock-new {
		height: 12%;
		width: 24%;
        position: absolute;
		top: 6px;
		left: 6px;
    }
}
@media screen and (max-width: 768px) {
	.stock > li {
		width: 50%;
	}
	.swrap {
        width: calc(100% - 6px);
		padding: 0 0 6px 0;
	}
	.stock .sname {
		display: none;
	}
	.stock .price span,.stock .redprice span {
		font-size: 10px;
	}
}
@media screen and (max-width: 600px) {
    .stock li h3 {
        font-size: 13px;
    }
}
/* DETAILS */
.detail-wrap {
	width: 100%;
	padding: 0 0 30px 0;
    display: flex;
	gap: 40px;
    overflow: hidden;
    position: relative;
}
.detail-new {
    height: 8%;
    width: 18%;
	max-width: 100px;
	background: url("../img/icon_stock_new.svgz") no-repeat 0 0;
	background-size: 100% auto;
	white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 10;
}
.detail-box {
	width: 100%;
	padding: 2px 0 18px 0;
	text-align: left;
}
.detail-box h3 {
	width: 100%;
	padding: 0 12px 12px 0;
    color: #8d6a40;
	font-size: 21px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.5em;
}
.detail-h {
	padding: 0 12px 12px 0;
}
.wrap-detail-img {
	width: 65%;
	max-width: 720px;
	display: flex;
	flex-wrap: wrap;
    align-self: flex-start;
}
.detail-wrap .sname {
    width: 100%;
    padding: 0;
    display: block;
	color: #555555;
	font-family: Geneva, Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-style: italic;
}
.detail-wrap .bss {
    width: 100%;
    padding: 0;
    display: block;
	color: #333333;
    font-size: 15px;
    line-height: 1.6em;
}
.detail-wrap .price {
    padding: 18px 0 2px 0;
	color: #333333;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.03em;
}
.detail-wrap .redprice {
    padding: 18px 0 2px 0;
	color: #f44336;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.03em;
}
.detail-wrap .price span,.detail-wrap .redprice span {
	font-size: 13px;
	font-weight: bold;
}
.detail-wrap .sale-price {
	padding: 2px 0;
	color: #f44336;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.03em;
}
.detail-wrap .label-sale {
	margin: 0 4px 0 0;
	padding: 1px 5px 2px 5px;
	background: #f44336;
	display: inline-block;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.3em;
	letter-spacing: 0.05em;
	border-radius: 2px;
}
.detail-com {
	margin-bottom: 12px;
	padding: 12px 12px 12px 0;
	text-align: left;
	font-size: 15px;
    letter-spacing: 0.03em;
	line-height: 1.6em;
	overflow: auto;
}
.wrap-prvideo {
	width: 100%;
	padding: 18px 0 0 0;
}
.wrap-prvideo video {
	height: auto;
	max-width: 100%;
	background-color: #000000;
}
@media screen and (max-width: 1272px) {
	.detail-wrap {
		display: flex;
		gap: 24px;
	}
}
@media screen and (max-width: 1023px) {
	.detail-box h3 {
		font-size: 19px;
	}
	.detail-new {
        position: absolute;
        top: 10px;
        left: 14px;
	}
	.detail-h {
		height: auto;
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
    .detail-wrap {
		flex-direction: column;
	}
	.wrap-detail-img {
		width: calc(100% - 6px);
		margin: 0 auto;
	}
    .detail-box {
        width: calc(100% - 18px);
		margin: 0 auto;
    }
	.detail-box h3 {
		font-size: 18px;
	}
}
/* CONTACT */
.contact-notice {
    width: 100%;
    margin: 0 auto 48px auto;
	padding: 18px;
    background: #ad987c url("../img/bg_pattern03.png") repeat center top;
	text-align: left;
    color: #ffffff;
	font-size: 15px;
	line-height: 1.7em;
    border-radius: 10px;
}
.contact-email {
    padding-right: 6px;
    color: #040507;
	font-size: 18px;
    font-weight: bold;
}
@media screen and (max-width: 1000px) {
	.contact-exp {
    font-size: 14px;
	}
}
@media screen and (max-width: 600px) {

}
/* TAB MENU 01 */
.tabmenu01 {
	height: 36px;
	display: flex;
}
.tabmenu01 li {
	height: 36px;
	width: 50%;
}
.tabmenu01 li a {
	height: 36px;
	background-color:rgba(255,255,255,0.7);
	display: block;
	text-align: center;
	color: #999999;
	line-height: 39px;
	font-size: 19px;
	border-radius: 10px 10px 0 0;
	box-shadow: 0 1px 0 0 rgba(122,190,215,0.2) inset;
	border-right: 1px solid rgba(122,190,215,0.2);
	border-left: 1px solid rgba(122,190,215,0.2);
}
.sbox {
	clear: both;
	overflow: hidden;
}
.tabbox {
	padding-top: 32px;
	border-top: 6px solid #7abed7;
	display: none;
	clear: both;
	overflow: hidden;
}
.tabmenu01 li.active a {
	background: #7abed7;
	color: #ffffff;
	box-shadow: none;
	border-bottom: none;
}
@media screen and (max-width: 600px) {
	.tabmenu01 li a {
		font-size: 16px;
		line-height: 40px;
		letter-spacing: 0.005em;
	}
}
/* TAB MENU 02 */
.tabmenu02 {
	height: 42px;
	margin-bottom: 32px;
	border-bottom: 6px solid #7abed7;
	display: flex;
}
.tabmenu02 li {
	height: 36px;
	width: 50%;
}
.tabmenu02 li a {
	height: 36px;
	background-color:rgba(255,255,255,0.7);
	display: block;
	text-align: center;
	color: #999999;
	line-height: 39px;
	font-size: 19px;
	border-radius: 10px 10px 0 0;
	box-shadow: 0 1px 0 0 rgba(122,190,215,0.2) inset;
	border-right: 1px solid rgba(122,190,215,0.2);
	border-left: 1px solid rgba(122,190,215,0.2);
}
.tabmenu02 li.active a {
	background: #7abed7;
	color: #ffffff;
	box-shadow: none;
	border-bottom: none;
}
@media screen and (max-width: 600px) {
	.tabmenu02 li a {
		font-size: 16px;
		line-height: 40px;
		letter-spacing: 0.005em;
	}
}
 /* EVENT */
.ewrap {
	margin: 0 0 24px 0;
	padding: 0 0 24px 0;
	background: rgba(255,255,255,0.8);
	border-radius: 4px;
	box-shadow: 0 2px 2px -2px rgba(0,0,0,0.1);
}
.eventimg {
	margin-top: -10px;
	padding: 0 0 8px 0;
}
.eventimg img {
	max-width: 100%;
	height: auto;
}
@media screen and (max-width: 600px) {
	.eventimg {
		margin-top: -4px;
	}
}
/* LIST */
.list01 {
	width: calc(100% - 40px);
	margin: 0 auto;
}
.list01 dt {
	width: 100%;
	display: inline-block;
	text-align: left;
	color: #8d6a40;
    padding-left: 30px;
    font-size: 17px;
    font-weight: bold;
	line-height: 1.4em;
	text-transform: capitalize;
	position: relative;
}
.list01 dt::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 1.2em;
    height: 1.2em;
    transform: translateY(-50%);
    background: url("../img/icon_tracks.svgz") no-repeat center center;
    background-size: contain;
}
.list01 dd {
	width: 100%;
	padding: 12px 0 24px 20px;
	text-align: left;
}
.list01 dd * {
    font-weight: bold;
}
.tab01 {
	border-collapse: collapse;
	border-collapse: separate;
	border-spacing: 2px;
}
.tab01 th,.tab01 th {
	text-align: center;
	font-size: 14px;
}
.tab01 thead th {
	text-align: center;
}
.tab01 .tabh01 {
	width: 178px;
}
.tab01 .tabh02 {
	width: 132px;
}
.tab01 td {
	padding: 6px 0 2px 0;
	letter-spacing: 0.03em;
	border-bottom: dotted rgba(255,255,255,0.5) 1px;
}
.tab01 .tb01 {
	text-align: right;
}
@media screen and (max-width: 768px) {
	.list01 dt {
		padding-left: 28px;
		font-size: 16px;
	}
	.list01 dd {
		padding: 10px 2px 24px 8px;
	}
}
/* FORM-01 */
.form01 {
    width: 100%;
	padding: 0 18px 78px 18px; 
}
.from-h-exp {
	width: 98%;
	margin: 18px auto 0 auto;
	padding: 8px 24px;
	background-color: rgba(255,255,255,0.6);
	text-align: left;
	line-height: 1.8em;
	border-radius: 3px;
}
.form-h-exp02 {
	width: 98%;
	margin: 18px auto 24px auto;
	padding: 18px;
	background: #ad987c url("../img/bg_pattern03.png") repeat center top;
	text-align: left;
	color: #ffffff;
	line-height: 1.6em;
    border-radius: 10px;
}
.ulcb li {
	padding: 0 0 8px 2px;
}
.question {
	font-size: 20px;
	font-weight: bold;
}
.mandatory {
	padding: 0 12px;
	background: #659d1f;
    text-align: center;
	color: #ffffff;
	font-size: 12px;
	text-transform: capitalize;
	border-radius: 2px;
}
.optional {
	padding: 0 12px;
	background-color: #ffffff;
    text-align: center;
	color: #105f00;
	font-size: 12px;
	text-transform: capitalize;
	border-radius: 2px;
}
.f-line {
	-moz-box-flex: 1;
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 3px;
}
.f-line:focus {
	outline: none;
}
.f-line-check {
	-moz-box-flex: 1;
	border: 1px solid #da151e;
	border-radius: 3px;
}
.f-line-check:focus {
	outline: none;
}
#s-check {
	height: 80px;
	text-align: left;
}
#s-check img {
	margin-right: 12px;
	float: left;
}
@media screen and (max-width: 600px) {
	.from-h-exp {
		width: 99%;
		margin: 12px auto 0 auto;
		padding: 4px 12px;
	}
	.ulcb li {
		padding: 0 0 8px 6px;
	}
	.f-line {
		border: 1px solid #cccccc;
	}
	.f-line-check {
		border: 1px solid #cccccc;
	}
}
/* FORM03 */
.dl01 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.dl01 dt {
    width: 280px;
    padding: 2px 0 38px 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    text-align: left;
    color: #8d6a40;
    font-size: 18px;
	font-family: 'wf02';
    letter-spacing: 0.03em;
	text-transform: capitalize;
}
.dl01 dd {
    width: calc(100% - 280px);
    padding: 0 0 38px 12px;
    display: flex;
    justify-content: flex-start; 
    flex-direction: column;
    text-align: left;
    color: #555555;
    font-weight: bold;
}
.dl01 dd label {
    padding-bottom: 2px;
    display: block;
    font-size: 16px;
    font-weight: bold;
}
.dl01 dd .wrap-address {
    padding-bottom: 8px;
    text-align: left;
    color: #ffffff;
    
}
@media screen and (max-width: 768px) {
    .dl01 {
        display: flex;
        flex-direction: column;
    }
    .dl01 dt {
        width: 100%;
        padding: 0 0 12px 4px;
        display: flex;
        justify-content: flex-start;
        column-gap: 10px;
		font-size: 16px;
    }
    .dl01 dd {
        width: 100%;
        padding: 0 0 32px 0;
    }
}
/* PAGE NAV */
.pagenav {
	width: 100%;
	margin: 28px 0;
	padding: 10px 10px 5px 10px;
	text-align: center;
	display: flex;
	flex-wrap : wrap;
	justify-content: center;
}
.pagenav li {
	padding: 0 2px 6px 2px;
	display: inline;
	font-size: 14px;
}
.pagenav li a {
	height: 34px;
	padding: 0 14px;
	background: rgba(255,255,255,0.8);
	display: table-cell;
	color: #82bf23;
	vertical-align: middle;
	border-radius: 17px;
	transition: background .2s,color .2s;
}
.pagenav li a:hover {
	background: rgba(255,255,255,0.9);
}
.pagenav li span {
	height: 34px;
	padding: 0 14px;
	background: rgba(47,72,75,0.4);
	color: #ffffff;
	display: table-cell;
	vertical-align: middle;
	border-radius: 17px;
}
/* PAGE NAV -TOP */
.pagenav-top {
	width: 100%;
	margin: 0 0 10px 0;
	text-align: center;
	display: flex;
	flex-wrap : wrap;
	justify-content: flex-end;
}
.pagenav-top li {
	padding: 0 2px 6px 2px;
	display: inline;
	font-size: 14px;
}
.pagenav-top li a {
	height: 28px;
	padding: 0 14px;
	background: rgba(255,255,255,0.8);
	display: table-cell;
	color: #82bf23;
	vertical-align: middle;
	border-radius: 14px;
	transition: background .2s,color .2s;
}
.pagenav-top li a:hover {
	background: rgba(255,255,255,0.9);
}
.pagenav-top li span {
	height: 28px;
	padding: 0 14px;
	background: rgba(47,72,75,0.4);
	color: #ffffff;
	display: table-cell;
	vertical-align: middle;
	border-radius: 14px;
}
/* FOOTER */
footer {
	width: 100%;
	margin-top: 90px;
	padding: 218px 0 0 0;
	clear: both;
	overflow: hidden;
	position: relative;
}
footer:before{
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	background: url("../img/bg_footer.png") no-repeat top center;
	background-size: auto 218px;
	mix-blend-mode: multiply;
	z-index: -1;
}
footer:after{
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	background: url("../img/footer_meerkat.png") no-repeat;
	background-position-y: 53px;
	background-position-x: center;
	background-size: 360px auto;
	pointer-events: none;
	z-index: 1;
}
.footer-inner {
    width: 100%;
	height: 100%;
	padding-bottom: 78px;
	padding-top: 112px;
	background: url("../img/logo02.svgz") no-repeat top 64px center, url("../img/bg_pattern02.png") repeat top center;
	background-size: auto 40px, auto;
}
.footer-content {
	width: calc(100% - 120px);
	max-width: 1520px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.wrap-footer-sns {
	width: 100%;
	padding-bottom: 68px;
}
.footer-sns ul {
	margin: 24px 0 18px 0;
	display: flex;
    flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}
.footer-sns li {
    height: 48px;
    width: 48px;
}
.footer-sns li a {
    height: 100%;
    width: 100%;
    display: block;
    white-space: nowrap;
    text-indent: 200%;
    overflow: hidden;
}
.footer-sns.staff {
	display: flex;
	flex-direction: column-reverse;
}
.footer-sns.staff ul {
	margin: 0;
	padding-top: 20px;
	padding-bottom: 6px;
	background: url("../img/bg_line.svgz") no-repeat top center;
	background-size: auto 2px;
}
.footer-sns-label {
    text-align: center;
    font-size: 14px;
    margin-bottom: 4px;
    color: #ffffff;
	font-family: 'wf02';
    letter-spacing: 0.05em;
	text-transform: capitalize;
}
.fsns-x {
    background: url("../img/icon_footer_sns_x.svgz") no-repeat center center;
    background-size: 100% auto;
}
.fsns-instagram {
    background: url("../img/icon_footer_sns_instagram.svgz") no-repeat center center;
    background-size: 100% auto;
}
.fsns-youtube {
    background: url("../img/icon_footer_sns_youtube.svgz") no-repeat center center;
    background-size: 100% auto;
}
.fsns-tiktok {
    background: url("../img/icon_footer_sns_tiktok.svgz") no-repeat center center;
    background-size: 100% auto;
}
.fsns-threads {
    background: url("../img/icon_footer_sns_threads.svgz") no-repeat center center;
    background-size: 100% auto;
}
.fsns-bluesky {
    background: url("../img/icon_footer_sns_bluesky.svgz") no-repeat center center;
    background-size: 100% auto;
}
.fsns-line {
    background: url("../img/icon_footer_sns_line.svgz") no-repeat center center;
    background-size: 100% auto;
}
.footer-links ul {
	display: flex;
    flex-wrap: wrap;
	justify-content: flex-start;
	flex-direction: column;
	gap: 12px;
	text-align: left;
}
.footer-links ul a {
	color: #ffffff;
	font-size: 14px;
	text-transform: capitalize;
}
.footer-info {
	display: flex;
	justify-content: flex-end;
	text-align: right;
	color: #ffffff;
	font-size: 15px;
	text-transform: capitalize;
}
.footer-info .address {
	padding-bottom: 0.8em;
}
.pagetop {
    padding: 4px;
	position: fixed;
	bottom: 48px;
	right: 44px;
	display: block;
    background: url("../img/pagetop.svgz") no-repeat center center;
    background-size: auto;
	white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
	width: 72px;
	height: 72px;
	transform: translateY(12px);
    transition: opacity 1s,visibility 1s, transform 1s;
    opacity: 0;
	z-index: 200;
}
.pagetop.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}
@media screen and (max-width: 1023px) {
	footer {
		margin-top: 64px;
		padding: 180px 0 0 0;
	}
	footer:before{
		background: url("../img/bg_footer.png") no-repeat top center;
		background-size: auto 180px;
	}
	footer:after{
		display: block;
		content: '';
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		background: url("../img/footer_meerkat.png") no-repeat;
		background-position-y: 50px;
		background-position-x: center;
		background-size: 284px auto;
	}
	.footer-inner {
		padding-top: 90px;
		background: url("../img/logo02.svgz") no-repeat top 48px center, url("../img/bg_pattern02.png") repeat top center;
		background-size: auto 32px, auto;
	}
	.footer-sns ul {
		gap: 6px;
	}
	.footer-sns li {
		height: 44px;
		width: 44px;
	}
	.footer-links {
		display: none;
	}
	.footer-info {
		display: none;
	}
	.pagetop {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
    footer {
		margin-top: 40px;
		padding: 114px 0 0 0;
	}
	footer:before{
		background: url("../img/bg_footer.png") no-repeat top center;
		background-size: auto 114px;
	}
	footer:after{
		display: block;
		content: '';
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		background: url("../img/footer_meerkat.png") no-repeat;
		background-position-y: 36px;
		background-position-x: center;
		background-size: 170px auto;
	}
	.footer-inner {
		padding-top: 48px;
		background: url("../img/logo02.svgz") no-repeat top 24px center, url("../img/bg_pattern02.png") repeat top center;
		background-size: auto 24px, auto;
	}
	.footer-sns ul {
		margin: 18px 0 0 0;
		padding-bottom: 12px;
		gap: 4px;
	}
	.footer-sns.staff ul {
		background: url("../img/bg_line.svgz") no-repeat top center;
		background-size: 280px auto;
	}
}
/* ERROR */
.error-mes {
	padding: 72px 0;
	font-size: 16px;
}
.error-anc a {
	font-size: 15px;
	color: #FC6;
	font-weight: bold;
}
/* SIZE */
.marb01 {
	margin-bottom: 24px;
}
.padt01 {
	padding-top: 10px;
}
.padb01 {
	padding-bottom: 6px;
}
.hw01 {
	height: 180px;
	width: 640px;
}
.hw02 {
	height: 100px;
	width: 400px;
}
.hw03 {
	height: 240px;
    width: 100%;
	max-width: 640px;
}
.hw04 {
	height: 400px;
	width: 540px;
}
.hw05 {
	height: 300px;
	width: 340px;
}
.hw06 {
	height: 580px;
	width: 530px;
}
.hw07 {
	height: 200px;
	width: 100%;
	max-width: 600px;
}
.w01 {
	width: 640px;
}
.w02 {
	width: 100%;
	max-width: 400px;
}
.w03 {
	width: 200px;
}
.w04 {
	width: 120px;
}
.w05 {
	width: 80px;
}
.w06 {
	width: 60px;
}
.w07 {
	width: 100%;
	max-width: 300px;
}
.h01 {
	height: 120px;
}
/* MESSAGE */
.mes01 {
	margin: 100px auto;
	font-size: 17px;
    font-weight: bold;
	line-height: 3em;
	clear: both;
}
@media screen and (max-width: 600px) {
	.mes01 {
		margin: 20px auto 40px auto;
		line-height: 2em;
	}
}
/* MODE */
.mode-sp {
	display: none;	
}
@media screen and (max-width: 1000px) {
	.hidden-tb {
		display: none;
	}
}
@media screen and (max-width: 600px) {
	.mode-pc {
		display: none;
	}
	.mode-sp {
		display: block;
	}
	.hidden-sp {
		display: none;
	}
}