@charset "UTF-8";

/*共通
-------------------------------------------*/

.fadein {
	opacity: 0;
	transition: .8s;
}

.fadein-active {
	opacity: 1.0;
}

body {
	font-size: 14px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 400;
}

@media (min-width:992px) {
	body {
		font-size: 17px;
	}
}

.h-container a {
	color: #684f2d;
}

a:hover {
	opacity: .5;
	transition: .3s;
}

/*----------------------------------------------------
ヘッダー 
-----------------------------------------------------*/

/*PC*/

header {
	background: #fff;
	font-size: 14px;
	position: absolute;
	width: 100%;
	z-index: 100;
}

header.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
}

header a:hover {
	text-decoration: none;
}

@media (min-width:992px) {

	.h-sp-menu,
	.h-sp-tel {
		display: none;
	}

	.h-container {
		padding: 40px;
		transition: .3s;
		display: flex;
	}

	header.fixed .h-container {
		padding: 20px 40px;
		transition: .3s;
	}

	.h-nav {
		margin-left: auto;
	}

	.h-nav li {
		display: table-cell;
		line-height: 1.3em;
		vertical-align: bottom;
	}

	.h-nav-01-text a {
		font-size: 15px;
		padding-top: 4px;
		display: block;
	}

	.h-nav-01 {
		display: flex;
		justify-content: flex-end;
	}

	.h-nav-01 li {
		padding-left: 20px;
	}

	.h-nav-01 li:first-child {
		padding-left: 0;
	}

	.h-nav-01-tel {
		font-size: 28px;
		line-height: 1em !important;
	}

	.h-nav-01-tel svg {
		height: 22px;
		margin-right: 7px;
		fill: #684f2d;
	}

	.h-nav-01-btn a {
		color: #fff;
		background: rgba(236, 92, 147, 1);
		padding: 5px 40px;
		border-radius: 5px;
	}

	.h-nav-02 {
		margin-top: 15px;
	}

	.h-nav-02 li {
		border-right: 1px solid #d8cfc3;
	}

	.h-nav-02 li:first-child {
		border-left: 1px solid #d8cfc3;
	}

	.h-nav-02 li a {
		display: block;
		padding: 0 15px;
	}

	.h-logo img {
		width: 300px;
	}

}

@media (min-width:1260px) {

	header {
		font-size: 16px;
	}

	.h-nav-02 li a {
		padding: 0 25px;
	}

	.h-logo img {
		width: auto;
	}
}

@media (min-width:1460px) {
	.h-nav-02 li a {
		padding: 0 35px;
	}
}


/*SP*/
@media (max-width:991.9px) {
	.h-container {
		height: 60px;
	}

	.h-logo {
		padding: 10px 0 0 15px;
	}

	.h-logo img {
		width: auto;
		height: 40px;
	}

	.h-sp-tel {
		position: absolute;
		width: 60px;
		height: 60px;
		top: 0;
		right: 60px;
		z-index: 10;
		border: none;
		text-align: center;
	}

	.h-sp-tel svg {
		margin-top: 20px;
		width: 16px;
		fill: rgba(236, 92, 147, 1);
	}

	.h-sp-menu-txt {
		text-align: center;
		position: absolute;
		top: 5px;
		width: 100%;
		font-size: 8px;
		color: rgba(236, 92, 147, 1);
		font-weight: bold;
	}


	.h-sp-menu {
		position: absolute;
		top: 0px;
		right: 0px;
		width: 60px;
		height: 60px;
		z-index: 10;
	}

	.h-sp-menu-btn {
		background: none;
		border: none;
		cursor: pointer;
		display: block;
		width: 30px;
		height: 32px;
		position: absolute;
		top: 25px;
		left: 15px;
	}

	.h-sp-menu-btn span {
		position: absolute;
		left: 0;
		width: 30px;
		height: 2px;
		background-color: rgba(236, 92, 147, 1);
		z-index: 10;
	}

	.h-sp-menu-btn span:nth-of-type(1) {
		top: 0;
	}

	.h-sp-menu-btn span:nth-of-type(2) {
		top: 10px;
	}

	.h-sp-menu-btn span:nth-of-type(3) {
		top: 20px;
	}

	.h-sp-menu-btn.active span:nth-of-type(1) {
		-webkit-transform: translateY(11px) rotate(45deg);
		transform: translateY(11px) rotate(45deg);
		transition: .2s;
	}

	.h-sp-menu-btn.active span:nth-of-type(2) {
		opacity: 0;
	}

	.h-sp-menu-btn.active span:nth-of-type(3) {
		-webkit-transform: translateY(-10px) rotate(-45deg);
		transform: translateY(-10px) rotate(-45deg);
		transition: .2s;
	}

	.h-nav {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 10;
		width: 100vw;
		height: 100vh;
		opacity: 0;
		background: rgba(255, 255, 255, 0.95);
		transition: all 0.3s ease-in-out;
		visibility: hidden;
		display: flex;
		flex-direction: column-reverse;
		justify-content: center;
		padding: 0 20px 0 20px;
	}

	.h-nav.active {
		right: 0;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
	}

	.h-nav li {
		list-style-type: none;
		border-bottom: 1px solid #ddd;
	}

	.h-nav li a {
		display: block;
		padding: 15px;
	}

	.h-nav-01-tel {
		display: none;
	}

	li.h-nav-01-btn {
		border-bottom: none;
		padding-top: 5px;
	}

	.h-nav li.h-nav-01-btn a {
		color: #fff;
		background: rgba(236, 92, 147, 1);
		padding: 10px 15px;
		width: 100%;
		border-radius: 5px;
	}
}


