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

.anime_fade {
	opacity: 0;
}
.anime_fade.isPlay {
	animation: textFade 1.1s cubic-bezier(.77,0,.175,1) forwards;
}
.anime_fade2 {
	opacity: 0;
}
.anime_fade2.isPlay {
	animation: imgFade 1.1s cubic-bezier(.77,0,.175,1) forwards;
}
@keyframes textFade {
	0% {
		opacity: 0;
		filter: blur(10px);
		transform: translateY(10px);
	}
	100% {
		opacity: 1;
		filter: blur(0);
		transform: translateY(0);
	}
}
@keyframes imgFade {
	0% {
		opacity: 0;
		filter: blur(10px);
	}
	100% {
		opacity: 1;
		filter: blur(0);
	}
}
/*-----------------------------------------------------------------------------
	レイヤーアニメ
-----------------------------------------------------------------------------*/
.fromLeft,.fromRight {
	position: relative;
	overflow: hidden;
}
.fromLeft:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 200%;
	background-color: #f8f8f8;
	z-index: -1;
    clip-path: inset(0 100% 0 0);
    opacity: 0;
    transition: clip-path 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s;
}
.fromRight:before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 200%;
	background-color: #f8f8f8;
	z-index: -1;
    clip-path: inset(0 0 0 100%);
    opacity: 0;
    transition: clip-path 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s;
}
.fromLeft.isPlay:before,.fromRight.isPlay:before {
	-webkit-clip-path: inset(0);
    clip-path: inset(0);
    opacity: 1;
}

/*-----------------------------------------------------------------------------
	img-content
-----------------------------------------------------------------------------*/
.img-left-content::before {
	height: calc(100% - 200px);
	width: 80%;
	top: 200px;
}
.img-left-content .megahead {
	position: absolute;
	top: 1rem;
	color: var(--blue2);
	font-size: clamp(5rem, 3.545rem + 7.27vw, 9rem);
	opacity: .05;
	transition: 2s cubic-bezier(.77,0,.175,1);
	filter: blur(10px);
	z-index: +1;
	white-space: nowrap;
	transition-delay: 1s;
}
.img-left-content .megahead.isPlay {
	opacity: .075;
	filter: blur(0);
}
.img-left-content .txt {
	display: block;
	margin-top: 120px;
	padding-left: 2rem;
	padding-top: 4rem;
}
.img-left-content .txt h2 {
	margin-bottom: .5em;
}
.img-left-content .txt h3 {
	font-size: clamp(1.25rem, -1.135rem + 3.85vw, 1.75rem);
	margin-bottom: .65em;
	font-weight: 600;
	transition: .25s ease;
}
.img-left-content .txt p {
	transition: .25s ease;
}

.img-right-content::before {
	height: calc(100% - 200px);
	width: 80%;
	top: 200px;
}
.img-right-content .megahead {
	position: absolute;
	top: 1rem;
	color: var(--blue2);
	font-size: clamp(5rem, 3.545rem + 7.27vw, 9rem);
	opacity: .05;
	transition: 2s cubic-bezier(.77,0,.175,1);
	filter: blur(10px);
	z-index: +1;
	white-space: nowrap;
	transition-delay: 1s;
}
.img-right-content .megahead.isPlay {
	opacity: .075;
	filter: blur(0);
}
.img-right-content .txt {
	display: block;
	margin-top: 120px;
	padding-right: 2rem;
	padding-top: 4rem;
}
.img-right-content .txt h2 {
	margin-bottom: .5em;
}
.img-right-content .txt h3 {
	font-size: clamp(1.25rem, -1.135rem + 3.85vw, 1.75rem);
	margin-bottom: .65em;
	font-weight: 600;
	transition: .25s ease;
}
.img-right-content .txt p {
	transition: .25s ease;
}
.img-left-content figure img,.img-right-content figure img {
	margin-top: 1rem;
}

/* 991px以下 */
@media (max-width: 991px) {
	.img-left-content .megahead,.img-right-content .megahead {
		position: relative;
		line-height: 1;
		top: 0;
	}
	.img-left-content .txt,.img-right-content .txt {
	    margin-top: -1em;
	    padding-left: 0;
	    padding-top: 0;
	}
	
}
/* 767px以下 */
@media (max-width: 767px) {
	.img-left-content figure,.img-right-content figure {
		margin-bottom: 0;
	}
	.img-left-content .megahead,.img-right-content .megahead {
		margin-top: -.5rem;
	}
	.img-left-content .txt,.img-right-content .txt {
	    margin-top: 1rem;
	}
	.img-right-content::before,.img-left-content::before {
		width: 95%;
	}
	
}
/* 575px以下 */
@media (max-width: 575px) {
	.img-left-content .megahead,.img-right-content .megahead {
		white-space: normal;
	}
}


