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

/* ************************************************************** */
/* reset */
/* ************************************************************** */
/*
html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/
/* ************************************************************** */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd,
fieldset, form, label, legend,
article, aside, dialog, figure, footer, header,
menu, nav, section,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: transparent;
}

article, aside, dialog, figure, footer, header,
nav, section {
    display:block;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: "";
    content: none;
}

a {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    background: transparent;
    outline: 0;
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted #000;
    cursor: help;
}

table {
    border-collapse: collapse;
}

caption {
    color: inherit;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input, select {
    vertical-align: middle;
}


/* ************************************************************** */
/* font size */
/* ************************************************************** */
/*
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 2.8.2r1
*/
/*
 * YUI Fonts
 * @module fonts
 * @namespace yui-
 * @requires
 */

/*
 * Percents could work for IE, but for backCompat purposes, we are using keywords.
 * x-small is for IE6/7 quirks mode.
 */

/*
font-size

    77%  = 10px |   123.1% = 16px   |   167% = 22px
    85%  = 11px |   131%   = 17px   |   174% = 23px
    93%  = 12px |   138.5% = 18px   |   184% = 24px
    100% = 13px |   146.5% = 19px   |   192% = 25px
    108% = 14px |   153.9% = 20px   |   197% = 26px
    116% = 15px |   161.6% = 21px   |

*/
/* ************************************************************** */

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: normal;
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Bold");
    font-weight: bold;
}

body {
    font: 13px/1.231 -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
    font-feature-settings : "pkna";
    word-wrap: break-word;
    overflow-wrap: break-word;
}

body .en_version,
.en_version body {
    font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Segoe UI", "Yu Gothic", Meiryo, sans-serif;
}

/* for IE (* "Yu Gothic" font has a bug in IE. [Bottom of the text margin]) */
@media all and (-ms-high-contrast: none) {
    body {
        font: 13px/1.231 Meiryo, sans-serif;
    }
}

/**
 * Nudge down to get to 13px equivalent for these form elements
 */
select,
input,
button,
textarea,
button {
    font: 99% -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

.en_version select,
.en_version input,
.en_version button,
.en_version textarea,
.en_version button {
    font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Segoe UI", "Yu Gothic", Meiryo, sans-serif;
}

select,
input,
button,
button {
    font-feature-settings : "pkna";
}

/**
 * To help tables remember to inherit
 */
table {
    font-size: inherit;
    font: 100%;
}

/**
 * Bump up IE to get to 13px equivalent for these fixed-width elements
 */
pre,
code,
kbd,
samp,
tt {
    font-family: monospace;
    line-height: 100%;
}

p, li, dt, dd, th, td , input, textarea, select, h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.1;
}


/* ************************************************************** */
/* common */
/* ************************************************************** */

*,
*::before,
*::after {
    box-sizing: inherit;
}

html,
A,
input[type="submit"],
input[type="image"],
input[type="button"],
button,
.swiper-button-prev,
.swiper-button-next {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

body {
    padding: 0;
    margin: 0;
    height: 100%; /* for Edge bug to flicker */
}

p {
    margin: 1em 0;
}

select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="search"],
input[type="password"],
textarea {
    font-size: 16px;
}

.large_font select,
.large_font input[type="text"],
.large_font input[type="email"],
.large_font input[type="tel"],
.large_font input[type="url"],
.large_font input[type="number"],
.large_font input[type="search"],
.large_font input[type="password"],
.large_font textarea {
    font-size: 20px;
}

input[type="radio"]:checked,
input[type="checkbox"]:checked {
    border: 1px solid #CCCCCC;
}

select {
    height: 2em;
    color: #000000;
}

.ios select {
    height: auto;
}

select,
input[type="file"] {
    max-width: 100%;
}

input {
    line-height: normal;
}

#shop_approval_banner {
    background-color: #FF0000;
}

form {
    display: inline;
}

button {
    padding: 2px 6px;
    background-color: #EEEEEE;
    color: #000000;
}

.text-bold {
    font-weight: bold;
}

.title_note {
    margin-left: 5px;
    display: inline-block;
    font-size: 85%;
    font-weight: normal;
}

@media screen and (max-width: 320px) {
    /* 購入履歴詳細 タイトルの受注番号*/
    .history_id_info {
        margin-top: 5px;
        margin-left: 0;
        display: block;
    }
}

/* To prevent extra scrolling */
pre {
    padding: 1px 0;
}

/* list tag reset */

.reset_list_style,
.list_item_row,
.swiper-wrapper,
.global_note,
.menu_link_list,
.sub_menu_link_list,
ul.form_box,
.step_list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.reset_list_style,
.reset_list_style li,
.list_item_row,
.list_item_cell {
    background: transparent;
}

.reset_list_style,
.reset_list_style li,
.list_item_row,
.list_item_cell,
ul.form_box li {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
}

img {
    height: auto;
}


/* ************************************************************** */
/* base setting for IE11 */
/* ************************************************************** */

@-ms-viewport
{
    width: auto;
}

@viewport
{
    width: device-width;
}

html {
    -ms-overflow-style: scrollbar;
}


/* ************************************************************** */
/* outline */
/* ************************************************************** */

#container {
    width: 100%;
    min-width: 300px;
    margin: auto;
    line-height: 1.6;
    overflow: hidden;
}

@supports (overflow: clip) {
    #container {
        overflow: clip;
    }
}

#maincol {
    width: 100%;
}

#main_container {
    padding: 10px 0 10px 0;
    clear: both;
}

.inner_side_container,
#inner_main_container {
    padding-top: 1px;
    padding-bottom: 1px;
}

.page_box {
    position: relative;
}

/* (browser height) - (min footer height) - (min header height) */
/*
.min_contents {
    min-height: calc(100vh - 88px - 58px);
}

.single_layout .popup_page .min_contents {
    min-height: 0;
}

.min_header #header {
    min-height: 58px;
    box-sizing: border-box;
}

.min_footer {
    min-height: 88px;
}

.large_font footer .min_footer {
    font-size: 14px;
    line-height: 1;
}
*/

.vertical_stacking {
    min-height: 100vh;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-content: space-between;
    align-content: space-between;
}

.stacking_item {
    width: 100%;
    box-sizing: border-box;
}


/* ************************************************************** */
/* table */
/* ************************************************************** */

table {
    max-width: 100%;
}

td {
    width: auto;
}

.data_table_box {
    width: 100%;
    overflow: auto;
}

.data_table {
    width: 100%;
    box-sizing: border-box;
}

.data_table,
.data_table caption,
.data_table tbody,
.data_table tfoot,
.data_table thead,
.data_table tr,
.data_table th,
.data_table td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

.data_table caption {
    caption-side: top;
}

.data_table .cell_header {
    vertical-align: middle;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap : break-word;
}

.data_table .cell_header,
.data_table .cell_data {
    box-sizing: content-box;
}

.table_layout_fixed {
    table-layout: fixed;
}

.ie11 .table_layout_fixed {
    table-layout: auto;
}

.table_caption {
    padding: 5px 0;
    text-align: left;
}

.cellbold {
    font-weight: bold;
}

.cellnormal {
    font-weight: normal;
}

.cellleft {
    text-align: left;
}

.cellright {
    text-align: right;
}

.cellcenter {
    text-align: center;
}

.nodata {
    padding: 30px 0;
}


/* ************************************************************** */
/* img */
/* ************************************************************** */

img,
A img {
    max-width: 100%;
    border: none;
    vertical-align: middle;
}

.img_opacity {
    opacity:0.2;
    filter: alpha(opacity=20);
}

.img_opacity_deep {
    opacity:0.4;
    filter: alpha(opacity=40);
}

.data_table .item_photo img {
    max-width: none;
}

.txt_article img {
    height: auto;
}


/* ************************************************************** */
/* text */
/* ************************************************************** */

.indentation {
    text-indent: 1em;
}

.double_indentation {
    text-indent: 2em;
}

.timezone {
    display: none;
}

.text_center {
    text-align: center;
}

.ellipsis {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.colon {
    margin-left: 1px;
    display: inline-block;
}


/* ************************************************************** */
/* form element */
/* ************************************************************** */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="number"],
input[type="password"],
textarea {
    padding: 5px;
    border: #999999 solid 1px;
    border-radius: 5px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
    box-sizing: border-box;
}

select {
    padding: 4px;
    border: #999999 1px solid;
    border-radius: 5px;
    vertical-align: middle;
}

.display_number select {
    padding: 2px 3px;
    height: auto;
}

input[type="radio"],
input[type="checkbox"] {
    margin-right: 7px;
    padding: 0;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    box-sizing: content-box;
    cursor: pointer;
    vertical-align: middle;
    will-change: transform;
}

input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
    cursor: default;
}

input[type="radio"] {
    border-radius: 1em;
}

input[type="checkbox"] {
    border-radius: 5px;
}

input[type="submit"],
input[type="button"],
input[type="reset"],
button,
.global_btn A {
    border: none;
    border-radius: 5px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
    display: inline-block;
    cursor: pointer;
}

input:focus,
textarea:focus {
    border-color: rgba(82, 168, 236, 0.8);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
}

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus,
select:focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
    box-shadow: none;
}

input[type="radio"] + label,
input[type="checkbox"] + label {
    cursor: pointer;
    vertical-align: middle;
}

.question_checklist,
.check_item {
    margin: 5px 15px 5px 5px;
    display: inline-block;
}

.question_checklist input[type="radio"],
.question_checklist input[type="checkbox"],
.check_item input[type="radio"],
.check_item input[type="checkbox"] {
}

input[type="submit"][disabled="disabled"],
input[type="button"][disabled="disabled"],
input[type="image"][disabled="disabled"],
button[disabled="disabled"],
.use_hover input[type="submit"][disabled="disabled"]:hover,
.use_hover input[type="button"][disabled="disabled"]:hover,
.use_hover input[type="image"][disabled="disabled"]:hover,
.use_hover button[disabled="disabled"]:hover {
    opacity: 0.4;
    cursor: default;
}

.en_version .btn input {
    min-width: 70px;
}

.en_version .btn .searchinput {
    min-width: inherit;
}

.form_alpha {
    opacity: 0.3;
}

.form_data {
    box-sizing: border-box;
}

.form_set {
    padding-bottom: 10px;
}

.selection_label {
    padding: 2px;
    display: inline-block;
    vertical-align: middle;
}

.form_inner_title input[type="radio"] {
    margin-left: 10px;
}

.radio_selection_box input[type="radio"] {
    margin-left: 5px;
}

.form_data .radio_selection_box {
    padding-left: 5px;
    padding-right: 5px;
}

.radio_selection_box {
    cursor: pointer;
}

.checklist_input label,
.order_checklist_box label,
.radio_selection_box label {
    display: inline;
}

.require {
    margin-left: 5px;
    display: inline-block;
    font-size: 77%;
}

.checklist_input,
.select_box,
.select_list_input {
    display: inline-block;
}

.select_box {
    max-width: 100%;
}

.sort_item .select_box {
    display: block;
}

.form_element input[type="tel"] {
    margin-left: 2px;
    margin-right: 2px;
}

.form_element input[type="tel"]:first-of-type {
    margin-left: 0;
}

.form_element input[type="tel"]:last-of-type {
    margin-right: 0;
}

.entry_box {
    position: relative;
    display: inline-block;
}

.entry_box .loading {
    position: absolute;
    left: 8px;
    top: 5px;
}

.loading_wrapper {
    position: relative;
}

.loading_wrapper .loading {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.form_data textarea.largesize {
    max-width: 900px;
}

.page_box .edit_form .ok_row input[type=radio]:checked,
.page_box .edit_form .ok_row input[type=checkbox]:checked {
    background-color: currentColor;
}

/* select reset */
.sort select {
    font-size: 13px;
    padding: 0;
}

/* checkbox reset */
.sort input[type="checkbox"] {
    margin-right: 2px;
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
    cursor: pointer;
}


/* checked animation */

@-webkit-keyframes inout {
    30% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }
    70% {
        -webkit-transform: scale(0.3);
        transform: scale(0.3);
    }
    90% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    100% {
        -webkit-transform: none;
        transform: none;
    }
}
@keyframes inout {
    30% {
        -webkit-transform: scale(2.3);
        transform: scale(2.3);
    }
    70% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
    }
    90% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    100% {
        -webkit-transform: none;
        transform: none;
    }
}

input[type="radio"]:checked,
input[type="checkbox"]:checked {
    -webkit-animation: inout 0.3s linear;
    animation: inout 0.3s linear;
}


/* ************************************************************** */
/* form error */
/* ************************************************************** */

.form_area .error_row {
    margin-bottom: 5px;
}

.form_check {
    margin: 0 2px;
}

.error_status img {
    padding-right: 3px;
}

.form_area .form_error {
    margin: 5px;
}

.ordermade .form_error {
    margin-bottom: 5px;
}

.ordermade .form_error .order_item {
    padding-left: 5px;
    padding-right: 5px;
    border: none;
}

.form_ok {
    padding-left: 5px;
}

.form_status,
.form_status .ok_status,
.form_status .error_status {
    display: inline-block;
}

.checklist_box .form_status {
    display: inline;
}

.confirmation_input {
    margin-top: 5px;
}

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

    .jpn_version .form_error.type_tel .form_element {
        padding-left: 1px;
        padding-right: 0;
    }

}

.order_restrictions {
    margin-top: 5px;
}

.restriction_title {
    margin-bottom: 5px;
    padding: 5px 0;
}

.order_restriction_shipping {
    margin-bottom: 0;
    padding-left: 1.3em;
    list-style: none;
}

.order_restriction_shipping_item {
    margin: 5px 0;
}

.restriction_product {
    margin-bottom: 10px;
    padding-left: 1.4em;
    list-style: outside;
    font-size: 93%;
}

.restriction_detail {
    font-size: 77%;
}

/* ************************************************************** */
/* form layout */
/* ************************************************************** */

.global_note {
    margin: 15px;
    text-align: left;
}

.form_btn .global_note {
    margin: 5px 0;
}

.inner_contents_box .global_note {
    margin: 5px 0;
}

.global_note li {
    padding: 5px 5px 5px 15px;
    position: relative;
}

.global_note .list_icon_circle {
    position: absolute;
    left: 1px;
    top: auto;
    line-height: 1.6;
    -webkit-transform: scale(0.3);
    transform: scale(0.3);
}

.custom_note {
    margin: 10px 0;
    padding: 0 10px;
}

.form_area_wrapper,
.form_info_wrapper {
    padding: 0 5px;
    display: block;
}

.form_data,
.form_inner_data {
    padding: 5px;
    margin: 0;
}

.form_header {
    line-height: normal;
}

.form_title {
    padding: 10px 0;
}

.form_inner_title {
    padding: 10px 0;
}

.form_element,
.form_inner_element {
    padding: 10px 0 0;
}

.form_desc {
    padding: 5px;
}

div.cell_note,
p.cell_note {
    padding: 5px;
}

p.cell_note {
    margin: 0;
}

span.cell_note {
    display: inline-block;
}

.lower_cell_note_box {
    margin-top: 3px;
    line-height: 1.3;
}

.lower_cell_note_box p {
    margin: 0;
}

.form_data .sectitle .company_note,
#address1_title,
#address2_title,
#address3_city {
    font-weight: normal;
}

.label_note {
    margin-left: 5px;
    display: inline-block;
    font-size: 85%;
    font-weight: normal;
}

.no_wrap_label {
    white-space: nowrap;
}

.inline_form {
    display: inline;
}

.global_bottom_info {
    width: 80%;
    margin: 40px auto 0 auto;
    padding: 10px;
    text-align: center;
}

.large_font .global_bottom_info {
    width: 90%;
}


/* ************************************************************** */
/* flex layout */
/* ************************************************************** */

.flex_layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}


/* flex-direction */

.flex_row {
    -webkit-flex-direction: row;
            flex-direction: row;
}

.flex_column {
    -webkit-flex-direction: column;
            flex-direction: column;
}

.flex_row-reverse {
    -webkit-flex-direction: row-reverse;
            flex-direction: row-reverse;
}

.flex_column-reverse {
    -webkit-flex-direction: column-reverse;
            flex-direction: column-reverse;
}


/* flex-wrap */

.flex_nowrap {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
}

.advanced_flex_wrap,
.flex_wrap {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.flex_wrap-reverse {
    -webkit-flex-wrap: wrap-reverse;
        -ms-flex-wrap: wrap-reverse;
            flex-wrap: wrap-reverse;
}


/* justify-content */

.flex_j_start {
           -webkit-box-pack: start;
              -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
            justify-content: flex-start;
}

.flex_j_end {
           -webkit-box-pack: end;
              -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
            justify-content: flex-end;
}

.flex_j_center {
           -webkit-box-pack: center;
              -ms-flex-pack: center;
    -webkit-justify-content: center;
            justify-content: center;
}

.flex_j_between {
           -webkit-box-pack: justify;
              -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
            justify-content: space-between;
}

.flex_j_around {
    -webkit-justify-content: space-around;
            justify-content: space-around;
}


/* align-items */

.flex_a_start {
      -webkit-box-align: start;
    -webkit-align-items: flex-start;
            align-items: flex-start;
}

.flex_a_end {
      -webkit-box-align: end;
    -webkit-align-items: flex-end;
            align-items: flex-end;
}

.flex_a_center {
      -webkit-box-align: center;
    -webkit-align-items: center;
            align-items: center;
}

.flex_a_baseline {
      -webkit-box-align: baseline;
    -webkit-align-items: baseline;
            align-items: baseline;
}

.flex_a_stretch {
      -webkit-box-align: stretch;
    -webkit-align-items: stretch;
            align-items: stretch;
}


/* align-content */

.flex_c_start {
    -webkit-align-content: flex-start;
            align-content: flex-start;
}

.flex_c_end {
    -webkit-align-content: flex-end;
            align-content: flex-end;
}

.flex_c_center {
    -webkit-align-content: center;
            align-content: center;
}

.flex_c_between {
    -webkit-align-content: space-between;
            align-content: space-between;
}

.flex_c_around {
    -webkit-align-content: space-around;
            align-content: space-around;
}


/* align-self */

.flex_s_start {
    -webkit-align-self: flex-start;
            align-self: flex-start;
}

.flex_s_end {
    -webkit-align-self: flex-end;
            align-self: flex-end;
}

.flex_s_center {
    -webkit-align-self: center;
            align-self: center;
}

.flex_s_baseline {
    -webkit-align-self: baseline;
            align-self: baseline;
}

.flex_s_stretch {
    -webkit-align-self: stretch;
            align-self: stretch;
}


/********************************************************************/
/* list column */
/********************************************************************/

.column1 .wrapped_item,
.column2 .wrapped_item,
.column3 .wrapped_item,
.column4 .wrapped_item,
.column5 .wrapped_item,
.column6 .wrapped_item,
.layout_column_text .wrapped_item {
    box-sizing: border-box;
}

.column1 .wrapped_item {
    width: 100%;
}

.column2 .wrapped_item {
    width: 50%;
}

.column3 .wrapped_item {
    width: 33.33%;
}

.column4 .wrapped_item{
    width: 25%;
}

.column5 .wrapped_item {
    width: 20%;
}

.column6 .wrapped_item {
    width: 16.66%;
}

.column1 .wrapped_item A,
.column2 .wrapped_item A,
.column3 .wrapped_item A,
.column4 .wrapped_item A,
.column5 .wrapped_item A,
.column6 .wrapped_item A {
    width: 100%;
    position: relative;
    box-sizing: border-box;
}

.large_font .column2 .advanced_flex_wrap .wrapped_item {
    width: 100%;
}

.layout_column_text .list_item_cell,
#right_side_col .layout_column_text .list_item_cell,
#left_side_col .layout_column_text .list_item_cell {
    width: 100%;
}

#right_side_col .layout_column_text .list_item_cell,
#left_side_col .layout_column_text .list_item_cell {
    padding-left: 0;
    padding-right: 0;
}

.column2 .padfix li {
    padding-left: 2px;
    padding-right: 2px;
}


/* layout photo product list (tiled_list) */

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

    .large_font .column3 .tiled_list .list_item_cell {
        width: 50%;
    }

}

@media screen and (min-width: 480px) {

    .column2 .tiled_list .list_item_cell {
        width: 33.33%;
    }

}


/* help upper anchor nav */

.anchor_nav_area .flex_wrap .wrapped_item {
    width: 50%;
}

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

    .large_font .anchor_nav_area .flex_wrap .wrapped_item {
        width: 100%;
    }

}


/* ************************************************************** */
/* webkit */
/* ************************************************************** */

body {
    -webkit-text-size-adjust: 100%;
}

/* Measures to suppress flickering of transform in safari (Hack for Safari) */
_::-webkit-full-page-media,
_:future,
:root .menu_link_item a {
    -webkit-transform: perspective(0);
}

a[href="javascript:void(0);"] {
    -webkit-touch-callout: none;
}


/* ************************************************************** */
/* iOS Safe Area */
/* ************************************************************** */

/* left & right safe area */

.uppermost_note,
.header,
.global_nav,
.popup_base,
#contents_top,
#contents_bottom,
#photo,
#contents,
#footer_free_top,
.footer_nav,
.footer_pc_site_box,
#footer,
#ochanoko,
.overlay_product .modal_skin,
.free_contents_container {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}

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

    .open_side_col #left_side_col {
        padding-left: env(safe-area-inset-left);
        box-sizing: content-box;
    }

    .open_side_col #right_side_col {
        padding-right: env(safe-area-inset-right);
        box-sizing: content-box;
    }

}

/* bottom safe area */

.footer_area {
    padding-bottom: env(safe-area-inset-bottom);
}

.disabled_safe_area_bottom {
    padding-bottom: 0;
}

.disabled_safe_area_bottom #inner_ochanoko {
    padding-bottom: env(safe-area-inset-bottom);
}


/* ************************************************************** */
/* bootstrap */
/* ************************************************************** */

[class*="col-"] {
    padding-left: 1rem;
    padding-right: 1rem;
}


/* ************************************************************** */
/* parts */
/* ************************************************************** */

.drop_shadow {
    box-shadow: 0 19px 38px rgba(0, 0, 0, 0.24), 0 15px 12px rgba(0, 0, 0, 0.12);
}


/* ************************************************************** */
/* layout */
/* ************************************************************** */

.fix_center {
    width: 100%;
    margin: 0 auto;
}

.main_box,
.page_box {
    box-sizing: border-box;
}

.module_box .toggle_opened {
    margin-top: 25px;
    margin-bottom: 25px;
}

.phone_layout #inner_container {
    max-width: none;
}


/* ************************************************************** */
/* title */
/* ************************************************************** */

.page_title,
.section_title,
.has_right_edge_btn {
    position: relative;
    line-height: normal;
}

.page_box .page_title h1,
.page_box .page_title h2 {
    padding-left: 10px;
    padding-right: 10px;
}

.page_box .section_title h2,
.page_box .section_title h3 {
    margin-top: 1px;
    padding-left: 10px;
    padding-right: 10px;
}

.section_title_right_edge h2,
.section_title_right_edge h1 {
    padding-right: 60px;
}

.section_title_right_edge .inner_btn {
    position: absolute;
    top: 9px;
    right: 5px;
}

.page_title_right_edge .global_btn,
.section_title_right_edge .global_btn,
.section_title_right_edge .inner_title_btn,
.form_title_right_edge .global_btn {
    position: absolute;
    top: 50%;
    right: 5px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.page_title_right_edge .global_btn A,
.section_title_right_edge .global_btn A {
    vertical-align: bottom;
}

.page_title_right_edge .global_iconleft A,
.section_title_right_edge .global_iconleft A {
    padding-left: 25px;
    padding-right: 15px;
    position: relative;
}

.recently .section_title_right_edge .global_iconleft A {
    padding-left: 20px;
}

.recently .section_title_right_edge .global_iconleft A:not(:has(.inner_title_icon)) {
    padding-left: 5px;
}

.page_title_right_edge .global_iconleft .inner_title_icon,
.section_title_right_edge .global_iconleft .inner_title_icon {
    position: absolute;
    left: 5px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: inline-block;
}

.page_title_right_edge .icon_btn,
.section_title_right_edge .icon_btn {
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: inline-block;
    cursor: pointer;
    font-size: 20px;
    line-height: 20px;
}

.fix_center .page_box .page_title_right_edge h2,
.fix_center .page_box .section_title_right_edge h2 {
    padding-right: 70px;
}

.large_font .fix_center .page_box .page_title_right_edge h2,
.large_font .fix_center .page_box .section_title_right_edge h2 {
    padding-right: 90px;
}

.page_box .contents_box .page_title_right_edge h3,
.page_box .contents_box .section_title_right_edge h3 {
    padding-right: 100px;
}

#shoppingcart_page_step5 .page_box .contents_box .page_title_right_edge h3,
#shoppingcart_page_step5 .page_box .contents_box .section_title_right_edge h3 {
    padding-right: 10px;
}

