@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');
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..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);
    background-color: #fff;

    font-optical-sizing: auto;
       -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;
}

.mv-title
{
    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: #e14942;
}
.u-col__u02
{
    color: #2699fb;
}
.u-col__u03
{
    color: #27ca40;
}
.u-col__u04
{
    color: #e1a325;
}
.u-col__u05
{
    color: #704f8f;
}
.u-col__sub2
{
    color: rgba(0, 0, 0, .34);
}
.u-col__sub
{
    color: rgba(0, 0, 0, .57);
}
.u-col__def
{
    color: rgba(0, 0, 0, .84);
}
.u-col__bg
{
    color: #f1f4f8;
}
.u-col__bg2
{
    color: #f5f1f6;
}
.u-col__wh
{
    color: #fff;
}
.u-col__key
{
    color: #14207a;
}
.u-col__cta
{
    color: #ff5c37;
}

/* =========================================
  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);
}

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

/* 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
{
    position: relative;

    padding-block: var(--container-pad-y) var(--container-pad-x);
    padding-inline: 0;
}
@media screen and (max-width: 768px)
{
    .u-content__full
    {
        padding: 16.8224299065vw 0 18.691588785vw;
    }
}
.u-content__full.bg-key
{
    color: #fff;
    background: #14207a;
}
.u-content__full.bg
{
    background: #f1f4f8;
}
.u-content__full.bg-sub
{
    background: rgba(0, 0, 0, .57);
}
.u-content__full.bg-wh
{
    background: #fff;
}

/* =========================================
  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;
    }
}
/* gap utilities */
.u-gap__n
{
    gap: 0;
}

.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__n
{
    gap: 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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

.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__n
{
    gap: 0;
}

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

/* 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.sub
{
    display: flex;

    gap: 8px;
    flex-wrap: wrap;
    align-items: baseline;
}
@media screen and (max-width: 768px)
{
    .c-heading.sub
    {
        gap: 1.8691588785vw;
    }
}
.c-heading.icn
{
    display: flex;

    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .c-heading.icn
    {
        gap: 1.8691588785vw;
    }
}
.c-heading > span
{
    font-size: 16px;
}
@media screen and (max-width: 768px)
{
    .c-heading > span
    {
        font-size: 3.738317757vw;
    }
}
.c-heading.wh
{
    color: #fff;
}
.c-heading.key
{
    color: #14207a;
}
.c-heading.u02
{
    color: #2699fb;
}

.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;
    gap: 24px;
    flex-wrap: wrap;
}
.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, .57);
    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-1) 0;

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

    flex-wrap: wrap;
}
.u-list__dl.block
{
    display: block;
}
.u-list__dl:first-child
{
    border-top: none;
}
.u-list__dl > dt
{
    font-size: 14px;
    font-weight: bold;
    line-height: 1.6;

    padding-top: 1px;

    color: #14207a;

    flex-basis: 96px;
}
@media screen and (max-width: 768px)
{
    .u-list__dl > dt
    {
        font-size: 14px;
    }
}
.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
{
    display: flex;

    padding: var(--sp-1) 0;
}
.u-list__circle > li:first-child
{
    border-top: none;
}
.u-list__circle > li::before
{
    content: '・';

    color: #2699fb;
}
@media screen and (max-width: 768px)
{
    .u-list__circle > li
    {
        padding-left: 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, .57);
}

/* margin auto（OK） */
.u-ma
{
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .u-ma__sp
    {
        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);
    }
}

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

    display: block;

    width: 100%;
    min-width: 1280px;
    height: 120px;
}
.header__logo
{
    position: absolute;
    top: 0;
    left: 0;
}
.header__logo > img
{
    width: 120px;
}
@media screen and (max-width: 768px)
{
    .header
    {
        width: 100%;
        min-width: inherit;
    }
    .header__logo
    {
        top: 0;
        left: 0;
    }
    .header__logo > img
    {
        width: 90px;
    }
}

.footer
{
    padding: 128px 40px 80px 40px;

    border-top: solid 1px rgba(0, 0, 0, .15);
    background: #fff;
}
@media screen and (max-width: 768px)
{
    .footer
    {
        padding: 29.9065420561vw 3.738317757vw 18.691588785vw 3.738317757vw;
    }
}
.footer__inner
{
    display: flex;
    flex-direction: column;

    gap: 40px;
    align-items: center;
    justify-content: stretch;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .footer__inner
    {
        gap: 9.3457943925vw;
    }
}
.footer__sns
{
    display: flex;

    width: 100%;
    padding: 40px 0;

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

    align-items: center;
    justify-content: center;
    gap: 24px;
}
.footer__copy
{
    font-size: 13px;

    padding-top: 40px;
}
@media screen and (max-width: 768px)
{
    .footer__copy
    {
        padding-top: 9.3457943925vw;
    }
}

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

    transition: all .4s;
}

