@charset "utf-8";

/* ---------------
	reset
--------------------*/
body, div, main,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
figure, pre, form, fieldset, textarea, p, blockquote, th ,td {
	margin: 0;
	padding: 0;
}

main {
	display: block;
}

ul{
	list-style-type: none;
}

table {
	line-height: 1.6;
	border: 0px;
	border-collapse:collapse;
	font-size: 1.6rem;
}

table th {
	font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	font-weight: normal;
}
textarea {
	padding: 2px 4px;
	font-size: 1.6rem;
	line-height: 1;
	color: #444;
}

input {
	vertical-align: middle;
	margin: 0;
	padding: 0;
	color: #444;
}

p {
	line-height: 1.5;
}

img {
	border: none;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
}

address {
	font-style:normal;
}

ul li {
	line-height: 1.4;
}

*,*::before,*::after{
	box-sizing: border-box;
}

em {
	font-style: normal;
}

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

input[type='search'] {
	-webkit-appearance: none;
}

/* ---------------
　　　共用
--------------- */

:root {
  --line-gray: #e8e8e8;
  --site-color: #345994;
  --min-width: min(95%,1100px);
  --unit-space-lg: 50px;
  --unit-space-md: 30px;
  --unit-space-sm: 15px;
  --separator-lg: 50px;
  --separator-md: 30px;
  --separator-sm: 15px;
}

@media screen and (min-width: 768px) {

  :root {
    --unit-space-lg: 100px;
    --unit-space-md: 60px;
    --unit-space-sm: 30px;
    --separator-lg: 100px;
    --separator-md: 60px;
    --separator-sm: 30px;
  }

}

html {
    font-size: 62.5%;
}

body {
	font-size: 1.6rem;
	letter-spacing: 0.03em;
	line-height: 1;
	color: #333;
	background-color: #fff;
	-webkit-text-size-adjust: none;
	-webkit-print-color-adjust: exact;
  font-optical-sizing: auto;
}

a:link {
	border: none;
	color: #333;
	text-decoration: none;
	transition: all 0.1s ease;
}

a:visited {
	border: none;
	color: #333;
	text-decoration: none;
}

a:active {
	border: none;
	color: #333;
	text-decoration: none;
}

a:hover {
	border: none;
	color: #333;
	text-decoration: none;
	transition: all 0.1s ease;
}

:focus:not(:focus-visible) {
	outline: none;
}

@media screen and (min-width: 768px) {

	.alpha a:hover {
		filter: alpha(opacity=70);
		-moz-opacity:0.7;
		opacity:0.7;
		transition: opacity 0.25s ease 0s;
	}

	.alpha a {
		-webkit-transition: all 0.1s ease 0s;
		-moz-transition: all 0.1s ease 0s;
		transition: opacity 0.25s ease 0s;
	}

}

.sp {
	display: none;
}

.pc {
	display: block;
}

a[href^="tel:"] {
    text-decoration: none !important;
}

img.fit {
	width: 100%;
	height: auto;
}

img.trim_center {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

a[href^="no_large"] {
    pointer-events: none;
}

.wrapper {
	position: relative;
	font-family: "PT Sans", "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 300;
}

.ft_pt {
	font-family: "PT Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.lg_5 .wrapper,
.lg_4 .wrapper,
.lg_3 .wrapper,
.lg_2 .wrapper,
.lg_1 .wrapper {
  margin-top: 100px;
}

.entry_edit .wrapper {
  margin-top: 250px;
}

@media screen and (max-width: 767px) {

	.wrapper {
	}

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.columnImage {
		width: 100%;
	}

}

a.outlink {
  margin-right: 5px;
  padding-right: 15px;
  background: url(../images/common/ico_blank.svg) no-repeat right center / 12px auto;
}

a.nolink {
	cursor: default;
	text-decoration: none !important;
    pointer-events: none;
}

@media screen and (min-width: 1000px) {

	a[href^="tel:"] {
	    pointer-events: none;
	}

}

@media screen and (min-width: 768px) {

	.main {
		position: relative;
	}

}

.center {
	text-align: center;
}

.unit-separator {
  height: 1px;
  border: none;
  background: url(../images/common/line_dot.png) repeat-x 0 0 / 5px auto;
}

/*	header
------------------------*/

.header {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 80px;
	background: #fff;
}

.header::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: 0;
	height: 2px;
	width: 100%;
	background: var(--line-gray);
}

.top .header::after {
	display: none;
}

.header .logo {
	margin: 0 auto;
	width: 140px;
}

@media screen and (min-width: 768px) {

	.header {
		justify-content: space-between;
		align-items: flex-start;
		height: 125px;
	}

	.header::after {
		left: 40px;
		width: calc(100% - 80px);
	}

	.header .logo {
		margin: 40px 20px 0 40px;
		width: 224px;
		flex-shrink: 0;
	}

}

@media screen and (min-width: 768px) and (max-width: 1239px) {

	.header .logo {
		margin-left: 20px;
		width: 190px;
	}
}

@media screen and (min-width: 768px) and (max-width: 1099px) {

	.header .logo {
		width: 170px;
	}

}

.header_column {
	display: none;
}

.header_column_inner {
	position: absolute;
	top: 80px;
	left: 0;
	width: 100%;
	flex-direction: column;
	z-index: 10;
	background: #fff;
	display: flex;
}

.header_top_list {
	order: 2;
	margin: 10px 20px;
	padding: 10px 30px;
	background: #333;
	border-radius: 10px;
}

.header_top_list li {
	margin: 12px 0;
	font-size: 1.4rem;
	font-weight: 300;
}

.header_top_list li a {
	padding: 5px 0;
	color: #fff;
	display: block;
}

@media screen and (min-width: 768px) {

	.header_column {
		display: block;
	}

	.header_column_inner {
		display: block;
		position: initial;
		width: auto;
	}

	.header_top_list {
		margin: 0 0 20px;
		padding: 0;
		background: none;
		border-radius: 0;
	}

	.header_top_list ul {
		display: flex;
		justify-content: flex-end;
	}

	.header_top_list li {
		margin: 0;
		font-size: 1.4rem;
		font-weight: 300;
		white-space: nowrap;
	}

	.header_top_list li:nth-child(2) a {
		padding-left: 30px;
		border-radius: 0 0 0 10px;
	}

	.header_top_list li:last-child a {
		padding-right: 25px;
	}

	.header_top_list li a {
		padding: 10px 20px;
		color: #fff;
		background: #333;
		display: block;
		height: 40px;
	}

	.header_top_list li a.hv_line::before {
		height: 2px;
	}

	.header_top_list li:nth-child(2) a.hv_line::before {
		left: 10px;
	}

	.header_top_list li:nth-child(2) a:hover::before {
		width: calc(100% - 50px);
	}

	.header_top_list li a:hover::before {
		width: calc(100% - 40px);
	}

	.header_top_list .btn_ec {
		margin-right: 10px;
	}

	.header_top_list .btn_ec a {
		padding: 10px 25px;
		border-radius: 0 0 10px 10px;
		background: var(--site-color);
		transition: all 0.25s ease 0s;
	}

	.header_top_list .btn_ec a:hover {
		background: #2563c7;
	}

}

@media screen and (min-width: 768px) and (max-width: 1049px) {

	.header_top_list .btn_ec a {
		padding-left: 15px;
		padding-right: 15px;
	}

  	.header_top_list li {
	  	font-size: 1.2rem;
	}

  	.header_top_list li a {
		padding-left: 10px;
		padding-right: 10px;
	}

	.header_top_list li:nth-child(2) a {
		padding-left: 20px;
	}

	.header_top_list li:last-child a {
		padding-right: 10px;
	}

}

@media screen and (min-width: 768px) and (max-width: 849px) {

	.header_top_list .btn_ec a {
		padding-left: 10px;
		padding-right: 10px;
	}

  	.header_top_list li a {
		padding-left: 5px;
		padding-right: 5px;
	}

	.header_top_list li:nth-child(2) a {
		padding-left: 10px;
	}

	.header_top_list li:last-child a {
		padding-right: 5px;
	}

}


.header_top_list .lang_list {
	display: none;
}

.header_top_list .lang_list ul {
	margin: 10px 0 20px;
	padding: 10px 18px 7px;
	background: #515151;
	display: flex;
	flex-wrap: wrap;
	border-radius: 10px;
}

.header_top_list .lang_list li {
	margin: 0 0 3px;
	width: 50%;
}

.header_top_list .lang_list li a {
	display: block;
}

.header_top_list .btn_lang a span {
	padding-right: 12px;
	background: url(../images/common/ico_arrow_down.png) no-repeat right center / 7px auto;
}

@media screen and (min-width: 768px) {

	.header_top_list .btn_lang {
		position: relative;
	}

	.header_top_list .btn_lang a span {
		padding-left: 12px;
		background: url(../images/common/ico_arrow_down.png) no-repeat 0 center / 7px auto;
	}

	.header_top_list .lang_list {
		position: absolute;
		top: 40px;
		left: -15px;
		z-index: 11;
	}

	.header_top_list .lang_list ul {
		margin: 0;
		padding: 0;
		display: block;
		background: none;
	}

	.header_top_list .lang_list li {
		margin: 0;
		border-bottom: 1px solid #333;
		width: auto;
		font-weight: 400;
	}

	.header_top_list .lang_list li a {
		padding: 12px 30px 12px 20px;
		border-radius: 0;
		display: block;
		background: rgba(51,51,51,0.8);
	}

	.header_top_list .lang_list li a:hover {
		background: rgba(51,51,51,0.7);
	}

}

.header_bottom_list {
	margin: 0 20px;
	order: 1;
}

.top .header_bottom_list {
  margin-top: -20px;
}

.header_bottom_list li {
	margin: 0;
	padding: 0 20px;
	font-size: 1.6rem;
	font-weight: 300;
	border-bottom: 1px solid var(--line-gray);
}

.header_bottom_list li:last-child {
	border: none;
}

.header_bottom_list li a {
	padding: 28px 20px;
	line-height: 1.6;
	display: block;
}

.header_bottom_list li.gnavi_brand a {
	padding-left: 30px;
	background: url(../images/common/ico_brandsearch.svg) no-repeat 0 center / 23px auto;
}

.header_bottom_list li.gnavi_restaurant a {
	padding-left: 42px;
	background: url(../images/common/ico_cafe_restaurant.svg) no-repeat 0 center / 32px auto;
}

.header_bottom_list li.gnavi_floor a {
	padding-left: 36px;
	background: url(../images/common/ico_floorguide.svg) no-repeat 0 center / 29px auto;
}

.header_bottom_list li.gnavi_event a {
	padding-left: 36px;
	background: url(../images/common/ico_eventlist.svg) no-repeat 0 center / 28px auto;
}

.header_bottom_list li.gnavi_flyer a {
	padding-left: 28px;
	background: url(../images/common/ico_digitalflyer.svg) no-repeat 0 center / 20px auto;
}

@media screen and (min-width: 768px) {

	.header_bottom_list {
		margin: 0;
	}

    .top .header_bottom_list {
        margin-top: 0;
    }

	.header_bottom_list ul {
		margin-right: 15px;
		display: flex;
		justify-content: center;
	}

	.header_bottom_list li {
		margin: 0 25px;
		padding: 0;
		border: none;
		white-space: nowrap;
	}

	.header_bottom_list li:first-child {
		margin-left: 0;
	}

	.header_bottom_list li a {
		line-height: 1.7;
		padding-top: 0;
		padding-bottom: 0;
		padding-right: 0;
	}

	.header_bottom_list li a.hv_line::before {
		background: #333;
		height: 2px;
		bottom: -10px;
	}

	.header_bottom_list li.stay a.hv_line::before {
        width: 100%;
    }

}

@media screen and (min-width: 768px) and (max-width: 1239px) {

	.header_bottom_list li {
		margin: 0 15px;
	}

	.header_bottom_list li:last-child {
		margin-right: 0;
	}

}

@media screen and (min-width: 768px) and (max-width: 1099px) {

	.header_bottom_list li {
		margin: 0 10px;
		font-size: 1.4rem;
	}

	.header_bottom_list ul {
		justify-content: flex-end;
	}

}

@media screen and (min-width: 768px) and (max-width: 969px) {

	.header_bottom_list li.gnavi_brand a {
		padding-left: 21px;
		background-size: 16px auto;
	}

	.header_bottom_list li.gnavi_restaurant a {
		padding-left: 30px;
		background-size: 23px auto;
	}

	.header_bottom_list li.gnavi_floor a {
		padding-left: 25px;
		background-size: 20px auto;
	}

	.header_bottom_list li.gnavi_event a {
		padding-left: 25px;
		background-size: 20px auto;
	}

	.header_bottom_list li.gnavi_flyer a {
		padding-left: 20px;
		background-size: 14px auto;
	}

}

@media screen and (min-width: 768px) and (max-width: 909px) {

	.header_bottom_list ul {
		flex-wrap: wrap;
	}

	.header_bottom_list li {
		margin-bottom: 5px;
	}

}

.brand_search_column {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background: #ece5ed;
  display: none;
  padding: 20px 15px;
  box-shadow: inset 0px 2px 5px 0px rgba(130, 35, 73, 0.1);
  z-index: 3;
}

.stay .brand_search_column {
  display: flex;
  justify-content: center;
}

.brand_search_column .search_box {
  width: 100%;
}

.brand_search_column .search_input {
  padding: 0 10px;
  background: #fff;
  border-radius: 50px;
  display: flex;
  align-items: center;
  box-shadow: 0px 0px 10px 0px rgba(130, 35, 73, 0.1);
}

.brand_search_column .search_input .search_submit_btn {
  border: none;
  padding: 0;
  width: 20px;
  height: 20px;
  text-indent: -9999px;
  background: url(../images/common/ico_brandsearch.svg) no-repeat center center / 100% auto;
}

.brand_search_column .search_input input {
  margin: 5px 5px;
  padding: 7px 5px;
  font-size: 1.6rem;
  border: none;
  width: 100%;
}

@media screen and (min-width: 768px) {

  .brand_search_column {
    top: 95px;
    padding: 30px;
  }

  .brand_search_column .search_box {
    width: 600px;
  }

  .brand_search_column .search_input {
    padding: 0 20px;
  }

  .brand_search_column .search_input .search_submit_btn {
    width: 25px;
    height: 23px;
  }

  .brand_search_column .search_input input {
    margin: 5px 10px;
  }

}

.header_sp_bottom {
	order: 3;
	margin: 0 20px;
	padding: 0 0 50px;
}

.menu_ec li {
	font-weight: 300;
	border-radius: 10px;
	overflow: hidden;
}

.menu_ec li a {
	padding: 25px 30px;
	display: block;
	background: var(--site-color);
	color: #fff;
}

.header_sp_bottom .footer_link {
	margin: 30px 0 45px;
}

.header_sp_bottom .footer_link li {
	margin: 20px 0;
	font-weight: 300;
}

#menu_btn {
    padding: 0;
    background: #fff;
	width: 50px;
	height: 50px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	margin: auto;
	outline: none;
	border: none;
	transition: all 0.3s ease 0s;
}

#menu_btn span {
	display: block;
}

#menu_btn::before {
	top: 25px;
}

#menu_btn span::before {
	top: 16px;
}

#menu_btn::after {
	top: 34px;
}

#menu_btn::before,
#menu_btn::after,
#menu_btn span::before {
	margin: 0 auto;
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	width: 25px;
	height: 2px;
	background-color: #333;
}

.menu_open #menu_btn::before {
	display: none;
}

.menu_open #menu_btn::after,
.menu_open #menu_btn span::before {
	top: 0;
	bottom: 0;
	margin: auto;
}

.menu_open #menu_btn::after {
	transform: rotate(-45deg);
}

.menu_open #menu_btn span::before {
	transform: rotate(45deg);
}

@media screen and (min-width: 768px) {

	#menu_btn {
		display: none;
	}

}

.menu_close {
	position: relative;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.menu_close::before,
.menu_close::after {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: #333;
	width: 25px;
	height: 2px;
}

.menu_close::before {
	transform: rotate(-45deg);
}

.menu_close::after {
	transform: rotate(45deg);
}

#sp_menu_back {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 80px;
	left: 0;
	transition: all 0.5s ease;
	opacity: 0;
	z-index: -1;
	background: rgba(0, 0, 0, 0.65);
}

.menu_open #sp_menu_back {
	opacity: 1;
	z-index: 10;
}

.floating_bnr {
    position: fixed;
    right: 0;
    bottom: 50px;
    z-index: 10;
    width: 134px;
}

@media screen and (min-width: 768px) {

    .floating_bnr {
        display: none;
    }

	#sp_menu_back {
		display: none;
	}

}

.top_emergency .inner {
	margin: 0 10px;
	padding: 2px;
	border: 3px solid #ffcfcf;
	border-radius: 20px;
	background: #fff;
}

.top_emergency h2 {
	color: #fff;
	padding: 15px 20px;
	border-radius: 15px 15px 0 0;
	background: #d43e3e;
	font-weight: 300;
	display: flex;
	align-items: center;
	white-space: nowrap;
}

.top_emergency ul {
	margin: 10px 0 5px;
}

.top_emergency li a {
	padding: 10px 15px;
	color: #e20000;
	display: block;
}

.top_emergency time {
	margin: 0 0 5px;
	font-size: 1.4rem;
	white-space: nowrap;
	display: block;
}

@media screen and (min-width: 768px) {

	.top_emergency {
		margin: 0;
		z-index: 2;
		position: relative;
	}

	.top_emergency .inner {
		margin: 0 auto;
		width: min(95%,1640px);
		border-radius: 15px;
		display: flex;
	}

	.top_emergency h2 {
		padding: 20px 30px;
		border-radius: 10px 0 0 10px;
	}

	.top_emergency ul {
		margin: 10px 0;
	}

	.top_emergency li a {
		padding: 10px 30px;
		display: flex;
	}

	.top_emergency time {
		margin: 3px 0 0;
	}

	.top_emergency p {
		margin: 0 0 0 30px;
	}

}

.top_mv {
	margin: 20px 0 0;
	padding: 30px 0 20px;
	border-radius: 20px;
	background: #f3f1e4;
}

.top_mv_list {
  display: flex;
  justify-content: center;
}


.top_mv_list_box {
	margin: 0 20px;
}

@media screen and (min-width: 768px) and (max-width: 1119px) {

	.top_mv_list_box {
		width: 85vw;
	}

}

@media screen and (min-width: 768px) {

	.top_mv {
		margin: 35px 0 0;
		padding: 65px 0 50px;
		border-radius: 30px;
	}

	.top_emergency + .top_mv {
		margin-top: -30px;
	}

	.top_mv_slide {
		margin: 0;
	}

	.top_mv_list_box {
		margin: 25px 10px 0;
		width: 1100px;
	}

}

.top_mv_list_box a figure {
	border-radius: 10px;
	overflow: hidden;
}

.top_mv_title {
	display: none;
}

@media screen and (min-width: 768px) {

	.top_mv_list_box.slick-active {
		margin-top: 0;
	}

	.top_mv_list_box a {
		position: relative;
		display: block;
	}

	.top_mv_list_box a::before {
		position: absolute;
		content: '';
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		border: 5px solid #e1d18f;
		border-radius: 20px;
		opacity: 0;
		transition: all 0.25s ease;
	}

	.top_mv_list_box.slick-center a::before {
		opacity: 1;
	}

	.top_mv_list_box a figure {
		margin: 0 0 18px;
		border-radius: 20px;
		overflow: hidden;
	}

	.top_mv_title {
		display: flex;
		justify-content: center;
        align-items: center;
	}

	.top_mv_title p {
		font-size: 1.8rem;
		font-weight: 300;
	}

	.top_mv_title p.top_mv_date {
		margin-left: 20px;
		padding-left: 20px;
		border-left: 1px solid #cfcfcf;
		font-size: 1.6rem;
		font-weight: 400;
	}

}

.top_mv_thumb_outer {
    margin-top: 50px;
	display: flex;
	flex-direction: column;
}

.top_mv_thumb_outer:has(.slick-slider) {
  margin-top: 0;
}

.top_mv_thumb {
	margin: -25px 0 0;
	padding: 0 0 5px;
	order: 2;
	position: relative;
	z-index: 1;
}

.top_mv_thumb .slick-list {
	padding-top: 10px;
	margin-bottom: -10px;
	overflow: hidden;
}

.top_mv_thumb.cnt1 .slick-list {
	height: 110px !important;
}

.top_mv_thumb.cnt2 .slick-list {
	height: 220px !important;
}

.top_mv_thumb.cnt3 .slick-list {
	height: 330px !important;
}

.top_mv_thumb.cnt4 .slick-list {
	height: 440px !important;
}

.top_mv_thumb.cnt5 .slick-list {
	height: 550px !important;
}

.top_mv_thumb_box {
}

.top_mv_thumb_box a {
	height: 110px !important;
	margin: 0 20px;
	padding: 20px 0;
	display: flex;
	align-items: center;
	border-top: 1px solid #d5d5d5;
	position: relative;
	width: 100%;
}

.top_mv_thumb_box.slick-slide {
	display: flex;
}

.top_mv_thumb_box.slick-current {
	border: none;
}

.top_mv_thumb_box.slick-slide:last-child {
	padding-bottom: 30px;
}

.top_mv_thumb_box figure {
	border-radius: 5px;
	overflow: hidden;
	position: relative;
	width: 100px;
	flex-shrink: 0;
}

.top_mv_thumb_box.slick-current figure {
	position: relative;
}

.top_mv_thumb_box.slick-current figure::after {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 2px solid #9c8f59;
	border-radius: 8px;
}

@media screen and (min-width: 768px) {

	.top_mv_thumb_outer {
		margin: 40px auto 0;
		position: relative;
		max-width: 985px;
		display: block;
	}

    .top_mv_thumb_outer:has(.slick-slider) {
      margin-top: 10px;
    }

	.top_mv_thumb {
		margin: 0 auto;
		padding: 0;
		max-width: 985px;
		position: relative;
        display: flex;
        justify-content: center;
		z-index: 3;
	}

	.top_mv_thumb.cnt1 .slick-list,
	.top_mv_thumb.cnt2 .slick-list,
	.top_mv_thumb.cnt3 .slick-list,
	.top_mv_thumb.cnt4 .slick-list,
	.top_mv_thumb.cnt5 .slick-list {
		margin: 0 auto;
		height: auto !important;
	}

	.top_mv_thumb.cnt2 .slick-list {
		width: 376px;
	}

	.top_mv_thumb.cnt2 .slick-track {
		transform: translate3d(-450px, 0px, 0px) !important;
	}

	.top_mv_thumb.cnt3 .slick-list {
		width: 572px;
	}

	.top_mv_thumb.cnt4 .slick-list {
		width: 768px;
	}

	.top_mv_thumb.cnt4 .slick-track {
		position: relative;
		left: -98px;
	}

    .top_mv_thumb_box {
		margin: 25px 8px 10px;
		transition: all 0.25s ease;
		cursor: pointer;
    }

	.top_mv_thumb_box a {
		margin: 0;
		padding: 0;
		width: 180px !important;
		display: block;
		height: auto !important;
		border-top: none;
	}

	.top_mv_thumb_box.slick-slide {
      display: block;
	}

	.top_mv_thumb_box.slick-slide:last-child {
		padding-bottom: 0;
	}

	.top_mv_thumb_box:hover {
		transform: scale(1.05);
	}

	.top_mv_thumb_box figure {
		border-radius: 13px;
		overflow: hidden;
		position: relative;
		width: auto;
	}

	.top_mv_thumb_box.slick-current figure::after {
		display: none;
	}

	.top_mv_thumb_box.slick-current {
		border-color: #9c8f59;
		position: relative;
	}

	.top_mv_thumb_box.slick-current::after {
		position: absolute;
		content: '';
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: 3.5px solid #ada274;
		border-radius: 13px;
	}

	.top_mv_thumb_box.slick-current::before {
		position: absolute;
		content: '';
		left: 0;
		right: 0;
		margin: auto;
		width: 8px;
		height: 8px;
		top: -20px;
		background: url(../images/common/ico_slider_arrow.svg) no-repeat center center / 8px auto;
	}

	.top_mv_thumb_text {
		display: none;
	}
}

.top_mv_thumb_text {
	margin: 0 0 0 15px;
}

.top_mv_thumb_text p {
	line-height: 1.2;
}

.top_mv_thumb_text p.top_mv_date {
	margin: 5px 0 0;
	font-size: 1.2rem;
}

@media screen and (min-width: 768px) {

	.top_mv_thumb_text {
		display: none;
	}

}

.btn_play_stop {
	order: 1;
	margin: 10px 20px 0;
	position: relative;
	text-align: right;
	z-index: 2;
	background: #f3f1e4;
	width: calc(100% - 40px);
    display: none;
}

.slick-slider + .btn_play_stop {
  display: block;
}

.btn_play_stop::before {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	margin: auto;
	width: 8px;
	height: 8px;
	top: 10px;
	background: url(../images/common/ico_slider_arrow.svg) no-repeat center center / 8px auto;
}

