@charset "UTF-8";
html {
	font-size: 62.5%;
}
body {
	font-size: 1.6rem;
	line-height: 1.4em;
	width: 100%;
	min-width: 320px;
	margin: auto;
	position: relative;
}
body.hidden {
    overflow: hidden;
}
main {
	background: url(../images/bg_silk.jpg) no-repeat;
	background-size: cover;
}
h1, h2, h3, h4, h5, h6, p, a,li, ol, span, small, strong, th, td, dd, dt,b,button {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	color: #555555;
	letter-spacing: 0.05em;
	box-sizing: border-box;
	line-height: 1.5;
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.t_indent {
	padding-left: 1em;
	text-indent: -1em;
}
.inline {display: inline-block;}
img {max-width: 100%; width: 100%;}
a {text-decoration: none;}
a, a:hover, a img, a:hover img, a::after, a:hover::after, a::before, a:hover::before, a:hover span, a span {
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
.absolute {position: absolute;}
.t_center {
	text-align: center;
}
.t_right {
	text-align: right;
}
.w1000 {
	max-width: 1000px;
	margin: auto;
}
.w900 {
	max-width: 900px;
	margin: auto;
}
.pd_top {
	padding-top: 160px;
}
.pd_tb {
	padding-top: 160px;
	padding-bottom: 160px;
}
.pd_bottom {
	padding-bottom: 160px;
}
.sc_lf_rt {
	padding-left: 25px;
	padding-right: 25px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb40 {
	margin-bottom: 40px;
}
.indent-1 {
	padding-left: 1em;
	text-indent: -1em;
}
.sp_block {
	display: none;
}
.pc_block {
	display: block;
}
.br_sp {
	display: none;
}
.opacity {
	transition: .3s;
}
a {outline: none;}
.bg_555 {
	background-color: #555555;
}
.bg_fffcf5 {
	background-color: #fffcf5;
}
.tc_fff {
	color: #fff;
}
.tel_link {
	pointer-events: none;
}
.btn_area {
	margin-top: 60px;
}
.btn_area.btc {
	display: flex;
	justify-content: center;
}
.btn_area .btn_square {
	display: block;
	width: 160px;
	padding: 10px 20px;
	text-align: center;
	position: relative;
	overflow: hidden;
	text-decoration: none;
	border: 1px solid #555555;
}
.btn_area.btn_fff .btn_square {
	border: 1px solid #fff;
}
.btn_area .btn_square  span {
	font-family: "Marcellus", serif;
	letter-spacing: 0.2em;
}
.btn_area.btn_fff  .btn_square  span  {
	color: #fff;
}
.btn_area .btn_square::after {
    position: absolute;
    content: '';
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    background-image: url(../images/arrow01.svg);
    background-repeat: no-repeat;
    width: 20px;
    height: 3px;
    z-index: 2;
}
.btn_area.btn_fff .btn_square::after {
	background-image: url(../images/arrow02.svg);
}

/* headerここから */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	opacity: 0;
}
header.is-scroll {
	background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
	backdrop-filter: blur(10px);
}
.header_logo a {
	width: 150px;
	display: block;
}
.header_inner {
	justify-content: space-between;
	align-items: center;
	padding: 30px 40px;
}
/* ハンバーガー */
.no-scroll {
	overflow: hidden;
}
.hamburger {
	width: 40px;
	height: 20px;
	background: none;
	border: none;
	cursor: pointer;
	position: relative;
	z-index: 10001;
}
.hamburger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background: #fff;
	transition: 0.4s;
}
.hamburger span:nth-child(1) {
	top: 0;
}
.hamburger span:nth-child(2) {
	top: 50%;
}
.hamburger span:nth-child(3) {
	bottom: 0;
}
/* ×アニメ */
.hamburger.active span:nth-child(1) {
	transform: rotate(45deg);
	top: 9px;
}
.hamburger.active span:nth-child(2) {
	display: none;
}
.hamburger.active span:nth-child(3) {
	transform: rotate(-45deg);
	bottom: 9px;
}
/* ドロワー */
.drawer {
	position: fixed;
	top: 0;
	right: -100%;
	width: 30%;
	height: 100dvh;
	background: rgba(0,0,0,0.7);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	transition: 0.6s;
	z-index: 10000;
	overflow-y: auto;
}
.drawer_box {
	width: 220px;
	max-height: 90vh;
}
.drawer ul {
	list-style: none;
}
.drawer li {
	margin-bottom: 20px;
}
.drawer li:last-child {
	margin-bottom: 0;
}
.drawer a {
	font-family: "Marcellus", serif;
	color: #fff;
	text-decoration: none;
	font-size: 2.2rem;
	letter-spacing: 0.1em;
}
.overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.6);
	opacity: 0;
	visibility: hidden;
	transition: 0.4s;
	z-index: 999; 
	height: 100vh;
}
.overlay.active {
	opacity: 1;
	visibility: visible;
}
.he_btn {
	margin-top: 40px;
}
.he_btn a {
	font-family: "Zen Kaku Gothic New", sans-serif;
	display: block;
	width: 220px;
	padding: 15px 20px;
    text-align: center;
    position: relative;
	border: 1px solid #fff;
	margin-bottom: 15px;
	font-size: 1.6rem;
}
.he_btn a:last-child {
	margin-bottom: 0
}
.he_btn a.he_insta::before{
	position: absolute;
    content: '';
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    background-image: url(../images/icon03.svg);
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    z-index: 2;
}
.he_btn a.he_line::before{
	position: absolute;
    content: '';
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    background-image: url(../images/icon04.svg);
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    z-index: 2;
}
/* 開いた時 */
.drawer.active {
	right: 0;
}
/* headerここまで */

