@charset "UTF-8";
/*----------------------------------------
	top CSS

	- mv
	- obi
	- point
	- top_bg
	- top_inner

-----------------------------------------*/

:root {
  --main_green: #204539;
  --ye_color: #E2C384;
}
a {
  text-decoration: none;
  opacity: 1;
  transition: opacity .3s ease;
}
@media (hover: hover) {
  a:hover {
    opacity: .7;
  }
}

/*-----------------------------------------
	base
-----------------------------------------*/
.mid_outline {
  font-size: 50px;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 1.44;
}
@media screen and (max-width: 1300px) {
  .mid_outline {
    font-size: calc((48 / 1300) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mid_outline {
    font-size: 24px;
  }
}

/* more button */
.navi_buttom {
  width: 260px;
  padding: 20px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  position: relative;
  color: #373500;
  border: 1px solid #373500;
}
.navi_buttom::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 30px;
  height: 1px;
  background-color: #373500;
}
@media screen and (max-width: 1300px) {
  .navi_buttom {
    width: 20vw;
    min-width: 200px;
  }
}
@media screen and (max-width: 768px) {
  .navi_buttom {
    width: 100%;
    max-width: 350px;
  }
}

p.cap {
  font-size: 11px;
  line-height: 1.4545;
  font-weight: 400;
  letter-spacing: 0;
  width: 100%;
}


/*-----------------------------------------
	animate関連
-----------------------------------------*/
@media screen and (min-width: 769px) {
  .fadeInLeftTrigger {
    opacity: 0;
  }
  .fadeInRightTrigger {
    opacity: 0;
  }
  .anime_time {
    animation-duration: 1.2s; /* アニメーションの時間 */
    animation-delay: .3s; /* アニメーション開始時間 */
  }
}


/*-----------------------------------------
	mv
-----------------------------------------*/
.mv .slide{
  position: relative;
}
.mv .slide img{
  width: 100%;
}
.mv .slide01 .set01 {
  content: '';
  position: absolute;
  width: 60vw;
  top: 10vw;
  left: 50%;
  transform: translateX(-50%);
}
.mv .slide02 .set01 {
  content: '';
  position: absolute;
  width: 35.5625vw;
  top: 3.8125vw;
  left: 18.75vw;
}
.mv .slide02 .set02 {
  content: '';
  position: absolute;
  width: 12.9375vw;
  bottom: 15.4375vw;
  left: 17.575vw;
}
.mv .slide04 .set01 {
  content: '';
  position: absolute;
  width: 45.43vw;
  top: 1.5vw;
  right: 6.56vw;
}
.mv .slide04 .set02 {
  content: '';
  position: absolute;
  width: 34.125vw;
  top: 6.25vw;
  left: 14.375vw;
}
.mv .slide04 .set03 {
  content: '';
  position: absolute;
  width: 30vw;
  bottom: 6vw;
  left: 16.375vw;
}

.slide01.swiper-slide[class*=-active] .set01 {
  transition-delay: 0s;
  transform: translateX(-50%) scale(1.05);
}

.slide01.swiper-slide[class*=-active] .set01 {
  animation: mv01-fadeIn 2s 0.5s ease both;
}

@keyframes mv01-fadeIn {
  0% {
    transform: translateX(-50%) scale(.5);
    opacity: 0;
    filter: blur(300px);
  }
  100% {
    transform: translateX(-50%) scale(1);
    opacity: 1;
    filter: blur(0);
  }
}



.slide04 .element {
  opacity: 0;
}
.slide04.swiper-slide[class*=-active] .element {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}
.slide04.swiper-slide[class*=-active] .set01 {
  animation: fadeInAndSlideUp 1s 1.5s forwards;
}
.slide04.swiper-slide[class*=-active] .set02 {
  animation: fadeInAndSlideUp 1s 2.2s forwards;
}
.slide04.swiper-slide[class*=-active] .set03 {
  animation: fadeInAndSlideUp 1s 2.5s forwards;
}

/* 他の要素のアニメーションも追加可能 */

@keyframes fadeInAndSlideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media screen and (max-width: 768px) {
  .mv .slide01 .set01 {
    width: 80vw;
    top: 20.5vw;
  }
  .mv .slide04 .set01 {
    width: 89vw;
    top: 6.4vw;
    right: 5vw;
  }
  .mv .slide02 .set01 {
    width: 76.2666vw;
    top: 38.1333vw;
    left: 0;
  }
  .mv .slide02 .set02 {
    width: 34.1333vw;
    bottom: 10.29333vw;
    left: 16.8vw;
  }
  .mv .slide04 .set02 {
    width: 22.6666vw;
    top: 95.466vw;
    left: 14vw;
  }
  .mv .slide04 .set03 {
    width: 43.2vw;
    bottom: 6vw;
    left: auto;
    right: 14vw;
    top: 98vw;
  }
}


/*-----------------------------------------
	obi
-----------------------------------------*/
.obi {
  text-align: center;
  padding: 50px 5% 55px;
  background: rgb(240,224,172);
background: linear-gradient(90deg, rgba(240,224,172,1) 0%, rgba(241,232,210,1) 50%, rgba(240,224,172,1) 100%);
}

.obi h2{
	margin-bottom: 30px;
	font-size: 58px;
	font-weight: bold;
	letter-spacing: 0.1em;
	background: linear-gradient(0deg, rgb(235 235 235) 0%, rgb(167 167 167) 22%, rgb(255 255 255) 50%, rgba(143,143,143,1) 78%, rgba(98,98,98,1) 100%);
	color: #f0f0f0;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	max-width: 850px;
	margin: 0 auto;
}

.obi p{
	margin-bottom: -11px;
	font-size: 30px;
	font-weight: 600;
	letter-spacing: 0.03em;
	background: linear-gradient(0deg, rgb(165 165 165) 0%, rgba(143,143,143,1) 22%, rgb(255 255 255) 50%, rgba(143,143,143,1) 78%, rgb(165 165 165) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.obi p span{
  font-size: 29px;
}
.obi .flex_box{
  width: 95%;
  display: flex;
  gap: 20px;
  justify-content: center;
  margin: 40px auto 10px;
}
.salon_close {
  width: 90%;
  max-width: 700px;
  margin: 0 auto;
  padding: 45px 0 10px;
}
.salon_close img {
  margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
  .obi {
    padding: 30px 5% 30px;
  }
  .obi h2{
    font-size: 26px;
  }
  .obi p{
		background: rgb(223 223 223);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		margin-bottom: 3px;
		font-size: 22px;
		line-height: 1.1;
		}
  .obi p span{
    font-size: 18px;
  }
  .obi .flex_box{
    width: 100%;
    gap: 10px;
    margin: 15px auto 0;
  }
  .salon_close {
    padding: 30px 0 0;
  }
  .salon_close img {
    margin-bottom: 15px;
  }
}
/*-----------------------------------------
	point
-----------------------------------------*/
.point {
  padding: 2% 1%;
}
.point picture img {
	max-width: 1300px;
  width: 90%;
}
@media screen and (max-width: 768px) {
  .point {
    padding: 25px 20px;
  }
	.point picture img {
		max-width: 90%;
	}
}

/*-----------------------------------------
	top_request
-----------------------------------------*/
.top_request {
  background: url(../img/top/top_bg01.jpg) no-repeat center;
  background-size: cover;
  padding: 135px 0;
}
.top_request .box {
  background: url(../img/top/top_request_bg.png) no-repeat center;
  background-size: cover;
  width: 833px;
  height: 272px;
  margin: 0 auto 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.top_request .box h3 {
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.56;
  margin-bottom: 20px;
  font-weight: 300;
}
.top_raijyo {
	margin: 0 auto;
	text-align: center;
	display: flex;
	justify-content: center;
	gap: 0 50px;
  margin-bottom: 50px;
}
.top_raijyo a.raijyo {
	display: inline-block;
}

@media screen and (max-width: 1100px) {
  .top_request {
    padding: 12.27vw 0;
  }
  .top_request .box {
    width: 75.7272vw;
    height: 24.7272vw;
  }

  .top_request .box h3 {
    font-size: calc((16 / 1100) * 100vw);
  }
  .top_request .box a.docu {
    width: 35vw;
    font-size: calc((25 / 1100) * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .top_request {
    background: url(../img/top/top_bg01_sp.jpg) no-repeat center;
    background-size: cover;
    padding: 40px 0;
  }
  .top_request .box {
    background: url(../img/top/top_request_bg_sp.png) no-repeat center;
    background-size: cover;
    width: 92.1333vw;
    height: 81.333vw;
  }
  .top_request .box h3 {
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 20px;
  }
  .top_request .box a.docu,.top_request a.raijyo {
    width: 90%;
    max-width: 350px;
    font-size: 15px;
  }
  .top_raijyo {
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
  }
  .top_raijyo a {
    margin-bottom: 20px;

  }

}

/*-----------------------------------------
	top_concept
-----------------------------------------*/
.top_concept {
  background: url(../img/top/top_bg02.jpg) no-repeat center;
  background-size: cover;
}
.top_concept  .content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 65px 0 251px;
}
.top_concept  .content h3 {
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--ye_color);
  margin-bottom: 50px;
}
.top_concept  .content .img {
  width: 344px;
  margin-bottom: 25px;
}
.top_concept  .content p {
  color: #fff;
  letter-spacing: 0.12em;
  line-height: 3.125;
  margin-bottom: 50px;
}
.top_concept  .content h4 {
  color: #fff;
  font-size: 45px;
  font-weight: 300;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1000px) {
  .top_concept  .content {
    padding: 6.5vw 0 24vw;
  }
  .top_concept  .content h3 {
    font-size: calc((30 / 1000) * 100vw);
    margin-bottom: 5vw;
  }
  .top_concept  .content .img {
    width: 34.4vw;
    margin-bottom: 2.5vw;
  }
  .top_concept  .content p {
    font-size: calc((16 / 1000) * 100vw);
    margin-bottom: 5vw;
  }
  .top_concept  .content h4 {
    font-size: calc((45 / 1000) * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .top_concept .content {
    padding: 40px 0 120px;
  }
  .top_concept  .content h3 {
    font-size: 18px;
    margin-bottom: 18px;
  }
  .top_concept  .content .img {
    width: 40%;
    margin-bottom: 20px;
  }
  .top_concept  .content p {
    font-size: 14px;
    line-height: 2.1;
    margin-bottom: 25px;
  }
  .top_concept  .content h4 {
    font-size: 18px;
  }
}


/*-----------------------------------------
	top_navi
-----------------------------------------*/
.top_navi {
  margin-bottom: 210px;
}
.top_navi .navi1 {
  background: url(../img/top/top_bg03.jpg) no-repeat center;
  background-size: cover;
  position: relative;
  padding-bottom: 300px;
}
.top_navi .block {
  overflow-x: hidden;
}
.top_navi .navi2 {
  background: url(../img/top/top_bg04.jpg) no-repeat center;
  background-size: cover;
  position: relative;
  padding-bottom: 225px;
}
.top_navi .navi3 {
  background: url(../img/top/top_bg05.jpg) no-repeat center;
  background-size: cover;
  position: relative;
  padding-bottom: 232px;
}
.top_navi .navi1 .img_boxes {
  content: '';
  position: absolute;
  top: -115px;
  right: 0;
  width: 43.125vw;
}
.top_navi .navi2 .img_boxes {
  content: '';
  position: absolute;
  top: -50px;
  left: 0;
  width: 48.56vw;
}
.top_navi .navi3 .img_boxes {
  content: '';
  position: absolute;
  top: -105px;
  right: 0;
  width: 48.56vw;
}
.top_navi .navi1 .text,
.top_navi .navi3 .text {
  background: url(../img/top/top_bg01.jpg) no-repeat center;
  background-size: cover;
  padding: 125px 0 80px;
  width: 84.125vw;
}
.top_navi .text .set {
  width: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.top_navi .text .set h3 {
  color: var(--main_green);
  margin-bottom: 60px;
}
.top_navi .navi2 .text .set {
  margin-left: auto;
  padding-top: 175px;
}
.top_navi .navi2 .text .set h3 {
  color: var(--ye_color);
  margin-bottom: 60px;
}

.top_navi .text .set p {
  font-weight: 300;
  color: #373500;
  font-size: 20px;
  line-height: 1.7;
  letter-spacing: 0.1em;
  margin-bottom: 68px;
}
.top_navi  .navi2 .text .set p {
  color: #fff;
}
.top_navi .text .set h4 {
  font-size: 26px;
  letter-spacing: 0.05em;
  color: #373500;
  font-weight: 500;
  margin-bottom: 20px;
}
.top_navi .navi2 .text .set h4 {
  color: #fff;
}
.top_navi  .navi2 .text .navi_buttom {
  border: 1px solid #fff;
  color: #fff;
}
.top_navi  .navi2 .text .navi_buttom::before {
  background-color: #fff;
}

@media screen and (max-width: 1300px) {
  .top_navi {
    margin-bottom: 16.15vw;
  }
  .top_navi .navi1 {
    padding-bottom: 23vw;
  }
  .top_navi .navi2,
  .top_navi .navi3 {
    padding-bottom: 17.3vw;
  }
  .top_navi .navi1 .img_boxes {
    top: -8.8vw;
  }
  .top_navi .navi2 .img_boxes {
    top: -3.84vw;
  }
  .top_navi .navi3 .img_boxes {
    top: -8vw;
  }
  .top_navi .navi1 .text,
  .top_navi .navi3 .text {
    padding: 7.8vw 0 6vw;
  }
  .top_navi .text .set h3 {
    margin-bottom: 4.6vw;
  }
  .top_navi .navi2 .text .set {
    padding-top: 13.46vw;
  }
  .top_navi .text .set p {
    margin-bottom: 5vw;
    font-size: calc((20 / 1300) * 100vw);
  }
  .top_navi .text .set h4 {
    font-size: calc((26 / 1300) * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .top_navi {
    margin-bottom: 100px;
  }
  .top_navi .navi1,
  .top_navi .navi2,
  .top_navi .navi3 {
    padding-bottom: 120px;
    padding-top: calc(90vw - 100px);
  }
  .top_navi .navi1 .img_boxes,
  .top_navi .navi2 .img_boxes,
  .top_navi .navi3 .img_boxes {
    width: 90vw;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    top: -50px;
  }
  .top_navi .navi1 .text,
.top_navi .navi3 .text {
  background: url(../img/top/top_bg01_sp.jpg) no-repeat center;
  background-size: cover;
}
  .top_navi .navi1 .text,
  .top_navi .navi2 .text,
  .top_navi .navi3 .text {
    padding: 50px 0;
    width: 100vw;
  }
  .top_navi .text .set {
    width: 100%;
    padding-top: 50px;
  }
  .top_navi .navi2 .text .set h3 {
    margin-bottom: 20px;
  }
  .top_navi .text .set p {
    font-size: 14px;
    margin-bottom: 25px;
  }
  .top_navi .text .set h4 {
    font-size: 18px;
    margin-bottom: 10px;
  }
}



/*-----------------------------------------
	bottom_request
-----------------------------------------*/
.bottom_request {
  margin-bottom:120px;
}
.bottom_request a {
  margin: auto;
}

@media screen and (max-width: 1000px) {
  .bottom_request {
    margin-bottom: 12vw;
  }
}
@media screen and (max-width: 768px) {
  .bottom_request {
    margin: 30px auto 40px;
  }
}

/*-----------------------------------------
	page_cap
-----------------------------------------*/
.page_cap {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .page_cap {
    margin-bottom: 50px;
  }

}



/* 2023/10/5追加
--------------------------------------------------------- */
/*-----------------------------------------
	top_bnr
-----------------------------------------*/
.top_bnr {
	padding: 147px 0 216px;
	margin-bottom: 155px;
	background: linear-gradient(#000 0%, #242424 100%);
}
.top_bnr .content {
	max-width: 1000px;
	width: 90%;
}
.top_bnr .content .c_gara {
	font-size: 40px;
	letter-spacing: 0.1em;
	color: #fdfcfa;
	margin-bottom: 41px;
}
.top_bnr .content ul li:not(:last-child) {
	margin-bottom: 40px;
}
@media only screen and (max-width: 768px){
.top_bnr {
	padding: 50px 0 60px;
	margin-bottom: 0;
}
.top_bnr .content .c_gara {
	font-size: 20px;
	margin-bottom: 20px;
}
.top_bnr .content ul li:not(:last-child) {
	margin-bottom: 20px;
}
}

/* 260205
-------------------------------------- */
/* plan */
.plan_detail .pre{
	background: url(../img/top/premium_bg.jpg) no-repeat;
	background-size: cover;
	padding: 100px 20px;
}
.plan_detail .bg{
	border: 3px solid #966e02;
	padding: 3px;
	max-width: 994px;
	margin: 0 auto;
}
.plan_detail .wh_bg{
	border: 1px solid #966e02;
	background: #FFF;
}
.plan_detail .inner{
	padding: 40px 6%;
}
.plan_detail .spec{
	border-bottom: #333333 1px solid;
	padding: 0 0 20px 0;
	margin: 0 0 20px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #333333;
}
.plan_detail .main{
	width: 60%;
	font-size: 25px;
	letter-spacing: 0.1em;
}
.plan_detail .main span{
	display: block;
	font-size: 17px;
	line-height: 1.0;
}
.plan_detail .main strong{
	font-size: 50px;
	line-height: 1.2;
}
.plan_detail .sub{
	width: 40%;
	height: fit-content;
	text-align: right;
	justify-content: end;
	align-items: end;
}
.plan_detail .point{
	margin: 0 0 30px 0;
}
.plan_detail .point li{
	margin: 0 0 7px 0;
	background: url(../img/top/detail_m.jpg) no-repeat left 4px;
	padding-left: 20px;
}
.plan_detail .plan_img{
	text-align: center;
	margin: 0 0 30px 0;
}
.plan_detail .pt_img {
	text-align: center;
	margin: 0 0 20px 0;
}
.plan_detail .bottom{
	text-align: right;
	font-size: 15px;
	line-height: 1.7;
}
.plan_detail .bottom .yukadan{
	padding: 0 5px 5px 0;
	position: relative;
	top: -5px;
}
.plan_detail .list_back{
	width: 300px;
	margin: 0 auto;
	background: #5b5b5b;
	color: #FFF;
	display: block;
	text-align: center;
	padding: 20px 0 ;
	font-size: 20px;
}

@media only screen and (max-width: 768px){
	.plan_detail .ex{
		background: url(../img/plan/executive_bg.jpg) no-repeat;
		background-size: cover;
		padding: 50px 20px;
	}
	.plan_detail .pre{
		background: url(../img/top/premium_bg.jpg) no-repeat;
		background-size: cover;
		padding: 50px 20px;
	}
	.plan_detail .pre .inner > .point{
		padding: 0;
	}
	.plan_detail .bg{
		border: 3px solid #966e02;
		padding: 3px;
		max-width: 994px;
		margin: 0 auto;
	}
	.plan_detail .wh_bg{
		border: 1px solid #966e02;
		background: #FFF;
	}
	.plan_detail .pt_img {
		margin: 0 0 20px 0;
	}
	.plan_detail .inner{
		padding: 30px 5%;
	}
	.plan_detail .spec{
		border-bottom: #333333 1px solid;
		padding: 0 0 10px 0;
		margin: 0 0 18px 0;
		display: block;
	}
	.plan_detail .main{
		width: auto;
		font-size: 19px;
		letter-spacing: 0.1em;
		margin: 0 0 10px 0;
	}
	.plan_detail .main span{
		display: block;
		font-size: 14px;
		line-height: 1.0;
	}
	.plan_detail .main strong{
		font-size: 35px;
		line-height: 1.2;
	}
	.plan_detail .sub{
		width: auto;
		display: flex;
		text-align: right;
		justify-content: end;
		align-items: end;
	}
	.plan_detail .point{
		margin: 0 0 30px 0;
	}

	.plan_detail .point li{
		margin: 0 0 7px 0;
		font-size: 12px;
		background: url(../img/top/detail_m.jpg) no-repeat left 2px;
		padding-left: 20px;
		background-size: 14px auto;
	}
	.plan_detail .plan_img{
		text-align: center;
		margin: 0 0 30px 0;
	}
	.plan_detail .bottom{
		text-align: left;
		font-size: 10px;
		line-height: 1.5;
		letter-spacing: -0.03em;
	}
	.plan_detail .bottom .yukadan{
		padding: 0 5px 5px 0;
		position: relative;
		top: -5px;
		width: 33px;
		display: inline-block;
	}
	.plan_detail .list_back{
		width: 300px;
		margin: 0 auto;
		background: #5b5b5b;
		color: #FFF;
		display: block;
		text-align: center;
		padding: 15px 0 ;
		font-size: 16px;
	}
}


/* access */
.acc_wrap {
	background: url(../img/top/acc_bg01.jpg) no-repeat;
	background-size: cover;
	width: 100%;
	padding: 100px 0;
}
.img_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
}
.img_wrap img {
	width: calc((100% - 40px)/3);
}

@media screen and (max-width: 768px) {
	.acc_wrap {
		padding: 50px 0;
	}
	.img_wrap img {
		width: 100%;
	}
}

/* location */
.life_info{
	background: url(../img/top/loca_bg03.jpg);
	margin-bottom: 40px;
	padding-block: 100px;
}
.life_info h3 {
	font-size: 30px;
	color: #231815;
}
@media only screen and (max-width: 768px){
	.life_info{
		margin: 0 0 20px 0;
		padding: 50px 0;
	}
	.life_info h3 {
		font-size: 24px;
		text-align: center;
	}
}

/*  */
.point_sec {
  background: #1C1C1C;
  text-align: center;
  padding: 2% 1%;
  border-top: solid 2px #D6A43F;
  border-bottom: solid 2px #D6A43F;
}
.point_sec picture img {
	max-width: 1300px;
  width: 90%;
}
@media screen and (max-width: 768px) {
  .point_sec {
    padding: 25px 20px;
  }
	.point_sec picture img {
		max-width: 90%;
	}
}