.btn_play_stop button {
	padding: 0;
	border: none;
	background: none;
	width: 30px;
	height: 30px;
}

.btn_slide_stop {
	display: block;
}

.btn_slide_play {
	display: none;
}

@media screen and (min-width: 768px) {

	.btn_play_stop {
		position: absolute;
		bottom: 10px;
		right: -40px;
		margin: 0;
		background: none;
	}

	.btn_play_stop::before {
		display: none;
	}

}



.top_keyword {
	margin: 60px 20px 0;
}

.top_keyword .inner {
	text-align: center;
}

.top_keyword h2 {
	margin: 0;
	padding: 40px 0 0;
	font-size: 2.8rem;
	font-weight: 400;
	background: url(../images/common/ico_keyword.svg) no-repeat center top / 33px auto;
}

.top_keyword_box {
	margin: -10px 0 0;
	padding: 40px 15px 35px;
	background: #c9dde4;
	border-radius: 20px;
}

.top_keyword_box ul {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.top_keyword_box li {
	margin: 0;
}

.top_keyword_box li a {
	padding: 12px 20px;
	display: block;
	position: relative;
}

.top_keyword_box li a::before {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50px;
	background: #fff;
	transition: all 0.25s ease;
}

.top_keyword_box li a span {
	position: relative;
	z-index: 1;
}

@media screen and (min-width: 768px) {

	.top_keyword {
		margin: 80px 0 0;
	}

	.top_keyword .inner {
		margin: 0 auto;
		width: var(--min-width);
	}

	.top_keyword h2 {
		font-size: 3.2rem;
	}

	.top_keyword_box {
		padding: 40px 10px;
	}

	.top_keyword_box ul {
		justify-content: center;
		gap: 20px;
	}

	.top_keyword_box li a {
		padding: 12px 25px;
	}

	.top_keyword_box li a:hover::before {
		transform: scale(1.10);
	}

}

.top_today {
	margin: 60px 0 0;
}

.top_today .inner {
	text-align: center;
}

.top_today_header {
	padding: 30px 0 0;
	text-align: center;
	background: url(../images/common/ico_event.png) no-repeat center top / 23px auto;
}

.top_today_header .today {
	margin: 0 0 10px;
	padding: 0 0 5px;
	color: #677c64;
	display: inline-block;
	background: url(../images/common/date_line.png) no-repeat 0 bottom / 100% auto;
}
.top_today_header .today .year {
	font-size: 2.0rem;
	font-weight: bold;
}
.top_today_header .today .year > span {
	padding: 0 2px;
	font-size: 1.4rem;
	font-weight: 700;
}

.top_today_header .today .month,
.top_today_header .today .day {
	font-size: 4.0rem;
	font-weight: 400;
}

.top_today_header .today .month > span,
.top_today_header .today .day > span {
	padding: 0 2px;
	font-size: 1.8rem;
	font-weight: 700;
}

.top_today_header .today .week {
	margin: 0 0 0 5px;
	padding: 1px 5px;
	color: #fff;
	border-radius: 3px;
	font-size: 1.8rem;
	background: #7b9e76;
	display: inline-block;
	position: relative;
	top: -4px;
}

.top_today_header h2 {
	font-size: 2.8rem;
	font-weight: 400;
}

@media screen and (min-width: 768px) {

	.top_today {
		margin: 80px 0 0;
	}

	.top_today .inner {
		margin: 0 auto;
		width: min(95%,1680px);
	}

	.top_today_header h2 {
		font-size: 3.2rem;
	}

}

.top_today_box {
	margin: -12px 0 0;
	padding: 50px 0 40px;
	border-radius: 20px;
	background: #e3e9da;
}

.top_today_list {
  margin: 0 20px;
}

.top_today_list.slick-slider {
  margin: 0;
}

.top_today_list .slick-track {
		display: flex;
}

.top_today_list .slick-slide {
  	height: auto !important;
}

.top_today_list_box {
	margin: 20px 10px;
}

.top_today_list_box a {
	padding: 40px 20px 20px;
	border-radius: 20px;
	display: block;
	position: relative;
	text-align: left;
	height: 100%;
}

.top_today_list_box a > * {
	z-index: 2;
	position: relative;
}

.top_today_list_box .box_shadow::before {
	background-color: #fff;
}

.top_today_list_box .top_today_date {
	position: absolute;
	left: 15px;
	top: -15px;
	padding: 5px 10px;
	border-radius: 5px;
	font-size: 1.4rem;
	text-align: left;
    background: #e6dbf0;
}

.index_event_list li .date.event_color_pink,
.top_today_list_box .event_color_pink {
  background: #fbe5ee;
}

.index_event_list li .date.event_color_blue,
.top_today_list_box .event_color_blue {
  background: #dbebf3;
}

.index_event_list li .date.event_color_gold,
.top_today_list_box .event_color_gold {
  background: #ebeac4;
}

.index_event_list li .date.event_color_green,
.top_today_list_box .event_color_green {
  background: #e5f3c4;
}

.index_event_list li .date.event_color_purple,
.top_today_list_box .event_color_purple {
  background: #e6dbf0;
}

.index_event_list li .date.event_color_orange,
.top_today_list_box .event_color_orange {
  background: #f6e2cc;
}

.top_today_list_box figure {
	margin: 0 0 15px;
}

.top_today_list_box figure.noimage {
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	position: relative;
}

.top_today_list_box figure.noimage img {
	margin: 0 30px;
}

.top_today_list_box figure.noimage::before {
	content: "";
	display: block;
	padding-bottom: 100%;
}

.top_today_date p {
	margin: 0;
	text-align: left;
}

.top_today_navi_box {
	margin: 10px 0 30px;
}

.top_today .btn_link a span {
	padding-left: 38px;
	z-index: 2;
	position: relative;
	background: url(../images/common/ico_eventlist.svg) no-repeat left center / 27px auto;
}

.top_today .btn_link a::before {
	background-color: #fff;
}

@media screen and (min-width: 768px) {

	.top_today_box {
		margin: -12px 0 0;
		padding: 90px 40px 80px;
		border-radius: 30px;
	}

    .top_today_list {
      margin: 0;
      display: flex;
      justify-content: center;
    }

	.top_today_list_box figure.noimage {
		width: 280px;
		height: 280px;
	}

	.top_today_list_box figure.noimage img {
		margin: 0 20px;
	}

    .top_today_list.slick-slider {
      display: block;
    }

	.top_today_list_box {
		margin: 20px;
        max-width: 360px;
	}

	.top_today_list_box a {
		padding: 40px 40px 30px;
		height: 100%;
	}

	.top_today_list_box .top_today_date {
		left: 20px;
	}

	.top_today_navi_box {
		margin: 20px 0 30px;
	}

}

.top_topics {
	margin: 60px 0 0;
	text-align: center;
}

.top_topics h2 {
	margin: 0 0 30px;
	padding: 50px 0 0;
	font-size: 2.8rem;
	font-weight: 400;
	text-align: center;
	background: url(../images/common/ico_topics.svg) no-repeat center top / 33px auto;
}

.top_topics_pc {
	display: none;
}

.top_topics_sp {
	display: block;
}

@media screen and (min-width: 768px) {

	.top_topics {
		margin: 80px 0 0;
	}

	.top_topics .inner {
		margin: 0 auto;
		width: min(95%,1640px);
	}

	.top_topics h2 {
		margin: 0 0 50px;
		font-size: 3.2rem;
	}

	.top_topics_pc {
		display: block;
	}

	.top_topics_sp {
		display: none;
	}

}

.box_shadow {
	position: relative;
}

.box_shadow::before {
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	border-radius: 20px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	transition: all 0.25s ease;
    background: #fff;
}

.box_shadow > * {
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {

	.box_shadow:hover::before {
		transform: scale(1.05);
	}

}

.top_topics_list {
	margin: 0 0 20px;
	height: auto;
}

.top_topics_list .top_topics_list_box {
	margin: 10px 12px;
	background: #fff;
	height: auto;
}

.top_topics_list .top_topics_list_box a {
	padding: 20px;
	display: block;
}

.top_topics_list .top_topics_list_box a > div {
	display: flex;
	align-items: center;
}

.top_topics_list .top_topics_list_box figure {
	margin: 0 20px 0 0;
	width: 110px;
	flex-shrink: 0;
}

.top_topics_list .top_topics_list_box figure.noimage {
	padding: 0 10px;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 110px;
	height: 110px;
}

.top_topics_list .top_topics_list_box .top_topics_date {
	margin: 0 0 5px;
	font-size: 1.2rem;
	font-weight: 400;
}

.top_topics_list .top_topics_list_box p {
	text-align: left;
	line-height: 1.6;
}

.top_topics_list .top_topics_list_box .top_topics_list_title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 4;
}

@media screen and (min-width: 768px) {

	.top_topics_slide {
		max-width: 1640px;
	}

	.top_topics_slide .slick-list {
		padding-top: 10px;
	}

	.top_topics_list {
		margin: 0 20px;
	}

	.top_topics_list .top_topics_list_box {
		margin: 0 0 40px;
	}

	.top_topics_list .top_topics_list_box a {
		padding: 30px;
		display: flex;
		align-items: center;
	}

	.top_topics_list .top_topics_list_box a > div {
		display: block;
	}

	.top_topics_list .top_topics_list_box figure {
		margin: 0 30px 0 0;
		width: 150px;
	}

	.top_topics_list .top_topics_list_box figure.noimage {
		width: 150px;
		height: 150px;
	}

	.top_topics_list .top_topics_list_box .top_topics_date {
		font-size: 1.4rem;
	}

	.top_topics_list .top_topics_list_box .top_topics_list_title {
		-webkit-line-clamp: 5;
	}

}


.btn_link {
	font-size: 1.8rem;
	display: inline-block;
}

.btn_link a {
	padding: 20px 25px;
	display: block;
	border-radius: 20px;
	background-color: #fff;
}

.btn_link a span {
	padding-top: 2px;
	padding-bottom: 2px;
}

.top_topics .btn_link {
	margin: 25px 0 0;
}

.top_topics .btn_link a span {
	padding-left: 30px;
	background: url(../images/common/ico_topicslist.svg) no-repeat left center / 22px auto;
}

@media screen and (min-width: 768px) {

	.top_topics .btn_link {
		margin: 40px 0 0;
	}

}

.top_topics_navi {
	margin: 10px 0 0;
    padding-bottom: 15px;
    overflow-x: auto;
}

.slide_navi {
	padding: 0 20px;
	position: relative;
	display: inline-block;
}

.slide_navi .slick-arrow {
	margin: 0;
	padding: 0;
	position: absolute;
	width: 12px;
	height: 23px;
	top: 0;
	bottom: 0;
	margin: auto;
	border: none;
}

.slide_navi .slick-prev {
	left: 0;
	background: url(../images/common/slide_left.png) no-repeat 0 0 / 100% auto;
}

.slide_navi .slick-next {
	right: 0;
	background: url(../images/common/slide_right.png) no-repeat 0 0 / 100% auto;
}

.slide_navi .slick-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 23px;
}

.slide_navi .slick-dots li {
	margin: 0 4px;
	width: 5px;
	height: 5px;
}

.slide_navi .slick-dots li button {
	border: none;
	padding: 0;
	text-indent: -9999px;
	background: #b1b1b1;
	width: 5px;
	height: 5px;
	border-radius: 10px;
	display: block;
}

.slide_navi .slick-dots li.slick-active button {
	background: #333333
}

.top_topics_navi_box {
	padding: 0 50px;
}

@media screen and (min-width: 768px) {

  .top_topics_navi {
      padding-bottom: 0;
      overflow-x: inherit;
  }

  .top_topics_navi_box,
  .slide_navi {
	  padding: 0 40px;
  }

  .slide_navi .slick-dots li {
	  margin: 0 7px;
  }

}

.top_insta {
	padding: 60px 0 0;
}

.top_insta .inner {
	margin: 0 20px;
}

.top_insta h2 {
	margin: 0 0 40px;
	padding: 45px 0 0;
	font-size: 1.8rem;
	font-weight: 300;
	text-align: center;
	background: url(../images/common/ico_instagram.svg) no-repeat center top / 32px auto;
}

.top_insta h2 div {
	padding: 0 0 5px;
}

.top_insta h2 span {
	font-size: 4.0rem;
	font-weight: 400;
}

#top_insta_list {
	display: grid;
	grid-template-columns: repeat(3,1fr);
}

#top_insta_list li:last-child {
	display: none;
}

@media screen and (min-width: 768px) {

	.top_insta {
		padding: 80px 0 0;
	}

	.top_insta .inner {
		margin: 0 auto;
		width: var(--min-width);
	}

	#top_insta_list {
		display: grid;
		grid-template-columns: repeat(5,1fr);
		gap: 5% 2%;
	}

	#top_insta_list li:last-child {
		display: block;
	}

}

.top_news {
	margin-top: 60px;
	border-top: 1px solid #ebdfd6;
}

.top_news .inner {
	margin: 0 20px;
	padding: 50px 0 60px;
	position: relative;
}

.top_news .inner::before {
	position: absolute;
	content: '';
	top: -3.5px;
	left: 0;
	width: 50px;
	height: 7px;
	border-radius: 3px;
	background: #dba177;
}

.top_news h2 {
	margin: 0 0 35px;
	padding: 0 0 0 30px;
	background: url(../images/common/ico_news.svg) no-repeat 0 center / 20px auto;
	font-weight: 300;
	font-size: 2.8rem;
}

.top_news_list {
	margin: 0 0 20px;
}

.top_news_list li {
	margin: 0;
	font-size: 1.6rem;
	line-height: 1.5;
	border-bottom: 1px solid #ebdfd6;
}

.top_news_list li:last-child {
	border: none;
}

.top_news_list li a {
	padding: 15px 0;
	display: block;
}

.link_news_index a {
	padding: 20px 0 0;
	display: inline-block;
	border-top: 1px solid #ebdfd6;
}

@media screen and (min-width: 768px) {

	.top_news {
		margin-top: 80px;
	}

	.top_news .inner {
		margin: 0 auto;
		padding: 80px 0;
		width: var(--min-width);
	}

	.top_news h2 {
		margin: 0 0 50px;
		padding: 0 0 0 40px;
		font-size: 3.2rem;
	}

	.top_news_list {
		margin: 0 0 50px;
	}

	.top_news_list li {
		margin: 0 0 15px;
		border: none;
	}

	.top_news_list li a {
		padding: 8px 0 8px;
		position: relative;
	}

	.top_news_list li a::after {
		position: absolute;
		content: '';
		bottom: 0;
		left: 0;
		width: 0;
		height: 1px;
		background: #333;
		transition: all 0.3s ease;
	}

	.top_news_list li a:hover::after {
		width: 100%;
	}

	.link_news_index a {
		padding: 20px 0 0;
		display: inline-block;
		border-top: 1px solid #ebdfd6;
	}

	.link_news_index a:hover {
		border-color: #dba177;
	}

}

.top_banner {
	padding: 60px 0 50px;
	background: #efe7e7;
}

.top_banner .inner {
	margin: 0 20px;
}

.top_big_banner {
	margin: 0 0 40px;
}

.top_big_banner li {
	margin: 0 0 30px;
}

.top_big_banner li a {
	display: flex;
	align-items: center;
}

.top_big_banner li img {
	width: 60%;
	flex-shrink: 0;
	max-width: 200px;
}

.top_big_banner li p {
	margin: 0 0 0 20px;
}

@media screen and (min-width: 768px) {

	.top_banner {
		padding: 80px 0;
	}

	.top_banner .inner {
		margin: 0 auto;
		width: var(--min-width);

	}

	.top_big_banner {
		margin: 0 0 60px;
		display: flex;
		flex-wrap: wrap;
		gap: 40px;
		justify-content: center;
	}

	.top_big_banner li {
		margin: 0;
		width: calc(25% - 30px);
	}

}

.top_small_banner_slide {
	display: flex;
	flex-wrap: wrap;
	gap: 25px 30px;
}

.top_small_banner_box {
	width: calc(50% - 15px);
}

.top_big_banner li a p,
.top_small_banner_box a p {
	font-size: 1.4rem;
	font-weight: 400;
}

.top_small_banner_box a p {
	margin: 6px 0 0;
}

.top_small_banner_box.slick-slide {
	margin: 0 10px
}

.top_small_banner_navi {
	position: relative;
	height: 23px;
}

.top_small_banner_navi button {
	text-indent: -9999px;
	margin: 0;
	padding: 0;
	position: absolute;
	width: 12px;
	height: 23px;
	top: -230px;
	bottom: 0;
	margin: auto;
	border: none;
}

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

	.top_small_banner_navi button {
		top: -210px;
	}

}

.top_small_banner_navi .slick-prev {
	left: -12px;
	background: url(../images/common/slide_left.png) no-repeat 0 0 / 100% auto;
}

.top_small_banner_navi .slick-next {
	right: -12px;
	background: url(../images/common/slide_right.png) no-repeat 0 0 / 100% auto;
}

@media screen and (min-width: 768px) {

	.top_small_banner_slide.slick-slider {
		margin-left: 32px;
	}

	.top_small_banner_slide {
		justify-content: center;
		max-width: 1128px;
		margin: 0 auto;
	}

	.top_small_banner_slide .slick-track {
	}

	.top_small_banner_box {
		width: 158px !important;
	}

	.top_small_banner_box.slick-slide {
		margin: 0 10px
	}

	.top_small_banner_navi button {
		top: -220px;
	}

	.top_small_banner_navi .slick-prev {
		left: 6px;
	}

	.top_small_banner_navi .slick-next {
		right: -4px;
	}

	.top_big_banner li a,
	.top_small_banner_box a {
		display: block;
	}

	.top_big_banner li img,
	.top_small_banner_box img {
		transition: all 0.3s ease 0s;
	}

	.top_big_banner li a:hover img,
	.top_small_banner_box a:hover img {
		transform: scale(1.05);
	}

	.top_big_banner li img {
		width: 100%;
		max-width: inherit;
	}

	.top_big_banner li a p,
	.top_small_banner_box a p {
		margin: 8px 0 0;
		letter-spacing: 0;
		text-align: center;
	}

}

/*	common
------------------------*/

.path {
  margin: 10px 15px;
}

.path ol {
  display: flex;
  list-style: none;
}

.path li {
  margin-right: 8px;
  padding-right: 12px;
  background: url(../images/common/ico_breadcrumbs.svg) no-repeat right 1px / 5px auto;
  font-size: 1.0rem;
  line-height: 1.2;
}

.path li:last-child {
  margin-right: 0;
  padding-right: 0;
  background: none;
}

@media screen and (min-width: 768px) {

  .path {
    margin: 20px 40px;
  }

  .path li {
    margin-right: 20px;
    padding-right: 30px;
    background: url(../images/common/ico_breadcrumbs.svg) no-repeat right center / 10px auto;
    font-size: 1.6rem;
  }

}

.page_entry .main .inner {
  	margin: 0 auto;
}

.entry_inner {
  padding: 0 20px 50px;
  font-family: "Noto Sans JP", sans-serif;
  background: url(../images/common/line_dot.png) repeat-x 0 bottom / 5px auto;
}

.entry_inner:has(.entry.banquet),
.entry_inner:has(.entry.about),
.entry_inner:has(.entry.philosophy),
.entry_inner:has(.entry.policy),
.entry_inner:has(.entry.parking),
.entry_inner:has(.entry.access),
.entry_inner:has(.entry.business_information) {
  padding-bottom: 0;
  background: none;
}

.entry_header {
  margin: 40px 0 50px;
  text-align: center;
}

