@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('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;600;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: 'Jost', 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;

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

    letter-spacing: .06em;

    color: rgba(0, 0, 0, .84);

       -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: 3.2710280374vw;

        min-width: 320px;
    }
}

header
{
    position: relative;
}

*
{
    box-sizing: border-box;

    word-break: normal;

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

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

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, .84);
}
a.ul:link
{
    color: rgba(0, 0, 0, .84);
}

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, .84);
}

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

a
{
    text-decoration: none;
}

.footer-slider__logo
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

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

    opacity: .7;
}

/* text color utility */
.u-col__line
{
    color: rgba(0, 0, 0, .15);
}
.u-col__u01
{
    color: #64bf83;
}
.u-col__u02
{
    color: #5193d7;
}
.u-col__u03
{
    color: #a459a6;
}
.u-col__u04
{
    color: #e1a325;
}
.u-col__u05
{
    color: #00b4ae;
}
.u-col__sub2
{
    color: rgba(0, 0, 0, .34);
}
.u-col__sub
{
    color: rgba(0, 0, 0, .68);
}
.u-col__def
{
    color: rgba(0, 0, 0, .84);
}
.u-col__bg
{
    color: #efefef;
}
.u-col__bg2
{
    color: #f0f0f0;
}
.u-col__wh
{
    color: #fff;
}
.u-col__key
{
    color: #fffc30;
}
.u-col__cta
{
    color: #ff6058;
}

/* =========================================
  Spacing scale tokens (案件ごとにここだけ調整)
  0 = 4px（例外） / 1..16 = 8px刻み（最大128px）
========================================= */
:root
{
    --sp-0: 4px;
    --sp-1: 8px;
    --sp-2: 16px;
    --sp-3: 24px;
    --sp-4: 32px;
    --sp-5: 40px;
    --sp-6: 48px;
    --sp-7: 56px;
    --sp-8: 64px;
    --sp-9: 72px;
    --sp-10: 80px;
    --sp-11: 88px;
    --sp-12: 96px;
    --sp-13: 104px;
    --sp-14: 112px;
    --sp-15: 120px;
    --sp-16: 128px;
}

/* SP側：8の倍数に揃えてvw化（0だけ4の例外） */
@media screen and (max-width: 768px)
{
    :root
    {
        --sp-0: .9346vw;
        /* 4 */
        --sp-1: 1.8692vw;
        /* 8 */
        --sp-2: 3.7383vw;
        /* 16 */
        --sp-3: 5.6075vw;
        /* 24 */
        --sp-4: 7.4766vw;
        /* 32 */
        --sp-5: 9.3458vw;
        /* 40 */
        --sp-6: 11.2150vw;
        /* 48 */
        --sp-7: 13.0841vw;
        /* 56 */
        --sp-8: 14.9533vw;
        /* 64 */
        --sp-9: 16.8224vw;
        /* 72 */
        --sp-10: 18.6916vw;
        /* 80 */
        --sp-11: 20.5607vw;
        /* 88 */
        --sp-12: 22.4299vw;
        /* 96 */
        --sp-13: 24.2991vw;
        /* 104 */
        --sp-14: 26.1682vw;
        /* 112 */
        --sp-15: 28.0374vw;
        /* 120 */
        --sp-16: 29.9065vw;
        /* 128 */
    }
}
/* =========================================
  Utilities
  u-p*: padding / u-m*: margin
  __0..__16 : scale number
========================================= */
/* padding */
.u-pt__0
{
    padding-top: var(--sp-0);
}

.u-pb__0
{
    padding-bottom: var(--sp-0);
}

.u-pl__0
{
    padding-left: var(--sp-0);
}

.u-pr__0
{
    padding-right: var(--sp-0);
}

.u-px__0
{
    padding-right: var(--sp-0);
    padding-left: var(--sp-0);
}

.u-py__0
{
    padding-top: var(--sp-0);
    padding-bottom: var(--sp-0);
}

/* margin */
.u-mt__0
{
    margin-top: var(--sp-0);
}

.u-mb__0
{
    margin-bottom: var(--sp-0);
}

.u-ml__0
{
    margin-left: var(--sp-0);
}

.u-mr__0
{
    margin-right: var(--sp-0);
}

.u-mx__0
{
    margin-right: var(--sp-0);
    margin-left: var(--sp-0);
}

.u-my__0
{
    margin-top: var(--sp-0);
    margin-bottom: var(--sp-0);
}

/* padding */
.u-pt__1
{
    padding-top: var(--sp-1);
}

.u-pb__1
{
    padding-bottom: var(--sp-1);
}

.u-pl__1
{
    padding-left: var(--sp-1);
}

.u-pr__1
{
    padding-right: var(--sp-1);
}

.u-px__1
{
    padding-right: var(--sp-1);
    padding-left: var(--sp-1);
}

.u-py__1
{
    padding-top: var(--sp-1);
    padding-bottom: var(--sp-1);
}

/* margin */
.u-mt__1
{
    margin-top: var(--sp-1);
}

.u-mb__1
{
    margin-bottom: var(--sp-1);
}

.u-ml__1
{
    margin-left: var(--sp-1);
}

.u-mr__1
{
    margin-right: var(--sp-1);
}

.u-mx__1
{
    margin-right: var(--sp-1);
    margin-left: var(--sp-1);
}

.u-my__1
{
    margin-top: var(--sp-1);
    margin-bottom: var(--sp-1);
}

/* padding */
.u-pt__2
{
    padding-top: var(--sp-2);
}

.u-pb__2
{
    padding-bottom: var(--sp-2);
}

.u-pl__2
{
    padding-left: var(--sp-2);
}

.u-pr__2
{
    padding-right: var(--sp-2);
}

.u-px__2
{
    padding-right: var(--sp-2);
    padding-left: var(--sp-2);
}

.u-py__2
{
    padding-top: var(--sp-2);
    padding-bottom: var(--sp-2);
}

/* margin */
.u-mt__2
{
    margin-top: var(--sp-2);
}

.u-mb__2
{
    margin-bottom: var(--sp-2);
}

.u-ml__2
{
    margin-left: var(--sp-2);
}

.u-mr__2
{
    margin-right: var(--sp-2);
}

.u-mx__2
{
    margin-right: var(--sp-2);
    margin-left: var(--sp-2);
}

.u-my__2
{
    margin-top: var(--sp-2);
    margin-bottom: var(--sp-2);
}

/* padding */
.u-pt__3
{
    padding-top: var(--sp-3);
}

.u-pb__3
{
    padding-bottom: var(--sp-3);
}

.u-pl__3
{
    padding-left: var(--sp-3);
}

.u-pr__3
{
    padding-right: var(--sp-3);
}

.u-px__3
{
    padding-right: var(--sp-3);
    padding-left: var(--sp-3);
}

.u-py__3
{
    padding-top: var(--sp-3);
    padding-bottom: var(--sp-3);
}

/* margin */
.u-mt__3
{
    margin-top: var(--sp-3);
}

.u-mb__3
{
    margin-bottom: var(--sp-3);
}

.u-ml__3
{
    margin-left: var(--sp-3);
}

.u-mr__3
{
    margin-right: var(--sp-3);
}

.u-mx__3
{
    margin-right: var(--sp-3);
    margin-left: var(--sp-3);
}

.u-my__3
{
    margin-top: var(--sp-3);
    margin-bottom: var(--sp-3);
}

/* padding */
.u-pt__4
{
    padding-top: var(--sp-4);
}

.u-pb__4
{
    padding-bottom: var(--sp-4);
}

.u-pl__4
{
    padding-left: var(--sp-4);
}

.u-pr__4
{
    padding-right: var(--sp-4);
}

.u-px__4
{
    padding-right: var(--sp-4);
    padding-left: var(--sp-4);
}

.u-py__4
{
    padding-top: var(--sp-4);
    padding-bottom: var(--sp-4);
}

/* margin */
.u-mt__4
{
    margin-top: var(--sp-4);
}

.u-mb__4
{
    margin-bottom: var(--sp-4);
}

.u-ml__4
{
    margin-left: var(--sp-4);
}

.u-mr__4
{
    margin-right: var(--sp-4);
}

.u-mx__4
{
    margin-right: var(--sp-4);
    margin-left: var(--sp-4);
}

.u-my__4
{
    margin-top: var(--sp-4);
    margin-bottom: var(--sp-4);
}

/* padding */
.u-pt__5
{
    padding-top: var(--sp-5);
}

.u-pb__5
{
    padding-bottom: var(--sp-5);
}

.u-pl__5
{
    padding-left: var(--sp-5);
}

.u-pr__5
{
    padding-right: var(--sp-5);
}

.u-px__5
{
    padding-right: var(--sp-5);
    padding-left: var(--sp-5);
}

.u-py__5
{
    padding-top: var(--sp-5);
    padding-bottom: var(--sp-5);
}

/* margin */
.u-mt__5
{
    margin-top: var(--sp-5);
}

.u-mb__5
{
    margin-bottom: var(--sp-5);
}

.u-ml__5
{
    margin-left: var(--sp-5);
}

.u-mr__5
{
    margin-right: var(--sp-5);
}

.u-mx__5
{
    margin-right: var(--sp-5);
    margin-left: var(--sp-5);
}

.u-my__5
{
    margin-top: var(--sp-5);
    margin-bottom: var(--sp-5);
}

/* padding */
.u-pt__6
{
    padding-top: var(--sp-6);
}

.u-pb__6
{
    padding-bottom: var(--sp-6);
}

.u-pl__6
{
    padding-left: var(--sp-6);
}

.u-pr__6
{
    padding-right: var(--sp-6);
}

.u-px__6
{
    padding-right: var(--sp-6);
    padding-left: var(--sp-6);
}

.u-py__6
{
    padding-top: var(--sp-6);
    padding-bottom: var(--sp-6);
}

/* margin */
.u-mt__6
{
    margin-top: var(--sp-6);
}

.u-mb__6
{
    margin-bottom: var(--sp-6);
}

.u-ml__6
{
    margin-left: var(--sp-6);
}

.u-mr__6
{
    margin-right: var(--sp-6);
}

.u-mx__6
{
    margin-right: var(--sp-6);
    margin-left: var(--sp-6);
}

.u-my__6
{
    margin-top: var(--sp-6);
    margin-bottom: var(--sp-6);
}

/* padding */
.u-pt__7
{
    padding-top: var(--sp-7);
}

.u-pb__7
{
    padding-bottom: var(--sp-7);
}

.u-pl__7
{
    padding-left: var(--sp-7);
}

.u-pr__7
{
    padding-right: var(--sp-7);
}

.u-px__7
{
    padding-right: var(--sp-7);
    padding-left: var(--sp-7);
}

.u-py__7
{
    padding-top: var(--sp-7);
    padding-bottom: var(--sp-7);
}

/* margin */
.u-mt__7
{
    margin-top: var(--sp-7);
}

.u-mb__7
{
    margin-bottom: var(--sp-7);
}

.u-ml__7
{
    margin-left: var(--sp-7);
}

.u-mr__7
{
    margin-right: var(--sp-7);
}

.u-mx__7
{
    margin-right: var(--sp-7);
    margin-left: var(--sp-7);
}

.u-my__7
{
    margin-top: var(--sp-7);
    margin-bottom: var(--sp-7);
}

/* padding */
.u-pt__8
{
    padding-top: var(--sp-8);
}

.u-pb__8
{
    padding-bottom: var(--sp-8);
}

.u-pl__8
{
    padding-left: var(--sp-8);
}

.u-pr__8
{
    padding-right: var(--sp-8);
}

.u-px__8
{
    padding-right: var(--sp-8);
    padding-left: var(--sp-8);
}

.u-py__8
{
    padding-top: var(--sp-8);
    padding-bottom: var(--sp-8);
}

/* margin */
.u-mt__8
{
    margin-top: var(--sp-8);
}

.u-mb__8
{
    margin-bottom: var(--sp-8);
}

.u-ml__8
{
    margin-left: var(--sp-8);
}

.u-mr__8
{
    margin-right: var(--sp-8);
}

.u-mx__8
{
    margin-right: var(--sp-8);
    margin-left: var(--sp-8);
}

.u-my__8
{
    margin-top: var(--sp-8);
    margin-bottom: var(--sp-8);
}

/* padding */
.u-pt__9
{
    padding-top: var(--sp-9);
}

.u-pb__9
{
    padding-bottom: var(--sp-9);
}

.u-pl__9
{
    padding-left: var(--sp-9);
}

.u-pr__9
{
    padding-right: var(--sp-9);
}

.u-px__9
{
    padding-right: var(--sp-9);
    padding-left: var(--sp-9);
}

.u-py__9
{
    padding-top: var(--sp-9);
    padding-bottom: var(--sp-9);
}

/* margin */
.u-mt__9
{
    margin-top: var(--sp-9);
}

.u-mb__9
{
    margin-bottom: var(--sp-9);
}

.u-ml__9
{
    margin-left: var(--sp-9);
}

.u-mr__9
{
    margin-right: var(--sp-9);
}

.u-mx__9
{
    margin-right: var(--sp-9);
    margin-left: var(--sp-9);
}

.u-my__9
{
    margin-top: var(--sp-9);
    margin-bottom: var(--sp-9);
}

/* padding */
.u-pt__10
{
    padding-top: var(--sp-10);
}

.u-pb__10
{
    padding-bottom: var(--sp-10);
}

.u-pl__10
{
    padding-left: var(--sp-10);
}

.u-pr__10
{
    padding-right: var(--sp-10);
}

.u-px__10
{
    padding-right: var(--sp-10);
    padding-left: var(--sp-10);
}

.u-py__10
{
    padding-top: var(--sp-10);
    padding-bottom: var(--sp-10);
}

/* margin */
.u-mt__10
{
    margin-top: var(--sp-10);
}

.u-mb__10
{
    margin-bottom: var(--sp-10);
}

.u-ml__10
{
    margin-left: var(--sp-10);
}

.u-mr__10
{
    margin-right: var(--sp-10);
}

.u-mx__10
{
    margin-right: var(--sp-10);
    margin-left: var(--sp-10);
}

