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

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

/* =================================================================
	共通要素ここから
========================================================*/
.container {
	width: 100%;
	margin: 0 auto;
	background-color: #ffffff;
}
@media(max-width:768px){
	.container {
		background-image: initial;
	}	
}
.container main{
	overflow-x: hidden;
}
.container section.def-section {
	display: block;
	width: 100%;
	max-width: 1300px;
	/*padding: 0 30px;*/
	margin: 20px auto 60px;
	position: relative;
}
.container section.width100{
	max-width: initial;
}
.width90{
	width: 90%;
}
.width85{
	width: 85%;
}
.mw1300{
	max-width: 1300px;
}
.mw1024{
	max-width: 1024px;
}
.miauto{
	margin-inline:auto;
}
body:not(#indexbody) section:first-of-type{
	margin-top: 100px;
}

/* ページタイトル */
.pagetitle-wrap{
	position: relative;
	width: 100%;
	display: block;
	overflow-x: clip;
	z-index: 1;
	padding-top: 120px;
	background-color: #f5f9f4;
	background-image: url("https://www.transparenttextures.com/patterns/ice-age.png");
}
.pagetitle-wrap:before{
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	background-image: url(../images/common/bg_nami.png);
	background-repeat: repeat-x;
	background-size: 60px;
	background-position: left bottom;
	z-index: -1;
}
.pagetitle{
	width: 100%;
	padding-top: clamp(40px,7.6923vw,80px);
	padding-bottom: clamp(40px,7.6923vw,80px);
	padding-left: 20px;
	padding-right: 20px;
	margin:0 auto;
	text-align: center;
	line-height: 1.5;
	position: relative;
	z-index: 1;
}
.pagetitle:before{
	content: url(../images/common/pagetitlebefore.svg);
	display: block;
	position: absolute;
	width: max(200px,31vw);
	height: auto;
	left: -1vw;
	bottom: -50px;
	z-index: 1;
}
.pagetitle:after{
	content: url(../images/common/pagetitleafter.svg);
	display: block;
	position: absolute;
	width: max(200px,31vw);
	height: auto;
	right: -1vw;
	top: -50px;
	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,3.85vw,36px);
	/*推奨値 22px ÷ 520px * 100 vw */
	letter-spacing: 4px;
	font-weight: 500;
	color: var(--black);
	font-feature-settings: "palt" 1;
}
.pagetitle h1 span::first-letter{
	color: var(--maindark);
}
.pagetitle > span{
	font-size: clamp(15px,2.8846vw,20px);
	/*推奨値 14px ÷ 520px * 100 vw */
	font-weight: 300;
	font-family: var(--en);
	letter-spacing: 1px;
	color: var(--maincolor);
}
.pagetitle-back{/* 背景の縁取り英語 */
	font-size: clamp(100px,19.23vw,180px);
	color: var(--mainlight);
	font-family: 'Jost',Arial, 'Noto Sans JP',sans-serif;
	font-weight: bold;
	font-style: italic;
	position: absolute;
	white-space: nowrap;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
	z-index: 0;
	mix-blend-mode: multiply;
}
h2.def{
	position: relative;
	width: 85%;
    padding: 0 0 clamp(20px,3.8461vw,30px);
	margin-inline: auto;
    margin-bottom: 60px;
    font-weight: 400;
    font-size: clamp(22px,2.14vw,26px);
	text-align: center;
	line-height: 1.5;
	letter-spacing: 1px;
    background: linear-gradient(90deg, var(--maincolor) 0% 50%, var(--maindark) 50%);
    background-repeat: no-repeat;
    background-size: clamp(35px,6.73vw,50px) clamp(4px,0.7692vw,7px);
    background-position: bottom;
    color: var(--black);
}
.def-h3{
	font-size: 23px;
	font-weight: 400;
	display: flex;
	flex-direction: column;
	line-height: 1.75;
	margin-top: calc(2.5em + 10px);
	margin-bottom: 1.25em;
	padding-left: 0.25em;
	letter-spacing: 0.02em;
	position: relative;
}
.def-h3::before{
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: linear-gradient(135deg, #607D8B, #009688);
	border-radius: 50px;
	position: absolute;
	bottom: -9px;
	left: 0;
}

.def-h4{
	font-size: 20px;
	font-weight: 700;
	display: flex;
	align-items: baseline;
	gap: 13px;
	line-height: 1.75;
	margin-top: 2em;
	margin-bottom: 1.25em;
	letter-spacing: 0.01em;
	position: relative;
}
.def-h4:before{
	content: url(../images/common/h2before.svg);
	display: block;
	width: 1.5em;
	height: auto;
}
.link-def{
	display: block;
	width: fit-content;
	margin-top: 1.5em;
	font-size: 20px;
	position: relative;
	transition: all .25s;
	padding: 5px 40px 5px 0;
}
.link-def span{
	border-bottom: 1px solid;
}
.link-def::before,
.link-def::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0px;
	margin: auto;
	content: "";
	vertical-align: middle;
	transition: all .25s;
}
.link-def::before{
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	border: 2px solid var(--black);
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.link-def::after{
	right: 10px;
	width: 5px;
	height: 5px;
	border-top: 2px solid var(--black);
	border-right: 2px solid var(--black);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.link-def-white{
	color:#fff;
}
.link-def-white::before{
	border: 2px solid #fff;
}
.link-def-white::after{
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}
.link-def:hover span{
	border-bottom: none;
}
.link-def:hover::before{
	right:-10px;
}
.link-def:hover::after{
	right:0px;
}
.def-ul{
	margin-bottom: 1.5em;
}
.bfmark{
    position: relative;
    margin: 0;
    border-bottom: none;
    padding: 0;
    margin-left: 2.25em;
	margin-bottom: 0.5em;
    padding-top: 0.5em;
	line-height: 1.7;
}
.bfmark::before {
    content: "";
    position: absolute;
    top: 1em;
    left: -1.75em;
    width: 8px;
    height: 8px;
	border-radius: 100px;
    border: 1px solid var(--maincolor);
    background-color: transparent;
}
.ricemark {
	font-size: 0.9em;
}
/* レイアウトが合わないページで非表示 */
body:is(#clistbody,#blistbody,#companybody,#adminbody) .pagetitle-wrap::after{
	content:none;
}
.def-head{
	color:var(--black);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap:7px;
	line-height:1.25;
	margin-bottom:clamp(50px,6.51vw,60px);
}
.head-center{
	align-items: center;
}
.def-head span.en{
	font-size:60px;
	font-weight: 200;
	display: flex;
	gap: 1em;
}
.def-head span.en::before{
	content: url(../images/common/h2before.svg);
	display: block;
	width: 0.65em;
}
.def-head span.en::after{
	content: url(../images/common/h2after.svg);
	display: block;
	width: 0.65em;
}
.def-head span:not(.en){
	font-size:16px;
	color: var(--maindark);
	padding: 0 10px;
}
.head-center span:not(.en){
	display: flex;
	align-items: center;
}
a.defbtn{
	padding: 1em 2em;
	width: fit-content;
	border: 1px solid var(--maincolor);
	border-radius: 5px;
	background: var(--maincolor);
	color: #fff;
	display: grid;
	font-size: 18px;
	place-content: center;
	transition: all .25s;
	margin-block: 1.5em;
}
a.defbtn:hover{
	background: #fff;
	color: var(--maincolor);
}
p.defp{
	font-size: 17.5px;
	line-height: 1.75;
	margin-bottom: 1.5em;
}
.gallery{
	display: flex;
	justify-content: space-between;
}
.gallery.wrap{
	flex-wrap: wrap;
	gap: 30px 0;
}
.gallery2 >*{
	width: 47.5%;
}
.gallery3 >*{
	width: 32%;
}
figcaption{
	margin-top: 0.5em;
}
/* =================================================================
	ヘッダーここから
========================================================*/
/* ================================================
	ヘッダー大外
*/
header {
	z-index: 999;
	position: fixed;
    top: 0;
	width: 100%;
	height: 70px;
	background: rgba(255,255,255,0);
	transition: all .25s;
}
header > div{
	position: relative;/* ナビ子メニューの起点にするため */
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: space-between;
	padding-left: 2%;
}
#pc-header.fixed{
    background: rgba(101, 158, 163, 0.65);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
}
/* ================================================
	ヘッダーロゴ
*/
.headlogo{
	display:flex;
	transition: all .25s;
}
.headlogo:hover{
	opacity: 0.5;
}
.headlogo img{
	display: block;
	position: absolute;
	filter: none;
	transition: all .25s;
}
.headlogo img:first-child{
	width: 160px;
	top: 25px;
	left: 30px;
}
.headlogo img:last-child{
	width: 200px;
	top: 25px;
	left: 200px;
}
@media(min-width:1500px){
	.headlogo img:first-child{
		width: 160px;
		top: 25px;
		left: 50px;
	}
	.headlogo img:last-child{
		width: 290px;
		top: 25px;
		left: 225px;
	}
}
.fixed .headlogo img{
	filter:brightness(0) invert(1);
}
.fixed .headlogo img:first-child{
	width: 100px;
	top: 14px;
	left: 30px;
}
.fixed .headlogo img:last-child{
	width: 200px;
	top: 25px;
	left: 135px;
}
/* ================================================
	ヘッダーメインメニュー
*/

header nav {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: flex-end;
    align-items: center;
}
.menu-wrap{
	width: 145px;
	height: 100%;
	text-align: center;
}
.menu-wrap#menu-contact_btn{
	width: 140px;
}
.has-child{
	position: relative;
	height: 100%;
	background:rgba(255,255,255,0);
	transition:all .25s;
}
header:not(.fixed) .has-child:hover{
	background:rgba(255,255,255,0.93);
}
.menuttl{
	font-size: 15px;
	color: var(--black);
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .25s;
}
.fixed .menuttl{
	color: #fff;
}
.menuttl:hover{
	color: var(--maincolor);
}
.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( 255, 255, 255, 0.98);*/
	box-shadow: 0px 5px 10px 0 rgba(0, 0, 0, 0.02);
	transition: all .25s;
}
.menu-dropdown > * {/* hoverした時のプロパティ */
	overflow: hidden;
	height: 30px;
	font-size: 14px;
	background: rgba(255,255,255,0.93);
	backdrop-filter: blur(3px);
	white-space: nowrap;
	transition: 
	0.5s height cubic-bezier(0.42, 0.0, 0.58, 1.0),
	0.5s padding cubic-bezier(0.42, 0.0, 0.58, 1.0),
	0.5s margin cubic-bezier(0.42, 0.0, 0.58, 1.0),
	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.2s 0.1s height,
	0.2s 0.1s padding,
	0.2s 0.1s margin,
	0.2s color,
	0.3s visibility,
	0.2s border-bottom
	;
}
.menu-dropdown li:first-of-type{
	box-shadow: 0px 10px 10px -10px rgba(0, 0, 0, 0.03) 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;
	color: var(--black);
}
.menuchild a:hover{
	color: var(--maincolor);
}
header.fixed .menuchild a:hover{
	color:#fff;
	background:rgba(101, 158, 163, 0.65);
}
#menu-contact_btn{	
	transition: all .25s;
}
.menu-ov{
	display:flex;
	flex-direction:column;
}
#menu-contact_btn a{
	color: #fff;
	position: relative;
}
/*ここからグラデーション背景のhover用記述*/
#menu-contact_btn a:before{
	content:"";
	width:100%;
	height:100%;
	position:absolute;
	z-index:-1;
	left:0;
	transition:0.4s;
	background:#659EA3;
}
#menu-contact_btn a:after{
	content:"";
	width:100%;
	height:100%;
	position:absolute;
	z-index:-2;
	left:0;
	background:linear-gradient(135deg, #23656b, #4fb3bb);
}
#menu-contact_btn a:hover:before{
	opacity:0;
}
/*ここまでグラデーション背景のhover用記述*/
#menu-contact_btn a span{
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-size: 14px;
}
#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';
}
/* ======================================================== 
	ヘッダーここまで
=================================================================*/
/* =================================================================
	CTAここから
========================================================*/
.cta-container{
	display: flex;
	height: 260px;
	position: relative;
	z-index: 1;
	margin-top: 100px;
}
#indexbody .cta-container{
	margin-top: 0;
}
.cta-single{
	width: 50%;
	height: 100%;
	background-color: var(--subcolor);
	background-image: url("https://www.transparenttextures.com/patterns/60-lines.png");
	color:#fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 25px;
	transition: all .25s;
}
.cta-single:hover{
	background-color:var(--maindark);
}
.cta-single:first-of-type{
	border-right:2px solid #fff;
}
.cta-single span{
	font-size:34px;
}
.cta-single span i{
	margin-right: 0.5em;
}
.cta-single p{
	font-size:15px;
}
/* ======================================================== 
	CTAここまで
=================================================================*/
/* =================================================================
	フッターここから
========================================================*/
footer {
	width: 100%;
	font-size: 15px;
	position: relative;
	background: rgba(255,255,255,0.6);
}

