@charset "UTF-8";
/* CSS Document */


/* ////////////////////////////////////////////////////////////////////////////////

	Common

//////////////////////////////////////////////////////////////////////////////// */
@font-face {
	font-family: 'sns_icon';
	src: url('../font/sns_icon.eot?hf355k');
	src: url('../font/sns_icon.eot?hf355k#iefix') format('embedded-opentype'),
	url('../font/sns_icon.ttf?hf355k') format('truetype'),
	url('../font/sns_icon.woff?hf355k') format('woff'),
	url('../font/sns_icon.svg?hf355k#sns_icon') format('svg');
	font-weight: normal;
	font-style: normal;
}

i.snsIcon {
	font-family: 'sns_icon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	color: #000;
}
.icon-ap:before { content: "\e900";}
.icon-blo:before { content: "\e901";}
.icon-fb:before { content: "\e902";}
.icon-hp:before { content: "\e903";}
.icon-in:before { content: "\e904";}
.icon-line:before { content: "\e905";}
.icon-spo:before { content: "\e906";}
.icon-tt:before { content: "\e907";}
.icon-tw:before { content: "\e908";}
.icon-yt:before { content: "\e909";}



body {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: 15px;
	line-height: 2;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	color: #1F1F1F;
}

img {
	max-width: 100%;
	height: auto;
}
ul { list-style: none;}

main {
    padding-top: 112px;
}

.ar { text-align: right;}
.ac { text-align: center;}

.anim {
	opacity: 0;
	transition: all .3s ease-out;
}
.anim.on {
	opacity: 1;
}

@media screen and (min-width: 821px) {

	.sp { display: none;}

	a { transition: all 0.3s ease-out;}
	a:hover { opacity: 0.5;}

}
@media screen and (max-width: 820px) {

	body {
		font-size: min(3.4vw, 15px);
	}
	.pc { display: none;}

	main {
		padding-top: 71px;
	}
}



/* ////////////////////////////////////////////////////////////////////////////////

	Header

//////////////////////////////////////////////////////////////////////////////// */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #fff;
	border-bottom: #ccc solid 1px;
	z-index: 1000;
}
header h1 {
	line-height: 0;
    padding-left: 30px;
	display: flex;
	align-items: center;
}
header h1 .logoSpa {
	width: 180px;
	margin-right: 30px;
}
header h1 .logoCare {
	width: 100px;
}


header .hdrNav {
	display: flex;
	justify-content: space-between;
	height: 100%;
    width: 45%;
    max-width: 620px;
}
header .hdrNav li {
	width: calc(100% / 6);
	position: relative;
}
header .hdrNav li a {
	color: #1F1F1F;
	text-decoration: none;
	font-size: 13px;
	text-align: center;
	display: block;
    padding-top: 40px;
}
header .hdrNav li.navAbout a {
	background: url("../images/menu01.svg") no-repeat center top;
	background-size: 26px;
}
header .hdrNav li.navService a {
	background: url(../images/menu02.svg) no-repeat center top;
    background-size: 26px;
}
header .hdrNav li.navShop a {
	background: url(../images/menu03.svg) no-repeat center 2px;
    background-size: 35px;
}
header .hdrNav li.navNews a {
	background: url("../images/menu04.svg") no-repeat center top;
	background-size: 34px;
}
header .hdrNav li.navFaq a {
	background: url("../images/menu06.svg") no-repeat center top;
	background-size: 32px;
}
header .hdrNav li.navCompany a {
	background: url("../images/menu07.svg") no-repeat center top;
	background-size: 28px;
}
header .hdrNav li.navRecruit a {
	background: url("../images/menu08.svg") no-repeat center top;
    background-size: 29px;
}

header .hdrNav li .pullDown {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, calc(100% + 40px));
    background-color: #fff;
	padding: 10px 20px;
	border-radius: 6px;
    min-width: 200px;
	display: none;
    box-shadow: 0px 0px 6px 0px rgb(0 0 0 / 15%);
}
header .hdrNav li .pullDown::before {
	content: "";
	display: block;
    width: 20px;
    height: 20px;
    background-color: #fff;
	position: absolute;
	top: 0;
	left: 50%;
    transform: translate(-50%,-50%) rotate(45deg);
    box-shadow: -2px -2px 2px 0px rgb(0 0 0 / 10%);
}
header .hdrNav li .pullDown li {
    width: 100%;
	border-bottom: #ccc solid 1px;
	padding: 5px 0;
}
header .hdrNav li .pullDown li:last-child {
	border: none;
}
header .hdrNav li .pullDown li a {
	background: none;
	padding: 0;
	white-space: nowrap;
	text-align: left;
	font-size: 12px;
	letter-spacing: .06em;
}

header .hdrNav li .pullDown li.first a {
	background: url("../images/beginner_mark_y.svg") no-repeat left center;
	background-size: 12px;
	padding-left: 20px;
}

header .hdrRight {
	display: flex;
	flex-direction: column;
	margin-right: 112px;
}
header .hdrRight a {
	font-family: 'Josefin Sans', sans-serif;
	text-decoration: none;
	text-align: center;
	padding: 0 20px 0 55px;
	position: relative;
	font-size: 15px;
	height: 56px;
	line-height: 56px;
}
header .hdrRight a.hdrInsta {
	color: #fff;
	background-color: #E89979;
}
header .hdrRight a.hdrStore {
	color: #1F1F1F;
	background-color: #EBEBEB;
}
header .hdrRight a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 20px;
	width: 20px;
	height: 20px;
}
header .hdrRight a.hdrInsta::before {
	background: url("../images/ico_insta.svg") no-repeat center center;
	background-size: contain;
	transform: translateY(-50%);
}
header .hdrRight a.hdrStore::before {
	background: url("../images/ico_store.svg") no-repeat center center;
	background-size: contain;
	transform: translateY(-60%);
}


#menuButton {
	display: block;
	width: 112px;
	height: 112px;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999;
	background-color: #fff;
	color: #000;
	text-decoration: none;
	transition: none;
}
#menuButton .close {
	display: none;
}
#menuButton span {
	display: block;
	background: #000;
	width: 40px;
	height: 2px;
	position: absolute;
	left: 36px;
	transition: transform 0.4s;
}
#menuButton p {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 10px;
	width: 100%;
	text-align: center;
	position: absolute;
	left: 0;
	bottom: 30px;
	letter-spacing: 0.2em;
}

#menuButton span:nth-child(1) { top: 36px;}
#menuButton span:nth-child(2) { top: 50px;}
#menuButton.active span:nth-child(1) { transform: translateY(7px) rotate(45deg);}
#menuButton.active span:nth-child(2) { transform: translateY(-7px) rotate(-45deg);}


#globalNavi {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 8000;
	height: 100%;
	width: 100%;
	background-color: rgba(0,0,0,0.60);
}
#globalNavi .gnavInner {
	background-color: #fff;
    width: 80%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	padding: 60px;
	margin-left: 20%;
}
#globalNavi .gnavInner2 {
	display: flex;
	justify-content: space-between;
}

#globalNavi .gnavClmMain {
	width: 62%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#globalNavi .gnavClmMain .gnavItem {
	margin-bottom: 4vh;
	width: 46%;
}
#globalNavi .gnavClmMain .gnavItem h3 {
	font-size: 18px;
	border-bottom: #000 solid 1px;
	padding: 10px 0 10px 50px;
    margin-bottom: 20px;
}
#globalNavi .gnavClmMain .gnavItem.menu01 h3 { background: url("../images/menu01.svg") no-repeat left center; background-size: auto 60%;}
#globalNavi .gnavClmMain .gnavItem.menu02 h3 { background: url("../images/menu02.svg") no-repeat 5px center; background-size: auto 60%;}
#globalNavi .gnavClmMain .gnavItem.menu03 h3 { background: url("../images/menu03.svg") no-repeat left center; background-size: auto 46%;}
#globalNavi .gnavClmMain .gnavItem.menu04 h3 { background: url("../images/menu04.svg") no-repeat left center; background-size: auto 52%;}
#globalNavi .gnavClmMain .gnavItem.menu05 h3 { background: url("../images/menu06.svg") no-repeat 3px center; background-size: auto 60%;}
#globalNavi .gnavClmMain a {
	color: #000;
	text-decoration: none;
}
#globalNavi .gnavClmMain ul li {
	font-size: 14px;
	margin-bottom: 8px;
}
#globalNavi .gnavClmMain .gnavItem.menu03 ul {
	display: flex;
	flex-wrap: wrap;
}
#globalNavi .gnavClmMain .gnavItem.menu03 ul li {
	width: 50%;
}


#globalNavi .rightClm {
	width: 30%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#globalNavi .rightClm .sideMenu li {
	font-size: 12px;
}
#globalNavi .rightClm .sideMenu li.blank a {
	padding-right: 15px;
	background: url("../images/ico_blank.svg") no-repeat right center;
	background-size: 7px;
}
#globalNavi .rightClm a {
	color: #000;
	text-decoration: none;
}
#globalNavi .rightClm .menuBtn {
	margin-bottom: 4vh;
}
#globalNavi .rightClm .menuBtn .btnCheck a {
	display: block;
	background: #FFC74A url("../images/ico_check.svg") no-repeat 8% center;
	background-size: 8%;
	text-align: center;
	color: #fff;
    padding: 20px 8% 20px 22%;
	font-size: 14px;
    max-width: 280px;
}
#globalNavi .rightClm .menuBtn .btnRecruit {
	margin-top: 20px;
}
#globalNavi .rightClm .menuBtn .btnRecruit a {
	display: block;
	background: #97CBE0 url("../images/ico_recruit.svg") no-repeat 8% center;
	background-size: 9%;
	text-align: center;
	color: #fff;
    padding: 20px 8% 20px 22%;
	font-size: 14px;
    max-width: 280px;
}


@media screen and (max-width: 1060px) {

	header .hdrNav {
		display: none;
	}

}
@media screen and (max-width: 820px) {

	header h1 {
		width: 140px;
		padding-left: 15px;
	}
	header h1 .logoSpa {
		margin-right: 0;
	}
	header .hdrRight {
		margin-right: 70px;
	}
	header .hdrRight a {
    	padding: 0 10px 0 34px;
		font-size: 11px;
		height: 35px;
		line-height: 35px;
	}
	header .hdrRight a::before {
    	left: 12px;
		width: 14px;
		height: 18px;
	}

	#menuButton {
		width: 70px;
		height: 70px;
	}
	#menuButton span {
		width: 34px;
		left: 18px;
	}
	#menuButton span:nth-child(1) {
		top: 20px;
	}
	#menuButton span:nth-child(2) {
		top: 32px;
	}
	#menuButton.active span:nth-child(1) {
		transform: translateY(6px) rotate(45deg);
	}
	#menuButton.active span:nth-child(2) {
		transform: translateY(-6px) rotate(-45deg);
	}

	#menuButton p {
		bottom: 10px;
		text-indent: 0.2em;
	}


	#globalNavi .gnavInner {
		width: 100%;
    	padding: 16vw 8vw;
		margin-left: 0;
		overflow: auto;
   		display: block;
	}
	#globalNavi .gnavInner2 {
		display: block;
	}

	#globalNavi .gnavClmMain {
		width: 100%;
		display: block;
	}
	#globalNavi .gnavClmMain .gnavItem {
		margin-bottom: 6vw;
		width: 100%;
	}
	#globalNavi .gnavClmMain .gnavItem h3 {
		font-size: 3.8vw;
		padding: 2vw 0 2vw 10vw;
		margin-bottom: 4vw;
	}
	#globalNavi .gnavClmMain ul li {
		font-size: 3.4vw;
		margin-bottom: 2vw;
	}
	#globalNavi .gnavClmMain .gnavItem.menu02 ul,
	#globalNavi .gnavClmMain .gnavItem.menu05 ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	#globalNavi .gnavClmMain .gnavItem.menu02 ul li,
	#globalNavi .gnavClmMain .gnavItem.menu05 ul li {
		width: 48%;
	}
	#globalNavi .gnavClmMain .gnavItem.menu03 ul li {
		width: 33.3%;
	}

	#globalNavi .rightClm {
		margin-top: 14vw;
		width: 100%;
	}
	#globalNavi .rightClm .sideMenu {
		margin-bottom: 8vw;
	}
	#globalNavi .gnavClm .sideMenu li {
		font-size: 3vw;
	}

	#globalNavi .rightClm .menuBtn {
		margin-bottom: 0;
	}
	#globalNavi .rightClm .menuBtn .btnCheck a {
		background-size: 6%;
		padding: 6% 8% 6% 16%;
		font-size: 3.6vw;
		width: 100%;
    	max-width: inherit;
	}
	#globalNavi .rightClm .menuBtn .btnRecruit {
		margin-top: 4vw;
	}
	#globalNavi .rightClm .menuBtn .btnRecruit a {
		background-size: 6%;
		padding: 6% 8% 6% 16%;
		font-size: 3.6vw;
		width: 100%;
    	max-width: inherit;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	Footer

//////////////////////////////////////////////////////////////////////////////// */
footer {
	padding: 60px;
}
footer .ftrRow {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}

footer .toPagetop a {
    text-decoration: none;
    color: #000;
    font-size: 12px;
    letter-spacing: 0.06em;
    display: block;
    position: relative;
    padding: 10px 45px 10px 0;
}
footer .toPagetop a::after {
    content: "";
    background: #F5F5F5 url(../images/arrow.svg) no-repeat center center;
    background-size: 15px;
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(-90deg);
    z-index: -1;
}

footer .ftrMenu {
	display: flex;
    margin-bottom: 20px;
}
footer .ftrMenu li {
	margin-right: 20px;
}
footer .ftrMenu li a {
	font-size: 12px;
	text-decoration: none;
	color: #000;
}
footer .ftrMenu li.blank a {
    padding-right: 15px;
    background: url(../images/ico_blank.svg) no-repeat right center;
    background-size: 7px;
}
footer .ftrSns a {
	display: block;
	width: 24px;
}

footer .ftrLogo {
	width: 170px;
	line-height: 0;
}
footer .copyright {
	font-size: 10px;
}

@media screen and (max-width: 820px) {

	footer {
		padding: min(10vw, 60px) min(6vw, 60px);
	}
	footer .ftrRow {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: min(8vw, 30px);
	}

	footer .ftrmenuWrap {
		margin-bottom: min(10vw, 60px);
	}

	footer .ftrMenu {
		display: block;
		text-align: center;
		margin-bottom: min(6vw, 30px);
	}
	footer .ftrMenu li {
		margin-right: 0;
		margin-bottom: min(2vw, 15px);
	}
	footer .ftrMenu li a {
		font-size: min(3vw, 12px);
		text-decoration: none;
		color: #000;
	}
	footer .ftrSns a {
		width: min(6vw, 24px);
    	margin: 0 auto;
    	line-height: 0;
	}

	footer .toPagetop a {
		font-size: 11px;
		letter-spacing: 0.06em;
		padding: 7px 45px 7px 0;
	}
	footer .toPagetop a::after {
		background-size: 12px;
		width: 35px;
		height: 35px;
		top: 50%;
	}

	footer .ftrLogo {
		width: min(30vw, 170px);
		margin-bottom: min(6vw, 30px);
	}
	footer .copyright {
		font-size: min(2.6vw, 10px);
	}
}



/* ////////////////////////////////////////////////////////////////////////////////

	Opening

//////////////////////////////////////////////////////////////////////////////// */
#op {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
}
#op div {
	line-height: 0;
	width: 240px;
	opacity: 0;
	animation: opLogo .8s ease-out .6s forwards;
}

@keyframes opLogo {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

@media screen and (max-width: 820px) {

	#op div {
    	width: min(38vw, 240px);
	}

}

/* ////////////////////////////////////////////////////////////////////////////////

	Top page

//////////////////////////////////////////////////////////////////////////////// */

#mainvisual {
	padding-top: 112px;
	box-sizing: border-box;
	display: flex;
	position: relative;
	padding-bottom: 46.45%;
	opacity: 0;
	animation: opMv 1.2s cubic-bezier(0.16, 1, 0.3, 1) 3s forwards;
}
#topics + #mainvisual {
	padding-top: 0;
}
@keyframes opMv {
	0% { opacity: 0; transform: scale(1.1);}
	100% { opacity: 1; transform: scale(1);}
}
#mainvisual::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(59,46,11,0.45), rgba(59,46,11,0));
}
#mainvisual .bgLeft {
	display: flex;
	flex-wrap: wrap;
	width: 50%;
	height: calc(100% - 112px);
	position: absolute;
	top: 112px;
	left: 0;
}
#mainvisual .bgLeft div {
	width: 50%;
    height: 50%;
}
#mainvisual .bgLeft div img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#mainvisual .bgRight {
	width: 50%;
	height: calc(100% - 112px);
	position: absolute;
	top: 112px;
	right: 0;
}
#mainvisual .bgRight img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


#topics + #mainvisual .bgLeft,
#topics + #mainvisual .bgRight {
	height: 100%;
	top: 0;
}

