/* ========================================
 * 汎用設定
 * ---------------------------------------- */
/*
 * カスタムプロパティ
 * ---------------------------------------- */
:root {
  --green--bright: #3cc39a;
  --green--primary: #3A9D7F;
  --green--soft: #E6F4F0;
  --blue--bright: #6fabf4;
  --blue--primary: #5694E0;
  --black--primary: #383838;
  --white--primary: #ffffff;
  --gray--forText: #666666;
  --gray--dark: #888888;
  --gray--medium: #DDDDDD;
  --gray--light: #F6F6F6;
}
:root {
  --IMG-URL--ArrowRight: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.175 13H4v-2h12.175l-5.6-5.6L12 4l8 8-8 8-1.425-1.4z"/></svg>');
  --IMG-URL--ArrowRight-Simple: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.6 12 8 7.4 9.4 6l6 6-6 6L8 16.6z"/></svg>');
  --IMG-URL--ArrowDown-Simple: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g transform="rotate(90 12 12)"><path d="M12.6 12 8 7.4 9.4 6l6 6-6 6L8 16.6z"/></g></svg>');
  --IMG-URL--OpenInNew: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 21q-.824 0-1.412-.587A1.93 1.93 0 0 1 3 19V5q0-.824.587-1.412A1.93 1.93 0 0 1 5 3h7v2H5v14h14v-7h2v7q0 .824-.587 1.413A1.93 1.93 0 0 1 19 21zm4.7-5.3-1.4-1.4L17.6 5H14V3h7v7h-2V6.4z"/></svg>');
  --IMG-URL--FAQ: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12 22-.25-3h-.25q-3.55 0-6.025-2.475T3 10.5t2.475-6.025T11.5 2a8.3 8.3 0 0 1 3.313.663 8.59 8.59 0 0 1 4.524 4.525A8.3 8.3 0 0 1 20 10.5q0 1.875-.613 3.6a12.7 12.7 0 0 1-1.675 3.2 14.2 14.2 0 0 1-2.524 2.675A15.7 15.7 0 0 1 12 22m.2-6.325q.3-.3.3-.725t-.3-.725-.725-.3-.725.3-.3.725.3.725.725.3.725-.3M10.75 12.8h1.5q0-.75.15-1.05t.95-1.1q.45-.45.75-.975t.3-1.125q0-1.275-.863-1.913Q12.676 6 11.5 6q-1.1 0-1.85.612Q8.9 7.227 8.6 8.1l1.4.55q.125-.424.475-.838.35-.412 1.025-.412t1.012.375.338.825q0 .424-.25.763a6 6 0 0 1-.6.687q-.875.75-1.062 1.188T10.75 12.8"/></svg>');
  --IMG-URL--CircleCheck: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m10.6 16.6 7.05-7.05-1.4-1.4-5.65 5.65-2.85-2.85-1.4 1.4zM12 22a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.075 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22"/></svg>');
  --IMG-URL--Close: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.4 19 5 17.6l5.6-5.6L5 6.4 6.4 5l5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6z"/></svg>');

  --IMG-URL--Logo-Romancer: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 758 171"><path d="M190.8 108.5c-18.7 0-36.5 15-40 32.3a34.8 34.8 0 0 1-11 8.9c-16.4 7.7-49.1-18.6-64.9-32.1-6.9-5.8 3.1-11.6 8.1-13 26.2-7.9 53.2-17.1 78.5-33.1 12-7.7 30.1-25.6 30.1-45.1 0-12.7-11.1-26.4-33.7-26.4C106.1 0 69.1 65.7 34 128.3 50.7 87.7 68.3 36.7 77.7 1.9L55.4 7.7c-2.5 10.4-6.1 25.7-18.6 64.7-10.6 33.2-20.7 57.8-36.8 96.5h20.3a633 633 0 0 1 58-106.3c17-24.6 44.5-58.7 76.5-58.7 13.4 0 19.8 8.4 19.8 17.2 0 13.2-9.7 27.2-17.5 35.3C134.2 80 108.7 89.9 73.3 103c-18.5 6.9-14.8 17.9-6.2 25.8 10 9.5 44.1 41 57.8 40.6 9.9-.3 19.4-13.7 25.4-24.1a8.6 8.6 0 0 0-.1 1.6c0 11.1 8.4 23 26 23 24.9 0 40.9-20 40.9-37.1 0-12.7-9.8-24.3-26.3-24.3m-14.1 57.9c-5.6 0-10.5-3.8-10.5-10.8 0-8.7 8.6-43.6 26-43.6 4.3 0 8.9 1.9 8.9 10.5 0 12.8-8.4 43.9-24.4 43.9M635.1 139.9l11.3-30.6h-15.1l-9.7 30.1a120.6 120.6 0 0 1-14.1 13.1c-13.5 9.5-20.6 11.3-26.5 11.3s-13.2-2.7-13-11.3c14.4-3.2 48.9-11.9 48.9-30.8 0-5.1-4-13.2-18.1-13.2-21.9 0-42.1 16.1-45.8 35.7a120 120 0 0 1-11 9.4c-5.4 3.8-13.5 8.9-23 8.9-7.6 0-11.1-4.1-11.1-10.5 0-15.4 11.4-39.6 26.5-39.2 10.8.3 12.9 7.8 17.8 8.3s4.6-6.1 2.7-8-9.4-4.6-16.4-4.6c-31.4 0-48.1 29.7-48.1 45.6a20.7 20.7 0 0 0 .6 5c-4.2 3.4-7.6 5.6-10.7 5.6s-3.8-1.1-3.8-4.1 1.1-5.1 1.9-7.8l5.4-16.5c1.4-4.3 3.5-10.6 3.5-15.1 0-7.3-5.4-12.5-12.9-12.5-13.5 0-25.7 12.2-40 40.6l13.6-40h-15.4l-15.1 46.2c-6.9 5.2-11.7 8.3-15.3 8.3-.8 0-3.8 0-3.8-4 0-2.2.9-4.1 2.5-8.9l3.8-11.6c2.4-7.1 8.6-25.2 10.5-30h-17.3a281 281 0 0 1-15.7 31c-3.7 6.8-12.9 22.2-22.1 22.2-7.6 0-8.7-7.8-8.7-11.1 0-14 13.3-38.6 29.2-38.6a25.8 25.8 0 0 1 9.7 2.1l3-6.2c-1.6 0-7.3-.5-10-.5-26.7 0-49.2 23.5-49.2 45.6a15.5 15.5 0 0 0 .3 3.1c-5.9 4.5-11.1 8-14.5 8a3.296 3.296 0 0 1-3.5-3.2c0-2.7 1.6-7.3 2.4-9.7l4.9-13c2.1-6.2 4.3-11.9 4.3-18.1s-4.9-11.9-13.3-11.9c-14.8 0-25.6 16.7-34.6 31.1a52.2 52.2 0 0 0 4.6-18.4c0-1.1 0-12.7-10.8-12.7-17.8 0-31 23.5-38.3 37.6l11.8-37.3h-15.3l-19 59.7h15.3c11.9-25.6 16.9-34.2 27.2-45.9 1.3-1.6 6.2-7.2 10.5-7.2s4.1 4.8 4.1 5.4c0 4.8-2.5 12.4-10.3 37.8l-3.3 10H272c4.1-11.9 7.3-21.6 17.9-37 3.8-6 11.1-16.2 17.5-16.2 1.4 0 4.4.8 4.4 4.8s-2.2 9.2-3.5 12.7l-5.7 15.1c-.8 2.5-2.5 6.8-2.5 11.4 0 3 .6 11.1 11.9 11.1 7.8 0 17.2-6 23.3-10.7 2.1 5.6 7.1 9.6 15.3 9.6 16.8 0 26.8-14.9 30-20.3l10.6-18.1c-3.6 8.9-7.6 22.2-7.6 28.7s3.5 10 11.3 10 15.3-4.9 20.8-9.4L413 169h15.3c3.6-8.3 23.4-52.9 38-52.9 1.6 0 4.6.8 4.6 4.9s-1.4 7-2.2 9.4l-5.4 16.3c-.8 2.9-2.4 9.1-2.4 12.9 0 7.9 5.6 10.8 11.9 10.8s13.3-3.4 19.4-8.1c2.4 4.6 7.4 8.1 16.3 8.1 15.9 0 28.3-8.9 35.6-14a65 65 0 0 0 8.3-7.4v1.8c0 14.9 11.8 19.7 22.4 19.7 13 0 22.1-6.2 34.3-14.8a80.3 80.3 0 0 0 10.6-10.1l-7.5 23.4h16c13.7-30.2 82.2-93.8 129.6-106.7-47 12.6-106.8 50.9-122.7 77.6m-37.9-27.4c6.5 0 8.1 4.3 8.1 6.8s-.2 18.6-37 29.1c1.9-11.8 14.1-35.9 28.9-35.9"/></svg>');

  --IMG-URL--CircleArrow-Green: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="none"><circle cx="20" cy="20" r="20" fill="%23E6F4F0"/><path stroke="%233A9D7F" stroke-width="3" d="M16.818 13.182 23.637 20l-6.819 6.819"/></svg>');
}