.footermenu{
	width: 90%;
	max-width: 1024px;
	padding: 80px 0;
	display: flex;
	margin: 0 auto;
}
.footermenu-category-wrap{
	width: 25%;
}
.footermenu-category-ttl{
	margin-bottom: 16px;
	font-size: 16px;
}
ul + .footermenu-category-ttl{
	margin-top:40px;
}
.footermenu-category-li{
	display: flex;
	align-items: center;
}
.footermenu-category-li:not(.arrow_s),
.arrow_s {
	position: relative;
	padding-left: 1.5em;
	color: var(--black);
	text-decoration: none;
	margin-bottom: 10px;
}
.arrow_s::before,
.footermenu-category-li:not(.arrow_s)::before{
	content: '';
	top: 50%;
	left: 0;
	position: absolute;
	transition: all .25s;
}
.footermenu-category-li:not(.arrow_s)::before{
	width: 0.8em;
	height: 1px;
	background:var(--maincolor);
}
.arrow_s::before {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent var(--maincolor);
	margin-top: -5px;
}
.footermenu-category-li a{
	font-size: 15px;
	/*min-width: 11em;*/
	color:var(--black);
	transition: all .25s;
	padding: 3px 0;
}
.footermenu-category-li a:hover{
	color: var(--maincolor);
}
.footermenu-category-li:not(.arrow_s):has(a:hover)::before{
	background:var(--maindark);
}
.footermenu-category-li.arrow_s:has(a:hover)::before{
	border-color: transparent transparent transparent var(--maindark);
}
#copyright{
	background:var(--subcolor);
	color: #fff;
	text-align: center;
	padding: 16px 0;
}
.footer-com_info{
	display: flex;
	width: 96%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 2% 100px;
}
.footlogo{
	display:flex;
	align-items:baseline;
	width: fit-content;
	margin-bottom:20px;
	transition: all .25s;
}
.footlogo:hover{
	opacity: 0.5;
}
.footlogo img:first-child{
	width:80px;
}
.footlogo img:last-child{
	width:220px;
}
.footer-company{
	font-size: 15px;
	line-height: 1.5;
}
.footer-company p{
	font-size: 14px;
	margin-bottom: .5em;
}
.footertel a{
	text-decoration: underline;
	transition: all .25s;
}
.footertel a:hover{
	color: var(--pincolor);
}

/* 営業カレンダー */
.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(--maindark);
}
.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;
}
@media(max-width:910px){
	.footer-com_info{
		flex-wrap: wrap;
		gap: 40px;
		flex-direction: column;
	}
	.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;
	}
	.footlogo{
		margin-inline: auto;
	}
}
/* ======================================================== 
	フッターここまで
=================================================================*/
/* ============================================================== 
	indexここから
===========================================================*/
#indexbody main{
	position: relative;
}
#index-base{
	position: fixed;
	top: 0;
	width:100%;
	height:100vh;
	object-fit:cover;
}
#indexbody main section{
	position: relative;
	z-index: 1;
}
/* ヒーロー画像 */
#index_hero-container{
	width: 100%;
	height: 100vh;
}
#index_hero{
	width: 100%;
	height: 100%;
	position: relative;
}
#index_hero::before{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 30%;
	background-color: var(--sublight);
	background-image: url("https://www.transparenttextures.com/patterns/redox-02.png");
}
#index_hero-figure{
	width: 70vw;
	height: 75vh;
	background: #d4e2e1;
	margin-inline-start:auto;
	position: relative;
	z-index: 1;
}
#index_hero-figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#index_hero-text{
	position: absolute;
	z-index: 2;
	top: 37%;
	left: 10vw;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
}
.index_hero-text-ja{
	font-size:clamp(30px, 3.15vw, 43px);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.8;
}
.index_hero-text .index_hero-text-ja:last-child{
	margin-bottom: 10px;
}
.index_hero-text-en{
	letter-spacing: 0.1em;
	line-height: 1.8;
	font-size:clamp(11px, 2.9947916667vw, 23px);
	font-weight: 300;
	color: var(--maincolor);
	margin-top: 10px;
}
.index_hero-text-en:last-of-type{
	margin-top: 0;
}
#index-hero-svg{
	position: absolute;
	left: 10vw;
	bottom: 4vh;
	width: 27.5vw;
	max-width: 520px;
	z-index: 1;
}
#index-hero-human-svg{
	position: absolute;
	left: 37.5vw;
	bottom: 4vh;
	width: 14vw;
	max-width: 520px;
	z-index: 1;
}
/* おすすめ物件 */
#index_osusume{
	margin:0 auto;
	width: 100%;
}

.osusume-container{
	position: relative;
	margin:0 auto;
	/*max-width: 1300px;*/
	width: 100%;
	z-index: 1;
	padding-block: 100px;
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}
#osusume-c-container{
	/*background:rgba( 246, 236, 232, 0.6);*/
	background: hsla(24,77%,26%,0.05);
}
#osusume-b-container{
	/*background: rgba( 232, 241, 241, 0.6);*/
	background: hsla(180,46%,22%,0.04);
}
.osusume_inner {
	display: flex;
	flex-wrap: wrap;
	width: 90%;
	max-width: 1300px;
	margin-inline: auto;
	gap: 40px 2%;
}
.osusume_cell {
	position: relative;
	display: block;
	width: 32%;
	padding:10px;
	line-height: 1.5;
	color:var(--black);
	background:#fff;
	transition: all .25s;
	box-shadow: 0 3px 15px rgba(0,0,0,0.03);
	border: 2px solid transparent;
}
a.osusume_cell:hover {
	box-shadow: 0 3px 15px rgba(0, 16, 107, 0.1);
	border: 2px solid var(--maincolor);
}