.page_box .section_title .title_toggle_link h2,
.page_box .section_title .title_toggle_link h3,
.side_box .section_title .title_toggle_link h2,
.side_box .section_title .title_toggle_link h3 {
    padding-right: 24px;
}

.page_box .section_title h4 {
    margin-top: 5px;
}

.page_box .form_set .section_title h4 {
    margin-top: 10px;
    margin-bottom: 5px;
}


/* ************************************************************** */
/* breadcrumb */
/* ************************************************************** */

.breadcrumb_area {
    padding-top: 10px;
}

.breadcrumb_list {
    margin: 0;
    padding: 5px;
    list-style: none;
}

.large_font .breadcrumb_list {
    line-height: 1.5;
}

.breadcrumb_nav {
    display: inline-block;
    background: transparent;
}


/* ************************************************************** */
/* popup window */
/* ************************************************************** */

.popup_page #maincol {
    width: auto;
}

.popup_page #main_container {
    padding: 10px 0 5px 0;
}

.popup_contents_data {
    margin: 10px 0;
}


/* ************************************************************** */
/* search */
/* ************************************************************** */

.search_bar {
    opacity: 1;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
}

.header .hidden_search_bar {
    opacity: 0;
}

.inner_search_bar {
    position: relative;
}

.hidden_search_bar .inner_search_bar {
    display: none;
}

.search_bar .search {
    padding: 10px 0;
    text-align: center;
}

.search_close {
    position: absolute;
    right: 6px;
    bottom: 16px;
    display: inline-block;
    cursor: pointer;
    color: #FFFFFF;
    font-size: 20px;
    line-height: 20px;
}

.clear_link {
    display: inline-block;
}

.search_btn_box {
    padding: 5px;
    position: relative;
    text-align: center;
}

.search_btn_box .clear_link {
    padding: 0;
    position: absolute;
    right: 5px;
}

.search_text_field {
    width: 60%;
    max-width: 500px;
}

.search_box {
    max-width: 100%;
}

.search_bar .search_box {
    width: 55%;
}

@media screen and (max-width: 330px) {
    #bbs_search_text {
        width: 50%;
    }
}

@media screen and (min-width: 360px) {
    .search_bar .search_box {
        width: 60%;
    }
}

@media screen and (min-width: 480px) {
    .search_bar .search_box {
        width: 70%;
    }
    #bbs_search_text {
        width: 65%;
    }
}

@media screen and (min-width: 660px) {
    .search_bar .search_box,
    #bbs_search_text {
        width: 500px;
    }
}

.search_form .searchinput {
    margin: 4px 0;
}

.search_form .searchinput_image {
    margin: 7px 0;
}

.side_search_box {
    text-align: center;
}

.side_search_box .search_box {
    width: 140px;
}

.main_search_box .search_box {
    width: 70%;
    max-width: 400px;
}

/*
.filter_value_box {
    margin-right: 15px;
    display: inline-block;
}

.filter_value {
    display: inline-block;
}

.count_number .filter_value_box {
    margin-right: 0;
    position: absolute;
    top: auto;
    right: 0;
}
*/


/* ************************************************************** */
/* poplink */
/* ************************************************************** */

.poplink_suggest .word,
.poplink .close_button {
    cursor: pointer;
}

.poplink .image_box {
    margin-top: 0.5em;
}


/* ************************************************************** */
/* sort */
/* ************************************************************** */

.sort {
    margin-top: 10px;
    padding: 0 5px;
}

.without_sort_toggle {
    margin-top: 10px;
}

.sort_toggle A {
    display: block;
}

.sort_toggle,
.item_sort_form .upper_sort_area {
    width: 50%;
    box-sizing: border-box;
}

.item_sort_form .upper_sort_area {
    min-width: 70px;
}

.sort_toggle {
    min-width: 210px;
}

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

    .sort_toggle {
        font-size: 14px;
    }

}

.item_sort_form {
    padding: 0 1px;
    display: block;
}

.toggle_closed .sort_item {
    border-bottom-width: 0;
    box-sizing: border-box;
}

.sort_box .box_padding {
    max-width: 100%;
    padding: 5px;
    display: inline-block;
}

.sort_layout_btn {
    display: inline-block;
}

.sort_layout_btn .icon_btn {
    padding: 3px;
}

.link_layout_btn .icon_btn img {
    opacity: 0.2;
}

.link_layout_btn .icon_btn:hover img {
    opacity: 0.4;
}


/* ************************************************************** */
/* font size setting */
/* ************************************************************** */

/* button */
.set_font_title {
    vertical-align: middle;
    display: inline-block;
}
.set_font_normal,
.set_font_large {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}

.font_setting .nav_on {
    cursor: default;
}

/* large size */
.large_font #contents,
.large_font .pagetop,
.large_font .popup_base,
.large_font #contents_top,
.large_font #contents_bottom,
.large_font #min_contents_bottom,
.large_font footer,
.large_font .overlay_front {
    font-size: 131%;
    line-height: 1.8;
}

.large_font .common_icon {
    line-height: 1;
}

.large_font .title_text {
    padding-top: 5px;
    padding-bottom: 5px;
    display: inline-block;
}

.large_font .nav_text {
    padding-top: 2px;
    padding-bottom: 2px;
}

.large_font .global_note .list_icon_circle {
    line-height: 1.8;
    left: 0;
}


/* ************************************************************** */
/* icon */
/* ************************************************************** */

.global_iconleft .fa {
    vertical-align: baseline;
}

.global_iconright .fa {
    vertical-align: baseline;
}

.global_iconright .general_btn .left_side_nav_icon,
.global_iconright .standard_btn .left_side_nav_icon {
    padding-left: 5px;
    padding-right: 3px;
}

.quasi_link {
    margin-left: 5px;
    display: inline-block;
}

.layout_column_text .list_item_cell .quasi_link .global_iconleft .fa,
.layout_text .list_item_cell .quasi_link .global_iconleft .fa {
    margin-top: 0;
    padding-right: 5px;
    position: static;
    font-size: inherit;
}

.rankno {
    width: auto;
    min-width: 40px;
    padding: 3px;
    display: inline-block;
    box-sizing: content-box;
    text-align: center;
    font-weight: normal;
    font-size: 11px;
}

.item_rankno {
    padding: 0 5px;
    line-height: 9px;
    text-align: center;
}

.layout_photo .item_rankno,
.layout_text .item_rankno {
    margin-top: 5px;
}

.layout_column_text .item_rankno {
    margin-bottom: 5px;
    padding: 0;
}

.layout_column_text .ranking_view .item_name {
    margin-top: 20px;
}

.form_error {
    padding: 5px;
    position: relative;
}

.error_box,
.ok_box {
    margin: 10px 5px 15px 5px;
    padding: 5px 10px;
}

.error_box .error_status,
.ok_box .ok_status {
    margin: 5px 0;
}

.error_status img,
.ok_status img {
    box-sizing: content-box;
}

.error_icon,
.ok_icon,
.open_icon,
.close_icon {
    box-sizing: content-box;
}

.error_icon .fa,
.ok_icon .fa,
.open_icon,
.close_icon {
    width: 10px;
    height: 10px;
    margin: 2px;
    padding: 2px;
    line-height: 10px;
    border-radius: 50%;
    display: inline-block;
    font-size: 10px;
    text-align: center;
    vertical-align: middle;
}

.error_box .error_icon .fa,
.ok_box .ok_icon .fa {
    margin-right: 5px;
}

.form_status .error_icon .fa,
.form_status .ok_icon .fa {
    margin: 0 5px 2px 2px;
    width: 10px;
    height: 10px;
    font-size: 10px;
    vertical-align: middle;
}

.text_open_str,
.text_close_str {
    font-weight: bold;
}

.right_side_nav_icon {
    position: absolute;
    right: 5px;
    top: 50%;
    margin-top: -9px;
    font-size: 18px;
}

.inner_popup_nav .menu_nav_icon,
.inner_itemlist_nav .menu_nav_icon,
.inner_main_nav .menu_nav_icon,
.inner_side_nav .menu_nav_icon,
.inner_footer_nav .menu_nav_icon {
    width: 1em;
    margin-right: 1px;
    text-align: center;
}

.nav_close_box .fa-times {
    margin-top: 0;
    position: relative;
    right: auto;
    top: auto;
    font-size: 30px;
}

.cart_qty,
.normal_cart_qty,
.subscription_cart_qty {
    position: relative;
}

.icon_badge {
    min-width: 20px;
    height: 20px;
    padding: 3px;
    position: absolute;
    top: -10px;
    right: -14px;
    line-height: 20px;
    border-radius: 50%;
    -webkit-transform: scale(0.5, 0.5);
    transform: scale(0.5, 0.5);
    display: inline-block;
    box-sizing: content-box;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    opacity: 0.9;
}

.rear_nav_label_icon .icon_badge {
    right: -18px;
}

.icon_btn {
    display: inline-block;
    font-size: 20px;
    line-height: 20px;
    padding: 0 3px;
}

.open_icon .fa,
.close_icon .fa {
    cursor: pointer;
}

.ios .open_icon .fa:before,
.ios .close_icon .fa:before {
    margin-top: 1px;
    display: inline-block;
}

/* only ie11 */
@media all and (-ms-high-contrast: none) {
    .open_icon .fa:before,
    .close_icon .fa:before {
        margin-top: 1px;
        display: inline-block;
    }
}


/* ************************************************************** */
/* menu */
/* ************************************************************** */

.header_nav,
.global_nav {
    line-height: 1;
}

.nav_btn {
    line-height: 1.3;
}

.nav_text {
    display: table-cell;
    vertical-align: middle;
}

#inner_header {
    padding-bottom: 5px;
}

.min_header #inner_header {
    padding-bottom: 0;
}

.inner_header_nav {
    margin: 0;
    padding: 5px 0;
}

.inner_header_nav .header_nav_item {
    width: 46px;
    min-width: 46px;
    box-sizing: border-box;
    font-size: 10px;
    text-align: center;
    letter-spacing: -1px;
}

.inner_header_nav .header_nav_item .nav_btn {
    box-sizing: border-box;
    font-weight: normal;
}

.jpn_version:not(.use_folding_header) .inner_header_nav .h_signout,
.jpn_version:not(.use_folding_header) .inner_header_nav .h_contact,
.jpn_version:not(.use_folding_header) .inner_header_nav .h_help,
.jpn_version:not(.use_folding_header) .inner_header_nav .h_favorite {
    width: 58px;
}

.inner_header_nav .header_nav_item .fa {
    display: block;
    font-size: 22px;
}

.min_header .inner_header_nav .header_nav_item {
    width: auto;
}

.inner_header_nav .nav_btn {
    margin-right: 5px;
    padding: 2px;
    border-radius: 5px;
}

.header_left .inner_header_nav .nav_btn {
    margin: 0 0 0 5px;
}

.header_right .inner_header_nav .nav_btn {
    margin: 0 5px 0 0;
}

.header_nav_item .nav_text {
    width: 100%;
    min-width: 36px;
    display: inline-block;
}

.left_menu_opener_box {
    min-width: 50px;
}

.inner_global_nav .nav_btn {
    padding: 5px 2px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    box-sizing: border-box;
    letter-spacing: -1px;
}

.inner_global_nav li:last-child A {
    border-right-width: 0;
}

.inner_global_nav li:first-child A {
    border-left-width: 0;
}

.inner_global_nav .nav_btn .fa {
    display: block;
    font-size: 22px;
    margin-bottom: 3px;
}

.inner_global_nav .nav_btn {
    font-size: 11px;
}

.column6 .inner_global_nav .nav_btn {
    font-size: 10px;
}

.global_nav_item .nav_text {
    display: inline-block;
}

.nav_label {
    display: inline;
}

.empty_nav_label {
    text-align: center;
}

.header_nav .empty_nav_label .nav_text {
    padding: 6px 0;
}

.empty_nav_label .nav_btn .nav_text .menu_nav_icon {
    display: inline;
}

.empty_nav_label .nav_label {
    display: none;
}

.inner_header_nav .empty_nav_label .nav_btn {
    padding: 0;
}

.inner_header_nav .empty_nav_label .fa {
    margin-right: 0;
}

.itemlist_nav,
.main_nav {
    padding: 0 2px;
}

.side_nav {
    padding: 0 1px;
}

.inner_itemlist_nav .nav_btn {
    width: 100%;
    padding: 10px 28px 10px 10px;
    position: relative;
    box-sizing: border-box;
    margin-bottom: 4px;
}

.side_itemlist_nav .itemlist_nav_item {
    margin-bottom: 1px;
}

.side_itemlist_nav .inner_itemlist_nav .nav_btn {
    margin-bottom: 0;
}

.inner_side_nav .nav_btn,
.inner_main_nav .nav_btn {
    width: 100%;
    padding: 10px 28px 10px 10px;
    position: relative;
    box-sizing: border-box;
    font-weight: normal;
    margin-bottom: 4px;
}

.inner_side_nav .nav_btn {
    margin-bottom: 1px;
}

.side_col .inner_itemlist_nav A,
.inner_side_nav A {
    display: block;
}

.side_box .toggle_menu_list .nav_btn {
    position: relative;
    display: block;
}

.empty_nav_label .menu_nav_icon {
    vertical-align: middle;
}

.h_fontsize .nav_label {
    white-space: nowrap;
}

.disabled_link {
    pointer-events: none;
    cursor: default;
}


/* ************************************************************** */
/* side category menu (pc: hover, phone: touch) */
/* ************************************************************** */

@media only screen and (min-width: 840px) {
    .side_sub_menu_hover .side_itemlist_nav .sub_menu_link {
        border: none;
    }

    .side_sub_menu_hover .itemlist_nav_item {
        position: relative;
    }

    .side_sub_menu_hover .sub_menu_link_list {
        width: 500px;
        padding: 10px;
        position: absolute;
        top: 0;
        z-index: 50;
        opacity: 0;
        visibility: hidden;
        transition: opacity .1s linear;
        pointer-events: none;
    }

    #left_side_col .side_sub_menu_hover .sub_menu_link_list {
        left: 248px;
    }

    #right_side_col .side_sub_menu_hover .sub_menu_link_list {
        right: 248px;
    }

    .side_sub_menu_hover .itemlist_nav_item.open .sub_menu_link_list {
        display: flex;
        flex-wrap: wrap;
        gap: 2px;
        align-content: stretch;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .side_sub_menu_hover .itemlist_nav_item.open .sub_menu_link_list li {
        width: calc(50% - 1px);
        display: flex;
    }

    .side_sub_menu_hover .sub_menu_link_item {
        width: 50%;
    }

    .side_sub_menu_hover .has_sub_menu .sub_menu_link {
        display: flex;
        align-items: center;
    }

    .side_sub_menu_hover .has_sub_menu .parental_menu_link .fa::before {
        content: "\f067";
    }

    .side_sub_menu_hover .has_sub_menu.itemlist_nav_item .parental_menu_link .right_side_nav_icon,
    .side_sub_menu_hover .has_sub_menu.itemlist_nav_item .parental_menu_link:hover .right_side_nav_icon {
        transform: rotate(0deg) scale(1);
        transition: none;
    }
}

@media only screen and (max-width: 839px) {
    .side_sub_menu_hover .has_sub_menu .sub_menu_link_list {
        height: 0;
        line-height: 0;
        opacity: 0;
        visibility: hidden;
        transition:
                height .3s ease-out,
                line-height .3s ease-out,
                opacity .1s linear;
        pointer-events: none;
    }

    .side_sub_menu_hover .has_sub_menu.open .sub_menu_link_list {
        height: auto;
        line-height: inherit;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

.side_sub_menu_hover.touch_side_nav .has_sub_menu .disabled_link {
    pointer-events: auto;
}


/* ************************************************************** */
/* popup menu */
/* ************************************************************** */

.has_opened_popup_menu #contents_top,
.has_opened_popup_menu #photo,
.has_opened_popup_menu #contents,
.has_opened_popup_menu #contents_bottom,
.has_opened_popup_menu #footer_wrapper {
    opacity: 0.2;
}

.has_opened_popup_menu #container {
    overflow: visible;
    overflow-x: hidden; /* for IE11 */
}

#non_approved,
#header,
.global_nav {
    position: relative;
}
#non_approved {
    z-index: 90;
}

#header {
    z-index: 80;
}

.global_nav {
    z-index: 70;
}

.popup_base {
    position: relative;
    z-index: 50;
}

.popup_menu {
    position: relative;
}

.prepared_popup {
    overflow: hidden;
}

.popup_menu .popup_menu_area {
    position: absolute;
    overflow: hidden;
    top: auto;
    left: auto;
}

.popup_menu_area {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    will-change: opacity;
}

.prepared_popup .popup_menu_area {
    opacity: 0;
}

.popup_main_menu {
    -webkit-transition: transform 0.2s linear;
    transition: transform 0.2s linear;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.popup_sub_menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    -webkit-transition: transform 0.2s linear;
    transition: transform 0.2s linear;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}

.active_sub .popup_main_menu {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}

.active_sub .popup_sub_menu {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.upper_popup_nav,
.lower_popup_nav {
    padding: 0 10px;
    line-height: normal;
    text-align: left;
}

.popup_primal_menu .upper_popup_nav {
    margin-top: 5px;
}

.upper_popup_nav .backinput {
    margin: 0;
    display: inline-block;
}

.lower_popup_nav_free_space {
    margin: 10px 0;
}

.popup_sub_title {
    padding: 15px 25px 15px 0;
    line-height: 1.2;
    font-size: 146.5%;
}

.popup_menu_back {
    padding-top: 10px;
    line-height: 1;
}

.popup_base .close_btn_box {
    width: auto;
    position: absolute;
    top: 10px;
    right: 10px;
    display: inline-block;
    line-height: 1;
    font-size: 20px;
}

.popup_base .popup_menu_loading {
    margin-top: 30px;
}

.popup_primal_menu .inner_popup_nav {
    padding-top: 10px;
}

/* 各ナビゲーション */
.inner_popup_nav .nav_btn {
    width: 100%;
    padding: 10px 24px 10px 10px;
    position: relative;
    box-sizing: border-box;
}

.popup_base .popup_nav_area .nav_close_box .nav_close {
    width: 100%;
    padding: 10px 0;
    display: block;
    text-align: center;
}

/* ヘッダー固定時に、ポップアップメニューを開いているとき、トップに戻るボタンを押せないようにする */
.has_opened_popup_menu:not(.compact_header_nav_opened) .fixed_corner_button {
    visibility: hidden;
}


/* ************************************************************** */
/* popup navigation */
/* ************************************************************** */

#container {
    /* JavaScriptから動的に上書きされる、ポップアップメニューを表示した際にheaderで見える部分の高さ値 */
    --popup-visible-header-height: 0px;
    /* JavaScriptから動的に上書きされる、ポップアップメニューを表示した際に#containerに付与するmargin-top値 */
    --popup-container-margin-top: 0px;
    /* ポップアップメニューを表示した際、ヘッダー領域で描画される要素のセレクター */
    --popup-fixed-header-selector: header;
    /* ポップアップする商品検索バーの高さ (※カスタムパーツで上書き有り) */
    --popup-search-bar-height: 58px;
    /* カートに入れるボタンを下部に固定する場合の下部固定ボタン枠の高さ (※カスタムパーツで上書き有り) */
    --fixed-add-cart-btn-box-height: 70px;
}

.popup_nav_area {
    position: relative;
}

.popup_base .hidden_nav_area {
    max-width: 100%;
    height: 25%;
    position: absolute;
    z-index: -10;
    visibility: hidden;
    overflow: auto;
}

.popup_nav_box {
    position: absolute;
    overflow: hidden;
    top: auto;
    left: auto;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    will-change: opacity;
    opacity: 1;
}

.hidden_nav_area .popup_nav_box {
    position: static;
    pointer-events: none;
    opacity: 0;
}

.nav_close_box .nav_close {
    margin-top: 1px;
}

.overlay_menu .overlay_front {
    width: 100%;
    max-width: 980px;
}

.overlay_menu .modal_skin {
    position: relative;
}

.overlay_menu .popup_nav_box {
    position: static;
}

.overlay_menu .nav_close_box .nav_close {
    width: 100%;
    padding: 10px 0;
    display: block;
    text-align: center;
}

.overlay_menu .t_search {
    display: none;
    pointer-events: none;
}

.upper_popup_nav {
    min-height: 30px;
}

.inner_custom_nav_popup {
    min-height: 40px;
}


/* ************************************************************** */
/* side menu */
/* ************************************************************** */

#container,
#inner_container,
#contents,
#inner_contents {
    position: static;
}

.use_side_menu .menu_opener_box,
.use_side_menu .h_side_menu_opener {
    display: block;
}

.use_side_menu .custom_space .h_side_menu_opener {
    display: inline-block;
}

.use_side_menu .inner_header_nav .h_side_menu_opener {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}

.side_box {
    box-sizing: border-box;
}

/* サイドメニューを開いた際に、メインエリアのスクロール量を保持するためのCSS変数 (JS側で上書きされる) */
.open_side_col #container {
    --window-scroll-top: 0px;
}

.open_side_col,
.open_side_col body {
    height: 100%;
    overflow: hidden;
}

.open_side_col #container {
    height: auto;
    position: relative;
    top: calc(var(--window-scroll-top) * -1);
    overflow: hidden;
}

#non_approved,
#header_wrapper,
#contents_top,
#photo,
.breadcrumb_area,
#maincol,
#contents_bottom,
#footer_wrapper {
    -webkit-transition: transform 0.2s linear;
    transition: transform 0.2s linear;
}

.side_col {
    position: absolute;
    width: 250px !important;
    height: 100%;
    top: 0;
    right: auto;
    max-width: 100%;
    overflow: hidden;
    z-index: -1;
    -webkit-transition: transform 0.2s linear;
    transition: transform 0.2s linear;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-overflow-scrolling: touch;
    will-change: transform;
    pointer-events: none;
}

#left_side_col {
    left: -250px;
    /*left: 0;*/
    right: auto;
/*    -webkit-transform: translateX(-250px);
    transform: translateX(-250px);*/
}

#right_side_col {
    left: auto;
    right: -250px;
    /*right: 0;*/
    display: none;
/*    -webkit-transform: translateX(250px);
    transform: translateX(250px);*/
}

.open_side_col .side_col {
    height: 100dvh;
    top: var(--window-scroll-top);
    pointer-events: auto;
}

.open_side_col .left_menu_mode #left_side_col {
    -webkit-transform: translateX(250px);
    transform: translateX(250px);
    z-index: 99;
    overflow: auto;
    visibility: visible;
}

.open_side_col .right_menu_mode  #right_side_col {
    -webkit-transform: translateX(-250px);
    transform: translateX(-250px);
    display: block;
    z-index: 99;
    overflow: auto;
    visibility: visible;
}

/*
.open_side_col .left_menu_mode #left_side_col,
.open_side_col .right_menu_mode  #right_side_col {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    display: block;
    z-index: 99;
    overflow: auto;
    visibility: visible;
}
*/

.open_side_col #non_approved,
.open_side_col #header_wrapper,
.open_side_col #contents_top,
.open_side_col #photo,
.open_side_col .breadcrumb_area,
.open_side_col #maincol,
.open_side_col #contents_bottom,
.open_side_col #footer_wrapper,
.open_side_col .left_menu_mode #header_wrapper,
.open_side_col .left_menu_mode #contents_top,
.open_side_col .left_menu_mode #photo,
.open_side_col .left_menu_mode .breadcrumb_area,
.open_side_col .left_menu_mode #maincol,
.open_side_col .left_menu_mode #contents_bottom,
.open_side_col .left_menu_mode #footer_wrapper {
    -webkit-transform: translateX(250px);
    transform: translateX(250px);
    opacity: 0.2;
}

