/**
 * ORTHODOXEE CSS
*/

/** 共通 */
body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    color: #000;
}
#content .ec-pagerRole {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}
#content .ec-pager .ec-pager__item, #content .ec-pager .ec-pager__item--active {
    margin: 0;
}
.pc_only {
    display: block;
}
.sp_only {
    display: none;
}
@media (max-width: 768px) {
    .pc_only {
        display: none;
    }
    .sp_only {
        display: block;
    }
}

/**
 * 絞り込み検索
*/
.search_product_block {
    display: flex;
    flex-direction: column;
}
.search_product_block .search_product_block_title {
    padding-bottom: 10px;
    border-bottom: 2px solid #9B1C15;
}
.search_product_block .search_product_block_title .search_product_block_title_text {
    font-size: 22px;
    font-weight: 500;
    line-height: 36px;
    margin-bottom: 5px;
}
.search_product_block .search_product_block_title .search_product_block_title_description {
    font-size: 18px;
    font-weight: 350;
    line-height: 26px;
}
.search_product_block .search_product_block_title .search_product_block_title_description.hidden {
    display: none;
}
.search_product_block .search_product_block_title .search_product_block_title_button.hidden {
    display: none;
}
#content .search_product_block .search_product_block_title .search_product_block_title_button button {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
    background-color: unset;
    width: 100%;
    padding: 3px 0;
}
.search_product_block {
    display: flex;
    /* gap: 10px; */
}
.search_product_block .search_product_section {
    padding: 8px 0 12px;
    border-bottom: 2px solid #9B1C15;
}
.search_product_block .search_product_section_title {
    font-size: 22px;
    font-weight: 500;
    line-height: 36px;
    margin-bottom: 10px;
}
.search_product_section_items {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 4px;
}
.search_product_section_items label {
    font-size: 22px;
    margin-bottom: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
}
.search_product_section_items input[type="checkbox"] {
    position: relative;
    border-radius: 8px;
    border: 2px solid #9B1C15!important;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    -webkit-appearance: none;
    appearance: none;
}
.search_product_section_items input[type="checkbox"]:checked {
    background: #9B1C15;
}
.search_product_price {
    margin-left: 12px;
    display: flex;
    gap: 10px;
}
.search_product_price_min, .search_product_price_max {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 20px;
    font-weight: 350;
    line-height: 46px;
    flex-wrap: wrap;
}
.search_product_price_min span, .search_product_price_max span {
    margin-left: auto;
}
.search_product_price input[type="number"] {
    /* width: 80px; */
    padding: 2px 4px;
    font-size: 13px;
    border-radius: 8px;
    border: 2px solid #868686;
    width: 180px;
    height: 48px;
}
.search_product_block_button {
    padding: 22px 0;
    border-bottom: 2px solid #9B1C15;
    margin-bottom: 12px;
}
.search_product_block_button button {
    width: 100%;
    text-align: center;
    border-radius: 8px;
    background: #192B50;
    color: #fff;
    border: none;
    padding: 8px 0 10px;
    font-size: 20px;
    font-weight: 500;
    line-height: 22px;
    white-space: nowrap;
}
.search_product_keyword {
    border-bottom: 2px solid #9B1C15;
    border-top: 2px solid #9B1C15;
    padding: 22px 0;
    margin-bottom: 12px;
    position: relative;
}
.search_product_keyword input[type="text"] {
    border-radius: 35px;
    border: 2px solid #868686;
    background: #FFF;
    padding: 17px 42px 17px 47px;
    color: #858585;
    font-size: 16px;
    font-weight: 400;
    width: 100%;
}
.search_product_keyword::before {
    content: '';
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 18.52px;
    height: 18.52px;
    background-image: url(../img/common/search_icon_black.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
}
.product_list_container .search_product {
    width: 25%;
    min-width: 170px;
}
@media (max-width: 900px) {
    .search_product_block_button button {
        font-size: 18px;
    }
    .search_product_section_items label {
        font-size: 18px;
    }
    .search_product_keyword input[type="text"] {
        font-size: 16px;
    }
}
@media (max-width: 768px) {
    .search_product_block {
        /* display: none; */
    }
    .product_list_container .search_product {
        width: 100%;
    }
    .page .product_list_container .search_product {
        margin-top: 3rem;
        margin-bottom: -2.5rem;
    }
    .product_list_container.search_results .search_product {
        display: none;
    }
    .product_list_container .search_product  form.searchform {
        display: none;
        transition: display 0.3s ease;
        background-color: #f8e4cb;
        padding: 0 10px;
        margin-bottom: 1rem;
    }
    .product_list_container .search_product.active form.searchform {
        display: block;
        transition: display 0.3s ease;
    }
    .search_product_block .search_product_block_title {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 1rem;
    }
    .product_list_container .search_product.active .search_product_block_title {
        margin-bottom: 0;
    }
    .search_product_block .search_product_block_title .search_product_block_title_text {
        text-align: center;
        background-color: #f8e4cb;
        cursor: pointer;
        margin-bottom: 0;
    }
    .search_product_block .search_product_block_title .search_product_block_title_text:after {
        content: '';
        display: block;
        width: 100%;
        height: 20px;
        background-image: url(../img/common/chevron-down-solid.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        transition: transform 0.3s ease;
    }
    .product_list_container .search_product.active .search_product_block_title .search_product_block_title_text:after {
        transform: rotate(180deg);
        transition: transform 0.3s ease;
    }
    .search_product_block .search_product_block_title .search_product_block_title_description {
        display: none;
    }
    .search_product_block .search_product_section_title {
        text-align: center;
    }
    .search_product_section_items {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
    }
}

/**
 * header navi
 * footer navi
 */
.navi-cover .page-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0px;
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}
.footer .page-nav {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    max-width: 1600px;
    margin: 0 auto;
}
@media (max-width: 1205px) {
    .navi-cover .page-nav {
        padding: 0 10px;
    }
}

/**
 * ヘッダー
 */
.header {
    background-color: #192B50;
    display: flex;
    flex-direction: column;
}
.header .header_top {
    padding: 3px 0 2px;
    display: flex;
    justify-content: center;
}
.header .header_top p {
    color: #FAF7F0;
    font-size: 14px;
}
.header .header_border {
    height: 4px;
    background: #9B1C15;
    width: 100%;
    margin-bottom: -1px;
}
.header .header_bottom {
    display: flex;
    position: relative;
    justify-content: space-between;
    align-items: center;
    color: #FAF7F0;
    font-size: 18px;
}
.header .header_bottom_left {
    margin-left: 20px;
    padding-top: 7px;
    padding-bottom: 12px;
    z-index: 2;
}
.header .header_bottom_center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 7px;
    padding-bottom: 12px;
    z-index: 1;
}
.header .header_bottom_right {
    display: flex;
    padding-bottom: 5px;
    z-index: 2;
}
.header .header_bottom_right_order {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5.61px;
    padding: 17px 20px 24px;
}
.header .header_bottom_right_store {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5.85px;
    padding: 17px 15px 19px;
    background-color: #9B1C15;
}
.header .header_bottom_right_search {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.48px;
    padding: 17px 20px 24px;
}

/**
 * トップページ
 */
.toppage {
    margin-top: 90px;
    background-color: #FAF7F0;
}
.toppage .toppage_slider {
    background: repeating-linear-gradient(
        to bottom,
        #F3EEE3 0px,
        #F3EEE3 4px,
        #FAF7F0 4px,
        #FAF7F0 8px
    );
    padding-bottom: 22px;
}
.toppage .toppage_slider .slider_title {
    color: #000;
    text-align: center;
    font-family: "League Spartan";
    font-size: 54px;
    font-weight: 300;
    /* padding: 40px 0 26px; */
    padding: 38px 0 28px;
    line-height: 0.9;
}
.toppage_slider .slick-slide {
    margin: 0 3px;
    text-decoration: none;
}
.toppage_slider .slick-slide img {
    width: 100%;
    /* height: 396px; */
    aspect-ratio: 1/1;
    object-fit: cover;  /* 画像のアスペクト比を保ちながら領域を埋める */
    border-radius: 8px;
    margin-bottom: 10px;
}
.toppage_slider .product-info {
    /* padding: 10px; */
    text-align: center;
    color: #000;
    text-align: center;
    font-size: 18px;
    font-weight: 350;
    line-height: 24px; /* 133.333% */
}
@media (max-width: 768px) {
    .toppage .toppage_slider .slider_title {
        font-size: 40px;
    }
}

/**
 * トップページ　ナビゲーション
 */
#choose_by_categories {
    scroll-margin-top: 150px; /* ヘッダー高さ + 余裕分 */
}
#choose_by_collection {
    scroll-margin-top: 100px; /* ヘッダー高さ + 余裕分 */
}
#choose_by_illustration {
    scroll-margin-top: 100px; /* ヘッダー高さ + 余裕分 */
}

/**
 * トップページ　商品一覧
 */
