@charset "UTF-8";
/* ===================================================================
CSS information

 file name  :common.css
=================================================================== */
/*safari adj*/
    body{
       -webkit-text-size-adjust: 100%;
       text-size-adjust: 100%;
    }

/*font*/
    body {
        font-family: YakuHanRP, "Nunito", "Kiwi Maru", sans-serif;
        background-color: #fdf9ee;
        color: #0e0a32;
        font-weight: 300;
    }

    input, textarea, select {
        font-family: "Nunito", "Kiwi Maru", serif;
    }

/*color*/
    .basecolor{
        color:#fdf9ee;
    }

    .pink{
        color:#e44291;

    }

    .paleblue{
        color:#a1afd9;
    }

    .navyblue{
      color: #0e0a32;
    }

    .red {
        color: #e44291;
    }

    .grad {
        background: linear-gradient(#e44291, #a1afd9);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    /*cal用*/
    .pink15{
        color:#e44291;
        font-size: 1.5em;
    }

/*title*/
    /*common*/
    .imp_text{
        color: #e44291;
        font-size: 1.2em;
    }

    /*top*/
    .top_container h2{
        font-size: 1.7em;
        display: flex;
        align-items: flex-end;
        padding: 0 0 0 1.3em;
        margin: 0 0 10px 0;
        word-break: keep-all;
        overflow-wrap: break-word;
        font-weight: 400;
    }

    .top_container h2::before{
        width: 2.2px;
        height: 40px;
        content: "";
        background-color: #e44291;
    }

    .top_container h2::after {
        width: 2px;
        height: 40px;
        content: "";
        background-color: #e44291;
    }

    h2::before {
        margin-right: 0.5em;
        transform: rotate(-30deg);
    }

    h2::after {
        margin-left: 0.5em;
        transform: rotate(35deg);
    }


    /*h2 headline*/
    section.page h2.headline{
        font-size: 2em;
        text-align: left;
        padding: .3em .6em;
        border-left: 5px solid #a1afd9;
        border-bottom: 1.5px solid #a1afd9;
        background-color: #fff;
        color: #0e0a32;
        border-top: none;
        border-right: none;
        border-radius: 0px;
        margin: 30px 0px 40px 0px;
        word-break: keep-all;
        overflow-wrap: break-word;
    }

    /*h2 subtitle*/
    section.page h2.sub_title{
        color: #0e0a32;
        background-color: #fff;
        font-size: 1.8em;
    }


    /*h3*/
    section.page h3 {
        font-size: 1.7em;
        border: none;
        background: linear-gradient(transparent 50%, #fff 70%);
        display: inline-block;
        padding: 0 0.3em;
        margin: 0 0 10px 0;
    }

    section.page h3::before {
        content: "\f0da";
        margin: 0 8px 0 0;
        font-family: "Font Awesome 6 Pro";

    }


    /*h3 new*/
    .h3_headline{
        font-size: 1.7em;
        margin: 0px 0 20px 0;
    }

   .h3_subtitle{
        font-size: 1.3em;
        padding: 0.5em 0;
    }

    /*h3 calendar*/
    #side > div > div > h3,
    #mobile_calendar > div.m_calendar > h3 {
        font-size: 1.2em;
        font-weight: 400;
        padding-left: 0.5em;
    }

    #side > div > div > h3::before,
    #mobile_calendar > div.m_calendar > h3::before {
        font-family: "Font Awesome 6 Pro";
        content: "\f0da";
        margin: 0 0.5em 0 0;
        font-weight: 600;
    }

    /*h4*/
    section.page h4 {
        border-bottom: none;
        margin-bottom:0.3em;

    }

    .other_links h4 {
        background-color: #fff;
        color: #0e0a32;
    }


    /*h5*/
    section.page h5 {
        color: #0e0a32;
        font-weight: 600;
        padding: 0.8em 0 0.5em 0;
        background-color: transparent;
    }

    .h5_subtitle, 
    h4 .headline {
        background: linear-gradient(transparent 65%, rgba(161,175,217,0.5) 50%);
        padding: 0em 0.3em;
        display: inline;
    }


    /*company info*/
    .dl-company dt {
        font-size: 1.5em;
        margin: 0;
        padding: 0px 0 0.2em 0;
        border: none;
    }

   .dl-company dt::before {
        content: "\f1ad";
        font-family: "Font Awesome 6 Pro";
        margin: 0 7px 0px 0;
        font-size: 0.9em;
    }

    .dl-company dd {
        padding: 0 0 1.5em 0;
        line-height: 2;
    }
 
    /*column*/
    .dt-column-title{
        background-color: #a1afd9;
    }

/*img zoom*/
   /* チェックボックスを隠す */
    [id^="zoom-trigger"] {
        display: none;
    }

    /* 通常時の画像（クリックできることを示すポインター） */
    .zoom-open-btn img {
        max-width: 100%;
        height: auto;
        cursor: pointer;
    }

    /* 拡大時の背景 */
    .zoom-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6); /* 黒背景の透明度 */
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 999999; /* 一番手前に表示 */
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
    }

    /* 拡大画像自体のサイズ調整（スマホからはみ出さないように） */
    .zoom-large-img {
        max-width: 90%;
        max-height: 90%;
        object-fit: contain;
        box-shadow: 0 0 20px rgba(0,0,0,0.5);
    }

    /* 画像がタップされてチェックが入ったら、拡大画面を表示 */
    [id^="zoom-trigger"]:checked ~ .zoom-overlay {
        opacity: 1;
        pointer-events: auto;
    }

    
    /*mobile-only ver.*/
    [id^="zoom-trigger_mobile-only"] {
      display: none;
    v}

    [class^="simple-zoombox_mobile-only"] {
      position: relative;
    }


    /* 通常時の画像 */
    .zoom-open-btn_mobile-only img {
      max-width: 100%;
      height: auto;
    }

    @media (min-width: 1025px) {
    /* PCではクリックできない状態にする */
      .zoom-open-btn_mobile-only {
        cursor: default;
        pointer-events: none;
      }
      
      /* 拡大用の黒背景画面を表示しない */
      .zoom-overlay_mobile-only {
        display: none !important;
      }
    }

/*box*/
    .box_imp {
        position: relative;
        padding: 1em 1em 0.5em 1em;
        border: solid 2px #e44291;
        border-radius: 8px;
        display: inline-block;
        font-size: 1.2em;
    }
    
    .box_imp .box-title {
        position: absolute;
        display: inline-block;
        top: -13px;
        left: 10px;
        padding: 0 9px;
        line-height: 1;
        font-size: 1.2em;
        background: #fdf9ee;
        color: #e44291;
        font-weight: bold;
    }

    .box_imp p {
        margin: 0; 
        padding: 0;
    }

    .box_hint {
        position: relative;
        padding: 0.8em 1em;
        border: solid 2px #a1afd9;
        border-radius: 8px;
        display: inline-block;
    }
    
    .box_hint .box-title {
        position: absolute;
        display: inline-block;
        top: -13px;
        left: 10px;
        padding: 0 9px;
        line-height: 1;
        font-size: 1.2em;
        background: #fdf9ee;
        color: #a1afd9;
        font-weight: bold;
    }

    .box_hint p {
        margin: 0; 
        padding: 0;
    }

