@charset "UTF-8";
/* CSS Document */
html {
	visibility: hidden;
	opacity: 0;
	transition: 0.3s;
}
html.wf-active,
html.loading-delay {
	visibility: visible;
	opacity: 1;
}

* {
    word-break: break-all;
}

body {
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
	color: #000;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
#wrapper {
    overflow: hidden;
}
a {
	color: #000;
	text-decoration: none;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
a img {
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
.inner {
	max-width: 1380px;
	margin-right: auto;
	margin-left: auto;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
.ns_r {
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  font-style: normal;
}
.ns_m {
  font-family: source-han-serif-japanese, serif;
  font-weight: 500;
  font-style: normal;
}
.b-pp {
  font-family: baskerville-poster-pt, serif;
  font-weight: 400;
  font-style: normal;
}
.inter {
  font-family: interstate, sans-serif;
  font-weight: 500;
  font-style: normal;
}

/* fade */
.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 1.2s;
	animation-delay: .25s;
	animation-fill-mode: forwards;
	opacity: 0;
}
.fadeUp02 {
	animation-name: fadeUpAnime;
	animation-duration: 2s;
	animation-delay: .5s;
	animation-fill-mode: forwards;
	opacity: 0;
}
.fadeUp03 {
	animation-name: fadeUpAnime;
	animation-duration: 2.6s;
	animation-delay: .75s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime {
  from {
	opacity: 0;
	transform: translateY(10px);
  }
  to {
	opacity: 1;
	transform: translateY(0);
  }
}
.fadeUpTrigger,
.fadeUpTrigger02,
.fadeUpTrigger03,
.fadeAnimeMain {
	opacity: 0;
}

/* header */
header .h_inner {
	max-width: 1980px;
	margin: 0 auto;
	padding: 26px 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	z-index: 200;
}
header .h_inner .left .logo {
	width: 150px;
}
header .h_inner .left .logo a {
	display: block;
}
header .h_inner .left .logo a:hover {
	opacity: 0.7;
}
header .h_inner .right .ig {
	width: 36px;
}
header .h_inner .right .ig a {
	display: block;
}
header .h_inner .right .ig a:hover {
	opacity: 0.7;
}

/* top共通 */
/* btn */
.btn01 {
	display: inline-block;
	width: 250px;
	border-radius: 50px;
	position: relative;
	transition: all .2s linear;
	background-color: #fff;
	color: #000;
	padding: 14px 72px 14px 36px;
	font-size: 16px;
	border: 1px solid #000;
  font-family: interstate, sans-serif;
  text-transform: capitalize;
}
.btn01:hover {
	background-color: #000;
	color: #fff;
}
.btn01:before {
	position: absolute;
	top: calc(50% - 11px);
	right: 32px;
	width: 18px;
	height: 15px;
	transition: all .2s linear;
	content: url("../img/common/btn_arrow.svg");
}
.btn01:hover:before {
	content: url("../img/common/btn_arrow_h.svg");
	right: 26px;
}

/* mainArea */
.main_bg .mainArea {
	height: calc(100vh);
	margin-top: -130px;
	position: relative;
}
.main_bg .mainArea #swiper01 .swiper-slide {
	height: calc(100vh);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.main_bg .mainArea #swiper01 .slide01 {
	background-image: url("../img/common/main_img01.webp");
}
.main_bg .mainArea #swiper01 .slide02 {
	background-image: url("../img/common/main_img02.webp");
}
.main_bg .m_inner {
	position: absolute;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100vh);
	text-align: center;
  font-family: baskerville-poster-pt, serif;
}
.main_bg .m_inner .ttl {
	padding-top: 13vh;
	font-size: 92px;
  text-transform: uppercase;
}
.main_bg .m_inner .txt {
	position: relative;
	display: inline-block;
}
.main_bg .m_inner .txt .txt_deco {
	position: absolute;
	left: -50%;
	bottom: 80px;
	width: 240px;
}
.main_bg .m_inner .txt p {
	font-size: 23px;
	padding-top: 53vh;
}