.ec-searchnavRole__actions {
    /* float: right; */
    height: 5rem;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    margin-bottom: 1rem;
}
.ec-searchnavRole__actions .ec-select {
    margin-bottom: 0;
}
.ec-searchnavRole__actions .ec-select select {
    border-radius: 8px;
    border: 2px solid #868686;
    color: #000;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    line-height: 32px; /* 177.778% */
}
.product_list_container {
    display: flex;
    gap: 16px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 35px 0 40px;
    /* padding: 35px 20px 40px; */
    border-top: 4px solid #9B1C15;
    position: relative;
}
.product_list_container .product_list {
    width: 75%;
}
.product_list_container .product_list.search_results {
    width: 100%;
}
.product_list_container .product_list .product_list_title {
    font-family: "League Spartan";
    font-size: 54px;
    font-weight: 300;
    line-height: normal;
    margin-top: 10px;
    margin-left: 40px;
    margin-bottom: 40px;
}
.page .product_list_container .product_list .product_list_title {
    margin-left: 0;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    margin-top: 35px;

}
.product_list_container .product_list .product_list_content_row {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.product_list_container .product_list .product_list_content_row .product_list_content_item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none;
    color: #000;
    margin-bottom: 16px;
}
.product_list_container .product_list .product_list_content_row .product_list_content_item:hover .product_list_content_item_image img {
    /* opacity: 0.7; */
    display: block;
    transition: transform 0.3s ease;
    transform: scale(1.1);
}
.product_list_container .product_list .product_list_content_row.product_row2 .product_list_content_item {
    width: calc(50% - 4px);
}
.product_list_container .product_list .product_list_content_row.product_row3 .product_list_content_item {
    width: calc(33.333333333333336% - 5.333333333333333px);
}
.product_list_container .product_list .product_list_content_row.product_row4 .product_list_content_item {
    width: calc(25% - 6px);
}
.product_list_container .product_list .product_list_content_item_image {
    width: 100%;
    aspect-ratio: 218/219;
    object-fit: cover;
    border-radius: 8px;
    overflow: hidden;
}
.product_list_container .product_list .product_list_content_item_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    aspect-ratio: 218/219;
    transition: transform 0.3s ease;
}
.product_list_container .product_list .product_list_content_item_name {
    text-align: center;
    font-size: 24px;
    font-weight: 250;
    font-family: "Noto Sans JP";
    letter-spacing: 0;
}
.product_list_container .product_list .product_list_content_product_name {
    color: #000;
    text-align: center;
    font-size: 22px;
    font-weight: 450;
}
.product_list_container .product_list .product_list_content_product_description {
    color: #000;
    font-size: 18px;
    font-weight: 350;
    line-height: 24px;
    margin-top: auto;
}
.product_list_container .product_list .product_list_content_product_price {
    color: #000;
    font-size: 18px;
    font-weight: 350;
    line-height: 24px;
    text-align: right;
}
.search_result_container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 15px;
}
.search_result_container .ec-searchnavRole__actions {
    align-self: end;
}
.search_result_container .ec-searchnavRole__actions .ec-select {
    margin-bottom: 0;
}
.search_result_container .search_result_container_left .search-form {
    margin-bottom: 8px;
}
.product_list_container .product_list .search_result_container .product_list_title {
    /* margin: 0; */
}
.search_result_container .search_result_text {
    font-size: 22px;
    font-weight: 500;
    line-height: 36px;
}
@media (max-width: 1220px) {
    .product_list_container {
        padding: 35px 20px 40px;
    }
}

@media (max-width: 1000px) {
    .product_list_container .product_list .product_list_content_row.product_row4 .product_list_content_item {
        width: calc(33.333333333333336% - 5.333333333333333px);
    }
}

@media (max-width: 820px) {
    .product_list_container .product_list .product_list_title {
        font-size: 36px;
    }
    .search_result_container {
        margin-top: 2.5rem;
    }
}
@media (max-width: 768px) {
    .product_list_container {
        padding: 20px 10px;
        flex-direction: column;
    }
    .product_list_container.search_results {
        flex-direction: column-reverse;
    }
    .product_list_container .product_list {
        width: 100%;
    }
    .product_list_container .product_list .product_list_title {
        margin-bottom: 15px;
        margin-left: 10px;
        margin-top: 0px;
        font-size: 36px;
    }
    .page .product_list_container .product_list .product_list_title {
        margin-bottom: 15px;
        margin-left: 0;
        margin-top: 20px;
        font-size: 36px;
        width: 100%;
        text-align: center;
    }
    .ec-searchnavRole__actions {
        float: none;
        line-height: normal;
        display: flex;
        justify-content: flex-end;
    }
    .product_list_container .product_list .product_list_content_item_name {
        font-size: 14px;
    }
    .ec-searchnavRole__actions .ec-select  {
        /* margin-bottom: 16px; */
    }
    .ec-searchnavRole__actions .ec-select select  {
        border: 1px solid #868686;
        padding: 4px 10px;
        font-size:15px;
    }
    .product_list_container .product_list .product_list_content_product_name {
        font-size: 20px;
    }
    .product_list_container .product_list .product_list_content_product_description {
        font-size: 14px;
        line-height: 18px;
    }
    .product_list_container .product_list .product_list_content_product_price {
        font-size: 12px;
    }
    .search_result_container .search_result_text {
        font-size: 16px;
    }
    .product_list_container .product_list .product_list_content_row  {
        margin-bottom: 0;
    }
    .product_list_container .product_list .product_list_content_row .product_list_content_item {
        margin-bottom: 5px;
    }
}
@media (max-width: 600px) {
    #page_product_list .product_list_container .product_list .product_list_content_row.product_row3 .product_list_content_item {
        width: calc(50% - 5px);
    }
}


/**
 * 商品一覧　一点もの
 */
.product_list_side_container {
    width: 25%;
    min-width: 170px;
}
.product_list_side_container_title {
    font-size: 22px;
    font-weight: 500;
    line-height: 34px;
    padding-bottom: 4px;
    border-bottom: 2px solid #9B1C15;
    margin-bottom: 14px;
    margin-top: 4rem;
}
.product_list_side_container_text {
    font-size: 22px;
    font-weight: 500;
    line-height: 34px;
}
.one_and_only_container .product_list_side_container_text {
    margin-bottom: 30px;
}
.product_list_side_container_description {
    font-size: 22px;
    font-weight: 350;
    line-height: 34px;
}
.one_and_only_container .product_list_side_container_description {
    margin-bottom: 30px;
}
.product_list_side_container_image {
    width: 100%;
    /* width: calc(100% - 22px); */
    /* aspect-ratio: 1/1; */
    aspect-ratio: 218/200;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 7px;
}


@media (max-width: 768px) {
    .product_list_side_container {
        /* display: none; */
        width: 100%;
    }
    .product_list_side_container_title {
        margin-top: 0;
    }
}


/**
 * TOP: Special collection
 */
.toppage .special_collection {
    padding: 45px 20px 52px;
    border-top: 4px solid #9B1C15;
    max-width: 1200px;
    margin: 0 auto;
}
.toppage .special_collection .special_collection_title {
    font-family: "League Spartan";
    font-size: 54px;
    font-weight: 300;
    line-height: normal;
    margin-bottom: 40px;
    text-align: center;
}
.toppage .special_collection .special_collection_content {
    display: flex;
    gap: 8px;
}
.toppage .special_collection .special_collection_content_item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: calc(50% - 4px);
    text-decoration: none;
    color: #000;
}
.toppage .special_collection .special_collection_content_item_name {
    text-align: center;
    font-size: 24px;
    font-weight: 300;
    font-family: "Noto Sans JP";
}
.toppage .special_collection .special_collection_content_item_image {
    width: 100%;
    aspect-ratio: 218/219;
    object-fit: cover;
    border-radius: 8px;
    overflow: hidden;
}
.toppage .special_collection .special_collection_content_item_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}
.toppage .special_collection .special_collection_content_item .special_collection_content_item_image img{
    transition: transform 0.3s ease;
}
.toppage .special_collection .special_collection_content_item:hover .special_collection_content_item_image img {
    transform: scale(1.1);
    display: block;
    transition: transform 0.3s ease;
}
@media (max-width: 768px) {
    .toppage .special_collection {
        padding: 20px 10px;
    }
    .toppage .special_collection .special_collection_title {
        font-size: 36px;
    }
    .toppage .special_collection .special_collection_content_item_name {
        font-size: 14px;
    }
}

/**
 * TOP: Choose by illustration
 */
