/*
Theme Name: D･Cattry
Author: Yoko Dohi
*/

@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-style: normal;
	/*font: inherit;*/
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input[type="text"],
input[type="password"],
textarea,
select,*:focus {
	outline: none;
}


/*====================================================
////id common
====================================================*/
html{
	font-size: 10px;
	font-size: 62.5%;
	overflow-x : hidden;
	width: 100%;
	max-width: 100vw;
}

:root {
    --red: #E71B1B;
		--pink: #D7A6C6;
		--l_beige: #FFFCF1;
		--beige: #E4D9A9;
		--l_blue: #E7F5FD;
		--l-blue_rgb: 231, 245, 253;
    /* --r_purple: #A1529C; */
    --r_purple: #b99ed4;
		--wl_purple: #f4f2fa;
		--w_purple: #DDD9EB;
		--w_purple2: #BCB5D9;
		--l_purple: #f5eeff;
		--bright_purple: #C1A8EC;
		/* --purple: #4D3774; */
		--purple: #674786;
    --d_purple: #6D6180;
		--d_purple2: #9386AB;
		--shadow_purple: #836EA0;
		--shadow_purple2: rgba(199, 173, 236, 0.3);
    --navy: #22304F;
    --black: #2E2E2E;

		--grd: linear-gradient(110deg, #C5B2EA, #F5CBF4 30%, #B8ECFD);

		--font_family: fot-tsukubrdgothic-std, "Yu Gothic Medium", "游ゴシック Medium", "YuGothic Medium", "游ゴシック体 Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

body, button, input, select, optgroup, textarea {
	background: #fff;
	color: var(--black);
	font-family: var(--font_family);
	font-size: 16px;
	font-size: 1.6rem;
	letter-spacing: 0.02em;
	line-height: 1.8;
}
body {
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	body, button, input, select, optgroup, textarea {
	}
}
@media screen and (max-width: 540px) {
	body, button, input, select, optgroup, textarea {
		font-size: 3.5vw;
	}
}
/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}
/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
/*
	body, button, input, select, optgroup, textarea {
		font-size: 17px;
		font-size: 1.7rem;
	}
*/
}
@media screen and (min-width:1280px) {
	body, button, input, select, optgroup, textarea {
		/* font-size: 18px;
		font-size: 1.8rem; */
	}
}

body {
	position: relative;
	width: 100%;
	max-width: 100vw;
	height: auto;
	/* overflow-x: hidden; */
}
* {
	min-height:0;
	min-width : 0;
}

body * {
	box-sizing: border-box;
}
section {
	/*	background: #fff;*/
/*	overflow: hidden;*/
	position: relative;
	max-width: 100vw;
}
a {
	display: inline-block;
	transition: 0.2s ease-in-out;
	color: inherit;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	outline:none;
	text-decoration: none;
	/* vertical-align: middle; */
}
.tel_link a {
	text-decoration: none !important;
}
.tel_linkBtn {
	pointer-events: none;
}

.underline {
	-webkit-text-decoration: underline solid 1px;
	text-decoration: underline solid 1px;
	text-underline-position: under;
	text-underline-offset: 0.1em;
}

p a:not(.linkBtn) ,
a.underline {
	color: var(--purple);
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted 1px;
	text-underline-position: under;
	text-underline-offset: 0.1em;
}


img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	display: block;
	/* margin: auto; */
}

figure {
	margin: 0;
	position: relative;
}
figure img {
	position: relative;
}
figure.coverImg {
	overflow: hidden;
	padding-top: 56%;
	width: 100%;
}
figure.coverImg img {
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
}
figure.coverImg.contain img {
	-o-object-fit: contain;
	   object-fit: contain;
}
figure figcaption.noImage {
	background: #f2faff;
	color: var(--red);
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 2.0rem;
	font-weight: bold;
	position: absolute;
		top: 0;
		left: 0;
	width: 100%;
	height: 100%;
}

.scaleUpImg figure {
	overflow: hidden;
}
a.scaleUpImg:hover {
	opacity: 1;
}
.scaleUpImg img {
	transition: .4s;
}

.round {
	border-radius: 14px;
	overflow: hidden;
}

figure.square {
	display: block;
	width: 100%;
	padding-top: 100%;
}
figure.square img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}



#contents {
	width: 100%;
	position: relative;
	transition: .2s ease-in-out;
	z-index: 1;
}
.innerBox{
	max-width: 1200px;
	margin: 0 auto;
	padding: 70px 0;
	position: relative;
	width: 96%;
	z-index: 1;
}
.innerBox.short {
	max-width: 1000px;
}
.innerBox.wide {
	max-width: 1830px;
}
.innerBox.mediumPadding {
	padding: 60px 0;
}
.innerBox.shortPadding {
	padding: 40px 0;
}

.block {display: block;}
.inb {display: inline-block;}
.relative { position: relative; z-index: 1;}
.flexBox {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}
.flexCenter {
	align-items: center;
	justify-content: center;
}
.flexStart {
	justify-content: flex-start;
}
.flexEnd {
	justify-content: flex-end;
}
.flexWrap {
	flex-wrap: wrap;
}
.flexColumn {
	flex-direction: column;
	justify-content: flex-start;
}
.flex-1 {
	flex: 1;
}
.gridBox {
	display: grid;
}
dl.gridBox {
	grid-template: 'dt dd';
}
.whiteBox {
	background: #fff;
	padding: 30px;
}

p + p {margin-top: 1em;}

.h100 {
	height: 100%;
}
.w100 {
	width: 100%;
}

.mw300 {max-width: 300px; margin: auto;}
.mw400 {max-width: 400px; margin: auto;}
.mw500 {max-width: 500px; margin: auto;}
.mw600 {max-width: 600px; margin: auto;}
.mw700 {max-width: 700px; margin: auto;}
.mw800 {max-width: 800px; margin: auto;}
.mw900 {max-width: 900px; margin: auto;}
.mw1000 {max-width: 1000px; margin: auto;}

input[type="radio"], input[type="checkbox"] {
	display: none;
}

.decoBox {
	position: absolute;
}

.over_hidden {
	overflow: hidden;
}
.hidden {
	display: none;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	#contents {
		min-height: calc(100vh - 480px);
		min-height: calc(100dvh - 480px);
	}
	.innerBox {
		padding: 50px 0;
		width: 94%;
	}
	.innerBox.mediumPadding {
		padding: 40px 0;
	}
	.innerBox.shortPadding {
		padding: 30px 0;
	}

	.hidden-mob {
		display: none;
	}
	.display-mob {
		display: block;
	}

	figure figcaption.noImage {
		font-size: 1.6rem;
	}
	.whiteBox {
		padding: 2em 1.5em;
	}
	.roundBox {
		border-radius: 10px;
		padding: 20px;
	}
	.flexColumn-mob ,
	.flexColumn-tab {
		flex-direction: column;
	}
	dl.gridBox {
		grid-template: 'dt' 'dd';
	}
}

@media screen and (max-width:540px) {
	#contents {
		min-height: calc(100vh - 60px - 98vw);
		min-height: calc(100dvh - 60px - 98vw);
	}
	.innerBox {
		padding: 10vw 0;
		width: calc(100% - 1.8em);
	}
	.innerBox.mediumPadding {
		padding: 8vw 0;
	}
	.innerBox.shortPadding {
		padding: 6vw 0;
	}
	.hidden-small {
		display: none;
	}
	.display-small {
		display: block;
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	#contents {
		min-height: calc(100vh - 470px);
		min-height: calc(100dvh - 470px);
	}
	a:hover {
		opacity: .7;
	}
	a.opacity-1:hover {
		opacity: 1;
	}
	.scaleUpImg:hover img {
		transform: scale(1.1);
	}

	.whiteBox {
		padding: 40px;
	}

	.hidden-pc_d_tab,
	.hidden-pc {
		display: none;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	.flexColumn-tab {
		flex-direction: column;
	}
	.hidden-tab {
		display: none;
	}
	.hidden-pc_d_tab ,
	.display-tab {
		display: block;
	}
}

@media screen and (min-width:1080px) {
	#contents {
		min-height: calc(100vh - 490px);
		min-height: calc(100dvh - 490px);
	}
}

@media screen and (min-width:1280px) {
	.whiteBox {
		padding: 40px 60px 50px;
	}
	.hidden-wide {
		display: none;
	}
	.display-wide {
		display: block;
	}
}

