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

*{
	line-height: 1;
}

body{
	font-family: "hiragino-mincho-pron", sans-serif;
	font-weight: 400;
	
}

.mincho_w6{
	font-family: "hiragino-mincho-pron", sans-serif;
	font-weight: 900;
}

.Didot_LT_Pro_Roman{
	font-family: "linotype-didot", serif;
	font-weight: 400;
}

.Didot_LT_Pro_Bold{
	font-family: "linotype-didot", serif;
	font-weight: 700;
}

.section100vh{
	width:100%;
	height: 100vh;
	position: relative;
	flex: 0 0 100vw;
}

ul li{
	list-style-type: none;
}

p{
	line-height: 2.5;
}

/*----- ヘッダー -----*/

#siteHeader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition: transform 0.4s ease;
  z-index: 1000;
}

#siteHeader.hide {
  transform: translateY(-100%);
}


.headWrap{
	width:100%;
	height: 55px;
	background-color: #B8A5D8;
	display: grid;
	grid-template-columns: 100px 1fr 190px 55px;
	
}

.headWrap img{
	width:100%;
	margin :13px 0 0 13px;
}

.header_cta{
	display: block;
	width:180px;
	height: 40px;
	border: 2px solid #0e1b4b;
	border-radius: 20px;
	text-align: center;
	line-height: 36px;
	margin: 7px 7px 0 0;
	background-color: #fff;
	color:#0e1b4b;
}

.openbtn{
	background-color: #0e1b4b;
	position: relative;
	width:55px;
	height: 55px;
}

.openbtn span{
	display: inline-block;
	background:#fff;
	transition: .4s;
	position: absolute;
	left:14px;
	height: 3px;
	width:45%;
	border-radius: 2px;
}

.openbtn span:nth-of-type(1){
	top:18px;
}
.openbtn span:nth-of-type(2){
	top:26px;
}
.openbtn span:nth-of-type(3){
	top:34px;
}
.openbtn.active span:nth-of-type(1) {
    top: 21px;
    left: 21px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 33px;
    left: 21px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:55px;
    right: -120%;
	width:100%;
    height: calc(100vh - 55px);/*ナビの高さ*/
	background-color: #B8A5D8;
    /*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}
#g-nav ul li{
	text-align: center;
	line-height: 2.5;
}

@media screen and (min-width:768px){
	
	.headWrap{
		height: 70px;
		grid-template-columns: 150px 1fr 260px 70px;
		
	}
	.headWrap img{
		margin :12px 0 0 17px;
	}
	.header_cta{
		width:250px;
		height: 50px;
		border-radius: 25px;
		line-height: 48px;
		margin: 10px 0 0 0;
	}
	.openbtn{
		width:70px;
		height: 70px;
	}
	.openbtn span{
		left:20px;
		height: 3px;
		width:45%;
		border-radius: 2px;
	}

	.openbtn span:nth-of-type(1){
		top:24px;
	}
	.openbtn span:nth-of-type(2){
		top:34px;
	}
	.openbtn span:nth-of-type(3){
		top:44px;
	}
	.openbtn.active span:nth-of-type(1) {
		top: 28px;
		left: 23px;
		transform: translateY(5px) rotate(-45deg);
		width: 40%;
	}

	.openbtn.active span:nth-of-type(2) {
		opacity: 0;
	}

	.openbtn.active span:nth-of-type(3){
		top: 38px;
		left: 23px;
		transform: translateY(-5px) rotate(45deg);
		width: 40%;
	}
	#g-nav{
		/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
		top:70px;
		width:30%;
		height: calc(100vh - 70px);/*ナビの高さ*/
	}
	#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
		position: fixed;
		z-index: 999; 
		width: 30%;
	}
	#g-nav ul {
		/*ナビゲーション天地中央揃え*/
		position: absolute;
		z-index: 999;
		top:30%;
		left:50%;
		transform: translate(-50%,-50%);
	}
}

/*----- メインビュー -----*/

#mv{
	width:100%;
}

.splide__slide img{
	width:100%;
}

/* デフォルトはPCを表示、SPを非表示 */
.splide-pc { display: block; }
.splide-sp { display: none; }

/* 768px以下ではスマホ表示に切り替え */
@media screen and (max-width: 768px) {
  .splide-pc { display: none; }
  .splide-sp { display: block; }
}

/*----- #Suggestion(提案) -----*/

#Suggestion{
	background: linear-gradient(225deg, #fff6e9 15%, #E6FCFF 50%,#FAEBFF 85%);
	position: relative;
}

.suggestion_sp{
	width:100%;
	padding: 1rem;
}

#Suggestion h2{
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: 700;
	font-size:1.5rem;
	text-align: center;
	margin-bottom: 1rem;
}

h1{
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: 700;
	font-size:1.5rem;
	text-align: center;
	color:#b8a5d8;
}

.suggestion_ul{
	padding-bottom: 5rem;
}

.suggestion_ul li img{
	width:100%;
	max-width:720px;
	margin-top: 1rem;
}

.back_text{
	position: absolute;
	bottom:0;
	right: 0;
	color:#ddd;
	font-size:3rem;
	text-align: right;
}

