@charset "UTF-8";

hgroup
{
	margin: 0 auto;
	text-align: left;
}

hgroup p
{
	margin-bottom: 0;
}

.page-titleimg
{
	background-image: url(../img/modelroom/top.webp);
	background-position: center;
}

@media screen and (max-width:500px)
{
	.page-titleimg
	{
		background-image: url(../img/modelroom/top-sp.webp)
	}
}

.merit
{
	margin-bottom: 70px;
	margin-top: 100px;
}

.merit h2
{
	position: relative;
	width: 450px;
	height: 50px;
	margin: 0 auto 25px;
	color: var(--bl);
	font-size: 2.8rem;
	font-weight: 500;
	text-align: center;
}

.merit h2::after
{
	position: absolute;
	content: '';
	left: -20px;
	top: 49%;
	width: 40px;
	height: 1px;
	background: var(--bl);
}

.merit h2::before
{
	position: absolute;
	content: '';
	right: -20px;
	top: 49%;
	width: 40px;
	height: 1px;
	background: var(--bl);
}

.merit .cont-full
{
	width: 100%;
	background: var(--bl);
}

.merit .container
{
	max-width: 1000px
}

.merit .flex
{
	display: flex;
	justify-content: space-between;
	padding: 40px 0 50px;
}

.merit .flex section
{
	width: 31%
}
.merit .flex section img
{
	width: 100%;
	height: 198px;
	object-fit: cover;
}
.merit .num
{
	width: 52px;
	height: 52px;
	padding-top: 3px;
	margin: 0 auto;
	border: 1px solid #fff;
	color: #fff;
	border-radius: 50%;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.1
}

.merit .num span
{
	font-size: 1.1rem;
	font-weight: 400
}

.merit h3
{
	font-size: 1.5rem;
	text-align: center;
	padding: 10px 0 15px;
	color: #fff;
}

.merit h3 span
{
	color: #FFDC26;
}
@media screen and (max-width:1100px)
{
	.merit .flex section
	{
		width: 32%;
	}
}
@media screen and (max-width:999px)
{
	.merit
	{
		margin-bottom: 35px;
		margin-top: 0;
	}

	.merit .container
	{
		width: 100%;
		padding: 30px 7% 20px
	}

	.merit h2
	{
		width: 230px;
		height: 30px;
		font-size: 1.8rem;
		margin: 0 auto 15px
	}

	.merit h2::before,
	.merit h2::after
	{
		width: 20px;
	}

	.merit .flex
	{
		display: block
	}

	.merit .flex section
	{
		display: flex;
		align-items: center;
		width: 100%;
		margin-bottom: 20px
	}

	.merit .num
	{
		width: 48px;
		height: 48px;
		font-size: 1.6rem
	}

	.merit .flex section img
	{
		width: 110px;
		height:auto;
		margin-right: 10px
	}

	.merit .flex section h3.sp-none
	{
		display: none
	}

	.merit .flex section h3.pc-none
	{
		display: inline-block;
		width: calc(100% - 180px);
		font-size: 1.5rem;
		text-align: left;
		padding: 0
	}
}

.modelroom-list.container
{
	max-width: 1000px;
	margin-bottom: 100px;
}

.modelroom-list hgroup
{
	display: flex;
	align-items: center;
	width: 100%;
	margin-bottom: 15px;
}

.modelroom-list hgroup img
{
	width: 18px;
}

.modelroom-list h2
{
	position: relative;
	font-size: 2rem;
	font-weight: 500;
	color: var(--bl);
}

.modelroom-list span
{
	position: relative;
	padding-left: 50px;
	color: var(--bl);
}

.modelroom-list span:before
{
	position: absolute;
	content: '';
	top: 49%;
	left: 15px;
	width: 30px;
	height: 1px;
	background: var(--bl);
}

.modelroom-list ul
{
	display: flex;
	flex-wrap: wrap
}

.modelroom-list ul li
{
	width: 30%;
	margin-right: 5%;
	margin-bottom: 40px
}

.modelroom-list ul li:nth-child(3n)
{
	margin-right: 0
}

.modelroom-list ul li a
{
	position: relative
}

.modelroom-list .contract-end
{
	position: absolute;
	content: '';
	top: 0;
	right: 0;
	width: 80px;
	height: 30px;
	line-height: 30px;
	background-color: #000;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
	letter-spacing: .1em;
	display: block
}

.modelroom-list .contract
{
	position: absolute;
	content: '';
	top: 0;
	right: 0;
	width: 80px;
	height: 30px;
	line-height: 30px;
	background-color: #F24444;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
	letter-spacing: .1em;
	display: block
}

.modelroom-list .thumbnail
{
	margin-bottom: .5em;
	border: 1px solid #BEBEBE
}