.toppage .choose_by_illustration {
    /* padding: 45px 0 52px;
    border-top: 4px solid #9B1C15;
    width: 1000px;
    margin: 0 auto; */
    padding: 40px 20px 52px;
    border-top: 4px solid #9B1C15;
    margin: 0 auto;
    max-width: 1200px;
}
.toppage .choose_by_illustration .choose_by_illustration_title {
    font-family: "League Spartan";
    font-size: 54px;
    font-weight: 300;
    line-height: normal;
    margin-bottom: 40px;
    text-align: center;
}
#item .sp {
    display: none;
}
.item_box{
    height: 3086px;
}
.item_box ul{
    position: relative;
    height: 100%;
}
.item_box li{
    display: inline-block;
    position: absolute;
    left: 0;
}
.item_box img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
}
.item_box a{
    display: block;
    position: relative;
}
.item_box a .off{
    /* transition-duration: 0.1s; */
    transition: opacity 1s ease-in-out;
    display: 1;
}
.item_box a:hover .off{
    /* transition-duration: 0.1s; */
    opacity: 0;
    transition: opacity 1s ease-in-out;
}
.item_box .on{
    /* transition-duration: 0.1s; */
    transition: opacity 1s ease-in-out;
    opacity: 0;
}
.item_box a:hover .on{
    /* transition-duration: 0.1s; */
    transition: opacity 1s ease-in-out;
    opacity: 1;
}
#content .item_box ul li {
    margin: 0;
}
.item_box .item01{
    /* width: 200px;
       left: 64px;
       top: 58px; */
    width: 20.0%; /* (200/1000)*100 ≒ 20.0% */
    left: 6.4%; /* (64/1000)*100 ≒ 6.4% */
    top: 1.9%; /* (58/3086)*100 ≒ 1.9% */
}
.item_box .item02{
    /* width: 108px;
       left: 302px;
       top: 2px; */
    width: 10.8%; /* (108/1000)*100 ≒ 10.8% */
    left: 30.2%; /* (302/1000)*100 ≒ 30.2% */
    top: 0.1%; /* (2/3086)*100 ≒ 0.1% */
}
.item_box .item03{
    /* width: 170px;
       left: 83px;
       top: 156px; */
    width: 17.0%; /* (170/1000)*100 ≒ 17.0% */
    left: 8.3%; /* (83/1000)*100 ≒ 8.3% */
    top: 5.1%; /* (156/3086)*100 ≒ 5.1% */
}
.item_box .item04{
    /* width: 213px;
       left: 429px;
       top: 61px; */
    width: 21.3%; /* (213/1000)*100 ≒ 21.3% */
    left: 42.9%; /* (429/1000)*100 ≒ 42.9% */
    top: 2.0%; /* (61/3086)*100 ≒ 2.0% */
}
.item_box .item05{
    /* width: 75px;
       left: 668px;
       top: 58px; */
    width: 7.5%; /* (75/1000)*100 ≒ 7.5% */
    left: 66.8%; /* (668/1000)*100 ≒ 66.8% */
    top: 1.9%; /* (58/3086)*100 ≒ 1.9% */
}
.item_box .item06{
    /* width: 115px;
       right: 85px;
       top: 67px; */
    width: 11.5%; /* (115/1000)*100 ≒ 11.5% */
    left: calc(100% - 85px - 11.5%);
    top: 2.2%; /* (67/3086)*100 ≒ 2.2% */
}
.item_box .item07{
    /* width: 160px;
       right: 60px;
       top: 155px; */
    width: 16%; /* (160/1000)*100 ≒ 16% */
    left: calc(100% - 60px - 16%);
    top: 5.0%; /* (155/3086)*100 ≒ 5.0% */
}
.item_box .item08{
    /* width: 165px;
       left: 253px;
       top: 229px; */
    width: 16.5%;
    left: 25.3%; /* (253/1000)*100 ≒ 25.3% */
    top: 7.4%; /* (229/3086)*100 ≒ 7.4% */
}
.item_box .item09{
    /* width: 90px;
       right: 246px;
       top: 227px; */
    width: 9%; /* (90/1000)*100 ≒ 9% */
    left: calc(100% - 246px - 9%);
    top: 7.4%; /* (227/3086)*100 ≒ 7.4% */
}
.item_box .item10{
    /* width: 182px;
       right: 56px;
       top: 292px; */
    width: 18.2%; /* (182/1000)*100 ≒ 18.2% */
    left: calc(100% - 56px - 18.2%);
    top: 9.5%; /* (292/3086)*100 ≒ 9.5% */
}
.item_box .item11{
    /* width: 50px;
       left: 85px;
       top: 261px; */
    width: 5%;
    /* left: 5.7%;
    top: 8.5%; */
    left: 11.7%;
    top: 8%;
}
.item_box .item12{
    /* width: 50px;
       left: 149px;
       top: 319px; */
    width: 5%;
    /* left: 10.1%;
    top: 10.3%; */
    left: 18.1%;
    top: 9.8%;
}
.item_box .item13{
    /* width: 220px;
       left: 221px;
       top: 353px; */
    width: 22%;
    left: 22.1%;
    top: 11.4%; /* (353/3086)*100 ≒ 11.4% */
}
.item_box .item14{
    /* width: 227px;
       left: 425px;
       top: 351px; */
    width: 22.7%;
    left: 42.5%;
    top: 11.4%; /* (351/3086)*100 ≒ 11.4% */
}
.item_box .item15{
    /* width: 261px;
       right: 63px;
       top: 372px; */
    width: 26.1%; /* (261/1000)*100 ≒ 26.1% */
    left: calc(100% - 63px - 26.1%);
    top: 12.1%; /* (372/3086)*100 ≒ 12.1% */
}
.item_box .item16{
    /* width: 253px;
       left: 410px;
       top: 622px; */
    width: 25.3%;
    left: 41%;
    top: 20.2%; /* (622/3086)*100 ≒ 20.2% */
}
.item_box .item17{
    /* width: 245px;
       right: 74px;
       top: 634px; */
    width: 24.5%; /* (245/1000)*100 ≒ 24.5% */
    left: calc(100% - 74px - 24.5%);
    top: 20.5%; /* (634/3086)*100 ≒ 20.5% */
}
.item_box .item18{
    /* width: 233px;
       left: 56px;
       top: 482px; */
    width: 23.3%;
    left: 5.6%;
    top: 15.6%; /* (482/3086)*100 ≒ 15.6% */
}
.item_box .item19{
    /* width: 186px;
       left: 296px;
       top: 526px; */
    width: 18.6%;
    left: 29.6%;
    top: 17.0%; /* (526/3086)*100 ≒ 17.0% */
}
.item_box .item20{
    /* width: 284px;
       left: 56px;
       top: 667px; */
    width: 28.4%;
    left: 5.6%;
    top: 21.6%; /* (667/3086)*100 ≒ 21.6% */
}
.item_box .item21{
    /* width: 201px;
       left: 224px;
       top: 772px; */
    width: 20.1%;
    left: 22.4%;
    top: 25.0%; /* (772/3086)*100 ≒ 25.0% */
}
.item_box .item22{
    /* width: 310px;
       left: -14px;
       top: 840px; */
    width: 31%;
    left: -1.4%;
    width: 21%;
    /* left: -0.9%; */
    left: 3.1%;
    top: 27.2%; /* (840/3086)*100 ≒ 27.2% */
}
.item_box .item23{
    /* width: 208px;
       left: 218px;
       top: 927px; */
    width: 20.8%; /* (208/1000)*100 ≒ 20.8% */
    left: 21.8%; /* (218/1000)*100 ≒ 21.8% */
    top: 30.0%; /* (927/3086)*100 ≒ 30.0% */
}
.item_box .item24{
    /* width: 250px;
       left: 408px;
       top: 937px; */
    width: 25.0%; /* (250/1000)*100 ≒ 25.0% */
    left: 40.8%; /* (408/1000)*100 ≒ 40.8% */
    top: 30.4%; /* (937/3086)*100 ≒ 30.4% */
}
.item_box .item25{
    /* width: 276px;
       right: 41px;
       top: 864px; */
    width: 27.6%; /* (276/1000)*100 ≒ 27.6% */
    left: calc(100% - 41px - 27.6%);
    top: 27.0%; /* (864/3086)*100 ≒ 28.0% */
}
.item_box .item26{
    /* width: 200px;
       left: 5px;
       top: 1116px; */
    width: 20.0%; /* (200/1000)*100 ≒ 20.0% */
    left: 0.5%; /* (5/1000)*100 ≒ 0.5% */
    top: 36.2%; /* (1116/3086)*100 ≒ 36.2% */
}
.item_box .item27{
    /* width: 141px;
       left: 223px;
       top: 1103px; */
    width: 14.1%; /* (141/1000)*100 ≒ 14.1% */
    left: 22.3%; /* (223/1000)*100 ≒ 22.3% */
    top: 35.7%; /* (1103/3086)*100 ≒ 35.7% */
}
.item_box .item28{
    /* width: 106px;
       left: 232px;
       top: 1349px; */
    width: 10.6%;
    left: 23.2%;
    top: 43.7%; /* (1349/3086)*100 ≒ 43.7% */
}
.item_box .item29{
    /* width: 184px;
       left: 386px;
       top: 1203px; */
    width: 18.4%;
    left: 38.6%;
    top: 39.0%; /* (1203/3086)*100 ≒ 39.0% */
}
.item_box .item30{
    /* width: 156px;
       left: 356px;
       top: 1596px; */
    width: 15.6%;
    left: 35.6%;
    top: 51.7%; /* (1596/3086)*100 ≒ 51.7% */
}
.item_box .item31{
    /* width: 265px;
       right: 213px;
       top: 1626px; */
    width: 26.5%; /* (265/1000)*100 ≒ 26.5% */
    left: calc(100% - 213px - 26.5%);
    top: 52.7%; /* (1626/3086)*100 ≒ 52.7% */
}
.item_box .item32{
    /* width: 136px;
       right: 75px;
       top: 1600px; */
    width: 13.6%; /* (136/1000)*100 ≒ 13.6% */
    left: calc(100% - 75px - 13.6%);
    top: 51.8%; /* (1600/3086)*100 ≒ 51.8% */
}
.item_box .item33{
    /* width: 132px;
       right: 106px;
       top: 1393px; */
    width: 13.2%; /* (132/1000)*100 ≒ 13.2% */
    left: calc(100% - 106px - 13.2%);
    top: 45.1%; /* (1393/3086)*100 ≒ 45.1% */
}
.item_box .item34{
    /* width: 125px;
       right: 105px;
       top: 1207px; */
    width: 12.5%; /* (125/1000)*100 ≒ 12.5% */
    left: calc(100% - 105px - 12.5%);
    top: 39.1%; /* (1207/3086)*100 ≒ 39.1% */
}
.item_box .item35{
    /* width: 197px;
       right: 227px;
       top: 1217px; */
    width: 19.7%; /* (197/1000)*100 ≒ 19.7% */
    left: calc(100% - 227px - 19.7%);
    top: 39.4%; /* (1217/3086)*100 ≒ 39.4% */
}
.item_box .item36{
    /* width: 255px;
       left: 56px;
       top: 1786px; */
    width: 25.5%; /* (255/1000)*100 ≒ 25.5% */
    left: 5.6%; /* (56/1000)*100 ≒ 5.6% */
    top: 57.9%; /* (1786/3086)*100 ≒ 57.9% */
}
.item_box .item37{
    /* width: 198px;
       left: 310px;
       top: 1769px; */
    width: 19.8%;
    left: 31%;
    top: 57.3%; /* (1769/3086)*100 ≒ 57.3% */
}
.item_box .item38{
    /* width: 168px;
       left: 478px;
       top: 1773px; */
    width: 16.8%;
    left: 47.8%;
    top: 57.4%; /* (1773/3086)*100 ≒ 57.4% */
}
.item_box .item39{
    /* width: 228px;
       right: 158px;
       top: 1785px; */
    width: 22.8%; /* (228/1000)*100 ≒ 22.8% */
    left: calc(100% - 158px - 22.8%);
    top: 57.8%; /* (1785/3086)*100 ≒ 57.8% */
}
.item_box .item40{
    /* width: 131px;
       right: 45px;
       top: 1789px; */
    width: 13.1%; /* (131/1000)*100 ≒ 13.1% */
    left: calc(100% - 45px - 13.1%);
    top: 57.9%; /* (1789/3086)*100 ≒ 57.9% */
}
.item_box .item41{
    /* width: 240px;
       left: 59px;
       top: 2065px; */
    width: 24%;
    left: 5.9%;
    top: 66.9%; /* (2065/3086)*100 ≒ 66.9% */
}
.item_box .item42{
    /* width: 254px;
       left: 325px;
       top: 1962px; */
    width: 25.4%;
    left: 32.5%;
    top: 63.6%; /* (1962/3086)*100 ≒ 63.6% */
}
.item_box .item43{
    /* width: 237px;
       right: 158px;
       top: 1974px; */
    width: 23.7%; /* (237/1000)*100 ≒ 23.7% */
    left: calc(100% - 158px - 23.7%);
    top: 64.0%; /* (1974/3086)*100 ≒ 64.0% */
}
.item_box .item44{
    /* width: 113px;
       left: 352px;
       top: 2125px; */
    width: 11.3%;
    left: 35.2%;
    top: 68.9%; /* (2125/3086)*100 ≒ 68.9% */
}
.item_box .item45{
    /* width: 181px;
       left: 480px;
       top: 2124px; */
    width: 18.1%;
    left: 48%;
    top: 68.8%; /* (2124/3086)*100 ≒ 68.8% */
}
.item_box .item46{
    /* width: 240px;
       right: 73px;
       top: 2136px; */
    width: 24%;
    left: calc(100% - 73px - 24%);
    top: 69.2%; /* (2136/3086)*100 ≒ 69.2% */
}
.item_box .item47{
    /* width: 203px;
       left: 78px;
       top: 2388px; */
    width: 20.3%;
    left: 7.8%;
    top: 77.4%; /* (2388/3086)*100 ≒ 77.4% */
}
.item_box .item48{
    /* width: 85px;
       left: 558px;
       top: 2323px; */
    width: 8.5%;
    left: 55.8%;
    top: 75.3%; /* (2323/3086)*100 ≒ 75.3% */
}
.item_box .item49{
    /* width: 97px;
       left: 549px;
       top: 2509px; */
    width: 9.7%;
    left: 54.9%;
    top: 81.3%; /* (2509/3086)*100 ≒ 81.3% */
}
.item_box .item50{
    /* width: 285px;
       left: 39px;
       top: 2791px; */
    width: 28.5%;
    left: 3.9%;
    top: 90.4%; /* (2791/3086)*100 ≒ 90.4% */
}
.item_box .item51{
    /* width: 255px;
       left: 376px;
       top: auto;
       bottom: 281px; */
    width: 25.5%;
    left: 37.6%;
    top: 90.9%; /* (3086-281)/3086*100 ≒ 90.9% */
}
.item_box .item52{
    /* width: 179px;
       right: 116px;
       top: auto;
       bottom: 107px; */
    width: 17.9%;
    left: 83.4%;
    top: 96.5%; /* (3086-107)/3086*100 ≒ 96.5% */
}
.item_box .item53{
    /* width: 255px;
       top: 1513px;
       left: 53px; */
    width: 25.5%;
    left: 5.3%;
    top: 49%; /* (1513/3086)*100 ≒ 49% */
}
.item_box .item54{
    /* width: 214px;
       top: auto;
       bottom: 766px;
       left: 307px; */
    width: 21.4%;
    left: 30.7%;
    top: 75.2%; /* (3086-766)/3086*100 ≒ 75.2% */
}
.item_box .item55{
    /* width: 257px;
       top: auto;
       bottom: 433px;
       right: 83px;
       left: auto; */
    width: 25.7%;
    left: calc(100% - 83px - 25.7%);
    top: 85.9%; /* (3086-433)/3086*100 ≒ 85.9% */
}
.item_box .item56{
    /* width: 248px;
       top: auto;
       bottom: 546px;
       left: 73px; */
    width: 24.8%;
    left: 7.3%;
    top: 82.3%; /* (3086-546)/3086*100 ≒ 82.3% */
}
.item_box .item57{
    /* width: 298px;
       top: auto;
       bottom: 462px;
       left: 354px; */
    width: 29.8%;
    left: 35.4%;
    top: 85%; /* (3086-462)/3086*100 ≒ 85% */
}
.item_box .item58{
    /* width: 244px;
       top: auto;
       left: auto;
       bottom: 716px;
       right: 95px; */
    width: 24.4%; /* (244/1000)*100 ≒ 24.4% */
    left: calc(100% - 95px - 24.4%);
    top: 76.8%; /* (3086-716)/3086*100 ≒ 76.8% */
}
.item_box .item59{
    /* width: 113px;
       top: 1400px;
       left: auto;
       right: 263px; */
    width: 11.3%; /* (113/1000)*100 ≒ 11.3% */
    left: calc(100% - 263px - 11.3%);
    top: 45.4%; /* (1400/3086)*100 ≒ 45.4% */
}
@media (max-width: 768px) {
    .toppage .choose_by_illustration {
        padding: 20px 10px;
    }
    .toppage .choose_by_illustration .choose_by_illustration_title {
        font-size: 36px;
    }
    .toppage .choose_by_illustration {
        width: 100%;
    }
    #item .sp {
        display: block;
    }
    #item .pc {
        display: none;
    }
    #item.inner {
		width: 100%;
	}
	#item.inner img {
		width: 100%;
	height: 100%;
	margin: auto;
	display: block;
	}
	#item p {
		font-size: 9px;
		text-align: center;
		padding: 5% 3% 0;
	}
	#item {
		margin-bottom: 100px;
	}
}

