@charset "UTF-8";

/* ====================================
	共通スタイル
 ==================================== */
/*  */
article a {
	text-decoration: underline;
}

article a:hover {
	text-decoration: none;
}

.bdr-gray {
	border: solid 1px #707070;
}

.box-gray {
	background-color: #F5F4F2;
}

.color-red {
	color: #DC3C36;
}

em.marker {
	display: inline;
	background: linear-gradient(transparent 60%, #F7E7AB 60%);
	/* マーカー */
	padding: 0 0.1em;
}

hr.line-dotted {
	border-top: dotted 1px #000;
}

/* ====================================
	1023px以下専用スタイル
===================================== */
@media only screen and (max-width: 1023px) {

	/* メインセクション */
	.main-section {
		padding: 4rem 0 4rem;
	}

	.main-title {
		margin-bottom: 2rem;
		font-size: 1.8rem;
	}

	.main-text {
		font-size: 1.4rem;
		line-height: 1.8;
	}

	ul.list-pagenavi {
		margin-top: 2rem;
		font-size: 1.4rem;
	}

	ul.list-pagenavi li:first-child {
		margin-bottom: 10px;
	}

	ul.list-pagenavi a {
		display: block;
		padding: 20px 30px 20px 0;
		color: #fff;
		text-align: center;
		text-decoration: none;
		position: relative;
		background: #7B726D url(images/arrow-down.svg) no-repeat right 20px center;
		background-size: 20px auto;
	}

	ul.list-pagenavi a::before {
		content: '';
		width: 99%;
		height: 92%;
		position: absolute;
		left: 50%;
		top: 50%;
		border: dotted 1px #fff;
		transform: translate(-50%, -50%);
	}

	/* メインコラム */
	#mainColumn {
		margin-top: 4rem;
		padding: 10% 5%;
		font-size: 1.4rem;
		line-height: 1.8;
		border: dotted 1px #999;
		position: relative;
	}

	.main-col-img {
		max-width: 160px;
		margin: 0 auto;
	}

	.main-col-text {
		margin-top: 2rem;
	}

	.main-col-text .box-gray {
		margin-top: 2rem;
		padding: 5%;
	}

	.main-disc-top {
		width: 100%;
		height: 15px;
		position: absolute;
		top: 0;
		left: 0;
	}

	.main-disc-bottom {
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
	}

	.main-disc-top::before,
	.main-disc-top::after,
	.main-disc-bottom::before,
	.main-disc-bottom::after {
		content: '';
		width: 10px;
		height: 10px;
		background-color: #707070;
		position: absolute;
	}

	.main-disc-top::before {
		top: -4px;
		left: -4px;
	}

	.main-disc-top::after {
		top: -4px;
		right: -4px;
	}

	.main-disc-bottom::before {
		bottom: -4px;
		left: -4px;
	}

	.main-disc-bottom::after {
		bottom: -4px;
		right: -4px;
	}

	/* Roomclip detail */
	.room-no {
		font-weight: bold;
		color: #E03E38;
		line-height: 1;
		vertical-align: middle;
	}

	ul.list-roomclip-detail {
		display: flex;
		flex-wrap: wrap;
		font-size: 1rem;
	}

	.room-no::before {
		content: '';
		display: inline-block;
		width: 16px;
		margin-right: 5px;
		padding-top: 16px;
		background: url(images/logo-roomclip.svg) no-repeat left center;
		background-size: contain;
		vertical-align: text-bottom;
	}

	.room-logo {
		display: inline-block;
		width: 20px;
		margin-right: 10px;
	}

	.room-user {
		margin-left: 1em;
		padding-left: 1em;
		border-left: solid 1px #535353;
	}

	.room-comment {
		margin-top: .5em;
		font-size: 1.2rem;
	}

	/* サブセクション */
	.sub-section {
		padding: 3rem 0 4rem;
	}

	.sub-title-logo {
		height: 30px;
		margin-bottom: 10px;
		text-align: center;
	}

	.sub-title-logo img {
		display: inline-block;
		width: auto;
		height: 100%;
	}

	.section-header {
		margin-bottom: 4rem;
		text-align: center;
	}

	.sub-title {
		display: inline-block;
		padding: 10px 20px;
		font-size: 1.8rem;
		line-height: 1.8;
		background: url(images/kakko-left.svg) no-repeat left top, url(images/kakko-right.svg) no-repeat right bottom;
		background-size: auto 40px, auto 40px;
	}

	.text-container {
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.img-shadow {
		box-shadow: 8px 8px 0px rgba(224, 223, 221, 1);
	}

	/* 個別スタイル */
	#sub01-2 .flex-item:last-of-type {
		margin-top: 4rem;
		padding: 0 15%;
	}

	.before-after {
		text-align: center;
	}

	.before-after .flex-item {
		padding: 0 10%;
	}

	.before-after .ttl {
		font-size: 1.8rem;
		font-weight: 500;
	}

	.before-after .after {
		margin-top: 2rem;
	}

	.before-after .before .ttl {
		color: #A0A0A0;
	}

	.before-after .after .ttl {
		color: #DC3C36;
	}

	.before-after .text {
		margin-top: .5em;
		font-size: 1.2rem;
	}

	#sub02-2 {
		margin-top: 4rem;
	}

	#sub02-2 .flex-item:last-of-type {
		margin-top: 4rem;
	}

	#sub03-1 {
		margin-top: 4rem;
	}

	#sub04-1 .flex-item:last-of-type {
		margin-top: 4rem;
	}

	#sub05-1 .flex-item:last-of-type {
		margin-top: 4rem;
	}

	#sub05-2 {
		margin-top: 4rem;
	}

	#sub05-2 .flex-item:last-of-type {
		margin-top: 4rem;
	}

	/* ユーザーの声 */
	#voice {
		padding: 20vw 0 14rem;
		background-color: rgba(224, 223, 221, 1);
		position: relative;
	}

	#voice::before {
		content: '';
		width: 100%;
		height: 14vw;
		background: #fff url(images/bg-user-voice.svg) no-repeat center top;
		background-size: auto 101%;
		position: absolute;
		top: 0;
		left: 0;
	}

	.voice-content {
		padding: 4rem 5% 6rem;
		background-color: #fff;
		border-radius: 10px;
		position: relative;
	}

	.voice-title {
		margin-bottom: 4rem;
		font-size: 1.8rem;
		text-align: center;
	}

	.voice-sub-title {
		display: inline-block;
		margin: 2rem 0 3rem;
		padding: 0 20px;
		font-size: 1.8rem;
		line-height: 1.6;
		background: url(images/kakko-left.svg) no-repeat left top, url(images/kakko-right.svg) no-repeat right bottom;
		background-size: auto 30px, auto 30px;
	}

	.voice-unit {
		padding: 4rem 0;
	}

	.voice-item {
		display: flex;
		flex-direction: column-reverse;
		line-height: 2;
	}

	.voice-item .text {
		margin-top: 2rem;
		font-size: 1.3rem;
	}

	.voice-movie-text {
		margin-bottom: .5em;
	}

	/* 製品セクション */
	.product-section {
		padding: 4rem 0 4rem;
	}

	.product-title-logo {
		height: 30px;
		margin-bottom: 20px;
		text-align: center;
	}

	.product-title-logo img {
		display: inline-block;
		width: auto;
		height: 100%;
	}

	.product-header {
		margin-bottom: 3rem;
		text-align: center;
	}

	.product-title {
		font-size: 1.8rem;
	}

	.prod-item {
		display: flex;
		flex-direction: column-reverse;
	}

	.prod-img-container {
		padding: 0 15%;
	}

	.prod-text-container {
		margin-top: 2rem;
		padding: 6% 5%;
		font-size: 1.6rem;
		border: dotted 1px #707070;
		text-align: center;
	}

	.prod-ttl {
		margin-bottom: 2rem;
		padding-bottom: .5em;
		border-bottom: dotted 1px #707070;
	}

	.prod-name {
		display: inline-block;
		font-size: 2.4rem;
		font-weight: normal;
	}

	.prod-info {
		display: inline-block;
		margin-left: 1em;
	}

	#products .btn-arrow {
		margin-top: 2rem;
	}

	#products .bdr-gray {
		width: 90%;
		margin: 6rem auto 0;
	}
}

