html{
	position:relative;
}
body{
	font-size: 1em;
	font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
	padding:0 0px 0 0;
	background-color: #f5f5f5;
	letter-spacing: calc(40 / 1000 * 1em);
	line-height:1.6em;
}
body#tinymce{
	max-width:1000px;
	border:none;
	text-align:left;
	color:#333;
	font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 1em;
	padding: 2.5em 1.5em;
}
p {
	margin: 0 0 1em 0;
}
p.caution{
	margin:0 0 .2em 0;
	padding:0;
	color:#cc363f;
	font-weight:500;
	font-size:.9em;
}
img{
	max-width:100%;
}
a img{
	border:none;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 1.0s;	/* 秒数 = 1.0秒 */
	max-width: 100%;
}
a {
	color: #2CA5AC;
	text-decoration:none;
	/* margin: 5em; */
}
li {
	list-style:none;
}
ul {
	padding: 0;
	margin: 0;
}

a.pdf{
	display:block;
	margin: 0px 0px 10px 0px;
	padding:0 0 0 60px;
	width:100%;
	line-height: 4em;
	text-decoration:none;
	color:#333;
	border:3px solid #f34235;
	color:#f34235;
	transition: 0.3s;
	box-sizing:border-box;
	position:relative;
}
a.pdf:hover{ 
	border:3px solid #f34235;
	color:#ffffff;
	background-color: #f34235;
	padding:0 0 0 80px;
}
a.pdf:before {
  font-family: 'Material Symbols Outlined';
  content: '\f090';
	position:absolute;
	display:inline-block;
	font-size:20px;
	color:#f34235;
	transition: 0.3s;
	left:1em;
}
a.pdf:hover:before {
	color:#fff;
}
/* ▼▼▼▼▼レイアウト▼▼▼▼▼ */
.layout{
	margin: 0 auto;
	padding: 0;
	max-width: 1200px;
	position: relative;
}
#page_title .layout{
	text-align:left;
	margin-bottom:2em;
}
/* ▼▼▼▼▼▼見出し▼▼▼▼▼▼ */
h1 {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.5em;
	/* letter-spacing: -0.02em; */
	margin-top: 10px;
	margin-bottom: 10px;
}
h2 {
	position:relative;
	font-size: 25px;
	font-weight: bold;
	line-height: 1.35em;
	letter-spacing: 0em;
	margin-top: 15px;
	margin-bottom: 15px;
	padding: 10px 0px 12px 0px;
	color: #333;
	border-bottom: none;
	display: block;
	text-align:center;
}
h3 {
	padding: 0px 10px 3px 0px;
	color: #333;
	font-weight: bold;
	font-size: 1.2em;
	margin: .5em 0 1em 0;
	border-radius: 0;
	position: relative;
	text-align: left;
}
h3 span{
	font-family: 'Roboto', sans-serif;
	display:block;
	font-size:.8em;
	letter-spacing:.2em;
	color: #2CA5AC;
	margin-top:.5em;
	margin-left:.2em;
}
h4 {
	padding: 3px 0px 0px 0px;
	color: #333;
	font-size: 1em;
	margin: 5px 0 10px 0;
}
h5{
	padding:0px 10px 0px 10px;
	color:#333;
	font-weight:normal;
	font-size:18px;
	margin: 12px 0 20px 0;
	border-left:3px solid #ED7B01;
}
/* ▼▼▼▼▼ヘッダー▼▼▼▼▼▼ */
header{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	z-index: 10000;
	width: 100%;
	background-color: rgb(255 255 255 / 85%);
	border-bottom:1px solid #fff;
	height: 60px;
	border-bottom: 1px solid #ccc;
}
#home header{
	border-bottom:none;
}
header.home{
	position: absolute;
}
#header_navi{
	width:100%;
	box-sizing:border-box;
	padding: 5px 0em 0 1em;
	display:flex;
	justify-content: space-between;
	align-items: center;
	/* background-color:#303030; */
}
#header_menu{
	width:100%;
	padding:0 1em;
	box-sizing:border-box;
	display:flex;
	justify-content: space-between;
	align-items: center;
}
.logo{
	width: 50vw;
	max-width: 50%;
}
.logo h1 {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.5;
	margin-top: 10px;
	margin-bottom: 10px;
}

/* ▼▼▼▼▼メインメニュー▼▼▼▼▼ */
mainmenu ul{
	list-style-type:none;
	display: block;
	margin:0;
	padding: 4em 0 2em 0;
	flex-wrap: wrap;
	flex-direction: column;
}
mainmenu li{
	margin:0;
	padding: 0 1.5em;
	font-size: 1em;
	color: #fff;
	display: block;
	position: relative;
}
mainmenu li a{
	font-weight: 500;
	color: #fff;
	padding: 1em 0em 1em .5em;
	position: relative;
	display: block;
	text-align: left;
	border-bottom: 1px solid #fff;
}
mainmenu li a:hover{
	color:#698896;
}
mainmenu li a.menu10{
	padding-left: 3.6em;
	padding-right: 2.5em;
	padding-top: .5em;
	padding-bottom: .5em;
	background-color: #c06262;
	color: #fff;
	border-radius: 0em;
	font-weight: normal;
}
mainmenu li a.menu10::before {
	font-family: 'Material Symbols Outlined';
	content: '\e614';
	font-size: 1.6em;
	font-weight: normal;
	padding: 0;
	margin-top: .1em;
	position: absolute;
	left: 1em;
	top:0;
	display: block;
}
tel{
	text-align:left;
	white-space: nowrap;
}
@media (max-width: 1399px) {
tel{
	text-align:left;
	/* display:none; */
}
}
.main_img_tel{
	color:#000;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	font-size: 2em;
	padding-left:1.3em;
	background-image:url('img/icon_freedial.png');
	background-repeat:no-repeat;
	background-size:1em;
	background-position:left center;
}
.main_img_tel_time{
	font-size: .78em;
	font-weight:bold;
}
a.main_img_link{
	width:5em;
	padding: 1em 4em;
	display: block;
	background-color: #303030;
	color:#fff;
	/* border-radius: 5px; */
}
.main_img_tel_cont dl{
	display:flex;
	align-items: center;
}
.main_img_tel_cont dt{
	font-size: calc(11px + 5 * (100vw - 800px)/800);
}
.main_img_tel_cont dd{
	text-align:left;
}
/* ▼▼▼▼ハンバーガーメニュー▼▼▼▼ */
#menuButton {
    display: block;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 0.4em;
    right: 1em;
    z-index: 1000;
}
#menuButton span {
    display: block;
    background: #333;
    width: 35px;
    height: 2px;
    position: absolute;
    left: 9px;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
}
#menuButton span:first-child {
    top: 12px;
}
#menuButton span:nth-child(2) {
    margin-top: -1px;
    top: 50%;
}
#menuButton span:last-child {
    bottom: 12px;
}
#menuButton.active span:first-child {
    -webkit-transform: translateY(8px) rotate(45deg);
    -moz-transform: translateY(8px) rotate(45deg);
    -ms-transform: translateY(8px) rotate(45deg);
    transform: translateY(16px) rotate(45deg);
    background: #fff;
}
#menuButton.active span:nth-child(2) {
    opacity: 0;
}
#menuButton.active span:last-child {
    -webkit-transform: translateY(-8px) rotate(-45deg);
    -moz-transform: translateY(-8px) rotate(-45deg);
    -ms-transform: translateY(-8px) rotate(-45deg);
    transform: translateY(-8px) rotate(-45deg);
    background: #fff;
}
/* ▲▲▲▲ハンバーガーメニュー▲▲▲▲ */
/* ▼▼▼▼▼main_slider▼▼▼▼▼▼ */
.slider5-wrap {
  width: 100%;
  height: calc(80vh - 30px);
  margin: 0 auto;
  position: relative;
}
.slider-5 .slick-slide {
  height: calc(80vh - 30px);
  overflow: hidden;
}
.slider-5 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dots-5{
	position: relative;
}
.dots-5 .slick-dots {
  text-align: center;
}
.dots-5 .slick-dots li {
  display: inline-block;
  width: 100px;
  height: 6px;
  margin: 4px;
  background: #eaeaea;
  cursor: pointer;
}
.dots-5 .slick-dots button {
  display: block;
  width: 0%;
  height: 6px;
  margin: 0;
  font-size: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  outline: none;
  background: #0a467d;
  cursor: pointer;
}
.dots-5 .slick-dots li button:before{
	display:none;
}
.dots-5 .slick-dots .slick-active button {
  background: rgb(141 103 49 / 90%);
  opacity: 1;
}
.slide-animation{
    animation: fadezoom 8s 0s forwards;
}
@keyframes fadezoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}

#index_main_img {
	position:relative;
	margin-bottom: 4em;
}
#index_main_img .overlay {
    background-color: rgb(0 0 0 / 20%);
    position: absolute;
    bottom: 0px;
    width: 100%;
    padding: 0 0px 4em 0px;
    text-align: center;
    box-sizing: border-box;
    height: 100vh;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-end;
}

.overlay h1{
    display:block;
    color:#fff;
    font-size: 7.0vw;
    font-weight: 800;
    text-align: left;
    line-height: 1em;
    padding: 0px 0px 0px 5vw;
    font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
}
.overlay h2{
    display:block;
    color:#fff;
    font-size: 2.4vw;
    font-weight: 500;
    text-align: left;
    padding: 0px 0px 0px 5vw;
    font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
}
.smooth{
  clip-path: inset(0 100% 0 0);
  /* display: inline-block; */
  /* font-size: 36px; */
  /* font-weight: bold; */
  transition: 2.4s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path;
  /* line-height: 1; */
  /* height: 40px; */
  /* margin-top: 15px; */
}
.smooth.is-animated{
clip-path: inset(0);
}

/* ▼▼▼▼▼エリアナビ▼▼▼▼▼ */

/* ▼▼▼▼▼建屋ナビ▼▼▼▼▼ */