.open_side_col .right_menu_mode #non_approved,
.open_side_col .right_menu_mode #header_wrapper,
.open_side_col .right_menu_mode #contents_top,
.open_side_col .right_menu_mode #photo,
.open_side_col .right_menu_mode .breadcrumb_area,
.open_side_col .right_menu_mode #maincol,
.open_side_col .right_menu_mode #contents_bottom,
.open_side_col .right_menu_mode #footer_wrapper {
    -webkit-transform: translateX(-250px);
    transform: translateX(-250px);
    opacity: 0.2;
}

.open_side_col .menu_blocker {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 100;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}

.open_side_col .menu_blocker,
.open_side_col .left_menu_mode .menu_blocker {
    left: 250px;
    right: auto;
}

.open_side_col .right_menu_mode .menu_blocker {
    left: auto;
    right: 250px;
}

.open_side_col .side_container {
    padding-bottom: 30px;
}

.open_side_col .side_menu_close_btn {
    padding: 15px;
    position: absolute;
    top: calc(50dvh + var(--window-scroll-top));
    left: auto;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    will-change: transform;
    display: inline-block;
    font-size: 20px;
    line-height: normal;
}

.open_side_col .side_menu_close_btn,
.open_side_col .left_menu_mode .side_menu_close_btn {
    left: 0;
    right: auto;
}

.open_side_col .right_menu_mode .side_menu_close_btn {
    left: auto;
    right: 0;
}

.header_nav_size1,
.inner_header_nav_column1,
.use_side_menu .inner_header_nav_column1 {
    min-width: 50px;
}

.header_nav_size2,
.inner_header_nav_column2,
.use_side_menu .inner_header_nav_column2 {
    min-width: 110px;
}

.header_nav_size3,
.inner_header_nav_column3,
.use_side_menu .inner_header_nav_column3 {
    min-width: 150px;
}

.disabled_side_menu .disabled_right_side_menu.header_nav_size1,
.disabled_side_menu .disabled_right_side_menu .inner_header_nav_column1,
.use_side_menu .disabled_side_menu .disabled_right_side_menu .inner_header_nav_column1 {
    min-width: auto;
}

.disabled_side_menu .disabled_right_side_menu.header_nav_size2,
.disabled_side_menu .disabled_right_side_menu .inner_header_nav_column2,
.use_side_menu .disabled_side_menu .disabled_right_side_menu .inner_header_nav_column2 {
    min-width: 50px;
}

.disabled_side_menu .disabled_right_side_menu.header_nav_size3,
.disabled_side_menu .disabled_right_side_menu .inner_header_nav_column3,
.use_side_menu .disabled_side_menu .disabled_right_side_menu .inner_header_nav_column3 {
    min-width: 110px;
}

.side_font_setting {
    padding: 5px;
}

.side_font_setting .font_setting {
    padding: 0;
}

.menu_link_item .open_sub_menu_link .right_side_nav_icon {
    -webkit-transform: rotate(0deg)  scale(1);
    transform: rotate(0deg)  scale(1);
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
}

.use_hover .menu_link_item .open_sub_menu_link:hover .right_side_nav_icon {
    -webkit-transform: rotate(0deg) scale(1.1);
    transform: rotate(0deg) scale(1.1);
}

.menu_link_item .close_sub_menu_link .right_side_nav_icon {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
}

.use_hover .menu_link_item .close_sub_menu_link:hover .right_side_nav_icon {
    -webkit-transform: rotate(180deg) scale(1.1);
    transform: rotate(180deg) scale(1.1);
}


/* ************************************************************** */
/* hover transition */
/* ************************************************************** */

.use_hover .chevron_right_icon {
    -webkit-transition: -webkit-transform 0.15s linear;
    transition: transform 0.15s linear;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.use_hover a:hover .chevron_right_icon,
.use_hover button:hover .chevron_right_icon {
    -webkit-transform: translateX(2px);
    transform: translateX(2px);
}

.use_hover .chevron_left_icon {
    -webkit-transition: -webkit-transform 0.15s linear;
    transition: transform 0.15s linear;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.use_hover a:hover .chevron_left_icon,
.use_hover button:hover .chevron_left_icon {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
}

.use_hover .chevron_expansive_icon {
    -webkit-transition: -webkit-transform 0.15s linear;
    transition: transform 0.15s linear;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.use_hover a:hover .chevron_expansive_icon,
.use_hover button:hover .chevron_expansive_icon {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

.use_hover .sort_toggle .fa {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: transform 0.15s linear;
    transition: transform 0.15s linear;
}

.use_hover .sort_toggle a:hover .fa,
.use_hover .sort_toggle button:hover .fa {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

.use_hover .zoom_icon .fa {
    -webkit-transition: -webkit-transform 0.1s linear, box-shadow 0.1s linear;
    transition: transform 0.1s linear, box-shadow 0.1s linear;
}

.use_hover .zoom_link img {
    -webkit-transition: -webkit-transform 0.2s linear, box-shadow 0.2s linear;
    transition: transform 0.2s linear, box-shadow 0.2s linear;
}

.use_hover .zoom_icon:hover .fa,
.use_hover .zoom_link:hover img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.use_hover .zoom_link:hover img {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.use_hover .slider .zoom_link:hover img {
    box-shadow: none;
}

.use_hover .switching_link img {
    -webkit-transition: transform 0.1s linear;
    transition: transform 0.1s linear;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.use_hover .switching_link:hover img {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
}


/* ************************************************************** */
/* site link list */
/* ************************************************************** */

.layout_dropdown {
    position: relative;
    z-index: 85;
}

.has_opened_popup_menu .layout_dropdown {
    z-index: initial;
}

.layout_dropdown .site_list_title A {
    z-index: 3;
}

#header_wrapper .site_list_dropdown,
.site_list_dropdown {
    width: 280px;
    padding: 10px;
    position: absolute;
    top: 25px;
    bottom: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    box-sizing: content-box;
    text-align: left;
    box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
}

.reverse_position .site_list_dropdown {
    margin-top: 5px;
    padding-top: 5px;
    top: auto;
    bottom: 25px;
}

#header_wrapper .left_position .site_list_dropdown,
.left_position .site_list_dropdown {
    left: 0;
    -webkit-transform: none;
    transform: none;
}

#header_wrapper .right_position .site_list_dropdown,
.right_position .site_list_dropdown {
    left: auto;
    right: 0;
    -webkit-transform: none;
    transform: none;
}

.layout_dropdown .site_list_data {
    display: block;
    padding: 3px;
}

.site_list_dropdown A {
    display: block;
    padding: 6px 3px;
}

.global_site {
    width: auto;
    margin: 10px auto;
}

.layout_dropdown .site_list_title A {
    padding: 5px;
    border-radius: 5px;
    line-height: 20px;
    text-align: center;
}

.layout_dropdown .close_btn_box {
    position: absolute;
    right: -10px;
    bottom: -10px;
}

.layout_dropdown .close_btn_box,
.reverse_side .layout_dropdown .close_btn_box {
    left: -10px;
    bottom: -10px;
}

.site_list_dropdown .close_btn_box {
    padding: 5px;
    left: auto;
    right: 0;
    top: 0;
    bottom: auto;
    line-height: 1;
    font-size: 20px;
}

.site_list_box .site_list_data:first-child a {
    padding-right: 25px;
}

.site_list_box .site_list_data:last-child {
    border-bottom: none;
}

.site_list_dropdown .icon_btn {
    padding: 3px 5px;
}

#inner_footer .layout_dropdown .site_list_title A {
    height: 30px;
    padding: 5px 10px;
    border-radius: 5px;
    line-height: 20px;
    display: inline-block;
    box-sizing: border-box;
    text-align: center;
}

#header_wrapper .global_site,
#header_wrapper .global_site .site_list,
#header_wrapper .global_site .site_list_title {
    display: inline-block;
}

#header_wrapper .global_site {
    margin: 0;
}

#header_wrapper .global_site .site_list_dropdown {
    margin-top: -5px;
}


/* ************************************************************** */
/* article */
/* ************************************************************** */

.list_subject {
    display: block;
}

.article_date {
    padding: 10px;
    display: block;
}

.article_data .global_photo {
    margin-top: 5px;
    text-align: center;
}

.ph_article {
    padding: 10px 0;
}

.article_lower_btn {
    padding-top: 10px;
}


/* ************************************************************** */
/* swipe list (legacy slider) */
/* ************************************************************** */

.swipe_list {
    width: 100%;
    position: relative;
}

.swipe_list .item_image_box {
    display: block;
    text-align: center;
}

.swipe_list .list_item_table {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.swipe_list .list_item_row {
    padding: 0;
    width: 5000px;
}

.item_box .swipe_list li {
    border: none;
}

.swipe_list .list_item_cell {
    float: left;
}

.use_hover .swipe_list .list_item_photo A:hover img{
    opacity: 0.8;
}

.swipe_list .pointer_box {
    padding: 5px 0;
    margin-bottom: 15px;
    text-align:center;
}

.detail_item .swipe_list .pointer_box {
    padding-top: 15px;
}

.swipe_list .pointer_box {
    padding: 5px 0;
    text-align:center;
}

.swipe_list .pointer span {
    margin: 0 5px 8px;
}


/* image loading display */

.swipe_list .loading_slide .item_image_box {
    position: relative;
}

.swipe_list .loading_slide .loading {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.swipe_list .item_image_box .loading {
    width: 25px;
    height: 25px;
}


/* for fade-in fade-out effect */

.swipe_list .fade_in_fade_out .list_item_row {
    width: auto;
    position: relative;
}

.swipe_list .fade_in_fade_out .list_item_cell {
    width: 100%;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 0;
}


/* ************************************************************** */
/* swiper */
/* ************************************************************** */

.slider_box {
    -webkit-tap-highlight-color: transparent;
}

.slider_box,
.inner_slider_box {
    position: relative;
}

.inner_slider_box,
.slider_box .swiper-container {
    margin: 0 auto;
}

.slider_box .layout_photo .swiper-container {
    padding: 0 5px;
    box-sizing: border-box;
}

.slider_box .item_image_box {
    display: inline;
}

.swiper-button-next,
.swiper-button-prev {
    box-sizing: content-box;
}

.swiper-pagination {
    -webkit-tap-highlight-color: transparent;
}

.slider_box .swiper-pagination-bullet {
    margin: 0 5px 0;
}

.upper_slider_controller .swiper-button-next {
    right: -12.5px;
}

.upper_slider_controller .swiper-button-prev {
    left: -12.5px;
}

.upper_slider_controller .swiper-button-disabled {
    pointer-events: auto;
}

.lower_slider_controller {
    margin: 5px 0;
    text-align: center;
}

.has_inside_pagination .lower_slider_controller {
    margin: 0;
}

.lower_slider_controller .swiper-button-next,
.lower_slider_controller .swiper-button-prev {
    position: static;
    margin: 0;
    display: inline-block;
    vertical-align: middle;
}

.lower_slider_controller .swiper-pagination {
    display: inline;
}

.slider_box .overlaid_next_prev .swiper-button-next,
.slider_box .overlaid_next_prev .swiper-button-prev {
    height: 100%;
    margin-top: 0;
    padding: 0 10px;
    top: 0;
    background-color: transparent;
    border: none;
}

.slider_box .overlaid_next_prev .swiper-button-next:hover,
.slider_box .overlaid_next_prev .swiper-button-prev:hover {
    opacity: 0.6;
}

.slider_box .overlaid_next_prev .swiper-button-next {
    right: 0;
}

.slider_box .overlaid_next_prev .swiper-button-prev {
    left: 0;
}

.slider_box .swiper-pagination-bullet {
    background-color: transparent;
    opacity: 1;
}

.swiper-pagination {
    padding: 5px 0;
    position: static;
    box-sizing: content-box;
}

.swiper-slide {
    height: auto;
    text-align: center;
    box-sizing: border-box;
}

.swiper-slide .item_data {
    width: 100%;
    box-sizing: border-box;
}

.swiper-slide .list_item_data {
    text-align: left;
}

.slider_image_box {
    position: relative;
}

.no_pagination .slider_controller {
    display: none;
}


/* PhotoSwipe button */

.pswp--svg .pswp__button--arrow--left::before,
.pswp--svg .pswp__button--arrow--right::before {
    background: none;
}

.pswp--svg .pswp__button--arrow--left,
.pswp--svg .pswp__button--arrow--right {
    box-sizing: content-box;
}

.swipe_list .pointer_box span.pointer_next,
.swiper-button-next,
.swipe_list .pointer_box span.pointer_prev,
.swiper-button-prev {
    background-repeat: no-repeat;
    background-position: center;
}

.slider_box .swiper-button-prev:after,
.slider_box .swiper-container-rtl .swiper-button-next:after,
.slider_box .swiper-button-next:after,
.slider_box .swiper-container-rtl .swiper-button-prev:after {
    content: none;
}

/* swiper button */

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    pointer-events: auto;
}

.slider_box .inner_slider_box .slider_controller .swiper-button-disabled {
    cursor: default;
}

.use_hover .slider_box .lower_slider_controller .swiper-button-disabled:hover {
    opacity: 0.35;
}

.pswp--svg .pswp__button--arrow--left,
.pswp--svg .pswp__button--arrow--right,
.has_inside_controller .swiper-button-prev,
.has_inside_controller .swiper-button-next,
.has_inside_controller .upper_slider_controller .swiper-button-prev,
.has_inside_controller .upper_slider_controller .swiper-button-next,
.has_outside_controller .swiper-button-prev,
.has_outside_controller .swiper-button-next,
.has_outside_controller .upper_slider_controller .swiper-button-prev,
.has_outside_controller .upper_slider_controller .swiper-button-next {
    width: 27px;
    height: 44px;
    margin-top: 0;
    padding: 30px 10px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
    -webkit-background-size: 27px 44px;
    background-size: 27px 44px;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: rgba(0, 0, 0, 0.1);
    box-sizing: content-box;
    border: none;
    border-radius: 5px;
}

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

    .has_inside_controller .swiper-button-prev,
    .has_inside_controller .swiper-button-next {
        padding: 20px 10px;
        -webkit-transform: translateY(-50%) scale(0.7, 0.7);
        transform: translateY(-50%) scale(0.7, 0.7);
    }

}

.use_hover .pswp--svg .pswp__button--arrow--left:hover,
.use_hover .pswp--svg .pswp__button--arrow--right:hover,
.use_hover .has_inside_controller .swiper-button-prev:hover,
.use_hover .has_inside_controller .swiper-button-next:hover,
.use_hover .has_inside_controller .upper_slider_controller .swiper-button-prev:hover,
.use_hover .has_inside_controller .upper_slider_controller .swiper-button-next:hover,
.use_hover .has_outside_controller .swiper-button-prev:hover,
.use_hover .has_outside_controller .swiper-button-next:hover,
.use_hover .has_outside_controller .upper_slider_controller .swiper-button-prev:hover,
.use_hover .has_outside_controller .upper_slider_controller .swiper-button-next:hover {
    background-color: rgba(0, 0, 0, 0.2);
}

.use_hover .slider_box .has_inside_controller .upper_slider_controller .swiper-button-disabled:hover,
.use_hover .slider_box .has_outside_controller .upper_slider_controller .swiper-button-disabled:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.pswp--svg .pswp__button--arrow--left,
.has_inside_controller .swiper-button-prev,
.has_inside_controller .swiper-container-rtl .swiper-button-next,
.has_outside_controller .swiper-button-prev,
.has_outside_controller .swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.pswp--svg .pswp__button--arrow--left,
.has_inside_controller .swiper-button-prev,
.has_inside_controller .swiper-container-rtl .swiper-button-next {
    left: 10px;
    right: auto;
}

.has_outside_controller .swiper-button-prev,
.has_outside_controller .swiper-container-rtl .swiper-button-next {
    left: -55px;
    right: auto;
}

.pswp--svg .pswp__button--arrow--right,
.has_inside_controller .swiper-button-next,
.has_inside_controller .swiper-container-rtl .swiper-button-prev,
.has_outside_controller .swiper-button-next,
.has_outside_controller .swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.pswp--svg .pswp__button--arrow--right,
.has_inside_controller .swiper-button-next,
.has_inside_controller .swiper-container-rtl .swiper-button-prev {
    left: auto;
    right: 10px;
}

.has_outside_controller .swiper-button-next,
.has_outside_controller .swiper-container-rtl .swiper-button-prev {
    left: auto;
    right: -55px;
}


@media screen and (max-width: 840px) {
    .has_outside_controller .swiper-button-prev,
    .has_outside_controller .swiper-container-rtl .swiper-button-next,
    .has_outside_controller .swiper-button-next,
    .has_outside_controller .swiper-container-rtl .swiper-button-prev {
        display: none;
    }
}


/* swiper pagination */

.has_inside_pagination .lower_slider_controller .swiper-pagination {
    width: 100%;
    display: block;
    position: absolute;
    bottom: 0;
    left: auto;
    right: auto;
}

.has_inside_pagination .swiper-pagination .swiper-pagination-bullet {
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
}

.has_inside_pagination .lower_slider_controller .swiper-pagination .swiper-pagination-bullet-active {
    background-color: rgba(0, 0, 0, 0.5);
}


/* slider for PhotoSwipe */

.gallery_slider {
    margin: 5px 0;
}

.gallery_slider .thumbnail_btn {
    border: 2px solid transparent;
    opacity: 0.6;
}

.gallery_slider .current .thumbnail_btn {
    border: 2px solid transparent;
    opacity: 1;
}


/* ************************************************************** */
/* preloader */
/* ************************************************************** */

.swiper-lazy-preloader {
    -webkit-animation: none;
    animation: none;
}

.swiper-lazy-preloader:after {
    background-image: none;
}

.loader_box {
    margin: 0;
    padding: 2px;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 10;
    line-height: 1;
    background-color: rgba(0, 0, 0, 0.1);
    display: inline-block;
    box-sizing: content-box;
    border-radius: 20%;
}

.overlay_loading .loader_box {
    background-color: rgba(0, 0, 0, 0.2);
}

.loader {
    width: 42px;
    height: 42px;
    position: static;
    z-index: 10;
    display: inline-block;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-animation: loader_spin 1s steps(12, end) infinite;
    animation: loader_spin 1s steps(12, end) infinite;
}

.loader:after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-position: 50%;
    -webkit-background-size: 100%;
    background-size: 100%;
    background-repeat: no-repeat;
}

@-webkit-keyframes loader_spin {
    100% {
        -webkit-transform: rotate(360deg);
    }
}
@keyframes loader_spin {
    100% {
        transform: rotate(360deg);
    }
}


/* ************************************************************** */
/* PhotoSwipe */
/* ************************************************************** */

.pswp__caption {
    min-height: 0;
    max-height: 40%;
    overflow: auto;
}

.pswp__caption__center {
    text-align: center;
}

.pswp__caption--empty {
    display: block;
}

.pswp__ui--idle .pswp__caption__center,
.pswp__caption--empty .pswp__caption__center {
    display: none;
}

.pswp__ui--idle .gallery_slider_box,
.pswp__ui--idle .pswp__caption--empty {
    visibility: hidden;
}

.pswp__link--close {
    height: 44px;
    margin-right: 20px;
    margin-left: -5px;
    padding: 12px 0;
    float: right;
    display: block;
    box-sizing:border-box;
    font-size: 16px;
    font-weight: normal;
}

.pswp__link--close,
.pswp__link--close:hover {
    color: #FFFFFF;
}

.pswp__link--close,
.pswp__link--close:hover,
.pswp__button--close:hover {
    opacity: 0.75;
}

.pswp__ui--over-close .pswp__link--close {
    opacity: 1;
}

.pswp--zoomed-in .pswp__caption,
.pswp__ui--idle .pswp__caption {
    opacity: 0;
}

.pswp__ui--idle .pswp__top-bar {
    opacity: 1;
}

.pswp--zoomed-in .pswp__ui .pswp__button--arrow--left,
.pswp--zoomed-in .pswp__ui .pswp__button--arrow--right {
    opacity: 0;
}

.pswp--touch .pswp__ui--hidden .pswp__top-bar {
    opacity: 1;
    background-color: transparent;
}

.pswp--touch .pswp__ui--hidden .pswp__counter {
    opacity: 0;
}

.pswp__zoom_in_sign {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) scale(1);
    transform: translateX(-50%) scale(1);
    opacity: 0;
    -webkit-transition: opacity 0.5s linear, transform 1.3s linear;
    transition: opacity 0.5s linear, transform 1.3s linear;
}

.pswp__zoom_in_active {
    white-space: nowrap;
    -webkit-transform: translateX(-50%) scale(1.5);
    transform: translateX(-50%) scale(1.5);
    opacity: 1;
}

.pswp__zoom_in_hidden {
    display: none;
}

.pswp__zoom_in_sign .fa {
    width: 24px;
    height: 24px;
    padding: 2px;
    box-sizing: content-box;
    color: #FFFFFF;
    font-size: 24px;
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 24px;
    -webkit-transform: translate(0);
    transform: translate(0);
    -webkit-transition: transform 1.3s linear;
    transition: transform 1.3s linear;
    text-align: center;
}

.pswp__zoom_in_active .fa {
    -webkit-transition: transform 1.3s linear;
    transition: transform 1.3s linear;
}

.pswp__zoom_in_active .zoom_sign_left_icon {
    -webkit-transform: translate(-30px);
    transform: translate(-30px);
}

.pswp__zoom_in_active .zoom_sign_right_icon {
    -webkit-transform: translate(30px);
    transform: translate(30px);
}

.gallery_zoom_out .pswp__ui--hidden .pswp__top-bar,
.gallery_zoom_out .pswp__ui--hidden .pswp__button--arrow--left,
.gallery_zoom_out .pswp__ui--hidden .pswp__button--arrow--right {
    transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.gallery_zoom_out .pswp__ui--hidden .photo_gallery_close_btn {
    opacity: 0;
}

.photo_gallery_close_btn {
    width: 40px;
    height: 40px;
    margin: 2px;
    background-color: rgba(0, 0, 0, 0.8);
    border: solid 1px rgba(255, 255, 255, 0.8);
    background-position: -2.5px -46.5px;
    box-sizing: border-box;
}


/* ************************************************************** */
/* pager */
/* ************************************************************** */

.pager {
    padding: 10px 0;
    position: relative;
    box-sizing: content-box;
}

.pager strong,
.pager A {
    display: inline-block;
}

.pager .three_dots {
    margin: 0 1px;
}

.item_count,
.back_number {
    padding-top: 10px;
    padding-bottom: 10px;
}

.count_number {
    margin: 0;
    position: relative;
}

.count_number .clear_link_box {
    padding-left: 0.3em;
    display: inline-block;
}


/* ************************************************************** */
/* item list layout   */
/* ************************************************************** */

.common_icon img {
    margin: 1px 0;
}

.itemlist_box {
    margin-top: 5px;
}

.tiled_list_box {
    padding: 0 5px;
}

.vami {
    vertical-align: middle;
}

.imgalpha {
    opacity: 0.2;
}

.ellipsis {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.list_item_data {
    line-height: 1.3;
    padding: 5px;
}

.list_item_photo a {
    border: none;
}

.list_item_photo img {
    vertical-align: middle;
}

.layout_photo .list_item_photo .item_image,
.layout_photo .square_photo_layout.column2 .list_item_photo {
    max-width: 160px;
}

.layout_photo .column3 .list_item_photo .item_image,
.layout_photo .square_photo_layout.column3 .list_item_photo {
    max-width: 120px;
}

/*
.use_lightweight_thumbnail .layout_photo .list_item_photo img {
    max-width: 160px;
}
*/

.not_link .list_item_photo a {
    border: none;
}

.empty_number_box,
.empty_msg_box {
    padding: 15px;
}

.empty_msg_box {
    text-align: center;
}

.empty_number_box,
.item_list .empty_msg_box {
    margin-bottom: 30px;
}

.ajax_item .loading {
    width: 100%;
    height: 120px;
    background-position: center center;
}

.loading_photo {
    position: relative;
}

.ajax_item .no_item {
    padding: 20px 10px;
    text-align: center;
}

.list_item_data p {
    margin: 0;
}

.layout_text .has_continuation .list_item_cell:last-child A {
    border-bottom: none;
}

A#items {
    display: block;
}

.more_item A {
    box-sizing: border-box;
}

.layout_column_text .more_item {
    margin-top: -1px;
}

.layout_column_text .list_item_photo {
    width: 80px;
    min-width: 80px;
    vertical-align: middle;
}

.layout_column_text .list_item_photo img,
.layout_text .list_item_photo img {
    max-width: 80px;
}

.layout_column_text .list_item_data {
    width: 100%;
    padding: 0 28px 0 10px;
    position: relative;
}

.layout_column_text .list_item_box {
    width: 100%;
    padding: 10px 5px 10px 10px;
    box-sizing: border-box;
}

.side_box .layout_column_text .list_item_box {
    padding: 10px 0 10px 5px;
}

.layout_column_text .inner_list_item_box {
    width: 100%;
    box-sizing: border-box;
}

.item_info {
    font-weight: normal;
}

.layout_text A,
.layout_text .list_item_cell,
.layout_text .not_link {
    display: block;
}

.layout_text .inner_item_data {
    padding-top: 15px;
    padding-bottom: 15px;
}

.layout_text .inner_item_data_upper .list_item_data,
.layout_text .inner_item_data .list_item_data {
    padding: 0 0 0 10px;
}

.layout_text .inner_item_data_upper {
    margin-bottom: 5px;
}

.list_piled_item {
    width: 100%;
    position: relative;
    box-sizing: border-box;
}

.main_desc {
    margin: 5px 0;
    padding: 0 10px;
}

.itemlist_box .inner_item_data {
    padding: 5px;
}

[data-type="normal"] .ajax_item_box .more_item {
    margin-top: -1px;
}


/* list cart add button */

.layout_column_text .add_cart {
    height: 40px;
    margin: 0;
    text-align: left;
}

.layout_column_text .itemlist_cartbutton,
.layout_column_text .itemlist_detailinput,
.layout_column_text .itemlist_selectoption {
    position: absolute;
    bottom: 5px;
    left: auto;
}

.layout_photo .list_item_cell {
    position: relative;
    box-sizing: border-box;
}

.layout_photo .list_item_cell .item_data {
    width: 100%;
    box-sizing: border-box;
}

.layout_photo .item_data_link {
    width: 100%;
    display: block;
}

.layout_photo .list_item_photo img {
    width: 100%;
    height: auto;
    border: none;
}

.layout_photo .column3 .add_cart.has_icon_btn,
.layout_photo .add_cart {
    height: 50px;
    margin-top: 0;
}

.layout_photo .column3 .has_icon_btn .itemlist_cartbutton,
.layout_photo .column3 .has_icon_btn .itemlist_detailinput,
.layout_photo .column3 .has_icon_btn .itemlist_selectoption,
.layout_photo .itemlist_cartbutton,
.layout_photo .itemlist_detailinput,
.layout_photo .itemlist_selectoption {
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);

}

/* for opera mini */
.layout_photo .static_cart_btn_box .itemlist_cartbutton,
.layout_photo .static_cart_btn_box .itemlist_detailinput,
.layout_photo .static_cart_btn_box .itemlist_selectoption {
    position: static;
    -webkit-transform: none;
    transform: none;
    text-align: center;
}
.layout_photo .column3 .has_icon_btn .cartinput,
.layout_photo .column3 .has_icon_btn .carteditinput,
.layout_photo .column3 .has_icon_btn .detailinput,
.layout_photo .column3 .has_icon_btn .selectoptioninput,
.layout_photo .column3 .has_icon_btn .cartinput_image,
.layout_photo .column3 .has_icon_btn .carteditinput_image,
.layout_photo .column3 .has_icon_btn .detailinput_image,
.layout_photo .column3 .has_icon_btn .selectoptioninput_image,
.layout_photo .add_cart .cartinput,
.layout_photo .add_cart .carteditinput,
.layout_photo .add_cart .detailinput,
.layout_photo .add_cart .selectoptioninput,
.layout_photo .add_cart .cartinput_image,
.layout_photo .add_cart .carteditinput_image,
.layout_photo .add_cart .detailinput_image,
.layout_photo .add_cart .selectoptioninput_image {
    margin-bottom: 15px;
}

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

    .layout_photo .column3 .add_cart {
        height: 40px;
    }

    .layout_photo .column3 .itemlist_cartbutton,
    .layout_photo .column3 .itemlist_detailinput,
    .layout_photo .column3 .itemlist_selectoption {
        -webkit-transform: translateX(-50%) scale(0.8, 0.8);
        transform: translateX(-50%) scale(0.8, 0.8);
    }

    .layout_photo .column3 .cartinput,
    .layout_photo .column3 .carteditinput,
    .layout_photo .column3 .detailinput,
    .layout_photo .column3 .selectoptioninput,
    .layout_photo .column3 .cartinput_image,
    .layout_photo .column3 .carteditinput_image,
    .layout_photo .column3 .detailinput_image,
    .layout_photo .column3 .selectoptioninput_image {
        margin-bottom: 10px;
    }

}

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

    .layout_photo .column3 .add_cart {
        height: 30px;
    }

    .layout_photo .column3 .itemlist_cartbutton,
    .layout_photo .column3 .itemlist_detailinput,
    .layout_photo .column3 .itemlist_selectoption {
        -webkit-transform: translateX(-50%) scale(0.7, 0.7);
        transform: translateX(-50%) scale(0.7, 0.7);
    }

    .layout_photo .column3 .cartinput,
    .layout_photo .column3 .carteditinput,
    .layout_photo .column3 .detailinput,
    .layout_photo .column3 .selectoptioninput,
    .layout_photo .column3 .cartinput_image,
    .layout_photo .column3 .carteditinput_image,
    .layout_photo .column3 .detailinput_image,
    .layout_photo .column3 .selectoptioninput_image {
        margin-bottom: 7px;
    }

}

