@charset "UTF-8";




/* CSS STYLE */

html {
	font-size: 10px;
}
@media screen and (max-width: 1100px) {
	html {
		font-size: 0.909vw;
	}
}
body {
	background: #f7f6f2 url(../img/bg.png) left top;
	background-size: 64rem;
	font-size: 1.6rem;
	line-height: 1.8;
}

a,
a img {
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
a:hover,
a:active {
	text-decoration: underline;
}
a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
}

img {
	-webkit-backface-visibility: hidden;
}

.pcnone {
	display: none !important;
}




/* PARTS */

#contents {
	position: relative;
	width: 100%;
	overflow: hidden;
	z-index: 2;
}

.side-l {
	user-select: none;
	position: fixed;
	top: 0;
	right: calc(50% + 55rem);
	width: 50rem;
	-webkit-transition: 2.5s ease;
	transition: 2.5s ease;
	z-index: 3;
}
.side-r {
	user-select: none;
	position: fixed;
	top: 0;
	left: calc(50% + 55rem);
	width: 50rem;
	-webkit-transition: 2.5s ease;
	transition: 2.5s ease;
	z-index: 3;
}
.side-l img,
.side-r img {
	display: block;
	width: 50rem;
}
.w-bg {
	position: relative;
	background-color: #fff;
	width: 100%;
}
.inner {
	position: relative;
	width: 100%;
	max-width: 110rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 3rem;
	padding-right: 3rem;
}

.head1 {
	background-image: url(../img/dot_01.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 7.4rem;
	margin-top: 8rem;
	margin-bottom: 4rem;
	padding-bottom: 3.5rem;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: center;
}
.head1 img {
	display: block;
	margin: 0 auto 1.2rem auto;
}
.head2 {
	margin-top: 3rem;
	margin-bottom: 1.8rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.3;
}
.head3 {
}
.head4 {
}
.head5 {
}
.head6 {
}
.head1:first-child,
.head2:first-child,
.head3:first-child,
.head4:first-child,
.head5:first-child,
.head6:first-child {
	margin-top: 0 !important;
}

.voice {
	position: relative;
	display: block;
	line-height: 1.4;
	letter-spacing: 0;
	text-align: center;
	color: #14a83b;
}
.voice:before {
	content: "";
	position: absolute;
	bottom: -0.2rem;
	left: -0.2rem;
	display: block;
	background: url(../img/icon-voice-l.svg) left bottom no-repeat;
	background-size: 2.4rem;
	width: 2.4rem;
	height: 2.4rem;
}
.voice:after {
	content: "";
	position: absolute;
	bottom: -0.2rem;
	right: -0.2rem;
	display: block;
	background: url(../img/icon-voice-r.svg) right bottom no-repeat;
	background-size: 2.4rem;
	width: 2.4rem;
	height: 2.4rem;
}

.btn {
	text-align: center;
}
.btn a,
.btn button,
.btn input[type="submit"] {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 7.2rem;
	background-color: #14a83b;
	min-width: 42rem;
	height: 7.2rem;
	padding: 0 4.5rem 0 2.5rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0;
	text-decoration: none;
	text-align: center;
	color: #fff;
	white-space: nowrap;
	overflow: hidden;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
.btn a:hover,
.btn button:hover,
.btn input[type="submit"]:hover {
	letter-spacing: 0.12em;
}
.btn a span,
.btn button span {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
}
.btn a:before,
.btn button:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 2.2rem;
	background: url(../img/btn-ar.svg) center center no-repeat;
	background-size: cover;
	width: 2.4rem;
	height: 2.4rem;
	margin-top: -1.2rem;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	z-index: 2;
}
.btn a:after,
.btn button:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 7.2rem;
	background-color: #85c2ec;
	width: 102%;
	height: 100%;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	-webkit-transform: translate(-102%, 0);
	transform: translate(-102%, 0);
	z-index: 1;
}
.btn a:hover:before,
.btn button:hover:before {
	right: 1.6rem;
}
.btn a:hover:after,
.btn button:hover:after {
	-webkit-transform: translate(-1%, 0);
	transform: translate(-1%, 0);
}
.btn .cleaning {
	background-color: #e6c83c !important;
}
.btn .takuhai {
	background-color: #ef8bc2 !important;
}
.btn .hhc {
	background-color: #70b8eb !important;
}
.btn .hhc:after {
	background-color: #afd5f0 !important;
}

.link {
	margin-top: 0.8rem;
}
.link a {
	position: relative;
	padding-left: 1.6rem;
	text-decoration: none;
	color: #4f4844 !important;
	font-size: 1.4rem;
}
.link a:before {
	content: "";
	position: absolute;
	top: 0.5rem;
	left: 0;
	display: block;
	border-radius: 1.2rem;
	background: url(../img/btn-ar3.svg) center center no-repeat;
	background-size: cover;
	width: 1.2rem;
	height: 1.2rem;
}
.link a:hover {
	text-decoration: underline;
}

