@charset 'UTF-8';
/*@font-face {
    font-family: 'NotoSans';
    src: url(../font/NotoSans_regular.woff) format('woff');
	font-weight: normal;
}

@font-face {
    font-family: 'NotoSans';
    src: url(../font/NotoSans_bold.woff) format('woff');
	font-weight: bold;
}*/
/*初期設定
----------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');
@import url('//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;0,900;1,300;1,400;1,500;1,700;1,900&display=swap');
@page
{
    margin: 0;
}
/* リセット設定 */
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
{
    font: inherit;
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
}

ul
{
    list-style: none;
}

img
{
    max-width: 100%;

    vertical-align: bottom;
}
@media screen and (max-width: 768px)
{
    img
    {
        max-width: 100%;
    }
}

/* color設定 */
/* 基本設定 */
body
{
    font-family: 'Roboto', 'Noto Sans JP', '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 14px;
    font-size: .875rem;
    font-weight: 400;
    line-height: 2;

    box-sizing: border-box;
    width: 100%;
    min-width: 1280px;

    letter-spacing: .06em;

    color: rgba(0, 0, 0, .87);
    background-color: #fff;

       -moz-text-size-adjust: none;
    -webkit-text-size-adjust: 100%;
            text-size-adjust: 100%;
}
body.fixed
{
    position: fixed;

    overflow: hidden;

    width: 100%;
}
@media screen and (max-width: 768px)
{
    body
    {
        font-size: 14px;

        min-width: 320px;
    }
}

header
{
    position: relative;
}