@media (min-width: 840px) and (max-width: 900px) {

    /**
     * iPhone Proの実機を横向きにした際、「最小3列、最大6列/最大5列設定、カートに入れるボタンあり」の状態で、
     * カートに入れるボタンが重なって表示されないよう、縮小表示
     */
    :is(.has_left_side_menu, .has_right_side_menu) .item_list:is(.max_column6, .max_column5) .add_cart :is(.itemlist_cartbutton, .itemlist_detailinput, .itemlist_selectoption) {
        transform: translateX(-50%) scale(.8, .8);
    }

}

.ellipsis .model_number,
.ellipsis .price_label,
.ellipsis .colon,
.ellipsis .figure {
    display: inline;
}


/* square item photo layout */

.layout_photo .square_photo_layout.column2 .list_item_photo,
.layout_photo .square_photo_layout.column3 .list_item_photo {
    margin: 0 auto;
}

.layout_photo .square_photo_layout.column2 .inner_list_item_photo,
.layout_photo .square_photo_layout.column3 .inner_list_item_photo {
    width: 100%;
    position: relative;
}

.layout_photo .square_photo_layout.column2 .inner_list_item_photo:before,
.layout_photo .square_photo_layout.column3 .inner_list_item_photo:before {
    content: "";
    display: block;
    padding-top: 100%;
}

.layout_photo .square_photo_layout.column2 .inner_list_item_photo .item_image_box,
.layout_photo .square_photo_layout.column3 .inner_list_item_photo .item_image_box {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    box-sizing: border-box;
}

.layout_photo .square_photo_layout.column2 .inner_list_item_photo .item_image,
.layout_photo .square_photo_layout.column3 .inner_list_item_photo .item_image {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    max-width: 100%;
    max-height: 100%;
    box-sizing: border-box;
}

.layout_photo .square_photo_layout .loading_photo {
    min-height: 100%;
}


/* initial loading display */

.loading {
    display: inline-block;
    height: 25px;
    width: 25px;
}

.top_image_slide .loading,
.main_photo_slide .loading {
    background: url(img/all/load_x2.gif) no-repeat center center;
    -webkit-background-size: 25px 25px;
    background-size: 25px 25px;
}

.initial_loading {
    height: 100px;
    overflow: hidden;
}

.initial_loading .swiper-wrapper,
.initial_loading .slider_controller,
.initial_loading .swiper-button-prev,
.initial_loading .swiper-button-next,
.initial_loading .list_item_table {
    visibility: hidden;
}

.top_image_slide .initial_loading,
.top_image_slide .initial_loading .swiper-wrapper,
.top_image_slide .initial_loading .list_item_table,
.fix_center .ajax_list_box .initial_loading {
    height: auto;
    visibility: visible;
}


/* ************************************************************** */
/* recently */
/* ************************************************************** */

.recently .section_title h2 {
    padding-right: 80px;
}

.side_col .recently .section_title h2 {
    padding-right: 10px;
}

.page_title_right_edge .global_iconleft .general_btn,
.section_title_right_edge .global_iconleft .general_btn {
    display: inline-block;
    padding-right: 5px;
    background-position: 5px center;
    background-repeat: no-repeat;
    box-sizing: content-box;
    font-size: 12px;
    font-weight: normal;
    height: 18px;
    line-height: 18px;
}

.page_recently .main_box {
    margin-top: 0;
    margin-bottom: 0;
}

.side_col .recently_reset {
    padding: 5px;
    text-align: right;
}

.side_col .recently_reset A {
    display: inline-block;
    position: static;
}


/* ************************************************************** */
/* contents info */
/* ************************************************************** */

.contents_info_box {
    margin: 5px 0;
}

.contents_info_data {
    padding: 5px;
    margin: 0;
}

.inner_contents_box {
    padding: 5px;
}

.contents_title {
    padding: 10px 0;
}

.contents_desc {
    padding-top: 10px;
}


/* ************************************************************** */
/* async contents */
/* ************************************************************** */

.ajax_request_loading {
    padding: 30px;
    position: relative;
}

.ajax_request_loading .loading {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}


/* ************************************************************** */
/* button */
/* ************************************************************** */

.global_btn {
    line-height: 1;
}

.global_btn input[type="submit"],
.global_btn input[type="button"],
.global_btn button {
    padding: 0;
}

.global_btn input[type="submit"],
.global_btn input[type="button"],
.global_btn button {
    overflow: hidden;
}

.global_btn .button_image_link {
    box-shadow: none;
    border-radius: 0;
    display: inline-block;
}

.global_btn .btn_color_common,
.global_btn .btn_color_emphasis,
.global_btn A {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
}

.global_btn .btn_size_auto {
    display: inline-block;
}

.global_btn .btn_size_fit {
    min-width: fit-content;
    padding-inline: 10px;
}

.global_btn .btn_size_icon {
    width: 35px;
    height: 35px;
}

.btn_box {
    margin: 5px 0 15px 0;
}

.btn_box .global_btn .btn_size_auto {
    height: 35px;
    line-height: 35px;
}

.btn_area {
    text-align: center;
}

.auto_size_btn {
    text-align: center;
}

.lower_contents_btn {
    margin-bottom: 20px;
    text-align: center;
}

.form_btn_spad {
    margin: auto;
    padding: 10px;
    text-align: center;
}

.form_btn_box {
    margin: auto;
    padding-top: 20px;
    padding-bottom: 20px;
}

.form_btn_box .global_btn {
    text-align: center;
}

.global_btn A {
    margin: auto;
    display: inline-block;
    text-align: center;
}

.outside_btn_box {
    margin: 20px;
}

.label_suffix {
    margin-left: 3px;
    display: inline-block;
}

.btn_size_xxlarge .global_iconleft .fa {
    font-size: 131%;
}

.search_form .fixed_size_large_btn,
.itemlist_cartbutton .fixed_size_large_btn,
.itemlist_detailinput .fixed_size_large_btn,
.itemlist_selectoption .fixed_size_large_btn {
    font-size: 14px;
}

.itemlist_cartbutton  .btn_size_icon .fa,
.itemlist_cartbutton  .global_iconleft .fa {
    font-size: 18px;
}

.general_btn,
.standard_btn,
.btn_color_common,
.btn_color_emphasis {
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.general_btn,
.standard_btn {
    background-color: transparent;
}

.global_btn button.general_btn {
    padding: 0 3px;
}

.en_version .deleteinput.btn_size_small {
    font-size: 14px;
}

.inquiryinput,
.favoriteinput {
    font-size: 14px;
}

.en_version .closeinput {
    font-size: 14px;
}

.favorite_contents .layout_column_text .list_item_cell .not_link .delete_btn .fa,
.mypagereview_contents .layout_text .list_item_cell .not_link .delete_btn .fa {
    position: relative;
    right: auto;
    top: auto;
    margin-top: 0;
}

.use_hover .item_list .general_btn:hover,
.use_hover .item_list .standard_btn:hover,
.use_hover .item_list .more_item A:hover,
.use_hover .recently .recently_reset A:hover {
    opacity: 1;
}

/** a要素をボタン形状にししている部分が、iPhoneで長押しするとラベルが選択されて文字が見えなくなる場合がある点の対策 */
.btn_color_emphasis,
.btn_color_common {
    /* テキスト選択を無効化 */
    -webkit-user-select: none;
    user-select: none;
    /* タップハイライト色を無効化 */
    -webkit-tap-highlight-color: transparent;
    /* コールアウト（長押しメニュー）を無効化 */
    -webkit-touch-callout: none;
    /* ドラッグを無効化 */
    -webkit-user-drag: none;
}


/* ************************************************************** */
/* english button */
/* ************************************************************** */

.en_version .global_btn .senderinput,
.en_version .global_btn .recipientaddnewinput {
    font-size: 16px;
}

.en_version .side_staff_box .profile_link_box,
.en_version .global_btn .quantitychinput {
    font-size: 14px;
}


/*************************************************************/
/* space */
/*************************************************************/

.box_both_ends_space {
    padding-left: 10px;
    padding-right: 10px;
}

.box_both_ends_small_space {
    padding-left: 5px;
    padding-right: 5px;
}

.box_both_ends_margin {
    margin-left: 10px;
    margin-right: 10px;
}

.box_both_ends_small_margin {
    margin-left: 5px;
    margin-right: 5px;
}

.box_padding {
    padding: 2px;
}

.box_margin {
    margin: 2px;
}


/* ************************************************************** */
/* word-break */
/* ************************************************************** */

.model_number {
    word-wrap: break-word;
    overflow-wrap : break-word;
}


/* ************************************************************** */
/* clear fix */
/* ************************************************************** */

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

/*
#container {
    position: relative;
}

#close_background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #000000;
    opacity: 0.8;
}

#headernav {
    position: relative;
    display: none;
}
*/


/* ************************************************************** */
/* display */
/* ************************************************************** */

.dispblock {
    display: block;
}

.dispinline {
    display: inline;
}

.dispinlineblock {
    display: inline-block;
}

.floatleft {
    float: left;
}

.floatright {
    float: right;
}


/* ************************************************************** */
/* blank space */
/* ************************************************************** */

.margin_space_all {
    margin: 10px;
}

.margin_space_tb {
    margin: 10px 0;
}

.margin_space_t {
    margin-top: 10px;
}

.margin_space_b {
    margin-bottom: 10px;
}


/* ************************************************************** */
/* calendar */
/* ************************************************************** */

.cal_month {
    padding: 10px 0;
    text-align: center;
}

.cal_month .this_month {
    padding: 0 10px;
}

.calendar_data .data_table {
    width: 100%;
    table-layout: fixed;
}

.cal_day_header {
    text-align: center;
}

@media screen and (max-width: 359px) {
    .large_font .english_calendar .cal_day_header {
        padding: 5px 0;
        font-size: 17px;
    }
}

.side_box .english_calendar .cal_day_header {
    font-size: 12px;
}

.calendar_data .cal_day_cell {
    width: 14%;
    vertical-align: top;
}

.event_data {
    padding: 10px 0;
}

.event_data .event_icon_img {
    vertical-align: baseline;
}

.holiday_icon {
    width: 15px;
    height: 15px;
    display: inline-block;
    vertical-align: baseline;
}

.calendar_slide {
    display: inline-block;
    font-size: 14px;
    cursor: pointer;
}

.event_list {
    margin-top: 5px;
    padding: 0 5px;
}

.has_information {
    cursor: help;
}

.calendar_data {
    box-sizing: border-box;
}

.page_box .calendar_data {
    padding: 0 10px;
}

.main_box .calendar_contents {
    padding: 0 10px;
}

.side_box .calendar_contents {
    padding: 0 1px;
}

.cal_btn_box {
    min-width: 40px;
    display: inline-block;
}

.event_title {
    padding: 5px 0;
}

.event_desc {
    padding: 0 5px 5px 5px;
}

.ajax_calendar .ajax_request_loading {
    height: 450px;
    box-sizing: border-box;
}

.side_col .ajax_calendar .ajax_request_loading {
    height: 300px;
}

.ajax_calendar {
    -webkit-tap-highlight-color: transparent;
}


/* ************************************************************** */
/* customize form calendar */
/* ************************************************************** */

.form_box .ajax_calendar_form,
.form_box .ajax_calendar_form .ajax_request_loading {
    min-height: 272px;
}

.form_box .form_area .form_error .calendar_data .cal_day_header,
.form_box .form_area .form_error .calendar_data .cal_day_cell {
    padding: 5px;
    border-radius: 0;
}

.form_boxm .calendar_data .cal_day_header {
    width: 14%;
    text-align: center;
}

.form_box .calendar_data .data_table .cal_day_cell {
    height: 25px;
    line-height: normal;
}

.form_box .calendar_data {
    padding: 0;
}

.form_box .calendar_data .a_cal_day,
.form_box .calendar_data .a_cal_day:hover {
    border-width: 2px;
}

.form_box .calendar_data .cal_day {
    display: block;
}

.form_box .calendar_data .a_cal_day {
    padding-top: 5px;
    padding-bottom: 5px;
    display: block;
    text-align: center;
    word-wrap: normal;
    overflow-wrap: normal;
    font-size: 12px;
}

.form_box .calendar_data .cal_day_number {
    font-size: 11px;
}

@media screen and (min-width: 360px) {

    .form_box .ajax_calendar_form,
    .form_box .ajax_calendar_form .ajax_request_loading {
        min-height: 304px;
    }

    .form_box .calendar_data .data_table .cal_day_cell {
        height: 33px;
    }

    .form_box .calendar_data .cal_day_number {
        font-size: 14px;
    }

    .form_box .calendar_data .a_cal_day {
        font-size: 16px;
    }

}


/* ************************************************************** */
/* confirmation message */
/* ************************************************************** */

.confirmation_message {
    margin-top: 15px;
    padding: 20px 10px;
    text-align: center;
}

.confirmation_form {
    padding: 15px 5px;
}

.confirmation_form .btn_box {
    padding: 5px 0 0 0;
    text-align: center;
}

.confirmation_form .btn_box .global_btn {
    padding: 10px 5px;
    vertical-align: middle;
}

.confirm_email {
    padding: 10px;
    margin-top: 10px;
    border-style: solid;
    border-width: 3px;
    border-radius: 5px;
    font-size: 153.9%;
    font-weight: bold;
    font-family: Arial, Helvetica, sans-serif;
    word-wrap: break-word;
    overflow-wrap : break-word;
    line-height: normal;
}


/* ************************************************************** */
/* percentage width specification for custom space */
/* ************************************************************** */

.column1_item {
    width: 100%;
}

.column2_item {
    width: 50%;
}

.column3_item {
    width: 33.33%;
}

.column4_item {
    width: 25%;
}

.column5_item {
    width: 20%;
}

.column6_item {
    width: 16.66%;
}


/* ************************************************************** */
/* margin/padding/position setting for custom space */
/* ************************************************************** */

.margin3 {
    margin: 3px;
}

.margin5 {
    margin: 5px;
}

.margin8 {
    margin: 8px;
}

.margin10 {
    margin: 10px;
}

.margin15 {
    margin: 15px;
}

.padding3 {
    padding: 3px;
}

.padding5 {
    padding: 5px;
}

.padding8 {
    padding: 8px;
}

.padding10 {
    padding: 10px;
}

.padding15 {
    padding: 15px;
}

.relative_position {
    position: relative;
}


/* ************************************************************** */
/* accordion for custom space */
/* ************************************************************** */

.custom_accordion {
    position: relative;
}

.custom_accordion_content {
    display: none;
}

.custom_accordion .custom_accordion_header::after {
    content: "+";
    position: absolute;
    right: 10px;
}

.custom_accordion.open > .custom_accordion_header::after {
    content: "-";
}

.custom_accordion_header {
    width: 100%;
    padding: 10px 20px 10px 10px;
    display: block;
    text-align: left;
    background-color: transparent;
    border: none;
    box-shadow: none;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.custom_accordion_header:not(:focus-visible) {
    outline: none;
}


/*************************************************************/
/* free banner */
/*************************************************************/

.ocnk_flex_banner_box {
    gap: 10px;
    padding: 10px;
    box-sizing: border-box;
}

.ocnk_flex_banner_box A {
    display: block;
}

.use_hover .ocnk_flex_banner_box A:hover {
    opacity: .7;
}

.ocnk_flex_banner_box .flex_banner {
    position: relative;
}

.ocnk_flex_banner_box .flex_banner img {
    object-fit: cover;
    width: 100%;
    height: 100px;
}

.ocnk_flex_banner_box .flex_banner A::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: .2;
    position: absolute;
    top: 0;
    left: 0;
}

.ocnk_flex_banner_box .flex_banner.fontblack A::after {
    background-color: #FFF;
}

.ocnk_flex_banner_box .flex_banner.afterdark A::after {
    opacity: .4;
}

.ocnk_flex_banner_box .flex_banner.afterhidden A::after {
    opacity: 0;
}

.ocnk_flex_banner_box:has(.flex_banner:nth-child(1):last-child) .flex_banner {
    width: 100%;
}

.ocnk_flex_banner_box:has(.flex_banner:nth-child(2):last-child, .flex_banner:nth-child(3):last-child, .flex_banner:nth-child(4):last-child) .flex_banner {
    width: calc((100% - 10px) / 2);
}

.ocnk_flex_banner_box .inner_banner_desc {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    padding: 0 20px;
    color: #FFF;
    z-index: 5;
    text-align: left;
}

.ocnk_flex_banner_box .fontblack .inner_banner_desc {
    color: #000;
}

.ocnk_flex_banner_box .inner_banner_desc .banner_title {
    font-size: 16px;
    line-height: 120%;
}

.ocnk_flex_banner_box .inner_banner_desc .banner_desc {
    font-size: 11px;
    font-weight: 400;
}

@media screen and (min-width: 840px) {
    .ocnk_flex_banner_box .flex_banner img {
        height: 150px;
    }

    .ocnk_flex_banner_box .inner_banner_desc {
        padding: 0 30px;
    }

    .ocnk_flex_banner_box .inner_banner_desc .banner_title {
        font-size: 22px;
    }

    .ocnk_flex_banner_box .inner_banner_desc .banner_desc {
        font-size: 14px;
    }
}

@media screen and (min-width: 1000px) {
    .ocnk_flex_banner_box {
        gap: 15px;
    }

    .ocnk_flex_banner_box:has(.flex_banner:nth-child(2):last-child) .flex_banner {
        width: calc((100% - 15px) / 2);
    }

    .ocnk_flex_banner_box:has(.flex_banner:nth-child(3):last-child) .flex_banner {
        width: calc((100% - 30px) / 3);
    }

    .ocnk_flex_banner_box:has(.flex_banner:nth-child(4):last-child) .flex_banner {
        width: calc((100% - 45px) / 4);
    }

    .ocnk_flex_banner_box .flex_banner img {
        height: 200px;
    }

    .ocnk_flex_banner_box .inner_banner_desc .banner_title {
        font-size: 32px;
    }

    .ocnk_flex_banner_box .inner_banner_desc .banner_desc {
        font-size: 16px;
        font-weight: 400;
    }

    .ocnk_flex_banner_box:has(.flex_banner:nth-child(3):last-child, .flex_banner:nth-child(4):last-child) .inner_banner_desc {
        padding: 0 15px;
    }

    .ocnk_flex_banner_box:has(.flex_banner:nth-child(3):last-child, .flex_banner:nth-child(4):last-child) .inner_banner_desc .banner_title {
        font-size: 25px;
    }

    .ocnk_flex_banner_box:has(.flex_banner:nth-child(3):last-child, .flex_banner:nth-child(4):last-child) .inner_banner_desc .banner_desc {
        font-size: 14px;
    }
}


/* ************************************************************** */
/* 自由記入欄に記述している、テキストと画像を左右に並べているコンテンツのスタイル */
/* ************************************************************** */

.ocnk_flex_banner_box,
.ocnk_flex_pickupcontent_box,
.main_box.diary,
.main_box.whatnew,
.main_box.article {
    container-name: ocnk_flex_free_box;
    container-type: inline-size;
}

.ocnk_flex_pickupcontent_box {
    padding: 0 10px;
}

.ocnk_flex_pickupcontent_box .flex_pickupcontent {
    margin-bottom: 50px;
    gap: 20px;
}

.ocnk_flex_pickupcontent_box .flex_pickupcontent .pickupcontent_image,
.ocnk_flex_pickupcontent_box .flex_pickupcontent .inner_pickupcontent_desc  {
    width: calc((100% - 20px) / 2);
}

.ocnk_flex_pickupcontent_box .flex_pickupcontent img {
    object-fit: cover;
    width: 100%;
    height: 200px
}

.ocnk_flex_pickupcontent_box .flex_pickupcontent .pickupcontent_image A {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.use_hover .ocnk_flex_pickupcontent_box .flex_pickupcontent .pickupcontent_image A:hover {
    opacity: .7;
}

.use_hover .ocnk_flex_pickupcontent_box .flex_pickupcontent .pickupcontent_image A:hover img {
    scale: 1.2;
}

.ocnk_flex_pickupcontent_box .inner_pickupcontent_desc {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 5px;
}

.ocnk_flex_pickupcontent_box .inner_pickupcontent_desc .pickupcontent_title {
    font-size: 20px;
    font-weight: 700;
    padding: 10px 0;
    line-height: 120%;
}

.ocnk_flex_pickupcontent_box .inner_pickupcontent_desc .pickupcontent_desc {
    font-size: 14px;
}

.ocnk_flex_pickupcontent_box .inner_pickupcontent_desc .pickupcontent_desc_sub {
    font-size: 11px;
    padding: 10px 0 0;
}

.ocnk_flex_pickupcontent_box .inner_pickupcontent_desc .more_item {
    margin: 15px 0;
}

@media screen and (min-width: 375px) {
    .ocnk_flex_pickupcontent_box .inner_pickupcontent_desc .more_item {
        min-width: 150px;
    }
}

@media screen and (min-width: 840px) {
    .ocnk_flex_pickupcontent_box .flex_pickupcontent {
        margin-bottom: 80px;
    }

    .ocnk_flex_pickupcontent_box .flex_pickupcontent img {
        height: 300px;
    }

    .ocnk_flex_pickupcontent_box .inner_pickupcontent_desc {
        padding: 20px;
    }

    .ocnk_flex_pickupcontent_box .inner_pickupcontent_desc .pickupcontent_title {
        font-size: 25px;
    }

    .ocnk_flex_pickupcontent_box .inner_pickupcontent_desc .pickupcontent_desc {
        font-size: 16px;
    }

    .ocnk_flex_pickupcontent_box .inner_pickupcontent_desc .pickupcontent_desc_sub {
        font-size: 14px;
        padding: 20px 0 0;
    }

    .ocnk_flex_pickupcontent_box .inner_pickupcontent_desc .more_item {
        margin: 30px 0 0;
        min-width: 200px;
    }
}

@media screen and (min-width: 1000px) {
    .ocnk_flex_pickupcontent_box .flex_pickupcontent img {
        height: 400px
    }
    .ocnk_flex_pickupcontent_box .inner_pickupcontent_desc .pickupcontent_title {
        font-size: 32px
    }
    .ocnk_flex_pickupcontent_box .inner_pickupcontent_desc .pickupcontent_desc {
        font-size: 16px;
    }
    .ocnk_flex_pickupcontent_box .inner_pickupcontent_desc .pickupcontent_desc_sub {
        font-size: 14px;
    }
}

@container ocnk_flex_free_box (min-width: 1400px) {
    .ocnk_flex_pickupcontent_box .flex_pickupcontent img {
        height: 600px
    }
    .ocnk_flex_banner_box .flex_banner img {
        height: 400px;
    }
}

/* テンプレ毎のサンプル画像を非同期で読み込むまでのローディング表示 */
img[data-sample-filename][src="/res/touch001/img/sample/spacer_1200x600.png"] {
    background-image: url(img/all/load_x2.gif);
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: 25px 25px;
    background-size: 25px 25px;
}


/* ************************************************************** */
/* free space */
/* ************************************************************** */

.cell_note,
.label_note,
.order_desc,
.custom_note,
.custom_space,
.custom_desc,
.copy,
.free_contents {
}

.order_desc,
.custom_note,
.custom_space,
.custom_desc {
    max-width: 100%;
    box-sizing: border-box;
    overflow: auto;
}


/* ************************************************************** */
/* free page */
/* ************************************************************** */

#main_container .free_contents {
    max-width: 100%;
    margin-top: -10px;
    box-sizing: border-box;
    overflow: auto;
}

.free_page_box {
    padding-left: 5px;
    padding-right: 5px;
}

/* To prevent extra scrolling in the content area of the free page */
.inner_free_contents {
    padding: 10px 0;
}


/* ************************************************************** */
/* product list */
/* ************************************************************** */

.lower_link_box .toggle_closed {
    margin-top: 1px;
    margin-bottom: 1px;
}

#product_list_freetext_upper {
    margin-bottom: 15px;
}