#mainvisual .catchcopy {
	position: absolute;
	top: 50%;
	left: 7%;
	z-index: 1;
	color: #fff;
}
#mainvisual .catchcopy .catchEn {
    font-size: 4.1vw;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: bold;
    letter-spacing: .04em;
    line-height: 1.4;
	opacity: 0;
	animation: opCatch 1s ease-out 3.2s forwards;
}
#mainvisual .catchcopy .catchJp {
    font-size: 1.9vw;
    letter-spacing: .06em;
    text-indent: 0.18em;
	opacity: 0;
	animation: opCatch 1s ease-out 3.5s forwards;
}
@keyframes opCatch {
	0% { opacity: 0; transform: translateY(20px);}
	100% { opacity: 1; transform: translateY(0);}
}


#mainvisual .chatBtn {
	position: absolute;
	bottom: 30px;
	left: 30px;
	z-index: 2;
}
#mainvisual .chatBtn a {
	display: block;
	background: #fff url("../images/ico_chat.svg") no-repeat 15px center;
	background-size: 20px;
	color: #E89979;
	text-align: center;
	text-decoration: none;
	padding: 12px 20px 12px 45px;
	font-size: 13px;
	border-radius: 40px;
}

.checkBtn {
	position: fixed;
	bottom: 15%;
	right: 0;
    z-index: 2;
}
.checkBtn a {
	display: block;
	background-color: #FFC74A;
	text-align: center;
	color: #fff;
	text-decoration: none;
	border: #fff solid 2px;
	border-right: none;
	border-radius: 8px 0 0 8px;
    padding: 50px 20px 15px;
	font-size: 14px;
	line-height: 1.5;
	position: relative;
}
.checkBtn a::before {
	content: "";
	display: block;
	width: 10px;
	height: 15px;
	border-right: #fff solid 2px;
	border-bottom: #fff solid 2px;
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
}


#topics {
	background-color: #F8F8F8;
	padding: 137px 60px 25px;
	text-align: center;
}
#topics a {
	text-decoration: underline;
	color: #1F1F1F;
	font-size: 15px;
}
#topics a:hover {
	text-decoration: none;
}

#topAbout {
	padding: 100px 60px;
	background: url("../images/top_about_bg.png") no-repeat 20% top;
	background-size: 520px;
}
#topAbout .aboutCatch {
	line-height: 0;
	max-width: 620px;
	margin: 0 auto 40px;
}
#topAbout p {
	text-align: center;
	font-size: 18px;
	line-height: 2.4;
}



#topTopics {
	padding: 80px 0;
}
#topTopics .secHead {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1280px;
	padding: 0 60px;
	margin: 0 auto 40px;
}
.secHead h2 {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 64px;
	font-weight: 600;
	letter-spacing: .08em;
	line-height: 1.4;
}

#topTopics .secHead .topicsTab {
	display: flex;
}
#topTopics .secHead .topicsTab li {
	margin-left: 20px;
}
#topTopics .secHead .topicsTab li a {
	display: block;
	border: #E6E6E6 solid 2px;
	color: #000;
	text-decoration: none;
	text-align: center;
	width: 140px;
	padding: 10px;
	font-size: 12px;
	border-radius: 6px;
}
#topTopics .secHead .topicsTab li a.on {
	border: #E89979 solid 2px;
	color: #fff;
	background-color: #E89979;
}

.contentWrap {
	max-width: 1120px;
	margin: 0 auto;
	padding-right: 60px;
	padding-left: 60px;
}


#topics02,
#topics03 {
	display: none;
}

.topicsWrap {
	padding: 60px;
	background-color: #F8F8F8;
}
.topicsWrap .topicsList {
	display: flex;
	margin-bottom: 40px;
}
.topicsWrap .topicsList li {
	width: 25%;
	padding: 0 3%;
}
.topicsWrap .topicsList li .thumb {
	line-height: 0;
	margin-bottom: 10px;
}
.topicsWrap .topicsList li .thumb a {
	display: block;
	position: relative;
	padding-top: 100%;
}
.topicsWrap .topicsList li .thumb a img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.topicsWrap .topicsList li .ttl {
	margin-bottom: 10px;
	font-size: 14px;
}
.topicsWrap .topicsList li .ttl a {
	color: #000;
	text-decoration: underline;
}
.topicsWrap .topicsList li .date {
	color: #999;
}

.viewMore {
	text-align: right;
}
.viewMore a {
	font-size: 13px;
	color: #000;
	text-decoration: none;
	display: inline-block;
	padding-right: 25px;
	background: url("../images/arrow.svg") no-repeat right center;
	background-size: 15px;
}



#topService {
	padding: 80px 0 180px;
	position: relative;
}

#topService::before {
	content: "";
	display: block;
	position: absolute;
	top: 8%;
	left: 0;
	background-color: #F8F8F8;
	width: 60%;
	height: 60%;
    z-index: -1;
}
#topService .secHead {
	display: flex;
	flex-direction: row-reverse;
	max-width: 1280px;
	padding: 0 60px;
	margin: 0 auto 80px;
}

.serviceList {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
.serviceList li {
	width: 50%;
	padding: 0 3%;
	margin-bottom: 60px;
}
.serviceList li a {
	display: block;
	color: #000;
	text-decoration: none;
	position: relative;
}
.serviceList li .icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 46px;
	height: 46px;
}
.serviceList li .icon.ico01 {
	background: #5FBDC9 url("../images/icon01.svg") no-repeat center center;
	background-size: 40%;
}
.serviceList li .icon.ico02 {
	background: #78A25F url("../images/icon02.svg") no-repeat center center;
	background-size: 42%;
}
.serviceList li .icon.ico03 {
	background: #EFB965 url("../images/icon03.svg") no-repeat center center;
	background-size: 48%;
}
.serviceList li .icon.ico04 {
	background: #DD8282 url("../images/icon04.svg") no-repeat center center;
	background-size: 36%;
}

.serviceList li .thumb {
	line-height: 0;
}
.serviceList li p {
	padding: 15px;
	font-size: 16px;
	background: url("../images/arrow.svg") no-repeat calc(100% - 20px) center;
	background-size: 20px;
}

.firstTime {
	max-width: 880px;
	margin: 0 auto;
	background-color: #F8F8F8;
}

.firstTime .companySiteLink a::after {
	display: none;
}

.firstTime h3 {
	text-align: center;
	color: #fff;
	background-color: #FFC74A;
	padding: 15px;
	font-size: 20px;
	letter-spacing: .1em;
}
.firstTime h3::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 30px;
	background: url("../images/beginner_mark.svg") no-repeat center center;
	background-size: contain;
    vertical-align: middle;
	margin-right: 15px;
}
.firstTime .firstTimeMenu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
    padding: 35px 60px;
}
.firstTime .firstTimeMenu li {
	width: 40%;
	margin: 0 2% 20px;
}
.firstTime .firstTimeMenu li:nth-last-child(-n+2) {
	margin-bottom: 0;
}
.firstTime .firstTimeMenu li a {
	display: block;
	text-align: center;
	color: #000;
	border: #E6E6E6 solid 2px;
	border-radius: 6px;
	background-color: #fff;
	text-decoration: none;
	padding: 15px;
	font-size: 14px;
}

#topBrand {
	padding: 80px 0 100px;
	position: relative;
	background-color: #F8F8F8;
}

#topBrand .secHead {
	display: flex;
	max-width: 1280px;
	padding: 0 60px;
	margin: -120px auto 80px;
}

.brandList {
	display: flex;
	justify-content: center;
}
.brandList li {
	width: 30%;
	max-width: 240px;
	margin: 0 2%;
}
.brandList li a {
	line-height: 0;
	display: block;
	margin-bottom: 30px;
}
.brandList li p {
	text-align: center;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.6;
}
.brandList li p span {
	font-size: 12px;
	font-weight: normal;
}


#topSearch {
	display: flex;
}
.searchMap {
	width: 50%;
	background: #F2E3DC url("../images/map.png") no-repeat center center;
	background-size: auto 100%;
	padding-top: 33.35%;
	position: relative;
}
.searchMap p {
	position: absolute;
	line-height: 0;
    width: 18px;
}
.searchMap .pinTokyo { top: 51%; left: 58%;}
.searchMap .pinSaitama { top: 44%; left: 54%;}
.searchMap .pinKanagawa { top: 60%; left: 53%;}
.searchMap .pinChiba { top: 63%; left: 66%;}
.searchMap .pinIbaraki { top: 40%; left: 68%;}
.searchMap .pinNagano { top: 38%; left: 32%;}

.searchArea {
	width: 50%;
	background-color: #E89979;
	padding: 40px 60px;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.searchArea h3 {
	text-align: center;
	font-size: 22px;
	margin-bottom: 30px;
}
.searchArea .areaList {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.searchArea .areaList li {
	width: 45%;
	margin-bottom: 30px;
}
.searchArea .areaList li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 20px 8px 0;
	border-bottom: #fff solid 1px;
	color: #fff;
	text-decoration: none;
	position: relative;
}
.searchArea .areaList li a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 3px;
	width: 10px;
	height: 10px;
	border-right: #fff solid 2px;
	border-top: #fff solid 2px;
	transform: translateY(-50%) rotate(45deg);
}
.searchArea .areaList li .place {
	font-size: 16px;
	font-weight: bold;
	letter-spacing: .2em;
    line-height: 1;
}
.searchArea .areaList li .place span {
	display: inline-block;
	font-size: 10px;
	font-weight: normal;
	letter-spacing: .1em;
}
.searchArea .areaList li .num {
	color: #E89979;
	background-color: #FFF1EA;
	font-size: 11px;
	text-align: center;
	width: 24px;
	height: 24px;
	line-height: 24px;
	border-radius: 50%;
}

#bnrArea {
	padding: 100px 60px;
}
#bnrArea .bnrSlide {
	max-width: 880px;
	margin: 0 auto;
}



@media screen and (max-width: 820px) {

	#mainvisual {
		padding-top: 70px;
		display: block;
		padding-bottom: 0;
		height: 100vh;
	}
	#mainvisual::after {
		width: 100%;
		height: 100%;
		background: rgba(59,46,11,0.3);
	}
	#mainvisual .bgLeft {
		width: 100%;
		height: 50%;
		position: static;
	}
	#mainvisual .bgRight {
		width: 100%;
		height: 50%;
		position: static;
	}
	#topics + #mainvisual .bgLeft,
	#topics + #mainvisual .bgRight {
		height: 50%;
	}
	#mainvisual .catchcopy {
		width: 88%;
		top: 50%;
		left: 6%;
    	text-align: center;
	}
	#mainvisual .catchcopy .catchEn {
		font-size: 6.8vw;
		letter-spacing: .03em;
	}
	#mainvisual .catchcopy .catchJp {
		font-size: 3.2vw;
		letter-spacing: .05em;
	}

	#mainvisual .chatBtn {
		bottom: min(16vw, 60px);
		left: min(4vw, 30px);
	}
	#mainvisual .chatBtn a {
		background: #fff url(../images/ico_chat.svg) no-repeat 2vw center;
		background-size: 4vw;
		padding: min(2vw, 12px) min(3vw, 20px) min(2vw, 12px) min(8vw, 45px);
		font-size: min(3vw, 13px);
	}
	.checkBtn {
		bottom: min(8vw, 40px);
    	top: inherit;
	}
	.checkBtn a {
		padding: min(12vw, 50px) min(4vw, 20px) min(4vw, 20px);
		font-size: min(3vw, 14px);
	}
	.checkBtn a::before {
		width: 10px;
		height: 15px;
		top: min(4vw, 20px);
	}

	#topics {
		padding: calc(70px + 3vw) min(6vw, 60px) min(3vw, 15px);
		line-height: 1.6;
	}
	#topics a {
		font-size: min(3.2vw, 14px);
	}

	#topAbout {
		padding: min(14vw, 100px) min(6vw, 60px);
		background: url(../images/top_about_bg.png) no-repeat left top;
		background-size: 80%;
	}
	#topAbout .aboutCatch {
		width: 84%;
		margin: 0 auto min(10vw, 40px);
	}
	#topAbout p {
		font-size: min(3.4vw, 18px);
		line-height: 2.4;
	}


	.secHead h2 {
		font-size: 8.6vw;
	}
	.contentWrap {
		margin: 0 min(6vw, 60px);
		padding-right: 0;
		padding-left: 0;
	}

	#topTopics {
		padding: min(12vw, 80px) 0;
	}
	#topTopics .secHead {
		display: block;
		padding: 0 min(6vw, 60px);
		margin: 0 auto min(6vw, 40px);
	}
	#topTopics .secHead .topicsTab {
		justify-content: space-between;
    	margin-top: min(2vw, 20px);
	}
	#topTopics .secHead .topicsTab li {
		margin-left: 0;
		width: 32.2%;
	}
	#topTopics .secHead .topicsTab li a {
		width: 100%;
		padding: min(3vw, 10px) min(1vw, 10px);
    	font-size: min(2.6vw, 12px);
	}


	.topicsWrap {
		padding: min(10vw, 60px) 0;
	}
	.topicsWrap .topicsList {
		margin-bottom: min(4vw, 40px);
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.topicsWrap .topicsList li {
		width: 48%;
		padding: 0;
		margin-bottom: min(8vw, 40px);
	}
	.topicsWrap .topicsList li .ttl {
		margin-bottom: 10px;
		font-size: min(3.2vw, 14px);
	}
	.topicsWrap .topicsList li .date {
		font-size: min(3vw, 12px);
	}
	.viewMore a {
		font-size: min(3vw, 13px);
	}


	#topService {
		padding: min(12vw, 80px) 0 min(24vw, 180px);
	}
	#topService::before {
		height: 60%;
	}
	#topService .secHead {
		display: block;
		padding: 0 min(6vw, 60px);
		margin: 0 auto min(6vw, 40px);
	}

	.serviceList {
		margin-bottom: min(8vw, 60px);
	}
	.serviceList li {
		width: 100%;
		padding: 0;
		margin-bottom: min(8vw, 60px);
	}
	.serviceList li .icon {
		width: 40px;
		height: 40px;
	}
	.serviceList li p {
		padding: min(3vw, 15px);
		font-size: min(3.2vw, 16px);
		background: url(../images/arrow.svg) no-repeat calc(100% - 3vw) center;
		background-size: 20px;
	}

	.firstTime h3 {
		padding: min(3vw, 15px);
		font-size: min(4vw, 20px);
	}
	.firstTime h3::before {
		width: min(4vw, 20px);
		height: min(6.8vw, 30px);
		margin-right: min(3vw, 15px);
	}
	.firstTime .firstTimeMenu {
		padding: min(6vw, 35px) min(6vw, 60px);
		justify-content: space-between;
	}
	.firstTime .firstTimeMenu li {
		width: 48%;
		margin: 0 0 min(4vw, 20px);
	}
	.firstTime .firstTimeMenu li a {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: min(3vw, 15px);
		font-size: min(3.2vw, 14px);
		height: 100%;
		line-height: 1.4;
	}



	#topBrand {
		padding: min(14vw, 80px) 0 min(8vw, 60px);
	}
	#topBrand .secHead {
		display: block;
		padding: 0 min(6vw, 60px);
		margin: min(-12vw, -65px) auto min(6vw, 40px);
	}

	.brandList {
		display: block;
	}
	.brandList li {
		width: 100%;
		max-width: inherit;
		margin: 0 auto 4vw;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.brandList li a {
		width: 36%;
		margin: 0;
	}
	.brandList li p {
		width: 58%;
		font-size: 3.6vw;
		text-align: left;
	}
	.brandList li p span {
		font-size: 3vw;
	}

	#topSearch {
		display: block;
	}
	.searchMap {
		width: 100%;
		padding-top: 75%;
		background: #F2E3DC url(../images/map.png) no-repeat left center;
		background-size: auto 100%;
	}
	.searchMap p {
		width: 16px;
	}
	.searchMap .pinTokyo { top: 50%; left: 62%;}
	.searchMap .pinSaitama { top: 40%; left: 59%;}
	.searchMap .pinKanagawa { top: 59%; left: 60%;}
	.searchMap .pinChiba { top: 62%; left: 73%;}
	.searchMap .pinIbaraki { top: 40%; left:73%;}
	.searchMap .pinNagano { top: 38%; left: 35%;}

	.searchArea {
		width: 100%;
		padding: 8vw 6vw;
	}
	.searchArea h3 {
		font-size: min(4.6vw, 22px);
		margin-bottom: min(4vw, 30px);
		letter-spacing: .1em;
	}
	.searchArea .areaList li {
		width: 46%;
		margin-bottom: min(4vw, 30px);
	}
	.searchArea .areaList li a {
		padding: min(2vw, 8px) min(6vw, 20px) min(2vw, 8px) 0;
	}
	.searchArea .areaList li .place {
		font-size: 3.8vw;
		letter-spacing: 0.1em;
    	line-height: 1.4;
	}
	.searchArea .areaList li .place span {
		display: block;
		font-size: min(2.8vw, 10px);
	}
	.searchArea .areaList li .num {
		font-size: min(2.6vw, 11px);
		width: min(6vw, 24px);
		height: min(6vw, 24px);
		line-height: min(6vw, 24px);
	}


	#bnrArea {
		padding: min(14vw, 100px) min(6vw, 60px);
	}
}



/* ////////////////////////////////////////////////////////////////////////////////

	Lower Page

//////////////////////////////////////////////////////////////////////////////// */

