@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=Lora:ital,wght@0,400..700;1,400..700&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%;
    height: auto;

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

/* color設定 */
/* 基本設定 */
body
{
    font-family: 'Roboto', '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: 1200px;

    letter-spacing: .06em;

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

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

    overflow: hidden;

    width: 100%;
}
@media screen and (max-width: 768px)
{
    body
    {
        font-size: 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;
}

.branch-heading
{
    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: #4898bc;
}
.u-col__u03
{
    color: #27ca40;
}
.u-col__u04
{
    color: #e1a325;
}
.u-col__u05
{
    color: #704f8f;
}
.u-col__u06
{
    color: #fdf0c4;
}
.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: #3c0e66;
}
.u-col__cta
{
    color: #3c0e66;
}

/* =========================================
  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.215vw;
        /* 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-md: 945px;
    --container-sm: 752px;
    --container-pad-x: 0;
    --container-pad-y: var(--sp-5);
}

/* SPだけ差分（必要ならここだけ上書き） */
@media screen and (max-width: 768px)
{
    :root
    {
        --container-max: 100%;
        --container-sm: 100%;
        --container-pad-x: 1.8692vw;
        /* 8 */
        --container-pad-y: 9.3458vw;
        /* 40 */
    }
}
/* =========================================
  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;

        padding: 9.3457943925vw 3.738317757vw;
    }
}
.u-content__full
{
    padding: var(--container-pad-y) var(--container-pad-x);

    padding-inline: 0;
}
@media screen and (max-width: 768px)
{
    .u-content__full
    {
        padding: 9.3457943925vw 3.738317757vw;
    }
}
.u-content__full.bg
{
    background: #f1f4f8;
}
.u-content__full.bg-sub
{
    background: rgba(0, 0, 0, .57);
}
.u-content__md
{
    position: relative;

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

    margin-inline: auto;
}
.u-content__md.np
{
    padding: 0;
}
.u-content__sm
{
    position: relative;

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

    margin-inline: auto;
}
.u-content__sm.np
{
    padding: 0;
}
.u-content__np
{
    position: relative;

    max-width: var(--container-max);

    margin-inline: auto;
}

/* =========================================
  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-2) 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;
    --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,
.add-branch-detail h4,
.add-branch-detail h3,
.add-branch-detail h2
{
    font-weight: var(--hd-fw);
    line-height: var(--hd-lh);
}

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

.c-heading--lg,
.add-branch-detail h2
{
    font-size: var(--hd-lg);
}

.c-heading--md,
.add-branch-detail h3
{
    font-size: var(--hd-md);
}

.c-heading--sm,
.add-branch-detail h4
{
    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: rgba(0, 0, 0, .2);
    --btn-bg-hover: #f5f1f6;
    --btn-col-hover: rgba(0, 0, 0, .84);
    --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.215vw;
    /* 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;
}
.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);
    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__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;
    background-size: contain;
}
@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-2) 0;

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

    flex-wrap: wrap;
}
.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;

    flex-basis: 220px;
}
@media screen and (max-width: 768px)
{
    .u-list__dl > dt
    {
        font-size: 3.2710280374vw;
    }
}
.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: 3.738317757vw;
    }
}
.u-list__circle > li
{
    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-2 > li
{
    position: relative;

    padding-bottom: 16px;
    padding-left: 16px;
}
.u-list__circle-2 > li:last-child
{
    padding-bottom: 0;
}
.u-list__circle-2 > li::before
{
    position: absolute;
    top: 4px;
    left: 0;

    display: flex;

    width: 16px;
    height: 16px;

    content: '・';

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .u-list__circle-2 > li
    {
        position: relative;

        padding-bottom: 3.738317757vw;
        padding-left: 3.738317757vw;
    }
    .u-list__circle-2 > li::before
    {
        top: .9345794393vw;

        width: 3.738317757vw;
        height: 3.738317757vw;

        content: '・';
    }
}
.u-list__no
{
    margin-left: 20px;

    list-style-type: decimal;
}
.u-list__no li
{
    padding-top: var(--sp-1);
}
.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;
}

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

.u-icn
{
    display: inline-flex;

    align-items: center;
}

main
{
    min-height: calc(100svh - 400px);
    margin-top: 136px;
}
@media screen and (max-width: 768px)
{
    main
    {
        min-height: 128.5046728972vw;
        margin-top: 64px;
    }
}

.header__wrapper
{
    position: relative;
}

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

    display: block;

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

    background: url(../img/common/bg_header.png) top center no-repeat;
    background-color: #fff;
    /* ds */
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .08);

    inset: 0 0 auto 0;
}
@media screen and (max-width: 768px)
{
    .header
    {
        min-width: inherit;

        background-size: 50%;
    }
}
.header__inner
{
    display: flex;

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

    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .header__inner
    {
        height: auto;
    }
}
.header__inner-under
{
    display: flex;

    padding: 0 40px 16px 40px;

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .header__inner-under
    {
        position: absolute;
        top: 14.0186915888vw;

        display: block;
        display: none;
        overflow-y: auto;

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

        background: #fff;
    }
}
.header__btn-branch
{
    font-weight: bold;
    line-height: 1;

    display: flex;

    width: 224px;
    height: 56px;

    border: solid 1px #3c0e66;
    border-radius: 28px;
    background: #f5f1f6;

    align-items: center;
    justify-content: center;
}
.header__btn-branch:link,
.header__btn-branch:visited
{
    color: #3c0e66;
}
@media screen and (max-width: 768px)
{
    .header__btn-branch
    {
        display: none;
    }
}
.header__logo
{
    display: flex;

    align-items: center;
    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .header__logo
    {
        gap: 8px;
    }
}
.header__logo img.logo1
{
    width: auto;
    height: 48px;
}
@media screen and (max-width: 768px)
{
    .header__logo img.logo1
    {
        height: 30px;
    }
}
.header__logo img.logo2
{
    width: auto;
    height: 14px;
    margin-top: 14px;
}
@media screen and (max-width: 768px)
{
    .header__logo img.logo2
    {
        height: 12px;
        margin-top: 8px;
    }
}
@media screen and (max-width: 768px)
{
    .header
    {
        min-width: inherit;
        height: 64px;
    }
    .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;
}