#product_list_freetext_lower {
    margin-top: 15px;
}

.spacer_image {
    display: none;
}

.loading_photo .spacer_image {
    display: inline-block;
}

/* ************************************************************** */
/* product detail */
/* ************************************************************** */

.main_photo_slide {
    margin-top: 5px;
}

.main_photo_slide .inner_slider_box,
.main_photo_slide .slider_box .swiper-container {
    max-width: 300px;
}

.narrow_thumbnail,
.wide_thumbnail {
    padding: 0 5px;
}

.thumbnail_list {
    margin: auto;
}

.thumbnail_image_link {
    display: block;
    margin: 0 auto 5px auto;
    text-align: center;
}

.thumbnail_image_box {
    font-size: 10px; /* for preload alt display */
}

.use_hover .thumbnail_image_link:hover {
    background-color: transparent;
}

.detail_section {
    padding-top: 5px;
    padding-bottom: 5px;
}

.large_font .detail_section {
    padding-top: 7px;
    padding-bottom: 7px;
}

.detail_section:last-child {
    border-bottom: none;
}

.section_box p {
    margin: 0;
}

.product_name_inside {
    margin-top: 10px;
}

.detail_item_data .product_name_inside {
    padding: 0 5px;
}

.detail_item_data .regular_price {
    display: inline-block;
}

.detail_item_data .regular_price,
.detail_item_data .retail_price,
.detail_item_data .tax_incl_price {
    word-wrap: normal;
    overflow-wrap : normal;
}

.tax_box .tax_total {
    padding-bottom: 0px;
}
.tax_box .reduce_tax_total {
    padding-top: 0px;
}

.price_label,
.figure,
.tax_label {
    display: inline-block;
}

.detail_item_data .bottompos .section_box,
.detail_item_data .bottompos .section_box p {
    margin-bottom: 0;
}

.detail_item_data .common_icon {
    padding-top: 0;
    padding-bottom: 0;
}

.item_desc {
    padding-top: 10px;
    padding-bottom: 10px;
}

.detail_spec_data {
    padding: 10px 5px;
}

.other_item_data {
    padding: 10px 0;
}

.detail_other_list {
    padding: 0 5px;
}

.other_photo_desc {
    padding: 10px 5px;
}

.detail_contents .form_data,
.product_form_box .form_data {
    padding: 0;
}

.charge_option_item {
    display: block;
}

.detail_spec_data {
    box-sizing: border-box;
}

.youtube_player {
    max-width: 640px;
    margin: 0 auto;
}

.youtube_player_short {
    max-width: 360px;
    margin: 0 auto;
}

.youtube_container {
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    position: relative;
    overflow: hidden;
}

.youtube_player_short .youtube_container {
    padding: 30px 0 170%;
}

.youtube_container iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.detail_inner_box {
    margin: 20px 0;
}

.other_photo_item {
    width: 100%;
    box-sizing: border-box;
}

.detail_contents .toggle_closed {
    margin: 1px 0;
}

.toggle_closed .detail_inner_box {
    margin-top: 0;
    margin-bottom: 0;
}

#container .disabled_detail_block {
    display: none;
}

.disabled_variation_stock_list {
    display: none;
}

.without_stock_list_label .stocklist_quantity,
.without_stock_list_label .restocklink {
    display: none;
    pointer-events: none;
}

.upper_subscription_info_freetext_section {
    margin-top: 10px;
}

/* Product detail page - cart add button fixed pattern */

.add_cart_btn_wrapper {
    margin: 10px 0;
}

.detail_item_data .add_cart_btn_wrapper .is_fixed {
    width: 100%;
    padding-bottom: env(safe-area-inset-bottom);
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 90;
    background: rgba(0, 0, 0, 0.6);
    animation-name: fadein;
    animation-duration: .3s;
}


/* Display an unprocessed main slide image in a square */

.square_photo_slide_300 .item_image_box,
.square_photo_slide_400 .item_image_box,
.square_photo_slide_600 .item_image_box {
    width: 300px;
    height: 300px;
    line-height: 300px;
    display: block;
    box-sizing: border-box;
}

.square_photo_slide_300 .item_image,
.square_photo_slide_400 .item_image,
.square_photo_slide_600 .item_image {
    max-width: 300px;
    max-height: 300px;
    vertical-align: middle;
    box-sizing: border-box;
}

.square_photo_slide_300 .initial_loading,
.square_photo_slide_400 .initial_loading,
.square_photo_slide_600 .initial_loading {
    height: 300px;
}

.thumbnail_btn {
    object-fit: cover;
}

/* ************************************************************** */
/* product form */
/* ************************************************************** */

.variation_item_box {
    position: relative;
}

.product_form .detail_shopping_cart {
    padding-bottom: 15px;
}

.order_item .item_box {
    padding: 2px 0;
}

.upper_order_desc {
    margin-bottom: 3px;
}

.lower_order_desc {
    margin-top: 3px;
}

.variation_stock_list input[type="radio"] {
    margin: 0;
}

.stocklist_label {
    display: block;
    cursor: pointer;
}

.soldout .stocklist_label {
    cursor: default;
}

.stocklist_label .stocklist_radio {
    margin: 0 2px;
}

.detail_return_box {
    padding: 5px 0;
}


/* ************************************************************** */
/* popup variation form */
/* ************************************************************** */

.popup_variation {
    -webkit-tap-highlight-color: transparent;
}

.popup_variation,
.popup_area {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3000;
    border-radius: 3px;
    box-sizing: border-box;
    box-shadow: 0 10px 16px rgba(0, 0, 0, 0.24), 0 8px 6px rgba(0, 0, 0, 0.12);
}

.has_opened_variation_menu #container {
    overflow: visible;
    overflow-x: hidden; /* for IE11 */
}

.overlay_area .popup_variation {
    position: static;
}

.popup_variation .upper_popup_message {
    min-height: 20px;
}

.popup_variation .upper_popup_message .error_box {
    margin: 20px 40px 10px 20px;
}

.popup_variation_selection,
.popup_section {
    margin-bottom: 10px;
    padding: 10px 20px;
}

.popup_variation_title {
    font-size: 108%;
    font-weight: bold;
    line-height: normal;
}

.popup_variation_value {
    font-weight: normal;
}

.popup_variation_title,
.popup_variation_options {
    padding-bottom: 10px;
}

.popup_variation_item {
    margin: 5px 0;
    display: inline-block;
}

.popup_variation_button {
    margin-right: 5px;
    padding: 5px 10px;
    text-align: left;
}

.sold_out_option .popup_variation_button {
    opacity: 0.4;
    cursor: default;
}

.variation_stock_status {
}

.variation_stock_text {
    padding-left: 5px;
    display: inline-block;
    font-size: 77%;
}

.popup_variation_edit_button,
.popup_variation_select_button {
    margin-left: 5px;
}

.popup_bottom_ok,
.popup_bottom_close {
    text-align: center;
}

.popup_bottom_ok {
    padding-bottom: 10px;
}

.popup_bottom_close .close_link {
    padding-bottom: 10px;
    display: block;
}

.popup_variation .close_btn_box {
    display: inline-block;
    position: absolute;
    right: 0;
    top: 0;
}

.popup_variation .close_btn_box .icon_btn {
    margin: 5px;
}

.variation_selection_box {
    margin: 5px 0;
}

.variation_selection_mode .variation_item {
    display: none;
}

.validation_selection_button {
    max-width: 100%;
    padding: 5px 10px;
    position: relative;
    box-sizing: border-box;
    text-align: left;
    font-size: 108%;
    overflow: hidden;
}

.variation_selection_box .validation_selection_selected_all {
    max-width: 500px;
    width: 97%;
    background-image: none;
}

.validation_selection_button .loading {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-image: url(img/all/load_x2.gif);
    -webkit-background-size: 25px 25px;
    background-size: 25px 25px;
}

.overlay_area .variation_selection_box {
    opacity: 1;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    visibility: visible;
}

.overlay_area .opened_popup_variation .variation_selection_box {
    position: absolute;
    opacity: 0;
    visibility: hidden;
}

.variation_selection_list {
    margin: 5px 0;
    display: inline;
}

.validation_selection_selected_all .variation_selection_list {
    display: block;
}

.variation_selection_msg_text {
    display: inline-block;
}

.validation_selection_selected_all .variation_selection_msg_text {
    padding: 2px 10px;
    border-radius: 5px;
}

.variation_selection_msg {
    margin: 5px 0;
    display: inline-block;
}

.validation_selection_selected_all .variation_selection_msg {
    display: block;
    text-align: center;
}

.variation_selection_status {
    vertical-align: bottom;
}

.variation_selection_value {
    display: none;
}

.validation_selection_selected_all .variation_selection_value {
    display: inline-block;
}

.variation_selection_item {
    margin-top: 5px;
    display: inline-block;
}

.validation_selection_selected_all .variation_selection_item {
    display: block;
    line-height: 1.8;
}

.validation_selection_selected_all .slash {
    display: none;
}

.variation_selection_label .colon {
    display: none;
}

.validation_selection_selected_all .variation_selection_label .colon {
    display: inline-block;
}

.validation_selection_selected_all .variation_selection_stock {
    display: block;
}


/* ************************************************************** */
/* garitto */
/* ************************************************************** */

#garitto {
    padding-top: 10px;
    padding-bottom: 2px;
}

.garitto_review {
    width: 100%;
    height: 17px;
    overflow: hidden;
}

.garitto_page_body {
    background-color: transparent;
    background-image: none;
    border: none;
    padding: 0;
    margin: 0;
    width: auto;
}


/* ************************************************************** */
/* social tool */
/* ************************************************************** */

.social_tool .social_tool_item {
    height: 20px;
    margin-top: 5px;
    margin-bottom: 5px;
    box-sizing: content-box;
    line-height: normal;
}

.twitter_detail .twitter-share-button {
    margin-right: 10px;
}

.fb_like_iframe {
    width: 115px;
    height: 20px;
    border: none;
    overflow: hidden;
}

.social_tool .line_detail {
    margin-left: 10px;
}

.inner_line_detail,
.line_detail a {
    margin-right: 7px;
}

#fbcomment_contents {
    text-align: center;
}

#fbcomment_contents .fb_unit {
    padding: 10px 10px 10px 0;
}

/* iOS Safariで、Facebookコメントのiframeに width: 0px が付与されて、小さく表示される点の対策 */
#fbcomment_contents iframe {
    width: 100% !important;
}

.mixi_btn_image {
    vertical-align: top;
}

.web_share_button.share_icon_button {
    width: 50px;
    height: 20px;
    padding-block: 0;
}

.social_tool .share_icon_button {
    margin-top: -1px;
    margin-right: 10px;
}


/* ************************************************************** */
/* option list */
/* ************************************************************** */

.charge_option_data {
    margin: 0;
}


/* ************************************************************** */
/* review */
/* ************************************************************** */

.inner_review_list_product_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.review_list_product_photo {
    width: 130px;
    min-width: 130px;
    height: auto;
}

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

    .review_list_product_photo {
        width: 90px;
        min-width: 90px;
    }

}

.review_item_data {
    width: 100%;
}

.inner_review_item_data {
    padding-top: 5px;
    padding-right: 5px;
}

.inner_review_item_data .review_item_price {
    padding: 0 2px;
}

.review_item_price .selling_price,
.review_item_price .tax_incl_price {
    margin-right: 5px;
    display: inline-block;
}

.inner_review_list_product_box .add_cart {
    padding: 10px 0;
    text-align: left;
}

.review_contents .review_list_product_box {
    margin-top: 5px;
    margin-bottom: 20px;
}

.review_contents .has_rating_graph .review_list_product_box {
    margin-bottom: 15px;
}

.review_contents .review_list_product_box .review_list_product_photo {
    box-sizing: border-box;
}

.review_contents .review_list_product_box .detail_item_data {
    width: 100%;
    box-sizing: border-box;
}

.review_list_product_box .detail_item_data {
    padding: 0 5px;
    box-sizing: border-box;
}

.review_list_product_box .all_average {
    margin-bottom: 10px;
}

.inner_review_list_product_box {
    width: 100%;
}

.inner_review_list_product_box .detail_item_data {
    width: 100%;
}

.review_item_name {
    font-size: 123.1%;
}

.detail_review_area .more_item {
    border-top-width: 0;
}

.star_icon {
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center center;
    vertical-align: middle;
}

.rating_icon abbr[title] {
    border-bottom: none;
    cursor: default;
}

.rating_icon a abbr[title] {
    cursor: pointer;
}

.review_number {
    padding-top: 2px;
    vertical-align: middle;
}

.review_title {
    line-height: normal;
}

.review_user_image {
    margin: 5px 0;
}

.review_section .youtube_player {
    max-width: 320px;
    margin: 0;
}

.elastic_ctrl_box {
    line-height: 3;
}

/*
.elastic_hidden {
    position: relative;
}

.elastic_hidden .elastic_ctrl_box {
    width: 100%;
    position: absolute;
    bottom: 0;
    z-index: 50;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0) linear-gradient(180deg, rgba(255, 255, 255, 0.5), white) repeat scroll 0 0;
}
*/

.layout_text .review_comment_text A,
.layout_text .shop_comment_text A {
    display: inline;
}

.vote_mes .error_status,
.vote_mes .error_icon,
.vote_mes .ok_status,
.vote_mes .ok_icon {
    padding: 0;
}

.review_list_product_photo {
    padding: 5px;
    text-align: center;
}

.review_rating_count {
    font-weight: bold;
}

.number_zero .review_rating_count,
.number_zero .review_rating_suffix {
    font-weight: normal;
    font-size: 93%;
}

.item_list .review_rating_count {
    font-weight: normal;
}

.rating_point {
    padding-top: 3px;
    display: inline-block;
    vertical-align: middle;
    font-weight: bold;
}

.price_section p {
    margin: 0;
}

.review_number {
    display: inline-block;
}

.product_review_info_area .toggle_closed {
    margin: 1px 0;
}

.rating_graph {
    min-width: 70px;
}

.en_version .rating_graph,
.large_font .rating_graph {
    min-width: 50px;
}

.inner_rating_average .small_rating_icon {
    min-width: 75px;
}

.review_contents .detail_item_data .rating_icon {
    padding-left: 0;
}

.all_average .td_rating_title {
    min-width: 75px;
}

.detail_item_data .rating_average {
    width: 100%;
    float: none;
}

.inner_rating_average {
    margin: 0 5px;
}

.product_review_info_area .rating_average,
.rating_average {
    width: 100%;
    margin-top: 5px;
    box-sizing: border-box;
}

.inner_review_rating {
    margin-bottom: 20px;
}

.inner_review_rating .td_rating_title,
.inner_review_rating .td_rating_icon {
    width: 30%;
    box-sizing: border-box;
    line-height: 1;
    vertical-align: middle;
}

.inner_review_rating .td_rating_graph {
    width: 50%;
    box-sizing: border-box;
}

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

    .en_version .inner_review_rating .td_rating_title,
    .en_version .inner_review_rating .td_rating_icon {
        width: 35%;
    }

    .en_version .inner_review_rating .td_rating_graph {
        width: 45%;
        box-sizing: border-box;
    }

}

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

    .en_version .inner_review_rating .td_rating_title,
    .en_version .inner_review_rating .td_rating_icon {
        width: 40%;
    }

    .en_version .inner_review_rating .td_rating_graph {
        width: 40%;
    }

}

.inner_rating_average .title_toggle_link,
.inner_review_rating .cell_header {
    font-weight: normal;
}

.inner_review_rating .td_rating_number {
    width: 20%;
    box-sizing: border-box;
}

.age_title {
    font-weight: normal;
}

.bar_graph {
    width: 100%;
    height: 10px;
    display: inline-block;
    box-sizing: border-box;
}

.rating_list_title {
    margin-top: 20px;
}

.rating_number {
    text-align: right;
    white-space: nowrap;
}

.rating_number_link {
    display: block;
}

.review_consult_qa {
    margin-top: 5px;
}

.review_vote_btn {
    margin-top: 5px;
    display: block;
}

.vote_thanks {
    margin-top: 10px;
}

.vote_thanks .btn_box {
    margin: 0 auto;
    text-align: center;
}

.review_list .list_back,
.shop_review_list .list_back {
    padding: 10px 5px;
    text-align: right;
}

.product_review_data {
    padding-top: 10px;
    padding-bottom: 30px;
}

.shop_review_data {
    padding-top: 30px;
    padding-bottom: 30px;
}

.review_data .upper_review_rating_box {
    padding-bottom: 0;
}

.review_data .review_data_header {
    padding-left: 0;
    padding-right: 0;
}

.inner_item_data_upper .review_data_upper,
.mypagereview_contents .review_data {
    padding: 0 0 10px;
}

.inner_item_data_upper .review_data_upper {
    border-bottom: none;
}

.layout_text .review_image_link {
    display: inline-block;
    border: none;
}

.gallery_item:first-child .review_image_link {
    margin-left: 0;
}

.gallery_item:last-child .review_image_link {
    margin-right: 0;
}

.review_section .gallery_item {
    margin: 0 1px;
}

.review_section .square_photo_layout .gallery_item {
    width: 80px;
    height: 80px;
}

.square_photo_layout .review_image_link img {
    width: auto;
    max-width: 80px;
    max-height: 80px;
}

.review_post_product_photo {
    min-width: 80px;
    text-align: center;
}

.review_post_stars img {
    width: 30px;
}

.review_image img {
    margin-right: 5px;
}

.review_image + .review_file_input {
    line-height: 3;
}

.review_rules {
    margin: 10px 0;
}

.rating_zero .review_number {
    margin-left: 0;
}

.detail_review_header .rating_icon A {
    display: inline-block;
}

.detail_review_header .global_btn .reviewnewinput {
    margin-top: 5px;
    font-size: 16px;
}

.review_list .search_result_title h4 {
    margin-top: 15px;
    margin-left: 5px;
    margin-right: 5px;
}

.review_admin .review_data_lower .review_section:last-child {
    border-bottom: none;
}

.review_list .layout_text .inner_item_data_lower {
    padding-right: 5px;
}

.review_list .inner_item_data {
    position: relative;
}

.review_list .delete_box .delete_btn_box {
    top: 14px;
    right: 10px;
}

.review_product_photo {
    min-width: 80px;
    padding-left: 1px;
    box-sizing: border-box;
}

.review_section {
    padding: 8px 5px;
}

.inner_item_data_lower .review_section {
    margin: 0;
}

.review_admin .without_vote .comment_bottom {
    border-bottom: none;
}

.review_rating_icon {
    padding-left: 0;
}

.mypagereview_contents .review_rating_icon {
    padding-top: 0;
    padding-bottom: 0;
}

.reviewer_label {
    display: inline-block;
    padding-right: 10px;
}

.detail_page_body .review_note {
    border-bottom: none;
}

.review_admin .review_note {
    border-top: none;
}

.owner_header {
    padding: 5px 0;
}

.review_admin .global_btn {
    padding: 10px;
}

.review_form {
    margin-top: 10px;
    display: block;
}

.review_post_product_box {
    margin-top: 5px;
    padding: 0 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    box-sizing: border-box;
}

.review_post_product_box .review_list_product_photo {
    width: 90px;
    min-width: 90px;
    height: auto;
}

.review_post_product_box .review_item_data {
    padding: 0 5px;
}


/* rating star icon */

.large_rating_icon .star_icon {
    width: 30px;
    height: 30px;
    -webkit-background-size: 30px 30px;
    background-size: 30px 30px;
}

.medium_rating_icon .star_icon {
    width: 23px;
    height: 23px;
    -webkit-background-size: 23px 23px;
    background-size: 23px 23px;
}

