/*
Theme Name:sumosumoテンプレート
*/
@charset "utf-8";

:root {
	--main-color: #CA0011;
	--main-light-color: #CA00111a;
	--main-heighlight-color: #CA00110a;
	--sub-color: #CA0011;
	--sub-light-color: #CA00111a;
	--point-color: #CA0011;
	--background-color: #FAFAFA;
	--border-color: #CFD8DC;
	--dark-color: #263238;
	--bg-light-gray: #ECEFF1;
	--bg-dark-transparent: rgba(38, 50, 56, .9);
	--strong-color: #EF5350;
	--gray-text: #78909C;
	--light-text-color: #455A64;
	--box-shadow: 0 3px 6px rgba(38, 50, 56, .18);
	--rank1: #9D8E30;
	--rank2: #5F89B8;
	--rank3: #9A7A56;
	--rank-under: #78909C;
	--sns-line: #06C755;
	--default-font:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	--sub-font: "Noto Sans JP", sans-serif;
	--point-font: Arial, Helvetica Neue, Helvetica, sans-serif;
}

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, a,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, textarea, button, input {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-sizing: border-box;
	outline: 0;
	font-size  : 14px;
	color      : var(--dark-color);
	line-height: 1.5;
	vertical-align: baseline;
}
body {
	background-color: var(--background-color);
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display: block;
}
ul,
ol {
	list-style: none;
}
blockquote,
q {
	quotes:none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}
