@media screen and (max-width: 900px) {

/*=================================================================
*  html
*=================================================================*/

body { position:relative; }

/*=================================================================
*  Modules
*=================================================================*/

/* flex
------------------------------------*/
.flex {
	display: flex;
}

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

.flex.flex-jc-start {
	justify-content: flex-start;
}

.flex.flex-jc-spacebetween {
	justify-content: space-between;
}

.flex.flex-jc-center {
	justify-content: center;
}

.flex.flex-align-c {
	align-items: center;
}

/* width
------------------------------------*/
.width.w1200,
.width.w1100,
.width.w960,
.width.w860,
.width.w640 {
	width: 100%;
}

/* column
------------------------------------*/
.column {
	display: block;
    overflow: visible;
    /*flex-wrap: wrap;*/
    /*gap: 7%;*/
}

.column.col2 .row.short,
.column.col2 .row.wide {
    width: 100%;
}

.column.col2 .row + .row {
	margin-top: 12vw;
}

/*=================================================================
*  form
*=================================================================*/

/* form style [single]
------------------------------------*/
.form-style-single textarea {
    min-width: 0;
}

/*=================================================================
*  Common
*=================================================================*/
#header {
	width: 100%;
}

#header > .inner {
    padding: 3vw 3vw;
}

#header #global-navigation {
	display: none;
}

#header #sns-navigation {
	display: none;
}

#header #shop-logo {
	max-height: 12vw;
}

/* container
------------------------------------*/
#container {
	position:absolute;
	left:0;
	width: 100%;
	transition:.2s;
}

/* contents
------------------------------------*/
.contents {
    padding: 0 3vw;
}

.top-page .contents {
	padding: 14vw 3vw;
}


/* lowpage
------------------------------------*/
.lowpage {
	padding: 18vw 0 14vw;
}

/* footer
------------------------------------*/
#footer {
	width: 100%;
}

#footer > .inner {
    padding: 80px 0 120px;
}

#footer .copyright {
	text-align: center;
    font-size: .8rem;
}

/*=================================================================
*  SP global navigation
*=================================================================*/
#header #globalNav {
	margin-top:25px;
}
#globalNav  {
	display:none;
}

#global-navi-button {
	display:block;
	position:fixed;
	top:3vw;
	right:3vw;
	z-index:9999;
	cursor:pointer;
	padding:10px 10px 8px 10px;
	border-radius:5px;
}

#global-navi-button > .inner {
	position:relative;
	width:28px;
	height:24px;
}

#global-navi-button .rect-line {
	overflow:hidden;
	position:absolute;
	width:28px;
	height:1px;
	margin-bottom:7px;
	background-color:#333;
	transition:all 0.3s;
}

#global-navi-button .rect-line:nth-child(1) { top:0; }
#global-navi-button .rect-line:nth-child(2) { top:9px; }
#global-navi-button .rect-line:nth-child(3) { top:18px; }
#global-navi-button.active { background-color:transparent; }
#global-navi-button.active .rect-line { background-color:#333; }
#global-navi-button.active .rect-line:nth-child(1) { top:9px; transform:rotate(315deg); }
#global-navi-button.active .rect-line:nth-child(2) { opacity:0; }
#global-navi-button.active .rect-line:nth-child(3) { top:9px; transform:rotate(-315deg); }
#global-navi-button.color .rect-line { background-color:#574c39; }

#global-navigation-sp { display:block; position:fixed; top:0; right:-400px; min-width:240px; border-left:solid 2px #555; font-size:.9em; z-index:9990; transition:.2s; background-color:#FFF; }
#global-navigation-sp.active { right:0; }
#global-navigation-sp > .inner { padding-top:60px; }
#global-navigation-sp a { display:block; font-weight: bold; color:#333; }
#global-navigation-sp a:hover { text-decoration:none; background-color:#efefef; }

#global-navigation-sp .menuTitle { margin:25px auto 20px; text-align:center; font-weight:bold; line-height:1.4em; color:#333; }
#global-navigation-sp .menuTitle .en { display:block; font-size:115%; }
#global-navigation-sp .menuTitle .ja { display:block; font-size:75%; }