/**
 * TOP: Shopping information
 */
.shopping_information {
    padding: 45px 20px 64px;
    border-top: 4px solid #9B1C15;
    max-width: 1200px;
    margin: 0 auto;
}
.shopping_information .shopping_information_title {
    font-family: "League Spartan";
    font-size: 54px;
    font-weight: 300;
    line-height: normal;
    margin-bottom: 40px;
    text-align: center;
}
.shopping_information .shopping_process_title {
    font-size: 36px;
    font-weight: 500;
    line-height: 32px;
    border-bottom: 2px solid #9B1C15;
    padding-bottom: 10px;
    margin-bottom: 16px;
}
.shopping_information .shopping_process_content {
    display: flex;
}
.shopping_information .shipping_process_container.mb-64 {
    margin-bottom: 64px;
}
.shopping_information .shopping_process_content .process_left,
.shopping_information .shopping_process_content .process_right {
    padding-top: 12px;
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    line-height: 32px; /* 133.333% */
    width: 194px;
    flex: 0 0 194px;
    box-sizing: border-box;
    background: repeating-linear-gradient(
        to bottom,
        #F3EEE3 0px,
        #F3EEE3 4px,
        #FAF7F0 4px,
        #FAF7F0 8px
    );
}
.shopping_information .shopping_process_content .process_center {
    padding-top: 56px;
    padding-bottom: 56px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.shopping_information .shopping_process_content .process_center .process_item_image_text.process_item_customer {
    display: flex;
    gap: 14px;
    border-radius: 24px;
    background: #FFF;
    margin-right: -10rem;
    z-index: 5;
    margin-left: 3rem;
    position: relative;
    padding: 36px 30px 10px 36px;
}
.shopping_information .shopping_process_content .process_center .process_item_text.process_item_customer {
    display: flex;
    gap: 14px;
    border-radius: 24px;
    background: #FFF;
    margin-right: -10rem;
    z-index: 5;
    margin-left: 3rem;
    position: relative;
    padding: 30px 36px 24px;
}
.shopping_information .shopping_process_content .process_center .process_item_text.process_item_orthodoxee {
    padding: 30px 36px 24px;
    border-radius: 24px;
    background: #FFF;
    margin-left: -10rem;
    z-index: 5;
    margin-right: 10rem;
    position: relative;
}
.shopping_information .shopping_process_content .process_center .process_item_image_text .process_item_image_text_image {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}
.shopping_information .shopping_process_content .process_center .process_item_image_text_image_text {
    font-size: 18px;
    font-weight: 300;
    line-height: 32px; /* 177.778% */
    text-align: center;
}
.shopping_information .shopping_process_content .process_center .process_item_image_text_image {
    width: 300px;
    height: 300px;
    aspect-ratio: 1/1;
    border-radius: 8px;
}
.shopping_information .shopping_process_content .process_center .process_item_image_text_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}
.shopping_information .shopping_process_content .process_center .process_item_image_text_text_title,
.shopping_information .shopping_process_content .process_center .process_item_text_text_title {
    font-size: 24px;
    font-weight: 500;
    line-height: 32px; /* 133.333% */
}
.shopping_information .shopping_process_content .process_center .process_item_image_text_text_description,
.shopping_information .shopping_process_content .process_center .process_item_text_text_description {
    font-size: 20px;
    font-weight: 300;
    line-height: 34px; /* 170% */
}
.shopping_process_warning div {
    font-size: 18px;
    font-weight: 400;
    line-height: 32px;
}
@media (max-width: 768px) {
    .shopping_information {
        padding: 20px 10px 40px;
    }
    .shopping_information .shopping_information_title {
        font-size: 36px;
    }
    .shopping_information .shopping_process_content .process_center {
        width: 50%;
        padding-top: 75px;
    }
    .shopping_information .shopping_process_content .process_left,
    .shopping_information .shopping_process_content .process_right {
        flex: 0 0 25%;
        font-size: 20px;
    }
    .shopping_information .shopping_process_content .process_center .process_item_image_text.process_item_customer {
        margin-left: 1%;
        padding: 18px;
        margin-right: -49%;
    }
    .shopping_information .shopping_process_content .process_center .process_item_text.process_item_orthodoxee {
        margin-right: 1%;
        margin-left: -49%;
        padding: 18px;
    }
    .shopping_information .shopping_process_content .process_center .process_item_text.process_item_customer {
        margin-right: -49%;
        margin-left: 1%;
        padding: 18px;
    }
    .shopping_information .shopping_process_content .process_center .process_item_image_text_image {
        height: auto;
        aspect-ratio: unset;
        width: 100%;
    }
    .shopping_information .shopping_process_content .process_center .process_item_image_text_text_title, .shopping_information .shopping_process_content .process_center .process_item_text_text_title {
        font-size: 18px;
        line-height: 1.3;
    }
    .shopping_information .shopping_process_content .process_center .process_item_image_text_text_description, .shopping_information .shopping_process_content .process_center .process_item_text_text_description {
        font-size: 16px;
        line-height: 1.4;
        margin-top: 1rem;
    }
    .shopping_information .shopping_process_title {
        font-size: 22px;
    }
    .shopping_information .shopping_process_content .process_center .process_item_image_text.process_item_customer {
        flex-direction: column;
    }
    .shopping_process_warning div {
        font-size: 14px;
        line-height: 26px;
    }
    .shopping_information .shipping_process_container.mb-64 {
        margin-bottom: 24px;
    }
}

/**
 * TOP: About
 */
.toppage .about {
    padding-top: 50px;
    border-top: 4px solid #9B1C15;
    display: flex;
    justify-content: center;
}
.toppage .about .about_container {
    max-width: 1600px;
}
.toppage .about .about_title {
    text-align: center;
    font-family: "League Spartan";
    font-size: 54px;
    font-weight: 500;
}
@media (max-width: 768px) {
    .toppage .about .about_title {
        font-size: 45px;
        line-height: 1.1;
    }
}