/* ====================================
	768px以上1023以下専用スタイル
===================================== */
@media screen and (min-width: 768px) and (max-width: 1023px) {

	/* Room Clipコラム */
	.roomclip-column-container {
		display: flex;
		justify-content: space-between;
		width: 600px;
	}

	.roomclip-column-item {
		width: 280px;
	}

}

/* ====================================
	1024px以上印刷専用スタイル
===================================== */
@media print,
screen and (min-width: 1024px) {

	.pc-tc {
		text-align: center;
	}

	/* メインビジュアル */
	#mainVisual {
		max-width: 1500px;
	}

	/* メインセクション */
	.main-section {
		padding: 10rem 0 10rem;
	}

	.main-title {
		margin-bottom: 8rem;
		font-size: 2.8rem;
		text-align: center;
	}

	.main-text {
		margin-bottom: 6rem;
		font-size: 1.7rem;
		line-height: 2.4;
		text-align: center;
	}

	ul.list-pagenavi {
		display: flex;
		justify-content: space-between;
		width: 620px;
		margin-bottom: 8rem;
	}

	ul.list-pagenavi li {
		width: 290px;
	}

	ul.list-pagenavi a {
		display: block;
		padding: 15px 0 25px;
		color: #fff;
		text-align: center;
		text-decoration: none;
		position: relative;
		background: #7B726D url(images/arrow-down.svg) no-repeat center bottom 6px;
	}

	ul.list-pagenavi a::before {
		content: '';
		width: 288px;
		height: 86px;
		position: absolute;
		left: 1px;
		top: 1px;
		border: dotted 1px #fff;
	}

	/* メインコラム */
	#mainColumn {
		display: flex;
		justify-content: space-between;
		padding: 30px;
		line-height: 2;
		border: dotted 1px #999;
		position: relative;
	}

	.main-col-img {
		width: 25%;
	}

	.main-col-text {
		width: 70%;
	}

	.main-col-text .box-gray {
		margin-top: 20px;
		padding: 20px;
	}

	.main-disc-top {
		width: 100%;
		height: 15px;
		position: absolute;
		top: 0;
		left: 0;
	}

	.main-disc-bottom {
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
	}

	.main-disc-top::before,
	.main-disc-top::after,
	.main-disc-bottom::before,
	.main-disc-bottom::after {
		content: '';
		width: 10px;
		height: 10px;
		background-color: #707070;
		position: absolute;
	}

	.main-disc-top::before {
		top: -4px;
		left: -4px;
	}

	.main-disc-top::after {
		top: -4px;
		right: -4px;
	}

	.main-disc-bottom::before {
		bottom: -4px;
		left: -4px;
	}

	.main-disc-bottom::after {
		bottom: -4px;
		right: -4px;
	}

	.room-no {
		font-weight: bold;
		color: #E03E38;
		line-height: 1;
		vertical-align: middle;
	}

	ul.list-roomclip-detail {
		display: flex;
		flex-wrap: wrap;
		font-size: 1.4rem;
	}

	.room-no::before {
		content: '';
		display: inline-block;
		width: 24px;
		margin-right: 10px;
		padding-top: 22px;
		background: url(images/logo-roomclip.svg) no-repeat left center;
		background-size: contain;
		vertical-align: text-bottom;
	}

	.room-logo {
		display: inline-block;
		width: 20px;
		margin-right: 10px;
	}

	.room-user {
		margin-left: 1em;
		padding-left: 1em;
		border-left: solid 1px #535353;
	}

	/* サブセクション */
	.sub-section {
		padding: 14rem 0 4rem;
	}

	.sub-title-logo {
		height: 50px;
		margin-bottom: 10px;
		text-align: center;
	}

	.sub-title-logo img {
		display: inline-block;
		width: auto;
		height: 100%;
	}

	.section-header {
		margin-bottom: 8rem;
		text-align: center;
	}

	.sub-title {
		display: inline-block;
		padding: 10px 40px;
		font-size: 3rem;
		line-height: 1.6;
		background: url(images/kakko-left.svg) no-repeat left top, url(images/kakko-right.svg) no-repeat right bottom;
		background-size: auto 40px, auto 40px;
	}

	.inbox {
		padding: 0 5%;
	}

	.text-container {
		font-size: 1.6rem;
		line-height: 2;
	}

	.img-shadow {
		box-shadow: 20px 20px 0px rgba(224, 223, 221, 1);
	}

	/* 個別スタイル */
	#sub01 {
		padding-top: 0;
	}

	#sub01-2 .flex-item {
		width: 50%;
	}

	#sub01-2 .flex-item:last-of-type {
		padding: 0 8%;
	}

	#sub02 {
		position: relative;
	}

	#sub02::before {
		content: '';
		width: 120px;
		padding-top: 140px;
		background: url(images/line01.svg) no-repeat left top;
		position: absolute;
		left: 50%;
		top: 0;
		transform: translate(-230px, 0);
	}

	.before-after {
		justify-content: space-between;
		text-align: center;
	}

	.before-after .flex-item {
		width: 49.8%;
	}

	.before-after .ttl {
		font-size: 2.8rem;
		font-weight: 500;
	}

	.before-after .before .ttl {
		color: #A0A0A0;
	}

	.before-after .after .ttl {
		color: #DC3C36;
	}

	.before-after .text {
		margin-top: .5em;
		font-size: 1.4rem;
	}

	#sub02-2 {
		margin-top: 4rem;
		justify-content: space-between;
		align-items: center;
	}

	#sub02-2 .flex-item:first-of-type {
		width: 42%;
	}

	#sub02-2 .flex-item:last-of-type {
		width: 48%;
	}

	#sub03 {
		padding-top: 16rem;
		position: relative;
	}

	#sub03::before {
		content: '';
		width: 110px;
		padding-top: 160px;
		background: url(images/line02.svg) no-repeat left top;
		position: absolute;
		left: 50%;
		top: 0;
		transform: translate(130px, 0);
	}

	#sub03 .section-header {
		margin-bottom: 4rem;
	}

	#sub03-1 {
		margin-top: 2rem;
	}

	#sub04 {
		position: relative;
	}

	#sub04::before {
		content: '';
		width: 110px;
		padding-top: 140px;
		background: url(images/line03.svg) no-repeat left top;
		position: absolute;
		left: 50%;
		top: 0;
		transform: translate(-240px, 0);
	}

	#sub04-1 {
		justify-content: space-between;
		align-items: center;
	}

	#sub04-1 .flex-item:first-of-type {
		width: 32%;
	}

	#sub04-1 .flex-item:last-of-type {
		width: 64%;
	}

	#sub05 {
		padding-top: 18rem;
		position: relative;
	}

	#sub05::before {
		content: '';
		width: 130px;
		padding-top: 170px;
		background: url(images/line04.svg) no-repeat left top;
		position: absolute;
		left: 50%;
		top: 0;
		transform: translate(140px, 0);
	}

	#sub05-1 {
		justify-content: space-between;
		align-items: center;
	}

	#sub05-1 .flex-item:first-of-type {
		width: 38%;
	}

	#sub05-1 .flex-item:last-of-type {
		width: 42%;
	}

	#sub05-2 {
		margin-top: 6rem;
		justify-content: space-between;
	}

	#sub05-2 .flex-item:first-of-type {
		width: 38%;
	}

	#sub05-2 .flex-item:last-of-type {
		width: 56%;
		padding-right: 14%;
	}

	/* ユーザーの声 */
	#voice {
		padding: 16vw 0 14rem;
		background-color: rgba(224, 223, 221, 1);
		position: relative;
	}

	#voice::before {
		content: '';
		width: 100%;
		height: 14vw;
		background: #fff url(images/bg-user-voice.svg) no-repeat center top;
		background-size: auto 101%;
		position: absolute;
		top: 0;
		left: 0;
	}

	.voice-content {
		padding: 12rem 8% 10rem;
		background-color: #fff;
		border-radius: 30px;
		position: relative;
	}

	.voice-content-disc-top {
		width: 100%;
		height: 15px;
		position: absolute;
		top: 20px;
		left: 0;
	}

	.voice-content-disc-bottom {
		width: 100%;
		position: absolute;
		bottom: 20px;
		left: 0;
	}

	.voice-content-disc-top::before,
	.voice-content-disc-top::after,
	.voice-content-disc-bottom::before,
	.voice-content-disc-bottom::after {
		content: '';
		width: 15px;
		height: 15px;
		background-color: #E0DFDD;
		border-radius: 50%;
		position: absolute;
	}

	.voice-content-disc-top::before {
		top: 0;
		left: 20px;
	}

	.voice-content-disc-top::after {
		top: 0;
		right: 20px;
	}

	.voice-content-disc-bottom::before {
		bottom: 0;
		left: 20px;
	}

	.voice-content-disc-bottom::after {
		bottom: 0;
		right: 20px;
	}

	.voice-title {
		font-size: 3rem;
		text-align: center;
	}

	.voice-sub-title {
		display: inline-block;
		margin: 2rem 0 6rem;
		padding: 0 30px;
		font-size: 3rem;
		line-height: 1.6;
		background: url(images/kakko-left.svg) no-repeat left top, url(images/kakko-right.svg) no-repeat right bottom;
		background-size: auto 40px, auto 40px;
	}

	.voice-unit {
		padding: 10rem 0;
	}

	.voice-container {
		display: flex;
		justify-content: space-between;
	}

	.voice-gallery {
		width: 45%;
	}

	.voice-item {
		display: flex;
		flex-direction: column;
		width: 50%;
		line-height: 2;
	}

	ul.slider-img-thumbs {
		min-height: 0%;
		/* IE対応 */
		width: 100%;
		margin-top: auto;
		padding-top: 4rem;
	}

	.voice-movie {
		width: 540px;
	}

	.voice-movie-text {
		margin-bottom: .5em;
	}

	/* 製品セクション */
	.product-section {
		padding: 10rem 0 8rem;
	}

	.product-title-logo {
		height: 50px;
		margin-bottom: 10px;
		text-align: center;
	}

	.product-title-logo img {
		display: inline-block;
		width: auto;
		height: 100%;
	}

	.product-header {
		text-align: center;
	}

	.product-title {
		font-size: 3rem;
	}

	.prod-item {
		margin-top: 15rem;
		padding: 50px;
		border: dotted 1px #707070;
		position: relative;
	}

	.prod-text-container {
		width: 360px;
	}

	.prod-img-container {
		width: 40%;
		position: absolute;
		right: 5%;
		top: 50%;
		transform: translate(0, -50%);
	}

	.prod-ttl {
		margin-bottom: 40px;
		padding-bottom: 10px;
		font-size: 2rem;
		border-bottom: dotted 1px #707070;
	}

	.prod-name {
		display: inline-block;
		font-size: 3.3rem;
		font-weight: normal;
	}

	.prod-info {
		display: inline-block;
		margin-left: 1em;
		font-size: 2rem;
	}

	#products .btn-arrow {
		margin-top: 40px;
		width: 170px;
	}

	#products .bdr-gray {
		margin-top: 16rem;
	}
}

/* ====================================
	1024px以上1199px以下専用スタイル
===================================== */
@media print,
screen and (min-width: 1024px) and (max-width: 1199px) {}

/* ====================================
	1200px以上専用スタイル
===================================== */
@media screen and (min-width: 1200px) {}