/*
 * フォント
 * ---------------------------------------- */
.font-noto-R {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.font-noto-M {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.font-noto-B {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.font-line-B {
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  /* font-feature-settings: "palt" 1; */
}
.font-line-EB {
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 800;
  font-style: normal;
}
.font-geologica {
  font-family: "Geologica", sans-serif;
  font-weight: 700;
  font-style: normal;
}

/*
 * アイコン
 * ---------------------------------------- */
.v2Icon {
  display: inline-block;
  width: 1.3em;
  height: 1.3em;
  background-color: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
}
.v2Icon.-green {
  color: var(--green--primary);
}
.v2Icon.-gray {
  color: var(--gray--dark);
}
.v2Icon.-faq {
  mask-image: var(--IMG-URL--FAQ);
}
.v2Icon.-circleCheck {
  mask-image: var(--IMG-URL--CircleCheck);
}
.v2Icon.-openInNew {
  mask-image: var(--IMG-URL--OpenInNew);
}
.v2Icon.-arrowDownSimple {
  mask-image: var(--IMG-URL--ArrowDown-Simple);
}
.v2Icon.-close {
  mask-image: var(--IMG-URL--Close);
}

.v2Icon.-large {
  width: 2.2em;
  height: 2.2em;
}


/*
 * 汎用クラス
 * ---------------------------------------- */
.SPNone {
  display: none;
}
.PCOnly {
  display: none;
}
@media screen and (min-width: 740px) {
  .PCNone {
    display: none;
  }
  .SPNone {
    display: block;
  }
}
@media screen and (min-width: 910px) {
  .PCOnly {
    display: block;
  }
}

.safariDBG {
  transform: translateZ(0px);
}


.v2RomancerLogo {
  display: block;
  aspect-ratio: 757 / 170;
  background-color: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-image: var(--IMG-URL--Logo-Romancer);
}
.v2RomancerLogo.-white {
  color: var(--white--primary);
}

.v2EffectShadowBox {
  position: relative;
  border-radius: 40px;
  border-radius: clamp(24px, 6vw, 40px);
  border: solid 5px var(--black--primary);
  /* box-shadow: 0 36px 0 -26px var(--black--primary); */
}
.v2EffectShadowBox::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 14px 0;
  inset: 0 clamp(12px, 4vw, 24px) 0;
  border-radius: 40px;
  border-radius: clamp(24px, 6vw, 40px);
  background-color: var(--black--primary);
  translate: 0 20px;
  z-index: -1;
}
.v2Section:has( .v2EffectShadowBox) {
  z-index: 0;
}

.v2FlexSet {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.v2FlexSet.-gap-4px {
  gap: 4px;
}
.v2FlexSet.-gap-12px {
  gap: 12px;
}
.v2FlexSet > * {
  flex: 1;
}
.v2FlexSet.-JC-flexEnd {
  justify-content: end;
}
.v2FlexSet.-JC-flexEnd > * {
  flex: 0 0 fit-content;
}
.v2FlexSet.-JC-spaceAround {
  justify-content: space-around;
}
.v2FlexSet.-dir-column {
  flex-direction: column;
}

.v2GridFlow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, max-content));
  align-content: stretch;
  align-items: stretch;
  justify-content: center;
  gap: 12px;
}

.v2Buttons {
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 20px;
}
.v2Buttons.-center {
  justify-content: center;
}
.v2Buttons_container {
  flex: 0 0 fit-content;
}

.v2Button {
  --button_bg: var(--white--primary);
  --button_color: var(--black--primary);
  --button-hover_bg: var(--gray--medium);
  --button-hover_color: currentColor;

  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 6px 10px;
  width: fit-content;
  padding-inline: 1.6em;
  padding-block: .6em;
  border: solid 3px transparent;
  background-color: var(--button_bg);
  color: var(--button_color);
  /* background-color: var(--white--primary);
  color: var(--black--primary); */
  /* font-size: 16px; */
  line-height: 1;
  cursor: pointer;
  transition: background-color .1s, color .1s;
}
  .v2Button:hover {
    /* color: currentColor; */
    background-color: var(--button-hover_bg);
    color: var(--button-hover_color);
    text-decoration: none;
  }