/*====================================================
//NOTE 余白
====================================================*/
.ma-auto {margin: auto !important}
.ma-0 {margin: 0 !important}
.ma-05em {margin: .5em !important}
.ma-10em {margin: 1.0em !important}
.ma-15em {margin: 1.5em !important}
.ma-20em {margin: 2em !important}
.ma-30em {margin: 3em !important}
.mt-0 {margin-top: 0 !important}
.mt-03em {margin-top: .3em !important}
.mt-05em {margin-top: .5em !important}
.mt-08em {margin-top: .8em !important}
.mt-10em {margin-top: 1.0em !important}
.mt-15em {margin-top: 1.5em !important}
.mt-20em {margin-top: 2em !important}
.mt-30em {margin-top: 3em !important}
.ml-0 {margin-left: 0 !important}
.ml-03em {margin-left: .3em !important}
.ml-05em {margin-left: .5em !important}
.ml-10em {margin-left: 1.0em !important}
.ml-15em {margin-left: 1.5em !important}
.ml-20em {margin-left: 2em !important}
.ml-30em {margin-left: 3em !important}
.mr-0 {margin-right: 0 !important}
.mr-02em {margin-right: .2em !important}
.mr-05em {margin-right: .5em !important}
.mr-10em {margin-right: 1.0em !important}
.mr-15em {margin-right: 1.5em !important}
.mr-20em {margin-right: 2em !important}
.mr-30em {margin-right: 3em !important}
.mb-0 {margin-bottom: 0 !important}
.mb-03em {margin-bottom: .3em !important}
.mb-05em {margin-bottom: .5em !important}
.mb-08em {margin-bottom: .8em !important}
.mb-10em {margin-bottom: 1.0em !important}
.mb-15em {margin-bottom: 1.5em !important}
.mb-20em {margin-bottom: 2em !important}
.mb-30em {margin-bottom: 3em !important}

.ma-10 {margin: 10px !important}
.ma-20 {margin: 20px !important}
.ma-30 {margin: 30px !important}
.ma-40 {margin: 40px !important}
.ma-50 {margin: 50px !important}
.mt-10 {margin-top: 10px !important}
.mt-20 {margin-top: 20px !important}
.mt-30 {margin-top: 30px !important}
.mt-40 {margin-top: 40px !important}
.mt-50 {margin-top: 50px !important}
.mt-60 {margin-top: 60px !important}
.mt-70 {margin-top: 70px !important}
.ml-10 {margin-left: 10px !important}
.ml-20 {margin-left: 20px !important}
.ml-30 {margin-left: 30px !important}
.ml-40 {margin-left: 40px !important}
.ml-50 {margin-left: 50px !important}
.mr-10 {margin-right: 10px !important}
.mr-20 {margin-right: 20px !important}
.mr-30 {margin-right: 30px !important}
.mr-40 {margin-right: 40px !important}
.mr-50 {margin-right: 50px !important}
.mb-10 {margin-bottom: 10px !important}
.mb-20 {margin-bottom: 20px !important}
.mb-30 {margin-bottom: 30px !important}
.mb-40 {margin-bottom: 40px !important}
.mb-50 {margin-bottom: 50px !important}
.mb-60 {margin-bottom: 60px !important}
.mb-70 {margin-bottom: 70px !important}

.pa-0 {padding: 0 !important}
.pa-05em {padding: .5em !important}
.pa-10em {padding: 1.0em !important}
.pa-15em {padding: 1.5em !important}
.pa-20em {padding: 2em !important}
.pt-0 {padding-top: 0 !important}
.pt-05em {padding-top: .5em !important}
.pt-10em {padding-top: 1.0em !important}
.pt-15em {padding-top: 1.5em !important}
.pt-20em {padding-top: 2em !important}
.pb-0 {padding-bottom: 0 !important}
.pb-05em {padding-bottom: .5em !important}
.pb-10em {padding-bottom: 1.0em !important}
.pb-15em {padding-bottom: 1.5em !important}
.pb-20em {padding-bottom: 2em !important}

/*====================================================
//class .sa
====================================================*/
.sa {
	opacity: 0;
	transition: all .8s ease;
}
.sa.show {
	opacity: 1;
	transform: none;
}
.sa-lr {
	transform: translate(-40px, 0);
}
.sa-rl {
	transform: translate(40px, 0);
}
.sa-up {
	transform: translate(0, 40px);
}
.sa-down {
	transform: translate(0, -40px);
}
.sa-scaleUp {
	transform: scale(.8);
}
.sa-scaleDown {
	transform: scale(1.2);
}
.sa-rotateL {
	transform: rotate(180deg);
}
.sa-rotateR {
	transform: rotate(-180deg);
}

.sa.slideShow {
	opacity: 1;
	position: relative;
	z-index: 1;
}
.sa.slideShow:before {
	background: #f4f4f4;
	content: '';
	position: absolute;
		top: 0;
		left: 0;
		right: auto;
	transition: .5s ease-in-out;
	width: 0;
	height: 100%;
	z-index: 10;
}
.sa.slideShow.show:before {
	-webkit-animation: anim-slide 1.2s ease-in-out forwards;
	        animation: anim-slide 1.2s ease-in-out forwards;
	-webkit-animation-delay: .4s;
	        animation-delay: .4s;
}
@-webkit-keyframes anim-slide {
	0%   {}
	55%  { width: 100%; left: 0; right: 0;}
	65% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}
@keyframes anim-slide {
	0%   {}
	47%  { width: 100%; left: 0; right: 0;}
	53% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}

.sa.slideShow img,
.sa.slideShow > .box-inner {
	opacity: 0;
}
.sa.slideShow.show img ,
.sa.slideShow.show > .box-inner {
	opacity: 1;
	transition-delay: 1.1s;
}


.sa.slideShow.slide-rl {
	transform: rotate(180deg);
}
.sa.slideShow.slide-rl img {
	transform: rotate(180deg);
}

.sa.slideShow.slide-pink:before {
	background: #f1cfd4;
}
.sa.slideShow.slide-white:before {
	background: #fff;
}


/*====================================================
//class eachTextAnime
====================================================*/
.eachTextAnime {
	opacity: 0;
}
.eachTextAnime.appeartext {
	opacity: 1;
}
.eachTextAnime span {
	opacity: 0;
}
.eachTextAnime.appeartext span {
	-webkit-animation:text_anime_on .4s ease-out forwards;
	        animation:text_anime_on .4s ease-out forwards;
	/* animation-delay: .4s; */
}
@-webkit-keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}


.delay-01 {
	transition-delay: .1s;
}
.delay-02 {
	transition-delay: .2s;
}
.delay-03 {
	transition-delay: .3s;
}
.delay-04 {
	transition-delay: .4s;
}
.delay-05 {
	transition-delay: .5s;
}
.delay-06 {
	transition-delay: .6s;
}

/*====================================================
//NOTE テキスト
====================================================*/
.f-Acroterion {
	font-family: acroterion-jf, 'Noto Serif JP', "游明朝 Medium", "YuMincho Medium", "游明朝体 Medium", "Hiragino Mincho ProN", "MS PMincho", serif;
}
.f-serif {
	font-family: 'Noto Serif JP', "游明朝 Medium", "YuMincho Medium", "游明朝体 Medium", "Hiragino Mincho ProN", "MS PMincho", serif;
}
.f-en_serif {
	font-family: "bickham-script-pro-3", 'Noto Serif JP', "游明朝 Medium", "YuMincho Medium", "游明朝体 Medium", "Hiragino Mincho ProN", "MS PMincho", serif;
}

.shadow_text {
	text-shadow: .02em .02em .15em rgba(9, 142, 143, 0.08);
}

.tate {
	-ms-writing-mode: tb-rl;
	    writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	        text-orientation: upright;
}

.f-05em {font-size: .5em}
.f-06em {font-size: .6em}
.f-07em {font-size: .7em}
.f-08em {font-size: .8em}
.f-09em {font-size: .9em}
.f-10em {font-size: 1.0em}
.f-11em {font-size: 1.1em}
.f-12em {font-size: 1.2em}
.f-13em {font-size: 1.3em}
.f-14em {font-size: 1.4em}
.f-15em {font-size: 1.5em}
.f-16em {font-size: 1.6em}
.f-17em {font-size: 1.7em}
.f-18em {font-size: 1.8em}
.f-20em {font-size: 2.0em}

.f-10 {font-size: 1.0rem}
.f-11 {font-size: 1.1rem}
.f-12 {font-size: 1.2rem}
.f-13 {font-size: 1.3rem}
.f-14 {font-size: 1.4rem}
.f-15 {font-size: 1.5rem}
.f-16 {font-size: 1.6rem}
.f-17 {font-size: 1.7rem}
.f-18 {font-size: 1.8rem}
.f-20 {font-size: 2.0rem}
.f-22 {font-size: 2.2rem}
.f-24 {font-size: 2.4rem}

.lh-10 {line-height: 1.0;}
.lh-12 {line-height: 1.2;}
.lh-14 {line-height: 1.4;}
.lh-16 {line-height: 1.6;}
.lh-18 {line-height: 1.8;}
.lh-20 {line-height: 2.0;}
.lh-20 {line-height: 2.2;}

