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

html, body {
/*  overflow-x: hidden;*/
}

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

/* ===========================
	共通要素ここから
============================*/
.container {
	width: 100%;
	margin: 0 auto;
	background:var(--white);
}
@media (min-width:1366px){
	body:is(#staticbody) .container{
		position: relative;
		top: 0px;
	}
}
.container main{
	overflow-x: hidden;
}
.container section {
	display: block;
	width: 100%;
	max-width: 1300px;
	padding: 0;
	margin: 0 auto;
	position: relative;
}



/* ページタイトル */
.pagetitle-wrap{
	position: relative;
	width: 100%;
	display: block;
	overflow: hidden;
	background-repeat: no-repeat;
	background-color:var(--mainlight);
	background-size:cover;
}
.pagetitle-wrap::after{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(rgba(255,255,255,0.2) 18%, transparent 19%),
		radial-gradient(rgba(255,255,255,0.2) 18%, transparent 19%);
	background-size: 6px 6px; /* ドット間隔 */
	background-position: 0 0, 3px 3px; /* 2層目をずらす */
}

#clistbody .pagetitle-wrap{
	background-image: url('../images/pagetitlebg_clistbody.jpg');
	background-position: right bottom;
}
#blistbody .pagetitle-wrap{
	background-image:url('../images/pagetitlebg_blistbody.jpg');
	background-position:left bottom;
}
#cmapbody .pagetitle-wrap{
	background-image: url('../images/pagetitlebg_cmapbody.jpg');
	background-position: right bottom;
}
#meisaibody .pagetitle-wrap{
	background-image: url('../images/pagetitlebg_meisaibody.jpg');
	background-position: right bottom;
}
#contactbody .pagetitle-wrap{
	background-image: url('../images/pagetitlebg_contactbody.jpg');
	background-position: center center;
}
#companybody .pagetitle-wrap{
	background-image: url('../images/pagetitlebg_companybody.jpg');
	background-position: right bottom;
}
#privacybody .pagetitle-wrap{
	background-image: url('../images/pagetitlebg_privacybody.jpg');
	background-position: center center;
}

#staticbody .pagetitle_ooya{
	background-image: url('../images/pagetitlebg_ooya.jpg');
	background-position: left center;
}
#staticbody .pagetitle_baikyaku{
	background-image: url('../images/pagetitlebg_baikyaku.jpg');
	background-position: left center;
}
#staticbody .pagetitle_sateiform{
	background-image: url('../images/pagetitlebg_sateiform.jpg');
	background-position: left center;
}
#staticbody .pagetitle_reform{
	background-image: url('../images/pagetitlebg_reform.jpg');
	background-position: left center;
}
#staticbody .pagetitle_kurash{
	background-image: url('../images/pagetitlebg_kurashi.jpg');
	background-position: left center;
}

#staticbody .pagetitle-wrap{
	position: relative;
	width: 100%;
	display: block;
	overflow: hidden;
	background-repeat: no-repeat;
	background-color:var(--mainlight);
	background-size:cover;
}
@media (max-width: 768px) {
	#staticbody .pagetitle{
		min-height:clamp(250px, 227.273px + 9.47vw, 300px);
	}
	#staticbody .pagetitle-wrap{
		position: relative;
		left:-60px;
		width:calc(100% + 60px);
		display: block;
		overflow: hidden;
		background-size:cover;
	}
}
#staticbody .pagetitle h1{
	text-indent:-999999px;
}
#staticbody .pagetitle:after{
	background-color:rgba(255,255,255,0);
	box-shadow: 0px 0px 0px rgba(255,255,255,0);
	border-radius:0px;
}
#staticbody .pagetitle > span:not(.page_subtitle){
	text-indent:-999999px;
	color:rgba(255,255,255,0);
}
#staticbody .pagetitle-wrap p.pagetitle-back{
	color: rgba(255,255,255,0);
}

.pagetitle{
	position: relative;
	width: 95%;
	max-width: 1260px;
	margin:0 auto;
	padding:clamp(25px, -21.667px + 19.444vw, 60px) 0px;
	line-height: 1.5;
	font-size:clamp(18px, 13.714px + 1.786vw, 32px);
	z-index: 1;
}
.pagetitle:after{
	content:'';
	display:block;
	position:absolute;
	top:calc(50% - 100px);
	left:-15px;
	width:800px;
	height:200px;
	background-color:rgba(255,255,255,.5);
	box-shadow: 2px 2px 5px rgba(200,200,200,0.3);
	border-radius:20px;
z-index:-1;
}
@media (min-width: 420px){
	.pagetitle{
		padding:
		clamp(60px, 23.689px + 8.646vw, 90px) 
		clamp(0px, -6.052px + 1.441vw, 5px);
	}
}
@media (min-width: 768px){
	.pagetitle{
		padding:
		clamp(90px, -60.000px + 19.531vw, 140px)
		clamp(5px, -40.000px + 5.859vw, 20px);
	}
	.pagetitle h1{
		margin-bottom: 10px;
		line-height: 1.25;
	}
}
@media (min-width:1025px){
	.pagetitle{
		padding:clamp(140px, 94.190px + 4.469vw, 180px) 20px;
	}
}

.pagetitle h1 > span:not(.page_subtitle){
	display: block;
	font-size:clamp(18px, 13.714px + 1.786vw, 32px);
	letter-spacing:clamp(2px, 1.089px + 0.38vw, 4px);
	font-weight: bold;
	color: var(--black);
}
@media (min-width:1025px){
	.pagetitle h1 > span:not(.page_subtitle){
		font-size:clamp(32px, 1.853px + 2.941vw, 42px);
	}
}
@media (min-width:1366px){
	.pagetitle h1 > span:not(.page_subtitle){
		font-size:42px;
	}
}

.pagetitle span.page_subtitle{
	padding:3px 15px;
 	font-size:clamp(15px,2.8846vw,20px);
	letter-spacing:3px;
	color:var(--white);
	background:rgba(21,58,102,.8);
}
@media(min-width:768px){
	.pagetitle span.page_subtitle{
	}
}
@media(min-width:1366px){
	.pagetitle span.page_subtitle{
	}
}


.pagetitle h1 span:not(.page_subtitle)::first-letter{
	color: var(--pincolor);
}
.pagetitle > span:not(.page_subtitle){
	font-size: clamp(15px,2.8846vw,20px);
	font-weight: bold;
	font-family: var(--en);
	letter-spacing: 1px;
	color: var(--pinlight);
}
/* 背景の縁取り英語 */
.pagetitle-back{
	text-decoration:none;
	font-size:clamp(45px, 19.953px + 10.436vw, 100px);
	color: rgba(255,255,255,.5);
	font-weight: bold;
	font-family: var(--en);
	letter-spacing: 1px;
	font-style:normal;
	text-shadow:
		.4px .4px 0 var(--sublight),
		-.4px .4px 0 var(--sublight),
		.4px -.4px 0 var(--sublight),
		-.4px -.4px 0 var(--sublight);
	/* text-strokeはgooglefontだとアウトラインが雑でカッコ悪いのでtextshadow */	position: absolute;
	white-space: nowrap;
	top: 90%;
	left: 0%;
	transform: translateY(-50%);
	z-index: 0;
}
@media (min-width: 768px){
	/* 背景の縁取り英語 */
	.pagetitle-back{
		font-size:clamp(100px, 53.333px + 6.076vw, 170px);
	}
}

/* ===========================
	ぱんくずりすと
*/
#navigate{
	margin: initial;/* section共通打ち消し */
	padding: initial;/* section共通打ち消し */
	line-height: initial;/* section共通打ち消し */
	position: relative;
	display: block;
	width: 100%;
	background-color:var(--white);
}
@media(min-width:768px){
	#navigate{
		height:50px;
		margin: 0 auto;
		padding-left:1em;
	}
}
@media(min-width:1366px){
	#navigate{
		max-width: initial;/* section共通打ち消し */

	}
}

#navigate a,
#navigate span.here{
	display:inline-block;
	padding:10px 5px 0px;;
	line-height:20px;
	font-size:15px;
	color:var(--black);
}
#navigate span:not(.here){
	margin:0 clamp(1px, -3.099px + 1.708vw, 10px);
	color:var(--texgray);
}
@media(min-width:768px){
	#navigate span:not(.here){
		margin:0 clamp(10px, 2.281px + 1.005vw, 16px);
	}
}
@media(min-width:1366px){
	#navigate span:not(.here){
		margin:0 16px;
	}
}

#navigate a {
	position:relative;
	transition: color 0.6s ease, background-color 0.6s ease;
}
#navigate a:hover {
	color:var(--pincolor);
}
#navigate a:before{
	content: "";
	position: absolute;
	bottom:-5px;
	left:0px;
	width:100%;
	height:1px;
	background:#dedede;
	transition: background-color 0.6s ease;
}
#navigate a:hover::before{
	background:var(--pincolor);
}

#navigate a:first-of-type{
	margin-bottom:6px;
	text-indent:22px;
}
#navigate a:first-of-type::after{
	position: absolute;
	top:12px;
	left:-18px;
	width:16px;
	height:16px;
	content: "\F12E";
	margin-right:5px;
	font-family: bootstrap-icons;
	font-weight: 700;
	color:#ddd;
	transition: color 0.6s ease-in-out;
}
#navigate a:hover:first-of-type::after{
	color: var(--pincolor);
}
/* ぱんくずりすとここまで */



/* h2def 白背景 */
h2.def{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:2px;
	width:100%;
	max-width:1000px;
	margin:0px auto 65px;
	padding:0 0 50px;
	line-height:1.15;
	text-align:center;
	color:var(--maindark);
	background:var(--white);
	border-radius:0 0 20px 20px;
}
#staticbodyinner h2.def {
	padding:0 0 20px;
}

h2.def:before{
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:-20px;
	width:20px;
	height:20px;
	background-color:var(--white);
	z-index:0;
}
h2.def:after{
	content:"";
	display:block;
	position:absolute;
	top:0;
	right:-20px;
	width:20px;
	height:20px;
	background-color:var(--white);
	z-index:0;
}
h2.def span{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	width:100%;
	max-width:1000px;
	padding: 30px 0 0 0;
	letter-spacing:1px;
	font-weight:600;
}
#staticbodyinner h2.def span{
	padding: 15px 0 0 0;
}

h2.def span:before,
h2.def span:after {
	content:"";
	display:block;
	position:absolute;
	width:20px;
	height:20px;
	background-color:var(--mainlightlight);
	background-position:center bottom;
	background-repeat: repeat, repeat;
	background-size:8px 8px;
	z-index:1;
}

/* 各ページ背景色毎の"R"の色指定 */
#meisai h2.def span:before,
#meisai h2.def span:after,
#contact h2.def span:after,
#contact h2.def span:before,
#contact h2.def span:after,
#privacy h2.def span:before,
#privacy h2.def span:after,
#cookie h2.def span:before,
#cookie h2.def span:after {
	background-color:var(--gray);
}

#staticbodyinner h2.def span:before,
#staticbodyinner h2.def span:after{
	content:"";
	display:block;
	position:absolute;
	width:20px;
	height:20px;
	background-color:var(--gray);
	background-position:center bottom;
	background-repeat: repeat, repeat;
	background-size:8px 8px;
	z-index:1;
}

h2.def span:before{
	top:0;
	left:-20px;
	border-radius:0 20px 0 0;
}
h2.def span:after {
	top:0;
	right:-20px;
	border-radius:20px 0 0 0;
}

/* h2def 背景mainlightlight */
h2.def_mainlightlight{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:2px;
	width:100%;
	max-width:1000px;
	margin:0 auto 30px;
	padding:0 0 50px;
	line-height:1.15;
	color:var(--maindark);
	background:var(--mainlightlight);
	border-radius:0 0 20px 20px;
}
h2.def_mainlightlight:before,
h2.def_mainlightlight:after{
	content:"";
	display:block;
	width:20px;
	height:20px;
	background-color:var(--mainlightlight);
	z-index:0;
}
h2.def_mainlightlight:before{
	position:absolute;
	top:0;
	left:-20px;
}
h2.def_mainlightlight:after{
	position:absolute;
	top:0;
	right:-20px;
}
h2.def_mainlightlight span{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	width:100%;
	max-width:1000px;
	padding: 30px 0 0 0;
	letter-spacing:1px;
	font-weight:600;
}
h2.def_mainlightlight span:before,
h2.def_mainlightlight span:after {
	content:"";
	display:block;
	position:absolute;
	width:20px;
	height:20px;
	background-color:var(--white);
	background-position:center bottom;
	background-repeat: repeat, repeat;
	background-size:8px 8px;
	z-index:1;
}
h2.def_mainlightlight span:before{
	top:0;
	left:-20px;
	border-radius:0 20px 0 0;
}
h2.def_mainlightlight span:after {
	top:0;
	right:-20px;
	border-radius:20px 0 0 0;
}

#meisai h2.def{
	margin-bottom: 30px;
}

/* ページタイトル下の装飾、いらなければ削除
※ちょっとつけるか保留 */
/*
.pagetitle-wrap::after{
	content: "";
	display: block;
	position: absolute;
	width: 50%;
	height: 20px;
	background:rgba(255,255,255,.5);
	right: 0;
	bottom:30px;
}
*/
/* レイアウトが合わないページで非表示 */
/*
body:is(#clistbody,#blistbody) .pagetitle-wrap::after{
	content:none;
}
*/
/* ===========================
	ヘッダーここから
============================*/
/* ===========================
	ヘッダー大外
*/
header {
	z-index: 999;
	position: sticky;
	top: 0;
	width: 100%;
	height: 90px;
	margin-bottom:20px;
	background-color:rgba(255,255,255,.8);
	box-shadow:  0 3px 10px rgba(0, 0, 0, 0);
	transition: background-color 0.3s ease;
}
header > div{
	position: relative;/* ナビ子メニューの起点にするため */
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: space-between;
	padding-left:clamp(1px, 0.147px + 0.356vw, 5px);
}
@media (min-width: 1366px){
	header > div{
		padding-left:	clamp(5px, -105.957px + 8.123vw, 50px);
	}
}
@media (max-width: 768px){
	header {
		margin-bottom:0px;
	}
}

header.scrolled {
	background-color: rgba(255,255,255,.9); /* スクロール後の背景色 */
	border-bottom:solid 1px #e5e5e5;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* ===========================
	ヘッダーロゴ
*/
header > div > a.headlogo h1,
#footerabout div.company a.footlogo h1{
	transition: all .3s;
}
header > div > a.headlogo:hover h1,
#footerabout div.company a.footlogo:hover h1{
	filter:drop-shadow(0px 0px 3px rgba(111,111,111,0.6));
	opacity: .65;
}
header > div > a h1{
	position: relative;
	top: 0px;
	width:clamp(185px, 59.903px + 52.124vw, 320px);
	height: 80px;
	margin: 5px auto;
	background-image: url('../images/common/logo.svg');
	background-repeat: no-repeat;	
	background-position: center;
	background-size: contain;
	filter:drop-shadow(3px 3px 3px rgba(111,111,111,0.3));
	text-indent: -9999px;
}
@media (min-width:240px){
	header > div > a h1{
		position: relative;
		top:0px;
		left:2px;
	}
}
@media (min-width: 481px){
	header > div > a h1{
		width:320px;
	}
}
@media (min-width: 500px){
	header > div > a h1{
		position: relative;
		top: 0px;
		width:360px;
		height: 75px;
		margin: calc(15px / 2) auto;
		background-image: url('../images/common/logo_p01.svg');
		background-repeat: no-repeat;	
		background-position: center;
		background-size: contain;
		text-indent: -9999px;
	}
}
@media (min-width:1366px){
	header > div > a h1{
		position: relative;
		top: 0px;
		width:clamp(360px, 261.372px + 7.22vw, 400px);
		height: 75px;
		margin: calc(15px / 2) auto;
		background-image: url('../images/common/logo_p01.svg');
		background-repeat: no-repeat;	
		background-position: center;
		background-size: contain;
		text-indent: -9999px;
	}
}


/* ===========================
	ヘッダーメインメニュー
*/
header nav {
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: flex-end;
	align-items: center;
}
.menu-wrap#menu_contact_btn{
	display:flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap:5px;
	width: 230px;
	height: 100%;
	text-decoration:none;
	background:#dff3ff;
	border-radius: 0 0 20px 20px;
	transition: all .25s;
}
.menu-wrap#menu_contact_btn a.menutel{
	letter-spacing:1px;
	font-family:var(--en);
	font-weight:500;
	font-size:22px;
	color:var(--black);
}
.menu-wrap#menu_contact_btn a.menutel i{
	margin-right:5px;
	font-weight:700;
	font-size:21px;
}
.menu-wrap#menu_contact_btn a.menuform{
	padding:3px 12px 5px;
	line-height:1em;
	letter-spacing:0.4px;
	font-weight:500;
	font-size:14px;
	color:var(--black);
	background-color:var(--white);
	border:solid 1px var(--texgray);
	border-radius:12px;
	user-select: none; /* テキスト選択を禁止 */
	-webkit-user-select: none; /* Safari対応 */
	-moz-user-select: none; /* Firefox対応 */
}
.menu-wrap#menu_contact_btn a.menuform i{
	font-weight:500;
	font-size:10px;
	color:var(--black);
}
.menu-wrap#menu_contact_btn a span{
	position:relative;
}
.menu-wrap#menu_contact_btn a.menuform span:before{
	position:relative;
	display: inline-block;
	margin-right:5px;
	content: '\f0e0';
	font-family: 'Font Awesome 6 Free';
	font-weight: 700;
	color:var(--maincolor);
	font-size: 14px;
	transition: all .25s;
}
.menu-wrap#menu_contact_btn a.menuform:hover span:before{
	content: '\f2b6';
}

.menu-category{
	height: 100%;
	padding-top: 10px;
}
.menu-catwrap{
	display: flex;
	height:100%;
}
.menu-catname{
	display: block;
	color: var(--maindark);
	width: 100%;
	text-align: center;
	font-size: 14px;
	padding-bottom: 7px;
	line-height: 1;
}
.has-child{
	position: relative;
	height: 100%;
	transition:all .25s;
	padding-inline:clamp(5px, -0.714px + 0.558vw, 10px);/*1024-1920*/
}
.has-child .menuttl::after{
	content: '\f107'; /* 追記したコード */
	font-family: 'Font Awesome 6 Free'; /* 追記したコード */
	font-weight:600; /* 追記したコード */
	color: #ABABAB;
	font-size: 18px;
	display: inline-block;
	transition: all .25s;
	margin-left:clamp(3px, -6.863px + 0.722vw, 7px);/*min1366*/
	transition: transform 0.3s ease;
}
header:not(.fixed) .has-child:hover{
/*	background:rgba(255,255,255,0.93);*/
}
.menuttl{
	display: flex;
	justify-content: center;
	align-items: center;
	padding:0 clamp(10px, -2.329px + 0.903vw, 15px);
	letter-spacing: 1px;
	font-size: 15px;
	color: var(--black);
	transition: all .25s;
	cursor: pointer;
}

.has-child:hover .menuttl{
	color: var(--maincolor);
}
.has-child:hover .menuttl::after{
	color: var(--maincolor);
	transform: rotate(180deg); /* hoverで矢印上下 */
}
.has-child:hover .menuttl{
	background-color: whitesmoke;
	border-radius:20px 20px 0 0 ;
}


