@charset "UTF-8";
/*----------------------------------------

	- default setting
	- font setting
	- line-height setting
	- letter spacing
	- link setting
	- color setting
	- common setting
	- clearfix
	- header
	- content
	- footer

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

/*----------------------------------------
	default setting
-----------------------------------------*/
:root {
	/* basic color */
	--color_white: #fff;
	--color_mercury: #e8e8e8;
	--color_quill_Gray: #e8e8e8;
	--color_star_dusty: #a3a3a2;
	--color_black_chocolate: #1a1816;
	--color_paradise_pink: #e95464;
	/* Color pattern - basic color palette */
	--color_bauschampagne_gold: #aaaa88;
	--color_gray: #c8c9ca;
	/* Color pattern - basic */
	--color_baus_blue: #1BB8CE;
	--color_basic_green: #578C87;
	--color_basic_gray: #958B80;
	--color_basic_brown: #767662;
	/* Color pattern - blue */
	--color_blue01: #57C1C1;
	--color_blue02: #4790AB;
	--color_blue03: #5FA1D8;
	--color_blue04: #6680B5;
	/* Color pattern - green */
	--color_green01: #66B082;
	--color_green02: #3D7B7F;
	--color_green03: #9DC557;
	--color_green04: #00795F;
	/* Color pattern - gray */
	--color_gray01: #A3A395;
	--color_gray02: #75797C;
	--color_gray03: #869CA2;
	--color_gray04: #657C90;
	/* Color pattern - brown */
	--color_brown01: #716F55;
	--color_brown02: #474634;
	--color_brown03: #70564F;
	--color_brown04: #503C3D;
}

html {
	max-height: 100%;
	font-size: 62.5%;
}

h1,
h2,
h3,
h4,
h5,
h6,
th {
	margin: 0;
	font-size: 100%;
	font-weight: normal;
}

p,
dl,
dd,
ol,
ul,
th,
td,
figure {
	margin: 0;
	padding: 0;
}

th {
	text-align: left;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	background-color: var(--color_white);
	color: var(--color_black_chocolate);
	/* Yu Mincho - Windows用,  YuMincho - Mac用 */
	font-family: 'Yu Mincho', 'YuMincho', 'Hiragino Mincho Pro', 'MS PMincho', serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'pkna';
}

@font-face {
	font-family: 'Yu Mincho';
	src: local('Yu Mincho Demibold');
	font-weight: 500;
}

@media screen and (max-width: 414px) {
	body {
		max-width: 100%;
	}
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

em {
	font-style: normal;
	font-weight: bold;
}

li {
	list-style: none;
	vertical-align: bottom;
}

li img {
	vertical-align: top;
}

small {
	font-size: 100%;
}

/*----------------------------------------
	font-family setting
-----------------------------------------*/
.yugothic {
	font-family: 'Yu Gothic', 'YuGothic', serif;
	font-weight: 500;
}

.cgaramond {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 400;
}

.crimson {
	font-family: 'Crimson Text', serif;
	font-weight: 400;
}

/*----------------------------------------
	link setting
-----------------------------------------*/
a,
a:focus {
	outline: none;
}

a:link,
a:visited {
	text-decoration: none;
}

a:hover,
a:active {
	text-decoration: underline;
}

/*----------------------------------------
	common setting
-----------------------------------------*/
.indent01 {
	padding-left: 1em;
	text-indent: -1em;
}

/* 注意事項 米印 */
.note01 {
	position: relative;
	padding-left: 1em;
}

.note01::before {
	content: "\0203B";
	position: absolute;
	top: 0;
	left: 0;
}

/* br */
br.pc {
	display: inline;
}

br.sp {
	display: none;
}

@media screen and (max-width: 768px) {
	br.pc {
		display: none;
	}

	br.sp {
		display: inline;
	}
}

/*----------------------------------------
	animation setting
-----------------------------------------*/
@keyframes fadeIn {
	0% {
		display: none;
		opacity: 0;
	}

	1% {
		display: block;
		opacity: 0;
	}

	100% {
		display: block;
		opacity: 1;
	}
}

@keyframes fadeout {
	0% {
		display: block;
		opacity: 1;
	}

	1% {
		display: block;
		opacity: 0;
	}

	100% {
		display: none;
		opacity: 0;
	}
}

/*----------------------------------------
	clear setting
-----------------------------------------*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.clearfsize {
	font-size: 0;
	line-height: 0;
}

/*----------------------------------------
	header
-----------------------------------------*/
header {
	display: flex;
	justify-content: center;
	z-index: 1000;
	overflow: hidden;
	position: sticky;
	top: 0;
	background-color: #fff;
	transition: background-color .2s ease-in-out 0s;
}

header.scrolled {
	background-color: rgba(255, 255, 255, 0.65);
	transition: background-color .2s ease-in-out 0s;
}

.blackmode header {
	background-color: #1a1816;
}

.blackmode header.scrolled {
	background-color: rgba(26, 24, 22, 0.65);
}

header .sp {
	display: none;
}

header .pc {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 15px;
	position: relative;
	min-width: 1030px;
	width: 100%;
	margin: auto;
	padding: 0 40px 0 245px;
	box-sizing: border-box;
}

header .pc h1 {
	position: absolute;
	left: 40px;
	width: 155px;
}

/* スクロール判定 */
header .pc h1 .fullsize {
	display: block;
}

header.scrolled .pc h1 .fullsize {
	display: none;
}

header .pc h1 .shortsize {
	display: none;
}

header.scrolled .pc h1 .shortsize {
	display: block;
	animation: fadeIn 0.2s ease-out 0s forwards;
}

header .pc h1 img {
	filter: brightness(0) invert(0);
}

.blackmode header .pc h1 img {
	filter: brightness(0) invert(1);
}

@media screen and (max-width: 1400px) {
	header .pc {
		gap: 15px;
		padding: 0 40px 0 200px;
	}

	header .pc h1 {
		width: 120px;
	}
}

header .pc ul.gnav a,
header .pc ul.btns a {
	color: var(--color_black_chocolate);
	text-decoration: none;
}

header .pc ul.menu span,
header .pc ul.menu a {
	color: var(--color_black_chocolate);
}

header .pc ul.menu span {
	cursor: pointer !important;
}

.blackmode header .pc ul.gnav a,
.blackmode header .pc ul.menu a,
.blackmode header .pc ul.menu span,
.blackmode header .pc ul.btns a {
	color: var(--color_white);
}

/* gnav */
header .pc ul.gnav {
	display: grid;
	grid-template-columns: repeat(5, auto);
	gap: min(2vw, 10px);
}

header .pc ul.gnav>li {
	position: relative;
	padding: 0 1.25em;
}
header .pc ul.gnav>li a span {
	text-align: center;
}

/* 下線 */
header .pc ul.gnav>li::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0;
	background-color: var(--color_black_chocolate);
	transition: height .1s ease-out;
}

