@charset "UTF-8";
*, *::before, *::after {
  box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

li {
  list-style-type: none;
}

* {
  outline-color: #1587c9;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: 60px;
}

body {
  background: #f1eee2;
  color: #333;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  word-break: break-all;
  overflow-wrap: break-word;
}

div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, form, input, textarea, button, table, tr, th, td, article, aside, footer, header, hgroup, nav, section, img {
  box-sizing: border-box;
}

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

table {
  max-width: 100%;
  table-layout: fixed;
}

a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  color: #1587c9;
  text-decoration: none;
  cursor: pointer;
}
a:not([class]) {
  text-decoration: underline;
}
@media (any-hover: hover) {
  a:not([class]):hover {
    opacity: 0.7;
  }
}

button {
  font-weight: 500;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  cursor: pointer;
}
@media (any-hover: hover) {
  button:not([class]):hover {
    opacity: 0.7;
  }
}

b,
em,
strong {
  font-weight: bold;
}

iframe {
  max-width: 100%;
}

[v-cloak]:not([v-cloak-text]) {
  display: none;
}
[v-cloak][v-cloak-text] {
  color: transparent;
}

pre {
  word-wrap: break-word;
  overflow: auto;
  white-space: pre-wrap;
}

label {
  cursor: pointer;
}

legend {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
legend + * {
  clear: both;
}

fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

/**************************************************
 *
 * 共通
 *
 **************************************************/
html {
  scroll-behavior: smooth;
}

body > .wrapper {
  -webkit-backface-visibility: hidden;
  display: grid;
  position: relative;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 1fr;
  min-height: 100vh;
  backface-visibility: hidden;
}

.inner {
  width: 1200px;
  max-width: 1200px;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .inner {
    width: 100%;
    max-width: 100%;
    padding-inline: 12px;
  }
}

/**************************************************
 *
 * ヘッダー
 *
 **************************************************/
body > .wrapper > header {
  grid-row: 1;
}

/**************************************************
 *
 * main
 *
 **************************************************/
body > .wrapper > main {
  grid-row: 2;
}

/**************************************************
 *
 * フッター
 *
 **************************************************/
body > .wrapper > footer {
  grid-row: 3;
}

/**************************************************
 *
 * ヘッダー、グロナビ
 *
 **************************************************/
body > .wrapper > header {
  position: relative;
}
@media screen and (max-width: 800px) {
  body > .wrapper > header:has(+ main .siteTopHeader) .headerHeadLine {
    padding: 0.5em 12px;
  }
}
@media screen and (max-width: 800px) {
  body > .wrapper > header .inner {
    padding-inline: unset;
  }
}

.headerHeadLine {
  display: flex;
  justify-content: center;
  padding: 0.5em 12px;
  border-bottom: clamp(2px, calc(2/375*100vw), 3px) solid #b50000;
  background-color: #000;
  color: #fff;
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}
.headerHeadLine strong {
  font-weight: normal;
}
@media screen and (max-width: 800px) {
  .headerHeadLine {
    padding-left: 110px;
  }
}

.globalNavigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: clamp(6px, calc(6/375*100vw), 18px);
  gap: 0 clamp(18px, calc(18/375*100vw), 60px);
}
@media screen and (max-width: 800px) {
  .globalNavigation {
    padding-inline: 12px;
    padding-block: 0 clamp(6px, calc(6/375*100vw), 18px);
  }
  .globalNavigation .globalNavigationLinkList {
    background-color: #fff;
  }
}

.headerLogo {
  display: block;
  flex: 0 0 clamp(100px, calc(100/375*100vw), 180px);
  padding: 18px 18px;
  border: 3px solid #000;
  border-radius: 10px;
  background-color: #fff;
}
@media screen and (max-width: 800px) {
  .headerLogo {
    display: grid;
    position: absolute;
    top: 0;
    left: 0;
    place-items: center;
    width: 100px;
    padding: 0.85em 0.5em;
    border: unset;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    border-radius: 0 0 10px 0;
  }
}

.globalNavigationLinkList {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  flex: 1 0 0%;
  padding-block: clamp(6px, calc(6/375*100vw), 9px);
  gap: clamp(6px, calc(6/375*100vw), 18px);
}
@media screen and (max-width: 800px) {
  .globalNavigationLinkList {
    display: flex;
    margin-inline: -12px;
    padding-inline: 12px;
    overflow-x: auto;
  }
  .globalNavigationLinkList::-webkit-scrollbar {
    height: 10px;
    background-color: #eee;
  }
  .globalNavigationLinkList::-webkit-scrollbar-thumb {
    border-radius: 100rem;
    background-color: #ddd;
  }
}

.globalNavigationLinkListItem [class^=bt] {
  grid-template-columns: repeat(3, auto);
  width: 100%;
  padding-inline: 1em;
  gap: 0 0.5em;
  font-weight: bold;
  font-size: clamp(10px, calc(10/375*100vw), 13px);
}
.globalNavigationLinkListItem [class^=bt]::before {
  visibility: visible;
  width: 1.25em;
  height: 1.25em;
  border: unset;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
.globalNavigationLinkListItem._review [class^=bt]::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22lucide%20lucide-file-text%22%3E%3Cpath%20d%3D%22M15%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V7Z%22%2F%3E%3Cpath%20d%3D%22M14%202v4a2%202%200%200%200%202%202h4%22%2F%3E%3Cpath%20d%3D%22M10%209H8%22%2F%3E%3Cpath%20d%3D%22M16%2013H8%22%2F%3E%3Cpath%20d%3D%22M16%2017H8%22%2F%3E%3C%2Fsvg%3E");
}
.globalNavigationLinkListItem._actress [class^=bt]::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%209.5a5.5%205.5%200%200%201%209.591-3.676.56.56%200%200%200%20.818%200A5.49%205.49%200%200%201%2022%209.5c0%202.29-1.5%204-3%205.5l-5.492%205.313a2%202%200%200%201-3%20.019L5%2015c-1.5-1.5-3-3.2-3-5.5%22%2F%3E%3C%2Fsvg%3E");
}
.globalNavigationLinkListItem._feature [class^=bt]::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22lucide%20lucide-zap%22%3E%3Cpath%20d%3D%22M4%2014a1%201%200%200%201-.78-1.63l9.9-10.2a.5.5%200%200%201%20.86.46l-1.92%206.02A1%201%200%200%200%2013%2010h7a1%201%200%200%201%20.78%201.63l-9.9%2010.2a.5.5%200%200%201-.86-.46l1.92-6.02A1%201%200%200%200%2011%2014z%22%2F%3E%3C%2Fsvg%3E");
}
.globalNavigationLinkListItem._tag [class^=bt]::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12.586%202.586A2%202%200%200%200%2011.172%202H4a2%202%200%200%200-2%202v7.172a2%202%200%200%200%20.586%201.414l8.704%208.704a2.426%202.426%200%200%200%203.42%200l6.58-6.58a2.426%202.426%200%200%200%200-3.42z%22%2F%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%227.5%22%20r%3D%22.5%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E");
}
.globalNavigationLinkListItem._survey [class^=bt]::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22lucide%20lucide-chart-column%22%3E%3Cpath%20d%3D%22M3%203v16a2%202%200%200%200%202%202h16%22%2F%3E%3Cpath%20d%3D%22M18%2017V9%22%2F%3E%3Cpath%20d%3D%22M13%2017V5%22%2F%3E%3Cpath%20d%3D%22M8%2017v-3%22%2F%3E%3C%2Fsvg%3E");
}
@media screen and (max-width: 800px) {
  .globalNavigationLinkListItem {
    flex: 0 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

/**************************************************
 *
 * main
 *
 **************************************************/
/**************************************************
 *
 * フッター
 *
 **************************************************/
body > .wrapper > footer {
  display: flex;
  flex-wrap: wrap;
  margin-top: clamp(42px, calc(42/375*100vw), 96px);
  padding: 1em;
  gap: 1em 3em;
  background-color: #fff;
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}
@media screen and (max-width: 800px) {
  body > .wrapper > footer {
    justify-content: center;
  }
}

.footerLinkList {
  display: flex;
  flex-wrap: wrap;
  margin-left: auto;
  gap: 0 1em;
}
@media screen and (max-width: 800px) {
  .footerLinkList {
    margin-left: unset;
  }
}

.footerLinkListItem {
  display: flex;
  align-items: center;
  gap: 0 1em;
}
.footerLinkListItem:not(:first-child)::before {
  content: "/";
  color: #333;
  font-size: 65%;
}

/**************************************************
 *
 * ボタン
 *
 **************************************************/
button {
  padding: 0;
  border: 0;
  background-color: transparent;
  color: inherit;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  cursor: pointer;
  transition: opacity 0.3s, background-color 0.3s, background-position 0.3s, border-color 0.3s, color 0.3s;
}

/*
{
  "borderWidth":,
  "borderColor":,
  "bgColor":,
  "textColor":,
  "opacityOnHover":,
  "borderColorOnHover":,
  "bgColorOnHover":,
  "textColorOnHover":
}
*/
.btPrimary {
  box-sizing: border-box;
  display: inline-grid;
  position: relative;
  grid-template-columns: 1fr auto 1fr;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  gap: 0 1em;
  border: 0;
  background-color: #1587c9;
  color: #fff;
  line-height: normal;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.75s, opacity 0.3s, color 0.2s, box-shadow 0.3s, translate 0.3s;
}
.btPrimary::before, .btPrimary::after {
  content: "";
}
@media (any-hover: hover) {
  .btPrimary:hover {
    translate: 0 -3px;
    border: 0;
    background-color: #1587c9;
    box-shadow: 0 3px 0 #333;
    color: #fff;
    opacity: 1;
  }
}
.btPrimary.btDisabled {
  border-color: #e3e9ec !important;
  background: none !important;
  background-color: #e3e9ec !important;
  box-shadow: none !important;
  color: #bac5cc !important;
  opacity: 1 !important;
  pointer-events: none;
}
.btPrimary.btDisabled::before, .btPrimary.btDisabled::after {
  opacity: 0 !important;
}
@media (any-hover: hover) {
  .btPrimary.btDisabled:hover {
    color: #bbb !important;
  }
}

.btAccent {
  box-sizing: border-box;
  display: inline-grid;
  position: relative;
  grid-template-columns: 1fr auto 1fr;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  gap: 0 1em;
  border: 0;
  background-color: #b50000;
  color: #fff;
  font-weight: 700;
  line-height: normal;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.75s, opacity 0.3s, color 0.2s, box-shadow 0.3s, translate 0.3s;
}
.btAccent::before, .btAccent::after {
  content: "";
}
@media (any-hover: hover) {
  .btAccent:hover {
    translate: 0 -3px;
    border: 0;
    background-color: #b50000;
    box-shadow: 0 3px 0 #333;
    color: #fff;
    opacity: 1;
  }
}
.btAccent.btDisabled {
  border-color: #e3e9ec !important;
  background: none !important;
  background-color: #e3e9ec !important;
  box-shadow: none !important;
  color: #bac5cc !important;
  opacity: 1 !important;
  pointer-events: none;
}
.btAccent.btDisabled::before, .btAccent.btDisabled::after {
  opacity: 0 !important;
}
@media (any-hover: hover) {
  .btAccent.btDisabled:hover {
    color: #bbb !important;
  }
}

.btGhost {
  box-sizing: border-box;
  display: inline-grid;
  position: relative;
  grid-template-columns: 1fr auto 1fr;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  gap: 0 1em;
  border: 2px solid #1587c9;
  border-radius: 6px;
  background-color: #fff;
  color: #1587c9;
  font-weight: bold;
  line-height: normal;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.75s, opacity 0.3s, color 0.2s, box-shadow 0.3s, translate 0.3s;
}
.btGhost::before, .btGhost::after {
  content: "";
}
@media (any-hover: hover) {
  .btGhost:hover {
    translate: 0 -3px;
    border: 2px solid #1587c9;
    background-color: #fff;
    box-shadow: 0 3px 0 #333;
    color: #1587c9;
    opacity: 1;
  }
}
.btGhost.btDisabled {
  border-color: #e3e9ec !important;
  background: none !important;
  background-color: #e3e9ec !important;
  box-shadow: none !important;
  color: #bac5cc !important;
  opacity: 1 !important;
  pointer-events: none;
}
.btGhost.btDisabled::before, .btGhost.btDisabled::after {
  opacity: 0 !important;
}
@media (any-hover: hover) {
  .btGhost.btDisabled:hover {
    color: #bbb !important;
  }
}

.btText {
  box-sizing: border-box;
  display: inline-grid;
  position: relative;
  grid-template-columns: 1fr auto 1fr;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  padding: 0 !important;
  gap: 0 1em;
  border: 0;
  background-color: transparent;
  color: #333;
  font-weight: bold;
  line-height: normal;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  text-decoration: none;
  text-decoration: underline;
  cursor: pointer;
  transition: background-color 0.75s, opacity 0.3s, color 0.2s, box-shadow 0.3s, translate 0.3s;
}
.btText::before, .btText::after {
  content: "";
}
@media (any-hover: hover) {
  .btText:hover {
    translate: 0 -3px;
    border: 0;
    background-color: transparent;
    box-shadow: 0 3px 0 #333;
    color: #333;
    opacity: 0.7;
  }
}
.btText.btDisabled {
  border-color: #e3e9ec !important;
  background: none !important;
  background-color: #e3e9ec !important;
  box-shadow: none !important;
  color: #bac5cc !important;
  opacity: 1 !important;
  pointer-events: none;
}
.btText.btDisabled::before, .btText.btDisabled::after {
  opacity: 0 !important;
}
@media (any-hover: hover) {
  .btText.btDisabled:hover {
    color: #bbb !important;
  }
}

.btFullWidth {
  width: 100%;
}

.btFixedWidth {
  width: min(100%, 300px);
  max-width: 100%;
  margin-inline: auto;
}

.btLargeSize {
  padding: 0.9em 2em;
  border-radius: 100em;
  font-size: clamp(14px, calc(14/375*100vw), 16px);
}

.btMediumSize {
  padding: 0.9em 2em;
  border-radius: 100em;
  font-size: clamp(12px, calc(12/375*100vw), 14px);
}

.btSmallSize {
  padding: 0.9em 2em;
  border-radius: 100em;
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}

.btNext::before, .btNext::after {
  -webkit-transform-origin: bottom;
  box-sizing: border-box;
  aspect-ratio: 1/1;
  width: 0.5em;
  transform-origin: bottom;
  border: solid currentColor;
  border-width: 2px 2px 0 0;
  pointer-events: none;
}
.btNext::before {
  visibility: hidden;
}
.btNext::after {
  justify-self: end;
  rotate: 45deg;
}

.btPrev::before, .btPrev::after {
  -webkit-transform-origin: bottom;
  box-sizing: border-box;
  aspect-ratio: 1/1;
  width: 0.5em;
  transform-origin: bottom;
  border: solid currentColor;
  border-width: 2px 2px 0 0;
  pointer-events: none;
}
.btPrev::before {
  justify-self: start;
  rotate: -135deg;
}
.btPrev::after {
  visibility: hidden;
}

.btDown::before, .btDown::after {
  -webkit-transform-origin: bottom;
  box-sizing: border-box;
  aspect-ratio: 1/1;
  width: 0.5em;
  transform-origin: bottom;
  border: solid currentColor;
  border-width: 2px 2px 0 0;
  pointer-events: none;
}
.btDown::before {
  visibility: hidden;
}
.btDown::after {
  justify-self: end;
  rotate: 45deg;
}
.btDown::after {
  -webkit-transform-origin: unset;
  transform-origin: unset;
  rotate: 135deg;
}
.btDown._upsideDown::after {
  translate: 0 25%;
  rotate: -45deg;
}

/**************************************************
 *
 * 標準リスト
 *
 **************************************************/
.discList {
  padding: 0 0 0 1.5em;
}
.discList > li {
  position: relative;
}
.discList > li::before {
  display: block;
  position: absolute;
  top: 0.5lh;
  left: -1.2em;
  width: 0.3em;
  height: 0.3em;
  translate: 0 -25%;
  border-radius: 50%;
  background-color: currentColor;
  content: "";
}

.numericalList {
  padding: 0;
  list-style: none;
  counter-reset: num;
}
.numericalList > li {
  position: relative;
  padding: 0 0 0 1.5em;
}
.numericalList > li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 2em;
  content: counter(num) ".";
  text-align: left;
  counter-increment: num;
}

.noteList > li {
  position: relative;
  margin: 0 0 6px;
  padding-left: 1.1em;
  border: 0;
  line-height: 1.6;
}
.noteList > li::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  content: "※";
  text-align: center;
}