/*table*/
    table th {
        background: #d9dff0;
    }

    .temp th {
        background: transparent;
        width: 30%;
    }

    .spine th {
        background: #fff;
    }

/*text*/
    a:link {
        color: #3366cc;
    }

    .thecontent a {
        color: #3366cc;
    }

    section.system a, section.products a {
        color: #3366cc;
    }

     /*Line brake of text*/
    .text{
        display : inline-block;

    }

    /*top*/
    .top_container p {
        line-height: 1.6;
        padding: 0.5em 0 2em 1.5em;
    }


    /*size & weight*/
    .fnt15 {
        font-size: 1.5em;
    }

    .fnt12 {
        font-size: 1.2em;
    }

    
    .fnt-w400{
        font-weight: 400;
    }

    
    .fnt-w500{
        font-weight: 500;
    }


    .fnt-w600{
        font-weight: 600;
    }

    .notes{
        font-size: 0.8em;
    }

    /*FontAwesome*/
    .pr_fa{
        padding-right: 0.3em;
    }

    .pl_fa{
        padding-left: 0.3em;
    }

    .adj_fa{
        font-size: 0.8em;
        vertical-align: 0.1em;
    }
    
/*btn*/
    .button_signup{
        background-color: #fdf9ee;
        border: solid 3px #a1afd9;
        border-radius: 7px;
        color: #0e0a32 !important;
    }

    .button_signup_short{
        display: inline-block;
        font-size: 1.3em;
        padding: 5px 20px;
        margin: 0px 0px 20px 0px;
        background-color: #fff;
        border: solid 3px #a1afd9;
        border-radius: 7px;
        color: #0e0a32 !important;
    }

   .button_signup_short:hover {
        display: inline-block;
        font-size: 1.3em;
        padding: 5px 20px;
        margin: 0px 0px 20px 0px;
        background-color: #fdf9ee;
        border: 3px solid #a1afd9;
        border-radius: 7px;
    }

    .button_signup_short2{
        font-size: 1.3em;
        color: #a1afd9 !important;
        padding: 5px 20px;
        margin: 0px 0px 20px 0px;
        background-color: #fff;
        border: 3px solid #a1afd9;;
        border-radius: 7px;
        max-width: 60%;
    }

    .button_signup_short2:hover {
        font-size: 1.3em;
        color: #ffffff !important;
        padding: 5px 20px;
        margin: 0px 0px 20px 0px;
        background-color: #a1afd9;
        border: 3px solid #a1afd9;
        border-radius: 7px;
        max-width: 60%;
    }

   .button_tmp{
        color: #fff !important;
        padding: 5px 20px;
        background-color: #a1afd9;
        border: 2px solid #a1afd9;
        border-radius: 50px;
        max-width: 60%;
    }    

    .button_tmp:hover {
        color: #a1afd9 !important;
        background-color: #fff;
        border: 2px solid #a1afd9;
    }

    a.button_tmp{
        text-decoration: none;
    }

    .btn_primary {
        color: #ffffff !important;
        background-color: #e44291;
    }

    .btn_default {
        color: #0e0a32 !important;
        border: solid 1.5px #a1afd9 !important;
        background-color:transparent;
    }

    .btn_estimate {
        color: #0e0a32 !important;
        border: solid 1.5px #e44291 !important;
        background-color:transparent;
    }


    .btn_logout {
    color: #ffffff !important;
    background-color: #a1afd9;
    }

    /*top modoru*/
    .pagetop a {
        background: #a1afd9;
        border-radius: 100%;
    }

/*padding & margin*/
    #main {
        margin: 0 0 50px 0;
    }

    section.page .content-box {
        padding: 0 30px;
    }

    .pd-right{
        padding: 0 7px 0 0;
    }

    .pd-left{
        padding: 0 0 0 7px;
    }

/*paging*/
    .nav-below i {
        color: #0e0a32;
        font-size: 1.3em;
        padding-top: 0.2em;
    }

    .nav-below a {
        top: 5px;
    }

    .wp-pagenavi a:hover,
    .wp-pagenavi span.current {
        background-color: #e44291;
    }

    div.pageing .active a {
        background: #a1afd9;
    }

/*top column*/
    .top_1column {
        display: block;
        background-color: #fff;
        position: relative;
        padding: 40px;
        border-radius: 30px;
    }

/*top_logo*/
    header h2.logo {
        max-width: 350px;
        padding-right: 30px;
    }

    header .bottom .inner .left {
        width: 30%;
        padding-bottom: 20px;
        @media screen and (max-width: 1024px) {
            width: fit-content;
        }
    }

    header .bottom .inner .right {
        width: 70%;
        padding-top: 10px;
        @media screen and (max-width: 1024px) {
            width: fit-content;
        }
    }

/*header*/
    /*top menu下のバー*/
        header ul#menu-header li > a:active {
            text-decoration: none;
            border-bottom: 3px solid #e44291;
            padding: 0 5px;
            transform: scale(0.9);

        }

    header.menu_click {
        box-shadow: 0px 9px 3px -3px rgba(32, 32, 32, 0.1);
        -webkit-box-shadow: 0px 9px 3px -3px rgba(32, 32, 32, 0.1);
        -moz-box-shadow: 0px 9px 3px -3px rgba(32, 32, 32, 0.1);
    }

    header.fixed {
        box-shadow: 0px 9px 3px -3px rgba(32, 32, 32, 0.1);
        -webkit-box-shadow: 0px 9px 3px -3px rgba(32, 32, 32, 0.1);
        -moz-box-shadow: 0px 9px 3px -3px rgba(32, 32, 32, 0.1);
    }

    header .top .inner .right nav.navi ul.menu > li > a {
        color: #a1afd9;
        display: flex;
        align-items: center;
        top: 15px;
    }

    header .top .inner .right ul li > a:hover {
        color: #0e0a32;
        height: 50%;
    }

    header .top .inner .right ul li span.icon_num,
    header .top .inner .right ul li span.num {
        background-color: #e44291;
        color: #fdf9ee;
    }

    header .inner .right ul li.active > a {
        border-bottom: 3px solid #e44291;
    }

    @media (hover: hover) {
        header ul#menu-header li > a:hover {
            text-decoration: none;
            border-bottom: 3px solid #e44291;
            padding: 0 5px;
        }
    }
    @media (hover: none) {
        header ul#menu-header li > a:hover {
            border: none;
        }
        header ul#menu-header li > a:active {
            text-decoration: none;
            border-bottom: 3px solid #e44291;
            padding: 0 5px;
            transform: scale(0.9);
        }
    }

/*notice*/
    header .notice {
        width: 50%;
    }

    header .notice .title {
        width: 25%;
        background-color: #e44291;
        border-radius: 25px 0px 0px 25px;
    }

    header .notice .title:before {
        content: "●";
        color: white;
        margin-right: 8px;
    }

    header .notice .info {
        width: 70%;
        background-color: rgba(235, 121, 171, 0.1);
    }
    header .notice .info a {
        color: #0e0a32;
    }

    header .notice .btn {
        right: 40px;
    }

    header .notice .btn i {
        color: #e44291;
        font-size: 1.5em;
    }