/********************************************** 
	
トップページ

********************************************* */
#top01 {
	position: relative;
}
.video-box {
    position: absolute;
    top: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
    min-height: 500px;
    z-index: -1;
}
.video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    filter: blur(15px);
}
#top01::before {
	content: '';
	display: block;
	width: 100%;
	height: calc(100% + 2px);
	position: absolute;
	left: 0;
	top: -1px;
	background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, .75) 20%, rgba(255, 255, 255, .9) 70%, rgba(255, 255, 255, 1) 90%);
}
#top01 h2.mincho {
	font-size: clamp(1.5rem, 1.091rem + 2.05vw, 2.625rem);
	font-weight: 600;
	margin-bottom: 1em;
}
#top01 h2.mincho span {
	display: inline-block;
	background: var(--gradient-blue);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	opacity: 0;
}
#top01 h2.mincho.isPlay span {
	opacity: 1;
	filter: blur(10px);
	animation: textFade 1.6s cubic-bezier(.77,0,.175,1) forwards;
}
#top01 h2.mincho.isPlay span:nth-of-type(2) {
	animation: textFade 1.8s cubic-bezier(.77,0,.175,1) forwards;
}
#top01 p.font-l {
	animation-delay: .3s;
}
.top01_banner_wrapper {
	padding: 0 5%;
}
#top01 .top01_banner {
	position: relative;
	z-index: +1;
}
#top01 .top01_banner a {
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 3 / 2;
	color: var(--default);
	position: relative;
	overflow: hidden;
}
#top01 .top01_banner a .img {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: -2;
	transition: .5s ease;
}
#top01 .top01_banner a.top01_esthetic .img {
	background: url(../images/top/top01_esthetic.jpg) center center/cover no-repeat;
}
#top01 .top01_banner a.top01_school .img {
	background: url(../images/top/top01_school.jpg) center center/cover no-repeat;
}
#top01 .top01_banner a:hover .img {
	transform: scale(1.05);
	filter: blur(10px);
}
#top01 .top01_banner a h3 {
	margin: 0;
	color: #fff;
	transition: .5s ease;
	text-align: center;
	line-height: 1.5;
}
#top01 .top01_banner a h3 .en3 {
	font-size: clamp(1.875rem, 1.466rem + 2.05vw, 2.7rem);
}
#top01 .top01_banner a h3 .ja {
	display: block;
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
    letter-spacing: .075em;
    font-weight: 400;
}
#top01 .top01_banner a:hover h3 {
	color: var(--blue2);
	transform: translateY(-7px);
}
#top01 .top01_banner a:hover h3 span.ja {
	animation-delay: .2s;
}
#top01 .top01_banner a::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
/* 	background: var(--gradient-blue); */
	z-index: -1;
	opacity: .08;
	transition: .5s ease;
}
#top01 .top01_banner a:hover::before {
	opacity: .4;
}
#top01 .top01_banner a::after {
	content: '';
	display: block;
	width: 100%;
	height: 5px;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: +1;
	transition: .5s ease;
	background: var(--gradient-gold);
	transform: translateY(100%);
	opacity: 0;
}
#top01 .top01_banner a:hover::after {
	transform: translateY(0);
	opacity: 1;
}