*
{
    box-sizing: border-box;

    word-break: break-all;

    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

textarea::-ms-input-placeholder,
input:-ms-input-placeholder
{
    color: rgba(0, 0, 0, .34);
}

html
{
    height: 100%;
}

input,
textarea
{
    -webkit-appearance: none;
}

input:focus,
button:focus,
textarea:focus
{
    outline: 0;
}

a.ul
{
    position: relative;

    text-decoration: none;

    color: rgba(0, 0, 0, .87);
}
a.ul:link
{
    color: rgba(0, 0, 0, .87);
}

a.ul::after
{
    position: absolute;
    bottom: -8px;
    left: 0;

    width: 100%;
    height: 1px;

    content: '';
    transition: transform .3s;
    transform: scale(0, 1);
    transform-origin: right top;

    background: rgba(0, 0, 0, .87);
}

a.ul:hover::after
{
    transform: scale(1, 1);
    transform-origin: left top;
}

a
{
    width: inherit;
    height: inherit;

    text-decoration: none;
}

a:link
{
    color: rgba(0, 0, 0, .87);
}
a:visited
{
    color: rgba(0, 0, 0, .87);
}
a:hover
{
    transition-duration: .2s;

    opacity: .7;
}

.u-col__wh
{
    color: #fff;
}

.u-content
{
    width: 1120px;
    margin: 0 auto;
    padding: 128px 0;
}
.u-content__sm
{
    width: 800px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .u-content__sm
    {
        width: 100%;
    }
}
.u-content.nb
{
    padding-bottom: 0;
}
@media screen and (max-width: 768px)
{
    .u-content
    {
        width: 100%;
        padding: 64px 5.6074766355vw;
    }
}
.u-content__full
{
    padding: 108px 0 128px 0;

    background: rgba(0, 0, 0, .8);
}
@media screen and (max-width: 768px)
{
    .u-content__full
    {
        padding: 16.8224299065vw 0 18.691588785vw 0;
    }
}
.u-content__full.bg-sub
{
    background: rgba(0, 0, 0, .9);
}
.u-content__half
{
    width: 532px;
}
@media screen and (max-width: 768px)
{
    .u-content__half
    {
        width: 100%;
    }
    .u-content__half:first-child
    {
        padding-bottom: 18.691588785vw;
    }
}
.u-content__2col
{
    display: flex;

    justify-content: space-between;
    flex-wrap: wrap;
    gap: 32px;
}
@media screen and (max-width: 768px)
{
    .u-content__2col
    {
        display: block;
    }
}
.u-content__2col > .u-content__item
{
    width: 532px;

    flex-basis: 532px;
}
@media screen and (max-width: 768px)
{
    .u-content__2col
    {
        width: auto;

        gap: 11.214953271vw 5.6074766355vw;
    }
}
.u-content__2col-list
{
    display: flex;

    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}
.u-content__2col-list > .u-content__item
{
    width: 532px;

    flex-basis: 532px;
}
@media screen and (max-width: 768px)
{
    .u-content__2col-list > .u-content__item
    {
        width: 100%;
    }
}
@media screen and (max-width: 768px)
{
    .u-content__2col-list
    {
        width: auto;

        gap: 3.738317757vw;
    }
}
.u-content__4col
{
    display: flex;

    justify-content: space-between;
    flex-wrap: wrap;
    gap: 32px;
}
@media screen and (max-width: 768px)
{
    .u-content__4col
    {
        display: block;
    }
}
.u-content__4col > .u-content__item
{
    flex-basis: 256px;
}
@media screen and (max-width: 768px)
{
    .u-content__4col
    {
        width: auto;

        gap: 11.214953271vw 5.6074766355vw;
    }
}
.u-content__under
{
    padding: 80px 0 128px 0;

    background: rgba(0, 0, 0, .8);
}
@media screen and (max-width: 768px)
{
    .u-content__under
    {
        padding: 5.6074766355vw 0 18.691588785vw 0;
    }
}

.u-title__xs
{
    font-size: 14px;
    font-weight: 700;
}
@media screen and (max-width: 768px)
{
    .u-title__xs
    {
        font-size: 12px;
    }
}
.u-title__sm
{
    font-size: 18px;
    font-weight: 700;
}
@media screen and (max-width: 768px)
{
    .u-title__sm
    {
        font-size: 14px;
    }
}
.u-title__base
{
    font-size: 24px;
    font-weight: 900;
    font-style: normal;
    line-height: normal;
    line-height: 1.6;

    color: #fff;
}
@media screen and (max-width: 768px)
{
    .u-title__base
    {
        font-size: 18px;
    }
}
.u-title__base.org
{
    color: #ea5414;
}
.u-title__base.blk
{
    color: rgba(0, 0, 0, .87);
}
.u-title__base > span
{
    line-height: 1.8;

    padding: 4px;

    background-color: black;
}
.u-title__lg
{
    font-family: Roboto;
    font-size: 100px;
    font-weight: 900;
    font-style: normal;
    line-height: normal;

    padding-bottom: 96px;

    letter-spacing: .8px;

    color: #ea5414;
}
@media screen and (max-width: 768px)
{
    .u-title__lg
    {
        font-size: 9.3457943925vw;

        padding-bottom: 48px;
    }
}
.u-title__xl
{
    font-family: 'Roboto';
    font-size: 80px;
    font-weight: bold;

    margin: 0 auto;

    text-align: center;

    color: #ea5414;
    border-top: solid 1px #ea5414;
    border-bottom: solid 1px #ea5414;
}
@media screen and (max-width: 768px)
{
    .u-title__xl
    {
        font-size: 14.0186915888vw;
    }
}
.u-title__round
{
    font-size: 24px;
    font-weight: 900;

    display: flex;

    color: #ea5414;
    border: 2px solid #ea5414;
    border-radius: 100px;

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .u-title__round
    {
        font-size: 3.738317757vw;
    }
}

.u-wh__2col
{
    flex-basis: 544px;
}

.u-bd__def
{
    border-radius: 24px;
    box-shadow: 0 0 80px #ea5414, 0 0 4px rgba(255, 255, 255, .1);
}
@media screen and (max-width: 768px)
{
    .u-bd__def
    {
        border-radius: 8px;
    }
}

.u-box__sub
{
    padding: 24px;

    border-radius: 8px;
    background: #eee;
}
@media screen and (max-width: 768px)
{
    .u-box__sub
    {
        padding: 16px;
    }
}
.u-box__def
{
    margin: 40px 0;
    padding: 40px;

    text-align: center;

    border-radius: 8px;
    background-color: #eee;
}
@media screen and (max-width: 768px)
{
    .u-box__def
    {
        padding: 16px;
    }
}
.u-box__2col
{
    flex-basis: 520px;
}
.u-box__bdt
{
    border-top: solid 1px #222;
}
.u-box__disc
{
    font-size: 18px;
    line-height: 1.8;

    width: 736px;
    margin: 0 auto;

    text-align: left;
}
@media screen and (max-width: 768px)
{
    .u-box__disc
    {
        font-size: 14px;

        width: 100%;
    }
}

.u-form__select
{
    position: relative;

    display: inline-block;
}
.u-form__select select
{
    font-size: 16px;
    line-height: 40px;

    position: relative;

    height: 40px;
    padding: 0 32px 0 16px;

    border: solid 1px rgba(0, 0, 0, .34);
    outline: none;

    -webkit-appearance: none;
            -moz-appearance: none;
         appearance: none;
}
@media screen and (max-width: 768px)
{
    .u-form__select select
    {
        width: 100%;
        height: 48px;
        padding: 0 24px 0 8px;
    }
}
.u-form__select::after
{
    position: absolute;
    top: 8px;
    right: 10px;

    width: 24px;
    height: 24px;
    margin: auto;

    content: '';

    background: url(../img/common/icn_arrow_select.svg) no-repeat;
}
@media screen and (max-width: 768px)
{
    .u-form__select::after
    {
        right: 6px;
    }
}
.u-form__base
{
    font-size: 16px;
    line-height: 40px;

    position: relative;

    width: 100%;
    height: 40px;
    padding: 0 16px;

    color: #fff;
    border: solid 1px #333;
    border-radius: 4px;
    outline: none;
    background: #000;

    -webkit-appearance: none;
            -moz-appearance: none;
         appearance: none;
}
@media screen and (max-width: 768px)
{
    .u-form__base
    {
        line-height: 1;

        display: inline-flex;

        height: 48px;
        padding: 8px;

        align-items: center;
    }
}
.u-form__textarea
{
    font-size: 16px;

    position: relative;

    width: 100%;
    height: 200px;
    padding: 16px;

    color: #fff;
    border: solid 1px #333;
    border-radius: 4px;
    outline: none;
    background: #000;

    -webkit-appearance: none;
            -moz-appearance: none;
         appearance: none;
}
@media screen and (max-width: 768px)
{
    .u-form__textarea
    {
        line-height: 1;

        display: inline-flex;

        height: 48px;
        padding: 8px;

        align-items: center;
    }
}
.u-form__sm
{
    font-size: 16px;
    line-height: 40px;

    position: relative;

    width: 100px;
    height: 40px;
    padding: 0 16px;

    border: solid 1px rgba(0, 0, 0, .34);
    outline: none;

    -webkit-appearance: none;
            -moz-appearance: none;
         appearance: none;
}
@media screen and (max-width: 768px)
{
    .u-form__sm
    {
        line-height: 1;

        display: inline-flex;

        height: 48px;
        padding: 8px;

        align-items: center;
    }
}
.u-form__xs
{
    font-size: 16px;
    line-height: 32px;

    width: 56px;
    height: 32px;
    padding: 0 8px;

    border: solid rgba(0, 0, 0, .34) 1px;
}

.u-btn__wrapper
{
    display: flex;

    justify-content: center;
}
.u-btn__def
{
    font-family: 'Roboto Condensed';
    font-size: 16px;

    display: inline-flex;

    width: 200px;
    height: 48px;

    cursor: pointer;
    transition: .2s ease;
    letter-spacing: .05em;

    color: #fff;
    border: solid 1px rgba(0, 0, 0, .34);
    border-radius: 4px;
    background: #000;

    align-items: center;
    justify-content: center;
}
.u-btn__def:hover
{
    background: #222;
}
.u-btn__def:link
{
    color: #fff;
}
.u-btn__def:visited
{
    color: #fff;
}
@media screen and (max-width: 768px)
{
    .u-btn__def
    {
        font-size: 3.738317757vw;

        width: 100%;
        height: 9.3457943925vw;
    }
}
.u-btn__lg
{
    font-size: 24px;
    font-weight: bold;

    display: inline-flex;

    width: 600px;
    height: 80px;

    border-radius: 40px;
    background: #161616;

    align-items: center;
    justify-content: center;
}
.u-btn__lg:link
{
    color: #fff;
}
.u-btn__lg:visited
{
    color: #fff;
}
@media screen and (max-width: 768px)
{
    .u-btn__lg
    {
        font-size: 14px;

        width: 100%;
        height: 48px;
    }
    .u-btn__lg > img
    {
        width: auto;
        height: 24px;
    }
}
.u-btn__detail
{
    font-family: 'Roboto Condensed';
    font-size: 16px;

    display: inline-flex;

    width: 200px;
    height: 48px;

    cursor: pointer;
    transition: .2s ease;
    letter-spacing: .05em;

    color: #fff;
    border: solid 1px rgba(0, 0, 0, .34);
    border-radius: 4px;
    background: #000;

    align-items: center;
    justify-content: center;
}
.u-btn__detail:hover
{
    background: #222;
}
.u-btn__detail:link
{
    color: #fff;
}
.u-btn__detail:visited
{
    color: #fff;
}
@media screen and (max-width: 768px)
{
    .u-btn__detail
    {
        font-size: 3.738317757vw;

        width: 100%;
        height: 9.3457943925vw;
    }
}

.u-fe
{
    display: flex;

    justify-content: flex-end;
    align-items: center;
}

.u-flex
{
    display: flex;

    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
.u-flex__pc
{
    display: flex;

    justify-content: space-between;
}
@media screen and (max-width: 768px)
{
    .u-flex__pc
    {
        display: block;
    }
}
.u-flex__fs
{
    display: flex;

    justify-content: flex-start;
    align-items: flex-start;
}

.u-pt__n
{
    padding-top: 0 !important;
}
.u-pt__xs
{
    padding-top: 8px;
}
@media screen and (max-width: 768px)
{
    .u-pt__xs
    {
        padding-top: 1.4018691589vw;
    }
    .u-pt__xs-sp
    {
        padding-top: 1.4018691589vw;
    }
}
.u-pt__sm
{
    padding-top: 16px;
}
@media screen and (max-width: 768px)
{
    .u-pt__sm
    {
        padding-top: 2.8037383178vw;
    }
    .u-pt__sm-sp
    {
        padding-top: 2.8037383178vw;
    }
}
.u-pt__base
{
    padding-top: 24px;
}
@media screen and (max-width: 768px)
{
    .u-pt__base
    {
        padding-top: 3.738317757vw;
    }
    .u-pt__base-sp
    {
        padding-top: 3.738317757vw;
    }
}
.u-pt__lg
{
    padding-top: 32px;
}
@media screen and (max-width: 768px)
{
    .u-pt__lg
    {
        padding-top: 5.6074766355vw;
    }
    .u-pt__lg-sp
    {
        padding-top: 5.6074766355vw;
    }
}
.u-pt__xl
{
    padding-top: 48px;
}
@media screen and (max-width: 768px)
{
    .u-pt__xl
    {
        padding-top: 7.476635514vw;
    }
    .u-pt__xl-sp
    {
        padding-top: 7.476635514vw;
    }
}
.u-pt__2xl
{
    padding-top: 64px;
}
@media screen and (max-width: 768px)
{
    .u-pt__2xl
    {
        padding-top: 11.214953271vw;
    }
    .u-pt__2xl-sp
    {
        padding-top: 11.214953271vw;
    }
}
.u-pt__3xl
{
    padding-top: 80px;
}
@media screen and (max-width: 768px)
{
    .u-pt__3xl
    {
        padding-top: 14.953271028vw;
    }
    .u-pt__3xl-sp
    {
        padding-top: 14.953271028vw;
    }
}
.u-pt__4xl
{
    padding-top: 96px;
}
@media screen and (max-width: 768px)
{
    .u-pt__4xl
    {
        padding-top: 14.953271028vw;
    }
    .u-pt__4xl-sp
    {
        padding-top: 14.953271028vw;
    }
}
.u-pt__5xl
{
    padding-top: 128px;
}
@media screen and (max-width: 768px)
{
    .u-pt__5xl
    {
        padding-top: 22.4299065421vw;
    }
    .u-pt__5xl-sp
    {
        padding-top: 22.4299065421vw;
    }
}

.u-ph__base
{
    padding: 24px 0;
}

.u-pb__xs
{
    padding-bottom: 8px;
}
@media screen and (max-width: 768px)
{
    .u-pb__xs
    {
        padding-bottom: 1.4018691589vw;
    }
    .u-pb__xs-sp
    {
        padding-bottom: 1.4018691589vw;
    }
}
.u-pb__sm
{
    padding-bottom: 16px;
}
@media screen and (max-width: 768px)
{
    .u-pb__sm
    {
        padding-bottom: 2.8037383178vw;
    }
    .u-pb__sm-sp
    {
        padding-bottom: 2.8037383178vw;
    }
}
.u-pb__base
{
    padding-bottom: 24px;
}
@media screen and (max-width: 768px)
{
    .u-pb__base
    {
        padding-bottom: 3.738317757vw;
    }
    .u-pb__base-sp
    {
        padding-bottom: 3.738317757vw;
    }
}
.u-pb__lg
{
    padding-bottom: 32px;
}
@media screen and (max-width: 768px)
{
    .u-pb__lg
    {
        padding-bottom: 5.6074766355vw;
    }
    .u-pb__lg-sp
    {
        padding-bottom: 5.6074766355vw;
    }
}
.u-pb__xl
{
    padding-bottom: 48px;
}
@media screen and (max-width: 768px)
{
    .u-pb__xl
    {
        padding-bottom: 7.476635514vw;
    }
    .u-pb__xl-sp
    {
        padding-bottom: 7.476635514vw;
    }
}
.u-pb__2xl
{
    padding-bottom: 64px;
}
@media screen and (max-width: 768px)
{
    .u-pb__2xl
    {
        padding-bottom: 11.214953271vw;
    }
    .u-pb__2xl-sp
    {
        padding-bottom: 11.214953271vw;
    }
}
.u-pb__3xl
{
    padding-bottom: 80px;
}
@media screen and (max-width: 768px)
{
    .u-pb__3xl
    {
        padding-bottom: 14.953271028vw;
    }
    .u-pb__3xl-sp
    {
        padding-bottom: 14.953271028vw;
    }
}
.u-pb__4xl
{
    padding-bottom: 96px;
}
@media screen and (max-width: 768px)
{
    .u-pb__4xl
    {
        padding-bottom: 14.953271028vw;
    }
    .u-pb__4xl-sp
    {
        padding-bottom: 14.953271028vw;
    }
}
.u-pb__5xl
{
    padding-bottom: 128px;
}
@media screen and (max-width: 768px)
{
    .u-pb__5xl
    {
        padding-bottom: 22.4299065421vw;
    }
    .u-pb__5xl-sp
    {
        padding-bottom: 22.4299065421vw;
    }
}

.u-pl__sm
{
    padding-left: 16px;
}
@media screen and (max-width: 768px)
{
    .u-pl__sm
    {
        padding-left: 3.738317757vw;
    }
}
.u-pl__base
{
    padding-left: 24px;
}
@media screen and (max-width: 768px)
{
    .u-pl__base
    {
        padding-left: 5.6074766355vw;
    }
}
.u-pl__lg
{
    padding-left: 32px;
}
@media screen and (max-width: 768px)
{
    .u-pl__lg
    {
        padding-left: 5.6074766355vw;
    }
}

.u-pr__sm
{
    padding-right: 16px;
}
@media screen and (max-width: 768px)
{
    .u-pr__sm
    {
        padding-left: 3.738317757vw;
    }
}
.u-pr__base
{
    padding-right: 24px;
}
@media screen and (max-width: 768px)
{
    .u-pr__base
    {
        padding-right: 5.6074766355vw;
    }
}
.u-pr__lg
{
    padding-right: 32px;
}
@media screen and (max-width: 768px)
{
    .u-pr__lg
    {
        padding-right: 5.6074766355vw;
    }
}

.u-txt__sm
{
    font-size: 12px;
}
.u-txt__md
{
    font-size: 14px;
}
.u-txt__base
{
    font-size: 16px;
    line-height: 2;
}
.u-txt__lg
{
    font-size: 18px;
    line-height: 2;
}
.u-txt__xl
{
    font-size: 20px;
    line-height: 2;
}
.u-txt__marker
{
    background: linear-gradient(transparent 60%, yellow 60%);
}
.u-txt__marker.str
{
    font-size: 16px;
    font-weight: bold;
}
.u-txt__headline
{
    font-size: 15px;
    font-weight: bold;

    position: relative;

    display: inline-block;

    padding: 0 50px;

    color: #333;
}
.u-txt__headline::before,
.u-txt__headline::after
{
    position: absolute;
    top: 50%;

    display: inline-block;

    width: 40px;
    height: 2px;

    content: '';

    background-color: #666;
}
.u-txt__headline::before
{
    left: 0;
}
.u-txt__headline::after
{
    right: 2px;
}
.u-txt__emp
{
    font-family: Roboto Condensed;
    font-size: 40px;
    font-weight: 700;
    font-style: italic;
    line-height: normal;
    line-height: 1.8;

    display: inline;

    padding: 4px;

    color: #fff;
    background: #ea5414;
}
@media screen and (max-width: 768px)
{
    .u-txt__emp
    {
        font-size: 24px;
    }
}

.u-tal
{
    text-align: left;
}

.u-tar
{
    text-align: right;
}

.u-tac
{
    text-align: center;
}
@media screen and (max-width: 768px)
{
    .u-tac.sp-reset
    {
        text-align: left;
    }
}

.u-ispc
{
    display: block !important;
}
@media screen and (max-width: 768px)
{
    .u-ispc
    {
        display: none !important;
    }
}

.u-inavtive
{
    pointer-events: none !important;

    opacity: .3;
}

.u-issp
{
    display: none !important;
}
@media screen and (max-width: 768px)
{
    .u-issp
    {
        display: block !important;
    }
}

.u-dn
{
    display: none !important;
}

.u-line__def
{
    font-size: 0;

    border-top: solid 1px #333;
}

.u-list__tb
{
    display: flex;

    flex-wrap: wrap;
}
.u-list__tb > dt
{
    font-weight: bold;

    color: #ea5414;

    flex-basis: 160px;
}
@media screen and (max-width: 768px)
{
    .u-list__tb > dt
    {
        font-size: 12px;
    }
}
.u-list__tb > dd
{
    font-size: 16px;
    font-weight: bold;
    line-height: 160%;

    padding-bottom: 16px;

    flex-basis: 352px;
}
@media screen and (max-width: 768px)
{
    .u-list__tb > dd
    {
        font-size: 14px;
    }
}
.u-list__circle > li
{
    line-height: 1.5;

    display: block;

    padding-bottom: 16px;
    padding-left: 15px;
}
@media screen and (max-width: 768px)
{
    .u-list__circle > li
    {
        padding-left: 15px;
    }
}
.u-list__circle > li::before
{
    margin-left: -15px;

    content: '・';
}

.u-link__all
{
    position: relative;

    display: inline-flex;

    align-items: center;
}
.u-link__all::after
{
    width: 32px;
    height: 10px;

    content: '';
    transition: .2s ease;

    background: url(../img/common/all_arrow.svg) no-repeat;
    background-position: 8px 0;
}
.u-link__all:hover::after
{
    background-position: 16px 0;
}
.u-link__back
{
    position: relative;

    display: inline-flex;

    align-items: center;
}
.u-link__back::before
{
    width: 32px;
    height: 10px;

    content: '';
    transition: .2s ease;

    background: url(../img/common/arrow_back.svg) no-repeat;
    background-position: 8px 0;
}
.u-link__back:hover::before
{
    background-position: 0 0;
}
.u-link__ul
{
    padding-bottom: 4px;

    border-bottom: solid 1px rgba(0, 0, 0, .57);
}
.u-link__pn
{
    pointer-events: none;
}

.beer-content
{
    display: flex;

    padding-top: 64px;

    justify-content: space-between;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .beer-content
    {
        display: block;
    }
}

.beer-item
{
    flex-basis: 31%;
}
@media screen and (max-width: 768px)
{
    .beer-item
    {
        padding: 24px 0;

        border-bottom: solid 1px rgba(0, 0, 0, .57);
    }
    .beer-item:first-child
    {
        padding-top: 0;
    }
}

.youtube-box
{
    width: 80%;
    margin: 0 auto;

    aspect-ratio: 16/9;
}
@media screen and (max-width: 768px)
{
    .youtube-box
    {
        width: 100%;
    }
}

.youtube-box iframe
{
    width: 100% !important;
    height: 100% !important;
}

.info-content
{
    margin-top: 48px;
    padding: 80px;

    background: #111;
}
@media screen and (max-width: 768px)
{
    .info-content
    {
        padding: 20px;
    }
}

.info-list
{
    padding: 24px 0;

    border-bottom: solid rgba(0, 0, 0, .34) 1px;
}
@media screen and (max-width: 768px)
{
    .info-list
    {
        padding: 16px 0;
    }
}
.info-list:first-child
{
    padding-top: 0;
}
.info-list:last-child
{
    padding-bottom: 0;

    border-bottom: none;
}
.info-list > dt
{
    font-size: 20px;
    font-weight: 900;
    font-style: normal;
    line-height: normal;

    text-shadow: 0 0 20px #ea5414;
}
@media screen and (max-width: 768px)
{
    .info-list > dt
    {
        font-size: 18px;
    }
}
.info-list > dd
{
    font-size: 16px;

    padding-top: 8px;
}
@media screen and (max-width: 768px)
{
    .info-list > dd
    {
        font-size: 14px;
    }
}

.twitter-wrapper
{
    overflow-y: scroll;

    width: 800px;
    height: 700px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .twitter-wrapper
    {
        width: inherit;
        height: 60vh;
    }
}

.header
{
    position: fixed;
    z-index: 2;

    display: block;

    width: 100%;
    height: 122px;
}
.header__inner
{
    display: flex;

    padding: 24px 40px;

    align-items: flex-start;
    justify-content: flex-end;
    gap: 24px;
}
.header__logo
{
    position: absolute;
    top: 22px;
    left: 40px;
}
.header__logo > img:hover
{
    opacity: .7;
}
@media screen and (max-width: 768px)
{
    .header
    {
        height: 64px;
    }
    .header__logo
    {
        top: 3.5046728972vw;
        left: 3.5046728972vw;
    }
    .header__logo img
    {
        width: 20.5607476636vw;
    }
    .header__inner
    {
        padding: 4.2056074766vw 3.5046728972vw;

        gap: 5.6074766355vw;
    }
}

footer
{
    font-weight: bold;

    margin-top: 128px;
    padding: 48px 0;

    text-align: center;

    border-top: solid 1px #222;
}
@media screen and (max-width: 768px)
{
    footer
    {
        margin-top: 22.4299065421vw;
        padding: 11.214953271vw;
    }
}

/* menu */
.menu__lang
{
    display: flex;

    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.menu__lang > a
{
    font-family: Roboto Condensed;
    font-size: 14px;
    font-weight: 700;
    font-style: italic;

    cursor: pointer;
    transition: .2s ease;
    text-decoration: none;

    color: #fff;
}
.menu__lang > a:hover
{
    opacity: .7;
}
.menu__lang > a.active
{
    color: #fff;
}

.menu__trigger,
.menu__trigger span
{
    box-sizing: border-box;

    transition: all .4s;
}

.menu__trigger
{
    position: relative;

    width: 40px;
    height: 40px;

    cursor: pointer;

    border: none;
    background: none;

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none;
}
@media screen and (max-width: 768px)
{
    .menu__trigger
    {
        width: 30px;
        height: 30px;
    }
}

.menu__trigger span
{
    position: absolute;
    left: 4px;

    width: 40px;
    height: 2px;

    border-radius: 2px;
    background-color: rgba(255, 255, 255, .37);
}
@media screen and (max-width: 768px)
{
    .menu__trigger span
    {
        left: 0;

        width: 30px;
        height: 1px;

        border-radius: 2px;
    }
}

.menu__trigger span:nth-of-type(1)
{
    top: 10px;
}
@media screen and (max-width: 768px)
{
    .menu__trigger span:nth-of-type(1)
    {
        top: 1.8691588785vw;
    }
}

.menu__trigger span:nth-of-type(2)
{
    top: 20px;
}
@media screen and (max-width: 768px)
{
    .menu__trigger span:nth-of-type(2)
    {
        top: 4.6728971963vw;
    }
}

.menu__trigger.active span:nth-of-type(1)
{
    transform: translateY(5px) rotate(-45deg);

    background-color: #878787;
}

.menu__trigger.active span:nth-of-type(2)
{
    transform: translateY(-5px) rotate(45deg);

    background-color: #878787;
}

.dr-menu
{
    position: fixed;
    z-index: 1;

    display: none;

    width: 100%;
    height: 100vh;

    background: #fff;

    align-items: center;
}
@media screen and (max-width: 768px)
{
    .dr-menu
    {
        align-items: flex-start;
    }
}
.dr-menu__inner
{
    display: flex;

    width: 736px;
    margin: 0 auto;

    gap: 80px;
}
@media screen and (max-width: 768px)
{
    .dr-menu__inner
    {
        width: 79.4392523364vw;
        padding-top: 37.3831775701vw;

        gap: 7.0093457944vw;
    }
}
.dr-menu__unit01
{
    display: flex;
    flex-direction: column;

    gap: 24px;
}
.dr-menu__unit01 a
{
    font-size: 24px;
    line-height: 1;

    display: block;

    text-decoration: none;

    color: #fff;
}
@media screen and (max-width: 768px)
{
    .dr-menu__unit01 a
    {
        font-size: 3.738317757vw;
    }
}
.dr-menu__unit02
{
    display: flex;
    flex-direction: column;

    gap: 24px;
}
.dr-menu__unit02 a
{
    font-size: 24px;
    line-height: 1;

    display: block;

    text-decoration: none;

    color: #fff;
}
@media screen and (max-width: 768px)
{
    .dr-menu__unit02 a
    {
        font-size: 3.738317757vw;
    }
}
.dr-menu__unit02-02
{
    display: flex;
    display: wrap;

    padding-top: 24px;

    align-items: center;
    gap: 32px;
}
.dr-menu__unit02-02 span
{
    color: rgba(0, 0, 0, .57);
}
@media screen and (max-width: 768px)
{
    .dr-menu__unit02-02
    {
        display: block;
    }
}
.dr-menu__sns-wrapper
{
    display: flex;
    display: wrap;

    align-items: center;
    gap: 32px;
}
@media screen and (max-width: 768px)
{
    .dr-menu__sns-wrapper
    {
        padding-top: 3.738317757vw;

        gap: 3.738317757vw;
    }
    .dr-menu__sns-wrapper img
    {
        width: 5.6074766355vw;
    }
}

@media screen and (max-width: 768px)
{
    .con-1
    {
        height: inherit;
    }
}

.mv
{
    display: flex;

    max-width: 1600px;
    height: 100svh;
    min-height: 640px;
    margin: 0 auto;

    align-items: center;
}
.mv-date
{
    padding: 40px 0;

    -webkit-animation: fadeInUpSmall .5s forwards;

            animation: fadeInUpSmall .5s forwards;
    -webkit-animation-delay: 1.55s;
            animation-delay: 1.55s;

    opacity: 0;
}
@media screen and (max-width: 768px)
{
    .mv-date
    {
        padding: 24px 0;
    }
}
.mv-date img
{
    width: 37.03125vw;
    min-width: 474px;
    max-width: 600px;
    height: auto;
}
@media screen and (max-width: 768px)
{
    .mv-date img
    {
        width: 58.4112149533vw;
        min-width: inherit;
    }
}
@media screen and (max-width: 768px)
{
    .mv
    {
        position: relative;

        min-height: inherit;
    }
}
.mv-title
{
    padding: 0 11.71875vw;

    -webkit-animation: fadeInUpSmall .5s forwards;

            animation: fadeInUpSmall .5s forwards;
    -webkit-animation-delay: 1.5s;
            animation-delay: 1.5s;

    opacity: 0;
}
@media screen and (max-width: 768px)
{
    .mv-title
    {
        padding: 0 5.6074766355vw;
    }
}
.mv-inner
{
    text-align: center;
}

.info
{
    position: relative;

    display: block;
    flex-direction: column;

    height: 100vh;
    padding: 200px 0;

    background: rgba(0, 0, 0, .7);

    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.info__unit01
{
    display: flex;

    margin: 40px 0;
    padding: 24px;

    border-radius: 8px;
    background: #eee;

    flex-wrap: wrap;
    justify-content: space-between;
}
@media screen and (max-width: 768px)
{
    .info__unit01
    {
        display: block;

        padding: 16px;
    }
}
.info__unit01 > .item
{
    font-size: 18px;
    font-weight: bold;

    display: flex;

    flex-wrap: wrap;
    flex-basis: 520px;
}
@media screen and (max-width: 768px)
{
    .info__unit01 > .item
    {
        font-size: 14px;

        display: block;

        padding-top: 16px;
        padding-bottom: 16px;

        border-bottom: solid 1px #333;
    }
    .info__unit01 > .item:first-child
    {
        padding-top: 0;
    }
}
.info__unit01 > .item.all
{
    margin-top: 24px;
    padding-top: 24px;

    border-top: solid 1px #333;

    flex-basis: 100%;
}
@media screen and (max-width: 768px)
{
    .info__unit01 > .item.all
    {
        margin: 0;
        padding-top: 16px;
        padding-bottom: 0;

        border-top: none;
        border-bottom: none;
    }
}
.info__unit01 > .item > dt
{
    flex-basis: 80px;
}
@media screen and (max-width: 768px)
{
    .info__unit01 > .item > dt
    {
        font-size: 12px;
        line-height: 1;
    }
}
.info__unit01 > .item > dd
{
    padding-left: 40px;

    border-left: solid 1px #333;
}
@media screen and (max-width: 768px)
{
    .info__unit01 > .item > dd
    {
        line-height: 1.4;

        padding-top: 8px;
        padding-left: 0;

        letter-spacing: 0;

        border-left: none;
    }
}
.info__unit02
{
    display: flex;

    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .info__unit02
    {
        display: block;
    }
}
.info__unit02 > .item:first-child
{
    flex-basis: 200px;
}
@media screen and (max-width: 768px)
{
    .info__unit02 > .item:first-child
    {
        padding-bottom: 16px;
    }
}
.info__unit02 > .item:nth-child(2)
{
    flex: 1;
}
@media screen and (max-width: 768px)
{
    .info
    {
        display: flex;

        height: auto;
        padding: 11.214953271vw 0 22.4299065421vw;
    }
}
.info-hall
{
    text-align: center;
}
@media screen and (max-width: 768px)
{
    .info-hall
    {
        width: 80%;
    }
}
.info-date
{
    display: flex;

    padding-top: 64px;

    justify-content: center;
    gap: 48px;
}
@media screen and (max-width: 768px)
{
    .info-date
    {
        padding-top: 5.6074766355vw;

        gap: 3.738317757vw;
    }
}
.info-date__item
{
    display: flex;

    flex-basis: 430px;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .info-date__item
    {
        flex-basis: 42.0560747664vw;
    }
}

.ticket-wrapper
{
    display: flex;

    flex-wrap: wrap;
    justify-content: space-between;
}
@media screen and (max-width: 768px)
{
    .ticket-wrapper
    {
        justify-content: center;
        gap: 5.6074766355vw;
    }
}
.ticket-item
{
    flex-basis: 540px;
}
@media screen and (max-width: 768px)
{
    .ticket-item
    {
        flex-basis: 100%;
    }
}
.ticket-price
{
    font-size: 48px;
    font-weight: 900;
    font-style: normal;
    line-height: normal;

    display: flex;

    padding-top: 48px;
    padding-bottom: 24px;

    text-align: center;

    border-bottom: solid 1px #353535;

    align-items: center;
    justify-content: center;
    gap: 16px;
}
.ticket-price > span
{
    font-size: 24px;
}
@media screen and (max-width: 768px)
{
    .ticket-price > span
    {
        font-size: 14px;
    }
}
@media screen and (max-width: 768px)
{
    .ticket-price
    {
        font-size: 5.6074766355vw;

        padding-top: 1.8691588785vw;
        padding-bottom: 1.8691588785vw;
    }
}
.ticket-price::after
{
    font-size: 16px;
    font-weight: bold;

    content: '税込';
}
@media screen and (max-width: 768px)
{
    .ticket-price::after
    {
        font-size: 12px;
    }
}
.ticket-detail
{
    font-weight: bold;

    padding-top: 24px;

    text-align: center;
}
.ticket-detail.sub-txt
{
    font-size: 12px;
    font-weight: normal;

    text-align: left;
}
.ticket-detail.sub-txt p
{
    display: block;
}
@media screen and (max-width: 768px)
{
    .ticket-detail
    {
        line-height: 1.4;

        padding-top: 1.8691588785vw;

        text-align: center;
    }
}

.lineup-wrapper
{
    display: flex;

    flex-wrap: wrap;
    gap: 32px;
    justify-content: space-between;
}
.lineup-wrapper .logo
{
    display: flex;

    height: 120px;

    align-items: center;
    justify-content: center;
}
.lineup-wrapper .logo > img
{
    height: 80px;
}
.lineup-wrapper .day
{
    font-size: 14px;
    font-weight: bold;
    line-height: 1;

    position: absolute;
    top: -12px;
    right: 0;
    left: 0;

    display: inline-flex;

    width: 186px;
    height: 24px;
    margin: auto;
    padding: 0 16px;

    color: #000;
    border-radius: 24px;
    background: #ea5414;

    justify-content: center;
    align-items: center;
}
.lineup-wrapper .day-wrapper
{
    position: relative;
}
.lineup-wrapper > .item
{
    padding-bottom: 40px;

    transition: .3s ease;

    border-bottom: solid 1px #666;

    flex-basis: 544px;
}
.lineup-wrapper > .item:hover
{
    opacity: .7 !important;
}
.lineup-wrapper > .item .name
{
    font-size: 16px;
    font-weight: bold;

    position: relative;

    text-align: center;
}
.lineup__pn
{
    pointer-events: none !important;
}

.header
{
    display: block;
}
.header-wrapper
{
    position: fixed;
    z-index: 2;

    display: flex;

    width: 100%;
    height: 80px;
    padding: 0 40px;

    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
}
.header-logo
{
    position: absolute;
    top: 10px;
    left: 40px;

    width: 137px;
    height: 80px;
}
@media screen and (max-width: 768px)
{
    .header-logo
    {
        left: 4.6728971963vw;

        width: 23.3644859813vw;
        height: auto;
    }
}
.header .sns
{
    display: flex;

    gap: 24px;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .header .sns
    {
        display: none;
    }
}

.gnav
{
    display: flex;

    padding: 24px 40px;

    flex-wrap: wrap;
    gap: 24px;
    justify-content: end;
}
@media screen and (max-width: 768px)
{
    .gnav
    {
        display: none;
    }
}
.gnav > a
{
    font-size: 14px;
    font-weight: bold;

    display: inline-flex;

    align-items: center;
}

.hamburger
{
    position: fixed;
    z-index: 300;
    top: 10px;
    right: 10px;

    display: none;

    width: 40px;
    height: 40px;

    cursor: pointer;
}
@media screen and (max-width: 768px)
{
    .hamburger
    {
        display: block;
    }
}

.hamburger__line
{
    position: absolute;
    left: 11px;

    width: 18px;
    height: 1px;

    transition: all .1s;

    background-color: #333;
}

.hamburger__line--1
{
    top: 14px;
}

.hamburger__line--2
{
    top: 24px;
}

.on .hamburger__line--1
{
    top: 20px;

    transform: rotate(45deg);
}

.on .hamburger__line--2
{
    top: 20px;

    transform: rotate(-45deg);
}

.drawer-menu
{
    position: fixed;
    z-index: 3;

    width: 100%;
    height: 100dvh;
    padding: 23.3644859813vw 5.6074766355vw 0;

    text-align: center;

    background: #fff;
}
.drawer-menu > .gnav-dr
{
    font-size: 40px;
    font-weight: bold;

    display: flex;
    flex-direction: column;

    height: calc(100svh - 200px);

    gap: 32px;
    justify-content: center;
}
.drawer-menu > .sns-dr
{
    display: flex;

    padding-top: 48px;

    gap: 32px;
    justify-content: center;
}

.pulsate
{
    -webkit-animation: pulsate 2s infinite alternate;
            animation: pulsate 2s infinite alternate;
}

@-webkit-keyframes pulsate
{
    100%
    {
        filter: drop-shadow(0 0 40px rgba(24, 67, 255, .8)) drop-shadow(0 0 80px rgba(24, 67, 255, .8));
    }
    0%
    {
        filter: drop-shadow(0 0 4px rgba(24, 67, 255, .2)) drop-shadow(0 0 20px rgba(24, 67, 255, .2));
    }
}

@keyframes pulsate
{
    100%
    {
        filter: drop-shadow(0 0 40px rgba(24, 67, 255, .8)) drop-shadow(0 0 80px rgba(24, 67, 255, .8));
    }
    0%
    {
        filter: drop-shadow(0 0 4px rgba(24, 67, 255, .2)) drop-shadow(0 0 20px rgba(24, 67, 255, .2));
    }
}
#loading
{
    position: fixed;
    z-index: 9999;
    top: 0;

    width: 100%;
    height: 100vh;

    transition: all 1s;

    background-color: #fff;
}

.spinner
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 40px;
    height: 40px;
    margin: auto;
}

.loaded
{
    visibility: hidden;

    opacity: 0;
}

.double-bounce1,
.double-bounce2
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-animation: sk-bounce 2s infinite ease-in-out;
            animation: sk-bounce 2s infinite ease-in-out;

    opacity: .6;
    border-radius: 50%;
    background-color: #ea5414;
}

.double-bounce2
{
    -webkit-animation-delay: -1s;
            animation-delay: -1s;
}

@-webkit-keyframes sk-bounce
{
    0%,
    100%
    {
        -webkit-transform: scale(0);
    }
    50%
    {
        -webkit-transform: scale(1);
    }
}
@keyframes sk-bounce
{
    0%,
    100%
    {
        transform: scale(0);
    }
    50%
    {
        transform: scale(1);
    }
}
.fade
{
    -webkit-animation: fade;
            animation: fade;
    -webkit-animation-duration: 2s;
            animation-duration: 2s;

    opacity: 0;
}

.fadeInUp
{
    -webkit-animation: fade-in-up forwards;
            animation: fade-in-up forwards;
    -webkit-animation-duration: 1000ms;
            animation-duration: 1000ms;

    opacity: 0;
}

.fadeInLeft
{
    -webkit-animation: fade-in-left forwards;
            animation: fade-in-left forwards;
    -webkit-animation-duration: 1000ms;
            animation-duration: 1000ms;

    opacity: 0;
}

.delay-time
{
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
}

.delay-time__xs
{
    -webkit-animation-delay: 250ms;
            animation-delay: 250ms;
}
@media screen and (max-width: 768px)
{
    .delay-time__xs
    {
        -webkit-animation-delay: 0ms;
                animation-delay: 0ms;
    }
}

.delay-time__s
{
    -webkit-animation-delay: 500ms;
            animation-delay: 500ms;
}
@media screen and (max-width: 768px)
{
    .delay-time__s
    {
        -webkit-animation-delay: 0ms;
                animation-delay: 0ms;
    }
}

.delay-time__sm
{
    -webkit-animation-delay: 750ms;
            animation-delay: 750ms;
}
@media screen and (max-width: 768px)
{
    .delay-time__sm
    {
        -webkit-animation-delay: 0ms;
                animation-delay: 0ms;
    }
}

.animate__fadeInUpSmall
{
    -webkit-animation-name: fadeInUpSmall;
            animation-name: fadeInUpSmall;
}

.animate__fadeInLeftSmall
{
    -webkit-animation-name: fadeInLeftSmall;
            animation-name: fadeInLeftSmall;
}

@-webkit-keyframes fadeInUpSmall
{
    from
    {
        transform: translate3d(0, 20px, 0);

        opacity: 0;
    }
    to
    {
        transform: translate3d(0, 0, 0);

        opacity: 1;
    }
}
@keyframes fadeInUpSmall
{
    from
    {
        transform: translate3d(0, 20px, 0);

        opacity: 0;
    }
    to
    {
        transform: translate3d(0, 0, 0);

        opacity: 1;
    }
}
@-webkit-keyframes fadeInLeftSmall
{
    from
    {
        transform: translate3d(-20px, 0, 0);

        opacity: 0;
    }
    to
    {
        transform: translate3d(0, 0, 0);

        opacity: 1;
    }
}
@keyframes fadeInLeftSmall
{
    from
    {
        transform: translate3d(-20px, 0, 0);

        opacity: 0;
    }
    to
    {
        transform: translate3d(0, 0, 0);

        opacity: 1;
    }
}
.ticket-detail__wrapper
{
    width: 736px;
    margin: 0 auto;
    padding: 24px;

    border-radius: 8px;
    background: #333;
}
.ticket-detail__wrapper > dl
{
    display: flex;

    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .ticket-detail__wrapper > dl
    {
        display: block;

        padding-bottom: 16px;
    }
}
.ticket-detail__wrapper > dl > dt
{
    font-weight: bold;

    flex-basis: 100px;
}
@media screen and (max-width: 768px)
{
    .ticket-detail__wrapper > dl > dt
    {
        font-size: 12px;
    }
}
.ticket-detail__wrapper > dl > dd
{
    flex: 1;
}
@media screen and (max-width: 768px)
{
    .ticket-detail__wrapper
    {
        width: 100%;
    }
}

.presale-wrapper
{
    overflow-y: auto;

    height: 800px;
    margin-top: 48px;
}
@media screen and (max-width: 768px)
{
    .presale-wrapper
    {
        height: 80svh;
    }
}

.comment-wrapper
{
    display: flex;

    width: 900px;
    margin: 0 auto;

    flex-wrap: wrap;
    gap: 18px;
}
@media screen and (max-width: 768px)
{
    .comment-wrapper
    {
        overflow-x: auto;
        overflow-y: hidden;

        width: 100%;
        margin: 0;

        flex-wrap: nowrap;
        gap: 16px;
    }
}
.comment-wrapper .item
{
    width: 288px;
}
.comment-wrapper .item > .movie
{
    width: 100%;

    aspect-ratio: 16/9;
}
.comment-wrapper .item iframe
{
    width: 100%;
    height: 100%;

    border-radius: 16px;
}
.comment-wrapper .item:first-child
{
    width: 100%;
}
.comment-wrapper .item.under
{
    width: 288px !important;
}
@media screen and (max-width: 768px)
{
    .comment-wrapper .item
    {
        width: 90%;
        min-width: 90%;
    }
}

.ban
{
    display: flex;

    align-items: stretch;
    justify-content: space-between;
}
@media screen and (max-width: 768px)
{
    .ban
    {
        display: block;
    }
}
.ban > span
{
    display: block;

    width: 1px;

    background-color: #ddd;
}
@media screen and (max-width: 768px)
{
    .ban > span
    {
        display: none;
    }
}
.ban > a
{
    display: flex;

    width: calc(50% - 1px);

    align-items: center;
    justify-content: center;
}
.ban > a > img
{
    width: 300px;
    height: auto;
}
@media screen and (max-width: 768px)
{
    .ban > a
    {
        display: block;

        width: 100%;
        padding: 40px;

        text-align: center;

        border-bottom: solid 1px #ddd;
    }
    .ban > a:last-child
    {
        padding-bottom: 0;

        border-bottom: none;
    }
    .ban > a > img
    {
        width: 70.0934579439vw;
    }
}

.guideline
{
    overflow-y: hidden;

    height: 600px;

    transition: .3s ease;
}
@media screen and (max-width: 768px)
{
    .guideline
    {
        height: 400px;
    }
}
.guideline.on
{
    overflow-y: inherit;

    height: auto;
}
.guideline__wrapper
{
    position: relative;

    border: solid 16px #eee;
    border-radius: 8px;
}
@media screen and (max-width: 768px)
{
    .guideline__wrapper
    {
        border: solid 1px #ddd;
    }
}
.guideline__wrapper > .add-btn__more
{
    font-size: 14px;

    position: absolute;
    bottom: -30px;
    left: 50%;

    display: flex;

    width: 120px;
    height: 48px;
    margin: 0 auto;
    margin-left: -60px;

    transition: .3s ease;

    color: #ea5414;
    border: solid 2px #ea5414;
    border-radius: 24px;
    background: #fff;

    align-items: center;
    justify-content: center;
}
.guideline__wrapper > .add-btn__more.on
{
    display: none;
}
