@charset "UTF-8";


/*=== common === */
#goodsdetail-share-modal {
    position: fixed;
    background-color: #e1e1e1;
    visibility: visible;
    opacity: 1;
}
.goodsdetail-share-modal--sns {
    gap: 2rem;
}
.goodsdetail-share-modal--sns li {
    width: 3rem;
}
.goodsdetail-share-modal--common {
    display: flex;
}
.goodsdetail-share-modal--common > div {
    border: 0;
}
.goodsdetail-share-modal--common > div > p {
    display: none;
}
#goodsdetail-share-btn {
    display: none;
}
.media1 {
    position: relative;
    width: 90vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10rem;
}
#column .media1 > div:has(img) {
    margin-bottom: 0;
}
#column .column-inner picture {
    display: block;
    padding-bottom: 4rem;
}
#column .column-inner img {
    width: 100%;
    height: auto;
    border-radius: 1.5rem;
}
#column .column-inner p,
#column .section p {
    margin: 0;
    padding: 0 4.5rem;
    line-height: calc(37.5 / 16);
}
#column .column-inner p + p,
#column .section p + p {
    margin-top: 1em;
}
#column .column-inner p span,
#column .section p span{
    font-size: 0.7em;
    vertical-align: top;
}
#column .media1 picture {
    background-color: #e60013;
    text-align: center;
    margin-top: 5.0rem;
    border-radius: 1.5rem;
    padding-bottom: min(8.75vw,11.6rem);
}
#column .media1 picture img {
    width: 80vw;
    margin-top: -5rem;
    border-radius: 1.5rem;
    max-width: min(calc(1280px + 40px - 10vw),var(--fullWindowSize));
}
#column .media1 > div:has(img).column-header {
    position: absolute;
    width: 100%;
    left: calc(20px + min(17.28vw,22.9rem));
    bottom: min(3.77vw,5rem);
}
#column .column-header h1 {
    padding: 0;
}
#column .column-header h1 > span {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
#column .column-header span span {
    color: #e60013;
    letter-spacing: .14em;
    font-weight: bold;
    background-color: #fff;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    font-size: min(2vw,27px);
    padding: 0 min(2vw,27px);
    border-radius: min(.75vw,1rem);
    min-height: min(6.11vw,8.1rem);
}
#column .column-header span span:first-of-type {
    position: relative;
}
#column .column-header span span + span {
    margin-top: min(-1.06vw,-1.4rem);
}
/* #column .column-header span span.fst {
    padding-top: 17px;
    position: relative;
    z-index: 1;
} */
/* #column .column-header span span.second {
    padding-bottom: 17px;
    margin-top: -1.7rem;
    position: relative;
    top: -.5rem;
} */
#column .main-cap{
    margin-bottom: 10rem;
}
#column .main-cap > p {
    text-align: center;
    margin-bottom: 0;
    font-size: 2rem;
    font-weight: bold;
    line-height: calc(37.5 / 20);
}
.bg1 {
    width: 95.8vw;
    margin: 0 auto;
    padding: 0 2rem;
    background-color: #f8f8f8;
}
.bg1 .product-effect {
    background-color: #fff;
    padding-top: 2.5rem;
    padding-bottom: 1.66rem;
}
#column .table-of-contents {
    padding-top: 6rem;
    padding-bottom: 2rem;
    border: 0;
}
.table-of-contents-name {
    text-align: center;
    letter-spacing: .2em;
    margin-bottom: 6.0rem;
    font-size: 2.7rem;
}
.table-of-contents-name span {
    border-bottom: .2rem solid #000;
    line-height: 1;
    padding: 0 calc(2.3rem / 2) 1.3rem calc(2.7rem / 2);
}
.table-of-contents_inner {
    padding: 0 6.82vw;
}
#column .section {
    padding-top: 10rem;
    padding-bottom: 10rem;
}
.column-container {
    padding: 0;
    width: 100%;
    margin-inline: auto;
}
.table-of-contents_items {
    width: 100%;
    margin: 0 auto;
}
.table-of-contents_item {
    background-color: #fff;
    padding: 0;
    gap: 1.4rem;
    border-radius: 1.5rem;
}
.table-of-contents_item::before {
    content: none;
}
.table-of-contents_item > a {
    display: flex;
    width: 100%;
    text-decoration: none;
    padding: 2.0rem 4.0rem 1.9rem 1.9rem;
}
.table-of-contents_item > a:hover {
    text-decoration: none;
}
.table-of-contents_item > a::before {
    content: '';
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url('../img/icon_list_marker.png');
    width: 2.0rem;
    min-width: 2.0rem;
    height: 2.0rem;
    margin-top: .2rem;
    margin-right: 1rem;
}
.table-of-contents_item > a > span {
    padding-right: 4rem;
    font-size: 1.6rem;
    font-weight: bold;
}
.table-of-contents_item > a::after {
    content: '';
    display: block;
    margin-left: auto;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url('../img/icon_b_gray28x18.png');
    margin-top: .9rem;
    width: 1.4rem;
    min-width: 1.4rem;
    height: .9rem;
}
.table-of-contents_subitems {
    margin: 0 4rem 3.3rem 3.4rem;
}
.table-of-contents_subitems > li {
    border-bottom: 1px solid #b4b4b4;
}
.table-of-contents_subitems > li > a {
    display: flex;
    position: relative;
    gap: 1.3rem;
    width: 100%;
    padding: 1rem 2.8rem 1rem 1.5rem;
    margin-top: .25rem;
}
.table-of-contents_subitems > li > a::before {
    content: '';
    display: block;
    width: 0.8rem;
    min-width: 0.8rem;
    height: 0.8rem;
    margin-top: 1rem;
    background-color: #e60013;
    border-radius: 50%;
}
.table-of-contents_subitems > li > a > span {
    padding-right: 2.8rem;
    font-weight: bold;
    font-size: 1.6rem;
    color: #656565;
}
.table-of-contents_subitems > li > a::after {
    content: '';
    display: block;
    margin-left: auto;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(../img/icon_b_gray28x18.png);
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1.4rem;
    min-width: 1.4rem;
    height: .9rem;
}
#column .h2 {
    margin-bottom: 4rem;
    text-align: center;
}
#column .h2 span {
    padding-bottom: .2rem;
    border-bottom: .2rem solid #e60013;
    font-weight: bold;
    font-size: 3rem;
    line-height: 2;
    color: #e60013;
}
.block-note {
    margin-top: 5rem;
    padding: 4rem 5.7rem;
    background-color: #fff;
    border-radius: 1.5rem;
}
#column .block-note p {
    padding: 0;
}
#column .block-note p.title {
    margin-bottom: 3rem;
    line-height: 1;
    font-size: 2rem;
}
#column .block-note p.title span {
    font-size: 2rem;
    padding-bottom: .5rem;
    border-bottom: .2rem solid #e60013;
}
#column p.center-txt {
    margin-bottom: 4rem;
    text-align: center;
}
.block-tile-list {
    border-radius: 1.5rem;
    padding: 4rem 2.6% 4rem;
    background-color: #ececec;
}
.block-tile-list + .block-tile-list {
    margin-top: 3rem;
}
#column .block-tile-list p.title {
    margin-bottom: 4rem;
    font-size: 2.2rem;
    text-align: center;
    line-height: 1;
}
.block-tile-list .tile-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.7rem 2.31%;
    border-radius: 1.5rem;
}
.block-tile-list .tile-list li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc((100% - 2.31% * 3) / 4);
    min-height: 7.6rem;
    padding: 2.2rem;
    background-color: #fff;
    border: 1px solid #e60012;
    border-radius: 1.5rem;
    color: #e60012;
    font-size: 1.8rem;
    line-height: calc(25 / 20);
    text-align: center;
}
#column .block-tile-list p.etc-txt {
    margin-top: 2rem;
    font-size: 1.7rem;
    text-align: center;
    line-height: 1;
    color: #e60012;
}
#column .block-tile-list + p {
    padding-top: 5rem;
}
.block-detail-list {
    display: flex;
    flex-direction: column;
    gap: 5rem;
}
.block-detail-list-item {
    max-width: 79vw;
    margin: 0 auto;
    padding: 0 6.8vw;
    background-color: #f9f8f6;
    border-radius: 1.5rem;
}
.bg1 .block-detail-list-item {
    background-color: #f1f0ed;
}
.block-detail-list-item > dl {
    padding: 6rem 0;
}
.block-detail-list-item > dl > dt h3 {
    margin-bottom: 4rem;
    color: #e60012;
    font-weight: bold;
    font-size: 2.5rem;
    text-align: center;
}
.block-detail-list .quotation div {
    background-color: #fff;
    border-radius: 3rem;
}
#column .column-inner .block-detail-list .quotation div .title {
    margin-bottom: 2.875rem;
    padding: 0;
}
#column .column-inner .block-detail-list .quotation div .title span {
    font-size: 1.875rem;
    font-weight: bold;
    border-bottom: .2rem solid #e60013;
    padding-bottom: 0.83rem;
    margin-bottom: 2.875rem;
}
#column .column-inner .block-detail-list .quotation div .text {
    display: block;
}
.reference-link {
    padding-top: 3rem;
}
#column .reference-link p {
    font-weight: 500;
    display: table;
}
#column .reference-link p + p {
    margin-top: 5px;
}
#column .reference-link p a {
    display: flex;
    align-items: center;
    gap: .9rem;
}
#column .reference-link p a::after {
    content: '';
    display: block;
    width: 1.8rem;
    min-width: 1.8rem;
    height: 1.7rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url('../img/icon_open_window.png');
}
.info-table {
    margin-top: 5rem;
    padding: 0 4.5rem;
    border: .2rem solid #e60013;
    border-radius: 1.5rem;
}
.info-table.bg-white-table {
    background-color: #fff;
}
.info-table > dl {
    display: flex;
    padding: 5rem 0;
    border-bottom: 1px solid #e60013;
}
.info-table > dl:last-child {
    border-bottom: none;
}
.info-table > dl > dt {
    width: 19.5rem;
    padding-left: 3.9rem;
}
.info-table > dl > dt h4 {
    font-weight: bold;
    font-size: 1.6rem;
    line-height: calc(37.5 / 16);
}
.info-table > dl > dd {
    width: calc(100% - 19.5rem);
}
#column .info-table > dl > dd p {
    padding: 0;
    color: #7d7d7d;
}
#column .info-table > dl > dd table {
    margin: 4rem 0;
}
#column .info-table > dl > dd th,
#column .info-table > dl > dd td {
    border: 1px solid #7d7d7d;
    vertical-align: middle;
    font-size: 1.6rem;
    line-height: calc(30 / 16);
    padding: 1.2rem 2.5rem;
    color: #7d7d7d;
    font-style: normal;
    font-weight: normal;
}
#column .info-table > dl > dd th {
    width: 14.2rem;
    font-weight: bold;
}
#column .info-table > dl > dd td {
    width: calc(100% - 14.2rem);
}
#column .info-table > dl > dd .reference-link p {
    color: #333;
}
#column .column-common-btn01 {
    margin-top: 5rem;
}
.wide-full-bg {
    background-color: #f8f8f8;
}
#block_of_itemhistory {
    margin: 0 auto;
    width: calc(100dvw - 4.0rem);
}
@media screen and (max-width: 767px) {
    #goodsdetail-share-modal {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        gap: 20px;
        width: 90vw;
        height: 12vw;
        margin: 0 auto;
        border-radius: 1.5rem 1.5rem 0 0;
        transition: all .5s;
    }
    #goodsdetail-share-modal.hide {
        bottom: -12vw;
    }
    .goodsdetail-share-modal--sns {
        margin-top: 0;
    }
    .goodsdetail-share-modal--common > div > a {
        width: 5.5rem;
    }
    .goodsdetail-share-modal--common > div > a img {
        width: 5.5rem;
    }
    .media1 {
        margin-top: 0;
        margin-bottom: 4rem;
    }
    #column .main-cap {
        margin-bottom: 4rem;
    }
    .media1 > div:not(.column-header) {
        width: calc(100% + 3rem);
        margin-left: -1.5rem;
        bottom: 6vw;
    }
    #column .media1 picture {
         border-radius: 1rem;
    }
    #column .media1 picture img {
        width: 90vw;
        margin-top: -1.5rem;
        border-radius: 1rem;
    }
    #column .media1 > div:has(img).column-header {
        max-width: calc(100% - 8vw);
        left: 4vw;
    }
    #column .column-header span span {
        font-size: 4vw;
        padding: 2vw 4vw;
        border-radius: 1.5vw;
        min-height: 10vw;
        line-height: 1.5;
    }
    #column .column-header span span + span {
        position: relative;
        margin-top: -1.7vw;
    }
    /* #column .column-header span span.fst {
        padding-top: 1rem;
        padding-bottom: 0.7rem;
        line-height: 1.4;
        display: inline-block;
    } */
    /* #column .column-header span span.second {
        padding-bottom: 1.2rem;
        padding-top: 1rem;
        display: block;
        margin-top: -1rem;
        line-height: 1.4;
    } */
    #column .column-inner p,
    #column .section p {
        padding: 0;
        font-size: 1.5rem;
    }
    #column .main-cap > p {
        font-size: 1.6rem;
        text-align: left;
    }
    .bg1 {
        width: 100%;
    }
    #column .table-of-contents {
        padding-top: 4rem;
        padding-bottom: 3rem;
    }
    .table-of-contents-name {
        margin-bottom: 3rem;
        font-size: 1.6rem;
    }
    .table-of-contents-name span {
        padding: 0 calc(1.25rem / 2) .5rem calc(1.35rem / 2);
    }
    .table-of-contents_inner {
        padding: 0;
    }
    .table-of-contents_item {
        border-radius: .75rem;
    }
    .table-of-contents_item > a {
        padding: 1.0rem 2.0rem 0.95rem 0.95rem;
    }
    .table-of-contents_item > a > span {
        font-size: 1.4rem;
        padding-right: 1rem;
    }
    .table-of-contents_subitems {
        margin: 0 2rem 1.65rem 1.7rem;
    }
    .table-of-contents_subitems > li > a {
        padding: .5rem 1.4rem .5rem .75rem;
        margin-top: .5em;
    }
    .table-of-contents_subitems > li > a > span {
        font-size: 1.4rem;
        padding-right: 0;
        line-height: 1.5;
    }
    .table-of-contents_subitems > li > a::before {
        margin-top: .7rem;
    }
    #column .section {
        padding-top: 5.5rem;
        padding-bottom: 3rem;
    }
    #column .section.column-container{
        padding-top: 2.5rem;
    }
    #column .h2 {
        margin-bottom: 2rem;
        line-height: 1.8;
    }
    #column .h2 span {
        font-size: 1.8rem;
        padding-bottom: .2rem;
    }
    #column .column-inner picture {
        padding-bottom: 3.5rem;
        margin-top: 3rem;
        width: 100%;
    }
    #column .column-inner img{
         border-radius: 1rem;
    }
    #column .block-note p.title span {
        font-size: 1.6rem;
        padding-bottom: .25rem;
    }
    #column p.center-txt {
        margin-bottom: 2rem;
        line-height: 2;
    }
    .block-note {
        margin-top: 2.5rem;
        padding: 3rem 2.25rem;
         border-radius: 1rem;
    }
    #column .block-note p.title {
        font-size: 1.6rem;
        margin-bottom: 1.5rem;
    }
    #column .block-note p + p{
        font-size: 1em;
        margin-top: 1.5em;
        line-height: 2;
    }
    .block-detail-list{
        gap: 3rem;
    }
    .block-tile-list {
        padding: 2rem 2rem 2.5rem;
         border-radius: 1rem;
    }
    #column .block-tile-list p.title {
        margin-bottom: 2rem;
        font-size: 1.6rem;
    }
    .block-tile-list .tile-list {
        gap: 1rem;
    }
    .block-tile-list .tile-list li {
        width: calc((100% - 1rem * 1) / 2);
        min-height: 4.8rem;
        padding: 1.1rem;
        font-size: 1.5rem;
         border-radius: 1rem;
    }
    #column .block-tile-list p.etc-txt {
        margin-top: 1rem;
        font-size: 1.5rem;
    }
    #column .block-tile-list + p {
        margin-top: 2.5rem;
    }
    .block-detail-list-item {
        max-width: 100%;
        padding: 0 3.5vw;
         border-radius: 1rem;
    }
    .block-detail-list-item > dl {
        padding: 4rem 0;
    }
    .block-detail-list-item > dl > dt h3 {
        margin-bottom: 2rem;
        font-size: 1.7rem;
    }
    .reference-link {
        padding-top: 2rem;
    }
    .info-table {
        margin-top: 2.5rem;
        padding: 0 2.25rem;
         border-radius: 1rem;
    }
    .info-table > dl {
        display: block;
        padding: 2.5rem 0;
    }
    .info-table > dl > dt {
        width: 100%;
        padding-left: 0;
    }
    .info-table > dl > dt h4 {
        font-size: 1.5rem;
        margin-bottom: .7rem;
    }
    #column .info-table > dl > dd {
        width: 100%;
    }
    #column .info-table > dl > dd p {
        font-size: 1.5rem;
    }
    #column .info-table > dl > dd table {
        margin: 2rem 0;
    }
    #column .info-table > dl > dd th,
    #column .info-table > dl > dd td {
        font-size: 1.5rem;
        padding: .6rem 1.25rem;
    }
    #column .info-table > dl > dd th {
        width: 7.1rem;
    }
    #column .info-table > dl > dd td {
        width: calc(100% - 7.1rem);
    }
    #column .column-common-btn01 {
        margin-top: 3rem;
    }
    .wide-full-bg {
        margin-left: -2rem;
        margin-right: -2rem;
        padding: 0 7vw;
    }
    #block_of_itemhistory {
        margin-left: -2rem;
        margin-right: -2rem;
        width: 100dvw;
    }
    #column .reference-link p a {
        line-height: 1.7;
    }
    #column .product-effect {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    #column .column-inner p.product-effect_text {
        font-size: 1.2rem;
    }
}

