@charset "UTF-8";
/* CSS Document */

body{
    font-feature-settings: "palt";
    letter-spacing: 0.07em;
}
.raysela-content{
    padding: 0 0 100px 0;
}
/*=== ヘッダーナビ ===*/
header {
    box-shadow: 0px 0px 4px 0px rgba(4, 0, 0, 0.0);
}


/*=== ヘッダーナビ ===*/



/*=== タイトルと商品概要 ===*/
.flex{
    display:flex;
}

.raysela-sub .main-visual {
    min-height: auto;
}
.main-visual_2025new{
    width: 100%;
    text-align: center;
}
.main-visual_2025new img{
    margin: auto;
}

.raysela-sub h2.new_h2{
    font-size: 2em;
    font-family: "Shippori Mincho B1", serif;
    color: #333;
    text-align: center;
    margin: 0px 0 50px;
    padding: 70px 0 0 0;
    transition-delay: 0.2s;
}

p.new_p{
    padding: 70px 0 40px 0;
    text-align: center;
    font-size: 1.3em;
    font-family: "Shippori Mincho B1", serif;
    line-height: 2.1em;
    transition-delay: 0.4s;
}


.new_product_box1,.new_product_box2{
    background-color: #dce9ff;
    padding: 30px;
    width: 100vw;
   margin: 50px calc(50% - 50vw);
}
.new_product_box2{
    background-color: #cae3de;
}
.new_product_box1 .flex,.new_product_box2 .flex{
    width: 740px;
   margin: 0 auto;
    align-items: center;
}

.product_img{
    background-color: #FFF;
    padding: 50px;
    width: 350px;
    height: 350px;
    box-sizing: border-box;
    text-align: center;
    border-radius:20% 0 20% 0;
    margin: 0 70px 0 0;
}
.product_img img{
    width: auto;
    height: 100%;
}
.new_product_box2 .flex .product_img img{
    width: auto;
    height: 100%;
}
.product_text h3{
    font-size: 1.35em;
}
.product_text p{
    font-size: 1.2em;
}
.product_text p.name2{
    font-size: 0.9em;
}
.product_label{
    display: block;
    width: 150px;
    margin: 20px 0;
}
/*
.product_text a {
    flex: 0 0 100%;
    color: #fff;
    background-color: #6BBBBC;
    text-align: center;
    padding: 0.5rem 0.1rem 0.5rem 1rem;
    text-decoration: none;
    margin-top: 2rem;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.product_text a::after {
    content: '';
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid #BCE1DF;
    display: block;
    margin-left: 1rem;
}
*/


/*おすすめ*/

.recommend_box{
  text-align: center;
    margin: 0 0 50px 0;
}
.recommend_box h2 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
    text-align: center;
}
.recommend_box h2:before,.recommend_box h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: #259E93;
}
.recommend_box h2:before {
  left:0;
}
.recommend_box h2:after {
  right: 0;
}
.recommend_box_ul{
    width:120%; 
    display: flex;
  flex-wrap: wrap;
    justify-content:space-between;
    align-items: flex-start;
    text-align: left;
    margin: auto;
    
}
.recommend_box_ul li{
    width: 48%;
    font-size: 1.2em;
    margin: 0 0 20px 0;
}
.recommend_box_ul li img{
    width: 25px;
    margin: 0 10px 0 0;
    position: relative;
    top:4px;
}


/*ポイント*/
.point_box h2,.howto_box h2{
    font-size: 4em;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    color: #333;
    margin: 0;
}
.point_box h3,.howto_box h3{
    font-size: 1.6em;
    position: relative;
    padding: 0 0 0 40px;
}
.point_box h3:before,.howto_box h3:before {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 35px;
  height: 1px;
  background-color: #333;
  left:0px;
}
ul.point_ul{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 40px 0 50px;
}
ul.point_ul2{
    counter-reset: number 0;
}

ul.point_ul li{
    width: 18%;
    aspect-ratio: 1 / 1;     	/* 外側の線を広げた分、要素の大きさを調整する*/
}