/* conceptArea */
.conceptArea .inner {
	padding: 130px 40px;
	max-width: 800px;
	margin: 0 auto;
}
.conceptArea .inner h3 {
	font-size: 38px;
	padding-bottom: 26px;
}
.conceptArea .inner .txt {
	font-size: 20px;
	line-height: 2.2;
	word-break: auto-phrase;
}
.conceptArea .inner .logo {
	width: 446px;
	margin: 0 auto;
	padding-top: 20px;
}
.conceptArea .img {
	width: 100%;
}
.conceptArea .img img {
	width: 100%;
}

/* flowerArea */
.flowerArea .inner {
	padding: 146px 40px;
	position: relative;
}
.flowerArea .inner h2 {
	max-width: 1000px;
}
.flowerArea .inner:before {
	content: "";
	position: absolute;
	top: 100px;
	right: 40px;
	width: 160px;
	height: 160px;
	background-image: url("../img/common/leaf.webp");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.flowerArea .inner .item {
	padding-top: 156px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.flowerArea .inner .item .left {
	width: calc(46% - 30px);
}
.flowerArea .inner .item .right {
	width: calc(54% - 30px);
}
.flowerArea .inner .item .right .s_ttl {
	font-size: min(4vw, 50px);
  font-family: baskerville-poster-pt, serif;
	line-height: 1;
  text-transform: uppercase;
}
.flowerArea .inner .item .right dl {
	padding-top: 40px;
	max-width: 640px;
}
.flowerArea .inner .item .right dl dt {
	padding-bottom: 26px;
	font-size: 30px;
}
.flowerArea .inner .item .right dl dd {
	font-size: 18px;
	line-height: 2.2;
	word-break: auto-phrase;
}

/* presentArea */
.presentArea .desc01 .item01 .inner {
	padding: 0 40px;
}
.presentArea .desc01 .item01 .inner h2 {
	font-size: 90px;
	line-height: 1;
  font-family: baskerville-poster-pt, serif;
  text-transform: uppercase;
}
.presentArea .desc01 .itemArea .item02 .inner {
	display: flex;
	justify-content: space-between;
	align-items: end;
	padding: 40px 40px 0;
}
.presentArea .desc01 .itemArea .item02 .inner dl {
	width: calc(100% - 310px);
	max-width: 540px;
}
.presentArea .desc01 .itemArea .item02 .inner dl dt {
	font-size: 28px;
	padding-bottom: 20px;
  font-family: baskerville-poster-pt, serif;
}
.presentArea .desc01 .itemArea .item02 .inner dl dd {
	word-break: auto-phrase;
	line-height: 2.2;
}
.presentArea .desc01 .itemArea .item03 .p_inner {
	padding: 100px 0 0 40px;
	max-width: 1580px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
}
.presentArea .desc02 .item01 .p_inner {
	padding: 210px 40px 0 0;
	max-width: 1580px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.presentArea .desc02 .item01 .p_inner .left {
	width: calc(50% - 30px);
}
.presentArea .desc02 .item01 .p_inner .right {
	width: calc(50% - 30px);
}
.presentArea .desc02 .item01 .p_inner .right dl {
	max-width: 600px;
}
.presentArea .desc02 .item01 .p_inner .right dl dt {
	font-size: 28px;
	padding-bottom: 20px;
  font-family: baskerville-poster-pt, serif;
}
.presentArea .desc02 .item01 .p_inner .right dl dd {
	word-break: auto-phrase;
	line-height: 2.2;
}
.presentArea .desc02 .item01 .p_inner .right .btn {
	padding-top: 50px;
}
.presentArea .desc02 .item02 .inner {
	padding: 80px 40px 0;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.presentArea .desc02 .item02 .inner .left {
	width: calc(50% - 40px);
	padding-top: 200px;
}
.presentArea .desc02 .item02 .inner .left .s_ttl {
	max-width: 520px;
}
.presentArea .desc02 .item02 .inner .left dl {
	padding-top: 50px;
	max-width: 520px;
}
.presentArea .desc02 .item02 .inner .left dl dt {
	font-size: min(2vw, 24px);
	padding-bottom: 20px;
}
.presentArea .desc02 .item02 .inner .left dl dd {
	word-break: auto-phrase;
	line-height: 2.2;
}
.presentArea .desc02 .item02 .inner .right {
	width: calc(50% - 40px);
	margin-top: -300px;
	position: relative;
}
.presentArea .desc02 .item02 .inner .right:before {
	content: url("../img/common/butterfly.webp");
	position: absolute;
	bottom: 100px;
	left: -100px;
}
.presentArea .desc03 .inner {
	padding: 120px 40px 0;
}
.presentArea .desc03 .inner h3 {
	max-width: 480px;
	margin: 0 auto;
}
.presentArea .desc03 .p_inner {
	padding: 50px 0 100px;
}
.splide__slide img {
	width: 100%;
}

/* bridalArea */
.bridalArea .desc01 .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 40px;
}
.bridalArea .desc01 .inner .left {
	width: calc(46% - 40px);
}
.bridalArea .desc01 .inner .right {
	width: calc(54% - 40px);
}
.bridalArea .desc01 .inner .right .img img {
	width: 100%;
}
.bridalArea .desc01 .inner .left h2 {
	font-size: 90px;
	line-height: 1;
  font-family: baskerville-poster-pt, serif;
  text-transform: uppercase;
}
.bridalArea .desc01 .inner .left dl {
	max-width: 540px;
	padding-top: 40px;
}
.bridalArea .desc01 .inner .left dl dt {
	font-size: 28px;
	padding-bottom: 20px;
  font-family: baskerville-poster-pt, serif;
}
.bridalArea .desc01 .inner .left dl dd {
	word-break: auto-phrase;
	line-height: 2.2;
	margin-bottom: 50px;
}
.bridalArea .desc02 .b_inner {
	padding: 50px 8% 100px;
}
.bridalArea .desc02 .b_inner #swiper03 {
	overflow: visible;
	position: relative;
}
.bridalArea .desc02 .b_inner #swiper03 .swiper-slide {
	margin: 0 30px;
	width: calc(100% / 3);
	text-align: center;
}
.bridalArea .desc02 .b_inner #swiper03 .swiper-slide img {
	width: 100%;
}
.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination {
	display: flex;
	justify-content: flex-start;
}
.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-bullet {
  width: 35px;
	height: 2px;
	background-color: #d7d7d7;
	opacity: 1;
	border-radius: 0;
	margin: 0 2px;
}
.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-bullet-active {
	background-color: #333;
}
.bridalArea .desc02 .b_inner #swiper03 .swiper-horizontal > .swiper-pagination-bullets,
.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-bullets.swiper-pagination-horizontal,
.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-custom,
.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-fraction {
  top: -86px;
	left: 30px;
  z-index: 0;
}
.swiper-button-prev:after,
.swiper-button-next:after {
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 76px;
	margin: auto;
	width: 76px;
}
.swiper-button-prev:after {
	background-image: url("../img/common/prev_btn.svg");
}
.swiper-button-next:after {
	background-image: url("../img/common/next_btn.svg");
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
	opacity: 0;
}
.bs_bpre {
	width: 76px;
	height: 76px;
	left: -6%;
}
.bs_bnet {
	width: 76px;
	height: 76px;
	right: -6%;
}