.topicPath {
    padding: 30px;
	display: flex;
}
.topicPath li {
	margin-right: 10px;
	font-size: 12px;
}
.topicPath li::after {
	content: ">";
	display: inline-block;
	margin-left: 10px;
}
.topicPath li:last-child::after {
	display: none;
}
.topicPath li a {
	color: #1f1f1f;
	text-decoration: none;
}


.contentHead01 {
	padding: 40px 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.contentHead01 h2 {
	font-size: 36px;
	font-weight: bold;
	letter-spacing: .1em;
}
.contentHead01 .note {
	font-size: 14px;
	font-weight: normal;
}

.contentHead02 {
	display: flex;
	justify-content: space-between;
	background-image: linear-gradient(0deg, #F8F8F8 20%, #fff 20%);
}
.contentHead02 h2 {
	font-size: 32px;
	font-weight: bold;
    padding: 40px 6%;
	letter-spacing: .1em;
    line-height: 1.6;
	width: 44%;
}
.contentHead02 h2 span {
	font-size: 18px;
	color: #E89979;
	display: block;
    margin-top: 15px;
}
.contentHead02 .mv {
	line-height: 0;
	width: 56%;
}


.contentHead03 {
    padding: 50px 6% 100px;
}
.contentHead03 i {
	width: 30px;
	display: block;
	margin: 0 auto 15px;
	line-height: 0;
}
.contentHead03 h2 {
	font-size: 32px;
	font-weight: bold;
	letter-spacing: .1em;
    line-height: 1.6;
	text-align: center;
}

.headline01 {
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	letter-spacing: .1em;
	margin-bottom: 60px;
}
.headline01 .subTxt {
	display: block;
	font-size: 14px;
	font-weight: normal;
	margin-top: 0;
	color: #000;
	letter-spacing: .1em;
}

.c1 { color: #E89979;}
.c2 { color: #F5B118;}
.c3 { color: #FF3636;}

.bgGray {
	background-color: #F8F8F8;
}


.backBtn {
	margin-top: 80px;
	text-align: center;
}
.backBtn a {
	color: #1f1f1f;
	text-decoration: none;
	font-size: 18px;
	letter-spacing: .1em;
}

.ftrContact {
	display: flex;
}
.ftrContact li {
	width: 50%;
}
.ftrContact li a {
	display: block;
	color: #fff;
	text-decoration: none;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: .1em;
	padding: 60px;
}
.ftrContact li a::after {
	content: "VIEW MORE →";
	font-size: 14px;
	font-weight: normal;
	display: block;
	margin-top: 30px;
}
.ftrContact li.ftrFirstTime a {
	background: #FFC74A url("../images/beginner_mark.svg") no-repeat 90% 50px;
	background-size: 30px;
}
.ftrContact li.ftrReserve a {
	background: #E89979 url("../images/ico_mobil.svg") no-repeat 90% 50px;
	background-size: 30px;
}
.ftrContact li.ftrShop a {
	background: #E89979 url(../images/ico_shop.svg) no-repeat 90% 60px;
    background-size: 50px;
}




@media screen and (max-width: 820px) {

	.topicPath {
		padding: min(5vw, 30px);
		flex-wrap: wrap;
	}
	.topicPath li {
		margin-right: min(1.5vw, 10px);
		font-size: min(2.4vw, 10px);
	}
	.topicPath li::after {
		margin-left: min(1.5vw, 10px);
	}

	.headline01 {
		font-size: min(4.8vw, 24px);
		margin-bottom: min(8vw, 60px);
	}
	.headline01 .subTxt {
		font-size: min(3vw, 14px);
	}

	.contentHead01 {
		padding: min(6vw, 40px) min(5vw, 60px) min(8vw, 60px);
		display: block;
	}
	.contentHead01 h2 {
		font-size: min(6.2vw, 36px);
	}
	.contentHead01 .note {
		font-size: min(3vw, 14px);
		margin-top: min(1vw, 10px);
	}

	.contentHead02 {
		display: block;
	}
	.contentHead02 h2 {
		font-size: min(5.6vw, 32px);
		padding: min(4vw, 40px) min(6vw, 60px) min(6vw, 40px);
		width: 100%;
	}
	.contentHead02 h2 span {
		font-size: min(3.8vw, 18px);
    	margin-top: min(1vw, 15px);
	}
	.contentHead02 .mv {
		width: 100%;
	}

	.contentHead03 {
		padding: min(4vw, 50px) min(6vw, 60px) min(12vw, 100px);
	}
	.contentHead03 i {
		width: min(5vw, 30px);
		margin: 0 auto min(2.5vw, 15px);
	}
	.contentHead03 h2 {
		font-size: min(4.8vw, 32px);
	}


	.backBtn {
		margin-top: min(10vw, 80px);
	}
	.backBtn a {
		font-size: min(3.8vw, 18px);
	}

	.ftrContact {
		display: block;
	}
	.ftrContact li {
		width: 100%;
	}
	.ftrContact li a {
		font-size: min(4.6vw, 24px);
		padding: min(6vw, 60px);
	}
	.ftrContact li a::after {
		font-size: min(3vw, 14px);
		margin-top: min(8vw, 30px);
	}
	.ftrContact li.ftrFirstTime a {
		background: #FFC74A url(../images/beginner_mark.svg) no-repeat 92% 6vw;
		background-size: min(6vw, 30px);
	}
	.ftrContact li.ftrReserve a {
		background: #E89979 url(../images/ico_mobil.svg) no-repeat 92% 6vw;
		background-size: min(6vw, 30px);
	}
	.ftrContact li.ftrShop a {
		background: #E89979 url(../images/ico_shop.svg) no-repeat 93.5% 6.5vw;
    	background-size: min(9vw, 50px);
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	Store

//////////////////////////////////////////////////////////////////////////////// */

.searchHead {
	display: flex;
	flex-wrap: wrap;
	border-bottom: #ccc solid 1px;
}

.searchHead .searchArea .areaList li a {
    padding: 8px 30px 8px 0;
}
.searchHead .searchArea .areaList li a::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 3px;
    width: 10px;
    height: 10px;
    border-right: #fff solid 2px;
    border-top: none;
    border-bottom: #fff solid 2px;
    transform: translateY(-50%) rotate(45deg);
}

.searchHead .storeIcoList {
	width: 100%;
	padding: 30px 0;
}
.searchHead .storeIcoList ul {
	display: flex;
}
.searchHead .storeIcoList ul li {
	margin-right: 35px;
	font-size: 14px;
}

.searchHead .storeIcoList ul li .icon {
	width: 36px;
	height: 36px;
	display: inline-block;
	margin-right: 15px;
	vertical-align: middle;
}
.searchHead .storeIcoList ul li .icon.ico01 {
	background: #5FBDC9 url("../images/icon01.svg") no-repeat center center;
	background-size: 40%;
}
.searchHead .storeIcoList ul li .icon.ico02 {
	background: #78A25F url("../images/icon02.svg") no-repeat center center;
	background-size: 42%;
}
.searchHead .storeIcoList ul li .icon.ico03 {
	background: #EFB965 url("../images/icon03.svg") no-repeat center center;
	background-size: 48%;
}
.searchHead .storeIcoList ul li .icon.ico04 {
	background: #DD8282 url("../images/icon04.svg") no-repeat center center;
	background-size: 36%;
}
.searchHead .storeIcoList ul li .icon.ico05 {
	background: #5883BE url("../images/icon05.svg") no-repeat center center;
	background-size: 54%;
}


.storeListWrap {
	padding: 80px 0 ;
}
.storeListWrap:nth-child(odd) {
	background-color: #F8F8F8;
}
.storeListWrap h3 {
	background: url("../images/ico_pin.svg") no-repeat left center;
	background-size: auto 50%;
	padding-left: 35px;
	margin-bottom: 30px;
	font-size: 28px;
	font-weight: bold;
	letter-spacing: .1em;
}

.storeList li {
	display: flex;
	justify-content: space-between;
	padding: 30px 0;
	border-bottom: #ccc solid 1px;
}
.storeList li:last-child {
	border-bottom: none;
}
.storeList li .storeListTtl {
	width: calc(100% - 300px);
}
.storeList li .storeListTtl .storeName {
	font-size: 20px;
	margin-bottom: 15px;
}
.storeList li .storeListTtl .storeName a {
	color: #1f1f1f;
}
.storeList li .storeListTtl .storeName a span {
	font-weight: 200;
}
.storeList li .storeListTtl .address {
	font-size: 14px;
}

.storeList li .icoList {
    width: 250px;
    display: flex;
}
.storeList li .icoList .icon,
.storeHead .icoList .icon {
	width: 36px;
	height: 36px;
	display: inline-block;
	margin-right: 10px;
	vertical-align: middle;
}
.storeList li .icoList .icon:last-child {
	margin-right: 0;
}
.storeList li .icoList .icon.ico01,
.storeHead .icoList .icon.ico01 {
	background: #5FBDC9 url("../images/icon01.svg") no-repeat center center;
	background-size: 40%;
}
.storeList li .icoList .icon.ico02,
.storeHead .icoList .icon.ico02 {
	background: #78A25F url("../images/icon02.svg") no-repeat center center;
	background-size: 42%;
}
.storeList li .icoList .icon.ico03,
.storeHead .icoList .icon.ico03 {
	background: #EFB965 url("../images/icon03.svg") no-repeat center center;
	background-size: 48%;
}
.storeList li .icoList .icon.ico04,
.storeHead .icoList .icon.ico04 {
	background: #DD8282 url("../images/icon04.svg") no-repeat center center;
	background-size: 36%;
}
.storeList li .icoList .icon.ico05,
.storeHead .icoList .icon.ico05 {
	background: #5883BE url("../images/icon05.svg") no-repeat center center;
	background-size: 54%;
}


@media screen and (max-width: 820px) {
	.searchHead .storeIcoList {
		padding: min(4vw, 30px) 0 min(2vw, 15px);
	}
	.searchHead .storeIcoList ul {
		flex-wrap: wrap;
	}
	.searchHead .storeIcoList ul li {
		margin-right: 0;
		margin-bottom: min(2vw, 15px);
		font-size: min(3vw, 14px);
		width: 50%;
	}
	.searchHead .storeIcoList ul li .icon {
		width: min(8vw, 36px);
		height: min(8vw, 36px);
		margin-right: min(3vw, 15px);
	}


	.storeListWrap {
		padding: min(20vw, 80px) 0 min(14vw, 80px);
	}
	.storeListWrap h3 {
		padding-left: min(8vw, 35px);
		margin-bottom: min(4vw, 30px);
		font-size: min(5.8vw, 28px);
	}
	.storeList li {
		display: block;
		padding: min(6vw, 30px) 0;
	}
	.storeList li .storeListTtl {
		width: 100%;
	}
	.storeList li .storeListTtl {
		width: 100%;
		margin-bottom: min(6vw, 30px);
	}
	.storeList li .storeListTtl .storeName {
		font-size: min(4vw, 20px);
		margin-bottom: min(3vw, 15px);
	}
	.storeList li .icoList {
		width: 100%;
	}
	.storeList li .icoList .icon,
	.storeHead .icoList .icon {
		width: min(8vw, 36px);
		height: min(8vw, 36px);
		margin-right: min(2vw, 10px);
	}
}



/* ////////////////////////////////////////////////////////////////////////////////

	Store Detail

//////////////////////////////////////////////////////////////////////////////// */

.storeHead {
	display: flex;
	margin-bottom: 80px;
}
.storeHead.pricePage {
	justify-content: center;
    padding-top: 60px;
    margin-bottom: 60px;
    text-align: center;
}
.storeHead .storeTitle {
	width: 42%;
	padding: 0 max(6%, 50px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.storeHead .storeTitle h2 {
	font-size: 30px;
	letter-spacing: .1em;
	margin-bottom: 45px;
	line-height: 1.6;
}
.storeHead .storeTitle h2 span {
    font-size: 18px;
    color: #E89979;
    display: block;
    margin-top: 15px;
}

.storeHead .icoList {
	margin-bottom: 35px;
}
.storeHead .priceBtnList {
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
.storeHead .priceBtnList li {
	width: 48%;
}
.storeHead .priceBtnList li a {
	display: block;
	border: #F2E3DC solid 2px;
	padding: 10px;
	border-radius: 6px;
	font-size: 15px;
	text-align: center;
	color: #000;
	text-decoration: none;
}

.storeHead .storeSns {
	display: flex;
}
.storeHead .storeSns li {
	margin-right: 15px;
}
.storeHead .storeSns a {
	text-decoration: none;
}
.storeHead .storeSns a i {
	display: block;
	line-height: 40px;
	width: 42px;
	border: #1F1F1F solid 1px;
	border-radius: 50%;
	text-align: center;
	font-size: 20px;
}

.storeHead .telBox {
	text-align: center;
	margin-bottom: 30px;
}
.storeHead .telBox h4 {
	background-color: #EBEBEB;
	font-size: 14px;
	padding: 2px;
	margin-bottom: 5px;
}
.storeHead .telBox p {
	color: #E89979;
	font-size: 30px;
}
.storeHead .telBox p::before {
	content: "TEL";
	font-size: 16px;
	color: #1f1f1f;
	margin-right: 15px;
}
.storeHead .telBox p a {
	color: #E89979;
	text-decoration: none;
}
@media (min-width: 821px) {
	.storeHead .telBox p a:hover {
		opacity: 1;
	}
	.storeHead .telBox p a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

.storeHead .storeMv {
	width: 58%;
	line-height: 0;
}
.storeHead .storeMv img {
	width: 100%;
}
.storeHead .storeMv ul li.slick-slide {
	line-height: 0;
    background-color: #F8F8F8;
}
.storeHead .storeMv ul li div {
	position: relative;
	padding-top: 62.5%;
}
.storeHead .storeMv ul li img {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: contain;
    width: 100%;
    height: 100%;
}

#storeLead {
	padding: 80px 0;
}
#storeLead p {
	font-size: 16px;
	line-height: 2;
}

#storeInfo {
	padding: 80px 0;
}
#storeInfo h3 {
	text-align: center;
	font-size: 30px;
	letter-spacing: .1em;
	margin-bottom: 60px;
}

.storeInfoWrap {
	display: flex;
	justify-content: space-between;
}
.storeInfoWrap .storeInfoList {
	width: 54%;
}
.storeInfoWrap .storeLocationMap {
	width: 40%;
}
.storeInfoWrap .storeLocationMap iframe {
	width: 100%;
	height: 100%;
}

.storeInfoList li {
	display: flex;
	padding: 25px 0;
	border-bottom: #ccc solid 1px;
}
.storeInfoList li h4 {
	width: 180px;
	font-size: 15px;
	font-weight: bold;
}
.storeInfoList li p {
	font-size: 15px;
    width: calc(100% - 180px);
}



@media screen and (max-width: 820px) {
	.storeHead {
		flex-direction: column-reverse;
		margin-bottom: min(14vw, 80px);
	}
	.storeHead.pricePage {
		padding-top: min(10vw, 60px);
		margin-bottom: min(8vw, 60px);
	}
	.storeHead .storeTitle {
		width: 100%;
		padding: 0 min(6vw, 60px);
	}
	.storeHead .storeTitle h2 {
		font-size: min(5.6vw, 30px);
		margin-bottom: min(6vw, 45px);
	}
	.storeHead .storeTitle h2 span {
		font-size: min(3.6vw, 18px);
		margin-top: min(2vw, 15px);
	}
	.storeHead .icoList {
		margin-bottom: min(6vw, 35px);
	}
	.storeHead .priceBtnList {
		margin-bottom: min(8vw, 40px);
	}
	.storeHead .priceBtnList li a {
		padding: min(3vw, 10px);
		font-size: min(3.4vw, 15px);
	}
	.storeHead .telBox {
		margin-bottom: min(8vw, 40px);
	}
	.storeHead .telBox h4 {
		font-size: min(3.4vw, 14px);
		padding: min(1vw, 4px);
		margin-bottom: min(2vw, 5px);
	}
	.storeHead .telBox p {
		font-size: min(6.8vw, 30px);
	}
	.storeHead .telBox p::before {
		font-size: min(4.2vw, 16px);
		margin-right: min(3vw, 15px);
	}

	.storeHead .storeSns {
    	justify-content: center;
	}
	.storeHead .storeSns li {
		margin: 0 min(1.5vw, 10px);
	}
	.storeHead .storeSns a i {
		line-height: 10vw;
		width: calc(10vw + 2px);
    	font-size: min(4.6vw, 20px);
	}

	.storeHead .storeMv {
		width: 100%;
		margin-bottom: min(8vw, 60px);
	}


	#storeLead {
    	padding: min(14vw, 80px) 0;
	}
	#storeLead p {
		font-size: min(3.4vw, 16px);
	}
	#storeInfo {
    	padding: min(14vw, 80px) 0;
	}
	#storeInfo h3 {
		font-size: min(5.2vw, 30px);
		margin-bottom: min(8vw, 60px);
	}

	.storeInfoWrap {
		display: block;
	}
	.storeInfoWrap .storeInfoList {
		width: 100%;
	}
	.storeInfoList li {
		padding: min(4vw, 25px) 0;
	}
	.storeInfoList li h4 {
		width: 30vw;
		font-size: min(3.2vw, 14px);
	}
	.storeInfoList li p {
		font-size: min(3.2vw, 14px);
		width: calc(100% - 30vw);
	}

	.storeInfoWrap .storeLocationMap {
		width: 100%;
		height: 80vw;
		margin: min(8vw, 40px) 0;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	Store Detail 料金

//////////////////////////////////////////////////////////////////////////////// */
#careMenu {
	padding: 20px 0 80px;
}

#careMenu h4 {
	margin-top: 40px;
	font-size: 18px;
	margin-bottom: 20px;
}
#careMenu p.ar {
	margin-bottom: 10px;
}
#careMenu p {
	margin-bottom: 25px;
}
#careMenu strong {
	color: #E89979;
	font-weight: bold;
}