#top_corgi::before {
	height: calc(100% - 200px);
	width: 80%;
	top: 200px;
}
#top_corgi .megahead {
	position: absolute;
	top: 1rem;
	color: var(--blue2);
	font-size: clamp(5rem, 3.545rem + 7.27vw, 9rem);
	opacity: .05;
	transition: 2s cubic-bezier(.77,0,.175,1);
	filter: blur(10px);
}
#top_corgi .megahead.isPlay {
	opacity: .075;
	filter: blur(0);
}
#top_corgi a.top_corgi_txt {
	display: block;
	margin-top: 120px;
	padding-left: 2rem;
	padding-top: 4rem;
}
#top_corgi .top_corgi_txt h2 {
	margin-bottom: .5em;
}
#top_corgi .top_corgi_txt h3 {
	font-size: clamp(1.25rem, -1.135rem + 3.85vw, 1.75rem);
	margin-bottom: .65em;
	font-weight: 600;
	transition: .25s ease;
}
#top_corgi .top_corgi_txt p {
	transition: .25s ease;
}
#top_insta::before {
	width: 75%;
	height: 50%;
	top: 30px;
}
#top_corgi .top_corgi_txt:hover h3,#top_corgi .top_corgi_txt:hover p {
	color: #777;
} 
/* 991px以下 */
@media (max-width: 991px) {
	#top_corgi .megahead {
		position: relative;
		line-height: 1;
	}
	#top_corgi a.top_corgi_txt {
	    margin-top: -1em;
	    padding-left: 0;
	    padding-top: 0;
	}
	#top_insta::before {
		width: 90%;
		top: 0;
	}

	
}

/* 767px以下 */
@media (max-width: 767px) {
	#top01 {
		padding-top: 50px !important;
	}
	#top01 h2.mincho {
		margin-bottom: .5em;
	}
	#top01 .top01_banner a {
	    aspect-ratio: 16 / 9;
	}
	.top01_banner_wrapper {
		padding: 0 15px;
	}
	#top_corgi figure {
		margin-bottom: 0;
	}
	#top_corgi .megahead {
		margin-top: -.5rem;
	}
	#top_corgi a.top_corgi_txt {
	    margin-top: -.5em;
	}
	
}

/********************************************** 
	
採用情報

********************************************* */
table.table-recruit {
	min-width: 800px;
}
table.table-recruit th {
	padding: 1rem 1rem 1rem 0;
	vertical-align: top;
	display: flex;
	align-items: center;
	position: relative;
	white-space: nowrap;
}
table.table-recruit th::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-image: url(../images/common/line-dot.png) ;
	margin-left: 1em;
	min-width: 200px;
}
table.table-recruit td {
	padding: 1rem 0;
}
table.table-recruit td ul {
	margin-bottom: 0;
}
/* 991px以下 */
@media (max-width: 991px) {
	table.table-recruit {
		min-width: 700px;
	}
}
/* 767px以下 */
@media (max-width: 767px) {
	table.table-recruit {
		min-width: auto;
	}
	table.table-recruit th::after {
		margin-left: .5em;
		min-width: 30px;
	}

}

