@charset "UTF-8";

@import url("normalize.css");
/* @import url("font-awesome.css"); */
@import url("general.css");
@import url("style.css");
@import url("contents.css");


.sp,
.spimage,
img[src*="_sp."],
.hidden {
	display: none !important;
}

/*
@media (min-width: 980px) {
	div.container {
		width: 980px;
	}
}
*/
/*
.slidemenu {
	display: none;
}
*/

a[href^="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}

div.container {
	width: 100%;
	max-width: 960px;
}

section p,
section ul li,
section ol li,
section dl dt,
section dl dd {
	color: #333333;
	/* color: #3d290e; */
	/* 	font-size: 1.1em; */
	font-size: 16px;
	line-height: 1.7em;
	text-align: justify;
	text-justify: distribute;
}

main {
	transform: none!important;
}






/* ▼ヘッダー */
/* ----------------------------------------------------- */
header {
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 960px) {
	header div.container {
		max-width: 100%;
	}
}
@media screen and (min-width: 961px) {
	header div.container {
		max-width: 1080px!important;
	}
}



/* ▼ロゴ */
header section#logo {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.2);
	z-index: 2;
}
header section#logo div.container {
	position: relative;
	padding: 10px 0 10px 0;
}
header section#logo figure.logo {
	width: 220px;
}
header section#logo figure.nearest-station {
	width: 32.87%;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 100;
}



/* ▼キービジュアル */
header section#keyvisual {
	clear: both;
	overflow: hidden;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 0;
	background-image: url(../img/keyvisual_bg_pc.png), url(../img/keyvisual_bg.jpg);
	background-repeat: no-repeat, repeat;
	background-position: top center, left;
}
header section#keyvisual div.container {
	position: relative;
}
header section#keyvisual h1 {
	margin: 0;
}



/* ▼ビフォーアフター */
header section#ba {
	position: relative;
	z-index: 2;
}
header section#ba div.wrap {
	display: flex;
	justify-content: space-between;
	margin: -50px 0 -250px 0;
}
header section#ba figure {
	width: 23.88%;
	margin:0;
}



/* ▼CTA */
/* ----------------------------------------------------- */
section#cta-01 {
	position: relative;
	z-index: 0;
}
section#cta-01 div.container {
	background: #ffdfc6;
	padding: 250px 0 1em 0;
}
/*
section#cta-01 p.btn {
	width: 85.41%;
	margin: 0 auto 3em auto;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.5));
}
section#cta-01 figure {
	width: 85.41%;
	margin: 2em auto;
}
section#cta-01 p.tel {
	width: 85.41%;
	margin: 2em auto;
}
*/




/* ▼covid-19 */
/* ----------------------------------------------------- */
section#covid-19 {
	background: #80c7d1;
}
section#covid-19 div.container {
	background: #c5e6ed url(../img/covid-19_bg.jpg) no-repeat right bottom;
	padding: 50px 0 50px 0;
}

section#covid-19 p {
	font-size: 36px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 0.5em 0;
}
section#covid-19 p span {
	font-size: 42px;
}
section#covid-19 ul {
	width: 83.33%;
	margin: 0 auto 0 auto;
	border: 3px solid #ffffff;
	box-sizing: border-box;
	padding: 30px 3em 30px 3em;
}
section#covid-19 ul li {
	position: relative;
	z-index: 1;
	padding: 0 0 0 2em;
	box-sizing: border-box;
	font-size: 30px;
	font-weight: bold;
}
section#covid-19 ul li:before {
	content: '';
	display: inline-block;
	width: 35px;
	height: 35px;
	background-image: url(../img/covid-19_check.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}





/* ▼media */
/* ----------------------------------------------------- */
section#media div.container {
	padding: 50px 0 50px 0;
}





/* ▼solution */
/* ----------------------------------------------------- */
section#solution {
	background: #d2eeff;
}
section#solution h2 {
	margin: 0;
}
section#solution div.container {
	padding: 0 0 10px 0;
	background: #e5e5e5;
}
section#solution div.before {
	width: 93.75%;
	margin: 0 auto 2em auto;
	border-bottom: 4px solid #ffffff;
	position: relative;
	padding: 1em 0 1em 0;
}
section#solution div.before div.img {
	width: 25.22%;
	position: absolute;
	bottom: 0;
	left: -10px;
	z-index: 10;
}
section#solution div.before div.img img {
	margin: -4em 0 0 0;
}
section#solution div.before div.tex {
	width: 75%;
	margin: 0 0 0 auto;
	padding: 0 0 0 1em; 
}
section#solution div.before div.tex p {
	font-size: 30px;
	font-weight: bold;
}
section#solution p.arrow {
	font-size: 26px;
