
.body-wrapper
{
    font-family: sans-serif;
    line-height: 1.15;

        -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body
{
    margin: 0;
}

article,
aside,
footer,
header,
nav,
section
{
    display: block;
}

.body-wrapper a
{
    -webkit-text-decoration-skip: objects;
}

.body-wrapper a:active,
.body-wrapper a:hover
{
    outline-width: 0;
}

.body-wrapper abbr[title]
{
            text-decoration: underline;
            text-decoration: underline dotted; 

    border-bottom: none;

    -webkit-text-decoration: underline dotted;
}

.body-wrapper b,
.body-wrapper strong
{
    font-weight: inherit;
}

.body-wrapper b,
.body-wrapper strong
{
    font-weight: bolder;
}

.body-wrapper code,
.body-wrapper kbd,
.body-wrapper samp
{
    font-family: monospace, monospace;
    font-size: 1em;
}

.body-wrapper dfn
{
    font-style: italic;
}

.body-wrapper mark
{
    color: #000; 
    background-color: #ff0;
}

.body-wrapper small
{
    font-size: 80%;
}

.body-wrapper sub,
.body-wrapper sup
{
    font-size: 75%;
    line-height: 0;

    position: relative;

    vertical-align: baseline;
}

.body-wrapper sub
{
    bottom: -.25em;
}

.body-wrapper sup
{
    top: -.5em;
}

.body-wrapper audio,
.body-wrapper video
{
    display: inline-block;
}

.body-wrapper audio:not([controls])
{
    display: none;

    height: 0;
}

.body-wrapper img
{
    border-style: none;
}

.body-wrapper svg:not(:root)
{
    overflow: hidden;
}

.body-wrapper button,
.body-wrapper input,
.body-wrapper optgroup,
.body-wrapper select,
.body-wrapper textarea
{
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;

    margin: 0;
}

.body-wrapper button,
.body-wrapper input
{
    overflow: visible;
}

.body-wrapper button,
.body-wrapper select
{
    text-transform: none;
}

.body-wrapper [type=reset],
.body-wrapper [type=submit],
.body-wrapper button,
.body-wrapper html [type=button]
{
    -webkit-appearance: button;
}

.body-wrapper [type=button]::-moz-focus-inner,
.body-wrapper [type=reset]::-moz-focus-inner,
.body-wrapper [type=submit]::-moz-focus-inner,
.body-wrapper button::-moz-focus-inner
{
    padding: 0; 

    border-style: none;
}

.body-wrapper [type=button]:-moz-focusring,
.body-wrapper [type=reset]:-moz-focusring,
.body-wrapper [type=submit]:-moz-focusring,
.body-wrapper button:-moz-focusring
{
    outline: 1px dotted ButtonText;
}

.body-wrapper fieldset
{
    margin: 0 2px;
    padding: .35em .625em .75em; 

    border: 1px solid silver;
}

.body-wrapper legend
{
    display: table;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 100%;
    padding: 0;

    white-space: normal; 

    color: inherit;
}

.body-wrapper progress
{
    display: inline-block;

    vertical-align: baseline;
}

.body-wrapper textarea
{
    overflow: auto;
}

.body-wrapper [type=checkbox],
.body-wrapper [type=radio]
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0;
}

.body-wrapper [type=number]::-webkit-inner-spin-button,
.body-wrapper [type=number]::-webkit-outer-spin-button
{
    height: auto;
}

.body-wrapper [type=search]
{
    outline-offset: -2px; 

    -webkit-appearance: textfield;
}

.body-wrapper [type=search]::-webkit-search-cancel-button,
.body-wrapper [type=search]::-webkit-search-decoration
{
    -webkit-appearance: none;
}

.body-wrapper ::-webkit-file-upload-button
{
    font: inherit; 

    -webkit-appearance: button;
}

.body-wrapper details,
.body-wrapper menu
{
    display: block;
}

.body-wrapper summary
{
    display: list-item;
}

.body-wrapper canvas
{
    display: inline-block;
}

.body-wrapper template
{
    display: none;
}

.body-wrapper [hidden]
{
    display: none;
}

.body-wrapper
{
    text-align: left;
}

.body-wrapper *,
.body-wrapper ::after,
.body-wrapper ::before
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.body-wrapper ::-moz-selection
{
    background-color: #0ac;
}

.body-wrapper ::selection
{
    background-color: #0ac;
}

.body-wrapper address,
.body-wrapper blockquote,
.body-wrapper dd,
.body-wrapper div,
.body-wrapper dl,
.body-wrapper dt,
.body-wrapper form,
.body-wrapper h1,
.body-wrapper h2,
.body-wrapper h3,
.body-wrapper h4,
.body-wrapper h5,
.body-wrapper h6,
.body-wrapper li,
.body-wrapper ol,
.body-wrapper p,
.body-wrapper pre,
.body-wrapper ul
{
    line-height: 1.75;
}

.body-nav-active
{
    position: fixed;

    overflow: hidden; 

    width: 100%;
    height: 100%;
}

.body-wrapper
{
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.75;

    min-width: 1080px; 
    margin: 0;
    padding: 0;

    color: #333;
}

@media screen and (max-width: 767px)
{
    .body-wrapper
    {
        font-size: 14px;

        min-width: 320px;
    }
}

.body-wrapper img
{
    vertical-align: top;
}

.body-wrapper a
{
    color: #333;
}

.body-wrapper a:hover
{
    text-decoration: none;
}

.body-wrapper ol,
.body-wrapper ul
{
    margin: 0;
    padding: 0;

    list-style: none;
}

.body-wrapper p
{
    margin: 0 0 38px;
}

@media screen and (max-width: 767px)
{
    .body-wrapper p
    {
        margin-bottom: 20px;
    }
}

.body-wrapper small
{
    font-size: 80%;
}

.body-wrapper em,
.body-wrapper strong
{
    font-weight: 700;
}

.body-wrapper ::-moz-selection
{
    color: #fff; 
    background: #6fa7f8;
}