header .pc ul.gnav>li:hover::after {
	height: 5px;
	transition: height .2s ease-out;
}

.blackmode header .pc ul.gnav>li::after {
	background-color: var(--color_white);
}

/* gnavbtn */
header .pc ul.gnav>li>div.gnavbtn>a,
header .pc ul.gnav>li>a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
    height: 114px;
    padding-top: 6px;
	cursor: pointer;
	transition: height .2s ease-out .0s;
}

header.scrolled .pc ul.gnav>li>div.gnavbtn>a,
header.scrolled .pc ul.gnav>li>a {
	height: 68px;
	transition: height .2s ease-out .0s;
}

header .pc ul.gnav>li>div.gnavbtn>a::before,
header .pc ul.gnav>li>a::before {
	content: '';
	display: inline-block;
	width: 100%;
	height: 1em;
	margin-top: -1.3em;
	padding-bottom: 0.3em;
	color: var(--color_paradise_pink);
	font-size: 1.2rem;
	text-align: center;
}

header .pc ul.gnav>li>div.gnavbtn>a.new::before,
header .pc ul.gnav>li>a.new::before {
	content: 'NEW';
}

header .pc ul.gnav>li>div.gnavbtn>a.update::before,
header .pc ul.gnav>li>a.update::before {
	content: 'UPDATE';
}

header.scrolled .pc ul.gnav>li>div.gnavbtn>a::before,
header.scrolled .pc ul.gnav>li>a::before {
	margin-top: -10px;
	font-size: 1.0rem;
	font-weight: bold;
}

header .pc ul.gnav>li>div.gnavbtn span:nth-of-type(1),
header .pc ul.gnav>li a span:nth-of-type(1) {
	color: var(--color_black_chocolate);
	font-size: 1.8rem;
	word-break: keep-all;
}

header .pc ul.gnav>li>div.gnavbtn span:nth-of-type(2),
header .pc ul.gnav>li a span:nth-of-type(2) {
	color: var(--color_star_dusty);
	margin-top: 7px;
	font-size: 1.1rem;
	word-break: keep-all;
}

.blackmode header .pc ul.gnav>li>div.gnavbtn span:nth-of-type(1),
.blackmode header .pc ul.gnav>li a span:nth-of-type(1) {
	color: var(--color_white);
}

.blackmode header .pc ul.gnav>li>div.gnavbtn span:nth-of-type(2),
.blackmode header .pc ul.gnav>li a span:nth-of-type(2) {
	color: var(--color_white);
}

/* megamenu */
.megamenu {
	overflow: hidden;
	position: fixed;
	top: 120px;
	left: 0;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.9);
	transition: top .4s ease-out .35s;
}

.scrolled .megamenu {
	top: 68px;
	transition: top .4s ease-out .35s;
}

.megamenu ul {
	display: flex;
	flex-wrap: wrap;
	max-width: 1165px;
	width: 100%;
	margin: -50% auto 0;
	padding: 30px 30px 39px;
	box-sizing: border-box;
	transition: margin-top .3s ease-in;
}

.megamenu ul li {
	width: 18.55%;
}

.megamenu ul li+li {
	margin-left: 1.8125%;
}

.megamenu ul li:nth-of-type(5n+1) {
	margin-left: 0;
}

.megamenu ul li:nth-of-type(n+6) {
	margin-top: 15px;
}

.megamenu ul li a {
	display: block;
}

.megamenu ul li a>div {
	position: relative;
}

.megamenu ul li a>div::before {
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 5px 10px;
	border: 1px solid var(--color_paradise_pink);
	background-color: var(--color_paradise_pink);
	box-sizing: border-box;
	color: var(--color_white);
	font-size: 1.2rem;
	line-height: 1;
}

.megamenu ul li a.new>div::before {
	content: 'NEW';
}

.megamenu ul li a.update>div::before {
	content: 'UPDATE';
}

.megamenu ul li a>div img {
	position: relative;
	transition: filter .1s ease-in-out;
}

.megamenu ul li a:hover>div img {
	filter: brightness(120%);
	transition: filter .1s ease-in-out;
}

.megamenu ul li a>span {
	display: block;
	margin-top: 15px;
	font-size: 1.6rem !important;
	color: var(--color_black_chocolate);
}

.blackmode header .megamenu {
	background-color: rgba(26, 24, 22, 0.9);
}

.blackmode header .megamenu ul li a>span {
	color: var(--color_white);
}

header .pc ul.gnav>li:hover .gnavbtn+.megamenu ul {
	margin-top: 0;
	transition: margin-top .5s ease-out;
}