.has-child .menuttl{
	pointer-events: none;
	height: 100%;
}
.menu-wrap:not(.has-child) .menuttl{
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	font-weight: 700;
}
.menu-dropdown {
	position: absolute;
	top:75px;/*ヘッダーの高さ*/
	left: 50%; /* 親の中央 */
	transform: translateX(-50%); /* 自分幅の中央に */
	min-width: 300px; /* 最低限 */
	width: auto;       /* 中身に合わせて自動 */
	max-width: 600px;  /* これ以上は広がらない */
	background: rgba(246,246,246,0.95);
	border-radius:20px;
	transition: all .25s;
	box-shadow: 0 5px 15px rgba(0,0,0,0.1);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all 0.25s ease;
	z-index: 999;
}
.has-child:hover > .menu-dropdown {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}
/* hover時のプロパティ */
.menu-dropdown > * {
	display: flex;
	justify-content: center;
	width:100%;
	margin:0 auto;
	padding:0px;
	gap:30px;
	font-size: 15px;
	opacity: 1;
	transition: all .25s;
}
.menu-wrap:not(:hover) > .menu-dropdown > * {
	visibility: hidden;
	height: 0;
	padding-top: 0;
	padding-bottom: 0;
	margin: 0 auto;
	border-bottom: 0px solid rgba(0, 0, 0, 0);
	opacity: 0;
	pointer-events: none;
	transition: all 0.15s;
}
.menu-content-wrap{
	width:100%;
}
.menu-content-wrap ul{
	display: flex;
	flex-direction: column;
}

/* 内部メニューを横並び */
.menu-dropdown > .menu-content-wrap > ul {
	display: flex;
	flex-wrap: nowrap; /* 折り返さない */
	padding:10px 30px 20px 30px;
	list-style: none;
	margin: 0;
}
.menuchild{
	display: flex;
	align-items: center;
	padding: 15px 20px;
}
.menuchild:not(:last-of-type){
	border-bottom:solid 5px white;
}

.menuchild a {
	position: relative;
	display: inline-block;
	padding: 5px 0.5em;
	text-decoration: none;
	font-size: 16px;
	background-clip: text;
	-webkit-background-clip: text; /* Safari対応 */
	color: transparent;
	background-image: linear-gradient(to right, #3f71b4 50%, #000 50%);
	background-size: 200% 100%;
	background-position: 100% 0; /* 初期位置を右端にする */
	transition: background-position 0.3s;
}
.menuchild a:hover {
	background-position: 0 0; /* ホバー時に左端に移動させる */
}

.menuchild a i{
	display:inline-block;
	width:20px;
	height:20px;
	margin-right:5px;
	font-weight:600;
	text-align:center;
}
.menuchild a i.fa-location-dot{
	font-size:16px;
	color:var(--maincolor);
}
.menuchild a i.fa-rectangle-list{
	font-size:14px;
	color:var(--mainsub);
}
.menuchild a i.fa-circle-info{
	padding-top:3px;
	font-size:16px;
	color:var(--maincolor);
}
.menuchild a i{
	font-size:14px;
	color:var(--mainsub);
}


/* 個々の子メニュー */
.menuchild {
	display: flex;
	align-items: center;
	justify-content: center;
}
.menuchild span{
	white-space: nowrap;     /* 改行しない */
	text-overflow: ellipsis; /* はみ出したら… */
	overflow: hidden;
	font-weight: 400;
	font-size: 15px;
	transition: color 0.3s ease, transform 0.25s ease;
}
.menuchild a:hover span {
	color: var(--maincolor);
	transform: translateY(-2px); /* ちょっと上に浮く */
}

/* ドロップダウン全体のフェード・スライドアニメーション */
.menu-dropdown {
	transform: translateX(-50%) translateY(-10px);
	transition: all 0.25s ease;
}
.has-child:hover > .menu-dropdown {
	transform: translateX(-50%) translateY(0);
}

.singlemenu{
	display: flex;
	align-items: flex-end;
	height: 100%;
}
.singlemenu a{
	display: block;
	height: calc(100% - 32px);
	padding-inline: 1em;
	transition: all .25s;
}
.singlemenu a:hover span{
	color: var(--maincolor);
}

/* ===========================
	ヘッダーここまで
============================*/
/* ===========================
	フッターここから
============================*/
footer {
	width: 100%;
	font-size: 15px;
}
#copyright{
	padding:16px 0;
	text-align:center;
	font-size:14px;
	color: #fff;
	background: var(--maindark);
}

#footerabout{
	display:flex;
	flex-direction: column;
	justify-content:space-evenly;
	align-items:stretch;
	background-color:var(--maincolor);
	background-image: url('../images/index_searchcontainer_bg.png');
	background-repeat: no-repeat;
	background-size:cover;
	background-position:center top;
	padding:25px 5px;
}
@media (min-width: 1024px) {
	#footerabout{
		display: flex;
		flex-direction: row;
		align-items:stretch;
		justify-content: space-evenly;
		padding:50px;
		gap:15px;
	}
}


/* ﾌｯﾀｰ 会社案内 */
#footerabout .footer_coabout{
	display:flex;
	flex-direction: column;
	align-items: center;
	width:100%;
	margin:0 auto;
}
@media (min-width: 1025px){
	#footerabout .footer_coabout{
		max-width: 360px;
		margin: initial;/* width:100%;打ち消し */
	}
}
@media (min-width: 1366px){
	#footerabout .footer_coabout{
		max-width: 45%;
		flex-direction: row;
		align-items: flex-start;
	}
}

#footerabout .footer_coabout .footer_co{
	display:flex;
	flex-direction: column;
	align-items: center;
	width:100%;
}
#footerabout .footer_coabout .footer_co h1{
	position: relative;
	top: 0px;
	width:200px;
	height: 60px;
	margin: 0 auto clamp(10px, 5.446px + 1.898vw, 20px);
	background-image: url('../images/common/logo_fff.svg');
	background-repeat: no-repeat;
	background-position: 0 center;
	background-size: contain;
	text-indent: -9999px;
	transition: all .25s;
}
@media (min-width: 768px){
	#footerabout .footer_coabout .footer_co h1{
		margin: 0 0 20px;
	}
}

#otherlink{
	display:flex;
	flex-direction:column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	width:100%;
	margin:0 auto;
	padding: 50px;
	background-color: var(--pinlight);
}
#otherlink a{
	display:block;
}
#otherlink a img{
	display:flex;
	width:140px;
	height:auto;
	filter: drop-shadow(2px 2px 3px rgba(0,0,0,0.3));
}
#otherlink a:hover{
	opacity:.7;
}
@media (min-width: 768px) {
	#otherlink{
		flex-direction:row;
		gap: 30px;
	}
	#otherlink a img{
		width:auto;
		height:60px;
	}
}

#footerabout .footer_coabout .footer_co p{
	line-height:26px;
	font-size:14px;
	color:#fff;
}
#footerabout .footer_coabout .footer_co p.footertel a:first-child{
	display:inline-block;
	width:100%;
	margin:10px auto;
	padding:0px 5px;
	letter-spacing: 1px;
	text-align:center;
	font-family: var(--en);
	font-weight: 600;
	font-size:18px;
	color:var(--subcolor);
	background:#fff;
	border:solid 5px #fff;
	border-radius:10px;
	transition: all .35s;
}
#footerabout .footer_coabout .footer_co p.footertel a:hover:first-child{
	color:#fff;
	background:var(--pinlight);
	border:solid 5px var(--pinlight);
	border-radius:0px;
}


/* ﾌｯﾀｰﾒﾆｭｰ */
@media (max-width: 1023px) {
	#footerabout .footer_nav{
		display:none !important;
	}
}
@media (min-width: 1024px) {
	#footerabout .footer_nav{
		width:100%;
		max-width:400px;
		padding:10px;
	}
	#footerabout .footer_nav .footermenu ul{
		position:relative;
		margin-bottom:30px;
	}
	#footerabout .footer_nav .footermenu ul:before{
		content: "";
		position: absolute;
		top:10px;
		left:-20px;
		width:2px;
		height:calc(100% - 12px);
		background:var(--pinlight);
	}
	#footerabout .footer_nav .footermenu ul li:first-of-type{
		position:relative;
		display:inline-block;
		width:100%;
		margin:10px 0;
		padding:0;
		letter-spacing:2px;
		font-weight:700;
		font-size: 15px;
		color: #FFF;
	}
	#footerabout .footer_nav .footermenu ul li a{
		position:relative;
		display:block;
		margin:10px 0;
		padding:0px 0px 0px 20px;
		line-height:30px;
		font-weight:500;
		font-size: 15px;
		color: var(--white);
		overflow: hidden;
	}
	#footerabout .footer_nav .footermenu ul li a:before{
		content: "\f45c";
		font-family: 'Font Awesome 6 Free';
		font-weight: 700;
		position: absolute;
		top:6px;
		left:0px;
		width:15px;
		height:15px;
		line-height:20px;
		font-weight:900;
		font-size:10px;
		color:rgba(243,160,50,.7);
	}
	#footerabout .footer_nav .footermenu ul li a::after {
		content: "";
		position: absolute;
		bottom:0px;
		left:-100%; /* ←左の外に隠す */
		width:100%;
		height:1px;
		background:rgba(255,255,255,.25);
		transition: left 0.15s ease;  /* スライド時間 */
	}
	#footerabout .footer_nav .footermenu ul li a:hover::before {
		color:var(--pinlight);
	}
	#footerabout .footer_nav .footermenu ul li a:hover::after {
		left: 0; /* ←横からスライドイン */
	}
}
@media (min-width: 1366px) {
	#footerabout .footer_nav{
		display:block;
		width:100%;
		max-width:clamp(500px, 253.430px + 18.051vw, 600px);
		padding:0px;
	}

	#footerabout .footer_nav .footermenu {
		display:flex;
		align-items: flex-start;
		gap:80px;
	}
	#footerabout .footer_nav .footermenu div{
		display: flex;
		flex-direction: column;
	}
}



/* フッター その他 */
@media (min-width: 560px) and (max-width: 1024px) {
	#footerabout .footer_other{
		width:100%;
		margin:0;
		padding:20px;
		display:grid;
		justify-content: space-evenly;
		align-items: center;
		grid-template-columns: auto auto auto;
		grid-template-rows: 1fr;
		grid-column-gap: 10px;
		grid-row-gap: 0px;
		background:rgba(0,0,0,0.1);
	}
	.otherlink01 { grid-area: 1 / 1 / 2 / 2; }
	.sns_container { grid-area: 1 / 2 / 2 / 3; }
	.otherlink02 { grid-area: 1 / 3 / 2 / 4; }

	#footerabout .footer_other a:not(ul.sns_container li a),
	#footerabout .footer_other a:not(.sns_container) img{
		display:block;
		width:100%;
		width: 170px;
		line-height:1;
		transition: all .25s;
	}
	#footerabout .footer_other a:not(:last-of-type){
		margin-bottom:15px;
	}
	#footerabout .footer_other a.border{
		padding:20px 5px;
		letter-spacing:1px;
		text-align:center;
		font-size:16px;
		color:var(--white);
		border:solid 1px var(--white);
	}
	#footerabout .footer_other a:hover.border{
		background-color:rgba(0,0,0,0.2);
	}
	#footerabout .footer_other a.footer_nyuukyo{
		width:100%;
		height:90px;
		padding: 0;
		text-indent:-99999px;
		background-image:url(../images/footer_nyuukyo.svg);
		background-position: 0 0;
		background-repeat:no-repeat;
		background-color:#77ccff;
		background-size:contain;
	}
	#footerabout .footer_other a:hover.footer_nyuukyo{
		background-image:url(../images/footer_nyuukyo.svg);
		background-color:rgba(0,0,0,0.2);
	}
}


/* 営業カレンダー */
.footer-calendar-wrap {
	width:100%;
	max-width:420px;
	margin: 10px 0 0;
	padding:0 5px;
}
@media (min-width: 1025px) {
}
@media (min-width: 1366px) {
	.footer-calendar-wrap {
		background-color:#325d79;
		border: solid 15px #325d79;
		border-radius: 20px;
		filter: drop-shadow(2px 2px 3px rgba(0,0,0,0.3));
	}
}
.footer-company {
	margin: 20px 0 0;
}
.calendar table{
	width: 100%;
	margin: 10px 0;
	background:rgba(255,255,255,.9);
}
.cal_holiday span{
	display: none;
}
.calendar caption{
	width: 100%;
	text-align:center;
	font-size:clamp(15px, 14.545px + 0.19vw, 16px);
	letter-spacing: 1px;
	margin-bottom: 5px;
}
@media (min-width: 768px){
	.calendar caption{
		font-size: 16px;
	}
}

.calendar caption > span{
	margin: 0 clamp(10px, 8.720px + 0.533vw, 16px);/*240-1365*/
	color:var(--white);
}
@media (min-width: 1366px){
	.calendar caption > span{
		margin: 0 16px;
	}
}
.strongmonth{
	padding: 0 2px;
	font-family:var(--en);
	font-weight:600;
	font-size: 26px;
	color:var(--mainlightlight);
}
.calendar caption button{
	padding:0;
	line-height:1;
	font-weight:700;
	font-size:18px;
	color: var(--mainlightlight);
	background: transparent;
	border: solid 1px transparent;
	border-radius:5px;
	cursor: pointer;
	transition: all .25s;
}
.calendar caption button:hover{
	color:var(--linkcolor);
	background:transparent;
	border:solid 1px var(--maincolor);
}
.calendar table tr{
	display: flex;
	border-top: 1px solid var(--maincolor);
}
.calendar table thead tr{
	border-top: none;
	padding-top: 1px;
	padding-bottom: 2px;
}
.calendar table tr > *{
	width: calc(100% / 7);
	font-weight: 400;
	font-size: 13px;
}
: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;
	min-height:40px;
}
.calendar td:not(:first-of-type){
	border-left: 1px solid var(--maincolor);
}
.calendar td p{
	text-align:center;
	padding:0;
}

.calendar td i{
	display: block;
	margin:0px 2px 2px 2px;
	padding: 0 0 2px;
	text-indent: 0;
	text-align: center;
	font-style: normal;
	font-weight:400;
	font-size:10px;
	color: var(--white);
	background:#79acff;
	border-radius: 5px;
}
.calendar td br{
	display: none;
}
/* ===========================
	フッターここまで
============================*/
/* ===========================
	indexここから
============================*/
/* ヒーロー画像 */
#index_hero{
	position:relative;
}
#index_hero img{
	width:100%;
	vertical-align: bottom;
}
/*飛び出し1号*/
#index_hero::before {
	content: "";
	position: absolute;
	right:10px;
	bottom:10px;
	width:55%;
	aspect-ratio: 16/9; /* SVG の縦横比に合わせる (例: 16:9) */
	background-image: url("../images/index/mainvisual_overtext_pc01.svg");
	background-position:right bottom;
	background-repeat:no-repeat;
	z-index: 4;
	animation: fadeUpAnime 1s forwards;
	animation-delay: 0.3s;
	opacity: 0;
	filter: drop-shadow(1px 1px 2px rgba(163, 119, 91, 0.2));
}

@media (min-width: 769px) {
	#index_hero::before {
		position: absolute;
		right: 5%;
		bottom: 50px;
		background-image: url("../images/index/mainvisual_overtext_pc01.svg");
		background-position:right bottom;
		width: 80%;
		max-width:400px;
		aspect-ratio: 1/1; /* PC版SVGの比率に調整 */
	}
}

@media (min-width: 1366px) {
	#index_hero::before {
		position: absolute;
		right: 5%;
		bottom:clamp(20px, -53.971px + 5.415vw, 50px);
		background-image: url("../images/index/mainvisual_overtext_pc01.svg");
		background-position:right bottom;
		width: 40%;
		max-width:clamp(400px, 30.144px + 27.076vw, 550px);
		aspect-ratio: 1/1; /* PC版SVGの比率に調整 */
	}
}

/* =========================== */
/* おすすめ物件 */
/*おすすめ大枠*/
section#index_osusume {
	position: relative; /* z-indexを有効にするため */
	max-width: initial;/* sectionのmax-width打ち消し */
	margin: initial;/* sectionのmax-width打ち消し */
	padding: initial;/* sectionのmax-width打ち消し */
	margin:0 auto;
	width:100%;
	z-index: 100;
}
#index_osusume .ossm_top,
#index_osusume .ossm_btm{
	position: relative;
	z-index:20;
}
section#index_osusume div.ossm_top{
	background-color:#d7e1e7;
}
section#index_osusume div.ossm_btm{
	background-color:#99b7c9;
}

@media (min-width:768px) {
	section#index_osusume div.ossm_top,
	section#index_osusume div.ossm_btm{
		padding-bottom: 120px;
	}
}

/*おすすめタイトル*/
#index_osusume .ossm_top h2,
#index_osusume .ossm_btm h2{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:2px;
	width:100%;
	max-width:1000px;
	margin:0px auto 75px;
	padding:0 0 50px;
	line-height:1.15;
	color:var(--maindark);
	border-radius:0 0 20px 20px;
}
#index_osusume .ossm_top h2{
	background:var(--white);
}
#index_osusume .ossm_btm h2{
	background:#d7e1e7;
}
/* 両脇R用 */
#index_osusume .ossm_top h2:before,
#index_osusume .ossm_btm h2:before{
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:-20px;
	width:20px;
	height:20px;
	z-index:0;
}
#index_osusume .ossm_top h2:before{
	background-color:var(--white);
}
#index_osusume .ossm_btm h2:before{
	background-color:#d7e1e7;
}
#index_osusume .ossm_top h2:after,
#index_osusume .ossm_btm h2:after{
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:-20px;
	width:20px;
	height:20px;
	border-radius:0 20px 0 0;
	z-index:1;
}
#index_osusume .ossm_top h2:after{
	background-color:#d7e1e7;
}
#index_osusume .ossm_btm h2:after{
	background-color:#99b7c9;
}

#index_osusume .ossm_top h2 span.h2cover,
#index_osusume .ossm_btm h2 span.h2cover {
	position:relative;
	top:0;
	display:contents;
	width:100%;
	height:100%;
	z-index:2;
}
#index_osusume .ossm_top h2 span.h2cover:before,
#index_osusume .ossm_btm h2 span.h2cover:before{
	content:"";
	display:block;
	position:absolute;
	top:0;
	right:-20px;
	width:20px;
	height:20px;
	z-index:0;
}
#index_osusume .ossm_top h2 span.h2cover:before{
	background-color:var(--white);
}
#index_osusume .ossm_btm h2 span.h2cover:before{
	background-color:#d7e1e7;
}
#index_osusume .ossm_top h2 span.h2cover:after,
#index_osusume .ossm_btm h2 span.h2cover:after{
	content:"";
	display:block;
	position:absolute;
	top:0;
	right:-20px;
	width:20px;
	height:20px;
	background-color:#d7e1e7;
	border-radius:20px 0 0 0;
	z-index:1;
}
#index_osusume .ossm_top h2 span.h2cover:after{
	background-color:#d7e1e7;
}
#index_osusume .ossm_btm h2 span.h2cover:after{
	background-color:#99b7c9;
}