.course {
	background-color: #F8F8F8;
	padding: 40px;
	margin-bottom: 40px;
}
.course .basicCourse {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 30px;
}
.course .basicCourse .basicCourseTtl {
	text-align: center;
	background-color: #F7CDBC;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	border-radius: 50%;
    margin: 0 !important;
    width: 100px;
    height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.course .otherCourse {
	border-top: #ccc solid 1px;
	padding-top: 30px;
	display: flex;
	justify-content: flex-end;
}
.course dl {
	width: calc(100% - 150px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.course dl dt {
	width: 280px;
	font-size: 18px;
	font-weight: bold;
	padding: 5px 80px 5px 0;
	background-color: #F8F8F8;
	background: url("../images/dot_line.svg") no-repeat right center;
	background-size: 80px;
}
.course dl dd {
	width: calc(100% - 310px);
	font-size: 16px;
	padding: 5px 0;
	background-color: #F8F8F8;
}

.courseWrap h4 {
    text-align: center;
    background-color: #FFF3EF;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 1.6;
    padding: 15px;
	margin-top: 0;
    margin-bottom: 30px;
}
.courseWrap .course {
    width: 100%;
	margin-bottom: 0;
	background-color: transparent;
	padding: 0;
}
.courseWrap .course dl {
    width: 100%;
}
.courseWrap .course dl dd {
	background-color: #fff;
    padding: 10px 0;
}
.courseWrap .course dl dd span {
	display: inline-block;
	padding: 10px 30px;
	background-color: #F7CDBC;
	border-radius: 50%;
	margin: 0 20px;
}
.courseWrap .course dl dd span:first-child {
	margin-left: 0;
}
.courseWrap .course dl dd span.none {
	background-color: #E2E2E2;
}

.menuTable,
#careMenu table {
	width: 100%;
    border-collapse: separate !important;
    border-spacing: 3px;
	margin-bottom: 60px;
}
.menuTable th,
#careMenu table th {
    background-color: #F7CDBC;
	padding: 10px 20px;
	font-size: 14px;
	line-height: 1.6;
	text-align: center;
}
.menuTable td,
#careMenu table td {
    background-color: #FFF1EB;
	padding: 10px 20px;
	font-size: 14px;
	text-align: center;
	line-height: 1.6;
}
.menuTable td.breed,
#careMenu table td.breed {
	text-align: left;
}

@media screen and (max-width: 820px) {

	#careMenu {
		padding: 0 0 min(14vw, 80px);
	}
	#careMenu p {
    	margin-bottom: min(3vw, 25px);
	}
	#careMenu h4 {
		margin-top: min(6vw, 40px);
		font-size: min(3.8vw, 18px);
		margin-bottom: min(4vw, 20px);
	}
	#careMenu .note {
		font-size: min(3vw, 14px);
	}

	.course {
		padding: min(5vw, 40px);
		margin-bottom: min(6vw, 40px);
	}
	.course .basicCourse {
		display: block;
    	padding-bottom: min(4vw, 30px);
	}
	.course .otherCourse {
		padding-top: min(4vw, 30px);
		display: block;
	}

	.course dl {
		width: 100%;
	}
	.course dl dt {
		width: 32vw;
		font-size: min(3.4vw, 18px);
		padding: min(1vw, 5px) min(10vw) min(1vw, 5px) 0;
		background-size: 8vw;
		line-height: 1.8;
	}
	.course dl dd {
    	width: calc(100% - 35vw);
		font-size: min(3.2vw, 16px);
		padding: min(1vw, 5px) 0;
		line-height: 1.8;
	}
	.course .basicCourse .basicCourseTtl {
		font-size: min(4.2vw, 20px);
		border-radius: 50px;
		margin: 0 0 min(4vw, 30px) !important;
		width: auto;
		height: min(12vw, 60px);
	}

	.courseWrap h4 {
		font-size: min(3.8vw, 16px);
		padding: min(3vw, 15px);
		margin-bottom: min(5vw, 30px);
		line-height: 1.4;
	}
	.courseWrap .course dl {
		display: block;
	}
	.courseWrap .course dl dt,
	.courseWrap .course dl dd {
		width: 100%;
		padding: 0;
	}
	.courseWrap .course dl dd {
    	display: flex;
    	align-items: center;
		padding: min(2vw, 30px) 0;
    	font-size: min(3vw, 14px);
		margin-bottom: min(3vw, 20px);
	}
	.courseWrap .course dl dd span {
    	padding: min(2vw, 10px) min(4vw, 30px);
    	margin: 0 min(2vw, 25px);
	}


	.menuLead {
		margin-top: min(8vw, 60px);
		margin-bottom: min(3vw, 20px);
		display: block;
	}
	.menuLead p {
		font-size: min(3.6vw, 18px);
	}
	.menuLead p:last-child {
		text-align: right;
	}

	.menuTable,
	#careMenu table {
		border-spacing: 2px;
		margin-bottom: min(8vw, 60px);
	}
	.menuTable th,
	#careMenu table th {
		padding: min(2vw, 10px);
		font-size: min(3vw, 14px);
	}
	.menuTable td,
	#careMenu table td {
		padding: min(2vw, 10px);
		font-size: min(3vw, 14px);
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	News

//////////////////////////////////////////////////////////////////////////////// */
#topicsList .topicsWrap {
	background-color: transparent;
}
#topicsList .topicsWrap .topicsList {
	flex-wrap: wrap;
	margin-bottom: 60px;
}
#topicsList .topicsWrap .topicsList li {
	margin-bottom: 40px;
}

.pagerNum {
	display: flex;
	justify-content: center;
	margin-bottom: 60px;
}
.pagerNum li {
	border-right: #ccc solid 1px;
	padding: 0 30px;
}
.pagerNum li:last-child {
	border-right: none;
}
.pagerNum li a,
.pagerNum li span {
	color: #1f1f1f;
	font-size: 15px;
	line-height: 1.2;
}

.pagination {
	display: flex;
	justify-content: center;
	margin-bottom: 60px;
}
.pagination a,
.pagination span {
	border-right: #ccc solid 1px;
	padding: 0 30px;
	color: #1f1f1f;
	font-size: 15px;
	line-height: 1.2;
}
.pagination a:last-child,
.pagination span:last-child {
	border-right: none;
}


@media screen and (min-width: 821px) {
	.pagerNum li a:hover,
	.pagination a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 820px) {

	#topicsList .topicsWrap .topicsList {
		margin-bottom: min(8vw, 60px);
	}

	.pagerNum,
	.pagination {
		margin-bottom: min(10vw, 60px);
	}
	.pagerNum li,
	.pagination a,
	.pagination span {
		padding: 0 min(5vw, 30px);
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	News Detail

//////////////////////////////////////////////////////////////////////////////// */
#topicsDetail {
	padding: 80px 0;
}
.topicsHead {
	padding-bottom: 15px;
	border-bottom: #ccc solid 1px;
	margin-bottom: 40px;
}
.topicsHead h3 {
	font-size: 20px;
	letter-spacing: .06em;
	font-feature-settings: "palt";
	margin-bottom: 20px;
    line-height: 1.8;
}
.topicsHead h3 span {
	display: block;
    font-size: 14px;
    font-weight: normal;
    margin-top: 10px;
}
.topicsHead .date {
	color: #999999;
}


.topicsBody {
	margin-bottom: 80px;
}
.topicsBody .eyeCatch {
	padding: 0 8%;
	line-height: 0;
	margin-bottom: 60px;
}
.topicsBody .eyeCatch img {
	width: 100%;
	height: auto;
}
.topicsBody p {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 30px;
}
.topicsBody p a {
	color: #000;
	text-decoration: underline;
}

.topicsBody strong { font-weight: bold; }
.topicsBody em { font-style: italic; }
.topicsBody blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}
.topicsBody .aligncenter {
    display: block;
    margin: 0 auto;
}
.topicsBody .alignright { float: right; }
.topicsBody .alignleft { float: left; }

.topicsBody h4 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 30px;
    margin-top: 60px;
}
.topicsBody figure {
    margin-bottom: 60px;
}
.topicsBody  figure figcaption {
    font-size: 14px;
    margin-top: 10px;
}
.topicsBody .txtBox {
    border: #E89979 solid 1px;
    padding: 20px;
    margin-bottom: 40px;
}
.topicsBody .txtBox p:last-child {
	margin-bottom: 0;
}
.topicsBody .newsGallery {
    display: flex;
    flex-wrap: wrap;
	margin-bottom: 40px;
}
.topicsBody .newsGallery li {
    width: calc(100% / 3);
    padding: 0 1%;
    margin-bottom: 20px;
    box-sizing: border-box;
}
.topicsBody .newsGallery li div {
    position: relative;
    line-height: 0;
    background-color: #111;
    padding-top: 66.7%;
}
.topicsBody .newsGallery li img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.newsShopLink {
	width: 300px;
    margin: 80px auto 0;
}
.newsShopLink a {
	display: block;
    text-decoration: none;
    color: #000;
    border: #000 solid 1px;
    padding: 20px 60px 20px 30px;
    font-size: 18px;
	position: relative;
}
.newsShopLink a::after {
	content: "";
	display: block;
	position: absolute;
	right: 30px;
	top: 50%;
	width: 20px;
	height: 20px;
	border-top: #000 solid 1px;
	border-right: #000 solid 1px;
	transform: translateY(-50%) rotate(45deg);
}

.pagerSingle {
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}
.pagerSingle li {
	padding: 0 25px;
}
.pagerSingle .pagerBack {
	border-right: #ccc solid 1px;
	border-left: #ccc solid 1px;
}
.pagerSingle .pagerPrev {
	text-align: right;
}
.pagerSingle .pagerPrev,
.pagerSingle .pagerNext {
	width: 200px;
}
.pagerSingle li a {
	font-size: 14px;
	color: #1f1f1f;
	text-decoration: none;
}


@media screen and (max-width: 820px) {

	#topicsDetail {
    	padding: min(14vw, 80px) 0;
	}

	.topicsHead {
		padding-bottom: min(2vw, 15px);
		margin-bottom: min(6vw, 40px);
	}
	.topicsHead h3 {
		font-size: min(3.8vw, 20px);
		margin-bottom: min(5vw, 20px);
	}
	.topicsHead h3 span {
		font-size: min(3.2vw, 14px);
		margin-top: min(2vw, 10px);
	}

	.topicsBody {
		margin-bottom: min(12vw, 80px);
	}
	.topicsBody .eyeCatch {
		padding: 0;
		margin-bottom: min(8vw, 60px);
	}
	.topicsBody p {
		font-size: min(3.6vw, 16px);
		margin-bottom: min(8vw, 30px);
	}
	.topicsBody figure {
		margin-bottom: min(8vw, 60px);
	}
	.topicsBody figure figcaption {
		font-size: min(3vw, 14px);
		margin-top: min(1vw, 10px);
	}
	.topicsBody .txtBox {
		padding: min(4vw, 20px);
		margin-bottom: min(8vw, 40px);
	}
	.topicsBody .newsGallery {
		justify-content: space-between;
		margin-bottom: min(8vw, 30px);
	}
	.topicsBody .newsGallery li {
		width: 48%;
		padding: 0;
		margin-bottom: min(4vw, 20px);
	}


	.topicsBody h4 {
		font-size: min(4.2vw, 20px);
		margin-bottom: min(4vw, 30px);
		margin-top: min(10vw, 60px);
	}

	.newsShopLink {
		width: 80%;
		margin: min(10vw, 80px) auto 0;
	}
	.newsShopLink a {
		padding: min(4vw, 20px) min(10vw, 60px) min(4vw, 20px) min(6vw, 30px);
		font-size: min(4.2vw, 18px);
	}
	.newsShopLink a::after {
		right: min(6vw, 30px);
		width: min(4vw, 20px);
		height: min(4vw, 20px);
	}

	.pagerSingle {
		margin-bottom: min(6vw, 40px);
	}
	.pagerSingle li {
		padding: 0 min(3vw, 25px);
	}
	.pagerSingle .pagerPrev,
	.pagerSingle .pagerNext {
		width: 28vw;
	}
	.pagerSingle li a {
		font-size: min(3.2vw, 14px);
	}
}



/* ////////////////////////////////////////////////////////////////////////////////

	PET-SPAについて

//////////////////////////////////////////////////////////////////////////////// */
#aboutLead {
	padding: 100px 0;
}

#aboutLead h3 {
	text-align: center;
	font-size: 34px;
	margin-bottom: 40px;
}
#aboutLead h3 span {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 2em;
	color: #E89979;
}
#aboutLead p {
	font-size: 16px;
	line-height: 2;
}


#aboutCommit {
	padding: 80px 0;
}
#aboutCommit p {
	text-align: center;
	font-size: 16px;
}

.pointTtl {
	margin-top: 60px;
	text-align: center;
	color: #E89979;
	font-size: 24px;
	letter-spacing: .1em;
	margin-bottom: 30px;
}
.pointTtl .pointTtlInr {
	display: inline-block;
	padding: 0 30px;
	position: relative;
}
.pointTtl .pointTtlInr::before,
.pointTtl .pointTtlInr::after {
	content: "";
	display: block;
	width: 1px;
	height: 100%;
	background-color: #E89979;
	position: absolute;
	top: 50%;
}
.pointTtl .pointTtlInr::before {
	left: 0;
	transform: translateY(-50%) rotate(-45deg);
}
.pointTtl .pointTtlInr::after {
	right: 0;
	transform: translateY(-50%) rotate(45deg);
}

.pointTtl .txtS {
	font-size: 18px;
}

.pointList {
	display: flex;
	justify-content: center;
}
.pointList li {
	width: 260px;
	height: 260px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background-color: #fff;
	background-color: #FFF3EF;
	margin: 0 20px;
}
.bgGray .pointList li {
	background-color: #fff;
}
#aboutCommit .pointList li .num {
	color: #E89979;
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 0;
}
#aboutCommit .pointList li p {
	font-size: 18px;
	margin-bottom: 20px;
}
#aboutCommit .pointList li .sub {
	margin-bottom: 0;
	font-size: 14px;
}


#aboutHistory {
	padding: 80px 0;
}

.brandHistory {
	display: flex;
	justify-content: space-between;
	padding-bottom: 40px;
	border-bottom: #ccc solid 1px;
	margin-bottom: 60px;
}
.brandHistory:last-child {
	border-bottom: none;
	margin-bottom: 0;
}
.brandHistory .histryTxt {
	width: 52%;
}
.brandHistory .histryTxt h4 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 40px;
}
.brandHistory .histryTxt p {
	font-size: 16px;
	margin-bottom: 30px;
	line-height: 2;
}
.brandHistory .historyImg {
	width: 40%;
}
.brandHistory .historyImg figure {
	margin-bottom: 40px;
}
.brandHistory .historyImg figure figcaption {
	text-align: center;
	font-size: 14px;
	margin-top: 10px;
}


#brandIntro {
	padding: 80px 0;
}
.brandIntroList li {
	display: flex;
	justify-content: space-between;
	padding: 60px 0;
	border-bottom: #ccc solid 1px;
}
.brandIntroList li:last-child {
	border-bottom: none;
}
.brandIntroList li .brandLogo {
	width: 30%;
	line-height: 0;
}
.brandIntroList li .brandIntroTxt {
	width: 64%;
}
.brandIntroList li .brandIntroTxt .cat {
	font-size: 18px;
	margin-bottom: 10px;
}
.brandIntroList li .brandIntroTxt h4 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 30px;
}
.brandIntroList li .brandIntroTxt .brandLink {
	display: flex;
	margin-top: 30px;
}
.brandIntroList li .brandIntroTxt .brandLink a {
	display: block;
	border: #E6E6E6 solid 2px;
	border-radius: 6px;
	padding: 12px 30px;
	font-size: 14px;
	color: #1f1f1f;
	text-decoration: none;
	margin-right: 20px;
}


