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

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


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

body{
    font-family: 'Poppins', 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;
}


/*---------------------------------
* font-face
---------------------------------*/


@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-ExtraLightItalic.ttf') format('truetype');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-ExtraBoldItalic.ttf') format('truetype');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face{
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@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;
}

/*---------------------------------
* langage menu
---------------------------------*/

.lang-menu{
    position: relative;
}

.lang-menu .lang-list{
    display: flex;
    flex-direction: column;
    
    width: 100%;
    
}

.lang-menu-content{
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    z-index: 20;
    background-color: #fff;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
}

.lang-btn{
    font-size: 12px;
    font-family: 'LEMONMILK', sans-serif;
    background-color: #ff7345;
    color: #fff;
    cursor: pointer;
    padding: 10px;
    font-weight: 300;
    letter-spacing: 0.1em;
    display: flex;
    gap: 10px;
    align-items: center;
    min-width: 155px;
    box-sizing: border-box;
    justify-content: center;
}

.lang-btn::before{
    content: "";
    background-image: url(../img/common/language_icon.png);
    width: 20px;
    height: 20px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
}

.lang-btn::after{
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    display: inline-block;
    margin-bottom: 3px;
    transition: transform 0.3s ease;
}

.lang-menu.is-open .lang-btn::after{
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.lang-menu .lang-list li{
    width: 100%;
}

.lang-menu .lang-list li a{
    padding: 8px 10px;
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0.1em;
    text-align: center;
    display: block;
    border-bottom: 1px solid rgba(0,0,0,0.15);
    color: #502b0e;
}

.lang-menu .lang-list li a:hover{
    color: #ff7345;
}

.header_sp_menuWrap{
    display: none;
}

/*---------------------------------
* 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;
    align-items: center;
}

.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: 60px 0;
}

.footer_list{
    display: flex;
    align-items: center;
    padding-left: 7%;
    box-sizing: border-box;
}

.footer_list>li:nth-of-type(1){
    margin-right: 8%;
}

.footer_btn_bl{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: 20px;
}

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

.footer_shachihata_logo img{
    width: 134px;
}

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

.footer_shachiiro_logo img{
    width: 177px;
}

.footer_bl01{
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 25px;
}

.footer_link{
    margin-top: 20px;
}

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

.footer_link li a{
    font-size: 13px;
    font-family: 'Poppins', 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%; /*ホバー時に下線を表示*/
}

.footer_sns{
    display: flex;
    margin-top: 17px;
    gap: 16px;
    align-items: center;
}

.footer_sns li{
    height: 23px;
}

.footer_sns img {
    width: auto;
    height: 100%;
}

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

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

.footer_copyright{
    font-family: 'LINESeedJP', sans-serif;
    font-size: 10px;
    color: #fff;
    letter-spacing: 0.124em;
}