#index_osusume div h2 span span.en,
#index_osusume div h2 span span.noten{
	position:relative;
	color:var(--maindark);
}
#index_osusume div h2 span span.en{
	padding: 15px 0;
	font-size:40px;
	font-weight: 500;
	letter-spacing: 2px;
	z-index:1;
}
#index_osusume .ossm_top h2 span span.noten,
#index_osusume .ossm_btm h2 span span.noten{
	padding:15px 10px 0;
	letter-spacing: 2px;
	font-size:18px;
	border-top:solid 5px var(--maindark);
	z-index:1;
}
/* ----------------------------------------------------- */
/* 画面幅が900px以下の場合のレスポンシブ対応 */
/* ----------------------------------------------------- */
@media screen and (max-width: 900px) {
	#index_osusume .ossm_top h2,
	#index_osusume .ossm_btm h2{
		margin:0px auto 50px;
		padding: 0 10px 30px;
		border-radius: 0;
	}
	#index_osusume div h2 span span.en{
		padding: 10px 0;
		font-size: 32px;
		letter-spacing: 1px;
	}
	#index_osusume .ossm_top h2 span span.noten,
	#index_osusume .ossm_btm h2 span span.noten{
		padding: 10px 10px 0;
		font-size: 16px;
	}
	#index_osusume .ossm_top h2:before,
	#index_osusume .ossm_btm h2:before,
	#index_osusume .ossm_top h2:after,
	#index_osusume .ossm_btm h2:after{
		content: none;
	}
	#index_osusume .ossm_top h2 span.h2cover:before,
	#index_osusume .ossm_btm h2 span.h2cover:before,
	#index_osusume .ossm_top h2 span.h2cover:after,
	#index_osusume .ossm_btm h2 span.h2cover:after{
		content: none;
	}
}



/*おすすめ物件枠*/
.osusume_datum > span{ /* 「詳細を見る」動画・VRを入れる時は表示 */
	display: none;
}
/*おすすめ内枠*/
#index_osusume > div div.osusume_inner{
	position: relative;
	top:0px;
	width:100%;
	min-height: 250px;
	margin:0 auto;
	display: flex;
	flex-direction: column;
	gap: 20px 0;
	overflow: visible !important;
	z-index:9999999999;
}
a.osusume_cell,
div.osusume_cell {
	display: block;
}
.osusume_cell {
	display: block;
	width:100%;
	margin:0 auto;
	padding: 10px;
	line-height: 1.5;
	color:var(--black);
	background:rgba(255,255,255,.65);
	transition: all .25s;
	box-shadow: 0 3px 15px rgba(0, 0, 0, 0.03);
}
.osusume_cell:hover {
	background:rgba(255,255,255,.9);
}
/* ～427px～1列-328-382 */
@media (max-width:427px) {
	.osusume_cell {
		display: block;
		width:96%;
		max-width:clamp(328px, 258.695px + 28.877vw, 382px);
	}
	#index_osusume > div div.osusume_inner{
		position: relative;
		top:-20px;
		width:100%;
		margin:0 auto;
		display: flex;
		flex-direction: column;
		gap:clamp(20px, 14.533px + 2.278vw, 30px) 0;
	}
}
/* 428px～1列-382px */
@media (min-width:428px) {
	.osusume_cell {
		display: block;
		width:98%;
		max-width:382px;
	}
	#index_osusume > div div.osusume_inner{
		position: relative;
		top:-20px;
		width:100%;
		margin:0 auto;
		display: flex;
		flex-direction: column;
		gap:clamp(20px, 14.533px + 2.278vw, 30px) 0;
	}
}

/* 810px～2列 */
@media (min-width: 810px) {
	#index_osusume > div div.osusume_inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		flex-direction: row;
		gap: 30px;
		width: auto; /* ← これで92%を打ち消す！ */
		max-width: calc(382px * 2 + 30px);
		margin-inline: auto;
	}
	.osusume_cell {
		display: block;
		width:100%;
		max-width:382px;
		margin:0;
		padding: 10px;
		line-height: 1.5;
		color:var(--black);
		background:rgba(255,255,255,.65);
		transition: all .25s;
		box-shadow: 0 3px 15px rgba(0, 0, 0, 0.03);
	}
	/* 奇数個のとき、最後の1つだけ左寄せ */
	.osusume_cell:nth-last-child(1):nth-child(odd) {
		margin-left: 0;
		margin-right: auto;
	}
}

/* 1240px～3列 */
@media (min-width: 1240px) {
	#index_osusume > div div.osusume_inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		flex-direction: row;
		gap:30px clamp(10px, -50.059px + 5.865vw, 30px);
		width: auto; /* ← これで92%を打ち消す！ */
		max-width: calc(382px * 3 + clamp(20px, -100.117px + 11.73vw, 60px));
		margin-inline: auto;
	}
	.osusume_cell {
		display: block;
		width:100%;
		max-width:382px;
		margin:0;
		padding: 10px;
		line-height: 1.5;
		color:var(--black);
		background:rgba(255,255,255,.65);
		transition: all .25s;
		box-shadow: 0 3px 15px rgba(0, 0, 0, 0.03);
	}
	/* 奇数個のとき、最後の1つだけ左寄せ */
	.osusume_cell:nth-last-child(1):nth-child(odd) {
		margin-left: 0;
		margin-right: auto;
	}
}
@media (min-width: 1366px) {
	#index_osusume > div div.osusume_inner {
		gap: 30px;
		max-width: calc(382px * 3 + 60px);
	}
}

/*おすすめcell内装飾*/
/*おすすめ物件写真*/
.osusume_photo{
	width:100%;
	height: auto;
	overflow: hidden;
	transition: all .25s;
	position: relative;
}
.osusume_photo img {
	width: 100%;
	height: auto;
	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:'\f00e  詳細を見る';
	font-family: 'Noto Sans JP','Font Awesome 6 Free', sans-serif;
	position: absolute;
	display: block;
	width: 100%;
	height:1em;
	font-size:24px;
	font-weight:700;
	letter-spacing: 3px;
	text-align: center;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	color:transparent;
	z-index:2;
	transition: all .25s;
}
.osusume_inner > a:hover .osusume_photo::before{
	background:rgba(0, 0, 0, 0.4);
}
.osusume_inner > a:hover .osusume_photo::after{
	color:#fff;
}

/*おすすめcell文字装飾など*/
.osusume_name {
	display:inline-block;
	margin-bottom: 10px;
	padding: 5px 10px;
	letter-spacing:0.5px;
	line-height:calc(1em + 1px);
	font-size:14px;
	color: var(--gray);
	background:var(--subcolor);
}


:is(.osusume_syubetu-madori,.osusume_cost,.osusume_addr)::before{
	font-family: 'Font Awesome 6 Free';
	font-weight: 700;
	display: inline-block;
	margin-right:5px;
	min-width: 18px;
	text-align: center;
}
.osusume_syubetu-madori::before{
	content: '\f015';
	color:var(--mainsub);
}
.osusume_cost::before{
	content: '\f157';
	color: var(--costred);
}
.osusume_addr::before{
	content: '\f3c5';
	color: var(--mainsub);
}
.osusume_cost span{
	font-size: 18px;
	color:var(--costred);
	font-weight:bold;
	line-height:1.75;
}
.osusume_syubetu-madori,
.osusume_addr,
.osusume_cost{
	font-size:15px;
	line-height:1.5;
}
.osusume_catch{
	padding:8px;
	font-size:14px;
	line-height:1.5;
	color:var(--black);
}
.osusume_info{
	margin-top:5px;
	padding: 5px;
}
.osusume_words{
	margin-top:8px;
	letter-spacing: 1px;
	border-top:solid 3px rgba(255,255,255,1);
}


/* NEWマーク */
.osusume_isnew{
	position: absolute;
	top:20px;
	left:-1px;
	padding:0 15px 0 10px;
	letter-spacing: 1px;
	font-size: 16px;
	font-weight: 600;
	color: var(--white);
	background: var(--pinlight);
	border-radius: 0 10px 10px 0;
	animation: blink 0.75s infinite alternate;
}
@keyframes blink{
	0% { opacity: 0; }
	100% { opacity: 1; }
}
/* =========================== */
/* greeting */
#index_greeting_container{
	position:relative;
	max-width: initial;/* sectionのmax-width打ち消し */
	margin: initial;/* sectionの打ち消し */
	width:100%;
	margin:0 auto;
	padding:0 0 200px;
	background-color:var(--maincolor);
z-index:0;
}
#index_greeting_container:before{
	content:"Our features";
	display:block;
	position:absolute;
	bottom:0px;
	right:-5px;
	font-family: "Parisienne", cursive;
	font-weight: 400;
	font-style: normal;
	font-size:clamp(180px, 100.000px + 7.813vw, 250px);
	color:rgba(68,117,149,0.8);
z-index:2;
}
#index_greeting_container:after{
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	left:0px;
	width:100%;
	height:30%;
	background:var(--main_bg);
z-index:1;
}

#index_greeting_wrap{
	position:relative;
	width: 100%;
	margin:0 auto;
z-index:2;
}
#index_greeting_wrap h2{
	position:relative;
	top:0;
	left:15%;
	display: flex;
	flex-direction:row;
	justify-content: center;
	align-items:center;
	gap:20px;
	width:85%;
	margin-bottom: 30px;
	padding: 35px 15% 35px 20px;
	line-height:1.15;
	color:#666;
	background-color:var(--white);
	border-radius: 0 0 0 20px;
z-index:9;
}
#index_greeting_wrap h2 span.en{
	letter-spacing: 2px;
	font-size:35px;
	font-weight: 500;
}
#index_greeting_wrap h2 span:not(.en){
	position:relative;
	top:3px;
	padding:0 10px 0 14px;
	letter-spacing:5px;
	line-height:30px;
	font-size:19px;
	border:solid 1px #aaa;
}
#index_greeting_wrap h2:before{
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:-20px;
	width:20px;
	height:20px;
	background-color:var(--white);
	z-index:0;
}
#index_greeting_wrap h2:after{
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:-20px;
	width:20px;
	height:20px;
	background-color:var(--maincolor);
	border-radius: 0 20px 0 0;
	z-index:1;
}
/* ----------------------------------------------------- */
/* 画面幅が900px以下の場合のレスポンシブ対応 */
/* ----------------------------------------------------- */
@media screen and (max-width: 900px) {
	#index_greeting_wrap h2{
		left: 0;
		width: 100%;
		justify-content: center;
		flex-direction: column;
		gap: 5px;
		margin-bottom: 30px;
		padding: 20px 20px;
		border-radius: 0;
	}
	#index_greeting_wrap h2 span.en{
		font-size: 28px;
	}
	#index_greeting_wrap h2 span:not(.en){
		top: 0;
		padding: 5px 10px;
		letter-spacing: 3px;
		line-height: 1.5;
		font-size: 16px;
	}
	#index_greeting_wrap h2:before,
	#index_greeting_wrap h2:after{
		content: none; /* 装飾非表示 */
	}
}



#greeting_case{
	display:flex;
	align-items: flex-start;
	gap:30px;
	max-width:1200px;
	margin: 50px auto;
	padding:50px 0px;
}
#greeting_case div.greeting,
#greeting_case div.greeting_motto{
}
#greeting_case div.greeting{
	position: relative;
	max-width:650px;
}
#greeting_case div.greeting div.greetinginner{
	position: relative;
	width:95%;
	height:100%;
	padding:80px 60px 200px;
	background:rgba(255,255,255,.9);
	overflow:hidden;
z-index:1;
}
#greeting_case div.greeting div.greeting_img{
	position: relative;
	top:-15px;
	left:calc(15% + 25px);
	width:85%;
	max-height:400px;
	height:400px;
z-index:2;
border:solid 10px #fff;
	filter:drop-shadow(2px 2px 5px rgba(66,66,66,0.6));

}
#greeting_case div.greeting div.greeting_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

#greeting_case div.greeting div.greetinginner:after{
	content:"Greeting";
	display:block;
	position:absolute;
	bottom:-30px;
	right:-22px;
	letter-spacing:2px;
	font-family: "Parisienne", cursive;
	font-weight: 400;
	font-style: normal;
	font-size:clamp(140px, 76.947px + 4.847vw, 170px);
	color:rgb(227,123,46,0.35);
}
#greeting_case div.greeting:after{
	content:"";
	display:block;
	position:absolute;
	bottom:-50px;
	left:-50px;
	width:100%;
	height:100%;
	background-color:rgba(255,255,255,0);
	background-image:
		radial-gradient(rgb(255 255 255 / 20%) 25%, transparent 30%),
		radial-gradient(rgb(255 255 255 / 20%) 25%, transparent 30%);
	background-size: 6px 6px;
	background-position: 0 0, 3px 3px;
	z-index:0;
}
#greeting_case div.greeting div.greetinginner p{
	letter-spacing:2px;
	line-height:2em;
	font-weight:500;
	font-size:17.5px;
	color:#1A1A1A;
}
#greeting_case div.greeting p:not(:last-of-type){
	margin-bottom:32px;
}
#greeting_case div.greeting_motto{
	margin-top:120px;
	padding:0 30px;
z-index:5;
}
#greeting_case div.greeting_motto h4{
	position:relative;
	margin-bottom:30px;
	text-align:center;
	letter-spacing:5px;
	line-height:2em;
	font-weight:500;
	font-size:22px;
	color:var(--white);
}
#greeting_case div.greeting_motto h4:after{
	content:"";
	display:block;
	position:absolute;
	bottom:-15px;
	left:0px;
	width:100%;
	height:5px;
	background-color:rgba(255,255,255,.5);
	z-index:1;
}
#greeting_case div.greeting_motto ul{
	padding:10px;
}
#greeting_case div.greeting_motto ul li{
	margin-bottom:20px;
	padding:10px 20px;
	letter-spacing:2px;
	font-weight:400;
	font-size:16px;
	color:white;
}
#greeting_case div.greeting_motto ul li:not(:last-of-type){
	padding-bottom:30px;
	border-bottom:solid 1px rgba(255,255,255,.5);
}
/* -------------------------------------------- */
/* 画面幅が1300px、1024px、810px以下対応 */
/* -------------------------------------------- */
@media screen and (max-width: 1300px) {
	#greeting_case{
		gap: 20px;
		max-width: 100%;
		padding: 50px 60px;
	}
	#greeting_case div.greeting div.greetinginner{
		padding: 60px 40px 150px;
	}
	#greeting_case div.greeting div.greetinginner:after{
		font-size:clamp(120px, 45.797px + 7.246vw, 140px);
		right: -15px;
		bottom: -20px;
	}
	#greeting_case div.greeting:after{
		content:"";
		display:block;
		position:absolute;
		bottom:-50px;
		left:-30px;
		width:80%;
		height:100%;
		background-color:rgba(255,255,255,0);
		background-image:
			radial-gradient(rgb(255 255 255 / 20%) 25%, transparent 30%),
			radial-gradient(rgb(255 255 255 / 20%) 25%, transparent 30%);
		background-size: 6px 6px;
		background-position: 0 0, 3px 3px;
		z-index:-1;
	}
	#greeting_case div.greeting div.greeting_img{
		left:calc(15% + 10px); /* 左位置を少し内側に調整 */
		max-height: 350px;
		height: 350px;
	}
	#greeting_case div.greeting_motto{
		margin-top: 100px;
	}
}
@media screen and (max-width: 1024px) {
	#index_greeting_container:before {
		content: none;
	}
	#greeting_case{
		display: block; /* Flexbox解除 */
		margin: 30px auto;
		padding: 30px 20px;
	}
	#greeting_case div.greeting{
		max-width: 90%;
		margin: 0 5% 50px;
	}
	#greeting_case div.greeting div.greetinginner{
		padding: 40px 30px 100px; 
	}
	#greeting_case div.greeting div.greetinginner:after {
		content: "Greeting";
		font-size:140px;
		right: -10px;
		bottom: 5px;
	}
	#greeting_case div.greeting div.greeting_img{
		position:relative;
		top:-60px;
		left:10%;
		width:80%;
		height:350px;
		margin:0 auto;
		border-width: 5px; 
		filter:drop-shadow(2px 2px 5px rgba(66,66,66,0.6));
	}
	#greeting_case div.greeting_motto{
		margin-top: 0;
		padding: 0 10px;
	}
}
@media screen and (max-width: 810px) {
	#index_greeting_container {
		padding: 0 0 80px;
	}
	#greeting_case{
		padding: 20px 10px; 
		margin: 20px auto;
	}
	#greeting_case div.greeting div.greetinginner{
		padding: 30px 30px 100px; 
	}
	#greeting_case div.greeting div.greetinginner p{
		font-size:clamp(15.5px, 13.335px + 0.514vw, 17.5px);
	}
	#greeting_case div.greeting p:not(:last-of-type){
		margin-bottom: 15px; 
	}
	#greeting_case div.greeting div.greetinginner:after {
		font-size:clamp(80px, 15.064px + 15.424vw, 140px);
		right: 5px;
		bottom: 0px; 
	}
	#greeting_case div.greeting div.greeting_img{
		height: 200px;
		margin-top: 15px; 
		border-width: 3px;
	}
	#greeting_case div.greeting_motto h4{
		margin-bottom: 15px;
		letter-spacing: 2px;
		font-size: 16px;
	}
	#greeting_case div.greeting_motto ul li{
		margin-bottom: 10px;
		padding: 6px 8px;
		font-size: 14px;
		letter-spacing: 1px;
	}
	#greeting_case div.greeting_motto ul li:not(:last-of-type){
		padding-bottom: 10px;
	}
}
@media screen and (max-width: 420px) {
	#greeting_case div.greeting div.greetinginner{
		width:100%;
		height:100%;
		padding:clamp(20px, -33.333px + 22.222vw, 60px) clamp(20px, -6.667px + 11.111vw, 40px) clamp(50px, -16.667px + 27.778vw, 100px);
	}
	#greeting_case div.greeting div.greeting_img{
		position: static; /* position:relative 解除 */
		width:100%;
		height: 200px;
		margin-top: 15px; 
		border-width: 3px;
	}
	#greeting_case div.greeting div.greetinginner:after {
		content: none;
	}
}

/* =========================== */
/* news */
#index_news {
	position:relative;
	max-width: initial;/* sectionのmax-width打ち消し */
	margin: initial;/* sectionの打ち消し */
	width:80%;
	max-width:1200px;
	max-height:320px;
	min-height:120px;
	margin: 0 auto;
	padding:40px;
	background-color:var(--white);
	border:solid 1px #ddd;
	-webkit-overflow-scrolling: touch; /* ← iOSで慣性スクロール */
	overflow-y: auto;
z-index:3;
}
@media (max-width: 420px){
	#index_news {
		padding:clamp(20px, -6.667px + 11.111vw, 40px);
	}
}

#index_news-container{
	position:relative;
	max-width: initial;/* sectionのmax-width打ち消し */
	width:100%;
	margin:0 auto;
	padding:0 0 200px;
	overflow:hidden;
z-index:1;
}
#index_news-container:before{
	content:"News";
	display:block;
	position:absolute;
	bottom:-105px;
	left:0px;
	letter-spacing:5px;
	font-family: "Parisienne", cursive;
	font-weight: 400;
	font-style: normal;
	font-size:260px;
	color:#dff3ff;
z-index:0;
}
@media (max-width: 768px){
	#index_news-container:before{
		position:absolute;
		bottom:0px;
		right:-5px;
		font-size:clamp(150px, 28.674px + 28.818vw, 250px);
	}
}
@media (max-width: 420px){
	#index_news-container:before{
		position:absolute;
		bottom:30px;
		right:-5px;
		font-size:clamp(90px, 10.000px + 33.333vw, 150px);
	}
}

#index_news-container:after{
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	left:0px;
	width:100%;
	height:30%;
z-index:1;
}
#index_news-wrap{
	position:relative;
	width: 100%;
	margin:0 auto;
}
#index_news-wrap h2{
	position:relative;
	top:0;
	left:0;
	display: flex;
	flex-direction:row;
	justify-content: center;
	align-items:center;
	gap:20px;
	width:85%;
	margin-bottom: 100px;
	padding:35px 20px 35px 15%;
	line-height:1.15;
	color:var(--gray);
	background-color:#264659;
	border-radius: 0 0 20px 0;