.osusume_photo{
	width:100%;
	height: auto;
	overflow: hidden;
	transition: all .25s;
	position: relative;
}
.osusume_photo img {
	width: 100%;
	height: auto;
	aspect-ratio: 4/3;
	object-fit: cover;
	transition: all .25s;
}
.osusume_inner > a:hover .osusume_photo img{
	transform: scale(1.1);
}
.osusume_inner > a .osusume_photo::before{
	content:'';
	position: absolute;
	width: 100%;
	height:100%;
	background:rgba(0, 0, 0, 0);
	z-index:1;
	transition: all .25s;
}
.osusume_inner > a .osusume_photo::after{
	content:'詳細を見る';
	font-family: 'Noto Sans JP',sans-serif;
	position: absolute;
	display: block;
	width: 100%;
	height:1em;
	font-size:18px;
	font-weight:400;
	letter-spacing: 3px;
	text-align: center;
	top: 50%;
    left: 0%;
    transform: translateY(-50%);
	color:transparent;
	z-index:2;
	transition: all .25s;
}
.osusume_inner > a:hover .osusume_photo::before{
	background:rgba(0, 0, 0, 0.4);
}
.osusume_inner > a:hover .osusume_photo::after{
	color:#fff;
}
.osusume_finished,
.osusume_pending{
	display:block;
	width:100%;
	height:100%;
	position:relative;
	
	z-index: 0;
}
.osusume_finished::before{
	content:'';
	background-image:url('../images/osusume_finished.png');
	background-size:contain;
	background-repeat:no-repeat;
	display:block;
	position:absolute;
	width:100%;
	height:100%;
	object-fit: contain;
}
.osusume_pending::before{
	content:'';
	background-image:url('../images/osusume_pending.png');
	background-size:contain;
	background-repeat:no-repeat;
	display:block;
	position:absolute;
	width:100%;
	height:100%;
	object-fit: contain;	
	z-index: 1;
	transition: all .25s;
}
.osusume_finished.osusume_pending::before{
	background-image:url('../images/osusume_finished.png');
}
a.osusume_cell:hover .osusume_pending::before{
	opacity: 0.2;
}
.osusume_syubetu-madori{
	font-size: 13px;
	font-weight: 700;
	color: var(--maincolor);
	border: 1px solid var(--maincolor);
	padding: 3px 10px;
	margin-bottom: 5px;
	width: fit-content;
}
div.osusume_cell .osusume_syubetu-madori,
div.osusume_cell .osusume_cost{
	display: none;
}
.osusume_cost{
	margin-bottom: 5px;
}
.osusume_cost span{
	font-size: 24px;
	color:var(--black);
	font-weight:bold;
	line-height:1.5;
}
.osusume_addr,
.osusume_catch{
	font-size:15px;
	line-height:1.5;
}
.osusume_catch{
	padding-inline: 0.5em;
	padding-bottom: 1em;
}
.osusume_info{
	margin-block:20px;
	padding-block-end: 20px;
	border-bottom: 1px solid #CAD0D6;
	padding-inline: .5em;
}
.osusume_words{
	margin-top:8px;
	letter-spacing: 1px;
}
.osusume_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);
}
/*.osusume_datum > span{「詳細を見る」動画・VRを入れる時は表示 
	display: none;
}*/
.osusume_datum > span{
	display: flex;
	background:var(--maincolor);
	margin-top:10px;
	margin-right: 10px;
	padding:14px;
	border-radius: 3px;
	font-size:15px;
	color:var(--white);
	justify-content: center;
	align-items: center;
	gap:15px;
	box-shadow: var(--shadowlight);
	border: 2px solid #fff;
	position: absolute;
	top: -12px;
	left: -2px;
	z-index: 2;
}

.osusume_datum > span.osusume_normal{
	display: none;
}
.osusume_vr::before,
.osusume_movie::before,
.osusume_movievr::before,
.osusume_movievr::after{
	content:'';
	width:28px;
	height:28px;
	background-size: contain;
	background-repeat: no-repeat;
	transition: all .25s;
}
.osusume_vr::before,
.osusume_movievr::before{
	background-image: url(../images/common/cblist-hasvr360-icon.svg);
}
.osusume_movie::before,
.osusume_movievr::after{
	background-image: url(../images/common/cblist-hasmovie.svg);
}
/*
.osusume_cell:hover .osusume_vr::before,
.osusume_cell:hover .osusume_movie::before,
.osusume_cell:hover .osusume_movievr::before,
.osusume_cell:hover .osusume_movievr::after{
	transform: rotateZ(360deg);
}*/
/* news */
#index_news-container{
	width:100%;
	max-width: initial;/* sectionのmax-width打ち消し */
	padding-block:80px;
	margin:0 auto;
	display: flex;
	flex-direction: column;
	gap: 80px;
	background: rgba(255,255,255,0.5);
}
#index_fb-container{
	width: 90%;
	max-width: 450px;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
}
.fb-page.under520{
	display: none;
}
#index_news-wrap{
	width: 90%;
	max-width: 1300px;
	margin:0 auto;
	position: relative;
	z-index: 1;
}

#index_news a{
	color:var(--linkcolor);
	text-decoration: underline;
	transition: all .25s;
}
#index_news a:hover{
	color:var(--pincolor);
}
#index_news{
	background:#ffffff;
	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;
	border: 1px solid var(--sublight2);
}
#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(--maincolor);
}
.infotr{
	display: flex;
	border-bottom: 1px solid var(--sublight2);
	column-gap: 60px;
	padding-bottom: 22.5px;
}
.infotr:not(:first-of-type){
	margin-top: 20.5px;
}
.infotr .info_date{
	width:100px;
	font-size:16px;
	font-weight:500;
	color:#676767;
	font-family: var(--en);
}
.infotr .info_body{
	width:calc(100% - 160px);
	font-size: 15px;
	line-height:1.5;
}
#index_banner{
	width:100%;
	max-width: initial;/* sectionのmax-width打ち消し */
	padding-block:80px;
	margin:0 auto;
}
#index_banner figure{
	max-width: 800px;
}
#index_banner figure a{
	width: 23%;
	max-width: 170px;
	height: fit-content;
    border: 1px solid #ccc;
	transition: all .25s;
}
#index_banner figure a:hover{
	opacity: 0.5;
}
#index_banner figure img{
	width: 100%;
	object-fit: contain;
}
.index-vr-banner{
	width: 90%;
	max-width: 1030px;
	margin-inline: auto;
	transition: all .25s;
}
.index-vr-banner:hover{
	opacity: 0.75;
}
/* ======================================================== 
	indexここまで
=================================================================*/
/* =================================================================
	会社概要ここから
========================================================*/
#companybody .container section{
	max-width: initial;
}
#company_text{
	width: 95%;
	max-width: 1300px;
}
#companymap {
	width: 100%;
}
#company_aisatu-content{
	display: flex;
	max-width: 1728px;
	margin: 0 auto 120px;
}
#company_aisatu-content > figure{
	width: 50%;
}
#company_aisatu-text{
	width: 50%;
	padding:0 5.555%;
}
#company_aisatu-text h3{
	font-size: 26px;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	line-height: 1.75;
	margin-bottom: 1.25em;
	letter-spacing: 0.01em;
}
#company_aisatu-text p{
	font-size: 16px;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-bottom: 1em;
}
#company_aisatu-text img{
	display: block;
	width: 70%;
	max-width: 350px;
	margin: 60px 0 0 auto;
}
#company_text {
	margin: 0 auto 120px;
	padding: 0;
	position:relative;
	z-index:0;
	box-shadow: 0 3px 15px rgba(0,0,0,0.05);
}
#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;
}
#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:#fff;
	background-color: var(--maindark);
	border-top: 1px solid #537779;
}
#company_text dl dd {
	width: 70%;
	padding: 15px 25px 20px 30px ;
	line-height: 1.5;
	font-size:clamp(14px,2.6923vw,16px);
	letter-spacing: 1px;
	background:#ffffff;
	border-top: 1px solid #eee;
}
#company_text dl dd:has(.bfmark){
	padding: 15px 25px 20px 20px ;
}
#companymap {
	height: clamp(300px,57.692vw,500px);
	margin: 0 auto;
}
#companymap_wrap{
	position: relative;
	z-index:0;
}