#global-navigation-sp #sp-gnavi > ul > li:first-child { border-top:solid 1px #ccc; }
#global-navigation-sp #sp-gnavi > ul > li { border-bottom:solid 1px #ccc; }
#global-navigation-sp #sp-gnavi > ul > li > a { padding:20px; }

#global-navigation-sp #sp-sns-navi { margin-top:20px; }
#global-navigation-sp #sp-sns-navi li { font-size:165%; }

#global-navigation-sp .searchBox { width:100%; }

/*=================================================================
*  Js
*=================================================================*/

/* hover popup
------------------------------------*/
.js-hover-popup {
	position: relative;
	z-index: 1000;
	cursor: help;
}

.js-popup {
	display: none;
	width: 260px;
	min-height: 100px;
	padding: 10px;
	margin: 0;
	position: absolute;
	bottom: 0;
	right: 0;
	box-shadow: 1px 3px 3px 3px rgba(0,0,0,0.2);
	background-color: #FFF;
	z-index: 5000;
}

.js-popup .popup-inner {
	display: table;
    width: 100%;
    height: 100%;
}

.js-popup .popup-contents {
	display: table-cell;
	vertical-align: middle;
}

/*=================================================================
*  Parts
*=================================================================*/

/* section title
------------------------------------*/
.section-title {
    margin-bottom: 60px;
}

/* list thumbnail
------------------------------------*/
.list-thumbnail ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
    width: 100%;
}

.list-thumbnail ul > li {
	width: 23.5%;
	margin: 2% auto;
}

.list-thumbnail img {
    width: 100%;
}

.list-thumbnail a {
    text-decoration: none;
}

.list-thumbnail .item-list-thumbnail {
	overflow: hidden;
	max-height: 240px;
}

.list-thumbnail .item-list-thumbnail.no-thumbnail {
	display: table;
	width:100%;
	height: 240px;
	background-color: #ddd;
	color:#aaa;
}

.list-thumbnail .item-list-thumbnail.no-thumbnail p {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

.list-thumbnail .detail p {
	margin: 10px auto;
}

.list-thumbnail .detail .title {
	margin: 20px auto;
	font-size: 110%;
	font-weight: bold;
}

.list-thumbnail .detail .sub {
	font-size: 90%;
	color: #555;
}

.list-thumbnail.col3 ul {
    gap: 3%;
}

.list-thumbnail.col3 ul > li {
	width: 48.5%;
	margin: 3% auto;
}

.list-thumbnail.rounded .item-list-thumbnail {
	position: relative;
	width: 240px;
	height: 240px;
	border-radius: 50%;
	overflow: hidden;
}

.list-thumbnail.rounded .item-list-thumbnail img {
	position: absolute;
	width: 180%;
	left: 50%;
	transform: translateX(-50%);
}

.list-thumbnail.rounded .detail {
	text-align: center;
}

/* list thumbnail card
------------------------------------*/
.list-thumbnail-card {
    display: flex;
    gap: 2%;
}

.list-thumbnail-card li {
    width: 49%;
}

.list-thumbnail-card a.moda {
    width: 49%;
}

.list-thumbnail-card .thumbnail {
    margin-bottom: 20px;
}

.list-thumbnail-card.center {
	text-align: center;
}

/* box no photo
------------------------------------*/
.box-nophoto {
	display: table;
	width:100%;
	height: 240px;
	background-color: #ddd;
	color:#aaa;
}

.box-nophoto p {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

/* table allergy
------------------------------------*/
.table-allergy {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
}

.table-allergy th,
.table-allergy td {
	padding: 10px;
	border: solid 1px #ccc;
	height: 60px;
}

.table-allergy th {
    width: 12%;
}
.table-allergy th:first-child {
    width: 16%;
}

/* table calendar
------------------------------------*/
.table-calendar {
    width: 100%;
    text-align: center;
}

.table-calendar button {
	background-color: transparent;
	border: none;
	-webkit-appearance: button;
}

.table-calendar .day-number {
	line-height: 1rem;
}

.table-calendar .today-cell button {
	position: relative;
}

.table-calendar .today-cell button::after {
	display: inline-block;
	content: "\25CB";
	position: absolute;
	top: 49%;
	left: 51%;
	font-size: 225%;
	line-height: 1rem;
	transform: translate(-50%, -50%);
}

.table-calendar th,
.table-calendar td button {
	padding: 15px 10px;
}

.table-calendar td button {
	display: block;
	width: 100%;
}

.table-calendar .holiday {
	background-color: #a54a4a;
	color: #FFF;
}

.table-calendar .event {
	background-color: #40589b;
	color: #FFF;
}

.table-calendar .saturday,
.table-calendar .saturday * {
	color: #2d50b5;
}

.table-calendar .sunday,
.table-calendar .sunday * {
	color: #AD264E;
}

.calendar-color-information {
	display: flex;
	justify-content: space-between;
	margin-top:20px;
}

.calendar-color-information .colorbox {
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background-color: #777;
	vertical-align: middle;
}

.calendar-color-information .info-group {
	display: inline-block;
	margin: 0 15px;
}

.calendar-color-information .info {
	display: inline-block;
	vertical-align: middle;
}

.calendar-color-information .holiday {
    background-color: #a54a4a;
}

.calendar-color-information .event {
    background-color: #40589b;
}

/* box [wire]
------------------------------------*/
.box-wire {
	padding: 5vw;
}

/*=================================================================
*  ifream
*=================================================================*/
.custom-iframe {
	outline: none;
	border: none;
	box-shadow: none;
	overflow-y: auto;
}

/*=================================================================
*  Styles
*=================================================================*/

/* page [common]
------------------------------------*/
.container {
	padding: 40px 0 100px;
}

.page-title {
	margin-bottom: 60px;
	text-align: center;
}

/* page [top]
------------------------------------*/
.top-page.container  {
	padding-top: 0;
}

#main-visual .visual-item {
	overflow: hidden;
	max-height: 380px;
}

#main-visual img {
	width: 100%;
}