/* shopArea */
.shopArea .inner {
	padding: 100px 40px 200px;
}
.shopArea .inner .item01 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.shopArea .inner .item01 .left {
	width: 300px;
}
.shopArea .inner .item01 .left h2 {
	font-size: 90px;
	line-height: 1;
  font-family: baskerville-poster-pt, serif;
  text-transform: uppercase;
}
.shopArea .inner .item01 .right {
	width: calc(100% - 380px);
}
.shopArea .inner .item01 .right .txt {
	font-size: 16px;
	word-break: auto-phrase;
	line-height: 2.2;
}
.shopArea .inner .item01 .right .txt span {
	display: block;
	font-size: 18px;
}
.shopArea .inner .item02 {
	padding-top: 80px;
}
.shopArea .inner .item02 dl div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 50px 0;
	border-bottom: 1px solid #cdcccb;
}
.shopArea .inner .item02 dl div dt {
	width: 300px;
	font-size: 23px;
  font-family: baskerville-poster-pt, serif;
}
.shopArea .inner .item02 dl div dd {
	width: calc(100% - 380px);
}
.shopArea .inner .item02 dl div dd a {
	color: #919191;
  font-family: interstate, sans-serif;
}
.shopArea .inner .item02 dl div dd a:hover {
	color: #000;
}
.shopArea .inner .item02 .btnArea {
	padding-top: 50px;
	display: flex;
	justify-content: flex-end;
}

