@charset "utf-8";
@import "common.css";

hr {
	margin: 4px 0;
}
#hbgmenu{
	display: none;
}

/* ==========================
	共通要素ココカラ
==========================*/
.container {
	width: 100%;
	margin: 0 auto;
	background: #fff;
}
.container main{
	overflow-x: hidden;
	overflow-y: clip;/* 2重スクロールバー対策 */
}
.container section {
	display: block;
	width: 100%;
	max-width: 1300px;
	padding: 0 30px;
	margin: 20px auto 60px;
	position: relative;
}
@media (max-width: 768px) {
	.container section {
		padding: 0 clamp(5px, -6.364px + 4.735vw, 30px);
	}
}


/* ページタイトル */
.pagetitle-wrap{
	background: #e8f0f5
	url('../images/pagetitle_bg.jpg') no-repeat right center / cover;
	min-height: 160px;
}

@media (max-width: 1024px) {
	.pagetitle-wrap {
		min-height: 130px;
	}
}
@media (max-width: 768px) {
	.pagetitle-wrap {
		min-height: 110px;
	}
}
@media (max-width: 480px) {
	.pagetitle-wrap {
		min-height: 90px;
	}
}


.pagetitle{
	width: 95%;
	max-width: 1260px;
	padding-top: clamp(40px,7.6923vw,80px);
	padding-bottom: clamp(40px,7.6923vw,80px);
	padding-left: 20px;
	padding-right: 20px;
	margin:0 auto;
	line-height: 1.5;
	position: relative;
	z-index: 1;
}
.pagetitle h1{
	margin-bottom: clamp(5px,0.9615vw,20px);
	line-height: 1.25;
}
.pagetitle h1 > span{
	display: block;
	font-size: clamp(22px,4.2307vw,40px);
	/*推奨値 22px ÷ 520px * 100 vw */
	letter-spacing: 4px;
	font-weight: bold;
	color: var(--black);
}
.pagetitle h1 span::first-letter{
	color: var(--subcolor);
}
.pagetitle > span{
	font-size: clamp(15px,2.8846vw,20px);
	/*推奨値 14px ÷ 520px * 100 vw */
	font-weight: bold;
	font-family: var(--en);
	letter-spacing: 1px;
	color: var(--maincolor);
}
.pagetitle > span i {
	display: inline-block;
	margin-right:0.5em;
	color: var(--maindark);
	transform: scaleX(-1);
}




.pagetitle-back{/* 背景の縁取り英語 */
	font-size: clamp(100px,19.23vw,180px);
	color:rgba(255,255,255,.5);
	font-family: 'Jost',Arial, 'Noto Sans JP',sans-serif;
	font-weight: bold;
	font-style: italic;
	text-shadow: .4px .4px 0 var(--sublight),
		-.4px .4px 0 var(--sublight),
		.4px -.4px 0 var(--sublight),
		-.4px -.4px 0 var(--sublight);
	/* text-strokeはgooglefontだとアウトラインが雑でカッコ悪いのでtextshadow */
	position: absolute;
	white-space: nowrap;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	z-index: 0;
}
@media (max-width: 768px) {
	.pagetitle-back{/* 背景の縁取り英語 */
		display:none;
	}
}
h2.def{
	position: relative;
	padding: 1.5rem 0 clamp(20px,3.8461vw,30px);
	margin-bottom: 40px;
	font-weight: bold;
	font-size: clamp(18px,3.4615vw,26px);
	text-align: center;
	line-height: 1.5;
	letter-spacing: 1px;
	background: linear-gradient(90deg, var(--subcolor) 0% 50%, #333 50%);
	background-repeat: no-repeat;
	background-size: clamp(35px,6.73vw,50px) clamp(4px,0.7692vw,7px);
	background-position: bottom;
	color: var(--black);
}
/* ==========================
	ヘッダーここから
==========================*/
/* -----------------------------------
	ヘッダー大外
----------------------------------- */
header.sidebar {
	z-index: 999;
	position: fixed;
	 left: 0;
	top: 0;
	width: 250px;
	height: 100vh;
	background-color: var(--maincolor);
	box-shadow: 3px 0 10px rgba(0, 0, 0, 0.15);
	overflow-y: auto;
	overflow-x: hidden;
}
header.sidebar > .sidebar-inner{
	position: relative;/* ナビ子メニューの起点にするため */
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}
/* -----------------------------------
	ヘッダーロゴ
----------------------------------- */
header.sidebar .headlogo {
	background:var(--mainhighlight);
}
header.sidebar .headlogo h1,
#footerabout div.company a.footlogo h1{
	transition: all .3s;
}
header.sidebar .headlogo:hover h1,
#footerabout div.company a.footlogo:hover h1{
	opacity: .65;
}
header.sidebar .headlogo h1{
	position: relative;
	top: 0;
	width: 130px;
	height: 140px;
	margin: 25px auto;
/	filter: brightness(0) invert(1);
	background-image: url('../images/common/logo_y.svg');
	background-repeat: no-repeat;	
	background-position: center;
	background-size: contain;
	text-indent: -9999px;
}
/* -----------------------------------
	ヘッダーメインメニュー
----------------------------------- */
header.sidebar .sidebar-nav {
	display: block;
	width: 100%;
}
.menu-wrap{
	width: 170px;
	height: 100%;
	text-align: center;
}
.has-child{
	position: relative;
	height: 100%;
}
.menuttl{
	font-size: 15px;
	color: var(--black);
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .25s;
}
.menuttl:hover,
.has-child:hover .menuttl{
	color: var(--pincolor);
}
.has-child .menuttl{
	pointer-events: none;
	position: relative;
	height: 100%;
}
.menu-wrap:not(.has-child) .menuttl{
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
}
.menu-dropdown {
	min-width: 100%;
	position: absolute;
	background-color: rgba( 249, 250, 251, 0.98);
	box-shadow: 0px 5px 10px 0 rgba(0, 0, 0, 0.1);
	transition: all .25s;
}
.menu-dropdown > * {/* hoverした時のプロパティ */
	overflow: hidden;
	height: 30px;
	font-size: 15px;
	background: rgba(0,0,0,0);
	white-space: nowrap;
	transition: 
		0.5s height cubic-bezier(.73,.32,.34,1.5),
		0.5s padding cubic-bezier(.73,.32,.34,1.5),
		0.5s margin cubic-bezier(.73,.32,.34,1.5),
		0.5s 0.2s color,
		0.2s background-color
	;
}
.menu-wrap:not(:hover) > .menu-dropdown > * {
	visibility: hidden;
	height: 0;
	padding-top: 0;
	padding-bottom: 0;
	margin: 0;
	border-bottom: 0px solid rgba(0, 0, 0, 0);
	transition: 
		0.5s 0.1s height,
		0.5s 0.1s padding,
		0.5s 0.1s margin,
		0.3s color,
		0.6s visibility,
		0.5s border-bottom
	;
}
.menu-dropdown li:first-of-type{
	box-shadow: 0px 10px 10px -10px rgba(0, 0, 0, 0.1) inset;
}
.menu-dropdown li:not(:last-of-type){
	border-bottom: 1px solid var(--sublight);
}
.menuchild{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 70px;
}
.menuchild a{
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
}
.menuchild a span{
	color: var(--black);
	transition: all .25s;
}
.menuchild a:hover span{
	color: var(--pincolor);
}
#menu-contact_btn{
	background: var(--pincolor);
	transition: all .25s;
}
#menu-contact_btn a{
	color: #fff;
}
#menu-contact_btn:hover{
	background: var(--maincolor);
}
#menu-contact_btn a span{
	display: flex;
	flex-direction: column;
	gap: 5px;
}
#menu-contact_btn a span::before{
    content: '\f0e0'; /* 追記したコード */
    font-family: 'Font Awesome 6 Free'; /* 追記したコード */
    font-weight: 700; /* 追記したコード */
    color: #ffffff;
	font-size: 20px;
    display: inline-block;
	transition: all .25s;
}
#menu-contact_btn a:hover span::before{
	content: '\f2b6';
}
/* ==========================
	ヘッダーここまで
==========================*/
/* ==========================
  SP用ロゴバー（768px以下）
========================== */
@media (max-width: 768px) {
  .sp-logo-bar {
    display: block;
	max-width:180px;
    width: calc(100% - 70px);
    height: 30px;
    background: var(--mainhighlight) url('../images/common/logo.svg') no-repeat center / auto 20px;
    border-radius: 0 0 20px 0;
    box-shadow: 2px 2px 6px rgba(0,0,0,0.08);
  }
}
/* ==========================
	フッターここから
==========================*/
/* ハンバーガーメニュー時（≤768px）はフッター全体非表示 */
@media (max-width: 768px) {
	#footerabout{
		display: flex;
		justify-content: center;
		padding:25px 0 !important;
	}
	.footermenu {
		display: none;
	}
	.site-footer {
		display: block;
	}

}
@media (min-width: 769px) {
	#footerabout,
	.footermenu{
		padding-left: 250px;
	}
}
#footerabout {
	display: flex;
	justify-content: center;
	width:100%;
	padding:25px 0px 25px 280px;
	background:rgba(238,249,219,0.8);
}
#footerabout .footerabout_inner p {
	text-align:center;
}

.footer-brand-inner {
    display: flex;
    align-items: center;
    gap: 0;
    width: 92%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 44px 0;
}

/* ロゴ */
.footer-logo {
	display: block;
	flex-shrink: 0;
	width:clamp(200px, 191.429px + 3.571vw, 260px);
	height: 60px;
	margin:0 auto;
	background-image: url('../images/common/logo.svg');
	background-repeat: no-repeat;
	background-position: center left;
	background-size: contain;
	transition: opacity .25s;
}
.footer-logo h1 {
	text-indent: -9999px;
	margin: 0;
	height: 100%;
}
.footer-logo:hover {
	opacity: .65;
}

/* 会社情報テキスト */
.footer-info p {
	color:var(--blacksub);
}
.footer-company-name {
	font-size: clamp(15px, 1.5vw, 18px);
	font-weight: 700;
	margin-bottom: 4px;
	letter-spacing: 1px;
}
.footer-license {
	font-size: 12px;
	margin-bottom: 4px;
	letter-spacing: .5px;
}
.footer-addr {
	font-size: 13px;
	margin-bottom: 10px;
	letter-spacing: .5px;
}
.footer-tel a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	letter-spacing: 2px;
	font-family: var(--en_r);
	font-size: clamp(22px, 2.2vw, 28px);
	font-weight: 700;
	color:var(--blacksub);
	transition: color .25s;
}
.footer-tel a i {
	font-size: .75em;
	color: var(--maincolor);
}
.footer-tel a:hover {
	color: var(--pincolor);
}

/* レスポンシブ: 縦積み */
@media (max-width: 680px) {
    .footer-brand-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 32px 0;
        gap: 0;
    }
    .footer-divider {
        width: 40px;
        height: 1px;
        margin: 20px 0;
    }
}

/* --- フッターナビ --- */
.footermenu {
    width: 100%;
    background: var(--mainhighlight);
    padding: 12px 0;
}
.footermenu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    max-width: 1300px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    row-gap: 4px;
}
.footermenu ul li {
    border-right: 1px solid var(--subcolor);
}
.footermenu ul li:last-of-type {
    border-right: none;
}
.footermenu ul li a {
    display: block;
    padding: 6px 20px;
    font-size: 13px;
    color: var(--black);
    transition: color .25s;
}
.footermenu ul li a:hover {
    color: var(--pincolor);
}
@media (max-width: 900px) {
    .footermenu ul li a {
        padding: 6px 14px;
        font-size: 12px;
    }
}

/* --- コピーライト --- */
#copyright {
    background: var(--maincolor);
    color: rgba(255,255,255,.7);
    text-align: center;
    padding: 13px 0;
    font-size: 12px;
    letter-spacing: .5px;
    border-top: 1px solid rgba(255,255,255,.1);
}

/* ==========================
    フッターここまで
==========================*/
/* ==========================
    ページトップここから
==========================*/
.js-pagetop {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 100;
    margin: 0;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .3s, transform .3s;
    pointer-events: none;
}
.js-pagetop.is-show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.js-pagetop a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 54px;
    height: 54px;
    background: var(--maincolor);
    color: #fff;
    border-radius: 50%;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(0,0,0,.18);
    transition: background .25s, transform .25s;
}
.js-pagetop a:hover {
    background: var(--pincolor);
    transform: translateY(-3px);
}
.js-pagetop a i {
    font-size: 16px;
    line-height: 1;
}
.js-pagetop a span {
    font-size: 8px;
    letter-spacing: .5px;
    font-weight: 700;
    line-height: 1;
    font-family: var(--en_r);
}

