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

/*---------------------------------
* utility
---------------------------------*/


html{
    font-size: 62.5%; /*16px×62.5%=10px*/
}

body{
    font-family: 'LINESeedJP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    color: #502b0e;
    font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
}

img{
  max-width: 100%;
  -webkit-backface-visibility: hidden;
}

a{
    color: #502b0e;
    text-decoration: none;
    transition: all .3s linear;
}

.wrapper{
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 30px;
}

.wrapper02{
    max-width: 1120px;
    margin: 0 auto;
    width: 1120px;
    padding: 0 20px;
}


.sp-display{
  display: none!important;
}

.pc-display{
  display: block;
}

.sp-inlineBlock{
  display: none;
}


/*---------------------------------
* common
---------------------------------*/

@font-face {
    font-family: 'LINESeedJP';
    src: url('../fonts/LINESeedJP/WOFF2/LINESeedJP_OTF_Rg.woff2') format('woff2'),
         url('../fonts/LINESeedJP/WOFF/LINESeedJP_OTF_Rg.woff') format('woff'),
         url('../fonts/LINESeedJP/EOT/LINESeedJP_TTF_Rg.eot'); /* Regular */
    font-weight: 400; /* 標準 */
    font-style: normal;
}

@font-face {
    font-family: 'LINESeedJP';
    src: url('../fonts/LINESeedJP/WOFF2/LINESeedJP_OTF_Bd.woff2') format('woff2'),
         url('../fonts/LINESeedJP/WOFF/LINESeedJP_OTF_Bd.woff') format('woff'),
         url('../fonts/LINESeedJP/EOT/LINESeedJP_TTF_Bd.eot'); /* Bold */
    font-weight: 700; /* 太字 */
    font-style: normal;
}

@font-face {
    font-family: 'LINESeedJP';
    src: url('../fonts/LINESeedJP/WOFF2/LINESeedJP_OTF_Eb.woff2') format('woff2'),
         url('../fonts/LINESeedJP/WOFF/LINESeedJP_OTF_Eb.woff') format('woff'),
         url('../fonts/LINESeedJP/EOT/LINESeedJP_TTF_Eb.eot'); /* Extra Bold */
    font-weight: 800; /* 特太 */
    font-style: normal;
}

@font-face {
    font-family: 'LINESeedJP';
    src: url('../fonts/LINESeedJP/WOFF2/LINESeedJP_OTF_Th.woff2') format('woff2'),
         url('../fonts/LINESeedJP/WOFF/LINESeedJP_OTF_Th.woff') format('woff'),
         url('../fonts/LINESeedJP/EOT/LINESeedJP_TTF_Th.eot'); /* Thin */
    font-weight: 300; /* 細字 */
    font-style: normal;
}