/*top slider*/
    .top_container{
            margin-top: 5em;
        }

    .bx-wrapper .bx-controls-direction a {
        transform: none !important;
        transition: none !important;
        animation: none !important;
    }

    /*dot*/
    .bx-wrapper .bx-pager.bx-default-pager a {
        background: #d9dff0 !important;
    }

    .bx-wrapper .bx-pager.bx-default-pager a:hover, 
    .bx-wrapper .bx-pager.bx-default-pager a.active {
        background: #a1afd9 !important;
    }

    /*sp用*/
    @media (min-width: 768px) {
        .top-slider_sp {
            display: none!important;
        }

        .top-slider_pc{
            display: block;
        }
    }

/*side*/
    #side {
        height: fit-content;
        background-color: #fff;
        margin: 30px 20px 0 0;
        width: fit-content;
        max-width: 100%;
        border-radius: 22px;
    }

    #side ul.sub-item-menu > li,
    #side ul.menu > li {
        background-color: #fff;
    }

    #side .sidebox {
        background-color: #fff;
        width: fit-content;
        padding: 0px 10px 30px 10px;
        border-radius: 22px;
    }

    #side img {
        width: 70%;
    }

/*submenu*/
    #header_submenu {
        background-color: #fdf9ee;
        max-height: 50vh !important; /* 高さを画面半分くらいに */
        overflow-y: auto; /* 中身が収まりきらない場合スクロール */
        box-shadow: 0px 9px 3px -3px rgba(32, 32, 32, 0.1);
        -webkit-box-shadow: 0px 9px 3px -3px rgba(32, 32, 32, 0.1);
        -moz-box-shadow: 0px 9px 3px -3px rgba(32, 32, 32, 0.1);
    }

    #header_submenu nav.children h3 {
        border: none;
    }

    #header_submenu nav.children div.sub-close .sub-bt {
        padding: 10px 20px;
        background-color: #a1afd9;
        border-radius: 7pt;
    }

    #header_submenu nav.children .close_btn.circle {
        top: 0px;
    }

    #header_submenu nav.children .close_btn.circle i {
        color: #e44291;
        border-radius: 7pt;
    }

    #header_submenu nav.children .panel {
        width: 100%;
    }

    #header_submenu nav.children {
        width: 90%;
    }

    #header_submenu .children_list{
        /*display: -webkit-flex;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;*/
        display: -webkit-flex;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        flex-direction: row;
        width: 100% !important;
        /*margin-left: 1em;*/
    }

    #header_submenu .children_list .wrap{
        /*margin:30px;*/
        margin: 10px;
    }

    .children_list .wrap img {
        width: 80%;
    }

    .children_list .wrap:nth-child(4n) {
        margin-right: 30px;
    }


    .products_list_level1 {
        padding: 0 0 0 40px;
    }   

    .products_list_level1 .title:before,
    section.page h2.sub_title:before{
        content: "\f219";
        font-family: "Font Awesome 6 Pro";
        margin: 0 0.4em 0 0;
        font-size: 1em;
        font-weight: 400;
    }

    #header_submenu nav.children .close_btn.circle {
        margin-right: 50px;
    }

    /*n-daihon link disable*/
    /*.products_list_level1 .box:nth-child(2),*/
    .products_list_level1 .box:nth-child(3){
        pointer-events: none;
    }

    /*text*/
    .products_list_level1 .box:nth-child(2) .item_description,
    .products_list_level1 .box:nth-child(3) .item_description{
        text-align: center;
    }


    #side ul.menu > li > a {
        background: none;
    }

    @media (min-width: 1025px) {
        #mobile-top-menu,
        #mobile_calendar {
                display: none;
            }

        }