/* ▼▼▼▼▼フッター▼▼▼▼▼▼ */
#footer{
	margin: 0;
	padding: 0 0 0 0;
	width: 100%;
	background: #3a3a3a;
	min-height:200px;
	color:#ccc;
}
.footer_layout{
	max-width: 100%;
	margin: 0 auto 1em auto;
	padding: 2em 0;
	text-align: left;
	border-bottom: 1px solid #5b5b5b;
	display: flex;
	flex-direction: column;
}
#footer .layout{
	padding-top:10px;
	text-align: left;
}
.footer_contact{
	padding: 1em;
	margin-bottom: 1em;
	width: 100%;
	margin-right:40px;
	box-sizing: border-box;
}
.footer_reference{
	width: 100%;
	padding: 1em;
	box-sizing: border-box;
}
.footer_reference ul{
	list-style-type:none;
	margin:0;
	padding:0;	
}
.footer_reference li{
	margin:0;
	padding:0;
	/* border-bottom:1px solid #ccc; */
	font-size: 3vw;
}
.footer_reference li a{
	display:block;
	color:#ccc;
	font-weight:bold;
	margin-bottom:10px;
	position:relative;
}
.footer_reference li a.link{
	display:block;
	padding:1em .8em;
	background-color: #4e4e4e;
}
.footer_reference li a.link:hover{
	background-color: #5b5b5b;
}
.footer_reference li a.link span{
	color:#ccc;
	font-weight:normal;
	display:block;
	font-size:.9em;
	padding-left:2em;
}
.footer_reference li a.link:before {
	margin:.2em;
	position:absolute;
	display:block;
	font-size: 4vw;
	color:#ccc;
	transition: 0.3s;
	font-weight: normal;
	right:.5em;
	top:.5em;
}
.footer_reference li a.link:hover:before{
	margin:.0em .0em .4em .4em;
	color:#dd3e3e;
}
.footer_reference li a.link:before {
	font-family: 'Material Symbols Outlined';
	content: '\e89e';
}
#footer h3{
	font-family: 'Sawarabi Mincho', serif;
	font-weight:normal;
	font-size:2.5em;
	color: #ccc;
	line-height: normal;
	margin-bottom:0;
}
#footer h3 span{
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
	font-weight:bold;
	display:inline-block;
	font-size:.5em;
	margin-left: 0em;
}
.footer_mail{
	background-color: #4e4e4e;
	padding: 0;
	margin: 0 0 .5em 0;
	display: flex;
	align-items: center;
}
.footer_mailform{
	padding: .8em 0em .6em 1em;
	font-size: 1.4em;
	color:#ccc;
	font-weight:bold;
	transition: 0.3s;
}
.footer_mailform:hover{
	background-color: #ac3626;
	padding: .8em 0 .6em 1.5em;
	color:#fff;
}
.footer_mailform:before{
	margin: 0 5px 0 0;
	position:relative;
	display: inline-block;
	font-size: 35px;
	transition: 0.3s;
	font-family: 'Material Symbols Outlined';
	content: '\e158';
	vertical-align: middle;
}
a.footer_mailform {
	display: block;
	height: 100%;
	width: 100%;
}
.footer_dial{
	background-color: #4e4e4e;
	padding: 0 0 .8em 0;
	margin: 0 0 .5em 0;
	display: flex;
	align-items: center;
	flex-direction: row;
	flex-wrap: wrap;
}
.footer_freetel{
	padding: .1em 0em .0em .8em;
	font-size: 1.8em;
	color: #ccc;
	font-weight: 500;
	font-family: 'Roboto', sans-serif;
	margin-bottom:.0em;
}
.footer_freetel:before{
	margin: 0 7px 0 0;
	position:relative;
	display: inline-block;
	font-size: 35px;
	transition: 0.3s;
	font-family: 'Material Symbols Outlined';
	content: '\e61d';
	vertical-align: middle;
}
a.footer_freetel {
	display: block;
	height: 100%;
	width: auto;
}
.footer_dial_info{
	padding-left: 2em;
	font-size: .8em;
	line-height: 2em;
}
.no_1:before{
	margin: 0 0 0 0;
	position:relative;
	display: inline-block;
	position: relative;
	font-size: 28px;
	transition: 0.3s;
	font-family: 'Material Symbols Outlined';
	content: '\e400';
	vertical-align: middle;
}
.no_2:before{
	margin: 0 0 0 0;
	position:relative;
	display: inline-block;
	position: relative;
	font-size: 28px;
	transition: 0.3s;
	font-family: 'Material Symbols Outlined';
	content: '\e401';
	vertical-align: middle;
}
.no_3:before{
	margin: 0 0 0 0;
	position:relative;
	display: inline-block;
	position: relative;
	font-size: 28px;
	transition: 0.3s;
	font-family: 'Material Symbols Outlined';
	content: '\e3fb';
	vertical-align: middle;
}
.no_3:after{
	margin: 0 0 0 0;
	position:relative;
	display: inline-block;
	position: relative;
	font-size: 28px;
	transition: 0.3s;
	font-weight: normal;
	font-family: 'Material Symbols Outlined';
	content: '\e5df';
	vertical-align: middle;
}
.footer_navi{
	margin-bottom:2em;
}
.footer_navi h1{
	font-weight:bold;
	font-size: 1.2em;
}
.footer_info{
	display: flex;
	flex-direction: column;
}
.footer_tel,.footer_fax{
	font-family: 'Roboto', sans-serif;
	font-size: 1.5em;
	color:#ccc;
	padding: 0;
	display: flex;
	position:relative;
	align-items: center;
	margin-right:1em;
}
.footer_tel:before,.footer_fax:before {
	margin: 0 0.3em .0 0;
	position:relative;
	display: inline-block;
	position: relative;
	left:0;
	font-size:30px;
	color:#aaa;
	transition: 0.3s;
	font-weight: normal;
	font-family: 'Material Symbols Outlined';
}
.footer_tel:before {
  content: '\e325';
}
.footer_fax:before {
  content: '\ead8';
}
.footer_pdf{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-evenly;
}
.footer_pdf a{
	display: block;
	width: 100%;
	text-align: center;
	background-color: #4e4e4e;
	color: #aaa;
	margin-left:1px;
	padding:2em 0;
}
.footer_pdf a:hover{
	transition: 0.3s;
	color:#ffffff;
	background-color: #ac3626;
	font-weight: bold;
}
.footer_pdf a:before {
	margin:.2em;
	position:relative;
	display:block;
	font-size:30px;
	color:#b55d56;
	transition: 0.3s;
	font-weight: normal;
}
.footer_pdf a:hover:before{
	color:#ffffff;
	margin:.4em .2em .0em .2em;
}
.footer_pdf a:before {
  font-family: 'Material Symbols Outlined';
  content: '\f090';
}
.footer_time dl {
	/* width:40%; */
	margin: 0em 0 1em 0;
	display:inline-block;
	position: relative;
	box-sizing: border-box;
	display:flex;
	flex-wrap: wrap;
	font-size: .9em;
}
.footer_time dt{
	margin:0;
	padding: 0em 0;
	width: 25%;
	text-align:left;
	box-sizing: border-box;
	font-weight: bold;
}
.footer_time dd {
	margin:0;
	padding: 0;
	width: 75%;
	text-align:left;
	box-sizing: border-box;
}
.footer_address{
	font-size:.9em;
	margin-bottom:1em;
}
.pageup {
	display:block;
	text-align:right;
  background-color: #4e4e4e;
	text-align:center;
}
.pageup a{
	text-decoration:none;
	color:#fff;
	display:block;
	width:100%;
	padding:15px 0;
	font-size:14px;
}
#footer_copy{
	display:block;
	padding:2em 0;
	color: #aaa;
	font-weight:bold;
	font-size:.9em;
}
/* ▼▼▼▼▼トップページ新着情報▼▼▼▼▼▼ */
#index_news{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding:1em 0 3em 0;
}
#index_news h2{
	font-weight:normal;
	font-size: 1.8em;
	line-height: normal;
	font-weight:600;
	text-align: left;
}
#index_news h2 span{
	font-family: 'Roboto', sans-serif;
	display:block;
	font-size:.7em;
	letter-spacing:.4em;
	color: #2CA5AC;
}
.index_news_left{
	width: 100%;
	text-align: left;
}
.index_news_right{
	width: 100%;
}
.news_item{
	width:100%;
	display:flex;
	border-bottom:1px solid #ddd;
	padding: 1em 0 1.5em 0;
	align-items: stretch;
	position: relative;
}
.news_img{
	width: 20%;
	/* height:100px; */
	/* overflow:hidden; */
}
.news_content{
	width: 80%;
	box-sizing:border-box;
	padding:0 1em;
	text-align:left;
	font-size:.9em;
}
.news_content h3{
	color: #2CA5AC;
	margin-top: 0;
}
.news_link_pdf{
	display:inline-block;
	color:#D06A6A;
	border:1px solid #D06A6A;
	border-radius: 1.6em;
	padding: .3em 2em .3em 3.2em;
	position:relative;
	overflow: hidden;
	font-weight:500;
}
.news_link_pdf:before {
  font-family: 'Material Symbols Outlined';
  content: '\e415';
  font-size: 1.4em;
  font-weight: normal;
  padding: 0;
  margin-top: .0em;
  position: absolute;
  left: 1em;
  top: .3em;
  display: block;
  z-index: 1;
}
.news_link_pdf:after {
  background: #D06A6A;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.news_link_pdf:hover::after {
  transform: scale(1, 1);
}
.news_link_pdf:hover {
  color:#fff;
}
.news_link_url{
	display:inline-block;
	color:#2CA5AC;
	border:1px solid #2CA5AC;
	border-radius: 1.6em;
	padding: .3em 2em .3em 3.2em;
	position:relative;
	overflow: hidden;
	font-weight:500;
}
.news_link_url:before {
  font-family: 'Material Symbols Outlined';
  content: '\e89e';
  font-size: 1.4em;
  font-weight: normal;
  padding: 0;
  margin-top: .0em;
  position: absolute;
  left: 1em;
  top: .3em;
  display: block;
  z-index: 1;
}
.news_link_url:after {
  background: #2CA5AC;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.news_link_url:hover::after {
  transform: scale(1, 1);
}
.news_link_url:hover {
  color:#fff;
}
/**▼▼▼▼▼▼▼▼特徴▼▼▼▼▼▼▼▼**/
#feature{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding:1em 0 3em 0;
}
#feature h2{
	font-weight:normal;
	font-size: 1.8em;
	line-height: normal;
	font-weight:600;
	text-align: left;
}
#feature h2 span{
	font-family: 'Roboto', sans-serif;
	display:block;
	font-size:.7em;
	letter-spacing:.4em;
	color: #2CA5AC;
}
.index_feature_left{
	width: 100%;
	text-align: left;
	padding-right: 1.5em;
	box-sizing: border-box;
}
.index_feature_left p{
	font-size:.9em;
}
.index_feature_right{
	width: 100%;
}
#index_feature{
	display: block;
	padding:0;
	border-top:1px solid #333;
	border-bottom:1px solid #333;
	margin-bottom:4em;
	background-color:#666;
	overflow:hidden;
}
.index_feature_ul{
	display:flex;
	max-width:1200px;
	margin:auto;
	background-color:#fff;
	flex-direction: column;
}
.index_feature_list{
	height: auto;
	padding-top: 0;
	box-sizing: border-box;
	background-image:url("./img/feature_list01.jpg");
	background-size:cover;
	background-repeat:no-repeat;
	background-position: center center;
	width: 100%;
	transition:1s all;
}
.index_feature_list:hover{
	transform: scale(1.1, 1.1);
	transition:.6s all;
	z-index:100;
	padding-top:250px;
}
.index_feature_list:hover .index_feature_list_cont{
	background-color:#000000cc;
	transition:1s all;	
}
.index_feature_list.feature_list01{
	background-image:url("./img/feature_list01.jpg");	
}
.index_feature_list.feature_list02{
	background-image:url("./img/feature_list02.jpg");	
}
.index_feature_list.feature_list03{
	background-image:url("./img/feature_list03.jpg");	
}
.index_feature_list.feature_list04{
	background-image:url("./img/feature_list04.jpg");	
}
.index_feature_list_cont{
	background-color:#00000077;
	color:#fff;
	height:100%;
	box-sizing:border-box;
	text-align:left;
	padding: 3em 1.5em;
	font-size:.8em;
	width:100%;
	transition:1s all;
}
.index_feature_list_cont h2{
	margin:0;
	font-size:1em;
	color:#fff;
	background-color:#2DA5AC;
	display:inline-block;
	padding:.2em 1em;
}
.index_feature_list_cont h3{
	margin:0;
	font-size:1.2em;
	color:#fff;
	display:block;
	padding:1em 0em;
}

#index_floor-map{
	max-width:1200px;
	margin:auto;
	margin-bottom: 3em;
	padding: 1em;
}
#index_floor-map h2{
	font-weight:normal;
	font-size: 1.8em;
	line-height: normal;
	font-weight:600;
	text-align: left;
}
#index_floor-map h2 span{
	font-family: 'Roboto', sans-serif;
	display:block;
	font-size:.7em;
	letter-spacing:.4em;
	color: #2CA5AC;
}
.index_floor-map_left{
	width:100%;
	text-align: left;
	padding-right: 1.5em;
	box-sizing: border-box;
}
.index_floor-map_left p{
	font-size:.9em;
}
.index_floor-map_right{
	width:100%;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
	padding: 1em 0px;
}
.index_floor-map_right img{
	display:block;
	width:100%;
	height:auto;
	max-width:100%;
}
#index_room-list{
	max-width:1200px;
	margin:auto;
	margin-bottom: 3em;
	padding: 1em;
}
#index_room-list h2{
	font-weight:normal;
	font-size: 1.8em;
	line-height: normal;
	font-weight:600;
	text-align: left;
}
#index_room-list h2 span{
	font-family: 'Roboto', sans-serif;
	display:block;
	font-size:.7em;
	letter-spacing:.4em;
	color: #2CA5AC;
}
.index_room-list_left{
	width:100%;
	text-align: left;
	padding-right: 0;
	box-sizing: border-box;
}
.index_room-list_left p{
	font-size:.9em;
}
.index_room-list_right{
	width:100%;
	background-color:#fff;
	border-radius: 10px;
	box-sizing:border-box;
	padding: 1em;
	margin-right: 0em;
	overflow: scroll;
}
#index_access{
	max-width:1200px;
	margin:auto;
	margin-bottom: 3em;
	padding: 1em;
}
#index_access h2{
	font-weight:normal;
	font-size: 1.8em;
	line-height: normal;
	font-weight:600;
	text-align: left;
}
#index_access h2 span{
	font-family: 'Roboto', sans-serif;
	display:block;
	font-size:.7em;
	letter-spacing:.4em;
	color: #2CA5AC;
}
.index_access{
	display: flex;
	width:100%;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
	padding:20px;
	flex-direction: column;
}
.index_access_left{
	width: 100%;
	text-align: left;
	padding-right: 0em;
	box-sizing: border-box;
}
.index_access_left p{
	font-size:.9em;
}
.index_access_right{
	width: 100%;
	box-sizing:border-box;
	padding: 0;
}
.index_access_left dl{
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    border-top: 1px solid #ccc;
    border-bottom: none;
    font-size: .9em;
}
.index_access_left dl dt{
	background: #f5f5f5;
	padding: 1em;
	width: 9em;
	/* border-right: 1px solid #ccc; */
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
	font-weight: 600;
}
.index_access_left dl dd{
	background: #fff;
	padding: 1em;
	width: calc(100% - 9em);
	border-bottom: 1px solid #ccc;
	margin: 0;
	box-sizing: border-box;
}
/*********** パンくずリスト ***********/
#breadcrumb {
	font-size: .8em;
	margin-bottom: 1.5em;
	padding: 0;
}
#breadcrumb ul{
	margin:0;
	padding:0;
	display: flex;
}
#breadcrumb li{
	margin:0;
	padding:0;
	list-style-type:none;
	padding:5px 10px 5px 20px;
	margin-right:10px;
	background:url(img/bg_pagenavi_right.gif) left center no-repeat;
}
#breadcrumb li.crumb-home{
	padding:5px 0px 5px 25px;
	background:url(img/bg_pagenavi.gif) left center no-repeat;
}

/* ▼▼▼▼▼TOPバナー▼▼▼▼▼ */
.top_bn {
	color: #fff;
	background-position: center;
	font-weight: 600;
	/* padding-top: 0px; */
	font-size: .8em;
	box-sizing: border-box;
	z-index: 100;
	position:relative;
}
.top_bn ul{
	display:block;
	list-style-type: none;
}
.top_bn li{
	padding: 0px 0;
	font-size: 2.5vw;
}
.slider-1_01 {
	background-color: #698896;
	height: 28px;
}
.slider-1_02 {
	background-color: #c06262;
	height: 28px;
}

