@charset "UTF-8";

/* page
------------------------------ */

/* container
------------------------------ */
.main-container {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: 5px;
}
.sub-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 5px;
}
.main_container__01 {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: 5px;
}
.sub_container__01 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 5px;
}
.main_container__02 {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: 5px;
}
.sub_container__02 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 5px;
}
.main_container__03 {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: 5px;
}
.sub_container__03 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 5px;
}
.sub-container img {
    width:100%;
    height: auto;
    object-fit: cover;
}
.sub_container__01 img {
    width:100%;
    height: auto;
    object-fit: cover;
}

/* wrapper
------------------------------ */
.wrapper_top {
    margin-bottom: -30px
}
.wrapper_first {
    padding: 0 20%;
    margin-bottom: -30px
}
.wrapper_second {
    padding: 0 20%;
    margin-bottom: -30px
}
.wrapper_third {
    padding: 0 20%;
}

/* wrap
------------------------------ */
.wrap_top {
    padding: 0 0 8%;
}
.wrap_first {
    padding: 0 0 12%;
}
.wrap_second {
    padding: 0 0 12%;
}
.wrap_third {
    padding: 0 0 12%;
}

/* contents
------------------------------ */
.contents_carousel{
    width: 100%;
    margin: 0 auto;
    padding: 0 0 2%;
}
.contents_logo {
    width: 30%;
    margin: 0 auto;
    padding: 3% 0 2.5%;
}
.contents_title {
    width: 100%;
    margin: 0 auto;
    padding: .5% 0 2%;
}
.contents_ttl {
    width: 100%;
    margin: 0 auto;
    padding: 4% 0 0;
}
.contents_subttl {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.contents_headImg {
    width: 100%;
    margin: 0 auto 3%;
    padding: 0;
}
.contents_header {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 2%;
}
.contents_headline {
    width: 100%;
    margin: 0 auto;
    padding: 2% 0 6%;
}
.contents_pickup {
    width: 100%;
    margin: 0 auto;
    padding: 2% 0 0;
}
.contents_explain {
    width: 100%;
    margin: 0 auto;
    padding: 0 5% 5%;
}
.contents_heading {
    width: 100%;
    margin: 0 auto 2%;
    padding: 2% 0;
}
.contents_lead {
    width: 100%;
    margin: 0 auto;
    padding: 2% 0 0;
}
.contents_image {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.contents_item {
    width: 30%;
    margin: 0 0 2%;
    padding: 0 0 1%;
}
.contents_button {
    width: 100%;
    margin: 0;
    padding: 8% 10% 0;
}
.contents_text {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.contents_footer{
	width: 100%;
	margin: 0 auto;
    padding: 0;
}

/* area
------------------------------ */

/* block
------------------------------ */
.headingBlock_01 {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}
.rubyBlock_01 {
    width: 100%;
    margin: 0 auto;
    padding: 1% 0 3%;
}
.linkBlock_01 {
    width: 100%;
    margin: 0 auto;
    padding: 2% 0 0;
}

/* button
  ------------------------------ */
.topline_01{
    border-top: solid 1px #111;
}
.underline_01{
    border-bottom: solid 1px #999;
}
.line_02{
    border-top: dotted 1px #111;
    border-bottom: dotted 1px #111;
}
.dotted02{
 background-image : linear-gradient(to right, #111 3px, transparent 3px);
 background-size: 18px 3px;
 background-repeat: repeat-x; 
 background-position: left bottom;
}
/* border
  ------------------------------ */

/* element
------------------------------ */

/* parts
  ------------------------------ */

/* box
  ------------------------------ */
.carouselBox{
    width: 100%;
    margin: 0 auto;
    padding: 0 .1%;
}
.itemBox_01 {
    width: 49%;
    margin: 0 auto;
    padding: 2% 5.5%;
}

/* inward
------------------------------ */

/* inner
------------------------------ */
.inner_01 {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 2%;
}
.inner_02 {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.inner_03 {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 2%;
}
.inner_04 {
    width: 100%;
    margin: 0 auto;
    padding: 2% 3% 0 0;
}
.inner_05 {
    width: 100%;
    margin: 0 auto;
    padding: 5%;
}
.inner_06 {
    width: 100%;
    margin: 0 auto;
    padding: 6% 0 4%;
}
.inner_07 {
    width: 100%;
    margin: 0 auto;
    padding: 4% 0 0;
}
.inner_08 {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

/* layer
------------------------------ */

/* after
------------------------------ */

/*space
------------------------------ */
.space_top {
}
.space_left {
    padding: 5% 0 0 1%;
}
.space_right {
    padding-right: 0 2%;
}

/*hover
------------------------------ */

/*background-color
------------------------------ */
.white_bk{
    background: rgba(255,255,255,1);
}
.gray_bk{
    background: rgba(238,238,238,1);
}
.beige_bk{
    background: rgba(240,238,228,1);
}
.beige_bk__pc{
    background: rgba(240,238,228,1);
}
.pink_bk{
    background: rgba(251,222,218,.5);
}
.yellow_bk{
    background: rgba(229,212,118,.6);
}
.margarine_bk{
    background: rgba(238,232,170,.6);
}

/*radius
------------------------------ */
.radius_01{
    border-radius: 10px;
}


/* flex
------------------------------ */

/* center
------------------------------ */
.center_01{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

/* font
------------------------------ */
@font-face {
    font-display: swap;
    font-family: "ShipporiMincho";
    src: url("https://www.le-noble.com/topic/font/ShipporiMincho.eot?") format('eot'),
    url("https://www.le-noble.com/topic/font/ShipporiMincho.woff") format('woff'),
    url("https://www.le-noble.com/topic/font/ShipporiMincho.otf") format('opentype');
}
.contents_wrap{font-family: 'Noto Sans JP', sans-serif;}

/* h1 text
------------------------------ */
h1.ruby {
    font-family: var(--font_ja);
    margin: 0;
    color: #777;
    text-align: center;
    font-size: calc(1.3rem * 1.5);
    line-height: calc(2.2rem * 1.5);
    letter-spacing: .2rem;
}

/* h3 text
------------------------------ */
h3.ttl{
    font-family: var(--font_eng);
    margin: 0;
    color: #555;
    text-align: center;
    font-size: calc(3.5rem * 1.5);
    line-height: calc(4.5rem * 1.5);
    letter-spacing: .5rem;
}
h3.title {
    font-family: var(--font_eng);
    margin: 0;
    color: #555;
    text-align: center;
    font-size: calc(2.5rem * 1.5);
    line-height: calc(3.5rem * 1.5);
    letter-spacing: .2rem;
}

/* h4 text
------------------------------ */
h4.title {
    font-family: var(--font_eng);
    margin: 0;
    color: #555;
    text-align: center;
    font-size: calc(3.4rem * 1.5);
    line-height: calc(3rem * 1.5);
    letter-spacing: .2rem;
}
h4.ttl{
    font-family: var(--font_ja);
    margin: 0;
    color: #333;
    text-align: center;
    font-size: calc(1.5rem * 1.5);
    line-height: calc(2rem * 1.5);
}
h4.headline{
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #666;
    text-align: center;
    font-size: calc(2rem * 1.5);
    display: flex ;
    align-items: center ;
}
h4.headline span{
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #666;
    font-size: calc(1.4rem * 1.5);
}
h4.headline::after{
    align-content: center;
	content: "";
	flex-grow:1;
	margin:0 3rem;
	height: 1px;
	background: #444;
	display: block;
}	  
h4.headline::before{
    align-content: center;
	content: "";
	flex-grow:1;
	margin:0 3rem;
	height: 1px;
	background: #444;
	display: block;
}	
h4.topics{
    font-family: var(--font_eng);
    margin: 0;
    color: #555;
    text-align: center;
    font-size: calc(1.5rem * 1.5);
    line-height: calc(2.4rem * 1.5);
}


/* h5 text
------------------------------ */
h5.title {
    font-family: ShipporiMincho;
    margin: 0;
    color: #333;
    text-align: center;
    font-size: calc(2rem * 1.5);
    line-height: calc(3rem * 1.5);
}
h5.heading{
    font-family: ShipporiMincho;
    margin: 0;
    color: #333;
    text-align: center;
    font-size: calc(2rem * 1.5);
    line-height: calc(3rem * 1.5);
}
h5.topics{
    font-family: var(--font_eng);
    margin: 0;
    color: #666;
    text-align: center;
    font-size: calc(2.4rem * 1.5);
    line-height: calc(3.3rem * 1.5);
}
h5.headline{
    font-family: var(--font_eng);
    margin: 0;
    color: #666;
    text-align: center;
    font-size: calc(2.5rem * 1.5);
    line-height: calc(3rem * 1.5);
    display: flex ;
    align-items: center ;
}
h5.headline::before {
    align-content: center;
    content: "";
    flex-grow: 1;
    margin: 0;
    margin-right: 20px;
    height: 1px;
    background: #444;
    display: block;
}
h5.headline::after{
    align-content: center;
	content: "";
	flex-grow:1;
	margin:0;
    margin-left: 20px;
	height: 1px;
	background: #444;
	display: block;
	  }	  

/* p text
------------------------------ */
p.lead {
    font-family: Lato, Noto Sans JP, sans-serif;
    margin: 0;
    color: #333;
    text-align: center;
    font-size: calc(1.3rem * 1.5);
    line-height: calc(2.8rem * 1.5);
    letter-spacing: .1rem;
}
p.comment_01 {
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #333;
    text-align: center;
    font-size: calc(1.2rem * 1.5);
    line-height: calc(2rem * 1.5);
    letter-spacing: .1rem;
}
p.sentence_01 {
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #333;
    text-align: left;
    font-size: calc(1.2rem * 1.5);
    line-height: calc(2.5rem * 1.5);
    letter-spacing: .1rem;
}
p.caption_01 {
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #333;
    text-align: center;
    font-size: calc(1.2rem * 1.5);
    line-height: calc(2rem * 1.5);
    letter-spacing: .1rem;
}
p.ruby {
    font-family: var(--font_eng);
    margin: 0;
    color: #777;
    text-align: center;
    font-size: calc(.9rem * 1.5);
    line-height: calc(1.8rem * 1.5);
    letter-spacing: .1rem;
}
p.series_name{
    margin: 0;
    color: #777;
    text-align: center;
    font-size: calc(1rem * 1.5);
    line-height: calc(2rem * 1.5);
    letter-spacing: .1rem;
}
p.see{
    margin: 0;
    color: #777;
    text-align: right;
    font-size: calc(1rem * 1.5);
    line-height: calc(2rem * 1.5);
    letter-spacing: .1rem;
}

/* price
------------------------------ */

/* btn
------------------------------ */
p.itemBtn {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 100%;
	margin: 0 auto;
	padding: 1rem 4rem;
    font-size: calc(1rem * 1.5);
	font-weight: bold;
	border: 2px solid #555;
	color: #555;
	border-radius: 100vh;
	transition: 0.5s;
}
p.itemBtn :hover {
    opacity: 10!important;
	color: #fff;
	background: #555;
}
a.categoryBtn{  
    display:block;
    padding: 2.5% 0;
    font-size: calc(1.2rem * 1.5);
    letter-spacing: .1rem;
    text-align: center;
    text-decoration: none;
    border: 1px solid #555 ;
    color: #555;
    margin: 0 auto;
}
a.categoryBtn:hover{
    opacity: 10!important;
    color: #fff;
    background: #555;
}
p.seriesBtn {
    margin: 0 auto;
    display: block;
    padding: 3.5% 0;
    font-size: calc(1rem * 1.5);
    letter-spacing: .1rem;
    text-align: center;
    text-decoration: none;
    border: 1px solid #555;
    color: #555;
}
p.seriesBtn:hover{
    opacity: 10!important;
    color: #fff;
    background: #555;
}

/* slider
------------------------------ */
.contents_carousel .carouse .slick-prev {
  top: 107%;
  left: 25.5%;
  z-index: 1;
}
.contents_carousel .carouse .slick-next {
  top: 107%;
  right: 26%;
  z-index: 2;
}
.contents_carousel .carouse .slick-dots {
  bottom: -65px;
}
.fs-c-slick .slick-slide {
  padding: 0 .02%;
}
.fs-c-slick .slick-arrow {
  top: 107%;
}
.fs-c-slick .slick-next {
  top: 107%;
}

/* swiper
------------------------------ */
.sample-slider {
    width: 100%;
    margin: 0;
    margin-bottom: -30px;
}
.sample-slider img{
    width: 100%;
}
.sample-slider .swiper-wrapper{
    transition-timing-function: linear!important;
}


/* --------------------------------
* Note PC
* -------------------------------- */
@media screen and (max-width: 1380px) {
    
/* wrapper
------------------------------ */

/* other
------------------------------ */

}


/* --------------------------------
* yahoo
* -------------------------------- */
@media screen and (max-width: 1100px) {
    
/* wrapper
------------------------------ */

/* other
------------------------------ */

}
    
    
/* --------------------------------
* rakuten
* -------------------------------- */
@media screen and (max-width: 850px) {
    
/* wrapper
------------------------------ */

/* other
------------------------------ */

}


/* --------------------------------
* SP
* -------------------------------- */
@media screen and (max-width:639px) {
    
/* base */
.category-comment .contents_headImg {
    margin: 0 auto !important;
}
    
/* page
------------------------------ */

/* wrapper
------------------------------ */
.wrapper_first {
    padding: 0;
    margin-bottom: 0;
}
.wrapper_second {
    padding: 0;
    margin-bottom: 0;
}
.wrapper_third {
    padding: 0;
    margin-bottom: 0;
}

/* wrap
------------------------------ */
.wrap_top {
  padding: 0 0 20%;
}
.wrap_first {
  padding: 0 0 20%;
}
.wrap_second {
  padding: 0 0 20%;
}
.wrap_third {
  padding: 0 0 20;
}
    
/* ColumnBox
------------------------------ */

/* area
------------------------------ */

/* outer
------------------------------ */

/* contents
------------------------------ */
.contents_carousel{
    width: 100%;
    margin: 0 auto;
    padding: 0 0 8%;
}
.contents_ttl {
    width: 100%;
    margin: 0 auto;
    padding: 7% 0 0;
}
.contents_title {
    width: 100%;
    margin: 0 auto;
    padding: 1% 0 0;
}
.contents_logo {
    width: 70%;
    margin: 0 auto;
    padding: 6% 0;
}
.contents_lead {
    width: 100%;
    margin: 0 auto;
    padding: 5% 0;
}    
.contents_headline {
    width: 100%;
    margin: 0 auto;
    padding: 6% 2% 15%;
}
.contents_pickup {
    width: 100%;
    margin: 0 auto;
    padding: 8% 2% 0;
}
.contents_explain {
    width: 100%;
    margin: 0 auto;
    padding: 8% 5% 10%;
} 
.contents_heading {
    width: 100%;
    margin: 0 auto;
    padding: 4% 5% 0;
}
.contents_subttl {
    width: 100%;
    margin: 0 auto;
    padding: 4% 0 2%;
}  
.contents_button {
    width: 100%;
    margin: 0 auto;
    padding: 8% 8% 0;
}

/* box
------------------------------ */
.carouselBox {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.itemBox_01 {
    width: 100%;
    margin: 0 auto;
    padding: 5% 8%;
}

/* block
------------------------------ */
.rubyBlock_01 {
    width: 94%;
    margin: 0 auto;
    padding: 0 0 8%;
}

/* button
------------------------------ */

/* border
------------------------------ */

/* parts
------------------------------ */

/*space
------------------------------ */

/* inward
------------------------------ */

/* inner
------------------------------ */
.inner_01 {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 5%;
}
.inner_02 {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.inner_03 {
    width: 100%;
    margin: 0 auto;
    padding: 0 8% 6%;
}
.inner_04 {
    width: 100%;
    margin: 0 auto;
    padding: 4% 5% 0 0;
}

/* layer
------------------------------ */
.layer_01 {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
    
/* center
------------------------------ */
.center_01 {
    position: sticky;
    top: 0;
    left: 0;
    transform: translateY(0) translateX(0);
}
        
/* after
------------------------------ */

/*background-color
------------------------------ */
    
/* flex
------------------------------ */
.flexarea_01 {
    flex-direction: column;
}    
.flexbox_01 {
    flex-direction: column;
}   
.flexbox_02 {
    flex-direction: row;
}
    
/* h1 text
------------------------------ */
h1.ruby {
    margin: 0;
    text-align: center;
    font-size: calc(.95rem * 1.5);
    line-height: calc(1.8rem * 1.5);
}

/* h3_text
------------------------------ */
h3.ttl {
    margin: 0;
    font-size: calc(1.8rem * 1.5);
    line-height: calc(2.7rem * 1.5);
    letter-spacing: .1rem;
}
h3.title {
    margin: 0;
    font-size: calc(1.4rem * 1.5);
    line-height: calc(2rem * 1.5);
    letter-spacing: .1rem;
}
    
/* h4 text
------------------------------ */
  h4.title {
    margin: 0;
    font-size: calc(2.1rem * 1.5);
    line-height: calc(3rem * 1.5);
    letter-spacing: .1rem;
  }
h4.ttl {
    margin: 0;
    font-size: calc(1.2rem * 1.5);
    line-height: calc(2.2rem * 1.5);
    letter-spacing: .1rem;
}
h4.headline{
    margin: 0;
    font-size: calc(1.4rem * 1.5);
    display: block;
    text-align: center;
}
h4.headline span{
    margin: 0;
    font-size: calc(1.2rem * 1.5);
}
h4.headline::before{
    align-content: center;
	content: "";
	flex-grow:1;
	margin:0 1%;
	height: 1px;
	background: #111;
	display: flex;
	  }	
h4.headline::after{
    align-content: center;
	content: "";
	flex-grow:1;
	margin:0 1%;
	height: 1px;
	background: #111;
	display: flex;
	  }	  
 
/* h5 text
------------------------------ */
h5.title {
    font-size: calc(1.2rem * 1.5);
    line-height: normal;
    margin: 0;
}
h5.ttl{
    font-size: calc(1.2rem * 1.5);
    line-height: normal;
    margin: 0;
}
h5.headline{
    margin: 0;
    font-size: calc(1.9rem * 1.5);
    display: block;
    text-align: center;
    align-items: center ;
}
 h5.headline::before {
    align-content: center;
    content: "";
    flex-grow: 1;
    margin: 0 0 5px;
    height: 1px;
    display: block;
}
h5.headline::after{
    align-content: center;
	content: "";
	flex-grow:1;
	margin: 5px 0 0;
	height: 1px;
	display: block;
}
h5.topics {
    font-family: var(--font_eng);
    margin: 0;
    color: #555;
    text-align: center;
    font-size: calc(2.4rem * 1.5);
    line-height: calc(3rem * 1.5);
}

/* p text
------------------------------ */
 p.lead {
    margin: 0;
    font-size: calc(1.1rem * 1.5);
    line-height: calc(2rem * 1.5);
    letter-spacing: .1rem;
}
p.comment_01 {
    margin: 0;
    font-size: calc(1.05rem * 1.5);
    line-height: calc(1.6rem * 1.5);
    letter-spacing: .1rem;
}
p.sentence_01 {
    margin: 0;
    font-size: calc(1rem * 1.5);
    line-height: calc(1.8rem * 1.5);
    letter-spacing: .1rem;
}
p.series_name {
  margin: 0;
  font-size: calc(.95rem * 1.5);
  line-height: calc(2rem * 1.5);
  letter-spacing: .1rem;
}
p.ruby {
    font-size: calc(1.2rem * 1.5);
    letter-spacing: .1rem;
    text-align: center;
}
p.see {
    margin: 0;
    font-size: calc(.95rem * 1.5);
    line-height: calc(1.7rem * 1.5);
    letter-spacing: .1rem;
}
    
/* button
------------------------------ */
a.categoryBtn {
    display: block;
    padding: 5% 0;
    font-size: calc(.9rem * 1.5);
    letter-spacing: .1rem;
    text-align: center;
    text-decoration: none;
    border: 1px solid #555;
    color: #555;
    margin: 0 auto;
}

/* slider
------------------------------ */
.contents_carousel .carouse .slick-prev {
  top: 111%;
  left: 5%;
  z-index: 1;
}
.contents_carousel .carouse .slick-next {
  top: 111%;
  right: 6.5%;
  z-index: 2;
}
.contents_carousel .carouse .slick-dots {
  bottom: -45px;
}
/* swiper
------------------------------ */
.sample-slider {
    width: 100%;
    margin: 0;
    margin-bottom: -30px;
}
.sample-slider img{
    width: 100%;
}
.sample-slider .swiper-wrapper{
    transition-timing-function: linear!important;
}


/* other
------------------------------ */
.pc_display{display:none !important;}
.sp_display{display:block !important;}
.br_pc{display: none !important;}
.br_sp{display: block !important;}
.pc_img{display: none !important;}
.sp_img{
display: block !important;
width: 100%;	  
}
    
}