/*calendar*/
    .title_date {
        border-left: 1px solid #fff;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        font-weight: 400;
        font-size: 1.1em;
    }

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

    #side > div > div > div.calendar > div > div:nth-child(2) > span {
        border-top: 1px solid #a1afd9;
        padding-top: 1em;
    }

    table.in2cart_calendar {
        width: 80%;
        font-size: 0.8em;
    }

    table.in2cart_calendar th {
        border: 5px solid #fff;
        background: #fdf9ee;
    }
    table.in2cart_calendar td {
        border: 1px solid #fff;
        background: #fff;
        padding: 0.35em 0.5em;
    }

    th.sunday { color: #e44291; }
    td.sunday { background: #fff; }
    th.saturday { color: #6a7ec3; }
    td.saturday { background: #fff; }

    table.in2cart_calendar td.holiday {
        background: #fff !important;
        border: 1px solid #fff !important;
        box-shadow: inset 0 0 0 1.5px #e44291;
        border-radius: 100px;
        color: #0e0a32;
    }
    table.in2cart_calendar td.today {
        background: #fff !important;
        border: 1px solid #fff !important;
        box-shadow: inset 0 0 0 1.5px #a1afd9;
        border-radius: 10px;
    }

    /*read me*/
    .calendar_readme ul {
        display: flex; 
        flex-direction: row;
        align-items: center;
        font-size: 0.8em;
    }

    .calendar_readme ul li:nth-child(2) {
        margin: 0 10px 0 0;
    }

    .calendar_readme ul li .today {
        width: 25px;
        height: 25px;
        border: 1.5px solid #a1afd9 !important;
        background-color: transparent !important;
        top: 0px;
        border-radius: 8px;
    }

    .calendar_readme ul li .holiday {
        width: 25px;
        height: 25px;
        border: 1.5px solid #e44291 !important;
        background-color: transparent !important;
        top: 0px;
        border-radius: 100px;
    }

/*breadcrumb*/
    .breadcrumb li::after {
        font-family: "Font Awesome 6 Pro";
        content: "\f105";
        color: #0e0a32;
        padding: 0 0.3em;
    }

    .breadcrumb li a {
        color: #a1afd9;
    }

/*form*/
    th .hissu {
        background: #e44291;
        border-radius: 10px;
        font-size: 0.8rem;
        padding: 0 8px;
        position: relative;
        left: 15px;
    }

    .in2form-outer {
        .button-link {
          background-color: #fff;
          border-radius: 7px;
          padding: 10px 20px;
          margin: 20px;
          border: solid 3px #e44291;
        }
      }

    .in2form-outer {
        .button-link:hover {
      color: #fff;
      border: solid 3px #e44291;
      background-color: #e44291;
      margin: 20px;
    }
    }

    .in2form-outer {
        & input, & textarea, & select {
            &:invalid {
                border: 1.5px solid #e44291;
            }
        }
    }
    
    .in2form-outer {
        .hissu {
            background: #e44291!important;
            color: #fff;
            border-radius: 10px!important;
            padding: 0 8px!important;
        }
    }

    .in2form-outer {
        & input, & textarea, & select {
        &:invalid {
            border: 1px solid #e44291 !important;
            }
        }   
    }

    .in2form-outer {
        .button-link {
            background: #e44291!important;
            }
    }

    .form_item_error,
    .in2form_error {
        color: #e44291 !important;
    }

/*input*/
    input[type="text"]:focus,
    input[type="password"]:focus,
    input[type="email"]:focus,
    input[type="tel"]:focus,
    input[type="number"]:focus,
    select:focus,
    textarea:focus {
        outline: 0;
        border: 1px solid #a1afd9;
        box-shadow: 0 0 5px #d9dff0;
    }
    /*btn color*/
    .cart_point_box label input[type="checkbox"]  {
        accent-color: #fff;
    }

    input[type="radio"]{
        accent-color: #0e0a32;
    }

/*underline*/
    .ul_blue {
        background: linear-gradient(transparent 65%, rgba(161,175,217,0.5) 50%);
        padding: 0em 0.3em;
    }

    .ul_white {
        background: linear-gradient(transparent 70%, #fff 50%);
        padding: 0em 0.3em;
    }

/*alert*/

    .alert {
        margin-bottom: 20px;
        padding: 10px;
    }

    .alert_caution {
        background-color: #fff;
        color: #e44291;
    }

    .alert_danger {
        border: none;
        background-color: rgba(235, 121, 171, 0.2);
        color: #e44291;

    }

    #main > section > div > div.cart-step4 > form > div.alert.alert_caution.mt30.mb30 {
        border: none;
        background-color: rgba(235, 121, 171, 0.2);
        color: #0e0a32;
    }

/*products*/
    /*products a color*/
        product_size_list.section.system a, product_size_list.section.products a {
            color: #0e0a32;
        }

    /*product wrap*/
        .product_size_list .wrap {
            background-color: #fff;
            border-radius: 10px;
            position: relative;
            background: linear-gradient(#fff) padding-box,
                        linear-gradient(#e44291, #a1afd9) border-box;
            border: 2px solid transparent;
        }

        .product_size_list li .wrap:after{
            font-family: "Font Awesome 6 Pro";
            content: "\f138";
            font-size: 2em;
            top: 50%;
            transform: translateY(-50%);
            /*color: #e44291;*/
            position:absolute;
            margin: 0!important;
            background: linear-gradient(#e44291 25%, #a1afd9);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .product_size_list .wrap:hover {
            box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
        }

        .product_size_list li dl dt {
            color: #0e0a32;
        }

        .product_size_list li dl dd p {
            color: #a1afd9;
        }

        .product_desc_upper {
            padding: 0 0 40px 0;
        }


        .products_list_level1 .section.page h3.title{
            background:transparent;

        }
        .products_list_level1 .box .item_description {
            font-size: 1em;
        }

        .products_list_level1 .box {
            width: 25%;
            margin: 30px 60px 20px 0;
        }


        .products_list_level1 .box .item_title {
            font-size: 1.3em;
        }      

        .img-center{
            text-align: center;
        } 

/*list*/
    /*nomal*/
    .thecontent ol,
    .thecontent ul {
        padding: 10px 0px 0px 25px;
    }

    .thecontent ol li,
    .thecontent ul li,
    .products_list_level2 ul li,
    #help_list > dd > ol > li,
    #help_list > dd > ul > li {
        padding-bottom: 0.5em;
    }

    ul.nomal-list{
        list-style-type: disc;
        margin: 0 7px;
        padding: 0 0 0 20px;
        line-height: 1.7em;
    }

    ul.nomal-list2{
        list-style-type: none;
        margin: 0 7px;
        padding: 0 0 0 20px;
        line-height: 1.7em;
    }


    ul.nomal-list2 li:before {
        font-family: "Font Awesome 6 Pro";
        content: "\f101";
        padding: 0 7px 0 0;
    }

    /*top*/
    ul.top-list {
        position: relative;
        font-size: 1.2em;
    }

    ul.top-list li {
        line-height: 1.3;
        padding: 1em 0 0 1.3em;
        list-style-type: none!important;
        position: initial;
    }

    ul.top-list li:before {
        font-family: "Font Awesome 6 Pro";
        content: "\f075";
        padding :0 0.5em 0 0;
        color: #a1afd9;
    }

    

    /*link list*/
    ul.linklist {
        position: relative;
        font-size: 1.3em;
    }

    ul.linklist li {
        line-height: 1.5;
        padding: 0.5em 0;
        list-style-type: none!important;
        position: initial;
    }

    ul.linklist li:before {
        font-family: "Font Awesome 6 Pro";
        content: "\f138";
        padding :0 0.5em 0 0;
    }

    /*text color*/
    ul.linklist li a {
        color: #0e0a32
    }

    ul.linklist2 {
        padding: 0.5em 1em 0.5em 2.5em;
        position: relative;
        font-size: 1.3em;
    }

    ul.linklist2 li {
        line-height: 1.5;
        padding: 0.5em 0;
        list-style-type: none!important;
        position: initial;
    }

    /* text linkなし */
    ul.linklist2 li a {
        color: #0e0a32
    }

/*top news*/
    .news .h3_headline{
        letter-spacing: 0.1em;
        margin: 0 0 20px 10px;
    }

    .news .title h3{
        padding: 0 0 0 20px;

    }

    .news .title h3:before{
        content: "\f0da";
        margin: 0px 7px 0px 0px;
        font-family: "Font Awesome 6 Pro";
        color: #0e0a32;

    }

    .news .title .more{
        padding: 0 0 0 40px;
    }

    .news .title .more:after{
        content: "\f101";
        margin: 0px 0px 7px 0px;
        font-family: "Font Awesome 6 Pro";
    }

    .news ul{
        padding: 10px 0 20px 40px;
    }
    
    .news ul li a{
        color: #0e0a32;
        line-height: 1.7;
    }

    .news ul li p:before {
        content: "-";
        margin: 0px 7px 0px 0px;
        font-family: serif;
        color: #0e0a32;
    }

/*other links*/
    .other_links .box ul{
        margin: 0 0 0 20px;
    }

    .other_links .box ul li::after {
        content: " | ";
        color: #0e0a32;
        vertical-align: text-bottom;
    }

    .other_links .box ul li:last-child::after {
        content: "";
    }

/*footer*/
    /*top*/
    footer .top {
        background: #fdf9ee;
        padding: 2em 0 0 2em;    
        border-top: solid 1px #a1afd9;
    }
    footer .top .navi .menu .menu-item > a {
        color: #e44291;
    }

    footer .top .navi .menu .menu-item > a + ul.sub-menu li.current-menu-item::before {
        content: "\f0da";
        font-family: "Font Awesome 6 Pro";
        position: absolute;
        color:#e44291
    }

    footer .top .navi .menu .menu-item > a {
        color: #0e0a32;
    }

    #menu-item-1315 > a:after,
    #menu-item-1334 > a:after,
    #menu-item-1322 > a:after {
        content: "\f078";
        font-family: "Font Awesome 6 Pro";
        padding-left: 0.5em;
        display: inline-block;
        text-decoration: none;
        font-size: 0.8em;
    }

    footer .top .navi .menu .menu-item > a + ul.sub-menu li {
        width: 20%;
        margin-left: 1em;
    }

    footer .top .navi .menu .menu-item > a + ul.sub-menu {
        padding-bottom: 1em;
    }

    /*bottom*/
    footer .bottom {
        display: none;
    }

    footer .copyright {
        font-family: "Nunito", "Kiwi Maru", sans-serif;
        padding-top: 2em;
        color: #0e0a32;
    }

    /*copy right*/
    .copyright img {
        vertical-align: bottom;
        position: relative;
        top: 0px; /* adj */
        min-width: 60px; /* sp */
        height: auto;
    }

    /*cookie*/
    .cookie_privacy {
        background-color: rgba(255, 255, 255, 0.7);
        padding: 30px;
        border-radius: 30px;
    }

    .cookie_privacy .btn a {
        background-color: #a1afd9;
        border-radius: 7pt;
    }

/*news*/
    .archive_line .title {
        color: #0e0a32;
        margin: 0.5em 0;
        font-size: 1.3em;
    }
    
    .post_time {
        margin: 0;
        color: #0e0a32;
    }

    .post_time:before {
        content: "\f0e0";
        margin: 0 7px 0 0;
        font-family: "Font Awesome 6 Pro";
        font-weight: 600;
        color: #a1afd9;
    }

    .archive_line .more:after {
        content: "\f101";
        margin: 0px 0px 7px 0px;
        font-family: "Font Awesome 6 Pro";
    }

    .post_terms ul {
        padding: 0.5em 0 !important;
    }

    .post_head > div.post_terms > ul > li > a{
        color: #a1afd9 !important;
    }

    .post_head > div.post_terms > ul > li > a:before{
        content: "\f02b";
        margin: 0 7px 0 0;
        font-family: "Font Awesome 6 Pro";
        font-weight: 600;
    }

    #main > section > div > div > div > a > h3{
        color: #0e0a32 !important;
        background: none;
    }

/*hr*/
    .hr_blue{
        background-color:#a1afd9;
        border:none;
        height:1px;
    }

/*dt*/
    #temp_list dt {
        background-color: #fff;
    }

    #help_list dt {
        background-color: #d9dff0;
    }

/*in2cart*/
    /*cart title*/
        #main > section > div > div.cart-top > form > div.cart-wrapper > h3,
        [id^="addressContent_"] > h3,
        #main > section > div > form > div.step3PaymentBox > h3,
        #step3ItemBoxId > h3,
        #main > section > div > form > h3,
        #main > section > div > div.cart-step4 > form > h3 {
            display: block;
            background: none !important;
        }

    /*common*/
        .cart-top .cart_box_mini .item-no,
        .cart-step2 .address-box .number-list .item-no,
        .item_detail_layout > .detail_box .item_box .item-no {
            color: #0e0a32;
            background-color: #d9dff0;
        }

        .cart-top .cart_total_box dl.total dd,
        .total-price-box li.total .detail {
            color: #e44291;
        }

        .cart-top .cart_box_price {
            border-left: solid 1px #0e0a32;
            padding-left: 1em;
        }

        .tyuui {
            border: none; 
            background-color: rgba(235, 121, 171, 0.2);
            color: #e44291;
        }

        .cart-step2 .address-content .error {
            color: #e44291;
        }

        .item_detail_layout {
            background-color: #fff;
            padding: 30px;
            border-radius: 12px;
        }

    /*pop up*/    
        #modalItemDetailBody .inner {
            background-color: transparent;
        }

        #modaal_delivery_list_content .delivery_card {
            background-color: #d9dff0;
            color: #0e0a32;
        }

    /*individual settings*/
        .cart-top .cart_total_box dl.total dd {
            color: #e44291;
        }

        .cart-top .no-cart-message {
            border: 1px solid #ccc;
        }

        .cart-top .cart_total_box {
            background-color: #fff;
            border-radius: 10px;
        }

        .cart-step2 .address-box .address-list .text{
            background-color: #fff;
            border: solid 1px #0e0a32;
        }

        .cart_point_box label {
            background-color: #d9dff0;
            color: #0e0a32 !important;
        }

        .cart_point_box label.on {
            background-color: #d9dff0;
            color: #0e0a32 !important;
        }

        .btn_point {
            background-color: #e44291;
        }

        .cart-step2 .add-delivery-box {
            color: #0e0a32 !important;
            border: solid 1.5px #a1afd9 !important;
            border-radius: 7px;
            background-color: transparent;
            width: 30%;
        }

        .cart-step2 .address-box .address-list .text{
            width: 60%;
        }

        .cart-step4 .item-wrapper .schedule-date-box .date-limit {
            color: #e44291;
        }

        #cart_confirm_payment_method dt.on,
        #cart_confirm_payment_method dd.on {
            border-radius: 7px;
        }

        .cart-step4 .item-wrapper .schedule-date-box .title a,
        .draft_layout .draft_type .help a {
            color: #e44291;
        }

        .draft_layout .draft_upload .number_list li {
            border-bottom: none;
        }

        label.btn_file {
            background: #d9dff0;
            color: #0e0a32;
            margin: 0 0 0 10px;
        }

        .download_link p {
            border: none;
        }

        .draft_layout .draft_upload .number_list {
            padding: 20px;
            background-color: #fff;
            border-radius: 10px;
        }

        .draft_layout .draft_outside {
            padding: 20px;
            background-color: #fff;
            display: flex;
            border-radius: 10px;
            border: none;
        }
        
        .draft_layout {
            margin: 20px 0 60px 0;
        }

        #zeus_token_card_info_area {
            padding: 30px !important;   
            border-radius: 10px;
            border: none !important;
            background-color: #fff !important;
            box-sizing: border-box !important;
        }

    /*flow_navi*/
        /* common */
        #in2cart_flow_navi ul li span {
            background-color: transparent;
            border: solid 1.5px #0e0a32;
            border-radius: 5px;
            color: #0e0a32;
            font-size: 0.8em;
        }

        #in2cart_flow_navi ul li.arrow,
        #in2cart_flow_navi ul li.not,
        #in2cart_flow_navi ul li.active,
        #in2cart_flow_navi ul li.success {
            background-color: transparent;
            border-top: 0;
        }

        /* arrow */
            #in2cart_flow_navi ul li.arrow i {
                color: #0e0a32;
            }

            #in2cart_flow_navi > ul > li:nth-child(2),
            #in2cart_flow_navi > ul > li:nth-child(4),
            #in2cart_flow_navi > ul > li:nth-child(6) {
                opacity: 0.2 !important;
            }

            /* activeの隣のみ1.0に */
            #in2cart_flow_navi > ul > li.active + li {
                opacity: 1.0 !important;
            }

        /* not, success */
            #in2cart_flow_navi ul li.not span,
            #in2cart_flow_navi ul li.success span {
                border: 1.5px solid #ccc;
                background-color: transparent;
                color: #ccc;
            }

            #in2cart_flow_navi ul li.success a {
                color: #ccc;
            }

            #in2cart_flow_navi ul li.success{
                border-bottom: 1px solid #ccc;
            }
            

        /* active */
        #in2cart_flow_navi ul li.active {
            color: #0e0a32;
            border-bottom: 3px solid #e44291;
        }

        #in2cart_flow_navi ul li.active span {
            background-color: transparent;
        }

        /* icon */
        #in2cart_flow_navi ul li.active i,
        #in2cart_flow_navi ul li.success i,
        #in2cart_flow_navi ul li.not i {
            display: none;
        }

        
    #in2cartPriceBoxText.text {
        color: #e44291;
    }

    .name .help {
        background-color: #e44291 !important;
    }

    .modaal-content-container div.modaal-title {
        background-color: #a1afd9;
    }

    .modaal-content-container > .close:hover {
        background-color: #fff;
        color: #a1afd9;
    }

    .mypage_page_infomation {
        background-color: transparent;
    }

    /*payment*/
        #cart_confirm_payment_method dt.on,
        #cart_confirm_payment_method dd.on {
            background-color: #fff;
        }


    /*price table*/
        table td,
        table th {
            border: 0.5px solid #0e0a32;
        }

        #in2cartPriceTableScrollRight,
        #in2cartPriceTableScrollLeft{
            background-color: #a1afd9!important;
        }

        #in2cart_price_table th.diagonal-header::before {
            transform: skewY(25deg)!important;
            border-top: 0.5px solid #0e0a32!important;
        }

        #in2cart_price_table a,
        #in2cart_price_table .tanka {
            color: #7d707e !important;
        }

        #in2cart_price_table td.quantity .cross,
        #in2cart_price_table td.cross {
            background-color: #fff!important;
        }

        #in2cart_price_table td.quantity .cross a,
        #in2cart_price_table td.cross a,
        #in2cart_price_table td.cross .tanka {
            color: #0e0a32!important;
        }

        #in2cart_price_table .tanka,
        #in2cart_price_table td.cross .tanka {
            font-size: 0.85em!important;
        }

        #in2cart_price_table > thead > tr > th {
            background-color: #d9dff0;
            font-weight: 400;
        }

        #in2cart_price_table th.quantity .day {
            font-weight: 400!important; 
            background-color: #fff;
            color: #0e0a32;
            padding: 3px 8px;
            border-radius: 20px;
            font-size: 0.9em;
        }

        #in2cart_price_table td.selected{
            background-color: rgba(235,121,171,0.8)!important;
        }

        #in2cart_price_table td.selected a {
            color: #fff!important;
            font-weight: normal!important;
            font-size: 1.2em;
        }

        #in2cart_price_table td.selected .tanka{
            color: #fff!important;
            font-weight: normal!important;
            font-size: 1em;
        }
    
    /*tax*/
        .product_form .product_form_price .price_tanka_info label span {
            color: #0e0a32;
        }    