.global_site_link a{
    padding: 10px 20px;
    font-size: 13px;
    letter-spacing: 0.2em;
    color: #fff;
    background: linear-gradient(to right, #ffdc73, #fcc96d);
    min-width: 287px;
    border-radius: 33px;
    box-shadow: 0 5px #dea742;
    display: flex;
    box-sizing: border-box;
    font-weight: 600;
}

.global_site_link a::after{
    content: "";
    background-image: url(../img/common/website_icon.png);
    width: 27px;
    height: 14px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 8px;
}


/*---------------------------------
* 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: 53%;
    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: 'Poppins', sans-serif;
    font-size: 17px;
    letter-spacing: 0.08em;
    font-weight: 500;
    color: #f4cba4
}

.products_text_bl h3{
    font-family: 'Poppins', sans-serif;
    font-size: 30px;
    letter-spacing: 0.124em;
    font-weight: 600;
    margin-top: 20px;
    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: 'Poppins', sans-serif;
    font-size: 13px;
    letter-spacing: 0.124em;
    font-weight: 500;
    color: #502b0e;
    line-height: 2;
    margin-top: 20px;
}

.products_list>li:nth-of-type(4) .products_text03{
    font-size: 12px;
}

.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: 'Poppins', sans-serif;
    letter-spacing: 0.124em;
    position: relative;
    border: 2px solid #fe7144;
    font-weight: 500;
    padding: 0 42px;
    box-sizing: border-box;
    word-break: break-all;
}

.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;
    background-position: 0 76%;
}

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

.shopping_sec{
    padding: 134px 0 113px;
}

.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: 0 auto ;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.store_list>li a{
    min-width: 270px;
    padding: 14px 15px 12px 35px;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    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: 71px;
    box-sizing: border-box;
}

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

.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;
}

.store_list>li.stores_link a{
    background: linear-gradient(to right, #46bdff, #8ba4fe);
    font-size: 19px;
    text-align: center;
    box-shadow: 0 4px #5b8ec6;
}

.store_list>li.stores_link a::before{
    content: '';
    display: block;
    width: 31px;
    height: 26px;
    background-image: url(../img/common/cart_icon.png);
    background-size: cover;
    margin-right: 20px;
}

.store_list>li.contact_link a{
    background: linear-gradient(to right, #ff7e74, #ff9573);
    font-size: 19px;
    text-align: center;
    box-shadow: 0 4px #da7270;
}

.store_list>li.contact_link a::before{
    content: '';
    display: block;
    width: 33px;
    height: 23px;
    background-image: url(../img/common/mail_icon.png);
    background-size: cover;
    margin-right: 20px;
}

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

.detail_shopping_btn{
    margin-top: 6.6vw;
}

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

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

.lower_main01 img{
    width: 100%;
}

.lower_bg01{
    background-image: url(../img/item1/iromoyo/lower_bg01.png);
    background-size: 80% 96%;
    padding-bottom: 12vw;
    background-repeat: no-repeat;
    background-position: top 3vw left 10vw;
    padding-top: 13vw;
}

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

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

.item02 .lower_sec01_inner h2{
    letter-spacing: 0.124em;
}

.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: 'Poppins', sans-serif;
    font-size: 13px;
    line-height: 3;
    letter-spacing: 0.124em;
    color: #502b0d;
    text-align: center;
    font-weight: 600;
    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_bg02{
    background-image: url(../img/item1/ink/lower_bg02.png);
    background-position: bottom 0 left 16vw;
    background-repeat: no-repeat;
    padding-bottom: 5vw;
    background-size: 72%;
}

.lower_sec03{
    position: relative;
    z-index: 1;
}

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

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

.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 40px;
}

.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: 7.5vw;
    background-repeat: no-repeat;
    background-position: top 0 left 6vw;
}

.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: 1vw;
}

.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 -3vw;
    padding-bottom: 12.4vw;
}

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

.item02_bg04{
    background-image: url(../img/item2/jikakeru/lower02_bg03.png);
        background-size: 93% 91%;
    background-repeat: no-repeat;
    background-position: top 4vw right 0;
    padding-bottom: 8.4vw;
}

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

.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 left 12vw;
    padding-bottom: 6vw;
    padding-top: 7.7vw;
}

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

.item03_bg02{
    background-image: url(../img/item3/watashibiyori/lower03_bg02.png);
    background-size: 94% 94%;
    background-repeat: no-repeat;
    background-position: bottom 0 left 4vw;
    padding-bottom: 6vw;
}

.item03_sec03{
    margin-top: -2vw;
}

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

.item03_bg04{
    background-image: url(../img/item3/daily_log/lower03_bg04.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top 0 left 12vw;
    padding-top: 5.3vw;
    padding-bottom: 5vw;
    margin-top: 2vw;
}

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

.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;
    }
    
    /*---------------------------------
    * langage menu
    ---------------------------------*/
    
    .header_sp_menuWrap{
        display: flex;
        gap: 10px;
    }
    
    .lang-btn{
        width: 43px;
        height: 43px;
        border-radius: 43px;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
        min-width: unset;
    }
    
    .lang-btn::before{
        width: 21px;
        height: 21px;
    }
    
    .lang-menu-content{
        width: fit-content;
        left: 50%;
        transform: translateX(-50%);
        top: calc(100% + 5px);
    }
    
    .lang-menu .lang-list{
        width: fit-content;
    }
    
    .lang-btn::after{
        content: none;
    }
    
    /*---------------------------------
    * header
    ---------------------------------*/
    
    header{
        height: 68px;
    }
    
    .header_inner{
        position: relative;
    }
    
    .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;
    }
    
    
    /* ハンバーガーメニュー */
    
    .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;
    }
    
    .footer_list{
        padding: 0 6px;
        position: relative;
        flex-direction: column;
        row-gap: 20px;
    }
    
    .footer_shachihata_logo img{
        width: 93.5px;
    }
    
    .footer_shachiiro_logo img{
        width: 123px;
    }
    
    .footer_shachiiro_logo a{
        width: 144px;
        height: 33px;
    }
    
    .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_btn_bl{
        row-gap: 10px;
    }
    
    .footer_list>li:nth-of-type(2){
        flex: 1;
        margin-right: 0;
    }
    
    .footer_bl02{
        margin-top: 5px;
    }
    
    .footer_copyright{
        font-size: 9px;
    }
    
    .footer_sns{
        gap: 12px;
        margin-top: 0;
    }
    
    .footer_sns li{
        height: 15px;
    }
    
    .footer_sns_ttl{
        white-space: nowrap;
    }
    
    .lower_footer_link{
        flex-direction: row;
        height: auto;
        position: absolute;
    }
    
    .lower_footer .footer_list>li:first-of-type{
        padding-bottom: 86px;
    }
    
    .global_site_link a{
        font-size: 9px;
        padding: 5px 12px;
        min-width: 200px;
        font-weight: 500;
        box-shadow: 0 2px #dea742;
    }
    
    .global_site_link a::after{
        width: 14px;
        height: 7px;
    }

    
    /*---------------------------------
    * 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: 12px;
        margin-top: 15px;
        line-height: 1.6;
    }
    
    .products_link{
        margin-top: 20px;
        display: flex;
        justify-content: center;
        width: unset;
    }
    
    .products_link a{
        width: 180px;
        height: 35px;
        font-size: 12px;
        padding: 0 30px;
    }
    
    .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: bottom 15% left 46%;
        background-size: 183%;
        margin-top: 6px;
        padding: 25px 0;
   }
   
   .store_list>li.stores_link a, .store_list>li.contact_link a{
        min-width: 172.5px;
        padding: 12px 13px 10px 11px;
        font-size: 13px;
   }
   
   .store_list>li.stores_link a{
        box-shadow: 0 3px #5b8ec6;
   }
   
   .store_list>li.contact_link a{
        box-shadow: 0 3px #da7270;
   }
   
   .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: 11px;
   }
   
   .shopping_sec{
        padding: 0;
   }
   
   .shopping_sec_text{
        font-size: 12px;
   }
   
   .store_list>li.official_link a{
        font-size: 11px;
   }
   
    .store_list>li a::after{
        width: 9px;
        height: 9px;
        margin-left: 10px;
    }
    
    .store_list>li.stores_link a::before{
        width: 15px;
        height: 13px;
        margin-right: 10px;
    }
    
    .store_list>li.contact_link a::before{
        width: 16.5px;
        height: 12px;
        margin-right: 10px;
    }
    
    
    /*---------------------------------
    * 下層ページ
    ---------------------------------*/
    
    .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: 35vw;
    }
    
    .lower_sec01_inner h2{
        padding-top: 13.33vw;
    }
    
    .lower_sec01_inner h2, .lower_sec01_inner h2 span{
        font-size: 23px;
        letter-spacing: 0.04em;
        line-height: 1.4;
    }
    
    .lower_sec01 .lower_sec01_inner h2{
        padding-top: 0;
    }
    
    .lower_sec01_ttl{
        margin-top: 20px;
    }
    
    .lower_sec01_txt{
        margin-top: 20px;
        letter-spacing: 0.124em;
        line-height: 2;
        font-weight: 500;
        font-size: 12px;
    }
    
    .item02_sec01 .lower_sec01_txt{
        letter-spacing: 0.08em;
    }
    
    .item02_sec03 .lower_sec01_txt{
        letter-spacing: 0.04em;
    }
    
    .item02_sec04 .lower_sec01_txt{
        letter-spacing: 0.04em;
    }
    
    .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;
    }

    
    .slick-dots li button:before{
        font-size: 11px !important;
    }
    
    .custom-dots{
        bottom: -30px;
    }
    
    .custom-dots li{
        width: 9px;
        height: 9px;
        margin: 0 11px;
    }
    
    .detail_shopping_btn{
        margin-top: 16vw;
    }
    
    .lower_bg02{
        padding: 0 0 35vw;
        background-image: url(../img/item1/ink/lower_bg02_sp.png);
        background-position: bottom 0 left -25vw;
        background-size: 130%;
    }

    .lower_sec02 .lower_sec01_inner h2{
        padding-top: 5.3vw;
    }
    
    .lower_bg03{
        background-image: url(../img/item1/kosai/lower_bg03_sp.png);
        background-size: cover;
        padding-bottom: 28vw;
        margin-top: -2vw;
        background-position: top 0 left 35%;
        padding-top: 3.6vw;
    }
    
    .lower_sec03 .lower_sec01_inner h2{
        padding-top: 0;
    }
    
    .special_sec{
        background-size: cover;
    }
    
    .memorial_icon{
        width: 208px;
        margin: 7vw auto 0;
    }
    
    .lower_sec04{
        padding: 0;
    }
    
    .lower_sec04 .lower_sec01_inner h2{
        padding: 6.66vw 0 0;
        font-size: 24px;
        letter-spacing: 0.124em;
    }
    
    .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 7vw;
        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: 174% 106%;
        background-position: top 37% left 47%;
        padding-bottom: 0;
        margin-top: 0;
    }
    
    .item02_sec01 .lower_sec01_inner h2{
        padding-top: 10.1vw;
    }
    
    .item02_sec03 .lower_sec01_inner h2{
        padding-top: 21.33vw;
    }
    
    .item02_sec04 .lower_sec01_inner h2{
        padding-top: 2.66vw;
    }
    
    .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: 12vw;
    }
    
    .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;
        font-size: 21px;
    }
    
    .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: 145%;
        margin-top: 0;
        background-repeat: no-repeat;
        background-position: top 0 left 59%;
        padding-top: 15.6vw;
        padding-bottom: 0;
    }
    
    .item03_sec02{
        margin-top: 0;
    }
    
    .item03_bg02{
        background-image: url(../img/item3/watashibiyori/lower03_bg02_sp.png);
                background-size: 166%;
        background-repeat: no-repeat;
        background-position: top 0 left 45%;
        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 -4vw left 39%;
        padding-top: 14vw;
    }
    
    .item03_sec03 .lower_sec01_txt{
        letter-spacing: 0.04em;
    }
    
    .item03_sec04{
        margin-top: 3.5vw;
    }
    
    .item03_bg04{
        background-image: url(../img/item3/daily_log/lower03_bg04_sp.png);
        background-size: 128%;
        background-repeat: no-repeat;
        background-position: top 0 left 39%;
        padding-top: 13vw;
        padding-bottom: 0;
    }
    
    .item03_bg05{
        background-image: url(../img/item3/craft/lower03_bg05_sp.png);
        background-size: 135% 89%;
        background-repeat: no-repeat;
        background-position: top 17vw left -18vw;
        padding-bottom: 29vw;
        margin-bottom: 0;
    }
    
    .item03_sec05 .lower_sec01_txt{
        letter-spacing: 0.04em;
    }
}