.gnav
{
    display: flex;

    align-items: center;
    gap: 24px;
    justify-content: center;
}
.gnav__link
{
    font-weight: 500;

    position: relative;
}
@media screen and (max-width: 768px)
{
    .gnav__link
    {
        font-size: 4.2056074766vw;

        display: block;

        padding: 3.738317757vw 0;

        border-bottom: solid 1px rgba(0, 0, 0, .15);
    }
}
.gnav__link-under
{
    position: absolute;
    z-index: 4;

    width: 240px;
    padding: 12px 16px;

    border-radius: 8px;
    background: #f1f4f8;
}
@media screen and (max-width: 768px)
{
    .gnav__link-under
    {
        position: relative;

        width: 100%;
        padding: 16px;

        border-radius: 4px;
    }
}
.gnav__link-under a
{
    display: block;

    padding: 4px 0;
}
@media screen and (max-width: 768px)
{
    .gnav
    {
        display: block;

        margin-bottom: 100px;
    }
}

footer
{
    min-width: 1200px;
    padding: 80px 40px;
    /* ds */

    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .08);
}
@media screen and (max-width: 768px)
{
    footer
    {
        min-width: inherit;
        padding: 9.3457943925vw 3.738317757vw;
    }
}

.add-bg__pink
{
    background-color: #d8b1c6;
}

.add-bg__yellow
{
    background-color: #fff200;
}

.footer__inner
{
    display: flex;

    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .footer__inner
    {
        justify-content: center;
    }
}
.footer__menu
{
    display: flex;

    gap: 40px;
    justify-content: flex-end;
}
@media screen and (max-width: 768px)
{
    .footer__menu
    {
        display: none;
    }
}
.footer__menu > a
{
    display: block;
}
.footer__copy
{
    font-size: 14px;

    padding-top: 40px;

    text-align: right;
}
@media screen and (max-width: 768px)
{
    .footer__copy
    {
        font-size: 2.8037383178vw;

        padding-top: 9.3457943925vw;

        text-align: center;
    }
}
.footer__logo
{
    display: flex;

    align-items: center;
    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .footer__logo
    {
        gap: 8px;
    }
}
.footer__logo img.logo1
{
    width: auto;
    height: 48px;
}
@media screen and (max-width: 768px)
{
    .footer__logo img.logo1
    {
        height: 30px;
    }
}
.footer__logo img.logo2
{
    width: auto;
    height: 14px;
    margin-top: 14px;
}
@media screen and (max-width: 768px)
{
    .footer__logo img.logo2
    {
        height: 12px;
        margin-top: 10px;
    }
}

/* menu */
.menu__trigger,
.menu__trigger span
{
    box-sizing: border-box;

    transition: all .4s;
}

.menu__trigger
{
    position: relative;

    display: none;

    width: 40px;
    height: 40px;

    cursor: pointer;

    border: none;
    background: none;

    -webkit-appearance: none;

       -moz-appearance: none;

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

        width: 30px;
        height: 30px;
    }
}

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

    width: 40px;
    height: 2px;

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

        width: 30px;
        height: 1px;

        border-radius: 2px;
    }
}

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

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

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

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

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

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

.mv
{
    overflow: hidden;

    margin-top: 16px;
}
@media screen and (max-width: 768px)
{
    .mv
    {
        overflow: visible;

        margin-top: 0;
    }
}
.mv__inner
{
    width: 1200px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .mv__inner
    {
        width: 100%;
    }
}
.mv__link
{
    display: block;
}
.mv__link img
{
    border-radius: 24px;
    /* ds */
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .08);

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .mv__link img
    {
        border-radius: 0;
    }
}
.mv .slick__mv
{
    padding: 24px 0;
}
@media screen and (max-width: 768px)
{
    .mv .slick__mv
    {
        padding: 0 0 3.738317757vw;
    }
}
.mv .slick-list
{
    overflow: visible;
}
@media screen and (max-width: 768px)
{
    .mv .slick-list
    {
        overflow: hidden;
    }
}
.mv #wrapper
{
    overflow: hidden;
}
.mv .content_area
{
    max-width: 700px;
    margin: 0 auto;
    padding: 0 40px;

    background: coral;
}
.mv .slick-item p
{
    font-size: 18px;
    line-height: 150px;

    position: relative;

    margin: 10px;
    padding: 2%;

    text-align: center;

    background: white;
}
@media screen and (max-width: 560px)
{
    .mv .content_area
    {
        padding: 0 30px;
    }
    .mv .slick-item p
    {
        font-size: 15px;
        line-height: 100px;

        margin: 5px;
        padding: 1.5%;
    }
}