.v2Button.-bg-green {
  /* background-color: var(--green--primary);
  color: var(--white--primary); */
  --button_bg: var(--green--primary);
  --button_color: var(--white--primary);
  --button-hover_bg: var(--green--bright);
  --button-hover_color: var(--white--primary);
}
.v2Button.-bg-blue {
  /* background-color: var(--blue--primary);
  color: var(--white--primary); */
  --button_bg: var(--blue--primary);
  --button_color: var(--white--primary);
  --button-hover_bg: var(--blue--bright);
  --button-hover_color: var(--white--primary);
}
.v2Button.-bg-black {
  /* background-color: var(--black--primary);
  color: var(--white--primary); */
  --button_bg: var(--black--primary);
  --button_color: var(--white--primary);
  --button-hover_bg: var(--gray--dark);
  --button-hover_color: var(--white--primary);
}
.v2Button.-bg-gray {
  /* background-color: var(--gray--dark);
  color: var(--white--primary); */
  --button_bg: var(--gray--dark);
  --button_color: var(--white--primary);
}
.v2Button.-HOVER-softGreen {
  --button-hover_bg: var(--green--soft);
  --button-hover_color: currentColor;
}
.v2Button.-HOVER-softGreen {
  --button-hover_bg: var(--green--soft);
  --button-hover_color: currentColor;
}
.v2Button.-border-green {
  border-color: var(--green--primary);
}
.v2Button.-border-white {
  border-color: var(--white--primary);
}
.v2Button.-border-black {
  border-color: var(--black--primary);
}
.v2Button.-border-thin {
  border-width: 1px;
}
.v2Button.-round {
  border-radius: 999px;
}
.v2Button.-roundedCorner {
  border-radius: 12px;
}
.v2Button.-float {
  filter: drop-shadow(0 4px 4px #00000055);
}
.v2Button.-large {
  font-size: 1.3em;
}
.v2Button.-small {
  padding-inline: 0.8em;
  /* padding-block: .6em; */
  font-size: 0.92em;
}
.v2Button.-text-green {
  color: var(--green--primary);
}

.v2Button[class*=" -mark-"] {
  padding-inline-end: 1em;
}
.v2Button[class*=" -mark-"]::after {
  content: "";
  display: inline-block;
  width: 1.3em;
  height: 1.3em;
  mask-repeat: no-repeat;
}
.v2Button.-mark-arrow::after {
  background-color: currentColor;
  mask-position: center;
  mask-image: var(--IMG-URL--ArrowRight);
}
.v2Button.-mark-openInNew::after {
  background-color: currentColor;
  mask-position: center;
  mask-image: var(--IMG-URL--OpenInNew);
}
.v2Button.-mark-circleArrow::after {
  flex: 0 0 auto;
  width: 2em;
  height: 2em;
  background-image: var(--IMG-URL--CircleArrow-Green);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

  .v2Button_container {
    flex: 1 1 fit-content;
    display: flex;
    flex-flow: column nowrap;
    gap: 4px;
  }
    .v2Button_header {
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      gap: 6px;
      font-size: 1.05em;
      line-height: 1.2;
      word-break: auto-phrase;
    }
    .v2Button_desc {
      line-height: 1.2;
      word-break: auto-phrase;
    }

.v2Text.-bold {
  font-weight: bold;
}
.v2Text.-small {
  font-size: .9em;
}
.v2Text.-large {
  font-size: 1.15em;
}
.v2Text.-white {
  color: var(--white--primary);
}
.v2Text.-gray {
  color: var(--gray--forText);
}
.v2Text.-center {
  text-align: center;
}

.badge {
  padding: 6px 12px;
  width: fit-content;
  border-radius: 6px;
  background-color: var(--green--primary);
  color: var(--white--primary);
  line-height: 1;
}

.v2Box {
  flex: 1 0 fit-content;
  display: flex;
  align-items: center;
  padding: 8px 4px;
  border-radius: 8px;
}
.v2Box.-AI-start {
  align-items: start;
}
.v2Box.-dir-column {
  flex-flow: column nowrap;
}
.v2Box.-radius-large {
  border-radius: 16px;
}
.v2Box.-bg-white {
  background-color: var(--white--primary);
}
.v2Box.-bg-softGreen {
  background-color: var(--green--soft);
}
.v2Box.-border-gray {
  border: solid 2px var(--gray--medium);
}
.v2Box.-border-thin {
  border-width: 1px;
}
.v2Box.-gap-12px {
  gap: 12px;
}
.v2Box.-gap-large {
  gap: 21px;
}
.v2Box.-pd-large {
  padding: 24px;
}
.v2Box_heading {
  font-size: 1.4em;
  word-break: auto-phrase;
  line-height: 1.4;
}


.v2FileItem {
  flex: 0 0 auto;
  display: flex;
  flex-flow: row nowrap;
  gap: 8px;
  align-items: center;
  padding: 0 8px;
}
.v2FileItem_img {
  display: block;
  width: 54px;
}
.v2FileItem_name {
  font-weight: bold;
}

/*
 * html / body
 * ---------------------------------------- */
html, body {
  color: var(--black--primary);
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
  scroll-behavior: smooth;
}

/* ========================================
 * ページ構成
 * ---------------------------------------- */
/*
 * ヘッダー
 * ---------------------------------------- */
.v2HeaderMenu {
  order: 3;
  flex: 1 0 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-around;
  align-items: center;
  gap: 6px;
  margin: 0 -15px;
  padding: 0 32px 0 16px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}
.v2HeaderMenu_item {
  position: relative;
  white-space: nowrap;
}
.v2HeaderMenu_hr {
  flex: 0 0 2px;
  margin: 0 6px;
  width: 2px;
  height: 16px;
  border: none;
  background-color: var(--gray--medium);
}
.logged-in .v2HeaderMenu_hr,
.logged-in .v2HeaderMenu_link.-more > .v2Icon.-arrowDownSimple {
  background-color: var(--gray--light);
}
  .v2HeaderMenu_link:not(.-more) {
    padding: 5px 12px;
    border-radius: 999px;
    border: solid 1px var(--gray--medium);
    background-color: var(--white--primary);
  }
  .v2HeaderMenu_link {
    display: flex;
    align-items: center;
    color: var(--black--primary);
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
  }
  .v2HeaderMenu_link:hover {
    color: var(--green--primary);
    text-decoration: none;
  }
  .v2HeaderMenu_link.-more {
    margin: 0;
  }
  .logged-in .v2HeaderMenu_link.-more {
    color: var(--white--primary);
  }
  .v2HeaderMenu_link.-more > .v2Icon {
    width: 1.8em;
    height: 1.8em;
    transition: rotate .2s;
  }
  .v2HeaderMenu_link.-more:has(> #v2SubMenuOpen:checked) > .v2Icon {
    rotate: 180deg;
  }

.v2HeaderSubMenu {
  display: none;
  flex-flow: column nowrap;
  gap: 21px;
  position: fixed;
  right: 0;
  padding: 28px 22px 20px;
  border-radius: 12px;
  background-color: var(--white--primary);
  translate: -12px 4px;
  box-shadow: 0 3px 6px rgba(0 0 0 / 0.5);
  z-index: 2;
}
.v2HeaderSubMenu_item.-close {
  position: absolute;
  top: 10px;
  right: 10px;
}
  .v2HeaderSubMenu_closeButton {
    margin: 0;
    cursor: pointer;
  }
.v2HeaderMenu_link.-more:has(> #v2SubMenuOpen:checked) + .v2HeaderSubMenu {
  display: flex;
}
  .v2HeaderSubMenu_link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: bold;
    text-decoration: none;
    line-height: 1;
    cursor: pointer;
  }
  .v2HeaderSubMenu_link, .v2HeaderSubMenu_link:visited {
    color: var(--black--primary);
  }
  .v2HeaderSubMenu_link:hover {
    color: var(--green--primary);
    text-decoration: none;
  }

/* 上書き */
.GHeader {
  position: sticky;
  top: -16px;
  background-color: rgba(255 255 255 / 0.88);
  backdrop-filter: blur(8px);
  box-shadow: 0 2px 6px 0 rgba(0 0 0 / 0.2);
}
.logged-in .GHeader {
  backdrop-filter: none;
  contain: layout;
}
.GHeader_content {
  padding-top: 6px;
}
#accMenuOpen {
  border: solid 1px var(--green--primary);
}
#accMenu {
  height: fit-content;
  max-height: calc(100vh - 64px + 16px);
}
.accMenu {
  padding: 1rem 0;
  transition: opacity .3s;
}
.main {
  transition: margin-top .3s;
}
.pageBlock_heading {
  margin-bottom: 6px;
}
.accService_button {
  margin-bottom: 0;
  line-height: 1;
}