.ls-0 {letter-spacing: 0;}
.ls-03 {letter-spacing: .03em;}
.ls-05 {letter-spacing: .05em;}
.ls-10 {letter-spacing: .1em;}
.ls-15 {letter-spacing: .15em;}
.ls-20 {letter-spacing: .2em;}
.ls-25 {letter-spacing: .25em;}

small, .small {
	font-size: .8em;
}
big, .big {
	font-size: 1.2em;
}
strong {
	font-weight: bold;
}
sup {
	font-size: .5em;
	vertical-align: .5em;
}
.fuchi2 {
	text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
}
.fuchi3 {
	text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
}
.fuchi5 {
	text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}

.fw-normal {
	font-weight: normal;
}
.fw-light {
	font-weight: 400;
}
.fw-medium {
	font-weight: 500;
}
.fw-semibold {
	font-weight: 600;
}
.fw-bold {
	font-weight: 700;
}
.fw-black {
	font-weight: 900;
}

.txt-left {
	text-align: left;
}
.txt-right {
	text-align: right;
}
.txt-center {
	text-align: center;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.6;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	h1 {font-size: 1.8em;}
	h2 {font-size: 1.6em;}
	h3 {font-size: 1.4em;}
	h4 {font-size: 1.3em;}
	h5 {font-size: 1.2em;}
	h1, h2, h3, h4, h5, h6 {
		/* letter-spacing: .08em; */
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	h1 {font-size: 3.4rem;}
	h2 {font-size: 2.8rem;}
	h3 {font-size: 2.4rem;}
	h4 {font-size: 2.2rem;}
	h5 {font-size: 2.0rem;}
	h1, h2, h3, h4, h5, h6 {
		/* letter-spacing: .1em; */
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	/* h1 {font-size: 3.4rem;}
	h2 {font-size: 3.0rem;}
	h3 {font-size: 2.6rem;}
	h4 {font-size: 2.2rem;}
	h5 {font-size: 2.0rem;} */
}

@media screen and (min-width:1280px) {
	h1 {font-size: 3.6rem;}
	h2 {font-size: 3.0rem;}
	h3 {font-size: 2.6rem;}
	h4 {font-size: 2.3rem;}
	h5 {font-size: 2.1rem;}
}

/*====================================================
//NOTE 装飾系
====================================================*/

.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.linkBtn { /* class linkBtn */
	background: var(--purple);
	/* border: solid 2px var(--purple); */
	border: none;
	border-radius: 0;
	color: #fff;
  cursor: pointer;
	display: inline-table;
	font-size: 1.125em;
	font-weight: bold;
	line-height: 1.4;
	overflow: hidden;
  padding: 1em 2em 1em 1.0em;
	transition: .2s ease-in-out;
  /* width: 100%; */
  width: auto;
		min-width: 390px;
  margin: 0;
  text-align: center;
  position: relative;
	z-index: 1;
}

.smallBtn , .wp-block-button.wp-smallBtn .wp-block-button__link {
	font-size: 1em;
	padding: .6em 1.8em;
	min-width: 260px;
}
.arrowBtn {
	padding-right: 2em;
}
.arrowBtn::before {
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link::after,
.linkBtn::after ,
.arrowBtn::after {
	border: solid currentColor;
	border-width: 2px 2px 0 0 ;
	content: '';
	display: block;
	margin: auto;
	position: absolute;
		top: .5px;
		right: 1.3em;
		bottom: 0;
	transform: rotate(45deg);
	transition: .2s ease-in-out;
	width: .4em;
	height: .4em;
}

.linkBtn.bg-white {
	color: var(--purple);
}
.linkBtn-line {
	background: #1FC755;
}

.wp-block-button.is-style-outline .wp-block-button__link,
main .bodyText .is-style-outline .wp-block-button__link,
.linkBtn-small {
	background: transparent;
	border: solid 1px var(--purple);
	border-radius: 1.5em;
	color: var(--purple);
	cursor: pointer;
	display: inline-table;
	filter: none;
	font-size: inherit;
	font-weight: bold;
	line-height: 1.4;
	opacity: 1;
	padding: .3em 1.5em;
	position: relative;
	text-align: center;
	min-width: 12em;
}

.linkBtn img {
	display: inline-block;
	height: 1em;
	margin-right: .5em;
	transition: .1s ease-in-out;
	vertical-align: -.1em;
}
.link_icon {
	display: inline-block;
	height: .8em;
	margin-left: .5em;
}
.arrow {
	display: inline-block;
	margin: 0 0 0 1em;
	position: relative;
	transition: .2s ease-in-out;
	width: .4em;
	height: .6em;
}
.arrow::before {
	border: solid;
	border-width: 2px 2px 0 0;
	content: '';
	margin: auto;
	position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	transform: rotate(45deg);
	transition: .2s ease-in-out;
	width: .4em;
	height: .4em;
}

i.icon {
	margin: -.3em .5em 0 0;
	width: 20px;
	height: 1.5em;
}

dl.accordion dt ,
dl.menu-accordion dt {
	cursor: pointer;
}
dl.accordion dd ,
dl.menu-accordion dd {
	overflow: hidden;
	transition: .2s ease-in-out;
}
dl.accordion .accordion_close {
	cursor: pointer;
}
.bgBox {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.bgBox img {
	width: 100% !important;
	height: 100% !important;
	-o-object-fit: cover;
	object-fit: cover;

}

.opacity-6 {opacity: .6}
.opacity-8 {opacity: .8}
.opacity-10 {opacity: 1}


/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	main .bodyText .wp-block-buttons {
		display: block;
	}
	main .bodyText .wp-block-buttons .wp-block-button {
		display: block;
		margin: 10px auto !important;
		text-align: center;
	}
	.wp-block-button:not(.is-style-outline) ,
	main .bodyText .wp-block-button:not(.is-style-outline),
	.linkBox {
		text-align: center;
	}
	.wp-block-button:not(.is-style-outline) .wp-block-button__link,
	main .bodyText .wp-block-button:not(.is-style-outline) .wp-block-button__link,
	.linkBtn { /* class linkBtn mobile */
		font-size: 1.1em;
		margin: auto;
		padding: .8em 1.5em;
		width: 100%;
			min-width: 0;
			max-width: 400px;
	}
	.linkBtn.smallBtn {
		padding: 0.5em 1em;
		width: auto;
			min-width: 0;
	}

}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) { /* NOTE linkBtn pc */
	.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
	.linkBtn:hover ,
  a:hover .linkBtn {
		background: var(--r_purple);
		opacity: 1
  }
	.linkBtn.bg-white:hover ,
	a:hover .linkBtn.bg-white {
		background: var(--l_purple);
		filter: none;
	}
	.wp-block-button .wp-block-button__link:before,
	main .bodyText .wp-block-button .wp-block-button__link:before,
	.linkBtn:before {
	}
	.wp-block-button .wp-block-button__link:hover:before,
	main .bodyText .wp-block-button .wp-block-button__link:hover:before,
	.linkBtn:hover:before,
	.btn01 a:hover:before {
	}

	.wp-block-button:not(.is-style-linkBtn-small):not(.is-style-linkBtn-line) .wp-block-button__link:hover:after,
	main .bodyText .wp-block-button:not(.is-style-linkBtn-small):not(.is-style-linkBtn-line) .wp-block-button__link:hover:after,
	.linkBtn:hover::after {
	}
	.is-style-outline .wp-block-button__link:hover,
	main .bodyText .is-style-outline .wp-block-button__link:hover,
	a:hover .linkBtn-small ,
	.linkBtn-small:hover {
		background: var(--l_purple);
		filter: none;
		opacity: 1;
	}
	.arrowBtn:hover::before {
	}
	.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover::after,
	.linkBtn:hover::after,
	.arrowBtn:hover::after {
		right: 1em;
	}
	.linkBtn.bg-transparent:hover {
		background: rgba(0, 0, 0, .2);
		filter: none;
	}
	.linkBtn-line:hover {
		background: #34d568;
	}

	a:hover .arrow::before {
		right: -.5em;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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


ul.markList li {
	position: relative;
	padding-left: 1.2em;
	line-height: 1.5;
	margin: .3em 0;
}
ul.markList li:before {
	position: absolute;
	display: block;
	left: 0;
	top: 0;
}
ul.markList li:after {
	display: none !important;
}
ul.markList.attentionMark li:before {
	content: '\203B';
}
ul.markList.dot li:before {
	content: '\30FB';
}
ul.markList.color_dot li:before {
	background: #DCC37F;
	border-radius: 100px;
	content: '';
	top: calc(.5em - 0px);
	width: .6em;
	height: .6em;
}
ol{
	counter-reset:number; /* 名前を付けたカウンターをリセット */
	list-style:none; /* olが数字を付けることをキャンセル */
	margin:0;
	padding:0;
}
ol > li{
	padding-left: 1.7em;
	line-height: 1.6;
	margin: .7em 0;
	position: relative;
}
ol > li:before{
	counter-increment: number;
	content: counter(number);
	position: absolute;
	top: 0em;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.4em;
	height: 1.4em;
	line-height: 1;
}
ol.circleMarkList > li:before{
	border: solid 1px;
	border-radius: 100%;
	font-size: .9em;
	top: .05em;
}

.circleBox {
	border-radius: 100%;
}

.markerline {
	background: linear-gradient(transparent 80%, #FFFF00 80%, #FFFF00 100%);
}
.markerline-orange {
	background: linear-gradient(transparent 80%, #FF9900 80%, #FF9900 100%);
}

.squareMark {
	display: inline-block;
	padding: .2em .4em .3em;
	line-height: 1;
}

.circleMark {
	border-radius: 100px;
	line-height: 1.4;
	padding: .15em 1em .2em;
}


/*/ NOTE 【特殊装飾】 */
.fl-pink::first-letter {
	color: var(--pink);
	font-size: 1.6em;
}
.border_dot_deco {
	padding-bottom: .2em;
	position: relative;
}
.border_dot_deco::after {
	border-top: dotted 6px var(--beige);
	content: '';
	display: block;
	margin: auto;
	position: absolute;
		bottom: 0;
		left: 0;
	width: 100%;
	height: 0;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

@media screen and (min-width:540px) and (max-width:769px) {
}

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


/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}
/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1000px) and (max-width:1500px) {
}

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

/*====================================================
////NOTE カラー
====================================================*/

.bg-white {
	background: #fff;
}
.bg-black {
	background: var(--red);
	color: #fff;
}
.bg-pink {
	background: var(--pink);
}
.bg-beige {
	background: var(--beige);
}
.bg-l_beige {
	background: var(--l_beige);
}
.bg-l_blue {
	background: var(--l_blue);
}
.bg-r_purple {
	background: var(--r_purple);
	color: #fff;
}
.bg-w_purple {
	background: var(--w_purple);
}
.bg-l_purple {
	background: var(--l_purple);
}
.bg-bright_purple {
	background: var(--bright_purple);
	color: #fff;
}
.bg-purple {
	background: var(--purple);
	color: #fff;
}
.bg-d_purple {
	background: var(--d_purple);
}
.bg-navy {
	background: var(--navy);
	color: #fff;
}
.bg-black {
	background: var(--black);
	color: #fff;
}

.bg-grd {
	background: var(--grd);
}

.black {
	color: var(--black);
}
.white {
	color: #fff;
}
.red, .has-red-color {
	color: var(--red);
}
.pink, .has-pink-color {
	color: var(--pink);
}
.l_beige, .has-l_beige-color {
	color: var(--l_beige);
}
.beige, .has-beige-color {
	color: var(--beige);
}
.r_purple, .has-r_purple-color {
	color: var(--r_purple);
}
.w_purple, .has-w_purple-color {
	color: var(--w_purple);
}
.l_purple, .has-l_purple-color {
	color: var(--l_purple);
}
.bright_purple, .has-bright_purple-color {
	color: var(--l_purple);
}
.purple, .has-purple-color {
	color: var(--purple);
}
.d_purple, .has-d_purple-color {
	color: var(--d_purple);
}
.navy, .has-navy-color {
	color: var(--navy);
}

.border-none {
	border: none;
}

.shadowBox {
	box-shadow: 0 0 20px rgba(141, 192, 244, 0.3);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	a.shadowBox:hover {
		box-shadow: 0 0 1.2em rgba(238, 132, 139, 0.5);
	}
}

/*====================================================
//id form
====================================================*/
input, button, select {
	margin: 0;
	padding: 0;
	background: none;
	background-image: none;
	background-position-x: initial;
	background-position-y: initial;
	background-size: initial;
	background-repeat-x: initial;
	background-repeat-y: initial;
	background-attachment: initial;
	background-origin: initial;
	background-clip: initial;
	background-color: initial;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: inherit;
	cursor: pointer;
}
input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="password"],input[type="url"],input[type="number"], select, textarea {
	-webkit-appearance: none;
	background: #fff;
	border: solid 1px var(--d_purple2);
	display: block;
	font-family: var(--font_family);
	font-size: 1.6rem;
	line-height: 1.6;
	min-height: 1.8em;
	padding: 10px;
	width: 100%;
	flex: 1;
	transition: .2s ease-in-out;
}
textarea {
	resize: vertical;
	min-height: 80px;
	width: 100%;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, select:focus, textarea:focus {
	border-color: var(--r_purple);
	/*
	-webkit-box-shadow: 0 0 5px rgba(83, 37, 15, 0.5);
	box-shadow: 0 0 5px rgba(83, 37, 15, 0.5);
	*/
}
input[type="file"],
label {
	cursor: pointer;
}
form label {
	position: relative;
	line-height: 1.4;
	display: inline-block;
}

input[type="checkbox"] + span ,
input[type="checkbox"] + label {
	position: relative;
	padding-left: 2em;
	display: inline-block;
}
input[type="checkbox"] + span:before ,
input[type="checkbox"] + label:before {
	position: absolute;
	content: '';
	width: 15px;
	height: 15px;
	border: solid 1px;
	border-radius: 3px;
	border-color: rgba(83, 37, 15, 0.2);;
	top: .2em;
	left: 0px;
	background: #fff;
	transition: .2s ease-in-out;
}
input[type="checkbox"] + label:before {
	top: -.15em;
}
input[type="checkbox"] + span:after ,
input[type="checkbox"] + label:after {
	position: absolute;
	content: '';
	width: 11px;
	height: 7px;
	border: solid;
	border-width: 0 0 3px 3px;
	border-color: transparent transparent #b23750 #b23750;
	transform: rotate(-45deg);
	top: .2em;
	left: 3px;
	opacity: 0;
	transition: .2s ease-in-out;
}
input[type="checkbox"] + label:after {
	top: -2px;
}
input[type="checkbox"]:checked + span:after ,
input[type="checkbox"]:checked + label:after {
	opacity: 1;
}
input[type="radio"] + span ,
input[type="radio"] + label {
	position: relative;
	padding-left: 30px;
}
input[type="radio"] + span:before,
input[type="radio"] + label:before {
	position: absolute;
	content: '';
	width: 12px;
	height: 12px;
	border: solid 1px;
	border-radius: 100%;
	border-color: #ccc;
	top: 0;
	left: 0px;
	background: #fff;
	transition: .2s ease-in-out;
}
input[type="radio"] + span:after,
input[type="radio"] + label:after {
	position: absolute;
	content: '';
	width: 8px;
	height: 8px;
	top: 3px;
	left: 3px;
	border-radius: 100%;
	opacity: 0;
	transition: .2s ease-in-out;
}
input[type="radio"]:checked + span:after,
input[type="radio"]:checked + label:after {
	opacity: 1;
	background: #b23750;
}
.select {
	position: relative;
}
.select:before {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: solid 4px transparent;
	border-top-color: #53250F;
	border-top-width: 6px;
	border-bottom-width: 0;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	pointer-events: none;
	z-index: 100;

}
#confirm .select:before {
	display: none;
}
select {
	cursor: pointer;
}
.tel input[type="text"] {
	width: calc(100% / 3 - 10px);
	max-width: 100px;
}

/*====================================================
////id .yt
====================================================*/

.yt,
.wp-block-embed__wrapper {
	position: relative;
	height: 0;
	padding: 0px 0 56.3%;
	overflow: hidden;
}
.yt iframe,
.wp-block-embed__wrapper iframe {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100%;
}


/*====================================================
////id 【header】
====================================================*/
header {
	transition: .3s ease-in-out;
}
header .headerBox {
	background: rgba(255, 255, 255, .85);
	position: fixed;
		top: 0;
		left: 0;
	transition: .2s ease-in-out;
	width: 100%;
	z-index: 10000;
}
header .header_logo a {
	align-items: center;
}
header img {
	margin: 0;
}
header .menu li a:hover {
	color: var(--purple);
	opacity: 1;
}
header .menu .sub-menu-outer {
	overflow: hidden;
	transition: .2s ease-in-out;
}

header .menu .counseling_reserve img {
	vertical-align: -.2em;
	width: 1.2em;
}

header .btnBox {
	grid-gap: .4em .3em;
}
header .btnBox .item {
	height: 2.4em;
}
header .btnBox .item-sns{
	border: solid 1px var(--d_purple2);
	grid-gap: .5em;
	padding: 0 1em;
}
header .btnBox img {
	height: 1.2em;
}
header .btnBox .cart {
	width: 100%;
}
header .btnBox .cart a {
	grid-gap: .5em;
	height: 100%;
}
header .btnBox .cart .text {
	padding-bottom: .4em;
}
/* ////////// mobile ////////// NOTE header mobile */
@media screen and (max-width: 959.8px) {
	header {
		height: 60px;
	}
	header.hide {
		top: -130px;
	}
	header .headerBox {
		height: 60px;
	}
	.menu-open header .headerBox {
		background: rgba(255, 255, 255, 1);
	}
	header .headerBox.hide {
		/* opacity: 0; */
	}
	/* header.global .headerBox,
	header.menu-open .headerBox {
		background: rgba(255, 255, 255, .8);
	} */
	header .innerBox {
		align-items: center;
		padding: 5px 0;
		height: 100%;
		max-width: none;
	}
	header .header_logo {
		height: 100%;
		justify-content: flex-start;
		width: calc(100% - 120px);
	}
	header .header_logo a {
		height: 80%;
	}
	header .menuBtn {
		background: transparent;
		cursor: pointer;
		flex-direction: column;
		position: fixed;
			top: 0;
			right: 10px;
		transition: .2s ease-in-out;
		width: 40px;
		height: 60px;
		z-index: 10;
	}
	header .menuBtn .humberger {
		width: 30px;
		height: 20px;
		position: relative;
		margin: 0;
	}
	header .menuBtn .humberger span {
		background: var(--purple);
		border-radius: 10px;
		content: '';
		margin: auto;
		opacity: 1;
		position: absolute;
			left: 0;
			right: 0;
		transition: .4s ease-in-out;
		width: 100%;
		height: 2px;
	}
	header .menuBtn .humberger span:nth-child(1) {
		top: 0;
		bottom: 0;
	}
	header .menuBtn .humberger span:nth-child(2) {
		top: 0;
		/* -webkit-transform-origin: right top; */
	}
	header .menuBtn .humberger span:nth-child(3) {
		bottom: 0;
		/* transform-origin: right bottom; */
	}
	header .maskBox {
		background: rgba(0, 0, 0, .4);
		opacity: 0;
		pointer-events: none;
		position: fixed;
			top: 59px;
			left: 0;
		transition: .5s ease-in-out;
		width: 100%;
		height: 150%;
	}
	header .menuBox {
		background: var(--l_beige);
		overflow-y: auto;
		padding: 40px .9em;
		pointer-events: none;
		position: fixed;
			top: 59px;
			left: -100%;
			bottom: 0;
		transition: .5s ease-in-out;
		width: 100%;
			max-width: 320px;
		height: auto;
		min-height: calc(100vh - 126px);
		z-index: 1;

		overflow-y: scroll;
		-ms-overflow-style: none;    /* IE, Edge 対応 */
		scrollbar-width: none;       /* Firefox 対応 */
	}
	header .menuBox::-webkit-scrollbar {  /* Chrome, Safari 対応 */
		display:none;
	}
	header .menu-outer.open .menuBtn {
		transition: .2s ease-in-out;
	}
	header .menu-outer.open .humberger span {
		width: 100%;
	}
	header .menu-outer.open .humberger span:nth-child(1) {
		opacity: 0;
	}
	header .menu-outer.open .humberger span:nth-child(2) {
		/* top: -20px;
		bottom: -20px; */
		top: calc(50% - 1px);
		transform: rotate(-145deg);
	}
	header .menu-outer.open .humberger span:nth-child(3) {
		bottom: calc(50% - 0px);
		transform: rotate(145deg);
	}
	header .menu-outer.open .humberger span:nth-child(2)::before,
	header .menu-outer.open .humberger span:nth-child(3)::before {
		display: none;
	}
	header .menu-outer.open .maskBox {
		opacity: 1;
		pointer-events: auto;
	}
	header .menu-outer.open .menuBox {
		pointer-events: auto;
		opacity: 1;
		left: 0;
	}

	header .menuBox {
		display: block;
	}
	header .menuBox .imgBox {
		grid-gap: .4em;
		margin-bottom: 2em;
	}
	header .menuBox-inner {
		margin: auto;
		width: 100%;
	}
	header .menuBox ul {
		color: var(--purple);
		display: grid;
			place-items: center;
		text-align: left;
	}
	header .menu-outer .menu-pc {
		display: none;
	}
	header .menuBox li {
		padding: .3em 0;
		position: relative;
		width: 100%;
	}
	header .menuBox li .sub-menu-btn {
		cursor: pointer;
		display: block;
		margin: auto;
		position: absolute;
			top: .3em;
			right: 0;
		width: 2em;
		height: 2em;
	}
	header .menuBox li .sub-menu-btn::before,
	header .menuBox li .sub-menu-btn::after {
		border-top: solid 2px var(--purple);
		content: '';
		margin: auto;
		position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
		transition: .2s ease-in-out;
		width: 1.0em;
		height: 0;
	}
	header .menuBox li .sub-menu-btn::after {
		transform: rotate(90deg);
	}
	header .menuBox li.open .sub-menu-btn::before {
		transform: rotate(180deg);
	}
	header .menuBox li.open .sub-menu-btn::after {
		opacity: 0;
		transform: rotate(180deg);
	}
	header .menuBox .sub-menu li {
		font-size: .9em;
		font-weight: 500;
	}
	header .menuBox li a {
		display: block;
		pointer-events: auto;
		position: relative;
	}
	header .menuBox li a:hover {
		color: inherit;
	}
	header .menuBox li.small a {
		font-size: 1.8rem;
	}
	header .btnBox {
		grid-gap: .5em;
	}
	header .menuBox li.linkBtn {
		margin: .5em 0;
		min-width: 0;
		overflow: hidden;
		padding: 0;
	}
	header .menuBox li.linkBtn a {
		padding: 1em 3em;
		width: 100%;
	}

	header .menu .counseling_reserve {
		display: none;
	}

	header .btnBox {
		margin: 2em auto 0 ;
		width: 100%;
		max-width: 500px;
	}
	header .btnBox .linkBtn {
		font-size: 1.3em;
		margin-top: 2.0em;
		width: 100%;
	}

	header .btnBox .cart a {
		background: transparent;
		pointer-events: auto;
		position: fixed;
			top: 0;
			right: 60px;
		width: 40px;
		height: 60px;
	}
	header .btnBox .cart .text {
		display: none;
	}
	header .btnBox .cart img {
		width: 30px;
		height: auto;
	}
}

@media screen and (max-width:540px) {
	header .menu .counseling_reserve {
		opacity: 0;
		padding: 0;
		position: fixed;
			left: 10px;
			bottom: 10px;
		transition: .3s ease-in-out;
		width: calc(100% - 70px);
		height: 40px;
	}
}

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


/* ////////// PC ////////// NOTE header PC */
@media print, screen and (min-width: 960px) {
	header {
		height: 150px;
	}
	header .headerBox {
		position: fixed;
			top: 0;
			left: 0;
			right: 0;
		transition: .4s ease-in-out;
		width: 100%;
		height: 150px;
		z-index: 9000;
	}
	header .headerBox:hover {
		background: rgba(255, 255, 255, 1);
	}
	header.hide {
		top: -180px;
	}
	header .innerBox {
		align-items: center;
		border-bottom: solid 1px var(--purple);
		grid-template-rows: 100px 50px;
		height: 100%;
		margin: auto;
		padding: 0 ;
	}
	header .header_logo {
		border-bottom: solid 1px var(--purple);
		height: 100%;
	}
	header .header_logo img {
		height: 70px;
	}
	header .header_logo a:hover {
		color: inherit;
		opacity: .8;
	}
	header .menuBox {
		align-items: center;
		grid-template-columns: 1fr auto;
	}
	header .menuBox .imgBox {
		display: none;
	}
	header .menu-outer .menu {
		display: flex;
			align-items: center;
			flex-wrap: wrap;
			justify-content: center;
		grid-gap: 0 1.8em;
	}
	header .menu-outer .menu-mob {
		display: none;
	}
	header .menu-outer {
		flex: 1;
	}
	header .menu li {
		position: relative;
	}
	header .menu .mob_menu {
		display: none;
	}
	header .menu li a {
		font-size: 1.4rem;
		line-height: 1.3;
		margin: 0;
		opacity: 1;
		padding: .2em 0;
		position: relative;
	}
	header .menu li a:hover {
		color: var(--r_purple)
	}
	header .menu li > .sub-menu-outer {
		position: absolute;
			top: 100%;
			left: 0;
		white-space: nowrap;
	}
	header .menu .sub-menu {
		background: #fff;
		padding: .5em 1em .5em 1.5em;
	}
	header .menu .sub-menu li {
		font-weight: 500;
		margin: .3em 0;
	}

	header .menu .counseling_reserve a {
		border-radius: 1.5em;
		padding: .5em 1.5em;
	}
	header .menu .counseling_reserve a:hover {
		filter: brightness(1.15);
		color: #fff;
	}

	header .btnBox {
		grid-template-columns: auto auto;
		position: absolute;
			top: 0;
			right: 0;
		place-content: center;
		place-items: center;
		height: 100px;
	}
	header .btnBox img {
		opacity: .7;
	}
	header .btnBox .cart {
		grid-column: span 2;
	}
	header .btnBox .cart a:hover {
		background: var(--r_purple);
		opacity: 1;
	}
	header .btnBox .cart img {
		filter: brightness(10);
	}

}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:1080px) {
}

@media screen and (min-width:960px) and (max-width:1280px) {
	header .header_logo {
		justify-content: flex-start;
	}
}

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

@media screen and (min-width:1280px) {
	header .headerBox {
	}
	header .header_logo {
	}
	header .menu-outer {
		font-size: 1.6rem;
	}
	header .menu-outer .menu-header-container .menu {
		grid-gap: 0 3em;
	}
}
@media screen and (min-width:1480px) {
	header .menu-outer .menu-header-container .menu {
		grid-gap: 0 5em;
	}
}


/*====================================================
////id  loader
====================================================*/
.is-hide {
	display: none;
}
/* ローディング画面をフェードアウト */
.fadeout-bg {
	transition-property: opacity;
	transition-delay: .8s;
	transition-duration: 1.7s;
	opacity: 0;
	pointer-events: none;
}
/* ローダーをフェードアウト */
.fadeout-loader {
	transition-property: opacity;
	transition-delay: .8s;
	transition-duration: 1.7s;
	opacity: 0;
	pointer-events: none;
}
/* ローディング画面 */
#loader-bg {
	background: #fff;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
}
#loader {
	height: 120px;
	left: 50%;
	margin-left: -60px;
	margin-top: -60px;
	position: fixed;
	top: 50%;
	width: 120px;
}


/*====================================================
////class .slick
====================================================*/
.slider{
  display: none;
}
.slick-track {
  display: flex;
}
.slick-slide {
  height: auto !important;
}
.slider.slick-initialized{
  display: block; /*slick-initializedが付与されたら表示*/
}
.slick-dotted {
}
.slick-dotted.slick-slider {
	margin-bottom: 40px;
	padding-bottom: 0px;
}
.slick-dots {
	display: flex;
		justify-content: center;
	height: 20px;
	margin: auto;
	position: absolute;
		left: 0;
		right: 0;
		bottom: -40px;
}
.slick-dots li {
	width: auto;
	height: auto;
	margin: 0 8px;
	padding: 0;
}
.slick-dots li::before {
	display: none;
}
.slick-dots li button {
	background: none;
  border: none;
	cursor: pointer;
	outline: none;
	overflow: hidden;
	padding: 0;
	position: relative;
  text-indent: -9999px;
	width: 20px;
	height: 20px;
}
.slick-dots li button:before {
	background: var(--w_purple);
	border-radius: 10px;
	content: '';
	margin: auto;
	opacity: 1;
	position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	transition: .2s ease-in-out;
	width: 13px;
	height: 13px;
}
.slick-dots li.slick-active button:before {
	background: var(--purple);
	opacity: 1;
}

.slick-prev ,
.slick-next {
	background: rgba(188, 181, 217, 0.6);
	border: none;
	border-radius: 100%;
	margin: auto;
	overflow: hidden;
	position: absolute;
		top: 0;
		bottom: 0;
	transition: .2s ease-in-out;
	width: 47px;
	height: 47px;
	z-index: 1000;
}
.slick-prev {
	left: 0;
}
.slick-next {
	right: 0;
}
.slick-prev:hover ,
.slick-next:hover {
/*	background: #fff;*/
	opacity: 1;
}
.slick-prev {
	left: 0;
}
.slick-next {
	right: 0;
}

.slick-prev * {
	display: none;
}
.slick-prev:before ,
.slick-next:before {
	background: var(--purple);
	border: none;
	border-radius: 2px;
	content: '';
	margin: auto;
	position: absolute;
		left: 0;
		right: 0;
		top: calc(50% - 1px);
	transition: .2s ease-in-out;
	width: 13px;
	height: 2px;
}
.slick-prev:before {
	transform: rotate(-40deg);
	transform-origin: left top;
}
.slick-next:before {
	transform: rotate(40deg);
	transform-origin: right top;
}
.slick-prev:after ,
.slick-next:after {
	background: var(--purple);
	border: none;
	border-radius: 2px;
	content: '';
	margin: auto;
	position: absolute;
		bottom: 50%;
		left: 0;
		right: 0;
	transition: .2s ease-in-out;
	width: 13px;
	height: 2px;
}
.slick-prev:after {
	transform: rotate(40deg);
	transform-origin: left bottom;
}
.slick-next:after {
	transform: rotate(-40deg);
	transform-origin: right bottom;
}
.slick-arrow.slick-disabled {
	opacity: 0;
}


/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.slick-dots li {
		margin: 0 4px;
	}
	.slick-dots li button:before {
		width: 10px;
		height: 10px
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {

}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	/* .slick-prev {
		transform: scale(.8);
		transform-origin: left;
	}
	.slick-next {
		transform: scale(.8);
		transform-origin: right;
	} */
}

@media screen and (min-width:1550px) {
	.slick-prev ,
	.slick-next {
	}
	.slick-prev {
	}
	.slick-next {
	}
	.slick-prev::before ,
	.slick-prev::after ,
	.slick-next::before ,
	.slick-next::after {
		width: 14px;
	}
}

/*====================================================
////class .headBox
====================================================*/
.headBox {
	position: relative;
	z-index: 2;
}
.headBox .en_jp .jp {
	font-size: .53em;
}
.headBox .en_jp .jp::before {
	content: '/';
	display: inline-block;
	text-align: center;
	vertical-align: -.1em;
	width: 1em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

@media screen and (max-width:540px) {
	.headBox .en_jp .en {
	}
	.headBox .en_jp .jp {
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.headBox .en_jp {
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:960px) and (max-width:1080px) {
}

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

/*====================================================
////class .mw_wp_form
====================================================*/
.mw_wp_form .backBtn {
	display: inline-block;
	position: relative;
}
.mw_wp_form_input .confirmation ,
.mw_wp_form_input .backBtn {
	display: none !important;
}
.mw_wp_form_confirm .input ,
.mw_wp_form_confirm .select:before ,
.mw_wp_form_confirm .consentBox {
	display: none !important;
}



/*====================================================
////class .formBox
====================================================*/

.formBox {
	/*    text-align: center;*/
	max-width: 700px;
	margin: auto;
}
.formBox .formItem {
	display: flex;
	flex-wrap: wrap;
	/* overflow: hidden; */
	width: 100%;
}
.formBox .formItem dt .attentionColor {
	margin-left: .5em;
}
.formBox .formItem .mwform-tel-field {
	display: flex;
	margin-left: -3px;
	align-items: center;
}
.formBox .formItem .mwform-tel-field input{
	margin: 0 3px;
}
.formBox .formItem input[type="number"] {
	width: 100px;
}
.formBox .linkBtn {
	transition: .2s ease-in-out;
	/*    padding: 0;*/
}
.formBox .linkBtn {
	font-size: 1.5rem;
}

.formBox input[type="submit"].linkBtn {
	/* cursor: pointer;
	display: block;
	letter-spacing: .1em;
	margin: 0 auto;
	padding: 20px 35px;
	position: relative;
	transition: .2s ease-in-out;
	width: 100%;
	max-width: 300px;
	height: auto; */
}
.formBox .backBtn {
	/* margin-top: 30px; */
	position: relative;
}
.formBox .backBtn .linkBtn-small {
	padding: 0;
}
.formBox .backBtn .linkBtn-small:after {
	transform: rotate(-135deg);
	right: auto;
	left: 25px;
}
.formBox .backBtn .linkBtn-small:hover:after {
	left: 15px !important;
}
.formBox .backBtn input[type="submit"] {
	background: transparent;
	color: inherit;
	display: inline-block;
	font-size: 1.4rem;
	margin: 0 !important;
	min-width: 140px;
/*	padding: .2em 20px .1em 40px;*/
	transition: .2s ease-in-out;
}
.formBox .linkBtn:hover input {
}
.formBox dd {
	position: relative;
	text-align: left;
}
.mw_wp_form .formBox .error {
	bottom: -7px;
	background: #eb9090;
	color: #fff;
	display: inline-block;
	font-size: 1.2rem;
	font-weight: bold;
	margin-top: 0;
	padding: 1px 10px 1px 15px;
	position: relative;
}
.mw_wp_form .formBox .error:before {
	border: solid transparent;
	border-width: 0 5px 10px 5px;
	border-bottom-color: #eb9090;
	content: '';
	margin: auto;
	position: absolute;
		top: -10px;
		left: 20px;
	width: 0;
	height: 0;
}
.mw_wp_form .formBox .horizontal-item + .horizontal-item {
	margin-left: 0;
	display: block;
	margin: 5px 0;
}
.formBox .consentBox {
	align-items: flex-start;
	max-width: 500px;
	margin: 30px auto;
	/*    font-size: 1.3rem;*/
}
.formBox .consentBox div {
	position: relative;
	padding-bottom: 16px;
}
.formBox .consentBox .mwform-checkbox-field {
	display: block;
}
/*
.formBox .backBtn {
margin-top: -10px;
}
*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.formBox .formItem dt {
		text-align: left;
		margin: 15px 0 5px;
		font-weight: bold;
		position: relative;
	}
	.formBox .formItem dd {
		text-align: left;
		margin-bottom: 10px;
		padding: 0 0 1em 0 !important;
		width: 100%;
	}
	.mw_wp_form .formBox .error {
		/*		bottom: -2em;*/
		left: 0;
		display: block;
		width: 100%;
		padding-left: 1em;
	}
	#confirm .formBox dd {
		padding-left: 1em;
	}
	.formBox .consentBox {
		align-items: stretch;
		flex-direction: column;
	}
}

@media screen and (min-width:480px) and (max-width:769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.formBox .formItem {
		grid-template: 'dt dd' / 180px 1fr;
	}
	.formBox .formItem dt {
		padding: 20px 0 16px 0;
		position: relative;
		width: 200px;
	}
	.mw_wp_form_confirm .formBox dd {
		position: relative;
	}
	.mw_wp_form_confirm .formBox dd:after {
		position: absolute;
		content: '';
		right: 0;
		bottom: 0;
		width: calc(100% + 200px);
		height: 0;
		border-top: solid 1px #ccc;
	}
	/*
	.mw_wp_form_confirm .formBox dt:last-of-type:after {
	display: none;
}
	*/
	.formBox .formItem dd {
		min-height: 60px;
		padding: 10px 0;
		width: calc(100% - 200px);
	}
	.mw_wp_form_confirm .formBox .formItem dt,
	.mw_wp_form_confirm .formBox .formItem dd {
		padding: 20px 0;
	}
	.formBox dd .dateBox {
		width: calc(50% - 5px);
	}
	.formBox .error {
	}
	.formBox .btn-outer:hover:before {
		left: 0;
	}
	.formBox .backBtn:hover:before ,
	.formBox .backBtn input:hover {
		/*			color: #ea674a;*/
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

/*====================================================
////id #ui-datepicker-div
====================================================*/
#ui-datepicker-div.ui-widget-content {
	border-radius: 0;
	font-family: 'Kumbh Sans', "游ゴシック体 Medium", "YuGothic Medium", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
#ui-datepicker-div .ui-widget-header {
	border: none;
	background: transparent;
}
#ui-datepicker-div.ui-datepicker .ui-datepicker-prev,
#ui-datepicker-div.ui-datepicker .ui-datepicker-next {
	cursor: pointer !important;
}
#ui-datepicker-div.ui-datepicker .ui-datepicker-prev:before,
#ui-datepicker-div.ui-datepicker .ui-datepicker-next:before {
	border: solid #000;
	content: '';
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 12px;
	height: 12px;
	transform: rotate(45deg);
}
#ui-datepicker-div.ui-datepicker .ui-datepicker-prev:before {
	border-width: 0 0 1px 1px;
	left: 10px;
}
#ui-datepicker-div.ui-datepicker .ui-datepicker-next:before {
	border-width: 1px 1px 0 0;
	right: 10px;
}
#ui-datepicker-div .ui-widget-header .ui-state-hover,
#ui-datepicker-div .ui-widget-header .ui-state-focus {
	border: none;
	background: transparent;
}
#ui-datepicker-div.ui-datepicker .ui-datepicker-prev span,
#ui-datepicker-div.ui-datepicker .ui-datepicker-next span {
	display: none;
}
#ui-datepicker-div .ui-state-default,
#ui-datepicker-div .ui-widget-content .ui-state-default {
	background: #fff;
	border-color: #1792D4;
}
#ui-datepicker-div  {}
#ui-datepicker-div  {}
#ui-datepicker-div  {}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