@font-face {
    font-family: 'LEMONMILK';
    src: url('../fonts/lemon-milk-marsnev/LemonMilklight.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'LEMONMILK';
    src: url('../fonts/lemon-milk-marsnev/LemonMilklightitalic.otf') format('opentype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'LEMONMILK';
    src: url('../fonts/lemon-milk-marsnev/LemonMilk.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'LEMONMILK';
    src: url('../fonts/lemon-milk-marsnev/LemonMilkitalic.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'LEMONMILK';
    src: url('../fonts/lemon-milk-marsnev/LemonMilkbold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'LEMONMILK';
    src: url('../fonts/lemon-milk-marsnev/LemonMilkbolditalic.otf') format('opentype');
    font-weight: 700;
    font-style: italic;
}

h2, .sec_ttl{
    font-family: 'LEMONMILK', sans-serif;
    font-size: 48px;
    font-weight: 300;
}


/*---------------------------------
* header
---------------------------------*/

header{
    height: 105px;
    display: flex;
    align-items: center;
}

.header_inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

h1 img{
    width: 298px;
}

.header_inner nav ul{
    display: flex;
}

.header_inner nav a{
    font-size: 14px;
    font-family: 'LEMONMILK', sans-serif;
    color: #ff7345;
    margin-right: 25px;
}

.header_inner nav a span{
    position: relative;
    z-index: 1;
}

.header_inner nav a span::after{
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;/*テキストからの距離*/
    width: 0%;/*初期状態では下線非表示*/
    height: 2px;/*下線の高さ*/
    background: #ff7345;/*下線の色*/
    z-index: -1;
    transition: all 0.4s;/*アニメーション速度*/
}

.header_inner nav a:hover span::after{
    width: 100%;/*ホバー時に下線を表示*/
}

.header_inner nav ul li:last-of-type a{
    margin-right: 0;
}

.header_sp_btnWrap{
    display: none;
}

/* lower_header */

.lower_header{
    align-items: flex-end;
}

.lower_header_inner{
    border-bottom: 3px solid #fd7244;
    width: 80%;
    margin: 0 auto;
}

.lower_header_logo{
    width: 310px;
    margin-bottom: 23px;
    padding-left: 20px;
}

/*---------------------------------
* footer
---------------------------------*/

.footer_inner{
    background-color: #be987c;
    padding: 25px 0;
}

.footer_list{
    display: flex;
    padding: 0 130px 0 90px;
    justify-content: space-between;
}

.footer_list>li:nth-of-type(2){
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.footer_shachihata_logo img{
    width: 134px;
}

.footer_shachiiro_logo{
    width: 205px;
    height: 50px;
    background-color: #fff;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 23px;
}

.footer_shachiiro_logo img{
    width: 177px;
}

.footer_link{
    margin-top: 20px;
}

.footer_link li{
    margin-top: 10px;
}

.footer_link li a{
    font-size: 13px;
    font-family: 'LINESeedJP', sans-serif;
    color: #fff;
    letter-spacing: 0.124em;
}

.footer_link li a span{
    position: relative;
    z-index: 1;
}
.footer_link li a span::after{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0; /*テキストからの距離*/
    width: 0%; /*初期状態では下線非表示*/
    height: 1px; /*下線の高さ*/
    background: #fff; /*下線の色*/
    z-index: -1;
    transition: all 0.4s; /*アニメーション速度*/
}

.footer_link li a:hover span::after{
    width: 100%; /*ホバー時に下線を表示*/
}

.foote_sns{
    display: flex;
    margin-top: 17px;
}

.footer_sns_ttl{
    font-size: 13px;
    font-family: 'LINESeedJP', sans-serif;
    color: #fff;
    letter-spacing: 0.124em;
    text-align: center;
}

.foote_sns li:nth-of-type(n+2){
    margin-left: 16px;
}

.footer_bl02{
    display: flex;
    justify-content: flex-end;
    
}

.footer_sns_x img{
    width: 21px;
}

.footer_sns_instagram img{
    width: 22px;
}

.footer_sns_youtube img{
    width: 31px;
}

.footer_sns_facebook img{
    width: 22px;
}

.footer_copyright{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 10px;
    color: #fff;
    letter-spacing: 0.124em;
}


/*---------------------------------
* top
---------------------------------*/

/* MV */
.top_mv_inner{
    position: relative;
}

.top_mv_bg{
    width: 100%;
}

.mv_anime_cont{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
    width: 100%;
    height: 100%;
}

#mv_anime, #mv_txt01, #mv_txt02{
    display: none;
}

.top_mv_txtCont01{
    width: 40vw;
    position: absolute;
    top: 39%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

.top_mv_txtCont02{
    width: 28.5vw;
    position: absolute;
    top: 52%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

.top_mv_deco{
   position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
}

/* TOP コンテンツ */

.about_inner{
    background-image: url('../img/common/bg01.png');
    background-size: cover;
    background-repeat: no-repeat;
    padding: 120px 0 116px;
}

.about_img{
    width: 79%;
    margin: 76px auto 0;
}

.top h2, .sec_ttl{
    color: #ff7345;
    text-align: center;
    letter-spacing: 0.054em;
}

.top h2::after, .sec_ttl::after{
    content: '';
    display: block;
    width: 63px;
    height: 25px;
    background-image: url('../img/common/deco01.png');
    background-size: cover;
    margin: 20px auto 0;
}

.products_inner{
    padding: 60px 0;
    background-image: url('../img/common/bg02.png');
    background-size: cover;
}

.products_list{
    margin-top: 58px;
    display: flex;
    flex-direction: column;
}

.products_list>li{
    position: sticky;
    top: 0;
    left: 0;
}

.products_list>li:nth-of-type(n+2){
    margin-top: 27px;
}

.products_list li:nth-of-type(2n) .products_bl{
    flex-direction: row-reverse;
}

.products_bl{
    display: flex;
    background-color: #fff;
    padding: 25px 20px 34px;
    justify-content: space-between;
}

.products_img{
    width: 56%;
    display: flex;
    align-items: center;
}

.products_text_bl{
    width: 43%;
    border: 1px solid #f4cba4;
    padding: 22px 35px 28px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.products_text01{
    font-family: 'LEMONMILK', sans-serif;
    font-size: 17px;
    letter-spacing: 0.08em;
    font-weight: 300;
    color: #f4cba4
}

.products_text_bl h3{
    font-family: 'LINESeedJP', sans-serif;
    font-size: 30px;
    letter-spacing: 0.124em;
    font-weight: 700;
    margin-top: 35px;
    color: #502b0e;
    line-height: 1.2;
}

.products_text02{
    font-family: 'LEMONMILK', sans-serif;
    font-size: 11.5px;
    letter-spacing: 0.08em;
    color: #f4cba4;
    font-weight: 300;
    margin-top: 5px;
}

.products_text03{
    font-family: 'LINESeedJP', sans-serif;
    font-size: 13px;
    letter-spacing: 0.124em;
    font-weight: 700;
    color: #502b0e;
    line-height: 2;
    margin-top: 20px;
}

.products_link{
    margin: 15px auto 0;
    width: 77.64%;
}

.products_link a{
    width: 100%;
    height: 50px;
    background-color: #fe7144;
    color: #fff;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0.124em;
    position: relative;
    border: 2px solid #fe7144;
}

.products_link a::after{
    position: absolute;
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background-image: url('../img/common/btn_arrow01.png');
    background-size: cover;
    right: 10px;
}

.products_link a:hover{
    background-color: #fff;
    color: #fe7144;
}

.products_link a:hover::after{
    background-image: url('../img/common/btn_arrow01-02.png');
    width: 36px;
    height: 32px;
    right: 5px;
}

.top_lower_part{
    background-image: url('../img/common/bg03.png');
    background-size: cover;
    background-repeat: no-repeat;
}

.visumo_sec{
    width: 750px;
    margin: 0 auto;
}

.shopping_sec{
    padding: 95px 0 80px;
}

.shopping_sec_text{
    font-family: 'LINESeedJP', sans-serif;
    font-size: 17px;
    letter-spacing: 0.124em;
    font-weight: 700;
    color: #8c4600;
    text-align: center;
    margin-top: 22px;
}

.store_list{
    margin: 60px auto 0;
    display: flex;
    width: 600px;
    flex-wrap: wrap;
    justify-content: center;
}

.store_list>li a{
    width: 273px;
    height: 52px;
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.108em;
    line-height: 1.2;
    font-size: 20px;
    position: relative;
    border-radius: 52px;
}

.store_list>li a::after{
    position: absolute;
    content: '';
    display: block;
    width: 13px;
    height: 13px;
    background-image: url(../img/common/link_icon.png);
    background-size: cover;
    right: 17px;
}

.store_list>li a:hover{
    opacity: 0.7;
}

.store_list>li:nth-of-type(odd){
    margin-right: 50px;
}

.store_list>li:nth-of-type(n+3){
    margin-top: 30px;
}

.store_list>li.official_link a{
    background-color: #396491;
    font-size: 14px;
    text-align: center;
}

.store_list>li.amazon_link a{
    background-color: #d68c3c;
}

.store_list>li.rakuten_link a{
    background-color: #db464b;
    height: 52.5px;
}

.store_list>li.yahoo_link a{
    background-color: #d16f84;
    height: 52.5px;
    font-size: 19px;
}

/*---------------------------------
* 下層ページ
---------------------------------*/

.lower_main01{
    width: 75%;
    margin: 70px auto 0;
}

.lower_main01 img{
    width: 100%;
}

.lower_sec01{
    margin-top: 53px;
}

.lower_bg01{
    background-image: url(../img/item1/iromoyo/lower_bg01.png);
    background-size: contain;
    padding-bottom: 19vw;
    background-repeat: no-repeat;
}

.lower_sec01_inner h2{
    padding-top: 3.3vw;
    font-family: 'LINESeedJP', sans-serif;
    font-size: 35px;
    color: #fe7144;
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.124em;
}

.lower_sec01_inner h2 span{
    font-family: 'LINESeedJP', sans-serif;
    font-size: 35px;
    color: #fe7144;
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.124em;
    display: block;
}

.lower_sec01_inner h2 span:nth-of-type(2){
    margin-top: 23px;
}

.lower_sec01_ttl{
    font-family: 'LEMONMILK', sans-serif;
    font-size: 12px;
    letter-spacing: 0.08em;
    color: #f4cba4;
    text-align: center;
    font-weight: 300;
    margin-top: 25px;
}

.lower_sec01_txt{
    font-family: 'LINESeedJP', sans-serif;
    font-size: 13px;
    line-height: 3;
    letter-spacing: 0.124em;
    color: #502b0d;
    text-align: center;
    font-weight: 700;
    margin-top: 34px;
}

.slider_wrap{
    position: relative;
}

.slider_bl{
    margin-top: 66px;
}

.slider .slick-slide, .slider_custom .slick-slide{
    margin: 0 14px;
}

.slick-slide img{
    width: 56.3vw;
    height: 37.56vw;
    object-fit: cover;
    border: 1px solid #c7a394;
    border-radius: 20px;
}

.slick-prev{
    left: 18.4vw!important;
}

.slick-prev:before{
    content: "";
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    display: inline-block;
    left: 38%;
    top: 31%;
    position: absolute;
}

.slick-next{
    right: 18.4vw!important;
}

.slick-next:before{
    content: "";
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: inline-block;
    right: 38%;
    top: 31%;
    position: absolute;
}

.slick-prev, .slick-next{
    width: 40px!important;
    height: 40px!important;
    z-index: 20;
    background: #c7a394!important;
    border-radius: 40px;
    mix-blend-mode: multiply;
}

.slick-prev:before, .slick-next:before{
    content: ""!important;
    width: 13px!important;
    height: 13px!important;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
}

.slick-dots{
    bottom: -43px;
}

.slick-dots li button:before{
    font-size: 16px!important;
    color: #dfdfd0!important;
    opacity: 1!important;
}

.slick-dots li.slick-active button:before{
    color: #c7a394!important;
    opacity: 1;
}

.custom-dots{
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
}

.custom-dots li{ 
    display: inline-block;
    width: 13px;
    height: 13px;
    margin: 0 9px;
    background: #dfdfd0;
    border-radius: 50%;
    cursor: pointer;
}

.custom-dots li.active {
    background:#c7a394;
}

.lower_page_storeList{
    margin: 87px auto 0;
}

.lower_sec02{
    margin-top: -13vw;
}

.lower_bg02{
    background-image: url(../img/item1/ink/lower_bg02.png);
    background-position: bottom 0 left 9vw;
    background-repeat: no-repeat;
    padding-bottom: 3vw;
    background-size: 87%;
}

.lower_bg03{
    background-image: url(../img/item1/kosai/lower_bg03.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding-bottom: 8vw;
}

.special_sec{
    background-image: url(../img/item1/1925/special_sec_bg.png);
    background-size: contain;
}

.special_sec h2{
    color: #59333d;
}

.memorial_icon{
    width: 262px;
    margin: 60px auto 0;
}

.lower_sec01_ttl02{
    color: #b85d5b;
}

.lower_bg04{
    background-image: url(../img/item1/1925/lower_bg04.png);
    background-size: 83%;
    background-repeat: no-repeat;
    background-position: top 1vw left 7vw;
    padding: 88px 0 0;
}

.limited_icon{
    width: 315px;
    margin: 0 auto;
}

.lower_bg05{
    background-image: url(../img/item1/tansai/lower_bg05.png);
    background-size: 83%;
    background-repeat: no-repeat;
    background-position: top 1vw left 7vw;
    padding: 98px 0 37px;
}

.lower_sec05 .lower_sec01_ttl{
    color: #fca791;
}

.lower_sec06 h2{
    display: inline-block;
    color: #5d333d;
    position: relative
}

.lower_sec_txtWrap{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lower_sec06 h2::after{
    position: absolute;
    content: '';
    display: block;
    width: 298px;
    height: 105px;
    background-image: url(../img/item1/pen/pen_ttl_bg.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin: 20px auto 0;
    top: 11px;
    z-index: -1;
    left: -18px;
}

.lower_bg07{
    padding: 140px 0 7.5vw;
}

.lower_sec07 h2{
    color: #5d333d;
    position: relative;
    padding-top: 55px;
}

.lower_sec07 h2::before{
    position: absolute;
    content: '';
    display: block;
    width: 342px;
    height: 117px;
    background-image: url(../img/item1/cleansing/cleansing_subttl.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: -76px;
    left: 50%;
    transform: translateX(-50%);
}

.lower_bg07{
    background-image: url(../img/item1/cleansing/lower_bg06.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: top 3.5vw left 1vw;
}

/*---------------------------------
* 下層2
---------------------------------*/

.item02_bg01{
    background-image: url(../img/item2/bell_couleur/lower02_bg01.png);
    background-size: contain;
    margin-top: 2vw;
    padding-bottom: 9vw;
    background-repeat: no-repeat;
    background-position: top 0 left 4vw;
}

.item02_sec02{
    margin-top: -4vw;
}

.item02_bg02{
    background-image: url(../img/item2/lower02_bg04.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top 0 left 1vw;
    padding-top: 6vw;
}

.item02_sec03{
    margin-top: 70px;
}

.item02_sec03 h2 img{
    width: 375px;
}

.item02_bg03{
    background-image: url(../img/item2/ukidel/lower02_bg02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top 0 left 0;
    padding-bottom: 3.6vw;
}

.item02_sec03 .lower_sec01_txt{
    color: #2672a5;
}

.item02_bg04{
    background-image: url(../img/item2/jikakeru/lower02_bg03.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top 4vw left 4vw;
    padding-bottom: 4.5vw;
}

/*---------------------------------
* 下層3
---------------------------------*/

.item03_sec01{
    margin-top: 4.4vw;
}

.item03_bg01{
    background-image: url(../img/item3/rotary_deco/lower03_bg01.png);
    background-size: contain;
    margin-top: 1vw;
    background-repeat: no-repeat;
    background-position: top 0 right 0;
}

.item03_sec01 .lower_sec01_inner h2{
    padding-top: 0;
}

.item03_sec02{
    margin-top: 7.4vw;
}

.item03_bg02{
    background-image: url(../img/item3/watashibiyori/lower03_bg02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top 3vw right 0;
    padding-bottom: 11vw;
}

@media screen and (max-width: 1440px){
    .item03_bg02{
        padding-bottom: 3.3vw;
    }
}

.item03_bg03{
    background-image: url(../img/item3/calendar/lower03_bg03.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top 0 left 4vw;
}

.item03_bg04{
    background-image: url(../img/item3/daily_log/lower03_bg04.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top 0 left 4vw;
    padding-top: 4.3vw;
}

.item03_sec05{
    margin-top: 5vw;
}

.item03_bg05{
    background-image: url(../img/item3/craft/lower03_bg05.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top 0 left 1vw;
    padding-bottom: 5vw;
}

.item03_sec06{
    margin-top: 0.5vw;
}

.item03_sec06 .item02_bg02{
    padding-bottom: 7.5vw;
}



@media screen and (max-width: 767px) {

    /*---------------------------------
    * utility
    ---------------------------------*/

    body {
        min-width: initial; /* 初期値 */
        min-width: 100%;
    }

    .wrapper{
        width: calc(100% - 15px);
        margin: 0 auto;
        padding: 0;
    }
    
    .wrapper02{
        width: calc(100% - 20px);
        margin: 0 auto;
        padding: 0;
        padding: 0;
    }

    .sp-display{
        display: block!important;
    }

    .pc-display{
        display: none!important;
    }

    .sp-inlineBlock{
        display: inline-block;
    }

    /*---------------------------------
    * common
    ---------------------------------*/

    h2, .sec_ttl{
        font-size: 33.5px;
    }
    
    .no-scroll {
        overflow: hidden;
        height: 100vh;
    }
    
    /*---------------------------------
    * header
    ---------------------------------*/
    
    header{
        height: 68px;
    }
    
    .header_inner{
        position: relative;
    }
    
    .header_inner h1{
        z-index: 20;
    }
    
    .header_sp_btnWrap{
        display: block;
        position: relative;
        z-index: 20;
    }
    
    .header_inner nav{
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #fff;
        z-index: 15;
        padding: 50vw 0 0;
    }
    
    .header_inner nav ul{
        flex-direction: column;
        align-items: center;
    }
    
    .header_inner nav a{
        display: block;
        margin-right: 0;
        margin-bottom: 40px;
        font-size: 22px;
    }
    
    .header_inner nav a span{
        font-weight: 300;
        
    }
    
    h1 img{
        width: 185px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    
    /* ハンバーガーメニュー */
    
    .header_sp_btn{
        background-color: #fd7244;
        width: 43px;
        height: 43px;
        border-radius: 43px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .btn-trigger {
        position: relative;
        width: 22px;
        height: 16px;
        cursor: pointer;
    }
    .btn-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #fff;
        border-radius: 4px;
    }
    .btn-trigger, .btn-trigger span {
        display: inline-block;
        transition: all .5s;
        box-sizing: border-box;
    }
    .btn-trigger span:nth-of-type(1) {
        top: 0;
    }
    .btn-trigger span:nth-of-type(2) {
        top: 7px;
        left: 50%;
        width: 80%;
        transform: translateX(-50%);
    }
    .btn-trigger span:nth-of-type(3) {
        bottom: 0;
    }
    
    #btn01.active span:nth-of-type(1) {
        -webkit-transform: translateY(7px) rotate(-45deg);
        transform: translateY(7px) rotate(-45deg);
    }
    #btn01.active span:nth-of-type(2) {
        opacity: 0;
    }
    #btn01.active span:nth-of-type(3) {
        -webkit-transform: translateY(-7px) rotate(45deg);
        transform: translateY(-7px) rotate(45deg);
    }
    
    /*---------------------------------
    * footer
    ---------------------------------*/
    
    .footer_inner{
        padding: 15px 0 27px;
    }
    
    .footer_list{
        padding: 0 6px;
        position: relative;
    }
    
    .footer_shachihata_logo img{
        width: 93.5px;
    }
    
    .footer_shachiiro_logo img{
        width: 123px;
    }
    
    .footer_shachiiro_logo{
        width: 144px;
        height: 33px;
        margin-top: 16px;
    }
    
    .footer_link{
        display: flex;
        flex-direction: column;
        height: 80px;
        flex-wrap: wrap;
        padding-left: 17px;
    }
    
    .footer_link li a{
        white-space: nowrap;
    }
    
    .footer_link li:nth-of-type(-n+3) a{
        margin-right: 60px;
    }
    
    .footer_list>li:first-of-type{
        padding-bottom: 53px;
    }
    
    .footer_bl02{
        margin-top: 5px;
    }
    
    .footer_copyright{
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        white-space: nowrap;
        font-size: 9px;
    }
    
    .footer_sns_ttl{
        white-space: nowrap;
    }
    
    .footer_sns_x img{
        width: 15px;
    }
    
    .footer_sns_instagram img{
        width: 15px;
    }
    
    .footer_sns_youtube img{
        width: 21px;
    }
    
    .footer_sns_facebook img{
        width: 15px;
    }
    
    .foote_sns li:nth-of-type(n+2){
        margin-left: 12px;
    }
    
    .lower_footer_link{
        flex-direction: row;
        height: auto;
        position: absolute;
    }
    
    .lower_footer .footer_list>li:first-of-type{
        padding-bottom: 86px;
    }
    
    /*---------------------------------
    * top
    ---------------------------------*/
    
    .top h2::after, .sec_ttl::after{
        width: 44px;
        height: 16.5px;
        margin: 7px auto 0;
    }
    
    /* MV */
    
    .top_mv_txt{
        width: 50%;
    }
    
    /* ABOUT */
    
    .about_inner{
        background-image: url(../img/common/bg01_sp.png);
        background-position: top 0 left 62%;
        background-size: 227%;
        margin-top: 20px;
        padding: 82px 0 32.5px;
    }
    
    .about_img{
        width: 100%;
        margin: 60px auto 0;
    }
    
    /* PRODUCTS */
    
    .products_inner{
        padding: 25px 0;
    }
    
    .products_list{
        margin-top: 23px;
    }
    
    .products_bl{
        flex-direction: column;
        padding: 15px 13px;
    }
    
    .products_img{
        width: 100%;
    }
    
    .products_text_bl{
        width: 100%;
        white-space: normal;
        margin-top: 17px;
        padding: 12px 12px 25px;
    }
    
    .products_list li:nth-of-type(2n) .products_bl{
        flex-direction: column;
    }
    
    .products_text01{
        font-size: 15px;
    }
    
    .products_text_bl h3{
        font-size: 21px;
        margin-top: 15px;
    }
    
    .products_text02{
        font-size: 12px;
        margin-top: 7px;
    }
    
    .products_text03{
        font-size: 13px;
        margin-top: 15px;
    }
    
    .products_link{
        margin-top: 20px;
        display: flex;
        justify-content: center;
        width: unset;
    }
    
    .products_link a{
        width: 180px;
        height: 35px;
        font-size: 12px;
    }
    
    .products_link a::after{
        width: 20px;
        height: 20px;
        right: 5px;
    }
    
    /* visumo */
    
    .visumo_sec{
        width: 100%;
    }

   /* SHOPPING */
   
   .top_lower_part{
        background-image: url(../img/common/bg03_sp.png);
        background-position: top 0 left 46%;
        background-size: 191%;
        margin-top: 6px;
        padding: 58px 0 28px;
   }
   
   .store_list{
        width: 330px;
        margin: 33px auto 0;
   }
   
   .store_list>li a{
        width: 156.5px!important;
        height: 32px!important;
        font-size: 13px;
   }
   
   .store_list>li.yahoo_link a{
        font-size: 11px;
   }
   
   .store_list>li:nth-of-type(n+3){
        margin-top: 20px;
   }
   
   .store_list>li:nth-of-type(odd){
        margin-right: 16px;
   }
   
   .shopping_sec{
        padding: 100px 0 0;
   }
   
   .shopping_sec_text{
        font-size: 12px;
   }
   
   .store_list>li.official_link a{
        font-size: 11px;
   }
   
    .store_list>li a::after{
        width: 8px;
        height: 8px;
        right: 7px;
    }
    
    /*---------------------------------
    * 下層ページ
    ---------------------------------*/
    
    .lower_header{
        width: 100%;
        height: 67px;
    }
    
    .lower_header_inner{
        border-bottom: 2px solid #fd7244;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
    }
    
    .lower_header_logo{
        width: 185px;
        margin: 0 auto;
        padding: 0;
    }
    
    .lower_main01{
        width: 100%;
        margin: 13.5px auto 0;
    }
    
    .lower_sec01{
        margin-top: 15px;
    }
    
    .lower_bg01{
        background-image: url(../img/item1/iromoyo/lower_bg01_sp.png);
        background-size: cover;
        background-position: top 0 left 52%;
        padding-bottom: 24vw;
    }
    
    .lower_sec01_inner h2{
        padding-top: 13.33vw;
    }
    
    .lower_sec01_inner h2, .lower_sec01_inner h2 span{
        font-size: 24px;
        letter-spacing: 0.1em;
        line-height: 1.4;
    }
    
    .lower_sec01_ttl{
        margin-top: 20px;
    }
    
    .lower_sec01_txt{
        margin-top: 20px;
        letter-spacing: 0.1em;
        line-height: 2;
    }
    
    .slider_bl{
        margin-top: 15px;
    }
    
    .slick-slide img{
        width: 94vw;
        height: 61.73vw;
    }
    
    .slick-prev, .slick-next{
        width: 27px!important;
        height: 27px!important;
    }
    
    .slick-prev{
        left: 6px!important;
    }
    
    .slick-next{
        right: 6px!important;
    }
    
    .slick-prev:before{
        left: 40%;
    }
    
    .slick-next:before{
        right: 37%;
    }
    
    .slick-prev:before, .slick-next:before{
        width: 8px !important;
        height: 8px !important;
    }
    
    .slick-dots{
        bottom: -32px;
    }
    
    .store_list{
        margin: 62.5px auto 0;;
    }
    
    .slick-dots li button:before{
        font-size: 11px !important;
    }
    
    .custom-dots{
        bottom: -30px;
    }
    
    .custom-dots li{
        width: 9px;
        height: 9px;
        margin: 0 11px;
    }
    
    .lower_sec02{
        margin-top: 4px;
    }
    
    .lower_bg02{
        padding: 0 0 29.33vw;
        background-image: url(../img/item1/ink/lower_bg02_sp.png);
        background-position: top 0 left -57%;
        background-size: cover;
    }
    
    .lower_sec02 .lower_sec01_txt{
        letter-spacing: 0.02em;
    }
    
    .lower_bg03{
        background-image: url(../img/item1/kosai/lower_bg03_sp.png);
        background-size: cover;
        padding-bottom: 28.26vw;
        margin-top: 24px;
        background-position: top 0 left 38%;
    }
    
    .lower_sec03 .lower_sec01_txt{
        letter-spacing: 0.048em;
    }
    
    .lower_sec03 .lower_sec01_inner h2{
        padding-top: 0;
    }
    
    .special_sec{
        background-size: cover;
    }
    
    .memorial_icon{
        width: 175px;
        margin: 40px auto 0;
    }
    
    .lower_sec04{
        padding: 0;
    }
    
    .lower_sec04 .lower_sec01_inner h2{
        padding: 6.66vw 0 0;
    }
    
    .lower_sec04 .lower_sec01_txt{
        letter-spacing: 0.04em;
        font-size: 12px;
    }
    
    .lower_bg04{
        background-image: url(../img/item1/1925/lower_bg04_sp.png);
        padding: 8vw 0 12vw;
        background-size: 109%;
        background-position: top 17% left 102%;
    }
    
    .lower_bg05{
        padding: 6.66vw 0 13.33vw;
    }
    
    .lower_bg05{
        background-image: url(../img/item1/tansai/lower_bg05_sp.png);
        background-size: 109%;
        background-position: top 0 left 34%;
    }
    
    .lower_bg05 h2{
        padding-top: 6.66vw;
    }
    
    .limited_icon{
        width: 211.5px;
    }
    
    .lower_bg05 .lower_sec01_txt{
        letter-spacing: 0;
    }
    
    .lower_sec06 h2::after{
        width: 200px;
        height: 68px;
        top: 9px;
        left: -14px;
    }
    
    .lower_sec06 h2{
        padding-top: 8.66vw;
    }
    
    .lower_sec07{
        margin-top: 13vw;
    }
    
    .item03_sec06{
        margin-top: 8vw;
    }
    
    .lower_bg07{
        background-image: url(../img/item1/cleansing/lower_bg06_sp.png);
        background-size: 261%;
        background-position: top 12px left 53%;
    } 
    
    .lower_bg07, .item03_sec06 .item02_bg02{
        padding: 6vw 0 17vw;
    }
    
    .lower_sec07 h2::before{
        width: 229px;
        height: 78px;
        top: -32px;
    }
    
    .lower_sec07 .lower_sec01_inner h2{
        font-size: 23px;
        letter-spacing: 0;
        padding-top: 50px;
    }
    
    .lower_sec07 .lower_sec01_txt{
        letter-spacing: 0;
    }
    
    /*---------------------------------
    * 下層2
    ---------------------------------*/
    
    .item02_bg01{
        background-image: url(../img/item2/bell_couleur/lower02_bg01_sp.png);
        background-size: cover;
        background-position: top 0 left 54%;
        padding-bottom: 36.3vw;
    }
    
    .item02_sec02{
        margin-top: -11vw;
    }
    
    .item02_bg02{
        background-image: url(../img/item2/lower02_bg04_sp.png);
        background-size: cover;
        background-position: top 0 left 53%;
        padding-bottom: 10vw;
    }
    
    .item02_sec03{
        margin-top: 0;
    }
    
    .item02_bg03{
        background-image: url(../img/item2/ukidel/lower02_bg02_sp.png);
        background-size: cover;
        background-position: top 0 left 55%;
        padding-bottom: 10vw;
    }
    
    .item02_sec03 h2 img{
        width: 250px;
    }
    
    .item02_bg04{
        background-image: url(../img/item2/jikakeru/lower02_bg03_sp.png);
        background-size: cover;
        padding-bottom: 31vw;
        background-position: top 0 left 32%;
    }
    
    /*---------------------------------
    * 下層3
    ---------------------------------*/
    
    .item03_sec01{
        margin-top: 0;
    }
    
    .item03_sec01 .lower_sec01_inner h2 span{
        letter-spacing: 0;
    }
    
    .lower_sec01_inner h2 span:nth-of-type(2){
        margin-top: 7px;
    }
    
    .item03_bg01{
        background-image: url(../img/item3/rotary_deco/lower03_bg01_sp.png);
        background-size: 134%;
        margin-top: 0;
        background-repeat: no-repeat;
        background-position: top 0 left 47%;
        padding-top: 15.6vw;
    }
    
    .item03_sec02{
        margin-top: 0;
    }
    
    .item03_bg02{
        background-image: url(../img/item3/watashibiyori/lower03_bg02_sp.png);
        background-size: 165%;
        background-repeat: no-repeat;
        background-position: top 0 left 49%;
        padding-bottom: 0;
        padding-top: 12vw;
    }
    
    .item03_bg03{
        background-image: url(../img/item3/calendar/lower03_bg03_sp.png);
        background-size: 171%;
        background-repeat: no-repeat;
        background-position: top 0 left 39%;
        padding-top: 14vw;
    }
    
    .item03_sec04{
        margin-top: 3.5vw;
    }
    
    .item03_bg04{
        background-image: url(../img/item3/daily_log/lower03_bg04_sp.png);
        background-size: 139%;
        background-repeat: no-repeat;
        background-position: top 0 left 39%;
        padding-top: 13vw;
    }
    
    .item03_sec05{
        margin-top: 7vw;
    }
    
    .item03_bg05{
        background-image: url(../img/item3/craft/lower03_bg05_sp.png);
        background-size: 117% 100%;
        background-repeat: no-repeat;
        background-position: top 0 left 20%;
        padding-bottom: 24vw;
        padding-top: 5vw;
    }
}