/*	font-weight: bold; */
	text-align: center;
	position: relative;
	z-index: 2;
	margin: 1em 0 2em 0;
}
section#solution p.arrow:after {
	content: '';
	display: inline-block;
	width: 80px;
	height: 40px;
	background-image: url(../img/solution_arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2.5em;
	margin: auto;
}

section#solution div.box {
	width: 96.87%;
	margin: 0 auto 2em auto;
	padding: 0 0 2em 0;
	background: #ffffff;
	position: relative;
	z-index: 1;
}
section#solution div.box p.name {
	width: 20.43%;
	position: absolute;
	left: -0.5em;
	top: -2.5em;
	margin: 0;
	z-index: 2;
}
section#solution div.box figure {
	position: relative;
	z-index: 3;
}

section#solution div.box p.annotation {
	font-size: 14px;
	color: #777777;
	width: 96.87%;
	margin: 1em auto;
}
section#solution div.box div.tex {
	width: 93.54%;
	margin: 2em auto 0 auto;
}





/* ▼factor */
/* ----------------------------------------------------- */
section#factor {
	background: #dbd3be;
}
section#factor div.container {
	background: #ffffff;
	padding: 0 0 50px 0;
}
section#factor h2 {
	margin: 0;
}

section#factor dl {
	width: 93.75%;
	margin: 2em auto 4em auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
section#factor dl dt {
	width: 26.66%;
	margin: 0 0 2em 0;
}
section#factor dl dd {
	width: 68.33%;
	font-size: 20px;
}

section#factor div.box {
	width: 93.75%;
	margin: 0 auto;
	border: 4px solid #472e13;
	padding: 1em 3em 1em 3em;
	box-sizing: border-box;
	position: relative;
}
section#factor div.box:before {
	content: '';
	display: inline-block;
	width: 154px;
	height: 85px;
	background-image: url(../img/factor_arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	left: 0;
	right: 0;
	top: -72px;
	margin: auto;
}





/* ▼about */
/* ----------------------------------------------------- */
section#about {
	background: #ffc1c1;
}
section#about div.container {
	padding: 0 0 2em 0;
	background: #ffffff url(../img/about_bg.png) repeat top center;
}
section#about h2 {
	margin: 0 0 1em 0;
}
section#about div.intro {
	position: relative;
	width: 93.75%;
	margin: 0 auto;
	padding: 1em 0 1em 0;
}
section#about div.intro figure {
	width: 36.11%;
	position: absolute;
	left: -4%;
	bottom: -5.3em;
	z-index: 0;
}
section#about div.intro div.tex {
	width: 72.22%;
	margin: 0 0 0 auto;
	z-index: 1;
}
section#about div.intro div.tex p {
	font-size: 18px;
}
section#about div.box {
	width: 93.75%;
	margin: 0 auto;
	background: #ffffff;
	padding: 1em 3% 3em 3%;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
section#about div.box img {
	float: right;
	width: 50%!important;
	margin: 0 0 0 1em;
}
section#about div.box p {
	font-size: 18px;
}
section#about h3 {
	position: relative;
	width: 93.75%;
	margin: 0 auto;
	font-size: 42px;
	padding: 1em 0 0 0;
}
section#about h3 span {
	position: relative;
	font-size: 32px;
	display: block;
	font-weight: 500;
	z-index: 3;
}
section#about h3 figure {
	width: 36%;
	position: absolute;
	right: -3.2%;
	bottom: -2em;
	z-index: 2;
}
section#about div.concl {
	position: relative;
	width: 93.75%;
	margin: 0 auto;
	z-index: 3;
}





/* ▼reason */
/* ----------------------------------------------------- */
section#reason div.container {
	padding: 0 0 1em 0;
}
section#reason h2 {
	margin: 0;
}
section#reason div.box h3.reason01 {
	margin: -0.5em 0 0 0;
	background: #ffffff url(../img/reason_01_bg.jpg) no-repeat top left;
}
section#reason div.box h3.reason02 {
	margin: 0 0 0 0;
	background: #ffffff url(../img/reason_02_bg.jpg) no-repeat top left;
}
section#reason div.box h3.reason03 {
	margin: 3em 0 0 0;
	background: #ffffff url(../img/reason_03_bg.jpg) no-repeat top left;
}
section#reason div.box div.tex {
	width: 93.75%;
	margin: -7em auto 1em auto;
	padding: 7em 5.55% 1em 5.55%;
	box-sizing: border-box;
	border-left: 4px solid #ff6180;
	border-right: 4px solid #ff6180;
	border-bottom: 4px solid #ff6180;
}
section#reason div.box div.tex:after {
	content: "";
	display: block;
	clear: both;
	border-bottom: 0 none;
}