@media screen and (max-width: 1500px) {
	header .pc ul.gnav>li div.gnavbtn span:nth-of-type(1),
	header .pc ul.gnav>li a span:nth-of-type(1) {
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 1400px) {
	header .pc ul.gnav>li {
		padding: 0 0.75em;
	}

	header .pc ul.gnav>li div.gnavbtn span:nth-of-type(1),
	header .pc ul.gnav>li a span:nth-of-type(1) {
		font-size: 1.3rem;
	}

	header .pc ul.gnav>li div.gnavbtn span:nth-of-type(2),
	header .pc ul.gnav>li a span:nth-of-type(2) {
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 1300px) {
	header .pc ul.gnav>li {
		padding: 0 0.25em;
	}
}

/* menu */
header .pc ul.menu {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 14px 2px;
	min-width: 156px;
	padding-top: 8px;
}

header .pc ul.menu li span,
header .pc ul.menu li a {
	display: flex;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	word-break: keep-all;
}

header .pc ul.menu li span::before,
header .pc ul.menu li a::before {
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	background: transparent url(../svg/icon_arrow.svg) no-repeat center center;
	transform: rotateZ(-90deg);
}

.blackmode header .pc ul.menu li span::before,
.blackmode header .pc ul.menu li a::before {
	filter: brightness(0) invert(1);
}

header .pc ul.menu li a[target="_blank"]::after {
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.4em;
	background: transparent url(../svg/icon_browser.svg) no-repeat center center;
	background-size: cover;
}

.blackmode header .pc ul.menu li a[target="_blank"]::after {
	filter: brightness(0) invert(1);
}

header .pc ul.menu li span:hover {
	text-decoration: underline;
}

@media screen and (max-width: 1300px) {
	header .pc ul.menu li span,
	header .pc ul.menu li a {
		font-size: 1.1rem;
	}
}

/*@media screen and (max-width: 1200px) {
	header .pc ul.menu li span,
	header .pc ul.menu li a {
		font-size: 1.0rem;
	}
}*/

/* infomodal */
#modal-content {
	display: none;
}

#modal-content-inner {
	padding: 66px 122px;
}

#modal-content-inner p {
	font-size: 1.6rem;
}

#modal-content-inner dl {
	display: flex;
	flex-wrap: wrap;
	margin-top: -5px;
}

#modal-content-inner dl dt {
	display: flex;
	align-items: center;
	width: 18%;
	margin-top: 18px;
	font-size: 1.2rem;
}

#modal-content-inner dl dd {
	width: 82%;
	margin-top: 18px;
	font-size: 1.4rem;
	line-height: 2;
}

#modal-content-inner dl dd a {
	color: var(--color_black_chocolate);
}

#modal-content-inner dl dd a:hover {
	text-decoration: underline;
}

/* btns */
header .pc ul.btns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(2vw, 18px);
	min-width: 260px;
	width: 396px;
	margin-left: 15px;
	padding-top: 5px;
}