/* ▼▼▼▼▼トップページ▼▼▼▼▼▼ */
#index_address{
	display:flex;
	text-align:left;
	align-items: flex-end;
	margin-bottom:4em;
	flex-direction: column;
}
.index_address_left{
	width: 100%;
}
.index_address_right{
	width: 100%;
}
.index_address_left h1 {
	font-size: 1.4em;
	font-weight: 600;
	line-height: 1.5em;
	letter-spacing: 0.02em;
	margin-top: 10px;
	margin-bottom: 10px;
}
.index_address_left h2 {
	position:relative;
	font-weight: 600;
	font-size: 1.2em;
	line-height: 1.35em;
	letter-spacing: 0em;
	margin-top: 0;
	margin-bottom: .5em;
	padding: 0px 0px 0 0px;
	color: #2CA5AC;
	border-bottom: none;
	display: block;
	text-align:left;
}
.address_map{
	font-size: .9em;
	position:relative;
	padding-left:2em;
	margin-bottom:.5em;
}
.address_map::before {
	font-family: 'Material Symbols Outlined';
	content: '\e0c8';
	font-size: 1.6em;
	font-weight: bold;
	padding: 0;
	margin-top: 0em;
	position: absolute;
	left: 0;
	top:0;
	display: block;
}
.address_access{
	font-size: .9em;
	position:relative;
	padding-left:2em;
	margin-bottom:.5em;
}
.address_access::before {
	font-family: 'Material Symbols Outlined';
	content: '\e570';
	font-size: 1.6em;
	font-weight: bold;
	padding: 0;
	margin-top: 0em;
	position: absolute;
	left: 0;
	top:0;
	display: block;
}
.main_img_tel_title{
	font-size: 1em;
	font-weight: 600;
	line-height: 1em;
	letter-spacing: 0.02em;
	margin-top: 10px;
	margin-bottom: 10px;	
}
.index_address_right_cont{
	margin-top:1.5em;
	display: flex;
}
.index_address_right_room{
	padding-left: 2.5em;
	padding-right: 2.5em;
	padding-top: .5em;
	padding-bottom: .5em;
	background-color: #2DA5AC;
	color: #fff;
	border-radius: 1.5em;
	font-weight: normal;
	font-size: 3vw;
	margin-right:1em;
}
.index_address_right_order{
	padding-left: 2.5em;
	padding-right: 2.5em;
	padding-top: .5em;
	padding-bottom: .5em;
	background-color: #c06262;
	color: #fff;
	border-radius: 2em;
	font-weight: normal;
	font-size: 3vw;
}
#map{
	max-width:1200px;
}
/* ▼▼▼▼▼スライダー２▼▼▼▼▼▼ */
.slider-2 .slick-slide {
  width: 520px;
  height: 250px;
  margin: 0 30px;
  position: relative;
overflow: visible;
}
.slider-2 .slick-slide img {
  display: block;
  width: 100%;
  /* height: 100%; */
  object-fit: cover;
}
.slider-2 .slick-arrow {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  /* background-color: #fff; */
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: calc(50% - 0px);
  z-index: 1;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.slider-2 .slick-arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid #09000d;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 24px;
  transform: rotate(45deg);
}
.slider-2 .slick-next {
  right: calc(50% - 52vw);
}
.slider-2 .slick-prev {
  left: calc(50% - 52vw);
}
.slider-2 .slick-next::before {
  left: 20px;
}
.slider-2 .slick-prev::before {
  border-width: 0 0 3px 3px;
  right: 22px;
}
.dots-2 .slick-dots {
  text-align: center;
}
.dots-2 .slick-dots li {
  display: inline-block;
}
.dots-2 .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #bcbcbc;
  border-radius: 50%;
}
.dots-2 .slick-dots .slick-active button {
  background: #000;
}
.slick-dots li button:before
{
display:none;
}
.slick-dots li.slick-active button:before
{
display:none;
}

        /* ここから */
        @keyframes bounce {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(10px); }
        }
        .animate {
            opacity: 0;
            transition: opacity 1s ease-out, transform 1s ease-out;
        }
        .fade-in { transform: translateY(120px); }
        .zoom-in { transform: scale(0.1); }
        .slide-in { transform: translateX(150px); }
        .rotate { transform: rotateY(90deg); }
        .show {
            opacity: 1;
            transform: translateY(0) scale(1) translateX(0) rotateY(0);
        }

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼料金表▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
#index_room-list #pricetable{
	min-width: 600px;	
}
#price_list #pricetable{
	min-width: 1200px;	
}
#pricetable{
	text-align:center;
	border-collapse:collapse;
	margin-bottom: 0em;
	font-size:.85em;
}
#pricetable th{
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin: 0;
	padding: .5em 1em;
	background-color:#D5EDEE;
}
#pricetable td{
	border-bottom: 1px solid #ccc;
}
#pricetable th.sort{
	background-image: url(img/bg.gif);
	background-repeat: no-repeat;
	background-position: center center;
	cursor: pointer;
	height:2em;
	background-color:#fff;
}
#pricetable th.headerSortUp {
	background-image: url(img/asc.gif);
}
#pricetable th.headerSortDown {
	background-image: url(img/desc.gif);
}
#pricetable tr .headerSortDown,
#pricetable tr .headerSortUp {
	color: #fff;
}
.tdhover{
	background-color:#FCF3F3;
}
td.hover, #tableone tbody tr:hover
{
	background-color: #FCF3F3;
}
td.betterhover, #pricetable tbody tr:hover{
	background: #FCF3F3;
}
#pricetable tr:nth-child(odd) {
	background: #F5F5F5;
}
.aaa {
	text-align:left;
	padding-left:1em;
}
.bbb {
	text-align:right;
	padding-right:1em
}
.ccc{
	text-align:center;
}
.persist-header li {
	display: block;
}
.bbbb {
	padding: 3px; 
	color:#c00;
}
.price_caution{
text-align:left;
font-size:2.5vw;
margin-left:1em;
	margin-top:1.5em;
}
.price_caution ul{
display:block;
padding:0;
margin:0;
}
.price_caution li{
display:block;
padding:0;
margin:0 0 .5em 0;;
}
.price_caution li::before {
  content: "※";
  margin-left: -1em;
}

.article-single-cont{
	width:50%;
	box-sizing:border-box;
	padding: 0 0 0 2em;
	text-align: left;
	font-weight: bold;
	font-size: 1em;
}
.article-single-price{
	/* background-color: #efefef; */
	/* padding:1em 2em; */
	text-align:left;
	/* border: 1px solid #ccc; */
	margin-bottom: 2em;
}
.article-single-price-table{
	width:100%;
	margin-bottom:1em;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	background-color: #fff;
	padding: 2em;
	border-radius: 10px;
	box-sizing: border-box;
}
.article-single-price-table table{
	width: 100%;
	background-color:#fff;
	border-collapse:collapse;
	border-spacing:0px;
	font-size:.9em;
	margin-bottom: 1em;
}
.article-single-price-table table th {
	padding: 10px 20px;
	vertical-align: top;
	background-color: #ece8e0;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	/* width: 8%; */
	white-space: nowrap;
}
.article-single-price-table table td {
	padding: 10px 1em;
	vertical-align: top;
	/* background-color: #fff; */
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	/* width: 5%; */
	text-align:center;
}
.article-cont table,.article-single table {
	margin: auto auto 20px auto;
	padding:0;
	border-collapse:collapse;
	border-spacing:0px;
	text-align:left;
	width:100%;
	font-weight: bold;
	font-size: .9em;
}
.article-single-price p{
	font-size: .8em;
}
.layout_img table {
	font-size: 1.2em;
}
.article-cont table th,.article-single table th {
	padding: 10px 20px;
	vertical-align: top;
	background-color: #ece8e0;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	width:20%;
	white-space: nowrap;
}
.article-cont table td,.article-single table td {
	padding: 10px 20px;
	vertical-align: top;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	margin:0;
}
.article-single-img{
	width:50%;
	margin: 0 auto;
	overflow: hidden;
	display: block;
}
.layout_list{
	/* background-color:#ccc; */
	padding: 0;
	/* border-width: 1px 0 0 1px; */
	/* border-color: #ccc; */
	/* border-style:solid; */
	/* position: sticky; */
	/* top: 100px; */
}
.layout_list ul{
	list-style-type:none;
	display:flex;
	margin: 0 0 1em 0;
	padding:0;
	justify-content: space-between;
}
.layout_list li{
	width: 24%;
	margin: 0;
	padding: 1em .5em;
	box-sizing:border-box;
	text-align:center;
	border-width: 2px;
	border-color: #fff;
	border-style:solid;
	border-radius: 5px;
	cursor:pointer;
	color: #2ca5ac;
	background-color: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	font-weight:600;
	font-size: 2.5vw;
}
.layout_list li.active{
	/* border-width: 0px 1px 0px 0px; */
	background: #fff;
	border-color: #2ca5ac;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 1.0s;	/* 秒数 = 1.0秒 */
}
.layout_list li:hover{
	background-color:#fff;
	border-color: #2ca5ac;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 1.0s;	/* 秒数 = 1.0秒 */
}
.layout_img{
	box-sizing:border-box;
	padding: 1em;
	text-align: left;
	font-weight: bold;
	font-size: .9em;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	/* border-width: 0px 1px 1px 1px; */
	/* border-color: #ccc; */
	/* border-style:solid; */
	border-radius: 10px;
	margin-bottom: 5em;
	background: #fff;
}
.layout_img_cont{
	display:none;
}
.layout_img_cont.active{
	display: flex;
	flex-direction: column;
}
.layout_img_cont_left{
	width: 100%;
}
.layout_img_cont_right{
	width: 100%;
	box-sizing:border-box;
	padding-left: 0em;
}
.article-single-conts{
	font-size:.9em;
	text-align:left;
}
.article-conts table,.article-single-conts table {
	margin: auto auto 20px auto;
	padding:0;
	border-collapse:collapse;
	border-spacing:0px;
	text-align:center;
	width:100%;
	font-size:.95em;
}
.article-conts table th,.article-single-conts table th {
	padding: 10px 20px;
	font-family: "ゴシック";
	vertical-align: top;
	background-color: #ece8e0;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	/* width:10%; */
}
.article-conts table td,.article-single-conts table td {
	padding: 10px 20px;
	font-family: "ゴシック";
	vertical-align: top;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	margin:0;
}
.article-conts table td,.article-single-conts table td.align_left,
.article-conts table th,.article-single-conts table th.align_left {
	text-align: left;
}
.article-conts table th.width,.article-single-conts table th.width {
	width:30%;
}
.article-single-setsubi{
	background-color: #f6f6f6;
	padding:1em 2em;
	width: 100%;
}
.table_setsubi table th{
	padding: 10px 20px;
	vertical-align: top;
	background-color: inherit;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	width: 20%;
}
a.pdf{
	display:block;
	margin: 0px 0px 10px 0px;
	padding:0 0 0 60px;
	width:100%;
	line-height: 4em;
	text-decoration:none;
	color:#333;
	border:3px solid #f34235;
	color:#f34235;
	transition: 0.3s;
	box-sizing:border-box;
	position:relative;
}
a.pdf:hover{ 
	border:3px solid #f34235;
	color:#ffffff;
	background-color: #f34235;
	padding:0 0 0 80px;
}
a.pdf:before {
  font-family: 'Material Symbols Outlined';
  content: '\f090';
	position:absolute;
	display:inline-block;
	font-size:20px;
	color:#f34235;
	transition: 0.3s;
	left:1em;
}
a.pdf:hover:before {
	color:#fff;
}
	


/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼会議室カード▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
.room_card{
}
.room_card_left{
    display: flex;	
}
.room_card_right{
    display: flex;
    flex-wrap: wrap;
    height: fit-content;
    width: 100%;
    font-weight: 500;
    text-align: left;
}
.room_card_right >div {
    position: relative;
    padding: 10px 0 20px;
    border-top: 2px solid #00031A;
    width: calc(100% - 10px);
    margin: 5px;
    display:block;
}
.room_card_left {
    display: flex;
    flex-wrap: wrap;
    height: fit-content;
    width: 100%;
    font-weight: 500;
    text-align: left;
    font-size: .7em;
}

.room_card_left>div div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 10px
}
.room_card_right>div div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 10px
}

.room_card_left>div div>span:nth-of-type(1) {
    font-size: 1.6em;
}

.room_card_left>div div>span:nth-of-type(1) span {
    font-size: .5em;
    margin: 0 .4em;
}
.room_card_left>div div>span:nth-of-type(1) span.out {
    font-size: 1em;
    margin: 0em;
	color:#ccc;
}
.room_card_left>div {
    position: relative;
    padding: 10px 0 10px;
    border-top: 2px solid #00031A;
    width: calc(33.3333333% - 10px);
    margin: 5px;
    px;
}
.room_card_left .card05 {
    width: calc(60% - 10px);
}

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼備品▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
.goods_list{
	padding: 0;
}
.goods_list ul{
	list-style-type:none;
	display:flex;
	margin: 0 0 1.5em 0;
	padding:0;
	justify-content: space-between;
}
.goods_list li{
	width: 24%;
	margin: 0;
	padding: 1em .5em;
	box-sizing:border-box;
	text-align:center;
	border-width: 2px;
	border-color: #fff;
	border-style:solid;
	border-radius: 5px;
	cursor:pointer;
	color: #2ca5ac;
	background-color: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	font-weight:600;
	font-size: 2.4vw;
}
.goods_list li.goods_active{
	/* border-width: 0px 1px 0px 0px; */
	background: #fff;
	border-color: #2ca5ac;
}
.goods_list li:hover{
	background-color:#fff;
	border-color: #2ca5ac;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 1.0s;	/* 秒数 = 1.0秒 */
}
.rental_goods h4 {
	text-align: left;
	border-left: solid 5px #2ca5b1;
	padding-left:1em;
	margin-bottom:1.5em;
}
.goods_content{
	display:none;
}
.goods_content.show{
	display:block;
	overflow: scroll;
}
.rental_goods {
	width: 100%;
	margin: 0 0 5em 0;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
	padding: 1em;
}

.rental_goods table {
	width: 800px;
	border-collapse: collapse;
	margin-bottom: 2em;
	font-size: .9em;
	/* overflow: scroll; */
}

.rental_goods table th {
	border-top: #ccc solid 1px;
	border-bottom: #ccc solid 1px;
	padding: .5em 1em;
	background: #D5EDEE;
	text-align:left;
	font-size:.9em;
}
.rental_goods table th span {
	font-weight:normal;
	font-size:.9em;
	margin-left:.5em;
}
.rental_goods table tr:hover{
	background:#f5f5f5;
}