/* footerここから */
footer {
	position: relative;
	overflow: hidden;
}
footer::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 33vh;
	background: #000000;
	background: linear-gradient(0deg,rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 0) 100%);
}
footer::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.4);
	z-index: -1;
	top: 0;
	left: 0;
}
.footer-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
}
.footer_contact {
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 5;
}
.contact_img {
	width: 50%;
}
.contact_txt {
	width: 50%;
	padding: 60px 20px;
}
.contact_txt h2.sec_title {
	margin-bottom: 30px;
}
.con_btn {
	justify-content: center;
	margin-top: 30px;
}
.contact_txt .con_btn a {
	display: block;
	width: 340px;
	padding: 15px 20px;
    text-align: center;
    position: relative;
	border: 1px solid #555555;
	margin-bottom: 15px;
}
.contact_txt .con_btn a.con_insta::before{
	position: absolute;
    content: '';
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    background-image: url(../images/icon01.svg);
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    z-index: 2;
}
.contact_txt .con_btn a.con_line::before{
	position: absolute;
    content: '';
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    background-image: url(../images/icon02.svg);
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    z-index: 2;
}
.contact_txt .con_btn a:last-child {
	margin-bottom: 0;
}
.footer_box {
	justify-content: space-between;
	margin-bottom: 60px;
	position: relative;
	z-index: 5;
}
.footer_logo a {
	width: 180px;
	display: block;
}
ul.footer_menu li {
	width: 33%;
	margin-bottom: 15px;
}
ul.footer_menu li a {
	color: #fff;
	font-size: 2.4rem;
	font-family: "Marcellus", serif;
	letter-spacing: 0.1em;
}
.footer_icon {
	margin-top: 60px;
	align-items: center;
}
.footer_icon li {
	margin: 0 30px 0 0;
}
.footer_icon li a {
	display: inline-flex;
	width: 30px;
	height: 30px;
}
p.copyright {
	color: #fff;
	font-size: 1.3rem;
	text-align: right;
	position: relative;
	z-index: 5;
}
/* footerここまで */

