@charset "UTF-8";

:root {
	--color-primary: #6A3906;
	--color-secondary: #188C00;
	--color-accent: #F8BF52;
	--color-accent02: #E1981D;
	--color-text: #282828;
	--color-primary-bg: #FFFBF2;
	--color-border-1: #D2D2D2;
	--color-border-2: #eee;
	--color-neutral: #eee;

	--fontSize: 16px;
	--font-3xs: calc(var(--fontSize) * 0.6875);/* 11px */
	--font-2xs: calc(var(--fontSize) * 0.75);/* 12px */
	--font-xs: calc(var(--fontSize) * 0.875);/* 14px */
	--font-s: calc(var(--fontSize) * 0.9375);/* 15px */
	--font-m: calc(var(--fontSize) * 1);
	--font-l: calc(var(--fontSize) * 1.125);/* 18px */
	--font-xl: calc(var(--fontSize) * 1.375);/* 22px */
	--font-2xl: calc(var(--fontSize) * 1.728);/* 24px */
	--font-3xl: calc(var(--fontSize) * 1.875);/* 30px */
	--font-4xl: calc(var(--fontSize) * 2.125);/* 34px */
}

html {
	font-size: 62.5%; /* sets the base font to 10px for easier math */
	-webkit-font-smoothing: antialiased;
}

