@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:wght@100..900&display=swap');
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
		box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

:root {
    --primary: #0E69B9;
}

#suntory_contents {
    font-family: 'Noto Sans JP', sans-serif;
}

.bl_fvWrapper img{
    width: 100%;
    height: 100%;
    display: block;
}

.br_sp {
    display: none;
}
.br_minsp {
    display: none;
}
@media (max-width: 768px) {
    .br_sp {
        display: block;
    }
}
@media (max-width: 420px) {
    .br_minsp {
        display: block;
    }
}



#suntory_contents article {
    padding: 0;
}
#suntory_contents article section, #suntory_contents .seclevel {
    max-width: unset;
    width: 100%;
    margin: 0;
    padding: 0;
}

#suntory_contents .pagetitle {
    background-color: #FFF !important;
}

#suntory_contents .pagetitle .el_pagetitle {
    color: #136fc5;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-align: center;
    padding-bottom: 24px;
    margin-block: 40px 0;
    position: relative;
}
#suntory_contents .pagetitle .el_pagetitle::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 2px;
    background-color: #136fc5;
}

@media (max-width: 767px) {
    #suntory_contents .pagetitle .el_pagetitle {
        font-size: 32px;
    }
}

#suntory_contents .pagetitle .el_pagetitle + .bl_section_contents {
    margin-top: 60px;
}

#suntory_contents .pagetitle .bl_section_contents dl .bt_rounded {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}
#suntory_contents .pagetitle .bl_section_contents dl .bt_rounded li {
    width: fit-content;
}
#suntory_contents .bl_section_contents dl .bt_rounded li a {
    display: block;
    height: 32px;
    border-radius: 16px;
    font-size: 15px;
    line-height: 32px;
    color: #222;
    text-decoration: none;
    padding: 0 30px 0 15px;
    background: unset;
    background-color: #C6ECFF;
    position: relative;
}
#suntory_contents .bl_section_contents dl .bt_rounded li a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 14px;
    height: auto;
    aspect-ratio: 39 / 22;
    background-image: url(/company/quality/assets/img/arrow_down_blue.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: translateY(-50%) rotate(-90deg);
}
#suntory_contents .bl_section_contents dl .bt_rounded li a.page_anchor::after {
    transform: translateY(-50%) rotate(0deg);
}
#suntory_contents .bl_inner {
    padding-block: 60px 80px;
    padding-inline: 20px;
}
#suntory_contents .bl_section_white .bl_inner {
    background-image: url(/company/quality/assets/img/contents_bg.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
}
#suntory_contents .bl_section_blue .bl_inner {
    background-color: #E8F6FF;
}

#suntory_contents .bl_section_contents {
    max-width: 860px;
    margin-inline: auto;
}

#suntory_contents .el_section_contents_title {
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 32px;
    font-weight: 700;
    line-height: 150%;
    margin-bottom: 40px;
}

#suntory_contents .bl_section_contents dl {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding-bottom: 40px;
    border-bottom: 2px solid #52C2FF;
    margin-bottom: 40px;
}
#suntory_contents .bl_section_contents dl:first-of-type {
    padding-top: 40px;
}
#suntory_contents .bl_section_contents dl:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

@media (max-width: 767px) {
    #suntory_contents .bl_section_contents dl {
        flex-direction: column;
    }
}

#suntory_contents .bl_section_contents dl dt {
    width: 320px;
    color: #0E69B9;
    font-family: "Noto Sans JP";
    font-size: 24px;
    font-weight: 700;
    line-height: 150%;
}

@media (max-width: 767px) {
    #suntory_contents .bl_section_contents dl dt {
        width: 100%;
        font-size: 20px;
    }
}
#suntory_contents .bl_section_contents dl dt a {
    color: #0E69B9;
    position: relative;
    padding-right: 30px;
}
#suntory_contents .bl_section_contents dl dt a::before {
    content: '';
    position: absolute;
    top: 14px;
    right: 0;
    width: 18px;
    height: 14px;
    background: url(/company/quality/assets/img/arrow_down_blue.png);
    background-size: contain;
    background-repeat: no-repeat;
}

#suntory_contents .bl_section_contents dl dd {
    flex: 1;
    color: #222;
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.01em;
}
#suntory_contents .bl_section_contents dl dd ul {
    margin-top: 20px;
}

/* important */
#suntory_contents #quality_important .pagetitle {
    padding-bottom: 80px;
    padding-inline: 20px;
    background-image: unset;
}

/* ingredient */
#suntory_contents section .bl_section_contents_ingredient_list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 40px;
}
#suntory_contents section .bl_section_contents_ingredient_list_item {
    width: calc((100% - 80px) / 3);
    box-sizing: border-box;
}
#suntory_contents section .bl_section_contents_ingredient_list_item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    border-radius: 16px;
    border: 1px solid var(--secondary, #66C2FF);
    background: var(--white, #FFF);
    box-shadow: 0 8px 20px 0 rgba(92, 194, 220, 0.25), 0 1px 2px 0 rgba(16, 24, 40, 0.05);
    padding: 32px 16px;
    height: 100%;
    box-sizing: border-box;
    position: relative;
}
#suntory_contents section .bl_section_contents_ingredient_list_item a::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 16px;
    width: 22px;
    height: 18px;
    mask-image: url(/company/quality/assets/img/btn_arrow.svg);
    mask-size: cover;
    mask-position: center;
    mask-repeat: no-repeat;
    background-color: var(--secondary, #66C2FF);
}
#suntory_contents section .bl_section_contents_ingredient_list_item a picture {
    width: 62px;
    height: auto;
    aspect-ratio: 1 / 1;
}
#suntory_contents section .bl_section_contents_ingredient_list_item a picture img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
#suntory_contents section .bl_section_contents_ingredient_list_item a .bl_section_contents_ingredient_list_item_title {
    color: #222;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 120%;
    letter-spacing: 0.01em;
}
#suntory_contents section .bl_section_contents_ingredient_list_item a .bl_section_contents_ingredient_list_item_title .sp_only {
    display: none;
}

@media (max-width: 767px) {
    #suntory_contents section .bl_section_contents_ingredient_list {
        gap: 20px;
    }
    #suntory_contents section .bl_section_contents_ingredient_list_item {
        width: calc((100% - 20px) / 2);
    }
    #suntory_contents section .bl_section_contents_ingredient_list_item a {
        padding: 16px;
    }
    #suntory_contents section .bl_section_contents_ingredient_list_item a::after {
        right: 8px;
    }
    #suntory_contents section .bl_section_contents_ingredient_list_item a .bl_section_contents_ingredient_list_item_title .sp_only {
        display: block;
    }
    #suntory_contents section .bl_section_contents_ingredient_list_item a .bl_section_contents_ingredient_list_item_title .pc_only {
        display: none;
    }
}