/* footer */
footer {
	position: relative;
	background-color: #000;
	padding-bottom: 30px;
}
footer .inner {
	padding: 90px 40px 80px;
}
footer .inner .f_logo {
	width: 250px;
	margin: 0 auto;
}
footer .inner .f_logo a {
	display: block;
}
footer .inner .f_logo a:hover {
	opacity: .7;
}
footer .inner .f_nav {
	padding-top: 68px;
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .inner .f_nav li a {
	font-size: 16px;
	padding: 0 6px;
	margin: 0 16px;
  font-family: interstate, sans-serif;
	color: #fff;
  text-transform: uppercase;
}
footer .inner .f_nav li a:hover {
	color: #777;
}
footer .inner  .copyArea {
	padding-top: 96px;
	position: relative;
}
footer .inner .copyArea .copy {
	font-size: 13px;
	text-align: center;

	color: #919191;
  font-family: interstate, sans-serif;
}
footer .inner .copyArea .ig {
	position: absolute;
	bottom: 0;
	right: 40px;
	width: 36px;
}
footer .inner .copyArea .ig a {
	display: block;
}
footer .inner .copyArea .ig a:hover {
	opacity: .7;
}
footer .pagetop {
	position: absolute;
	bottom: 420px;
	right: 20px;
	height: auto;
	z-index: 99;
}
footer .pagetop a {
	display: block;
	width: 60px;
	height: 60px;
	line-height: 1;
	background-color: #000;
	border: 1px solid #fff;
	color: #7f7f7f;
	cursor: pointer;
	text-align: center;
	border-radius: 50%;
	padding-top: 12px;
}
footer .pagetop a:before {
	content: url("../img/common/page_top.svg");
	position: absolute;
	top: calc(50% - 10px);
	left: 50%;
	transform: translateX(-50%);
	width: 14px;
	height: 22px;
}

/* subArea */
.subArea {
	height: 500px;
	margin-top: -130px;
	background-image: url("../img/common/concept_img.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

@media screen and (max-width: 1500px) {
/* presentArea */
.presentArea .desc03 .p_inner {
	padding-left: 6%;
	padding-right: 6%;
	}

/* presentArea */
	.bridalArea .desc02 .b_inner {
		padding-left: 6%;
		padding-right: 6%;
	}
}

@media screen and (max-width: 1300px) {
/* presentArea */
	.presentArea .desc03 .p_inner {
		padding-left: 24px;
		padding-right: 24px;
	}
	.presentArea .desc03 .p_inner #swiper02 .swiper-slide {
		margin: 0 16px;
	}

	/* presentArea */
	.bridalArea .desc02 .b_inner {
		padding-left: 24px;
		padding-right: 24px;
	}
	.bridalArea .desc02 .b_inner #swiper03 .swiper-slide {
		margin: 0 16px;
	}
	.bridalArea .desc02 .b_inner #swiper03 .swiper-horizontal > .swiper-pagination-bullets,
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-bullets.swiper-pagination-horizontal,
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-custom,
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-fraction {
		left: 16px;
	}

	.bs_bpre {
		width: 60px;
		height: 60px;
		left: 0;
	}
	.bs_bnet {
		width: 60px;
		height: 60px;
		right: 0;
	}
}

@media screen and (max-width: 1200px) {
/* mainArea */
	.main_bg .m_inner .txt .txt_deco {
		left: -40%;
	}

/* flowerArea */
	.flowerArea .inner h2 {
    max-width: 800px;
	}
	.flowerArea .inner:before {
    width: 120px;
    height: 120px;
	}
	.flowerArea .inner .item .left {
		width: calc(46% - 16px);
	}
	.flowerArea .inner .item .right {
	width: calc(54% - 16px);
	}

/* presentArea */
	.presentArea .desc02 .item01 .p_inner .left {
	width: calc(50% - 16px);
	}
	.presentArea .desc02 .item01 .p_inner .right {
		width: calc(50% - 16px);
	}
	.presentArea .desc02 .item02 .inner .left {
		width: calc(50% - 16px);
		padding-top: 100px;
	}
	.presentArea .desc02 .item02 .inner .right {
		width: calc(50% - 16px);
		margin-top: -150px;
	}
	.presentArea .desc02 .item02 .inner .right:before {
		bottom: 0px;
		left: -80px;
	}

/* bridalArea */
	.bridalArea .desc01 .inner .left {
		width: calc(50% - 16px);
	}
	.bridalArea .desc01 .inner .right {
		width: calc(50% - 16px);
	}
	.bridalArea .desc02 .b_inner #swiper03 .swiper-horizontal > .swiper-pagination-bullets,
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-bullets.swiper-pagination-horizontal,
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-custom,
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-fraction {
    top: -30px;
	}

/* shopArea */
	.shopArea .inner .item01 .right {
		width: calc(100% - 332px);
	}
}

@media screen and (max-width: 1000px) {
	body {
		font-size: 14px;
	}

/* header */
	header .h_inner {
		padding: 26px 6vw;
	}
	header .h_inner .left .logo {
		width: 100px;
	}
	header .h_inner .right .ig {
    width: 26px;
	}

/* mainArea */
	.main_bg .mainArea {
		height: calc(100svh);
		margin-top: -104px;
	}
	.main_bg .m_inner {
		height: calc(100svh);
	}
	.main_bg .mainArea #swiper01 .swiper-slide {
		height: calc(100svh);
	}
	.main_bg .m_inner .ttl {
		font-size: min(10vw, 70px);
	}
	.main_bg .m_inner .txt p {
		font-size: min(3.6vw, 18px);
	}
	.main_bg .m_inner .txt .txt_deco {
    left: -20%;
    width: 160px;
	}

/* conceptArea */
	.conceptArea .inner {
		padding: 60px 6vw;
	}
	.conceptArea .inner h3 {
		font-size: min(6.2vw, 30px);
		padding-bottom: 16px;
		line-height: 1;
	}
	.conceptArea .inner .txt {
		font-size: min(4.1vw, 18px);
		line-height: 2;
		word-break: normal;
	}
	.conceptArea .inner .logo {
		width: 300px;
		padding-top: 20px;
	}

/* flowerArea */
	.flowerArea .inner {
		padding: 80px 6vw;
	}
	.flowerArea .inner:before {
		top: 30px;
		width: 90px;
		height: 90px;
	}
	.flowerArea .inner .item {
		padding-top: 80px;
		align-items: flex-start;
	}
	.flowerArea .inner .item .left {
		width: calc(46% - 10px);
	}
	.flowerArea .inner .item .right {
		width: calc(54% - 10px);
	}
	.flowerArea .inner .item .right dl {
		padding-top: 20px;
	}
	.flowerArea .inner .item .right dl dt {
		padding-bottom: 10px;
		font-size: min(5.2vw, 22px);
	}
	.flowerArea .inner .item .right dl dd {
		font-size: min(4vw, 15px);
		line-height: 2;
	}

/* presentArea */
	.presentArea .desc01 .item01 .inner {
		padding: 0 6vw;
	}
	.presentArea .desc01 .item01 .inner h2 {
		font-size: min(12vw, 60px);
	}
	.presentArea .desc01 .itemArea .item02 .inner {
		padding: 40px 6vw 0;
	}
	.presentArea .desc01 .itemArea .item02 .inner dl {
		width: calc(100% - 270px);
	}
	.presentArea .desc01 .itemArea .item02 .inner dl dt {
		padding-bottom: 10px;
		font-size: min(6.2vw, 26px);
	}
	.presentArea .desc01 .itemArea .item03 .p_inner {
		padding: 80px 0 0 0;
		justify-content: center;
	}
	.presentArea .desc02 .item01 .p_inner {
		padding: 120px 6vw 0 0;
	}
	.presentArea .desc02 .item01 .p_inner .left {
		width: calc(50% - 10px);
	}
	.presentArea .desc02 .item01 .p_inner .right {
		width: calc(50% - 10px);
	}
	.presentArea .desc02 .item01 .p_inner .right dl dt {
		padding-bottom: 10px;
		font-size: min(6.2vw, 26px);
	}
	.presentArea .desc02 .item01 .p_inner .right dl dd {
		line-height: 2;
	}
	.presentArea .desc02 .item01 .p_inner .right .btn {
		padding-top: 30px;
	}
	.presentArea .desc02 .item02 .inner {
		padding: 60px 6vw 0;
	}
	.presentArea .desc02 .item02 .butterfly {
    padding-top: 30px;
	}
	.presentArea .desc02 .item02 .inner .left {
		width: calc(50% - 10px);
		padding-top: 50px;
	}
	.presentArea .desc02 .item02 .inner .right {
		width: calc(50% - 10px);
		margin-top: -100px;
		position: static;
	}
	.presentArea .desc01 .itemArea .item02 .inner dl dd {
    line-height: 2;
	}
	.presentArea .desc02 .item02 .inner .right:before {
		display: none;
	}
	.presentArea .desc02 .item02 .inner .left dl {
		padding-top: 26px;
	}
	.presentArea .desc02 .item02 .inner .left dl dd {
		line-height: 2;
	}
	.presentArea .desc03 .inner {
    padding: 80px 6vw 0;
}
	.presentArea .desc03 .p_inner {
		padding-top: 40px;
		padding-bottom: 80px;
	}

/* bridalArea */
	.bridalArea .desc01 .inner {
		padding: 0 6vw
	}
	.bridalArea .desc01 .inner .left {
    width: calc(50% - 10px);
	}
	.bridalArea .desc01 .inner .right {
    width: calc(50% - 10px);
	}
	.bridalArea .desc01 .inner .left h2 {
		font-size: min(12vw, 60px);
	}
	.bridalArea .desc01 .inner .left dl {
    padding-top: 30px;
	}
	.bridalArea .desc01 .inner .left dl dt {
    padding-bottom: 10px;
    font-size: min(6vw, 26px);
	}
	.bridalArea .desc01 .inner .left dl dd {
		line-height: 2;
	}
	.bridalArea .desc02 .b_inner {
		padding-top: 40px;
		padding-bottom: 80px;
	}
	.bridalArea .desc02 .b_inner #swiper03 .swiper-horizontal > .swiper-pagination-bullets,
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-bullets.swiper-pagination-horizontal,
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-custom,
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-fraction {
		top: -30px;
		left: 10px;
	}
	.bridalArea .desc02 .b_inner #swiper03 .swiper-slide {
		margin: 0 10px;
		width: calc(100% / 2);
	}

