@charset "utf-8";


/*------------------------------------------------------------------
	Universal Selector
------------------------------------------------------------------*/
* {
    font-style: normal;
    margin: 0;
    padding: 0;
    /*    text-align: left;*/
    box-sizing: border-box;
}

/*------------------------------------------------------------------
	Base Settings
------------------------------------------------------------------*/
html {
    overflow-y: scroll;
}

body {
	position: relative;
  font-family: 'Noto Sans JP', "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
    font-size: 16px;
    line-height: 1.5;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
caption, th {
    text-align: left;
}
h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    margin: 0;
    padding: 0;
}
li {
    list-style-type: none;
}
p{
	line-height:1.8;

}
img{
    height: auto;
    max-width: 100% ;
	vertical-align:bottom;
}
h1,h2,h3,h4,h5,h6{
	font-weight: normal;
}
/*------------------------------------------------------------------
	Base Link Color Setting
------------------------------------------------------------------*/

a {
    color: #333;
    text-decoration: none;
}

a:hover {

    text-decoration: underline;
}
a:active {
    text-decoration: underline;
}
a img {
    border: medium none;
}

a:hover .fil,.fil2 a:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
}

/* マージン・インデント
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ▽ */
.m1b { margin-bottom: 1px !important; }
.m2b { margin-bottom: 2px !important; }
.m3b { margin-bottom: 3px !important; }
.m4b { margin-bottom: 4px !important; }
.m5b { margin-bottom: 5px !important; }
.m6b { margin-bottom: 6px !important; }
.m7b { margin-bottom: 7px !important; }
.m8b { margin-bottom: 8px !important; }
.m9b { margin-bottom: 9px !important; }
.m10b { margin-bottom: 10px !important; }
.m13b { margin-bottom: 13px !important; }
.m15b { margin-bottom: 15px !important; }
.m20b { margin-bottom: 20px !important; }
.m25b { margin-bottom: 25px !important; }
.m30b { margin-bottom: 30px !important; }
.m35b { margin-bottom: 35px !important; }
.m40b { margin-bottom: 40px !important; }
.m45b { margin-bottom: 45px !important; }
.m50b { margin-bottom: 50px !important; }
.m60b { margin-bottom: 60px !important; }
.m80b { margin-bottom: 80px !important; }

.m5t { margin-top: 5px !important; }
.m10t { margin-top: 10px !important; }
.m20t { margin-top: 20px !important; }
.m30t { margin-top: 30px !important; }
.m40t { margin-top: 40px !important; }
.m50t { margin-top: 50px !important; }
.m70t { margin-top: 70px !important; }
.m80t { margin-top: 80px !important; }
.m90t { margin-top: 90px !important; }
.m100t { margin-top: 100px !important; }

/*sp時変更*/
.m10b-s { margin-bottom: 10px !important; }
.m20b-s { margin-bottom: 20px !important; }
.m30b-s { margin-bottom: 30px !important; }
.m40b-s { margin-bottom: 40px !important; }
.m50b-s { margin-bottom: 50px !important; }
.m60b-s { margin-bottom: 60px !important; }
.m70b-s { margin-bottom: 70px !important; }
.m80b-s { margin-bottom: 80px !important; }
.p01-s { padding-top:70px;padding-bottom: 70px; }
.p02-s { padding-left:1%;padding-right:1%; }


/* 位置クラス
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ▽ */
.clear { clear: both !important; }
.cen { text-align: center !important; }
.cen-pc{text-align:center !important;}
.left { text-align: left !important; }
.right { text-align: right !important; }
/* 投稿の画像配置 */
.f-left{float:left;}
.f-right{float:right;}
.f-left-pc {float: left;}
.f-right-pc {float: right;}
.alignright { display: block; margin: 0 0 10px auto; }/* 配置位置 左 */
.alignleft { display: block; margin: 0 auto 10px 0; }/* 配置位置 右 */
.aligncenter { display: block; margin: 0 auto 10px; }/* 配置位置 中央 */

.pc-dnon{display: none;}
.pc-dnon2{display: none;}

/* テキスト
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ▽ */
.bold { font-weight: bold !important; }
.txtRed { color: #ca2e2c !important; }
.txtBlue { color: #1D4194 !important; }
.txtPink { color: #F246A4 !important; }
.txtGold { color: #8b6c2e !important; }
.txtGray { color: #666666 !important; }
.txtWhite { color: #FFFFFF !important; }
.txtgreen { color: #79a035 !important; }
.txtorenge{color:#fd851b}
.txtBlack{color: #333 !important;}
.txtBlown{color: #603a40 !important}
.txtStar{color: #ca2e2c; !important}

.txt10 { font-size: 77% !important; }
.txt11 { font-size: 92% !important; }
.txt13 { font-size: 109% !important; }
.txt14 { font-size: 117% !important; }
.txt15 { font-size: 125% !important; }
.txt16 { font-size: 130% !important; }
.txt17 { font-size: 142% !important; }
.txt18 { font-size: 150% !important; }
.txt20 { font-size: 167% !important; }

.text1{
	display: inline-block;
	border-bottom: dotted 2px #fff;
	padding-bottom: 10px;
}

.areamarker {
    border-radius: 10px;
    padding: 5px;
    background-color: #2E5D8C;
    color: #fff;
    margin-right:10px;
}
.areamarker1 {
    border-radius: 10px;
    padding: 5px;
    background-color: #44A1E3;
    color: #fff;
    margin-right:10px;
}
.marker {
    border-radius: 10px;
    padding: 5px;
    background-color: #ca2e2c;
    color: #fff;
}

.bg01{
	background: #f2efef;
}
.lh01{line-height:1 !important;}
.lh02{line-height:2  !important;}
.f-min{
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E", "メイリオ", Meiryo, serif;
}
.oh{overflow:hidden;}
.blk{
	display:block;
}
.underline{
	text-decoration: underline;
}
.img100 {
    height: auto;
    width: 100%;
}
img.bs{
	box-shadow: 1px 1px 10px #666;
	border-radius: 10px;
}
table{
	width:100%;
}
td,th{
	padding:10px;
	font-weight: normal;
}
table th,table td{
border:solid 1px #ccc;
}

/*------------------------------------------------------------------
	全体レイアウト
------------------------------------------------------------------*/
/*ーーーーーーーーーー
.header
ーーーーーーーーーーー*/
#head_wrap {
  top: -68px;
  position: relative;
  width: 100%;
  margin: 68px auto 0;
  line-height: 1;
  z-index: 999;
  height: 0px;
  text-decoration: none;
	background: #fff;
}

#head_wrap a {
  text-decoration: none;
}

#head_wrap .inner {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

#head_wrap .inner:after {
  content: "";
  clear: both;
  display: block;
}

#head_wrap .logo {
	padding: 10px;

}

#global-nav {
  position: absolute;
  right: 0;
  top: 0;
}

#global-nav ul {
  list-style: none;
  display:flex;
align-items: center;
}

#global-nav ul li {
	font-size:100%;
	text-align: center;
}
#global-nav ul li a {
	display: block;
  padding:20px 10px;
  transition: all .6s ease 0s;
  box-sizing: border-box;
	text-align: center;
}
/*#global-nav ul li:last-child{
	margin-left: 40px;
}
#global-nav ul li:last-child a{
	font-weight: bold;
  padding: 22px;
background: #d62c2c;
	color: #fff;
	height: 68px;
}*/
#global-nav ul li a span{
	display: block;
	text-align: center;
	color: #d62c2c;
	font-size:90%;	
	margin-bottom: 7px;
}
/* Fixed */
#head_wrap.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  height: 68px;
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
  z-index: 9999;
}





/* Toggle Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}

#nav-toggle div {
  position: relative;
}

footer{
	background: #454544;
	color: #fff;
}
footer .container1{
	padding: 50px 0;
}
footer .copy{
	background: #333333;
	padding: 10px;
	text-align: center;
}
footer .boxstyle01{
	align-items: flex-start;
}
footer ul.footlist{/*
	display: flex;*/
}
footer ul.footlist li{
	margin-right: 30px;
	padding-left: 15px;
}
.f-stm-tl {
    position: relative;
    width: 100%;
    border-bottom: solid 1px #666;
    padding: 0 0 5px 14px;
    margin: 0 0 6px;
}
.f-stm-li {
    position: relative;
    width: 100%;
    padding: 0 0 0 10px;
    line-height: 2.4rem;
}
.f-stm-li::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 3px;
    height: 1px;
    background-color: #CCC;
}
footer ul.footlist li:last-of-type{
	margin-right: 0;
}
footer ul.footlist li a{
	color: #fff;
}
footer ul.word li a{
	color: #fff;
}
.footerlogo{
	max-width:180px;
	margin:0;
}
.footerlogo img{
	image-rendering: -webkit-optimize-contrast;
	-webkit-backface-visibility: hidden;
}
#contactsec{
	background: rgba(214,44,44,0.8);
	padding: 3%;
}
#contactsec .link01 a{
	width: auto;
	padding:10px 30px;
	font-size:150%;
	border-width: 5px;
}