.small_rating_icon .star_icon {
    width: 15px;
    height: 15px;
    -webkit-background-size: 15px 15px;
    background-size: 15px 15px;
}

.large_rating_icon .star_empty,
.medium_rating_icon .star_empty {
    background-image: url(img/all/star_empty_x2.png);
}

.large_rating_icon .star_full,
.medium_rating_icon .star_full {
    background-image: url(img/all/star_full_x2.png);
}

.large_rating_icon .star_half,
.medium_rating_icon .star_half {
    background-image: url(img/all/star_half_x2.png);
}

.small_rating_icon .star_empty {
    background-image: url(img/all/star_empty.png);
}

.small_rating_icon .star_full {
    background-image: url(img/all/star_full.png);
}

.small_rating_icon .star_half {
    background-image: url(img/all/star_half.png);
}


/* ************************************************************** */
/* rules */
/* ************************************************************** */

.rules_area .global_info {
    padding: 0;
}

.rules_area .rules_title,
.rules_area .form_title {
    margin: 0 5px;
    padding: 0;
}

.inner_rules_area {
    padding: 5px;
}

.inner_rules_title,
.rules_title_link,
.review_rules_title a {
    padding: 10px 5px;
    display: block;
}

.rules_contents {
    margin-top: 5px;
    padding: 10px;
}

.rules_area .agreement_check_box {
    margin-bottom: 10px;
    padding: 5px 10px;
}

.rules_area .contents_open {
    border: none;
}


/* ************************************************************** */
/* home */
/* ************************************************************** */

#photo img {
    height: auto;
    min-height: 59px;
    object-fit: cover;
}


/* ************************************************************** */
/* help */
/* ************************************************************** */

.help_menu,
.anchor_nav_area {
    margin: 15px 0;
}

.anchor_nav_area A {
    box-sizing: border-box;
}

.anchor_nav_area .nav_btn {
    width: 100%;
    margin: 1px;
    padding: 10px 1px;
    text-align: center;
}

.help_step .step_number {
    margin-right: 5px;
    display: inline-block;
    font-size: 77%;
}

.help_data {
    padding: 0 5px;
}

.help_charge {
    margin-bottom: 20px;
}

.weight_charge .table_caption {
    font-weight: bold;
}

#shippingmethod_area_selection {
    margin-bottom: 15px;
}

#shippingmethod_area_selection .form_title {
    padding-top: 0;
}

#country_list_link {
    margin-left: 5px;
    display: inline-block;
}

#country_list {
    margin-top: 5px;
}

.help_data .data_table .cell_header {
    white-space: normal;
}

.help_payment_free {
    min-height: 10px;
}

.help_spec_data .ssl_image {
    margin-top: 8px;
    margin-bottom: 5px;
}

.help_step_data p,
.help_charge_data p,
.help_payment_data p,
.help_spec_data p {
    margin: 0;
}

.help_icon_data .cell_header {
    min-width: 70px;
}

#spec_contents dd {
    padding: 10px;
}
.anchor_nav_area.tablayout_navigation .nav_btn,
.anchor_nav_area.tablayout_navigation .nav_btn.nav_on,
.use_hover .anchor_nav_area.tablayout_navigation .nav_btn:hover {
    border: none;
    font-size: 123.1%;
    font-weight: 500;
}
.anchor_nav_area.tablayout_navigation .nav_btn.nav_on,
.anchor_nav_area.tablayout_navigation .nav_btn.nav_on:hover {
    font-weight: 700;
}

/* ************************************************************** */
/* mail magazine */
/* ************************************************************** */

.mailmagazine_box {
    padding: 0 5px;
}

.mailmagazine_box .mailmagazine_subscribe_box,
.mailmagazine_box .mailmagazine_unsubscribe_box {
    padding: 5px 0;
}

.mailmagazine_box .mailmagazine_subscribe_title,
.mailmagazine_box .mailmagazine_unsubscribe_title {
    padding: 5px 0;
}


/* ************************************************************** */
/* sign in */
/* ************************************************************** */

.gen_password_link_box {
    margin-bottom: 30px;
    text-align: center;
}

.register_btn_box {
    margin: 30px 0;
}

.signin_box .id_box,
.signin_box .pass_box {
    padding: 5px 0;
    display: block;
}

/* ID、PWタイトル */
.signin_box .id_title,
.signin_box .pass_title {
    padding: 5px 0;
    display: block;
}

.signin_box .inner_pass_box,
.form_element .inner_pass_box {
    position: relative;
}

.signin_box .toggle-pass,
.form_element .toggle-pass {
    position:absolute;
    height: 17px;
    top: 60%;
    right: 10px;
    transform: translateY(-50%);
}

.toggle-pass.fa-eye-slash::before,
.toggle-pass.fa-eye::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 17px;
    background-size: 22px 17px;
}

.toggle-pass.fa-eye::before {
    background-image: url(../img/all/icon_eye.svg);
}

.toggle-pass.fa-eye-slash::before {
    background-image: url(../img/all/icon_eye_slash.svg);
}

/* ************************************************************** */
/* member register */
/* ************************************************************** */

#user_rules_button {
    display: block;
}


/* ************************************************************** */
/* my page */
/* ************************************************************** */

.member_contents .point {
    padding: 10px;
}

.point_suffix {
    margin-left: 2px;
    display: inline-block;
    font-size: 77%;
}

.link_box {
    margin-bottom: 10px;
    padding: 10px;
}

.link_box .global_iconleft {
    padding-top: 10px;
}

.sign_out_box {
    margin-top: 10px;

}

.sign_out_box .link_box .global_iconleft {
    margin-bottom: 0
}

.note_title {
    margin: 0 0 5px 0;
}

.note_desc {
    margin: 0;
}

.bottom_note A {
    display: inline-block;
}

.layout_column_text.creditcard_data_list .list_item_photo {
    width: 40px;
    min-width: 40px;
}

.creditcard_data .inner_creditcard_data,
.creditcard_data .creditcard_number,
.creditcard_data .creditcard_expiration {
    display: inline-block;
}

.creditcard_data .creditcard_number {
    margin-right: 5px;
}

.creditcard_data .creditcard_expiration {
    margin-right: 10px;
}

/* マイページトップ/購入履歴タイトル上部余白 */
.mypage_history_detail_contents,
.mypage_contents {
    margin-top: 15px;
}

/* 購入履歴タイトル　※お問い合わせボタンがある場合 */
html:not(.touch026) .page_box .history_cart_preview .section_title:has(.mypageinquiryinput) h3 {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-right: 105px;
}

/* マイページお問い合わせボタン位置 */
.section_title_right_edge:has(.mypageinquiryinput) .global_btn {
    right: 10px;
}

.mypageinquiryinput {
    font-size: 14px;
}

/* ************************************************************** */
/* sales history */
/* ************************************************************** */

/*
#history_product_name {
    width: 55%;
    max-width: 500px;
    margin-right: 5px;
}

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

    #history_product_name {
        width: 35%;
    }

    .en_version #history_product_name {
        width: 30%;
    }

}

@media screen and (min-width: 351px) and (max-width: 600px) {

    #history_product_name {
        width: 45%;
    }

    .en_version #history_product_name {
        width: 40%;
    }

}
*/

.search_result_title {
    margin-top: 1px;
}

.cancel,
.history_purchase_date,
.history_recipient {
    margin-bottom: 5px;
}

.cancel {
    text-align: center;
    font-size: 11px;
    font-weight: normal;
}

.history_variation {
    display: inline-block;
}

.cart_item_btn {
    margin-top: 5px;
    text-align: center;
}

.cart_item_btn .global_btn {
    height: 30px;
    margin-bottom: 10px;
    display: inline-block;
}

.cart_item_btn .global_btn a {
    display: inline-block;
}

.coupon_code_info {
    font-size: 77%;
}

.shipping_free_coupon_value {
    display: block;
    font-size: 77%;
}

.tracking_number_free_text {
    padding: 5px 10px;
}

.tracking_number_free_text a {
    word-wrap: break-word;
    overflow-wrap : break-word;
}

.en_version .tracking_number_free_text a {
    word-wrap: normal;
    overflow-wrap : normal;
}

.history_paragraph .history_recipient,
.history_paragraph .item_name {
    line-height: 1.2;
}

.history_paragraph {
    margin: 5px 0;
    padding: 0 5px;
}


/* ************************************************************** */
/* bbs */
/* ************************************************************** */

.bbs_back_search .clear_link {
    padding: 5px 0;
}

.bbs_open_close_btn {
    display: inline-block;
}

.bbs_open_close_btn[title] {
    cursor: pointer;
    border: none;
}

.bbs_image {
    width: 80px;
    margin-right: auto;
    margin-bottom: 5px;
}

.bbs_image_link {
    display: block;
    text-align: left;
}

.jpn_version .post_title {
    word-wrap: break-word;
    overflow-wrap : break-word;
}

.post_data {
    margin-right: 5px;
}

.bbs_thread .cell_header {
    line-height: normal;
}

.post_box {
    padding: 10px;
}

.post_box .post_data {
    display: inline-block;
}

.post_box .data_table .cell_header,
.post_box .data_table .cell_data {
    text-align: left;
    vertical-align: middle;
    white-space: normal;
}

.ie11 .post_box .data_table .cell_data {
    vertical-align: inherit;
}

.post_title,
.post_user,
.post_day,
.post_number {
    display: inline-block;
}

.bbs_comments {
    padding: 10px;
}

.post_box_res {
    margin: 15px 0;
}

.post_box_res:last-child {
    margin-bottom: 0;
}

.bbs_search {
    margin-bottom: 5px;
    padding: 10px;
}

.bbs_search .global_link {
    display: inline-block;
}

#bbs_toggle {
    margin-bottom: 5px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.bbs_post_form {
    padding: 10px;
}

#bbs_postlist .replay_cell {
    width: 50px;
}

.replay_cell A {
    vertical-align: middle;
}

#bbs_postlist .toggle_cell,
#bbs_postlist .res_cell {
    width: 30px;
    text-align: center;
}

#file_bbs {
    font-size: 13px;
}


/* ************************************************************** */
/* profile */
/* ************************************************************** */

.staff_profile_list {
    margin: 10px;
}

.staff_contents dt,
.staff_contents dd,
.pstaff_contents dt,
.pstaff_contents dd {
    padding: 5px;
    box-sizing: border-box;
}

.staff_contents dt,
.pstaff_contents dt {
    width: 100px;
    margin-right: 5px;
}

.staff_contents dd,
.pstaff_contents dd {
    width: 100%;
}

.staff_profile {
    margin-top: 10px;
}

.staff_profile_desc {
    padding: 10px;
}

.profile_link_box {
    margin: 10px 5px;
    text-align: right;
}

.pstaff_contents {
    padding-bottom: 1px;
}

.side_staff_box .staff_photo {
    margin-top: 10px;
}

.side_box .staff_profile_desc {
    margin: 5px;
}

.pstaff_contents .profile_introduce {
    margin-bottom: 10px;
}


/* ************************************************************** */
/* related link page */
/* ************************************************************** */

.link_data {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
}

.link_title_box {
    padding: 5px 0;
}

.link_desc_box {
    padding: 5px 0;
}

.link_desc {
    padding-left: 10px;
}


/* ************************************************************** */
/* mobile site */
/* ************************************************************** */

.qrcode {
    margin-bottom: 15px;
    text-align: center;
}


/* ************************************************************** */
/* step */
/* ************************************************************** */

.step_list {
    width: 100%;
    margin-top: 1px;
    padding: 0 1px;
    box-sizing: border-box;
    line-height: normal;
}

.step_block {
    box-sizing: border-box;
}

#step_col2 .step_block {
    width: 50%;
}

#step_col3 .step_block {
    width: 33.33%;
}

#step_col4 .step_block {
    width: 25%;
}

#step_col5 .step_block {
    width: 20%;
}

#step_col6 .step_block {
    width: 17%;
}

.step_data {
    padding: 5px 1px;
}

.step_desc {
    display: block;
    font-size: 9px;
}

.step_number {
    font-size: 10px;
}


/* ************************************************************** */
/* cart */
/* ************************************************************** */

.inner_cart_data {
    padding: 5px 10px;
}

.cart_data_box {
    padding: 5px 0;
}

.large_font .cart_data_box {
    padding: 10px 0;
}

.preview_data {
    margin: 0 5px;
}

.cart_data .cart_photo {
    padding: 5px 5px 5px 0;
}

.cart_section {
    padding: 5px 0;
}

.price_box {
    padding: 5px 0;
}

.price_box_detail {
    font-size: 77%;
}

.price_box_detail .price {
    font-weight: normal;
}

.grandtotal_label {
    display: inline-block;
}

.charge_free {
    padding: 5px 0;
}

.continue_shopping {
    padding: 10px 0;
}

.cart_recipient .global_btn {
    padding: 10px 0;
}

.cart_recipient_title {
    padding: 5px;
}

.inner_global_info {
    padding: 10px;
}

.cart_change_btn {
    padding: 5px 0 10px 0;
}

.thanks_message {
    padding: 10px;
}

.shoppingcart_contents .gen_password_link_box {
    margin-bottom: 15px;
}

.cart_login_desc,
.cart_member_desc {
    padding: 0 10px;
    text-align: left;
}

.cart_member_login_btn_box .global_btn,
.cart_register_btn_box .global_btn {
    margin: 5px;
    display: inline-block;
}

.conversion_image {
    position: absolute;
}

.form_box .cart_agecheck {
    margin-top: 5px;
}

.userrules {
    margin-top: 5px;
    margin-bottom: 15px;
}

.cart_userrules {
    padding: 0 5px;
}

.upper_info {
    margin-bottom: 10px;
}

.lower_info {
    margin-top: 10px;
}

.cart_tax_in,
.tax_rate {
    margin-left: 1px;
    display: inline-block;
    font-size: 77%;
}

.cart_sender_data,
.cart_recipient_data {
    position: relative;
}

.unchecked_row .contained_inner_form .upper_info {
    margin-bottom: 0;
}

.unchecked_row .contained_inner_form .lower_info {
    margin-top: 0;
}

.cart_payment_data p,
.cart_payment_text p {
    margin: 0;
}

#payment_form .cart_payment_row {
    margin: 0 5px 5px;
}

.cart_payment_row .form_element {
    padding: 10px;
}

.cart_payment_card_repeat {
    padding: 5px 0;
}

.cart_payment_text .banner_rim {
    margin-top: 10px;
}

.saved_card_masked_number,
.saved_card_expiration_date,
.saved_card_error {
    display: inline-block;
}

.disabled_card_box .cart_payment_card_repeat label {
    opacity: 0.6;
}

#cart_quantity .preview_shipping_cart_data {
    margin-top: 10px;
}

#cart_quantity .preview_shipping_cart_data:first-child {
    margin-top: 0;
}

.shipping_name,
.corporate_name {
    display: inline-block;
}

.preview_shipping_cart_data {
    padding-top: 5px;
}

.cart_subtotal_area {
    padding-bottom: 5px;
}

.cart_quantity_zero {
    opacity: 0.3;
}

.cart_photo {
    min-width: 40px;
}

.cart_item_name {
    padding-bottom: 5px;
    line-height: normal;
}

.custom_item {
    display: inline-block;
}

.subtotal_shipping_detail {
    font-size: 77%;
}

.void_box .toggle_box {
    opacity: 0.3;
}

.void_box .toggle_box .inner_toggle_box {
    display: none;
}

.recipient_pattern {
    display: inline-block;
}

.recipient_data_list .user_address {
    margin-top: 2px;
}

.card_number {
    width: 200px;
}

.security_code {
    width: 4em;
}

.simple_form_area .form_title {
    display: none;
}

.simple_form_area .form_element {
    padding: 5px 0 0 0;
}

.coupon_area + .point_area {
    margin-top: 5px;
}

#return_contents {
    margin: 5px;
}

.usercheck {
    padding: 10px;
}

.thanks_message {
    padding: 10px;
}

.thanks_message_lead {
    padding: 5px 0;
    font-size: 123%;
    font-weight: bold;
}

.thanks_message_history_id,
.thanks_message_desc {
    padding: 5px;
}

.thanks_message_link_box {
    margin-top: 10px;
}

.thanks_message_link_box .preview_note {
    display: inline-block;
    font-size: 77%;
}

.lower_note_box {
    margin-top: 5px
}

.lower_note_box ul,
.lower_note_box p {
    margin: 0;
}

.upper_info + .form_settlement {
    margin-top: 10px;
}

.disabled_row .radio_selection_box {
    opacity: 0.4;
}

.disabled_row .radio_selection_box,
.disabled_row .form_header input[type="radio"],
.disabled_row .form_header input[type="radio"] + label[for] {
    cursor: default;
}

.disabled_row .cart_payment_data,
.disabled_row .cart_payment_free,
.disabled_row .cart_payment_text,
.disabled_row .form_settlement {
    display: none !important;
}

.cart_payment_data + .cart_payment_products_message,
.form_settlement + .cart_payment_products_message,
.cart_payment_text + .cart_payment_products_message,
.cart_payment_free + .cart_payment_products_message {
    margin-top: 10px;
}

.disabled_row .form_element .cart_payment_products_message {
    margin-top: 0;
}

.cart_content_products_message ul,
.cart_payment_products_message ul {
    padding: 5px 15px;
    font-size: 85%;
}

.cart_payment_products_message ul {
    list-style-position: outside;
    list-style-type: disc;
}

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

    .birthdate_selection .form_element {
        padding-left: 1px;
        padding-right: 0;
    }

}

#a8sales {
    position: absolute;
}


/* ************************************************************** */
/* similarity display in cart */
/* ************************************************************** */

.shoppingcart_contents .toggle_variable_box .title_toggle_link {
    pointer-events: none;
}

.shoppingcart_contents .toggle_variable_box .title_toggle_link .title_space,
.shoppingcart_contents .toggle_variable_box .title_toggle_link .right_side_nav_icon {
    display: none;
}

.shoppingcart_contents .toggle_variable_box .custom_toggle_area {
    height: auto;
    overflow: visible;
    pointer-events: auto;
}

.shoppingcart_contentsy .detail_contents .toggle_variable_box,
.shoppingcart_contents .toggle_variable_box .detail_inner_box {
    margin-top: 20px;
    margin-bottom: 20px;
}

.shoppingcart_contents .toggle_variable_box .data_table_header {
    border-bottom-width: 0;
}


/* ************************************************************** */
/* tradesafe */
/* ************************************************************** */

#cartcheck_tradesafe div.tradesafe_divstyle_size_cb_M {
    max-width: 100%;
}

#cartcheck_tradesafe {
    margin: 0px 10px 10px;
}


/* ************************************************************** */
/* connection of PayPal web payment plus */
/* ************************************************************** */

.has_iframe_entry_field {
    min-height:250px;
    position: relative;
}

.has_iframe_entry_field .loading {
    position: absolute;
    top: 15px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 0;
}

.has_iframe_entry_field .settlement_connection_msg {
    width: 300px;
    position: absolute;
    top: 60px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 0;
    text-align: center;
}

.has_iframe_entry_field .error_box {
    margin-top: 15px;
    display: inline-block;
}

.has_iframe_entry_field #hss_iframe {
    position: relative;
    z-index: 1;
}

.has_iframe_entry_field #hss_iframe {
    max-width: 100%;
    width: 100%;
    height: 560px;
}


@media (min-width: 420px) {
    .has_iframe_entry_field .settlement_connection_msg {
        width: 400px;
    }
}

@media (min-width: 620px) {
    .has_iframe_entry_field .settlement_connection_msg {
        width: 600px;
    }
    .has_iframe_entry_field #hss_iframe {
        width: 600px;
    }
}

@media (min-width: 800px) {
    .has_iframe_entry_field #hss_iframe {
        width: 710px;
    }
}

@media (min-width: 950px) {
    .has_iframe_entry_field #hss_iframe {
        width: 920px;
    }
}


/* ************************************************************** */
/* Yahoo! FastPay */
/* ************************************************************** */

.yahoofastpay_btn_hidden {
    margin: auto;
    z-index: 10;
    position: absolute;
    width: 100%;
    height: 65px;
    top: -10px;
    text-align: center;
}

.disabled_buyinput {
    opacity: 0.4;
}

#yahoo_btn {
    position: relative;
    display: inline-block;
}

.yahoofastpay_btn_hidden {
    background-image: url(img/all/spacer.gif);
}


/* ************************************************************** */
/* sagawa card */
/* ************************************************************** */

#sagawa_api_loading {
    position: relative;
}

#sagawa_api_loading .initial_loading {
    width: 100%;
    height: 60px;
    position: absolute;
    bottom: 0;
}


/* ************************************************************** */
/* 404 */
/* ************************************************************** */

#container .notfound_contents {
    width: 100%;
    background-color: #FFFFFF;
    color: #000000;
}

#container .notfound_contents A {
    color: #000000;
}

#container .notfound_contents A:hover {
    color: #666666;
}

.notfound_innercontents {
    padding: 10px;
}

.notfound_title {
    text-align: center;
    line-height: normal;
}

.nftitle_top {
    font-size: 153.9%;
}

.nftitle_bottom {
    font-size: 116%;
}

.notfound_desc {
    margin: 10px 0;
    padding: 15px 5px;
    border-top: 1px solid #E0DFE3;
    border-bottom: 1px solid #E0DFE3;
}

.nfshop_text {
    width: auto;
    padding: 5px;
    float: none;
    text-align: center;
    font-size: 153.9%;
}

.nfshop_url {
    text-align: center;
}

.nfshop_url A {
    font-weight: normal;
}


/* ************************************************************** */
/* non-non_approved banner */
/* ************************************************************** */

.uppermost_note {
    width: 100%;
    background-color: rgba(252, 21, 21, 0.8);
    border-top: 3px solid #D90000;
    border-bottom: 3px solid #D90000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99;
}

.uppermost_note_desc {
    text-align: center;
    color: #FFFFFF;
}

#non_approved {
    background-image: url(img/all/approved_bg.png);
}

.non_approved_title,
.non_approved_desc {
    float: left;
    color: #FFFFFF;
    background-repeat: no-repeat;
}

.non_approved_title {
    min-height: 21px;
    margin: 5px 10px 0 10px;
    padding-left: 30px;
    background-image: url(img/all/icon_approved_x2.png);
    -webkit-background-size: 25px 21px;
    background-size: 25px 21px;
    background-position: left 2px;
    font-size: 123.1%;
    font-weight: bold;
}

.non_approved_desc {
    min-height: 20px;
    margin: 6px 10px 6px 10px;
    font-size: 93%;
}

.non_approved_desc_text {
    vertical-align: middle;
}


/* ************************************************************** */
/* header area */
/* ************************************************************** */

.copy {
    line-height: 1.1;
    box-sizing: border-box;
}

.center_aligned_copy {
    text-align: center;
}

#header_area {
    position: relative;
}

.float_mode #copy {
    padding-right: 5px;
}

.float_mode .default_copy {
    float: left;
    width: 49%;
}

.header_center {
    width: 100%;
    flex-grow: 1;
    box-sizing: border-box;
}

.center_without_header_left {
    padding-left: 5px;
    padding-right: 5px;
}

.center_shop_name {
    text-align: center;
}

.shoplogo img {
    max-width: 180px;
}

@media screen and (max-width: 359px) {
    .compact_shop_name .shoplogo img {
        max-width: 150px;
    }
}

.shoptext {
    line-height: normal;
    box-sizing: border-box;
}

.center_shop_name .shoptext {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
}

@media screen and (max-width: 340px) {
    .shoptext {
        max-width: 220px;
    }
}

@media screen and (max-width: 360px) {
    .shoptext {
        max-width: 230px;
    }
}

.center_without_header_left .shoptext {
    max-width: none;
}


/* ************************************************************** */
/* top image */
/* ************************************************************** */

#photo {
    max-width: 100%;
    text-align: center;
}

.image_annotation {
    width: 100%;
    padding: 0 70px;
    position: absolute;
    left: 0;
    box-sizing: border-box;
    overflow: hidden;
    text-align: center;
    font-size: 77%;
}

.annotation_left_top {
    top: 10px;
    text-align: left;
}

.annotation_center_top {
    top: 10px;
    text-align: center;
}

.annotation_right_top {
    top: 10px;
    text-align: right;
}

.annotation_left_bottom {
    bottom: 30px;
    text-align: left;
}

.annotation_center_bottom {
    bottom: 30px;
    text-align: center;
}