.domain::before{
	content:'@';
}
#company_info figure{
	width: 95%;
	display: flex;
	justify-content: space-between;
	margin:0 auto 3em;
}
#company_info figure img{
	width: 47.5%;
	vertical-align: bottom;
}
#company_info .bfmark{
	margin-bottom: 0;
	font-size: clamp(14px,2.6923vw,16px);
}
/* ======================================================== 
	会社概要ここまで
=================================================================*/
/* =================================================================
	お問い合わせここから
========================================================*/
.container section#contact{
	padding:0 clamp(20px,3.8461vw,30px);
	max-width: 1300px;
	margin-inline: auto;
}
#contactbody main{
	padding-bottom:60px;
}
#contact p,
#form_table {
	width: 95%;
}
#contact p {
	margin: 0 auto 5px;
	line-height: 1.5;
}
#form_table {
	margin: 60px 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%;
	min-width: 270px;
	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 p{
	margin-left: 0;
}
#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 #cbcbcb;
	border-radius: 2px;
}
#form_table label{
	display: inline-block;
	margin-bottom: 0.5em;
	font-size: clamp(15px,1.95vw,16px);
}
#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);
}
.qf_reverse-wrap input{
	margin-top: 10px;
}
.qf_reverse-wrap label input{
	margin-top: 0;
}
.radiowrap label{
	margin-right: 10px;
}
/* 説明文の中央よせ */
.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;
	padding-bottom: 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;
}
.nini{
	display: inline-block;
	padding: 2px 8px;
    background: #888;
    color: #fff;
    border-radius: 0;
    font-size: clamp(10.5px,2.0192vw,13px);
    position: relative;
	margin: 0 15px;
}
p .nini{
	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:#293c51;
}
.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(34, 85, 170, 0.2);
	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(--linkcolor);
	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;
	margin-bottom:3px;
	color:var(--maindark);
	border-bottom:1px solid;
	line-height:1.5;
	margin-top:35px;
}
#form_table.chkform dl.chklist dd{
	padding:5px 15px;
	line-height:1.5;
}
#form_table.chkform .formlast{
	margin-top:60px;
}
.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(--maindark);
}
/* ステップバー */
.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:0 3px 15px rgba(40,67,52,0.1);
}
@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(--maindark);
}
.progressbar li.active:before,
.progressbar li.complete:before {
    background-color: var(--maindark);
    color: #FFF;
}
.progressbar li.active:after,
.progressbar li.complete:after {
    background-color: var(--maindark);
}
/* 入力ヒント「半角数字で入力」等 */
.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;
		gap: 5px;
	}
	.form_hint {
		font-size:13px;
		position: initial;
		top: initial;
		display: none;
	}
	#form_table input:focus + .form_hint {
		display: block;
	}
}
/* ======================================================== 
	お問い合わせここまで
=================================================================*/
/* =================================================================
	プライバシーポリシーここから
========================================================*/
.container section#privacy{
	width: 85%;
	max-width: 1300px;
	margin-inline: auto;
}
#privacybody main{
	padding-bottom:60px;
}
#privacy > div > p{
	font-size:17.5px;
	margin-bottom:10px;
	line-height: 1.5;
}
#privacy_list h3{
	margin-top: 1em;
}
#privacy_list > div{
	display: flex;
	flex-direction: column;
	position: relative;
	margin-top:20px;
}
#privacy_list > div > span{
	font-weight:bold;
	font-size:clamp(24px,4.6153vw,32px);
	color:var(--graydark);
	letter-spacing: 1px;
	border-bottom:1px solid var(--graydark);
	padding-bottom: 10px;
}
#privacy_list > div > p,
#privacy_list > ol{
	font-size:clamp(14px,2.6923vw,17.5px);
	line-height:1.75;
	letter-spacing: 0.02em;
}
#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:not(#cookielist){
	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;
}
#privacy_list > ul#cookielist{
	margin-left: 1em;
	margin-top: 2em;
}
#cookieporicy{
	margin-top: 60px;
}
#cookielist li:not(:last-child){
	margin-bottom: 0.75em;
}
#cookielist a{
	position: relative;
	padding-inline: 1.5em;
	margin-bottom: 13px;
	color: var(--linkcolor);
	width: fit-content;
}
#cookielist a span{
	font-size: 1em;
	font-weight: 400;
	letter-spacing: 0.02em;
	text-decoration: underline;
}
#cookielist a::before {
	content: '';
	top: 50%;
	left: 0;
	position: absolute;
	transition: all .25s;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent var(--linkcolor);
	margin-top: -5px;
}
#cookielist a:hover::before {
	border-color: transparent transparent transparent var(--pincolor);
}
#cookielist a:hover{
	color: var(--pincolor);
}
/* ======================================================== 
	プライバシーポリシーここまで
=================================================================*/
/* =================================================================
	サイトマップここから
========================================================*/
#sitemapbody .pagetitle-wrap:before{
	content: none;
}
#sitemapbody section{
	margin: 0 auto;
    z-index: 1;
    position: relative;
	background-color: hsla(0,0%,100%,0.4);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	padding-block: 40px 60px;
	border: 2px solid #fff;
	border-radius: 5px;
	box-shadow: var(--shadow);
}
.sitemapcat ul{
	display: flex;
	flex-wrap: wrap;
	gap: 40px 5%;
	margin-bottom: 60px;
}
.sitemapcat ul li{
	width: 47.5%;
	display: flex;
	flex-direction: column;
}
.sitemap-name{
	position: relative;
	padding-inline: 1.5em;
	margin-bottom: 13px;
	color: var(--linkcolor);
	width: fit-content;
}
.sitemap-name span{
	font-size: 1.1em;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-decoration: underline;
}
.sitemap-name::before {
	content: '';
	top: 50%;
	left: 0;
	position: absolute;
	transition: all .25s;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent var(--linkcolor);
	margin-top: -5px;
}
.sitemap-name:hover::before {
	border-color: transparent transparent transparent var(--pincolor);
}
.sitemap-name + span{
	line-height: 1.7;
}
/* ======================================================== 
	サイトマップここまで
=================================================================*/
/* =================================================================
	物件一覧ここから
========================================================*/
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: 90%;
	max-width: 1300px;
	margin-inline: auto;
	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(--maindark);
}
.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: 10px;
}
.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(--black);
	font-size:14px;
	font-weight: 400;
	transition: all 0.25s;
	position: relative;
	text-align: center;
	padding:8px 16px;
	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: #fff;
	box-shadow: 0 3px 15px rgba(40,67,52,0.1);
	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:630px;
	margin:0 auto;
	background:#fff;
	padding:10px 5px;
	border-radius:15px;
	box-shadow: 0 3px 15px rgba(40,67,52,0.1);
}
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: 13px;
	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 #fff;
	transition: all .25s;
	border-radius:50%;
	line-height:1;
}
div.navi_number span {
	color: var(--maincolor);
	font-weight:700;
	border-bottom: 1px solid var(--maincolor);
	border-radius:0;
	padding:0 10px 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(--maincolor);
	border:1px solid var(--maincolor);
	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: 200px;/* フッターの下に虚無が生まれるの防止 */
	margin-bottom: 30px;
	font-size: clamp(15px,2.8846vw,17.5px);
	color: var(--costred);
}
.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;
}

/* 物件一覧部分 */
#clistbody .pagetitle-wrap:before,
#blistbody .pagetitle-wrap:before{
	content: none;
}
.container section.cblist{
	margin:0 auto;
	z-index: 1;
	position: relative;
}
.cblist_inner{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: 90%;
	max-width: 1300px;
	gap: 40px 2%;
	margin-inline: auto;
	margin-block: 60px 0;
}

.cblist_link {
    display: block;
    width: 32%;
    padding: 10px;
    box-shadow: 0 3px 15px rgba(40,67,52,0.1);
    line-height: 1.5;
    color: var(--black);
    background: #fff;
    transition: all .25s;
	border: 2px solid transparent;
}
/*
.uxicon{  「詳細を見る」動画・VRを入れる時は表示 
	display: none;
}*/
.cblist_photo{
	width:100%;
	height: auto;
	overflow: hidden;
	transition: all .25s;
	position: relative;
}
.cblist_photo img {
	width: 100%;
	height: auto;
	aspect-ratio: 4/3;
	object-fit: cover;
	transition: all .25s;
}
.cblist_link:hover{
	box-shadow: 0 3px 15px rgba(0, 16, 107, 0.1);
    border: 2px solid var(--maincolor);
}
.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:'詳細を見る';
	font-family: 'Noto Sans JP',sans-serif;
	position: absolute;
	display: block;
	width: 100%;
	height:1em;
	font-size:18px;
	font-weight:400;
	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_cost{
	margin-bottom: 5px;
}
.bukken_cost span{
	font-size: 24px;
	color:var(--black);
	font-weight:bold;
	line-height:1.5;
}

.bukken_addr,
.bukken_catch{
	font-size:15px;
	line-height:1.5;
}
.bukken_syubetu-madori{
	font-size: 13px;
	font-weight: 700;
	color: var(--maincolor);
	border: 1px solid var(--maincolor);
	padding: 3px 10px;
	margin-bottom: 5px;
	width: fit-content;
}
.bukken_syubetu-madori:has(.madori:empty) .slash{
	display: none;
}
.cblist_list{
	margin-top:20px;
}
.cblist_list dl{
	padding-inline: 0.5em;
}
	
.bukken_catch{
	margin-top:8px;
	letter-spacing: 1px;
	padding-top: 20px;
	padding-inline: 0.5em;
	padding-bottom: 1em;
	margin-top: 20px;
	border-top: 1px solid #cad0d6;
}
.cblist_link .bukken_name {
	display: none;
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 3px;
    letter-spacing: 1px;
    text-align: center;
    font-size: 1.1em;
    color: var(--maindark);
    border-bottom: solid 1px var(--maindark);
}
#clistbody .cblist_link .bukken_name {
	display: block;
    width: 100%;
    margin-bottom: 15px;
    padding-bottom: 5px;
    letter-spacing: 1px;
    text-align: center;
    font-size: 0.95em;
	color: var(--black);
    border-bottom: 1px solid #cad0d6;
}
/* NEWマーク */
.osusume_isnew{
    position: absolute;
    top: 8px;
    left: 10px;
    font-size: 18px;
    font-weight: 700;
    color: var(--costred);
	letter-spacing: 1px;
    text-shadow: 0 0 2px #fff, 1px 0 2px #fff, 1px 1px 2px #fff, 0 1px 2px #fff, -1px 1px 2px #fff, -1px 0 2px #fff, -1px -1px 2px #fff, 0 -1px 2px #fff, 1px -1px 2px #fff;
	animation: blink 0.75s infinite alternate;
}
@keyframes blink{
	0% { opacity: 0; }
	100% { opacity: 1; }
}