/* トップページここから */
.fv_top {
	width: 100%;
	height: 100dvh;
	position: relative;
	overflow: hidden;
}
.fv_top_movie {
	position: absolute;
	inset: 0;
}
.fv_top_movie video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: translate(-50%, -50%);
}
.fv_top_copy {
	position: absolute;
	left: 30px;
	bottom: 30px;
}
.fv_top_copy span {
	font-family: "Marcellus", serif;
	letter-spacing: 0.05em;
	font-weight: 300;
	font-size: 2.3rem;
	color: #fff;
	line-height: 35px;
	display: inline-block;
	opacity: 0;
}
.top_about {
	height: 160vh;
	position: relative;
}
h2.sec_title {
	margin-bottom: 60px;
}
h2.sec_title small {
	display: inline-block;
	width: 42px;
	margin: 0 0 10px 20px;
}
h2.sec_title strong {
	display: block;
	font-size: 5.5rem;
	font-family: "Marcellus", serif;
	letter-spacing: 0.1em;
	line-height: 1;
}
h2.sec_title.stc {
	text-align: center;
}
.top_about_txt_box {
	position: relative;
	z-index: 5;
	overflow: hidden;
}
.top_about_txt_box .subheading p {
	font-size: 2.2rem;
	margin-bottom: 30px;
	line-height: 1.6;
}
.top_about_txt_box .sentence p {
	line-height: 1.8;
}
.top_about_img {
	position: absolute;
}
.top_about_img.no1 {
	top: 0;
	right: 0;
	width: 33%;
	z-index: 1;
}
.top_about_img.no2 {
	top: 43%;
	right: 20%;
	width: 25%;
	z-index: 1;
}
.top_about_img.no3 {
	bottom: 0;
	left: 0;
	width: 25%;
	z-index: 1;
}
.top_about_img.no4 {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	height: 159vh;
	overflow: hidden;
	mix-blend-mode: multiply;
}
.top_about_img.no4::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(
		to bottom,
		rgba(255,255,255,1) -2%,
		rgba(255,255,255,0.8) 25%,
		rgba(255,255,255,0) 50%,
		rgba(255,255,255,0.8) 75%,
		rgba(255,255,255,1) 102%
	);
}
.top_about_img.no4 video {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
	object-fit: cover;
	opacity: 0.3;
}
h3.ray {
	position: absolute;
	right: 0%;
	bottom: 5%;
}
h3.ray span {
	font-family: "Marcellus", serif;
	letter-spacing: 0.05em;
	line-height: 1;
	font-size: 11rem;
	color: #a7a7a7;
	mix-blend-mode: multiply;
	display: block;
	opacity: 0;
}
.top_gallery .gallery_slide {
	overflow: hidden;
	margin-top: 60px;
}
.top_gallery .gallery-track {
	display: flex;
	width: max-content;
	animation: gallery-scroll 80s linear infinite;
}
.top_gallery .gallery-item {
	width: calc(100vw / 5);
	flex-shrink: 0;
	margin-right: 10px;
}
@keyframes gallery-scroll {
0% {transform: translateX(0);}
100% {transform: translateX(-50%);}
}
.top_gallery .gallery-item span {
	font-size: 1.7rem;
	margin: 10px 0 10px 0;
	display: block;
}
ul.g-tag {
		margin: 10px 0 0 0;
}
ul.g-tag li {
	background-color: #fffcf5;
	display: inline-block;
	border-radius: 50px;
	text-align: center;
	padding: 3px 15px;
}
ul.g-tag li small {
	color: #caa241;
	font-size: 1.6rem;
}
.top_plan_area {
    margin: 0 0 0 15%;
	justify-content: space-between;
	align-items: flex-start;
}
.top_plan_txt_box {
	width: 30%;
}
.plan_slide_box {
	width: 64%;
}
.plan-swiper {
	padding-bottom: 80px;
	position: relative;
}
.plan-swiper .swiper-wrapper {
	align-items: flex-end !important;
}
.plan-card {
	position: relative;
	box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}