.rental_goods table td {
	border-top: #ccc solid 1px;
	border-bottom: #ccc solid 1px;
	padding: .5em 1em;
	font-size:.9em;
}
.rental_goods table td:nth-of-type(1){
	text-align: left;
	width: 10%;
}
.rental_goods table td:nth-of-type(2){
	width: 20%;
}
.rental_goods table td:nth-of-type(5){
	width: 150px;
}
.rental_goods table td img {
	width: 100px;
	object-fit: contain;
	vertical-align:middle;
	border:1px solid #ccc;
	margin-right:.5em
}

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼空室確認▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
.makoto_csv {
    text-align: center;
    width: 100%;
    margin: 0 0 3em 0;
    background-color:#fff;
    border-radius:10px;
    box-sizing:border-box;
    padding:20px;
}
table.reserveTable {
    margin: auto auto 20px auto;
    padding: 0;
    border-collapse: collapse;
    border-spacing: 0px;
    text-align: left;
    width: 1000px;
    font-size: 0.9em;
    /* overflow: scroll; */
}
table.reserveTable th {
border: 1px solid #ccc;
text-align: center;
padding: 5px 10px;
background: #eee;
font-weight: normal;
}
table.reserveTable td {
border:1px solid #ccc;
text-align: left;
padding: 5px 10px;
}
td.room_ok {
background-color: #fff;
}
td.room_in {
background-color: #5d99db;
}
td.room_ng {
background-color: #eee;
}
td.room_name {
width:4em;
}
input#demo001 {
    display:none;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    padding: 10px;
    font-size: 1.5em;
    background-image: url(https://ssl.re-rental.com/inc/bg_input.jpg);
    background-repeat: no-repeat;
    background-size: 30px;
    background-position: 240px 10px;
    width: 260px;
    height: 30px;
margin-bottom:30px;
}
ul.csv_calender {display: flex;-js-display: flex;margin-bottom: 10px;padding-left: 0;list-style: none;height: 21px;font-size: .8em;line-height: 1.8em;}
ul.csv_calender li {
margin-right: 30px;
padding-left: 30px;
position: relative;
}
ul.csv_calender li::before {
content: '';
width: 20px;
height: 20px;
display: block;
position: absolute;
left: 0;
border:1px solid #ccc;
}
ul.csv_calender li.yoyaku_in::before {
background-color:#5d99db;
}
ul.csv_calender li.yoyaku_ok::before {
border:1px solid #CACACA;
}
ul.csv_calender li.yoyaku_ng::before {
background-color: #eee;
}.form_button{
	text-align:center;
	padding:2em;
}
.form_button a{
	display:block;
	width:10em;
	margin:auto;
	padding: .8em 2em;
	font-size:1.2em;
	color: #fff;
	background-color: #cc363f;
	background-color: linear-gradient(#cc363f 0%, #a92c33 100%);
	border-radius: 2em;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
}
.form_button a:hover{
    background-color: #95262d;
    background-color: linear-gradient(#cc363f 0%, #a92c33 100%);
}
label.label_calendar {
  position: relative;
  display: inline-block;
  height: 30px;
  border: 1px solid #999;
  border-radius: 15px;
  padding:0 1em;
}
input[type="date"] {
  position: relative;
  padding: 0 10px;
  width: 150px;
  height: 36px;
  border: 0;
  background: transparent;
  box-sizing: border-box;
  font-size: 1em;
  color: #333;
}
#prevWeekBtn,#prevMonthBtn,#nextWeekBtn,#nextMonthBtn{
	font-size: 1em;
	padding: .2em 1em;
	border-radius: 18px;
	border: 1px solid #999;
	margin: 1em .1em;
}
/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼簡単見積り▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
.simple_cal{
    text-align: center;
    width: 100%;
    margin: 0 0 3em 0;
    background-color:#fff;
    border-radius:10px;
    box-sizing:border-box;
    padding:20px;	
}
.simple_cal label.label_checkbox {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    margin-bottom: .4em;
    padding: .5em .7em;
    border: 2px solid #c4c5c7;
    border-radius: 3px;
    /* background-color: #2589d026; */
    cursor: pointer;
    font-weight:600;
    flex-direction: row;
    flex-wrap: wrap;
}
.simple_cal label span{
	font-size:.9em;
	font-weight:normal;
	display: block;
}
.simple_cal label.label_checkbox:hover {
    background-color:#f9fcff;
	
}
.simple_cal label.label_checkbox:has(:checked) {
    /* background-color: #2589d0; */
    /* color: #fff; */
    border: 2px solid #d36666;
}
.simple_cal label.label_checkbox::before {
    width: 14px;
    height: 14px;
    border-radius: 14px;
    background-color: #fff;
    border: 1px solid #999;
    content: '';
    }

.simple_cal label.label_checkbox:has(:checked)::before {
    border:1px solid #e25959;
    }
.simple_cal label.label_checkbox:has(:checked)::after {
    position: absolute;
    top: 12px;
    left: 14px;
    transform: rotate(45deg);
    width: 4px;
    height: 8px;
    border:1px solid #e25959;
    border-width: 0 2px 2px 0;
    content: '';
    }
.simple_cal input {
    display: none;
}
dl.calArea{
	display:flex;
	flex-wrap: wrap;
	border-top: 1px solid #ccc;
	flex-direction: row;
}
.calArea dt{
	border-bottom: 1px solid #ccc;
	font-size: .9em;
	font-weight:bold;
	color:#3f305a;
	background-color: #f0f7fb;
	padding: .5em 1em;
	width: 100%;
	box-sizing:border-box;
	display: flex;
	align-items: center;
	text-align: left;
}
.calArea dt:hover{
	background-color: #ecf4f9;
}
.calArea dt::after{
	content: "";
	position: absolute;
	width: 1em;
	height: 1em;
	right: 140px;
	display: inline-block;
	background-position: right;
	background-repeat: no-repeat;
}
.calArea dd {
	padding: .5em 1em;
	margin: 0;
	font-size: .9em;
	line-height: 1.8em;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 100%;
	box-sizing:border-box;
	text-align: left;
}
.calArea dd ol.accordion-content {
	display: none;
	margin:0;
	padding:0;
	margin-bottom:1em;
}
h4.accordion-header {
	padding: .5em 0;
	color: #2ca5ac;
	font-size: 1em;
	margin: 5px 0 10px 0;
	background-color:#f0f7fb;
	border-radius:5px;
	cursor:pointer;
}
h4.accordion-header::before{
	margin: 0 5px 0 5px;
	position:relative;
	display: inline-block;
	font-size: 35px;
	transition: 0.3s;
	font-family: 'Material Symbols Outlined';
	content: '\e313';
	vertical-align: middle;
}
h4.accordion-header.active::before{
	content: '\e316';
}
#starttime,#endtime{
	margin: 0 3px 5px 0;
	padding: .5em 1em;
	border: 2px solid #ccc;
	background: #FFF;
    border-radius: 5px;
	font-size:1.2em;
}
.simple_cal select{
	margin: 0 3px 5px 0;
	padding: .5em 1em;
	border: 2px solid #ccc;
	background: #FFF;
	border-radius: 5px;
	font-size: 1em;
}
#mk_price a{
	display:block;
	margin: auto;
	padding: .2em;
	text-align: center;
	width:180px;
	background-color: #cc363f;
	color: #fff;
	font-size: 4vw;
	border-radius: 40px;
}
#mk_price a:hover{
	background-color: #713a3a;
}
#mk_price a:before {
	margin: 0 5px 0 0;
	position:relative;
	display: inline-block;
	font-size: 20px;
	transition: 0.3s;
	font-family: 'Material Symbols Outlined';
	content: '\e313';
	vertical-align: middle;
}
#price_table a{
	display:block;
	margin: auto;
	padding: 0px;
	text-align: center;
	width:180px;
	background-color: #cc363f;
	color: #fff;
	font-size: 14px;
	border-radius: 40px;
}
#price_table a:hover{
	background-color: #713a3a;
}
#price_table a:before {
	margin: 0 5px 0 0;
	position:relative;
	display: inline-block;
	font-size: 35px;
	transition: 0.3s;
	font-family: 'Material Symbols Outlined';
	content: '\e863';
	vertical-align: middle;
}
.cal_goods_list{
	display:flex;
	align-items: flex-end;
	flex-direction: row;
	flex-wrap: wrap;
}
.goods_show{
	width: 100%;
}
.goods_price{
	width: 100%;
	text-align:right;
}
.calArea dd.dd_price{
	text-align:right;	
}
#price_table{
	max-width:800px;
	margin: 2em auto;
	border:1px solid #ccc;
	padding: 1em .5em;
	border-radius:10px;
}
#price_table h4{
	text-align:left;
}
#price_table .calArea dt{
	width: 40%;
	min-height: 3em;
}
#price_table .calArea dd{
	width: 60%;
}

#page_title{
	position:relative;
	z-index:1000;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 0.5s;	/* 秒数 = 1.0秒 */
}
#page_title.fixed{
	position:fixed;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 0.5s;	/* 秒数 = 1.0秒 */
	background-color: #f5f5f5;
	width:100%;
	border-bottom: 1px solid #ccc;
	border-top:5px solid #2CA5AC;
}
#page_title p{
	display:block;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 1.0s;	/* 秒数 = 1.0秒 */
}
#page_title.fixed p{
	display:none;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 1.0s;	/* 秒数 = 1.0秒 */
}
#page_title .layout{
	margin: 0 auto;
	padding: 0;
	max-width: 1200px;
	position: relative;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 1.0s;	/* 秒数 = 1.0秒 */
}
#page_title.fixed .layout{
	margin: 0 auto;
	padding: 0 2em;
	max-width: 100%;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 1.0s;	/* 秒数 = 1.0秒 */
}
#page_title h2{
	font-weight:normal;
	font-size: 2em;
	line-height: normal;
	font-weight:600;
	text-align: left;
	display: inline-block;
	margin-right:1em;
	margin-bottom: .5em;
	padding-bottom: 0;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 1.0s;	/* 秒数 = 1.0秒 */
	color:#000;
}
#page_title.fixed h2{
	font-weight:normal;
	font-size: 1.5em;
	line-height: normal;
	font-weight:600;
	text-align: left;
	display: inline-block;
	margin-right:1em;
	margin-bottom: .5em;
	padding-bottom: 0;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 1.0s;	/* 秒数 = 1.0秒 */
	margin-top: 0;
	color:#333;
}
#page_title h2 span{
	font-family: 'Roboto', sans-serif;
	display:block;
	font-size:.6em;
	letter-spacing:.2em;
	color: #2CA5AC;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 0.2s;	/* 秒数 = 1.0秒 */
}
#page_title.fixed h2 span{
	font-size:.5em;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 0.2s;	/* 秒数 = 1.0秒 */
}
#page_title .h2_sub{
	display:inline-block;
	border-radius:1em;
	border:1px solid #aaa;
	padding:.3em 1.2em;
	font-size: 1em;
	margin: 0 .5em 0 0;
	background: #fff;
}
#page_title.fixed .h2_sub{
	display:none;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 1.0s;	/* 秒数 = 1.0秒 */
}
#page_title .room_menu{
	position:absolute;
	right:0;
	overflow: scroll;
	display: none;
}
#page_title.fixed .room_menu{
	right:2em;
	top:1em;
}
#page_title .room_menu ul{
	display:flex;
	justify-content: flex-end;
	width: 800px;
	/* overflow: scroll; */
}
.room_menu li{
	margin-left:0em;
}
#page_title .room_menu li a{
	padding-left: 1.5em;
	color:#000;
	font-weight:500;
	font-size: .9em;
}
#page_title.fixed .room_menu li a{
	color:#333;
}
#page_title .room_menu li a:hover{
	color:#2ca5ac;
}
#page_title .room_menu li a:before {
	margin: 0 5px 0 0;
	position:relative;
	display: inline-block;
	font-size: 25px;
	transition: 0.3s;
	font-family: 'Material Symbols Outlined';
	content: '\e313';
	vertical-align: middle;
	color:#2ca5ac;
	font-weight:800;
}
#page_title.fixed .room_menu li a:before {
	color:#2ca5ac;
}

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ご利用の流れ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
#flow_step{
	max-width:1200px;
	margin: 4em auto 1em auto;
}
#flow_step ul{
	margin:0;
	padding:0;
	list-style-type:none;
	display:flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
}
#flow_step li{
	width: 90%;
	border:3px solid #2D9CA2;
	background-color:#F1F7F6;
	border-radius:10px;
	position:relative;
	padding: 4em 1em 0em 1em;
	box-sizing:border-box;
	text-align:left;
	font-size: .9em;
	margin-bottom: 4em;
}
#flow_step li span.flow_step_number{
	position:absolute;
	width:70px;
	height:70px;
	border-radius:50%;
	background-color:#2D9CA2;
	text-align:center;
	line-height:70px;
	color:#fff;
	left:10px;
	top:-30px;
	z-index:100;
}
#flow_step li span.flow_step_img{
	position:absolute;
	width:120px;
	height:100px;
	text-align:center;
	right:10px;
	top:-60px;
	z-index:100;
}
#flow_step h3{
	color:#2D9CA2;
	font-size: 1.3em;
	margin: 0 0 .5em 0;
	padding:0;
}
.flow_step{
	max-width:1200px;
	margin: 0em auto 3em auto;
}
.flow_step dt{
	position:relative;
	color:#2D9CA2;
	font-size: 1.8em;
	font-family: 'Roboto', sans-serif;
	padding-left:1em;
	padding-top:.2em;
}
.flow_step_section{
	display:flex;
	padding: 0 0em 2em 1em;
	flex-direction: row;
	flex-wrap: wrap;
}
.flow_step dt::after {
	content: '';
	position: absolute;
	top: calc(0.5em + 5px);
	left: 4px;
	width: 2px;
	height: calc(100% + 2em);
	background-color: #ddd;
}
.flow_step dt::before {
	position: absolute;
	top: .5em;
	left: 0px;
	content: '';
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #2D9CA2;
	z-index: 1;
}
.flow_step dd{
	padding: 0 1em 0 2em;
	text-align:left;
	position:relative;
	margin: 0;
}
.flow_step dd > a{
	background-color: #2D9CA2;
	color:#fff;
	font-weight:500;
	padding:1em 2em;
	display:inline-block;
	margin:1em 0;
	border-radius:10px;
	font-size: 3.3vw;
}
.flow_step .information .flow-contact-phone{
	background:transparent;
	color:inherit;
	font-weight:inherit;
	padding:0;
	display:inline;
	margin:0;
	border-radius:0;
	font-size:inherit;
	text-decoration:none;
}
.flow_step .information .flow-contact-phone:hover,
.flow_step .information .flow-contact-phone:focus{
	text-decoration:underline;
}
.flow_step dd::after {
	content: '';
	position: absolute;
	top: calc(0.5em + 5px);
	left: 4px;
	width: 2px;
	height: calc(100% + 2em);
	background-color: #ddd;
}
.information{
	/* border: 3px solid #8d7a78; */
	background-color: #ece8e8;
	border-radius:10px;
	padding:1em;
}
/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ご利用料金▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
#price_list{
	max-width:1200px;
	margin: 1em auto 3em auto;
	background-color: #fff;
	border-radius: 10px;
	padding: 1em;
	text-align:left;
}
/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼資料ダウンロード▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
#download_list{
	max-width:1200px;
	margin: 1em auto 3em auto;
	background-color: #fff;
	border-radius: 10px;
	padding: 3em 1em 1em 1em;
	text-align:left;
}
#download_list ul{
	margin:0;
	padding:0;
	display:flex;
	flex-wrap: wrap;
}
#download_list li{
	margin:0 1%;
	padding:0;
	width: 98%;
	box-sizing:border-box;
}
a.data_file {
	width: 100%;
	display: -webkit-box;
	height: auto;
	padding: 1em 1em 1em 2em;
	margin-bottom: 1.5em;
	border: 1px solid #999591;
	border-radius: 10px;
	font-size: 1em;
	color: #000;
	position: relative;
	box-sizing:border-box;
}
a.data_file:hover {
	font-weight: bold;
	background: #eee8df;
	color: #c06262;
}
a.data_file:after {
	content: "\f090";
	font-family: 'Material Symbols Outlined';
	font-size:2em;
	font-weight:600;
	right: 0;
	position: absolute;
	border-left: 1px solid #a98963;
	top: 0px;
	height: 100%;
	display:inline-block;
	max-width:100%;
	padding:0 .5em;
	line-height: 2em;
	color:#c06262;
}
a.data_file:hover::after {
	background:#ded5c6;
	border-radius:0 10px 10px 0;
}

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼弁当▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
#bento-list ul{
	width:100%;
	display:flex;
	flex-wrap: wrap;
}
#bento-list li{
	width: 48%;
	margin:1%;
}
#bento-list li .photo{
	width:100%;
	border:solid 1px #ccc;
	height:11em;
	display:flex;
	align-items: center;
	background-color:#eee;
	margin-bottom:.4em;
	justify-content: space-evenly;
}
#bento-list li .photo a{
	width:100%;
	display:flex;
	align-items: center;
	justify-content: space-evenly;
	height:100%;
}
#bento-list li .photo a img,#bento-list li .photo img{
	width:100%;
	height:auto;
	max-height:100%;
}
#bento-list li .photo p{
	margin:0;
	color:#666;
}
#bento-list li .name{
	display:block;
	font-size:.9em;
	font-weight:bold;
	text-align:left;
}
#bento-list li .name .otea-tag{
	background-color:#60ac2c;
	border-radius:5px;
	color:#fff;
	font-weight:normal;
	font-size:.9em;
	padding:.1em .5em;
	margin-left:.5em;
}
#bento-list li .price{
	display:block;
	font-size:.9em;
	font-weight:bold;
	text-align:left;
	color:#ef4c38;
}
#bento-list li .price span{
	display:inline-block;
	font-size:.9em;
	font-weight:bold;
	text-align:left;
	color:#000;
}
#bento-list li .shop_name{
	display:block;
	font-size:.8em;
	text-align:left;
}
.button:first-child {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}
.button:last-child {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    border-right: 1px solid #999;
}
.button.mixitup-control-active{
	background-color:#444;
	color:#fff;
}
.bento-single-cont {
	width: 100%;
	/* float: left; */
	display: inline-block;
	vertical-align: top;
	/* max-width: 1200px; */
	padding: 1em;
	box-sizing: border-box;
}
.bento-cont table,.bento-single-cont table {
	margin: 20px auto 20px auto;
	padding:0;
	border-collapse:collapse;
	border-spacing:0px;
	text-align:left;
	width:100%;
	box-sizing: border-box;
	display: block;
}
.bento-cont table,.bento-single-cont table p{
	margin-bottom:0;
}
.bento-cont table th,.bento-single-cont table th {
	padding: .5em 1em;
	vertical-align: center;
	background-color: #ece8e0;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	width: 20%;
	font-size: .85em;
	width: 100%;
	display: block;
	box-sizing: border-box;
}
.bento-cont table td,.bento-single-cont table td {
	padding: 1em 1em;
	vertical-align: top;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	margin:0;
	font-size: .7em;
	display: block;
	width: 100%;
	box-sizing: border-box;
}
.buttons {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}
.button {
	border: 1px solid #999;
	border-right: none;
	color: #333;
	padding: 1em 1em;
	background-color: #fff;
	cursor: pointer;
	width: 50%;
	transition: .3s ease;
	position: relative;
	font-weight:600;
}
.button:first-child {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}
.button:last-child {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    border-right: 1px solid #999;
}
.button.mixitup-control-active{
	background-color:#444;
	color:#fff;
}

