@charset "utf-8";


/* common - box mobile link title
========================================*/

#contents .title-mobile-link-title {
    display: block;
    margin: 0 0 3px;
    padding: 0;
    width: 100%;
}
#contents .title-mobile-link-title a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: 260px;
    color: #333;
    text-decoration: none;
    background-color: #EEEEEB;
}

#contents .title-mobile-link-title .title-text .title-main {
    display: block;
    color: #000;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    font-size: 35px;
    line-height: 1.4;
    letter-spacing: 4px;
    text-align: center;
    -webkit-font-smoothing: antialiased;
}
#contents .title-mobile-link-title .title-text .title-sub {
    display: block;
    margin: 5px 0 0;
    padding: 15px 0 0;
    width: 100%;
    font-size: 14px;
    line-height: 1.4;
    text-align: center;
    background-image: url('/common-utf8/images/li_span_bg.gif');
    background-repeat: no-repeat;
    background-position: center top;
}

@media screen and (min-width: 641px) {
    #contents .title-mobile-link-title {
        pointer-events: none;
    }
    #contents .title-mobile-link-title .title-pict {
        display: none;
    }
}
@media screen and (max-width: 640px) {
    #contents .title-mobile-link-title a {
        flex-direction: row;
        margin: 0;
        min-height: auto;
        cursor: pointer;
    }
    #contents .title-mobile-link-title .title-pict {
        display: block;
        width: 30%;
    }
    #contents .title-mobile-link-title .title-text {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding: 10px 55px 10px 15px;
        width: 70%;
        background-image: url('/kitchen/collagia/images/icon_arrow_b.png');
        background-repeat: no-repeat;
        background-position: right 15px center;
        background-size: 30px auto;
    }
    #contents .title-mobile-link-title .title-text .title-main {
        font-size: 19px;
        line-height: 1.2;
        letter-spacing: 2px;
        text-align: left;
    }
    #contents .title-mobile-link-title .title-text .title-sub {
        margin: 3px 0 0;
        padding: 0;
        font-size: 12px;
        text-align: left;
        background-image: none;
    }
}




/* common - local-nav
========================================*/

#contents .local-nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 3px;
    width: 100%;
}
#contents .local-nav > li {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    width: calc(50% - (3px / 2));
}
@media screen and (min-width: 641px) {
    #contents .local-nav.row_3 > li {
        height: 125px;
    }
    #contents .local-nav.row_2 > li {
        height: 193.5px;
    }
}
#contents .local-nav > li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 1px;
    color: #000;
    text-align: center;
    text-decoration: none;
    background-image: url('/common-utf8/images/icon02.png');
    background-position: center bottom 12px;
    background-repeat: no-repeat;
    background-color: #fff;
    transition: background-color 0.3s ease;
}
#contents .local-nav > li a .sub-text {
    display: block;
    margin: 3px 0 0;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0;
}
@media screen and (min-width: 641px) {
    #contents .local-nav > li a:hover {
        color: #333;
        background-color: #eee;
    }
}
@media screen and (max-width: 640px) {
    #contents .local-nav > li a {
        padding: 15px 0 28px;
    }
}



/* common - section
========================================*/

#contents .section-normal {
    margin: 80px auto 0;
    width: 100%;
}
#contents .section-inner {
    margin: 0 auto;
    width: 960px;
}
@media screen and (max-width: 640px) {
    #contents .section-normal {
        margin: 60px 0 0;
        padding: 0 5%;
    }
    #contents .section-inner {
        width: 100%;
    }
}



#contents .section-box-content {
    margin: 60px auto 0 !important;
}
@media screen and (max-width: 640px) {
    #contents .section-box-content {
        margin: 30px 0 0 !important;
    }
}

#contents .section-link {
    margin: 60px auto 0 !important;
}
@media screen and (max-width: 640px) {
    #contents .section-link {
        margin: 30px 0 0 !important;
    }
}

#contents .section-link-in-content {
    margin: 60px auto 80px !important;
}
@media screen and (max-width: 640px) {
    #contents .section-link-in-content {
        margin: 30px 0 60px !important;
    }
}


/* common - children page header
========================================*/

#contents .childrenPage-header {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: stretch;
    gap: 3px;
    width: 100%;
}
@media screen and (max-width: 640px) {
    #contents .childrenPage-header {
        flex-direction: column;
    }
    #contents .childrenPage-header.direction-mobile-reverse {
        flex-direction: column-reverse;
    }
}

#contents .childrenPage-header .header-visual {
    position: relative;
}
#contents .childrenPage-header .header-visual img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    z-index: 0;
}
#contents .childrenPage-header .header-visual .header-visual-caption {
    position: absolute;
    right: 20px;
    bottom: 20px;
    font-size: 24px;
    line-height: 1.8;
    text-align: left;
    color: #fff;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 640px) {
    #contents .childrenPage-header .header-visual .header-visual-caption {
        right: 10px;
        bottom: 10px;
        font-size: 16px;
    }
}

#contents .childrenPage-header .header-main.title-only {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
}
#contents .childrenPage-header .header-main.title-only .title-box {
    margin: 0;
}

@media screen and (min-width: 641px) {
    #contents .childrenPage-header .header-main {
        width: 318px;
    }
    #contents .childrenPage-header .header-visual {
        width: 639px;
    }
}
@media screen and (max-width: 640px) {
    #contents .childrenPage-header .header-main {
        width: 100%;
    }
    #contents .childrenPage-header .header-visual {
        width: 100%;
    }
}


