@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
  --color-kaipoke-orange: #ff9933;
  --color-kaipoke-orange-10: #fff4ea;
  --color-kaipoke-orange-100: #ffebd6;
  --color-kaipoke-yellow: #ffcc00;
  --color-kaipoke-yellow-50: #fefaea;
  --color-kaipoke-yellow-100: #fff1c6;

  --color-orange-50: #fff6eb;  /* orange-03 */
  --color-orange-100: #ffe8c9; /* sub:bg,border */
  --color-orange-400: #f68100; /* orange-01 */ 
  --color-orange-500: #e46500; /* orange-02 */ 
  --color-orange-600: #d46300; /* sub */
  --color-orange-700: #bc5305; /* sub */

  --color-orange-01: var(--color-orange-400); /* bg */
  --color-orange-02: var(--color-orange-500); /* text,bg,border */
  --color-orange-03: var(--color-orange-50); /* bg,border */

  --color-blue-50: #f3f6ff;
  --color-blue-100: #ecf1ff;
  --color-blue-200: #d1e0ff;
  --color-blue-300: #a8c8fe;
  --color-blue-400: #6fb0fc;
  --color-blue-500: #2686e3;
  --color-blue-600: #1e5d9e;
  --color-blue-700: #224876;
  --color-blue-800: #273b57;
  --color-blue-900: #2a3548;

  --color-blue-01: var(--color-blue-400); /* text */
  --color-blue-02: var(--color-blue-500); /* text */
  --color-blue-03: var(--color-blue-50); /* bg */

  --color-red-01: #ff5454; /* 不使用 */
  --color-red-02: #fe3939; /* 不使用 */
  --color-red-03: #fdeeee; /* 不使用 */
  --color-teal-01: #009388;
  --color-teal-02: #006d65; /* 放デイ */
  --color-teal-03: #e2f5f3; /* 放デイ */

  --color-black: #333333; /* text */
  --color-white: #ffffff; /* text,bg,border */
  --color-gray-01: #121212; /* bg(footer) */
  --color-gray-02: #707070; /* text,bg */
  --color-gray-03: #eff1f7; /* bg,border */
  --color-transparency-01: rgba(51, 51, 51, 0.1);

  --color-home-care-01: #ff9933;
  --color-home-care-02: #ac5907;
  --color-home-care-03: #fff7e2;
  --color-day-service-01: #00b5de;
  --color-day-service-02: #007590;
  --color-day-service-03: #effbfd;
  --color-home-visit-01: #9a4f97;
  --color-home-visit-02: #92368e;
  --color-home-visit-03: #fbf4fd;
  --color-houkan-01: #e95d87; /* 訪看 */
  --color-houkan-02: #c93d67; /* 訪看 */
  --color-houkan-03: #fdf5fa; /* 訪看 */
  --color-after-school-day-service-01: var(--color-teal-01);
  --color-after-school-day-service-02: var(--color-teal-02);
  --color-after-school-day-service-03: var(--color-teal-03);
  --color-opening-01: #0b2e71;
  --color-opening-02: #062662;
  --color-opening-03: #effbfd;
  --color-day-care-01: #edb821;
  --color-day-care-02: #896704;
  --color-day-care-03: #fff8e0;

  --number-00: 0px;
  --number-01: 4px;
  --number-02: 8px;
  --number-03: 12px;
  --number-04: 16px;
  --number-05: 20px;
  --number-06: 24px;
  --number-07: 28px;
  --number-08: 32px;
  --number-10: 40px;
  --number-12: 48px;
  --number-14: 56px;
  --number-16: 64px;
  --number-20: 80px;

  --shadow-black-base: 0px 4px 4px 0px
    var(--color-transparency-01, rgba(51, 51, 51, 0.1));
  --shadow-black-default: 0px 4px 4px 0px
    var(--color-transparency-01, rgba(51, 51, 51, 0.1));
  --shadow-black-hover: 0px 16px 24px 0px
    var(--color-transparency-01, rgba(51, 51, 51, 0.1));

  --shadow-button-default: var(--shadow-black-default);
  --shadow-button-hover: var(--shadow-black-hover);

  --shadow-card-default: var(--shadow-black-default);
  --shadow-card-hover: var(--shadow-black-hover);

  /* font-size: 12px */
  --font-size-12px: 0.75rem;
  /* font-size: 14px */
  --font-size-14px: 0.875rem;
  /* font-size: 16px */
  --font-size-16px: 1rem;
  /* font-size: 18px */
  --font-size-18px: 1.125rem;
  /* font-size: 20px */
  --font-size-20px: 1.25rem;
  /* font-size: 24px */
  --font-size-24px: 1.5rem;
  /* font-size: 28px */
  --font-size-28px: 1.75rem;
  /* font-size: 32px */
  --font-size-32px: 2rem;
  /* font-size: 36px */
  --font-size-36px: 2.25rem;
  /* font-size: 40px */
  --font-size-40px: 2.5rem;
  /* font-size: 48px */
  --font-size-48px: 3rem;
  /* font-size: 56px */
  --font-size-56px: 3.5rem;
  /* font-size: 60px */
  --font-size-60px: 3.75rem;
  /* font-size: 64px */
  --font-size-64px: 4rem;
  /*  */
  --line-height-none: 1;
  --line-height-small: 1.25;
  --line-height-smallmedium: 1.4;
  --line-height-medium: 1.5;
  --line-height-large: 1.75;
  --line-height-taller: 2;

  /*  */
  --layout-margin-inline: auto;
  --layout-padding-inline: 8px;
  --layout-column-full: 1200px;
  --layout-column-12: 1184px;
  --layout-column-10: 984px;
  --layout-column-9: 884px;
  --layout-column-8: 784px;
  --layout-column-6: 584px;
  --layout-column-5: 484px;
  --layout-column-4: 384px;
  --layout-column-3: 284px;
  --layout-column-2: 184px;
  --layout-column-1: 84px;

  /*  */
  --radius-rounded: 4px;
  --radius-rounded-lg: 8px;
  --radius-rounded-2xl: 16px;
  --radius-rounded-full: 9999px;

  --radius-badge: var(--radius-rounded);
  --radius-box: var(--radius-rounded-lg);
  --radius-box-2xl: var(--radius-rounded-2xl);
  --radius-button: var(--radius-rounded-lg);
  --radius-card: var(--radius-rounded-2xl);
}

