@charset "utf-8";

/*
---------------------------------------
common
---------------------------------------
*/

body {
	text-align: left;
	color: #322100;
	background: url(../img/common/bg-01.png) repeat;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

#bottom-fix .contact a,
#page-top a {
	width: 50px;
	height: 50px;
	line-height: 45px;
	background: #f8dee5;
	border-radius: 100%;
}
#slide_menu {
	display: none;
}
p,
dd,
li {
	font-size: 1.6rem;
}
i {
	font-style: normal;
}
iframe {
	max-width: 100%;
}
.contents section {
	padding: 0;
	border: none;
}
#container {
	max-width: 1180px;
}
#contents ul.cat-list {
	margin-bottom: 0;
}

#contents ul.cat-list time {
	font-size: 1.2rem;
	letter-spacing: 1px;
}
#contents ul.cat-list a {
	display: inline-block;
	padding: 2px 10px;
	background: #ea95ac;
	font-size: 1.2rem;
	color: #fff;
	border-radius: 0;
	transition: all 0.4s;
	margin-right: 5px;
}
#top .contents section {
	margin-bottom: 0;
}
#page-ttl {
	text-align: center;
	padding: 32px 20px;
}
.inner-box {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	max-width: 1080px;
	margin: 0 auto;
}
.inner-box2 {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	max-width: 1120px;
	margin: 0 auto;
} /*

#header h1 .inner-box{
	display: block;
	padding:10px 0;
}*/
#header {
	background: #f6f6f6;
	z-index: 10000001;
}
#header h1 {
	background: none;
	text-align: left;
}
#header.fixed {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100000;
}
#header .wrap {
	padding: 0;
	max-width: 1180px;
}
#header .part .flex {
	margin: 0;
}
#header .part .flex .txt {
	padding: 10px;
}
#header .part .flex .txt span {
	display: inline-block;
	border: 1px solid #322100;
	padding: 0 10px;
	vertical-align: text-top;
}
#header .part .flex .tel a {
	font-size: 1.8rem;
	font-weight: bold;
	vertical-align: middle;
	display: inline-block;
	line-height: 1.2;
	text-align: center;
	padding: 10px;
}
#header .part .flex .tel a:before {
	content: "";
	display: inline-block;
	margin-right: 5px;
	width: 14px;
	height: 14px;
	background: url(../img/common/ico-03.png) no-repeat 50% 50%;
}
#header .part .flex .tel a span {
	font-size: 1rem;
	font-weight: normal;
	padding: 0;
	vertical-align: middle;
	display: block;
}
#g-nav > ul > li:last-child:before {
	display: none;
}
.reserved-btn a {
	display: block;
	padding: 15px 30px;
	background: #ea95ac;
	color: #fff;
}
.reserved-btn a:before {
	content: "";
	display: inline-block;
	margin-right: 5px;
	width: 17px;
	height: 15px;
	background: url(../img/common/ico-02.png) no-repeat 50% 50%;
	vertical-align: middle;
}
.access-btn a {
	display: block;
	padding: 15px 30px;
	color: #322100;
	background: #e9e9e9;
}
.access-btn a:before {
	content: "";
	display: inline-block;
	margin-right: 5px;
	width: 13px;
	height: 16px;
	background: url(../img/common/ico-01.png) no-repeat 50% 50%;
	vertical-align: middle;
}
.access-btn.tel a:before {
	width: 14px;
	height: 14px;
	background: url(../img/common/ico-03.png) no-repeat 50% 50%;
}
footer .wrap {
	text-align: left;
	padding: 0;
}
#footer {
	padding: 70px 0;
	background: none;
}
#footer .store-img * {
	text-align: left;
}
#footer .wrap {
	max-width: 1080px;
}
#footer .footer-contents > * {
	flex: 1;
}
#footer .footer-contents.flex .box {
	padding-left: 30px;
	border-left: 1px solid #ccc;
}
#footer .footer-contents figure {
	text-align: left;
	margin-bottom: 15px;
}
#footer .footer-contents .box > li:before {
	content: "-";
	color: #ea95ac;
	margin-right: 5px;
}
#footer .footer-contents .box > li ul {
	display: block;
	background: #ededed;
	padding: 20px;
	margin: 0.5em 0 0 1em;
	font-size: 0;
}
#footer .footer-contents .box > li ul li {
	display: inline-block;
	font-size: 1.5rem;
	margin-right: 5px;
}
.copyright {
	color: #322100;
	background: none;
	text-align: center;
	font-size: 1.2rem;
	padding: 20px;
}
.copyright a {
	color: #322100;
}
.alnC {
	text-align: center;
}
.alnR {
	text-align: right;
}
.tate {
	/*縦書き用*/
	text-align: left;
	font-size: 1.6rem;
	line-height: 2;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.pavanam {
	font-size: 1.4rem;
	color: #333;
	font-family: "Pavanam", sans-serif;
}
.montserrat {
	font-size: 1.4rem;
	color: #9e0909;
	letter-spacing: 1px;
	font-family: "Montserrat", sans-serif;
}
.futura {
	font-size: 1.4rem;
	color: #9e0909;
	font-family: "Nunito Sans", "FuturaBT", "Futura", sans-serif;
}
.flamenco {
	font-size: 1.4rem;
	color: #9e0909;
	font-family: "Flamenco", sans-serif;
}
.bnr-box {
	position: relative;
	padding: 55px 0;
	background: url(../img/common/bg-02.png) repeat;
}
.bnr-box:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../img/common/bg-bnr.png) no-repeat 50% 100%;
}
.bnr-box > * {
	position: relative;
	z-index: 1;
}
.bnr-box .inner-box {
	max-width: 1020px;
}
.bnr-box .flex {
	background: #fff;
	border-bottom: 3px solid #bab2a0;
	padding: 25px 50px;
	align-items: center;
}
.bnr-box h2 {
	max-width: 780px;
	margin: 0 auto 25px;
	text-align: center;
}
.bnr-box h2 span {
	position: relative;
	display: block;
	margin-bottom: 15px;
}
.bnr-box h2 span i {
	display: inline-block;
	z-index: 1;
	position: relative;
	padding: 0 15px;
	background: url(../img/common/bg-02.png) repeat;
}
.bnr-box h2 span:before {
	content: "";
	width: 100%;
	height: 1px;
	background: #000;
	position: absolute;
	top: 50%;
	left: 0;
}
.bnr-box .flex > p {
	color: #9e0909;
	font-size: 2.5rem;
	line-height: 1.5;
}
.bnr-box div .tel p {
	font-family: "Helvetica Neue", "Roboto", sans-serif;
	font-weight: 700;
	font-size: 5.2rem;
	line-height: 1.1;
}
.bnr-box div .tel span i {
	color: #9e0909;
}
.bnr-box div .tel span {
	background: #f1f1f1;
	display: block;
	padding: 1px 10px;
	text-align: center;
}
.bnr-box .btn-01 {
	min-width: 300px;
}
.bnr-box .btn-01 a {
	font-size: 1.7rem;
	padding: 15px 60px;
	max-width: 450px;
}
#sidebar > p {
	line-height: 1;
	font-size: 0;
	margin-bottom: 20px;
}
.reserved-box {
	background: #f5f5f5;
	padding-bottom: 10px;
}
.reserved-box p.alnC {
	font-size: 1.3rem;
	padding: 0 10px;
	line-height: 1.5;
}
.reserved-box h2 {
	color: #fff;
	font-size: 1.8rem;
	background: #322100;
	text-align: center;
	padding: 10px 10px;
}
.reserved-box .flex {
	padding: 0 10px 10px 15px;
	margin-bottom: 0;
	align-items: center;
}
#sidebar .reserved-box .flex {
	padding: 20px 20px 10px;
	margin-bottom: 0;
}
#sidebar .reserved-box .flex .reserved-btn {
	width: 45%;
}
#sidebar .reserved-box .flex .tel {
	width: 55%;
}
.reserved-box .flex .tel a {
	font-size: 1.8rem;
	font-weight: bold;
	vertical-align: middle;
	display: inline-block;
	line-height: 1.2;
	text-align: center;
	padding: 10px;
}
.reserved-box .flex .tel a:before {
	content: "";
	display: inline-block;
	margin-right: 5px;
	width: 14px;
	height: 14px;
	background: url(../img/common/ico-03.png) no-repeat 50% 50%;
}
.reserved-box .flex .tel a span {
	font-size: 1rem;
	font-weight: normal;
	padding: 0;
	vertical-align: middle;
	display: block;
}
.reserved-box .flex .reserved-btn a {
	display: block;
	padding: 15px 10px;
	background: #ea95ac;
	color: #fff;
	text-align: center;
}
.reserved-box .flex .reserved-btn a:before {
	content: "";
	display: inline-block;
	margin-right: 5px;
	width: 17px;
	height: 15px;
	background: url(../img/common/ico-02.png) no-repeat 50% 50%;
	vertical-align: middle;
}
#contents .reserved-box .reserved-btn {
	width: 35%;
	text-align: center;
}
#contents .reserved-box .tel {
	width: 65%;
	padding-left: 10px;
	text-align: center;
}
#contents .reserved-box .flex .tel a {
	font-size: 3.6rem;
}
#contents .reserved-box .flex .tel a:before {
	background: none;
	font-family: "FontAwesome";
	content: "\f095";
	font-size: 3.1rem;
	color: #ea95ac;
	display: inline-block;
	width: auto;
	height: auto;
	font-weight: normal;
}
#contents .reserved-box .flex .tel a span {
	font-size: 1.3rem;
	font-weight: normal;
	padding: 0 5px;
	vertical-align: middle;
	display: inline-block;
}
#contents .reserved-box p.alnC {
	font-size: 1.3rem;
	position: relative;
	top: -10px;
	text-align: right;
	padding: 5px 20px 0 0;
}
#sidebar .about-box {
	background: #f5f5f5;
	padding-bottom: 10px;
	margin-top: 20px;
}
#sidebar .about-box dl {
	padding: 0 20px;
	margin-bottom: 0;
}
#sidebar .about-box dl dt,
#sidebar .about-box dl dd {
	font-size: 1.5rem;
}
#sidebar .about-box dl dd {
	flex: 2;
}
#sidebar .about-box h2 {
	font-size: 1.8rem;
	border-bottom: 1px solid #ebebeb;
	margin: 10px 20px 5px 20px;
	padding: 0 0 5px;
}
#sidebar .about-box .btn-03 {
	padding: 0 20px;
	text-align: right;
}
#sidebar .about-box .btn-03 a {
	color: #fff;
	background: #e795ab;
	border: 2px solid #e795ab;
}
#sidebar .about-box .btn-03 a:hover {
	background: #fff;
	color: #e795ab;
}
.s-box {
	border-top: 2px solid #9e0909;
	margin-bottom: 40px;
}
.s-box h2 {
	padding: 12px 5px;
	color: #9e0909;
	font-size: 1.8rem;
	font-weight: bold;
}
.s-box iframe {
	width: 100%;
}
.s-box .btn-01 a,
.s-box .btn-02 a {
	font-size: 1.3rem;
	border-width: 1px;
	letter-spacing: 1px;
}
#s-contact p {
	font-size: 1.5rem;
	text-align: center;
}
#s-contact .futura {
	font-weight: 700;
	color: #333;
	letter-spacing: -1px;
	font-size: 3rem;
	line-height: 1.1;
}
#s-contact .futura i {
	font-size: 2.3rem;
	margin-right: 1px;
}
#about-bnr {
	display: table;
	width: 100%;
	min-height: 194px;
	/*padding: 0 20px;*/
	margin-bottom: 50px;
	box-sizing: border-box;
}
#about-bnr > * {
	display: table-cell;
	vertical-align: middle;
	box-sizing: border-box;
}
#about-bnr .ttl {
	width: 25%;
	background: #9e0909 url(../img/common/bg-about-ttl.png) no-repeat 50% 50%;
}
#about-bnr .ttl h3 {
	text-align: center;
	color: #fff;
	font-size: 2.4rem;
}
#about-bnr .ttl h3 span.futura {
	color: #fff;
	display: block;
	font-size: 1.7rem;
}
#about-bnr .box {
	width: 75%;
	padding: 25px 0 22px 30px;
	background: url(../img/common/bg-about-bnr.png) no-repeat 100% 100%;
}
#about-bnr .box h4 {
	color: #9e0909;
	font-size: 2.4rem;
	margin-bottom: 5px;
}
#about-bnr .box h4 i {
	width: 15px;
	height: 26px;
	background: url(../img/common/ico-04.png) no-repeat 50% 50%;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin: 0 10px 0 0;
}
#about-bnr .btn-02 {
	text-align: left;
}
#about-bnr .btn-02 a {
	max-width: 220px;
	padding: 8px 50px;
	background: none;
	font-size: 1.3rem;
	margin: 12px 0 0 0;
	text-align: center;
	letter-spacing: 1.5px;
}
#about-bnr .btn-02 a:hover {
	background: #9e0909;
}
/*
---------------------------------------
list
---------------------------------------
*/