.img-box {
	position: relative;
	border-radius: 2rem;
	width: 100%;
	padding-top: 62%;
	font-size: 0;
	overflow: hidden;
}
.img-box.size1 {
	padding-top: 69.62%;
}
.img-box.size2 {
	padding-top: 80%;
}
.img-box.line {
	border: 1px dashed #ccc6b4;
	box-shadow: 0 0 0 5px inset #fff;
}
.img-box img {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	max-width: none;
	width: 100%;
	height: 100%;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
.img-box.line img {
	z-index: -1;
}
a:hover .img-box img,
.img-box a:hover img {
	-webkit-transform: scale(1.1,1.1);
	transform: scale(1.1,1.1);
}

.column {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: 4rem 0;
	z-index: 1;
}
.column.align {
	align-items: center;
}
.column:first-child {
	margin-top: 0 !important;
}
.column:last-child {
	margin-bottom: 0 !important;
}
.column .box {
	display: block;
}
.column.rev {
	flex-direction: row-reverse;
}
.column.c2 {
	justify-content: space-between;
}
.column.c2 .box {
	width: 48.07%;
	margin-bottom: 4rem;
}
.column.c2 .box:nth-last-child(-n+2) {
	margin-bottom: 0 !important;
}
.column.c3 .box {
	width: 30.38%;
	margin-left: 4.43%;
	margin-bottom: 4rem;
}
.column.c3 .box:nth-of-type(3n-2) {
	margin-left: 0;
}
/*.column.c3 .box:nth-last-child(-n+3) {
	margin-bottom: 0 !important;
}*/
.column.c4 .box {
	width: 22.11%;
	margin-left: 3.85%;
	margin-bottom: 4rem;
}
.column.c4 .box:nth-of-type(4n-3) {
	margin-left: 0;
}
.column.c4 .box:nth-last-child(-n+4) {
	margin-bottom: 0 !important;
}
.column.list h2:first-child,
.column.list h3:first-child,
.column.list h4:first-child,
.column.list p:first-child,
.column.list ul:first-child,
.column.list ol:first-child,
.column.list dl:first-child,
.column.list dt:first-child {
	margin-top: 0 !important;
}
.column.list h2:last-child,
.column.list h3:last-child,
.column.list h4:last-child,
.column.list p:last-child,
.column.list ul:last-child,
.column.list ol:last-child,
.column.list dl:last-child,
.column.list dt:last-child {
	margin-bottom: 0 !important;
}
.column-img {
	display: flex !important;
	justify-content: space-between;
	align-items: flex-start;
}
.column-img > .img-box {
	width: 46%;
	padding-top: 28.52%;
}
.column-img > .img-box.size1 {
	padding-top: 32.02%;
}
.column-img > .img-box.size2 {
	padding-top: 36.8%;
}
.column-img .image {
	width: 46%;
}
.column-img .read {
	width: 46%;
	font-size: 1.56rem;
}

.big {
	font-size: 120%;
}
.sml {
	font-size: 80%;
}
.notes {
	font-size: 1.3rem;
	font-weight: 400;
	color: #888;
}

.blur {
	opacity: 0;
	-ms-filter: blur(20rem);
	filter: blur(20rem);
	-webkit-transition: 1s ease-out;
	transition: 1s ease-out;
}
.blur.active {
	-ms-filter: blur(0rem);
	filter: blur(0rem);
	opacity: 1;
}
.fade {
	opacity: 0;
	-webkit-transition: 0.8s linear;
	transition: 0.8s linear;
}
.fade.active {
	opacity: 1;
}
.fade-l {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(-4rem, 0);
	transform: translate(-4rem, 0);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-l.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-r {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(4rem, 0);
	transform: translate(4rem, 0);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-r.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-t {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(0, -4rem);
	transform: translate(0, -4rem);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-t.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-b {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(0, 4rem);
	transform: translate(0, 4rem);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-b.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-w {
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
	-webkit-transform: scale(1.1,1.1);
	transform: scale(1.1,1.1);
	opacity: 0;
}
.fade-z {
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
	-webkit-transform: scale(0.9,0.9);
	transform: scale(0.9,0.9);
	opacity: 0;
}
.fade-w.active,
.fade-z.active {
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
	opacity: 1;
}




/* HEADER */

header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 10rem;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	z-index: 10000;
}
header.active {
	top: -10rem;
}
header.active.view {
	position: fixed;
	top: 0;
}
header .logo {
	position: absolute;
	top: 3.5rem;
	left: 50%;
	width: 24rem;
	height: 3rem;
	margin-left: -12rem;
}
header.active .logo {
	left: 12%;
}
header .logo a {
	display: block;
	background: url(../img/logo.png) left top no-repeat;
	background-size: 24rem 3rem;
	width: 24rem;
	height: 3rem;
	padding-top: 3rem;
	font-size: 0;
	overflow: hidden;
}

header .style1 {
	display: flex;
	position: absolute;
	top: 2.8rem;
	right: 3rem;
}
header.active .style1 {
	display: none;
}
header .style1 .login a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	border-radius: 11.6rem;
	background-color: #14a83b;
	width: 11.6rem;
	height: 11.6rem;
	font-size: 1.3rem;
	line-height: 1.3;
	letter-spacing: 0;
	text-decoration: none;
	text-align: center;
	color: #fff;
	overflow: hidden;
}
header .style1 .login a:before {
	content: "";
	display: block;
	background-image: url(../img/icon-login.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 3.6rem;
	width: 100%;
	height: 3.6rem;
	margin-bottom: 0.6rem;
	z-index: 2;
}
header .style1 .cart {
	margin-left: 2.6rem;
}
header .style1 .cart a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	border-radius: 11.6rem;
	background-color: #fff;
	width: 11.6rem;
	height: 11.6rem;
	font-size: 1.3rem;
	line-height: 1.3;
	letter-spacing: 0;
	text-decoration: none;
	text-align: center;
	color: #14a83b;
	overflow: hidden;
}
header .style1 .cart a:before {
	content: "";
	display: block;
	background-image: url(../img/icon-cart.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 3.6rem;
	width: 100%;
	height: 3.6rem;
	margin-bottom: 0.6rem;
	z-index: 2;
}
header .style1 .cart a:hover {
	color: #fff;
}
header .style1 .cart a:hover:before {
	background-image: url(../img/icon-cart-w.svg);
}
header .style1 .login a span,
header .style1 .cart a span {
	position: relative;
	z-index: 2;
}
header .style1 .login a:after,
header .style1 .cart a:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 11.6rem;
	background-color: #85c2ec;
	width: 11.6rem;
	height: 11.6rem;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	-webkit-transform: scale(0,0);
	transform: scale(0,0);
	z-index: 1;
}
header .style1 .login a:hover:after,
header .style1 .cart a:hover:after {
	-webkit-transform: scale(1.01,1.01);
	transform: scale(1.01,1.01);
}

header .style2 {
	display: none;
	position: absolute;
	top: 2.6rem;
	right: 2.6rem;
}
header.active .style2 {
	display: flex;
}
header .style2 .login a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	border-radius: 4.8rem;
	background-color: #14a83b;
	width: 25.6rem;
	height: 4.8rem;
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-align: center;
	color: #fff;
	overflow: hidden;
}
header .style2 .login a:before {
	content: "";
	display: block;
	background-image: url(../img/icon-login.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 1.8rem;
	width: 1.8rem;
	height: 1.8rem;
	margin-right: 0.6rem;
	z-index: 2;
}
header .style2 .cart {
	margin-left: 2.2rem;
}
header .style2 .cart a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	border-radius: 4.8rem;
	background-color: #fff;
	width: 17.4rem;
	height: 4.8rem;
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-align: center;
	color: #14a83b;
	overflow: hidden;
}
header .style2 .cart a:before {
	content: "";
	display: block;
	background-image: url(../img/icon-cart.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 1.8rem;
	width: 1.8rem;
	height: 1.8rem;
	margin-right: 0.6rem;
	z-index: 2;
}
header .style2 .cart a:hover {
	color: #fff;
}
header .style2 .cart a:hover:before {
	background-image: url(../img/icon-cart-w.svg);
}
header .style2 .login a:after,
header .style2 .cart a:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 4.8rem;
	background-color: #85c2ec;
	width: 100%;
	height: 4.8rem;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	-webkit-transform: translate(-100%, 0);
	transform: translate(-100%, 0);
	z-index: 1;
}
header .style2 .login a:hover,
header .style2 .cart a:hover {
	letter-spacing: 0.12em;
}
header .style2 .login a:hover:after,
header .style2 .cart a:hover:after {
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
header .style2 .login a span,
header .style2 .cart a span {
	position: relative;
	z-index: 2;
}




/* FOOTER */

.footer-back {
	position: relative;
	background: url(../img/fotter-line.svg) center top repeat-x;
	background-size: 90rem;
	width: 100%;
	height: 16rem;
	z-index: 1;
}
footer {
	position: relative;
	width: 100%;
	height: 16rem;
	margin-bottom: -16rem;
	padding: 8.4rem 6rem 0 5.9rem;
	z-index: 3;
}
footer .footer-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	line-height: 1;
}
footer .footer-inner ul {
	display: flex;
}
footer .footer-inner ul li {
	margin-right: 4.2rem;
}
footer .footer-inner ul li:last-child {
	margin-right: 0;
}
footer .footer-inner ul a {
	display: block;
	font-size: 1.3rem;
	letter-spacing: 0.02em;
	text-decoration: none;
}
footer .footer-inner ul a:before,
footer .footer-inner ul a:after {
	content: "";
	opacity: 0;
	display: block;
	position: absolute;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
footer .footer-inner ul a:before {
	top: 50%;
	left: -2.4rem;
	background: url(../img/logo-m.png) center center no-repeat;
	background-size: 2rem 1.2rem;
	width: 2rem;
	height: 1.2rem;
	margin-top: -0.6rem;
}
footer .footer-inner ul a:after {
	bottom: -1rem;
	left: -2.4rem;
	background: url(../img/dot-line.svg) left bottom no-repeat;
	background-size: 26rem;
	width: calc(100% + 2.4rem);
	height: 0.3rem;
}
footer .footer-inner ul a:hover {
	color: #14a83b;
}
footer .footer-inner ul a:hover:before,
footer .footer-inner ul a:hover:after {
	opacity: 1;
}
footer .footer-inner .copy {
	font-family: 'Jost';
	font-size: 1.1rem;
	font-weight: 400;
	letter-spacing: 0.1em;
}




/* INDEX */

#index-main {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 10rem;
	z-index: 1;
}
#index-main .main-image {
	position: relative;
	border-radius: 2rem;
	background: url(../img/main-img.jpg) center center no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 1;
}
#index-main h1 {
	position: absolute;
	bottom: 17rem;
	left: 18.5rem;
	width: 36rem;
	z-index: 2;
}
#index-main .main-corner {
	position: absolute;
	top: 0;
	right: 0;
	border-radius: 2rem;
	background: #f7f6f2 url(../img/bg.png) left top;
	background-size: 64rem;
	width: 34rem;
	height: 18rem;
	z-index: 2;
}
#index-main .main-corner:before,
#index-main .main-corner:after {
	content: "";
	position: absolute;
	display: block;
	background: url(../img/main-corner.png) right top;
	background-size: 2rem;
	width: 2rem;
	height: 2rem;
}
#index-main .main-corner:before {
	top: 10rem;
	left: -2rem;
}
#index-main .main-corner:after {
	top: 18rem;
	right: 10rem;
}
#index-main .main-scroll {
	position: absolute;
	bottom: 3.2rem;
	left: 50%;
	width: 5rem;
	height: 7.5rem;
	margin-left: -2.5rem;
	z-index: 2;
}
#index-main .main-scroll div {
	position: relative;
	width: 5rem;
	height: 5rem;
	overflow: hidden;
}
#index-main .main-scroll div:before {
	animation: mainscroll 2s linear infinite;
	content: "";
	position: absolute;
	top: -100%;
	left: 50%;
	display: block;
	background-color: #14a83b;
	width: 1px;
	height: 5rem;
}
@keyframes mainscroll {
	0% {
		top: -100%;
	}
	80% {
		top: 100%;
	}
	100% {
		top: 100%;
	}
}
#index-main .main-scroll:after {
	content: "SCROLL";
	position: absolute;
	bottom: 0;
	left: 50%;
	display: block;
	width: 6rem;
	margin-left: -3rem;
	font-family: 'Jost';
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
	color: #14a83b;
	white-space: nowrap;
}

.index-contents {
	position: relative;
	background-color: #fff;
	background-image: url(../img/index-bg.png);
	background-repeat: no-repeat;
	background-position: center 100%;
	background-size: 200rem;
	margin-top: 8rem;
	padding: 8rem 0 17rem 0;
	-webkit-transition: 1s ease;
	transition: 1s ease;
}
.index-contents:before {
	content: "";
	position: absolute;
	top: -8rem;
	left: 50%;
	display: block;
	border-radius: 50%;
	background: #fff url(../img/logo-inner.png) center 5.8rem no-repeat;
	background-size: 7.2rem;
	width: 60rem;
	height: 31rem;
	margin-left: -30rem;
	z-index: 1;
}
.index-contents .inner {
	z-index: 2;
}