.u-my__10
{
    margin-top: var(--sp-10);
    margin-bottom: var(--sp-10);
}

/* padding */
.u-pt__11
{
    padding-top: var(--sp-11);
}

.u-pb__11
{
    padding-bottom: var(--sp-11);
}

.u-pl__11
{
    padding-left: var(--sp-11);
}

.u-pr__11
{
    padding-right: var(--sp-11);
}

.u-px__11
{
    padding-right: var(--sp-11);
    padding-left: var(--sp-11);
}

.u-py__11
{
    padding-top: var(--sp-11);
    padding-bottom: var(--sp-11);
}

/* margin */
.u-mt__11
{
    margin-top: var(--sp-11);
}

.u-mb__11
{
    margin-bottom: var(--sp-11);
}

.u-ml__11
{
    margin-left: var(--sp-11);
}

.u-mr__11
{
    margin-right: var(--sp-11);
}

.u-mx__11
{
    margin-right: var(--sp-11);
    margin-left: var(--sp-11);
}

.u-my__11
{
    margin-top: var(--sp-11);
    margin-bottom: var(--sp-11);
}

/* padding */
.u-pt__12
{
    padding-top: var(--sp-12);
}

.u-pb__12
{
    padding-bottom: var(--sp-12);
}

.u-pl__12
{
    padding-left: var(--sp-12);
}

.u-pr__12
{
    padding-right: var(--sp-12);
}

.u-px__12
{
    padding-right: var(--sp-12);
    padding-left: var(--sp-12);
}

.u-py__12
{
    padding-top: var(--sp-12);
    padding-bottom: var(--sp-12);
}

/* margin */
.u-mt__12
{
    margin-top: var(--sp-12);
}

.u-mb__12
{
    margin-bottom: var(--sp-12);
}

.u-ml__12
{
    margin-left: var(--sp-12);
}

.u-mr__12
{
    margin-right: var(--sp-12);
}

.u-mx__12
{
    margin-right: var(--sp-12);
    margin-left: var(--sp-12);
}

.u-my__12
{
    margin-top: var(--sp-12);
    margin-bottom: var(--sp-12);
}

/* padding */
.u-pt__13
{
    padding-top: var(--sp-13);
}

.u-pb__13
{
    padding-bottom: var(--sp-13);
}

.u-pl__13
{
    padding-left: var(--sp-13);
}

.u-pr__13
{
    padding-right: var(--sp-13);
}

.u-px__13
{
    padding-right: var(--sp-13);
    padding-left: var(--sp-13);
}

.u-py__13
{
    padding-top: var(--sp-13);
    padding-bottom: var(--sp-13);
}

/* margin */
.u-mt__13
{
    margin-top: var(--sp-13);
}

.u-mb__13
{
    margin-bottom: var(--sp-13);
}

.u-ml__13
{
    margin-left: var(--sp-13);
}

.u-mr__13
{
    margin-right: var(--sp-13);
}

.u-mx__13
{
    margin-right: var(--sp-13);
    margin-left: var(--sp-13);
}

.u-my__13
{
    margin-top: var(--sp-13);
    margin-bottom: var(--sp-13);
}

/* padding */
.u-pt__14
{
    padding-top: var(--sp-14);
}

.u-pb__14
{
    padding-bottom: var(--sp-14);
}

.u-pl__14
{
    padding-left: var(--sp-14);
}

.u-pr__14
{
    padding-right: var(--sp-14);
}

.u-px__14
{
    padding-right: var(--sp-14);
    padding-left: var(--sp-14);
}

.u-py__14
{
    padding-top: var(--sp-14);
    padding-bottom: var(--sp-14);
}

/* margin */
.u-mt__14
{
    margin-top: var(--sp-14);
}

.u-mb__14
{
    margin-bottom: var(--sp-14);
}

.u-ml__14
{
    margin-left: var(--sp-14);
}

.u-mr__14
{
    margin-right: var(--sp-14);
}

.u-mx__14
{
    margin-right: var(--sp-14);
    margin-left: var(--sp-14);
}

.u-my__14
{
    margin-top: var(--sp-14);
    margin-bottom: var(--sp-14);
}

/* padding */
.u-pt__15
{
    padding-top: var(--sp-15);
}

.u-pb__15
{
    padding-bottom: var(--sp-15);
}

.u-pl__15
{
    padding-left: var(--sp-15);
}

.u-pr__15
{
    padding-right: var(--sp-15);
}

.u-px__15
{
    padding-right: var(--sp-15);
    padding-left: var(--sp-15);
}

.u-py__15
{
    padding-top: var(--sp-15);
    padding-bottom: var(--sp-15);
}

/* margin */
.u-mt__15
{
    margin-top: var(--sp-15);
}

.u-mb__15
{
    margin-bottom: var(--sp-15);
}

.u-ml__15
{
    margin-left: var(--sp-15);
}

.u-mr__15
{
    margin-right: var(--sp-15);
}

.u-mx__15
{
    margin-right: var(--sp-15);
    margin-left: var(--sp-15);
}

.u-my__15
{
    margin-top: var(--sp-15);
    margin-bottom: var(--sp-15);
}

/* padding */
.u-pt__16
{
    padding-top: var(--sp-16);
}

.u-pb__16
{
    padding-bottom: var(--sp-16);
}

.u-pl__16
{
    padding-left: var(--sp-16);
}

.u-pr__16
{
    padding-right: var(--sp-16);
}

.u-px__16
{
    padding-right: var(--sp-16);
    padding-left: var(--sp-16);
}

.u-py__16
{
    padding-top: var(--sp-16);
    padding-bottom: var(--sp-16);
}

/* margin */
.u-mt__16
{
    margin-top: var(--sp-16);
}

.u-mb__16
{
    margin-bottom: var(--sp-16);
}

.u-ml__16
{
    margin-left: var(--sp-16);
}

.u-mr__16
{
    margin-right: var(--sp-16);
}

.u-mx__16
{
    margin-right: var(--sp-16);
    margin-left: var(--sp-16);
}

.u-my__16
{
    margin-top: var(--sp-16);
    margin-bottom: var(--sp-16);
}

/* gap utilities */
.u-gap__0
{
    gap: var(--sp-0);
}

.u-gx__0
{
    -moz-column-gap: var(--sp-0);
         column-gap: var(--sp-0);
}

.u-gy__0
{
    row-gap: var(--sp-0);
}

.u-gap__1
{
    gap: var(--sp-1);
}

.u-gx__1
{
    -moz-column-gap: var(--sp-1);
         column-gap: var(--sp-1);
}

.u-gy__1
{
    row-gap: var(--sp-1);
}

.u-gap__2
{
    gap: var(--sp-2);
}

.u-gx__2
{
    -moz-column-gap: var(--sp-2);
         column-gap: var(--sp-2);
}

.u-gy__2
{
    row-gap: var(--sp-2);
}

.u-gap__3
{
    gap: var(--sp-3);
}

.u-gx__3
{
    -moz-column-gap: var(--sp-3);
         column-gap: var(--sp-3);
}

.u-gy__3
{
    row-gap: var(--sp-3);
}

.u-gap__4
{
    gap: var(--sp-4);
}

.u-gx__4
{
    -moz-column-gap: var(--sp-4);
         column-gap: var(--sp-4);
}

.u-gy__4
{
    row-gap: var(--sp-4);
}

.u-gap__5
{
    gap: var(--sp-5);
}

.u-gx__5
{
    -moz-column-gap: var(--sp-5);
         column-gap: var(--sp-5);
}

.u-gy__5
{
    row-gap: var(--sp-5);
}

.u-gap__6
{
    gap: var(--sp-6);
}

.u-gx__6
{
    -moz-column-gap: var(--sp-6);
         column-gap: var(--sp-6);
}

.u-gy__6
{
    row-gap: var(--sp-6);
}

.u-gap__7
{
    gap: var(--sp-7);
}

.u-gx__7
{
    -moz-column-gap: var(--sp-7);
         column-gap: var(--sp-7);
}

.u-gy__7
{
    row-gap: var(--sp-7);
}

.u-gap__8
{
    gap: var(--sp-8);
}

.u-gx__8
{
    -moz-column-gap: var(--sp-8);
         column-gap: var(--sp-8);
}

.u-gy__8
{
    row-gap: var(--sp-8);
}

.u-gap__9
{
    gap: var(--sp-9);
}

.u-gx__9
{
    -moz-column-gap: var(--sp-9);
         column-gap: var(--sp-9);
}

.u-gy__9
{
    row-gap: var(--sp-9);
}

.u-gap__10
{
    gap: var(--sp-10);
}

.u-gx__10
{
    -moz-column-gap: var(--sp-10);
         column-gap: var(--sp-10);
}

.u-gy__10
{
    row-gap: var(--sp-10);
}

.u-gap__11
{
    gap: var(--sp-11);
}

.u-gx__11
{
    -moz-column-gap: var(--sp-11);
         column-gap: var(--sp-11);
}

.u-gy__11
{
    row-gap: var(--sp-11);
}

.u-gap__12
{
    gap: var(--sp-12);
}

.u-gx__12
{
    -moz-column-gap: var(--sp-12);
         column-gap: var(--sp-12);
}

.u-gy__12
{
    row-gap: var(--sp-12);
}

.u-gap__13
{
    gap: var(--sp-13);
}

.u-gx__13
{
    -moz-column-gap: var(--sp-13);
         column-gap: var(--sp-13);
}

.u-gy__13
{
    row-gap: var(--sp-13);
}

.u-gap__14
{
    gap: var(--sp-14);
}

.u-gx__14
{
    -moz-column-gap: var(--sp-14);
         column-gap: var(--sp-14);
}

.u-gy__14
{
    row-gap: var(--sp-14);
}

.u-gap__15
{
    gap: var(--sp-15);
}

.u-gx__15
{
    -moz-column-gap: var(--sp-15);
         column-gap: var(--sp-15);
}

.u-gy__15
{
    row-gap: var(--sp-15);
}

.u-gap__16
{
    gap: var(--sp-16);
}

.u-gx__16
{
    -moz-column-gap: var(--sp-16);
         column-gap: var(--sp-16);
}

.u-gy__16
{
    row-gap: var(--sp-16);
}

/* =========================================
  Container tokens（案件ごとにここだけ触ればOK）
========================================= */
:root
{
    --container-max: 1140px;
    --container-pad-x: 0;
    --container-pad-y: var(--sp-12);
}

/* SPだけ差分（必要ならここだけ上書き） */
@media screen and (max-width: 768px)
{
    :root
    {
        --container-max: 100%;
        --container-pad-x: 1.8692vw;
        /* 8 */
        --container-pad-y: 14.9533vw;
        /* 64 */
    }
}
/* =========================================
  u-content = コンテナ（箱）だけ
========================================= */
.u-content
{
    position: relative;

    max-width: var(--container-max);
    padding: var(--container-pad-y) var(--container-pad-x);

    margin-inline: auto;
    /* 背景付きの全幅セクション */
}
@media screen and (max-width: 768px)
{
    .u-content
    {
        overflow: hidden;
    }
}
.u-content__full
{
    padding-block: var(--container-pad-y) var(--container-pad-x);
    padding-inline: 0;
}
@media screen and (max-width: 768px)
{
    .u-content__full
    {
        padding: 18.691588785vw 0;
    }
}
.u-content__full.bg
{
    background: #efefef;
}
.u-content__full.bg-sub
{
    background: rgba(0, 0, 0, .68);
}

/* =========================================
  u-row / u-col = 12col(PC) / 4col(SP) レイアウト
========================================= */
/* =========================================================
  Layout Rule（ベース方針）
  ---------------------------------------------------------
  ✅ .u-content ＝「コンテナ（箱）」専用
     - max-width / 左右パディング / 上下余白 など “外枠” だけを担当
     - セクションの基本的な余白・センタリングはここで統一
     - 背景やセクション単位の装飾（full背景など）もここで管理してOK

  ✅ レイアウト（カラム構造）は .u-row + .u-col--* に集約
     - PC：12分割（grid-template-columns: repeat(12, ...)）
     - SP：4分割（grid-template-columns: repeat(4, ...)）
     - 子要素の幅（例：532px）を固定値で持たず、
       「何カラム使うか（span）」で表現する

  ✅ 旧来の “〇〇専用レイアウトクラス” は極力作らない
     - 例：.u-content__2col / .u-content__half 等を増やさない
     - 代わりに .u-row + .u-col--6（半分）などで表現する

  ✅ SPだけ特殊な余白などは「レイアウト」ではなく「ユーティリティ」で付与
     - 例：SPで1個目だけ下余白 → .u-mb__10 等で対応
     - レイアウトクラス側に「:first-child だけ余白」などを入れすぎない

  ▼ 使用例
  <section class="u-content">
    <div class="u-row">
      <div class="u-col--6 u-col--sp4">...</div>
      <div class="u-col--6 u-col--sp4">...</div>
    </div>
  </section>
========================================================= */
.u-row
{
    display: grid;

    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--sp-4);
}
@media screen and (max-width: 768px)
{
    .u-row
    {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--sp-5) var(--sp-2);
    }
}

/* PC: 1..12 */
.u-col--1
{
    min-width: 0;

    grid-column: span 1;
}

.u-col--2
{
    min-width: 0;

    grid-column: span 2;
}

.u-col--3
{
    min-width: 0;

    grid-column: span 3;
}

.u-col--4
{
    min-width: 0;

    grid-column: span 4;
}

.u-col--5
{
    min-width: 0;

    grid-column: span 5;
}

.u-col--6
{
    min-width: 0;

    grid-column: span 6;
}

.u-col--7
{
    min-width: 0;

    grid-column: span 7;
}

.u-col--8
{
    min-width: 0;

    grid-column: span 8;
}

.u-col--9
{
    min-width: 0;

    grid-column: span 9;
}

.u-col--10
{
    min-width: 0;

    grid-column: span 10;
}

.u-col--11
{
    min-width: 0;

    grid-column: span 11;
}

.u-col--12
{
    min-width: 0;

    grid-column: span 12;
}

