@charset "UTF-8";

/* 基本 */
body {
	color: #222222;
	font-family: sans-serif;
	line-height: 1.5;
}

* {
	margin: 0;
	padding: 0;
	list-style: none;
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}


/* パーツグリッド */
.partsGrid {
	display: grid;
	grid-template-columns: minmax(8vw, 1fr) minmax(auto, 1088px) minmax(8vw, 1fr);
}

.partsGrid > * {
	grid-column: 2;
}


/* 12分割グリッド */
.grid12 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 10px;
}

.grid12 > * {
	grid-column: 1 / -1;
}

@media (min-width: 768px) {
	.grid12 {
		grid-template-columns: repeat(12, 1fr);
		column-gap: 16px;
	}
}

/* 12分割グリッド：カラム数 */
.cols-mob2 > * {
	grid-column: span 2;
}

.cols-mob2.cols-pc3 > :first-child {
	grid-column: span 4;
}

@media (min-width: 768px) {
	.cols-pc2 > * {
		grid-column: span 6;
	}

	.cols-pc3 > * {
		grid-column: span 4;
	}

	.cols-pc4 > * {
		grid-column: span 3;
	}
}

/* 一覧：リスト */
.list ul.grid12 {
	row-gap: 20px;
}

.list ul img {
	margin-bottom: 10px;
	width: 100%;
	height: 155px;
	object-fit: cover;
	border-radius: 10px;
}

.list ul h3 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: 500;
}

@media (min-width: 768px) {
	.list ul.grid12 {
		row-gap: 28px;
	}

	.list ul img {
		height: 265px;
	}

	.list ul.cols-pc3 img {
		height: 353px;
	}

	


	.list ul h3 {
		font-size: 18px;
	}
}


/* 一覧 */
.list > .grid12 {
	row-gap: 32px;
}

.list h2 {
	color: #e62727; /*#444444;Service・出来ることテキスト色変更*/
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 26px;
	font-weight: 400;
}

.list h2 + p {
	font-size: 14px;
	line-height: 1.8;
}

@media (min-width: 768px) {
	.list h2,
	.list h2 + p {
		grid-column: span 8;
	}

	.list h2 {
		font-size: 32px;
	}

	.list h2 + p {
		font-size: 16px;
	}
}


/* 一覧（商品カテゴリー） */
.list-plant {
	padding-top: 80px;
	padding-bottom: 80px;
	overflow: hidden;
}

.list-plant > .grid12 {
	position: relative;
}

.list-plant > .grid12::before {
	content: url(img/sun.svg);
	position: absolute;
	top: -80px;
	right: -120px;
	z-index: -1;
}