a {
	background: transparent;
	vertical-align: baseline;
	text-decoration: none;
}
a:hover,
button:hover {
	transition: 0.4s;
	opacity: .7;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
ins {
	background-color: #ff9;
	color: var(--text-color);
	text-decoration: none;
}
mark {
	background-color: #ff9;
	font-style: italic;
	font-weight: bold;
}
del {
	text-decoration:  line-through;
}
abbr[title],
dfn[title]{
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
input,
select {
	vertical-align: middle;
}
button {
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	vertical-align: top;
}
summary {
	display: block;
	cursor: pointer;
}
summary::-webkit-details-marker  {
	display: none;
}
svg {
	fill: var(--dark-color);
	speak: none;
}
.ui-datepicker-prev svg,
.ui-datepicker-next svg {
	min-width: 10px;
	width: 10px;
	height: 24px;
	margin-left: 7px;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}
::placeholder {
	color: var(--gray-text);
}
.clearfix {
	display: block;
}
.clearfix:after {
	content: url(/images/clearfix.gif);
	display: block;
	clear: both;
	height: 0;
}
/*-------------------------------------------------------------------------
共通 UI MD
-------------------------------------------------------------------------*/

:root {
	--screen-size: 1140px;
	--full-screen: calc(50% - max(50%, 50vw));
	--main-color: #1B9D57;
	--main-blur-cover-color: rgb(27 157 87 / 40%);
	--main-light-color: rgba(27, 157, 87, .1);
	--sub-color: #1E7ABC;
	--sub-light-color: rgba(30, 122, 188, .1);
	--point-color: #EF7B50;
	--border-color: #CFD8DC;
	--dark-border-color: #78909C;
	--dark-color: #263238;
	--bg-light-gray: #ECEFF1;
	--bg-dark-transparent: rgba(38, 50, 56, .9);
	--strong-color: #EF5350;
	--gray-text: #78909C;
	--light-text-color: #455A64;
	--more-light-text-color: #78909C;
	--box-shadow: 0 3px 6px rgba(38,50,56,.18);
	--rank1: #9D8E30;
	--rank2: #5F89B8;
	--rank3: #9A7A56;
	--rank-under: #78909C;
	--white:#ffffff;
	--text-color:#333333;
	--text-subcolor:#707070;
	--sns-line: #06C755;
	--main-font-color: #ffffff;
	--sub-font-color: #ffffff;
}

/*-------------------------------------------------------------------------
フォントサイズ
-------------------------------------------------------------------------*/

:root{
	--content-ttl:30px;
	--strong-text:25px;
	--title-large:20px;
	--default-txt:16px;
	--midium-txt:14px;
	--small-txt:13px;
}

/*-------------------------------------------------------------------------
装飾
-------------------------------------------------------------------------*/

:root {
	--content_shadow: 0px 0px 8px rgba(0, 0, 0, .16);
	--icon_shadow: 0px 2px 3px rgba(0, 0, 0, .16);
}

.is-center {
	text-align: center;
}
.ui-arw {
	width: 8px;
	height: 8px;
	fill: var(--light-text-color);
}

/* 画像
--------------------------- */
.ui-fit-img,
.ui-radius-img,
.ui-circle-img {
	overflow: hidden;
}
.ui-fit-img img,
.ui-radius-img img,
.ui-circle-img img {
	width: 100%;
	height: 100%;
	object-fit     : cover;
	object-position: center;
}
.ui-contain-img img {
	overflow: hidden;
	background-color: #eceff1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}
.ui-radius-img { border-radius: 8px;}
.ui-circle-img { border-radius: 50%;}

.ui-contain-img {
	background-color: var(--bg-light-gray);
}
.ui-blur-img {
	position: relative;
}
.ui-blur-img:after {
	content: "";
	width: 100%;
	height: 100%;
	backdrop-filter: blur(30px);
	position: absolute;
	top     : 0;
	left    : 0;
	z-index : 0;
}
.ui-blur-img img {
	position: relative;
	z-index : 1;
}

/* LAYOUT
--------------------------- */
.ui-full-screen {
	margin-inline: var(--full-screen);
	margin-bottom: 80px;
}
.ui-freehtml {
	margin: 0 auto;
}
.ui-fit-img.ui-full-screen {
	position: relative;
}
.ui-fit-img.ui-full-screen img.cover_img {
	object-fit: contain;
	position: absolute;
	top: 0;
	left: 0;
}
.ui-fit-img.ui-full-screen img.fit_img {
	filter: blur(9px);
}
.ui-section {
	margin-block: 80px;
}
.ui-section:first-child {
	margin-block-start: 0;
}
.ui-narrow-section {
	width: 800px;
	margin-inline: auto;
}
.ui-heading {
	background-color: #fff;
	padding: 40px 0 0;
	position: relative;
}
.ui-fixed-bottom {
	position: sticky;
	bottom: 0;
}
.ui-scroll {
	scrollbar-width: none;
}
.ui-scroll::-webkit-scrollbar {
	display: none;
}
.l-main {
    width: 100%;
    padding-bottom: 0;
}

/* 見出し
--------------------------- */
[class*="ui-title--"]{
	margin: 0 0 10px;
	font-weight: bold;
}
.ui-title--center {
	font-size: 26px;
	text-align: center;
}
.ui-title--center.is-small {
	font-size: 18px;
}
.ui-title--left {
	font-size: 18px;
}

/* BUTTON
--------------------------- */
[class*="ui-btn--"],
[class*="ui-sub-btn--"],
[class*="ui-tag-btn--"]{
	display    : flex;
	align-items: center;
	border-radius: 6px;
	line-height: 1.1;
}
[class*="ui-btn--"]{
	font-weight: bold;
	color      : #fff;
}
[class*="ui-btn--"]:disabled {
	opacity: .3;
}
[class*="ui-btn--"].is-center {
	justify-content: center;
}
[class*="ui-sub-btn--"]{
	border: 1px solid var(--border-color);
	min-height: 34px;
	justify-content: center;
	padding: 12px 0 10px;
	font-size: 14px;
	background-color: #fff;
}
[class*="ui-tag-btn--"]{
	border: 1px solid var(--border-color);
	min-height: 34px;
	justify-content: center;
	padding: 9px 12px;
	font-size: 13px;
	background-color: #fff;
}
.ui-btn--flat_main {
	background-color: var(--main-color);
	color: var(--main-font-color);
}
.ui-btn--flat_sub  {
	background-color: var(--sub-color);
	color: var(--sub-font-color);
}
.ui-btn--flat_main svg {
	fill: var(--main-font-color);
}
.ui-btn--flat_sub svg {
	fill: var(--sub-font-color);
}
.ui-btn--round,
.ui-sub-btn--round {
	border-radius: 50px;
}
.ui-btn--material,
.ui-sub-btn--material {
	border-radius: 4px;
	box-shadow: 0 4px 5px rgba(38,50,56,.15);
}
.ui-section-btn {
	width: 200px;
	margin: 0 auto;
	padding-left : 16px;
	padding-right: 16px;
	color: var(--light-text-color);
}
.ui-contact-line-btn {
	background-color: #06C755;
	margin-bottom: 10px;
	display        : flex;
	gap            : 5px;
	align-items    : center;
	justify-content: center;
	height: 44px;
	font-size  : 15px;
	font-weight: bold;
	color      : #fff;
	line-height: 1;
}
.ui-contact-btn {
	background-color: var(--point-color);
	display        : flex;
	gap            : 5px;
	align-items    : center;
	justify-content: center;
	height: 44px;
	font-size  : 15px;
	font-weight: bold;
	color      : var(--sub-font-color);
	line-height: 1;
}
.ui-contact-apply-btn {
	background-color: var(--main-color);
	margin-top: 10px;
	display: flex;
	gap: 5px;
	align-items: center;
	justify-content: center;
	height: 44px;
	font-size: 15px;
	font-weight: bold;
	color: var(--main-font-color);
	line-height: 1;
}
[class*="ui-contact-btn--"] span {
	background-color: rgba(38, 50, 56, .2);
	border-radius: 50px;
	margin: 0 3px 0 0;
	padding: 2px 10px;
	font-size: 10px;
	color    : #fff;
}
[class*="ui-contact-btn--"] svg {
	width: 16px;
	height: 16px;
	fill: #fff;
}

/* お気に入りボタン  */
.ui-favorite-btn svg {
	width: 32px;
	height: 30px;
	fill: var(--border-color);
	stroke-width: 1px;
	stroke: var(--light-text-color);
	stroke-linecap: round;
	stroke-opacity: .5;
	paint-order: stroke;
}
.ui-favorite-btn.is-checked svg {
	fill: var(--strong-color);
}

/* 新着のNEW  */
.ui-new {
	text-transform: uppercase;
	font-size  : 15px;
	font-weight: bold;
	color      : var(--strong-color);
}


/* ログインボタン  */
.ui-login-regist-btn {
	background-color: var(--point-color);
	height: 54px;
}
.ui-login-regist-btn span {
	font-weight: normal;
	color      : inherit;
}

/* TEXT
--------------------------- */
.ui-discription {
	margin: 0 0 10px;
	text-align: center;
}
.ui-small-text {
	font-size: 13px;
}
.ui-most-small-text {
	font-size: 10px;
}
.is-center {
	text-align: center;
}
.ui-bkn-label {
	background-color: #fff;
	border-radius: 50px;
	border: 1px solid var(--border-color);
	padding: 3px 7px 1px;
	font-size: 10px;
	color    : #78909C;
	line-height: 1;
}
.ui-category {
	background-color: var(--bg-light-gray);
	display: inline-block;
	padding: 1px 6px;
	font-size: 13px;
	color    : var(--gray-text);
}
.blog-mv__category.ui-category {
	padding: 2px 6px;
	color: #fff;
	background-color: var(--dark-color);
}

/* #
--------------------------- */
.ui-overlay {
	width: 100%;
	height: 100%;
	background-color: var(--bg-dark-transparent);
	position: fixed;
	top     : 0;
	left    : 0;
	z-index: 9;
	opacity: 0;
	visibility: hidden;
	backdrop-filter: blur(10px);
}
.ui-overlay.is-show {
	opacity: 1;
	visibility: visible;
}


/* TAB
--------------------------- */
.md-tab {
	display        : flex;
	align-items: center;
	justify-content: center;
	padding: 0px 20px 0;
	box-shadow: 0 4px 5px rgba(38,50,56,.15);
}
.md-tab__items {
	width: 168px;
	padding: 10px 0 10px;
	position: relative;
	font-size  : 15px;
	font-weight: bold;
	color      : var(--light-text-color);
	text-align: center;
}
.md-tab__items[aria-selected=true]:after {
	content: "";
	width: 100%;
	height: 3px;
	background-color: var(--main-color);
	position: absolute;
	bottom  : 0;
	left    : 0;
}
.md-tab__items[aria-selected=true][data-tab="rent"]:after {
	background-color: var(--sub-color);
}
.search__rent .md-tab__items[aria-selected=true]:after{
	background-color: var(--sub-color);
}

/* 検索窓
--------------------------- */
.md-freeword {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 0;
	margin-bottom: 20px;
}
.md-freeword-search-style {
	background-color: #fff;
	border: 1px solid var(--border-color);
	border-radius: 4px;
	display: flex;
	padding: 0;
	margin-bottom: 0;
}
.md-freeword-rent-color {
	background-color: var(--sub-color);
}
.md-freeword-buy-color {
	background-color: var(--main-color);
}
.search_txt{
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	margin-right: 23px;
}
.md-freeword-rent-color .search_txt {
	color: var(--sub-font-color);
}
.md-freeword-buy-color .search_txt {
	color: var(--main-font-color);
}
.search__freeword{
	width: 624px;
	display: flex;
	align-items: center;
	background-color: #fff;
	border: 1px solid var(--border-color);
	border-radius: 4px;
}
.md-freeword__switch {
	padding: 0 15px;
	display    : flex;
	gap        : 4px;
	align-items: center;
	background-color: var(--bg-light-gray);
	height: 43px;
}
.md-freeword__switch svg {
	width: 8px;
	height: 8px;
	fill: var(--dark-color);
}
.md-freeword input[type="text"] {
	height: 44px;
	border: none;
	flex: 1;
}
.md-freeword__submit svg {
	width: 20px;
	height: 20px;
	fill: var(--dark-color);
}
.md-freeword__submit {
	padding: 0 10px;
}

/* 物件
--------------------------- */
.md-bkn-wide {
	display        : flex;
	gap            : 30px;
	align-items    : center;
	justify-content: center;
}
.md-bkn-wide__items {
	width: 204px;
	counter-increment: rank;
	position: relative;
}
.md-bkn-wide__img {
	height: 153px;
	margin: 0 0 6px;
}
.md-bkn-wide__img.ui-radius-img img {
	object-fit: contain;
}
.md-bkn-wide__text {
	text-overflow: ellipsis;
	overflow     : hidden;
	white-space  : nowrap;
}

/* LIST
--------------------------- */
.md-info__items {
	width: 160px;
	padding: 0 15px;
	text-align: center;
}
.md-info__items > * + * {
	margin: 8px 0 0;
}
.md-info__img {
	display: block;
	width: 130px;
	height: 130px;
	box-shadow: var(--box-shadow);
}
.md-info__text {
	font-size: 16px;
}
.md-info-staff__text {
	font-size: 12px;
	color: var(--light-text-color);
}
.md-info .slick-arrow {
	top: 59px;
}
.md-info .slick-prev {left: -13px;}
.md-info .slick-next {right: -13px;}

.md-info .slick-arrow svg {
	width: 13px;
	height: 13px;
	fill: var(--dark-color);
}
.md-info + .ui-section-btn {
	margin-top: 27px;
}

/* SPEC
--------------------------- */
.md-spec {
	display: grid;
	gap    : 10px;
	grid-template-columns: 1fr 1fr;
}
.md-spec__side {
	display       : grid;
	gap           : 6px;
	grid-auto-rows: min-content;
}
.md-spec__list {
	display: flex;
	align-items: center;
	gap    : 8px;
}
.md-spec__ttl {
	min-width: 120px;
	min-height: 25px;
	height: 100%;
	background-color: var(--bg-light-gray);
	display        : flex;
	align-items    : center;
	justify-content: center;
	font-size: 13px;
}
.md-spec__text .price {
	font-weight: bold;
	color: #e00f32;
}
.md-spec__text .kanrihi {
	font-weight: bold;
}
.md-spec__text a {
	font-weight: bold;
}
.md-spec__summary {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.md-spec__summary__side {
	display: grid;
	grid-auto-rows: min-content;
}
.md-spec__summary_long {
	border-top: 1px solid var(--border-color);
	margin-top: -0.5px
}
.md-spec__summary__list {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* 物件の設備
--------------------------- */
.md-facility {
	display  : flex;
	gap      : 12px;
	flex-wrap: wrap;
}
.md-facility__icn {
	width: 56px;
	height: 56px;
	margin: 0 auto 2px;
	position: relative;
	background-color: var(--main-light-color);
	border-radius: 6px;
	display        : flex;
	align-items    : center;
	justify-content: center;
}
.is-none .md-facility__icn {
	background-color: var(--bg-light-gray);
}
.is-none .md-facility__icn:before {
	content: "";
	width: 2px;
	height: 66px;
	background-color: #CFD8DC;
	transform: rotate(45deg);
	transform-origin: 0 0;
	position: absolute;
	top     : 0;
	right   : 0;
}
.md-facility__icn svg {
	width: 35px;
	height: 35px;
	fill: var(--main-color);
}
.is-none .md-facility__icn svg {
	fill: #CFD8DC;
}
.md-facility__note {
	width: 56px;
	font-size: 10px;
	text-align: center;
	line-height: 1.1;
}
.is-none .md-facility__note {
	color: #B0BEC5;
}
.md-tag-facility {
	display  : flex;
	gap      : 6px;
	flex-wrap: wrap;
}
.md-tag-facility__items {
	border: 1px solid #78909C;
	border-radius: 3px;
	padding: 1px 8px;
	font-size: 13px;
	color    : #78909C;
}

/* PAGER
--------------------------- */
.md-pager {
	margin: 30px 0 0;
	display        : flex;
	align-items    : center;
	justify-content: center;
}
.md-pager__btn,
.md-pager__link {
	width: 30px;
	height: 30px;
	display        : flex;
	align-items    : center;
	justify-content: center;
}
.md-pager__list {
	display: flex;
}
.md-pager__link {
	border-radius: 50%;
	font-size: 13px;
}
span.md-pager__link {
	background-color: var(--sub-light-color);
}
.md-pager__link svg {
	width: 10px;
	height: 10px;
	fill: var(--dark-color);
}
.md-pager__link.is-no-link svg {
	fill: #B9BDBE;
}

/* モーダル
--------------------------- */
.md-modal {
	background-color: #fff;
	width: 640px;
	position : fixed;
	top      : 50%;
	left     : 50%;
	z-index  : 100;
	transform: translate(-50%, -50%);
	visibility: hidden;
	opacity: 0;
}
.md-modal[aria-hidden="false"]{
	opacity: 1;
	visibility: visible;
}
.md-modal__ttl {
	padding: 15px 0 12px;
	border-bottom: 1px solid var(--border-color);
	font-size  : 15px;
	font-weight: bold;
	text-align: center;
	width: 100%;
}
.md-modal__body {
	padding: 30px;
	overflow-y: auto;
	max-height: 60vh;
}
.simulation-area {
	padding: 30px;
	overflow-y: auto;
}


/* SNS
--------------------------- */
.md-sns {
	display        : flex;
	gap            : 16px;
	flex-wrap      : wrap;
	align-items    : center;
	justify-content: center;
}

/* 会員限定
--------------------------- */
.md-members-only-img,
.md-members-only-info {
	display: grid;
}
.md-members-only-img > *,
.md-members-only-info > * {
	grid-area: 1 / 1;
}
.md-members-only-img__center {
	width: 100%;
	height: 100%;
	display        : flex;
	gap            : 4px;
	align-items    : center;
	flex-direction : column;
	justify-content: center;
	z-index: 1;
}
.md-bkn__link .md-members-only-img__center {
	width: 246px;
}
.md-members-only-img__center svg {
	fill: #fff;
}
.result-list__img .md-members-only-img__center svg {
	width: 56px;
	height: 60px;
}
:is(.md-bkn-card, .result-card__img, .md-bkn__img, .popular__items) .md-members-only-img__center svg {
	width: 79px;
	height: 85px;
}
.md-members-only-img img {
	height: inherit;
}
.md-members-only-img__text {
	font-weight: 700;
	color      : #fff;
}
.result-list__img .md-members-only-img__text {
	font-size: 22px;
}
:is(.md-bkn-card, .result-card, .md-bkn__link, .popular__items) .md-members-only-img__text {
	font-size: 30px;
}
.md-members-only-img__blur {
	width: 100%;
	height: 100%;
	background: var(--main-blur-cover-color);
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
}
.popular__items .md-members-only-img__blur{
	height: 153px;
}
.popular__items .md-members-only-img__blur{
	height: 153px;
}
.md-members-only-info {
	flex: 1;
}
.md-members-only-info__text {
	order: 1;
	display    : grid;
	place-items: center;
	font-size  : 18px;
	font-weight: 700;
}
.popular__list .md-members-only-info__text {
	font-size: 14px;
}
.md-members-only-info-btn {
	background-color: var(--main-color);
	color: var(--main-font-color);
	margin: auto;
	position: relative;
	font-weight: bold;
}
.md-members-only-info .md-main-btn {
	width: 272px;
	height: 39px;
	font-size: 18px;
	padding-left: 10px;
}
.md-members-only-info .md-list-ridge-btn {
	width: 252px;
	height: 27px;
	font-size: 16px;
	padding-left: 10px;
}
.md-members-only-info .md-card-ridge-btn {
	width: 189px;
	height: 29px;
	font-size: 12px;
	padding: 10px;
}
.md-members-only-info .md-card-room-btn {
	width: 272px;
	height: 39px;
	font-size: 17px;
	padding-left: 10px;
}

/* 閉じるボタン
--------------------------- */
.ui-close-btn {
	position: absolute;
	right   : 0;
	bottom  : calc(100% + 9px);
	width: 30px;
	height: 30px;
}
.ui-close-btn:before,
.ui-close-btn:after {
	content: "";
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	inset   : 0;
	margin  : auto;
}
.ui-close-btn:before { transform: rotate(45deg);}
.ui-close-btn:after  { transform: rotate(-45deg);}


/* 物件関連の次に来る物件じゃないコンテンツ
--------------------------- */
/*.is-bkn + .is-nobkn {
    margin-top: 48px;
}
.feature + .is-nobkn {
    margin-top: 48px;
}*/

/* スライダー
--------------------------- */
.slick-slide {
	height: auto!important;
}
.slick-slide img {
	display: inline!important;
}
.slick-dots {
	display        : flex;
	gap            : 10px;
	justify-content: center;
	margin: 10px 0 0;
	height: 10px;
}
.slick-dots button {
	width: 10px;
	height: 10px;
	background-color: #A6A6A6;
	border-radius: 50%;
	font-size: 0;
	color    : transparent;
}
.slick-dots .slick-active button {
	background-color: var(--dark-color);
}
.slick-arrow {
	position: absolute;
	z-index : 1;
	width: 20px;
	height: 20px;
	display        : flex;
	align-items    : center;
	justify-content: center;
}
.slick-arrow svg {
	width: 13px;
	height: 13px;
	fill: var(--dark-color);
}

/*-------------------------------------------------------------------------
全体LAYOUT
-------------------------------------------------------------------------*/

.l-wrapper {
	min-width: var(--screen-size);
}
.l-contents:has(.ui-full-screen, .md-mv-heading){/* firefoxがhasに対応してない為、個別のcssファイルで指定してください。いずれ対応するのでそれまで我慢 */
	overflow: hidden;
}
.l-main {
    margin: auto;
    padding: 0 0 96px;
}

/* パンくず
--------------------------- */
.breadcrumbs {
	width: var(--screen-size);
	margin: 0 auto;
	padding: 16px 0 14px;
	position: relative;
	z-index : 1;
}
.breadcrumbs__list {
	display  : flex;
	gap      : 3px;
	flex-wrap: wrap;
}
.breadcrumbs__link span {
	font-size: 13px;
	color    : #78909C;
}
strong.breadcrumbs__link {
	font-weight: normal;
}
.breadcrumbs__link svg {
	width: 8px;
	height: 8px;
	fill: #78909C;
}

/*-------------------------------------------------------------------------
HEADER 共通
-------------------------------------------------------------------------*/

/* 共通
--------------------------- */
.header__holiday {
	font-size: 13px;
	color    : #78909C;
}
.ui-hd-pattern__inner {
	width: var(--screen-size);
	margin: auto;
}

/* TEL
--------------------------- */
.md-tel-list {
	display    : flex;
	gap        : 8px;
	align-items: center;
}
.md-tel-list__ttl {
	font-size: 14px;
}
.md-tel-list__item {
	font-size: 18px;
	font-weight: 700;
}

.hd-pattern2 .md-tel-list__ttl {
	white-space: nowrap;
	font-size: 13px;
	line-height: 10px;
}

.hd-pattern2 .md-tel-list  {
	display    : flex;
	gap        : 8px;
	align-items: center;
	flex-direction: column;
}

/*
--------------------------- */
.hd-common-bottom {
	background-color: var(--bg-light-gray);
}
.hd-common-bottom__inner {
	display        : flex;
	gap            : 25px;
	align-items    : center;
	justify-content: center;
	padding: 8px 41px 13px 0;
	position: relative;
}
.hd-common-bottom__inner .header-service {
	height: fit-content;
	position: absolute;
	top     : 0;
	bottom  : 0;
	right: 0;
	margin  : auto;
}
.hd-pattern4 .hd-common-bottom {
	background-color: var(--main-color);
}

/* 検索ボタン
--------------------------- */
.hd-common-search-list {
	display: flex;
	gap    : 8px;
}
.hd-common-search-list__items {
	position: relative;
}
.hd-common-search-list__btn {
	width: 144px;
	height: 43px;
	background-color: #fff;
	border: 1px solid var(--border-color);
	border-radius: 4px;
	display        : flex;
	align-items    : center;
	justify-content: space-between;
	padding: 0 10px 0 14px;
	font-size  : 18px;
	font-weight: 700;
}
.hd-common-search-list__btn svg {
	width: 10px;
	height: 10px;
}

/* PULL DOWN  */
.header-pulldown {
	position: absolute;
	top     : 100%;
	left    : 0;
}
.header-pulldown__wrap {
	width: 300px;
}
.header-pulldown__list {
	width: 220px;
	background-color: rgba(38, 50, 56, .9);
	position: absolute;
	top     : 0;
	left    : 0;
	opacity: 0;
	visibility: hidden;
	transition: .2s ease;
	z-index: 10;
}
.header-pulldown__list.is-show {
	opacity: 1;
	visibility: visible;
}
.header-pulldown__list.is-hide {
	opacity: 0;
	visibility: hidden;
}
.header-pulldown__items:not(:last-child){
	border-bottom: 1px solid var(--dark-color);
}
.header-pulldown__link {
	width: 100%;
	height: 49px;
	display        : flex;
	align-items    : center;
	justify-content: space-between;
	padding: 0 10px 0 15px;
	font-size  : 14px;
	color      : #fff;
	transition: .2s ease-in;
}
.next-pulldown .header-pulldown__link {
	transform: translateX(-10px);
}
.next-pulldown.is-show .header-pulldown__link {
	transform: translateX(0);
}
.header-pulldown__link svg {
	width: 13px;
	height: 13px;
	fill: #fff;
}

/*-------------------------------------------------------------------------
HEADER PATTERN1

/* LAYOUT
--------------------------- */
.l-header {
	width: 100%;
	background-color: #fff;
	z-index: 2;
	position: sticky;
	top: 0;
}
.header__inner {
	width: var(--screen-size);
	margin: auto;
	display        : flex;
	justify-content: space-between;
}
.header__left {
	display    : flex;
	gap        : 30px;
	align-items: center;
}
.header__logo {
	display : flex;
	align-items : center;
}
.header__logo img {
	max-width: 200px;
	max-height: 80px;
}
.hd-pattern3__top .header__logo img,
.hd-pattern4__top .header__logo img {
	max-width: 380px;
	max-height: 80px;
}
.hd-pattern4__top .header__logo {
	width: 380px;
}
.header__right {
	display    : flex;
	gap        : 20px;
	align-items: center;
}

/* 検索ボタン
--------------------------- */
.header-search {
	display: flex;
	border-left : 1px solid #fff;
	border-right: 1px solid #fff;
}
.header-search__items {
	position: relative;
}
.header-search__items:not(:last-child){
	border-right: 1px solid #fff;
}
.header-search__items:hover {
	cursor: pointer;
}
/* ボタン  */
.header-search__btn {
	width: 123px;
	height: 80px;
	background-color: var(--main-heighlight-color);
	display        : flex;
	gap            : 6px;
	align-items    : center;
	justify-content: center;
	color: var(--main-color);
	font-size  : 16px;
	font-weight: bold;
}
.header-search__btn svg {
	width: 12px;
	height: 12px;
	fill: var(--main-color);
}

/* ナビゲーション
--------------------------- */
.header-nav__list {
	display: flex;
	gap: 6px;
}
.header-service {
	display: flex;
	gap: 12px;
}
.header-nav__link {
	white-space: nowrap;
	font-weight: bold;
}
.header-nav__link:hover {
	color: var(--main-color);
	opacity: 1;
}

/* サービス
--------------------------- */
.header-service li {
	width: 40px;
	height: 40px;
	background: var(--main-heighlight-color);
	border-radius: 100vw;
	display: flex;
	justify-content: center;
	align-items: center;
}
.header-service li:hover {
	background: var(--main-light-color);
}
[class*="header-service__link"]{
	position: relative;
}
[class*="header-service__link"]:hover {
	opacity: 1;
}
.header-service__link--member,
.header-service__link--favorite {
	display: flex;
	align-items: center;
	flex-direction: column;
	font-size: 10px;
	white-space: nowrap;
}
.header-service__link--member svg {
	width: 19px;
	height: 20px;
}
.header-service__link--favorite svg {
	width: 19px;
	height: 20px;
}
.header-service__badge {
	width: 17px;
	height: 17px;
	background-color: var(--dark-color);
	border-radius: 50%;
	display        : flex;
	align-items    : center;
	justify-content: center;
	position: absolute;
	top     : -1px;
	right   : 5px;
	font-size  : 10px;
	font-weight: bold;
	color      : #fff;
}

/* お問い合わせ
--------------------------- */
.header-contact {
	position: relative;
	z-index: 1;
}
.header-contact__trigger {
	width: 138px;
	height: 39px;
	background-color: var(--main-color);
	position: relative;
	padding: 0 9px 0 0;
}
.header-contact__trigger.ui-btn--flat {
	color: var(--main-font-color);
}
.header-contact__trigger svg {
	width: 8px;
	height: 8px;
	fill: var(--main-font-color);
	position: absolute;
	top     : 0;
	bottom  : 0;
	right   : 12px;
	margin  : auto;
}
.header-contact__pulldown {
	width: 100%;
	background-color: #fff;
	box-shadow: var(--box-shadow);
	position: absolute;
	top     : 40px;
	left    : 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: .1s ease;
}
.header-contact__pulldown[aria-hidden="false"]{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.header-contact__btn {
	display        : flex;
	gap            : 5px;
	align-items    : center;
	justify-content: center;
	padding: 8px 0;
	font-size  : 14px;
	font-weight: bold;
	text-align: center;
	border-bottom: solid 1px var(--bg-light-gray);
}
.header-contact__btn svg {
	width: 15px;
	height: 15px;
}

/* #
--------------------------- */
.header-menu__trigger {
	padding: 10px;
}
.header-menu__trigger svg {
	width: 19px;
	height: 19px;
	fill: var(--main-color);
}
.header__btn {
	width: auto;
	height: 31px;
	padding: 5px 10px 0;
	font-size  : 11px;
	font-weight: bold;
	white-space: nowrap;
}
.header__link {
	width: 50px;
	height: 50px;
	display    : grid;
	place-items: center;
	position: relative;
}
.header__link svg {
	width: 25px;
	height: 25px;
}
.header__badge {
	width: 17px;
	height: 17px;
	background-color: var(--dark-color);
	border-radius: 50%;
	display    : grid;
	place-items: center;
	position: absolute;
	right   : 10px;
	bottom  : 10px;
	font-size  : 10px;
	font-weight: bold;
	color      : #fff;
}
.header__menu,
.menu__btn {
	width: 50px;
	height: 50px;
}
.header__menu {
	background-color: var(--main-color);
	display        : flex;
	align-items    : center;
	flex-direction : column;
	justify-content: center;
}
.header__menu svg {
	width: 18px;
	height: 16px;
	fill: #fff;
}
/*-------------------------------------------------------------------------
HEADER PATTERN2
-------------------------------------------------------------------------*/

/* LAYOUT
--------------------------- */
.l-header.hd-pattern2 {
	border-top: 3px solid var(--main-color);
	position: unset;
}
.hd-pattern2__top {
	display        : flex;
	align-items    : flex-start;
	justify-content: flex-end;
}
.hd-pattern2__logo {
	max-width: 160px;
	height: 118px;
	display        : flex;
	align-items    : center;
	justify-content: center;
	position: absolute;
	top     : 28px;
	left    : 0;
	right   : 0;
	margin  : auto;
}
.hd-pattern2__logo img {
	max-width: 255%;
	max-height: 118px;
}
.hd-pattern2__right {
	padding: 9px 0 0;
	display        : flex;
	gap            : 16px;
	align-items    : center;
	justify-content: flex-end;
}
.hd-pattern2__middle {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin: 0 auto;
	margin-top: 3px;
}

/*-------------------------------------------------------------------------
HEADER PATTERN3
-------------------------------------------------------------------------*/

.hd-pattern3 {
	height: 94px;
}
.header-pattern3_wrap {
	border-bottom: 2px solid var(--main-color);
	position: fixed;
	top: 0;
	z-index: 10;
	background: #fff;
	width: 100%;
}
.header-pattern3_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 1139px;
	margin: 0 auto;
}
.header-pattern3_right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding-bottom: 3px;
}
.header-pattern3_info {
	display: flex;
	flex-direction: row;
}
.company_info {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding: 5px 10px 3px 0;
}
.tell_item .hd-pattern3__tel {
	text-align: right;
	margin: 2px 0 0;
	font-family: Arial;
	font-size: 28px;
	font-weight: bold;
	color: var(--point-color);
	line-height: 1;
}

.eigyo_time {
	text-align: right;
	font-size: 13px;
	margin-top: 3px;
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
}
.header-pattern3_info .header-service {
	position: relative;
	padding: 17px 0 3px 20px;
	text-align: right;
}

.hd-pattern3 .header-service::before {
	content: '';
	position: absolute;
	left: 0;
	top: 10%;
	bottom: 10%;
	border-left: 1px solid #B0BEC5;
	width: 0;
}

.header-pattern3_navi {
	display: flex;
	flex-direction: row;
	align-items: center;
}
.navi_item:not(:last-child) {
	margin-right: 10px;
}

.navi_item a:hover {
	opacity: 1;
}

.hd-pattern3__link {
	display: block;
	font-size: 16px;
	font-weight: bold;
	padding: 2px 0;
	color: var(--dark-color);
}
.hd-pattern3__link .separator {
	color: var(--dark-color);
}

.hd-pattern3__link:hover {
	color: var(--main-color);
}
.header-pattern3_navi svg:last-child {
	display: none;
}

.hd-pattern3__tel svg {
	margin: 0 4px 0 0;
	width: 21px;
	height: 21px;
	fill: var(--point-color);
}

/*
--------------------------- */
.hd-service-line {
	display    : flex;
	gap        : 15px;
	align-items: center;
}
.hd-service-line__link {
	display    : flex;
	gap: 7px;
	align-items: center;
	font-size  : 11px;
	color      : #fff;
}
.hd-service-line__link svg {
	width: 20px;
	height: 20px;
	fill: #fff;
}
.hd-pattern3__top .header-menu__trigger svg {
	fill: #fff;
}

/* TEL
--------------------------- */
.hd-pattern3__tel-list {
	display: flex;
	gap    : 8px;
}

/*-------------------------------------------------------------------------
HEADER PATTERN4
-------------------------------------------------------------------------*/

.hd-pattern4 {
	border-top: 3px solid var(--main-color);
}
.hd-pattern4__top {
	display        : flex;
	align-items    : center;
	justify-content: space-between;
	padding: 16px 0;
}
.hd-pattern4__top-right {
	display    : flex;
	gap        : 26px;
	align-items: center;
}
.hd-pattern4__time {
	border-right: 1px solid #B0BEC5;
	padding: 8px 20px 3px 0;
	text-align: right;
}

.hd-pattern4__tel {
	margin: 2px 0 0;
	font-family: Arial;
	font-size  : 32px;
	font-weight: bold;
	color      : var(--point-color);
	line-height: 1;
}
.hd-pattern4__tel svg {
	margin: 0 4px 0 0;
	width: 23px;
	height: 23px;
	fill: var(--point-color);
}
.hd-pattern4__bottom-inner {
	display        : flex;
	align-items    : center;
	justify-content: space-between;
}
.hd-pattern4__nav {
	flex: 1;
}
.hd-pattern4__list {
	display: flex;
	justify-content: space-evenly;
	text-align: center;
}
.hd-pattern4__list li {
	flex: 1;
}
.hd-pattern4__list li {
	box-sizing: border-box;
	border-right: 2px solid #fff;
}
.hd-pattern4__list li:first-child {
	border-left: 2px solid #fff;
}
.hd-pattern4__link {
	display: block;
	padding: 17px 0 11px;
	font-size  : 18px;
	font-weight: bold;
	color: var(--main-font-color);
}
.hd-pattern4__list li:hover {
	background-color: #fff;
	opacity: 0.8;
}
.hd-pattern4__link:hover {
	color: var(--main-color);
}
.hd-pattern4__bottom-inner .header-menu {
	background-color: rgb(255 255 255 / 39%);
	padding: 10px;
	margin-left: 15px;
}

/*-------------------------------------------------------------------------
MENU
-------------------------------------------------------------------------*/

/* LAYOUT
--------------------------- */
.menu {
	width: 100%;
	background-color: #fff;
	transition: .2s ease;
	position: absolute;
	left    : 0;
	z-index : 2000;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: .2s ease;
}
.hd-pattern3 .menu {
	top: 39px;
}
.menu[aria-hidden="false"] {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.menu__inner {
	max-width: 1200px;
	margin: auto;
	padding: 30px 30px 20px;
	display              : grid;
	gap                  : 60px 30px;
	grid-template-columns: 1fr 360px;
}
.menu__between {
	display: grid;
	gap    : 30px;
	margin-top: 10px;
	grid-template-columns: 1fr 1fr;
}
.menu__section {
	margin: 0 0 24px;
	flex: 1;
}
.menu__section:last-child {
	margin: 0;
}
.menu__ttl {
	margin: 0 0 6px;
	font-size  : 18px;
	font-weight: bold;
}
.menu__bottom {
	grid-column: 1 / span 2;
	display: flex;
	justify-content: flex-end;
}
.menu__close {
	width: 50px;
	height: 50px;
	background-color: #78909C;
	position: absolute;
	top     : 0;
	right   : 0;
}
.menu__close svg {
	width: 10px;
	height: 10px;
	fill: #fff;
}

/* お問い合わせ
--------------------------- */
.menu__contact {
	display: flex;
	justify-content: space-between;
}
.menu__contact-list {
	display: flex;
	gap    : 8px;
}
[class*="menu__contact-btn--"]{
	width: 176px;
	height: 44px;
	gap: 5px;
}
[class*="menu__contact-btn--"] svg {
	width: 16px;
	height: 16px;
}
.menu__contact-btn--mail {
	font-size  : 15px;
	font-weight: bold;
}

.menu__member {
	display    : flex;
	gap        : 8px;
	align-items: center;
}
.menu__member-ttl {
	font-size  : 16px;
	font-weight: bold;
	color      : var(--sub-color);
}
.menu__login,
.menu__register {
	background-color: var(--sub-color);
	align-items    : center;
	justify-content: center;
	width: 176px;
	height: 44px;
	font-size  : 14px;
	font-weight: bold;
}
.menu__login,
.menu__register.ui-btn--flat {
	color: var(--sub-font-color);
}
.menu__mypage,
.menu__logout {
	background-color: var(--sub-color);
	align-items    : center;
	justify-content: center;
	width: 175px;
	height: 44px;
	font-size  : 14px;
	font-weight: bold;
}

.menu__login span {
	font-size  : 13px;
	font-weight: normal;
	color      : inherit;
}

/* 検索窓
--------------------------- */
.md-search {
	background-color: #fff;
	border-radius: 4px;
	border: 1px solid var(--border-color);
	display: flex;
}
.md-search__switch {
	width: 110px;
	position: relative;
}
.md-search__switch svg {
	width: 10px;
	height: 10px;
}
.md-search__input {
	flex: 1;
	border: none;
	height: 44px;
}
.md-search__submit {
	width: 44px;
}
.md-search__submit svg {
	width: 18px;
	height: 18px;
	fill: var(--dark-color);
}

/* LIST
--------------------------- */
.menu__link {
	display        : flex;
	gap            : 10px;
	align-items    : center;
	padding: 15px 10px 14px 0;
	justify-content: space-between;
	border-bottom: 1px solid var(--border-color);
}
:is(.menu__link, .menu__rule-link) svg {
	width: 8px;
	height: 8px;
}
.menu__rule {
	display: flex;
	gap    : 16px;
}
.menu__rule-link {
	display    : flex;
	gap        : 3px;
	align-items: center;
	font-size: 13px;
}

/*-------------------------------------------------------------------------
お問い合わせカード
-------------------------------------------------------------------------*/

.contactus {
	background-color: #fff;
	border: 1px solid var(--border-color);
	border-radius: 4px;
	padding: 24px;
	display: flex;
	gap    : 17px;
}
.contactus__thum {
	min-width: 130px;
	width: 130px;
	height: 130px;
}
.contactus__link {
	margin: 0 0 4px;
	font-size  : 18px;
	font-weight: bold;
	text-decoration: underline;
}
.contactus__add {
	margin: 0 0 4px;
	color: var(--light-text-color);
}
.contact__info {
	display: flex;
	gap: 16px;
	margin-block: 0 8px;
}
.contactus__info-list {
	display        : flex;
	gap            : 10px;
	justify-content: center;
	margin: 0 0 2px;
}
.contactus__info-ttl {
	font-size  : 13px;
	font-weight: bold;
	color: var(--light-text-color);
}
.contactus__info-text {
	font-size: 13px;
	color: var(--light-text-color);
}
.contactus__list {
	display    : flex;
	gap        : 12px;
	align-items: center;
	margin: 0 0 16px;
}
.contactus__tel {
	display    : flex;
	gap        : 3px;
	align-items: center;
	font-size  : 18px;
	font-weight: bold;
}
.contactus__tel svg {
	width: 20px;
	height: 20px;
}
.contactus__btn {
	background-color: var(--sub-color);
	width: 200px;
	height: 34px;
	gap: 5px;
	font-size  : 15px;
	font-weight: bold;
}
.contactus__btn svg {
	width: 16px;
	height: 16px;
	fill: var(--sub-font-color);
}

/*-------------------------------------------------------------------------
footerの上にあるリンクのレイアウト
-------------------------------------------------------------------------*/

.searchlink {
	background: #eee;
	padding: 15px 0;
}
.searchlink__inner {
	width: var(--screen-size);
	margin: 0 auto;
}
.searchlink__inner > * + * {
	margin: 10px 0 0;
}
.searchlink__section {
	display: flex;
}
.searchlink__ttl {
	min-width: 140px;
	font-weight: bold;
	color      : #737373;
}
.searchlink__list {
	display  : flex;
	gap      : 5px;
	flex-wrap: wrap;
}
.searchlink__items:not(:last-child):after {
	content: "/";
}

/*-------------------------------------------------------------------------
FOOTER
-------------------------------------------------------------------------*/

.l-footer * {
	color: var(--main-font-color);
}

/* LAYOUT
--------------------------- */
.l-footer {
	background-color: var(--main-color);
	padding: 40px 0 20px;
}
.footer__inner {
	width: var(--screen-size);
	margin: auto;
	display              : grid;
	gap                  : 80px 40px;
	grid-template-columns: 1fr 1fr;
}
.footer__bottom {
	grid-column: 1 / span 2;
}

/* 情報
--------------------------- */
.footer__info {
	margin: 0 0 20px;
}
.footer__name {
	font-size  : 18px;
	font-weight: bold;
}
.footer__info-right {
	display: grid;
	gap    : 4px;
}
.footer__info-list {
	display: flex;
	white-space: nowrap;
}
.footer__info-list :is(dt, dd){
	font-size: 13px;
}
.footer__bnr {
	margin-block: 20px;
}
/* お問い合わせ
--------------------------- */
.footer__contact {
	display: grid;
	gap    : 10px;
	grid-template-columns: 1fr 1fr;
}
[class*="footer__contact-btn--"]{
	background-color: #fff;
	border-radius: 6px;
	display        : flex;
	gap            : 5px;
	align-items    : center;
	justify-content: center;
	height: 44px;
	color: var(--dark-color);
}
.footer__contact-btn--tel {
	font-size: 13px;
}
.footer__contact-btn--mail {
	font-size  : 15px;
	font-weight: bold;
}
[class*="footer__contact-btn--"] svg {
	width: 16px;
	height: 16px;
	fill: var(--dark-color);
}
.footer__linebnr {
	margin: 15px 0;
}
.footer__snslink {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 20px;
	padding: 10px;
	width: fit-content;
	background-color: #f5f5f5;
}
.footer__snslink div {
	padding: 0 13px 0;
}
.fotter__line img {
	margin: 20px 0;
}
/* リスト
--------------------------- */
.footer__list-link {
	display        : flex;
	gap            : 10px;
	align-items    : center;
	justify-content: space-between;
	border-bottom: 1px solid var(--main-font-color);
	padding: 13px 20px 14px 0;
}
.footer__list-link svg {
	width: 21px;
	height: 21px;
	fill: var(--main-font-color);
}

/* メニュー
--------------------------- */
.footer__menu {
	display        : flex;
	gap            : 6px 16px;
	flex-wrap      : wrap;
	justify-content: center;
	margin: 0 0 32px;
}
.footer__menu-link {
	display    : flex;
	gap        : 5px;
	align-items: center;
	font-size: 13px;
}
.footer__menu-link svg {
	width: 8px;
	height: 8px;
	fill: var(--main-font-color);
}

/* #
--------------------------- */
.footer__copy {
	font-size: 13px;
	text-align: center;
}

.ft-slogan__txt {
	border-top: 1px solid var(--main-font-color);
	margin-top: 20px;
	text-align: center;
	padding: 10px 0;
}
.ft-slogan__txt p {
	font-size: 13px;
}

/* 予約ボタン
--------------------------- */
.gotop-btn {
	width: 56px;
	height: 56px;
	background-color: var(--sub-color);
	border-radius: 50%;
	box-shadow: var(--box-shadow);
	display        : flex;
	align-items    : center;
	justify-content: center;
	position: fixed;
	bottom  : 10px;
	right   : 10px;
	z-index : 10;
}
.gotop-btn svg {
	width: 20px;
	height: 20px;
	fill: var(--main-font-color);
}
.reservation-side-link {
	width: 69px;
	height: 220px;
	background-color: var(--sub-color);
	border-bottom-left-radius: 8px;
	box-shadow: var(--box-shadow);
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 200px;
	right: 1px;
	z-index: 10;
}
.reservation-side-link svg {
	width: 20px;
	height: 20px;
	fill: var(--sub-font-color);
	position: absolute;
	top: 25px;
}
.reservation-side-link-text {
	position: absolute;
	writing-mode: vertical-rl;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 13px;
	bottom: 25px;
	color: var(--sub-font-color);
}
.reservation-side-link-text:before {
	content: "";
	display: inline-block;
	height: 14px;
	width: 69px;
	position: relative;
	background-color: rgba(236, 239, 241, .5);
	bottom: 49px;
}

/*-------------------------------------------------------------------------
下層共通
-------------------------------------------------------------------------*/

.page__header {
	margin: 0 0 60px;
}
.freeform-header {
	margin: 30px 0 0;
}
.page__headline {
	font-size  : 22px;
	font-weight: bold;
}

/* 横画面サイズフルサイズの大見出し
--------------------------- */
.md-mv-heading {
	height: 200px;
	display    : grid;
	place-items: center;
	background-color: rgb(38, 50, 56);
	margin-block: -51px 0;
	margin-inline: var(--full-screen);
}
.md-mv-heading__headline {
	grid-area: 1 / 1;
	position: relative;
	z-index : 1;
	font-size  : 22px;
	font-weight: bold;
	color      : #fff;
}
.md-mv-heading__img {
	width: 100%;
	height: inherit;
	grid-area: 1 / 1;
	object-fit     : cover;
	object-position: center;
	position: relative;
	z-index : 0;
	opacity: .6;
}

/* 一枚表示のスライダー
--------------------------- */
.md-photo-slider {
	position: relative;
}
.md-photo-slider__counter {
	background-color: var(--bg-dark-transparent);
	border-radius: 50px;
	padding: 3px 12px;
	position: absolute;
	top     : 10px;
	left    : 10px;
	font-size: 13px;
	color    : #fff;
}
.md-photo-slider__counter span {
	font-size: inherit;
	color    : inherit;
}
.md-photo-slider .slick-arrow {
	position: absolute;
	top     : -20px;/* ページャーの分  */
	bottom  : 0;
	margin  : auto;
}
.md-photo-slider .slick-prev {
	left: 0;
}
.md-photo-slider .slick-next {
	right: 0;
}

/* 問答
--------------------------- */
.md-faq {
	display: grid;
	gap    : 8px;
}
.md-faq__items {
	background-color: var(--main-light-color);
	border-radius: 8px;
	padding: 16px;
}
.md-faq__question {
	margin: 0 0 8px;
	font-size  : 15px;
	font-weight: bold;
}

/*.ui-fixed-bottom [class*="ui-contact-btn--"]{
    margin-top: 0;
}
*/

/*-------------------------------
まとめてお問い合わせ
--------------------------------*/
.float_box {
	position: fixed;
	bottom: 0;
	display: none;
	width: 100%;
	box-sizing: border-box;
	padding: 8px 40px;
	justify-content: center;
	background: rgba(236, 239, 241, .5);
	z-index: 1002;
}

.float_box.show {
	display: flex;
	gap: 20px;
}

.float_item a {
	display: flex;
	background: var(--point-color);
	text-align: center;
	justify-content: center;
	align-items: center;
	font-size: 15px;
	font-weight: 700;
	width: 240px;
	height: 44px;
	color: var(--sub-font-color);
}
.float_item .favorite {
	background-color: var(--main-color);
}

/*-------------------------------
フリーワード検索 サジェスト
--------------------------------*/
#suggestion-box {
	border: 1px solid #ddd;
	background-color: #fff;
	position: absolute;
	top: 100%;
	left: 0;
	width: 629px;
	z-index: 1000;
}
.suggestion-item {
	padding: 10px;
	cursor: pointer;
}
.suggestion-item:hover {
	background-color: #f0f0f0;
}
.hidden {
	display: none;
}

/*-------------------------------------------------------------------------
お客様の声パターン2
パターン１はトップページ用？
パターン2もトップページで使う
パターン2は下層でも使う
-------------------------------------------------------------------------*/

.md-voice2 {
	display              : grid;
	gap                  : 40px 30px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 58px;
}
.md-voice2 li {
	display: flex;
	gap: 12px;
	flex-direction: column;
}
.md-voice2.is-line4 {
	gap                  : 20px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.md-voice2__items {
	display           : grid;
	row-gap           : 15px;
	grid-row          : span 2;
	grid-template-rows: subgrid;
}
.is-line4 .md-voice2__items {
	row-gap: 5px;
}
.md-voice2__img {
	height: 260px;
}
.is-line4 .md-voice2__img {
	height: 106px;
}
.md-voice2__info {
	min-width: 0;
	background-color: var(--main-light-color);
	border-radius: 8px;
	display: block;
	padding: 20px 30px 20px 20px;
	position: relative;
}
.is-line4 .md-voice2__info {
	padding: 10px 20px 10px 10px;
}
.md-voice2__name {
	margin-bottom: 3px;
	font-size: 16px;
	font-weight: 700;
	color      : var(--light-text-color);
	white-space  : nowrap;
	overflow     : hidden;
	text-overflow: ellipsis;
}
.md-voice2__text {
	overflow          : hidden;
	display           : -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	text-overflow     : ellipsis;
	height            : 124px;
}
.is-line4 .md-voice2__text {
	-webkit-line-clamp: 2;
}
.md-voice2__arw {
	min-width: 13px;
	width: 13px;
	height: 13px;
	fill: var(--main-color);
	position: absolute;
	top     : 0;
	bottom  : 0;
	right   : 10px;
	margin  : auto;
}
.is-line4 .md-voice2__arw {
	right: 5px;
}

/* LAYOUT
--------------------------- */
.l-contents {
	overflow: hidden;/*FIREFOXだとcommonせ指定したhasが効かないので個別に適用（いずれ対応するのでそれまで我慢） */
}
[data-tab-contents][aria-hidden="false"]{
	opacity: 1;
	visibility: visible;
	height: auto;
}
[data-tab-contents][aria-hidden="true"]{
	opacity: 0;
	visibility: hidden;
	height: 0;
}
.ui-full-screen {
	margin-bottom: 0;
}
.ui-contents-centering {
	width: var(--screen-size);
	margin-inline: auto;
}
.ui-section-inner .ui-narrow-section:first-child {
	margin-block-start: 0;
}
.ui-section-header {
	margin: 0 0 24px;
	text-align: center;
}
.ui-section-header h2 {
	margin: 0;
}
.ui-section-wrap:nth-child(odd) {
	background-color: var(--main-heighlight-color);
}
.l-contents [class*="ui-sub-btn--"]{
	width: 210px;
	min-height: 50px;
	font-size: 16px;
	color: var(--sub-font-color);
	background-color: var(--sub-color);
}
.l-contents [class*="ui-sub-btn--"] svg {
	fill: var(--sub-font-color);
}
.l-contents a.ui-sub-btn--flat.bkn__more-link {
	text-align: center;
	min-width: 210px;
	width: fit-content;
}

/* デザインパターン用共通レイアウト
--------------------------- */
.content__block {
	padding-block: 30px;
	margin-inline: var(--full-screen);
}

.content__inner {
	width: var(--screen-size);
	margin: 0 auto;
	position: relative;
}

/* 種別と見出し
--------------------------- */
[class*="ui-title--"]{
	margin: 0 0 30px;
	position: relative;
}
.ui-sub-title {
	position: absolute;
	color: var(--main-color);
	font-size: 14px;
	font-weight: normal;
	text-align: center;
	letter-spacing: 3px;
	bottom: -20px;
	left: 0;
	right: 0;
}

.ui-type-title {
	margin: 0 0 30px;
	display        : flex;
	gap            : 8px;
	align-items    : center;
	justify-content: center;
	font-size  : 26px;
	font-weight: bold;
	position: relative;
}
.ui-type-mark {
	border: 1px solid var(--light-text-color);
	border-radius: 50px;
	padding: 1px 16px 0;
	font-size  : 20px;
	color: var(--light-text-color);
}
.appeal .ui-type-mark {
	border: 1px solid #fff;
}

/* 新着のNEW  */
.ui-new {
	font-size  : 15px;
	font-weight: bold;
	color      : var(--strong-color);
}

/*-------------------------------------------------------------------------
MV
-------------------------------------------------------------------------*/

.mv-slider .slick-list {
	overflow: visible;
}
.mv-slider .slick-list img {
	width: 100%;
	object-fit: cover;
}

.slick-arrow svg.mv_icon_left,
.slick-arrow svg.mv_icon_right {
	width: 40px;
	height: 40px;
}

.mv-slider .slick-arrow {
	top: 50%;
	margin-top: -20px;
	width: 40px;
	height: 40px;
	background: rgb(34 34 34 / 80%);
	padding: 10px;
	border-radius: 50%;
	fill: #fff;
	cursor: pointer;
}

.mv-slider .slick-arrow:hover {
	background: rgb(34 34 34 / 100%);
}

.mv-slider .slick-arrow.mv_icon_left {
	left: 40px;
}

.mv-slider .slick-arrow.mv_icon_right {
	right: 40px;
}


/*-------------------------------------------------------------------------
検索
-------------------------------------------------------------------------*/
.l-main .ui-narrow-section.search-contents {
	border: solid 1px transparent;
	padding-bottom: 0;
}
.top-search {
	margin: 0 0 30px;
}
.search-nav {
	width: 800px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 30px;
	padding: 10px 0 20px;
	gap: 16px;
}
.search-nav.search__multiple{
	display: block;
	background: #fff;
	box-shadow: var(--box-shadow);
}
.search-nav.is-thrid {
	gap: 12px 0;
}
.search-nav__items.is-active {
	width: 100%;
	border: 1px solid var(--main-heighlight-color);
	border-radius: 6px;
}
[class*="search-nav__btn--"]{
	width: 186px;
	height: 60px;
	display        : flex;
	gap            : 5px;
	flex           : 1;
	align-items    : center;
	justify-content: center;
	padding: 7px 0 5px;
	font-size  : 18px;
	font-weight: bold;
	cursor: pointer;
}
.search-nav__btn--rent {
	background-color: var(--sub-color);
	color: var(--sub-font-color);
}
.search-nav__btn--buy  {
	background-color: var(--main-color);
	color: var(--main-font-color);
}

[class*="search-nav__btn--"] svg {
	width: 21px;
	height: 21px;
}
.search-nav__btn--rent svg {
	fill: var(--sub-font-color);
}
.search-nav__btn--buy svg {
	fill: var(--main-font-color);
}
.search-nav__text {
	display    : flex;
	gap        : 5px;
	align-items: center;
	color: inherit;
}
.search-nav__text span {
	border: 1px solid #fff;
	border-radius: 50px;
	padding: 2px 5px;
	line-height: 1;
	font-size: 11px;
	color    : inherit;
}
.back-link-to-type {
	font-size: 15px;
	font-weight:bold;
}
.top-icn-arw-left{
	width: 15px;
	height: 10px;
}
#container-rent,
#container-buy {
	cursor: pointer;
	position: relative;
	bottom: 8px;
	left: 78px;
}
.search_detail_main {
	margin-bottom: -15px;
	margin-top: 25px;
}
.search_detail_class {
	padding: 0 5px;
	text-align: center;
}
.search_detail_spacer {
	width: 100%;
}
.bkntype__list{
	display: grid;
	align-items: center;
	grid-template-columns: repeat(auto-fit, minmax(133px, 1fr));
	grid-auto-flow: dense;
	grid-template-rows: 1fr;
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	margin-bottom: 20px;
}
.bkntype__items-rent {
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0px 10px;
	color: var(--gray-text);
	position: relative;
	text-align: center;
}
.bkntype__items-rent:not(:last-of-type) {
	border-right: 1px solid var(--border-color);
}
.bkntype__items-rent:hover {
	cursor: pointer;
}
.bkntype__items-rent.is-active {
	font-weight: bold;
	color: var(--sub-color);
}
.bkntype__items-rent.is-active::before {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 4px;
	background: var(--sub-color);
	top: -10px;
	left: 0;
}
.bkntype__items-buy {
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0px 10px;
	color: var(--gray-text);
	position: relative;
	text-align: center;
}
.bkntype__items-buy:not(:last-of-type) {
	border-right: 1px solid var(--border-color);
}
.bkntype__items-buy:hover {
	cursor: pointer;
}
.bkntype__items-buy.is-active {
	font-weight: bold;
	color: var(--main-color);
}
.bkntype__items-buy.is-active::before {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 4px;
	background: var(--main-color);
	top: -10px;
	left: 0;
}
/* #
--------------------------- */
.search__rent .search-tag--wrap{
	background-color: var(--sub-light-color);
}
.search-tag--wrap {
	background-color: var(--main-light-color);
}
.search-tag--wrap + .search-tag--wrap {
	border-top: solid 2px var(--main-heighlight-color);
}
.search-tag {
	display: flex;
	gap    : 12px;
	padding: 20px 0;
	width: 800px;
	margin-inline: auto;
}
.search-tag__list {
	display  : flex;
	gap      : 6px;
	flex-wrap: wrap;
}
.search-tag__ttl {
	min-width: 154px;
	margin: 7px 0 0;
	font-size  : 15px;
	font-weight: bold;
	color      : var(--light-text-color);
	text-align: right;
}

/* #
--------------------------- */
.inner-nav {
	width: 0;
	opacity: 0;
	visibility: hidden;
	background-color: #fff;
	border-radius: 6px;
	overflow: hidden;
	position: relative;
	z-index: 0;
	white-space: nowrap;
}
.inner-nav[data-search]{
	z-index: 1;
}
.inner-nav.is-flow {
	width: 100%;
	position: absolute;
	top     : 0;
	left    : 0;
	transform: translateX(-100%);
	transition: .5s ease ;
}
.inner-nav.is-flow.is-show {
	transform: translate(0);
}
.inner-nav__heading {
	display        : flex;
	align-items    : center;
	justify-content: space-between;
	padding: 0 0 0 10px;
}
.inner-nav__ttl {
	margin: 3px 0 0;
	font-size  : 12px;
	font-weight: bold;
	color      : var(--sub-color);
}
.inner-nav__cross {
	padding: 12px;
}
.inner-nav__cross svg {
	width: 7px;
	height: 7px;
	fill: var(--gray-text);
}

.l-main .ui-narrow-section {
	padding-block: 60px;
}
.l-main .ui-mid-section {
	padding-block: 60px;
	width: 940px;
	margin-inline: auto;
}
/* リスト
--------------------------- */
.inner-list__link {
	border-top: 1px solid #ECEFF1;
	width: 100%;
	display        : flex;
	align-items    : center;
	justify-content: space-between;
	padding: 10px 20px;
	font-size: 13px;
}
.inner-list__link > svg {
	width: 7px;
	height: 10px;
	fill: var(--main-color);
}
.inner-nav__left {
	display    : flex;
	gap        : 5px;
	align-items: center;
	font-size: inherit;
}
.inner-nav__left svg {
	width: 15px;
	height: 15px;
	fill: var(--dark-color);
}

/* 種別
--------------------------- */
.inner-type {
	display              : grid;
	gap                  : 7px;
	grid-template-columns: repeat(auto-fit, minmax(131px, 1fr));
	padding: 0 10px 10px;
}
.inner-type__link {
	border: 1px solid var(--border-color);
	border-radius: 6px;
	display        : flex;
	gap            : 5px;
	align-items    : center;
	flex-direction : column;
	justify-content: center;
}
.inner-type__link svg {
	width: 24px;
	height: 24px;
}

/*-------------------------------------------------------------------------
ニュース
-------------------------------------------------------------------------*/
.ui-narrow-section__news {
	width: var(--screen-size);
	background-color: #fff;
	border: 1px solid var(--border-color);
	border-radius: 4px;
	margin-bottom: 30px;
	max-height: 400px;
	overflow: hidden scroll;
}
.ui-section__news__pattern2 {
	display: flex;
	justify-content: center;
	gap: 30px;
}
.ui-type-title__news {
	margin: 0 0 7px;
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	font-weight: bold;
	position: relative;
}
.ui-section__news__pattern2 .ui-narrow-section__news__pattern2 {
	background-color: #fff;
	border: 1px solid var(--border-color);
	border-radius: 4px;
	margin-bottom: 30px;
	max-height: 400px;
	overflow: hidden scroll;
}
.ui-section__news__pattern2 .main_table .th {
	width: 110px;
}
.ui-section__news__pattern2 .main_table .td {
	width: 450px;
}
.ui-section__news__pattern2 .main_table .td .history_label {
	width: fit-content;
}

.ui-narrow-section__news__pattern2::-webkit-scrollbar {
	width: 10px;
}

.ui-narrow-section__news__pattern2::-webkit-scrollbar-thumb {
	background-color: var(--border-color);
	border-radius: 10px;
}

.ui-section-space {
	padding-block: 60px;
}
.main_table {
	margin-inline: auto;
	border-collapse: collapse;

	.tr {
		border-bottom: 1px dashed #DCDCDC;
	}

	.th {
		border: 0 none;
		font-size: 90%;
		font-weight: normal;
		padding: 24px 10px;
		vertical-align: top;
		width: 150px;
	}

	.td_category {
		width: 150px;
	}

	.td {
		border: 0 none;
		padding: 18px 0;
		display: block;
		width: 800px;

		.history_title {
			font-size: 20px;
			font-weight: bold;
			margin: 0 0 10px 0;
		}
	}
}

.history_category {
	margin-top: 5px;

	.history_label {
		min-width: 113px;
		padding: 4px;
		border: 1px solid var(--main-color);
		display: flex;
		align-items: center;
		justify-content: center;
		margin: -2px 20px 0 0;
		font-size: 13px;
		color: var(--main-color);
		background-color: #fff;
		line-height: 1;
	}
}


/*-------------------------------------------------------------------------
アピールエリア
-------------------------------------------------------------------------*/

.appeal {
	background-color: var(--main-color);
	padding: 1px 0 120px;
}
.appeal :is(.ui-type-title, .ui-title--left, .ui-title--center){
	color: var(--main-font-color);
}
.appeal .ui-section-btn {
	border-color: #fff;
	background-color: rgba(255,255,255,.15);
	color: #fff;
}

/*-------------------------------------------------------------------------
フルスクリーンのスライダーのLAYOUT
-------------------------------------------------------------------------*/

.md-full-screen-slider {
	overflow: hidden;
	padding-block: 60px;
}
.md-full-screen-slider:last-child {
	margin-bottom: 0;
}
.md-full-screen-slider__section {
	width: calc(1200px - 30px);
	margin: 0 auto;
}
.md-full-screen-slider__list {
	margin: 0 0 40px;
}
.md-full-screen-slider__list.md-slider__osusume {
	width: calc(1200px - 30px);
	margin: 0 auto 40px;
}
.appeal .md-full-screen-slider__list:last-child {
	margin-bottom: 0;
}
.md-full-screen-slider__items {
	width: 293px;
	padding: 0 15px;
}

/*-------------------------------------------------------------------------
カード型物件
-------------------------------------------------------------------------*/

.md-bkn-card {
	width: 263px;
	display: block;
	background-color: #fff;
	border-radius: 8px;
	box-shadow: var(--box-shadow);
	overflow: hidden;
}
.md-bkn-card__head {
	display: grid;
}
.md-bkn-card__img,
.md-bkn-card__over {
	grid-area: 1 / -1;
}
.md-bkn-card__img {
	height: 160px;
}
.md-bkn-card__over {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.md-bkn-card__label,
.md-bkn-card__price {
	align-self: flex-start;
}
.md-bkn-card__label {
	background-color: #fff;
	border: 1px solid #78909C;
	border-radius: 50px;
	margin: 10px 0 0 10px;
	padding: 1px 10px;
	font-size: 10px;
}
.md-bkn-card__price {
	background-color: var(--bg-dark-transparent);
	display    : flex;
	align-items: baseline;
	padding: 8px 10px 2px;
	font-size: 15px;
	color    : #fff;
}
.md-bkn-card__price span {
	margin: -3px 0 0;
	font-size: 24px;
	color    : inherit;
	line-height: 1;
}
.md-bkn-card__info {
	padding: 5px 10px 12px;
}
.popular .md-bkn-card__info {
	padding: 0 10px 5px;
}

.md-bkn-card__between {
	display        : flex;
	justify-content: space-between;
	margin: 0 0 2px;
}
.md-bkn-card__price-down {
	display: flex;
	gap: 10px;
}
.md-bkn-card__favorite {
	margin: -22px 0 0;
}
.price-down {
	display: inline-block;
	margin: 0 0 3px;
	padding: 1px 5px 0;
	border: 1px solid var(--strong-color);
	font-size: 12px;
	color: var(--strong-color);
}

.md-bkn-card__point {
	margin: 0 0 1px;
	font-size  : 13px;
	color    : var(--gray-text);
	text-overflow: ellipsis;
	overflow     : hidden;
	white-space  : nowrap;
}
.md-bkn-card__point br {
	display: none;
}
.md-bkn-card__name {
	margin: 0 0 5px;
	font-size: 13px;
	font-weight: bold;
	text-overflow: ellipsis;
	overflow     : hidden;
	white-space  : nowrap;
}
.md-bkn-card__text {
	font-size: 13px;
}

/* スライダー高さを揃える
--------------------------- */
.md-full-screen-slider__list .slick-track {
	display: flex;
}
.md-full-screen-slider__list :is(.md-full-screen-slider__items, .md-bkn-card){
	height: 100%;
}

/* スライダー用
--------------------------- */
.md-full-screen-slider__list .slick-list {
	overflow: visible;
}

/*-------------------------------------------------------------------------
リスト型物件
-------------------------------------------------------------------------*/

.md-bkn {
	display              : grid;
	gap                  : 30px;
	grid-template-columns: 1fr 1fr 1fr;
	margin: 0 0 40px;
}
.md-bkn__items {
	min-width: 200px;
}
.md-bkn__link {
	display: block;
}
.md-bkn__img {
	height: 185px;
	margin: 0 0 8px;
	position: relative;
}
.md-bkn__img img {
	position: relative;
	z-index: 0;
}
.md-bkn__swtich {
	position: absolute;
	bottom  : 6px;
	right   : 6px;
	z-index : 1;
}
.md-bkn__address {
	text-overflow: ellipsis;
	overflow     : hidden;
	white-space  : nowrap;
	font-size: 15px;
}
.md-bkn__floor {
	margin: 1px 0 -2px;
	font-size: 17px;
}
.md-bkn__price {
	display: flex;
	align-items: baseline;
	font-size  : 16px;
}
.md-bkn__price span {
	font-size  : 21px;
	font-weight: bold;
}

/*-------------------------------------------------------------------------
よく見られる物件
-------------------------------------------------------------------------*/

.popular {
	padding: 50px 30px 60px;
}
[data-tab-contents][aria-hidden="true"].popular {
	padding: 0;
}
.md-tab {
	margin-bottom: 20px;
	box-shadow: none;
	position: relative;
}
.md-tab::before {
	content: "";
	width: 100%;
	height: 3px;
	background-color: var(--bg-light-gray);
	position: absolute;
	bottom: 0;
	left: 0;
}

.popular:last-child,
.ui-section-inner .popular {
	margin-block: 0;
}
.popular__ttl {
	margin: 0 0 25px;
	font-size  : 20px;
	font-weight: bold;
	text-align: center;
}
.popular__list {
	display        : flex;
	gap            : 30px;
	justify-content: center;
}
.popular__items {
	width: 204px;
	counter-increment: rank;
	position: relative;
}
.popular__items:before {
	content: counter(rank);
	width: 27px;
	height: 27px;
	border-radius: 50%;
	display    : grid;
	place-items: center;
	position: absolute;
	top     : -10px;
	left    : -10px;
	font-weight: bold;
	color      : #fff;
	z-index    : 1;
}
.popular__items:first-child:before             { background-color: var(--rank1);}
.popular__items:nth-child(2):before            { background-color: var(--rank2);}
.popular__items:nth-child(3):before            { background-color: var(--rank3);}
.popular__items:not(:nth-child(-n + 3)):before { background-color: var(--rank-under);}

.popular__img {
	height: 153px;
	margin: 0 0 6px;
}
.popular__text {
	text-overflow: ellipsis;
	overflow     : hidden;
	white-space  : nowrap;
}
.md-bkn-recommend__label {
	position: absolute;
	background-color: #fff;
	border: 1px solid #78909c;
	border-radius: 50px;
	margin: 10px 0 0 10px;
	padding: 1px 10px;
	font-size: 10px;
	z-index: 1;
}
.md-bkn-popular__label {
	position: absolute;
	background-color: #fff;
	border: 1px solid #78909c;
	border-radius: 50px;
	top: 126px;
	right: 10px;
	padding: 1px 10px;
	font-size: 10px;
	z-index: 1;
}
.md-members-only-info .md-top-popular-btn {
	width: 190px;
	height: 39px;
	font-size: 12px;
	padding-left: 10px;
}
.md-members-only-info .md-top-kodawari-btn {
	width: 243px;
	height: 39px;
	font-size: 16px;
	padding-left: 10px;
}

/*-------------------------------------------------------------------------
新着物件動画
-------------------------------------------------------------------------*/

.newbknmovie-section {
	height: auto;
	padding: 50px 0 60px;
}
.newbknmovie__list {
	display: flex;
	gap: 30px;
	align-items: center;
	justify-content: center;
}
.newbknmovie__list {
	display: flex;
	gap: 30px;
	align-items: center;
	justify-content: center;
}
.newbknmovie-section:last-child {
	margin-block: 0;
}
.newbknmovie_p {
	margin-bottom: 10px;
}
.newbknmovie__items {
	width: 204px;
	counter-increment: rank;
	position: relative;
	text-align: center;
}
.newbknmovie__link {
	display: block;
	width: 220px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
/*-------------------------------------------------------------------------
無料会員サービスのご案内
-------------------------------------------------------------------------*/

.guide {
	display: grid;
	position: relative;
	margin-block: 80px;
}

/* CARD
--------------------------- */
.guide__card {
	width: 500px;
	background-color: #fff;
	border: 1px solid var(--border-color);
	box-shadow: var(--box-shadow);
	border-radius: 8px;
	margin: auto;
	padding: 40px 80px;
	position: relative;
	grid-area: 1 / 1;
}
.guide__text {
	margin: 0 0 8px;
	text-align: center;
	white-space: nowrap;
}
.guide__counter {
	display        : flex;
	gap            : 10px;
	align-items    : center;
	justify-content: center;
	margin: 0 0 16px;
}
.guide__list {
	display    : flex;
	gap        : 3px;
	align-items: center;
}
.guide__ttl,
.guide__num {
	font-size: 12px;
}
.guide__num span {
	font-size  : 18px;
	font-weight: bold;
}
.guide__list:last-child .guide__num span {
	color: var(--strong-color);
}
.guide__arw {
	display: flex;
	gap    : 5px;
}
.guide__arw svg {
	width: 16px;
	height: 7px;
	fill: var(--main-color);
}
.guide__form > * + * {
	margin: 16px 0 0;
}
.guide__form legend {
	margin: 0 0 2px;
	font-size: 12px;
	color    : var(--light-text-color);
}
.guide__form .ui-login-regist-btn {
	width: 100%;
}

/* 物件
--------------------------- */
.guide__slider-wrap {
	overflow: hidden;
	grid-area: 1 / 1;
	padding: 100px 0 0;
}
.guide__slider {
	/*        width: 1000px;*/
	width: calc(600px + 38px);
	margin: auto;
}
.guide__slider .slick-list {
	overflow: visible;
}
.guide-bkn {
	width: 300px;
	height: 289px;
	background-color: #fff;
	border-radius: 4px;
	box-shadow: var(--box-shadow);
	margin: 0 0 10px;
	overflow: hidden;
}
.guide-bkn__img {
	height: 225px;
	margin: 0 0 12px;
}
.guide-bkn__text1,
.guide-bkn__text2 {
	height: 12px;
	background-color: var(--bg-light-gray);
	margin-left: 12px;
}
.guide-bkn__text1 {
	width: 140px;
	margin-bottom: 8px;
}
.guide-bkn__text2 {
	width: 71px;
}

/*-------------------------------------------------------------------------
お客様の声
-------------------------------------------------------------------------*/

.customer-voice {
	width: var(--screen-size);
	margin-inline: auto;
	padding: 50px 0;
}

/*パターン１
--------------------------- */
.md-voice {
	margin: 0 0 40px;
}
.md-voice > * + * {
	margin: 20px 0 0;
}
.md-voice__items {
	display    : flex;
	gap        : 10px;
	align-items: center;
}
.md-voice__thum {
	width: 100px;
	height: 100px;
}
.md-voice__thum-big {
	width: 200px;
	height: 200px;
}
.md-voice__link {
	flex: 1;
	background-color: var(--main-light-color);
	border-radius: 8px;
	padding: 20px;
	display        : flex;
	gap            : 20px;
	align-items    : center;
	justify-content: space-between;
}
.md-voice__name {
	margin-bottom: 3px;
	font-size: 16px;
	font-weight: 700;
	color      : var(--light-text-color);
}
.md-voice__link svg {
	min-width: 13px;
	width: 13px;
	height: 13px;
	fill: var(--main-color);
}

/*-------------------------------------------------------------------------
トップオリで使用していると思われるお客様の声用
-------------------------------------------------------------------------*/
.md-voice__name-2 {
	margin-bottom: 3px;
	font-size: 16px;
	font-weight: 700;
	color      : var(--light-text-color);
	white-space: nowrap;
	width: 275px;
	overflow: hidden;
	text-overflow: ellipsis;
}
.md-voice__link-img-main {
	flex: 1;
	background-color: var(--main-light-color);
	border-radius: 8px;
	padding: 20px;
	margin: 15px 0 0 0;
	display        : flex;
	gap            : 20px;
	align-items    : center;
	justify-content: space-between;
}
.md-voice__link-img-main svg {
	min-width: 13px;
	width: 13px;
	height: 13px;
	fill: var(--main-color);
}
.md-voice-pattern2 {
	display: grid;
	gap: 40px 30px;
	grid-template-columns: 1fr 1fr 1fr;
	margin: 0 0 58px;
	width:1140px;
}
.customer_voice-card {
	height: 260px;
	width: 360px;
}
dd.md-voice__text-pattern2 {
	height: 124px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	text-overflow: ellipsis;
}
.customer-voice {
	padding: 50px;
	margin-inline: auto;
	width: 1240px;
}


/*-------------------------------------------------------------------------
任意
-------------------------------------------------------------------------*/

.feature {
	margin-block: 40px 80px;
	padding: 40px;
}
.feature.is-bg-color {
	background-color: var(--main-light-color);
	position: relative;
}
.feature__list {
	display        : flex;
	gap: 40px;
	justify-content: center;
}

/* 重なり合う
--------------------------- */
.feature__link {
	display: grid;
}
.feature__img,
.feature__contents {
	grid-area: 1 / -1;
}
.feature__img {
	width: 255px;
	height: 170px;
	margin: 0 40px 0 0;
}
.feature__img img {
	width: 100%;
}
.feature__contents {
	display        : flex;
	align-items    : flex-end;
	justify-content: flex-end;
	padding: 0 0 20px;
}
.feature__heading {
	width: 80%;
	background-color: #fff;
	border-radius: 6px;
	padding: 9px 10px 7px 15px;
	display        : flex;
	gap            : 10px;
	align-items    : center;
	justify-content: space-between;
}
.feature__card .feature__heading {
	width: 100%;
}
.figure__ttl {
	font-size  : 19px;
	font-weight: bold;
	line-height: 1.36;
	overflow          : hidden;
	display           : -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.figure__more {
	display    : flex;
	gap        : 5px;
	align-items: center;
	font-size  : 12px;
	font-weight: bold;
	color      : var(--sub-color);
}
.figure__more svg {
	width: 28px;
	height: 28px;
	fill: var(--sub-color);
}

/* ２段カード
--------------------------- */
.feature__card {
	display: block;
	background-color: #fff;
	border-radius: 4px;
	box-shadow: var(--box-shadow);
	overflow: hidden;
}
.figure__card-img {
	height: 45vw;
}

/* カード（要素が重なる）
--------------------------- */
.overlap-card {
	display: grid;
}
.overlap-card__img,
.overlap-card__contents {
	grid-area: 1 / -1;
}
.overlap-card__img {
	height: 37vw;
}
.overlap-card__contents {
	background-color: rgba(69,90,100,.5);
	display        : flex;
	gap            : 20px;
	align-items    : center;
	justify-content: space-between;
	padding: 0 19px 0 30px;
}
.overlap-card__ttl {
	font-size  : 26px;
	font-weight: bold;
	color      : #fff;
	line-height: 1.1;
	overflow          : hidden;
	display           : -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.overlap-card__arw svg {
	width: 31px;
	height: 31px;
	fill: #fff;
}

/*-------------------------------------------------------------------------
その他
-------------------------------------------------------------------------*/

.banner-list {
	display        : flex;
	gap            : 40px;
	flex-wrap      : wrap;
	justify-content: center;
}
.banner-list a {
	max-width: 800px;
	margin: 30px 0;
}
.banner-items {
	text-align: center;
}
.movie-item iframe {
	width: 100%;
	height: 458px;
}
.line-btn {
	width: 100%;
	margin: auto;
	font-size  : 20px;
	font-weight: bold;
	color      : #fff;
}
.banner-group-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 1000px;
	margin : 30px auto;
	gap: 10px 10px;
}
.columns1 .banner-group-list {
	min-width: 510px;
	display: flex;
	justify-content: center;
}
.columns2 .banner-group-list {
	width: 480px;
}
.columns2 .banner-group-list:nth-child(2n+1) {
	text-align: right;
}
.columns2 .banner-group-list:nth-child(2n) {
	text-align: left;
}
.columns3 .banner-group-list {
	width: 310px;
}
.columns3 .banner-group-list:nth-child(3n+1) {
	text-align: right;
}
.columns3 .banner-group-list:nth-child(3n+2) {
	text-align: center;
}
.columns3 .banner-group-list:nth-child(3n) {
	text-align: left;
}
.columns2 .banner-group-list.last-line,
.columns3 .banner-group-list.last-line {
	text-align: center;
}

/*-------------------------------------------------------------------------
ブログ
-------------------------------------------------------------------------*/

.blog__list {
	display: grid;
	gap    : 30px;
	grid-template-columns: 247px 247px 247px;
	margin: 0 0 30px;
}
.blog__list li {
	background-color: #fff;
	box-shadow: var(--box-shadow);
	border-radius: 8px;
	overflow: hidden;
}
.blog__card {
	display: block;
	overflow: hidden;
}
.blog__img {
	height: 139px;
}
.blog__info {
	padding: 10px;
}
.blog__between {
	display        : flex;
	align-items    : center;
	justify-content: space-between;
	margin: 0 0 7px;
}
.blog__tag {
	background-color: var(--bg-dark-transparent);
	padding: 3px;
	font-size: 12px;
	color    : #fff;
	line-height: 1;
}
.blog__time time {
	font-size: 12px;
	color    : var(--light-text-color);
}
.blog__text {
	font-weight: bold;
}
.blog__tag-list {
	width: 400px;
	margin: 0 auto 50px;
	display        : flex;
	gap            : 6px;
	flex-wrap      : wrap;
	justify-content: center;
}
.blog__tag-list a {
	padding: 0 12px;
}

.search_detail_method-rent,
.search_detail_method-buy {
	display: flex;
	gap: 10px;
	justify-content: center;
}

/*-------------------------------------------------------------------------
こだわりタブ
-------------------------------------------------------------------------*/
.ui-narrow-section__bkntab {
	width: var(--screen-size);
	margin-inline: auto;
}
.md-tab.kodawaritab {
	justify-content: space-between;
	align-items: normal;
}
.md-tab.blogtab {
	justify-content: space-between;
	align-items: normal;
	padding-top: 60px;
}
.md-tab__items.kodawaritab,
.md-tab__items.blogtab {
	width: 100%;
}
.md-bkntab {
	display: grid;
	gap: 30px;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	margin: 0 0 40px;
}
[data-kodawaritab-contents][aria-hidden="true"],
[data-blogtab-contents][aria-hidden="true"] {
	opacity: 0;
	visibility: hidden;
	height: 0;
}

[data-kodawaritab-contents][aria-hidden="false"],
[data-blogtab-contents][aria-hidden="false"] {
	opacity: 1;
	visibility: visible;
	height: auto;
}

/*-------------------------------------------------------------------------
緊急対応の為後ほど改めて修正後削除します
-------------------------------------------------------------------------*/

.about .ui-hgroup {
	margin: 0 0 30px;
}
.about hgroup .ui-title--center {
	margin: 0;
}
.about hgroup .ui-sub-title {
	position: static;
}

/*-------------------------------------------------------------------------
コンテンツ
-------------------------------------------------------------------------*/
.section__contents-link {
	.link-menu {
		display: flex;
		justify-content: center;
	}

	.link-menu__btn {
		margin: 0 15px;
		width: 400px;
		height: 100px;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #F9FAFB;
		box-shadow: 0 3px 6px rgba(0, 40, 93, .12);
		border: 1px solid var(--main-color);
		border-radius: 8px;
		position: relative;
		overflow: hidden;
		font-size: 24px;
		font-weight: bold;
		color: #222;
		text-decoration: none;
	}
	.link-menu__btn:after {
		content: "";
		border-width: 30px 30px 0px 0;
		border-style: solid;
		border-color: transparent var(--main-color) transparent transparent;
		position: absolute;
		bottom: 0;
		right: 0;
	}
	.link-menu__arw {
		width: 5px;
		height: 5px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		position: absolute;
		bottom: 7px;
		right: 10px;
		z-index: 1;
		transform: rotate(45deg);
	}
}

/*-------------------------------------------------------------------------
更新情報
-------------------------------------------------------------------------*/

.main_table a {
	color: #07519A;
	text-decoration: none;
}
.main_table a:hover {
	color: #CC0000;
	text-decoration: underline;
}

/* Slider */
.slick-slider
{
	position: relative;

	display: block;
	box-sizing: border-box;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list
{
	position: relative;

	display: block;
	overflow: hidden;

	margin: 0;
	padding: 0;
}
.slick-list:focus
{
	outline: none;
}
.slick-list.dragging
{
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track
{
	position: relative;
	top: 0;
	left: 0;

	display: block;
	margin-left: auto;
	margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
	display: table;

	content: '';
}
.slick-track:after
{
	clear: both;
}
.slick-loading .slick-track
{
	visibility: hidden;
}

.slick-slide
{
	display: none;
	float: left;

	height: 100%;
	min-height: 1px;
}
[dir='rtl'] .slick-slide
{
	float: right;
}
.slick-slide img
{
	display: block;
}
.slick-slide.slick-loading img
{
	display: none;
}
.slick-slide.dragging img
{
	pointer-events: none;
}
.slick-initialized .slick-slide
{
	display: block;
}
.slick-loading .slick-slide
{
	visibility: hidden;
}
.slick-vertical .slick-slide
{
	display: block;

	height: auto;

	border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
	display: none;
}

.l-header *,
.modal__section * {
	font-family: var(--default-font);
	color: var(--font-color);
}

.l-header {
	border-top: 8px solid #E60012;
}
.header__inner {
	width: 1140px;
	padding: 20px 0 42px;
	align-items: flex-start;
}
.header__logo {
	padding-top: 10px;
	align-items: flex-start;
}
.header__logo:hover {
	opacity: 1;
}
.header__logo img {
	max-width: none;
	max-height: none;
}
.header__logo__text {
	font-size: 20px;
	font-weight: 700;
	margin-left: 10px;
	color: var(--red);
	padding-top: 10px;
}
.header__service {
	display: flex;
}
.header__service__link {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.header__service__link--favorite {
	margin-right: 55px;
	padding-top: 3px;
}
.header__service__link--history {
	margin-right: 61px;
}
.header__service__link--menu {
	padding-top: 4px;
	margin-right: 4px;
}
.header__service__link--icon {
	display: flex;
	align-items: center;
	justify-content: center;
}
.header__service__link--favorite .header__service__link--icon {
	width: 36px;
	height: 34px;
	margin-bottom: 14px;
}
.header__service__link--history .header__service__link--icon {
	width: 41px;
	height: 41px;
	margin-bottom: 10px;
}
.header__service__link--menu .header__service__link--icon {
	margin-bottom: 21px;
}
.header__service__link--title {
	font-size: 14px;
	font-weight: 700;
}

/* modal */
.modal__section {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 11;
}
.modal__bg {
	background-color: rgba(255, 255, 255, 0.8);
}
.modal__width {
	width: 647px;
	height: 100vh;
	padding: 43px 40px 43px 106px;
}
.modal__inner {
	position: relative;
}
.modal__list--top {
	border-bottom: 1px solid #4B4B4B;
	padding-bottom: 11px;
}
.modal__list--bottom li:not(:last-child) {
	margin-bottom: 24px;
}
.modal__item {
	display: flex;
}
.modal__item--favorite {
	gap: 27px;
	margin-bottom: 32px;
}
.modal__item--history {
	gap: 22px;
	margin-bottom: 32px;
}
.modal__link--title {
	padding-top: 4px;
	font-size: 14px;
	font-weight: 700;
}
.modal__item--history .modal__link--title {
	padding-top: 8px;
}
.modal__list--bottom {
	padding-top: 42px;
	padding-left: 6px;
}
.modal__close {
	position: absolute;
	top: 0;
	right: 0;
}

/* corporate */
.corporate-l-header {
	height: 109px;
}
.corporate-header__inner {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 109px;
	border-top: 18px solid var(--red);
	background-color: #FFFFFF;
	z-index: 10;
}
.corporate-header__row {
	display: flex;
	align-items: center;
	width: 1140px;
	height: 91px;
	margin: 0 auto;
	gap: 169px;
	padding: 22px 0;
}
.corporate-header__logo:hover {
	opacity: 1;
}
.corporate-header__right {
	display: flex;
	padding-top: 10px;
	gap: 45px;
}
.corporate-header__gnav {
	display: flex;
	align-items: center;
	gap: 59px;
}
.corporate-header__gnav a {
	font-size: 14px;
	font-weight: 700;
}
.corporate-header__contact-button a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 162px;
	height: 37px;
	background-color: var(--red);
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 700;
	border-radius: 20px;
	padding-right: 2px;
}
.corporate-header__contact-button a::before {
	content: '';
	background: url(/images/corporate/top/icn_header_contact.png) no-repeat center / contain;
	display: block;
	width: 18px;
	height: 12px;
}

/* policy contact
-----------------------*/
.contact-l-header {
	height: 150px;
}
.contact-header__inner {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 150px;
	background-color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	border-top: 9px solid #E60012;
	z-index: 10;
}
.contact-header__logo {
	display: block;
	width: fit-content;
}
.contact-header__logo:hover {
	opacity: 1;
}


/*-------------------------------------------------------------------------

-------------------------------------------------------------------------*/
.l-footer * {
	font-family: var(--default-font);
	color: var(--font-color);
}
.l-footer {
	position: relative;
	padding: 0;
	background-color: unset;
}
.footer__inner {
	width: auto;
	display: block;
}
.footer__list__top {
	padding: 49px 0 64px 0;
	background: #DC000C;
}
.footer__list__content {
	width: 1140px;
	margin: 0 auto;
}
.footer__list__list {
	display: flex;
}
.footer_rent_item {
	padding-right: 175px;
}
.footer__pref__item {
	padding-right: 134px;
}
.footer__madori__item {
	padding-right: 180px;
}
.footer__list__item__title {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 7px;
	position: relative;
	color: #fff;
}
.footer__list__item__title--2 {
	margin-top: 25px;
}
.footer__list__link__list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.footer__list__link__item {
	font-size: 14px;
	color: #fff;
}
.footer__list__link__item li {
	margin-bottom: 3.5px;
}
.footer__list__item--shop {
	display: flex;
	justify-content: space-between;
	padding-left: 30px;
	margin-bottom: 93px;
}
.footer__list__item__title--shop a {
	font-size: 21px;
	font-weight: 700;
	position: relative;
}
.footer__list__link__list--shop {
	display: flex;
	flex-wrap: wrap;
	width: 951px;
	padding: 4px 3px;
	gap: 10px;
}
.footer__list__link__item--shop {
	font-size: 14px;
	font-weight: 500;
}
.footer__list__bottom {
	position: relative;
	padding: 62px 0;
}
.footer__list__bottom:before {
	content: "";
	position: absolute;
	background: url(/images/top/bg_footer.png) no-repeat bottom / cover;
	width: 100%;
	height: 191px;
	bottom: -54px;
	z-index: -1;
}
.footer__info__content {
	position: relative;
	width: 1140px;
	margin: 0 auto;
}
.footer__logo__list {
	display: flex;
	gap: 56px;
	width: 641px;
	margin: 0 auto 60px;
}
.footer__logo__item.logo_item_01 {
	padding-top: 13px;
	display: block;
}
.footer__info__list {
	display: flex;
	text-align: center;
	gap: 19px;
	width: 600px;
	margin: 0 auto 76px;
}
.footer__sns__text {
	text-align: center;
	margin-bottom: 14px;
}
.footer__sns__img {
	text-align: center;
	margin-bottom: 35px;
}
.footer__sns__list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 35px;
}
.page__top__img {
	display: none;
	position: fixed;
	bottom: 0;
	right: 44px;
	z-index: 8;
}

/* corporate */
.corporate-l-footer {
	background-color: #FFFFFF;
	padding: 0;
}
.corporate-l-footer * {
	font-family: var(--sub-font);
	color: var(--font-color);
}
.corporate-footer__inner {
	display: block;
	padding: 73px 0 93px;
	width: var(--screen-size);
	margin: 0 auto;
}
.corporate-footer__upper {
	display: flex;
	gap: 150px;
	margin-bottom: 38px;
}
.corporate-footer__list__title {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 26px;
	padding-left: 4px;
}
.corporate-footer__shop .corporate-footer__list__title {
	margin-bottom: 0;
	padding-left: 0;
}
.corporate-footer__sns .corporate-footer__list__title {
	padding-left: 0;
	margin-bottom: 14px;
}
.corporate-footer__item {
	font-size: 18px;
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	gap: 13px;
}
.corporate-footer__item--blank::after {
	content: '';
	background: url(/images/corporate/top/icn_footer_blank.png) no-repeat center / contain;
	display: block;
	width: 22px;
	height: 19px;
}
.corporate-footer__shop {
	display: flex;
	gap: 182px;
	margin-bottom: 43px;
}
.corporate-footer__list--shop {
	display: flex;
	flex-wrap: wrap;
	gap: 0 16px;
}
.corporate-footer__list--shop li {
	position: relative;
}
.corporate-footer__list--shop li:not(:last-child)::after {
	content: '｜';
	display: block;
	font-size: 18px;
	position: absolute;
	top: 6px;
	right: -17px;
}
.corporate-footer__item--shop {
	font-size: 18px;
	line-height: 2;
	letter-spacing: -0.02em;
}
.corporate-footer__list--sns {
	display: flex;
	align-items: center;
	gap: 33px;
}
.corporate-footer__sns {
	margin-bottom: 116px;
}
.corporate-footer__lower {
	display: flex;
	justify-content: space-between;
}
.corporate-footer__list--corporate {
	display: flex;
	gap: 27px;
	margin-bottom: 60px;
}
.corporate-footer__item--corporate {
	font-size: 18px;
	display: flex;
	align-items: center;
	gap: 21px;
	letter-spacing: -0.02em;
}
.corporate-footer__item--corporate::after {
	content: '';
	background: url(/images/corporate/top/icn_footer_blank.png) no-repeat center / contain;
	display: block;
	width: 22px;
	height: 19px;
}
.corporate-footer__copyright {
	font-size: 12px;
}

/* policy contact
-----------------------*/
.contact-l-footer {
	padding-bottom: 77px;
	background-color: #FFFFFF;
}
.contact-footer__inner {
	width: 1140px;
	margin: 0 auto;
}
.contact-footer__logo {
	display: block;
	width: fit-content;
	margin: 0 auto 51px;
}
.contact-footer__logo:hover {
	opacity: 1;
}
.contact-footer__list {
	display: flex;
	gap: 142px;
	margin-bottom: 58px;
}
.contact-footer__item {
	padding-left: 30px;
}
.contact-footer__item__title {
	font-size: 21px;
	font-weight: 700;
	margin-bottom: 7px;
	position: relative;
}
.contact-footer__item__title--2 {
	margin-top: 25px;
}
.contact-footer__item__title::before {
	content: '';
	background: url(/pg-contact/images/icn_footer_arrow.png) no-repeat center / contain;
	display: block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 7px;
	left: -26px;
}
.contact-footer__link__list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.contact-footer__link__item {
	font-size: 14px;
}
.contact-footer__item--shop {
	display: flex;
	justify-content: space-between;
	padding-left: 30px;
	margin-bottom: 93px;
}
.contact-footer__item__title--shop a {
	font-size: 21px;
	font-weight: 700;
	position: relative;
}
.contact-footer__item__title--shop a::before {
	content: '';
	background: url(/pg-contact/images/icn_footer_arrow.png) no-repeat center / contain;
	display: block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 7px;
	left: -26px;
}
.contact-footer__link__list--shop {
	display: flex;
	flex-wrap: wrap;
	width: 951px;
	padding: 4px 3px;
	gap: 10px;
}
.contact-footer__link__item--shop {
	font-size: 14px;
	font-weight: 500;
}
.contact-footer__lower {
	display: flex;
	position: relative;
	margin-bottom: 72px;
}
.contact-footer__logo--pds {
	margin-right: 50px;
}
.contact-footer__logo--pds a:hover {
	opacity: 1;
}
.contact-footer__link__wrap {
	padding: 5px 2px;
}
.contact-footer__link__list--upper {
	display: flex;
	gap: 37px;
	margin-bottom: 14px;
}
.contact-footer__link__item--upper {
	font-size: 13px;
}
.contact-footer__link__list--lower {
	display: flex;
	gap: 15px;
}
.contact-footer__link__item--lower {
	display: flex;
	align-items: center;
	gap: 13px;
	font-size: 11px;
}
.contact-footer__link__item--lower::after {
	content: '';
	display: block;
	background: url(/images/corporate/top/icn_footer_blank.png) no-repeat center / contain;
	width: 14px;
	height: 12px;
}
.contact-footer__sns {
	position: absolute;
	right: 7px;
	top: -30px;
}
.contact-footer__sns__text {
	font-size: 10px;
	margin-bottom: 7px;
}
.contact-footer__sns__title {
	font-size: 18px;
	font-weight: 700;
	display: flex;
	align-items: center;
	margin-bottom: 17px;
}
.contact-footer__sns__title span {
	margin-right: 6px;
}
.contact-footer__sns__list {
	display: flex;
	align-items: center;
	gap: 21px;
}
.contact-footer__copyright {
	font-size: 8px;
	text-align: center;
}

/* キャンペーンバナー */
.l-footer:has(.bnr_campaign_visit) .page__top__img {
    bottom: 75px;
}

.bnr_campaign_visit {
    position: fixed;
    bottom: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 1140px;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 5;
}

.bnr_campaign_visit a {
    display: block;
}

.bnr_campaign_visit img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 18px 18px 0 0;
}
.contact-footer__logo--pds img {
    width: 275px;
    height: 64px;
}