/*-------------------common-----------------*/
.container1{
	clear:both;
    margin-left: auto;
    margin-right: auto;
    max-width: 1300px;
}
.container2{
	clear:both;
    margin-left: auto;
    margin-right: auto;
    max-width:1100px;
}
.container3{
	clear:both;
    margin-left: auto;
    margin-right: auto;
    max-width:800px;
}
.container4{
    margin-left: auto;
    margin-right: auto;
    max-width:360px;
}
/* タイトル装飾 */
.hstyle01{
	text-align: center;
}
.hstyle01 div{
	position: relative;
	display: inline-block;
	font-size:145%;
	font-weight: bold;
	padding: 7px 10px 0;
}
.hstyle01 div::before{
	content: " ";
	width: 23px;
	height: 31px;
	background: url("images/common/hstyle01_b.png") no-repeat;
	background-size:100%;
	position: absolute;
	left: -23px;
	bottom:0;
}
.hstyle01 div::after{
	content: " ";
	width: 23px;
	height: 31px;
	background: url("images/common/hstyle01_a.png") no-repeat;
	background-size:100%;
	position: absolute;
	right: -23px;
	bottom:0;
}
.hstyle02{
	text-align: center;
}
.hstyle02 div{
    position: relative;
    z-index: 1;
	display: inline-block;
    margin: 0 auto;
	padding: 7px 20px;
	color: #fff;
	font-size:115%;
}
.hstyle02 div::before{
    transform: skewX(-20deg);
    content: " "; 
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
    z-index: -1;
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#c94544+0,b12624+100 */
background: #c94544; /* Old browsers */
background: -moz-linear-gradient(left,  #c94544 0%, #b12624 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #c94544 0%,#b12624 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #c94544 0%,#b12624 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c94544', endColorstr='#b12624',GradientType=1 ); /* IE6-9 */

}
.hstyle03{
	text-align: center;
}
.hstyle03 div{
    position: relative;
    z-index: 1;
	display: inline-block;
    margin: 0 auto;
	padding: 7px 20px;
	color: #333;
	font-size:115%;
	font-weight: bold;
}
.hstyle03 div::before{
    transform: skewX(-20deg);
    content: " "; 
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
    z-index: -1;
	background: #fff;
}
.hstyle04{
	background: #ca2e2c;
	color: #fff;
	font-size:200%;
	text-align: center;
	padding: 15px;
	font-weight: bold;
	position: relative;
}
.hstyle04::after{
	content: url("images/common/list02.png");
	position: absolute;
	bottom:-35px;
	left: 50%;
	margin-left: -18px;
}
.hstyle05{
	text-align: center;
	font-size:500%;
	font-weight: bold;
}
/* 枠装飾 */
.link01 a{
	display: inline-block;
	padding:10px 50px 10px 40px;
	background: #fff url("images/common/list01.png") no-repeat 90% center;
	color: #ca2e2c;
	font-weight: bold;
	border-radius: 30px;
	border:solid 1px #ca2e2c;
	box-shadow: 3px 3px 0 #b12624;
	text-align:center;
	font-size:110%;
	text-decoration: none;
	transition: 0.5s;
}
.link01 a:hover{
	background: #fff url("images/common/list01.png") no-repeat 95% center;
}

.boxstyle01{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.boxstyle01.rev{
	flex-direction: row-reverse;
}
.boxstyle01.center{
	align-items: center;
}
.wid01{
	width:48%;
}
.wid02{
	width:50%;
}
.ulstyle01{
	display: flex;
	flex-wrap: wrap;
	/*justify-content: space-between;*/
}
.ulstyle01 li{
	width: 23%;
	margin: 1%;
}
.ulstyle01 li figure{
	text-align: center;
	margin-bottom: 20px;
}
.ulstyle01 li figure img{
	box-shadow: 1px 1px 8px #aaa;
	border-radius: 10px;
}
.ulstyle01 li .ttl{
	font-size:120%;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}

.ulstyle02{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.ulstyle02 li{
	width: 48%;
	margin: 1%;
}
.ulstyle02 li figure{
	text-align: center;
	margin-bottom: 20px;
}
.ulstyle02 li figure img{
	box-shadow: 1px 1px 8px #aaa;
	border-radius: 10px;
}
.ulstyle02 li .ttl{
	font-size:110%;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}

.ulstyle03{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.ulstyle03 li{
	width: 48%;
	margin: 1%;
}
/*****************************
cate-pager
*****************************/
.pager {
	margin-bottom: 20px;
}
.pager .pagination {
  text-align: center;
}

.pager .pagination li {
  display: inline;
  margin: 0 2px;
  padding: 0;
  display: inline-block;
  width: 50px;
  height: 50px;
  text-align: center;
  position: relative;
  border-radius: 50px;
}

.pager .pagination li.pre,
.pager .pagination li.next{
  background: #000000;
  color: #fff;
}

.pager .pagination li a{
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display:table;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}

.pager .pagination li.pre a,
.pager .pagination li.next a{
  color: #fff;
}

.pager .pagination li a span{
  display:table-cell;
  vertical-align:middle;
}

.pager .pagination li a:hover,
.pager .pagination li a.active{
  color: #000;
  background: #E8E8E8;
  border-radius: 10px;
  border-radius: 50px;
  animation: animScale 0.4s ease-out;
  transform-origin: 50% 50%;
  -webkit-animation: animScale 0.4s ease-out;
  -webkit-transform-origin: 50% 50%;
  -moz-animation: animScale 0.4s ease-out;
  -moz-transform-origin: 50% 50%;
}
@keyframes animScale {
  0% { transform: scale(0.8, 0.8); }
  40% { transform: scale(1.2, 1.2); }
  60% { transform: scale(1, 1); }
  80% { transform: scale(1.1, 1.1); }
  100% { transform: scale(1, 1); }
}
@-webkit-keyframes animScale {
  0% { -webkit-transform: scale(0.8, 0.8); }
  40% { -webkit-transform: scale(1.2, 1.2); }
  60% { -webkit-transform: scale(1, 1); }
  80% { -webkit-transform: scale(1.1, 1.1); }
  100% { -webkit-transform: scale(1, 1); }
}
@-moz-keyframes animScale {
  0% { -moz-transform: scale(0.8, 0.8); }
  40% { -moz-transform: scale(1.2, 1.2); }
  60% { -moz-transform: scale(1, 1); }
  80% { -moz-transform: scale(1.1, 1.1); }
  100% { -moz-transform: scale(1, 1); }
}


@media only screen and (max-width: 767px){
  .pager .pagination li{
    display: none;
  }

  .pager .pagination li.pre,
  .pager .pagination li.next{
    display: inline-block;
    width: 40%;
    height: 50px;
    text-align: center;
  }

  .pager .pagination li.pre a,
  .pager .pagination li.next a{
    width: 100%;
    text-align: center;
  }

  .pager .pagination li.pre span::after{
    content: "　BACK";
  }

  .pager .pagination li.next span::before{
    content: "NEXT　";
  }

}

/*タブ切り替え全体のスタイル*/

.tabs {
  padding-bottom: 5px;
  background-color: #fff;
  width: 100%;
  margin: 0 auto 20px;
}


/*タブのスタイル*/

.tab_item {
  width: calc(100%/5);
  height: 50px;
  border-bottom: 3px solid #FF0000;
  background-color: #d9d9d9;
  line-height: 16px;
  font-size: 16px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  padding-top: 10px;
}

.tab_item:hover {
  opacity: 0.75;
}


/*ラジオボタンを全て消す*/

input[name="tab_item"] {
  display: none;
}


/*タブ切り替えの中身のスタイル*/

.tab_content {
  display: none;
  padding: 10px 10px 0;
  clear: both;
  overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/

#all:checked~#all_content, #lunch:checked~#lunch_content, #setmeal:checked~#setmeal_content, #singleitem:checked~#singleitem_content, #drink:checked~#drink_content {
  display: block;
}


/*選択されているタブのスタイルを変える*/

.tabs input:checked+.tab_item {
  background-color: #FF0000;
  color: #fff;
}

.tabs-circle {
  width: 100%;
  font-size: 20px;
  line-height: 70px;
}

.tabs-circle img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 5px;
  margin: 5px 0 5px 5px;
}


.allergy {
  margin-bottom: 5px;
  margin-bottom: 40px;
    padding: 5px;
}
.allergy{
  display: flex;
  flex-wrap: wrap;
}

.allergy div {
  width: calc(100% / 3);
  text-align: center;
}

.allergy .list div img {
  width: 100%;
}



/*モーダル用*/
/*------------アレルギーモーダル-----------------*/


/*------------モーダル-----------------*/

.modal {
  display: none;
  height: 100%;
  position: fixed;
  top: 0px;
  width: 100%;
  z-index: 999;
}

.modal__bg {
  background: rgba(0, 0, 0, 0.7);
  height: 100%;
  position: absolute;
  width: 100%;
}

.js-modal-open{
  color:#ca2e2c;
}

.modal__content {
  left: 50%;
  padding: 20px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
/*  width: 100%;
  height: 100%;*/
  overflow: auto;
  background-color: #fff;
  border-radius: 10px;
  width: 98%;
}
.modal__content ul{
  max-width: 280px;
  margin: 0 auto;
}

.close {
  margin: 0 auto;
  margin-top: 20px;
}

.close a {
  width: 100px;
  margin: 10px auto;
  display: block;
  text-align: center;
  text-decoration: none;
  background: #eee;
  padding: 5px 10px;
  color: #1a1a1a;
  border-radius: 5px;
}


/*レコメンド*/
.recomend-shop-section {
    text-align: left;
}
[class*="--scrollx"] {
    display: flex;
    border-radius: 0;
    flex-wrap: nowrap;
    overflow-x: scroll;
    overflow-y: hidden;
    padding: 0 0 20px 20px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.shop-info-wrapper{
	padding:5px;
}
.shop-info-inner{
  margin-left:5px;
}
.recomend-cst-card .shop-img {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
    object-fit: cover;
    display: flex;
    justify-content: center;
    align-items: center;
}
li.recomend-cst-card {
    box-shadow: none;
}
.recomend-cst-card + .recomend-cst-card {
    margin-left: 10px;
}
.recomend-cst-card {
    width: 200px;
    min-width: 200px;
    border-radius: 5px;
    overflow: hidden;
    background-color:#F0F0F0;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    position: relative;
}

.about_link {
    padding: 14px;
    font-size: 14px;
    display: block;
    color: #A57E49;
    margin-bottom: 10px;
    border-radius: 4px;
    position: relative;
    background-color: #F7F7F7;
    font-weight: bold;
}

.about_link::after {
  font-family: "Font Awesome 5 Free";
  content: "\f04e";
    font-size: 10px;
    display: inline-block;
    padding-left: 10px;
    position: absolute;
    right: 12px;
    line-height: 18px;
}


/*クポン*/


/*ボタン周りの余白用*/

.btn-wrap {
  margin: 5px;
}

a.btn-coupon {
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 80%;
  height: 120px;
  margin: 0 auto;
  padding: 0;
  text-decoration:none;
}

a.btn-coupon .left {
  width: 90%;
  padding-top: 5px;
  padding-left:10px;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  -webkit-transform-origin: top left;
  transform-origin: top left;
  border: 2px solid #e94919;
  border-right: 0;
  background: #fff;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

a.btn-coupon .left span {
  font-size: 1rem;
}

a.btn-coupon .left span.txt1 {
  font-size: 1.5rem;
  color: #e94919;
}
a.btn-coupon .left span.txt2 {
  font-size: 12px;
  color: #333;
}

a.btn-coupon .left em {
  font-size: 1.6rem;
  font-style: normal;
  display: block;
  color: #e94919;
}

a.btn-coupon .right {
  position: relative;
  width: 20%;
  height: 100%;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  -webkit-transform-origin: top left;
  transform-origin: top left;
  color: #fff;
  border-left: 2px dotted #fff;
  background: #e94919;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

a.btn-coupon .right span {
  font-size: 1.5rem;
  line-height: 1;
  position: absolute;
  top: -0.8rem;
  left: calc(50% - 0.8rem);
  display: inline-block;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left;
}

a.btn-coupon:hover .left {
  -webkit-transform: rotateX(-20deg);
  transform: rotateX(-20deg);
}

a.btn-coupon:hover .right {
  -webkit-transform: rotateX(-20deg) rotateY(75deg);
  transform: rotateX(-20deg) rotateY(75deg);
}


/*-------------------top-----------------*/
#s01{
	background: url("images/common/bg01.png") no-repeat left top;
	background-size:100%;
	padding: 50px 0 150px;
}
#s02 {
    /* padding-bottom: 70px; */
    padding: 50px 0 50px;
    width: 100%;
    background-color: #e6e0d0;
    background-image: linear-gradient( #e3ddce 50%, transparent 50%);
    background-size: 4px 4px;
    text-align: center;
}
#s02 .container2{
	position: relative;
}
#s02 .container2 .ttl{
	position: absolute;
	top:-52px;
	left: 0;
}
#s02 .hstyle03 div{
	font-size:130%;
}
.slider-box {
  box-sizing: border-box;
  overflow: hidden;
  width: 100%; /* 画面又は親要素に対するサイズ - 変更可 */
  margin: 0 auto 0px; /* Box外の余白 - 変更可 */
  padding:1% 0; /* 上端からスライダーまでの距離 - 変更可・削除可 */
}


/* 4.スライダー本体とアニメーションの基本設定 ++++++++++++++ */
.loop-box{
  position: relative;
  width: 100%;
  overflow: hidden; 
}
.loop-box, .loop-box ul {
  height: 200px; /* スライダーの高さ - 変更注意 */
}
.loop-box ul {
  position: absolute; left: 0; top: 0;
  display: flex; 
  justify-content: space-between;
  list-style: none;
  max-width: 10000%; 
  min-width: 100%;
  width: calc(300px * 0.5 * 6); /* 画像の横幅×枚数 - 変更注意・変更可・変更注意 */
  animation: 60s linear infinite; /* アニメーション設定 - 変更可 */
}
.loop-box li {
  display: flex;
  align-items: center; 
  justify-content: center;
  color: #fff;
  width: calc(100% / 6); /* li の幅を均等にする - 削除可・変更注意 */
	padding:0;
}
.loop-box img {
  height: auto;
  width: 100%;
}

/* 5.アニメーション個別設定 ++++++++++ */
.loop-box ul.loop1 {
  animation-name: loop1;
}
.loop-box ul.loop2 {
  animation-name: loop2;
}
@keyframes loop1 {
  0% {transform: translateX(0); }
  49.99999% {transform: translateX(-100%); }
  50% {transform: translateX(100%); }
}
@keyframes loop2 {
  0% {transform: translateX(100%); }
  100%{transform: translateX(-100%); }
}

.topbg01{
	background: url("images/common/bg02.png") no-repeat right top;
}
#s03 ul{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
#s03 ul li{
	width: 31%;
	max-width: 300px;
	margin: 1%;
	text-align: center;
	position: relative;
}
#s03 ul li img{
	border-radius: 10px;
}
#s03 ul li .text{
	position: absolute;
	bottom:0;
	left: 0;
	width: 100%;
	height: 50%;
	background: rgba(0,0,0,0.4);
	color: #fff;
	padding: 5%;
	border-radius: 0 0 10px 10px;
}
#s04{
  background-color: #e6e0d0;
	margin-bottom: 60px;
}