span.cat-line {
	display: inline-block;
	border: 1px solid #333;
	border-radius: 3px;
	padding: 1px 20px;
	font-size: 1.3rem;
	transition: all 0.4s;
	margin-right: 10px;
	margin-bottom: 10px;
}
a:hover span.cat-line {
	background: #333;
	color: #fff;
}
span.cat-line-o {
	display: inline-block;
	border: 1px solid #9e0909;
	background: #9e0909;
	color: #fff;
	border-radius: 3px;
	padding: 1px 20px;
	font-size: 1.3rem;
	transition: all 0.4s;
	margin-right: 10px;
	margin-bottom: 10px;
}
a:hover span.cat-line-o {
	background: #fff;
	color: #9e0909;
}
.list-1 li {
	padding: 0 0 15px 0;
	margin-bottom: 20px;
	border-bottom: 1px dashed #d2d2d2;
}
.list-1 li a {
	margin: 0;
}
.list-1 li .c02-fd > figure {
	width: 28%;
	padding-right: 25px;
	text-align: left;
}
.list-1 li .c02-fd > div {
	width: 72%;
}
.list-1 li time {
	display: inline-block;
}

.list-2 a {
	position: relative;
	display: block;
	box-sizing: border-box;
	padding: 2px 0 2px 17px;
}
.list-2 a:before {
	content: "";
	width: 12px;
	height: 1px;
	position: absolute;
	top: 1em;
	left: 0;
	background: #9e0909;
}
.step-list-1 dd {
	padding: 5px 0 25px;
	position: relative;
	border-bottom: 1px solid #dcdcdc;
}
.step-list-1 dd:before,
.step-list-1 dd:after {
	content: "";
	position: absolute;
	left: 50%;
}
.step-list-1 dd:before {
	bottom: -5px;
	margin-left: -8px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 8px 0 8px;
	border-color: #dcdcdc transparent transparent transparent;
}
.step-list-1 dd:after {
	bottom: -4px;
	margin-left: -7px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 7px 0 7px;
	border-color: #fff transparent transparent transparent;
}
.step-list-1 span.ttl {
	background: #9e0909;
	color: #fff;
	display: inline-block;
	padding: 0 1.5em;
	border-radius: 2em;
	font-size: 1.8rem;
	margin-top: 15px;
	font-family: "Nunito Sans", "FuturaBT", "Futura", sans-serif;
}
#menu-list li h3,
#menu-list li h4 {
	color: #9e0909;
	font-size: 2rem;
	border-left: 2px solid #9e0909;
	padding: 0 0 0 10px;
	line-height: 1.3;
	margin-bottom: 5px;
}
/*
---------------------------------------
box
---------------------------------------
*/

.line-box .inner-box {
	padding-top: 116px !important;
	padding-right: 116px !important;
	position: relative;
}
.line-box .inner-box:before,
.line-box .inner-box:after {
	content: "";
	background: #9e0909;
	position: absolute;
}
.line-box .inner-box:before {
	top: 0;
	right: 40px;
	height: 280px;
	width: 1px;
}
.line-box .inner-box:after {
	top: 66px;
	right: 0;
	width: 280px;
	height: 1px;
}
.line-box .inner-box > * {
	position: relative;
	z-index: 1;
}
.line-box-02 {
	overflow: hidden;
}
.line-box-02 .inner-box {
	padding-top: 86px !important;
	padding-left: 66px !important;
	position: relative;
}
.line-box-02 .inner-box:before,
.line-box-02 .inner-box:after {
	content: "";
	background: #9e0909;
	position: absolute;
}
.line-box-02 .inner-box:before {
	top: 0;
	left: 40px;
	height: 280px;
	width: 1px;
}
.line-box-02 .inner-box:after {
	top: 66px;
	left: 0;
	width: 280px;
	height: 1px;
}
.line-box-02 .inner-box > * {
	position: relative;
	z-index: 1;
}
.gray-box {
	background: #f4f4f4;
	padding: 20px !important;
}
.gray-box h3 {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 15px;
}
/*
---------------------------------------
flex
---------------------------------------
*/