/**************************************************
 *
 * モーダル
 *
 **************************************************/
dialog[data-role=modal] {
  padding: 0;
  border: 0;
  background-color: transparent;
  scrollbar-width: none;
}
dialog[data-role=modal]::-webkit-scrollbar {
  display: none;
}
dialog[data-role=modal]:not([open]) {
  z-index: calc(infinity);
  position: fixed;
  width: 100vw;
  height: 100vh;
}

dialog::-webkit-backdrop {
  -webkit-transition: opacity 0.3s, display 0.3s allow-discrete, overlay 0.3s allow-discrete;
  opacity: 0;
  transition: opacity 0.3s, display 0.3s allow-discrete, overlay 0.3s allow-discrete;
}

dialog,
dialog::backdrop {
  opacity: 0;
  transition: opacity 0.3s, display 0.3s allow-discrete, overlay 0.3s allow-discrete;
}

dialog[open]::-webkit-backdrop {
  opacity: 1;
}

dialog[open],
dialog[open]::backdrop {
  opacity: 1;
}
@starting-style {
  dialog[open]::-webkit-backdrop {
    opacity: 0;
  }
  dialog[open],
  dialog[open]::backdrop {
    opacity: 0;
  }
}

dialog .modalInner {
  translate: 0 30px;
  opacity: 0;
  transition: opacity 0.15s, translate 0.15s ease-out;
}

dialog[open] .modalInner {
  translate: 0 0;
  opacity: 1;
  transition: opacity 0.3s, translate 0.3s ease-out;
}
@starting-style {
  dialog[open] .modalInner {
    translate: 0 30px;
    opacity: 0;
  }
}

dialog::-webkit-backdrop {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background-color: rgba(0, 0, 0, 0.85);
}

dialog::backdrop {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background-color: rgba(0, 0, 0, 0.85);
}

dialog[open] {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  overscroll-behavior: none;
  background-color: transparent;
}

html:has(dialog[open]) {
  scrollbar-width: none;
}
html:has(dialog[open])::-webkit-scrollbar {
  display: none;
}

.btCloseModal {
  display: block;
  position: absolute;
  aspect-ratio: 1/1;
  outline: none;
  content: "";
  cursor: pointer;
  transition: opacity 0.3s ease-in-out;
}
@media (any-hover: hover) {
  .btCloseModal:hover {
    opacity: 0.7;
  }
}
.btCloseModal:not(._back)::before, .btCloseModal:not(._back)::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  height: 3px;
  translate: -50% -50%;
  border-radius: 100px;
  background-color: #333;
  content: "";
  transition: background-color 0.3s;
}
.btCloseModal:not(._back)::before {
  rotate: 45deg;
}
.btCloseModal:not(._back)::after {
  rotate: -45deg;
}
.btCloseModal._back::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25%;
  height: 25%;
  translate: -50% -50%;
  rotate: -45deg;
  border-top: 3px solid #333;
  border-left: 3px solid #333;
  content: "";
}

.modalInner .btCloseModal {
  top: 0;
  right: 0;
  width: 45px;
}

.drawerInner .btCloseModal {
  top: 16px;
  right: 0;
  width: clamp(36px, calc(36/375*100vw), 45px);
  translate: calc(100% + 20px) 0;
  border-radius: 100%;
  background-color: #fff;
}
.drawerInner .btCloseModal::before, .drawerInner .btCloseModal::after {
  width: 65%;
}

.modalWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(100% + 1px);
}

.modalInner {
  display: flex;
  position: relative;
  flex-direction: column;
  width: min(100% - 6px - 2em, 600px);
  max-height: calc(100% - 6px - 2em);
  overflow: hidden;
  border-radius: 20px;
  background-color: #fff;
}
.modalInner._fullScreen {
  width: 100%;
  height: 100%;
  max-height: none;
  border-radius: 0;
}
.modalInner:has(.modalFooter) .modalHeader {
  order: 1;
}
.modalInner:has(.modalFooter) .modalBody {
  order: 2;
}
.modalInner:has(.modalFooter) .modalFooter {
  order: 3;
}

.modalHeader {
  display: flex;
  z-index: 2;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  flex: 0 0 45px;
  align-items: center;
  justify-content: center;
  border-radius: 20px 20px 0 0;
  background-color: #1587c9;
}
.modalHeader .btCloseModal {
  margin-left: auto;
}

.modalTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - (45px * 2));
  padding: 0 1em;
  overflow: hidden;
  font-weight: bold;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modalBody {
  height: calc(100% - 6px - 2em - 45px);
  padding: clamp(12px, calc(12/375*100vw), 24px);
  overflow-y: auto;
}

.modalFooter {
  display: flex;
  z-index: 2;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  flex: 0 0 84px;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  gap: 0 12px;
  border-radius: 0 0 20px 20px;
  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.15);
}
.modalFooter ~ .modalBody {
  height: calc(100% - 6px - 2em - 45px - 84px);
}
.modalFooter .btGhost {
  flex: 1 0 0%;
  height: 60px;
  padding: 0;
}
.modalFooter .btPrimary {
  flex: 2 0 0%;
  height: 60px;
  padding: 0;
}

.modalConfirmationText {
  display: flex;
  justify-content: center;
  font-weight: bold;
  font-size: clamp(14px, calc(14/375*100vw), 18px);
}
.modalConfirmationText ~ .buttonContainer {
  display: flex;
  flex-direction: row-reverse;
  margin-top: clamp(18px, calc(18/375*100vw), 24px);
  gap: 0 18px;
}
.modalConfirmationText ~ .buttonContainer [class^=bt] {
  flex: 1 0 0%;
}

.inModalForm .buttonContainer {
  display: flex;
  flex-direction: row-reverse;
  margin-top: clamp(18px, calc(18/375*100vw), 24px);
  gap: 0 18px;
}
.inModalForm .buttonContainer [class^=bt] {
  flex: 1 0 0%;
}

.drawerWrapper {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  height: calc(100% + 1px);
}

.drawerInner {
  display: flex;
  position: relative;
  flex-direction: column;
  width: clamp(300px, calc(300/375*100vw), 380px);
  max-height: 100%;
  background-color: #fff;
}

.drawerBody {
  height: 100%;
  overflow-y: auto;
}

/**************************************************
 *
 * テキスト
 *
 **************************************************/
.noteText {
  display: block;
  padding-left: 15px;
  font-size: clamp(10px, calc(10/375*100vw), 13px);
  line-height: 1.6;
  text-indent: -15px;
}
.noteText::before {
  display: inline-block;
  width: 15px;
  content: "※";
  text-align: center;
  text-indent: 0;
}

.errorText {
  color: #b50000;
}

/**************************************************
 *
 * セクション
 *
 **************************************************/