ul.point_ul li a{
    background-color: #FFF;
    color: #333;
    text-align: center;
    border-radius: 50%;
    padding: 20px 10px 20px;
    box-sizing: border-box;
    font-size: 10.5px;
	border: solid 1px #555;    	/* 内側の線になる一本線の枠線をひく*/
	outline: solid 1px #FFF;    /* 外側の線になる一本線の枠線をひく*/
	outline-offset: 1px;        /* 外側の線と内側の線の空き具合を調整*/
	margin: 2px;            	/* 外側の線を広げた分、要素の大きさを調整する*/
  
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
    aspect-ratio: 1 / 1; 
}


.ul.point_ul li a{
  position: absolute;
  transform: translate(-0%, -0%);
}

.btn{
  position: relative;
  display: block;
  transition: 0.5s;
  text-decoration: none;
}
body{
  counter-reset: number 0;
}
.btn:before {
  counter-increment: number 1;
  content:"0" counter(number) " ";
  position: absolute;
  top: -15px;
    left: -20px;
    background-color: #a9ccff;
    border-radius: 50% 50% 0 50%;
    width: 45px;
    height: 45px;
    color: #fff;
    font-size:1.35em;
    aspect-ratio: 1 / 1;
    display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.section_04 .btn:before {
    background-color: #b4e2d9;
}

.btn:after {
  content: "";
    background-image: url("../images/2026new/arrow.svg");
    width: 10px;
    height: 10px;
    background-repeat: no-repeat;
  position: absolute;
  bottom: 10px;
    left: 50%;
    transform: translateY(-50%) translateX(-50%); 
  transition: all 0.2s;
  display: block;
    margin: auto;
}
.section_04 .btn:after {
    background-image: url("../images/2025new/arrow02.svg");
}

.btn:hover:after {
  bottom: 5px;
}
.counter-reset{
    counter-reset: number 0;
}

.point_text_box{
    margin: 100px 0 0 0;
    
}
.point_text_box h3{
    font-size:1.6em;
  position: relative;
    padding: 50px 0 0 50px;
    margin: -50px 0 40px 0;
    
}

.point_text_box h3:before {
  counter-increment: number 1;
  content:"0" counter(number) " ";
  position: absolute;
  bottom: 0%;
    left: -20px;
    background-color: #a9ccff;
    border-radius: 50% 50% 0 50%;
    width: 55px;
    height: 55px;
    color: #fff;
    font-size:1.2em;
    aspect-ratio: 1 / 1;
    display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.section_04 .point_text_box h3:before {
    background-color: #b4e2d9;
}



.point_text_box img{
    display: block;
    margin: 30px auto;
}
.point_text01_img{
    width: 40%;
}
.point_text02_img{
    width: 55%;
}
img.point_text03_img{
    width: 100%;
    margin: 20px auto 0;
}

.point_text04_ul {
    width: 70%;
    margin: 30px auto;
}
.point_text04_ul li{
    margin: 0 0 10px 0;background-color: rgba(229,145,145,0.3);
    padding: 15px 30px;
    color: #333;
    font-size: 1.3em;
    text-align: center
}
.section_04 .point_text04_ul li{
   background-color: rgba(180,226,217,0.3);
}

.point_text05_box h4{
    font-size: 1.3em;
    margin: 0px 0 15px 0;
    color: #7aabe5;
}
.section_04 .point_text05_box h4{
    color: #4ea392;
}
.point_text05_box p{
    margin: 0px 0 40px 0;
}
h4.point_h4last{
    margin: 0 0 50px 0;
}

.check {
    border: solid 2.5px #6BBBBC;
    border-top: none;
    position: relative;
    display: flex;
    padding: 6rem 3rem 4rem;
    justify-content: space-between;
    align-items: center;
    margin: 8rem 0rem 2rem;
}
.check_txt{
    width: 40%;
}
.check_img .chevron {
    width: 15px;
    margin: 0 2rem;
}

.howto_box{
    padding: 0px 0 150px 0;
}
.howto_box h2{
    margin: 100px 0 0 0;
}
.howto_box h3{
    margin: 0px 0 30px 0;
}
.howto_img{
    margin:20px auto 0px;
    display: block;
    mix-blend-mode:multiply;
}

.pro02-p{
    align-items: center;
    justify-content: space-between;
}
img.pro02-p01_img{
    width: 49%;
    margin: 0;
}
.pro02-p02_img{
    width: 44%;
    text-align:center; 
}
.pro02-p02_img p{
    font-size: 1.25em;
    line-height: 1.3em;
    margin: 0 0 10px 0;
}
.pro02-p02_img img{
    margin: 0;
}


.basemake_box{
    padding: 0px 0 60px;
}
.basemake_box h3{
    text-align: center;
    font-size:1.45em;
    background-color: rgba(200,200,200,0.3);
    padding: 30px;
    width: 100vw;
   margin: 0px calc(50% - 50vw) 0px;
}

.basemake_img{
    width: 80%;
    padding: 50px 0 30px 0;
    border-bottom: 1px solid #c4c4c4;
    text-align: center;
    margin: auto;
}
.basemake_img img{
    width: 100%;
}
.basemake_box p.notes{
    margin: 10px auto 0;
    width: 80%;
}


div.new_banner_box{
    padding: 60px 0;
}
.new_banner_box .flex{
    justify-content: space-between;
}
.new_banner{
    width: 45%;
    border: 1px solid #229999;
}

.new_banner img{
    width: 100%;
}


a.acosme_logo{
    width: 100px;
    height: auto;
    position: absolute;
    top:-52px;
    left:-50px;
}
a.acosme_logo img{
    aspect-ratio: 1 / 1;
    height: auto;
}

a.over{transition: all 0.5s;}
a.over:hover{opacity: 0.75;}



.bg-green.raysela-bright {
    padding: 5rem 0 1rem;
    margin: 0px auto 0px;
}

.product_text .iyaku{
    border: 1px solid #777;
    color: #555;
    font-weight: 300;
    font-size: 0.6em;
    padding: 0px 3px 2px;
    margin: 0 5px 0 0;
    top:-0.15em;
    position: relative;
}


.raysela-bright .product-info {
    justify-content: center;
}
.bg-green .notes {
    text-align: center;
}


/* 購入ボタン */

/* 019 */
.button019 a {
    background: #FFF;
}
@media screen and (max-width: 767px) {
    
.flex{
    display:flex;
    flex-direction: column;
}

.raysela-sub .main-visual {
    min-height: auto;
}
.main-visual_2025new{
    width: 100%;
}

.raysela-sub h2.new_h2{
    font-size: 1.5em;
    margin: 0px 0 50px;
    padding: 70px 0 0 0;
}

p.new_p{
    text-align: center;
    font-size: 1.2em;
    line-height: 2.1em;
}

.new_product_box1,.new_product_box2{
    padding: 50px 30px;
}
.new_product_box1 .flex,.new_product_box2 .flex{
    width: 100%;
}

.product_img{
    padding: 12vw;
    width: 100%;
    height: 100%;
    border-radius:20% 0 20% 0;
    margin: 0 0px 30px 0;
    aspect-ratio: 1 / 1;
}
.product_img img{
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
}

.product_text h3{
    font-size: 1.25em;
}
.product_text p{
    font-size: 1.1em;
}
.product_label{
    display: block;
    width: 150px;
    margin: 20px 0;
}
/*
.product_text a {
    flex: 0 0 100%;
    text-align: center;
    padding: 0.5rem 0.1rem 0.5rem 1rem;
    margin-top: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.product_text a::after {
    content: '';
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid #BCE1DF;
    display: block;
    margin-left: 1rem;
}
*/


/*おすすめ*/

.recommend_box{
  text-align: center;
    margin: 0 0 50px 0;
}
.recommend_box h2 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
    text-align: center;
}
.recommend_box h2:before,.recommend_box h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: #259E93;
}
.recommend_box h2:before {
  left:0;
}
.recommend_box h2:after {
  right: 0;
}
.recommend_box_ul{
    width:100%; 
    display: flex;
    flex-direction:column;
    text-align: left;
    margin: auto;
    
}
.recommend_box_ul li{
    width: 95%;
    font-size: 1.1em;
    margin: 0 auto 15px;
}
.recommend_box_ul li img{
    width: 25px;
    margin: 0 10px 0 0;
    position: relative;
    top:4px;
}


/*ポイント*/
.point_box h2,.howto_box h2{
    font-size: 3.7em;
}
.point_box h3,.howto_box h3{
    font-size: 1.5em;
    padding: 0 0 0 40px;
}
.point_box h3:before,.howto_box h3:before {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 35px;
  height: 1px;
  background-color: #333;
  left:0px;
}
ul.point_ul{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    margin: 40px 0 0px;
}
ul.point_ul2{
    counter-reset: number 0;
}

ul.point_ul li{
    width: 29%;
    margin:0 0 6% 4%;
}

ul.point_ul li a{
    text-align: center;
    border-radius: 50%;
    padding: 20px 10px 20px;
}


.ul.point_ul li a{
  position: absolute;
  transform: translate(-0%, -0%);
}

.btn{
  position: relative;
  display: block;
  transition: 0.5s;
  text-decoration: none;
}

.btn:before {
  top: -18px;
    left: -20px;
    width: 40px;
    height: 40px;
    font-size:1.3em;
}

.btn:after {
  bottom: 3px;
}

.btn:hover:after {
  bottom: 5px;
}

.point_text_box{
    margin: 90px 0 0 0;
    
}
.point_text_box h3{
    font-size:1.3em;
  position: relative;
    padding: 20px 0 0 50px;
    margin: -20px 0 40px 0;
    
}

.point_text_box h3:before {
  bottom: 0%;
    left: -10px;
    width: 50px;
    height: 50px;
    font-size:1.3em;
}



.point_text_box img{
    display: block;
    margin: 20px auto;
}
.point_text01_img{
    width: 70%;
}
.point_text02_img{
    width: 100%;
}
img.point_text03_img{
    width: 100%;
    margin: 20px auto;
}

.point_text04_ul {
    width: 100%;
    margin: 30px auto;
}
.point_text04_ul li{
    padding: 15px 30px;
    font-size: 1.1em;
}

.point_text05_box h4{
    font-size: 1.2em;
    margin: 0px 0 15px 0;
}
.point_text05_box p{
    margin: 0px 0 40px 0;
}

.check {
    border-top: none;
    position: relative;
    display: flex;
    padding: 3rem 3rem 3rem;
    justify-content: space-between;
    align-items: center;
    margin: 8rem auto 2rem;
}
.check_txt{
    width: 100%;
}
.check_img .chevron {
    width: 15px;
    margin: 0 2rem;
}

.howto_box{
    padding: 0px 0 100px 0;
}
.howto_box h2{
    margin: 60px 0 0 0;
}
.howto_box h3{
    margin: 0px 0 30px 0;
}
.howto_box li{
    margin: 0px 0 10px 0;
}
.howto_img{
    margin:20px auto 0px;
    display: block;
    mix-blend-mode:multiply;
}

.pro02-p{
    align-items: center;
    justify-content: space-between;
}
img.pro02-p01_img{
    width: 90%;
    margin: 20px 0;
}
.pro02-p02_img{
    width: 80%;
    text-align:center; 
}
.pro02-p02_img p{
    font-size: 1.25em;
    line-height: 1.3em;
    margin: 0 0 10px 0;
}
.pro02-p02_img img{
    margin: 0;
}


.basemake_box{
    padding: 0px 0 60px;
}
.basemake_box h3{
    text-align: center;
    font-size:1.3em;
    padding: 30px;
}

.basemake_img{
    width: 100%;
    padding: 50px 0 30px 0;
    text-align: center;
    margin: auto;
}
.basemake_img img{
    width: 100%;
}
.basemake_box p.notes{
    margin: 0px auto 0;
    width: 100%;
    font-size:0.8em;
}


div.new_banner_box{
    padding: 60px 0 40px;
}
.new_banner_box .flex{
    justify-content: space-between;
}
.new_banner{
    width: 80%;
    border: 1px solid #229999;
    margin:0 auto 20px;
}

.new_banner img{
    width: 100%;
}


a.acosme_logo{
    width: 100px;
    height: auto;
    position: absolute;
    top:-52px;
    left:-50px;
}
a.acosme_logo img{
    aspect-ratio: 1 / 1;
    height: auto;
}   

.product-detail { width: 100%; display: block; }
.raysela-bright .product-detail_a img{
        width: 30%!important; 
    }
.raysela-bright .product-detail_b {
        padding:2.5rem 2.5rem 1.5rem;
    }
.product-detail_b .right img {
        width: 70%;
    }
 .raysela-bright .product-detail_b .right {
        margin-top: 0rem;
    }

    
	/*=== タイトルと商品概要 ===*/
	
    a.acosme_logo{
    width: 80px;
    top:-0px;
    left:10px;
}
}