/* ハンバーガーメニュー時も表示はキープ（スマホでも使うため） */
@media (max-width: 768px) {
    .js-pagetop {
        bottom: 16px;
        right: 16px;
        margin-left: 0;
    }
    .js-pagetop a {
        width: 46px;
        height: 46px;
    }
}

/* ==========================
    ページトップここまで
==========================*/

/*
.footermenu{
	width: 100%;
	padding: 15px 0;
}
.footermenu ul{
	display: flex;
	max-width: 1300px;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
}
.footermenu ul li:not(:last-of-type){
	border-right: 1px solid var(--subcolor);
}
.footermenu ul li a{
	padding: 15px 30px;
	font-size: 14px;
	color: var(--black);
	transition: all .25s;
}
.footermenu ul li a.font-feature{
	padding: 15px 20px;
	font-size: 13px;
}
.footermenu ul li a:hover{
	color: var(--pincolor);
}
@media(max-width:1100px){
	.footermenu ul li a{
		padding:15px 20px;
	}
	.footermenu ul li a.font-feature{
		padding:15px 15px;
	}
}
@media(max-width:950px){
	.footermenu ul{
		display: flex;
		flex-wrap: wrap;
		width: 90%;
		row-gap: 10px;
	}
	.footermenu ul::after{
		content:'';
		display: block;
		width: 25%;
		height:0;
	}
	.footermenu ul li{
		width: 25%;
		text-align: center;
	}
	.footermenu ul li a{
		width: 100%;
		display: block;
		padding: 10px 20px;
	}
	.footermenu ul li{
		border-right: 1px solid var(--subcolor);
	}
	.footermenu ul li a.font-feature{
		padding: 10px 15px;
	}
	.footermenu ul li:nth-of-type(4){
		border-right: none;
	}
}
@media(max-width:768px){
	.footermenu ul li{
		width: 50%;
	}
	.footermenu ul li:nth-of-type(even){
		border-right: none;
	}
	.footermenu ul::after{
		width: 50%;
	}
}
@media(max-width:550px){
	.footermenu{
		display: none;
	}
}
footer {
	width: 100%;
	font-size: 15px;
}
#copyright{
	background: var(--maincolor);
	color: #fff;
	text-align: center;
	padding: 16px 0;
}
#footerabout{
	background: var(--gray);
}
.footer-com_info{
	display: flex;
	width: 96%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 30px 2% 50px;
}
.footer-company h1 {
	position: relative;
	top: 0px;
	width: 190px;
	height: 40px;
	margin: 0 auto 20px 0;
	background-image: url('../images/common/logo_y.svg');
	background-repeat: no-repeat;
	background-position: 0 center;
	background-size: contain;
	text-indent: -9999px;
	transition: all .25s;
}
.footer-company h1:hover{
	opacity: 0.5;
}
.footer-company{
	font-size: 16px;
	line-height: 1.5;
}
.footer-company p{
	margin-bottom: .7em;
}
.footertel a{
	color: var(--black);
	transition: all .25s;
}
.footertel a:hover{
	color: var(--pincolor);
}
*/

/* 営業カレンダー */
@media(max-width:910px){
	.footer-com_info{
		flex-wrap: wrap;
		gap: 20px;
	}
	.footer-company{
		text-align: center;
		font-size: 14px;
	}
	.footer-company h1{
		margin: 0 auto 20px;
	}
	.footer-calendar-wrap,.footer-company {
		width: 92%;
		max-width: 600px;
		margin: 0 auto;
	}
}

/* マンスリーカレンダー */
/*
.footer-calendar-wrap,.footer-company {
	width: 48%;
	max-width: 455px;
	margin: 0 auto;
}
.calendar table{
	width: 100%;
}
.cal_holiday span{
	display: none;
}
.calendar caption{
	width: 100%;
	text-align: left;
	font-size: 16px;
	letter-spacing: 1px;
	margin-bottom: 5px;
}
.calendar caption > span{
	margin: 0 16px;
}
.strongmonth{
	font-size: 24px;
	padding: 0 2px;
}
.calendar caption button{
	background: var(--maincolor);
	border: none;
	font-size: 10px;
	color: #fff;
	padding: 4px 4px;
	line-height: 1;
	cursor: pointer;
	transition: all .25s;
}
.calendar caption button:hover{
	background: var(--pincolor);
}
.calendar table tr{
	display: flex;
	border-top: 1px solid #e1e1e1;
}
.calendar table thead tr{
	border-top: none;
	border-bottom: 1px solid #e1e1e1;
	padding-top: 5px;
	padding-bottom: 8px;
}
.calendar table tr > *{
	width: calc(100% / 7);
	font-weight: 400;
	font-size: 12px;
}
:is(.calendar table th,.calendar table td):first-of-type,
.cal_holiday p{
	color: #EB544B;
}
:is(.calendar table th,.calendar table td):last-of-type{
	color: #4072B3;
}
.calendar td{
	position: relative;
	height: 42px;
	border-left: 1px solid #e1e1e1;
}
.calendar td:last-of-type{
	border-right: 1px solid #e1e1e1;
}
.calendar td p{
	text-indent: 8px;
	padding-top: 5px;
}
.calendar td::before {
	content: "";
	position: absolute;
	left: -1px;
	bottom: 0;
	width: 1px;
	height: 24px;
	border-left: 1px solid var(--gray);
}
.calendar td:last-of-type::after{
	content: "";
	position: absolute;
	right: -1px;
	bottom: 0;
	width: 1px;
	height: 24px;
	border-right: 1px solid var(--gray);
}
.calendar td i{
	display: block;
	text-indent: 0;
	text-align: center;
	font-weight: 500;
	font-style: normal;
	padding: 2px;
	margin-top: 3px;
	color: #CC0000;
	background: #FFEEEE;
}
.calendar td br{
	display: none;
}
*/
/* ==========================
    ページトップ・サイドCTAここから
==========================*/

/* --- ページトップボタン --- */
.scroll-top {
    position: fixed;
    bottom: 10px;
    right: 30px;
    z-index: 200;
    opacity: 0;
    transition: opacity .3s, bottom .3s;
    pointer-events: none;
}
/* UpMove = 表示 */
.scroll-top.UpMove {
    opacity: 1;
    pointer-events: auto;
}
/* DownMove = 非表示アニメーション */
.scroll-top.DownMove {
    opacity: 0;
    pointer-events: none;
}
.scroll-top a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    width: 52px;
    height: 52px;
    background: var(--maincolor);
    color: #fff;
    border-radius: 50%;
    text-decoration: none;
    box-shadow: 0 4px 18px rgba(0,0,0,.18);
    transition: background .25s, transform .2s;
    font-family: var(--en_r);
}
.scroll-top a:hover {
    background: var(--mainlight);
    transform: translateY(-3px);
}
.scroll-top a i {
	font-size: 15px;
	line-height: 1;
}
.scroll-top a span {
	line-height: 1;
	letter-spacing: .5px;
	font-weight:700;
	font-size:11px;
}

/* --- サイドCTA（電話・お問い合わせ） --- */
.side_cta {
    position: fixed;
    bottom: 80px;
    right: 30px;
    z-index: 200;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.side_cta a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    text-decoration: none;
    font-family: var(--en_r);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .5px;
    color: #fff;
    box-shadow: 0 4px 18px rgba(0,0,0,.18);
    transition: background .25s, transform .2s;
}
.side_cta a:hover {
    transform: translateY(-3px);
}
.side_cta .cta_tel {
    background: var(--maincolor);
}
.side_cta .cta_tel:hover {
    background: var(--mainlight);
}
.side_cta .cta_contact {
    background: var(--pincolor);
}
.side_cta .cta_contact:hover {
    opacity: .85;
}

/* ハンバーガー時はフッター非表示、CTAは維持 */
@media (max-width: 768px) {
    .footermenu {
        display: none;
    }
    .scroll-top {
        right: 16px;
    }
    .side_cta {
        right: 16px;
        bottom: 72px;
    }
    .side_cta a,
    .scroll-top a {
        width: 46px;
        height: 46px;
    }
}

/* ==========================
    ページトップ・サイドCTAここまで
==========================*/
/* ==========================
	フッターここまで
==========================*/
/* ==========================
	パンくずここから
==========================*/
#navigate {
	display: flex;
	align-items: center;
	gap: 6px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin:0;
	padding: 10px 20px;
	background: var(--mainhighlight);
	font-size: 14px;
	color: var(--blacklight);
	filter: drop-shadow(0px 3px 3px rgba(111,111,111,.2));
}
#navigate a {
	color: var(--maincolor);
	text-decoration: none;
	transition: color 0.2s;
}
#navigate a:hover {
	color: var(--mainlight);
	text-decoration: underline;
}
#navigate span {
	color: var(--blacklight);
}
#navigate .here {
	color: var(--blacksub);
	font-weight: 500;
}
@media(max-width:768px){
	#navigate {
		display:none;
	}
}
/* ==========================
	パンくずここまで
==========================*/
/* ==========================
	indexここから
==========================*/
/* ヒーロー画像 */
#index_hero img{
	width:100%;
	vertical-align: bottom;
}
@media(max-width:768px){
		#index_hero{
			position:relative;
		}
/*飛び出し1号*/
#index_hero::before {
	content: "";
	position: absolute;
	left:5px;
	top:40%;
	width:70%;
	height:clamp(30px, -1.818px + 13.258vw, 100px);
	aspect-ratio: 1 / 1;
	background-image: url('../images/common/logo.svg');
	background-color:rgba(255,255,255,.5);
	background-position:left center;
	background-repeat:no-repeat;
	outline-offset: 0px;
	outline: 20px solid rgba(255,255,255,.5);
	z-index: 4;
	animation: fadeUpAnime 2s forwards;
	animation-delay: 0.3s;
	opacity: 0;
	filter: drop-shadow(1px 1px 2px rgba(163, 119, 91, 0.2));
}

}
/* リンクバナー */
#linkbnr-seibu{
	display: block;
	width: 90%;
	max-width: 800px;
	margin-inline: auto;
	margin-block: 60px 20px;
	transition: all .25s;
	border-radius: 4px;
	overflow: clip;
}
#linkbnr-seibu img{
	width: 100%;
	vertical-align: bottom;
}
@media(any-hover:hover){
	#linkbnr-seibu:hover{
		opacity:0.75;
	}	
}
@media(any-hover:none){
	#linkbnr-seibu:active{
		opacity:0.75;
	}	
}
/* -----------------------------------
	おすすめ物件ココカラ
----------------------------------- */
#index_osusume div h2 {
	margin:3em 0 0 0.1em;
	color: var(--black);
}
#index_osusume div h2 span.en_r {
	margin:2em 0.5em 0.25em 0;
	font-family: var(--en_r);
	font-weight:700;
	color: var(--subcolor);
	font-size:clamp(30px, 27.143px + 1.19vw, 50px);
}
#index_osusume div h2 span:not(.en_r) {
	font-size: clamp(14px,2.6923vw,18px);
}


/* おすすめセクションの装飾帯を調整 */
#index_osusume > div::before,
#index_osusume > div::after {
	content: none;
}
/* 物件一覧の装飾帯を調整 */
.cblist_inner.horizontal-cards::before,
.cblist_inner.horizontal-cards::after {
	content: none;
}

/* グリッドコンテナ */
.osusume_inner {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	width: 100%;
	box-sizing: border-box;
	margin-top: 20px;
	/* カルーセル残骸の無効化 */
	transform: none !important;
	white-space: normal !important;
	overflow: visible !important;
}
/* カード1枚 = osslink が <a> or <div class="osusume_cell"> */
.osusume_cell {
	display: flex !important;
	flex-direction: column;
	width: auto !important;       /* カルーセルの固定幅を上書き */
	min-width: 0 !important;
	max-width: 100% !important;
	background: #fff;
	border: 1px solid rgba(111,111,111,.1);
	border-radius: 12px;
	overflow: hidden;
	color: var(--black);
	text-decoration: none;
	transition: transform .25s, box-shadow .25s;
	position: relative;
}
.osusume_cell:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 32px rgba(0,0,0,.10);
}
/* datum = カード全体のラッパー */
.osusume_datum {
	display: flex;
	flex-direction: column;
	height: 100%;
}

/* 画像 */
.osusume_photo {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--gray);
	flex-shrink: 0;
}
.osusume_photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.osusume_cell:hover .osusume_photo img {
	transform: scale(1.04);
}

/* テキストエリア全体 */
.osusume_textwrap {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 12px 14px 16px;
}

/* 物件情報エリア */
.osusume_info {
    flex: 1;
}