header .pc ul.btns li a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	position: relative;
	height: 40px;
	font-size: 1.4rem;
	word-break: keep-all;
	transition: color .2s ease-in-out;
}
@media screen and (max-width: 1550px) {
	header .pc ul.btns {
		gap: 10px;
		width: auto;
		margin-left: min(2.8vw, 25px);
	}

	header .pc ul.btns li a {
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 1400px) {
	header .pc ul.btns {
		margin-left: 5px;
	}
}

@media screen and (max-width: 1200px) {
	header .pc ul.btns {
		margin-left: 0;
	}

	header .pc ul.btns li a {
		font-size: 1.1rem !important;
	}
}

header .pc ul.btns li a::before {
	content: '';
	z-index: -1;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 5px;
	transition: height .1s ease-out;
}

header .pc ul.btns li.reservebtn a::before {
	background-color: var(--color_baus_blue);
}

header .pc ul.btns li.entrybtn a::before {
	background-color: var(--color_basic_gray);
}

header .pc ul.btns li.freebtn01 a::before {
	background-color: var(--color_basic_green);
}

.blue header .pc ul.btns li.reservebtn a::before {
	background-color: var(--color_blue01);
}

.blue header .pc ul.btns li.entrybtn a::before {
	background-color: var(--color_blue02);
}

.blue header .pc ul.btns li.freebtn01 a::before {
	background-color: var(--color_blue03);
}

.green header .pc ul.btns li.reservebtn a::before {
	background-color: var(--color_green03);
}

.green header .pc ul.btns li.entrybtn a::before {
	background-color: var(--color_green02);
}

.green header .pc ul.btns li.freebtn01 a::before {
	background-color: var(--color_green01);
}

.gray header .pc ul.btns li.reservebtn a::before {
	background-color: var(--color_gray04);
}

.gray header .pc ul.btns li.entrybtn a::before {
	background-color: var(--color_gray02);
}

.gray header .pc ul.btns li.freebtn01 a::before {
	background-color: var(--color_gray03);
}

.brown header .pc ul.btns li.reservebtn a::before {
	background-color: var(--color_brown03);
}

.brown header .pc ul.btns li.entrybtn a::before {
	background-color: var(--color_brown02);
}

.brown header .pc ul.btns li.freebtn01 a::before {
	background-color: var(--color_brown01);
}

header .pc ul.btns li a:hover {
	color: var(--color_white);
	text-decoration: none;
	transition: color .2s ease-in-out;
}

header .pc ul.btns li a:hover::before {
	height: 100%;
	transition: height .2s ease-out;
}

/* ロゴ右 */
header .pc ul+p {
	margin-left: 19px;
	padding-top: 8px;
}

.blackmode header .pc ul+p img {
	filter: brightness(0) invert(100%);
}

@media screen and (max-width: 1400px) {
	header .pc ul+p {
		width: 120px;
		margin-left: 5px;
	}
}

@media screen and (max-width: 1200px) {
	header .pc ul+p {
		display: none;
	}
}

/* SP */
@media screen and (max-width: 768px) {
	header .pc {
		display: none;
	}

	header .sp {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 76px;
		/*height: 20vw;*/
		background-color: var(--color_white);
	}

	header .sp h1 {
		width: auto;
		height: 48px;
	}

	/* ガーデン - ロゴのアイソレーション調整用 */
	header.garden .sp h1 {
		height: 56px;
	}

	header .sp h1 img {
		width: auto;
		height: 100%;
		filter: brightness(0) invert(0);
	}

	.blackmode header .sp {
		background-color: var(--color_black_chocolate);
	}

	.blackmode header .sp h1 img {
		filter: brightness(0) invert(1);
	}

	header .sp nav {
		z-index: 10000;
		position: fixed;
		bottom: 0;
		left: 0;
		width: calc(100% - 75px);
	}

	header .sp nav ul {
		display: flex;
		width: 100%;
		height: 75px;
	}

	/* div.sp nav ul のクラスは適宜変更してください。 */
	header .sp nav ul.threeitems li.reservebtn,
	header .sp nav ul.threeitems li.entrybtn,
	header .sp nav ul.threeitems li.freebtn01,
	header .sp nav ul.threeitems li.freebtn02 {
		flex-basis: 33.3333%;
	}

	header .sp nav ul.fouritems li.reservebtn,
	header .sp nav ul.fouritems li.entrybtn,
	header .sp nav ul.fouritems li.freebtn01,
	header .sp nav ul.fouritems li.freebtn02 {
		flex-basis: 25%;
	}

	header .sp nav ul li.reservebtn {
		background-color: var(--color_baus_blue);
	}

	header .sp nav ul li.entrybtn {
		background-color: var(--color_basic_gray);
	}

	header .sp nav ul li.freebtn01 {
		background-color: var(--color_basic_green);
	}

	header .sp nav ul li.freebtn02 {
		background-color: var(--color_basic_brown);
	}

	.blue header .sp nav ul li.reservebtn {
		background-color: var(--color_blue01);
	}

	.blue header .sp nav ul li.entrybtn {
		background-color: var(--color_blue02);
	}

	.blue header .sp nav ul li.freebtn01 {
		background-color: var(--color_blue03);
	}

	.blue header .sp nav ul li.freebtn02 {
		background-color: var(--color_blue04);
	}

	.green header .sp nav ul li.reservebtn {
		background-color: var(--color_green03);
	}

	.green header .sp nav ul li.entrybtn {
		background-color: var(--color_green02);
	}

	.green header .sp nav ul li.freebtn01 {
		background-color: var(--color_green01);
	}

	.green header .sp nav ul li.freebtn02 {
		background-color: var(--color_green04);
	}

	.gray header .sp nav ul li.reservebtn {
		background-color: var(--color_gray04);
	}

	.gray header .sp nav ul li.entrybtn {
		background-color: var(--color_gray02);
	}

	.gray header .sp nav ul li.freebtn01 {
		background-color: var(--color_gray03);
	}

	.gray header .sp nav ul li.freebtn02 {
		background-color: var(--color_gray01);
	}

	.brown header .sp nav ul li.reservebtn {
		background-color: var(--color_brown03);
	}

	.brown header .sp nav ul li.entrybtn {
		background-color: var(--color_brown02);
	}

	.brown header .sp nav ul li.freebtn01 {
		background-color: var(--color_brown01);
	}

	.brown header .sp nav ul li.freebtn02 {
		background-color: var(--color_brown04);
	}

	header .sp nav ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		width: 100%;
		height: 75px;
		text-decoration: none;
	}

	header .sp nav ul li a img {
		width: 35px;
		height: 35px;
	}

	header .sp nav ul li a img+span {
		display: block;
		width: 100%;
		margin-top: -10px;
		color: var(--color_white);
		font-size: 1.0rem;
		text-align: center;
	}

	/* infomodal */
	#modal-content-inner {
		padding: 10vw 10vw;
	}

	#modal-content-inner p {
		font-size: 4.26vw;
	}

	#modal-content-inner dl {
		display: block;
		margin-top: 7.2vw;
	}

	#modal-content-inner dl dt {
		display: block;
		width: 18%;
		margin-top: 0;
		font-size: 3.2vw;
	}

	#modal-content-inner dl dd {
		width: 100%;
		margin-top: 0.66vw;
		font-size: 3.73vw;
	}

	#modal-content-inner dl dd+dt {
		margin-top: 4.8vw;
	}

	/* 来場予約 */
	header .sp nav ul li.reservebtn a img {
		margin-top: 0;
	}

	/* 物件エントリー */
	header .sp nav ul li.entrybtn a img {
		margin-top: 0;
	}

	/* 限定コンテンツ */
	header .sp nav ul li.limitedbtn a img {
		margin-top: 3px;
	}

	header .sp nav ul li.limitedbtn a img+span {
		margin-top: -8px;
	}

	/* 物件エントリーとは */
	header .sp nav ul li.aboutentrybtn a img {
		margin-top: 3px;
	}

	header .sp nav ul li.aboutentrybtn a img+span {
		margin-top: -8px;
	}

	/* オンライン商談 */
	header .sp nav ul li.onlinebtn a img {
		margin-top: 3px;
	}

	header .sp nav ul li.onlinebtn a img+span {
		margin-top: -8px;
	}

	/* 現地案内図 */
	header .sp nav ul li.mapbtn a img {
		margin-top: 0;
	}

	/* 電話問合わせ */
	header .sp nav ul li.contactbtn a img {
		margin-top: 0;
	}

	/* 物件概要 */
	header .sp nav ul li.outlinebtn a img {
		margin-top: 0;
	}

	header .sp nav ul li a img+span span {
		display: block;
	}

	/* ハンバーガーメニュー */
	input#header_menu_check {
		display: none;
	}

	header .sp .menubtn {
		z-index: 10001;
		position: fixed;
		right: 0;
		bottom: 0;
		flex-basis: 75px;
		flex-shrink: 0;
	}

	header .sp .menubtn div {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		width: 75px;
		height: 75px;
		background-color: var(--color_white);
		cursor: pointer;
	}

	.blackmode header .sp .menubtn div {
		background-color: var(--color_black_chocolate);
	}

	header .sp .menubtn img {
		width: 35px;
		height: 35px;
		margin-top: 15px;
	}

	header .sp .menubtn img+span {
		width: 100%;
		margin: -10px auto 0;
		color: var(--color_black_chocolate);
		font-size: 1.1rem;
		text-align: center;
	}

	.blackmode header .sp .menubtn img {
		filter: brightness(0) invert(1);
	}

	.blackmode header .sp .menubtn img+span {
		color: var(--color_white);
	}

	.header_sp>input#header_menu_check+.menubtn img:nth-of-type(1) {
		display: block;
	}

	.header_sp>input#header_menu_check+.menubtn img:nth-of-type(2) {
		display: none;
	}

	.header_sp>input#header_menu_check:checked+.menubtn img:nth-of-type(1) {
		display: none;
	}

	.header_sp>input#header_menu_check:checked+.menubtn img:nth-of-type(2) {
		display: block;
	}

	.header_menu {
		overflow-y: scroll;
		/* firefox */
		z-index: 999;
		display: none;
		position: fixed;
		top: 76px;
		left: 0;
		width: 100%;
		height: calc(100vh - 76px - 75px);
		padding: 5.3vw;
		box-sizing: border-box;
		background-color: rgba(255, 255, 255, 0.9);
	}

	.blackmode header .header_menu {
		background-color: rgba(26, 24, 22, 0.7);
	}

	input#header_menu_check:checked~.header_menu {
		display: block;
		animation: fadeIn 0.2s ease-out 0s forwards;
	}

	/*.header_menu_01 */
	.header_menu_01 li a {
		display: flex;
		align-items: center;
		padding: 5vw 6.6vw 5vw 0;
		border-bottom: 1px solid #d1d1d0;
		text-decoration: none;
		cursor: pointer;
	}

	.header_menu_01 li label {
		display: flex;
		align-items: center;
		padding: 5vw 6.6vw 5vw 0;
		border-bottom: 1px solid #d1d1d0;
		text-decoration: none;
		cursor: pointer;
	}

	.header_menu_01 li a::before,
	.header_menu_01 li label::before {
		display: inline-block;
		min-width: 14vw;
		width: auto;
		margin-right: 5vw;
		color: var(--color_paradise_pink);
		font-size: 3.2vw;
	}

	.header_menu_01 li a.new::before,
	.header_menu_01 li label.new::before {
		content: 'NEW';
	}

	.header_menu_01 li a.update::before,
	.header_menu_01 li label.update::before {
		content: 'UPDATE';
	}

	.header_menu_01 li a span:nth-of-type(1),
	.header_menu_01 li label span:nth-of-type(1) {
		color: var(--color_black_chocolate);
		font-size: 4.8vw;
	}

	.header_menu_01 li a span:nth-of-type(2),
	.header_menu_01 li label span:nth-of-type(2) {
		margin-left: 5.8vw;
		color: var(--color_black_chocolate);
		font-size: 2.93vw;
	}

	.blackmode header .header_menu_01 li a span:nth-of-type(1),
	.blackmode header .header_menu_01 li label span:nth-of-type(1) {
		color: var(--color_white);
	}

	.blackmode header .header_menu_01 li a span:nth-of-type(2),
	.blackmode header .header_menu_01 li label span:nth-of-type(2) {
		color: var(--color_white);
	}

	/* 第二回層メニュー */
	input.level1btn {
		display: none;
	}

	input.level1btn~ul {
		overflow: hidden;
		max-height: 0;
		background-color: rgba(255, 255, 255, 0.6);
		transition: max-height .3s ease-out;
	}

	input.level1btn~ul li a {
		display: block;
		margin: 0 5.6vw;
		padding: 4.8vw 0;
		border-bottom: 1px solid #d1d1d0;
		background: none;
		color: var(--color_black_chocolate);
		font-size: 3.73vw;
	}

	.blackmode header input.level1btn~ul {
		background-color: rgba(26, 24, 22, 0.7);
	}

	.blackmode header input.level1btn~ul li a {
		border-bottom: 1px solid #d1d1d0;
		color: var(--color_white);
	}

	input.level1btn~ul li:last-child a {
		border-bottom: none;
	}

	/* level1展開 */
	input.level1btn:checked~ul {
		/*defailt.css, input.level1btn:checked~ul の
		max-height は、アコーディオン内のメニューの個数に応じて調整してください。
		メニューが増えすぎる、または少なすぎるとアニメーションスピードの違和感や見切れる原因になります。*/
		max-height: 100vh;
		transition: max-height .5s ease-out;
	}

	input.level1btn+label {
		background: url(../svg/icon_plus.svg) no-repeat right center;
		background-size: 5vw 5vw;
	}

	input.level1btn:checked+label {
		background: url(../svg/icon_minus.svg) no-repeat right center;
		background-size: 5vw 5vw;
	}

	.blackmode header input.level1btn+label {
		background: url(../svg/icon_plus_white.svg) no-repeat right center;
		background-size: 5vw 5vw;
	}

	.blackmode header input.level1btn:checked+label {
		background: url(../svg/icon_minus_white.svg) no-repeat right center;
		background-size: 5vw 5vw;
	}

	/*.header_menu_02 */
	ul.header_menu_02 {
		display: grid;
		grid-template-columns: auto auto;
		grid-template-rows: 1fr 1fr;
		justify-content: start;
		gap: 9vw 3.5vw;
		width: 70%;
		margin-top: 10.4vw;
	}

	ul.header_menu_02 li span,
	ul.header_menu_02 li a {
		display: flex;
		gap: 0.5em;
		font-size: 3.2vw;
		color: var(--color_black_chocolate);
	}

	ul.header_menu_02 li span {
		cursor: pointer;
	}

	ul.header_menu_02 li span:hover {
		text-decoration: underline;
	}

	ul.header_menu_02 li span::before,
	ul.header_menu_02 li a::before {
		content: '';
		display: inline-block;
		width: 3.2vw;
		height: 3.2vw;
		background: transparent url(../svg/icon_arrow.svg) no-repeat center center;
		background-size: 5.3vw 5.3vw;
		transform: rotateZ(-90deg);
		color: var(--color_black_chocolate);
	}

	ul.header_menu_02 li a[target="_blank"]::after {
		content: '';
		display: inline-block;
		width: 1em;
		height: 1em;
		background: transparent url(../svg/icon_browser.svg) no-repeat center center;
		background-size: cover;
	}

	.blackmode ul.header_menu_02 li a[target="_blank"]::after {
		filter: brightness(0) invert(1);
	}

	.blackmode header ul.header_menu_02 li span,
	.blackmode header ul.header_menu_02 li a {
		color: var(--color_white);
	}

	.blackmode header ul.header_menu_02 li span::before,
	.blackmode header ul.header_menu_02 li a::before {
		background-size: 5.3vw 5.3vw;
		filter: brightness(0) invert(1);
	}

	/* ロゴ */
	ul.header_menu_02+p {
		width: 37vw;
		margin: 10.4vw auto 80px;
	}

	.blackmode header ul.header_menu_02+p {
		filter: brightness(0) invert(1);
	}
}

