@charset "utf-8";
body{
    min-width: 1300px;
    position: relative;
    margin :0 auto;
	text-align: justify;
	text-justify: inter-ideograph;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-family: 'ZenKakuGothicNew';
}
@font-face{
	src:  url('../font/ZenKakuGothicNew.woff') format('woff');
	font-family: 'ZenKakuGothicNew';
	font-style: normal;
	font-display: swap;
}
@font-face{
	src:  url('../font/ZenKakuGothicNew-Medium.woff') format('woff');
	font-family: 'ZenKakuGothicNew-Medium';
	font-style: normal;
	font-display: swap;
}
@font-face{
	src:  url('../font/Manrope.woff') format('woff');
	font-family: 'Manrope';
	font-style: normal;
	font-display: swap;
}
a{transition: all .5s ease!important;}
a[href^="tel:"] {pointer-events: none;}

/* 共通 */
.mb0{margin-bottom: 0px!important;}/*追加*/
.mb10,.li_mb10 > *:not(:last-child){margin-bottom: 10px!important;}
.mb20{margin-bottom: 20px!important;}
.mb30,.mpb30{margin-bottom: 30px!important;}
.mb40,.mpb40{margin-bottom: 40px!important;}
.mb50{margin-bottom: 50px!important;}
.mb60,.mpb60{margin-bottom: 60px!important;}
.mb80{margin-bottom: 80px!important;}
.mb100{margin-bottom: 100px!important;}
.mb130{margin-bottom: 130px!important;}
.mb160{margin-bottom: 160px!important;}
.mb180{margin-bottom: 180px!important;}
.mt80{margin-top: 80px!important;}/*追加*/
.mpb30{padding-bottom: 30px!important;}
.mpb40{padding-bottom: 40px!important;}
.mpb60{padding-bottom: 60px!important;}
.li_mb15 > *:not(:last-child){margin-bottom: 15px!important;}
.fs18,.fs18 *{font-size: clamp(15px, 1.1vw, 18px)!important;}
.fs20,.fs20 *{font-size: clamp(16px, 1.3vw, 20px)!important;}
.fs22,.fs22 *{font-size: clamp(18px, 1.5vw, 22px)!important;}
.fs24,.fs24 *{font-size: clamp(20px, 1.8vw, 24px)!important;}
.fs26,.fs26 *{font-size: clamp(22px, 1.9vw, 26px)!important;}
.fs30,.fs30 *{font-size: clamp(24px, 2vw, 30px)!important;}
.fs35,.fs35 *{font-size: clamp(28px, 2.3vw, 35px)!important;}
.sp_on{display: none;}
.ffm{font-family: 'Manrope';}
.wb{
	font-family: 'ZenKakuGothicNew-Medium';
	font-weight: 500;
}
.fcp{color: #b484bc !important;/*追加*/}
.fcb{color: #897f79;}
.fcw{color: #fff;}
.center,.center_l{text-align: center;}
.lh1-4,.lh1-4 *{line-height: 1.4;}
.lh1-8,.lh1-8 *{line-height: 1.8;}
.lh2{line-height: 2;}
.ls1-5{letter-spacing: 0.15rem;}
.text_link{
	color: #b484bc;
	text-decoration: underline;
}
.m_auto{margin: 0 auto;}
.marker{background:linear-gradient(transparent 60%, rgba(180,132,188,0.3) 60%);}

img {/*追加*/
    image-rendering: crisp-edges;
    image-rendering: -webkit-optimize-contrast;
}

.c_gray {/*追加*/
	color:#999 !important;
}


/* hover共通
------------------------------------------------------------*/
@media (any-hover: hover){a.logo:hover,a.f_logo:hover,#follow_btn a:hover{opacity: 0.7;}}

/* loading
------------------------------------------------------------*/
#loading{
	width: 100%;
	height: 100%;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999!important;
}

/* ヘッダー
------------------------------------------------------------*/
h1{
	font-size: 14px;
	color: #808080;
}
.ht_btn{display: flex;}
.ht_btn a{
	display: block;
	width: fit-content;
	border: 1px #b484bc solid;
	padding: 10px 30px 13px;
	border-radius: 80px;
}
.ht_btn > li:not(:last-child){margin-right: 10px;}
a.return_btn{background-color: #b484bc;}
a.h_tel{background-color: #fff;}
@media (any-hover: hover){
	a.return_btn:hover{
		background-color: #a174aa;
		border-color: #a174aa;
	}
}
#tel_sp{
	display: none;
	position: fixed;
	top: 0;
	right: 48px;
	z-index: 2;
}
#tel_sp img{
	width: 44px;
	border-radius: 0 0 5px 5px;
}

/* ナビゲーション
------------------------------------------------------------*/
/* drop_nav_box */
.pc-nav > ul > li,.drop_nav_box{position: relative;}
.pc-nav .drop_nav_box div{
	width: 580px;
	visibility: hidden;
	position: absolute;
	opacity: 0;
	transition: opacity .3s linear;
	background-color: #fff;
	border: 1px #b484bc solid;
	border-radius: 8px;
	padding: 30px;
	z-index: 2;
}
.pc-nav .drop_nav_box:hover div{
	visibility: visible;
	opacity: 1.0;
}
.pc-nav .drop_nav_box p{cursor: pointer;}
.pc-nav .drop_nav_box div ul{
	display: flex;
	justify-content: space-between;
	align-content: center;
	flex-wrap: wrap;
}
.pc-nav .drop_nav_box div ul > li{width: 48%;}
.pc-nav .drop_nav_box div ul > li:not(:last-child){
	border-bottom: 1px #b484bc dashed;
	margin-bottom: 15px;
	padding-bottom: 15px;
}
@media (any-hover: hover){.pc-nav > ul > li > a:hover,.pc-nav > ul > li > p:hover,.drop_nav_box a:hover{color: #b484bc;}}


/* ついてくるnav */
.clone-nav{
	max-width: 1350px!important;
	width: 85%!important;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 5;
	transition: .3s;
	transform: translateY(-150%);
	background-color: rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(15px);
	box-shadow: 0 0 8px rgba(150, 150, 150, 0.2);
	padding: 30px 0 18px;
	border-radius: 0 0 8px 8px;
}
.is-show{transform: translateY(0);}
.clone-nav > ul > li:not(:first-child){margin-left: 35px;}
.clone-nav > ul > li > a,.clone-nav > ul > li > p{font-size: clamp(15px, 1.1vw, 18px)!important;}

/* ドロワー */
.drawer-hamburger{display: none!important;}
.drawer-hamburger{
	width: 28px!important;
	height: 28px!important;
	padding: 8px!important;
	background-color: #b484bc!important;
	border-radius: 0 0 0 5px;
	position: fixed;
	top: 0!important;
	right: 0!important;
	z-index: 99!important;
}
.drawer-hamburger-icon,.drawer-hamburger-icon:after,.drawer-hamburger-icon:before{
	width: 18px!important;
	height: 1px !important;
	background-color: #fff!important;
	border-radius: 30px;
	margin: 0 auto!important;
}
.drawer-hamburger-icon{top: 0px!important;}
.drawer-open .drawer-hamburger-icon{background-color: transparent !important;}
.drawer-hamburger-icon:after{top: 6px !important;}
.drawer-hamburger-icon:before{top: -6px !important;}
.drawer-open .drawer-hamburger-icon:after, .drawer-open .drawer-hamburger-icon:before{top: 0 !important;}
.drawer-nav{z-index: 10!important;width: 100% !important;background: #fff;height: 100%!important;}
.drawer--right.drawer-open .drawer-hamburger{right: 225px !important;}
.drawer-overlay{
	background: none !important;
	display: none!important;
}
.drawer--top .drawer-nav{
	opacity: 0!important;
	transition: opacity .3s linear!important;
	visibility: hidden;
}
.drawer--top .drawer-nav,.drawer--top.drawer-open .drawer-nav{top: 0!important;}
.drawer--top.drawer-open .drawer-nav a{pointer-events: auto!important;}
.drawer--top.drawer-open .drawer-nav{
	opacity: 1!important;
	visibility: visible;
}

/* この下でデザイン */
.drawer-nav{
	width: 100%;
	height: 100%!important;
	position: relative;
	background-color: #f7f1f8!important;
	background-image: url("../images/blur_circle_thin.webp"),url("../images/blur_circle_thin.webp");
	background-repeat: no-repeat,no-repeat;
	background-size: 380px;
	background-position: 110% top,-80px bottom;
	padding-bottom: 50px;
}
.drawer-menu{
	width: 100%;
	height: 100%;
	margin: 0 auto!important;
	overflow-x: hidden!important;
	overflow-y: auto!important;
	-webkit-overflow-scrolling: touch!important;
}
.drawer-menu > li{
	width: 80%;
	margin: 0 auto;
}
.drawer-menu > li:first-child{padding-top: 80px;}
.drawer-menu > li:last-child{padding-bottom: 80px;}
.drawer-menu > li:not(:last-child){
	border-bottom: 1px #b484bc dashed;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
.drawer-menu > li > a,.drawer-menu > li > p{
	font-size: clamp(18px, 1.5vw, 22px);
	padding: 0 10px;
}
.drawer-menu .drop_nav_box div{
	display: none;
	margin-top: 15px;
	background-color: #fff;
	padding: 30px 25px;
	border-radius: 8px;
}
.drawer-menu .drop_nav_box div ul > li{
	display: flex;
	align-items: center;
}
.drawer-menu .drop_nav_box div ul > li::before{
	content: '';
	width: 5px;
	aspect-ratio: 1 / 1;
	background-color: #eae3dc;
	border-radius: 50%;
	margin-right: 8px;
}
.drawer-menu .drop_nav_box div ul > li:not(:first-child){margin-top: 10px;}
.drawer-menu .drop_nav_box p{position: relative;}
.drawer-menu .drop_nav_box p::before,.drawer-menu .drop_nav_box p::after{
	content: '';
	width: 15px;
	height: 1px;
	background-color: #b484bc;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	margin: 0 auto;
	transition: transform .3s;
}
.drawer-menu .drop_nav_box p::after{transform: rotate(90deg);}
.drawer-menu .drop_nav_box p.active::after{transform: rotate(180deg);}
.drawer-menu .sp_on{display: block!important;}


/* follow_btn
------------------------------------------------------------*/
#follow_btn{
	position: fixed!important;
	top: 13%;
	right: 0;
	z-index: 2;
}
#follow_btn li:not(:last-child){margin-bottom: 10px;}
#follow_btn img{
	display: block;
	border-radius: 5px 0 0 5px;
	box-shadow: -4px 0px 8px 0px rgba(112, 112, 112, 0.3);
}

/* コンテンツ
------------------------------------------------------------*/
.content{padding: 180px 0 180px/*0*/;}/*変更*/
.content_100{padding: 100px 0;}
.content_120{padding: 120px 0;}
.content_170{padding: 170px 0;}
.content_top{padding-top: 180px;}
.content_btm{padding-bottom: /*180px*/0;}/*変更*/
.content_top70{padding-top: 70px;}
.content_top100{padding-top: 100px;}
.inner_box01{max-width: 1300px;}
.inner_box02{max-width: 1680px;}
.inner_box03{max-width: 1070px;}
.inner_box01,.inner_box02,.inner_box03{
	width: 90%;
	margin: 0 auto;
}
.bgp{background-color: #f7f1f8;}
.bgp_dark{background-color: #b484bc;}
.bgb{background-color: #f7f3f2;}
.bgb_dark{background-color: #eae3dc;}
.bt_dashed{border-top: 1px #897f79 dashed;}
.bb_dashed{border-bottom: 1px #897f79 dashed;}
.bbp_dashed{border-bottom: 1px #b484bc dashed;}
.br8{border-radius: 8px;}
.grad_top,.grad_btm{position: relative;}
.grad_top::before,.grad_btm::after{
	content: '';
	width: 100%;
	height: 110px;
	transform-origin: center top;
	display: block;
	position: absolute;
	left: 0;
}
.grad_top::before{
	background: url("../images/grad_top.webp") no-repeat center bottom / 100% 100%;
	top: 0;
}
.grad_btm::after{
	background: url("../images/grad_btm.webp") no-repeat center bottom / 100% 100%;
	bottom: 0;
}


/* アニメーション
----------------------------------------------*/
.fade_up{
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .7s, transform .7s;
}
span.fade_up{display: block;}
.fade_up.is-inview{
  opacity: 1;
  transform: translateY(0);
  transition-delay: .7s;
}

/* タイトル
----------------------------------------------*/
.title p{
	font-size: clamp(60px, 6vw, 82px);
	letter-spacing: 0.3rem;
	margin-bottom: 8px;
}
.title h2{font-size: clamp(24px, 2vw, 30px);}

/* bg_text */
.bg_text span{
	display: block;
	width: fit-content;
	background: linear-gradient(90deg,rgba(197, 157, 206, 1) 0%, rgba(249, 175, 186, 1) 100%);
	color: #fff;
}
.bg_text.fs30 span{
	line-height: 1.8;
	padding: 13px 40px 18px;
}
.bg_text.fs20 span{
	line-height: 1.4;
	padding: 5px 20px 8px;
	border-radius: 3px;
}
.bg_text span:not(:last-child){margin-bottom: 10px;}
.bg_text.w140{width: 140px;}
.bg_text.w140 span{
	width: 100%;
	text-align: center;
	padding: 5px 0 8px;
}

/* ボタン
----------------------------------------------*/
a.btn_w,a.btn_p{
	display: block;
	font-size: clamp(18px, 1.5vw, 22px);
	padding: 25px 30px;
	border-radius: 80px;
}
a.btn_w{
	color: #b484bc;
	background: #fff url("../images/btn_icon_p.webp") no-repeat 92% center / 7px;
}
a.btn_p{
	color: #fff;
	background: #b484bc url("../images/btn_icon_w.webp") no-repeat 92% center / 7px;
}
a.btn_w.w320{max-width: 320px;}
a.btn_w.w420{max-width: 420px;}
a.btn_p.w635{max-width: 635px;}
@media (any-hover: hover){
	a.btn_w:hover{
		background-color: #b484bc;
		background-image: url("../images/btn_icon_w.webp");
		color: #fff;
	}
	a.btn_p:hover,.bgp_dark a.btn_w:hover{
		background-color: #eae3dc;
		color: #b484bc;
		background-image: url("../images/btn_icon_p.webp");
	}
}

/* フレックスボックス
----------------------------------------------*/
.flex_between,.flex_center,.flex_start,.al_start,.al_center{
	display: flex;
	flex-wrap: wrap;
}
.flex_between{justify-content: space-between;}
.flex_center{justify-content: center;}
.flex_start{justify-content: flex-start;}
.al_start{align-items: flex-start;}
.al_center{align-items: center;}
.c2 > *{width: 48%;}
.c3 > *{width: 31.5%;}
.img_box_l,.img_box_r{
	display: flex;
	align-items: flex-start;
}
.img_box_l > img,.img_box_r > img{
	display: block;
	flex-shrink: 0;
}
.img_box_l > div,.img_box_r > div{width: 100%;}

/* 名前
----------------------------------------------*/
.name *{text-align: right;}
.name > div{
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
}
.name > div *{line-height: 1;}
.name > div p{
	font-size: clamp(30px, 2.5vw, 40px);
	margin-left: 20px;
}

/* フッター
------------------------------------------------------------*/
footer .flex_between{align-items: center;}
.map_box{
	width: 50%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(8, 1fr);
    gap: 15px;
}
.map_box *{border-radius: 8px;}
.map_box > div{
    grid-column: span 2 / span 2;
    grid-row: span 8 / span 8;
}
.map_box > figure:nth-child(2){
	grid-row: span 4 / span 4;
    grid-column-start: 3;
}
.map_box > figure:nth-child(3){
    grid-row: span 4 / span 4;
    grid-column-start: 3;
    grid-row-start: 5;
}
.map_box iframe{
	width: 100%!important;
	height: 100%!important;
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
}
.info_con{width: 43%;}
.info_con p{line-height: 1.8;}
#pagetop a{
	display: block;
	width: fit-content;
	margin: 0 0 -25px auto;
}
#pagetop a img{transition: all 0.3s ease 0s;}
@media (any-hover: hover){#pagetop a:hover img{transform: translateY(-5px);}}
.copy{
	color: #fff;
	background-color: #b484bc;
	padding: 40px 0;
}

/* 1500px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1500px){
	.clone-nav > ul > li:not(:first-child){margin-left: 25px;}
	.clone-nav .drop_nav_box div{width: 490px!important;}
}

/* 1025px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1025px){
	body{min-width: 980px!important;}
	.drawer-hamburger{display: block!important;}
	.drawer_non,.pc-nav{display: none!important;}
	a[href^="tel:"] {pointer-events: auto;}
	
	/* 共通 */
	.mb20{margin-bottom: 10px!important;}
	.mb30,.mpb30{margin-bottom: 20px!important;}
	.mb40,.mpb40{margin-bottom: 25px!important;}
	.mb50,.mb60{margin-bottom: 35px!important;}
	.mb80{margin-bottom: 50px!important;}
	.mb100{margin-bottom: 60px!important;}
	.mb130,.mb160{margin-bottom: 70px!important;}
	.mb180{margin-bottom: 90px!important;}
    .mt80{margin-top: 50px!important;}/*追加*/
	.mpb30{padding-bottom: 20px!important;}
	.mpb40{padding-bottom: 25px!important;}
	.mpb60{
		margin-bottom: 40px!important;
		padding-bottom: 40px!important;
	}
	.fs18,.fs18 *,.fs20,.fs20 *{font-size: 14px!important;}
	.fs22,.fs22 *,.fs24,.fs24 *{font-size: 16px!important;}
	.fs26,.fs26 *,.fs30,.fs30 *{font-size: 17px!important;}
	.fs35,.fs35 *{font-size: 20px!important;}
	
	/* ヘッダー
	--------------------------------------*/
	h1{
		font-size: 12px;
		margin-bottom: 8px!important;
		padding-right: 0/*80px*/;
	}
	a.logo img{width: 280px!important;}
	.ht_btn{display: none!important;}
	#tel_sp{display: block;}
	
	/* follow_btn
	--------------------------------------*/
	#follow_btn{
		width: 100%;
		top: inherit;
		bottom: 0;
		display: flex;
		justify-content: space-between;
	}
	#follow_btn li{
		width: 33%;
		margin-bottom: 0!important;
	}
	#follow_btn li a,#follow_btn img{display: block;}
	#follow_btn li a{
		border-radius: 5px 5px 0 0;
		padding: 15px 0;
	}
	#follow_btn li:first-child a{background-color: #b484bc;}
	#follow_btn li:nth-child(2) a{background-color: #eae3dc;}
	#follow_btn li:last-child a{background-color: #897f79;}
	#follow_btn img{
		width: 80px;
		box-shadow: none;
		border-radius: 0;
		margin: 0 auto;
	}
	
	/* コンテンツ
	--------------------------------------*/
	.content{padding: 75px 0 90px/*0*/; }
	.content_100{padding: 45px 0;}
	.content_120{padding: 60px 0;}
	.content_170{padding: 60px 0;}
	.plaid_bg.content_170{padding: 75px 0;}
	.content_top{padding-top: 75px;}
	.content_top100{padding-top: 45px;}
	.content_btm{padding-bottom: 90px;}
	.grad_btm::after{height: 80px;}
	
	/* タイトル
	-------------------------------*/
	.title.mb50{margin-bottom: 25px!important;}
	.title p{
		font-size: 40px!important;
		letter-spacing: 0.15rem!important;
	}
	.title h2{font-size: 18px !important;}
    

	/* bg_text */
	.bg_text.fs30 span{
		line-height: 1.4;
		padding: 7px 23px 11px;
	}
	.bg_text.fs20 span{padding: 5px 20px;}
	.bg_text.w140{width: 100px;}
	.bg_text.w140 span{padding: 4px 0 5px;}

	
	/* ボタン
	-------------------------------*/
	a.btn_w,a.btn_p{
		font-size: 14px;
		padding: 18px 25px;
		background-size: 5px;
		background-position: 94% center;
	}
	a.btn_w.w320{max-width: 220px;}
	a.btn_w.w420{max-width: 320px;}
	
	/* 名前
	-------------------------------*/
	.name .fs22,.name .fs26{font-size: 14px!important;}
	.name > p{margin-bottom: 8px;}
	.name > div p{
		font-size: 24px;
		margin-left: 13px;
		padding-top: 3px;
	}
	
	/* フッター
	--------------------------------------*/
	.map_box{
		width: 53%;
		gap: 10px;
	}
	.map_box *{border-radius: 5px;}
	a.f_logo,a.f_tel{display: block;}
	a.f_logo,a.f_tel{width: 250px;}
	#pagetop a{margin-bottom: -18px;}
	#pagetop a img{width: 150px;}
	.copy{
		padding: 25px 0 75px;
		background-color: #a174aa;
	}
}

/* 750px以下から
------------------------------------------------------------*/
@media only screen and (max-width:750px){
	body{min-width: 700px!important;}
		
	/* follow_btn
	--------------------------------------*/
	#follow_btn li a{padding: 12px 0;}
	#follow_btn img{width: 65px;}
	
	/* ナビゲーション
	--------------------------------------*/
	/* ドロワー */
	/* この下でデザイン */
	.drawer-nav{
		background-size: 250px;
		background-position: 130% top,-40px bottom;
		padding-bottom: 40px;
	}
	.drawer-menu > li{width: 90%;}
	.drawer-menu > li:first-child{padding-top: 55px;}
	.drawer-menu > li:last-child{padding-bottom: 55px;}
	.drawer-menu > li:not(:last-child){
		padding-bottom: 25px;
		margin-bottom: 25px;
	}
	.drawer-menu > li > a,.drawer-menu > li > p{
		font-size: 16px;
		padding: 0 5px;
	}
	.drawer-menu .drop_nav_box div{
		padding: 25px 18px;
		border-radius: 6px;
	}
	
	/* コンテンツ
	--------------------------------------*/
	/* タイトル
	-------------------------------*/
	.title.mb100{margin-bottom: 40px!important;}
	.title p{margin-bottom: 0!important;}
	
	/* フレックスボックス
	-------------------------------*/
	.c2 > *{width: 100%;}
	.c3 > *{width: 48.5%;}
	.img_box_l,.img_box_r{flex-wrap: wrap;}
	.img_box_r > img{order: 1;}
	.img_box_r > div{order: 2;}
	
	/* フッター
	--------------------------------------*/
	.map_box,.info_con{width: 100%;}
	.info_con{
		order: 1;
		margin-bottom: 50px;
	}
	.info_con .mb20{margin-bottom: 20px!important;}
	.map_box{order: 2;}
	.copy{padding-bottom: 65px;}
}

/* 500px以下から
------------------------------------------------------------*/
@media only screen and (max-width:500px){
    body{
		min-width: inherit!important;
		width: 100%;
	}
	
	/* 共通 */
	.fs22,.fs22 *{font-size: 14px!important;}
	.fs35,.fs35 *{font-size: 18px!important;}
	.center_l{text-align: left;}
	.sp_non{display: none;}
	.sp_on{display: block;}
	ul.lh1-8 *{line-height: 1.6;}
	
	/* ヘッダー
	--------------------------------------*/
	a.logo img{width: 220px!important;}
	
	/* コンテンツ
	--------------------------------------*/
	.plaid_bg.content_170{padding: 60px 0;}
	
	/* タイトル
	-------------------------------*/
	.title h2{line-height: 1.5 !important;}
	
	/* フレックスボックス
	-------------------------------*/
	.c3 > *{width: 100%;}

	/* フッター
	--------------------------------------*/
	#pagetop a{margin-bottom: -15px;}
	#pagetop a img{width: 130px;}
	.copy{
		font-size: 12px!important;
		padding: 30px 0 70px;
	}
}