.contentSectionContainer {
  display: grid;
  margin-top: clamp(24px, calc(24/375*100vw), 42px);
  gap: clamp(42px, calc(42/375*100vw), 96px) clamp(18px, calc(18/375*100vw), 24px);
}
.siteTopHeader + .contentSectionContainer {
  margin-top: clamp(42px, calc(42/375*100vw), 96px);
}
.contentSectionContainer:has(aside) {
  grid-template-columns: 1fr 25%;
  align-items: flex-start;
}
@media screen and (max-width: 800px) {
  .contentSectionContainer:has(aside) {
    grid-template-columns: 1fr;
  }
}

.sectionTitleContainer {
  display: grid;
  justify-items: center;
  gap: clamp(3px, calc(3/375*100vw), 6px) 0;
}

.sectionTitle {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 2.25em auto 2.25em;
  align-items: flex-end;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0 0.5em;
  font-weight: bold;
  font-size: clamp(16px, calc(16/375*100vw), 21px);
  white-space: nowrap;
}
.sectionTitle._hasBalloon::before, .sectionTitle._hasBalloon::after {
  grid-row: 1;
  grid-column: 1;
}
.sectionTitle._hasBalloon::before {
  display: grid;
  place-items: center;
  aspect-ratio: 1/1;
  width: 100%;
  border-radius: 100rem;
  background-color: #b50000;
  content: "";
  color: #fff;
  font-weight: bold;
  font-size: clamp(11px, calc(11/375*100vw), 13px);
  line-height: 1;
  text-transform: uppercase;
}
.sectionTitle._hasBalloon::after {
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  z-index: -1;
  place-self: end end;
  width: 0.75em;
  height: 1em;
  translate: 0 0.1em;
  rotate: -45deg;
  background-color: #b50000;
  content: "";
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.sectionTitle._hasBalloon[data-balloon-text]::before {
  content: attr(data-balloon-text);
}
.sectionTitle._hasBalloon:not([data-balloon-text])::before {
  padding: 0.75em;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2239.898%22%20height%3D%2229.551%22%20viewBox%3D%220%200%2039.898%2029.551%22%3E%20%3Cg%20transform%3D%22translate(-797.139%20219.571)%22%3E%20%3Cpath%20d%3D%22M806.329-217.667s-14.91%2C12.694%2C0%2C25.768%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%225%22%2F%3E%20%3Cpath%20d%3D%22M799.7-217.667s14.91%2C12.694%2C0%2C25.768%22%20transform%3D%22translate(28.145)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%225%22%2F%3E%20%3Cpath%20d%3D%22M0%2C0S7.455%2C7.979%2C0%2C16.2%22%20transform%3D%22translate(825.345%20-202.228)%20rotate(90)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%225%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  background-origin: content-box;
}
@media screen and (max-width: 800px) {
  .sectionTitle {
    grid-template-columns: 2.25em auto;
  }
}

.sectionTitleLead {
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}

/**************************************************
 *
 * 記事リスト
 *
 **************************************************/
.articleList + .buttonContainer,
.featureList + .buttonContainer {
  display: flex;
  justify-content: center;
  margin-top: clamp(18px, calc(18/375*100vw), 24px);
}
.articleList + .buttonContainer [class^=bt],
.featureList + .buttonContainer [class^=bt] {
  width: min(750px, 100%);
}

.articleListItem,
.featureListItem {
  overflow: clip;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.16);
  color: #333;
}
@media (any-hover: hover) {
  .articleListItem:hover,
  .featureListItem:hover {
    opacity: 1;
  }
  .articleListItem:hover .imageContainer img,
  .featureListItem:hover .imageContainer img {
    scale: 1.05;
  }
  .articleListItem:hover .textContainer .title,
  .featureListItem:hover .textContainer .title {
    -webkit-text-decoration-color: currentColor;
    color: #1587c9;
    text-decoration-color: currentColor;
  }
  .articleListItem:hover .textContainer .title .actressName,
  .featureListItem:hover .textContainer .title .actressName {
    text-decoration: none;
  }
}
.articleListItem .imageContainer,
.featureListItem .imageContainer {
  grid-row: 1;
  aspect-ratio: 800/450;
  overflow: hidden;
}
.articleListItem .imageContainer img,
.featureListItem .imageContainer img {
  -o-object-fit: cover;
  -o-object-position: top center;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: scale 0.3s;
}

.articleList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 0 clamp(18px, calc(18/375*100vw), 24px);
}

.articleListItem {
  display: grid;
  grid-template-rows: auto 1fr;
  margin-top: clamp(18px, calc(18/375*100vw), 24px);
}
.articleListItem .textContainer {
  display: grid;
  grid-template-rows: 1fr auto;
  padding: 0.75em;
  font-size: clamp(13px, calc(13/375*100vw), 14px);
}
.articleListItem .textContainer .title {
  -webkit-text-decoration-color: transparent;
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: color 0.3s, -webkit-text-decoration-color 0.3s;
  transition: color 0.3s, text-decoration-color 0.3s;
  transition: color 0.3s, text-decoration-color 0.3s, -webkit-text-decoration-color 0.3s;
}
.articleListItem .textContainer .actressName {
  display: inline-block;
  margin-right: 1em;
  background-image: linear-gradient(180deg, transparent 35%, #f3f300 35%);
  color: #b50000;
  font-weight: bold;
}
.articleListItem .textContainer .tagList {
  margin-top: 1em;
}
.articleListItem .textContainer .tagListItem {
  font-weight: normal;
  font-size: clamp(10px, calc(10/375*100vw), 10px);
}

.featureList {
  display: grid;
  margin-top: clamp(18px, calc(18/375*100vw), 24px);
  gap: 0 clamp(18px, calc(18/375*100vw), 24px);
}

.featureListItem {
  display: flex;
  grid-template-columns: 35% 1fr;
  flex-wrap: wrap;
}
.featureListItem .imageContainer {
  flex: 1 0 min(410px, 100%);
}
.featureListItem .textContainer {
  display: flex;
  flex: 2 0 min(410px, 100%);
  flex-direction: column;
  justify-content: center;
  padding: 1em;
  gap: 0.5em 0;
  font-size: clamp(16px, calc(16/375*100vw), 21px);
}
.featureListItem .textContainer .label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25em 1.5em;
  border-radius: 100em;
  background-color: #b50000;
  color: #fff;
  font-size: clamp(10px, calc(10/375*100vw), 13px);
}
.featureListItem .textContainer .title {
  color: #1587c9;
  font-weight: bold;
}
.featureListItem .textContainer .lead {
  font-size: clamp(11px, calc(11/375*100vw), 14px);
}

.actressList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(max(100px, 10vw), 1fr));
  width: 100%;
  gap: clamp(18px, calc(18/375*100vw), 24px);
}
.actressList:is(.sectionTitleContainer + .actressList) {
  margin-top: clamp(18px, calc(18/375*100vw), 24px);
}
@media screen and (max-width: 600px) {
  .actressList._scrollable {
    display: flex;
    width: 100cqw;
    margin-inline: -12px;
    padding-inline: 12px;
    overflow-x: auto;
  }
  .actressList._scrollable .actressListItem {
    flex: 0 0 min(150px, 25vw);
    min-width: 0;
  }
}

@media screen and (max-width: 600px) {
  .articleDetail .actressList._scrollable {
    width: 90cqw;
  }
  .articleDetail .actressList._scrollable .actressListItem {
    flex: 0 0 min(120px, 33cqw);
  }
}

.actressListItem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25em 0;
  font-size: clamp(12px, calc(12/375*100vw), 14px);
}
@media (any-hover: hover) {
  .actressListItem:hover {
    opacity: 1;
  }
  .actressListItem:hover .imageContainer {
    border-color: #1587c9;
  }
  .actressListItem:hover .imageContainer img {
    scale: 1.05;
  }
  .actressListItem:hover .textContainer {
    text-decoration: underline;
  }
}
.actressListItem .imageContainer {
  order: 1;
  aspect-ratio: 1/1;
  width: 100%;
  overflow: hidden;
  border: 5px solid #fff;
  border-radius: 100rem;
  transition: border-color 0.7s;
}
.actressListItem .imageContainer:is(.articleMainSection .actressListItem .imageContainer) {
  border: clamp(5px, calc(5/375*100vw), 10px) solid #f1eee2;
}
.actressListItem .imageContainer img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 0.3s;
}
.actressListItem .textContainer {
  order: 2;
}
.actressListItem._more .imageContainer {
  display: grid;
  place-items: center;
  background-color: #fff;
}
.actressListItem._more .imageContainer::after {
  width: 1em;
  height: 1em;
  rotate: 45deg;
  border-top: 3px solid #1587c9;
  border-right: 3px solid #1587c9;
  content: "";
}

/**************************************************
 *
 * タグリスト
 *
 **************************************************/
.tagList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}