.plan-card::after {
    position: absolute;
    content: '';
	bottom: 10px;
    right: 0;
	transform: rotate(45deg);
    background-image: url(../images/arrow01.svg);
    background-repeat: no-repeat;
    width: 20px;
    height: 3px;
    z-index: 2;
}
.plan-card-text {
	padding: 20px;
	background: #fff;
}
.plan-card h3 {
	font-family: "Marcellus", serif;
	font-size: 2.6rem;
	margin-bottom: 20px;
	padding-bottom: 5px;
	border-bottom: 1px solid #efefef;
}
.plan-card p.price {
	font-size: 2.8rem;
	color: #caa241;
	font-weight: 500;
	margin-top: 10px;
}
.plan-card p.price small {
	font-size: 1.4rem;
	color: #caa241;
}
.plan-card ul.g-tag {
	margin-bottom: 20px;
}
.plan-card ul.g-tag li {
	margin-right: 5px;
}
.plan-swiper .swiper-slide {
	transform: scale(0.9);
	transform-origin: bottom center;
	opacity: 0.6;
	transition: 0.5s ease;
}
.plan-swiper .swiper-slide-active {
	transform: scale(1);
	opacity: 1;
}
.plan-controls {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-top: 40px;
}
.plan-nav {
	display: flex;
	gap: 15px;
}
.plan-prev,
.plan-next {
	position: relative;
	width: 50px;
	height: 50px;
	border: 1px solid #fff;
	border-radius: 50%;
	cursor: pointer;
	transition: .3s;
}
.plan-prev::before {
	position: absolute;
    content: '';
	top: 50%;
    left: 50%;
	transform: translate(-50%,-50%);
    background-image: url(../images/arrow03.svg);
    background-repeat: no-repeat;
    width: 20px;
    height: 3px;
    z-index: 2;
}
.plan-next::before {
	position: absolute;
    content: '';
	top: 50%;
    left: 50%;
	transform: translate(-50%,-50%);
    background-image: url(../images/arrow02.svg);
    background-repeat: no-repeat;
    width: 20px;
    height: 3px;
    z-index: 2;
}
.plan-fraction {
	font-size: 16px;
	letter-spacing: 2px;
	color: #fff;
	font-family: "Marcellus", serif;
	font-size: 2rem;
}
.plan-progress {
	position: inherit !important;
	top: inherit !important;
	left: inherit !important;
	height: 2px !important;
	width: 200px !important;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background-color:#c5a35d !important;
}
.swiper-pagination-progressbar-fill {
	background: #c5a35d;
}
.top_flow_tl_box {
	position: relative;
	z-index: 1;
}
.flow-inner {
	display: grid;
	grid-template-columns: 65% 35%;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
	align-items: center;
}
.top_flow {
	position: relative;
}
.flow-image {
	background: url(../images/top_flow01.png) center / cover no-repeat;
	min-height: 880px;
	width: calc(100% + ((100vw - 100%) / 2));
	margin-left: calc((100vw - 100%) / -2);
}
.flow-content {
	position: relative;
	margin-left: -15%;
}
.flow-list li {
	margin-bottom: 40px;
}
.flow-list li:last-child {
	margin-bottom: 0;
}
.flow-list li:nth-child(3) {
	align-items: center;
}
.flow-list li:nth-child(3) h3 {
	margin-bottom: 0;
}
.flow-list .flow-number {
	margin-right: 15px;
	font-family: "Marcellus", serif;
	font-size: 6rem;
	line-height: 1;
	color: #fff;
}
.flow-list h3 {
	color: #fff;
	font-size: 3rem;
	margin-bottom: 15px;
	line-height: 1;
}
.flow-list p {
	color: #fff;
}
/* トップページここまで */

