@charset "UTF-8";
/* スタイルの初期化やベースとなるスタイルを定義 */
/* Common Value
====================================================*/
:root {
  /* 文字色 */
  --Tokens-Colors-text: var(--Neutral-color-Neutral-12);
  --Default-colors-black: rgba(18, 18, 22, 1);
  /* 背景色 */
  --Tokens-Foreground-primary: var(--Neutral-color-Neutral-12);
  --Tokens-Foreground-secondary: var(--Neutral-color-Neutral-Alpha-11);
  --Tokens-Background-panel: #fff;
  --Tokens-Background-surface: rgba(255, 255, 255, 0.9);
  --Tokens-Background-overlay: var(--Neutral-color-Neutral-Alpha-8);
  --Tokens-Foreground-contrast-white: #fff;
  --Tokens-Foreground-contrast-black: rgba(18, 18, 22, 1);
  /* Eight */
  --Default-colors-Eight-Blue: var(--Accent-color-Accent-9);
  /* FUNDeal */
  --FUNDeal-Black: rgba(57, 56, 66, 1);
  --Gold-Llane: rgba(242, 204, 108, 1);
  /* 各色 */
  /* Default：OnLight */
  --Neutral-color-Neutral-12: #1C2024;
  --Neutral-color-Neutral-11: #60646C;
  --Neutral-color-Neutral-10: #7E808A;
  --Neutral-color-Neutral-9: #8B8D98;
  --Neutral-color-Neutral-8: #B9BBC6;
  --Neutral-color-Neutral-7: #D3D4DB;
  --Neutral-color-Neutral-6: #DDDDE3;
  --Neutral-color-Neutral-5: #E4E4E9;
  --Neutral-color-Neutral-4: #EBEBEF;
  --Neutral-color-Neutral-3: #F2F2F5;
  --Neutral-color-Neutral-2: #F9F9FB;
  --Neutral-color-Neutral-1: #FCFCFD;
  --Neutral-color-Neutral-Alpha-12: rgba(0, 5, 9, 0.89);
  --Neutral-color-Neutral-Alpha-11: rgba(0, 7, 19, 0.62);
  --Neutral-color-Neutral-Alpha-10: rgba(0, 4, 24, 0.51);
  --Neutral-color-Neutral-Alpha-9: rgba(0, 4, 29, 0.46);
  --Neutral-color-Neutral-Alpha-8: rgba(0, 8, 47, 0.28);
  --Neutral-color-Neutral-Alpha-7: rgba(1, 6, 47, 0.17);
  --Neutral-color-Neutral-Alpha-6: rgba(1, 1, 46, 0.13);
  --Neutral-color-Neutral-Alpha-5: rgba(0, 0, 48, 0.11);
  --Neutral-color-Neutral-Alpha-4: rgba(2, 2, 52, 0.08);
  --Neutral-color-Neutral-Alpha-3: rgba(0, 0, 59, 0.05);
  --Neutral-color-Neutral-Alpha-2: rgba(5, 5, 88, 0.02);
  --Neutral-color-Neutral-Alpha-1: rgba(5, 5, 88, 0.01);
  --Accent-color-Accent-12: #0B1F47;
  --Accent-color-Accent-11: #113CB0;
  --Accent-color-Accent-10: #0947D7;
  --Accent-color-Accent-9: #0054FF;
  --Accent-color-Accent-8: #7DA8FF;
  --Accent-color-Accent-7: #ACC3F7;
  --Accent-color-Accent-6: #C4D5FB;
  --Accent-color-Accent-5: #D8E2FD;
  --Accent-color-Accent-4: #E6EDFE;
  --Accent-color-Accent-3: #F0F4FF;
  --Accent-color-Accent-2: #F8FAFF;
  --Accent-color-Accent-1: #FDFDFE;
  --Accent-color-Accent-Alpha-12: rgba(0, 17, 70, 0.88);
  --Accent-color-Accent-Alpha-11: rgba(5, 39, 153, 0.88);
  --Accent-color-Accent-Alpha-10: rgba(0, 56, 209, 0.91);
  --Accent-color-Accent-Alpha-9: rgba(5, 72, 255, 0.94);
  --Accent-color-Accent-Alpha-8: rgba(5, 75, 240, 0.49);
  --Accent-color-Accent-Alpha-7: rgba(0, 67, 224, 0.32);
  --Accent-color-Accent-Alpha-6: rgba(0, 64, 224, 0.21);
  --Accent-color-Accent-Alpha-5: rgba(2, 62, 235, 0.15);
  --Accent-color-Accent-Alpha-4: rgba(2, 73, 245, 0.1);
  --Accent-color-Accent-Alpha-3: rgba(1, 68, 255, 0.06);
  --Accent-color-Accent-Alpha-2: rgba(1, 68, 255, 0.06);
  --Accent-color-Accent-Alpha-1: rgba(5, 5, 130, 0.01);
  --Semantic-colors-Error-12: #731125;
  --Semantic-colors-Error-11: #C31336;
  --Semantic-colors-Error-10: #E60F3A;
  --Semantic-colors-Error-9: #FF134C;
  --Semantic-colors-Error-8: #F18A98;
  --Semantic-colors-Error-7: #F3AEB4;
  --Semantic-colors-Error-6: #F9C6C9;
  --Semantic-colors-Error-5: #FDD8D9;
  --Semantic-colors-Error-4: #FFE5E5;
  --Semantic-colors-Error-3: #FFEFED;
  --Semantic-colors-Error-2: #FFF8F7;
  --Semantic-colors-Error-1: #FFFCFC;
  --Semantic-colors-Success-Alpha-12: rgba(0, 38, 22, 0.9);
  --Semantic-colors-Success-Alpha-11: rgba(0, 107, 59, 0.91);
  --Semantic-colors-Success-Alpha-10: rgba(0, 131, 71, 0.84);
  --Semantic-colors-Success-Alpha-9: rgba(0, 143, 74, 0.81);
  --Semantic-colors-Success-Alpha-8: rgba(0, 147, 77, 0.64);
  --Semantic-colors-Success-Alpha-7: rgba(0, 140, 61, 0.43);
  --Semantic-colors-Success-Alpha-6: rgba(1, 147, 55, 0.29);
  --Semantic-colors-Success-Alpha-5: rgba(0, 155, 55, 0.2);
  --Semantic-colors-Success-Alpha-4: rgba(1, 166, 54, 0.13);
  --Semantic-colors-Success-Alpha-3: rgba(2, 186, 60, 0.09);
  --Semantic-colors-Success-Alpha-2: rgba(2, 186, 60, 0.09);
  --Semantic-colors-Success-Alpha-1: rgba(5, 192, 67, 0.02);
  --Semantic-colors-Error-Alpha-12: rgba(107, 0, 21, 0.94);
  --Semantic-colors-Error-Alpha-11: rgba(194, 0, 39, 0.94);
  --Semantic-colors-Error-Alpha-10: rgba(229, 0, 46, 0.96);
  --Semantic-colors-Error-Alpha-9: rgba(255, 10, 69, 0.94);
  --Semantic-colors-Error-Alpha-8: rgba(219, 0, 30, 0.46);
  --Semantic-colors-Error-Alpha-7: rgba(217, 0, 18, 0.32);
  --Semantic-colors-Error-Alpha-6: rgba(219, 1, 15, 0.22);
  --Semantic-colors-Error-Alpha-5: rgba(242, 0, 15, 0.15);
  --Semantic-colors-Error-Alpha-4: rgba(255, 0, 0, 0.1);
  --Semantic-colors-Error-Alpha-3: rgba(255, 35, 1, 0.06);
  --Semantic-colors-Error-Alpha-2: rgba(255, 13, 5, 0.03);
  --Semantic-colors-Error-Alpha-1: rgba(255, 13, 5, 0.01);
  --Semantic-colors-Info-11: #256E93;
  --Semantic-colors-Info-Alpha-11: rgba(0, 86, 129, 0.86);
  --Semantic-colors-Info-Alpha-3: rgba(1, 204, 255, 0.11);
  --Semantic-colors-Success-12: rgba(25, 59, 45, 1);
  --Semantic-colors-Success-11: rgba(24, 121, 78, 1);
  --Semantic-colors-Success-9: rgba(48, 164, 108, 1);
  --Semantic-colors-Success-3: rgba(233, 249, 238, 1);
  --Colors-Purple-11: #793AAF;
  --Colors-Purple-9: #8E4EC6;
  --Colors-Purple-5: #EDDBF9;
  --Colors-Purple-Alpha-11: rgba(82, 0, 151, 0.77);
  --Colors-Purple-Alpha-7: rgba(106, 1, 194, 0.29);
  --Colors-Purple-Alpha-3: rgba(146, 0, 237, 0.05);
  --Colors-Blue-11: #0B68CB;
  --Colors-Blue-9: #0091FF;
  --Colors-Blue-5: #CEE7FE;
  --Colors-Blue-Alpha-11: rgba(0, 97, 201, 0.96);
  --Colors-Blue-Alpha-7: rgba(0, 119, 223, 0.41);
  --Colors-Blue-Alpha-3: rgba(2, 128, 255, 0.07);
  --Colors-Crimson-11: #CB1D63;
  --Colors-Crimson-9: #E93D82;
  --Colors-Crimson-5: #F9D8E7;
  --Colors-Crimson-Alpha-11: rgba(196, 0, 78, 0.89);
  --Colors-Crimson-Alpha-7: rgba(199, 0, 84, 0.32);
  --Colors-Crimson-Alpha-3: rgba(255, 5, 122, 0.03);
  --Colors-Tomato-12: #5C271F;
  --Colors-Tomato-11: #D13415;
  --Colors-Tomato-9: #E54D2E;
  --Colors-Tomato-5: #FFCDC2;
  --Colors-Teal-11: #067A6F;
  --Colors-Teal-9: #12A594;
  --Colors-Teal-5: #C7EBE5;
  --Colors-Teal-Alpha-11: rgba(0, 119, 107, 0.98);
  --Colors-Teal-Alpha-7: rgba(1, 146, 121, 0.45);
  --Colors-Teal-Alpha-3: rgba(2, 192, 150, 0.09);
  --Colors-Lime-11: #59682C;
  --Colors-Lime-9: #BDEE63;
  --Colors-Lime-5: #D5EDAF;
  --Colors-Lime-Alpha-11: rgba(55, 73, 0, 0.83);
  --Colors-Lime-Alpha-7: rgba(103, 149, 0, 0.5);
  --Colors-Lime-Alpha-3: rgba(133, 222, 1, 0.15);
  --Colors-Yellow-11: #775F28;
  --Colors-Yellow-9: #FBE32D;
  --Colors-Yellow-5: #F7EA9B;
  --Colors-Yellow-Alpha-11: rgba(94, 66, 0, 0.84);
  --Colors-Yellow-Alpha-7: rgba(190, 152, 0, 0.57);
  --Colors-Yellow-Alpha-3: rgba(255, 227, 1, 0.22);
  /* グラデーション */
  --grad-expo: linear-gradient(144.09deg, #7AEAF9 -8.64%, #549CF0 48.75%, #0C31E9 106.14%);
  --grad-cool: linear-gradient(144.06deg, #0054FF -7.79%, #02113A 106.13%);
  --grad-warm: linear-gradient(168.59deg, #FFCC5D -14.04%, #F95274 49.58%, #FB0D84 113.21%);
  --grad-climbers: linear-gradient(95deg, #FF9100 6.44%, #FF00AA 27.92%, #9D00CE 49.39%, #5A00FC 70.87%, #00B7EC 92.35%);
  --grad-mix: linear-gradient(90.01deg, #FFAD5F 0.01%, #FF7A99 34%, #5876FF 67%, #5EDBCA 99.99%);
  --grad-gold: linear-gradient(180deg, #D6BF82 0%, #F5CB97 30.73%, #FED262 64.58%, #D6BF82 100%);
  --grad-panel: linear-gradient(144.09deg, rgba(122, 234, 249, 0.3) -8.64%, rgba(84, 156, 240, 0.3) 48.75%, rgba(12, 49, 233, 0.3) 106.14%);
  /* Elevation */
  --Elevation-1: 0 2px 2px 0 #05055806, 0 2px 2px 0 #00000006;
  --Elevation-2: 0 0 0 0.5px #00000003, 0 1px 4px 0 #02023414, 0 2px 1px -1px #00000003, 0 1px 3px 0 #00000003;
  --Elevation-3: 0 2px 3px -2px #00003B0D, 0 3px 12px -4px #00000006, 0 4px 16px -8px #00000006;
  --Elevation-4: 0 12px 32px -16px #00003B0D, 0 12px 32px -16px #00003B0D;
  --Elevation-5: 0 12px 60px 0 #0000000E, 0 12px 32px -16px #0000301B;
  --Elevation-6: 0 12px 60px 0 #0000000E, 0 16px 64px 0 #05055806, 0 16px 36px -20px #01062F2C;
  /* Font */
  --Font-DIN: "DIN-2014", sans-serif;
  /* イベント開始・終了時刻 ※現在は未使用 */
  --Time-Start-Hour: 9; /* 開始 9時 */
  --Time-End-Hour: 19; /* 終了 19時 */
  --Time-Start-Minute: 30; /* 開始 30分 */
}

/* Base Style
====================================================*/
html {
  font-size: 62.5%;
}

.lang.en:lang(ja) {
  display: none !important;
}

.lang.jp:lang(en) {
  display: none !important;
}

body {
  color: var(--Tokens-Foreground-primary);
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0;
  font-family: "Helvetica Neue", Helvetica, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, sans-serif;
  overscroll-behavior: none;
}

[v-cloak] {
  visibility: hidden;
}

*, *::before, *::after {
  box-sizing: border-box;
}

.wholewrapper {
  min-width: 375px;
  margin: 0 auto;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-family: "din-2014", "Helvetica Neue", "Arial", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, sans-serif;
}

/* 見出しに Helvetica Neue を使用する場合 */
.font-helvetica {
  font-family: "Helvetica Neue", Helvetica, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, sans-serif;
}

a {
  color: var(--Accent-color-Accent-9);
}

a.disabled {
  pointer-events: none;
}

.click-disabled {
  pointer-events: none;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dl, dd {
  margin: 0;
}

.br-pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .br-pc {
    display: inline;
  }
}

@media screen and (max-width: 767px) {
  .br-sp {
    display: block;
  }
}

.hidden-title {
  height: 0;
  opacity: 0;
  font-size: 0;
}

@media screen and (max-width: 1231px) {
  .hidden-inner {
    display: none !important;
  }
}

@media screen and (min-width: 1232px) {
  .hidden-notinner {
    display: none !important;
  }
}

@media screen and (max-width: 1080px) {
  .hidden-tab {
    display: none !important;
  }
}

@media screen and (min-width: 1081px) {
  .hidden-nottab {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .hidden-sp {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .hidden-notsp {
    display: none !important;
  }
}

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

.display-block {
  display: block !important;
}

.display-inline {
  display: inline !important;
}

.display-inline-block {
  display: inline-block !important;
}

.display-flex {
  display: flex !important;
}

/* Background Color & Color
====================================================*/
.on-dark {
  --Tokens-Foreground-primary: #fff;
  --Tokens-Foreground-secondary: rgba(239, 245, 255, 0.69);
  --Tokens-Background-panel: rgba(27, 27, 31, 1);
  --Tokens-Background-surface: rgba(0, 0, 0, 0.25);
  --Neutral-color-Neutral-12: #EDEEF0;
  --Neutral-color-Neutral-11: #ADB1B8;
  --Neutral-color-Neutral-10: #787F85;
  --Neutral-color-Neutral-9: #696E77;
  --Neutral-color-Neutral-8: #5A6165;
  --Neutral-color-Neutral-7: #464B50;
  --Neutral-color-Neutral-6: #3C3F44;
  --Neutral-color-Neutral-5: #35373C;
  --Neutral-color-Neutral-4: #2E3035;
  --Neutral-color-Neutral-3: #27282D;
  --Neutral-color-Neutral-2: #1B1B1F;
  --Neutral-color-Neutral-1: #121216;
  --Neutral-color-Neutral-Alpha-12: rgba(252, 253, 255, 0.94);
  --Neutral-color-Neutral-Alpha-11: rgba(239, 245, 255, 0.69);
  --Neutral-color-Neutral-Alpha-10: rgba(228, 238, 255, 0.49);
  --Neutral-color-Neutral-Alpha-9: rgba(221, 233, 255, 0.41);
  --Neutral-color-Neutral-Alpha-8: rgba(223, 242, 253, 0.33);
  --Neutral-color-Neutral-Alpha-7: rgba(213, 234, 254, 0.24);
  --Neutral-color-Neutral-Alpha-6: rgba(212, 228, 254, 0.19);
  --Neutral-color-Neutral-Alpha-5: rgba(210, 223, 255, 0.16);
  --Neutral-color-Neutral-Alpha-4: rgba(199, 214, 254, 0.13);
  --Neutral-color-Neutral-Alpha-3: rgba(189, 200, 255, 0.09);
  --Neutral-color-Neutral-Alpha-2: rgba(121, 121, 250, 0.03);
  --Neutral-color-Neutral-Alpha-1: rgba(24, 24, 246, 0.01);
  --Accent-color-Accent-12: #D7DFFF;
  --Accent-color-Accent-11: #85A5FF;
  --Accent-color-Accent-10: #3571FD;
  --Accent-color-Accent-9: #1462FF;
  --Accent-color-Accent-8: #315ED8;
  --Accent-color-Accent-7: #2A468D;
  --Accent-color-Accent-6: #20386F;
  --Accent-color-Accent-5: #1F2F5D;
  --Accent-color-Accent-4: #1E284F;
  --Accent-color-Accent-3: #1A2242;
  --Accent-color-Accent-2: #15192D;
  --Accent-color-Accent-1: #131620;
  --Accent-color-Accent-Alpha-12: rgba(214, 223, 255, 0.99);
  --Accent-color-Accent-Alpha-11: rgba(133, 165, 255, 1);
  --Accent-color-Accent-Alpha-10: rgba(61, 116, 255, 0.97);
  --Accent-color-Accent-Alpha-9: rgba(36, 101, 255, 0.92);
  --Accent-color-Accent-Alpha-8: rgba(59, 111, 252, 0.81);
  --Accent-color-Accent-Alpha-7: rgba(61, 116, 245, 0.51);
  --Accent-color-Accent-Alpha-6: rgba(56, 112, 255, 0.36);
  --Accent-color-Accent-Alpha-5: rgba(51, 94, 254, 0.29);
  --Accent-color-Accent-Alpha-4: rgba(49, 90, 254, 0.24);
  --Accent-color-Accent-Alpha-3: rgba(35, 80, 255, 0.18);
  --Accent-color-Accent-Alpha-2: rgba(0, 34, 255, 0.09);
  --Accent-color-Accent-Alpha-1: rgba(0, 0, 252, 0.04);
  --Semantic-colors-Error-12: #FDD8DF;
  --Semantic-colors-Error-11: #FF8597;
  --Semantic-colors-Error-10: #FD4967;
  --Semantic-colors-Error-9: #FF294D;
  --Semantic-colors-Error-8: #E5193B;
  --Semantic-colors-Error-7: #A2162D;
  --Semantic-colors-Error-6: #6A1C29;
  --Semantic-colors-Error-5: #551C26;
  --Semantic-colors-Error-4: #471A21;
  --Semantic-colors-Error-3: #39181D;
  --Semantic-colors-Error-2: #291618;
  --Semantic-colors-Error-1: #1F1315;
  --Semantic-colors-Error-Alpha-12: rgba(253, 217, 223, 0.99);
  --Semantic-colors-Error-Alpha-11: rgba(255, 138, 155, 0.98);
  --Semantic-colors-Error-Alpha-10: rgba(255, 77, 106, 0.97);
  --Semantic-colors-Error-Alpha-9: rgba(255, 41, 77, 1);
  --Semantic-colors-Error-Alpha-8: rgba(255, 36, 69, 0.87);
  --Semantic-colors-Error-Alpha-7: rgba(255, 31, 61, 0.6);
  --Semantic-colors-Error-Alpha-6: rgba(242, 49, 71, 0.38);
  --Semantic-colors-Error-Alpha-5: rgba(241, 52, 71, 0.29);
  --Semantic-colors-Error-Alpha-4: rgba(230, 55, 70, 0.24);
  --Semantic-colors-Error-Alpha-3: rgba(247, 64, 76, 0.16);
  --Semantic-colors-Error-Alpha-2: rgba(208, 37, 54, 0.08);
  --Semantic-colors-Error-Alpha-1: rgba(245, 0, 0, 0.03);
}

.on-light {
  --Tokens-Foreground-secondary: rgba(0, 7, 19, 0.62);
  --Tokens-Background-surface: rgba(255, 255, 255, 0.9);
  --Neutral-color-Neutral-12: #1C2024;
  --Neutral-color-Neutral-11: #60646C;
  --Neutral-color-Neutral-10: #7E808A;
  --Neutral-color-Neutral-9: #8B8D98;
  --Neutral-color-Neutral-8: #B9BBC6;
  --Neutral-color-Neutral-7: #D3D4DB;
  --Neutral-color-Neutral-6: #DDDDE3;
  --Neutral-color-Neutral-5: #E4E4E9;
  --Neutral-color-Neutral-4: #EBEBEF;
  --Neutral-color-Neutral-3: #F2F2F5;
  --Neutral-color-Neutral-2: #F9F9FB;
  --Neutral-color-Neutral-1: #FCFCFD;
  --Neutral-color-Neutral-Alpha-12: rgba(0, 5, 9, 0.89);
  --Neutral-color-Neutral-Alpha-11: rgba(0, 7, 19, 0.62);
  --Neutral-color-Neutral-Alpha-10: rgba(0, 4, 24, 0.51);
  --Neutral-color-Neutral-Alpha-9: rgba(0, 4, 29, 0.46);
  --Neutral-color-Neutral-Alpha-8: rgba(0, 8, 47, 0.28);
  --Neutral-color-Neutral-Alpha-7: rgba(1, 6, 47, 0.17);
  --Neutral-color-Neutral-Alpha-6: rgba(1, 1, 46, 0.13);
  --Neutral-color-Neutral-Alpha-5: rgba(0, 0, 48, 0.11);
  --Neutral-color-Neutral-Alpha-4: rgba(2, 2, 52, 0.08);
  --Neutral-color-Neutral-Alpha-3: rgba(0, 0, 59, 0.05);
  --Neutral-color-Neutral-Alpha-2: rgba(5, 5, 88, 0.02);
  --Neutral-color-Neutral-Alpha-1: rgba(5, 5, 88, 0.01);
  --Accent-color-Accent-12: #0B1F47;
  --Accent-color-Accent-11: #113CB0;
  --Accent-color-Accent-10: #0947D7;
  --Accent-color-Accent-9: #0054FF;
  --Accent-color-Accent-8: #7DA8FF;
  --Accent-color-Accent-7: #ACC3F7;
  --Accent-color-Accent-6: #C4D5FB;
  --Accent-color-Accent-5: #D8E2FD;
  --Accent-color-Accent-4: #E6EDFE;
  --Accent-color-Accent-3: #F0F4FF;
  --Accent-color-Accent-2: #F8FAFF;
  --Accent-color-Accent-1: #FDFDFE;
  --Accent-color-Accent-Alpha-12: rgba(0, 17, 70, 0.88);
  --Accent-color-Accent-Alpha-11: rgba(5, 39, 153, 0.88);
  --Accent-color-Accent-Alpha-10: rgba(0, 56, 209, 0.91);
  --Accent-color-Accent-Alpha-9: rgba(5, 72, 255, 0.94);
  --Accent-color-Accent-Alpha-8: rgba(5, 75, 240, 0.49);
  --Accent-color-Accent-Alpha-7: rgba(0, 67, 224, 0.32);
  --Accent-color-Accent-Alpha-6: rgba(0, 64, 224, 0.21);
  --Accent-color-Accent-Alpha-5: rgba(2, 62, 235, 0.15);
  --Accent-color-Accent-Alpha-4: rgba(2, 73, 245, 0.1);
  --Accent-color-Accent-Alpha-3: rgba(1, 68, 255, 0.06);
  --Accent-color-Accent-Alpha-2: rgba(1, 68, 255, 0.06);
  --Accent-color-Accent-Alpha-1: rgba(5, 5, 130, 0.01);
  --Semantic-colors-Error-12: #731125;
  --Semantic-colors-Error-11: #C31336;
  --Semantic-colors-Error-10: #E60F3A;
  --Semantic-colors-Error-9: #FF134C;
  --Semantic-colors-Error-8: #F18A98;
  --Semantic-colors-Error-7: #F3AEB4;
  --Semantic-colors-Error-6: #F9C6C9;
  --Semantic-colors-Error-5: #FDD8D9;
  --Semantic-colors-Error-4: #FFE5E5;
  --Semantic-colors-Error-3: #FFEFED;
  --Semantic-colors-Error-2: #FFF8F7;
  --Semantic-colors-Error-1: #FFFCFC;
  --Semantic-colors-Error-Alpha-12: rgba(107, 0, 21, 0.94);
  --Semantic-colors-Error-Alpha-11: rgba(194, 0, 39, 0.94);
  --Semantic-colors-Error-Alpha-10: rgba(229, 0, 46, 0.96);
  --Semantic-colors-Error-Alpha-9: rgba(255, 10, 69, 0.94);
  --Semantic-colors-Error-Alpha-8: rgba(219, 0, 30, 0.46);
  --Semantic-colors-Error-Alpha-7: rgba(217, 0, 18, 0.32);
  --Semantic-colors-Error-Alpha-6: rgba(219, 1, 15, 0.22);
  --Semantic-colors-Error-Alpha-5: rgba(242, 0, 15, 0.15);
  --Semantic-colors-Error-Alpha-4: rgba(255, 0, 0, 0.1);
  --Semantic-colors-Error-Alpha-3: rgba(255, 35, 1, 0.06);
  --Semantic-colors-Error-Alpha-2: rgba(255, 13, 5, 0.03);
  --Semantic-colors-Error-Alpha-1: rgba(255, 13, 5, 0.01);
}

/* Header
====================================================*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10002;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 56px;
  padding: 0 20px;
  border-bottom: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  background-color: var(--Tokens-Background-panel);
  color: #fff;
}
@media screen and (max-width: 1080px) {
  .header {
    z-index: 10001;
  }
}
@media screen and (max-width: 767px) {
  .header {
    padding: 0 8px 0 16px;
  }
}
.header h1 {
  font-size: 2rem;
}
.header h1 a {
  text-decoration: none;
  color: inherit;
}
.header .header-menu {
  display: flex;
  align-items: center;
  height: 100%;
}
.header .header-menu-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
.header .header-menu-list > li {
  height: 100%;
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .header .header-menu-list > li:hover .header-menu-sub-list {
    visibility: visible;
    opacity: 1;
  }
}
.header .header-menu-list > li.disabled {
  pointer-events: none;
  opacity: 0.33;
}
.header .header-menu-list > li.new {
  position: relative;
}
.header .header-menu-list > li.new::after {
  position: absolute;
  top: 18px;
  right: 14px;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: var(--Semantic-colors-Error-9);
}
@media screen and (min-width: 768px) {
  .header .header-menu-list > li.btn-help .header-menu-sub-list {
    right: -48px;
  }
}
.header .header-menu-list > li:hover .menu-label {
  visibility: visible;
  opacity: 1;
}
.header .header-menu-list > li > a,
.header .header-menu-list > li > span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 100%;
  border-radius: 8px;
  transition: background-color 0.2s;
  position: relative;
}
.header .header-menu-list > li > a::before,
.header .header-menu-list > li > span::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background-color: rgba(189, 200, 255, 0.0901960784);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.2s, opacity 0.2s;
}
.header .header-menu-list > li > a:hover::before,
.header .header-menu-list > li > span:hover::before {
  visibility: visible;
  opacity: 1;
}
.header .btn-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 8px;
  transition: background-color 0.2s;
  position: relative;
  /*&.open {
      span {
          &:nth-of-type(1) {
              transform: translate(-10px, 5px) rotate(-45deg);
          }
          &:nth-of-type(2) {
              opacity: 0;
          }
          &:nth-of-type(3) {
              transform: translate(-10px, -5.5px) rotate(45deg);
          }
      }
  }*/
}
@media screen and (min-width: 1081px) {
  .header .btn-menu {
    display: none;
  }
}
.header .btn-menu:hover {
  background-color: rgba(189, 200, 255, 0.0901960784);
}
.header .btn-menu::before {
  content: none;
}
.header .btn-menu span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 18px;
  height: 1.8px;
  border-radius: 1px;
  background-color: #fff;
  transition: transform 0.3s, opacity 0.2s;
}
.header .btn-menu span:nth-of-type(1) {
  top: 18px;
}
.header .btn-menu span:nth-of-type(2) {
  top: 23.2px;
}
.header .btn-menu span:nth-of-type(3) {
  bottom: 18px;
}

.menu-label,
.header-menu-sub-list {
  position: absolute;
  background-color: #fff;
  color: var(--Neutral-color-Neutral-1);
  font-size: 1.2rem;
  font-weight: 500;
  white-space: nowrap;
  box-shadow: var(--Elevation-5);
  visibility: hidden;
  opacity: 0;
}

.menu-label {
  top: 44px;
  padding: 3px 8px;
  border-radius: 4px;
  transition: visibility 0.2s, opacity 0.2s;
}

@media screen and (max-width: 767px) {
  .bg {
    position: fixed;
    inset: 0;
    z-index: 0;
    display: block;
    content: "";
    width: 100vw;
    height: 100vh;
    background: var(--Tokens-Background-overlay);
  }
}

.header-menu-sub-list {
  right: 0;
  padding: 8px 20px;
  border-radius: 8px;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .header-menu-sub-list {
    transition: visibility 0.2s, opacity 0.2s;
  }
}
@media screen and (max-width: 767px) {
  .header-menu-sub-list {
    position: fixed;
    top: unset;
    left: 8px;
    right: 8px;
    bottom: 24px;
    z-index: 100;
    padding: 8px 2px;
    border: 1px solid var(--Neutral-color-Neutral-Alpha-3);
    border-radius: 12px;
    font-size: 16px;
    box-shadow: var(--Elevation-6);
  }
  .header-menu-sub-list.open {
    visibility: visible;
    opacity: 1;
    transition: visibility 0.2s, opacity 0.2s;
  }
}
@media screen and (min-width: 768px) {
  .header-menu-sub-list > li:not(:last-of-type) {
    --Neutral-color-Neutral-Alpha-6: rgba(1, 1, 46, 0.13);
    margin-bottom: 8px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  }
}
@media screen and (max-width: 767px) {
  .header-menu-sub-list > li:not(:last-of-type) {
    margin-bottom: 4px;
  }
}
.header-menu-sub-list > li:not([class]) > a {
  width: auto;
}
.header-menu-sub-list > li:not([class]) > a::before {
  content: none;
}
.header-menu-sub-list > li > a {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 8px 5px;
  color: var(--Neutral-color-Neutral-1);
  text-decoration: none;
}
.header-menu-sub-list > li > a::before {
  display: inline-block;
  content: "";
  width: 16px;
  height: 16px;
}
@media screen and (min-width: 768px) {
  .header-menu-sub-list > li > a {
    width: 161px;
  }
}
@media screen and (max-width: 767px) {
  .header-menu-sub-list > li > a {
    padding: 12px 18px;
  }
  .header-menu-sub-list > li > a::before {
    width: 24px;
    height: 24px;
  }
}
.header-menu-sub-list > li.setting > a::before {
  background: url(../assets/images/common/icon_setting.svg) center/100% no-repeat;
}
.header-menu-sub-list > li.question > a::before {
  background: url(../assets/images/common/icon_question.svg) center/100% no-repeat;
}
.header-menu-sub-list > li.logout > a::before {
  background: url(../assets/images/common/icon_logout.svg) center/100% no-repeat;
}

.header-entry {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 899;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 80px;
  padding: 0 60px;
  background-color: var(--Tokens-Background-panel);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .header-entry {
    height: 60px;
    padding: 0 15px;
  }
}
@media screen and (min-width: 768px) {
  .header-entry h1 {
    margin-top: 10px;
  }
}
.header-entry h1 img {
  height: 46px;
}
@media screen and (max-width: 767px) {
  .header-entry h1 img {
    height: 20px;
  }
}
.header-entry .copyright {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .header-entry .copyright {
    font-size: 12px;
  }
}
.no-copyright .header-entry .copyright {
  display: none;
}

.select-language {
  position: relative;
  cursor: pointer;
}
.select-language .langswitch {
  --Neutral-color-Neutral-7: #464B50;
  --Tokens-Background-surface: #00000040;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 156px;
  height: 32px;
  margin: 15px 0;
  padding: 5px 10px 5px 18px;
  border: 1px solid var(--Neutral-color-Neutral-7);
  border-radius: 16px;
  background-color: var(--Tokens-Background-surface);
  color: #fff;
  font-size: 1.6rem;
  transition: background-color 0.2s;
}
.select-language .langswitch::before, .select-language .langswitch::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
}
.select-language .langswitch::before {
  left: 15px;
  width: 18px;
  height: 18px;
  background: url(../assets/images/common/icon_language.svg) center/100% no-repeat;
}
.select-language .langswitch::after {
  top: 45%;
  transform: translateY(-50%) rotate(45deg);
  right: 15px;
  width: 8px;
  height: 8px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.select-language:hover .langswitch {
  background: var(--Accent-color-Accent-Alpha-3);
}
.select-language:hover .header-menu-sub-list {
  visibility: visible;
  opacity: 1;
}
.select-language .header-menu-sub-list {
  top: 54px;
  left: unset;
  bottom: unset;
  width: 160px;
  padding: 0 20px;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .select-language .header-menu-sub-list {
    right: 20px;
  }
}
.select-language .header-menu-sub-list a {
  padding-left: 16px;
}
.select-language .header-menu-sub-list li {
  font-size: 1.4rem;
  padding: 15px;
  position: relative;
}
.select-language .header-menu-sub-list li::before {
  position: absolute;
  top: 18px;
  left: 0;
  transform: rotate(45deg);
  display: block;
  content: "";
  width: 7px;
  height: 11px;
  border-right: 1px solid rgba(255, 255, 255, 0);
  border-bottom: 1px solid rgba(255, 255, 255, 0);
  transition: border-color 0.2s;
}
.select-language .header-menu-sub-list li:not(:last-of-type) {
  --Neutral-color-Neutral-Alpha-6: rgba(1, 1, 46, 0.13);
  border-bottom: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  margin: 0;
}
.select-language .header-menu-sub-list li a {
  width: unset;
  padding: 8px 15px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .select-language .header-menu-sub-list li a {
    padding: 10px 18px 10px 20px;
  }
}
.select-language .header-menu-sub-list li a::before {
  position: absolute;
  top: 11px;
  left: 0;
  transform: rotate(45deg);
  display: block;
  content: "";
  width: 7px;
  height: 11px;
  border-right: 1px solid rgba(255, 255, 255, 0);
  border-bottom: 1px solid rgba(255, 255, 255, 0);
  transition: border-color 0.2s;
}
.select-language .header-menu-sub-list li.active::before {
  border-color: var(--Accent-color-Accent-9);
}

@media screen and (max-width: 767px) {
  .climbers .header-entry {
    padding: 0 20px;
  }
}
@media screen and (min-width: 768px) {
  .climbers .header-entry h1 {
    margin-top: 20px;
  }
}
.climbers .header-entry h1 img {
  height: 38px;
}
@media screen and (max-width: 767px) {
  .climbers .header-entry h1 img {
    height: 21px;
  }
}

/* マイページサイドメニュー
====================================================*/
.sidebar {
  position: fixed;
  top: 56px;
  left: 0;
  bottom: 0;
  z-index: 9999;
  gap: 16px;
  width: 180px;
  height: calc(100vh - 56px);
  height: calc(100dvh - 56px);
  background-color: var(--Tokens-Background-panel);
  color: #fff;
  transition: right 0.3s;
}
@media screen and (max-width: 1080px) {
  .sidebar {
    position: fixed;
    top: 0;
    left: unset;
    right: -375px;
    bottom: 0;
    z-index: 10001;
    width: 375px;
    height: 100vh;
    height: 100dvh;
    box-shadow: 0px 6px 12px 0px rgba(25, 42, 88, 0.12);
  }
}
@media screen and (max-width: 1080px) {
  .sidebar.open {
    right: 0;
  }
}
@media screen and (max-width: 1080px) {
  .sidebar .menu-header {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    height: 56px;
    padding: 4px 16px;
    border-bottom: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  }
}
.sidebar .menu-header .title {
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (min-width: 1081px) {
  .sidebar .menu-header .title {
    font-size: 0;
  }
}
.sidebar .menu-header .btn-menu-close {
  background: unset;
  font-size: 0;
}
@media screen and (min-width: 1081px) {
  .sidebar .menu-header .btn-menu-close {
    padding: 0;
  }
}
.sidebar .menu-header .btn-menu-close::after {
  position: relative;
  left: 4px;
  transform: rotate(-45deg);
  content: "";
  width: 12px;
  height: 12px;
  border-top: 1.5px solid var(--Neutral-color-Neutral-12);
  border-left: 1.5px solid var(--Neutral-color-Neutral-12);
}
@media screen and (min-width: 1081px) {
  .sidebar .menu-header .btn-menu-close::after {
    content: none;
  }
}
.sidebar .menu-header .btn-menu-close:hover::before {
  content: none;
}
.sidebar .menu-contents {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: calc(100vh - 56px);
  height: calc(100dvh - 56px);
  padding: 32px 4px 32px 8px;
  opacity: 0;
}
@media screen and (max-width: 1080px) {
  .sidebar .menu-contents {
    padding: 15px 4px;
  }
}
.sidebar .menu-contents.show {
  opacity: 1;
}
.sidebar .menu-title {
  margin: 0 0 4px 12px;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.2rem;
  font-weight: 500;
}
@media screen and (max-width: 1080px) {
  .sidebar .menu-title {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1081px) {
  .sidebar .menu-title.event-contents {
    padding: 7px 0 7px 20px;
    margin: 0;
    position: relative;
    cursor: pointer;
  }
}
@media screen and (min-width: 1081px) {
  .sidebar .menu-title.event-contents::before {
    position: absolute;
    top: 13px;
    left: 6px;
    display: block;
    content: "";
    width: 7px;
    height: 5px;
    background: var(--Tokens-Foreground-secondary);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: rotate(-90deg);
    transition: transform 0.2s;
  }
}
@media screen and (min-width: 1081px) {
  .sidebar .menu-title.event-contents.open::before {
    transform: rotate(0);
  }
}
.sidebar .menu-title.event-contents + .menu-list {
  height: 0;
  transition: height 0.2s;
  overflow: hidden;
}
.sidebar .menu-title.event-contents + .menu-list.open {
  height: auto;
}
@media screen and (max-width: 1080px) {
  .sidebar .menu-title.event-contents + .menu-list.open {
    height: auto !important;
  }
}
.sidebar .menu-title.comingsoon {
  color: var(--Tokens-Foreground-secondary);
}
.sidebar .menu-title.comingsoon::after {
  display: block;
  content: attr(title);
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .sidebar .menu-title.comingsoon::after {
    color: #fff;
  }
}
.sidebar .menu-list li {
  font-size: 1.4rem;
  line-height: 1.43;
  font-weight: 700;
}
@media screen and (max-width: 1080px) {
  .sidebar .menu-list li {
    font-size: 16px;
    font-weight: 500;
    position: relative;
  }
  .sidebar .menu-list li > a::before,
  .sidebar .menu-list li > span::before {
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
    display: inline-block;
    content: "";
    width: 24px;
    height: 24px;
  }
}
.sidebar .menu-list li.new {
  position: relative;
}
.sidebar .menu-list li.new::after {
  position: absolute;
  top: 18px;
  right: 0;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: var(--Semantic-colors-Error-9);
}
@media screen and (max-width: 1080px) {
  .sidebar .menu-list li.new::after {
    top: 13px;
    left: 29px;
  }
}
.sidebar .menu-list li > a,
.sidebar .menu-list li > span {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  height: 44px;
  padding: 12px;
  border-radius: 4px;
  color: var(--Tokens-Foreground-secondary);
  text-decoration: none;
}
@media screen and (max-width: 1080px) {
  .sidebar .menu-list li > a,
  .sidebar .menu-list li > span {
    height: 48px;
    padding: 12px 12px 12px 52px;
    color: #fff;
  }
}
.sidebar .menu-list li a {
  transition: background-color 0.2s, color 0.2s;
}
.sidebar .menu-list li a:hover {
  background-color: var(--Accent-color-Accent-Alpha-4);
}
.sidebar .menu-list li.active a {
  background-color: var(--Accent-color-Accent-Alpha-5);
}
.sidebar .menu-list li.disabled a {
  background-color: unset;
  pointer-events: none;
  color: #5e5e62;
}
.sidebar .menu-list li.comingsoon {
  color: var(--Tokens-Foreground-secondary);
  opacity: 0.7;
}
.sidebar .menu-list li.comingsoon a {
  opacity: 1;
  color: var(--Tokens-Foreground-secondary);
}
.sidebar .menu-list li.comingsoon a::after {
  display: block;
  content: attr(title);
  color: var(--Tokens-Foreground-secondary);
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .sidebar .menu-list li.comingsoon a::after {
    color: var(--Tokens-Foreground-primary);
  }
}
.sidebar .menu-list li.home a::before {
  background: url(../assets/images/common/icon_home.svg) center/100% no-repeat;
}
.sidebar .menu-list li.ai a::before {
  background: url(../assets/images/common/icon_ai.svg) center/100% no-repeat;
}
.sidebar .menu-list li.building a::before {
  background: url(../assets/images/common/icon_building.svg) center/100% no-repeat;
}
.sidebar .menu-list li.organizer a::before {
  background: url(../assets/images/common/icon_organizer.svg) center/100% no-repeat;
}
.sidebar .menu-list li.online a::before {
  background: url(../assets/images/common/icon_online_play.svg) center/100% no-repeat;
}
.sidebar .menu-list li.comment a::before {
  background: url(../assets/images/common/icon_comment.svg) center/100% no-repeat;
}
.sidebar .menu-list li.calendar a::before {
  background: url(../assets/images/common/icon_calendar.svg) center/100% no-repeat;
}
.sidebar .menu-list li.matching a::before {
  background: url(../assets/images/common/icon_group_no_image.svg) center/100% no-repeat;
}
.sidebar .menu-list li.list a::before {
  background: url(../assets/images/common/icon_list.svg) center/100% no-repeat;
}
.sidebar .menu-list li.message a::before {
  background: url(../assets/images/common/icon_message.svg) center/100% no-repeat;
}
.sidebar .menu-list li.settings a::before {
  background: url(../assets/images/common/icon_setting.svg) center/100% no-repeat;
  filter: brightness(0) invert(1);
}
.sidebar .menu-list li.ticket a::before {
  background: url(../assets/images/common/icon_ticket.svg) center/100% no-repeat;
}
.sidebar .menu-list + .menu-title {
  margin-top: 16px;
}
.sidebar .menu-sub {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  padding: 0 12px;
}
@media screen and (max-width: 1080px) {
  .sidebar .menu-sub {
    align-items: center;
    gap: 20px;
    margin-top: 16px;
  }
}
.sidebar .menu-sub a {
  font-size: 1rem;
}
@media screen and (max-width: 1080px) {
  .sidebar .menu-sub a {
    font-size: 13px;
  }
}
.sidebar .menu-sub a:not(.btn-manual, .btn-map) {
  color: #fff;
}
.sidebar .menu-sub a.btn-manual, .sidebar .menu-sub a.btn-map {
  width: 140px;
  height: 32px;
  border-radius: 16px;
  font-size: 1.4rem;
}
@media screen and (max-width: 1080px) {
  .sidebar .menu-sub a.btn-manual, .sidebar .menu-sub a.btn-map {
    width: 240px;
    margin: 0 auto;
  }
}
.sidebar .menu-sub a.btn-manual > span, .sidebar .menu-sub a.btn-map > span {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.sidebar .menu-sub a.btn-manual > span::after, .sidebar .menu-sub a.btn-map > span::after {
  display: inline-block;
  content: "";
  margin-left: 8px;
}
.sidebar .menu-sub a.btn-manual {
  border-width: 1px;
  background-color: unset;
}
.sidebar .menu-sub a.btn-manual > span {
  width: auto;
  text-align: center;
}
@media screen and (min-width: 1081px) {
  .sidebar .menu-sub a.btn-manual > span {
    flex-direction: column;
    font-size: 1.2rem;
    line-height: 1;
  }
}
.sidebar .menu-sub a.btn-manual > span::after {
  width: 16px;
  height: 16px;
  background: url(../assets/images/common/icon_share.svg) center/100% no-repeat;
}
.sidebar .menu-sub a.btn-manual.disabled > span {
  /*&::after {
      background-image: url(../assets/images/common/icon_external.svg);
  }*/
}
.sidebar .menu-sub a.btn-manual.disabled > span::after {
  content: none;
}
.sidebar .menu-sub a.btn-map span::after {
  width: 16px;
  height: 16px;
  background: url(../assets/images/common/icon_download.svg) center/100% no-repeat;
  filter: brightness(0) invert(1);
}
.sidebar .menu-sub a.btn-map.disabled::after {
  opacity: 1;
}
.sidebar .menu-sub a.btn-map.disabled > span::after {
  opacity: 0.33;
}
.sidebar .menu-sub a.btn-map.comingsoon {
  margin-bottom: 16px;
  position: relative;
}
.sidebar .menu-sub a.btn-map.comingsoon::after {
  position: absolute;
  left: 50%;
  bottom: -16px;
  transform: translateX(-50%);
  content: attr(title);
  color: rgba(239, 245, 255, 0.69);
  font-size: 0.8rem;
  font-weight: 500;
}
.sidebar .menu-sub .copyright {
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid #3C3F44;
  font-size: 1.2rem;
}
@media screen and (max-width: 1080px) {
  .sidebar .menu-sub .copyright {
    width: 100%;
    padding-top: 10px;
    font-size: 14px;
    text-align: center;
  }
}

/* コンテンツ
====================================================*/
.contents-wrap {
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  padding-top: 56px;
  background-color: var(--Neutral-color-Neutral-1);
}

.full-screen {
  padding: 0;
}

.wide-screen .sidebar {
  display: none;
}
.wide-screen .contents {
  width: unset;
  margin-left: auto;
  padding: 0;
}

.header-entry + .contents-wrap {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .header-entry + .contents-wrap {
    padding-top: 60px;
  }
}

.contents {
  width: calc(100% - 180px);
  min-height: calc(100vh - 56px);
  min-height: calc(100dvh - 56px);
  margin-left: 180px;
  padding: 32px 0;
}
@media screen and (max-width: 1080px) {
  .contents {
    width: 100%;
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .contents {
    padding: 32px 0;
  }
}

.breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .breadcrumb-list {
    margin-bottom: 30px;
  }
}
.breadcrumb-list li {
  padding: 12px 10px;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .breadcrumb-list li {
    padding: 6px 4px;
    font-size: 14px;
  }
}
.breadcrumb-list li:not(:last-of-type) {
  margin-right: 10px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .breadcrumb-list li:not(:last-of-type) {
    margin-right: 16px;
  }
}
.breadcrumb-list li:not(:last-of-type)::after {
  position: absolute;
  top: 50%;
  right: -11px;
  transform: translateY(-50%);
  content: "/";
  display: block;
  font-size: 2rem;
  color: var(--Tokens-Foreground-secondary);
}
.breadcrumb-list li a {
  color: var(--Tokens-Foreground-primary);
  text-decoration: none;
}

.main-mypage {
  width: 100%;
  padding: 0 32px 120px;
}
@media screen and (max-width: 1080px) {
  .main-mypage {
    padding: 0 20px 120px;
  }
}
.main-mypage .page-title {
  margin: 0 0 12px;
  color: var(--Tokens-Foreground-primary);
  font-size: 3.2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .main-mypage .page-title {
    font-size: 24px;
  }
}
.main-mypage .page-label {
  margin: 0 0 38px;
  color: var(--Tokens-Foreground-secondary);
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .main-mypage .page-label {
    margin: 0 0 34px;
    font-size: 16px;
  }
}

.max-width-640 {
  max-width: 640px;
  margin: 0 auto;
}

.max-width-840 {
  max-width: 840px;
  margin: 0 auto;
}

.max-width-1480 {
  max-width: 1480px;
  margin: 0 auto;
}

p.comingsoon {
  margin: 0;
  font-size: 2.4rem !important;
  font-weight: 700 !important;
}
@media screen and (max-width: 767px) {
  p.comingsoon {
    font-size: 20px !important;
  }
}

/* イベント一覧
====================================================*/
.events-wrap {
  margin-top: 70px;
}
.events-wrap .title {
  margin: 0 0 30px;
  font-size: 18px;
}
.events-wrap .events {
  display: flex;
  justify-content: center;
  gap: 40px 32px;
}
@media screen and (max-width: 767px) {
  .events-wrap .events {
    flex-wrap: wrap;
    max-width: 332px;
    margin: 0 auto;
  }
}
.events-wrap .events .event {
  width: 150px;
  color: rgb(100, 109, 126);
}
.events-wrap .events .event picture img {
  display: block;
  width: 150px;
  height: 94px;
  object-fit: cover;
  border-radius: 4px;
}
.events-wrap .events .event .real-online {
  margin-top: 5px;
  font-size: 14px;
  text-align: center;
}
.events-wrap .events .event .fee {
  margin-top: 2px;
  display: flex;
  justify-content: center;
}
.events-wrap .events .event .fee span {
  display: block;
  min-width: 72px;
  height: 16px;
  line-height: 15px;
  font-size: 11px;
  border: 1px solid #ccc;
  border-radius: 100px;
  padding: 0 5px;
  text-align: center;
}
.events-wrap .events .event span.unnecessary,
.events-wrap .events .event .btn-purchase {
  width: auto;
  height: 32px;
  margin-top: 20px;
  font-size: 1.4rem;
}
.events-wrap .events .event span.unnecessary {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  color: var(--Neutral-color-Neutral-Alpha-8);
  font-size: 1.4rem;
  font-weight: 700;
}
.events-wrap .events .event .btn-purchase.btn-basic-secondary {
  border-width: 1px;
}
.events-wrap .events .event .btn.disabled {
  width: 72px;
}

/* 出展社を探す
====================================================*/
.no-booth {
  margin: 74px auto 112px;
  text-align: center;
}
.no-booth::before {
  display: block;
  content: "";
  width: 288px;
  height: 240px;
  margin: 0 auto 20px;
  background: url(../assets/images/common/icon_aibot_sad_xl.svg) center/100% no-repeat;
}
.no-booth p {
  color: var(--Neutral-color-Neutral-Alpha-9);
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .no-booth p {
    font-size: 16px;
  }
}

.no-booth-request {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  min-height: 448px;
  text-align: center;
}
.no-booth-request p {
  color: var(--Tokens-Foreground-secondary);
  font-size: 2rem;
  font-weight: 700;
}

.detail-section {
  width: 100%;
}
.detail-section .title {
  margin-bottom: 16px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  font-size: 1.6rem;
}
.detail-section .title.no-border {
  margin-bottom: 12px;
  padding-bottom: 0;
  border-bottom: none;
}
.detail-section p,
.detail-section ul {
  margin: 0;
  font-size: 1.6rem;
}
.detail-section p + p {
  margin: 12px 0 0;
}
.detail-section ul.list-disc li {
  padding-left: 1.5em;
  color: var(--Tokens-Foreground-secondary);
  position: relative;
}
.detail-section ul.list-disc li::before {
  position: absolute;
  top: 9px;
  left: 9px;
  display: block;
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background: var(--Tokens-Foreground-secondary);
}

/* プログラムを探す
====================================================*/
.keyword-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.keyword-list li .badge {
  background-color: var(--stage-bg-color);
  color: var(--stage-label-color);
}

/* Myスケジュール
====================================================*/
.no-schedule {
  max-width: 840px;
  margin: 117px auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .no-schedule {
    margin: 100px auto;
  }
}
.no-schedule .title {
  margin: 0 0 32px;
  color: var(--Tokens-Foreground-secondary);
  font-size: 2.4rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .no-schedule .title {
    font-size: 16px;
  }
}
.no-schedule .no-schedule-inner {
  padding: 20px;
  border-radius: 12px;
  background: var(--Semantic-colors-Success-Alpha-3);
}
.no-schedule .no-schedule-inner p {
  padding-top: 104px;
  margin: 0;
  color: var(--Semantic-colors-Success-11);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}
@media screen and (max-width: 767px) {
  .no-schedule .no-schedule-inner p {
    padding-top: 76px;
    font-size: 16px;
  }
}
.no-schedule .no-schedule-inner p::before {
  position: absolute;
  top: -3px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 100px;
  height: 100px;
  background: url(../assets/images/common/icon_aibot_default_lg.svg) center/100% no-repeat;
}
@media screen and (max-width: 767px) {
  .no-schedule .no-schedule-inner p::before {
    top: 0;
    width: 72px;
    height: 72px;
  }
}
.no-schedule .btn-wrap {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .no-schedule .btn-wrap {
    gap: 12px;
  }
}
.no-schedule .btn-wrap .btn {
  width: auto;
  height: 48px;
  padding: 12px 24px;
}
@media screen and (max-width: 767px) {
  .no-schedule .btn-wrap .btn {
    width: calc((100% - 12px) / 2);
    max-width: 175px;
    padding: 12px;
  }
}

/* リクエスト管理・メッセージ
====================================================*/
.no-data {
  margin: 74px auto 112px;
  text-align: center;
}
.no-data p {
  color: var(--Neutral-color-Neutral-Alpha-9);
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .no-data p {
    font-size: 16px;
  }
}

.card-request > div:hover .card-footer .btn::before {
  visibility: hidden;
  opacity: 0;
}

/* カレンダー登録
====================================================*/
.to-calendar {
  margin-bottom: 12px;
}
.to-calendar .title {
  margin: 0 0 7px;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.4rem;
}
.to-calendar .calendar-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.to-calendar .btn-calendar {
  width: 184px;
  height: 32px;
  border: 1px solid var(--Neutral-color-Neutral-6);
  border-radius: 4px;
  background-color: #fff;
  color: var(--Neutral-color-Neutral-11, #60646C);
}
@media screen and (max-width: 767px) {
  .to-calendar .btn-calendar {
    width: 287px;
    height: 48px;
    padding: 0 10px;
  }
}
.to-calendar .btn-calendar::before {
  border-radius: 3px;
}
.to-calendar .btn-calendar:hover::before {
  background-color: var(--Neutral-color-Neutral-Alpha-2);
}
.to-calendar .btn-calendar span {
  padding-left: 32px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .to-calendar .btn-calendar span {
    width: 100%;
    padding: 0 32px;
  }
}
.to-calendar .btn-calendar span::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 24px;
  height: 24px;
  background: url(../assets/images/common/icon_calendar_blue.svg) center/100% no-repeat;
}

/* モーダル
====================================================*/
body.fixed {
  overflow: hidden;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 10003;
  backdrop-filter: blur(32px);
  -webkit-backdrop-filter: blur(32px);
  background: var(--Tokens-Background-overlay);
}

.modal-body {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 12px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .modal-body {
    width: 81.5%;
    padding: 16px;
  }
}
.modal-body .program-header {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 24px;
  border-radius: 8px 8px 0 0;
  background: var(--stage-color);
  color: #fff;
  position: relative;
}
.modal-body .program-header .stage-number {
  padding: 10px;
  font-size: 2rem;
  line-height: 1;
}
.modal-body .program-header .time {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}
.modal-body .program-header .modal-close {
  position: absolute;
  top: 30px;
  right: 32px;
  padding: 0;
  background-color: unset;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}
.modal-body .program-header .modal-close img {
  width: 20px;
  height: 20px;
}
.modal-body .program-header .modal-close::before {
  content: none;
}
.modal-body .program-contents {
  height: calc(100% - 80px);
  padding: 32px;
}
@media screen and (max-width: 767px) {
  .modal-body .program-contents {
    padding: 32px 20px;
  }
}
.modal-body .program-contents .session + .session {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .modal-body .program-contents .session + .session {
    margin-top: 32px;
  }
}
.modal-body .program-contents .title {
  margin: 0 0 20px;
  font-size: 2.8rem;
}
.modal-body .program-contents > p {
  margin: 20px 0;
  font-size: 1.6rem;
  font-weight: 500;
}
.modal-body .program-contents .status {
  display: flex;
  align-items: center;
}
.modal-body .program-contents .status dt {
  font-size: 1.6rem;
  font-weight: 700;
}
.modal-body .program-contents .status dd span {
  margin: 0 0 0 12px;
}
.modal-body .program-contents .status dd span.waiting {
  background-color: var(--stage-bg-color);
  color: var(--stage-label-color);
}
.modal-body .program-contents .lottery {
  margin: 32px 0;
  padding: 20px;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  background-color: var(--Neutral-color-Neutral-Alpha-2);
}
.modal-body .program-contents .lottery p {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.428;
}
.modal-body .program-contents .lottery p.info {
  margin: 0 0 12px;
  padding: 8px 8px 8px 40px;
  font-size: 1.6rem;
  font-weight: 700;
  border-radius: 8px;
  background: var(--Semantic-colors-Info-Alpha-3);
  color: var(--Semantic-colors-Info-Alpha-11);
  position: relative;
}
.modal-body .program-contents .lottery p.info::before {
  position: absolute;
  top: 10px;
  left: 14px;
  display: block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../assets/images/common/icon_info.svg) center/100% no-repeat;
}
.modal-body .program-contents .lottery p.notes {
  margin: 6px 0 0;
  color: var(--Neutral-color-Neutral-Alpha-11);
  font-size: 1.2rem;
}
.modal-body .program-contents .lottery .ended {
  margin: 0 0 24px;
}
.modal-body .program-contents .lottery .ended .info {
  background: var(--Neutral-color-Neutral-Alpha-3);
  color: var(--Neutral-color-Neutral-11);
}
.modal-body .program-contents .lottery .ended .info::before {
  filter: grayscale(1);
}
.modal-body .program-contents .lottery dl {
  font-size: 1.4rem;
  line-height: 1.428;
}
.modal-body .program-contents .lottery dl dt {
  margin: 0 0 4px;
  color: var(--Colors-Blue-Alpha-11);
  font-weight: 700;
}
.modal-body .program-contents .lottery dl dd ul li {
  padding-left: 20px;
  position: relative;
}
.modal-body .program-contents .lottery dl dd ul li::before {
  position: absolute;
  top: 8px;
  left: 9px;
  display: block;
  content: "";
  width: 3px;
  height: 3px;
  border-radius: 2px;
  background-color: #000;
}
.modal-body .program-contents .lottery dl dd + dt {
  margin-top: 12px;
}
.modal-body .program-contents .detail-section {
  margin-top: 32px;
}
.modal-body .program-contents .detail-section .title {
  margin-bottom: 20px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  font-size: 1.6rem;
}
.modal-body .program-contents .detail-section p,
.modal-body .program-contents .detail-section dl {
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.6rem;
  font-weight: 500;
}
.modal-body .program-contents .detail-section dl {
  display: flex;
  flex-wrap: wrap;
}
.modal-body .program-contents .detail-section dl dt {
  flex: 0 0 140px;
}
.modal-body .program-contents .detail-section dl dd {
  flex: 1 1 calc(100% - 140px);
  padding-left: 1em;
  text-indent: -1em;
}
.modal-body .program-contents .detail-section dl dd::before {
  content: "：";
}
.modal-body .program-contents .image-wrap .copyright {
  display: block;
  margin: 5px 0 0;
  color: var(--Tokens-Background-overlay);
  font-size: 1rem;
}
.modal-body .program-contents .speaker-wrap {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.modal-body .program-contents .speaker-wrap .speaker {
  display: flex;
  align-items: flex-start;
  gap: 50px;
}
.modal-body .program-contents .speaker-wrap .speaker .image-wrap {
  flex: 0 0 20%;
}
.modal-body .program-contents .speaker-wrap .speaker .speaker-info-wrap {
  flex: 1 1 auto;
}
.modal-body .program-contents .speaker-wrap .speaker .image {
  width: 100px;
  height: 100px;
}
.modal-body .program-contents .speaker-wrap .speaker .speaker-info .company,
.modal-body .program-contents .speaker-wrap .speaker .speaker-info .post {
  font-size: 1.4rem;
  color: var(--Tokens-Foreground-secondary);
}
.modal-body .program-contents .speaker-wrap .speaker .speaker-info .name {
  font-size: 1.8rem;
  color: var(--Tokens-Foreground-primary);
}
.modal-body .program-contents .speaker-wrap .speaker .profile {
  margin-top: 12px;
  font-size: 1.4rem;
  color: var(--Tokens-Foreground-secondary);
}
.modal-body .program-contents .modal-btn-wrap {
  display: flex;
  justify-content: center;
  margin-top: 32px;
  padding: 20px;
}
.modal-body .program-contents .modal-btn-wrap .btn {
  width: auto;
  padding: 12px 24px;
}
.modal-body .modal-guide p {
  margin: 0;
}
.modal-body .modal-guide p + p {
  margin-top: 12px;
}
.modal-body .modal-guide .text-bold {
  font-size: 2rem;
}
.modal-body .modal-guide .notes {
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.4rem;
  font-weight: 500;
}
.modal-body .theme-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.modal-body .theme-list li {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 calc((100% - 36px) / 4);
  min-height: 114px;
  padding: 15px;
  border: 1px solid var(--Accent-color-Accent-Alpha-6);
  border-radius: 4px;
  background-color: #fff;
  color: var(--Accent-color-Accent-9);
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  box-shadow: 0px 2px 6px 0px rgba(25, 42, 88, 0.0784313725);
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .modal-body .theme-list li {
    flex: 0 0 calc((100% - 12px) / 2);
  }
}
.modal-body .theme-list li.active {
  background-color: var(--Accent-color-Accent-Alpha-9);
  color: #fff;
}
.modal-body .keyword-list {
  gap: 10px;
}
.modal-body.sm {
  width: 320px;
  padding: 24px;
}
.modal-body.sm .btn-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 32px;
}
.modal-body.sm .btn-wrap .btn {
  width: 272px;
  height: 32px;
}
.modal-body.md, .modal-body.lg {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.modal-body.md .right-btn-wrap, .modal-body.lg .right-btn-wrap {
  display: flex;
  flex-direction: row-reverse;
  gap: 12px;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 767px) {
  .modal-body.md .right-btn-wrap, .modal-body.lg .right-btn-wrap {
    flex-direction: column;
    gap: 8px;
    margin: 0;
  }
}
.modal-body.md .right-btn-wrap .btn, .modal-body.lg .right-btn-wrap .btn {
  width: auto;
  min-width: 72px;
  height: 32px;
  padding: 6px 12px;
  border-width: 1px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .modal-body.md .right-btn-wrap .btn, .modal-body.lg .right-btn-wrap .btn {
    width: 100%;
  }
}
.modal-body.md .right-btn-wrap .btn-decline, .modal-body.lg .right-btn-wrap .btn-decline {
  background-color: rgba(255, 255, 255, 0);
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .modal-body.md {
    width: 480px;
    padding: 24px;
  }
}
@media screen and (min-width: 768px) {
  .modal-body.lg {
    width: 640px;
    padding: 32px;
  }
}
.modal-body.text-left .checkbox {
  justify-content: flex-start;
  gap: 10px;
  margin: 0;
}
.modal-body.text-left .checkbox label::before {
  left: -25px;
}
.modal-body.text-left .checkbox label::after {
  left: -22px;
}
.modal-body .reserve-date {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 120px;
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .modal-body .reserve-date {
    padding: 6.5px;
  }
}
.modal-body .reserve-change {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 4px;
  padding: 12px;
  background: var(--Neutral-color-Neutral-Alpha-3);
  border-radius: 4px;
}
.modal-body .reserve-change dt {
  flex: 0 0 32px;
  font-size: 1.6rem;
  font-weight: 700;
}
.modal-body .reserve-change dt.before {
  color: var(--Tokens-Foreground-secondary);
}
.modal-body .reserve-change dt.after {
  color: var(--Accent-color-Accent-9, rgb(0, 84, 255));
}
.modal-body .reserve-change dd {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex: 1 1 calc(100% - 36px);
  margin: 0;
  padding: 9px 12px;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: var(--Elevation-1);
}
.modal-body .reserve-change dd .service-info {
  flex: 1 1 auto;
}
.modal-body .reserve-change dd .service-info p {
  margin: 0;
}
.modal-body .reserve-change dd .service-info .title {
  font-size: 1.6rem;
}
.modal-body .reserve-change dd .service-info .company,
.modal-body .reserve-change dd .service-info .date {
  margin: 2px 0 0;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.2rem;
  font-weight: 500;
}
.modal-body .reserve-change dd .image {
  flex: 0 0 40px;
  aspect-ratio: 1;
}
.modal-body .reserve-change dd .image img {
  border: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  border-radius: 20px;
}
.modal-body.reserve-complete {
  max-height: 90vh;
  max-height: 90dvh;
  padding: 24px 32px;
  overflow-x: hidden;
  /*.reserve-complete-inner {
      display: flex;
      flex-direction: column;
      gap: 20px;
      padding: 24px;

      .other-booth-list {
          flex: 0 0 auto;
      }
  }*/
}
@media screen and (max-width: 767px) {
  .modal-body.reserve-complete {
    width: 90%;
    padding: 24px;
  }
}
.modal-body.reserve-complete .modal-guide .text-bold {
  color: var(--Semantic-colors-Success-11);
}
.modal-body.reserve-complete .reserve-date {
  display: block;
  min-height: 80px;
  margin: -8px 0 0;
  padding: 28px 15px;
  color: var(--Semantic-colors-Success-11);
}
@media screen and (max-width: 767px) {
  .modal-body.reserve-complete .reserve-date {
    width: 100%;
    padding: 15px;
    font-size: 16px;
  }
}
.modal-body.reserve-complete .reserve-date .title {
  color: var(--Tokens-Foreground-primary);
}
@media screen and (max-width: 767px) {
  .modal-body.reserve-complete .reserve-date .title {
    display: block;
    margin: 0 0 4px;
  }
}
.modal-body.reserve-complete .btn-wrap {
  margin: 0;
}
.modal-body.reserve-complete .btn-leave {
  width: 320px;
  height: 32px;
  border-width: 1px;
}
@media screen and (max-width: 767px) {
  .modal-body.reserve-complete .btn-leave {
    width: 100%;
  }
}
.modal-body .other-booth > .title {
  margin: 0 0 12px;
  color: var(--Tokens-Foreground-primary);
  font-size: 1.6rem;
}
.modal-body .other-booth-list {
  display: flex;
  gap: 12px;
  padding-bottom: 12px;
  overflow-x: auto;
  flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  .modal-body .other-booth-list {
    gap: 8px;
    width: 100%;
  }
}
.modal-body .other-booth-list li {
  flex: 0 0 184px;
}
.modal-body .other-booth-list li a {
  text-decoration: none;
}
.modal-body .other-booth-list li .thumbnail img {
  border-radius: 4px;
}
.modal-body .other-booth-list li .service-info {
  margin-top: 8px;
  text-align: left;
}
.modal-body .other-booth-list li .service-info .title,
.modal-body .other-booth-list li .service-info .company {
  font-size: 14px;
  line-height: 1.5;
  word-break: break-all;
}
.modal-body .other-booth-list li .service-info .title {
  color: var(--Tokens-Foreground-primary);
}
.modal-body .other-booth-list li .service-info .company {
  margin: 2px 0 0;
}
.modal-body.seminar, .modal-body.tour {
  top: unset;
  bottom: 0;
  transform: translateX(-50%);
  width: 800px;
  height: calc(100vh - 40px);
  height: calc(100dvh - 40px);
  padding: 0;
  border-radius: 9px 9px 0 0;
}
@media screen and (max-width: 767px) {
  .modal-body.seminar, .modal-body.tour {
    width: 100%;
  }
}
.modal-body.tour .program-contents > .title {
  padding-left: 12px;
  font-size: 2rem;
  font-weight: 700;
  border-left: 4px solid var(--stage-color);
}
.modal-body.tour .theme-list {
  padding: 20px;
  border-radius: 4px;
  background: var(--Neutral-color-Neutral-Alpha-3);
}
@media screen and (max-width: 767px) {
  .modal-body.tour .theme-list {
    padding: 20px 12px;
  }
}
.modal-body .reserve-info {
  padding: 12px;
  border-radius: 4px;
  background: var(--Neutral-color-Neutral-Alpha-3);
}
.modal-body .reserve-info p {
  margin: 0;
}
.modal-body .reserve-info .reserve-header {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  padding-top: 9px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--Neutral-color-Neutral-Alpha-6);
}
.modal-body .reserve-info .reserve-header .stage {
  margin-right: 25px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
}
.modal-body .reserve-info .reserve-header .stage::after {
  position: absolute;
  top: 50%;
  right: -14px;
  transform: translateY(-50%);
  margin: 0;
  display: block;
  content: "";
  width: 2px;
  height: 20px;
  background: var(--Tokens-Foreground-primary);
}
.modal-body .reserve-info .reserve-header .stage-number {
  margin-right: 9px;
}
.modal-body .reserve-info .reserve-header .time {
  color: var(--Tokens-Foreground-secondary);
}
.modal-body .reserve-info .title {
  font-size: 1.6rem;
  font-weight: 700;
}
.modal-body .reserve-info .theme-list {
  padding: 0 30px;
  gap: 4px;
}
.modal-body .reserve-info .theme-list li {
  flex: 0 0 calc((100% - 12px) / 4);
  min-height: 80px;
  padding: 8px;
  font-size: 1.2rem;
}
.modal-body .please-read {
  padding: 18px 48px;
  border-radius: 4px;
  background: var(--Neutral-color-Neutral-Alpha-3);
  color: var(--Accent-color-Accent-Alpha-11);
}
@media screen and (max-width: 767px) {
  .modal-body .please-read {
    padding: 18px;
  }
}
.modal-body .please-read p {
  margin: 0;
}
.modal-body .please-read ul li {
  padding-left: 20px;
  position: relative;
}
.modal-body .please-read ul li::before {
  position: absolute;
  top: 8px;
  left: 8px;
  display: block;
  content: "";
  width: 3px;
  height: 3px;
  border-radius: 2px;
  background-color: var(--Accent-color-Accent-Alpha-11);
}
.modal-body.program {
  width: 95%;
  max-width: 1080px;
  padding: 0;
  border-radius: 12px;
  background-color: unset;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, sans-serif;
}
@media screen and (max-width: 767px) {
  .modal-body.program {
    width: calc(100% - 40px);
  }
}
.modal-body.program .modal-close {
  position: absolute;
  top: -22px;
  right: -22px;
  z-index: 1;
  width: 44px;
  height: 44px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .modal-body.program .modal-close {
    top: -16px;
    right: -8px;
    width: 32px;
    height: 32px;
  }
}
.modal-body.program .modal-close img {
  width: 100%;
  height: auto;
}
.modal-body.program .program-contents {
  max-height: calc(100vh - 246px);
  max-height: calc(100dvh - 246px);
  padding: 0;
  position: relative;
  z-index: 0;
}
.modal-body.program .program-contents::before, .modal-body.program .program-contents::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 12px;
}
.modal-body.program .program-contents .scroll {
  max-height: calc(100vh - 246px);
  max-height: calc(100dvh - 246px);
  padding: 40px;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .scroll {
    padding: 40px 20px;
  }
}
.modal-body.program .program-contents .program-info {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  gap: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .program-info {
    gap: 10px;
  }
}
.modal-body.program .program-contents .program-info p {
  margin: 0;
}
.modal-body.program .program-contents .program-info .date {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .program-info .date {
    font-size: 24px;
  }
}
.modal-body.program .program-contents .program-info .date .week {
  margin: 0 2px;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .program-info .date .week {
    margin: 0 10px;
    font-size: 17px;
  }
}
.modal-body.program .program-contents .program-info .notes {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .program-info .notes {
    font-size: 12px;
  }
}
.modal-body.program .program-contents .program-info .tag {
  display: flex;
  flex-flow: row wrap;
  gap: 4px;
}
.modal-body.program .program-contents .program-info .hall,
.modal-body.program .program-contents .program-info .stage {
  padding: 7px 10.5px;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 700;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .program-info .hall,
  .modal-body.program .program-contents .program-info .stage {
    padding: 5px 8.5px;
    font-size: 12px;
  }
}
.modal-body.program .program-contents .program-info .hall {
  background: var(--Accent-color-Accent-12);
  color: #fff;
}
.modal-body.program .program-contents .program-info .stage {
  background-color: var(--stage-color);
  color: var(--stage-text-color);
}
.modal-body.program .program-contents .title {
  margin-bottom: 20px;
  padding-left: 24px;
  font-size: 2.8rem;
  letter-spacing: -0.04em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .title {
    padding-left: 15px;
    font-size: 20px;
  }
}
.modal-body.program .program-contents .title::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 4px;
  height: 100%;
  background: linear-gradient(0deg, rgba(255, 145, 0, 0) 0%, #FF9100 26%, #FF00AA 38%, #9D00CE 50%, #5A00FC 63%, #00B7EC 73%, rgba(0, 183, 236, 0) 100%);
}
.modal-body.program .program-contents p {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents p {
    font-size: 13px;
  }
}
.modal-body.program .program-contents .speaker {
  display: flex;
  flex-flow: row nowrap;
  gap: 40px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .speaker {
    display: block;
    gap: 10px;
    min-height: 100px;
    margin-top: 20px;
    clear: both;
  }
}
.modal-body.program .program-contents .speaker .image-wrap {
  flex: 0 0 220px;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .speaker .image-wrap {
    width: 100px;
    margin: 0 15px 10px 0;
    float: left;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .company,
  .modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .post,
  .modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .name {
    width: calc(100% - 115px);
    margin-left: auto;
    margin-right: 0;
  }
}
.modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .company,
.modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .post {
  color: var(--Tokens-Foreground-primary);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .company,
  .modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .post {
    font-size: 16px;
  }
}
.modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .post {
  margin-bottom: 16px;
}
.modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .name {
  font-size: 2.8rem;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .name {
    margin-top: 8px;
    font-size: 20px;
  }
}
.modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .name .en {
  margin-left: 20px;
  padding-left: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .name .en {
    margin-left: 15px;
    padding-left: 15px;
  }
}
.modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .name .en::before {
  position: absolute;
  top: 0;
  left: -1px;
  display: block;
  content: "";
  width: 1px;
  height: 28px;
  border-left: 0.5px solid var(--Tokens-Foreground-primary);
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .speaker .speaker-info-wrap .speaker-info .name .en::before {
    height: 20px;
  }
}
.modal-body.program .program-contents .speaker .speaker-info-wrap > p {
  font-size: 1.4rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .speaker .speaker-info-wrap > p {
    font-size: 13px;
  }
}
.modal-body.program .program-contents .speaker .speaker-info-wrap > p:not([class]), .modal-body.program .program-contents .speaker .speaker-info-wrap > p.text-wrap {
  margin: 16px 0 0;
}
.modal-body.program .program-contents .requirements {
  display: flex;
  flex-flow: column nowrap;
  gap: 20px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .requirements {
    gap: 15px;
  }
}
.modal-body.program .program-contents .requirements dt {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .requirements dt {
    font-size: 18px;
  }
}
.modal-body.program .program-contents .requirements dd {
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .requirements dd {
    font-size: 13px;
  }
}
.modal-body.program .program-contents .guest {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest {
    margin-top: 20px;
  }
}
.modal-body.program .program-contents .guest .title {
  margin: 0 0 40px;
  padding: 0;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .title {
    margin: 0 0 20px;
    font-size: 18px;
  }
}
.modal-body.program .program-contents .guest .title::before {
  content: none;
}
.modal-body.program .program-contents .guest .speaker-wrap {
  gap: 0 40px;
  display: grid;
  grid-template-columns: repeat(auto-fit, calc((100% - 120px) / 4));
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap {
    gap: 0 10px;
    grid-template-columns: repeat(auto-fit, calc((100% - 20px) / 2));
  }
}
.modal-body.program .program-contents .guest .speaker-wrap .speaker {
  margin: 0;
  display: contents;
  /* guest 8名までを想定 */
}
.modal-body.program .program-contents .guest .speaker-wrap .speaker .image-wrap {
  flex: none;
  float: none;
  grid-row: 1;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker .image-wrap {
    width: 100%;
  }
}
.modal-body.program .program-contents .guest .speaker-wrap .speaker .image-wrap .image {
  width: 220px;
  max-width: 100%;
  height: auto;
  border-radius: 0;
  aspect-ratio: unset !important;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker .image-wrap .image {
    width: 120px;
  }
}
.modal-body.program .program-contents .guest .speaker-wrap .speaker .image-wrap .copyright {
  min-height: 15px;
  margin: 10px 0 0;
}
.modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info-wrap {
  margin-bottom: 40px;
  grid-row: 2;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info-wrap {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+5) .image-wrap {
    grid-row: 3;
  }
}
@media screen and (min-width: 768px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+5) .speaker-info-wrap {
    grid-row: 4;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+1) .image-wrap, .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+2) .image-wrap {
    grid-row: 1;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+1) .speaker-info-wrap, .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+2) .speaker-info-wrap {
    grid-row: 2;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+3) .image-wrap, .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+4) .image-wrap {
    grid-row: 3;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+3) .speaker-info-wrap, .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+4) .speaker-info-wrap {
    grid-row: 4;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+5) .image-wrap, .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+6) .image-wrap {
    grid-row: 5;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+5) .speaker-info-wrap, .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+6) .speaker-info-wrap {
    grid-row: 6;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+7) .image-wrap, .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+8) .image-wrap {
    grid-row: 7;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+7) .speaker-info-wrap, .modal-body.program .program-contents .guest .speaker-wrap .speaker:nth-child(n+8) .speaker-info-wrap {
    grid-row: 8;
  }
}
.modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info {
  margin: 12px 0 0;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info {
    margin: 2px 0 0;
  }
}
.modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .company,
.modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .post,
.modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .name {
  color: #000;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .company,
  .modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .post,
  .modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .name {
    width: 100%;
  }
}
.modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .company,
.modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .post {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .company,
  .modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .post {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .company {
    margin: 0 0 2px;
  }
}
.modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .post {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .post {
    margin-bottom: 6px;
  }
}
.modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .name {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .modal-body.program .program-contents .guest .speaker-wrap .speaker .speaker-info .name {
    font-size: 16px;
  }
}
.modal-body.program.sj .radios-panel, .modal-body.program.fundeal .radios-panel {
  gap: 12px;
  max-width: 660px;
  margin: 20px auto;
}
.modal-body.program.sj .radios-panel li, .modal-body.program.fundeal .radios-panel li {
  position: relative;
}
.modal-body.program.sj .radios-panel li::before, .modal-body.program.sj .radios-panel li::after, .modal-body.program.fundeal .radios-panel li::before, .modal-body.program.fundeal .radios-panel li::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
}
.modal-body.program.sj .radios-panel li::before, .modal-body.program.fundeal .radios-panel li::before {
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 60px;
  background: var(--grad-climbers);
}
.modal-body.program.sj .radios-panel li::after, .modal-body.program.fundeal .radios-panel li::after {
  inset: 2px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border-radius: 58px;
  background-color: #fff;
}
.modal-body.program.sj .radios-panel li input[type=radio] + label, .modal-body.program.fundeal .radios-panel li input[type=radio] + label {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  align-items: center;
  min-height: 50px;
  padding: 5px 12px 6px 56px;
  border: none;
  border-radius: 30px;
  background: linear-gradient(91.34deg, rgba(255, 167, 51, 0.1) 0.36%, rgba(255, 51, 187, 0.1) 25.27%, rgba(177, 51, 216, 0.1) 50.18%, rgba(123, 51, 253, 0.1) 75.09%, rgba(51, 197, 240, 0.1) 100%);
  font-size: 1.6rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .modal-body.program.sj .radios-panel li input[type=radio] + label, .modal-body.program.fundeal .radios-panel li input[type=radio] + label {
    padding: 3px 12px 5px 44px;
  }
}
.modal-body.program.sj .radios-panel li input[type=radio] + label span.notes, .modal-body.program.fundeal .radios-panel li input[type=radio] + label span.notes {
  display: block;
  width: 100%;
  font-size: 1rem;
}
.modal-body.program.sj .radios-panel li input[type=radio] + label::before, .modal-body.program.fundeal .radios-panel li input[type=radio] + label::before {
  left: 24px;
  width: 20px;
  height: 20px;
  border: none;
  border-radius: 10px;
  background: var(--grad-climbers);
}
@media screen and (max-width: 767px) {
  .modal-body.program.sj .radios-panel li input[type=radio] + label::before, .modal-body.program.fundeal .radios-panel li input[type=radio] + label::before {
    left: 18px;
  }
}
.modal-body.program.sj .radios-panel li input[type=radio] + label::after, .modal-body.program.fundeal .radios-panel li input[type=radio] + label::after {
  left: 26px;
  width: 16px;
  height: 16px;
  border: 2px solid #fff;
  border-radius: 8px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .modal-body.program.sj .radios-panel li input[type=radio] + label::after, .modal-body.program.fundeal .radios-panel li input[type=radio] + label::after {
    left: 20px;
  }
}
.modal-body.program.sj .radios-panel li input[type=radio]:checked + label, .modal-body.program.fundeal .radios-panel li input[type=radio]:checked + label {
  background: linear-gradient(91.34deg, rgba(255, 167, 51, 0.3) 0.36%, rgba(255, 51, 187, 0.3) 25.27%, rgba(177, 51, 216, 0.3) 50.18%, rgba(123, 51, 253, 0.3) 75.09%, rgba(51, 197, 240, 0.3) 100%);
  font-weight: 700;
}
.modal-body.program.sj .radios-panel li input[type=radio]:checked + label::after, .modal-body.program.fundeal .radios-panel li input[type=radio]:checked + label::after {
  background: var(--grad-climbers);
}
.modal-body.program.sj .radios-panel li.full, .modal-body.program.fundeal .radios-panel li.full {
  pointer-events: none;
}
.modal-body.program.sj .radios-panel li.full .full-label, .modal-body.program.fundeal .radios-panel li.full .full-label {
  background-color: #7CE2FE;
  margin-right: 10px;
  border-radius: 4px;
  padding: 2px 7px;
  font-size: 14px;
  font-weight: 700;
}
.modal-body.program.sj .radios-panel li.full input[type=radio] + label::before, .modal-body.program.fundeal .radios-panel li.full input[type=radio] + label::before {
  background: rgba(1, 1, 46, 0.1333333333);
}
.modal-body.program.sj .radios-panel li.full input[type=radio] + label::after, .modal-body.program.fundeal .radios-panel li.full input[type=radio] + label::after {
  background: rgba(255, 255, 255, 0.6274509804);
  border: none;
}
.modal-body.program.sj .program-contents::before {
  background: var(--grad-climbers);
  filter: blur(60px);
}
.modal-body.program.sj .program-contents::after {
  background-color: #fff;
}
.modal-body.program.sj.dark .program-contents::after {
  background-color: var(--Neutral-color-Neutral-12);
}
.modal-body.program.sj.dark .scroll {
  color: #fff;
}
.modal-body.program.sj.dark .scroll .copyright {
  color: var(--Tokens-Foreground-contrast-white);
}
.modal-body.program.sj.dark .scroll .program-info .tag .hall {
  background-color: #fff;
  color: var(--Neutral-color-Neutral-12);
}
.modal-body.program.sj.dark .scroll .speaker-info .company,
.modal-body.program.sj.dark .scroll .speaker-info .post {
  color: var(--Tokens-Foreground-contrast-white);
}
.modal-body.program.sj.dark .scroll .speaker-info .name .en::before {
  border-color: var(--Tokens-Foreground-contrast-white);
}
.modal-body.program.fundeal .program-contents {
  color: #fff;
}
.modal-body.program.fundeal .program-contents .program-info .tag .hall {
  background-color: #fff;
  color: var(--Accent-color-Accent-12);
}
.modal-body.program.fundeal .program-contents::after {
  background-color: #000;
}
.modal-body.program.fundeal .program-contents .title::before {
  background: linear-gradient(0deg, rgba(171, 128, 58, 0) 0%, #AB803A 26%, #AB803A 73%, rgba(171, 128, 58, 0) 100%);
}
.modal-body.program.fundeal .program-contents .copyright {
  color: var(--Neutral-color-Neutral-8);
}
.modal-body.program.fundeal .program-contents .speaker-info-wrap .speaker-info .company,
.modal-body.program.fundeal .program-contents .speaker-info-wrap .speaker-info .post,
.modal-body.program.fundeal .program-contents .speaker-info-wrap .speaker-info .name {
  color: #fff;
}
.modal-body.program.fundeal .program-contents .speaker-info-wrap .speaker-info .name .en::before {
  background: #fff;
}
.modal-body.program.fundeal .program-contents .guest .speaker-wrap .speaker .speaker-info .company,
.modal-body.program.fundeal .program-contents .guest .speaker-wrap .speaker .speaker-info .post,
.modal-body.program.fundeal .program-contents .guest .speaker-wrap .speaker .speaker-info .name {
  color: #fff;
}
.modal-body.program .modal-label,
.modal-body.program .btn-reserve {
  width: 90%;
  max-width: 400px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.modal-body.program .modal-label {
  margin: 40px auto 8px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.modal-body.program .modal-label.text-center {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal-body.program .modal-label {
    margin: 20px auto 8px;
    font-size: 14px;
  }
}
.modal-body.program .btn-reserve {
  height: 60px;
}
@media screen and (max-width: 767px) {
  .modal-body.program .btn-reserve {
    height: 48px;
    font-size: 16px;
  }
}
.modal-body.program .btn-alert-primary.btn-reserve {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .modal-body.program .btn-alert-primary.btn-reserve {
    font-size: 15px;
  }
}
.modal-body.pass {
  width: 800px;
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  padding: 0;
  border-radius: 12px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal-body.pass {
    width: 90%;
  }
}
.modal-body.pass .pass-header {
  padding: 20px;
  border-bottom: 1px solid var(--Neutral-color-Neutral-Alpha-6);
}
.modal-body.pass .pass-header .title {
  font-size: 1.6rem;
}
.modal-body.pass .pass-contents {
  padding: 20px;
  max-height: calc(100vh - 224px);
  max-height: calc(100dvh - 224px);
}
.modal-body.pass .pass-contents p {
  margin: 0;
  font-size: 1.6rem;
}
.modal-body.pass .pass-contents p + p {
  margin-top: 22px;
}
.modal-body.pass .pass-contents .account {
  max-width: 416px;
  margin: 20px auto 0;
}
.modal-body.pass .pass-contents .account-data {
  margin-bottom: 0;
}
.modal-body.pass .modal-btn-wrap {
  padding: 20px;
  border-top: 1px solid var(--Neutral-color-Neutral-Alpha-6);
}
.modal-body.pass .modal-btn-wrap .btn-next {
  width: 230px;
  height: 48px;
  margin: 0 auto;
  font-size: 1.6rem;
}
.modal-body.pass .modal-btn-wrap .btn-skip {
  width: 160px;
  height: 48px;
  margin: 0 auto;
  font-size: 1.6rem;
}
.modal-body.pass .modal-btn-wrap.buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
}
.modal-body.pass .modal-btn-wrap.buttons .btn {
  margin: 0;
}
.modal-body.settings-pass {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 700px;
  padding: 32px;
  border-radius: 8px;
  box-shadow: var(--Elevation-4);
}
@media screen and (max-width: 767px) {
  .modal-body.settings-pass {
    width: 90%;
    padding: 40px 20px;
    gap: 8px;
  }
}
.modal-body.settings-pass .modal-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 44px;
  height: 44px;
}
@media screen and (max-width: 767px) {
  .modal-body.settings-pass .modal-close {
    top: 4px;
    right: 4px;
  }
}
.modal-body.settings-pass .modal-close::before {
  content: none;
}
.modal-body.settings-pass .title {
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  .modal-body.settings-pass .title {
    font-size: 20px;
    margin-bottom: 4px;
  }
}
.modal-body.settings-pass p {
  margin: 0;
  color: #031D51;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .modal-body.settings-pass p {
    font-size: 14px;
  }
}
.modal-body.settings-pass .image {
  height: 278px;
  padding-top: 5px;
  background-color: #F7F8FA;
}
.modal-body.settings-pass .modal-btn-wrap {
  margin-top: 12px;
}
.modal-body.settings-pass .btn-confirm {
  width: 360px;
  height: 48px;
  margin: 0 auto;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .modal-body.settings-pass .btn-confirm {
    width: 271px;
  }
}
.modal-body.no-pass {
  padding: 24px;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-3);
  box-shadow: var(--Elevation-5);
}
@media screen and (min-width: 768px) {
  .modal-body.no-pass .modal-btn-wrap {
    margin-top: 12px;
  }
}
.modal-body.no-pass .modal-btn-wrap .btn {
  width: 100%;
  max-width: 320px;
  height: 32px;
  margin: 0 auto;
}
.modal-body.matching {
  display: flex;
  flex-flow: column nowrap;
  width: 800px;
  height: calc(100vh - 40px);
  height: calc(100dvh - 40px);
  padding: 0;
  border-radius: 8px 8px 0 0;
  box-shadow: var(--Elevation-4);
}
@media screen and (max-width: 1080px) {
  .modal-body.matching {
    width: 85%;
    max-width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.matching {
    width: calc(100% - 80px);
    top: unset;
    bottom: 0;
    transform: translateX(-50%);
  }
}
.modal-body.matching .matching-header {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  flex: 0 0 80px;
  padding: 0 56px;
  border-radius: 8px 8px 0 0;
  background: #fff;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-header {
    flex: 0 0 60px;
    padding: 0 50px 0 22px;
  }
}
.modal-body.matching .matching-header .title {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-header .title {
    flex: 1 1 auto;
    font-size: 20px;
    line-height: 1.2;
  }
}
.modal-body.matching .matching-header .paging {
  position: absolute;
  top: 27px;
  right: 85px;
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  display: flex;
  gap: 10px;
}
.modal-body.matching .matching-header .paging .num {
  margin: 0;
}
.modal-body.matching .matching-header .paging .btn {
  width: 55px;
  height: 28px;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-header .paging {
    position: unset;
    margin-left: 5px;
  }
}
.modal-body.matching .matching-header .modal-close {
  position: absolute;
  top: 18px;
  right: 20px;
  width: 44px;
  height: 44px;
  padding: 0;
  background-color: unset;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-header .modal-close {
    top: 8px;
    right: 10px;
  }
}
.modal-body.matching .matching-header .modal-close:hover::before {
  background-color: unset;
}
.modal-body.matching .matching-header .modal-close img {
  width: 20px;
  height: 20px;
}
.modal-body.matching .matching-contents {
  display: flex;
  flex-flow: column nowrap;
  flex: 1 1 auto;
}
.modal-body.matching .matching-contents dl.form-row {
  display: block;
  margin: 24px 0 0;
}
.modal-body.matching .matching-contents dl.form-row[aria-required=true] .label::after {
  content: none;
}
.modal-body.matching .matching-contents dl.form-row[aria-required=true] .label::before {
  position: unset;
  display: inline-block;
  content: "*";
  margin-right: 4px;
  color: var(--Semantic-colors-Error-9);
  font-size: 1.6rem;
}
.modal-body.matching .matching-contents dl.form-row dt {
  min-height: auto;
  margin-bottom: 8px;
  padding: 0;
  background-color: unset;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents dl.form-row dt {
    font-size: 15px;
  }
}
.modal-body.matching .matching-contents dl.form-row dt .notes {
  font-size: 1.4rem;
  font-weight: 700;
}
.modal-body.matching .matching-contents dl.form-row dd {
  padding: 0;
}
.modal-body.matching .matching-contents dl.form-row dd p {
  margin: 8px 0;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents dl.form-row dd p {
    font-size: 14px;
  }
}
.modal-body.matching .matching-contents dl.form-row dd p.s14rem {
  font-size: 1.4rem;
}
.modal-body.matching .matching-contents dl.form-row dd .checkboxes > *,
.modal-body.matching .matching-contents dl.form-row dd .radios > * {
  margin: 0;
}
.modal-body.matching .matching-contents dl.form-row dd textarea {
  height: 100px;
  padding: 0.5px 12px;
  font-size: 1.4rem;
  line-height: 1.7;
}
.modal-body.matching .matching-contents dl.form-row dd textarea::placeholder {
  color: var(--Neutral-color-Neutral-Alpha-9);
}
.modal-body.matching .matching-contents dl.form-row dd .confirmed {
  padding: 16px;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  border-radius: 4px;
  background: var(--Neutral-color-Neutral-Alpha-3);
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents dl.form-row dd .confirmed {
    padding: 12px;
    font-size: 14px;
  }
}
.modal-body.matching .matching-contents dl.form-row dd .schedule {
  display: flex;
  align-items: flex-end;
  flex-flow: row wrap;
  gap: 10px;
}
.modal-body.matching .matching-contents dl.form-row dd .schedule .input {
  width: 260px;
}
.modal-body.matching .matching-contents dl.form-row dd .schedule .input.error {
  margin: 0;
}
.modal-body.matching .matching-contents dl.form-row dd .schedule .select {
  width: 260px;
  height: 32px;
}
.modal-body.matching .matching-contents dl.form-row dd .schedule .select select {
  min-height: 32px;
  color: var(--Tokens-Foreground-primary);
}
.modal-body.matching .matching-contents dl.form-row dd .schedule .btn-to-settings {
  width: auto;
  height: 32px;
  padding: 6px 36px 6px 12px;
  border-width: 1px;
}
.modal-body.matching .matching-contents dl.form-row dd .schedule .btn-to-settings::after {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  background: url(../assets/images/common/icon_external_blue.svg) center/100% no-repeat;
}
.modal-body.matching .matching-contents dl.form-row dd .notes-list {
  margin: 8px 0 0;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.2rem;
  line-height: 1.45;
  font-weight: 400;
  list-style: none;
}
.modal-body.matching .matching-contents dl.form-row dd .notes-list > li {
  padding-left: 18px;
  position: relative;
}
.modal-body.matching .matching-contents dl.form-row dd .notes-list > li:before {
  position: absolute;
  top: 8px;
  left: 7px;
  display: block;
  content: "";
  width: 3px;
  height: 3px;
  border-radius: 3px;
  background: var(--Tokens-Foreground-secondary);
}
.modal-body.matching .matching-contents dl.form-row dd + dt {
  margin-top: 24px;
}
.modal-body.matching .matching-contents .user-detail {
  flex: 0 1 auto;
  padding: 32px 28px 32px 32px;
  background: var(--Neutral-color-Neutral-1);
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .user-detail {
    padding: 20px;
  }
}
.modal-body.matching .matching-contents .card-header {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 4px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .card-header {
    margin-bottom: 10px;
  }
}
.modal-body.matching .matching-contents .card-header.booth {
  justify-content: flex-start;
  gap: 12px;
  margin-bottom: 24px;
}
.modal-body.matching .matching-contents .card-header.booth .company {
  margin: 0;
  color: rgb(3, 29, 81);
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .card-header.booth .company {
    font-size: 16px;
  }
}
.modal-body.matching .matching-contents .card-header.booth .copy {
  margin: 10px 0 0;
  color: rgb(3, 29, 81);
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .card-header.booth .copy {
    font-size: 14px;
  }
}
.modal-body.matching .matching-contents .card-header .btn-favorite {
  position: absolute;
  top: -1px;
  right: 0;
}
.modal-body.matching .matching-contents .card-header .image {
  flex: 0 0 120px;
  width: 120px;
  height: 120px;
  border: 0.6px solid rgb(220, 222, 229);
  border-radius: 2.4px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .card-header .image {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
  }
}
.modal-body.matching .matching-contents .card-header .person-info {
  flex: 1 1 auto;
}
.modal-body.matching .matching-contents .card-header .person-info .company {
  margin: 0;
  font-size: 2rem;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .card-header .person-info .company {
    font-size: 16px;
  }
}
.modal-body.matching .matching-contents .card-header .person-info .post {
  margin: 3px 0 0;
  font-size: 1.6rem;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .card-header .person-info .post {
    font-size: 14px;
  }
}
.modal-body.matching .matching-contents .card-header .person-info .name {
  margin: 1px 0 0;
  font-size: 2rem;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .card-header .person-info .name {
    font-size: 16px;
  }
}
.modal-body.matching .matching-contents .card-header .manage-info .manage-id {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .card-header .manage-info .manage-id {
    font-size: 14px;
    line-height: 1.8;
  }
}
.modal-body.matching .matching-contents .card-header .manage-info .kind {
  margin: 4px 0 0;
  padding: 5px 10px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .card-header .manage-info .kind {
    padding: 4px 8.5px;
    font-size: 12px;
  }
}
.modal-body.matching .matching-contents .image + .appeal {
  margin-top: 25px;
}
.modal-body.matching .matching-contents .appeal-wrap {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 22px;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .appeal-wrap {
    gap: 9px;
    margin-bottom: 26px;
  }
}
.modal-body.matching .matching-contents .appeal-wrap .appeal,
.modal-body.matching .matching-contents .appeal-wrap .point {
  width: calc((100% - 12px) / 2);
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .appeal-wrap .appeal,
  .modal-body.matching .matching-contents .appeal-wrap .point {
    width: 100%;
  }
}
.modal-body.matching .matching-contents .appeal-wrap .appeal {
  font-size: 1.4rem;
  margin: 24px 0 14px;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .appeal-wrap .appeal {
    margin: 0;
    font-size: 12px;
  }
}
.modal-body.matching .matching-contents .appeal {
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .appeal {
    font-size: 14px;
  }
}
.modal-body.matching .matching-contents .point .title {
  display: inline-block;
  margin-bottom: 4px;
  padding-left: 16px;
  --grad-warm: linear-gradient(90.67deg, #FF1B89 1.03%, #F8416C 32.63%, #FF8D5D 98.9%);
  background: var(--grad-warm);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.2rem;
  position: relative;
}
.modal-body.matching .matching-contents .point .title::before {
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  background: url(../assets/images/common/icon_hot.svg) center/contain no-repeat;
}
.modal-body.matching .matching-contents .point ul {
  padding: 8px;
  border-radius: 4px;
  background: var(--Neutral-color-Neutral-Alpha-3);
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.33;
}
.modal-body.matching .matching-contents .point ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.modal-body.matching .matching-contents .point ul li::before {
  content: "・";
}
.modal-body.matching .matching-contents .point ul li:not(:last-of-type) {
  margin-bottom: 4px;
}
.modal-body.matching .matching-contents .detail-section {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .detail-section .title {
    margin-bottom: 10px;
    font-size: 15px;
  }
}
.modal-body.matching .matching-contents .detail-section ul li {
  padding-left: 24px;
  color: var(--Tokens-Foreground-primary);
  position: relative;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .detail-section ul li {
    padding-left: 20px;
    font-size: 14px;
  }
}
.modal-body.matching .matching-contents .detail-section ul li::before {
  position: absolute;
  top: 10px;
  left: 10px;
  display: block;
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background: var(--Tokens-Foreground-primary);
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .detail-section ul li::before {
    top: 8px;
    left: 8px;
  }
}
.modal-body.matching .matching-contents .detail-section .profile {
  max-width: 100%;
  height: 116px;
  padding: 6px;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  border-radius: 4px;
  overflow-y: auto;
  transition: height 0.4s;
}
.modal-body.matching .matching-contents .detail-section .profile.open {
  height: auto;
  overflow-y: hidden;
}
.modal-body.matching .matching-contents .detail-section .profile.scroll.sm::-webkit-scrollbar {
  width: 12px;
  height: 12px;
  background: #fff;
}
.modal-body.matching .matching-contents .detail-section .profile.scroll.sm::-webkit-scrollbar-thumb {
  border: 4px solid #fff;
  border-radius: 8px;
}
.modal-body.matching .matching-contents .detail-section .profile.scroll.sm::-webkit-scrollbar-corner {
  border: 12px solid #fff;
}
.modal-body.matching .matching-contents .detail-section .profile dl dt,
.modal-body.matching .matching-contents .detail-section .profile dl dd {
  font-size: 1.4rem;
}
.modal-body.matching .matching-contents .detail-section .profile dl dt {
  margin-bottom: 4px;
}
.modal-body.matching .matching-contents .detail-section .profile dl dd {
  padding: 5px;
  background-color: rgb(241, 246, 253);
}
.modal-body.matching .matching-contents .detail-section .profile dl dd:not(:last-of-type) {
  margin-bottom: 12px;
}
.modal-body.matching .matching-contents .detail-section .btn-profile-open {
  width: 100%;
  height: 20px;
  margin-top: 4px;
  border-radius: 0;
  background: var(--Neutral-color-Neutral-3);
}
.modal-body.matching .matching-contents .detail-section .btn-profile-open::before {
  border-radius: 0;
}
.modal-body.matching .matching-contents .detail-section .btn-profile-open::after {
  position: absolute;
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  background: url(../assets/images/common/arrow_slide_transparent.svg) center left -10.5px/40px no-repeat;
  transform: rotate(90deg);
  transition: transform 0.2s;
}
.modal-body.matching .matching-contents .detail-section .btn-profile-open.up::after {
  transform: rotate(-90deg);
}
.modal-body.matching .matching-contents .detail-section .btn-profile-open:hover::before {
  background: rgba(0, 0, 0, 0.05);
}
.modal-body.matching .matching-contents .detail-section .btn-profile-open span {
  font-size: 0;
}
.modal-body.matching .matching-contents .request-detail {
  flex: 1 0 auto;
  padding: 32px 28px 32px 32px;
  overflow: auto;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .request-detail {
    padding: 20px;
  }
}
.modal-body.matching .matching-contents .request-detail .title {
  margin-bottom: 24px;
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .request-detail .title {
    font-size: 18px;
  }
}
.modal-body.matching .matching-contents .request-detail .request-detail-label {
  margin: -22px 0 0;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
}
.modal-body.matching .matching-contents .request-detail .notice {
  padding: 10px;
  background: rgb(255, 246, 254);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.57;
}
.modal-body.matching .matching-contents .request-detail .notice + dl {
  margin-top: 24px;
}
.modal-body.matching .matching-contents .request-detail .sent {
  margin-top: 24px;
  padding: 15px 12px;
  border-radius: 4px;
  background: var(--Neutral-color-Neutral-Alpha-3);
}
.modal-body.matching .matching-contents .request-detail .sent dl {
  font-size: 1.6rem;
}
.modal-body.matching .matching-contents .request-detail .sent dl.sent-header {
  display: flex;
  flex-flow: row nowrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .request-detail .sent dl.sent-header {
    flex-wrap: wrap;
  }
}
.modal-body.matching .matching-contents .request-detail .sent dl.sent-header dt {
  margin: 0;
}
.modal-body.matching .matching-contents .request-detail .sent dl.sent-header dd {
  color: var(--Tokens-Foreground-secondary);
}
.modal-body.matching .matching-contents .request-detail .sent dl.sent-header dd:not(:last-of-type) {
  margin-right: 18px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .modal-body.matching .matching-contents .request-detail .sent dl.sent-header dd:not(:last-of-type):after {
    position: absolute;
    top: 50%;
    right: -16px;
    transform: translateY(-50%);
    content: "";
    width: 1px;
    height: 18px;
    background: var(--Tokens-Foreground-primary);
  }
}
.modal-body.matching .matching-contents .request-detail .sent dl dt {
  margin-bottom: 11px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .request-detail .sent dl dt {
    margin-bottom: 8px;
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .request-detail .sent dl dd {
    font-size: 14px;
  }
}
.modal-body.matching .matching-contents .request-detail .sent dl dd ul li {
  padding-left: 24px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .request-detail .sent dl dd ul li {
    padding-left: 20px;
  }
}
.modal-body.matching .matching-contents .request-detail .sent dl dd ul li:before {
  position: absolute;
  top: 10px;
  left: 10px;
  display: block;
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background: var(--Tokens-Foreground-primary);
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-contents .request-detail .sent dl dd ul li:before {
    top: 8px;
    left: 8px;
  }
}
.modal-body.matching .matching-contents .request-detail .sent dl + dl {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--Neutral-color-Neutral-Alpha-6);
}
.modal-body.matching .matching-footer {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 88px;
  padding: 20px;
  background: var(--Neutral-color-Neutral-1);
  box-shadow: inset var(--Elevation-1);
}
.modal-body.matching .matching-footer p.caution {
  margin: 0 0 4px;
  color: var(--Semantic-colors-Error-9);
  font-size: 1.4rem;
  font-weight: 500;
}
.modal-body.matching .matching-footer .btn-wrap {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 20px;
  min-width: 144px;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-footer .btn-wrap {
    gap: 10px;
  }
}
.modal-body.matching .matching-footer .btn-outer {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-footer .btn-outer {
    flex: 1 1 50%;
  }
}
.modal-body.matching .matching-footer .btn-outer p.memo {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}
.modal-body.matching .matching-footer .btn {
  width: auto;
  height: 48px;
  padding: 12px 24px;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .matching-footer .btn {
    width: 100%;
    min-width: 130px;
    padding: 12px 16px;
  }
}
.modal-body.matching .matching-footer .btn-basic-secondary {
  background-color: unset;
}
.modal-body.matching .matching-footer .btn-cancel {
  border: none;
}
.modal-body.matching .matching-footer .btn-save,
.modal-body.matching .matching-footer .btn-change,
.modal-body.matching .matching-footer .btn-decline {
  border-width: 1px;
}
.modal-body.matching .modal-prev,
.modal-body.matching .modal-next {
  position: absolute;
  top: 44.8%;
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 24px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .modal-prev::before,
  .modal-body.matching .modal-next::before {
    content: none;
  }
}
.modal-body.matching .modal-prev img,
.modal-body.matching .modal-next img {
  width: auto;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .modal-body.matching .modal-prev,
  .modal-body.matching .modal-next {
    width: 28px;
    height: 28px;
  }
}
.modal-body.matching .modal-prev {
  left: -88px;
  transform: rotate(180deg);
}
@media screen and (max-width: 1231px) {
  .modal-body.matching .modal-prev {
    left: -68px;
  }
}
@media screen and (max-width: 1080px) {
  .modal-body.matching .modal-prev {
    left: -8%;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.matching .modal-prev {
    left: -34px;
  }
}
.modal-body.matching .modal-next {
  right: -88px;
}
@media screen and (max-width: 1231px) {
  .modal-body.matching .modal-next {
    right: -68px;
  }
}
@media screen and (max-width: 1080px) {
  .modal-body.matching .modal-next {
    right: -8%;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.matching .modal-next {
    right: -34px;
  }
}
.modal-body.message {
  display: flex;
  flex-flow: column nowrap;
  width: 800px;
  height: calc(100vh - 40px);
  height: calc(100dvh - 40px);
  padding: 0;
  border-radius: 8px 8px 0 0;
  background: var(--Neutral-color-Neutral-1);
  box-shadow: var(--Elevation-4);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .modal-body.message {
    width: 100%;
    top: unset;
    bottom: 0;
    transform: translateX(-50%);
  }
}
.modal-body.message .message-header {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  padding: 18px 20px 18px 24px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .modal-body.message .message-header {
    padding: 20px 10px 20px 20px;
  }
}
.modal-body.message .message-header p.destination {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  gap: 20px;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .modal-body.message .message-header p.destination {
    gap: 5px 10px;
  }
}
.modal-body.message .message-header p.destination .name {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .modal-body.message .message-header p.destination .name {
    font-size: 16px;
  }
}
.modal-body.message .message-header .modal-close {
  width: 44px;
  height: 44px;
}
.modal-body.message .message-header .modal-close:hover::before {
  background-color: unset;
}
.modal-body.message .message-contents {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  gap: 16px;
  flex: 1 1 auto;
  padding: 32px 71px;
}
@media screen and (max-width: 767px) {
  .modal-body.message .message-contents {
    padding: 20px;
  }
}
.modal-body.message .message-contents .timestamp {
  margin: 0;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.1rem;
  text-align: right;
}
.modal-body.message .message-contents .consent .timestamp,
.modal-body.message .message-contents .words .timestamp {
  margin: 2px 0 0;
}
.modal-body.message .message-contents .consent {
  width: 320px;
}
.modal-body.message .message-contents .consent-contents {
  padding: 12px;
  border-radius: 15px;
  text-align: right;
  position: relative;
  z-index: 1;
}
.modal-body.message .message-contents .consent-contents::before, .modal-body.message .message-contents .consent-contents::after {
  position: absolute;
  display: block;
  content: "";
  z-index: -1;
}
.modal-body.message .message-contents .consent-contents::before {
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: var(--grad-climbers);
}
.modal-body.message .message-contents .consent-contents::after {
  inset: 1px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 14px;
  background: rgb(255, 246, 254);
}
.modal-body.message .message-contents .consent-contents .title {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 2px;
  padding-bottom: 8px;
  border-bottom: 1px solid;
  border-image: var(--grad-climbers) 1;
  font-size: 1.5rem;
  text-align: center;
}
.modal-body.message .message-contents .consent-contents .title::before {
  display: block;
  content: "";
  width: 50px;
  height: 31px;
  background: url(../assets/images/common/icon_hands.svg) center/100% no-repeat;
}
.modal-body.message .message-contents .consent-contents .title.no-border {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.modal-body.message .message-contents .consent-contents ul {
  color: var(--Default-colors-black);
  font-size: 1.2rem;
  font-weight: 500;
  text-align: left;
}
.modal-body.message .message-contents .consent-contents ul li:not(:last-of-type) {
  margin-bottom: 2px;
}
.modal-body.message .message-contents .consent-contents a {
  display: inline-block;
  margin: 10px 0 0;
  color: var(--Tokens-Foreground-primary);
  font-size: 1.2rem;
  font-weight: 500;
  text-align: right;
}
.modal-body.message .message-contents .caution {
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.2rem;
}
.modal-body.message .message-contents .caution .title {
  margin: 0;
}
.modal-body.message .message-contents .caution ul li {
  padding-left: 1em;
  text-indent: -1em;
  font-weight: 500;
}
.modal-body.message .message-contents .caution ul li:before {
  content: "※";
}
.modal-body.message .message-contents p.notice {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  width: 100%;
  margin: 3px 0;
  color: var(--Tokens-Foreground-secondary);
  font-weight: 500;
  text-align: center;
  position: relative;
}
.modal-body.message .message-contents p.notice::before, .modal-body.message .message-contents p.notice::after {
  flex: 1 1 auto;
  content: "";
  height: 1px;
  background: var(--Tokens-Foreground-secondary);
}
.modal-body.message .message-contents p.notice span {
  padding: 0 10px;
}
.modal-body.message .message-contents p.notice span.text {
  padding: 0 5px 0 30px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .modal-body.message .message-contents p.notice span.text {
    padding-left: 15px;
  }
}
.modal-body.message .message-contents p.notice span.timestamp {
  padding: 0 30px 0 5px;
  font-size: 1.1rem;
}
@media screen and (max-width: 767px) {
  .modal-body.message .message-contents p.notice span.timestamp {
    padding-right: 15px;
  }
}
.modal-body.message .message-contents .words {
  max-width: 427px;
}
.modal-body.message .message-contents .words .text {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  min-height: 38px;
  margin: 0;
  padding: 4px 13.5px;
  border-radius: 10px;
  line-height: 1.85;
  position: relative;
}
.modal-body.message .message-contents .words .text::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 14px;
  height: 13px;
}
.modal-body.message .message-contents .words.you {
  margin-right: auto;
  margin-left: 0;
}
.modal-body.message .message-contents .words.you .text {
  margin-left: 13px;
  background: var(--Neutral-color-Neutral-3);
}
.modal-body.message .message-contents .words.you .text::before {
  left: -13px;
  background: var(--Neutral-color-Neutral-3);
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.modal-body.message .message-contents .words.me {
  margin-right: 0;
  margin-left: auto;
}
.modal-body.message .message-contents .words.me .text {
  margin-right: 13px;
  background: var(--Accent-color-Accent-9);
  color: #fff;
}
.modal-body.message .message-contents .words.me .text::before {
  right: -13px;
  background: var(--Accent-color-Accent-9);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.modal-body.message .message-contents .guide {
  width: 100%;
  padding: 12px 12px 20px;
  border: 1px solid;
  border-image: var(--grad-climbers) 1;
  background: rgb(255, 246, 254);
  color: #000;
  text-align: center;
}
.modal-body.message .message-contents .guide .title {
  margin: 0 0 10px;
  padding-left: 17px;
}
.modal-body.message .message-contents .guide .title::before {
  display: inline-block;
  content: "";
  width: 9px;
  height: 9px;
  margin-right: 8px;
  border-radius: 5px;
  background: linear-gradient(135.66deg, #FF9600 6.23%, #F637A7 33.3%, #8E00C7 50.7%, #4E1EF2 68.1%, #00B5E7 95.17%);
  position: relative;
  top: -1px;
}
.modal-body.message .message-contents .guide ul {
  max-width: 360px;
  margin: 0 auto;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: left;
}
.modal-body.message .message-contents .guide ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.modal-body.message .message-contents .guide ul li:before {
  content: "※";
}
.modal-body.message .message-contents .guide a {
  color: #000;
  position: relative;
}
.modal-body.message .message-contents .guide a .help-tel {
  position: absolute;
  top: 2rem;
  left: 50%;
  transform: translateX(-50%);
  background: white;
  padding: 8px 16px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  text-indent: 0;
  white-space: nowrap;
}
.modal-body.message .message-footer {
  flex: 0 0 auto;
  padding: 40px 48px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .modal-body.message .message-footer {
    padding: 20px;
  }
}
.modal-body.message .message-footer p.sender {
  margin: 0 0 8px;
  font-size: 1.6rem;
  font-weight: 700;
}
.modal-body.message .message-footer .words-input {
  height: 68px;
  border-radius: 34px;
  padding: 0 80px 0 30px;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-7);
  position: relative;
}
.modal-body.message .message-footer .words-input::before {
  position: absolute;
  top: 50%;
  right: 72px;
  transform: translateY(-50%);
  z-index: 1;
  display: block;
  content: "";
  width: 1px;
  height: 40px;
  background: var(--Neutral-color-Neutral-Alpha-6);
}
.modal-body.message .message-footer .words-input .input {
  height: 100%;
  padding: 10px 0;
  border: none;
  font-size: 1.5rem;
  line-height: 1.4;
  overflow-y: auto;
}
.modal-body.message .message-footer .words-input .input::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  background: var(--Neutral-color-Neutral-Alpha-3);
  border-radius: 4px;
}
.modal-body.message .message-footer .words-input .input::-webkit-scrollbar-thumb {
  background: var(--Neutral-color-Neutral-Alpha-8);
  width: 4px;
  height: 4px;
  border-radius: 4px;
}
.modal-body.message .message-footer .words-input .btn-send {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
}
.modal-body.message .message-footer .words-input .btn-send::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  display: block;
  content: "";
  width: 24px;
  height: 24px;
  background: url(../assets/images/common/icon_send_white.svg) center/100% no-repeat;
}
.modal-body.message .message-footer .words-input .btn-send span {
  font-size: 0;
}
.modal-body.notification {
  display: flex;
  width: 95%;
  max-width: 800px;
  height: 460px;
  box-shadow: var(--Elevation-6);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .modal-body.notification {
    position: fixed;
    top: unset;
    bottom: 0;
    transform: translateX(-50%);
    display: block;
    width: 100%;
    height: calc(100vh - 40px);
    height: calc(100dvh - 40px);
    padding: 0;
    border-radius: 12px 12px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.notification.pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .modal-body.notification.sp {
    display: none;
  }
}
.modal-body.notification .notification-menu {
  width: 35%;
  padding: 32px 32px 88px;
  background-color: var(--Neutral-color-Neutral-3);
}
@media screen and (max-width: 767px) {
  .modal-body.notification .notification-menu {
    width: 100%;
    height: 48px;
    padding: 12px;
    border-bottom: 1px solid var(--Neutral-color-Neutral-Alpha-6);
    background-color: unset;
  }
}
.modal-body.notification .notification-menu .title {
  margin-bottom: 20px;
  font-size: 1.8rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .modal-body.notification .notification-menu .title {
    font-size: 16px;
    text-align: center;
  }
}
.modal-body.notification .notification-menu .modal-close {
  position: absolute;
  top: 13px;
  right: 8px;
}
@media screen and (max-width: 767px) {
  .modal-body.notification .notification-menu .modal-close {
    right: 18px;
  }
}
.modal-body.notification .notification-menu .modal-close::before {
  content: none;
}
.modal-body.notification .notification-menu .modal-close img {
  width: 20px;
  height: 20px;
}
.modal-body.notification .notification-menu .notification-list li {
  transition: color 0.2s, background-color 0.2s;
}
@media screen and (min-width: 768px) {
  .modal-body.notification .notification-menu .notification-list li {
    padding-left: 12px;
    color: var(--Tokens-Foreground-secondary);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.428;
    cursor: pointer;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  .modal-body.notification .notification-menu .notification-list li::before {
    position: absolute;
    top: -1px;
    left: 1px;
    display: block;
    content: "";
    width: 2px;
    height: 20px;
    background: rgb(0, 84, 255);
    opacity: 0;
    transition: visibility 0.2s, opacity 0.2s;
  }
}
@media screen and (min-width: 768px) {
  .modal-body.notification .notification-menu .notification-list li:not(:last-of-type) {
    margin-bottom: 12px;
  }
}
@media screen and (min-width: 768px) {
  .modal-body.notification .notification-menu .notification-list li.active {
    color: var(--Accent-color-Accent-11);
    cursor: unset;
    font-weight: 700;
  }
}
@media screen and (min-width: 768px) {
  .modal-body.notification .notification-menu .notification-list li.active::before {
    visibility: visible;
    opacity: 1;
  }
}
.modal-body.notification .notification-contents {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 65%;
  height: 100%;
  padding: 32px;
}
@media screen and (max-width: 767px) {
  .modal-body.notification .notification-contents {
    display: block;
    width: 100%;
    height: calc(100% - 48px);
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.notification .notification-contents .swiper-slide {
    display: flex;
    flex-direction: column;
    padding: 32px;
    background-color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.notification .notification-contents .swiper {
    position: relative;
    justify-content: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.notification .notification-contents .swiper .swiper-slide {
    padding-bottom: 46.5px;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.notification .notification-contents .swiper-sub .swiper-slide {
    padding-top: 17px;
  }
}
.modal-body.notification .notification-contents .swiper-wrapper {
  gap: 0;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .modal-body.notification .notification-contents .swiper-pagination {
    position: unset;
  }
}
.modal-body.notification .notification-contents .swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 10px;
}
.modal-body.notification .notification-contents .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--Accent-color-Accent-9);
}
.modal-body.notification .notification-contents .swiper-button-next {
  position: relative;
  top: unset;
  left: unset;
  right: unset;
  z-index: 1;
  width: 100%;
  max-width: 400px;
  height: 48px;
  margin: 8px auto 0;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-8);
  border-radius: 24px;
  background-color: #fff;
  color: var(--Neutral-color-Neutral-Alpha-11);
  font-size: 16px;
}
.modal-body.notification .notification-contents .swiper-button-next::after {
  content: none;
}
.modal-body.notification .notification-contents .swiper-button-next span {
  color: var(--Neutral-color-Neutral-Alpha-11);
  font-size: 16px;
  font-weight: 700;
}
.modal-body.notification .notification-contents .icon-notification {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  border-radius: 40px;
  margin: 48px auto 34px;
}
.modal-body.notification .notification-contents .icon-notification.settings-notification {
  background-color: var(--Semantic-colors-Error-3);
}
.modal-body.notification .notification-contents .icon-notification.request-notification {
  background-color: var(--Accent-color-Accent-3);
}
.modal-body.notification .notification-contents .icon-notification img {
  width: 56px;
  height: 56px;
}
.modal-body.notification .notification-contents .title {
  font-size: 2rem;
  line-height: 1.5;
  text-align: center;
}
.modal-body.notification .notification-contents p {
  margin: 10px 0;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
}
.modal-body.notification .notification-contents .btn-action {
  width: 164px;
  height: 32px;
  margin: 20px auto 0;
}
@media screen and (max-width: 767px) {
  .modal-body.notification .notification-contents .btn-action {
    width: 100%;
    max-width: 400px;
    height: 48px;
    font-size: 16px;
  }
}
.modal-body.notification .modal-btn-wrap {
  margin-top: auto;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .modal-body.notification .btn-arrow-wrap {
    position: absolute;
    left: 32px;
    bottom: 32px;
    display: flex;
    gap: 12px;
  }
}
@media screen and (max-width: 767px) {
  .modal-body.notification .btn-arrow-wrap {
    height: 80px;
    padding: 0 32px 32px;
    margin-top: 8px;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  .modal-body.notification .btn-prev,
  .modal-body.notification .btn-next {
    width: 32px;
    height: 32px;
    font-size: 0;
    background: url(../assets/images/common/arrow_slide.svg) center/100% no-repeat;
  }
}
.modal-body.notification .btn-prev::before,
.modal-body.notification .btn-next::before {
  background: var(--Neutral-color-Neutral-Alpha-2);
}
@media screen and (min-width: 768px) {
  .modal-body.notification .btn-prev:disabled,
  .modal-body.notification .btn-next:disabled {
    pointer-events: none;
    background-image: url(../assets/images/common/arrow_slide_disabled.svg);
  }
}
@media screen and (min-width: 768px) {
  .modal-body.notification .btn-prev {
    transform: rotate(180deg);
  }
}
@media screen and (min-width: 768px) {
  .modal-body.notification .btn-close {
    width: 72px;
    border: 1px solid var(--Neutral-color-Neutral-Alpha-8);
    border-radius: 16px;
    color: var(--Neutral-color-Neutral-Alpha-11);
  }
}
@media screen and (max-width: 767px) {
  .modal-body.notification .btn-close {
    position: relative;
    z-index: 0;
    width: 100%;
    max-width: 400px;
    height: 48px;
    margin: 8px auto 0;
    border: 1px solid var(--Neutral-color-Neutral-Alpha-8);
    border-radius: 24px;
    background-color: #fff;
    color: var(--Neutral-color-Neutral-Alpha-11);
    font-size: 16px;
  }
}
.modal-body.entried {
  width: 90%;
  padding: 0;
  max-width: 857px;
  max-height: 90vh;
  max-height: 90dvh;
  box-shadow: var(--Elevation-5);
}
.modal-body.entried .entried-header {
  padding: 24px 24px 10px;
  text-align: center;
}
.modal-body.entried .entried-header .title {
  margin: 2px 0 10px;
  color: var(--Tokens-Foreground-primary);
  font-size: 2rem;
}
.modal-body.entried .entried-header p {
  margin: 0;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.4rem;
}
.modal-body.entried .entried-contents {
  padding: 10px 52.5px 10px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal-body.entried .entried-contents {
    padding: 10px 14px 10px;
  }
}
.modal-body.entried .entried-footer {
  padding: 10px 24px 22px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal-body.entried .entried-footer {
    padding: 10px 24px 17px;
  }
}
.modal-body.entried .entried-footer .btn-enter {
  width: 320px;
  height: 32px;
  margin: 0 auto;
  color: var(--Accent-color-Accent-Alpha-11);
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .modal-body.entried .entried-footer .btn-enter {
    width: 100%;
  }
}
.modal-body.entried .entried-footer .btn-enter::before {
  content: none;
}

/* 来訪リクエスト
====================================================*/
.request-window {
  position: fixed;
  top: 56px;
  right: -452px;
  bottom: 0;
  z-index: 10001;
  display: flex;
  flex-flow: column nowrap;
  width: 400px;
  padding: 0 !important;
  background-color: var(--Tokens-Background-panel);
  transition: right 0.3s;
  box-shadow: 0px 6px 12px 0px rgba(25, 42, 88, 0.12);
}
@media screen and (max-width: 1080px) {
  .request-window {
    top: 0;
    right: -427px;
    z-index: 10001;
    width: 375px;
  }
}
.request-window.open {
  right: 0;
}
.request-window .request-window-header {
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  align-items: center;
  padding: 10px 4px 10px 16px;
  border-bottom: 1px solid var(--Neutral-color-Neutral-Alpha-6);
}
@media screen and (max-width: 1080px) {
  .request-window .request-window-header {
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 12px 10px 16px;
  }
}
.request-window .request-window-header .title {
  color: var(--Tokens-Foreground-primary);
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 1080px) {
  .request-window .request-window-header .title {
    order: 2;
  }
}
.request-window .request-window-header .btn-sort-wrap {
  position: relative;
  margin-left: auto;
  margin-right: 4px;
}
@media screen and (max-width: 1080px) {
  .request-window .request-window-header .btn-sort-wrap {
    order: 1;
  }
}
@media screen and (max-width: 767px) {
  .request-window .request-window-header .btn-sort-wrap .bg {
    z-index: 1;
  }
}
.request-window .request-window-header .btn-sort {
  width: 36px;
  height: 36px;
  font-size: 0;
  background: url(../assets/images/common/icon_sort.svg) center/24px no-repeat;
}
.request-window .request-window-header .btn-sort::before {
  background: var(--Neutral-color-Neutral-Alpha-3);
}
.request-window .request-window-header .btn-request-close {
  width: 36px;
  height: 36px;
  background: unset;
  font-size: 0;
}
@media screen and (max-width: 1080px) {
  .request-window .request-window-header .btn-request-close {
    order: 3;
    width: 24px;
    height: 24px;
  }
}
.request-window .request-window-header .btn-request-close::after {
  position: relative;
  right: 4px;
  transform: rotate(45deg);
  content: "";
  width: 12px;
  height: 12px;
  border-top: 1.5px solid var(--Neutral-color-Neutral-12);
  border-right: 1.5px solid var(--Neutral-color-Neutral-12);
}
@media screen and (max-width: 1080px) {
  .request-window .request-window-header .btn-request-close::after {
    left: 4px;
    right: unset;
    transform: rotate(-45deg);
    border-left: 1.5px solid var(--Neutral-color-Neutral-12);
    border-right: none;
  }
}
.request-window .request-window-header .btn-request-close:hover::before {
  content: none;
}
.request-window .daytab-list {
  width: calc(100% - 32px);
  margin: 0 auto 16px;
}
@media screen and (max-width: 1080px) {
  .request-window .daytab-list {
    height: 40px;
    margin-top: 5px;
  }
}
@media screen and (max-width: 1080px) {
  .request-window .daytab-list li {
    font-size: 16px;
  }
}
.request-window .request-list {
  flex: 0 0 auto;
  height: 100%;
}
.request-window .request-list li:not(:last-of-type) {
  margin: 0;
  padding: 0;
}
.request-window .request-list .card-request > a {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  color: var(--Tokens-Foreground-primary);
  text-decoration: none;
  transition-duration: 0.2s;
}
.request-window .request-list .card-request > a:hover {
  box-shadow: var(--Elevation-4);
}
.request-window .request-list .card-request.new:not(.booth, .matching) .image {
  position: relative;
}
.request-window .request-list .card-request.new:not(.booth, .matching) .image::after {
  position: absolute;
  top: -5px;
  right: -5px;
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background: var(--Semantic-colors-Error-9);
}
.request-window .request-list .card-request .image {
  flex: 0 0 56px;
}
.request-window .request-list .card-request .image img {
  border-radius: 8px;
}
.request-window .request-list .card-request .request-info .from {
  justify-content: space-between;
}
.request-window .request-list .card-request .request-info .from .company {
  font-size: 1.4rem;
}
.request-window .request-list .card-request .request-info .from .time {
  font-size: 1.2rem;
}
.request-window .request-list .card-request .request-info .message {
  margin: 4px 0 0;
  font-size: 1.2rem;
}
.request-window .request-list .card-request.booth > a, .request-window .request-list .card-request.matching > a {
  display: block;
  padding: 12px 16px;
}
.request-window .request-list .card-request.booth > a:hover, .request-window .request-list .card-request.matching > a:hover {
  box-shadow: var(--Elevation-4);
}
.request-window .request-list .card-request.booth .time, .request-window .request-list .card-request.matching .time {
  top: 12px;
}
.request-window .request-list .card-request.booth .card-footer, .request-window .request-list .card-request.matching .card-footer {
  margin-top: 16px;
}
.request-window .request-list .card-request.booth .card-footer .message, .request-window .request-list .card-request.matching .card-footer .message {
  margin: 0;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.2rem;
}
.request-window .request-list .card-request.booth.new .card-header .company-info .text {
  padding-top: 22px;
}
.request-window .request-list .card-request.booth.new .card-header .company-info .badge {
  padding: 2px 6px;
}
.request-window .request-list .card-request.booth .card-header .company-info .image {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
}
.request-window .request-list .card-request.booth .card-header .company-info .company {
  font-size: 1.4rem;
}
.request-window .request-list .card-request.matching .card-header .person-info .company,
.request-window .request-list .card-request.matching .card-header .person-info .name {
  margin-top: 5px;
  font-size: 1.4rem;
}
.request-window .no-request {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: calc(100% - 57px);
  padding: 16px;
  text-align: center;
}
.request-window .no-request.fundeal .title::before {
  background: url(../assets/images/common/icon_list.svg) center/100% no-repeat;
}
.request-window .no-request .title {
  margin: 0 0 12px;
  padding-top: 84px;
  font-size: 2rem;
  position: relative;
}
.request-window .no-request .title::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 64px;
  height: 64px;
  background: url(../assets/images/common/icon_comment.svg) center/100% no-repeat;
}
.request-window .no-request p {
  margin: 0;
  font-size: 1.4rem;
}
.request-window .no-request.fundeal .title::before {
  background-image: url(../assets/images/common/icon_list.svg);
}
.request-window .daytab-contents {
  flex: 1 1 auto;
  max-height: calc(100% - 56px);
}

.request-window.on-dark .no-request {
  color: var(--Tokens-Foreground-secondary);
}
.request-window.on-dark .no-request .title::before {
  opacity: 0.33;
}

.climbers .request-window .request-window-header {
  border-bottom: none;
}
.climbers .request-window .daytab-contents {
  height: calc(100% - 120px);
}
.climbers .request-window .daytab-contents .no-request {
  height: 100%;
}
.climbers .request-window .request-list {
  height: 100%;
}

.order-list {
  position: absolute;
  top: 40px;
  right: 0;
  z-index: 1;
  width: 160px;
  padding: 8px;
  margin: 0;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-3);
  border-radius: 8px;
  background-color: #fff;
  box-shadow: var(--Elevation-5);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.2s, opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .order-list {
    position: fixed;
    top: unset;
    left: 8px;
    right: 8px;
    bottom: 24px;
    z-index: 100;
    width: unset;
    padding: 8px 2px;
    border: 1px solid var(--Neutral-color-Neutral-Alpha-3);
    border-radius: 12px;
    font-size: 16px;
    box-shadow: var(--Elevation-6);
  }
}
.order-list.open {
  visibility: visible;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .order-list li:not(:last-of-type) {
    padding-bottom: 8px;
    margin-bottom: 8px;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .order-list li:not(:last-of-type) {
    margin-bottom: 4px;
  }
}
@media screen and (min-width: 768px) {
  .order-list li:not(:last-of-type)::after {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    display: block;
    content: "";
    width: calc(100% - 24px);
    height: 1px;
    background: rgba(1, 1, 46, 0.13);
  }
}
.order-list li .btn-order {
  justify-content: flex-start;
  width: 100%;
  padding: 10px 12px;
  border-radius: 4px;
  font-size: 1.4rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .order-list li .btn-order {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 15px 12px;
    font-size: 16px;
  }
}
.order-list li .btn-order::before {
  content: none;
}
.order-list li .btn-order.selected {
  border-radius: 4px;
  background: #0947D7;
  color: #fff;
  cursor: unset;
}
.order-list li .btn-order.selected .tooltip-icon {
  filter: invert(100%);
}
@media screen and (max-width: 767px) {
  .order-list li .btn-order.selected .tooltip-contents {
    color: rgba(255, 255, 255, 0.62);
  }
}
.order-list li .btn-order .tooltip-icon {
  width: 20px;
  height: 20px;
  padding-top: 4px;
  margin-left: 2px;
}
@media screen and (max-width: 767px) {
  .order-list li .btn-order .tooltip-icon {
    display: none;
  }
}
.order-list li .btn-order .tooltip-icon img {
  width: 12px;
  height: 12px;
  opacity: 0.455;
}
.order-list li .btn-order .tooltip-contents {
  top: 21px;
  left: unset;
  right: -42px;
  width: 280px;
  padding: 3px 8px;
  border: none;
  border-radius: 4px;
  background: var(--Neutral-color-Neutral-12);
  color: var(--Neutral-color-Neutral-1);
}
@media screen and (max-width: 767px) {
  .order-list li .btn-order .tooltip-contents {
    position: unset;
    visibility: visible;
    opacity: 1;
    width: unset;
    padding: 0;
    border-radius: 0;
    background-color: unset;
    color: rgba(0, 7, 19, 0.62);
  }
}
.order-list li .btn-order .tooltip-contents p {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .order-list li .btn-order .tooltip-contents p {
    font-size: 14px;
  }
}

/* あなたのEightアカウント
====================================================*/
.account {
  margin: 32px auto;
}
.account .title {
  margin-bottom: 12px;
  color: var(--Accent-color-Accent-9);
  font-size: 1.8rem;
}
.account-data {
  margin-bottom: 32px;
  padding: 12px 20px;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  border-radius: 6px;
  background-color: #fff;
}
.account-data dt {
  margin-bottom: 8px;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.4rem;
  font-weight: 500;
}
.account-data dd {
  font-size: 1.6rem;
  font-weight: 700;
}
.account-data dd + dt {
  margin-top: 12px;
}

/* パス購入確認
====================================================*/
.entried-contents {
  text-align: center;
}
.entried-contents .title {
  margin: 0 0 20px;
  font-size: 1.8rem;
}
.entried-contents .event-lineup {
  display: flex;
  justify-content: center;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  .entried-contents .event-lineup {
    flex-wrap: wrap;
  }
}
.entried-contents .event-lineup .climbers-section {
  flex: 1 1 auto;
  max-width: 400px;
}
.entried-contents .event-lineup .climbers-section > .title {
  margin-bottom: 32px;
  padding: 2px 18px 0;
  color: var(--Tokens-Foreground-primary);
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: center;
  position: relative;
  z-index: 0;
}
.entried-contents .event-lineup .climbers-section > .title::before, .entried-contents .event-lineup .climbers-section > .title::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
}
.entried-contents .event-lineup .climbers-section > .title::before {
  background: #fff;
}
.entried-contents .event-lineup .climbers-section > .title::after {
  background: var(--grad-climbers);
  opacity: 0.3;
}
.entried-contents .event-lineup .climbers-section > .title span.notes {
  font-size: 2rem;
}
.entried-contents .event-lineup .climbers-section.paid .event-lineup-list li .status .status-label {
  font-size: 1.4rem;
}
.entried-contents .event-lineup .event-lineup-list li {
  display: flex;
  align-items: center;
  gap: 20px;
}
.entried-contents .event-lineup .event-lineup-list li .image {
  flex: 0 0 150px;
  aspect-ratio: 150/85;
  position: relative;
}
.entried-contents .event-lineup .event-lineup-list li .image img {
  border-radius: 4px;
}
.entried-contents .event-lineup .event-lineup-list li .image span.badge {
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.entried-contents .event-lineup .event-lineup-list li .status {
  flex: 1 1 auto;
}
.entried-contents .event-lineup .event-lineup-list li .status .status-label {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
}
.entried-contents .event-lineup .event-lineup-list li .status .btn {
  width: 120px;
  height: 32px;
  margin: 12px auto 0;
  font-size: 1.4rem;
}
.entried-contents .event-lineup .event-lineup-list li .status .btn.btn-basic-primary {
  gap: 12px;
}
.entried-contents .event-lineup .event-lineup-list li .status .btn.btn-basic-primary::after {
  display: block;
  content: "";
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
.entried-contents .event-lineup .event-lineup-list li:not(:last-of-type) {
  margin-bottom: 40px;
}

/* Eightアプリインストール
====================================================*/
@media screen and (min-width: 768px) {
  .install {
    margin-top: 60px;
  }
}
.install > a {
  display: block;
  text-decoration: none;
}
.install .title-wrap {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  gap: 29px;
  padding: 34px 65px 0 57px;
  border-radius: 8px;
  background: linear-gradient(237.36deg, #DEEBFE 24.38%, #F6FAFE 67.26%);
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .install .title-wrap {
    gap: 12.4px;
    padding: 12px 27px 0 25px;
    border-radius: 5.13px;
  }
}
.install .title-wrap::before, .install .title-wrap::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
}
.install .title-wrap::before {
  top: -47px;
  left: -71px;
  width: 43.8%;
  aspect-ratio: 27/28;
  background: url(../assets/images/guidebook/bg_eight_left.svg) center/100% no-repeat;
}
@media screen and (max-width: 767px) {
  .install .title-wrap::before {
    top: -22px;
    left: -30px;
  }
}
.install .title-wrap::after {
  right: 0;
  bottom: -40px;
  width: 37%;
  aspect-ratio: 287/259.66;
  background: url(../assets/images/guidebook/bg_eight_right.svg) center/100% no-repeat;
}
@media screen and (max-width: 767px) {
  .install .title-wrap::after {
    bottom: -16px;
  }
}
.install .title-wrap .title {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: center;
  margin-bottom: 30px;
  color: var(--Accent-color-Accent-9);
  font-size: 3.6rem;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .install .title-wrap .title {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .install .title-wrap .title {
    margin-bottom: 12px;
    font-size: clamp(1.55rem, 4vw, 4rem);
  }
}
.install .title-wrap .title::after {
  position: absolute;
}
.install .title-wrap .title .catch {
  display: inline-block;
  margin-bottom: 10px;
  padding: 8px 20px;
  border-radius: 4px;
  background: var(--Accent-color-Accent-9);
  color: #fff;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .install .title-wrap .title .catch {
    margin-bottom: 4px;
    padding: 4px 9px;
    border-radius: 2px;
    font-size: clamp(0.8rem, 2vw, 2.4rem);
    letter-spacing: 0.43px;
  }
}
.install .title-wrap .title span {
  display: block;
}
.install .title-wrap .image {
  width: 33%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .install .title-wrap .image {
    width: 33.8%;
  }
}
.install p {
  margin: 20px 0;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .install p {
    font-size: 18px;
  }
}

/* Eightアプリ立ち上げ確認
====================================================*/
.launch .attention {
  padding: 20px;
  background-color: var(--Neutral-color-Neutral-2);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .launch .attention {
    padding: 20px 12px;
  }
}
.launch .attention .title {
  display: inline-block;
  margin-bottom: 4px;
  color: var(--Semantic-colors-Error-9);
  font-size: 3.2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .launch .attention .title {
    margin-bottom: 10px;
    font-size: 20px;
  }
}
.launch .attention p {
  margin: 0;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .launch .attention p {
    font-size: 16px;
    text-align: left;
  }
}
.launch .btn-wrap {
  gap: 12px;
  margin: 16px auto;
}
@media screen and (max-width: 767px) {
  .launch .btn-wrap {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 32px 0;
    background-color: #fff;
  }
}
.launch .btn-wrap p {
  margin: 0;
  color: var(--Default-colors-Eight-Blue);
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .launch .btn-wrap p {
    display: none;
  }
}
.launch .btn-wrap .btn-agree {
  width: 144px;
  height: 48px;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .launch .btn-wrap .btn-agree {
    width: 350px;
  }
}

.launch-step-wrap {
  padding: 24px 20px 38px;
}
@media screen and (max-width: 767px) {
  .launch-step-wrap {
    width: 100%;
    padding: 20px 12px 132px;
  }
}

.launch-step {
  display: flex;
  justify-content: center;
  gap: 84px;
  width: calc(100% - 40px);
  margin: 0 auto;
  list-style: none;
  counter-reset: number 0;
}
@media screen and (max-width: 1231px) {
  .launch-step {
    width: 100%;
    gap: 16px;
  }
}
@media screen and (max-width: 767px) {
  .launch-step {
    flex-direction: column;
    gap: 24px;
  }
}
.launch-step li {
  max-width: 260px;
  flex: 0 0 calc((100% - 168px) / 3);
}
.launch-step li:not(:last-of-type) {
  position: relative;
}
.launch-step li:not(:last-of-type)::after {
  position: absolute;
  top: 143px;
  right: -60px;
  display: block;
  content: "";
  width: 28px;
  height: 95px;
  background-color: #95B7FC;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (max-width: 1231px) {
  .launch-step li {
    flex: 0 0 calc((100% - 32px) / 3);
  }
  .launch-step li:not(:last-of-type)::after {
    content: none;
  }
}
@media screen and (max-width: 767px) {
  .launch-step li {
    flex: 0 0 100%;
    width: 350px;
    max-width: unset;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .launch-step li:nth-of-type(1) .image-wrap {
    margin-bottom: 0;
    padding-bottom: 5px;
  }
}
.launch-step li:nth-of-type(1) .image-wrap .image {
  width: 69.3%;
  margin: -14px auto 0;
}
@media screen and (max-width: 767px) {
  .launch-step li:nth-of-type(1) .image-wrap .image {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .launch-step li:nth-of-type(1) p {
    display: none;
  }
}
.launch-step li:nth-of-type(2) {
  max-width: 280px;
}
@media screen and (max-width: 767px) {
  .launch-step li:nth-of-type(2) {
    max-width: 400px;
  }
}
.launch-step li .image-wrap {
  height: 380px;
  margin-bottom: 16px;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .launch-step li .image-wrap {
    height: auto;
  }
}
.launch-step li .image-wrap:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  opacity: 0.08;
  background: linear-gradient(144.09deg, #7AEAF9 0%, #549CF0 50%, #0C31E9 100%);
  border-radius: 24px;
}
.launch-step li .image-wrap .title {
  margin-bottom: 8px;
  padding: 10px 8px 10px 58px;
  color: var(--Default-colors-Eight-Blue);
  font-size: 1.8rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .launch-step li .image-wrap .title {
    margin-bottom: 12px;
    padding: 8px;
    text-align: center;
  }
}
.launch-step li .image-wrap .title:before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  content: "";
  width: 48px;
  height: 48px;
  background: var(--Default-colors-Eight-Blue);
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  border: 3px solid #fff;
  border-radius: 24px;
  counter-increment: number 1;
  content: counter(number);
}
.launch-step li .image-wrap .image {
  height: calc(100% - 50px);
  max-width: 100%;
  padding: 0 0 8px;
}
@media screen and (max-width: 1231px) {
  .launch-step li .image-wrap .image {
    padding: 0 15px 8px;
  }
}
@media screen and (max-width: 767px) {
  .launch-step li .image-wrap .image img {
    max-height: 322px;
  }
}
.launch-step li .image-wrap .btn-eight {
  display: none;
}
@media screen and (max-width: 767px) {
  .launch-step li .image-wrap .btn-eight {
    display: block;
  }
}
.launch-step li p {
  margin: 0;
  color: var(--Tokens-Foreground-primary);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
}
.launch-step li p.your-adress {
  margin: 12px 0;
  padding: 4px;
  border-radius: 4px;
  background: var(--Neutral-color-Neutral-3);
  color: var(--Default-colors-Eight-Blue);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.428;
  text-align: center;
  word-break: break-all;
}
.launch-step li p.caution {
  padding-left: 24px;
  color: var(--Semantic-colors-Error-Alpha-11);
  font-size: 1.4rem;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 767px) {
  .launch-step li p.caution {
    margin-bottom: 15px;
  }
}
.launch-step li p.caution::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  background: url(../assets/images/common/icon_alert.svg) center/contain no-repeat;
}
.launch-step li p.notes {
  margin-top: 12px;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.2rem;
  font-weight: 500;
}
.launch-step li p.notes a {
  color: var(--Accent-color-Accent-Alpha-11);
}
.launch-step li p a {
  color: var(--text-primary);
}
.launch-step li .image-wrap + p {
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .launch-step li .btn-eight {
    width: 240px;
    height: 36px;
    margin: 12px auto;
  }
}
@media screen and (max-width: 767px) {
  .launch-step li .btn-eight a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    border-radius: 18px;
    background-color: var(--Default-colors-Eight-Blue);
    color: #fff;
    font-size: 14px;
    box-shadow: 0 6px 12px rgba(25, 42, 88, 0.12);
    text-decoration: none;
  }
}

.modal .launch {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 900px;
  height: 720px;
  max-height: calc(100vh - 80px);
  max-height: calc(100dvh - 80px);
  border: 1px solid var(--Neutral-color-Neutral-Alpha-3);
  border-radius: 12px;
  background-color: #fff;
  box-shadow: 0px 24px 32px -16px rgba(25, 42, 88, 0.28);
}
@media screen and (max-width: 767px) {
  .modal .launch {
    top: 60px;
    transform: translateX(-50%);
    width: 100%;
    height: calc(100vh - 60px);
    height: calc(100dvh - 60px);
    border-radius: 12px 12px 0 0;
  }
}
.modal .btn-launch-close {
  position: absolute;
  top: 24px;
  right: 24px;
  cursor: pointer;
}
.modal .btn-launch-close img {
  width: 20px;
  height: 20px;
}
.modal .launch-step {
  gap: 36px;
  width: 100%;
}
.modal .launch-step li {
  flex: 0 0 calc((100% - 72px) / 3);
}
@media screen and (min-width: 1232px) {
  .modal .launch-step li:not(:last-of-type)::after {
    right: -35px;
  }
}
@media screen and (max-width: 1231px) {
  .modal .launch-step li:not(:last-of-type)::after {
    right: -38px;
    content: "";
  }
}
@media screen and (max-width: 767px) {
  .modal .launch-step li:not(:last-of-type)::after {
    content: none;
  }
}
.modal .launch-step li .image-wrap::before {
  border-radius: 18px;
}
@media screen and (min-width: 768px) {
  .modal .launch-step li .image-wrap {
    height: 285px;
    margin-right: 33px;
    margin-left: 33px;
  }
}
.modal .launch-step li .image-wrap .title {
  padding: 7px 8px 7px 45px;
  font-size: 1.35rem;
}
.modal .launch-step li .image-wrap .title::before {
  width: 36px;
  height: 36px;
  font-size: 1.8rem;
}
.modal .launch-step li .image-wrap .image {
  padding-bottom: 0;
}
.modal .launch-step li:nth-of-type(1) .image-wrap .image {
  width: 70% !important;
}
.modal .launch-step li:nth-of-type(2) .image-wrap .image {
  width: 100% !important;
}
.modal .launch-step li:nth-of-type(3) .image-wrap .image {
  width: 100%;
}

/* Footer
====================================================*/
.footer-entry {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 48px 120px;
  background: var(--Neutral-color-Neutral-1);
  color: #fff;
  font-size: 1.6rem;
}
@media screen and (max-width: 1080px) {
  .footer-entry {
    padding: 48px 40px;
  }
}
@media screen and (max-width: 767px) {
  .footer-entry {
    flex-direction: column;
    padding: 40px;
  }
}
.footer-entry .logo {
  width: auto;
  height: 102px;
  position: relative;
  left: 0;
}
@media screen and (max-width: 767px) {
  .footer-entry .logo {
    height: 80px;
    margin-bottom: 32px;
  }
}
.footer-entry .logo img {
  width: auto;
  height: 100%;
}
.footer-entry a {
  color: #fff;
}
.footer-entry .menu-sub {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .footer-entry .menu-sub {
    font-size: 14px;
  }
}
.footer-entry .menu-sub p.copyright {
  margin: 12px 0 0;
}
@media screen and (max-width: 767px) {
  .footer-entry .menu-sub p.copyright {
    margin: 15px 0 0;
  }
}

.climbers .footer-entry {
  justify-content: center;
  padding: 32px 40px 40px;
}
@media screen and (min-width: 768px) {
  .climbers .footer-entry {
    padding: 20px 264px;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .climbers .footer-entry {
    gap: 20px;
  }
}
.climbers .footer-entry p.copyright {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .climbers .footer-entry p.copyright {
    font-size: 15px;
  }
}
.climbers .footer-entry .menu-sub {
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .climbers .footer-entry .menu-sub {
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 767px) {
  .climbers .footer-entry .menu-sub {
    font-size: 12px;
  }
}

/* Loading
====================================================*/
.loading {
  position: fixed;
  inset: 0;
  z-index: 899;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.loading .loading-message {
  text-align: center;
}
.loading .loading-message p {
  margin: 0 0 20px;
  color: var(--Accent-color-Accent-11);
  font-size: 2rem;
  font-weight: 700;
}

progress {
  width: 240px;
  height: 8px;
  border-radius: 4px;
  -webkit-appearance: none;
}
progress::-webkit-progress-bar {
  border-radius: 4px;
  background: var(--Neutral-color-Neutral-Alpha-3);
}
progress::-webkit-progress-value {
  border-radius: 4px;
  background: linear-gradient(115.33deg, #7AEAF9 16.06%, #549CF0 50%, #0C31E9 83.94%);
  box-shadow: 0px 1px 12px 0px rgba(78, 188, 250, 0.2784313725), 0px 0px 2px 0.5px rgba(175, 225, 253, 0.6392156863);
}
progress::-moz-progress-bar {
  border-radius: 4px;
  background: linear-gradient(115.33deg, #7AEAF9 16.06%, #549CF0 50%, #0C31E9 83.94%);
}
progress::-ms-fill {
  border-radius: 4px;
  background: linear-gradient(115.33deg, #7AEAF9 16.06%, #549CF0 50%, #0C31E9 83.94%);
}

.float {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  width: 100%;
  height: 160px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
}
@media screen and (max-width: 767px) {
  .float {
    z-index: 10000;
  }
}
.float .aibot-message {
  position: fixed;
  left: 60px;
  right: 124px;
  bottom: 20px;
  height: 120px;
  padding: 12px 130px;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-3);
  border-radius: 12px;
  background-color: #fff;
  box-shadow: 0px 24px 32px -16px rgba(25, 42, 88, 0.28);
}
@media screen and (min-width: 768px) {
  .float .aibot-message {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (max-width: 1231px) {
  .float .aibot-message {
    justify-content: flex-start;
    padding: 12px;
  }
}
@media screen and (max-width: 767px) {
  .float .aibot-message {
    left: 12px;
    right: 100px;
    padding: 12px;
  }
}
.float .aibot-message.prepare {
  padding: 12px 180px;
}
@media screen and (max-width: 1231px) {
  .float .aibot-message.prepare {
    height: auto;
    padding: 12px;
  }
}
.float .aibot-message.prepare p {
  color: var(--Tokens-Foreground-secondary);
}
@media screen and (max-width: 767px) {
  .float .aibot-message.prepare p {
    font-size: 16px;
  }
}
.float .aibot-message.prepare a {
  color: var(--Semantic-colors-Error-Alpha-11);
}
.float .aibot-message.prepare a::after {
  border-color: var(--Semantic-colors-Error-Alpha-11);
}
@media screen and (max-width: 767px) {
  .float .aibot-message.prepare a {
    margin: 13px auto 15px;
    width: 175px;
  }
}
@media screen and (max-width: 767px) {
  .float .aibot-message.prepare {
    left: 20px;
    right: 20px;
    height: auto;
    padding: 16px 15px 14px;
  }
}
@media screen and (min-width: 768px) {
  .float .aibot-message.prepare .aibot {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .float .aibot-message.prepare .aibot {
    position: unset;
    margin: 0 auto;
    width: 72px;
    height: 72px;
  }
}
.float .aibot-message p {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .float .aibot-message p {
    font-size: 15px;
    text-align: left;
  }
}
.float .aibot-message a {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: inline-block;
  padding: 4px 36px 4px 12px;
  color: var(--Accent-color-Accent-Alpha-11);
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
}
@media screen and (max-width: 1231px) {
  .float .aibot-message a {
    position: relative;
    right: unset;
    bottom: unset;
    margin: 20px 0 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .float .aibot-message a {
    position: relative;
    display: block;
    width: 118px;
    margin: 2px 0 0 auto;
  }
}
.float .aibot-message a::after {
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translateY(-50%) rotate(45deg);
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1.5px solid var(--Accent-color-Accent-Alpha-11);
  border-right: 1.5px solid var(--Accent-color-Accent-Alpha-11);
}
.float .aibot {
  position: fixed;
  right: 2px;
  bottom: 12px;
  width: 120px;
  height: 100px;
}
@media screen and (max-width: 767px) {
  .float .aibot {
    width: 96px;
    height: 80px;
  }
}

/* パーツのスタイルを定義 */
/* 目次
====================================================
1. Badge
2. Button
3. Card
4. Form
5. Scroll Area
6. Tabs
7. Toast
8. Tooltip
9. Other
====================================================*/
/* 1. Badge
====================================================*/
/* サイズ指定

S size：.sm
M size：.md
L size: .lg ※デフォルトサイズのため指定不要
*/
/* Base Style */
.badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 4px;
  background-color: var(--Accent-color-Accent-12);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.43;
}
.badge.sm {
  padding: 2px 6px;
  font-size: 1.2rem;
  line-height: 1.33;
}
.badge.md {
  padding: 4px 8px;
  font-size: 1.2rem;
  line-height: 1.33;
}
.badge-warm-primary, .badge-warm-secondary, .badge-warm-tertiary, .badge-warm-quaternary {
  background: var(--grad-warm);
  color: #fff;
}
.badge-warm-secondary span, .badge-warm-tertiary span, .badge-warm-quaternary span {
  position: relative;
  z-index: 0;
  background: var(--grad-warm);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.badge-warm-tertiary, .badge-warm-quaternary {
  position: relative;
}
.badge-warm-tertiary::before, .badge-warm-quaternary::before {
  position: absolute;
  inset: 1px;
  z-index: 0;
  display: block;
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 3px;
  background: var(--Tokens-Background-panel);
}
.badge-warm-primary span {
  color: #fff;
}
.badge-warm-secondary {
  background: linear-gradient(168.59deg, rgba(255, 204, 93, 0.1) -14.04%, rgba(249, 82, 116, 0.1) 49.58%, rgba(251, 13, 132, 0.1) 113.21%);
}
.badge-warm-quaternary::before {
  opacity: 0.9;
}

.badge-mix-primary, .badge-mix-secondary, .badge-mix-tertiary, .badge-mix-quaternary {
  background: var(--grad-mix);
  color: #fff;
}
.badge-mix-secondary span, .badge-mix-tertiary span, .badge-mix-quaternary span {
  position: relative;
  z-index: 0;
  background: var(--grad-mix);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.badge-mix-tertiary, .badge-mix-quaternary {
  position: relative;
}
.badge-mix-tertiary::before, .badge-mix-quaternary::before {
  position: absolute;
  inset: 1px;
  z-index: 0;
  display: block;
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 3px;
  background: var(--Tokens-Background-panel);
}
.badge-mix-primary span {
  color: #fff;
}
.badge-mix-secondary {
  background: linear-gradient(168.59deg, rgba(255, 204, 93, 0.1) -14.04%, rgba(249, 82, 116, 0.1) 49.58%, rgba(251, 13, 132, 0.1) 113.21%);
  background: linear-gradient(90.01deg, rgba(255, 173, 95, 0.1) 0.01%, rgba(255, 122, 153, 0.1) 34%, rgba(88, 118, 255, 0.1) 67%, rgba(94, 219, 202, 0.1) 99.99%);
}
.badge-mix-quaternary::before {
  opacity: 0.9;
}

.badge-c-primary, .badge-c-secondary, .badge-c-tertiary, .badge-c-quaternary {
  background: var(--grad-climbers);
  color: #fff;
}
.badge-c-secondary span, .badge-c-tertiary span, .badge-c-quaternary span {
  position: relative;
  z-index: 0;
  background: var(--grad-climbers);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.badge-c-tertiary, .badge-c-quaternary {
  position: relative;
}
.badge-c-tertiary::before, .badge-c-quaternary::before {
  position: absolute;
  inset: 1px;
  z-index: 0;
  display: block;
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 3px;
  background: var(--Tokens-Background-panel);
}
.badge-c-primary span {
  color: #fff;
}
.badge-c-secondary {
  background: linear-gradient(168.59deg, rgba(255, 204, 93, 0.1) -14.04%, rgba(249, 82, 116, 0.1) 49.58%, rgba(251, 13, 132, 0.1) 113.21%);
  background: linear-gradient(95deg, rgba(255, 145, 0, 0.1) 6.44%, rgba(255, 0, 170, 0.1) 27.92%, rgba(157, 0, 206, 0.1) 49.39%, rgba(90, 0, 252, 0.1) 70.87%, rgba(0, 183, 236, 0.1) 92.35%);
}
.badge-c-quaternary::before {
  opacity: 0.9;
}

.badge-basic-primary {
  background: var(--Accent-color-Accent-9);
}
.badge-basic-secondary, .badge-basic-tertiary, .badge-basic-quaternary {
  color: var(--Accent-color-Accent-11);
}
.badge-basic-secondary, .badge-basic-quaternary {
  background: var(--Accent-color-Accent-Alpha-3);
}
.badge-basic-tertiary, .badge-basic-quaternary {
  border: 1px solid var(--Accent-color-Accent-Alpha-8);
}
.badge-basic-tertiary {
  background: var(--Tokens-Background-panel);
}
.badge-basic-quaternary {
  background: rgba(5, 77, 255, 0.03);
}
.badge-basic-dark-primary {
  background: var(--Accent-color-Accent-12);
}
.badge-basic-dark-secondary, .badge-basic-dark-tertiary, .badge-basic-dark-quaternary {
  color: var(--Accent-color-Accent-12);
}
.badge-basic-dark-secondary, .badge-basic-dark-quaternary {
  background: var(--Accent-color-Accent-Alpha-3);
}
.badge-basic-dark-tertiary {
  border: 1px solid var(--Accent-color-Accent-Alpha-11);
  background: var(--Tokens-Background-panel);
}
.badge-basic-dark-quaternary {
  border: 1px solid var(--Accent-color-Accent-Alpha-7);
  background: rgba(5, 77, 255, 0.03);
}

.badge-neutral-primary {
  background: var(--Neutral-color-Neutral-9);
}
.badge-neutral-secondary, .badge-neutral-tertiary, .badge-neutral-quaternary {
  color: var(--Neutral-color-Neutral-11);
}
.badge-neutral-secondary, .badge-neutral-quaternary {
  background: var(--Neutral-color-Neutral-Alpha-3);
}
.badge-neutral-tertiary, .badge-neutral-quaternary {
  border: 1px solid var(--Neutral-color-Neutral-Alpha-8);
}
.badge-neutral-tertiary {
  background: var(--Tokens-Background-panel);
}
.badge-neutral-dark-primary {
  background: var(--Neutral-color-Neutral-12);
}
.badge-neutral-dark-secondary, .badge-neutral-dark-tertiary, .badge-neutral-dark-quaternary {
  color: var(--Neutral-color-Neutral-12);
}
.badge-neutral-dark-secondary, .badge-neutral-dark-quaternary {
  background: var(--Neutral-color-Neutral-Alpha-3);
}
.badge-neutral-dark-tertiary {
  border: 1px solid var(--Neutral-color-Neutral-Alpha-11);
  background: var(--Tokens-Background-panel);
}
.badge-neutral-dark-quaternary {
  border: 1px solid var(--Neutral-color-Neutral-Alpha-7);
}

.badge-success-primary {
  background: var(--Semantic-colors-Success-9);
}
.badge-success-secondary, .badge-success-tertiary, .badge-success-quaternary {
  color: var(--Semantic-colors-Success-11);
}
.badge-success-secondary, .badge-success-quaternary {
  background: var(--Semantic-colors-Success-Alpha-3);
}
.badge-success-tertiary, .badge-success-quaternary {
  border: 1px solid var(--Semantic-colors-Success-Alpha-8);
}
.badge-success-tertiary {
  background: var(--Tokens-Background-panel);
}
.badge-success-dark-primary {
  background: var(--Semantic-colors-Success-12);
}
.badge-success-dark-secondary, .badge-success-dark-tertiary, .badge-success-dark-quaternary {
  color: var(--Semantic-colors-Success-12);
}
.badge-success-dark-secondary, .badge-success-dark-quaternary {
  background: var(--Semantic-colors-Success-Alpha-3);
}
.badge-success-dark-tertiary {
  border: 1px solid var(--Semantic-colors-Success-Alpha-11);
  background: var(--Tokens-Background-panel);
}
.badge-success-dark-quaternary {
  border: 1px solid var(--Semantic-colors-Success-Alpha-7);
}

.badge-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

span.kind {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.33;
  white-space: nowrap;
}
span.kind.startup {
  background: rgba(245, 43, 0, 0.09);
  color: rgba(205, 34, 0, 0.92);
}
span.kind.vc {
  background: rgba(255, 227, 1, 0.22);
  color: rgb(119, 95, 40);
}
span.kind.cvc {
  background: rgba(2, 192, 150, 0.09);
  color: rgb(6, 122, 111);
}
span.kind.enterprise {
  background: rgba(2, 128, 255, 0.07);
  color: rgb(11, 104, 203);
}
span.kind.other {
  background: rgba(146, 0, 237, 0.05);
  color: rgb(121, 58, 175);
}

/* 2. Button
====================================================*/
/* Base Style */
button:disabled,
a.btn.disabled {
  background: var(--Neutral-color-Neutral-Alpha-3);
  color: var(--Neutral-color-Neutral-Alpha-8);
  box-shadow: none;
  pointer-events: none;
  cursor: unset;
}
button:disabled::before,
a.btn.disabled::before {
  content: none;
}
button:disabled::after,
a.btn.disabled::after {
  opacity: 0.33;
}

.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  background-color: unset;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: border 0.2s, background-color 0.2s, color 0.2s;
  position: relative;
  z-index: 0;
}
.btn::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 40px;
  background-color: rgba(255, 255, 255, 0);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.2s, opacity 0.2s, background-color 0.2s;
}
.btn:hover::before {
  visibility: visible;
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.2);
}
.btn:active::before {
  visibility: visible;
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.08);
}
.btn span {
  position: relative;
  z-index: 1;
}
.btn.sm {
  font-size: 1.4rem;
}
.btn.md {
  font-size: 1.6rem;
}

/* Climbers */
.btn-c-primary {
  width: 480px;
  height: 80px;
  border-radius: 40px;
  background: linear-gradient(105deg, #FF9100 6.44%, #FF00AA 27.92%, #9D00CE 49.39%, #5A00FC 70.87%, #00B7EC 92.35%);
  color: #fff;
  font-size: 2rem;
  box-shadow: var(--Elevation-3);
}
@media screen and (max-width: 767px) {
  .btn-c-primary {
    width: 335px;
    height: 60px;
  }
}
.btn-c-primary::before {
  border-radius: 40px;
}

.btn-c-secondary {
  width: 480px;
  height: 80px;
  border-radius: 40px;
  background: linear-gradient(105deg, #FF9100 6.44%, #FF00AA 27.92%, #9D00CE 49.39%, #5A00FC 70.87%, #00B7EC 92.35%);
  color: #fff;
  font-size: 2rem;
  box-shadow: var(--Elevation-3);
}
@media screen and (max-width: 767px) {
  .btn-c-secondary {
    width: 335px;
    height: 60px;
  }
}
.btn-c-secondary::before {
  content: none;
}
.btn-c-secondary::after {
  position: absolute;
  inset: 2px;
  z-index: -1;
  display: block;
  content: "";
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border-radius: 40px;
  background: #fff;
  transition: opacity 0.2s;
}
.btn-c-secondary:hover::after, .btn-c-secondary:active::after {
  opacity: 0.95;
}
.btn-c-secondary span {
  display: inline-block;
  background: linear-gradient(105deg, #FF9100 6.44%, #FF00AA 27.92%, #9D00CE 49.39%, #5A00FC 70.87%, #00B7EC 92.35%);
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent;
}
.btn-c-secondary.sm::after, .btn-c-secondary.md::after {
  inset: 1px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
}

/* Eight EXPO */
.btn-ee-primary {
  width: 480px;
  height: 80px;
  border-radius: 40px;
  background: var(--grad-expo);
  color: #fff;
  font-size: 2rem;
  box-shadow: var(--Elevation-3);
}
@media screen and (max-width: 767px) {
  .btn-ee-primary {
    width: 335px;
    height: 60px;
  }
}
.btn-ee-primary::before {
  border-radius: 40px;
}

.btn-ee-secondary {
  width: 480px;
  height: 80px;
  border-radius: 40px;
  background: var(--grad-expo);
  color: #fff;
  font-size: 2rem;
  box-shadow: var(--Elevation-3);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .btn-ee-secondary {
    width: 335px;
    height: 60px;
  }
}
.btn-ee-secondary::after {
  position: absolute;
  inset: 2px;
  z-index: -1;
  display: block;
  content: "";
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border-radius: 40px;
  background: #fff;
}
.btn-ee-secondary span {
  display: inline-block;
  background: var(--grad-expo);
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent;
}
.btn-ee-secondary.sm::after, .btn-ee-secondary.md::after {
  inset: 1px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
}

/* Basic */
.btn-basic-primary {
  width: 200px;
  height: 60px;
  border-radius: 30px;
  background-color: var(--Accent-color-Accent-9);
  color: #fff;
}

.btn-basic-secondary {
  width: 200px;
  height: 60px;
  border-radius: 30px;
  border: 2px solid var(--Accent-color-Accent-Alpha-8);
  background-color: #fff;
  color: var(--Accent-color-Accent-Alpha-11);
}
.btn-basic-secondary:hover::before {
  background: var(--Accent-color-Accent-Alpha-2);
}
.btn-basic-secondary:active::before {
  background: var(--Accent-color-Accent-Alpha-3);
}
.btn-basic-secondary:disabled, .btn-basic-secondary.disabled {
  border-color: var(--Neutral-color-Neutral-Alpha-7);
  background-color: #fff;
}
.btn-basic-secondary.sm, .btn-basic-secondary.md {
  border-width: 1px;
}

/* Neutral */
.btn-neutral-primary {
  width: 200px;
  height: 60px;
  border-radius: 30px;
  background-color: var(--Neutral-color-Neutral-9);
  color: #fff;
}

.btn-neutral-secondary {
  width: 200px;
  height: 60px;
  border-radius: 30px;
  border: 2px solid var(--Neutral-color-Neutral-Alpha-8);
  background-color: #fff;
  color: var(--Neutral-color-Neutral-Alpha-11);
}
.btn-neutral-secondary:hover::before {
  background: var(--Neutral-color-Neutral-Alpha-2);
}
.btn-neutral-secondary:active::before {
  background: var(--Neutral-color-Neutral-Alpha-3);
}
.btn-neutral-secondary.sm, .btn-neutral-secondary.md {
  border-width: 1px;
}

/* Alert */
.btn-alert-primary {
  width: 200px;
  height: 60px;
  border-radius: 30px;
  background-color: var(--Semantic-colors-Error-9);
  color: #fff;
}

.btn-alert-secondary {
  width: 200px;
  height: 60px;
  border-radius: 30px;
  border: 2px solid var(--Semantic-colors-Error-Alpha-8);
  background-color: #fff;
  color: var(--Neutral-color-Neutral-Alpha-11);
}
.btn-alert-secondary:hover::before {
  background: var(--Semantic-colors-Error-Alpha-2);
}
.btn-alert-secondary:active::before {
  background: var(--Semantic-colors-Error-Alpha-3);
}
.btn-alert-secondary.sm, .btn-alert-secondary.md {
  border-width: 1px;
}

/* Link *a要素に付与想定 */
.link-btnsub {
  display: block;
  padding: 5.5px;
  color: var(--Tokens-Foreground-primary);
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
}

/* 3. Card
====================================================*/
/* Color */
.stage-a {
  --stage-color: var(--Colors-Purple-9);
  --stage-label-color: var(--Colors-Purple-Alpha-11);
  --stage-time-color: var(--Colors-Purple-11);
  --stage-border-color: var(--Colors-Purple-Alpha-7);
  --stage-hover-color: var(--Colors-Purple-5);
  --stage-bg-color: var(--Colors-Purple-Alpha-3);
  --stage-text-color: var(--Tokens-Foreground-contrast-white);
}

.stage-b {
  --stage-color: var(--Colors-Blue-9);
  --stage-label-color: var(--Colors-Blue-Alpha-11);
  --stage-time-color: var(--Colors-Blue-11);
  --stage-border-color: var(--Colors-Blue-Alpha-7);
  --stage-hover-color: var(--Colors-Blue-5);
  --stage-bg-color: var(--Colors-Blue-Alpha-3);
  --stage-text-color: var(--Tokens-Foreground-contrast-white);
}

.stage-c {
  --stage-color: var(--Colors-Teal-9);
  --stage-label-color: var(--Colors-Teal-Alpha-11);
  --stage-time-color: var(--Colors-Teal-11);
  --stage-border-color: var(--Colors-Teal-Alpha-7);
  --stage-hover-color: var(--Colors-Teal-5);
  --stage-bg-color: var(--Colors-Teal-Alpha-3);
  --stage-text-color: var(--Tokens-Foreground-contrast-white);
}

.stage-d {
  --stage-color: var(--Colors-Lime-9);
  --stage-label-color: var(--Colors-Lime-Alpha-11);
  --stage-time-color: var(--Colors-Lime-11);
  --stage-border-color: var(--Colors-Lime-Alpha-7);
  --stage-hover-color: var(--Colors-Lime-5);
  --stage-bg-color: var(--Colors-Lime-Alpha-3);
  --stage-text-color: var(--Tokens-Foreground-contrast-black);
}

.stage-e {
  --stage-color: var(--Colors-Yellow-9);
  --stage-label-color: var(--Colors-Yellow-Alpha-11);
  --stage-time-color: var(--Colors-Yellow-11);
  --stage-border-color: var(--Colors-Yellow-Alpha-7);
  --stage-hover-color: var(--Colors-Yellow-5);
  --stage-bg-color: var(--Colors-Yellow-Alpha-3);
  --stage-text-color: var(--Tokens-Foreground-contrast-black);
}

.stage-f {
  --stage-color: var(--Colors-Crimson-9);
  --stage-label-color: var(--Colors-Crimson-Alpha-11);
  --stage-time-color: var(--Colors-Crimson-11);
  --stage-border-color: var(--Colors-Crimson-Alpha-7);
  --stage-hover-color: var(--Colors-Crimson-5);
  --stage-bg-color: var(--Colors-Crimson-Alpha-3);
  --stage-text-color: var(--Tokens-Foreground-contrast-white);
}

.climbers .stage-a {
  --stage-color: rgba(255, 145, 0, 1);
  --stage-label-color: rgba(255, 145, 0, 1);
  --stage-time-color: var(--Colors-Yellow-11);
  --stage-hover-color: rgba(255, 145, 0, 0.17);
  --stage-border-color: rgba(255, 145, 0, 1);
  --stage-bg-color: rgba(255, 145, 0, 1);
  --stage-text-color: var(--Tokens-Foreground-contrast-white);
}
.climbers .stage-b {
  --stage-color: rgba(255, 76, 159, 1);
  --stage-label-color: rgba(255, 76, 159, 1);
  --stage-time-color: var(--Colors-Purple-Alpha-11);
  --stage-hover-color: rgba(255, 76, 159, 0.17);
  --stage-border-color: rgba(255, 76, 159, 1);
  --stage-bg-color: rgba(255, 76, 159, 1);
  --stage-text-color: var(--Tokens-Foreground-contrast-white);
}
.climbers .stage-c {
  --stage-color: rgba(192, 52, 211, 1);
  --stage-label-color: rgba(192, 52, 211, 1);
  --stage-time-color: var(--Colors-Crimson-11);
  --stage-hover-color: rgba(192, 52, 211, 0.17);
  --stage-border-color: rgba(192, 52, 211, 1);
  --stage-bg-color: rgba(192, 52, 211, 1);
  --stage-text-color: var(--Tokens-Foreground-contrast-white);
}
.climbers .stage-d {
  --stage-color: rgba(127, 52, 251, 1);
  --stage-label-color: rgba(127, 52, 251, 1);
  --stage-time-color: var(--Colors-Blue-Alpha-11);
  --stage-hover-color: rgba(127, 52, 251, 0.17);
  --stage-border-color: rgba(127, 52, 251, 1);
  --stage-bg-color: rgba(127, 52, 251, 1);
  --stage-text-color: var(--Tokens-Foreground-contrast-white);
}
.climbers .stage-e {
  --stage-color: rgba(71, 159, 244, 1);
  --stage-label-color: rgba(71, 159, 244, 1);
  --stage-time-color: var(--Colors-Blue-Alpha-11);
  --stage-hover-color: rgba(71, 159, 244, 0.17);
  --stage-border-color: rgba(71, 159, 244, 1);
  --stage-bg-color: rgba(71, 159, 244, 1);
  --stage-text-color: var(--Tokens-Foreground-contrast-white);
}
.climbers .stage-x,
.climbers .stage-y {
  --stage-color: var(--Gold-Llane);
  --stage-label-color: var(--FUNDeal-Black);
  --stage-time-color: var(--Colors-Lime-11);
  --stage-hover-color: rgba(242, 204, 108, 0.17);
  --stage-border-color: var(--Gold-Llane);
  --stage-bg-color: var(--Gold-Llane);
  --stage-text-color: var(--FUNDeal-Black);
}

.climbers_2025 .stage-a,
.climbers_2025 .stage-b,
.climbers_2025 .stage-c,
.climbers_2025 .stage-x,
.climbers_2025 .stage-y,
.climbers_2025 .stage-z,
.climbers_2025 .stage-booth {
  --stage-label-color: var(--stage-color);
  --stage-time-color: var(--stage-color);
  --stage-border-color: var(--stage-color);
  --stage-text-color: var(--Tokens-Foreground-contrast-white);
}
.climbers_2025 .stage-a {
  --stage-color: rgba(250, 98, 92, 1);
  --stage-time-color: var(--stage-color);
  --stage-hover-color: rgba(250, 98, 92, 0.17);
  --stage-bg-color: rgba(250, 98, 92, 0.05);
}
.climbers_2025 .stage-x {
  --stage-color: rgba(255, 147, 0, 1);
  --stage-hover-color: rgba(255, 147, 0, 0.17);
  --stage-bg-color: rgba(255, 147, 0, 0.05);
}
.climbers_2025 .stage-y {
  --stage-color: rgba(236, 0, 238, 1);
  --stage-hover-color: rgba(236, 0, 238, 0.17);
  --stage-bg-color: rgba(236, 0, 238, 0.05);
}
.climbers_2025 .stage-z {
  --stage-color: rgba(0, 148, 255, 1);
  --stage-hover-color: rgba(0, 148, 255, 0.17);
  --stage-bg-color: rgba(0, 148, 255, 0.05);
}
.climbers_2025 .stage-booth {
  --stage-color: rgba(0, 197, 107, 1);
  --stage-hover-color: rgba(0, 197, 107, 0.17);
  --stage-bg-color: rgba(0, 197, 107, 0.05);
}
.climbers_2025 .stage-b {
  --stage-color: rgba(226, 197, 118, 1);
  --stage-time-color: rgba(71, 72, 72, 1);
  --stage-hover-color: rgba(226, 197, 118, 0.17);
  --stage-bg-color: rgba(226, 197, 118, 0.05);
  --stage-text-color: rgba(71, 72, 72, 1);
}
.climbers_2025 .stage-c {
  --stage-color: rgba(99, 192, 171, 1);
  --stage-hover-color: rgba(99, 192, 171, 0.17);
  --stage-bg-color: rgba(99, 192, 171, 0.05);
}

/* Common Parts */
.stage-number {
  display: inline-block;
  background-color: var(--Tokens-Background-surface);
  color: var(--stage-label-color);
  padding: 2px 6px;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3;
  border-radius: 4px;
}

.speaker-info {
  margin: 0;
}
.speaker-info .company,
.speaker-info .post {
  display: block;
  margin: 0 0 4px;
}
.speaker-info .name {
  display: block;
  font-size: 1.2rem;
}

.card-seminar,
.card-timetable {
  position: relative;
  z-index: 0;
  cursor: pointer;
}
.card-seminar::before,
.card-timetable::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid var(--stage-border-color);
  border-radius: 12px;
  transition: border-width 0.05s ease-in-out;
}
.card-seminar:hover::before,
.card-timetable:hover::before {
  border-width: 2px;
}

/* Card Seminar */
.card-seminar {
  max-width: 440px;
  display: flex;
  gap: 16px;
  padding: 36px 16px 22px;
  border-radius: 12px;
  background-color: #fff;
  color: var(--Tokens-Foreground-primary);
  text-decoration: none;
  position: relative;
  box-shadow: var(--Elevation-3);
  transition: box-shadow 0.2s;
}
.card-seminar:hover {
  box-shadow: var(--Elevation-4);
}
.card-seminar .card-header {
  position: absolute;
  top: 1px;
  left: 1px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 12px;
  border-radius: 10px 0 12px 0;
  background-color: var(--stage-color);
}
.card-seminar .card-header .stage {
  display: inline-block;
  color: var(--stage-text-color);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
}
.card-seminar .image {
  flex: 0 0 80px;
  height: 80px;
  margin-top: 23px;
}
@media screen and (max-width: 767px) {
  .card-seminar .image {
    flex: 0 0 56px;
    height: 56px;
  }
}
.card-seminar .image img {
  border: 2px solid var(--stage-color);
}
.card-seminar .credit {
  margin: 5px 0 0;
  color: var(--Tokens-Background-overlay);
  font-size: 1rem;
}
.card-seminar .card-info {
  flex: 1 1 auto;
}
.card-seminar .card-info p.time {
  margin: 0 0 2px;
  color: var(--stage-time-color);
  font-size: 1.4rem;
  font-weight: 500;
}
.card-seminar .card-info .title {
  margin: 0;
  font-size: 1.8rem;
}
.card-seminar .card-info .speaker-info {
  margin: 9px 0 0;
}

/* Card Timetable */
.card-timetable {
  border-radius: 12px;
  background-color: #fff;
  color: var(--Tokens-Foreground-primary);
  box-shadow: var(--Elevation-3);
}
.card-timetable::before {
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  border: 0 solid var(--stage-border-color);
}
.card-timetable:hover .card-contents {
  height: calc(100% - 34px);
}
.card-timetable a {
  display: block;
  width: 100%;
  height: 100%;
  color: var(--Tokens-Foreground-primary);
  text-decoration: none;
}
.card-timetable a[target=_blank] .title::after {
  display: inline-block;
  content: "";
  width: 24px;
  height: 24px;
  margin-top: -10px;
  background: url(../assets/images/common/icon_external_black.svg) center/100% no-repeat;
  position: relative;
  top: 5px;
}
.card-timetable a[target=_blank] .title.no-icon::after {
  display: none;
}
.card-timetable a[target=_blank] .title + .title {
  margin-top: 20px;
}
.card-timetable .card-header {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 32px;
  padding: 6px 62px 6px 16px;
  border-radius: 12px 12px 0 0;
  background-color: var(--stage-color);
  color: var(--stage-text-color);
  position: relative;
}
.card-timetable .card-header .time {
  font-size: 1.6rem;
  line-height: 1;
}
.card-timetable .card-header .reserved {
  position: absolute;
  top: 10px;
  right: 24px;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
}
.card-timetable .card-contents {
  height: calc(100% - 32px);
  padding: 16px;
  overflow-y: auto;
  transition: height 0.05s ease-in-out;
}
.card-timetable .card-contents.has-session {
  padding: 0;
}
.card-timetable .card-contents .session {
  padding: 16px;
}
.card-timetable .card-contents .session .speaker-wrap {
  flex-direction: column;
  margin-top: 12px;
}
.card-timetable .card-contents .session .speaker-wrap .speaker-info-wrap {
  margin-top: 10px;
}
.card-timetable .card-contents .session + .session {
  border-top: 1px solid;
  border-image: linear-gradient(90deg, rgba(255, 145, 0, 0) 0%, #FF9100 26.5%, #FF00AA 38.5%, #9D00CE 50%, #5A00FC 62.5%, #00B7EC 73%, rgba(0, 183, 236, 0) 100%) 1;
}
.card-timetable .card-contents .title {
  font-size: 1.6rem;
}
.card-timetable .card-contents .speaker-wrap,
.card-timetable .card-contents .keyword-list {
  margin-top: 20px;
}
.card-timetable .card-contents .speaker-wrap {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.card-timetable .card-contents .speaker-wrap.parallel {
  gap: 20px;
}
.card-timetable .card-contents .speaker-wrap.parallel .speaker {
  flex: 0 0 calc((100% - 20px) / 2);
  flex-direction: column;
  align-items: flex-start;
}
.card-timetable .card-contents .speaker-wrap.multi {
  flex-wrap: wrap;
}
.card-timetable .card-contents .speaker-wrap.multi .speaker .speaker-info {
  display: none;
}
.card-timetable .card-contents .speaker {
  display: flex;
  gap: 12px;
  min-width: 56px;
}
.card-timetable .card-contents .speaker .speaker-info {
  margin-right: 10px;
}
.card-timetable .card-contents .image {
  flex: 0 0 56px;
  height: 56px;
}
.card-timetable .card-contents .copyright {
  margin: 5px 0 0;
  color: var(--Tokens-Background-overlay);
  font-size: 1rem;
}

/* Card Booth */
.card-booth,
.card-person {
  border-radius: 12px;
  box-shadow: var(--Elevation-3);
  transition: box-shadow 0.2s;
}
.card-booth:hover,
.card-person:hover {
  box-shadow: var(--Elevation-4);
}
.card-booth > a,
.card-booth > button:not([class]),
.card-person > a,
.card-person > button:not([class]) {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  height: 100%;
  padding: 20px 20px 64px;
  border-radius: 12px;
  background-color: #fff;
  color: var(--Tokens-Foreground-primary);
  text-decoration: none;
  position: relative;
  z-index: 0;
}
.card-booth > a::before,
.card-booth > button:not([class])::before,
.card-person > a::before,
.card-person > button:not([class])::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  border: 0 solid var(--Accent-color-Accent-9);
  border-radius: 12px;
  transition: border-width 0.05s ease-in-out;
}
.card-booth > a:hover::before,
.card-booth > button:not([class]):hover::before,
.card-person > a:hover::before,
.card-person > button:not([class]):hover::before {
  border-width: 1px;
}
.card-booth.disabled a,
.card-booth.disabled > button:not([class]),
.card-person.disabled a,
.card-person.disabled > button:not([class]) {
  background: var(--Neutral-color-Neutral-Alpha-3);
  box-shadow: unset;
}
.card-booth.disabled .btn-reserve,
.card-person.disabled .btn-reserve {
  background: none;
}
.card-booth .card-header,
.card-person .card-header {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}
.card-booth .card-header .badge,
.card-person .card-header .badge {
  flex: 0 0 auto;
}
.card-booth .card-header .service-info,
.card-person .card-header .service-info {
  flex: 1 1 auto;
}
.card-booth .image,
.card-person .image {
  width: 100%;
  height: 120px;
}
.card-booth .copy,
.card-person .copy {
  margin: 0;
  font-size: 1.4rem;
}
.card-booth .point,
.card-person .point {
  width: 100%;
}
.card-booth .point .title,
.card-person .point .title {
  display: inline-block;
  margin-bottom: 4px;
  padding-left: 16px;
  --grad-warm: linear-gradient(90.67deg, #FF1B89 1.03%, #F8416C 32.63%, #FF8D5D 98.9%);
  background: var(--grad-warm);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.2rem;
  position: relative;
}
.card-booth .point .title::before,
.card-person .point .title::before {
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  background: url(../assets/images/common/icon_hot.svg) center/contain no-repeat;
}
.card-booth .point .point-list,
.card-person .point .point-list {
  padding: 8px;
  border-radius: 4px;
  background-color: var(--Neutral-color-Neutral-Alpha-3);
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
}
.card-booth .point .point-list li,
.card-person .point .point-list li {
  padding-left: 1em;
  text-indent: -1em;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.card-booth .point .point-list li::before,
.card-person .point .point-list li::before {
  content: "・";
}
.card-booth .point .point-list li:not(:last-of-type),
.card-person .point .point-list li:not(:last-of-type) {
  margin-bottom: 2px;
}
.card-booth .card-footer,
.card-person .card-footer {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 32px;
}
.card-booth .card-footer .btn-reserve,
.card-person .card-footer .btn-reserve {
  width: auto;
  height: 32px;
  margin-left: auto;
  padding: 6px 12px;
  border-width: 1px;
  border-radius: 16px;
  font-size: 1.4rem;
  line-height: 1.3;
}

.card-booth .card-header .title {
  font-size: 1.6rem;
}
.card-booth .card-header .company {
  margin: 4px 0 0;
}
.card-booth .card-footer .btn-reserve {
  width: 100px;
}

.card-person .card-header .manage-info,
.matching-contents .card-header .manage-info {
  text-align: right;
}
.card-person .card-header .manage-info .manage-id,
.matching-contents .card-header .manage-info .manage-id {
  display: block;
  padding-right: 28px;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
}
.card-person .card-header .manage-info .kind,
.matching-contents .card-header .manage-info .kind {
  margin: 8px 0 0;
}
.card-person .card-header .person-info .company,
.matching-contents .card-header .person-info .company {
  color: var(--Tokens-Foreground-primary);
  font-size: 1.6rem;
  font-weight: 700;
}
.card-person .card-header .person-info .post,
.card-person .card-header .person-info .name,
.matching-contents .card-header .person-info .post,
.matching-contents .card-header .person-info .name {
  color: var(--Tokens-Foreground-secondary);
}
.card-person .card-header .person-info .post,
.matching-contents .card-header .person-info .post {
  margin: 5px 0 0;
  font-size: 1.2rem;
  font-weight: 500;
}
.card-person .card-header .person-info .name,
.matching-contents .card-header .person-info .name {
  margin: 7px 0 0;
  font-size: 1.4rem;
  font-weight: 700;
}
.card-person .btn-favorite,
.matching-contents .btn-favorite {
  padding: 0;
  transition: opacity 0.2s;
}
.card-person .btn-favorite::before,
.matching-contents .btn-favorite::before {
  content: none;
}
.card-person .btn-favorite:hover,
.matching-contents .btn-favorite:hover {
  opacity: 0.8;
}

/* Card Person */
.card-person {
  position: relative;
  z-index: 0;
}
.card-person > button:not([class]) {
  padding-top: 23px;
  border: none;
  text-align: left;
  cursor: pointer;
}
.card-person .card-header {
  margin-bottom: 2px;
}
.card-person .card-footer .btn-reserve {
  width: auto;
}
.card-person .appeal {
  margin: 0 0 17px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
}
.card-person .btn-favorite {
  position: absolute;
  top: 17px;
  right: 18px;
  z-index: 1;
  cursor: pointer;
}
.card-person .btn-favorite .star {
  display: none;
}
.card-person .btn-favorite .star.show {
  display: block;
}

/* Card Request */
.card-request {
  /*&.new {
      .company-image {
          position: relative;

          &::after {
              position: absolute;
              top: -5px;
              right: -5px;
              display: block;
              content: "";
              width: 12px;
              height: 12px;
              border-radius: 6px;
              background: var(--Semantic-colors-Error-9);
          }
      }
  }*/
}
.card-request > div {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  gap: 32px;
  padding: 24px;
  background-color: var(--Tokens-Background-panel);
  cursor: pointer;
  transition-duration: 0.2s;
}
.card-request > div:hover {
  box-shadow: var(--Elevation-4);
}
@media screen and (max-width: 767px) {
  .card-request > div {
    align-items: flex-start;
    gap: 16px;
    padding: 12px 16px;
    position: relative;
  }
}
.card-request .image {
  flex: 0 0 100px;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .card-request .image {
    flex: 0 0 56px;
  }
}
.card-request .image img {
  border: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  border-radius: 12px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .card-request .image img {
    border-radius: 8px;
  }
}
.card-request .request-info p {
  margin: 0;
}
.card-request .request-info .from {
  display: flex;
  align-items: center;
  gap: 12px;
}
.card-request .request-info .from .company {
  color: var(--Tokens-Foreground-primary);
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .card-request .request-info .from .company {
    font-size: 14px;
  }
}
.card-request .request-info .from .time {
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.2rem;
  line-height: 1;
}
.card-request .request-info .message {
  margin: 8px 0;
  color: var(--Tokens-Foreground-secondary);
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .card-request .request-info .message {
    font-size: 12px;
  }
}
.card-request:not(.booth, .matching) .btn {
  margin-right: 0;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .card-request:not(.booth, .matching) .btn {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    background: unset;
    font-size: 0;
  }
}
@media screen and (max-width: 767px) {
  .card-request:not(.booth, .matching) .btn::before {
    background: unset;
    border-radius: 0;
  }
}
.card-request .btn {
  flex: 0 0 80px;
  height: 32px;
}
.card-request.done > div,
.card-request.done > a {
  background: var(--Neutral-color-Neutral-Alpha-3);
}
.card-request.booth, .card-request.matching {
  position: relative;
}
.card-request.booth > div, .card-request.matching > div {
  display: block;
}
.card-request.booth .time, .card-request.matching .time {
  font-size: 1.2rem;
  color: var(--Tokens-Foreground-secondary);
}
@media screen and (max-width: 767px) {
  .card-request.booth .time, .card-request.matching .time {
    top: 10px;
    right: 16px;
  }
}
.card-request.booth .card-footer, .card-request.matching .card-footer {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: space-between;
  gap: 32px;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .card-request.booth .card-footer, .card-request.matching .card-footer {
    align-items: center;
    gap: 5px;
  }
}
.card-request.booth .card-footer .badge-wrap, .card-request.matching .card-footer .badge-wrap {
  display: flex;
  flex-flow: row wrap;
  gap: 8px;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .card-request.booth .card-footer .badge-wrap, .card-request.matching .card-footer .badge-wrap {
    margin-bottom: 4px;
  }
}
@media screen and (max-width: 767px) {
  .card-request.booth .card-footer .badge-wrap .badge, .card-request.matching .card-footer .badge-wrap .badge {
    padding: 2px 7px;
    font-size: 12px;
  }
}
.card-request.booth .card-footer .message, .card-request.matching .card-footer .message {
  flex: 0 1 auto;
  margin: 4px 0;
}
@media screen and (max-width: 767px) {
  .card-request.booth .card-footer .message, .card-request.matching .card-footer .message {
    font-size: 12px;
    -webkit-line-clamp: 3;
  }
}
.card-request.booth .card-footer .status-button, .card-request.matching .card-footer .status-button {
  flex: 0 0 80px;
}
.card-request.booth .card-footer .status-button .status, .card-request.matching .card-footer .status-button .status {
  text-align: center;
  color: rgba(0, 7, 19, 0.6235294118);
  font-size: 1.2rem;
  margin-bottom: 5px;
}
.card-request.booth .card-footer .status-button .btn, .card-request.matching .card-footer .status-button .btn {
  width: 100%;
}
.card-request.booth.new .card-header .company-info .text {
  justify-content: flex-start;
  padding-top: 35px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .card-request.booth.new .card-header .company-info .text {
    padding-top: 22px;
  }
}
.card-request.booth.new .card-header .company-info .text .badge {
  position: absolute;
  top: 0;
}
.card-request.booth .card-header {
  display: flex;
  flex-flow: row-reverse nowrap;
  justify-content: space-between;
  gap: 12px;
}
.card-request.booth .card-header .company-info {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  gap: 16px;
}
.card-request.booth .card-header .company-info .image {
  flex: 0 0 100px;
}
@media screen and (max-width: 767px) {
  .card-request.booth .card-header .company-info .image {
    flex: 0 0 56px;
  }
}
.card-request.booth .card-header .company-info .badge {
  margin-bottom: 2px;
}
@media screen and (max-width: 767px) {
  .card-request.booth .card-header .company-info .badge {
    padding: 2px 6px;
  }
}
.card-request.booth .card-header .company-info .text {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: center;
  flex: 1 0 calc(100% - 72px);
  height: 100%;
}
.card-request.booth .card-header .company-info .company {
  margin: 0;
  color: var(--Tokens-Foreground-primary);
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .card-request.booth .card-header .company-info .company {
    font-size: 14px;
  }
}
.card-request.matching .card-header .card-header-top {
  display: flex;
  align-items: flex-start;
  flex-flow: row-reverse nowrap;
  justify-content: space-between;
}
.card-request.matching .card-header .card-header-top .category {
  display: flex;
  flex-flow: row wrap;
  gap: 12px;
}
.card-request.matching .card-header .person-info {
  margin: 0;
}
.card-request.matching .card-header .person-info .company,
.card-request.matching .card-header .person-info .name {
  margin: 6px 0 0;
  color: var(--Tokens-Foreground-primary);
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .card-request.matching .card-header .person-info .company,
  .card-request.matching .card-header .person-info .name {
    margin: 5px 0 0;
    font-size: 14px;
  }
}

.request-list > li:not(:last-of-type) {
  position: relative;
}
@media screen and (min-width: 768px) {
  .request-list > li:not(:last-of-type) {
    margin-bottom: 8px;
    padding-bottom: 8px;
  }
}
.request-list > li:not(:last-of-type)::after {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: calc(100% - 24px);
  height: 1px;
  background: var(--Neutral-color-Neutral-Alpha-6);
}
@media screen and (max-width: 767px) {
  .request-list > li:not(:last-of-type)::after {
    width: 100%;
  }
}

/* 4. Form
====================================================*/
/* サイズ指定

S size：.sm
M size：.md
L size: .lg ※デフォルトサイズのため指定不要

S・M・L size 対応：dd > p / .input
S・M size 対応：.checkbox（同意チェックボックス）

*/
/* フォーム行 */
dl.form-row {
  display: flex;
  gap: 24px;
  min-height: 40px;
}
@media screen and (max-width: 767px) {
  dl.form-row {
    display: block;
  }
}
dl.form-row + .form-row {
  margin-top: 24px;
}
dl.form-row[aria-required=true] .label::after {
  content: "*";
  margin-left: 4px;
  color: var(--Semantic-colors-Error-9);
  font-size: 1.6rem;
}
dl.form-row.enquete[aria-required=true] dt {
  padding: 12px 48px 12px 62px;
}
@media screen and (max-width: 767px) {
  dl.form-row.enquete[aria-required=true] dt {
    padding: 12px 28px 12px 33px;
  }
}
dl.form-row.enquete[aria-required=true] dt .label {
  position: relative;
}
dl.form-row.enquete[aria-required=true] dt .label::after {
  position: absolute;
  top: 0;
  left: -12px;
  margin-left: 0;
}
dl.form-row dt {
  flex: 0 0 160px;
  min-height: 40px;
  padding: 7px 0;
}
@media screen and (max-width: 767px) {
  dl.form-row dt {
    text-align: left;
  }
}
dl.form-row dt span.notes {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
}
dl.form-row dt span.notes.inline {
  display: inline-block;
  margin-left: 1.2rem;
}
dl.form-row .label {
  font-size: 1.6rem;
  font-weight: 700;
}
dl.form-row dd {
  flex: 1 1 auto;
  margin: 0;
}
dl.form-row dd > p {
  margin: 0 0 8px;
  color: var(--Tokens-Colors-text);
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
}
dl.form-row dd > p.sm {
  margin: 0 0 4px;
  font-size: 1.2rem;
}
dl.form-row dd > p.md {
  font-size: 1.4rem;
}
dl.form-row .input {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  word-break: break-all;
}
dl.form-row .input.sm input[type=text],
dl.form-row .input.sm input[type=tel],
dl.form-row .input.sm input[type=email],
dl.form-row .input.sm input[type=url],
dl.form-row .input.sm input[type=password],
dl.form-row .input.sm select,
dl.form-row .input.sm textarea {
  min-height: 24px;
  padding: 4px 8px;
  font-size: 1.2rem;
}
dl.form-row .input.sm .select {
  height: 24px;
}
dl.form-row .input.sm .select::before {
  top: 40%;
  right: 12px;
}
dl.form-row .input.sm .select select {
  height: 100%;
}
dl.form-row .input.sm input[type=radio] + label,
dl.form-row .input.sm input[type=checkbox] + label {
  font-size: 1.2rem;
}
dl.form-row .input.sm input[type=radio] + label::before,
dl.form-row .input.sm input[type=checkbox] + label::before {
  top: 6px;
}
dl.form-row .input.sm input[type=radio] + label::after {
  top: 10px;
}
dl.form-row .input.sm input[type=checkbox] + label::after {
  top: 9px;
}
dl.form-row .input.sm .password .passswitch::before {
  height: 14px;
}
dl.form-row .input.sm .password .passswitch input[type=checkbox] + label {
  font-size: 0;
}
dl.form-row .input.sm .password .passswitch input[type=checkbox] + label::before {
  top: 50%;
}
dl.form-row .input.sm .error-label {
  margin: 0 0 4px;
  font-size: 1.2rem;
}
dl.form-row .input.md input[type=text],
dl.form-row .input.md input[type=tel],
dl.form-row .input.md input[type=email],
dl.form-row .input.md input[type=url],
dl.form-row .input.md input[type=password],
dl.form-row .input.md select,
dl.form-row .input.md textarea {
  min-height: 32px;
}
dl.form-row .input.md .password .passswitch::before {
  height: 18px;
}
dl.form-row .input.cols {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  dl.form-row .input.cols {
    gap: 8px 20px;
  }
}
dl.form-row .input.cols.post-code {
  flex-wrap: wrap;
}
dl.form-row .input.cols .col {
  flex: 1 1 50%;
}
dl.form-row .input.cols .col.post-code-1 {
  flex: 0 0 120px;
}
dl.form-row .input.cols .col.post-code-2 {
  flex: 0 0 144px;
}
@media screen and (max-width: 767px) {
  dl.form-row .input.cols .col.post-code-2 {
    flex: 0 1 calc(100% - 176px);
    max-width: 160px;
  }
}
dl.form-row .input .free {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  dl.form-row .input .free {
    flex-direction: column;
  }
}
dl.form-row .input .free input[type=text] {
  flex: 1 1 auto;
}
dl.form-row .input.error input[type=text],
dl.form-row .input.error input[type=tel],
dl.form-row .input.error input[type=email],
dl.form-row .input.error input[type=url],
dl.form-row .input.error input[type=password],
dl.form-row .input.error textarea {
  border-color: var(--Semantic-colors-Error-Alpha-8);
  background-color: var(--Semantic-colors-Error-Alpha-3);
}
dl.form-row .input.error select {
  border: 1px solid var(--Semantic-colors-Error-Alpha-8);
  background-color: var(--Semantic-colors-Error-Alpha-3);
}
dl.form-row .input .hyphen {
  color: rgb(51, 51, 51);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 40px;
}
dl.form-row .input .search-button,
dl.form-row .input .btn-postal-search {
  width: 198px;
  height: 40px;
  border-radius: 4px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.625;
}
dl.form-row .input .search-button::before,
dl.form-row .input .btn-postal-search::before {
  border-radius: 4px;
}
dl.form-row .input-wrap {
  display: flex;
  flex-flow: column nowrap;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  dl.form-row .input-wrap {
    gap: 8px 20px;
  }
}
dl.form-row .has_error [type=text],
dl.form-row .has_error select {
  color: var(--Semantic-colors-Error-9) !important;
  border-color: var(--Semantic-colors-Error-9) !important;
}
dl.form-row .error {
  margin: 5px 0;
  color: var(--Semantic-colors-Error-9);
  font-weight: 600;
}
dl.form-row .error a {
  color: var(--Semantic-colors-Error-9);
}
dl.form-row.enquete {
  display: block;
}
dl.form-row.enquete dt {
  height: auto;
  padding: 12px 48px;
  background-color: var(--Neutral-color-Neutral-3);
}
@media screen and (max-width: 767px) {
  dl.form-row.enquete dt {
    padding: 12px 20px;
  }
}
dl.form-row.enquete dd {
  padding: 20px 48px;
}
@media screen and (max-width: 767px) {
  dl.form-row.enquete dd {
    padding: 12px 0;
  }
}
dl.form-row.enquete dd .input.select-wrap {
  max-width: 340px;
}

dl.form-row + .btn-wrap {
  margin-top: 56px;
}

/* フォームコントロール共通 */
input[type=text],
input[type=tel],
input[type=email],
input[type=url],
input[type=password],
select,
textarea {
  width: 100%;
  min-height: 40px;
  padding: 4px 12px;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-7);
  border-radius: 4px;
  background-color: #fff;
  font-size: 1.4rem;
  font-family: "Helvetica Neue", Helvetica, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, sans-serif;
  transition: border-color 0.2s;
}
@media screen and (max-width: 767px) {
  input[type=text],
  input[type=tel],
  input[type=email],
  input[type=url],
  input[type=password],
  select,
  textarea {
    font-size: 16px !important;
  }
}
input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=email]::placeholder,
input[type=url]::placeholder,
input[type=password]::placeholder,
select::placeholder,
textarea::placeholder {
  color: var(--Neutral-color-Neutral-9);
}
@media screen and (max-width: 767px) {
  input[type=text]::placeholder,
  input[type=tel]::placeholder,
  input[type=email]::placeholder,
  input[type=url]::placeholder,
  input[type=password]::placeholder,
  select::placeholder,
  textarea::placeholder {
    font-size: 14px;
  }
}
input[type=text]:focus, input[type=text]:focus-visible,
input[type=tel]:focus,
input[type=tel]:focus-visible,
input[type=email]:focus,
input[type=email]:focus-visible,
input[type=url]:focus,
input[type=url]:focus-visible,
input[type=password]:focus,
input[type=password]:focus-visible,
select:focus,
select:focus-visible,
textarea:focus,
textarea:focus-visible {
  outline: 0;
  border-color: var(--Accent-color-Accent-8);
}
input[type=text]:-webkit-autofill,
input[type=tel]:-webkit-autofill,
input[type=email]:-webkit-autofill,
input[type=url]:-webkit-autofill,
input[type=password]:-webkit-autofill,
select:-webkit-autofill,
textarea:-webkit-autofill {
  box-shadow: 0 0 0 1000px #fff inset !important;
}
input[type=text]:disabled,
input[type=tel]:disabled,
input[type=email]:disabled,
input[type=url]:disabled,
input[type=password]:disabled,
select:disabled,
textarea:disabled {
  border: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  background-color: var(--Neutral-color-Neutral-Alpha-3);
}

/* セレクトボックス */
.select {
  display: block;
  min-width: 240px;
  height: 40px;
  border-radius: 4px;
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .select {
    width: 100%;
  }
}
.select.wide {
  width: 100%;
}
.select::before {
  position: absolute;
  top: 45%;
  transform: translateY(-50%) rotate(45deg);
  right: 16px;
  z-index: 0;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-right: 1px solid var(--Tokens-Foreground-primary);
  border-bottom: 1px solid var(--Tokens-Foreground-primary);
}
.select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
  cursor: pointer;
  position: relative;
  z-index: 1;
}

/* テキストエリア */
textarea {
  resize: none;
  height: 150px;
  padding: 10px 12px;
}

/* チェックボックス、ラジオボタン：ul要素への付与を想定 */
.checkboxes,
.radios {
  width: 100%;
}
.checkboxes.cols,
.radios.cols {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 20px;
}
.checkboxes.cols-2 > *,
.radios.cols-2 > * {
  flex: 0 0 calc((100% - 20px) / 2);
}
@media screen and (max-width: 767px) {
  .checkboxes.cols-2 > *,
  .radios.cols-2 > * {
    flex: 0 0 calc((100% - 40px) / 2);
  }
}
.checkboxes.cols-2 > * input[type=radio] + label,
.checkboxes.cols-2 > * input[type=checkbox] + label,
.radios.cols-2 > * input[type=radio] + label,
.radios.cols-2 > * input[type=checkbox] + label {
  flex: 1 1 auto;
}
.checkboxes.cols-3 > *,
.radios.cols-3 > * {
  flex: 0 0 calc((100% - 40px) / 3);
}
@media screen and (max-width: 767px) {
  .checkboxes.cols-3 > *,
  .radios.cols-3 > * {
    flex: 0 0 calc((100% - 40px) / 2);
  }
}
.checkboxes.cols-3 > * input[type=radio] + label,
.checkboxes.cols-3 > * input[type=checkbox] + label,
.radios.cols-3 > * input[type=radio] + label,
.radios.cols-3 > * input[type=checkbox] + label {
  flex: 1 1 auto;
}
.checkboxes.cols-4 > *,
.radios.cols-4 > * {
  flex: 0 0 calc((100% - 60px) / 4);
}
@media screen and (max-width: 767px) {
  .checkboxes.cols-4 > *,
  .radios.cols-4 > * {
    flex: 0 0 calc((100% - 40px) / 2);
  }
}
.checkboxes.cols-4 > * input[type=radio] + label,
.checkboxes.cols-4 > * input[type=checkbox] + label,
.radios.cols-4 > * input[type=radio] + label,
.radios.cols-4 > * input[type=checkbox] + label {
  flex: 1 1 auto;
}
.checkboxes.cols-5 > *,
.radios.cols-5 > * {
  flex: 0 0 calc((100% - 80px) / 5);
}
@media screen and (max-width: 767px) {
  .checkboxes.cols-5 > *,
  .radios.cols-5 > * {
    flex: 0 0 calc((100% - 40px) / 2);
  }
}
.checkboxes.cols-5 > * input[type=radio] + label,
.checkboxes.cols-5 > * input[type=checkbox] + label,
.radios.cols-5 > * input[type=radio] + label,
.radios.cols-5 > * input[type=checkbox] + label {
  flex: 1 1 auto;
}
.checkboxes > *,
.radios > * {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 5px;
  margin: 7px 0;
}
@media screen and (max-width: 767px) {
  .checkboxes > *,
  .radios > * {
    gap: 8px;
    margin: 7px 5px;
  }
}
.checkboxes > * input,
.radios > * input {
  position: relative;
  top: 3.5px;
}
.checkboxes > * label,
.radios > * label {
  flex: 1 1 auto;
  padding: 0;
}
.checkboxes > .etc,
.radios > .etc {
  display: block;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .checkboxes > .etc,
  .radios > .etc {
    margin: 7px 0;
  }
}
.checkboxes > .etc .input,
.radios > .etc .input {
  display: block;
  position: relative;
}
.checkboxes > .etc .input .other,
.radios > .etc .input .other {
  font-size: 1.4rem;
  font-weight: 700;
}
.checkboxes > .etc .input input,
.radios > .etc .input input {
  position: unset;
  top: unset;
  width: 100%;
  padding: 21px 17px;
  background-color: #fff;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  /*
  @include sp {
      padding: 18px 20px 17px;
  }
  */
}

input[type=radio],
input[type=checkbox] {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background-color: #fff;
  opacity: 0;
}
input[type=radio] + label,
input[type=checkbox] + label {
  flex: 0 1 auto;
  display: inline-block;
  font-size: 1.4rem;
  cursor: pointer;
  position: relative;
  z-index: 0;
}
input[type=radio]:focus + label::before, input[type=radio]:focus-visible + label::before,
input[type=checkbox]:focus + label::before,
input[type=checkbox]:focus-visible + label::before {
  outline: 0;
  border-color: var(--Accent-color-Accent-9);
}
input[type=radio]:checked + label::before,
input[type=checkbox]:checked + label::before {
  transition: 0.2s;
}
input[type=radio]:disabled + label,
input[type=checkbox]:disabled + label {
  color: var(--Neutral-color-Neutral-Alpha-8);
  pointer-events: none;
}
input[type=radio]:disabled + label::before,
input[type=checkbox]:disabled + label::before {
  border: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  background-color: var(--Neutral-color-Neutral-Alpha-3);
}
input[type=radio]:checked:disabled + label::before,
input[type=checkbox]:checked:disabled + label::before {
  opacity: 0.2;
}

input[type=radio] + label::before {
  content: "";
  position: absolute;
  top: 2.5px;
  left: -21px;
  z-index: 0;
  opacity: 1;
  width: 16px;
  height: 16px;
  background-color: #fff;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-7);
  border-radius: 8px;
  box-shadow: none;
  transition: background-color 0.2s, box-shadow 0.2s, border-color 0.2s;
}
input[type=radio] + label::after {
  content: "";
  position: absolute;
  top: 6.5px;
  left: -17px;
  z-index: 0;
  opacity: 1;
  width: 8px;
  height: 8px;
  border-radius: 4px;
  transition: background-color 0.2s;
}
@media screen and (max-width: 767px) {
  input[type=radio] + label::before {
    left: -25px;
  }
  input[type=radio] + label::after {
    left: -21px;
  }
}
input[type=radio]:checked + label::before {
  border-color: var(--Accent-color-Accent-9);
}
input[type=radio]:checked + label::after {
  background-color: var(--Accent-color-Accent-9);
}

input[type=checkbox] + label::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 3px;
  z-index: 0;
  opacity: 1;
  width: 16px;
  height: 16px;
  background-color: #fff;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-7);
  border-radius: 3px;
  box-shadow: none;
  transition: background-color 0.2s, box-shadow 0.2s, border-color 0.2s;
}
input[type=checkbox] + label::after {
  content: "";
  position: absolute;
  top: 6px;
  left: -17px;
  z-index: 0;
  opacity: 1;
  width: 10px;
  height: 6px;
  transform: rotate(-45deg);
  border-bottom: 1.5px solid rgba(255, 255, 255, 0);
  border-left: 1.5px solid rgba(255, 255, 255, 0);
  transition: border-color 0.2s;
}
@media screen and (max-width: 767px) {
  input[type=checkbox] + label::before {
    left: -24px;
  }
  input[type=checkbox] + label::after {
    left: -21px;
  }
}
input[type=checkbox]:checked + label::before {
  border-color: var(--Accent-color-Accent-9);
  background-color: var(--Accent-color-Accent-9);
}
input[type=checkbox]:checked + label::after {
  border-color: #fff;
}

/* パネル型ラジオボタン：ul要素への付与を想定 */
.radios.radios-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.radios.radios-panel li {
  justify-content: flex-start;
  gap: 8px;
  min-height: unset;
  margin: 0;
  color: var(--Tokens-Foreground-primary);
  font-size: 1.4rem;
  font-weight: 500;
  box-shadow: none;
  position: relative;
}
.radios.radios-panel li input[type=radio] {
  position: absolute;
  top: 0;
  left: 0;
}
.radios.radios-panel li input[type=radio] + label {
  flex: unset;
  width: 100%;
  padding: 8px 12px 9px 36px;
  border: 1px solid var(--Neutral-color-Neutral-7);
  border-radius: 20px;
  background-color: #fff;
  text-align: left;
  transition: background-color 0.2s;
}
.radios.radios-panel li input[type=radio] + label::before, .radios.radios-panel li input[type=radio] + label::after {
  top: 50%;
  transform: translateY(-50%);
}
.radios.radios-panel li input[type=radio] + label::before {
  left: 12px;
}
.radios.radios-panel li input[type=radio] + label::after {
  left: 16px;
}
.radios.radios-panel li input[type=radio]:checked + label {
  border-color: var(--Accent-color-Accent-9);
  background: var(--Accent-color-Accent-Alpha-4);
}

/* 同意チェックボックス */
.checkbox {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 5px;
  margin: 7px;
}
@media screen and (max-width: 767px) {
  .checkbox {
    gap: 8px;
    margin: 5px;
  }
}
.checkbox.sm input[type=checkbox] + label {
  font-size: 1.2rem;
}
.checkbox.sm input[type=checkbox] + label::before {
  top: 1px;
}
.checkbox.sm input[type=checkbox] + label::after {
  top: 4px;
}
.checkbox input {
  position: relative;
  top: 3.5px;
}

/* パスワード */
.password {
  width: 100%;
  position: relative;
}
.password .passswitch {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 100%;
  border: none;
  border-radius: 0;
  background-color: transparent;
  font-size: 0;
}
.password .passswitch::before {
  position: absolute;
  top: 50%;
  left: -1px;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 1px;
  height: 20px;
  background-color: var(--Neutral-color-Neutral-Alpha-6);
}
.password .passswitch input[type=checkbox] {
  padding: 0;
  border: none;
}
.password .passswitch input[type=checkbox]:focus, .password .passswitch input[type=checkbox]:focus-visible {
  border: none;
  box-shadow: unset;
}
.password .passswitch input[type=checkbox]:focus + label::before, .password .passswitch input[type=checkbox]:focus-visible + label::before {
  box-shadow: unset;
}
.password .passswitch input[type=checkbox]:disabled + label::before {
  filter: grayscale(1);
  opacity: 0.2;
  pointer-events: none;
}
.password .passswitch input[type=checkbox] + label {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  font-size: 0;
}
.password .passswitch input[type=checkbox] + label::before {
  top: 50%;
  left: unset;
  right: 13px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: none;
  display: block;
  content: "";
  background: url(../assets/images/common/icon_eye_off.svg) center/100% no-repeat;
  transition: unset;
}
.password .passswitch input[type=checkbox] + label::after {
  content: none;
}
.password .passswitch input[type=checkbox]:checked + label::before {
  background-color: unset;
  background: url(../assets/images/common/icon_eye.svg) center/100% no-repeat;
}

/* スイッチ */
.switch {
  width: 48px;
  height: 28px;
  position: relative;
}
.switch input[type=checkbox] {
  width: 100%;
  height: 100%;
}
.switch input[type=checkbox]:disabled + label::before {
  background: var(--Neutral-color-Neutral-Alpha-3);
}
.switch input[type=checkbox]:disabled + label::after {
  background: var(--Neutral-color-Neutral-2);
  box-shadow: none;
}
.switch input[type=checkbox] + label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 0;
  overflow: hidden;
}
.switch input[type=checkbox] + label::before, .switch input[type=checkbox] + label::after {
  content: "";
  display: block;
}
.switch input[type=checkbox] + label::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  border-radius: 14px;
  background: var(--Neutral-color-Neutral-Alpha-3);
  transition: border 0.2s, background-color 0.2s;
}
.switch input[type=checkbox] + label::after {
  top: 1px;
  left: 1px;
  transform: unset;
  width: 26px;
  height: calc(100% - 2px);
  border: none;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0px 2.89px 2.89px 0px rgba(5, 5, 88, 0.02), 0px 2.89px 2.89px 0px rgba(0, 0, 0, 0.02);
  transition: left 0.1s cubic-bezier(0.17, 0.67, 0.83, 0.67);
}
.switch input[type=checkbox]:checked + label::before {
  border-color: var(--Accent-color-Accent-9);
  background: var(--Accent-color-Accent-9);
}
.switch input[type=checkbox]:checked + label::after {
  left: 21px;
}
.switch.sm {
  width: 40px;
  height: 20px;
}
.switch.sm input[type=checkbox] + label::after {
  width: 18px;
}
.switch.md {
  width: 44px;
  height: 24px;
}
.switch.md input[type=checkbox] + label::after {
  width: 22px;
}
/* ヘルプ, 注意書きラベル */
.caution-label {
  margin: 8px 0 0;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.2rem;
}

/* エラーラベル */
.error-label {
  margin: 0 0 8px;
  color: var(--Semantic-colors-Error-9);
  font-size: 1.4rem;
  font-weight: 700;
  text-align: left;
}

/* submitボタンエリア */
.btn-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-top: 32px;
}

/* 5. Scroll Area
====================================================*/
.scroll {
  overflow-y: auto;
}
.scroll::-webkit-scrollbar {
  width: 12px;
  height: 12px;
  background: var(--Neutral-color-Neutral-Alpha-3);
  border-radius: 4px;
}
.scroll::-webkit-scrollbar-thumb {
  background: var(--Neutral-color-Neutral-Alpha-8);
  width: 12px;
  height: 12px;
  border-radius: 4px;
}
.scroll.sm::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
.scroll.sm::-webkit-scrollbar-thumb {
  width: 4px;
  height: 4px;
}
.scroll.md::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.scroll.md::-webkit-scrollbar-thumb {
  width: 8px;
  height: 8px;
}
@media screen and (max-width: 767px) {
  .scroll::-webkit-scrollbar {
    width: 4px;
  }
  .scroll::-webkit-scrollbar-thumb {
    width: 4px;
  }
}
/* 6. Tabs
====================================================*/
.tab-list {
  display: flex;
  margin-bottom: 32px;
  padding-bottom: 1px;
  overflow-x: auto;
  position: relative;
}
.tab-list::before {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--Neutral-color-Neutral-Alpha-6);
}
@media screen and (max-width: 375px) {
  .tab-list {
    width: calc(100% + 20px);
  }
  .tab-list::before {
    content: none;
  }
}
.tab-list li {
  padding: 8px 16px;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.4rem;
  font-weight: 700;
  white-space: nowrap;
  transition: color 0.2s;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 375px) {
  .tab-list li {
    border-bottom: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  }
}
.tab-list li::before {
  position: absolute;
  left: 50%;
  bottom: -1px;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 0;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background-color: var(--Accent-color-Accent-9);
  transition: width 0.2s;
}
.tab-list li.active {
  color: var(--Accent-color-Accent-9);
  pointer-events: none;
  cursor: unset;
}
.tab-list li.active::before {
  width: 100%;
}

.tab-contents {
  display: none;
}
.tab-contents.show {
  display: block;
}

/* タイムテーブルの日付切替に使用 */
.daytab-list {
  display: flex;
  width: 100%;
  margin-bottom: 32px;
  border-radius: 6px;
  background-color: rgb(242, 242, 245);
  box-shadow: var(--Elevation-3);
}
.daytab-list li {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1 1 50%;
  padding: 9px;
  border-radius: 6px;
  color: var(--Neutral-color-Neutral-Alpha-12E3);
  font-size: 2rem;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.daytab-list li.active {
  background-color: var(--Accent-color-Accent-9);
  color: #fff;
  pointer-events: none;
}

.on-dark .daytab-list {
  background: rgb(233, 233, 234);
}
.on-dark .daytab-list li.active {
  background-color: #fff;
  color: var(--Neutral-color-Neutral-Alpha-12E3);
}

.daytab-contents {
  display: none;
}
.daytab-contents.show {
  display: block;
}

/* 7. Toast
====================================================*/
.toast {
  position: fixed;
  top: 80px;
  right: 24px;
  z-index: 900;
  min-width: 320px;
  max-width: 360px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 44px;
  border-radius: 4px;
  background: var(--Neutral-color-Neutral-12);
  color: #fff;
  box-shadow: var(--Elevation-5);
  animation: toast-open 0.8s ease-out forwards;
}
@media screen and (max-width: 767px) {
  .toast {
    top: 56px;
    right: 0;
    width: 100%;
    max-width: 375px;
  }
}
.toast::before {
  position: absolute;
  top: 11px;
  left: 15px;
  display: block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../assets/images/common/icon_caution.svg) center/contain no-repeat;
}
.toast .close {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 13px;
  height: 13px;
  padding: 0;
  background: url(../assets/images/common/icon_close_caution.svg) center/contain no-repeat;
  font-size: 0;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}
.toast .close::before {
  content: none;
}
.toast.toast-accept {
  background: var(--Semantic-colors-Success-3);
  color: var(--Semantic-colors-Success-Alpha-11);
}
.toast.toast-accept::before {
  top: 10px;
  left: 14px;
  width: 22px;
  height: 22px;
  background-image: url(../assets/images/common/icon_accept.svg);
}
.toast.toast-accept .close {
  -webkit-filter: unset;
  filter: unset;
  background-image: url(../assets/images/common/icon_close_accept.svg);
}
.toast.toast-error {
  background: var(--Semantic-colors-Error-3);
  color: var(--Semantic-colors-Error-Alpha-11);
}
.toast.toast-error::before {
  background-image: url(../assets/images/common/icon_error.svg);
}
.toast.toast-error .close {
  -webkit-filter: unset;
  filter: unset;
  background-image: url(../assets/images/common/icon_close_error.svg);
}
.toast p {
  margin: 0;
}
.toast .toast-title {
  font-size: 1.6rem;
  font-weight: 700;
}
.toast .toast-label {
  font-size: 1.4rem;
  font-weight: 500;
}
.toast.hide {
  pointer-events: none;
  animation: toast-close 0.3s ease-out forwards;
}

@keyframes toast-open {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes toast-close {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-100%);
    opacity: 0;
  }
}
/* 8. Tooltip
====================================================*/
.tooltip-position {
  position: relative;
}

.tooltip.open .tooltip-contents {
  visibility: visible;
  opacity: 1;
}
@media (hover) {
  .tooltip:hover .tooltip-contents {
    visibility: visible;
    opacity: 1;
  }
}
.tooltip .tooltip-icon {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: center;
  padding-top: 5px;
  width: 24px;
  height: 34px;
  cursor: pointer;
}
.tooltip .tooltip-icon img {
  width: 18px;
  height: 18px;
}
.tooltip .tooltip-contents {
  position: absolute;
  top: 34px;
  left: 0;
  width: 480px;
  padding: 16px 16px 14px;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  border-radius: 8px;
  background-color: #fff;
  box-shadow: var(--Elevation-4);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.2s, opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .tooltip .tooltip-contents {
    width: 311px;
  }
}
.tooltip .tooltip-contents dl {
  margin: 0;
}
.tooltip .tooltip-contents dl dt {
  margin-bottom: 10px;
  font-size: 2rem;
  font-weight: 700;
}
.tooltip .tooltip-contents dl dd {
  font-size: 1.4rem;
  font-weight: 500;
}
.tooltip .tooltip-contents dl dd p {
  margin: 0;
}
.tooltip .tooltip-contents dl dd p.notes {
  margin-top: 10px;
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.2rem;
}

/* 9. Other
====================================================*/
.fadein {
  animation: fadeIn 0.3s;
  animation-fill-mode: both;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeout {
  animation: fadeOut 0.3s;
  animation-fill-mode: both;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* Vue.js transition name=fade の実装 */
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s ease;
}

.fade-enter-to,
.fade-leave-from {
  opacity: 1;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

/* 頻出要素：個別スタイルは別途追加指定 */
.title,
.copy,
.name {
  font-weight: 700;
}

.company,
.position {
  color: var(--Tokens-Foreground-secondary);
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.3;
}

/* テキスト */
.text-left {
  text-align: left;
}

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

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

.text-bold {
  font-weight: bold;
}

.text-wrap {
  white-space: pre-wrap;
}

.multiple-lines {
  white-space: pre-wrap;
}

.text-overflow-1 {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  word-break: break-all;
}

.text-overflow-2 {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  word-break: break-all;
}

.text-overflow-3 {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  word-break: break-all;
}

.text-overflow-4 {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  word-break: break-all;
}

.text-overflow-5 {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  word-break: break-all;
}

.text-red {
  color: var(--Semantic-colors-Error-9);
}

.text-blue {
  color: var(--Accent-color-Accent-9);
}

.text-grad {
  display: inline-block;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent;
}

/* グラデーション */
.grad-expo {
  background: var(--grad-expo);
}

.grad-cool {
  background: var(--grad-cool);
}

.grad-warm {
  background: var(--grad-warm);
}

.grad-climbers {
  background: var(--grad-climbers);
}

.grad-mix {
  background: var(--grad-mix);
}

/* 画像 */
.image img {
  display: block;
  width: 100%;
  height: auto;
}

.image-contain img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.image-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-person {
  aspect-ratio: 1;
}
.image-person img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: #fff;
  border-radius: 50%;
}

.thumbnail {
  aspect-ratio: 16/9;
}
.thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background-color: #fff;
  border: 1px solid var(--Neutral-color-Neutral-Alpha-6);
  border-radius: 8px;
}

/* Swiper */
.swiper-wrapper {
  gap: 20px;
  margin-right: 20px;
  padding: 12px 0 12px 1px;
}

.swiper .swiper-slide {
  height: auto;
}
.swiper .swiper-button-prev,
.swiper .swiper-button-next {
  width: 48px;
  height: 48px;
}
.swiper .swiper-button-prev::after,
.swiper .swiper-button-next::after {
  content: "";
  width: 48px;
  height: 48px;
  background: url(../assets/images/common/arrow_slide.svg) center/contain no-repeat;
}
.swiper .swiper-button-prev.swiper-button-disabled,
.swiper .swiper-button-next.swiper-button-disabled {
  opacity: 0;
}
.swiper .swiper-button-prev {
  left: 0;
  transform: rotate(180deg);
}
.swiper .swiper-button-next {
  right: 8px;
}/*# sourceMappingURL=style.css.map */