.featurelist { 
  background: #FFF; 
  box-shadow: 0 0 10px #CCC; 
  padding: 20px 14px 10px; 
  overflow: hidden; 
  transition: all .3s; 
  text-align: left; 
  margin: 0 12px;
}

#s05{
	padding-bottom: 70px;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#c94544+0,b12624+100 */
background: #c94544; /* Old browsers */
background: -moz-linear-gradient(left,  #c94544 0%, #b12624 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #c94544 0%,#b12624 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #c94544 0%,#b12624 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c94544', endColorstr='#b12624',GradientType=1 ); /* IE6-9 */
	color:#fff;
}
#s05 .container2{
	position: relative;
}
#s05 .container2 .ttl{
	position: absolute;
	top:-52px;
	right: 0;
}
#s05 .hstyle03 div{
	font-size:130%;
}
#s06{
	padding: 120px 0;
	background: url("images/common/bg03.png") no-repeat left bottom;
}

#s07{
	margin-bottom: 50px;
}
#s07 section{
	height: 450px;
	position: relative;
}
#s07 section .wid01{
	padding: 4% 2%;
}
#s07 section:nth-of-type(odd) .wid01{
	margin-left: 52%;
}
#s07 section .wid01 h3{
	font-size:160%;
	font-weight: bold;
	margin-bottom: 40px;
	background: url("images/common/no01.png") no-repeat left top;
	padding-top:120px;
}
#s07-1 .s07img{
	position: absolute;
	left: 0;
	top:0;
	background:url("images/top/service1.jpg") no-repeat center center;
	background-size:cover;
	width: 50%;
	height: 100%;
	z-index: -1;
}
#s07-2 .s07img{
	position: absolute;
	right: 0;
	top:0;
	background:url("images/top/service2.jpg") no-repeat center center;
	background-size:cover;
	width: 50%;
	height: 100%;
}
#s07-3 .s07img{
	position: absolute;
	left: 0;
	top:0;
	background:url("images/top/service3.jpg") no-repeat center center;
	background-size:cover;
	width: 50%;
	height: 100%;
	z-index: -1;
}
#s07-4 .s07img{
	position: absolute;
	right: 0;
	top:0;
	background:url("images/top/service4.jpg") no-repeat center center;
	background-size:cover;
	width: 50%;
	height: 100%;
}
#s07 section#s07-2 .wid01 h3{
	background: url("images/common/no02.png") no-repeat right top;
}