@media screen and (min-width: 768px) {
    .pane-contents > .container {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }
    #goodsdetail-share-modal {
        top: auto;
        left: auto;
        right: 0;
        bottom: 75px;
        justify-content: flex-start;
        gap: 20px;
        width: 84px;
        height: 287px;
        flex-direction: column;
        border-radius: 15px 0 0 15px;
    }
    .goodsdetail-share-modal--sns {
        flex-direction: column;
        margin-top: 32px;
    }
    .goodsdetail-share-modal--common > div > a img {
        width: 2.5rem;
    }
    .goodsdetail-share-modal--common {
        justify-content: center;
        width: 32px;
        padding-top: 27px;
        border-top: 1px solid #595959;
    }
    .pane-topic-path > .container {
        padding: 0 40px;
    }
    #column .column-inner {
        max-width: 100%;
    }
    .column-container {
        max-width: 960px;
    }
    .media1 {
        padding: 0 20px;
        max-width: min(calc(1280px + 40px),var(--fullWindowSize));
    }
    #column .relation {
        width: calc(100% - 40px);
        margin-left: auto;
        margin-right: auto;
    }
    #block_of_itemhistory {
        padding: 0 20px;
        width: min(calc(1280px + 40px),var(--fullWindowSize));
    }
    .block-recent-item .swiper-buttons {
        right: 20px;
    }
}