.range-wrapper {
  position: relative;
  width: 400px;
  height: 40px;
  margin: 20px 0;
}

.range-wrapper input[type="range"] {
  position: absolute;
  width: 100%;
  left: 0;
  top: 30%;
  pointer-events: none;
  appearance: none;
  background: none;
}

.range-wrapper input::-webkit-slider-thumb {
  pointer-events: auto;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #333;
  cursor: pointer;
}

.range-track {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 6px;
  width: 100%;
  background: #ddd;
  border-radius: 3px;
}

.range-selected {
  position: absolute;
  top: 50%;
  height: 6px;
  background: #4CAF50;
  border-radius: 3px;
}

.input-area {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}

.price-input-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.price-input {
  width: 110px;
  padding: 4px 6px;
}

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼弁当注文▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
/* =================================================   
   1. フォーム全体・共通設定
   ================================================= */
.order-form-section {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    max-width: 1200px;
    text-align: left;
}

.order-form-container {
    background: #f9f9f9;
    padding: 1em;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-top: 40px;
    color: #333;
    line-height: 1.6;
}

.order-form-container p {
    margin: 0;
}

.section-title {
    background: #555;
    color: #fff;
    padding: 8px 15px;
    margin: 30px 0 15px;
    font-size: .9rem;
    border-radius: 4px;
}

/* 注意書き・注釈 */
.form-main-note {
    color: #d32f2f;
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 0.8rem;
}

.small-note {
    font-size: 0.85rem;
    color: #666;
    margin-top: 5px;
    margin-bottom: 10px;
}

.form-notes-list {
    font-size: 0.85rem;
    padding-left: 20px;
    color: #444;
    margin-bottom: 15px;
}

.caution-text {
    font-size: 0.85rem;
    color: #d32f2f;
    border-left: 3px solid #d32f2f;
    padding-left: 10px;
    margin-top: 5px;
}

/* =================================================   
   2. レイアウト（グリッド・カラム）
   ================================================= */
.form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
}

.form-col {
    flex: 1;
}

.form-col label {
    display: block;
    font-weight: bold;
    margin-bottom: 8px;
    color: #444;
    border-left: 4px solid #d32f2f;
    padding-left: 10px;
    text-align: left;
}

/* =================================================   
   3. 注文テーブル（お弁当・飲料）
   ================================================= */
.order-table-wrapper {
    overflow-x: auto;
    margin-bottom: 15px;
}

.order-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    table-layout: fixed;
}

.order-table th, 
.order-table td {
    border: 1px solid #ccc;
    padding: .2em 0em;
    vertical-align: middle;
    font-weight: bold;
}

.order-table th {
    background: #eee;
    font-size: 0.7rem;
    text-align: center;
}

/* テーブル内入力フィールド */
.order-table input {
    width: 100%;
    box-sizing: border-box;
}

/* 読み取り専用行（店舗メニュー） */
.order-table input.is-readonly,
.order-table input[readonly] {
    border: none !important;
    background: transparent !important;
    pointer-events: none;
    color: #333;
    font-weight: bold;
    box-shadow: none !important;
}

/* 自由入力行・数量・時間 */
.order-table input:not(.is-readonly) {
    border: 1px solid #ccc !important;
    background: #fff !important;
    padding: 5px !important;
}

/* 数値入力（右寄せ） */
.order-table input[type="number"] {
    text-align: right;
}

/* 合計・集計行 */
.order-table tr:last-child {
    background-color: #fff8f8 !important;
}

#all-total-tax {
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.05em;
}

/* =================================================   
   4. 共通入力パーツ（text, tel, date, textarea）
   ================================================= */
.form-section input[type="text"],
.form-section input[type="tel"],
.form-section input[type="date"],
.form-section textarea {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #ddd;
    border-radius: 6px;
    background-color: #fff;
    font-size: .7em;
    color: #333;
    transition: all 0.3s ease;
    box-sizing: border-box;
    outline: none;
}

.form-section input:focus,
.form-section textarea:focus {
    border-color: #d32f2f;
    background-color: #fff8f8;
    box-shadow: 0 0 8px rgba(211, 47, 47, 0.2);
}

/* カレンダー(date)固有設定 */
.form-section input[type="date"] {
    position: relative;
    cursor: pointer;
    font-family: inherit;
}

.form-section input[type="date"]::-webkit-calendar-picker-indicator {
    background: transparent;
    cursor: pointer;
    height: 100%;
    width: 40px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

.form-col.date-col {
    position: relative;
}

.form-col.date-col:after {
    content: '??';
    position: absolute;
    right: 15px;
    bottom: 12px;
    font-size: 1.2em;
    pointer-events: none;
    color: #d32f2f;
}

/* =================================================   
   5. ラジオボタン装飾（ボタンタイル型）
   ================================================= */
.radio-flex .wpcf7-form-control-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.radio-flex input[type="radio"] {
    display: none; /* 標準ボタン隠し */
}

.radio-flex .wpcf7-list-item {
    display: inline-block;
    margin: 5px !important;
}

.radio-flex .wpcf7-list-item-label {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 25px 15px 35px;
    background: #fff;
    border: 2px solid #ddd;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    font-weight: bold;
    color: #555;
    min-width: 180px;
    box-shadow: 0 2px 0 rgba(0,0,0,0.05);
}

.radio-flex .wpcf7-list-item-label:hover {
    border-color: #aaa;
    transform: translateY(-2px);
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
}

/* 選択時の状態 */
.radio-flex input[type="radio"]:checked + .wpcf7-list-item-label {
    /* background: linear-gradient(135deg, #e53935 0%, #d32f2f 100%); */
    border-color: #b71c1c;
    /* color: #fff; */
    transform: translateY(2px);
    box-shadow: inset 0 2px 5px rgba(0,0,0,0.2);
    /* padding-left: 45px; */
}

/* 選択時のチェックマーク */
.radio-flex input[type="radio"]:checked + .wpcf7-list-item-label:after {
    content: '';
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: .6em;
    height: 1em;
    border-bottom: 3px solid #b71c1c;
    border-right: 3px solid #b71c1c;
    border-radius: 1px;
    animation: checkmarkPop 0.3s ease-out forwards;
}

@keyframes checkmarkPop {
    0% { opacity: 0; transform: translateY(-50%) rotate(45deg) scale(0.5); }
    100% { opacity: 1; transform: translateY(-50%) rotate(45deg) scale(1); }
}

/* =================================================   
   6. 送信ボタン
   ================================================= */
.form-submit {
    text-align: center;
    margin-top: 30px;
}

.form-submit .button {
    background: #ff5722;
    color: #fff;
    padding: 15px 50px;
    font-size: 1.2rem;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: 0.3s;
    font-weight: bold;
}

.form-submit .button:hover {
    background: #e64a19;
    transform: scale(1.05);
}
/* ================================================================
   SP overrides (<=768px)
   - ブレイクポイント: 768px 以下
   - コンテンツ全体を縦1カラム化
   - 記事内テーブルは親を突き抜けず横スクロール
   - PC版ナビ（mainmenu）はスマホで非表示
================================================================ */
@media (max-width: 768px) {
  html,
  body {
    overflow-x: hidden;
    width: 100%;
  }

  body {
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  /* --- コンテンツ全体：横幅を1カラムに寄せる --- */
  .wrap,
  .layout,
  #page_title .layout,
  #page_back .layout,
  #page_main,
  #article_main {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .layout,
  #page_title .layout,
  #page_back .layout {
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-bottom: 1em;
  }

  /* --- 記事内テーブル：横スクロール対応（親幅を突き抜けない） --- */
  .table_scroll{
	  overflow:scroll;
	  margin-right: -3em;
	 }
  #article_main table,
  #page_main table,
  .layout table {
    display: block;
    /* max-width: 100%; */
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #article_main th,
  #article_main td,
  #page_main th,
  #page_main td {
    white-space: nowrap;
  }

  /* --- PC版ナビ（メインメニュー）をスマホでは非表示 --- */
  mainmenu {
    display: none;
    position: absolute;
    background: #333;
    width: 100%;
    left: 0;
    top: 0;
  }
}
/* Bento submenu on mobile */
.bento-mega-menu {
	display: block !important;
	position: static !important;
	width: 100% !important;
	padding: 0 0 0 1em !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: none !important;
}
.bento-mega-menu::before,
.bento-mega-menu::after,
.bento-mega-intro,
.bento-mega-list img {
	display: none !important;
}
mainmenu li.menu-item-bento {
	display: block !important;
	height: auto !important;
}
mainmenu li.menu-item-bento > a.menu05 {
	display: flex !important;
}
mainmenu ul.bento-mega-list {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
mainmenu .bento-mega-list li {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	border: none !important;
	font-size: inherit !important;
}
mainmenu .bento-mega-list a {
	display: block !important;
	width: 100% !important;
	padding: .45em 0 .45em 1em !important;
	box-sizing: border-box !important;
	background: transparent !important;
	border-radius: 0 !important;
	color: inherit !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	text-align: left !important;
}

/* ================================================================
   Current-site smartphone completion
   Keep this section last so that it also covers selectors added to pc.css
   after the original smartphone stylesheet was created.
================================================================ */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body,
.wrap {
	width: 100%;
	max-width: 100%;
}

body {
	font-size: 14px;
	line-height: 1.75;
	word-break: normal;
	overflow-wrap: anywhere;
}

.layout,
.footer_layout,
.refreshment_layout,
.catering-form-container,
.drink-form-container,
.order-form-container {
	width: calc(100% - 32px);
	max-width: none;
	margin-left: auto;
	margin-right: auto;
}

#page_title .layout,
#page_back .layout {
	width: 100%;
}

#page_title h2 {
	font-size: clamp(25px, 7.2vw, 32px);
	line-height: 1.35;
	text-align: left;
	overflow-wrap: anywhere;
}