/*====================================================
////class .wp-block-table
====================================================*/
.bodyText .wp-block-table {
	margin: 1.5em 0;
}
table ,
.bodyText .wp-block-table table {
	border: solid 1px var(--purple);
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.6;
	vertical-align: middle;
	width: 100%;
}
table thead ,
.wp-block-table thead {
	border: none;
	/* border-bottom-width: 2px; */
}
table thead th ,
table tr td ,
.wp-block-table thead th ,
.wp-block-table tr td {
	background: #fff;
	border: none;
	padding: .7em 1.2em;
}
table thead th ,
.wp-block-table thead th {
	background: var(--purple);
	color: #fff;
	margin-bottom: 2px;
}
table thead th:not(th:last-child) ,
.wp-block-table thead th:not(th:last-child) {
	border-right: solid 1px #fff;
}
table tbody tr:not(tr:first-child) td ,
.wp-block-table tbody tr:not(tr:first-child) td {
	border-top: dotted 1px var(--purple);
}
table tbody td:not(td:last-child) ,
.wp-block-table tbody td:not(td:last-child) {
	border-right: dotted 1px var(--purple);
}
table tr td a ,
.wp-block-table tr td a {
	color: var(--b_navy);
	-webkit-text-decoration: underline dotted 1px var(--b_navy);
	text-decoration: underline dotted 1px var(--b_navy);
	text-underline-position: under;
	text-underline-offset: 0.2em;
}
table tr td .tel_link a ,
.wp-block-table tr td .tel_link a {
	color: inherit;
}