/**
 * Product list
 */
.page {
    margin-top: 90px;
    background-color: #FAF7F0;
    min-height: 100%;
}
.page .online_store {
    background: repeating-linear-gradient(to bottom, #F3EEE3 0px, #F3EEE3 4px, #FAF7F0 4px, #FAF7F0 8px);
    color: #000;
    text-align: center;
    font-family: "League Spartan";
    font-size: 54px;
    font-weight: 300;
    padding: 36px 0 28px;
}
@media (max-width: 768px) {
    .page .online_store {
        font-size: 40px;
    }
}

/**
 * Product detail
 */
.ec-productRole {
    padding: 40px 20px;
    border-top: 4px solid #9B1C15;
    max-width: 1200px;
    margin: 0 auto;
}
@media (max-width: 768px) {
    .ec-productRole {
        padding: 20px 10px;
    }
}

.ec-productRole .ec-grid2 {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
    justify-content: center;
}
.ec-productRole .ec-grid2__cell {
    display: flex;
    flex-direction: column;
}
.ec-productRole .ec-grid2__cell:first-child {
    /* flex: 0 0 65%; */
    max-width: 65%;
}
.ec-productRole .ec-grid2__cell:last-child {
    /* flex: 0 0 calc(35% - 36px); */
    min-width: 350px;
}
/* 商品画像スライダー */
.ec-sliderItemRole {
    max-width: 100%;
}
.item_visual {
    margin-bottom: 20px;
}
.item_visual .slide-item img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}
.item_nav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.item_nav .slideThumb {
    width: calc(20% - 6.4px);
    cursor: pointer;
    margin-bottom: 0;
}
.item_nav .slideThumb img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}
@media (min-width: 1200px) {
    .ec-productRole .ec-grid2 {
        gap: 36px;
    }
    .ec-productRole .ec-grid2__cell:first-child {
        flex: 0 0 65%;
    }
}

/* ポップアップリンク */
.product_detail_popup_links:not(.sp_only) {
    margin-top: auto;
    display: flex;
    gap: 40px;
}
.product_detail_popup_links a.product_detail_popup_link {
    font-size: 22px;
    font-weight: 500;
    line-height: 32px;
    text-decoration: none;
    color: #000;
}


/* 商品情報 */
.profile_top_container {
    border-bottom: 4px solid #9B1C15;
    padding: 0 5px;
}
.product_catchphrase {
    border-bottom: 2px solid #9B1C15;
    padding: 22px 16px 28px 10px;
    font-size: 22px;
    font-weight: 350;
    line-height: 34px;
}
.product_plus_section {
    border-bottom: 2px solid #9B1C15;
    padding: 22px 16px 28px 10px;
    font-size: 22px;
    font-weight: 350;
    line-height: 34px;
}
.product_plus_title {
    font-size: 22px;
    font-weight: 500;
    line-height: 32px;
    margin-bottom: 5px;
}
.product_plus_description {
    font-size: 18px;
    font-weight: 350;
    line-height: 34px;
    padding-left: 20px;
}
.ec-productRole__profile {
    color: #000;
}
.ec-productRole .ec-productRole__profile {
    margin-left: 0!important;
}
.ec-productRole__title {
    margin-bottom: 14px;
}
.ec-productRole__title h2.ec-headingTitle {
    margin-bottom: 10px;
}
.ec-headingTitle {
    font-size: 32px;
    font-weight: 500;
    line-height: 44px;
    margin: 0;
}
.ec-productRole__price {
    margin-top: 16px;
    margin-bottom: 24px;
}
.ec-price {
    font-size: 24px;
    font-weight: 500;
}
.ec-price__tax {
    font-size: 16px;
    margin-left: 8px;
}

/* お気に入りボタン */
.favorite-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    outline: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.favorite-btn i {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.favorite-btn i.favorite-btn-icon-active {
    color: #9B1C15;
}
.favorite-btn:hover {
    opacity: 0.7;
}
.favorite-btn[disabled] {
    cursor: default;
    opacity: 0.5;
}
/* 商品タイトルエリアのレイアウト調整 */
.ec-productRole__title {
    display: flex;
    flex-direction: column;
    margin-bottom: 24px;
}
.ec-productRole__title .product_name {
    font-size: 32px;
    font-weight: 500;
    line-height: 44px;
    color: #000;
}
.product_description_list {
    margin-bottom: 10px;
    font-size: 24px;
    font-weight: 350;
    line-height: 34px;
}
.ec-productRole .ec-productRole__price {
    border: none;
    padding: 0;
    margin: 0 0 10px;
}
.ec-productRole .ec-productRole__price .ec-price {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    justify-content: flex-end;
    color: #000;
}
.ec-productRole .ec-productRole__price .ec-price__price {
    font-size: 36px;
    font-weight: 500;
    line-height: 44px;
    padding: 0;
}
.product_price {
    font-size: 22px;
    font-weight: 500;
    line-height: 32px;
}
.ec-price .ec-price__tax {
    font-size: 16px;
    font-weight: 500;
    margin-left: 0;
}
.delivery_duration_container {
    text-align: right;
    font-size: 22px;
    font-weight: 500;
    line-height: 44px;
    padding-bottom: 16px;
}
.ec-productRole .ec-productRole__description {
    color: #000;
    font-size: 22px;
    font-weight: 350;
    line-height: 34px;
}

#content .option_value {
    display: flex;
    gap: 12px;
    background-color: #FFF;
    border-radius: 8px;
    border: 2px solid #C4C4C4;
    margin-top: -2px;
    cursor: pointer;
}
#content .option_value_no_image {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    padding: 7px 15px 9px;
}
#content .option_value_no_image_text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* gap: 5px; */
}
#content .option_value_no_image_text_label {
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
}
#content .option_value_no_image_text_description {
    font-size: 14px;
    font-weight: 500;
    line-height: 24px;
}
#content .option_value_no_image_price {
    text-align: right;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    margin-top: auto;
}
#content .option_value:hover {
    background-color: #F3EEE3;
}
#content .option_value.hidden {
    display: none;
}
#content .option_value.highlight {
    background-color: #F3EEE3;
}
#content .option_value_label {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 70%;
    justify-content: center;
}
#content .option_value_image {
    aspect-ratio: 1/1;
    width: 26%;
    /* width: 30%; */
}
#content .option_value_label_text {
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
}
#content .option_value_label_description {
    font-size: 14px;
    font-weight: 500;
    line-height: 24px;
}
#content .ec-numberInput.ec-numberInput--right {
    display: flex;
    justify-content: right;
    align-items: center;
    gap: 10px;
}
#content .ec-productRole input[type=text] {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
}
#content .search-form[role=search] input[type=text] {
    border: none;
}
#content .ec-productRole input[type=number] {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
}
#content .ec-productRole input[type=email] {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
}
#content .ec-productRole input[type=tel] {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
}
#content .ec-productRole input[type=date] {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
}
#content .ec-productRole input[type=time] {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
}
#content .ec-productRole input[type=file] {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
}
#content .ec-productRole input[type=checkbox] {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
}
#content .ec-productRole input[type=radio] {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
}
#content .ec-productRole input[type=password] {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
}
#content .ec-productRole textarea {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
}
#content .ec-productRole select {
    border: 2px solid #C4C4C4;
    border-radius: 8px;
}
#content .ec-numberInput.red_border {
    border-bottom: 2px solid #9B1C15;
    padding-bottom: 40px;
}
#content .ec-select.red_border {
    border-bottom: 2px solid #9B1C15;
    padding-bottom: 40px;
}
#content .ec-input.red_border {
    border-bottom: 2px solid #9B1C15;
    padding-bottom: 20px;
}
#content .dropdown_container[data-option-name="productoption27"],
#content .dropdown_container[data-option-name="productoption10"] {
    border-bottom: 2px solid #9B1C15;
    padding-bottom: 40px;
}
#content .dropdown_container[data-option-name="productoption29"] {
    border-bottom: 2px solid #9B1C15;
    padding-bottom: 40px;
}
#content .ec-checkbox.red_border {
    border-bottom: 2px solid #9B1C15;
    padding-bottom: 40px;
}
#content .option_value_input {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#content .option_value_input_value {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
#content .option_value_input_value input[type=number] {
    margin-bottom: 0;
}
#content .option_value_input_button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9B1C15;
    font-size: 18px;
    font-weight: 500;
    line-height: 34px;
    gap: 10px;
    padding-left: 30px;
    cursor: pointer;
}
#content .option_value_input .form-check {
    display: flex;
    align-items: center;
}
#content .option_value_input input[type=checkbox].form-check-input {
    content: '';
    height: 20px;
    width: 20px;
    border: 2px solid #9B1C15;
    border-radius: 8px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 9px;
}
#content .option_value_input input[type=checkbox].form-check-input:checked {
    background-color: #9B1C15;
}
#content .option_value_input input[type=checkbox].form-check-input:focus {
    box-shadow: none;
}
#content .option_value_input .form-check label {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9B1C15;
    font-size: 18px;
    font-weight: 500;
    line-height: 34px;
    gap: 10px;
    padding-left: 10px;
    cursor: pointer;
}
#content .tax_exlude {
    font-size: 12px;
    padding-left: 5px;
    white-space: nowrap;
}

#content .option_value_input_button::before {
    content: '';
    height: 20px;
    width: 20px;
    border: 2px solid #9B1C15;
    border-radius: 8px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