/*----------------------------------------
	breadcrumb
-----------------------------------------*/
ol#breadcrumb {
	display: flex;
	flex-wrap: wrap;
	max-width: 1200px;
	width: 96%;
	margin: 60px auto 0;
	font-size: 1.2rem;
	line-height: 1.4;
	box-sizing: border-box;
}

ol#breadcrumb li a {
	position: relative;
	color: #a3a3a2;
}

ol#breadcrumb li a::after {
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	margin: 0 25px;
	background: transparent url(../svg/icon_arrow.svg) no-repeat center center;
	transform: rotateZ(-90deg);
}

@media screen and (min-width: 769px) and (max-width: 1279px) {
	ol#breadcrumb {
		width: calc(100% - 120px);
	}
}

@media screen and (max-width: 768px) {
	ol#breadcrumb {
		display: none;
	}
}

/*----------------------------------------
	footer
-----------------------------------------*/
footer {
	z-index: 900;
	position: relative;
	padding-top: 167px;
	background-color: var(--color_white);
}

#f_btns {
	display: flex;
	justify-content: center;
	width: 100%;
	height: 85px;
	margin: auto;
	padding: 0 60px;
	background-color: var(--color_gray);
	box-sizing: border-box;
}

#f_btns p {
	max-width: 480px;
	width: 100%;
	height: 70px;
	margin-top: -35px;
}