/* SP: 1..4（SPでのスパン指定用） */
@media screen and (max-width: 768px)
{
    .u-col--sp1
    {
        min-width: 0;

        grid-column: span 1;
    }

    .u-col--sp2
    {
        min-width: 0;

        grid-column: span 2;
    }

    .u-col--sp3
    {
        min-width: 0;

        grid-column: span 3;
    }

    .u-col--sp4
    {
        min-width: 0;

        grid-column: span 4;
    }
}
/* line-height utilities */
:root
{
    --lh-0: 1.4;
    --lh-1: 1.6;
    --lh-2: 1.8;
    --lh-3: 2.0;
    --lh-4: 2.4;
}

.u-lh__0
{
    line-height: var(--lh-0);
}
.u-lh__1
{
    line-height: var(--lh-1);
}
.u-lh__2
{
    line-height: var(--lh-2);
}
.u-lh__3
{
    line-height: var(--lh-3);
}
.u-lh__4
{
    line-height: var(--lh-4);
}

/* font-size utilities (5 steps) */
:root
{
    --fz-0: 12px;
    --fz-1: 14px;
    --fz-2: 16px;
    --fz-3: 20px;
    --fz-4: 24px;
}

/* SPだけ差がある場合は差分だけ上書き */
.u-fz__0
{
    font-size: var(--fz-0);
}
.u-fz__1
{
    font-size: var(--fz-1);
}
.u-fz__2
{
    font-size: var(--fz-2);
}
.u-fz__3
{
    font-size: var(--fz-3);
}
.u-fz__4
{
    font-size: var(--fz-4);
}

:root
{
    --hd-xl: 32px;
    --hd-lg: 24px;
    --hd-md: 20px;
    --hd-sm: 16px;
    --hd-lh: 1.3;
    --hd-fw: 700;
}

/* SPだけ差がある場合は差分だけ上書き */
@media screen and (max-width: 768px)
{
    :root
    {
        --hd-xl: 7.4766vw;
        /* 32 */
        --hd-lg: 5.6075vw;
        /* 24 */
        --hd-md: 4.6729vw;
        /* 20 */
        --hd-sm: 3.7383vw;
        /* 16 */
    }
}
.c-heading
{
    font-weight: var(--hd-fw);
    line-height: var(--hd-lh);
}

.c-heading--xl
{
    font-size: var(--hd-xl);
}

.c-heading--lg
{
    font-size: var(--hd-lg);
}

.c-heading--md
{
    font-size: var(--hd-md);
}

.c-heading--sm
{
    font-size: var(--hd-sm);
}

/* =========================================
  Form Tokens（案件ごとにここだけ触ればOK）
========================================= */
:root
{
    /* sizes */
    --form-fz: 16px;
    --form-fz-label: 14px;
    --form-fz-label-sp: 12px;
    --form-h: 40px;
    --form-h-sp: 48px;
    --form-radius: 4px;
    --form-pad-x: 16px;
    --form-pad-x-sp: 8px;
    --form-pad-y-sp: 8px;
    --form-textarea-h: 200px;
    --form-textarea-pad: 16px;
    --form-textarea-lh: 1.6;
    /* small */
    --form-sm-w: 300px;
    /* xs */
    --form-xs-w: 56px;
    --form-xs-h: 32px;
    --form-xs-pad-x: 8px;
    /* colors */
    --form-bg: #fff;
    --form-border: rgba(0,0,0,.2);
    /* required badge */
    --req-bg: #ff6565;
    --req-col: #fff;
    --req-fz: 12px;
    --req-fz-sp: 10px;
    --req-lh: 18px;
    --req-pad-x: 8px;
    --req-pad-x-sp: 4px;
    --req-mt: 5px;
    --req-mt-sp: 2px;
    --req-radius: 100px;
    /* assets */
    --form-select-arrow: url('../img/common/arrow_u.svg');
    --form-check-icon: url('../img/common/icn_check.svg');
}

/* SP差分（必要ならここで上書き）
@include resSP{
  :root{
    --form-fz: vw(16);
  }
}
*/
/* =========================================
   Mixins
========================================= */
/* =========================================
  Classes
========================================= */
.u-form__wrapper dt
{
    font-size: var(--form-fz-label);
    font-weight: bold;

    display: flex;

    flex-wrap: wrap;
    gap: 8px;
    align-items: flex-start;
}
@media screen and (max-width: 768px)
{
    .u-form__wrapper dt
    {
        font-size: var(--form-fz-label-sp);
    }
}
.u-form__wrapper dt > span.req
{
    font-size: var(--req-fz);
    font-weight: normal;
    line-height: var(--req-lh);

    display: inline-flex;

    margin-top: var(--req-mt);
    padding: 0 var(--req-pad-x);

    color: var(--req-col);
    border-radius: var(--req-radius);
    background: var(--req-bg);

    align-items: center;
}
@media screen and (max-width: 768px)
{
    .u-form__wrapper dt > span.req
    {
        font-size: var(--req-fz-sp);

        margin-top: var(--req-mt-sp);
        padding: 0 var(--req-pad-x-sp);
    }
}
.u-form__select
{
    position: relative;

    display: inline-block;
}
.u-form__select::after
{
    position: absolute;
    top: 20px;
    right: 0;

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

    content: '';

    background: var(--form-select-arrow) no-repeat;
}
@media screen and (max-width: 768px)
{
    .u-form__select::after
    {
        top: 0;
        right: 6px;
        bottom: 0;

        margin: auto;

        background: var(--form-select-arrow) no-repeat center center;
    }
}
.u-form__select select
{
    font-size: var(--form-fz);
    line-height: var(--form-h);

    width: 100%;
    width: auto;
    height: var(--form-h);
    padding: 0 var(--form-pad-x);
    padding: 0 32px 0 var(--form-pad-x);

    border: none;
    border-radius: var(--form-radius);
    outline: none;
    background: var(--form-bg);

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

        display: inline-flex;

        height: var(--form-h-sp);
        padding: var(--form-pad-y-sp) var(--form-pad-x-sp);

        align-items: center;
    }
}
@media screen and (max-width: 768px)
{
    .u-form__select select
    {
        width: 100%;
        min-width: 46.7289719626vw;
        padding: 0 24px 0 var(--form-pad-x-sp);
    }
}
.u-form__base
{
    font-size: var(--form-fz);
    line-height: var(--form-h);

    width: 100%;
    height: var(--form-h);
    padding: 0 var(--form-pad-x);

    border: none;
    border-radius: var(--form-radius);
    outline: none;
    background: var(--form-bg);

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

        display: inline-flex;

        height: var(--form-h-sp);
        padding: var(--form-pad-y-sp) var(--form-pad-x-sp);

        align-items: center;
    }
}
.u-form__textarea
{
    font-size: var(--form-fz);
    line-height: var(--form-h);
    line-height: var(--form-textarea-lh);

    width: 100%;
    height: var(--form-h);
    height: var(--form-textarea-h);
    padding: 0 var(--form-pad-x);
    padding: var(--form-textarea-pad);

    border: none;
    border-radius: var(--form-radius);
    outline: none;
    background: var(--form-bg);

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

        display: inline-flex;

        height: var(--form-h-sp);
        padding: var(--form-pad-y-sp) var(--form-pad-x-sp);

        align-items: center;
    }
}
@media screen and (max-width: 768px)
{
    .u-form__textarea
    {
        display: block;

        height: auto;
        min-height: 37.3831775701vw;

        align-items: initial;
    }
}
.u-form__sm
{
    font-size: var(--form-fz);
    line-height: var(--form-h);

    width: 100%;
    width: var(--form-sm-w);
    height: var(--form-h);
    padding: 0 var(--form-pad-x);

    border: none;
    border-radius: var(--form-radius);
    outline: none;
    background: var(--form-bg);

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

        display: inline-flex;

        height: var(--form-h-sp);
        padding: var(--form-pad-y-sp) var(--form-pad-x-sp);

        align-items: center;
    }
}
.u-form__xs
{
    font-size: var(--form-fz);
    line-height: var(--form-xs-h);

    width: var(--form-xs-w);
    height: var(--form-xs-h);
    padding: 0 var(--form-xs-pad-x);

    border: solid var(--form-border) 1px;
    border-radius: var(--form-radius);
    outline: none;
    background: var(--form-bg);

    -webkit-appearance: none;
            -moz-appearance: none;
         appearance: none;
}
.u-form__radio input
{
    display: none;
}
.u-form__radio input + label,
.u-form__radio input + span
{
    position: relative;

    display: block;

    min-height: 24px;
    padding-left: 32px;

    cursor: pointer;
}
.u-form__radio input:checked + label::after,
.u-form__radio input:checked + span::after
{
    display: block;
}
.u-form__radio input + label::before,
.u-form__radio input + span::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

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

    content: '';

    border: solid 1px var(--form-border);
    border-radius: 12px;
    background-color: var(--form-bg);
}
.u-form__radio input + label::after,
.u-form__radio input + span::after
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3px;

    display: none;

    width: 18px;
    height: 18px;
    margin: auto;

    content: '';

    border: solid 1px var(--form-border);
    border-radius: 12px;
    background: #000;
}
.u-form__check input
{
    display: none;
}
.u-form__check input + label,
.u-form__check input + span
{
    position: relative;

    display: block;

    min-height: 24px;
    padding-left: 32px;

    cursor: pointer;
}
.u-form__check input:checked + label::after,
.u-form__check input:checked + span::after
{
    display: block;
}
.u-form__check input + label
{
    display: inline-flex !important;

    padding-top: 4px;

    gap: 8px;
}
.u-form__check input + label::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

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

    content: '';

    border: solid 1px var(--form-border);
    border-radius: var(--form-radius);
    background-color: var(--form-bg);
}
.u-form__check input + label::after
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    display: none;

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

    content: '';

    border: none;
    background: var(--form-check-icon) no-repeat center center;
}

/* =========================================
  Button Tokens（案件ごとにここだけ調整）
========================================= */
:root
{
    /* typography */
    --btn-fz: 13px;
    --btn-fz-detail: 16px;
    --btn-ls: .05em;
    --btn-fw: 700;
    --btn-lh: 1;
    /* sizes */
    --btn-w: 200px;
    --btn-h: 52px;
    --btn-radius: 28px;
    --btn-w-sm: 130px;
    --btn-h-sm: 40px;
    --btn-radius-sm: 20px;
    --btn-w-lg: 600px;
    --btn-h-lg: 80px;
    --btn-fz-lg: 24px;
    --btn-radius-lg: 8px;
    --btn-border-lg: 2px;
    --btn-h-detail: 48px;
    --btn-radius-detail: 4px;
    /* colors */
    --btn-border: rgba(0,0,0,.2);
    --btn-bg: #fff;
    --btn-col: #000;
    --btn-bg-hover: #333;
    --btn-col-hover: #fff;
    --btn-cta-border: #333;
    --btn-cta-bg: #333;
    --btn-cta-col: #fff;
    --btn-cta-bg-hover: #666;
    --btn-detail-bg: #000;
    --btn-detail-col: #fff;
    --btn-detail-bg-hover: #222;
    --btn-lg-border: #333;
    --btn-lg-bg: #161616;
    /* assets */
    --btn-icn-prev: url('../img/common/icn_prev.svg');
    /* SP */
    --btn-sp-w: 200px;
    --btn-sp-h: 11.2150vw;
    /* 48 */
    --btn-sp-fz: 3.0374vw;
    /* 13 */
    --btn-sp-minw-sm: 37.3832vw;
    /* 160 */
    --btn-sp-radius-pill: 100px;
    --btn-detail-sp-h: 9.3458vw;
    /* 40 */
}