/* shopArea */
	.shopArea .inner {
		padding: 50px 6vw 120px;
	}
	.shopArea .inner .item01 .left {
		width: calc(30% - 10px);
	}
	.shopArea .inner .item01 .left h2 {
		font-size: min(12vw, 60px);
	}
	.shopArea .inner .item01 .right {
		width: calc(70% - 10px);
	}
	.shopArea .inner .item01 .right .txt span {
		font-size: 15px;
	}
	.shopArea .inner .item01 .right .txt {
		font-size: 14px;
		line-height: 2;
	}
	.shopArea .inner .item02 {
		padding-top: 50px;
	}
	.shopArea .inner .item02 dl div {
		padding: 30px 0;
	}
	.shopArea .inner .item02 dl div dt {
		width: calc(30% );
		font-size: min(4.4vw, 20px);
	}
	.shopArea .inner .item02 dl div dd {
		width: calc(70%);
		padding-left: 16px;
	}

/* footer */
	footer .inner {
		padding: 80px 2vw 50px;
	}
	footer .inner .f_logo {
		width: 160px;
	}
	footer .pagetop {
		bottom: 320px;
	}
	footer .pagetop a {
		width: 40px;
		height: 40px;
	}
	footer .inner .f_nav {
		padding-top: 40px;
	}
	footer .inner .f_nav li a {
		font-size: min(3.6vw, 14px);
		padding: 0 0;
			margin: 0 10px;
	}
	footer .inner .copyArea {
		padding-top: 70px;
	}
	footer .inner .copyArea .ig {
		right: 40px;
		width: 26px;
	}