.list-plant ul img {
		
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media (min-width: 768px) {
	.list-plant {
		padding-bottom: 86px;
	}

	.list-plant > .grid12::before {
		right: 17px;
	}
}

/* 一覧（体験） */
.list-exp {
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #eefbe3;
}

.list-exp ul img {
	width: 100%;
	object-fit: cover;
}

/* 一覧（人気商品） */
.list-item {
	padding-top: 40px;
	padding-bottom: 40px;
}

.list-item ul p {
	font-size: 16px;
}

.list-item ul img {
		
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media (min-width: 768px) {
	.list-item {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.list-item ul p {
		font-size: 18px;
	}

	.list-item ul img {
		
		width: 100%;
		height: 500px;
		object-fit: cover;
	}
}


/* 一覧：ボーダー */
.frame {
	border: solid 1px #6abeeb;
	margin: 0 -15px;
	padding: 40px 15px;
}

@media (min-width: 768px) {
	.frame {
		margin: 0;
		padding: 60px 0;
	}

	.frame h2,
	.frame h2 + p {
		grid-column: 2 / span 7;
	}

	.frame ul {
		grid-column: 2 / -2;
	}
}

/* 一覧：ボーダー内の12分割グリッド */
.frame .grid12 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 10px;
}

.frame .grid12 > * {
	grid-column: 1 / -1;
}

@media (min-width: 768px) {
	.frame .grid12 {
		grid-template-columns: repeat(16, 1fr);
		column-gap: 16px;
	}
}

/* 一覧：ボーダー内の12分割グリッド：カラム数 */
.frame .cols-mob2 > * {
	grid-column: span 2;
}

.frame .cols-mob2.cols-pc3 > :first-child {
	grid-column: span 4;
}

@media (min-width: 768px) {
	.frame .cols-pc2 > * {
		grid-column: span 16; /*元は6*/
	}

	.frame .cols-pc3 > * {
		grid-column: span 4;
	}

	.frame .cols-pc4 > * {
		grid-column: span 3;
	}
}


/* フッター */
.footer.partsGrid {
	row-gap: 74px;
	padding-top: 80px;
	padding-bottom: 80px;
	border-top: solid 1px #6abeeb;
	background-color: #f0f9fe;
}

@media (min-width: 768px) {
	.footer.partsGrid {
		row-gap: 99px;
	}
}

/* フッター：メニュー */
.footer-nav.grid12 {
	row-gap: 40px;
}

.footer-nav h4 {
	margin-bottom: 20px;
	color: #888888;
}

.footer-nav ul {
	display: grid;
	row-gap: 7px;
}

/* フッター：サイト情報 */
.footer-site.grid12 {
	row-gap: 32px;
}

.profile p {
	margin-top: 12px;
	font-size: 12px;
}

.copyright ul {
	display: grid;
	grid-auto-flow: column;
	justify-content: start;
	column-gap: 18px;
	font-size: 12px;
}

.profile img {
	width: 50%;
	height: 50%;
}

.copyright p {
	margin-top: 16px;
	font-size: 12px;
}

@media (min-width: 768px) {
	.copyright {
		justify-self: end;
		align-self: end;
		text-align: right;
	}

	.copyright ul {
		column-gap: 28px;
	}
}


/* ヘッダー */
.header.partsGrid {
	padding-top: 26px;
}

.header-nav.grid12 {
	row-gap: 27px;
	align-items: center;
}

.header-nav ul {
	padding-top: -26px;/*-1526*/
	grid-column: span 4;
	display: grid;
	grid-auto-flow: column;
	justify-content: start;
	column-gap: 20px;
	color: #ffffff;
	font-size: 14px;
}

.header-nav .cart {
	grid-column: span 1;
	justify-self: end;
	color: #127791;
	font-size: 23px;
}

.header-nav img {
	width: 50%;
	height: 50%;
}



@media (min-width: 768px) {
	.header.partsGrid {
		padding-top: 39px;
	}
  /*  .header.partsGrid {
		padding-right: -539px;
	}  */


	.header-nav img {
		grid-column: span 2;
	}

	.header-nav ul {
		grid-column: span 9;
		justify-self: end;
		gap: 40px;
		font-size: 16px;
	}

	.header-nav .cart {
		font-size: 30px;
	}
    
	.header-nav img {
		width: 150%;
		height: 150%;
	}
    
	.header {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

}

/* ヘッダー（トップページ） */
.top .header .partsGrid {
	/*background-image: url(img/24921217_m.jpg);ヘッダー他のトップ画像*/
	background-size: cover;
	background-position: center bottom;
}   



.catch.grid12 {
	padding-top: 195px;
	padding-bottom: 226px;
	row-gap: 32px;
}

.catch h1 {
	font-family: 'Noto Sans JP', コーポレート・ロゴ ver2 Bold;
	font-size: 32px;
	font-weight: 400;
	font-weight: bold;
	color: brown;
	/*text-emphasis: sesame #e5c046;
	-webkit-text-emphasis: sesame #e5c046;*/
	/*color: white;*/
}

.catch_c {
	color: white;
	padding: 3px;
	gap: 10%;
	background-color: brown;
}

.catch a {
	width: 260px;
	padding: 13px 0 17px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	border: solid 2px #ffffff;
	border-radius: 4px;
	background-color: #16A6CB;
	color: #ffffff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 118px;
	font-weight: 500;
	text-align: center;
}

.header-nav {
    margin-top: -730px;/*-530*/
	z-index: 20
}  

.catch {
    margin-top: -600px;/*-490*/
	z-index: 20
}

.header-nav ul{
    margin-top: -590px;
	z-index: 10
}



@media (min-width: 768px) {
	.catch h1 {
		grid-column: span 6;
		font-size: 54px;
		min-width: 8em;
        z-index: 10;
}

.header-nav {
    margin-top: -1025px;
    z-index: 10;
}

.catch {
    margin-top: -470px;
    z-index: 10;
}


.header-nav ul{
    margin-top: -40px;
	z-index: 10
}
}


/* ヘッダー（トップページ）：ディバイダー */
.header {
	position: relative;
}

.custom-shape-divider-bottom-1615337033 {
	grid-column: 1 / -1;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	transform: rotate(180deg);
}

.custom-shape-divider-bottom-1615337033 svg {
	position: relative;
	display: block;
	width: calc(134% + 1.3px);
	height: 128px;
}

.custom-shape-divider-bottom-1615337033 .shape-fill {
	fill: #FFFFFF;
}


/* ヘッダー（コンテンツページ） */
.content .header-nav ul {
	color: #555555;
}

.content .header-nav .cart {
	color: #555555;
}


/* 商品情報 */
.item.partsGrid {
	row-gap: 44px;
	padding-top: 20px;
	padding-bottom: 64px;
}

.item.partsGrid + .list-item {
	padding-top: 0;
}

.item-photo {
	grid-column: 1 / -1;
}

@media (min-width: 768px) {
	.item.partsGrid {
		row-gap: 80px;
		padding-top: 30px;
		padding-bottom: 80px;
	}

	.item-photo {
		grid-column: 2;
	}
}

/* 商品情報：12分割グリッド */
.item .grid12 {
	row-gap: 44px;
}

@media (min-width: 768px) {
	.item-body  {
		grid-column: span 6;
	}

	.item-order {
		grid-column: span 5 / -1;
	}
}

/* 商品情報：本文 */
.item-body h1 {
	margin-bottom: 32px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 26px;
	font-weight: 400;
}

.item-body h1 + p {
	margin-bottom: 44px;
	font-size: 14px;
	line-height: 1.8;
}

.item-body ul {
	display: grid;
	row-gap: 23px;
}

.item-body ul h3 {
	margin-bottom: 7px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: 500;
}

.item-body ul p {
	font-size: 14px;
}

@media (min-width: 768px) {
	.item-body h1 {
		margin-bottom: 38px;
		font-size: 44px;
	}

	.item-body h1 + p {
		margin-bottom: 64px;
		font-size: 16px;
	}

	.item-body ul h3 {
		font-size: 18px;
	}

	.item-body ul p {
		font-size: 16px;
	}
}

/* 商品情報：装飾画像 */
.item {
	overflow: hidden;
}

.item-body {
	position: relative;
}

.item-body::before {
	content: url(img/sun.svg);
	position: absolute;
	top: -85px;
	right: -133px;
	z-index: -1;
}

@media (min-width: 768px) {
	.item-body::before {
		top: -209px;
		left: -193px;
		right: auto;
	}
}

/* 商品情報：リストのアイコン */
.item-body li {
	display: grid;
	grid-template-columns: 54px 1fr;
}

.item-body ul .fas {
	grid-row: span 2;
	color: #6ABEEB;
	font-size: 30px;
}

/* 商品情報：注文フォーム */
.item-order {
	padding: 44px 23px;
	border-radius: 10px;
	background-color: #eeeeee;
}

.item-order .price {
	padding-bottom: 22px;
	border-bottom: solid 1px #cccccc;
	color: #c50a0a;
	font-size: 24px;
	font-weight: bold;
}

.item-order .price span {
	font-size: 10px;
	font-weight: normal;
}

.item-order .qty {
	display: block;
	padding: 44px 0;
	font-size: 14px;
	font-weight: bold;
}

.item-order .qty select {
	width: 154px;
	margin-left: 31px;
	padding: 14px 20px 13px;
	border: 1px solid #cccccc;
	border-radius: 10px;
	background-color: #ffffff;
	background-image: url(img/select.svg);
	background-repeat: no-repeat;
	background-position: 
			right 15px center;
	font-family: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.item-order .btn {
	width: 100%;
	height: 75px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	border: none;
	border-radius: 4px;
	background-color: #c50a0a;
	color: #ffffff;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.item-order .btn .fas {
	margin-right: 14px;
	vertical-align: middle;
	font-size: 21px;
}

@media (min-width: 768px) {
	.item-order {
		align-self: start;
		padding: 54px 8%;
	}

	.item-order .btn {
		font-size: 18px;
	}

	.item-order .btn .fas {
		font-size: 30px;
	}
}

/*script*/
    .main {
      width: 100%;
      margin: 0 auto;
    }

    .carousel {
      position: relative;
      width: 100%;
    }

    .btn_left {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      height: 570px;
    }

    .btn_right {
      position: absolute;
      top: 0;
      right: 0;
      z-index: 1;
      height: 570px;
    }

    .carousel button {
      width: 100%;
      height: 100%;
      opacity: 0.5;
      font-size: 5em;
    }

    .slider {
      /*overflow: hidden;*/
      position: relative;
      height: 250px;
      margin: 0 auto;
      background: white;  /*white;*/
    }

   .carousel img {
      position: absolute;
      top: 0;
      bottom: 0;
      /*left: -0;*/
      /*right: 0;*/
      margin-left: auto;  /*auto*/
      margin-right: auto;  /*auto*/
      width: 100%;
      height: 80vh;
      object-fit: cover;
    }

    .center {
      width: 100%;
      z-index: 10;
    }

    .footer {
      text-align: center;
      display: flex;
      width: 100%;
      margin-top: 320px;
    }

    .point {
      margin: 0.5em;
      cursor: pointer;
    }

    .point.active {
      color: white;  /*rgb(167, 78, 250)*/
    }

    /* トランジション */
    .slide-right-leave-active,
    .slide-right-enter-active,
    .slide-left-leave-active,
    .slide-left-enter-active {
      transition: all 5s ease;

    } 

    .slide-right-enter,
    .slide-left-leave-to {
      opacity: 0;
      /*transform: scale(1.1);*/
    }

    .slide-right-leave-to,
    .slide-left-enter {
      opacity: 0;
    }



    /*.slide-right-enter,
    .slide-left-leave-to {
      transform: translateX(100%);
    }*/

    /*.slide-right-leave-to,
    .slide-left-enter {
      transform: translateX(-100%);
    }*/

    /*別テキスト移動*/
.fadeT-enter-active, .fadeT-leave-active {
    /* 表示されている際のCSSはこのブロックに記述 */
    will-change: opacity;
    transition: opacity 2225ms cubic-bezier(0.4, 0, 0.2, 1) 1000ms;
  }
  .fadeT-enter, .fadeT-leave-to {
    /* 非表示の際のCSSはこのブロックに記述 */
      opacity: 0
  }
  
  .slideT-enter-active, .slideT-leave-active {
    /* 表示されている際のCSSはこのブロックに記述 */
    transform: translate(0px, 0px); 
    transition: transform 1200ms cubic-bezier(0, 0, .2, 1) 0ms;  /*(0, 0, 0.2, 1)*/
  }
  
  .slideT-enter, .slideT-leave-to {
    /* 非表示の際のCSSはこのブロックに記述 */
    transform: translateX(-100vw) translateX(0px);
    /*transform: translateY(-100vh) translateY(0px);*/
  }

  .slideU-enter-active, .slideT-leave-active {
    /* 表示されている際のCSSはこのブロックに記述 */
    transform: translate(0px, 0px); 
    transition: transform 1000ms cubic-bezier(0, 0, .2, 1) 0ms;  /*(0, 0, 0.2, 1)*/
  }

  .slideU-enter, .slideT-leave-to {
    /* 非表示の際のCSSはこのブロックに記述 */
    transform: translateX(-100vw) translateX(0px);
    /*transform: translateY(-100vh) translateY(0px);*/
  }

  .slideV-enter-active, .slideT-leave-active {
    /* 表示されている際のCSSはこのブロックに記述 */
    transform: translate(0px, 0px); 
    transition: transform 800ms cubic-bezier(0, 0, .2, 1) 0ms;  /*(0, 0, 0.2, 1)*/
  }

  .slideV-enter, .slideT-leave-to {
    /* 非表示の際のCSSはこのブロックに記述 */
    transform: translateX(-100vw) translateX(0px);
    /*transform: translateY(-100vh) translateY(0px);*/
  }

  .slideW-enter-active, .slideT-leave-active {
    /* 表示されている際のCSSはこのブロックに記述 */
    transform: translate(0px, 0px); 
    transition: transform 600ms cubic-bezier(0, 0, .2, 1) 0ms;  /*(0, 0, 0.2, 1)*/
  }

  .slideW-enter, .slideT-leave-to {
    /* 非表示の際のCSSはこのブロックに記述 */
    transform: translateX(-100vw) translateX(0px);
    /*transform: translateY(-100vh) translateY(0px);*/
  }

  .slideX-enter-active, .slideT-leave-active {
    /* 表示されている際のCSSはこのブロックに記述 */
    transform: translate(0px, 0px); 
    transition: transform 600ms cubic-bezier(0, 0, .2, 1) 0ms;  /*(0, 0, 0.2, 1)*/
  }

  .slideX-enter, .slideT-leave-to {
    /* 非表示の際のCSSはこのブロックに記述 */
    transform: translateX(-100vw) translateX(0px);
    /*transform: translateY(-100vh) translateY(0px);*/
  }
  
  .slideH-enter-active, .slideH-leave-active {
    /* 表示されている際のCSSはこのブロックに記述 */
    transform: translate(0px, 0px); 
    transition: transform 800ms cubic-bezier(0, 0, 0.2, 1) 0ms;
  }
  
  .slideH-enter, .slideH-leave-to {
    /* 非表示の際のCSSはこのブロックに記述 */
    transform: translateY(-100vh) translateY(0px);
  }
   
  /*ふわっと*/
  .penguin-enter-active, .penguin-leave-active {
    transition: opacity 1000.3ms ease;
  }
  
  .penguin-enter-from, .penguin-leave-to {
    opacity: 0;
  }

 
