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; */
}
a:hover img{
}
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;
}
.caution{
	
}
.caution li {
	list-style:none;
	color:#cc363f;
	font-size:.85em;
}
.caution li:before {
  content: '※';
}
/* ▼▼▼▼▼レイアウト▼▼▼▼▼ */
.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.4em;
	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: 70px;
	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: 300px;
	max-width:20%;
}
.logo h1 {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.5;
	margin-top: 10px;
	margin-bottom: 10px;
}

/* ▼▼▼▼▼メインメニュー▼▼▼▼▼ */
mainmenu{
}
mainmenu ul{
	list-style-type:none;
	display:flex;
	margin:0;
	padding:0;
	flex-wrap: wrap;
}
mainmenu li{
	margin:0;
	padding:0;
	font-size: calc(10px + 5 * (100vw - 800px)/1120);
}
mainmenu li a{
	font-weight: 500;
	color:#333;
	padding:1em 1em;
	position: relative;
}
mainmenu li a:hover{
	color:#698896;
}
mainmenu li a.menu10{
	padding-left: 3.5em;
	padding-right: 2.5em;
	padding-top: .5em;
	padding-bottom: .5em;
	background-color: #c06262;
	color: #fff;
	border-radius: 2em;
	font-weight: normal;
}
mainmenu li a.menu10::before {
	font-family: 'Material Symbols Outlined';
	content: '\e614';
	font-size: 1.4em;
	font-weight: normal;
	padding: 0;
	margin-top: .3em;
	position: absolute;
	left: 1.2em;
	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;
}
/* ▼▼▼▼▼main_slider▼▼▼▼▼▼ */
.slider5-wrap {
  width: 100%;
  height: calc(100vh - 30px);
  margin: 0 auto;
  position: relative;
}
.slider-5 .slick-slide {
  height: calc(100vh - 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:1200px;
	margin: 0 auto 1em auto;
	padding: 2em 0;
	text-align: left;
	border-bottom: 1px solid #5b5b5b;
	display: flex;
}
#footer .layout{
	padding-top:10px;
	text-align: left;
}
.footer_contact{
	padding-bottom: 1em;
	margin-bottom: 1em;
	width: 580px;
	margin-right:40px;
}
.footer_reference{
	width: 580px;
}
.footer_reference ul{
	list-style-type:none;
	margin:0;
	padding:0;	
}
.footer_reference li{
	margin:0;
	padding:0;
	/* border-bottom:1px solid #ccc; */
}
.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:24px;
	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:1em;
}
.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;
	margin: 0 0 .5em 0;
	display: flex;
	align-items: center;
}
.footer_freetel{
	padding: .6em 0em .4em .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_3,.no_1,.no_2{
}
.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;
}
.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: row;
	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:33.3333%;
	text-align: left;
}
.index_news_right{
	width:66.6666%
}
.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: row;
	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:33.3333%;
	text-align: left;
	padding-right: 1.5em;
	box-sizing: border-box;
}
.index_feature_left p{
	font-size:.9em;
}
.index_feature_right{
	width:66.6666%
}
#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;
}
.index_feature_list{
	height:500px;
	padding-top:270px;
	box-sizing: border-box;
	background-image:url("./img/feature_list01.jpg");
	background-size:cover;
	background-repeat:no-repeat;
	width:25%;
	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: 1em 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;
}
#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:20px;
}
.index_floor-map_right img{
	display:block;
	width:100%;
	height:auto;
	max-width:1160px;
}
#index_room-list{
	max-width:1200px;
	margin:auto;
	margin-bottom: 3em;
}
#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: 1.5em;
	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:20px;
}
#index_access{
	max-width:1200px;
	margin:auto;
	margin-bottom: 3em;
}
#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;
}
.index_access_left{
	width: 50%;
	text-align: left;
	padding-right: 1.5em;
	box-sizing: border-box;
}
.index_access_left p{
	font-size:.9em;
}
.index_access_right{
	width: 50%;
	box-sizing:border-box;
	padding:20px;
}
.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: 150px;
	/* 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% - 150px);
	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;
}
.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;
}
.index_address_left{
	width:60%;
}
.index_address_right{
	width:40%;
	
}
.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;
}
.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:.9em;
	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:.9em;
}
#map{
	max-width:1200px;
}
/* ▼▼▼▼▼スライダー２▼▼▼▼▼▼ */
.slider-2 .slick-slide {
  width: 1200px;
  height: 800px;
  margin: 0 30px;
  position: relative;
  overflow: hidden;
}
.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% - 30px);
  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% - 655px);
}
.slider-2 .slick-prev {
  left: calc(50% - 655px);
}
.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);
        }

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼料金表▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
#pricetable{
	width:100%;
	text-align:center;
	border-collapse:collapse;
	margin-bottom: 2em;
	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,
#pricetable th.sort.tablesorter-headerDesc
{
	background-image: url(img/asc.gif);
}
#pricetable th.headerSortDown,
#pricetable th.sort.tablesorter-headerAsc{
	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;
}
.aaaa {
}
.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:.9em;
margin-left:1em;
}
.price_caution ul{
display:block;
padding:0;
margin:0;
}
.price_caution li{
display:block;
padding:0;
margin: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;
}
.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:.9em;	
}
.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 1.5em 0;
	padding:0;
	justify-content: space-between;
}
.layout_list li{
	width: 23%;
	margin: 0;
	padding: 1em 2em;
	box-sizing:border-box;
	text-align:center;
	border-width: 2px;
	border-color: #fff;
	border-style:solid;
	border-radius: 10px;
	cursor:pointer;
	color: #2ca5ac;
	background-color: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	font-weight:600;
}
.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: 2em;
	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;
}
.layout_img_cont_left{
	width:50%;
}
.layout_img_cont_right{
	width:50%;
	box-sizing:border-box;
	padding-left:2em;
}
.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{
    display: flex;	
}
.room_card_left{
    display: flex;	
}
.room_card_right{
    display: flex;
    flex-wrap: wrap;
    height: fit-content;
    width: 50%;
    font-weight: 500;
    text-align: left;
}
.room_card_right >div {
    position: relative;
    padding: 10px 0 20px;
    border-top: 2px solid #00031A;
    width: calc(100% - 20px);
	margin:10px;
	display:block;
}
.room_card_left {
    display: flex;
    flex-wrap: wrap;
    height: fit-content;
    width: 50%;
    font-weight: 500;
    text-align: left;
}