section#reason div.box div.tex p {
	font-size: 18px;
}
section#reason h4 {
	font-size: 24px;
	font-weight: bold;
	margin: 1em 0 0.5em 0;
}
section#reason div.box div.tex div.box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
section#reason div.box div.tex div.box figure {
	width: 20%;
}
section#reason div.box div.tex div.box p {
	width: 80%;
	padding: 0 0 0 1em;
}
section#reason div.box div.tex p img {
	float: left;
	width: 20%!important;
	margin: 0 1em 2em 0;
}



/* ▼profile */
/* ----------------------------------------------------- */
section#profile {
	background: #ffc093;
}
section#profile div.container {
	padding: 0 0 2em 0;
	background: #ffdfc6;
	position: relative;
}
section#profile h2 {
	width: 21.14%;
	margin: 0;
	position: absolute;
	left: 3.12%;
	top: 0;
}
section#profile div.box {
	width: 93.75%;
	margin: 0 auto;
	background: #ffffff;
	padding: 1em 4.44% 1em 4.44%;
	box-sizing: border-box;
}





/* ▼case */
/* ----------------------------------------------------- */
section#case {
	background: url(../img/case_bg.png) repeat top center;
}
section#case div.container {
	background: #ffffff;
	padding: 0 0 1em 0;
}
section#case h2 {
	margin: 0;
}
section#case div.wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 93.75%;
	margin: 0 auto 2em auto;
}
section#case div.wrap div.box {
	width: 50%;
}
section#case div.wrap div.box:nth-child(odd) {
	border-right: 1px solid #cccccc;
	box-sizing: border-box;
}
section#case div.wrap div.box div.contents {
	width: 93.33%;
	border-bottom: 1px solid #cccccc;
	padding: 0 0 1em 0;
}
section#case div.wrap div.box:nth-child(odd) div.contents {
	margin: 0 auto 0 0;
}
section#case div.wrap div.box:nth-child(even) div.contents {
	margin: 0 0 0 auto;
}
section#case div.wrap div.box h3 {
	background: #ff6180;
	font-size: 28px;
	font-weight: bold;
	color: #ffffff;
	margin: 0 0 0.5em 0;
	padding: 0.3em 0.5em 0.3em 0.5em;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
section#case div.wrap div.box h3 span {
	font-size: 18px;
	font-weight: normal;
}
section#case div.wrap div.box p.note {
	font-size: 12px;
	color: 666666;
	margin: 3em 0 1em 0;
}
section#case div.wrap div.box figure.ba {
	margin: 0 0 1em 0;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.3));
}





/* ▼flow */
/* ----------------------------------------------------- */
section#flow h2 {
	margin: 0;
}
section#flow div.wrap {
	background: #ffdfc6;
	padding: 2em 0 2em 0;
}
section#flow div.wrap div.box {
	width: 93.75%;
	margin: 0 auto 1em auto;
	padding: 0.5em 2.22% 0.5em 2.22%;
	box-sizing: border-box;
	background: #ffffff;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
}
section#flow div.wrap div.box figure {
	position: absolute;
	right: -3%;
	top: -2em;
	margin: auto;
	z-index: 1;
}
section#flow div.wrap div.box figure.flow01 {
	width: 13.72%;
}
section#flow div.wrap div.box figure.flow02 {
	width: 13.72%;
}
section#flow div.wrap div.box p.num {
	width: 10%;
	margin: 0 1em 0 0;
}
section#flow div.wrap div.box div.ttl {
	flex: 1;
}
section#flow div.wrap div.box div.ttl p {
	font-size: 30px;
	font-weight: bold;
	color: #472e13;
	margin: 0;
}
section#flow div.wrap div.box div.ttl p.hour {
	font-size: 16px;
	font-weight: normal;
	color: #ffffff;
	background: #472e13;
	border-radius: 16px;
	display: inline-block;
	padding: 0 1em 0 1em;
}
section#flow div.wrap div.box div.tex {
	border-left: 1px solid #c2c2c2;
	width: 56.97%;
	padding: 0 0 0 1em;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