.menu__trigger
{
    position: absolute;
    z-index: 3;
    top: 24px;
    right: 40px;

    width: 48px;
    height: 48px;

    cursor: pointer;

    border: none;
    border-radius: 100%;
    background: #14207a;

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none;
}
@media screen and (max-width: 768px)
{
    .menu__trigger
    {
        top: 16px;
        right: 16px;

        display: block;
    }
}

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

    width: 28px;
    height: 1px;

    border-radius: 1px;
    background-color: white;
}
@media screen and (max-width: 768px)
{
    .menu__trigger span
    {
        left: 0;

        height: 1px;

        border-radius: 1px;
    }
}

.menu__trigger span:nth-of-type(1)
{
    top: 18px;
    left: 10px;
}

.menu__trigger span:nth-of-type(2)
{
    top: 30px;
    left: 10px;
}

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

    background-color: #fff;
}

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

    background-color: #fff;
}

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

    display: none;
    overflow-y: auto;

    width: 100%;
    height: 100svh;

    color: #fff;
    background: #14207a;

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

    width: 800px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .dr-menu__inner
    {
        display: block;

        width: 100%;
        padding: 64px 5.6074766355vw 24px 5.6074766355vw;
    }
}
.dr-menu__link
{
    font-size: 20px;

    display: flex;

    color: #fff;

    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}
.dr-menu__link.under-link:before
{
    content: '-';
}
.dr-menu__link:link,
.dr-menu__link:visited
{
    color: #fff;
}
.dr-menu__link > span
{
    font-size: 14px;

    color: rgba(255, 255, 255, .7);
}
.dr-menu__link-sm
{
    font-size: 16px;

    color: #fff;
    color: rgba(255, 255, 255, .7);

    flex-wrap: wrap;
}
.dr-menu__link-sm:link,
.dr-menu__link-sm:visited
{
    color: rgba(255, 255, 255, .7);
}
.dr-menu__btn
{
    font-size: 16px;
    font-weight: bold;

    display: flex;

    height: 40px;

    border: solid 1px #fff;

    flex-basis: 300px;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .dr-menu__btn
    {
        flex-basis: 100%;
    }
}
.dr-menu__btn:link,
.dr-menu__btn:visited
{
    color: #fff;
}
.dr-menu__item-wrapper
{
    display: flex;

    flex-wrap: wrap;
    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .dr-menu__item-wrapper
    {
        gap: 16px;
    }
}
.dr-menu__unit01
{
    display: flex;
    flex-direction: column;

    gap: 16px;
    align-items: flex-start;
    flex-basis: 380px;
}
.dr-menu__unit02
{
    display: flex;
    flex-direction: column;

    gap: 16px;
    align-items: flex-start;
    flex-basis: 380px;
}
.dr-menu__unit03
{
    display: flex;

    padding-top: 24px;

    gap: 24px;
    align-items: flex-start;
}
@media screen and (max-width: 768px)
{
    .dr-menu__unit03
    {
        flex-direction: column;

        padding-top: 40px;

        gap: 16px;
    }
}
.dr-menu__unit04
{
    display: flex;

    gap: 24px;
    align-items: center;
}
.dr-menu__unit04 > a
{
    padding-left: 24px;

    border-left: 1px solid #fff;
}
.dr-menu__unit05
{
    display: flex;

    padding-left: 40px;

    gap: 24px;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .dr-menu__unit05
    {
        padding-top: 24px;
        padding-left: 0;
    }
}
.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: 0;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 40px;
    height: 1px;
    margin: 0;
    padding: 0;

    cursor: pointer;
}

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

    display: block;

    width: 40px;
    height: 1px;
    padding: 0;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: rgba(0, 0, 0, .34);
}

.slick-dots li.slick-active button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 40px;
    height: 1px;
    padding: 0;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: rgba(0, 0, 0, .57);
}

.slick-dots li button:before
{
    content: none;
}

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

.slick-dots
{
    bottom: -40px;
}

.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;
    }
}

.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, .57);
}
.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, .57);
}
.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: #f1f4f8;
}

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

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

.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);
    /* カレント数字 */
    border: none;
    background: inherit;
}