#f_btns p#reservebtn {
	background-color: var(--color_baus_blue);
}

#f_btns p#entrybtn {
	background-color: var(--color_basic_gray);
}

.blue #f_btns p#reservebtn {
	background-color: var(--color_blue01);
}

.blue #f_btns p#entrybtn {
	background-color: var(--color_blue02);
}

.green #f_btns p#reservebtn {
	background-color: var(--color_green03);
}

.green #f_btns p#entrybtn {
	background-color: var(--color_green02);
}

.gray #f_btns p#reservebtn {
	background-color: var(--color_gray04);
}

.gray #f_btns p#entrybtn {
	background-color: var(--color_gray02);
}

.brown #f_btns p#reservebtn {
	background-color: var(--color_brown03);
}

.brown #f_btns p#entrybtn {
	background-color: var(--color_brown02);
}

#f_btns p+p {
	margin-left: 19px;
}

#f_btns p a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 70px;
	color: var(--color_white);
	font-size: 2.0rem;
	text-decoration: none;
	transition: background-color .2s ease-out;
}

#f_btns p a:hover {
	background-color: rgba(255, 255, 255, 0.5);
}

#f_link {
	width: 100%;
	background-color: var(--color_black_chocolate);
}

#f_link ul {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	max-width: 1600px;
	width: 100%;
	margin: auto;
	padding: 7px 30px;
	box-sizing: border-box;
}

#f_link ul li+li {
	margin-left: 19px;
}

#f_link ul li a {
	display: block;
	padding: 7px 10px;
	color: var(--color_white);
	font-size: 1.2rem;
}

#f_link ul li a:hover {
	color: var(--color_white);
	text-decoration: underline;
}

#contactinfo {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 126px;
	margin: auto;
	padding: 32px 0;
	box-sizing: border-box;
	background-color: var(--color_quill_Gray);
}

#contactinfo p:nth-of-type(1) {
	font-size: 1.2rem;
	line-height: 2;
}

#contactinfo p:nth-of-type(2) {
	margin: 0 50px;
}

#contactinfo p:nth-of-type(2) a {
	font-size: 5.0rem;
	color: var(--color_black_chocolate);
	text-decoration: none;
}

#contactinfo p:nth-of-type(3) {
	font-size: 1.4rem;
	line-height: 1.55;
}

@media screen and (max-width: 850px) {
	#contactinfo p:nth-of-type(1) {
		font-size: 1.0rem;
	}

	#contactinfo p:nth-of-type(2) {
		margin: 0 30px;
		font-size: 4.0rem;
	}

	#contactinfo p:nth-of-type(3) {
		font-size: 1.2rem;
	}
}

#companylogo {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 1030px;
	width: 100%;
	margin: auto;
	padding: 17px 0 55px;
	box-sizing: border-box;
}

#companylogo li {
	margin: 0 2%;
	padding: 14px 0;
}

#companylogo li a {
	color: var(--color_black_chocolate);
}

#companylogo li a:hover {
	text-decoration: none;
}

#companylogo li a span {
	display: block;
	padding-bottom: 12px;
}

/*
companylogoの画像は、Retina対応の場合は 適宜imgタグにてサイズ指定を行ってください。
*/
#companylogo li a img {
	box-sizing: border-box;
	transition: opacity .2s ease-out;
}

#companylogo li a:hover img {
	opacity: .5;
}

/* おすすめバナー */
#recommendBanner {
	padding: 82px 30px 80px;
	background-color: #f3f5f5;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", "ヒラギノ角ゴ", "Arial", sans-serif;
}

#recommendBanner dl {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 36px 29px;
	max-width: 1000px;
	margin: auto;
}

#recommendBanner dt {
	grid-column: 1 / 4;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding-bottom: 3px;
}

#recommendBanner dt span {
	display: block;
}

#recommendBanner dt span:nth-of-type(1) {
	color: var(--color_bauschampagne_gold);
	font-size: 3rem;
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	letter-spacing: 0.035em;
}

#recommendBanner dt span:nth-of-type(2) {
	margin-top: 12px;
	font-size: 1.5rem;
}

#recommendBanner dd a {
	display: block;
	position: relative;
	background-color: #fff;
}

#recommendBanner dd a img {
	transition: 0.5s;
}

#recommendBanner dd a:hover img {
	opacity: 0.45;
}

/* SP */
@media screen and (max-width: 768px) {
	#recommendBanner {
		padding: 11.2vw 9.06vw 10.6vw;
	}

	#recommendBanner dl {
		display: block;
	}

	#recommendBanner dt span:nth-of-type(1) {
		font-size: 5vw;
		letter-spacing: 0.08em;
	}

	#recommendBanner dt span:nth-of-type(2) {
		margin-top: 2.13vw;
		font-size: 3.4vw;
	}

	#recommendBanner dd {
		margin-top: 3.2vw;
	}

	#recommendBanner dd:nth-of-type(1) {
		margin-top: 3.73vw;
	}
}

/* 物件カルーセル */
#cmnBukkenCarousel {
	padding: 82px 30px 80px;
	background-color: #fff;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", "ヒラギノ角ゴ", "Arial", sans-serif;
}

#cmnBukkenCarousel>p {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-bottom: 40px;
}

#cmnBukkenCarousel>p span {
	display: block;
}