#page_title h2 span {
	font-size: .55em;
	letter-spacing: .14em;
}

h3.catering-category-title {
	width: 100%;
	max-width: 30em;
	height: auto;
	min-height: 3em;
	padding: .65em 1.5em;
	line-height: 1.5;
}

iframe,
video,
embed,
object {
	max-width: 100%;
}

input,
select,
textarea,
button {
	max-width: 100%;
	font-family: inherit;
}

/* Header and drawer navigation */
header,
#header_menu {
	width: 100%;
	max-width: 100%;
}

#header_menu {
	padding-left: 12px;
	padding-right: 68px;
}

.logo {
	width: min(58vw, 240px);
	max-width: none;
}

.logo h1 {
	margin: 0;
}

#menuButton {
	right: 10px;
}

mainmenu {
	position: fixed;
	inset: 0;
	z-index: 999;
	height: 100dvh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

mainmenu > ul {
	min-height: 100%;
	padding: 68px 18px 32px;
}

mainmenu li,
mainmenu li a {
	width: 100%;
}

mainmenu li a {
	min-height: 48px;
	display: flex;
	align-items: center;
}

mainmenu .bento-mega-list a {
	min-height: 42px;
}

/* Common page content and horizontal data */
.table_scroll {
	width: 100%;
	margin-right: 0;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

.table_scroll table,
.index_room-list_table,
#pricetable,
.price_table,
.goods_table,
.order-table {
	max-width: none;
}

.range-wrapper {
	width: 100%;
	max-width: 400px;
}

.input-area,
.radio-flex .wpcf7-form-control-wrap {
	align-items: stretch;
}

.radio-flex .wpcf7-list-item,
.radio-flex .wpcf7-list-item-label {
	width: 100%;
	min-width: 0;
}

.form-row {
	flex-direction: column;
	gap: 14px;
}

.form-col {
	width: 100%;
	min-width: 0;
}

.order-form-container {
	padding: 16px;
}

.order-table-wrapper {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.order-table {
	width: 680px;
	display: table !important;
}

.order-table th,
.order-table td {
	white-space: normal !important;
	padding: 6px 5px;
}

.form-submit .button {
	width: 100%;
	padding: 14px 20px;
}

/* Bento and hors d'oeuvre archives */
.buttons {
	gap: 0;
}

.buttons .button,
.sort-buttons .button,
.filter-buttons .button {
	width: 50%;
	min-height: 46px;
	padding: .75em .5em;
}

#bento-list ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 8px;
}

#bento-list li {
	width: auto;
	margin: 0;
	min-width: 0;
}

#bento-list li .photo {
	height: auto;
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	overflow: hidden;
}

#bento-list li .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Catering archive and detail */
#catering-list ul {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: none;
	gap: 16px;
	margin-bottom: 32px;
}

#catering-list li {
	width: 100%;
	margin: 0;
	border: 2px solid #d4c793;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}

.catering-photo,
.catering-photo a {
	display: block;
	width: 100%;
}

.catering-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.catering-content {
	width: 100%;
	padding: 14px 16px 18px;
	text-align: left;
}

.catering-name {
	margin: 0 0 8px;
	font-size: 1.15em;
	text-align: center;
}

.catering-text {
	height: auto;
	min-height: 0;
	font-size: .9em;
}

.catering-drink,
div.catering-price {
	justify-content: center;
	text-align: center;
}

.catering-shop_name {
	justify-content: center;
}

.catering_single {
	width: calc(100% - 32px);
	margin: 16px auto;
	padding: 16px;
}

.catering_single h2 {
	font-size: 1.45em;
}

.catering_single_contents {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 24px;
}

.catering_single_photo,
.catering_single_text,
.catering_single_data,
.catering_single_menu,
.catering_single_drink,
.catering_single_guide {
	width: 100%;
	grid-area: auto;
}

.catering_single_data,
.catering_single_menu,
.catering_single_drink,
.catering_single_guide {
	padding: 14px;
}

/* Catering order form */
.catering-form-container {
	padding: 16px;
	margin-top: 24px;
	margin-bottom: 24px;
}

.catering-form-row {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 14px 0;
}

.catering-form-label-col,
.catering-form-input-col {
	width: 100%;
	padding-right: 0;
}

.catering-form-label-col {
	margin-bottom: 8px;
}

.catering-input-unit {
	flex-wrap: wrap;
}

.catering-input-unit input[type="number"] {
	width: min(140px, 65%) !important;
}

.wpcf7-radio,
.catering-radio-flex .wpcf7-form-control {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.catering-radio-flex .wpcf7-list-item {
	margin: 0 16px 0 0 !important;
}

.catering-submit-button {
	width: 100%;
	min-width: 0;
	padding: 16px 20px;
}

/* Refreshments */
.refreshment_layout {
	padding: 0;
	overflow: hidden;
}

.refresh_assort {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.refresh_assort_img {
	width: 100%;
	padding-bottom: 18px;
}

.refresh_assort_img img {
	display: block;
	width: 100%;
	margin: 0 0 8px;
	border: 0;
	border-radius: 0;
}

.refresh_title,
.refresh_price,
.refresh_text {
	padding-left: 16px;
	padding-right: 16px;
	text-align: left;
}

/* Drink form */
.drink-form-container {
	padding: 16px;
	margin-top: 24px;
	margin-bottom: 24px;
}

.drink-form-table-header {
	display: none;
}

.drink-form-table-row {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 16px 0;
}

.col-name,
.col-desc,
.col-price,
.col-qty {
	width: 100%;
	padding: 0;
	text-align: left;
}

.col-name,
.col-desc,
.col-price {
	margin-bottom: 8px;
}

.col-qty,
.drink-qty-wrap {
	justify-content: flex-start;
}

.drink-total-box {
	padding: 16px;
}

.total-row {
	gap: 16px;
}

.total-val.highlight {
	font-size: 1.35rem;
}

.drink-info-row {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 14px 0;
}

.drink-info-label-col,
.drink-info-input-col {
	width: 100%;
	padding-right: 0;
}

.drink-info-label-col {
	margin-bottom: 8px;
}

.drink-submit-button {
	width: 100%;
	min-width: 0;
	padding: 16px 20px;
}

/* Access, room details, flow and downloads */
.address_access,
.address_map,
.article-single-layout,
.article-single-price,
.room_card,
.room_menu {
	width: 100%;
	max-width: 100%;
}

.address_access,
.article-single-layout,
.room_card {
	flex-direction: column;
}

.address_access > *,
.article-single-layout > *,
.room_card_left,
.room_card_right {
	width: 100%;
}

.article-single-price-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.room_menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.room_menu > * {
	width: auto;
	min-width: 0;
}

#flow_step ul,
.flow_step dl {
	width: 100%;
}

#flow_step li,
.flow_step_section {
	width: 100%;
	max-width: 100%;
}

#download_list a,
a.pdf {
	min-height: 52px;
	height: auto;
	padding: 12px 16px 12px 52px;
	line-height: 1.5;
}

@media (max-width: 420px) {
	#header_menu {
		padding-left: 8px;
	}

	#bento-list ul {
		gap: 14px 6px;
	}

	#bento-list li .name,
	#bento-list li .price,
	#bento-list li .shop_name {
		font-size: .82em;
	}

	.room_menu {
		grid-template-columns: 1fr;
	}
}

/* ================================================================
   Child/detail pages
   Catering plans, bento shops and delivery shops
================================================================ */
.catering_single {
	border: 2px solid #d4c793;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(79, 58, 47, .08);
	color: #333;
	text-align: left;
}

.catering_single_shop_name {
	display: table;
	width: auto;
	max-width: 100%;
	min-height: 32px;
	margin: 0 auto 12px;
	padding: 5px 30px;
	background: #fce55f;
	color: #644444;
	font-size: .85em;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
	position: relative;
}

.catering_single_shop_name::before,
.catering_single_shop_name::after {
	content: "";
	position: absolute;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
}

.catering_single_shop_name::before {
	left: 0;
	border-width: 16px 0 16px 10px;
	border-color: transparent transparent transparent #fff;
}

.catering_single_shop_name::after {
	right: 0;
	border-width: 16px 10px 16px 0;
	border-color: transparent #fff transparent transparent;
}

.catering_single > h2 {
	position: relative;
	margin: 0 0 22px;
	padding: 8px 8px 14px;
	color: #644444;
	font-size: clamp(22px, 6.5vw, 30px);
	line-height: 1.35;
	text-align: center;
}

.catering_single > h2::after {
	content: "";
	position: absolute;
	left: 25%;
	bottom: 0;
	width: 50%;
	height: 4px;
	background: repeating-linear-gradient(-45deg, #d4c793, #d4c793 2px, #fff 2px, #fff 4px);
}

.catering_single_photo {
	min-height: 190px;
	border: 1px solid #d4c793;
	border-radius: 10px;
	background: #f7f5ef;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.catering_single_photo img {
	display: block;
	width: 100%;
	height: auto;
	min-height: 190px;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	color: #856e5d;
	font-size: .9em;
	text-align: center;
}

.catering_single_photo .no-image {
	padding: 64px 16px;
	color: #8b8178;
	text-align: center;
}

.catering_single_text {
	padding: 2px 4px;
	font-size: .95em;
	line-height: 1.85;
}

.catering_single_text p:last-child {
	margin-bottom: 0;
}

.catering_single_data {
	border: 1px solid #eadfcd;
	border-radius: 10px;
	background: #fffdf8;
	text-align: center;
}

.catering_single_data .catering-drink {
	margin-bottom: 8px;
}

.catering_single_data .catering-drink span {
	display: inline-block;
	width: auto;
	margin: 0;
	padding: 4px 12px;
	border-radius: 999px;
	background: #fff200;
	font-size: .85em;
	font-weight: 700;
}

.catering_single_data .catering-price {
	margin: 0;
	text-align: center;
}

.catering_single_data .item2 {
	font-size: 1.6em;
}

.catering_single_data .price2 {
	font-size: 2em;
}

.catering_single_menu,
.catering_single_drink,
.catering_single_guide {
	border: 1px solid #d4c793;
	border-radius: 10px;
	background: #f9f7ef;
	font-size: .9em;
	line-height: 1.8;
}

.catering_single_menu h3,
.catering_single_drink h3,
.catering_single_guide h3 {
	margin: 0 0 14px;
	padding: 0 0 9px;
	border-bottom: 1px dotted #b9aa71;
	color: #644444;
	font-size: 1.15em;
	line-height: 1.45;
}

.catering_single_menu h3 span,
.catering_single_drink h3 span,
.catering_single_guide h3 span {
	display: inline-block;
	margin: 0 0 0 8px;
	color: #8b745f;
	font-family: 'Roboto', sans-serif;
	font-size: .7em;
	font-weight: 500;
	letter-spacing: .12em;
}

.catering_single_menu p,
.catering_single_drink p,
.catering_single_guide p {
	margin-bottom: 0;
}

.catering-form-wrapper {
	width: 100%;
	margin-top: 20px;
}

.catering-form-container {
	width: 100%;
	margin: 0;
	padding: 18px 14px;
	border: 1px solid #e3ddd3;
	border-radius: 12px;
	background: #fbfaf7;
	box-shadow: none;
}

.catering-form-top-note {
	margin: 0 0 22px;
	padding: 10px 12px;
	border-left: 4px solid #b32525;
	background: #fff4f4;
	color: #b32525;
	font-size: .9em;
	font-weight: 700;
}

.catering-form-section {
	margin-bottom: 30px;
}

.catering-section-title {
	margin: 0 0 14px;
	padding: 11px 13px;
	border: 0;
	border-radius: 8px;
	background: #eee7d9;
	color: #644444;
	font-size: 1.1rem;
	font-weight: 700;
	text-align: left;
}

.catering-form-row {
	border-bottom: 1px solid #e6e1d9;
}

.catering-form-section .catering-form-row:first-of-type {
	border-top: 1px solid #e6e1d9;
}

.catering-label {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	color: #333;
	font-size: .95em;
	font-weight: 700;
}

.catering-required {
	display: inline-block;
	margin-left: 0;
	padding: 2px 8px;
	border-radius: 999px;
	background: #b32525;
	color: #fff;
	font-size: .68em;
	font-weight: 500;
	white-space: nowrap;
}

.catering-form-container input[type="text"],
.catering-form-container input[type="tel"],
.catering-form-container input[type="email"],
.catering-form-container input[type="number"],
.catering-form-container input[type="date"],
.catering-form-container textarea {
	width: 100%;
	min-height: 46px;
	padding: 11px 12px;
	border: 1px solid #cfc8be;
	border-radius: 7px;
	background: #fff;
	color: #333;
	font-size: 16px;
	line-height: 1.5;
	outline: none;
}

.catering-form-container textarea {
	min-height: 130px;
	resize: vertical;
}

.catering-form-container input:focus,
.catering-form-container textarea:focus {
	border-color: #8e6b51;
	box-shadow: 0 0 0 3px rgba(142, 107, 81, .12);
}

.catering-form-container input[readonly] {
	background: #eeeae3;
	color: #665f59;
}

.catering-radio-flex .wpcf7-list-item {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	margin: 0 !important;
	padding: 7px 10px;
	border: 1px solid #d8d0c5;
	border-radius: 7px;
	background: #fff;
}

.catering-radio-flex input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0 6px 0 0;
}

.catering-radio-flex .wpcf7-list-item-label {
	font-size: .9em;
	font-weight: 600;
}

.catering-submit-button {
	border: 0;
	border-radius: 8px;
	background: #b32525;
	color: #fff;
	font-size: 1em;
	font-weight: 700;
	letter-spacing: .04em;
	box-shadow: 0 4px 0 #7f1919;
}