.wp-pagenavi a.page:hover
{
    /* マウスオーバー */
    background: inherit;
}

.wp-pagenavi .first,
.wp-pagenavi .extend
{
    /* ... */
    margin-right: 10px;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink
{
    /* 記号の削除 */
    display: none;
}

.u-content__inner
{
    width: 1120px;
    margin: 0 auto;
    padding: 80px 0;
}
@media screen and (max-width: 768px)
{
    .u-content__inner
    {
        width: 100%;
        padding: 18.691588785vw 3.738317757vw;
    }
}
@media screen and (max-width: 768px)
{
    .u-content__inner.npb
    {
        padding-bottom: 0;
    }
}
@media screen and (max-width: 768px)
{
    .u-content__inner.npx
    {
        width: 100%;
        padding: 18.691588785vw 0;
    }
}
.u-content__inner.np
{
    padding: 0;
}
@media screen and (max-width: 768px)
{
    .u-content__inner.np
    {
        padding: 0 3.738317757vw;
    }
}
.u-content__sm
{
    width: 736px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .u-content__sm
    {
        width: 100%;
    }
}
@media screen and (max-width: 768px)
{
    .u-content__npx-inner
    {
        padding: 0 3.738317757vw;
    }
}
.u-content__diagonal-blue
{
    position: relative;

    overflow: hidden;

    min-height: 400px;
    padding: 140px 0;

    color: #fff;
    background: #14207a;
}
.u-content__diagonal-blue::after
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    content: '';

    border-top: 60px solid transparent;
    border-right: 50vw solid #fff;
    border-bottom: 60px solid #fff;
    border-left: 50vw solid transparent;
}
.u-content__diagonal-blue2
{
    position: relative;
}
.u-content__diagonal-blue2::after
{
    position: absolute;
    z-index: 1;
    bottom: -120px;
    left: 0;

    display: block;

    width: 100%;
    height: 120px;

    content: '';

    background: #14207a;

    -webkit-clip-path: polygon(100% 0, 0 0, 0 100%);

            clip-path: polygon(100% 0, 0 0, 0 100%);
}
.u-content__diagonal-wh
{
    position: relative;

    min-height: 400px;

    background: #fff;
}
.u-content__diagonal-wh::after
{
    position: absolute;
    z-index: 1;
    bottom: -120px;
    left: 0;

    display: block;

    width: 100%;
    height: 120px;

    content: '';

    background: #fff;

    -webkit-clip-path: polygon(100% 0, 0 0, 0 100%);

            clip-path: polygon(100% 0, 0 0, 0 100%);
}
.u-content__diagonal-wh2
{
    position: relative;
}
.u-content__diagonal-wh2::after
{
    position: absolute;
    z-index: 1;
    bottom: -119px;
    left: 0;

    display: block;

    width: 100%;
    height: 120px;

    content: '';

    background: #fff;

    -webkit-clip-path: polygon(100% 0, 0 0, 0 100%);

            clip-path: polygon(100% 0, 0 0, 0 100%);
}

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

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

.u-list__no li
{
    padding: 16px 0;

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

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

    opacity: .3 !important;
}

.u-marker
{
    font-weight: bold;

    background: linear-gradient(transparent 60%, #ff6 60%);
}

.u-waku__wh
{
    padding: 16px 0;

    background: url(../img/common/waku_lt.png) no-repeat left top, url(../img/common/waku_rt.png) no-repeat right top, url(../img/common/waku_lb.png) no-repeat left bottom, url(../img/common/waku_rb.png) no-repeat right bottom;
}
.u-waku__bl
{
    padding: 16px 0;

    background: url(../img/common/waku_lt-b.svg) no-repeat left top, url(../img/common/waku_rt-b.svg) no-repeat right top, url(../img/common/waku_lb-b.svg) no-repeat left bottom, url(../img/common/waku_rb-b.svg) no-repeat right bottom;
}
.u-waku__ds
{
    padding: 0;

    border-radius: 24px;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .08);
}
@media screen and (max-width: 768px)
{
    .u-waku__ds
    {
        padding: 0;
    }
}
.u-waku__ds > .u-waku__inner
{
    position: relative;

    padding: 40px;
}
@media screen and (max-width: 768px)
{
    .u-waku__ds > .u-waku__inner
    {
        padding: 5.6074766355vw 3.738317757vw;
    }
}
.u-waku__ds > .u-waku__inner.adj-bg
{
    background: #f1f4f8;
}
.u-waku__box
{
    padding: 24px;

    border-radius: 8px;
    background: #fff;
}
.u-waku__box.adj-bg
{
    background: #f1f4f8;
}
@media screen and (max-width: 768px)
{
    .u-waku__box
    {
        padding: 3.738317757vw;

        border-radius: 1.8691588785vw;
    }
}