/* subArea */
  .subArea {
    height: 300px;
    margin-top: -104px;
  }
}

@media screen and (max-width: 800px) {
/* presentArea */
	.presentArea .desc02 .item02 .inner .right {
		margin-top: -50px;
	}
	.presentArea .desc02 .item02 .inner .left {
		padding-top: 20px;
	}
}

@media screen and (max-width: 767px) {
	.btn01 {
    width: 220px;
    padding: 14px 62px 14px 26px;
    font-size: 15px;
}

/* mainArea */
  .main_bg .mainArea #swiper01 .slide01 {
    background-image: url("../img/common/main_img01_sp.webp");
  }
  .main_bg .mainArea #swiper01 .slide02 {
    background-image: url("../img/common/main_img02_sp.webp");
  }

/* conceptArea */
	.conceptArea .inner {
		max-width: 100%;
		padding-top: 60px;
		padding-bottom: 60px;
	}

/* flowerArea */
	.flowerArea .inner {
		padding-top: 60px;
		padding-bottom: 90px;
	}
	.flowerArea .inner:before {
		width: 80px;
		height: 80px;
	}

	.flowerArea .inner .item {
		padding-top: 50px;
		flex-direction: column;
	}
	.flowerArea .inner .item .left {
    width: 100%;
	}
	.flowerArea .inner .item .left .img {
	text-align: center;
	}
	.flowerArea .inner .item .right {
    width: 100%;
		padding-top: 50px;
	}
	.flowerArea .inner .item .right .s_ttl {
    font-size: min(7vw, 30px);
	}
	.flowerArea .inner .item .right dl dd {
		font-size: min(4vw, 15px);
	}