.body-wrapper ::selection
{
    color: #fff; 
    background: #6fa7f8;
}

.body-wrapper input::-moz-selection
{
    color: #333;
}

.body-wrapper input::selection
{
    color: #333;
}

.body-wrapper textarea::-moz-selection
{
    color: #333;
}

.body-wrapper textarea::selection
{
    color: #333;
}

.global-header-underlayer__site-name
{
    font-size: 0; 

    margin: 0;
    padding: 25px;
}

@media screen and (max-width: 767px)
{
    .global-header-underlayer__site-name
    {
        padding: 10px 0;

        text-align: center;
    }
}

.global-header-underlayer__site-name a
{
    -webkit-transition: .3s;
            transition: .3s;
}

.global-header-underlayer__site-name a:hover
{
    opacity: .7;
}

.global-header-underlayer__site-name svg
{
    width: 77px;
    height: auto;
}

.global-header-underlayer__site-name svg path
{
    fill: #074194;
}

.global-footer
{
    clear: both;

    background-color: #fff;
}

.global-footer__lower
{
    padding: 30px 0;

    color: #fff; 
    background: #074194;
}

@media screen and (max-width: 767px)
{
    .global-footer__lower
    {
        padding: 40px 0 40px;
    }
}

.global-footer__lower-body
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

@media screen and (min-width: 768px)
{
    .global-footer__lower-body
    {
        max-width: 1250px;
        margin-right: auto;
        margin-left: auto; 
        padding: 0 25px;
    }
}

@media screen and (max-width: 767px)
{
    .global-footer__lower-body
    {
        padding: 0 20px;
    }
}

@media screen and (max-width: 767px)
{
    .global-footer__lower-body
    {
        display: block;

        text-align: center;
    }
}

@media screen and (max-width: 767px)
{
    .global-footer__copy
    {
        margin-bottom: 30px; 

        text-align: center;
    }
}

.global-footer__copy img
{
    display: block;

    width: 374px;
    margin-bottom: 16px;
}

@media screen and (max-width: 767px)
{
    .global-footer__copy img
    {
        width: 100%;
        max-width: 310px;
        margin-right: auto;
        margin-bottom: 14px;
        margin-left: auto;
    }
}

.global-footer__copy small
{
    /*text-align: left;*/
    font-size: 12px; 

    display: block;
}

@media screen and (max-width: 767px)
{
    .global-footer__copy small
    {
        font-size: 12px;
    }
}

.global-footer__caution
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}

@media screen and (max-width: 767px)
{
    .global-footer__caution
    {
        display: block;
    }
}

.global-footer__caution-text
{
    font-size: 10px;

    max-width: 427px;
    margin-right: 18px;

    text-align: left;
}

@media screen and (max-width: 767px)
{
    .global-footer__caution-text
    {
        font-size: 10px;
    }
}

@media screen and (max-width: 767px)
{
    .global-footer__caution-text
    {
        max-width: none;
        margin-right: 0;
        margin-bottom: 14px; 

        text-align: left;
    }
}

.global-footer__caution-image img
{
    width: 105px;
}

.global-footer__caution-image-ab img
{
    width: 515px;
}

@media screen and (max-width: 767px)
{
    .global-footer__caution-image-ab img
    {
        width: 100%;
    }
}

.page-top
{
    position: fixed;
    z-index: 3; 
    right: 30px;
    bottom: 30px;

    -webkit-transition: .6s;
            transition: .6s;
    -webkit-transform: translate(0, 10px);
            transform: translate(0, 10px);

    opacity: 0;
}

.page-top[data-toggle=true]
{
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); 

    opacity: 1;
}

@media screen and (max-width: 767px)
{
    .page-top
    {
        right: 20px;
        bottom: 20px;
    }
}

.page-top a
{
    line-height: 1;

    position: relative;

    display: block;

    width: 60px;
    height: 60px;

    -webkit-transition: .3s;
            transition: .3s;

    border-radius: 50%; 
    background: rgba(0, 0, 0, .6);
}

.page-top a i
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: inline-block;
    overflow: hidden;

    width: 21px;
    height: 12px;

    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.page-top a i::after,
.page-top a i::before
{
    position: absolute;
    top: 0; 
    left: 0;

    display: block;

    width: 21px;
    height: 12px;

    content: '';

    background: url(../img/img-pagtop.svg) no-repeat;
}

.page-top a i::before
{
    -webkit-transform: translate(0, 40px);
            transform: translate(0, 40px);
}

@media screen and (max-width: 767px)
{
    .page-top a i
    {
        position: absolute;
        top: 50%;
        left: 50%;

        display: inline-block;
        overflow: hidden;

        width: 21px;
        height: 12px;

        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); 

        background: url(../img/img-pagtop.svg) no-repeat;
        background-size: 21px 12px;
    }
    .page-top a i::after,
    .page-top a i::before
    {
        display: none;
    }
}