.roboto {
    font-family: "Roboto", sans-serif;   
}

body {
    font-family: Roboto, "Noto Sans JP", Arial, Arial, "Hiragino Sans","ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo,"MS Pゴシック", "MS PGothic", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    color: var(--color-black);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0.04em;
}

@media(max-width: 600px) {
    body {
        font-size: var(--font-size-14px);
    }
}

@media(min-width: 601px) {
    .sp-only {
        display: none !important;
    }
}

@media(max-width: 600px) {
    .pc-only {
        display: none !important;
    }
}

img {
    max-width: 100%;
    height: auto;
}

a {
    word-break: break-all;
}

/* ───────────────────────────────────────────── */
/* layout */
/* ───────────────────────────────────────────── */

/* section */
@use "../foundation/variable" as *;

.layout_section {  
  @media (max-width: 925px) {
    padding: 64px 8px;
  }
  @media(max-width: 600px) {
    padding: 48px 8px;
  }
  @media (min-width: 925px) {
    padding: 80px 8px;
  }
}
.layout_section_inner {
  max-width: var(--layout-column-full);
  margin-inline: var(--layout-margin-inline);
  /*padding-inline: var(--layout-padding-inline);*/

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 40px;
  /*@media (max-width: 925px) {
    gap: 28px;
  }*/
  @media (min-width: 925px) {
    gap: 40px;
  }
  @media (max-width: 600px) {
    padding-inline: var(--layout-padding-inline);
  }
  &[data-width="10"] {
    max-width: var(--layout-column-10);
  }
  &[data-gap="56"] {
    gap: var(--number-14);
  }
  &[data-gap="48"] {
    gap: var(--number-12);
  }
  &[data-gap="32"] {
    gap: var(--number-08);
  }
  &[data-sp-gap="32"] {
    @media(max-width: 600px) {
      gap: var(--number-08);
    }
  }  
}
.layout_section_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.layout_section_title_text {
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.04em;
  @media(max-width: 600px) {
    text-align: left;
  }
}
.layout_section_badge {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: var(--color-orange-02);
  background-color: var(--color-orange-03);
  border-radius: var(--radius-badge);
  padding: 4px 16px 2px;
  font-weight: bold;
}
.layout_section_copy {
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  @media (max-width: 925px) {
    font-size: var(--font-size-18px);
  }
  @media (min-width: 925px) {
    font-size: var(--font-size-24px);
  }
}
.layout_section_copy:before,
.layout_section_copy:after {
  content: "";
  display: inline-block;
  width: 28px;
  height: 2px;
  background-color: var(--color-orange-02);
}
.layout_section_copy:before {
  transform: rotate(60deg);
}
.layout_section_copy:after {
  transform: rotate(-60deg);
}
.layout_section_heading1 {
  font-weight: bold;
  line-height: var(--line-height-smallmedium);
  word-break: auto-phrase;
  @media (max-width: 925px) {
    font-size: var(--font-size-24px);
  }
  @media (min-width: 925px) {
    font-size: var(--font-size-32px);
  }
}
.layout_section_heading2 {
  font-weight: bold;
  line-height: var(--line-height-smallmedium);
  text-align: center; /* text-center */
  @media (max-width: 925px) {
    font-size: var(--font-size-24px);
  }
  @media (min-width: 925px) {
    font-size: var(--font-size-36px);
  }
  @media(max-width: 600px) {
    letter-spacing: 0;
  }
}
.layout_section_heading3 {
  font-weight: bold;
  @media (max-width: 925px) {
    font-size: var(--font-size-18px);
  }
  @media (min-width: 925px) {
    font-size: var(--font-size-24px);
  }
}

.layout_column {
  display: grid;
  gap: 16px;
  width: 100%;
  justify-content: center;
  align-items: stretch;
  grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
  &[data-gap="80"] {
    gap: 80px;
  }
  &[data-gap="32"] {
    gap: var(--number-08);
  }
}
@media (min-width: 925px) {
  /* .layout_column {
    gap: 32px;
  } */
  .layout_column[data-width="12"][data-column="1"] {
    grid-template-columns: repeat(1, minmax(0, var(--layout-column-12)));
  }
  .layout_column[data-width="12"][data-column="2"] {
    grid-template-columns: repeat(2, minmax(0, var(--layout-column-6)));
  }
  .layout_column[data-width="12"][data-column="3"] {
    grid-template-columns: repeat(3, minmax(0, var(--layout-column-4)));
  }
  .layout_column[data-width="12"][data-column="4"] {
    grid-template-columns: repeat(4, minmax(0, var(--layout-column-3)));
  }
  .layout_column[data-width="10"][data-column="1"] {
    grid-template-columns: repeat(1, minmax(0, var(--layout-column-10)));
  }
  .layout_column[data-width="10"][data-column="2"] {
    grid-template-columns: repeat(2, minmax(0, var(--layout-column-5)));
  }
  .layout_column[data-width="9"][data-column="3"] {
    grid-template-columns: repeat(3, minmax(0, var(--layout-column-3)));
  }
  .layout_column[data-width="9"][data-column="1"] {
    grid-template-columns: repeat(1, minmax(0, var(--layout-column-9)));
  }
  .layout_column[data-width="8"][data-column="1"] {
    grid-template-columns: repeat(1, minmax(0, var(--layout-column-8)));
  }
  .layout_column[data-width="8"][data-column="2"] {
    grid-template-columns: repeat(2, minmax(0, var(--layout-column-4)));
  }
}