@media screen and (max-width: 768px)
{
    :root
    {
        --btn-sp-w: 100%;
    }
}
/* =========================================
  Mixins
========================================= */
/* =========================================
  Classes
========================================= */
.u-btn
{
    /* default */
    /* cta */
    /* small */
    /* back（sm + icon） */
    /* large */
    /* detail */
}
.u-btn__wrapper
{
    display: flex;

    justify-content: center;
}
.u-btn__def
{
    font-size: var(--btn-fz);
    font-weight: var(--btn-fw);
    line-height: var(--btn-lh);

    display: inline-flex;

    width: var(--btn-w);
    height: var(--btn-h);

    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    transition: .2s ease;
    text-decoration: none;
    letter-spacing: var(--btn-ls);

    color: var(--btn-col);
    border: solid 1px var(--btn-border);
    border-radius: var(--btn-radius);
    background: var(--btn-bg);

    align-items: center;
    justify-content: center;
}
.u-btn__def:hover
{
    opacity: 1;
}
.u-btn__def:hover
{
    color: var(--btn-col-hover);
    background: var(--btn-bg-hover);
}
@media screen and (max-width: 768px)
{
    .u-btn__def
    {
        font-size: var(--btn-sp-fz);

        width: var(--btn-sp-w);
        height: var(--btn-sp-h);
    }
}
.u-btn__cta
{
    font-size: var(--btn-fz);
    font-weight: var(--btn-fw);
    line-height: var(--btn-lh);

    display: inline-flex;

    width: var(--btn-w);
    height: var(--btn-h);

    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    transition: .2s ease;
    text-decoration: none;
    letter-spacing: var(--btn-ls);

    color: var(--btn-cta-col);
    border: solid 1px var(--btn-cta-border);
    border-radius: var(--btn-radius);
    background: var(--btn-cta-bg);

    align-items: center;
    justify-content: center;
}
.u-btn__cta:hover
{
    opacity: 1;
}
.u-btn__cta:hover
{
    color: var(--btn-cta-col);
    background: var(--btn-cta-bg-hover);
}
.u-btn__cta.inactive
{
    pointer-events: none;

    opacity: .3;
}
@media screen and (max-width: 768px)
{
    .u-btn__cta
    {
        font-size: var(--btn-sp-fz);

        width: var(--btn-sp-w);
        height: var(--btn-sp-h);
    }
}
.u-btn__sm
{
    font-size: var(--btn-fz);
    font-weight: var(--btn-fw);
    line-height: var(--btn-lh);

    display: inline-flex;

    width: var(--btn-w-sm);
    height: var(--btn-h-sm);

    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    transition: .2s ease;
    text-decoration: none;
    letter-spacing: var(--btn-ls);

    color: var(--btn-col);
    border: solid 1px var(--btn-border);
    border-radius: var(--btn-radius-sm);
    background: var(--btn-bg);

    align-items: center;
    justify-content: center;
}
.u-btn__sm:hover
{
    opacity: 1;
}
.u-btn__sm:hover
{
    color: var(--btn-col-hover);
    background: var(--btn-bg-hover);
}
@media screen and (max-width: 768px)
{
    .u-btn__sm
    {
        font-size: var(--btn-sp-fz) !important;

        display: inline-flex !important;

        width: auto;
        min-width: var(--btn-sp-minw-sm);
        height: var(--btn-sp-h);

        border-radius: var(--btn-sp-radius-pill);
    }
}
.u-btn__back
{
    font-size: var(--btn-fz);
    font-weight: var(--btn-fw);
    line-height: var(--btn-lh);

    position: relative;

    display: inline-flex;

    width: var(--btn-w-sm);
    height: var(--btn-h-sm);

    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    transition: .2s ease;
    text-decoration: none;
    letter-spacing: var(--btn-ls);

    color: var(--btn-col);
    border: solid 1px var(--btn-border);
    border-radius: var(--btn-radius-sm);
    background: var(--btn-bg);

    align-items: center;
    justify-content: center;
}
.u-btn__back:hover
{
    opacity: 1;
}
.u-btn__back:hover
{
    color: var(--btn-col-hover);
    background: var(--btn-bg-hover);
}
.u-btn__back::before
{
    position: absolute;
    left: 8px;

    display: block;

    width: 16px;
    height: 14.326px;

    content: '';

    background: var(--btn-icn-prev) no-repeat center center;
}
@media screen and (max-width: 768px)
{
    .u-btn__back
    {
        font-size: var(--btn-sp-fz) !important;

        display: inline-flex !important;

        width: auto;
        min-width: var(--btn-sp-minw-sm);
        height: var(--btn-sp-h);

        border-radius: var(--btn-sp-radius-pill);
    }
}
.u-btn__lg
{
    font-size: var(--btn-fz);
    font-size: var(--btn-fz-lg);
    font-weight: var(--btn-fw);
    font-weight: var(--btn-fw);
    line-height: var(--btn-lh);

    display: inline-flex;

    width: var(--btn-w-lg);
    height: var(--btn-h-lg);

    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    transition: .2s ease;
    text-decoration: none;
    letter-spacing: var(--btn-ls);

    color: #fff;
    border: solid var(--btn-border-lg) var(--btn-lg-border);
    border-radius: var(--btn-radius-lg);
    background: var(--btn-lg-bg);

    align-items: center;
    justify-content: center;
}
.u-btn__lg:hover
{
    opacity: 1;
}
@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: var(--btn-fz);
    font-size: var(--btn-fz-detail);
    font-weight: var(--btn-fw);
    line-height: var(--btn-lh);

    display: inline-flex;

    width: var(--btn-w);
    height: var(--btn-h-detail);

    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    transition: .2s ease;
    text-decoration: none;
    letter-spacing: var(--btn-ls);

    color: var(--btn-detail-col);
    border: solid 1px var(--btn-border);
    border-radius: var(--btn-radius-detail);
    background: var(--btn-detail-bg);

    align-items: center;
    justify-content: center;
}
.u-btn__detail:hover
{
    opacity: 1;
}
.u-btn__detail:hover
{
    color: var(--btn-detail-col);
    background: var(--btn-detail-bg-hover);
}
@media screen and (max-width: 768px)
{
    .u-btn__detail
    {
        font-size: 3.738317757vw;

        width: 100%;
        height: var(--btn-detail-sp-h);
    }
}

:root
{
    --tb-pad: 8px;
    --tb-pad-sp: 4px;
    --tb-fz: 14px;
    --tb-fz-sp: 12px;
    --tb-lh: 1.4;
    --tab-gap: var(--sp-4);
    --tab-gap: var(--sp-4);
    --tab-gap-sp-row: 3.7383vw;
    /* 16 */
    --tab-gap-sp-col: 1.8692vw;
    /* 8 */
    --tab-item-w: 128px;
    --tab-item-w-sp: 28.0374vw;
    /* 120 */
    --tab-item-fz: 18px;
    --tab-item-fz-sp: 16px;
    --nav-sub-pad-y: 8px;
    --nav-sub-pad-x: 24px;
    --nav-sub-gap: 24px;
    --nav-sub-gap-sp: 16px;
    --nav-sub-radius: 8px;
}

/* table */
.u-tb__wrapper table
{
    width: 100%;

    border-collapse: collapse;
}
@media screen and (max-width: 768px)
{
    .u-tb__wrapper table
    {
        width: auto;
    }
}
.u-tb__wrapper td,
.u-tb__wrapper th
{
    font-size: var(--tb-fz);
    line-height: var(--tb-lh);

    padding: var(--tb-pad);

    vertical-align: middle;

    border: solid 1px rgba(0, 0, 0, .15);
}
@media screen and (max-width: 768px)
{
    .u-tb__wrapper td,
    .u-tb__wrapper th
    {
        font-size: var(--tb-fz-sp);

        padding: var(--tb-pad-sp);
    }
}
.u-tb__wrapper th
{
    font-weight: bold;
}

/* tab（本当は c-tab 推奨） */
.u-tab
{
    display: flex;

    justify-content: center;
    align-items: center;
    gap: var(--tab-gap);
}
@media screen and (max-width: 768px)
{
    .u-tab
    {
        gap: var(--tab-gap-sp-row) var(--tab-gap-sp-col);
    }
    .u-tab.wrap
    {
        flex-wrap: wrap;
    }
}
.u-tab > a
{
    font-size: var(--tab-item-fz);
    font-weight: bold;

    display: block;

    padding-bottom: var(--sp-1);

    text-align: center;

    color: rgba(0, 0, 0, .68);
    border-bottom: 2px solid rgba(0, 0, 0, .15);

    flex-basis: var(--tab-item-w);
}
@media screen and (max-width: 768px)
{
    .u-tab > a
    {
        font-size: var(--tab-item-fz-sp);

        flex-basis: var(--tab-item-w-sp);
    }
}
.u-tab > a.on
{
    pointer-events: none;

    color: rgba(0, 0, 0, .84);
    border-bottom-color: rgba(0, 0, 0, .84);
}

/* text-align utilities（OK） */
.u-tal
{
    text-align: left;
}

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

.u-tac
{
    text-align: center;
}

/* responsive display utilities（OK） */
.u-ispc
{
    display: block !important;
}
@media screen and (max-width: 768px)
{
    .u-ispc
    {
        display: none !important;
    }
}

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

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

/* inactive（typo対応） */
.u-inactive
{
    pointer-events: none !important;

    opacity: .3;
}

/* lists（本当は c-list 推奨：とりあえず数値を整理しやすく） */
.u-list__tb
{
    display: flex;

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

    padding-bottom: var(--sp-2);

    flex-basis: 352px;
}
@media screen and (max-width: 768px)
{
    .u-list__tb > dd
    {
        font-size: 14px;
    }
}
.u-list__dl
{
    display: flex;

    padding: var(--sp-3) 0;

    border-top: 1px solid rgba(0, 0, 0, .15);

    flex-wrap: wrap;
}
.u-list__dl:nth-child(-n+2)
{
    border-top: none;
}
.u-list__dl > dt
{
    font-size: 14px;
    font-weight: bold;
    line-height: 1.6;

    padding-top: 1px;

    flex-basis: 96px;
}
@media screen and (max-width: 768px)
{
    .u-list__dl > dt
    {
        font-size: 10px;
    }
}
.u-list__dl > dd
{
    font-size: 16px;
    line-height: 1.6;

    flex: 1;
}
@media screen and (max-width: 768px)
{
    .u-list__dl > dd
    {
        font-size: 14px;
    }
}
.u-list__circle > li
{
    line-height: 1.4;

    display: flex;

    padding: var(--sp-1) 0;

    border-top: solid 1px rgba(0, 0, 0, .15);
}
.u-list__circle > li:first-child
{
    border-top: none;
}
.u-list__circle > li::before
{
    content: '・';
}
@media screen and (max-width: 768px)
{
    .u-list__circle > li
    {
        padding-left: 0;
    }
}
.u-list__circle > li:first-child
{
    padding-top: 0;
}
.u-list__note > li
{
    line-height: 1.4;

    padding: 4px 0;
    padding-left: 14px;
}
@media screen and (max-width: 768px)
{
    .u-list__note > li
    {
        margin-left: 0;
        padding-left: 14px;
    }
}
.u-list__note > li:first-child
{
    border-top: none;
}
.u-list__note > li::before
{
    margin-left: -14px;

    content: '※';
}
.u-list__note > li:first-child
{
    padding-top: 0;
}
.u-list__no
{
    margin-left: 20px;

    list-style-type: decimal;
}
.u-list__no li
{
    padding-top: var(--sp-3);
}
.u-list__iroha
{
    margin-left: 20px;

    list-style-type: katakana-iroha;
}
.u-list__iroha li
{
    padding-top: var(--sp-3);
}

/* link underline（OK、短いのでそのままでも） */
.u-link__ul
{
    padding-bottom: 4px;

    border-bottom: solid 1px rgba(0, 0, 0, .68);
}

/* margin auto（OK） */
.u-ma
{
    margin: 0 auto;
}

/* nav sub（本当は c-nav 推奨） */
.u-nav__sub
{
    display: flex;

    padding: var(--nav-sub-pad-y) var(--nav-sub-pad-x);

    border-radius: var(--nav-sub-radius);
    background: #fff;

    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--nav-sub-gap);
}
@media screen and (max-width: 768px)
{
    .u-nav__sub
    {
        gap: var(--nav-sub-gap-sp);
    }
}

main
{
    position: relative;

    min-height: 600px;
    padding-top: 106px;
}
@media screen and (max-width: 768px)
{
    main
    {
        padding-top: 80px;
    }
}
main.is-menu-open
{
    position: fixed;
}

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

    display: block;

    width: 100%;
    min-width: 1200px;
    height: 106px;

    background: #fff;
}
.header__inner
{
    display: flex;

    height: 106px;
    padding: 24px 40px;

    align-items: center;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .header__inner
    {
        position: absolute;

        display: block;

        width: 100%;
        height: auto;
    }
}
.header__logo
{
    transition: .2s ease;

    opacity: 1;
}
.header__logo > img:hover
{
    opacity: .7;
}
.header__logo-image
{
    width: 150px;
}
@media screen and (max-width: 768px)
{
    .header__logo-image
    {
        width: auto;
        height: 44px;
    }
}
.header__nav
{
    flex: 1;
}
.header__nav-list
{
    display: flex;

    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .header__nav-list
    {
        font-size: 18px;
        font-weight: bold;

        flex-direction: column;

        padding: 40px 0 0;

        gap: 16px;
        align-items: flex-start;
    }
}
@media screen and (max-width: 768px)
{
    .header__nav
    {
        display: block;
    }
}
.header__nav-sub
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .header__nav-sub
    {
        display: flex;
        flex-direction: column;

        margin-top: 32px;
        padding-top: 32px;

        border-top: solid 1px rgba(0, 0, 0, .15);

        align-items: flex-start;
        gap: 24px;
    }
    .header__nav-sub > a
    {
        font-size: 16px;

        display: inline-flex;

        gap: 8px;
    }
}
@media screen and (max-width: 768px)
{
    .header
    {
        min-width: inherit;
        height: 80px;
    }
    .header__logo
    {
        top: 10px;
        left: 24px;
    }
    .header__logo-img
    {
        width: 50px;
    }
    .header__logo-mark
    {
        width: 38px;
    }
    .header__inner
    {
        padding: 4.2056074766vw 3.5046728972vw;

        gap: 5.6074766355vw;
    }
}
.header__menu
{
    display: flex;

    align-items: center;
    justify-content: end;
}
@media screen and (max-width: 768px)
{
    .header__menu
    {
        display: none;
    }
}
.header__menu-inner
{
    display: flex;

    align-items: center;
    justify-content: end;
    gap: 24px;
    flex-wrap: wrap;
}
.header__menu-icn
{
    display: flex;

    align-items: center;
    justify-content: end;
    gap: 24px;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .header__brand
    {
        margin-top: 32px;
        padding-top: 32px;

        text-align: center;

        border-top: solid 1px rgba(0, 0, 0, .15);
    }
}
.header__sns
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .header__sns
    {
        display: flex;

        margin-top: 32px;
        padding-top: 32px;

        border-top: solid 1px rgba(0, 0, 0, .15);

        align-items: center;
        gap: 24px;
        justify-content: center;
    }
}

/* menu */
.menu__trigger
{
    position: absolute;
    top: 3.738317757vw;
    right: 3.738317757vw;

    display: none;

    box-sizing: border-box;
    width: 40px;
    height: 40px;

    cursor: pointer;
    transition: all .4s;

    border: none;
    background: none;

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none;
}
@media screen and (max-width: 768px)
{
    .menu__trigger
    {
        z-index: 3;

        display: block;

        width: 40px;
        height: 40px;
    }
}
.menu__trigger span
{
    position: absolute;

    box-sizing: border-box;
    height: 2px;

    transition: all .4s;

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

        width: 24px;
        height: 2px;
        margin-left: -12px;
    }
}
.menu__trigger span:nth-of-type(1)
{
    top: 10px;
}
.menu__trigger span:nth-of-type(2)
{
    top: 19px;
}
.menu__trigger span:nth-of-type(3)
{
    top: 28px;
}
.menu__trigger.active span:nth-of-type(1)
{
    width: 30px;

    transform: translate(-4px, 8px) rotate(-45deg);
}
.menu__trigger.active span:nth-of-type(2)
{
    opacity: 0;
}
.menu__trigger.active span:nth-of-type(3)
{
    width: 30px;

    transform: translate(-4px, -9px) rotate(45deg);
}