.tagListItem {
  display: flex;
  align-items: center;
  padding: 0.25em 0.5em;
  gap: 0 0.5em;
  border-radius: 6px;
  background-color: #1587c9;
  color: #fff;
  transition: background-color 0.3s;
}
.tagListItem::before {
  width: 1em;
  height: 1em;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12.586%202.586A2%202%200%200%200%2011.172%202H4a2%202%200%200%200-2%202v7.172a2%202%200%200%200%20.586%201.414l8.704%208.704a2.426%202.426%200%200%200%203.42%200l6.58-6.58a2.426%202.426%200%200%200%200-3.42z%22%2F%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%227.5%22%20r%3D%22.5%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E");
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media (any-hover: hover) {
  .tagListItem:hover {
    background-color: #b50000;
  }
}

.tagListContainer {
  margin-top: clamp(18px, calc(18/375*100vw), 24px);
}
.tagListContainer .tagList {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.tagListContainer .tagListItem {
  font-size: clamp(12px, calc(12/375*100vw), 14px);
}

/**************************************************
 *
 * サイドパーツ
 *
 **************************************************/
.sideContentContainer {
  display: grid;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  gap: clamp(18px, calc(18/375*100vw), 24px) 0;
}

.rankingBox {
  display: grid;
  padding: clamp(12px, calc(12/375*100vw), 24px);
  gap: 1em 0;
  border-radius: 10px;
  background-color: #fff;
}
.rankingBox .title {
  display: grid;
  font-weight: bold;
  font-size: clamp(16px, calc(16/375*100vw), 18px);
}
.rankingBox .title::after {
  content: attr(data-lead-text);
  font-weight: bold;
  font-size: clamp(10px, calc(10/375*100vw), 11px);
  text-transform: uppercase;
}

.rankingList {
  display: grid;
  gap: clamp(12px, calc(12/375*100vw), 18px);
  counter-reset: rank 0;
}

.rankingListItem {
  display: flex;
  position: relative;
  align-items: flex-start;
  gap: 0 0.5em;
}
.rankingListItem::after {
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
  place-items: center;
  width: 2.5em;
  height: 2.5em;
  padding: 0.25em;
  translate: -0.5em -0.75em;
  border-radius: 100rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228.157%22%20height%3D%2225.506%22%20viewBox%3D%220%200%2028.157%2025.506%22%3E%20%3Cg%20transform%3D%22translate(-1308.983%20-421)%22%3E%20%3Cpath%20d%3D%22M14.491%2C3.345a.653.653%2C0%2C0%2C1%2C1.144%2C0l3.857%2C7.321a1.306%2C1.306%2C0%2C0%2C0%2C1.981.384L27.06%2C6.264a.653.653%2C0%2C0%2C1%2C1.043.678L24.4%2C20.328a1.306%2C1.306%2C0%2C0%2C1-1.249.959H6.977a1.306%2C1.306%2C0%2C0%2C1-1.25-.959L2.025%2C6.943a.653.653%2C0%2C0%2C1%2C1.043-.678l5.586%2C4.787a1.306%2C1.306%2C0%2C0%2C0%2C1.981-.384Z%22%20transform%3D%22translate(1307.998%20418.993)%22%20fill%3D%22%23555555%22%20stroke%3D%22%23555555%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3Cpath%20d%3D%22M5%2C21H23.29%22%20transform%3D%22translate(1308.916%20424.506)%22%20fill%3D%22%23555555%22%20stroke%3D%22%23555555%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  background-origin: content-box;
  background-color: #fff;
  content: counter(rank);
  color: #fff;
  font-size: clamp(10px, calc(10/375*100vw), 11px);
  counter-increment: rank 1;
}
.rankingListItem:nth-child(1)::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228.157%22%20height%3D%2225.506%22%20viewBox%3D%220%200%2028.157%2025.506%22%3E%20%3Cg%20transform%3D%22translate(-1308.983%20-421)%22%3E%20%3Cpath%20d%3D%22M14.491%2C3.345a.653.653%2C0%2C0%2C1%2C1.144%2C0l3.857%2C7.321a1.306%2C1.306%2C0%2C0%2C0%2C1.981.384L27.06%2C6.264a.653.653%2C0%2C0%2C1%2C1.043.678L24.4%2C20.328a1.306%2C1.306%2C0%2C0%2C1-1.249.959H6.977a1.306%2C1.306%2C0%2C0%2C1-1.25-.959L2.025%2C6.943a.653.653%2C0%2C0%2C1%2C1.043-.678l5.586%2C4.787a1.306%2C1.306%2C0%2C0%2C0%2C1.981-.384Z%22%20transform%3D%22translate(1307.998%20418.993)%22%20fill%3D%22%23fbcc14%22%20stroke%3D%22%23fbcc14%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3Cpath%20d%3D%22M5%2C21H23.29%22%20transform%3D%22translate(1308.916%20424.506)%22%20fill%3D%22%23fbcc14%22%20stroke%3D%22%23fbcc14%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
.rankingListItem:nth-child(2)::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228.157%22%20height%3D%2225.506%22%20viewBox%3D%220%200%2028.157%2025.506%22%3E%20%3Cg%20transform%3D%22translate(-1308.983%20-421)%22%3E%20%3Cpath%20d%3D%22M14.491%2C3.345a.653.653%2C0%2C0%2C1%2C1.144%2C0l3.857%2C7.321a1.306%2C1.306%2C0%2C0%2C0%2C1.981.384L27.06%2C6.264a.653.653%2C0%2C0%2C1%2C1.043.678L24.4%2C20.328a1.306%2C1.306%2C0%2C0%2C1-1.249.959H6.977a1.306%2C1.306%2C0%2C0%2C1-1.25-.959L2.025%2C6.943a.653.653%2C0%2C0%2C1%2C1.043-.678l5.586%2C4.787a1.306%2C1.306%2C0%2C0%2C0%2C1.981-.384Z%22%20transform%3D%22translate(1307.998%20418.993)%22%20fill%3D%22%23808080%22%20stroke%3D%22%23808080%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3Cpath%20d%3D%22M5%2C21H23.29%22%20transform%3D%22translate(1308.916%20424.506)%22%20fill%3D%22%23808080%22%20stroke%3D%22%23808080%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
.rankingListItem:nth-child(3)::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228.157%22%20height%3D%2225.506%22%20viewBox%3D%220%200%2028.157%2025.506%22%3E%20%3Cg%20transform%3D%22translate(-1308.983%20-421)%22%3E%20%3Cpath%20d%3D%22M14.491%2C3.345a.653.653%2C0%2C0%2C1%2C1.144%2C0l3.857%2C7.321a1.306%2C1.306%2C0%2C0%2C0%2C1.981.384L27.06%2C6.264a.653.653%2C0%2C0%2C1%2C1.043.678L24.4%2C20.328a1.306%2C1.306%2C0%2C0%2C1-1.249.959H6.977a1.306%2C1.306%2C0%2C0%2C1-1.25-.959L2.025%2C6.943a.653.653%2C0%2C0%2C1%2C1.043-.678l5.586%2C4.787a1.306%2C1.306%2C0%2C0%2C0%2C1.981-.384Z%22%20transform%3D%22translate(1307.998%20418.993)%22%20fill%3D%22%238c4841%22%20stroke%3D%22%238c4841%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3Cpath%20d%3D%22M5%2C21H23.29%22%20transform%3D%22translate(1308.916%20424.506)%22%20fill%3D%22%238c4841%22%20stroke%3D%22%238c4841%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
@media (any-hover: hover) {
  .rankingListItem:hover .textContainer .title {
    color: #1587c9;
    text-decoration: underline;
  }
}
.rankingListItem .textContainer {
  flex: 1 0 0%;
  order: 2;
}
.rankingListItem .textContainer .title {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  overflow: hidden;
  color: #333;
  font-weight: normal;
  font-size: clamp(11px, calc(11/375*100vw), 12px);
  line-height: 1.4;
  text-overflow: ellipsis;
  transition: color 0.3s;
}
.rankingListItem .textContainer .title::before {
  display: block;
  margin-top: -0.25em;
  content: "";
}
.rankingListItem .textContainer .title .actressName {
  margin-right: 1em;
  font-weight: normal;
}
.rankingListItem .imageContainer {
  flex: 0 0 35%;
  order: 1;
}

.introductionContainer {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 800px) {
  .introductionContainer {
    flex-wrap: wrap;
    justify-content: center;
  }
}

.introductionImage {
  z-index: 2;
  position: relative;
  flex: 0 0 max(200px, 22vw);
  order: 1;
  aspect-ratio: 1/1;
  overflow: hidden;
  border: clamp(8px, calc(8/375*100vw), 15px) solid #f1eee2;
  border-radius: 100rem;
  background-color: #f1eee2;
}
.introductionImage img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.introductionBox {
  display: grid;
  gap: 1em 0;
  background-color: #fff;
}
.introductionBox:has(+ .introductionImage) {
  order: 2;
  margin-left: -5vw;
  padding-inline: 7vw 3vw;
  padding-block: clamp(24px, calc(24/375*100vw), 42px);
  border-radius: 30px;
}
.introductionBox:has(+ .introductionImage) .title {
  font-size: clamp(18px, calc(18/375*100vw), 24px);
}
.introductionBox:has(+ .introductionImage) .title::after {
  font-size: clamp(11px, calc(11/375*100vw), 14px);
}
.introductionBox:is(aside .introductionBox) {
  padding: clamp(12px, calc(12/375*100vw), 24px);
  border-radius: 10px;
}
.introductionBox:is(aside .introductionBox) .title {
  font-size: clamp(16px, calc(16/375*100vw), 18px);
}
.introductionBox:is(aside .introductionBox) .title::after {
  font-size: clamp(10px, calc(10/375*100vw), 11px);
}
.introductionBox .title {
  display: grid;
  font-weight: bold;
}
.introductionBox .title::after {
  content: attr(data-lead-text);
  font-weight: bold;
  text-transform: uppercase;
}
.introductionBox .description {
  display: grid;
  gap: 1em 0;
  font-size: clamp(12px, calc(12/375*100vw), 13px);
  line-height: 1.8;
}
.introductionBox .description strong {
  color: #b50000;
}
.introductionBox .buttonContainer [class^=bt] {
  width: 100%;
}
@media screen and (max-width: 800px) {
  .introductionBox:has(+ .introductionImage) {
    margin-top: -5vw;
    margin-left: unset;
  }
  .introductionBox:has(+ .introductionImage) .title {
    text-align: center;
  }
}

.authorContainer {
  display: grid;
  grid-template-columns: 100px 1fr;
  align-items: center;
  gap: 0 0.5em;
}
.authorContainer .imageContainer {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 100rem;
}
.authorContainer .imageContainer img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.authorContainer .textContainer .sub {
  font-size: clamp(10px, calc(10/375*100vw), 11px);
}
.authorContainer .textContainer .main {
  font-weight: bold;
  font-size: clamp(14px, calc(14/375*100vw), 15px);
}
.authorContainer .textContainer .suffix {
  display: inline-block;
}

/**************************************************
 *
 * パンくずリスト
 *
 **************************************************/
@media screen and (max-width: 800px) {
  .breadcrumbsContainer {
    overflow-x: auto;
    scrollbar-width: none;
  }
  .breadcrumbsContainer::-webkit-scrollbar {
    display: none;
  }
}
@media screen and (max-width: 1200px) {
  .breadcrumbsContainer.inner {
    max-width: 100vw;
  }
}
@media screen and (max-width: 800px) {
  .breadcrumbsContainer.inner {
    padding-inline: 0;
  }
}

.breadcrumbs {
  display: flex;
  width: 100%;
  padding: 0.75em 1.5em;
  gap: 0 1em;
  border-radius: 100rem;
  background-color: #fff;
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}
.breadcrumbs > li {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0 1em;
}
.breadcrumbs > li:last-child {
  display: block;
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.breadcrumbs > li:has(+ li)::after {
  width: 0.35em;
  height: 0.35em;
  rotate: 45deg;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  content: "";
}
.breadcrumbs > li > a {
  text-decoration: none;
}
@media screen and (max-width: 800px) {
  .breadcrumbs {
    padding-inline: 12px;
    padding-block: unset;
    background-color: unset;
  }
  .breadcrumbs > li:last-child {
    flex-shrink: 0;
  }
}

/**************************************************
 *
 * ページング
 *
 **************************************************/
.paging {
  display: flex;
  justify-content: center;
  margin-top: clamp(18px, calc(18/375*100vw), 24px);
  gap: 1em;
  font-size: clamp(12px, calc(12/375*100vw), 14px);
}

.pagingItem {
  display: grid;
  place-items: center;
  aspect-ratio: 1/1;
  width: 45px;
  border: 2px solid #1587c9;
  border-radius: 100rem;
  background-color: #fff;
  transition: background-color 0.3s, color 0.3s;
}
@media (any-hover: hover) {
  .pagingItem:hover {
    background-color: #1587c9;
    color: #fff;
  }
}
.pagingItem._current {
  background-color: #1587c9;
  color: #fff;
  pointer-events: none;
}
.pagingItem._dot {
  border: unset;
  background-color: transparent;
  color: #333;
}

/**************************************************
 *
 * フォーム
 *
 **************************************************/
input[type=text],
input[type=search],
input[type=tel],
input[type=url],
input[type=email],
input[type=password],
input[type=datetime],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=number],
input[type=file],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
  box-sizing: border-box;
  appearance: none;
  min-height: 3.5em;
  padding: 1em;
  border: 1px solid #aaa;
  border-radius: 6px;
  outline: none;
  background: none;
  background-color: #fff;
  color: #333;
  font-size: 16px;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  transition: border-color 0.3s, box-shadow 0.3s;
}
input[type=text]._error,
input[type=search]._error,
input[type=tel]._error,
input[type=url]._error,
input[type=email]._error,
input[type=password]._error,
input[type=datetime]._error,
input[type=date]._error,
input[type=month]._error,
input[type=week]._error,
input[type=time]._error,
input[type=number]._error,
input[type=file]._error,
textarea._error {
  border-color: #b50000;
  background-color: #fefafa;
}
input[type=text]._error:focus,
input[type=search]._error:focus,
input[type=tel]._error:focus,
input[type=url]._error:focus,
input[type=email]._error:focus,
input[type=password]._error:focus,
input[type=datetime]._error:focus,
input[type=date]._error:focus,
input[type=month]._error:focus,
input[type=week]._error:focus,
input[type=time]._error:focus,
input[type=number]._error:focus,
input[type=file]._error:focus,
textarea._error:focus {
  border-color: #1587c9;
}
input[type=text]._error + .infieldLabel,
input[type=search]._error + .infieldLabel,
input[type=tel]._error + .infieldLabel,
input[type=url]._error + .infieldLabel,
input[type=email]._error + .infieldLabel,
input[type=password]._error + .infieldLabel,
input[type=datetime]._error + .infieldLabel,
input[type=date]._error + .infieldLabel,
input[type=month]._error + .infieldLabel,
input[type=week]._error + .infieldLabel,
input[type=time]._error + .infieldLabel,
input[type=number]._error + .infieldLabel,
input[type=file]._error + .infieldLabel,
textarea._error + .infieldLabel {
  color: #b50000;
}
input[type=text]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=datetime]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=number]:focus,
input[type=file]:focus,
textarea:focus {
  border-color: #1587c9;
  box-shadow: inset 0 0 0 1px #1587c9;
}
input[type=text]:focus + .infieldLabel,
input[type=search]:focus + .infieldLabel,
input[type=tel]:focus + .infieldLabel,
input[type=url]:focus + .infieldLabel,
input[type=email]:focus + .infieldLabel,
input[type=password]:focus + .infieldLabel,
input[type=datetime]:focus + .infieldLabel,
input[type=date]:focus + .infieldLabel,
input[type=month]:focus + .infieldLabel,
input[type=week]:focus + .infieldLabel,
input[type=time]:focus + .infieldLabel,
input[type=number]:focus + .infieldLabel,
input[type=file]:focus + .infieldLabel,
textarea:focus + .infieldLabel {
  color: #aaa;
}
input[type=text]:focus + .inputError,
input[type=search]:focus + .inputError,
input[type=tel]:focus + .inputError,
input[type=url]:focus + .inputError,
input[type=email]:focus + .inputError,
input[type=password]:focus + .inputError,
input[type=datetime]:focus + .inputError,
input[type=date]:focus + .inputError,
input[type=month]:focus + .inputError,
input[type=week]:focus + .inputError,
input[type=time]:focus + .inputError,
input[type=number]:focus + .inputError,
input[type=file]:focus + .inputError,
textarea:focus + .inputError {
  display: none;
}
input[type=text]:disabled, input[type=text][readonly],
input[type=search]:disabled,
input[type=search][readonly],
input[type=tel]:disabled,
input[type=tel][readonly],
input[type=url]:disabled,
input[type=url][readonly],
input[type=email]:disabled,
input[type=email][readonly],
input[type=password]:disabled,
input[type=password][readonly],
input[type=datetime]:disabled,
input[type=datetime][readonly],
input[type=date]:disabled,
input[type=date][readonly],
input[type=month]:disabled,
input[type=month][readonly],
input[type=week]:disabled,
input[type=week][readonly],
input[type=time]:disabled,
input[type=time][readonly],
input[type=number]:disabled,
input[type=number][readonly],
input[type=file]:disabled,
input[type=file][readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #f3f3f3;
  color: #777;
  cursor: not-allowed;
  opacity: 0.5;
}
input[type=text]:disabled:focus, input[type=text][readonly]:focus,
input[type=search]:disabled:focus,
input[type=search][readonly]:focus,
input[type=tel]:disabled:focus,
input[type=tel][readonly]:focus,
input[type=url]:disabled:focus,
input[type=url][readonly]:focus,
input[type=email]:disabled:focus,
input[type=email][readonly]:focus,
input[type=password]:disabled:focus,
input[type=password][readonly]:focus,
input[type=datetime]:disabled:focus,
input[type=datetime][readonly]:focus,
input[type=date]:disabled:focus,
input[type=date][readonly]:focus,
input[type=month]:disabled:focus,
input[type=month][readonly]:focus,
input[type=week]:disabled:focus,
input[type=week][readonly]:focus,
input[type=time]:disabled:focus,
input[type=time][readonly]:focus,
input[type=number]:disabled:focus,
input[type=number][readonly]:focus,
input[type=file]:disabled:focus,
input[type=file][readonly]:focus,
textarea:disabled:focus,
textarea[readonly]:focus {
  border-color: #aaa;
  box-shadow: unset;
}
input[type=text]::-webkit-input-placeholder, input[type=search]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, input[type=url]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=password]::-webkit-input-placeholder, input[type=datetime]::-webkit-input-placeholder, input[type=date]::-webkit-input-placeholder, input[type=month]::-webkit-input-placeholder, input[type=week]::-webkit-input-placeholder, input[type=time]::-webkit-input-placeholder, input[type=number]::-webkit-input-placeholder, input[type=file]::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #ddd;
  font-size: clamp(12px, calc(12/375*100vw), 16px);
  opacity: 1;
}
input[type=text]::-moz-placeholder, input[type=search]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=url]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=password]::-moz-placeholder, input[type=datetime]::-moz-placeholder, input[type=date]::-moz-placeholder, input[type=month]::-moz-placeholder, input[type=week]::-moz-placeholder, input[type=time]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=file]::-moz-placeholder, textarea::-moz-placeholder {
  color: #ddd;
  font-size: clamp(12px, calc(12/375*100vw), 16px);
  opacity: 1;
}
input[type=text]::placeholder,
input[type=search]::placeholder,
input[type=tel]::placeholder,
input[type=url]::placeholder,
input[type=email]::placeholder,
input[type=password]::placeholder,
input[type=datetime]::placeholder,
input[type=date]::placeholder,
input[type=month]::placeholder,
input[type=week]::placeholder,
input[type=time]::placeholder,
input[type=number]::placeholder,
input[type=file]::placeholder,
textarea::placeholder {
  color: #ddd;
  font-size: clamp(12px, calc(12/375*100vw), 16px);
  opacity: 1;
}