@media(max-width: 600px) {
    .layout_column[data-sp-gap="16"] {
        gap: var(--number-04);
    }
}

/* scroll top */
.layout_scroll_top {
    display: none;
}

@media(max-width: 600px) {
    .layout_scroll_top {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 64px;
        height: 64px;
        border-radius: 100%;
        background-color: var(--color-white);
        box-shadow: var(--shadow-card-default);
        position: fixed;
        bottom: var(--number-04);
        right: var(--number-04); 
        z-index: 5;       
        transition: .2s;
        opacity: 0;
        visibility: hidden;
    }   
    .layout_scroll_top::before {
        content: '\e316';
        font-family: "Material Symbols Rounded";
        font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
        color: var(--color-orange-01);
        font-size: var(--font-size-40px);
    }
    .layout_scroll_top.is-active {
        opacity: 1;
        visibility: visible;
    }
}

/* footer */
.footer {
    padding: var(--number-05) var(--number-02);
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-black);    
}

.footer_copy {
    color: var(--color-white);
    font-size: var(--font-size-14px);
}

/* header */
.header__logo {
    width: 266px;
    max-width: 100%;
}

.header__content {
    display: flex;
    align-items: center;
    justify-content: space-betweena;
}

.header-logo__wrap {
    height: var(--number-10) !important;
}

/* コンテンツがないのでメニュー非表示 */
.header-tab__v-tab.v-tab.v-tab--active.header-tab__active__event, .menu__name, .header-tab__sp {
    display: none !important;
}

.header {
    width: 100%;
    background-color: var(--color-white);
    padding: var(--number-05) var(--number-04);
    position: sticky;
    top: 0;
    left: 0;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 4px 0 rgba(51, 51, 51, 0.10);
}

.header_inner {
    width: 100%;
    max-width: var(--layout-column-12);
    display: flex;
    flex-wrap: wrap;
    gap: var(--number-01);
    justify-content: space-between;
}

.header_nav {
    display: flex;
    gap: var(--number-06);
    align-items: center;
    margin-left: auto;
}

.header_nav_list {
    display: flex;
    gap: var(--number-06);
}

.header_nav_list_item {
    font-weight: 700;
}

.header_nav_list_item_sp {
    display: none;
}

.header_text {
    display: none;
}

.header_menu_button,
.header_close_button {
    display: none;
}

.header_overlay {
    display: none;
}

@media(max-width: 860px) {
    .header {
        padding: var(--number-02) var(--number-06);
        background-color: var(--color-orange-01);
        box-shadow: none;
    }

    .header_inner {
        justify-content: space-between;
        align-items: center;
    }

    .header_logo {
        display: none;
    }

    .header_text {
        display: block;
        font-size: var(--font-size-16px);
        font-weight: 700;
        color: var(--color-white);
    }

    .header_menu_button {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 26px;
        height: 18px;
        cursor: pointer;
    }

    .header_menu_button_border {
        display: block;
        width: 100%;
        height: 2px;
        background-color: var(--color-white);
        border-radius: 2px;
    }

    .header_nav {
        position: fixed;
        padding: var(--number-06) var(--number-08);
        width: 302px;
        height: 100vh;
        background-color: var(--color-white);
        right: -302px;
        top: 0;       
        transition: .3s; 
        flex-direction: column;
        gap: var(--number-08);
        align-items: flex-start;
        z-index: 12;
    }

    .header_nav.is-active {
        right: 0;
    }

    .header_nav_list {
        flex-direction: column;
    }

    .header_nav_list_item {
        font-size: var(--font-size-18px);
    }

    .header_nav_list_item_sp {
        display: block;
    }

    .header_close_button {
        display: block;
        width: 18px;
        height: 18px; 
        position: relative;       
        cursor: pointer;
        margin-left: auto;
    }
    
    .header_close_button_border {
        display: block;
        width: 100%;
        height: 2px;
        background-color: var(--color-black);
        border-radius: 2px;
    }

    .header_close_button_border {
        position: absolute;
        top: 50%;
        left: 50%;
    }

    .header_close_button_border:nth-of-type(1) {
        transform: translate(-50%,-50%) rotate(45deg);
    }

    .header_close_button_border:nth-of-type(2) {
        transform: translate(-50%,-50%) rotate(-45deg);
    }

    .header_overlay {
        display: block;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.4);
        position: fixed;
        top: 0;
        left: 0;
        z-index: 11;
        transition: .3s;
        opacity: 0;
        visibility: hidden;
    }

    .header_overlay.is-active {
        opacity: 1;
        visibility: visible;
    }
}

/* ───────────────────────────────────────────── */
/* 視聴サイトトップページ */
/* ───────────────────────────────────────────── */

.html__wrap {
    margin-top: 0 !important;
}

.home_fv {
    background: url(../img/home_fv_bg.webp) #FFF8EB no-repeat center top/cover;
    padding: 48px 32px 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--number-10);
    overflow: hidden;
    min-height: calc(100vh - (64px + 61px));
}