@media screen and (max-width: 820px) {

	#aboutLead {
		padding: min(14vw, 100px) 0;
	}
	#aboutLead h3 {
		font-size: min(4.6vw, 34px);
		margin-bottom: min(8vw, 40px);
	}
	#aboutLead p {
		font-size: min(3.6vw, 16px);
	}

	#aboutCommit {
		padding: min(12vw, 80px) 0;
	}
	#aboutCommit p {
		font-size: min(3.6vw, 16px);
	}
	.pointTtl .pointTtlInr {
		padding: 0 min(6vw, 30px);
	}
	.pointTtl {
		margin-top: min(8vw, 60px);
		font-size: min(4.6vw, 24px);
		margin-bottom: min(5vw, 30px);
	}
	.pointTtl .txtS {
		font-size: min(3.8vw, 18px);
	}

	.pointList {
		display: block;
	}
	.pointList li {
		width: 200px;
		height: 200px;
		margin: 0 auto min(4vw, 40px);
	}
	#aboutCommit .pointList li .num {
		font-size: min(6.8vw, 30px);
	}
	#aboutCommit .pointList li p {
		font-size: min(3.8vw, 18px);
		margin-bottom: min(2vw, 20px);
	}
	#aboutCommit .pointList li .sub {
		margin-bottom: 0;
		font-size: min(3.2vw, 14px);
	}


	#aboutHistory {
		padding: min(12vw, 80px) 0;
	}
	.brandHistory {
		display: block;
		padding-bottom: min(6vw, 40px);
		margin-bottom: min(8vw, 60px);
	}
	.brandHistory .histryTxt {
		width: 100%;
	}
	.brandHistory .historyImg {
		width: 100%;
	}
	.brandHistory .histryTxt h4 {
		font-size: min(3.8vw, 20px);
		margin-bottom: min(6vw, 40px);
	}
	.brandHistory .histryTxt p {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(6vw, 30px);
	}
	.brandHistory .historyImg figure {
		margin-bottom: min(8vw, 40px);
	}
	.brandHistory .historyImg figure figcaption {
		font-size: min(3vw, 14px);
		margin-top: min(2vw, 10px);
	}


	#brandIntro {
		padding: min(12vw, 80px) 0;
	}
	.brandIntroList li {
		display: block;
		padding: min(8vw, 60px) 0;
	}
	.brandIntroList li .brandLogo {
		width: 60%;
		margin: 0 auto min(8vw, 60px);
	}
	.brandIntroList li .brandIntroTxt {
		width: 100%;
	}
	.brandIntroList li .brandIntroTxt .cat {
		font-size: min(3.4vw, 18px);
		margin-bottom: min(4vw, 10px);
	}
	.brandIntroList li .brandIntroTxt h4 {
		font-size: min(4.2vw, 20px);
		margin-bottom: min(6vw, 30px);
	}
	.brandIntroList li .brandIntroTxt .introTxt {
		font-size: min(3.4vw, 16px);
	}
	.brandIntroList li .brandIntroTxt .brandLink {
		display: block;
	}
	.brandIntroList li .brandIntroTxt .brandLink a {
		padding: min(3vw, 12px) 0;
		font-size: min(2.8vw, 14px);
		width: 70%;
		text-align: center;
		margin: 0 auto 3vw;
	}
}




/* ////////////////////////////////////////////////////////////////////////////////

	サービスメニュー

//////////////////////////////////////////////////////////////////////////////// */

#serviceLead {
	padding: 100px 0;
}

#trimmingFlow {
	padding: 100px 0;
}

#trimmingFlow .lead {
	margin-bottom: 40px;
}

.flowWrap li {
	padding-bottom: 60px;
	border-bottom: #ccc dotted 1px;
}
.flowWrap li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.flowWrap li + li {
	padding-top: 40px;
}

.flowWrap .flowArrow {
	padding-top: 74px;
	position: relative;
}
.flowWrap .flowArrow::before {
	content: "";
	display: block;
	width: 40px;
	height: 34px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background: url("../images/service/arrow.svg") no-repeat center center;
	background-size: contain;
}

.flowWrap li a.textLink {
	display: block;
	text-align: center;
	color: #1F1F1F;
	margin: 30px 0;
}
.flowWrap li a.btn {
	display: block;
	background-color: #E89979;
	color: #fff;
	font-size: 16px;
	text-decoration: none;
	padding: 15px;
	border-radius: 6px;
	max-width: 300px;
	margin: 20px auto 50px;
	text-align: center;
}


.flowWrap li h4 {
	text-align: center;
	background-color: #FFF3EF;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.6;
	padding: 15px;
	margin-bottom: 30px;
}
.flowWrap li h4 span {
	font-size: 12px;
	font-weight: normal;
}
.flowWrap li .flowFlex {
	display: flex;
}
.flowWrap li .flowFlex .pic {
	width: 23%;
	margin-right: 2%;
	line-height: 0;
}
.flowWrap li .flowFlex .txt {
	width: 75%;
}
.flowWrap li .flowFlex .txt:nth-child(3) {
	width: 50%;
}
.flowWrap li .flowFlex p {
	font-size: 14px;
	margin-bottom: 20px;
}
.flowWrap li .flowFlex .boxTxt {
	padding: 20px;
	border: #E89979 solid 1px;
}

.flowWrap li.flow2clm {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flowWrap li.flow2clm .boxHalf {
	width: 48%;
	margin-bottom: 60px;
}

.flowWrap li .benefitsBox {
	width: 100%;
	background-color: #F8F8F8;
	padding: 40px;
	text-align: center;
	margin-bottom: 60px;
}
.flowWrap li .benefitsBox h5 {
	color: #E89979;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 20px;
}
.flowWrap li .benefitsBox a {
	display: block;
	background-color: #E89979;
	color: #fff;
	font-size: 16px;
	text-decoration: none;
	padding: 15px;
	border-radius: 6px;
	max-width: 300px;
	margin: 20px auto 0;
}
.flowWrap li .benefitsBox dl {
	text-align: left;
	display: flex;
	flex-wrap: wrap;
}
.flowWrap li .benefitsBox dl dt {
	width: 20%;
}
.flowWrap li .benefitsBox dl dd {
	width: 80%;
}
.flowWrap li .benefitsBox dl + .note{
	text-align: left;
	margin-top: 1em;
}

.flowWrap li .bdrBox {
	width: 100%;
	border: #E89979 solid 1px;
	padding: 40px;
}
.flowWrap li .bdrBoxMain {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.flowWrap li .bdrBoxMain .txt {
	width: 50%;
}
.flowWrap li .bdrBoxMain .txt h5 {
	font-size: 20px;
	color: #E89979;
	margin-bottom: 30px;
}
.flowWrap li .bdrBoxMain .pic {
	width: 40%;
	line-height: 0;
}
.flowWrap li .bdrBoxMain a {
	display: block;
	width: 200px;
	text-align: center;
	border: #ccc solid 2px;
	border-radius: 6px;
	color: #1f1f1f;
	padding: 10px;
	text-decoration: none;
}

.flowWrap li .bdrBoxOption {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: #ccc solid 1px;
	padding-top: 30px;
	margin-top: 30px;
}
.flowWrap li .bdrBoxOption p {
	width: calc(100% - 230px);
}
.flowWrap li .bdrBoxOption a {
	display: block;
	width: 200px;
	text-align: center;
	border: #ccc solid 2px;
	border-radius: 6px;
	color: #1f1f1f;
	padding: 10px;
	text-decoration: none;
}

.flowWrap li .course {
    width: 100%;
	margin-bottom: 0;
	background-color: transparent;
	padding: 0;
}
.flowWrap li .course dl {
    width: 100%;
}
.flowWrap .course dl dd {
	background-color: #fff;
    padding: 10px 0;
}
.flowWrap .course dl dd span {
	display: inline-block;
	padding: 10px 30px;
	background-color: #F7CDBC;
	border-radius: 50%;
	margin: 0 20px;
}
.flowWrap .course dl dd span:first-child {
	margin-left: 0;
}
.flowWrap .course dl dd span.none {
	background-color: #E2E2E2;
}


@media screen and (max-width: 820px) {

	#serviceLead {
		padding: min(14vw, 100px) 0;
	}
	#serviceLead p {
		font-size: min(3.4vw, 15px);
	}

	#trimmingFlow {
		padding: min(14vw, 100px) 0;
	}

	#trimmingFlow .lead {
		margin-bottom: min(8vw, 40px);
	}

	.flowWrap .flowArrow {
		padding-top: min(12vw, 74px);
	}
	.flowWrap .flowArrow::before {
		width: 8.2vw;
		height: 6.8vw;
	}
	.flowWrap li {
		padding-bottom: min(6vw, 60px);
	}
	.flowWrap li + li {
		padding-top: min(6vw, 40px);
	}
	.flowWrap li a.textLink {
		margin: 0 0 min(8vw, 30px);
	}
	.flowWrap li a.btn {
		font-size: min(4.2vw, 16px);
		padding: min(3vw, 15px);
		max-width: 100%;
		margin: 0 auto min(8vw, 30px);
	}
	.flowWrap li h4 {
		font-size: min(3.8vw, 16px);
		padding: min(3vw, 15px);
		margin-bottom: min(5vw, 30px);
		line-height: 1.4;
	}
	.flowWrap li h4 span {
		font-size: min(3vw, 12px);
    	letter-spacing: .05em;
	}
	.flowWrap li .flowFlex {
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.flowWrap li .flowFlex .pic {
		width: 48%;
		margin-right: 0;
    	margin-bottom: min(6vw, 30px);
	}
	.flowWrap li .flowFlex .txt,
	.flowWrap li .flowFlex .txt:nth-child(3) {
		width: 100%;
	}
	.flowWrap li .flowFlex p {
		font-size: min(3.4vw, 14px);
		margin-bottom: min(6vw, 20px);
	}
	.flowWrap li .flowFlex .boxTxt {
		padding: min(4vw, 20px);
	}

	.flowWrap li.flow2clm .boxHalf {
		width: 47%;
		margin-bottom: min(8vw, 60px);
	}
	.flowWrap li.flow2clm .boxHalf p {
		line-height: 1.8;
		font-size: min(3.2vw, 14px);
	}


	.flowWrap li .benefitsBox {
		padding: min(6vw, 40px);
		margin-bottom: min(8vw, 60px);
	}
	.flowWrap li .benefitsBox h5 {
		font-size: min(3.8vw, 18px);
		margin-bottom: min(4vw, 20px);
	}
	.flowWrap li .benefitsBox a {
		font-size: min(4.2vw, 16px);
		padding: min(3vw, 15px);
		max-width: 100%;
		margin: min(4vw, 20px) auto 0;
	}
	.flowWrap li .benefitsBox dl {
		display: block;
	}
	.flowWrap li .benefitsBox dl dt,
	.flowWrap li .benefitsBox dl dd {
		width: 100%;
	}
	.flowWrap li .benefitsBox dl dd + dt {
		margin-top: min(2vw, 20px);
	}

	.flowWrap li .bdrBox {
		padding: min(6vw, 40px);
	}
	.flowWrap li .bdrBoxMain {
		display: block;
	}
	.flowWrap li .bdrBoxMain .txt {
		width: 100%;
    	margin-bottom: min(6vw, 40px);
	}
	.flowWrap li .bdrBoxMain .txt h5 {
		font-size: min(3.8vw, 20px);
		margin-bottom: min(4vw, 30px);
	}
	.flowWrap li .bdrBoxMain .pic {
		width: 100%;
	}
	.flowWrap li .bdrBoxMain a {
		width: 100%;
		padding: 2vw;
	}

	.flowWrap li .bdrBoxOption {
		display: block;
		padding-top: min(5vw, 30px);
		margin-top: min(5vw, 30px);
	}
	.flowWrap li .bdrBoxOption p {
		width: 100%;
		margin-bottom: min(4vw, 40px);
	}
	.flowWrap li .bdrBoxOption a {
		width: 60vw;
		padding: min(3vw, 10px);
		margin: 0 auto;
	}

	.flowWrap li .course {
		padding: 0;
	}
	.flowWrap li .course dl {
		display: block;
	}
	.flowWrap li .course dl dt,
	.flowWrap li .course dl dd {
		width: 100%;
		padding: 0;
	}
	.flowWrap li .course dl dd {
    	display: flex;
    	align-items: center;
		padding: min(2vw, 30px) 0;
    	font-size: min(3vw, 14px);
		margin-bottom: min(3vw, 20px);
	}
	.flowWrap .course dl dd span {
    	padding: min(2vw, 10px) min(4vw, 30px);
    	margin: 0 min(2vw, 25px);
	}
}




/* ////////////////////////////////////////////////////////////////////////////////

	BRAND 詳細

//////////////////////////////////////////////////////////////////////////////// */
#brandHead {
	padding: 100px 0;
}

.brandTitle {
	display: flex;
	justify-content: space-between;
}
.brandTitle .pic {
	width: 30%;
	line-height: 0;
}
.brandTitle .pic img {
	width: 100%;
}
.brandTitle .txt {
	width: 62%;
}
.brandTitle .txt h4 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 30px;
}


.brandAbout {
	padding-top: 60px;
	margin-top: 60px;
	border-top: #ccc solid 1px;
	display: flex;
	justify-content: space-between;
}
.brandAbout .pic {
	width: 30%;
	line-height: 0;
}
.brandAbout .txt {
	width: 62%;
}
.brandAbout .txt h4 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 30px;
}


#brandContact {
	padding: 100px 0;
}
.brandContactLead {
	border: #E89979 solid 2px;
	padding: 40px 18%;
	color: #E89979;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 60px;
}
#brandContact h4 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 20px;
}
.brandTel {
	display: flex;
	margin-bottom: 40px;
	font-weight: bold;
	align-items: baseline;
}
.brandTel .tel {
	color: #E89979;
	font-size: 24px;
	margin-right: 30px;
}
.brandTel .tel span {
	font-size: .6em;
}


.clinicMenu {
	padding-top: 60px;
	margin-top: 60px;
	border-top: #ccc solid 1px;
}
.clinicMenu h4 {
	font-size: 24px;
	margin-bottom: 20px;
}
.clinicMenu .clinicMenuList {
	margin-top: 30px;
}
.clinicMenu .clinicMenuList li {
	padding: 30px 0;
	border-bottom: #ccc solid 1px;
}
.clinicMenu .clinicMenuList li h5 {
	font-size: 18px;
	margin-bottom: 10px;
}