/*calculator*/

    .cal_selectpaper {        
        display: block;
        width: 250px !important;
        height: 40px !important;
        margin: 0 0 25px 10px;
    }  

    input.cal_sehaba { 
        display: inline-block;
        box-sizing: border-box;
        width: 100px !important;
        height: 40px !important;
        padding: 0 10px !important;
    }


    input.cal_submitbtn{
        display: inline-block;
        font-size: 1.2em;
        padding: 5px 20px;
        margin: 20px 0px 20px 10px;
        background-color: #d9dff0;
        border: solid 2px #d9dff0;
        border-radius: 7px;
        color: #0e0a32;       
    }

    @media (hover: hover) {
        input.cal_submitbtn:hover {
            background-color: #fff;
            border: 2px solid #a1afd9;
        }
    }


    @media (hover: none) {
        input.cal_submitbtn:active {
            transform: scale(0.9);
        }
    }

    .cal-bg{
        display: inline-block;
        padding: 30px 30px;
        margin: 20px 65px;
        border-radius: 15px;
        border: solid 3px #a1afd9;
        width: 340px;
        background: linear-gradient(#fff) padding-box,
                    linear-gradient(#e44291, #a1afd9) border-box;
        border: 3px solid transparent;
    }


    #cal-form dl {
        text-align: center;
    }

    #cal-form dl dt {
        line-height: 40px;
        float: left;
    }

    #cal-form dl dd {
        padding: 0 0 10px 0;
        margin: 0;
    }

    #sehaba1,
    #sehaba2 {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    #sehaba1 > img,
    #sehaba2 > img {
        max-width: 30%;
        height: auto;
    }