.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: space-between;
}
.flex.reserved {
	flex-direction: row-reverse;
}
.flex > * {
	box-sizing: border-box;
}
.flex.c02 > * {
	width: 50%;
}
.flex.c02-fd > figure,
.flex.c02-fd > .lg {
	width: 45%;
}
.flex.c02-fd > div,
.flex.c02-fd > .sl {
	width: 55%;
}
.flex.c03 > * {
	width: 33.3333%;
}
.flex.c04 > * {
	width: 25%;
}
.flex.c05 > * {
	width: 20%;
}
.flex-tbl {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
}
.flex > * {
	box-sizing: border-box;
}
.flex-auto {
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
	align-content: space-between;
}
.flex-auto > * {
	box-sizing: border-box;
	flex-basis: auto;
}

/*
---------------------------------------
clear
---------------------------------------
*/

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*\*/ /*/
	height: auto;
	overflow: hidden;
	/**/
}

.clear,
.both {
	clear: both;
}

*:first-child + html .clearfix {
	zoom: 1;
} /* IE7 */

.txt-box p {
	border: 2px solid #151515;
	border-radius: 5px;
	padding: 15px;
	background: #fff;
	text-align: center;
}

/*
---------------------------------------
top
---------------------------------------
*/
#top {
}
#top #main-img {
	position: relative;
	display: table;
	width: 100%;
	height: auto;
	background: url(../img/renewal/top/main-img.png) no-repeat 50% 50%;
	margin-bottom: 30px;
}
#top #main-img:before {
	content: "";
	width: 100%;
	height: 30px;
	position: absolute;
	background: url(../img/top/bg-main-img.png) no-repeat 50% 50%;
	bottom: -30px;
	left: 0;
}
#top #main-img > div {
	display: table-cell;
	width: 100%;
	height: 100%;
	vertical-align: middle;
	text-align: center;
}
#top #main-img p.alnC img {
	vertical-align: middle;
	max-width: 274px;
}
#top #main-img p.alnC {
	position: relative;
	display: inline-block;
}
#top #main-img p.alnC a {
	position: absolute;
	left: -147px;
	bottom: 0;
}
#access .open .right {
	font-size: 1.3rem;
	position: relative;
	top: -15px;
}
#access .open .left {
	border: 2px solid #151515;
	border-radius: 5px;
	padding: 15px;
	background: #fff;
}
.video-box {
	text-align: center;
	margin-top: 35px;
}
.video-box video {
	max-width: 95%;
	height: auto;
	background: #000;
}
.bnr-media {
	width: 95%;
	margin: 0 auto;
	padding: 0 0 40px;
}

.bnr-media a {
	transition: all 0.2s;
}

.bnr-media a:hover {
	opacity: 0.8;
}

@media screen and (max-width: 751px) {
	.bnr-media {
		padding: 0 0 20px;
	}
}

.shinqcompass_review_widget {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	width: 95%;
	height: 630px;
	border: solid 1px #e0dfdf;
	background: #fff;
	padding: 5px 10px;
	margin: 0 auto;
	box-sizing: border-box;
}
.shinqcompass_review_widget iframe {
	width: 100%;
	border: none;
}
.shinqcompass_review_widget div {
	text-align: left;
	font-size: 11px;
	color: #876c4a;
	margin: 10px 0px 0px 0px;
	word-wrap: break-word;
	height: 25px;
	line-height: 150%;
}
.shinqcompass_review_widget div a {
	color: #de625c;
}
.shinqcompass_review_widget div a img {
	padding-right: 3px;
	vertical-align: bottom;
}

#about .ttl-top .tagline,
#kodawari .ttl-top .tagline {
	display: block;
	margin: 20px;
}

#voice .ttl-top .tagline {
	display: inline-block;
	margin: 20px;
}
.ttl-sub {
	padding: 20px;
	/*background: #ccc;*/
	position: relative;
	display: inline-block;
	vertical-align: top;
}
.ttl-sub:before,
.ttl-sub:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
}
.ttl-sub > * {
	position: relative;
	z-index: 1;
}
.ttl-sub:before {
	bottom: -5px;
	left: -5px;
	background: #fff;
}
.ttl-sub:after {
	top: -5px;
	right: -5px;
	border: 1px dashed #0f0f0f;
}

.ttl-sub-02 {
	padding: 15px 20px 10px;
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin: 10px 0;
}
.ttl-sub-02:before,
.ttl-sub-02:after {
	content: "";
	position: absolute;
	width: 200px;
	height: 100%;
}
.ttl-sub-02 > * {
	position: relative;
	z-index: 1;
}
.ttl-sub-02:before {
	bottom: -4px;
	left: 10px;
	background: #fff5f8;
}
.ttl-sub-02:after {
	top: -3px;
	right: 5px;
	border: 1px dotted #0f0f0f;
}

.ttl-sub-03 .tagline {
	margin-left: 70px;
}

.ttl-sub-03 {
	padding: 15px 20px 10px;
	position: relative;
	display: inline-block;
	margin-top: 10px;
	vertical-align: top;
	margin-right: 15px;
}
.ttl-sub-03:before,
.ttl-sub-03:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
}
.ttl-sub-03 > * {
	position: relative;
	z-index: 1;
}
.ttl-sub-03:before {
	bottom: -4px;
	left: 10px;
	background: #fff5f8;
}
.ttl-sub-03:after {
	top: -3px;
	right: -5px;
	border: 1px dotted #0f0f0f;
}

.ttl-top {
	display: inline-block;
	padding: 20px;
	background: url(../img/common/bg-01.png) repeat;
}

.ttl-01 {
	text-align: center;
}
.ttl-01 i {
	display: block;
	text-align: center;
	font-size: 1.2rem;
	color: #ea95ac;
}
.ttl-tate {
	background: #9e0909;
	color: #fff;
	padding: 10px 0;
	display: inline-block;
	font-size: 3rem !important;
	box-sizing: border-box;
}
.ttl-tate i {
	content: "";
	width: 18px;
	height: 32px;
	background: url(../img/common/ico-01.png) no-repeat 50% 50%;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin: 0 auto 10px;
}

/*
---------------------------------------
about
---------------------------------------
*/

#top #about {
	border-bottom: 1px solid #ececec;
	padding: 60px 0;
}
#top #about .ttl-top {
	position: absolute;
	top: -60px;
	padding: 30px 10px 10px;
}
#top #about section {
	padding: 40px 0;
}
#top #about h3 {
	margin-bottom: 25px;
	position: relative;
	text-align: center;
	font-size: 2.3rem;
}
#top #about h3:before {
	content: "";
	width: 100%;
	height: 1px;
	background: #ccc;
	position: absolute;
	top: 50%;
	left: 0;
}
#top #about h3 span {
	position: relative;
	z-index: 1;
	display: inline-block;
	padding: 0 10px;
	background: url(../img/common/bg-01.png) repeat;
}
#top #about h3 i {
	color: #ea95ac;
}
/*--下層--*/
#about .sec-03 .list-block dd {
	margin-bottom: 25px;
	padding-left: 1em;
}
#about .sec-03 .list-block dt {
	font-weight: bold;
	font-size: 1.8rem;
}
#about .sec-03 .list-block dt:before {
	content: "-";
	color: #ea95ac;
	margin-right: 5px;
}
#about .sec-01 table tbody td {
	text-align: center;
}
#about .sec-02 .list-block {
	border: 2px solid #151515;
	padding: 30px;
	border-radius: 5px;
}
#about .num-list {
	padding: 15px 25px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #ccc;
}
#about .num-list li {
	margin: 10px auto;
	padding: 5px 15px;
	border: 1px solid #eee;
	border-radius: 3px;
}
/*
---------------------------------------
voice
---------------------------------------
*/