.u-area__brr
{
    padding: 24px;

    border-radius: 24px;
    background: #fff;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .08);
}

.u-dl__wrapper > dl
{
    display: flex;

    padding: 8px 0;

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

    gap: 24px;
    flex-wrap: wrap;
}
.u-dl__wrapper > dl > dt
{
    font-size: 13px;
    font-weight: bold;

    padding-top: 2px;

    color: #14207a;
}
.u-dl__wrapper > dl > dd
{
    font-size: 16px;
    font-weight: bold;

    display: flex;

    flex: 1;
    flex-wrap: wrap;
}
.u-dl__wrapper > dl > dd > p
{
    line-height: 1.4;

    flex-basis: 100%;
}
.u-dl__wrapper > dl > dd > p.cap
{
    font-size: 13px;
    font-weight: normal;
}
.u-dl__wrapper > dl > dd.sub
{
    font-size: 14px;

    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}
.u-dl__wrapper > dl > dd.sub > span
{
    font-weight: normal;

    color: rgba(0, 0, 0, .57);
}

.u-flow-arrow
{
    position: absolute;
    top: -12px;
    left: 50%;

    margin-left: -25px;
}

.u-fs__cap
{
    font-size: 14px;
    font-style: italic;

    color: rgba(0, 0, 0, .57);
}
@media screen and (max-width: 768px)
{
    .u-fs__cap
    {
        font-size: 2.8037383178vw;
    }
}

.u-btn__cta
{
    font-size: 16px;
    font-weight: bold;

    display: flex;

    height: 56px;

    transition: .2s ease;
    pointer-events: all;

    opacity: 1;
    border: solid 2px #fff;
    border-radius: 28px;
    background: #ff5c37;

    align-items: center;
    justify-content: center;
}
.u-btn__cta.is-hidden
{
    pointer-events: none;

    opacity: 0;
}
.u-btn__cta:hover
{
    opacity: .7;
    background: #ff5c37;
}
.u-btn__cta:link,
.u-btn__cta:visited
{
    color: #fff;
}
@media screen and (max-width: 768px)
{
    .u-btn__cta
    {
        height: 56px;
    }
}
.u-btn__cta-wrapper
{
    position: fixed;
    z-index: 2;
    right: 0;
    bottom: 60px;

    width: 240px;
    height: 56px;
}
@media screen and (max-width: 768px)
{
    .u-btn__cta-wrapper
    {
        right: 0;
        bottom: 40px;
        left: 0;

        width: 300px;
        height: 56px;
        margin: 0 auto;
    }
}
.u-btn__ghost
{
    display: flex;

    width: 200px;
    height: 56px;

    transition: .2s ease;

    border: solid 2px #fff;
    border-radius: 28px;

    align-items: center;
    justify-content: center;
}
.u-btn__ghost:link,
.u-btn__ghost:visited
{
    color: #fff;
}
.u-btn__ghost:hover
{
    opacity: 1;
    background: rgba(255, 255, 255, .1);
}
.u-btn__ghost-bl
{
    display: flex;

    width: 200px;
    height: 56px;

    transition: .2s ease;

    border: solid 2px #14207a;
    border-radius: 28px;

    align-items: center;
    justify-content: center;
}
.u-btn__ghost-bl:link,
.u-btn__ghost-bl:visited
{
    color: #14207a;
}
.u-btn__ghost-bl:hover
{
    opacity: 1;
    background: rgba(0, 128, 255, .1);
}
.u-btn__def
{
    display: flex;

    width: 200px;
    height: 56px;

    transition: .2s ease;

    border: solid 2px #14207a;
    border-radius: 28px;
    background: #14207a;

    align-items: center;
    justify-content: center;
}
.u-btn__def:link,
.u-btn__def:visited
{
    color: #fff;
}
.u-btn__def:hover
{
    opacity: .7;
    background: #14207a;
}
.u-btn__sub
{
    font-weight: bold;

    display: flex;

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

    transition: .2s ease;

    border: solid 2px #14207a;
    border-radius: 4px;
    background: #fff;

    align-items: center;
    justify-content: center;
    gap: 8px;
}
.u-btn__sub:link,
.u-btn__sub:visited
{
    color: #14207a;
}
.u-btn__sub:hover
{
    opacity: .7;
    background: #f1f4f8;
}
.u-btn__center-issp
{
    margin: 0 auto;
}
.u-btn__acc
{
    font-size: 16px;

    display: flex;

    height: 48px;

    border: solid 1px #14207a;

    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.u-btn__acc:link,
.u-btn__acc:visited
{
    color: #14207a;
}

@media screen and (max-width: 768px)
{
    .u-row__adj1
    {
        padding-bottom: 5.6074766355vw;

        border-bottom: solid 1px rgba(0, 0, 0, .15);
    }
    .u-row__adj1:last-child
    {
        border-bottom: none;
    }
}

.u-img__wrapper
{
    border-radius: 16px;
}
@media screen and (max-width: 768px)
{
    .u-img__wrapper
    {
        border-radius: 3.738317757vw;
    }
}

.c-catch__lg
{
    font-size: 32px;
    font-weight: bold;
    line-height: 2;

    color: #14207a;
}
@media screen and (max-width: 768px)
{
    .c-catch__lg
    {
        font-size: 6.5420560748vw;
    }
}

.c-heading__block
{
    font-size: 16px;
    font-weight: bold;
    line-height: 1;

    padding: 12px 16px;

    color: #14207a;
    background: #e1f1fe;
}
.c-heading__block.bg-wh
{
    background: #fff;
}

.mv
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: 100svh;
}
.mv::after
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    content: '';

    border-top: 60px solid transparent;
    border-right: 50vw solid #14207a;
    border-bottom: 60px solid #14207a;
    border-left: 50vw solid transparent;
}
.mv-catch
{
    position: absolute;
    bottom: 64px;
    left: 80px;
}
@media screen and (max-width: 768px)
{
    .mv-catch
    {
        top: 200px;
        bottom: inherit;
        left: 40px;
    }
    .mv-catch img
    {
        width: 280px;
    }
}
.mv-title
{
    position: absolute;
}
@media screen and (max-width: 768px)
{
    .mv-title
    {
        top: inherit;
        bottom: 100px;
    }
    .mv-title img
    {
        width: 200px;
    }
}
.mv-bg
{
    position: fixed;
    z-index: -2;
    top: 0;
    left: 0;

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

    -o-object-fit: cover;

       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
}
@media screen and (max-width: 768px)
{
    .mv-bg
    {
        min-width: inherit;
    }
}
.mv-bg__filter
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

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

    background: url(../img/top/bg_mv.png);

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .mv-bg__filter
    {
        min-width: inherit;
    }
}