/*----------------------------------------------------
フッター
-----------------------------------------------------*/

footer {
	line-height: 1.4em;
	color: #7f6037;
}

.f-container {
	max-width: auto;
}

footer a {
	color: #7f6037;
	text-decoration: none;
}

.f-container {
	padding: 20px;
}

.f-box-01 {
	background: #fef7f9;
}

.f-box-01-01,
.f-box-02-01 {
	text-align: center;
}

.f-box-01-01 {
	font-size: 13px;
}

.f-box-01-02 {
	margin-top: 10px;
}

.f-logo-01 img {
	width: 197px;
}

.f-logo-02 img {
	width: 100px;
}

footer li {
	line-height: 2em;
}

.f-nav-01 li {
	width: 49%;
	display: inline-block;
}

.f-privacypolicy {
	font-size: 85%;
	color: #684f2d;
	margin-top: 10px;
	text-align: center;
}

.f-copyright {
	font-size: 85%;
	color: #999;
	text-align: center;
}

.f-nav-02 li {
	text-align: center;
}

.f-department {
	margin-top: 5px;
	font-size: 90%;
	color: rgba(236, 116, 162, 1);
}

.f-name {
	margin-top: 8px;
}

@media (min-width:992px) {
	footer {
		font-size: 16px;
	}

	.f-container {
		display: flex;
		padding: 30px 40px;
	}

	.f-box-01-02,
	.f-box-02-02 {
		margin-left: auto;
	}

	.f-nav-01 li {
		width: auto;
		padding-left: 2em;
	}

	.f-box-01-01 {
		text-align: left;
		font-size: 15px;
		line-height: 1.4em;
	}

	.f-logo-01 img,
	.f-logo-02 img {
		width: auto;
	}

	.f-box-02-01 {
		text-align: left;
		padding-right: 50px;
	}

	.f-nav-02 li {
		width: 30%;
		display: inline-block;
		text-align: left;
	}

	.f-privacypolicy {
		text-align: right;
	}

	.f-copyright {
		text-align: right;
	}
}

/*----------------------------------------------------
ページタイトル、見出し、文字、画像、リスト
-----------------------------------------------------*/

/*見出し*/
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	margin-bottom: 0;
	font-style: normal;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
	font-weight: 400;
	font-size: 14px;
}

.no-ls {
	letter-spacing: 0 !important;
}

.pagettl {
	padding: 50px 20px;
	text-align: center;
	background: #f2f2f2;
}

.pagettl-txt {
	font-size: 24px;
	color: rgba(236, 92, 147, 1);
	letter-spacing: 0.3em;
}

.mds-01 {
	font-size: 24px;
	color: #7f6037;
	line-height: 1.4em;
	padding-bottom: 1em;
	text-align: center;
}

.mds-02 {
	font-size: 20px;
	color: #7f6037;
	padding-left: .7em;
	line-height: 1em;
	margin-bottom: .8em;
	margin-top: 2em;
	border-left: 4px solid #f49dbe;
}

.mds-02:first-child {
	margin-top: 0;
}

.mds-03 {
	font-size: 18px;
	line-height: 1.5em;
	margin-bottom: 1em;
}

.mds-01+.mds-03 {
	margin-top: -1em;
}

.mds-04 {
	font-size: 16px;
	color: #000;
}

.c-brown {
	color: #7f6037;
}

.c-pink {
	color: rgba(236, 92, 147, 1);
}

.c-red {
	color: red;
}

.c-blue {
	color: #78B2E4;
}

.ff-syuei {
	font-family: dnp-shuei-mgothic-std, sans-serif;
}

@media (min-width:992px) {

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-size: 18px;
	}

	.pagettl {
		padding: 100px 20px;
	}

	.pagettl-txt {
		font-size: 38px;
	}

	.mds-01 {
		font-size: 32px;
	}

	.mds-02 {
		font-size: 25px;
	}

	.mds-03 {
		font-size: 24px;
	}

	.mds-04 {
		font-size: 20px;
	}

	.mds-05 {
		font-size: 28px;
	}

}


/*リスト*/

.list-01 li {
	padding-left: 1em;
	position: relative;
}

.list-01 li:before {
	content: "●";
	font-size: 0.5em;
	color: #f07da9;
	position: absolute;
	left: 0;
	top: 0.2em;
}


/*その他*/
main img {
	border-radius: 5px;
	width: 100%;
}