#cmnBukkenCarousel>p span:nth-of-type(1) {
	color: var(--color_bauschampagne_gold);
	font-size: 3rem;
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	letter-spacing: 0.035em;
}

#cmnBukkenCarousel>p span:nth-of-type(2) {
	margin-top: 12px;
	font-size: 1.4rem;
}

#cmnBukkenCarousel .swiper {
	max-width: 1200px;
	margin: auto;
}

#cmnBukkenCarousel .swiper .swiper-slide {
	visibility: visible;
}

/* 初期化前は非表示にする */
#cmnBukkenCarousel .swiper:not(.swiper-initialized) .swiper-slide {
	visibility: hidden;
}

#cmnBukkenCarousel .swiper-slide a {
	display: block;
	text-decoration: none;
}

#cmnBukkenCarousel .swiper-slide a div.img {
	display: block;
	position: relative;
	overflow: hidden;
}

#cmnBukkenCarousel .swiper-slide a div.img img:empty {
	display: block;
	position: relative;
	aspect-ratio: 1 / 1;
}

#cmnBukkenCarousel .swiper-slide a div.img img:empty::after {
	content: attr(alt);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: lightgray;
	color: rgb(100, 100, 100);
	font-size: 1.6rem;
}

#cmnBukkenCarousel .swiper-slide a div.sentence {
	display: block;
	position: relative;
	margin-top: 40px;
	transition: 0.5s;
}

#cmnBukkenCarousel .swiper-slide a div.sentence p:nth-of-type(1) {
	margin-left: 0.5em;
	color: #929393;
	font-size: 1.2rem;
}

#cmnBukkenCarousel .swiper-slide a div.sentence p:nth-of-type(2) {
	margin-top: 11px;
	color: #1A1A1A;
	font-size: 2rem;
}

#cmnBukkenCarousel .swiper-slide a div.sentence p:nth-of-type(3) {
	margin-top: 14px;
	color: #1A1A1A;
	font-size: 1.4rem;
	line-height: 2;
	/*二行目以降を...で省略*/
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* hover処理 */
#cmnBukkenCarousel .swiper-slide a div.img img {
	transition: transform 1.2s cubic-bezier(0.24, 0.12, 0, 1), -webkit-transform 1.2s cubic-bezier(0.24, 0.12, 0, 1);
}

#cmnBukkenCarousel .swiper-slide a:hover div.img img {
	transform: scale(1.08);
}

#cmnBukkenCarousel .swiper-slide a:hover div.sentence {
	opacity: 0.45;
}

/* prev, next */
#cmnBukkenCarousel .swiper-button-wrap {
	display: flex;
	position: relative;
	max-width: 1200px;
	height: fit-content;
	margin: auto;
	transform: translateY(53px);
	/*pointer-events: none;*/
}

#cmnBukkenCarousel .swiper-button-wrap .swiper-button-prev,
#cmnBukkenCarousel .swiper-button-wrap .swiper-button-next {
	position: relative;
	top: unset;
	right: unset;
	bottom: unset;
	left: unset;
	width: 44px;
	height: 44px;
	margin: unset;
	border: 1px solid #D1D1D0;
	caret-color:transparent;
}

#cmnBukkenCarousel .swiper-button-wrap .swiper-button-prev::after,
#cmnBukkenCarousel .swiper-button-wrap .swiper-button-next::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 13px;
	height: 13px;
	border-top: 1px solid #D1D1D0;
	border-right: 1px solid #D1D1D0;
	transform: translate(-90%, -50%) rotate(45deg);
	transition: 0.3s;
}

#cmnBukkenCarousel .swiper-button-wrap .swiper-button-prev::after {
	transform: translate(-20%, -50%) rotate(-135deg);
}

#cmnBukkenCarousel .swiper-button-wrap .swiper-button-next {
	transform: translateX(-1px);
}

/* hover処理 */
#cmnBukkenCarousel .swiper-button-wrap .swiper-button-prev:hover,
#cmnBukkenCarousel .swiper-button-wrap .swiper-button-next:hover {
	z-index: 9999;
}

#cmnBukkenCarousel .swiper-button-wrap .swiper-button-prev:hover::after,
#cmnBukkenCarousel .swiper-button-wrap .swiper-button-next:hover::after {
	border-top: 1px solid #6E6F6F;
	border-right: 1px solid #6E6F6F;
}

/* スライドが4未満の処理 */
#cmnBukkenCarousel .swiper:not(.swiper-initialized) {
	max-width: 1040px;
}

#cmnBukkenCarousel .swiper:not(.swiper-initialized) .swiper-wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	justify-items: center;
	column-gap: 40px;
}

#cmnBukkenCarousel .swiper:not(.swiper-initialized) .swiper-wrapper .swiper-slide {
	max-width: 320px;
}

#cmnBukkenCarousel .swiper:not(.swiper-initialized)+.swiper-button-wrap {
	display: none;
}

/* スライドが3未満の処理 */
#cmnBukkenCarousel.under3 .swiper:not(.swiper-initialized) .swiper-wrapper {
	display: flex;
	justify-content: center;
	gap: 40px;
}

@media screen and (max-width: 1100px) {
	#cmnBukkenCarousel .swiper:not(.swiper-initialized) .swiper-wrapper {
		column-gap: 3.6vw;
	}
}