@media(max-width: 600px) {
    .home_fv {
        padding: var(--number-04) var(--number-06) var(--number-12);
        background-image: url(../img/home_fv_bg_sp.png);
        background-size: 1690px;
        background-position: top -230px center;
    }
}

.home_fv_inner {
    width: 100%;
    max-width: var(--layout-column-12);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--number-08);
}

@media (max-width: 1024px) {
    .home_fv_inner {
        flex-wrap: wrap;
    }
}

.home_fv_left {
    display: flex;
    flex-direction: column;
    gap: var(--number-06);
    flex-shrink: 0;
}

@media(max-width: 600px) {
    .home_fv_left {
        flex-shrink: initial;
        gap: var(--number-04);
    }
}

.home_fv_conent {
    display: flex;
    flex-direction: column;
    gap: var(--number-06);
    position: relative;
}

@media(max-width: 600px) {
    .home_fv_conent {
        align-items: center;
        gap: var(--number-06);
    }
}

.home_fv_title {
    font-size: var(--font-size-24px);
    font-weight: 700;
    color: var(--color-orange-02);
    border-bottom: solid 1px;
    border-top: solid 1px;
    padding-block: 12px;
    width: fit-content;
}

@media(max-width: 600px) {
    .home_fv_title {
        font-size: var(--font-size-14px);   
        text-align: center;
        padding-block: var(--number-02);
        width: 100%;
    }
}

.home_fv_heading {
    font-size: var(--font-size-32px);
    font-weight: 700;
    line-height: 1.3;
}

@media(max-width: 600px) {
    .home_fv_heading {
        font-size: var(--font-size-28px);
        text-align: center;
    }
}

.home_fv_heading_number {
    font-size: var(--font-size-48px);
    font-weight: 700;
}

@media(max-width: 600px) {
    .home_fv_heading_number {
        font-size: var(--font-size-36px);
    }
}

.home_fv_heading_strong {
    font-size: var(--font-size-56px);
    color: var(--color-orange-02);
    display: inline-block;
    margin-bottom: var(--number-02);
}

@media(max-width: 600px) {
    .home_fv_heading_strong {
        font-size: var(--font-size-40px);
        margin-bottom: 0;
    }
}

.home_fv_heading_sub {
    font-size: var(--font-size-32px);
    font-weight: 700;
}

@media(max-width: 600px) {
    .home_fv_heading_sub {
        font-size: var(--font-size-18px);
    }
}

.home_fv_period {
    display: flex;
    align-items: center;
    gap: 12px;
}

@media(max-width: 600px) {
    .home_fv_period {
        gap: 6px;
    }
}

.home_fv_period_date {
    font-size: var(--font-size-48px);
    font-weight: 700;
    font-family: "Roboto", sans-serif;
    display: flex;
    align-items: center;
    gap: var(--number-02);
}

@media(max-width: 600px) {
    .home_fv_period_date {
        font-size: var(--font-size-32px);
        gap: var(--number-01);
    }
}

.home_fv_period_date_day {
    font-size: var(--font-size-20px);
    width: 36px;
    height: 36px;
    border-radius: var(--radius-rounded-full);   
    background-color: var(--color-black);
    color: var(--color-white);
    display: flex;
    justify-content: center;
    align-items: center;
}

@media(max-width: 600px) {
    .home_fv_period_date_day {
        font-size: var(--font-size-14px);
        width: 26px;
        height: 26px;
    }
}

.home_fv_period_date_time {
    font-size: var(--font-size-20px);
    align-self: center;
    transform: translateY(4px);
}

@media(max-width: 600px) {
    .home_fv_period_date_time {
        font-size: var(--font-size-14px);
    }
}

.home_fv_notes {
    padding: var(--number-04) var(--number-06);
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-radius: 8px;
    border: 2px solid rgba(246, 129, 0, 0.40);
}

@media(max-width: 600px) {
    .home_fv_notes {
        padding: var(--number-03) var(--number-04) !important;
        gap: var(--number-01);
    }
}

.home_fv_notes_item {
    font-size: var(--font-size-20px);
    font-weight: 700;    
    padding-left: 36px;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.home_fv_notes_item_icon {
    position: absolute;
    left: 0;
    top: 2px;
}

.home_fv_notes_item_detail {
    font-weight: 400;
    font-size: var(--font-size-16px);
}

@media(max-width: 600px) {
    .home_fv_notes_item {
        font-size: var(--font-size-14px);
        flex-direction: row;
        flex-wrap: wrap;
        padding-left: 0;
        gap: var(--number-01);
        align-items: center;
    }
    .home_fv_notes_item_icon {
        width: 24px;
        position: static;
    }
    .home_fv_notes_item_detail {
        font-size: var(--font-size-14px);
    }
}

.home_fv_badge {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 116px;
    height: 116px;
    border-radius: var(--Radius-Rounded-full, 9999px);
    background: linear-gradient(109deg, #F68100 50%, #FF6A00 91.6%);
    font-size: var(--font-size-28px);
    font-weight: 700;
    color: var(--color-white);
    line-height: 1.2;
    position: absolute;
    top: 16px;
    right: 0;
    flex-shrink: 0;
}

@media(max-width: 600px) {
    .home_fv_badge {
        position: static;
        width: 64px;
        height: 64px;
        font-size: var(--font-size-16pß);
    }

    .home_fv_sp_row {
        display: flex;
        gap: var(--number-02);
        align-items: center;
    }
}

.home_fv_cta {
    align-self: flex-start;
}

@media(max-width: 600px) {
    .home_fv_cta {
        align-self: center;
    }
}

.home_fv_right {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--number-04);
    justify-content: center;
}

@media(max-width: 1024px) {
    .home_fv_right {
        justify-content: center;        
    }
}

@media(max-width: 600px) {
    .home_fv_right {
        width: 100vw;        
        gap: 12px var(--number-02);
    }
}

.home_fv_right_row {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: var(--number-04);
}

@media(max-width: 600px) {
    .home_fv_right_row {
        gap: 10px;
        padding-inline: 10px;
    }
}

.home_fv_speaker {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 190px;    
}

@media(max-width: 600px) {
    .home_fv_speaker {
        width: 140px;
    }
}

.home_fv_speaker_profile {    
    width: 100%;
    padding: 12px 12px 16px 12px;
    background-color: var(--color-white);
    border-radius: var(--radius-box);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--number-01);
    box-shadow: 0 4px 8px 0 #FFE1C2;
}