.schedule-unit01
{
    display: flex;

    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
.schedule-stage
{
    font-size: 18px;
    font-weight: bold;
}
.schedule-video
{
    font-size: 14px;
    font-weight: bold;

    display: flex;

    color: #fff;

    align-items: center;
    justify-content: center;
    gap: 8px;
}
.schedule-video > span
{
    font-size: 12px;
    font-weight: bold;
    line-height: 1;

    padding: 4px;

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

    color: #14207a;
    background: #fff;
}
.schedule-spec
{
    font-size: 13px;

    display: flex;

    justify-content: flex-end;
    align-items: center;
    gap: 16px;
}
.schedule-spec > span
{
    font-size: 16px;

    padding-left: 16px;

    border-left: solid 1px #fff;
}
.schedule-date
{
    font-size: 32px;
    font-weight: bold;

    text-align: center;
}
.schedule-date > span
{
    font-size: 16px;
}
.schedule-at
{
    font-size: 32px;
    font-weight: bold;

    text-align: center;
}

.prestage
{
    position: relative;

    display: block;

    padding: 16px;

    color: #fff;
    border: solid 2px #fff;
}
@media screen and (max-width: 768px)
{
    .prestage
    {
        padding: 8px;
    }
}
.prestage::after
{
    position: absolute;
    right: 16px;
    bottom: 14px;

    width: 32px;
    height: 32px;

    content: '';

    background: url(../img/common/arrow-card.svg) no-repeat;
}
.prestage:link,
.prestage:visited
{
    color: #fff;
}
.prestage-title
{
    font-size: 14px;
    font-weight: bold;

    padding-bottom: 8px;

    text-align: center;
}
.prestage-title > span
{
    font-size: 18px;

    display: block;
}
.prestage-wrapper
{
    display: flex;

    padding: 16px;

    color: #14207a;
    background: #fff;

    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .prestage-wrapper
    {
        padding: 8px 0;
    }
}
.prestage-item
{
    font-weight: bold;

    display: flex;

    border-right: solid 1px #14207a;

    flex-basis: 50%;
    gap: 8px;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .prestage-item
    {
        font-size: 15px;
        font-weight: bold;

        display: block;

        padding: 8px;

        text-align: center;
    }
}
.prestage-item:last-child
{
    border-right: none;
}
.prestage-txt
{
    padding: 16px 8px 0;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .prestage-txt
    {
        padding: 8px 48px 0 0;

        text-align: left;
        letter-spacing: 0;
    }
}

.news-list
{
    display: flex;
    flex-direction: column;

    gap: 24px;
    flex-wrap: wrap;
}
.news-list > li
{
    padding-bottom: 24px;

    border-bottom: 1px solid rgba(0, 0, 0, .15);
}
.news-list > li > a
{
    display: flex;

    flex-wrap: wrap;
    gap: 24px;
    align-items: center;
}
.news-list > li > a > img
{
    width: 80px;
    height: 80px;

    border: solid 1px rgba(0, 0, 0, .08);
    border-radius: 40px;

    -o-object-fit: cover;

       object-fit: cover;
}
.news-list__unit01
{
    flex: 1;
}
.news-list__date
{
    font-size: 13px;

    color: rgba(0, 0, 0, .57);
}
.news-list__txt
{
    font-size: 16px;

    color: #14207a;
}

.news-detail
{
    padding-top: 100px;
}
@media screen and (max-width: 768px)
{
    .news-detail
    {
        padding-top: 90px;
    }
}
.news-detail__mv > img
{
    width: 100%;
    height: auto;

    border-radius: 24px;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .08);
}
@media screen and (max-width: 768px)
{
    .news-detail__mv > img
    {
        border-radius: 0;
        box-shadow: none;
    }
}
.news-detail__title
{
    font-size: 28px;
    font-weight: bold;

    color: #14207a;
}
@media screen and (max-width: 768px) and (max-width: 768px)
{
    .news-detail__title
    {
        font-size: 5.6074766355vw;
    }
}
.news-detail__content
{
    margin-top: 24px;
    padding-top: 24px;

    border-top: solid 1px rgba(0, 0, 0, .15);
}
.news-detail__date
{
    font-weight: bold;
}
.news-detail__icn
{
    font-size: 13px;
    line-height: 1;

    padding: 4px 8px;

    color: #fff;
    border-radius: 4px;
    background: rgba(0, 0, 0, .84);
}
@media screen and (max-width: 768px)
{
    .news-detail__icn
    {
        font-size: 3.0373831776vw;
    }
}
.news-detail .unit01
{
    display: flex;

    padding-bottom: 8px;

    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .news-detail .unit01
    {
        padding-bottom: 1.8691588785vw;
    }
}
.news-detail .code-bloc iframe
{
    width: 100% !important;
    height: auto;

    aspect-ratio: 16/9;
}
.news-detail .block-2col
{
    display: flex;

    padding-top: 24px;

    flex-wrap: wrap;
    justify-content: space-between;
}
@media screen and (max-width: 768px)
{
    .news-detail .block-2col
    {
        padding-top: 5.6074766355vw;
    }
}
.news-detail .block-2col > .item
{
    flex-basis: 364px;
}
.news-detail .block-2col > .item .img > img
{
    display: block;

    width: 100%;

    border-radius: 8px;
}
.news-detail .block-2col > .item .img .cap
{
    font-size: 13px;
    font-style: italic;

    display: block;

    padding-top: 8px;

    color: rgba(0, 0, 0, .57);
}
@media screen and (max-width: 768px)
{
    .news-detail .block-2col > .item .img .cap
    {
        font-size: 2.8037383178vw;
    }
}
.news-detail .block-2col > .item .txt
{
    font-size: 14px;

    padding-top: 16px;
}
@media screen and (max-width: 768px)
{
    .news-detail .block-2col > .item .txt
    {
        font-size: 3.2710280374vw;

        padding-top: 3.738317757vw;
    }
}
.news-detail .block-1col
{
    padding-top: 24px;
}
@media screen and (max-width: 768px)
{
    .news-detail .block-1col
    {
        padding-top: 5.6074766355vw;
    }
}
.news-detail .block-1col > .item .img > img
{
    display: block;

    width: 100%;

    border-radius: 16px;
}
@media screen and (max-width: 768px)
{
    .news-detail .block-1col > .item .img > img
    {
        border-radius: 8px;
    }
}
.news-detail .block-1col > .item .img .cap
{
    font-size: 13px;
    font-style: italic;

    display: block;

    padding-top: 8px;

    color: rgba(0, 0, 0, .57);
}
@media screen and (max-width: 768px)
{
    .news-detail .block-1col > .item .img .cap
    {
        font-size: 2.8037383178vw;
    }
}
.news-detail .block-1col > .item .txt
{
    font-size: 14px;

    padding-top: 16px;
}
@media screen and (max-width: 768px)
{
    .news-detail .block-1col > .item .txt
    {
        font-size: 3.2710280374vw;

        padding-top: 3.738317757vw;
    }
}
.news-detail .tb-heading
{
    font-weight: bold;

    padding: 8px;

    border-top: solid 1px rgba(0, 0, 0, .15);
    background: #f1f4f8;
}
.news-detail .u-box__3
{
    margin-top: 24px;
}
@media screen and (max-width: 768px)
{
    .news-detail .u-box__3
    {
        margin-top: 5.6074766355vw;
    }
}