body {
	position: relative;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
	font-weight: 400;
	line-height: 1;
	font-size: var(--font-m);
	color: #000;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media (min-width: 769px) {
	body {
		font-size: var(--font-l);
	}
}
@media (max-width: 350px) {
	body {
		font-size: var(--font-s);
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* -------------------------------------
common
----------------------------------------*/
a {
	color: inherit;
}

.cf:after {
	content: "";
	clear: both;
	display: block;
}

.ib {
	display: inline-block;
}

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

strong {
	font-weight: 600;
}

.mode_pc,
.mode_pc_ib {
	display: none;
}

.mode_sp {
	display: block;
}

.mode_sp_ib {
	display: inline-block;
}

.tel a, .mail a {
	pointer-events: auto;
	cursor: pointer;
}

.bgImage {
	width: 100%;
	max-width: auto;
	max-width: inherit;
}

.mover {
	transition: opacity 0.2s ease-out;
	backface-visibility: hidden;
	zoom: 1;
}
.mover:hover {
	opacity: 0.8;
}

.inner,
.inner02,
.spInner {
	padding: 0 4.8%;
}
.inner .inner02,
.inner02 .inner02,
.spInner .inner02 {
	padding: 0;
}
.bg {
	background-color: var(--color-primary-bg);
}

.contentWrap {
	>div:last-of-type {
		padding-bottom: 40px;
	}
}
.contentWrap .textBase {
	line-height: 1.5;
	letter-spacing: 0.05em;
}
.contentWrap .textBase + .textBase {
	padding-top: 1em;
}
.contentWrap .textBase .em {
	font-weight: 600;
	color: #564A27;
}
.contentWrap .textBase.em {
	font-weight: 600;
	color: #564A27;
}
.contentWrap .t-center {
	text-align: center;
}

@media (min-width: 768px) {
	.tel a, .mail a {
		pointer-events: none;
	}
	.inner {
		width: 90%;
		max-width: 1240px;
		margin: auto;
		padding: 0;
	}
	.inner02 {
		width: 90%;
		max-width: 1028px;
		margin: auto;
		padding: 0;
	}
	.spInner {
		padding: auto;
	}
	.anchor {
		margin-top: -65px;
		padding-top: 65px;
	}
	.contentWrap {
		padding: 70px 0 0;
		>div:last-of-type {
			padding-bottom: 120px;
		}
	}
}
@media (min-width: 1000px) {
	.mode_pc {
		display: block;
	}
	.mode_pc_ib {
		display: inline-block;
	}
	.mode_sp,
	.mode_sp_ib {
		display: none;
	}
	.contentWrap .textBase {
		line-height: 1.5;
	}
}
.linkText {
	position: relative;
	line-height: 1.5;
	display: inline-block;
	color: var(--color-secondary);
	padding-right: 48px;
	text-decoration: underline;
	a, span {
		font-weight: 600;
		font-size: var(--font-l);
	}
	&:before,
	&:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	&:before {
		width: 40px;
		height: 40px;
		border-radius: 50px;
		background-color: var(--color-secondary);
		right: 0;
	}
	&:after {
		right: 10px;
		width: 20px;
		height: 22px;
		background-image: url(../../img/v2/arrow-w.svg);
		background-size: cover;
		z-index: 3;
	}
	@media (min-width: 1000px) {
		a, span {
			font-size: var(--font-xl);
		}
	}
}
.buttonWrap {
	text-align: center;
}
/*
.button
---------------------------*/
.button {
	position: relative;
	display: inline-block;
	line-height: 1.4;
	width: 80%;
	min-width: 300px;
	padding: 0;
	zoom: 1;
	&.wide {
		text-align: center;
	}
	&.big {
		width: 100%;
		a, span, button, input {
			font-size: var(--font-xl);
		}
		&:before {
			width: 60px;
			height: 60px;
		}
		&:after {
			right: 30px;
			width: 26px;
			height: 28px;
		}
	}
	&:before,
	&:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		pointer-events: none;
	}
	&:before {
		width: 40px;
		height: 40px;
		border-radius: 50px;
		background-color: #fff;
		right: 12px;
		z-index: 2;
		border: 1px solid var(--color-secondary);
	}
	&:after {
		right: 24px;
		width: 16px;
		height: 18px;
		background-image: url(../../img/v2/arrow.svg);
		background-size: cover;
		z-index: 3;
	}
	a, span, button, input {
		display: block;
		width: 100%;
		background-color: var(--color-secondary);
		border: 1px solid var(--color-secondary);
		color: #fff;
		font-size: var(--font-l);
		font-weight: 600;
		line-height: 1.4;
		border-radius: 50px;
		text-decoration: none;
		padding: 12px 8px;
		cursor: pointer;
		transition: all 0.3s ease-out;
		&:hover {
			background-color: #fff;
			color: var(--color-primary);
		}
	}

	@media (min-width: 780px) {
		max-width: 340px;
		&.wide {
			max-width: 100%;
			width: 500px;
		}
		&.big {
			max-width: 100%;
			width: 800px;
			a, span, button, input {
				font-size: var(--font-4xl);
				padding: 20px;
			}
		}
		a, span, button, input {
			font-size: var(--font-xl);
			padding: 10px 20px;
		}
	}
	@media (max-width: 330px) {
		a, span, button, input {
			font-size: var(--font-m);
			padding: 12px;
		}
	}
}
.slick-dots {
	bottom: -15px;
}
.slick-dots li button {
	display: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 0;
	border: none;
	background-color: transparent;
}
.slick-dots li {
	background-color: #999;
	border-radius: 50px;
	width: 12px;
	height: 12px;
}
.slick-dots li.slick-active {
	background-color: var(--color-accent02);
}
/*
.mainVisualWrap
---------------------------*/
.mainVisualWrap {
	padding: 30px 0;
	border-bottom: 1px solid var(--color-border-1);
	h1 {
		color: var(--color-primary);
		font-size: var(--font-2xl);
		line-height: 1.4;
		font-weight: 600;
		>* {
			font-weight: 600;
		}
		.subTitle {
			display: block;
			color: var(--color-secondary);
			font-size: var(--font-l);
			font-weight: 600;
			padding-top: .25em;
		}
	}
	@media (min-width: 1000px) {
		padding: 60px 0;
		h1 {
			font-size: var(--font-4xl);
			.sub {
				font-size: var(--font-2xl);
			}
		}
	}
}
/*
.topic
---------------------------*/
.topic {
	text-align: left;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	padding: 10px 0;
	overflow-y: scroll;
	p {
		font-size: var(--font-s);
		white-space: nowrap;
		&+p {
			position: relative;
			padding-left: 20px;
			margin-left: 5px;
			&:before {
				position: absolute;
				left: 0;
				top: 3px;
				content: "";
				display: block;
				width: 10px;
				height: 10px;
				margin: auto;
				border: 1px solid;
				border-color: var(--color-secondary) var(--color-secondary) transparent transparent;
				transform: rotate(45deg);
				z-index: 1;
			}
		}
	}
	@media (min-width: 1000px) {
		overflow-y: auto;
		padding: 20px 0;
		p {
			font-size: var(--font-m);
		}
	}
}
/*
.tableStyleBox
---------------------------*/
.tableStyleBox {
	&.type02 {
		dl {
			border-color: var(--color-accent02);
		}
		dt {
			background-color: var(--color-accent02);
		}
	}
	&.type03 {
		dl {
			border-color: var(--color-secondary);
		}
		dt {
			background-color: var(--color-secondary);
		}
	}
	&.slimType {
		dt, dd {
			padding: 5px 10px;
		}
		dt {
			width: 45%;
			justify-content: flex-start;
		}
		dd {
			width: 55%;
			p {
				font-weight: 400;
			}
		}
	}
	dl {
		display: flex;
		border-top: 1px solid var(--color-primary);
		border-right: 1px solid var(--color-primary);
		border-bottom: 1px solid var(--color-primary);
		font-size: var(--font-m);
		&+dl {
			border-top: none;
			dt {
				border-top: 1px solid #fff;
			}
		}
	}
	dt, dd {
		line-height: 1.4;
		padding: 7px 10px;
		p {
			font-weight: 600;
		}
	}
	dt {
		width: 28%;
		display: flex;
		justify-content: center;
		align-items: center;
		white-space: nowrap;
		font-weight: 600;
		background-color: var(--color-primary);
		color: #fff;
	}
	dd {
		width: 72%;
		background-color: #fff;
		p {
			display: inline-block;
			&+p {
				padding-right: .25em;
			}
		}
	}
	@media (min-width: 768px) {
		&.slimType {
			dl {
				font-size: var(--font-l);
			}
			dt, dd {
				padding: 5px 10px;
			}
			dt {
				width: 28%;
			}
			dd {
				width: 72%;
			}
		}
		dl {
			font-size: var(--font-xl);
		}
	}
}
.star-rating-wrap {
	>div {
		height: 0;
	}
	.starratingBlock {
		height: auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	&.center {
		justify-content: center;
	}
	.star-rating {
		display: flex;
		gap: 4px;
	}
	.c-star {
		width: 30px;
		height: 30px;
		fill: #d2d2d2;
		&.active {
			fill: var(--color-accent);
		}
	}
	.rating {
		font-size: var(--font-2xl);
		font-weight: 600;
		color: var(--color-primary);
		padding-left: .5em;
	}
	.title {
		background-color: var(--color-accent02);
		color: #fff;
		font-size: var(--font-xl);
		text-align: center;
		font-weight: 600;
		padding: 7px 10px;
		margin-bottom: 10px;
		border-radius: 5px;
	}
	@media (min-width: 768px) {
		display: flex;
		align-items: center;
		.c-star {
			width: 40px;
			height: 40px;
		}
		.rating {
			font-size: var(--font-4xl);
		}
		.title {
			margin: 0 10px 0 0;
		}
	}
}
.countInformation {
	display: flex;
	padding: 10px 0 20px;
	p {
		span {
			font-weight: 600;
			padding-right: .25em;
		}
		&+p {
			padding-left: 10px;
			margin-left: 10px;
			border-left: 1px solid var(--color-border-1);
		}
	}
}
.ratingDetail {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	&.center {
		justify-content: center;
	}
	dl {
		display: flex;
		align-items: center;
		margin-bottom: 10px;
	}
	dt, dd {
		font-weight: 600;
	}
	dt {
		color: var(--color-primary);
		background-color: #fff;
		padding: 5px;
		border-radius: 5px;
		border: 1px solid var(--color-accent02);
	}
	dd {
		font-size: var(--font-l);
		padding: 0 1em 0 .5em;
	}
	@media (min-width: 768px) {
		dd {
			font-size: var(--font-xl);
		}
	}
}
.definitionBox {
	dt {
		background-color: var(--color-primary);
		color: #fff;
		text-align: center;
		font-size: var(--font-xl);
		font-weight: 600;
		padding: 10px;
		border-top-left-radius: 5px;
		border-top-right-radius: 5px;
	}
	dd {
		background-color: #fff;
		padding: 10px;
		border: 1px solid var(--color-primary);
		border-bottom-left-radius: 5px;
		border-bottom-right-radius: 5px;
		line-height: 156%;
	}
	@media (min-width: 1000px) {
		dt {
			font-size: var(--font-3xl);
			padding: 15px;
		}
		dd {
			padding: 20px;
			line-height: 156%;
		}
	}
}
.area {
	color: var(--color-primary);
	font-weight: bold;
    margin-bottom: 1rem;
}
@media (min-width: 768px) {
.area {
	color: var(--color-primary);
	font-weight: bold;
    margin-bottom: 1rem;
}}
.score-hojo {
  color: black;
  font-size: 60%;
  font-weight: bold;
}
@media (min-width: 768px) {
.score-hojo {
  color: black;
  font-size: 70%;
  font-weight: bold;
}}
.bgTitle {
	background-color: var(--color-primary);
	color: #fff;
	text-align: center;
	font-size: var(--font-xl);
	line-height: 1.4;
	font-weight: 600;
	padding: 10px;
	border-radius: 5px;
	>* {
		font-weight: 600;
	}
	&.mb {
		margin-bottom: 20px;
	}
	@media (min-width: 1000px) {
		font-size: var(--font-3xl);
		padding: 15px;
		&.mb {
			margin-bottom: 30px;
		}
	}
}
.contentWrap {
	.contentBox {
		padding: 30px 0;
		&.top {
			padding-top: 10px;
		}
	}
	@media (min-width: 1000px) {
		.contentBox {
			padding: 60px 0;
			&.top {
				padding-top: 10px;
			}
		}
	}
}
/*
.searchNav
---------------------------*/
.searchNav {
	padding-bottom: 10px;
	.searchNavInfo {
		margin: 10px 0;
		.info {
			font-size: var(--font-l);
			font-weight: 600;
			span {
				color: var(--color-secondary);
				font-size: var(--font-xl);
				font-weight: 600;
				padding-left: .5em;
			}
		}
	}
	.selectWrapper {
		position: relative;
		min-width: 200px;
	}

	.selectWrapper::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 10px;
		height: 8px;
		width: 12px;
		aspect-ratio: 1/cos(30deg);
		clip-path: polygon(0 0,100% 0, 50% 100%);
		background-color: var(--color-accent);
		content: "";
		display: block;
		margin: auto;
		pointer-events: none;
	}

	select {
		-webkit-appearance: none;
		appearance: none;
		width: 100%;
		font-size: var(--font-m);
		padding: 10px 15px;
		border: 1px solid var(--color-border-1);
		border-radius: 5px;
	}
	@media (min-width: 768px) {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: flex-end;
		padding-bottom: 15px;
		.searchNavInfo {
			margin-bottom: 0;
			.info {
				font-size: var(--font-xl);
				font-weight: 600;
				span {
					color: var(--color-secondary);
					font-size: var(--font-2xl);
					font-weight: 600;
				}
			}
		}
		.selectWrapper::after {
			right: 10px;
		}
		select {
			font-size: var(--font-l);
		}
	}
}
/*
.vendorList
---------------------------*/
.vendorList {
	.vendorBox {
		border: 2px solid var(--color-primary);
		border-radius: 5px;
		a {
			display: flex;
			flex-wrap: wrap;
			padding: 15px;
		}
		&+.vendorBox {
			margin-top: 10px;
		}
		.vendorBoxInner {
			display: contents;
			>div {
				width: 100%;
			}
		}
		.venderName {
			font-weight: 600;
			color: var(--color-primary);
			font-size: var(--font-xl);
			padding-bottom: .25em;
			.address {
				display: block;
				font-size: var(--font-l);
				font-weight: 600;
				padding-top: .5em;
			}
		}
		.logoBox {
			display: flex;
			justify-content: center;
			align-items: center;
			padding: 10px;
			margin: 15px 0;
			order: 2;
		}
		.vendorDetail {
			order: 1;
		}
		.vendorInfo {
			order: 3;
			padding-bottom: 10px;
		}
		.btn {
			text-align: center;
			order: 4;
		}
	}
	@media (min-width: 1000px) {
		.vendorBox {
			a {
				display: flex;
				justify-content: space-between;
				padding: 30px;
			}
			&+.vendorBox {
				margin-top: 20px;
			}
			.vendorBoxInner {
				display: block;
			}
			.venderName {
				font-size: var(--font-3xl);
				.address {
					font-size: var(--font-xl);
				}
			}
			.vendorBoxInner {
				width: calc(100% - 320px);
				&+.vendorBoxInner {
					width: 300px;
					display: flex;
					align-items: center;
					flex-wrap: wrap;
					>div {
						width: 100%;
					}
					.btn {
						justify-self: flex-end;
						margin-top: 20px;
					}
				}
			}
			.logoBox {
				min-height: 225px;
			}
			.vendorInfo {
				padding: 10px 0 0;
			}
		}
	}
}
.news__panel--pager {
	text-align: center;
	padding-top: 20px;
	p {
		width: auto;
		display: inline-block;
		vertical-align: middle;
		color: #999;
		margin: 0 5px;
		padding: 0;
		float: none;
		border-bottom: none;
		a {
			display: block;
			padding: 7px;
			text-decoration: none;
		}
		.current {
			display: block;
			padding: 7px;
			font-weight: 600;
			color: var(--color-primary);
			border-bottom: 1px solid var(--color-secondary);
		}
	}
	.prev,
	.next {
		margin: 0 5px;
		a {
			display: inline-block;
			width: 40px;
			height: 40px;
			background-color: var(--color-secondary);
			position: relative;
			border-radius: 50px;
			&:after {
				content: "";
				display: block;
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
				right: 0;
				width: 16px;
				height: 18px;
				background-image: url(../../img/v2/arrow-w.svg);
				background-size: cover;
				z-index: 1;
				margin: auto;
			}
		}
	}
	.prev {
		a {
			&:after {
				transform: scale(-1, 1);
			}
		}
	}
	@media (min-width: 1000px) {
		padding-top: 50px;
		.prev,
		.next {
			margin: 0 20px;
			a {
				width: 60px;
				height: 60px;
			}
		}
	}
}
.vendorMain {
	border: 2px solid var(--color-primary);
	border-radius: 5px;
	padding: 15px;
	margin-bottom: 20px;
	.venderName {
		font-weight: 600;
		font-size: var(--font-xl);
		padding-bottom: .5em;
		.address {
			display: block;
			font-size: var(--font-l);
			font-weight: 600;
			padding-top: .5em;
		}
	}
	.logoBox {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 10px;
		margin: 15px 0;
		order: 2;
	}
	.venderImage {
		padding: 15px 0;
	}
	.feature {
		padding: 0px 0 20px 0;
		.title {
			background-color: var(--color-primary);
			color: #fff;
			font-size: var(--font-l);
			font-weight: 600;
			padding: 10px;
			margin-bottom: 10px;
		}
		.read {
			font-size: var(--font-l);
			font-weight: 600;
			line-height: 1.4;
			color: var(--color-primary);
			margin-bottom: 10px;
		}
	}
	@media (min-width: 1000px) {
		padding: 30px;
		margin-bottom: 40px;
		.vendorMainTop {
			display: flex;
			justify-content: space-between;
			>div {
				width: calc(100% - 320px);
				&+div {
					width: 300px;
					display: flex;
					align-items: center;
					flex-wrap: wrap;
					>div {
						width: 100%;
					}
				}
			}
		}
		.venderName {
			font-size: var(--font-3xl);
			padding-bottom: .5em;
			.address {
				font-size: var(--font-xl);
			}
		}
		.logoBox {
			min-height: 225px;
		}
		.venderImage {
			/*display: flex;
			padding: 20px 0;
			>div {
				width: calc((100% - 40px) / 3);
				&+div {
					margin-left: 20px;
				}
			}*/

			.slick-prev,
			.slick-next {
				width: 25px;
				height: 25px;
				&:before {
					content: "";
					display: block;
					content: "";
					width: 20px;
					height: 20px;
					margin: auto;
					border: 0px;
					border-top: solid 2px var(--color-primary);
					border-right: solid 2px var(--color-primary);
					transform: rotate(45deg);
					z-index: 1;
				}
			}
			.slick-next {
				right: -20px;
			}
			.slick-prev {
				left: -20px;
				&:before {
					transform: rotate(225deg);
				}
			}
		}
		.feature {
			padding: 0px 0 30px 0;
			.title {
				font-size: var(--font-xl);
				padding: 10px;
				margin-bottom: 15px;
			}
			.read {
				font-size: var(--font-xl);
				margin-bottom: 10px;
			}
		}
	}
}

.iconBoxwrap {
	margin-top: 20px;
	.iconBox {
		text-align: center;
		background-color: #fff;
		border: 1px solid var(--color-primary);
		border-radius: 10px;
		padding: 15px;
		&+.iconBox {
			margin-top: 10px;
		}
		dt {
			color: var(--color-primary);
			font-size: var(--font-xl);
			line-height: 1.4;
			font-weight: 600;
			padding: 10px 0 10px;
		}
		.read {
			font-weight: 600;
			font-size: var(--font-l);
			line-height: 1.4;
			padding-bottom: 10px;
		}
		.icon {
			width: 60px;
		}
	}
	@media (min-width: 1000px) {
		display: flex;
		margin-top: 40px;
		.iconBox {
			width: calc((100% - 44px) / 3);
			padding: 30px;
			&+.iconBox {
				margin: 0 0 0 22px;
			}
			dt {
				font-size: var(--font-2xl);
				padding: 20px 0 10px;
			}
			.read {
				font-size: var(--font-xl);
				padding-bottom: 15px;
			}
			.icon {
				width: auto;
			}
		}
	}
}
.review {
	.reviewTop {
		text-align: center;
		padding: 15px 0;
		.star-rating-wrap {
			padding-bottom: 10px;
		}
	}
	@media (min-width: 1000px) {
		.reviewTop {
			padding: 30px 0;
			.star-rating-wrap {
				padding-bottom: 20px;
			}
		}
	}
}
/*
.reviewList
---------------------------*/
.reviewList {
	.reviewBoxWrap {
		background-color: #fff;
		border-radius: 10px;
		padding: 15px;
		filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.1));
		flex-wrap: wrap;
		margin-top: 30px;
		&+.reviewBoxWrap {
			margin-top: 55px;
		}
		&:nth-of-type(2) {
			.reviewNameWrap {
				&:after {
					background-image: url(../../img/v2/review-icon02.svg);
				}
			}
		}
		&:nth-of-type(3) {
			.reviewNameWrap {
				&:after {
					background-image: url(../../img/v2/review-icon03.svg);
				}
			}
		}
		&:nth-of-type(4) {
			.reviewNameWrap {
				&:after {
					background-image: url(../../img/v2/review-icon04.svg);
				}
			}
		}
	}
	.reviewBox {
		display: flex;
		flex-wrap: wrap;
		&+.reviewBox {
			margin-top: 10px;
		}
		.reviewBoxInner {
			display: contents;
			>div {
				width: 100%;
			}
		}
		.reviewName {
			font-weight: 600;
			color: var(--color-primary);
			font-size: var(--font-xl);
			padding-bottom: .5em;
		}
		.reviewImage {
			display: flex;
			justify-content: center;
			align-items: center;
			margin: 15px 0 0;
			order: 4;
		}
	}
	.reviewInfo {
		margin: 40px 0 10px;
	}
	.btn {
		text-align: center;
		order: 3;
		padding-top: 15px;
	}
	.reviewNameWrap {
		position: relative;
		padding: 30px 0 10px;
		&:after {
			position: absolute;
			top: -60px;
			left: 0;
			right: 0;
			content: "";
			display: block;
			width: 80px;
			height: 80px;
			background-image: url(../../img/v2/review-icon01.svg);
			background-repeat: no-repeat;
			background-position: center center;
			background-size: cover;
			margin: auto;
		}
	}
	@media (min-width: 1000px) {
		.reviewBoxWrap {
			padding: 30px;
			margin-top: 0;
			&+.reviewBoxWrap {
				margin-top: 20px;
			}
		}
		.reviewBox {
			display: flex;
			justify-content: space-between;
			&.noImage {
				display: block;
				.reviewBoxInner {
					width: 100%;
				}
			}
			.reviewName {
				font-size: var(--font-3xl);
			}
			.reviewBoxInner {
				display: block;
				width: calc(100% - 320px);
				&+.reviewBoxInner {
					width: 300px;
					display: flex;
					align-items: stretch;
					flex-wrap: wrap;
					>div {
						width: 100%;
					}
					.btn {
						justify-self: flex-end;
						margin-top: 20px;
					}
				}
			}
			.reviewImage {
				min-height: 225px;
			}
		}
		.reviewInfo {
			margin: 10px 0 0;
		}
		.reviewNameWrap {
			padding: 0 0 0 120px;
			margin-bottom: 20px;
			&:after {
				top: -25px;
				left: -20px;
				right: auto;
				width: 120px;
				height: 120px;
			}
		}

		.reviewInfo {
			margin-top: 20px;
		}
		.btn {
			padding-top: 20px;
		}
	}
}
.reviewInfo {
	position: relative;
	background-color: var(--color-primary-bg);
	border-radius: 10px;
	>div {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 40px 4vw 15px;
		&+div {
			margin-top: 15px;
		}
		.icon {
			position: absolute;
			top: -30px;
			left: 0;
			right: 0;
			margin: auto;
			width: 60px;

		}
	}
	.read {
		font-size: var(--font-xl);
		font-weight: 600;
		line-height: 1.4;
		color: var(--color-primary);
		margin-bottom: 10px;
	}
	@media (min-width: 1000px) {
		>div {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 30px;
			&+div {
				margin-top: 20px;
			}
			>div {
				width: calc(100% - 120px);
			}
			.icon {
				position: relative;
				top: auto;
				width: 100px;

			}
		}
		.read {
			font-size: var(--font-xl);
			margin-bottom: 10px;
		}
	}
}
/*
.caseStudy
---------------------------*/
.caseStudy {
	.caseStudyBox {
		display: flex;
		flex-wrap: wrap;
		border: 2px solid var(--color-secondary);
		border-radius: 5px;
		padding: 15px;
		&+.caseStudyBox {
			margin-top: 10px;
		}
		.caseStudyBoxInner {
			display: contents;
			>div {
				width: 100%;
			}
		}
		.caseStudyDetail {
			order: 1;
		}
		.caseStudyName {
			font-weight: 600;
			color: var(--color-primary);
			font-size: var(--font-xl);
		}
		.caseStudyImage {
			padding: 10px;
			order: 2;
		}
		.caseStudyInfo {
			text-align: center;
			order: 3;
			padding-bottom: 10px;
			.read {
				font-size: var(--font-l);
				font-weight: 600;
				line-height: 1.4;
				color: var(--color-secondary);
				margin-bottom: 10px;
			}
		}
		.slick-dots {
			bottom: -25px;
		}
	}
	.tableStyleBox {
		padding: 10px 0;
	}
	@media (min-width: 1000px) {
		.caseStudyBox {
			display: flex;
			justify-content: space-between;
			padding: 30px;
			&+.caseStudyBox {
				margin-top: 20px;
			}
			.caseStudyBoxInner {
				display: block;
			}
			.caseStudyName {
				font-size: var(--font-3xl);
				padding-bottom: .25em;
			}
			.caseStudyBoxInner {
				width: calc(100% - 306px);
				&+.caseStudyBoxInner {
					width: 286px;
					display: flex;
					align-items: center;
					flex-wrap: wrap;
					>div {
						width: 100%;
					}
				}
			}
			.caseStudyImage {
				min-height: 225px;
			}
			.caseStudyInfo {
				text-align: left;
				padding: 10px 0 0;
				.read {
					font-size: var(--font-xl);
					margin-bottom: 10px;
				}
			}
		}
	}
}
/*
.companyDetail
---------------------------*/
.companyDetail {
	.select {
		margin-top: 20px;
	}
	.selectList {
		.selectBox {
			position: relative;
			&+.selectBox {
				margin-top: 10px;
			}
			&:after {
				content: "";
				display: block;
				width: 50px;
				height: 50px;
				background-image: url(../../img/v2/icon01.svg);
				background-repeat: no-repeat;
				background-size: contain;
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
				margin: auto;
			}
			&:nth-of-type(2) {
				&:after {
					background-image: url(../../img/v2/icon02.svg);
				}
			}
			&:nth-of-type(3) {
				&:after {
					background-image: url(../../img/v2/icon03.svg);
				}
			}
		}
		.selectBoxInner {
			margin-left: 30px;
			background-color: #fff;
			filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.1));
			padding: 15px 15px 15px 30px;
			dt {
				color: var(--color-secondary);
				font-weight: 600;
				font-size: var(--font-xl);
				line-height: 1.4;
				padding-bottom: .5em;
			}
		}
	}
	@media (min-width: 1000px) {
		.select {
			margin-top: 40px;
		}
		.selectList {
			.selectBox {
				&+.selectBox {
					margin-top: 20px;
				}
				&:after {
					content: "";
					display: block;
					width: 100px;
					height: 100px;
				}
			}
			.selectBoxInner {
				margin-left: 50px;
				padding: 30px 30px 30px 65px;
				dt {
					font-size: var(--font-2xl);
				}
			}
		}
	}
}
.representative {
	.representativeTitle {
		display: flex;
		align-items: center;
		padding-bottom: 15px;
		.icon {
			width: 60px;
			margin-right: 15px;
		}
		.title {
			width: calc(100% - 75px);
			h3 {
				color: var(--color-secondary);
				font-weight: 600;
				font-size: var(--font-xl);
				padding-bottom: .5em;
			}
		}
	}
	.tableContent {
		border-top: 1px solid var(--color-primary);
		margin-bottom: 30px;
		&.js-scrollable {
			table {
				width: 800px;
			}
		}
		table {
			border-collapse: collapse;
			width: 100%;
		}
		th, td {
			line-height: 1.4;
			padding: 10px;
		}
		th {
			vertical-align: middle;
			text-align: left;
			background-color: var(--color-primary);
			color: #fff;
			font-weight: 600;
			width: 120px;
			border-bottom: 1px solid #fff;
		}
		td {
			width: calc((100% - 240px) / 2);
			border-bottom: 1px solid var(--color-primary);
		}
	}
	.btn {
		text-align: center;
	}
	@media (min-width: 1000px) {
		.representativeTitle {
			padding-bottom: 30px;
			.icon {
				width: 200px;
				margin-right: 30px;
			}
			.title {
				width: calc(100% - 230px);
				h3 {
					font-size: var(--font-2xl);
				}
			}
		}
		.tableContent {
			margin-bottom: 60px;
			&.js-scrollable {
				table {
					width: 100%;
				}
			}
			th, td {
				padding: 15px;
			}
			th {
				width: 160px;
			}
		}
	}
}
.reviewMainTop {
	border: 2px solid var(--color-primary);
	border-radius: 10px;
	padding: 15px;
	background-color: var(--color-primary-bg);
	>div {
		&+div {
			margin-top: 10px;
		}
	}
	.reviewName {
		vertical-align: middle;
		font-weight: 600;
		color: var(--color-primary);
		font-size: var(--font-xl);
		margin-bottom: 10px;
		>* {
			vertical-align: middle;
			font-weight: 600;
		}
		img {
			width: 40px;
			margin-right: 10px;
		}
	}
	.star-rating-wrap {
		display: block;
		text-align: center;
		.title {
			font-size: var(--font-xl);
			margin: 0 0 10px;
		}
	}
	.starratingBlock {
		margin-bottom: 10px;
	}
	@media (min-width: 1000px) {
		display: flex;
		justify-content: space-between;
		padding: 20px 30px;
		>div {
			width: calc((100% - 30px) / 2);
			&+div {
				margin-top: 20px;
			}
		}
		.reviewName {
			font-size: var(--font-3xl);
			margin-bottom: 15px;
			img {
				width: 60px;
				margin-right: 15px;
			}
		}
		.star-rating-wrap {
			.title {
				font-size: var(--font-2xl);
				margin-bottom: 30px;
			}
		}
		.starratingBlock {
			margin-bottom: 30px;
		}
		.ratingDetail {
			dl {
				margin-bottom: 15px;
			}
		}
	}
}
.reviewItem {
	padding-top: 20px;
	.bgTitle {
		margin-bottom: 10px;
	}
	.reviewItemList {
		li {
			padding: 15px 0;
			border-bottom: 1px solid var(--color-border-1);
		}
		.star-rating-wrap {
			display: block;
			text-align: center;
			padding-bottom: 5px;
			.name {
				font-weight: 600;
				color: var(--color-primary);
				font-size: var(--font-xl);
				padding-bottom: 10px;
			}
			.c-star {
				width: 25px;
				height: 25px;
			}
			.rating {
				font-size: var(--font-xl);
			}
		}
	}
	@media (min-width: 1000px) {
		padding-top: 40px;
		.reviewItemList {
			li {
				display: flex;
				align-items: center;
				padding: 15px 0;
				.star {
					width: 25%;
				}
				.text {
					width: 75%;
				}
			}
			.star-rating-wrap {
				text-align: left;
				.name {
					font-size: var(--font-2xl);
					padding-bottom: 10px;
				}
				.starratingBlock {
					justify-content: flex-start;
				}
			}
		}
	}
}
.reviewInfoList {
	margin-bottom: 30px;
	.reviewInfo {
		background-color: #fff;
		filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.1));
		&+.reviewInfo {
			margin-top: 40px;
		}
		.read {
			line-height: 1.4;
			font-size: var(--font-xl);
		}
	}
	&+.btn {
		text-align: center;
	}
	@media (min-width: 1000px) {
		margin-bottom: 60px;
		.reviewInfo {
			&+.reviewInfo {
				margin-top: 20px;
			}
			.read {
				font-size: var(--font-2xl);
			}
		}
	}
}
.review-faq {
	.btn {
		text-align: center;
	}
	.review-faq-inner {
		background-color: #fff;
		padding: 15px;
		margin-bottom: 20px;
	}
	.faqWrap {
		&+.faqWrap {
			padding-top: 10px;
		}
	}
	/*左側のコメント*/
	.balloon {
		display: flex;
		justify-content: space-between;
		width: 100%;
		margin: 10px 0;
		overflow: hidden;
	}

	.balloon .faceicon {
		float: left;
		width: 100px;
	}

	.balloon .faceicon img{
		width: 100%;
		height: auto;
		border-radius: 50%;
	}
	.balloon .chatting {
		width: calc(100% - 120px);
		text-align: left;
	}
	.says {
		margin-top: 10px;
		display: inline-block;
		position: relative;
		width: 100%;
		padding: 10px;
		border-radius: 12px;
		background: var(--color-accent);
	}

	.says:after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 20px;
		left: -19px;
		border: 8px solid transparent;
		border-right: 18px solid var(--color-accent);
		-webkit-transform: rotate(35deg);
		transform: rotate(35deg);
	}

	/*右側のコメント*/
	.mycomment {
		display: flex;
		justify-content: flex-end;
		margin: 10px 0;
	}
	.mycommentInner {
		display: inline-block;
		position: relative;
		margin: 0 10px 0 0;
		width: 90%;
		padding: 8px;
		border-radius: 12px;
		background-color: #eee;
		font-size: 15px:
	}
	.mycomment p:after {
		content: "";
		position: absolute;
		top: 3px;
		right: -19px;
		border: 8px solid transparent;
		border-left: 18px solid #eee;
		-webkit-transform: rotate(-35deg);
		transform: rotate(-35deg);
	}

	@media (min-width: 1000px) {
		.review-faq-inner {
			background-color: #fff;
			padding: 30px;
			margin-bottom: 40px;
		}
		.faqWrap {
			&+.faqWrap {
				padding-top: 10px;
			}
		}
		/*左側のコメント*/
		.balloon {
			margin: 20px 0;
		}
		.says {
			padding: 20px;
			p {
				font-size: 20px;
			}
		}

		/*右側の緑コメント*/
		.mycomment {
			margin: 20px 0;
		}
		.mycommentInner {
			padding: 20px;
			p {
				font-size: 20px;
			}
		}

	}
}