.annotation_right_bottom {
    bottom: 30px;
    text-align: right;
}

.annotation_center {
    top: 50%;
    transform: translateY(-50%);
}

.inner_image_annotation {
    max-width: 100%;
    margin: 0 auto;
    padding-left: 10px;
    padding-right: 10px;
    background-color: rgba(255, 255, 255, 0.6);
    box-sizing: border-box;
    display: inline-block;
}

.has_link_top_picture .image_annotation {
    cursor: pointer;
}

:root {
    --top-slider-item-width: calc((100% - var(--top-slider-gap-count, 0) * var(--top-slider-gap-size, 10px)) / var(--top-slider-per-view, 1));
}

.top_image_slide .top_multi_slider.initial_loading .swiper-slide {
    width: var(--top-slider-item-width);
    box-sizing: border-box;
    opacity: 0;
}

.top_image_slide .top_multi_slider.use_top_breakpoints.initial_loading .swiper-slide {
    width: 100%;
}

@media screen and (min-width: 600px) {
    .top_image_slide .top_multi_slider.use_top_breakpoints.initial_loading .swiper-slide {
        width: var(--top-slider-item-width);
    }
}

.top_image_slide .top_multi_slider .swiper-slide {
    opacity: 1;
}

/* アカウント登録直後のトップ画像コメント */

/* 背景を削除し、文字表示スタイルを変えている */
.responsive .image_annotation:has(.ocnk_photo_inner_txt) {
    height: fit-content;
    padding: 0;
    overflow: auto;
    font-size: 100%;
    font-weight: 700;
}

.responsive .inner_image_annotation:has(.ocnk_photo_inner_txt) {
    padding: 0;
    background-color: transparent;
    color: #FFFFFF;
}

/* 画面サイズに応じて文字サイズを変更 */

/* トップ画像1行目のコメント */
.responsive .image_annotation .ocnk_photo_txt_line1 {
    font-size: clamp(1.875rem, 1.134rem + 3.7vw, 3.875rem);
}

/* トップ画像2行目のコメント */
.responsive .image_annotation .ocnk_photo_txt_line2 {
    font-size: clamp(1rem, 0.795rem + 1.02vw, 1.563rem);
}


/* ************************************************************** */
/* full screen background gallery */
/* ************************************************************** */

.bg_images {
    visibility: hidden;
}

.bg_full .bg_images {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -100;
}

.bg_full .bg_images img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    z-index: -99;
    display: inline-block;
}

.bg_full #photo {
    margin: 0;
}

.bg_full .bg_images .bg_pattern {
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: -98;
}

/* for Android 4.X default browser (* larger than the width of a browser, exists width bug.) */
.bg_full .bg_images img {
    background-color: #FFFFFF;
}


/* ************************************************************** */
/* tab display */
/* ************************************************************** */

.item_tab_area .item_tabs .tab_on,
.item_tab_area .item_tabs .tab_on a {
    cursor: default;
}


/* ************************************************************** */
/* custom menu */
/* ************************************************************** */

.custom_nav_link.loading {
    max-width: 100%;
    width: 100%;
}

.custom_nav_link.loading ul,
.custom_nav_link.loading a {
    display: none;
}

/* カテゴリ全体のリンクメニューを生成するHTMLパーツ */

.custom_category_title {
    position: relative;
}

.custom_category_title.has_categoryimage .inner_custom_category_title {
    display: flex;
    align-items: center;
}

.custom_category_title .custom_static_title {
    pointer-events: none;
}

.custom_category_title.has_categoryimage .inner_custom_category_title .inner_title_text {
    width: 100%;
}

.custom_nav_link .custom_category_menu .inner_custom_category_menu.without_sub_category .wrapped_item {
    width: 100%;
}


/* ************************************************************** */
/* toggle display */
/* ************************************************************** */

.toggle_closed .custom_toggle_area {
    height: 0;
    overflow: hidden;
    pointer-events: none;
}

.custom_toggle_box .custom_toggle_area {
    position: relative;
    padding-top: 0;
    padding-bottom: 0;
}

.custom_toggle_area .close_link_box {
    height: 5px;
}

.custom_toggle_area .link_close_toggle_box {
    padding: 5px;
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
}

.title_toggle_link {
    display: block;
}

.use_hover .title_toggle_link:hover {
    opacity: 0.8;
}

.toggle_opened .data_table_header {
    border-bottom: 0;
}

.toggle_closed .title_toggle_link .right_side_nav_icon {
    -webkit-transform: rotate(0deg) scale(1);
    transform: rotate(0deg) scale(1);
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
}

.use_hover .toggle_closed .title_toggle_link:hover .right_side_nav_icon {
    -webkit-transform: rotate(0deg) scale(1.2);
    transform: rotate(0deg) scale(1.2);
}

.toggle_opened .title_toggle_link .right_side_nav_icon {
    -webkit-transform: rotate(180deg) scale(1);
    transform: rotate(180deg) scale(1);
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
}

.use_hover .toggle_opened .title_toggle_link:hover .right_side_nav_icon {
    -webkit-transform: rotate(180deg) scale(1.2);
    transform: rotate(180deg) scale(1.2);
}

.title_toggle_link .right_side_nav_icon {
    right: 8px;
}


/* ************************************************************** */
/* footer */
/* ************************************************************** */

#footer {
    padding: 10px;
}

.min_footer #footer {
    padding: 10px;
    text-align: center;
    line-height: 1;
}

.footer_upper_link_box {
    margin-bottom: 5px;
    text-align: center;
}

.footer_nav_item {
    box-sizing: border-box;
}

.footer_nav_item .nav_btn {
    width: 100%;
    padding: 10px 28px 10px 10px;
    position: relative;
    box-sizing: border-box;
    font-weight: normal;
}

.footer_banner {
    margin: 10px 0 15px 0;
}

.footer_banner .banner_box {
    margin: 5px;
    display: inline-block;
    vertical-align: top;
}

.footer_link_box {
    padding: 0 10px;
    box-sizing: content-box;
}

#copyright {
    padding-top: 5px;
    padding-bottom: 5px;
    line-height: normal;
}

#ochanoko {
    line-height: normal;
}

.ochanoko_desc {
    display: inline-block;
    font-size: 10px;
}

/* for touch device (browser address bar size) */
.touch_device #footer_wrapper.min_footer {
    padding-bottom: 60px;
}


/* ************************************************************** */
/* fixed button on the right bottom corner */
/* ************************************************************** */

.inner_fixed_corner {
    position: relative;
    display: inline-block;
}

.back_to_top {
    display: none;
    position: fixed;
    z-index: 1000;
    bottom: 30px;
    right: 15px;
}

.has_opened_popup_menu .back_to_top {
    z-index: 10;
}

/* jump to cart button */

.move_to_add_cart {
    display: none;
    position: fixed;
    z-index: 1000;
    bottom: 85px;
    right: 15px;
}

.has_opened_popup_menu .move_to_add_cart {
    z-index: 10;
}

.jpn_version .move_to_add_cart .shopping_cart_icon {
    margin-top: 2px;
}

.jpn_version .move_to_add_cart .chevron_up_icon {
    padding-left: 7px;
    padding-bottom: 7px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 20px;
    display: inline-block;
    font-family: FontAwesome;
    font-synthesis: weight style;
    line-height: 1;
}

.jpn_version .move_to_add_cart .chevron_up_icon::before {
    content: "\f106";
}

.jpn_version .top_jump_to_cart,
.jpn_version .bottom_jump_to_cart {
    display: none;
}

.en_version .top_jump_to_cart,
.en_version .bottom_jump_to_cart {
    display: inline-block;
    white-space: nowrap;
}

.en_version .move_to_add_cart .shopping_cart_icon {
    margin-top: 6px;
}

.en_version .move_to_add_cart .top_jump_to_cart,
.en_version .move_to_add_cart .bottom_jump_to_cart {
    position: absolute;
    left: 50%;
    font-family: Arial, sans-serif;
    font-weight: bold;
    line-height: 1;
    font-size: 10px;
}

.en_version .move_to_add_cart .top_jump_to_cart {
    margin: 2px 0 0 0;
    top: 0;
    -webkit-transform: translateX(-50%) scale(0.9);
    transform: translateX(-50%) scale(0.9);
}

.en_version .move_to_add_cart .bottom_jump_to_cart {
    margin: 1px 0 0 2px;
    padding: 0 0 5px 5px;
    top: 50%;
    -webkit-transform: translate(-50%, -50%) scale(0.9);
    transform: translate(-50%, -50%) scale(0.9);
}

.en_version .top_jump_to_cart::before {
    content: "JUMP to";
}

.en_version .bottom_jump_to_cart::before {
    content: "CART";
}


/* ************************************************************** */
/* fancybox modal window popup */
/* ************************************************************** */

.modal_toggle {
    width: 35px;
    height: 35px;
    position: absolute;
    left: -16px;
    top: -16px;
    z-index: 8040;
    display: block;
}

.modal_toggle .modal_toggle_btn {
    width: 35px;
    height: 35px;
    display: inline-block;
    cursor: pointer;
}

.modal_toggle_expand .modal_toggle_btn {
    background-image: url(img/all/fancy_zoomin_x2.png);
    -webkit-background-size: 35px 35px;
    background-size: 35px 35px;
    background-position: center center;
}

.modal_toggle_shrink .modal_toggle_btn {
    background-image: url(img/all/fancy_zoomout_x2.png);
    -webkit-background-size: 35px 35px;
    background-size: 35px 35px;
    background-position: center center;
}

.fancybox-close:hover,
.modal_toggle_btn:hover {
    opacity: 0.8; /* only modern browser of higher ie9 (filter has bug for alpha ping file) */
}

.fancybox-wrap .fancybox-title-inside-wrap {
    text-align: center;
}


/* ************************************************************** */
/* overlay modal window */
/* ************************************************************** */

.overlay_locked {
    width: auto;
    overflow: hidden !important;
}

.overlay_locked .overlay_loading {
    height: 100%;
    min-height: 100%;
}

.uncontrollable_area {
    opacity: 0.2;
}

.overlay_html.use_hover {
    margin-right: 15px;
}

.overlay_locked .overlay_area {
    position: fixed;
}

.overlay_area {
    width: 100%;
    height: 100%;
    min-height: 100%;
    position: absolute; /* for Opera Mini */
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -5000;
    display: block;
    overflow-y: scroll;
    line-height: 1.6;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: none;
}

.overlay_front {
    width: 90%;
    max-width: 600px;
    margin: 0;
    padding: 0;
    height: auto;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 510;
    overflow: visible;
    opacity: 1;
}

.overlay_area .inner_overlay_front {
    position: relative;
}

.overlay_area .close_btn_box {
    margin: 5px;
    padding: 0 3px;
    position: absolute;
    top: 5px;
    right: 5px;
    display: inline-block;
    font-size: 20px;
    line-height: 20px;
}

.overlay_area .modal_skin {
    box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;

}

.overlay_area .favorite_config {
    max-height: 100%;
    padding: 5px 0;
}

.overlay_area .inner_favorite_message {
    margin: 30px 0;
    padding: 0 10px;
}

.overlay_area .inner_overlay_message {
    margin-top: 20px;
    padding: 0 10px;
}

.overlay_area .favorite_comment {
    max-width: 520px;
    margin: 0 auto;
    padding: 0 10px;
}

.overlay_area .favorite_comment_mode .favorite_comment {
    margin-bottom: 0;
    margin-top: 10px;
}

.overlay_area .favorite_comment .form_btn {
    padding: 5px;
}

.overlay_area .favorite_list_note {
    padding: 0 10px;
}

.overlay_area .overlay_message_box {
    padding: 15px;
}

.overlay_area .overlay_message_note {
    margin-top: 20px;
    padding: 0;
    text-align: center;
}

.overlay_message .alert_box {
    margin: 0;
}

.overlay_area {
    visibility: hidden;
    background-image: url(img/all/spacer.gif);
}

.overlay_area .page_box {
    padding: 0;
}

.close_btn {
    display: inline-block;
}

.close_btn img {
    border: none;
}

.overlay_close {
    padding: 10px 10px 40px 10px;
    text-align: right;
}

.favorite_comment_mode .overlay_close {
    margin-top: -15px;
}

.alert_message {
    padding: 20px 10px 10px 10px;
}

.alert_form {
    padding: 15px 5px 0 5px;
}

.alert_form .btn {
    text-align: center;
}

.confirmation_message {
    margin-top: 15px;
    padding: 20px 10px;
    text-align: center;
}

.confirmation_form {
    padding: 15px 5px;
}

.confirmation_form .btn_box {
    padding: 5px 0 0 0;
    text-align: center;
}

.confirmation_form .btn_box .global_btn {
    padding: 10px 5px;
    vertical-align: middle;
}


/* for browser disabled icon font */

.btn_bg_filled {
    background-color: #000000;
}


/* ************************************************************** */
/* Overlay Product */
/* ************************************************************** */

.overlay_product .overlay_front {
    width: 100%;
    max-width: 800px;
}

.overlay_product .overlay_product_form_image {
    padding: 10px 10px 0 10px;
}

.overlay_product .error_box {
    margin-bottom: 5px;
}

.overlay_product .product_form_image {
    padding: 10px 10px 0 10px;
}

.overlay_product .product_form_area {
    max-height: 100%;
    float: none;
}

.overlay_product .product_form_area .add_cart {
    border: none;
}

.overlay_product .item_data {
    background-image: none;
    background-color: transparent;
}

.overlay_product #return {
    margin-bottom: 10px;
}

.overlay_product .item_btn_box {
    padding: 0;
}

#purchase_qty input[type="number"] {
    width: 65px;
}

.overlay_product div.item_data .cartinput,
.overlay_product div.item_data .cartinput_image {
    margin-top: 10px;
    margin-bottom: 5px;
}

.overlay_product .overlay_close {
    margin-bottom: 5px;
}

.intitle_close {
    position: absolute;
    top: 10px;
    right: 10px;
}

/* カートに入れるボタンからのモーダルウィンドウ表示をフルスクリーンで表示 (iPhoneユーザーエージェントのみ) */
@media screen and (max-width: 800px) {
    /* for iPhone (* Measures to be taken when scrolling in the popup becomes impossible if you rotate iPhone device sideways with popup of product open.) */
    .mobile_safari .overlay_product .modal_skin {
        min-height: 100dvmax;
    }

    .mobile_safari .overlay_product .modal_skin {
        border: none;
    }

    /* スクロールが発生しない場合でも強制的にスクロールを発生させ、背面スクロール防止の `overscroll-behavior: none;` が効くようにする */
    .mobile_safari .overlay_product .page_box {
        min-height: 100.1dvh;
    }

    .mobile_safari .overlay_product .page_box > .detail_item_data {
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    .mobile_safari .overlay_product .overlay_close {
        margin-bottom: 0;
    }
}


/* ************************************************************** */
/* Favorite */
/* ************************************************************** */

.item_list .item_tabs {
    padding: 0;
}

.item_tabs .tab_nav {
    width: 50%;
    display: table-cell;
    vertical-align: top;
}

.item_tabs .tab_nav a {
    margin: 0;
}

.category_search .box_padding {
    max-width: 100%;
    padding: 5px;
    display: inline-block;
}

.list_item_btn .delete {
    display: block;
    width: 26px;
    height: 100%;
    text-indent: -9999px;
}

.category_search .btn {
    text-align: center;
    border-bottom: none;
}

.sort_bulk {
    float: left;
    line-height: 21px;
}

.sort_bulk A {
    font-size: 13px;
}

.item_memo_text {
    padding: 5px;
    word-wrap: break-word;
    overflow-wrap : break-word;
}

.item_registration_date,
.item_memo,
.item_memo_value {
    padding: 5px 0;
}

.item_memo_title {
    font-weight: bold;
}

.item_memo_text {
    margin-top: 5px;
    padding: 5px;
}

.layout_column_text .item_memo a {
    display: inline-block;
}

.favorite_comment .form_data .btn {
    padding: 0;
    border-top: none;
}

.category_search .item_search_btn .box_padding {
    border-bottom: none;
}

.category_search .item_search .unselectable,
.category_search.item_search_category_box .unselectable {
    display: none;
}

.item_tabs #tab_on .tab_text {
    cursor: default;
}

.item_search_form {
    margin: 0;
    display: block;
}

.item_search_btn {
    position: relative;
}

.item_search_btn .clear_link {
    padding: 0;
    position: absolute;
    right: 5px;
}

.sort_item .item_search_btn {
    padding-bottom: 20px;
    text-align: center;
}

.item_sort_order .sort_order {
    padding: 5px;
    float: none;
}

.modern_item_list .item_data .cartinput,
.modern_item_list .btn .cartinput_image {
    margin-bottom: 0;
}

.favorite_item_photo_link {
    display: block;
}

.favorite_save_mode .favorite_list_note {
    margin-bottom: 20px;
}

.favorite_list_note .global_link {
    text-align: center;
}

.layout_text .list_item_data A {
    display: inline-block;
    border: none;
}

.layout_text .list_item_data {
    width: 100%;
}

.favorite_item_data_link,
.favorite_item_data_link .item_name {
    display: inline-block;
}

.favorite_contents .layout_column_text .list_item_data {
    padding: 0 5px 0 10px;
}

.favorite_contents .layout_column_text .item_name {
    padding-right: 45px;
}

.bulk_mode .favorite_contents .layout_column_text .item_name {
    padding-right: 0;
}

.bulk_mode .favorite_contents .quasi_link {
    display: none;
}

/* ************************************************************** */
/* restock */
/* ************************************************************** */

.overlay_area .restock_overlay {
/*    max-height: 100%;*/
    padding: 5px 0;
}

.restcok_addition {
    padding: 10px 10px 0 10px;
}

.restock_item {
    font-weight: bold;
}

.restocklink {
    font-size: 77%;
    text-align: left;
}

.item_search .inner_sort_item {
    display: inline-block;
    margin-right: 10px;
}

.restock_overlay .saveinput {
    max-width: 100%;
}

.restock_contents .layout_column_text .item_name {
    padding-right: 45px;
}

.restock_item_photo_link {
    display: block;
}

.restock_item_data_link,
.restock_item_data_link .item_name {
    display: inline-block;
}

/* ************************************************************** */
/* bulk setting */
/* ************************************************************** */

.list_item_table .bulk_check_box {
    width: 30px;
    padding: 5px;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
}

.bulk_check_box {
    cursor: pointer;
    position: relative;
    text-align: center;
}

.inner_bulk_check_box {
    max-width: 100%;
    padding: 5px;
    box-sizing: border-box;
}

.layout_text .bulk_check_box {
    margin-bottom: 5px;
}

.bulk_mode .layout_column_text .bulk_check_box {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
}

.bulk_mode .layout_column_text .list_item_box {
    padding-top: 3.2em;
}

.bulk_mode #bottom_bulk_btn .bulk_mode_delete_box {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 2000;
}

.bulk_mode_delete_box .item_btn_box {
    text-align: center;
    vertical-align: middle;
}

.bulk_delete_btn {
    position: relative;
    display: inline-block;
}

.bulk_checked_count {
    display: inline-block;
}

.fixed_bottom .bulk_delete_btn .itemdeleteinput {
    margin-left: 10px;
}

.delete_hover .list_item_photo,
.delete_hover .list_item_data,
.delete_hover .inner_item_data_lower,
.bulk_mode .checked_list_item .list_item_photo,
.bulk_mode .checked_list_item .list_item_data,
.bulk_mode .checked_list_item .item_data {
    opacity: 0.4;
}

.bulk_btn_upper_space {
    margin-bottom: 15px;
}

.bulk_btn_reset {
    margin-top: 20px;
}

.bulk_mode_delete_box .form_btn {
    padding: 10px 5px;
}

.fixed_bottom .bulk_reset {
    padding: 5px 0;
    display: inline-block;
    font-size: 13px;
}

.fixed_bottom .form_btn {
    padding: 10px 5px;
}

/*.bulk_checked_count {
    position: absolute;
    top: 0;
    right: 0;
}*/

.bulk_checked_count .bracket,
.bulk_checked_count .bulk_checked_label {
    display: none;
}

.bulk_checked_count {
    min-width: 20px;
    height: 20px;
    padding: 1px;
    position: absolute;
    top: -5px;
    right: -5px;
    line-height: 18px;
    border-radius: 50%;
    box-sizing: border-box;
    text-align: center;
}

.bulk_checked_count .bracket,
.bulk_checked_count .bulk_checked_label {
    display: none;
}

.fixed_bottom_wrapper .btn_box {
    margin: 0;
}

.bulk_mode .status_locked_item {
    display: none;
}

.delete_box .delete_btn_box {
    position: absolute;
    top: -3px;
    right: 5px;
    display: inline-block;
}

.link_btn_box .global_link {
    position: absolute;
    top: 0px;
    right: 5px;
    display: inline-block;
}

.delete_box .delete_btn_box .delete_btn {
    padding: 1px 8px;
    display: inline-block;
}

.bulk_mode .layout_column_text .list_item_cell {
    position: relative;
}


/* ************************************************************** */
/* animations */
/* ************************************************************** */

.shake {
    -webkit-animation: shake_motion 3.875s ease infinite;
    animation: shake_motion 3.875s ease infinite;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}

@keyframes shake_motion {
    0%        { -webkit-transform: rotate(0deg);   transform: rotate(0deg); }
    18%       { -webkit-transform: rotate(0deg);   transform: rotate(0deg); }
    20%       { -webkit-transform: rotate(-12deg); transform: rotate(-12deg); }
    25.16129% { -webkit-transform: rotate(12deg);  transform: rotate(12deg); }
    26.45161% { -webkit-transform: rotate(24deg);  transform: rotate(24deg); }
    31.6129%  { -webkit-transform: rotate(-24deg); transform: rotate(-24deg); }
    32.90323% { -webkit-transform: rotate(-24deg); transform: rotate(-24deg); }
    38.06451% { -webkit-transform: rotate(24deg);  transform: rotate(24deg); }
    39.35484% { -webkit-transform: rotate(24deg);  transform: rotate(24deg); }
    44.51613% { -webkit-transform: rotate(-24deg); transform: rotate(-24deg); }
    45.80645% { -webkit-transform: rotate(-24deg); transform: rotate(-24deg); }
    50.96774% { -webkit-transform: rotate(24deg);  transform: rotate(24deg); }
    52.25807% { -webkit-transform: rotate(24deg);  transform: rotate(24deg); }
    57.41935% { -webkit-transform: rotate(-24deg); transform: rotate(-24deg) }
    58.70968% { -webkit-transform: rotate(-24deg); transform: rotate(-24deg); }
    63.87097% { -webkit-transform: rotate(24deg);  transform: rotate(24deg); }
    68.3871%  { -webkit-transform: rotate(0deg);   transform: rotate(0deg); }
    100%      { -webkit-transform: rotate(0deg);   transform: rotate(0deg); }
}

.member_recipient_data {
    margin-bottom: 30px;
}

/*----------------------------------------------*/
/* cart step1 */
.inner_cell_box {
    margin-bottom: 8px;
    display: block;
}

.inner_cell_box:last-child {
    margin-bottom: 0px;
}

.inner_cell_box .colon {
    margin-right: 5px;
}

.disp_customer_label {
    font-weight: 700;
    display: inline-block;
}
.disp_customer_txt {
    display: block;
}
@media screen and (min-width: 600px) {
    .inner_cell_box {
        display: flex;
    }
    .disp_customer_txt {
        display: inline-block;
    }
    .disp_customer_label {
        min-width: 120px;
    }
}

.popup-icon-image {
    right: 75px!important;
    bottom: 20px!important;
}
@media screen and (min-width:1450px) {
    .popup-icon-image {
        right: 105px!important;
    }
}
@media screen and (min-width:1500px) {
    .popup-icon-image {
        right: 135px!important;
    }
}
@media screen and (min-width:1550px) {
    .popup-icon-image {
        right: 16px!important;
    }
}