.home_fv_speaker_image {
    max-width: 100%;
    height: auto;
}

@media(max-width: 600px) {
    .home_fv_speaker_profile {
        min-width: 0;
        width: 100%;
        max-width: 154px;
        padding: 12px 4px;
        max-width: 100%;
        height: 100%;
        justify-content: center;
    }

    .home_fv_speaker_image {
        width: 112px;        
    }
}

.home_fv_speaker_name {
    font-size: var(--font-size-16px);
    font-weight: 700;
}

@media(max-width: 600px) {
    .home_fv_speaker_name {
        font-size: 12px;
    }
}

.home_fv_speaker_position {
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0;
}

@media(max-width: 600px) {
    .home_fv_speaker_position {
        font-size: 10px;
    }
}

.home_fv_bottom {
    box-sizing: border-box;
    background-color: var(--color-white);
    padding: var(--number-10) 50px;
    border-radius: 12px;
    width: 100%;
    max-width: var(--layout-column-10);
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: var(--number-06);
}

@media screen and (max-width: 600px) {
    .home_fv_bottom {
        padding: var(--number-10) var(--number-06);
    }

    .home_fv_bottom_column {
        display: flex;
        flex-direction: column;
        gap: 1.4em;
    }
}

.home_fv_bottom_head {
    display: flex;
    flex-direction: column;
    align-items: center;   
    gap: 4px; 
}

.home_fv_bottom_title,
p.home_fv_bottom_title {
    font-size: var(--font-size-24px);
    font-weight: 700;
    text-align: center;
    margin-bottom: 0;
}

@media screen and (max-width: 600px) {
    .home_fv_bottom_title,
    p.home_fv_bottom_title {
        font-size: var(--font-size-20px);
    }
}

p.home_fv_bottom_heading {
    font-size: var(--font-size-32px);
    font-weight: 700;
    color: var(--color-orange-02);
    text-align: center;
    margin-bottom: 0;
}

@media screen and (max-width: 600px) {
    p.home_fv_bottom_heading {
        font-size: var(--font-size-20px);   
    }
}

p.home_fv_bottom_text {
    line-height: 2;
    margin-bottom: 0;
    font-weight: 400;
    letter-spacing: 0.04em;
}

@media screen and (max-width: 600px) {
    p.home_fv_bottom_text {
        text-align: left;
    }
}

p.home_fv_bottom_strong {
    margin-bottom: 0;
    font-size: var(--font-size-20px);
    font-weight: 700;
}

@media screen and (max-width: 600px) {
    p.home_fv_bottom_strong {
        font-size: var(--font-size-16px);
    }
}

p.home_fv_bottom_notes {
    font-size: var(--font-size-14px);
    font-weight: 400;
    text-align: center;
}

@media screen and (max-width: 600px) {
    p.home_fv_bottom_notes {
        text-align: left;
        font-size: 12px;
    }
}

.event__layout.widget__wrap:last-of-type {
    padding-bottom: 0;
}

.home_basic {
    padding-bottom: var(--number-10);
}

@media screen and (max-width: 600px) {
    .home_basic {
        padding-bottom: 0;
    }
}

.home_incentive {
    overflow: hidden;
}

.home_incentive_inner {
    position: relative;
    z-index: 0;
}

.home_incentive_inner::before {
    content: '';
    width: 447px;
    height: 447px;
    position: absolute;
    z-index: -1;
    right: -153px;
    top: 120px;
    border-radius: 100%;
    background: #FFEAD1;
    filter: blur(150px);
}

.home_incentive_inner::after {
    content: '';
    width: 447px;
    height: 447px;
    position: absolute;
    z-index: -1;
    left: -167px;
    bottom: 24px;
    border-radius: 100%;
    background: #FFFAD8;
    filter: blur(150px);
}

@media screen and (max-width: 600px) {
    .home_incentive_inner::before {
        right: auto;
        left: -200px;
    }

    .home_incentive_inner::after {
        left: auto;
        right: -200px;
    }
}

.home_incentive_column {
    padding: var(--number-06) var(--number-16);
    border: solid 2px var(--color-orange-01);
    border-radius: var(--number-03);
    background-color: var(--color-white);
    display: flex;
    flex-direction: column;
    gap: var(--number-04);
    counter-reset: incentive;
    width: 100%;    
    background-color: var(--color-white);
}


@media (max-width: 1024px) {
    .home_incentive_column {
        align-items: center;
        padding-block: var(--number-08);
        gap: var(--number-08);
    }
}
@media screen and (max-width: 600px) {
    .home_incentive_column {
        padding-inline: var(--number-08);
    }
}