#s07 section#s07-3 .wid01 h3{
	background: url("images/common/no03.png") no-repeat left top;
}

#s07 section#s07-4 .wid01 h3{
	background: url("images/common/no04.png") no-repeat right top;
}
.s08{

	background: rgba(255,255,255,0.1);
	margin: 10px;
}
.s08 ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.s08 ul li{
	width: 15%;
	text-align: center;
	background: #f7f4f4;
	border-radius: 10px;
	border: solid 2px #ca2e2c;
	padding: 20px;
	box-shadow:2px 2px 7px #aaa;
}
.s08 ul li figure{
	height:70px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.s08 ul li div{
	text-align: center;
	font-weight: bold;
	font-size:130%;
}
#s09{
	background: #f2efef;
}
#s09 .hstyle03 div{
	font-size:130%;
}
.flow{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flow li{
	width: 21%;
	position: relative;
}
.flow li .ttl{
	text-align: center;
	font-size:140%;
	font-weight: bold;
	margin-bottom: 40px;
}
.flow li:after{
	content: " ";
	position: absolute;
	right:-16%;
	top:40%;
	background: url("images/common/list03.png") no-repeat;
	width: 25px;
	height: 29px;
}
.flow li:last-of-type::after{
	content: none;
}
/*------------------下層ページ------------------*/
#subimage{
	padding: 10% !important;
}
#subimage .en{
	text-align: center;
	font-size:450%;
	font-weight: bold;
	color: #ca2e2c;
	margin-bottom: 10px;
}
#subimage .hstyle03{
	font-size:135%;
}
/*-------service---------*/
#service #subimage{
	background: url("images/service/service_bg.jpg") no-repeat center center;
	background-size:cover;
}
#service .hstyle01{
	padding: 50px;
}
.ser-b{
	padding: 60px 0;
}
.ser-b h3{
	font-size:160%;
	font-weight: bold;
	margin-bottom: 40px;
	padding-top:120px;
}
#service1 h3{
	background: url("images/common/no01.png") no-repeat left top;
}
#service2 h3{
	background: url("images/common/no02.png") no-repeat right top;
}
#service3 h3{
	background: url("images/common/no03.png") no-repeat left top;
}
#service4 h3{
	background: url("images/common/no04.png") no-repeat right top;
}
#service5 h3{
	background: url("images/common/no05.png") no-repeat left top;
}
#service6 h3{
	background: url("images/common/no06.png") no-repeat right top;
}
#service7 h3{
	background: url("images/common/no07.png") no-repeat left top;
}
#service8 h3{
	background: url("images/common/no08.png") no-repeat right top;
}
#service9 h3{
	background: url("images/common/no09.png") no-repeat left top;
}
#service10{
	background: url("images/common/bg04.png") no-repeat center bottom;
	background-size:100%;
}
.ser-b figure img{
	box-shadow: 1px 1px 10px #aaa;
	border-radius: 10px;
}
#service .hstyle02{
	font-size:115%;
}
#service11{
	padding: 60px 0;
	background: #c74240;
}
#service11 h3{
	font-size:115%;
	margin-bottom: 40px;
	padding-top:0;
}
.category-list{
background: url(images/common/bg01.png) no-repeat left top;
padding-top:20px;
}
.shopbox{
background: url(images/common/bg01.png) no-repeat left top;
padding-top:20px;
}
.singlebox{
background: url(images/common/bg01.png) no-repeat left top;
padding-top:20px;
}
#inbound #subimage{
	padding: 10% 10% 18% !important;