/*template*/

    .table_tmp01 {
        border-collapse: collapse;
        table-layout: fixed;
        width: 100%;
        text-align: center;
        border: none;
    }

    .table_tmp01 th,
    .table_tmp01 td {
        border: none;
        border-bottom: 1px solid #d9dff0;
    }

    .table_tmp01 thead th {
        background-color: #d9dff0;
        border-right: 5px solid #fdf9ee;
    }
    
    .table_tmp01 tbody th,
    .table_tmp01 tbody td {
        color: #0e0a32;
        font-weight: bold;
        text-align: center;
        background-color: #fdf9ee;
        padding: 30px 0px;
    }

    @media screen and (max-width: 1024px) {
        .table_tmp01 {
            text-align: left;
            max-width: 100%;
        }
        .table_tmp01 thead {
            display:none;
        }

        .table_tmp01 th,
        .table_tmp01 td {
            display: block;
            padding: 15px 0px !important;
        }

        .table_tmp01 tbody th{
            background: #d9dff0;
            color:#0e0a32;
        }
    }

/*anchor link adj*/
       #color_desc{
          scroll-margin-top: 12rem;
        }



/*mobile*/
    @media screen and (max-width: 1024px) {
    /*font size adj*/
        body {
            font-size: 1.2em;
            line-height: 2;
        }

        /*title*/
        section.page h2.headline {
            margin: 20px 0 30px 5px;
            font-size: 1.4em;
        }

        .page.products h2.headline {
            margin: 20px 5px;
            font-size: 1.2em;
        }


        section.page h2.sub_title {
            font-size: 1.2em;
        }

        section.page h3 {
            font-size: 1.3em;
            display: block;
            width: fit-content;
            margin: 0 0 20px 0;
            line-height: 1.3;
        }

        .top_1column .h3_headline {
            font-size: 1.3em;
        }
        section.page h5,
        section.page h4 {
            font-size: 1.1em;
        }

        .box_imp{
            font-size: 1em;
        }

        .breadcrumb {
            font-size: 0.9em;
            margin: 10px 0 0 5px;
        }

        .thecontent ul li,
        .thecontent ol li,
        .products_list_level2 ul li {
            margin-left: 10px;
        }

        /*top modoru*/
        .pagetop a {
            padding: 5px 0 0;
        }

        .fnt15 {
            font-size: 1em;
        }

        .fnt12 {
            font-size: 1em;
        }

        .product_size_list {
            font-size: 0.8em;
        }



        #filter_box .filter_items .filter_items_top .name {
                        font-size: 1em;
                    }

        .product_form .product_form_cart #filter_box .filter_items .filter_items_top .name, 
        .product_form .product_form_cart #filter_box .filter_items .filter_items_top .choice,
        .product_form .product_form_cart #filter_box .filter_items .filter_items_top .choice select{
                font-size: 0.9em;
        }
    }

    @media screen and (max-width: 1024px) {
    /*margin adj*/
        .ml20,
        .ml30,
        .ml40 {
            margin-left: 5px !important;
        }

        .ml50 {
            margin-left: 40px !important;
        }

        .mr20,
        .mr30,
        .mr40 {
            margin-right: 5px !important;
        }

        .box_hint ol,
        .box_hint ul {
            padding: 10px 0px 0px 0px !important;
            margin-bottom: 0.5em;
        }
        
        

        #main > section > div > div > div.wrap > ol > li:nth-child(10) > ul.nomal-list.mb20,
        #main > section > div > div > div.wrap > ol > li:nth-child(10) > ul:nth-child(3) > li:nth-child(4){
            padding: 0 !important;
        }

        .thecontent{
            margin-left: 0px!important;
        }

        .box_hint {
            padding: 1em 0.7em 0 1.3em;
        }

        .other_links .box ul li::after {
            vertical-align: 0.05em;
        }

        #main > section > div > div > dl > dd:nth-child(2) > ul{
            line-height: 0;
            padding-top: 1em;
        }

        .cart-step2 .address-box .address-list .text{
            width: 100%;
            white-space: keep-all;
        }

        .cart-top h3.cart-title {
            width: auto;
        }

        .copyright img {
            top: -5px;
        }


    }



    @media screen and (max-width: 1024px) {
    /*top*/
        .top_container{
                padding: 1em;
                margin-top: 0;
            }

        /*sp用*/   
        @media screen and (max-width: 767px){
            .top-slider_pc{
                display: none!important;
            }

            .top-slider_sp {
                display: block;
                box-sizing: border-box
            }
        }

        @media screen and (max-width: 767px){
            .top_container h2{
                display: flex;
                justify-content: center;
                text-align: center;
                padding: 0;
                font-size: 1.3em;
                line-height: 1.7;
                box-sizing: border-box
            }
            

            ul.top-list li {
                line-height: 1.5;
                padding: 1em 0 0 0em;
            }

            .top_container p {
                line-height: 1.8;
                padding: 0.5em 0 0.8em 0;
            }


        }

    }

    @media screen and (max-width: 1024px) {
    /*calendar*/
        #mobile_calendar{
                display: block;  
            }

        .title_date {
                border-top: 1px solid #fff;
            }

        /*line overlap*/
        table.in2cart_calendar {
                border-collapse: separate;
                border-spacing: 0 2px;
                border: none;
            }

        /*line adj*/
        table.in2cart_calendar td.holiday {
                box-shadow: inset 0 0 0 1.8px #e44291;
            }
        table.in2cart_calendar td.today {
                box-shadow: inset 0 0 0 1.8px #a1afd9;
            }

        .m_calendar{
                justify-content: center;
                width: 100%;
                height: auto;
                box-sizing: border-box;
            }

        /*2column*/
        .m_calendar_inner{
            display: flex;
            flex-direction: row;
            align-items: flex-start;
            justify-content: center;
        }


        #mobile_calendar > div.m_calendar > div > div{
            min-width: 300px;
            margin: 0 1em 0em 1em;
            display: flex;
            flex-direction: column;
            align-items: center;
            background-color: #fff;
            border-radius: 22px;
            border: solid 1.5px #d9dff0;
        }

        

            /*sp用 1column*/   
            @media screen and (max-width: 767px){    
                .m_calendar_inner{
                    display: block;
                }

                #mobile_calendar > div.m_calendar > div > div{
                    margin: 0 1em 2em 1em;
                    width: auto;
                }          
            }

        .m_calendar_inner{
            margin: 0 0.5em;
        }

        #mobile_calendar > div.m_calendar > h3{
            font-size: 1.2em;
            text-align: left!important;
            padding-left: 2em;
        }


        #mobile_calendar > div.m_calendar > div > div > span {
            padding: 0.2em 0 0 0.8em;
            font-size: 1.1em;
        }

        /*holiday*/
        #mobile_calendar > div.m_calendar > div > div > table > tbody > tr > td {
            padding: 0.3em 0.35em;
        }

        .m_calendar_inner table.in2cart_calendar {
            min-width: fit-content;
        }

        #mobile_calendar > div.calendar_readme > ul{
            padding-right: 2.5em;
        }

        #mobile_calendar > div.calendar_readme > ul > li:nth-child(4){
            margin-left: 0;
        }

    }
        
    @media screen and (max-width: 1024px) {
    /*header*/
        header > .inner {
            width: auto;
        }    

        header .top .inner {
            min-height: 80px;
        }

        body.side header .top .inner #hamburger,
        body.side header .top .inner .right{
            width: 20%;
        }

        body.side header #hamburger {
            padding: 10px 0 0 25px;
        }

        header .top .inner .left {
            width: 60%;
            padding: 30px 0px 15px 0;
        }

        header .top .inner .right {
            padding: 9px 0 0 0;
        }

        header .top .inner .right ul {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            height: 100px;
            padding: 0 10px 0 0;
            margin-top: 0.3em;
        }

        header .top .inner .right ul li > a span.icon i {
            font-size: 1.5em;
            padding: 0 0 10px 0px;
        }

        header .top .inner .right ul > li {
            padding: 0px 3px;

        }

        .sp_show {
            display: inline-block;/*logo*/
        }

        header h2.logo {
            padding: 0;
        }

            /*sp用*/
            @media screen and (max-width: 767px){
                header h2.logo {
                    max-width: 230px;
                }
            }

        header .bottom .inner .right {
            display: none;
        }

        .layout_content {
                margin: 0;
            }
        

        header ul#menu-header li > a {
            font-size: 1.1em;
            height: 40px;
            padding: 0 5px;
        }
    
    }

    @media screen and (max-width: 1024px) {
    /*img & btn*/
        .thecontent img,
        .top_container img,
        .zoom-open-btn_mobile-only img,
        .modaal_body img,
        .btn01 {           
            display: flex;
            justify-content: center;
            width: 100%;
            height: auto;
            box-sizing: border-box;
        }

        #headerMenuPanel_0 img,
        #headerMenuPanel_2 img {
            min-width: 100%;            
        }

        /*sp用*/
        @media screen and (max-width: 767px){
            #headerMenuPanel_0 img,
            #headerMenuPanel_2 img{
                            width: 80%;
                        }
            }

        #color_desc {
            padding-top: 0; 
            margin-top: 0; 
        }

    /*img zoom mobile-only*/

        /* スマホのみクリックできることを示すポインターにする */
        .zoom-open-btn_mobile-only {
            cursor: pointer;
            pointer-events: auto;
        }

        /* 拡大時の背景（最前面に配置） */
        .zoom-overlay_mobile-only {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.6);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 999999;
            opacity: 0;
            transition: opacity 0.3s ease;
            display: none; 
        }
        

        /* 拡大画像自体のサイズ調整 */
        .zoom-large-img_mobile-only {
            max-width: 90%;
            max-height: 90%;
            object-fit: contain;
            box-shadow: 0 0 20px rgba(0,0,0,0.5);
        }

        /* 画像がタップされてチェックが入ったら、拡大画面を表示する */
        [id^="zoom-trigger_mobile-only"]:checked ~ .zoom-overlay_mobile-only {
            display: flex;
            opacity: 1;
        }
    
    /*notice*/
        header .notice .info,
        header .notice .title {
            width: fit-content;
        }


        header .notice{
            width: 100%;
        }

        header .notice .btn {
            position: absolute;
            top: 0px;
            right: 10px;
        }

        header .notice .btn i {
            font-size: 1.2em;
        }

    /*contents*/
        #contents {
            width: 100%;
        }

        .top_1column  {
            width: 100%;
            padding: 1em;
            margin: 30px 0px !important;
            border-radius: 0px;
        }

        .top_wrap {
            padding: 0 0 30px 0px;
        }

        .n2_clear,
        .ss3-force-full-width {
            display: flex;
            justify-content: center;
        }

        .n2-ss-align {
            width: 100%;
            margin: 0 10px;
        }

        .content-box .thecontent .children_list {
            justify-content: center;
        }

        .content-box .thecontent .children_list .wrap:nth-child(4n) {
            margin-right: 0px;
        }

    }



    @media screen and (max-width: 1024px) {
    /*side menu*/
        #sideOverlay {
            background: rgba(0, 0, 0, 0.4);
        }

        /*side*/

        #side {
            height: auto !important; 
            max-height: calc(100vh - var(--menu-top, 60px)) !important; /* フォールバック */
            max-height: calc(100dvh - var(--menu-top, 60px)) !important; 
            overflow-y: auto !important; 
            -webkit-overflow-scrolling: touch;
            border-radius: 0;
        }

        #side .sidebox {
            background-color: rgba(253,249,238,0.7);
            padding: 10px 0;
            border-radius: 0;
        }

        #side .navi {
            padding: 10px 0;
            overflow: auto;
            width: 300px;
        }

        #side.side-menu-show {
            margin: 0 0 0 80px;/*left adj*/
            padding: 0 10px;
            width: fit-content;
        }

        #main aside {
            background: #fdf9ee;
            left: -300px;
        }       

        #side ul > li {
            margin-bottom: 0.3em;
        }

        #hamburger span {
            border-bottom: solid 3px #e44291;
        }

        #hamburger.open span {
            border-color: #e44291;
        }

        #side ul.menu > li > a{
            margin: 0px;
            background-color: #fff;
        }

        #sideMenuHeader > li:nth-child(1) > a > span:after,
        #sideMenuHeader > li:nth-child(4) > a > span:after {
            content: "\f078";
            font-family: "Font Awesome 6 Pro";
            transition: transform 0.3s ease;
            margin-left: 0.5em;
        }

        /* 追加分：対象外なのにnth-childで記号が付いてしまう場合は消す */
        #sideMenuHeader > li:nth-child(1):not(.has-caret) > a > span:after,
        #sideMenuHeader > li:nth-child(4):not(.has-caret) > a > span:after {
            content: none !important;
        }

        /* 追加分：テキスト判定で正しい対象に記号を付ける */
        #sideMenuHeader > li.has-caret > a > span:after {
            content: "\f078";
            font-family: "Font Awesome 6 Pro";
            transition: transform 0.3s ease;
            margin-left: 0.5em;
            display: inline-block;
        }

        #sideMenuHeader > li.has-caret.is-open > a > span:after {
            transform: rotate(180deg) !important;
        }

        #sideNavChildrendMenuPanel_1 .products_list_level1,
        #sideNavChildrendMenuPanel_2 .products_list_level1 {
            padding: 0 0 0 0px;
            display: none;
        }

        #sideMenuHeader nav {
            margin: 10px 0 0 0;
            width: fit-content;
        }

        #side > div > div > h3, /*title*/
        #side > div > div > div.calendar,
        #side > div > div > div.calendar_readme {
            display: none;
        }

    
        /*submenu*/
        #header_submenu nav.children {
            width: auto !important;
        }

        #header_submenu nav.children .close_btn.circle {
            position: absolute;
            margin-right: 0;
        }

        #header_submenu nav.children h3 {
            padding: 0;
            margin: 0;
            text-align: center;
            font-size: 1.2em;
        }

        .children_list .wrap .item_name {
            font-size: 1em;
        }

        
        .children_list .wrap {
            width: 30%;
        }

        .children_list .wrap {
            margin: 0 !important;          
        }  

        .children_list .wrap:nth-child(3n),
        .children_list .wrap:nth-child(4n) {
            margin-right: 0.2em !important;
        }       

        #sideNavChildrendMenuPanel_1 > div > div > div.children_list > div > a > img,
        #sideNavChildrendMenuPanel_2 > div > div > div.children_list > div > a > img {
                display: none;
            }

        body #side .children_list .wrap {
                width: fit-content ;
                height: auto;
                margin: 0 0 0.5em 1em !important;
            }

        #sideNavChildrendMenuPanel_1 > div > div > div.children_list > div,
        #sideNavChildrendMenuPanel_2 > div > div > div.children_list > div,
        #sideNavChildrendMenuPanel_1 > div > div > div.children_list,
        #sideNavChildrendMenuPanel_2 > div > div > div.children_list {
                display: -webkit-flex;
                display: flex;
                flex-wrap: wrap;
                flex-direction: column;
                align-items: flex-start !important;
        }

        #mobile-top-menu > div > ul > li {
                width: fit-content;
                font-size: 0.9em;
                color: #0e0a32;
                margin: 0!important;
            }

        .children_list .wrap a,
        .children_list .wrap .item_name {
                font-size: 0.9em;
                color: #0e0a32;
            }

    }

    @media screen and (max-width: 1024px) {    
    /*product*/
        .products_list_level1 {
            padding: 0px;
        }    

        .products_list_level1 .box {
            display: inline-block;
            min-width: 250px;
            height: auto;
            margin: 5px 5px 20px 5px;
        }

        .products_list_level1 .product_box {
            display: -webkit-flex;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 2em;
        }

        .products_list_level1 .box:nth-child(1n){
            padding: 0px;
        }

        .products_list_level1 .box:nth-child(even) {
            margin-right: 5px;
        }

    /*price open & close*/
        span.sp_show.price-tb-open .fa-solid.fa-grid {
            color: #e44291 !important;
        }

        .product_form .product_form_price .product_form_price_table 
        #in2cartPriceTableWrapper .price-tb-close {
            background-color: #e44291;            
        }

        .product_form .product_form_price .product_form_price_table 
        #in2cartPriceTableWrapper .price-tb-close i {
            position: absolute;
            left: 0.4em;
            top: 0.3em;
        }

    /*price table*/
        #in2cart_price_table th.diagonal-header::before {
            transform: skewY(42deg)!important;
        }

        /*#in2cart_price_table td {
            background-image: linear-gradient(#fdf9ee, #fdf9ee) !important;
        }*/

        #in2cart_price_table td.quantity .cross,
        #in2cart_price_table td.cross {
            background-color: #fdf9ee!important;
        }

        #in2cart_price_table td.selected{
            background-color: rgba(235,121,171,0.8)!important;
        }


        #in2cartPriceTableWrapper {
            height: 100%!important;
        }

        #in2cart_price_table > thead > tr > th {
            background-color: #d9dff0!important;
        }

    /*calculator*/
        .cal-wrap{
            display: flex;
            justify-content: center;
        }
        
    /*footer*/
        footer .top {
            width: auto;
        }

        footer .top .navi .menu .menu-item > a {
            font-size: 1em;  
        }

        footer .top .navi .menu .menu-item > a + ul.sub-menu li {
            width: 100%;
            font-size: 0.9em;  
        }

       .cookie_privacy {
            width: 100%;
        }

    }


/*sp用*/
    @media screen and (max-width: 767px){

        .children_list .wrap:nth-child(3n),
        .children_list .wrap:nth-child(4n) {
            margin-right: 0 !important;
        }           
        
        #main > section > div > div > div.children_list {
            display: -webkit-flex;
            display: flex;
            flex-wrap: wrap;
            flex-direction: column;
            align-items: center;
        }

        .children_list .wrap {
            min-width: 80%;
        }

    /*top cart & login icon*/
        header .top .inner .right nav.navi ul.menu > li > a {
            top: 0;
        }
        
        header .top .inner .right nav.navi ul.menu > li:first-child > a {
            top: 5px;
        }

        header .top .inner .right nav.navi ul.menu > li {
            padding-top: 10px;
        }



    /*cart*/
        .cart-top .cart_box_price {
            background-color: transparent;
            border-left: none;
            border-top: solid 1px #0e0a32;
            padding-left: 0;
        }

        .cart-top .cart_box_gawa:last-child {
            margin: 0;
        }

        .cart-step2 .add-delivery-box {
            width: auto;
        }
    /*margin & padding adj*/
        .thecontent ol li,
        .thecontent ul li,
        .products_list_level2 ul li {
            padding-bottom: 1em;
        }
    }

        