.room_card_left>div p {
}
.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: 2em;
}

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

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼備品▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
.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: 23%;
	margin: 0;
	padding: 1em 2em;
	box-sizing:border-box;
	text-align:center;
	border-width: 2px;
	border-color: #fff;
	border-style:solid;
	border-radius: 10px;
	cursor:pointer;
	color: #2ca5ac;
	background-color: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	font-weight:600;
	transition-property: all;	/* 適用対象 = なんでも */
	transition-duration: 1.0s;	/* 秒数 = 1.0秒 */
}
.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;
}
.rental_goods {
	width: 100%;
	margin: 0 0 5em 0;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
	padding:20px;
}

.rental_goods table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 2em;
}

.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(3){
	
}
.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: 100%;
    font-size: 0.9em;
}
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: .9em;line-height: 21px;}
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: 36px;
  border: 1px solid #999;
  border-radius: 18px;
	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 1.5em;
	border-radius: 18px;
	border: 1px solid #999;
}
/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼簡単見積り▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
.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;
}
.simple_cal label span{
	font-size:.9em;
	font-weight:normal;
}
.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: 14px;
    left: 15px;
    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;
}
.calArea dt{
	border-bottom: 1px solid #ccc;
	font-size:1em;
	font-weight:bold;
	color:#3f305a;
	background-color: #f0f7fb;
	padding: 0 2em;
	width: 25%;
	box-sizing:border-box;
	display: flex;
	align-items: center;
}
.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 dt.plus::after{
}
.calArea dd {
	padding: 1em 1em 1em 1em;
	margin: 0;
	font-size: .9em;
	line-height: 1.8em;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 75%;
	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: 20px;
	text-align: center;
	width:180px;
	background-color: #cc363f;
	color: #fff;
	font-size: 20px;
	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: 35px;
	transition: 0.3s;
	font-family: 'Material Symbols Outlined';
	content: '\e313';
	vertical-align: middle;
}
#price_table a{
	display:block;
	margin: auto;
	padding: 20px;
	text-align: center;
	width:180px;
	background-color: #cc363f;
	color: #fff;
	font-size: 20px;
	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;
}
.goods_show{
	width: 70%;
}
.goods_price{
	width: 30%;
	text-align:right;
}
.calArea dd.dd_price{
	text-align:right;	
}
#price_table{
	max-width:800px;
	margin: 2em auto;
	border:1px solid #ccc;
	padding:1em 2em;
	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;
}
#page_title.fixed .room_menu{
	right:2em;
	top:1em;
}
#page_title .room_menu ul{
	display:flex;
	justify-content: flex-end;
}
.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 3em auto;
}
#flow_step ul{
	margin:0;
	padding:0;
	list-style-type:none;
	display:flex;
	justify-content: space-between;
}
#flow_step li{
	width: 24%;
	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;
}
#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:4em auto 3em auto;
}
.flow_step dl{
	
}
.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: 2em 0;
}
.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;
	text-align:left;
}
.flow_step dd > a{
	background-color: #2D9CA2;
	color:#fff;
	font-weight:500;
	padding:1em 2em;
	display:inline-block;
	margin:1em 0;
	border-radius:10px;
}
.flow_step .information .flow-contact-phone{
	background:transparent;
	color:inherit;
	font-weight:inherit;
	padding:0;
	display:inline;
	margin:0;
	border-radius:0;
	text-decoration:none;
}
.flow_step .information .flow-contact-phone:hover,
.flow_step .information .flow-contact-phone:focus{
	text-decoration:underline;
}
.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:48%;
	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:1.5em;
	color:#c06262;
}
a.data_file:hover::after {
	background:#ded5c6;
	border-radius:0 10px 10px 0;
}

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼弁当▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
/* ケータリング注意書き（注意アイコン付き） */
.bento-notice {
    margin: 25px 0 30px;
    padding: 14px 20px 14px 50px;
    background-color: #faf7eb;
    border: 1px solid #d4c793;
    border-radius: 6px;
    color: #b32525;
    font-size: 15px;
    font-weight: bold;
    position: relative;
    line-height: 1.5;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    text-align:left;
}

/* 左側にビックリマーク（注意アイコン）を自動生成 */
.bento-notice::before {
    content: "!";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    background-color: #b32525;
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    font-family: Roboto, sans-serif;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#bento-list ul{
	width:100%;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(1, 1fr);
	gap: 1.5em;
	margin-bottom: 4em;
}
#bento-list li{
	width: 100%;
	margin: 0;
	border-radius:10px;
	overflow:hidden;
}
.buttons {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3rem;
}
/* .button {
	border: 1px solid #999;
	border-right: none;
	color: #333;
	padding: 1em 1em;
	background-color: #fff;
	cursor: pointer;
	width: 20%;
	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;
}
/* Bento mega menu */
mainmenu li.menu-item-bento {
	position: relative;
}