/* 3→2列になったときに余った1を疑似的に左寄せにするための細かいレスポンシブ
	無理やりなのでいいやり方が見つかったらやり直したい
*/
body:has(.progressbar li:nth-child(2).active) #meisai,
body:has(.progressbar li:nth-child(3).active) #meisai{
	display: none;
}
/* 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;
}
.list_movievr,
.list_movie,
.list_vr{
    /* order: 2; */
    position:absolute;
    display: flex;
    background: var(--maincolor);
    padding: 10px 15px;
    border-radius: 3px;
    font-size: 15px;
    color: var(--white);
    justify-content: center;
    align-items: center;
    gap: 10px;
    box-shadow: var(--shadowlight);
	top:-3px;
	left: -3px;
	border:2px solid #fff;
	opacity: 0.95;
	z-index: 2;
}
.list_vr::before,
.list_movie::before,
.list_movievr::before,
.list_movievr::after{
	content:'';
	width:25px;
	height:25px;
	background-size: contain;
	background-repeat: no-repeat;
	transition: all .75s;
}
.list_vr::before{
	background-image: url(../images/common/cblist-hasvr360-icon.svg);
}
.list_movie::before{
	background-image: url(../images/common/cblist-hasmovie-icon.svg);
}
.list_movievr::before{
	background-image: url(../images/common/cblist-hasmovie-icon.svg);
}
.list_movievr::after{
	background-image: url(../images/common/cblist-hasvr360-icon.svg);
}
.list_normal{
	display:none;
}
/* 動画ありVRあり詳細の非表示　使うサイトの時はコメントアウト
.list_movievr,
.list_movie,
.list_vr,
.list_normal{
	display: none;
} */

/* ======================================================== 
	物件一覧ここまで
=================================================================*/
/* =============================================
	cmapここから
==============================================*/
body:not(#indexbody)#cmapbody section:first-of-type{
	margin-top:60px;
}
#baloon_explanation {
	margin-bottom: 40px;
	padding-left: 0px;
	font-size: 16px;
	font-weight: 500;
}

/* 吹き出し */
.gm-ui-hover-effect>span {
	position: absolute;
	top: 2px;
	right: -5px;
	background-color: #c33 !important;
	width: 30px !important;
	height: 30px !important;
	opacity: 1 !important;
}
.gm-ui-hover-effect {
	opacity: 1;
}
div.balloon span.btn {
	display: block;
	width: 100%;
	color: #fff;
	background: var(--maindark);
	margin-block: 3px 5px;
	padding: 3px 5px;
	border-radius: 15px;
	transition: all .25s;
}
div.balloon span.btn:hover {
	background: var(--maincolor);
}

#search_map {
	height: 600px;
	width: 100%;
}
div.balloon {
	width: 220px;
	max-height: 350px;
	overflow-x: hidden;
}
div.balloon table {
	width: 100%;
}
div.balloon table:not(:last-child) {
	margin-bottom: 15px;
	border-bottom: dotted 2px #666;
}
div.balloon table tr:last-child td {
	padding-bottom: 15px;
}
div.balloon img {
	width: 160px;
	height: 120px;
}
.map_cost{
	font-size: 16px;
	font-weight: bold;
	color: #CC3333;
}
.main_inner{
	width: 100%;
	padding: 0;
}

.inline{
	display:inline-block;
	margin-right:0.5rem;
}
/*20221005追加アイコンソート用*/
#baloon_explanation{
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap:20px;
}
.defpagebody section p:not(.dam-h2).mapcheck-p{
	display: block;
	width: 90%;
	margin-bottom: 20px;
	padding: 0 10px;
	text-align: center;
	font-size:15px;
	color:rgb(197, 0, 0);
}
@media (min-width: 810px) {
	#baloon_explanation{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		flex-direction: row;
		gap:0 20px;
	}
	.defpagebody section p:not(.dam-h2).mapcheck-p{
		display: block;
		width: 100%;
		margin-bottom: 20px;
		text-align: center;
		font-size:16px;
		color:rgb(197, 0, 0);
	}
}
.mapcheck-input{
	display: none;
}
.mapcheck-label{
	min-width: 130px;
	height:40px;
	transition: all .3s;
	display: inline-table;
	padding: 5px 10px;
	border-radius: 10px;
	cursor: pointer;
	border:2px solid rgba(255,255,255,0);
}
.mapcheck-label img {
	width: 25px;
	margin-right: 10px;
}


@media (min-width: 810px) {
	.mapcheck-label{
		height:40px;
		transition: all .3s;
		display: inline-table;
		padding: 5px 10px;
		border-radius: 10px;
		cursor: pointer;
		border:2px solid rgba(255,255,255,0);
	}
	.mapcheck-label img {
		width: 42px;
		margin-right: 10px;
	}
}
input[type="checkbox"]:checked + #mapcheck-label_c1,
input[type="checkbox"]:checked + #mapcheck-label_c2,
input[type="checkbox"]:checked + #mapcheck-label_c3,
input[type="checkbox"]:checked + #mapcheck-label_c4,
input[type="checkbox"]:checked + #mapcheck-label_c5,
input[type="checkbox"]:checked + #mapcheck-label_c6,
input[type="checkbox"]:checked + #mapcheck-label_c7,
input[type="checkbox"]:checked + #mapcheck-label_b1,
input[type="checkbox"]:checked + #mapcheck-label_b2,
input[type="checkbox"]:checked + #mapcheck-label_b3,
input[type="checkbox"]:checked + #mapcheck-label_b4 {
	border:2px solid #e3e3e3;
}
#mapcheck-label_c1:hover,input[type="checkbox"]:checked + #mapcheck-label_c1,
#mapcheck-label_c2:hover,input[type="checkbox"]:checked + #mapcheck-label_c2,
#mapcheck-label_c3:hover,input[type="checkbox"]:checked + #mapcheck-label_c3,
#mapcheck-label_c4:hover,input[type="checkbox"]:checked + #mapcheck-label_c4,
#mapcheck-label_c5:hover,input[type="checkbox"]:checked + #mapcheck-label_c5,
#mapcheck-label_c6:hover,input[type="checkbox"]:checked + #mapcheck-label_c6,
#mapcheck-label_c7:hover,input[type="checkbox"]:checked + #mapcheck-label_c7,
#mapcheck-label_b1:hover,input[type="checkbox"]:checked + #mapcheck-label_b1,
#mapcheck-label_b2:hover,input[type="checkbox"]:checked + #mapcheck-label_b2,
#mapcheck-label_b3:hover,input[type="checkbox"]:checked + #mapcheck-label_b3,
#mapcheck-label_b4:hover,input[type="checkbox"]:checked + #mapcheck-label_b4 {
	background:#f3f3f3;
}
.mapcheck-submit{
	position: relative;
	display: flex;
	align-items: center;
	gap: 1em;
	width: 180px;
	height: 45px;
	margin-top: 20px;
	font-size: 18px;
	font-weight:500;
	color: #555555;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	opacity: 0;
	transition: all .3s ease-in-out;
	background-color: #fff;
	box-shadow:0 3px 10px rgba(0,0,0,0.15);
	pointer-events: none;
}
@media (min-width: 810px) {
	.mapcheck-submit{
		margin-top: 0;
		margin-left: 40px;
	}
}
.mapcheck-submit:hover{
	background:#b0d9ff;
}
input[type="checkbox"]:checked ~ .mapcheck-submit{
	opacity: 1;	
	pointer-events: visible;
}
/* =============================================
	cmapここまで
==============================================*/
/* =================================================================
	物件詳細ここから　※詳細ページはsp-cssもあるので注意！！！
========================================================*/
#meisaibody main{
	/*background: linear-gradient(90deg, #fff 0% 20%, var(--gray) 20%);*/
	/*padding-bottom:60px;*/
}
.container main#meisai_article h1 {
	position: relative;
	/* ???
	height: 55px;
	line-height: 60px;*/
}
.container section#meisai{
	margin:0 auto;
	width:90%;
	max-width: 1300px;
}
.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-top: 20px;
	padding-right: 25px;
	padding-bottom: 20px;
	padding-left: calc(25px + 2em);
	border-radius: 3px;
	background: #fff;
	border: 2px solid var(--maincolor);
	text-indent: -1em;
}
#meisai p.meisai_catch i{
	color:var(--maincolor);
	font-size:1.25em;
	margin-right:.5em;
}
#goback {
	margin-bottom: 10px;
}
#goback button {
	padding: 10px 20px;
	font-weight: 400;
	font-size: clamp(15px,2.8846vw,16px);
	background-color: var(--maindark);
	color:#fff;
	border-radius: 5px;
	border:none;
	transition: all .25s;
	cursor: pointer;
	margin-top: 20px;
	margin-left: 10px;
	box-shadow: var(--shadow);
	border: 1px solid var(--maindark);
}
#goback button:hover {
	background-color: #fff;
	color: var(--maindark);
}
.toiawasebtn{
	display: flex;
	width:100%;
	margin-right: 0;
	margin-bottom: 20px;
	justify-content: flex-end;
}
.toiawasebtn button{
	padding: 10px 20px;
	background:var(--maindark);
	color:#fff;
	transition: all .25s;
	border-radius: 3px;
	box-shadow: var(--shadow);
	cursor: pointer;
	border: 1px solid var(--maindark);
}
.toiawasebtn button:hover{
	background: #fff;
	color: var(--maindark);
}
.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:1px solid #909090;
}
.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(--graydark);
	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:15px;
}
.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;
	border: 1px solid rgba( 0, 0, 0, 0);
	text-align: center;
}
.meisai-subinfo-wrap dl.hasinfo{
	background:var(--mainlight);
	color:var(--maindark);
	border: 1px solid var(--maincolor);
}
.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 tr:has(td:empty){
	display:none;
}
*/
.meisai_body th{
	padding: 15px;
	border-bottom: solid 1px #efefef;
	font-weight: 400;
	letter-spacing: 0.05em;
	/*background: #f9fafb;*/
	background: var(--maincolor);
	color: #fff;
}
.meisai_body td {
	padding:15px;
	border-bottom: solid 1px #efefef;
	line-height: 1.75;
}