z-index:9;
}
#index_news-wrap h2 span.en{
	letter-spacing: 2px;
	font-size:35px;
	font-weight: 500;
}
#index_news-wrap h2 span:not(.en){
	position:relative;
	top:3px;
	padding:0 10px 0 14px;
	letter-spacing:5px;
	line-height:30px;
	font-size:19px;
	border:solid 1px #aaa;
}
#index_news-wrap h2:before{
	content:"";
	display:block;
	position:absolute;
	top:0;
	right:-20px;
	width:20px;
	height:20px;
	background-color:#264659;
	z-index:0;
}
#index_news-wrap h2:after{
	content:"";
	display:block;
	position:absolute;
	top:0;
	right:-20px;
	width:20px;
	height:20px;
	background-color:var(--white);
	border-radius:20px 0 0 0;
	z-index:1;
}
#index_news-wrap h2 span.en{
	letter-spacing: 2px;
	font-size:clamp(30px, 25.446px + 1.898vw, 40px);
	font-weight: 500;
}
#index_news-wrap h2 span:not(.en){
	font-size:clamp(16px,3.0769vw,22px);
	letter-spacing:clamp(1px, -1.277px + 0.949vw, 6px);
}
#index_news-wrap h2 span:not(.en) i{
	margin-right:0.25em;
}
/* ----------------------------------------------------- */
/* 画面幅が900px以下の場合のレスポンシブ対応 */
/* ----------------------------------------------------- */
@media screen and (max-width: 900px) {
	#index_news-wrap h2{
		width: 100%;
		padding: 20px 20px;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		margin-bottom: 30px;
		border-radius: 0;
	}
	#index_news-wrap h2 span.en{
		font-size: 28px;
	}
	#index_news-wrap h2 span:not(.en){
		top: 0;
		padding: 5px 10px;
		letter-spacing: 3px;
		line-height: 1.5;
		font-size: 16px;
	}
	#index_news-wrap h2:before,
	#index_news-wrap h2:after{
		content: none; /* 装飾非表示 */
	}
}





#index_news::-webkit-scrollbar {/* 横幅 */
	width: 15px;
}
#index_news::-webkit-scrollbar-thumb{/* つまみの部分 */
	border-top: solid 7px #fff; 
	border-right: solid 5px #fff;/* 疑似的な余白 */
	border-bottom: solid 7px #fff;
	background:var(--pincolor);
}
.infotr{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	column-gap: 20px;
	padding-bottom: 18.5px;
}
.infotr:not(:first-of-type){
	margin-top: 16.5px;
}
.infotr .info_date{
	width:100%;
	margin-bottom:10px;
	padding:5px;
	letter-spacing:1px;
	font-family: var(--en);
	font-size:18px;
	font-weight:600;
	color:var(--pincolor);
}
.infotr .info_body{
	padding:10px;
	line-height:1.5;
	font-size: 15px;
}
@media (min-width: 768px){
	.infotr{
		display: flex;
		flex-direction:row;
		align-items: flex-start;
		column-gap: 20px;
		border-bottom: solid 1px rgba(0, 0, 0, .1);
	}
	.infotr .info_date{
		width:30%;
	}
	.infotr .info_body{
		width:70%;
		padding:0 10px 10px 10px;
	}
}
.infotr .info_body a {
	position: relative;
	color: var(--black);
}
.infotr .info_body a:after {
	display: inline-block;
	position: absolute;
	right: -24px;
	bottom: 4px;
	content: "\f14c";
	width: 18px;
	height: 18px;
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	font-size: 18px;
	color: var(--pincolor);
}
.infotr .info_body a:hover,
.infotr .info_body a:hover::after {
	color: var(--maincolor);
}
.infotr .info_body a:hover{
	text-decoration: underline;
}


/* =========================== */
/* search */
#index_search_container{
	position:relative;
	max-width: initial;/* sectionのmax-width打ち消し */
	margin: initial;/* sectionの打ち消し */
	width:100%;
	margin:0 auto;
	padding:0;
	background-position:center bottom;
	background-color:#dff3ff;
	overflow:hidden;
z-index:1;
}
#index_search_container:before{
	content:"Search";
	display:block;
	position:absolute;
	bottom:-80px;
	right:-5px;
	font-family: "Parisienne", cursive;
	font-weight: 400;
	font-style: normal;
	font-size:250px;
	color:#d7e1e7;
z-index:2;
}
@media (max-width: 768px){
	#index_search_container:before{
		position:absolute;
		bottom:0px;
		right:-5px;
		font-size:clamp(150px, 28.674px + 28.818vw, 250px);
	}
}
@media (max-width: 420px){
	#index_search_container:before{
		position:absolute;
		bottom:30px;
		right:-5px;
		font-size:clamp(90px, 10.000px + 33.333vw, 150px);
	}
}


#index_search_container:after{
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	left:0px;
	width:100%;
	height:30%;
	background:var(--main_bg_fff);
z-index:0;
}
#index_search_wrap{
	position:relative;
	width: 100%;
	margin:0 auto;
}
#index_search_wrap h2{
	position:relative;
	top:0;
	left:0;
	display: flex;
	flex-direction:row;
	justify-content: center;
	align-items:center;
	gap:20px;
	width:85%;
	margin-bottom: 30px;
	padding:35px 20px 35px 15%;
	line-height:1.15;
	color:#666;
	background-color:var(--white);
	border-radius: 0 0 20px 0;
z-index:9;
}
#index_search_wrap h2 span.en{
	letter-spacing: 2px;
	font-size:35px;
	font-weight: 500;
}
#index_search_wrap h2 span:not(.en){
	position:relative;
	top:3px;
	padding:0 10px 0 14px;
	letter-spacing:5px;
	line-height:30px;
	font-size:19px;
	border:solid 1px #aaa;
}
#index_search_wrap h2:before{
	content:"";
	display:block;
	position:absolute;
	top:0;
	right:-20px;
	width:20px;
	height:20px;
	background-color:var(--white);
	z-index:0;
}
#index_search_wrap h2:after{
	content:"";
	display:block;
	position:absolute;
	top:0;
	right:-20px;
	width:20px;
	height:20px;
	background-color:#dff3ff;
	border-radius:20px 0 0 0;
	z-index:1;
}
/* ----------------------------------------------------- */
/* 画面幅が900px以下の場合のレスポンシブ対応 */
/* ----------------------------------------------------- */
@media screen and (max-width: 900px) {
	#index_search_wrap h2{
		width: 100%;
		padding: 20px 20px;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		margin-bottom: 30px;
		border-radius: 0;
	}
	#index_search_wrap h2 span.en{
		font-size: 28px;
	}
	#index_search_wrap h2 span:not(.en){
		top: 0;
		padding: 5px 10px;
		letter-spacing: 3px;
		line-height: 1.5;
		font-size: 16px;
	}
	#index_search_wrap h2:before,
	#index_search_wrap h2:after{
		content: none; /* 装飾非表示 */
	}
}


#index_search_wrap .search_case {
	display: flex;
	flex-wrap: wrap;
	justify-content: center; /* 最後の行も中央に揃う */
	gap: 70px;
	width: 80%;
	max-width: 1000px;
	margin: 0 auto 120px;
	padding: 50px 0;
	position: relative;
	z-index: 3;
}
@media(max-width:1024px){
	#index_search_wrap .search_case {
		gap:clamp(20px, 4.694px + 6.378vw, 70px);
	}
}
#index_search_wrap .search_case a{
	position: relative;
	flex: 0 1 240px; /* 最小幅250pxでフレックスアイテム */
	aspect-ratio: 1 / 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 35px;
	letter-spacing: 2px;
	text-align:center;
	font-size:20px;
	font-weight: 600;
	color: var(--maindark);
	background:rgba(255,255,255,.9);
	border:solid 5px var(--maincolor);
	border-radius: 20px;
	filter:drop-shadow(0px 0px 3px rgba(111,111,111,0.6));
	overflow: hidden;
	transition: background 1s;
z-index:1;
}
#index_search_wrap .search_case a:before {
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	font-size: 110px;
	color: rgba(115,208,255,0.3);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%); /* 完全中央配置 */
	z-index:-1;
}
#index_search_wrap .search_case a:first-of-type::before {
	content: '\f4d8';
}
#index_search_wrap .search_case a:nth-of-type(2)::before {
	content: '\e3af';
}
#index_search_wrap .search_case a:nth-of-type(3)::before {
	content: '\f51e';
}
#index_search_wrap .search_case a:nth-of-type(4)::before {
	content: '\f64f';
}
#index_search_wrap .search_case a:nth-of-type(5)::before {
	content: '\f54e';
}
#index_search_wrap .search_case a:last-of-type::before {
	content: '\f5e4';
}
#index_search_wrap .search_case a:hover {
	background:var(--maincolor);
	color:var(--white);
}



/* -------------------------
	index_serviceここから
------------------------- */
#index_service_container{
	position:relative;
	max-width: initial;
	margin: initial;
	width:100%;
	margin:0 auto;
	padding:0;
	background-color:var(--mainlight);
	/* -- ポルカドット + 背景画像 -- */
	background-image:
		radial-gradient(rgba(255,255,255,0.25) 1.5px, transparent 1.5px),
		radial-gradient(rgba(255,255,255,0.25) 1.5px, transparent 1.5px),
		url('../images/index_servicecontainer_bg.png');
	background-position:
		0 0,
		4px 4px,
		center bottom;
	background-repeat: repeat, repeat, no-repeat;
	background-size: 8px 8px, 8px 8px, cover;
	overflow: hidden;
	z-index: 1;
}
#index_service_container:before{
	content:"Service";
	display:block;
	position:absolute;
	bottom:-80px;
	right:-5px;
	font-family: "Parisienne", cursive;
	font-weight: 400;
	font-style: normal;
	font-size:250px;
	color:#fff;
	z-index:2;
}
#index_service_container:after{
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	left:0px;
	width:100%;
	height:30%;
	background:var(--main_bg_fff);
	z-index:0;
}

#index_service_wrap{
	position:relative;
	width: 100%;
	margin:0 auto;
}
/* h2装丁 */
#index_service_wrap h2{
	position:relative;
	top:0;
	left:15%;
	display: flex;
	flex-direction:row;
	justify-content: center;
	align-items:center;
	gap:20px;
	width:85%;
	margin-bottom: 30px;
	padding: 35px 15% 35px 20px;
	line-height:1.15;
	color:#666;
	background-color:var(--white);
	border-radius: 0 0 0 20px;
	z-index:9;
}
#index_service_wrap h2 span.en{
	letter-spacing: 2px;
	font-size:35px;
	font-weight: 500;
}
#index_service_wrap h2 span:not(.en){
	position:relative;
	top:3px;
	padding:0 10px 0 14px;
	letter-spacing:5px;
	line-height:30px;
	font-size:19px;
	border:solid 1px #aaa;
}
#index_service_wrap h2:before{
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:-20px;
	width:20px;
	height:20px;
	background-color:var(--white);
	z-index:0;
}
#index_service_wrap h2:after{
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:-20px;
	width:20px;
	height:20px;
	background-color:var(--mainlight);
	background-image:
		radial-gradient(rgba(255,255,255,0.25) 1.5px, transparent 1.5px),
		radial-gradient(rgba(255,255,255,0.25) 1.5px, transparent 1.5px);
	background-position:
		0 0,
		4px 4px;
	background-repeat: repeat, repeat;
	background-size: 8px 8px, 8px 8px;
	border-radius: 0 20px 0 0;
	z-index:1;
}

/* service_case 全体 */
#index_service_wrap .service_case {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width:90%;
	max-width:1400px;
	margin:0px auto 200px;
	padding:50px;
	position: relative;
	z-index: 3;
}
#index_service_wrap .service_case ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px;
	padding:0;
	list-style:none;
	margin:0;
	width:100%;
}

/* li本体 */
#index_service_wrap .service_case ul li{
	position:relative;
	display:flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: center;
	width:100%;
	margin:1px;
	letter-spacing:2px;
	font-weight:700;
	font-size:27px;
	color: var(--black);
	border: solid 10px #cca;
	border-radius:20px;
	overflow:hidden;
	/* 背景：斜線 + 写真 */
	background-image:
		var(--service-bg, none);
	background-size: auto, cover;
	background-repeat: repeat, no-repeat;
	background-position: 0 0, center;
	background-color:rgba(255,255,255,.5);
	transition: background 0.3s, border-radius 0.3s ease 0.8s;
	filter: drop-shadow(5px 5px 4px rgba(21, 58, 102, .2));
}
#index_service_wrap .service_case ul li:first-of-type {
	--service-bg: url('../images/servicecase_img01.jpg');
}
#index_service_wrap .service_case ul li:nth-of-type(2) {
	--service-bg: url('../images/servicecase_img02.jpg');
}
#index_service_wrap .service_case ul li:nth-of-type(3) {
	--service-bg: url('../images/servicecase_img03.jpg');
}
#index_service_wrap .service_case ul li:last-of-type {
	--service-bg: url('../images/servicecase_img04.jpg');
}

/* a：リンク帯部分 */
#index_service_wrap .service_case ul li a.menu_link{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 120px; /* 帯の高さ */

	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 15px;
	color: var(--black);
	text-decoration: none;

	/* 帯 */
	background-image: linear-gradient(
		to top,
		rgba(255,255,255,.65) 0,
		rgba(255,255,255,.65) 120px,
		transparent 120px,
		transparent 100%
	);
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: 100% 100%;
}
#index_service_wrap .service_case ul li a.menu_link > span{
	position: relative;
	z-index: 2;
}

/* 顔 */
#index_service_wrap .service_case ul li a .icon {
	display:inline-block;
	width:100px;
	height:100px;
	background-repeat:no-repeat;
	background-size:contain;
	background-position:center;
	flex-shrink:0;
	transition: background-image 0.3s ease;
}
#index_service_wrap .service_case ul li:first-of-type a .icon {
	background-image: url('../images/face_icon01_def.png');
}
#index_service_wrap .service_case ul li:first-of-type a:hover .icon {
	background-image: url('../images/face_icon01_hover.png');
}
#index_service_wrap .service_case ul li:nth-of-type(2) a .icon {
	background-image: url('../images/face_icon02_def.png');
}
#index_service_wrap .service_case ul li:nth-of-type(2) a:hover .icon {
	background-image: url('../images/face_icon02_hover.png');
}
#index_service_wrap .service_case ul li:nth-of-type(3) a .icon {
	background-image: url('../images/face_icon03_def.png');
}
#index_service_wrap .service_case ul li:nth-of-type(3) a:hover .icon {
	 background-image: url('../images/face_icon03_hover.png');
}
#index_service_wrap .service_case ul li:last-of-type a .icon {
	background-image: url('../images/face_icon04_def.png');
}
#index_service_wrap .service_case ul li:last-of-type a:hover .icon { 
	background-image: url('../images/face_icon04_hover.png');
}

/* テキスト見た目 */
#index_service_wrap .service_case ul li a.menu_link .font-feature{
	line-height: 1.2;
}

/* 枠線アニメーション */
/* 上線・下線は li */
#index_service_wrap .service_case ul li::before,
#index_service_wrap .service_case ul li::after{
	content:"";
	position:absolute;
	background: var(--maincolor, #333);
	z-index: 5;
	border-radius:5px;
	transition: all 0.3s ease;
}
#index_service_wrap .service_case ul li::before{
	top:0;
	left:0;
	width:0;
	height:9px;
}
#index_service_wrap .service_case ul li::after{
	bottom:0;
	right:0;
	width:0;
	height:8px;
}
/* 右線・左線は a.menu_link */
#index_service_wrap .service_case ul li a.menu_link::before,
#index_service_wrap .service_case ul li a.menu_link::after{
	content:"";
	position:absolute;
	width:8px;
	height:0;
	background: var(--maincolor, #333);
	z-index: 6;
	border-radius:5px;
	transition: all 0.3s ease;
}
#index_service_wrap .service_case ul li a.menu_link::before{
	left:0;
	bottom:0;
}
#index_service_wrap .service_case ul li a.menu_link::after{
	right:0;
	top:0;
}

/* hover：順番と遅延 */
#index_service_wrap .service_case ul li:hover::before{
	width:100%;
	transition-delay: 0s;
}
#index_service_wrap .service_case ul li:hover a.menu_link::after{
	height:100%;
	transition-delay: 0.2s;
}
#index_service_wrap .service_case ul li:hover::after{
	width:100%;
	transition-delay: 0.4s;
}
#index_service_wrap .service_case ul li:hover a.menu_link::before{
	height:100%;
	transition-delay: 0.6s;
}

#index_service_wrap .service_case ul li:hover {
	border-radius: 12px;
}

/* レスポンシブ */
/* PC: 2カラム */
@media (min-width:810px) {
	#index_service_wrap .service_case ul li {
		flex: 0 1 45%;
		min-height:350px;
	}
}
/* 2カラム時の3行対応（1026px前後） */
@media (min-width:810px) and (max-width: 1100px) {
	#index_service_wrap .service_case ul li a.menu_link{
		height: 150px; /* 帯の高さ */
		background-image: linear-gradient(
			to top,
			rgba(255,255,255,.65) 0,
			rgba(255,255,255,.65) 150px,
			transparent 150px,
			transparent 100%
		);
	}
	#index_service_wrap .service_case ul li {
		min-height: 400px;
	}
}
/* 900px以下 */
@media (max-width: 900px){
	/* h2>100%・縦並び */
	#index_service_wrap h2{
		left: 0;
		width: 100%;
		justify-content: center;
		flex-direction: column;
		gap: 5px;
		margin-bottom: 30px;
		padding: 20px 20px;
		border-radius: 0;
	}
	#index_service_wrap h2 span.en{
		font-size: 28px;
	}
	#index_service_wrap h2 span:not(.en){
		top: 0;
		padding: 5px 10px;
		letter-spacing:clamp(1px, 0.273px + 0.303vw, 3px);
		line-height: 1.5;
		font-size:clamp(15px, 14.636px + 0.152vw, 16px);
	}
	#index_service_wrap h2:before,
	#index_service_wrap h2:after{
		content: none;
	}
	/* 余白調整 */
	#index_service_wrap .service_case {
		width: 95%;
		padding: 30px 20px;
		margin-bottom: 120px;
	}
	#index_service_wrap .service_case ul{
		gap: 30px;
	}

	/* 1カラム */
	#index_service_wrap .service_case ul li{
		min-height: 300px; /* 280pxから300pxに増加 */
		font-size: clamp(20px, 18px + 0.8vw, 24px);
	}
	/* 1カラム時 帯の高さ */
	#index_service_wrap .service_case ul li a.menu_link{
		height: 130px;
		background-image: linear-gradient(
			to top,
			rgba(255,255,255,.65) 0,
			rgba(255,255,255,.65) 130px,
			transparent 130px,
			transparent 100%
		);
	}
}

/* 768px以下 */
@media (max-width: 768px){
	/* 背景文字調整(Service) */
	#index_service_container:before{
		bottom:0px;
		right:-5px;
		font-size:clamp(150px, 28.674px + 28.818vw, 250px);
	}
	#index_service_wrap .service_case {
		margin-bottom: 100px;
	}

	/* ulliレイアウト調整 */
	#index_service_wrap .service_case ul li a.menu_link{
		height: 125px; /* 帯の高さ */
		gap: 12px;
		background-image: linear-gradient(
			to top,
			rgba(255,255,255,.65) 0,
			rgba(255,255,255,.65) 125px,
			transparent 125px,
			transparent 100%
		);
	}
	#index_service_wrap .service_case ul li a .icon {
		width: 80px;
		height: 80px;
	}
	#index_service_wrap .service_case ul li{
		min-height: 260px; /* 240px -> 260px */
		border-width: 8px;
	}
}