.about-top
{
    margin-top: 600px;

    background: #fff;
}
@media screen and (max-width: 768px)
{
    .about-top
    {
        margin-top: 77.1028037383vw;
    }
}
.about-top__img
{
    position: absolute;
    top: -600px;

    width: 100%;
    max-height: 600px;

    -o-object-fit: cover;

       object-fit: cover;
    -o-object-position: left center;
       object-position: left center;
}
@media screen and (max-width: 768px)
{
    .about-top__img
    {
        top: 0;

        height: 93.4579439252vw;
    }
}
.about-people
{
    width: 400px;
    height: auto;
}

.feature-card
{
    display: block;

    padding: 24px 24px 40px 24px;

    text-align: center;

    border-radius: 16px;
    background: #fff url(../img/common/arrow-card.svg) no-repeat right 16px bottom 16px;
}
.feature-card.adj-1
{
    padding: 24px;

    background: none;
}
@media screen and (max-width: 768px)
{
    .feature-card.adj-1
    {
        padding: 3.738317757vw;
    }
}
.feature-card__img
{
    padding: 32px 0 24px 0;
}
.feature-title
{
    font-size: 32px;
    font-weight: bold;
    line-height: 1;

    display: flex;
    flex-direction: column;

    color: #14207a;

    gap: 8px;
    align-items: center;
}
.feature-title > span
{
    font-size: 16px;
}
.feature-heading
{
    font-size: 16px;
    font-weight: bold;

    margin-top: 24px;
    padding-top: 24px;

    -moz-text-align-last: left;

         text-align-last: left;

    color: #14207a;
    border-top: solid 1px rgba(0, 0, 0, .15);
}
.feature-txt
{
    font-size: 14px;
    line-height: 1.6;

    height: 128px;
    padding-top: 8px;

    text-align: left;
}
@media screen and (max-width: 768px)
{
    .feature-txt
    {
        height: auto;
    }
}