.modelroom-list .tag_list
{
	font-size: 1.35rem;
	font-weight: 400;
	padding-bottom: 5px
}

.modelroom-list h3
{
	font-size: 1.5rem;
	line-height: 1.6
}

.modelroom-list dl
{
	display: flex;
	font-size: 1.1rem;
	color: #795624
}

.modelroom-list dt
{
	width: 6em;
	white-space: nowrap
}

.modelroom-list dd
{
	width: calc(100% - 6em)
}

@media screen and (max-width:999px)
{
	.modelroom-list.container
	{
		margin-bottom: 50px;
	}

	.modelroom-list hgroup
	{
		display: block;
	}

	.modelroom-list hgroup img
	{
		margin-bottom: 5px;
	}

	.modelroom-list h2
	{
		font-size: 1.7rem;
		display: inline;
	}

	.modelroom-list span
	{
		display: block;
	}

	.modelroom-list ul li
	{
		width: 100%;
		margin-right: 0
	}
}

#modelItem hgroup
{
	width: 100%;
}

#modelItem .head-area
{
	margin: 30px auto 30px;
	padding: 0 30px
}

#modelItem .head-area p
{
	font-size: 2rem;
	text-align: left;
	padding-bottom: 10px;
	padding-left: 38px
}

#modelItem h1
{
	font-size: 1.9rem;
	font-weight: 500;
	text-align: center;
	background: #fff;

	padding: 0;
}

#modelItem .head-area .contract
{
	display: inline-block;
	background: #000;
	color: #fff;
	font-size: 1.3rem;
	padding: 2px 10px
}

#modelItem .head-area .head-block
{
	margin: 20px 0 14px
}

#modelItem .head-area hgroup p
{
	position: relative;
	font-weight: 500
}

#modelItem .head-area hgroup p::before
{
	position: absolute;
	content: '';
	top: 49%;
	left: 0;
	width: 30px;
	height: 1px;
	background: #000
}

#modelItem .head-area .head-block dl
{
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 5px
}

#modelItem .head-area .head-block dt
{
	font-weight: 500
}

#modelItem .head-area .head-block dd
{
	margin-right: 15px
}

#modelItem .head-area .head-block dd a
{
	text-decoration: underline
}

@media screen and (max-width:999px)
{
	#modelItem .head-area
	{
		margin: 15px auto 15px;
		padding: 0
	}

	#modelItem .head-area hgroup p
	{
		padding-left: 28px;
		font-size: 1.6rem
	}

	#modelItem .head-area hgroup h1
	{
		font-size: 1.6rem;
		line-height: 1.7
	}

	#modelItem .head-area hgroup p:before
	{
		width: 20px
	}

	#modelItem .head-area .contract
	{
		font-size: 1.1rem;
		padding: 2px 10px
	}

	#modelItem .head-area .head-block
	{
		margin: 15px 0
	}

	#modelItem .head-area .head-block dl
	{
		line-height: 1.8
	}

	#modelItem .head-area .head-block dt
	{
		width: 30%
	}

	#modelItem .head-area .head-block dd
	{
		width: 60%
	}
}

#modelItem .basic-area
{
	padding-bottom: 50px;
	margin-bottom: 50px
}

#modelItem .basic-area h2
{
	position: relative;
	display: block;
	width: 5em;
	font-size: 2.2rem;
	font-weight: 500;
	color: var(--bl);
	text-align: center;
	margin: 0 auto 50px;
}

#modelItem .basic-area h2::before
{
	position: absolute;
	content: '';
	top: 49%;
	left: -30px;
	width: 30px;
	height: 1px;
	background: var(--bl);
}

#modelItem .basic-area h2::after
{
	position: absolute;
	content: '';
	top: 49%;
	right: -30px;
	width: 30px;
	height: 1px;
	background: var(--bl);
}

#modelItem .basic-area h3
{
	display: flex;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 500;
	margin-bottom: 15px
}

#modelItem .basic-area h3 img
{
	width: 18px;
	height: 18px;
	margin-right: .5em
}

#modelItem .basic-area .basic
{
	padding: 0 30px
}

#modelItem .basic-area .basic .block
{
	width: 575px;
	margin: 0 auto
}

#modelItem .basic-area .basic .block dl
{
	display: flex;
	margin-bottom: 1em;
	font-size: 1.6rem
}

#modelItem .basic-area .basic .block dt
{
	width: 35%;
	font-weight: 500
}

#modelItem .basic-area .basic .block dd
{
	width: 65%
}

#modelItem .basic-area .basic .block dd a
{
	display: inline;
	padding-left: 1em;
	text-decoration: underline;
	color: var(--green)
}