.entry_header .entry_header_title {
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {

  .page_entry .main .inner {
	  width: var(--min-width);
  }

  .entry_inner {
    padding: 0 0 50px;
  }

  .entry_header {
    margin: 40px 0 80px;
  }

  .entry_header .entry_header_title {
    font-size: 3.6rem;
    line-height: 1.5;
  }

}

.entry_column p {
  margin: 0 0 20px;
  font-size: 1.6rem;
}

.entry_column p.caption {
  margin-top: 10px;
  font-size: 1.4rem;
}

.entry_column p:has(+ p.note) {
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {

  .entry_column p.caption {
    margin-top: 5px;
    font-size: 1.6rem;
  }

}

.entry_column h2 {
  margin: 45px 0 45px;
  font-size: 2.2rem;
  line-height: 1.4;
  font-weight: 400;
  position: relative;
  border-bottom: 1px solid #333;
}

.entry_column h2::before,
.entry_column h2::after {
  position: absolute;
  content: '';
  bottom: -2px;
  width: 25px;
  height: 4px;
  background: #fff;
}

.entry_column h2::before {
  right: 0;
}

.entry_column h2::after {
  left: 0;
}

.entry_column h2 span {
  padding: 0 0 20px;
  position: relative;
  display: block;
}

.entry_column h2 span::before,
.entry_column h2 span::after {
  position: absolute;
  content: '';
  bottom: -2px;
  width: 20px;
  height: 4px;
  border-radius: 1px;
  background: #333;
  display: block;
  z-index: 2;
}

.entry_column h2 span::before {
  left: 0;
}

.entry_column h2 span::after {
  right: 0;
}

@media screen and (min-width: 768px) {

  .entry_column h2 {
    margin: 70px 0 50px;
    font-size: 3.2rem;
  }

}

.entry_column h3 {
  margin: 50px 0 25px;
  padding: 5px 0 5px 15px;
  font-size: 2.0rem;
  font-weight: 400;
  line-height: 1.4;
  border-left: 2px solid #333;
}

.entry_column h3.center {
  margin: 40px 0 35px;
  padding: 0;
  border: none;
  text-align: center;
  font-weight: 500;
  font-size: 2.0rem;
  line-height: 1.4;
}

.entry_column h3:has(+ h4),
.entry_column h3:has(+ h5) {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {

  .entry_column h3 {
    margin: 70px 0 40px;
    padding: 5px 0 5px 20px;
    font-size: 2.8rem;
  }

  .entry_column h3.center {
    margin: 60px 0 55px;
    font-size: 2.8rem;
  }

}

.entry_column h4:not([class]) {
  margin: 35px 0 20px;
  padding: 0 60px 0 0;
  font-weight: 400;
  font-size: 2.0rem;
  line-height: 1.4;
  position: relative;
  display: inline-block;
}

.entry_column h4:not([class])::before {
  position: absolute;
  content: '';
  width: 50px;
  height: 1px;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #333;
}

.entry_column h4.center {
  margin: 35px 0 25px;
  padding: 0 0 10px;
  text-align: center;
  font-weight: 400;
  font-size: 2.0rem;
  line-height: 1.4;
  position: relative;
}

.entry_column h4.center::before {
  position: absolute;
  content: '';
  width: 30px;
  height: 2px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: #333;
}

.entry_column h4:has(+ h5) {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {

  .entry_column h4:not([class]) {
    margin: 50px 0 40px;
    font-size: 2.4rem;
  }

  .entry_column h4.center {
    margin: 50px 0 40px;
    padding: 0 0 15px;
    font-size: 2.4rem;
  }

}

.entry_column h5 {
  margin: 35px 0 20px;
  padding: 0 0 10px;
  font-size: 1.8rem;
  line-height: 1.4;
  border-bottom: 1px solid #e8e8e8;
}

.entry_column em {
  font-weight: 500;
  color: #c7352d;
}

.entry_column strong {
  font-weight: 500;
}

.entry_column .bold {
  font-weight: bold;
}

.entry_column p a {
  text-decoration: underline;
}

.entry_column p.link_normal a {
  padding-right: 12px;
  text-decoration: none;
  background: url(../images/common/ico_link.svg) no-repeat right center / 6px auto;
}

.entry_column p.link_out a {
  padding-right: 16px;
  text-decoration: none;
  background: url(../images/common/ico_blank.svg) no-repeat right center / 12px auto;
}

@media screen and (min-width: 768px) {

  .entry_column h5 {
    margin: 45px 0 30px;
    padding: 0 0 15px;
    font-size: 2.0rem;
  }

}

.entry_column ul {
  margin: 25px 0;
  list-style: none;
}

.entry_column ul li {
  margin: 0 0 12px;
  padding: 0 0 0 20px;
  font-size: 1.6rem;
  font-weight: 300;
  position: relative;
}

.entry_column ul li::before {
  position: absolute;
  content: '';
  left: 0;
  top: 6px;
  width: 10px;
  height: 10px;
  background: #333;
  border-radius: 2px;
}

.entry_column ol {
  margin: 25px 0;
  padding: 0 0 0 18px;
}

.entry_column ol li {
  margin: 0 0 12px;
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 300;
  position: relative;
}

@media screen and (min-width: 768px) {

  .entry_column ul {
    margin: 30px 0;
  }

  .entry_column ol {
    margin: 30px 0;
  }

}

.entry_column p.note {
  margin: 0 0 5px;
  font-size: 1.4rem;
}

.entry_column table p.note {
  margin-top: 10px;
}

.entry_column p.a_center {
  text-align: center;
}

.entry_column p.a_right {
  text-align: right;
}

.entry_column p.btn_center {
  margin: 40px auto;
  font-size: 1.8rem;
  text-align: center;
  position: relative;
  width: fit-content;
}

.entry_column p.btn_center::before {
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	border-radius: 20px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	transition: all 0.25s ease;
}

.entry_column p.btn_center a {
  padding: 15px 30px;
  text-decoration: none;
  display: block;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {

	.entry_column p.btn_center:hover::before {
		transform: scale(1.05);
	}

}

[class^=column-table] .entry-container {
  margin-bottom: 40px;
}

[class^=column-table] .entry-container.scroll-hint,
[class^=column-table] .entry-container:has(.acms-table-scrollable) {
  overflow-x: auto;
}

.entry_column .wysiwyg {
  margin-bottom: 40px;
  overflow-x: auto;
}

.entry_column .wysiwyg table,
.entry_column .column-table- .acms-table-scrollable {
  margin-bottom: 10px;
}

.entry_column .entry-container.scroll-hint table th,
.entry_column .entry-container.scroll-hint table td,
.entry_column .column-table- .acms-table-scrollable th,
.entry_column .column-table- .acms-table-scrollable td {
  display: table-cell;
  white-space: nowrap;
}

.entry_column .wysiwyg table,
.entry_column .column-table- table {
  width: 100%;
  border: 1px solid #d0d0d0;
}

.entry_column .wysiwyg table {
  max-width: inherit !important;
}

.entry_column .column-table- table.js-table-unit-scroll-hint {
  margin-bottom: 10px;
}

.entry_column .column-table- .scroll-hint {
  margin-bottom: 30px;
}

.entry_column .wysiwyg th,
.entry_column .wysiwyg td,
.entry_column .column-table- th,
.entry_column .column-table- td {
  padding: 15px 20px;
  border-left: 1px solid #d0d0d0;
  border-right: 1px solid #d0d0d0;
}

.entry_column .wysiwyg th,
.entry_column .column-table- th {
  text-align: left;
  font-weight: 400;
}

.entry_column .wysiwyg th,
.entry_column .wysiwyg td {
  white-space: nowrap;
}

.entry_column .wysiwyg tbody tr:nth-child(even) {
  background: #f1f1f1;
}

.entry_column .wysiwyg table:has(thead) tbody tr:nth-child(odd) {
  background: #f1f1f1;
}

.entry_column .wysiwyg table:has(thead) tbody tr:nth-child(even) {
  background: none;
}

.entry_column .column-table- tr:nth-child(2n) {
  background: #f1f1f1;
}

.entry_column .column_gray_box {
  margin: 30px 0;
  padding: 30px;
  background: #f1f1f1;
  border-radius: 20px;
}

.entry_column .column_gray_box > *:first-child {
  margin-top: 0;
}

.entry_column .column_gray_box > *:last-child {
  margin-bottom: 0;
}

.entry_column .column-table-:has(+ p.note) .entry-container {
  margin: 0;
}

.entry_column .column-table-:has(+ p.note) .entry-container table {
  margin: 0 0 15px;
}

.entry_column .column-table-:has(+ h2) .entry-container table,
.entry_column .column-table-:has(+ h3) .entry-container table,
.entry_column .column-table-:has(+ h4) .entry-container table,
.entry_column .column-table-:has(+ h5) .entry-container table {
  margin-bottom: 0;
}

.entry_column .column-table- td a {
  text-decoration: underline;
}

@media screen and (min-width: 768px) {

  .entry_column .column-table- .scroll-hint {
    margin-bottom: 40px;
  }

  .entry_column .column-table- th,
  .entry_column .column-table- td {
    padding: 18px 25px;
  }

  .entry_column .column-table- th {
    white-space: nowrap;
  }

  .entry_column .column_gray_box {
    margin: 50px 0;
    padding: 50px;
  }

  .entry_column .wysiwyg th,
  .entry_column .wysiwyg td {
    white-space: inherit;
  }

}

/* -----------------
	イベント一覧
----------------- */

.index_header {
  margin: 40px 0 50px;
  text-align: center;
}

.index_header_title {
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.4;
}

.event.page_index .index_header_title span {
  padding-left: 35px;
  background: url(../images/common/ico_eventlist.svg) no-repeat 0 center / 27px auto;
}

.event.page_index .top_keyword {
  margin-top: 0;
}

.event_this_week {
  margin: 60px 20px 0;
}

.event_next_week {
  margin: 60px 0 0;
}

.event_next_week .index_event_list {
  margin: -20px 0 0;
  padding: 65px 20px 40px;
  background: #f7f7f7;
  border-radius: 30px;
}

.event_this_week h2 {
  margin: 0 0 60px;
  padding: 40px 0 15px;
  text-align: center;
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.4;
  background: url(../images/common/ico_this_weeks.svg) no-repeat center top / 50px auto,
              url(../images/common/ico_this_weeks_line.svg) no-repeat center bottom / 90px auto;
}

.event_next_week h2 {
  margin: 0;
  padding: 40px 0 0;
  text-align: center;
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.4;
  background: url(../images/common/ico_next_weeks.svg) no-repeat center top / 50px auto;
}

@media screen and (min-width: 768px) {

  .index_header {
    margin: 40px 0 70px;
  }

  .index_header_title {
    font-size: 3.6rem;
  }

  .event.page_index .index_header_title span {
    padding-left: 50px;
    background: url(../images/common/ico_eventlist.svg) no-repeat 0 center / 40px auto;
  }

  .event.page_index .top_keyword {
    margin-top: 0;
  }

  .event_this_week {
    margin: 60px auto;
    width: min(95%,1728px);
  }

  .event_next_week {
    margin: 80px 0 0;
  }

  .event_next_week .index_event_list {
    margin: -20px auto 0;
    padding: 90px 60px 80px;
	width: 100%;
  }

	.event_next_week .index_event_list ul {
		width: min(95%, 1640px);
	}

  .event_this_week h2 {
    margin: 0 0 75px;
    padding: 40px 0 20px;
    font-size: 3.2rem;
  }

  .event_next_week h2 {
    font-size: 3.2rem;
  }

}

.index_event_list li {
  margin-bottom: 35px;
}

.index_event_list li a {
  padding: 35px 20px 20px;
  position: relative;
  display: block;
  height: 100%;
}

.index_event_list li .date {
  position: absolute;
  top: -15px;
  left: 20px;
  padding: 5px 10px;
  font-size: 1.4rem;
  font-weight: 400;
  border-radius: 5px;
  background: #e6dbf0;
}

.index_event_list li h3 {
  margin: 12px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.4;
}

.index_event_list figure.noimage {
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	position: relative;
}

.index_event_list figure.noimage::before {
	content: "";
	display: block;
	padding-bottom: 100%;
}

.index_event_list figure.noimage img {
	margin: 0 40px;
}

@media screen and (min-width: 768px) {

  .index_event_list {
    margin: 0 auto;
    width: min(95%, 1640px);
  }

  .index_event_list ul {
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 55px 40px;
  }

  .index_event_list li {
    margin: 0;
    max-width: 380px;
  }

  .index_event_list li a {
    padding: 40px 40px 35px;
  }

	.index_event_list figure.noimage {
		width: 300px;
		height: 300px;
	}

}

.index_event_future {
  margin: 60px 0 0;
}

.index_event_future h2 {
  margin: 0 0 5px;
  padding: 40px 0 0;
  text-align: center;
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.4;
  background: url(../images/common/ico_future.svg) no-repeat center top / 32px auto;
  display: none;
}

.index_event_future h2:has(+ .index_event_future_list li) {
  display: block;
}

.index_event_future_list {
	margin: 0 20px;
}

.index_event_future_list li {
  padding: 15px 0;
  background: url(../images/common/line_dot_pink.png) repeat-x 0 bottom / 5px auto;
}

.index_event_future_list li .event_future_column {
  display: flex;
}

.index_event_future_list li .event_future_date {
  margin-bottom: 10px;
}

.index_event_future_list li .event_future_cate {
  width: 90px;
}

.index_event_future_list li .event_future_date p {
  font-size: 1.2rem;
}

.index_event_future_list li .event_future_cate p {
  padding: 2px 0;
  border-radius: 5px;
  text-align: center;
  font-size: 1.2rem;
}

.index_event_future_list li .event_future_title h3 {
  margin-left: 15px;
  font-size: 1.6rem;
  font-weight: 300;
}

@media screen and (min-width: 768px) {

  .index_event_future {
    margin: 80px 0 0;
  }

  .index_event_future h2 {
    margin: 0 0 30px;
    font-size: 3.2rem;
  }

  .index_event_future_list {
	  margin: 0 auto;
	  width: var(--min-width);
  }

  .index_event_future_list li {
    padding: 0;
    display: flex;
    background: url(../images/common/line_dot_pink.png) repeat-x 0 bottom / 5px auto;
  }

  .index_event_future_list li .event_future_date {
    margin: 0;
    padding: 30px 0;
    width: 33%;
    flex-shrink: 0;
  }

  .index_event_future_list li .event_future_cate,
  .index_event_future_list li .event_future_title {
    padding: 30px 0;
  }

  .index_event_future_list li .event_future_cate {
    width: 120px;
    flex-shrink: 0;
  }

  .index_event_future_list li .event_future_date p {
    margin-right: 10px;
    font-size: 1.6rem;
  }

  .index_event_future_list li .event_future_cate p {
    padding: 5px 10px;
  }

  .index_event_future_list li .event_future_title h3 {
    margin: 3px 0 0 30px;
  }

}

.index_event_future_list li .color_pink {
  background: #fbe5ee;
}

.index_event_future_list li .color_blue {
  background: #dbebf3;
}

.index_event_future_list li .color_gold {
  background: #ebeac4;
}

.index_event_future_list li .color_green {
  background: #e5f3c4;
}

.index_event_future_list li .color_purple {
  background: #e6dbf0;
}

/* -----------------
	イベント詳細
----------------- */

.event_entry_header {
  padding: 20px 10px 15px;
  background: #f1f1f1;
}

.type_banner_text {
  padding: 10px 0 0;
  text-align: center;
}

.type_banner_text p {
  margin: 0;
  font-size: 1.4rem;
}

.type_banner_text p + p {
  margin: 5px 0 0 0;
}

@media screen and (min-width: 768px) {

  .event_entry_header {
    padding: 40px 0 30px;
  }

  .event_entry_header_inner {
    margin: 0 auto;
    width: min(95%,800px);
  }

  .type_banner_text {
    padding: 20px 0 0;
    display: flex;
    justify-content: center;
    text-align: inherit;
  }

  .type_banner_text p {
    font-size: 1.6rem;
  }

  .type_banner_text p + p {
    margin: 0 0 0 20px;
    padding: 0 0 0 20px;
    border-left: 1px solid #cfcfcf;
  }

}

.type_detail .event_entry_header_inner figure {
  margin: 0 0 20px;
}

.type_detail_text h1 {
  margin: 0 0 15px;
  font-size: 2.2rem;
  line-height: 1.3;
}

.type_detail_text p {
  font-size: 1.4rem
}

.type_detail_text p + p {
  margin: 15px 0 0;
}

@media screen and (min-width: 768px) {

  .type_detail .event_entry_header_inner {
    padding: 20px 0 30px;
    display: flex;
  }

  .type_detail .event_entry_header_inner figure {
    margin: 0 40px 0 0;
    width: 200px;
    flex-shrink: 0;
  }

  .type_detail_text h1 {
    margin: 3px 0 20px;
    font-size: 3.6rem;
  }

  .type_detail_text p {
    font-size: 1.6rem
  }

  .type_detail_text p + p {
    margin: 20px 0 0;
  }

}

.event_unit {
  margin-bottom: 30px;
}

.event_unit figure {
  margin: 0;
}

.entry_column .event_unit h3 {
  margin: 20px 0 10px;
  padding: 0;
  font-size: 2.0rem;
  font-weight: 300;
  border: none;
  position: relative;
  display: flex;
  align-items: center;
}

.entry_column .event_unit h3::after {
  margin-left: 15px;
  content: "";
  flex-grow: 1;
  height: 1px;
  background: #e8e8e8;
  display: block;
}

.entry_column .event_unit h4 {
  margin: 0 0 5px;
  padding: 0;
  font-size: 1.8rem;
  font-weight: 300;
}

.entry_column .event_unit h4::before {
  display: none;
}

.entry_column .event_unit p {
  margin: 0 0 10px;
  font-size: 1.6rem;
}

.entry_column .event_unit p.note {
  font-size: 1.4rem;
}

.event_unit p.price {
  margin: 15px 0 0;
  font-size: 1.4rem;
  text-align: right;
}

.event_unit p.price span {
  padding: 0 5px 0 0;
  font-size: 2.6rem;
}

@media screen and (min-width: 768px) {

  .column2_left_sp .event_unit,
  .column2_left .event_unit {
    margin-right: 10px;
    margin-bottom: 0;
  }

  .column2_right_sp .event_unit,
  .column2_right .event_unit {
    margin-left: 10px;
    margin-bottom: 0;
  }

  .entry_column .event_unit h3 {
    margin: 25px 0 20px;
    font-size: 2.4rem;
  }

  .entry_column .event_unit h3::after {
    margin-left: 20px;
  }

  .entry_column .event_unit h4 {
    margin: 0 0 15px;
    font-size: 2.0rem;
  }

  .event_unit p.price {
    margin: 20px 0 0;
    font-size: 1.6rem;
  }

  .event_unit p.price span {
    font-size: 3.0rem;
  }

}

/* -----------------
	店舗情報
----------------- */

.shpo_entry_column {
  margin: 0 20px 30px;
}

.shop_entry .shop_logo {
  margin: 0 25px 25px 0;
  padding: 3px;
  border: 1px solid #e8e8e8;
  border-radius: 15px;
  background: #fff;
  width: 125px;
  height: 125px;
  float: left;
}

.shop_entry .shop_logo span {
  padding: 15px;
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.shop_entry h2 {
  margin: 0 0 20px;
  font-size: 1.6rem;
  position: relative;
}

.shop_entry .shop_desc {
  margin: 0 0 25px;
  font-size: 1.6rem;
}

.shop_entry .shop_product {
  margin: 0 0 30px;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  clear: both;
}

.shop_entry .shop_product dt {
  padding: 2px 0;
  line-height: 1.4;
  white-space: nowrap;
}

.shop_entry .shop_product dd {
  margin: 0 0 0 15px;
  padding: 2px 0 2px 15px;
  line-height: 1.4;
  border-left: 1px solid #e8e8e8;
}

.shop_entry .shop_open {
  margin: 0 0 20px;
  padding: 18px 20px;
  background: #f1f1f1;
  border-radius: 5px;
  display: flex;
  align-items: center;
  clear: both;
}

.shop_entry .shop_open dt {
  padding: 5px 0 5px 30px;
  line-height: 1.4;
  white-space: nowrap;
  background: url(../images/common/ico_shopping_hours.svg) no-repeat 0 center / 25px auto;
}

.shop_entry .shop_open dd {
  margin: 0 0 0 25px;
  line-height: 1.4;
}

.shop_entry .shop_info {
  margin: 0 20px;
  display: flex;
  flex-wrap: wrap;
}

.shop_entry .shop_tel {
  margin: 0 0 15px;
  padding: 5px 0 5px 30px;
  width: 100%;
  background: url(../images/common/ico_tel.svg) no-repeat 0 center / 20px auto;
}

.shop_entry .shop_floor {
  padding: 5px 0 5px 30px;
  background: url(../images/common/ico_place.svg) no-repeat 0 center / 22px auto;
}

.shop_entry .shop_block {
  margin: 0 0 0 10px;
  display: flex;
  align-items: center;
}

.shop_entry .shop_block dt {
  background: #333;
  padding: 4px 5px;
  color: #fff;
  font-size: 1.2rem;
}

.shop_entry .shop_block dd {
  margin: 0 0 0 5px;
}

@media screen and (min-width: 768px) {

  .shpo_entry_column {
    margin: 0 0 60px;
    display: flex;
  }

  .shop_entry .shop_logo {
    margin: 0 50px 0 0;
    width: 250px;
    height: 250px;
    flex-shrink: 0;
  }

  .shop_entry .shop_logo span {
    padding: 30px;
  }

  .shop_entry h2 {
    margin: 0 0 40px;
  }

  .shop_entry .shop_desc {
    margin: 0 0 35px;
  }

  .shop_entry .shop_open {
    margin: 0 0 25px;
    padding: 20px;
  }

  .shop_entry .shop_info {
    margin: 0;
    display: flex;
  }

  .shop_entry .shop_tel {
    margin: 0;
    width: auto;
  }

  .shop_entry .shop_floor {
    margin: 0 0 0 30px;
  }

}

/* -----------------
	お知らせ
----------------- */
.news.page_index .inner {
	margin: 0 auto;
}

.index_news_list li {
  background: #f1f1f1;
}

.index_news_list li:nth-child(2n) {
  background: #fff;
}

.index_news_list li a {
  padding: 20px;
  display: block;
  background: url(../images/common/ico_link.svg) no-repeat right 20px center / 6px auto;
}

.index_news_list li time {
  margin: 0 0 10px;
  display: block;
  font-size: 1.2rem;
}

.index_news_list li h2 {
  font-weight: 300;
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {

  .news.page_index .inner {
	  width: var(--min-width);
  }

  .index_news_list li a {
    padding: 20px 25px;
    display: flex;
    background: url(../images/common/ico_link.svg) no-repeat right 25px center / 6px auto;
  }

  .index_news_list li time {
    margin: 0 60px 0 0;
    margin-right: 60px;
    font-size: 1.4rem;
  }

}

.index_pager {
	margin: 40px 20px 0;
}

.index_pager ul {
	display: flex;
	justify-content: center;
	align-items: center;
}

.index_pager li {
  font-size: 1.6rem;
  white-space: nowrap;
  border-left: 1px solid #e8e8e8;
}

.index_pager li span {
  display: inline-block;
}

.index_pager li a {
  padding: 5px 20px
}

.index_pager li.cur span {
  padding: 0 20px;
  color: var(--site-color);
  position: relative;
}

.index_pager li.cur span::after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: -6px;
  margin: auto;
  width: 15px;
  height: 2px;
  background: #345994;
}

.index_pager li:nth-child(2),
.index_pager li.dot,
.index_pager li.dot + li,
.index_pager li.page_back,
.index_pager li.page_forward {
  border: none;
}

.index_pager li.page_back,
.index_pager li.page_forward {
  width: 45px;
}

.index_pager li.page_back {
  margin: 0 auto 0 0;
}

.index_pager li.page_forward {
  margin: 0 0 0 auto;
}

.index_pager li.page_back a,
.index_pager li.page_forward a {
	display: flex;
	justify-content: center;
	align-items: center;
}

.index_pager li.page_back a {
  padding: 0 0 0 15px;
  background: url(../images/common/ico_link_left.svg) no-repeat 0 center / 6px auto;
}

.index_pager li.page_forward a {
  padding: 0 15px 0 0;
  background: url(../images/common/ico_link.svg) no-repeat right center / 6px auto;
}

@media screen and (min-width: 768px) {

	.index_pager {
		margin: 60px 0 0;
	}

  .index_pager li a {
    padding: 20px 32px
  }

  .index_pager li.cur span {
    padding: 0 32px;
  }

  .index_pager li.page_back,
  .index_pager li.page_forward {
    width: 50px;
  }

  .index_pager li.page_back {
    margin: 0 25px 0 0;
  }

  .index_pager li.page_forward {
    margin: 0 0 0 25px;
  }

}

/* -----------------
	デジタルチラシ
----------------- */

.index_flyer .inner {
	margin: 0 20px;
}

.index_flyer_list h2 {
  margin: 60px 0 50px;
  font-size: 2.2rem;
  line-height: 1.4;
  font-weight: 400;
  position: relative;
  border-bottom: 1px solid #333;
}

.index_flyer_list h2::before,
.index_flyer_list h2::after {
  position: absolute;
  content: '';
  bottom: -2px;
  width: 25px;
  height: 4px;
  background: #fff;
}

.index_flyer_list h2::before {
  right: 0;
}

.index_flyer_list h2::after {
  left: 0;
}

.index_flyer_list h2 span {
  padding: 0 0 20px;
  display: block;
}

.index_flyer_list h2 span::before,
.index_flyer_list h2 span::after {
  position: absolute;
  content: '';
  bottom: -2px;
  width: 20px;
  height: 4px;
  border-radius: 1px;
  background: #333;
  display: block;
  z-index: 2;
}

.index_flyer_list h2 span::before {
  left: 0;
}

.index_flyer_list h2 span::after {
  right: 0;
}

.index_flyer_list h2 .flyer_type {
  margin: 0 0 0 10px;
  padding: 6px 8px;
  background: var(--site-color);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 400;
  border-radius: 12px;
  display: inline-block;
  position: relative;
  top: -2px;
}

@media screen and (min-width: 768px) {

  .index_flyer .inner {
	  margin: 0 auto;
	  width: var(--min-width);
  }

  .index_flyer_list h2 {
    margin: 70px 0 70px;
    font-size: 3.2rem;
  }

  .index_flyer_list h2 .flyer_type {
    font-size: 1.4rem;
    border-radius: 10px;
    top: auto;
  }

  .index_flyer_list h2 span {
    position: relative;
    display: flex;
    align-items: center;
  }

}

.index_flyer_column {
  display: flex;
  flex-direction: column;
}

.index_flyer_column .flyer_img_box {
  margin: 0 0 45px;
  order: 2;
}

.index_flyer_column .flyer_img_box a {
  padding: 10px;
  border-radius: 20px;
  position: relative;
  display: block;
}

.index_flyer_column .flyer_img_box .flyer_zoom {
  margin: 10px 5px 0 15px;
  font-size: 1.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.index_flyer_column .flyer_img_box .flyer_zoom span {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 40px;
  background: #f9f7f3;
}

.index_flyer_column .flyer_img_box .flyer_zoom span::before,
.index_flyer_column .flyer_img_box .flyer_zoom span::after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 15px;
  height: 2px;
  background: #333;
}

.index_flyer_column .flyer_img_box .flyer_zoom span::after {
  transform: rotate(90deg);
}

@media screen and (min-width: 768px) {

  .index_flyer_column {
    flex-direction: inherit;
  }

  .index_flyer_column .flyer_img_box {
    margin: 0 40px 0 0;
    width: 310px;
    order: inherit;
  }

}

.index_flyer_column .index_flyer_info {
  display: contents;
}

.index_flyer_column .index_flyer_info .flyer_term {
  margin: 0 0 40px;
  order: 1;
}

.index_flyer_column .index_flyer_info .btn_flyer_link,
.index_flyer_column .index_flyer_info .btn_flyer_download {
  margin-bottom: 25px;
  order: 3;
}

.index_flyer_column .index_flyer_info .btn_flyer_link a {
  border: 1px solid #333;
  padding: 4px 17px;
  border-radius: 30px;
  font-size: 1.2rem;
  background: #fff;
  display: inline-block;
}

.index_flyer_column .index_flyer_info .btn_flyer_link a[target="_blank"] {
  padding-right: 35px;
  background: #fff url(../images/common/ico_blank.svg) no-repeat right 12px center / 14px auto;
}

.index_flyer_column .index_flyer_info .btn_flyer_download a {
  border: 1px solid #333;
  padding: 4px 35px 4px 17px;
  border-radius: 30px;
  font-size: 1.2rem;
  background: #fff url(../images/common/ico_download.svg) no-repeat right 15px center / 14px auto;
  display: inline-block;
}

.index_flyer_column .catalog_img_box {
  margin: 0 0 25px;
  order: 2;
}

.index_flyer_column .catalog_img_box a {
  padding: 10px;
  border-radius: 20px;
  display: block;
  position: relative;
}

.index_flyer_column .flyer_img_box .flyer_floor,
.index_flyer_column .catalog_img_box .flyer_floor {
  position: absolute;
  top: -15px;
  left: 20px;
  padding: 5px 10px;
  font-size: 1.4rem;
  color: #fff;
  background: #333;
  border-radius: 5px;
  z-index: 3;
}

.index_flyer_column .flyer_img_box .flyer_img,
.index_flyer_column .catalog_img_box .flyer_img {
  border-radius: 12px;
  max-width: 100%;
}

@media screen and (min-width: 768px) {

  .index_flyer_column .index_flyer_info {
    margin: 30px 0 0;
    display: block;
  }

  .index_flyer_column .index_flyer_info .flyer_term {
    margin: 0 0 20px;
    order: inherit;
  }

  .index_flyer_column .index_flyer_info .btn_flyer_link,
  .index_flyer_column .index_flyer_info .btn_flyer_download {
    margin-bottom: 20px;
    order: inherit;
  }

  .index_flyer_column .catalog_img_box {
    margin: 0 40px 0 0;
    width: 310px;
    order: inherit;
  }

}

/* -----------------
  ブランド検索結果
----------------- */

.entry_header_title .ico_search {
  padding-left: 28px;
  background: url(../images/common/ico_brandsearch.svg) no-repeat 0 center / 23px auto;
}

.search_result .inner {
	margin: 0 20px;
}

.search_result .no_result {
  font-size: 1.4rem;
}

.search_result_box {
  margin: 0 0 10px;
}

.search_result_box a {
  padding: 20px;
  display: flex;
}

.search_result_box .shop_logo {
  margin: 0 20px 0 0;
  padding: 3px;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  background: #fff;
  width: 80px;
  height: 80px;
  flex-shrink: 0;
}

.search_result_box .shop_logo span {
  padding: 6px;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.search_result_box .shop_logo img {
  max-width: 100%;
}

@media screen and (min-width: 768px) {

  .entry_header_title .ico_search {
    padding-left: 50px;
    background: url(../images/common/ico_brandsearch.svg) no-repeat 0 center / 32px auto;
  }

  .search_result .inner {
	  margin: 0 auto;
	  width: var(--min-width);
  }

  .search_result .no_result {
    text-align: center;
    font-size: 1.6rem;
  }

  .search_result_list {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2,1fr);
  }

  .search_result_box a {
    padding: 20px;
    display: flex;
  }

  .search_result_box .shop_logo {
    margin: 0 20px 0 0;
    padding: 3px;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    background: #fff;
    width: 80px;
    height: 80px;
    flex-shrink: 0;
  }

  .search_result_box .shop_logo span {
    padding: 6px;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
  }

  .search_result_box .shop_logo img {
    max-width: 100%;
  }

}

.search_result_text h2 {
  margin: 0 0 15px;
  font-size: 1.8rem;
}

.search_result_info_floor {
  display: flex;
  align-items: center;
}

.search_result_info p.building {
  margin: 0 15px 0 0;
  padding: 2px 0;
  width: 75px;
  text-align: center;
  font-size: 1.4rem;
  color: #824c7a;
  background: #f6eff5;
}

.search_result_info p.building.mens {
  color: #3f6085;
  background: #eef2f6;
}

.search_result_list .block {
  margin: 10px 0 0;
  padding: 10px 0 0;
  display: flex;
  align-items: center;
  background: url(../images/common/line_dot.png) repeat-x 0 0 / 5px auto;
}

.search_result_list .block dt {
  font-size: 1.4rem;
}

.search_result_list .block dd {
  margin: 0 0 0 5px;
  padding: 0 0 0 12px;
  position: relative;
  font-size: 1.4rem;
}

.search_result_list .block dd::before {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 1px;
  width: 5px;
  background: #cfcfcf;
}

@media screen and (min-width: 768px) {

  .search_result_info {
    display: flex;
  }

  .search_result_list .block {
    margin: 0 0 0 14px;
    padding: 0 0 0 14px;
    background: url(../images/common/line_ver.png) repeat-y 0 0 / 1px auto;
  }

}

/* -----------------
    フロアガイド
----------------- */

.building_map_scroll {
  overflow-x: auto;
}

.building_map {
  margin: 0 20px 20px;
  width: 800px;
}

.fr_column1 {
  display: grid;
  grid-template-columns: 12.8% 1.8% 39.4% 4.7% 41.3%;
}

.fr_column2 {
  display: grid;
  grid-template-columns: 54% 4.7% 41.3%;
}

.fr_column3 {
  display: grid;
  grid-template-columns: 41.3% 17.2% 41.3%;
}

.fr_column4 {
  display: grid;
  grid-template-columns: 41.3% 4.7% 54%;
}

@media screen and (min-width: 768px) {

  .building_map_scroll {
    overflow-x: inherit;
  }

  .building_map {
    margin: 0;
    width: 100%;
  }

}

.fr_column .fr_pk .top,
.fr_column .fr_mens .top {
  background: url(../images/shop/bk_gray1.png) no-repeat left 0 / 30px auto,
              url(../images/shop/bk_gray2.png) no-repeat right 0 / 30px auto;
  background-color: #ececec;
  height: 15px;
}

.fr_column .fr_mens .top {
  background: url(../images/shop/bk_blue5.png) no-repeat left 5px / 30px auto;
  background-color: #fff;
  height: 20px;
}

.fr_column.fr_title .fr_mens .top {
  background: url(../images/shop/bk_gray1.png) no-repeat left 0 / 30px auto,
              url(../images/shop/bk_gray2.png) no-repeat right 0 / 30px auto;
  background-color: #ececec;
  height: 15px;
}

.fr_column2.fr_6f .fr_mens .top {
  background: url(../images/shop/bk_blue8.png) no-repeat left 0 / 30px auto;
  background-color: #fff;
}

.fr_column1.fr_7f .fr_pk .center {
  position: relative;
}

.fr_column1.fr_7f .fr_pk .center::after {
  position: absolute;
  content: '';
  left: 0;
  bottom: -20px;
  width: 100%;
  height: 20px;
  background: #e9e9e9;
}

.fr_column.fr_4f .fr_mens_sp,
.fr_column.fr_6f .fr_mens_sp {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../images/shop/stair_honkan_up.png) no-repeat 0 bottom / 50px auto;
}

.fr_column.fr_5f .fr_mens_sp {
  background: url(../images/shop/stair_honkan_down.png) no-repeat right 0 / 50px auto;
}

.fr_column .fr_pk .bottom,
.fr_column .fr_mens .bottom {
  display: flex;
  height: 100%;
}

.fr_column .fr_pk .bottom a.ico_arrow {
  padding-bottom: 15px;
  display: block;
  background: url(../images/common/ico_link.svg) no-repeat center bottom / 6px auto;
}
.fr_column .fr_pk .bottom .left,
.fr_column .fr_mens .bottom .left {
  width: 30px;
  background: #cccccc;
  flex-shrink: 0;
}

.fr_column .fr_pk .bottom .center,
.fr_column .fr_mens .bottom .center {
  width: calc(100% - 30px);
  background: #e9e9e9;
}

.fr_column.fr_10f .fr_mens .bottom .center {
  padding: 0 0 10px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.fr_column.fr_7f .fr_mens .top {
  background: url(../images/shop/bk_gray4.png) no-repeat left 5px / 30px auto;
  background-color: #fff;
  height: 20px;
}

.fr_column.fr_8f .fr_mens .bottom .left {
  background: url(../images/shop/bk_gray3.png) no-repeat left bottom / 30px auto;
  background-color: #cccccc;
}

.fr_column.fr_7f .fr_mens .bottom .left {
  background: url(../images/shop/bk_gray5.png) no-repeat left bottom 20px / 30px auto;
  background-color: #f0f0f0;
}

.fr_column .fr_honkan.fr_rt .top {
  background: url(../images/shop/bk_pink1.png) no-repeat left 0 / 30px auto,
              url(../images/shop/bk_pink2.png) no-repeat right 0 / 30px auto;
  background-color: #f8f3f7;
  height: 15px;
}

.fr_column .fr_honkan .top {
  background: url(../images/shop/bk_pink7.png) no-repeat left bottom / 30px auto;
  background-color: #fff;
  height: 20px;
}

.fr_column.fr_10f .fr_honkan .top {
  background: url(../images/shop/bk_pink3.png) no-repeat left 0 / 30px auto,
              url(../images/shop/bk_pink4.png) no-repeat right 0 / 30px auto;
  background-color: #f4eaf3;
  height: 15px;
}

.fr_column .fr_mens .fr_mens_column,
.fr_column .fr_honkan .fr_honkan_column {
  display: flex;
  height: calc(100% - 20px);
}

.fr_column .fr_honkan .fr_honkan_column .left {
  width: 30px;
  background: #ede0eb url(../images/shop/bk_pink5.png) no-repeat left bottom / 30px auto;
  flex-shrink: 0;
}

.fr_column.fr_1f .fr_honkan .fr_honkan_column .left {
  background: #ede0eb url(../images/shop/bk_pink6.png) no-repeat left bottom / 30px auto;
}

.fr_column .fr_honkan.fr_rt .fr_honkan_column .left {
  background: #fff;
}

.fr_column .fr_mens .fr_mens_column .left {
  width: 30px;
  background: #d4dfeb url(../images/shop/bk_blue3.png) no-repeat left bottom / 30px auto;
  flex-shrink: 0;
}

.fr_column.fr_6f .fr_mens .fr_mens_column .left {
  background: url(../images/shop/bk_blue4.png) no-repeat left bottom / 30px auto,
              url(../images/shop/bk_blue1.png) repeat-y 0 0 / 30px auto;
  flex-shrink: 0;
}

.fr_column .fr_mens .fr_mens_column .fr_mens_box {
  width: calc(100% - 30px);
  background: #eef2f6;
}

.fr_column .fr_honkan .fr_honkan_column .fr_honkan_box {
  width: calc(100% - 30px);
  background: #f6eff5;
}

.fr_column .fr_honkan.fr_rt .fr_mens_column .left,
.fr_column .fr_honkan.fr_rt .fr_honkan_column .fr_honkan_box {
  background: #fff;
}

.fr_column .fr_honkan.top {
  padding-top: 55px;
}

.fr_column .fr_pk.top {
  margin: 20px 0 0;
}

.fr_column.fr_b1 .fr_mens_sp,
.fr_column.fr_3f .fr_mens_sp {
  position: relative;
  background: url(../images/shop/stair_honkan_up.png) no-repeat right bottom / 50px auto;
}

.fr_column.fr_b1 .fr_mens_sp::before,
.fr_column.fr_3f .fr_mens_sp::before {
  position: absolute;
  content: '';
  left: 0;
  bottom: 0;
  height: 15px;
  width: calc(100% - 50px);
  background: #eef2f6;
}

.fr_column.fr_1f .fr_mens_sp {
  position: relative;
}

.fr_column.fr_1f .fr_mens_sp::before {
  position: absolute;
  content: '';
  left: 0;
  bottom: 0;
  height: 15px;
  width: 100%;
  background: #ececec;
}

.building_map h2 {
  margin: 0 0 20px;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 400;
}

.building_map .fr_mens h2 {
  text-align: inherit;
}

@media screen and (min-width: 768px) {

  .building_map .fr_mens h2 {
    text-align: center;
  }

}

.fr_mens_box a,
.fr_honkan_box a {
  padding: 10px 30px 10px 10px;
  display: flex;
  height: 100%;
  background: url(../images/common/ico_link.svg) no-repeat right 10px center / 6px auto;
}

.fr_honkan_box .fr_name {
  margin: 0 20px 0 0;
  padding: 7px;
  border: 2px solid #ede0eb;
  font-size: 1.2rem;
  color: #824c7a;
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 47px;
  white-space: nowrap;
}

.fr_10f .fr_honkan_box .fr_name {
  padding: 7px 0;
}

.fr_mens_box .fr_name {
  margin: 0 20px 0 0;
  padding: 8px;
  border: 2px solid #d4dfeb;
  font-size: 1.2rem;
  color: #3f6085;
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 47px;
  white-space: nowrap;
}

.fr_mens_box .fr_name span,
.fr_honkan_box .fr_name span {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  white-space: inherit;
}

.fr_mens_box .fr_name span span,
.fr_honkan_box .fr_name span span {
  display: block;
}

.fr_mens_box .fr_name em,
.fr_honkan_box .fr_name em {
  font-size: 2.4rem;
  font-weight: 500;
}

@media screen and (min-width: 768px) {

  .fr_mens_box a,
  .fr_honkan_box a {
    padding: 10px 40px 10px 10px;
    background: url(../images/common/ico_link.svg) no-repeat right 20px center / 6px auto;
  }

}

.fr_mens_box .ft_text,
.fr_honkan_box .ft_text {
  margin: 5px 0;
}

.building_map p.fr_shop {
  line-height: 1.7;
  font-size: 1.2rem;
}

.building_map p.note {
  margin: 8px 0 0;
  font-size: 1.2rem;
}

.building_map p.fr_shop span {
  font-size: 1.2rem;
}

.building_map .fr_icon {
  margin: 8px 0 0;
  display: flex;
}

.building_map .fr_icon li {
  margin: 0 10px 0 0;
}

.building_map .fr_icon li img {
  width: auto;
  height: 30px;
}

.building_map .fr_mens_sp .fr_icon li {
  margin: 0;
}

@media screen and (min-width: 768px) {

  .building_map p.fr_shop {
    font-size: 1.4rem;
  }

}

.building_map_icon {
  margin: 30px 20px 0;
}

.building_map_icon li {
  margin: 0 0 10px;
  display: flex;
  align-items: center;
}

.building_map_icon li img {
  height: 30px;
  width: auto;
}

.building_map_icon li span {
  padding: 0 0 0 8px;
  font-size: 1.4rem;
  display: block;
}

@media screen and (min-width: 768px) {

  .building_map_icon {
    margin: 65px 0 0;
  }

  .building_map_icon ul {
    display: flex;
    flex-wrap: wrap;
  }

  .building_map_icon li {
    margin: 0 25px 20px 0;
  }

}

/* -----------------
    各フロア
----------------- */

.entry_header_title .ico_floor {
  padding-left: 38px;
  background: url(../images/common/ico_floorguide.svg) no-repeat 0 center / 30px auto;
}

.building_floor {
  margin: 0 0 30px;
  display: flex;
  gap: 5px;
}

.building_floor_box {
  padding: 20px 10px;
}

.building_floor_box h3 {
  margin: 0 0 15px;
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 500;
  text-align: center;
}

.building_floor_list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.building_floor_list li {
  width: calc(50% - 5px);
}

.building_floor_list li a,
.building_floor_list li span {
  padding: 7px 0;
  text-align: center;
  display: block;
  background: #fff;
  white-space: nowrap;
  font-size: 1.4rem;
  font-weight: 400;
}

.building_floor_box.building_mens {
  background: #eef2f6;
  width: 50%;
}

.building_floor_box.building_mens .building_floor_list li a {
  color: var(--site-color);
}

.building_floor_box.building_mens .building_floor_list li a.stay {
  color: #fff;
  background: var(--site-color);
}
/*
.building_floor_box.building_bridge {
  background-image: linear-gradient( 90deg, rgba(238,242,246,0.99608) 0%, rgb(247,238,246) 100%);
  width: 21.5%;
}
*/
.building_floor_box.building_honkan {
  background: #f6eff5;
  width: 50%;
}

.building_floor_box.building_honkan .building_floor_list li a {
  color: #824c7a;
}

.building_floor_box.building_honkan .building_floor_list li a.stay {
  color: #fff;
  background: #824c7a;
}

@media screen and (min-width: 768px) {

  .page_index.shop .inner {
	  margin: 0 auto;
	  width: var(--min-width);
  }

  .entry_header_title .ico_floor {
    padding-left: 55px;
    background: url(../images/common/ico_floorguide.svg) no-repeat 0 center / 40px auto;
  }

  .building_floor {
    margin: 0 0 40px;
    gap: 50px;
  }

  .building_floor_box {
    padding: 30px
  }

  .building_floor_box h3 {
    font-size: 1.8rem;
  }

  .building_floor_list li {
    width: 85px;
  }

  .building_floor_list li a,
  .building_floor_list li span {
    padding: 9px 0;
    font-size: 1.6rem;
  }

  .building_floor_box.building_mens,
  .building_floor_box.building_honkan {
    width: calc(50% - 25px);
  }

}

.floor_scroll_guide {
  margin: 0 20px 20px;
/*
  padding: 0 0 48px;
  background: url(../images/shop/scroll.png) no-repeat center bottom / 175px auto;
*/
}

#map_scroll_anime {
  margin: 0 auto 20px;
  left: 0;
  right: 0;
}

.floor_scroll_guide ul {
  display: flex;
}

.floor_scroll_guide li {
  padding: 0 0 7px;
  width: 50%;
  font-size: 1.0rem;
  font-weight: 400;
  text-align: center;
  position: relative;
}

.floor_scroll_guide li.mens {
  color: #d4dfeb;
}

.floor_scroll_guide li.mens.act {
  color: #2070c5;
}

.floor_scroll_guide li.honkan {
  color: #ede0eb;
}

.floor_scroll_guide li.honkan.act {
  color: #8b4a81;
}

.floor_scroll_guide li::after {
  position: absolute;
  content: '';
  bottom: 0;
  width: 100%;
  height: 5px;
  border-radius: 3px;
}

.floor_scroll_guide li.mens::after {
  left: 0;
  background-color: #d4dfeb;
}

.floor_scroll_guide li.mens.act::after {
  background-color: #679ed9;
  width: calc(100% + 5px);
  z-index: 2;
}

.floor_scroll_guide li.honkan::after {
  right: 0;
  background-color: #ede0eb;
}

.floor_scroll_guide li.honkan.act::after {
  background-color: #dd96d2;
  width: calc(100% + 5px);
  z-index: 2;
}

@media screen and (min-width: 768px) {

  .floor_scroll_guide {
    display: none;
  }

  #map_scroll_anime {
    display: none;
  }

}

.floor_map_header {
  margin: 0 0 10px;
}

.floor_map_sec h2 {
  margin: 0 20px 10px;
  color: #767676;
  font-weight: 400;
  white-space: nowrap;
}

.floor_map_sec h2 .building {
  margin-bottom: 5px;
  font-size: 1.4rem;
  display: block;
}

.floor_map_sec h2 .floor {
  font-size: 1.8rem;
  display: inline-block;
}

.floor_map_sec h2 .floor::first-letter {
  font-size: 4rem;
}

.floor_map_sec h2 .cate {
  padding-left: 10px;
  font-size: 2.0rem;
  white-space: nowrap;
}

.floor_map_type {
  margin: 0 20px 10px;
  display: flex;
  flex-wrap: wrap;
}

.floor_map_type li {
  margin: 0 18px 5px 0;
  padding-left: 14px;
  font-size: 1.2rem;
  position: relative;
}

.floor_map_type li::before {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 10px;
}

.floor_map_type li.map_color_pink::before {
  background: #fbe5ee;
}

.floor_map_type li.map_color_blue::before {
  background: #def1fb;
}

.floor_map_type li.map_color_orange::before {
  background: #f6e2cc;
}

.floor_map_type li.map_color_green::before {
  background: #e5f3c4;
}

.floor_map_type li.map_color_purple::before {
  background: #e6dbf0;
}

.floor_map_type li.map_color_gold::before {
  background: #ebeac4;
}

.floor_map_type li.map_color_red::before {
  background: #f8d9d1;
}

.floor_map_type li.map_color_white::before {
  background: url(../images/common/ico_floor_map_white.png) no-repeat 0 0 / 100% auto;
}

.floor_map_column {
  margin: 0 0 30px;
  border-top: 2px solid #e8e8e8;
}

.foor_map {
  text-align: center;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.foor_map_outer {
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 768px) {

  .floor_map_header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    }

  .floor_map_sec h2 {
    margin: 0 30px 0 0;
  }

  .floor_map_sec h2 .building {
    font-size: 1.4rem;
  }

  .floor_map_sec h2 .floor {
    font-size: 1.8rem;
  }

  .floor_map_sec h2 .floor::first-letter {
    font-size: 8rem;
  }

  .floor_map_sec h2 .floor_excep {
    font-size: 1.8rem;
  }

  .floor_map_sec h2 .floor_excep span {
    font-size: 8rem;
  }

  .floor_map_sec h2 .cate {
    padding-left: 30px;
    font-size: 2.4rem;
  }

  .floor_map_type {
    margin: 0;
  }

  .floor_map_type li {
    margin: 0 0 10px 32px;
    padding-left: 28px;
    font-size: 1.6rem;
  }

  .floor_map_type li::before {
    width: 20px;
    height: 20px;
  }

  .floor_map_column {
    margin: 0 0 60px;
    border-bottom: 2px solid #e8e8e8;
    display: flex;
    max-height: 600px;
  }

  .foor_map {
    width: 76%;
  }

}

.foor_map .foor_map_img {
  transform-origin: center center;
  width: 100%;
  height: 350px;
  padding-top: 0;
  margin: 0 auto;
  transform: scale(1);
  overflow:auto;
}

.zoom2 .foor_map_img,
.zoom3 .foor_map_img,
.zoom4 .foor_map_img,
.zoom5 .foor_map_img {
  cursor: move;
}

.foor_map .foor_map_img img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: auto;
  width: 100%;
}

.foor_map.floor_map_h4f .foor_map_img img {
  height: 100%;
  width: auto;
}

.foor_map.building_type_mens .foor_map_img img {
	height: 120%;
}

.foor_map.building_type_honkan .foor_map_img img {
	bottom: auto;
}

.foor_map_inner {
	transform-origin: top left;
}

@media screen and (min-width: 768px) {

  	.foor_map .foor_map_img {
    	width: 840px;
    	height: 600px;
		overflow: hidden;
  	}

  .foor_map .foor_map_img img {
      height: 100%;
      width: auto;
  }

	.foor_map.building_type_mens .foor_map_img img {
		height: 120%;
	}

	.foor_map.building_type_honkan .foor_map_img img {
		top: -5%;
		left: -5%;
		height: 200%;
	}

	.foor_map.floor_map_h3f .foor_map_img img {
		top: -10%;
	}

	.foor_map.floor_map_h4f .foor_map_img img {
		top: 0;
		left: 0;
		height: 100%;
	}

	.foor_map.floor_map_h6f .foor_map_img img,
	.foor_map.floor_map_h7f .foor_map_img img,
	.foor_map.floor_map_h8f .foor_map_img img,
	.foor_map.floor_map_h9f .foor_map_img img,
	.foor_map.floor_map_h10f .foor_map_img img,
	.foor_map.floor_map_hrt .foor_map_img img {
		top: -7%;
		left: -9%;
	}

	.foor_map_inner {
		transform-origin: top left;
	}

}

.zoom2 .foor_map_inner { transform: scale(2.0); }
.zoom3 .foor_map_inner { transform: scale(3.0); }
.zoom4 .foor_map_inner { transform: scale(4.0); }
.zoom5 .foor_map_inner { transform: scale(5.0); }

.foor_map .btn_zoom {
  position: absolute;
  left: 20px;
  bottom: 20px;
  z-index: 2;
}

.foor_map #btn_plus,
.foor_map #btn_minus {
  width: 40px;
  height: 40px;
  background: #ebebeb;
  cursor: pointer;
  border: none;
  display: block;
  padding: 0;
  position: relative;
}

.foor_map #btn_plus {
  margin-bottom: 1px;
  border-radius: 5px 5px 0 0;
}

.foor_map #btn_plus::before,
.foor_map #btn_plus::after,
.foor_map #btn_minus::before {
  position: absolute;
  content: '';
  width: 15px;
  height: 2px;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #333;
  border-radius: 2px;
}