/*  600px以下 */
@media (max-width: 600px){
	#index_service_wrap .service_case {
		padding: 20px 15px;
		margin-bottom: 80px;
	}
	#index_service_wrap .service_case ul{
		gap: 25px;
	}

	/* ulli縦 */
	#index_service_wrap .service_case ul li a.menu_link{
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		row-gap: 8px;
		justify-items: center;
		text-align: center;
		padding: 15px 15px 12px;
	}
	#index_service_wrap .service_case ul li a .icon {
		width: 60px;
		height: 60px;
	}
	#index_service_wrap .service_case ul li{
		min-height: 280px; /* 220px -> 280px */
		font-size: clamp(17px, 15px + 1vw, 19px);
		border-width: 6px;
		/* 背景中央から少し上に調整 */
		background-position: 0 0, 0 0, center 35%;
	}
	/* 帯縮小 -> 背景見せの為 */
	#index_service_wrap .service_case ul li a.menu_link{
		background-image: linear-gradient(
			to top,
			rgba(255,255,255,.75) 0,
			rgba(255,255,255,.75) 100px,
			transparent 100px,
			transparent 100%
		);
	}
}

/* 420px以下 */
@media (max-width: 420px){
	/* 背景の"Service"さらに調整 */
	#index_service_container:before{
		bottom:30px;
		right:-5px;
		font-size:clamp(90px, 10.000px + 33.333vw, 150px);
	}
	#index_service_wrap .service_case {
		padding: 15px 10px;
		margin-bottom: 60px;
	}
	#index_service_wrap .service_case ul{
		gap: 20px;
	}

	#index_service_wrap .service_case ul li{
		min-height: 250px; /* 200px -> 250px */
		font-size: clamp(15px, 13px + 1.2vw, 17px);
		border-width: 5px;
		background-position: 0 0, 0 0, center 30%;
	}
	#index_service_wrap .service_case ul li a.menu_link{
		padding: 12px 10px 10px;
		row-gap: 6px;
		/* 帯のさらに縮小 */
		background-image: linear-gradient(
			to top,
			rgba(255,255,255,.8) 0,
			rgba(255,255,255,.8) 90px,
			transparent 90px,
			transparent 100%
		);
	}
	#index_service_wrap .service_case ul li a .icon {
		width: 50px;
		height: 50px;
	}

	/* 枠線細く */
	#index_service_wrap .service_case ul li::before{
		height: 6px;
	}
	#index_service_wrap .service_case ul li::after{
		height: 5px;
	}
	#index_service_wrap .service_case ul li a.menu_link::before,
	#index_service_wrap .service_case ul li a.menu_link::after{
		width: 5px;
	}
}

/* タブレット対応 */
@media (hover: none) and (pointer: coarse) {
	/* ホバー無効化 */
	#index_service_wrap .service_case ul li:hover {
		border-radius: 20px;
	}
	/* タップ時の視覚的フィードバックを追加 */
	#index_service_wrap .service_case ul li:active {
		transform: scale(0.98);
		transition: transform 0.1s ease;
	}
}
/* -------------------------
	index_serviceここまで
------------------------- */
/* ===========================
	indexここまで
============================*/
/* ===========================
	静的ページここから
============================*/
#staticbodyinner {
	position: relative;
	display: block;
	width: 100%;
	max-width: initial;
	padding: 0 50px 150px 50px;
	background-color: var(--gray);
}
#staticbodyinner main{
	overflow-x: hidden;
}
.container section {
	display: block;
	width: 100%;
	max-width: 1300px;
	padding: 0;
	margin: 0 auto;
	position: relative;
}
@media(max-width:768px) {
	.container section {
		padding:5px;
	}
}

/* タイトルキャラアニメーション */
#staticbodyinner h2.def div.imgbox{
	position:relative;
	height:180px;
	width:180px;
	margin-top:20px;
}
#staticbodyinner h2.def div.imgbox div.image{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	opacity: 0;
	background-size: cover;
	background-position: center center;
	animation: image-switch-animation 10s infinite;
}
/* ooya */
#staticbodyinner h2.def div.imgbox div.ooya02{
	background-image: url(../images/face_icon01_hover.png);
	animation-delay:5s;
	z-index: 2; /* ooya02を上に */
}
#staticbodyinner h2.def div.imgbox div.image.ooya01{
	background-image: url(../images/face_icon01_def.png);
	animation-delay:0s;
	z-index: 1; /* ooya01を下に */
}
/* baikyaku */
#staticbodyinner h2.def div.imgbox div.baikyaku02{
	background-image: url(../images/face_icon02_hover.png);
	animation-delay:5s;
	z-index: 2;
}
#staticbodyinner h2.def div.imgbox div.image.baikyaku01{
	background-image: url(../images/face_icon02_def.png);
	animation-delay:0s;
	z-index: 1;
}
/* reform */
#staticbodyinner h2.def div.imgbox div.reform02{
	background-image: url(../images/face_icon03_hover.png);
	animation-delay:5s;
	z-index: 2;
}
#staticbodyinner h2.def div.imgbox div.image.reform01{
	background-image: url(../images/face_icon03_def.png);
	animation-delay:0s;
	z-index: 1;
}
/*kurashi*/
#staticbodyinner h2.def div.imgbox div.kurashi02{
	background-image: url(../images/face_icon04_hover.png);
	animation-delay:5s;
	z-index: 2;
}
#staticbodyinner h2.def div.imgbox div.image.kurashi01{
	background-image: url(../images/face_icon04_def.png);
	animation-delay:0s;
	z-index: 1;
}
@keyframes image-switch-animation {
	0%{ opacity: 0; }
	20%{ opacity:0.5; }
	30%{ opacity:0.75; }
	40%{ opacity: 1; }
	70%{ opacity: 0.75; }
	80%{ opacity: 0.5; }
	100%{ opacity: 0.25; }
}
/* タイトルキャラアニメーションココマデ */


#staticbody .container_ooya,
#staticbody .container_baikyaku,
#staticbody .container_satei,
#staticbody .container_reform,
#staticbody .container_kurashi{
	position: relative;
	top: 0px;
 	width: 100%;
	margin: 0 auto;
	padding: 0 !important;
	background:var(--gray);
	z-index:0;
}
#staticbody .container_satei {
	padding-bottom: 50px;
}
#staticbody div main section:not(#navigate) {
	display: block;
	width: 100%;
	max-width: 1300px;
	padding: 0;
	margin: 0 auto;
	position: relative;
}
@media (min-width: 240px) {/*240-768*/
	#staticbody div.container_baikyaku main section:not(#navigate) {
		padding:0 clamp(5px, -15.455px + 8.523vw, 50px);
	}
}
#navigate {
	margin: initial;/* section共通打ち消し */
	padding: initial;/* section共通打ち消し */
	line-height: initial;/* section共通打ち消し */
	margin: 0 auto;
	padding-left:1em;
	position: relative;
	display: block;
	width: 100%;
	max-width:initial;
	background-color:var(--white);
	z-index:9;
}
@media (min-width: 769px) {
	#navigate {
		height:50px;
	}
}

/* メインコンテンツエリア */
#staticbodyinner .static_contents {
	position: relative;
	display: block;
	width: 100%;
	max-width: 1300px;
	margin: 0 auto 50px;
	padding:30px;
	background-color: var(--white);
	border-radius:20px;
	z-index: 3;
}
@media(max-width:768px){
	#staticbodyinner .static_contents {
		padding:15px;
	}
}
/* flex_ﾖｺﾅﾗﾋﾞ */
#staticbodyinner .static_contents .inner_x {
	display:flex;
	align-items:flex-end;
	justify-content: space-between;
	width:85%;
	margin:0 auto;
	padding:30px 0;
	gap:30px;
}
#staticbodyinner .static_contents .inner_x img{
	display:block;
	width:70%;
	max-width:500px;
	margin:0 auto;
}

/* flex_ﾖｺﾅﾗﾋﾞ -> 1023以下ﾀﾃﾅﾗﾋﾞ */
@media(max-width:1023px){
	#staticbodyinner .static_contents .inner_x {
		display:flex;
		align-items: stretch;
		justify-content: space-between;
		flex-direction: column;
		width:85%;
		margin:0 auto;
		padding:30px 0;
		gap:30px;
	}
}
@media(max-width:768px){
	#staticbodyinner .static_contents .inner_x {
		width:100%;
		margin:0 auto;
		padding:10px 0;
		gap:10px;
	}
}

/* flex_ﾀﾃﾅﾗﾋﾞ */
#staticbodyinner .static_contents .inner_y {
	display:flex;
	flex-direction: column;
	width:85%;
	margin:0 auto;
	padding:30px 0;
	gap:30px;
}
#staticbodyinner .static_contents .inner_y img{
	display:block;
	width:50%;
	max-width:400px;
	margin:0 auto;
}


/* 見出しスタイル */
#staticbodyinner .static_contents h3 {
	position: relative;
	margin-bottom: 30px;
	padding: 20px 25px;
	letter-spacing: 2px;
	font-weight: 700;
	font-size:28px;
	color: var(--gray);
	background: linear-gradient(135deg, var(--maincolor) 0%, var(--mainlight) 100%);
}
@media (max-width:1365px) {/*810-1365*/
	#staticbodyinner .static_contents h3 {
		text-align:center !important;
		font-size:clamp(25px, 20.622px + 0.541vw, 28px);
	}
}
#staticbodyinner .static_contents h4 {
	position: relative;
	margin: 40px 0 25px;
	padding: 15px 20px 15px 50px;
	letter-spacing: 1.5px;
	font-weight: 600;
	font-size: clamp(18px, 3.5vw, 22px);
	color: var(--maindark);
	background: var(--mainlightlight);
	border-radius: 10px;
}
#staticbodyinner .static_contents h4::before {
	content: '\f0a4';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--maincolor);
	font-size: 20px;
}
#staticbodyinner .baikyaku_inner h4 {
	margin: 0px 0 15px;
}
#staticbodyinner .static_contents h4.qanda {
	position: relative;
	margin: 40px 0 25px;
	padding: 15px 20px;
	letter-spacing: 1.5px;
	font-weight: 600;
	font-size: clamp(18px, 3.5vw, 22px);
	color: var(--maindark);
	background:#dff3ff;
	border-radius: 10px;
}
@media (max-width: 810px) {
	#staticbodyinner .static_contents h4.qanda {
		margin:0;
		padding: 15px;
		letter-spacing:0.5px;
		font-size:clamp(17px, 16.579px + 0.175vw, 18px);
	}
}
#staticbodyinner .static_contents h4.qanda::before {
	content: none;
}
#staticbodyinner .static_contents h5 {
	position: relative;
	margin: 0px 0 20px;
	padding: 12px 15px 12px 40px;
	letter-spacing: 1px;
	font-weight: 600;
	font-size: clamp(16px, 3vw, 19px);
	color: var(--black);
	background: #f9f9f9;
	border-left: 3px solid var(--texgray);
}

/* service_ooya */
.container_ooya p{
	line-height:2.25em;
	letter-spacing:1px;
}
.container_ooya #staticbodyinner div div div .inner_y,
.container_ooya #staticbodyinner div div div .inner_x{
	padding-bottom:50px;
}
@media (max-width: 768px) {
	.container_ooya p{
		line-height:1.25em;
		letter-spacing:0.5px;
	}
	.container_ooya #staticbodyinner div div div .inner_y,
	.container_ooya #staticbodyinner div div div .inner_x{
		padding-bottom:25px;
	}
}
.container_ooya #staticbodyinner .static_contents ul {
	margin: 10px 0 20px 0;
	padding: 20px 20px 20px 50px;
	background: #fafafa;
	border-radius: 10px;
}
.container_ooya #staticbodyinner .static_contents ul li {
	position: relative;
	padding-left:10px;
	line-height: 2em;
	letter-spacing: 0.5px;
	font-size: clamp(14px, 2.8vw, 16px);
	color: var(--black);
}
.container_ooya #staticbodyinner .static_contents ul li::before {
	content: '\f138';
	font-family: 'Font Awesome 6 Free';
	display:block;
	position: absolute;
	left: -15px;
	top: 0.1em;
	width:30px;
	margin-right:20px;
	font-weight: 900;
	font-size: 16px;
	color: var(--maincolor);
}
.container_ooya #staticbodyinner .static_contents ul li:last-child {
	margin-bottom: 0;
}

@media (max-width: 1366px){
	#staticbodyinner h2.def .imgbox .image {
		background-size: cover;
	}
}
@media (max-width: 1300px){
	.container_ooya #staticbodyinner .inner_x {
		flex-direction: row;
		column-gap: 20px;
	}

	.container_ooya #staticbodyinner .inner_x img {
		width: 40%;
	}
	.container_ooya #staticbodyinner .inner_x .pbox {
		width: 60%;
	}
}
@media (max-width: 1024px){
	.container_ooya #staticbodyinner .inner_x {
		flex-direction: column;
		align-items: center;
		text-align: left;
	}

	.container_ooya #staticbodyinner .inner_x img {
		width: 100%;
		max-width: 600px;
		margin-top: 20px;
	}

	.container_ooya #staticbodyinner h3,
	.container_ooya #staticbodyinner h4,
	.container_ooya #staticbodyinner h5 {
		text-align: left;
	}
}
@media (max-width: 768px){
	#staticbodyinner h2.def {
		font-size: clamp(20px, 5vw, 26px);
	}

	#staticbodyinner h2.def span {
		font-size: clamp(18px, 4vw, 22px);
	}

	.container_ooya #staticbodyinner .inner_x .pbox,
	.container_ooya #staticbodyinner .inner_y .pbox {
		width:100%;
	}
	.container_ooya #staticbodyinner .inner_x .pbox p,
	.container_ooya #staticbodyinner .inner_y .pbox p{
		font-size:clamp(15px, 14.091px + 0.379vw, 17px);
		line-height:clamp(21px, 16.909px + 1.705vw, 30px);
	}

	/* inner_x（画像＋テキスト） */
	.container_ooya #staticbodyinner .inner_x img {
		margin-top: 10px;
		width: 100%;
		border-radius: 10px;
	}

	/* ulリストの余白縮小 */
	.container_ooya #staticbodyinner .static_contents ul {
		padding: 15px 15px 15px 30px;
	}
}
@media (max-width: 420px){
	#staticbody .container_ooya {	}
	.container_ooya #staticbodyinner .static_contents ul {
		padding: 10px 10px 10px 25px;
		margin: 10px 0;
	}
	.container_ooya #staticbodyinner .static_contents ul li {
		font-size: clamp(12px, 4vw, 14px);
	}
}


/* service_reform */
.container_reform p{
	line-height:2.25em;
	letter-spacing:1px;
}
.container_reform .inner_y p{
	margin-bottom:50px;
}

@media(max-width:768px){
	.container_reform h2.def span span.font09{
		font-size:14px !important;
	}
	.container_ooya > main #staticbodyinner .static_contents h4,
	.container_reform > main #staticbodyinner .static_contents h4 {
		position: relative;
		display:flex;
		flex-direction: column;
		margin: 0px 0 25px;
		padding:30px clamp(5px, 0.455px + 1.894vw, 15px) 15px;
		letter-spacing: 1.5px;
		text-align:center;
		font-weight: 600;
		font-size:clamp(16px, 13.273px + 1.136vw, 22px);
		color: var(--maindark);
		background: var(--mainlightlight);
		border-radius: 10px;
	}
	.container_ooya > main #staticbodyinner .static_contents h4::before,
	.container_reform > main #staticbodyinner .static_contents h4::before {
		content: '\f0a4';
		font-family: 'Font Awesome 6 Free';
		font-weight: 900;
		position: absolute;
		left:50%;
		top:5px;
		display:block;
		width:100%;
		height: 18px;
		margin-bottom:20px;
		transform: translateX(-50%);
		color: var(--maincolor);
		font-size: 18px;
	}
	.container_reform p{
		line-height:1.5em;
		letter-spacing:1px;
		font-size:15px;
	}
	.container_reform > main #staticbodyinner .static_contents .reform .inner_x{
		width: 100% !important;
		margin: 0 auto;
		padding:0px;
	}
	.container_reform > main #staticbodyinner .static_contents .reform .inner_x img,
	.container_reform > main #staticbodyinner .static_contents .reform .inner_y img,
	.container_reform > main #staticbodyinner .static_contents .inner_x img,
	.container_reform > main #staticbodyinner .static_contents .inner_y img{
		display: block;
		width: 100% !important;
		max-width: 380px;
		margin: 0 auto;
		padding:0px;
	}
	.container_reform > main #staticbodyinner div.static_contents div.fadeUp2{
		padding-top:15px;
		padding-left:clamp(10px, 7.727px + 0.947vw, 15px);
		padding-bottom:20px;
		padding-right:clamp(10px, 7.727px + 0.947vw, 15px);
	}
	.container_reform > main #staticbodyinner div.static_contents div.fadeUp2 div {
		padding:0px;
	}
}
#staticbodyinner .static_contents .inner_reform{
	display:flex;
	flex-direction: column;
	width:85%;
	margin:0 auto;
	padding:30px 0;
	gap:30px;
}
#staticbodyinner .static_contents .inner_reform div{
	display:flex;
	align-items: stretch;
	justify-content: space-between;
	width:100%;
	margin:0 auto;
	padding:0;
	gap:30px;
}
#staticbodyinner .static_contents .inner_reform div img{
	display:block;
	width:60%;
	max-width:420px;
	margin:20px auto;
	padding:initial;
}

#staticbodyinner .static_contents ul.nagare {
	display:flex;
	flex-direction: column;
	align-items: center;
	width:80%;
	margin: 20px auto 30px;
	padding: 50px;
	background: #fafafa;
	border-radius: 20px;
}
@media(max-width:768px){
	#staticbodyinner .static_contents ul.nagare {
		width:95%;
		padding:clamp(10px, -8.182px + 7.576vw, 50px);
	}
}
#staticbodyinner .static_contents ul.nagare li{
	position: relative;
	width:100%;
	margin-bottom: 50px;
	padding-left: 0px;
	line-height: 1.8em;
	letter-spacing: 0.5px;
	font-size: clamp(14px, 2.8vw, 18px);
	color: var(--black);
}
#staticbodyinner .static_contents ul.nagare li{
	text-align:center;
}
#staticbodyinner .static_contents ul.nagare li::before {
	content:none;
}
#staticbodyinner .static_contents ul.nagare li span.strong{
	display:block;
	margin-bottom:20px;
	padding:10px;
	text-align:center;
	letter-spacing:2px;
	font-size: 1.15em;
	color: var(--maindark);
	background:#dde;
}
@media(max-width:768px){
	#staticbodyinner .static_contents ul.nagare li span.strong{
		display:block;
		margin-bottom:clamp(10px, 5.455px + 1.894vw, 20px);
		padding:10px clamp(5px, 2.727px + 0.947vw, 10px);
		text-align:center;
		line-height:20px;
		letter-spacing:clamp(1px, 0.545px + 0.189vw, 2px);
		font-size:clamp(15px, 14.545px + 0.189vw, 16px);
	}
}
#staticbodyinner .static_contents ul.nagare li span.arrow{
	display:block;
	margin:10px auto 40px;
	font-size:clamp(90px, 49.913px + 5.213vw, 150px);
	color: var(--pinlight);
}
#staticbodyinner .static_contents ul.nagare li span.images img{
	display:block;
	width:60%;
	max-width:420px;
	margin:20px auto;
	padding:initial;
}
@media(max-width:768px){
	#staticbodyinner .static_contents ul.nagare li{
		margin-bottom:10px;
	}
	#staticbodyinner .static_contents ul.nagare li span.strong{
		display:block;
		margin-bottom:clamp(10px, 5.455px + 1.894vw, 20px);
		padding:10px clamp(5px, 2.727px + 0.947vw, 10px);
		text-align:center;
		line-height:20px;
		letter-spacing:clamp(1px, 0.545px + 0.189vw, 2px);
		font-size:clamp(15px, 14.545px + 0.189vw, 16px);
	}
	#staticbodyinner .static_contents ul.nagare li span.images img{
		display:block;
		width:90%;
		max-width:420px;
		margin:20px auto;
		padding:initial;
	}
	#staticbodyinner .static_contents ul.nagare li span.arrow{
		font-size:clamp(70px, 60.909px + 3.788vw, 90px);
	}

}