section#flow div.wrap div.box div.tex ul {
	margin: 1em 0 1em 0;
	padding: 0;
	z-index: 2;
}
section#flow div.wrap div.box div.tex ul li {
	font-size: 16px;
	padding-left: 1em;
	text-indent: -1em;
}
section#flow div.wrap div.box div.tex ul li:before {
	content: "・";
}
section#flow div.wrap div.box div.tex p {
	margin: 0;
	font-size: 16px;
	z-index: 2;
}
section#flow div.wrap div.box div.tex-wide {
	width: 100%;
}
section#flow div.wrap p.arrow {
	width: 114px;
	margin: 1em auto 1em auto;
}
section#flow div.wrap p.emp {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	width: 93.75%;
	margin: 2em auto 0 auto;
}





/* ▼cta-02 */
/* ----------------------------------------------------- */
section#cta-02 {
	background: #ffe2e6;
}
section#cta-02 div.container {
	background: #ffc1c1;
	padding: 0 0 2em 0;
}
section#cta-01 h2,
section#cta-02 h2 {
	margin: 0;
}
section#cta-01 div.box,
section#cta-02 div.box {
	width: 93.75%;
	margin: 0 auto;
	background: #ffffff;
	padding: 2em 4.44% 2em 4.44%;
	box-sizing: border-box;
}
section#cta-01 div.box figure.price,
section#cta-02 div.box figure.price {
	margin: 0 0 1em 0;
}
section#cta-01 div.box p.btn,
section#cta-02 div.box p.btn {
	font-size: 26px;
	text-align: center;
	line-height: 1.7;
}
section#cta-01 div.box p.btn a,
section#cta-02 div.box p.btn a {
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.5));
	margin: 2em 0 3em 0;
}
section#cta-01 p.tel,
section#cta-02 p.tel {
/*	width: 93.75%; */
	margin: 2em auto;
}
section#cta-01 div.box p.note,
section#cta-02 div.box p.note {
	text-align: center;
	font-weight: bold;
	font-size: 26px;
}





/* ▼info */
/* ----------------------------------------------------- */
section#info div.container {
	padding: 3em 0 0 0;
}
section#info h2 {
	font-size: 40px;
	text-align: center;
	display: flex;
	align-items: center;
	margin: 0 0 1.5em 0;
}
section#info h2:before,
section#info h2:after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background-color: #333333;
}
section#info h2:before {
	margin-right: 2rem;
}
section#info h2:after {
	margin-left: 2rem;
}

section#info div.box {
	width: 93.75%;
	margin: 0 auto 5em auto;
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}
section#info div.box div.tex {
	width: 50%;
}
section#info div.box div.tex h3 {
	font-size: 30px;
	margin: 0 0 1em 0;
}
section#info div.box div.tex table {
	width: 100%;
	font-size: 14px;
}
section#info div.box div.tex table tr {
	border-bottom: 1px solid #989898;
}
section#info div.box div.tex table tr th,
section#info div.box div.tex table tr td {
	padding: 1em 0 1em 0;
	text-align: left;
	vertical-align: top;
}
section#info div.box div.map {
	width: 46.66%;
}
section#info div.box div.map > div {
	position: relative;
	width: 100%;
}
section#info div.box div.map > div:before {
	content:"";
	display: block;
	padding-top: 78.57%;
}
section#info div.box div.map > div iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

section#info div.box div.photo {
	width: 100%;
	display: flex;
	justify-content:space-between;
	padding: 2em 0 0 0;
}
section#info div.box div.photo figure {
	width: 32.44%;
}





/* ▼form */
/* ----------------------------------------------------- */
section#form {
	background: url(../img/keyvisual_bg.jpg) repeat top center;
}
section#form div.container {
	background: #ffdfc6;
	padding: 2em 0 2em 0;
}
section#form h2 {
	width: 93.75%;
	margin: 0 auto 1em auto;
}
section#form div.box,
section#form div#form-box {
	width: 93.75%;
	margin: 0 auto 2em auto;
	background: #ffffff;
	padding: 1em 4.44% 1em 4.44%;
	box-sizing: border-box;
}
section#form div#form-box > p {
	text-align: center;
}
section#form div#form-box > p.ttl {
	font-size: 20px;
	font-weight: bold;
}
section#form table {
	width: 77.77%;
	margin: 0 auto;
}
body#home section#form table tr th,
body#home section#form table tr td {
	display: block;
}
section#form table tr th {
	background: #bdbdbd;
	font-weight: bold;
	text-align: left;
	vertical-align: middle;
	padding: 0.8em 20px 0.8em 20px;
}
section#form table tr th i {
	font-style: normal;
	font-weight: normal;
	font-size: 14px;
}
section#form table tr td {
	padding: 1em 0 2em 0;
}
section#form table tr th.required:after {
	content: "必須";
	background: #ff6180;
	font-size: 14px;
	font-weight: normal;
	float: right;
	padding: 0.3em 1em 0.3em 1em;
	color: #ffffff;
}
section#form table tr th.arbitrary:after {
	content: "任意";
	background: #808080;
	font-size: 14px;
	font-weight: normal;
	float: right;
	padding: 0.3em 1em 0.3em 1em;
	color: #ffffff;
}
section#form table tr td p {
	margin: 1em 0 0.5em 0;
}
section#form table tr td p:first-child {
	margin: 0 0 0.5em 0;
}
section#form table tr td p span.small {
	font-size: 13px;
}
section#form table tr td dl {
	margin: 0;
	padding: 0;
}
section#form table tr td dl dt {
	margin: 0;
	padding: 0;
	font-weight: bold;
}
section#form table tr td dl dt:before {
	content: "・";
}
section#form table tr td dl dd {
	margin: 0 0 0 1em;
	padding: 0;
}
section#form form input[type=radio] {
	margin: 0 0 0 1em;
}