.index-menu {
	display: flex;
	justify-content: space-between;
}
.index-menu a {
	position: relative;
	display: block;
	text-decoration: none;
}
.index-menu .menu1 {
	order: 2;
	width: 33.269%;
}
.index-menu .menu1:before {
	content: "";
	position: absolute;
	top: -4.2rem;
	left: -4.2rem;
	display: block;
	background: url(../img/index-point.svg) left top no-repeat;
	background-size: 6.4rem;
	width: 6.4rem;
	height: 6.4rem;
}
.index-menu .menu2 {
	order: 1;
	width: 28.846%;
	margin-top: 3.8rem;
}
.index-menu .menu3 {
	order: 3;
	width: 28.846%;
	margin-top: 3.8rem;
}
.index-menu .img-box {
	margin-bottom: 1rem;
	z-index: 1;
}
.index-menu .menu1 .img-box {
	padding-top: 69.36%;
}
.index-menu .menu2 .img-box,
.index-menu .menu3 .img-box {
	padding-top: 73.33%;
}
.index-menu .sub-img {
	position: absolute;
	z-index: 2;
}
.index-menu .menu1 .sub-img {
	top: 15.2rem;
	right: -2.1rem;
	width: 10.5rem;
}
.index-menu .menu2 .sub-img {
	top: 8.6rem;
	right: -3.5rem;
	width: 11rem;
}
.index-menu .menu3 .sub-img {
	top: 10.7rem;
	right: -2.2rem;
	width: 12.5rem;
}
.index-menu p {
	border-bottom: 1px dashed #ccc5b4;
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 3rem;
	padding: 2.4rem 0;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
.index-menu a:hover p {
	padding-left: 1.6rem;
}
.index-menu .menu1 p {
	background-image: url(../img/link-ar_02.svg);
}
.index-menu .menu1:hover p {
	border-bottom: 1px dashed #f8e9a3;
	color: #f8e9a3;
}
.index-menu .menu2 p {
	background-image: url(../img/link-ar_01.svg);
}
.index-menu .menu2:hover p {
	border-bottom: 1px dashed #f3acd0;
	color: #f3acd0;
}
.index-menu .menu3 p {
	background-image: url(../img/link-ar_03.svg);
}
.index-menu .menu3:hover p {
	border-bottom: 1px dashed #a3d2f3;
	color: #a3d2f3;
}

.index-about {
	background: url(../img/dot_01.png) center top no-repeat;
	background-size: 9rem;
	margin-top: 10.5rem;
	padding-top: 8rem;
}
.index-about p {
	font-size: 1.7rem;
	letter-spacing: 0.15em;
	line-height: 3.3;
	text-align: center;
}
.index-about .btn {
	margin-top: 6rem;
}




/* CATEGORY */

.category-top {
	position: relative;
	background: url(../img/header-line.svg) center bottom repeat-x;
	background-size: 90rem;
	width: 100%;
	padding: 10rem 10rem 11rem 10rem;
	z-index: 1;
}
.category-top .category-image {
	position: relative;
	border-radius: 2rem;
	width: 100%;
	height: 50rem;
	overflow: hidden;
	z-index: 1;
}
.category-top .category-image img {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	max-width: none;
	width: 100%;
	height: 100%;
}
.category-top .category-title {
	position: absolute;
	bottom: 10rem;
	left: 10rem;
	border-radius: 0 2rem 0 0;
	background: #f7f6f2 url(../img/bg.png) left top;
	background-size: 64rem;
	width: 46rem;
	padding: 2.8rem 5rem 0 0;
	font-size: 1.6rem;
	line-height: 1.8;
	z-index: 2;
}
.category-top .category-title:before,
.category-top .category-title:after {
	content: "";
	position: absolute;
	display: block;
	background: url(../img/main-corner.png) right top;
	background-size: 2rem;
	width: 2rem;
	height: 2rem;
	-webkit-transition: rotate(180deg);
	transform: rotate(180deg);
}
.category-top .category-title:before {
	top: -2rem;
	left: 0;
}
.category-top .category-title:after {
	bottom: 1rem;
	right: -2rem;
}
.category-top .category-title h1 {
	margin-bottom: 1.8rem;
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.3;
	color: #14a83b;
}




/* Cleaning */

.cleaning-menu {
	position: relative;
	background-color: #fff;
	padding: 4rem 0 18rem 0;
}

.cleaning-popular {
	position: relative;
	background: url(../img/header-line.svg) center bottom repeat-x;
	background-size: 90rem;
	padding: 1px 0 12rem 0;
	z-index: 2;
}
.cleaning-popular:before {
	content: "";
	position: absolute;
	top: -8rem;
	left: 50%;
	display: block;
	border-radius: 50%;
	background: #f7f6f2 url(../img/bg.png) left top;
	background-size: 64rem;
	width: 60rem;
	height: 31rem;
	margin-left: -30rem;
	z-index: -1;
}
.cleaning-popular .head1 {
	margin-top: -3rem !important;
}
.cleaning-popular .img-box {
	margin-bottom: 2rem;
}
.cleaning-popular h3 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 0.8rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.3;
}
.cleaning-popular h3 span {
	border-radius: 1rem;
	background-color: #14a83b;
	margin-right: 0.6rem;
	padding: 0.3rem 1rem 0.4rem 1rem;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	line-height: 1;
	color: #fff;
}
.cleaning-popular .price {
	margin-top: 1.5rem;
	font-family: 'Jost', 'Kiwi Maru', sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
}
.cleaning-popular .price span {
	font-size: 1rem;
}

.cleaning-flow {
	position: relative;
	background-color: #fff;
	padding: 1px 0 9rem 0;
	z-index: 2;
}
.cleaning-flow.line {
	background: #fff url(../img/flow-title-line.svg) center top repeat-x;
	background-size: 90rem;
	margin-top: -8rem;
	padding: 1rem 0 9rem 0;
}
.cleaning-flow h2 {
	background: url(../img/cleaning/cleaning-flow-title.png) center bottom no-repeat;
	background-size: 64rem;
	width: 64rem;
	height: 16.5rem;
	margin: -4rem auto 4rem auto;
	padding-top: 11.5rem;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	color: #14a83b;
}
.cleaning-flow.line h2 {
	margin: 0 auto 4rem auto;
}
.cleaning-flow h2.mini {
	background: url(../img/cleaning/cleaning-flow-title2.png) center bottom no-repeat;
	background-size: 34rem;
	width: 34rem;
}
.cleaning-flow h2 + p {
	font-size: 1.7rem;
	letter-spacing: 0.15em;
}
.cleaning-flow .flow {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin: 4rem 0;
}
.cleaning-flow .flow li {
	position: relative;
	width: 23%;
	text-align: center;
}
.cleaning-flow .flow img {
	display: block;
	margin-top: 1.4rem;
}
.cleaning-flow .flow .voice {
	display: table;
	margin: 0 auto;
	font-size: 1.7rem;
}
.cleaning-flow .flow .voice .sml {
	font-size: 70%;
}
.cleaning-flow .voice:before {
	left: -2.4rem;
}
.cleaning-flow .voice:after {
	right: -2.4rem;
}
.cleaning-flow .flow li:nth-of-type(2n-1) {
	padding-bottom: 6rem;
}
.cleaning-flow .flow li:nth-of-type(2n-1):after {
	content: "";
	position: absolute;
	bottom: 14rem;
	right: -2.3rem;
	display: block;
	background: url(../img/icon-ar1.svg) center center no-repeat;
	background-size: 2rem;
	width: 2rem;
	height: 2rem;
}
.cleaning-flow .flow li:nth-of-type(2n):after {
	content: "";
	position: absolute;
	bottom: 14rem;
	right: -2.5rem;
	display: block;
	background: url(../img/icon-ar2.svg) center center no-repeat;
	background-size: 2rem;
	width: 2rem;
	height: 2rem;
}
.cleaning-flow .flow li:last-child:after {
	display: none;
}

.cleaning-benefit {
	background: url(../img/fotter-line.svg) center top repeat-x;
	background-size: 90rem;
	padding: 8rem 0 10rem 0;
}
.cleaning-benefit.details {
	background: #fff;
	padding: 4rem 0 16rem 0;
}
.cleaning-benefit h2 .b1 {
	font-size: 3.6rem;
	color: #14a83b;
}
.cleaning-benefit h2 .b2 {
	background: url(../img/cleaning/cleaning-line_01.png) left bottom no-repeat;
	background-size: 100%;
	font-size: 3.6rem;
	color: #e7cb48;
}
.cleaning-benefit h2 .b3 {
	background: url(../img/cleaning/cleaning-line_02.png) left bottom no-repeat;
	background-size: 100%;
	font-size: 3.6rem;
	color: #ef8bc2;
}
.cleaning-benefit .btn {
	margin-top: 6rem;
}
.benefit-box {
	position: relative;
	border: 1px dashed #d4cbb1;
	border-radius: 2rem;
	box-shadow: 0 0 0 5px inset #fdf7e0;
	background-color: #fff;
	width: 100%;
	margin-top: 4rem;
	padding: 3.5rem;
}
.box.benefit-box {
	margin-top: 0;
}
.benefit-box .box-left {
	width: 43.87%;
}
.benefit-box .box-right {
	width: calc(100% - 47.44%);
	letter-spacing: -0.02em;
}
.benefit-box .head2 {
	position: relative;
	margin-top: 2.5rem;
	padding-left: 4.4rem;
}
.benefit-box .head2 span {
	position: absolute;
	top: 50%;
	left: 0;
	background: url(../img/point-bg_01.png) center center no-repeat;
	background-size: 3.8rem;
	width: 3.8rem;
	height: 3.8rem;
	margin-top: -1.9rem;
	font-family: 'Jost', 'Kiwi Maru', sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	line-height: 3.8rem;
	color: #fff;
	overflow: hidden;
}
.benefit-box ul li {
	position: relative;
	padding-left: 2rem;
}
.benefit-box ul li:before {
	content: "";
	position: absolute;
	top: 0.9rem;
	left: 0.5rem;
	display: block;
	border-right: 2px solid #ead15d;
	border-bottom: 2px solid #ead15d;
	width: 0.6rem;
	height: 1rem;
	-webkit-transition: rotate(45deg);
	transform: rotate(45deg);
}