/********************************************** 
	
ブログ

********************************************* */
/* アーカイブ */
.archive-post-area {
	padding-bottom: 2em;
	margin-bottom: 3em;
	margin-right: 3rem;
}
.blog-wrapper .entry-title {
	margin-bottom: 2em;
}
.blog-wrapper .entry-title .date {
	line-height: 1.25;
	padding-right: 1.5em;
	width: 100px;
	border-right: 1px solid var(--default);
	white-space: nowrap;
}
.blog-wrapper .entry-title .date span {
    display: block;
    font-size: 3rem;
}
.blog-wrapper .entry-title-2 {
	padding-left: 1.5em;
	line-height: 1.25;
}
.blog-wrapper .entry-title-2 h2,.blog-wrapper .entry-title-2 h2 a {
	color: #19191a;
	font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
	font-weight: 500;
	margin-bottom: 10px;
}
.blog-wrapper .entry-title-2 h2 a:hover {
	opacity: .6;
}
.entry-title-2 .category {
	display: inline-block;
	margin-right: 2em;
}
.entry-title-2 .category li {
	display: inline-block;
}
.entry-title-2 .category li a {
	display: block;
	line-height: 1;
    font-size: 0.8125rem;
    color: rgb(119, 119, 119);
    padding: 0.3rem 0.4rem;
    background: rgb(230, 233, 237);
}
.entry-title-2 .category a:hover {
	color: #fff;
	background: var(--default);
}
.archive-post-area .btn {
	margin-right: 2em;
	font-size: 1.4rem;
	width: 160px;
    height: 40px;
    line-height: 40px;
}
.archive-post-area .ex {
	margin-bottom: 2em;
}
.archive-post-area .thumbnail-box a {
	display: block;
	overflow: hidden;
	padding-top: 69.4822%;
    position: relative;
    width: 100%;
}
.archive-post-area .thumbnail-box a img {
	display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
    transition: .25s;
}
.archive-post-area .thumbnail-box a:hover img {
	opacity: .8;
}
/* シングル */
.single-post-area {
	margin-top: 60px;
	line-height: 2;
}
.single-blog-left {
	padding-right: 3rem;
}
.single-post-area table {
	max-width: 100% !important;
}
.single-post-area ul li {
	list-style: disc;
	list-style-position: inside;
}
.single-post-area ol li {
	list-style: decimal;
	list-style-position: inside;
}
.single-post-area blockquote {
	border-left: 1px solid #040000;
	margin-left: 0;
	padding-left: 2em;
	font-style: italic;
}
.single-post-area hr {
	height: 1px;
	background-color: #040000;
	border: none;
	margin: 30px 0;
}
.alignleft {
	float: left;
	margin: 0.375em 1.75em 1.75em 0;
}
.alignright {
	float: right;
	margin: 0.375em 0 1.75em 1.75em;
}
.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto 1.75em;
}
.single-post-area img {
	max-width: 100% !important;
}
.wp-caption ,.wp-caption-text {
	max-width: 100%!important;
}
/* =サイドバー
-----------------------------------------------------------------------------*/
#sidebar h2.widgettitle {
	font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
	position: relative;
	padding-left: .75em;
	margin-bottom: .75em;
	font-family: "Playfair Display", serif;
}
#sidebar h2.widgettitle:before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #222;
}
#sidebar ul,#sidebar select {
	margin-bottom: 40px;
}
#sidebar ul li {
	list-style: none;
}
#sidebar ul li a {
	display: block;
	opacity: .6;
	padding-left: 1em;
	margin-bottom: 5px;
	line-height: 1.65;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	
}
#sidebar ul li a:hover {
	opacity: 1;
}
#sidebar select {
    display: block;
    width: 100%;
    height: 40px;
    padding: 0.5rem 1rem;
    line-height: 1.5;
    background-color: #fff;
    background-image: none;
    background-clip: padding-box;
    border: 1px solid #ddd;
    border-radius: 0px;
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
}
/*-----------------------------------------------------------------------------
	シングルページ共通
-----------------------------------------------------------------------------*/
.single-post-area h2,.single-post-area h3 {
	margin-bottom: .75em;
}
.single-title-box .date {
	color: #c3a264;
}
.single-post-area,.single-post-area p {
	line-height: 2em;
}
.single-post-area table {
	width: 100% !important;
}
.single-post-area table td,.single-post-area table th {
	padding: .75em;
}
.single-post-area .post-date {
	background: #f7f7f7;
	padding: 7px 0 4px 1.5em;
	border-radius: 4px;
	margin-bottom: 1.5em;
}
.pageNav {
	padding: 30px 0;
	border-top: 1px solid #e8e8e8;
	border-bottom: 1px solid #e8e8e8;
}
.pageNav a {
	display: inline-block;
	color: #fff;
	background-color: var(--default);
	padding: 4px 1.25em;
	font-size: 13px;
	border-radius: 50px;
	font-weight: bold;
	text-decoration: none;
}
.pageNav a .material-icons {
	font-size: 24px;
	margin-top: -2px;
}
.pageNav a:hover {
	background-color: #c3a264;
	color: #fff;
}
.pageNav span.prev {
	float: right;
}
.pageNav span.prev,.pageNav span.next {
	display: inline-block;
}