.page-title
{
    font-size: 40px;
    font-weight: bold;
    line-height: 1.4;

    display: flex;
    flex-direction: column;

    padding: 40px 0;

    color: #14207a;
    background: #fff;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .08);

    gap: 16px;
    align-items: center;
}
.page-title > span
{
    font-size: 16px;
}
@media screen and (max-width: 768px)
{
    .page-title
    {
        font-size: 9.3457943925vw;

        padding: 23.3644859813vw 0 9.3457943925vw 0;
    }
    .page-title > span
    {
        font-size: 3.738317757vw;
    }
}
.page-main__img
{
    padding: 0;

    text-align: center;

    background: #fff;
}
.page-main__img > img
{
    width: 736px;

    border-radius: 24px;

    filter: drop-shadow(0 0 24px rgba(0, 0, 0, .08));
}
@media screen and (max-width: 768px)
{
    .page-main__img
    {
        padding: 0;

        background: #fff;
    }
    .page-main__img > img
    {
        border-radius: 0;

        filter: none;
    }
}

.twoline-spec
{
    border-top: solid 1px rgba(0, 0, 0, .15);
}
.twoline-spec__title
{
    font-size: 56px;
    font-weight: bold;
    line-height: 1;

    color: #14207a;
}
.twoline-spec__sub
{
    font-size: 32px;
    font-weight: bold;
    line-height: 1;

    color: #14207a;
}
.twoline-spec__inner
{
    display: flex;

    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .twoline-spec__inner
    {
        display: block;

        padding-top: 0;
        padding-bottom: 0;
    }
}
.twoline-spec__item
{
    padding-right: 40px;

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

    flex-basis: 50%;
}
@media screen and (max-width: 768px)
{
    .twoline-spec__item
    {
        padding-right: 0;
        padding-bottom: 18.691588785vw;

        border-right: none;
    }
}
.twoline-spec__item:last-child
{
    padding-right: 0;
    padding-left: 40px;

    border-right: none;
}
@media screen and (max-width: 768px)
{
    .twoline-spec__item:last-child
    {
        padding-bottom: 0;
        padding-left: 0;
    }
}
.twoline-spec__item .adj__01
{
    padding: 28px 0;
}
@media screen and (max-width: 768px)
{
    .twoline-spec__item .adj__01
    {
        padding: 0;
    }
}
.twoline-spec__item .adj__02
{
    padding-bottom: 26px;
}
@media screen and (max-width: 768px)
{
    .twoline-spec__item .adj__02
    {
        padding-bottom: 0;
    }
}
.twoline-spec__item .adj__03
{
    padding-bottom: 26px;
}
@media screen and (max-width: 768px)
{
    .twoline-spec__item .adj__03
    {
        padding-bottom: 0;
    }
}
.twoline-spec__item .adj__04
{
    letter-spacing: .4px;
}
.twoline-spec__item .adj__05
{
    padding-bottom: 21px;
}
@media screen and (max-width: 768px)
{
    .twoline-spec__item .adj__05
    {
        padding-bottom: 0;
    }
}
.twoline-spec__item .adj__06 > span
{
    font-size: 14px;
}
@media screen and (max-width: 768px)
{
    .twoline-spec__item .adj__06 > span
    {
        font-size: 12px;
    }
}