/* 物件名 */
.osusume_name {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
    margin-bottom: 6px;
    color: var(--black);
}
/* 種別・間取り */
.osusume_syubetu-madori {
    font-size: 12px;
    color: var(--blacksub);
    margin-bottom: 4px;
}
.osusume_syubetu {
    background: var(--maincolor);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 3px;
    margin-right: 4px;
}

/* 価格・賃料 */
.osusume_cost {
    font-size: 20px;
    font-weight: 700;
    color: var(--pincolor);
    letter-spacing: -.5px;
    line-height: 1.3;
    margin: 6px 0 4px;
}
.osusume_cost span {
    font-size: 20px;
}

/* 所在地 */
.osusume_addr {
    font-size: 12px;
    color: var(--blacksub);
    margin-bottom: 6px;
    border-top: 1px solid var(--sublight);
    padding-top: 6px;
    margin-top: 4px;
}

/* キャッチコピー */
.osusume_words {
    margin-top: auto;
}
.osusume_catch {
    font-size: 13px;
    color: var(--blacksub);
    line-height: 1.5;
    border-top: 1px solid var(--sublight);
    padding-top: 8px;
    margin-top: 6px;
}

/* 動画・VRバッジ */
.osusume_movie,
.osusume_vr,
.osusume_movievr,
.osusume_normal {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 4px;
	z-index: 1;
}
.osusume_normal  { background: var(--maincolor);  color: #fff; }
.osusume_movie   { background: #e07b00;            color: #fff; }
.osusume_vr      { background: var(--subcolor);    color: #fff; }
.osusume_movievr { background: #7b3fa0;            color: #fff; }

/* NEWバッジ */
.osusume_isnew {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--pincolor);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 4px;
	z-index: 1;
}

/* レスポンシブ */
@media (max-width: 1023px) {
	.osusume_inner {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 679px) {
	.osusume_inner {
		grid-template-columns: 1fr;
	}
}
/* -----------------------------------
	おすすめ物件ココマデ
----------------------------------- */
/* -----------------------------------
	ニュースココカラ
----------------------------------- */
#index_news-container.news-simple {
	background: transparent !important;
	padding: 40px clamp(10px, 7.143px + 1.19vw, 30px);
}
.news-simple #index_news-wrap h2 {
	color: var(--black);
}
.news-simple #index_news-wrap h2 span.en_r {
	font-family: var(--en_r);
	font-weight:700;
	color: var(--subcolor);
	font-size:clamp(30px, 27.143px + 1.19vw, 50px);
}
.news-simple #index_news-wrap h2 span:not(.en_r) {
	font-size: clamp(14px,2.6923vw,18px);
}

.index_news_frame{
	padding: 10px;
	background: var(--white);
	border: 4px solid var(--mainlight);
	border-radius: 20px;
	overflow: hidden;
}
.news-simple #index_news{
	background: var(--white);
	border: none;
	border-radius: 0;
	max-height: 280px;
	min-height: 120px;
	overflow-y: auto;
}


#index_news-container{
	background:var(--maincolor);
	width:100%;
	max-width: initial;/* sectionのmax-width打ち消し */
	padding:50px 0 50px;
	margin:0 auto;
}
#index_news-wrap{
	width: 92%;
	max-width: 1240px;
	margin:0 auto;
}
#index_news-wrap h2{
	color:#fcfcfc;
	display: flex;
	flex-direction: column;
	gap:5px;
	line-height:1.25;
	margin-bottom:20px;
	padding-left:10px;
}
#index_news-wrap h2{
	padding-left:0px;
}

#index_news-wrap h2 span.en_r{
	font-size:clamp(32px,6.1538vw,52px);
	font-weight: 500;
	letter-spacing: 2px;
}
#index_news-wrap h2 span:not(.en_r){
	font-size:clamp(16px,3.0769vw,22px);
	letter-spacing: 1px;
}

h2 span i {
	position: relative;
	display: inline-block;
	margin-right:0.75em;
	font-size: 20px;
	color: var(--maincolor);
}
h2 span i::before {
	display: inline-block;
	content: "\f206";
	transform: rotateY(180deg);
}
h2 span i:after {
	content: '.....';
	position: absolute;
	bottom:0;
	left:calc(100% + 3px);
	font-weight: 400;
	font-size: 15px;
	color: var(--maincolor);
	white-space: nowrap;
}

#index_news{
	background:#fcfcfc;
	padding-top:clamp(20px,3.846vw,35px);
	padding-left:clamp(25px,4.807vw,105px);
	padding-right:clamp(25px,4.807vw,105px);
	padding-bottom:clamp(20px,3.846vw,35px);
	max-height:280px;
	min-height:120px;
	overflow-y: auto;
}
#index_news::-webkit-scrollbar {/* 横幅 */
	width: 20px;
}
#index_news::-webkit-scrollbar-thumb{/* つまみの部分 */
	border-top: solid 7px #fff; 
	border-right: solid 10px #fff;/* 疑似的な余白 */
	border-bottom: solid 7px #fff;
	background:var(--subcolor);
}
.infotr{
	display: flex;
	border-bottom: 1px solid var(--subcolor);
	column-gap: 60px;
	padding-bottom: 18.5px;
}
.infotr:not(:first-of-type){
	margin-top: 16.5px;
}
.infotr .info_date{
	width:100px;
	font-size:16px;
	font-weight:500;
	color:var(--subcolor);
	font-family: var(--en_r);
}
.infotr .info_body{
	width:calc(100% - 160px);
	font-size: 15px;
	line-height:1.5;
}
.infotr .info_body a{
	position: relative;
	color: var(--black);
}
.infotr .info_body a:after{
	display: inline-block;
	position: absolute;
	right: -50px;
	bottom: 4px;
	content: "… \f206";
	width: 48px;
	height: 18px;
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	font-size: 18px;
	color: var(--maincolor);
}
.infotr .info_body a:hover,
.infotr .info_body a:hover::after{
	color:var(--pincolor);
}
.infotr .info_body a:hover{
	background-color:var(--subhighlight);
/	text-decoration: underline;
}
/* ==========================
	indexここまで
==========================*/
/* ==========================
	会社概要ここから
==========================*/
#companybody .container section{
	padding: 0 clamp(20px,3.8461vw,30px);
}
#company_text,
#companymap {
	width: 95%;
}
#company_text {
	margin: 0 auto 120px;
	padding: 0;
	position:relative;
	z-index:0;
	box-shadow: 0px 5px 10px rgba( 0, 0, 0, 0.1);
}
#company_text:after{
	content:'';
	display:block;
	position:absolute;
	top:10%;
	left:20%;
	width:100vw;
	height:calc(90% + 50px);
	background:var(--mainlight);
	z-index:-1;
}
#company_text dl {
	display: table;
	width: 100%;
	margin: 0 auto ;
	border-collapse: collapse;
}
#company_text dl dt,
#company_text dl dd {
	display: table-cell;
	vertical-align: middle;
	padding: 5px 0;
	border-top: 1px solid #eee;
}
#company_text dl:first-of-type dt,
#company_text dl:first-of-type dd{
	border-top:none;
}
#company_text dl:last-of-type{
	border-bottom: 1px solid var(--mainlight);
}
#company_text dl dt {
	width: 30%;
	padding: 20px 0 20px 40px ;
	font-weight: 500;
	font-size: clamp(16px,3.0679vw,18px);
	letter-spacing: 1px;
	color:var(--black);
	background-color:#ffefcc;
}
#company_text dl dd {
	width: 70%;
	padding: 15px 20px 15px 30px ;
	line-height: 1.5;
	font-size:clamp(14px,2.6923vw,16px);
	letter-spacing: 1px;
	background:#ffffff;
}
#companymap {
	height: clamp(300px,57.692vw,500px);
	margin: 0 auto 120px;
	box-shadow: 0px 3px 10px rgba( 0, 0, 0, 0.15);
}
#companymap_wrap iframe{
	height: clamp(300px,57.692vw,500px);
	margin: 0;
	box-shadow: 0px 3px 10px rgba( 0, 0, 0, 0.15);	
}
#companymap_wrap{
	position: relative;
	z-index:0;
	margin-bottom: 120px;
}
#companymap_wrap:after{
	content:'';
	display:block;
	position:absolute;
	top:10%;
	right:25%;
	width:100vw;
	height:calc(90% + 50px);
	background:var(--mainlight);
	z-index:-1;
}
.domain::before{
	content:'@';
}
/* ==========================
	会社概要ここまで
==========================*/
/* ==========================
	お問い合わせここから
==========================*/
.container section#contact{
	padding:0 clamp(20px,3.8461vw,30px);
}
#contactbody main{
	background: linear-gradient(90deg,  #fff 0% 20%, var(--mainhighlight) 20%);
	padding-bottom:60px;
}
#contact p,
#form_table {
	width: 95%;
}
#contact p {
	margin: 0 auto 5px;
	line-height: 1.5;
}
#form_table {
	margin: 20px auto 30px;
}
#form_table dl {
	display: table;
	width: 100%;
	border-collapse: separate;
	border-spacing: 0px 0px;
	padding:15px 20px;
}
#form_table dt,
#form_table dd {
	display: table-cell;
	vertical-align: middle;
}
#form_table dt {
	width: 30%;
	padding: 8px 15px 8px 40px;
	font-size:clamp(15.5px,2.9807vw,17.5px);
}
#form_table dd {
	width: 70%;
	padding: 8px 30px;
	position: relative;
}
#form_table dd input[type='text'],
#form_table dd input[type='tel'],
#form_table dd input[type='email'],
#form_table dd textarea {
	width: 100%;
	padding: 5px 5px 5px 10px;
	line-height: 30px;
	color: var(--black);
	font-size:clamp(14px,2.6923vw,16px);
	border: 1px solid var(--graylight);
	border-radius: 2px;
}
#form_table dd textarea {
	height: 8em;
}
#form_table dd button {
	margin: 10px 0;
	padding: 0 20px;
	font-size: 16px;
	border:none;
	background-color: transparent;
}
#form_table dd button.stop,
#form_table dd button.okgo {
	margin-bottom: 20px;
}
#form_table dd button[type='reset'] {
	color: #f00;
}

#contact div.form39 p {
	margin-bottom:1em;
	padding: 0;
	line-height: 1.5;
	letter-spacing: 1px;
	font-size: clamp(15.5px,2.9807vw,17px);
}
/* 説明文の中央よせ */
.intrtext{
	width:90%;
	margin:0 auto;
	font-size:clamp(15.5px,2.9807vw,17px);
	line-height: 1.5;
}
.intrtext a span{
	color:var(--linkcolor);
}
#contact .intrtext p{
	margin-bottom:10px;
	line-height: 1.5;
}
.intrtext:last-of-type{
	margin-top: 30px;
}
/*必須項目*/
.hissu{
	display: inline-block;
	padding: 2px 8px;
    background: var(--costred);
    color: #fff;
    border-radius: 0;
    font-size: clamp(10.5px,2.0192vw,13px);
    position: relative;
	margin: 0 15px;
}
p .hissu{
	margin:0 10px 0 0;
}

.send-button-wrapper span{
	display:inline-block;
	transition: all 0.3s;
	position: relative;
	text-align: center;
	padding:1rem 2rem;
	cursor: pointer;
}
.send-button-wrapper.okgo span{
	color:var(--black);
}
.send-button-wrapper.stop span{
	color:var(--textred);
}
.send-button-wrapper span::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background-color:rgba(145,183,90,0.3);
	transition: all 0.3s;
}
  
.send-button-wrapper span:hover::before {
	opacity: 0;
	transform: scale(0.4, 0.4);
}
  
.send-button-wrapper span::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0;
	transition: all 0.3s;
	border: 1px solid var(--maincolor);
	transform: scale(1.2, 1.2);
}
  
.send-button-wrapper span:hover::after {
	opacity: 1;
	transform: scale(1, 1);
}