table tfoot ,
.wp-block-table tfoot {
	border: none;
}
table tfoot td ,
.wp-block-table tfoot td {
	background: var(--l_purple);
	border-top: solid 1px var(--purple);
	text-align: center;
}
table tfoot td:not(td:last-child) ,
.wp-block-table tfoot td:not(td:last-child) {
	border-right: solid 1px var(--purple);
}
table figcaption ,
.wp-block-table figcaption {
	font-size: .8em;
	margin: .5em 0 0 1em;
}

table.responsive th,
.wp-block-table.responsive td:first-child {
	background: var(--wl_purple);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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


/* ////////// mobile ////////// */
@media screen and (max-width: 768px) {
	table.responsive,
	.wp-block-table.responsive table ,
	table.responsive tbody,
	.wp-block-table.responsive table tbody,
	table.responsive tr,
	.wp-block-table.responsive table tr,
	table.responsive td,
	.wp-block-table.responsive table td {
		display: block;
	}
	table.responsive,
	.wp-block-table.responsive table {
		border: none;
	}
	table.responsive thead,
	.wp-block-table.responsive thead {
		display: none;
	}
	table.responsive tbody,
	.wp-block-table.responsive tbody {
		display: block;
	}
	table.responsive tr,
	.wp-block-table.responsive tr {
		background: #fff;
		margin-bottom: 15px;
		position: relative;
		width: 100%;
	}
	table.responsive th,
	.wp-block-table.responsive td:first-child {
		border: none;
		font-weight: bold;
		padding: 10px 15px;
		width: 100%;
	}
	table.responsive td,
	.wp-block-table.responsive td {
		border: none !important;
		/* padding: 15px 8px 15px 120px; */
		padding: 10px 15px;
		text-align: left;
		transition: .4s ease;
		width: 100%;
	}
	table.responsive td.price,
	.wp-block-table.responsive td.price {
		text-align: right;
	}
	table.responsive td:before {
		color: #000;
		content: attr(data-label);
		font-weight: normal;
		padding-top: .25em;
		position: absolute;
		left: 18px;
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	table.responsive td.blank .blank_line {
		background: #fff;
		display: block;
		margin: -8px auto -8px -12px;
		position: relative;
		width: 3px;
		height: calc(100% + 16px);
		z-index: 1;
	}

}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

/*====================================================
////class .tabBox
====================================================*/
.tabBox {
	overflow: hidden;
	position: relative;
}
.tabBox .tabArea {
	grid-gap: 4px;
	position: relative;
	z-index: 5;
}
.tabBox .tabArea li {
	background: var(--l_gray);
	border: solid 1px var(--gray);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	height: 50px;
	line-height: 1.2;
	padding: 5px;
}
.tabBox .tabArea li.current {
	background: #fff;
	border-bottom-color: #fff;
	cursor: default;
	pointer-events: none;
}
.tabBox .tabArea li a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	width: 100%;
	height: 100%;
}
.tabBox .tabArea li.current a {
	pointer-events: none;
}
.tabBox .contentArea {
	background: #fff;
	border: solid 1px var(--gray);
	margin-top: -1px;
	position: relative;
	transition: .4s all;
}
.tabBox .contentArea .tab_content {
	transition: 1.2s all;
	transition-delay: .4s;
}
.tabBox .contentArea .tab_content:not(.current) {
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: .6s all;
	transition-delay: 0;
	width: 100%;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 768px) {
	.tabBox .tabArea {
		display: flex;
	}
	.tabBox .tabArea .tab {
		flex: 1;
		font-size: 1.1rem;
		height: auto;
		min-height: 40px;
		padding: 6px 3px;
	}
	.tabBox .contentArea .tab_content {
		padding: 1.5em 1em;
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.tabBox .contentArea .tab_content {
		padding: 2em;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:959px) {
}

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

/*====================================================
//// id mapBox
====================================================*/
.map-outer {
	width: 100%;
	height: 100%;
}
.mapBox iframe {
	margin: auto;
	position: absolute;
		top: -200px;
	width: 100%;
	height: calc(100% + 400px);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.mapBox .box-inner {
		width: 100%;
		height: 90vw;
			max-height: 300px;
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.mapBox .box-inner {
		width: 100%;
		height: 500px;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

/*====================================================
//// id faq_layout
====================================================*/
.faq_layout {
	display: grid;
}
.faq_layout .faqBox {
	grid-template-columns: auto 1fr;
}
.faq_layout .faqBox .alphabet {
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 1.25em;
	font-weight: bold;
	margin-right: 1em;
	letter-spacing: 0;
	line-height: 1;
	width: 2em;
	height: 2em;
}
.faq_layout dt .alphabet {
	background: var(--purple);
	color: #fff;
}
.faq_layout dt .faq_text {
	font-size: 1.125em;
	padding-top: .15em;
}
.faq_layout dd .alphabet {
	background: var(--yellow);
	color: var(--purple);
}
.faq_layout dd .faq_text {
	padding-top: .2em;
}
.faq_layout dd .accordion-inner {
	padding-bottom: 1em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.faq_layout {
		grid-gap: 1.5em;
	}
	.faq_layout dd {
		margin-top: .8em;
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.faq_layout {
		grid-gap: .5em;
	}
	.faq_layout dd {
		margin-top: .5em;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

/*====================================================
//// id cmn_link_area
====================================================*/
#cmn_link_area::before {
	background: url('img/cmn/cmn_linkarea.jpg') no-repeat center / cover;
	content: '';
	display: block;
	margin: auto;
}
#cmn_link_area .linkBtn img {
	margin: 0 0 0 .5em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	#cmn_link_area::before {
		height: 30vw;
			max-height: 200px;
	}
	#cmn_link_area .txtBox {
		padding: 1.5em 1em 2.5em;
	}
	#cmn_link_area .linkBox {
		grid-gap: .5em;
	}
}

@media screen and (max-width:540px) {
	#cmn_link_area .copyBox h3 {
		font-size: 1.2em;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	#cmn_link_area::before {
		position: absolute;
			top: 0;
			left: 0;
		width: 50%;
		height: 100%;
	}
	#cmn_link_area {
		padding-left: 50%;
		position: relative;
	}
	#cmn_link_area .txtBox {
		padding: 60px 30px 70px;
	}
	#cmn_link_area .copyBox h3 {
		font-size: 2.0rem;
	}
	#cmn_link_area .linkBox {
		font-size: 2.0rem;
		grid-gap: .8em;
		margin: auto;
		width: 100%;
			max-width: 530px;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

/*====================================================
//// id cmn_contact
====================================================*/
#cmn_contact .tel img {
	filter: brightness(.8) grayscale(.2);
	margin-right: .3em;
	height: .75em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	#cmn_contact .telBox {
		margin-bottom: 1.5em;
		padding-bottom: 1.5em;
	}
	#cmn_contact .telBox::after {
		border-bottom: dotted 1px var(--purple);
		content: '';
		display: block;
		margin: auto;
		position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
		width: 80%;
			max-width: 300px;
		height: 0;
	}
}