@media screen and (min-width:768px){
	.suggestion_sp{
	    width:100%;
		height: 100vh;
		padding: 2rem;
	}
	#Suggestion h2,
	h1{
		font-size:2rem;
	}
	.suggestion_ul{
		display: flex;
		gap:2rem;
		max-width:1200px;
		margin: 3rem auto 0 auto;
	}
	.back_text{
		font-size:8rem;
	}
}

/*----- #items(商品) -----*/

#items {
  overflow: hidden;
}

#items ul li{
  /*display: flex;
  flex-wrap: nowrap;*/
  height: 100vh;
}

.item{
	position: absolute;
	inset:1rem;
}

.item1{
	background-color: #E6FCFF;
}
.item2{
	background-color: #FFF6E9;
}
.item3{
	background-color: #faebff;
}

.item img{
	width:100%;
}

#items h2{
	font-size:1.5rem;
	font-weight: 700;
}

.item_h2{
	margin: 1rem 0 2rem 0;
}

h4{
	font-size:1.3rem;
	margin-bottom: 2rem;
}

.item p{
	line-height: 1.75;
	letter-spacing: .07rem;
}

@media screen and (min-width:768px){
	.item{
		display: flex;
		justify-content: space-between;
		inset:5rem;
		max-width:1200px;
		margin: 0 auto;
	}
	.item_right{
		margin-left: 3rem;
	}
}

/*----- #Price(料金) -----*/

.price-section {
  max-width: 600px;
  margin: 40px auto;
  padding: 0 16px;
}

#Price h3{
  text-align: center;
  border-bottom: 2px solid #ccc;
  padding-bottom: 8px;
  margin-bottom: 16px;
  font-size:1.2rem;
}

#Price h3 span{
	font-size:1rem;
	color:#b8a5d8;
}

.price-table, .single-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
  margin-bottom: 24px;
  border-radius: 8px;
  overflow: hidden;
}

.price-table th, .price-table td,
.single-table td {
  border-bottom: 1px solid #eee;
  padding: 12px;
  text-align: left;
}

.price-table th {
  background: #f0f0f0;
  font-weight: bold;
  text-align: center;
}

.price-table td:last-child, .single-table td:last-child {
  text-align: right;
  font-weight: bold;
  color: #222;
}

.price-table strong {
  display: block;
  color: #333;
  font-size: 1.1em;
  margin-bottom: 4px;
}

#Price p{
	margin-bottom: 2rem;
	}

/* スマホ対応 */
@media (max-width: 480px) {
  .price-table td {
    display: block;
    text-align: left;
  }
  .price-table td:last-child {
    text-align: left;
    margin-top: 6px;
  }
  .price-table tr {
    border-bottom: 1px solid #ddd;
    padding: 10px 0;
    display: block;
  }
}

.price_sp{
	text-align: center;
	margin-bottom: 5rem;
}


/*----- #Features(特徴) -----*/

#Features {
  overflow: hidden;
  position: relative;
}

.features_h2{
	font-size:1.5rem;
	font-weight: 700;
	text-align: center;
}

.features_title{
	margin: 2rem 0
}

.Features_wrapper ul li{
	margin: 1rem;
}

.Features_wrapper ul li img{
	width:100%;
}

.Features_wrapper ul li h4{
	margin: 2rem 0;
	font-size:1.3rem;
}

.Features_wrapper ul li p{
	line-height: 1.75;
	letter-spacing: .07rem;
}

@media screen and (min-width:768px){
	.Features_wrapper ul{
		display: flex;
		width:100%;
		max-width:1200px;
		margin: 0 auto;
		height: 100vh;
	}
	.Features_wrapper ul li{
		flex:none;
		height: auto;
		max-width:400px;
		width:31%;
	}
	.Features_wrapper ul li img{
		width:100%;
	}
}


/*----- CTA -----*/

.cta{
	width:100%;
	max-width:1920px;
	height: 300px;
	background: url("../images/watar_1920_300.jpg") center center no-repeat;
	position: relative;
}

.cta_contain{
	position: absolute;
    top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.cta h5{
	color:#fff;
	font-weight: 400;
	font-size:1rem;
	text-align: center;
}

.cta_cta{
	display: block;
	width:180px;
	height: 40px;
	border: 2px solid #0e1b4b;
	border-radius: 20px;
	text-align: center;
	line-height: 36px;
	margin: 2rem auto 0 auto;
	background-color: #fff;
	color:#0e1b4b;
}

@media screen and (min-width:768px){
	.cta_cta{
		width:250px;
		height: 50px;
		border-radius: 25px;
		line-height: 48px;
	}
	.cta h5{
		font-size:1.5rem;
	}
}

/*----- #shop(店舗紹介) -----*/

#shop img{
	display: block;
	width:100%;
	max-width:720px;
}

#shop h2{
	margin: 1rem 0 2rem 0;
	font-size:1.5rem;
	font-weight: 700;
	width:fit-content;
	background-color: #B8A5D8;
	color:#fff;
}

.shop_right h4{
	font-weight: 1.3rem;
	margin: 0 0 1rem 0;
}

.shop_right h5{
	width:fit-content;
	background-color: #B8A5D8;
	color:#fff;
}
.shop_right p{
	margin-bottom: 1rem;
}