.send-button-wrapper.stop span::before{
	background-color: rgba(170, 34, 52, 0.15);
}
.send-button-wrapper.stop span::after {
	border: 1px solid rgba(170, 34, 52, 0.4);
}
.formlast a{
	color:var(--linkcolor);
	line-height: 1.5;
}
@media(max-width:600px){
	#form_table .formlast > dd{
		padding:0;
	}
	.formlast > dd > div{
		display: flex;
		flex-direction: column;
		margin-top: 20px;
		margin-bottom:20px;
	}
	#form_table dd button.stop, #form_table dd button.okgo{
		margin-bottom:0;
		padding:0;
	}
	#form_table dd button.stop, #form_table dd button.okgo,
	#form_table dd button.stop span, #form_table dd button.okgo span{
		width:100%;
	}
}
#form_table.chkform dl.chklist{
	display:flex;
	flex-direction:column;
	padding:0 10px;
}
#form_table.chkform dl.chklist dt,
#form_table.chkform dl.chklist dd{
	width:100%;
}
#form_table.chkform dl.chklist dt{
	font-weight:700;
	padding:0 5px 5px;
	color:var(--subcolor);
	border-bottom:1px solid;
	line-height:1.5;
	margin-top:25px;
}
#form_table.chkform dl.chklist dd{
	padding:5px 15px;
	line-height:1.5;
}
.backhomelink{
    display: flex;
	justify-content: center;
    width: fit-content;
    margin: 30px auto 0;
	color: var(--linkcolor);
	border-bottom: 1px solid;
	transition: all .25s;
}
.backhomelink:hover{
	color:var(--pincolor);
}
/* ステップバー */
.progressbar {
    position: relative;
    margin: clamp(20px,3.8461vw,30px) auto 40px;
    padding: 5px 0 10px;
	background:#fff;
	border-radius:50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	box-shadow:var(--shadow);
}
@media(max-width:290px){
	.progressbar {
		display: none;
	}
}
.progressbar li {
    position: relative;
    list-style-type: none;
    text-align: center;
    text-transform: uppercase;
    width: 33.333%;
    color: #999999;
	font-size:14px;
    letter-spacing: 1px;
    counter-increment: steps;
	
}
.progressbar li:before {
    display: block;
    width: 26px;
    height: 26px;
    margin: 7px auto 2px auto;
    content: '';
    line-height: 26px;
    font-size: 12px;
    text-align: center;
    border-radius: 50%;
    background-color: #e5e5e5;
    content: counter(steps);
	z-index: 2;
	position: inherit;
}
.progressbar li:after {
    position: absolute;
    z-index: 1;
    top: 19px;
    left: -50%;
    width: 100%;
    height: 2px;
    content: '';
    background-color: #e5e5e5;
}
.progressbar li:first-child:after {
    content: none;
}
.progressbar li.active,
.progressbar li.complete{
    color: var(--pincolor);
}
.progressbar li.active:before,
.progressbar li.complete:before {
    background-color: var(--pincolor);
    color: #FFF;
}
.progressbar li.active:after,
.progressbar li.complete:after {
    background-color: var(--pincolor);
}
/* 入力ヒント「半角数字で入力」等 */
.form_hint {
    color: var(--costred);
	font-size:14px;
    display: block;
	opacity: 0;
	position: absolute;
	top: -1.25em;
	transition: all .2s;
}
#form_table input:focus + .form_hint {
	opacity: 1;
}
@media(max-width:1024px){/* dtとddを横並びから縦並びにするポイント */
	#form_table dd {
		display: flex;
		flex-direction: column-reverse;
		gap: 5px;
	}
	.form_hint {
		font-size:13px;
		position: initial;
		top: initial;
		display: none;
	}
	#form_table input:focus + .form_hint {
		display: block;
	}
}
/* ==========================
	お問い合わせここまで
==========================*/
/* ==========================
	プライバシーポリシーここから
==========================*/
.container section#privacy{
	padding:0 clamp(20px,3.8461vw,30px);
}
#privacybody main{
	background: linear-gradient(90deg,  #fff 0% 20%, var(--mainhighlight) 20%);
	padding-bottom:60px;
}
#privacy > div > p{
	font-size:clamp(18px,3.461vw,24px);
	margin-bottom:10px;
	line-height: 1.5;
}
#privacy_list > div{
	display: flex;
	flex-direction: column;
	position: relative;
	margin-top:40px;
	gap:10px;
}
#privacy_list > div > span{
	font-weight:bold;
	font-size:clamp(24px,4.6153vw,32px);
	color:var(--subcolor);
	letter-spacing: 1px;
	border-bottom:1px solid var(--subcolor);
}
#privacy_list > div > p,
#privacy_list > ol{
	font-size:clamp(14px,2.6923vw,16px);
	line-height:1.5;
	letter-spacing: .5px;
}
#privacy_list > div > p{
	padding:0 15px;
}
#privacy_list > ol{
	margin: 15px 0;
	padding:0 20px;
}
#privacy_list > ol > li{
	margin-bottom:10px;
}
#privacy_list ul{
	margin-top:10px;
	margin-left:20px;
	list-style-type:circle;
	color:var(--costred);
	font-size:14.5px;
	line-height: 1.5;
	letter-spacing: .5px;
}
#privacy_list > ul{
	margin-left:37px;
}
/* ==========================
	プライバシーポリシーここまで
==========================*/
/* ==========================
	物件一覧ここから
==========================*/
span.cb_subttl{
	display: inline-block;
	font-size: clamp(15px,2.8846vw,30px);
}
/*
.pagetitle h1 span.cb_subttl::first-letter{
	color:var(--black);
}*/
.total_num {
	display: flex;
	justify-content: right;
	align-items: center;
	position: relative;
	width: 100%;
	margin-bottom: 30px;
	font-size: 15px;
	color: var(--black);
	text-align: right;
}
.total_num > span{
	display: inline-block;
	position: relative;
	padding-left: 2em;
	padding-right: 1.5em;
	text-align: center;
	line-height: 1.5;
}
.total_num > span::before{
    font-family: 'Font Awesome 6 Free';
    font-weight: 700;
    display: inline-block;
	margin-right:10px;
	min-width: 18px;
    text-align: center;
	content: '\f03a';
	color: var(--maincolor);
}
.total_num > span >span{
	display: inline-block;
}
.navi_pages{
	display: none;
}
/* ==========================
	並び替えボタン
*/
.order_button {
	width: 100%;
	margin-bottom: 20px;
}
.order_button label,
.order_button input {
	display: none;
}
.order_button ul {
	list-style-type: none;
	width: 100%;
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
}
.order_button ul li {
	display: inline-block;
}
.order_button button {
	width: 100%;
	letter-spacing: 1px;
	font-size: 16px;
	color: #fff;
	background-color: transparent;
	border: none;
}

.order_button button span{
	display:inline-block;
	color: var(--maincolor);
	font-size:14px;
	font-weight:bold;
	transition: all 0.25s;
	position: relative;
	text-align: center;
	padding:8px 20px;
	cursor: pointer;
	z-index: 2;
	font-family: var(--ja);
}
.order_button button span::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background-color: var(--white);
	border:solid 1.5px var(--maincolor);
	box-shadow: var(--shadow);
	border-radius: 5px;
	transition: all .25s;
}
.order_button button span:hover{
	color:#fff;
}
.order_button button span:hover::before {
	background-color:var(--maincolor);
}

/* 物件情報ページネーション */
div.navi {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width:600px;
	margin:0 auto;
	background:var(--gray);
	padding:5px;
	border-radius:25px;
	box-shadow: var(--shadow);
}
div.navi_prev,
div.navi_next,
div.navi_number {
	display: block;
}
div.navi_prev,
div.navi_next {
	font-size: 15px;
	font-weight:bold;
}
div.navi_next {
	text-align: right;
}
div.navi_prev a,
div.navi_next a {
	display: inline-block;
	margin: 0 5px;
	padding: 6px 10px;
	font-weight: bold;
	color: var(--maincolor);
	background:transparent;
	border:1px solid transparent;
	border-radius: 50%;
	line-height:1;
	transition: all .25s;
}
div.navi_number {
	flex-grow: 1;
	text-align: center;
	font-size: 14px;
	font-family: var(--en);
	line-height: 1;
}
div.navi_number span,
div.navi_number a {
	display: inline-block;
	margin: 0 5px;
	padding:10px;
	color: var(--darkblue);
	border-radius: 50%;
	border:1px solid var(--gray);
	transition: all .25s;
	border-radius:50%;
	line-height:1;
}
div.navi_number span {
	color: var(--pincolor);
	font-weight:700;
	background-color: var(--gray);
	border-left: 1px solid var(--gray);
	border-right: 1px solid var(--gray);
	border-top: 1px solid var(--gray);
	border-bottom: 1px solid var(--pincolor);
	border-radius:0;
	padding:0 6px 6px;
}

/*
ページネーションの表示数を制限するCSSここから
 （:has()が使えるようになったので試験運用）
※レスポンシブのブレイクポイント箇所は768pxと420pxの2箇所に有り。
520pxでdiv.navi_prev a, div.navi_next aをいったん非表示にしてます。
*/
div.navi_number a{
	display:none;
}
div.navi_number a:first-child,
div.navi_number a:last-child,
div.navi_number span +a,
div.navi_number span +a+a,
div.navi_number a:has(+span),
div.navi_number a:has(+a+span){
	display:inline-block;
}
div.navi_number a:first-child{
	margin-right:20px;
	position:relative;
}
div.navi_number a:first-child::after{
	content: '...';
	display: inline-block;
	pointer-events: none;
	position: absolute;
	right: -17px;
}
div.navi_number a:first-child:hover::after{
	color:initial;
}
div.navi_number a:first-child:has(+span),
div.navi_number a:first-child:has(+a+span){
	margin-right:5px;
}
div.navi_number a:first-child:has(+span)::after,
div.navi_number a:first-child:has(+a+span)::after{
	content: none;
}
div.navi_number a:last-child{
	margin-left:20px;
	position:relative;
}
div.navi_number a:last-child::before{
	content: '...';
	display: inline-block;
	pointer-events: none;
	position: absolute;
	left: -17px;
}
div.navi_number a:last-child:hover::before{
	color: initial;
}
div.navi_number span +a:last-child,
div.navi_number span +a+a:last-child{
	margin-left:5px;
}
div.navi_number span +a:last-child::before,
div.navi_number span +a+a:last-child::before{
	content: none;
}
/*ページネーションの表示数を制限するCSSここまで*/

div.navi_prev a:hover,
div.navi_next a:hover,
div.navi_number a:hover {
	background-color: var(--pincolor);
	border:1px solid var(--pincolor);
	color:white;
	box-shadow: var(--shadow);
}
/* 下側のページネーション */
.footnavi-wrap{
	display: block;
	width:100%;
}
div.navi.footnavi{
	margin:0  auto 40px;
}
/* 登録なしの１文 */
.no-num {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	min-height:500px;/* フッターの下に虚無が生まれるの防止 */
	margin-bottom: 30px;
	font-size: clamp(15px,2.8846vw,17.5px);
	color: var(--costred);
}

@media (max-width: 768px) {
	.no-num {
		min-height:300px;/* フッターの下に虚無が生まれるの防止 */
	}
}
@media (max-width: 500px) {
	.no-num {
		min-height:250px;/* フッターの下に虚無が生まれるの防止 */
	}
}
.no-num > span{
	display: inline-block;
	position: relative;
	text-align: center;
	line-height:1.5;
}
.no-num::before,
.no-num::after{
	display: inline-block;
	width: 80px;
	height:30px;
}

/* 物件一覧部分 */
.container section.cblist{
	margin:0 auto;
	width: 85%;/* 左右のあしらい帯を常に見せるため */
}
.cblist_inner{
	position: relative;
	padding-top: 60px;
	padding-bottom: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	column-gap: 30px;
	width: 100%;
}
.cblist_inner::before,
.cblist_inner::after{
	content:'';
	position: absolute;
	display: block;
	width:calc(100vw - 100%);
	height:48%;
}
.cblist_inner::before{
	background:var(--mainlight);
	left:calc(100% + 30px);
	top:0;
}
.cblist_inner::after{
	background:var(--sublight);
	right:calc(100% + 30px);
	bottom:0;
}
.cblist_link {
	display: block;
	width: 95%;
	max-width:320px;
	margin-bottom: 50px;
	border:none;
	line-height: 1.5;
	color:var(--black);
	transition: all .25s;
}