/* service_kurashi */
.container_kurashi .pbox p{
	line-height:2em;
	letter-spacing:2px;
	font-size:17px;
}
.container_kurashi .pbox p:not(:last-of-type),
staticbodyinner .static_contents .inner_kurashi:first-of-type .pbox p:not(:last-of-type){
	margin-bottom:50px;
}
.container_kurashi .pbox p::first-letter {
	margin-right:5px;
	line-height:2em !important;
	font-weight:600;
	font-size:24px !important;
	color:var(--pinred) !important;
}
.container_kurashi #staticbodyinner .static_contents .inner_x img{
	display: block;
	width: 50%;
	max-width: 380px;
	margin: 0 auto;
}
@media(max-width:768px){
	.container_ooya #staticbodyinner .static_contents h3,
	.container_kurashi #staticbodyinner .static_contents h3{
		padding: 15px 5px;
	}
	.container_kurashi .pbox p{
		line-height:1.5em;
		letter-spacing:1px;
		font-size:15px;
	}
	.container_kurashi #staticbodyinner .static_contents .inner_x img{
		display: block;
		width: 100%;
		max-width: 380px;
		margin: 0 auto;
	}
}

/* container_baikyaku */
.baikyaku_intro {
	display: flex;
	align-items: center;
	gap: 40px;
	max-width:1000px;
	margin: 30px auto;
}
.baikyaku_intro_text {
	flex: 1;
}
.baikyaku_intro_text p {
	margin-bottom: 20px;
	line-height: 2em;
	font-size: clamp(15px, 3vw, 17px);
}
.baikyaku_intro_text p:last-child {
	margin-bottom: 0;
}
.baikyaku_intro_text .emphasis {
	font-size: 1.15em;
	color: var(--pincolor);
	background: linear-gradient(transparent 60%, rgba(255, 182, 193, 0.4) 60%);
	padding: 0 5px;
}
.baikyaku_intro_img {
	flex: 0 0 320px;
}
.baikyaku_intro_img img {
	width: 100%;
	height: auto;
	border-radius: 15px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}
@media (max-width: 768px) {
	.baikyaku_intro {
		flex-direction: column;
	}
	.baikyaku_intro_img {
		flex: 0 0 auto;
		width: 100%;
		max-width: 350px;
	}
}

div.baikyaku_inner {
	display:flex;
	align-items: stretch;
	justify-content: space-between;
	flex-direction: column;
	width:85%;
	margin:0 auto;
	padding:0px;
	gap:5px;
}
div.baikyaku_inner h4 {
	position: relative;
	margin:0;
	padding: 15px 20px 15px 50px;
	letter-spacing: 1.5px;
	font-weight: 600;
	font-size: clamp(18px, 3.5vw, 22px);
	color: var(--maindark);
	background: var(--mainlightlight);
	border-radius: 10px;
}
@media (min-width:240px) {
	div.baikyaku_inner {
		width:95%;
	}
}

/* 物件例ボックス */
.bukken_reibox {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
	margin: 40px 0;
}

.bukken_rei_item {
	flex: 1 1 280px;
	max-width: 350px;
	padding: 35px 25px;
	text-align: center;
	background: linear-gradient(135deg, var(--mainlightlight) 0%, var(--white) 100%);
	border: 2px solid var(--mainlight);
	border-radius: 20px;
	transition: all 0.3s;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}
@media (min-width:240px) {
	.bukken_rei_item {
		padding:15px;
	}
}


.bukken_rei_item:hover {
	transform: translateY(-10px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
	border-color: var(--maincolor);
}

.bukken_rei_item .icon_wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	height: 80px;
	margin: 0 auto 20px;
	background: linear-gradient(135deg, var(--maincolor) 0%, var(--mainsub) 100%);
	border-radius: 50%;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.bukken_rei_item .icon_wrapper i {
	font-size: 36px;
	color: var(--white);
}

.bukken_rei_item h5 {
	margin-bottom: 15px;
	font-size: clamp(18px, 3.5vw, 20px);
	font-weight: 700;
	color: var(--maindark);
}

.bukken_rei_item p {
	font-size: clamp(14px, 2.8vw, 15px);
	line-height: 1.8em;
	color: var(--black);
}

/* 選ばれる理由ボックス */
.reason_box {
	display: flex;
	flex-direction: column;
	gap: 35px;
	margin: 40px 0;
}

.reason_item {
	position: relative;
	padding: 30px 30px 30px 120px;
	background: var(--white);
	border: 2px solid var(--mainlight);
	border-radius: 15px;
	box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);
	transition: all 0.3s;
}

.reason_item:hover {
	border-color: var(--maincolor);
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
	transform: translateX(5px);
}

.reason_number {
	position: absolute;
	top: 30px;
	left: 30px;
	width: 60px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	font-weight: 700;
	font-family: var(--en);
	color: var(--white);
	background: linear-gradient(135deg, var(--pincolor) 0%, var(--pinlight) 100%);
	border-radius: 50%;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}

.reason_item h5 {
	margin-bottom: 15px;
	font-size: clamp(18px, 3.5vw, 22px);
	font-weight: 700;
	color: var(--maindark);
}
.reason_item h5 i {
	margin-right: 10px;
	color: var(--maincolor);
	font-size: 1.1em;
}
.reason_item p {
	font-size: clamp(14px, 2.8vw, 16px);
	line-height: 1.9em;
	color: var(--black);
}

.reason_item p strong {
	color: var(--pincolor);
	font-weight: 700;
}

@media (max-width: 768px) {
	.reason_item {
		padding: 90px 20px 25px 20px;
	}
	.reason_number {
		top: 15px;
		left: 50%;
		transform: translateX(-50%);
	}
}

/* エリアリスト */
.area_list {
	padding: 40px;
	background: linear-gradient(135deg, var(--mainlightlight) 0%, var(--white) 100%);
	border: 2px solid var(--mainlight);
	border-radius: 20px;
}
.area_list ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.area_list ul li {
	display: flex;
	align-items: center;
	padding: 15px 20px;
	font-size: clamp(15px, 3vw, 17px);
	font-weight: 600;
	color: var(--maindark);
	background: var(--white);
	border: 1px solid var(--maincolor);
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: all 0.3s;
}
.baikyaku_inner p.check{
	display:block;
	margin:20px 0 50px !important;
	text-align:center;
	font-weight:700;
	font-size:clamp(16px, 14.714px + 0.536vw, 25px);
	color:var(--txtgray);
}

#staticbodyinner .area_list ul li::before {
	content:none;
}
.area_list ul li i {
	margin-left: 15px;
	margin-right: 10px;
	font-size: 20px;
	color: var(--pincolor);
}

@media (max-width: 768px) {
	.area_list {
		padding: 25px 20px;
	}
	.area_list ul {
		grid-template-columns: 1fr;
		gap: 15px;
	}
}
@media (max-width: 420px) {
	.area_list {
		padding: 10px;
	}
	.area_list ul li {
		padding:10px 5px;
	}

}


/* 強調テキスト */
#cta span.ltlbld,
.pbox span.ltlbld,
#staticbodyinner .static_contents .inner p span.ltlbld{
	line-height:1.25em;
	letter-spacing:1.5px;
	font-weight:700;
	font-size: 1.05em;
}
/* 相談ボタン */
.consult_buttons {
	display: flex;
	gap: 30px;
	justify-content: center;
	margin-top: 40px;
	flex-wrap: wrap;
}

.consult_btn {
	flex: 1 1 clamp(220px, 166.667px + 6.944vw, 300px);
	max-width: 450px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	padding: 35px 30px;
	text-decoration: none;
	border-radius: 20px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
	transition: all 0.3s;
	position: relative;
	overflow: hidden;
}

.consult_btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
	transition: left 0.5s;
}

.consult_btn:hover::before {
	left: 100%;
}

.consult_btn.primary {
	background: linear-gradient(135deg, var(--pincolor) 0%, var(--pinlight) 100%);
	border: 3px solid var(--pincolor);
}

.consult_btn.secondary {
	background: linear-gradient(135deg, var(--maincolor) 0%, var(--mainsub) 100%);
	border: 3px solid var(--maincolor);
}

.consult_btn:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.consult_btn i {
	font-size: 48px;
	color: var(--white);
}

.consult_btn span {
	font-size: clamp(18px, 3.5vw, 22px);
	font-weight: 700;
	color: var(--white);
	text-align: center;
	letter-spacing: 1px;
}
.consult_btn small {
	font-size: clamp(13px, 2.5vw, 14px);
	color: rgba(255, 255, 255, 0.9);
	text-align: center;
}
@media (max-width: 768px) {
	.consult_buttons {
		flex-direction: column;
		align-items: center;
	}
	.consult_btn {
		flex: 1 1 220px;
		width: 100%;
		max-width: 100%;
	}
}



#staticbodyinner span.strong{
	font-weight: 700;
	color: var(--maincolor);
	background: linear-gradient(transparent 60%, rgba(111, 208, 255, 0.3) 60%);
}

/* fadeUpアニメーション用コンテナ */
#staticbodyinner .static_contents > div.fadeUp2 {
	margin-bottom: 80px;
	background: var(--white);
	border-radius: 20px;
	box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);
}
#staticbodyinner .static_contents > div.fadeUp2:first-of-type{
	padding:clamp(40px, 10.863px + 3.597vw, 60px);
}
@media (max-width: 810px) {
	#staticbodyinner .static_contents > div.fadeUp2:first-of-type{
		padding: 15px 10px;
	}
}

#staticbodyinner .static_contents > div.fadeUp2:not(:first-of-type){
	padding: 30px 60px 60px;
}
@media (max-width: 420px) {
	#staticbodyinner .static_contents > div.fadeUp2:not(:first-of-type){
		padding:5px;
	}
}

.consult_btn.primary {
	background: linear-gradient(135deg, var(--pincolor) 0%, var(--pinlight) 100%);
	border: 3px solid var(--pincolor);
}

.consult_btn.secondary {
	background: linear-gradient(135deg, var(--maincolor) 0%, var(--mainsub) 100%);
	border: 3px solid var(--maincolor);
}

.consult_btn:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.consult_btn i {
	font-size: 48px;
	color: var(--white);
}

.consult_btn span {
	font-size: clamp(18px, 3.5vw, 22px);
	font-weight: 700;
	color: var(--white);
	text-align: center;
	letter-spacing: 1px;
}

.consult_btn small {
	font-size: clamp(13px, 2.5vw, 14px);
	color: rgba(255, 255, 255, 0.9);
	text-align: center;
}

@media (max-width: 768px) {
	.consult_buttons {
		flex-direction: column;
		align-items: center;
	}
	
	.consult_btn {
		width: 100%;
		max-width: 100%;
	}
}
/* ===========================
	静的ページここまで
============================*/
/* ===========================
	CTAここから
============================*/
#cta {
	display: flex;
	justify-content: center;
	flex-direction: column;
	max-width: initial;
	margin: initial;
	padding: 60px 20px;
	width: 100%;
	background-color: var(--mainlight);
	background-image: 
		radial-gradient(rgba(255,255,255,0.25) 1.5px, transparent 1.5px),
		radial-gradient(rgba(255,255,255,0.25) 1.5px, transparent 1.5px);
	background-position: 0 0, 4px 4px;
	background-repeat: repeat, repeat;
	background-size: 8px 8px, 8px 8px;
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.12);
}
#cta > h2 {
	margin: 0 0 40px 0;
	letter-spacing: 3px;
	text-align: center;
	font-weight: 600;
	font-size:clamp(24px, 20.911px + 0.734vw, 35px);
	color: var(--white);
	text-shadow: 2px 2px 0 rgba(21, 58, 102, 0.5);
}
.cta_inner {
	width: 95%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 50px clamp(10px, 5vw, 50px);
	display: flex;
	flex-direction: column;
	text-align: center;
	background-color: var(--white);
	border-radius: 20px;
	gap: 35px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}
/* CTAコピー */
p.cta_copy {
	line-height: 2em;
	letter-spacing: 1px;
	font-size: clamp(15px, 3vw, 17px);
	color: var(--black);
	font-weight: 500;
}
/* CTAコンタクト情報 */
div.cta_contact {
	line-height: 1.75em;
	letter-spacing: 2px;
	font-size: 17px;
	font-weight: 600;
}
div.cta_contact .flexbox {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 30px;
	margin-bottom: 30px;
	flex-wrap: wrap;
}
div.cta_contact .flexbox p {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
	flex: 1 1 clamp(150px, 107.872px + 10.007vw, 300px);
	min-width: 280px;
	padding: 30px 20px;
	color: var(--white);
	background: linear-gradient(135deg, var(--maincolor) 0%, var(--mainsub) 100%);
	border-radius: 15px;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
	transition: all 0.3s;
}
@media (max-width:420px) {
	#cta > h2 {
		margin: 0 0 40px 0;
		letter-spacing:clamp(1px, -1.667px + 1.111vw, 3px);
		text-align: center;
		font-weight: 600;
		font-size: clamp(20px, 14.667px + 2.222vw, 24px);
		color: var(--white);
		text-shadow: 2px 2px 0 rgba(21, 58, 102, 0.5);
	}
	div.cta_contact .flexbox p {
		flex: 1 1 150px;
		padding:0;
	}
}
div.cta_contact .flexbox p:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}
div.cta_contact p i:not(.nocolor) {
	font-size: 28px;
	color: var(--mainlightlight);
}
div.cta_contact p a {
	color: var(--white);
	text-decoration: none;
	font-weight: 700;
	font-size: clamp(16px, 3.5vw, 20px);
	transition: all 0.3s;
}
div.cta_contact p a:hover {
	color: var(--pinlight);
	text-shadow: 0 0 10px rgba(255,255,255,0.5);
}
div.cta_contact p a i.nocolor {
	color: var(--white);
}
/* 住所セクション */
div.cta_contact > p {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
	padding: 25px;
	background: var(--gray);
	border-radius: 10px;
	font-size: clamp(14px, 3vw, 16px);
	color: var(--black);
}
div.cta_contact > p i {
	color: var(--maincolor);
	font-size: 20px;
}
div.cta_contact p span {
	display: inline-block;
	position: relative;
	margin-left: 10px;
	padding: 8px 18px;
	letter-spacing: 2px;
	line-height: 1.5;
	font-size: 15px;
	color: var(--maincolor);
	background: var(--white);
	border: 2px solid var(--maincolor);
	border-radius: 8px;
	transition: all 0.3s;
	cursor: pointer;
}
div.cta_contact p span a{
	color: var(--maincolor);
}
div.cta_contact p span:hover {
	background-color: var(--maincolor);
	color: var(--white);
	transform: scale(1.02);
}

/* CTAメッセージ */
/* ===== ベース（〜419pxくらい。縦並び・重なりなし） ===== */
.cta_message {
	position:relative;
	margin-top: 10px;
	padding: 10px;
	background: linear-gradient(135deg, var(--mainlightlight) 0%, transparent 100%);
}

.cta_message .cta_message_inner {
	display:flex;
	flex-direction: column;
	position: relative;
	width:100%;
	padding:10px 0 15px;
	overflow: visible; /* 画像のはみ出し許可 */
}

.cta_message .cta_message_inner p{
	position: relative;
	width:100%;
	padding:10px;
	line-height:20px;
	text-align:left;
	font-size:15px;
	font-weight:600;
	color: var(--maindark);
	background:rgba(255,255,255,.9);
	filter:drop-shadow(2px 2px 5px rgba(66,66,66,0.2));
	z-index:2;
}

.cta_message .cta_message_inner .cta_message_img{
	position:relative;
	width:100%;
	max-width:360px;
	margin-top:10px;
	z-index:1;
}

.cta_message .cta_message_inner .cta_message_img img {
	width: 100%;
	height: auto;
	border:solid 5px #fff;
	filter:drop-shadow(2px 2px 5px rgba(66,66,66,0.2));
}

/* ===== 420〜529px：軽めのかぶせ ===== */
@media (min-width:420px) and (max-width:529px) {
	.cta_message .cta_message_inner {
		display:block;
		position:relative;
		min-height: 260px;
padding: 20px 20px 30px;
	}

	.cta_message .cta_message_inner p{
		position:absolute;
		top:0;
		left:0;
		width:70%;
		padding:20px;
		z-index:2;
	}

	.cta_message .cta_message_inner .cta_message_img{
		position:absolute;
		right:0;
		bottom:0;   /* 下で合わせる */
		width:50%;
		max-width:none;
		z-index:1;
	}
}

/* ===== 530〜767px：かぶせ弱め（今「隠れすぎ」ゾーンを調整） ===== */
@media (min-width:530px) and (max-width:767px) {
	.cta_message .cta_message_inner {
		display:block;
		position:relative;
		min-height: 280px;
padding: 24px 24px 36px;
	}

	.cta_message .cta_message_inner p{
		position:absolute;
		top:0;
		left:0;
		width:60%;  /* ←テキスト幅を少し細くする */
		padding:24px;
		line-height:clamp(24px, 6vw, 30px);
		font-size:clamp(15px, 1.8vw, 18px);
		z-index:2;
	}

	.cta_message .cta_message_inner .cta_message_img{
		position:absolute;
		right:0;
		bottom:-10px;  /* ←画像を少し下げて、かぶさり量を減らす */
		width:48%;     /* ←画像ちょい小さめ */
		max-width:none;
		z-index:1;
	}
}

@media (min-width:768px) {
	.cta_message {
		padding: 50px clamp(40px, 6vw, 80px) 90px;
	}

	/* 中身の箱：中央寄せ＋かぶせ前提 */
	.cta_message .cta_message_inner {
		display:block !important;         /* flexに戻されるのを防ぐ */
		position:relative !important;
		max-width:clamp(630px, 183.333px + 58.16vw, 1300px);
		margin:0 auto;
		min-height:380px;                 /* テキスト＋画像＋かぶせ用の高さ */
		padding: 50px 0px 80px !important;
	}

	.cta_message .cta_message_inner p{
		position:absolute !important;
		top:0;
		left:3%;                          /* ちょい内側からスタート */
		width:65%;                        /* ちょっと広めにして重なりを作る */
		padding:40px !important;
		font-size:18px;
		line-height:32px;
		z-index:2;
	}

	/* 画像：右下でしっかりテキストの下にもぐらせる */
	.cta_message .cta_message_inner .cta_message_img{
		position:absolute !important;
		right:3%;                         /* こちらも左右バランスを合わせる */
		bottom:-40px;                     /* 下にはみ出させて“かぶせ感”UP */
		width:52%;                        /* 画像少し大きめに */
		max-width:none;
		z-index:1;
	}
}
@media (min-width:1024px) {
	.cta_message .cta_message_inner {
		display:block !important;
		position:relative !important;
		max-width:1000px;
		margin:0 auto;
		min-height:330px;
		padding: 50px 0px 0px !important;
	}
	.cta_message .cta_message_inner p{
		position:absolute !important;
		top:0;
		left:5%;
		width:55%;
		padding:40px !important;
		font-size:20px;
		line-height:35px;
		z-index:2;
	}
	.cta_message .cta_message_inner .cta_message_img{
		position:absolute !important;
		right:5%;
		bottom:-40px;
		width:45%;
		max-width:none;
		z-index:1;
	}
}