@media screen and (min-width: 768px)
{
    .page-top a:hover
    {
        opacity: .7;
    }
    .page-top a:hover i::before
    {
        -webkit-transition: .4s;
                transition: .4s;
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
    }
    .page-top a:hover i::after
    {
        -webkit-transition: .4s;
                transition: .4s;
        -webkit-transform: translate(0, -40px);
                transform: translate(0, -40px);
    }
}

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
#mainContents
{
    line-height: 1;
}
#mainContents div,
#mainContents span,
#mainContents object,
#mainContents iframe,
#mainContents h1,
#mainContents h2,
#mainContents h3,
#mainContents h4,
#mainContents h5,
#mainContents h6,
#mainContents p,
#mainContents blockquote,
#mainContents pre,
#mainContents abbr,
#mainContents address,
#mainContents cite,
#mainContents code,
#mainContents del,
#mainContents dfn,
#mainContents em,
#mainContents img,
#mainContents ins,
#mainContents kbd,
#mainContents q,
#mainContents samp,
#mainContents small,
#mainContents strong,
#mainContents sub,
#mainContents sup,
#mainContents var,
#mainContents b,
#mainContents i,
#mainContents dl,
#mainContents dt,
#mainContents dd,
#mainContents ol,
#mainContents ul,
#mainContents li,
#mainContents fieldset,
#mainContents form,
#mainContents label,
#mainContents legend,
#mainContents table,
#mainContents caption,
#mainContents tbody,
#mainContents tfoot,
#mainContents thead,
#mainContents tr,
#mainContents th,
#mainContents td,
#mainContents article,
#mainContents aside,
#mainContents canvas,
#mainContents details,
#mainContents figcaption,
#mainContents figure,
#mainContents footer,
#mainContents header,
#mainContents hgroup,
#mainContents menu,
#mainContents nav,
#mainContents section,
#mainContents summary,
#mainContents time,
#mainContents mark,
#mainContents audio,
#mainContents video
{
    font-size: 100%;

    margin: 0;
    padding: 0;

    list-style: none; 

    vertical-align: baseline;

    border: 0;
    outline: 0;
    background: transparent;
}
#mainContents article,
#mainContents aside,
#mainContents details,
#mainContents figcaption,
#mainContents figure,
#mainContents footer,
#mainContents header,
#mainContents hgroup,
#mainContents menu,
#mainContents nav,
#mainContents section
{
    display: block;
}
#mainContents nav ul
{
    list-style: none;
}
#mainContents blockquote,
#mainContents q
{
    quotes: none;
}
#mainContents blockquote:before,
#mainContents blockquote:after,
#mainContents q:before,
#mainContents q:after
{
    content: '';
    content: none;
}
#mainContents a
{
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;
    text-decoration: none; 

    background: transparent;
}
#mainContents ins
{
    text-decoration: none; 

    color: #000;
    background-color: #ff9;
}
#mainContents mark
{
    font-weight: bold; 
    font-style: italic;

    color: #000;
    background-color: #ff9;
}
#mainContents del
{
    text-decoration: line-through;
}
#mainContents abbr[title],
#mainContents dfn[title]
{
    cursor: help; 

    border-bottom: 1px dotted;
}
#mainContents table
{
    border-spacing: 0; 
    border-collapse: collapse;
}
#mainContents hr
{
    display: block;

    height: 1px;
    margin: 1em 0;
    padding: 0; 

    border: 0;
    border-top: 1px solid #ccc;
}
#mainContents input,
#mainContents select
{
    vertical-align: middle;
}
#mainContents img,
#mainContents video
{
    font-size: 0; 
    line-height: 0;
}

@media screen and (max-width: 767px)
{
    .u-is-pc
    {
        display: none !important;
    }
}

@media screen and (min-width: 768px)
{
    .u-is-sp
    {
        display: none !important;
    }
}

.u-mt-1em
{
    margin-top: 1.5em !important;
}

[data-simplebar]
{
    position: relative;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -webkit-flex-direction: column;

    -ms-flex-direction: column;

    flex-direction: column;

    -webkit-flex-wrap: wrap;

    -ms-flex-wrap: wrap;

    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.simplebar-wrapper
{
    overflow: hidden;

    width: inherit;
    max-width: inherit;
    height: inherit;
    max-height: inherit;
}

.simplebar-mask
{
    position: absolute;
    z-index: 0; 
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    overflow: hidden;

    width: auto !important;
    height: auto !important;
    margin: 0;
    padding: 0;

    direction: inherit;
}

.simplebar-offset
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    -webkit-box-sizing: inherit !important;

    box-sizing: inherit !important;
    margin: 0;
    padding: 0;

    resize: none !important;

    direction: inherit !important;
    -webkit-overflow-scrolling: touch;
}