/* SP */
@media screen and (max-width: 768px) {
	#cmnBukkenCarousel {
		padding: 13.8vw 5.3vw 10.6vw;
	}

	#cmnBukkenCarousel>p {
		margin-bottom: 4.53vw;
	}

	#cmnBukkenCarousel>p span:nth-of-type(1) {
		font-size: 5vw;
		letter-spacing: 0.015em;
	}

	#cmnBukkenCarousel>p span:nth-of-type(2) {
		margin-top: 2.13vw;
		font-size: 3.4vw;
	}

	#cmnBukkenCarousel .swiper-slide a div.sentence {
		margin-top: 8vw;
	}

	#cmnBukkenCarousel .swiper-slide a div.sentence p:nth-of-type(1) {
		font-size: 3.2vw;
	}

	#cmnBukkenCarousel .swiper-slide a div.sentence p:nth-of-type(2) {
		margin-top: 2.13vw;
		font-size: 5.3vw;
	}

	#cmnBukkenCarousel .swiper-slide a div.sentence p:nth-of-type(3) {
		margin-top: 2.13vw;
		font-size: 3.4vw;
	}

	/* prev, next */
	#cmnBukkenCarousel .swiper-button-wrap {
		transform: translateY(2.93vw);
	}

	/* スライドが4未満の処理 */
	#cmnBukkenCarousel .swiper:not(.swiper-initialized) {
		max-width: 100%;
	}

	#cmnBukkenCarousel .swiper:not(.swiper-initialized) .swiper-wrapper {
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
		gap: 4.8vw 2.4vw;
	}

	#cmnBukkenCarousel .swiper:not(.swiper-initialized) .swiper-wrapper .swiper-slide {
		max-width: 100%;
	}

	/* スライドが3未満の処理 */
	#cmnBukkenCarousel.under3 .swiper:not(.swiper-initialized) .swiper-wrapper {
		display: flex;
		justify-content: center;
		gap: 3.6vw;
	}

	#cmnBukkenCarousel.under3 .swiper:not(.swiper-initialized) .swiper-wrapper .swiper-slide {
		width: calc((100% - 3.6vw) / 2);
	}

	/* スライドが2未満の処理 */
	#cmnBukkenCarousel.under2 .swiper:not(.swiper-initialized) .swiper-wrapper {
		display: block;
		max-width: 490px;
		margin: auto;
	}

	#cmnBukkenCarousel.under2 .swiper:not(.swiper-initialized) .swiper-wrapper .swiper-slide {
		width: 100%;
	}
}
@media screen and (max-width: 600px) {
	/* スライドが4未満の処理 */
	#cmnBukkenCarousel .swiper:not(.swiper-initialized) {
		max-width: 490px;
	}

	/* スライドが3未満の処理 */
	#cmnBukkenCarousel.under3 .swiper:not(.swiper-initialized) .swiper-wrapper {
		flex-direction: column;
		max-width: 490px;
		margin: auto;
	}

	#cmnBukkenCarousel.under3 .swiper:not(.swiper-initialized) .swiper-wrapper .swiper-slide {
		width: 100%;
	}
}



.logo_nittochi {
	width: 300px;
	margin-top: 3px;
}
.logo_haseko_urbest {
	width: 271px;
}


/*
SPでのみ改行したい場合は<br class="sp">
逆にPCでのみ改行したい場合は<br class="pc"> を使用してください
*/
#ftxt {
	width: 90%;
	margin: 53px auto 0;
	padding: 0 40px;
	font-size: 1.0rem;
	text-align: center;
}

#ftxt .splitline {
	display: inline;
}

#copyright {
	width: 90%;
	margin: auto;
	padding: 12px 0 60px;
	font-size: 1.2rem;
	text-align: center;
}

.scrolltop {
	z-index: 10;
	position: absolute;
	right: 30px;
	bottom: 20px;
	width: 50px;
	height: 50px;
	border: 1px solid var(--color_black_chocolate);
	background: var(--color_white) url(../svg/icon_arrow.svg) no-repeat center center;
	background-size: 110%;
	box-sizing: border-box;
	transform: rotateZ(180deg);
	transition: opacity .2s ease-out;
	cursor: pointer;
	caret-color:transparent;
}

.scrolltop:hover {
	opacity: .5;
}

@media screen and (max-width: 768px) {
	footer {
		min-width: 100%;
		width: 100%;
		padding-top: 26vw;
		padding-bottom: 160px;
	}

	#f_btns {
		display: flex;
		justify-content: center;
		max-width: 1600px;
		height: 16vw;
		margin: auto;
		padding: 0 5.4vw;
		box-sizing: border-box;
		background-color: var(--color_gray);
	}

	#f_btns p {
		max-width: 480px;
		width: 100%;
		height: 11.2vw;
		margin-top: -5.86vw;
	}

	#f_btns p+p {
		margin-left: 19px;
	}

	#f_btns p a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 11.2vw;
		color: var(--color_white);
		font-size: 3.73vw;
		text-decoration: none;
		transition: background-color .2s ease-out;
	}

	#f_btns p a:hover {
		background-color: rgba(255, 255, 255, 0.5);
	}

	#f_link {
		display: none;
	}

	#contactinfo {
		display: block;
		width: 100%;
		height: 53.2vw;
		margin: auto;
		padding: 6.5vw 0;
		box-sizing: border-box;
		background-color: var(--color_quill_Gray);
	}

	#contactinfo p:nth-of-type(1) {
		font-size: 3.2vw;
		text-align: center;
		line-height: 2;
	}

	#contactinfo p:nth-of-type(2) {
		margin: 0;
		text-align: center;
	}

	#contactinfo p:nth-of-type(2) a {
		font-size: 13.3vw;
		color: var(--color_black_chocolate);
		text-decoration: none;
	}

	#contactinfo p:nth-of-type(3) {
		margin-top: 3.8vw;
		font-size: 3.2vw;
		line-height: 1.55;
		text-align: center;
	}

	#companylogo {
		justify-content: center;
		flex-wrap: wrap;
		width: 93%;
		margin: auto;
		padding: 8.1vw 0;
		box-sizing: border-box;
	}

	#companylogo li {
		flex-basis: initial;
		margin: 0 2.7vw;
		padding: 3.73vw 0;
	}

	#companylogo li:nth-of-type(1) {
		margin-right: 2%;
	}

	#companylogo li a {
		display: block;
		color: var(--color_black_chocolate);
	}

	#companylogo li a:hover {
		text-decoration: none;
	}

	#companylogo li a img {
		transition: opacity .2s ease-out;
	}

	#companylogo li a:hover img,
	#companylogo li a:active img {
		opacity: 1;
	}
	.logo_nittochi {
		width: 260px;
		margin: 3px;
	}
	.logo_haseko_urbest {
		width: 238px;
	}

	#ftxt {
		margin-top: 13.6vw;
		padding: 0;
		font-size: 2.6vw;
		line-height: 1.5;
	}

	#ftxt .splitline {
		display: none;
	}

	#copyright {
		padding: 3.2vw 0 0;
		font-size: 3.2vw;
	}

	.scrolltop {
		right: 5.3vw;
		bottom: 95px;
		width: 40px;
		height: 40px;
	}
}