@media screen and (min-width:540px) and (max-width:769px) {
	#cmn_contact .txtBox {
		padding: 40px 30px;
	}
	#cmn_contact h2 {
		font-size: 4.0rem;
	}
	#cmn_contact .tel {
		font-size: 4.0rem;
	}
}

@media screen and (max-width:540px) {
	#cmn_contact .txtBox {
		padding: 2em 1em;
	}
	#cmn_contact h2 {
		font-size: 2.6em;
	}
	#cmn_contact .tel {
		font-size: 2.0em;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	#cmn_contact .txtBox {
		padding: 70px 30px;
	}
	#cmn_contact h2 {
		font-size: 5.0rem;
	}
	#cmn_contact .copyBox {
		font-size: 2.2rem;
	}
	#cmn_contact .contactBox {
		align-items: center;
		justify-content: space-between;
		margin: auto;
		width: 100%;
			max-width: 840px;
	}
	#cmn_contact .contactBox::before {
		border-right: dotted 1px var(--purple);
		content: '';
		display: block;
		margin: auto;
		position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
		width: 0;
		height: 80%;
	}
	#cmn_contact .tel {
		font-size: 4.5rem;
	}
	#cmn_contact .linkBtn {
		display: block;
		font-size: 2.0rem;
		width: 340px;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