#top #voice {
	padding: 20px 0 60px 0;
	position: relative;
}
#top #voice:before {
	content: "";
	width: 100%;
	height: 70%;
	background: #f8f8f8;
	position: absolute;
	top: 0;
	left: 0;
}
#top #voice > * {
	position: relative;
	z-index: 1;
}
#top #voice .ttl-top {
	display: block;
	width: 860px;
	background: none;
	margin: auto;
}
#top #voice .ttl-top .ttl-sub-02:before {
	background: #fff;
}
#top #voice .scroll-box {
	height: 450px;
	width: 90%;
	margin: auto;
	position: relative;
}
#top #voice .scroll-box .scroll {
	background: #fff;
	padding: 20px;
	overflow: auto;
	border: 1px solid #d9d9d9;
	position: relative;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}
#top #voice .scroll-box .btn-01 {
	position: absolute;
	right: -25px;
	bottom: -25px;
}
#top #voice .scroll-box .btn-01 a {
	margin: 0;
}
#top #voice .user,
#top #voice .star {
	display: block;
}

#top #voice .message {
	border-top: 1px dotted #d9d9d9;
}
#voice.page .faq-01 dd {
	border-bottom: none;
}
#contents section.relation-post .flex {
	justify-content: flex-start;
}
/*
---------------------------------------
kodawari
---------------------------------------
*/

#top #kodawari {
	padding: 160px 60px 0;
	position: relative;
	overflow: hidden;
}
#top #kodawari > * {
	position: relative;
	z-index: 1;
}
#top #kodawari:before {
	content: "";
	width: 100%;
	height: 100%;
	background: #f8f8f8;
	position: absolute;
	top: 400px;
	left: 0;
}
#top #kodawari .ttl-top {
	position: absolute;
	top: -160px;
	right: 0;
	background: none;
	z-index: 100;
}
#top #kodawari p.alnC {
	position: relative;
	padding: 100px 0 0 0;
}
#top #kodawari p.alnC:before {
	content: "";
	width: 288px;
	height: 126px;
	position: absolute;
	top: -130px;
	left: -210px;
	z-index: 1;
	background: url(../img/common/bg-sakura-03.png) no-repeat 0 0;
	background-size: contain;
}
#top #kodawari p.alnC .img-01 {
	position: absolute;
	top: -100px;
	left: 0;
}
#top #kodawari p.alnC .img-02 {
	position: relative;
	z-index: 1;
}
#top #kodawari .flex.c04 {
	margin: 100px auto 25px auto;
}
#top #kodawari .flex.c04 > * {
	position: relative;
	padding: 0 20px;
}
#top #kodawari .flex.c04 figure {
	padding: 0;
	max-width: 241px;
	margin: 0 auto;
	position: relative;
}
#top #kodawari .flex.c04 figure img {
	border-radius: 100%;
	border: 2px solid #fff;
}
#top #kodawari .flex.c04 figure span {
	display: inline-block;
	padding: 2px 10px;
	font-weight: bold;
	font-size: 1.2rem;
	background: #fff;
	position: absolute;
	top: 20px;
	left: 0;
}
#top #kodawari .flex.c04 h3 {
	font-size: 2rem;
	font-weight: bold;
	padding: 10px 0 0;
	text-align: center;
}

/*
---------------------------------------
menu
---------------------------------------
*/

#top #menu {
	padding: 55px 0 40px;
}
#top #menu .flex.c04 {
	margin: 25px auto;
}
#top #menu .flex.c04 > * {
	position: relative;
	padding: 0 20px;
}
#top #menu .flex.c03 {
	justify-content: center;
}
#top #menu .flex.c03 > * {
	max-width: 311px;
	margin-bottom: 25px;
}
#top #menu .flex.c03 figure {
	padding: 0 20px 20px 20px;
	max-width: 261px;
	margin: 0 auto;
	position: relative;
}
#top #menu .flex.c03 figure span {
	display: inline-block;
	padding: 2px 10px;
	font-weight: bold;
	font-size: 1.2rem;
	background: #fff;
	position: absolute;
	top: 20px;
	left: 0;
}
#top #menu .flex.c03 h3 {
	font-size: 1.8rem;
	font-weight: bold;
	padding: 0 0 10px;
	text-align: center;
}
#top #menu .flex.c03 p {
	max-width: 261px;
	margin: 0 auto;
}

/*
---------------------------------------
faq
---------------------------------------
*/

#top #faq {
	padding: 55px 0;
	background: #f8dee5;
}
#faq dl {
	background: #fff;
	padding: 40px;
	border: 15px solid #f8dee5;
}
.faq-01 dt,
#faq dl dt {
	font-size: 2rem;
	font-weight: bold;
}

.faq-01 dt:before {
	content: "Q";
	position: relative;
	left: inherit;
	top: inherit !important;
	vertical-align: middle;
}
.faq-01 dt:before,
#faq dl dt i {
	display: inline-block;
	width: 2em;
	height: 2em;
	line-height: 2em;
	font-size: 1.6rem;
	border-radius: 100%;
	background: #ea95ac;
	margin-right: 10px;
	text-align: center;
	color: #fff;
}
.faq-01 dt {
	padding: 0;
	font-size: 1.7rem;
	font-weight: bold;
}
.faq-01 dt,
.faq-01 dd {
	border: none;
} /*
.faq-01 dt:before{
	font-size: 2.2rem !important;
	background: none;
	margin-right: 5px;
	color: #9e0909;
	font-family: 'Flamenco', sans-serif;
	font-weight: normal;
	font-weight: normal;
	position: relative;
	width: auto;
	top:inherit;
}
.faq-01 dt span{
	margin-right: 7px;
	line-height: 1.1;
	font-size: 3rem;
	font-weight: normal;
}*/
.faq-01 dd:before {
	display: none;
}
.faq-01 dd {
	padding: 5px 0 12px 0;
	margin-bottom: 12px;
	border-bottom: 1px dashed #d2d2d2;
}
#top #faq .alnR a {
	color: #9e0909;
	text-decoration: underline;
}
#top #faq .alnR a:hover {
	text-decoration: none;
}
#top #faq .alnR a i {
	margin-left: 10px;
}

/*
---------------------------------------
news-column
---------------------------------------
*/

#news-column {
	padding: 55px 0;
	background: #fff;
}
#news-column #news {
	padding-right: 25px;
}
#news-column #column {
	position: relative;
	padding-left: 25px;
}
#news-column #column .btn-petit {
	position: absolute;
	top: 0;
	right: 0;
}

/*
---------------------------------------
greeting
---------------------------------------
*/

#top #greeting {
	position: relative;
	padding: 210px 0 185px;
	background: url(../img/top/bg-greeting.jpg) no-repeat 50% 50%;
	background-size: cover;
}

#top #greeting:before {
	content: "";
	width: 175px;
	height: 222px;
	position: absolute;
	top: -70px;
	right: 0;
	z-index: 1;
	background: url(../img/common/bg-sakura-04.png) no-repeat 0 0;
	background-size: contain;
}
#top #greeting:after {
	content: "";
	width: 188px;
	height: 216px;
	position: absolute;
	bottom: -70px;
	left: 0;
	z-index: 1;
	background: url(../img/common/bg-sakura-05.png) no-repeat 0 0;
	background-size: contain;
}
#top #greeting .ttl-top {
	background: none;
	position: absolute;
	top: -120px;
	left: 0;
}
#top #greeting .box {
	width: 50%;
	padding: 40px;
	background: #fff;
	position: absolute;
	top: 70%;
	left: 55%;
	box-sizing: border-box;
}
/*
---------------------------------------
columns
---------------------------------------
*/

#top #columns {
	position: relative;
	padding: 60px 0;
	background: #f8f8f8;
}
#top #columns .flex section div * {
	font-size: 1.4rem;
	margin-bottom: 5px;
}
#top #columns .flex section .cat {
	display: inline-block;
	border: 1px solid #333;
	padding: 0 5px;
	margin-left: 5px;
}
#top #columns .flex section {
	padding: 10px 20px;
}
#top #columns .flex section h3 {
	font-size: 1.6rem;
}

/*
---------------------------------------
sitemap
---------------------------------------
*/

#sitemap #contents .flex .box > li:before {
	content: "-";
	color: #ea95ac;
	margin-right: 5px;
}
#sitemap #contents .flex .box > li ul {
	display: block;
	background: #ededed;
	padding: 20px;
	margin: 1em 0 0 1em;
	font-size: 12px;
}
#sitemap #contents .flex .box > li ul li:before {
	content: "･";
	margin-right: 5px;
}
/*
---------------------------------------
flow
---------------------------------------
*/