#clinic {
	padding: 100px 0;
}
#clinic h5 {
	font-size: 20px;
	margin-bottom: 40px;
}
.aboutScaling {
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
.aboutScaling .pic {
	line-height: 0;
	width: 35%;
}
.aboutScaling .txt {
	width: 60%;
}
.aboutScaling .txt h4 {
	font-size: 24px;
	margin-bottom: 30px;
}

.scalingPoint {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}
.scalingPoint li {
	width: 31%;
	border: #ccc solid 1px;
	padding: 30px;
}
.scalingPoint li h6 {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
}
.scalingPoint li.point01 h6 { color: #2082C7;}
.scalingPoint li.point02 h6 { color: #FA9C1B;}
.scalingPoint li.point03 h6 { color: #57C07F;}

.scalingPoint li p {
	font-size: 13px;
}

.scalingMerit {
	padding: 0 60px;
}
.scalingMerit h5 {
	text-align: center;
	background-color: #F8F8F8;
	font-size: 18px;
	font-weight: bold;
	padding: 10px;
	border-radius: 60px;
	margin-bottom: 40px;
}
.scalingMerit ul {
	display: flex;
	justify-content: space-between;
}
.scalingMerit ul li {
	width: 31%;
	text-align: center;
}
.scalingMerit ul li div {
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	width: 120px;
	height: 120px;
	padding-top: 12px;
	margin: 0 auto 20px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.scalingMerit ul li.merit01 div { background-color: #2082C7;}
.scalingMerit ul li.merit02 div { background-color: #FA9C1B;}
.scalingMerit ul li.merit03 div { background-color: #57C07F;}

.scalingSteps {
	padding-top: 60px;
	margin-top: 60px;
	border-top: #ccc solid 1px;
}
.scalingSteps div {
	line-height: 0;
	max-width: 800px;
	margin: 0 auto;
}

.scalingExample {
	padding-top: 60px;
	margin-top: 60px;
	border-top: #ccc solid 1px;
}
.scalingExample h6 {
	font-size: 16px;
	margin-bottom: 25px;
}
.scalingExample .examplePics {
	display: flex;
	justify-content: space-around;
	margin-bottom: 60px;
}
.scalingExample .examplePics figure {
	line-height: 0;
	width: 44%;
}

.scalingExample .graphs {
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
.scalingExample .graphs figure {
	width: 48%;
	line-height: 0;
	padding: 30px;
	background-color: #F8F8F8;
}

.scalingExample .toFaq {
	margin: 0 auto;
	width: 240px;
	display: block;
	background-color: #fff;
	padding: 10px 15px;
	color: #000;
	text-decoration: none;
	border: #ccc solid 2px;
	text-align: center;
	border-radius: 6px;
}

.scalingPrice,
.scalingDate {
	padding-top: 60px;
	margin-top: 60px;
	border-top: #ccc solid 1px;
}
.scalingPrice p {
	margin-bottom: 10px;
}
.scalingPrice .note {
	font-size: .9em;
}

.scalingPrice .lead {
	margin-bottom: 40px;
}
.scalingPrice h6 {
    font-size: 18px;
    margin-bottom: 20px;
}
.scalingPrice h6 span {
	font-size: .8em;
	font-weight: normal;
}
.scalingPrice p + h6 {
	margin-top: 40px;
}

.scalingPrice .noteList {
	margin-top: 60px;
}
.scalingPrice .noteList ul {
	list-style: disc;
	padding-left: 20px;
}
.scalingPrice .noteList ul li {
	font-size: .9em;
}

.scalingTable {
	width: 100%;
	margin-bottom: 40px;
}
.scalingTable thead th {
	background-color: #F7CDBC;
	padding: 10px 15px;
}
.scalingTable tbody th,
.scalingTable tbody td {
	background-color: #FFF1EB;
	padding: 10px 15px;
}
.scalingTable tbody th {
	text-align: left;
}
.scalingTable tbody td {
	text-align: center;
}

.scalingTable tbody td.detail {
	text-align: center;
}
.scalingTable tbody td.detail p {
	padding: 10px;
	background-color: #fff;
	margin-bottom: 0;
}

.scalingDate .clinicContact {
	border: #ccc solid 1px;
	border-radius: 10px;
	padding: 40px 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 880px;
	margin: 40px auto 0;
}
.scalingDate .clinicContact .logo4and2 {
	width: 140px;
	line-height: 0;
}
.scalingDate .clinicContact .txt {
	width: calc(100% - 200px);
}
.scalingDate .clinicContact .txt h6 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
}
.scalingDate .clinicContact .txt .telWrap {
	display: flex;
	justify-content: space-between;
    align-items: flex-end;
}
.scalingDate .clinicContact .txt .telWrap .tel {
	color: #03411B;
	font-size: 22px;
	font-weight: bold;
}
.scalingDate .clinicContact .txt .telWrap .tel span {
	font-size: .8em;
	font-weight: normal;
}



@media screen and (max-width: 820px) {

	#brandHead {
		padding: min(14vw, 100px) 0;
	}

	.brandTitle {
		display: block;
	}
	.brandTitle .pic {
		width: 60%;
		margin: 0 auto min(6vw, 40px);
	}
	.brandTitle .txt {
		width: 100%;
	}
	.brandTitle .txt h4 {
		font-size: min(3.8vw, 20px);
		margin-bottom: min(4vw, 30px);
	}


	.brandAbout {
		padding-top: min(8vw, 60px);
		margin-top: min(8vw, 60px);
		display: block;
	}
	.brandAbout .pic {
		width: 100%;
	}
	.brandAbout .txt {
		width: 100%;
		margin-bottom: min(8vw, 60px);
	}
	.brandAbout .txt h4 {
		font-size: min(3.8vw, 20px);
		margin-bottom: min(4vw, 30px);
	}


	#brandContact {
		padding: min(14vw, 100px) 0;
	}
	.brandContactLead {
		padding: min(6vw, 40px) min(6vw, 30px);
		font-size: min(3.6vw, 20px);
		margin-bottom: min(8vw, 60px);
	}
	#brandContact h4 {
		font-size: min(4.2vw, 18px);
		margin-bottom: min(3vw, 20px);
	}
	.brandTel {
		display: block;
		margin-bottom: min(8vw, 40px);
	}
	.brandTel .tel {
		font-size: min(6vw, 24px);
		margin-right: min(6vw, 30px);
	}

	.clinicMenu {
		padding-top: min(8vw, 60px);
		margin-top: min(8vw, 60px);
	}
	.clinicMenu .clinicMenuList {
		margin-top: min(6vw, 30px);
	}
	.clinicMenu .clinicMenuList li {
		padding: min(4vw, 30px) 0;
	}
	.clinicMenu .clinicMenuList li h5 {
		font-size: min(3.8vw, 18px);
		margin-bottom: min(3vw, 10px);
	}

	.aboutScaling {
		display: block;
	}
	.aboutScaling .pic {
		width: 100%;
		margin-bottom: min(6vw, 40px);
	}
	.aboutScaling .txt {
		width: 100%;
	}
	.aboutScaling .txt h4 {
    	font-size: min(4.2vw, 24px);
    	margin-bottom: min(6vw, 30px);
    	line-height: 1.8;
	}

	.scalingPoint {
		display: block;
		margin-bottom: min(8vw, 60px);
	}
	.scalingPoint li {
		width: 100%;
		padding: min(4vw, 30px);
		margin-bottom: min(4vw, 40px);
	}
	.scalingPoint li h6 {
		font-size: min(4.6vw, 20px);
		margin-bottom: min(4vw, 20px);
	}
	.scalingMerit {
		padding: 0;
	}

	#clinic h5 {
		font-size: min(3.6vw, 20px);
		margin-bottom: min(5vw, 40px);
	}
	.scalingMerit ul {
		display: block;
	}
	.scalingMerit ul li {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: min(4vw, 30px);
	}
	.scalingMerit ul li div {
		font-size: min(4.2vw, 20px);
		line-height: 1.5;
		width: 100px;
		height: 100px;
		padding-top: min(2vw, 12px);
		margin: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.scalingMerit ul li p {
		width: calc(100% - 120px);
	}

	.scalingSteps,
	.scalingExample,
	.scalingPrice,
	.scalingDate {
		padding-top: min(8vw, 60px);
		margin-top: min(8vw, 60px);
	}

	.scalingExample .examplePics {
		display: block;
		margin-bottom: min(8vw, 60px);
	}
	.scalingExample .examplePics figure {
		width: 85%;
		margin: 0 auto min(6vw, 30px);
	}
	.scalingExample h6 {
		font-size: min(3.6vw, 16px);
		margin-bottom: min(4vw, 25px);
	}

	.scalingExample .graphs {
		display: block;
		margin-bottom: min(6vw, 40px);
	}
	.scalingExample .graphs figure {
		width: 100%;
		padding: min(5vw, 30px);
    	margin-bottom: min(4vw, 30px);
	}

	.scalingExample .toFaq {
		padding: min(3vw, 10px);
	}
	.scalingPrice p {
    	margin-bottom: min(2vw, 10px);
	}
	.scalingPrice h6 {
		font-size: min(3.6vw, 18px);
		margin-bottom: min(3vw, 20px);
	}
	.scalingPrice p + h6 {
		margin-top: min(8vw, 40px);
	}
	.scalingPrice .lead {
		margin-bottom: min(8vw, 40px);
	}

	.scalingTable {
		margin-bottom: min(6vw, 40px);
	}
	.scalingTable thead {
		display: none;
	}
	.scalingTable thead th {
		padding: min(1.5vw, 15px);
		line-height: 1.6;
		font-size: min(2.8vw, 12px);
	}

	.scalingTable tbody tr {
		display: block;
	}

	.scalingTable tbody th,
	.scalingTable tbody td {
    	padding: 0;
		line-height: 1.6;
    	display: flex;
    	align-items: center;
    	margin-bottom: 2px;
	}
	.scalingTable tbody td::before {
		content: attr(data-label);
		display: inline-block;
		width: 40%;
		background-color: #F7CDBC;
		padding: min(2vw, 15px);
		margin-right: min(3vw, 20px);
	}

	.scalingDate .clinicContact {
		padding: min(5vw, 40px);
		display: block;
		margin: min(8vw, 40px)auto 0;
	}

	.scalingDate .clinicContact .logo4and2 {
		width: 36%;
		margin: 0 auto min(8vw, 40px);
	}
	.scalingDate .clinicContact .txt {
		width: 100%;
	}
	.scalingDate .clinicContact .txt h6 {
		font-size: min(4.2vw, 20px);
		margin-bottom: min(4vw, 10px);
		line-height: 1.8;
	}

	.scalingDate .clinicContact .txt .telWrap {
		display: block;
	}
	.scalingDate .clinicContact .txt .telWrap .tel {
		font-size: min(5.2vw, 22px);
		text-align: center;
		margin-top: min(3vw, 40px);
	}

	.scalingPrice .noteList {
		margin-top: min(10vw, 60px);
	}
	.scalingPrice .noteList ul {
		padding-left: 18px;
	}
	.scalingPrice .noteList ul li {
		line-height: 1.6;
		margin-bottom: min(2vw, 15px);
	}
}




/* ////////////////////////////////////////////////////////////////////////////////

	会員特典・割引サービス

//////////////////////////////////////////////////////////////////////////////// */
#benefitsLead {
	padding: 100px 0;
}
#benefitsLead p {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 2.6;
}
#benefitsLead p.note {
	font-size: 14px;
	font-weight: normal;
	line-height: 2;
	margin-top: 1em;
}

#benefitsBody {
	padding: 100px 0;
}
.benefitsList li {
	padding: 60px 0;
	border-bottom: #ccc solid 1px;
}
.benefitsList li:last-child {
	border-bottom: none;
}
.benefitsList li h4 {
	font-size: 24px;
	margin-bottom: 20px;
}
.benefitsList li h5 {
	font-size: 18px;
	margin-bottom: 30px;
}
.benefitsList li h5 span {
	font-size: 16px;
	font-weight: normal;
}
.benefitsList li p {
	margin-bottom: 20px;
}
.benefitsList li p a {
	color: #1F1F1F;
}
.benefitsList li .note {
	font-size: 14px;
}

.benefitsList li.inPic {
	display: flex;
	justify-content: space-between;
}
.benefitsList li.inPic .txt {
	width: calc(100% - 400px);
}
.benefitsList li.inPic .pic {
	width: 340px;
}

.benefitsTable {
	width: 100%;
	border-collapse: separate;
	border-spacing: 2px;
	margin: 40px 0;
}
.benefitsTable th,
.benefitsTable td {
	text-align: center;
	padding: 15px;
}
.benefitsTable th {
	background-color: #F7CDBC;
}
.benefitsTable td {
	background-color: #FFF1EB;
}



@media screen and (max-width: 820px) {

	#benefitsLead {
		padding: min(14vw, 100px) 0;
	}
	#benefitsLead p {
		font-size: min(3.8vw, 20px);
		line-height: 2;
	}

	#benefitsBody {
		padding: min(14vw, 100px) 0;
	}
	.benefitsList li {
		padding: min(8vw, 60px) 0;
	}
	.benefitsList li h4 {
		font-size: min(4.6vw, 24px);
		margin-bottom: min(4vw, 20px);
	}
	.benefitsList li h5 {
		font-size: min(3.8vw, 18px);
		margin-bottom: min(6vw, 30px);
		line-height: 1.8;
	}
	.benefitsList li h5 span {
		font-size: min(3.2vw, 16px);
	}
	.benefitsList li p {
		margin-bottom: min(6vw, 20px);
	}
	.benefitsList li .note {
		font-size: min(3vw, 14px);
	}

	.benefitsList li.inPic {
		display: block;
	}
	.benefitsList li.inPic .txt {
		width: 100%;
		margin-bottom: min(6vw, 40px);
	}
	.benefitsList li.inPic .pic {
		width: 100%;
	}

	.benefitsTable {
		margin: min(8vw, 40px) 0;
	}
	.benefitsTable th,
	.benefitsTable td {
		padding: min(2vw, 15px);
		font-size: min(3.2vw, 14px);
	}

}



/* ////////////////////////////////////////////////////////////////////////////////

	FAQ

//////////////////////////////////////////////////////////////////////////////// */
#faq {
	padding: 60px 0 100px;
}
#faq h3 {
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 40px;
}
#faq h4 {
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 20px;
}

.faqList {
	margin-bottom: 100px;
	border-bottom: #ccc solid 1px;
}
.faqList dt {
	cursor: pointer;
	padding: 20px 60px 20px 80px;
	position: relative;
	font-size: 18px;
	border-top: #ccc solid 1px;
	line-height: 1.6;
}
.faqList dt:first-child {
	border-top: none;
}
.faqList dt::before {
	content: "Q";
	position: absolute;
	top: 20px;
	left: 20px;
	color: #E89979;
	font-size: 28px;
	font-weight: bold;
    line-height: 1;
}
.faqList dt span {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 22px;
	height: 22px;
	transform: translateY(-50%);
}
.faqList dt span::before,
.faqList dt span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: #707070;
	transform: translate(-50%, -50%);
}
.faqList dt span::before {
	width: 100%;
	height: 2px;
}
.faqList dt span::after {
	width: 2px;
	height: 100%;
	transition: all .3s ease-out;
}
.faqList dt.on span::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.faqList dd {
	padding: 20px 10px 35px 80px;
	position: relative;
	display: none;
}
.faqList dd::before {
	content: "A";
	position: absolute;
	top: 20px;
	left: 20px;
	color: #999999;
	font-size: 28px;
	font-weight: bold;
    line-height: 1;
}
.faqList dd a {
	color: #000;
	text-decoration: underline;
}

.faqList .br-height {
	display: block;
	content: "";
	height: 15px;
}


@media screen and (min-width: 821px) {
	.faqList dt {
		transition: all .3s ease-out;
	}
	.faqList dt:hover {
		background-color: #FFF3EF;
	}
}
@media screen and (max-width: 820px) {

	#faq {
		padding: min(8vw, 60px) 0 min(14vw, 100px);
	}
	#faq h3 {
		font-size: min(4.8vw, 28px);
		margin-bottom: min(6vw, 40px);
	}

	#faq h4 {
		font-size: min(4.6vw, 22px);
    	margin-bottom: min(1vw, 10px);
	}

	.faqList {
		margin-bottom: min(20vw, 100px);
	}
	.faqList dt {
		padding: min(4vw, 20px) min(8vw, 60px) min(4vw, 20px) min(10vw, 80px);
		font-size: min(3.8vw, 18px);
	}
	.faqList dt::before {
		top: min(3.4vw, 20px);
		left: 0;
		font-size: min(6.4vw, 28px);
	}
	.faqList dt span {
		right: 0;
		width: min(5vw, 22px);
		height: min(5vw, 22px);
	}

	.faqList dd {
		padding: min(3vw, 20px) 0 min(6vw, 20px) min(10vw, 80px);
	}
	.faqList dd::before {
		top: min(3.4vw, 20px);
		left: 0;
		font-size: min(6.4vw, 28px);
	}
	.faqList .br-height {
		height: min(3.4vw, 15px);
	}

}

/* ////////////////////////////////////////////////////////////////////////////////

	会社概要

//////////////////////////////////////////////////////////////////////////////// */
#company {
	padding: 80px 0 100px;
}
.companyLogo {
	width: 200px;
	margin: 0 auto 60px;
	line-height: 0;
}
.companyInfo {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
.companyInfo dt {
	width: 160px;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: #ccc solid 1px;
}
.companyInfo dd {
	width: calc(100% - 160px);
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: #ccc solid 1px;
}

.companySiteLink {
	background-color: #F8F8F8;
	padding: 25px;
	text-align: center;
}
.companySiteLink p {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: .05em;
}
.companySiteLink a {
	display: block;
	border: #ccc solid 2px;
	background-color: #fff;
	padding: 10px;
	color: #000;
	text-decoration: none;
	font-size: 14px;
	border-radius: 6px;
	max-width: 300px;
	margin: 20px auto 0;
}
.companySiteLink a::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 18px;
	background: url(../images/ico_blank.svg) no-repeat right center;
    background-size: 100%;
	margin-left: 10px;
    vertical-align: middle;
}

@media screen and (max-width: 820px) {
	#company {
		padding: 0 0 min(14vw, 100px);
	}
	.companyLogo {
		width: min(30vw, 200px);
		margin: 0 auto min(8vw, 60px);
	}
	.companyInfo {
		margin-bottom: min(8vw, 60px);
	}
	.companyInfo dt {
		width: 100%;
		padding-bottom: min(2vw, 15px);
		margin-bottom: 0;
		border-bottom: none;
		font-weight: bold;
	}
	.companyInfo dd {
		width: 100%;
		padding-bottom: min(5vw, 20px);
		margin-bottom: min(5vw, 20px);
	}
	.companySiteLink {
		padding: min(5vw, 25px);
	}
	.companySiteLink p {
		font-size: min(3.4vw, 18px);
	}
	.companySiteLink a {
		padding: min(3vw, 15px);
		font-size: min(3.4vw, 14px);
		margin: min(3vw, 20px) auto 0;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	SPAオプション

//////////////////////////////////////////////////////////////////////////////// */
#spaOption,
#option,
#etiquetteCare,
#raking {
	padding: 100px 0;
}
#spaOption .note {
	font-size: .9em;
}
.optionList {
	margin-bottom: 30px;
}
.optionList li {
	padding: 30px 0;
	border-bottom: #ccc solid 1px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.optionList li .optFlex {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.optionList li .optFlex + .optFlex {
	margin-top: 15px;
}
.optionList li h5 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 20px;
}
.optionList li .optFlex h5 {
	margin-bottom: 0;
}
.optionList li h6 {
	font-size: 16px;
	font-weight: bold;
	margin-top: 20px;
}
.optionList li .optFlex h6 {
	margin-bottom: 0;
}
.optionList li p {
	text-align: right;
}
.optionList li .price {
    line-height: 2.4;
	font-weight: bold;
}

.optionList li .txt {
	width: 65%;
}
.optionList li .txt p {
	text-align: left;
	margin-bottom: 20px;
}
.optionList li .txt .btn a {
	display: inline-block;
	background-color: #fff;
	border-radius: 6px;
	border: #ccc solid 2px;
	padding: 10px 40px;
	color: #000;
	text-decoration: none;
	text-align: center;
	font-size: 14px;
}
.optionList li .pic {
	width: 30%;
	text-align: right;
}

#spaOption .optionList:has(+ h3) {
	margin-bottom: 80px;
}