#modelItem .basic-area .basic .btn-area
{
	text-align: center;
	margin-top: 70px
}

#modelItem .basic-area .basic .btn-area p
{
	position: relative;
	display: block;
	width: 22em;
	margin: 0 auto 1em;
	font-size: 1.6rem
}

#modelItem .basic-area .basic .btn-area p::before
{
	position: absolute;
	content: '/';
	top: 0;
	left: -1em;
	font-size: 2rem;
	transform: rotateY(180deg)
}

#modelItem .basic-area .basic .btn-area p::after
{
	position: absolute;
	content: '/';
	top: 0;
	right: -1em;
	font-size: 2rem
}

#modelItem .basic-area .basic .btn-area .btn-bk
{
	margin-top: 0
}

#modelItem .basic-area .kukaku ul
{
	display: flex
}

@media screen and (max-width:999px)
{
	#modelItem .basic-area
	{
		padding-bottom: 25px;
		margin-bottom: 0
	}

	#modelItem .basic-area h2
	{
		font-size: 2rem;
		margin-bottom: 25px
	}

	#modelItem .basic-area h3
	{
		font-size: 1.6rem
	}

	#modelItem .basic-area h3 img
	{
		width: 15px;
		height: 15px
	}

	#modelItem .basic-area .basic
	{
		padding: 0
	}

	#modelItem .basic-area .basic .btn-area p
	{
		font-size: 1.3rem;
		letter-spacing: 0
	}

	#modelItem .basic-area .btn-bk
	{
		font-size: 1.4rem
	}

	#modelItem .basic-area .btn-bk::after
	{
		width: 14px;
		height: 14px;
		background-size: cover;
		top: 35%
	}

	#modelItem .basic-area .basic .block
	{
		width: 100%
	}

	#modelItem .basic-area .basic .block dl
	{
		display: block;
		font-size: 1.4rem
	}

	#modelItem .basic-area .basic .block dt,
	#modelItem .basic-area .basic .block dd
	{
		width: 100%
	}

	#modelItem .basic-area .basic .btn-area
	{
		margin-top: 40px
	}
}

#modelItem .access
{
	padding: 20px 0 60px
}

#modelItem .access h2
{
	font-size: 2.5rem;
	font-weight: 500;
	text-align: center;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	margin-bottom: 50px
}

#modelItem .access .block
{
	display: flex;
	justify-content: space-between;
	font-size: 1.6rem;
	padding: 0 30px
}

#modelItem .access .block .map
{
	width: 40%;
	height: 250px
}

#modelItem .access .block .map iframe
{
	width: 100%;
	height: 100%
}

#modelItem .access .block .txt
{
	width: 55%;
	font-size: 1.4rem
}

#modelItem .access .block .txt .around
{
	margin-top: 20px
}

#modelItem .access .block .txt .around p
{
	line-height: 2;
	font-size: 1.4rem
}

@media screen and (max-width:999px)
{
	#modelItem .access
	{
		padding: 20px 0 15px
	}

	#modelItem .access h2
	{
		font-size: 2rem;
		margin-bottom: 25px
	}

	#modelItem .access .block
	{
		display: block;
		padding: 0
	}

	#modelItem .access .block .map
	{
		width: 100%;
		height: 180px
	}

	#modelItem .access .block .txt
	{
		width: 100%
	}

	#modelItem .access .block .txt .around p
	{
		line-height: 1.7
	}
}

#modelItem .list
{
	background: #fff;
	padding: 0 30px;
	font-size: 1.6rem;
	line-height: 1.9
}

@media screen and (max-width:999px)
{
	#modelItem .list
	{
		padding: 0;
		font-size: 1.4rem;
		line-height: 1.6;
		margin-bottom: 10px
	}
}

#modelItem .build
{
	background: #fff;
	padding: 0 30px;
}

#modelItem .build a
{
	background: var(--bl);
	padding: 0.8em 0;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
	margin-top: 1em;
}

@media screen and (max-width:999px)
{
	#modelItem .build
	{
		padding: 0;
	}

	#modelItem .build a
	{
		padding: 0.8em 0;
		font-size: 1.4rem;
		margin-top: 0;
		letter-spacing: 0;
	}
}

#modelItem .imgarea
{
	margin: 40px auto 30px;
	padding: 0 30px;
}

#modelItem .imgarea img
{
	width: 49%;
	margin-right: 2%;
}

#modelItem .imgarea p
{
	padding-top: 5px;
	padding-bottom: 5px;
}

#modelItem .imgarea img:nth-child(2n)
{
	margin-right: 0;
}

@media screen and (max-width:999px)
{
	#modelItem .imgarea
	{
		margin: 20px auto 15px;
		padding: 0;
	}
}