#top #flow ul li figure {
	display: block;
	position: relative;
}
#top #flow ul li figure:before {
	content: "";
	width: 53px;
	height: 52px;
	padding-bottom: 15px;
	display: inline-block;
	position: absolute;
	top: -20px;
	left: 0;
	border-bottom: 3px solid #9e0909;
}
#top #flow ul li.flow-01 figure:before {
	background: url(../img/common/ico-num-01.png) no-repeat 50% 50%;
}
#top #flow ul li.flow-02 figure:before {
	width: 56px;
	background: url(../img/common/ico-num-02.png) no-repeat 50% 50%;
}
#top #flow ul li.flow-03 figure:before {
	width: 58px;
	background: url(../img/common/ico-num-03.png) no-repeat 50% 50%;
}
#top #flow ul li.flow-04 figure:before {
	width: 57px;
	background: url(../img/common/ico-num-04.png) no-repeat 50% 50%;
}
#top #flow ul li.flow-05 figure:before {
	width: 60px;
	background: url(../img/common/ico-num-05.png) no-repeat 50% 50%;
}
#top #flow ul li h3 {
	font-size: ;
	color: #9e0909;
	font-weight: bold;
}

/*
---------------------------------------
slick
---------------------------------------
*/
/* Slider */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}
.slick-slider * {
	outline: none;
}
.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.slick-list:focus {
	outline: none;
}
.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
}
.slick-track:before,
.slick-track:after {
	display: table;
	content: "";
}
.slick-track:after {
	clear: both;
}
.slick-loading .slick-track {
	visibility: hidden;
}
.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}
[dir="rtl"] .slick-slide {
	float: right;
}
.slick-slide img {
	display: block;
	width: 100%;
	height: auto;
}
.slick-slide.slick-loading img {
	display: none;
}
.slick-slide.dragging img {
	pointer-events: none;
}
.slick-initialized .slick-slide {
	display: block;
}
.slick-loading .slick-slide {
	visibility: hidden;
}
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
	display: none;
}
.slick-arrow {
	width: 22px;
	height: 36px;
	position: absolute;
	top: 50%;
	/*margin-top:-18px;*/
	border: none;
	cursor: pointer;
	text-indent: -9999px;
	outline: none;
	z-index: 100;
}
/* Slider */
.slick-loading .slick-list {
	background: #fff url("./ajax-loader.gif") center center no-repeat;
}
/* Icons */
@font-face {
	font-family: "slick";
	font-weight: normal;
	font-style: normal;
	src: url("./fonts/slick.eot");
	src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
}
/* Arrows */
.slick-prev,
.slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 36px;
	height: 36px;
	padding: 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	background: #fff;
	border-radius: 100%;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
	font-family: "FontAwesome";
	font-size: 18px;
	line-height: 36px;
	opacity: 1;
	color: #ccc;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 11111;
	text-indent: 0;
}
.slick-prev {
	left: -18px;
}
[dir="rtl"] .slick-prev {
	right: -18px;
	left: auto;
}
.slick-prev:before {
	content: "\f104";
}
[dir="rtl"] .slick-prev:before {
	content: "\f104";
}
.slick-next {
	right: -18px;
}
[dir="rtl"] .slick-next {
	right: auto;
	left: -18px;
}
.slick-next:before {
	content: "\f105";
}
[dir="rtl"] .slick-next:before {
	content: "\f105";
}
/* Dots */
.slick-dotted.slick-slider {
	margin-bottom: 30px;
}

.slick-dots {
	position: absolute;
	/*bottom: -25px;*/
	display: block;
	width: 100%;
	padding: 0;
	margin: 1em auto;
	list-style: none;
	text-align: center;
}
.slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 2.5px;
	padding: 0;
	cursor: pointer;
}
.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 10px;
	height: 10px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: #fff;
	border-radius: 100%;
	border: 1px solid #ddd;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
	outline: none;
}
.slick-dots li.slick-active button {
	background: #9b853e;
}
.slick-dots li.slick-active button:before {
	opacity: 0.75;
	color: black;
}

.slider-img,
.thumb-img {
	float: left;
}

/*
---------------------------------------
contact
---------------------------------------
*/

input.wpcf7-text,
textarea.wpcf7-textarea {
	vertical-align: middle;
	font-size: 1.6rem;
	padding: 15px;
	width: 100% !important;
	max-width: 450px !important;
	box-sizing: border-box;
	border: 1px solid #f6f6f6;
	outline: none;
	background: #f6f6f6;
}
#contact table th .req {
	background: #ea95ac;
	color: #fff;
	display: inline-block;
	padding: 0 8px;
	font-size: 1.2rem;
	font-weight: normal;
	margin-left: 5px;
	vertical-align: middle;
}

/*
---------------------------------------
menu
---------------------------------------
*/

#menu .ttl-top {
	font-weight: bold;
	font-size: 3.4rem;
}

/*
---------------------------------------
faq
---------------------------------------
*/

#contents #faq-menu2 {
	padding: 0;
	background: none;
	margin-bottom: 150px;
}
#contents #faq-menu2 > * {
	width: 100%;
}
#contents #faq-menu2 .faq-box-1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: space-between;
}
#contents #faq-menu2 .faq-box-1 > * {
	width: 50%;
	padding-right: 10px;
	box-sizing: border-box;
}
#faq-menu2 .box {
	margin-bottom: 40px;
	padding: 0;
}
/*
.faq-box h2:before{
	display:none;
}
.faq-box h2{
    font-size: 2.5rem;
    font-family: ;
    font-weight: bold;
    margin-bottom: 15px;
    line-height: 1.2;
    text-align: left;
    position: relative;
    padding: 10px 0 12px 15px;
    border-left: 5px solid #9e0909;
    background: #f4f4f4;
    border-bottom: none;
}
*/
#faq-menu2 li {
	padding-left: 1em;
	text-indent: -1em;
}
#faq-menu2 li a {
	text-decoration: none;
}
#faq-menu2 li a:before {
	content: "・";
}
#faq-menu2 li a:hover {
	text-decoration: underline;
}

/*
---------------------------------------
access
---------------------------------------
*/

#access .sec-01 h2 {
	text-align: center;
	font-size: 3rem;
	font-weight: bold;
	margin-top: 25px;
}

.tbl-wrap {
	width: 100%;
	height: auto;
	overflow-x: auto;
	margin-bottom: 25px;
}
.tbl-wrap {
	overflow-x: auto;
}
.tbl-wrap::-webkit-scrollbar {
	height: 5px;
}
.tbl-wrap::-webkit-scrollbar-track {
	border-radius: 5px;
	background: #eee;
}
.tbl-wrap::-webkit-scrollbar-thumb {
	border-radius: 5px;
	background: #666;
}
#access .open table {
	width: 100% !important;
	min-width: 700px;
}
#access .open table th {
	width: 25%;
}
#access .open table thead td,
#access .open table tbody td {
	text-align: center;
}
#access #access-case > p {
	margin-bottom: 20px;
}
#access #access-case h3 {
	font-size: 2rem;
}
#access #access-case h3 .fa {
	color: #9e0909;
	margin-right: 5px;
}
#access .sec-01 .heading-02 {
	margin-top: 25px;
}

#access .sec-03 .access-list dt {
	font-weight: bold;
	font-size: 1.8rem;
}
#access .sec-03 .access-list dt i {
	margin-right: 5px;
}
#access .sec-03 .access-list dd {
	margin-bottom: 25px;
	padding: 10px 0 25px 25px;
	border-bottom: 1px dashed #ccc;
}

/*
---------------------------------------
voice
---------------------------------------
*/

#voice #contents .post {
	padding: 0 20px 40px 20px;
	border: none;
	margin-bottom: 30px;
}

#voice .post .post-header {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

#voice .post .post-header h1 {
	font-size: 2rem;
}

#voice .gray-box h2 {
	color: #9e0909;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 15px;
}

#voice .gray-box {
	margin-top: 40px;
}
#voice .gray-box .flex,
#voice .gray-box .flex > .txt p {
	margin-bottom: 0;
}
#voice.single .post .post-header {
	padding-bottom: 20px;
}