.foor_map #btn_plus::after {
  transform: rotate(-90deg);
}

.foor_map #btn_minus {
  border-radius: 0 0 5px 5px;
}

.floor_shop {
  border-top: 2px solid #e8e8e8;
}

.floor_shop_list li {
  margin-bottom: 2px;
  border-left: 6px solid #fff;
}

.floor_shop_list .shop_color_pink {
  border-color: #fbe5ee;
}

.floor_shop_list .shop_color_blue {
  border-color: #dbebf3;
}

.floor_shop_list .shop_color_gold {
  border-color: #ebeac4;
}

.floor_shop_list .shop_color_green {
  border-color: #e5f3c4;
}

.floor_shop_list .shop_color_purple {
  border-color: #e6dbf0;
}

.floor_shop_list .shop_color_dark_pink {
  border-color: #f8d9d1;
}

.floor_shop_list .shop_color_white {
  border-color: #fff;
}

.floor_shop_list .shop_color_orange {
  border-color: #f6e2cc;
}

.floor_shop_list li:nth-child(2n) {
  background: #f7f7f7;
}

.floor_shop_list li a {
  padding: 15px 30px 15px 15px;
  display: block;
  background: url(../images/common/ico_link.svg) no-repeat right 15px center / 6px auto;
}

.floor_shop_list li p {
  margin: 0 0 2px;
  font-size: 1.0rem;
}

.floor_shop_list li h3 {
  font-weight: 400;
}

.floor_map_icon {
  margin: 0 20px;
}

.floor_map_icon ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 25px;
}

.floor_map_icon li {
  display: flex;
  font-size: 1.4rem;
  align-items: center;
  white-space: nowrap;
}

.floor_map_icon li i {
  margin: 0 10px 0 0;
  width: 30px;
  height: 30px;
  display: block;
}

.icon_map_stairs {
  background: url(../images/shop/icon_stairs.png) no-repeat 0 0 / 30px auto;
}

.icon_map_cafe {
  background: url(../images/shop/icon_cafe.png) no-repeat 0 0 / 30px auto;
}

.icon_map_restroom {
  background: url(../images/shop/icon_restroom.png) no-repeat 0 0 / 30px auto;
}

.icon_map_escalator {
  background: url(../images/shop/icon_escalator.png) no-repeat 0 0 / 30px auto;
}

@media screen and (min-width: 768px) {

  .floor_shop {
    width: 24%;
    border: none;
    height: 600px;
    overflow-y: scroll;
  }

  .floor_shop_list li {
    border-width: 2px;
  }

  .floor_shop_list li a {
    padding: 20px 30px 20px 20px;
    background: url(../images/common/ico_link.svg) no-repeat right 20px center / 6px auto;
  }

  .floor_shop_list li p {
    margin: 0 0 4px;
    font-size: 1.2rem;
  }

  .floor_map_icon {
    margin: 0;
  }

  .floor_map_icon ul {
    gap: 30px;
  }

  .floor_map_icon li {
    font-size: 1.4rem;
  }

}