mainmenu li.menu-item-bento > a.menu05 {
	z-index: 31;
}
.bento-mega-menu {
	position: absolute;
	top: calc(100% + 16px);
	left: 50%;
	z-index: 30;
	display: grid;
	grid-template-columns: 260px 330px;
	gap: 22px;
	width: 660px;
	padding: 24px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #e6e0d8;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(38, 34, 30, .18);
	text-align: left;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-50%, 8px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.bento-mega-menu::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -11px;
	width: 20px;
	height: 20px;
	background: #fff;
	border-left: 1px solid #e6e0d8;
	border-top: 1px solid #e6e0d8;
	transform: translateX(-50%) rotate(45deg);
}
.bento-mega-menu::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -18px;
	height: 18px;
}
mainmenu li.menu-item-bento:hover .bento-mega-menu,
mainmenu li.menu-item-bento:focus-within .bento-mega-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0);
}
.bento-mega-title {
	margin: 0 0 12px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.35;
	color: #333;
}

.bento-mega-text {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
	color: #666;
}
#bento-list li .photo{
	width:100%;
	border:solid 1px #ccc;
	box-sizing: border-box;
	height: 11em;
	display:flex;
	align-items: center;
	background-color:#eee;
	margin-bottom:.4em;
	justify-content: space-evenly;
	border-radius:10px;
	overflow:hidden;
}
#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{
	object-fit: cover;
}
#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;
}
.buttons {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3rem;
}
.buttons .button {
	border: 1px solid #999;
	border-right: none;
	color: #333;
	padding: 1em 1em;
	background-color: #fff;
	cursor: pointer;
	width: 20%;
	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;
}
.bento-single-cont {
	width: 100%;
	/* float: left; */
	display: inline-block;
	vertical-align: top;
	max-width: 1200px;
}
.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%;
}
.bento-cont table,.bento-single-cont table p{
	margin-bottom:0;
}
.bento-cont table th,.bento-single-cont table th {
	padding: 1em 2em;
	vertical-align: center;
	background-color: #ece8e0;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	width: 20%;
	font-size:.95em;
}
.bento-cont table td,.bento-single-cont table td {
	padding: 1em 2em;
	vertical-align: top;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	margin:0;
	font-size:.95em;
}


/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼弁当注文▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
/* =================================================   
   お弁当店舗別フォーム（5カラム ＆ 飲料小計対応）
   ================================================= */