#top #voice {
	overflow: hidden;
}
#top #voice .inner-box:before {
	content: "";
	width: 288px;
	height: 126px;
	position: absolute;
	top: -70px;
	right: -240px;
	z-index: 1;
	background: url(../img/common/bg-sakura-03.png) no-repeat 0 0;
	background-size: contain;
}
/*
---------------------------------------
1180px以上
---------------------------------------
*/
@media screen and (min-width: 1180px) {
	/*--ここから記述--*/

	#voice #container #contents > .flex.c03.flex-auto {
		width: 880px;
		margin-left: -20px;
	}
	/*--ここまで--*/
}
/*
---------------------------------------
1180px以下
---------------------------------------
*/
@media screen and (max-width: 1180px) {
	/*--ここから記述--*/

	#voice #about-bnr {
		padding: 0 20px;
	}
	#sidebar .reserved-box .flex .tel,
	#sidebar .reserved-box .flex .reserved-btn {
		width: 100%;
		text-align: center;
	}
	/*--ここまで--*/
}
/*
---------------------------------------
1600px以上
---------------------------------------
*/
@media screen and (min-width: 1800px) {
	/*--ここから記述--*/

	#top #main-img {
		background-size: cover;
	}

	#top #main-img:before {
		background-position: 0 0;
	}
	/*--ここまで--*/
}
/*
----------------------------------------
750px以上
----------------------------------------
*/
@media screen and (min-width: 750px) {
	/*--ここから記述--*/

	#g-nav {
		display: block;
	}
	.sp {
		display: none;
	}
	.pc {
		display: block;
	}
	.pc.flex {
		display: flex;
	}
	/*--ここまで--*/
}