/* レスポンシブ調整 */
@media (max-width: 768px) {
	#staticbodyinner {
		padding: 0 20px 100px 20px;
	}
	#staticbodyinner .static_contents > div.fadeUp2 {
		padding: 30px 20px;
		margin-bottom: 50px;
	}
	#staticbodyinner .static_contents h3 {
		margin-bottom:10px;
		padding: 15px 5px;
		font-size: clamp(18px, 4.5vw, 24px);
	}
	#staticbodyinner .static_contents h4 {
		padding: 12px 15px 12px 45px;
	}
	#staticbodyinner .static_contents h5 {
		padding: 10px 12px 10px clamp(16px, 7.364px + 3.598vw, 35px);
	}
	#staticbodyinner .static_contents ul {
		padding: 15px 15px 15px 40px;
	}
	div.cta_contact .flexbox {
		flex-direction: column;
		gap: 20px;
	}
	div.cta_contact .flexbox p {
		min-width: 100%;
	}
	.cta_inner {
		padding: 30px 20px;
		gap: 25px;
	}
}

@media (max-width: 480px) {
	#cta {
		padding: 40px 10px;
	}
	#cta > h2 {
		margin-bottom: 30px;
	}
	div.cta_contact > p {
		flex-direction: column;
		text-align: center;
	}

	div.cta_contact p span {
		margin-left: 0;
		margin-top: 10px;
	}
	#staticbodyinner .static_contents ul {
		padding: 5px;
	}

}
/* ===========================
	CTAここまで
============================*/
/* ===========================
	会社概要ここから
============================*/
#company_info{
	max-width: initial;/* sectionのmax-width打ち消し */
	margin: initial;/* sectionのmax-width打ち消し */
	padding: initial;/* sectionのmax-width打ち消し */
	position:relative;
	width:100%;
	padding:0 0 150px 0;
	background:var(--mainlightlight);
}
#company_text{
	position:relative;
	width: 80%;
	max-width:1200px;
	margin: 0 auto 100px;
	padding: 0;
	z-index:0;
	box-shadow: 0px 5px 10px rgba( 0, 0, 0, 0.1);
}
#company_text:after{
	content:'';
	display:block;
	position:absolute;
	top:50px;
	left:50px;
	width:100%;
	height:100%;
	background-color: var(--mainlight);
	/* --- ポルカドット風 + 背景画像 --- */
	background-image:
		radial-gradient(rgba(255,255,255,0.25) 1.5px, transparent 1.5px),
		radial-gradient(rgba(255,255,255,0.25) 1.5px, transparent 1.5px);
	background-position:
		0 0,
		4px 4px,
		center bottom;
	background-repeat: repeat, repeat;
	background-size: 8px 8px, 8px 8px;
	border-radius:20px 0 0 0;
	overflow: hidden;
	z-index:0;
}
#company_text dl {
	position:relative;
	display: table;
	width: 100%;
	margin: 0 auto ;
	border-collapse: collapse;
	z-index:1;
}
#company_text dl dt,
#company_text dl dd {
	display: table-cell;
	vertical-align: middle;
	padding: 5px 0;
	border-top: 1px solid #eee;
}
#company_text dl:first-of-type dt,
#company_text dl:first-of-type dd{
	border-top:none;
}
#company_text dl dt {
	width: 30%;
	padding:20px 0 20px 40px ;
	font-weight: 500;
	font-size:clamp(15px, 14.857px + 0.06vw, 16px);
	letter-spacing:4px;
	color:var(--white);
	background-color: var(--maindark);
}
#company_text dl dd {
/*	width: 70%;*/
	padding:25px 15px 25px 20px;
	line-height: 1.5;
	font-size:clamp(14px,2.6923vw,16px);
	letter-spacing: 1px;
	background:#ffffff;
}

#company_infomap{
	max-width: initial;/* sectionのmax-width打ち消し */
	margin: initial;/* sectionのmax-width打ち消し */
	padding: initial;/* sectionのmax-width打ち消し */
	position:relative;
	width:100%;
	background:var(--white);
}
#companymap_wrap{
	position: relative;
	max-width: initial;/* sectionのmax-width打ち消し */
	width:100%;
	padding:0;
	background-color:var(--white);
	z-index:2;
}

#companymap{
	width: 100%;
	padding-top:50px;
	background-color:var(--white);
}
#companymap{
	max-width: initial;/* sectionのmax-width打ち消し */
	width:100%;
	height: clamp(300px,57.692vw,550px);
	margin: 0 auto 100px;/*:afterの高さ+分*/
	box-shadow: 0px 3px 10px rgba( 0, 0, 0, 0.15);
	z-index:2;
}
.domain::before{
	content:'@';
}
/* ===========================
	会社概要ここまで
============================*/
/* ===========================
	お問い合わせ・査定フォームここから
============================*/
.container section#contact{
	padding:0 15px;
}
#contactbody main{
	background-color:var(--gray);
	padding-bottom:60px;
}
#contact p,
#form_table {
	width: 98%;
}
@media (min-width:1024px) {
	#contact p,
	#form_table {
		width: 90%;
	}
}
@media (max-width:1023px) {
	.container section#contact{
		padding:0 30px;
	}
}

#contact p {
	margin: 0 auto 5px;
	line-height: 1.5;
}
#form_table {
	margin: 20px auto 30px;
}
#form_table dl {
	display: table;
	width: 100%;
	border-collapse: separate;
	border-spacing: 0px 0px;
	padding:20px 80px;
}
#form_table dl:not(:last-of-type){
	border-bottom: solid 5px rgba(0, 0, 0, .1);
}

#form_table dt,
#form_table dd {
	display: table-cell;
	vertical-align: middle;
}
#form_table dt {
	width: 30%;
	padding: 8px 15px 8px 40px;
	font-size:clamp(15.5px,2.9807vw,17.5px);
}
#form_table dd {
	width: 70%;
	padding: 8px 30px;
	position: relative;
}
#form_table dd input[type='text'],
#form_table dd input[type='tel'],
#form_table dd input[type='email'],
#form_table dd textarea {
	width: 100%;
	padding: 5px 5px 5px 10px;
	line-height: 30px;
	color: var(--black);
	font-size:clamp(14px,2.6923vw,16px);
	border: 1px solid #e3e8ed;
	border-radius: 2px;
}
#form_table dd textarea {
	height: 8em;
}
#form_table dd button {
	margin: 10px 0;
	padding: 0 20px;
	font-size: 16px;
	border:none;
	background-color: transparent;
}
#form_table dd button.stop,
#form_table dd button.okgo {
	margin-bottom: 20px;
}
#form_table dd button[type='reset'] {
	color: #f00;
}

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

.send-button-wrapper span{
	display:inline-block;
	transition: all 0.3s;
	position: relative;
	text-align: center;
	padding:1rem 2rem;
	cursor: pointer;
}
.send-button-wrapper.okgo span{
	color:var(--maincolor);
}
.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(--mainlight);
	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{
	display:inline-block;
	padding:0 5px;
	color:var(--gray);
	background-color:var(--maincolor);
	border-radius:5px;
}
@media(max-width:600px){
	#form_table .formlast > dd{
		padding:0;
	}
	.formlast > dd > div{
		display: flex;
		flex-direction: column;
		margin-top: 20px;
		margin-bottom:20px;
	}
	#form_table dd button.stop, #form_table dd button.okgo{
		margin-bottom:0;
		padding:0;
	}
	#form_table dd button.stop, #form_table dd button.okgo,
	#form_table dd button.stop span, #form_table dd button.okgo span{
		width:100%;
	}
}
#form_table.chkform dl.chklist{
	display:flex;
	flex-direction:column;
	padding:0 10px;
}
#form_table.chkform dl.chklist dt,
#form_table.chkform dl.chklist dd{
	width:100%;
}
#form_table.chkform dl.chklist dt{
	font-weight:700;
	padding:0 5px 5px;
	color:var(--subcolor);
	border-bottom:1px solid;
	line-height:1.5;
	margin-top:25px;
}
#form_table.chkform dl.chklist dd{
	padding:5px 20px 10px;
	line-height:1.5;
}
.backhomelink{
	display: flex;
	justify-content: center;
	width: fit-content;
	margin: 30px auto 0;
	color: var(--pinred);
	border-bottom: 1px solid;
	transition: all .25s;
}
.backhomelink:hover{
	color:var(--textred);
}
/* ステップバー */
.progressbar {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: clamp(20px,3.8461vw,30px) auto 40px;
	padding: 5px 0 10px;
	background:#fff;
	border-radius:50px;
	box-shadow:var(--shadow);
}
@media(max-width:290px){
	.progressbar {
		display: none;
	}
}
.progressbar li {
	position: relative;
	width: 33.333%;
	list-style-type: none;
	letter-spacing: 1px;
	text-align: center;
	text-transform: uppercase;
	color: #999999;
	font-size:14px;
	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);
	position: inherit;
	z-index: 2;
}
.progressbar li:after {
	content: '';
	position: absolute;
	top: 19px;
	left: -50%;
	width: 100%;
	height: 2px;
	background-color: #e5e5e5;
	z-index: 1;
}
.progressbar li:first-child:after {
	content: none;
}
.progressbar li.active,
.progressbar li.complete{
	color: var(--pincolor);
}
.progressbar li.active:before,
.progressbar li.complete:before {
	background-color: var(--pincolor);
	color: #FFF;
}
.progressbar li.active:after,
.progressbar li.complete:after {
	background-color: var(--pincolor);
}
/* 入力ヒント「半角数字で入力」等 */
.form_hint {
	display: block;
	position: absolute;
	top: -1.25em;
	font-size:14px;
	color: var(--costred);
	opacity: 0;
	transition: all .2s;
}
#form_table input:focus + .form_hint {
	opacity: 1;
}

/* チェックボックス */
.chklist label {
	display: block;
	margin-bottom:5px;
	padding:10px 15px;
	background-color:rgba(255,255,255,.75);
	border-radius:5px;
	transition: background-color 0.2s;
}
.chklist label:hover {
	background-color: #eef7ee;
}
.chklist input[type="checkbox"] {
	transform: scale(1.2);
	margin-right:10px;
}


@media(max-width:1024px){/* dtとddを横並びから縦並びにするポイント */
	#form_table dd {
		display: flex;
		flex-direction: column-reverse;
		gap: 5px;
	}
	.form_hint {
		font-size:13px;
		position: initial;
		top: initial;
		display: none;
	}
	#form_table input:focus + .form_hint {
		display: block;
	}
}
/* ===========================
	お問い合わせここまで
============================*/
/* ===========================
	プライバシーポリシーここから
============================*/
#privacy,
#cookie{
	content:"";
	display:block;
	position:relative;
	top:0;
	max-width: initial;/* section共通打ち消し */
	width: 100%;
	background-color:var(--gray);
	z-index:0;
}
section#privacy:after,
section#cookie:after{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0px;
	width: 100%;
	height: 30%;
	background: var(--main_bg_fff);
	z-index: 0;
}
#privacy > div > p:first-of-type,
#cookie > div > p:first-of-type{
	margin:20px 0;
	line-height: 1.5;
	letter-spacing:1px;
	text-align:center;
	font-size:clamp(16px, 15.091px + 0.379vw, 18px);
}
#privacy > div > p,
#cookie > div > p{
	font-size:16px;
	margin-bottom:10px;
	line-height: 1.5;
}
#privacy div.privacyinner,
#cookie div.cookieinner{
	position:relative;
	display: block;
	width: initial;/* section共通打ち消し */
	width:100%;
	max-width: 1300px;
	margin: 0 auto 100px;
	padding-bottom:60px;
	z-index: 3;
}
@media (max-width:1365px){
	#privacy div.privacyinner,
	#cookie div.cookieinner{
		position:relative;
		display: block;
		width: initial;/* section共通打ち消し */
		width:95%;
		margin: 0 auto 100px;
		padding-bottom:60px;
		z-index: 3;
	}
}
#privacy_list > div{
	display: flex;
	flex-direction: column;
	position: relative;
	margin-top:20px;
	gap:10px;
}
#privacy_list > div > span{
	padding:10px 15px;
	letter-spacing: 2px;
	font-weight:bold;
	font-size:clamp(21px, 20.286px + 0.298vw, 26px);
	color:var(--maincolor);
	background-color:var(--white);
	border:1px solid #a2b9e3;
	border-radius:20px;
}
#privacy_list > div > p,
#privacy_list > ol{
	font-size:clamp(14px,2.6923vw,16px);
	line-height:1.75;
	letter-spacing: .5px;
}
#privacy_list > div > p{
	padding:10px 30px 30px;
}
#privacy_list > ol{
	margin: 15px 0;
	padding:10px 50px 30px;
}
#privacy_list > ol > li{
	margin-bottom:10px;
}
#privacy_list ul{
	margin: 20px 0 50px 20px;
	list-style-type: circle;
	color:var(--maindark);
	font-size:15px;
	line-height: 1.5;
	letter-spacing: .5px;
}
#privacy_list ul li{
	margin-bottom:10px;
}
#privacy_list ul li a{
	display:inline-block;
	padding:5px 0;
	color:var(--maincolor)
}
#privacy_list ul li a::after {
	content: "\f2f5";
	font-family:"Font Awesome 6 Free";
	font-weight: 900;
	margin-left: 8px;
	font-size:12px;
	color:var(--maincolor)
}
#privacy_list ul li a:hover{
	color:var(--pinred)
}
#privacy_list > ul{
	margin-left:55px;
}
@media (max-width:1365px){
	#privacy_list > ul{
		margin-left:clamp(40px, 36.800px + 1.333vw, 55px);
	}
}

/* ===========================
	プライバシーポリシーここまで
============================*/
/* ===========================
	物件一覧ここから
============================*/
span.cb_subttl{
	display: inline-block;
	font-size:40px;
}
.total_num {
	display: flex;
	justify-content: right;
	align-items: center;
	position: relative;
	width: 100%;
	margin-bottom: 30px;
	font-size: 15px;
	color: var(--black);
	text-align: right;
}
.total_num > span{
	display: inline-block;
	position: relative;
	padding-left: 2em;
	padding-right: 1.5em;
	text-align: center;
	line-height: 1.5;
}
.total_num > span::before{
    font-family: 'Font Awesome 6 Free';
    font-weight: 700;
    display: inline-block;
	margin-right:10px;
	min-width: 18px;
    text-align: center;
	content: '\f03a';
	color: var(--maincolor);
}
.total_num > span >span{
	display: inline-block;
}
.navi_pages{
	display: none;
}
/* ===========================
	並び替えボタン
*/
.order_button {
	width: 95%;
	margin: 0 auto 20px;
	text-align: left;
}
.order_button label,
.order_button input {
	display: none;
}
.order_button ul {
	list-style-type: none;
	width: 100%;
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
}
.order_button ul li {
	display: inline-block;
}
.order_button button {
	width: 100%;
	letter-spacing: 1px;
	font-size: 16px;
	color: #fff;
	background-color: transparent;
	border: none;
}

.order_button button span{
	position: relative;
	display:inline-block;
	padding:8px 20px;
	text-align: center;
	font-family: var(--ja);
	font-size:14px;
	font-weight: 400;
	color: var(--texgray);
	transition: all 0.25s;
	cursor: pointer;
	z-index: 2;
}
.order_button button span::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background-color: var(--gray);
	box-shadow: var(--shadow);
	border: solid 1px var(--maincolor);
	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:95%;
	max-width:600px;
	margin:0 auto;
	background:var(--subcolor);
	padding:5px;
	border-radius:25px;
	box-shadow: var(--shadow);
}
div.navi_prev,
div.navi_next,
div.navi_number {
	display: block;
}
div.navi_prev,
div.navi_next {
	font-size: 15px;
	font-weight:bold;
}
div.navi_next {
	text-align: right;
}
div.navi_prev a,
div.navi_next a {
	display: inline-block;
	margin: 0 5px;
	padding: 6px 10px;
	font-weight: bold;
	color: var(--white);
	background:transparent;
	border:1px solid transparent;
	border-radius: 50%;
	line-height:1;
	transition: all .25s;
}
div.navi_number {
	flex-grow: 1;
	text-align: center;
	font-size: 14px;
	font-family: var(--en);
	line-height: 1;
}
div.navi_number span,
div.navi_number a {
	display: inline-block;
	margin: 0 5px;
	padding:10px;
	color: var(--white);
	border-radius: 50%;
	border:1px solid var(--mainlightlight);
	transition: all .25s;
	border-radius:50%;
	line-height:1;
}


/*
ページネーションの表示数を制限する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;
	color:var(--white);
}
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 {
	font-weight:700;
	color:var(--pinred);
	background-color: var(--white);
	border:1px solid var(--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;
}

/* 物件一覧部分 */
.container section.cblist{
	max-width: initial;/* sectionのmax-width打ち消し */
	margin: initial;/* sectionのmax-width打ち消し */
	padding: initial;/* sectionのmax-width打ち消し */
	margin:0 auto;
	width:100%;
}

.cblist_inner{
	position: relative;
	padding-top: 60px;
	padding-bottom: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	column-gap: 30px;
	width: 100%;
}
.cblist_inner::before,
.cblist_inner::after{
	content:'';
	position: absolute;
	display: block;
	width:calc(100vw - 100%);
	height:48%;
}
/*
.cblist_inner::before{
	background:var(--mainlight);
	left:calc(100% + 30px);
	top:0;
}
.cblist_inner::after{
	background:var(--sublight);
	right:calc(100% + 30px);
	bottom:0;
}
*/
.cblist_link{
	display: block;
	width: 94%;
	max-width:calc(94% / 3);
	margin-bottom: 40px;
	padding: 10px;
	line-height: 1.5;
	color:var(--black);
	background:var(--white);
	transition: all .25s;
	border: solid 1px #e5e5e5;
	border-radius:5px;
	box-shadow: 0 3px 15px rgba(0, 0, 0, 0.03);
}
@media(max-width:1299px) {
	.cblist_link{
		max-width:calc(85% / 2);
	}
}

.cblist_link:hover {
	border: solid 1px var(--mainlight);
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}


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

/* 最後の一列が3個より少ない時に左寄せするための細かいレスポンシブ
	表示が崩れたらここを削除すれば中央寄せにはなるが治る
*/

@media(min-width:1300px) {
	.cblist_inner {
		justify-content: flex-start;
		gap: 40px 3%;
		width:100%;
		max-width: 1300px;
		margin:0 auto;
	}
	.cblist_inner:before{
		left:calc(100% + 80px);
	}
	.cblist_inner:after{
		right:calc(100% + 80px);
	}
	.container section.cblist{
		width:95%;
	}
}

