@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

html { margin-top: 0 !important; }
body {
	background: #fff;
	text-align: center;
}
main { padding-top: 12.1vw; }
* {
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 3.5vw;
}
a {
	text-decoration: none;
	color: #fff;
	display: block;
	font-size: 3vw;
}
a:hover {
	transition-duration: .7s;/*要素が変化するまでの時間を指定*/
	transition-delay: .1s;/*例：hoverして1秒後に変化する*/
}
h1 { font-size: 3vw; }
h2 {
	font-size: 5vw;
	text-align: center;
}
h3 {
	font-size: 4vw;
	text-align: center;
}
h4 { font-size: 3.5vw; }
p { font-size: 3vw; }
.fc_b { color: #4398cf; }
.fc_r { color: #cb443a; }

.ta_c { text-align: center; }
.ta_l { text-align: left; }
.ta_r { text-align: right; }

.mg_30 { margin: 3vw auto; }

.pc-only { display: none; }
.sp-only { display: block; }

.grid_4 {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.sp_grid_2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.ichiran_button { text-align: center; }
.ichiran_button .button {
	padding: 1vw 3vw;
	background: #f39800;
	font-size: 3vw;
	color: #fff;
	border: none;
	border-radius: 8px;
	border-bottom: solid 2px #d27d00;/*少し濃い目の色に*/
	box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
	font-weight: bold;
	width: 31vw;
	margin: 0 auto;
}
.ichiran_button .button::after {
	content: ">";
	padding-left: 1vw;
}
.ichiran_button .button:active {
	border-bottom: solid 2px #fd9535;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
}

/* 子ページ */
.page_top {
	/* background: #ccc; */
	background-image: url("https://risestyle-reform.com/wp-content/uploads/2025/01/title_back-scaled.webp");
	background-position: center center;
	background-size: cover;
	height: 30vw;
	display: flex;
	align-items: center;
	justify-content: space-around;
}
.page_top::before {
	content: "";
    position: absolute;
    top: 11vw;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.2);
	height: 30vw;
}
.page_top .page_name { z-index: 1; }
.page_top .page_name .page_title {
	color: #fff;
	font-size: 6vw;
}

@media screen and (min-width: 768px) {
	main { padding-top: 12.1rem; }
	* { font-size: .9rem; }
	a { font-size: 1.1rem; }
	h1 { font-size: 1rem; }
	h2 { font-size: 1.3rem; }
	h3 { font-size: 1.2rem; }
	h4 { font-size: 1.1rem; }
	p { font-size: 1.1rem; }

	.mg_30 { margin: 3rem auto; }

	.pc-only { display: block; }
	.sp-only { display: none; }

	.grid_2 {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	.grid_3 {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
	}
	.grid_4 { grid-template-columns: 1fr 1fr 1fr 1fr; }
	.sp_grid_2 { display: block; }

	.ichiran_button .button {
		padding: .5rem 3rem;
		font-size: 1.3rem;
		width: 20rem;
	}
	.ichiran_button .button::after { padding-left: 1rem; }

	/* 子ページ */
	.page_top { height: 16rem; }
	.page_top::before {
		height: 16rem;
		top: 8.4rem;
	}
	.page_top .page_name .page_title { font-size: 2.5rem; }
}


.recruit_bg {
	background-image: url(https://risestyle-reform.com/wp-content/uploads/2025/01/recruit_img-scaled.webp);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: 48vw;
	position: relative;
	color: #fff;
}
.recruit_bg::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.5);
}
.recruit_bg .recruit_bg_inner {
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.recruit_bg p {
	font-size: 2vw;
	margin: 3vw auto;
}
@media screen and (min-width: 768px) {
	.recruit_bg { height: 280px; }
	.recruit_bg h3 { font-size: 1.25rem; }
	.recruit_bg p {
		font-size: 1.1rem;
		margin: 1rem auto;
	}
}


.breadcrumb_block {
	margin: 10px auto 0;
	width: 90%;
}
.breadcrumb_block ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
}
.breadcrumb_block ul li,
.breadcrumb_block ul a,
.breadcrumb_block ul a span {
	color: #1e1e1e;
	font-size: 13px;
}
.breadcrumb_block ul li {
	padding-right: 30px;
	position: relative;
	white-space: nowrap;
}
.breadcrumb_block ul li::before {
	font-family: "fontello";
	content: "▶";
	position: absolute;
	right: 10px;
	top: .1rem;
	font-size: 13px;
}
.breadcrumb_block ul li:last-of-type::before { content: ""; }
@media screen and (min-width: 768px) {
	.breadcrumb_block {
		width: 880px;
		margin: 10px auto 0;
	}
}


.rm_page_block ul { list-style: none; }

.rm_page_block { margin: 8vw auto; }
.rm_page_block .rmp_box1 {
	width: 90vw;
	margin: 0 auto;
}
.rm_page_block .rmp_box1 .rmpb1-1,
.rm_page_block .rmp_box1 .rmpb1-3 {
	text-align: left;
}
.rm_page_block .rmp_box1 .rmpb1-2,
.rm_page_block .rmp_box1 .rmpb1-4 {
	text-align: right;
}
.rm_page_block .rmp_box1 ul li {
	display: flex;
	align-items: center;
}
.rm_page_block .rmp_box1 img {
	width: 25vw;
	margin: 0 auto;
}
.rm_page_block .rmp_box1 ul li p {
	width: 65vw;
	background: #f3f3f3;
	padding: 7vw 0;
	text-align: center;
}

.rmp_box2 {
	margin: 3vw auto 0 auto;
}
.rmp_box2 .rmp_merit {
	background: #f3f3f3;
	width: 90vw;
	margin: 0 auto;
	padding: 6vw 0 1vw 0;
}
.rm_page_block .rmp_box2 .rmp_merit .grid_2 {
	width: 80vw;
	margin: 8vw auto;
}
.rmp_box2 .rmp_merit .merit-item {
	display: flex;
	background: #fff;
}
.rmp_box2 .rmp_merit .merit-item .merit-item--number {
	width: 16vw;
	background: #f39800;
	color: #fff;
	font-weight: bold;
	position: relative;
	height: 16vw;
	display: flex;
	align-items: center;
	justify-content: space-around;
	font-size: 3vw;
	top: -3vw;
	left: -3vw;
}
.rmp_box2 .rmp_merit .merit-item p {
	padding: 3vw;
	width: 64vw;
	text-align: left;
}

.rmp_box3 .grid_3 {
	width: 90vw;
	margin: 0 auto;
}
.rmp_box3 .grid_3 .rmp3_grid1,
.rmp_box3 .grid_3 .rmp3_grid2,
.rmp_box3 .grid_3 .rmp3_grid3 {
	margin: 8vw auto;
}
.rmp_box3 .grid_3 .rmp3_gridimg {
	position: relative;
}
.rmp_box3 .grid_3 .rmp3_gridimg p {
	position: absolute;
	top: 0;
}
.rmp_box3 .grid_3 .rmp3_gridtext {
	text-align: left;
}
.rmp_box3 .grid_3 .rmp3_gridtext .rmp3_gridshohin {
	font-size: 4vw;
	font-weight: bold;
}
.rmp_box3 .grid_3 .rmp3_gridmoney {
	text-align: right;
}
.rmp_box3 .grid_3 .rmp3_gridtext ul {
	display: flex;
	flex-wrap: wrap;
}
.rmp_box3 .grid_3 .rmp3_gridtext ul li {
	padding: 0 1vw;
}

.rmp_box3 .rmp_box3-2 .grid_2 {
	width: 90vw;
	margin: 0 auto;
	border: solid 3px #f39800;
}
.rmp_box3 .rmp_box3-2 .grid_2 dt {
	background: #f39800;
	color: #fff;
	font-weight: bold;
	font-size: 3vw;
	padding: 3vw;
}
.rmp_box3 .rmp_box3-2 .grid_2 dd {
	font-size: 3vw;
	margin: auto;
	padding: 3vw;
}
@media screen and (min-width: 768px) {
	.rm_page_block { margin: 3rem auto; }
	.rm_page_block .rmp_box1 {
		width: 67rem;
	}
	.rm_page_block .rmp_box1 .grid_2 {
		grid-gap: 1rem;
	}
	.rm_page_block .rmp_box1 img {
		width: 7rem;
	}
	.rm_page_block .rmp_box1 ul li p {
		width: 26rem;
		padding: 2rem 0;
		font-size: 1rem;
	}

	.rmp_box2 {
		margin: 3rem auto 0 auto;
	}
	.rmp_box2 .rmp_merit {
		width: 100%;
		padding: 1rem 0 1rem 0;
	}
	.rm_page_block .rmp_box2 .rmp_merit .grid_2 {
		width: 65rem;
		margin: 1rem auto;
	}
	.rmp_box2 .rmp_merit .merit-item {
		margin: auto;
	}
	.rmp_box2 .rmp_merit .merit-item .merit-item--number {
		width: 6.1rem;
		height: 5.1rem;
		font-size: 1rem;
		top: -1rem;
		left: -1rem;
	}
	.rmp_box2 .rmp_merit .merit-item p {
		padding: 3rem 0;
		width: 100%;
	}

	.rmp_box3 .grid_3 {
		width: 80rem;
		margin: 3rem auto;
		grid-gap: 1rem;
	}
	.rmp_box3 .grid_3 .rmp3_grid1,
	.rmp_box3 .grid_3 .rmp3_grid2,
	.rmp_box3 .grid_3 .rmp3_grid3 {
		margin: 0 auto;
	}
	.rmp_box3 .grid_3 .rmp3_gridtext .rmp3_gridshohin {
		font-size: 1rem;
	}
	.rmp_box3 .grid_3 .rmp3_gridtext ul {
		height: 5rem;
		align-content: flex-start;
	}
	.rmp_box3 .grid_3 .rmp3_gridtext ul li {
		padding: 0 1rem;
	}
	.rmp_box3 .grid_3 .rmp3_gridtext .grid_2 p:first-child {
		color: #f39800;
	}

	.rmp_box3 .rmp_box3-2 .grid_2 {
		width: 80rem;
	}
	.rmp_box3 .rmp_box3-2 .grid_2 dt {
		font-size: 1rem;
		padding: 0;
	}
	.rmp_box3 .rmp_box3-2 .grid_2 dd {
		font-size: 1rem;
		padding: 0;
	}
}

/* 施工事例のカテゴリー(スラッグ)毎に色分けする */
.cat-badge-block {
	display: flex;
	justify-content: left;
	flex-wrap: wrap;
	gap: 4px;
}
span.reform,
span.increase-decrease,
span.house-layout {
	display: inline-block;
	font-size: 12px;
	padding: 2px 10px;
	border-radius: 50rem;
	text-decoration: none;
	color: $white;
	background: $red;
	@include mq(sm) {
		font-size: 10px;
	}
}

span.interior,
span.wallpaper,
span.floor,
span.joinery,
span.tatami,
span.fusuma,
span.shoji {
	display: inline-block;
	font-size: 12px;
	padding: 2px 10px;
	border-radius: 50rem;
	text-decoration: none;
	color: $white;
	background: $purple;
	@include mq(sm) {
		font-size: 10px;
	}
}

/* 投稿 */
.back_button {
	width: 90vw;
	margin: 0 auto;
	text-align: left;
	padding: 8vw 0;
}
.back_button a { color: #333; }
.back_button a::before {
	content: "◀";
	padding-right: 1vw;
	font-size: 2.5vw;
}
@media screen and (min-width: 768px) {
	.back_button {
		width: 80rem;
		padding: 1rem 0;
	}
	.back_button a::before {
		padding-right: 1rem;
		font-size: 1rem;
	}
}


/* 商品ページ */
main { padding-top: 16.1vw; }
.h1_box {
	position: relative;
	height: 21.5vw;
}
.h1_box h1 {
	font-size: 4.5vw;
	display: block;
	width: 100%;
	position: absolute;
	top: 6.1vw;
	text-align: right;
	z-index: 3;
	padding-right: 20vw;
}
.title_back {
	position: absolute;
	top: 0;
}

.ts_shbox_1 {
	padding: 8vw 0;
}
.ts_shbox_1 .grid_2 {
	width: 80vw;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
}
.ts_shbox_1 dl {
	display: block;
	line-height: 4vw;
	border: solid 1px #333;
}
.ts_shbox_1 dl dt {
	background: #9ec5cd;
	color: #fff;
	font-weight: bold;
	padding: 3vw;
	font-size: 3vw;
}
.ts_shbox_1 dl dd {
	padding: 3vw;
}
@media screen and (min-width: 768px) {
	main { padding-top: 11.1rem; }
	.h1_box {
		height: 8rem;
	}
	.h1_box h1 {
		font-size: 2.5rem;
        width: 80rem;
        top: 0;
        right: 0;
		text-align: right;
		padding-right: 18rem;
		position: relative;
		margin: 0 auto;
	}
	.title_back {
		width: 80rem;
		margin: 0 auto;
		position: relative;
		top: -10.3rem;
	}

	.ts_shbox_1 {
		padding: 3rem 0;
		margin-top: 3rem;
	}
	.ts_shbox_1 .grid_2 {
		width: 50rem;
	}
	.ts_shbox_1 dl {
		line-height: 1rem;
	}
	.ts_shbox_1 dl dt {
		padding: 2rem 1rem;
		font-size: 1.1rem;
	}
	.ts_shbox_1 dl dd {
		padding: 2rem;
		font-size: 1.2rem;
		background: #fff;
	}
}