.bento-form-container {
    max-width: 1200px;
	border-radius:10px;
    margin: 40px auto;
    padding: 20px;
    background: #fff;
    color: #333;
    text-align: left;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.bento-form-top-note {
    color: #b32525; font-weight: bold; margin-bottom: 30px; font-size: 0.95rem;
}

.bento-form-section { margin-bottom: 40px; }

.bento-section-title {
    font-size: 1.35rem; color: #111; border-left: 6px solid #b32525; padding-left: 15px; margin: 0 0 15px 0; font-weight: bold;
}

/* 4カラム テーブルスタイル */
.bento-table-header {
    display: flex; background-color: #f7f7f7; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; font-weight: bold; font-size: 0.85rem; color: #444;
}

.bento-table-row {
    display: flex; align-items: center; padding: 12px 0; border-bottom: 1px solid #eee;
}

/* 各カラム幅（4カラム用に再分配） */
.col-item { width: 45%; padding-left: 10px; box-sizing: border-box; }
.col-price { width: 18%; text-align: right; padding-right: 10px; box-sizing: border-box; }
.col-qty { width: 17%; display: flex; justify-content: flex-end; padding-right: 10px; box-sizing: border-box; }
.col-subtotal { width: 20%; text-align: right; padding-right: 15px; box-sizing: border-box; }

.table-th { padding: 10px 0; }
.table-th.col-price, .table-th.col-qty, .table-th.col-subtotal { text-align: right; padding-right: 10px; }

/* 画像 ＋ 品名 ＋ お茶付きタグ */
.item-name-box {
    display: flex; align-items: center; gap: 12px;
}
.menu-thumb {
    width: 80px; height: 55px; object-fit: cover; border-radius: 4px; flex-shrink: 0;
}
.item-title { font-size: 0.95rem; color: #222; display: block; }
.otea-tag {
    display: inline-block; background: #4caf50; color: #fff; font-size: 0.65rem; padding: 1px 6px; border-radius: 3px; margin-top: 3px; font-weight: normal;
}

.item-price { font-size: 0.9rem; font-weight: bold; color: #111; margin: 0 !important; }
.item-price span { font-size: 0.75rem; color: #777; font-weight: normal; }

/* 小計表示 */
.subtotal-val { font-weight: bold; color: #b32525; font-size: 0.95rem; }

/* 数量入力 */
.bento-qty-wrap { display: flex; align-items: center; gap: 4px; justify-content: flex-end; }
.bento-qty-wrap input[type="number"] {
    width: 60px !important; text-align: right; padding: 6px; border: 1px solid #ccc; border-radius: 4px; background-color: #fafafa; font-size: 14px;
}
.unit-text { font-size: 0.8rem; font-weight: bold; }

/* お客様情報 ＆ ラジオボタン */
.bento-info-row { display: flex; align-items: center; padding: 12px 0; border-bottom: 1px solid #eee; }
.bento-info-label-col { width: 30%; padding-right: 15px; box-sizing: border-box; }
.bento-info-input-col { width: 70%; box-sizing: border-box; }
.bento-info-label { font-weight: bold; font-size: 0.95rem; }

.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 {
    width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 4px; background-color: #fafafa; font-size: 15px; box-sizing: border-box;
}

.bento-required { background: #b32525; color: #fff; font-size: 0.65rem; padding: 2px 8px; border-radius: 20px; margin-left: 8px; }

/* ラジオボタン（精算方法） */
.bento-info-input-col label {
    display: inline-flex; align-items: center; margin: 5px 15px 5px 0 !important;
	border:1px solid #ccc;
	border-radius:5px;
	padding:5px 10px;
}
.bento-info-input-col input[type="radio"] { margin-right: 5px; cursor: pointer; }
.bento-info-input-col label { font-weight: bold; font-size: 0.9rem; cursor: pointer; }

/* 合計ボックス */
.bento-total-box { background: #fdfdfd; border: 1px solid #ddd; border-radius: 6px; padding: 20px 25px; }
.total-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; }
.total-row.tax-row { padding-top: 12px; border-top: 1px dashed #eee; }
.total-val.highlight { color: #b32525; font-size: 1.6rem; font-weight: bold; }
.bento-form-submit{
text-align:center;
}
.bento-submit-button {
    background: #b32525; color: #fff; padding: 18px 60px; font-size: 1.15rem; font-weight: bold; border: none; border-radius: 4px; cursor: pointer; min-width: 280px;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
    .bento-table-header { display: none; }
    .bento-table-row { flex-direction: column; align-items: flex-start; padding: 12px 10px; }
    .col-item, .col-price, .col-qty, .col-subtotal, .bento-info-label-col, .bento-info-input-col {
        width: 100%; padding: 0; margin-bottom: 6px; text-align: left;
    }
    .col-qty { justify-content: flex-start; }
    .col-subtotal { text-align: right; font-size: 1.05rem; }
}
/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼子メニュー▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
mainmenu ul.bento-mega-list {
	display: block;
	margin: 0;
	padding: 0;
}

mainmenu .bento-mega-list li {
	font-size: 15px;
}

mainmenu .bento-mega-list li + li {
	margin-top: 10px;
}

mainmenu .bento-mega-list a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 10px;
	border-radius: 8px;
	color: #333;
	font-weight: 600;
	line-height: 1.4;
	transition: background-color .2s ease, color .2s ease;
}

mainmenu .bento-mega-list a:hover {
	background: #f5f0ea;
	color: #8a5a35;
}

.bento-mega-list img {
	width: 58px;
	height: 44px;
	object-fit: cover;
	border-radius: 6px;
	background: #f4f4f4;
	flex: 0 0 auto;
}

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ケータリング▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
h3.catering-category-title {
	background-color:#fce55f;
	color:#644444;
	margin-bottom:1.5em;
}
h3.catering-category-title {
	display: inline-block;
	position: relative;
	height: 3em;/*リボンの高さ*/
	line-height: 3em;/*リボンの高さ*/
	text-align: center;
	padding: 0 1.5em;/*横の大きさ*/
	font-size: 1.2em;/*文字の大きさ*/
	background-color:#fce55f;
	color:#644444;
	box-sizing: border-box;
	width:30em;
}
h3.catering-category-title:before, h3.catering-category-title:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}
h3.catering-category-title:before {
  top: 0;
  left: 0;
  border-width: 1.5em 0px 1.5em 1em;
  border-color: transparent transparent transparent #f5f5f5;
  border-style: solid;
}
h3.catering-category-title:after {
  top: 0;
  right: 0;
  border-width: 1.5em 1em 1.5em 0px;
  border-color: transparent #f5f5f5; transparent transparent;
  border-style: solid;
}
/* ケータリング注意書き（注意アイコン付き） */
.catering-notice {
    margin: 25px 0 30px;
    padding: 14px 20px 14px 50px;
    background-color: #faf7eb;
    border: 1px solid #d4c793;
    border-radius: 6px;
    color: #b32525;
    font-size: 15px;
    font-weight: bold;
    position: relative;
    line-height: 1.5;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    text-align:left;
}

/* 左側にビックリマーク（注意アイコン）を自動生成 */
.catering-notice::before {
    content: "!";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    background-color: #b32525;
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    font-family: Roboto, sans-serif;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#catering-list ul{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 510px;
	gap:1.5em;
	margin-bottom: 2em;
}
#catering-list li{
	border: 2px solid #d4c793;
	border-radius: 1em;
	margin-bottom:1em;
	overflow:hidden;
	background-color:#fff;
}
.catering-photo{
	width:100%;
	border:1px solid #ccc;
	display: block;
	height: auto;
}
.catering-photo img{
	aspect-ratio: 16/9;
	object-fit: cover;
}
.catering-content{
	width:100%;
	/* border:1px solid #ccc; */
	padding: .5em 1em;
	box-sizing:border-box;
	position: relative;
}
.catering-name{
	font-size:1.2em;
	margin:.5em 1em;
	padding:0;	
}
.catering-text{
	font-size:.7em;
	text-align:left;
	line-height:1.6em;
	height: 5em;
}
.catering-drink{
	margin:0 0 .5em 0;
	display: flex;
	justify-content: flex-end;
}
.catering-drink span{
	margin:0 0 .5em 0;
	background-color:#fff200;
	width:10em;
	font-weight:bold;
	font-size:.9em;
	display: block;
}
div.catering-price{
	text-align:right;
	margin:0 0 .2em 0;
}
.catering-item{
	font-family: 'Roboto', sans-serif;
}
.item1{
	font-size:1em;
	font-weight:bold;
}
.item2{
	font-size:1.7em;
	font-weight:bold;
}
span.catering-price{
	font-family: 'Roboto', sans-serif;
}
.price1{
	font-size:1.2em;
	font-weight:bold;
	color: #cc363f;
}
.price2{
	font-size:2em;
	font-weight:bold;
	color: #cc363f;
}
.price3{
	font-size:.8em;
	font-weight:normal;
}
.catering-shop_name{
	font-family: 'Roboto', sans-serif;
	display: flex;
	justify-content: center;
}
.catering-shop_name a{
	display:block;
	color:#fff;
	background-color:#4f3a2f;
	width:10em;
	text-align:center;
	border-radius:5px;
	padding:.5em;
}
.catering_single{
	width:1000px;
	border: 2px solid #d4c793;
	border-radius: 1em;
	margin:1em auto;
	padding:2em;
	overflow:hidden;
	background-color:#fff;
	box-sizing:border-box;
}
.catering_single h2{
	font-size:1.8em;
	color:#644444;
	margin-bottom: 1em;
}
.catering_single_shop_name{
	background-color:#fce55f;
	color:#644444;
}
.catering_single_shop_name {
	display: inline-block;
	position: relative;
	height: 30px;/*リボンの高さ*/
	line-height: 30px;/*リボンの高さ*/
	text-align: center;
	padding: 0 30px;/*横の大きさ*/
	font-size: .8em;/*文字の大きさ*/
	background-color:#fce55f;
	color:#644444;
	box-sizing: border-box;
}
.catering_single_shop_name:before, .catering_single_shop_name:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}
.catering_single_shop_name:before {
  top: 0;
  left: 0;
  border-width: 15px 0px 15px 10px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}
.catering_single_shop_name:after {
  top: 0;
  right: 0;
  border-width: 15px 10px 15px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}
.catering_single h2:after {
  content: "";
  position: absolute;
  left: calc(50% - 4em);
  bottom: 0;
  width: 8em;
  height: 5px;
  background: -webkit-repeating-linear-gradient(-45deg, #d4c793, #d4c793 2px, #fff 2px, #fff 4px);
  background: repeating-linear-gradient(-45deg, #d4c793, #d4c793 2px, #fff 2px, #fff 4px);
}
.catering_single_shop_name{
}
.catering_single_contents{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:2em;
	margin-bottom:3em;
}
.catering_single_photo{
	grid-area: 1 / 1 / 3 / 2;
}
.catering_single_photo img{
	border-radius:10px;
	border:1px solid #d4c793;
}
.catering_single_text{
	text-align:left;
	font-size:.9em;
	grid-area: 1 / 2 / 2 / 3;
}
.catering_single_data{
	grid-area: 2 / 2 / 3 / 3;
	border-top: 1px solid #ccc;
	padding: 1em;
	font-size: 1.2em;
}
.catering_single_menu {
	grid-area: 3 / 1 / 4 / 2;
	border-radius:10px;
	border:1px solid #d4c793;
	background-color: #f9f7ef;
	padding:1em;
	text-align:left;
	font-size: .7em;
}
.catering_single_menu h3{
	color:#644444;
	border-bottom:1px dotted #d4c793;
}
.catering_single_menu h3 span{
	font-size:.8em;
	color:#644444;
	font-weight:normal;
	font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
	margin-top: 0;
	letter-spacing:normal;
}
.catering_single_drink {
	grid-area: 3 / 2 / 4 / 3;
	border-radius:10px;
	border:1px solid #d4c793;
	background-color: #f9f7ef;
	padding:1em;
	text-align:left;
	font-size:.7em;
}
.catering_single_drink h3{
	color:#644444;
	border-bottom:1px dotted #d4c793;
}
.catering_single_drink h3 span{
	font-size:.8em;
	color:#644444;
	font-weight:normal;
	font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
	margin-top: 0;
	letter-spacing:normal;
}
.catering_single_guide {
	grid-area: 4 / 1 / 5 / 3;
	border-radius:10px;
	border:1px solid #d4c793;
	background-color: #f9f7ef;
	padding:1em;
	text-align:left;
	font-size: .7em;
}
.catering_single_guide h3{
	color:#644444;
	border-bottom:1px dotted #d4c793;
}
.catering_single_guide h3 span{
	font-size:.8em;
	color:#644444;
	font-weight:normal;
	font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
	margin-top: 0;
	letter-spacing:normal;
	display:inline-block;
	margin-left:1em;
}
/* =================================================   
   ケータリングフォーム専用デザイン（2カラム横並び版）
   ================================================= */
.catering-form-container {
    max-width: 850px; /* 横並び用に少し幅を広げました */
    margin: 40px auto;
    padding: 20px;
    background: #fff;
    color: #333;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.catering-form-top-note {
    color: #b32525;
    font-weight: bold;
    margin-bottom: 30px;
    font-size: 0.95rem;
}

/* セクションと見出し */
.catering-form-section {
    margin-bottom: 40px;
}

.catering-section-title {
    font-size: 1.35rem;
	color:#644444;
	background-color:#eee7d9;
	border-radius:10px;
    padding: 15px;
    margin: 0 0 25px 0;
    font-weight: bold;
    letter-spacing: 0.05em;
}

/* 2カラム横並びの行設定 */
.catering-form-row {
    display: flex;
    align-items: center; /* 上下の中央揃え */
    padding: 20px 0;
    border-bottom: 1px solid #eee; /* 各項目の区切り線 */
}
.catering-form-section .catering-form-row:first-of-type {
    border-top: 1px solid #eee; /* セクションの最初の行の上線 */
}

/* 左カラム：項目名（幅35%） */
.catering-form-label-col {
    width: 35%;
    padding-right: 20px;
    box-sizing: border-box;
    text-align: left;
}

/* 右カラム：入力欄（幅65%） */
.catering-form-input-col {
    width: 65%;
    box-sizing: border-box;
    text-align: left;
}

.catering-label {
    display: inline-flex;
    align-items: center;
    font-weight: bold;
    font-size: 0.95rem;
    color: #222;
}

/* 必須マーク（カプセル型バッジ） */
.catering-required {
    background: #b32525;
    color: #fff;
    font-size: 0.65rem;
    padding: 2px 8px;
    border-radius: 20px;
    margin-left: 10px;
    font-weight: normal;
    letter-spacing: 0.05em;
    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%;
    padding: 12px 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fafafa;
    font-size: 16px;
    color: #333;
    transition: all 0.2s ease;
    box-sizing: border-box;
    outline: none;
}

/* フォーカス時に枠線を少し暗く、背景を白に */
.catering-form-container input:focus,
.catering-form-container textarea:focus {
    border-color: #333;
    background-color: #fff;
}

/* 自動入力（読み取り専用）のグレーアウト */
.catering-form-container input[readonly] {
    background-color: #f0f0f0 !important;
    border-color: #ddd !important;
    color: #777;
    cursor: not-allowed;
}

/* 数量（名）の単位横並び設定 */
.catering-input-unit {
    display: flex;
    align-items: center;
    gap: 10px;
}
.catering-input-unit input[type="number"] {
    width: 120px !important;
}
.unit-text {
    font-weight: bold;
    font-size: 1rem;
}

/* ラジオボタン（スタイル選択） */
.catering-radio-flex .wpcf7-list-item {
    margin: 0 25px 0 0 !important;
    display: inline-flex;
    align-items: center;
}
.catering-radio-flex input[type="radio"] {
    margin-right: 6px;
    width: 18px;
    height: 18px;
    cursor: pointer;
}
.catering-radio-flex .wpcf7-list-item-label {
    font-weight: bold;
    font-size: 0.95rem;
    cursor: pointer;
}
.wpcf7-radio {
    display: flex;
}

/* 送信ボタン（丸みの少ないしっかりしたボタン） */
.catering-form-submit {
    text-align: center;
    margin-top: 40px;
}

.catering-submit-button {
    background: #b32525;
    color: #fff;
    padding: 18px 60px;
    font-size: 1.15rem;
    font-weight: bold;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s ease;
    min-width: 280px;
    letter-spacing: 0.1em;
}

.catering-submit-button:hover {
    background: #911e1e;
}

/* =================================================   
   レスポンシブ対応（タブレット・スマホサイズ）
   ================================================= */
@media screen and (max-width: 768px) {
    .catering-form-row {
        flex-direction: column; /* 縦並びに変更 */
        align-items: flex-start;
        padding: 15px 0;
    }
    
    .catering-form-label-col,
    .catering-form-input-col {
        width: 100%; /* 横幅いっぱいに広げる */
        padding-right: 0;
    }
    
    .catering-form-label-col {
        margin-bottom: 10px; /* 項目名と入力欄の間に隙間を作る */
    }
}

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼リフレッシュメント▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
.refreshment_layout{
	max-width:1200px;
	background-color:#fff;
	margin:auto;
	border-radius:10px;
	padding:1em;
	box-sizing:border-box;
}
.refresh_assort{
	display:flex;
	gap:1em;
}
.refresh_assort_img{
	width:33.333%;
}
.refresh_assort_img img{
	border:1px solid #ccc;
	border-radius:10px;
	margin-bottom:.5em;
}
.refresh_title{
	font-weight:bold;
	text-align:left;
	margin:0;
}
.refresh_price{
	text-align:left;
	margin:0 0 .5em 0;
}
.refresh_text{
	font-size:.8em;
	text-align:left;
}
/* =================================================   
   飲料フォーム専用デザイン（4カラムテーブル版）
   ================================================= */
.drink-form-container {
    max-width: 1200px;
	border-radius:10px;
    margin: 40px auto;
    padding: 20px;
    background: #fff;
    color: #333;
    text-align: left;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.drink-form-top-note {
    color: #b32525;
    font-weight: bold;
    margin-bottom: 30px;
    font-size: 0.95rem;
}

/* セクションと見出し */
.drink-form-section {
    margin-bottom: 40px;
}

.drink-section-title {
    font-size: 1.35rem;
    color: #111;
    border-left: 6px solid #b32525;
    padding-left: 15px;
    margin: 0 0 15px 0;
    font-weight: bold;
    letter-spacing: 0.05em;
}

/* ラジオボタン（精算方法） */
.drink--info-input-col label {
    display: inline-flex; align-items: center; margin: 5px 15px 5px 0 !important;
	border:1px solid #ccc;
	border-radius:5px;
	padding:5px 10px;
}
.drink--info-input-col input[type="radio"] { margin-right: 5px; cursor: pointer; }
.drink--info-input-col label { font-weight: bold; font-size: 0.9rem; cursor: pointer; }

/* ==========================================
   4カラム・テーブルスタイル
   ========================================== */
.drink-form-table-header {
    display: flex;
    background-color: #f7f7f7;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-weight: bold;
    font-size: 0.9rem;
    color: #444;
}

.drink-form-table-row {
    display: flex;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #eee;
}

/* 各カラムの横幅比率 */
.col-name {
    width: 28%;
    padding-left: 15px;
    box-sizing: border-box;
}
.col-desc {
    width: 45%;
    padding-right: 15px;
    box-sizing: border-box;
}
.col-price {
    width: 12%;
    text-align: right;
    padding-right: 20px;
    box-sizing: border-box;
}
.col-qty {
    width: 15%;
    display: flex;
    justify-content: flex-end;
    padding-right: 15px;
    box-sizing: border-box;
    text-align: left;
}

/* ヘッダーセルの余白・位置微調整 */
.table-th {
    padding: 10px 0 10px 10px;
}
.table-th.col-price {
    text-align: right;
    padding-right: 20px;
}
.table-th.col-qty {
    text-align: right;
    padding-right: 15px;
}

/* 商品ラベル・説明 */
.drink-label {
    font-weight: bold;
    font-size: 0.95rem;
    color: #222;
}
.drink-desc {
    font-size: 0.8rem;
    color: #666;
    margin: 0 !important;
    line-height: 1.4;
}

/* 金額 */
.drink-price {
    font-size: 0.95rem;
    font-weight: bold;
    color: #111;
    margin: 0 !important;
    line-height: 1.3;
}
.drink-price span {
    font-size: 0.75rem;
    color: #777;
    font-weight: normal;
}

/* バッジ（無料） */
.drink-badge {
    color: #fff;
    font-size: 0.65rem;
    padding: 2px 8px;
    border-radius: 20px;
    font-weight: normal;
    white-space: nowrap;
}
.drink-badge.badge-free { background: #4caf50; }

/* 数量（名）の単位横並び設定 */
.drink-qty-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-start;
    width: 100%;
}
.drink-qty-wrap input[type="number"] {
    width: 70px !important;
    text-align: right;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fafafa;
    font-size: 15px;
}
.drink-qty-wrap input[type="number"]:focus {
    border-color: #333;
    background-color: #fff;
}
.unit-text {
    font-size: 0.85rem;
    font-weight: bold;
}

/* ==========================================
   ご注文合計（目安） & お客様情報（既存の2カラムを維持）
   ========================================== */
.drink-total-box {
    background: #fdfdfd;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 20px 25px;
    margin-top: 10px;
}
.drink-total-box .total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    font-size: 1rem;
    color: #444;
}
.total-row:first-child {
    border-bottom: 1px dashed #eee;
}
.total-val {
    font-weight: bold;
    font-size: 1.2rem;
}
.total-row.tax-row {
    padding-top: 15px;
}
.total-row.tax-row .total-label {
    font-weight: bold;
    color: #111;
}
.total-val.highlight {
    color: #b32525;
    font-size: 1.6rem;
}

/* お客様情報 2カラム */
.drink-info-row {
    display: flex;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}
.drink-form-section .drink-info-row:first-of-type {
    border-top: 1px solid #eee;
}
.drink-info-label-col {
    width: 30%;
    padding-right: 20px;
    box-sizing: border-box;
}
.drink-info-input-col {
    width: 70%;
    box-sizing: border-box;
}
.drink-info-label {
    font-weight: bold;
    font-size: 0.95rem;
    color: #222;
}
.drink-required {
    background: #b32525;
    color: #fff;
    font-size: 0.65rem;
    padding: 2px 8px;
    border-radius: 20px;
    margin-left: 10px;
    font-weight: normal;
    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%;
    padding: 12px 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fafafa;
    font-size: 16px;
    box-sizing: border-box;
    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: #333;
    background-color: #fff;
}

/* 送信ボタン */
.drink-form-submit {
    text-align: center;
    margin-top: 40px;
}
.drink-submit-button {
    background: #b32525;
    color: #fff;
    padding: 18px 60px;
    font-size: 1.15rem;
    font-weight: bold;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s ease;
    min-width: 280px;
    letter-spacing: 0.1em;
}
.drink-submit-button:hover {
    background: #911e1e;
}

/* =================================================   
   レスポンシブ対応（タブレット・スマホサイズ）
   ================================================= */
@media screen and (max-width: 768px) {
    /* テーブルヘッダーを非表示 */
    .drink-form-table-header {
        display: none;
    }
    
    .drink-form-table-row {
        flex-direction: column;
        align-items: flex-start;
        padding: 15px 10px;
        position: relative;
    }
    
    .col-name,
    .col-desc,
    .col-price,
    .col-qty {
        width: 100%;
        padding: 0;
        text-align: left;
    }
    
    .col-name {
        margin-bottom: 5px;
    }
    .col-desc {
        margin-bottom: 8px;
    }
    .col-price {
        margin-bottom: 12px;
    }
    .col-qty {
        justify-content: flex-start;
    }
    
    /* お客様情報部分のレスポンシブ */
    .drink-info-row {
        flex-direction: column;
        align-items: flex-start;
        padding: 12px 0;
    }
    .drink-info-label-col,
    .drink-info-input-col {
        width: 100%;
        padding-right: 0;
    }
    .drink-info-label-col {
        margin-bottom: 8px;
    }
}
.access_contents{
	display: flex;
	width:100%;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
	padding:20px;
}
.access_contents dl{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    border-top: 1px solid #ccc;
    border-bottom: none;
    font-size: .9em;
	text-align:left;
}
.access_contents dl dt{
	background: #f5f5f5;
	padding: 1em;
	width: 20%;
	/* border-right: 1px solid #ccc; */
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
	font-weight: 600;
}
.access_contents dl dd{
	background: #fff;
	padding: 1em;
	width: 80%;
	border-bottom: 1px solid #ccc;
	margin: 0;
	box-sizing: border-box;
}

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼オードブル▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
/* オードブル注意書き（注意アイコン付き） */
.delivery-notice {
    margin: 25px 0 30px;
    padding: 14px 20px 14px 50px;
    background-color: #faf7eb;
    border: 1px solid #d4c793;
    border-radius: 6px;
    color: #b32525;
    font-size: 15px;
    font-weight: bold;
    position: relative;
    line-height: 1.5;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    text-align:left;
}

/* 左側にビックリマーク（注意アイコン）を自動生成 */
.delivery-notice::before {
    content: "!";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    background-color: #b32525;
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    font-family: Roboto, sans-serif;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* =================================================   
   オードブル店舗別フォーム（リフレッシュメント風4カラム）
   ================================================= */
.delivery-form-container {
    max-width: 1200px;
	border-radius:10px;
    margin: 40px auto;
    padding: 20px;
    background: #fff;
    color: #333;
    text-align: left;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.delivery-form-top-note {
    color: #b32525; font-weight: bold; margin-bottom: 30px; font-size: 0.95rem;
}

.delivery-form-section { margin-bottom: 40px; }

.delivery-section-title {
    font-size: 1.35rem; color: #111; border-left: 6px solid #b32525; padding-left: 15px; margin: 0 0 15px 0; font-weight: bold;
}

/* 4カラム テーブルスタイル */
.delivery-table-header {
    display: flex; background-color: #f7f7f7; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; font-weight: bold; font-size: 0.85rem; color: #444;
}

.delivery-table-row {
    display: flex; align-items: center; padding: 12px 0; border-bottom: 1px solid #eee;
}
/* テーブルのレイアウト調整例 */
.delivery-table-header, .delivery-table-row {
    display: flex;
    align-items: center;
}
.col-item     { width: 30%; } /* 品名 */
.col-desc     { width: 25%; font-size: 13px; color: #666; padding: 0 10px; } /* 説明欄 */
.col-price    { width: 15%; } /* 金額 */
.col-qty      { width: 15%; } /* 発注数 */
.col-subtotal { width: 15%; } /* 小計 */


.table-th { padding: 10px 0; }
.table-th.col-price, .table-th.col-qty, .table-th.col-subtotal {text-align: right;padding-left: 1em;}

/* 画像 ＋ 品名 */
.item-name-box {
    display: flex; align-items: center; gap: 12px;
}
.menu-thumb {
    width: 80px; height: 55px; object-fit: cover; border-radius: 4px; flex-shrink: 0;
}
.item-title { font-size: 0.95rem; color: #222; display: block; }

.item-price { font-size: 0.9rem; font-weight: bold; color: #111; margin: 0 !important; }
.item-price span { font-size: 0.75rem; color: #777; font-weight: normal; }

/* 小計表示 */
.subtotal-val { font-weight: bold; color: #b32525; font-size: 0.95rem; }

/* 数量入力 */
.delivery-qty-wrap { display: flex; align-items: center; gap: 4px; justify-content: flex-end; }
.delivery-qty-wrap input[type="number"] {
    width: 60px !important; text-align: right; padding: 6px; border: 1px solid #ccc; border-radius: 4px; background-color: #fafafa; font-size: 14px;
}
.unit-text { font-size: 0.8rem; font-weight: bold; }

/* お客様情報 ＆ ラジオボタン */
.delivery-info-row { display: flex; align-items: center; padding: 12px 0; border-bottom: 1px solid #eee; }
.delivery-info-label-col { width: 30%; padding-right: 15px; box-sizing: border-box; }
.delivery-info-input-col { width: 70%; box-sizing: border-box; }
.delivery-info-label { font-weight: bold; font-size: 0.95rem; }

.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%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 4px; background-color: #fafafa; font-size: 15px; box-sizing: border-box;
}

.delivery-required { background: #b32525; color: #fff; font-size: 0.65rem; padding: 2px 8px; border-radius: 20px; margin-left: 8px; }

/* ラジオボタン（精算方法） */
.delivery-info-input-col label {
    display: inline-flex; align-items: center; margin: 5px 15px 5px 0 !important;
	border:1px solid #ccc;
	border-radius:5px;
	padding:5px 10px;
}
.delivery-info-input-col input[type="radio"] { margin-right: 5px; cursor: pointer; }
.delivery-info-input-col label { font-weight: bold; font-size: 0.9rem; cursor: pointer; }


/* 合計ボックス */
.delivery-total-box { background: #fdfdfd; border: 1px solid #ddd; border-radius: 6px; padding: 20px 25px; }
.total-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; }
.total-row.tax-row { padding-top: 12px; border-top: 1px dashed #eee; }
.total-val.highlight { color: #b32525; font-size: 1.6rem; font-weight: bold; }
.delivery-form-submit{
text-align:center;
}
.delivery-submit-button {
    background: #b32525; color: #fff; padding: 18px 60px; font-size: 1.15rem; font-weight: bold; border: none; border-radius: 4px; cursor: pointer; min-width: 280px;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
    .delivery-table-header { display: none; }
    .delivery-table-row { flex-direction: column; align-items: flex-start; padding: 12px 10px; }
    .col-item, .col-price, .col-qty, .col-subtotal, .delivery-info-label-col, .delivery-info-input-col {
        width: 100%; padding: 0; margin-bottom: 6px; text-align: left;
    }
    .col-qty { justify-content: flex-start; }
    .col-subtotal { text-align: right; font-size: 1.05rem; }
}

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼プライバシーポリシー▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */
.privacy{
	text-align:left;
}
.trade{
	max-width:1200px;
	background-color:#fff;
	box-sizing:border-box;
	border-radius:10px;
	padding:1em;
	text-align:left;
}
.trade 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;
}
.trade dl dt{
	background: #f5f5f5;
	padding: 1em;
	width: 30%;
	/* border-right: 1px solid #ccc; */
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
	font-weight: 600;
}
.trade dl dd{
	background: #fff;
	padding: 1em;
	width: 70%;
	border-bottom: 1px solid #ccc;
	margin: 0;
	box-sizing: border-box;
}