#content .option_value_input_button:hover {
    opacity: 0.7;
}
#content .option_value_input_button.selected::before {
    background-color: #9B1C15;
}
#content .option_value_input_value input[type=number].default {
    background-color: #F3EEE3;
}
#content .option_value_label .option_value_input_price,
#content .option_value_input_price {
    text-align: right;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    margin-top: -10px;
    margin-right: 10px;
}
#content .option_value_label .option_value_input_price .tax_type {
    font-size: 12px;
    font-weight: 500;
    line-height: 24px;
    margin-left: 5px;
}
#content .option_Label.center {
    text-align: center;
    margin-bottom: 12px;
}
#content .option_Label label {
    font-size: 22px;
    font-weight: 500;
    line-height: 34px;
}
#content .option_Label .ec-required {
    color: #9B1C15;
    font-size: 18px;
    font-weight: 500;
    line-height: 34px;
}
#content .option_Label .ec-optional {
    font-size: 18px;
    font-weight: 500;
    line-height: 34px;
    margin-left: 1em;
}
#content .option_Label.center label {
    font-weight: 350;
    font-size: 22px;
    margin: 0;
}
#content .option_Label.center .description {
    text-align: center;
    color: #9B1C15;
    font-size: 18px;
}
#content .ec-productRole .ec-productRole__actions .ec-numberInput:last-child {
    padding-top: 24px;
    padding-bottom: 24px;
    margin-bottom: 0;
    border-bottom: 2px solid #9B1C15;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    font-size: 22px;
    font-style: normal;
    font-weight: 350;
    line-height: 34px;
}
#content .ec-productRole .ec-productRole__actions .ec-numberInput:last-child input[type=number] {
    margin: 0;
}
#content .total_price_container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-bottom: 14px;
    border-bottom: 4px solid #9B1C15;
}
#content .total_price_container .option_total_row {
    display: flex;
    justify-content: space-between;
    text-align: right;
    font-size: 22px;
    font-weight: 500;
    line-height: 44px;
}
#content .total_price_container .base_price_row {
    display: flex;
    justify-content: space-between;
    text-align: right;
    font-size: 22px;
    font-weight: 500;
    line-height: 44px;
}
#content .total_price_container .grand_total_row {
    display: flex;
    justify-content: space-between;
    text-align: right;
    font-size: 22px;
    font-weight: 500;
    line-height: 44px;
}
#content .total_price_container .grand_total_row .price_value {
    font-size: 36px;
}
#content .total_price_container .price_tax {
    font-size: 16px;
    margin-left: 15px;
}
#content .ec-blockBtn--action {
    background-color: #192B50;
    border-color: #192B50;
    font-size: 32px;
    font-weight: 500;
    height: 112px;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#content .ec-productRole__btn .contact {
    background-color: #192B50;
    border-color: #192B50;
    /* font-size: 32px; */
    font-weight: 500;
    /* height: 112px; */
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#content .ec-blockBtn--action:disabled {
    background: #868686;
    border-color: #868686;
}
#content .ec-blockBtn--action:disabled:hover {
    opacity: 1;
    background-color: #868686;
    border-color: #868686;
}
#content .ec-blockBtn--action:hover {
    background-color: #192B50;
    border-color: #192B50;
    opacity: 0.7;
}
#content .ec-productRole__btn .contact:hover {
    background-color: #192B50;
    border-color: #192B50;
    opacity: 0.7;
}
#content .product_detail_upper_container {
    padding-bottom: 30px;
    border-bottom: 4px solid #9B1C15;
}
@media (max-width: 768px) {
    #content .ec-productRole .ec-productRole__actions .ec-numberInput:last-child {
        padding-top: 10px;
    }
    #content .total_price_container .option_total_row {
        font-size: 20px;
        line-height: 30px;
    }
    #content .total_price_container .base_price_row {
        font-size: 20px;
        line-height: 30px;
    }
    #content .total_price_container .grand_total_row {
        font-size: 20px;
        line-height: 30px;
    }
    #content .total_price_container .grand_total_row .price_value {
        font-size: 30px;
    }
}

#content .product_detail_lower_container {
    color: #000;
    padding-bottom: 28px;
}
#content .product_detail_lower_container .custom_order_title {
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 21px;
    line-height: normal;
    font-family: "Noto Sans JP";
}
#content .product_detail_lower_container .custom_order_header .additional_option_button {
    cursor: pointer;
}
#content .product_detail_lower_container .custom_order_header .additional_option_button .inner-circle {
    fill: none;
}
#content .product_detail_lower_container .custom_order_header .additional_option_button.active .inner-circle {
    fill: #9B1C15;
}
#content .product_detail_lower_container .custom_order_description {
    font-size: 24px;
    font-weight: 500;
    line-height: 36px;
    margin-bottom: 12px;
}
#content .product_detail_lower_container .custom_order_examples {
    display: flex;
    gap: 20px;
    margin-bottom: 36px;
}
#content .product_detail_lower_container .custom_order_examples .custom_order_details {
    width: 45%;
    padding-left: 36px;
}
#content .product_detail_lower_container .custom_order_examples .custom_order_details .examples_title {
    font-size: 24px;
    font-weight: 500;
    /* line-height: 36px; */
    line-height: 1.5;
}
#content .product_detail_lower_container .custom_order_examples .custom_order_details .details_list {
    display: flex;
    flex-direction: column;
    /* gap: 12px; */
}
#content .product_detail_lower_container .custom_order_examples .custom_order_details .details_list .detail_item {
    font-size: 24px;
    font-weight: 500;
    /* line-height: 36px; */
    line-height: 1.5;
    margin: 0;
    list-style: none;
}
#content .product_detail_lower_container .custom_order_examples .examples_list {
    width: 55%;
    display: flex;
    gap: 6px;
    justify-content: center;
}
#content .product_detail_lower_container .custom_order_examples .examples_list .example_item {
    list-style: none;
    margin: 0;
}
#content .product_detail_lower_container .custom_order_examples .examples_list .example_item .example_image {
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 8px;
}
#content .product_detail_lower_container .custom_order_examples .examples_list .example_item .example_label {
    font-size: 18px;
    font-weight: 350;
    line-height: 36px;
    text-align: center;
}
#content .product_detail_lower_container .notice_title {
    font-size: 24px;
    font-weight: 500;
    line-height: 32px;
    margin-bottom: 20px;
}
#content .product_detail_lower_container .notice_title span {
    color: #9B1C15;
    font-size: 18px;
    font-weight: 500;
    line-height: 32px;
    margin-left: 16px;
    display: inline-block;
}
#content .product_detail_lower_container .custom_order_notice {
    display: flex;
    align-items: flex-end;
}
#content .product_detail_lower_container .custom_order_notice .notice_list {

}
#content .product_detail_lower_container .custom_order_notice .notice_list .notice_item {
    font-size: 22px;
    font-weight: 500;
    /* line-height: 50px; */
    line-height: 1.5;
    list-style: none;
    margin-bottom: 0;
    margin-left: 0;
}
#content .product_detail_lower_container .custom_order_notice .custom_order_confirmation {
    flex-grow: 1;
}
#content .product_detail_lower_container .custom_order_notice .custom_order_confirmation .confirmation_text {
    font-size: 22px;
    font-weight: 500;
    line-height: 56px;
    position: relative;
    padding-left: 30px;
    cursor: pointer;
}
#content .product_detail_lower_container .custom_order_notice .custom_order_confirmation .confirmation_text:hover {
    opacity: 0.7;
}
#content .product_detail_lower_container .custom_order_notice .custom_order_confirmation .confirmation_text::before {
    content: '';
    height: 20px;
    width: 20px;
    border: 2px solid #9B1C15;
    border-radius: 8px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
#content .product_detail_lower_container .custom_order_notice .custom_order_confirmation .confirmation_text.checked::before {
    background-color: #9B1C15;
}
#content .product_detail_lower_container .custom_order_notice .custom_order_confirmation .custom_order_button {
    width: 100%;
    border-radius: 8px;
    background: #192B50;
    color: #FFF;
    text-align: center;
    font-size: 32px;
    font-weight: 500;
    line-height: normal;
    padding: 18px 0;
    border: none;
    display: block;
    text-decoration: none;
}
#content .product_detail_lower_container .custom_order_notice .custom_order_confirmation .custom_order_button.disabled {
    background: #868686;
    pointer-events: none;
}
#content .product_detail_lower_container .custom_order_notice .custom_order_confirmation .custom_order_button.disabled:hover {
    opacity: 1;
    background-color: #868686;
}
@media (max-width: 1024px) {
    #content .product_detail_lower_container .custom_order_notice {
        flex-wrap: wrap;
        gap: 20px;
    }
    #content .product_detail_lower_container .custom_order_notice .custom_order_confirmation {
        margin: 0 auto;
    }
    #content .product_detail_lower_container .custom_order_notice .notice_list .notice_item {
        margin-left: 0;
    }
    #content .product_detail_lower_container .custom_order_examples .examples_list {
        flex-wrap: wrap;
    }
}
@media (max-width: 768px) {
    #content .product_detail_upper_container {
        flex-direction: column;
        gap: 15px;
        margin-bottom: 25px;
    }
    .ec-productRole .ec-grid2__cell:first-child {
        width: 100%;
        max-width: 100%;
    }
    .product_detail_popup_links {
        margin-top: auto;
        display: flex;
        gap: 40px;
        margin-top: 16px;
    }
    .product_detail_popup_links:not(.sp_only) {
        display: none;
    }
    .product_detail_popup_links a.product_detail_popup_link {
        font-size: 18px;
        font-weight: 350;
        line-height: 20px;
    }
    .sp_only_container {
        padding: 20px 0;
        border-bottom: 2px solid #9B1C15;
    }
    #content .option_value_image {
        width: 20%;
    }
    #content .product_detail_lower_container .custom_order_examples {
        flex-direction: column;
        margin-bottom: 15px;
    }
    #content .product_detail_lower_container .custom_order_examples .custom_order_details {
        width: 100%;
        padding-left: 5px;
    }
    #content .product_detail_lower_container .custom_order_examples .custom_order_details .examples_title,
    #content .product_detail_lower_container .custom_order_examples .custom_order_details .details_list .detail_item {
        font-size: 20px;
        line-height: 20px;
    }
    #content .product_detail_lower_container .custom_order_examples .examples_list {
        width: 100%;
    }
    #content .product_detail_lower_container {
        padding-bottom: 0;
    }
    #content .product_detail_lower_container .custom_order_title {
        font-size: 24px;
        margin-bottom: 14px;
    }
    #content .product_detail_lower_container .notice_title {
        font-size: 22px;
    }
    #content .product_detail_lower_container .custom_order_notice .notice_list .notice_item {
        font-size: 18px;
        line-height: 30px;
    }
}