.catering-submit-button:active {
	transform: translateY(3px);
	box-shadow: 0 1px 0 #7f1919;
}

/* Bento and delivery shop detail pages */
.bento-single-cont {
	width: calc(100% - 32px);
	margin: 24px auto;
	padding: 0;
	border: 1px solid #ddd5c8;
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
}

.bento-single-cont table {
	width: 100%;
	margin: 0;
	border: 0;
}

.bento-single-cont table th {
	padding: 10px 14px;
	border: 0;
	background: #ece8e0;
	color: #443f3a;
	font-size: .9em;
	font-weight: 700;
}

.bento-single-cont table td {
	padding: 12px 14px 16px;
	border: 0;
	background: #fff;
	font-size: .9em;
	white-space: normal !important;
}

.bento-single-cont table tr + tr th {
	border-top: 1px solid #ddd5c8;
}

.order-form-section,
.shop-order-form {
	width: 100%;
	max-width: 100%;
}

.shop-order-form .order-form-container {
	margin-top: 24px;
	margin-bottom: 32px;
	border-radius: 10px;
}

.shop-order-form .section-title {
	font-size: 1rem;
	line-height: 1.45;
}

.shop-order-form .order-table-wrapper {
	margin-left: -4px;
	margin-right: -4px;
	padding-bottom: 8px;
}

.shop-order-form .form-row {
	margin-bottom: 18px;
}

.shop-order-form .form-col label {
	line-height: 1.5;
}

.shop-order-form .form-section input[type="text"],
.shop-order-form .form-section input[type="tel"],
.shop-order-form .form-section input[type="date"],
.shop-order-form .form-section textarea {
	min-height: 46px;
	font-size: 16px;
}

@media (max-width: 420px) {
	.catering_single {
		width: calc(100% - 20px);
		padding: 12px;
		border-radius: 12px;
	}

	.catering_single_photo,
	.catering_single_photo img {
		min-height: 160px;
	}

	.catering_single_menu,
	.catering_single_drink,
	.catering_single_guide {
		padding: 12px;
		font-size: .85em;
	}

	.catering-form-container {
		padding: 14px 10px;
	}

	.bento-single-cont {
		width: calc(100% - 20px);
	}
}

/* ================================================================
   Refreshment page
   Product cards and drink/snack order form
================================================================ */
.refreshment_layout {
	width: calc(100% - 32px);
	margin: 0 auto 28px;
	padding: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

.refresh_assort {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.refresh_assort_img {
	width: 100%;
	padding: 0 0 18px;
	border: 1px solid #dedede;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 7px 20px rgba(45, 156, 162, .08);
	overflow: hidden;
}

.refresh_assort_img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	margin: 0 0 14px;
	border: 0;
	border-radius: 0;
	object-fit: cover;
}

.refresh_title,
.refresh_price,
.refresh_text {
	padding-left: 16px;
	padding-right: 16px;
	text-align: left;
}

.refresh_title {
	position: relative;
	margin: 0 0 8px;
	padding-left: 29px;
	color: #333;
	font-size: 1.05em;
	font-weight: 700;
	line-height: 1.5;
}

.refresh_title::before {
	content: "";
	position: absolute;
	left: 16px;
	top: .35em;
	width: 5px;
	height: 1em;
	border-radius: 999px;
	background: #2ca5ac;
}

.refresh_price {
	margin: 0 0 10px;
	color: #cc363f;
	font-size: 1.08em;
	font-weight: 700;
}

.refresh_text {
	margin: 0;
	color: #666;
	font-size: .86em;
	line-height: 1.75;
}

/* Refreshment order form shell */
.drink-form-container {
	width: 100%;
	max-width: 100%;
	margin: 28px 0 36px;
	padding: 18px 14px;
	border: 1px solid #d9e4e5;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(45, 156, 162, .08);
	color: #333;
	text-align: left;
}

.drink-form-top-note {
	margin: 0 0 24px;
	padding: 11px 12px;
	border-left: 4px solid #cc363f;
	border-radius: 0 7px 7px 0;
	background: #fff4f4;
	color: #b32525;
	font-size: .88em;
	font-weight: 700;
	line-height: 1.65;
}

.drink-form-section {
	margin-bottom: 32px;
}

.drink-form-section:last-of-type {
	margin-bottom: 20px;
}

.drink-section-title {
	position: relative;
	margin: 0 0 15px;
	padding: 11px 12px 11px 18px;
	border: 0;
	border-radius: 8px;
	background: #eaf5f5;
	color: #245f63;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .03em;
	text-align: left;
}

.drink-section-title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6px;
	border-radius: 8px 0 0 8px;
	background: #2ca5ac;
}

.drink-form-table-header {
	display: none;
}

/* One orderable product per card */
.drink-form-table-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"name name"
		"desc desc"
		"price qty";
	align-items: center;
	gap: 8px 12px;
	margin-bottom: 12px;
	padding: 14px;
	border: 1px solid #e1e5e5;
	border-radius: 10px;
	background: #fcfdfd;
}

.drink-form-table-row:last-child {
	margin-bottom: 0;
}

.drink-form-table-row .col-name {
	grid-area: name;
}

.drink-form-table-row .col-desc {
	grid-area: desc;
}

.drink-form-table-row .col-price {
	grid-area: price;
}

.drink-form-table-row .col-qty {
	grid-area: qty;
}

.drink-form-table-row .col-name,
.drink-form-table-row .col-desc,
.drink-form-table-row .col-price,
.drink-form-table-row .col-qty {
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	text-align: left;
}

.drink-label {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	color: #292929;
	font-size: 1em;
	font-weight: 700;
	line-height: 1.5;
}

.drink-desc {
	margin: 0 !important;
	color: #707070;
	font-size: .8em;
	line-height: 1.55;
}

.drink-price {
	margin: 0 !important;
	color: #cc363f;
	font-size: 1em;
	font-weight: 700;
	line-height: 1.35;
}

.drink-price span {
	display: block;
	color: #777;
	font-size: .72em;
	font-weight: 500;
}

.drink-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	color: #fff;
	font-size: .65em;
	font-weight: 500;
	white-space: nowrap;
}

.drink-badge.badge-free {
	background: #43a047;
}

.drink-qty-wrap {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	width: auto;
}

.drink-qty-wrap input[type="number"] {
	width: 72px !important;
	min-height: 42px;
	padding: 7px 8px;
	border: 1px solid #bfc9ca;
	border-radius: 7px;
	background: #fff;
	color: #333;
	font-size: 16px;
	text-align: right;
	outline: none;
}

.drink-qty-wrap input[type="number"]:focus {
	border-color: #2ca5ac;
	box-shadow: 0 0 0 3px rgba(44, 165, 172, .14);
}

.unit-text {
	color: #555;
	font-size: .82rem;
	font-weight: 700;
	white-space: nowrap;
}

/* Price total */
.drink-total-box {
	margin-top: 10px;
	padding: 14px 16px;
	border: 1px solid #cfe1e2;
	border-radius: 10px;
	background: #f5fbfb;
}

.drink-total-box .total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
	color: #444;
	font-size: .9em;
}

.drink-total-box .total-row:first-child {
	border-bottom: 1px dashed #cddcdc;
}

.drink-total-box .total-label {
	line-height: 1.5;
}

.drink-total-box .total-val {
	flex: 0 0 auto;
	font-size: 1.15rem;
	font-weight: 700;
	white-space: nowrap;
}

.drink-total-box .tax-row .total-label {
	color: #222;
	font-weight: 700;
}

.drink-total-box .total-val.highlight {
	color: #b32525;
	font-size: 1.35rem;
}

/* Customer information */
.drink-info-row {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	padding: 13px 0;
	border-bottom: 1px solid #e5e8e8;
}

.drink-form-section .drink-info-row:first-of-type {
	border-top: 1px solid #e5e8e8;
}

.drink-info-label-col,
.drink-info-input-col {
	width: 100%;
	padding: 0;
}

.drink-info-label-col {
	margin: 0;
}

.drink-info-label {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	color: #333;
	font-size: .92em;
	font-weight: 700;
}

.drink-required {
	display: inline-block;
	margin: 0;
	padding: 2px 8px;
	border-radius: 999px;
	background: #b32525;
	color: #fff;
	font-size: .68em;
	font-weight: 500;
	white-space: nowrap;
}

.drink-form-container input[type="text"],
.drink-form-container input[type="tel"],
.drink-form-container input[type="date"],
.drink-form-container input[type="email"] {
	width: 100%;
	min-height: 46px;
	padding: 11px 12px;
	border: 1px solid #c8d0d1;
	border-radius: 7px;
	background: #fff;
	color: #333;
	font-size: 16px;
	line-height: 1.5;
	outline: none;
}

.drink-form-container input[type="text"]:focus,
.drink-form-container input[type="tel"]:focus,
.drink-form-container input[type="email"]:focus {
	border-color: #2ca5ac;
	box-shadow: 0 0 0 3px rgba(44, 165, 172, .14);
}

.drink-form-submit {
	margin-top: 28px;
	text-align: center;
}

.drink-submit-button {
	width: 100%;
	min-width: 0;
	min-height: 54px;
	padding: 14px 16px;
	border: 0;
	border-radius: 9px;
	background: #b32525;
	color: #fff;
	font-size: 1em;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .03em;
	box-shadow: 0 4px 0 #7f1919;
}

.drink-submit-button:active {
	transform: translateY(3px);
	box-shadow: 0 1px 0 #7f1919;
}

@media (max-width: 420px) {
	.refreshment_layout {
		width: calc(100% - 20px);
	}

	.refresh_assort {
		gap: 14px;
	}

	.drink-form-container {
		padding: 14px 10px;
	}

	.drink-form-table-row {
		padding: 12px 10px;
		gap: 8px;
	}

	.drink-qty-wrap input[type="number"] {
		width: 64px !important;
	}

	.drink-total-box {
		padding: 12px;
	}
}

/* ================================================================
   Catering archive: smartphone version of the desktop card design
================================================================ */
#catering-list {
	width: 100%;
}

h3.catering-category-title {
	display: block;
	position: relative;
	width: min(100%, 570px);
	max-width: none;
	height: 58px;
	min-height: 0;
	margin: 36px auto 24px;
	padding: 0 32px;
	background: #fce55f;
	color: #644444;
	font-size: 1.15em;
	font-weight: 700;
	line-height: 58px;
	text-align: center;
	overflow: visible;
}

h3.catering-category-title::before,
h3.catering-category-title::after {
	content: "";
	position: absolute;
	top: 0;
	z-index: 1;
	width: 0;
	height: 0;
	border-style: solid;
}

h3.catering-category-title::before {
	left: 0;
	border-width: 29px 0 29px 16px;
	border-color: transparent transparent transparent #f5f5f5;
}

h3.catering-category-title::after {
	right: 0;
	border-width: 29px 16px 29px 0;
	border-color: transparent #f5f5f5 transparent transparent;
}

#catering-list ul {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: none;
	gap: 18px;
	margin: 0 0 32px;
}

#catering-list li {
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	border: 2px solid #d4c793;
	border-radius: 16px;
	background: #fff;
	box-shadow: none;
	overflow: hidden;
}

.catering-photo {
	display: block;
	width: 100%;
	height: clamp(160px, 51vw, 210px);
	border: 0;
	border-bottom: 1px solid #ddd5bc;
	background: #f7f5ef;
	overflow: hidden;
}

.catering-photo a {
	display: block;
	width: 100%;
	height: 100%;
}

.catering-photo img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	color: #2ca5ac;
	font-size: .85em;
	text-align: center;
}

.catering-photo .no-image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #8a8177;
	font-size: .85em;
}

.catering-content {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 220px;
	padding: 12px 16px 18px;
	background: #fff;
	text-align: left;
}

