:root {
    --padd: 16px;
    --gap: calc(var(--padd) / 4);
    --gap_x2: calc(var(--gap) * 2);
    --height_header: 93px;
    --height_nav: 60px;
    --list_item_size: 160px;
    --list_cate_size: 120px;
    --title_icon_size: calc(var(--padd) * 3.2);
    --color_sale: #c00;
    --color_size_s: #03576533;
    --color_size_m: #1f287a33;
    --color_size_l: #54207d33;
    --border_color: #aaa;
    --border: solid 1px var(--border_color);
}

.size_list_page .link_large_size,
.size_list_page #large_size,
.size_list_page .bg_modal-large {
    --thema_color: var(--color_size_l);
}

.size_list_page .link_regular_size,
.size_list_page #regular_size,
.size_list_page .bg_modal-regular {
    --thema_color: var(--color_size_m);
}

.size_list_page .link_small_size,
.size_list_page #small_size,
.size_list_page .bg_modal-small {
    --thema_color: var(--color_size_s);
}

.size_list_page {
    padding-bottom: calc(var(--padd) * 6);
    font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1;
}

.size_list_page img {
    width: 100%;
}

.size_list_page a {
    display: block;
}

.size_list_page h1 {
    width: 100%;
    height: 84px;
    margin-top: calc(var(--padd) * 3);
    font-size: 1.6em;
    font-weight: normal;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--gap);
    box-sizing: border-box;
}

.size_list_page h1 span {
    font-size: 0.64em;
}

.size_list_page section {
    padding-top: calc(var(--padd) * 6);
}

.size_list_page section.page_link {
    padding-top: calc(var(--padd) * 3);
}

.size_list_page .img_box {
    width: 100%;
    padding-top: 100%;
    position: relative;
    box-sizing: border-box;
}

.size_list_page .img_box img {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    display: block;
    object-fit: cover;
}

.size_list_page .title_box {
    margin: 0 var(--padd) var(--padd);
    padding-bottom: var(--padd);
    border-bottom: var(--border);
    box-sizing: border-box;
}

.size_list_page .title_box h3 {
    padding-left: calc(var(--title_icon_size) + 0.2em);
    font-size: 1.4em;
    font-weight: normal;
    position: relative;
}

.size_list_page .title_box h3::before {
    content: "";
    width: var(--title_icon_size);
    height: var(--title_icon_size);
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    position: absolute;
    background-image: url(../img/icon_small.svg);
    background-size: cover;
    display: block;
}

.size_list_page #regular_size .title_box h3::before {
    background-image: url(../img/icon_regular.svg);
}

.size_list_page #large_size .title_box h3::before {
    background-image: url(../img/icon_large.svg);
}

.size_list_page .title_box span {
    padding: var(--gap) var(--padd);
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    position: absolute;
    display: block;
    font-size: 0.56em;
    font-weight: normal;
    background-color: var(--thema_color);
    border-radius: var(--padd);
    cursor: pointer;
}

.size_list_page .page_link ul,
.size_list_page .scroll_box .list_search-result,
.size_list_page .scroll_box .category_list {
    width: 100%;
    padding: 0 var(--padd);
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
}

.size_list_page .page_link h3 {
    padding: 0 var(--padd) var(--padd);
    font-size: 1.16em;
    font-weight: normal;
    text-align: center;
}

.size_list_page .page_link ul {
    margin: auto;
    text-align: center;
    justify-content: center;
    gap: var(--gap);
}

.size_list_page .page_link ul li {
    width: calc((100% / 3) - (var(--padd) / 3 * 2));
    padding-bottom: var(--padd);
    position: relative;
    font-size: 0.8em;
}

.size_list_page .page_link ul li::after {
    content: "";
    width: var(--gap_x2);
    height: var(--gap_x2);
    left: 50%;
    bottom: 0;
    transform: translateX(-50%) rotate(45deg);
    position: absolute;
    border-right: var(--border);
    border-bottom: var(--border);
    display: block;
}

.size_list_page .page_link ul li p::after {
    content: "を探す";
    margin-top: 0.4em;
    font-size: 0.9em;
    display: block;
}

.size_list_page .page_link ul li span {
    margin-top: var(--gap_x2);
    padding: var(--gap) var(--gap_x2);
    font-size: 0.8em;
    display: inline-block;
    background-color: var(--thema_color);
    border-radius: var(--padd);
}