.youtube__wrapper
{
    width: 100%;

    aspect-ratio: 16/9;
}
.youtube__wrapper > iframe
{
    width: 100%;
    height: 100%;

    border-radius: 8px;
}
.youtube__caption
{
    font-size: 16px;
    font-weight: bold;

    padding-top: 8px;

    text-align: center;
    text-align: center;

    color: #14207a;
}

.category__title
{
    font-size: 24px;
    font-weight: bold;
    line-height: 1;

    display: flex;
    flex-direction: column;

    min-height: 100px;

    color: #14207a;

    justify-content: center;
    gap: 16px;
}
.category__title > span
{
    font-size: 16px;
    font-weight: bold;
}
.category__title.cate-01
{
    background: right top no-repeat url(../img/pages/01.svg);
}
.category__title.cate-02
{
    background: right top no-repeat url(../img/pages/02.svg);
}
.category__title.cate-03
{
    background: right top no-repeat url(../img/pages/03.svg);
}
.category__title.cate-04
{
    background: right top no-repeat url(../img/pages/04.svg);
}
.category__title.cate-05
{
    background: right top no-repeat url(../img/pages/05.svg);
}

.reg-txt
{
    font-size: 14px;

    text-align: left;
}
@media screen and (max-width: 768px)
{
    .reg-txt
    {
        font-size: 3.2710280374vw;
    }
}

.spl-division__unit1
{
    font-size: 40px;
    font-weight: bold;

    display: flex;

    padding: 24px;

    color: #14207a;

    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
.spl-division__unit1 > span
{
    font-size: 16px;
    font-weight: bold;

    display: block;

    width: 160px;
    padding: 8px;

    text-align: center;

    color: #fff;
    border-radius: 8px;
    background: #2699fb;
}
@media screen and (max-width: 768px)
{
    .spl-division__unit1 > span
    {
        font-size: 3.738317757vw;
    }
}
@media screen and (max-width: 768px)
{
    .spl-division__unit1
    {
        font-size: 7.476635514vw;

        padding: 3.738317757vw;
    }
}

.video__date
{
    display: flex;

    align-items: baseline;
}
.video__date > span
{
    font-size: 18px;

    gap: 4px;
}
.video__entry-period
{
    font-size: 32px;
    font-weight: bold;
    line-height: 1;

    position: relative;

    display: flex;

    padding: 24px;

    color: #14207a;
    border-radius: 8px;
    background: #f1f4f8;

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

        padding: 3.738317757vw;

        border-radius: 1.8691588785vw;
    }
}
.video__entry-period > span
{
    font-size: 16px;
    line-height: 1;

    position: absolute;
    top: -12px;
    left: 50%;

    display: flex;

    height: 24px;
    padding: 0 12px;
    transform: translate(-50%, 0);

    color: #fff;
    border-radius: 12px;
    background: #2699fb;

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

        height: 5.6074766355vw;
        padding: 0 2.8037383178vw;

        border-radius: 2.8037383178vw;
    }
}