.catering-name {
	margin: 0 0 8px;
	padding: 0;
	color: #333;
	font-size: 1.18em;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.catering-text {
	height: auto;
	min-height: 3.2em;
	margin-bottom: 8px;
	color: #555;
	font-size: .8em;
	line-height: 1.6;
	text-align: left;
}

.catering-text p {
	margin-bottom: 0;
}

.catering-drink {
	display: flex;
	justify-content: flex-end;
	margin: 0 0 6px;
	text-align: right;
}

.catering-drink span {
	display: inline-block;
	width: auto;
	margin: 0;
	padding: 3px 12px;
	background: #fff200;
	color: #333;
	font-size: .86em;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

div.catering-price {
	margin: 0 0 3px;
	color: #333;
	text-align: right;
}

.catering-item,
span.catering-price {
	font-family: 'Roboto', sans-serif;
}

.catering-item .item1 {
	font-size: 1em;
	font-weight: 700;
}

.catering-item .item2 {
	font-size: 1.55em;
	font-weight: 700;
}

.catering-price .price1 {
	color: #cc363f;
	font-size: 1.05em;
	font-weight: 700;
}

.catering-price .price2 {
	color: #cc363f;
	font-size: 1.85em;
	font-weight: 700;
}

.catering-price .price3 {
	color: #555;
	font-size: .78em;
	font-weight: 500;
}

.catering-shop_name {
	display: flex;
	justify-content: center;
	margin-top: 9px;
	font-family: 'Roboto', sans-serif;
}

.catering-shop_name a {
	display: block;
	width: min(180px, 70%);
	padding: 8px 14px;
	border-radius: 5px;
	background: #4f3a2f;
	color: #fff;
	font-size: .9em;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

.catering-shop_name a:active {
	background: #382820;
}

@media (max-width: 420px) {
	h3.catering-category-title {
		height: 52px;
		margin-top: 30px;
		padding-left: 27px;
		padding-right: 27px;
		font-size: 1.08em;
		line-height: 52px;
	}

	h3.catering-category-title::before {
		border-width: 26px 0 26px 14px;
	}

	h3.catering-category-title::after {
		border-width: 26px 14px 26px 0;
	}

	.catering-content {
		padding: 11px 13px 16px;
	}
}

/* ================================================================
   Checked pages: legal, shop order and access pages
================================================================ */

/* Trade and privacy pages */
.trade,
.privacy {
	width: calc(100% - 32px);
	margin: 0 auto 32px;
	padding: 18px 16px;
	border: 1px solid #e1e4e4;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 6px 20px rgba(40, 76, 78, .06);
	color: #333;
	font-size: .94em;
	line-height: 1.9;
	text-align: left;
}

.trade dl {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
	font-size: 1em;
}

.trade dl dt {
	width: 100%;
	margin: 0;
	padding: 9px 12px;
	border: 0;
	border-left: 4px solid #2ca5ac;
	background: #edf6f6;
	color: #275f62;
	font-weight: 700;
	line-height: 1.5;
}

.trade dl dd {
	width: 100%;
	margin: 0 0 13px;
	padding: 11px 12px 13px;
	border: 0;
	border-bottom: 1px solid #e2e5e5;
	background: #fff;
	line-height: 1.75;
	overflow-wrap: anywhere;
}

.trade dl dd:last-child {
	margin-bottom: 0;
	border-bottom: 0;
}

.trade a,
.privacy a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.privacy h4 {
	position: relative;
	margin: 28px 0 13px;
	padding: 10px 12px 10px 16px;
	border: 0;
	border-radius: 7px;
	background: #edf6f6;
	color: #275f62;
	font-size: 1.05em;
	font-weight: 700;
	line-height: 1.55;
	text-align: left;
}

.privacy h4:first-child {
	margin-top: 0;
}

.privacy h4::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 5px;
	border-radius: 7px 0 0 7px;
	background: #2ca5ac;
}

.privacy p {
	margin: 0 0 14px;
	text-align: left;
}

/* Bento and delivery shop notices */
.bento-notice,
.delivery-notice {
	position: relative;
	width: calc(100% - 32px);
	margin: 22px auto 20px;
	padding: 12px 13px 12px 44px;
	border: 1px solid #d8ca8e;
	border-radius: 8px;
	background: #faf7eb;
	color: #a52d2d;
	font-size: .9em;
	font-weight: 700;
	line-height: 1.65;
	text-align: left;
}

.bento-notice::before,
.delivery-notice::before {
	content: "!";
	position: absolute;
	left: 14px;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	background: #b32525;
	color: #fff;
	font-family: Roboto, sans-serif;
	font-size: 13px;
	font-weight: 900;
	transform: translateY(-50%);
}

.bento-page-container,
.delivery-page-container {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0 10px;
}

.bento-form-container,
.delivery-form-container {
	width: 100%;
	max-width: 100%;
	margin: 28px auto 36px;
	padding: 16px 12px;
	border: 1px solid #e1e4e4;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 7px 22px rgba(45, 70, 72, .07);
	color: #333;
	text-align: left;
}

.bento-form-section,
.delivery-form-section {
	margin-bottom: 30px;
}

.bento-section-title,
.delivery-section-title {
	position: relative;
	margin: 0 0 14px;
	padding: 10px 11px 10px 17px;
	border: 0;
	border-radius: 7px;
	background: #f4eeee;
	color: #4b2929;
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.45;
	text-align: left;
}

.bento-section-title::before,
.delivery-section-title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 5px;
	border-radius: 7px 0 0 7px;
	background: #b32525;
}

.bento-table-header,
.delivery-table-header {
	display: none;
}

.bento-table-row,
.delivery-table-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"item item"
		"price qty"
		"subtotal subtotal";
	align-items: center;
	gap: 8px 10px;
	margin-bottom: 11px;
	padding: 12px;
	border: 1px solid #e0e2e2;
	border-radius: 9px;
	background: #fcfcfc;
}

.bento-table-row .col-item,
.delivery-table-row .col-item {
	grid-area: item;
}

.bento-table-row .col-price,
.delivery-table-row .col-price {
	grid-area: price;
}

.bento-table-row .col-qty,
.delivery-table-row .col-qty {
	grid-area: qty;
}

.bento-table-row .col-subtotal,
.delivery-table-row .col-subtotal {
	grid-area: subtotal;
	padding-top: 7px !important;
	border-top: 1px dashed #ddd;
}

.bento-table-row .col-item,
.bento-table-row .col-price,
.bento-table-row .col-qty,
.bento-table-row .col-subtotal,
.delivery-table-row .col-item,
.delivery-table-row .col-price,
.delivery-table-row .col-qty,
.delivery-table-row .col-subtotal {
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	text-align: left;
}

.bento-table-row .col-qty,
.delivery-table-row .col-qty {
	justify-content: flex-end;
}

.bento-table-row .col-subtotal,
.delivery-table-row .col-subtotal {
	text-align: right;
}

.item-name-box {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.item-name-box .menu-thumb {
	flex: 0 0 76px;
	width: 76px;
	height: 56px;
	border: 1px solid #ddd;
	border-radius: 5px;
	background: #eee;
	object-fit: cover;
}

.item-name-box .item-title {
	min-width: 0;
	color: #222;
	font-size: .92em;
	font-weight: 700;
	line-height: 1.5;
}

.bento-table-row .item-price,
.delivery-table-row .item-price {
	margin: 0 !important;
	color: #b32525;
	font-size: .9em;
	font-weight: 700;
}

.bento-table-row .item-price span,
.delivery-table-row .item-price span {
	display: block;
	color: #777;
	font-size: .75em;
	font-weight: 500;
}

.bento-qty-wrap,
.delivery-qty-wrap {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 5px;
}

.bento-qty-wrap input[type="number"],
.delivery-qty-wrap input[type="number"] {
	width: 66px !important;
	min-height: 41px;
	padding: 6px;
	border: 1px solid #c7cccc;
	border-radius: 6px;
	background: #fff;
	font-size: 16px;
	text-align: right;
}

.subtotal-val {
	color: #b32525;
	font-size: 1em;
	font-weight: 700;
}

.bento-info-row,
.delivery-info-row {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 7px;
	padding: 12px 0;
	border-bottom: 1px solid #e5e7e7;
}

.bento-info-label-col,
.bento-info-input-col,
.delivery-info-label-col,
.delivery-info-input-col {
	width: 100%;
	margin: 0;
	padding: 0;
}

.bento-info-label,
.delivery-info-label {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	font-size: .92em;
	font-weight: 700;
}

.bento-required,
.delivery-required {
	display: inline-block;
	margin: 0;
	padding: 2px 8px;
	border-radius: 999px;
	background: #b32525;
	color: #fff;
	font-size: .68em;
	font-weight: 500;
	white-space: nowrap;
}

.bento-form-container input[type="text"],
.bento-form-container input[type="tel"],
.bento-form-container input[type="email"],
.bento-form-container input[type="date"],
.bento-form-container textarea,
.delivery-form-container input[type="text"],
.delivery-form-container input[type="tel"],
.delivery-form-container input[type="email"],
.delivery-form-container input[type="date"],
.delivery-form-container textarea {
	width: 100%;
	min-height: 45px;
	padding: 10px 11px;
	border: 1px solid #c8cdcd;
	border-radius: 6px;
	background: #fff;
	font-size: 16px;
}

.bento-info-input-col label,
.delivery-info-input-col label {
	display: inline-flex;
	align-items: center;
	margin: 4px 7px 4px 0 !important;
	padding: 7px 9px;
	border: 1px solid #d0d3d3;
	border-radius: 6px;
	background: #fff;
	font-size: .88em;
	font-weight: 600;
}

.bento-total-box,
.delivery-total-box {
	padding: 13px 14px;
	border: 1px solid #e0d1d1;
	border-radius: 8px;
	background: #fff8f8;
}

.bento-total-box .total-row,
.delivery-total-box .total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 0;
}

.bento-total-box .total-val,
.delivery-total-box .total-val {
	flex: 0 0 auto;
	white-space: nowrap;
}

.bento-total-box .total-val.highlight,
.delivery-total-box .total-val.highlight {
	color: #b32525;
	font-size: 1.35rem;
	font-weight: 700;
}

.bento-form-submit,
.delivery-form-submit {
	margin-top: 24px;
	text-align: center;
}

.bento-submit-button,
.delivery-submit-button {
	width: 100%;
	min-width: 0;
	min-height: 53px;
	padding: 13px 15px;
	border: 0;
	border-radius: 8px;
	background: #b32525;
	color: #fff;
	font-size: 1em;
	font-weight: 700;
	line-height: 1.45;
	box-shadow: 0 4px 0 #7f1919;
}

/* Access page: mobile layout */
.access-page {
	width: 100%;
	max-width: 100%;
	color: #333;
	text-align: left;
}

.access-page .c-container {
	width: calc(100% - 24px);
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
}

.access-page .p-access-section {
	margin: 0 0 26px;
	padding: 16px 14px;
	border: 1px solid #e0e4e4;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 6px 20px rgba(42, 89, 92, .06);
}

.access-page .c-section-title {
	position: relative;
	margin: 0 0 16px;
	padding: 9px 10px 9px 15px;
	border: 0;
	border-radius: 7px;
	background: #edf6f6;
	color: #275f62;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: left;
}

.access-page .c-section-title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 5px;
	border-radius: 7px 0 0 7px;
	background: #2ca5ac;
}

.access-page .c-section-lead {
	margin: 0 0 16px;
	color: #555;
	font-size: .9em;
	line-height: 1.8;
	text-align: left;
}

.p-access-nav__address-box,
.p-access-shorts-layout {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
}

.p-access-nav__address-box_left,
.p-access-nav__address-box_right,
.p-access-shorts-layout__video,
.p-access-shorts-layout__text {
	width: 100%;
}

.access-page dl {
	display: block;
	width: 100%;
	margin: 0;
	text-align: left;
}

.access-page dl dt {
	margin: 0;
	padding: 7px 10px;
	border-left: 4px solid #2ca5ac;
	background: #f0f7f7;
	color: #275f62;
	font-size: .86em;
	font-weight: 700;
}

.access-page dl dd {
	margin: 0 0 10px;
	padding: 9px 10px 12px;
	border-bottom: 1px solid #e2e6e6;
	font-size: .9em;
	line-height: 1.75;
	overflow-wrap: anywhere;
}

.p-access-nav__address-box_right iframe {
	display: block;
	width: 100%;
	height: 270px;
	border-radius: 8px;
}

.p-access-nav__actions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 9px;
	margin-top: 14px;
}

.access-page .c-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid #2ca5ac;
	border-radius: 7px;
	font-size: .9em;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
}

.access-page .c-btn--primary {
	background: #2ca5ac;
	color: #fff;
}

.access-page .c-btn--secondary {
	background: #fff;
	color: #287e83;
}

.p-access-shorts-layout__video iframe {
	display: block;
	width: 100%;
	height: 440px;
	border-radius: 10px;
	background: #111;
}

.p-access-shorts-info {
	padding: 10px;
	border-radius: 8px;
	background: #f7f9f9;
}

.p-access-tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
	margin-bottom: 14px;
}

.p-access-tabs__btn {
	min-height: 48px;
	padding: 8px 6px;
	border: 1px solid #bfcaca;
	border-radius: 7px;
	background: #fff;
	color: #555;
	font-size: .82em;
	font-weight: 700;
	line-height: 1.35;
}

.p-access-tabs__btn.is-active {
	border-color: #2ca5ac;
	background: #2ca5ac;
	color: #fff;
}

.p-access-tab-panel[hidden] {
	display: none !important;
}

.p-access-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

.p-access-step {
	border: 1px solid #dce1e1;
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
}

.p-access-step__img,
.p-access-step__img img {
	display: block;
	width: 100%;
}

.p-access-step__img img {
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.p-access-step__txt {
	padding: 12px 13px 14px;
}

.p-access-step__num {
	display: inline-block;
	margin-bottom: 7px;
	padding: 3px 10px;
	border-radius: 999px;
	background: #2ca5ac;
	color: #fff;
	font-family: Roboto, sans-serif;
	font-size: .78em;
	font-weight: 700;
}

.p-access-step__txt p {
	margin: 0;
	font-size: .9em;
	line-height: 1.75;
	text-align: left;
}

.access-page .p-access-section > img {
	display: block;
	width: 100%;
	height: auto;
	margin: 8px 0 16px;
	border: 1px solid #ddd;
	border-radius: 8px;
}

.p-access-building,
.p-access-parking {
	margin-top: 16px;
}

.p-access-building__3d iframe {
	display: block;
	width: 100%;
	height: 390px;
	border-radius: 8px;
}

.p-access-features__list {
	margin: 0;
	padding: 0;
}

.p-access-features__list > li {
	margin-bottom: 16px;
	padding: 13px;
	border: 1px solid #e0e4e4;
	border-radius: 9px;
	background: #fafcfc;
	font-size: .9em;
	line-height: 1.75;
	text-align: left;
}

.p-access-features__img {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 7px;
	margin-top: 10px;
}

.p-access-features__img_left,
.p-access-features__img_right,
.p-access-features__img img {
	width: 100%;
}

.p-access-features__img img {
	display: block;
	height: 115px;
	border-radius: 6px;
	object-fit: cover;
}

@media (max-width: 420px) {
	.trade,
	.privacy {
		width: calc(100% - 20px);
		padding: 15px 12px;
	}

	.bento-notice,
	.delivery-notice {
		width: calc(100% - 20px);
	}

	.bento-page-container,
	.delivery-page-container {
		padding: 0 6px;
	}

	.item-name-box .menu-thumb {
		flex-basis: 66px;
		width: 66px;
		height: 50px;
	}

	.access-page .c-container {
		width: calc(100% - 16px);
	}

	.access-page .p-access-section {
		padding: 13px 10px;
	}

	.p-access-shorts-layout__video iframe {
		height: 410px;
	}

	.p-access-features__img {
		grid-template-columns: 1fr;
	}

	.p-access-features__img img {
		height: auto;
		aspect-ratio: 16 / 10;
	}
}

@media (max-width: 768px) {
    main.food-thanks-page .layout { width: calc(100% - 20px); }
    main.food-thanks-page #page_title { padding-top: 25px; }
    main.food-thanks-page #page_title h2 { font-size: 23px; }
    main.food-thanks-page .bento-thanks-container { margin: 20px 10px; padding: 25px 15px; }
    main.food-thanks-page .bento-thanks-title { font-size: 20px; }
}