textarea {
  padding: 0.75em;
}

input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  width: 10px;
  height: 10px;
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE2LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgd2lkdGg9IjEyMy4wNXB4IiBoZWlnaHQ9IjEyMy4wNXB4IiB2aWV3Qm94PSIwIDAgMTIzLjA1IDEyMy4wNSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTIzLjA1IDEyMy4wNTsiDQoJIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZD0iTTEyMS4zMjUsMTAuOTI1bC04LjUtOC4zOTljLTIuMy0yLjMtNi4xLTIuMy04LjUsMGwtNDIuNCw0Mi4zOTlMMTguNzI2LDEuNzI2Yy0yLjMwMS0yLjMwMS02LjEwMS0yLjMwMS04LjUsMGwtOC41LDguNQ0KCQljLTIuMzAxLDIuMy0yLjMwMSw2LjEsMCw4LjVsNDMuMSw0My4xbC00Mi4zLDQyLjVjLTIuMywyLjMtMi4zLDYuMSwwLDguNWw4LjUsOC41YzIuMywyLjMsNi4xLDIuMyw4LjUsMGw0Mi4zOTktNDIuNGw0Mi40LDQyLjQNCgkJYzIuMywyLjMsNi4xLDIuMyw4LjUsMGw4LjUtOC41YzIuMy0yLjMsMi4zLTYuMSwwLTguNWwtNDIuNS00Mi40bDQyLjQtNDIuMzk5QzEyMy42MjUsMTcuMTI1LDEyMy42MjUsMTMuMzI1LDEyMS4zMjUsMTAuOTI1eiIvPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPC9zdmc+DQo=);
  background-size: 10px 10px;
}

input[type=date] {
  position: relative;
}
input[type=date]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
input[type=date]::-webkit-clear-button {
  -webkit-appearance: none;
}
input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  -moz-appearance: textfield !important;
  margin: 0 !important;
}

input[type=file]::-webkit-file-upload-button {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  cursor: pointer;
}

input[type=file]::file-selector-button {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  cursor: pointer;
}

select {
  box-sizing: border-box;
  min-height: 3.5em;
  padding: 1em;
  border: 1px solid #aaa;
  border-radius: 6px;
  outline: none;
  background: none;
  background-color: #fff;
  color: #333;
  font-size: 16px;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  transition: border-color 0.3s, box-shadow 0.3s;
}
select._error {
  border-color: #b50000;
  background-color: #fefafa;
}
select._error:focus {
  border-color: #1587c9;
}
select:focus {
  border-color: #1587c9;
  box-shadow: inset 0 0 0 1px #1587c9;
}
select option:disabled {
  color: #ccc;
}

.selectWrapper {
  display: inline-block;
  position: relative;
}
.selectWrapper:has(select:disabled) {
  opacity: 0.5;
}
.selectWrapper:has(select:disabled)::after {
  display: none;
}
.selectWrapper:has(select:disabled) select {
  background-color: #f3f3f3;
  color: #777;
  cursor: not-allowed;
}
.selectWrapper:has(select._error:focus) + .inputError {
  display: none;
}
.selectWrapper select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding-right: 30px;
  color: #333;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}
.selectWrapper select::-ms-expand {
  display: none;
}
.selectWrapper::after {
  display: block;
  position: absolute;
  top: calc(50% - 2px);
  right: 12px;
  width: 6px;
  height: 6px;
  translate: 0 -50%;
  rotate: 45deg;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
  content: "";
  pointer-events: none;
}

textarea {
  field-sizing: content;
  display: block;
  height: 300px;
  resize: vertical;
}
textarea._narrow {
  height: 150px;
}

label:has(> input[type=radio], > input[type=checkbox]) {
  position: relative;
}