.uxicon{ /* 「詳細を見る」動画・VRを入れる時は表示 */
	display: none;
}
.cblist_photo{
	width:100%;
	height: auto;
	border-radius: 10px 0 10px 0;
	overflow: hidden;
	transition: all .25s;
	position: relative;
}
.cblist_photo img {
	width: 100%;
	height: auto;
	border-radius: 10px 0 10px 0;
	object-fit: contain;
	transition: all .25s;
}
.cblist_link:hover .cblist_photo img{
	transform: scale(1.1);
}
.cblist_link .cblist_photo::before{
	content:'';
	position: absolute;
	width: 100%;
	height:100%;
	background:rgba(0, 0, 0, 0);
	z-index:1;
	transition: all .25s;
}
.cblist_link .cblist_photo::after{
	content:'\f00e  詳細を見る';
	font-family: 'Noto Sans JP','Font Awesome 6 Free', sans-serif;
	position: absolute;
	display: block;
	width: 100%;
	height:1em;
	font-size:24px;
	font-weight:700;
	letter-spacing: 3px;
	text-align: center;
	top: 50%;
    left: 0%;
    transform: translateY(-50%);
	color:transparent;
	z-index:2;
	transition: all .25s;
}
.cblist_link:hover .cblist_photo::before{
	background:rgba(0, 0, 0, 0.4);
}
.cblist_link:hover .cblist_photo::after{
	color:#fff;
}
:is(.bukken_syubetu-madori,.bukken_cost,.bukken_addr)::before{
    font-family: 'Font Awesome 6 Free';
    font-weight: 700;
    display: inline-block;
	margin-right:10px;
	min-width: 18px;
    text-align: center;
}
.bukken_syubetu-madori::before{
	content: '\f015';
	color: var(--subcolor);
}
.bukken_cost::before{
	content: '\f157';
	color: var(--costred);
}
.bukken_addr::before{
	content: '\f3c5';
	color: var(--subcolor);
}
.bukken_cost span{
	font-size: 18px;
	color:var(--costred);
	font-weight:bold;
	line-height:1.5;
}
.bukken_syubetu-madori,
.bukken_addr,
.bukken_cost,
.bukken_catch{
	font-size:15px;
	line-height:1.5;
}
.cblist_list{
	margin-top:10px;
}
.bukken_catch{
	margin-top:8px;
	letter-spacing: 1px;
}
.cblist_link .bukken_name {
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 3px;
    letter-spacing: 1px;
    text-align: center;
    font-size: 1.1em;
    color: var(--maincolor);
    border-bottom: solid 1px var(--maincolor);
}

/* 最後の一列が3個より少ない時に左寄せするための細かいレスポンシブ
	表示が崩れたらここを削除すれば中央寄せにはなるが治る
*/
@media(min-width:1500px){
	.cblist_inner::before{
		left:calc(100% + 80px);
	}
	.cblist_inner::after{
		right:calc(100% + 80px);
	}
}

@media(min-width:1288px){
	.cblist_inner {
		justify-content: flex-start;
		column-gap: 50px;
		width: 1140px;
		padding-left:40px;
		padding-right:40px;
		margin:0 auto;
	}
	.container section.cblist{
		width:95%;
	}
}
/* 3→2列になったときに余った1を疑似的に左寄せにするための細かいレスポンシブ
	無理やりなのでいいやり方が見つかったらやり直したい
*/
@media(max-width:1287px){
	.cblist_inner {
		justify-content: flex-start;
		padding-left:8%;
		column-gap:33px;
	}
	.cblist_link:nth-of-type(even) {
		margin-left:auto;
		margin-right:8%;
	}
}
@media(max-width:1023px){
	.container section.cblist{
		width: 90%;
		
	}
	.cblist_inner{
		padding-left:2%;
	}
	.cblist_link:nth-of-type(even) {
		margin-right:2%;
	}
}
@media(max-width:862px){
	.container section.cblist{
		width: 95%;
		padding:0 26px;
	}
	.cblist_inner{
		padding-left:0%;
		column-gap:21px;
	}
	.cblist_link:nth-of-type(even) {
		margin-right:0%;
	}
}
@media(max-width:767px){
	.container section.cblist{
		width: 90%;
		padding:0 30px;
	}
	.cblist_inner {
		justify-content: center;
	}
	.cblist_link:nth-of-type(even) {
		margin-left:initial;
	}
	.cblist_link{
		max-width:initial;
	}
	.cblist_tbl{
		display:flex;
		justify-content:space-between;
		width:100%;
	}
	.cblist_photo,.cblist_list{
		width:48%;
	}
}
@media(max-width:630px){
	.container section.cblist{
		width: 90%;
		padding:0 25px;
	}
	.cblist_link{
		max-width:320px;
	}
	.cblist_tbl{
		display:block;
	}
	.cblist_photo,.cblist_list{
		width:100%;
	}
}
/* vr *//* ※使用するサイトに適用　※テンプレートはこの辺カスタマイズされてないかも
#cblist div.cblist_inner a.cblist_link span.list_movievr,
#cblist div.cblist_inner a.cblist_link span.list_movie,
#cblist div.cblist_inner a.cblist_link span.list_vr,
#cblist div.cblist_inner a.cblist_link span.list_normal {
	z-index: 99;
	display: block;
	position: absolute;
	top: -5px;
	left: 0px;
	width: 80px;
	height: 80px;
	padding: 53px 7px 10px 7.5px;
	line-height: 18px;
	text-align: center;
	font-size: 13px;
	color: var(--darkblue);
	box-shadow: 0 5px 10px 0 rgb(100 100 100 / 50%);
	backdrop-filter: blur( 4.0px );
	-webkit-backdrop-filter: blur( 4.0px );
	background-position: center 8px;
	background-repeat: no-repeat;
	background-color: rgba( 246, 250, 255, 0.9);
	opacity:0.85;
	backdrop-filter: blur( 4.0px );
	-webkit-backdrop-filter: blur( 4.0px );
	transition: all 0.2s;
	border-radius: 5px;
}

#cblist div.cblist_inner a.cblist_link span.list_movievr {
	background-image: url(../images/icon-movie-vr.svg);
	background-size: 30px;
    background-position: center 13px;
}
#cblist div.cblist_inner a.cblist_link span.list_movie {
	background-image: url(../images/icon-movie.svg);
	background-size: 30px;
    background-position: center 13px;
}
#cblist div.cblist_inner a.cblist_link span.list_vr {
	background-image: url(../images/icon-vr.svg);
	background-size: 30px;
    background-position: center 13px;
}
#cblist div.cblist_inner a.cblist_link span.list_normal {
	background-image: url(../images/icon-syousai.svg);
	background-size: 30px;
    background-position: center 13px;
}
#cblist div.cblist_inner a.cblist_link:hover span.list_movievr,
#cblist div.cblist_inner a.cblist_link:hover span.list_movie,
#cblist div.cblist_inner a.cblist_link:hover span.list_vr,
#cblist div.cblist_inner a.cblist_link:hover span.list_normal {
	position: absolute;
	top: 0px;
	left: 0px;
	background-color: var(--mainlight);
	opacity:1;
	border-radius: 0px;
	box-shadow: initial;
}*/
/* 動画ありVRあり詳細の非表示　使うサイトの時はコメントアウト */
.list_movievr,
.list_movie,
.list_vr,
.list_normal{
	display: none;
}

/* ==========================
	物件一覧ここまで
==========================*/
/* ==========================
	物件詳細ここから
==========================*/
#meisaibody main{
	background: linear-gradient(90deg,  #fff 0% 20%, var(--subhighlight) 20%);
	padding-bottom:60px;
}
.container main#meisai_article h1 {
	position: relative;
	/* ???
	height: 55px;
	line-height: 60px;*/
}
.container section#meisai{
	margin:0 auto 60px;
}
.kousinbi{
	font-size:clamp(13px,2.3076vw,15px);
}

#meisai p {
	margin-bottom: 10px;
}
#meisai p.meisai_catch {
	margin-top: 1.5em;
	margin-bottom: 40px;
	letter-spacing: 1px;
	line-height:1.5;
	font-size: clamp(15px,2.8846vw,17.5px);
	color: var(--black);
	position: relative;
	padding: 20px;
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--shadow);
}
#meisai p.meisai_catch i{
	color:var(--pincolor);
	font-size:1.25em;
	margin-right:5px;
}
#goback {
	margin-bottom: 10px;
}
#goback button {
	padding: 10px 20px;
	font-weight: 400;
	font-size: clamp(15px,2.8846vw,16px);
	background-color: var(--maincolor);
	color:#fff;
	border-radius: 5px;
	border:none;
	transition: all .25s;
	cursor: pointer;
	margin-top: 20px;
	margin-left: 10px;
	box-shadow: var(--shadow);
}
#goback button:hover {
	background-color: var(--pincolor);
}
.toiawasebtn{
	display: flex;
	width:100%;
	margin-right: 0;
	margin-bottom: 20px;
	justify-content: flex-end;
}
.toiawasebtn button{
	padding: 10px 20px;
	font-size: clamp(15px,2.8846vw,16px);
	background-color: var(--maincolor);
	color:#fff;
	border-radius: 5px;
	border: none;
	color:#fff;
	border-radius: 5px;
	border:none;
	transition: all .25s;
	cursor: pointer;
	margin-top: 20px;
	margin-left: 10px;
	box-shadow: var(--shadow);
	cursor: pointer;
}
.toiawasebtn button:hover{
	background: var(--pincolor);
	border: none;
}
.meisai-top-container{
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: space-between;
	column-gap:2%;
	margin-bottom:40px;
}
.meisai-topinfo-container{
	width:61%;
	flex-grow: 1;
}
.meisai_topinfo_photo{
	width:37%;
}
.meisai-topinfo-wrap{
	padding:20px 20px 15px;
	border-bottom:2px solid var(--sublight);
}
.meisai-topinfo-wrap dl{
	display: flex;
	column-gap: 20px;
	margin-bottom:10px;
	align-items: baseline;
}
.meisai-topinfo-wrap dl dt{
	font-size:15px;
	letter-spacing: 1px;
	white-space: nowrap;
}
.meisai-topinfo-wrap dl dt::before{
    font-family: 'Font Awesome 6 Free'; /* 追記したコード */
    font-weight: 700; /* 追記したコード */
    color: var(--subcolor);
	font-size:20px;
    display: inline-block;
	width:24px;
	text-align: center;
	transition:all .25s;
	margin-right: 10px;
}
.topinfo-syozai dt::before{
	content: '\f3c5';
}
.topinfo-madori dt::before{
	content: '\f015';
}
.meisai-topinfo-wrap .topinfo-tinryou dt::before{
	content: '\f157';
	color:var(--costred);
}
.meisai-topinfo-wrap dl dd{
	font-size:clamp(15px,2.8846vw,17px);
	letter-spacing: 1px;
}
.meisai-topinfo-wrap dl dd span.cost{
	color:var(--costred);
	font-size: clamp(20px,3.8461vw,32px);
	font-weight:700;
	margin-right:5px;
}
.meisai-subinfo-wrap{
	display: flex;
	width:95%;
	max-width:700px;
	margin:30px auto;
	flex-wrap: wrap;
	justify-content: flex-start;
	column-gap:4%;
}
.meisai-subinfo-wrap dl{
	width:48%;
	margin-bottom:25px;
	padding:10px;
	border-radius:10px;
	background:#f2f2f2;
	color:#afafaf;
	text-align: center;
}
.meisai-subinfo-wrap dl.hasinfo{
	background:var(--maindark);
	color:var(--white);
}
.meisai-subinfo-wrap dl dt{
	font-size:clamp(13px,2.5vw,14px);
	letter-spacing: 1px;
}
.meisai-subinfo-wrap dl dd{
	font-size:clamp(15px,2.8846vw,17px);
}
.meisai_body {
	width: 100%;
	margin-bottom: 60px;
	background: #fff;
	border: 1px solid #f3f3f3;
	font-size: 14px;
	border-collapse: collapse;
	box-shadow: 0 0 15px rgba(180,180,180,.10) ;
}
.meisai_body th{
	padding: 15px;
	border-bottom: solid 1px #efefef;
	font-weight: 400;
	/*background: #f9fafb;*/
	background:#d4e7b8;
}
.meisai_body td {
	padding:15px;
	border-bottom: solid 1px #efefef;
}

.meisai_body td button {
	display: inline-block;
	padding: 10px 20px;
	font-size: 16px;
	border: none;
	border-radius: 3px;
	letter-spacing: 1px;
	color:#fff;
	background-color: var(--maincolor);
	transition: all .25s;
	cursor: pointer;
}
.meisai_body td button:hover{
	background-color: var(--pincolor);
}
p.genkyou{
	line-height:1.5;
	font-size:clamp(14px,2.6923vw,15px);
}
#meisai_photo,
#meisai_moviebox,
#meisai_vrbox,
#meisai_photo_thumb {
	width: 100%;
	margin: 0 auto;
}
#meisai_moviebox,
#meisai_vrbox {
	text-align: center;
}
#meisai_photo {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: space-between;
}
#meisai_photo p {
	display: block;
	width: 95%;
	text-align: center;
}



#meisai_photo p.displaynone{
	display: none;/* 登録写真がない時の空要素のレイアウト崩し予防 */
}
#meisai_photo p a:hover img{
	transform: scale(1.05);
}
#meisai_photo p:first-of-type{
	margin-bottom:20px;
}
#meisai_photo p img {
	width: 100%;
	max-width: 320px;
	object-fit: cover;
	margin: 0 auto;
	transition: all .25s;
	box-shadow:var(--shadow);
}