.top-slider
{
    position: relative;

    width: 1140px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .top-slider
    {
        width: 100%;
        margin: 0;
        padding: 26px 0;
    }
}

.top-about
{
    position: relative;

    width: 1140px;
    margin: 0 auto;
    padding-top: 24px;
    padding-bottom: 40px;
}
@media screen and (max-width: 768px)
{
    .top-about
    {
        width: 100%;
        padding-top: 5.6074766355vw;
        padding-bottom: 9.3457943925vw;
    }
}
@media screen and (max-width: 768px)
{
    .top-about .top-about__icn
    {
        padding: 3.738317757vw;

        gap: 3.738317757vw;
    }
}
.top-about__wrapper
{
    display: flex;

    padding: 32px;

    background: url(../img/common/bg_top-about.png) no-repeat right bottom, url(../img/common/bg_top-about2.png) no-repeat left top;

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

        padding: 9.3457943925vw 0vw;

        background-size: 70%;
    }
}
.top-about__img
{
    width: 324px;
}
@media screen and (max-width: 768px)
{
    .top-about__img
    {
        width: 56.0747663551vw;
        margin: 0 auto;
    }
}
.top-about__content
{
    padding: 40px 64px;

    flex: 1;
}
@media screen and (max-width: 768px)
{
    .top-about__content
    {
        padding: 5.6074766355vw;
        padding-top: 5.6074766355vw;
    }
}
.top-about__heading
{
    font-size: 28px;
}
@media screen and (max-width: 768px)
{
    .top-about__heading
    {
        font-size: 4.6728971963vw;
    }
}
@media screen and (max-width: 768px)
{
    .top-about__txt
    {
        font-size: 3.738317757vw;
    }
}

.top-news .news-list
{
    display: none;
}
.top-news .news-list.on
{
    display: block;
}

