/* アイキャッチ */
#EYECATCH
{
    width : 100%;
    height : 210px;
    position : relative;
    margin-bottom : 0px;
}
#EYECATCH img
{
    display : block;
    position : absolute;
    top : 0;
    left : 0;
    width : 100%;
    object-fit : cover;
}
#EYECATCH div
{
    display : grid;
    height : 100%;
    align-items : center;
}
#EYECATCH h1
{
    z-index : 0;
    font-size : 28px;
    color : var(--color-white);
}
#EYECATCH h1 span
{
    display: block;
    font-size: 1rem;
}

/* パンくず */
#BREADCRUMB
{
    background-color : var(--color-white);
    padding : 10px 0px;
}
#BREADCRUMB li
{
	display: inline-block;
	font-size: 0.8rem;
	color: var(--color-darkgray);
}
#BREADCRUMB li a:hover
{
	color: var(--color-main);
}
#BREADCRUMB li:not(:last-of-type)::after
{
	content: ">";
	font-size: 14px;
	vertical-align: middle;
	margin-left: 0.5em;
}
/* タイトル */
 h2
{
    font-size : 28px;
    margin : 10px 0px 30px;
    padding-left : 20px;
    position : relative;
}
h2::before
{
    content : "";
    display : block;
    position : absolute;
    left : 0;
    top : 0;
    bottom : 0;
    border-left : 5px solid var(--color-main);
    width : 5px;
    height : 80%;
    margin : auto;
}
h3
{
    border-bottom : 2px solid var(--color-main);
    padding-bottom : 20px;
}
.content_base
{
    padding : 20px 50px;
    background-color : var(--color-white);
}


/* 商品詳細 */
#SUPPLYMALL_DETAILS > div
{
    display : grid;
    grid-template-columns: 40% 1fr;
    gap: 30px;
}
#SUPPLYMALL_DETAILS > div .details:nth-last-of-type(1)
{
    grid-column: 1 / 3;
}
.details table
{
    width : 100%;
}
.details table th,
.details table td
{
    padding : 20px;
}
.details table td
{
    border-bottom : 1px solid #f1f1f1;
}
.details table th
{
    width : 30%;
    background-color : #f1f1f1;
    border-bottom : 1px solid var(--color-white);
}
table.price
{
    border-top : 1px solid var(--color-main);
    margin : 20px 0px;
	/*table-layout: fixed;*/
    width : 100%;
}
table.price th
{
    width : auto;
    border : 1px solid #dedede;
    border-top : none;
}
table.price td
{
    border : 1px solid #dedede;
    vertical-align : middle;
}
table.price th:nth-of-type(1), table.price td:nth-of-type(1)
{
    width: 20px;
    box-sizing: content-box;
}
table.price th:nth-of-type(3), table.price td:nth-of-type(3)
{
    width: 90px;
    box-sizing: content-box;
}
table.price th:nth-of-type(5), table.price td:nth-of-type(5)
{
    width: 110px;
    box-sizing: content-box;
}
table.price th:nth-of-type(6), table.price td:nth-of-type(6)
{
    width: auto;
}
/* 商品問い合わせ */
.form_table_style table.price th,
.form_table_style table.price td
{
    padding : 10px;
}
.form_table_style table.price th:last-child,
.form_table_style table.price td:last-child
{
    width : 80px;
}
.form_table_style table.price td input
{
    width : calc(100% - 5px);
}

/* 連絡先 */
#SUPPLYMALL_CONTACT
{
    border : 1px solid var(--color-main);
    margin-bottom : 20px;
}
#SUPPLYMALL_CONTACT table th
{
    background-color : #f1f1f1;
    border-bottom : 1px solid var(--color-white);
}
#SUPPLYMALL_CONTACT table td
{
    border-bottom : 1px solid #f1f1f1;
}
#SUPPLYMALL_CONTACT table th,
#SUPPLYMALL_CONTACT table td
{
    padding : 20px;
}
.company_data
{
    border : 1px solid #dedede;
    padding : 20px;
    margin : 30px;
}
.company_data > div
{
    font-size : 1.2rem;
    padding-bottom : 10px;
    margin-bottom : 10px;
    border-bottom : 1px solid var(--color-dark);
}

/* ニュース */
#INFORMATION_DETAILS > section > ul
{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 150px));
    gap: 10px;
}
#INFORMATION_DETAILS > section > ul li
{
    border: 1px var(--color-palegrayline) solid;
    text-align: center;
    font-size: 0.8rem;
    padding: 3px;
}
#INFORMATION_DETAILS h2
{
    margin-bottom: 0px
}
#INFORMATION_DETAILS h2 + span
{
    display: block;
    text-align: right;
    font-size: 0.85rem;
    color: var(--color-gray);
    margin-bottom: 20px;
}
#INFORMATION_DETAILS h2 + span + div
{
    margin-bottom: 50px;
    border-top: 1px var(--color-palegrayline) solid;
    padding-top: 20px;
}

/* 加盟店一覧 */
#BRANCH_LIST
{
    padding: 50px 50px 20px 50px;
}
#BRANCH_LIST ul{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 50px 20px;
    margin-bottom: 30px;
}
#BRANCH_LIST ul div
{
    aspect-ratio: 3 / 2;
}
#BRANCH_LIST ul div img
{
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Form */
input[type="text"], input[type="tel"]
{
    width: 50%;
    padding: 5px 10px;
    border: var(--color-darkgray) solid 1px;
}

@media screen and (max-width :900px)
{
    #SUPPLYMALL_DETAILS > div
    {
        grid-template-columns: 1fr;
    }
    input[type="text"], input[type="tel"]
    {
        width: 100%;
    }
    #ORDER > table > tbody > tr
    {
        display: grid;
        grid-template-columns: 1fr;
    }
    #ORDER > table > tbody > tr > th, #ORDER > table > tbody > tr > td
    {
        padding: 0px;
        width: calc(100% - 30px);
    }
    #ORDER .form_table_style .form_checkmark
    {
        right: -30px;
    }
    #ORDER .form_item_importance
    {
        position: absolute;
        top: 12px;
        left: 0px;
        right: unset;
        margin-left: 0px;
    }
    #ORDER > table > tbody > tr > th
    {
        padding-left: 40px;
        padding-top: 10px;
    }
    #ORDER > table > tbody > tr > td
    {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    table.price
    {
        margin: 20px 0px 0px 0px;
    }
}