.home_incentive_box {
    padding-block: var(--number-08);
    display: flex;
    gap: var(--number-08);
    align-items: flex-start;
}

@media (max-width: 1024px) {
    .home_incentive_box {
        flex-direction: column;
        align-items: center;
        max-width: var(--layout-column-5);
        padding: 0;
    }
}

.home_incentive_content {
    display: flex;
    flex-direction: column;
    gap: var(--number-04);
}

.home_incentive_heading {
    font-size: var(--font-size-24px);
    font-weight: 700;
    display: flex;
    align-items: baseline;
    gap: var(--number-04);    
    letter-spacing: 0;
}

@media screen and (max-width: 600px) {
    .home_incentive_heading {
        font-size: var(--font-size-18px);
        gap: var(--number-02);
    }
}

.home_incentive_heading::before {
    counter-increment: incentive;
    content: counter(incentive, decimal-leading-zero)'.';
    color: var(--color-orange-02);
}

@media screen and (max-width: 600px) {
    .home_incentive_heading::before {
        font-size: var(--font-size-24px);
    }
}

.home_incentive_image {
    flex-shrink: 0;
    border-radius: var(--number-03);
}

.home_flow {
    background-color: #FEF2E5;
}

.home_flow_column {
    display: flex;
    flex-direction: column;
    gap: var(--number-02);
}

.home_flow_card {
    width: 100%;
    background-color: var(--color-white);
    padding: var(--number-06) var(--number-10);
    border-radius: var(--number-03);
    display: flex;
    gap: var(--number-08);
    align-items: center;
}

@media screen and (max-width: 600px) {
    .home_flow_card {
        padding: var(--number-10) var(--number-08) 0;
        flex-direction: column;
        gap: var(--number-04);
    }   
}

.home_flow_card_content {
    display: flex;
    flex-direction: column;
    gap: var(--number-04);
    padding-block: var(--number-08);
}

@media screen and (max-width: 600px) {
    .home_flow_card_content {
        padding-block: 0;
        gap: var(--number-06);
    }
}

.home_flow_card_heading {
    font-size: var(--font-size-24px);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: var(--number-04);
}

@media screen and (max-width: 600px) {
    .home_flow_card_heading {
        font-size: var(--font-size-18px);
    }
}

.home_flow_card_step {
    font-size: var(--font-size-16px);
    padding: var(--number-01) var(--number-04);
    border-radius: var(--radius-rounded-full);
    background: linear-gradient(270deg, #FFCC94 0%, #FFEFB5 100%);
    flex-shrink: 0;
}

.material-symbols-rounded.home_flow_card_arrow {
    font-size: var(--font-size-40px);
    color: var(--color-orange-01);
    align-self: center;
}

.home_faq {
    background: url(../img/faq_bg.webp) repeat-y top center/1469px;
}

@media screen and (max-width: 600px) {
    .home_faq {
        background: url(../img/faq_bg_sp.webp) repeat-y top 0 center/1108px;
    }
}

.home_faq_column {
    display: flex;
    flex-direction: column;
    gap: var(--number-04);
    width: 100%;
}

.home_faq_box {
    width: 100%;
    background-color: var(--color-white);
    border-radius: var(--number-03);
    border: 1.5px solid var(--color-gray-03);
    box-shadow: var(--Number-00, 0) var(--Number-01, 4px) var(--Number-01, 4px) var(--Number-00, 0) var(---Transparency01, rgba(51, 51, 51, 0.10));
}

@media screen and (max-width: 600px) {
    .home_faq_box {
        padding-bottom: var(--number-06);
    }
}

.home_faq_box_heading {
    padding: var(--number-08);
    font-size: var(--font-size-24px);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: var(--number-04);
    cursor: pointer;
}

.home_faq_box_heading::before {
    content: 'Q';
    color: var(--color-orange-02);
    font-size: var(--font-size-32px);
    flex-shrink: 0;
    line-height: 1;
}

.home_faq_box_heading::after {
    content: '\e313';
    font-family: "Material Symbols Rounded";
    font-variation-settings:
    'FILL' 0,
    'wght' 400,
    'GRAD' 0,
    'opsz' 24;
    color: var(--color-orange-02);
    font-size: var(--font-size-32px);
    flex-shrink: 0;
    margin-left: auto;
}

@media screen and (max-width: 600px) {
    .home_faq_box_heading {
        font-size: var(--font-size-18px);
        padding: var(--number-06) var(--number-06) 0;
        gap: 0;
    }
    .home_faq_box_heading::before {
        padding-right: var(--number-04);
    }
}

.home_faq_box[open] .home_faq_box_heading::after {
    content: '\e316';
}

.home_faq_box_content {
    padding: 0 var(--number-08) var(--number-08);
    display: flex;
    align-items: flex-start;
    gap: var(--number-04);
}

@media screen and (max-width: 600px) {
    .home_faq_box_content {
        padding: var(--number-04) var(--number-06) 0;
    }   
}

.home_faq_box_content::before {
    content: 'A';
    color: var(--color-blue-02);
    font-size: var(--font-size-32px);
    font-weight: 700;
    flex-shrink: 0;
    line-height: 1;
}

.home_faq_box_content_column {
    display: flex;
    flex-direction: column;
    gap: 1.3em;
}

.home_overview {
    background-color: #F2F5FA;
}

.home_overview_table {
    width: 100%;
    border-top: solid 1px #CCC;
}

.home_overview_table_th {
    width: 200px;
    padding: var(--number-04);
    font-weight: 700;
    text-align: right;
    border-bottom: solid 1px #CCC;
}
.home_overview_table_td {
    padding: var(--number-04);
    border-bottom: solid 1px #CCC;
    vertical-align: middle;
}

@media(max-width: 600px) {
    .home_overview_table_th {
        width: 128px;
        padding-inline: var(--number-04);
        vertical-align: middle;
        font-size: var(--font-size-16px);
    }

    .home_overview_table_td {
        font-size: var(--font-size-16px);        
    }
}

/* ───────────────────────────────────────────── */
/* component */
/* ───────────────────────────────────────────── */

.v-btn, .v-btn:not(.v-btn--round).v-size--large {
    padding: var(--number-04) var(--number-10);
    min-width: 292px;
    width: fit-content;
    height: auto;
    font-size: var(--font-size-20px);
    font-weight: 700;
    background-color: var(--color-blue-02) !important;
    border-radius: var(--radius-button);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--color-white) !important;
}