/* 3→2列になったときに余った1を疑似的に左寄せにするための細かいレスポンシブ
	無理やりなのでいいやり方が見つかったらやり直したい
*/
@media(max-width:1299px){
	.cblist_inner {
		justify-content: flex-start;
		padding-left:8%;
		column-gap:33px;
	}
	.cblist_link:nth-of-type(even) {
		margin-left:auto;
		margin-right:8%;
	}
}
@media(max-width:767px){
	.container section.cblist{
		width: 90%;
		padding:0 30px;
	}
	.cblist_inner {
		justify-content: center;
		padding:initial;
	}
	.cblist_link:nth-of-type(even) {
		margin-left:initial;
		margin-right:initial;
	}
	.cblist_link{
		max-width:initial;
	}
	.cblist_tbl{
		display:flex;
		justify-content:space-between;
		width:100%;
	}
	.cblist_photo,.cblist_list{
		width:48%;
	}
}
@media(max-width:630px){
	.container section.cblist{
		width: 90%;
		padding:0 25px;
	}
	.cblist_link{
		max-width:320px;
	}
	.cblist_tbl{
		display:block;
	}
	.cblist_photo,.cblist_list{
		width:100%;
	}
}
@media(max-width:480px){
	.container section.cblist{
		width:100%;
		padding:0 1px;
	}
}

/* vr *//* ※使用するサイトに適用　※テンプレートはこの辺カスタマイズされてないかも
#cblist div.cblist_inner a.cblist_link span.list_movievr,
#cblist div.cblist_inner a.cblist_link span.list_movie,
#cblist div.cblist_inner a.cblist_link span.list_vr,
#cblist div.cblist_inner a.cblist_link span.list_normal {
	z-index: 99;
	display: block;
	position: absolute;
	top: -5px;
	left: 0px;
	width: 80px;
	height: 80px;
	padding: 53px 7px 10px 7.5px;
	line-height: 18px;
	text-align: center;
	font-size: 13px;
	color: var(--darkblue);
	box-shadow: 0 5px 10px 0 rgb(100 100 100 / 50%);
	backdrop-filter: blur( 4.0px );
	-webkit-backdrop-filter: blur( 4.0px );
	background-position: center 8px;
	background-repeat: no-repeat;
	background-color: rgba( 246, 250, 255, 0.9);
	opacity:0.85;
	backdrop-filter: blur( 4.0px );
	-webkit-backdrop-filter: blur( 4.0px );
	transition: all 0.2s;
	border-radius: 5px;
}

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

/* ===========================
	物件一覧ここまで
============================*/
/* ===========================
	cmapここから
============================*/
#baloon_explanation {
	margin-bottom: 20px;
	padding-left: 0px;
	font-size:clamp(13px, 10.723px + 0.949vw, 18px);
	font-weight: bold;
}
@media (min-width: 810px) {
	#baloon_explanation {
		padding-left: 10px;
		font-size:clamp(18px, 16.541px + 0.18vw, 20px);
	}
}
/* 吹き出し */
.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(--mainlight);
	border-radius: 15px;
}
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: 200px;
}
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: 30px 0 0;
}

.inline{
	display:inline-block;
	margin-right:0.5rem;
}
/*20221005追加アイコンソート用*/

#baloon_explanation{
	width:96%;
	margin: 0 2%;
	display: flex;
	flex-wrap: wrap;
	flex-direction:row;
	align-items: center;
	justify-content: center;
	gap:1px;
	margin-bottom:clamp(10px, 7.891px + 0.879vw, 15px);
}

@media (min-width: 810px) {
	#baloon_explanation{
		width:85%;
		margin: 0 calc(15% / 2);
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap:10px;
		margin-bottom:15px;
	}
}
.mapcheck-pc,
.mapcheck-sp{
	display: block;
	width: 100%;
	margin-bottom: 20px;
	padding: 0 10px;
	font-size:15px;
	color:#c50000;
}
.mapcheck-pc span,
.mapcheck-sp span{
	display: inline-block;
	margin: 0 5px 3px;
	padding:2px 10px;
	color:var(--white);
	border-radius:5px;
}
.mapcheck-pc span i,
.mapcheck-sp span i{
	margin-right:5px;
}

#baloon_explanation img{
	width:auto;
	height:clamp(25px, 20.446px + 1.898vw, 35px);
}
#baloon_explanation img:not(:first-of-type){
	margin-left: 6px;
}


@media (max-width: 809px) {
	.mapcheck-pc{
		display:none;
	}
	.mapcheck-sp{
		line-height:22px;
	}
	.mapcheck-sp span{
		background:var(--mainsub);
	}
}
@media (min-width: 810px) {
	.mapcheck-sp{
		display:none;
	}
	.mapcheck-pc{
		display: block;
		width: 100%;
		margin:20px;
		line-height:28px;
		text-align: center;
		font-size:17px;
		color:rgb(197, 0, 0);
	}
	.mapcheck-pc span{
		background:var(--subcolor);
	}
	#baloon_explanation{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		flex-direction: row;
		gap:10px;
		margin-bottom:5px;
	}
}
.mapcheck-input{
	display: none;
}
.mapcheck-label{
	width: 170px;
	height:40px;
	transition: all .3s;
	display: flex;
	align-items: center;
	margin-bottom:5px;
	padding: 5px 10px;
	border-radius: 10px;
	cursor: pointer;
	border:1px solid rgba(222,222,222,1);
}
.mapcheck-label img {
	width: 25px;
	margin-right: 10px;
}


@media (min-width: 810px) {
	.mapcheck-label{
		width: auto;
		height:40px;
		transition: all .3s;
/*		display: inline-table;*/
		padding: 5px;
		border-radius: 10px;
		cursor: pointer;
	border:1px solid rgba(222,222,222,1);
	}
	.mapcheck-label img {
		width: 25px;
		margin-right: 5px;
	}
}
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;
	top:-3px;
	display: inline-flex;
	align-items: center;
	width: 180px;
	height: 45px;
	margin: 15px 0 0 10px;
	text-align: left;
	font-size: 22px;
	font-weight:bold;
	color: #202020;
	background-color: #fff;
	border: none;
	box-shadow:0 3px 10px rgba(0,0,0,0.15);
	border-radius: 10px;
	cursor: pointer;
	opacity: 0;
	transition: all .3s ease-in-out;
	pointer-events: none;
}
@media (min-width: 810px) {
	.mapcheck-submit{
		margin:0 0 0 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 60px;
}
.kousinbi{
	font-size:clamp(13px,2.3076vw,15px);
}

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

.meisai_body td button {
	display: inline-block;
	padding: 10px 20px;
	letter-spacing: 1px;
	font-weight:700;
	font-size: 16px;
	color:var(--maindark);
	background-color: var(--mainlightlight);
	border: solid 2px var(--maincolor);
	border-radius: 10px;
	transition: all .25s;
	cursor: pointer;
}
.meisai_body td button:hover{
	color:var(--mainlightlight);
	background-color: var(--maincolor);
	border: solid 2px var(--maincolor);
}
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;
}
@media(max-width:786px){
	#meisai_photo {
		justify-content: center;
		gap:20px;
	}
	#meisai_photo p {
		display: block;
		width: 100%;
		text-align: center;
	}
}

#meisai_photo p.displaynone{
	display: none;/* 登録写真がない時の空要素のレイアウト崩し予防 */
}
#meisai_photo p a:hover img{
	transform: scale(1.05);
}
#meisai_photo p:first-of-type{
	margin-bottom:20px;
}
#meisai_photo p img {
	width: 100%;
	max-width: 320px;
	object-fit: cover;
	margin: 0 auto;
	transition: all .25s;
	box-shadow:var(--shadow);
}
#meisai_photo_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);
}
#meisai_photo_thumb a:hover img{
	transform: scale(1.1);
}
#meisai_photo_thumb a{
	width:15%;
	height:auto;
	box-shadow:var(--shadow);
}
#meisai_photo_thumb img {
	width: 100%;
	display: block;
	object-fit: cover;
	transition: all .25s;
}
#meisai_moviebox iframe,
#meisai_vrbox iframe {
	width: 100%;
	height: 400px;
	border: 0 none;
}
#map {
	width: 100%;
	height: clamp(350px,67.307vw,450px);
}
/* VRとか用の記述
#meisai_moviebox h2,
#meisai_vrbox h2 {
	width: 920px;
	height: 40px ;
	margin: 0 auto;
	line-height: 40px ;
	letter-spacing: 7px;
	text-indent: 35px;
	text-align: center;
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 20px;
	font-weight: 300;
	color: #fff;
	border: 0;
}
#meisai_moviebox h2 {
	background-image: url(../images/osusume_movie_icon.png);
	background-position: 350px center;
	background-repeat: no-repeat;
	background-color: #091641;
	background-size: 33px;
}
#meisai_vrbox h2 {
	background-image: url(../images/osusume_vr_icon.png);
	background-position: 330px center;
	background-repeat: no-repeat;
	background-color: #091641;
	background-size: 32px;
}*/

/* ===========================
	物件詳細ここまで
============================*/
/* ===========================
	adminここから
============================*/
#adminbody p{
	line-height: 1.5;
}
#adminbody .backhomelink a{
	color:var(--pincolor);
	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(--maincolor);
	transition: all .25s;
	font-size: clamp(15.5px,2.9807vw,17.5px);
	letter-spacing: .5px;
}
#admin-kanrikoumoku li::marker{
	color:var(--mainlight);
}
#admin-kanrikoumoku li a:hover,
#adminbody .backhomelink a:hover{
	color: var(--pincolor);
}
section#admin_block {
	width: 100%;
	margin: 0 auto;
	padding: 10px 15px;
}
section#admin_block table {
	width: 100%;
	margin-bottom: 15px;
	border: solid 1px #999;
}
section#admin_block table th {
	background: var(--gray);
}
section#admin_block table td {
	background: #fff;
}
section#admin_block table th,
section#admin_block table td {
	padding: 5px;
	border: solid 1px #999;
	text-align: center;
	font-size: 0.9em;
}
.linkcolor a{
	color:var(--linkcolor);
	transition: all .25s;
}
.linkcolor a:hover{
	color:var(--pincolor);
}
section#admin_block table td input[type='text'],
section#admin_block table td input[type='file'],
section#admin_block table td textarea {
	width: 100%;
	margin-bottom: 5px;
	padding: 3px;
	border: solid 1px #ccc;
	font-size: 1em;
}
section#admin_block table td button {
	padding: 3px 6px;
	font-size: 1em;
}
section#admin_block table#holiday_calendar caption {
	padding: 5px 0;
	font-size: 1em;
	text-align: center;
	margin-bottom:2em;
}
section#admin_block table#holiday_calendar caption button,
section#admin_block table#holiday_calendar caption span {
	font-size: 1.2em;
}
section#admin_block table#holiday_calendar caption button{
	padding:7px 15px;
	background: var(--gray);
	box-shadow: var(--shadow);
	border-radius: 10px;
	border:1px solid #ddd;
	cursor: pointer;
	transition: all .25s;
}
section#admin_block table#holiday_calendar caption button:hover{
	background:var(--pincolor);
	border:1px solid var(--pincolor);
	color:#fff;
}
section#admin_block table input{
	cursor: pointer;
}
section#admin_block table#holiday_calendar th {
	width: 14.285%;
}
section#admin_block table#holiday_calendar tr > td:nth-child(7) {
	background: #eef;
	color: #33f;
}
section#admin_block table#holiday_calendar tr > td:nth-child(1),
section#admin_block table#holiday_calendar tr > td.cal_holiday {
	background: #fee;
	color: #f33;
}
section#admin_block table#holiday_calendar td p {
	line-height: 1.3em;
	text-align: left;
}
section#admin_block table#holiday_calendar td p label {
	display: block;
	color: #000;
}
section#admin_block table td.slideimg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ===========================
	レスポンシブここから
============================*/
/* ===========================
	レスポンシブ用記述
*/
#menuwrapper-sticky_wrap{
	display:none;
}
.overlay {
	display:none;
}
@media(max-width:1024px){
/* ===========================
		ハンバーガーメニューここから
============================*/
	/* 
		ハンバーガーボタンクリックで画面を暗く
		.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:10px;
		z-index: 1001;/* ページトップボタンより上になるように注意 */
	}
	input#hamburger {
		display: none;
	}
	/*
	 * ハンバーガーボタン用
	 * */
	 .menu_button {
		width: 50px;
		height: 50px;
		display: flex;
		position: absolute;
		top:10px;
		right: 0px;
		background: 0 0;
		z-index: 1002;
		justify-content: center;
		flex-direction: column;
		align-items: center;
		cursor: pointer;
	}
	.menu_button span,
	.menu_button span::before,
	.menu_button span::after {
		content: '';
		display: block;
		height: 3px;
		width: 35px;
		border-radius: 5px;
		background: var(--maincolor);
		transition: all .3s;
		position: absolute;
		top: 10px;
	}
	.menu_button span:before {
		top: 10px;
		left: 0;
		background: var(--maincolor);
	}
	.menu_button span:after {
		top: 20px;
		left: 0;
		background: var(--maincolor);
	}
	.menu_button:after {
		content: 'MENU';
		display: inline-block;
		position: absolute;
		bottom: 0px;
		font-weight:700;
		font-family: 'Montserrat',sans-serif;
		font-size: 10px;
		color: var(--maincolor);
		transition: all .3s;
	}
	.menu_button.active span {
		background: rgba(255,255,255,0);
	}
	.menu_button.active span:before {
		bottom: 0;
		transform: rotate(45deg);
		background:var(--mainlightlight);
	}
	.menu_button.active span:after {
		top: 10px;
		transform: rotate(-45deg);
		background:var(--mainlightlight);
	}
	.menu_button.active:after {
		content: 'CLOSE';
		color: var(--mainlightlight);
	}
	/*
	 * レスポンシブメニュー用
	 * */	
	 #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(7,22,47,.9);
		transition: all 0.5s;
	}
	#responsive-menuwrap.open{
		right: 0;
	}
	#responsive-menuwrap > div{/*スクロールバーなしでスクロールさせる記述*/
		position: fixed;
		z-index: 999999; 
		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 rgba(255,255,255,.3);
		padding-left:1.5em;
		font-size:14px;
	}
	#responsive-menuwrap > div >ul >li:nth-of-type(n+1):nth-of-type(-n+2) {
		border:none;
	}
	#responsive-menuwrap > div >ul >li:nth-of-type(3) {
		padding-bottom:20px;
	}
	#responsive-menuwrap > div >ul h2{
		width: 100%;
		margin:20px 0 5px -1.5em;
		padding:5px 15px;
		letter-spacing:2px;
		text-indent: 5px;	
		font-size:16px;
		background:var(--maincolor);
		border-radius:0 7px 7px 0;
	}
	#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.home{
		font-size:18px;
	}

	#responsive-menuwrap > div >ul >li a.close{
		color:var(--pincolor);
	}

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

	#responsive-menuwrap > div >ul >li >ul >li:hover{
		color:var(--pincolor);
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children ul li a{
		display: flex;
		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:var(--pincolor);
	}
	/* 
		アコーディオン開閉 */
	#responsive-menuwrap > div >ul >li >ul.sub-menu{
		display:none;
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a::before,
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a::after{
		position: absolute;
		content:'';
		width: 15px;
		height: 2px;
		background-color: #fff;
		transition:all .25s;
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a::before{
		top:48%;
		right: 15px;
		transform: rotate(0deg);
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a::after{    
		top:48%;
		right: 15px;
		transform: rotate(90deg);
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a.close::before{
		transform: rotate(45deg);
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a.close::after{
		transform: rotate(-45deg);
	}
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a:hover::before,
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a:hover::after,
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a.close::before,
	#responsive-menuwrap > div >ul >li.menu-item-has-children >a.close::after{
		background-color:var(--pincolor);
	}

	/*
		ここまでハンバーガーメニュー
	============================*/

	/* お問い合わせ */
	#form_table dl {
		display: flex;
		flex-direction: column;
		padding:0;
	}
	#form_table dt,
	#form_table dd {
		width:100%;
		padding: 8px 5px;
	}
}
@media(max-width:768px){
/*
	.infotr{
		flex-direction: column;
		column-gap: 0;
		row-gap:10px;
	}
	.infotr .info_body{
		width:100%;
		font-size:14.5px;
	}
*/
	/* ===========================
		会社案内ページここから
	============================*/
	#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 15px;
	}
	#company_text dl dd{
		border-top:none;
	}
	/* ===========================
		物件一覧ページここから
	============================*/
	.order_button label {
		display: block;
		margin-bottom: 10px;
		padding:10px;
		letter-spacing: 1px;
		text-align: center;
		font-size: 15px;
		color: #fff;
		background-color: var(--maindark);
		border-radius: 25px;
		box-shadow: var(--shadow);
		cursor: pointer;
	}
	.order_button input {
		display: none;
	}
	.order_button ul {
		list-style-type: none;
		display: block;
		width: 100%;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	.order_button input + ul {
		height: 0;
		overflow: hidden;
		opacity: 0;
		transition:all .3s;
	}
	.order_button input:checked{
		color:red;
	}
	.order_button input:checked + ul {
		height: auto;
		opacity: 1;
		overflow: visible;
	}
	.order_button ul li{
		display: block;
		width:80%;
		height:36px;
		letter-spacing: 1px;
		text-align: center;
		font-size: 15px;
		margin:0 auto 10px;
	}
	.order_button button{
		height:100%;
	}
	.order_button button span{
		display: flex;
		width: 100%;
		height: 100%;
		margin-bottom: 5px;
		font-size: 15px;
		justify-content: center;
		align-items: center;
		background:#fff;/* 背景色と合わせる、これが無いと謎の黒枠が生まれる */
	}
	.order_button button span::before{
		border-radius: 25px;
	}
	.order_button button:hover{
		background-color: var(--black);
	}
	.order_button button:hover span {
		color: #fff;
	}
	.order_button .button-wrapper span{
		color: var(--maincolor);
		padding:0!important;
	}
	/* ===========================
		物件詳細ページここから
	============================*/
	.meisai-top-container{
		flex-direction: column-reverse;
	}
	.meisai_topinfo_photo,
	.meisai-topinfo-container{
		width: 100%;
	}
	#meisai_photo{
		flex-direction: row;
		flex-wrap: nowrap;
	}
	#meisai_photo p{
		width: 48%;
	}
	#meisai_photo_thumb{
		column-gap: 4%;
		padding:0;
		border-radius: 0;
	}
	#meisai_photo_thumb a{
		width: 22%;
	}
	.meisai_body tr{
		display: flex;
		flex-direction: column;
	}
	.meisai_body tr th,
	.meisai_body tr td{
		width:100%;
		text-align: center;
		min-height: 51px;
	}
	/* lightbox */
	#jquery-lightbox{
		width: 90%!important;
		left:5%!important;
	}
	#jquery-lightbox div{
		width: 100%!important;
	}
	#lightbox-container-image{
		padding:0!important;
	}
	#lightbox-image{
		width:90%!important;
		margin-top:20px;
	}
	#lightbox-container-image-data-box{
		padding:0!important;
	}
	#lightbox-container-image-data{
		padding:0!important;
	}
	#lightbox-image-details-currentNumber{
		padding-left: 1em;
	}
	#lightbox-secNav-btnClose{
		margin-right:1em;
	}
}
@media(max-width:520px){
	/* ===========================
		物件一覧ページここから
	============================*/
	div.navi{
		align-items:center;
	}
	div.navi_number{
		display: none;
	}
	div.navi_number > a:last-of-type{
		display: none;
	}
	div.navi_prev a, div.navi_next a{
		line-height:1;
	}
	div.navi_number span, div.navi_number a{
		font-size:13px;
		padding:8px 8px;
		line-height:1;
	}
	.navi_pages{
		display: block;
		color:var(--white);
		font-size:14px;
		font-family: var(--en);
		font-weight:500;
	}
	/**/
	#meisai_photo{
		flex-direction: column;
	}
	#meisai_photo p{
		width: 100%;
	}
	.meisai-topinfo-wrap dl{
		flex-direction: column;
	}
	.meisai-topinfo-wrap dl dd{
		padding-left: 2em;
	}
}
/* ===========================
	レスポンシブここまで
============================*/