.news-list .list-date__wrapper
{
    font-size: 14px;

    display: flex;

    padding-bottom: 4px;

    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.news-list > li
{
    padding: 8px 0;

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

@media screen and (max-width: 768px)
{
    .top-report__list
    {
        display: flex;
        overflow-x: auto;

        padding: 0 3.738317757vw;

        flex-wrap: nowrap;
        gap: 3.738317757vw;
    }
}
.top-report__list > li
{
    padding: 16px 0;

    border-bottom: solid 1px rgba(0, 0, 0, .15);
}
@media screen and (max-width: 768px)
{
    .top-report__list > li
    {
        min-width: 65.4205607477vw;
        padding: 0;

        border-bottom: none;
    }
}
.top-report__list > li:last-child
{
    padding-bottom: 0;

    border-bottom: none;
}
.top-report__list > li > a
{
    display: flex;

    flex-wrap: wrap;
    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .top-report__list > li > a
    {
        display: block;
    }
}
.top-report__list-img
{
    width: 180px;
}
@media screen and (max-width: 768px)
{
    .top-report__list-img
    {
        width: 100%;
    }
}
.top-report__list-img > img
{
    height: auto;

    border-radius: 8px;
}
.top-report__list-content
{
    flex: 1;
}
@media screen and (max-width: 768px)
{
    .top-report__list-content
    {
        padding-top: 3.738317757vw;
    }
}
.top-report__list-txt
{
    font-size: 16px;

    display: -webkit-box;
    overflow: hidden;

            line-clamp: 3;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px)
{
    .top-report__list-txt
    {
        font-size: 3.738317757vw;
    }
}
@media screen and (max-width: 768px)
{
    .top-qa
    {
        padding-top: 0;
    }
}

.qa-list > li
{
    display: block;

    margin-top: 16px;
    padding: 16px;

    border-radius: 8px;
    background: #f5f1f6;
}
.qa-list > li:first-child
{
    margin-top: 0;
}
.qa-list > li .qa-q
{
    display: flex;

    gap: 8px;
    flex-wrap: wrap;
}
.qa-list > li .qa-q__content
{
    flex: 1;
}
.qa-list > li .qa-a
{
    display: none;

    margin-top: 8px;
    padding-top: 16px;

    border-top: solid 1px rgba(0, 0, 0, .15);
}
.qa-list > li .qa-a__inner
{
    display: flex;

    gap: 8px;
    flex-wrap: wrap;
}
.qa-list > li .qa-a__content
{
    flex: 1;
}
.qa-list.bg-set__wh > li
{
    background: #fff;
}

.page-heading
{
    font-size: 36px;
    font-weight: bold;

    width: 1140px;
    margin: 0 auto;
    padding: 48px 0;

    color: #fff;
}
.page-heading__wrapper
{
    background: #704f8f;
}
.page-heading__wrapper.add-management
{
    background: #27885d;
}
@media screen and (max-width: 768px)
{
    .page-heading
    {
        font-size: 6.5420560748vw;

        width: 100%;
        padding: 3.738317757vw 3.738317757vw;
    }
}
.page-link__arrow
{
    display: flex;

    margin-top: 40px;

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

    gap: 0 24px;
    align-items: stretch;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .page-link__arrow
    {
        display: block;

        margin-top: 7.476635514vw;
    }
}
.page-link__arrow > a
{
    position: relative;

    display: flex;

    padding: 16px 4px;
    padding-right: 30px;

    transition: .2s ease;

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

    align-items: center;
    justify-content: space-between;
    flex-basis: 30%;
}
@media screen and (max-width: 768px)
{
    .page-link__arrow > a
    {
        padding: 3.738317757vw .9345794393vw;
    }
}
.page-link__arrow > a::after
{
    position: absolute;
    right: 4px;

    width: 24px;
    height: 24px;

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

    background: url(../img/common/icn_link-arrow.svg) no-repeat;
}
.page-link__arrow > a:hover::after
{
    right: 0;
}
.page-nav
{
    font-size: 16px;
    font-weight: bold;

    display: flex;

    padding: 24px 0;

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

    align-items: center;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
}
.page-nav > a.on
{
    pointer-events: none;

    border-bottom: solid 4px #3c0e66;
}
@media screen and (max-width: 768px)
{
    .page-nav
    {
        font-size: 3.738317757vw;

        overflow-x: scroll;

        padding: 5.6074766355vw 3.738317757vw;

        white-space: nowrap;

        flex-wrap: nowrap;
        /* 子要素内のテキスト改行を防ぐ（重要） */
        justify-content: flex-start;
        gap: 5.6074766355vw;
    }
    .page-nav > a
    {
        flex-shrink: 0;
        /* 縮小を禁止（必須） */
        flex-basis: auto;
        /* 中身の幅に合わせる（デフォルト） */
    }
}

.event-detail__content
{
    display: flex;

    flex-wrap: wrap;
}
.event-detail__content > p
{
    font-size: 16px;
    font-weight: bold;

    color: #3c0e66;

    flex-basis: 80px;
}
.event-detail__content > div
{
    flex: 1;
}

.branch-area__block
{
    padding: 24px 0;

    border-top: solid 1px rgba(0, 0, 0, .15);
}
@media screen and (max-width: 768px)
{
    .branch-area__block
    {
        padding: 5.6074766355vw 0;
    }
}
.branch-area__block:first-child
{
    padding-top: 0;

    border-top: none;
}
.branch-area__list > li
{
    padding: 16px 0;

    border-top: solid 1px rgba(0, 0, 0, .15);
}
@media screen and (max-width: 768px)
{
    .branch-area__list > li
    {
        padding: 3.738317757vw 0;
    }
}
.branch-area__list > li:first-child
{
    padding-top: 0;

    border-top: none;
}
.branch-heading
{
    position: absolute;

    display: flex;
    flex-direction: column;

    min-width: 280px;
    padding: 24px;

    color: #fff;
    border-radius: 16px;
    background: #3c0e66;

    align-items: center;
    justify-content: center;
}
.branch-heading__wrapper
{
    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;
}
.branch-heading__img01
{
    display: block;

    width: 50%;
    height: auto;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .branch-heading__img01
    {
        min-height: 200px;
    }
}
.branch-heading__img02
{
    display: block;

    width: 50%;
    height: auto;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .branch-heading__img02
    {
        min-height: 200px;

        -o-object-position: right;

           object-position: right;
    }
}
@media screen and (max-width: 768px)
{
    .branch-heading
    {
        min-width: 46.7289719626vw;
        padding: 3.738317757vw;

        border-radius: 8px;
    }
}
.branch-heading__jp
{
    font-size: 36px;
    font-weight: bold;
    line-height: 1;

    display: block;

    padding-bottom: 16px;
}
@media screen and (max-width: 768px)
{
    .branch-heading__jp
    {
        font-size: 6.5420560748vw;

        padding-bottom: 1.8691588785vw;
    }
}
.branch-heading__en
{
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
}
@media screen and (max-width: 768px)
{
    .branch-heading__en
    {
        font-size: 3.2710280374vw;
    }
}
.branch-intro__inner
{
    display: flex;

    width: 1140px;
    margin: 0 auto;

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

        width: 100%;
    }
}
.branch-intro__img
{
    flex-basis: 364px;
}
.branch-intro__img img
{
    width: 100%;
    height: auto;

    border-radius: 16px;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .branch-intro__img img
    {
        border-radius: 8px;
    }
}
.branch-intro__content
{
    display: flex;

    padding: 0 80px;

    flex: 1;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .branch-intro__content
    {
        padding: 5.6074766355vw 0 0 0;
    }
}

.about-intro__content
{
    padding: 40px 40px 0 40px;
}
@media screen and (max-width: 768px)
{
    .about-intro__content
    {
        display: block;

        padding: 3.738317757vw 0 0 0;
    }
}
.about-member__wrapper
{
    padding-top: 24px;
}
@media screen and (max-width: 768px)
{
    .about-member__wrapper
    {
        padding-top: 5.6074766355vw;
    }
}
.about-member__inner
{
    display: flex;

    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}
.about-member__heading
{
    font-weight: bold;

    text-align: left;

    flex-basis: 200px;
}
.about-member__content
{
    font-size: 40px;
    font-weight: bold;

    display: flex;

    gap: 8px;
    align-items: center;
}
.about-member__content > span
{
    font-size: 16px;

    display: block;

    padding-top: 12px;
}
@media screen and (max-width: 768px)
{
    .about-member__content
    {
        font-size: 7.476635514vw;
    }
    .about-member__content > span
    {
        font-size: 3.2710280374vw;
    }
}

.regulation p
{
    padding-top: 24px;
}
@media screen and (max-width: 768px)
{
    .regulation p
    {
        padding-top: 3.738317757vw;
    }
}
.regulation p .c-heading,
.regulation p .add-branch-detail h4,
.add-branch-detail .regulation p h4,
.regulation p .add-branch-detail h3,
.add-branch-detail .regulation p h3,
.regulation p .add-branch-detail h2,
.add-branch-detail .regulation p h2
{
    display: block;

    padding-bottom: 8px;
}

.greeting-intro
{
    display: flex;

    background: url(../img/about/bg_greeting.webp) no-repeat center center;
    background-size: 746px 772px;

    justify-content: space-between;
    flex-wrap: wrap;
}
.greeting-intro__img
{
    flex-basis: 364px;
}
@media screen and (max-width: 768px)
{
    .greeting-intro__img
    {
        text-align: center;
    }
}
.greeting-intro__img img
{
    border-radius: 16px;
}
@media screen and (max-width: 768px)
{
    .greeting-intro__img img
    {
        width: 65.4205607477vw;
    }
}
.greeting-intro__content
{
    font-size: 18px;
    line-height: 2;

    padding: 40px 0 40px 80px;

    flex: 1;
}
@media screen and (max-width: 768px)
{
    .greeting-intro__content
    {
        font-size: 3.738317757vw;
        line-height: 2;

        padding: 5.6074766355vw 0;
    }
}
.greeting-intro__content p
{
    padding-top: 24px;
}
@media screen and (max-width: 768px)
{
    .greeting-intro__content p
    {
        padding-top: 3.738317757vw;
    }
}

.goods-item
{
    border-radius: 16px;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .goods-item
    {
        border-radius: 3.738317757vw;
    }
}

.lecturer-item
{
    display: flex;

    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .lecturer-item
    {
        gap: 3.738317757vw;
        flex-wrap: wrap;
    }
}
.lecturer-item__img
{
    display: block;

    width: 128px;
    height: 128px;

    border-radius: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .lecturer-item__img
    {
        width: 18.691588785vw;
        height: 18.691588785vw;
    }
}
.lecturer-item__icn
{
    font-size: 14px;
    line-height: 1;

    display: inline-flex;

    margin-top: 8px;
    padding: 4px 8px;

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

    align-items: center;
}
@media screen and (max-width: 768px)
{
    .lecturer-item__icn
    {
        font-size: 3.2710280374vw;

        margin-top: 1.8691588785vw;
        padding: .9345794393vw 1.8691588785vw;
    }
}
.lecturer-item__name
{
    font-size: 20px;
    font-weight: bold;
    line-height: 1;

    display: flex;

    align-items: baseline;
    gap: 8px;
}
.lecturer-item__name-en
{
    font-size: 14px;
    line-height: 1;

    display: block;

    color: rgba(0, 0, 0, .57);
}
.lecturer-item__content
{
    padding: 16px 0;

    flex: 1;
}
@media screen and (max-width: 768px)
{
    .lecturer-item__content
    {
        padding: 3.738317757vw 0;
    }
}
.lecturer-item__desc
{
    padding-top: 16px;
}
@media screen and (max-width: 768px)
{
    .lecturer-item__desc
    {
        padding-top: 3.738317757vw;
    }
}

.news-letter__link
{
    display: flex;

    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .news-letter__link
    {
        display: block;
    }
}
.news-letter__link > a
{
    display: flex;

    gap: 16px;
    align-items: center;
    justify-content: space-between;
    flex: 1;
}
@media screen and (max-width: 768px)
{
    .news-letter__link > a
    {
        padding: 5.6074766355vw 0;

        border-bottom: solid 1px rgba(0, 0, 0, .15);
    }
    .news-letter__link > a:first-child
    {
        padding-top: 0;
    }
    .news-letter__link > a:last-child
    {
        padding-bottom: 0;

        border-bottom: none;
    }
}
.news-letter__img
{
    height: 108px;

    border-radius: 100%;

    flex-basis: 108px;
    -o-object-fit: cover;
       object-fit: cover;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .news-letter__img
    {
        flex-basis: 18.691588785vw;
    }
}
.news-letter__content
{
    flex: 1;
}

.news-detail__mv > img
{
    width: 100%;
    height: auto;

    border-radius: 24px;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .08);
}
.news-detail__title
{
    font-size: 28px;
    font-weight: bold;

    color: #3c0e66;
}
@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;
    }
}

