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

header {
    position: relative;
	background: #fcfbfb;
}

section#mv {
	width: 100%;
    background: #CBEAF3;
}

section#mv object,
section#mv #animation_container{width: 100%;}

section#mv object {
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
/* 前へ次への矢印カスタマイズ */

.swiper-button-prev::after,
.swiper-button-next::after {
	content: "";
	width: 100%;
	height: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
}

.swiper-button-prev::after {
	background: url("../images/common/slider_arrow_l.svg") no-repeat;
	background-size: cover;
}

.swiper-button-next::after {
	background: url("../images/common/slider_arrow_r.svg") no-repeat;
	background-size: cover;
}

.swiper-slide img {
  height: auto;
  width: 100%;
}

div#wrapper {
    width: 100%;
    position: relative;
	background:#fcfbfb;;
}

header.fixed-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}

.swiper-wrap {
  margin: 0 calc(50% - 50vw);
  max-width: 100vw;
  position: relative;
  overflow: hidden;
}

@keyframes zoom-in {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
  animation: zoom-in 10s linear 0s 1 normal both;  
}

.slide-text{
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 3vw;
  font-family: serif;
  font-weight: bold;
  text-shadow: 2px 2px 8px #000;
  color: #fff;
  transform: translate(-50%,-50%);
}

.slide-img img{
  object-fit: cover;
  height: 100vh;
  width: 100vw;
}

.swiper-pagination-bullet {
    width: 30px;
    height: 2px;
    display: inline-block;
    border-radius: 0;
    background: #FFF;
	opacity: .5;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 7px;
}
.swiper-pagination-bullet-active {
    opacity: 1;
    background: #FFF;
}

div#stoy_contents{
    visibility: hidden;
    transition: opacity .5s ease-in-out;
	opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

div#stoy_contents.active {
    visibility: visible;
	opacity: 1;
    z-index: 9999;
	background: rgba(130,142,66,.9);
}