/*	margin-bottom:3%;*/
	position: relative;
	background: url("images/common/caregory_bg.jpg") no-repeat center center;
	background-size:cover;
}
#inbound #areaimage{
  padding: 10% 10% 18% !important;
/*  margin-bottom:3%;*/
  position: relative;
  background: url("images/common/area_bg.jpg") no-repeat center center;
  background-size:cover;
}
#inbound #subimage .box{
	position: absolute;
	left:50%;
	bottom:-10%;
	background:rgba(177,38,36,0.9);
	padding: 50px;
	color: #fff;
	width: 1100px;
	margin-left: -550px;
}
#inbound #subimage .box p:last-of-type{
	text-align: center;
	padding: 20px 0 0;
	font-size:120%;
	font-weight: bold;
}
#inbound .ser-b h3{
	background: none;
	padding-top: 0;
}
/*-----------about--------------*/
#about #subimage{
	background: url("images/about/about_bg.jpg") no-repeat center center;
	background-size:cover;	
}
#about1{
	background: url("images/common/bg05.png") no-repeat left top;
	margin-bottom: 50px;
}
#about1 table{
	max-width: 600px;
	margin: 0 auto;
	font-size:115%;
}
#about1 table,#about1 table th,#about1 table td{
	border: none;
	vertical-align: top;
}
#about1 table th,#about1 table td{
	padding: 20px;
}
#about1 table th{
	text-align: center;
	width:34%;
}
#about1 table tr{
	border-bottom: solid 2px #d62c2c;
}

#about1 table td{
	width:66%;
}
/*----------------contact--------------------*/
#contact #subimage{
	background: url("images/common/contact_bg.jpg") no-repeat center center;
	background-size:cover;	
}
#contact1{
	background: url("images/common/bg05.png") no-repeat left top;
	margin-bottom: 50px;
}
#contact1 ul{
	max-width: 600px;
	margin: 0 auto;
}
#contact1 li{
	margin-bottom: 40px;
}
#contact1 li dl{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	font-size:110%;
}
#contact1 li dl dt{
	width: 30%;
	padding-top:10px;
}
#contact1 li dl dd{
	width: 70%;
}
input[type=text],input[type=email],textarea{
	width:100%;
	font-size:90%;
	background: #f7f4f4;
	padding: 10px;
	border:solid 2px #d62c2c;
	border-radius: 5px;
}
textarea{
	height:300px;
}

select {
  /* 初期化 */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  color: #aaa;
  font-size:90%;
  padding:15px;
  width: 100%;
  position: relative;
  background: #fff url("images/list04.png") no-repeat right 10px center / 16px auto;
	border:solid 5px #d62c2c;
}
/* チェックボックス01 */
input[type=checkbox] {
    display: none;
}
.checkbox01 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding:5px 0 0 50px;
    position: relative;
    width: auto;
}
.checkbox01::before {
    background: #fff;
    border: 4px solid #d62c2c;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
}
.checkbox01::after {
    border-right: 3px solid #d62c2c;
    border-bottom: 3px solid #d62c2c;
    content: '';
    display: block;
    height: 13px;
    left: 13px;
    margin-top: -6px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 5px;
}
input[type=checkbox]:checked + .checkbox01::after {
    opacity: 1;
}

/*IE用*/
select::-ms-expand {
    display: block;
}
input::placeholder,textarea::placeholder {
  color: #aaa;
}

.btn01{
	display: inline-block;
	padding:10px 50px;
	background: #ca2e2c;
	border: solid 2px #ca2e2c;
	color: #fff;
	font-weight: bold;
	border-radius: 30px;
	box-shadow: 3px 3px 0 #b12624;
	text-align:center;
	font-size:110%;
	text-decoration: none;
	transition: 0.5s;
}
.btn01:hover{
	background: #fff;
	color:#ca2e2c;
}
.contactbtn{
	display: flex;
	justify-content: center;
}
.contactbtn div{
	padding: 10px;
}

.common-inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}
#main-l-container {
    width: 68.3334%;
    padding: 0 2.5%;
    text-align: left;
}
#side-content {
    width: 28.3333%;
    padding: 0 1.5%;
    overflow: hidden;
}
.rows {
    display: flex;
    flex-flow: row wrap;
}
.side-common-ttl {
    position: relative;
    display: inline-block;
    padding: 0 18px 0 34px;
    font-size: 1.45rem;
    font-weight: 500;
    margin: 0 0 12px;
}
.side-common-ttl:before {
    content: '';
    position: absolute;
    top: 47%;
    left: 0;
    display: inline-block;
    width: 24px;
    height: 4px;
    background-color: #ca2e2c;
}


.block-one {
  background-color: #fff;
  border-radius: 5px;
  border: 1px solid #F2F2F2;
  margin-bottom: 10px;
}

.block-one h3 {
  font-weight: bold;

}

.block-one span.star {
  font-weight: bold;
  color:#ca2e2c;
}

.feature-block {
  border-radius: 5px;
}

.zoom-act {
  border-radius: 5px 5px 0 0;
  max-width: 100%;
}

.interface-block {
  /*	border-radius:5px;*/
  border: 1px solid #F2F2F2;
  margin-bottom: 10px;
  background-color: #F7F7F7;
}

.interface-block {
  display: flex;
}

.interface-shop {
  margin: 10px;
}
.interface-shop h3{
  margin-bottom: 10px;
}
.interface-shop h3{
  margin-bottom: 10px;
  font-weight: bold;
}
.interface-shop .shoptime {
  margin-top: 5px;
  font-size: 95% !important;
}

.shop-detail-box {
  margin-right: 1%;
  margin-left: 1%;
  width: 73%;
}

.detail-block {
  border-radius: 5px;
  border: 1px solid #F2F2F2;
  margin-bottom: 10px;
  background-color: #F7F7F7;
  padding: 5px;
}


.detailblock {
  border-radius: 5px;
  margin-top: 5px;
  margin-bottom: 12px;
  background-color: #F7F7F7;
  padding: 5px;
  text-align:right;
}
.icon-circle {
  width:25%;
}
.icon-circle img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 5px;
    margin: 5px 0 5px 5px;
}

.t-main-sub-02 li{
  color: black;
  border-left: solid 8px #ca2e2c;
  background: whitesmoke;
  margin-bottom: 5px;
  line-height: 1.5;
  border-radius: 0 15px 15px 0;
  padding: 0.5em;
  list-style-type: none!important;
}
.t-main-sub-02 li a{
	display:block;
}

.f-sb-cnt {
    justify-content: space-between;
    align-items: center;
    margin-left: 10px;
}
.h2_redline {
    position: relative;
    font-size: 1.5rem;
    padding: 0.25em 0 12px;
    font-weight: 700;
    width: 100%;
    display: inline-block;
}
.h2_redline:after {
    content: "";
    position: absolute;
    display: inline-block;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(to right, #e71784, #fdc300);
}

.h3_line{
    position: relative;
    display: inline-block;
    font-size: 1.25rem;
    font-weight: 500;
    padding: 0 0 0 24px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.h3_line::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 14px;
    height: 3px;
    background-color: #ca2e2c;
}
.spot-list-ttl {
    position: relative;
    display: inline-block;
    font-size: 1.7rem;
    font-weight: 500;
    padding: 0 0 0 24px;
}
.spot-list-ttl::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 14px;
    height: 3px;
    background-color: #ca2e2c;
}
.c-num-txt {
    font-size: 1.4rem;
    font-weight: 500;
}
.c-num-subtxt {
    font-size: 1.2rem;
    font-weight: 400;
}