/* トップページのみ */
.front-page .header,
.home .header
{
    box-shadow: none;
}

.add-branch-detail
{
    padding-bottom: 40px;
}
.add-branch-detail h2
{
    padding-top: 40px;

    color: #3c0e66;
}
.add-branch-detail h3
{
    margin-top: 40px;

    color: #3c0e66;
}
.add-branch-detail h4
{
    padding-top: 24px;
}
.add-branch-detail p
{
    padding-top: 8px;
    padding-bottom: 24px;
}
.add-branch-detail img
{
    border-radius: 8px;

    -o-object-fit: cover;

       object-fit: cover;
}
.add-branch-detail .figArea img
{
    border-radius: 8px;

    -o-object-fit: cover;

       object-fit: cover;
}
.add-branch-detail .figArea.clm2
{
    display: flex;

    gap: 24px;
    justify-content: space-between;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .add-branch-detail .figArea.clm2
    {
        display: block;
    }
}
.add-branch-detail .figArea.clm2 > *
{
    flex-basis: 48%;
}
@media screen and (max-width: 768px)
{
    .add-branch-detail .figArea.clm2 > *
    {
        padding-top: 24px;
    }
}
.add-branch-detail .figArea.clm2 > * img
{
    width: 100%;
    height: auto;

    border-radius: 8px;

    -o-object-fit: cover;

       object-fit: cover;
}
.add-branch-detail .figArea.clm3
{
    display: flex;

    gap: 24px;
    justify-content: flex-start;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .add-branch-detail .figArea.clm3
    {
        display: block;
    }
}
.add-branch-detail .figArea.clm3 > *
{
    flex-basis: 30%;
}
@media screen and (max-width: 768px)
{
    .add-branch-detail .figArea.clm3 > *
    {
        padding-top: 24px;
    }
}
.add-branch-detail .figArea.clm3 > * img
{
    width: 100%;
    height: auto;

    border-radius: 8px;

    -o-object-fit: cover;

       object-fit: cover;
}
.add-branch-detail .figArea figcaption
{
    font-size: 13px;
    font-style: italic;

    padding-top: 8px;

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

.add-branch-acc
{
    align-items: flex-start !important;
}
.add-branch-acc::before
{
    top: 8px;
}

.post-password-form
{
    display: flex;

    width: 600px;
    margin: 0 auto;
    padding: 24px;

    border-radius: 24px;
    background: #f1f4f8;

    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}
.post-password-form > p
{
    flex-basis: 100%;
}
@media screen and (max-width: 768px)
{
    .post-password-form
    {
        width: 100%;

        border-radius: 8px;
    }
}
.post-password-unit01
{
    display: flex;

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

        gap: 24px;
    }
}
.post-password-unit01 > label
{
    font-size: 14px;

    display: flex;

    align-items: center;
    gap: 8px;
    flex: 1;
}
@media screen and (max-width: 768px)
{
    .post-password-unit01 > label
    {
        width: 100%;

        justify-content: space-between;
    }
}
.post-password-input
{
    font-size: 16px;

    height: 48px;
    padding: 0 16px;

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

    flex-basis: 240px;
}
@media screen and (max-width: 768px)
{
    .post-password-input
    {
        flex: 1;
    }
}