.single-post-area a:link,.single-post-area a:visited {
	color: #999;
	text-decoration: underline;
}
.single-post-area a:hover {
	text-decoration: none;
}
.single-post-area table {
	max-width: 100% !important;
}
.single-post-area table td,.single-post-area table th {
	border: 1px solid #eee;
}
.single-post-area ul li {
	list-style: disc;
	list-style-position: inside;
}
.single-post-area ol li {
	list-style: decimal;
	list-style-position: inside;
}
.single-post-area blockquote {
	border-left: 4px solid #f7f7f7;
	margin-left: 0;
	padding-left: 2em;
}
.alignleft {
	float: left;
	margin: 0.375em 1.75em 1.75em 0;
}
.alignright {
	float: right;
	margin: 0.375em 0 1.75em 1.75em;
}
.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto 1.75em;
}
/* 991px以下 */
@media (max-width: 991px) {
	.archive-post-area {
		margin-right: 0;
	}
}
/* 767px以下 */
@media (max-width: 767px) {
/* アーカイブ */
	.archive-post-area {
		padding-bottom: 1.5em;
		margin-right: 0;
		border-bottom: 1px solid #f1f1f1;
		margin-bottom: 1.5em;
	}
	.blog-wrapper .entry-title {
		margin-bottom: 1em;
	}
	.blog-wrapper .entry-title-2 h2, .blog-wrapper .entry-title-2 h2 a {
		font-size: 17px;
		margin-bottom: 5px;
	}
	.blog-wrapper .entry-title .date {
		width: auto;
        white-space: nowrap;
        font-size: 11px;
        padding-right: 10px;
	}
	.blog-wrapper .entry-title .date span {
	    font-size: 24px;
	}
	.blog-wrapper .entry-title-2 {
		padding-left: 1em;
	}
	.entry-title-2 span {
		display: block;
		white-space: nowrap;
		font-size: 12px;
	}
	.entry-title-2 .category {
		display: block;
		margin-right: 0;
	}
	.archive-post-area .btn {
		margin-right: 0;
		font-size: 1.3rem;
		width: 150px;
	    height: 30px;
	    line-height: 30px;
	}
	.archive-post-area .ex {
		margin-bottom: 1.5em;
	}
	ul.post-categories {
		margin-bottom: 0;
	}
/* 	シングルページ */
	.single-blog-left {
		padding-right: 0;
	}
	.single-post-area {
	    margin-top: 0;
	    line-height: 2;
	}
/*-----------------------------------------------------------------------------
	サイドバー
-----------------------------------------------------------------------------*/
	#sidebar {
		margin-top: 40px;
	}
	#sidebar h2.widgettitle {
	    font-size: 24px;
	}
	#sidebar ul, #sidebar select {
	    margin-bottom: 20px;
	}
	
}
/********************************************** 
	
初めての方へ

********************************************* */
#first01.img-right-content::before {
    height: calc(100% - 240px);
    width: 100%;
    top: 200px;
}
.fluid_wrapper {
	padding: 0 7%;
	overflow-x: hidden;
}
a.bg_banner {
	display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 3 / 2;
    color: var(--default);
    position: relative;
    overflow: hidden;
}
a.bg_banner h3 span {
	display: block;
	text-align: center;
	text-shadow: 0 0 12px #fff;
}
a.bg_banner h3 span.ja {
	    font-size: 1rem;
}
a.bg_banner .view-more {
	width: 90%;
	position: absolute;
	bottom: .5rem;
	left: 5%;
	text-shadow: 0 0 14px #fff;
}
a.bg_banner .img {
	position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -2;
    transition: .5s ease;
}
a.bg_banner:hover .img {
	transform: scale(1.04);
	filter: blur(8px);
}
a.bg_banner::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    background: #fff;
    z-index: -1;
    opacity: .3;
    transition: .5s ease;
}
a.bg_banner:hover::before {
	opacity: .5;
}
a.bg_banner .img {
}
a.bg_banner.first01 .img {
	background: url(../images/first/first01.jpg) center center/cover no-repeat;
}
a.bg_banner.first02 .img {
	background: url(../images/first/first02.jpg) center center/cover no-repeat;
}
a.bg_banner.first03 .img {
	background: url(../images/first/first03.jpg) center center/cover no-repeat;
}
a.bg_banner.first04 .img {
	background: url(../images/first/first04.jpg) center center/cover no-repeat;
}
a.bg_banner.first05 .img {
	background: url(../images/first/first05.jpg) center center/cover no-repeat;
}
a.bg_banner.first06 .img {
	background: url(../images/first/first06.jpg) center center/cover no-repeat;
}
/* 991px以下 */
@media (max-width: 991px) {
	#first01 img {
		max-width: 60%;
	}
}
/* 767px以下 */
@media (max-width: 767px) {
	.fluid_wrapper {
		padding: 0 15px;
	}
	a.bg_banner {
	    aspect-ratio: 16 / 9;
	}
	#first01.img-right-content::before {
	    height: calc(100% - 200px);
	}
}
/********************************************** 
	
メニュートップ

********************************************* */
#menu01.img-right-content::before {
    height: calc(100% - 240px);
    width: 80%;
    top: 200px;
}
a.bg_banner.menu01 .img {
	background: url(../images/menu/menu01.jpg) center center/cover no-repeat;
}
a.bg_banner.menu02 .img {
	background: url(../images/menu/menu02.jpg) center center/cover no-repeat;
}
a.bg_banner.menu03 .img {
	background: url(../images/menu/menu03.jpg) center center/cover no-repeat;
}
a.bg_banner.menu04 .img {
	background: url(../images/menu/menu04.jpg) center center/cover no-repeat;
}
a.bg_banner.menu05 .img {
	background: url(../images/menu/menu05.jpg) center center/cover no-repeat;
}
a.bg_banner.menu06 .img {
	background: url(../images/menu/menu06.jpg) center center/cover no-repeat;
}