/* -----------------
    各フロアモーダル
----------------- */

.floor_shop_modal .floor_shop_modal_back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: rgba(0,0,0,0.8);
  opacity: 0;
  pointer-events: none;
  transition: .3s;
}

.floor_shop_modal.open .floor_shop_modal_back {
  opacity: 1;
  pointer-events: auto;
}

.floor_shop_modal .modal_outer {
  margin: 100px 20px 0;
  position: relative;
}

.floor_shop_modal .modal_box {
  display: none;
}

.floor_shop_modal .modal_box.open {
  display: block;
}

@media screen and (min-width: 768px) {

  .floor_shop_modal .floor_shop_modal_back {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .floor_shop_modal .modal_outer {
    margin: 0 auto;
    width: min(95%,900px);
  }

}

.floor_shop_modal .shop_modal_column {
  background: #fff;
  border-radius: 10px;
  padding: 50px 30px;
  display: flex;
  flex-direction: column;
}

.floor_shop_modal .shop_modal_column_left {
  display: contents;
}

.floor_shop_modal .shop_modal_column_left .shop_logo {
  width: 120px;
  height: 120px;
  padding: 3px;
  border: 1px solid #e8e8e8;
  border-radius: 15px;
  background: #fff;
  order: 1;
  position: absolute;
}

.floor_shop_modal .shop_modal_column_left .shop_logo span {
  padding: 10px;
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {

  .floor_shop_modal .shop_modal_column {
    border-radius: 15px;
    padding: 60px;
    flex-direction: inherit;
  }

  .floor_shop_modal .shop_modal_column_left {
    margin: 0 50px 0 0;
    width: 250px;
    flex-shrink: 0;
    display: block;
  }

  .floor_shop_modal .shop_modal_column_left .shop_logo {
    width: 250px;
    height: 250px;
    position: inherit;
  }

  .floor_shop_modal .shop_modal_column_left .shop_logo span {
    padding: 30px;
  }

}

.floor_shop_modal .shop_modal_column_left .shop_info {
  margin: 15px 0 0;
  order: 6;
}

.floor_shop_modal .shop_modal_column_left .shop_info .shop_tel {
  margin: 0 0 5px;
  padding: 5px 0 5px 30px;
  background: url(../images/common/ico_tel.svg) no-repeat 0 center / 20px auto;
}

.floor_shop_modal .shop_modal_column_left .shop_info .shop_floor_column {
  padding: 5px 0 5px 30px;
  background: url(../images/common/ico_place.svg) no-repeat 0 center / 22px auto;
}

.floor_shop_modal .shop_modal_column_left .shop_info .shop_block {
  margin: 5px 0 0;
  display: flex;
  align-items: center;
}

.floor_shop_modal .shop_modal_column_left .shop_info .shop_block dt {
  margin: 0 5px 0 0;
  background: #333;
  padding: 4px 5px;
  color: #fff;
  font-size: 1.2rem;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {

  .floor_shop_modal .shop_modal_column_left .shop_info {
    order: inherit;
  }

}

.floor_shop_modal .shop_modal_column_right {
  display: contents;
}

.floor_shop_modal .shop_modal_column_right .shop_modal_title {
  order: 2;
  margin-left: 140px;
  min-height: 120px;
}

.floor_shop_modal .shop_modal_column_right h4 {
  margin: 0 0 15px;
  padding: 0 0 10px;
  position: relative;
}

.floor_shop_modal .shop_modal_column_right h4::after {
  position: absolute;
  content: '';
  left: 0;
  bottom: 0;
  width: 30px;
  height: 4px;
  border-radius: 2px;
  background: #000;
}

.floor_shop_modal .shop_modal_column_right h3 {
  margin: 0;
  font-size: 2.2rem;
  font-weight: 300;
  line-height: 1.2;
}

.floor_shop_modal .shop_modal_column_right .shop_desc {
  margin: 20px 0 30px;
  order: 3;
}

@media screen and (min-width: 768px) {

  .floor_shop_modal .shop_modal_column_right {
    display: block;
  }

  .floor_shop_modal .shop_modal_column_right .shop_modal_title {
    order: inherit;
    margin: 0;
  }

  .floor_shop_modal .shop_modal_column_right h4 {
    margin: 0 0 30px;
  }

  .floor_shop_modal .shop_modal_column_right h3 {
    margin: 0 0 40px;
    font-size: 2.8rem;
    line-height: 1.3;
  }

  .floor_shop_modal .shop_modal_column_right .shop_desc {
    margin: 0 0 15px;
    order: inherit;
  }

}

.floor_shop_modal .shop_modal_column_right .shop_product {
  margin: 0 0 30px;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  order: 4;
}

.floor_shop_modal .shop_modal_column_right .shop_product dt {
  white-space: nowrap;
}

.floor_shop_modal .shop_modal_column_right .shop_product dd {
  margin: 0 0 0 10px;
  padding: 0 0 0 10px;
  line-height: 1.3;
  border-left: 1px solid #e5e5e5;
}

.floor_shop_modal .shop_modal_column_right .shop_open {
  padding: 15px 20px;
  background: #f1f1f1;
  display: flex;
  align-items: center;
  border-radius: 5px;
  order: 5;
}

.floor_shop_modal .shop_modal_column_right .shop_open dt {
  margin: 0 20px 0 0;
  white-space: nowrap;
  padding: 5px 0 5px 30px;
  line-height: 1.4;
  white-space: nowrap;
  background: url(../images/common/ico_shopping_hours.svg) no-repeat 0 center / 25px auto;
}

.floor_shop_modal .shop_modal_column_right .shop_open dd {
  line-height: 1.4;
}

@media screen and (min-width: 768px) {

  .floor_shop_modal .shop_modal_column_right .shop_product {
    order: inherit;
  }

  .floor_shop_modal .shop_modal_column_right .shop_open {
    order: inherit;
  }

}

.floor_shop_modal .modal_close {
  position: absolute;
  top: -40px;
  right: 0px;
  width: 35px;
  height: 35px;
}

.floor_shop_modal .modal_close::before,
.floor_shop_modal .modal_close::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 35px;
  height: 1px;
  background-color: #fff;
  transform: rotate(-45deg);
  border-radius: 1px;
}

.floor_shop_modal .modal_close::after {
  transform: rotate(45deg);
}

@media screen and (min-width: 768px) {

  .floor_shop_modal .modal_close {
    top: -60px;
    right: -65px;
    width: 60px;
    height: 50px;
    cursor: pointer;
  }

  .floor_shop_modal .modal_close::before,
  .floor_shop_modal .modal_close::after {
    width: 60px;
    height: 2px;
  }

}

/* -----------------
    ナナちゃん
----------------- */

.header_nana {
  margin: 40px 0 60px;
}

.header_nana h1 {
  color: #f05b83;
  font-size: 2.6rem;
  font-weight: 300;
  text-align: center;
}

.header_nana .sub_jp {
  margin: 0 0 10px;
  color: #f06b43;
  font-size: 1.6rem;
}

.header_nana .sub_en {
  margin: 8px auto 0;
  width: 230px;
}

@media screen and (min-width: 768px) {

  .header_nana {
    margin: 30px 0 80px;
  }

  .header_nana h1 {
    font-size: 5.0rem;
  }

  .header_nana .sub_jp {
    margin: 0 0 15px;
    font-size: 3.0rem;
  }

  .header_nana .sub_en {
    margin: 12px auto 0;
    width: 395px;
  }

}

.navi_nana {
  margin: 0 20px 40px;
}

.navi_nana ul {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(4, 1fr);
}

.navi_nana li {
  font-size: 1.2rem;
  line-height: 1.4;
  letter-spacing: 0;
}

.navi_nana li a {
  padding: 5px;
  display: flex;
  align-items: center;
  height: 100%;
  border-radius: 10px;
  position: relative;
}

.navi_nana li a.stay {
  font-weight: 500;
}

.navi_nana li a.stay::before {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: -10px;
  margin: auto;
  width: 12px;
  height: 7.5px;
}

.navi_nana li.navi_nana_archive {
  padding: 5px;
  border-radius: 10px;
  position: relative;
}

.navi_nana li.navi_nana_archive span {
  padding-right: 15px;
}

.navi_nana li.navi_nana_archive select {
  margin: 5px 0 0;
  font-size: 1.2rem;
  font-weight: 400;
  padding: 14px 25px 14px 5px;
  border-radius: 5px;
  border: none;
  box-shadow: 0px 0px 5px 0px rgba(126, 150, 165, 0.28);
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff url(../images/nana/btn_select.png) no-repeat right 10px center / 7px auto;
  max-width: 75px;
}

@media screen and (min-width: 768px) {

  .navi_nana {
    margin: 0 auto 50px;
    width: var(--min-width);
  }

  .navi_nana ul {
    gap: 20px;
    grid-template-columns: repeat(3, 1fr) 365px;
  }

  .navi_nana li {
    text-align: center;
    font-size: 1.6rem;
  }

  .navi_nana li.navi_nana_archive {
    width: 365px;
  }

  .navi_nana li a {
    padding: 20px;
    text-align: center;
    display: block;
  }

  .navi_nana li.navi_nana_archive {
    padding: 5px 5px 5px 15px;
    text-align: center;
    display: flex;
    align-items: center;
  }

  .navi_nana li.navi_nana_archive select {
    margin: 0;
    font-size: 1.6rem;
    padding: 14px 50px 14px 10px;
    max-width: inherit;
  }

}

.navi_nana li.navi_nana_today a {
  background: #fff3f9;
  border: 3px solid #fce6f1;
}

.navi_nana li.navi_nana_today a.stay {
  color: #e069a7;
  border: 3px solid #f5c4dd;
}

.navi_nana li.navi_nana_today a.stay::before {
  background: url(../images/nana/arrow_pink.png) no-repeat 0 bottom / 100% auto;
}

.navi_nana li.navi_nana_about a {
  background: #fff9ec;
  border: 3px solid #f7edd7;
}

.navi_nana li.navi_nana_about a.stay {
  color: #e67700;
  border: 3px solid #f7cfa6;
}

.navi_nana li.navi_nana_about a.stay::before {
  background: url(../images/nana/arrow_yellow.png) no-repeat 0 bottom / 100% auto;
}

.navi_nana li.navi_nana_mina a {
  background: #f1f9e4;
  border: 3px solid #e3efcf;
}

.navi_nana li.navi_nana_mina a.stay {
  color: #729b2d;
  border: 3px solid #c6dda0;
}

.navi_nana li.navi_nana_mina a.stay::before {
  background: url(../images/nana/arrow_green.png) no-repeat 0 bottom / 100% auto;
}

.navi_nana li.navi_nana_archive {
  background: #ecf8ff;
  border: 3px solid #ecf8ff;
}

.navi_nana li.navi_nana_archive.stay {
  color: #1070a8;
  border: 3px solid #c5dfee;
}

.navi_nana li.navi_nana_archive.stay::before {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: -10px;
  margin: auto;
  width: 12px;
  height: 7.5px;
  background: url(../images/nana/arrow_blue.png) no-repeat 0 bottom / 100% auto;
}

.nana_today {
}

.header_nana_today,
.header_nana_about,
.header_nana_mina,
.header_nana_index {
  margin: 0 0 0 30px;
  height: 75px;
  display: flex;
  align-items: center;
  padding: 0 0 0 45px;
}

.header_nana_today {
  background: url(../images/nana/nana_pink.png) no-repeat 0 center / auto 100%;
}

.header_nana_about {
  background: url(../images/nana/nana_orange.png) no-repeat 0 center / auto 100%;
}

.header_nana_mina {
  background: url(../images/nana/nana_green.png) no-repeat 0 center / auto 100%;
}

.header_nana_index {
  background: url(../images/nana/nana_blue.png) no-repeat 0 center / auto 100%;
}

.header_nana_today h2,
.header_nana_about h2,
.header_nana_mina h2,
.header_nana_index h2 {
  font-size: 2.4rem;
  font-weight: 300;
}

.header_nana_today h2 span,
.header_nana_about h2 span,
.header_nana_mina h2 span,
.header_nana_index h2 span {
  margin: 0 0 7px;
  display: block;
  font-weight: bold;
  font-size: 1.0rem;
}

.header_nana_today h2 span {
  color: #e069a7;
}

.header_nana_about h2 span {
  color: #e67700;
}

.header_nana_mina h2 span {
  color: #729b2d;
}

.header_nana_index h2 span {
  color: #0393c9;
}

@media screen and (min-width: 768px) {

  .nana_today {
    margin: 0 auto;
    width: var(--min-width);
  }

  .header_nana_today,
  .header_nana_about,
  .header_nana_mina,
  .header_nana_index {
    margin: 0 0 0 60px;
    height: 128px;
    padding: 0 0 0 75px;
  }

  .header_nana_today h2,
  .header_nana_about h2,
  .header_nana_mina h2,
  .header_nana_index h2 {
    font-size: 4.0rem;
  }

  .header_nana_today h2 span,
  .header_nana_about h2 span,
  .header_nana_mina h2 span,
  .header_nana_index h2 span {
    font-size: 1.4rem;
  }

}

.nana_box,
.nana_today_box {
  padding: 30px 30px 10px;
  border-radius: 25px;
  background: #f9f7f3;
}

.nana_today_box figure {
  margin: 0 0 15px;
  border-radius: 15px;
  overflow: hidden;
}

.nana_today_box p.date {
  margin: 0 0 15px;
  font-family: "Noto Sans JP", sans-serif;
}

.nana_box h3,
.nana_today_box h3 {
  margin: 0 0 25px;
  padding: 0 0 20px;
  border-bottom: 1px solid #edb1d0;
  font-size: 2.0rem;
  line-height: 1.3;
  position: relative;
}

.nana_box h3::after,
.nana_today_box h3::after {
  position: absolute;
  content: '';
  left: 0;
  bottom: -4px;
  height: 7px;
  width: 50px;
  background: #edb1d0;
  border-radius: 2px;
}

.nana_today_box p {
  font-size: 1.6rem;
}

.nana_today_box .entry_inner {
  padding: 0;
  background: none;
}

@media screen and (min-width: 768px) {

  .nana_box,
  .nana_today_box {
    padding: 60px;
    border-radius: 50px;
  }

  .nana_today_box figure {
    margin: 0 0 25px;
    border-radius: 30px;
  }

  .nana_today_box p.date {
    margin: 0 0 20px;
  }

  .nana_box h3,
  .nana_today_box h3 {
    margin: 0 0 25px;
    padding: 0 0 25px;
    font-size: 2.4rem;
  }

}

.index_nana_list {
  margin: 0 20px;
  display: grid;
  gap: 30px 20px;
  grid-template-columns: repeat(2,1fr);
}

.index_nana_list li figure {
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

.index_nana_list li figure .btn_zoom {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 30px;
  height: 30px;
  border-radius: 40px;
  background: #fff;
  z-index: 2;
}

.index_nana_list li figure .btn_zoom::before,
.index_nana_list li figure .btn_zoom::after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 12px;
  height: 1px;
  background: #333;
  z-index: 2;
}

.index_nana_list li figure .btn_zoom::after {
  transform: rotate(-90deg);
}

.index_nana_list li p {
  margin: 15px 0;
  font-weight: 300;
  font-family: "Noto Sans JP", sans-serif;
}

.index_nana_list li h3 {
  font-weight: 300;
}

@media screen and (min-width: 768px) {

  .index_nana {
    margin: 0 auto;
    width: var(--min-width);
  }

  .index_nana_list {
    margin: 0;
    gap: 40px 50px;
    grid-template-columns: repeat(4,1fr);
  }

  .index_nana_list li figure {
    border-radius: 20px;
  }

  .index_nana_list li figure .btn_zoom {
    right: 15px;
    bottom: 15px;
    width: 40px;
    height: 40px;
    border-radius: 40px;
  }

  .index_nana_list li figure .btn_zoom::before,
  .index_nana_list li figure .btn_zoom::after {
    width: 15px;
    height: 2px;
  }

}

.nana_box {
  padding: 1px 30px 15px;
  background: #f9f7f3;
}

.nana_box h3 {
  margin-top: 40px;
}

.nana_about .nana_box h3 {
  border-color: #f7cfa6;
}

.nana_about .nana_box h3::after {
  background: #f7cfa6;
}

.nana_mina .nana_box h3 {
  border-color: #d2e2b7;
}

.nana_mina .nana_box h3::after {
  background: #d2e2b7;
}

.nana_box p {
  margin: 0 0 20px;
}

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

@media screen and (min-width: 768px) {

  .nana_box {
    padding: 10px 60px 50px;
  }

  .nana_box h3 {
    margin-top: 50px;
  }

  .nana_box p {
    margin: 0 0 25px;
  }

}

.nana_profile {
  margin: 40px 0 30px;
  display: flex;
  flex-direction: column;
}

.nana_profile figure {
  margin: 0 auto 20px;
  width: 123px;
  flex-shrink: 0;
  order: 2;
}

.nana_profile > div {
  display: contents;
}

.nana_profile h3 {
  margin: 0 20px 20px;
  font-size: 2.0rem;
  order: 1;
}

.nana_profile h3 span {
  margin: 0 0 8px;
  display: block;
  color: #f26b30;
  font-size: 1.0rem;
}

.nana_profile table {
  width: 100%;
  border-top: 1px solid #e9cec2;
  order: 3;
}

.nana_profile th,
.nana_profile td {
  padding: 12px 20px;
  text-align: left;
  font-weight: 300;
  font-size: 1.4rem;
  border-bottom: 1px solid #e9cec2;
  font-family: "Noto Sans JP", sans-serif;
}

.nana_profile th {
  padding-right: 0;
}

.index_nana.nana_mina > p,
.index_nana.nana_about > p {
  margin: 0 20px;
}

@media screen and (min-width: 768px) {

  .nana_profile {
    margin: 60px 0 30px;
    display: flex;
    flex-direction: inherit;
  }

  .nana_profile figure {
    margin-right: 60px;
    width: 282px;
    order: inherit;
  }

  .nana_profile > div {
    width: calc(100% - 342px);
    display: block;
  }

  .nana_profile h3 {
    margin: 0 0 40px;
    font-size: 2.4rem;
    order: inherit;
  }

  .nana_profile h3 span {
    font-size: 1.4rem;
    order: inherit;
  }

  .nana_profile table {
    order: inherit;
  }

  .nana_profile th,
  .nana_profile td {
    padding: 15px 20px;
  }

  .nana_profile th {
    padding-right: 20px;
    width: 140px;
  }

  .index_nana.nana_mina > p,
  .index_nana.nana_about > p {
    margin: 0;
  }

}

.nana_box_2column {
  margin: 50px 0 10px;
  display: flex;
  align-items: center;
}

.nana_box_2column *:first-child {
  margin-top: 0;
}

.nana_box_2column_p {
  float: left;
  width: calc(100% - 80px);
}

.nana_box_2column figure {
  width: 75px;
  float: right;
  flex-shrink: 0;
}

.nana_mina .nana_profile h3 span {
  color: #729b2d;
}

.nana_mina .nana_profile table,
.nana_mina .nana_profile th,
.nana_mina .nana_profile td {
  border-color: #d2e2b7;
}

@media screen and (min-width: 768px) {

  .nana_box_2column {
    margin: 50px 0 10px;
  }

  .nana_box_2column_p {
    float: none;
    width: auto;
  }

  .nana_box_2column figure {
    margin-left: 60px;
    width: 120px;
    float: none;
  }

}

/* -----------------
	営業案内
----------------- */

.business_information .entry_column > *:first-child {
  margin-left: -20px;
  margin-right: -20px;
  width: calc(100% + 40px);
}

.attention_box {
  margin: 40px 0 20px;
  padding: 15px 20px 20px;
  border: 2px solid #c7352d;
}

.attention_box h3 {
  margin: 0 0 10px;
  padding: 0;
  font-size: 2.2rem;
  font-weight: 500;
  border: none;
  color: #c7352d;
  text-align: center;
}

.attention_box p {
  margin: 0;
  color: #c7352d;
}

@media screen and (min-width: 768px) {

  .business_information .entry_column > *:first-child {
    margin-left: 0;
    margin-right: 0;
    width: auto;
  }

  .attention_box {
    margin: 50px 0;
    padding: 30px 50px;
    display: flex;
    align-items: center;
  }

  .attention_box h3 {
    margin: 0;
    padding: 8px 40px 8px 0;
    font-size: 2.4rem;
    border-right: 1px solid #c7352d;
  }

  .attention_box p {
    margin: 0 0 0 40px;
  }

}

.contact_2column {
  margin: 40px 0 0;
}

.contact_2column > div {
  margin: 0 0 20px;
  padding: 30px 20px 15px;
  border-radius: 20px;
  background: #f1f1f1;
  text-align: center;
}

.entry_column .contact_2column h3 {
  margin: 0 0 10px;
  padding: 0 0 10px;
  position: relative;
  font-weight: 400;
  font-size: 2.0rem;
  border: none;
  display: block;
}

.contact_2column h3::after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 30px;
  height: 2px;
  background: #333;
}

.entry_column .contact_2column h4 {
  margin: 0 0 15px;
  padding: 0;
  font-size: 1.6rem;
  font-weight: 300;
  display: block;
}

.entry_column .contact_2column h4::before {
  display: none;
}

@media screen and (min-width: 768px) {

  .contact_2column {
    margin: 45px 0;
    display: flex;
    justify-content: space-between;
  }

  .contact_2column > div {
    padding: 40px 20px 30px;
    border-radius: 20px;
    width: calc(50% - 25px);
  }

  .entry_column .contact_2column h3 {
    margin: 0 0 18px;
    padding: 0 0 18px;
    font-size: 2.4rem;
  }

  .entry_column .contact_2column h4 {
    margin: 0 0 5px;
    font-size: 1.8rem;
  }

}

.contact_2column p.tel {
  margin: 0 0 15px;
  padding-left: 35px;
  font-size: 3.0rem;
  font-weight: 500;
  display: inline-block;
  background: url(../images/common/ico_tel2.svg) no-repeat 0 center / 25px auto;
}

.contact_2column p.link_form a,
.contact_2column p.tel a {
  text-decoration: none;
}

.contact_2column p.tel a span {
  font-size: 2.0rem;
}

.contact_2column p.link_form {
  font-weight: 500;
  padding-left: 32px;
  display: inline-block;
  background: url(../images/common/ico_mail.svg) no-repeat 0 5px / 25px auto;
}

.contact_2column dl.open {
  margin: 0 0 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact_2column dl.open dt {
  margin: 0 10px 0 0;
  padding: 3px 20px 5px;
  font-size: 1.4rem;
  border-radius: 5px;
  border: 1px solid #333;
}

.contact_2column dl.open dd {
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {

  .contact_2column p.tel {
    margin: 0 0 10px;
    padding-left: 35px;
    font-size: 4.0rem;
  }

  .contact_2column p.tel a span {
    font-size: 2.4rem;
  }

  .contact_2column dl.open {
    margin: 0;
  }

}

/* -----------------
	アクセス
----------------- */

.entry_tab_column {
  margin: 0 0 50px;
}

.page_navi {
  margin: 30px 0 40px;
}

.entry_column .entry_tab_column ul,
.entry_column .page_navi ul {
  display: flex;
}

.entry_column .entry_tab_column li,
.entry_column .page_navi li {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1.2rem;
  text-align: center;
}

.entry_column .entry_tab_column li::before,
.entry_column .page_navi li::before {
  right: auto;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1px;
  height: 15px;
  background: #e8e8e8;
}

.entry_column .entry_tab_column li:first-child::before,
.entry_column .page_navi li:first-child::before {
  display: none;
}

.entry_tab_column li a,
.page_navi li a {
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 100%;
}

.page_navi li a {
  padding: 5px 10px;
}

.entry_tab_column li.act a,
.page_navi li.act a {
  font-weight: 400;
  color: var(--site-color);
}

.entry_tab_column li.act a::after,
.page_navi li.act a::after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  margin: auto;
  width: calc(100% - 10px);
  border-radius: 1px;
  background: var(--site-color);
}

.entry_tab_column li.act:first-child a::after,
.page_navi li.act:first-child a::after {
  width: calc(100% - 10px);
  right: auto;
}

.entry_tab_column li.act:last-child a::after,
.page_navi li.act:last-child a::after {
  left: auto;
  width: calc(100% - 10px);
}

.entry_column .column_tab1,
.entry_column .column_tab2,
.entry_column .column_tab3,
.entry_column .column_tab4 {
	display: none;
}

.entry_column .column_tab1 {
	display: block;
}

@media screen and (min-width: 768px) {

  .entry_tab_column {
    margin: 0 0 70px;
  }

  .page_navi {
    margin: 40px 0 70px;
  }

  .entry_column .entry_tab_column li,
  .entry_column .page_navi li {
    font-size: 1.6rem;
  }

  .entry_column .entry_tab_column li::before,
  .entry_column .page_navi li::before {
    height: 25px;
  }

  .entry_tab_column li a,
  .page_navi li a {
    padding: 20px 0;
  }

  .entry_tab_column li.act a::after,
  .page_navi li.act a::after {
    height: 4px;
    width: calc(100% - 20px);
  }

}

/* -----------------
	アクセス
----------------- */

.access_map_title {
  margin: 0 0 30px;
}

.access_map_title dt {
  margin: 0 0 20px;
  font-weight: 500;
}

.access_map_title dd {
  line-height: 1.4;
}

.access_map_frame {
  width: 100%;
  height: 400px;
}

.entry_column iframe {
  border: none;
  width: 100%;
  height: 400px;
}

@media screen and (min-width: 768px) {

  .access_map_title {
    margin: 0 0 30px;
    display: flex;
    align-items: center;
  }

  .access_map_title dt {
    margin: 0 50px 0 0;
  }

  .access_map_frame {
    height: 475px;
  }

  .entry_column iframe {
    height: 475px;
  }

}

.entry_column .column-table- .table_ptn2 {
  border: none;
  table-layout: auto;
}

.entry_column .column-table- .table_ptn2 tr:nth-child(2n) {
  background: none;
}

.entry_column .column-table- .table_ptn2 th {
  padding: 25px 0 10px;
  border: none;
  display: block;
}

.entry_column .column-table- .table_ptn2 td {
  padding: 0 0 30px;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #d0d0d0;
  display: block;
}

.entry_column .column-table- .table_ptn2 td strong {
  padding-top: 10px;
  display: inline-block;
}

@media screen and (min-width: 768px) {

  .entry_column .column-table- .table_ptn2 th {
    padding: 0 60px 0 0;
    vertical-align: top;
    position: relative;
    white-space: nowrap;
    width: 1%;
    display: table-cell;
  }

  .entry_column .column-table- .table_ptn2 th::after {
    position: absolute;
    content: '';
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    background: #333;
  }

  .entry_column .column-table- .table_ptn2 th,
  .entry_column .column-table- .table_ptn2 td {
    padding-top: 30px;
    display: table-cell;
  }

}

.entry_column h4.star_h {
  margin: 40px 0 30px;
  padding: 0;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
}

.entry_column h4.star_h .star_no {
  margin-right: 10px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  width: 42px;
  height: 42px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: url(../images/common/ico_star.png) no-repeat center center / 42px auto;
}

.entry_column .access_root {
  margin: 0;
  padding: 0 0 15px;
  background: url(../images/common/line_dot.png) repeat-x 0 bottom/ 5px auto;
}

.entry_column .access_root dl {
  margin: 0 0 25px;
}

.entry_column .access_root dt {
  margin: 0 0 20px;
  white-space: nowrap;
  font-size: 1.4rem;
}

.entry_column .access_root dt span {
  padding: 7px 20px 9px;
  border: 1px solid #333;
  border-radius: 5px;
  display: inline-block;
}

.entry_column .access_root dd {
  line-height: 1.6;
}

.entry_column .access_root dd .note {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {

  .entry_column h4.star_h {
    margin: 50px 0 30px;
    font-size: 2.0rem;
  }

  .entry_column .access_root {
    margin: 0 0 50px;
    padding: 0 0 15px 55px;
    background: url(../images/common/line_dot.png) repeat-x 0 bottom/ 5px auto;
  }

  .entry_column .access_root dl {
    margin: 0 0 30px;
    display: flex;
  }

  .entry_column .access_root dt {
    margin: 0;
    width: 170px;
    flex-shrink: 0;
  }

}

/* -----------------
	パーキング
----------------- */

.entry.parking .column-table- {
  margin-top: 15px;
}

.entry.parking .column-table- th,
.entry.parking .column-table- td {
  padding: 10px;
  font-size: 1.0rem;
}

.parking_map {
}

.entry_column .parking_map figure {
}

.entry_column .parking_map_list {
  margin: 20px 0 0;
  padding-left: 0;
  list-style: none;
}

.entry_column .parking_map_list li {
  margin: 0 0 15px;
  padding: 0;
}

.entry_column a.arrow_down,
.entry_column .parking_map_list li a {
  padding-right: 20px;
  display: inline-flex;
  align-items: center;
  background: url(../images/common/ico_link_down.svg) no-repeat right center / 10px auto;
}

@media screen and (min-width: 768px) {

  .entry.parking .column-table- {
    margin-top: 0;
  }

  .entry.parking .column-table- th,
  .entry.parking .column-table- td {
    padding: 18px 25px;
    font-size: 1.6rem;
  }

  .parking_map {
    display: flex;
  }

  .entry_column .parking_map figure {
    width: 50%;
  }

  .entry_column .parking_map_list {
    margin: 0 0 0 50px;
    padding-left: 18px;
    width: 50%;
  }

  .entry_column a.arrow_down,
  .entry_column .parking_map_list li a {
    display: inline-block;
  }

}

.parking_map_list li a .org_no {
  margin: 0 10px 0 0;
}

.entry_column .org_no {
  margin: 0 5px;
  background: #ee8a07;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 400;
  display: inline-flex;
  width: 30px;
  height: 30px;
  justify-content: center;
  align-items: center;
  border-radius: 30px;
  flex-shrink: 0;
}

.entry_column th:has(.ico_a),
.entry_column th:has(.ico_b),
.entry_column td:has(.ico_a),
.entry_column td:has(.ico_b) {
  white-space: nowrap;
}

.entry_column .ico_a {
  margin: 0 10px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  display: inline-flex;
  color: #fff;
  width: 30px;
  height: 30px;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  background: #6ab215;
}

.entry_column .ico_b {
  margin: 0 10px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  display: inline-flex;
  color: #fff;
  width: 30px;
  height: 30px;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  background: #b75ebf;
}

.entry.parking .column-table- .ico_a,
.entry.parking .column-table- .ico_b,
.entry.parking .column-table- .org_no {
  font-size: 1.0rem;
  width: 20px;
  height: 20px;
}

.entry.parking .column-table- .ico_a,
.entry.parking .column-table- .ico_b {
  margin: 0 5px 0 0;
}

@media screen and (min-width: 768px) {

  .entry.parking .column-table- .org_no {
    font-size: 1.6rem;
    width: 30px;
    height: 30px;
  }

  .entry.parking .column-table- .ico_a,
  .entry.parking .column-table- .ico_b {
    margin: 0 10px 0 0;
  }

}

.entry_column .parking_info {
  margin: 0 0 10px;
}

.entry_column .parking_info:last-child {
  margin-bottom: 0;
}

.entry_column .parking_info dt {
  margin: 0 0 5px;
  padding: 2px 8px;
  font-size: 1.0rem;
  text-align: center;
  border: 1px solid #333;
  border-radius: 4px;
  line-height: 1.4;
  display: inline-block;
}

@media screen and (min-width: 768px) {

  .entry_column .parking_info {
    margin: 0 0 15px;
    display: flex;
    align-items: center;
  }

  .entry_column .parking_info:last-child {
    margin-bottom: 0;
  }

  .entry_column .parking_info dt {
    margin: 0 20px 0 0;
    font-size: 1.4rem;
    width: 100px;
  }

}

.entry_column .no_column {
  display: flex;
}

.entry_column .no_column .org_no {
  margin: 0 5px 0 0;
}

.column-table-:has(+ .parking_price) table {
  margin-bottom: 0;
}

.parking_price {
  margin: 45px 0 15px;
  text-align: center;
}

.entry_column .parking_price h4 {
  margin: 0 0 20px;
  padding: 0;
  font-size: 2.0rem;
  font-weight: 400;
  text-align: center;
}

.parking_price h4::before {
  display: none;
}

@media screen and (min-width: 768px) {

  .entry_column .no_column {
    align-items: center;
  }

  .entry_column .no_column .org_no {
    margin: 0 10px 0 0;
  }

}

.entry_column .parking_price_column dl {
  margin: 0 0 20px;
  padding: 20px;
  border: 1px solid #333;
  border-radius: 20px;
  width: 100%;
}

.entry_column .parking_price_column dt {
  margin: 0 0 15px;
}

.entry_column .parking_price_column dd {
  font-size: 2.0rem;
  font-weight: 400;
}

.entry_column .link_map {
  margin: 5px 0 0 15px;
  display: inline-block;
}

.entry_column .link_map a {
  padding: 0px 30px 1px 12px;
  border-radius: 20px;
  font-size: 1.2rem;
  border: 1px solid #333;
  display: block;
  background-position: right 12px center;
  text-decoration: none !important;
}

@media screen and (min-width: 768px) {

  .parking_price_column {
    display: flex;
    gap: 25px;
  }

  .entry_column .parking_price_column dl {
    margin: 0;
    padding: 25px;
  }

  .entry_column .link_map {
    margin: 0 0 0 15px;
  }

}

.entry.parking .entry_column .parking_table th,
.entry.parking .entry_column .parking_table td {
  padding-top: 15px;
  padding-bottom: 15px;
}

.entry_column .parking_table .org_no {
  margin: 0 5px 0 0;
}

@media screen and (min-width: 768px) {

  .entry.parking .entry_column .parking_table th,
  .entry.parking .entry_column .parking_table td {
    padding-top: 25px;
    padding-bottom: 25px;
  }

  .entry_column .parking_table .org_no {
    margin: 0 10px 0 0;
  }

}

.entry_column .map_cycle_info {
  margin: 0 0 40px;
}

.entry_column .map_cycle_info dd {
  margin: 20px 0;
  display: flex;
  justify-content: space-between;
}

.entry_column .map_cycle_info dd div {
  padding: 0 0 0 60px;
  position: relative;
}

.entry_column .map_cycle_info dd .color_green::before,
.entry_column .map_cycle_info dd .color_red::before {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 50px;
  height: 15px;
}

.entry_column .map_cycle_info dd .color_green::before {
  background-color: #77c057;
}

.entry_column .map_cycle_info dd .color_red::before {
  background: #e7645d;
}

@media screen and (min-width: 768px) {

  .entry_column .map_cycle_info {
    margin: -15px 0 30px;
    display: flex;
    align-items: center;
  }

  .entry_column .map_cycle_info dd {
    margin: 0;
  }

  .entry_column .map_cycle_info dd div {
    margin: 0 0 0 30px;
    padding: 0 0 0 110px;
  }

  .entry_column .map_cycle_info dd .color_green::before,
  .entry_column .map_cycle_info dd .color_red::before {
    width: 100px;
  }

}

/* -----------------
	カフェ・レストラン
----------------- */

.cafe-restaurant_index.page_index .index_header_title span {
  padding-left: 40px;
  background: url(../images/common/ico_cafe_restaurant.svg) no-repeat 0 center / 32px auto;
}

.cafe-restaurant_index.page_index .inner {
  margin: 0 20px;
}

.cafe-restaurant_index.page_index h2 {
  margin-bottom: 50px;
}

.cafe-restaurant_index.page_index .restaurant_navi {
  margin-top: 50px;
}

.cafe_index_list li {
  width: 100%;
}

.cafe_index_list li a {
  display: block;
}

.cafe_index_list li a > h3 {
  margin: 0 0 15px;
  font-size: 1.8rem;
}

.cafe_index_list li a > div {
  display: flex;
}

.cafe_index_list li .search_result_text h3 {
  display: none;
}

.cafe_index_list li .search_result_info {
  display: block;
}
.cafe_index_list li .search_result_info_floor .cate {
  margin-left: 10px;
  padding-left: 10px;
  font-size: 1.4rem;
  background: url(../images/common/line_ver.png) repeat-y 0 0 / 1px auto;
}

.cafe_index_list li .shop_open {
  margin: 15px 0 5px;
}

.cafe_index_list li .shop_open dt {
  margin-bottom: 5px;
  font-size: 1.2rem;
  white-space: nowrap;
}

.cafe_index_list li .shop_open dd {
  font-size: 1.4rem;
}


@media screen and (min-width: 768px) {

  .cafe-restaurant_index.page_index .index_header_title span {
    padding-left: 60px;
    background: url(../images/common/ico_cafe_restaurant.svg) no-repeat 0 center / 45px auto;
  }

  .cafe-restaurant_index.page_index .restaurant_navi {
    margin-top: 80px;
  }

  .cafe-restaurant_index.page_index .inner {
    margin: 0 auto;
    width: var(--min-width);
  }

  .cafe-restaurant_index.page_index h2 {
    margin-bottom: 70px;
  }

  .cafe_index_list {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 10px 20px;
  }

  .cafe_index_list li a {
    height: 100%;
    align-items: flex-start;
  }

  .cafe_index_list li a > h3 {
    display: none;
  }

  .cafe_index_list li .search_result_text h3 {
    margin: 0 0 15px;
    font-size: 1.8rem;
    display: block;
  }

  .cafe_index_list li .shop_open {
    margin: 15px 0 5px;
    display: flex;
  }

  .cafe_index_list li .shop_open dt {
    margin-bottom: 0;
    margin-right: 10px;
    padding-right: 10px;
    position: relative;
    font-size: 1.4rem;
  }

  .cafe_index_list li .shop_open dt::after {
    position: absolute;
    content: '';
    right: 0;
    top: 9px;
    width: 5px;
    height: 1px;
    background: #cfcfcf;
  }

  .cafe_index_list li .shop_open dd {
    font-size: 1.4rem;
  }

}

/* -----------------
	おすすめメニュー
----------------- */

.ico_recomend {
  padding-left: 30px;
  background: url(../images/common/ico_recommended.svg) no-repeat 0 center / 23px auto;
}

.ico_banquet_plan {
  padding-left: 30px;
  background: url(../images/common/ico_banquet_plan.svg) no-repeat 0 center / 23px auto;
}

.ico_banquet_room {
  padding-left: 30px;
  background: url(../images/common/ico_banquet_room.svg) no-repeat 0 center / 23px auto;
}

@media screen and (min-width: 768px) {

  .ico_recomend {
    padding-left: 55px;
    background: url(../images/common/ico_recommended.svg) no-repeat 0 center / 40px auto;
  }

  .ico_banquet_plan {
    padding-left: 55px;
    background: url(../images/common/ico_banquet_plan.svg) no-repeat 0 center / 40px auto;
  }

  .ico_banquet_room {
    padding-left: 55px;
    background: url(../images/common/ico_banquet_room.svg) no-repeat 0 center / 40px auto;
  }

}

.index_recommend {
  margin: 0 20px;
}

.index_recommend_list {
  margin: 50px 0 0;
}

.index_recommend_list li {
  margin: 0 0 40px;
}

.index_recommend_list li h2 {
  margin: 0 0 25px;
  font-size: 2.2rem;
  display: inline-block;
}

.index_recommend_list li h2 a {
  padding-right: 15px;
  display: flex;
  align-items: center;
  background: url(../images/common/ico_link.svg) no-repeat right center / 6px auto;
}

.index_recommend_list li h2 a span {
  margin-right: 15px;
  font-size: 1.2rem;
}

.index_recommend_list li figure {
  margin: 0 0 15px;
  border-radius: 10px;
  overflow: hidden;
}

.index_recommend_list li h3 {
  margin: 0 0 20px;
  font-size: 1.6rem;
  position: relative;
  display: flex;
  align-items: center;
}

.index_recommend_list li h3:has(+ p.note) {
  margin-bottom: 8px;
}

.index_recommend_list li h3::after {
  margin-left: 20px;
  content: "";
  flex-grow: 1;
  height: 1px;
  background: #333;
  display: block;
}

.index_recommend_list li p {
  margin: 0 0 20px;
  font-size: 1.4rem;
}

.index_recommend_list li p.note {
  font-size: 1.4rem;
}

.index_recommend_list li p:has(+ p.note) {
  margin-bottom: 15px;
}

.index_recommend_list li h3 + p.note {
  margin-bottom: 15px;
}

@media screen and (min-width: 768px) {

  .index_recommend {
    margin: 0 auto;
    width: var(--min-width);
  }

  .index_recommend_list {
    margin: 80px 0 0;
  }

  .index_recommend_list ul {
    display: grid;
    gap: 65px 70px;
    grid-template-columns: repeat(2,1fr);
  }

  .index_recommend_list li {
    margin: 0;
  }

  .index_recommend_list li h2 {
    font-size: 2.4rem;
  }

  .index_recommend_list li figure {
    margin: 0 0 30px;
  }

  .index_recommend_list li h3 {
    margin: 0 0 25px;
    font-size: 2.0rem;
  }

  .index_recommend_list li p {
    margin: 0 0 30px;
    font-size: 1.6rem;
  }

  .index_recommend_list li p.note {
    font-size: 1.4rem;
  }

  .index_recommend_list li h3 + p.note {
    margin-bottom: 30px;
  }

}

.index_recommend_list li dl {
  margin: 0 0 15px;
  display: flex;
}

.index_recommend_list li dt {
  margin: 0 15px 0 0;
  padding: 6px 10px 4px;
  font-size: 1.2rem;
  border: 1px solid #333;
  border-radius: 5px;
  flex-shrink: 0;
  white-space: nowrap;
  display: flex;
  align-items: center;
}

.index_recommend_list li dd {
  margin: 5px 0;
  font-size: 1.4rem;
}

.index_recommend_list li p.price {
  margin: 0;
  text-align: right;
  font-size: 3.0rem;
}

.index_recommend_list li p.price span {
  font-size: 1.6rem;
}

.index_recommend_note {
  margin: 50px 0 0;
  padding: 15px 0 0;
  border-top: 1px solid #333;
}

.index_recommend_note p {
  font-size: 1.4rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {

  .index_recommend_list li dl {
    margin: 0 0 30px;
    display: flex;
  }

  .index_recommend_list li dd {
    font-size: 1.6rem;
  }

  .index_recommend_note {
    margin: 70px 0 0;
  }

}

/* -----------------
	宴会プラン
----------------- */

.restaurant_navi {
  margin: 70px 0 0;
}

.restaurant_navi ul {
  display: flex;
  gap: 10px;
}

.restaurant_navi li {
  width: 100%;
  font-size: 1.4rem;
}

.restaurant_navi li a {
  padding: 10px 10px 10px;
  border-radius: 15px;
  display: flex;
  height: 100%;
  position: relative;
}

.restaurant_navi li a span {
  display: block;
}

.restaurant_navi li a.stay {
  font-weight: 400;
}

.restaurant_navi li a.stay::before {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  top: -11px;
  margin: auto;
  width: 12px;
  height: 11px;
}

@media screen and (min-width: 768px) {

  .restaurant_navi {
    margin: 80px 0 0;
  }

  .restaurant_navi li {
    font-size: 1.6rem;
  }

  .restaurant_navi li a {
    padding: 35px 30px;
    align-items: center;
  }

}

.restaurant_navi li.navi_recommend a {
  background: #faf6ff;
  border: 3px solid #f1e8fc;
}

.restaurant_navi li.navi_recommend a span {
  padding-top: 30px;
  background: url(../images/cafe-restaurant/ico_recommend_off.png) no-repeat center 0 / 19px auto;
}

.restaurant_navi li.navi_recommend a.stay {
  border-color: #e6daf4;
}

.restaurant_navi li.navi_recommend a.stay::before {
  background: url(../images/cafe-restaurant/arrow_recommend.png) no-repeat 0 0 / 12px auto;
}

.restaurant_navi li.navi_recommend a.stay span {
  color: #7345a7;
  background: url(../images/cafe-restaurant/ico_recommend_on.png) no-repeat center 0 / 19px auto;
}

@media screen and (min-width: 768px) {

  .restaurant_navi li.navi_recommend a span {
    padding-top: 0;
    padding-left: 35px;
    background: url(../images/cafe-restaurant/ico_recommend_off.png) no-repeat 0 center / 23px auto;
  }

  .restaurant_navi li.navi_recommend a.stay span {
    background: url(../images/cafe-restaurant/ico_recommend_on.png) no-repeat 0 center / 23px auto;
  }

}

.restaurant_navi li.navi_plan a {
  background: #ffeef1;
  border: 3px solid #ffe4e9;
}

.restaurant_navi li.navi_plan a span {
  padding-top: 30px;
  background: url(../images/cafe-restaurant/ico_plan_off.png) no-repeat center 0 / 18px auto;
}

.restaurant_navi li.navi_plan a.stay {
  border-color: #f6d0d7;
}

.restaurant_navi li.navi_plan a.stay::before {
  background: url(../images/cafe-restaurant/arrow_plan.png) no-repeat 0 0 / 12px auto;
}

.restaurant_navi li.navi_plan a.stay span {
  color: #c57382;
  background: url(../images/cafe-restaurant/ico_plan_on.png) no-repeat center 0 / 18px auto;
}

@media screen and (min-width: 768px) {

  .restaurant_navi li.navi_plan a span {
    padding-top: 0;
    padding-left: 35px;
    background: url(../images/cafe-restaurant/ico_plan_off.png) no-repeat 0 center / 22px auto;
  }

  .restaurant_navi li.navi_plan a.stay span {
    background: url(../images/cafe-restaurant/ico_plan_on.png) no-repeat 0 center / 22px auto;
  }

}

.restaurant_navi li.navi_banquet a {
  background: #fff9ef;
  border: 3px solid #f5eee2;
}

.restaurant_navi li.navi_banquet a span {
  padding-top: 30px;
  background: url(../images/cafe-restaurant/ico_banquet_off.png) no-repeat center 0 / 22px auto;
}

.restaurant_navi li.navi_banquet a.stay {
  border-color: #e6d9c3;
}

.restaurant_navi li.navi_banquet a.stay::before {
  background: url(../images/cafe-restaurant/arrow_banquet.png) no-repeat 0 0 / 12px auto;
}

.restaurant_navi li.navi_banquet a.stay span {
  color: #966c24;
  background: url(../images/cafe-restaurant/ico_banquet_on.png) no-repeat center 0 / 22px auto;
}

@media screen and (min-width: 768px) {

  .restaurant_navi li.navi_banquet a span {
    padding-top: 0;
    padding-left: 38px;
    background: url(../images/cafe-restaurant/ico_banquet_off.png) no-repeat 0 center / 27px auto;
  }

  .restaurant_navi li.navi_banquet a.stay span {
    background: url(../images/cafe-restaurant/ico_banquet_on.png) no-repeat 0 center / 27px auto;
  }

}

/* -----------------
	バンケットルーム
----------------- */

.index_banquet {
  margin: 0 20px;
}

.banquet_tel {
  margin: 0 0 40px;
  border-bottom: 1px solid #d0d0d0;
}

.banquet_tel dl {
  margin: 25px 0;
}

.banquet_tel dt {
  padding: 5px 10px;
  font-size: 1.4rem;
  border: 1px solid #d0d0d0;
  border-radius: 5px;
  text-align: center;
  font-weight: 400;
}

.banquet_tel dd {
  text-align: center;
  margin: 10px 0 35px;
}

.banquet_tel dd a.tel {
  margin: 0 0 5px;
  font-size: 2.6rem;
  position: relative;
  display: block;
}

.banquet_tel dd a.tel::before {
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 30px;
  margin-left: -30px;
  background: url(../images/common/ico_tel2.svg) no-repeat 0 center / 20px auto;
}

.banquet .entry_column .table_ptn2 tr:last-child td {
  border-bottom: none;
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {

  .index_banquet {
    margin: 0 auto;
    width: var(--min-width);
  }

  .banquet_tel {
    padding: 0;
    border-bottom: none;
  }

  .banquet_tel dl {
    margin: 17px 0;
    display: flex;
    align-items: center;
  }

  .banquet_tel dt {
    padding: 15px 10px;
    border-radius: 10px;
    width: 150px;
  }

  .banquet_tel dd {
    margin: 0 0 0 30px;
    display: flex;
    align-items: center;
  }

  .banquet_tel dd a.tel {
    margin: 0 35px 0 0;
    padding: 0 0 0 35px;
    font-size: 2.6rem;
    background: url(../images/common/ico_tel2.svg) no-repeat 0 center / 25px auto;
  }

  .banquet_tel dd a.tel::before {
    display: none;
  }

  .banquet .entry_column .table_ptn2 tr:last-child td {
    border-bottom: 1px solid #d0d0d0;
    padding-bottom: 30px;
  }

}

.banquet_map > div:first-child {
  margin: 0 0 35px;
}

.banquet_map h3 {
  margin: 0 0 20px;
  padding: 0;
  border: none;
  font-size: 1.6rem;
  font-weight: 400;
}

.banquet_map figure {
  margin: 0 0 15px;
}

@media screen and (min-width: 768px) {

  .banquet_map {
    display: flex;
    justify-content: space-between;
  }

  .banquet_map > div:first-child {
    margin: 0;
    width: calc(56% - 20px);
  }

  .banquet_map > div:last-child {
    width: calc(44% - 20px);
  }

  .banquet_map h3 {
    margin: 0 0 30px;
  }

}

.banquet_calendar {
  display: none;
}

.calendar_header {
  margin: 0 0 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.calendar_header .month_prev a,
.calendar_header .month_next a {
  padding: 6px;
  width: 95px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #dadada;
  border-radius: 5px;
}

.calendar_header .month_prev {
  margin-right: auto;
}

.calendar_header .month_next {
  margin-left: auto;
}

.calendar_header .month_prev img,
.calendar_header .month_next img {
  width: 15px;
}

.calendar_header .year {
  font-size: 3.6rem;
  font-weight: 400;
}

.banquet_calendar_msg {
  display: block;
}

.banquet_calendar .banquet_calendar_box,
.banquet_calendar_sp .banquet_calendar_box {
  display: none;
}

.banquet_calendar.open .banquet_calendar_msg,
.banquet_calendar_sp.open .banquet_calendar_msg {
  display: none;
}

.banquet_calendar.open .banquet_calendar_box,
.banquet_calendar_sp.open .banquet_calendar_box {
  display: block;
}

.banquet_calendar_sp .banquet_calendar_msg {
  margin: 0 20px 50px;
}

@media screen and (min-width: 768px) {

  .banquet_calendar {
    display: block;
    margin: 25px 0 70px;
  }

  .calendar_header {
    margin: 0 0 60px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .calendar_header .month_prev a,
  .calendar_header .month_next a {
    padding: 6px;
    width: 95px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #dadada;
    border-radius: 5px;
  }

  .calendar_header .month_prev {
    margin-right: auto;
  }

  .calendar_header .month_next {
    margin-left: auto;
  }

  .calendar_header .month_prev img,
  .calendar_header .month_next img {
    width: 15px;
  }

  .calendar_header .year {
    font-size: 3.6rem;
    font-weight: 400;
  }

}

.banquet_calendar_sp .w0,
.banquet_calendar .w0 {
  color: #be777c;
}

.banquet_calendar_sp .w6,
.banquet_calendar .w6 {
  color: #5683a2;
}

@media screen and (min-width: 768px) {

  .banquet_calendar tr.week {
    border-top: 1px solid #d5d5d5;
  }

  .banquet_calendar .week_header th {
    padding-bottom: 20px;
    font-size: 2.0rem;
    font-weight: 400;
    text-align: center;
  }

  .banquet_calendar table {
    width: 100%;
  }

  .banquet_calendar .status_column {
    width: 120px;
    white-space: nowrap;
  }

  .banquet_calendar .day_box {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.6rem;
    font-weight: 400;
  }

}

.banquet_calendar_text h3 {
  margin: 0 0 10px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 400;
}

.banquet_calendar_text p {
  font-size: 1.6rem;
  font-weight: 400;
}

@media screen and (min-width: 768px) {

  .banquet_calendar .lunch_data img,
  .banquet_calendar .dinner_data img {
    width: 26px;
  }

  .banquet_calendar .lunch_data,
  .banquet_calendar .dinner_data {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
  }

  .banquet_calendar .title_lunch,
  .banquet_calendar .title_dinner {
    padding: 0 0 0 50px;
    text-align: left;
    height: 48px;
    display: flex;
    align-items: center;
    border-bottom: 5px solid #fff;
  }

  .banquet_calendar .title_lunch {
    background: #fbf5eb url(../images/cafe-restaurant/icon_lunch.png) no-repeat 20px center / 25px auto;
  }

  .banquet_calendar .lunch_data {
    background-color: #fbf5eb;
    border-bottom: 5px solid #fff;
  }

  .banquet_calendar .title_dinner {
    background: #f3eff8 url(../images/cafe-restaurant/icon_dinner.png) no-repeat 20px center / 18px auto;
  }

  .banquet_calendar .dinner_data {
    background-color: #f3eff8;
    border-bottom: 5px solid #fff;
  }

  .banquet_calendar_text {
    text-align: center;
  }

  .banquet_calendar_text h3 {
    margin: 0 0 15px;
    font-size: 2.2rem;
  }

}

.banquet_calendar_btn {
  margin: 0 0 40PX;
  padding: 20px 30px 20px 25px;
  font-weight: 400;
  font-size: 1.6rem;
  background: #f1e6d3;
  position: relative;
}

.banquet_calendar_btn::before,
.banquet_calendar_btn::after {
  position: absolute;
  content: '';
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 15px;
  height: 2px;
  background: #a1824d;
  transition: all 0.25s ease 0s;
}

.banquet_calendar_btn::after {
  transform: rotate(-90deg);
}

.banquet_calendar_btn.open::after {
  transform: rotate(0deg);
}

.banquet_calendar_sp .banquet_calendar_body {
  display: none;
}

.banquet_calendar_sp.year_2025 .banquet_calendar_body,
.banquet_calendar_sp.year_2026 .banquet_calendar_body,
.banquet_calendar_sp.year_2027 .banquet_calendar_body {
  display: block;
}

.banquet_calendar_sp .calendar_header {
  margin: 0 20px 30px;
}

.banquet_calendar_sp .calendar_header .year {
  font-size: 2.6rem;
}

.banquet_calendar_sp .calendar_header .month_prev a,
.banquet_calendar_sp .calendar_header .month_next a {
  width: 40px;
  height: 40px;
  border-radius: 10px;
}

.banquet_calendar_sp .calendar_header .month_prev a img,
.banquet_calendar_sp .calendar_header .month_next a img {
  width: 8px;
}

.banquet_calendar_sp .list {
  margin: 0 20px 40px;
  width: calc(100% - 40px);
}

.banquet_calendar_sp .week {
  border-bottom: 1px solid #d5d5d5;
}

.banquet_calendar_sp .week:first-child {
  border-top: 1px solid #d5d5d5;
}

.banquet_calendar_sp .day {
  padding: 5px 0;
  display: flex;
  align-items: center;
}

.banquet_calendar_sp .day .day_text {
  width: 75px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.6rem;
  font-weight: 400;
  flex-shrink: 0;
}

.banquet_calendar_sp .day .day_text span {
  padding-left: 5px;
  font-size: 1.4rem;
}

.banquet_calendar_sp .day .banquet_data {
  width: calc(100% - 75px);
}

.banquet_calendar_sp .day .banquet_data_lunch,
.banquet_calendar_sp .day .banquet_data_dinner {
  padding: 5px 20px 5px 45px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 400;
}

.banquet_calendar_sp .day .banquet_data_lunch {
  background: #fbf5eb url(../images/cafe-restaurant/icon_lunch_sp.png) no-repeat 20px center / 20px auto;
  color: #c0b39d;
}

.banquet_calendar_sp .day .banquet_data_dinner {
  background: #f3eff8 url(../images/cafe-restaurant/icon_dinner_sp.png) no-repeat 20px center / 15px auto;
  color: #bab1c3;
}

.banquet_calendar_sp .day .banquet_data dd {
  display: flex;
  align-items: center;
}

.banquet_calendar_sp .day .banquet_data dd img {
  width: 20px;
}

@media screen and (min-width: 768px) {

  .banquet_calendar_sp {
    display: none;
  }

}

/* -----------------
	会社案内
----------------- */

.company_index {
  margin: 0 20px;
}

.company_index_list {
}

.company_index_list li {
  margin: 0 0 30px;
}

.company_index_list li a {
  display: block;
}

.company_index_list li figure {
  margin: 0 0 15px;
  border-radius: 10px;
  overflow: hidden;
}

.company_index_list h2 {
  font-size: 1.8rem;
  font-weight: 400;
  display: flex;
  align-items: center;
}

.icon_arrow_right_blue {
  margin-left: 10px;
  width: 25px;
  height: 25px;
  border-radius: 25px;
  background: #345994 url(../images/common/ico_link_w.svg) no-repeat center center / 6px auto;
}

@media screen and (min-width: 768px) {

  .company_index {
    margin: 0 auto;
    width: var(--min-width);
  }

  .company_index_list {
    display: flex;
    flex-wrap: wrap;
    gap: 65px 70px;
  }

  .company_index_list li {
    margin: 0;
    width: calc(50% - 35px);
  }

  .company_index_list li figure {
    margin: 0 0 30px;
  }

  .company_index_list h2 {
    font-size: 2.2rem;
  }

}

.company_about_table th {
  white-space: nowrap;
}

.company_about_table td figure {
  margin: 20px 0 10px;
}
.company_about_table td figcaption {
  margin: 10px 0 0;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {

  .company_about_table th {
    width: 275px;
  }

  .company_about_table td figure {
    margin: 20px 0 10px;
    width: 530px;
  }
  .company_about_table td figcaption {
    font-size: 1.4rem;
  }

}

.philosophy_img figure {
  margin: 0 0 40px;
  text-align: center;
}

.philosophy_img figure:last-child {
  margin: 0;
}

.philosophy_img1 {
  width: 175px;
}

.philosophy_img2{
  width: 150px;
}

.philosophy_img3 {
  width: 144px;
}

.philosophy_img figcaption {
  margin: 20px 0 0;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {

  .philosophy_img {
    margin: 0 60px;
    display: flex;
    justify-content: space-between;
  }

  .philosophy_img figure {
    margin: 0;
  }

  .philosophy_img1 {
    width: 250px;
  }

  .philosophy_img2{
    width: 215px;
  }

  .philosophy_img3 {
    width: 206px;
  }

}

.acd_column {
  margin: 0 0 20px;
  padding: 0 10px;
  border-bottom: 1px solid #e8e8e8;
}

.acd_column .acd_title {
  margin: 0 0 20px;
  padding: 0 30px 0 0;
  position: relative;
  cursor: pointer;
}

.acd_column .acd_title::before,
.acd_column .acd_title::after {
  position: absolute;
  content: '';
  right: 0;
  top: 0;
  bottom: 0;
  width: 15px;
  height: 3px;
  margin: auto;
  border-radius: 2px;
  background: #345994;
  transition: all 0.25s ease 0s;
}

.acd_column .acd_title::after {
  transform: rotate(90deg);
}

.acd_column.open .acd_title::after {
  transform: none;
}

.acd_column .acd_title h4 {
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: 400;
  position: relative;
}

.acd_column .acd_title h4::before,
.acd_column .acd_title h4::after {
  display: none;
}

.acd_column .acd_body {
  display: none;
}

.tomo-submenu {
  position: sticky;
  top: 20px;
}

@media screen and (min-width: 768px) {

  .acd_column {
    margin: 0 0 50px;
    padding: 0 40px;
  }

  .acd_column .acd_title::before,
  .acd_column .acd_title::after {
    width: 20px;
  }

  .acd_column .acd_title h4 {
    font-size: 1.8rem;
  }

}

/* -----------------
	本店ご利用案内
----------------- */

.entry_column .page_navi_sv {
  margin: 0 0 40px;
}

.entry_column .unit-separator + .page_navi_sv {
  margin-top: 40px;
}

.entry_column .page_navi_sv ul {
  list-style: none;
}

.entry_column .page_navi_sv li {
  margin: 0;
  padding: 0;
  background: url(../images/common/line_dot.png) repeat-x 0 bottom / 5px auto;
}

.entry_column .page_navi_sv li::before {
  display: none;
}

.entry_column .page_navi_sv li a {
  padding: 10px 30px 10px 5px;
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
}

.entry_column .page_navi_sv li.up a::after,
.entry_column .page_navi_sv li.down a::after {
  position: absolute;
  content: '';
  right: 10px;
  bottom: 0;
  top: 0;
  margin: auto;
  width: 11px;
  height: 6px;
  background: url(../images/common/ico_link_down.svg) no-repeat 0 0 / 100% auto;
}

.entry_column .page_navi_sv li.act.down a::after {
  background: url(../images/common/ico_link_down_blue.svg) no-repeat 0 0 / 100% auto;
}

.entry_column .page_navi_sv li.up a::after {
  transform: rotate(180deg);
}

.entry_column .page_navi_sv li.act a {
  color: var(--site-color);
}

@media screen and (min-width: 768px) {

  .entry_column .page_navi_sv {
    margin: 0 0 70px;
  }

  .entry_column .unit-separator + .page_navi_sv {
    margin-top: 70px;
  }

  .entry_column .page_navi_sv ul {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    align-items: center;
  }

  .entry_column .page_navi_sv li {
    background: url(../images/common/line_ver.png) repeat-y 0 0 / 1px auto;
  }

  .entry_column .page_navi_sv li:first-child {
    background: none;
  }

  .entry_column .page_navi_sv li a {
    padding: 0 15px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-align: center;
  }

  .entry_column .page_navi_sv li:first-child a {
    padding-left: 0;
  }

  .entry_column .page_navi_sv li:last-child a {
    padding-right: 0;
  }

  .entry_column .page_navi_sv li.up a::after,
  .entry_column .page_navi_sv li.down a::after {
    position: absolute;
    content: '';
    left: 0;
    top: auto;
  }

  .entry_column .page_navi_sv li.up a::after {
    bottom: auto;
    top: 0;
  }

}

.entry_column .sv_h3 {
  margin: 50px 0 30px;
  padding: 50px 0 0;
  font-size: 2.0rem;
  font-weight: 400;
  text-align: center;
  border: none;
}

.entry_column .icon_support {
  background: url(../images/service_guide/icon_support.png) no-repeat center top / 40px auto;
}

.entry_column .icon_baby {
  background: url(../images/service_guide/icon_baby.png) no-repeat center top / 38px auto;
}

.entry_column .icon_luggage {
  background: url(../images/service_guide/icon_luggage.png) no-repeat center top / 46px auto;
}

.entry_column .icon_make {
  background: url(../images/service_guide/icon_make.png) no-repeat center top / 15px auto;
}

.entry_column .icon_emergency {
  background: url(../images/service_guide/icon_emergency.png) no-repeat center top / 40px auto;
}

.entry_column .icon_smoke {
  background: url(../images/service_guide/icon_smoke.png) no-repeat center top / 57px auto;
}

.entry_column .icon_repair {
  background: url(../images/service_guide/icon_repair.png) no-repeat center top / 48px auto;
}

.entry_column .icon_cleaning {
  background: url(../images/service_guide/icon_cleaning.png) no-repeat center top / 55px auto;
}

.entry_column .icon_order {
  background: url(../images/service_guide/icon_order.png) no-repeat center top / 20px auto;
}

.entry_column .icon_name {
  background: url(../images/service_guide/icon_name.png) no-repeat center top / 40px auto;
}

.entry_column .sv_table {
  margin: 0 -20px 30px;
  border-radius: 10px;
  overflow: hidden;
  width: calc(100% + 40px);
}

.entry_column .sv_shopping_table tr:nth-child(odd) {
  background: #f3f7ef;
}

.entry_column .sv_repair_table tr:nth-child(odd) {
  background: #fcfaf9;
}

.entry_column .sv_order_table tr:nth-child(odd) {
  background: #f7f9fc;
}

.entry_column .sv_help_table tr:nth-child(odd) {
  background: #faf9f4;
}

.entry_column .sv_table th {
  padding: 25px 20px 15px;
  font-size: 1.8rem;
  text-align: left;
  vertical-align: middle;
  position: relative;
  display: block;
}

.entry_column .sv_table th::after {
  position: absolute;
  content: '';
  left: 20px;
  bottom: 0;
  width: calc(100% - 40px);
  height: 1px;
  background: #d7e2cd;
}

.entry_column .sv_table.sv_repair_table th::after {
  background-color: #e6cfca;
}

.entry_column .sv_table.sv_order_table th::after {
  background-color: #a7bfd6;
}

.entry_column .sv_table.sv_help_table th::after {
  background-color: #d9cf9d;
}

.entry_column .sv_table td {
  padding: 25px 20px;
  display: block;
}

@media screen and (min-width: 768px) {

  .entry_column .sv_h3 {
    margin: 70px 0 40px;
    font-size: 2.4rem;
  }

  .entry_column .sv_table {
    margin: 0;
    border-radius: 20px;
    width: 100%;
  }

  .entry_column .sv_table th {
    padding: 30px 30px;
    width: 350px;
    display: table-cell;
  }

  .entry_column .sv_table th::after {
    right: 0;
    left: auto;
    top: 20px;
    width: 1px;
    height: calc(100% - 40px);
  }

  .entry_column .sv_table td {
    padding: 30px 30px;
    display: table-cell;
  }

}

.entry_column .sv_table td dl {
  display: flex;
  align-items: center;
}

.entry_column .sv_table td dl + dl {
  margin: 20px 0 0;
}

.entry_column .sv_table td dt {
  margin: 0 15px 0 0;
  padding: 3px;
  font-size: 1.4rem;
  border-radius: 8px;
  width: 80px;
  text-align: center;
  flex-shrink: 0;
}

.entry_column .sv_table td dt.honkan {
  background: #f6eff5;
  color: #824c7a;
  border: 1px solid #ede0eb;
}

.entry_column .sv_table td dt.mens {
  background: #eef2f6;
  color: #3f6085;
  border: 1px solid #d4dfeb;
}

.entry_column .sv_table td p {
  margin: 15px 0 0;
}

.entry_column .sv_table td h5 {
  margin: 0 0 8px;
  padding: 0;
  font-size: 1.6rem;
  font-weight: 500;
  border: none;
}

.entry_column .sv_table td h5 + p {
  margin: 0 0 15px;
}

.entry_column .sv_table td p.note {
  margin-top: 5px;
}

@media screen and (min-width: 768px) {

  .entry_column .sv_table td dl + dl {
    margin: 15px 0 0;
  }

  .entry_column .sv_table td dt {
    margin: 0 20px 0 0;
  }

  .entry_column .sv_table td p {
    margin: 15px 0 0;
  }

}

.entry_column .unit-separator:has(+ .sv_h3.icon_luggage),
.entry_column .sv_shopping_table + hr + .unit-separator {
  background: url(../images/service_guide/line_green.png) repeat-x 0 0 / 5px auto;
}

.entry_column .sv_repair_table + hr + .unit-separator {
  background: url(../images/service_guide/line_orange.png) repeat-x 0 0 / 5px auto;
}

.entry_column .sv_order_table + hr + .unit-separator {
  background: url(../images/service_guide/line_blue.png) repeat-x 0 0 / 5px auto;
}

.entry_column h4.sv_h4 {
  margin: 35px 0 25px;
  font-size: 1.6rem;
  font-weight: 400;
  display: flex;
  align-items: center;
}

.entry_column h4.sv_h4::after {
  margin-left: 20px;
  content: '';
  display: block;
  flex-grow: 1;
  height: 1px;
  background: #333;
}

.service_guide .entry_column .link_normal {
  margin-bottom: 10px;
}

.sv_payment_box {
  padding: 35px 25px 25px;
  border-radius: 15px;
  background: #f1f1f1;
  text-align: center;
}

.sv_payment_box h3 {
  margin: 0 0 30px;
  padding: 0 0 15px;
  font-size: 2.0rem;
  line-height: 1.3;
  font-weight: 400;
  position: relative;
  border: none;
}

.sv_payment_box h3::after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 30px;
  height: 2px;
  background: #333;
}

.sv_payment_box .box_column > div:first-child {
  border-bottom: 1px solid #d5d5d5;
  flex-shrink: 0;
}

.sv_payment_box .box_column > div:last-child {
  padding: 30px 0 0;
}

@media screen and (min-width: 768px) {

  .sv_payment_box {
    padding: 45px 0 25px;
  }

  .sv_payment_box h3 {
    margin: 0 0 50px;
    padding: 0 0 15px;
    font-size: 2.4rem;
  }

  .sv_payment_box .box_column {
    display: flex;
    justify-content: center;
  }

  .sv_payment_box .box_column > div:first-child {
    padding: 0 50px 0 0;
    border-right: 1px solid #d5d5d5;
    border-bottom: none;
  }

  .sv_payment_box .box_column > div:last-child {
    padding: 0 0 0 50px;
  }

}

.sv_payment_box .box_column h4 {
  margin: 0 0 8px;
  padding: 0;
  font-size: 1.8rem;
  font-weight: 300;
}

.sv_payment_box .box_column h4::before {
  display: none;
}

.sv_payment_box .box_column figure {
  margin: 0 0 20px;
  display: flex;
  justify-content: center;
}

.sv_payment_box .box_column > div:first-child figure {
  justify-content: space-between;
}

.sv_payment_box .box_column figure img {
  width: calc(50% - 8px);
}

.sv_payment_box .box_column p a {
  padding-right: 15px;
  text-decoration: none;
  background: url(../images/common/ico_link.svg) no-repeat right center / 6px auto;
}

@media screen and (min-width: 768px) {

  .sv_payment_box .box_column figure {
    margin: 0 0 30px;
  }

  .sv_payment_box .box_column > div:first-child figure {
    width: 440px;
  }

  .sv_payment_box .box_column figure img {
    width: 210px;
  }

}

.entry_column .sv_credit ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.entry_column .sv_credit li {
  margin: 7px 10px;
  padding: 0;
}

.entry_column .sv_smart li:before,
.entry_column .sv_emoney li:before,
.entry_column .sv_credit li:before {
  display: none;
}

.entry_column .sv_smart li img,
.entry_column .sv_emoney li img,
.entry_column .sv_credit li img {
  zoom: 0.4;
}

.entry_column .sv_emoney ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.entry_column .sv_emoney ul:last-child {
  margin: 0 auto;
}

.entry_column .sv_emoney li {
  margin: 0 15px;
  padding: 0;
}

.entry_column .sv_emoney li.manaca {
  margin: 20px 0 10px;
}

.entry_column .sv_emoney ul:last-child li {
  margin: 5px 10px;
}

.entry_column .sv_smart ul {
  margin: 10px 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.entry_column .sv_smart li {
  margin: 10px;
  padding: 0;
}

@media screen and (min-width: 768px) {

  .entry_column .sv_credit li {
    margin: 0 15px;
  }

  .entry_column .sv_smart li img,
  .entry_column .sv_emoney li img,
  .entry_column .sv_credit li img {
    zoom: 0.5;
  }

  .entry_column .sv_emoney {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .entry_column .sv_emoney ul:last-child {
    margin: 0;
    max-width: 560px;
  }

  .entry_column .sv_emoney li.manaca {
    margin: 20px 20px 0 0;
  }

  .entry_column .sv_emoney ul:last-child li {
    margin: 10px 15px;
  }

  .entry_column .sv_smart ul {
    margin: 25px 0;
  }

  .entry_column .sv_smart li {
    margin: 0 10px;
  }

}

/* -------------------------
	外商お得意様 専用サイト
------------------------- */

.premium-site_sec {
	position: relative;
	text-align: center;
	font-family: "游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝B","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
}

.premium-site_sec .page_logo {
  margin: 0 auto;
  width: 289px;
}

.premium-site_sec::before,
.premium-site_sec::after {
	position: absolute;
	content: '';
	top: 0;
	width: 267px;
	height: 100%;
    z-index: -1;
}

.premium-site_sec::before {
	left: 0;
	background: url(../images/premium_site/img_left.jpg) no-repeat center center / cover;
}

.premium-site_sec::after {
	right: 0;
	background: url(../images/premium_site/img_right.jpg) no-repeat center center;
	background-size: cover;
}

.premium-site_sec .inner {
	margin: 0 267px;
	padding: 40px 20px 90px;
	background: url(../images/premium_site/back_pc.png) no-repeat center center;
	background-size: cover;
}

.premium-site_sec h1 {
	margin: 0 0 15px;
	padding: 35px 0 55px;
	font-size: 46px;
	line-height: 1.6;
	font-weight: 600;
	letter-spacing: 0.1em;
	background: url(../images/premium_site/logo_parts.png) no-repeat center bottom;
}

.premium-site_sec p {
	font-size: 20px;
	letter-spacing: 0.1em;
	line-height: 1.8;
}

.premium-site_sec p.sub {
	font-size: 16px;
	font-weight: bold;
}

.premium-site_sec p.sub a:hover {
	text-decoration: none;
	color: #242424;
}

.premium-site_sec .btn {
	margin: 60px auto 50px;
	max-width: 464px;
}

.premium-site_sec .btn a {
	padding: 28px 0;
	color: #fff;
	font-weight: 600;
	font-size: 25px;
	display: block;
	background: url(../images/premium_site/btn_back.png) no-repeat center center;
	background-size: cover;
	transition: all 0.2s ease;
}

.premium-site_sec .btn a:hover {
	text-decoration: none;
	opacity: 0.7;
}

@media screen and (max-width: 1200px) {

	.premium-site_sec::before,
	.premium-site_sec::after {
		width: 160px;
	}

	.premium-site_sec .inner {
		margin: 0 160px;
	}

}

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

  .premium-site_sec::before,
  .premium-site_sec::after {
    display: none;
  }

  .premium-site_sec .page_logo {
    margin: 0 auto;
    width: 145px;
  }

  .premium-site_sec .page_logo .pc_img {
	  display: none;
  }

  .premium-site_sec .page_logo .sp_img {
	  display: block;
  }

  .premium-site_sec .inner {
	  margin: 0;
	  padding: 15px 0 35px;
	  height: auto;
	  background: url(../images/premium_site/back_sp.png) no-repeat center center;
	  background-size: cover;
  }

  .premium-site_sec h1 {
	  margin: 0 0 15px;
	  padding: 20px 0 30px;
	  font-size: 24px;
	  line-height: 1.6;
	  font-weight: 600;
	  letter-spacing: 0.05em;
	  background: url(../images/premium_site/logo_parts.png) no-repeat center bottom;
    background-size: 50px auto;
  }

  .premium-site_sec p {
	  font-size: 14px;
	  letter-spacing: 0.05em;
  }

  .premium-site_sec p.sub {
	  font-size: 12px;
  }

  .premium-site_sec .btn {
	  margin: 30px 7%;
	  max-width: inherit;
  }

  .premium-site_sec .btn a {
    padding: 15px 0;
    font-weight: bold;
    font-size: 18px;
  }

}

.premium_site_header {
  background-color: #f4f4f4;
}

.premium_site_header h1 {
  text-align: center;
}

.premium_site_index {
  padding: 20px 3.12% 30px;
}

.premium_site_index_list {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 2% 15px;
}

.premium_site_index_list li {
  background-color: #e0e0e0;
}

.premium_site_index_list li a {
  display: block;
  background: #fff;
}

.premium_site_index_list li .txt {
  padding: 10px;
}

.premium_site_index_list li .txt .term {
  margin: 0 0 5px;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.4;
}

.premium_site_index_list li .txt h2 {
  padding-right: 15px;
  font-size: 1.4rem;
  font-weight: 400;
  background: url(../images/common/ico_link.svg) no-repeat right center / 6px auto;
}

@media screen and (min-width: 768px) {

  .premium_site_header h1 {
    max-width: 775px;
    margin: 0 auto;
    padding: 20px;
  }

  .premium_site_index {
    max-width: 1230px;
    margin: 0 auto;
    padding: 40px 30px 0;
  }

  .premium_site_index_list {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 2.44% 30px;
  }

  .premium_site_index_list li a {
    transition: all 0.2s ease;
    position: relative;
    top: 0;
    height: 100%;
  }

  .premium_site_index_list li a:hover {
    top: -4px;
  }

  .premium_site_index_list li a:hover h2 {
    color: var(--site-color);
    background: url(../images/common/ico_link_blue.svg) no-repeat right center / 6px auto;
  }

  .premium_site_index_list li .txt {
    padding: 20px;
  }

  .premium_site_index_list li .txt .term {
    margin: 0 0 10px;
    font-size: 1.5rem;
  }

}

.premium_site_entry_header {
  background-color: #f4f4f4;
  padding: 20px 1.56%;
}

.premium_site_entry_header .inner {
}

.premium_site_entry_header figure {
  margin: 0 0 20px;
}

.premium_site_header_text h1 {
  margin: 0 0 10px;
  font-size: 2.0rem;
  line-height: 1.3;
  font-weight: 500;
}

.premium_site_header_text .term {
  margin: 0 0 5px;
  font-size: 1.4rem;
}

.premium_site_header_text .building_column {
  margin: 0 0 5px;
  display: flex;
}

.premium_site_header_text .building {
  margin: 0 10px 0 0;
  font-size: 1.4rem;
}

.premium_site_header_text .floor {
  font-size: 1.4rem;
}

@media screen and (min-width: 768px) {

  .premium_site_entry_header {
    padding: 30px .8%;
  }

  .premium_site_entry_header .inner {
    margin: 0 auto;
    max-width: 1230px;
    display: flex;
    align-items: center;
  }

  .premium_site_entry_header figure {
    margin: 0 30px 0 0;
    width: 390px;
    flex-shrink: 0;
  }

  .premium_site_header_text h1 {
    margin: 0 0 15px;
    font-size: 2.2rem;
  }

  .premium_site_header_text .term {
    margin: 0 0 10px;
    font-size: 1.6rem;
  }

  .premium_site_header_text .building_column {
    margin: 0 0 10px;
  }

  .premium_site_header_text .building {
    margin: 0 15px 0 0;
    font-size: 1.6rem;
  }

  .premium_site_header_text .floor {
    font-size: 1.6rem;
  }

}

/* -------------------------
	ヒューデオーナーズ専用サイト
------------------------- */

.page_index.fude .fude_entry {
	font-family: "Noto Serif JP", serif;
	font-weight: 300;
}

.fude_sec {
	position: relative;
	text-align: center;
    color: #fff;
	font-family: "Noto Serif JP", serif;
	font-weight: 300;
}

.fude_sec .page_logo {
	margin: 0 auto;
	padding: 0 0 30px;
	line-height: inherit;
	width: 273px;
	position: relative;
}

.fude_sec .page_logo::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	bottom: 0;
	width: 100px;
	height: 1px;
	background: #fff;
	margin: auto;
}

.fude_sec::before,
.fude_sec::after {
	position: absolute;
	content: '';
	top: 0;
	width: 267px;
	height: 100%;
    z-index: -1;
}

.fude_sec::before {
	left: 0;
	background: url(../images/fude/index_left_img.jpg) no-repeat center center / cover;
}

.fude_sec::after {
	right: 0;
	background: url(../images/fude/index_right_img.jpg) no-repeat center center;
	background-size: cover;
}

.fude_sec .inner {
	margin: 0 267px;
	padding: 115px 20px;
	background: url(../images/fude/index_back_pc.png) no-repeat center center;
	background-size: cover;
}

.fude_sec h1 {
	margin: 40px 0 35px;
	font-size: 4.6rem;
	line-height: 1.6;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.fude_sec p {
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
}

.fude_sec p a {
	color: #fff;
}

.fude_sec .btn {
	margin: 60px auto;
	max-width: 465px;
	background: #fff;
}

.fude_sec .btn a {
	padding: 35px 0;
	color: #fff;
	font-weight: 600;
	font-size: 2.6rem;
	display: block;
	transition: all 0.2s ease;
	background: #9d8320;
}

.fude_sec .btn a:hover {
	text-decoration: none;
	opacity: 0.7;
}

@media screen and (max-width: 1200px) {

	.fude_sec::before,
	.fude_sec::after {
		width: 160px;
	}

	.fude_sec .inner {
		margin: 0 160px;
	}

}

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

  .fude_sec::before,
  .fude_sec::after {
    display: none;
  }

  .fude_sec .page_logo {
    margin: 0 auto;
    width: 175px;
	padding-bottom: 20px;
  }

	.fude_sec .page_logo::after {
		width: 50px;
	}

  .fude_sec .page_logo .pc_img {
	  display: none;
  }

  .fude_sec .page_logo .sp_img {
	  display: block;
  }

  .fude_sec .inner {
	  margin: 0;
	  padding: 55px 20px;
	  height: auto;
	  background: url(../images/fude/index_back_sp.png) no-repeat center center;
	  background-size: cover;
  }

  .fude_sec h1 {
	  margin: 25px -20px 15px;
	  font-size: 2.6rem;
	  font-weight: 600;
	  letter-spacing: 0.05em;
  }

	.fude_sec h1 + p {
		text-align: center;
	}

  .fude_sec p {
	  font-size: 1.4rem;
	  letter-spacing: 0.05em;
	  text-align: left;
  }

  .fude_sec .btn {
	  margin: 40px 0;
	  max-width: inherit;
  }

  .fude_sec .btn a {
    padding: 17px 0;
    font-size: 1.6rem;
  }

}

.fude_entry_header {
	color: #fff;
	background: url(../images/fude/header_back_sp.png) no-repeat center center / cover;
}

.fude_entry_header .inner {
	margin: 0 20px;
	padding: 60px 0;
}

.fude_entry_header h1 {
	margin: 0 auto 35px;
	width: 212px;
}

.fude_entry_header p {
	font-size: 1.6rem;
	line-height: 1.8;
}

@media screen and (min-width: 768px) {

	.fude_entry_header {
		text-align: center;
		background: url(../images/fude/header_back_pc.png) no-repeat center center / cover;
	}

	.fude_entry_header .inner {
		margin: 0 auto;
		padding: 80px 0 100px;
		width: min(95%, 940px);
	}

	.fude_entry_header h1 {
		margin: 0 auto 40px;
		width: 300px;
	}

	.fude_entry_header p {
		font-size: 1.7rem;
	}

}

.fude_entry_header .box {
	margin: 30px auto 0;
	padding: 20px;
	border: 1px solid #fff;
	text-align: center;
}

.fude_entry_header .box h3 {
	margin: 0 0 15px;
	font-size: 1.4rem;
}

.fude_entry_header .box h4 {
	margin: 0 0 5px;
	font-size: 1.6rem;
	line-height: 1.6;
}

.fude_entry_header .box p.tel {
	margin: 0 0 15px;
	font-size: 3.4rem;
	line-height: 1.2;
}

.fude_entry_header .box p.tel a {
	color: #fff;
}

.fude_entry_header .box dl {
	display: flex;
	justify-content: center;
	font-size: 1.4rem;
}

.fude_entry_header .box dt {
	margin-right: 5px;
	padding: 2px 12px 3px;
	background: url(../images/fude/kakko_left_w.png) no-repeat 0 center / auto 100%,
				url(../images/fude/kakko_right_w.png) no-repeat right center / auto 100%;
}

.fude_entry_header .box dd {
	margin-left: 5px;
}

@media screen and (min-width: 768px) {

	.fude_entry_header .box {
		padding: 30px;
		max-width: 590px;
	}

	.fude_entry_header .box h3 {
		margin: 0 0 30px;
	}

	.fude_entry_header .box h4 {
		margin: 0 0 10px;
		font-size: 1.7rem;
	}

	.fude_entry_header .box p.tel {
		font-size: 3.8rem;
	}

	.fude_entry_header .box dt {
		margin-right: 10px;
		padding: 2px 15px 3px;
	}

	.fude_entry_header .box dd {
		margin-left: 10px;
	}

}

.fude_entry_header .fude_navi {
	margin: 40px 0 0;
}

.fude_entry_header .fude_navi ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.fude_entry_header .fude_navi li {
	width: calc(50% - 5px);
	background: #fff;
}

.fude_entry_header .fude_navi li a {
	padding: 18px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 1.2rem;
	background: #9d8320 url(../images/fude/arrow.png) no-repeat right 10px center / 12px auto;
}

@media screen and (min-width: 768px) {

	.fude_entry_header .fude_navi {
		margin: 50px 0 0;
	}

	.fude_entry_header .fude_navi ul {
		gap: 20px;
	}

	.fude_entry_header .fude_navi li {
		width: calc(33.3333% - 14px);
	}

	.fude_entry_header .fude_navi li a {
		padding: 28px 0;
		font-size: 1.6rem;
		background: #9d8320 url(../images/fude/arrow.png) no-repeat right 30px center / 17px auto;
		transition: all 0.2s ease;
	}

	.fude_entry_header .fude_navi li a:hover {
		opacity: 0.7;
	}

}

.fude_entry_body .inner {
	margin: 0 20px;
}

.fude_entry_column {
	margin: 80px 0 0;
}

.fude_entry_column {
	display: flex;
	flex-direction: column;
}

.fude_entry_column .fude_entry_column_text {
	display: contents;
}

.fude_entry_column figure {
	order: 2;
}

@media screen and (min-width: 768px) {

	.fude_entry_body .inner {
		margin: 0 auto;
		padding: 0;
		width: min(95%, 940px);
	}

	.fude_entry_column {
		margin: 140px 0 0;
	}

	.fude_entry_column {
		flex-direction: inherit;
		justify-content: space-between;
	}

	.fude_entry_column:nth-child(odd) figure {
		order: 1;
	}

	.fude_entry_column:nth-child(odd) .fude_entry_column_text {
		order: 2;
	}

	.fude_entry_column .fude_entry_column_text {
		width: 50%;
		display: block;
	}

	.fude_entry_column figure {
		width: 45%;
	}

}

.fude_entry_column_text h2 {
	margin: 0 0 40px;
	padding: 0 0 20px;
	font-size: 2.0rem;
	color: #9d8320;
	border-bottom: 1px solid #9d8320;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	order: 1;
}

.fude_entry_column_text h2::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: -1.5px;
	width: 50px;
	height: 2px;
	background: #9d8320;
}

.fude_entry_column_text h2 span {
	font-size: 1.2rem;
}

.fude_entry_column_text_box {
	order: 3;
}

.fude_entry_column_text h3 {
	margin: 30px 0 25px;
	font-size: 2.0rem;
}

.fude_entry_column_text p {
	font-size: 1.6rem;
	line-height: 1.8;
}

@media screen and (min-width: 768px) {

	.fude_entry_column_text h2 {
		margin: 0 0 50px;
		padding: 0 0 18px;
		font-size: 2.4rem;
	}

	.fude_entry_column_text h2 span {
		font-size: 1.4rem;
	}

	.fude_entry_column_text h3 {
		margin: 0 0 40px;
		font-size: 2.4rem;
	}

}

.fude_entry_column_text ul {
	margin: 20px 0 0;
}

.fude_entry_column_text li {
	margin: 0 0 12px;
	padding: 0 0 0 20px;
	font-size: 1.6rem;
	position: relative;
}

.fude_entry_column_text li::before {
	position: absolute;
	content: '';
	left: 0;
	top: 12px;
	width: 15px;
	height: 1px;
	background: #9d8320;
}

.fude_entry_column_text dl {
	margin: 5px 0 0;
	font-size: 1.6rem;
}

.fude_entry_column_text dt {
	line-height: 1.8;
}

.fude_entry_column_text dd {
	line-height: 1.8;
}

@media screen and (min-width: 768px) {

	.fude_entry_column_text ul {
		margin: 35px 0 0;
	}

}

.fude_entry_column_partner {
	background: #f8f8f8;
}

.fude_entry_column_partner .inner {
	padding: 70px 20px;
	display: flex;
	flex-direction: column;
}

.fude_entry_column_img {
	order: 1;
}

.fude_entry_column_img h5 {
	margin: 20px 0 15px;
	font-size: 1.2rem;
	text-align: center;
}

.fude_entry_column_img ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 7px;
}

.fude_entry_column_img li {
	width: calc(33.3333% - 5px);
}

@media screen and (min-width: 768px) {

	.fude_entry_column_partner .inner {
		margin: 0 auto;
		padding: 100px 0 90px;
		width: min(95%, 940px);
		justify-content: space-between;
		flex-direction: inherit;
	}

	.fude_entry_column_img {
		width: 45%;
	}

	.fude_entry_column_img figure {
		width: 100%;
	}

	.fude_entry_column_partner .fude_entry_column_text {
		order: 2;
	}

	.fude_entry_column_img h5 {
		margin: 25px 0 15px;
		font-size: 1.6rem;
	}

	.fude_entry_column_img ul {
		gap: 10px;
	}

	.fude_entry_column_img li {
		width: 133px;
	}

}

.fude_entry_contact {
	margin: 50px 20px 80px;
	border: 1px solid #000;
	text-align: center;
	padding: 20px;
}

.fude_entry_contact h3 {
	margin: 0 0 15px;
	font-size: 1.2rem;
}

.fude_entry_contact h4 {
	margin: 0 0 5px;
	font-size: 1.6rem;
	line-height: 1.8;
}

.fude_entry_contact p.tel {
	margin: 0 0 10px;
	font-size: 3.4rem;
}

@media screen and (min-width: 768px) {

	.fude_entry_contact {
		margin: 100px auto 90px;
		max-width: 590px;
		padding: 30px;
	}

	.fude_entry_contact h3 {
		margin: 0 0 25px;
		font-size: 1.4rem;
	}

	.fude_entry_contact h4 {
		font-size: 1.6rem;
	}

	.fude_entry_contact p.tel {
		font-size: 3.8rem;
	}

}

.fude_entry_contact dl {
	display: flex;
	justify-content: center;
	font-size: 1.4rem;
}

.fude_entry_contact dt {
	margin-right: 10px;
	padding: 2px 12px 3px;
	background: url(../images/fude/kakko_left.png) no-repeat 0 center / auto 100%,
				url(../images/fude/kakko_right.png) no-repeat right center / auto 100%;
}

.fude_entry_contact dd {
	margin-left: 10px;
}

@media screen and (min-width: 768px) {

	.fude_entry_contact dt {
		padding: 2px 15px 3px;
	}

}

/* -----------------
	カラム設定
----------------- */

.entry-container {
  margin-left: 0;
  margin-right: 0;
}

.column_clear {
  clear: both;
}

.column2_left_sp,
.column2_right_sp,
.column2_left,
.column2_right {
  margin-bottom: 20px;
}

.column2_left_sp {
  margin-right: 20px;
  float: left;
  width: calc(50% - 10px);
}

.column2_right_sp {
  float: left;
  width: calc(50% - 10px);
}

.column3_left,
.column3_center,
.column3_right {
  margin-bottom: 20px;
}

.column-media-left,
.column-video-left,
.column-media-right,
.column-video-right {
  float: none;
}

.entry_column [class*="column-media"],
.entry_column [class*="column-video"] {
  margin-bottom: 30px;
}

.entry_column [class*="column2_"] [class*="column-media"],
.entry_column [class*="column3_"] [class*="column-video"] {
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {

  .column2_left_sp,
  .column2_left {
    margin-right: 40px;
    float: left;
    width: 530px;
  }

  .column2_right_sp,
  .column2_right {
    float: left;
    width: 530px;
  }

  .column3_left {
    margin-right: 40px;
    float: left;
    width: 340px;
  }

  .column3_center {
    margin-right: 40px;
    float: left;
    width: 340px;
  }

  .column3_right {
    float: left;
    width: 340px;
  }

  .column2_left_sp,
  .column2_right_sp,
  .column2_left,
  .column2_right {
    margin-bottom: 40px;
  }

  .column2_left_nomargin {
    margin-right: 20px;
    float: left;
    width: calc(50% - 10px);
  }

  .column2_right_nomargin {
    float: left;
    width: calc(50% - 10px);
  }

  .column3_left,
  .column3_center,
  .column3_right {
    margin-bottom: 40px;
  }

  .column-media-left,
  .column-video-left {
    margin-right: 40px;
    float: left;
  }

  .column-media-right,
  .column-video-right {
    margin-left: 40px;
    float: right;
  }

  .entry_column [class*="column-media"],
  .entry_column [class*="column-video"] {
    margin-bottom: 40px;
  }

  .entry_column [class*="column2_"] .column-media-auto,
  .entry_column [class*="column2_"] .column-media-left,
  .entry_column [class*="column2_"] .column-media-center,
  .entry_column [class*="column2_"] .column-media-right,
  .entry_column [class*="column3_"] .column-media-auto,
  .entry_column [class*="column3_"] .column-media-left,
  .entry_column [class*="column3_"] .column-media-center,
  .entry_column [class*="column3_"] .column-media-right,
  .entry_column [class*="column2_"] .column-video-auto,
  .entry_column [class*="column2_"] .column-video-left,
  .entry_column [class*="column2_"] .column-video-center,
  .entry_column [class*="column2_"] .column-video-right,
  .entry_column [class*="column3_"] .column-video-auto,
  .entry_column [class*="column3_"] .column-video-left,
  .entry_column [class*="column3_"] .column-video-center,
  .entry_column [class*="column3_"] .column-video-right {
    margin-bottom: 20px;
  }

}

/*	footer
------------------------*/

.footer {
    margin: 55px 0 0;
	padding: 35px 0;
	background: #333;
	text-align: center;
}

.fude .footer,
.fude-owners-club .footer,
.premium-site .footer,
.top .footer {
      margin-top: 0;
}

.footer .footer_link {
	display: none;
}

.copyright {
	font-size: 1.0rem;
	font-weight: 400;
	color: #fff;
}

@media screen and (min-width: 768px) {

	.footer {
        margin: 130px 0 0;
		padding: 55px 50px;
	}

    .fude .footer,
    .fude-owners-club .footer,
    .premium-site .footer,
    .tomonokai .footer {
      margin-top: 0;
    }

	.footer .footer_link {
		margin: 0 0 15px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.footer .footer_link li {
		margin: 0 15px 20px;
		font-size: 1.6rem;
		font-weight: 300;
	}

	.footer .footer_link li a {
		padding: 0 0 7px;
		color: #fff;
	}

	.copyright {
		font-size: 1.2rem;
	}

}

@media screen and (min-width: 768px) {

	.hv_line {
		position: relative;
		display: block;
	}

	.hv_line::before {
		position: absolute;
		content: '';
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		width: 0;
		height: 1px;
		background: #fff;
		transition: width 0.25s ease 0s;
	}

	.hv_line:hover::before {
		width: 100%;
	}

}

/* -----------------------
　　　404
----------------------- */

#notfound {
	color: #373228;
}

#wrapper_404 {
	margin: 10px;
	padding: 30px;
	width: auto;
    background-image: none;
}

#box_404 {
	border-radius: 5px;
}

.inner_left404 {
    margin-right: 0;
    margin-bottom: 40px;
	text-align: left;
}

.inner_left404 img {
	margin: 0 auto;
	width: 200px;
}

.inner_right404 {
    font-size: 1.4rem;
}

.inner_right404 h1 {
    font-size: 2.0rem;
    margin-bottom: 20px;
	text-align: left;
}

.inner_right404 p {
    margin-bottom: 10px;
}

.inner_right404 p a {
	text-decoration: underline;
}

#copyright_404 {
    display: block;
	margin: 10px 10px 0;
	text-align: center;
	font-size: 1.2rem;
}

.inner_left404 .site_logo_gold {
	margin: 0 10px 0 0;
	width: 40px;
}

.inner_left404 .site_logo_text {
	width: 130px;
}

.inner_left404 a {
	display: flex;
	align-items: center;
}

@media screen and (min-width: 600px) {

	#notfound {
	    padding-top: 50px;
	}

	#wrapper_404 {
		margin: 0 auto;
		padding: 60px 60px 0 70px;
		width: 1100px;
	}

	#box_404 {
		margin-bottom: 40px;
		padding: 0;
		display: flex;
		align-items: center;
	}

	.inner_left404 {
	    margin-right: 50px;
	    margin-bottom: 0;
	    text-align: left;
	}

	.inner_left404 img {
		margin: 0 auto;
		width: 250px;
		text-align: center;
	}

	.inner_right404 {
	    text-align: left;
	    font-size: 16px;
	}

	.inner_right404 h1 {
	    font-size: 24px;
	    margin-bottom: 20px;
	    text-align: left;
	}

	.inner_left404 .site_logo_gold {
		margin: 0 10px 0 0;
		width: 40px;
	}

}

@media screen and (min-width: 600px) and (max-width: 768px) {

	#wrapper_404 {
		padding: 60px 20px;
		width: 600px;
	}

	#box_404 {
		margin-bottom: 20px;
	}

	.inner_left404 {
	    margin-right: 30px;
	}

	.inner_left404 img {
		width: 200px;
	}

	.inner_right404 {
	    text-align: left;
	    font-size: 14px;
	}

	.inner_right404 h1 {
	    font-size: 20px;
	}

}