/* 下層ヘッダーここから */
.low_header {
	height: 35vh;
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom center;
	position: relative;
}
.low_header::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
}
.low_header.header_about {
	background-image: url(../images/about01.jpg);
}
.low_header h1 {
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.low_header h1 strong {
	display: block;
	color: #fff;
	text-align: center;
	font-size: 6.5rem;
	font-family: "Marcellus", serif;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 20px;
}
.low_header h1 small {
	display: block;
	color: #fff;
	text-align: center;
	font-size: 2.2rem;
	line-height: 1;
}
.breadcrumb {
	padding: 30px 15px;
}
.breadcrumb ol {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
}
.breadcrumb li + li::before {
	content: " > ";
	margin: 0 8px;
	color: #999;
}
.breadcrumb a {
	text-decoration: none;
	color: #333;
}
.breadcrumb li[aria-current="page"] {
	color: #999;
}
/* 下層ヘッダーここまで */

/* ABOUTここから */
.about_miray {
	position: relative;
	height: 250vh;
}
.about_miray_img {
	position: absolute;
}
.about_miray_img.no1 {
	top: 0;
	left: 0;
	width: 50%;
	z-index: 3;
}
.about_miray_img.no2 {
	top: 16%;
    left: 43%;
    width: 23%;
    z-index: 3;
}
.about_miray_img.no3 {
	top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: 100vh;
    overflow: hidden;
    mix-blend-mode: multiply;
}
.about_miray_img.no3::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(to bottom,rgba(255,255,255,1) -2%,rgba(255,255,255,0.8) 25%,rgba(255,255,255,0) 50%,rgba(255,255,255,0.8) 75%,rgba(255,255,255,1) 102%);
}
.about_miray_img.no3 video {
	position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.3;
}
.about_miray_img.no4 {
	bottom: 12%;
    right: 0;
    width: 30%;
	z-index: 3;
}
.about_miray_img.no5 {
	bottom: 5%;
    left: 0;
    width: 35%;
    z-index: 3;
}
.about_miray_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
	width: 35%;
}
.about_miray_txt {
	position: absolute;
}
.about_miray_txt.no1 {
	top: 4%;
	right: 14%;
	z-index: 1;
	display: inline-block;
}
.about_miray_txt.no1 p {
	font-size: 2.4rem;
	display: inline-block;
	writing-mode: vertical-rl;
}
.about_miray_txt.no2 {
	top: 60%;
	left: 5%;
	white-space: nowrap;
}
.about_miray_txt.no2 p {
	font-size: 2rem;
	line-height: 2;
}
.profile_box {
	justify-content: space-between;
	align-items: center;
	margin: 0px 0px 0px 10%;
}
.profile_txt {
	width: 40%;
}
.profile_txt h3 {
	font-size: 1.8rem;
    line-height: 2;
	padding-bottom: 20px;
	border-bottom: 1px solid #fff;
	margin-bottom: 20px;
}
.profile_txt p {
	line-height: 2;
	font-size: 1.4rem;
}
.profile_img {
	width: 48%;
	position: relative;
}
.profile_img .name {
	position: absolute;
	left: 15px;
	bottom: 15px;
}
.profile_img strong {
	color: #fff;
	display: block;
	font-size: 1.8rem;
	letter-spacing: 0.3em;
	margin-bottom: 5px;
	text-align: center;
}
.profile_img small {
	color: #fff;
	display: block;
	font-family: "Marcellus", serif;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	line-height: 1;
}
/* ABOUTここまで */