/* ===== #meisai_photo レスポンシブ対応 (768px以下) ===== */
@media (max-width: 768px) {
	#meisai_photo {
		aspect-ratio: 4 / 3;
		width: 100%;
		overflow: hidden;
		justify-content: center;
		gap:20px;
	}
	#meisai_photo p {
		display: block;
		width: 100%;
		text-align: center;
	}

	#meisai_photo > img,
	#meisai_photo .cycle-slide,
	#meisai_photo .cycle-sentinel {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover;
		object-position: center;
	}
}


#meisai_photo_thumb{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	column-gap:2%;
	row-gap:10px;
	overflow: hidden;
	max-width: 900px;/* なんとなくの数値です */
	padding:20px;
	margin-bottom:40px;
	background:#d4e7b8;
	border-radius:10px;
}
#meisai_photo_thumb a:hover img{
	transform: scale(1.1);
}
#meisai_photo_thumb a{
	width:15%;
	height:auto;
	box-shadow:var(--shadow);
}
#meisai_photo_thumb img {
	width: 100%;
	display: block;
	object-fit: cover;
	transition: all .25s;
}
#meisai_moviebox iframe,
#meisai_vrbox iframe {
	width: 100%;
	height: 400px;
	border: 0 none;
}
#map {
	width: 100%;
	height: clamp(350px,67.307vw,450px);
}
/* VRとか用の記述
#meisai_moviebox h2,
#meisai_vrbox h2 {
	width: 920px;
	height: 40px ;
	margin: 0 auto;
	line-height: 40px ;
	letter-spacing: 7px;
	text-indent: 35px;
	text-align: center;
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 20px;
	font-weight: 300;
	color: #fff;
	border: 0;
}
#meisai_moviebox h2 {
	background-image: url(../images/osusume_movie_icon.png);
	background-position: 350px center;
	background-repeat: no-repeat;
	background-color: #091641;
	background-size: 33px;
}
#meisai_vrbox h2 {
	background-image: url(../images/osusume_vr_icon.png);
	background-position: 330px center;
	background-repeat: no-repeat;
	background-color: #091641;
	background-size: 32px;
}*/
/* ==========================
	物件詳細ここまで
==========================*/
/* ==========================
	adminここから
==========================*/
#adminbody{
	width:100%;
	padding: initial;
	margin: initial;
}
#adminbody p{
	line-height: 1.5;
}
#adminbody .backhomelink a{
	color:var(--linkcolor);
	transition: all .25s;
	padding-bottom: 5px;
}
#admin-kanrikoumoku{
	width:95%;
	max-width: 400px;
	margin:0 auto 3em;
	padding-left: 2em;
}
#admin-kanrikoumoku li{
	list-style-type: circle;
	margin-bottom:.5em;
}
#admin-kanrikoumoku li a{
	display: block;
	color:var(--linkcolor);
	transition: all .25s;
	font-size: clamp(15.5px,2.9807vw,17.5px);
	letter-spacing: .5px;
}
#admin-kanrikoumoku li::marker{
	color:var(--linkcolor);
}
#admin-kanrikoumoku li a:hover,
#adminbody .backhomelink a:hover{
	color: var(--pincolor);
}
section#admin_block {
	width: 100%;
	margin: 0 auto;
	padding: 10px 15px;
}
section#admin_block table {
	width: 100%;
	margin-bottom: 15px;
	border: solid 1px #999;
}
section#admin_block table th {
	background: var(--gray);
}
section#admin_block table td {
	background: #fff;
}
section#admin_block table th,
section#admin_block table td {
	padding: 5px;
	border: solid 1px #999;
	text-align: center;
	font-size: 0.9em;
}
.linkcolor a{
	color:var(--linkcolor);
	transition: all .25s;
}
.linkcolor a:hover{
	color:var(--pincolor);
}
section#admin_block table td input[type='text'],
section#admin_block table td input[type='file'],
section#admin_block table td textarea {
	width: 100%;
	margin-bottom: 5px;
	padding: 3px;
	border: solid 1px #ccc;
	font-size: 1em;
}
section#admin_block table td button {
	padding: 3px 6px;
	font-size: 1em;
}
section#admin_block table#holiday_calendar caption {
	padding: 5px 0;
	font-size: 1em;
	text-align: center;
	margin-bottom:2em;
}
section#admin_block table#holiday_calendar caption button,
section#admin_block table#holiday_calendar caption span {
	font-size: 1.2em;
}
section#admin_block table#holiday_calendar caption button{
	padding:7px 15px;
	background: var(--gray);
	box-shadow: var(--shadow);
	border-radius: 10px;
	border:1px solid #ddd;
	cursor: pointer;
	transition: all .25s;
}
section#admin_block table#holiday_calendar caption button:hover{
	background:var(--pincolor);
	border:1px solid var(--pincolor);
	color:#fff;
}
section#admin_block table input{
	cursor: pointer;
}
section#admin_block table#holiday_calendar th {
	width: 14.285%;
}
section#admin_block table#holiday_calendar tr > td:nth-child(7) {
	background: #eef;
	color: #33f;
}
section#admin_block table#holiday_calendar tr > td:nth-child(1),
section#admin_block table#holiday_calendar tr > td.cal_holiday {
	background: #fee;
	color: #f33;
}
section#admin_block table#holiday_calendar td p {
	line-height: 1.3em;
	text-align: left;
}
section#admin_block table#holiday_calendar td p label {
	display: block;
	color: #000;
}
section#admin_block table td.slideimg img {
	width: 100%;
}

/* ==========================
	レスポンシブここから
==========================*/
/* レスポンシブ用記述 */
#menuwrapper-sticky_wrap{
	display:none;
}
.overlay {
	display:none;
}
@media(max-width:1024px){
	header.sidebar > .sidebar-inner{
	}
	/* ==========================
			ハンバーガーメニューここから
	==========================*/
	/* 
		ハンバーガーボタンクリックで画面を暗く
		.overlayクリックでメニュー以外の領域クリックしたときにハンバーガーメニューを閉じる
		.overlayの設定はcommon.jsにもあるのでid名等注意
	*/
	.overlay {
		background-color: #000;
		cursor: pointer;
		height: 100vh;
		left: 0;
		opacity: 0;
		position: fixed;
		top: 0;
		transition: all 0.5s;
		visibility: hidden;
		width: 100vw;
		z-index: 999;/* ハンバーガーボタンより下になるように注意 */
		display: block;
	}
	.nav-open .overlay {
		opacity: 0.5;
		visibility: visible;
		cursor:default;
		-webkit-tap-highlight-color:rgba(0,0,0,0);
	}
	header nav:not(.sidebar-nav){
		display: none;
	}
	#menuwrapper-sticky_wrap{
		display: block;
		right: 0;
		position: fixed;
		top: 0;
		z-index: 1001;/* ページトップボタンより上になるように注意 */
	}
	input#hamburger {
		display: none;
	}
	/*
	 * ハンバーガーボタン用
	 * */
	 .menu_button {
		width: 50px;
		height: 50px;
		display: flex;
	flex-direction: column;
		position: absolute;
		top:-2px;
		right:0px;
		background: 0 0;
		z-index: 1002;
		justify-content: center;
		flex-direction: column;
		align-items: center;
		cursor: pointer;
	}
	.menu_button span,
	.menu_button span::before,
	.menu_button span::after {
		content: '';
		display: block;
		height: 3px;
		width: 35px;
		border-radius: 5px;
		background: var(--maincolor);
		transition: all .3s;
		position: absolute;
		top: 10px;
	}
	.menu_button span:before {
		top: 10px;
		left: 0;
		background: var(--maincolor);
	}
	.menu_button span:after {
		top: 20px;
		left: 0;
		background: var(--maincolor);
	}
	.menu_button:after {
		content: 'MENU';
		display: inline-block;
		position: absolute;
		bottom: -5px;
		color: var(--pincolor);
		font-family: 'Montserrat',sans-serif;
		font-size: 10px;
		transition: all .3s;
	}
	.menu_button.active span {
		background: rgba(255,255,255,0);
	}
	.menu_button.active span:before {
		bottom: 0;
		transform: rotate(45deg);
		background:var(--pincolor);
	}
	.menu_button.active span:after {
		top: 10px;
		transform: rotate(-45deg);
		background:var(--pincolor);
	}
	.menu_button.active:after {
		content: 'CLOSE';
	}
	/*
	 * レスポンシブメニュー用
	 * */	
	 #responsive-menuwrap{
		position:fixed;
		z-index: 99;
		top:0;
		right: -150%;
		width:clamp(250px,83.3333vw,300px);
		/* clampの変更点横幅300px 250/300*100 */
		height: 100vh!important;
		color:#fff;
		background:rgba(96,112,73,.9);
		transition: all 0.5s;
	}
	#responsive-menuwrap.open{
		right: 0;
	}
	#responsive-menuwrap > div{/*スクロールバーなしでスクロールさせる記述*/
		position: fixed;
		z-index: 999; 
		width:clamp(250px,83.3333vw,300px);
		/* clampの変更点横幅300px 250/300*100 */
		height: 100%;
		margin-top:0;
		padding-top:10vh;/*フッターと共通のcssを打ち消し*/
		padding-bottom:5vh;/*フッターと共通のcssを打ち消し*/
		overflow: auto;
	}
	#responsive-menuwrap > div >ul{
		margin: 0;
		padding: 0;
	}
	#responsive-menuwrap > div >ul >li {
		border-bottom: 1px solid #fff;
		padding-left:1.5em;
		font-size:15px;
	}
	#responsive-menuwrap > div >ul >li a{
		display:inline-block;
		width:clamp(220px,73.3333vw,240px);
		/* clampの変更点横幅300px 220/300*100 */
		padding-top:20px;
		padding-bottom:20px;
		position:relative;
		color:#fff;
		transition:all .25s;
		cursor:pointer;
		letter-spacing: 1px;
	}
	#responsive-menuwrap > div >ul >li a.close{
		color:var(--pincolor);
	}

	#responsive-menuwrap > div >ul >li a:hover{
		color:var(--pincolor);
	}
	#responsive-menuwrap > div >ul >li:not(.menu-item-has-children) >a:hover{
		text-indent:10px;
	}
	#responsive-menuwrap > div >ul >li >ul >li{
		font-size:14px;
		display: flex;
	flex-direction: column;
    	align-items: center;
	}

	#responsive-menuwrap > div >ul >li >ul >li:hover{
		color:var(--pincolor);
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children ul li a{
		display: flex;
		flex-direction: column;
		padding-top: 10px;
		padding-bottom:10px;
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children ul li:last-of-type a{
		padding-bottom:20px;
	}
	#responsive-menuwrap > div >ul >li >ul >li a:hover{
		text-indent:10px;
	}
	/* 
		アコーディオン開閉 */
	#responsive-menuwrap > div >ul >li >ul.sub-menu{
		display:none;
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a::before,
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a::after{
		position: absolute;
		content:'';
		width: 15px;
		height: 2px;
		background-color: #fff;
		transition:all .25s;
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a::before{
		top:48%;
		right: 15px;
		transform: rotate(0deg);
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a::after{    
		top:48%;
		right: 15px;
		transform: rotate(90deg);
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a.close::before{
		transform: rotate(45deg);
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a.close::after{
		transform: rotate(-45deg);
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a:hover::before,
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a:hover::after,
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a.close::before,
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a.close::after{
		background-color:var(--pincolor);
	}
	/*
		ここまでハンバーガーメニュー
	==========================*/
	/* お問い合わせ */
	#form_table dl {
		display: flex;
	flex-direction: column;
		flex-direction: column;
		padding:0;
	}
	#form_table dt,
	#form_table dd {
		width:100%;
		padding: 8px 5px;
	}
}
@media(max-width:768px){
	.infotr{
		flex-direction: column;
		column-gap: 0;
		row-gap:10px;
	}
	.infotr .info_body{
		width:100%;
		font-size:14.5px;
	}
	#index_news{
		max-height:200px;
	}
	/* ==========================
		会社案内ページここから
	==========================*/
	#company_text dl{
		display: flex;
		flex-direction: column;
	}
	#company_text dl dt,#company_text dl dd{
		width:100%;
	}
	#company_text dl dt{
		padding:10px 20px 10px 30px;
	}
	#company_text dl dd{
		border-top:none;
	}
	/* ==========================
		物件一覧ページここから
	==========================*/
	.order_button label {
		display: block;
		margin-bottom: 10px;
		padding:10px;
		letter-spacing: 1px;
		text-align: center;
		font-size: 15px;
		color: #fff;
		background-color: var(--subcolor);
		border-radius: 25px;
		box-shadow: var(--shadow);
		cursor: pointer;
	}
	.order_button input {
		display: none;
	}
	.order_button ul {
		list-style-type: none;
		display: block;
		width: 100%;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	.order_button input + ul {
		height: 0;
		overflow: hidden;
		opacity: 0;
		transition:all .3s;
	}
	.order_button input:checked{
		color:red;
	}
	.order_button input:checked + ul {
		height: auto;
		opacity: 1;
		overflow: visible;
	}
	.order_button ul li{
		display: block;
		width:80%;
		height:36px;
		letter-spacing: 1px;
		text-align: center;
		font-size: 15px;
		margin:0 auto 10px;
	}
	.order_button button{
		height:100%;
	}
	.order_button button span{
		display: flex;
		width: 100%;
		height: 100%;
		margin-bottom: 5px;
		font-size: 15px;
		justify-content: center;
		align-items: center;
		background:#fff;/* 背景色と合わせる、これが無いと謎の黒枠が生まれる */
	}
	.order_button button span::before{
		border-radius: 25px;
	}
	.order_button button:hover{
		background-color: var(--black);
	}
	.order_button button:hover span {
		color: #fff;
	}
	.order_button .button-wrapper span{
		color: var(--maincolor);
		padding:0!important;
	}
	/* ==========================
		物件詳細ページここから
	==========================*/
	.meisai-top-container{
		flex-direction: column-reverse;
	}
	.meisai_topinfo_photo,
	.meisai-topinfo-container{
		width: 100%;
	}
	#meisai_photo{
		flex-direction: row;
		flex-wrap: nowrap;
	}
	#meisai_photo p{
		width: 48%;
	}
	#meisai_photo_thumb{
		column-gap: 4%;
		padding:0;
		border-radius: 0;
	}
	#meisai_photo_thumb a{
		width: 22%;
	}
	.meisai_body tr{
		display: flex;
		flex-direction: column;
	}
	.meisai_body tr th,
	.meisai_body tr td{
		width:100%;
		text-align: center;
		min-height: 51px;
	}
	/* lightbox */
	#jquery-lightbox{
		width: 90%!important;
		left:5%!important;
	}
	#jquery-lightbox div{
		width: 100%!important;
	}
	#lightbox-container-image{
		padding:0!important;
	}
	#lightbox-image{
		width:90%!important;
		margin-top:20px;
	}
	#lightbox-container-image-data-box{
		padding:0!important;
	}
	#lightbox-container-image-data{
		padding:0!important;
	}
	#lightbox-image-details-currentNumber{
		padding-left: 1em;
	}
	#lightbox-secNav-btnClose{
		margin-right:1em;
	}
}
@media(max-width:520px){
/* ==========================
	物件一覧ページここから
==========================*/
	div.navi{
		align-items:center;
	}
	div.navi_number{
		display: none;
	}
	div.navi_number > a:last-of-type{
		display: none;
	}
	div.navi_prev a, div.navi_next a{
		line-height:1;
	}
	div.navi_number span, div.navi_number a{
		font-size:13px;
		padding:8px 8px;
		line-height:1;
	}
	.navi_pages{
		display: block;
		color:var(--maincolor);
		font-size:14px;
		font-family: var(--en);
		font-weight:500;
	}
	/**/
	#meisai_photo{
		flex-direction: column;
	}
	#meisai_photo p{
		width: 100%;
	}
	.meisai-topinfo-wrap dl{
		flex-direction: column;
	}
	.meisai-topinfo-wrap dl dd{
		padding-left: 2em;
	}
}
@media(max-width:350px){
	header.sidebar > .sidebar-inner{
		padding-left: 15px;
	}
	header.sidebar .headlogo h1{
		width:150px;
	}
}
/* ==========================
	レスポンシブここまで
==========================*/
/* ==========================
	Pattern 2: サイドバー型 追加スタイル
==========================*/
/* サイドバー幅を変数で一元管理 */
:root {
	--sidebar-w: 250px;
}