.simplebar-content-wrapper
{
    position: relative;

    display: block;
    overflow: auto;

    -webkit-box-sizing: border-box !important;

    box-sizing: border-box !important;
    width: auto;
    max-width: 100%;
    height: 100%;
    max-height: 100%;

    direction: inherit;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar
{
    display: none;

    width: 0;
    height: 0;
}

.simplebar-content:after,
.simplebar-content:before
{
    display: table; 

    content: ' ';
}

.simplebar-placeholder
{
    width: 100%;
    max-width: 100%;
    max-height: 100%;

    pointer-events: none;
}

.simplebar-height-auto-observer-wrapper
{
    position: relative;
    z-index: -1;

    float: left;
    overflow: hidden;

    -webkit-box-sizing: inherit !important;

    box-sizing: inherit !important;
    width: 100%;
    max-width: 1px;
    height: 100%;
    max-height: 1px;
    margin: 0;
    padding: 0;

    pointer-events: none;

    -webkit-box-flex: inherit;

    -webkit-flex-grow: inherit;

    -ms-flex-positive: inherit;

    flex-grow: inherit;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
}

.simplebar-height-auto-observer
{
    position: absolute;
    z-index: -1; 
    top: 0;
    left: 0;

    display: block;
    overflow: hidden;

    -webkit-box-sizing: inherit;

    box-sizing: inherit;
    width: 1000%;
    min-width: 1px;
    height: 1000%;
    min-height: 1px;

    pointer-events: none;

    opacity: 0;
}

.simplebar-track
{
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;

    overflow: hidden; 

    pointer-events: none;
}

[data-simplebar].simplebar-dragging
{
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; 
    pointer-events: none;

    -webkit-touch-callout: none;
     -khtml-user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-content
{
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; 
    pointer-events: none;

    -webkit-touch-callout: none;
     -khtml-user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-track
{
    pointer-events: all;
}

.simplebar-scrollbar
{
    position: absolute;
    right: 0;
    left: 0;

    min-height: 10px;
}

.simplebar-scrollbar:before
{
    position: absolute;
    right: 2px;
    left: 2px;

    content: '';
    -webkit-transition: opacity .2s .5s linear;
    transition: opacity .2s .5s linear; 

    opacity: 0;
    border-radius: 7px;
    background: #000;
}

.simplebar-scrollbar.simplebar-visible:before
{
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-duration: 0s;
    transition-duration: 0s; 

    opacity: 1;
}

.simplebar-track.simplebar-vertical
{
    top: 0;

    width: 11px;
}

.simplebar-scrollbar:before
{
    top: 2px;
    right: 2px; 
    bottom: 2px;
    left: 2px;
}

.simplebar-track.simplebar-horizontal
{
    left: 0;

    height: 11px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar
{
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;

    width: auto; 
    min-width: 10px;
    min-height: 0;
}

[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical
{
    right: auto;
    left: 0;
}

.simplebar-dummy-scrollbar-size
{
    position: fixed;

    visibility: hidden;
    overflow-x: scroll;
    overflow-y: hidden;

    width: 500px;
    height: 500px;

    opacity: 0;

    direction: rtl;
    -ms-overflow-style: scrollbar !important;
}

.simplebar-dummy-scrollbar-size > div
{
    width: 200%;
    height: 200%;
    margin: 10px 0;
}

.simplebar-hide-scrollbar
{
    position: fixed;
    left: 0;

    visibility: hidden;
    overflow-y: scroll;

    scrollbar-width: none;
    -ms-overflow-style: none;
}

#mainContents
{
    font-family: 'Noto Serif JP', serif, '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;

    position: relative;

    overflow: hidden; 

    color: #222;
    background: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents
    {
        width: 100%;
        min-width: 1100px;
        margin-right: auto;
        margin-left: auto;
    }
}
#mainContents *,
#mainContents *::before,
#mainContents *::after
{
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
#mainContents a
{
    color: inherit;
}
#mainContents img
{
    width: 100%;
    height: auto;

    vertical-align: bottom;
}
#mainContents em
{
    font-style: normal;
}
#mainContents strong
{
    font-weight: normal;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025hover
    {
        -webkit-transition: opacity .3s;
        transition: opacity .3s;
    }
    #mainContents .bitterist2025hover:hover
    {
        opacity: .7;
    }
}
#mainContents .bitterist2025anchor
{
    position: relative;
}
#mainContents .bitterist2025anchor a
{
    position: absolute;
    top: 0;
    left: 0;
}
#mainContents .bitterist2025button
{
    position: relative;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    margin: 0 auto;

    border-radius: 50vw;
    background: #fff; 
    -webkit-box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .08); 
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .08);

    -webkit-box-pack: center;

    -webkit-justify-content: center;

    -ms-flex-pack: center;

    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
#mainContents .bitterist2025button::after
{
    position: absolute;
    top: 50%;
    right: 1.2em;

    width: .55em;
    height: .55em;

    content: '';
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg); 

    border: solid #cd0d18;
    border-width: 1px 1px 0 0;
}
#mainContents .bitterist2025button.is-red
{
    color: #fff; 
    background: #d4000f;
}
#mainContents .bitterist2025button.is-red::after
{
    border-width: 2px 2px 0 0; 
    border-color: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025button
    {
        font-size: max( 18px, 1.25vw ); 

        width: max( 320px, 22.22222vw );
        height: max( 60px, 4.16667vw );
    }
    #mainContents .bitterist2025button.is-red
    {
        font-size: max( 27px, 1.875vw ); 

        width: max( 480px, 33.33333vw );
        height: max( 90px, 6.25vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025button
    {
        font-size: 3.73333vw; 

        width: 100%;
        height: 10.66667vw;
    }
    #mainContents .bitterist2025button.is-red
    {
        font-size: 4.26667vw; 

        height: 12.26667vw;
    }
}
#mainContents .bitterist2025mask img
{
    display: block;
}
#mainContents .bitterist2025mask__top img
{
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
}
#mainContents .bitterist2025mask__bottom img
{
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
}
#mainContents [data-animate='fade-up']
{
    -webkit-transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, transform 1s;
    transition: opacity 1s, transform 1s, -webkit-transform 1s; 
    -webkit-transform: translateY(50px); 
    transform: translateY(50px);

    opacity: 0;
}
#mainContents [data-animate='fade-up'].is-animated
{
    -webkit-transform: translateY(0);
    transform: translateY(0); 

    opacity: 1;
}
#mainContents [data-animate='scale-y']
{
    -webkit-transition: -webkit-transform 1s;
    transition: -webkit-transform 1s;
    transition: transform 1s;
    transition: transform 1s, -webkit-transform 1s; 
    -webkit-transform: scaleY(0); 
    transform: scaleY(0);
    -webkit-transform-origin: top left;
    transform-origin: top left;
}
#mainContents [data-animate='scale-y'].is-animated
{
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
}
#mainContents .simplebar-scrollbar::before
{
    background-color: rgba(117, 117, 117, .8);
}

#mainContents .bitterist2025about
{
    background: -webkit-gradient(linear, left top, left bottom, from(#9b8a64), color-stop(30%, #baaa89), to(#695e47));
    background: -webkit-linear-gradient(top, #9b8a64, #baaa89 30%, #695e47);
    background: linear-gradient(180deg, #9b8a64, #baaa89 30%, #695e47);
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025about .bitterist2025about__inner
    {
        width: max( 800px, 55.55556vw ); 
        margin: 0 auto;
        padding: max( 98px, 6.80556vw ) 0 max( 230px, 15.97222vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025about .bitterist2025about__inner
    {
        padding: 21.06667vw 2.66667vw 53.33333vw;
    }
}
#mainContents .bitterist2025about .bitterist2025about__copy
{
    text-align: center;

    color: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025about .bitterist2025about__copy
    {
        font-size: max( 24px, 1.66667vw );
        font-weight: 600; 
        line-height: 1.8;

        letter-spacing: -.03em;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025about .bitterist2025about__copy
    {
        font-size: 4.26667vw;
        font-weight: 600; 
        line-height: 1.8;

        letter-spacing: -.03em;
    }
}
#mainContents .bitterist2025about .bitterist2025about__periodwrapper
{
    margin: 0 auto;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025about .bitterist2025about__periodwrapper
    {
        width: max( 800px, 55.55556vw );
        margin-top: max( 75px, 5.20833vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025about .bitterist2025about__periodwrapper
    {
        width: 84vw;
        margin-top: 14.66667vw;
    }
}
#mainContents .bitterist2025about .bitterist2025about__hdg
{
    text-align: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025about .bitterist2025about__hdg
    {
        margin-top: max( 66px, 4.58333vw );
    }
    #mainContents .bitterist2025about .bitterist2025about__hdg img
    {
        width: max( 787.45px, 54.68403vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025about .bitterist2025about__hdg
    {
        margin-top: 16vw;
    }
    #mainContents .bitterist2025about .bitterist2025about__hdg img
    {
        width: 84vw;
    }
}
#mainContents .bitterist2025about .bitterist2025about__note
{
    text-align: center;

    color: #fff;
}
#mainContents .bitterist2025about .bitterist2025about__note a
{
    cursor: pointer; 
    text-decoration: underline;
}
#mainContents .bitterist2025about .bitterist2025about__note a:hover
{
    text-decoration: none;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025about .bitterist2025about__note
    {
        font-size: max( 16px, 1.11111vw );
        font-weight: 300; 
        line-height: 1.5;

        margin-top: max( 41px, 2.84722vw );

        letter-spacing: -.03em;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025about .bitterist2025about__note
    {
        font-size: 4.26667vw;
        font-weight: 300; 
        line-height: 1.5;

        margin-top: 7.46667vw;

        letter-spacing: -.03em;
    }
}
#mainContents .bitterist2025about .bitterist2025about__sns
{
    text-align: center;
}
#mainContents .bitterist2025about .bitterist2025about__sns img
{
    width: auto;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025about .bitterist2025about__sns .bitterist2025about__sns--line
    {
        margin-top: max( 29px, 2.01389vw );
    }
    #mainContents .bitterist2025about .bitterist2025about__sns .bitterist2025about__sns--line div
    {
        font-family: 'Noto Sans JP', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;

        display: -webkit-box;

        display: -webkit-flex;

        display: -ms-flexbox;

        display: flex;

        width: max( 620px, 43.05556vw ); 
        margin: 0 auto;
        padding: max( 22px, 1.52778vw ) max( 27px, 1.875vw ) max( 21px, 1.45833vw );

        border: max( 3px, .20833vw ) solid #06c755;
        border-radius: max( 10px, .69444vw );
        background-color: #fff;

        -webkit-box-align: center;

        -webkit-align-items: center;

        -ms-flex-align: center;

        align-items: center;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    #mainContents .bitterist2025about .bitterist2025about__sns .bitterist2025about__sns--line div .bitterist2025about__sns--icon
    {
        width: max( 74px, 5.13889vw );
        margin-right: max( 10px, .69444vw );
    }
    #mainContents .bitterist2025about .bitterist2025about__sns .bitterist2025about__sns--line div .bitterist2025about__sns--qr
    {
        width: max( 82px, 5.69444vw );
    }
    #mainContents .bitterist2025about .bitterist2025about__sns .bitterist2025about__sns--line p
    {
        font-size: max( 14px, .97222vw );
        font-weight: 500; 
        line-height: 1.5;

        margin-right: max( 14px, .97222vw );

        text-align: left;
        letter-spacing: .08em;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025about .bitterist2025about__sns
    {
        margin-top: 5.06667vw;
        padding: 0 5.33333vw;
    }
    #mainContents .bitterist2025about .bitterist2025about__sns div
    {
        margin-top: 5.06667vw;
    }
    #mainContents .bitterist2025about .bitterist2025about__sns img
    {
        height: 22.93333vw;
    }
}
#mainContents .bitterist2025about__btn
{
    position: relative;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    color: #fff; 
    border-radius: 50vw;
    background-repeat: no-repeat;

    -webkit-box-pack: center;

    -webkit-justify-content: center;

    -ms-flex-pack: center;

    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
#mainContents .bitterist2025about__btn img
{
    width: auto;
}
#mainContents .bitterist2025about__btn::after
{
    position: absolute;
    top: 50%;
    right: 1.4em;

    width: .7em;
    height: .7em;

    content: '';
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg); 

    border: solid #fff;
    border-width: 1px 1px 0 0;
}
#mainContents .bitterist2025about__btn--line
{
    background-color: #06c756;
    background-image: url(../img/ico_line_01.svg);
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025about__btn
    {
        font-size: 4vw;
        font-weight: 400; 
        line-height: 1.6;

        height: 16vw;

        letter-spacing: 0;

        background-image: none;
    }
}

#mainContents .bitterist2025prize
{
    position: relative;
    z-index: 1; 

    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize
    {
        height: max( 1042px, 72.36111vw );
        margin-top: min( -118px, -8.19444vw ); 

        background-image: url(../img/prize_bg_01_pc.png);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025prize
    {
        height: 263.2vw;
        margin-top: -16vw; 

        background-image: url(../img/prize_bg_01_sp.png);
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__inner
    {
        padding: max( 140px, 9.72222vw ) 0 max( 60px, 4.16667vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__inner
    {
        padding: 29.6vw 2.66667vw 2.66667vw;
    }
}
#mainContents .bitterist2025prize .bitterist2025prize__hdg
{
    text-align: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__hdg
    {
        margin-bottom: max( 185px, 12.84722vw );
    }
    #mainContents .bitterist2025prize .bitterist2025prize__hdg img
    {
        width: max( 800px, 55.55556vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__hdg
    {
        margin-bottom: 30.4vw;
    }
    #mainContents .bitterist2025prize .bitterist2025prize__hdg img
    {
        width: 94.66667vw;
    }
}
#mainContents .bitterist2025prize .bitterist2025prize__coupon
{
    font-weight: bold;

    margin: 0 auto;

    text-align: center;

    color: #fff; 
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon
    {
        width: max( 987px, 68.54167vw );
        height: max( 409px, 28.40278vw );

        background-image: url(../img/prize_bg_02_pc.png);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon
    {
        width: 90.4vw;
        height: 124vw;

        background-image: url(../img/prize_bg_02_sp.png);
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--inner
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;

        height: max( 386px, 26.80556vw ); 

        -webkit-box-pack: center; 

        -webkit-justify-content: center; 

        -ms-flex-pack: center; 

        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--img
    {
        margin-right: max( 53px, 3.68056vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--img
    {
        text-align: center;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--img img
    {
        width: max( 338px, 23.47222vw );

        -webkit-transform: translate(min( -45px, -3.125vw ), min( -93px, -6.45833vw ));

        transform: translate(min( -45px, -3.125vw ), min( -93px, -6.45833vw ));
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--img img
    {
        width: 37.86667vw; 
        margin: -28.53333vw 0 .53333vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--txt
    {
        width: max( 270px, 18.75vw );
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--txt h3 img
    {
        width: max( 252.42px, 17.52917vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--txt h3 img
    {
        width: 56.53333vw;
    }
}
#mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--upper
{
    margin: 0 auto;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--upper
    {
        width: max( 270px, 18.75vw );
        margin-bottom: max( 16px, 1.11111vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--upper
    {
        width: 62.66667vw;
        margin-bottom: 4.26667vw;
    }
}
#mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--lower
{
    font-family: 'Noto Sans JP', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif; 

    display: table;

    padding-left: 1em;

    text-align: left;
    text-indent: -1em;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--lower
    {
        font-size: max( 10px, .69444vw );
        font-weight: 500; 
        line-height: 1.5;

        margin: max( 17px, 1.18056vw ) auto 0;

        letter-spacing: 0;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__coupon .bitterist2025prize__coupon--lower
    {
        font-size: 2.66667vw;
        font-weight: 700; 
        line-height: 1.5;

        width: 69.33333vw;
        margin: 3.73333vw auto 0;

        letter-spacing: 0;
    }
}
#mainContents .bitterist2025prize .bitterist2025prize__period
{
    color: #fff; 
    background: #bb9628;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__period
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;

        width: max( 965px, 67.01389vw ); 
        height: max( 90px, 6.25vw );
        margin: max( 20px, 1.38889vw ) auto 0;

        -webkit-box-pack: center;

        -webkit-justify-content: center;

        -ms-flex-pack: center;

        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__period
    {
        margin-top: 3.2vw;
        padding: 8vw 0;

        text-align: center;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__period dt
    {
        font-size: max( 32px, 2.22222vw );
        font-weight: 600; 
        line-height: 1;

        position: relative;

        margin-right: max( 30px, 2.08333vw );
        padding-right: max( 25px, 1.73611vw );

        letter-spacing: 0;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__period dt
    {
        font-size: 6.4vw;
        font-weight: 600; 
        line-height: 1;

        letter-spacing: 0;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__period dt::after
    {
        position: absolute;
        top: 50%;
        right: 0;

        height: max( 40px, 2.77778vw );
        margin-top: min( -20px, -1.38889vw );

        content: '';

        border-right: 1px solid rgba(255, 255, 255, .4);
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__period dd
    {
        font-size: max( 20px, 1.38889vw );
        font-weight: 600; 
        line-height: 1.5;

        letter-spacing: .05em;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025prize .bitterist2025prize__period dd
    {
        font-size: 3.73333vw;
        font-weight: 600; 
        line-height: 1.5;

        margin-top: 4vw;

        letter-spacing: .08em;
    }
}

#mainContents .bitterist2025end
{
    font-family: 'Noto Sans JP', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;

    background: -webkit-gradient(linear, left top, left bottom, from(#9b8a64), color-stop(30%, #baaa89), to(#695e47));

    background: -webkit-linear-gradient(top, #9b8a64, #baaa89 30%, #695e47);

    background: linear-gradient(180deg, #9b8a64, #baaa89 30%, #695e47);
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025end
    {
        margin-top: min( -90px, -6.25vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025end
    {
        margin-top: -16vw;
    }
}

@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025info .bitterist2025info__inner
    {
        width: max( 800px, 55.55556vw ); 
        margin: 0 auto;
        padding: max( 150px, 10.41667vw ) 0 0;
    }
}

@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025info .bitterist2025info__inner
    {
        padding: 26.66667vw 2.66667vw 0;
    }
}

#mainContents .bitterist2025info .bitterist2025info__hdg
{
    text-align: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025info .bitterist2025info__hdg
    {
        margin-bottom: max( 60px, 4.16667vw );
    }
    #mainContents .bitterist2025info .bitterist2025info__hdg img
    {
        width: max( 800px, 55.55556vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025info .bitterist2025info__hdg
    {
        margin-bottom: 8vw;
    }
    #mainContents .bitterist2025info .bitterist2025info__hdg img
    {
        width: 94.66667vw;
    }
}

#mainContents .bitterist2025info .bitterist2025info__box
{
    border: 1px solid #e3c364; 
    background: #fff7e0;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025info .bitterist2025info__box
    {
        padding: max( 20px, 1.38889vw ) max( 30px, 2.08333vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025info .bitterist2025info__box
    {
        padding: 5.33333vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025info .bitterist2025info__box + .bitterist2025info__hdg
    {
        margin-top: max( 80px, 5.55556vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025info .bitterist2025info__box + .bitterist2025info__hdg
    {
        margin-top: 16vw;
    }
}

#mainContents .bitterist2025info .bitterist2025info__scroll
{
    padding-bottom: 1em;

    word-break: break-all; 

    color: rgba(34, 34, 34, .8);
}
#mainContents .bitterist2025info .bitterist2025info__scroll * + .bitterist2025info__terms
{
    margin-top: 2em;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025info .bitterist2025info__scroll
    {
        font-size: max( 12px, .83333vw );
        font-weight: 400; 
        line-height: 1.6;

        height: max( 228px, 15.83333vw );
        padding-right: max( 20px, 1.38889vw );

        letter-spacing: .12em;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025info .bitterist2025info__scroll
    {
        font-size: 3.2vw;
        font-weight: 400; 
        line-height: 1.6;

        height: 62.13333vw;
        padding-right: 4vw;

        letter-spacing: .12em;
    }
}
#mainContents .bitterist2025info .bitterist2025info__scroll a
{
    text-decoration: underline;
}

#mainContents .bitterist2025info__terms.is-faq
{
    color: #222;
}
#mainContents .bitterist2025info__terms.is-faq dt
{
    font-size: 133%;
}

#mainContents .bitterist2025info__terms dt
{
    margin-bottom: 1em;
}
#mainContents .bitterist2025info__terms dt ~ dt
{
    margin-top: 2em;
}

#mainContents .bitterist2025info__terms dd + dd
{
    margin-top: 1.5em;
}

#mainContents .bitterist2025info__terms dd > * ~ *
{
    margin-top: 1em;
}

#mainContents .bitterist2025info__terms ul
{
    padding-left: 1.5em;
}
#mainContents .bitterist2025info__terms ul li
{
    text-indent: -1em;
}

#mainContents .bitterist2025info__terms ol li
{
    margin-left: 1.5em;

    list-style-position: outside;
    list-style-type: decimal;
}
#mainContents .bitterist2025info__terms ol li ~ li
{
    margin-top: 1em;
}
#mainContents .bitterist2025info__terms ol li > p ~ p
{
    margin-top: 1em;
}

#mainContents .bitterist2025info__terms ol ul li
{
    margin: 0;

    list-style-type: none;

    text-indent: -1em;
}

#mainContents .bitterist2025info__terms strong
{
    font-weight: bold;
}

#mainContents .bitterist2025info__terms a
{
    text-decoration: underline;
}
#mainContents .bitterist2025info__terms a:hover
{
    text-decoration: none;
}

@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025faq__inner
    {
        width: max( 800px, 55.55556vw ); 
        margin: 0 auto;
        padding: max( 80px, 5.55556vw ) 0 0;
    }
}

@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025faq__inner
    {
        padding: 21.33333vw 2.66667vw 0;
    }
}

#mainContents .bitterist2025faq .bitterist2025faq__hdg
{
    text-align: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025faq .bitterist2025faq__hdg
    {
        margin-bottom: max( 60px, 4.16667vw );
    }
    #mainContents .bitterist2025faq .bitterist2025faq__hdg img
    {
        width: max( 800px, 55.55556vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025faq .bitterist2025faq__hdg
    {
        margin-bottom: 8vw;
    }
    #mainContents .bitterist2025faq .bitterist2025faq__hdg img
    {
        width: 94.66667vw;
    }
}

#mainContents .bitterist2025faq .bitterist2025faq__accordion
{
    overflow: hidden; 

    border: 1px solid #000;
}
#mainContents .bitterist2025faq .bitterist2025faq__accordion h3
{
    position: relative;

    cursor: pointer; 
    text-align: center;

    color: #fff;
    background: #000;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025faq .bitterist2025faq__accordion h3
    {
        font-size: max( 20px, 1.38889vw );
        font-weight: 400; 
        line-height: 1;

        padding: max( 22px, 1.52778vw ) 0;

        letter-spacing: .1em;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025faq .bitterist2025faq__accordion h3
    {
        font-size: 4.8vw;
        font-weight: 400; 
        line-height: 1;

        padding: 4.26667vw 0;

        letter-spacing: .1em;
    }
}
#mainContents .bitterist2025faq .bitterist2025faq__accordion h3::after
{
    position: absolute;
    top: 50%;

    content: '';
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); 

    background-image: url(../img/ico_toggle_01.svg), url(../img/ico_toggle_02.svg);
    background-repeat: no-repeat, no-repeat;
    background-position: center, center;
    background-size: contain, 0;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025faq .bitterist2025faq__accordion h3::after
    {
        right: max( 20px, 1.38889vw );

        width: max( 34px, 2.36111vw );
        height: max( 34px, 2.36111vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025faq .bitterist2025faq__accordion h3::after
    {
        right: 5.33333vw;

        width: 9.06667vw;
        height: 9.06667vw;
    }
}
#mainContents .bitterist2025faq .bitterist2025faq__accordion h3.is-active::after
{
    background-size: 0, contain;
}

#mainContents .bitterist2025faq .bitterist2025faq__box
{
    display: none;

    background: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025faq .bitterist2025faq__box
    {
        padding: max( 20px, 1.38889vw ) max( 10px, .69444vw ) max( 20px, 1.38889vw ) max( 20px, 1.38889vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025faq .bitterist2025faq__box
    {
        padding: 5.33333vw 1.33333vw 5.33333vw 5.33333vw;
    }
}

#mainContents .bitterist2025faq .bitterist2025faq__scroll
{
    padding-bottom: 1em;

    color: rgba(34, 34, 34, .8);
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025faq .bitterist2025faq__scroll
    {
        font-size: max( 12px, .83333vw );
        font-weight: 400; 
        line-height: 1.83333;

        height: max( 410px, 28.47222vw );
        padding-right: max( 20px, 1.38889vw );

        letter-spacing: .1em;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025faq .bitterist2025faq__scroll
    {
        font-size: 3.2vw;
        font-weight: 400; 
        line-height: 1.83333;

        height: 64vw;
        padding-right: 4vw;

        letter-spacing: .1em;
    }
}

@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025contact__inner
    {
        width: max( 800px, 55.55556vw ); 
        margin: 0 auto;
        padding: max( 80px, 5.55556vw ) 0 max( 140px, 9.72222vw );
    }
}

@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025contact__inner
    {
        padding: 21.33333vw 2.66667vw 8vw;
    }
}

#mainContents .bitterist2025contact .bitterist2025contact__hdg
{
    text-align: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__hdg
    {
        margin-bottom: max( 60px, 4.16667vw );
    }
    #mainContents .bitterist2025contact .bitterist2025contact__hdg img
    {
        width: max( 800px, 55.55556vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__hdg
    {
        margin-bottom: 8vw;
    }
    #mainContents .bitterist2025contact .bitterist2025contact__hdg img
    {
        width: 94.66667vw;
    }
}

#mainContents .bitterist2025contact .bitterist2025contact__note
{
    color: rgba(34, 34, 34, .8);
}
#mainContents .bitterist2025contact .bitterist2025contact__note li
{
    padding-left: 1.5em;

    text-indent: -1.5em;
}
#mainContents .bitterist2025contact .bitterist2025contact__note li::before
{
    margin-right: .5em;

    content: '※';
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__note
    {
        font-size: max( 12px, .83333vw );
        font-weight: 400; 
        line-height: 1.83333;

        letter-spacing: .1em;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__note
    {
        font-size: 3.2vw;
        font-weight: 400; 
        line-height: 1.83333;

        padding: 0 4vw;

        letter-spacing: .025em;
    }
}

#mainContents .bitterist2025contact .bitterist2025contact__box
{
    background-color: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box
    {
        padding: max( 28px, 1.94444vw ) 0;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box
    {
        padding: 8vw 0 9.06667vw;
    }
}
#mainContents .bitterist2025contact .bitterist2025contact__box h3
{
    text-align: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box h3
    {
        font-size: max( 16px, 1.11111vw );
        font-weight: 500; 
        line-height: 1.5;

        margin-bottom: max( 30px, 2.08333vw );

        letter-spacing: 0;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box h3
    {
        font-size: 3.73333vw;
        font-weight: 500; 
        line-height: 1.5;

        margin-bottom: 8vw;

        letter-spacing: 0;
    }
}
#mainContents .bitterist2025contact .bitterist2025contact__box dl
{
    text-align: center; 

    border-bottom: 1px solid rgba(195, 195, 195, .5);
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box dl
    {
        margin-bottom: max( 28px, 1.94444vw );
        padding-bottom: max( 28px, 1.94444vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box dl
    {
        margin-bottom: 7.73333vw;
        padding-bottom: 5.06667vw;
    }
}
#mainContents .bitterist2025contact .bitterist2025contact__box dl dt
{
    font-weight: bold; 

    display: -webkit-box; 

    display: -webkit-flex; 

    display: -ms-flexbox; 

    display: flex;

    -webkit-box-pack: center;

    -webkit-justify-content: center;

    -ms-flex-pack: center;

    justify-content: center;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box dl dt
    {
        margin-bottom: max( 10px, .69444vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box dl dt
    {
        margin-bottom: 2.66667vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box dl dt > img
    {
        width: max( 38px, 2.63889vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box dl dt > img
    {
        width: 10.13333vw;
    }
}
#mainContents .bitterist2025contact .bitterist2025contact__box dl dt span
{
    line-height: 1; 

    display: block;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box dl dt span
    {
        padding: 0 max( 60px, 4.16667vw ) max( 8px, .55556vw ) max( 20px, 1.38889vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box dl dt span
    {
        padding: 0 4vw 2.13333vw 1.6vw;
    }
}
#mainContents .bitterist2025contact .bitterist2025contact__box dl dt span small
{
    display: block;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box dl dt span small
    {
        font-size: max( 12px, .83333vw );
        font-weight: 400; 
        line-height: 1;

        margin-bottom: max( 15px, 1.04167vw );

        letter-spacing: 0;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box dl dt span small
    {
        font-size: 3.2vw;
        font-weight: 400; 
        line-height: 1;

        margin-bottom: 4vw;

        letter-spacing: .08em;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box dl dd
    {
        font-size: max( 12px, .83333vw );
        font-weight: 400; 
        line-height: 1.5;

        letter-spacing: .05em;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box dl dd
    {
        font-size: 3.2vw;
        font-weight: 400; 
        line-height: 1.5;

        letter-spacing: .05em;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025contact .bitterist2025contact__box ul
    {
        display: table;

        margin: 0 auto;
    }
}

#mainContents .bitterist2025caution
{
    font-family: 'Noto Sans JP', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025caution
    {
        width: max( 1020px, 70.83333vw );
        margin-top: max( 80px, 5.55556vw ); 

        margin-inline: auto;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025caution
    {
        padding: 10.66667vw 5.33333vw;
    }
}

#mainContents .bitterist2025caution__inner
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025caution__inner
    {
        -webkit-column-gap: max( 48px, 3.33333vw );
        -moz-column-gap: max( 48px, 3.33333vw );
        column-gap: max( 48px, 3.33333vw );
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025caution__inner
    {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;

        row-gap: 8.53333vw;
    }
}

#mainContents .bitterist2025caution__text
{
    font-weight: 500;
}
@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025caution__text
    {
        font-size: max( 18px, 1.25vw );
        font-weight: 500; 
        line-height: 1.66667;

        letter-spacing: 0;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025caution__text
    {
        font-size: 3.46667vw;
        font-weight: 500; 
        line-height: 1.69231;

        letter-spacing: 0;
    }
}

@media screen and (min-width: 768px)
{
    #mainContents .bitterist2025caution__image
    {
        margin-top: max( 16px, 1.11111vw );
    }
}

@media screen and (max-width: 767px)
{
    #mainContents .bitterist2025caution__image
    {
        margin-top: 2.13333vw;
    }
}

@media print
{
    .no-print
    {
        background-image: none !important;
    }
    .no-print *::before,
    .no-print *::after
    {
        background-image: none !important;
    }
    img.no-print
    {
        visibility: hidden !important;
    }
}

@media screen and (min-width: 768px)
{
    .root-wrapper
    {
        width: 100%;
        min-width: 1100px;
        margin-right: auto;
        margin-left: auto;
    }
}