/* GALLERYここから */
.gallery_tabs{
	display:flex;
	justify-content:center;
	margin-bottom: 30px;
}
.tab_btn{
	background:none;
	border:none;
	font-size: 2rem;
	color:#bfbfbf;
	padding: 15px 15px;
	cursor:pointer;
	position:relative;
	border-bottom:1px solid #ddd;
	width: 160px;
}
.tab_btn.active{
	color:#555;
}
.tab_btn.active::after{
	content:"";
	position:absolute;
	bottom:-1px;
	left:0;
	width:100%;
	height:2px;
	background:#555;
}
.location_filter_box {
	background:#fff;
	padding: 40px;
	border-radius: 5px;
	margin-bottom: 30px;
}
.location_filter{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:12px;
}
.filter_title {
	text-align: center;
	margin-bottom: 20px;
}
.filter_title span {
	position: relative;
}
.filter_title span {
	position: relative;
	padding-left: 40px;
}
.filter_title span::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 24px;
	height: 20px;
	background-image: url(../images/icon07.svg);
	background-repeat: no-repeat;
}
.loc_btn{
	padding: 5px 15px;
	border-radius: 30px;
	border:1px solid #f0f0f0;
	background:#f0f0f0;
	font-size: 1.5rem;
	color:#555;
	cursor:pointer;
	transition: .3s;
}
.loc_btn.active{
	background: #fffcf5;
	border:1px solid #c8a46c;
	color:#c8a46c;
}
.gallery_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 20px;
}
.low_header.header_gallery {
	background-image: url(../images/gallery01.jpg);
}
.gallery_movie_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
body.modal_open{
	overflow: hidden;
}
.gallery .modal{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background:rgba(0,0,0,0.8);
	justify-content: center;
	align-items: center;
	z-index: 99999;
}
.gallery .modal_content{
	background:#fff;
	padding: 40px;
	width: 50%;
	text-align:center;
}
.gallery .modal_img{
	display: block;
	margin: 0 auto;
	max-width: 400px;
	width:100%;
}
.gallery .modal_location{
	display:inline-block;
	margin-top: 15px;
	padding:6px 18px;
	font-size:14px;
	background:#fffcf5;
	color:#caa241;
	border-radius: 50px;
}
.gallery .modal_close {
	position:absolute;
	top: 30px;
	right: 40px;
	font-size: 4rem;
	color:#fff;
	cursor: pointer;
}
.gallery_item {
	overflow: hidden;
}
.gallery_item img{
	cursor:pointer;
	transition:0.4s;
}
.gallery .modal_close{
	position:absolute;
	top:30px;
	right:40px;
	width:40px;
	height:40px;
	cursor:pointer;
}
.gallery .modal_close::before,
.gallery .modal_close::after{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:30px;
	height:2px;
	background:#fff;
}
.gallery .modal_close::before{
	transform:translate(-50%,-50%) rotate(45deg);
}
.gallery .modal_close::after{
	transform:translate(-50%,-50%) rotate(-45deg);
}
/* GALLERYここまで */

