@charset "utf-8";

/*
------------------------
font
------------------------
*/

@font-face {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    src: url("https://use.fontawesome.com/releases/v5.6.3/webfonts/fa-solid-900.woff2") format("woff2");
    font-display: swap;
}

@font-face {
    font-family: 'Font Awesome 5 Free';
    font-weight: 400;
    src: url("https://use.fontawesome.com/releases/v5.6.3/webfonts/fa-regular-400.woff2") format("woff2");
    font-display: swap;
}

html,
body {
    font-family: var(--font-family), var(--base-font-family);
    font-size: var(--font-size);
    line-height: 1.5;
}

h1,
h2,
h3,
h4 {
    font-family: 'Lato', sans-serif;
}

h1 {
    font-size: 20px;
}

h2 {
    font-size: 18px;
}

h3 {
    font-size: 16px;
}

h4 {
    font-size: 15px;
}

input,
textarea,
select {
    font-size: 1em;
}

strong {
    font-weight: normal;
}

.invalid-area {
    font-family: 'Lato', sans-serif;
    font-size: 1.3em;
    line-height: 1.5em;
    font-weight: bold;
}

.attention {
    color: var(--accent-font-color);
    background-color: var(--accent-background-color);
    line-height: 10px;
    padding: 4px;
    border-radius: 2px;
    font-size: 10px;
    font-weight: normal;
    display: inline-block;
}

.small-text {
    font-size: 0.8em;
    line-height: 1;
}

.attention-text {
    color: var(--accent-background-color);
}

.attention-text2 {
    color: var(--fourth-background-color);
}

.gray-text {
    color: #878787;
}

.point-text {
    color: var(--accent-background-color);
    display: inline-block;
    width: 100%;
    padding-top: 8px;
}

.point-text span {
    margin-right: 8px;
}

.text-right {
    position: relative;
    text-align: right;
    line-height: 0;
    margin-top: 12px;
    margin-bottom: 12px;
}

.text-right a {
    position: relative;
}

.text-right a .analytics {
    top: -12px;
    left: -12px;
}

.text-right a p {
    display: inline-block;
    line-height: 22px;
    margin: 0 4px;
}

.text-right a img {
    height: 22px;
    margin: 0 4px;
}

.error {
    background-color: var(--error-background-color) !important;
}

.sale-price,
.point-up,
.delivery-start-date {
    border-radius: 2px;
    padding: 6px;
    line-height: 1;
    text-align: center;
    font-weight: bold;
}

.sale-price {
    color: var(--accent-font-color);
    background-color: var(--accent-background-color);
}

.sale-price .title {
    margin-right: 4px;
}

.sale-price .tax {
    margin-left: 4px;
}

.point-up,
.delivery-start-date {
    color: var(--accent-background-color);
    border: solid 2px var(--accent-background-color);
    background-color: var(--accent-font-color);
}

.delivery-start-date {
    text-align: left;
    padding: 6px 6px 0 6px;
}

.delivery-start-date>p {
    margin-bottom: 6px;
}

.message-textarea,
.error-textarea {
    color: var(--accent-background-color);
    border: solid 1px var(--accent-background-color);
    width: 100%;
    line-height: 20px;
    padding: 8px;
    border-radius: 2px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
         -o-box-sizing: border-box;
            box-sizing: border-box;
}

.message-textarea {
    background-color: #FFFFFF;
}

.error-textarea {
    background-color: var(--error-background-color);
}

.message-textarea a {
    color: var(--link-font-color);
}

.notice {
    color: var(--accent-font-color);
    background-color: var(--accent-background-color);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px;
    min-width: 16px;
    height: 16px;
    font-size: 0.8em;
    border-radius: 50%;
}

.notice>span {
    color: #FFFFFF;
}

.analytics {
    color: #FFFFFF;
    background-color: #9F0710;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1px;
    min-width: 16px;
    height: 16px;
    line-height: 1;
    font-size: 11px;
    border-radius: 50%;
}


/*
------------------------
タイトル
------------------------
*/

#main .title-area div,
#header .title-area div,
#drawer .title-area div,
#sidebar .title-area div,
#footer .title-area div {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
         -o-box-sizing: border-box;
            box-sizing: border-box;
}

#main .title-area div {
    font-family: var(--main-title-font-family), var(--font-family), var(--base-font-family);
    color: var(--main-title-font-color);
}

#header .title-area div {
    font-family: var(--header-title-font-family), var(--font-family), var(--base-font-family);
    color: var(--header-title-font-color);
}

#drawer .title-area div {
    font-family: var(--drawer-title-font-family), var(--font-family), var(--base-font-family);
    color: var(--drawer-title-font-color);
}

#sidebar-header .title-area div,
#sidebar .title-area div {
    font-family: var(--sidebar-title-font-family), var(--font-family), var(--base-font-family);
    color: var(--sidebar-title-font-color);
}

#footer .title-area div {
    font-family: var(--footer-title-font-family), var(--font-family), var(--base-font-family);
    color: var(--footer-title-font-color);
}