.benefit-box.about {
	padding-left: 12.5rem;
}
.benefit-box.about .icon {
	position: absolute;
	top: 2.4rem;
	left: 3.6rem;
	width: 6.4rem;
}
.benefit-box h3.about {
	position: relative;
	margin-bottom: 1.5rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.4;
}
.benefit-box h3.about span {
	display: inline-block;
	position: relative;
	z-index: 1;
}
.benefit-box h3.about span:after {
	content: "";
	position: absolute;
	left: -0.4rem;
	bottom: -0.3rem;
	display: block;
	border-radius: 1.1rem;
	background-color: #fcf7dd;
	width: calc(100% + 0.8rem);
	height: 1.1rem;
	z-index: -1;
}
.benefit-box.ok,
.benefit-box.ng {
	margin-top: 2rem;
}
.benefit-box.ok:before,
.benefit-box.ng:before {
	content: "";
	position: absolute;
	top: -4rem;
	left: 50%;
	display: block;
	border: 1px dashed #d4cbb1;
	border-radius: 50%;
	background-color: #fdf7e0;
	width: 14.4rem;
	height: 13rem;
	margin-left: -7.2rem;
	z-index: -1;
}
.benefit-box.ok:after,
.benefit-box.ng:after {
	content: "";
	position: absolute;
	top: -3.5rem;
	left: 50%;
	display: block;
	border-radius: 50%;
	background-color: #fff;
	width: 13.4rem;
	height: 12rem;
	margin-left: -6.7rem;
	z-index: 1;
}
.benefit-box.ok .icon,
.benefit-box.ng .icon {
	position: relative;
	display: block;
	width: 3.2rem;
	margin: -4.6rem auto 1.5rem auto;
	z-index: 2;
}
.benefit-box.ok h3.about,
.benefit-box.ng h3.about {
	text-align: center;
	z-index: 2;
}
.benefit-box.ok h3.about span:after {
	background-color: #fce8f2;
}
.benefit-box.ng h3.about span:after {
	background-color: #eff6fa;
}
.benefit-box.ok p,
.benefit-box.ng p,
.benefit-box.ok ul,
.benefit-box.ng ul {
	position: relative;
	z-index: 2;
}

.benefit-box.ok ul li:before {
	top: 0.9rem;
	left: 0.4rem;
	border: none;
	border-radius: 1.2rem;
	background-color: #f3acd0;
	width: 1.2rem;
	height: 1.2rem;
}
.benefit-box.ng ul li:before {
	border-right: 2px solid #70b8eb;
	border-bottom: 2px solid #70b8eb;
}

.cleaning-fixation {
	background-color: #fff;
	padding: 8rem 0 14rem 0;
}
.cleaning-fixation .head1 + p {
	margin-top: -1rem;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
}
.cleaning-fixation .btn {
	margin-top: 6rem;
}
.cleaning-fixation .btn:first-child {
	margin-top: 0;
}
.cleaning-fixation .column.c2 .box {
	border-bottom: 1px dashed #ccc5b4;
	margin-bottom: 2.5rem;
	padding-bottom: 2.5rem;
}
.cleaning-fixation h3 {
	margin-bottom: 1rem;
	font-size: 1.6rem;
	line-height: 1.6;
}
.cleaning-fixation h3 span {
	background: -moz-linear-gradient(top,  rgba(248,233,163,0) 0%, rgba(248,233,163,0) 60%, rgba(248,233,163,1) 61%, rgba(248,233,163,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(248,233,163,0) 0%,rgba(248,233,163,0) 60%,rgba(248,233,163,1) 61%,rgba(248,233,163,1) 100%);
	background: linear-gradient(to bottom,  rgba(248,233,163,0) 0%,rgba(248,233,163,0) 60%,rgba(248,233,163,1) 61%,rgba(248,233,163,1) 100%);
}
.cleaning-fixation p {
	margin-top: 0.5rem;
}
.cleaning-fixation .img-box {
	border: 5px solid #f8f7f4;
}


/* Cleaning page */

.cleaning-top {
	position: relative;
	background: url(../img/header-line.svg) center bottom repeat-x;
	background-size: 90rem;
	width: 100%;
	padding: 13rem 0 10rem 0;
	z-index: 1;
}
.cleaning-top .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 130rem;
}
.cleaning-top .image {
	width: calc(100% - 60rem);
}
.cleaning-top .read {
	width: 55rem;
}
.cleaning-top h1 {
	display: table;
	position: relative;
	background: url(../img/dot-line2.svg) left bottom repeat-x;
	background-size: 45rem;
	margin-bottom: 3rem;
	padding-right: 1rem;
	padding-bottom: 2rem;
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.3;
	color: #e6c83c !important;
}
.cleaning-top dt {
	margin-bottom: 1rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
}
.cleaning-top ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 3.2rem;
}
.cleaning-top ul li {
	position: relative;
	width: 31%;
	padding: 1.5rem 0.5rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
}
.cleaning-top ul li:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border-top: 5px solid #f8e9a3;
	border-left: 5px solid #f8e9a3;
	width: 2.4rem;
	height: 4rem;
}
.cleaning-top ul li:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	border-bottom: 5px solid #f8e9a3;
	border-right: 5px solid #f8e9a3;
	width: 2.4rem;
	height: 4rem;
}
.cleaning-top ul span {
	position: relative;
	z-index: 1;
}
.cleaning-top ul span:after {
	content: "";
	position: absolute;
	left: -0.5rem;
	bottom: -0.3rem;
	display: block;
	border-radius: 1.1rem;
	background-color: #f8e9a3;
	width: calc(100% + 1rem);
	height: 1.1rem;
	z-index: -1;
}
.cleaning-top ul span.sml:after {
	display: none;
}

.cleaning-older-menu {
	position: relative;
	background-color: #fff;
	padding: 2rem 0 18rem 0;
}
.cleaning-older-menu .head1 {
	background-image: url(../img/dot_01.png) !important;
}
.cleaning-older-menu .head1 + p {
	margin-top: -1rem;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
}
.older-menu {
	margin-top: 4.5rem !important;
}
.older-menu .box {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	border: 1px dashed #14a83b;
	border-radius: 2rem;
	box-shadow: 0 0 0 5px inset #d9f3df;
	padding: 2.8rem 2.4rem 2.4rem 2.4rem;
}
.older-menu .box:first-child:before {
	content: "";
	position: absolute;
	top: -4.2rem;
	left: -4.2rem;
	display: block;
	background: url(../img/index-point.svg) left top no-repeat;
	background-size: 6.4rem;
	width: 6.4rem;
	height: 6.4rem;
}
.older-menu .box:last-child:after {
	content: "";
	position: absolute;
	bottom: -4.2rem;
	right: -4.2rem;
	display: block;
	background: url(../img/index-point.svg) left top no-repeat;
	background-size: 6.4rem;
	width: 6.4rem;
	height: 6.4rem;
	-webkit-transition: rotate(180deg);
	transform: rotate(180deg);
}
.older-menu h3 {
	width: 100%;
	margin-bottom: 1.6rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	color: #14a83b;
}
.older-menu .img-box {
	border-radius: 1rem;
	margin-bottom: 1.8rem;
	padding-top: 69.62%;
}
.older-menu .btn {
	width: 11rem;
}
.older-menu .btn a {
	min-width: 11rem;
	width: 11rem;
	height: 3.4rem;
	padding: 0 1rem 0.2rem 0;
	font-size: 1.5rem;
	line-height: 1;
}
.older-menu .btn a:before {
	right: 1.1rem;
	width: 1.2rem;
	height: 1.2rem;
	margin-top: -0.6rem;
}
.older-menu .btn a:hover:before {
	right: 0.7rem;
}
.older-menu .btn a:after {
	border-radius: 4rem;
	width: 102%;
	height: 3.4rem;
}
.older-menu .price {
	margin-bottom: 0.2rem;
	font-family: 'Jost', 'Kiwi Maru', sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
}
.older-menu .price span {
	font-size: 1rem;
}

.cleaning-option {
	position: relative;
	background: #fef8e6 url(../img/header-line.svg) center bottom repeat-x;
	background-size: 90rem;
	padding: 1px 0 12rem 0;
	z-index: 1;
}
.cleaning-option.details {
	background: #fef8e6;
	padding: 1px 0 12rem 0;
}
.cleaning-option:before {
	content: "";
	position: absolute;
	top: -8rem;
	left: 50%;
	display: block;
	border-radius: 50%;
	background-color: #fef8e6;
	width: 60rem;
	height: 31rem;
	margin-left: -30rem;
	z-index: -1;
}
.cleaning-option .head1 {
	margin-top: -5rem !important;
}
.cleaning-option .head1 + p {
	margin-top: -1rem;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
}
.option-area {
	border-top: 1px dashed #ccc5b4;
	width: 100%;
	margin: 5.5rem 0 6rem 0;
}
.option-area:last-child {
	margin-bottom: 0;
}
.option-area .area {
	border-bottom: 1px dashed #ccc5b4;
	padding: 3rem 0;
}
.option-area .box {
	position: relative;
	border: 4px solid #eedf97;
	border-radius: 0 2rem 0 2rem;
	background-color: #fff;
	padding: 3rem 4rem 3.5rem 4rem;
	font-size: 1.6rem;
	font-weight: 500;
}
.option-area .box .icon {
	position: absolute;
	top: -4px;
	left: 4rem;
	width: 6.4rem;
}
.option-area h3 {
	position: relative;
	display: table;
	margin-left: 8.5rem;
	margin-bottom: 2rem;
	font-size: 2.2rem;
	line-height: 1.3;
	z-index: 1;
}
.option-area h3:after {
	content: "";
	position: absolute;
	left: -2%;
	bottom: -0.1rem;
	display: block;
	border-radius: 1.1rem;
	background-color: #f8e9a3;
	width: 104%;
	height: 1.1rem;
	z-index: -1;
}
.option-area .image {
	width: 100%;
	max-width: 92rem;
	margin: 2rem auto 0 auto;
}

.page-prev {
	display: flex;
	background: #eaf8ee url(../img/page-prev-bg.jpg) center center no-repeat;
	background-size: cover;
	border-radius: 2rem;
	margin-top: 12rem;
	padding: 5rem 4rem;
}
.page-prev li {
	width: 50%;
	margin: 0 !important;
	text-align: center;
}
.page-prev .btn a {
	border: 2px solid #14a83b;
	background-color: #fff;
	min-width: 43rem;
	height: 8.6rem;
	color: #14a83b;
}
.page-prev .btn a:before {
	background-image: url(../img/btn-ar3.svg);
}
.page-prev .btn a img {
	width: 4rem;
	margin-right: 1rem;
}
.page-prev .btn a:after {
	background-color: #f8e9a3;
}