/* PLANここから */
.low_header.header_plan {
    background-image: url(../images/plan01.jpg);
}
.plan_box {
	justify-content: space-between;
	margin-bottom: 60px;
}
#low_id_plan05 .plan_box:last-child {
	margin-bottom: 0;
}
.plan_left {
	width: 48%;
}
.plan_right {
	width: 45%;
}
.plan_right h3 {
	font-size: 3.2rem;
    font-family: "Marcellus", serif;
    letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 15px;
}
.plan_right .pl_price {
	padding: 5px 5px;
	margin-bottom: 15px;
	background: #fff;
	background-image: repeating-linear-gradient(90deg, #caa241, #caa241 8px, transparent 8px, transparent 16px), repeating-linear-gradient(180deg, #caa241, #caa241 8px, transparent 8px, transparent 16px), repeating-linear-gradient(90deg, #caa241, #caa241 8px, transparent 8px, transparent 16px), repeating-linear-gradient(180deg, #caa241, #caa241 8px, transparent 8px, transparent 16px);
	background-position: left top, right top, left bottom, left top;
	background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
	background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%;
}
.plan_right .pl_price strong {
	font-size: 2.8rem;
	color: #caa241;
	font-weight: 500;
}
.plan_right .pl_price span {
	font-size: 2.2rem;
	color: #caa241;
	font-weight: 500;
}
.plan_right .pl_price small {
	color: #caa241;
}
.plan_right .pl_txt {
	line-height: 1.8;
}
.option_box h3 {
	font-size: 4rem;
    font-family: "Marcellus", serif;
    letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 60px;
	text-align: center;
}
.option_box .option_tb {
	width: 100%;
	margin:0 auto;
	background:rgba(255,255,255,0.6);
	border-collapse: collapse;
	padding: 60px 15px;
}
.option_box table{
	max-width: 800px;
	margin: 0 auto;
	width: 100%;
}
.option_box tr{
	width: 100%;
}
.option_box td,
.option_box th {
	padding: 30px 30px;
	display: table-cell;
}
.option_box tr:first-child td,
.option_box tr:first-child th {
	padding: 0 30px 30px 30px;
}
.option_box td {
	width: 30%;
	border-bottom: 1px solid #caa241;
}
.option_box th {
	width: 70%;	
	border-bottom: 1px solid #d1d1d1;
}
/* PLANここまで */

/* POLICYここから */
.low_header.header_policy {
	background-image: url(../images/policy01.jpg);
}
.policy_txt {
	margin-bottom: 60px;
}
.policy_txt:last-child {
	margin-bottom: 0;
}
.policy_txt h3 {
	font-size: 2rem;
	border-bottom: 1px solid #555;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
/* POLICYここまで */

/* Q&Aここから */
.low_header.header_qa {
    background-image: url(../images/q&a01.jpg);
}
.faq_item {
	border-bottom: 1px solid #ccc;
}
.faq_q {
	width: 100%;
	background: none;
	border: none;
	text-align: left;
	font-size: 2rem;
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 20px;
}
.active .faq_q {
	padding: 20px 20px 15px 20px;
}
.faq_label {
	margin-right: 10px;
	font-size: 3rem;
	font-family: "Marcellus", serif;
	line-height: 1;
}
.faq_icon {
	margin-left: auto;
	width: 16px;
	height: 16px;
	position: relative;
	transition: .3s;
}
.faq_icon::before,
.faq_icon::after {
	content: "";
	position: absolute;
	background: #333;
}
.faq_icon::before {
	width: 100%;
	height: 1px;
	top: 50%;
	left: 0;
}
.faq_icon::after {
	width: 1px;
	height: 100%;
	left: 50%;
	top: 0;
}
.faq_item.active .faq_icon::after {
	transform: scaleY(0);
}
.faq_item.active .faq_icon {
	transform: rotate(180deg);
}
.faq_a {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease;
}
.faq_inner {
	padding: 0 20px 20px 65px;
	opacity: 0;
	transform: translateY(-10px);
	transition: opacity 0.4s ease, transform 0.4s ease;
	line-height: 1.8;
}
.faq_item.active .faq_inner {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.1s;
}
.link {
	color: #caa241;
	text-decoration: underline;
}
/* Q&Aここまで */

/* ローディングここから */
#loading {
	position: fixed;
	inset: 0;
	z-index: 999999;
}
.loading_box {
	background:#000;
    width: 100%;
	height: 100vh;
	position: fixed;
	inset: 0;
	z-index: 9999999;
	overflow: hidden;
}
.lo_logo_top,
.lo_logo_bottom {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.lo_logo_top img {
    clip-path:inset(0 0 100% 0);
    animation:revealTop 1s ease forwards;
	animation-delay: .3s;
}
.lo_logo_bottom img {
    clip-path:inset(0 100% 0 0);
    animation:revealBottom 1s ease forwards;
    animation-delay: 1s;
}
@keyframes revealTop{
    to{clip-path:inset(0 0 0 0);}
}
@keyframes revealBottom{
	to{clip-path:inset(0 0 0 0);}
}
.loading-hide{
    animation:depthOut .6s cubic-bezier(.7,0,.3,1) forwards;
}
.loading-hide .loading_blur{
	animation:bgBlur .6s ease forwards;
}
@keyframes depthOut{
to{transform:scale(1.15); opacity:0;}
}
/* ローディングここまで */

/* アニメーション */
body:not(.loading) header {
	animation: fade-down-anm .2s .5s forwards cubic-bezier(0.37, 0, 0.63, 1);
}
@keyframes fade-down-anm {
	0% {transform: translateY(-20px); opacity: 0;}
	100% {transform: translateY(0); opacity: 1;}
}
body:not(.loading) .fv_top_copy span {
	animation: fade-copy-anm 1s .6s forwards cubic-bezier(0.37, 0, 0.63, 1);
}
@keyframes fade-copy-anm {
	0% {opacity: 0; clip-path: inset(0 100% 0 0);}
	100% {opacity: 1; clip-path: inset(0 0 0 0)}
}
@keyframes arrow_move1 {
	0% {right: 15px;}
	50% {right: 8px;}
	100% {right: 15px;}
}
.fade-up {
	opacity: 0;
}
.fade-up.js-show{
	animation: fade-up-anm .8s .1s forwards cubic-bezier(0.37, 0, 0.63, 1);
}
@keyframes fade-up-anm {
	0% {transform: translateY(50px); opacity: 0;}
	100% {transform: translateY(0); opacity: 1;}
}
.fadeIn {
	opacity: 0;
}
.fadeIn.js-show {
	animation: fadeIn-anm .6s forwards cubic-bezier(0.37, 0, 0.63, 1);
}
@keyframes fadeIn-anm {
	0% {opacity: 0; filter: blur(6px);}
	100% {opacity: 1; filter: blur(0px);}
}
.fade-ttl {
	opacity: 0;
}
.fade-ttl.js-show {
	animation: fade-ttl-anm .6s forwards cubic-bezier(0.37, 0, 0.63, 1);
}
@keyframes fade-ttl-anm {
	0% {opacity: 0; clip-path: inset(0 0 100% 0);}
	100% {opacity: 1; clip-path: inset(0 0 0 0)}
}
.fade-ray.js-show {
	animation: fade-ray-anm .8s .3s forwards cubic-bezier(0.37, 0, 0.63, 1);
}
@keyframes fade-ray-anm {
	0% {opacity: 0; clip-path: inset(0 100% 0 0);}
	100% {opacity: .15; clip-path: inset(0 0 0 0)}
}
/* アニメーション */

/* ++++++++++++++ */

@media screen and (min-width: 851px) {
	.opacity:hover {opacity: .5; transition: .3s;}
	.btn_area .btn_square:hover {background-color: #555;}
	.btn_area.btn_fff .btn_square:hover {background-color: #fff;}
	.btn_area .btn_square:hover span {color: #FFF;}
	.btn_area.btn_fff .btn_square:hover span {color: #555;}
	.btn_area .btn_square:hover::after {animation: arrow_move1 0.6s linear 1; background-image: url(../images/arrow02.svg);}
	.btn_area.btn_fff .btn_square:hover::after {animation: arrow_move1 0.6s linear 1; background-image: url(../images/arrow01.svg);}
	.plan-prev:hover, .plan-next:hover {background: #fff;}
	.plan-prev:hover::before {background-image: url(../images/arrow04.svg);}
	.plan-next:hover::before {background-image: url(../images/arrow01.svg);}
	.contact_txt .con_btn a:hover {background: #555; color: #fff;}
	.contact_txt .con_btn a.con_insta:hover:before {background-image: url(../images/icon03.svg);}
	.contact_txt .con_btn a.con_line:hover:before {background-image: url(../images/icon04.svg);}
	.he_btn a:hover {background: #fff; color: #555;}
	.he_btn a.he_insta:hover::before {background-image: url(../images/icon01.svg);}
	.he_btn a.he_line:hover::before {background-image: url(../images/icon02.svg);}
	.loc_btn:hover {background: #fffcf5; border:1px solid #c8a46c;color:#c8a46c;}
	.gallery_item:hover img{transform:scale(1.05);}
}/* 851 */