.size_list_page .scroll_box .list_search-result .block_item {
    width: var(--list_item_size);
    margin: 0;
    padding: 0;
}

.size_list_page .btn_list {
    width: 100%;
    padding: var(--padd);
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    box-sizing: border-box;
}

.size_list_page .item_search_btn {
    font-size: 0.84em;
    line-height: 3.6;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: calc(var(--gap) / 2);
    background-color: var(--thema_color);
}

.size_list_page .category_list_box {
    padding-top: var(--padd);
}

.size_list_page .category_list_box h4 {
    --cate_icon_size: 1.2em;
    margin: var(--padd);
    padding-left: calc(var(--cate_icon_size) + 0.4em);
    position: relative;
    font-size: 1.04em;
    font-weight: normal;
}

.size_list_page .category_list_box h4 span {
    --marker_length: 32%;
    margin: 0 0.2em;
    padding: 0 0.1em 0.1em;
    font-size: 1.08em;
}

.size_list_page .category_list_box h4::before {
    content: "";
    width: var(--cate_icon_size);
    height: var(--cate_icon_size);
    top: calc(50% - 0.08em);
    left: 0;
    transform: translateY(-50%);
    position: absolute;
    background-image: url(../../common/2024/05w/img/ico_search.svg);
    background-size: cover;
    display: block;
}

.size_list_page .scroll_box .category_list li {
    width: var(--list_cate_size);
    margin: 0;
    padding: 0;
    text-align: center;
}

.size_list_page .scroll_box .category_list li a {
    font-size: 0.72em;
    line-height: 2.8;
    text-transform: uppercase;
    background-color: var(--thema_color);
    border-radius: calc(var(--gap) / 2);
}

.size_list_page #modal {
    --modal_position: calc(var(--padd) * 2);
    width: 100vw;
    height: 100vh;
    padding: var(--modal_position);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: fixed;
    background-color: var(--thema_color);
    box-sizing: border-box;
    z-index: 1000;
    display: none;
}

.size_list_page #modal.active {
    display: block;
}

.size_list_page #modal .modal_child {
    position: relative;
    display: none;
}

.size_list_page #modal .modal_child.active {
    height: calc(100vh - (var(--modal_position) * 2));
    display: flex;
    align-items: center;
    justify-content: center;
}

.size_list_page #modal .modal_child .content {
    width: calc(100vw - (var(--modal_position) * 2));
    padding: var(--padd);
    overflow-x: hidden;
    overflow-y: scroll;
    position: relative;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: var(--gap_x2);
}

.size_list_page #modal .modal_child .content::-webkit-scrollbar {
    display: none;
}

.size_list_page #modal .modal_child h5 {
    padding: var(--padd) 0;
    font-size: 1.2em;
    font-weight: normal;
    text-align: center;
}

.size_list_page #modal .modal_child .link_list {
    margin: var(--padd) 0;
    border-top: var(--border);
}

.size_list_page #modal .modal_child .link_list li a {
    padding: calc(var(--padd) * 1.24) var(--gap);
    border-bottom: var(--border);
    position: relative;
}

.size_list_page #modal .modal_child .link_list li a::after {
    content: "";
    width: var(--gap_x2);
    height: var(--gap_x2);
    top: 50%;
    right: var(--gap);
    transform: translate(-100%, -64%) rotate(-45deg);
    position: absolute;
    border-right: var(--border);
    border-bottom: var(--border);
    display: block;
}

.size_list_page #modal .modal_child .modal_close_text {
    padding: var(--gap);
    font-size: 0.9em;
    text-align: center;
    cursor: pointer;
}

.size_list_page #modal .modal_child .modal_close {
    --closeBtn: 24px;
    width: var(--closeBtn);
    height: var(--closeBtn);
    top: var(--gap_x2);
    right: var(--gap_x2);
    position: absolute;
    background-color: #fff;
    border: var(--border);
    border-radius: 50%;
    display: block;
    cursor: pointer;
}

.size_list_page #modal .modal_child .modal_close::before,
.size_list_page #modal .modal_child .modal_close::after {
    content: "";
    width: calc(var(--closeBtn) * 0.6);
    height: 1px;
    top: 50%;
    left: 50%;
    position: absolute;
    display: block;
    background-color: var(--border_color);
}

.size_list_page #modal .modal_child .modal_close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.size_list_page #modal .modal_child .modal_close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.scroll_off {
    overflow: hidden;
}