.optionGrayBox {
	width: 100%;
	background-color: #F8F8F8;
	padding: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 40px;
}
.optionGrayBox .pic {
    width: 24%;
	line-height: 0;
}
.optionGrayBox .txt {
	width: 70%;
	text-align: right;
}
.optionGrayBox .txt h5 {
	font-size: 18px;
	margin-bottom: 15px;
	text-align: left;
}
.optionGrayBox .txt p {
	text-align: left;
	margin-bottom: 20px;
}
.optionGrayBox .btn a {
	display: inline-block;
	background-color: #fff;
	border-radius: 6px;
	border: #ccc solid 2px;
	padding: 10px 40px;
	color: #000;
	text-decoration: none;
	text-align: center;
	font-size: 14px;
}


.rakingWrap {
	padding-bottom: 60px;
	margin-bottom: 60px;
	border-bottom: #ccc solid 1px;
}
.rakingWrap h4 {
	font-size: 20px;
	margin-bottom: 30px;
}

.aboutRaking {
	display: flex;
	justify-content: space-between;
}
.aboutRaking .txt {
	width: 58%;
}
.aboutRaking p {
	margin-bottom: 20px;
}
.aboutRaking p:last-child {
	margin-bottom: 0;
}
.aboutRaking .pic {
	width: 35%;
}

.rakingMerit {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.rakingMerit li {
	width: 47%;
	margin-bottom: 30px;
	background-color: #FFF3EF;
}
.rakingMerit li h5 {
	background-color: #fff;
	padding-bottom: 15px;
	font-size: 18px;
	font-weight: bold;
}
.rakingMerit li div {
	padding: 20px 25px;
}

.rakingPrice {
	width: 100%;
	text-align: center;
    border-collapse: separate;
    border-spacing: 3px;
}
.rakingPrice th {
	background-color: #F7CDBC;
	width: 50%;
	padding: 10px;
}
.rakingPrice td {
	background-color: #FFF1EB;
	padding: 10px;
}

.iframeBox {
	max-width: 820px;
	margin: 0 auto;
}
.iframeBox div {
	position: relative;
	padding-top: 56.25%;
}
.iframeBox div iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 820px) {
	#spaOption,
	#option,
	#etiquetteCare,
	#raking {
		padding: min(14vw, 100px) 0;
	}

	.optionList {
		margin-bottom: min(4vw, 30px);
	}
	.optionList li {
		padding: min(4vw, 30px) 0;
		display: block;
	}
	.optionList li .optFlex {
		display: block;
	}
	.optionList li .optFlex + .optFlex {
		margin-top: min(3vw, 15px);
	}
	.optionList li h5 {
		font-size: min(4.6vw, 18px);
    	margin-bottom: min(4vw, 20px);
	}
	.optionList li h6 {
		font-size: min(3.8vw, 16px);
    	margin-top: min(4vw, 20px);
	}
	.optionList li p {
		text-align: left;
	}

	.optionList li .txt {
		width: 100%;
		margin-bottom: min(6vw, 30px);
	}
	.optionList li .txt p {
		margin-bottom: min(4vw, 20px);
	}
	.optionList li .pic {
		width: 70%;
		text-align: center;
		margin: 0 auto;
	}

	#spaOption .optionList:has(+ h3) {
		margin-bottom: min(8vw, 80px);
	}

	.optionGrayBox {
		padding: min(5vw, 30px);
		display: block;
		margin-top: min(8vw, 40px);
	}
	.optionGrayBox .pic {
		width: 60%;
		margin: 0 auto min(6vw, 40px);
	}
	.optionGrayBox .txt {
		width: 100%;
		text-align: center;
	}
	.optionGrayBox .txt h5 {
		font-size: min(4vw, 18px);
		margin-bottom: min(2vw, 15px);
	}
	.optionGrayBox .txt p {
		margin-bottom: min(4vw, 20px);
	}
	.optionList li .txt .btn a {
		padding: min(3vw, 10px)  min(8vw, 40px);
		font-size: 14px;
	}

	/* .optionList li .btn {
		width: 100%;
		text-align: center;
	} */
	.optionGrayBox .btn a {
		padding: min(3vw, 10px)  min(8vw, 40px);
		font-size: 14px;
	}


	.rakingWrap {
		padding-bottom: min(8vw, 60px);
		margin-bottom: min(8vw, 60px);
	}
	.rakingWrap h4 {
		font-size: min(4.6vw, 20px);
		margin-bottom: min(4vw, 30px);
	}

	.aboutRaking {
		display: block;
	}
	.aboutRaking .txt {
		width: 100%;
		margin-bottom: min(6vw, 40px);
	}
	.aboutRaking p {
		margin-bottom: min(4vw, 20px);
	}
	.aboutRaking .pic {
		width: 100%;
	}

	.rakingMerit {
		display: block;
	}
	.rakingMerit li {
		width: 100%;
		margin-bottom: min(5vw, 30px);
	}
	.rakingMerit li h5 {
		padding-bottom: min(3vw, 15px);
    	font-size: min(3.8vw, 18px);
	}
	.rakingMerit li div {
    	padding: min(4vw, 20px);
	}

	.rakingPrice {
		border-spacing: 2px;
	}
	.rakingPrice th {
		width: 50%;
		padding: 10px;
	}
	.rakingPrice td {
		padding: 10px;
	}


}


/* ////////////////////////////////////////////////////////////////////////////////

	ペットホテル

//////////////////////////////////////////////////////////////////////////////// */
#hotel,
#catHotel {
	padding: 100px 0;
}
#hotel h4 {
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 40px;
}
#hotel .note + h4 {
	margin-top: 56px;
}
.hotelAnchor {
	display: flex;
	justify-content: space-between;
	margin: 40px 0 80px;
}
.hotelAnchor li {
	width: 48%;
}
.hotelAnchor li a {
	display: block;
	text-align: center;
	color: #000;
	text-decoration: none;
	font-size: 18px;
	font-weight: bold;
	border: #ccc solid 2px;
	border-radius: 6px;
	padding: 15px;
	background-color: #fff;
}
.hotelAnchor li a span {
	display: block;
	font-size: 14px;
	font-weight: normal;
}

#hotel .hotelImg {
	margin-top: 60px;
}

.aboutHotel {
	padding-top: 60px;
	border-top: #ccc solid 1px;
	margin-top: 60px;
	margin-bottom: 60px;
}
.aboutHotel p {
	margin-bottom: 30px;
}
.aboutHotel .note {
	font-size: .9em;
}
.aboutHotel .note a {
	color: #000;
}

.forDogList.pBdrBox {
	padding: 40px;
	border: #E89979 solid 1px;
}
.forDogList.pBdrBox li.note {
	width: 100%;
	margin-top: 10px;
}

.whBoxFlex {
	background-color: #fff;
    padding: 40px;
    margin-bottom: 60px;
	display: flex;
	justify-content: space-between;
}
.whBoxFlex .pic {
	width: 20%;
	line-height: 0;
}
.whBoxFlex .txt {
	width: 75%;
}

.hotelPlan .exampleList {
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
.hotelPlan .exampleList figure {
	width: 15.5%;
}
.hotelPlan .exampleList figure figcaption {
	text-align: center;
	font-size: 14px;
}

.dayFlow {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}
.dayFlow li {
	width: calc(100% / 6.5);
}
.dayFlow li .pic {
	width: 100%;
	line-height: 0;
	margin-bottom: 10px;
}
.dayFlow li h5 {
	font-size: 16px;
	text-align: center;
	font-weight: normal;
}

.dayFlow li .txt .txtBox {
	border: #ccc solid 1px;
	padding: 30px 40px;
}


.belongings {
	padding-top: 60px;
    border-top: #ccc solid 1px;
    margin-top: 60px;
}
.belongingFlex {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}
.belongingFlex .txt {
    width: 50%;
}
.belongingFlex .pic {
	line-height: 0;
	width: 22%;
}

.discount {
	border: #E89979 solid 1px;
	padding: 20px;
}
.discount h5 {
	text-align: center;
	font-size: 18px;
	margin-bottom: 15px;
}


.shortStay {
	padding-top: 60px;
    border-top: #ccc solid 1px;
    margin-top: 60px;
}
.shortStay h5 {
	margin-bottom: 20px;
	font-size: 16px;
	font-weight: bold;
}
.shortStay .txtBox {
	border: #ccc solid 1px;
	padding: 30px 40px;
	margin-top: 40px;
}


.aboutCatHotel {
	display: flex;
	justify-content: space-between;
	padding-bottom: 60px;
	margin-bottom: 60px;
	border-bottom: #ccc solid 1px;
}
.aboutCatHotel .txt {
	width: 55%;
}
.aboutCatHotel .txt p {
	margin-bottom: 30px;
}
.aboutCatHotel .pic {
	line-height: 0;
	width: 36%;
}

.catHotelList {
	display: flex;
	justify-content: space-between;
}
.catHotelList li {
	width: 30%;
}
.catHotelList li figcaption {
	margin-top: 5px;
	text-align: center;
	font-size: 12px;
	line-height: 1.6;
}
#catHotel .preCheck {
	margin-top: 60px;
}



@media screen and (max-width: 820px) {

	#hotel,
	#catHotel {
		padding: min(14vw, 100px) 0;
	}
	#hotel h4 {
		font-size: min(4.6vw, 22px);
		margin-bottom: min(6vw, 40px);
	}
	#hotel .note + h4 {
		margin-top: min(8vw, 56px);
	}
	.hotelAnchor {
		display: block;
		margin: min(6vw, 40px) 0 min(10vw, 80px);
	}
	.hotelAnchor li {
		width: 100%;
		margin: 0 0 min(4vw, 30px);
	}
	.hotelAnchor li a {
		font-size: min(3.8vw, 18px);
		padding: min(3vw, 15px);
	}
	.hotelAnchor li a span {
		font-size: min(3.2vw, 14px);
	}

	#hotel .hotelImg {
		margin-top: min(8vw, 60px);
	}

	.aboutHotel {
		padding-top: min(10vw, 60px);
		margin-top: min(10vw, 60px);
		margin-bottom: min(10vw, 60px);
	}
	.aboutHotel p {
		margin-bottom: min(6vw, 30px);
	}
	.aboutHotel .note {
		font-size: .9em;
	}

	.forDogList.pBdrBox {
		padding: min(5vw, 40px);
	}
	.forDogList.pBdrBox li.note {
		margin-top: min(2vw, 10px);
	}

	.whBoxFlex {
		padding: min(5vw, 40px);
		margin-bottom: min(8vw, 60px);
	}
	.whBoxFlex .pic {
		width: 30%;
	}
	.whBoxFlex .txt {
		width: 62%;
		line-height: 1.8;
	}

	.hotelPlan .exampleList {
		justify-content: center;
		flex-wrap: wrap;
	}
	.hotelPlan .exampleList figure {
		width: calc(100% / 3);
		padding: 0 2%;
		margin-bottom: min(4vw, 20px);
	}
	.hotelPlan .exampleList figure figcaption {
		font-size: min(3vw, 14px);
	}

	.dayFlow {
		flex-wrap: wrap;
	}
	.dayFlow li {
		width: 31%;
    	margin-bottom: min(4vw, 20px);
	}
	.dayFlow li .pic {
		margin-bottom: min(2vw, 10px);
	}
	.dayFlow li h5 {
    	font-size: min(3vw, 14px);
	}


	.belongings {
		padding-top: min(10vw, 60px);
		margin-top: min(10vw, 60px);
	}
	.belongingFlex {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: min(10vw, 60px);
	}
	.belongingFlex .txt {
		width: 100%;
		margin-bottom: min(6vw, 40px);
	}
	.belongingFlex .pic {
		width: 48%;
	}

	.discount {
		padding: min(4vw, 20px);
	}
	.discount h5 {
		font-size: min(3.8vw, 18px);
		margin-bottom: min(3vw, 15px);
	}
	.discount p {
		font-size: .95em;
	}


	.shortStay {
		padding-top: min(10vw, 60px);
		margin-top: min(10vw, 60px);
	}
	.shortStay h5 {
		margin-bottom: min(4vw, 20px);
		font-size: min(3.6vw, 16px);
	}
	.shortStay .txtBox {
		padding: min(5vw, 30px);
		margin-top: min(6vw, 40px);
	}


	.aboutCatHotel {
		display: block;
		padding-bottom: min(10vw, 60px);
		margin-bottom: min(10vw, 60px);
	}
	.aboutCatHotel .txt,
	.aboutCatHotel .pic {
		width: 100%;
	}
	.aboutCatHotel .txt p {
		margin-bottom: min(4vw, 30px);
	}

	.catHotelList {
		display: block;
	}
	.catHotelList li {
		width: 100%;
		margin-bottom: min(4vw, 40px);
	}
	.catHotelList li figure {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.catHotelList li figure img {
		width: 40%;
	}
	.catHotelList li figcaption {
		width: 52%;
		margin-top: 0;
		text-align: left;
		font-size: min(3vw, 12px);
	}

	#catHotel .preCheck {
		margin-top: min(8vw, 60px);
	}

}

/* ////////////////////////////////////////////////////////////////////////////////

	フード＆ケアグッズ

//////////////////////////////////////////////////////////////////////////////// */
#food {
	padding: 100px 0;
}
.foodWrap {
	padding-top: 60px;
	margin-top: 60px;
	border-top: #ccc solid 1px;
}
.foodWrap.foodFlex {
	display: flex;
	justify-content: space-between;
}
.foodWrap.foodFlex .txt {
	width: 60%;
}
.foodWrap.foodFlex .pic {
	width: 35%;
}

.foodWrap h3 {
	font-size: 20px;
	margin-bottom: 30px;
}
.foodWrap h4 {
	font-size: 18px;
	margin-top: 40px;
	margin-bottom: 25px;
}
.foodWrap .lineUp ul {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
}
.foodWrap .lineUp ul li {
	width: calc((100% - 80px) / 3);
	margin-right: 40px;
	margin-bottom: 40px;
	text-align: center;
}
.foodWrap .lineUp ul li:nth-child(3n) {
	margin-right: 0;
}
.foodWrap .lineUp ul li div {
	line-height: 0;
	margin-bottom: 10px;
}
.foodWrap .lineUp ul li h5 {
	font-size: 16px;
}
.foodWrap .lineUp ul li p {
	font-size: 14px;
}

.foodWrap .buyBtn {
	display: block;
	background-color: #E89979;
	text-align: center;
	color: #fff;
	text-decoration: none;
	padding: 10px;
	border-radius: 6px;
	max-width: 240px;
	margin: 0 auto;
}

.foodWrap .potWrap {
	display: flex;
	justify-content: space-between;
}
.foodWrap .potWrap .txt {
	width: 60%;
}
.foodWrap .potWrap .txt .potPoint {
	line-height: 0;
	margin-top: 40px;
}
.foodWrap .potWrap .pic {
	width: 30%;
	line-height: 0;
}
.foodWrap .potWrap .pic img {
	margin-bottom: 30px;
}

.foodWrap .potLineUp {
	margin-bottom: 60px;
}
.foodWrap .potLineUp p {
	margin-bottom: 40px;
}
.foodWrap .potLineUp p a {
	color: #000;
	text-decoration: underline;
}

.bnrPayPay {
	max-width: 820px;
	margin: 0 auto;
}

@media screen and (max-width: 820px) {
	#food {
		padding: min(14vw, 100px) 0;
	}
	.foodWrap {
		padding-top: min(10vw, 60px);
		margin-top: min(10vw, 60px);
	}
	.foodWrap.foodFlex {
		display: block;
	}
	.foodWrap.foodFlex .txt,
	.foodWrap.foodFlex .pic {
		width: 100%;
	}
	.foodWrap.foodFlex .txt {
		margin-bottom: min(6vw, 40px);
	}
	.foodWrap h3 {
		font-size: min(4vw, 20px);
		margin-bottom: min(6vw, 30px);
	}
	.foodWrap h4 {
		font-size: min(4vw, 18px);
		margin-top: min(8vw, 40px);
		margin-bottom: min(4vw, 25px);
	}
	.foodWrap .lineUp ul {
		justify-content: space-between;
		margin-bottom: min(6vw, 30px);
	}
	.foodWrap .lineUp ul li {
		width: 48%;
		margin-right: 0;
		margin-bottom: min(6vw, 40px);
	}
	.foodWrap .lineUp ul li div {
		margin-bottom: min(2vw, 10px);
	}
	.foodWrap .lineUp ul li h5 {
		font-size: min(3.6vw, 16px);
	}
	.foodWrap .lineUp ul li p {
		font-size: min(3vw, 14px);
	}

	.foodWrap .buyBtn {
		padding: min(3vw, 10px);
	}
	.foodWrap .potWrap {
		display: block;
	}
	.foodWrap .potWrap .txt {
		width: 100%;
		margin-bottom: min(6vw, 40px);
	}
	.foodWrap .potWrap .txt .potPoint {
		margin-top: min(6vw, 40px);
	}
	.foodWrap .potWrap .pic {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.foodWrap .potWrap .pic img {
		margin-bottom: 0;
		width: 48%;
	}

	.foodWrap .potLineUp {
		margin-bottom: min(10vw, 60px);
	}
	.foodWrap .potLineUp p {
		margin-bottom: min(8vw, 40px);
	}

	.bnrPayPay {
		margin-top: min(8vw, 60px);
	}

}