/* コンテナとフッターのサイドバーオフセット */
.container {
	margin-left: var(--sidebar-w);
	width: calc(100% - var(--sidebar-w));
}
footer {
	margin-left: var(--sidebar-w);
	width: calc(100% - var(--sidebar-w));
}
.footermenu {
	margin-left: var(--sidebar-w);
	width: calc(100% - var(--sidebar-w));
}
.js-pagetop {
	margin-left: var(--sidebar-w);
}

/* <=768px: サイドバーがオーバーレイになるので全幅に戻す */
@media (max-width: 768px) {
	:root {
		--sidebar-w: 0px;
	}
	header.sidebar {
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		z-index: 1003;
	}
	header.sidebar.sidebar-open {
		transform: translateX(0);
	}
}

/* サイドバーメニュースタイル */
.sidebar-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.sidebar-item {
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.sidebar-link {
	display: block;
	padding: 15px 20px;
	color:var(--white);
	font-size: 15px;
	letter-spacing: 1px;
	cursor: pointer;
	transition: all .25s;
	position: relative;
}
.sidebar-link:hover {
	color: #fff;
	background-color: rgba(255,255,255,0.08);
}
/* アコーディオン矢印 */
.accordion-toggle::after {
	content: '';
	position: absolute;
	right: 20px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid rgba(255,255,255,0.5);
	border-bottom: 2px solid rgba(255,255,255,0.5);
	transform: translateY(-50%) rotate(45deg);
	transition: transform .3s;
}
.accordion-toggle.open::after {
	transform: translateY(-30%) rotate(-135deg);
}
/* サブメニュー */
.sidebar-submenu {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height .4s ease;
	background-color: rgba(0,0,0,0.15);
}
.sidebar-submenu.open {
	max-height: 300px;
}
.sidebar-submenu li a {
	display: block;
	padding: 10px 20px 10px 35px;
	color: rgba(255,255,255,0.9);
	font-size: 14px;
	transition: all .25s;
	position: relative;
}
.sidebar-submenu li a::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 1.5px;
	background: rgba(255,255,255,0.4);
	margin-right: 10px;
	vertical-align: middle;
	transition: all .25s;
}
.sidebar-submenu li a:hover {
	color:rgba(255,252,157,1)
	padding-left: 40px;
	background:rgba(0,0,0,0.1);
}
.sidebar-submenu li a:hover::before {
	background: var(--pincolor);
}
/* お問い合わせボタン */
.sidebar-contact {
	margin-top: 10px;
border-bottom:none !important;
}
.sidebar-contact .sidebar-link {
	background: var(--pincolor);
	color: #fff;
	text-align: center;
	font-weight: 500;
	margin: 10px 15px;
	border-radius: 5px;
	padding: 12px 20px;
}
.sidebar-contact .sidebar-link:hover {
	background: #d86a10;
}
.sidebar-contact .sidebar-link i {
	margin-right: 5px;
}

/* サイドバー7日間表示 */
.sidebar-week-list{
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.sidebar-week-wrap {
	margin-top: 10px;
	padding: 10px 20px 50px;
	border-top: 1px solid rgba(255,255,255,0.1);
}
.sidebar-week-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 6px;
}
.sidebar-week-title {
	font-size: 13px;
	font-weight:400;
	color:var(--white);
	letter-spacing: 0.5px;
}
.week-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	width: 20px;
	height: 20px;
	font-size:9px;
	color: rgba(255,255,255,0.8);
	background: none;
	border-radius:3px;
	border: 1px solid rgba(255,255,255,0.5);
	transition: all .25s;
	cursor: pointer;
}
.week-nav:hover {
	background: rgba(255,255,255,0.2);
	color: #fff;
	border-color: rgba(255,255,255,0.8);
}
.week-row {
	display: flex;
	align-items: center;
	padding: 4px 8px;
	line-height:1.2;
	font-size: 13px;
	color: rgba(255,255,255,0.8);
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.week-row.week-today {
	background: rgba(66,66,66,0.3);
	border-radius: 4px;
	font-weight: 700;
	color: #fff;
}
.week-row:last-child{
	border-bottom: none;
}
.week-date {
	width: 42px;
	font-family: var(--en);
	font-size: 13px;
	font-weight: 500;
}
.week-wd {
	width: 20px;
	text-align: center;
	font-size: 12px;
	font-weight: 500;
}
.week-wd.week-sun {
	color: #EB544B;
}
.week-wd.week-sat {
	color: #2060a5;
}
.week-status {
	margin-left: auto;
	padding: 2px 7px;
	line-height: 1.2;
	font-size: 11px;
	font-weight: 500;
	border-radius: 2px;
}
.week-status.status-open {
	color: rgba(255,255,255,0.7);
}
.week-status.status-closed {
	color: #C11010;
	background: #fff;
	border: 1px solid #e0e0e0;
/	font-weight: 700;
}
.week-today .week-status.status-open {
	color: #bcffc8;
}

/* サイドバー会社情報 */
.sidebar-company-info {
	padding: 15px 20px;
	line-height: 1.5;
	letter-spacing:0.1em;
	text-align:center;
	font-size: 14px;
	color: rgba(255,255,255,0.9);
}
.sidebar-company-info p {
	margin-bottom: 2px;
}
.sidebar-tel a {
	color: rgba(255,255,255,0.85);
	transition: all .25s;
}
.sidebar-tel a:hover {
	color: var(--pincolor);
}
/* サイドバーカレンダー */
.sidebar-calendar-wrap {
	padding: 15px;
	margin-top: 15px;
	border-top: 1px solid rgba(255,255,255,0.1);
}
.sidebar-calendar-wrap .calendar table {
	width: 100%;
}
.sidebar-calendar-wrap .calendar caption {
	color: rgba(255,255,255,0.85);
	font-size: 12px;
}
.sidebar-calendar-wrap .calendar caption button {
	font-size: 9px;
	padding: 3px 4px;
}
.sidebar-calendar-wrap .strongmonth {
	font-size: 18px;
}
.sidebar-calendar-wrap .calendar table tr {
	border-color: rgba(255,255,255,0.15);
}
.sidebar-calendar-wrap .calendar table thead tr {
	border-bottom-color: rgba(255,255,255,0.15);
}
.sidebar-calendar-wrap .calendar table tr > * {
	font-size: 10px;
	color: rgba(255,255,255,0.7);
}
.sidebar-calendar-wrap .calendar table thead th {
	font-size: 13px;
	font-weight: 500;
	color: rgba(255,255,255,0.9);
	padding-bottom: 4px;
}
.sidebar-calendar-wrap :is(.calendar table th,.calendar table td):first-of-type,
.sidebar-calendar-wrap .cal_holiday p {
	color: #EB544B;
}
.sidebar-calendar-wrap :is(.calendar table th,.calendar table td):last-of-type {
	color: #6a9fd8;
}
.sidebar-calendar-wrap .calendar td {
	height: 30px;
	border-left-color: rgba(255,255,255,0.1);
}
.sidebar-calendar-wrap .calendar td:last-of-type {
	border-right-color: rgba(255,255,255,0.1);
}
.sidebar-calendar-wrap .calendar td::before {
	border-left-color: var(--maincolor);
}
.sidebar-calendar-wrap .calendar td:last-of-type::after {
	border-right-color: var(--maincolor);
}
.sidebar-calendar-wrap .calendar td p {
	text-indent: 4px;
	padding-top: 3px;
}
.sidebar-calendar-wrap .calendar td i {
	font-size: 8px;
	padding: 1px;
	margin-top: 1px;
}


/* 物件一覧: 横長カードレイアウト */
.cblist_inner.horizontal-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	padding-top: 30px;
	padding-bottom: 30px;
}
.cblist_inner.horizontal-cards::before,
.cblist_inner.horizontal-cards::after {
	content: none;
}
.horizontal-cards .cblist_link {
	display: block;
	width: 100%;
	max-width: 100%;
	margin-bottom: 0;
	padding: 0;
	border: 1px solid var(--graylight);
	border-radius: 8px;
	overflow: hidden;
	line-height: 1.5;
	color: var(--black);
	transition: all .25s;
}
.horizontal-cards .cblist_link:hover {
	box-shadow: 0 4px 16px rgba(0,0,0,0.12);
	transform: translateY(-3px);
}
.horizontal-cards .cblist_tbl {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.horizontal-cards .cblist_photo {
	width: 100%;
	height: auto;
	border-radius: 0;
	overflow: hidden;
	position: relative;
}
.horizontal-cards .cblist_photo img {
	width: 100%;
	height: auto;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: 0;
	transition: all .25s;
}
@media(max-width: 1200px) {
	.cblist_inner.horizontal-cards {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media(max-width: 900px) {
	.cblist_inner.horizontal-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media(max-width: 580px) {
	.cblist_inner.horizontal-cards {
		grid-template-columns: 1fr;
	}
}
.horizontal-cards .cblist_list {
	margin-top: 0;
	padding: 10px 14px;
}
.horizontal-cards .cblist_link .bukken_name {
	text-align: left;
	font-size: 1em;
	margin-bottom: 8px;
}
.horizontal-cards .bukken_flexdeta,
.horizontal-cards .displaynone {
	display: flex !important;
	gap: 10px;
	font-size: 13px;
	margin-bottom: 4px;
}
.horizontal-cards .bukken_flexdeta dt,
.horizontal-cards .displaynone dt {
	color: var(--subcolor);
	font-weight: 500;
	white-space: nowrap;
	min-width: 70px;
}

/* 物件詳細: ヒーロー写真 + 2カラム */
.meisai-top-container.meisai-hero-layout {
	flex-direction: column;
}
.meisai-hero-layout .meisai_topinfo_photo {
	width: 100%;
	margin-bottom: 30px;
}
.meisai-hero-layout .meisai_topinfo_photo #meisai_photo {
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 10px;
}
.meisai-hero-layout .meisai_topinfo_photo #meisai_photo p {
	width: auto;
	flex: 1;
}
.meisai-hero-layout .meisai_topinfo_photo #meisai_photo p:first-of-type {
	margin-bottom: 0;
}
.meisai-hero-layout .meisai_topinfo_photo #meisai_photo p img {
	max-width: 100%;
	max-height: 450px;
	width: 100%;
	object-fit: cover;
}
.meisai-hero-layout .meisai-topinfo-container {
	width: 100%;
}