.dr-menu
{
    display: flex;

    gap: 40px;
}
@media screen and (max-width: 768px)
{
    .dr-menu
    {
        position: fixed;
        z-index: 2;
        left: 0;

        display: none;

        width: 100%;
        height: 100svh;
        padding: 0 3.738317757vw;

        background: #fff;

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

        width: 100%;
        padding: 88px 5.6074766355vw 24px 5.6074766355vw;

        text-align: center;
    }
}
.dr-menu__unit01
{
    display: flex;
    flex-direction: column;

    padding-top: 48px;

    gap: 32px;
    align-items: center;
}
.dr-menu__unit01 a
{
    font-size: 32px;
    line-height: 1;

    display: block;

    text-decoration: none;

    color: rgba(0, 0, 0, .84);
}
@media screen and (max-width: 768px)
{
    .dr-menu__unit01 a
    {
        font-size: 4.2056074766vw;
    }
}
.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, .68);
}
@media screen and (max-width: 768px)
{
    .dr-menu__unit02-02
    {
        display: block;
    }
}
.dr-menu__search
{
    position: relative;
}
.dr-menu__search::before
{
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 12px;

    width: 32px;
    height: 32px;
    margin: auto;

    content: '';

    background: url(../img/common/icn_search.svg);
    background-size: contain;
}
.dr-menu__search > input
{
    font-size: 16px;

    position: relative;

    display: inline-flex;

    width: 100%;
    height: 48px;
    padding-left: 48px;

    border: none;
    border-radius: 24px;
    background: #eee;
}

.slick-dots
{
    bottom: -38px;

    display: flex;

    padding-right: 80px;

    justify-content: flex-end;
    align-items: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 32px;
    height: 2px;
    margin: 0;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 32px;
    height: 2px;
    padding: 0;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: rgba(0, 0, 0, .15);
}
.slick-dots li button::before
{
    content: none;
}
.slick-dots li.slick-active button
{
    background: rgba(0, 0, 0, .84);
}

.slick-dotted.slick-slider
{
    margin-bottom: 40px;
}
@media screen and (max-width: 768px)
{
    .slick-dotted.slick-slider
    {
        margin-bottom: 0;
    }
}

.slick__detail .slick-dots
{
    padding-right: 80px;

    text-align: right;
}
@media screen and (max-width: 768px)
{
    .slick__detail .slick-dots
    {
        padding: 0;

        text-align: center;
    }
}

.slick__card .slick-list,
.slick__card-4 .slick-list,
.slick__about-page .slick-list
{
    overflow: visible;
}

.slick__card .content-card__link
{
    width: 364px;
    margin: 0 12px;
}
@media screen and (max-width: 768px)
{
    .slick__card .content-card__link
    {
        width: auto;
        margin: 0;
    }
}

.slick__card-4 .content-card__link
{
    width: 267px;
    margin: 0 12px;
}
@media screen and (max-width: 768px)
{
    .slick__card-4 .content-card__link
    {
        width: auto;
        margin: 0;
    }
}

.slick-prev,
.slick-next
{
    z-index: 2;
    top: inherit;
    bottom: -60px;

    width: 24px;
    height: 24px;
}
.slick-prev::before,
.slick-next::before
{
    display: block;

    width: 24px;
    height: 24px;

    content: '';
}

.slick-prev
{
    right: 40px;
    left: inherit;
}
.slick-prev::before
{
    background: url(../img/common/arrow-prev.svg) no-repeat;
}

.slick-next
{
    right: 0;
}
.slick-next::before
{
    background: url(../img/common/arrow-next.svg) no-repeat;
}

@media screen and (max-width: 768px)
{
    .slick__about-page .slick-dots
    {
        width: 96.261682243vw;
    }
}

@media screen and (max-width: 768px)
{
    .slick__about-page .slick-dots
    {
        width: 96.261682243vw;
    }
}
@media screen and (max-width: 768px)
{
    .slick__about-page .slick-prev
    {
        right: calc(40px + 3.738317757vw);
    }
    .slick__about-page .slick-next
    {
        right: 3.738317757vw;
    }
}

.accordion
{
    font-weight: bold;

    position: relative;

    display: flex;

    padding: 0 8px;

    cursor: pointer;
    transition: .3s ease;

    align-items: center;
}
.accordion:hover
{
    opacity: .7;
}
.accordion::before
{
    position: absolute;
    top: 50%;
    right: 8px;

    display: block;

    width: 14px;
    height: 2px;

    content: '';
    content: '';
    transform: translateY(-50%);

    background: rgba(0, 0, 0, .68);
}
.accordion::after
{
    position: absolute;
    top: 50%;
    right: 8px;

    display: block;

    width: 14px;
    height: 2px;

    content: '';
    transition: ease .2s;
    transform: translateY(-50%) rotate(90deg);

    background: rgba(0, 0, 0, .68);
}
.accordion + div
{
    display: none;
}
.accordion.on::after
{
    transform: translateY(-50%) rotate(0);
}

@media screen and (max-width: 768px)
{
    .modaal-gallery-prev
    {
        right: auto;
        bottom: -72px;
        left: 0;
    }

    .modaal-gallery-next
    {
        right: 0;
        bottom: -72px;
        left: auto;
    }
}
.modaal-container
{
    background: none;
}

.modaal-gallery-item img
{
    display: block;

    max-width: 1200px;
    max-height: 800px;

    border-radius: 24px;
}
@media screen and (max-width: 768px)
{
    .modaal-gallery-item img
    {
        max-height: 140.1869158879vw;

        border-radius: 16px;
    }
}

#loading
{
    position: fixed;
    z-index: 9999;
    top: 0;

    width: 100%;
    height: 100svh;

    transition: all 1s;

    background-color: #efefef;
}

.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: #fff;
}

.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;
            animation: fade-in-up;
    /* 任意のアニメーション名の記述 */
    -webkit-animation-duration: 1000ms;
            animation-duration: 1000ms;

    opacity: 0;
    /* アニメーション間隔を必ず併記してください */
}

.delay-time
{
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
    /*この数字を指定したい遅延時間に変更*/
}
.delay-time__s
{
    -webkit-animation-delay: 500ms;
            animation-delay: 500ms;
    /*この数字を指定したい遅延時間に変更*/
}

@-webkit-keyframes fadeInUpSmall
{
    from
    {
        transform: translate3d(0, 30%, 0);

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

        opacity: 1;
    }
}