/*====================================================
////id cmn_banner
====================================================*/
#cmn_banner .item a {
	border: 1px solid #cccccc;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	#cmn_banner .itemBox {
		grid-gap: 1em;
	}
	#cmn_banner .item img {
		height: 60px;
	}
}

@media screen and (min-width:540px) and (max-width:769px) {
}

@media screen and (max-width:540px) {
	#cmn_banner .item img {
		height: 12vw;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	#cmn_banner .itemBox {
		grid-gap: 30px;
	}
	#cmn_banner .item img {
		height: 80px;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

/*====================================================
////class .pagetop
====================================================*/

.pagetop {
	display: none;
	position: fixed;
		bottom: 20px;
		right: 20px;
	transform: none !important;
	width: 50px;
	height: 50px;
	z-index: 1000;
	/*	border: solid 1px*/
}
.pagetop.stop {
	position: absolute;
	top: -70px;
	bottom: auto;
}
.pagetop a {
	border-radius: 100%;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	padding-top: 3px;
	position: relative;
	opacity: .8;
	width: 100%;
	height: 100%;
}
.pagetop a .arrow {
	margin: 0;
	transform: rotate(-90deg);
	width: 40%;
	height: 30%;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.pagetop {
		right: 10px;
		bottom: 10px;
		width: 40px;
		height: 40px;
	}
}