/* <=768px: サイドバーをオーバーレイに変更 */
@media(max-width:768px){
	header.sidebar {
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		z-index: 1003;
	}
	header.sidebar.sidebar-open {
		transform: translateX(0);
	}
	.container {
		margin-left: 0;
		width: 100%;
	}
	footer {
		margin-left: 0;
		width: 100%;
	}
	.footermenu {
		margin-left: 0;
		width: 100%;
	}
	.js-pagetop {
		margin-left: 0;
	}
	/* 横長カードをスマホ縦表示に */
	.horizontal-cards .cblist_tbl {
		flex-direction: column;
	}
	.horizontal-cards .cblist_photo {
		flex: none;
		width: 100%;
	}
	/* ヒーロー写真を縦配置に */
	.meisai-hero-layout .meisai_topinfo_photo #meisai_photo {
		flex-direction: column;
	}
}

/* 会社案内の装飾帯を調整 */
#company_text:after {
	width: calc(100% - 250px);
}
#companymap_wrap:after {
	width: calc(100% - 250px);
}
@media(max-width:768px){
	#company_text:after {
		width: 100vw;
	}
	#companymap_wrap:after {
		width: 100vw;
	}
}



/* ==========================
	ページトップここから
==========================*/
.js-pagetop {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 100;
	margin: 0;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity .3s, transform .3s;
	pointer-events: none;
}
.js-pagetop.is-show {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.js-pagetop a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 54px;
	height: 54px;
	background: var(--maincolor);
	color: #fff;
	border-radius: 50%;
	text-decoration: none;
	box-shadow: 0 4px 16px rgba(0,0,0,.18);
	transition: background .25s, transform .25s;
}
.js-pagetop a:hover {
	background: var(--pincolor);
	transform: translateY(-3px);
}
.js-pagetop a i {
	font-size: 16px;
	line-height: 1;
}
.js-pagetop a span {
	font-size: 8px;
	letter-spacing: .5px;
	font-weight: 700;
	line-height: 1;
	font-family: var(--en_r);
}

/* ハンバーガーメニュー時も表示はキープ（スマホでも使うため） */
@media (max-width: 768px) {
	.js-pagetop {
		bottom: 16px;
		right: 16px;
		margin-left: 0;
	}
	.js-pagetop a {
		width: 46px;
		height: 46px;
	}
}

/* ==========================
	ページトップここまで
==========================*/
/* ==========================
	西部りん業ここから
==========================*/
/* ページヒーロー */
.bike-hero {
	position: relative;
	width: 100%;
	background: linear-gradient(135deg, #1a2a18 0%, #2d4a28 50%, #1a3020 100%);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 320px;
	padding: 60px 20px;
}
.bike-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: 
		radial-gradient(ellipse at 20% 50%, rgba(145,183,90,0.18) 0%, transparent 60%),
		radial-gradient(ellipse at 80% 30%, rgba(237,120,24,0.12) 0%, transparent 50%);
}
/* 背景の自転車シルエット装飾 */
.bike-hero::after {
	content: '\f206';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	font-size: clamp(180px, 30vw, 340px);
	position: absolute;
	right: -2%;
	bottom: -15%;
	color: rgba(255,255,255,0.04);
	line-height: 1;
	pointer-events: none;
}
.bike-hero-content {
	position: relative;
	z-index: 1;
	text-align: center;
}
.bike-hero-eyecatch {
	display: inline-block;
	font-size: clamp(11px, 2vw, 13px);
	letter-spacing: 4px;
	color: var(--mainlight);
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	margin-bottom: 18px;
	padding: 5px 18px;
	border: 1px solid rgba(145,183,90,0.4);
	border-radius: 2px;
}
.bike-hero h1 {
	font-size: clamp(28px, 6vw, 52px);
	font-weight: 700;
	color: #fff;
	letter-spacing: 6px;
	line-height: 1.3;
	margin-bottom: 16px;
}
.bike-hero h1 .accent {
	color: var(--mainlight);
}
.bike-hero-copy {
	font-size: clamp(13px, 2.5vw, 17px);
	color: rgba(255,255,255,0.75);
	letter-spacing: 2px;
	line-height: 1.8;
}

/* メインコンテンツ */
#bikestore {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 30px;
}

/* 写真エリア */
.column_photo{
	display:flex;
	width:100%;
	gap:30px;
	margin-block:40px;
}
.column_photo img{
	width:calc((100% - 30px)/2);
	border-radius: 4px;
}
@media (max-width: 768px) {
	.column_photo{
		gap:20px;
		flex-direction:column;
	}
	.column_photo img{
		width:100%;
	}
}
.store-photo-wrap {
	margin: 50px 0 40px;
	border-radius: 12px;
	overflow: hidden;
	position: relative;
	background: #e8ede4;
	aspect-ratio: 16/7;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 32px rgba(0,0,0,0.1);
}
.store-photo-dummy {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	color: #a0b090;
}
.store-photo-dummy i {
	font-size: 64px;
	opacity: 0.5;
}
.store-photo-dummy span {
	font-size: 13px;
	letter-spacing: 2px;
	font-family: 'Montserrat', sans-serif;
}
#info-text{
	margin-bottom: 2em;
	font-size: clamp(15px, 2.5vw, 18px);
}
/* インフォカード群 */
.info-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin: 0 0 50px;
}
@media (max-width: 640px) {
	.info-cards {
		grid-template-columns: 1fr;
	}
}
.info-card {
	background: #fff;
	border: 1px solid var(--graylight);
	border-radius: 10px;
	padding: 28px 24px;
	position: relative;
	overflow: hidden;
	transition: box-shadow .25s, transform .25s;
}
.info-card:hover {
	box-shadow: 0 6px 24px rgba(0,0,0,0.09);
	transform: translateY(-2px);
}
.info-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 4px;
	height: 100%;
	background: var(--maincolor);
}
.info-card-icon {
	font-size: 22px;
	color: var(--maincolor);
	margin-bottom: 10px;
}
.info-card-label {
	font-size: 11px;
	letter-spacing: 3px;
	text-transform: uppercase;
	font-family: 'Montserrat', sans-serif;
	color: var(--blacklight);
	margin-bottom: 8px;
}
.info-card-value {
	font-size: clamp(15px, 2.5vw, 18px);
	font-weight: 700;
	color: var(--black);
	line-height: 1.5;
}
.info-card-value a {
	color: var(--black);
	transition: color .25s;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.info-card-value a:hover {
	color: var(--pincolor);
}
.info-card-sub {
	font-size: 12px;
	color: var(--blacklight);
	margin-top: 6px;
	line-height: 1.6;
}
/* 電話カードは全幅 */
.info-card-wide {
	grid-column: 1 / -1;
}
@media (max-width: 640px) {
	.info-card-wide {
		grid-column: auto;
	}
}

/* TEL大きく */
.tel-large {
	font-size: clamp(24px, 5vw, 36px) !important;
	letter-spacing: 3px;
}

/* Googleマップ */
.map-section {
	margin: 0 0 60px;
}
.map-section h2 {
	font-size: clamp(16px, 3vw, 20px);
	font-weight: 700;
	color: var(--black);
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.map-section h2::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--graylight);
}
.map-section h2 i {
	color: var(--maincolor);
}
.map-embed {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0,0,0,0.1);
	border: 1px solid var(--graylight);
}
.map-embed iframe {
	width: 100%;
	height: 400px;
	display: block;
	border: none;
}
@media (max-width: 640px) {
	.map-embed iframe {
		height: 280px;
	}
}

/* CTAバナー */
.bike-cta {
	background: linear-gradient(135deg, var(--maindark) 0%, var(--maincolor) 100%);
	border-radius: 12px;
	padding: 40px 30px;
	text-align: center;
	margin-bottom: 60px;
	position: relative;
	overflow: hidden;
}
.bike-cta::before {
	content: '\f206';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	font-size: 160px;
	position: absolute;
	right: -10px;
	bottom: -30px;
	color: rgba(255,255,255,0.06);
	line-height: 1;
	pointer-events: none;
}
.bike-cta-text {
	font-size: clamp(18px, 3.5vw, 24px);
	font-weight: 700;
	color: #fff;
	letter-spacing: 2px;
	line-height: 1.6;
	margin-bottom: 24px;
	position: relative;
}
.bike-cta a.cta-tel {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	color: var(--maindark);
	font-size: clamp(22px, 4vw, 30px);
	font-weight: 700;
	letter-spacing: 3px;
	padding: 14px 36px;
	border-radius: 50px;
	transition: all .25s;
	position: relative;
}
.bike-cta a.cta-tel:hover {
	background: var(--pincolor);
	color: #fff;
	box-shadow: 0 6px 20px rgba(0,0,0,0.2);
	transform: translateY(-2px);
}
.bike-cta a.cta-tel i {
	font-size: 0.85em;
}

/* レスポンシブ: コンテナのpaddingは既存に合わせる */
@media (max-width: 768px) {
	#bikestore {
		padding: 0 16px;
	}
	.bike-hero {
		min-height: 240px;
	}
}

/* footerバナー */
.footer-bike-banner-wrap {
	padding-left: 250px;
	background: linear-gradient(135deg, #1a2a18 0%, #2d4a28 60%, #1a3020 100%);
}
@media (max-width: 768px) {
	.footer-bike-banner-wrap {
		padding-left: 0;
	}
}
.footer-bike-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	position: relative;
	overflow: hidden;
	padding: 28px 40px;
	max-width: 1300px;
	margin: 0 auto;
	text-decoration: none;
	transition: opacity .25s;
}
.footer-bike-banner:hover {
	opacity: .85;
}
.footer-bike-banner:hover .footer-bike-arrow {
	transform: translateX(6px);
}
.footer-bike-bg-icon {
	font-size: 100px;
	color: rgba(255,255,255,0.06);
	position: absolute;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
	pointer-events: none;
}
.footer-bike-banner-inner {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	justify-content: center;
}
.footer-bike-eyecatch {
	font-family: 'Montserrat', sans-serif;
	font-size: 10px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: rgba(183,210,143,0.85);
	border: 1px solid rgba(183,210,143,0.3);
	padding: 3px 12px;
	border-radius: 2px;
	white-space: nowrap;
}
.footer-bike-name {
	font-size: clamp(20px, 3vw, 26px);
	font-weight: 700;
	color: #fff;
	letter-spacing: 4px;
	white-space: nowrap;
}
.footer-bike-copy {
	font-size: clamp(12px, 1.8vw, 14px);
	color: rgba(255,255,255,0.7);
	letter-spacing: 1px;
	white-space: nowrap;
}
.footer-bike-arrow {
	color: rgba(183,210,143,0.8);
	font-size: 18px;
	flex-shrink: 0;
	transition: transform .25s;
}
@media (max-width: 640px) {
	.footer-bike-banner {
		padding: 22px 20px;
		gap: 14px;
	}
	.footer-bike-copy {
		display: none;
	}
	.footer-bike-bg-icon {
		font-size: 70px;
		right: 10px;
	}
}
/* ==========================
	西部りん業ここから
==========================*/