.single-container {
    width: 100%;
    padding: 10px 3.9473684%;
    overflow: hidden;
    text-align: left;
}
/*.single-container h2,.single-container h3{
    margin-bottom: 1em;
}*/
.single-container p{
    margin-bottom: 1.64em;
}

.exetext {
/*    font-size: 1.25rem;*/
    line-height: 1.25rem;
    margin: 15px 0 36px;
    background: #f3f3f3;
    border-radius: 4px;
    padding: 17px 18px 10px;
    width: 100%;
    display: inline-block;
}

.privacy ol.privacy-list{
/*  list-style: disc;*/
    margin: 0 0 1.2em 1em;
}
.privacy li {
  list-style: disc;
    margin: inherit;
    padding: inherit;
}
.simplebar-content {
    padding-top: 20px;
    padding-bottom: 10px;
}
#recipe_child_category_list {
    display: flex;
    flex-wrap: wrap;
    margin-left: 5px;
}
#recipe_child_category_list li {
    width: calc(100% / 3 - 10px);
    margin: 0 10px 10px 0;
}
#recipe_child_category_list a {
    display: block;
    height: 60px;
    line-height: 60px;
    text-align: center;
    background: #fff;
    border: 1px solid #ddd;
}
/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
↑pcサイズ
----------------------------------
↓タブレットサイズ
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/
@media screen and (max-width: 1299px){
	.container1,.container2,.container3{
		padding-left: 3%;
		padding-right: 3%;
	}
#global-nav ul li {
	font-size:100%;
	}
#global-nav ul li:last-child{
	margin-left: 0;
}
#global-nav ul li:last-child a{
	font-size:110%;
	}
}


@media screen and (min-width: 768px) and (max-width: 1199px) {
	footer .container1{
		padding: 5%;
	}
	footer .wid01{
		margin-bottom: 20px;
	}
	.tb-dnon{
		display:none;
	}
	.pc-dnon2{
		display:block;
	}
	.ulstyle01{
		max-width: 800px;
		margin: 0 auto;
	}
	.ulstyle01 li{
		width: 48%;
	}
	.ulstyle02{
		max-width: 800px;
		margin: 0 auto;
	}
	.ulstyle02 li{
		width: 48%;
	}
	.ulstyle03{
		max-width: 800px;
		margin: 0 auto;
	}
	.ulstyle03 li{
		width: 48%;
	}
	.flow {
		justify-content: flex-start;
	}
	.flow li{
		width: 45%;
		margin-right: 5%;
		margin-bottom: 5%;
	}
	.flow li:after{
		top:7%;
		right:-8%;
	}
.flow li:nth-of-type(3)::before {
    content: " ";
    position: absolute;
    left:-10px;
    top: 7%;
    background: url(images/common/list03.png) no-repeat;
    width: 25px;
    height: 29px;
}
.loop-box ul {
  width: calc(300px * 0.5 * 10); /* 画像の横幅×枚数 - 変更注意・変更可・変更注意 */
}
	#s07 section{
		height: auto;
	}
	#s07 section .wid01 h3{
		padding-top: 15%;
		background-size:30% !important;
	}
	.s08 ul{
		max-width: 600px;
		margin: 0 auto;
	}
	.s08 ul li{
		width: 30%;
		margin-bottom: 20px;
	}
	#inbound #subimage .box{
		width: 90%;
		left: 5%;
		bottom: -15%;
		margin-left: 0;
		padding: 5%;
	}
}

/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
↑タブレットサイズ
----------------------------------
↓spサイズ
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/

@media screen and (max-width: 767px) {
	
/*----------共通------------*/	
body{
	font-size:14px;

}
.sp-dnon {
    display: none;
}
.pc-dnon,.pc-dnon2{
    display:  block;
}
.db-sp{
	display:block;
}
.sp-blk{
		display: block;
		margin: 0 auto !important;
}
.simplebar-content {
    overflow: scroll hidden;
    padding-right: 0px;
    padding-top: 20px;
    padding-bottom: 10px;
}
#recipe_child_category_list {
    display: flex;
    flex-wrap: wrap;
}
#recipe_child_category_list li {
    font-size: 12px;
}
#recipe_child_category_list a {
    height: 45px;
    line-height: 45px;
}
/*margin padding変更*/
.m10b-s { margin-bottom: 5px !important; }
.m20b-s { margin-bottom: 10px !important; }
.m30b-s { margin-bottom: 15px !important; }
.m40b-s { margin-bottom: 20px !important; }
.m50b-s { margin-bottom: 25px !important; }
.m60b-s { margin-bottom: 30px !important; }
.m70b-s { margin-bottom: 35px !important; }
.m80b-s { margin-bottom: 35px !important; }
.p01-s { padding-top:7%;padding-bottom: 7%; }
.p02-s { padding-left:3%;padding-right:3%; }
	
.f-left-pc, .f-right-pc,#m-right,#m-left{
    float: none;
}
.wid01,.wid02{
		width: 100%;
	}

	.cen-pc{text-align: left !important;}
  #global-nav ul {
    display: block;
    margin-right: 0px;
  }
    #global-nav ul li {
    border-right: none;
  }
    #head_wrap {
    top: 0;
    position: fixed;
    margin-top: 0;
    width: 100%;
    padding: 0;
    /* Fixed reset */
  }
  #head_wrap .inner {
    width: 100%;
    padding: 0;
  }
  #head_wrap .fixed {
    padding-top: 0;
    background: transparent;
  }
  #mobile-head {
    background: rgba(255, 255, 255,1);
    width: 100%;
    height: 56px;
    z-index: 999;
    position: relative;
  }
  #head_wrap.fixed .logo,
  #head_wrap .logo {
    position: absolute;
    left: 13px;
    top: 13px;
    color: #333;
    font-size: 26px;
	 padding: 0;
  }
	#head_wrap .logo img{
	image-rendering: -webkit-optimize-contrast;
	-webkit-backface-visibility: hidden;
	margin-top: -8px;
	}
  #global-nav {
    position: absolute;
    /* 開いてないときは画面外に配置 */
    top: -500px;
    background: rgba(255, 255, 255, 0.9);
    width: 100%;
    text-align: center;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
  }
  #global-nav ul {
    list-style: none;
    position: static;
    right: 0;
    bottom: 0;
    font-size: 14px;
    margin-top: 10px;
  }
  #global-nav ul li {
    float: none;
    position: static;
  }
  #head_wrap #global-nav ul li a,
  #head_wrap.fixed #global-nav ul li a {
    width: 100%;
    display: block;
    padding:10px;
  }
#head_wrap #global-nav ul li:last-child a {
		height: inherit;
		padding: 20px;
	}
  #nav-toggle {
    display: block;
  }
  /* #nav-toggle 切り替えアニメーション */
  #nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #666;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
  }
  #nav-toggle span:nth-child(1) {
    top: 0;
  }
  #nav-toggle span:nth-child(2) {
    top: 11px;
  }
  #nav-toggle span:nth-child(3) {
    top: 22px;
  }
  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }
  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }
  /* #global-nav スライドアニメーション */
  .open #global-nav {
    /* #global-nav top + #mobile-head height */
    -moz-transform: translateY(556px);
    -webkit-transform: translateY(556px);
    transform: translateY(556px);
  }