body:not(.home):not(.page-template-home-pro):not(.page-template-page-proguest)  {
  padding-top: 0;
}
@media screen and (min-width: 560px) {
  .v2HeaderMenu_link:not(.-more),
  .v2HeaderMenu_link:is(.-more) {
    padding: 0;
    border-radius: 0;
    border: none;
    background-color: transparent;
    font-size: 15px;
  }
  .logged-in .v2HeaderMenu_link:not(.-more),
  .logged-in .v2HeaderMenu_link:is(.-more) {
    color: var(--white--primary);
  }
}
@media screen and (min-width: 740px) {
  .GHeader {
    padding: 0 15px 0;
    height: 100px;
  }
  .GHeader_content {
    flex-flow: wrap;
    max-width: 1024px;
    height: calc(100% - 14px);
  }
  .headerAcc {
    order: 2;
    flex: 0 1 auto;
    margin: 0 0 0 2%;
  }
  .headerLogo {
    flex: 1 1 0px;
    margin-right: 0;
    max-width: 160px;
  }
  .accMenu {
    top: 70px;
  }

  .v2HeaderMenu {
    max-width: 720px;
    margin: auto;
  }
  .v2HeaderSubMenu {
    right: calc(50% - 340px);
  }
}
@media screen and (min-width: 910px) {
  .GHeader {
    padding: 0 15px;
    height: 88px;
  }
  .GHeader_content {
    flex-flow: nowrap;
    padding-top: 0;
    max-width: none;
    height: calc(100% - 16px);
  }
  .headerAcc {
    order: 3;
    flex: 0 0 auto;
    margin: 0 0 0 1%;
  }
  .headerLogo {
    flex: 1 1 100px;
    margin-right: .8rem;
    max-width: 220px;
  }
  .accMenu {
    top: 88px;
  }

  .v2HeaderMenu {
    flex: 0 0 fit-content;
    padding: 0;
    margin: 0 0 0 auto;
    gap: min(18px, 1.5vw);
  }
  .v2HeaderSubMenu {
    right: auto;
    margin-left: -60px;
  }

  .GHeader-static .v2HeaderMenu {
    gap: 12px;
  }
  .GHeader-static .v2HeaderMenu_hr {
    margin: 0 2px;
  }
  .GHeader-static .v2HeaderMenu_link {
    font-size: 14px;
  }
  .GHeader-static .headerAcc {
    margin: 0;
  }
  .GHeader-static .headerAcc_item > .v2Button.-small {
    padding-inline: 0.5em;
  }
}


@media screen and (min-width: 1000px) {
  .accMenu {
    padding: 1rem max(1rem ,50% - 560px) .6rem;
  }
  .pageBlock_heading {
    margin-bottom: 0px;
  }
  .accService_button {
    line-height: unset;
  }
}

/*
 * セクション
 * ---------------------------------------- */
.v2Section {
  display: flex;
  position: relative;
  flex-flow: column nowrap;
  align-items: center;
  padding: 32px 16px;
  background-color: var(--white--primary);
}
.v2Section.-primaryGreen {
  background-color: var(--green--primary);
}
.v2Section.-softGreen {
  background-color: var(--green--soft);
}
.v2Section.-gray {
  background-color: var(--gray--light);
}
.v2Section.-black {
  background-color: var(--black--primary);
}
.v2Section.-hrGreen {
  border-bottom: solid 1px var(--green--primary);
}
.v2Section[id] {
  scroll-margin-top: calc(100px - 17px);
}
  .v2Section_container {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    gap: 32px;
    width: 100%;
    max-width: 1024px;
  }
  .v2Section_container.-white {
    padding: 26px 20px;
    border-radius: 20px;
    background-color: var(--white--primary);
  }
    .v2Section_header {
      display: flex;
      flex-flow: column;
      gap: 10px;
      width: 100%;
    }
      .subHeading {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 4px 8px 4px 4px;
        width: fit-content;
        border-radius: 7px;
        border: solid 2px currentColor;
        color: var(--green--primary);
        line-height: 1;
      }
      .subHeading.-other {
        padding: 4px 8px;
        color: var(--gray--dark);
      }
        .subHeading .badge {
          padding: 3px 6px;
          border-radius: 4px;
        }
      .v2Section_heading {
        font-size: 1.6em;
        line-height: 1.4;
        word-break: auto-phrase;
      }
@media screen and (min-width: 740px) {
  .v2Section {
    padding: 64px 16px;
  }
  .v2Section_heading {
    font-size: clamp(1.8em, 4vw, 2.2em);
  }
  .v2Section_container.-commonPadding {
    padding: 36px clamp(36px, 50% - 402px, 110px);
  }
}
@media screen and (min-width: 910px) {
  .v2Section[id] {
    scroll-margin-top: calc(88px - 17px);
  }
  .v2Section_container.-commonPadding {
    padding: 64px clamp(42px, 50% - 402px, 110px);
  }
}

/*
 * ヒーロー
 */
.v2Section.-ROLE-hero {
  padding: 32px 10px 16px;
  box-shadow: 0 -600px 0 0 var(--green--primary);
}
.v2HeroContainer {
  max-width: 1280px;
  gap: 0;
}

/* @keyframes FirstHeroAnimation {
  0% {
    width: 70%;
    opacity: 0;
  }
  100% {
    width: 100%;
    opacity: 1;
  }
}
@keyframes FirstHeroAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.v2HeroContainer_editorImage {
  animation: FirstHeroAnimation 1s ease-out 1 both;
  margin: auto;
}
.v2HeroContainer_editorImage::before {
  animation: FirstHeroAnimation 0s 1s ease-out 1 backwards;
} */
.editorImageArea {
  background-color: var(--white--primary);
}
.editorImageArea_videoWrapper {
  display: block;
  overflow: hidden;
  border-radius: clamp(24px - 5px, 6vw - 5px, 40px - 5px);
}
  .editorImageArea_video {
    display: block;
    width: 100%;
    /* aspect-ratio: 696 / 434; */
    aspect-ratio: 632 / 434;
    object-fit: cover;
    object-position: center center;
  }