.cart_sender_recipient_data .form_element {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.cart_sender_recipient_data .form_element .selection {
    order: 1;
    margin-right: 8px;
}

.cart_sender_recipient_data .form_element .global_btn {
    order: 2;
}

.cart_sender_recipient_data .form_element .sender_address_disp,
.cart_sender_recipient_data .form_element .shipping_address_disp {
    order: 3;
}

.cart_sender_recipient_data .form_element .sender_address_disp,
.cart_sender_recipient_data .form_element .shipping_address_disp {
    width: 100%;
}

.cart_sender_recipient_data .select_box {
    max-width: 240px;
}

@media screen and (min-width:350px) {
    .cart_sender_recipient_data .select_box {
        max-width: 290px;
    }
}

@media screen and (min-width:500px) {
    .cart_sender_recipient_data .select_box {
        max-width: 440px;
    }
}

@media screen and (min-width:768px) {
    .cart_sender_recipient_data .select_box {
        max-width: 100%;
    }
}

.point_use {
    padding-bottom: 5px;
}

.point_reflect {
    padding-bottom: 0px;
}

.coupon_box {
    padding: 5px;
}

.point_use_desc .cart_point,
.point_use_desc .cart_point_notice {
    margin: 0px;
}

.cart_quantity_edit .cart_quantity {
    margin-right: 20px;
}

.form_data #coupon_input_area .largesize {
    display: block;
    margin-bottom: 5px;
}
@media screen and (min-width: 700px) {
    .form_data #coupon_input_area .largesize {
        display: inline-block;
        max-width: 300px;
        margin-bottom: 0px;
    }
}

.member_amazon_contents .box_padding {
    padding: 8px 0px 15px;
}

.amazon_pay_button_size_large {
    margin: auto;
    width: 300px !important;
    height: 70px !important;
}

.amazon_pay_button_size_medium {
    margin: auto;
    width: 200px !important;
    height: 55px !important;
}

.amazon_pay_button_size_small {
    margin: auto;
    width: 150px !important;
    height: 45px !important;
}

#amazon_pay_total_price {
    margin: 20px;
}

.amazon_associate_note {
    text-align: center;
    padding: 15px;
    margin-top: 20px;
}

.amazon_associate_note .bottom_note {
    display: block;
    font-weight: 500;
}

.amazon_associate_note .bottom_note:first-child {
    font-weight: 700;
    font-size: 123.1%;
}

.paypal_button {
    width: 360px;
    margin: auto;
    margin-top: 50px;
}

.cart_price_box span.tax_incl_price {
    display: inline-block;
}
.payment_atobarai_kuroneko .cell_note p {
    margin: 0px 0px 5px 0px;
}
.payment_atobarai_kuroneko .global_btn .btn_size_large {
    margin-left: 5px;
}
@media screen and (max-width: 320px) {
    .payment_atobarai_kuroneko .global_btn .btn_size_large {
        width: 100px;
    }
}
@media screen and (max-width: 320px) {
    .step_data .step_desc {
        font-size: 8px;
    }
}

.settlement_connection {
    background-color: #FFF;
    padding: 10px;
    margin: 20px 0px;
}
.settlement_connection .inner_settlement_connection {
    padding: 20px 10px 10px;
    background: linear-gradient(to top, #FFFFEE, #FFF);
    border-width: 8px;
    border-style: solid;
    color: #000;
    font-weight: 700;
    text-align: center;
}
.settlement_connection.webcol .inner_settlement_connection {
    border-color: #009481;
}
.settlement_connection.paypal .inner_settlement_connection {
    border-color: #013088;
}
.settlement_connection.zeus .inner_settlement_connection {
    border-color: #0A3E86;
}
.settlement_connection .settlement_logo img {
    max-width: 150px;
    height: auto;
}
.settlement_connection .settlement_title {
    font-size: 16px;
}
.settlement_connection .settlement_desc {
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    padding: 15px 5px;
    margin: 10px 0px 5px;
    font-size: 14px;
    text-align: left;
    font-weight: 500;
}
.settlement_connection .settlement_btn A {
    display: block;
    width: 100%;
    border: 5px solid #F5F5F5;
    margin: auto;
    padding: 15px 0px;
    font-size: 16px;
    line-height: 100%;
    color: #FFF;
    transition: .3s;
}
.settlement_connection .settlement_btn A:hover {
    color: #FFF;
    opacity: 0.7;
}
.settlement_connection.webcol .settlement_btn A {
    color: #F8CC10;
    background-color: #009481;
}
.settlement_connection.paypal .settlement_btn A {
    background-color: #019CDE;
}
.settlement_connection.zeus .settlement_btn A {
    background-color: #FC121B;
}
.settlement_connection .settlement_btn_logo {
    display: block;
    margin-right: 8px;
}
.settlement_connection .settlement_btn_logo img {
    max-width: 60px;
    height: auto;
}
.settlement_connection .inner_settlement_btn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.settlement_connection .yicon {
    position: relative;
    padding-top: 40px;
}
.settlement_connection .yicon .yiconimage {
    position: absolute;
    top: 0;
    left: 50%;
    width: 20px;
    height: 20px;
    margin-left: -10px;
    border-left: 2px solid #000;
    border-bottom: 2px solid #000;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: sdb 2s infinite;
    animation: sdb 2s infinite;
    box-sizing: border-box;
}
@-webkit-keyframes sdb {
    0% {
        -webkit-transform: rotate(-45deg) translate(0, 0);
    }
    20% {
        -webkit-transform: rotate(-45deg) translate(-10px, 10px);
    }
    40% {
        -webkit-transform: rotate(-45deg) translate(0, 0);
    }
}
@keyframes sdb {
    0% {
        transform: rotate(-45deg) translate(0, 0);
    }
    20% {
        transform: rotate(-45deg) translate(-10px, 10px);
    }
    40% {
        transform: rotate(-45deg) translate(0, 0);
    }
}

@media only screen and (min-width: 375px) {
    .settlement_connection .settlement_title {
        font-size: 20px;
    }
    .settlement_connection .settlement_btn_logo img {
        max-width: 100px;
    }
}

@media only screen and (min-width: 500px) {
    .settlement_connection .inner_settlement_connection {
        padding: 20px;
    }
    .settlement_connection .settlement_logo img {
        max-width: 230px;
    }
    .settlement_connection .settlement_title {
        font-size: 25px;
    }
    .settlement_connection .settlement_desc {
        padding: 15px 10px;
        margin: 10px 20px 5px;
        font-size: 16px;
    }
    .settlement_connection .settlement_btn A {
        max-width: 350px;
        font-size: 20px;
    }
    .settlement_connection .settlement_btn_logo img {
        max-width: 100px;
    }
}

/*----------------------------------------------*/
/* startup cardbrand */
ul.zeus_cardbrand {
    display: flex;
    margin: 0;
    padding: 0;
}
ul.zeus_cardbrand li {
    list-style: none;
    margin: 3px;
    padding: 0;
}

.output_btn_box .form_btn {
    margin: 5px;
    padding: 0px;
}
@media screen and (max-width: 320px) {
    .output_btn_box .global_btn .btn_size_auto {
        padding: 0px 10px;
    }
}


/* ************************************************************** */
/* what's new, diary, article list */
/* ************************************************************** */

/* column list chevron icon hidden */
.layout_list_column .list_item_data .chevron_right_icon {
    display: none;
}
/* column list data padding */
.layout_list_column .list_item_data {
    padding: 10px 10px 0 10px;
}
.responsive #container .layout_column_text.layout_list_column .list_item_box {
    border: none;
    padding: 10px 5px;
}

/* column list image */
.layout_list_column .global_photo img {
    object-fit: contain;
}
.layout_list_column .list_item_photo,
.layout_list_column .global_photo {
    display: grid;
    place-items: center;
}

/* image size 80px */
.layout80_column_text.layout_list_column .global_photo img {
    max-height: 80px;
}
.layout80_column_text.layout_list_column .list_item_photo {
    height: 80px;
}

/* image size 120px */
.layout120_column_text .list_item_photo {
    width: 120px;
    min-width: 120px;
}
.layout120_column_text.layout_list_column .list_item_photo {
    height: 120px;
}
.layout120_column_text .list_item_photo img,
.layout120_text .list_item_photo img {
    max-width: 120px;
}
.layout120_column_text.layout_list_column .global_photo img {
    max-height: 120px;
}

/* image size160px */
.layout160_column_text .list_item_photo {
    width: 160px;
    min-width: 160px;
}
.layout160_column_text.layout_list_column .list_item_photo {
    height: auto;
}
.layout160_column_text .list_item_photo img,
.layout160_text .list_item_photo img {
    max-width: 160px;
}
.layout160_column_text.layout_list_column .global_photo img {
    max-height: none;
}

/* image size200px */
.layout200_column_text .list_item_photo {
    width: 200px;
    min-width: 200px;
}
.layout200_column_text.layout_list_column .list_item_photo {
    height: auto;
}
.layout200_column_text .list_item_photo img,
.layout200_text .list_item_photo img {
    max-width: 200px;
}
.layout200_column_text.layout_list_column .global_photo img {
    max-height: none;
}

/* flex width */
.responsive .layout80_column_text.layout_list_column .list_item_cell {
    width: calc(100% / 2);
}
.responsive .layout120_column_text.layout_list_column .list_item_cell {
    width: calc(100% / 2);
}
.responsive .layout160_column_text.layout_list_column .list_item_cell {
    width: 100%;
}
.responsive .layout200_column_text.layout_list_column .list_item_cell {
    width: 100%;
}

@media (min-width: 350px) {
    .responsive .layout160_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 2);
    }
    .responsive .layout200_column_text.layout_list_column .list_item_cell {
        width: 100%;
    }
}

@media (min-width: 500px) {
    .responsive .layout_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 3);
    }
    .responsive .layout120_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 3);
    }
    .responsive .layout160_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 2);
    }
    .responsive .layout200_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 2);
    }
}

@media screen and (min-width: 710px) {
    .responsive .layout_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 4);
    }
    .responsive .layout120_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 4);
    }
    .responsive .layout160_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 3);
    }
    .responsive .layout200_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 3);
    }
}

@media screen and (min-width: 840px) {
    .column_layout .layout_2_col .layout_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 4);
    }
    .single_layout .layout_1_col .layout_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 5);
    }
    .column_layout .layout_2_col .layout120_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 4);
    }
    .single_layout .layout_1_col .layout120_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 5);
    }
    .column_layout .layout_2_col .layout160_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 3);
    }
    .single_layout .layout_1_col .layout160_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 4);
    }
    .column_layout .layout_2_col .layout200_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 3);
    }
    .single_layout .layout_1_col .layout200_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 4);
    }
}

@media screen and (min-width: 1200px) {
    .column_layout .layout_2_col .layout_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 5);
    }
    .single_layout .layout_1_col .layout_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 6);
    }
    .column_layout .layout_2_col .layout120_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 5);
    }
    .single_layout .layout_1_col .layout120_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 6);
    }
    .column_layout .layout_2_col .layout160_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 4);
    }
    .single_layout .layout_1_col .layout160_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 5);
    }
    .column_layout .layout_2_col .layout200_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 4);
    }
    .single_layout .layout_1_col .layout200_column_text.layout_list_column .list_item_cell {
        width: calc(100% / 5);
    }
}

/* ************************************************************** */
/* elastic folding area (HTML parts)
/* ************************************************************** */

.elastic_folding_area {
    overflow: hidden;
    max-height: 200px;
}

.elastic_folding_area.max_h_100 {
    max-height: 100px;
}

.elastic_folding_area.max_h_200 {
    max-height: 200px;
}

.elastic_folding_area.max_h_300 {
    max-height: 300px;
}

.elastic_folding_area.max_h_400 {
    max-height: 400px;
}

@media (min-width: 840px) {
    .elastic_folding_area[data-breakpoint="840"] {
        max-height: none;
    }
}

.elastic_folding_more {
    width: 100%;
    height: 40px;
    max-height: 200px;
    margin-bottom: 10px;
    padding: 5px;
    box-sizing: border-box;
    text-align: center;
}

@media (hover: hover) {
    .elastic_folding_more .general_btn:hover .fa {
        transform: scale(1.1);
        transition: transform 0.2s linear;
    }
}

/* ************************************************************** */
/* category ranking
/* ************************************************************** */

/* anchor nav */
.anchor_nav_area.ranking_navigation {
    margin-bottom: 15px;
}
.anchor_nav_area.ranking_select_box {
    margin: 15px 10px;
}
.inner_ranking_select_box {
    justify-content: center;
}
.anchor_nav_area.ranking_navigation .flex_wrap .wrapped_item {
    width: calc(100% /3);
}
.ranking_navigation .colon {
    margin: 0 5px 0 3px;
}

.has_ranking_tab .ajax_itemlist_box {
    position: relative;
}

.hidden_tab_contents {
    width: 100%;
    height: 1px;
    visibility: hidden;
    position: absolute;
    z-index: -1;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

/* ************************************************************** */
/* rakuten v2 */
/* ************************************************************** */
.rakuten_btn {
    padding: 20px 0px;
}
.rakuten_btn button {
    border: none;
    background:transparent;
    box-shadow: none;
}

/* ************************************************************** */
/* subscription */
/* ************************************************************** */

.subscription_icon {
    background-color: #3588D1;
}
.failed_subscription_icon,
.canceled_subscription_icon,
.subscription_end_icon {
    background-color: #CC0000;
}
.subscription_icon,
.failed_subscription_icon,
.canceled_subscription_icon,
.subscription_end_icon {
    display: inline-block;
    margin-right: 3px;
    padding: 3px 4px;
    padding-inline: 4px;
    color: #FFF;
    font-size: 10px;
    line-height: 1;
}
.subscription_icon::after,
.failed_subscription_icon::after,
.canceled_subscription_icon::after,
.subscription_end_icon::after {
    content: attr(aria-label);
    font-size: 100%;
}
.history_icon {
    margin-bottom: 3px;
}

@media screen and (min-width: 580px) {
    .subscription_icon,
    .failed_subscription_icon,
    .canceled_subscription_icon,
    .subscription_end_icon {
        margin-right: 5px;
        font-size: 85%;
    }
}

@media screen and (max-width: 579px) {
    .detail_block_name .subscription_icon {
        vertical-align: middle;
    }
    .large_font .subscription_icon,
    .large_font .failed_subscription_icon,
    .large_font .canceled_subscription_icon,
    .large_font .subscription_end_icon {
        vertical-align: middle;
    }
}

.shipping_cycle_change {
    padding-bottom: 10px;
}

.form_btn_npad {
    margin: auto;
    padding: 0;
    text-align: center;
}

.subscription_order_number_data {
    font-weight: normal;
    font-size: 90%;
    margin-bottom: 5px;
}

/* ************************************************************** */
/* category ranking */
/* ************************************************************** */

@media screen and (min-width: 840px) {
    .responsive .anchor_nav_area.ranking_navigation .flex_wrap .wrapped_item,
    .wide_layout .layout_2_col .anchor_nav_area.ranking_navigation .flex_wrap .wrapped_item {
        width: calc(100% /6);
    }
    .inner_ranking_select_box {
        justify-content: flex-start;
    }
}
@media screen and (min-width: 1200px) {
    .anchor_nav_area.ranking_select_box {
        margin: 15px 0px;
    }
}

.cancel,.history_purchase_date,.history_recipient,.history_header {
    margin-bottom: 5px
}

/* ************************************************************** */
/* category image */
/* ************************************************************** */
.itemlist_categoryimage {
    display: inline-block;
    width: 40px;
    min-width: 40px;
    height: auto;
    margin: 5px;
}

.categorylist_page_body .categorylist_desc .itemlist_categoryimage,
.pickuplist_page_body .grouplist_desc .itemlist_categoryimage {
    width: 35%;
}

@media screen and (min-width: 600px) {
    .categorylist_page_body .categorylist_desc .itemlist_categoryimage,
    .pickuplist_page_body .grouplist_desc .itemlist_categoryimage {
        width: 200px;
    }
}

.has_image_nav_box .inner_itemlist_nav .has_image_nav_btn,
.inner_popup_nav.has_image_nav_area .has_image_nav_btn,
.custom_nav_link.has_image_nav_box .inner_main_nav .has_image_nav_btn {
    display: flex;
    align-items: center;
    padding-top: 5px;
    padding-left: 5px;
    padding-bottom: 5px;
}

.has_image_nav_btn .nav_text,
.categorylist_page_body .categorylist_desc.has_categoryimage .list_comment,
.pickuplist_page_body .grouplist_desc.has_categoryimage .list_comment {
    flex: 1;
    width: calc(100% - 210px);
}

.categorylist_page_body .categorylist_desc.has_categoryimage:has(.free_delivery),
.pickuplist_page_body .grouplist_desc.has_categoryimage:has(.free_delivery) {
    flex-wrap: wrap;
}

.categorylist_page_body .categorylist_desc.has_categoryimage .free_delivery,
.pickuplist_page_body .grouplist_desc.has_categoryimage .free_delivery {
    width: 100%;
}

/* ************************************************************** */
/* date calendar picker */
/* ************************************************************** */

.date_edit_label {
    position: relative;
    top: -1px;
    display: inline-block;
}

.date_edit_label input[type="date"] {
    text-align: center;
}

.date_edit_label input[type="date"]::-webkit-inner-spin-button{
    -webkit-appearance: none;
    appearance: none;
}

.date_edit_label input[type="date"]::-webkit-clear-button{
    -webkit-appearance: none;
    appearance: none;
}

.date_edit_label .fa {
    margin-left: 5px;
    font-size: 24px;
    vertical-align: middle;
}

.date_edit_label input[type="date"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}

.date_range_error {
    margin: 4px 0;
    display: inline-block;
}

/* ************************************************************** */
/* variation image */
/* ************************************************************** */
.has_variation_image {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.variation_image {
    display: inline-block;
    width: 40px;
    min-width: 40px;
    height: auto;
    margin-right: 5px;
}
.variation_image_clickable {
    cursor: pointer;
}
.variation_label {
    display: inline-block;
}
.data_table.has_variation_image_table td.stocklist_data {
    vertical-align: middle;
}

.itemlist_box .thumbnail {
    margin-top: 5px;
    padding: 0px;
}
.itemlist_box .thumbnail > .flex_layout {
    gap: 3px;
}
.itemlist_box .item_list .thumbnail .wrapped_item {
    width: auto;
}
.itemlist_box .thumbnail .thumbnail_image_box .thumbnail_btn {
    max-width: 20px;
    width: 20px;
    height: 20px;
    border: none;
}
@media screen and (min-width: 840px) {
    .itemlist_box .thumbnail .thumbnail_image_box .thumbnail_btn {
        max-width: 25px;
        width: 25px;
        height: 25px;
    }
}

/*************************************************************/
/* article category */
/*************************************************************/
.has_diary_category#inner_contents,
.has_whatnew_category#inner_contents,
.has_article_category#inner_contents {
    display: flex;
    flex-wrap: wrap;
}
.has_diary_category .side_wrapper,
.has_whatnew_category .side_wrapper,
.has_article_category .side_wrapper {
    width: 100%;
    margin-top: 10px;
}
.has_diary_category .item_list.has_diary_article .item_desc,
.has_whatnew_category .item_list.has_whatnew_article .item_desc,
.has_article_category .item_list.has_article_article .item_desc {
    word-break: break-all;
}
.diary_category_phtop .side_wrapper,
.diary_category_phbottom #maincol,
.whatnew_category_phtop .side_wrapper,
.whatnew_category_phbottom #maincol,
.article_category_phtop .side_wrapper,
.article_category_phbottom #maincol {
    order: 1;
}
.diary_category_phbottom .side_wrapper,
.diary_category_phtop #maincol,
.whatnew_category_phbottom .side_wrapper,
.whatnew_category_phtop #maincol,
.article_category_phbottom .side_wrapper,
.article_category_phtop #maincol {
    order: 2;
}
.column_layout .article_side_col {
    padding-top: 10px;
    transform: translateX(0);
    transition: transform .2s linear;
}
.open_side_col .article_side_col {
    opacity: 0.2;
    transition: transform .2s linear;
}
.open_side_col #article_left_side_col {
    transform: translateX(250px);
}
.open_side_col #article_right_side_col {
    transform: translateX(-250px);
}

@media screen and (min-width: 840px){
    .has_diary_category .side_wrapper,
    .has_whatnew_category .side_wrapper,
    .has_article_category .side_wrapper {
        width: 250px;
        margin-top: 0px;
    }
    .has_diary_category .side_wrapper,
    .has_diary_category #maincol,
    .has_whatnew_category .side_wrapper,
    .has_whatnew_category #maincol,
    .has_article_category .side_wrapper,
    .has_article_category #maincol {
        order: 1;
    }
    .has_right_side_menu .has_diary_category .side_wrapper,
    .has_left_side_menu .has_diary_category #maincol,
    .single_layout_with_side_menu .has_diary_category #maincol,
    .has_right_side_menu .has_whatnew_category .side_wrapper,
    .has_left_side_menu .has_whatnew_category #maincol,
    .single_layout_with_side_menu .has_whatnew_category #maincol,
    .has_right_side_menu .has_article_category .side_wrapper,
    .has_left_side_menu .has_article_category #maincol,
    .single_layout_with_side_menu .has_article_category #maincol {
        order: 2;
    }
    .single_layout_with_side_menu .has_diary_category #maincol,
    .single_layout_with_side_menu .has_whatnew_category #maincol,
    .single_layout_with_side_menu .has_article_category #maincol {
        width: calc(100% - 270px);
        margin-left: 20px;
    }
    .single_layout_with_side_menu .has_right_side_menu .has_diary_category #maincol,
    .single_layout_with_side_menu .has_right_side_menu .has_whatnew_category #maincol,
    .single_layout_with_side_menu .has_right_side_menu .has_article_category #maincol {
        margin-left: auto;
    }
}

@media screen and (max-width: 839px){
    /* 記事のカテゴリメニューのスマホ幅で、メニューを開閉表示する場合 */
    .has_toggle_article_side_menu {
        margin-bottom: 25px;
    }
    /* テンプレによっては、サイドカラム用の不要な余白が当たるため */
    .has_toggle_article_side_menu .diary_category_nav_box,
    .has_toggle_article_side_menu .whatnew_category_nav_box,
    .has_toggle_article_side_menu .article_category_nav_box {
        margin-bottom: 0;
    }
    /* 記事のカテゴリメニューを閉じている場合 */
    .has_toggle_article_side_menu .toggle_closed .custom_toggle_area {
        margin-top: 1px;
    }
    /* 記事のカテゴリメニューのブロックで、1つめ以外は開いた際に上部余白を付与 */
    .has_toggle_article_side_menu .diary_category_nav_box:not(:first-child) .custom_toggle_box.toggle_opened,
    .has_toggle_article_side_menu .whatnew_category_nav_box:not(:first-child) .custom_toggle_box.toggle_opened,
    .has_toggle_article_side_menu .article_category_nav_box:not(:first-child) .custom_toggle_box.toggle_opened {
        margin-top: 25px;
    }
    /* 記事のカテゴリメニューのブロックに下部余白を付与 */
    .has_toggle_article_side_menu .custom_toggle_box.toggle_opened {
        margin-bottom: 25px;
    }
}

.open_side_col #article_right_side_col {
    opacity: 0.2;
    transform: translateX(-250px);
}

#address_form_display .general_btn {
    margin-left: 15px;
}
#address_form_display #address_form {
    min-width: 60%;
}


.creditcard_change_page_body .creditcard_list .global_info {
    background-color: transparent;
    border: none;
}

.creditcard_change_page_body .mypagecreditcard_contents .global_info {
    background-color: transparent;
    border: none;
}

.creditcard_data_list.layout_column_text .list_item_data {
    padding-right: 46px;
}
.large_font .creditcard_data_list.layout_column_text .list_item_data:has(.change_box) {
    padding-right: 56px;
}

.member_payment_page_body .cart_footer {
    text-align: left;
}
.member_payment_page_body #cart_preview .inner_contents_box {
    padding: 0 0 15px 5px;
}
.member_payment_page_body #cart_preview .inner_contents_box .grand_total {
    padding-top: 0;
}

/* 関連グループ左右並びレイアウト調整 */
@media screen and (min-width: 840px) {
    .itemdetail .detail_block_group {
        container-name: detail_block_group;
        container-type: inline-size;
    }
    @container detail_block_group (max-width: 450px) {
        .wide_layout .detail_block_group .pickupcategory_nav .advanced_flex_wrap .wrapped_item,
        .single_layout  .detail_block_group .pickupcategory_nav .advanced_flex_wrap .wrapped_item {
            width: 50%;
        }
    }
    @container detail_block_group (max-width: 650px) {
        .wide_layout.single_layout .detail_block_group .pickupcategory_nav .advanced_flex_wrap .wrapped_item {
            width: calc(100% / 3);
        }
    }
}