/*----------footer------------*/
	footer .container1{
		padding: 5%;
	}
	footer ul.footlist{
		margin-top: 20px;
		flex-wrap: wrap;
	}
	footer ul.footlist li{
/*		width: 50%;*/
		margin: 0;
		padding: 0;
		background: none;
	}
	footer ul.footlist li a{
		display: block;
		padding: 5px;
		border:solid 1px #454544;
	}
	.f-stm-li{
		line-height: 1.5rem;
	}
	.footerlogo {
    max-width: 180px;
    text-align: center !important;
    margin: 0 auto;
}
#common-container { padding: 0; margin: 54px 0 0;}
.common-inner { max-width: 100%; width: 100%; margin: 0 auto; }
#main-l-container { width: 100%; padding: 0;}
.news-slider.slick-initialized { display: block;}
	
/*--- SIEDE CONTENT---*/
#side-content { width: 100%; padding: 0; overflow: hidden;}
.s-feature-card { margin: 0 0 16px;}
.d-f-bt a { margin: 20px auto 0 ;}	
/*----------全体------------*/
	#main{
		margin-top: 56px;
	}
	.hstyle01 div{
		font-size:130%;
		padding: 5px;
	}
	.hstyle01 div::before,.hstyle01 div::after{
		width: 17px;
		background-size:100%;
	}
	.hstyle02 div,.hstyle03 div{
/*		font-size:110%;*/
	}
	.hstyle02,.hstyle03{
		width: 95%;
		margin: 0 auto;
	}
	.hstyle04{
		font-size:125%;
		padding: 10px 0;
	}
	.hstyle04::after{
		bottom:-25px;
		z-index: 2;
	}
	.hstyle05{
		font-size:300%;
	}
	.ulstyle01 li{
		width: 46%;
		margin-bottom: 5px;
	}
	.ulstyle01 li figure{
		margin-bottom: 10px;
	}
	.ulstyle01 li .ttl{
		margin-bottom: 4px;
	}
	.ulstyle01 li figure img{
		box-shadow:  1px 1px 4px #aaa;
	}
	.ulstyle01 li .ttl{
		font-size:4vw;
	}
	.ulstyle02 li{
		width: 46%;
		margin-bottom: 5px;
	}
	.ulstyle02 li figure{
		margin-bottom: 10px;
	}
	.ulstyle02 li .ttl{
		margin-bottom: 4px;
	}
	.ulstyle02 li figure img{
		box-shadow:  1px 1px 4px #aaa;
	}
	.ulstyle02 li .ttl{
		font-size:4vw;
	}
	.ulstyle03 li{
		width: 100%;
		margin-bottom: 5px;
	}
	.icon-circle {
    width: 35%;
    font-size: 20px;
    line-height: 70px;
}
	.icon-circle2 {
/*    width: 50%;*/
    font-size: 20px;
    line-height: 70px;
}
.icon-circle img {
    width: 110px;
    height: 110px;
    object-fit: cover;
    border-radius: 5px;
    margin: 5px 0 5px 5px;
}
.shop-detail-box {
    margin-right: 1%;
    margin-left: 1%;
    width: 63%;
}
/*----------------top------------------*/
	#s01{
		padding: 5% 0 12%;
		background-size:200%;
	}
	#s01 .hstyle02{
		margin-bottom: 20px !important;
	}
	#s01 .hstyle02 div{
		text-align: center;
	}
	#s02{
		padding-top:10px;
		padding-bottom: 10%;
	}
	#s02 .container2 .ttl{
		top:-31px;
	}
	#s02 .container2 .ttl img{
		width: 280px;
	}
	.slider-box{
		margin-bottom: 20px;
	}
	.loop-box, .loop-box ul{
		height: 120px;
	}
	#s02 .hstyle03 div,#s05 .hstyle03 div{
		font-size:115%;
	}
	#s02 .boxstyle01 figure,#s05 .boxstyle01 figure{
		margin-bottom: 15px;
	}
	#s02 .boxstyle01 h4,#s05 .boxstyle01 h4{
		margin-bottom: 10px !important;
		font-size:130% !important;
	}
	#s02 h3.hstyle03 + p.txt14,#s05 h3.hstyle03 + p.txt14{
		margin-bottom: 20px !important;
	}
	#s02 .link01,#s05 .link01{
		text-align: center;
	}
	.topbg01{
		background-size:100%;
	}
	#s03 ul li{
		width: 98%;
		margin: 0;
		margin-bottom: 25px;
	}
	#s03 ul li:last-of-type{
		margin-bottom: 0;
	}
	#s04{
		padding-top: 10px;
		margin-bottom: 30px;
	}
	#s04 .container1 .container2{
		padding: 0;
	}
	#s05{
		padding-top:10px;
		padding-bottom: 10%;
	}
	#s05 .container2 .ttl{
		top:-31px;
	}
	#s05 .container2 .ttl img{
		width: 280px;
	}
	#s06{
		padding: 6% 0 12%;
		background-size:100%;
	}
	#s06 .container2 .txt17{
		font-size:115% !important;
	}
	#s07{
		margin-bottom: 0;
	}
	#s07 .hstyle04{
		font-size:4.8vw;
	}
	#s07-1 .s07img,#s07-2 .s07img,#s07-3 .s07img,#s07-4 .s07img{
		width: 100%;
		height: 200px;
		position: static;
	}
	#s07 section{
		height: auto;
		margin-bottom: 20px;
	}
	#s07 section:nth-of-type(odd) .wid01{
		margin-left: 0;
	}
	#s07 section .wid01 h3{
		font-size:130% !important;
		background-size:60px !important;
		padding:10px 0 !important;
		margin-bottom: 0;
	}
	#s07 section#s07-1 .wid01 h3,#s07 section#s07-3 .wid01 h3{
		text-align: right;
	}
	#s07 section .wid01{
		padding: 4% 0 2%;
	}
	.s08 ul{
		margin-bottom: 10px !important;
	}
	.s08 ul li{
		width: 30%;
		margin-bottom: 20px;
		padding: 10px;
	}
	.s08 ul li div{
		font-size:4vw;
	}
	.s08 ul li figure{
		height: 60px;
		padding: 10px 5px;
	}
	.s08 ul li figure img{
		max-height: 50px;
	}
	#s09{
		padding-bottom: 5%;
	}
	.flow li{
		width: 100%;
		margin-bottom: 50px;
	}
	.flow li:last-of-type{
		margin-bottom: 0;
	}
	.flow li .ttl{
		font-size:115%;
		text-align: left;
		margin-bottom: 3%;
	}
	.flow li:after{
		right: inherit;
		left: 4%;
		top: inherit;
		bottom:-40px;
		transform: rotate(90deg);
	}

	/*---------------下層ページ-------------------*/
	#subimage .en{
		font-size:250%;
	}
	#subimage .hstyle03{
		font-size:110%;
	}
	#service .hstyle01{
		padding: 5%;
	}
	.ser-b{
		padding: 8% 0;
	}
	.ser-b figure img{
		box-shadow: 1px 1px 4px #aaa;
	}
	#inbound section figure{
		margin-bottom: 10px;
	}
	.ser-b h3{
		font-size:130% !important;
		background-size:60px !important;
		padding:10px 0 !important;
		margin-bottom: 0;
	}
	#service .ser-b:nth-of-type(even) h3{
		text-align: right;
	}
	#service11{
		padding: 8% 0;		
	}
	#service11 h3{
		font-size:110% !important;
		margin-bottom: 20px;
	}
	#inbound #subimage{
		padding:10% 5% 0 !important;
		margin-bottom: 0;
	}
	#inbound #subimage .box{
		position: static;
		width: 100%;
		margin-top: 5%;
		margin-left: 0;
		padding: 5%;
	}
	#inbound #subimage .box p:last-of-type{
		padding-top: 10px;
	}
	#contact1 li dl{
	font-size:110%;
}
	#contact1 li {
		margin-bottom: 10px;
	}