.data-notice
{
    display: flex;

    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.u-fixed
{
    position: fixed;
}
.u-slider__wrapper-4
{
    display: flex;

    gap: 24px;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .u-slider__wrapper-4
    {
        overflow-x: auto;

        padding: 0 3.738317757vw;

        flex-wrap: nowrap;
        gap: 3.738317757vw;
    }
}
.u-slider__wrapper-4 .u-slider__item
{
    width: 267px;
}
@media screen and (max-width: 768px)
{
    .u-slider__wrapper-4 .u-slider__item
    {
        width: 65.4205607477vw;
    }
}
.u-slider__wrapper-4 .u-slider__item img
{
    width: 100%;
    height: auto;

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

    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .u-slider__wrapper-4 .u-slider__item img
    {
        border-radius: 1.8691588785vw;
    }
}
.u-slider__wrapper-4 .u-slider__item-name
{
    font-size: 16px;
    line-height: 1.4;

    display: block;

    padding-top: 8px;

    text-overflow: ellipsis;
}
@media screen and (max-width: 768px)
{
    .u-slider__wrapper-4 .u-slider__item-name
    {
        font-size: 3.738317757vw;
    }
}
@media screen and (max-width: 768px)
{
    .u-slider__wrapper-4 .u-slider__item
    {
        min-width: 65.4205607477vw;
    }
}
.u-slider__wrapper-4 .slick-list
{
    padding: 0;
}
.u-slider__wrapper-4 .slick-slide
{
    margin: 0 12px;
}
.u-slider__wrapper-3
{
    display: flex;

    gap: 24px;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .u-slider__wrapper-3
    {
        overflow-x: auto;

        padding: 0 3.738317757vw;

        flex-wrap: nowrap;
        gap: 3.738317757vw;
    }
}
.u-slider__wrapper-3 .u-slider__item
{
    width: 364px;
}
@media screen and (max-width: 768px)
{
    .u-slider__wrapper-3 .u-slider__item
    {
        width: 65.4205607477vw;
    }
}
.u-slider__wrapper-3 .u-slider__item img
{
    width: 100%;
    height: auto;

    border-radius: 18px;

    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .u-slider__wrapper-3 .u-slider__item img
    {
        border-radius: 1.8691588785vw;
    }
}
.u-slider__wrapper-3 .u-slider__item-name
{
    font-size: 16px;
    line-height: 1.4;

    display: block;

    padding-top: 8px;

    text-overflow: ellipsis;
}
@media screen and (max-width: 768px)
{
    .u-slider__wrapper-3 .u-slider__item-name
    {
        font-size: 3.738317757vw;
    }
}
@media screen and (max-width: 768px)
{
    .u-slider__wrapper-3 .u-slider__item
    {
        min-width: 65.4205607477vw;
    }
}
.u-slider__wrapper-3 .slick-list
{
    padding: 0;
}
.u-slider__wrapper-3 .slick-slide
{
    margin: 0 12px;
}

.u-ff__min,
.top-about__heading
{
    font-family: 'Noto Serif JP', 'Lora', serif;

    font-optical-sizing: auto;
}

.u-btn__wrapper
{
    flex-wrap: wrap;
}
.u-btn__def
{
    color: #fff;
    border: #3c0e66;
    background: #3c0e66;
}
.u-btn__def:link
{
    color: #fff;
}
.u-btn__def:visited
{
    color: #fff;
}
.u-btn__def:hover
{
    opacity: .7;
    color: #fff;
    border: #3c0e66;
    background: #3c0e66;
}
.u-btn__def.adj-wide
{
    width: auto;
    padding: 0 24px;
}
@media screen and (max-width: 768px)
{
    .u-btn__def
    {
        width: 100%;
        padding: 0 5.6074766355vw;
    }
}
.u-btn__wrapper.add-set__fs
{
    justify-content: flex-start;
}
.u-btn__app
{
    font-weight: bold;

    display: flex;

    height: 64px;

    transition: .2s ease;

    color: #3c0e66;
    border: solid 2px rgba(0, 0, 0, .84);

    align-items: center;
    justify-content: center;
}
.u-btn__app:link
{
    color: rgba(0, 0, 0, .84);
}
@media screen and (max-width: 768px)
{
    .u-btn__app
    {
        height: 14.953271028vw;
    }
}
.u-btn__app:hover
{
    background: #f1f4f8;
}
.u-btn__blank
{
    font-weight: bold;

    position: relative;

    display: flex;

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

    transition: .2s ease;

    color: #3c0e66;
    border: solid 2px #3c0e66;
    border-radius: 8px;
    background: #fff;

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .u-btn__blank
    {
        height: 13.0841121495vw;
        padding: 0 9.3457943925vw 0 3.738317757vw;
    }
}
.u-btn__blank::after
{
    position: absolute;
    right: 12px;

    width: 20px;
    height: 20px;

    content: '';

    background: url(../img/common/icn_blank.svg) no-repeat;
}
.u-btn__blank:link
{
    color: #3c0e66;
}
@media screen and (max-width: 768px)
{
    .u-btn__blank
    {
        height: 14.953271028vw;
    }
}
.u-btn__blank:hover
{
    background: #f5f1f6;
}

.u-icn__btn
{
    display: block;

    padding: 16px;

    text-align: center;

    border-radius: 16px;
}
.u-icn__btn > img
{
    display: block;

    margin: 0 auto;
    padding-top: 16px;
}
.u-icn__btn > span
{
    font-size: 16px;
    font-weight: bold;

    display: block;

    padding-top: 16px;

    text-align: center;

    color: #fff;
}
@media screen and (max-width: 768px)
{
    .u-icn__btn > span
    {
        font-size: 3.0373831776vw;
    }
}

.u-bg__col-1
{
    background: #e14942;
}
.u-bg__col-2
{
    background: #4898bc;
}
.u-bg__col-3
{
    background: #27ca40;
}
.u-bg__col-4
{
    background: #e1a325;
}
.u-bg__col-5
{
    background: #704f8f;
}

.u-date__list
{
    color: rgba(0, 0, 0, .57);
}

.u-icn__list
{
    font-size: 12px;
    line-height: 1;

    display: inline-flex;

    padding: 4px 8px;

    color: #fff;
    border-radius: 4px;
    background: rgba(0, 0, 0, .84);
}

.u-tab
{
    display: flex;

    gap: 8px;
    flex-wrap: wrap;
}
.u-tab__item
{
    font-size: 13px !important;
    line-height: 1;

    padding: 8px;

    border-bottom: inherit !important;
    background: #fff;

    flex: 1;
}
.u-tab__item.on
{
    color: #fff !important;
    background: #3c0e66;
}
.u-tab__item.on:link
{
    color: #fff !important;
}

.u-ban
{
    display: block;

    margin: 0 auto;
}
.u-ban.col-7
{
    width: 655px;
}
@media screen and (max-width: 768px)
{
    .u-ban.col-7
    {
        width: 100%;
    }
}
@media screen and (max-width: 768px)
{
    .u-ban__under
    {
        width: 62.3831775701vw;
        margin: 0 auto;
    }
}

.u-card__img
{
    width: 100%;
    height: auto;

    border-radius: 16px;

    -o-object-fit: cover;

       object-fit: cover;
    aspect-ratio: 4/3;
}
.u-card-item__wrapper
{
    display: block;
}
.u-card-item__img
{
    display: block;

    width: 100%;
    height: auto;

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

    aspect-ratio: 4/3;
    -o-object-fit: cover;
       object-fit: cover;
}
.u-card-item__date-post
{
    font-size: 14px;

    padding-top: 16px;
}
@media screen and (max-width: 768px)
{
    .u-card-item__date-post
    {
        font-size: 2.8037383178vw;

        padding-top: 2.8037383178vw;
    }
}
.u-card-item__title
{
    display: -webkit-box;
    overflow: hidden;

    text-overflow: ellipsis;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.u-card-item__icn
{
    font-size: 12px;
    line-height: 1;

    display: inline-flex;

    padding: 4px 8px;

    color: #fff;
    border-radius: 4px;
    background: rgba(0, 0, 0, .84);
}
.u-card-item__icn__wrapper
{
    display: flex;

    padding-top: 8px;

    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .u-card-item__icn__wrapper
    {
        padding-top: 1.8691588785vw;

        gap: 1.8691588785vw;
    }
}
@media screen and (max-width: 768px)
{
    .u-card-item__icn
    {
        font-size: 2.8037383178vw;

        padding: .9345794393vw 1.8691588785vw;
    }
}
.u-card-item__date
{
    font-size: 14px;
    line-height: 1;

    display: inline-flex;

    margin-top: 8px;
    padding: 4px 8px;

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

    align-items: center;
}
@media screen and (max-width: 768px)
{
    .u-card-item__date
    {
        font-size: 3.2710280374vw;

        margin-top: 1.8691588785vw;
        padding: .9345794393vw 1.8691588785vw;
    }
}

.u-adjust__mt0
{
    margin-top: 0 !important;
}
@media screen and (max-width: 768px)
{
    .u-adjust__pt-sp2
    {
        padding-top: 3.738317757vw;
    }
}
@media screen and (max-width: 768px)
{
    .u-adjust__px-sp2
    {
        padding-right: 3.738317757vw;
        padding-left: 3.738317757vw;
    }
}
@media screen and (max-width: 768px)
{
    .u-adjust__px-sp0
    {
        padding-right: 0;
        padding-left: 0;
    }
}
@media screen and (max-width: 768px)
{
    .u-adjust__gap-sp0
    {
        gap: 0;
    }
}
.u-adjust__bd-b
{
    border-bottom: solid 1px rgba(0, 0, 0, .15);
}

.u-box__3
{
    padding: 24px;

    border-radius: 16px;
    background: #f1f4f8;
}
@media screen and (max-width: 768px)
{
    .u-box__3
    {
        padding: 3.738317757vw;

        border-radius: 1.8691588785vw;
    }
}
.u-box__3.adj__col-u06
{
    background: #fdf0c4;
}
.u-box__4
{
    padding: 32px;

    border-radius: 16px;
    background: #f1f4f8;
}
@media screen and (max-width: 768px)
{
    .u-box__4
    {
        padding: 3.738317757vw;

        border-radius: 1.8691588785vw;
    }
}
.u-box__4.adj__col-u06
{
    background: #fdf0c4;
}

.u-link__arrow
{
    position: relative;
}
.u-link__arrow:hover::after
{
    right: -28px;
}
.u-link__arrow::after
{
    position: absolute;
    position: absolute;
    right: -24px;

    width: 24px;
    height: 24px;

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

    background: url(../img/common/icn_link-arrow.svg) no-repeat;
}
.u-link__pdf-wrapper > li
{
    padding: 8px 0;

    border-bottom: solid 1px rgba(0, 0, 0, .15);
}
.u-link__pdf-wrapper > li > a
{
    display: inline-flex;

    vertical-align: -10px;

    gap: 8px;
    align-items: center;
}
.u-link__icn
{
    font-weight: bold;

    display: flex;

    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .u-link__icn
    {
        gap: 1.8691588785vw;
    }
}
.u-link__pn
{
    text-decoration: line-through;
    pointer-events: none;

    opacity: .3;
}

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

    border-top: 1px solid rgba(0, 0, 0, .15);
}
@media screen and (max-width: 768px)
{
    .u-line
    {
        margin-top: 3.738317757vw;
        padding-top: 3.738317757vw;
    }
}

.u-ds
{
    /* ds */
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .08);
}