main img.no-radius {
	border-radius: 0;
}

main {
	line-height: 1.8em;
	color: #444;
	position: relative;
	padding-top: 60px;
}

main a {
	color: #7f6037;
	;
	text-decoration: underline;
}

.fs-small {
	font-size: 85%;
}

.att-01 dd {
	padding-left: 1.2em;
	margin-top: -1.8em;
}


.att-02 dd {
	padding-left: 2.2em;
	margin-top: -1.8em;
}


.att-07 dd {
	padding-left: 7.5em;
	margin-top: -1.8em;
}


@media (min-width:992px) {
	main {
		padding-top: 142px;
	}

	main img {
		border-radius: 10px;
	}
}

/*表ボックス*/

@media (max-width:991.9px) {

	.table-box-01 {
		width: 100%;
		overflow-x: auto;
		padding-bottom: 10px;
	}

	.w-10em {
		width: 10em;
	}
}


/*表01*/

.table-01 {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.table-01 th,
.table-01 td {
	padding: 0.5em;
	text-align: center;
	border: 1px solid #ddd;
	line-height: 1.5em;
}

.table-01 td {
	background: #fff;
}

.table-01-time {
	color: #fff;
	background: #f07da9;
	text-align: left !important;
}

.table-01-day {
	background: #f1f1f1;
}

.table-01-space {
	border: none !important;
}

@media (min-width:992px) {

	.table-01 th,
	.table-01 td {
		padding: 0.5em 2em;
	}
}

/*表02*/

.table-02 {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.table-02 th,
.table-02 td {
	padding: 0.5em;
	border: 1px solid #ddd;
	font-weight: normal;
	line-height: 1.5em;
}

.table-02 td {
	background: #fff;
}

.table-02 th {
	background: #fef7f9;
}


@media (min-width:992px) {

	.table-01 th,
	.table-01 td {
		padding: 0.5em 2em;
	}

}

/*表03*/

.table-03 {
	border-top: 1px solid #ddd;
	width: 100%;
}

.table-03 td,
.table-03 th {
	padding: 0.8em;
	border-bottom: 1px solid #ddd;
	vertical-align: top;
}

.table-03 th {
	min-width: 5.6em;
}

/*表 スマホでは文字を小さく*/
@media (max-width:991.9px) {
	.table-sp-fs-small {
		font-size: 85%;
	}
}

/*----------------------------------------------------
セクションの余白、背景
-----------------------------------------------------*/

.sec-01 {
	padding: 40px 0;
}

.bg-beige {
	background: #f8f3ee;
}

.bg-pink {
	background: #fef7f9;
}

.bg-gray {
	background: #f6f6f6;
}



.h-lg-100 {
	height: 100%;
}

@media (min-width:992px) {
	.sec-01 {
		padding: 70px 0;
	}
}

/*囲み*/
.kakomi-white,
.kakomi-pink,
.kakomi-bd-pink,
.kakomi-contact {
	padding: 20px 20px 25px 20px;
	border-radius: 5px;
	background: #fff;
}

.kakomi-bd-pink {
	border: 2px solid #f397ba;
}

.kakomi-pink {
	background: rgba(236, 92, 147, 0.05);
}

.kakomi-contact {
	text-align: center;
	font-size: 16px;
	vertical-align: middle;
}

.kakomi-contact dt {
	color: #7f6037;
}

.kakomi-contact-svg {
	height: 20px;
	width: auto;
	fill: rgba(236, 92, 147, 1);
}

.kakomi-contact-tel {
	font-size: 24px;
}

.kakomi-contact dd,
.kakomi-contact dd a {
	color: #ec5c93;
	text-decoration: none;
}


@media (min-width:992px) {

	.kakomi-white,
	.kakomi-pink {
		padding: 40px 45px 50px 45px;
		border-radius: 10px;
	}

	.kakomi-bd-pink,
	.kakomi-contact {
		padding: 25px 35px;
		border-radius: 10px;
	}

	.kakomi-contact dl {
		display: table;
		margin-left: auto;
		margin-right: auto;
		font-size: 22px;
	}

	.kakomi-contact-tel {
		margin-left: 20px;
	}

	.kakomi-contact dt,
	.kakomi-contact dd {
		display: table-cell;
		vertical-align: middle;
		padding: 0 20px;
	}

	.kakomi-contact-tel {
		font-size: 35px;
	}

	.kakomi-contact-svg {
		height: 30px;
	}
}


/*----------------------------------------------------
ボタン
-----------------------------------------------------*/

.btn-01 a {
	display: inline-block;
	padding: 0.8em 1em 0.5em 0.5em;
	width: 100%;
	max-width: 240px;
	border-radius: 2em;
	line-height: 1em;
	background: rgba(236, 92, 147, 0.8);
	color: #fff;
	text-align: center;
	text-decoration: none;
	position: relative;
}

.btn-01 a span:after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	background: url("../img/common/icn-btn-01.png");
	background-size: contain;
	position: absolute;
	right: 1em;
	top: calc(50% - 5px);

}