.topics-deatail-modal img {
	width: 70%;
	max-width: 420px;
}

/* override: micromodal.css */
.topics-deatail-modal .modal__container {
	min-width: 640px;
}
.topics-deatail-modal .modal__title {
	color: #555;
}
.topics-deatail-modal .modal__header {
	padding-bottom: 20px;
	border-bottom: solid 1px #ddd;
}
.topics-deatail-modal .modal__footer {
	padding-top: 20px;
	border-top: solid 1px #ddd;
}

#shop-information .flex {
    flex-wrap: wrap;
}

#shop-information .row {
    width :100%;
}

#shop-information .row + .row {
    margin-top: 14vw;
}

#shop-information .box-information {
	max-width: 420px;
    padding-left: 0;
}

/* page [shop information]
------------------------------------*/

#page-shop-information .content-column {
	display: block;
}

#page-shop-information .content-column .row {
	width: 100%;
}

#page-shop-information .content-column .row + .row {
	width: 100%;
	margin-top: 16vw;
}

/* page [item detail]
------------------------------------*/
#page-item-detail .swiper img {
    width: 100%;
}

#page-item-detail .box-detail {
	padding-top: 30px;
	border-top: solid 1px #ddd;
	margin-top: 30px;
}

#page-item-detail .item-name {
	margin-bottom: 20px;
	font-size: 125%;
}

#page-item-detail .item-desc {
	margin-bottom: 20px;
}

#page-item-detail .item-classes dl {
    overflow: hidden;
}

#page-item-detail .item-classes dl dt {
    float: left;
}

#page-item-detail .item-classes dl dd {
    margin-left: 8em;
}

#page-item-detail .item-classes > ul > li + li {
    margin-top: 10px;
}

#page-item-detail .slider {
	width: 100%;
}

h4.pc_on_cen {
	font-size: 145%;
}

/* page [contact]
------------------------------------*/
#page-contact .box-wire{
    padding-bottom: 10vw;
}

}
/*/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

@media screen and (max-width: 414px) {

/*=================================================================
*  SP global navigation
*=================================================================*/
#global-navi-button {
	top:4vw;
}

}