/*
----------------------------------------
1090px以下
----------------------------------------
*/
@media screen and (max-width: 1090px) {
	/*--ここから記述--*/

	#header .part .flex .txt {
		display: none;
	}
	#top #greeting .box {
		left: 50%;
	}
	#top #voice .scroll-box .btn-01 {
		right: 0;
	}
	#top #kodawari p.alnC .img-01 {
		width: 50%;
	}
	#contents .reserved-box .flex .tel a span {
		display: block;
	}
	#top #kodawari {
		padding: 160px 0 0;
	}

	/*--ここまで--*/
}
/*
----------------------------------------
890px以下
----------------------------------------
*/
@media screen and (max-width: 890px) {
	/*--ここから記述--*/

	.access-btn a {
		padding: 15px 10px;
	}
	.reserved-btn a {
		padding: 15px 10px;
	}

	#contents .reserved-box .flex .tel a {
		font-size: 3rem;
	}
	#contents .reserved-box .flex .tel a:before {
		font-size: 2.6rem;
	}
	.reserved-box .flex {
		padding: 0 15px;
	}
	#sidebar .reserved-box .flex {
		padding: 15px;
	}
	#wrapper {
		overflow: hidden;
	}
	/*--ここまで--*/
}
/*
----------------------------------------
850px以下
----------------------------------------
*/
@media screen and (max-width: 850px) {
	/*--ここから記述--*/

	.access-btn a span {
		display: none;
	}
	.reserved-btn a span {
		display: none;
	}
	.access-btn a:before,
	.reserved-btn a:before {
		margin-right: 0;
	}
	/*--ここまで--*/
}
/*
----------------------------------------
750px以下
----------------------------------------
*/
@media screen and (max-width: 750px) {
	/*--ここから記述--*/

	#contact #page-ttl,
	#access #page-ttl {
		background-size: 150%;
	}

	p,
	dd,
	li {
		font-size: 1.3rem;
		line-height: 1.6;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}

	.sp.flex {
		display: flex;
	}
	#footer {
		padding: 0 0 10px 0;
	}
	#contents .reserved-box {
		display: none;
	}
	#g-nav {
		display: none;
	}
	#wrapper {
		overflow: hidden;
		padding-top: 50px;
	}
	#sp-btn {
		display: block;
		width: 60px;
		height: 60px;
		padding: 10px;
		border: none;
		box-sizing: border-box;
		margin: 0 !important;
		text-align: center;
		position: fixed;
		top: 40px;
		right: 7px;
		background: none;
	}
	#sp-btn p {
		display: none;
	}
	#sp-btn div span {
		height: 2px;
	}
	#sp-btn,
	#top #sp-btn {
		top: 0;
		right: 0;
	}
	#header .wrap {
		flex-direction: column-reverse;
	}
	#header .logo {
		margin-right: 0;
		text-align: center;
		width: 100%;
	}
	#header .logo img {
		width: 110px;
		height: auto;
	}
	#header h1 {
		background: none;
		text-align: center;
		color: #333;
		font-size: 1rem;
		padding: 3px 0;
		line-height: 1.2;
	}
	#header > .wrap,
	#top #header > .wrap {
		min-height: auto;
		padding-top: 0;
	}
	#sidebar {
		display: none;
	}
	/*--footer--*/
	#footer .footer-contents > * {
		flex: 1;
		width: 100%;
		padding: 2.5%;
		margin: 0 auto;
		text-align: center;
	}
	#footer .footer-contents figure {
		text-align: center;
	}
	#footer .footer-contents.flex .box {
		display: none;
	}
	/*--slidemenu--*/
	#slide_menu > .slide-menu {
		display: none;
	}
	.open #slide_menu > .slide-menu {
		display: none;
	}
	.open #slide_menu {
		z-index: 1000001;
		padding-top: 50px;
	}
	#slide_menu {
		display: block;
		position: fixed;
		top: 12px;
		right: -110%;
		width: 100%;
		height: 100vh;
		overflow-y: auto;
		padding: 0 0 10px 0;
		background: url(../img/common/bg.jpg) repeat;
		color: #fff;
	}
	.table-01 th {
		padding: 15px;
		border-bottom: solid 1px #ccc;
		border-right: solid 1px #ccc;
		background: #f9f9f9;
		font-weight: normal;
		vertical-align: top;
		width: 60%;
	}
	#slide_menu .logo {
		padding: 5%;
		visibility: hidden;
	}
	#slide_menu .logo img {
		vertical-align: middle;
		width: 100px;
	}
	#slide_menu .logo a {
		color: #fff;
		font-size: 1.5rem;
		letter-spacing: 6px;
		font-weight: bold;
	}
	#slide_menu ul {
		padding: 0;
		background: #fff;
	}
	#slide_menu ul li {
	}
	#slide_menu ul.wrap > li > a {
		padding: 2.5%;
		display: block;
		font-size: 1.3rem;
		position: relative;
		color: #322100;
		line-height: 1.8;
		background: #f9f9f9;
	}
	#slide_menu ul.wrap > li > ul > li > a {
		padding: 0.5% 2.5% 0.5% 5%;
		display: block;
		font-size: 1.3rem;
		position: relative;
		color: #322100;
		line-height: 1.8;
		background: #f9f9f9;
	}
	#slide_menu ul.wrap li:nth-child(2n) a {
		background: #f6f6f6;
	}
	#slide_menu ul.wrap > li > a i {
		color: #333;
		display: none;
		font-size: 1.1rem;
		margin-left: 10px;
		vertical-align: middle;
	}
	#slide_menu ul.wrap > li > a:before {
		font-family: "FontAwesome";
		content: "\f105";
		position: absolute;
		top: 50%;
		right: 2.5%;
		color: #ea95ac;
		font-size: 20px;
		font-weight: normal;
		margin-top: -18px;
	}
	#slide_menu ul.wrap > li > ul > li a:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 2.5%;
		margin-top: -3.5px;
		background: #ea95ac;
		width: 7px;
		height: 7px;
		border-radius: 10px;
	}
	.layer {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 9998;
		display: none;
		width: 100%;
		height: 100%;
		background: rgba(255, 255, 255, 0);
	}

	.slide-menu {
		display: block;
		text-align: center;
		color: #333;
		font-size: 3rem;
		position: fixed;
		top: 5px;
		right: 5px;
		width: 1em;
		height: 1em;
		display: block;
		padding: 10px;
		vertical-align: middle;
		cursor: pointer;
		z-index: 100000;
	}
	.slide-menu i {
		display: table;
		width: 100%;
		height: 100%;
		line-height: 100%;
	}
	.slide-menu i:before {
		display: table-cell;
		vertical-align: middle;
		width: 100%;
		height: 100%;
		line-height: 100%;
	}
	.active .slide-menu {
		border-color: #fff;
	}
	.slide-menu span {
		-webkit-transition: all 0.25s ease;
		-moz-transition: all 0.25s ease;
		-ms-transition: all 0.25s ease;
		-o-transition: all 0.25s ease;
		transition: all 0.25s ease;
		-webkit-transform-origin: 50% 50%;
		-moz-transform-origin: 50% 50%;
		-ms-transform-origin: 50% 50%;
		-o-transform-origin: 50% 50%;
		transform-origin: 50% 50%;
		display: block;
		margin: 7px auto;
		height: 2px;
		background: #333;
		transition: all 0.4s;
		color: #333;
		border-radius: 100px;
		max-width: 34px;
	}
	.open .slide-menu .menu-top {
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 9px;
		position: relative;
	}
	.open .slide-menu .menu-mdl {
		-webkit-transform: scale(0) translateY(7px);
		-moz-transform: scale(0) translateY(7px);
		-ms-transform: scale(0) translateY(7px);
		-o-transform: scale(0) translateY(7px);
		transform: scale(0) translateY(7px);
	}
	.open .slide-menu .menu-btm {
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
		bottom: 9px;
		position: relative;
	}
	.slide-menu span.menu {
		font-size: 0.9rem;
		text-align: center;
		line-height: 1.1;
		background: none;
	}

	#slide_menu ul li.tel {
		border: none;
	}
	#slide_menu ul li.tel a:before {
		display: none;
	}
	#slide_menu ul li.tel a {
		position: relative;
		top: 5px;
		width: 95%;
		box-sizing: border-box;
		margin: 10px auto 0 auto;
		border: 2px solid #333;
		border-radius: 2em;
		text-align: center;
		line-height: 1.1;
		padding: 5px 2em;
	}
	#slide_menu ul li.tel span {
		background: none;
		display: inline-block;
		padding: 1px 10px;
		text-align: left;
		vertical-align: middle;
		font-size: 1.2rem;
	}
	#slide_menu ul li.tel p {
		font-size: 1.2rem;
		color: #333;
	}
	#slide_menu ul li.tel .futura i {
		font-size: 2.6rem;
	}
	#slide_menu ul li.tel .futura {
		font-size: 2.6rem;
		color: #333;
		display: inline-block;
		vertical-align: middle;
	}

	#top #about .ttl-top {
		position: absolute;
		top: -70px;
		left: 10px;
		padding-top: 10px;
	}
	body.open {
		overflow: hidden;
	}
	.line-box .inner-box {
		padding-top: 80px !important;
		padding-right: 0 !important;
	}
	.line-box .inner-box:before {
		top: 0;
		right: 20px;
		height: 140px;
	}
	.line-box .inner-box:after {
		top: 33px;
		right: 0;
		width: 140px;
		height: 1px;
	}
	.line-box-02 .inner-box::after {
		top: 33px;
		left: 0;
		width: 140px;
		height: 1px;
	}
	.line-box-02 .inner-box::before {
		top: 0;
		left: 20px;
		height: 140px;
		width: 1px;
	}
	.line-box-02 .inner-box {
		padding-top: 86px !important;
		padding-left: 0 !important;
		position: relative;
	}

	.bnr-box {
		padding: 25px 2.5%;
	}
	.bnr-box h2 span i img {
		width: 198px;
	}
	.bnr-box .flex > * {
		width: 100%;
	}
	.bnr-box .flex > .tel {
		position: relative;
		top: 5px;
		border: 2px solid #333;
		border-radius: 2em;
		text-align: center;
		line-height: 1.1;
		padding: 5px 2em;
	}
	.bnr-box div .tel span {
		background: none;
		display: inline-block;
		padding: 1px 10px;
		text-align: left;
		vertical-align: middle;
		font-size: 1.2rem;
	}
	.bnr-box div .tel p {
		font-size: 2.6rem;
		display: inline-block;
		vertical-align: middle;
	}
	.bnr-box .flex > p br {
		display: none;
	}
	.bnr-box .flex > p {
		color: #9e0909;
		font-size: 1.8rem;
		text-align: center;
		width: 100%;
	}
	.bnr-box .flex {
		border-bottom: none;
		padding: 10px 15px;
		box-sizing: border-box;
	}

	.list-1 li .c02-fd > figure {
		width: 100%;
		padding-right: 0;
	}
	.list-1 li .c02-fd > div {
		width: 100%;
	}

	/*-------------------
		footer
-------------------*/

	#slide_menu .flex.btns,
	footer .flex.btns {
		flex-direction: row;
		padding: 5px;
	}
	#slide_menu .flex.btns {
		background: #f6f6f6;
	}
	#slide_menu .flex.btns > *,
	footer .flex.btns > * {
		box-sizing: border-box;
		padding: 5px;
		width: 50%;
		text-align: center;
	}

	footer .f-txt {
		width: 95%;
		margin: 25px auto 5px auto;
		position: relative;
	}
	footer .f-txt:before {
		content: "";
		width: 100%;
		height: 1px;
		background: #ccc;
		position: absolute;
		top: 50%;
		left: 0;
	}
	footer .f-txt span {
		position: relative;
		z-index: 1;
		display: inline-block;
		padding: 0 10px;
		background: url(../img/common/bg-01.png) repeat;
	}

	/*-------------------
		button
-------------------*/
	.btn-01.center a,
	.btn-02.center a,
	.btn-03.center a,
	.btn-04.center a,
	.btn-05.center a,
	.btn-06.center a {
		margin: 10px auto;
	}
	.btn-03 a {
		font-size: 1.1rem;
		font-weight: bold;
		display: inline-block;
		padding: 5px 10px 5px 10px;
	}
	.btn-05.center a {
		width: 100%;
		margin: 10px auto !important;
	}
	.btn-06.center a {
		display: block;
	}

	/*-------------------
		top
-------------------*/
	.ttl-sub-02 {
		padding: 0;
		margin: 0 10px;
		line-height: 1.8;
		padding-top: 4px;
	}
	.ttl-sub-02::before {
		bottom: -4px;
		left: -25px;
		background: #fff5f8;
		width: 205px;
	}
	.ttl-sub-02::after {
		top: 0px;
		left: -20px;
		width: 205px;
		border: 1px dotted #0f0f0f;
	}
	.ttl-top {
		padding: 10px;
	}
	#top #main-img {
		background: url(../img/renewal/top/main-img-sp.png) no-repeat 50% 50%;
		background-size: cover;
		height: 400px;
	}
	#top #main-img p.alnC > img {
		width: 125px;
	}
	#top #main-img p.alnC > a > img {
		vertical-align: middle;
		width: 74px;
	}
	#top #main-img p.alnC a {
		left: -74px;
	}
	#top #main-img p.alnC .ttl-sub img {
		width: 21px;
	}
	#top #main-img p.alnC {
		margin-left: 37px;
	}

	#top #about h3:before {
		display: none;
	}
	#top #about h3 {
		margin-bottom: 15px;
		font-size: 1.8rem;
	}

	#top #about section .alnC {
		width: 90%;
		margin: 0 auto;
		text-align: left;
		font-size: 1.4rem;
		line-height: 1.8;
	}
	#top #about .flex.c03 > * {
		width: 50%;
	}
	#top #about .ttl-top > img {
		width: 170px;
		margin: 20px 30px 5px 30px;
	}
	#top #about .ttl-top > .ttl-sub-02 > img {
		width: 170px;
		margin: 0;
	}

	#top #menu .flex.c03 > * {
		width: 50%;
	}
	#top #menu .flex.c03 figure {
		padding: 0 5px 10px 5px;
	}
	#top #menu .flex.c03 figure span {
		padding: 2px 6px 2px 8px;
		font-size: 1rem;
		top: 5px;
	}
	#top #menu .flex.c03 h3 {
		font-size: 1.5rem;
		font-weight: bold;
		padding: 0;
		margin-bottom: 10px;
	}

	#top #kodawari {
		overflow: hidden;
		padding-top: 150px;
	}
	#top #kodawari p.alnC .img-01 {
		display: none;
	}
	#top #kodawari p.alnC {
		position: relative;
		padding: 0;
		margin-right: 130px;
		margin-left: 20px;
	}
	#top #kodawari::before {
		content: "";
		width: 100%;
		height: 100%;
		background: #f8f8f8;
		position: absolute;
		top: 16%;
		left: 0;
	}
	#top #kodawari p.alnC:before {
		width: 144px;
		height: 63px;
		top: -23px;
		left: -70px;
		z-index: 100;
	}
	#top #kodawari .ttl-top > img {
		width: 200px;
	}

	#top #voice .ttl-sub-03 {
		padding: 5px 10px 0px 20px;
	}

	#top #voice .ttl-sub-03:after {
		top: 0px;
		right: -8px;
		border: 1px dotted #0f0f0f;
	}

	#top #kodawari .ttl-top > .ttl-sub-02 > img {
		width: 170px;
	}
	#top #kodawari .flex.c04 > * {
		position: relative;
		padding: 0 10px;
		width: 50%;
	}
	#top #kodawari .flex.c04 h3 {
		font-size: 1.4rem;
		padding: 5px 0 0;
		margin-bottom: 10px;
	}

	#top #voice {
		padding-bottom: 120px;
	}
	#top #voice .ttl-top > img {
		width: 37px;
	}
	#top #voice .ttl-top > .ttl-sub-02 > img {
		width: 8px;
	}
	#top #voice .ttl-top {
		background: url(../img/top/img-kodawari-03.jpg) no-repeat bottom right;
		background-size: 75% auto;
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
		box-sizing: border-box;
	}
	#top #voice .scroll-box {
		height: 320px;
		width: 95%;
		margin: 0 auto;
		position: relative;
	}
	#top #voice .scroll-box .btn-01 {
		position: relative;
		right: 0;
		bottom: 0;
		margin: 25px auto;
	}

	#top #faq .c02-fd > h2 {
		width: 100%;
		text-align: center;
		max-width: 321px;
		margin: 0 auto 25px;
	}
	#top #news-column section {
		margin-bottom: 0;
		width: 100%;
		padding: 0;
	}
	#top #voice .slider {
		margin-bottom: 40px;
	}
	#faq dl {
		background: #fff;
		padding: 15px;
		border: 10px solid #f8dee5;
		width: 100%;
		box-sizing: border-box;
	}
	.faq-01 dt,
	#faq dl dt {
		font-size: 1.5rem;
		font-weight: bold;
	}
	#top #voice .slider div section {
		background: #fff;
		margin: 0;
		flex-direction: column;
	}
	#top #voice .flex.c02-fd > * {
		width: 100%;
	}
	#top #voice .flex.c02-fd > div {
		padding: 10px;
	}
	#top #voice .slick-next {
		right: 10px;
	}
	#top #voice .slick-prev {
		left: 10px;
	}
	#news-column {
		padding: 55px 2.5%;
	}
	#news-column #column .btn-petit {
		position: relative;
		text-align: center;
	}
	.btn-petit a {
		width: 95%;
		box-sizing: border-box;
	}
	#top #greeting h2 img {
		width: 98px;
	}
	#top #greeting p.alnC {
		width: 95%;
		margin: 0 auto;
	}
	#top #greeting .flex {
		padding: 0 2.5%;
	}
	#top #greeting .flex > * {
		padding-right: 0;
		width: 100%;
	}
	#top #greeting {
		position: relative;
		padding: 130px 0 285px;
	}
	#top #greeting .box {
		width: 80%;
		padding: 15px;
		background: #fff;
		position: absolute;
		top: 70%;
		left: 20%;
		box-sizing: border-box;
	}

	#top #columns section {
		padding: 0 10px;
	}
	#top #faq .c02-fd > div {
		padding: 0 2.5%;
		width: 100%;
	}
	#bottom-fix {
		display: none !important;
	}
	#menu-list .flex.c04 > * {
		width: 50%;
	}
	#top #voice {
		padding-top: 60px;
	}
	#top #voice .inner-box:before {
		width: 144px;
		height: 63px;
		top: -20px;
		right: -30px;
	}
	#top #main-img:before {
		background-position: 0 0;
		background-size: 900px auto;
	}
	#top #greeting::before {
		width: 85px;
		height: 111px;
		top: -35px;
		right: 0;
	}
	#top #greeting:after {
		width: 99px;
		height: 108px;
		bottom: -35px;
	}

	#top #greeting {
		padding-bottom: 150px;
	}
	#contents #faq-menu2 .faq-box-1 > * {
		width: 100%;
	}
	#top #kodawari .flex.c04 {
		margin: 60px auto 25px auto;
	}

	/*--ここまで--*/
}
/*
----------------------------------------
375px以下
----------------------------------------
*/
@media screen and (max-width: 375px) {
	/*--ここから記述--*/
	/*
#top #about h2 img {
    height: 105px;
    width: auto;
}
#top #concept ul li h3{
	text-align:left;
}
#top #kodawari p.alnC:before {
    width: 144px;
    height: 63px;
    top: -13px;
    left: -100px;
    z-index: 100;
}
#top #faq .c02-fd > h2 {
    max-width: 160px;
}
#column .heading-01 img{
	width: 147px;
}
#news .heading-01 img{
    width: 250px;
}
#top #greeting h2 {
    position: relative;
    top: inherit;
    left: 0;
    width: 100%;
    height: 140px;
    text-align: center;
    float: none !important;
-webkit-writing-mode: inherit;
-ms-writing-mode: inherit;
writing-mode: inherit;
}
#top #greeting h2 span {
    padding-top: 10px;
    display: none;
}
#top #greeting h2 img{
	width:17px;
}
*/
	/*--ここまで--*/
}