/* ////////////////////////////////////////////////////////////////////////////////

	SERVICE ペット保険商品のご案内

//////////////////////////////////////////////////////////////////////////////// */
#insurance {
	padding: 100px 0;
}
#insurance p {
	margin-bottom: 60px;
}
.bnrInsurance {
    max-width: 880px;
    margin: 0 auto 60px;
}
.btnInsurance a {
    display: block;
    border: #ccc solid 2px;
    background-color: #fff;
    padding: 10px;
    color: #000;
	text-align: center;
    text-decoration: none;
    font-size: 14px;
    border-radius: 6px;
    max-width: 300px;
    margin: 20px auto 0;
}
.btnInsurance a::after {
	content: "";
    display: inline-block;
    width: 10px;
    height: 18px;
    background: url(../images/ico_blank.svg) no-repeat right center;
    background-size: 100%;
    margin-left: 10px;
    vertical-align: middle;
}

@media screen and (max-width: 820px) {
	#insurance {
		padding: min(14vw, 100px) 0;
	}

	#insurance p {
		margin-bottom: min(8vw, 60px);
	}
	.bnrInsurance {
		margin: 0 auto min(8vw, 60px);
	}
	.btnInsurance a {
		padding: min(3vw, 15px);
		font-size: min(3.4vw, 14px);
		margin: min(3vw, 20px) auto 0;
	}

}


/* ////////////////////////////////////////////////////////////////////////////////

	はじめてご利用のお客様へ

//////////////////////////////////////////////////////////////////////////////// */
#firstTime {
	padding: 100px 0;
}

.ftWrap {
	padding-bottom: 60px;
	border-bottom: #ccc solid 1px;
	margin-bottom: 60px;
}
.ftWrap:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

a.ftBtn {
	display: block;
	width: 420px;
	max-width: 48%;
	background-color: #F5B118;
	color: #fff;
	margin: 0 auto 40px;
	text-align: center;
	text-decoration: none;
	font-size: 16px;
	padding: 12px;
	border-radius: 6px;
}
a.ftBtn:focus {
	outline: none;
}

.ftFlow + .ftFlow {
	margin-top: 60px;
}
.ftFlow h4 {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	position: relative;
	margin-bottom: 40px;
}
.ftFlow h4::before {
	content: "";
	width: 100%;
	height: 1px;
	display: block;
	background-color: #707070;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 0;
}
.ftFlow h4 span {
	display: inline-block;
	padding: 0 20px;
	background-color: #fff;
	position: relative;
	z-index: 1;
}
.ftFlow h5 {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 30px;
}

.ybgBoxPic {
	background-color: #FFF4DB;
	padding: 30px;
	display: flex;
	justify-content: space-between;
}
.ybgBoxPic .pic {
	line-height: 0;
	width: 25%;
}
.ybgBoxPic .txt {
	width: 70%;
}
.ybgBoxPic .txt h6 {
	font-size: 18px;
	margin-bottom: 20px;
}

.ftFlow a.textLink {
	display: block;
	text-align: center;
	color: #1F1F1F;
	margin-top: 30px;
}

.ftFlow .flowArrow {
	position: relative;
	margin-top: 100px;
}
.ftFlow .flowArrow::before {
	content: "";
	display: block;
	width: 40px;
	height: 34px;
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translateX(-50%);
	background: url(../images/service/arrow.svg) no-repeat center center;
	background-size: contain;
}

.ybgBoxClm {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.ybgBoxClm .ybgBox {
	width: 48%;
}


.ybgBox {
	background-color: #FFF4DB;
	padding: 30px;
}
.ybgBox h6 {
	font-size: 18px;
	margin-bottom: 10px;
}

.flowOption {
	width: 100%;
	border: #F5B118 solid 1px;
	padding: 40px;
	margin-bottom: 80px;
}
.flowOption .bdrBoxMain {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.flowOption .bdrBoxMain .txt {
	width: 50%;
}
.flowOption .bdrBoxMain .txt h5 {
	font-size: 20px;
	color: #F5B118;
	margin-bottom: 30px;
	text-align: left;
}
.flowOption .bdrBoxMain .pic {
	width: 40%;
	line-height: 0;
}
.flowOption .bdrBoxMain a {
	display: block;
	width: 200px;
	text-align: center;
	border: #ccc solid 2px;
	border-radius: 6px;
	color: #1f1f1f;
	padding: 10px;
	text-decoration: none;
}

.flowOption .bdrBoxOption {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: #ccc solid 1px;
	padding-top: 30px;
	margin-top: 30px;
}
.flowOption .bdrBoxOption p {
	width: calc(100% - 230px);
}
.flowOption .bdrBoxOption a {
	display: block;
	width: 200px;
	text-align: center;
	border: #ccc solid 2px;
	border-radius: 6px;
	color: #1f1f1f;
	padding: 10px;
	text-decoration: none;
}

.ftLinkList {
	display: flex;
	justify-content: center;
	margin-top: 60px;
}
.ftLinkList li {
	width: 28%;
	margin: 0 1.5%;
}
.ftLinkList li a {
	display: block;
	border: #E6E6E6 solid 2px;
	border-radius: 6px;
	text-align: center;
	text-decoration: none;
	font-size: 15px;
	font-weight: bold;
	padding: 10px;
	color: #1F1F1F;
	background-color: #fff;
}
.ftLinkList li a::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
    background: #fff url(../images/ico_blank.svg) no-repeat center center;
    background-size: 100%;
	margin-left: 10px;
}

.whBox {
	background-color: #fff;
	padding: 40px;
	margin-bottom: 60px;
}
.whBox li + li {
	border-top: #ccc solid 1px;
	margin-top: 30px;
	padding-top: 30px;
}
.whBox li h4 {
	font-size: 18px;
	font-weight: bold;
}
.whBox li h4 + p {
	margin-top: 20px;
	font-size: 14px;
}
.whBox li h4 span {
	font-weight: normal;
}

.empTxt {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 30px;
}

.ftBtnList {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
.ftBtnList li {
	width: 40%;
}
.ftBtnList li a.ftBtn {
	width: 100%;
	max-width: 100%;
}


.cutExample {
	margin-bottom: 40px;
}
.cutExample .exampleList {
	display: flex;
	justify-content: space-between;
}
.cutExample .exampleList figure {
	width: 18.5%;
}
.cutExample .exampleList figure figcaption {
	text-align: center;
	font-size: 14px;
}


.ybgBoxInrFlex {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.ybgBoxInrFlex .txt {
	width: 65%;
}
.ybgBoxInrFlex .pic {
	line-height: 0;
	width: 30%;
}

.ybgBox .whBox {
	padding: 30px;
	margin: 0;
}


.forDog {
	margin-top: 60px;
	margin-bottom: 60px;
}
.forDogList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.forDogList li {
	width: 48%;
}

.hotelFeatures {
	max-width: 820px;
	margin: 0 auto;
}
.featuresList {
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
}
.featuresList li {
	width: 24%;
	background: url("../images/firsttime/pawpad.svg") no-repeat center center;
	background-size: contain;
	text-align: center;
	line-height: 1.6;
	font-size: 18px;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 60px 0 30px;
	margin: 0 2%;
}

.featuresSlide {
	margin-top: 40px;
}
.featuresSlide li {
	line-height: 0;
}


#useFlow {
	padding: 100px 0;
}
#specificBreed,
#seniorPet,
#sizePrice,
#ftBenefits {
}
#specificBreed .contentWrap,
#seniorPet .contentWrap,
#sizePrice .contentWrap,
#ftBenefits .contentWrap {
	position: relative;
	padding-top: 80px;
	padding-bottom: 80px;
}
.ftWrap::before {
	content: "";
	border-top: #ccc solid 1px;
	position: absolute;
	top: 0;
	left: 60px;
	width: calc(100% - 120px);
}
.bgGray + section .ftWrap:first-child:before {
	display: none;
}
.ftWrap p {
	margin-bottom: 30px;
}
.ftWrap p:last-child {
	margin-bottom: 0;
}
.ftWrap p.note {
	font-size: .9em;
}
.ftWrap p a {
	color: #000;
	text-decoration: underline;
}

.ftTable {
	width: 100%;
	margin-top: 60px;
	margin-bottom: 20px;
	border-collapse: separate;
	border-spacing: 3px;
}
.ftTable th {
	background-color: #FFF4DB;
	text-align: center;
	padding: 10px 20px;
	line-height: 1.6;
}
.ftTable td {
	background-color: #FFFAEF;
	text-align: center;
	padding: 15px 20px;
}

.ftBenefitsList {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.ftBenefitsList li {
	padding: 40px;
	background-color: #FFFAEF;
	width: 48.5%;
	margin-bottom: 30px;
}
.ftBenefitsList li:last-child {
	border-bottom: none;
}
.ftBenefitsList li h5 {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	line-height: 1.8;
	margin-bottom: 30px;
}
.ftBenefitsList li h5 span {
	font-size: .9em;
	font-weight: normal;
}


.preCheck .ybgBox {
	padding: 40px 60px;
}
.preCheck h4 {
    font-size: 18px;
    margin-bottom: 20px;
}
.preCheck .checkList {
	margin-bottom: 40px;
}
.preCheck .checkList:last-child {
	margin-bottom: 0;
}

.preCheck .checkList li {
    padding-left: 40px;
	position: relative;
    line-height: 1.8;
    margin-bottom: 5px;
}
.preCheck .checkList li span {
	display: block;
    position: absolute;
    top: 0.2em;
    left: 0;
	width: 20px;
	height: 20px;
	border: #F5B118 solid 2px;
}
.preCheck .checkList li span::before {
	content: "";
	display: block;
	position: relative;
	top: 30%;
	left: 50%;
	width: 10px;
	height: 20px;
	border-bottom: #F5B118 solid 4px;
	border-right: #F5B118 solid 4px;
	transform: translate(-50%, -50%) rotate(45deg);
}
.preCheck .checkList li a {
	color: #000;
	text-decoration: underline;
}


@media screen and (max-width: 820px) {

	#firstTime {
		padding: min(14vw, 100px) 0;
	}

	a.ftBtn {
		max-width: 80%;
		margin: 0 auto min(6vw, 40px);
		font-size: min(3.6vw, 16px);
		padding: min(4vw, 12px);
		border-radius: 6px;
    	line-height: 1.6;
	}
	.ftWrap {
		padding-bottom: min(8vw, 60px);
		margin-bottom: min(8vw, 60px);
	}
	.ftWrap p {
		margin-bottom: min(5vw, 30px);
	}

	.ftLinkList {
		display: block;
		margin-top: min(8vw, 60px);
	}
	.ftLinkList li {
		width: 64%;
		margin: 0 auto 4vw;
	}

	.whBox {
		padding: min(6vw, 40px);
		margin-bottom: min(10vw, 60px);
	}
	.whBox li + li {
		margin-top: min(6vw, 30px);
		padding-top: min(6vw, 30px);
	}
	.whBox li h4 {
		font-size: min(3.8vw, 18px);
	}
	.whBox li h4 + p {
		margin-top: min(4vw, 20px);
		font-size: min(3vw, 14px);
	}

	.empTxt {
		font-size: min(3.4vw, 18px);
	}

	.ftBtnList {
		display: block;
	}
	.ftBtnList li {
		width: 100%;
	}
	.ftBtnList li a.ftBtn {
		width: 80%;
	}

	#useFlow {
		padding: min(14vw, 100px) 0;
	}

	.ftFlow h4 {
		font-size: min(5.2vw, 28px);
		margin-bottom: min(6vw, 40px);
	}
	.ftFlow h5 {
		font-size: min(3.8vw, 18px);
		margin-bottom: min(6vw, 30px);
	}
	.ftFlow .flowArrow {
		margin-top: min(14vw, 100px);
	}
	.ftFlow .flowArrow::before {
		width: 8.2vw;
		height: 6.8vw;
    	top: -10vw;
	}

	.ybgBoxPic {
		padding: min(4vw, 30px);
    	display: block;
	}
	.ybgBoxPic .pic {
		width: 100%;
		margin-bottom: min(5vw, 40px);
	}
	.ybgBoxPic .txt {
		width: 100%;
	}
	.ybgBoxPic .txt h6 {
		font-size: min(4vw, 18px);
		margin-bottom: min(3vw, 20px);
	}

	.ybgBox {
		padding: min(5vw, 30px);
	}
	.ybgBox h6 {
		font-size: min(3.8vw, 18px);
		margin-bottom: min(3vw, 10px);
	}
	.ybgBoxInrFlex {
		display: block;
		margin-bottom: min(6vw, 30px);
	}
	.ybgBoxInrFlex .txt {
		width: 100%;
    	margin-bottom: min(4vw, 30px);
	}
	.ybgBoxInrFlex .txt p {
		font-size: min(2.8vw, 14px);
	}
	.ybgBoxInrFlex .pic {
		width: 100%;
	}
	.ybgBox .whBox {
		padding: min(3vw, 30px);
	}
	.ybgBox .whBox p {
		font-size: min(2.8vw, 14px);
	}

	.flowOption {
		padding: min(6vw, 40px);
		margin-bottom: min(12vw, 80px);
	}
	.flowOption .bdrBoxMain {
		display: block;
	}
	.flowOption .bdrBoxMain .txt {
		width: 100%;
    	margin-bottom: min(6vw, 40px);
	}
	.flowOption .bdrBoxMain .txt h5 {
		font-size: min(3.8vw, 20px);
		margin-bottom: min(4vw, 30px);
	}
	.flowOption .bdrBoxMain .pic {
		width: 100%;
	}
	.flowOption .bdrBoxMain a {
		width: 100%;
		padding: 2vw;
	}

	.flowOption .bdrBoxOption {
		display: block;
		padding-top: min(5vw, 30px);
		margin-top: min(5vw, 30px);
	}
	.flowOption .bdrBoxOption p {
		width: 100%;
		margin-bottom: min(4vw, 40px);
	}
	.flowOption .bdrBoxOption a {
		width: 60vw;
		padding: min(3vw, 10px);
		margin: 0 auto;
	}

	.cutExample {
		margin-bottom: min(8vw, 40px);
	}
	.cutExample .exampleList {
		flex-wrap: wrap;
    	justify-content: center;
	}
	.cutExample .exampleList figure {
		width: calc(100% / 3);
		padding: 0 2%;
		margin-bottom: min(4vw, 20px);
	}
	.cutExample .exampleList figure figcaption {
		font-size: min(3vw, 14px);
	}

	.forDog {
		margin-top: min(8vw, 60px);
		margin-bottom: min(8vw, 60px);
	}
	.forDogList li {
		width: 100%;
	}
	.forDogList li.note {
		font-size: .9em;
	}

	.featuresList {
		margin-bottom: min(4vw, 60px);
	}
	.featuresList li {
    	width: 30%;
		font-size: min(3.2vw, 18px);
		padding: min(5vw, 60px) 0 min(4vw, 30px);
	}

	.featuresSlide {
		margin-top: min(6vw, 40px);
	}


	#specificBreed .contentWrap,
	#seniorPet .contentWrap,
	#sizePrice .contentWrap,
	#ftBenefits .contentWrap {
		padding-top: min(12vw, 80px);
		padding-bottom: min(12vw, 80px);
	}
	.ftWrap::before {
		left: 0;
		width: 100%;
	}

	.ftTable {
		margin-top: min(8vw, 60px);
		margin-bottom: min(4vw, 20px);
		border-spacing: 2px;
	}
	.ftTable th {
    	padding: min(2vw, 10px) min(2vw, 20px);
		font-size: min(3vw, 14px);
		font-feature-settings: "palt";
		letter-spacing: .05em;
	}
	.ftTable td {
    	padding: min(2vw, 10px) min(2vw, 20px);
    	line-height: 1.6;
		font-size: min(3vw, 14px);
	}

	.ftBenefitsList {
		display: block;
	}
	.ftBenefitsList li {
		width: 100%;
		padding: min(6vw, 40px);
		margin-bottom: min(5vw, 30px);
	}
	.ftBenefitsList li h5 {
		font-size: min(4vw, 20px);
		margin-bottom: min(4vw, 30px);
	}


	.preCheck .ybgBox {
		padding: min(5vw, 30px);
	}
	.preCheck h4 {
		font-size: min(4vw, 18px);
		margin-bottom: min(4vw, 20px);
	}
	.preCheck .checkList {
		margin-bottom: min(10vw, 40px);
	}

	.preCheck .checkList li {
		padding-left: 30px;
	}
	.preCheck .checkList li span {
		top: 0.25em;
		width: 18px;
		height: 18px;
	}
	.preCheck .checkList li span::before {
		top: 28%;
		width: 10px;
		height: 16px;
	}

}



#notFound {
    padding-bottom: 160px;
}
#notFound p {
	border: #E89979 solid 1px;
	text-align: center;
    padding: 40px;
}
#notFound a {
	color: #E89979;
	text-decoration: underline;
}


@media screen and (max-width: 820px) {

	#notFound {
		padding-bottom: min(14vw, 100px);
	}
	#notFound p {;
		text-align: left;
    	padding: min(6vw, 40px);
	}


}