@keyframes fadeInUpSmall
{
    from
    {
        transform: translate3d(0, 30%, 0);

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

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

/*　上に上がる動き　*/
.UpMove
{
    -webkit-animation: UpAnime .5s forwards;
            animation: UpAnime .5s forwards;
}

.UpMove-r
{
    -webkit-animation: UpAnime-r .5s forwards;
            animation: UpAnime-r .5s forwards;
}

@-webkit-keyframes UpAnime
{
    from
    {
        transform: translateY(0);

        opacity: 1;
    }
    to
    {
        transform: translateY(-30px);

        opacity: 0;
    }
}

@keyframes UpAnime
{
    from
    {
        transform: translateY(0);

        opacity: 1;
    }
    to
    {
        transform: translateY(-30px);

        opacity: 0;
    }
}
@-webkit-keyframes UpAnime-r
{
    from
    {
        transform: translateY(0);

        opacity: 0;
    }
    to
    {
        transform: translateY(-30px);

        opacity: 1;
    }
}
@keyframes UpAnime-r
{
    from
    {
        transform: translateY(0);

        opacity: 0;
    }
    to
    {
        transform: translateY(-30px);

        opacity: 1;
    }
}
/*　下に下がる動き　*/
.DownMove
{
    -webkit-animation: DownAnime .5s forwards;
            animation: DownAnime .5s forwards;
}

.DownMove-r
{
    -webkit-animation: DownAnime-r .5s forwards;
            animation: DownAnime-r .5s forwards;
}

@-webkit-keyframes DownAnime
{
    from
    {
        transform: translateY(-30px);

        opacity: 0;
    }
    to
    {
        transform: translateY(0);

        opacity: 1;
    }
}

@keyframes DownAnime
{
    from
    {
        transform: translateY(-30px);

        opacity: 0;
    }
    to
    {
        transform: translateY(0);

        opacity: 1;
    }
}
@-webkit-keyframes DownAnime-r
{
    from
    {
        transform: translateY(-30px);

        opacity: 1;
    }
    to
    {
        transform: translateY(0);

        opacity: 0;
    }
}
@keyframes DownAnime-r
{
    from
    {
        transform: translateY(-30px);

        opacity: 1;
    }
    to
    {
        transform: translateY(0);

        opacity: 0;
    }
}
.wp-pagenavi
{
    font-size: 16px;

    margin: 48px 0 0 0;

    text-align: center;
}
.wp-pagenavi a
{
    color: rgba(0, 0, 0, .57);
}
.wp-pagenavi a.page:hover
{
    background: inherit;
}
.wp-pagenavi .pages
{
    margin-right: 16px;
}
.wp-pagenavi .current,
.wp-pagenavi a.page
{
    line-height: 40px;

    display: inline-block;

    width: 40px;
    height: 40px;
    margin: 0 6px 6px 0;

    text-align: center;

    border: none;
    border-radius: inherit;
}
.wp-pagenavi .current
{
    font-weight: bold;

    color: rgba(0, 0, 0, .84);
    background: inherit;
}
.wp-pagenavi .first,
.wp-pagenavi .extend
{
    margin-right: 10px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink
{
    display: none;
}

.u-link__ul
{
    display: inline-flex;

    gap: 8px;
    align-items: center;
}
.u-link__ul.adj-bold
{
    font-weight: bold;
}
.u-link__ul > span
{
    font-size: 13px;
}
.u-link__ul-hover
{
    position: relative;
    /* リンクにホバーした際の下線の表示 */
}
.u-link__ul-hover:hover
{
    opacity: 1;
}
.u-link__ul-hover::after
{
    /* 要素の左端からの距離 */
    position: absolute;
    /* 下線の色 */
    bottom: -6px;
    /* 下線の高さ */
    left: 0;
    /* 変形をアニメーション化 */

    width: 100%;
    /* 要素に内容を追加 */
    height: 1px;
    /* 要素の下端からの距離 */

    content: '';
    /* 変形の原点を左上に指定 */
    transition: transform .3s;
    /* 絶対位置指定 */
    transform: scale(0, 1);
    /* 下線を横方向に0倍、縦方向に1倍に変形（非表示） */
    transform-origin: left top;

    background-color: rgba(0, 0, 0, .84);
    /* 要素の幅 */
}
.u-link__ul-hover:hover::after
{
    transform: scale(1, 1);
    /* 下線を横方向に1倍、縦方向に1倍に変形（表示） */
}
.u-link__viewmore
{
    font-size: 16px;
    font-weight: bold;

    position: relative;

    display: inline-flex;

    margin-right: -8px;

    align-items: center;
    gap: 8px;
}
.u-link__viewmore.adj-wh:link,
.u-link__viewmore.adj-wh:visited
{
    color: #fff;
}
.u-link__viewmore::after
{
    width: 40px;
    height: 32px;

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

    background: url(../img/common/arrow-viewmore.svg) no-repeat;
}
.u-link__viewmore:hover::after
{
    background-position: 8px 0;
}
.u-link__back
{
    font-size: 16px;
    font-weight: bold;

    position: relative;

    display: inline-flex;

    margin-left: -8px;

    align-items: center;
    gap: 8px;
}
.u-link__back.adj-wh:link,
.u-link__back.adj-wh:visited
{
    color: #fff;
}
.u-link__back::before
{
    width: 40px;
    height: 32px;

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

    background: url(../img/common/arrow-back.svg) no-repeat right;
}
.u-link__back:hover::before
{
    background-position: 0 0;
}

.u-list__item
{
    display: flex;

    padding: 24px 0;

    border-top: solid 1px rgba(0, 0, 0, .15);

    gap: 24px;
    align-items: center;
}
.u-list__item:first-child
{
    padding-top: 0;

    border-top: none;
}
@media screen and (max-width: 768px)
{
    .u-list__item
    {
        gap: 16px;
    }
}
.u-list__thumb
{
    flex-basis: 170px;
}
.u-list__thumb > img
{
    border-radius: 8px;
}
@media screen and (max-width: 768px)
{
    .u-list__thumb
    {
        flex-basis: 120px;
    }
}
.u-list__body
{
    flex: 1;
}
.u-list__title
{
    font-size: 18px;
    font-weight: bold;

    padding-bottom: 8px;
}
@media screen and (max-width: 768px)
{
    .u-list__title
    {
        font-size: 15px;
        line-height: 1.4;

        padding-bottom: 4px;
    }
}
.u-list__sponsor
{
    font-size: 13px;
    line-height: 1;

    display: inline-flex;

    padding: 4px;

    border-radius: 4px;
    background: #fff;
}
@media screen and (max-width: 768px)
{
    .u-list__sponsor
    {
        font-size: 12px;
        line-height: 1.2;

        padding: 2px;
    }
}
.u-list__circle.adj-nb li
{
    border: none;
}

.u-line__def
{
    margin-top: 24px;
    padding-top: 24px;

    border-top: solid 1px rgba(0, 0, 0, .15);
}
.u-line__lg
{
    margin-top: 40px;
    padding-top: 40px;

    border-top: solid 1px rgba(0, 0, 0, .15);
}

.u-btn__wrapper
{
    gap: 24px;
}
.u-btn__wrapper.adj-l
{
    justify-content: flex-start;
}
.u-btn__wrapper.adj-r
{
    justify-content: flex-end;
}
@media screen and (max-width: 768px)
{
    .u-btn__wrapper
    {
        flex-direction: column;
    }
}
.u-btn__cta
{
    font-size: 16px;
    font-weight: bold;

    display: inline-flex;

    width: auto;
    padding: 0 24px;

    color: #fff;
    border: solid 2px #fff;
    border-radius: 100px;
    background: #ff6058;

    align-items: center;
}
.u-btn__cta:link,
.u-btn__cta:visited
{
    color: #fff;
}
.u-btn__cta:hover
{
    opacity: .7;
    background: #ff6058;
}
.u-btn__cta.adj-detail
{
    width: 320px;
    height: 56px;

    gap: 8px;
}
@media screen and (max-width: 768px)
{
    .u-btn__cta.adj-detail
    {
        width: 100%;
    }
}
.u-btn__blank
{
    font-weight: bold;

    position: relative;

    display: flex;

    height: 64px;

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

    flex-basis: 453px;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.u-btn__blank.adj-sm
{
    width: 453px;
}
@media screen and (max-width: 768px)
{
    .u-btn__blank.adj-sm
    {
        width: 100%;
    }
}
.u-btn__blank:hover
{
    background: #fff;
}
.u-btn__blank > span
{
    font-size: 13px;
}
.u-btn__blank::after
{
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;

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

    content: '';

    background: url(../img/common/icn__blank.svg) no-repeat;
}

.u-card__wrapper
{
    display: flex;

    flex-wrap: wrap;
    align-items: stretch;
    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .u-card__wrapper
    {
        justify-content: center;
    }
}
.u-card__wrapper.adj-list > .content-card__link
{
    width: 364px;
}
@media screen and (max-width: 768px)
{
    .u-card__wrapper.adj-list > .content-card__link
    {
        width: 100%;
    }
}
.u-card__wrapper.adj-list > .content-card__link:nth-child(2n)
{
    padding-top: 0;
}
.u-card__wrapper.adj-list .content-card
{
    width: 100%;
}

.u-slider__card-inner.adj-no-slick
{
    display: flex;

    flex-wrap: wrap;
    gap: 24px;
    align-items: flex-start;
}
.u-slider__card-inner.adj-no-slick .content-card__link
{
    margin: 0;
}
@media screen and (max-width: 768px)
{
    .u-slider__card-inner.adj-no-slick
    {
        flex-wrap: nowrap;
    }
}
@media screen and (max-width: 768px)
{
    .u-slider__card-inner
    {
        display: flex;
        overflow-x: auto;

        padding-bottom: 40px;

        flex-wrap: nowrap;
        gap: 16px;
        align-items: flex-start;
    }
}

.mv
{
    position: relative;

    overflow: hidden;

    background-color: #fff;
}
.mv__content
{
    position: absolute;
    z-index: 3;
    top: 80px;
    left: 128px;
}
@media screen and (max-width: 768px)
{
    .mv__content
    {
        top: 4.6728971963vw;
        left: 5.6074766355vw;
    }
}
.mv__title
{
    font-size: 64px;
    font-weight: 900;
}
@media screen and (max-width: 768px)
{
    .mv__title
    {
        font-size: 9.3457943925vw;
    }
}
.mv__lead
{
    font-size: 24px;
    font-weight: 900;

    padding-top: 40px;
}
@media screen and (max-width: 768px)
{
    .mv__lead
    {
        font-size: 4.6728971963vw;

        padding-top: 5.6074766355vw;
    }
}
.mv-loop
{
    position: relative;

    height: 800px;
    margin-top: 180px;
}
@media screen and (max-width: 768px)
{
    .mv-loop
    {
        height: 800px;
        margin-top: 160px;
    }
}
.mv-loop__track
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    width: -webkit-max-content;

    width: -moz-max-content;

    width: max-content;
    height: 100%;

    flex-wrap: nowrap;
    will-change: transform;
}
.mv-loop__track-blob
{
    z-index: 1;

    -webkit-animation: mvPhotoLoop 50s linear infinite;

            animation: mvPhotoLoop 50s linear infinite;
}
.mv-loop__track-photo
{
    z-index: 2;

    -webkit-animation: mvPhotoLoop 40s linear infinite;

            animation: mvPhotoLoop 40s linear infinite;
}
.mv-loop__group
{
    position: relative;

    min-width: 1920px;
    height: 100%;

    flex: 0 0 auto;
}
.mv-blob
{
    position: absolute;
    z-index: 1;

    margin-top: -100px;

    pointer-events: none;

    opacity: .95;
}
.mv-blob svg
{
    display: block;

    width: 100%;
    height: 100%;
}
.mv-blob--1
{
    top: 8%;
    left: 23%;

    width: 400px;

    -webkit-animation: blobFloat1 9s ease-in-out infinite alternate;

            animation: blobFloat1 9s ease-in-out infinite alternate;
}
.mv-blob--1 .mv-blob__shape
{
    fill: #f1dfdf;
}
.mv-blob--2
{
    top: 34%;
    right: 25%;

    width: 251px;

    -webkit-animation: blobFloat2 12s ease-in-out infinite alternate;

            animation: blobFloat2 12s ease-in-out infinite alternate;
}
.mv-blob--2 .mv-blob__shape
{
    fill: #f5f49f;
}
.mv-blob--3
{
    top: 58%;
    left: 10%;

    width: 300px;

    -webkit-animation: blobFloat3 10s ease-in-out infinite alternate;

            animation: blobFloat3 10s ease-in-out infinite alternate;
}
@media screen and (max-width: 768px)
{
    .mv-blob--3
    {
        top: 40%;
    }
}
.mv-blob--3 .mv-blob__shape
{
    fill: #afedc5;
}
.mv-blob--4
{
    top: 0;
    right: -1%;

    width: 400px;

    -webkit-animation: blobFloat4 13s ease-in-out infinite alternate;

            animation: blobFloat4 13s ease-in-out infinite alternate;
}
.mv-blob--4 .mv-blob__shape
{
    fill: #9febee;
}
.mv-blob--5
{
    bottom: 20%;
    left: 44%;

    width: 180px;

    -webkit-animation: blobFloat5 11s ease-in-out infinite alternate;

            animation: blobFloat5 11s ease-in-out infinite alternate;
}
@media screen and (max-width: 768px)
{
    .mv-blob--5
    {
        bottom: 30%;

        width: 240px;
    }
}
.mv-blob--5 .mv-blob__shape
{
    fill: #d0c0e9;
}
.mv-character--01
{
    position: absolute;
    z-index: 3;
    top: 100px;
    left: 1176px;

    width: auto;
    height: 108px;
}
.mv-character--02
{
    position: absolute;
    z-index: 3;
    top: 200px;
    left: 660px;

    width: auto;
    height: 100px;
}
.mv-character--03
{
    position: absolute;
    z-index: 3;
    top: 440px;
    left: 1400px;

    width: auto;
    height: 128px;
}
.mv-character--04
{
    position: absolute;
    z-index: 3;
    top: 500px;
    left: 880px;

    width: auto;
    height: 90px;
}
.mv-character--05
{
    position: absolute;
    z-index: 3;
    top: 200px;
    left: -140px;

    width: auto;
    height: 148px;
}
.mv-mask-photo
{
    position: absolute;
    z-index: 2;

    overflow: visible;

    aspect-ratio: 1/1;
}
.mv-mask-photo__svg
{
    display: block;

    width: 100%;
    height: 100%;
}
.mv-mask-photo--1
{
    top: 6%;
    left: 2%;

    width: 640px;
}
.mv-mask-photo--2
{
    top: 12%;
    left: 40%;

    width: 440px;
}
.mv-mask-photo--3
{
    top: 6%;
    right: 12%;

    width: 300px;
}
@media screen and (max-width: 768px)
{
    .mv-mask-photo--3
    {
        width: 340px;
    }
}
.mv-mask-photo--4
{
    top: 57%;
    left: 28%;

    width: 340px;
}
@media screen and (max-width: 768px)
{
    .mv-mask-photo--4
    {
        top: 48%;
    }
}
.mv-mask-photo--5
{
    top: 46%;
    left: 55%;

    width: 440px;
}
@media screen and (max-width: 768px)
{
    .mv-mask-photo--5
    {
        top: 40%;
    }
}
.mv-mask-photo--6
{
    top: 50%;
    right: 0;

    width: 400px;
}
@media screen and (max-width: 768px)
{
    .mv-mask-photo--6
    {
        width: 400px;
    }
}

@-webkit-keyframes blobFloat1
{
    0%
    {
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
    100%
    {
        transform: translate3d(14px, -10px, 0) rotate(-4deg) scale(1.05);
    }
}

@keyframes blobFloat1
{
    0%
    {
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
    100%
    {
        transform: translate3d(14px, -10px, 0) rotate(-4deg) scale(1.05);
    }
}
@-webkit-keyframes blobFloat2
{
    0%
    {
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
    100%
    {
        transform: translate3d(-10px, 12px, 0) rotate(5deg) scale(.96);
    }
}
@keyframes blobFloat2
{
    0%
    {
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
    100%
    {
        transform: translate3d(-10px, 12px, 0) rotate(5deg) scale(.96);
    }
}
@-webkit-keyframes blobFloat3
{
    0%
    {
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
    100%
    {
        transform: translate3d(8px, -14px, 0) rotate(3deg) scale(1.04);
    }
}
@keyframes blobFloat3
{
    0%
    {
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
    100%
    {
        transform: translate3d(8px, -14px, 0) rotate(3deg) scale(1.04);
    }
}
@-webkit-keyframes blobFloat4
{
    0%
    {
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
    100%
    {
        transform: translate3d(-14px, -8px, 0) rotate(-3deg) scale(1.03);
    }
}
@keyframes blobFloat4
{
    0%
    {
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
    100%
    {
        transform: translate3d(-14px, -8px, 0) rotate(-3deg) scale(1.03);
    }
}
@-webkit-keyframes blobFloat5
{
    0%
    {
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
    100%
    {
        transform: translate3d(10px, 8px, 0) rotate(6deg) scale(.97);
    }
}
@keyframes blobFloat5
{
    0%
    {
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
    100%
    {
        transform: translate3d(10px, 8px, 0) rotate(6deg) scale(.97);
    }
}
@-webkit-keyframes mvPhotoLoop
{
    0%
    {
        transform: translate3d(0, 0, 0);
    }
    100%
    {
        transform: translate3d(-50%, 0, 0);
    }
}
@keyframes mvPhotoLoop
{
    0%
    {
        transform: translate3d(0, 0, 0);
    }
    100%
    {
        transform: translate3d(-50%, 0, 0);
    }
}
.top-cta-btn
{
    position: fixed;
    z-index: 4;
    right: 40px;
    bottom: 40px;

    height: 64px;

    transition: ease .2s;

    filter: drop-shadow(0 0 20px rgba(0, 0, 0, .08));
}
.top-cta-btn.off
{
    pointer-events: none;

    opacity: 0;
}
@media screen and (max-width: 768px)
{
    .top-cta-btn
    {
        right: 0;
        left: 0;

        width: 80%;
        margin: 0 auto;
    }
}
.top-character--01
{
    position: absolute;
    bottom: 24px;
    left: 50%;

    height: 140px;
    margin-left: 0;
}
@media screen and (max-width: 768px)
{
    .top-character--01
    {
        bottom: -6px;

        height: 140px;
        margin-left: -20px;
    }
}
.top-character--02
{
    position: absolute;
    bottom: 40px;
    left: 50%;

    height: 180px;
    margin-left: -200px;
}
@media screen and (max-width: 768px)
{
    .top-character--02
    {
        height: 180px;
        margin-left: -180px;
    }
}
.top-character--03
{
    position: absolute;
    z-index: 2;
    bottom: 24px;
    left: 50%;

    height: 112px;
    margin-left: 200px;
}
@media screen and (max-width: 768px)
{
    .top-character--03
    {
        bottom: 0;

        height: 120px;
        margin-left: 0;
    }
}

.program,
.awards,
.topics
{
    position: relative;
}
.program__wave,
.awards__wave,
.topics__wave
{
    line-height: 0;

    position: absolute;
    top: -140px;
    left: 0;

    width: 100%;
    height: 160px;

    pointer-events: none;
}
@media screen and (max-width: 768px)
{
    .program__wave,
    .awards__wave,
    .topics__wave
    {
        top: -64px;

        height: 64px;
    }
}
.program__wave svg,
.awards__wave svg,
.topics__wave svg
{
    display: block;

    width: 100%;
    height: 100%;
}
.program__inner,
.awards__inner,
.topics__inner
{
    position: relative;
    z-index: 1;

    overflow: hidden;
}

.program
{
    background: #efefef;
}

.topics
{
    background: #fff;
}
.topics.adj-no-topics > .topics__inner
{
    display: none;
}

.message
{
    position: absolute;
    z-index: 1;

    width: 655px;
}
@media screen and (max-width: 768px)
{
    .message
    {
        position: relative;

        width: 100%;
    }
    .message__all-wrapper
    {
        overflow: hidden;

        padding-bottom: 240px;
    }
}
.message__wrapper
{
    position: relative;

    height: 760px;
}
@media screen and (max-width: 768px)
{
    .message__wrapper
    {
        height: auto;
        padding-top: 40px;
    }
}
.message__slider
{
    position: absolute;
    z-index: 1;
    top: 140px;
    right: 0;

    width: 45%;
}
.message__slider img
{
    height: 600px;

    border-radius: 40px 0 0 40px;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .message__slider
    {
        position: relative;
        top: 0;

        display: block;

        width: 90%;
        margin-left: 10%;
    }
    .message__slider img
    {
        height: 400px;

        border-radius: 40px 0 0 40px;

        -o-object-fit: cover;

           object-fit: cover;
    }
}
.message__lead
{
    font-size: 18px;
    font-weight: bold;
    line-height: 2;
}
@media screen and (max-width: 768px)
{
    .message__lead
    {
        font-size: 16px;
        line-height: 2;
    }
}
.message-blob
{
    position: absolute;
    z-index: 0;

    margin-top: -100px;

    pointer-events: none;

    opacity: .95;
}
.message-blob svg
{
    display: block;

    width: 100%;
    height: 100%;
}
.message-blob--1
{
    top: 40px;
    left: 100px;

    width: 800px;

    -webkit-animation: blobFloat1 9s ease-in-out infinite alternate;

            animation: blobFloat1 9s ease-in-out infinite alternate;
}
@media screen and (max-width: 768px)
{
    .message-blob--1
    {
        top: -100px;
        left: -50px;
    }
}
.message-blob--1 .mv-blob__shape
{
    fill: #f5f49f;
}

.about
{
    position: relative;

    height: 800px;
    padding: 96px 0;

    color: #fff;
}
@media screen and (max-width: 768px)
{
    .about
    {
        font-size: 3.738317757vw;
        line-height: 1.6;

        height: 233.6448598131vw;
        padding: 18.691588785vw 0;
    }
}
.about__inner .c-heading__wrapper
{
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .about__inner .c-heading__wrapper
    {
        align-items: center;
    }
}
.about__inner .c-heading__section
{
    flex-direction: column;

    align-items: center;
    justify-content: center;
    gap: 24px;
}
.about__inner .c-heading__section > span
{
    color: #fff;
}
.about__bg
{
    position: absolute;
    z-index: -1;
    top: 0;

    width: 100%;
    height: 800px;

    background: #000;
}
@media screen and (max-width: 768px)
{
    .about__bg
    {
        height: 233.6448598131vw;
    }
}
.about__bg > video
{
    width: 100%;
    height: 100%;

    opacity: .5;

    -o-object-fit: cover;

       object-fit: cover;
}
.about__copy
{
    font-size: 30px;
    font-weight: bold;
}
.about-company
{
    display: flex;

    border-radius: 16px;
    background: #efefef;

    align-items: center;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .about-company
    {
        display: block;

        border-radius: 8px;
        background: none;
    }
}
.about-company__img
{
    display: flex;

    padding: 80px;
    padding-right: 0;

    flex-basis: 50%;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .about-company__img
    {
        padding: 0 1.8691588785vw;
    }
}
.about-company__img > img
{
    width: 100%;
    height: auto;

    border-radius: 8px;
}
.about-company__body
{
    padding: 80px;

    flex: 1;
}
@media screen and (max-width: 768px)
{
    .about-company__body
    {
        padding: 40px 5.6074766355vw;
    }
}

.about-page
{
    overflow-x: hidden;
}
.about-page__mv
{
    width: 1140px;
    margin: 0 auto;
}
.about-page__mv img
{
    width: 1140px;
    height: 630px;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .about-page__mv img
    {
        width: 100%;
        height: auto;

        aspect-ratio: 1/1;
        -o-object-fit: cover;
           object-fit: cover;
    }
}
@media screen and (max-width: 768px)
{
    .about-page__mv
    {
        width: 100%;
    }
}
.about-page__desc
{
    position: relative;

    width: 1140px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .about-page__desc
    {
        width: 100%;
        padding: 0 3.738317757vw;
    }
}
.about-page__lead
{
    font-size: 40px;
    font-weight: bold;
}
.about-page__lead > span
{
    font-size: 16px;

    display: block;
}
@media screen and (max-width: 768px)
{
    .about-page__lead
    {
        font-size: 24px;
    }
    .about-page__lead > span
    {
        font-size: 14px;
    }
}
.about-page__lead-wrapper
{
    position: absolute;
    top: -96px;

    padding-top: 16px;
    padding-right: 24px;

    border-radius: 0 24px 0 0;
    background: #fff;
}
.about-page__lead-wrapper:before
{
    position: absolute;
    top: 0;
    left: -50vw;

    display: block;

    width: 100vw;
    height: 80px;
    margin-left: -50vw;

    content: '';

    background: #fff;
}
@media screen and (max-width: 768px)
{
    .about-page__lead-wrapper
    {
        position: relative;
        top: inherit;

        padding-top: 64px;

        background: none;
    }
    .about-page__lead-wrapper:before
    {
        content: none;
    }
}
.about-page__txt-wrapper
{
    display: flex;
    flex-direction: column;

    padding-top: 40px;

    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .about-page__txt-wrapper
    {
        flex-direction: column;

        padding-top: 24px;

        gap: 24px;
    }
}
@media screen and (max-width: 768px)
{
    .about-page__txt
    {
        flex-basis: inherit;
    }
}
.about-page__program-list
{
    padding-top: 80px;
}
@media screen and (max-width: 768px)
{
    .about-page__program-list
    {
        padding-top: 9.3457943925vw;
    }
}
.about-page__program-item
{
    display: flex;

    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .about-page__program-item
    {
        flex-direction: column-reverse;
    }
}
.about-page__program-item.adj-rev
{
    flex-direction: row-reverse;
}
@media screen and (max-width: 768px)
{
    .about-page__program-item.adj-rev
    {
        flex-direction: column-reverse;
    }
}
.about-page__program-img
{
    display: block;

    width: 558px;

    border-radius: 16px;

    -o-object-fit: cover;

       object-fit: cover;
    aspect-ratio: 4/3;
}
.about-page__program-img.adj-logo
{
    border: solid 1px rgba(0, 0, 0, .15);
}
@media screen and (max-width: 768px)
{
    .about-page__program-img
    {
        width: 100%;

        border-radius: 8px;
    }
}
.about-page__program-body
{
    position: relative;

    padding: 60px 80px 0 80px;

    flex: 1;
}
@media screen and (max-width: 768px)
{
    .about-page__program-body
    {
        width: 100%;
        margin-top: 24px;
        padding: 40px 3.738317757vw;
    }
}
.about-page__program-title
{
    font-size: 32px;
    font-weight: bold;
}
.about-page__program-title-sub
{
    display: flex;

    align-items: center;
    gap: 24px;
}
.about-page__program-title-sub.adj-r
{
    justify-content: flex-end;
}
.about-page__program-title-sub > span
{
    font-size: 14px;

    display: block;
    display: inline-flex;

    align-items: center;
    gap: 8px;
}
.about-page__program-obj-r
{
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;

    width: 400px;
    height: 100%;

    border-radius: 16px;
    background: #fffc30;
}
@media screen and (max-width: 768px)
{
    .about-page__program-obj-r
    {
        height: 60.7476635514vw;

        aspect-ratio: 1/1;
    }
}
.about-page__program-obj-l
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    width: 400px;
    height: 100%;

    border-radius: 16px;
    background: #fffc30;

    aspect-ratio: 1/1;
}
@media screen and (max-width: 768px)
{
    .about-page__program-obj-l
    {
        height: 60.7476635514vw;
    }
}
.about-page__program-no-r
{
    font-size: 40px;
    font-weight: bold;
    line-height: 1;

    position: absolute;
    z-index: 1;
    top: 16px;
    right: 16px;

    display: inline-block;

    color: #fff;
}
.about-page__program-no-r::before
{
    position: absolute;
    z-index: -1;

    content: attr(data-text);

    color: transparent;

    inset: 0;
    -webkit-text-stroke: 3px #000;
}
.about-page__program-no-l
{
    font-size: 40px;
    font-weight: bold;
    line-height: 1;

    position: absolute;
    z-index: 1;
    top: 16px;
    left: 16px;

    display: inline-block;

    color: #fff;
}
.about-page__program-no-l::before
{
    position: absolute;
    z-index: -1;

    content: attr(data-text);

    color: transparent;

    inset: 0;
    -webkit-text-stroke: 3px #000;
}

.features
{
    position: relative;

    overflow: hidden;

    height: 880px;
}
@media screen and (max-width: 768px)
{
    .features
    {
        height: auto;
    }
    .features-adj1
    {
        gap: 80px;
    }
    .features-adj2
    {
        padding-bottom: 35.046728972vw;
    }
}
.features-loop
{
    position: relative;

    height: 600px;
}
.features-loop__track
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    width: -webkit-max-content;

    width: -moz-max-content;

    width: max-content;
    height: 100%;

    flex-wrap: nowrap;
    will-change: transform;
}
.features-loop__track-blob
{
    z-index: -1;

    -webkit-animation: mvPhotoLoop 60s linear infinite;

            animation: mvPhotoLoop 60s linear infinite;
}
.features-loop__group
{
    position: relative;

    min-width: 1600px;
    height: 100%;

    flex: 0 0 auto;
}
@media screen and (max-width: 768px)
{
    .features-loop__group
    {
        min-width: 600px;
    }
}
.features-blob
{
    position: absolute;
    z-index: 1;

    margin-top: -80px;

    pointer-events: none;

    opacity: .7;
}
.features-blob svg
{
    display: block;

    width: 100%;
    height: 100%;
}
.features-blob--1
{
    top: 10%;
    left: 15%;

    width: 300px;

    -webkit-animation: blobFloat1 11s ease-in-out infinite alternate;

            animation: blobFloat1 11s ease-in-out infinite alternate;
}
.features-blob--1 .features-blob__shape
{
    fill: #f1dfdf;
}
.features-blob--2
{
    top: 30%;
    right: 20%;

    width: 200px;

    -webkit-animation: blobFloat2 14s ease-in-out infinite alternate;

            animation: blobFloat2 14s ease-in-out infinite alternate;
}
.features-blob--2 .features-blob__shape
{
    fill: #f5f49f;
}
.features-blob--3
{
    top: 55%;
    left: 8%;

    width: 160px;

    -webkit-animation: blobFloat3 12s ease-in-out infinite alternate;

            animation: blobFloat3 12s ease-in-out infinite alternate;
}
.features-blob--3 .features-blob__shape
{
    fill: #afedc5;
}
.features-blob--4
{
    top: 60%;
    right: 0;

    width: 360px;

    -webkit-animation: blobFloat4 15s ease-in-out infinite alternate;

            animation: blobFloat4 15s ease-in-out infinite alternate;
}
.features-blob--4 .features-blob__shape
{
    fill: #9febee;
}
.features-blob--5
{
    bottom: 15%;
    left: 40%;

    width: 140px;

    -webkit-animation: blobFloat5 13s ease-in-out infinite alternate;

            animation: blobFloat5 13s ease-in-out infinite alternate;
}
.features-blob--5 .features-blob__shape
{
    fill: #d0c0e9;
}
.features__item
{
    position: relative;
}
.features-card
{
    padding: 24px;

    border-radius: 16px;
    background: rgba(255, 255, 255, .8);
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .08);

    -webkit-backdrop-filter: blur(10px);

            backdrop-filter: blur(10px);
}
.features-card__head
{
    margin-top: -66px;

    text-align: center;
}
.features-card__body
{
    padding-top: 40px;
}
.features-card__icon
{
    padding-bottom: 40px;

    text-align: center;
}
.features-card__icon img
{
    width: 240px;
    height: auto;

    mix-blend-mode: multiply;
}
.features-card__title
{
    font-size: 18px;
    font-weight: bold;
}
.features-card__text
{
    font-size: 13px;
    line-height: 1.6;

    padding-top: 16px;

    letter-spacing: 0;
}

.awards
{
    background: #efefef;
}

.news-letter
{
    gap: 0;
    align-items: stretch;
}
.news-letter__left
{
    padding-right: 40px;

    border-right: solid 1px rgba(0, 0, 0, .15);
}
@media screen and (max-width: 768px)
{
    .news-letter__left
    {
        padding-right: 0;

        border-right: inherit;
    }
}
.news-letter__right
{
    display: flex;

    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .news-letter__right
    {
        display: block;
    }
}
.news-letter__unit
{
    display: flex;

    align-items: center;
    justify-content: center;
    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .news-letter__unit
    {
        margin-top: 24px;
        padding-top: 24px;

        border-top: solid 1px rgba(0, 0, 0, .15);

        gap: 16px;
    }
    .news-letter__unit img
    {
        width: 40px;
        height: auto;
    }
}

.footer-slider
{
    position: relative;

    height: 524px;
}
@media screen and (max-width: 768px)
{
    .footer-slider
    {
        height: 100vw;
    }
}
.footer-slider .slick__under img
{
    width: 994px;
    height: 524px;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .footer-slider .slick__under img
    {
        width: 100vw;
        height: 100vw;
    }
}
.footer-slider__filter
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: rgba(0, 0, 0, .5);
}
.footer-slider__logo
{
    position: absolute;
}

.contact__unit
{
    font-size: 16px;
    font-weight: bold;

    display: flex;

    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .contact__unit
    {
        display: block;
    }
}

@media screen and (max-width: 768px)
{
    .footer-link__adj-1
    {
        display: block;
    }
    .footer-link__adj-1 > a:first-child
    {
        margin-bottom: 5.6074766355vw;
    }
}

.footer
{
    border-top: solid 1px rgba(0, 0, 0, .15);
}
.footer-nav
{
    display: flex;

    gap: 40px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.footer-nav > a
{
    display: inline-flex;

    gap: 8px;
    align-items: center;
}
.footer-sns
{
    display: flex;

    padding-top: 40px;

    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}
.footer-copy
{
    font-size: 14px;

    padding-top: 40px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .footer-copy
    {
        font-size: 12px;
    }
}

.page__title-wrapper
{
    display: flex;

    padding: 16px 0 40px;

    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .08);

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .page__title-wrapper
    {
        padding: 8px 0 24px;
    }
}
.page-list-filter__wrapper
{
    padding-bottom: 40px;
}
@media screen and (max-width: 768px)
{
    .page-list-filter__wrapper
    {
        overflow-x: auto;

        padding-bottom: 24px;
    }
}
.page-list-filter
{
    font-weight: bold;

    display: flex;

    align-items: center;
}
.page-list-filter > li
{
    display: inline-flex;

    height: 48px;
    padding: 0 24px;

    cursor: pointer;

    border-radius: 24px;

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .page-list-filter > li
    {
        font-size: 13px;

        min-width: 64px;
        height: 40px;
        padding: 0 16px;

        border-radius: 20px;
    }
    .page-list-filter > li.adj-1
    {
        min-width: 98px;
    }
    .page-list-filter > li.adj-2
    {
        min-width: 102px;
    }
    .page-list-filter > li.adj-3
    {
        min-width: 76px;
    }
}
.page-list-filter > li.active
{
    background: #fffc30;
}

.u-content.adj-wave
{
    padding-top: 56px;
    padding-bottom: 192px;
}
@media screen and (max-width: 768px)
{
    .u-content.adj-wave
    {
        padding-bottom: 18.691588785vw;
    }
}
.u-content.adj-wave-2
{
    padding-top: 56px;
    padding-bottom: 96px;
}
@media screen and (max-width: 768px)
{
    .u-content.adj-wave-2
    {
        padding-bottom: 18.691588785vw;
    }
}
.u-content.adj-border
{
    border-top: solid 1px rgba(0, 0, 0, .15);
}
.u-content__full
{
    position: relative;
}
.u-content__full.adj-border
{
    border-top: solid 1px rgba(0, 0, 0, .15);
}
.u-content__full.adj-border.adj-no-topics
{
    border-top: none;
}
.u-content__inner
{
    width: 1140px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .u-content__inner
    {
        width: 100%;
        margin: 0;
        padding: 0 3.738317757vw;
    }
}
.u-content__sm
{
    width: 752px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .u-content__sm
    {
        width: 100%;
        padding: 0 3.738317757vw;
    }
}
.u-content__xs
{
    width: 558px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .u-content__xs
    {
        width: 100%;
    }
}

.u-block__bg
{
    padding: 40px;

    border-radius: 24px;
    background: #efefef;
}
@media screen and (max-width: 768px)
{
    .u-block__bg
    {
        padding: 3.738317757vw;
    }
}
.u-block__title
{
    font-size: 24px;
    font-weight: bold;
}
.u-block__title > span
{
    font-size: 14px;

    display: block;

    padding-top: 8px;
}

@media screen and (max-width: 768px)
{
    .u-tal-issp
    {
        text-align: left;
    }
}

.content-card
{
    position: relative;

    width: 364px;
    height: 100%;

    transition: .2s ease;

    border-radius: 16px;
    background: #fff;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .08);
}
@media screen and (max-width: 768px)
{
    .content-card
    {
        width: 300px;
    }
}
.content-card.col-4
{
    width: 267px;
    padding: 24px;
}
@media screen and (max-width: 768px)
{
    .content-card.col-4
    {
        width: 200px;
        padding: 16px;

        border-radius: 8px;
    }
}
.content-card__image > img
{
    width: 100%;
    height: auto;

    border-radius: 16px 16px 0 0;

    -o-object-fit: cover;

       object-fit: cover;
    aspect-ratio: 4/3;
}
.content-card__link:nth-child(2n)
{
    padding-top: 56px;
}
.content-card__body
{
    padding: 24px;
}
.content-card__labels
{
    display: flex;

    margin-top: -36px;

    flex-wrap: wrap;
    gap: 8px;
}
.content-card__labels.adj-detail
{
    margin-top: 0;
}
.content-card__label
{
    line-height: 1;

    display: inline-flex;

    height: 24px;
    padding: 0 12px;

    color: #fff;
    border-radius: 12px;
    background: #efefef;

    align-items: center;
    justify-content: center;
}
.content-card__label.add-icn01
{
    background: #64bf83;
}
.content-card__label.add-icn02
{
    background: #5193d7;
}
.content-card__label.add-icn03
{
    background: #a459a6;
}
.content-card__label.add-icn04
{
    background: #e1a325;
}
.content-card__label.add-icn05
{
    background: #00b4ae;
}
.content-card__label.add-icn06
{
    background: #696969;
}
.content-card__title
{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;

    padding-top: 16px;
}
.content-card__meta
{
    padding-top: 16px;
}
.content-card__meta-term
{
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
}
.content-card__meta-desc
{
    font-size: 13px;
    line-height: 1.4;

    padding-top: 8px;
}
.content-card__tags
{
    display: flex;

    padding-top: 8px;

    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.content-card__tags.adj-detail
{
    padding-top: 16px;
}
.content-card__tag
{
    font-size: 13px;
    font-weight: bold;
    line-height: 1;

    display: inline-flex;

    height: 24px;
    padding: 0 2px;

    background: linear-gradient(transparent 50%, #fffc30 50%);

    align-items: center;
    justify-content: center;
}
.content-card__date
{
    font-size: 14px;

    padding-top: 8px;
}
.content-card__recruitment-period
{
    font-size: 13px;
    font-weight: bold;

    position: relative;

    padding: 8px;

    text-align: center;
    letter-spacing: 0;

    border-radius: 4px;
    background: #fffc30;

    align-items: center;
    justify-content: center;
}
.content-card__recruitment-period .add-heading
{
    position: absolute;
    right: 0;
    left: 0;

    display: block;

    margin: 0 auto;
    margin-top: -16px;
}
.content-card__icn-hiring
{
    font-weight: bold;
    line-height: 1;

    position: absolute;
    top: 0;
    left: 0;

    display: inline-flex;

    padding: 8px 16px;

    color: #fff;
    border-radius: 16px 0 24px 0;
    background: #ff6058;
}

.adj-recruiting
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    border: solid 4px #ff6058;
    border-radius: 16px;
}

.program-detail
{
    padding-top: 40px;
    padding-bottom: 96px;
}
@media screen and (max-width: 768px)
{
    .program-detail
    {
        padding-top: 0;
    }
}
.program-detail__main-img
{
    display: block;

    width: 946px;
    height: auto;
    margin: 0 auto;

    border-radius: 24px;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .program-detail__main-img
    {
        width: 100%;

        border-radius: 0;
    }
}
.program-detail .detail-note
{
    font-size: 14px;

    color: rgba(0, 0, 0, .68);
}
.program-detail .detail-table__title
{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;

    padding: 8px 16px;

    border-top: solid 1px rgba(0, 0, 0, .84);
    border-bottom: solid 1px rgba(0, 0, 0, .84);
    background: #efefef;
}
.program-detail .detail-table__list
{
    border-bottom: solid 1px rgba(0, 0, 0, .84);
}
.program-detail .detail-table__list .detail-table__item
{
    display: flex;

    padding: 24px;

    gap: 24px;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-table__list .detail-table__item
    {
        flex-direction: column;

        padding: 8px 16px;

        gap: 4px;
    }
}
.program-detail .detail-table__list .detail-table__item:nth-child(2n)
{
    background: #efefef;
}
.program-detail .detail-table__list .detail-table__item > dt
{
    font-size: 13px;
    font-weight: bold;

    flex-basis: 128px;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-table__list .detail-table__item > dt
    {
        flex-basis: inherit;
    }
}
.program-detail .detail-table__list .detail-table__item > dd
{
    font-size: 14px;

    flex: 1;
}
.program-detail .detail-summary
{
    padding-top: 40px;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-summary
    {
        padding-top: 3.738317757vw;
    }
}
.program-detail .detail-summary__title
{
    font-size: 32px;
    font-weight: bold;
    line-height: 1.4;

    padding-top: 24px;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-summary__title
    {
        font-size: 6.5420560748vw;

        padding-top: 3.738317757vw;
    }
}
.program-detail .detail-summary__card
{
    margin-top: 24px;
    padding: 24px;

    border-radius: 8px;
    background: #efefef;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-summary__card
    {
        margin-top: 3.738317757vw;
        padding: 16px;
    }
}
.program-detail .detail-summary__group
{
    padding: 16px 0;

    border-bottom: solid 1px rgba(0, 0, 0, .15);
}
.program-detail .detail-summary__group:first-child
{
    padding-top: 0;
}
.program-detail .detail-summary__term
{
    font-size: 13px;
    font-weight: bold;
    line-height: 1;

    padding-bottom: 8px;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-summary__term
    {
        font-size: 12px;
    }
}
.program-detail .detail-summary__desc
{
    font-size: 18px;
    line-height: 1.4;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-summary__desc
    {
        font-size: 16px;
    }
}
.program-detail .detail-summary__entry
{
    display: flex;

    height: 70px;
    margin-top: 24px;

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

    align-items: center;
    justify-content: center;
    gap: 8px;
}
.program-detail .detail-summary__entry.adj-end
{
    background: #efefef;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-summary__entry
    {
        height: 64px;
        margin-top: 5.6074766355vw;
    }
}
.program-detail .detail-summary__entry-label
{
    font-size: 15px;
    font-weight: bold;

    display: flex;

    height: 32px;
    padding: 0 16px;

    border: solid 1px rgba(0, 0, 0, .84);
    border-radius: 16px;
    background: #fff;

    align-items: center;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-summary__entry-label
    {
        font-size: 12px;
        line-height: 1;

        height: 28px;
        padding: 0 12px;
    }
}
.program-detail .detail-summary__entry-date
{
    font-size: 20px;
    font-weight: bold;
}
.program-detail .detail-summary__entry-date > span
{
    font-size: 14px;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-summary__entry-date
    {
        font-size: 16px;
    }
    .program-detail .detail-summary__entry-date > span
    {
        font-size: 12px;
    }
}
.sns-share
{
    display: flex;

    margin-top: 40px;

    gap: 16px;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .sns-share
    {
        margin-top: 32px;

        gap: 12px;
    }
}
.sns-share__button
{
    display: inline-flex;

    width: 48px;
    height: 48px;

    cursor: pointer;
    transition: opacity .2s;

    border: solid 1px rgba(0, 0, 0, .15);
    border-radius: 50%;
    background: #fff;

    align-items: center;
    justify-content: center;
}
.sns-share__button:hover
{
    opacity: .7;
}
.sns-share__button > img
{
    width: 28px;
    height: 28px;

    -o-object-fit: contain;

       object-fit: contain;
}
.sns-share__button--line
{
    font-size: 11px;
    font-weight: bold;
    line-height: 1;

    letter-spacing: 0;

    border: solid 1px rgba(0, 0, 0, .15);
    background: #fff;
}
.sns-share__button--facebook > img
{
    width: 30px;
    height: 30px;
}

.program-detail .detail-section-heading
{
    padding: 24px 0;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-section-heading
    {
        padding: 16px 0;
    }
}
.program-detail .detail-section-heading__title
{
    font-size: 32px;
    font-weight: bold;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-section-heading__title
    {
        font-size: 28px;
    }
}
.program-detail .detail-section-heading__label
{
    font-weight: bold;
    line-height: 1;

    display: inline-block;

    padding: 4px;

    border-radius: 2px;
    background: #fffc30;
}
.program-detail .detail-section-heading__divider
{
    display: block;

    width: 1px;
    height: 40px;
    margin: 0 auto;
    margin-top: 24px;

    background: rgba(0, 0, 0, .15);
}
.program-detail .detail-section__body > p
{
    line-height: 2;

    padding-top: 24px;
}
.program-detail .detail-section__body > p.adj-npt
{
    padding-top: 0;
}
.program-detail .detail-section__gallery
{
    display: flex;

    padding-top: 24px;

    flex-wrap: wrap;
    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .program-detail .detail-section__gallery
    {
        padding-top: 16px;

        gap: 16px;
    }
}
.program-detail .detail-section__gallery > img
{
    display: block;

    width: 100%;

    border-radius: 8px;

    -o-object-fit: cover;

       object-fit: cover;
}
.program-detail .detail-section__gallery.adj-2col > img
{
    width: 364px;
}

.voice-hanrei
{
    font-size: 13px;
    font-weight: bold;

    display: flex;

    padding: 4px 8px;

    border-radius: 4px;
    background: #fff;

    gap: 16px;
}
.voice-comment__category-1
{
    font-weight: bold;
    line-height: 1.4;

    display: flex;

    min-height: 115px;
    padding: 8px 0 16px 0;

    background: url(../img/common/icn_voice-1.svg) center center no-repeat;
    background-size: 115px 115px;

    align-items: center;
}
.voice-comment__category-2
{
    font-weight: bold;
    line-height: 1.4;

    display: flex;

    min-height: 115px;
    padding: 8px 0 16px 0;

    background: url(../img/common/icn_voice-2.svg) center center no-repeat;
    background-size: 115px 115px;

    align-items: center;
}
.voice-comment__category-3
{
    font-weight: bold;
    line-height: 1.4;

    display: flex;

    min-height: 115px;
    padding: 8px 0 16px 0;

    background: url(../img/common/icn_voice-3.svg) center center no-repeat;
    background-size: 115px 115px;

    align-items: center;
}
.voice-comment__program
{
    font-size: 13px;
    line-height: 1.4;

    padding-top: 4px;
}
@media screen and (max-width: 768px)
{
    .voice-comment__program
    {
        font-size: 12px;
    }
}
.voice-note
{
    font-size: 14px;
    line-height: 1.4;

    display: inline-block;

    margin-top: 24px;

    color: rgba(0, 0, 0, .68);
}
@media screen and (max-width: 768px)
{
    .voice-note
    {
        font-size: 13px;
    }
}

.c-heading__section
{
    display: inline-flex;

    gap: 16px;
    flex-wrap: wrap;
    align-items: baseline;
}
.c-heading__section > span
{
    font-size: 16px;
    font-weight: bold;

    color: rgba(0, 0, 0, .84);
}
.c-heading__section .add-title
{
    font-size: 30px;
    font-weight: 700;
    line-height: 1;

    position: relative;
    z-index: 1;

    display: inline-block;

    letter-spacing: 1.5px;

    color: #fff;
}
.c-heading__section .add-title::before
{
    position: absolute;
    z-index: -1;

    content: attr(data-text);

    color: transparent;

    inset: 0;
    -webkit-text-stroke: 3px #000;
}
.c-heading__page
{
    display: inline-flex;
    flex-direction: column;

    gap: 24px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .c-heading__page
    {
        gap: 8px;
    }
}
.c-heading__page > span
{
    font-size: 20px;
    font-weight: bold;

    color: rgba(0, 0, 0, .84);
}
@media screen and (max-width: 768px)
{
    .c-heading__page > span
    {
        font-size: 16px;

        gap: 8px;
    }
}
.c-heading__page .add-title
{
    font-size: 40px;
    font-weight: 700;
    line-height: 1;

    position: relative;
    z-index: 1;

    display: inline-block;

    letter-spacing: 1.5px;

    color: #fff;
}
@media screen and (max-width: 768px)
{
    .c-heading__page .add-title
    {
        font-size: 32px;
    }
}
.c-heading__page .add-title::before
{
    position: absolute;
    z-index: -1;

    content: attr(data-text);

    color: transparent;

    inset: 0;
    -webkit-text-stroke: 3px #000;
}
.c-heading__wrapper
{
    display: flex;

    align-items: center;
    justify-content: space-between;
}
@media screen and (max-width: 768px)
{
    .c-heading__wrapper
    {
        flex-direction: column;

        align-items: flex-start;
        gap: 24px;
    }
}
.c-heading__wrapper-page
{
    display: flex;

    align-items: center;
    justify-content: center;
}
.c-heading__box
{
    font-weight: bold;
    line-height: 1.4;

    padding: 8px;

    border-radius: 8px;
    background: #f1f3f4;
}