@media screen and (min-width:480px) and (max-width:769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.pagetop a:hover {
		opacity: 1;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

/*====================================================
////id footer
====================================================*/
.footer_photo {
	height: 40vw;
	max-height: 350px;
}

footer .bgBox.bg-grd {
	opacity: .4;
}
footer h2 {
	margin: auto;
	width: 60%;
		max-width: 300px;
}
footer .btnBox {
	grid-gap: .4em .3em;
	grid-template-columns: 220px 220px;
	justify-content: center;
}
footer .btnBox .item {
	height: 2.4em;
}
footer .btnBox .item-sns{
	border: solid 1px var(--d_purple2);
	grid-gap: .5em;
	padding: 0 1em;
}
footer .btnBox img {
	height: 1.2em;
}

footer .menu-outer {
	justify-content: space-between;
}
footer .menu .sub_menu > li {
	padding-left: 1.0em;
	position: relative;
}
footer .menu .sub_menu > li::before {
	border-top: solid 1px;
	content: '';
	display: block;
	margin: auto;
	position: absolute;
		top: .9em;
		left: 0;
	width: .7em;
	height: 0;
}
footer .small_menu .menu {
	grid-gap: 0 3em;
	display: flex;
	justify-content: flex-end;
	margin-top: 30px;
}
footer .small_menu .menu li {
	position: relative;
}
footer .small_menu .menu li:not(li:last-child)::after {
	border-left: solid 1px;
	content: '';
	display: block;
	margin: auto;
	opacity: .8;
	position: absolute;
		top: .2em;
		right: -1.5em;
		bottom: 0;
	width: 0;
	height: 1em;
}
/* ////////// mobile ////////// */
@media screen and (max-width:960px) {
	footer {
		padding-bottom: 90px;
	}
}

@media screen and (max-width: 769px) {
	footer .btnBox {
		grid-template-columns: 1fr;
		margin: auto;
		width: 80%;
			max-width: 270px;
	}
	footer .small_menu .menu {
		justify-content: center;
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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


/*====================================================
//// id footer-counseling_reserve
====================================================*/
#footer-counseling_reserve {
	display: none;
	/* opacity: 0; */
	position: fixed;
		left: 20px;
		bottom: 20px;
	width: calc(100% - 110px);
	height: 50px;
	z-index: 3000;
}
#footer-counseling_reserve a {
	border-radius: 25px;
	display: flex;
		align-items: center;
		justify-content: center;
	height: 100%;
}
#footer-counseling_reserve a:hover {
	filter: brightness(1.1);
	color: #fff;
}
#footer-counseling_reserve a img {
	vertical-align: -.2em;
	width: 1.2em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

@media screen and (max-width:540px) {
	#footer-counseling_reserve {
		left: 10px;
		bottom: 10px;
		width: calc(100% - 70px);
		height: 40px;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960px) {
	#footer-counseling_reserve {
		display: none !important;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

/*====================================================
//// id
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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