.cap {
	position: relative;
	margin-top: 1rem !important;
	padding-left: 1.4em;
	font-size: 1.3rem;
	line-height: 1.5;
}
.cap:before {
	content: "\25B2";
	position: absolute;
	top: 0;
	left: 0;
	color: #e6c83c;
}




/* Takuhai */

.takuhai-menu {
	position: relative;
	background-color: #fff;
	padding: 4rem 0 18rem 0;
}
.takuhai-menu .area-service {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1.5rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #14a83b;
}
.takuhai-menu .area-service:before {
	content: "";
	display: block;
	background: url(../img/takuhai/takuhai-hokkaido.png) center center no-repeat;
	background-size: 7.5rem;
	width: 7.5rem;
	height: 7rem;
	margin-right: 1rem;
}
.takuhai-menu .area-service:after {
	content: "";
	display: block;
	background: url(../img/icon-voice-r.svg) center center no-repeat;
	background-size: 2.4rem;
	width: 2.4rem;
	height: 2.4rem;
	margin-left: 0.5rem;
}
.takuhai-menu .service-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	border: 1px dashed #ccc6b4;
	box-shadow: 0 0 0 5px inset #fff;
	border-radius: 2rem;
	background-color: #f8f7f4;
	width: 88rem;
	margin: 0 auto;
	padding: 4rem;
	line-height: 1;
}
.takuhai-menu .service-area .txt {
	width: 100%;
	margin-bottom: 2.2rem;
	text-align: center;
}
.takuhai-menu .service-area .select {
	position: relative;
	border: 1px solid #e1dbc9;
	border-radius: 0 0.5rem 0.5rem 0;
	background-color: #fff;
	width: 46rem;
	height: 4rem;
	margin-right: 1.6rem;
}
.takuhai-menu .service-area .select:before {
	content: "";
	position: absolute;
	top: -1px;
	right: -1px;
	display: block;
	border-radius: 0 0.5rem 0.5rem 0;
	background: #14a83b url(../img/btn-ar2.svg) center center no-repeat;
	background-size: 4rem;
	width: 4rem;
	height: 4rem;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	z-index: 1;
}
.takuhai-menu .service-area .select:hover:before {
	background-color: #85c2ec;
}
.takuhai-menu .service-area select {
	vertical-align: middle;
	position: relative;
	border: none;
	border-radius: 0 0.5rem 0.5rem 0;
	background-color: transparent;
	width: 100%;
	height: calc(4rem - 2px);
	padding-right: 3.8rem;
	text-align: center;
	cursor: pointer;
	z-index: 2;
}
.takuhai-menu .service-area .btn button {
	min-width: 11rem;
	width: 11rem;
	height: 4rem;
	padding: 0 1rem 0.3rem 0;
	font-size: 1.5rem;
}
.takuhai-menu .service-area .btn button:before {
	right: 1.1rem;
	width: 1.2rem;
	height: 1.2rem;
	margin-top: -0.6rem;
}
.takuhai-menu .service-area .btn button:hover:before {
	right: 0.7rem;
}
.takuhai-menu .service-area .btn button:after {
	border-radius: 4rem;
	width: 102%;
	height: 4rem;
}
.takuhai-menu .service-area div.area-box {
    display: none;
    width: 100%;
    margin-top: 4rem;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.8;
    word-break: keep-all;
}
.takuhai-menu .bnr {
	width: 62rem;
	margin: 4rem auto 7rem auto;
}
.takuhai-menu .bnr a:hover {
	opacity: 0.5;
}
.takuhai-menu .column.c3 a {
	text-decoration: none;
}
.takuhai-menu .column.c3 a p {
	position: relative;
	margin-top: 2.5rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
.takuhai-menu .column.c3 a:hover {
	color: #ef8bc2 !important;
}
.takuhai-menu .column.c3 a:hover p {
	padding-left: 2rem;
}
.takuhai-menu .column.c3 a p span {
	margin-left: 1.4rem;
	font-family: 'Jost', 'Kiwi Maru', sans-serif;
	font-size: 1.1rem;
}
.takuhai-menu .column.c3 a p:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	border-radius: 50%;
	background: #f7f6f2 url(../img/link-ar_01.svg) center center no-repeat;
	background-size: 3rem;
	width: 3rem;
	height: 3rem;
	margin-top: -1.5rem;
}

.takuhai-popular {
	position: relative;
	padding: 1px 0 6rem 0;
	z-index: 2;
}
.takuhai-popular:before {
	content: "";
	position: absolute;
	top: -8rem;
	left: 50%;
	display: block;
	border-radius: 50%;
	background: #f7f6f2 url(../img/bg.png) left top;
	background-size: 64rem;
	width: 60rem;
	height: 31rem;
	margin-left: -30rem;
	z-index: -1;
}
.takuhai-popular .head1 {
	margin-top: -3rem !important;
}
.takuhai-popular .img-box {
	margin-bottom: 1.5rem;
}
.takuhai-popular h3 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.3;
}
.takuhai-popular .price {
	margin-top: 1.2rem;
	font-family: 'Jost', 'Kiwi Maru', sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
}
.takuhai-popular .price span {
	font-size: 1rem;
}

.takuhai-category {
	position: relative;
	background-color: #fff;
	padding: 10rem 0 18rem 0;
}
.category-area {
	position: relative;
	border-bottom: 1px dashed #ccc6b4;
	margin-bottom: 8rem;
	padding-bottom: 8rem;
}
.category-area:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
.category-area .column.c2 {
	margin-bottom: 6rem;
}
.category-area .column.c2 .box-left {
	width: 62.98%;
}
.category-area .column.c2 .box-right {
	width: 30.76%;
}
.category-area .column.c2 .img-box {
	padding-top: 54.96%;
}
.category-area .link {
	margin-top: 2rem;
	text-align: center;
}
.category-area .link a {
	position: relative;
	padding-right: 4rem;
	text-decoration: none;
}
.category-area .link a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	border-radius: 50%;
	background: #f7f6f2 url(../img/link-ar_01.svg) center center no-repeat;
	background-size: 3rem;
	width: 3rem;
	height: 3rem;
	margin-top: -1.5rem;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
.category-area .link a:hover {
	color: #ef8bc2 !important;
	padding-right: 5rem;
}
.category-area h3 {
	margin-bottom: 2.5rem;
	font-size: 3.2rem;
	font-weight: 500;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.2em;
}
.category-area h4 {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.3;
}
.category-area .column.c4 .img-box {
	margin-bottom: 1.5rem;
}
.category-area .price {
	margin-top: 1.2rem;
	font-family: 'Jost', 'Kiwi Maru', sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
}
.category-area .price span {
	font-size: 1rem;
}
.category-area .btn {
	margin-top: 6rem;
}




/* HHC */

.hhc .category-top .category-title {
	width: 51rem;
}

.hhc-menu {
	position: relative;
	background-color: #fff;
	padding: 5rem 0 8rem 0;
}
.hhc-area {
	border: 1px dashed #ccc6b4;
	box-shadow: 0 0 0 5px inset #fff;
	border-radius: 2rem;
	background-color: #f8f7f4;
	width: 88rem;
	margin: 0 auto;
	padding: 3rem 4rem 3.5rem 4rem;
}
.hhc-area dl {
	border-bottom: 1px dashed #ccc6b4;
	margin-bottom: 1.5rem;
	padding-bottom: 1.2rem;
}
.hhc-area dt {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1.2rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	color: #14a83b;
}
.hhc-area dt:before {
	content: "";
	display: block;
	background: url(../img/icon-voice-l.svg) center center no-repeat;
	background-size: 2.4rem;
	width: 2.4rem;
	height: 2.4rem;
}
.hhc-area dt:after {
	content: "";
	display: block;
	background: url(../img/icon-voice-r.svg) center center no-repeat;
	background-size: 2.4rem;
	width: 2.4rem;
	height: 2.4rem;
}
.hhc-area dd {
	text-align: center;
}
.hhc-menu .menu-list {
	position: relative;
	border-top: 1px dashed #ccc6b4;
	width: 100%;
}
.hhc-menu .menu-list .box {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px dashed #ccc6b4;
	width: 100%;
	padding: 3rem 0;
	z-index: 1;
}
.hhc-menu .menu-list .image {
	position: relative;
	width: 30rem;
}
.hhc-menu .menu-list .read {
	width: calc(100% - 33.5rem);
}

.hhc-omakase {
	background: url(../img/fotter-line.svg) center top repeat-x;
	background-size: 90rem;
	padding: 14rem 0 12rem 0;
}
.omakase-area {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-radius: 0 2rem 0 2rem;
	background-color: #fff;
	width: 88rem;
	margin: 0 auto;
	padding: 4rem 4.5rem 5rem 4.5rem;
}
.omakase-area:before {
	content: "";
	position: absolute;
	top: -4.5rem;
	left: -4.5rem;
	border-top: 12px solid #d5ebfa;
	border-left: 12px solid #d5ebfa;
	width: 8rem;
	height: 11.2rem;
}
.omakase-area:after {
	content: "";
	position: absolute;
	bottom: -4.5rem;
	right: -4.5rem;
	border-bottom: 12px solid #d5ebfa;
	border-right: 12px solid #d5ebfa;
	width: 8rem;
	height: 11.2rem;
}
.omakase-area .image {
	width: 38.46%;
}
.omakase-area .read {
	width: 56.41%;
}
.omakase-area h2 {
	margin-bottom: 1.5rem;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.4;
	color: #70b8eb;
}
.omakase-area ul {
	position: relative;
	display: flex;
	justify-content: center;
	width: 100%;
	margin-top: 4rem;
	z-index: 1;
}
.omakase-area ul li {
	position: relative;
	border: 1px dashed #70b8eb;
	border-radius: 10rem;
	width: 23rem;
	margin: 0 1.2rem;
	padding: 1.4rem 0.5rem 1.6rem 0.5rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
}
.omakase-area ul li:before {
	content: "";
	position: absolute;
	top: -0.4rem;
	left: -0.4rem;
	display: block;
	border-radius: 10rem;
	background-color: #ecf4f9;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.omakase-area ul li span {
	color: #70b8eb;
}

