@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
/* font-family: 'Noto Sans JP', sans-serif; */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700&display=swap');
/* font-family: 'Noto Serif JP', serif; */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
/* font-family: "Inter", sans-serif; */

:root {
    --color-primary: #5294E5;
}


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 {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

* {
    -webkit-font-smoothing: antialiased;
}

body {
    line-height: 1;
}

.scroll-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: transparent;
    z-index: 9999;
    pointer-events: auto;
}

.scroll-overlay.hidden {
    pointer-events: none;
}

/* 共通のアニメーション設定 */
.index-concert_title,
.index-sightseeing_title,
.index-culture_title,
.index-lunch_title {
    opacity: 0;
    filter: blur(20px);
    transform: translateY(30px);
    transition: all 0.4s ease-out;
}

.index-concert_title.animate,
.index-sightseeing_title.animate,
.index-culture_title.animate,
.index-lunch_title.animate {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}

.index-concert_text,
.index-sightseeing_text,
.index-culture_text,
.index-lunch_text {
    opacity: 0;
    filter: blur(20px);
    transform: translateY(30px);
    transition: all 0.4s ease-out 0.2s;
}

.index-concert_text.animate,
.index-sightseeing_text.animate,
.index-culture_text.animate,
.index-lunch_text.animate {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
    content: "";
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

img {
    vertical-align: middle;
    max-width: 100%;
    height: auto;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    background: #fff;
    color: #000;
    font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
    overflow-x: hidden;
}
@media print, screen and (min-width: 1200px) {
    html:not(#index) {
        padding-top: 173px;
    }
}

@media print, screen and (max-width: 1199px) {
    html:not(#index) {
        padding-top: 82px;
    }
}

@media print, screen and (min-width: 1200px) {
    .sp {
        display: none !important;
    }
}

.spx {
    display: block;
}
@media print, screen and (min-width: 769px) {
    .spx {
        display: none !important;
    }
}

@media print, screen and (max-width: 1199px) {
    .pc {
        display: none !important;
    }
}

@media print, screen and (max-width: 769px) {
    .pcx {
        display: none !important;
    }
}

:not(#index) .l-main {
    padding-bottom: 120px;
}
@media print, screen and (max-width: 768px) {
    :not(#index) .l-main {
        padding-bottom: 60px;
    }
}

.l-main {
    overflow-x: hidden;
}

.index-opening {
    background-color: #3A80D8;
    position: relative;
    z-index: 2;
}

.index-opening_message {
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.index-opening_message_text {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.index-opening_message_text.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.index-opening_cloud {
    height: calc(1420 / 1440 * 100vw);
    position: relative;
}

.index-opening_cloud_item {
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc(100% + 300px);
}
@media print, screen and (max-width: 768px) {
    .index-opening_cloud_item {
        width: calc(100% + 200px);
    }
}

.index-opening_cloud_item img {
    width: 100%;
}

.index-opening_cloud_item-01 {
    z-index: 5;
    bottom: 0;
    transform: translateX(-300px);
    transition: transform 2s ease-out;
}
@media print, screen and (max-width: 768px) {
    .index-opening_cloud_item-01 {
        transform: translateX(-200px);
    }
}

.index-opening_cloud_item-01.animate {
    transform: translateX(0);
}

.index-opening_cloud_item-02 {
    z-index: 4;
    bottom: 400px;
    transform: translateX(0);
}
@media print, screen and (max-width: 1440px) {
    .index-opening_cloud_item-02 {
        bottom: calc(400 / 1440 * 100vw);
    }
}

.index-opening_cloud_item-03 {
    z-index: 3;
    bottom: 100px;
    transform: translateX(-300px);
    transition: transform 2s ease-out;
}
@media print, screen and (max-width: 768px) {
    .index-opening_cloud_item-03 {
        transform: translateX(-200px);
    }
}

.index-opening_cloud_item-03.animate {
    transform: translateX(0);
}
@media print, screen and (max-width: 1440px) {
    .index-opening_cloud_item-03 {
        bottom: calc(100 / 1440 * 100vw);
    }
}

.index-opening_cloud_item-04 {
    z-index: 2;
    bottom: 490px;
    transform: translateX(0);
}
@media print, screen and (max-width: 1440px) {
    .index-opening_cloud_item-04 {
        bottom: calc(490 / 1440 * 100vw);
    }
}

.index-opening_cloud_item-05 {
    z-index: 1;
    bottom: 480px;
    transform: translateX(-300px);
    transition: transform 2s ease-out;
}
@media print, screen and (max-width: 768px) {
    .index-opening_cloud_item-05 {
        transform: translateX(-200px);
    }
}

.index-opening_cloud_item-05.animate {
    transform: translateX(0);
}
@media print, screen and (max-width: 1440px) {
    .index-opening_cloud_item-05 {
        bottom: calc(480 / 1440 * 100vw);
    }
}

/* ヘッダー */
.l-header {
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #3A80D8;
}

#index .l-header {
    position: absolute;
}

.l-header::after {
    content: '';
    background-image: url('/clairciel/assets/media/layout/header_bg.svg');
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(calc(100% - 1px));
    width: 100%;
    height: 70px;
    pointer-events: none;
}
@media print, screen and (max-width: 1199px) {
    .l-header::after {
        height: 40px;
    }
}
@media print, screen and (max-width: 768px) {
    .l-header::after {
        height: 26px;
        background-image: url('/clairciel/assets/media/layout/header_bg-sp.svg');
    }
}

.l-header_container {
    position: relative;
    display: flex;
    justify-content: space-between;
    padding-inline: 50px;
    padding-top: 40px;
    padding-bottom: 30px;
    gap: 30px;
    align-items: center;
}
@media print, screen and (max-width: 1199px) {
    .l-header_container {
        padding-top: 25px;
        padding-bottom: 15px;
        padding-inline: 20px;
        gap: 10px;
    }
}
@media print, screen and (max-width: 768px) {
    .l-header_container {
        padding-top: 20px;
        padding-bottom: 25px;
    }
}

.l-header_logo {

}
@media print, screen and (max-width: 1230px) {
    .l-header_logo {
        width: 240px;
    }
}
@media print, screen and (max-width: 1199px) {
    .l-header_logo {
        width: 150px;
    }
}

.l-header_nav {
    margin-left: auto;
    font-size: 18px;
    font-weight: 500;
}
@media print, screen and (max-width: 1199px) {
    .l-header_nav {
        pointer-events: none;
        opacity: 0;
        transition: all ease-out 0.3s;
        position: fixed;
        left: 0;
        background-color: #3A80D8;
        top: 60px;
        width: 100%;
        height: 100%;
    }
    #top .l-header_nav {
        top: 92px;
    }
    .l-header_nav.is-open {
        pointer-events: auto;
        opacity: 1;
    }
}
@media print, screen and (max-width: 768px) {
    .l-header_nav {
        top: 66px;
    }
    #top .l-header_nav {
        top: 78px;
    }
}

.l-header_nav_list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}
@media print, screen and (max-width: 1199px) {
    .l-header_nav_list {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 54px;
        height: 100%;
        padding-bottom: 60px;
    }
}

.l-header_nav_item {

}

.l-header_nav_anchor {
    color: #fff;
    text-decoration: none;
    position: relative;
    padding-bottom: 8px;
}

.l-header_nav_anchor::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background-color: #fff;
    transform: translateX(-50%);
    transition: width 0.3s ease;
    border-radius: 2px;
}

.l-header_nav_anchor:hover::after {
    width: 100%;
}

.l-header_login {
    padding: 10px 40px;
    background-color: #fff;
    border-radius: 30px;
    color: var(--color-primary);
    text-decoration: none;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.7;
    font-size: 18px;
    border: 1px solid #fff;
    transition: all ease-out 0.3s;
}
@media print, screen and (max-width: 1199px) {
    .l-header_login {
        margin-left: auto;
    }
}
@media print, screen and (max-width: 768px) {
    .l-header_login {
        font-size: 13px;
        padding: 5px 15px;
    }
}

.l-header_login:hover {
    background-color: transparent;
    color: #fff;
}

.l-header_hamburger {
    display: none;
    padding: 0;
    background-color: transparent;
    border: none;
    cursor: pointer;
    position: relative;
}

@media print, screen and (max-width: 1199px) {
    .l-header_hamburger {
        display: block;
        width: 30px;
        height: 22px;
    }
}
@media print, screen and (max-width: 1199px) {
    .l-header_hamburger_line {
        display: block;
        width: 30px;
        height: 2px;
        background-color: #fff;
        transition: all ease-out 0.2s;
    }
    .l-header_hamburger_line:nth-child(1) {
        position: absolute;
        top: 0;
    }
    .l-header_hamburger_line:nth-child(2) {
        position: absolute;
        top: 10px;
    }
    .l-header_hamburger_line:nth-child(3) {
        position: absolute;
        bottom: 0;
    }

    /* バツ印にする */
    .l-header_hamburger.is-open .l-header_hamburger_line:nth-child(1) {
        transform: translateY(10px) rotate(45deg);
    }
    .l-header_hamburger.is-open .l-header_hamburger_line:nth-child(2) {
        display: none;
    }
    .l-header_hamburger.is-open .l-header_hamburger_line:nth-child(3) {
        transform: translateY(-10px) rotate(-45deg);
    }
}



/* 共通動画 */
.l-fixed {
    z-index: -1;
    position: fixed;
    top: 140px;
    left: 0;
    height: 100vh;
    width: 100%;
}

.l-fixed_video {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    
}
@media print, screen and (max-width: 768px) {
    .l-fixed_video {
        width: 768px;
        top: 100px;
    }
}


.l-fixed_video svg {
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
}

/* レイアウト：リスク文言 */
.l-risk {
    background-color: #fff;
    text-align: center;
    padding-top: 32px;
    padding-bottom: 120px;
    padding-inline: 25px;
}
@media print, screen and (max-width: 1199px) {
    .l-risk {
        padding-top: 48px;
    }
}

.l-risk_title {
    line-height: 1.5;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 32px;
    color: #101010;
}

.l-risk_body {
    line-height: 1.8;
    color: #101010;
    margin-bottom: 32px;
}
@media print, screen and (max-width: 768px) {
    .l-risk_body {
        text-align: left;
    }
}

.l-risk_link {
    color: #101010;
    text-decoration: underline;
}

.l-footer {
    background-color: #619DE7;
    padding: 32px 25px;
    text-align: center;
    line-height: 1.8;
    position: relative;
    display: flex;
    flex-direction: column;
}
@media print, screen and (max-width: 768px) {
    .l-footer {
        display: inline-block;
    }
}