.v2HeroContainer_copy {
  margin-top: -10%;
  z-index: 2;
}
.copyArea {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  gap: 7px;
}
.copyArea_you {
  width: 30%;
}
.copyArea_yourAvatar {
  display: block;
  width: 100%;
}
.copyArea_message {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
}
.copyArea_mainCopy {
  color: var(--white--primary);
  font-size: min(48px, 10vw);
  font-kerning: none;
  letter-spacing: -0.04em;
  line-height: 1.2;
  white-space: nowrap;
}
.copyArea_mainCopy > .small {
  font-size: 82%;
}
.copyArea_subCopy {
  width: min-content;
  padding-inline: 4px;
  background-color: var(--white--primary);
  color: var(--green--primary);
  font-size: min(18px, 5vw);
  line-height: 1.4;
  white-space: pre;
}
.v2HeroContainer_buttons {
  padding-block: 26px 32px;
}
.v2Button.-ROLE-newMessage {
  padding-inline: 1em .6em;
}
@media screen and (min-width: 511px) {
  .editorImageArea {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 330px;
    background-image: url(../images/top_editor_essay_d01.png), url(../images/top_editor_essay_d02.png);
    background-position: left calc(50% + 446px) center, right calc(50% + 450px) center;
    background-size: auto calc(100% - 0.8px);
    background-repeat: no-repeat;
  }
  .editorImageArea_videoWrapper {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .editorImageArea_video {
    aspect-ratio: initial;
    width: 456px;
    height: 320px;
    object-position: left -34px top 0px;
  }

  .v2HeroContainer_copy {
    margin-top: -50px;
  }
  .v2Button.-ROLE-newMessage {
    padding-inline: 1.4em 1.1em;
    font-size: 1.1em;
  }
}
@media screen and (min-width: 660px) {
  .copyArea_subCopy > br {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .copyArea_message {
    flex-flow: row wrap;
    align-items: end;
    justify-content: center;
  }
    .copyArea_you {
      order: 1;
      width: 100%;
    }
      .copyArea_yourAvatar {
        margin: auto;
        width: auto;
        height: 134px;
      }
    .copyArea_mainCopy {
      font-size: max(41px, 5.5vw);
    }
    .copyArea_mainCopy.-first {
      order: 2;
    }
    .copyArea_mainCopy.-second {
      order: 3;
    }
  .copyArea_subCopy {
    white-space: normal;
    width: fit-content;
  }
}
@media screen and (min-width: 970px) {
  .copyArea_message {
    flex-flow: row;
    align-items: end;
  }
    .copyArea_you {
      order: 2;
      margin-left: 6px;
      margin-right: 14px;
      width: fit-content;
    }
      .copyArea_yourAvatar {
        height: 146px;
      }
    .copyArea_mainCopy {
      font-size: clamp(45px, 4.6vw, 52px);
    }
    .copyArea_mainCopy.-first {
      order: 1;
    }
    .copyArea_mainCopy.-second {
      order: 3;
    }
}

/*
 * 大事なお知らせ
 */
.v2Section.-ROLE-pickupInfo {
  padding: 8px 16px;
}
.v2PickupInfoContainer {
  gap: 16px 16px;
  padding-block: 10px;
}
.v2InfoBudge {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background-color: var(--green--primary);
  color: var(--white--primary);
  font-weight: bold;
}
.v2Section.-ROLE-pickupInfo .v2Info_title {
  font-size: 1.15em;
}
@media screen and (min-width: 740px) {
  .v2Section.-ROLE-pickupInfo {
    padding: 0 16px;
  }
  .v2PickupInfoContainer {
    flex-direction: row;
    padding-block: 6px;
  }
  .v2InfoBudge {
    flex: 0 0 164px;
  }
}

/*
 * サブナビゲーション
 */
.v2Section_container.-ROLE-subNavigation {
  gap: 12px;
  max-width: 360px;
}
@media screen and (min-width: 740px) {
  .v2Section.-ROLE-subNavigation {
    padding: 16px 16px;
  }
  .v2Section_container.-ROLE-subNavigation {
    flex-flow: row;
    max-width: 1024px;
  }
  .v2Section_container.-ROLE-subNavigation > .v2Button {
    flex: 1 1 300px;/*  */
  }
  .v2Section_container.-ROLE-subNavigation > .v2Button .v2Button_desc {
    text-wrap-style: balance;
  }
  .v2Section_container.-ROLE-subNavigation > .v2FlexSet {
    /* flex: 1 0 400px; */
    flex: 1 0 400px;
    flex-flow: column;
    align-items: stretch;
  }
  .v2Section_container.-ROLE-subNavigation > .v2FlexSet > .v2Button {
    width: auto;
  }
}
@media screen and (min-width: 960px) {
  .v2Section_container.-ROLE-subNavigation > .v2Button {
    flex: 0 1 350px;
  }
  .v2Section_container.-ROLE-subNavigation > .v2FlexSet {
    flex: 1 1 auto;
    flex-flow: row;
  }
  /* .v2Section_container.-ROLE-subNavigation > .v2FlexSet > .v2Button {
    width: fit-content;
  } */
  .v2Section_container.-ROLE-subNavigation > .v2FlexSet > .v2Button:first-child {
    flex: 1 1 260px;
  }
  .v2Section_container.-ROLE-subNavigation > .v2FlexSet > .v2Button:last-child {
    flex: 1 0 360px;
  }
}

/*
 * アバウト：Romancerとは
 */
/* .v2Section:has(> .v2Section_container.-ROLE-about) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1980' height='1320' viewBox='0 0 900 600'%3E%3Cg fill-opacity='0.03'%3E%3Cpath fill='%23000' d='M306.9 210.2c-1.2-22.8-13.5-42.7-40.8-41.1c-18.3 1.1-35.9 3.6-47.5 20.1c-5.2 7.4-10.6 15.6-11.4 24.9c-0.5 5.8 0.2 12 1.2 17.7c9 49.6 85.3 46.7 96.4 0.2C306.6 224.9 307.3 217.4 306.9 210.2z'/%3E%3Cpath fill='%23000000' d='M137.2 481.3c-13.2-9.9-31.2-13.3-48.5-3.2c-12.6 7.3-19.1 17.4-21.1 28.2c-0.7 2.4-1.2 4.7-1.5 7c-8.2 35.4 33.7 78.9 72.6 48.6C167.6 539.3 164.4 501.6 137.2 481.3z'/%3E%3Cg fill='%23000000' %3E%3Cpath d='M547.9 588.3c-7.1-34.2-61.6-52.7-87.5-16.9c-11.2 11.3-12.7 26.3-7.6 39.7c1.8 7.5 5.5 13.9 10.4 19.1c19.4 20.3 53.4 26.2 72.8 1.9C545.9 619.7 553.9 604.2 547.9 588.3z'/%3E%3Cpath d='M547.9-11.7c-7.1-34.2-61.6-52.7-87.5-16.9c-11.2 11.3-12.7 26.3-7.6 39.7c1.8 7.5 5.5 13.9 10.4 19.1c19.4 20.3 53.4 26.2 72.8 1.9C545.9 19.7 553.9 4.2 547.9-11.7z'/%3E%3C/g%3E%3Cpath fill='%23000000' d='M849.7 498c-22.3 1.3-43.2 7.5-52.7 29.5c-3.3 7.7-7.3 15.7-7 24.3c2 55.6 86.1 63.4 98.8 10.1C890.6 554.6 877.3 496.4 849.7 498z'/%3E%3Cpath fill='%23000000' d='M762 291.1c-8.2-6.1-19.1-1.9-27.3 2.2c-7.4 3.7-14.4 8.2-21.6 12.1c-6.6 3.6-13.7 7-19.8 11.5c-18.3 13.5-2.5 45.1 10.6 56.4c17 14.6 41.6 15.9 59.6 2.1C794.1 351.8 790.7 312.4 762 291.1z'/%3E%3Cpath fill='%23000000' d='M863.3 170.3c-4.5-15.7-17.9-28.8-33.4-34.4c-16.2-5.8-38.4-2.9-51.8 8.1c-14.9 12.2-14.5 31.7-11.4 49c9.6 53.9 84.3 47.7 97-1.3C865.6 184.4 865.3 177.1 863.3 170.3z'/%3E%3Cpath fill='%23000000' d='M598.4 86.1c-10.2 15.5-9.3 34.2-0.9 50.4c2.6 5 6.2 9.5 10.4 13.2c14.2 12.6 35.5 17.1 53.2 9.5c14.3-6.1 23.9-19.8 26.7-34.7C707.4 75.6 629.7 38.5 598.4 86.1z'/%3E%3Cpath fill='%23000000' d='M509.8 413.3c-17.3 22.6-11.8 59 17.5 75.3c22.6 12.6 52.2 1.7 63.8-20.9c21.4-42-9.2-85-56.5-71C523.8 399.9 515.6 405.8 509.8 413.3z'/%3E%3Cpath fill='%23000000' d='M607.4 232.3c-0.5-0.4-1-0.8-1.4-1.2c-16.5-12.8-30.2-22.1-50.3-8.4c-15.5 10.6-29 30.3-31.4 49.1c-4.2 33.6 30.6 46.9 58.6 40.6C619.6 304.2 640.6 259.5 607.4 232.3z'/%3E%3Cpath fill='%23000000' d='M410.6 95c-36.5 1.3-74.1 41.8-43.1 74.3c19.8 20.9 54.4 20.7 74.6 0.5c20.5-20.4 18.4-53.1-6.9-68.6C427.7 96.6 419.2 94.7 410.6 95z'/%3E%3Cpath fill='%23000000' d='M291.3 23c-0.1-0.1-0.1-0.1-0.2-0.2c-14.2-16.9-38.3-25.6-61.4-12.3c-13.5 7.8-20.5 18.7-22.7 30.2c-5.7 18 1.5 34.2 14.2 44.8c15.4 16.8 40.3 24.1 64.2 5.5c9.6-7.4 15-16.3 17.2-25.4C308.6 48.8 302.7 33.6 291.3 23z'/%3E%3Cpath fill='%23000000' d='M419.1 440.6c-16.9-14.5-41.8-21.5-61.7-9.5c-18.3 11.1-1 100.1 32.2 93.5c23.8-4.7 45.3-22.4 48.1-44.3C439.6 466.1 431.5 451.3 419.1 440.6z'/%3E%3Cpath fill='%23000000' d='M127 227c-12-4.3-25.4-2.1-38.7 11.4C71 255.9 61.4 286.1 80.4 306c21.3 22.3 86.9 27.5 89.6-14.9c0.5-8.9-2.7-17.9-6.5-25.8C155.1 248.3 142.1 232.5 127 227z'/%3E%3Cpath fill='%23000000' d='M281.5 407.6c-0.3-0.4-0.7-0.7-1-1c-19.3-17.6-59.1-0.6-78.1 10.3c-23.8 13.7-8.2 41.1 5.4 55.8c16.3 17.6 42.7 25.2 68 5.8C291.3 466.6 295.5 422.7 281.5 407.6z'/%3E%3Cpath fill='%23000000' d='M137.9 110.2c-10.4-25.7-43.3-32.1-67-23.6C60.1 90.4 50 97.8 45.1 108.6c-21.2 47.3 44.9 81.1 78.5 51c9.5-8.5 17.3-18.9 17.4-32.4C141 120.8 139.9 115.1 137.9 110.2z'/%3E%3Cpath fill='%23000000' d='M344.3 284.7c-10 14.9-9.2 34.1-0.9 49.5c3.4 6.3 8.6 13.8 16.1 15.8c7.1 1.9 15.1 0.7 22.1-0.6c15.7-3 45.6-10.5 52.3-26.8C453.5 274.4 375.6 237.9 344.3 284.7z'/%3E%3Cg fill='%23000000' %3E%3Cpath d='M-29.2 431.8c23.4 12.4 54.1 1.7 66.1-20.6c9.6-17.8 10.4-40.4-3.3-56.5c-10.5-12.4-44.2-25.8-58.5-11.3c-3 3.1-5.1 7.1-6.9 10.9C-41.1 373.2-55 418.1-29.2 431.8z'/%3E%3Cpath d='M870.8 431.8c23.4 12.4 54.1 1.7 66.1-20.6c9.6-17.8 10.4-40.4-3.3-56.5c-10.5-12.4-44.2-25.8-58.5-11.3c-3 3.1-5.1 7.1-6.9 10.9C858.9 373.2 845 418.1 870.8 431.8z'/%3E%3C/g%3E%3Cpath fill='%23000' d='M671.4 460.5c-10.7 1.7-20.2 8.3-26.2 22.2c-21.5 49.5 45.4 84.9 79.4 53.3c16.3-15.2 24-31 6.5-48.1c-5.9-5.8-12.3-11-19.1-15.6C699.5 463.7 684.5 458.4 671.4 460.5z'/%3E%3C/g%3E%3C/svg%3E");
  background-attachment: fixed;
} */
.v2Section_container.-ROLE-about {
  padding: 24px max(10%, min(50%, 512px) - 320px);
}
.v2Section_container.-ROLE-about::before,
.v2Section_container.-ROLE-about::after {
  --about--lineWidth: 3px;
  content: "";
  position: absolute;
  inset: 0;
  width: 30px;
  border-style: solid;
  border-width: 0;
  border-color: var(--green--primary);
  pointer-events: none;
}
.v2Section_container.-ROLE-about::before {
  left: -6px;
  right: auto;
  bottom: 6px;
  border-top-width: var(--about--lineWidth);
  border-left-width: var(--about--lineWidth);
  border-top-left-radius: 12px;
}
.v2Section_container.-ROLE-about::after {
  top: 6px;
  left: auto;
  right: -6px;
  border-right-width: var(--about--lineWidth);
  border-bottom-width: var(--about--lineWidth);
  border-bottom-right-radius: 12px;
}
.v2Button.-ROLE-firstRead {
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  padding-inline: 0;
  margin: auto;
  min-width: 240px;
  max-width: 280px;
  border-radius: 16px;
  border: solid 3px var(--black--primary);
  transition: filter .2s, border-color .1s;
}
.v2Button.-ROLE-firstRead:hover {
  border-color: var(--green--primary);
  --button-hover_bg: var(--button_bg);
  --button-hover_color: var(--button_color);
  filter: drop-shadow(0 5px 6px rgba(0 0 0 / 0.35));
}
  .v2Button.-ROLE-firstRead .v2Button_header {
    justify-content: center;
    padding: 6px 4px 12px;
    border-bottom: solid 1px var(--black--primary);
    font-size: 1.1em;
  }
    .v2Button.-ROLE-firstRead .badge {
      padding: 3px 6px;
    }
  .v2Button.-ROLE-firstRead .v2Button_desc {
    display: flex;
    justify-content: center;
    gap: 20px;
    align-items: center;
    padding: 6px 4px 2px;
    color: var(--green--primary);
    line-height: 1.4;
  }
    .v2Button.-ROLE-firstRead .v2Button_desc::after {
      content: "";
      display: inline-block;
      width: 1.3em;
      height: 1.3em;

      flex: 0 0 auto;
      width: 2em;
      height: 2em;
      background-image: var(--IMG-URL--CircleArrow-Green);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
    }
@media screen and (min-width: 740px) {
  .v2Section_container.-ROLE-about::before,
  .v2Section_container.-ROLE-about::after {
    --about--lineWidth: 6px;
    width: 70px;
  }
  .v2Section_container.-ROLE-about::before {
    left: 0;
  }
  .v2Section_container.-ROLE-about::after {
    right: 0;
  }
  .v2FlexSet.-ROLE-firstRead {
    justify-content: center;
  }
  .v2Button.-ROLE-firstRead {
    margin: 0;
    padding-block: .8em;
    min-width: 260px;
    max-width: 320px;
    border-radius: 26px;
  }
  .v2Button.-ROLE-firstRead .v2Button_header {
    font-size: 1.2em;
  }
}
@media screen and (min-width: 800px) {
  .v2Box.-ROLE-price {
    flex-direction: row;
  }
  .v2Box.-ROLE-price .v2Text {
    word-break: auto-phrase;
  }
  .v2Box.-ROLE-price .v2FlexSet {
    flex: 1 0 auto;
  }
}
/*
 * エディター
 */
.v2EditorVideoContainer {
  /* display: flex; */
  display: grid;
  margin-left: -36px;
  margin-right: -36px;
  z-index: 0;
}
.v2EditorVideoContainer_descList {
  display: flex;
  flex-flow: row nowrap;
  list-style: none;
  margin: 0;
  padding: 0 16px 21px;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-color: silver transparent;
}
.v2EditorVideoContainer_item {
  flex: 0 0 auto;
  position: relative;
  width: 20em;
  background-color: var(--white--primary);
  border: solid 4px var(--white--primary);
  border-left: none;
  border-right: none;
  word-break: auto-phrase;
}
.v2EditorVideoContainer_item:first-child {
  border-radius: 16px 0 0 16px;
  border-left: solid 4px var(--white--primary);
}
.v2EditorVideoContainer_item:last-child {
  border-radius: 0 16px 16px 0;
  border-right: solid 4px var(--white--primary);
}
.v2EditorVideoContainer_item:has( input[name="v2EditorVideo"]:checked)::after {
  content: url('data:image/svg+xml; utf8, <svg viewBox="0 0 48 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 24C24 24 24 0 0 0L48 0C24 0 24 24 24 24Z" fill="rgb(58, 157, 127)"/></svg>');
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 42px;
  height: 26px;
}
  .v2EditorVideoContainer_label {
    margin: 0;
    padding: 10px 16px;
    border: solid 4px var(--green--primary);
    border-left-width: 1px;
    border-right-width: 1px;
    cursor: pointer;
  }
  .v2EditorVideoContainer_item:first-child > .v2EditorVideoContainer_label {
    border-radius: 13px 0 0 13px;
    border-left-width: 4px;
  }
  .v2EditorVideoContainer_item:last-child > .v2EditorVideoContainer_label {
    border-radius: 0 13px 13px 0;
    border-right-width: 4px;
  }
  .v2EditorVideoContainer_label:has( input[name="v2EditorVideo"]:checked) {
    background-color: var(--green--primary);
    color: var(--white--primary);
  }
  .v2EditorVideoContainer_label:not(:has( input[name="v2EditorVideo"]:checked)):hover {
    background-color: var(--green--soft);
  }

    .v2EditorVideoContainer_heading {
      font-size: 1.1em;
      font-weight: bold;
    }
.v2EditorVideoContainer_videoWrapper {
  background-color: var(--white--primary);
}
  .v2EditorVideoContainer_video {
    display: block;
    width: 100%;
    /* aspect-ratio: 16 / 9; */
    aspect-ratio: 500 / 312;
    border-radius: clamp(24px - 5px, 6vw - 5px, 40px - 5px);
  }
@media screen and (min-width: 740px) {
  .v2Section_container.-ROLE-aboutEditor {
    /* padding: 36px clamp(24px, 50% - 402px, 110px); */
    align-items: center;
  }
  /* .v2EditorVideoContainer {
    margin: auto;
  } */
  .v2EditorVideoContainer_descList {
    width: 100vw;
  }
  .v2EditorVideoContainer {
    margin-bottom: 16px;
  }
  .v2EditorVideoContainer_videoWrapper {
    width: 90%;
    justify-self: center;
    max-width: 700px;
  }
  .subHeading.-other + .v2Section_heading {

  }
}
@media screen and (min-width: 910px) {
  .v2EditorVideoContainer {
    grid-auto-flow: column;
    width: 96vw;
    max-width: 1260px;
    margin: 16px 0;
    grid-template-columns: min-content;
  }
  .v2EditorVideoContainer_descList {
    align-self: center;
    flex-flow: column;
    padding: 0 32px 0 0;
    width: min-content;
  }
    .v2EditorVideoContainer_item {
      border: solid 4px var(--white--primary);
      border-top: none;
      border-bottom: none;
    }
      .v2EditorVideoContainer_item:has( input[name="v2EditorVideo"]:checked)::after {
        top: 0;
        left: calc(100% - 9px);
        right: auto;
        bottom: 0;
        margin: auto;
        rotate: -90deg;
      }
    .v2EditorVideoContainer_label {
      margin: 0;
      padding: 10px 16px;
      border: solid 4px var(--green--primary);
      border-top-width: 1px;
      border-bottom-width: 1px;
    }
    .v2EditorVideoContainer_item:first-child {
      border-radius: 16px 16px 0 0;
      border-top: solid 4px var(--white--primary);
    }
    .v2EditorVideoContainer_item:first-child > .v2EditorVideoContainer_label {
      border-radius: 13px 13px 0 0;
      border-top-width: 4px;
    }
    .v2EditorVideoContainer_item:last-child {
      border-radius: 0 0 16px 16px;
      border-bottom: solid 4px var(--white--primary);
    }
    .v2EditorVideoContainer_item:last-child > .v2EditorVideoContainer_label {
      border-radius: 0 0 13px 13px;
      border-bottom-width: 4px;
    }
  .v2EditorVideoContainer_videoWrapper {
    align-self: center;
    width: 100%;
    max-width: none;
    height: fit-content;
  }
}

/*
 * 完成した後は
 */
.v2WholePicture {
  display: block;
  width: 100%;
}
.v2WholePicture_img {
  display: block;
  margin: auto;
  width: 96%;
  max-width: 335px;
}
.e4key {
  flex: 0 0 auto;
}

.v2Section_container.-ROLE-yourRights {
  margin-top: 30px;
  padding: 4px;
}
.yourRights {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 18px;

  padding: 24px 16px;
  border-radius: 16px;
  border: solid 4px var(--green--soft);
}
.yourRights_header {
  min-width: 200px;
  font-size: 1.2rem;
}
.yourRights_list {
  margin: 0;
  padding-inline-start: 20px;
}
.yourRights_item:not(:last-child) {
  margin-block-end: 12px;
}
/* @media screen and (min-width: 600px) {
  .v2WholePicture_img {
    max-width: none;
    width: 100%;
  }
} */
@media screen and (min-width: 740px) {
  .v2WholePicture {
    align-self: center;
    margin-top: 32px;
    width: calc(100vw - 48px - 32px);
    max-width: 940px;
  }
    .v2WholePicture_img {
      max-width: none;
      width: 100%;
    }
}

/*
 * 料金
 */
.v2PriceList {
  display: flex;
  flex-flow: column nowrap;
  gap: 32px;
  margin: auto;
  max-width: 560px;
}
.v2PriceList_plan {
  --planThemeColor__bg: var(--gray--light);
  --planThemeColor__border: var(--gray--dark);

  display: flex;
  flex-flow: column nowrap;
  border: solid 4px var(--planThemeColor__border);
}
.v2PriceList_plan.-free {
  --planThemeColor__bg: var(--gray--light);
  --planThemeColor__border: var(--gray--dark);
}
.v2PriceList_plan.-monthly {
  --planThemeColor__bg: var(--green--soft);
  --planThemeColor__border: var(--green--primary);
}
  .v2PriceList_plan > *:not(:last-child) {
    border-bottom: solid 2px var(--planThemeColor__border);
  }
.v2PriceList_header {
  display: grid;
  justify-items: stretch;
  align-items: stretch;
  grid-auto-rows: 54px;
}
  .v2PriceList_name {
    display: grid;
    align-items: center;
    justify-items: center;
    font-size: 1.4em;
  }
  .v2PriceList_name:is(.v2PriceList_plan.-free *) {
    background-color: var(--planThemeColor__bg);
  }
  .v2PriceList_name:is(.v2PriceList_plan.-monthly *) {
    background-color: var(--planThemeColor__border);
    color: var(--white--primary);
  }
  .v2PriceList_price {
    display: grid;
    align-items: center;
    justify-items: center;
  }
    .v2PriceLabel {
      display: flex;
      align-items: baseline;
      gap: 4px;
    }
      .v2PriceLabel_small {
        font-size: 1em;
      }
      .v2PriceLabel_large {
        font-size: 2em;
      }
.v2PriceList_row {
  display: grid;
  justify-items: stretch;
  align-items: stretch;
  grid-template-columns: 9.8em 1fr;
  /* grid-auto-columns: 54px;
  grid-auto-flow: column; */
  min-height: 100px;
}
  .v2PriceList_rowHeader {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-items: center;
    justify-content: center;
    gap: 4px;
    background-color: var(--planThemeColor__bg);
    border-right: solid 2px var(--planThemeColor__border);
    line-height: 1.2;
  }
  .v2PriceList_data {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    align-content: center;
    justify-items: center;
    justify-content: center;
    gap: 5%;
    padding: 16px 6px;
  }
    .v2PlanSize {
      display: flex;
      align-items: baseline;
      gap: 2px;
    }
      .v2PlanSize_small {}
      .v2PlanSize_large {
        font-size: 1.5em;
      }
    .v2PriceList_noneMark {
      display: block;
      width: 34px;
      height: 3px;
      background-color: var(--gray--forText);
    }
    .v2PriceList_textList {
      margin: 0;
      padding: 0;
      padding-inline-start: 1.6em;
      padding-inline-end: .8em;
      line-height: 1.4;
      word-break: auto-phrase;
    }
      .v2PriceList_textListItem:not(:last-child) {
        margin-bottom: 8px;
      }
@media screen and (min-width: 910px) {
  .v2PriceList {
    flex-flow: row nowrap;
    gap: 0;
    max-width: none;
  }
    .v2PriceList_plan.-free {
      border-top: none;
      border-left: none;
      border-right: none;
    }
    .v2PriceList_plan.-free > .v2PriceList_header {
      margin-left: calc(9.8em - 4px);
      border-top: solid 4px var(--planThemeColor__border);
      border-left: solid 4px var(--planThemeColor__border);
    }
    .v2PriceList_plan.-free > .v2PriceList_header + .v2PriceList_row > .v2PriceList_rowHeader {
      margin-top: -4px;
      border-top: solid 4px var(--planThemeColor__border);
    }
    .v2PriceList_plan.-free > .v2PriceList_row > .v2PriceList_rowHeader {
      border-left: solid 4px var(--planThemeColor__border);
    }
    .v2PriceList_plan.-monthly .v2PriceList_row {
      grid-template-columns: 1fr;
    }
    .v2PriceList_plan.-monthly .v2PriceList_rowHeader {display: none;}
}

/*
 * いろいろ情報
 */
.v2Info {
  display: flex;
  flex-flow: column nowrap;
}
.v2Info_item {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 12px;
  color: var(--black--primary);
}
.v2Info > .v2Info_item {
  padding-block: 12px;
  border-bottom: solid 1px var(--gray--medium);
}
.v2Info > .v2Info_item:first-child {
  border-top: solid 1px var(--gray--medium);
}
.v2Info > :last-child {
  margin-top: 12px;
}
.v2Info_item:hover {
  background-color: var(--green--soft);
  color: currentColor;
  text-decoration: none;
}
.v2Info_thumb {
  display: block;
  width: clamp(100px, 22%, 120px);
  height: auto;
}
.v2Info_overview {
  flex: 1;
  display: flex;
  flex-flow: column nowrap;
  gap: 6px;
}
.v2Info_title {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  height: 2lh;
  font-weight: bold;
  line-height: 1.1;
}
.v2Info_titleClamp {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}
.v2Info_data {
  line-height: 1;
}
.v2Info_date {
  color: var(--gray--dark);
}
.v2Info_genre {
  color: var(--green--primary);
  font-weight: bold;
}

@media screen and (min-width: 740px) {
  .v2Section.-ROLE-info {
    padding: 48px 16px;
  }
  .v2Section_container.-ROLE-info {
    flex-flow: row;
    justify-content: space-between;
  }
  .v2Info {
    max-width: 670px;
  }
}


/*
 * フッター
 * ---------------------------------------- */
.v2Section_container.-ROLE-footer {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  gap: 26px 16px;
  padding: 21px 12px 36px;
  color: var(--white--primary);
}
.footer_ci {
  flex: 0 0 auto;
  /* max-width: 200px; */
}
  .footer_logo {
    width: 180px;
  }
  .footer_copyright {
    font-size: 12px;
  }
.footer_sitemap {
  flex: 1 1 auto;
  display: flex;
  flex-flow: row wrap;
  gap: 42px 26px;
  padding-top: 8px;
  max-width: fit-content;
  height: fit-content;
}
  .footer_linkGroup {
    flex: 1 1 200px;
    display: flex;
    flex-flow: column;
    gap: 16px;
    min-width: 156px;
    max-width: max-content;
  }
    .footer_linkGroup > .footer_linkWrapper {
      font-weight: bold;
      line-height: 1.2;
    }
      .footer_linkGroup > .footer_linkGroup {
        flex: 0 0 auto;
        gap: 8px;
        padding-left: 12px;
        border-left: solid 2px var(--white--primary);
      }
      .footer_linkGroup > .footer_linkGroup > .footer_linkWrapper {
        font-weight: normal;
      }
        .footer_link, .footer_link:hover, .footer_link:visited {
          color: var(--white--primary);
          font-size: 14px;
        }
@media screen and (min-width: 740px) {
  .v2Section.-ROLE-footer {
    padding: 21px 12px 36px;
  }
}