.hhc-healthcare {
	background-color: #fff;
	padding: 5rem 0 12rem 0;
}
.healthcare-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-bottom: 1px dashed #ccc6b4;
	width: 85rem;
	margin: 0 auto;
	padding-bottom: 2rem;
}
.healthcare-area .box {
	position: relative;
	border-radius: 1rem;
	background-color: #eff6fa;
	width: 47.05%;
	margin: 4rem 0;
	padding: 1px 3.5rem 3rem 3.5rem;
	z-index: 1;
}
.healthcare-area .box:before {
	content: "";
	display: block;
	position: absolute;
	top: -4rem;
	left: 50%;
	border-radius: 50%;
	background-color: #eff6fa;
	width: 14rem;
	height: 13rem;
	margin-left: -7rem;
	z-index: -1;
}
.healthcare-area .box:after {
	content: "";
	position: absolute;
	bottom: 1.5rem;
	right: 1.5rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 1.2rem 1.2rem;
	border-color: transparent transparent #70b8eb transparent;
}
.healthcare-area .box h3 {
	margin-top: -2rem;
	margin-bottom: 1.2rem;
	text-align: center;
	font-size: 1.9rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.08em;
	color: #70b8eb;
}
.healthcare-area .box h3 img {
	display: block;
	width: 5rem;
	margin: 0 auto 1.4rem auto;
}
.healthcare-btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 85rem;
	margin: 5rem auto 0 auto;
}
.healthcare-btn li {
	position: relative;
	width: 47.05%;
}
.healthcare-btn li.btn a {
	min-width: 100%;
	width: 100%;
	height: 8.6rem;
	font-size: 1.7rem;
}
.healthcare-btn li.btn a span {
	position: relative;
	display: inline-block;
	padding-left: 5.5rem;
	text-align: left;
}
.healthcare-btn li.btn a span img {
	position: absolute;
	top: 50%;
	left: 0;
	width: 4rem;
	height: 4rem;
	margin-top: -2rem;
}




/* details */

.details-top {
	position: relative;
	background: url(../img/header-line.svg) center bottom repeat-x;
	background-size: 90rem;
	width: 100%;
	padding: 13rem 0 10rem 0;
	z-index: 1;
}
.details-top .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	max-width: 120rem;
}
.details-top .image {
	width: 51.75%;
}
.details-top .read {
	width: 43.85%;
}
.details-top h1 {
	display: table;
	position: relative;
	background: url(../img/dot-line.svg) left bottom repeat-x;
	background-size: 64rem;
	margin-bottom: 3rem;
	padding-right: 1rem;
	padding-bottom: 2rem;
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.3;
	color: #14a83b !important;
}
.details-top dt {
	margin-bottom: 1rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
}

.details-top .cart-area {
	position: relative;
	border: 4px solid #d4cbb1;
	border-radius: 2rem;
	background-color: #fff;
	width: 100%;
	margin-top: 5rem;
	padding: 0.6rem;
	font-weight: 500;
	line-height: 1.4;
}
.details-top .cart-area .cart-area-inner {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 1px dashed #d4cbb1;
	border-radius: 1.4rem;
	padding: 3rem;
}
.details-top .cart-area .cart-area-data {
	width: calc(100% - 44rem);
	padding-right: 4rem;
}
.cart-area .cart-area-price {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2.2rem;
}
.cart-area .item-price-wrap {
	font-family: 'Jost', 'Kiwi Maru', sans-serif;
	font-size: 3.6rem;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}
.cart-area .item-price-wrap .item-tax {
	font-size: 1.4rem;
	font-weight: 500;
}
.cart-area .item-quantity {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #4f4844;
	padding: 0 0.5rem 0.5rem 0.5rem;
	width: 100%;
	max-width: 24rem;
	margin-left: 2rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}
.cart-area .item-quantity input {
	border: 1px solid #ccc6b4;
	border-radius: 0.4rem;
	width: 7rem;
	height: 3rem;
	font-family: 'Jost', sans-serif !important;
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 0;
	text-align: center;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
	opacity: 1;
}
.cart-area .makeshop-option-wrap {
	display: flex;
	margin-top: 0.8rem;
}
.cart-area .makeshop-option-wrap p {
	position: relative;
	padding-left: 1.8rem;
	padding-right: 1.5rem;
}
.cart-area .makeshop-option-wrap p:before {
	content: "";
	position: absolute;
	top: 0.7rem;
	left: 0;
	background: url(../img/terms/terms-num.png) center center no-repeat;
	background-size: 1.2rem;
	width: 1.2rem;
	height: 1.2rem;
}
.cart-area .makeshop-option-wrap label {
	position: relative;
}
.cart-area .makeshop-option-wrap label:after {
	content: "";
	position: absolute;
	top: 1rem;
	right: 0.5rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.8rem 0.4rem 0 0.4rem;
	border-color: #84746b transparent transparent transparent;
}
.cart-area .makeshop-option-wrap select {
	border-bottom: 1px solid #e9e5d8;
	height: 3rem;
	padding: 0 2.5rem 0 1.5rem;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0;
}
.details-top .cart-area .modal-open {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 44rem;
}
.details-top .cart-area .modal-open .favorite a {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #e9e5d8;
	border-radius: 4.6rem;
	background-color: #fff;
	width: 16rem;
	height: 4.6rem;
	font-size: 1.3rem;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
}
.details-top .cart-area .modal-open .favorite a:before {
	content: "";
	display: block;
	background: url(../img/icon-star.svg) center center no-repeat;
	background-size: 1.2rem;
	width: 1.6rem;
	height: 1.6rem;
	margin-right: 0.3rem;
}
.details-top .cart-area .modal-open .favorite a:hover {
	border: 1px solid #e6c83c;
	letter-spacing: 0.05em;
	color: #e6c83c;
}
.details-top .cart-area .modal-open p.btn {
	width: 26rem;
}
.details-top .cart-area .modal-open p.btn a {
	min-width: initial;
	width: 26rem;
	width: 100%;
	height: 7rem;
}
.details-top .cart-area .modal-open .outstock {
	display: block;
	border-radius: 7rem;
	background-color: #e9e5d8;
	width: 26rem;
	height: 7rem;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
	line-height: 7rem;
}
.details-top .cart-area .modal-open .outstock.off {
	display: none;
}




/* Normal page */

#contents.normal {
	padding-top: 15rem;
}

.normal-area {
	position: relative;
	background-color: #fff;
	width: 100%;
	padding-bottom: 10rem;
	z-index: 1;
}
.normal-area:before {
	content: "";
	position: absolute;
	top: -5rem;
	left: 0;
	display: block;
	background: url(../img/header-line.svg) center top repeat-x;
	background-size: 90rem;
	width: 100%;
	height: 5rem;
}
.normal-area-in {
	position: relative;
	background: #f7f6f2 url(../img/fotter-line.svg) center top repeat-x;
	background-size: 90rem;
	width: 100%;
	padding: 10rem 0;
	z-index: 1;
}

.normal-top {
	width: 100%;
	padding: 4rem 0 5rem 0;
}
.normal-top h1 {
	background: url(../img/logo-inner.png) center top no-repeat;
	background-size: 7.2rem;
	width: 100%;
	padding-top: 6.2rem;
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
}
.normal-top h1 span {
	display: block;
	margin-top: 1.4rem;
	font-family: 'Jost', sans-serif;
	font-size: 1.2rem;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #14a83b;
}




/* Terms */

.terms-menu {
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 0 2rem;
}
.terms-menu li {
	display: flex;
	border-radius: 1.4rem;
	width: 31%;
	padding: 0.4rem;
}
.terms-menu li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px dashed #d4cbb1;
	border-radius: 1rem;
	background-color: #fff;
	width: 100%;
	min-height: 9rem;
	padding: 1rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	text-decoration: none;
	text-align: center;
}
.terms-menu li a:hover {
	letter-spacing: 0.1em;
}
.terms-menu li a:before {
	content: "";
	position: absolute;
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
}
.terms-menu li a:after {
	content: "";
	position: absolute;
	right: 1.8rem;
	top: 50%;
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 2rem;
	width: 2rem;
	height: 2rem;
	margin-top: -1rem;
}
.terms-menu li:nth-of-type(1) {
	background-color: #fdf7e0;
}
.terms-menu li:nth-of-type(1) a:hover {
	color: #e5c855;
}
.terms-menu li:nth-of-type(1) a:before {
	top: -1.6rem;
	left: -1.6rem;
	background-image: url(../img/terms/terms-icon_01.png);
	background-size: 6rem;
	width: 6rem;
	height: 6.8rem;
}
.terms-menu li:nth-of-type(1) a:after {
	background-image: url(../img/btn-ar4.svg);
}
.terms-menu li:nth-of-type(2) {
	background-color: #fce7f1;
}
.terms-menu li:nth-of-type(2) a:hover {
	color: #f890ac;
}
.terms-menu li:nth-of-type(2) a:before {
	bottom: -2.3rem;
	left: 1.3rem;
	background-image: url(../img/terms/terms-icon_02.png);
	background-size: 7.8rem;
	width: 7.8rem;
	height: 5.8rem;
}
.terms-menu li:nth-of-type(2) a:after {
	background-image: url(../img/btn-ar5.svg);
}
.terms-menu li:nth-of-type(3) {
	background-color: #deeef9;
}
.terms-menu li:nth-of-type(3) a:hover {
	color: #7bb8e3;
}
.terms-menu li:nth-of-type(3) a:before {
	top: -4.7rem;
	right: -2rem;
	background-image: url(../img/terms/terms-icon_03.png);
	background-size: 8rem;
	width: 8rem;
	height: 7.6rem;
}
.terms-menu li:nth-of-type(3) a:after {
	background-image: url(../img/btn-ar6.svg);
}