/* presentArea */
	.presentArea .desc01 .itemArea {
		display: flex;
		flex-direction: column-reverse;
	}
	.presentArea .desc01 .itemArea .item02 .inner {
		flex-direction: column;
		align-items: flex-start;
	}
	.presentArea .desc01 .itemArea .item03 .p_inner {
		padding-top: 40px;
	}
	.presentArea .desc01 .itemArea .item02 .inner dl {
		width: 100%;
		max-width: 100%;
	}
	.presentArea .desc01 .itemArea .item02 .inner .btn {
		padding-top: 30px;
	}
	.presentArea .desc01 .itemArea .item02 .inner dl dd {
		word-break: normal;
		line-height: 2;
	}
	.presentArea .desc02 .item01 .p_inner {
		padding: 70px 6vw 0;
		flex-direction: column;
	}
	.presentArea .desc02 .item01 .p_inner .left {
		width: 100%;
	}
	.presentArea .desc02 .item01 .p_inner .right {
		width: 100%;
		padding-top: 50px;
	}
	.presentArea .desc02 .item01 .p_inner .right dl {
    max-width: 100%;
	}
	.presentArea .desc02 .item01 .p_inner .right dl dd {
		word-break: normal;
	}
	.presentArea .desc02 .item02 .inner {
		flex-direction: column;
	}
	.presentArea .desc02 .item02 .inner .right {
		margin-top: 0;
		width: 100%;
	}
	.presentArea .desc02 .item02 .inner .right .img {
		text-align: center;
		padding: 0 6vw;
	}
	.presentArea .desc02 .item02 .inner .left {
		padding-top: 60px;
		width: 100%;
	}
	.presentArea .desc02 .item02 .inner .left .s_ttl {
		max-width: 480px;
		margin: 0 auto;
	}
	.presentArea .desc02 .item02 .inner .left dl {
		max-width: 100%;
	}
	.presentArea .desc02 .item02 .inner .left dl dt {
		font-size: min(4.2vw, 18px);
		padding-bottom: 10px;
	}
	.presentArea .desc02 .item02 .inner .left dl dd {
		word-break: normal;
	}
	.presentArea .desc02 .item02 .butterfly {
		padding-top: 10px;
	}
	.presentArea .desc02 .item02 .butterfly img {
		width: 90%;
	}
	.presentArea .desc01 .itemArea .item03 .p_inner {
		padding-top: 30px;
	}

/* presentArea */
	.presentArea .desc03 .inner {
		padding-top: 60px;
	}
	.presentArea .desc03 .p_inner {
		padding-bottom: 90px;
	}
	.bridalArea .desc01 .inner {
		flex-direction: column;
	}
	.bridalArea .desc01 .inner .img {
		text-align: center;
		padding-top: 26px;
	}
	.bridalArea .desc01 .inner .left {
		width: 100%;
	}
	.bridalArea .desc01 .inner .right {
		display: none;
	}
	.bridalArea .desc01 .inner .left dl {
		padding-top: 40px;
		max-width: 100%;
	}
	.bridalArea .desc01 .inner .left dl dd {
		word-break: normal;
	}
	.bridalArea .desc02 .b_inner {
		padding-top: 70px;
		padding-bottom: 70px;
	}
	.bridalArea .desc02 .b_inner #swiper03 .swiper-horizontal > .swiper-pagination-bullets,
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-bullets.swiper-pagination-horizontal,
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-custom,
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-fraction {
		top: -35px;
	}
	.bridalArea .desc02 .b_inner #swiper03 .swiper-pagination-bullet {
		width: 26px;
	}
	.bridalArea .desc02 .b_inner #swiper03 .swiper-slide {
		width: calc(100% / 1.5);
	}
	.bs_bpre {
		width: 40px;
		height: 40px;
		left: -14px;
	}
	.bs_bnet {
		width: 40px;
		height: 40px;
		right: -14px;
	}