.v-btn--fab.v-size--default {
    min-width: 0 !important;
    padding: 0 !important;
}

.v-application .blue--text.text--darken-1 {
    color: var(--color-white) !important;
}

/* ────────────────────────────── *
* component_button 
* ────────────────────────────── */

.component_button_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 24px 16px;
  background-color: var(--color-white);
  border-radius: var(--radius-box);
  margin-top: 32px; /* component_button_imageの調整分 */
}
.component_button_card:nth-of-type(2) {
  @media (max-width: 925px) {
    order: -1;
  }
}
.component_button_image {
  max-width: var(--layout-column-3);
  margin-top: -64px;
}

.component_button_copyset {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}
.component_button_microcopy {
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  @media (max-width: 925px) {
    font-size: var(--font-size-14px);
  }
  @media (min-width: 925px) {
    font-size: var(--font-size-16px);
  }
}
.component_button_microcopy:before {
  transform: rotate(60deg);
}
.component_button_microcopy:after {
  transform: rotate(-60deg);
}
.component_button_microcopy:before,
.component_button_microcopy:after {
  content: "";
  display: inline-block;
  width: 28px;
  height: 2px;
  background-color: var(--color-orange-02);
}
.component_button_microcopy_column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--number-02);
}

.component_button_wrapper {
  display: flex;
  flex-wrap: wrap;
  /* align-items: center; */
  align-items: flex-end;
  gap: 24px 16px;
  @media (max-width: 925px) {
    flex-direction: column-reverse;
    align-items: stretch;
  }
  &[data-gap="40"] {
    gap: var(--number-10);
  }
}

.component_button {
  font-weight: bold;
  line-height: var(--line-height-small);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--radius-button);
  border-width: 2px;
  border-style: solid;
  transition: 0.2s;
  box-shadow: var(--shadow-button-default);
  text-decoration: none;
}
@media (max-width: 925px) {
  /*.component_button {
    width: 100%;
  }*/
}
.component_button:hover {
  box-shadow: var(--shadow-button-hover);
}
.component_button:active {
  box-shadow: var(--shadow-button-default);
}


/* data-size */
.component_button[data-size="base"] {
  font-size: var(--font-size-16px);
  padding: 8px 16px;
}
.component_button[data-size="base"]::after {
  font-size: var(--font-size-18px);
}
.component_button[data-size="xl"] {
  font-size: var(--font-size-20px);
  padding: 12px 24px;
  min-width: 240px;
}
.component_button[data-size="xl"]::after {
  font-size: var(--font-size-24px);
}
.component_button[data-size="xxl"] {
  font-size: var(--font-size-24px);
  padding: 14px 24px;
  min-width: 260px;
  @media(max-width: 600px) {
    font-size: var(--font-size-20px);
  }
}
.component_button[data-size="xxl"]:after {
  //font-size: var(--font-size-28px);  
  font-size: var(--font-size-24px);  
}

@media(max-width: 600px) {
  .component_button[data-sp-size="base"] {
    font-size: var(--font-size-16px);
    padding: 8px 16px;
  }
  .component_button[data-sp-size="base"]::after {
    font-size: var(--font-size-18px);
  }
  .component_button[data-sp-size="xl"] {
    font-size: var(--font-size-20px);
    padding: 12px 24px;
    min-width: 240px;
  }
  .component_button[data-sp-size="xl"]::after {
    font-size: var(--font-size-24px);
  }
  .component_button[data-sp-size="xxl"] {
    font-size: var(--font-size-24px);
    padding: 14px 24px;
    min-width: 260px;
    @media(max-width: 600px) {
      font-size: var(--font-size-20px);
    }
  }
  .component_button[data-size="xxl"]:after {
    /*font-size: var(--font-size-28px);  */
    font-size: var(--font-size-24px);  
  }
  .component_button[data-size-sp="18"] {
    font-size: var(--font-size-18px);
    padding: var(--number-02) var(--number-04);
  }
}

/* data-width */
.component_button[data-width="292"] {
  min-width: 292px;
  max-width: 100%;
}

/* data-color */
/* 000 内部リンク */
.component_button[data-color="000"] {
  color: var(--color-black);
  background-color: var(--color-white);
  border-color: var(--color-gray-03);
}
.component_button[data-color="000"]:hover {
  color: var(--color-black);
  background-color: var(--color-orange-50);
  border-color: var(--color-gray-03);
}
.component_button[data-color="000"]:active {
  color: var(--color-black);
  background-color: var(--color-orange-100);
  border-color: var(--color-gray-03);
}
.component_button[data-color="000"]:before,
.component_button[data-color="000"]:after {
  color: var(--color-orange-500);
}