/*
フォントサイズ
https://min-max-calculator.9elements.com/
*/	

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 744px){
	
	header {
		position: relative;
	}
	
	div#story {
		width: 100%;
		height: 100vh;
		line-height: 0;
	}
	
	div#story div.mv{
		width: 100%;
		height: 100%;
		position: relative;
	}
	
	div#stoy_contents {
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	div#stoy_contents span.box{
		display: inline-block;
		color: #FFF;
		text-align: center;
	}
	
	div#stoy_contents span.box h3{
		width: 35px;
		line-height: 0;
		margin: 0 auto 28px;
	}
	
	div#stoy_contents span.box h4{
		font-size: 13px;
		font-size: clamp(0.813rem, 0.025rem + 1.05vw, 0.944rem);
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.16em;
		margin-bottom: 20px;
	}
	
	div#stoy_contents span.box p{
		font-size: 9.5px;
		font-size: clamp(0.594rem, 0.031rem + 0.75vw, 0.688rem);
		font-weight: 500;
		line-height: 2.5;
		letter-spacing: 0.08em;
		margin-bottom: 20px;
	}
	
	div#stoy_contents span.box span#close{
		width: 42px;
		display: block;
		margin: 0 auto;
		cursor: pointer;
	}
	
	div#story div.mv .swiper-pagination {
      top: 20px !important;
    }
	
	div#story div.mv .swiper-pagination {
		text-align: right;
		padding-right: 50px;
	}
	
	div#story div.mv h2.logo{
		width: 92px;
		line-height: 0;
		position: absolute;
		top: 22px;
		left: 40px;
		z-index: 9999;
	}
	
	div#story div.mv div.story_btn{
		width: 155px;
		line-height: 0;
		position: absolute;
		top: calc(50% - 16px);
		left: 50px;
		z-index: 9999;
		cursor: pointer;
	}
	
	div#story div.mv a.scrolldown{
		width: 80px;
		display: block;
		line-height: 0;
		position: absolute;
		bottom: 0;
		right: 50px;
		z-index: 9999;
	}
	
	div#story div.mv a.scrolldown p{
		margin-bottom: 5px;
	}
	
	div#story div.mv a.scrolldown .scroll {
        height: 26px;
        text-align: center;
        z-index: 100;
        overflow: hidden;
        position: relative;
    }
	
	div#story div.mv a.scrolldown .scroll::before {
        content: "";
        display: block;
        width: 1px;
        height: 26px;
        background: #fff;
        position: absolute;
        bottom: 0;
        left: 50%;
    }
	
	div#story div.mv a.scrolldown .scroll::after {
        content: "";
        display: block;
        width: 1px;
        height: 26px;
        background: rgba(0, 0, 0, .5);
        position: absolute;
        bottom: 0;
        left: 50%;
        -webkit-animation: scroll 3s cubic-bezier(0.42, 0, 0.58, 1) infinite;
        animation: scroll 3s cubic-bezier(0.42, 0, 0.58, 1) infinite;
    }
	
	@-webkit-keyframes scroll {
        0%,6% {
            -webkit-transform: translateY(-26px);
            transform: translateY(-26px)
        }

        33%,66% {
            -webkit-transform: translateY(0);
            transform: translateY(0)
        }

        94%,100% {
            -webkit-transform: translateY(26px);
            transform: translateY(26px)
        }
    }

    @keyframes scroll {
        0%,6% {
            -webkit-transform: translateY(-26px);
            transform: translateY(-26px)
        }

        33%,66% {
            -webkit-transform: translateY(0);
            transform: translateY(0)
        }

        94%,100% {
            -webkit-transform: translateY(26px);
            transform: translateY(26px)
        }
    }	
	
	section {
		margin: 0 auto;
		padding-left: 9%;
	}
	
	section h3 {
		display: block;
		font-size: 13px;
		font-size: clamp(0.813rem, 0.664rem + 0.32vw, 0.944rem);
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: 0.16em;
		margin-bottom: 28px;
    }
	
	
	section#concept {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	
	section#concept div.section_inner{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-top: 60px;
	}
	
	section#concept div.section_inner div.text_block{
		width: 36%;
	}
	
	section#concept div.section_inner div.text_block h2{
		width: 14.63%;
		min-width: 52px;
		line-height: 0;
		margin-bottom: 35px;
	}
	
	section#concept div.section_inner div.text_block p{
		font-size: 9.5px;
        font-size: clamp(0.594rem, 0.487rem + 0.23vw, 0.688rem);
		line-height: 2.3;
		letter-spacing: 0.08em;
	}
	
	section#concept div.section_inner div.text_block p + p{
		margin-top: 1.5em;
	}
	
	section#concept div.section_inner div.photo{
		width: 59.6%;
		line-height: 0;
	}
	
	section#brand {
		margin-top: 60px;
		padding-top: 100px;
		padding-bottom: 100px;
	}
	
	section#brand h2{
		width: 3.52%;
		min-width: 35px;
		line-height: 0;
		margin-bottom: 35px;
	}
	
	section#brand ul{
		width: 90%;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#brand ul li{
		width: 50%;
		padding-left: 10%;
	}
	
	section#brand ul li:first-of-type{
		border-right: 1px solid #828e42;
		padding-right: 10%;
		padding-left: 0;
	}
	
	section#brand ul li div.logo_box{
		height: 12.1vw;
		max-height: 146px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	section#brand ul li div.logo_box h5{
		width: 36%;
		line-height: 0;
	}
	
	section#brand ul li h6{
		font-size: 11px;
		font-size: clamp(0.688rem, 0.56rem + 0.27vw, 0.8rem);
		font-weight: 500;
		margin-top: 40px;
		line-height: 1.6;
		text-align: center;
		letter-spacing: 0.16em;
	}
	
	section#brand ul li h6 span{
		color: #828e42;
	}
	
	section#brand ul li p{
		font-size: 8.5px;
		font-size: clamp(0.531rem, 0.431rem + 0.21vw, 0.619rem);
		margin-top: 18px;
		line-height: 2.1;
		letter-spacing: 0.1em;
	}
	
	section#brand ul li div.photo{
		margin-top: 18px;
		line-height: 0;
	}
	
	section#feauture {
		margin-top: 60px;
		padding-top: 100px;
		padding-bottom: 100px;
	}
	
	section#feauture div.section_inner{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#feauture div.section_inner div.text_block{
		width: 37.4%;
	}
	
	section#feauture div.section_inner div.text_block h2{
		width: 14.41%;
		min-width: 54px;
		line-height: 0;
		margin-bottom: 35px;
	}
	
	section#feauture div.section_inner div.text_block p{
		width: 82%;
		font-size: 9.5px;
        font-size: clamp(0.594rem, 0.487rem + 0.23vw, 0.688rem);
		line-height: 2.3;
		letter-spacing: 0.08em;
	}
	
	section#feauture div.section_inner div.text_block div.photo02{
		width: 58.5%;
		line-height: 0;
		margin: 20px 0 0 41.5%;
	}
	
	section#feauture div.section_inner div.photo_block{
		width: 59.7%;
		line-height: 0;
	}
	
	section#feauture dl{
		width: 90%;
		margin-top: 60px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#feauture dl dt{
		width: 17.5%;
	}
	
	section#feauture dl dt h4{
		line-height: 0;
	}
	
	section#feauture dl dt h4 + p{
		font-size: 9.5px;
        font-size: clamp(0.594rem, 0.487rem + 0.23vw, 0.688rem);
		line-height: 2.3;
		letter-spacing: 0.08em;
		margin-top: 15px;
	}
	
	section#feauture dl dd{
		width: 76.6%;
	}
	
	section#feauture dl dd ul{
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#feauture dl dd ul li{
		width: 28.9%;
	}
	
	section#feauture dl dd ul li h5{
		font-size: 11px;
		font-size: clamp(0.688rem, 0.56rem + 0.27vw, 0.8rem);
		font-weight: 500;
		line-height: 1.6;
		letter-spacing: 0.16em;
		color: #828e42;
	}
	
	section#feauture dl dd ul li p{
		font-size: 8.5px;
		font-size: clamp(0.531rem, 0.431rem + 0.21vw, 0.619rem);
		margin-top: 9px;
		line-height: 2.1;
		letter-spacing: 0.1em;
	}
	
	section#feauture dl dd ul li figure{
		line-height: 0;
		margin-top: 18px;
	}
	
	section#products {
		margin-top: 60px;
		padding-top: 100px;
		padding-bottom: 100px;
	}
	
	section#products h2{
		width: 5%;
		min-width: 55px;
		line-height: 0;
		margin-bottom: 35px;
	}
	
	section#products ul{
		width: 90%;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#products ul li{
		width: 45.5%;
	}
	
	section#products ul li:nth-child(n + 3){
		margin-top: 50px;
	}
	
	section#products ul li figure{
		line-height: 0;
	}
	
	section#products ul li figure figcaption{
		font-size: 10px;
		font-size: clamp(0.625rem, 0.512rem + 0.24vw, 0.725rem);
		font-weight: 500;
		margin-top: 15px;
		line-height: 1.8;
		letter-spacing: 0.16em;
	}
	
	section#products ul li div.box{
		margin-top: 12px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-end;
	}
	
	section#products ul li div.box p{
		width: 73.1%;
		font-size: 8.5px;
		font-size: clamp(0.531rem, 0.431rem + 0.21vw, 0.619rem);
		line-height: 2.1;
		letter-spacing: 0.08em;
	}
	
	section#products ul li div.box a{
		width: 18.8%;
		height: 24px;
		border: 1px solid #999;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		line-height: 0;
		contain: paint;
		position: relative;
		z-index: 0;
		padding-bottom: 4px;
	}
	
	section#products ul li div.box a span{
		width: 67.5%;
		display: inline-block;
		transition: all .5s;
	}
	
	section#products ul li div.box a:hover span{
		transform: scale(1.15, 1.15);
	}
	
	section#news {
		margin-top: 60px;
		padding-top: 100px;
		padding-bottom: 80px;
		padding-left: 0;
	}
	
	section#news h2{
		width: 3%;
		min-width: 33px;
		line-height: 0;
		margin: 0 auto 15px;
	}
	
	section#news p{
		font-size: 10px;
		font-size: clamp(0.625rem, 0.512rem + 0.24vw, 0.725rem);
		text-align: center;
		line-height: 1;
		letter-spacing: 0.16em;
	}
	
	section#news p a{
		color: #000;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	section#news p a::after{
		content: "";
		width: 22px;
		height: 22px;
		background: url("../images/top/icon_insta.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		line-height: 0;
		margin-left: 12px;
	}
	
	section#news p a span{
		display: inline-block;
		padding-bottom: 4px;
		border-bottom: 1px solid #828e42;
	}
	
	
	
	
	
	
	
	
	
	section#special div.swiper-container{
		margin-top: 2.8vw;
		line-height: 0;
	}
	
	section#special div.swiper-container .swiper-slide a {
		display: block;
		position: relative;
	}
	
	section#special div.swiper-container .swiper-slide a p.speech01 {
		width: 28.8%;
		position: absolute;
		bottom: 7.3%;
		left: -1.8%;
		z-index: 5;
	}
	
	.swiper-button-prev,
    .swiper-button-next {
        width: 44px;
        height: 44px;
        top: calc(50% + 44px);
        margin: 0;
    }
	
	.swiper-button-prev {
        left: 10.5vw;
    }
    .swiper-button-next {
        right: 10.5vw;
    }
	
}