/* shopArea */
	.shopArea .inner {
		padding-bottom: 90px;
	}
	.shopArea .inner .item01 {
		align-items: flex-start;
		flex-direction: column;
	}
	.shopArea .inner .item01 .left {
		width: 100%;
	}
	.shopArea .inner .item01 .right {
		width: 100%;
		padding-top: 26px;
	}
	.shopArea .inner .item01 .right .txt span {
		padding-bottom: 10px;
	}
	.shopArea .inner .item01 .right .txt {
		word-break: normal;
		line-height: 1.8;
	}
	.shopArea .inner .item02 {
		padding-top: 20px;
	}
	.shopArea .inner .item02 dl div {
		padding: 20px 0;
		flex-direction: column;
		align-items: flex-start;
	}
	.shopArea .inner .item02 dl div dt {
		width: 100%;
	}
	.shopArea .inner .item02 dl div dd {
		width: 100%;
		padding-left: 0;
		font-size: min(3.4vw, 14px);
	}
	.shopArea .inner .item02 .btnArea {
    padding-top: 30px;
    justify-content: flex-start;
	}
}

@media screen and (max-width: 600px) {
/* mainArea */
  .main_bg .mainArea {
    height: calc(90svh);
  }
  .main_bg .m_inner {
    height: calc(90svh);
  }
  .main_bg .mainArea #swiper01 .swiper-slide {
    height: calc(90svh);
  }
  .main_bg .m_inner .txt .txt_deco {
    left: -6%;
  }
  .main_bg .m_inner .ttl {
    padding-top: 22vh;
  }
  .main_bg .m_inner .txt p {
    padding-top: 30vh;
  }

/* conceptArea */
	.conceptArea .inner .logo {
		width: 220px;
	}

/* flowerArea */
	.flowerArea .inner:before {
		right: 16px;
		top: 16px;
		width: 70px;
		height: 70px;
	}
	.flowerArea .inner .item .right dl dd {
		word-break: normal;
	}

/* presentArea */
	.presentArea .desc03 .p_inner #swiper02 .swiper-slide {
		width: calc(100% / 1.5);
	}

/* bridalArea */
	.bridalArea .desc02 .b_inner #swiper03 .swiper-slide {
	margin: 0 10px;
	width: calc(100% / 1.2);
	}

/* footer */
	footer .inner .f_logo {
		width: 130px;
	}
	footer .inner .f_nav li a {
		margin: 0 6px;
	}
	footer .pagetop {
    right: 10px;
	}
	footer .inner .copyArea .ig {
		right: 6px;
	}
	footer .inner .copyArea .copy {
		font-size: 12px;
	}
}

@media screen and (max-width: 480px) {
/* header */
  header .h_inner {
    padding: 16px 6vw;
  }
  header .h_inner .left .logo {
    width: 80px;
  }
/* mainArea */
  .main_bg .mainArea {
    height: calc(75svh);
    margin-top: -74px;
  }
  .main_bg .m_inner {
    height: calc(75svh);
  }
  .main_bg .mainArea #swiper01 .swiper-slide {
    height: calc(75svh);
  }
  .main_bg .m_inner .ttl {
    padding-top: 20vh;
  }
  .main_bg .m_inner .txt p {
    padding-top: 26vh;
  }
  .main_bg .m_inner .txt .txt_deco {
    bottom: 54px;
    width: 120px;
  }
}

@media screen and (max-width: 440px) {
	.main_bg .m_inner .ttl {
		padding-top: 17vh;
	}
	.main_bg .m_inner .txt p {
	padding-top: 29vh;
	}
}