section#form form input.textForm,
section#form form textarea {
	width: 100%;
	box-sizing: border-box;
}
section#form form input.shortForm {
	width: 33.33%;
	box-sizing: border-box;
	font-size: 14px;
}
section#form form input.miniForm {
	width: 15%;
}
section#form table tr td div.reserve-day {
	margin: 0 0 1em 0;
}
section#form table tr td div.reserve-day span {
	margin: 0 0.5em 0 0;
}
section#form p.btn {
	text-align: center;
	margin: 0 0 2em 0;
}
section#form p.btn button {
	width: 440px;
	margin: 0 auto;
	font-size: 22px;
	font-weight: bold;
	color: #ffffff;
	text-align: center;
	padding: 1.3em 0 1.3em 0;
	box-sizing: border-box;
	border-radius: 45px;
}
section#form p.btn button.confirm,
section#form p.btn button.submit {
	background: #ff6180;
}
section#form p.btn button.confirm:after,
section#form p.btn button.submit:after {
	content: "〉";
	margin: 0 0 0 1em;
}
section#form p.btn button.return,
section#form p.btn button.home {
	background: #888888;
}
section#form p.btn button.return:before,
section#form p.btn button.home:before {
	content: "〈";
	margin: 0 1em 0 0;
}



/* 遷移後 */
body#common section#form h1 {
	font-size: 30px;
	text-align: center;
}
body#common section#form p.memo {
	text-align: center;
}
body#common section#form table {
	border-top: 1px solid #cccccc;
	margin: 0 auto 2em auto;
}
body#common section#form table tr {
	border-bottom: 1px solid #cccccc;
}
body#common section#form table tr th,
body#common section#form table tr td {
	background: none;
	text-align: left;
	vertical-align: top;
	padding: 1em 1em 1em 1em;
}
body#common section#form table tr th {
	white-space: nowrap;
}





/* ▼テスティモニアル */
/* ----------------------------------------------------- */
section#testimonial {
	height: 111px;
	background: url(../img/testimonial_pc.jpg) repeat-x center top;
}
section#testimonial div.container {
	display: none;
}





/* ▼フッター */
/* ----------------------------------------------------- */
footer {
	display: none;
}





/* ▼copyright */
/* ----------------------------------------------------- */
section#copyright {
	background: #472e13;
}
section#copyright div.container {
	padding: 0.5em 0 0.5em 0 ;
}
section#copyright p {
	font-size: 14px;
	color: #ffffff;
	text-align: center;
	margin: 0;
}





/* ▼ページトップ */
/* ----------------------------------------------------- */
div#pagetop {
	position: fixed;
	bottom: 30px;
	right: 0;
	z-index: 100;
}
div#pagetop a {
	display: block;
	width: 30px;
	margin: 0;
	padding: 15px 0;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	background: #666666;
	background: rgba(0, 0, 0, 0.7);
	/* border-radius */
	-moz-border-radius: 2px 0 0 2px;
	-webkit-border-radius: 2px 0 0 2px;
	-o-border-radius: 2px 0 0 2px;
	-ms-border-radius: 2px 0 0 2px;
	border-radius: 2px 0 0 2px;
	/* transition */
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}
div#pagetop a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f106";
	font-weight: bold;
	color: #ffffff;
}
div#pagetop a:hover,
div#pagetop a:active {
	-moz-opacity: 0.6;
	opacity: 0.6;
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);  /* For IE 5-7 */
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* For IE 8 */
}
div#pagetop a span {
	display: none;
}
iframe[name="google_conversion_frame"] {
	display: none;
}