input[type=radio],
input[type=checkbox] {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}
input[type=radio]:focus + .text,
input[type=checkbox]:focus + .text {
  border-color: #1587c9;
  box-shadow: inset 0 0 0 1px #1587c9;
}
input[type=radio]:disabled + .text,
input[type=checkbox]:disabled + .text {
  background-color: #f3f3f3;
  color: #777;
  cursor: not-allowed;
  opacity: 0.5;
}
input[type=radio]._error + .text,
input[type=checkbox]._error + .text {
  border-color: #b50000;
  background-color: #fefafa;
}
input[type=radio]._error:focus + .text,
input[type=checkbox]._error:focus + .text {
  box-shadow: unset;
}
input[type=radio] + .text,
input[type=checkbox] + .text {
  -webkit-user-select: none;
  -moz-user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  box-sizing: border-box;
  display: inline-grid;
  grid-template-rows: auto;
  grid-template-columns: 1.2em 1fr;
  align-items: flex-start;
  width: 100%;
  min-height: 3.5em;
  padding: 1em;
  gap: 0.5em;
  border: 1px solid #aaa;
  border-radius: 6px;
  outline: none;
  background-color: #fff;
  font-weight: normal;
  font-size: 16px;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif !important;
  text-shadow: none;
  cursor: pointer;
  transition: border-color 0.3s, box-shadow 0.3s;
  user-select: none;
}
input[type=radio] + .text._noBorder,
input[type=checkbox] + .text._noBorder {
  min-height: 0;
  padding: 0;
  border: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
input[type=radio] + .text::before, input[type=radio] + .text::after,
input[type=checkbox] + .text::before,
input[type=checkbox] + .text::after {
  position: relative;
  grid-row: 1;
  grid-column: 1;
  justify-self: center;
  aspect-ratio: 1/1;
  content: "";
  pointer-events: none;
}
input[type=radio] + .text::before,
input[type=checkbox] + .text::before {
  width: 100%;
  translate: 0 0.1lh;
  border: 1px solid #aaa;
  border-radius: 3px;
  background-color: #fff;
}
input[type=radio] + .text::after,
input[type=checkbox] + .text::after {
  z-index: 2;
  width: 0.6em;
  translate: 0 calc(0.1lh + 0.3em);
  scale: 2;
  opacity: 0;
  transition: scale 0.3s, opacity 0.3s;
}
input[type=radio]:checked + .text::after,
input[type=checkbox]:checked + .text::after {
  scale: 1;
  background-color: #1587c9;
  opacity: 1;
}

input[type=radio] + .text::before, input[type=radio] + .text::after {
  border-radius: 100rem;
}

.labelTextLayouter .sub {
  font-size: 75%;
}
.labelTextLayouter .sub._description {
  display: block;
}

/**************************************************
 *
 * フォーム包括要素
 *
 **************************************************/
.wrapper:where(:not(:has(> header))) .formWrapper {
  flex: 0 1 min(100%, 750px);
}

.formWrapper {
  flex: 0 1 min(100%, 1200px);
  padding-block: min(10vw, 12px * 5);
  background-color: #fff;
}
.formWrapper:has(+ .formSidePane) {
  flex: 0 1 min(100%, 750px);
}
.formWrapper .buttonContainer {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  gap: 24px 12px;
}
.formWrapper .buttonContainer:has(* + *) {
  flex-direction: column;
  align-items: center;
}
.formWrapper .buttonContainer:has(* + *) .btFixedWidth + .btText.btMediumSize {
  color: #1587c9;
  font-weight: normal;
  font-size: clamp(12px, calc(12/375*100vw), 14px);
}
.formWrapper .buttonContainerLead {
  font-size: clamp(12px, calc(12/375*100vw), 14px);
}

/**************************************************
 *
 * フォーム内セクション
 *
 **************************************************/
.formSectionContainer {
  display: flex;
  flex-direction: column;
  gap: clamp(30px, calc(30/375*100vw), 48px) 0;
}
.formSectionContainer._isRemand .formBlock::after {
  z-index: 3;
  position: absolute;
  top: 0.75em;
  right: 0.75em;
  padding: 0.5em 1em;
  border-radius: 100rem;
  font-weight: bold;
  font-size: clamp(10px, calc(10/375*100vw), 14px);
  line-height: 1;
  pointer-events: none;
}
.formSectionContainer._isRemand .formBlock:has(._remandTarget) .formBlockTitle {
  padding-right: 4.5em;
}
.formSectionContainer._isRemand .formBlock:has(._remandTarget)::after {
  border: 2px solid #b50000;
  background-color: #fff;
  content: "要修正";
  color: #b50000;
}
.formSectionContainer._isRemand .formBlock:not(:has(._remandTarget))::before {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background-color: rgba(0, 0, 0, 0.5);
  content: "";
}
.formSectionContainer._isRemand .formBlock:not(:has(._remandTarget))::after {
  border: 2px solid #fff;
  background-color: transparent;
  content: "確認中";
  color: #fff;
}
.formSectionContainer._isRemand .formItem._remandTarget {
  /*
  input,
  select,
  textarea,
  label:not(.formItemTitle),
  button {
    pointer-events: all;
  }
  */
}
.formSectionContainer._isRemand .formItem._remandTarget > .formItemTitle, .formSectionContainer._isRemand .formItem._remandTarget > .formItemTitleLayouter > .formItemTitle {
  flex-wrap: wrap;
}
.formSectionContainer._isRemand .formItem._remandTarget > .formItemTitle::after, .formSectionContainer._isRemand .formItem._remandTarget > .formItemTitleLayouter > .formItemTitle::after {
  align-self: center;
  margin-left: 0.5em;
  padding-left: 1.35em;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%2286%22%20viewBox%3D%220%200%20100%2086%22%3E%20%3Cg%20transform%3D%22translate(-1372%20-3075)%22%3E%20%3Cg%20transform%3D%22translate(1372%203075)%22%20fill%3D%22%23fff%22%3E%20%3Cpath%20d%3D%22M%2092.17843627929688%2081.5%20L%207.82156229019165%2081.5%20L%2050%208.95308780670166%20L%2092.17843627929688%2081.5%20Z%22%20stroke%3D%22none%22%2F%3E%20%3Cpath%20d%3D%22M%2050%2017.90615844726562%20L%2015.64311218261719%2077%20L%2084.35688781738281%2077%20L%2050%2017.90615844726562%20M%2050%200%20L%20100%2086%20L%200%2086%20L%2050%200%20Z%22%20stroke%3D%22none%22%20fill%3D%22%23c91212%22%2F%3E%20%3C%2Fg%3E%20%3Cg%20transform%3D%22translate(100%20-2)%22%3E%20%3Crect%20width%3D%229%22%20height%3D%2222%22%20transform%3D%22translate(1318%203113)%22%20fill%3D%22%23c91212%22%2F%3E%20%3Ccircle%20cx%3D%224.5%22%20cy%3D%224.5%22%20r%3D%224.5%22%20transform%3D%22translate(1318%203139)%22%20fill%3D%22%23c91212%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: left 0.15em;
  background-size: 1.1em 1.1em;
  background-repeat: no-repeat;
  content: "修正・再審査が必要です";
  color: #b50000;
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}
@media screen and (max-width: 600px) {
  .formSectionContainer._isRemand .formItem._remandTarget > .formItemTitle::after, .formSectionContainer._isRemand .formItem._remandTarget > .formItemTitleLayouter > .formItemTitle::after {
    content: "要修正";
  }
}
.formSectionContainer._isRemand .formItem:where(:not(._remandTarget)) .btAddField,
.formSectionContainer._isRemand .formItem:where(:not(._remandTarget)) .btRemoveField,
.formSectionContainer._isRemand .formItem:where(:not(._remandTarget)) .btEqualizeRevenue,
.formSectionContainer._isRemand .formItem:where(:not(._remandTarget)) .revenueTableRow:has(._buttonIntegrated) {
  display: none;
}

.formSectionTitle {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  padding-bottom: 0.85em;
  gap: 0.5em;
  border-bottom: 3px solid #1587c9;
  color: #1587c9;
  font-weight: bold;
  font-size: clamp(19px, calc(19/375*100vw), 24px);
  line-height: 1.3;
}
.formSectionTitle:has([class^=bt]) {
  justify-content: space-between;
}
.formSectionTitle .sub {
  align-self: center;
  translate: 0 calc((1lh - 1em) * 0.5);
  font-size: 65%;
}

.formSectionTitleLead {
  margin-top: 24px;
  color: #333;
  font-weight: bold;
  font-size: clamp(14px, calc(14/375*100vw), 16px);
}
.formSectionTitleLead + .formSectionBody {
  margin-top: 24px;
}

.formSectionBody {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.formSectionTitle ~ .formSectionBody {
  margin-top: 24px;
}

/**************************************************
 *
 * フォーム内セクション内ブロック
 *
 **************************************************/
.formBlock {
  position: relative;
  padding: min(3vw, 24px);
  border-radius: 10px;
  background-color: #eaeff1;
}

.formBlockLike {
  position: relative;
  padding: min(3vw, 24px);
  border-radius: 10px;
  background-color: #eaeff1;
}

.formBlockTitle {
  font-weight: bold;
  font-size: clamp(15px, calc(15/375*100vw), 18px);
}
.formBlockTitle .sub {
  font-size: 75%;
}

.formBlockTitleLead {
  margin-top: 6px;
  color: #777;
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}

.formBlockBody {
  display: flex;
  flex-direction: column;
  margin-top: min(3vw, 18px);
  gap: clamp(18px, calc(18/375*100vw), 24px);
}

/**************************************************
 *
 * フォーム項目
 *
 **************************************************/
.formItem {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px 0;
}
.formItem[v-cloak] {
  display: none;
}
.formItem._required .formItemTitle::before {
  background-color: #1587c9;
  content: "必須";
  color: #fff;
}
.formItem._optional .formItemTitle::before {
  background-color: #999;
  content: "任意";
  color: #fff;
}

.formItemTitleLayouter {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px;
}
.formItemTitleLayouter > button {
  flex-shrink: 0;
  align-self: flex-start;
  margin-left: auto;
}

.formItemTitle {
  display: inline-flex;
  align-items: center;
  gap: 0.25em 0.35em;
  font-weight: bold;
  font-size: clamp(13px, calc(13/375*100vw), 15px);
}
.formItemTitle:not(:has(a)) {
  pointer-events: none;
}
.formItemTitle::before {
  display: inline-flex;
  align-items: center;
  padding: 0.35em 0.65em;
  border-radius: 3px;
  font-size: 10px;
  white-space: nowrap;
}
.formItemTitle .sub {
  font-size: 10px;
}
@media screen and (max-width: 600px) {
  .formItemTitle {
    display: inline;
    vertical-align: baseline;
  }
  .formItemTitle::before {
    margin-right: 0.5em;
  }
}

.formItemTitleLead {
  width: 100%;
  color: #777;
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}

.formItemNote {
  margin-top: 6px;
  color: #777;
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}

.formItem + .formItemNote {
  margin-top: -12px;
}

/**************************************************
 *
 * 個々のフォーム要素
 *
 **************************************************/
.formField {
  position: relative;
  width: 100%;
}
.formField._editSwitchable > input:not([disabled]):has(+ .btEditField) {
  padding-right: 50px;
}
.formField._editSwitchable > input:not([disabled]):has(+ .btEditField) + .btEditField {
  position: absolute;
  top: 50%;
  right: 6px;
  padding: 0.25em 0.5em;
  translate: 0 -50%;
  border-width: 1px;
  font-weight: normal;
  font-size: 10px;
  line-height: 1;
}
.formField._editSwitchable > input:disabled:has(+ .btEditField) + .btEditField {
  display: none;
}
.formField._hasSuffix {
  display: flex;
  align-items: center;
  gap: 0 6px;
  font-size: clamp(14px, calc(14/375*100vw), 16px);
}
.formField._radioAndCheckboxGroup {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: clamp(6px, calc(6/375*100vw), 12px);
}
.formField._radioAndCheckboxGroup .text {
  height: 100%;
}
.formField._radioAndCheckboxGroup._vertical {
  grid-template-columns: 1fr;
}
.formField input[type=text],
.formField input[type=search],
.formField input[type=tel],
.formField input[type=url],
.formField input[type=email],
.formField input[type=password],
.formField input[type=datetime],
.formField input[type=date],
.formField input[type=month],
.formField input[type=week],
.formField input[type=time],
.formField input[type=number],
.formField select {
  width: 100%;
  height: 56px;
}
.formField textarea {
  width: 100%;
}
.formField .selectWrapper {
  width: 100%;
}

.infieldLabel {
  position: absolute;
  top: 0.5em;
  left: 0.5em;
  color: #aaa;
  font-size: 10px;
  line-height: 1;
  pointer-events: none;
}

.outfieldLabel {
  font-weight: bold;
  font-size: clamp(12px, calc(12/375*100vw), 14px);
}
.outfieldLabel .sub {
  font-size: 10px;
}

/**************************************************
 *
 * 個々のフォーム要素に付随するエラー表示
 *
 **************************************************/
.inputError {
  display: flex;
  z-index: 2;
  position: absolute;
  right: -1em;
  bottom: 100%;
  align-items: baseline;
  padding: 0.5em;
  gap: 0 0.25em;
  translate: 0 25%;
  border: 2px solid #b50000;
  border-radius: 100px;
  background-color: #fff;
  color: #b50000;
  font-weight: bold;
  font-size: clamp(11px, calc(11/375*100vw), 12px);
  line-height: 1.3;
  pointer-events: none;
}
.inputError::before, .inputError::after {
  content: "";
}
.inputError::before {
  position: relative;
  top: 0.2em;
  flex: 0 0 1.1em;
  width: 1.1em;
  height: 1.1em;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%2286%22%20viewBox%3D%220%200%20100%2086%22%3E%20%3Cg%20transform%3D%22translate(-1372%20-3075)%22%3E%20%3Cg%20transform%3D%22translate(1372%203075)%22%20fill%3D%22%23fff%22%3E%20%3Cpath%20d%3D%22M%2092.17843627929688%2081.5%20L%207.82156229019165%2081.5%20L%2050%208.95308780670166%20L%2092.17843627929688%2081.5%20Z%22%20stroke%3D%22none%22%2F%3E%20%3Cpath%20d%3D%22M%2050%2017.90615844726562%20L%2015.64311218261719%2077%20L%2084.35688781738281%2077%20L%2050%2017.90615844726562%20M%2050%200%20L%20100%2086%20L%200%2086%20L%2050%200%20Z%22%20stroke%3D%22none%22%20fill%3D%22%23c91212%22%2F%3E%20%3C%2Fg%3E%20%3Cg%20transform%3D%22translate(100%20-2)%22%3E%20%3Crect%20width%3D%229%22%20height%3D%2222%22%20transform%3D%22translate(1318%203113)%22%20fill%3D%22%23c91212%22%2F%3E%20%3Ccircle%20cx%3D%224.5%22%20cy%3D%224.5%22%20r%3D%224.5%22%20transform%3D%22translate(1318%203139)%22%20fill%3D%22%23c91212%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
.inputError::after {
  position: absolute;
  top: 100%;
  right: 2em;
  width: 2px;
  height: 1em;
  rotate: 20deg;
  background-color: #b50000;
}

/**************************************************
 *
 * 一時的な置き場：ここには何もないのが望ましい
 *
 **************************************************/
/**************************************************
 *
 * サイト TOP
 *
 **************************************************/
.siteTopHeader {
  display: grid;
  grid-template-rows: 35vh;
  grid-template-columns: 1fr;
  align-items: center;
  gap: clamp(12px, calc(12/375*100vw), 18px);
}
.siteTopHeader .globalNavigationLinkList {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-row: 1;
  grid-column: 1;
  align-self: flex-end;
  gap: 0 clamp(18px, calc(18/375*100vw), 42px);
  translate: 0 50%;
}
.siteTopHeader .globalNavigationLinkListItem [class^=bt] {
  border: clamp(1px, calc(1/375*100vw), 2px) solid #fff;
}
@media screen and (max-width: 800px) {
  .siteTopHeader {
    grid-template-rows: 1fr auto;
    height: max(220px, 35vh);
    max-height: 330px;
  }
  .siteTopHeader .globalNavigationLinkList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-row: 2;
    margin-inline: unset;
    gap: clamp(12px, calc(12/375*100vw), 18px);
    translate: unset;
  }
  .siteTopHeader .globalNavigationLinkListItem {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .siteTopHeader {
    height: auto;
  }
  .siteTopHeader .globalNavigationLinkList {
    grid-template-columns: 1fr;
  }
}

.siteTopImage {
  grid-row: 1;
  grid-column: 1;
  height: 100%;
  overflow: hidden;
  border-radius: 0 0 100% 100%;
}
.siteTopImage img {
  -o-object-fit: cover;
  -webkit-filter: brightness(65%);
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(65%);
}
@media screen and (max-width: 800px) {
  .siteTopImage {
    grid-row: 1/3;
    align-self: flex-start;
    height: calc(100% + 10px);
  }
  .siteTopImage img {
    -o-object-fit: cover;
    -webkit-filter: brightness(85%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(85%);
  }
}

.siteTopLogo {
  display: flex;
  z-index: 2;
  position: relative;
  grid-row: 1;
  grid-column: 1;
  align-items: center;
  justify-content: center;
  justify-self: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2em 2em;
  gap: 1em 2em;
  border: clamp(1px, calc(1/375*100vw), 2px) solid #222;
  border-radius: 10px;
  background-color: rgba(0, 0, 0, 0.5);
  font-size: clamp(10px, calc(10/375*100vw), 13px);
}
.siteTopLogo .text {
  color: #fff;
  font-weight: bold;
  line-height: 1.75;
}
.siteTopLogo .image {
  width: 12em;
}
@media screen and (max-width: 800px) {
  .siteTopLogo {
    flex-direction: column-reverse;
    max-width: calc(100% - 48px);
    margin-top: 24px;
    padding-bottom: 1.5em;
    background-color: rgba(0, 0, 0, 0.35);
  }
  .siteTopLogo .text br {
    display: none;
  }
  .siteTopLogo .image {
    width: 12em;
  }
}

/**************************************************
 *
 * 記事詳細
 *
 **************************************************/
.articleSection {
  display: grid;
  gap: clamp(42px, calc(42/375*100vw), 60px);
}

.articleDetail {
  display: grid;
  padding: clamp(12px, calc(12/375*100vw), 24px);
  gap: clamp(36px, calc(36/375*100vw), 48px);
  border-radius: 10px;
  background-color: #fff;
}

.articleDetailHead {
  display: grid;
  gap: clamp(6px, calc(6/375*100vw), 12px);
}

.articleTitle {
  font-weight: bold;
  font-size: clamp(16px, calc(16/375*100vw), 21px);
  line-height: 1.5;
}
.articleTitle .actressName {
  margin-right: 1em;
  background-image: linear-gradient(180deg, transparent 35%, #f3f300 35%);
  color: #b50000;
  font-weight: bold;
}
.articleTitle .actressKanaName {
  margin-left: 1em;
  font-size: 50%;
}

.articleInfoContainer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(6px, calc(6/375*100vw), 6px) clamp(12px, calc(12/375*100vw), 18px);
}
.articleInfoContainer .tagList {
  margin-right: auto;
}
.articleInfoContainer .tagListItem {
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}

.articleDate {
  display: inline-flex;
  align-items: center;
  gap: 0 0.5em;
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}
.articleDate::before {
  width: 1.5em;
  height: 1.5em;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23333333%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22lucide%20lucide-calendar-days%22%3E%3Cpath%20d%3D%22M8%202v4%22%2F%3E%3Cpath%20d%3D%22M16%202v4%22%2F%3E%3Crect%20width%3D%2218%22%20height%3D%2218%22%20x%3D%223%22%20y%3D%224%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%2010h18%22%2F%3E%3Cpath%20d%3D%22M8%2014h.01%22%2F%3E%3Cpath%20d%3D%22M12%2014h.01%22%2F%3E%3Cpath%20d%3D%22M16%2014h.01%22%2F%3E%3Cpath%20d%3D%22M8%2018h.01%22%2F%3E%3Cpath%20d%3D%22M12%2018h.01%22%2F%3E%3Cpath%20d%3D%22M16%2018h.01%22%2F%3E%3C%2Fsvg%3E");
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

.articleMainImage img {
  width: 100%;
}

.productTitle {
  font-size: 10px;
}

.tocBox {
  position: relative;
  border: 1px solid #eee;
  border-radius: 6px;
  background-color: #f6f4ec;
}
.tocBox::before {
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  border-radius: 6px 6px 0 0;
  background-color: #e5e2d7;
  content: "";
}

.tocBoxTitle {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 50%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25em 3em;
  translate: -50% calc(-50% + 1px);
  border: 1px solid #333;
  border-radius: 100rem;
  background-color: #fff;
  font-size: clamp(12px, calc(12/375*100vw), 14px);
}

.tocList {
  display: grid;
  padding: clamp(18px, calc(18/375*100vw), 24px) clamp(12px, calc(12/375*100vw), 36px);
  gap: 0.5em 0;
}

.tocListItem {
  display: flex;
  align-items: first baseline;
}
@media (any-hover: hover) {
  .tocListItem:hover {
    text-decoration: underline;
  }
}
.tocListItem._lv1 {
  font-size: clamp(14px, calc(14/375*100vw), 15px);
}
.tocListItem._lv1::before {
  content: "・";
}
.tocListItem._lv1 ~ ._lv1 {
  margin-top: 0.5em;
}
.tocListItem._lv2 {
  padding-left: 1em;
  gap: 0 0.5em;
  font-size: clamp(12px, calc(12/375*100vw), 13px);
}
.tocListItem._lv2::before {
  content: "└";
}

.articleMainSection {
  display: grid;
  gap: clamp(18px, calc(18/375*100vw), 24px);
}
.articleMainSection:has(.articleList) {
  gap: unset;
}

.articleMainSectionTitleContainer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  border-bottom: 2px solid #b50000;
  border-radius: 6px;
  background-color: #000;
  color: #fff;
}
.articleMainSectionTitleContainer [class^=bt] {
  padding: 0.5em 0.8em;
  border: unset;
  font-size: 10px;
}

.articleMainSectionTitle {
  font-weight: bold;
  font-size: clamp(17px, calc(17/375*100vw), 20px);
}

.articleMainSectionBody {
  display: grid;
  gap: clamp(18px, calc(18/375*100vw), 24px);
  /*
  &:has(.articleSubSection) {
    padding-left: ($GUTTER * 1);
  }
  */
}
.articleMainSectionBody strong {
  background-image: linear-gradient(180deg, transparent 35%, #f3f300 35%);
  font-weight: bold;
  text-shadow: 0 2px 0 #fff;
}

.articleSubSection {
  /*
  h3 {
    position: relative;
    padding-block: .25em;
    @include fz-clamp(16,18);
    font-weight: bold;
    &::before {
      content: "";
      position: absolute;
      top: 50%;
      left: ($GUTTER * -1);
      width: 6px;
      height: 85%;
      background-color: $accentColor;
      border-radius: 100rem;
      translate: 0 -50%;
    }
  }
  */
}
.articleSubSection p {
  margin-top: 0.5em;
  line-height: 1.8;
}
.articleSubSection img {
  display: block;
  margin-top: 0.5em;
}
.articleSubSection img + p + img {
  margin-top: 2em;
}

.pointsBox {
  padding: 1.5em;
  border-radius: 10px;
  background-color: #f9ebeb;
  font-size: clamp(13px, calc(13/375*100vw), 15px);
}
.pointsBox._pre {
  white-space: pre-line;
}
.pointsBox .discList {
  display: grid;
  gap: 0.5em;
}

.bestScene {
  display: grid;
  position: relative;
  margin-block: clamp(18px, calc(18/375*100vw), 24px);
  gap: 1em;
}

.bestSceneTitle {
  display: flex;
  z-index: 2;
  position: relative;
  align-items: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 0 0.5em;
  gap: 0 0.25em;
  background-color: #fff;
  font-weight: bold;
  font-size: clamp(16px, calc(16/375*100vw), 18px);
}
.bestSceneTitle::before {
  aspect-ratio: 1/1;
  width: 1.25em;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2231.966%22%20height%3D%2243.383%22%20viewBox%3D%220%200%2031.966%2043.383%22%3E%20%3Cpath%20d%3D%22M12.992%2C29.258A5.708%2C5.708%2C0%2C0%2C0%2C18.7%2C23.55c0-3.151-1.142-4.567-2.283-6.85-2.448-4.893-.511-9.257%2C4.567-13.7a26.1%2C26.1%2C0%2C0%2C0%2C9.133%2C14.842c4.567%2C3.653%2C6.85%2C7.992%2C6.85%2C12.558A15.983%2C15.983%2C0%2C0%2C1%2C5%2C30.4a11.46%2C11.46%2C0%2C0%2C1%2C2.283-6.85A5.708%2C5.708%2C0%2C0%2C0%2C12.992%2C29.258Z%22%20transform%3D%22translate(-5%20-3)%22%20fill%3D%22%23b50000%22%2F%3E%3C%2Fsvg%3E");
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

.bestSceneBody {
  display: grid;
  padding: 0 0.5em;
  gap: 1em;
  line-height: 1.8;
}
.bestSceneBody::before {
  position: absolute;
  top: 1em;
  left: 0;
  width: 100%;
  height: 2px;
  background-image: linear-gradient(to right, #333 2px, transparent 2px);
  background-position: right bottom;
  background-size: 10px 2px;
  background-repeat: repeat-x;
  content: "";
}

.bestSceneDiscription {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1em;
}
.bestSceneDiscription img {
  flex: 1 0 min(300px, 100%);
  min-width: 0;
}
.bestSceneDiscription figcaption {
  flex: 1 0 min(350px, 100%);
}
.bestSceneDiscription .bestSceneTime {
  display: inline-block;
  margin-bottom: 0.5em;
  padding: 0.25em 0.5em;
  background-color: #000;
  color: #fff;
}

.bestSceneConclusion {
  font-weight: bold;
  font-size: 120%;
}

.articleCtaBox {
  display: grid;
  position: relative;
  align-items: start;
  justify-items: center;
  margin-top: clamp(12px, calc(12/375*100vw), 18px);
  padding: clamp(12px, calc(12/375*100vw), 18px);
  border: 2px solid #b50000;
  border-radius: 6px;
}

.articleCtaBoxTitle {
  display: inline-flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: -100%;
  padding-inline: 0.5em;
  gap: 0 0.5em;
  translate: 0 -135%;
  background-color: #fff;
  color: #b50000;
  font-weight: bold;
  font-size: clamp(14px, calc(14/375*100vw), 18px);
  white-space: nowrap;
}
.articleCtaBoxTitle::before {
  content: "＼";
}
.articleCtaBoxTitle::after {
  content: "／";
}

.articleCtaBoxBody {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em 2em;
}
.articleCtaBoxBody .imageContainer {
  flex: 1 0 min(180px, 100%);
}
.articleCtaBoxBody .textContainer {
  display: grid;
  flex: 1 0 min(300px, 100%);
  gap: 1em 0;
}
.articleCtaBoxBody .textContainer .title {
  font-weight: bold;
  font-size: clamp(13px, calc(13/375*100vw), 14px);
}
.articleCtaBoxBody .textContainer .title a {
  color: #333;
  transition: color 0.3s;
}
@media (any-hover: hover) {
  .articleCtaBoxBody .textContainer .title a:hover {
    color: #1587c9;
  }
}
.articleCtaBoxBody .textContainer .buttonContainer {
  display: flex;
  justify-content: center;
}

.productInformationBoxTitle {
  padding: 12px;
  border-bottom: 2px solid #b50000;
  border-radius: 6px;
  background-color: #000;
  color: #fff;
  font-weight: bold;
  font-size: clamp(18px, calc(18/375*100vw), 20px);
}

.productInformationBoxBody {
  display: grid;
  padding: 12px;
  gap: clamp(24px, calc(24/375*100vw), 36px);
  border: solid #b50000;
  border-width: 0 2px 2px 2px;
  border-radius: 0 0 6px 6px;
}

.productInformation {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: min(350px, 100%) 1fr;
  align-items: start;
  gap: clamp(12px, calc(12/375*100vw), 12px) clamp(12px, calc(12/375*100vw), 18px);
}
.productInformation .imageContainer {
  grid-row: 1;
  grid-column: 1;
}
.productInformation .productInformationList {
  grid-row: 1/3;
  grid-column: 2;
}
.productInformation .buttonContainer {
  display: flex;
  grid-row: 2;
  grid-column: 1;
  justify-content: center;
}
@media screen and (max-width: 800px) {
  .productInformation {
    grid-template-rows: unset;
    grid-template-columns: 1fr;
  }
  .productInformation .imageContainer {
    grid-row: unset;
    grid-column: 1;
  }
  .productInformation .productInformationList {
    grid-row: unset;
    grid-column: 1;
  }
  .productInformation .buttonContainer {
    grid-row: unset;
    grid-column: 1;
  }
}

.productInformationList {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.5em 0;
  font-size: clamp(13px, calc(13/375*100vw), 14px);
}

.productInformationListItem {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1/3;
}
.productInformationListItem .title {
  display: flex;
  justify-content: space-between;
}
.productInformationListItem .title::after {
  content: "：";
}
.productInformationListItem .tagListItem {
  font-size: clamp(10px, calc(10/375*100vw), 11px);
}

.productPriceList {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0 0.5em;
}

.productPriceListTitle {
  grid-column: span 3;
  padding: 0.5em 1em;
  border: 1px solid #ddd;
  background-color: #f1eee2;
  font-weight: bold;
  font-size: clamp(10px, calc(10/375*100vw), 12px);
  text-align: center;
}
.productPriceListTitle img {
  width: 5em;
  margin-right: 0.5em;
}

.productPriceListItem {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 3;
  align-items: center;
  border-inline: 1px solid #ddd;
  font-size: clamp(11px, calc(11/375*100vw), 14px);
}
.productPriceListItem:not(:last-child) {
  border-bottom: 1px solid #ddd;
}
.productPriceListItem::before {
  display: inline-grid;
  justify-self: center;
  width: 3em;
  margin-left: 0.5em;
  content: "";
  font-size: clamp(10px, calc(10/375*100vw), 11px);
}
.productPriceListItem .title {
  padding-block: 1em;
}
.productPriceListItem .title a {
  text-decoration: underline;
}
.productPriceListItem .price {
  justify-self: end;
  padding: 1em 0.5em 1em 0;
  font-size: 105%;
  white-space: nowrap;
}
.productPriceListItem._recommend::before {
  place-items: center;
  aspect-ratio: 1/1;
  padding: 0.5em;
  border-radius: 100rem;
  color: #fff;
  font-weight: bold;
  line-height: 1;
}
.productPriceListItem._recommend .price {
  color: #b50000;
  font-weight: bold;
  font-size: 115%;
  white-space: nowrap;
}
.productPriceListItem._recommend._quality::before {
  background-color: #b50000;
  content: "最高画質";
}
.productPriceListItem._recommend._quality .price {
  color: #b50000;
}
.productPriceListItem._recommend._cost::before {
  background-color: #00a500;
  content: "コスパ良";
}
.productPriceListItem._recommend._cost .price {
  color: #00a500;
}

.productPriceListNote {
  display: flex;
  grid-column: span 3;
  justify-content: flex-end;
  margin-top: 0.5em;
  color: #777;
  font-weight: normal;
  font-size: clamp(10px, calc(10/375*100vw), 11px);
}
.productPriceListNote::before {
  content: "*";
}

.productPriceAppendix {
  display: grid;
  padding: 1em;
  gap: 0.5em;
  border-radius: 10px;
  background-color: #f9ebeb;
  font-size: clamp(12px, calc(12/375*100vw), 14px);
}

@media screen and (max-width: 800px) {
  .relatedArticleSection .articleList {
    grid-template-columns: unset;
    grid-auto-columns: min(300px, 75vw);
    grid-auto-flow: column;
    width: 100vw;
    margin-inline: -12px;
    padding-inline: 12px;
    overflow-x: auto;
  }
}

.relatedArticleSectionTitle {
  position: relative;
  font-weight: bold;
  font-size: clamp(16px, calc(16/375*100vw), 18px);
}
.relatedArticleSectionTitle::after {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 100rem;
  background-color: #b50000;
  content: "";
}

.actressDetailHead {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: auto 1fr;
  gap: clamp(12px, calc(12/375*100vw), 12px) clamp(18px, calc(18/375*100vw), 24px);
}
.actressDetailHead .titleContainer {
  grid-row: 1;
  grid-column: 2;
}
.actressDetailHead .titleContainer .articleTitle {
  font-size: clamp(18px, calc(18/375*100vw), 24px);
}
.actressDetailHead .imageContainer {
  grid-row: span 2;
  grid-column: 1;
  aspect-ratio: 1/1;
  width: 250px;
  overflow: hidden;
  border: 5px solid #ddd;
  border-radius: 100rem;
}
.actressDetailHead .imageContainer img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.actressDetailHead .textContainer {
  display: grid;
  grid-row: 2;
  grid-column: 2;
  gap: clamp(6px, calc(6/375*100vw), 12px);
}
.actressDetailHead .textContainer .articleDate {
  justify-self: end;
  font-size: clamp(10px, calc(10/375*100vw), 11px);
}
@media screen and (max-width: 800px) {
  .actressDetailHead {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .actressDetailHead .articleTitle {
    order: 2;
  }
  .actressDetailHead .imageContainer {
    order: 1;
  }
  .actressDetailHead .textContainer {
    order: 3;
  }
}

.actressDiscription {
  padding: 1em;
  border-radius: 10px;
  background-color: #f9ebeb;
  font-size: clamp(12px, calc(12/375*100vw), 14px);
}

.snsInfoContainer {
  margin-top: 1em;
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}

.sceneImageSectionContainer {
  display: grid;
  gap: clamp(36px, calc(36/375*100vw), 48px);
}

.sceneImageSection {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1em;
}
.sceneImageSection .imageContainer {
  flex: 1 0 min(300px, 100%);
  min-width: 0;
}
.sceneImageSection .textContainer {
  display: grid;
  flex: 1 0 min(350px, 100%);
  gap: 1em;
}

.sceneImageSectionTitle {
  -webkit-text-decoration-color: #b50000;
  -webkit-text-decoration-style: wavy;
  font-size: clamp(14px, calc(14/375*100vw), 16px);
  text-decoration: underline;
  text-decoration-style: wavy;
  text-decoration-color: #b50000;
  text-underline-offset: 2px;
}

.sceneImageDescription {
  font-size: clamp(11px, calc(11/375*100vw), 12px);
}

.sceneImageLinkBox:is(a) .sceneImageLinkBoxBody {
  text-decoration: underline;
}

.sceneImageLinkBoxTitle {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: -1em;
  padding: 0.35em 1em;
  border-radius: 3px;
  background-color: #1587c9;
  color: #fff;
  font-size: clamp(10px, calc(10/375*100vw), 10px);
}

.sceneImageLinkBoxBody {
  padding: 1.5em 1em 1em;
  border: 1px solid #1587c9;
  border-radius: 6px;
  color: #1587c9;
  font-size: clamp(11px, calc(11/375*100vw), 12px);
}

/**************************************************
 *
 * 規約類
 *
 **************************************************/
.textContentSection {
  display: grid;
  gap: clamp(24px, calc(24/375*100vw), 36px) 0;
}

.textContentPanel {
  display: grid;
  padding: clamp(18px, calc(18/375*100vw), 60px);
  gap: clamp(24px, calc(24/375*100vw), 36px) 0;
  border-radius: 10px;
  background-color: #fff;
}

.termsSection {
  display: grid;
  gap: clamp(12px, calc(12/375*100vw), 18px) 0;
}

.termsSectionTitle {
  position: relative;
  font-size: clamp(16px, calc(16/375*100vw), 21px);
}
.termsSectionTitle::before {
  display: block;
  position: absolute;
  top: 0;
  left: -1em;
  width: 0.25em;
  height: 1lh;
  background-color: #b50000;
  content: "";
}

.termsSectionBody {
  display: grid;
  gap: clamp(12px, calc(12/375*100vw), 18px) 0;
}

.termsSubSection {
  display: grid;
  gap: clamp(6px, calc(6/375*100vw), 12px) 0;
}

.termsSubSectionTitle {
  font-size: clamp(14px, calc(14/375*100vw), 18px);
}

.termsText {
  font-size: clamp(12px, calc(12/375*100vw), 14px);
}

.termsNote {
  font-size: clamp(10px, calc(10/375*100vw), 12px);
}

.regularTable {
  width: 100%;
  border-collapse: collapse;
  font-size: clamp(12px, calc(12/375*100vw), 14px);
}
.regularTable th, .regularTable td {
  padding: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  vertical-align: top;
}
.regularTable th {
  width: 28%;
  white-space: nowrap;
}