@media print, screen and (max-width: 1079px){
	
	section#products ul li div.box{
		margin-top: 12px;
		display: block;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-end;
	}
	
	section#products ul li div.box p{
		width: 100%;
	}
	
	section#products ul li div.box a{
		width: 78px;
		margin-top: 12px;
	}
	
}

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 743px){
	
	header {
		position: fixed;
		top: -20vw;
		transition: all .5s ease;
	}
	
	header.fixed-header {
		top: 0;
	}
	
	div#story {
		height: 100vh;
		height: calc(var(--vh, 1vh) * 100);
        width: 100%;
		overflow: hidden;
	}
	
	div#story div.mv{
		width: 100%;
		height: 100%;
		position: relative;
	}
	
	div#stoy_contents {
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	div#stoy_contents span.box{
		display: inline-block;
		color: #FFF;
		text-align: center;
		padding-bottom: 5vw;
	}
	
	div#stoy_contents span.box h3{
		width: 10vw;
		line-height: 0;
		margin: 0 auto 8.5vw;
	}
	
	div#stoy_contents span.box h4{
		font-size: 12.8px;
		font-size: clamp(0.8rem, 0.001rem + 4vw, 1.856rem);
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.16em;
		margin-bottom: 20px;
	}
	
	div#stoy_contents span.box p{
		font-size: 9.6px;
		font-size: clamp(0.6rem, 3vw, 1.393rem);
		font-weight: 500;
		line-height: 2.5;
		letter-spacing: 0.08em;
		margin-bottom: 2.5vw;
	}
	
	div#stoy_contents span.box span#close{
		width: 14vw;
		display: block;
		margin: 0 auto;
		cursor: pointer;
	}
	
	div#story div.mv .swiper-pagination {
      top: 2vw !important;
    }
	
	div#story div.mv .swiper-pagination {
		text-align: right;
		padding-right: 5vw;
	}
	
	.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 3px;
    }
	
	div#story div.mv h2.logo{
		width: 25%;
		line-height: 0;
		position: absolute;
		top: 5vw;
		left: 5vw;
		z-index: 999;
	}
	
	div#story div.mv div.story_btn{
		width: 46vw;
		line-height: 0;
		position: absolute;
		bottom: 20vw;
		left: 6vw;
		z-index: 999;
		cursor: pointer;
	}
	
	div#story div.mv a.scrolldown{
		width: 20vw;
		display: block;
		line-height: 0;
		position: absolute;
		bottom: 0;
		right: 50px;
		z-index: 999;
	}
	
	div#story div.mv a.scrolldown p{
		margin-bottom: 5px;
	}
	
	div#story div.mv a.scrolldown .scroll {
        height: 10vw;
        text-align: center;
        z-index: 100;
        overflow: hidden;
        position: relative;
    }
	
	div#story div.mv a.scrolldown .scroll::before {
        content: "";
        display: block;
        width: 1px;
        height: 10vw;
        background: #fff;
        position: absolute;
        bottom: 0;
        left: 50%;
    }
	
	div#story div.mv a.scrolldown .scroll::after {
        content: "";
        display: block;
        width: 1px;
        height: 10vw;
        background: rgba(0, 0, 0, .5);
        position: absolute;
        bottom: 0;
        left: 50%;
        -webkit-animation: scroll 3s cubic-bezier(0.42, 0, 0.58, 1) infinite;
        animation: scroll 3s cubic-bezier(0.42, 0, 0.58, 1) infinite;
    }
	
	@-webkit-keyframes scroll {
        0%,6% {
            -webkit-transform: translateY(-10vw);
            transform: translateY(-10vw)
        }

        33%,66% {
            -webkit-transform: translateY(0);
            transform: translateY(0)
        }

        94%,100% {
            -webkit-transform: translateY(10vw);
            transform: translateY(10vw)
        }
    }

    @keyframes scroll {
        0%,6% {
            -webkit-transform: translateY(-10vw);
            transform: translateY(-10vw)
        }

        33%,66% {
            -webkit-transform: translateY(0);
            transform: translateY(0)
        }

        94%,100% {
            -webkit-transform: translateY(10vw);
            transform: translateY(10vw)
        }
    }
	.swiper-pagination-bullet {
        width: 6vw!important;
        height: 1px!important;
    }
	
	section {
		margin: 0 auto;
	}
	
	section h3 {
		display: block;
		font-size: 12px;
		font-size: clamp(0.75rem, -0.088rem + 4.19vw, 1.857rem);
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: 0.16em;
		margin-bottom: 8.5vw;
    }
	
	
	section#concept {
		padding-top: 10vw;
		margin-top: 15vw;
	}
	
	section#concept div.section_inner div.text_block h2{
		width: 14vw;
		line-height: 0;
		margin-bottom: 10vw;
	}
	
	section#concept div.section_inner div.text_block p{
		font-size: 9.6px;
        font-size: clamp(0.6rem, 3vw, 1.393rem);
		line-height: 2.5;
		letter-spacing: 0.08em;
	}
	
	section#concept div.section_inner div.text_block p + p{
		margin-top: 2em;
	}
	
	section#concept div.section_inner div.photo{
		line-height: 0;
		margin-top: 11vw;
	}
	
	section#brand {
		padding-top: 25vw;
	}
	
	section#brand h2{
		width: 8.75vw;
		line-height: 0;
		margin-bottom: 12vw;
	}
	
	section#brand ul{
		list-style: none;
	}
	
	section#brand ul li{
		width: 100%;
	}
	
	section#brand ul li:first-of-type{
		border-bottom: 1px solid #828e42;
		padding-bottom: 6vw;
		margin-bottom: 13.5vw;
	}
	
	section#brand ul li div.logo_box h5{
		width: 32.2%;
		margin: 0 auto;
		line-height: 0;
	}
	
	section#brand ul li h6{
		font-size: 9.6px;
        font-size: clamp(0.6rem, 3vw, 1.393rem);
		font-weight: 500;
		margin-top: 10vw;
		line-height: 1.6;
		text-align: center;
		letter-spacing: 0.16em;
	}
	
	section#brand ul li h6 span{
		color: #828e42;
	}
	
	section#brand ul li p{
		width: 83.4%;
		margin: 3vw auto 0;
		font-size: 8px;
		font-size: clamp(0.5rem, 2.5vw, 1.161rem);
		line-height: 2.4;
		letter-spacing: 0.06em;
	}
	
	section#brand ul li div.photo{
		margin-top: 18px;
		line-height: 0;
	}
	
	section#feauture {
		padding-top: 25vw;
	}
	
	section#feauture div.section_inner{
		position: relative;
	}
	
	section#feauture div.section_inner div.text_block h2{
		width: 14.5vw;
		line-height: 0;
		margin-bottom: 10vw
	}
	
	section#feauture div.section_inner div.text_block p{
		font-size: 9.6px;
        font-size: clamp(0.6rem, 3vw, 1.393rem);
		line-height: 2.5;
		letter-spacing: 0.08em;
	}
	
	section#feauture div.section_inner div.text_block div.photo02{
		width: 27.7%;
		line-height: 0;
		position: absolute;
		left: -5vw;
		bottom: -4vw;
	}
	
	section#feauture div.section_inner div.photo_block{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		margin-top: 6vw;
	}
	
	section#feauture div.section_inner div.photo_block div.photo01{
		width: 75%;
		line-height: 0;
	}
	
	section#feauture dl{
		width: 83.4%;
		margin: 11vw auto 0;
	}
	
	section#feauture dl dt{
		width: 100%;
	}
	
	section#feauture dl dt h4{
		width: 92%;
		line-height: 0;
	}
	
	section#feauture dl:first-of-type dt h4{
		width: 72.6%;
	}
	
	section#feauture dl dt h4 + p{
		font-size: 8px;
        font-size: clamp(0.5rem, 2.5vw, 1.161rem);
		line-height: 2.4;
		letter-spacing: 0.08em;
		margin-top: 1.5vw;
	}
	
	section#feauture dl dd{
		width: 100%;
		margin-top: 4vw;
	}
	
	section#feauture dl dd ul{
		list-style: none;
	}
	
	section#feauture dl dd ul li{
		width: 100%;
	}
	
	section#feauture dl dd ul li + li{
		margin-top: 7vw;
	}
	
	section#feauture dl dd ul li h5{
		font-size: 9.6px;
        font-size: clamp(0.6rem, 3vw, 1.393rem);
		font-weight: 500;
		line-height: 1.6;
		letter-spacing: 0.16em;
		color: #828e42;
	}
	
	section#feauture dl dd ul li p{
		font-size: 8px;
        font-size: clamp(0.5rem, 2.5vw, 1.161rem);
		margin-top: 1.5vw;
		line-height: 2.4;
		letter-spacing: 0.14em;
	}
	
	section#feauture dl dd ul li figure{
		width: 73.3%;
		line-height: 0;
		margin: 3.5vw auto 0;
	}
	
	section#products {
		padding-top: 25vw;
	}
	
	section#products h2{
		width: 14vw;
		line-height: 0;
		margin-bottom: 11vw;
	}
	
	section#products ul{
		width: 83.3%;
		margin: 0 auto;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#products ul li{
		width: 100%;
	}
	
	section#products ul li + li{
		margin-top: 10vw;
	}
	
	section#products ul li figure img{
		width: 133.33%;
		margin-left: -16.665%;
	}
	
	section#products ul li figure figcaption{
		font-size: 9.6px;
        font-size: clamp(0.6rem, 3vw, 1.393rem);
		font-weight: 500;
		margin-top: 1vw;
		line-height: 1.8;
		letter-spacing: 0.16em;
	}
	
	section#products ul li div.box{
		margin-top: 2vw;
	}
	
	section#products ul li div.box p{
		font-size: 8px;
        font-size: clamp(0.5rem, 2.5vw, 1.161rem);
		line-height: 2.4;
	}
	
	section#products ul li div.box a{
		width: 29.4%;
		height: 6vw;
		min-height: 20px;
		border: 1px solid #999;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		line-height: 0;
		position: relative;
		z-index: 0;
		padding-bottom: 2px;
	}
	
	section#products ul li div.box a span{
		width: 66%;
		display: inline-block;
	}
	
	section#news {
		padding-top: 25vw;
		padding-bottom: 10vw;
	}
	
	section#news h2{
		width: 8vw;
		line-height: 0;
		margin: 0 auto 2.5vw;
	}
	
	section#news p{
		font-size: 8px;
        font-size: clamp(0.5rem, 2.5vw, 1.161rem);
		text-align: center;
		line-height: 1;
		letter-spacing: 0.06em;
	}
	
	section#news p a{
		color: #000;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	section#news p a::after{
		content: "";
		width: 4.8vw;
		height: 4.8vw;
		background: url("../images/top/icon_insta.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		line-height: 0;
		margin-left: 2vw;
	}
	
	section#news p a span{
		display: inline-block;
		padding-bottom: 4px;
		border-bottom: 1px solid #828e42;
	}
	
}