/* おすすめ商品 */
#page_product_detail .ec-layoutRole__contentBottom {
    background-color: #FAF7F0;
}
#page_product_detail .recommend_area {
    border-top: 4px solid #9B1C15;
    border-bottom: 4px solid #9B1C15;
    background: repeating-linear-gradient(to bottom, #F3EEE3 0px, #F3EEE3 4px, #FAF7F0 4px, #FAF7F0 8px);
    max-width: 1200px;
    /* margin-bottom: 35px; */
    color: #000;
    padding-bottom: 45px;
    margin: 0 auto 35px;
}
#page_product_detail .recommend_area .recommend_title {
    font-size: 32px;
    font-weight: 500;
    line-height: normal;
    margin-bottom: 30px;
    padding-left: 36px;
}
#page_product_detail .recommend_area .recommend_description {
    font-size: 24px;
    font-weight: 500;
    line-height: 34px;
    margin-bottom: 20px;
    padding-left: 36px;
}
#page_product_detail .recommend_area .recommend_product_list {
    display: flex;
    gap: 8px;
    padding: 0 12px;
}
#page_product_detail .recommend_area .recommend_product_list .recommend_product_item {
    width: calc(25% - 6px);
}
#page_product_detail .recommend_area .recommend_product_list .recommend_product_item a {
    text-decoration: none;
    color: #000;
}
#page_product_detail .recommend_area .recommend_product_list .recommend_product_item a:hover .product_image img {
    /* opacity: 0.7; */
    display: block;
    transition: transform 0.3s ease;
    transform: scale(1.1);
}
#page_product_detail .recommend_area .recommend_product_list .recommend_product_item .product_image {
    aspect-ratio: 1/1;
    max-width: 288px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 8px;
    overflow: hidden;
}
#page_product_detail .recommend_area .recommend_product_list .recommend_product_item .product_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}
#page_product_detail .recommend_area .recommend_product_list .recommend_product_item .recommend_product_name {
    font-size: 22px;
    font-weight: 500;
    line-height: normal;
    margin-bottom: 8px;
    text-align: center;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
#page_product_detail .recommend_area .recommend_product_list .recommend_product_item .recommend_product_price {
    text-align: right;
    font-size: 18px;
    font-weight: 350;
    line-height: 24px;
}
@media (max-width: 768px) {
    #page_product_detail .recommend_area .recommend_title {
        font-size: 24px;
        margin-bottom: 14px;
        padding: 0 5px;
    }
    #page_product_detail .recommend_area .recommend_description {
        font-size: 17px;
        margin-bottom: 14px;
        padding: 0 5px;
    }
    #page_product_detail .recommend_area .recommend_product_list {
        flex-wrap: wrap;
    }
    #page_product_detail .recommend_area .recommend_product_list .recommend_product_item {
        width: calc(50% - 4px);
    }
    #page_product_detail .recommend_area {
        padding-top: 20px;
    }
    #page_product_detail .recommend_area .recommend_product_list .recommend_product_item .recommend_product_name {
        font-size: 14px;
    }
    #page_product_detail .recommend_area .recommend_product_list .recommend_product_item .recommend_product_price {
        font-size: 12px;
    }
}


/* モーダル */
#purchase_guide,
#sample_guide {
    background-color: #FAF7F0;
}
.shopping_information.shopping_information_modal {
    border-top: none;
    padding: 0;
}
.shopping_information.shopping_information_modal .shopping_process_title {
    text-align: center;
    font-size: 28px;
    font-weight: 500;
    line-height: 32px;
    padding-bottom: 18px;
    padding-right: 2rem;
}
#purchase_guide .plainmodal-close,
#sample_guide .plainmodal-close {
    position: absolute;
    top: 3%;
    right: 1%;
    font-size: 40px;
    cursor: pointer;
    z-index: 9999;
}
.sample_guide_title {
    text-align: center;
    font-size: 28px;
    font-weight: 500;
    line-height: normal;
    border-bottom: 2px solid #9B1C15;
    padding-bottom: 18px;
    padding-right: 2rem;
}
.sample_guide_description {
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-weight: 350;
    line-height: normal;
    margin-bottom: 16px;
}
.sample_guide_modal .section {
    background-color: #FFF;
    border-radius: 8px;
    padding: 36px 36px 24px;
    width: 100%;
    display: flex;
    gap: 27px;
    margin-bottom: 24px;
}
.sample_guide_modal .section.lining_section {
    display: grid;
    grid-template-columns: 30% 70%;
    gap: 1rem;
    grid-template-areas:
        "desc1 group1"
        "desc1 group2"
        "desc2 group3";
}
.sample_guide_modal .section.name_print_section {
    display: grid;
    grid-template-columns: 30% 70%;
    gap: 1rem;
    grid-template-areas:
        "desc1 group1"
        "desc2 group2";
}
.sample_guide_modal .section.lining_section .section_description.desc1 {
    grid-area: desc1;
    width: 100%;
}
.sample_guide_modal .section.lining_section .section_description.desc2 {
    grid-area: desc2;
    width: 100%;
}
.sample_guide_modal .section.lining_section .lining_group.sunny {
    grid-area: group1;
    margin-bottom: 10px;
}
.sample_guide_modal .section.lining_section .lining_group.rubal {
    grid-area: group2;
    margin-bottom: 10px;
}
.sample_guide_modal .section.lining_section .lining_group.nylon {
    grid-area: group3;
    margin-bottom: 10px;
}
.sample_guide_modal .section.name_print_section .section_description.desc1 {
    grid-area: desc1;
    width: 100%;
}
.sample_guide_modal .section.name_print_section .section_description.desc2 {
    grid-area: desc2;
    width: 100%;
}
.sample_guide_modal .section.name_print_section .font_samples.group1 {
    grid-area: group1;
    margin-bottom: 10px;
}
.sample_guide_modal .section.name_print_section .font_samples.group2 {
    grid-area: group2;
    margin-bottom: 10px;
}
.sample_guide_modal .section .section_title {
    font-size: 24px;
    font-weight: 500;
    line-height: normal;
    margin-bottom: 10px;
}
.sample_guide_modal .section h4 span {
    font-size: 18px;
    font-weight: 500;
    line-height: 30px;
}
.sample_guide_modal .section .section_description {
    width: 30%;
}
.sample_guide_modal .section .section_description p{
    font-size: 22px;
    font-weight: 350;
    line-height: 34px;
}
.sample_guide_modal .section .leather_types{
    width: calc(70% - 27px);
    display: flex;
    gap: 1rem;
}
.sample_guide_modal .section .leather_colors {
    width: calc(70% - 27px);
    display: flex;
    gap: 1rem;
    flex-direction: column;
}
.sample_guide_modal .section .color_samples {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.sample_guide_modal .section .leather_colors .color_samples{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 10px;
}
.sample_guide_modal .section .font_examples {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 10px;
}
.sample_guide_modal .section .font_examples .font_example {
    width: calc(50% - 0.5rem);
    /* display: flex;
    flex-direction: column;
    gap: 10px; */
}
.sample_guide_modal .section .leather_types .leather_type,
.sample_guide_modal .section .leather_colors .color_item,
.sample_guide_modal .section .lining_group .color_item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: calc(33.33% - 1rem);
}
.sample_guide_modal .section .leather_colors .color_group h4,
.sample_guide_modal .section .lining_group h4,
.sample_guide_modal .section .font_type h4 {
    font-size: 22px;
    font-weight: 500;
    line-height: 30px;
    margin-bottom: 12px;
}
.sample_guide_modal .section .leather_types .leather_type .leather_name,
.sample_guide_modal .section .leather_colors .color_item .color_name,
.sample_guide_modal .section .lining_group .color_item .color_name,
.sample_guide_modal .section .font_examples .font_example .font_name {
    font-size: 22px;
    font-weight: 500;
    line-height: 30px;
}
.sample_guide_modal .section .font_examples .font_example .font_name span {
    font-size: 18px;
    font-weight: 350;
    line-height: 30px;
}
.sample_guide_modal .section .leather_types .leather_type .leather_description {
    font-size: 18px;
    font-weight: 350;
    line-height: 30px;
}
.sample_guide_modal .section .leather_types .leather_type .leather_sample,
.sample_guide_modal .section .leather_colors .color_item .color_box,
.sample_guide_modal .section .lining_group .color_item .color_box {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 8px;
}
.sample_guide_modal .section .font_examples .font_example .font_sample {
    width: 100%;
    height: auto;
    aspect-ratio: 318/200;
    border-radius: 8px;
    margin-bottom: 10px;
}
.sample_guide_modal .section .leather_types .leather_type .leather_sample img,
.sample_guide_modal .section .leather_colors .color_item .color_box img,
.sample_guide_modal .section .lining_group .color_item .color_box img,
.sample_guide_modal .section .font_examples .font_example .font_sample img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
    float: unset;
    border-radius: 8px;
}


/**
 * カスタムオーダー
 */