/* 001 優先度1 */
.component_button[data-color="001"] {
  color: var(--color-white);
  background-color: var(--color-blue-500);
  border-color: var(--color-blue-500);
}
.component_button[data-color="001"]:hover {
  background-color: var(--color-blue-600);
  border-color: var(--color-blue-600);
}
.component_button[data-color="001"]:active {
  background-color: var(--color-blue-700);
  border-color: var(--color-blue-700);
}

/* 002 優先度2 */
.component_button[data-color="002"] {
  color: var(--color-orange-500);
  background-color: var(--color-white);
  border-color: var(--color-orange-100);
}
.component_button[data-color="002"]:hover {
  color: var(--color-orange-600);
  background-color: var(--color-orange-50);
  border-color: var(--color-orange-100);
}
.component_button[data-color="002"]:active {
  color: var(--color-orange-700);
  background-color: var(--color-orange-100);
  border-color: var(--color-orange-100);
}

/* login ログイン */
.component_button[data-color="login"] {
  color: var(--color-blue-500);
  background-color: var(--color-white);
  border-color: var(--color-blue-500);
}
.component_button[data-color="login"]:hover {
  color: var(--color-blue-600);
  background-color: var(--color-blue-50);
  border-color: var(--color-blue-600);
}
.component_button[data-color="login"]:active {
  color: var(--color-blue-700);
  background-color: var(--color-blue-100);
  border-color: var(--color-blue-700);
}

/* data-icon */
.component_button[data-icon="arrow_forward"]::after {
  content: "\e5c8";
  font-family: "Material Symbols Rounded";
  font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0;
}
.component_button[data-icon="arrow_back"]::before {
  content: "\e5c4";
  font-family: "Material Symbols Rounded";
  font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0;
}
.component_button[data-icon="login"]::after {
  content: "\ea77";
  font-family: "Material Symbols Rounded";
  font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0;
}

/* ────────────────────────────── *
* component_card
* ────────────────────────────── */
.component_card_seminar {
    background-color: var(--color-white);
    padding: var(--number-10) var(--number-12);
    border-radius: var(--number-03);
    display: flex;
    flex-direction: column;
    gap: var(--number-08);
}
.component_card_seminar[data-size="half"] {
    padding-inline: var(--number-10);
}
@media (max-width: 600px) {
    .component_card_seminar {
        flex-direction: column;
        padding: var(--number-08);
    }
    .component_card_seminar[data-size="half"] {
        padding-inline: var(--number-08);
    }
}
.component_card_seminar_head {
    display: flex;
    flex-direction: column;
    gap: var(--number-04);
}
.component_card_seminar_heading {
    font-size: var(--font-size-32px);
    font-weight: 700;
}
.component_card_seminar_heading[data-size="28"] {
    font-size: var(--font-size-28px);
}
@media (max-width: 600px) {
    .component_card_seminar_heading,
    .component_card_seminar_heading[data-size="28"] {
        font-size: var(--font-size-18px);
    }
}
.component_card_seminar_row {
    display: flex;
    gap: var(--number-08);
    align-items: flex-start;
}
.component_card_seminar_row_sp {
    width: 100%;
}
@media (max-width: 600px) {
    .component_card_seminar_row_sp {
        display: flex;
        /*gap: var(--number-08);*/
        gap: var(--number-05);
        align-items: center;
    }
}
.component_card_seminar_image {
    flex-shrink: 0;
    border-radius: var(--number-02);
}
@media (max-width: 600px) {
    .component_card_seminar_image {
        border-radius: var(--number-02);
    }
}
.component_card_seminar_profile {
    display: flex;
    flex-direction: column;
    gap: var(--number-04);
}
@media (max-width: 600px) {
    .component_card_seminar_profile {
        gap: var(--number-05);
    }
}
.component_card_seminar_name {
    display: flex;
    gap: var(--number-04);
    align-items: baseline;
    font-size: var(--font-size-20px);
    font-weight: 700;
    padding-bottom: var(--number-03);
    border-bottom: solid 1px var(--color-orange-01);
}
@media (max-width: 600px) {
    .component_card_seminar_name {
        flex-direction: column;
        font-size: var(--font-size-16px);
        gap: var(--number-03);
        padding-bottom: var(--number-04);
        width: 100%;
    }
}
.component_card_seminar_posotion {
    font-size: var(--font-size-14px);
}
@media (max-width: 600px) {
    .component_card_seminar_posotion {
        font-size: var(--font-size-12px);
    }
}
.component_card_seminar_profile_details {
    font-size: var(--font-size-14px);
}

/* ────────────────────────────── *
* component_tag
* ────────────────────────────── */
.component_tag {
    font-weight: 700;
    color: var(--color-white);
    padding: var(--number-01) var(--number-04);
    border-radius: var(--radius-rounded-full);
    display: block;
    width: fit-content;
}
.component_tag[data-color="orange"] {
    background-color: var(--color-orange-01);
}
.component_tag[data-color="pink"] {
    background-color: #FF6D6D;
}
.component_tag[data-color="green"] {
    background-color: var(--color-teal-01);
}
.component_tag_row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--number-02);
}

/* ───────────────────────────────────────────── */
/* utility */
/* ───────────────────────────────────────────── */

.font-bold {
    font-weight: 700;
}
.text-center {
    text-align: center;
}
.text-underline {
    text-decoration: underline;
}
.bg-blur-01 {
    background: url(../img/bg001.webp) #FFEAD1 repeat-y top -560px center/1793px;
}

@media (max-width: 600px) {
    .bg-blur-01 {
        background: url(../img/bg001_sp.webp) #FFEAD1 repeat-y top 586px center/1648px;
    }
}