.u-img__r-3
{
    border-radius: 24px;
}
@media screen and (max-width: 768px)
{
    .u-img__r-3
    {
        border-radius: 2.8037383178vw;
    }
}

.c-heading__bar,
.add-branch-detail h3
{
    font-weight: bold;
    line-height: 1.2;

    margin-top: 40px;
    padding-left: 8px;

    border-left: 4px solid #3c0e66;
}
.c-heading__bar:first-child,
.add-branch-detail h3:first-child
{
    margin-top: 0;
}
@media screen and (max-width: 768px)
{
    .c-heading__bar,
    .add-branch-detail h3
    {
        margin-top: 7.476635514vw;
        padding-left: .9345794393vw;
    }
}

.slick-dots
{
    bottom: 0;

    display: flex;

    gap: 24px;
    justify-content: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 8px;
    height: 8px;
    margin: 0;
    padding: 0;

    cursor: pointer;

    border-radius: 4px;
}

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

    display: block;

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

    cursor: pointer;

    color: transparent;
    border: 0;
    border-radius: 4px;
    outline: none;
    background: #f5f1f6;
}

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

    display: block;

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

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: #3c0e66;
}

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

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

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

.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-prev,
.slick-next
{
    z-index: 100;
    top: 0;

    width: 40px;
    height: 40px;
}

.slick-prev:before
{
    position: absolute;
    z-index: 100;
    top: 76px;
    left: -40px;

    width: 40px;
    height: 40px;

    content: '';

    opacity: 1;
}
.slick-prev:before:hover
{
    opacity: .7;
}

.slick-next:before
{
    position: absolute;
    z-index: 100;
    top: 76px;
    right: -20px;

    width: 40px;
    height: 40px;

    content: '';

    opacity: 1;
}
.slick-next:before:hover
{
    opacity: .7;
}

.slick-prev:before
{
    background: url(../img/common/icn_prev.svg) no-repeat;
}

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

.accordion
{
    position: relative;

    display: flex;

    padding-right: 20px;

    cursor: pointer;
    transition: .3s ease;

    align-items: center;
}
.accordion:hover
{
    opacity: .7;
}
.accordion::before
{
    position: absolute;
    right: 0;

    display: block;

    width: 20px;
    height: 20px;

    content: '';

    background: url(../img/common/arrow_u.svg) no-repeat;
}
.accordion + div
{
    display: none;
}
.accordion.on::before
{
    transform: rotate(180deg);
}

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