.meisai_body td button {
	display: inline-block;
	padding: 10px 20px;
	font-size: 16px;
	border-radius: 3px;
	letter-spacing: 1px;
	color:#fff;
	background-color: var(--maindark);
	transition: all .25s;
	cursor: pointer;
	border: 1px solid var(--maindark);
}
.meisai_body td button:hover{
	background-color: #fff;
	color: var(--maindark);
}
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;
	border-radius:5px 0 5px 0;
	box-shadow:var(--shadow);
}
#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:var(--gray);*/
	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;
	border-radius:5px 0 5px 0;
	object-fit: cover;
	transition: all .25s;
}
#meisai_moviebox,
#meisai_vrbox{
	margin-bottom:30px;
}
#meisai_moviebox iframe,
#meisai_vrbox iframe {
	width:100%;
	max-width: 800px;
	height: auto;
	border: 0 none;
	aspect-ratio: 16/9;
}
#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;
}*/

/* ======================================================== 
	物件詳細ここまで
=================================================================*/
/* =================================================================
	物件名から探すここから
========================================================*/
#namesearchbody .pagetitle-wrap:before{
	content: none;
}
#namesearchbox{
	display: flex;
	justify-content: center;
}
#namesearchbox + .total_num{
	margin-top: 1em;
}
#namesearchbody .cblist_inner{
	justify-content: center;
}
#namesearchbox #search {
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
    border: 2px solid #316266;
    border-radius: 3px;
	transition: all .25s;
}
#namesearchbox #search:has(input:not(:placeholder-shown)):has(button:hover) {
	border: 2px solid var(--maincolor);
}
#namesearchbox #search input {
    width: 250px;
    height: 45px;
    padding: 5px 15px;
    border: none;
    box-sizing: border-box;
    font-size: 0.9em;
    outline: none;
}

#namesearchbox #search input::placeholder{
    color: #777777;
}

#namesearchbox #search button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 45px;
    border: none;
    background-color: #316266;
    cursor: pointer;
	transition: all .25s;
}

#namesearchbox #search button::after {
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    content: '';
}
#namesearchbox #search:has(input:not(:placeholder-shown)) button:hover {
	background-color: var(--maincolor);
}
/* ======================================================== 
	物件名から探すここまで
=================================================================*/
/* =================================================================
	静的ページ共通部分ここから
========================================================*/

.dam-h2{
	display: block;
	/*background-image: radial-gradient( circle farthest-corner at 10% 20%,  rgba(0,95,104,1) 0%, rgba(15,156,168,1) 90% );*/
	background-color: var(--maindark);
	/*background-image: url("https://www.transparenttextures.com/patterns/asfalt-light.png");*/
	color: #fff;
	padding: 2em 1.5em;
	line-height: 1.75;
	font-size: 2em;
	text-align: center;
	margin-block: 80px;
}
.defpagebody section p:not(.dam-h2){
	font-size: 17.5px;
    line-height: 1.75;
	letter-spacing: 0.02em;
    margin-bottom: 1.5em;
}
.section_wrap figure{
	width: 90%;
	max-width: 768px;
	margin-inline: auto;
	margin-block: 60px;
}
.defpagebody section a i{
	transition: all .25s;
}
.defpagebody section a:hover,
.defpagebody section a:hover i{
	color: var(--pincolor);
}
/* 目次 */
.toc-002 {
	width: fit-content;
    margin-bottom: 30px;
    border: 2px solid #659ea3;
    border-radius: 3px;
}

.toc-002 div {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 10px 0;
    background-color: #659ea3;
    color: #fff;
    font-weight: 600;
    font-size: 1.1em;
}

.toc-002 div::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 5px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4H21V6H8V4ZM3 3.5H6V6.5H3V3.5ZM3 10.5H6V13.5H3V10.5ZM3 17.5H6V20.5H3V17.5ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
    content: '';
}

.toc-002 ol {
    list-style-type: disc;
    margin: 0;
    overflow: hidden;
}

.toc-002 > ol {
    padding: 1em 2em 1em 3em;
}

.toc-002 ol ol {
    margin-top: 5px;
    padding-left: 1.1em;
}

.toc-002 li {
    padding: 5px 0;
    font-weight: 400;
	color: var(--maincolor);
}

.toc-002 ol ol li {
    font-weight: 400;
    font-size: .9em;
}

.toc-002 a {
    color: #525252;
    text-decoration: none;
}
.toc-002 a:hover {
	color: var(--maincolor)!important;
}
	
/* ======================================================== 
	静的ページ共通部分ここまで
=================================================================*/
/* =================================================================
	アパート管理システムここから
========================================================*/
.contents_flow {
	display: block;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}
.contents_flow ul {
	display: flex;
	flex-direction: column;
	width: 50%;
	padding: 60px;
	background-color: #FFF;
	border-radius: 10px;
	position: relative;
}
.contents_flow::before,
.contents_flow::after {
	content: url();
	display: block;
	width: 45%;
	max-width: 400px;
	aspect-ratio: 16/9;
	background-size: contain;
	position: absolute;
	right : 0;
	border: 3px solid var(--maincolor);
	border-radius: 20px;
	z-index: 0;
}
.contents_flow::before {
	background-image: url(../images/common/imagesyoukai3.webp);
	top : 60px;
}
.contents_flow::after {
	background-image: url(../images/common/imagesyoukai4.webp);
	bottom : 60px;
}
.contents_flow ul li {
	display: block;
	margin-bottom: 40px;
	padding: 0 0 0 56px;
	font-size: 17.5px;
	font-weight: 700;
	position: relative;
}
.contents_flow ul li:last-of-type {
	margin-bottom: 0;
}
.contents_flow ul li::before {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	box-sizing: border-box;
	background-color: #FFF;
	border: solid 2px var(--maincolor);
	border-radius: 50%;
	z-index: 1;
	position: absolute;
	top: calc(50% + 1px);
	left: 0;
	transform: translateY(-50%);
}
.contents_flow ul li:first-of-type::before,
.contents_flow ul li:last-of-type::before {
	background-color: var(--maincolor);
}
.contents_flow ul li::after {
	content: '';
	display: block;
	width: 2px;
	height: 56px;
	box-sizing: border-box;
	background-color: var(--maincolor);
	position: absolute;
	top: 15px;
	left: 7px;
}
.contents_flow ul li:last-of-type::after {
	display: none;
}
/* ======================================================== 
	アパート管理システムここまで
=================================================================*/
/* =================================================================
	adminここから
========================================================*/
#adminbody main{
	min-height: 100vh;
}
#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(--maindark);
}
section#admin_block {
	width: 100%;
	margin: 0 auto!important;
	padding: 0;
}
section#admin_block >*:not(.pagetitle-wrap){
	width: 90%;
	max-width: 1300px;
	margin-inline: auto;
}
section#admin_block >.backhomelink,
section#admin_block >#admin-kanrikoumoku{
	width: fit-content;
}
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;
	color: #191919;
	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(--maindark);
	border:1px solid var(--maindark);
	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: #191919;
}
section#admin_block table td.slideimg img {
	width: 100%;
}