#modelItem .free
{
	background: #fff;
	margin: 20px auto 70px;
	padding: 0 30px;
	font-size: 1.6rem
}

#modelItem .free h2
{
	display: flex;
	border-bottom: 1px solid var(--bl);
	color: var(--bl);
	font-size: 1.8rem;
	font-weight: 500;
	justify-content: space-between;
	padding-bottom: 5px;
	padding-top: 30px;
	margin-bottom: 15px
}

#modelItem .free h3
{
	padding-top: 20px
}

#modelItem .free p
{
	font-size: 1.6rem;
	line-height: 1.9;
	padding-bottom: .5em
}

#modelItem .free a
{
	display: inline;
	color: var(--bl);
	text-decoration: underline
}

#modelItem .free li
{
	padding-bottom: 1em
}

@media screen and (max-width:999px)
{
	#modelItem .free
	{
		padding: 0;
		margin: 0 auto 35px
	}

	#modelItem .free h2
	{
		font-size: 1.7rem;
		padding-top: 15px
	}

	#modelItem .free p,
	#modelItem .free ul
	{
		line-height: 1.7;
		font-size: 1.5rem
	}
}

.swiper .swiper-slide
{
	opacity: .3;
	/* 左右のスライドを薄くする */
	/*transform: scale(.8);*/
	/* 左右のスライドを小さくする */
	/*transition: .7s;*/
	/* ゆっくり小さくさせる */
}

.swiper .swiper-slide a
{
	text-align: center;
	border: 1px solid #c9c9c9;
}

.swiper .swiper-slide img
{
	height: 380px;
	width: auto;
}

.swiper .swiper-slide-active
{
	opacity: 1;
	/* 中央のスライドは薄くしない */
	transform: scale(1);
	/* 中央のスライドは小さくしない */
	z-index: 1;
	/* 中央のスライドを一番上にする */
}

.gallery
{
	margin-bottom: 25px;
}

.swiper .swiper-slide img
{
	height: 130px;
	width: auto;
}

/*サムネイル*/
.gallery .container
{
	overflow-x: scroll;
	margin-top: 15px;
}

.swiper-container .swiper-slide
{
	padding: 0 2px;
}

.swiper-container .swiper-slide img
{
	height: 50px;
	width: 100%;
	object-fit: cover;
}

.slider-thumbnail .swiper-slide
{
	opacity: .4;
	transition: opacity .8s;
}

.slider-thumbnail .swiper-slide.swiper-slide-thumb-active
{
	opacity: 1;
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev,
.swiper-button-next
{
	height: 35px;
	width: 35px;
}

.swiper-button-prev
{
	right: auto;
	left: 7%;
}

.swiper-button-next
{
	right: 7%;
	left: auto;
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after
{
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 35px;
	margin: auto;
	width: 35px;
}

/* 前への矢印カスタマイズ */
.swiper-button-prev::after
{
	background-image: url(../img/common/arrow-slider-left.png);
}

/* 次への矢印カスタマイズ */
.swiper-button-next::after
{
	background-image: url(../img/common/arrow-slider-right.png);
}

/* 画像サイズ調整 */
.swiper-slide img
{
	height: auto;
	width: 100%;
}

@media (min-width:500px)
{
	.swiper-container .swiper-slide img
	{
		height: 60px;
	}
}

@media (min-width:737px)
{
	.gallery
	{
		margin-bottom: 50px;
	}

	.swiper .swiper-slide img
	{
		height: 380px;
		width: auto;
	}

	/* 前へ次への矢印カスタマイズ */
	.swiper-button-prev,
	.swiper-button-next
	{
		height: 42px;
		width: 42px;
	}

	.swiper-button-prev::after,
	.swiper-button-next::after
	{
		height: 42px;
		width: 42px;
	}

	.swiper-button-prev
	{
		right: auto;
		left: 15%;
	}

	.swiper-button-next
	{
		right: 15%;
		left: auto;
	}

	/*サムネイル*/
	.gallery .container
	{
		margin-top: 30px;
	}

	.swiper-container .swiper-slide
	{
		padding: 0 5px;
	}

	.swiper-container .swiper-slide img
	{
		height: 90px;
		width: 100%;
		object-fit: cover;
	}
}

@media (min-width:1600px)
{
	.swiper-slide img
	{
		height: 490px;
		width: auto;
	}
}

.modaal-wrapper .modaal-close
{
	position: absolute;
	top: -50px;
	right: 0
}

@media (min-width:737px)
{
	.modaal-wrapper .modaal-close
	{
		top: 40%;
		right: -60px
	}

	.modaal-image .modaal-container
	{
		width: 80%;
		height: auto
	}

	.modaal-image .modaal-inner-wrapper
	{
		padding-top: 150px
	}
}