/* -------- modal -------- */

/* modalContentWrap */
.modalContentWrap {
	opacity: 0;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 100000;
	transform: translateY(100vh);
	transition: opacity 0.2s ease-out;
}
.modalContentWrap.open {
	opacity: 1;
	transform: translateY(0);
}
.modalContentWrap .bg {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.8);
}
.modalContentWrap .modalContent {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
	height: 100%;
}

.modalContentWrap .slideWrap {
	position: relative;
	.closeBtn {
		position: absolute;
		color: #fff;
		z-index: 10;
		cursor: pointer;
		top: -40px;
		right: 0;
		width: 30px;
		height: 30px;
		cursor: pointer;
		pointer-events: none;
		&:before,
		&:after {
			content: "";
			display: block;
			position: absolute;
			top: 20px;
			right: 0;
			width: 30px;
			height: 2px;
			background-color: #fff;
			-webkit-transform: rotate(-45deg);
			transform:
				rotate(-45deg);
		}
		&:before {
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
		}
	}
}
.modalContentWrap .slideWrap {
	.slick-prev,
	.slick-next {
		width: 25px;
		height: 25px;
		&:before {
			content: "";
			display: block;
			content: "";
			width: 20px;
			height: 20px;
			margin: auto;
			border: 0px;
			border-top: solid 2px #fff;
			border-right: solid 2px #fff;
			transform: rotate(45deg);
			z-index: 1;
		}
	}
	.slick-prev {
		&:before {
			transform: rotate(225deg);
		}
	}
	.slick-slide img {
		margin: auto;
	}
}
.modalContentWrap .modalContent .inner {
	overflow: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	max-width: 750px;
	height: 100%;
	text-align: center;
	margin: auto;
}
.modalContentWrap .modalContent .closeButtonArea {
	position: absolute;
	bottom: calc(100% + 10px);
	left: 0;
	right: 0;
}
.modalContentWrap .modalContent .closeButton {
	cursor: pointer;
	position: absolute;
	height: 0;
	bottom: 0;
	right: 0;
	width: calc(40 / 696 * 100%);
	max-width: 40px;
	text-indent: -9999em;
	padding: calc(40 / 696 * 100%) 0 0 0;
}
.modalContentWrap .modalContent .closeButton:before {
	content: "";
	position: absolute;
	top: 0;
	bottom; 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 1px;
	background-color: #FFFFFF;
	margin: auto;
	transform: rotate(45deg);
}
.modalContentWrap .modalContent .closeButton:after {
	content: "";
	position: absolute;
	top: 0;
	bottom; 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 1px;
	background-color: #FFFFFF;
	margin: auto;
	transform: rotate(-45deg);
}
.modalContentWrap .modalContent .wrap {
	position: relative;
	width: calc(696 / 750 * 100%);
	background-color: #FFFFFF;
	margin: auto;
}
.profile:has(.profile-image) {
	display: flex;
	flex-wrap: wrap;
	.profile-image {
		order: 2;
		margin-top: 15px;
	}
	.profile-text {
		order: 1;
		line-height: 150%;
	}
	@media (min-width: 768px) {
		justify-content: space-between;
		flex-wrap: nowrap;
		.profile-image {
			width: 286px;
			order: 1;
			margin-top: 0;
		}
		.profile-text {
			width: calc(100% - 306px);
			order: 2;
			line-height: 150%;
		}
	}
}
/*
.areaNav
---------------------------*/
.areaNav {
	/*background-color: var(--color-primary-bg);*/
	background-color: rgba(248,191,82,.15);
	padding: 15px;
	margin: 10px 0;
	.areaNavInfo {
		margin: 10px 0;
		.info {
			font-size: var(--font-xl);
			font-weight: 600;
			line-height: 1.4;
			span {
				font-size: var(--font-2xl);
				font-weight: 600;
			}
			.count {
				color: var(--color-secondary);
				padding-left: .5em;
			}
		}
		.infoNext {
			padding-top: 15px;
			font-size: var(--font-l);
			font-weight: 600;
			span {
				color: var(--color-secondary);
				font-size: var(--font-xl);
				font-weight: 600;
				padding-left: .5em;
			}
		}
	}
	.cityList {
		display: flex;
		flex-wrap: wrap;
		margin: 15px 0 0;
		li {
			font-size: 18px;
			margin-right: 2%;
			a {
				display: block;
				padding: .5em;
				text-decoration: underline;
			}
		}
	}
	@media (min-width: 768px) {
		padding: 30px;
		margin: 20px 0;
		.areaNavInfo {
			margin-bottom: 0;
			.info {
				font-size: var(--font-3xl);
				font-weight: 600;
				span {
					font-size: var(--font-4xl);
					font-weight: 600;
				}
			}
			.infoNext {
				font-size: var(--font-xxl);
				span {
					font-size: var(--font-3xl);
				}
			}
		}
		.cityList {
			display: flex;
			flex-wrap: wrap;
			li {
				width: calc((100% - 40px) / 5);
				font-size: 20px;
				margin-right: 10px;
				&:nth-of-type(5n) {
					margin-right: 0;
				}
			}
		}
	}
}
	.profile-text p {
		line-height: 163%;
	}
	}
	#total-comment {
		background-color: white;
 		margin: 1em 0em 1em 0em;
  		padding: 1em; 
  	}