/*
----------------------------------------
320px以下
----------------------------------------
*/
@media screen and (max-width: 320px) {
	/*--ここから記述--*/
	#header h1,
	#header .logo {
		text-align: left;
		padding: 3px 10px;
		width: 100%;
		box-sizing: border-box;
	}
	.txt-box p {
		text-align: left;
	}

	/*--ここまで--*/
}
/*!
 * Hover.css (http://ianlunn.github.io/Hover/)
 * Version: 2.2.0
 * Author: Ian Lunn @IanLunn
 * Author URL: http://ianlunn.co.uk/
 * Github: https://github.com/IanLunn/Hover

 * Hover.css Copyright Ian Lunn 2017. Generated with Sass.
 */

/* Ripple Out */
@-webkit-keyframes hvr-ripple-out {
	100% {
		top: -12px;
		right: -12px;
		bottom: -12px;
		left: -12px;
		opacity: 0;
	}
}
@keyframes hvr-ripple-out {
	100% {
		top: -12px;
		right: -12px;
		bottom: -12px;
		left: -12px;
		opacity: 0;
	}
}
.hvr-ripple-out {
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px transparent;
	position: relative;
}
.hvr-ripple-out:after {
	content: "";
	position: absolute;
	border: #e9e9e9 solid 6px;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
}

.reserved-btn .hvr-ripple-out:after {
	border-color: #ea95ac;
}
.hvr-ripple-out:hover:after,
.hvr-ripple-out:focus:after,
.hvr-ripple-out:active:after {
	-webkit-animation-name: hvr-ripple-out;
	animation-name: hvr-ripple-out;
}

/* 2024.05.23 */
#price caption span {
	text-align: left;
	display: flex;
	padding: 0px 10px !important;
}
#price #untiaging figure img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
#price #untiaging figure {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	margin: 0 auto 50px;
}
#price #untiaging .recommend {
	display: flex;
	justify-content: center;
	padding: 0;
	margin-bottom: 30px;
	font-size: 22px;
	font-weight: bold;
	color: #eb95ac;
}
#price #untiaging .recommend > br {
	display: none;
}
#top #about section .alnC.alnC-led {
	text-align: center;
}
#top #about section .alnC.alnC-led > span {
	color: #ea95ac;
}
@media screen and (max-width: 750px) {
	#top #about section .alnC.alnC-led {
		font-size: 1.8rem;
		text-align: center;
		width: 100%;
		padding: 0 10px;
		box-sizing: border-box;
		line-height: 1;
	}
	#price #untiaging .recommend > br {
		display: inline;
	}
	#price #untiaging .recommend {
		margin-bottom: 25px;
		font-size: 15px;
	}
}

/* 2024.06.05 */
#top #about section.top-sec-untiaging {
	padding-bottom: 80px;
}
.top-sec-untiaging-flex > h3 {
	margin-bottom: 0 !important;
}
.top-sec-untiaging-flex > p {
	line-height: 1;
}

.top-sec-untiaging-flex {
	display: flex;
	flex-flow: column;
	gap: 25px;
}
#top #about section.top-sec-untiaging .video-box {
	margin-top: 25px;
}