/********************************************** 
	
メニュー下層ページ

********************************************* */
.menu_box {
	padding: 3rem 1.5rem;
	position: relative;
	overflow: hidden;
}
.menu_box::before {
	content: '';
	display: block;
	height: 1px;
	width: 100%;
	background: #777;
	opacity: .1;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: 1s ease-out;
	transform: translateX(-100%);
	transition-delay: 1s;
}
.menu_box.isPlay::before {
	opacity: .2;
	transform: translateX(0);
}
.menu_box h3 {
	font-family: "リュウミン M-KL", 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: clamp(1.125rem, 0.898rem + 1.14vw, 1.75rem);
	font-weight: 600;
	display: flex;
	justify-content: space-between;
	line-height: 1.35;
	margin-bottom: .75em;
}
.menu_box h3 span {
	display: block;
	position: relative;
	background: #fff;
}
.menu_box h3 span.title small {
	font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
}
.menu_box h3 span.price {
	color: #c3a264;
	padding-left: 1rem;
}
.menu_box h3 span.price small {
	font-size: 70%;
}
.menu_box h3::after {
	content: '';
    display: block;
    width: 90%;
    height: 1px;
    background-image: url(../images/common/line-dot.png);
    margin-left: 5%;
    margin-right: 5%;
    min-width: 100px;
    position: absolute;
    left: 0;
    top: .7em;
    z-index: -1;
}
.menu_box .menu_txt {
	color: #777;
}
/* 991px以下 */
@media (max-width: 991px) {
	.menu_box {
		padding: 2rem 1rem;
	}
	.menu_box h3 {
		display: block;
		justify-content: space-between;
		line-height: 1.35;
		margin-bottom: .75em;
	}
	.menu_box h3 span.price {
		padding-left: 0;
	}
}

/* 767px以下 */
@media (max-width: 767px) {
	.menu_box {
		padding: 1.5rem 0;
		position: relative;
	}
	.menu_box h3 span.price {
		margin-top: .5rem;
	}
}
/********************************************** 
	
ブライダル

********************************************* */
#bridal03 {
	background: url(../images/bridal/bg_bridal03.jpg) center center/cover no-repeat;
	position: relative;
}
#bridal03::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, 1) 90%);
}
#bridal03 > .container {
	position: relative;
	z-index: +1;
}
.bridal_txt h4 {
	font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
	margin-bottom: 1.2rem;
}
/********************************************** 
	
クリスティーナ

********************************************* */
#christina02 .menu_box.title_price {
	position: relative;
	background:  #f1f5fa;
	padding: 3rem 2rem;
	margin-bottom: 3rem;
}
#christina02 .menu_box.title_price span {
	background: #f1f5fa;
}
#christina02 .menu_box.title_price h3 {
	
	margin-bottom: 0;
}
#christina02 .menu_box.title_price h3 span.title {
	font-size: clamp(1.5rem, 1.318rem + 0.91vw, 2rem);
}

#christina02 .menu_box:not(.title_price) h3::after {
	display: none;
}
/* 991px以下 */
@media (max-width: 991px) {
	#christina02 .menu_box.title_price {
		text-align: center;
	}
	#christina02 .menu_box.title_price h3 span.title {
		margin-bottom: 1rem;
	}
}
/* 767px以下 */
@media (max-width: 767px) {
	#christina02 .menu_box.title_price {
		padding: 1.5rem 1rem;
		margin-bottom: 1rem;
	}
	#christina02 .menu_box.title_price h3 span.title {
		margin-bottom: .5rem;
	}
}