#contact1 li dl dt,#contact1 li dl dd{
	width: 100%;
	padding-top: 0;
	margin-bottom: 10px;
}
a.btn-coupon {
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  height: 120px;
  margin: 0 auto;
  padding: 0;
  text-decoration:none;
}


}

/*change bt*/
.t-al-bt { width: 28%; font-size: 1.2rem; font-weight: 500; margin: 30px auto 0; text-align: center;}
.t-al-bt a { outline: none; display: block; width: 100%; border: solid 1px #e71784; background: #FFF url("images/common/arrow_p_r.png") right 10px center / 14px 14px no-repeat; margin: 0 auto 30px ; border-radius: 50px; color: #e71784; padding: 10px; }
.t-al-bt a:hover {outline: none; background: #e71784 url("images/common/arrow_w_r.png") right 5px center / 14px 14px no-repeat; color: #FFF; opacity: 1;}



/* 本文をメニューの高さ分下げる */
#main {
  margin-top: 60px;
}

#navi {
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  height: 60px;
  width: 100%;
}
/* チェックボックスを非表示 */
#navi input {
  display: none;
}
/* 左上ロゴ */
.menu-left {
  float: left;
  line-height: 60px;
}
.menu-left img {
  vertical-align: middle;
  margin-left: 10px;
}
/* 上部メニュー */
#menu {
  float: right;
  margin-right: 10px;
}
#menu li {
  position: relative;
  white-space: nowrap;
  padding:0 5px;
}
#menu li a {
  display: block;
}
#menu > li {
  float: left;
  margin: 0 20px;
  line-height: 60px;
  font-size: 17px;
  font-weight: bold;
}
/* パソコンでは V を非表示 */
#menu > li .pd {
  display: none;
}

#menu-navibtn {
  display: none;
  cursor: pointer;
  cursor: hand;
}

/* スマホ用 */
@media screen and (max-width: 620px) {
  /* 基本非表示 */
  #menu {
    display: none;
  }
  #menu li {
    height: auto;
    width: 100%;
    padding: 0px 20px;
    border-bottom: 1px solid #DDD;
    white-space: nowrap;
  }
  #menu > li {
    margin-right: -20px;
  }
  /* V を表示 */
  #menu > li .pd {
    display: inline-block;
    width: 100%;
  }
  #menu li a {
    display: inline-block;
  }
  #menu li:first-child {
    border-top: 1px solid #DDD;
  }
  #menu li i {
    padding: 0px 6px;
  }
  /* メニューを移動させないため */
  #menu-navibtn:checked ~ #navi {
    position: fixed;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
  }
}

/* ドロップダウンメニュー */
#menu li ul {
  position: absolute;
}
/* 子メニュー */
#menu > li > ul li {
  font-size: 14px;
  display: none;
  padding: 0px 20px;
  background-color: #FFF;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  border-bottom: 1px solid #DDD;
}
#menu li ul li:first-child {
  border-top: 1px solid #000;
}
#menu li ul li:last-child {
  border-bottom: 1px solid #000;
}
#menu li ul li ul {
  top: -1px;
  left: 100%;
}
#menu li ul li ul li ul,
#menu li:nth-child(n+3) ul li ul {
  left: inherit;
  right: 100%;
}
#menu > li > ul {
  margin-left: 0px;
  width: auto;
}

/* パソコン用 */
@media screen and (min-width: 620px) {
  #menu li:hover {
    background: #EEE;
  }
  #menu > li:hover > ul > li,
  #menu li ul li:hover > ul > li {
    display: block;
  }
  /* 階層がある場合の誘導の印 */
  #menu li ul li ul:before,
  #menu li ul li ul li ul:before,
  #menu li:nth-child(n+3) ul li ul:before {
    position: absolute;
    top: 28px;
    content: "";
    border: 5px solid transparent;
    display: block;
  }
  /* 通常タイプ */
  #menu li ul li ul:before {
    left: -10px;
    border-left-color: #666;
  }
  /* 右側タイプ */
  #menu li ul li ul li ul:before,
  #menu li:nth-child(n+3) ul li ul:before {
    right: -10px;
    border-right-color: #666;
  }
}
/* スマホ用 */
@media screen and (max-width: 620px) {
  /* ハンバーガーメニューがクリックされた時 */
  #menu-navibtn:checked ~ * #menu {
    display: block;
  }
  #menu-navibtn:checked ~ * #menu > li {
    max-height: inherit;
    overflow-y: visible;
  }
  #menu > li ul {
    line-height: 50px;
  }
  #menu > li > label:hover {
    cursor: pointer;
    cursor: hand;
  }
  #menu li ul {
    position: static;
  }
  /* 子メニュー */
  #menu > li > ul {
    margin-left: initial;
    position: relative;
  }
  #menu li ul li:first-child {
    border-top: 1px solid #DDD;
  }
  #menu ul li:last-child {
    border-bottom: none;
  }
  #menu > li > ul li {
    border-left: 1px solid #FFF;
    border-right: 1px solid #FFF;
  }
  #menu li ul li ul {
    top: inherit;
    left: 0;
  }
  #menu li ul li:last-child {
    border-bottom: none;
  }
  /* 子メニューがクリックされた時 */
  #menu input[type="checkbox"]:checked ~ label ~ ul > li {
    max-height: inherit;
    overflow-y: visible;
    display: block;
  }
  .angletoggle:before {
    content: "\f107";
  }
  #navi input[type="checkbox"]:checked ~ label .pd .angletoggle:before {
    content: "\f106";
  }
}

/* ハンバーガー */
#navi #navibtn {
  display: none;
}
@media screen and (max-width: 620px) {
  #navi #navibtn {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
  }
  #navibtn span {
    display: block;
    width: 40px;
    height: 40px;
    background-color: #333;
  }
  #navibtn span span {
    display: block;
    overflow: hidden;
    width: 1px;
    height: 1px;
  }
  #navibtn span span::before,
  #navibtn span span::after,
  #navibtn span::after {
    position: absolute;
    left:10px;
    content:"";
    width: 20px;
    height: 3px;
    background-color: #FFF;
  }
  /* 上の棒 */
  #navibtn span span::before {
    top:10px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::before {
    top:19px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }
  /* 下の棒 */
  #navibtn span::after {
    bottom:10px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn > span::after {
    bottom:18px;
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
  }
  /* 中の棒 */
  #navibtn span span::after {
    top:18px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::after {
    display: none;
  }
}

#sfeed{
  background-color: #FFF;
  margin-bottom: 10px;
}

.swiper-slide {
    text-align: center;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0px 3px 3px 0px rgba(0,0,0,0.15);
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /*max-height: 330px;*/
    margin:5px;
}

.slide-thumb {
    width: 100%;
    height: 230px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 10px;
    background-color: #f0f0f0; /* 背景色 */
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 14px;
    font-weight: bold;
}

.slide-thumb.no-image {
    background-color: #e0e0e0;
    color: #777;
    font-style: italic;
}

.slide-title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    text-decoration: none;
    margin-top: auto;
}

.slide-title:hover {
    color: #007bff;
}

.slide-date {
    font-size: 12px;
    color: gray;
    margin-bottom: 5px;
}