.terms-pdf {
	position: relative;
	border: 0.5rem solid #f1eee7;
	border-radius: 1.5rem;
	background-color: #f8f7f4;
	width: 100%;
	margin: 8rem 0;
	padding: 3rem;
}
.terms-pdf:before {
	content: "";
	position: absolute;
	top: -4rem;
	left: 50%;
	display: block;
	border-radius: 50%;
	background-color: #f1eee7;
	width: 14.4rem;
	height: 13rem;
	margin-left: -7.2rem;
	z-index: -1;
}
.terms-pdf:after {
	content: "";
	position: absolute;
	top: -3.5rem;
	left: 50%;
	display: block;
	border-radius: 50%;
	background-color: #f8f7f4;
	width: 13.4rem;
	height: 12rem;
	margin-left: -6.7rem;
	z-index: 1;
}
.terms-pdf h2 {
	display: table;
	position: relative;
	background: url(../img/terms/terms-icon_04.svg) center top no-repeat;
	background-size: 3.5rem;
	margin: -5.2rem auto 2rem auto;
	padding: 5.2rem 0.5rem 0.5rem 0.5rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	z-index: 2;
}
.terms-pdf h2:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	border-radius: 2rem;
	background-color: #f6d5e6;
	display: block;
	width: 100%;
	height: 1.1rem;
	z-index: -1;
}
.terms-pdf div {
	position: relative;
	border: 1px dashed #d4cbb1;
	border-radius: 1rem;
	background-color: #fff;
	padding: 2.5rem 3rem;
	z-index: 2;
}
.terms-pdf h3 {
	display: table;
	position: relative;
	margin: 0 auto 2rem auto;
	padding: 0 3.8rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
}
.terms-pdf h3:before,
.terms-pdf h3:after {
	content: "";
	position: absolute;
	top: 50%;
	display: block;
	background-color: #4f4844;
	width: 2.5rem;
	height: 1px;
}
.terms-pdf h3:before {
	left: 0;
}
.terms-pdf h3:after {
	right: 0
}
.terms-pdf ul {
	display: flex;
	justify-content: space-between;
}
.terms-pdf ul li {
	width: 22.52%;
}
.terms-pdf a {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 0.3rem solid #f8f7f4;
	border-radius: 0.8rem;
	background-color: #fff;
	width: 100%;
	padding-bottom: 0.2rem;
	min-height: 7rem;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
}
.terms-pdf a:before {
	content: "";
	position: absolute;
	right: 0.5rem;
	bottom: 0.5rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 0.6rem 0.6rem;
	border-color: transparent transparent #d4cbb1 transparent;
}
.terms-pdf a:hover {
	border: 0.3rem solid #d65454;
	background-color: #d65454;
	color: #fff;
}
.terms-pdf a:hover:before {
	border-color: transparent transparent #fff transparent;
}
.terms-pdf a span {
	display: block;
	background: url(../img/terms/terms-pdf.svg) left center no-repeat;
	background-size: 2rem;
	padding-left: 3rem;
}
.terms-pdf a:hover span {
	background-image: url(../img/terms/terms-pdf-w.svg);
}

.terms-count {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.terms-count .box {
	width: 30.76%;
}
.terms-count .image {
	background-color: #fff;
	margin-bottom: 1.8rem;
	padding: 0.6rem;
	font-size: 0;
	box-shadow: 0 0 0.8rem rgba(99,94,50,0.13);
}
.terms-count h3 {
	margin-bottom: 1.5rem;
	font-size: 2.2rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.2;
	color: #14a83b;
}
.terms-count h3 span {
	display: block;
	margin-top: 0.8rem;
	font-family: 'Jost', sans-serif;
	font-size: 1rem;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #14a83b;
}

.terms-caution {
	counter-reset: terms;
	border-top: 1px dashed #d4cbb1;
}
.terms-caution dt {
	position: relative;
	margin-bottom: 1.5rem;
	padding-top: 2.8rem;
	padding-left: 4.8rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.06em;
}
.terms-caution dt:before {
	position: absolute;
	top: 2.7rem;
	left: 0;
	counter-increment: terms;
	content: counter(terms, decimal-leading-zero);
	background: url(../img/terms/terms-num.png) center center no-repeat;
	background-size: cover;
	width: 3.6rem;
	height: 3.6rem;
	font-family: 'Jost', sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 3.6rem;
	text-align: center;
	color: #fff;
}
.terms-caution dd {
	border-bottom: 1px dashed #d4cbb1;
	padding-left: 4.8rem;
	padding-bottom: 2.8rem;
}
.terms-caution dd em {
	font-style: normal;
	color: #7bb8e3;
}
.terms-caution + p {
	margin-top: 2.4rem;
	text-align: right;
}

.terms-delivery {
	font-weight: 500;
	text-align: center;
}
.terms-delivery span {
	background: -moz-linear-gradient(top,  rgba(222,238,249,0) 0%, rgba(222,238,249,0) 60%, rgba(222,238,249,1) 61%, rgba(222,238,249,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(222,238,249,0) 0%,rgba(222,238,249,0) 60%,rgba(222,238,249,1) 61%,rgba(222,238,249,1) 100%);
	background: linear-gradient(to bottom,  rgba(222,238,249,0) 0%,rgba(222,238,249,0) 60%,rgba(222,238,249,1) 61%,rgba(222,238,249,1) 100%);  
}




/* Guide */

.guide-read {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
}
.guide-read span {
	position: relative;
	display: inline-block;
	height: 4.2rem;
	margin: 0 0.6rem;
	padding: 0 2rem;
	font-size: 2.4rem;
	line-height: 4.2rem;
	white-space: nowrap;
	color: #14a83b;
}
.guide-read span:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	border-top: 4px solid #c4ecce;
	border-left: 4px solid #c4ecce;
	width: 1.4rem;
	height: 2rem;
}
.guide-read span:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	display: block;
	border-right: 4px solid #c4ecce;
	border-bottom: 4px solid #c4ecce;
	width: 1.4rem;
	height: 2rem;
}
.guide-main {
	width: 100%;
	max-width: 96rem;
	margin: 1rem auto 5rem auto;
	padding-left: 7.2916%;
}
.guide-pack {
	position: relative;
	border-radius: 3rem;
	box-shadow: 0 0 0 0.4rem inset #c4ecce;
	background-color: #fff;
	width: 100%;
	max-width: 90rem;
	margin: 6rem auto 10rem auto;
	padding: 5rem;
}
.guide-pack:last-child {
	margin-bottom: 0;
}
.guide-pack:before {
	content: "";
	position: absolute;
	top: -6rem;
	left: 50%;
	display: block;
	border-radius: 50%;
	background-color: #c4ecce;
	width: 30rem;
	height: 25rem;
	margin-left: -15rem;
	z-index: -1;
}
.guide-pack:after {
	content: "";
	display: block;
	position: absolute;
	top: -5.6rem;
	left: 50%;
	display: block;
	border-radius: 50%;
	background-color: #fff;
	width: 29.2rem;
	height: 24.2rem;
	margin-left: -14.6rem;
	z-index: 1;
}
.guide-pack h2 {
	position: relative;
	display: table;
	margin: -8rem auto 2rem auto;
	padding: 0 1rem 0.5rem 0.7rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1;
	z-index: 2;
}
.guide-pack h2:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	border-radius: 2rem;
	background-color: #c4ecce;
	display: block;
	width: 100%;
	height: 1.1rem;
	z-index: -1;
}
.guide-pack h2 span {
	display: table;
	border-radius: 2rem;
	background-color: #14a83b;
	margin: 0 auto 1.2rem auto;
	padding: 0.4rem 1rem;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	color: #fff;
}
.guide-pack img {
	position: relative;
	z-index: 2;
}




/* Storage Service  */

.storage-menu {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 2rem 0 6rem 0;
}
.storage-menu li {
	border-left: 1px dashed #ccc6b4;
	width: 25%;
}
.storage-menu li:nth-of-type(4n) {
	border-right: 1px dashed #ccc6b4;
}
.storage-menu li:nth-of-type(n+5) {
	margin-top: 2.5rem;
}
.storage-menu a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 7.6rem;
	padding: 0.8rem 0 2.4rem 0;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none;
	color: #4f4844;
}
.storage-menu a:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	display: block;
	background: url(../img/storage/storage-ar.svg) center center no-repeat;
	background-size: 1.6rem;
	width: 1.6rem;
	height: 1.6rem;
	margin-left: -0.8rem;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
.storage-menu a:hover:after {
	bottom: -0.5rem;
}
.storage-menu a span {
	display: inline;
}
.storage-menu a:hover span {
	background: -moz-linear-gradient(top,  rgba(222,238,249,0) 0%, rgba(222,238,249,0) 60%, rgba(222,238,249,1) 61%, rgba(222,238,249,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(222,238,249,0) 0%,rgba(222,238,249,0) 60%,rgba(222,238,249,1) 61%,rgba(222,238,249,1) 100%);
	background: linear-gradient(to bottom,  rgba(222,238,249,0) 0%,rgba(222,238,249,0) 60%,rgba(222,238,249,1) 61%,rgba(222,238,249,1) 100%);  
}
.storage-menu a div {
	position: relative;
	padding-left: 5.5rem;
	text-align: left;
}
.storage-menu a div:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 4.6rem;
	display: block;
	width: 4.6rem;
	height: 3.6rem;
	margin-top: -1.8rem;
}
.storage-menu a[href="#storage1"] div:before {
	background-image: url(../img/storage/storage-icon_01.png);
}
.storage-menu a[href="#storage2"] div:before {
	background-image: url(../img/storage/storage-icon_02.png);
}
.storage-menu a[href="#storage3"] div:before {
	background-image: url(../img/storage/storage-icon_03.png);
}
.storage-menu a[href="#storage4"] div:before {
	background-image: url(../img/storage/storage-icon_04.png);
}
.storage-menu a[href="#storage5"] div:before {
	background-image: url(../img/storage/storage-icon_05.png);
}
.storage-menu a[href="#storage6"] div:before {
	background-image: url(../img/storage/storage-icon_06.png);
}
.storage-menu a[href="#storage7"] div:before {
	background-image: url(../img/storage/storage-icon_07.png);
}
.storage-menu a[href="#storage8"] div:before {
	background-image: url(../img/storage/storage-icon_08.png);
}