/********************************************** 
	
スクール

********************************************* */
a.school_course {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 2rem 1.5rem;
	border-bottom: 1px solid #e5e5e5;
}
a.school_course:nth-of-type(1) {
	border-top: 1px solid #e5e5e5;
}
a.school_course h3 {
	font-size: clamp(1.125rem, 0.898rem + 1.14vw, 1.75rem);
	font-weight: 600;
	margin: 0;
	position: relative;
	padding-left: 1em;
	padding-right: 1em;
	transition: .25s ease-out;
}
a.school_course h3::before {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--gradient-blue);
	position: absolute;
	left: 0;
	top: .65em;
}
a.school_course:hover h3 {
	color: rgb(195, 162, 100);
	padding-left: 1.1em;
}
a.school_course .arrow {
  position: relative;
  display: inline-block;
  width: 20.5px;
  height: 68.5px;
  transition: .15s ease-out;
}
a.school_course .arrow::before,
a.school_course .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 40px;
  height: 1px;
  border-radius: 9999px;
  background-color: #333;
  opacity: .2;
  transform-origin: calc(100% - 0.5px) 50%;
}
a.school_course .arrow::before {
  transform: rotate(60deg);
}
a.school_course .arrow::after {
  transform: rotate(-60deg);
}
a.school_course:hover .arrow {
	transform: translateX(4px);
}
/* 767px以下 */
@media (max-width: 767px) {
	a.school_course {
		padding: 1.5rem .5rem 1.5rem ;
	}
	a.school_course h3::before {
		width: 8px;
		height: 8px;
		top: calc(50% - 4px);
	}
	a.school_course .arrow {
	  width: 12.5px;
	  height: 40.8px;
	}
	
	a.school_course .arrow::before,
	a.school_course .arrow::after {
	  width: 24px;
	}
}
/********************************************** 
	
スクール下層ページ

********************************************* */
.ptb30-50 {
	padding-top: 50px;
	padding-bottom: 50px;
}
.school-content h2.min {
	font-size: clamp(1.875rem, 1.466rem + 2.05vw, 3rem);
	margin-bottom: 0;
	line-height: 1.35;
}
.school_course_txt {
	margin-top: -1.5rem;
}
.school_course_txt::before {
	width: 90%;
}
.school_course_txt h4 {
	margin-bottom: .5em;
}
.course_content_box {
	background: #f1f5fa;
	width: 100%;
	height: 100%;
}
.course_content_box h4 {
	color: #fff;
	background: var(--gradient-blue2);
	text-align: center;
	padding: 5px 1em;
	margin: 0;
	font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
}
.course_content_box ul {
	margin: 0;
}
.course_content_box .d-lg-flex {
	padding: 1rem;
}
h3.center {
	display: flex;
	align-items: center;
	margin-bottom: 1.25em;
	font-size: clamp(1.125rem, 0.898rem + 1.14vw, 1.75rem);
}
h3.center::before {
	content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #ddd;
    margin-right: 1em;
}
h3.center::after {
	content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #ddd;
    margin-left: 1em;
}
.detail_box {
	font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
	font-weight: 600;
	display: flex;
	justify-content: space-around;
	background: #f1f5fa;
	padding: 2rem 1rem;
}
.school_btn {
	margin-top: 4rem;
}
.school_btn a.btn.trans {
	width: 560px;
	height: 70px;
	font-size: 1.2em;
	text-align: center;
	line-height: 1.5;
}


/* 991px以下 */
@media (max-width: 991px) {
	.detail_box {
		display: block;
	}
}

/* 767px以下 */
@media (max-width: 767px) {
	.ptb30-50 {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.school-content h2.min {
		margin-bottom: .75rem;
		line-height: 1.35;
	}
	.course_content_box h4 {
		font-size: 1.1rem;
	}
	.detail_box {
		padding: 1rem;
	}
	.school_btn {
		margin-top: 2.5rem;
	}
	.school_btn a.btn.trans {
		width: 100%;
		font-size: 1.1em;
	}
}
/********************************************** 
	
予約ページ

********************************************* */
.reservation_row a.btn {
	width: 100%;
	height: 90px;
	border: none;
	padding-left: 70px;
	padding-right: 70px;
	text-align: center;
	line-height: 1.35;
}
.reservation_row a.btn span.en {
	font-size: 1.25em;
	margin-right: .25em;
}
.reservation_row a.btn::before {
	background: rgba(255,255,255,.2);
	z-index: +1;
}
a.hotpepper.btn {
	background: #9f1547 url("../images/reservation/hotpepper.png") 15px center/50px no-repeat;
}
a.line.btn {
	background: #06c755 url("../images/reservation/line.png") 15px center/50px no-repeat;;
}

/* 767px以下 */
@media (max-width: 767px) {
	
}