/* =================================================================
	レスポンシブここから
========================================================*/
/* レスポンシブ用記述 */
#menuwrapper-sticky_wrap{
	display:none;
}
.overlay {
	display:none;
}
@media(max-width:1300px){
	header > div{
		padding-left: 4%;
	}
	
/*=====================================================================
		ハンバーガーメニューここから
=====================================================================*/
	/* 
		ハンバーガーボタンクリックで画面を暗く
		.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{
		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;
		position: absolute;
		top: 5px;
		right: 15px;
		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(--black);
		transition: all .3s;
		position: absolute;
		top: 10px;
	}
	.menu_button span:before {
		top: 10px;
		left: 0;
		background: var(--black);
	}
	.menu_button span:after {
		top: 20px;
		left: 0;
		background: var(--black);
	}
	body:has(.fixed) .menu_button span:before,
	body:has(.fixed) .menu_button span:after,
	body:has(.fixed) .menu_button span{
		background:#fff;
	}
	.menu_button:after {
		content: 'MENU';
		display: inline-block;
		position: absolute;
		bottom: -5px;
		color: var(--black);
		font-family: var(--en);
		font-size: 10px;
		transition: all .3s;
	}
	body:has(.fixed) .menu_button:after{
		color: #fff;
	}
	.menu_button.active span {
		background: rgba(255,255,255,0)!important;
	}
	.menu_button.active span:before {
		bottom: 0;
		transform: rotate(45deg);
		background:#fff;
	}
	.menu_button.active span:after {
		top: 10px;
		transform: rotate(-45deg);
		background:#fff;
	}
	.menu_button.active:after {
		content: 'CLOSE';
		color:#fff;
	}
	/*
	 * レスポンシブメニュー用
	 * */	
	 #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(21,50,47,0.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:#fff;
	}

	#responsive-menuwrap > div >ul >li a:hover{
		color:#fff;
	}
	#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;
    	align-items: center;
	}

	#responsive-menuwrap > div >ul >li >ul >li:hover{
		color:#fff;
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children ul li a{
		display: flex;
		align-items: center;
		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.menu-item-has-children ul li a::before{
		content:'';
		display:inline-block;
		margin-right:15px;
		width:10px;
		height:1.5px;
		background:#fff;
		transition:all .25s;
	}
	#responsive-menuwrap > div >ul >li >ul >li a:hover{
		text-indent:10px;
	}
	#responsive-menuwrap > div >ul >li >ul >li a:hover::before{
		background:#fff;
	}
	/* 
		アコーディオン開閉 */
	#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:#fff;
	}
	/*
		ここまでハンバーガーメニュー
	================================================*/
	/*=====================================================================
		indexここから
	=====================================================================*/
	/*#index_hero-container{
		height: initial;
	}*/
	#index_hero-inner{
		flex-direction: column-reverse;
		justify-content: center;
		gap: 40px;
		margin-top: 100px;
	}
	#index_hero-container::after{
		bottom: -75px;
	}
	#index_hero-text{
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 0 5%;
	}
	#index_hero-text p{
		width: 47.5%;
	}
	#index_hero-text p:nth-child(odd){
		text-align: right;
	}
	#index_hero{
		width: 100%;
	}
	.index_aisatu-inner p{
		font-size: 16px;
	}
	#company_aisatu-text h3{
		font-size: 20px;
	}
	#company_aisatu-text{
		width: 70%;
	}
	#index_aisatu-left h2 span:first-child{
		font-size: 36px;
	}
	.infotr{
		flex-direction: column;
		column-gap: 0;
		row-gap:3px;
	}
	.infotr .info_body{
		width:100%;
		font-size:14.5px;
	}
	.infotr .info_date{
		font-size: 14px;
	}
	.def-head span.en{
		font-size: 48px;
	}
}
@media(max-width:1024px){
	/*=====================================================================
		静的ページ共通部分ここから
	=====================================================================*/
	.flow{
		padding: 3em 2em;
	}
	.service-line__step{
		padding: 1.75rem 1.5rem;
	}
	.service-line__step-head .name{
		font-size: 18px;
	}
	.service-line__step-head .num{
		font-size: 1.5em;
	}
	.def-h3{
		font-size: 20px;
	}
	.def-h4{
		font-size: 18px;
	}
	.defpagebody section p:not(.dam-h2){
		font-size: 16px;
	}
	.dam-h2{
		font-size: 1.75em;
	}
	/*=====================================================================
		indexここから
	=====================================================================*/
	#index_hero-text p span:first-child{
		font-size: 40px;
	}

	#index-hero-svg{
		bottom: 3vh;
		left: 0;
		width: auto;
		height: 23vh;
	}
	#index-hero-human-svg{
		bottom: 3vh;
		left: 30.5vh;
		width: auto;
		height: 18vh;
	}
	#index_news-container{
		flex-direction: column;
		padding: 80px 0;
	}
	#index_banner figure{
		flex-wrap: wrap;
		justify-content: center;
		gap: 40px 5%;
	}
	#index_banner figure a{
		width: 34%;
		max-width: initial;
	}
	.osusume_cell{
		width: 49%;
	}
	.osusume_info{
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.osusume_cost span,
	.bukken_cost span{
		font-size: 20px;
	}
	.h2-uline{
		margin: 0 auto 50px;
	}
	.def-linkbtn a{
		padding: 30px 15px;
	}
	.def-linkbtn a div > span:not(.inlineblock){
		font-size: 20px;
	}
	.def-linkbtn a img{
		width: 60px;
	}
	.wrap_bg .imgs{
		animation: bg-slide 100s linear infinite;
	}


	/*=====================================================================
		indexここまで
	=====================================================================*/
	/* footer */
	.footermenu{
		flex-wrap: wrap;
		row-gap: 40px;
	}
	.footermenu-category-wrap{
		width: 50%;
	}
	/* お問い合わせ */
	#form_table dl {
		display: flex;
		flex-direction: column;
		padding: 0px 0 15px;
		margin-bottom: 15px;
		border-bottom: 1px solid #ddd;
	}
	#form_table dl:has(+ .intrtext),
	#form_table .intrtext + dl{
		border-bottom: none;
	}
	#form_table dt,
	#form_table dd {
		width:100%;
		padding: 8px 5px;
	}
	#form_table.chkform dl{
		border-bottom: none;
	}
	.cta-single span{
		font-size: 26px;
	}
	.cta-container{
		height: 220px;
	}
	/*=====================================================================
		cblistここまで
	=====================================================================*/
	.cblist_link{
		width: 49%;
	}
}
@media(max-width:768px){
	/*common*/
	body:not(#indexbody) section:first-of-type{
		margin-top: 80px;
	}
	p.defp,p,.defpagebody section p:not(.dam-h2){
		font-size: 15px;
	}
	
	h2.def{
		font-size: 18px;
		margin-bottom: 45px;
	}
	.def-h3{
		font-size: 17.5px;
	}
	.def-h4{
		font-size: 16px;
	}
	.def-h4::before{
		height: 18px;
	}
	.def-h4:after{
		top: 0;
	}
	.dam-h2{
		font-size: 1.5em;
		margin-block:60px;
	}
	.bfmark{
		font-size: 15px;
		margin-bottom: 0;
	}
	a.defbtn{
		padding: 0.75em 1.5em;
		font-size: 16px;
	}
	.gallery{
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}
	.gallery >*{
		width: 85%;
		max-width: 520px;
	}
	figcaption{
		font-size: 14px;
	}
	/* header */
	.headlogo img:first-child{
		width: 115px;
		top: 15px;
		left: 25px;
	}
	.headlogo img:last-child{
		left: 155px;
	}
	/* footer */
	.footermenu{
		width: 80%;
	}
	.footermenu-category-li:not(.arrow_s), .arrow_s{
		margin-bottom: 5px;
	}
	/*=====================================================================
		indexここから
	=====================================================================*/
	.container section#index_aisatu-container{
		margin-bottom: 0;
		padding:120px 0 80px;
	}
	#index_hero-text p span:first-child{
		font-size: 32px;
	}
	#index_hero-text p span:last-child{
		font-size: 14px;
	}
	#index_banner figure.gallery{
		flex-direction: row;
		gap: 20px 5%;
	}
	.osusume_cell{
		width: 100%;
		max-width: 500px;
	}
	.osusume_inner{
		flex-direction: column;
		align-items: center;
	}
	.osusume_inner .osusume_cell:nth-child(even){
		margin-left: initial;
	}
	.osusume_cost span{
		font-size: 24px;
	}
	.def-head span.en{
		font-size: 38px;
	}
	.def-head span:not(.en){
		font-size: 15px;
	}
	#index_news{
		max-height:200px;
	}

	#index_buybtn-btn-wrap{
		flex-direction: column;
		align-items:center;
	}
	.def-linkbtn{
		width: 100%;
	}
	.def-linkbtn a img{
		width: 60px;
	}
	.def-linkbtn a div > span{
		letter-spacing: 0.05em;
	}
	.wrap_bg .imgs{
		animation: bg-slide 70s linear infinite;
	}
	.index-vr-banner{
		max-width: 768px;
	}
	#index_news-container{
		gap: 50px;
	}
	/*=====================================================================
		indexここまで
	=====================================================================*/
	/* footer */
	.cta-container{
		height: initial;
		flex-direction: column;
	}
	.cta-single{
		width:100%;
		height: 180px;
		padding:1em 1.5em;
		gap:10px;
	}
	.cta-single:first-of-type{
		border-right: none;
		border-bottom: 2px solid #fff;
	}
	.cta-single span{
		font-size: 22px;
	}
	/*=====================================================================
		静的ページ共通部分ここから
	=====================================================================*/
	.cta-satei{
		flex-direction: column-reverse;
		height: initial;
		gap: 20px;
		padding: 40px;
		align-items: center;
	}
	.cta-satei div{
		width: 100%;
		padding: 0;
	}
	.cta-satei figure{
		width: 150px;
	}
	.cta-satei span{
		font-size: 18px;
	}
	/*=====================================================================
		会社案内ページここから
	=====================================================================*/
	#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;
	}
	#company_info figure{
		flex-direction: column;
		gap: 30px;
	}
	#company_info figure img{
		width: 100%;
	}
	#company_aisatu-content{
		flex-direction: column;
	}
	#company_aisatu-content > figure,
	#company_aisatu-text{
		width: 100%;
	}
	#company_aisatu-content > figure{
		margin-bottom: 40px;
	}
	
	/*=====================================================================
		物件一覧ページここから
	=====================================================================*/
	.cblist_inner{
		flex-direction: column;
		align-items: center;
	}
	.cblist_link{
		width: 100%;
		max-width: 500px;
	}
	div.navi{
		width: 85%;
	}
	.order_button label {
		display: block;
		width: 85%;
		margin-inline: auto;
		margin-bottom: 10px;
		padding:10px;
		letter-spacing: 1px;
		text-align: center;
		font-size: 15px;
		color: #fff;
		background-color: var(--maindark);
		border-radius: 5px;
		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: 5px;
	}
	.order_button button:hover{
		background-color: var(--black);
	}
	.order_button button:hover span {
		color: #fff;
	}
	.order_button .button-wrapper span{
		color: var(--black);
		padding:0!important;
	}
	/* ページネーション */
	div.navi_number span +a+a,
	div.navi_number a:has(+a+span){
		display:none;
	}
	div.navi_number a:first-child:has(+a+span){
		margin-right: 20px;
	}
	div.navi_number span +a+a:last-child{
		margin-left: 20px;
	}
	div.navi_number a:first-child:has(+a+span)::after,
	div.navi_number span +a+a:last-child::before{
		content: '...';
	}
	/*=====================================================================
		物件詳細ページここから
	=====================================================================*/
	.meisai-top-container{
		flex-direction: column-reverse;
	}
	.meisai_topinfo_photo,
	.meisai-topinfo-container{
		width: 100%;
	}
	#meisai_photo{
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		gap:20px;
	}
	#meisai_photo p {
		display: block;
		width: 100%;
		text-align: center;
		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%;
		padding: 15px 30px;
		text-align: left;
		min-height: 51px;
		line-height: 1.5;
	}
	.meisai_body tr:last-of-type td:last-child{
		text-align: center;
	}
	/* 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;
	}
	/*=====================================================================
		リンク集ここから
	=====================================================================*/
	.link-single-wrap{
		flex-direction: column;
		gap: 0;
	}
	.link-single-wrap a{
		width: 100%;
		padding-inline: 1em;
	}
	.sitemapcat ul{
		flex-direction: column;
	}
	.sitemapcat:last-child ul{
		margin-bottom: 0;
	}
	.sitemapcat ul li{
		width: 100%;
	}
	.sitemap-name span{
		font-size: 16px;
	}
	.sitemap-name + span{
		font-size: 15px;
	}
	/*=====================================================================
		アパート管理システムページここから
	=====================================================================*/
	.contents_flow{
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-block: 60px;
	}
	.contents_flow::before, .contents_flow::after{
		position: initial;
		width: 90%;
		max-width: 500px;
	}
	.contents_flow ul{
		width: fit-content;
		padding: 40px 60px;
	}
	.contents_flow ul li{
		font-weight: 500;
	}
}
@media(max-width:600px){
	/* common */
	.section_wrap figure{
		margin-block: 40px;
	}
	/* footer */
	.footermenu-category-wrap{
		width: 100%;
	}
	/* index */
	#index-hero-svg{
		height: 20vh;
	}
	#index-hero-human-svg{
		left: 27.5vh;
		height: 15vh;
	}
	/* top矢印 */
	.scroll-top{
		right: 10px;
	}
	.cta-akiya{
		flex-direction: column-reverse;
		height: initial;
		gap: 20px;
		padding: 40px;
		align-items: center;
	}
	.cta-akiya div{
		width: 100%;
		padding: 0;
	}
	.cta-akiya figure{
		width: 150px;
	}
	#baloon_explanation{
		font-size:14px;
	}
	#baloon_explanation div{
		flex-direction: column;
		width: 70px;
	}
	#baloon_explanation img{
		width:30px;
	}
}
@media(max-width:520px){
	/* common */
	.dam-h2{
		font-size: 1.2em;
	}
	.flow{
		padding: 3em 1.5em;
	}
	.service-line__step{
		padding: 1.75rem 1rem;
	}
	.service-line__step:first-child{
		padding: 0 1rem 1.75rem;
	}
	.service-line__step-head .name{
		font-size: 16px;
	}
	figcaption{
		font-size: 13px;
	}
	.def-head span.en{
		font-size: 30px;
		gap: 0.75em;
	}
	.def-head span:not(.en){
		font-size: 14px;
	}
	.def-head span.en::before,
	.def-head span.en::after{
		width: 0.75em;
	}
	.toc-002{
		width: 100%;
	}
	.toc-002 > ol{
		font-size: 15px;
	}
	/* header */
	.headlogo img:first-child,
	.fixed .headlogo img:first-child{
		width: 90px;
		left: 20px;
	}
	.headlogo img:last-child,
	.fixed .headlogo img:last-child{
		width: 160px;
		left: 120px;
	}
	/* footer */
	.footer-company{
		text-align: left;
	}
	.footlogo{
		width: fit-content;
		margin-inline: 0;
	}
	.footer-company h1{
		display: inline-block;
	}
	.cta-single p{
		font-size:14px;
	}
	.footermenu{
		padding: 60px 0;
	}
	.footlogo img:first-child{
		width: 70px;
	}
	.footlogo img:last-child{
		width: 180px;
	}
	/*=====================================================================
		indexここから
	=====================================================================*/
	#index_hero-inner{
		align-items: flex-start;
	}
	#index_hero-figure{
		width: 80vw;
	}
	.index_hero-text-ja{
		font-size: 26px;
	}
	#index-hero-svg{
		height: 18vh;
	}
	#index-hero-human-svg{
		left: 22vh;
		height: 13vh;
	}
	#index_hero-inner::before{
		width: 75%;
		right: 0;
	}
	#index_hero-container::after{
		bottom: -60px;
	}
	.swiper-pagination-bullet{
		width: 10px!important;
		height: 10px!important;
		margin: 6px!important;
	}
	#index_hero-text{
		flex-direction: column;
	}
	#index_hero-text p{
		width: 100%;
	}
	#index_hero-text p:nth-child(odd){
		text-align: left;
	}
	#index_news-wrap,
	#index_osusume > div{
		padding-inline: 2.5%;
	}
	#index_osusume > div{
		padding-block: 80px;
	}
	.infotr .info_date{
		font-size: 13px;
	}
	.infotr .info_body{
		font-size: 14px;
	}
	#index_news{
		padding-left: 18px;
		padding-right: 15px;
	}
	#index_news::-webkit-scrollbar {/* 横幅 */
		width: 15px;	
	}
	#index_news::-webkit-scrollbar-thumb{/* つまみの部分 */
		border-right: solid 8px #fff;/* 疑似的な余白 */
	}
	.osusume_cost span {
		font-size: 20px;
	}
	.osusume_addr, .osusume_catch{
		font-size: 14px;
	}
	.osusume_cost {
		margin-bottom: 10px;
	}
	.osusume_info{
		margin-bottom: 15px;
		padding-bottom: 15px;
	}
	.osusume_syubetu-madori{
		padding: 1px 10px;
	}
	.index-vr-banner{
		max-width: 520px;
	}
	/*=====================================================================
		物件一覧ページここから
	=====================================================================*/
	div.navi_prev a, div.navi_next a{
		display: none;
	}
	.bukken_syubetu-madori{
		padding: 1px 10px;
	}
	.bukken_addr, .bukken_catch{
		font-size: 14px;
	}
	.total_num{
		font-size: 13px;
	}
	.order_button label,
	.order_button button span{
		font-size: 14px;
	}
	/*=====================================================================
		物件詳細ページここから
	=====================================================================*/
	#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;
	}
	#meisai_article .pagetitle h1 > span{
		display: flex;
		flex-direction: column;
		gap: 5px;
	}
	.meisai_body td button{
		font-size: 14px;
	}

	/*=====================================================================
		リンク集ここから
	=====================================================================*/
	.link-single-wrap a{
		font-size: 14.5px;
	}
	/*=====================================================================
		プライバシーポリシーここから
	=====================================================================*/
	#privacy > div > p{
		font-size: 16px;
	}
	/*=====================================================================
		お問い合わせここから
	=====================================================================*/
	.progressbar li{
		font-size: 10px;
	}
	/*=====================================================================
		アパート管理システムページここから
	=====================================================================*/
	.contents_flow ul{
		padding: 40px 0;
	}
	.contents_flow ul li{
		font-size:16px;
		font-weight: 500;
	}
}
@media(max-width:420px){
	/* header */
	.headlogo img:first-child,
	.fixed .headlogo img:first-child{
		width: 80px;
		top: 17px;
		left: 15px;
	}
	.headlogo img:last-child,
	.fixed .headlogo img:last-child{
		width: 150px;
		left: 102px;
		top: 27px;
	}
	.index_hero-text-ja{
		font-size: 24px;
	}
	#index_banner figure.gallery{
		flex-direction: column;
	}
	#index_banner figure a{
		width: 80%;
		max-width: 210px;
	}
	.list_movievr, .list_movie, .list_vr{
		font-size: 13px;
		padding: 9px 14px;
	}
	.list_vr::before, .list_movie::before, .list_movievr::before, .list_movievr::after{
		width: 20px;
		height: 20px;
	}
	/*=====================================================================
		物件一覧ページここから
	=====================================================================*/
	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{
		display: inline-block;
		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(--black);
		font-size:14px;
		font-family: var(--en);
		font-weight:500;
	}
	/* =================================================================
		物件名から探すここから
	========================================================*/
	#form_search_name input{
		width: 180px;
		font-size: 14px;
	}
}
@media(max-width:350px){
	.index_hero-text-ja{
		font-size: 20px;
	}
	.headlogo img:last-child{
		display: none;
	}
	.footlogo{
		flex-direction: column;
		gap: 6px;
	}
	.columnpage.satei .def-linkbtn a::before,
	#leasebackbody .def-linkbtn a::before{
		content: none;
	}
	.middletitle-marker{
		background-image: initial;
	}
	.def-linkbtn a div > span:not(.inlineblock){
		font-size: 17px;
	}
	#namesearchbox #search input{
		width: 160px;
	}
	#namesearchbox #search button::after{
		width: 20px;
		height: 20px;
	}
	#baloon_explanation{
		font-size: 12px;
		gap: 15px;
	}
	#baloon_explanation div{
		width: 60px;
		gap: 5px!important;
	}
	
}
/* =================================================================
	レスポンシブここまで
========================================================*/