.storage-list {
	border-radius: 1rem;
	background-color: #fff;
	width: 100%;
	margin-top: 2rem;
	padding: 0 2rem;
}
.storage-list dt {
	position: relative;
	padding: 3rem 0 3rem 6rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	cursor: pointer;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
.storage-list dt:hover {
	color: #14a83b;
}
.storage-list dd {
	display: none;
	border-top: 1px dashed #ccc6b4;
	position: relative;
	padding: 2.5rem 0 2.5rem 6rem;
	font-size: 1.6rem;
}
.storage-list dt:before,
.storage-list dd:before {
	content: "";
	position: absolute;
	left: 0.5rem;
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 3.8rem;
	width: 3.8rem;
	height: 3.8rem;
}
.storage-list dt:before {
	top: 2.5rem;
	background-image: url(../img/storage/storage-q.png);
}
.storage-list dd:before {
	top: 2rem;
	background-image: url(../img/storage/storage-a.png);
}
.storage-list dt:after {
	content: "\FF0B";
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -1.7rem;
	font-size: 3rem;
	font-weight: 500;
	line-height: 1;
	color: #14a83b;
}
.storage-list dt.active:after {
	content: "\FF0D";
}
.storage-list a {
	color: #f3aacf;
}
.storage-list + .head1 {
	margin-top: 10rem;
}




/* Policy */

.policy {
	position: relative;
	padding-left: 4.5rem;
}
.policy h3 {
	position: relative;
	margin: 4.5rem 0 2rem 0;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.2;
}
.policy h3 span {
	position: absolute;
	top: 0;
	left: -4.5rem;
	color: #14a83b;
}
.policy h4 {
	margin: 2rem 0 1rem 0;
}
.policy p {
	margin: 1rem 0;
}
.policy h3:last-child,
.policy h4:last-child,
.policy p:last-child {
	margin-bottom: 0;
}
.policy ul > li {
	position: relative;
	padding-left: 1.6rem;
}
.policy ul > li:before {
	content: "";
	position: absolute;
	top: 1.2rem;
	left: 0.4rem;
	display: block;
	border-radius: 0.6rem;
	background-color: #a3d2f3;
	width: 0.6rem;
	height: 0.6rem;
}
.policy .caution {
	margin-top: 0.5rem;
	font-size: 1.4rem;
}
.policy ul.caution > li {
	padding-left: 1.8rem;
}
.policy ul.caution > li:before {
	content: "※";
	top: 0;
	left: 0;
	display: inline;
	border-radius: initial;
	background-color: initial;
	width: initial;
	height: initial;
}
.policy ol {
	counter-reset: item;
}
.policy ol > li {
	position: relative;
	padding-left: 2rem;
}
.policy ol > li:before {
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: item;
	content: counter(item);
}
.policy ol.type2 > li {
	padding-left: 3rem;
}
.policy ol.type2 > li:before {
	content: "("counter(item)")";
}
.policy .indent {
	margin-left: 3rem;
}
.policy .change {
	margin-top: 7rem;
	text-align: right;
}




/* Contract */

.contract {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.contract dt {
	border-bottom: 1px dashed #ccc6b4;
	width: 20rem;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	font-weight: 500;
	color: #14a83b;
}
.contract dd {
	border-bottom: 1px dashed #ccc6b4;
	width: calc(100% - 20rem);
	margin-bottom: 2rem;
	padding-bottom: 2rem;
}
.contract ul > li {
	position: relative;
	padding-left: 1.8rem;
}
.contract ul > li:before {
	content: "";
	position: absolute;
	top: 1rem;
	left: 0.3rem;
	display: block;
	border-radius: 1rem;
	background-color: #a3d2f3;
	width: 1rem;
	height: 1rem;
}
.contract.about {
	margin-top: 10rem;
}
.contract.about dt {
	color: #4f4844;
}




/* Cart */

.cart-list {
	border: 4px solid #d4cbb1;
	border-radius: 1rem;
	background-color: #fff;
	width: 100%;
	padding: 2.5rem 3rem;
}
.cart-list-table {
	width: 100%;
}
.cart-list-table tr th,
.cart-list-table tr td {
	padding-left: 1.5rem;
	text-align: center;
}
.cart-list-table tr th:first-child,
.cart-list-table tr td:first-child {
	width: 48rem;
	padding-left: 0;
	text-align: left;
}
.cart-list-table thead div {
	border: 1px dashed #ccc6b4;
	border-radius: 0.4rem;
	padding: 0.6rem 1rem;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.01em;
	text-align: center;
	white-space: nowrap;
}
.cart-list-table thead div span {
	font-size: 1.2rem;
}
.cart-list-table tbody tr {
	border-bottom: 1px dashed #ccc6b4;
}
.cart-list-table tbody td {
	vertical-align: middle;
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.item-cart-data {
	max-width: 48rem;
	overflow: hidden;
}
.item-cart-data .cart-image {
	float: left;
	width: 19rem;
	height: 100%;
}
.item-cart-data .cart-title {
	margin-left: 21rem;
	margin-bottom: 1rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.4;
}
.item-cart-data dl {
	margin-left: 21rem;
	font-size: 1.4rem;
}
.item-cart-data dl dt {
	font-weight: 500;
}
.item-cart-data dl dd {
	position: relative;
	margin-top: 0.5rem;
	padding-left: 1.4rem;
	line-height: 1.5;
}
.item-cart-data dl dd:before {
	content: "";
	position: absolute;
	top: 0.7rem;
	left: 0.2rem;
	display: block;
	border-radius: 0.8rem;
	background-color: #cbc0b4;
	width: 0.8rem;
	height: 0.8rem;
}
.item-cart-price,
.item-cart-subtotal {
	font-family: 'Jost', sans-serif;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0;
	white-space: nowrap;
}
.item-cart-quantity input {
	vertical-align: bottom;
	border: 1px solid #ccc6b4;
	border-radius: 0.4rem;
	width: 4.6rem;
	height: 3rem;
	font-family: 'Jost', sans-serif !important;
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 0;
}
.item-cart-quantity a {
	vertical-align: bottom;
	display: inline-block;
	border-radius: 0.4rem;
	background-color: #f1f1ea;
	height: 3rem;
	margin-left: 2px;
	padding: 0 0.5rem;
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 3rem;
	text-decoration: none;
}
.item-cart-delete a {
	vertical-align: bottom;
	display: inline-block;
	border-radius: 0.4rem;
	background-color: #fff;
	width: 3rem;
	height: 3rem;
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 2.6rem;
	text-decoration: none;
}
.item-cart-quantity a:hover,
.item-cart-delete a:hover {
	background-color: #ccc6b4;
}
.item-cart-sp {
	border-bottom: none !important;
	height: 3rem;
}
.item-cart-sp td {
	padding: 0 !important;
}
.item-cart-total {
	border-bottom: none !important;
}
.item-cart-total td {
	background-color: #f1f1ea;
	padding-top: 2rem !important;
	padding-bottom: 2rem !important;
}
.item-cart-total td:first-child {
	border-radius: 0.8rem 0 0 0.8rem;
}
.item-cart-total td:last-child {
	border-radius: 0 0.8rem 0.8rem 0;
}
.item-cart-total .total-title {
	vertical-align: middle;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: right !important;
}
.item-cart-total .total-price {
	font-family: 'Jost', sans-serif;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0;
	white-space: nowrap;
}

.cart-button {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	width: 100%;
	margin-top: 5rem;
}
.cart-button ul {
	display: flex;
}
.cart-button.btn a {
	min-width: 36rem;
}
.cart-button.btn .sub li {
	margin-right: 2rem;
}
.cart-button.btn .sub a {
	border: 2px solid #14a83b;
	background-color: #fff;
	min-width: 28rem;
	color: #14a83b;
}
.cart-button.btn .sub a:before {
	background-image: url(../img/btn-ar3.svg);
}
.cart-button.btn .sub a:after {
	background-color: #f8e9a3;
}

.incart-total-item {
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
}




/* Font color */

.cleaning .head1 {
	background-image: url(../img/dot_02.png);
}
.cleaning .column.popular h3 span {
	background-color: #e6c83c;
}
.cleaning .head2,
.cleaning .category-top .category-title h1,
.cleaning .column.popular h3 {
	color: #e6c83c !important;
}

.takuhai .head1 {
	background-image: url(../img/dot_03.png);
}
.takuhai .head2,
.takuhai .category-top .category-title h1,
.takuhai .column.popular h3 {
	color: #ef8bc2 !important;
}

.hhc .head1 {
	background-image: url(../img/dot_04.png);
}
.hhc .head2,
.hhc .category-top .category-title h1,
.hhc .column.popular h3 {
	color: #70b8eb !important;
}

/*  デラックスクリーニング追記 */

p.dx-lead {
    background-image: url(https://gigaplus.makeshop.jp/empire1912ec/assets/img/cleaning/cleaning-dx-bg_dxlead.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 610px;
    text-align: left !important;
}