#content .custom_order_form_container,
#content .contact_container,
#content .contact_complete_container {
    padding: 0px 20px 80px;
    max-width: 1200px;
    margin: 0 auto;
}
#content .custom_order_form_header,
#content .contact_header {
    width: 100%;
    height: auto;
    aspect-ratio: 1200/120;
}
#content .custom_order_form_header img,
#content .contact_header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#content .custom_order_upper,
#content .contact_upper {
    background: repeating-linear-gradient(to bottom, #F3EEE3 0px, #F3EEE3 4px, #FAF7F0 4px, #FAF7F0 8px);
    display: flex;
    padding: 0px 20px 30px;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    /* gap: 32px; */
    border-bottom: 4px solid #9B1C15;
    margin-bottom: 30px;
}
#content .custom_order_upper .custom_order_title,
#content .contact_upper .contact_title {
    font-size: 42px;
    font-weight: 500;
    line-height: normal;
    margin: 42px 0 34px;
    line-height: 0.9;
}
#content .custom_order_upper .custom_order_description,
#content .contact_upper .contact_description {
    font-size: 22px;
    font-weight: 500;
    line-height: 34px;
}
#content .custom_order_upper .custom_order_description_note,
#content .contact_upper .contact_description_note {
    font-weight: 350;
}
#content .custom_order_content,
#content .contact_content {
    margin-bottom: 26px;
}
#content .custom_order_content .custom_order_content_title,
#content .contact_content .contact_content_title {
    font-size: 24px;
    font-weight: 500;
    line-height: 34px;
}
#content .custom_order_content .custom_order_content_description,
#content .contact_content .contact_content_description {
    font-size: 22px;
    font-weight: 350;
    line-height: 34px;
}
#content .form_group .halfInput {
    width: 45%;
    height: 100%;
    padding: 6px 12px;
    margin-bottom: 1rem;
    font-size: 1rem;
}
#content .form_group .ec-input,
#content .form_group .ec-telInput {
    width: 100%;
    height: 100%;
    padding: 6px 12px;
    margin-bottom: 1rem;
    font-size: 1rem;
}
#content .form_group .halfInput:last-of-type {
    margin-left: 15px;
}
#content .custom_order_product .product_info {
    display: flex;
    gap: 24px;
    margin-bottom: 36px;
}
#content .custom_order_product .product_info .product_image_container,
#content .product_info .product_image_container {
    width: 294px;
}
#content .custom_order_product .product_info .product_image,
#content .product_info .product_image {
    aspect-ratio: 1/1;
    height: 294px;
    object-fit: cover;
    margin-bottom: 13px;
}
#content .custom_order_product .product_info .product_image img,
#content .product_info .product_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}
#content .custom_order_product .product_info .product_name,
#content .product_info .product_name {
    text-align: center;
    font-size: 22px;
    font-weight: 350;
    line-height: 32px;
}
#content .custom_order_product .product_info .product_details {
    font-size: 22px;
    font-weight: 350;
    line-height: 32px;
}
#content .custom_order_product dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 0;
}
#content .custom_order_product dl dt {
    width: 30%;
    margin-bottom: 10px;
}
#content .custom_order_product dl dd {
    width: 60%;
    margin-bottom: 10px;
}
#content .custom_order_form .section_title,
#content .contact_form .section_title {
    font-size: 24px;
    font-weight: 500;
    line-height: 34px;
}
#content .custom_order_form .section_title .required,
#content .contact_form .section_title .required {
    font-size: 18px;
    color: #9B1C15;
}
#content .custom_order_form .section_description,
#content .contact_form .section_description {
    font-size: 22px;
    font-weight: 350;
}
#content .contact_form .form_section {
    margin-bottom: 32px;
}
#content .custom_order_form .form_section.reference_images,
#content .custom_order_form .form_section.customer_info {
    margin-bottom: 32px;
}
#content .custom_order_form .form_section.customer_info .section_title,
#content .custom_order_form .form_section.privacy_policy .section_title {
    margin-bottom: 14px;
}
#content .custom_order_form .form_section .privacy_policy .privacy_policy_link {
    font-size: 22px;
    font-weight: 350;
    line-height: 44px;
    text-decoration: none;
    color: black;
    display: block;
}
.image-upload-slot.preview:hover .delete-overlay {
    opacity: 1;
}

#content .custom_order_form .privacy_policy {
    margin-bottom: 36px;
}
#content .custom_order_form .privacy_policy_checkbox {
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 10px;
    display: inline-flex;
}
#content .custom_order_form .privacy_policy_checkbox .inner-circle {
    fill: none;
}
#content .custom_order_form .privacy_policy_checkbox.checked .inner-circle {
    fill: #9B1C15;
}
#content .custom_order_form .privacy_policy_checkbox:hover {
    opacity: 0.7;
}
#content .custom_order_form .form_buttons,
#content .form_buttons {
    display: flex;
    gap: 8px;
    justify-content: center;
    width: 100%;
}
#content .form_buttons .back_button,
#content .form_buttons .submit_button {
    width: calc(50% - 4px);
    max-width: 600px;
    height: 95px;
    padding: 20px 0px;
    text-align: center;
    font-size: 32px;
    font-weight: 500;
    background: none;
    border-radius: 8px;
    border: 2px solid #858585;
    color: black;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 768px) {
    #content .form_buttons .back_button,
    #content .form_buttons .submit_button {
        font-size: 24px;
        height: 80px;
        padding: 0;
    }
    #content .custom_order_upper .custom_order_title {
        font-size: 32px;
        margin: 32px 0 24px;
    }
    #content .custom_order_product .product_info {
        flex-direction: column;
    }
    #content .custom_order_product .product_info .product_image_container,
    #content .product_info .product_image_container {
        width: 100%;
    }
    #content .custom_order_product .product_info .product_image {
        height: unset;
    }
}


/* Image Uploader */
#image-upload-container {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
}

.image-upload-slot {
    /* width: 160px;
    height: 160px; */
    width: calc(25% - 16px);
    aspect-ratio: 1/1;
    /* border: 2px dashed #ccc; */
    border-radius: 8px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    /* background-color: #fff; */
    overflow: hidden;
    border: 1px solid #868686;
}

.image-upload-slot.preview {
    border-style: solid;
    border-color: #ddd;
    cursor: pointer;
}

.image-upload-slot .upload-label {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    cursor: pointer;
    color: black;
    text-align: center;
}

.image-upload-slot .upload-label .plus-icon {
    font-size: 40px;
    font-weight: 300;
    line-height: 1;
}

.image-upload-slot .upload-label .upload-text {
    font-size: 16px;
    margin-top: 8px;
}

#content .image-upload-slot .preview-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.image-upload-slot .delete-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none; /* Allows click to pass through to slot */
}
@media (max-width: 768px) {
    .image-upload-slot  {
        width: calc(50% - 16px);
    }
}

.image-upload-slot.preview:hover .delete-overlay {
    opacity: 1;
}

/* Custom Order Confirm Page */
.custom_order_confirm_container .custom_order_upper .custom_order_title {
    margin-bottom: 0;
}

.custom_order_confirm_container .form_section {
    margin-bottom: 24px;
}

.custom_order_confirm_container .custom_order_form > .form_section:last-of-type {
    border-bottom: none;
}

.custom_order_confirm_container .confirm_value,
#content .contact_form .confirm_value {
    font-size: 22px;
    font-weight: 350;
    line-height: 1.6;
    padding: 16px;
    border: 2px solid #868686;
    border-radius: 8px;
    margin: 10px 0;
    background: white;
}

.custom_order_confirm_container .confirm_list,
#content .contact_form .confirm_list {
    font-size: 22px;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}

.custom_order_confirm_container .confirm_list dt,
#content .contact_form .confirm_list dt {
    font-weight: 350;
    margin-bottom: 14px;
    width: 30%;
}
.custom_order_confirm_container .confirm_list dd,
#content .contact_form .confirm_list dd {
    margin-bottom: 16px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    width: 70%;
}

.custom_order_confirm_container #image-upload-container {
    justify-content: flex-start;
}

.custom_order_confirm_container #image-upload-container .image-upload-slot {
    border: 1px solid #ddd;
    cursor: default;
}

.custom_order_confirm_container .form_buttons {
    margin-top: 40px;
}

.custom_order_confirm_container .form_buttons form {
    width: calc(50% - 4px);
    max-width: 600px;
    margin: 0;
}

.custom_order_confirm_container .form_buttons .submit_button {
    width: 100%;
}


@media (max-width: 768px) {
    .image-upload-slot  {
        width: calc(50% - 16px);
    }
}

#content .ec-login .ec-icon img {
    display: inline-block;
}
#page_mypage_login .ec-role,
#page_forgot .ec-role,
#page_forgot_complete .ec-role {
    padding-top: 35px;
    border-top: 4px solid #9B1C15;
}
#content .ec-login {
    background: unset;
}
#content .form_buttons .login_button {
    width: 100%;
    margin-bottom: 1rem;
}
#content .ec-login .ec-login__link {
    margin-left: 0;
    text-align: center;
}

#content .mypage_container,
#content .help_container,
#content .entry_container,
#content .cart_container {
    padding: 40px 20px;
    border-top: 4px solid #9B1C15;
    max-width: 1200px;
    margin: 0 auto;
}
#content .ec-navlistRole .ec-navlistRole__item:hover {
    background: unset;
}
#content .change_complete_title {
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 21px;
    line-height: normal;
    font-family: "Noto Sans JP";
}
#content .form_buttons .a-tag {
    display: block;
    border-radius: 8px;
    border: 2px solid #858585;
    color: black;
}
#content .form_buttons .change_complete_button,
#content .form_buttons .change_button {
    margin-top: 1rem;
}

#content .ec-rectHeading h2 {
    font-size: 20px;
    font-weight: 500;
    line-height: unset;
    padding: 8px 12px;
    color: unset;
    /* background: unset; */
    font-family: unset;
}

#content .help_container ol {
    padding-left: 0;
}
#content .entry_container,
#content .help_container {
    font-size: 16px;
    line-height: 1.4;
    color: #525263;
}
#content .ec-reportHeading h2 {
    text-align: center;
}
#content .ec-cartRole__totalText {
    text-align: center;
    margin-bottom: 1rem;
}

/* Footer */
.footer_category {
    margin: 15px 0;
    display: flex;
    justify-content: center;
    gap: 22px;
    max-width: 1200px;
    margin: 24px auto 30px;
}
.footer_category_title,
.footer_category_item {
    color: #FAF7F0;
    font-size: 16px;
    font-weight: 400;
    white-space: nowrap;
}
.footer_category_list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.footer_category_title:hover,
.footer_category_item:hover {
    opacity: 0.7;
    color: unset;
}

@media (max-width: 768px) {
    #content .mypage_container,
    #content .help_container,
    #content .entry_container,
    #content .cart_container {
        padding: 20px 10px;
    }
    .footer_category {
        flex-direction: column;
        align-items: center;
        gap: 5px;
    }
    .footer_category_title,
    .footer_category_item {
        font-size: 14px;
    }
    .footer_category_list {
        justify-content: center;
    }
}

#page_contact .ec-layoutRole__main {
    background-color: #FAF7F0;
    min-height: 100%;
    /* padding-bottom: 60px; */
}
/* #content .contact_container {
    border-top: 4px solid #9B1C15;
    padding-top: 40px;
} */

/* Sitemap */
.sitemap-list {
    padding-left: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 2rem;
}

.sitemap-list li a {
    color: #000;
    text-decoration: none;
}

.sitemap-list li a:hover {
    opacity: 0.7;
}

@media (max-width: 768px) {
    .sitemap-list {
        grid-template-columns: 1fr;
    }
}