.js_notStyle {
  width: auto;
}

/* -----------------------
　　　admin
----------------------- */

#adminBox .acms-admin-btn-admin {
	padding: 5px;
	font-size: 1.2rem;
}

#adminBox {
    margin-bottom: 0 !important;
    height: 80px;
    width: 100%;
    z-index: 100;
}

.acms-admin-btn-action-group th,
.acms-admin-btn-action-group td {
	padding-right: 10px !important;
	background-image: none !important;
	font-size: 1.4rem !important;
	white-space: nowrap !important;
}

.acms-admin-form .entryFormLiteEditor, .acms-admin-form textarea,
.acms-admin-btn,
.acms-admin-form select {
	font-size: 14px;
}

.lg_5 #adminBox,
.lg_4 #adminBox,
.lg_3 #adminBox,
.lg_2 #adminBox,
.lg_1 #adminBox {
	position: fixed;
	top: 0;
}

@media screen and (min-width: 768px) {

	#adminBox .acms-admin-btn-admin {
		padding: 10px;
		font-size: 1.2rem;
	}

	#adminBox {
	    height: 100px;
	}

}

.titleWrapper {
	margin: 0 auto;
	padding: 40px 60px 10px;
	max-width: 1200px;
	background-color: #f7f7f7;
}

.titleWrapper h2 {
	margin: 0 0 30px 0;
	font-size: 3.0rem;
}