@media (min-width: 768px) {
	#total-comment {
		background-color: white;
 		margin: 1em 0em 1em 0em;
  		padding: 1em;
	}
}

	#total-comment h2 {
		color: var(--color-primary);
	  	font-size: 1.3em;
  		font-weight: bold;
  		margin-bottom: 0.8em;
  		line-height: 121%;		
  	}

@media (min-width: 768px) {
	#total-comment h2 {
		color: var(--color-primary);
	  	font-size: 1.3em;
  		font-weight: bold;
  		margin-bottom: 0.8em;
	}
}
	#total-comment p {
		line-height: 170%;
  	}

	#total-comment p {
		line-height: 170%;
  	}
  	.specialty_work_comment {
  		padding: 14px;
	  	line-height: 150%;
  		border-right: 1px solid #6A3906;
  		border-left: 1px solid #6A3906;
  		border-bottom: 1px solid #6A3906;
  	}
  	
.tableStyleBox.type02 dl {
  display: table;
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

.tableStyleBox.type02 dt,
.tableStyleBox.type02 dd {
  display: table-cell;
  padding: 12px;
  border: 1px solid orange;
  vertical-align: middle;
}

.tableStyleBox.type02 dt {
  width: 30%;
  background-color: #f7941d; /* 濃いオレンジ */
  color: #fff;               /* 白字 */
  font-weight: bold;
}

.tableStyleBox.type02 dd {
  width: 70%;
  background-color: #fff;
  color: #000;
}

/* ✅ 2つ目の <dl> 内の <dt> の右枠線だけ白にする */
.tableStyleBox.type02 dl:nth-of-type(2) dt {
  border-right: 1px solid #fff !important;
}
 