.l-footer_pagetop {
    position: absolute;
    right: 25px;
    top: -80px;
    padding: 0;
    background-color: transparent;
    border: none;
    cursor: pointer;
}

.l-footer_link {
    font-size: 14px;
    text-align: center;
    display: inline-block;
}
@media print, screen and (max-width: 768px) {
    .l-footer_link {
        display: inline;
    }
}

@media print, screen and (min-width: 769px) {
    .l-footer_link::after {
        content: '|';
        color: #fff;
        margin-left: 0.5rem;
    }
}

.l-footer_link_item {
    display: inline-block;
}
@media print, screen and (max-width: 768px) {
    .l-footer_link_item {
        display: inline;
    }
}

.l-footer_link_item::before {
    content: '|';
    color: #fff;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}


.l-footer_link_anchor {
    color: #fff;
    text-decoration: none;
}

.l-footer_link_anchor:hover {
    text-decoration: underline;
}

.l-footer_license {
    color: #fff;
    font-size: 14px;
    margin-top: 24px;
}

.l-footer_copyright {
    color: #fff;
    font-size: 14px;
    margin-top: 24px;
    display: block;
}

/* TOPページ */
.index-mainvisual {
    position: relative;
    height: 100svh;
    width: 100%;
}



.index-scroll {
    position: fixed;
    z-index: 1;
    background-color: #fff;
    text-align: center;
    bottom: 50px;
    right: 50px;
    width: 95px;
    height: 95px;
    border-radius: 50%;
    box-shadow: 4px 4px 4px rgba(82, 148, 229, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    padding-top: 10px;
}
@media print, screen and (max-width: 768px) {
    .index-scroll  {
        bottom: 20px;
        right: 20px;
        width: 68px;
        height: 68px;
        gap: 4px;
        padding-top: 4px;
    }
}

.index-scroll_title {

}
@media print, screen and (max-width: 768px) {
    .index-scroll_title {
        width: 44px;
    }
}

.index-scroll_line {
    width: 12px;
    height: 42px;
    background-color: var(--color-primary);
    border-radius: 6px;
    position: relative;
    overflow: hidden;
}
@media print, screen and (max-width: 768px) {
    .index-scroll_line  {
        width: 8px;
        height: 30px;
    }
}

.index-scroll_line::before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: white;
    border-radius: 50%;
    left: 50%;
    transform: translateX(-50%);
    animation: scrollCircle 2s infinite linear;
}
@media print, screen and (max-width: 768px) {
    .index-scroll_line::before {
        width: 6px;
        height: 6px;
    }
}

@keyframes scrollCircle {
    0% {
        top: -8px;
    }
    100% {
        top: 100%;
    }
}


.index-intro {
    background-color: #fff;
}

.index-intro_container {
    max-width: calc(1040px + 50px);
    margin: 0 auto;
    padding: 300px 25px 1000px 25px;
    position: relative;
}
@media print, screen and (max-width: 1199px) {
    .index-intro_container {
        padding: 300px 100px calc(1050 / 1200 * 100vw) 100px;
    }
}
@media print, screen and (max-width: 1199px) {
    .index-intro_container {
        padding-top: 100px;
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-intro_container {
        padding-bottom: calc(550 / 375 * 100vw);
    }
}


.index-intro_title {
    font-family: "Noto Serif JP", serif;
    font-size: 38px;
    font-weight: 500;
    line-height: 1.5;
    color: #619DE7;
    margin-bottom: 60px;
    opacity: 0;
    filter: blur(20px);
    transform: translateY(30px);
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.index-intro_title.animate {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}
@media print, screen and (max-width: 768px) {
    .index-intro_title {
        font-size: 27px;
        margin-bottom: 50px;
    }
}

.index-intro_text {
    font-size: 20px;
    line-height: 2;
    opacity: 0;
    filter: blur(20px);
    transform: translateY(30px);
    transition: all 0.4s ease-out 0.2s; /* 0.2秒遅延 */
}

.index-intro_text.animate {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}
@media print, screen and (max-width: 768px) {
    .index-intro_text {
        font-size: 15px;
    }
}

.index-intro_image_01 {
    position: absolute;
    top: 560px;
    right: 0;
    width: 350px;
}
@media print, screen and (max-width: 1199px) {
    .index-intro_image_01 {
        width: calc(350 / 1199 * 100vw); 
        top: auto;
        bottom: calc(500 / 1200 * 100vw);
        right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-intro_image_01 {
        right: 15px;
        width: calc(170 / 375 * 100vw); 
        bottom: calc(270 / 375 * 100vw);
    }
}

.index-intro_image_02 {
    width: 452px;
    position: absolute;
    bottom: 200px;
    left: 50px;
}
@media print, screen and (max-width: 1199px) {
    .index-intro_image_02 {
        width: calc(452 / 1199 * 100vw); 
        top: auto;
        bottom: calc(250 / 1200 * 100vw);
        left: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-intro_image_02 {
        left: 15px;
        width: calc(130 / 375 * 100vw); 
        bottom: calc(155 / 375 * 100vw);
    }
}

.index-intro_image_03 {
    width: 320px;
    position: absolute;
    bottom: 300px;
    right: 100px;
}
@media print, screen and (max-width: 1199px) {
    .index-intro_image_03 {
        width: calc(320 / 1199 * 100vw); 
        top: auto;
        bottom: calc(150 / 1200 * 100vw);
        right: calc(200 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-intro_image_03 {
        right: 15px;
        width: calc(126 / 375 * 100vw); 
        bottom: calc(100 / 375 * 100vw);
    }
}

.index-service {
    background-color: var(--color-primary);
}

.index-service_container {
    max-width: calc(1040px + 50px);
    margin: 0 auto;
    padding: 200px 25px 820px 25px;
    position: relative;
}
@media print, screen and (max-width: 1199px) {
    .index-service_container {
        padding-bottom: calc(920 / 1200 * 100vw);
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-service_container {
        padding-top: 100px;
        padding-bottom: calc(920 / 768 * 100vw);
    }
}

.index-service_title {
    font-family: "Noto Serif JP", serif;
    font-size: 38px;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 60px;
    opacity: 0;
    filter: blur(20px);
    transform: translateY(30px);
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.index-service_title.animate {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}
@media print, screen and (max-width: 768px) {
    .index-service_title {
        font-size: 27px;
        margin-bottom: 50px;
    }
}

.index-service_text {
    font-size: 20px;
    line-height: 2;
    color: #fff;
    opacity: 0;
    filter: blur(20px);
    transform: translateY(30px);
    transition: all 0.4s ease-out 0.2s;
}

.index-service_text.animate {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}
@media print, screen and (max-width: 768px) {
    .index-service_text {
        font-size: 16px;
    }
}

.index-service_image_01 {
    position: absolute;
    bottom: 420px;
    left: -140px;
    width: 350px;
}
@media print, screen and (max-width: 1500px) {
    .index-service_image_01 {
        left: -100px;
    }
}
@media print, screen and (max-width: 1400px) {
    .index-service_image_01 {
        left: calc(0 / 1400 * 100vw);
        width: calc(350 / 1400 * 100vw);
    }
}
@media print, screen and (max-width: 1199px) {
    .index-service_image_01 {
        left: calc(90 / 1199 * 100vw);
        width: calc(200 / 768 * 100vw);
        bottom: calc(50 / 1400 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-service_image_01 {
        bottom: calc(350 / 1400 * 100vw);
        width: calc(121 / 375 * 100vw);
        left: 27px;
    }
}

.index-service_image_02 {
    position: absolute;
    width: 300px;
    left: 370px;
    bottom: 250px;
}
@media print, screen and (max-width: 1400px) {
    .index-service_image_02 {
        width: calc(300 / 1400 * 100vw);
        left: auto;
        right: calc(450 / 1400 * 100vw);
    }
}
@media print, screen and (max-width: 1199px) {
    .index-service_image_02 {
        left: calc(60 / 1199 * 100vw);
        width: calc(220 / 768 * 100vw);
        bottom: calc(450 / 1400 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-service_image_02 {
        left: 15px;
        right: auto;
        bottom: calc(860 / 1400 * 100vw);
        width: calc(133 / 375 * 100vw);
    }
}

.index-service_image_03 {
    position: absolute;
    bottom: 570px;
    right: -140px;
    width: 372px;
}
@media print, screen and (max-width: 1500px) {
    .index-service_image_03 {
        right: -100px;
    }
}
@media print, screen and (max-width: 1400px) {
    .index-service_image_03 {
        right: calc(0 / 1400 * 100vw);
        width: calc(372 / 1400 * 100vw);
    }
}
@media print, screen and (max-width: 1199px) {
    .index-service_image_03 {
        right: calc(100 / 1400 * 100vw);
        bottom: calc(200 / 1400 * 100vw);
        width: calc(300 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-service_image_03 {
        bottom: calc(500 / 1400 * 100vw);
        width: calc(177 / 375 * 100vw);
        right: 15px;
    }
}

.index-service_video {
    position: absolute;
    bottom: -80px;
    right: -290px;
    width: 650px;
}
@media print, screen and (max-width: 1199px) {
    .index-service_video {
        width: calc(266 / 1199 * 100vw);
        right: calc(0 / 1199 * 100vw);
        bottom: calc(-100 / 1199 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-service_video {
        width: calc(280 / 375 * 100vw);
        left: calc(-20 / 375 * 100vw);
        bottom: calc(-30 / 375 * 100vw);
    }
}

.index-event {
    background-color: var(--color-primary);
}

.index-event_title {
    font-family: Inter;
    font-size: 55px;
    font-weight: 200;
    color: #fff;
    text-align: center;
    margin-bottom: 20px;
}

.index-event_subtitle {
    font-size: 20px;
    color: #fff;
    text-align: center;
    margin-bottom: 100px;
}

@media print, screen and (max-width: 768px) {
    .index-event_title {
        font-size: 40px;
    }
    .index-event_subtitle {
        font-size: 16px;
    }
}

.index-concert_container {
    max-width: calc(1040px + 50px);
    margin: 0 auto;
    padding: 0 25px 620px 25px;
    position: relative;
}
@media print, screen and (max-width: 1199px) {
    .index-concert_container {
        padding-bottom: calc(820 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-concert_container {
        padding-bottom: calc(360 / 375 * 100vw);
        
    }
}

.index-concert_title {
    font-family: "Noto Serif JP", serif;
    font-size: 38px;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 60px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media print, screen and (max-width: 1199px) {
    .index-concert_title {
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-concert_title {
        font-size: 27px;
        margin-bottom: 50px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

.index-concert_text {
    font-size: 20px;
    line-height: 2;
    color: #fff;
}
@media print, screen and (max-width: 1199px) {
    .index-concert_text {
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-concert_text {
        font-size: 16px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

.index-concert_image_01 {
    position: absolute;
    width: 680px;
    bottom: 150px;
    left: -100px;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}
.index-concert_image_01 video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media print, screen and (max-width: 1199px) {
    .index-concert_image_01 {
        width: calc(100% - 200px);
        bottom: calc(150 / 1200 * 100vw);
        left: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-concert_image_01 {
        width: calc(100% - 50px);
        left: 25px;
        bottom: calc(130 / 375 * 100vw);
    }
}

.index-concert_image_02 {
    position: absolute;
    right: -50px;
    width: 330px;
    bottom: 350px;
}
@media print, screen and (max-width: 1199px) {
    .index-concert_image_02 {
        width: calc(216 / 768 * 100vw);
        bottom: calc(50 / 1200 * 100vw);
        right: calc(80 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-concert_image_02 {
        right: calc(25 / 1200 * 100vw);
        width: calc(130 / 375 * 100vw);
        bottom: calc(80 / 375 * 100vw);
    }
}

.index-concert_image_text {
    position: absolute;
    right: -50px;
    width: 400px;
    bottom: 250px;
}
@media print, screen and (max-width: 1199px) {
    .index-concert_image_text {
        width: calc(260 / 768 * 100vw);
        bottom: calc(80 / 1200 * 100vw);
        left: calc(120 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-concert_image_text {
        width: calc(160 / 375 * 100vw);
        bottom: calc(90 / 375 * 100vw);
    }
}

.index-sightseeing_container {
    max-width: calc(1040px + 50px);
    margin: 0 auto;
    padding: 0 25px 800px 25px;
    position: relative;
}
@media print, screen and (max-width: 1199px) {
    .index-sightseeing_container {
        padding-bottom: calc(900 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-sightseeing_container {
        padding-bottom: calc(500 / 375 * 100vw);
    }
}

.index-sightseeing_title {
    font-family: "Noto Serif JP", serif;
    font-size: 38px;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 60px;
    padding-left: 500px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media print, screen and (max-width: 1199px) {
    .index-sightseeing_title {
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-sightseeing_title {
        font-size: 27px;
        margin-bottom: 50px;
        padding-left: 10px;
        padding-right: 10px;
        
    }
}

.index-sightseeing_text {
    font-size: 20px;
    line-height: 2;
    color: #fff;
    padding-left: 500px;
}
@media print, screen and (max-width: 1199px) {
    .index-sightseeing_text {
        padding-left: 0;
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-sightseeing_text {
        font-size: 16px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

.index-sightseeing_image_01 {
    position: absolute;
    bottom: 450px;
    width: 330px;
    left: -20px;
}
@media print, screen and (max-width: 1199px) {
    .index-sightseeing_image_01 {
        width: calc(168 / 768 * 100vw);
        bottom: calc(200 / 1200 * 100vw);
        left: calc(90 / 1200 * 100vw);
        z-index: 1;
        
    }
}
@media print, screen and (max-width: 768px) {
    .index-sightseeing_image_01 {
        bottom: calc(200 / 375 * 100vw);
    }
}

.index-sightseeing_image_02 {
    position: absolute;
    bottom: 300px;
    width: 640px;
    right: -20px;
     border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}
.index-sightseeing_image_02 video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media print, screen and (max-width: 1199px) {
    .index-sightseeing_image_02 {
        width: calc(510 / 768 * 100vw);
        bottom: calc(300 / 1200 * 100vw);
        right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-sightseeing_image_02 {
        bottom: calc(240 / 375 * 100vw);
    }
}

.index-sightseeing_image_text {
    position: absolute;
    bottom: 140px;
    width: 600px;
    left: -20px;

}
@media print, screen and (max-width: 1199px) {
    .index-sightseeing_image_text {
        width: calc(300 / 768 * 100vw);
        bottom: calc(170 / 1200 * 100vw);
        left: auto;
        right: calc(120 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-sightseeing_image_text {
        bottom: calc(160 / 375 * 100vw);
    }
}

.index-culture_container {
    max-width: calc(1040px + 50px);
    margin: 0 auto;
    padding: 0 25px 650px 25px;
    position: relative;
}
@media print, screen and (max-width: 1199px) {
    .index-culture_container {
        padding-bottom: calc(600 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-culture_container {
        padding-bottom: calc(330 / 375 * 100vw);
    }
}

.index-culture_title {
    font-family: "Noto Serif JP", serif;
    font-size: 38px;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 60px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media print, screen and (max-width: 1199px) {
    .index-culture_title {
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-culture_title {
        font-size: 27px;
        margin-bottom: 50px;
        padding-left: 10px;
        padding-right: 10px;
        
    }
}

.index-culture_text {
    color: #fff;
    font-size: 20px;
    line-height: 2;
}
@media print, screen and (max-width: 1199px) {
    .index-culture_text {
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-culture_text {
        font-size: 16px;
        padding-left: 10px;
        padding-right: 10px;
        
    }
}

.index-listbox {
    background-color: #F6F9FF;
    padding: 30px 45px;
    line-height: 1.8;
    border-radius: 10px;
    margin-top: 45px;
    display: inline-block;
}

@media print, screen and (max-width: 1199px) {
    .index-listbox {
        margin-left: calc(100 / 1200 * 100vw);
        width: calc(100% - calc(200 / 1200 * 100vw));
    }
    
}
@media print, screen and (max-width: 768px) {
    .index-listbox {
        margin-left: 15px;
        width: calc(100% - 35px);
        padding: 20px;
    }
}

.index-listbox_item {
    margin-right: 10px;
}
@media print, screen and (max-width: 768px) {
    .index-listbox br {
        display: none;
    }
    .index-listbox_item {
        display: flex;
    }
}


.index-listbox_item::before {
    content: "●";
    color: var(--color-primary);
    margin-right: 5px;
}


.index-culture_image_01 {
    position: absolute;
    bottom: 175px;
    left: -50px;
    width: 680px;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}
.index-culture_image_01 video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media print, screen and (max-width: 1199px) {
    .index-culture_image_01 {
        width: calc(580 / 768 * 100vw);
        bottom: calc(220 / 768 * 100vw);
        left: calc(50 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-culture_image_01 {
        bottom: calc(140 / 375 * 100vw);
    }
}

.index-culture_image_02 {
    position: absolute;
    bottom: 500px;
    right: -50px;
    width: 330px;
}
@media print, screen and (max-width: 1199px) {
    .index-culture_image_02 {
        width: calc(284 / 768 * 100vw);
        bottom: calc(110 / 768 * 100vw);
        right: calc(50 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-culture_image_02 {
        bottom: calc(80 / 375 * 100vw);
    }
}

.index-culture_image_text {
    position: absolute;
    right: -50px;
    bottom: 150px;
    width: 630px;
}
@media print, screen and (max-width: 1199px) {
    .index-culture_image_text {
        width: calc(300 / 768 * 100vw);
        bottom: calc(150 / 768 * 100vw);
        left: calc(20 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-culture_image_text {
        bottom: calc(100 / 375 * 100vw);
        left: calc(30 / 375 * 100vw);
    }
}

.index-lunch_container {
    max-width: calc(1040px + 50px);
    margin: 0 auto;
    padding: 0 25px 1020px 25px;
    position: relative;
}
@media print, screen and (max-width: 1199px) {
    .index-lunch_container {
        padding-bottom: calc(900 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-lunch_container {
        padding-bottom: calc(550 / 375 * 100vw);
    }
}

.index-lunch_title {
    font-family: "Noto Serif JP", serif;
    font-size: 38px;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 60px;
    padding-left: 50%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media print, screen and (max-width: 1199px) {
    .index-lunch_title {
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-lunch_title {
        font-size: 27px;
        margin-bottom: 50px;
        padding-left: 10px;
        padding-right: 10px;
    }
}



.index-lunch_text {
    color: #fff;
    font-size: 20px;
    line-height: 2;
    padding-left: 50%;
}
@media print, screen and (max-width: 1199px) {
    .index-lunch_text {
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-lunch_text {
        font-size: 16px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

.index-lunch_image_01 {
    position: absolute;
    bottom: 680px;
    left: 25px;
    width: 330px;
}
@media print, screen and (max-width: 1199px) {
    .index-lunch_image_01 {
        width: calc(155 / 768 * 100vw);
        bottom: calc(240 / 768 * 100vw);
        left: calc(80 / 768 * 100vw);
        z-index: 1;
    }
}
@media print, screen and (max-width: 768px) {
    .index-lunch_image_01 {
        bottom: calc(260 / 375 * 100vw);
        width: calc(100 / 375 * 100vw);
        left: calc(20 / 375 * 100vw);
    }
}

.index-lunch_image_02 {
    position: absolute;
    bottom: 510px;
    right: -70px;
    width: 640px;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}
.index-lunch_image_02 video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media print, screen and (max-width: 1199px) {
    .index-lunch_image_02 {
        width: calc(580 / 768 * 100vw);
        bottom: calc(290 / 768 * 100vw);
        right: calc(50 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-lunch_image_02 {
        bottom: calc(330 / 375 * 100vw);
    }
}

.index-lunch_image_text {
    position: absolute;
    left: -30px;
    bottom: 450px;
    width: 570px;
}
@media print, screen and (max-width: 1199px) {
    .index-lunch_image_text {
        width: calc(300 / 768 * 100vw);
        bottom: calc(170 / 768 * 100vw);
        right: calc(20 / 768 * 100vw);
        left: auto;
    }
}
@media print, screen and (max-width: 768px) {
    .index-lunch_image_text {
        width: calc(220 / 375 * 100vw);
        bottom: calc(250 / 375 * 100vw);
        right: calc(10 / 375 * 100vw);
        z-index: 1;
    }
}

.index-lunch_video {
    position: absolute;
    bottom: -101px;
    left: -110px;
    width: 560px;
}
@media print, screen and (max-width: 1199px) {
    .index-lunch_video {
        width: calc(353 / 768 * 100vw);
        bottom: calc(-63 / 768 * 100vw);
        left: calc(0 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-lunch_video {
        bottom: calc(-41 / 375 * 100vw);
        left: calc(-10 / 375 * 100vw);
        width: calc(280 / 375 * 100vw);
    }
}

.index-membership {
    background-color: #fff;
}

.index-membership_container {
    max-width: calc(1140px + 50px);
    margin: 0 auto;
    padding: 200px 25px 400px 25px;
    position: relative;
}
@media print, screen and (max-width: 1199px) {
    .index-membership_container {
        padding-bottom: calc(665 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-membership_container {
        padding-bottom: calc(385 / 375 * 100vw);
    }
}



.index-membership_maintitle {
    font-family: Inter;
    font-size: 55px;
    font-weight: 200;
    color: var(--color-primary);
    text-align: center;
    margin-bottom: 20px;
}

.index-membership_subtitle {
    font-size: 20px;
    color: var(--color-primary);
    text-align: center;
    margin-bottom: 100px;

}

@media print, screen and (max-width: 768px) {
    .index-membership_maintitle {
        font-size: 40px;
    }
    .index-membership_subtitle {
        font-size: 16px;
    }
}

.index-membership_title {
    font-family: "Noto Serif JP", serif;
    font-size: 38px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-primary);
    margin-bottom: 60px;
}
@media print, screen and (max-width: 1199px) {
    .index-membership_title {
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-membership_title {
        font-size: 27px;
        margin-bottom: 50px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

.index-membership_text {
    font-size: 20px;
    line-height: 2;
}
@media print, screen and (max-width: 1199px) {
    .index-membership_text {
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-membership_text {
        font-size: 16px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

.index-membership_image_01 {
    position: absolute;
    bottom: 400px;
    right: 55px;
    width: 380px;
}
@media print, screen and (max-width: 1199px) {
    .index-membership_image_01 {
        width: calc(297 / 768 * 100vw);
        bottom: calc(240 / 768 * 100vw);
        left: calc(70 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-membership_image_01 {
        width: calc(150 / 375 * 100vw);
        bottom: calc(150 / 375 * 100vw);
        right: calc(20 / 375 * 100vw);
    }
}



.index-membership_image_02 {
    position: absolute;
    bottom: 150px;
    right: -60px;
    width: 300px;
}
@media print, screen and (max-width: 1199px) {
    .index-membership_image_02 {
        width: calc(240 / 768 * 100vw);
        bottom: calc(120 / 768 * 100vw);
        right: calc(50 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-membership_image_02 {
        width: calc(120 / 375 * 100vw);
        bottom: calc(70 / 375 * 100vw);
        right: calc(20 / 375 * 100vw);
    }
}


.index-membership_video {
    position: absolute;
    bottom: -180px;
    left: -100px;
    width: 560px;
}
@media print, screen and (max-width: 1199px) {
    .index-membership_video {
        width: calc(272 / 768 * 100vw);
        bottom: calc(-100 / 768 * 100vw);
        left: calc(0 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-membership_video {
        bottom: calc(-70 / 375 * 100vw);
        left: calc(-10 / 375 * 100vw);
        width: calc(260 / 375 * 100vw);
    }
}


.index-financial {
    background-color: var(--color-primary);
}

.index-financial_container {
    max-width: calc(1150px + 50px);
    margin: 0 auto;
    padding: 0 25px;
    position: relative;
    padding-top: 260px;
    padding-bottom: 400px;
}
@media print, screen and (max-width: 1199px) {
    .index-financial_container {
        padding-bottom: calc(665 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-financial_container {
        padding-bottom: calc(385 / 375 * 100vw);
        padding-top: calc(130 / 375 * 100vw);
    }
}


.index-financial_maintitle {
    font-family: Inter;
    font-size: 55px;
    font-weight: 200;
    color: #fff;
    text-align: center;
    margin-bottom: 20px;
    line-height: 1.2;
}
@media print, screen and (max-width: 768px) {
    .index-financial_maintitle {
        font-size: 35px;
    }
}


.index-financial_subtitle {
    font-size: 20px;
    color: #fff;
    text-align: center;
    margin-bottom: 100px;
}


.index-financial_title {
    font-family: "Noto Serif JP", serif;
    font-size: 38px;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 60px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media print, screen and (max-width: 1199px) {
    .index-financial_title {
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-financial_title {
        font-size: 27px;
        margin-bottom: 50px;
        padding-left: 10px;
        padding-right: 10px;
    }
}


.index-financial_text {
    font-size: 20px;
    line-height: 2;
    color: #fff;
}
@media print, screen and (max-width: 1199px) {
    .index-financial_text {
        padding-left: calc(100 / 1200 * 100vw);
        padding-right: calc(100 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-financial_text {
        font-size: 16px;
        padding-left: 10px;
        padding-right: 10px;
    }
}


.index-financial_image_01 {
    position: absolute;
    bottom: 400px;
    right: -55px;
    width: 552px;
}
@media print, screen and (max-width: 1400px) {
    .index-financial_image_01 {
        width: 552px;
        right: 30px;
        bottom: 380px;
    }
}
@media print, screen and (max-width: 1199px) {
    .index-financial_image_01 {
        width: calc(636 / 768 * 100vw);
        bottom: calc(170 / 768 * 100vw);
        right: calc(50 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-financial_image_01 {
        width: calc(100% - 40px);
        bottom: calc(120 / 375 * 100vw);
        right: 20px;
    }
}



.index-financial_image_02 {
    position: absolute;
    bottom: 250px;
    right: -140px;
    width: 300px;
}
@media print, screen and (max-width: 1199px) {
    .index-financial_image_02 {
        width: calc(154 / 768 * 100vw);
        bottom: calc(120 / 768 * 100vw);
        right: calc(40 / 768 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .index-financial_image_02 {
        width: calc(118 / 375 * 100vw);
        bottom: calc(60 / 375 * 100vw);
        right: calc(20 / 375 * 100vw);
    }
}



.index-message {
    background-color: #fff;
}

.index-message_container {
    max-width: calc(1140px + 50px);
    margin: 0 auto;
    padding: 200px 25px 200px 25px;
    position: relative;
}
@media print, screen and (max-width: 768px) {
    .index-message_container {
        padding: 100px 25px 100px 25px;
    }
}


.index-message_maintitle {
    font-family: Inter;
    font-size: 55px;
    font-weight: 200;
    color: var(--color-primary);
    text-align: center;
    margin-bottom: 20px;
    line-height: 1.2;
}
@media print, screen and (max-width: 768px) {
    .index-message_maintitle {
        font-size: 30px;
    }
}

.index-message_subtitle {
    font-size: 20px;
    color: var(--color-primary);
    text-align: center;
    margin-bottom: 100px;
}
@media print, screen and (max-width: 768px) {
    .index-message_subtitle {
        font-size: 14px;
        margin-bottom: 50px;
    }
}



.index-message_text {
    font-size: 20px;
    line-height: 2;
    max-width: 900px;
    margin: 0 auto;
    position: relative;
}
@media print, screen and (max-width: 768px) {
    .index-message_text {
        font-size: 16px;
    }
}



.index-message_image_01 {
    position: absolute;
    bottom: -200px;
    right: -302px;
    width: 650px;
    pointer-events: none;
}

@media print, screen and (max-width: 1199px) {
    .index-message_image_01 {
        width: calc(406 / 768 * 100vw);
        bottom: calc(-100 / 768 * 100vw);
        right: 20px;
    }
}

@media print, screen and (max-width: 768px) {
    .index-message_image_01 {
        width: calc(400 / 375 * 100vw);
        bottom: calc(-190 / 375 * 100vw);
        right: calc(-110 / 375 * 100vw);
    }
}



.index-company {
    background-color: #fff;
}

.index-company_container {
    max-width: calc(1140px + 50px);
    margin: 0 auto;
    padding: 200px 25px 200px 25px;
    position: relative;
}
@media print, screen and (max-width: 768px) {
    .index-company_container {
        padding-top: calc(150 / 375 * 100vw);
        padding-bottom: 150px;
    }
}


.index-company_maintitle {
    font-family: Inter;
    font-size: 55px;
    font-weight: 200;
    color: var(--color-primary);
    text-align: center;
    margin-bottom: 20px;
}
@media print, screen and (max-width: 768px) {
    .index-company_maintitle {
        font-size: 30px;
    }
}



.index-company_subtitle {
    font-size: 20px;
    color: var(--color-primary);
    text-align: center;
    margin-bottom: 100px;
}
@media print, screen and (max-width: 768px) {
    .index-company_subtitle {
        font-size: 14px;
        margin-bottom: 50px;
    }
}



.index-company_table {
    max-width: 900px;
    margin: 0 auto;
    width: 100%;
    font-size: 18px;
}
@media print, screen and (max-width: 768px) {
    .index-company_table {
        display: block;
    }
}



.index-company_table_tbody {

}
@media print, screen and (max-width: 768px) {
    .index-company_table_tbody {
        display: block;
    }
}

.index-company_table_row {
    border-bottom: 1px solid #000;
}
@media print, screen and (max-width: 768px) {
    .index-company_table_row {
        display: block;
    }
}

.index-company_table_head {
    text-align: left;
    padding-top: 30px;
    padding-bottom: 30px;
    width: 150px;
    line-height: 1.5;
}
@media print, screen and (max-width: 768px) {
    .index-company_table_head {
        display: block;
        padding-top: 20px;
        padding-bottom: 10px;
        font-size: 15px;
        width: 100%;
    }
}

.index-company_table_data {
    line-height: 1.5;

}
@media print, screen and (max-width: 768px) {
    .index-company_table_data {
        display: block;
        padding-bottom: 20px;
        font-size: 16px;
    }
}

.index-contact {
    background-color: #619DE7;
    padding: 200px 25px 200px 25px;
}
@media print, screen and (max-width: 1199px) {
    .index-contact {
        padding: 50px 100px 50px 100px;
    }
}
@media print, screen and (max-width: 768px) {
    .index-contact {
        padding: 50px 30px;
    }
}




.index-contact_container {
    max-width: calc(1110px + 50px);
    margin: 0 auto;
    display: flex;
    background-color: #fff;
    border-radius: 20px;
    padding: 80px 64px;
    color: #619DE7;
    align-items: center;
}
@media print, screen and (max-width: 1199px) {
    .index-contact_container {
        flex-direction: column;
    }
}
@media print, screen and (max-width: 768px) {
    .index-contact_container {
        padding: 40px 25px;
    }
}



.index-contact_text {
    line-height: 1.5;
}

.index-contact_text_title {
    font-size: 35px;
    text-align: center;
    margin-bottom: 16px;
    font-weight: 500;
}
@media print, screen and (max-width: 1199px) {
    .index-contact_text_title {
        font-size: 25px;
    }
}

.index-contact_text_body {
    font-size: 20px;
    font-weight: 500;
}
@media print, screen and (max-width: 1199px) {
    .index-contact_text_body {
        font-size: 15px;
    }
}

.index-contact_info {
    border-left: 2px solid #619DE7;
    margin-left: 80px;
    padding-left: 80px;
}
@media print, screen and (max-width: 1199px) {
    .index-contact_info {
        border-left: none;
        margin-left: 0;
        padding-left: 0;
        margin-top: 20px;
        text-align: center;
    }
}

.index-contact_info_tel {
    font-size: 70px;
    font-family: "Inter", sans-serif;
    margin-bottom: 16px;
}
@media print, screen and (max-width: 1199px) {
    .index-contact_info_tel {
        font-size: 35px;
    }
}

.index-contact_info_time {
    font-weight: 500;
    text-align: center;
    line-height: 1.5;
}

.index-contact_info_remark {
    font-weight: 500;
    font-size: 16px;
    line-height: 150%;
    margin-top: 32px;
    color: #fff;
    text-align: center;
}

@media print, screen and (max-width: 768px) {
    .index-contact_info_remark {
        font-size: 14px;
        margin-top: 20px;
        text-indent: -1rem;
        padding-left: 1rem;
    }
}

.index-transparent {
    height: 800px;
}

.member-mainvisual {
}

.member-mainvisual_container {
    display: flex;
    align-items: center;
    padding-left: 110px;
    padding-right: 70px;
    justify-content: center;
}
@media print, screen and (max-width: 1199px) {
    .member-mainvisual_container {
        padding-top: 100px;
        padding-bottom: 50px;
        padding-left: 50px;
        padding-right: 40px;
        justify-content: space-between;
    }
}
@media print, screen and (max-width: 768px) {
    .member-mainvisual_container {
        flex-direction: column;
        padding-left: 0;
        padding-right: 0;
        align-items: flex-start;
    }
}

.member-mainvisual_title {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(40 / 1440 * 100vw);
    margin-top: calc(-80 / 1440 * 100vw);
    font-weight: 500;
    color: var(--color-primary);
    line-height: 1.4;
}
@media print, screen and (max-width: 1199px) {
    .member-mainvisual_title {
        padding-left: 32px;
        margin-top: calc(-160 / 1200 * 100vw);
        font-size: calc(50 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .member-mainvisual_title {
        font-size: calc(36 / 375 * 100vw);
    }
}

.member-mainvisual_image {
    width: calc(700 / 1440 * 100vw);
}
@media print, screen and (max-width: 1199px) {
    .member-mainvisual_image {
        width: calc(600 / 1200 * 100vw);
    }
}
@media print, screen and (max-width: 768px) {
    .member-mainvisual_image {
        width: 100%;
        margin-top: -60px;
    }
}

.member-content {
    padding-top: 120px;
    padding-bottom: 120px;
    background-color: var(--color-primary);
    color: #fff;
    margin-top: -100px;
}
@media print, screen and (max-width: 768px) {
    .member-content {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}

.m-container {
    max-width: calc(1040px + 50px);
    margin: 0 auto;
    padding: 0 25px;
}
@media print, screen and (max-width: 768px) {
    .m-container {
        padding-left: 32px;
        padding-right: 32px;
    }
}

.u-color-white {
    color: #fff;
}

.u-color-primary {
    color: var(--color-primary);
}

.m-heading {
    text-align: center;
    margin-bottom: 48px;
}
.m-heading_sub {
    font-family: 'Inter', sans-serif;
    font-size: 55px;
    font-weight: 200;
    margin-bottom: 12px;
    line-height: 1.2;
}
@media print, screen and (max-width: 768px) {
    .m-heading_sub {
        font-size: 40px;
    }
}
.m-heading_main {
    font-size: 20px;
}
@media print, screen and (max-width: 768px) {
    .m-heading_main {
        font-size: 16px;
    }
}

.member-events {
    position: relative;
    margin-bottom: 120px;
}
@media print, screen and (max-width: 768px) {
    .member-events {
        /* コラムが表示される際は可視化 */
        /* margin-bottom: 246px; */
    }
}

.member-events_image {
    position: absolute;
    bottom: -135px;
    right: 0;
    width: 188px;
}
@media print, screen and (max-width: 768px) {
    .member-events_image {
        width: 130px;
        bottom: -180px;
    }
}

.member-content_col {
    display: flex;
    gap: 50px;
    margin-bottom: 40px;
    align-items: flex-start;
}
@media print, screen and (max-width: 768px) {
    .member-content_col {
        flex-direction: column;
    }
}
.member-content_col_image {
    width: 40%;
    flex: 0 0 auto;
    border-radius: 20px;
    overflow: hidden;
}
@media print, screen and (max-width: 768px) {
    .member-content_col_image {
        width: 100%;
    }
}
me
.member-content_col_info {

}

.member-content_col_info_date {
    margin-bottom: 16px;
}

.member-content_col_info_date img {
    margin-left: 40px;
    margin-top: -50px;
    
}
@media print, screen and (max-width: 768px) {
    .member-content_col_info_date img {
        width: 140px;
        margin-top: -30px;
    }
}

.member-content_col_info_title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 24px;
}
@media print, screen and (max-width: 768px) {
    .member-content_col_info_title  {
        font-size: 18px;
    }
}

.member-content_col_info_body {
    line-height: 1.8;
}

.member-content_col_info_data {
    display: flex;
    align-items: center;
    gap: 60px;
    margin-top: 20px;
}
@media print, screen and (max-width: 768px) {
    .member-content_col_info_data {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
}

.member-content_col_info_data_wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    align-items: flex-start;
}

.member-content_col_info_data_term {
    font-size: 13px;
    border: 1px solid #fff;
    border-radius: 4px;
    padding: .4rem 1rem;
    flex: 0 0 auto;
}

.member-content_col_info_data_desc {
    line-height: 1.6;
    margin-top: -.1rem;
}

.member-content_2col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
    margin-bottom: 40px;
}
@media print, screen and (max-width: 1024px) {
    .member-content_2col {
        gap: 40px;
    }
}
@media print, screen and (max-width: 768px) {
    .member-content_2col {
        grid-template-columns: repeat(1, 1fr);
    }
}

.member-content_2col_link {
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
}

.member-content_2col_link:hover {
    opacity: 0.6;
}

.member-content_2col_image {
    border-radius: 16px;
    overflow: hidden;
}

.member-content_2col_columntitle {
    font-size: 20px;
    margin-block: 24px;
}
@media print, screen and (max-width: 500px) {
    .member-content_2col_columntitle {
        font-size: 16px;
    }
}

.member-content_2col_meta {
    display: flex;
    align-items: center;
}

.member-content_2col_meta_category {
    padding: 8px 16px;
    border: 1px solid #fff;
    border-radius: 4px;
    font-size: 10px;
}

.m-btn {
    display: flex;
    justify-content: center;
    gap: 24px;
}

.m-btn_link {
    font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
    font-weight: 700;
    position: relative;
    background-color: #fff;
    padding: 16px 55px;
    height: 64px;
    text-decoration: none;
    border-radius: 36px;
    transition: all 0.3s ease-out;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    min-width: 200px;
    text-align: center;
    justify-content: center;
}

.m-btn_link:hover {
    background-color: transparent;
    color: white;
    border: 1px solid #fff;
}

.m-btn_link.-reverse {
    border: 1px solid #fff;
    color: #fff;
    font-weight: 700;
    position: relative;
    background-color: var(--color-primary);
}

.m-btn_link.-reverse:hover {
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
    background-color: #fff;
}

.member-content_slider_item {
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease-out;
}

.member-content_slider_item:hover {
    opacity: 0.6;
}

.member-content_slider_image {
    margin-bottom: 16px;
}

.member-content_slider_image img {
    border-radius: 20px;
}

.member-content_col_info_columntitle {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 24px;
}

.member-content_col_info_columntitle::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background-color: #fff;
    margin-top: 16px;
}

.member-content_col_info_meta {
    display: flex;
    font-size: 11px;
    gap: 32px;
    margin-bottom: 24px;
}

.member-content_col_info_meta_category {

}

.member-content_col_info_meta_date {

}

.member-service {
    position: relative;
}
@media print, screen and (max-width: 768px) {
    .member-service {
        padding-bottom: 150px;
    }
}

.member-content {
    overflow-x: hidden;
}

.member-column {
    margin-bottom: 120px;
    position: relative;
}

.member-column::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: calc((100vw - 1040px) / 2);
    transform: translateX(-100%);
    height: 100%;
    background-color: var(--color-primary);
    z-index: 2;
}
@media print, screen and (max-width: 768px) {
    .member-column::before {
        width: 32px;
    }
}


.member-content_col_info_membershipimage {
    padding-top: 10px;
}

.member-content_col_info_membershipimage img {
    width: 198px;
}
@media print, screen and (max-width: 768px) {
    .member-content_col_info_membershipimage img {
        width: 128px;
        position: absolute;
        bottom: 0;
        left: 0;
    }
}

.member-financial {
    padding-block: 120px;
}
@media print, screen and (max-width: 768px) {
    .member-financial {
        padding-bottom: 70px;
    }
}

.member-financial_box {
    position: relative;
    border-radius: 36px;
    background-color: #F6F9FF;
    color: var(--color-primary);
    padding: 64px 80px;
    display: flex;
    gap: 40px;
    align-items: center;
    font-size: 20px;
}
@media print, screen and (max-width: 768px) {
    .member-financial_box {
        padding: 32px 24px;
        flex-direction: column;
        font-size: 16px;
        gap: 10px;
    }
}

.member-financial_box_text {
    line-height: 1.8;
}

.member-financial_box_text_body {

}
@media print, screen and (max-width: 768px) {
    .member-financial_box_text_body {
        margin-bottom: 16px;
    }
}

.member-financial_box_text_tel {
    color: var(--color-primary);
    text-decoration: none;
    font-family: Inter, sans-serif;
    font-size: 44px;
    font-weight: 600;
    line-height: 1.8;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    letter-spacing: .2rem;
    pointer-events: none;
}
@media print, screen and (max-width: 768px) {
    .member-financial_box_text_tel {
        font-size: 32px;
        letter-spacing: .1rem;
        pointer-events: auto;
        text-decoration: underline;
    }
}

.member-financial_box_text_tel img {
    margin-top: 5px;
}
@media print, screen and (max-width: 768px) {
    .member-financial_box_text_tel img {
        width: 20px;
    }
}

.member-financial_box_text_time {
    font-size: 13px;
    text-align: center;
}

.member-financial_box_image {
    width: 350px;
    flex: 0 0 auto;
}
@media print, screen and (max-width: 768px) {
    .member-financial_box_image {
        width: 100%;
    }
}

.member-financial_box_image_02 {
    position: absolute;
    right: -50px;
    bottom: -150px;
}
@media print, screen and (max-width: 768px) {
    .member-financial_box_image_02 {
        width: 153px;
        right: -2px;
        bottom: -50px;
    }
}

.member-information {
    padding-top: 120px;
}
@media print, screen and (max-width: 768px) {
    .member-information {
        padding-top: 70px;
    }
}

.member-information_list {

}

.member-information_list_item {
    display: flex;
    border-bottom: 1px solid rgba(82, 148, 229, 0.3);
    line-height: 1.7;
    padding: 35px 0;
    font-size: 14px;
}
@media print, screen and (max-width: 768px) {
    .member-information_list_item {
        flex-direction: column;
        padding: 30px 0;
    }
}

.member-information_list_item_date {
    width: 300px;
    flex: 0 0 auto;
}
@media print, screen and (max-width: 768px) {
    .member-information_list_item_date {
        width: auto;
        margin-bottom: 8px;
    }
}

.member-information_list_item_title {

}


.member-content_slider {
    overflow: visible !important;
}
.member-content_slider .swiper-slide {
    transition: all .5s ease-out, width .5s ease-out;
}
.member-content_slider .swiper-slide-active {
    transform: scale(1.2) translateX(10%) translateY(10%);
    margin-right: 100px !important;
}
@media print, screen and (max-width: 768px) {
    .member-content_slider .swiper-slide-active {
        transform: scale(1) translateX(0) translateY(0);
        margin-right: 20px !important;
    }
}
.member-content_slider .member-content_slider_image {
    transition: all .5s ease-out;
}
.member-content_slider .swiper-navigation {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
    margin-left: 360px;
    margin-bottom: 40px;
}
@media print, screen and (max-width: 768px) {
    .member-content_slider .swiper-navigation {
        gap: 16px;
    }
}
@media print, screen and (max-width: 768px) {
    .member-content_slider .swiper-navigation {
        margin-left: 0;
    }
}
.member-content_slider .swiper-nav {
    display: flex;
    gap: 24px;
}
@media print, screen and (max-width: 768px) {
    .member-content_slider .swiper-nav {
        gap: 8px;
    }
}
.member-content_slider .swiper-button-next,
.member-content_slider .swiper-button-prev {
    position: static;
    width: 56px;
    height: 56px;
    margin-top: 0 !important;
}
@media print, screen and (max-width: 768px) {
    .member-content_slider .swiper-button-next,
     .member-content_slider .swiper-button-prev {
        width: 50px;
        height: 50px;
        
    }
}
.member-content_slider .swiper-button-next img,
.member-content_slider .swiper-button-prev img {
}
.member-content_slider .swiper-button-next:after,
.member-content_slider .swiper-button-prev:after {
    display: none;
}
.member-content_slider .swiper-pagination {
    position: static;
}
.member-content_slider .swiper-pagination-bullets {
    background-color: rgba(255,255,255,.5);
    display: flex;
    border-radius: 20px;
    padding: 4px;
    width: 364px !important;
    height: 14px;
    position: relative;
    margin-top: 15px;
}

.member-content_slider .swiper-pagination-bullets::before {
    content: '';
    position: absolute;
    top: 4px;
    left: 4px;
    width: var(--bullet-width, calc(25% - 4px));
    height: 6px;
    background: var(--color-primary, #5294E5);
    border-radius: 4px;
    transition: transform 0.3s ease;
    z-index: 1;
}

.member-content_slider .swiper-pagination-bullets::before {
    transform: translateX(var(--active-position, 0%));
}

.member-content_slider .swiper-pagination-bullet {
    background-color: transparent;
    opacity: 1;
    flex: 1;
    border-radius: 4px;
    position: relative;
    z-index: 2;
}
.member-content_slider .swiper-pagination-bullet-active {
    background: transparent;
}

.m-mainvisual {
    position: relative;
    padding-left: 50px;
    padding-right: 50px;
}

@media print, screen and (max-width: 1199px) {
    .m-mainvisual {
        padding-top: 65px;
        padding-left: 0;
        padding-right: 0;
    }
}

.m-mainvisual_text {
    font-size: 24px;
    line-height: 1.5;
    text-align: center;
    color: var(--color-primary);
    margin-bottom: 24px;
}

@media print, screen and (max-width: 768px) {
    .m-mainvisual_text {
        font-size: 18px;
    }
}

.m-mainvisual_image {

}

.m-mainvisual_box {
    background-color: #F6F9FF;
    border-radius: 20px;
    padding: 40px 60px;
    color: var(--color-primary);
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}
@media print, screen and (max-width: 768px) {
    .m-mainvisual_box {
        padding: 40px 24px;
    }
}

.m-mainvisual_box_text {
    line-height: 1.5;
}
@media print, screen and (max-width: 768px) {
    .m-mainvisual_box_text {
        text-align: left;
    }
}

.m-mainvisual_box_tel {
    color: var(--color-primary);
    text-decoration: none;
    font-family: Inter, sans-serif;
    font-size: 44px;
    font-weight: 600;
    line-height: 1.8;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    letter-spacing: .2rem;
    pointer-events: none;
}
@media print, screen and (max-width: 768px) {
    .m-mainvisual_box_tel {
        font-size: 32px;
        letter-spacing: .1rem;
        pointer-events: auto;
        text-decoration: underline;
    }
}

.m-mainvisual_box_time {
    line-height: 1.5;
}

.m-mainvisual_image_events_01 {
    position: absolute;
    top: 0;
    right: -20px;
    width: 156px;
}
@media print, screen and (max-width: 768px) {
    .m-mainvisual_image_events_01 {
        width: 100px;
        top: 130px;
    }
}

.m-mainvisual_image_events_02 {
    position: absolute;
    width: 120px;
    left: -20px;
    bottom: -20px;
}
@media print, screen and (max-width: 768px) {
    .m-mainvisual_image_events_02 {
        width: 84px;
        bottom: -80px;
    }
}

.m-mainvisual_image_events_03 {
    position: absolute;
    right: 40px;
    bottom: -100px;
    width: 166px;
}
@media print, screen and (max-width: 768px) {
    .m-mainvisual_image_events_03 {
        width: 107px;
        bottom: -140px;
        right: -20px;
    }
}

@media print, screen and (max-width: 1199px) {
    .m-mainvisual_image_events_01,
    .m-mainvisual_image_events_02,
    .m-mainvisual_image_events_03 {
        zoom: .7;
    }
}


.event-schedule {
    padding-top: 120px;
    opacity: 0;
}

.event-schedule_header {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 80px;
    margin-bottom: 80px;
}
@media print, screen and (max-width: 1199px) {
    .event-schedule_header {
        gap: 40px;
    }
}
@media print, screen and (max-width: 768px) {
    .event-schedule_header {
        gap: 24px;
        margin-bottom: 60px;
    }
}

.event-schedule_header_prev,
.event-schedule_header_next {
    background-color: var(--color-primary);
    color: #fff;
    border: 1px solid var(--color-primary);
    cursor: pointer;
    padding: 8px 24px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    border-radius: 20px;
    font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
    transition: all .3s ease-out;
}
.event-schedule_header_prev svg {
    transition: all .3s ease-out;
}
.event-schedule_header_prev [id],
.event-schedule_header_next [id]{
    margin-right: 2px;
}

.event-schedule_header_prev:hover,
.event-schedule_header_next:hover {
    background-color: #fff;
    color: var(--color-primary);
}

.event-schedule_header_prev:hover svg,
.event-schedule_header_next:hover svg {
    color: var(--color-primary);
}

.event-schedule_header_current {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: var(--color-primary);
}

.event-schedule_header_current_year {
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
}

.event-schedule_header_current_month {
    font-size: 40px;
    font-weight: 500;
}

@media print, screen and (max-width: 1199px) {
    .event-schedule_header_current_month {
        font-size: 32px;
    }
}


@media print, screen and (max-width: 768px) {
    .event-schedule_header {
        flex-wrap: wrap;
    }
    .event-schedule_header_prev {
        order: 2;
        border-radius: 33px;
        gap: 16px;
        line-height: 1.3;
    }
    .event-schedule_header_next {
        order: 3;
        border-radius: 33px;
        gap: 16px;
        line-height: 1.3;
    }
    .event-schedule_header_current {
        order: 1;
        width: 100%;
    }
}

.event-schedule_content {

}

.event-schedule_content_item {
    display: flex;
    background-color: #F6F9FF;
    padding: 48px 64px;
    align-items: flex-start;
    gap: 40px;
    margin-bottom: 32px;
    border-radius: 20px;
}
@media print, screen and (max-width: 768px) {
    .event-schedule_content_item {
        flex-direction: column;
        padding: 32px 24px;
    }
}

.event-schedule_content_image {
    border-radius: 20px;
    overflow: hidden;
    width: 38%;
    flex: 0 0 auto;
}
@media print, screen and (max-width: 768px) {
    .event-schedule_content_image {
        width: 100%;
    }
}

.event-schedule_content_main {

}

.event-schedule_content_label {
    background-color: var(--color-primary);
    color: #fff;
    display: inline-block;
    padding: 0.3rem 0.7rem 0.5rem;
    margin-bottom: 1rem;
    border-radius: 4px;
    font-size: 14px;
}

.event-schedule_content_date {
    font-weight: 500;
    margin-bottom: 16px;
}

.event-schedule_content_date span {
    font-size: 13px;
}

.event-schedule_content_title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 24px;
}
@media print, screen and (max-width: 768px) {
    .event-schedule_content_title {
        font-size: 20px;
        margin-bottom: 16px;
    }
}

.event-schedule_content_body {
    line-height: 1.8;
}

.event-schedule_content_body_small {
    font-size: 14px;
    margin-top: 0.8rem;
}

.event-schedule_content_info {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-top: 24px;
}
@media print, screen and (max-width: 1199px) {
    .event-schedule_content_info {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
}

.event-schedule_content_info_wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    align-items: flex-start;
}

.event-schedule_content_info_term {
    background-color: #000;
    color: #fff;
    font-size: 13px;
    padding: 5px 12px 7px;
    border-radius: 4px;
    flex: 0 0 auto;
}

.event-schedule_content_info_desc {
    line-height: 1.6;
    margin-top: -.1rem;
}

.event-schedule_content_link {
    color: #838487;
    font-weight: 700;
    display: inline-flex;
    gap: 8px;
    margin-top: 24px;
    transition: all 0.3s ease-in-out;
}
.event-schedule_content_link:hover {
    opacity: 0.6;
}
.event-schedule_content_link span {
    text-decoration: underline;
}
@media print, screen and (max-width: 768px) {
    .event-schedule_content_link {
        display: block;
        text-align: center;
    }
}

.member-content_col_info_link {
    color: #fff;
    font-weight: 700;
    display: inline-flex;
    gap: 8px;
    margin-top: 24px;
    transition: all 0.3s ease-in-out;
}
.member-content_col_info_link:hover {
    opacity: 0.6;
}
.member-content_col_info_link span {
    text-decoration: underline;
}
@media print, screen and (max-width: 768px) {
    .member-content_col_info_link {
        display: block;
    }
}

.event-schedule_noEvents {
    text-align: center;
    background-color: #F6F9FF;
    padding: 32px;
    border-radius: 20px;
}

.event-schedule_more {
    margin-top: 96px;
}


.m-mainvisual_image_column_01 {
    position: absolute;
    width: 120px;
    left: -20px;
    bottom: -120px;
}
@media print, screen and (max-width: 1000px) {
    .m-mainvisual_image_column_01 {
        bottom: -230px;
    }
}
@media print, screen and (max-width: 768px) {
    .m-mainvisual_image_column_01 {
        width: 84px;
        bottom: -260px;
        left: -30px;
    }
}

.m-mainvisual_image_column_02 {
    position: absolute;
    bottom: -110px;
    right: -20px;
    width: 156px;
}
@media print, screen and (max-width: 1000px) {
    .m-mainvisual_image_column_02 {
        top: 60px;
    }
}
@media print, screen and (max-width: 768px) {
    .m-mainvisual_image_column_02 {
        width: 100px;
        top: 90px;
        right: -45px;
    }
}


.column-articles {
    margin-top: 48px;
}

.column-articles_tab {
    display: flex;
    align-items: center;
    gap: 24px;
    justify-content: center;
    margin-bottom: 80px;
    flex-wrap: wrap;
}
@media print, screen and (max-width: 1000px) {
    .column-articles_tab {
        margin-bottom: 155px;
        gap: 16px;
    }
}


.column-articles_tab_item {
    font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
    font-size: 16px;
    font-weight: 700;
    padding: 4px 30px;
    height: 36px;
    border-radius: 18px;
    cursor: pointer;
    border: 1px solid var(--color-primary);
    background-color: #fff;
    color: var(--color-primary);
    transition: all 0.3s ease-in-out;
}
@media print, screen and (max-width: 768px) {
    .column-articles_tab_item {
        padding: 4px 24px;
    }
}

.column-articles_tab_item:hover,
.column-articles_tab_item.is-active {
    background-color: var(--color-primary);
    color: #fff;
}

.column-articles_wrapper {
    margin-top: 150px;
}

@media print, screen and (max-width: 1000px) {
    .column-articles_wrapper {
        margin-top: 270px;
        gap: 16px;
    }
}


.column-articles_content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px 40px;
}
@media print, screen and (max-width: 1199px) {
    .column-articles_content {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media print, screen and (max-width: 768px) {
    .column-articles_content {
        grid-template-columns: repeat(1, 1fr);
        gap: 72px;
    }
}

.column-articles_content_item {
    color: #000;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
}

.column-articles_content_item:hover {
    opacity: 0.6 !important;
}

.column-articles_content_image {
    width: 100%;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
}

.column-articles_content_title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 24px;
    padding-top: 18px;
    padding-inline: 10px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
@media print, screen and (max-width: 768px) {
    .column-articles_content_title {
        margin-bottom: 12px;
    }
}

.column-articles_content_meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-left: 10px;
}

.column-articles_content_meta_category {
    color: var(--color-primary);
    font-size: 12px;
    font-weight: 700;
    border: 1px solid var(--color-primary);
    padding: 8px 16px;
    border-radius: 4px;
}

/* .column-articles_content_meta_category::before  {
    display: block;
    content: '';
    width: 40px;
    height: 1px;
    background-color: var(--color-primary);
    margin-bottom: 16px;
} */

.column-articles_content_meta_date {
    font-size: 13px;
}

.column-articles_content_meta_arrow {

}
@media print, screen and (max-width: 768px) {
    .column-articles_content_meta_arrow img {
        width: 40px;
        height: 40px;
    }
}

.column-articles_more {
    margin-top: 60px;
}

.m-article {
    padding-top: 56px;
    padding-bottom: 120px;
}

.m-article_header {
    margin-bottom: 40px;
}
@media print, screen and (max-width: 768px) {
    .m-article_header {
        margin-bottom: 30px;
    }
}

.m-article_thumbnail {
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 24px;
}

.m-article_thumbnail.-noimage {
    letter-spacing: .2rem;
    font-family: Inter, sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    aspect-ratio: 16 / 9;
    color: #fff;
    font-weight: 600;
    font-size: 32px;
    background: linear-gradient(to bottom, #2973CE 0%, #5294E5 55%, #9DC3F0 97%);
}
@media print, screen and (max-width: 768px) {
    .m-article_thumbnail.-noimage {
        font-size: 20px;
        letter-spacing: .15rem;
    }
}

.m-article_title {
    font-size: 40px;
    font-weight: 500;
    color: var(--color-primary);
    margin-bottom: 24px;
    line-height: 1.5;
}
@media print, screen and (max-width: 768px) {
    .m-article_title {
        font-size: 28px;
    }
}

.m-article_company {
    display: flex;
    align-items: center;
    gap: 16px;
}
@media print, screen and (max-width: 768px) {
    .m-article_company {
        gap: 8px;
    }
}

.m-article_company_image {
    zoom: 0.5;
}
@media print, screen and (max-width: 768px) {
    .m-article_company_image {
    }
}

.m-article_company_name {
    font-size: 18px;
    color: var(--color-primary);
    font-weight: 500;
    line-height: 1.4;
}
@media print, screen and (max-width: 768px) {
    .m-article_company_name {
        font-size: 16px;
    }
}

.m-article_meta {
    display: flex;
    gap: 24px;
    align-items: center;
}

.m-article_meta_date {
    color: var(--color-primary);
    font-weight: 500;
    font-family: Inter, sans-serif;

}

.m-article_meta_category {
    border-radius: 8px;
    border:  1px solid var(--color-primary);
    font-size: 14px;
    padding: 8px 16px;
    color: var(--color-primary);
}
@media print, screen and (max-width: 768px) {
    .m-article_meta_category {
        font-size: 12px;
    }
}

.m-article_body {

}

.m-article_heading2 {
    font-weight: 500;
    font-size: 36px;
    line-height: 1.4;
    margin-bottom: 24px;
    margin-top: 60px;
}
@media print, screen and (max-width: 768px) {
    .m-article_heading2 {
        font-size: 24px;
        margin-top: 40px;
    }
}

.m-article_heading3 {
    font-size: 24px;
    margin-bottom: 24px;
    line-height: 1.5;
    font-weight: 500;
    margin-top: 60px;
}
@media print, screen and (max-width: 768px) {
    .m-article_heading3 {
        font-size: 20px;
        margin-top: 40px;
    }
}

.m-article_p {
    line-height: 1.8;
    margin-bottom: 24px;
}
.m-article_credit {
    font-size: 16px;
    font-weight: 700;
    margin-top: 60px;
    margin-bottom: 16px;
}
.m-article_p_indent {
    display: block;
    padding-left: 1rem;
}

.m-article_image {
    margin-bottom: 32px;
}

.m-article_image_caption {
    font-size: 14px;
    line-height: 1.8;
    margin-top: 8px;
    color: #101010;
}

.m-article_image_desc {
    font-size: 14px;
    line-height: 1.8;
    margin-top: 16px;
    color: #101010;
}

@media print, screen and (max-width: 768px) {
    .m-article_image_desc {
        max-width: 500px;
        margin-inline: auto;
    }
}

.m-article_image.-col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
@media print, screen and (max-width: 768px) {
    .m-article_image.-col2 {
        grid-template-columns: repeat(1, 1fr);
    }
}

.m-article_image_item {
    border-radius: 20px;
    overflow: hidden;
    text-align: center;
}

.m-article_image_thumbnail {
    border-radius: 20px;
}

.m-article_list {
    list-style-type: disc;
    margin-left: 2rem;
    line-height: 1.8;
    margin-bottom: 24px;
}

.m-article_list.-num {
    list-style-type: decimal;
}

.m-article_list_item {

}

.m-article_table {
    width: 100%;
    font-weight: 500;
    margin-bottom: 32px;
}
@media print, screen and (max-width: 768px) {
    .m-article_table {
        margin-bottom: 16px;
    }
}

.m-article_thead {

}

.m-article_tbody {

}

.m-article_table_row {

}

.m-article_table_head {
    vertical-align: middle;
    padding: 16px 22px;
    line-height: 1.8;
    background-color: #EEEEEE;
}
@media print, screen and (max-width: 768px) {
    .m-article_table_head {
        padding: 16px;
    }
}

.m-article_tbody .m-article_table_row .m-article_table_head {
    border-top: 1px solid #fff;
}

.m-article_thead .m-article_table_head + .m-article_table_head {
    border-left: 1px solid #fff;
}

.m-article_table_data {
    padding: 16px 22px;
    line-height: 1.6;
    border: 1px solid #EEEEEE;
}
@media print, screen and (max-width: 768px) {
    .m-article_table_data {
        padding: 16px;
    }
}

.m-article_tableNotice {
    font-size: 14px;
    line-height: 1.8;
    margin-top: -8px;
}
.m-article_tableNotice_item + .m-article_tableNotice_item {
    margin-bottom: 8px;
}

.m-article_link {
    color: var(--color-primary);
    font-weight: 700;
    transition: all 0.3s ease-out;
}

.m-article_link:hover {
    opacity: 0.6;
}

.m-article_btn {
    display: flex;
    justify-content: center;
    gap: 24px;
}
@media print, screen and (max-width: 768px) {
    .m-article_btn {
        flex-direction: column;
        align-items: center;
    }
}

.m-article_btn_link {
    line-height: 1.4;
    font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
    font-weight: 700;
    position: relative;
    background-color: #fff;
    padding: 24px 55px;
    text-decoration: none;
    border-radius: 36px;
    transition: all 0.3s ease-out;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    position: relative;
    justify-content: center;
}
@media print, screen and (max-width: 768px) {
    .m-article_btn_link {
        padding: 20px 55px;
    }
}

.m-article_btn_link:hover {
    color: #fff;
    background-color: var(--color-primary);
}

.m-article_btn_link.-external::after {
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    content: '';
    width: 14px;
    height: 14px;
    background-color: var(--color-primary); /* または任意の色 */
    mask-image: url('/clairciel/assets/media/module/icon_external.svg');
    mask-size: contain;
    transition: all 0.3s ease-out;
}

.m-article_btn_link.-external:hover::after {
    background-color: #fff; /* または任意の色 */
}

.m-article_box {
    background-color: #F6F9FF;
    border-radius: 20px;
    padding: 30px 48px;
    line-height: 1.8;
    color: var(--color-primary);
    max-width: 700px;
    margin: 0 auto;
    margin-top: 60px;
}
.m-article_box.-access {
    max-width: 740px;
    padding-bottom: 40px;
    padding-inline: calc(116 / 1440 * 100vw);
}
@media print, screen and (max-width: 768px) {
    .m-article_box {
        font-size: 14px;
        margin-top: 40px;
        padding: 30px ;
    }
    .m-article_box.-access {
        margin-top: 80px;
    }
}
@media print, screen and (max-width: 500px) {
    .m-article_box.-access {
        padding-inline: 36px;
    }
}

.m-article_box_heading {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 24px;
}

@media print, screen and (max-width: 768px) {
    .m-article_box_heading {
        font-size: 20px;
    }
    .m-article_box_heading.-access {
        font-size: 24px;
    }
}

.m-article_box_termlist {
    color: #000;
}

.m-article_box_termlist_item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

@media print, screen and (max-width: 400px) {
    .m-article_box_termlist_item.-access {
        flex-direction: column;
    }
}

.m-article_box_termlist_item + .m-article_box_termlist_item {
    margin-top: 16px;
}
@media print, screen and (max-width: 768px) {
    .m-article_box_termlist_item {
        
    }
}

.m-article_box_termlist_item_title {
    width: 70px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.5;
    background-color: #000;
    color: #fff;
    flex: 0 0 auto;
    padding: 0.3rem 0;
    text-align: center;
}
@media print, screen and (max-width: 768px) {
    .m-article_box_termlist_item_title {
        
    }
}

.m-article_box_termlist_item_desc {
    margin-top: -0.2rem;
}

.m-article_box_termlist_item_desc a {
   color: #838487;
   text-decoration: underline;
}
@media print, screen and (min-width: 769px) {
    .m-article_box_termlist_item_desc a[href^="tel:"] {
        color: inherit;
        text-decoration: none;
        pointer-events: none;
    }
}

.m-article_box_termlist_item_desc a img {
   margin-left: 0.3rem;
   margin-right: 0.2rem;
}
@media print, screen and (max-width: 768px) {
    .m-article_box_termlist_item_desc {
        
    }
}


.m-mainvisual_image_membershipService_01 {
    position: absolute;
    top: 100px;
    right: 50px;;
    width: 116px;
}
@media print, screen and (max-width: 768px) {
    .m-mainvisual_image_membershipService_01 {
        width: 70px;
        top: 130px;
        right: -20px;
    }
}

.m-mainvisual_image_membershipService_02 {
    position: absolute;
    width: 176px;
    left: -60px;
    bottom: -80px;
}
@media print, screen and (max-width: 768px) {
    .m-mainvisual_image_membershipService_02 {
        width: 108px;
        bottom: -130px;
        left: -30px;
    }
}

.membershipService-content {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-top: 140px;
}

.membershipService-content_item {
    display: flex;
    background-color: #F0F7FF;
    border-radius: 20px;
    padding: 40px 60px;
    align-items: flex-start;
    gap: 50px;
}
@media print, screen and (max-width: 768px) {
    .membershipService-content_item {
        flex-direction: column;
        padding: 32px 24px;
        gap: 24px;
    }
}

.membershipService-content_image {
    border-radius: 20px;
    overflow: hidden;
    width: 38%;
    flex: 0 0 auto;
}
@media print, screen and (max-width: 768px) {
    .membershipService-content_image {
        width: 100%;
    }
}

.membershipService-content_main {

}

.membershipService-content_title {
    font-size: 24px;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 16px;
}

.membershipService-content_company {
    font-size: 14px;
    line-height: 1.2;
    margin-bottom: 16px;
    color: #838487;
}

.membershipService-content_body {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 24px;
}

.membershipService-content_btn {
    justify-content: flex-end;
}

@media print, screen and (max-width: 768px) {
    .membershipService-content_btn {
        justify-content: center;
    }
}

.m-article_thumbnail:has(.m-article_thumbnail_slider) {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    border-radius: 0;
}

.m-article_thumbnail.is-only {
    width: 100%;
    margin-inline: auto;
}

.m-article_thumbnail .m-article_thumbnail_slider {
    padding-bottom: 40px;
}

.m-article_thumbnail.is-only .m-article_thumbnail_slider {
    padding-bottom: 0;
}

.m-article_thumbnail_slider_image {
    max-width: 1040px;
}

.m-article_thumbnail_slider_image img {
    border-radius: 20px;
}

@media print, screen and (max-width: 768px) {
    .m-article_thumbnail_slider_image img {
        border-radius: 5px;
    }
}

.m-article_thumbnail_slider .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin-inline: 8px;
    border: 1px solid #5294E5;
    background: transparent;
    opacity: 1;
}

.m-article_thumbnail_slider .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #5294E5;
}

.m-article_thumbnail_swiper_navigation .swiper-nav {
    max-width: 1040px;
    width: calc(100vw / 1.36);
    position: absolute;
    top: 47%;
    left: 50%;
    translate: -50% 0;
    z-index: 1;
}

.m-article_thumbnail_slider .swiper-button-next:after,
.m-article_thumbnail_slider .swiper-button-prev:after {
    display: none;
}

.m-article_thumbnail_slider .swiper-button-prev,
.m-article_thumbnail_slider .swiper-button-next {
    width: 56px;
    height: 56px;
    border: 1px solid #5294E5;
    border-radius: 50%;
}

.m-article_thumbnail_slider .swiper-button-prev {
    left: calc(-54px / 2);
}

.m-article_thumbnail_slider .swiper-button-next {
    right: calc(-54px / 2);
}

@media print, screen and (max-width: 768px) {
    .m-article_thumbnail_swiper_navigation .swiper-nav {
        width: calc(100vw - 64px + 40px);
    }

    .m-article_thumbnail .m-article_thumbnail_slider {
        padding-inline: 32px;
    }

    .m-article_thumbnail_slider .swiper-button-prev,
    .m-article_thumbnail_slider .swiper-button-next {
        width: 40px;
        height: 40px;
    }

    .m-article_thumbnail_slider .swiper-button-prev {
        left: 0;
    }

    .m-article_thumbnail_slider .swiper-button-next {
        right: 0;
    }
}

.m-article_box_termlist_item_title.d-none {
    background-color: transparent;
}

.m-article_box_termlist_item_head {
    display: block;
    font-weight: 500;
}

.m-article_box_termlist_item_small {
    font-size: 14px;
}

.m-article_footer .m-article_heading3 {
    font-size: 20px;
}

@media print, screen and (max-width: 768px) {
    .m-article_footer .m-article_heading3 {
        font-size: 18px;
    }
}

.m-article_footer .m-article_p {
    margin-bottom: 0;
}

.m-article_p + .m-article_tableNotice {
    margin-top: -20px;
}

.m-article_p + .m-article_tableNotice {
    margin-bottom: 24px;
}

.m-article_p a {
    color: #101010;
}

.column-articles_noevent {
    padding-block: 240px 200px;
}

.column-articles_noevent_text {
    font-size: 36px;
    font-weight: 500;
    line-height: 1.5;
    color: #5294E5;
    text-align: center;
}

@media print, screen and (max-width: 768px) {
    .column-articles_noevent {
        padding-block: 50px 100px;
    }

    .column-articles_noevent_text {
        font-size: 32px;
    }
}


.w-a  { width: auto !important; }
.w-20  { width: 20px !important; }
.w-40  { width: 40px !important; }
.w-60  { width: 60px !important; }
.w-80  { width: 80px !important; }
.w-100 { width: 100px !important; }
.w-120 { width: 120px !important; }
.w-140 { width: 140px !important; }
.w-160 { width: 160px !important; }
.w-180 { width: 180px !important; }
.w-200 { width: 200px !important; }
.w-220 { width: 220px !important; }
.w-240 { width: 240px !important; }
.w-260 { width: 260px !important; }
.w-280 { width: 280px !important; }
.w-300 { width: 300px !important; }
.w-320 { width: 320px !important; }
.w-340 { width: 340px !important; }
.w-360 { width: 360px !important; }
.w-380 { width: 380px !important; }
.w-400 { width: 400px !important; }

@media print, screen and (max-width: 768px) {
    .w-a-sp  { width: auto !important; }
    .w-20-sp  { width: 20px !important; }
    .w-40-sp  { width: 40px !important; }
    .w-60-sp  { width: 60px !important; }
    .w-80-sp  { width: 80px !important; }
    .w-100-sp { width: 100px !important; }
    .w-120-sp { width: 120px !important; }
    .w-140-sp { width: 140px !important; }
    .w-160-sp { width: 160px !important; }
    .w-180-sp { width: 180px !important; }
    .w-200-sp { width: 200px !important; }
    .w-220-sp { width: 220px !important; }
    .w-240-sp { width: 240px !important; }
    .w-260-sp { width: 260px !important; }
    .w-280-sp { width: 280px !important; }
    .w-300-sp { width: 300px !important; }
    .w-320-sp { width: 320px !important; }
    .w-340-sp { width: 340px !important; }
    .w-360-sp { width: 360px !important; }
    .w-380-sp { width: 380px !important; }
    .w-400-sp { width: 400px !important; }
}

.u-link {
    color: #000;
    text-decoration: underline;
}

.u-link:hover {
    text-decoration: none;
}