.custom_field_edit h3 {
	padding: 20px 10px;
	font-size: 1.8rem;
	font-weight: bold;
}

.entryFormLiteEditor a {
	text-decoration: underline;
	color: #0075DE;
}

.entryFormLiteEditor em {
  color: #c7352d;
  font-weight: bold;
  font-style: normal;
}

.entryFormLiteEditor span.bold,
.entryFormLiteEditor strong {
  font-weight: bold;
}

.entryFormLiteEditor span.p_min {
	font-size: 1.2rem;
}

.js-lazy-load {
	transform: translateY(0);
	transition: opacity 0.3s cubic-bezier(0.5, 0, 0, 1);
}


.entryFormSelectBottom {
  max-width: inherit !important;
}


.entryFormColumn .entryFormColumnHead .entryFormColumnHeadLayoutBox input,
.entryFormColumn .entryFormColumnHead .entryFormColumnHeadLayoutBox select {
	max-width: inherit;
}

@media (min-width: 768px) {
  .acms-admin-inline-btn .acms-admin-btn-admin,
  .formEntryActionUnit .acms-admin-btn-admin {
    font-size: 14px;
  }

  .comPostWrapper .acms-admin-btn-admin {
    font-size: 16px;
  }
}

#ui-datepicker-div {
  z-index: 100017 !important;
}
