
  /* カルーセル */
  .type-carousel {
    text-decoration: none;
    padding: 0px 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    text-align: center;
    overflow: hidden;
  }
  .carousel-container {
    max-width: 800px;
    margin: 0 auto;
    overflow: hidden;
  }

  .carousel {
    position: relative;
  }

  .carousel a, .carousel a:hover {
    text-decoration: none;
    display: block;
  } 


  .carousel-inner {
    display: flex;
    align-items: center;
    transition: transform 0.6s ease-in-out;
  }

  .carousel-item {
    flex: 0 0 100%;
  }

  .carousel-item img {
    width: 100%;
    height: auto;
  }


  .carousel-control-prev,
  .carousel-control-next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 32px;
      height: 32px;
      background-color: rgba(255, 255, 255, 0.9);
      border-radius: 50%;
      text-indent: -9999px;
      cursor: pointer;
  }


  .carousel-control-prev {
      left: 10px;
  }
  .carousel-control-next {
      right: 10px;
  }
  .carousel-control-prev::before,
  .carousel-control-next::before {
      content: "";
      display: inline-block;
      width: 10px;
      height: 10px;
      border-top: 2px solid #222;
      border-right: 2px solid #222;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) rotate(45deg);
  }
  .details .carousel-control-prev,
  .details .carousel-control-next {
      width: 24px;
      height: 24px;
  }
  .details .carousel-control-prev::before, .details .carousel-control-next::before {
      width: 8px;
      height: 8px;
  }

  .carousel-control-prev::before {
      transform: translate(-30%, -50%) rotate(-135deg);
  }

  .carousel-control-next::before {
      transform: translate(-70%, -50%) rotate(45deg);
  }



  .filter-container {
    background-color: var(--surface);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--border);
    max-width: 800px;
    margin: 0 auto;
  }


  .search-bar {
    margin-bottom: 20px;
  }

  .search-bar input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
  }

  .trend-section, .category-section {
    margin-bottom: 20px;
  }

  .filter-container h3 {margin-bottom: 8px;}

  .trend-list, .category-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .trend-list li, .category-list li {
    margin: 0;
  }

  .trend-list a, .category-list a {
    display: block;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    background-color: var(--surface-info);
    color: var(--text-info);
    border: 1px solid var(--surface-info);
  }

  .trend-list a:hover, .category-list a:hover {
    background-color: var(--surface-info);
    border: 1px solid var(--text-info);
    color: var(--text-info);
  }



  #progress-bar {
    width: 36px;
    height: 5px;
    border-radius: 6px;
    overflow: hidden;
    background-color: rgb(0 0 0 / 20%);
    position: relative;
  }

  #progress-bar-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-color: #ebebef;
    transition: width .1s linear;
  }

  #progress-bar.animate #progress-bar-inner {
    width: 100%;
  }

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

  .title-box {
    color: #FFF;
    padding: 15px 15px 15px;
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin: 0px 0;
    font-size: 15px;
    column-gap: 8px;
    font-weight: 800;
    line-height: 1.2;
  }

  #content {
    padding: 0px 15px;
    position: relative;
    height: 200px;
    overflow: hidden;
  }

  .content-block {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
  }

  .content-block.active {
    opacity: 1;
    visibility: visible;
    animation: fadeIn 1s ease-in-out;
  }

  #content .link-li {
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 12px;
    padding: 0 15px;
  }

  #content .linkbox {
    width: calc((100% - 24px) / 3);
  }

  #content .linkbox a {
    color: #FFF;
    text-decoration: none;
  }

  #content .imgbox {
    background: #eee;
    display: inline-block;
    width: 100%;
    height: 37vw;
    max-height: 290px;
    min-height: 145px;
    margin: 0 auto 6px;
    vertical-align: top;
    border-radius: 3px;
    position: relative;
    overflow: hidden;
  }

  #content .imgbox img {
    position: absolute;
    height: 100%;
    width: auto;
    object-fit: cover;
    object-position: 100% 0;
  }

  #content .linkbox .title {
    line-height: 1.2;
    font-size: 12px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }

  @media screen and (min-width: 600px) {

    #content {
        padding: 0px 5%;
        height: 360px;
    }

    #progress-bar {
        width: 60px;
    }

    .title-box {
        padding: 25px 5% 15px;
    }

    #content .link-li {
        gap: 2.5%;
        padding: 0 5%;
    }

    #content .linkbox {
        width: calc((100% - 5%) / 3);
    }

    #content .imgbox {
        height: 295px;
        max-height: inherit;
    }
  }


  /* Slider */
  .slick-slider
  {
      position: relative;

      display: block;
      box-sizing: border-box;

      -webkit-user-select: none;
        -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;

      -webkit-touch-callout: none;
      -khtml-user-select: none;
      -ms-touch-action: pan-y;
          touch-action: pan-y;
      -webkit-tap-highlight-color: transparent;
  }

  .slick-list
  {
      position: relative;

      display: block;
      overflow: hidden;

      margin: 0;
      padding: 0;
  }
  .slick-list:focus
  {
      outline: none;
  }
  .slick-list.dragging
  {
      cursor: pointer;
      cursor: hand;
  }

  .slick-slider .slick-track,
  .slick-slider .slick-list
  {
      -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
          -ms-transform: translate3d(0, 0, 0);
          -o-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
  }

  .slick-track
  {
      position: relative;
      top: 0;
      left: 0;

      display: block;
      margin-left: auto;
      margin-right: auto;
  }
  .slick-track:before,
  .slick-track:after
  {
      display: table;

      content: '';
  }
  .slick-track:after
  {
      clear: both;
  }
  .slick-loading .slick-track
  {
      visibility: hidden;
  }

  .slick-slide
  {
      display: none;
      float: left;

      height: 100%;
      min-height: 1px;
  }
  [dir='rtl'] .slick-slide
  {
      float: right;
  }
  .slick-slide img
  {
      display: block;
      margin: 0 auto;
  }
  .slick-slide.slick-loading img
  {
      display: none;
  }
  .slick-slide.dragging img
  {
      pointer-events: none;
  }
  .slick-initialized .slick-slide
  {
      display: block;
  }
  .slick-loading .slick-slide
  {
      visibility: hidden;
  }
  .slick-vertical .slick-slide
  {
      display: block;

      height: auto;

      border: 1px solid transparent;
  }
  .slick-arrow.slick-hidden {
      display: none;
  }
  @charset 'UTF-8';
  /* Slider */
  .slick-loading .slick-list
  {
      background: #fff url('./ajax-loader.gif') center center no-repeat;
  }

  /* Icons */

  /* Arrows */
  .slick-prev,
  .slick-next
  {
      font-size: 0;
      line-height: 0;

      position: absolute;
      top: 50%;

      display: block;

      width: 20px;
      height: 20px;
      padding: 0;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%);

      cursor: pointer;

      color: transparent;
      border: none;
      outline: none;
      background: transparent;
  }
  .slick-prev:hover,
  .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus
  {
      color: transparent;
      outline: none;
      background: transparent;
  }
  .slick-prev:hover:before,
  .slick-prev:focus:before,
  .slick-next:hover:before,
  .slick-next:focus:before
  {
      opacity: 1;
  }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before
  {
      opacity: .25;
  }

  .slick-prev:before,
  .slick-next:before
  {
      font-size: 20px;
      line-height: 1;

      opacity: .75;
      color: white;

      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
  }

  .slick-prev
  {
      left: -25px;
  }
  [dir='rtl'] .slick-prev
  {
      right: -25px;
      left: auto;
  }
  .slick-prev:before
  {
      content: '←';
  }
  [dir='rtl'] .slick-prev:before
  {
      content: '→';
  }

  .slick-next
  {
      right: -25px;
  }
  [dir='rtl'] .slick-next
  {
      right: auto;
      left: -25px;
  }
  .slick-next:before
  {
      content: '→';
  }
  [dir='rtl'] .slick-next:before
  {
      content: '←';
  }

  /* Dots */
  .slick-dotted.slick-slider
  {
      margin-bottom: 30px;
  }

  .slick-dots
  {
      position: absolute;
      bottom: -25px;

      display: block;

      width: 100%;
      padding: 0;
      margin: 0;

      list-style: none;

      text-align: center;
  }
  .slick-dots li
  {
      position: relative;

      display: inline-block;

      width: 20px;
      height: 20px;
      margin: 0 5px;
      padding: 0;

      cursor: pointer;
  }
  .slick-dots li button
  {
      font-size: 0;
      line-height: 0;

      display: block;

      width: 20px;
      height: 20px;
      padding: 5px;

      cursor: pointer;

      color: transparent;
      border: 0;
      outline: none;
      background: transparent;
  }
  .slick-dots li button:hover,
  .slick-dots li button:focus
  {
      outline: none;
  }
  .slick-dots li button:hover:before,
  .slick-dots li button:focus:before
  {
      opacity: 1;
  }
  .slick-dots li button:before
  {
      font-family: 'slick';
      font-size: 6px;
      line-height: 20px;

      position: absolute;
      top: 0;
      left: 0;

      width: 20px;
      height: 20px;

      content: '•';
      text-align: center;

      opacity: .25;
      color: black;

      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
  }
  .slick-dots li.slick-active button:before
  {
      opacity: .75;
      color: black;
  }


  /* 基本スタイル */
  *,
  *:after,
  *:before {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-size: 100%;
    line-height: 1;
    list-style-type: none;
  }
  img {
    max-width: 100%;
    height: auto;
    pointer-events: none;
    vertical-align: bottom;
  }

  button {
    touch-action: manipulation;
  }

  [role=button],[type=button],[type=reset],[type=submit],button {
    cursor: pointer
  }

  [disabled] {
    cursor: default
  }

  [type=number] {
    width: auto
  }

  [type=search] {
    -webkit-appearance: textfield
  }

  [type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
  }

  textarea {
    overflow: auto;
    width: 100%;
    resize: vertical
  }

  button {
    overflow: visible
  }

  [type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner {
    border-style: 0;
    padding: 0
  }

  [type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring {
    outline: 1px dotted ButtonText
  }

  [type=reset],[type=submit],button,html [type=button] {
    -webkit-appearance: button
  }

  button,select {
    text-transform: none
  }

  button,input,select,textarea {
    background-color: transparent;
    border-style: none;
    color: inherit
  }

  select {
    -moz-appearance: none;
    -webkit-appearance: none
  }

  select::-ms-expand {
    display: none
  }

  select::-ms-value {
    color: currentColor
  }


  /* 基本の設定（ライトモード） */
  /* ルート変数 */

  :root {
    --wg-font-smooth--webkit: antialiased;
    --wg-font-smooth--moz: grayscale
  }

  html {
    color: hsl(var(--hp-foreground));
    background-color: hsl(var(--hp-background))
  }

  :root, html {
    --scroll-gap: 30px;

    --red-500-rgb: 245, 61, 107;
    --pink-500-rgb: 247, 95, 222;
    --green-500-rgb: 45, 202, 114;
    --orange-500-rgb: 255, 125, 82;
    --yellow-600-rgb: 250, 175, 0;
    --band-500-rgb: 50, 130, 235;


    --gray-50: #f7f7f8;

    --gray-100: #ebebef;

    --gray-200: #d1d1db;
    --gray-300: #a9a9bc;
    --gray-400: #8a8aa3;
    --gray-500: #6c6c89;
    --gray-600: #55556d;
    --gray-700: #3f3f50;

    --gray-800: #282833;

    /* --gray-800: #2e2e2e; */


    /* --gray-900: #121217; */

    --gray-900: #000;


    --white-50: #fff;
    --white-60: #fff;
    --white-100: #fff;
    --white-200: #fff;
    --white-300: #fff;
    --white-400: #fff;
    --white-500: #fff;
    --white-600: #fff;
    --white-700: #fff;
    --white-800: #fff;
    --white-900: #fff;
    --band-50: #f4f1fd;
    --band-100: #e5dfff;
    --band-200: #cac0ff;
    --band-300: #b0a0ff;
    --band-400: #9581ff;
    /* --band-500: #7b61ff; */
    --band-500: #3282EB;
    --band-600: #624ecc;
    /* --band-700: #4a3a99; */
    --band-700: #2B6FC8;
    --band-800: #312766;
    --band-900: #191333;
    --band-disabled: rgba(149,129,255,.5);
    --red-50: #fef0f4;
    --red-100: #fdd8e1;
    --red-200: #fbb1c4;
    --red-300: #f98ba6;
    --red-400: #f76489;
    --red-500: #f53d6b;
    --red-600: #f3164e;
    --red-700: #d50b3e;
    --red-800: #af0932;
    --red-900: #880727;
    --yellow-50: #fff9eb;
    --yellow-100: #fff3d6;
    --yellow-200: #ffe7ad;
    --yellow-300: #ffda85;
    --yellow-400: #ffce5c;
    --yellow-500: #ffc233;
    --yellow-600: #faaf00;
    --yellow-700: #c28800;
    --yellow-800: #8a6100;
    --yellow-900: #523900;
    --green-50: #eefbf4;
    --green-100: #dff8ea;
    --green-200: #b2eecc;
    --green-300: #84e4ae;
    --green-400: #56d990;
    --green-500: #2dca72;
    --green-600: #26a95f;
    --green-700: #1e874c;
    --green-800: #17663a;
    --green-900: #0f4527;
    --orange-50: #fff2ee;
    --orange-100: #ffe8e1;
    --orange-200: #ffcdbd;
    --orange-300: #ffb399;
    --orange-400: #ff9876;
    --orange-500: #ff7d52;
    --orange-600: #ff571f;
    --orange-700: #eb3a00;
    --orange-800: #b82e00;
    --orange-900: #852100;
    --pink-50: #feecfb;
    --pink-100: #fdddf8;
    --pink-200: #fcc5f3;
    --pink-300: #fa99ea;
    --pink-400: #f87ce4;
    --pink-500: #f75fde;
    --pink-600: #f42ad3;
    --pink-700: #db0bb9;
    --pink-800: #a5088c;
    --pink-900: #70065f;
    --blue-50: #f0faff;
    --blue-100: #dbf3ff;
    --blue-200: #ade4ff;
    --blue-300: #70d1ff;
    --blue-400: #38beff;
    --blue-500: #00acff;
    /* --blue-600: #0090d6; */

    --blue-600: #3282EB;


    --blue-700: #0075ad;
    --blue-800: #005985;
    --blue-900: #003e5c;

    --icon-info: var(--blue-600);
    --icon-caution: var(--yellow-700);
    --icon-critical-hover: var(--red-800);
    --icon-critical: var(--red-600);
    --icon-success: var(--green-600);
    --icon-disable: var(--gray-200);
    --icon-on-bright-color: var(--gray-800);
    --icon-on-color: var(--white-900);
    --icon-interactive-hover: var(--band-700);
    --icon-interactive: var(--band-500);
    --icon: var(--gray-500);
    --icon-subdued: var(--gray-400);
    --text-interactive-hover: var(--band-700);
    --text-interactive: var(--band-500);
    --text-info: var(--blue-600);
    --text-caution: var(--yellow-700);
    --text-text-critical-hover: var(--red-800);
    --text-text-critical: var(--red-600);
    --text-success: var(--green-600);
    --text-on-color: var(--white-900);
    --text-disabled: var(--gray-200);
    --text: var(--gray-800);

    --text-subdued: var(--gray-400);
    --surface-info: var(--blue-100);
    --surface-caution: var(--yellow-100);
    --surface-critical-strong-hover: var(--red-700);
    --surface-critical-strong: var(--red-500);
    --surface-critical: var(--red-100);
    --surface-success: var(--green-100);
    --surface-base: var(--gray-50);
    --surface-primary-disable: var(--band-disabled);
    --surface-primary-hover: var(--band-600);
    --surface-primary: var(--band-500);
    --surface-active: var(--band-100);
    --surface-hover: var(--gray-50);
    --surface-on-video: var(--gray-900);
    --surface-subdued: #fbfcfe;
    --surface: var(--white-900);
    --border-info: var(--blue-300);
    --border-caution: var(--yellow-400);
    --border-border-critical-hover: var(--red-500);
    --border-border-critical: var(--red-300);
    --border-success: var(--green-300);
    --border-disable: var(--gray-50);
    --border-active: var(--band-500);
    --border-hover: var(--gray-100);
    --border: var(--gray-200);

    --event-bg: var(--band-500);

    --color-background-avatar-placeholder: #ebebef;
    --static-box-background: linear-gradient(98.75deg, rgba(179, 179, 252, .25) 2.58%, rgba(199, 235, 255, .25) 47.57%, rgba(199, 255, 199, .25) 98.55%);

  }

  html.Dark, .dark,[data-theme=dark] {

    --icon-info: var(--blue-500);
    --icon-caution: var(--yellow-400);
    --icon-critical-hover: var(--red-600);
    --icon-critical: var(--red-300);
    --icon-success: var(--green-300);
    --icon-disable: var(--gray-600);
    --icon-on-bright-color: var(--gray-800);
    --icon-on-color: var(--white-900);
    --icon-interactive-hover: var(--band-200);
    --icon-interactive: var(--band-400);
    --icon: var(--gray-300);
    --icon-subdued: var(--gray-500);
    --text-interactive-hover: var(--band-200);
    --text-interactive: var(--band-400);
    --text-info: var(--blue-500);
    --text-caution: var(--yellow-400);
    --text-text-critical-hover: var(--red-600);
    --text-text-critical: var(--red-300);
    --text-success: var(--green-300);
    --text-on-color: var(--white-900);
    --text-disabled: var(--gray-600);
    --text: var(--gray-100);
    --text-subdued: var(--gray-400);
    --surface-info: var(--blue-900);
    --surface-caution: var(--yellow-900);
    --surface-critical-strong-hover: var(--red-200);
    --surface-critical-strong: var(--red-400);
    --surface-critical: var(--gray-600);
    --surface-success: var(--green-900);
    --surface-base: var(--gray-900);
    --surface-primary-disable: var(--band-disabled);
    --surface-primary-hover: var(--band-300);
    --surface-primary: var(--band-400);
    --surface-active: var(--band-800);
    --surface-hover: var(--gray-700);
    --surface-on-video: var(--gray-900);
    --surface-subdued:  var(--surface);
    --surface: var(--gray-800);
    --border-info: var(--blue-800);
    --border-caution: var(--yellow-800);
    --border-border-critical-hover: var(--red-600);
    --border-border-critical: var(--red-800);
    --border-success: var(--green-800);
    --border-disable: var(--gray-800);
    --border-active: var(--band-300);
    --border-hover: var(--gray-500);
    --border: var(--gray-700);
    --text-info: var(--gray-200);
    
    --event-bg: var(--surface-info);

    --color-background-avatar-placeholder: var(--surface-subdued);
    --static-box-background: linear-gradient(98.75deg, rgba(179, 179, 252, .25) 2.58%, rgba(199, 235, 255, .25) 47.57%, rgba(199, 255, 199, .25) 98.55%);

  }

  .notice-msg {padding: 12px; margin-bottom: 20px; text-align: center; background-color: var(--text-success); color: var(--surface-success); border-radius: 2px;
  font-size: 75%; font-weight: 700;}

  .notice-msg.error { 
    color: var(--surface-critical); background-color:  var(--text-text-critical); }

  .notice-msg.info { 
    color:var(--surface); background-color: var(--text-subdued); }
    

  * {
    border-color: var(--border);
  }


  /* 印刷用 */
  @media print {
    body, .av-data, .act-profile, .free-data, .main-column.add-video-area.type-static, .tab-box {
      color: #000 !important;
      background-color: #fff !important;
    }
    .act-profile table span, .av-data .prof-table td:first-child, .free-data tr td span:first-child {
      color: #000 !important;
      background-color: #fff !important;
    }
    .act-profile {
      height: inherit !important;
    }
    .details .act-profile:not(.active):after, .main-column.details .btn-area, .act-profile .btn-box, .main-column.details h4 .btnlnk {
      display: none !important;
    }
  }


  /* 本文とリンク */
  body {
    color: var(--text);
    background-color: var(--surface-base);
    display: grid;
    gap: 0px;
    transition: color 0.1s ease-in-out, background-color 0.15s ease-in-out;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "Yu Gothic", YuGothic, Arial, "メイリオ", Meiryo, sans-serif;
    padding-top: 78px;
    min-width: 320px;
  }

  a, ul.tab li, input[type="submit"], ul.h-menu li {
    -webkit-tap-highlight-color: transparent;
  }

  a {
    text-decoration: none;
    color: var(--text-info);
    -webkit-tap-highlight-color: transparent;
  }

  a:not(.btnlnk):hover {
    color: var(--icon-interactive-hover);
    text-decoration: inherit;
  }

  .list-search a:hover, a.btnlnk:hover {
    text-decoration: inherit;
  }


  /* ヘッダーとフッター */
  h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-weight: 700;
    line-height: 1.4;
    font-feature-settings: "halt";
  }

  .tagarea.old-tag a {background-color: #ffc107;}


  #site-header {
    background-color: var(--surface);
  }
  .clear {
    clear: both;
  }

  #site-header {
    z-index: 4;
    width: 100vw;
    /* background-color: var(--c-gray-500); */
  }
  /* #site-header p.notice {display: none;} */

  .n-head {
    border-bottom: 1px solid var(--border);
    padding-top: 0px;
  }

  table tr.nocnt td, .tbllist .nocnt , table td .hint {
    color: var(--text-subdued);
    text-align: center;
  }
  table tr.nocnt td, .tbllist .nocnt {
    padding: 7rem 0;
    font-size: 13px;
    font-weight: 700;
  }

  .footer {
    padding: 1rem 20px 4rem;
  }

  .footer-banner, #footer-banner-area {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    display: none;
  }
  .footer-banner {
    background-color: rgba(0,0,0,.3);
    box-shadow: 0 -1px 0 0 var(--border);
  }
  #footer-banner-area, #footer-banner-area iframe {
    max-height: 100px;
  }


  .footer-banner a {
    backdrop-filter: blur(3px);
    display: block;
    text-align: center;
    position: relative;
  }

  .footer-banner a:before{
        content: '詳細はこちら';
        position: absolute;
        right: 0px;
        bottom: 0px;
        font-size: 9px;
        padding: 8px 8px;
        line-height: 1;
        font-weight: bold;
        color: #FFF;
        background-color: var(--red-500);
        font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "Yu Gothic", YuGothic, Arial, "メイリオ", Meiryo, sans-serif;
  }
  .footer-banner.minc-banner a:before{
    background-color: var(--blue-500);
  }

  .footer-banner img {
    width: auto;
    height: auto;
    min-width: 200px;
    max-height: 100px;
    vertical-align: bottom;
  }

  /* 閉じるボタンのスタイル */
  .footer-banner-close {
    position: absolute;
    right: 10px;
    top: 10px;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    cursor: pointer;
    z-index: 10;
    font-family: Arial, Helvetica, sans-serif;
    appearance: none;
    padding: 0;
  }
  .footer-banner-close::before {
    width: 24px;
    height: 24px;
    line-height: 25px;
    display: block;
    content: "×";
    font-size: 16px;
    font-family: Arial, Helvetica, sans-serif;
  }


  @media screen and (max-width: 480px) {
    .footer-banner, #footer-banner-area {
        display: block;
    }    
  }


  /* iframe */
  .blog_content {height: 360px;}

  /* レイアウト */
  .site_body,
  #main-area,
  #side-bar {
    display: grid;
    gap: 0rem;
    align-content: flex-start;
  }
  #main-area {
    gap: 0px;
    padding-bottom: 2.5rem;
  }

  #main-area.one-column {
    padding: 40px 30px;
    background-color: var(--surface);
    border: 1px solid var(--border);
    margin: 40px 24px 20px;
    border-radius: 16px;
  }

  #main-area.one-column.contact-form {
    padding: 0;
    width: calc(100% - 48px);
  }
  #main-area.one-column.contact-form iframe {
    width: 100%;
  }

  #main-area.one-column.edit-layout {
    display: block;
    padding: 0px;
    background-color: transparent;
    border: 0px;
    border-radius: 0px;
    margin: 20px 24px 20px;
  }

  #main-area.one-column.edit-layout h1 span {
    font-size: .75rem;
    color: var(--text-subdued);
    margin-left: .5rem;
  }
  .edit-layout .act-area, .edit-layout .act-profile {
    margin: 0.75rem auto 1.5rem;
  }
  .edit-layout .act-area .thumb, .edit-layout .act-profile { height: 200px; }

  .edit-layout .act-area .thumb {
  z-index: 1;
  }

  .edit-layout .act-area {
    position: absolute;
    width:200px;
    display: block;
    border-radius: 12px 0px 0px 12px;
    overflow: hidden;
  }
  .edit-layout .act-profile { 
    width: 100%;
    display: grid;
    align-items: center;
    border: 1px solid var(--border);
    padding: 0px 16px 0px 46%;
  }
  .edit-layout .act-profile table {
    font-size: 11px;
  }
  .edit-layout .act-profile td {
    gap: 0px;
  }


  .site_body {
    row-gap: 0;
    grid-template-columns: 1fr; /* コンテンツエリアのレイアウト調整 */
  }

  #main-area h2 {
    position: relative;
    font-weight: 800;
    margin: 3.75rem 20px 0.75rem;
  }

  h2 .detail-link {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex: 1;
    gap: 8px;
    margin: 0;
    color: var(--text-subdued);
    /* font-size: .7em; */
    font-size: .525em;
  }

  #main-area h2 span.ballon, span.balloon, .alabel {
    font-size: 13px;
    display: inline-block;
    position: absolute;
    border-radius: 50px;
    padding: 10px 20px;
    top: -2.0rem;
    left: 12px;
    text-align: center;
    color: #3c3c3c !important;
    background-color: #ffeb3b;
    font-weight: 800 !important;
  }
  span.balloon, .alabel {
    position: relative;
    top: 0px;
    margin-bottom: .75em;
  }

  #main-area .details h2 {
    padding: 10px 16px 10px 36px;
    width: calc(100% - 0px);
    display: flex;
    align-items: center;
    font-size: clamp(14px, calc(1.25vw + 16px), 18px);
    margin: 0 0 .5rem;
  }

  #main-area .details .act-profile h2 {
    padding: 0 2px;
    justify-content: flex-start;
    font-size: .85rem;
    width: 100%;
    margin: 0 0 .5rem;
    

  }
  #main-area .details .act-profile h2:before {
    display: none;
  }

  #main-area .details a[name=kako24] + h2 {
    margin-top: 3.75em;
  }


  .banner-item {
    width: calc(100% - 32px) !important;
    background: var(--surface) !important;
    border: var(--border) !important;
  }
  .banner-image {
    border-bottom: 0 !important;
    display: block;
    height: auto !important;
  }
  .banner-content {
    padding: 1.25rem !important;
  }



  #main-area h2 span.ballon:after, span.balloon:after, .alabel:after {
    content: "";
    position: absolute;
    bottom: -14px;
    left: 20px;
    margin-left: 0;
    border: 9px solid transparent;
    border-top: 9px solid #ffeb3b;
  }
  h2 .detail-link a, .main-column.details h5 .btnlnk, .main-column .free-title .btnlnk  {
    text-decoration: none;
    display: inline-block;
    background-color: var(--surface);
    color: var(--text);
    text-align: center;
    font-weight: 800;
    white-space: nowrap;
    position: relative;
    padding: 8px 14px;
    margin: 0 0;
    max-width: inherit;
    border-radius: 50px;
    border: 1px solid var(--border);
  }

  @keyframes Grad {
    0%{background-position:50% 0%}
    50%{background-position:50% 100%}
    100%{background-position:50% 0%}
  }

  @keyframes Grad2 {
    0% {
      -webkit-filter: hue-rotate(0deg);
      filter: hue-rotate(0deg);
    }
    100% {
      -webkit-filter: hue-rotate(360deg);
      filter: hue-rotate(360deg);
    }
  }  

  @keyframes infiniteScroll {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(calc(-50% - var(--scroll-gap) / 2));
    }
  }

  .scroll_wrap {
    width: 100%;
    overflow: hidden;
  }

  .scroll_track {
    width: max-content;
    animation: infiniteScroll 30s linear 2;
  }

  .scroll_track:hover {
    animation-play-state: paused;
  }

  .scroll_inner {
    display: flex;
    flex-wrap: nowrap;
    gap: 0 var(--scroll-gap);
  }



  .tag-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 10px 0;
    margin-bottom: 20px;
  }

  .tag-list {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    white-space: nowrap;
    padding: 0 10px;
    /* スクロールバーを隠す */
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .tag-list::-webkit-scrollbar {
    display: none;
  }

  .tag {
    display: inline-block;
    padding: 6px 14px;
    margin: 0 6px;
    background-color: #f0f0f0;
    border-radius: 25px;
    color: #333;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.3s;
    flex-shrink: 0;
  }

  .tag:hover {
    background-color: #e0e0e0;
  }

  .tag.active {
    background-color: #4a90e2;
    color: white;
  }

  .status {
    text-align: center;
    margin-top: 20px;
    color: #666;
    font-size: 14px;
  }

  .controls {
    text-align: center;
    margin-top: 15px;
  }

  .controls button {
    background-color: #4a90e2;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    margin: 0 5px;
    font-size: 14px;
  }

  .controls button:hover {
    background-color: #3a80d2;
  }

  .controls button:disabled {
    background-color: #ccc;
    cursor: not-allowed;
  }


  #side-bar h2 .detail-link a {
    background-color: var(--surface-base);
    height: auto;
    width: auto;
    font-size: 11px;
    margin: 0;
    display: none;
  }


  /* お知らせページ固有のスタイル */
  .notice-container {
    max-width: 800px;
    margin: 1.75rem auto;
    background-color: var(--surface);
    border-radius: 8px;
    box-shadow: 0 0px 0px 1px rgba(0,0,0,.1) inset;
    overflow: hidden;
    width: calc(100% - 40px);
  }

  .notice-header {
    padding: 20px 1.5rem;
    border-bottom: 1px solid var(--border);
  }

  .notice-label {
    display: inline-block;
    background-color: var(--surface-critical-strong);
    color: white;
    padding: 5px 12px;
    border-radius: 3px;
    font-size: 11px;
    margin-bottom: 10px;
  }

  .notice-title {
    font-size: clamp(14px, calc(1.25vw + 15px), 18px);
    font-weight: bold;
    margin: 0;
    color: var(--text);
  }

  .notice-date {
    color: var(--text-color-secondary);
    font-size: 12px;
    margin-top: 5px;
  }

  .notice-content {
    padding: .5rem 1.5rem;
    color: var(--text);
  }

  .logo-container {
    text-align: center;
    margin: 20px 0;
    padding: 2.5rem 0;
    background-color: var(--surface-base);
    border-radius: 5px;
  }

  .logo-container img {
    max-width: 250px;
  }

  .logo-caption {
    margin-top: 10px;
    font-size: 14px;
    color: var(--text-subdued);
  }

  .notice-content p {
    line-height: 1.6;
    margin: 16px 0;
    font-size: .9rem;
  }

  .notice-content h2 {
    font-size: clamp(14px, calc(1.25vw + 14px), 17px);
    margin-top: 1.75rem;
    padding-bottom: .5rem;
    border-bottom: 2px solid var(--surface-critical-strong);
    color: var(--text);
  }

  .notice-content strong {
    font-weight: bold;
    background: linear-gradient(transparent 60%, rgba(233, 76, 137, 0.2) 60%);
  }

  .notice-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0;
  }

  .notice-content th, .notice-content td {
    border: 1px solid var(--border);
    padding: 12px;
    text-align: left;
    font-size: .825rem;
  }

  .notice-content th {
    background-color: var(--border-hover);
  }

  .btn-contact {
    display: inline-block;
    background-color: var(--text-info);
    color: white;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 4px;
    margin-top: 10px;
    font-weight: bold;
  }

  .btn-contact:hover {
    background-color: #d32c6b;
  }

  .notice-content ul {
    font-size: .875rem;
    background-color: var(--surface-info);
    padding: 20px;
    border-radius: 8px;
  }

  .notice-content li:not(:last-child) {
    margin-bottom: 1.2rem;
  }

  .notice-footer {
    
    background-color: var(--border-hover);
    padding: 1.75rem 1.5rem 1.5rem;
    margin-top: 30px;
  }

  .update-list-title {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
    color: var(--text);
  }

  .update-list {
    border-top: 1px solid var(--border);
  }

  .update-item {
    padding: 15px 0;
    border-bottom: 1px solid var(--border);
  }

  .update-date {
    color: var(--text-color-secondary);
    font-size: 12px;
  }

  .update-category {
    color: var(--text-color-secondary);
    font-size: 12px;
  }

  .update-title {
    display: block;
    margin-top: 3px;
    font-size: 14px;
    color: var(--text);
    text-decoration: none;
  }


  #banner-container .widget-banner a, .affiliate-adv .widget-banner a {
    margin: 0 auto;
  }
  #banner-container .widget-banner {
    text-align: center;
    display: block;
  }
  #banner-container .widget-banner img, .affiliate-adv .widget-banner img {
    vertical-align: bottom;
    display: block;
    width: 100%;
  }

  .update-title:hover {
    text-decoration: underline;
  }

  @media (min-width: 768px) {
    .notice-container {
        margin: 2rem auto;
        width: auto;
        padding: 0rem 0rem;
    }
    .notice-header {padding: 2.5rem 3.5rem;}
    .notice-content {
      padding: 1.75rem 3.5rem;
    }

    #banner-container .widget-banner a, .affiliate-adv .widget-banner a {
      padding: 1.75rem 0;
    }

    #banner-container .widget-banner img, affiliate-adv .widget-banner img {
      max-width: 300px;
      vertical-align: bottom;
    }
    
  }


  #main-area h2.ttl {margin: 0 auto;font-size: clamp(13px, calc(.25vw + 15px), 18px); line-height: 1.2;}

  #main-area .tbllist h2.ttl {
    padding: 0px;
  }

  #main-area.grid-view h2.ttl {font-size: 14px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    text-align: center;
  }
  #main-area.grid-view h2.ttl,  .grid-view .tbllist p.furi {
    text-align: center;
    margin-bottom: 0;
  }

  #main-area h2.ttl a {  color: var(--text); }

  input[type="text"] { max-width: 100%;}

  .site_body, .breadcrumb, .footer .credit {max-width: 1200px;
    margin: 0 auto;}
  .site_body { margin: 0;
  row-gap: 0rem;}


  .n-head nav.navbar.li-top-nav .login, .n-head nav.navbar.li-top-nav .register, .n-head nav.navbar.li-top-nav .logout {
    display: none;
  }

  .footer-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    color: var(--text);
    background-color: var(--surface);
    text-align: center;
    padding: 10px 0;
    box-shadow: 0 0px 0px 1px var(--border);
    display: flex;
    justify-content: space-around;
  }

  .footer-bar a {
    color: var(--text);
    text-decoration: none;
    font-size: 10px;
    font-weight: 600;
    display: flex;
    align-items: center;
    font-weight: 600;
    flex-direction: column;
    gap: 4px;
  }
  .footer-bar a i {
    color: var(--text);
    text-decoration: none;
    font-size: 10px;


  }

  .footer-bar a:hover {
    text-decoration: inherit;
  }


  footer.footer .credit {
    position: relative;
  }
  footer.footer .credit .footer-inner a {
    display: inline-block;
  }
  footer.footer .credit .footer-inner img {
    display: inline-block;
  }

  footer.footer .credit .credit-inner {
    overflow: hidden;
    height: 18vw;
    max-height: 200px;
  }

  footer.footer .credit .credit-inner p {
    margin-bottom: 1em;
  }

  footer.footer .credit:before  {
    content: "";
    left: 0px;
    top: 0;
    width: 70%;
    height: 80px;
    border-radius: 0px;
    position: relative;
    background-color: var(--icon);
    display: block;
    -webkit-mask: url(../images/minnanoav-logo.svg) no-repeat center center / contain;
    mask-image: url(../images/minnanoav-logo.svg);
  }


  /* テーブル */
  table th, table td { 
    padding: 4px;
    vertical-align: top;
    position: relative;
  }


  /* アイコン設定 */
  .av-logo a, ul.h-menu li i, ul.h-menu li button, .n-head .navbar ul li i, .wiki-lnk:before, .btnlnk i, form.add_favorite:before, .act-area .act-rank:before, a.btnlnk.ply:before, .rnkcnt span strong, .profile-title i, .free-title i, #main-area h2 i, .side-column h2 i, .footer-bar a i, ul.DisplayMode button i, ul.sns-btn li i, .button-section .btn-filter i {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
  }
  .av-logo a, ul.h-menu li i, ul.h-menu li button, .n-head .navbar ul li i, .wiki-lnk:before, .btnlnk i, form.add_favorite:before, .act-area .act-rank:before, a.btnlnk.ply:before, .rnkcnt span strong, .profile-title i, .free-title i, #main-area h2 i, .side-column h2 i, .footer-bar a i, ul.DisplayMode button i, ul.sns-btn li i, .button-section .btn-filter i {
    position: relative;
    display: inline-block;
    background-color: transparent;
    text-indent: -9999em;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-size: 100%;
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
  }


  #main-area h2 i {
    width: calc(1.5vw + 22px);
    height: calc(1.5vw + 22px);
    display: none;
  }
  .side-column h2 i {
    width: 24px;
    height: 24px;
    display: none;
  }
  ul.h-menu li i, ul.h-menu li button, .btnlnk i, .profile-title i, .free-title i, .footer-bar a i, .button-section .btn-filter i {
    width: 20px;
    height: 20px;
  }
  .n-head .navbar ul a i {
    width: 18px;
    height: 18px;
  }
  .wiki-lnk:before, .rnkcnt span strong, .act-area .act-rank:before, ul.DisplayMode button i {
    width: 16px;
    height: 16px;
  }
  form.add_favorite:before {
    width: 14px;
    height: 14px;
  }

  #ModeButton--light { display: none;}
  #ModeButton--dark { display: inline-block;}
  .Dark #ModeButton--light { display: inline-block;}
  .Dark #ModeButton--dark { display: none;}


  .av-logo a {
    background-image: url(../images/minnanoav-logo-light.svg);
  }
  .Dark .av-logo a {
    background-image: url(../images/minnanoav-logo-dark.svg);
  }

  .wiki-lnk:before {
    -webkit-mask: url(../images/link-horizontal.svg) no-repeat center center / contain;
    mask-image: url(../images/link-horizontal.svg);
  }
  ul.h-menu li.menubtn i {
    -webkit-mask: url(../images/menu-burger.svg) no-repeat center center / contain;
    mask-image: url(../images/menu-burger.svg);
    width: 22px;
    height: 22px;
  }

  .button-section .btn-filter i {
    -webkit-mask: url(../images/setting-icon.svg) no-repeat center center / contain;
    mask-image: url(../images/setting-icon.svg);
    width: 20px;
    height: 20px;
  }

  .menu-active ul.h-menu li.menubtn i {
    -webkit-mask: url(../images/cross.svg) no-repeat center center / contain;
    mask-image: url(../images/cross.svg);
    width: 16px;
    height: 16px;
  }
  ul.h-menu li.search i  {
    -webkit-mask: url(../images/search.svg) no-repeat center center / contain;
    mask-image: url(../images/search.svg);
    width: 60%;
    height: 60%;
  }
  ul.h-menu li.ModeButton button.ModeButton--dark {
    background-image: none;
    -webkit-mask: url(../images/moon.svg) no-repeat center center / contain;
    mask-image: url(../images/moon.svg);
    width: 55%;
    height: 55%;

  }
  ul.h-menu li.ModeButton button.ModeButton--light {
    background-image: none;
    -webkit-mask: url(../images/brightness.svg) no-repeat center center / contain;
    mask-image: url(../images/brightness.svg);
  }


  .n-head .navbar ul .favorite i {
    -webkit-mask: url(../images/bookmark.svg) no-repeat center center / contain;
    mask-image: url(../images/bookmark.svg);
  }

  form.add_favorite:before, .n-head .navbar ul .favorite.selected i {
    -webkit-mask: url(../images/bookmark-fill.svg) no-repeat center center / contain;
    mask-image: url(../images/bookmark-fill.svg);
  }

  ul.DisplayMode button i {
    -webkit-mask: url(../images/grid.svg) no-repeat center center / contain;
    mask-image: url(../images/grid.svg);
  }

  ul.DisplayMode button.ModeButton--list i {
    -webkit-mask: url(../images/list-text.svg) no-repeat center center / contain;
    mask-image: url(../images/list-text.svg);
  }

  .n-head .navbar ul .doujin i {
      -webkit-mask: url(/images/dojin.svg) no-repeat center center / contain;
      mask-image: url(/images/dojin.svg);
  }

  .n-head .navbar ul .books i {
    -webkit-mask: url(/images/open-book.svg) no-repeat center center / contain;
    mask-image: url(/images/open-book.svg);
  }

  .n-head .navbar ul .ranking i {
    -webkit-mask: url(../images/trophy.svg) no-repeat center center / contain;
    mask-image: url(../images/trophy.svg);
  }
  .n-head .navbar ul .ranking.selected i {
    -webkit-mask: url(../images/trophy-fill.svg) no-repeat center center / contain;
    mask-image: url(../images/trophy-fill.svg);
  }

  .tag-grid-list a i:before {
    -webkit-mask: url(../images/label.svg) no-repeat center center / contain;
    mask-image: url(../images/label.svg);
  }

  .go-to-top-button i:before {
    -webkit-mask: url(../images/arrow-alt-to-top.svg) no-repeat center center / contain;
    mask-image: url(../images/arrow-alt-to-top.svg);
  }


  .n-head .navbar ul .amateur i {
    -webkit-mask: url(../images/necklace.svg) no-repeat center center / contain;
    mask-image: url(../images/necklace.svg);
  }



  .n-head .navbar ul .actress i {
    -webkit-mask: url(../images/heart.svg) no-repeat center center / contain;
    mask-image: url(../images/heart.svg);
  }

  .n-head .navbar ul .actress.selected i {
    -webkit-mask: url(../images/heart-fill.svg) no-repeat center center / contain;
    mask-image: url(../images/heart-fill.svg);
  }

  .n-head .navbar ul .av i {
    -webkit-mask: url(../images/film.svg) no-repeat center center / contain;
    mask-image: url(../images/film.svg);
  }
  .n-head .navbar ul .av.selected i {
    -webkit-mask: url(../images/film-fill.svg) no-repeat center center / contain;
    mask-image: url(../images/film-fill.svg);
  }
  .n-head .navbar ul .free i {
    -webkit-mask: url(../images/play-alt.svg) no-repeat center center / contain;
    mask-image: url(../images/play-alt.svg);
  }

  .n-head .navbar ul .blog i {
    -webkit-mask: url(../images/newspaper.svg) no-repeat center center / contain;
    mask-image: url(../images/newspaper.svg);
  }

  .btnlnk i, .footer-bar a i, .menu-window ul.column-3 a i {
    -webkit-mask: url(../images/add.svg) no-repeat center center / contain;
    mask-image: url(../images/add.svg);
  }
  .n-head .navbar ul .free.selected i, .free-title i {
    -webkit-mask: url(../images/play-alt-fill.svg) no-repeat center center / contain;
    mask-image: url(../images/play-alt-fill.svg);
  }


  .rnkcnt .rnkup strong {
    -webkit-mask: url(../images/arrow-trend-up.svg) no-repeat center center / contain;
    mask-image: url(../images/arrow-trend-up.svg);
  }

  .rnkcnt .rnkdown strong {
    -webkit-mask: url(../images/arrow-trend-down.svg) no-repeat center center / contain;
    mask-image: url(../images/arrow-trend-down.svg);
  }
  .rnkcnt .rnkeven strong {
    -webkit-mask: url(../images/arrow-right.svg) no-repeat center center / contain;
    mask-image: url(../images/arrow-right.svg);
  }


  .act-area .act-rank:before {
    -webkit-mask: url(../images/trophy-fill.svg) no-repeat center center / contain;
    mask-image: url(../images/trophy-fill.svg);
  }

  .profile-title i {
    -webkit-mask: url(../images/following.svg) no-repeat center center / contain;
    mask-image: url(../images/following.svg);
  }


  a.btnlnk.ply:before {
    -webkit-mask: url(../images/play.svg) no-repeat center center / contain;
    mask-image: url(../images/play.svg);
  }
  ul.sns-btn li.tw i {
    -webkit-mask: url(../images/x-icon.svg) no-repeat center center / contain;
    mask-image: url(../images/x-icon.svg);
  }
  ul.sns-btn li.line i {
    -webkit-mask: url(../images/line-icon.svg) no-repeat center center / contain;
    mask-image: url(../images/line-icon.svg);
  }
  ul.sns-btn li.copy i {
    -webkit-mask: url(../images/paste-icon.svg) no-repeat center center / contain;
    mask-image: url(../images/paste-icon.svg);
  }


  ul.h-menu li i, ul.h-menu li button, .n-head .navbar ul li i, .wiki-lnk:before, .btnlnk i, form.add_favorite:before, .footer-bar a i, .menu-window ul.column-3 a i, ul.DisplayMode button i, .button-section .btn-filter i {
    background-color: var(--icon);
  }
  .n-head .navbar ul li.selected i, .rnkcnt span strong, .free-title i, .tag-grid-list a i:before, .go-to-top-button i:before, .grid-view ul.DisplayMode #ModeButton--grid i, .list-view ul.DisplayMode #ModeButton--list i {
    background-color: var(--text-info);
  }
  .rnkcnt span.rnkeven strong {
    background-color: var(--text-subdued);
  }
  .rnkcnt span.rnkup strong, .profile-title i {
    background-color: var(--red-500);
  }



  /* レーダーチャート */
  .radar-chart-2 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 80%;
    height: 80%;
    margin: 0 auto;
    padding: 0px;
    box-sizing: content-box;
  }

  .radar-chart-2 svg {
    width: 100%;
    height: 100%;
  }

  .radar-chart-2 dl {
    position: absolute;
    width: 100%;
    height: 100%;
  }

  .radar-chart-2 dl > div {
    position: absolute;
    color: var(--text-subdued);
    font-size: 9px;
    text-align: center;
  }

  .radar-chart-2 dl > div:nth-child(1) {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .radar-chart-2 dl > div:nth-child(2) {
    top: 31%;
    right: 7%;
    transform: translateX(50%);
  }

  .radar-chart-2 dl > div:nth-child(3) {
    bottom: 6%;
    right: 25%;
    transform: translateX(50%);
  }

  .radar-chart-2 dl > div:nth-child(4) {
    bottom: 6%;
    left: 25%;
    transform: translateX(-50%);
  }

  .radar-chart-2 dl > div:nth-child(5) {
    top: 31%;
    left: 7%;
    transform: translateX(-50%);
  }

  .radar-chart-2 dd {
    margin: 1px 0 0;
    color: var(--text);
    font-size: 11px;
    font-weight: bold;
  }







  /* 共通レイアウト */
  .bn-box {
    /* background: var(--event-bg); */
    background-color: var(--surface);
    color: var(--band-50);
    padding: 0px 0;
    text-align: center; font-weight: bold;
    margin: 0px auto;
    width: 100%;
    margin-bottom: 20px;

  }

  .bn-box.sticky {
    display: block;
    position: sticky;
    top: 78px;
    z-index: 2;
    margin-bottom: 0px;
    transition: top 0.1s ease-in-out;

    background-color: #CCC;

  }
  .hide .bn-box.sticky {
    top: 40px;
  }


  .twitter-widget .container {
    background-color: var(--surface);
    overflow: hidden;
    text-align: center;
    border-radius: 0px;
    min-height: 350px;
    border: 1px solid var(--border);
    border-width: 1px 0 1px 0;
    margin-bottom: 20px;
  }



  .main-column.details h1, .front #main-area h2, .front .main-column h1 {
    font-size: clamp(14px, calc(1.25vw + 16px), 20px);
    font-weight: 800;
    line-height: 1.2;
    padding: 8px 12px 8px 32px;
    margin: 1.5rem 0px 0;
  }

  .front #main-area h2, .profile-title, .heading-title, .free-title, .day-head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0.25rem 0px 0.25rem 0px;
    font-size: clamp(14px, calc(1.25vw + 16px), 19px);
    column-gap: 8px;
    /* color: var(--surface);
    background-color: var(--icon-interactive); */
  }

  .front #main-area h2:before, .profile-title:before, .free-title:before, .heading-title:before, #main-area .details h2:not(.ttl):before, .side-column h2::before, .day-head:before {
    content: "";
    position: absolute;
    bottom: 20%;
    left: 16px;
    margin-left: 0;
    border: 9px;
    background: var(--icon-interactive);
    width: 8px;
    height: 60%;
    border-radius: 100px;
  }
  .side-column h2::before { left: 0;}

  #main-area h2 i.label, .side-column h2 i.label {
    background-image: url(../images/tag.svg);
    width: 32px;
    height: 32px;
  }
  #main-area h2 i.actress, .side-column h2 i.actress {
    background-image: url(../images/love.svg);
  }
  #main-area h2 i.free, .side-column h2 i.free {
    background-image: url(../images/play-color.svg);
    /* -webkit-mask: url(../images/film.svg) no-repeat center center / contain;
    mask-image: url(../images/film.svg);
    background-color: #CCC000; */
  }




  .front #main-area h2 span, .item .title-box span, .free-title .detail-link {
    font-size: clamp(9px, calc(.25vw + 10px), 12px);
    font-weight: normal;
    margin: 0;
    color: var(--text-subdued);
  }

  .tab-box h3 .color {
    background: var(--icon-info);
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .front #main-area a[name="kako24"] + h2, .front #main-area .type-a.act-layout + h2 {
    margin: 2.75rem 0px 0.5rem 0px;
    
  }

  .main-column.details h1 {
    margin: 0 auto;
    padding: 16px 16px;
    font-size: clamp(14px, calc(1.25vw + 16px), 21px);
    
  }
  .main-column.details h1.title {
    font-size: clamp(13px, calc(1.0vw + 14px), 20px);
    
  }

  .rnkcnt {
    font-size: 16px;
    line-height: 1;
    text-align: center;
    font-weight: 700;
    margin: 0px auto;
    padding:0px 0px;
    min-width: 36px;
  }
  .main-column.details h1 img {
    vertical-align: middle;
    margin-right: .5rem;
  }
  .mb20 {margin-bottom: 1rem;}

  .side-column h2, .side-column h3, .side-column h4, .side-column h5 { font-size: 17px; font-weight: 800;}

  .side-column ul, .side-list a, .ttl, .tbllist.actress .ttl {font-size: 15px;}

  .act-profile table, .type-d.popular .pickup p a, .detail-link a, .details .tagarea, .add-video-area p {font-size: 13px;}


  .chkarea div > span,
  .header-nav, .footer p,
  .n-head .notice,
  .footer,
  .av-logo,
  .search-bar,
  .chkarea,
  .av-data .prof-table td:first-child,
  .tbllist, .pagination,
  .side-column, .chkarea a.btnlnk, .act-layout td > a, .rate-table, .free-data table, .act-layout .pickup p, .front .type-a:not(.act-layout) .pickup p a, .tbllist .ttl, .act-video-list table .ttl, .actress-grid a .actress-name {
    font-size: 12px; /* 基本フォントサイズ */
  }

  .prof-table, .breadcrumb, .tbllist .ttl, .act-video-list table .ttl, .btnlnk.action-button, h2 .detail-link a {
    font-size: 12.5px;
  }
  .list-view .act-video-list table .ttl, .list-view .tbllist.av .cast {
    padding-right: 12px;
  }


  .front h2 .detail-link a, .chkarea, p.notice, .n-head .navbar ul a, .side-list .detail-link a, .side-column.side-list table td, .tagarea, .main-column.details h5 p, .main-column h1 span, .act-area .ratebtn, .pickup a, .pickup p a {
    font-size: 11px; /* 細かいテキストエリアのサイズ調整 */
  }

  .tbllist th.t9, p.furi { font-size: 9px;margin: 3px auto;}
  .tbllist th.t9 {margin: 0px auto;}
  .tbllist p.furi { font-size: 9px; margin-bottom: 6px;
    font-weight: 600;
    display: -webkit-box;
    color: var(--text-subdued);
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;  
  }

  .tbllist .tagarea {
    display: -webkit-box;
    overflow: hidden;
    margin: 4px auto 0;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }

  .tbllist .tagarea a {
    display: inline-block;
    padding: 3px 5px;
    background-color: var(--surface-info);
    color: var(--text-info);
    font-size: 9px;
    font-weight: bold;
    margin: 2px 2px 0 0;
    line-height: 1;
    border-radius: 30px;
  }
  .tbllist .tagarea a:nth-child(n+4), .grid-view .tbllist .tagarea {
    display: none;
  }

  .grid-view .tbllist .tagarea a {
    padding: 4px 8px;
    font-size: 75%;
  }

  /*　ページ簡略　*/
  .rnkup, .rnkdown, .rnkeven, .search_result_free .chkarea, .list-table .chkarea {
    /* display: none; */
  }

  .tipr_container_top {
    position: relative;
    z-index: 1;
  }
  .tipr_point_top {
    position: absolute;
    padding: 8px;
    bottom: 1.5rem;
    background-color: var(--surface-info);
    font-weight: normal;
    width: 90px;
    right: 0;
    border-radius: 5px;
    text-align: center;
  }
  .tipr_content {
    line-height: 1.2;
    font-size: 9px;
  }
  .ttl-label {
    color: var(--white-100);
    background-color: var(--text-text-critical);
    text-align: left;
    padding: 14px 20px;
    font-size: clamp(14px, calc(0.5vw + 14px), 16px);
    font-weight: 800;
  }

  .actress-adv-container a {
    display: block;
    text-align: center;
    position: relative;
  }


  /* おすすめ女優リストのスタイリング */
  .recommend-actress-list {
    display: grid; /* flexboxを有効にする */
    grid-template-columns: repeat(4, auto);
    list-style: none; /* リストの黒丸を消す */
    padding: 0;
    margin: 0;
    gap: .75rem; /* 要素間の隙間 */
    row-gap: 1.25rem;

  }

  .recommend-actress-list li {
    text-align: center; /* テキストを中央揃え */
    width: 20vw;
    max-width: 140px;
  }

  .recommend-actress-list li a {
    text-decoration: none;
    color: #333; /* リンクの色 */
    display: block;
  }
  .recommend-actress-list li a img {
    border-radius: 10px;
    height: 20vw; 
    max-height: 140px;
    object-fit: cover;
  }

  .recommend-actress-list li a:hover {
    opacity: 0.8; /* ホバー時に少し透明にする */
  }

  .recommend-actress-list .actress-name {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    font-weight: 700;
  }


  .adv-item, .adv-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
    margin: 0 auto;
    align-items: center;
  }

  .affiliate-adv .adv-content {
    width: 100%;
    height: auto;
    -webkit-flex-direction: row;
    flex-direction: row;
    display: grid;
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-snap-align: start left;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-padding: 0 50%;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    position: relative;
    z-index: 0;
    grid-gap: .5rem;
    row-gap: 1.75rem;
    grid-template-columns: repeat(5, auto);
  }

  .adv-content {
    display: flex;
    padding: 1.75rem 1.25rem 0.75rem;
    row-gap: 0;
    /* flex-wrap: wrap; */
    align-items: flex-start;
  }

  .affiliate-adv .adv-content {
    padding: 0;
    grid-gap: 0;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  }

  .adv-content.mgs, .adv-content.fz {
    padding: 0rem 20px 1.5rem;
    grid-template-columns: repeat(1, auto);
  }
  .adv-content.both {
    display: grid;
    flex-direction: row;
    gap: 0;
    margin: 0 ;
  }
  .adv-content .mgs-section, .adv-content .dmm-section {
    flex-direction: column;
    justify-content: flex-start;
  }


  h6.platform-title {
    padding: .35rem;
    border-radius: 2px;
    display: block;
    font-size: 11px;
    background-color: var(--icon-interactive);
    text-align: center;
    margin-bottom: .75rem;
    color: #FFF;
  }

  .mgs-section h6.platform-title {
    background-color: #000000;
  }
  .dmm-section h6.platform-title {
    background-color: #ee2737;
  }


  .adv-item p, .adv-content p {
    line-height: 1.4;  
  }
  .adv-content .afflink .title, a.aclass_afflink p.pclass_afflink {
    font-weight: bold;
    font-size: 12.5px !important;
    color: var(--text);
    background: var(--surface);
    padding: 1.0rem 1.75rem;
    margin: 0 auto !important;
    display: block;
    text-align: center;
    line-height: 1.25;
  }
  div.mgs_widget_affiliate_afflink .divclass_afflink {
    padding-top: 0 !important;
  }
  .actress-adv-container img, .adv-item img, .adv-content img {
    /* display: block;
    filter: blur(3px); */
  }
  .actress-adv-container img, .adv-item img, .adv-content img {
    display: block;
    margin: 0 auto;
  }


  .adv-item .title, .adv-content .title, .actress-adv-container .title {
    font-weight: 700;
    margin-bottom: 1em;
    padding-right: 12px;
    color: var(--text);
    line-height: 1.2;
  }
  .actress-adv-container .title {
    background-color: var(--surface);
    padding: 15px 15px;
  }


  .afflink {
    font-size: 14px;
    margin: 0 auto;
    width: 170px;
  }
  .adv-content li.liclass_afflink a.aclass_afflink, .adv-content .afflink a {
    margin: 0 auto;
    margin-top: .5rem;
    border-radius: 8px;
    overflow: hidden;
    display: block;
  }

  .middle-detail-adpart .recommended-act h2 {display: none;}

  .affiliate-adv {
    margin: 1.5rem 0;
    padding: 0;
    color: var(--text);
    background-color: var(--surface-critical);
    width: 100vw;
    overflow: hidden;
  }
  .affiliate-adv img {
    vertical-align: bottom;
    display: block;
    min-height: inherit;
    margin: 0 auto;
    object-fit: cover;
    width: auto !important;
  }
  .adv-content.both  img {
    min-height: 250px;
  }
  .adv-content.fz .afflink {
    width: auto;
  }

  .adv-content.mgs img, .adv-content.fz img {
    aspect-ratio: 16 / 10.5;
  }

  /* アニメーションキーフレーム */
  @keyframes jacketGlow {
    0% { box-shadow: 0 0 5px rgba(243, 221, 121, 0.5); }
    50% { box-shadow: 0 0 20px rgba(243, 221, 121, 0.8); }
    100% { box-shadow: 0 0 5px rgba(243, 221, 121, 0.5); }
  }

  @keyframes badgeColor {
    0% { background-color: #f3dd79; }
    25% { background-color: #ffb3ba; }
    50% { background-color: #bae1ff; }
    75% { background-color: #baffc9; }
    100% { background-color: #f3dd79; }
  }

  /* ジャケットコンテナ */
  .av-area .jacket {
    position: relative;
  }

  .jacket-container {
    position: relative;
    display: block;
    text-align: center;
    margin: 0;
    background-color: var(--border);
  }

  .jacket-wrapper {
    position: relative;
    display: inline-block;
  }

  .jacket-image {
    min-height: 200px;
    max-height: 360px;
  }
  /* アニメーション付きジャケットリンク */
  .animated-jacket-link {
    position: relative;
    display: inline-block;
    transition: all 0.3s ease;
    text-decoration: none;
  }

  .animated-jacket-link:hover {
    animation: jacketGlow 2s infinite;
    transform: scale(1.02);
  }

  /* リンクバッジ */
  .link-badge {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 10px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: bold;
    color: #333;
    text-indent: -9999em;
    /* animation: badgeColor 6s infinite; */
    transition: all 0.3s ease;
  }

  .mgs-badge {
    background-color: #ff6b6b;
    color: white;
  }

  .dmm-badge {
    background-color: #4ecdc4;
    color: white;
  }

  .special-badge {
    background-color: #9c27b0;
    color: white;
  }

  .no-link-badge, .modal-badge {
    background-color: var(--icon);
    color:  var(--surface);
  }

  /* デュアルリンク（両方のIDがある場合）とシングルリンクのオーバーレイ */
  .jacket-container .link-overlay,
  .jacket-wrapper .link-overlay,
  .dual-links .link-overlay,
  .single-mgs .link-overlay,
  .single-dmm .link-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .jacket-container:hover .link-overlay,
  .dual-links:hover .link-overlay,
  .single-mgs:hover .link-overlay,
  .single-dmm:hover .link-overlay {
    opacity: 1;
  }

  .jacket-link {
    display: block;
    margin: 8px 0;
    padding: 10px 20px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: bold;
    transition: all 0.3s ease;
    min-width: 120px;
    text-align: center;
  }

  .mgs-link {
    background-color: #000;
    color: white;
    transform: scale(1.1);
  }

  .dmm-link {
    background-color: #ee2737;
    color: white;
    transform: scale(1.1);
  }

  .modal-link {
    background-color: var(--icon);
    color: white;
  }

  a:not(.btnlnk).jacket-link:hover {
    transform: scale(1.1);
    /* animation: badgeColor 3s infinite; */
    color: white;
  }

  /* 拡大表示ボタンの特別スタイル */
  a:not(.btnlnk).modal-link:hover {
    background-color: var(--icon);
    color: white;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
  }

  .link-label {
    font-size: 15px;
    font-weight: 800;
  }
  .jacket-link {
    font-size: 12px;
    padding: .75rem 2rem;
    margin: .5rem 0;
    opacity: .925;
    min-width: 100px;
  }
  /* 代替リンク（小さいサイズ） */
  .alternative-links-small {
    margin-top: 10px;
    text-align: center;
  }

  .alt-small-link {
    display: inline-block;
    margin: 0 5px;
    padding: 4px 8px;
    background-color: #f3dd79;
    color: #333;
    text-decoration: none;
    border-radius: 10px;
    font-size: 11px;
    animation: badgeColor 8s infinite;
    transition: all 0.3s ease;
  }

  .alt-small-link:hover {
    transform: scale(1.05);
  }

  /* 画像なしの場合 */
  .no-image-container {
    position: relative;
    display: inline-block;
  }

  .no-image-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    background: rgba(0, 0, 0, 0.8);
    padding: 20px;
    border-radius: 10px;
    color: white;
  }

  .no-image-text {
    display: block;
    font-size: 16px;
    margin-bottom: 10px;
  }

  .no-image-links {
    display: flex;
    gap: 10px;
    justify-content: center;
  }

  .no-image-link {
    padding: 6px 12px;
    border-radius: 15px;
    text-decoration: none;
    font-size: 12px;
    font-weight: bold;
    transition: all 0.3s ease;
  }

  .no-image-link.mgs-link {
    background-color: #ff6b6b;
    color: white;
  }

  .no-image-link.dmm-link {
    background-color: #4ecdc4;
    color: white;
  }

  .no-image-link:hover {
    transform: scale(1.1);
    animation: badgeColor 3s infinite;
  }


  /* レスポンシブ対応 */
  @media (max-width: 768px) {
    .jacket-container {
        text-align: center;
    }
    
    .jacket-container .link-overlay,
    .jacket-wrapper .link-overlay,
    .dual-links .link-overlay,
    .single-mgs .link-overlay,
    .single-dmm .link-overlay {
        opacity: 1;
        background: rgba(0, 0, 0, 0.075);
    }
    
    .jacket-link {
        font-size: 12px;
        padding: 10px 20px;
        margin: .4rem 0;
        min-width: 100px;
    }
    .link-label {
      font-size: 12.5px;
    }

    .link-badge {
    }

  }


  /* タブレット全般（iPad含む） */
  @media screen and (min-width: 768px) and (max-width: 1023px) {
    /* タブレット用のスタイル */
    .jacket-container .link-overlay,
    .dual-links .link-overlay,
    .single-mgs .link-overlay,
    .single-dmm .link-overlay {
        opacity: 1;
        background: rgba(0, 0, 0, 0.1);
    } 
  }




  .main-column.details h5.adv-title {
    font-size: clamp(13px, calc(1.25vw + 14px), 16px);
    font-weight: 800;
    color: var(--red-500);
    border-bottom: 0px solid var(--band-50);
    padding-bottom: 2px;
    padding-top: 1.25rem;
  }

  .dmm-adv, .mgs-adv, .default-adv {
    text-align: center;
    max-width: 220px;
  }
  .dmm-adv img, .mgs-adv img, .default-adv img {
    max-width: 100%;
    height: auto;
    border: 3px solid var(--band-50);
    border-radius: 8px 8px 0 0;

  }
  .buy-btn {
    display: inline-block;
    background-color: #ff6600;
    color: white;
    padding: 8px 15px;
    border-radius: 4px;
    font-weight: bold;
    text-decoration: none;
  }

  .mb0 {
    margin-bottom: 0em !important;
  }
  .mb20 {
    margin-bottom: 1.75em !important;
  }
  .mt0 {
    margin-top: 0em !important;
  }
  .mt20 {
    margin-top: 1.25em !important;
  }

  .grid-li {
    width: 100%;
    display: grid;
    margin: .25rem auto;
    gap: .75rem;
    grid-template-columns: repeat(2, auto);
    padding: 0 20px;
  }
  .grid-li a {
    width: 100%;
    max-width: 250px;
    max-height: 250px;
    display: block;
    overflow: hidden;
    border-radius: 0px;
    position: relative;
  }


  ul.site-li {
    margin-bottom: 2em;
  }
  .site-li li a {
    padding: 14px 16px;
    font-size: 16px;
    font-weight: bold;
    display: block;
    border-bottom: 1px solid var(--border);
  }

  /* ads box */
  .bn120, .bn130, .bn150 { width: 100%;
    height: 120px;
    margin: 0px auto;
    overflow: hidden;
  }
  .bn130 { 
    height: 130px;
  }
  .bn150 { 
    height: 155px;
  }

  .bn200 { width: 100%; height: 244px;margin: 0 auto; }
  .bn200 iframe { height: 255px; }
  .bn250 { width: 100%; height: 250px;margin: 0 auto !important;

  }
  .bn350 { width: 100%; border-bottom: 1px solid var(--border);}

  .bn350, .bn350 iframe {
    height: 360px;
    background-color: var(--surface);  
  }

  .bn-jkt { width: 100%; border-bottom: 0px solid var(--border);}
  .bn-jkt, .bn-jkt iframe {
    height: 80vw; max-height: 420px;
  }
  .bn-mvlist { width: 100%; border-bottom: 0px solid var(--border); background-color: var(--border);}
  .bn-mvlist, .bn-mvlist iframe {
    height: 30vw; max-height: 200px;
  }

  .bn-mvlist.roll { width: 100%; border-bottom: 0px solid var(--border); background-color: var(--border);}
  .bn-mvlist.roll, .bn-mvlist.roll iframe {
    height: 100vw; max-height: 420px;
  }


  .bn-mv-l { width: 100%; border-bottom: 0px solid var(--border); background-color: var(--border);}
  .bn-mv-l, .bn-mv-l iframe {
    height: 56.25vw;
    max-height: 320px;
  }


  .bn-square { width: 100%; height: 100vw; max-height: 800px; border-bottom: 0px solid var(--border);}

  .bn480 { width: 100%; height: 480px; border-bottom: 0px solid var(--border);}
  .bn680 { width: 100%; height: auto; border-bottom: 0px solid var(--border);}
  .bn680 iframe {
    height: 715px; 
  }
  /* .free-video-list ul {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 15px;
      row-gap: 20px;
      padding: 0 20px;
      width: calc(100% - 0px);
  } */
  /* .home .free-video-list ul li:first-child {
    grid-column: 1 / 3;
  } */
  /* .home .free-video-list ul li:last-child {
    display: none;
  } */

  /* .free-video-list ul li a {
    color: var(--text);
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    line-height: 1.25;
    font-size: 14px;
    margin-bottom: 6px;
    font-weight: 700;
  } */
  .free-video-list a.title {
    font-weight: 700;
  }
  .free-video-list .cast a {
    font-size: 12px;
    margin-bottom: 8px;
  }
  .free-video-list a.thumb {
    border-radius: 8px;
    overflow: hidden;
    display: block;
    width: 100%;
    position: relative;
    padding-top: 56.25%;
  }


  .bn-wide-m {
    max-width: 460px;
    margin: 0 auto;
    border-radius: 8px;
    overflow: hidden;
    width: calc(100% - 40px);
  }
  .front .bn-wide-m {
    margin-top: 2.5rem;
  }
  .bn-wide-m a {display: block; position: relative;}
  .bn-wide-m a:after {
    background-color: var(--red-700);
    border-radius: 0;
    color: var(--white-50);
    content: "詳細をチェック";
    padding: 3px 6px;
    position: absolute;
    font-size: 10px;
    right: 0px;
    bottom: 0px;
    letter-spacing: 0.1pt;
    font-weight: 700;
  }


  .mincasi-area { width: 100%; height: 330px;margin: 0 auto !important;    overflow: hidden;}
  .bn250 iframe { width: 100%; height: 250px;}


  /*　Footer　*/
  .footer p {
    color: var(--icon);
    line-height: 1.45;
    margin-bottom: 1.0rem;
  }
  .footer p a {
    display: inline-block;
  }

  /*　Header　*/
  .header-nav {
    display: grid;
    grid-template-columns: auto 1fr;
  }
  #site-header p.notice, .n-head .notice {
    text-align: center;
    padding: 7px 0px 6px;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
    font-size: 11px;
  }
  .n-head .navbar ul {
    display: grid;
    grid-template-columns: repeat(4, auto);
    align-items: center;
    justify-content: space-between;
    margin: 0px auto;

  }
  .n-head .navbar ul a {
    text-decoration: none;
    display: flex;
    align-items: center;
    color: var(--text);
    text-align: center;
    font-weight: 800;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
    padding: 10px 0px;
    gap: 5px;
    font-size: 12.5px;
  }

  .n-head .navbar ul li.selected a {
    color: var(--text-info);
  }

  .n-head .navbar ul a i {
    display: inline-block;
  }


  .n-head.gr-head .navbar ul a span.new.icon {
    background: linear-gradient(150deg, #a6d900 0%, #ff4454 100%);
    animation: Grad2 4s ease-in-out alternate 3;
  }


  .n-head .navbar ul a span, .n-head .li-top-nav-wrapper .align-right {
    display: none;
  }


  .n-head .navbar ul a span.new.icon {
    display: inline-block;
    position: relative;
    color: var(--surface);
    background-color: var(--red-500);
    width: auto;
    height: auto;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    border-radius: 3px;
    padding: 2px 3px;
    font-size: 8px;
  }


  nav.navbar.li-top-nav {
    padding: 0px 20px;
  }

  .av-logo a {
    display: inline-block;
    margin: 0px 15px;
    width: 50vw;
    max-width: 180px;
    height: 100%;
  }
  .av-logo img {
    /* width: auto;
    height: 34px;
    margin: 0 auto; */
    display: none;
  }

  /*スライダー*/
  .slick-slider {
    width: 100vw;
    display: none; /* 最初は非表示に */
  }
  .slider.slick-initialized{
    display: block; /* slickが実行完了したら表示 */
  }
  .slick-vertical .slick-slide {
    border: 0px solid transparent;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }

  /* .details section.video-jacket */

  .slider.sticky {
    position: sticky;
    top: 78px;
    z-index: 1;
    transition: top 0.1s ease-in-out;
    background-color: transparent;
    text-align: center;
  }
  .details section.video-jacket { 
    background-color: var(--gray-900);
  }

  .front .slider.sticky {
    margin: 2.75rem auto 0;
  }

  .hide .slider.sticky {
    top: 40px;
  }

  .slider .inner {
    width: 100%;
    padding: 0px 12px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-size: 100%;
    overflow: hidden;
    font-weight: 800;
  }

  .slider a {
    color: var(--surface);
  }



  #js-slick.slider .inner {width: 100vw;}
  #js-slick.slider .inner i, #menu-slick.slider .inner i {
    text-indent: -9999em;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    width: 100px;
    height: 60px;
  }

  .slider .inner .btn {
    text-decoration: none;
      display: block;
      background-color: var(--surface-info);
      color: var(--text-info);
      text-align: center;
      font-weight: 800;
      white-space: nowrap;
      position: relative;
      padding: 8px 4px;
      margin: 0 0;
      max-width: inherit;
      border-radius: 50px;
      font-size: 11.5px;
  }
  .slider a, .slider a:hover, .slider a:focus {
    color: inherit;
    display: inline-block;
  }
  .slider a img {
    display: block;
  }
  #js-slick.slider .slide {
    background-size: cover;
    background-position: center center;
  }
  .slider .inner .btn {
    color: #FFF;
    background-color: var(--text-info);
    position: relative;
    overflow: hidden;
    min-width: 90px;
  }
  .slider .inner .btn:before {
      -webkit-animation: badgeHighlightShimmer 3.5s;
      animation: badgeHighlightShimmer 3.5s;
      -webkit-animation-delay: 1.8s;
      animation-delay: 1.8s;
      -webkit-animation-iteration-count: 5;
      animation-iteration-count: 5;
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .18) 25%, rgba(255, 255, 255, .3) 50%, rgba(255, 255, 255, .18) 75%, rgba(255, 255, 255, 0));
      content: "";
      display: block;
      height: 90px;
      left: -60%;
      position: absolute;
      top: -150px;
      -webkit-transform: rotate(-25deg);
      -ms-transform: rotate(-25deg);
      transform: rotate(-25deg);
      width: 250px;

  }



  @keyframes badgeHighlightShimmer {
    0% {
        left: -100%;
        top: -150px
    }

    50% {
        left: 100%;
        top: 150px
    }

    to {
        left: 100%;
        top: 150px
    }
  }


  #js-slick.slider p, #menu-slick.slider p { 
    word-break: keep-all;
    font-size: calc(0.25vw + 17px);
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-align: center;
    font-weight: 800;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(45deg, #956732, #d69443, #f2b96e, #fcdd84, #f2b96e, #d69443, #956732, #ca9044, #f2b963);
    background-image: linear-gradient(90deg, #6176ff 15%, #4053ff 35%, #4053ff 65%, #6176ff 85%);
    background-image: inherit;
  }
  .slider:not(#add-slick) a p {
    background-color: #FFF;
  }




  /*メインコンテンツ*/

  #av-logo {
    display: grid;
    grid-template-columns: auto 1fr;
    justify-content: space-between;
    align-items: center;
    width: 100vw;
    padding: 4px 0 4px;
    position: relative;
    z-index: 1;
    background-color: var(--surface);
  }
  ul.h-menu {
    display: grid;
    justify-content: end;
    grid-template-columns: repeat(3, 32px);
    gap: 10px;
    margin: 0 10px;
  }
  ul.h-menu li {
    width: 100%;
    height: 32px;
    line-height: 32px;
    text-align: center;
    font-size: 75%;
    border-radius: 3px;
  }

  .go-to-top {
    position: fixed;
    display: none;
    right: 10px;
    bottom: 10px;
    z-index: 99999;
    z-index: 1;
  }

  .go-to-top {
    right: 1.0em;
    bottom: 1.0em;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
  }
  .go-to-top-button {
    border-width: 0;
    background-color: var(--surface-base);
    color: var(--text-info);
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    cursor: pointer;
    text-align: center;
    line-height: 1;
    border-radius: 8px;
    font-size: 22px;
    box-shadow: 0 0 0 2px var(--border);
    transition: transform 100ms linear, opacity 80ms linear;
    opacity: 1;
    transform: rotate(0deg) scale(1);
    -webkit-tap-highlight-color: transparent;
  }
  .go-to-top:focus {
      outline: none;
  }
  .go-to-top:hover {
    transition: transform 250ms cubic-bezier(0.33, 0.00, 0.00, 1.00);
    transform: scale(1.1);
  }
  .go-to-top:active {
    transform: scale(0.85);
    transition: transform 134ms cubic-bezier(0.45, 0, 0.2, 1);
  }
  /* フロントフィルタ */


  .tab-box h3 {font-weight: 800;text-align: center; 
    font-size: calc(1.5vw + 15px);
  }
  .tab-box .desc {
    font-size: calc(.75vw + 11px);
    margin: 0.25rem auto 0;
    line-height: 1.25;
    text-align: center;
  }
  ul.tab {
    display: grid;
    gap: 0px;
    align-items: center;
    grid-template-columns: repeat(8, auto);
    justify-content: normal;
    font-weight: 800;
    overflow: hidden;
  }
  ul.tab li { background-color: var(--surface-info);
    color: var(--text-info);
    font-size: calc(.25vw + 11px);
    text-align: center;
    padding: 18px 15px;
    width: 100%;
    text-wrap: nowrap;
    display: flex;
    border-radius: 0px;
    position: relative;
    cursor: pointer;
    height: 100%;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
  }

  ul.tab li.select, .chkarea a.btnlnk.selected { 
    background-color: var(--text-info);
    color: var(--surface);
    border: 0px solid var(--text-info);
  }


  ul.tab li.select { 
  background-color: var(--surface-info);
  color: var(--text-info);
  }


  ul.tab li:before { 
    content: "";
    position: absolute;
    left: 25%;
    bottom: 0px;
    width: 50%;
    height: 6px;
    border-radius: 6px;
    border-bottom: 6px solid var(--text-info);
    transform:scaleX(0.3);
    opacity:0;
    transition:transform 0.2s ease-in-out, opacity 0.25s ease-in-out;

  }

  ul.tab li:hover::before, ul.tab li.select:before { 
    transform:scaleX(1);
    opacity:1;
  }



  #menu-box {display: none;
    padding: 140px 20px 200px;
    overflow-y: scroll;
    height: 100vh;
    background-color: var(--surface-base);
    height: 100vh;
    position: fixed;
    width: 100%;
    z-index: 3;
    top: 0;
  }
  .menu-active #menu-box {display: block;}
  #menu-box .footer-credit {
    text-align: center;
    font-size: 12px;
    margin: 12px auto 12px;
    color: var(--icon);
  }

  .login-box {
    background-color: var(--surface-info);
    padding: 20px 20px;
    border-radius: 8px;
    margin-bottom: 1.5rem;
    text-align: center;
    font-size: 12px;
  }
  #menu-box .bottom-box  {
    position: fixed;
    bottom: 0;
    background-color: var(--surface-base);
    left: 0;
    width: 100vw;
    padding: 0px 0 0px;
  }
  #menu-box .bottom-box .slider.sticky {
    margin: 0px auto;
  }
  #menu-box .bottom-box .slider .inner {
    padding: 0px 16px;
  }


  .tab-content ol {
    font-size: 14px;
    margin: 1.25rem auto 0.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .tab-content ol .detail-link {margin: 0; font-size: 75%;}
  .tab-content .hide {display: none;}


  .list-search.tab-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding: 20px 12px 20px;
  }

  .list-search a {
    background-color: var(--surface);
    border: 1px solid var(--border);
    color: var(--text);
    padding: 10px 2px;
    font-size: 13px;
    text-align: center;
    border-radius: 50px;
    font-weight: 700;
    display: block;
  }

  .list-search.tab-inner li a {
    padding: 12px 18px;
    font-size: 13px;
  }


  .list-search a span { font-size: 80%; }
  .list-search.tab-inner.small {
    /* grid-template-columns: repeat(3, 1fr); */
  }
  .list-search.small a {
    font-size: 11.5px;
    padding: 5px 4px;
  }



  .front #main-area .item.item--linkbox h2 {
    margin: 0 auto 0;
    padding: 0px 0 8px;
  }

  .item.item--linkbox, .item.jumbotron  {
    padding: 15px 15px 15px;
    background-color: var(--event-bg);
    color: #FFF;
  }
  .item.jumbotron {
    padding: 0px 0px;
    /* margin: 40px 0; */

  }
  .item .title-box {
    padding: 15px 15px 15px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0px 0;
    font-size: 15px;
    column-gap: 8px;
    font-weight: 800;
    line-height: 1.2;
  }

  .item.item--linkbox .link-li {
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 12px;
  }

  .item.item--linkbox .linkbox {
    width: calc((100% - 24px) / 3);
  }
  .item.item--linkbox .linkbox a {
    color: #FFF;
  }

  .item.item--linkbox .imgbox {
    background: #eee;
    display: inline-block;
    width: 100%;
    height: 37vw;
    max-height: 290px;
    min-height: 145px;
    margin: 0 auto 6px;
    vertical-align: top;
    border-radius: 3px;
    position: relative;
    overflow: hidden;
  }

  .item.item--linkbox .imgbox .figure {
    position: absolute;
    height: 100%;
    width: auto;
    object-fit: cover;
    object-position: 100% 0;
  }


  .item.item--linkbox .txtbox .title {
    line-height: 1.2;
    font-size: 12px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }


  /* パンくず */
  .breadcrumb {
    width: 100%;
    color: var(--text-subdued);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 12px 20px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
  }

  /* 検索エリア */

  .break-keep {
    word-break: keep-all;
  }


  .search-bar {
    margin: 4px auto 2px;
    display: none;
    grid-column: 1 / 3;
    width: calc(100% - 40px);
    padding: 0px 0px;
  }

  .active .search-bar {
    display: block;
  }

  .main-search-area {
    padding: 0px;
  }

  .main-column.jumbotron {
    text-decoration: none;
    padding: 20px 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--text-info);
    color: var(--surface-info);
    font-weight: 800;
    text-align: center;
    height: 45vw;
  }



  /*　リストフィルタ　*/
  .chkarea {
    padding: 20px 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .chkarea > div {}
  .chkarea a.btnlnk {
    text-decoration: none;
    font-size: 11px;
    padding: 8px 12px;
    display: inline-block;
    color: var(--text);
    background-color: var(--surface);
    border: 1px solid var(--border);
    font-weight: bold;
    border-radius: 50px;
    margin: 0;
  }

  .chkarea div.clear {display: none;}
  .chkarea div > span { 
    display: block;
    margin-bottom: 6px;
    font-weight: bold;
    font-size: 13px;
  }

  .details .chkarea, .list-table .chkarea, .type-d .chkarea {
    background-color: var(--surface);
    border: 1px solid var(--border);
    margin: 0px 20px 20px;
    border-radius: 8px;
    font-size: 13px;
    gap: 5px;
  }
  .type-d .chkarea {
    margin: 0px auto 20px;
  }

  .main-column.ranking-table {
    display: grid;
    margin-top: .75rem;
  }

  .ranking-table .chkarea {
    justify-content: space-between;
    background-color: var(--surface-base);
    padding: 12px 16px;
  }

  .ranking-table .chkarea.sticky {
    position: sticky;
    top: 78px;
    z-index: 1;
    transition: top 0.1s ease-in-out;
  }
  .hide .ranking-table .chkarea.sticky {
    top: 39px;
  }




  .chkarea .btnlnk.smbtn {
    padding: 10px;
  }
  .details .chkarea p.t10, .list-table .chkarea p.t10, .type-d .chkarea p.t10 {
    display: block;
    width: 100%;
    margin: 0px auto;
  }
  .details .chkarea .btnlnk.smbtn, .list-table .chkarea .btnlnk.smbtn, .type-d .chkarea .btnlnk.smbtn {
    font-size: 10px;
    width: auto;
    margin: 0;
    padding: 10px 10px;
  }



  /* my page */
  form label {
    font-weight: bold;
    font-size: 12px;
    margin-top: 15px;
    display: inline-block;
  }

  form select {
    max-width: 100%;
      color: var(--text);
      background-color: var(--surface-base);
      display: block;
      width: 100%;
      padding: 8px 12px;
      margin: 5px auto 0;
      border-radius: 4px;
      border: 1px solid var(--border);
      font-size: 16px;
      line-height: 1.4;
  }

  form input[type="text"], form input[type="email"], form input[type="tel"], form input[type="password"] {
    max-width: 100%;
    color: var(--text);
    background-color: var(--surface-base);
    display: block;
    width: 100%;
    padding: 8px 12px;
    margin: 5px auto 0;
    border-radius: 4px;
    border: 1px solid var(--border);
    font-size: 16px;
    line-height: 1.4;
  }


  form input::placeholder {
    color: #cdd;
    font-size: 13px;
  }


  #mgs-middle, #mgs-side-long, #mgs-Stop-long, .bn-section {
    padding: 1.75rem 0;
    display: block;
    background-color: var(--surface-active);
    width: 100%;
    text-align: center;
    margin: 1.75rem auto .75rem;
  }

  .bn-section {
    margin: .5rem auto .5rem;
  }
  #rank-actress {
    margin: 4.75rem auto .25rem;
  }

  .main-column #rank-actress h2.heading-title {
    margin: 3.75rem 0px 0.75rem;
  }
  #rank-actress h2.heading-title:before {
    display: none;
  }

  .jumbotron + .bn-section { 
    margin: 1rem auto 0;
  }

  #mgs-head-top.bn-section {
    margin: 0 auto;
    background-color: transparent;
    padding: 0;
  }


  #mgs-side-top.bn-section {
    margin: 0 auto 2.75rem;
    padding: .25rem;
  }
  .details #mgs-main-middle {
    margin: 1.25rem auto 0;
    padding: .25rem 0;
  }

  #mgs-side-long {
    display: none;
  }
  #mgs-Stop-long {
    margin: 0 auto;
    padding: 1.75rem 0;
  }

  .bn-section iframe {
    width: 100%;
    max-width: 100%;
  }


  .section-block .btnlnk, form input[type="submit"], .one-column .t11 .btnlnk, .btnlnk.action-button {
    padding: 14px 16px;
    font-weight: 800;
    color: var(--text-interactive);
    background-color: var(--surface);
    border: 1px solid var(--border-active);
    margin: 24px auto 16px;
    border-radius: 50px;
    width: 100%;
    margin: 24px auto 16px;
    display: block;
  }

  .btnlnk.action-button {
    margin: 2em auto 1em;
    border-radius: 100px;
    border: 1px solid var(--border);
    color: var(--text);
    width: 70%;
    max-width: 380px;
    padding: 12px 8px;
    font-size: 75%;
  }
  form input.btn[name="login"], form input.btn[name="register"], .btn-box .btnlnk.login-btn, .n-head .navbar .login a {
    background-color: var(--blue-600);
    color: var(--surface);
    border: 0px;
  }
  .btn-box .btnlnk.regist-btn {
    background-color: var(--orange-600);
    color: var(--surface);
  }
  .n-head .navbar .login a {
    background-color: var(--surface-info);
    color: var(--text-info);
    border: 0px;
    font-size: 10px;
  }
  .grid-li a {
    width: 100%;
    margin: 0 auto;
    max-width: 250px;
    max-height: 250px;
  }

  .ad-action, .btn-action {
    padding: 0 20px .75rem;
    text-align: center;
  }

  form input.btn[name="register"], .btn-box .btnlnk.register-btn, .n-head .navbar .register a  {
    background-color: var(--yellow-100);
    color: var(--orange-600);
  }

  .n-head .navbar .logout a, .btn-box .btnlnk.logout-btn {
    background-color: var(--surface);
    color: var(--orange-600);
    border: 1px solid var(--orange-600);
  }

  .av-data .prof-table form input[type="submit"], .av-data .btnlnk.smbtn, .details table.free td[colspan="5"] a.btnlnk.smbtn {
    margin: 12px 0 0;
    width: inherit;
    font-size: 11px;
    padding: 12px 12px;
  }
  .av-data .prof-table form input[type="submit"] {
    width: 90px;
  }

  .formhd {
    font-size: 14px;
    text-align: center;
    margin-bottom: 1rem;
  }
  .formhd h4{
    font-size: 19px;
    margin-bottom: .75rem;
    width: 100%;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 auto .5rem;
  }
  .formhd p{ line-height: 1.3;
    font-size: 13px;
  }

  .formhd p.alrt { 
    background-color: var(--surface-info);
    padding: 10px;
    font-size: 10px;
    border-radius: 8px;
    margin-top: 1rem;
  }

  .formft a {
    font-size: 12px;
    text-align: center;
    display: inline-block;
    padding: 0 8px;
  }

  .edit_area select[name="looks"], .edit_area select[name="karada"] ,
  .edit_area select[name="charming"], .edit_area select[name="nukeru"] ,
  .edit_area select[name="totally"] {
    text-align: center;
    font-weight: 700;
    margin: 0 auto;
    position: relative;
    padding: 8px 28px 8px 12px;
  }
  form.edit_area table.edit_table.evaluate tr td.select {position: relative;
    grid-template-columns: auto;}
  form.edit_area table.edit_table.evaluate tr td.select::after {
    position: absolute;
    right: calc(32% - 8px);
    top: calc(50% - 3px);
    width: 10px;
    height: 7px;
    background-color: var(--icon);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
    z-index: 1;
  }



  /*追加登録 */
  .one-column .act-video-list, .one-column .edit_area, .one-column .tbllist.free, .one-column .tbllist.av {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
  }

  .one-column .act-video-list, .one-column .edit_area, .one-column .tbllist.free, .one-column p.t11 + .tbllist.av {
    margin: .75rem auto 1.5rem;
    padding: 5%;
  }

  .one-column .edit_area {

  }


  .edit_area { padding: 24px 24px;
    margin-top: 1.5rem;
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.4;
  }
  form.edit_area input[type="submit"], .section-block .btnlnk {
    display: inline-block;
    font-size: 13px;
    margin: 0px 0px;
    padding: 12px 30px;
    width: inherit;
    max-width: 220px;
  }


  form.edit_area input[type="submit"][name="evaluate"] , form.edit_area input[type="submit"][name="add"], form.edit_area input[name="submit"], form.edit_area input[name="search"], .av-data .prof-table input[name="search"] {
    color: var(--surface);
    background-color: var(--text-interactive);
  }

  .section-block .btnlnk {
    margin: .5rem auto 0;
    border-radius: 50px;
    color: var(--text-interactive);
    background-color: var(--surface);
    border: 1px solid var(--border-active);

  }

  .one-column.edit-layout h4 {padding: 8px 0; margin-top:.75rem;}

  .one-column.edit-layout p.t11, .one-column p.t11 {
    font-size: 13px;
    line-height: 1.4;
  }
  .one-column .act-video-list table.av tr .jacket {
    padding: 12px 0px 12px 12px;
    width: 40vw;
  }
  .one-column .act-video-list table.av td:nth-of-type(2) {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
    align-self: center;
    align-self: self-end;
  }


  form.edit_area table td { 

    padding: 0;
    vertical-align: middle;
    align-items: center;
    column-gap: 10px;

  }

  table.edit_table.evaluate tr {
    grid-template-columns: 1fr auto;
  }
  form.edit_area table.evaluate tr:last-child td:last-child {
    grid-column: 1 / 2;
    grid-template-columns: auto;

  }

  form.edit_area table td:first-child {
    width: inherit;
    font-weight: 700;
    min-width: inherit;
    text-align: center;
  }
  form.edit_area input[type="text"], form.edit_area input[type="tel"], form.edit_area input[type="password"] {
    padding: 8px 12px;
    font-size: 14px;
    margin: 6px auto;
  }
  input[type="file"],  form.edit_area textarea {
    font-size: 13px;
    display: block;
    line-height: 1.3;
    background-color: var(--surface);
    border: 1px solid var(--border);
    width: 100%;
    padding: 12px 12px;
    margin: .5rem 0;
    border-radius: 4px;
    font-size: 14px;
  }

  .one-column .act-video-list .tbllist.av tr:nth-child(2n) {
    background-color: transparent;
  }
  form.edit_area .edit_table tbody {
    display: grid;
    gap: 10px;
  }

  .one-column .t11 .btnlnk {
    max-width: 75%;
  }

  .edit_table tr {

    height: auto;
    /* grid-template-columns: 1fr auto; */
    justify-content: space-between;
    align-items: center;
  }

  form.edit_area .edit_table td:first-child {
    text-align: left;
    min-width: 70px;
  }
  form.edit_area .edit_table img {
    border-radius: 4px;
    border: 1px solid var(--border);
  }

  .one-column.edit-layout h4.t18 {
    margin-bottom: 15px;
  }
  .one-column h4.t18 + p.t11 {
    text-align: left;
  }
  .one-column.edit-layout .hint {
    font-weight: 500;
    font-size: 11px;
    text-align: left;
    padding: 0 0;
    display: block;
    line-height: 1.2;
  }

  .one-column.edit-layout input[type="file"] {
    grid-row: 1 / 2;
    grid-column: 1 / 3;
    align-self: center;
  }


  .one-column.edit-layout .tbllist.actress a {
    position: relative;
    width: 12vw;
    height: 12vw;
  }
  .one-column .tbllist.actress tr {
    display: grid;
    align-items: center;
    grid-template-columns: auto 1fr;
    align-items: stretch;
  }
  .one-column .tbllist.actress tr td:first-child {
  width: inherit;
  }
  .one-column .tbllist.actress tr td:last-child {
  display: block;
  text-align: left;
  padding-top: 5%;
  }
  .one-column .tbllist.actress tr td:last-child a {
    border-radius: inherit;
    width: 100%;
    height: auto;
  }
  /* .one-column .edit_area:not([name="add_free_movie"]) .edit_table {
  display: none;
  } */



  /*メインコンテンツ*/
  .main-column.list-table {
    position: relative;
  }

  .headline {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: .75rem 16px .75rem;
      position: relative;
      gap: .5rem;
      flex-wrap: wrap;
  }
  .headbar {
    display: flex;
    flex-direction: column;
    gap: .5rem;
  }
  .headbar .group-title {
    font-weight: 700;
    font-size: 11px;
    font-weight: bold;
    margin-right: .25rem;
    width: 48px;
    text-align: center;
    color: var(--text-subdued);
    display: inline-block;
  }

  .details .headline {
    padding: 0 16px;
    margin-top: .25rem;
  }

  .headline .count {
      font-size: 60%;
      font-weight: bold;
      color: var(--text-subdued);
  }

  .no-cnt {
    padding: 6em 6em;
    text-align: center;
    font-size: 13px;
    font-weight: bold;
    color: var(--text-subdued);
  }

  .grid-view .av-list-container .no-cnt {
    grid-column: 1 / 3;
  }

  .mosaic-filter,.ntc-msg  {
    margin: 0rem auto 1.5rem;
    background: transparent;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 6px;
    display: block;
    width: 45%;
  }
  .ntc-msg { 
    width: auto;
    font-size: .75rem;
    line-height: 1.3;
    margin: 0.75rem 16px 0.75rem;
    padding: .75rem 1.0rem;
    color: var(--text);
    border: 1px solid var(--surface-info);
    background-color: var(--surface-info);
  }

  .one-column  .ntc-msg { 
    margin: 1rem 0px 1rem;
  }

  .front .ntc-msg { 
    margin: .75rem 12px;
  }

  .ntc-msg strong {
    margin-right: .25rem;
  }
  .mosaic-filter form label {
    margin: 0 auto;

  }

  .mosaic-filter {
    display: none;
  }

  .main-column:not(.details) .headline h1 {  padding: 0px 0px; }
  .main-column h1 {
    font-size: calc(1.0vw + 14px);
    font-weight: 800;
    line-height: 1.2;
    padding: 8px 16px 8px;
    /* border-bottom: 1px solid var(--border); */
  }

  .loading {text-align: center;
  padding: 2em;
  font-size: 12px;
  color: var(--text-subdued);
  font-weight: bold;
  grid-column: 1 / 3;
  }
  .posts-container {
    display: grid;
    margin: 0 20px;
    width: calc(100% - 40px);
    grid-template-columns: repeat(2, auto);
    gap: 12px;  
    row-gap: 1.75rem;  
    font-size: 1em;
  }

  .posts-container .post-title {
    color: var(--text);
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    line-height: 1.15;
    font-size: 12.5px;
  }
  .posts-container .post-date {
    color: var(--text-subdued);
    margin: 5px auto;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 11px;
    font-weight: bold;
  }
  .posts-container .post-thumbnail {
    display: block;
    overflow: hidden;
    border-radius: 3px;
    width: 100%;
    margin-bottom: .35rem;
    max-height: 110px;
    border-radius: .375rem;
  }


  .posts-container .post-thumbnail img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transform: scale(1);
    transition: transform 0.2s ease-in-out, opacity 0.25s ease-in-out;
  }
  .posts-container a:hover .post-thumbnail img {
    display: block;
    transform: scale(1.1);
    transition: transform 0.2s ease-in-out, opacity 0.25s ease-in-out;
  }

  .front #pagination-container {display: none;}


  /* モーダル背景 */
  .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.9);
    text-align: center;
  }

  /* モーダル内の画像 */
  .modal-content {
    margin: auto;
    display: block;
    max-width: 90%;
    max-height: 90vh;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }

  /* 閉じるボタン */
  .close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
    z-index: 1001;
  }

  .close:hover,
  .close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
  }


  .detail-link {
    margin: 0 auto;
    display: block;
  }
  .detail-link a {
    max-width: 60%;
    display: block;
    margin: 0.75rem auto;
    padding: 12px 6px;
    background-color: var(--surface-info);
    color: var(--text-info);
    text-align: center;
    font-weight: bold;
    border-radius: 50px;

  }

  #shirohame-footer {
    background-color: var(--surface-caution);
    padding: 1.75rem 0;
  }
  #shirohame-footer a {
    color: var(--text);
    font-size: 12px;
    text-align: center;
    display: block;
    font-weight: bold;
  }

  #shirohame-footer img {
    display: block;
    margin: 0 auto;
  }

  #shirohame-long {
    font-size: calc(.25vw + 12px);
    text-align: center;
    background-color: var(--text);
  }
  .shiro-ttl {
    padding: 12px 16px;
    padding-left: 2.25rem;
    background-color: transparent;
    color: var(--text);
    text-align: left;
    position: relative;
    font-size: clamp(13px, calc(.15vw + 13px), 18px);
    font-weight: 800;
    line-height: 1.2;
  }

  .shiro-video {
    padding-top: 2rem;
  }
  .shiro-video .btn-action, .shiro-video .shiro-video-single {
    background-color: transparent;
  }
  .shiro-ttl:before {
    content: "";
    position: absolute;
    bottom: 12px;
    left: 16px;
    margin-left: 0;
    border: 9px;
    background: var(--icon-critical);
    width: 8px;
    height: calc(100% - 24px);
    border-radius: 100px;
  }

  .shiro-video-block, .shiro-list {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% - 0px);
    margin: 0 auto;
    gap: .75rem;
  }
  .shiro-list a, .shiro-list a:hover{
    color: var(--text);
  }
  #shirohame-long a, #shirohame-long a:hover {
    color: var(--surface);
    font-weight: bold;
    display: block;
    margin: 0 auto;
    font-size: 13px;
    padding-bottom: .35rem;
  }
  #shirohame-long a img, #shirohame-footer img {
    width: 100%;
    margin-bottom: .25rem;
  }
  .shiro-list a, .shiro-video a {
    padding-bottom: .5rem;
    display: block;
    font-weight: 800;
    font-size: calc(.25vw + 11px);
    text-align: center;
    width: calc(50% - .375rem);
    display: none;
  }
  .shiro-video a:first-child, .shiro-list a:first-child {
    font-size: calc(.5vw + 12px);
    width: 100%;
    display: block;
  }


  .shiro-list a img, .shiro-img-list img {
    border-radius: 2px;
    margin-bottom: .5rem;
  }

  #shiroHameGallaryList.shiro-img-list {
    font-size: 11.5px;
    display: grid;
    width: 100vw;
    grid-template-columns: repeat(4, 43.5vw);
    gap: .75rem;
    row-gap: 1.25rem;
    padding-top: .5rem;
    margin-bottom: 2.0rem;
  }

  #shiroHameGallaryList a:nth-child(n+9) {
    display: none;
  }


  .shiro-video-single h3.video-title {
    font-size: 11.5px;
    text-align: center;
    display: block;
    margin-bottom: .75rem;
  }

  .shiro-img-list a , .shiro-video a {color: var(--text);}
  .shiro-video video{
    width: 100%;
    margin-bottom: .25rem;
  }

  .shiro-lp {
    background: var(--red-600);
  }


  .shiro-lp .btn-action, .shiro-video .btn-action {
    padding: 0 12px 1.5rem;
  }

  .shiro-video, .shiro-video .btn-action, .shiro-video .shiro-video-single, .shiro-bn-blk  {
    background: var(--surface-active);
  }
  .shiro-video-block, .shiro-list {
    padding:0rem 16px .75rem;
  }


  .shiro-video .shiro-video-single {
  }
  .shiro-lp a img {
    display: inline;
    margin-bottom: 12px;
  }
  #random-banner-container a {
    color: var(--surface);
    text-align: center;
    display: block;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
  }

  .widget-container {
    width: calc(100% - 32px);
    overflow: hidden;
    margin: 12px auto;
    border-radius: 12px;
    background: linear-gradient(135deg, #f5f5f5 0%, #ffffff 100%);
  }

  .widget-header {
    color: var(--surface);
    padding: 10px 0px;
    text-align: center;
    position: relative;
  }
  .details .shiro-lp .widget-header {
    padding: 1.5rem 0px 1.2rem;
  }


  a.btnlnk.shiro-button, a.btnlnk.video-link {
    border-radius: 4px;
      background-color: var(--yellow-500);
      display: block;
      padding: 12px;
      color: var(--band-900);
      font-weight: 800;
      font-size: 14px;
      border-bottom: 3px solid var(--yellow-600);
      margin: 0 auto;
      border-radius: 50px;
      max-width: 85%;
      min-width: 280px;
    }

    a.btnlnk.fanza-search, a.btnlnk.video-link {
    background-color: var(--red-500);
    border-bottom: 3px solid var(--red-600);
    color: var(--surface-base);
    margin-bottom: 1.25rem;
    padding: 18px 8px 16px;
    font-size: clamp(13px, calc(.25vw + 14px), 19px);
    width: 80%;
    text-align: center;
    max-width: 480px;
  }

  a.btnlnk.fanza-search {
    border-radius: 50px;
    font-weight: 800;
    margin: 0 auto 1.75rem;
    background-color: var(--surface);
    border: 2px solid var(--red-500);
    color: var(--red-500);
    box-shadow: 0 1px 0px 0px var(--red-500);
    transition: background-color 0.25s ease-in-out;
  }
  a.btnlnk.fanza-search:hover {
    background-color: var(--red-100);
  }
  .widget-title {
    font-size: 19px;
    font-weight: 800;
    margin-bottom: 3px;
  }

  .widget-subtitle {
    font-size: 11px;
    font-weight: bold;
  }

  .widget-content {
    padding: 20px;
    border-radius: 10px;
  }

  .widget-description p {
    font-size: 12px;
    text-align: center;
    line-height: 1.3;
    margin-bottom: 12px;
    color: #333;
  }


  .highlight {
    background: linear-gradient(transparent 60%, var(--yellow-200) 40%);
    font-weight: bold;
  }

  .benefits-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
    margin-top: .75rem;
  }

  .benefit-card {
    background: white;
    border-radius: 8px;
    padding: 12px 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 1px var(--blue-200);
  }

  .benefit-icon {
    font-size: 20px;
    margin-bottom: 5px;
  }

  .widget-content h4, .benefit-title {
    font-weight: 800;
    font-size: 12px;
    color: var(--red-600);
    margin-bottom: 5px;
  }
  .widget-content h4 {
    text-align: center !important;
    justify-self: center;
    padding: 0 !important;
  }
  .benefit-text {
    font-size: 10px;
    color: var(--text-subdued);
  }

  /* モバイルでの高さ指定 */
  @media (max-width: 768px) {
    .widget-container {
        height: 47.5vw;
        max-height: 300px;
        overflow-y: auto;
        scrollbar-width: thin;
    }
    
    .widget-container::-webkit-scrollbar {
        width: 5px;
    }
    
    .widget-container::-webkit-scrollbar-thumb {
        background: rgba(229, 0, 0, 0.3);
        border-radius: 10px;
    }
    
    .widget-container::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.05);
    }
    
    .benefits-grid {
        grid-template-columns: 1fr 1fr;
    }
  }

  @keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
  }

  .widget-header {
    /* animation: pulse 2s infinite; */
  }


  .type-act-block {
    /* border-bottom: 1px solid var(--border); */
  }
  .type-act-block table tr {
    display: grid;
    padding: 10px;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .type-act-block table td {
    padding: 8px 0px;
    vertical-align: top;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
  }
  .type-act-block table td a:first-child {
    display: inline-block;
      width: 27.5vw;
      height: 27.5vw;
      max-width: 120px;
      max-height: 120px;
      margin-bottom: 6px;
      overflow: hidden;
      border-radius: 12px;
      position: relative;
      background-color: var(--border);
  }
  .type-act-block table td a:last-child {
    font-size: 14px; margin-top: 6px;
    color: var(--text);

  }


  /*ページネーション*/
  .pagination {
    padding: 0 0px;
    text-align: center;
    margin: 2rem auto;
    /* display: flex; */
    justify-content: center;
    align-items: center;
    max-width: 95%;
    display: block;
    gap: .25rem;
    display: flex;
    flex-wrap: wrap;
  }
  .pagination .page_info {display: none;}
  .pagination u, .pagination a, .pagination .current, .pagination .disabled {
    text-decoration: none;
    display: inline-block;
    min-width: 44px;
    padding: 0px ;
    border-radius: 6px;
    margin: 4px 0;
    width: auto;
    font-weight: bold;
    line-height: 2.4rem;
    border: 1px solid var(--border);
    color: var(--text);
    background-color: var(--surface);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
  }

  .pagination .current {
    border: 0px;
    color: var(--surface-base);
    background-color: var(--text-info);
  }
  .pagination .disabled {
      border: 0px;
      cursor: default;
      color: var(--border);
      background-color: var(--surface-base);
  }

  .pagination .disabled, .pagination .prev, .pagination .next {
    padding-left: .5rem;
    padding-right: .5rem;
  } 
  .pagination a {
    background-color: var(--surface);
  }
  .pagination u {
    color: var(--surface-base);
    background-color: var(--text-info);
  }


  /* カード全体のコンテナ */
  .video-posts-container {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
      gap: .75rem;
      row-gap: 1rem;
      padding: 0.25rem 0;
      width: calc(100% - 32px);
      margin: 0 auto;
  }

  /* カード本体 (a タグ) */
  .post-card {
      display: block;
      overflow: hidden;
      box-shadow: none !important;
      border-radius: 0 !important;
      transition: transform 0.3s, box-shadow 0.3s;
      text-decoration: none;
      color: inherit;
  }

  /* カードのホバー効果 */
  .post-card:hover {
  }

  /* サムネイル画像のコンテナ */
  .post-thumbnail {
    width: 100%;
    /* height: 28vw;
    max-height: 124px; */
    overflow: hidden;
    background-color: var(--border);
    border-radius: 6px;
    min-height: 100px;
  }

  /* サムネイル画像自体 */
  .post-thumbnail img {
    width: 100%;            /* コンテナ幅に合わせる */
    object-fit: cover;      /* 画像アスペクト比を保ちつつコンテナに合わせてトリミング */
    display: block;         /* 画像下の余白をなくす */
    transition: transform 0.3s ease; /* ホバー時のズーム効果 (任意) */
    aspect-ratio: 4 / 3;
  }

  /* 画像ホバー時のズーム効果 (任意) */
  .post-card:hover .post-thumbnail img {
    transform: scale(1.05);
  }


  /* テキストコンテンツ部分のコンテナ */
  .post-content {
    padding: 8px 0px !important; /* 内側の余白 */
  }

  /* 投稿タイトル */
  .post-title {
    font-weight: bold;     /* 太字 */
    margin: 0 0 5px 0;     /* 下マージン */
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* 表示する行数 */
    -webkit-box-orient: vertical;
    color: var(--text);
    overflow: hidden;
    line-height: 1.15;
    font-size: 12.5px;
  }

  /* 投稿日 */
  .post-date {
    color: var(--text-subdued);
    margin-top: 8px;
    font-size: 11px;
  }

  /*サイドバー*/
  .side-column {
    /* padding: 0px 24px; */

    padding: 0px 0px;
  }
  .side-column.side-history {
    padding: 0px 20px 20px;

  }
  .side-column table {
    width: 100%;
    margin-bottom: 0rem;
  }

  .side-list.side-column table {
    width: calc(100% - 40px);
    margin: 4px auto 1.75rem;
  }

  #side-bar video {
    width: 100%;
  }

  .side-column h2, .side-column h3, .side-column h4, .side-column h5 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin:1.25rem 20px 0.5rem;
    font-size: clamp(14px, calc(1.25vw + 16px), 19px);
    column-gap: 5px;
  }
  .side-column h2 {
    justify-content: flex-start;
    padding: 10px 0 10px 24px;
    font-size: clamp(14px, calc(1.25vw + 16px), 18px);
  }


  .side-column h2.jusleft {
  justify-content: flex-start;
  margin:1.75rem 0px 0.25rem;
  }


  .side-column ul {
    margin-bottom: 0;
    display: grid;
    justify-content: space-between;
    grid-template-columns: auto auto;
    align-items: baseline;
  }
  .side-column ul {
    margin: 15px auto 0;
    gap: 5px;
    grid-template-columns: repeat(3, 30%);
    row-gap: 10px;
    padding: 0 20px 20px;
  }
  .side-column.side-listbox ul {
    grid-template-columns: repeat(2, 1fr);
    margin: 10px 0;
    padding: 0 0px;
    gap: 10px;
  }

  .side-column.side-list table td a, .side-column.side-tag  ul a {
    background-color: var(--surface-info);
    color: var(--text-info);
    border-radius: 20px;
    font-weight: 700;
    max-width: 100%;
    overflow: hidden;
    padding: 14px 12px;
    vertical-align: bottom;
    font-size: 90%;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
    display: inline-block;
    background-color: var(--surface);
    color: var(--text);
    border: 0px solid var(--border);
    display: block;
    text-align: center;
  }

  .side-column.side-list table tr {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
  }

  .side-column.side-list table td a {
    font-size: 13px;
    padding: 5px;
    height: 28px;
    width: 28px;
    display: inline-block;
    text-align: center;
    line-height: 18px;
  }
  .side-column.side-list h2 { color: var(--text);}
  /* .side-column.side-list .detail-link { display: none;} */
  .side-column.side-list table td {
    color: var(--text-subdued);
    padding: 4px 0;
    line-height: 25px;
    align-items: center;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .side-column .detail-link, .side-list .detail-link a { margin: 0 auto; }

  /*登録ボタンエリア */
  .side-column.add-contents, .side-column.side-listbox {
    padding: 8.5% 2rem;
    width: 100%;
    background-color: var(--yellow-100);
    flex-direction: column;
    display: flex;
    justify-content: space-between;
    gap: 0px;
  }
  .side-column.add-contents {
    background-color: var(--surface-info);
    width: calc(100% - 0px);
    margin: 0 auto;
    padding: 0 0rem;
  }

  .side-column.add-contents .inner {
    display: grid;
    flex-direction: row;
    justify-content: center;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
    width: 85%;
    margin: 0 auto 1.5rem;
  }

  .side-column.side-listbox { 
    padding: 0 20px;
    background-color: transparent;
  }
  .add-contents a, a.btnlnk.smbtn, .btnlnk.smbtn, .av-data .btn-area .btnlnk {
    text-decoration: none;
    display: block;
    text-align: center;
    font-weight: 700;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
    border: 0px;
    background-color: var(--surface-info);
    color: var(--text-info);

    padding: 16px 16px;
    border-radius: 4px;
  }
  .add-contents a.off, a.btnlnk.smbtn.off, .btnlnk.smbtn.off, .btn-box .btnlnk.off, .av-data .btn-area .btnlnk.off {
    cursor: default;
    color: var(--text-disabled);
    background-color: var(--border-disable);
  }
  .sidebar-scroll {
    gap: 2.25rem;
    display: grid;
  }
  .add-contents a.btnlnk {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    font-size: calc(.25vw + 16px);
    padding: 16px 16px;
    gap: 12px;
    font-weight: 800;
    border-radius: 12px;
    width: 100%;
    color: var(--text);
    background-color: var(--surface);
  }



  .add-contents a.addcnt, .side-listbox ul a {
    display: flex;
    align-items: center;
    border-radius: 6px;
    padding: 12px;
    color: var(--icon);
    position: relative;
    overflow: hidden;
    transition: box-shadow .2s;
    background-color: var(--surface);
    background-position:center right;
    background-repeat: no-repeat;
    background-size: cover;
    justify-content: flex-start;
    text-align: left;
    column-gap: 8px;
    margin: 7.5px 0;
    border: 0px solid var(--border-info);
  }


  .side-listbox ul {gap: 20px;}
  .side-listbox ul a { 
    margin: 0 auto;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid var(--border);
    color: var(--text);
    padding: 0px;
    flex-direction: column;
    gap: 8px;
  }
  .add-contents a.btnlnk i {
    width: calc(1.25vw + 48px);
    height: calc(1.25vw + 48px);
    background-color: inherit;
    -webkit-mask: inherit;
    mask-image: inherit;
    background-image: url(../images/copy-writing.svg);
  }
  .add-contents a.btnlnk i.av {
    background-image: url(../images/copy-writing.svg);
  }
  .add-contents a.btnlnk i.free {
    background-image: url(../images/edit-file.svg);
  }

  .add-contents a.addcnt p {font-size: 13px;line-height: 1.7;font-weight: 500;}
  .add-contents a.addcnt p span {display: block; font-size: 18px;font-weight: 800;color: var(--text);}

  .add-contents .desc {
    text-align: center;
    display: block;
    color: var(--text);
    font-size: calc(0.5vw + 12px);
    width: 95%;
    line-height: 1.25;
    margin: 1.5rem auto 1.0rem;
  }
  .add-contents .desc.bold {
    font-weight: bold;
  }

  .side-column.add-contents a.addcnt {
    flex-direction: row;
    padding: 12px 8px;
    width: auto;
    gap: 8px;
    margin: 0;
    border: 1px solid var(--border-info);
    border-radius: 50px;
    justify-content: center;
  }
  .side-column.add-contents a.addcnt p {font-size: 11px;line-height: 1.7;font-weight: 500;}
  .side-column.add-contents a.addcnt p span {display: block; font-size: 12px;font-weight: 800;color: var(--text);}
  .side-column.add-contents a.btnlnk i {
    width: calc(1.25vw + 22px);
    height: calc(1.25vw + 22px);
    background-image: url(../images/copy-writing.svg);
  }


  .header-type-2 {
    text-align: center;
    display: block;
    font-weight: 800;
    color: #FFF;
    font-size: calc(1.25vw + 12px);
    background: var(--band-500);
    padding: .75rem;
  }

  .menu-window .add-contents {
    gap: 12px;
    display: grid;
    margin: 10px auto 40px;
  }

  .menu-window h4 {
    color: var(--icon);
    font-size: 13.5px;
    margin-bottom: 6px;
  }
  .menu-window .login-box h4 {
    color: var(--text);
    font-size: 18px;
  }
  .menu-window ul {
    display: grid;
    gap: 8px;
    margin: 0 auto 1.5rem;
    grid-template-columns: 1fr 1fr;
  }
  .menu-window ul.column-3 {
    grid-template-columns: 1fr 1fr;
  }
  .menu-window ul li a {
    padding: 15px;
    display: block;
    font-size: 13px;
    font-weight: 700;
    border-radius: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--text);
    background-color: var(--surface);
    border: 1px solid var(--border);
  }
  .menu-window ul li a i {
  }
  .menu-window ul.column-3 a {
    display: grid;
    gap: 5px;
    align-items: center;
    text-align: center;
    font-size: 12px;
    padding: 15px 8px;
  }
  .menu-window ul.column-3 a i {
    width: 24px;
    height: 24px;
    margin: 0 auto;
    display: block;
  }

  .menu-window .btn-box {
    gap: 12px;
    display: grid;
    margin: 12px auto 0;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .menu-window .btn-box .btnlnk {
    padding: 12px 16px;
    font-size: calc(.25vw + 12.5px);
    border-radius: 50px;
  }

  .menu-window .btn-box .btnlnk.logout-btn {
    /* grid-row: 2 / 3; */
    grid-column: 1 / 4;
    align-self: center;
    justify-self: center;
    width: 80%;
    margin: 0 auto;
  }
  .menu-window .add-contents a.btnlnk {
    color: var(--text);
    background-color: var(--surface-info);
  }



  .main-column.details h5 a.btnlnk.smbtn {
    font-size: 11px;
    margin: 0;
    display: none;
  }
  .details table.free td[colspan="5"] a.btnlnk.smbtn {
    display: none;
  }

  a.btnlnk.smbtn, .btnlnk.smbtn {
    max-width: 40vw;
    margin: 10px auto;
  }

  .type-static {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  .type-static.main-search-area {
    border-top: 4px solid var(--icon-interactive);
    border-bottom: 4px solid var(--icon-interactive);
    margin-bottom: 2rem;
  }

  .tag-grid-list {
    display: grid;
    gap: 12px;
    padding: 16px 16px 20px;
    grid-template-columns: repeat(10, auto);
    width: 100%;
    height: auto;
    font-size: 14px;
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-snap-align: start left;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-padding: 0 50%;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    position: relative;
  }

  .tag-grid-list li {
  }

  .tag-grid-list a {
    padding: 16px 12px 16px 40px;
    background-color: var(--surface-info);
    color: var(--text-info);
    border-radius: 8px;
    position: relative;
    width: 100%;
    font-size: calc(.5vw + 11px);
    font-weight: 800;
    display: block;
    white-space: nowrap;
    min-width: 22vw;
    max-width: 180px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .tag-grid-list a i, .go-to-top-button i {
    position: absolute;
    top: 11px;
    left: 9px;
    margin-left: 0;
    background-color:var(--text-info);
    width: 26px;
    height: 26px;
    border-radius: 50px;
  }
  .type-static.filter-tag {
    width: 100vw;
  }

  .type-static.filter-tag p {
    padding: 8px 16px 0;
    font-size: 13.5px;
    font-weight: 700;
    display: block;
  }

  .type-static.filter-tag .tag-grid-list {
    padding: 4px 16px;
    gap: .75rem;
    display: flex;
  }

  .sidebar-scroll .type-static.filter-tag .tag-grid-list {
    padding: 0rem 20px 2rem;
    overflow: inherit;
    display: grid;
    grid-template-columns: 48% 48%;
  }


  .type-static.filter-tag .tag-grid-list a {
    width: 100%;
    padding: 12px 10px 12px 36px;
    font-size: 12.5px;
    font-weight: 700;
    display: block;
    white-space: nowrap;
    min-width: inherit;
    max-width: inherit;
    background-color: var(--surface);
    color: var(--text);
    border: 0px solid var(--border);
  }
  .type-static.filter-tag .tag-grid-list a i {
    top: 7px;
    left: 8px;
    width: 22px;
    height: 22px;
  }

  /* フィルタータグのスタイル例 */
  .search-related-filters h3 {
    margin-top: 15px;
    font-size: 16px;
    color: #333;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
  }

  /* .search-related-filters .tag-grid-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
  } */

  .search-related-filters .tag-grid-list li a {
    display: inline-block;
    padding: 5px 10px;
    background: #f5f5f5;
    border-radius: 4px;
    font-size: 13px;
    color: #333;
    text-decoration: none;
    transition: all 0.2s ease;
  }

  .search-related-filters .tag-grid-list li a:hover {
    background: #e5e5e5;
  }

  .go-to-top-button i {
    top: 32.5%;
    left: 30%;
    background-color: transparent;
    width: 40%;
    height: 40%;
    border-radius: 0px;
  }
  .tag-grid-list a i:before, .go-to-top-button i:before {
    content: "";
    content: "";
    top: 25%;
    left: 25%;
    width: 50%;
    height: 50%;
    border-radius: 0px;
    position: relative;
    background-color: var(--surface);
    display: block;
  }
  .go-to-top-button i:before {
    background-color: var(--text-info);
    width: 100%;
    height: 100%;
    top: 0%;
    left: 0%;
  }


  /*履歴エリア*/
  .side-history img {
    min-width: 80px;
  }
  .side-history table td {padding: 4px 0;}
  table tr.nocnt td {padding: 0 40px;}

  .side-history table tr.nocnt td {
    padding: 3rem 20px;
    width: 100%;
    background-color: var(--surface);
    display: block;
    font-size: 12px;
    border-radius: 8px;
  }

  /*　リストテーブル　*/
  .tbllist th.t9 {
    padding: 10px 6px;
    color: var(--text-subdued);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    border-bottom: 1px solid var(--border);
  }



  .tbllist .ratetbl, .main-column:not(.ranking-table) .tbllist.free tr th:first-child { display: none; }


  .ranking-actress .tbllist.actress tr th:nth-of-type(5), .ranking-actress .tbllist.actress tr td:nth-of-type(5) {
    display: none;
  }

  .weekly-rank .tbllist.actress tr th:last-child, 
  .weekly-rank .tbllist.actress tr td:last-child {
    display: none;
  }
  .tbllist.actress tr td, .grid-view .tbllist.actress tr td.details {
    font-weight: 700;
    text-align: center;
    padding: 6px 0px;
  }
  .tbllist.actress tr td.details, .ranking-actress .tbllist.actress tr td:nth-of-type(3), .ranking-actress .tbllist.actress tr th:nth-of-type(3) {
    text-align: left;
    padding-left: 6px;
    padding-right: 6px;
  }


  .tbllist.actress td:first-child, .tbllist.actress td:last-child {
    padding: 6px 16px;
  }
  .tbllist.actress td:last-child {
    padding-left: 0px;
  }
  .grid-view .tbllist.actress td:first-child, .grid-view .tbllist.actress td:last-child {
    padding: 6px 0px;
  }

  .grid-view .tbllist.actress td.rnkno {padding: 12px 0 0;}

  .grid-view .tbllist.actress{
    width: calc(100% - 24px);
    margin: 0 auto;
  }





  .tbllist td {padding: 8px 6px; vertical-align: middle; position: relative;}

  .grid-view .tbllist td {text-align: center; }
  .tbllist.free { margin-bottom: 1rem;}


  .tbllist.free tr {
    position: relative;
  }
  .ranking-table .tbllist.actress th:nth-of-type(4),
  .ranking-table .tbllist.actress td:nth-of-type(4), .ranking-table .tbllist.free .tagarea {
    display: none;
  }


  .tbllist.actress td:nth-of-type(6), .ranking-table .tbllist.free td:nth-of-type(5), .details table.free.tbllist td:last-child, .main-column.type-d .tbllist.free td:last-child {
    font-weight: 700;
    color: var(--red-500);
    font-size: 110%;
  }
  .tbllist.actress th:nth-of-type(6), .ranking-table .tbllist.free th:nth-of-type(5), .tbllist.actress td:nth-of-type(6), .ranking-table .tbllist.free td:nth-of-type(5) {
    padding-right: 18px;
  }
  .ranking-table .tbllist.free td:nth-of-type(5), .details table.free.tbllist td:last-child {
    width: 56px;
    white-space: nowrap;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--band-500);
  }

  .ranking-table .tbllist.free th:nth-of-type(5), .ranking-table .tbllist.free td:nth-of-type(5) {
    display: none;
  }

  ul.DisplayMode {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 16px;
    margin-bottom: 0;
    right: 0;
    top: 18px;
  }
  ul.DisplayMode button, .sort-options select {
    padding: 8px 12px;
    font-size: 11px;
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 6px 0px 0px 6px;
    overflow: hidden;
  }
  ul.DisplayMode button.ModeButton--list {
    border-radius: 0px 6px 6px 0px;
    border-left: 0;
  }
  .filter {
    display: flex;
    gap: .75rem;
  }
  .sort-options {
    margin: 10px 0;
    text-align: right;
  }
  .sort-options select { 
    border-radius: 6px;
    text-align: center;
    padding: 10px 12px;
  }



  .details .tbllist.av tbody {
    display: grid;
    gap: 6px;
    row-gap: .75rem;
  }

  /* .tbllist.av tr:nth-child(2n) {background-color: var(--surface-subdued);} */
  .tbllist.av tr {background-color: var(--surface-subdued);}

  .tbllist.free tr:nth-child(2n) td, 

  .list-view .tbllist.actress tr:nth-child(2n) td, .main-column.list-view .av-item:nth-child(2n) {background-color: var(--surface-subdued);}

  .rnkcnt span {font-size: 60%; margin-left: 2px;}
  .rnkup, .rnkdown, .rnkeven, .rnkcnt .rnkup, .rnkcnt .rnkdown, .rnkcnt .rnkeven {
    display: block;
    /* margin-left: auto;
    margin-top: 0.25rem; */
    margin: 0;
    line-height: 1.5;
    font-weight: 500;
    font-size: 55%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .grid-view .rnkcnt {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
  }

  .rnkcnt span strong {display: block;  margin: 0 auto;}

  .ranking-actress td:nth-of-type(2) a, .list-table .tbllist.actress td:first-child a, .one-column .tbllist.actress a  { 
    display: inline-block;
    width: 21.5vw;
    height: 21.5vw;
    max-width: 150px;
    max-height: 150px;
    overflow: hidden;
    /* border-radius: 100px; */
    border-radius: 10px;
    position: relative;
    background-color: var(--border);
  }
  .grid-view .list-table .tbllist.actress td:first-child a {
    /* width: 27.5vw;
    height: 27.5vw; */
  }

  .result-tbl {
    font-size: 14px;
  }
  table.result-tbl td {
    padding: 0px;
    vertical-align: middle;
  }



  .result-tbl .jacket a {
    display: block;
    width: 27.5vw;
    max-width: 180px;
    border-radius: 4px;
  }
  .result-tbl th.jacket {
    width: 27.5vw;
    max-width: 180px;
  }
  .result-tbl th, .result-tbl .cast, table.result-tbl td:last-child {
    font-size: 80%;
    color: var(--text-subdued);
  }
  .result-tbl tbody {
    display: flex;
    gap: .5rem;
    flex-direction: column;
  }
  .result-tbl .release_date {
    font-size: 75%;
    width: 21.5vw;
      max-width: 120px;
      flex-shrink: 0;
      text-align: center;
    color: var(--text-subdued);
  }
  .result-tbl tbody tr {
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: .5rem;
  }
  .result-tbl .ttl {
    flex: 1;
  }
  .result-tbl .ttl a {
    font-weight: 700;
    color: var(--text);
    line-height: 1.2;
    display: block;
    font-size: 13px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }
  .result-tbl .cast {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .result-tbl .cast a {
    display: inline;
    color: var(--text-subdued);
  }

  .result-tbl .jacket {
    padding: 0;
  }

  .result-tbl .jacket img {
    max-width: 360px;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    border-radius: 0;
    object-fit: cover;
    background-color: var(--surface-subdued);
  }



  .ranking-actress td:nth-of-type(2) {
    padding-left: 0;
  }
  .tbllist.actress a img { width: 100%; 

    /* min-width: 70px;  */

    height: auto;}

  .ranking-actress td:nth-of-type(3),  .tbllist.free td:nth-of-type(3), .list-table .tbllist.actress td:nth-of-type(2) {text-align: left;}

  .tbllist.free .ttl {
    font-size: calc(.25vw + 13px);
  }

  .prof-table h2 {font-weight: normal;}

  .tbllist.av .ttl a, .tbllist.free .ttl a {
    color: var(--text);
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    line-height: 1.15;
  }
  .tbllist.av .cast, .details .tbllist.free .cast { margin: 5px auto;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .details .tbllist.free .cast { -webkit-line-clamp: 1;margin: 0px auto 0;}
  .tbllist.av .moza {
    position: absolute;
    color: var(--surface);
    background-color: var(--border-border-critical-hover);
    padding: 6px 2px 5px;
    font-weight: bold;
    font-size: 70%;
    letter-spacing: -.2pt;
    border-radius: 2px;
    left: 20px;
    bottom: 10px;
    width: 70px;
    display: none;
    text-align: center;
  }

  .act-thumb {
    width: 20vw;
    height: 20vw;
    max-width: 120px;
    max-height: 120px;
    display: block;
    overflow: hidden;
    border-radius: 70px;
    position: relative;
    margin-bottom: 6px;
    margin: 0 auto;
  }



  .one-column .act-video-list .tbllist.av .ttl a, .one-column .act-video-list .tbllist.av .cast { 
    -webkit-line-clamp: 2;
  }
  .one-column .act-video-list .tbllist.av .cast { 
    margin: 4px auto;
  }



  /* .tbllist.free th:first-child, .tbllist.free td:first-child { display: none;} */


  .tbllist p.furi a, .tbllist.av .cast a, .tbllist.free .cast a, .free-video-list ul li .cast a, .free-video-list ul li .furi {
    color: var(--text-subdued);
    font-weight: bold;
  }

  .av-area a.av-jacket {
    overflow: hidden;
    border-radius: 0px;
    display: block;
    width: 100%;
    max-height: inherit;
  }

  .av-area a.av-jacket img {
    width: 100%;
    height: auto;
    /* aspect-ratio: 4 / 3; */
    /* aspect-ratio: 16 / 11; */
    object-fit: contain;
    background-color: var(--surface);
    max-height: 480px;
  }

  .list-table.free form {
    padding: 0px;
  }

  /*AV details */
  .prof-table tr {}
  .free-area {
    padding: 0 20px;
    position: relative;
  }

  .prof-table td:first-child { width: inherit;}
  #main-area .prof-table h2 { margin: 0 auto;}


  .main-column.details .av-data .btn-area { 
    margin-bottom: 0;
    padding: 0;
  }
  .main-column.details .av-data .btn-area .btnlnk { 
  margin-bottom: 0;
  }

  .av-area a {
    display: block;
    text-align: center;
  }
  .main-column h1 span {     margin-left: 0.25rem;  font-size: 62%; display: inline-block;font-weight: bold;    color: var(--text-subdued);}

  .main-column.details h1 span { font-size: 11px; color: var(--text-subdued); }
  .main-column h1 .cnt {    display: block;
    margin: 0 auto;
    font-size: 72.5%; }

  .av-data .prof-table tr:first-child {display: none;}
  .act-profile table td, .av-data .prof-table tr, .free-data tr td { display: grid;
    align-items: center;
    justify-content: space-between;
    grid-template-columns: auto auto;
    overflow: hidden;
    gap: 16px;
    padding: 4px 0;
    line-height: 1.2;
  }
  .act-profile table td p {
    line-height: 1.2;
  }
  .av-data .prof-table tr:last-child {
    justify-content: flex-end;
    gap: 0;

  }
  .av-data .prof-table .btnlnk.smbtn {
    margin:  0 0;
    width: inherit;
    font-size: 11px;
    padding: 8px 12px;
  }


  .act-profile {position: relative;}
  .act-profile:before {
    background-color: transparent;
    border-radius: 0;
    color: var(--icon);
    content: "女優データ";
    padding: 18px 22px;
    position: absolute;
    font-size: clamp(10px, calc(.25vw + 11px), 14px);
    left: 0px;
    top: 0px;
    letter-spacing: 0.1pt;
    font-weight: 700;
  }


  .details .act-profile:not(.active):after { 
    content: "すべて表示";
    font-size: 11px;
    letter-spacing: 0.1pt;
    font-weight: 700;
    width: 100%;
    height: 9vh;
    background: rgb(255,255,255);
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%);
  text-align: center;
  line-height: 13vh;
  color: var(--text-info);
    position: absolute;
    left: 0;
    bottom: 0;
    cursor: pointer;
    display: none;
  }



  .Dark .act-profile:not(.active):after {background: rgb(255,255,255);
    background: linear-gradient(180deg, rgba(40,40,51,0) 0%, rgba(40,40,51,1) 50%);}


  .act-profile table td {text-align: right;}
  .free-area .thumb { width: 100%; border-radius: 4px; overflow: hidden;}
  .free-area .thumb a { 
    display: block;
    position: relative;
    width: 100%;
    height: 56vw;
  }
  .free-data tr td { grid-template-columns: auto 60vw; }
  .free-data tr td p > img {
      width: 12px;
      float: left;
      vertical-align: bottom;
      margin-right: 8px;
  }
  /* 
  .act-profile table tr:first-child {display: none;} */

  .act-profile table span, .av-data .prof-table td:first-child, .free-data tr td span:first-child {
    background-color: var(--surface-base);
    color: var(--icon);
    border-radius: 50px;
    align-self: center;
    padding: 6px 10px;
    font-size: 80%;
    font-weight: bold;
    min-width: 68px;
    text-align: center;
  }

  .av-data .prof-table td:first-child[colspan="2"] {
    background-color: transparent;
    padding: 20px 0px 0;
    font-size: 11px;
    line-height: 1.1;
  }
  .av-data .prof-table tr:last-child td:first-child[colspan="2"] {
    padding: 0px 0px;
  }

  .act-profile table a {
    display: inline-block;
    overflow-wrap: anywhere;
  }


  .main-column.details .btn-area {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0;
    padding: 0px 0px;
    gap: 8px;
  }


  .details .thumb .btn-area {
    display: block;
      position: absolute;
      width: 100%;
      text-align: center;
      bottom: 0;
  }
  .details .thumb .btn-area a.btnlnk.fnz {
    display: inline-block;
    margin: 0 auto;
    text-align: center;
    padding: 9px 4px;
    font-size: 11px;
    background-color: rgba(255, 255, 255, .85);
    border-radius: 0px 0px;
    max-width: 220px;
    font-weight: 800;
    max-width: initial;
    color: var(--red-500);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
    vertical-align: bottom;
  }




  /* アニメーションのキーフレームを定義 */
  @keyframes colorChange {
    0% { background-color: #f3dd79; }    /* 元の色（薄い黄色） */
    25% { background-color: #ffb3ba; }   /* 薄いピンク */
    50% { background-color: #bae1ff; }   /* 薄い青 */
    75% { background-color: #baffc9; }   /* 薄い緑 */
    100% { background-color: #f3dd79; }  /* 元の色に戻る */
  }

  /* 既存のスタイルにアニメーションを追加 */
  .main-column.details #mgs-header li.liclass_afflink a.aclass_afflink {
    display: inline-block;
    padding: .35rem 0;
    border-radius: 0px;
    background-color: #f3dd79;
    animation: colorChange 8s infinite;  /* 8秒で1周期、無限に繰り返し */
    transition: all 0.3s ease;          /* スムーズな変化 */
  }


  .main-column.details #mgs-header a.aclass_afflink p.pclass_afflink {
    display: inline-block;
    background-image: url(../top_center_bn/images/mgs-50off-sale-img.webp);
    width: 100vw;
    max-width: 540px;
    height: 30vw;
    vertical-align: bottom;
    text-indent: -9999em;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    padding: 0;
    border-radius: 0px;
    background-color: transparent !important;
  }

  .main-column.details #mgs-header .o7gp7ox a.aclass_afflink p.pclass_afflink {
    background-image: url(../top_center_bn/images/mgs-ultra-summer-sale-img.webp);
  }

  .main-column.details #mgs-header .jgjjyp2 a.aclass_afflink p.pclass_afflink {
    background-image: url(../top_center_bn/images/mgs-jgjjyp2-img.webp);
  }

  .main-column.details #mgs-header .my242cp a.aclass_afflink p.pclass_afflink {
    background-image: url(../top_center_bn/images/mgs-my242cp-img.webp);
    height: 21vw;
  }



  .main-column.details .btn-area form input[type="submit"] {
    background-color: var(--surface-info);
    color: var(--text-info);
    border-radius: 20px;
    font-weight: 700;
    max-width: 100%;
    overflow: hidden;
    padding: 10px 12px;
    vertical-align: bottom;
    font-size: 80%;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
    margin: 0px;
    margin-bottom: 15px;
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
  }

  .main-column.details h5 + .btn-area {
    justify-content: flex-end;
    padding: 6px 16px 12px;
  }
  .main-column.details h5 + .btn-area .btnlnk {
    margin-bottom: 0;
    padding: 10px 22px;
    font-size: 11px;
  }



  .main-column.details .btn-area form.add_favorite input[type="submit"] {
    margin: 0;
    padding: 0 10px 0 26px;
    width: auto;
    height: 28px;
    /* text-indent: -9999em; */
    border: 0;
    color: var(--border-border-critical-hover);
    background-color: var(--surface);
    border-radius: 4px;
    border: 1px solid var(--border);
    font-size: 10px;
    
  }
  form.add_favorite:before {
    background-color: var(--border-border-critical-hover);
  }
  form.add_favorite {
  order: 1;
  position: absolute;
  right: 20px;
  top: -2.45rem;
  }

  ul.sns-btn {
    margin: 0px 0;
    gap: 0px;
    justify-content: space-evenly;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, max-content);
    grid-gap: 6px;
    height: auto;
    place-items: center;
    order: 1;
    position: absolute;
    right: 20px;
    top: -2.45rem;
    }
    ul.sns-btn li {
    width: 100%;
    height: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 80%;
    font-weight: bold;
    border-radius: 0;
    }
    ul.sns-btn li a {
    display: flex;
    align-items: center;
    gap: 3px;
    background-color: var(--surface);
    color: var(--icon);
    border-radius: 50px;
    align-self: center;
    padding: 8px 8px;
    }
    ul.sns-btn li i {
    width: 14px;
    height: 14px;
    position: relative;
    display: inline-block;
    background-position: center center;
    background-color: var(--icon);
    text-indent: -9999em;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-size: 100%;
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
    }
    ul.sns-btn li span {display: none;}


  a.btnlnk.ply {
    position: relative;
    text-decoration: none;
    padding: 0px;
    width: 24px;
    height: 24px;
    display: block;
    font-weight: bold;
    border-radius: 50px;
    margin: 4px auto;
    background-color: var(--band-500);
    color: var(--surface-info);
    text-indent: -9999em;
  }
  .list-table a.btnlnk.ply, .free-area a.btnlnk.ply { margin: 0px auto; }
  .free-area a.btnlnk.ply {
    background-color: var(--band-disabled);
  }


  a.btnlnk.ply:before, form.add_favorite:before, .act-area .act-rank:before {
    content: "";
    position: absolute;
    left: 9px;
    top: 9px;
    z-index: 0;
  }
  form.add_favorite:before {
    left: 8px;
    top: 7px;
    z-index: 1;
  }

  .act-area .act-rank:before {
    left: 11px;
    top: 8px;
  }
  a.btnlnk.ply:before {
    background-color: var(--surface);
    left: 6px;
    top: 6px;
    width: 50%;
    height: 50%;
  }

  /* .main-column.details .btn-area .btnlnk.off {
  display: none;
  } */


  form.add_favorite.static {
    position: relative;
    margin: 0;
    right: inherit;
    top: inherit;
  }
  form.add_favorite.static  .btnlnk {
    border: 0;
  }

  form.add_favorite.static:before, .main-column.details .btn-area .fb_iframe_widget, .twitter-share-button {display: none;}


  .free-area a.btnlnk.ply {
    position: absolute;
    display: block;
    top: calc( 42% - 28px);
    left: calc( 50% - 28px );
    width: 56px;
    height: 56px;
    background-color: var(--surface);
  }
  .free-area a.btnlnk.ply::before {
    left: 15px;
    top: 15px;
    background-color: var(--band-500);
  }
  .free-area .btn-box {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: center;
    justify-content: flex-end;
    padding: 0;

  }
  .free-area a.btnlnk, .free-area .btnlnk, .av-data .btn-area .btnlnk {
    display: inline-block;
    padding: 8px 12px;
  }
  .free-area a.btnlnk.smbtn, .free-area .btnlnk.smbtn, .av-data .btn-area .btnlnk {
    font-size: 10px;
    margin: 8px 0 0;
  }


  .act-area {
    display: grid;
    gap: 0px;
    column-gap: 0;
    row-gap: 0px;
    position: relative;
    grid-template-columns: 50vw auto;
    grid-template-rows: 1fr;
    align-items: center;
  }
  .act-area .thumb {
    width: 100%;
    height: 49.5vw;
    position: relative;
    grid-row: 1 / 3;
    grid-column: 1 / 2;
    border-radius:0;
    overflow: hidden;
    align-self: self-start;
  }
  .act-area .radar-chart-2, .act-area .rate-table {
    align-self: flex-end;
    justify-self: center;
    margin-bottom: 5px;
  }
  .act-area .radar-chart-2 {
    width: 32.5vw;
    height: 32.5vw;
  }
  .act-area .act-rank {
    position: relative;
    color: var(--surface);
    background-color: var(--yellow-200);
    padding: 6px 20px 7px 30px;
    font-weight: bold;
    font-size: 75%;
    letter-spacing: -.2pt;
    width: auto;
    width: 70%;
    font-weight: 800;
    margin: 0 0 0% 10%;
    border-radius: 0;
    grid-row: 1 / 2;
    grid-column: 2 / 3;
    text-align: center;
    align-self: center;
  }
  .act-area .act-rank a {color: var(--yellow-700);    padding: 2px 6px 0 0;}
  .act-area .act-rank:before {
    background-color: var(--yellow-700);
  }

  .act-area .act-rank {
    font-weight: bold;
    color: #fff;
  }
  .act-area .act-rank {
  --r: 1.0em; /* control the cutout */
  padding-right: calc(var(--r) + .25em);
  line-height: 1.8;
  clip-path: polygon(-100vw 0,100% 0,calc(100% - var(--r)) 50%,100% 100%,-100vw 100%);
  width: fit-content;
  height: 32px;
  }


  .act-rank::before {
    right: 0px;
    border-left-width: 0.0625rem;
    border-color: rgb(0 0 0 / 1);
  }



  .rate-box {
    display: grid;
    /* align-self: flex-start; */
  }
  .act-area .act-rank a span { font-size: 130%;
    font-weight: 800;
    display: inline-block; }

  .act-area .rate-table {
    /* background-color: var(--icon-interactive); */
    border-radius: 0px;
    font-size: 11px;
    width: calc(100% - 40px);
    margin: 5px auto 10px;
  }
  .act-area .rate-table tr {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0px;
  }
  .act-area .rate-table td { width: auto; padding: 0 0; vertical-align: middle;}
  .act-area .rate-table td img {}
  .act-area .rate-table td:first-child {
    width: 75px;
  }
  .act-area .rate-table td:nth-of-type(2) {
    background-color: #CCC;
    border-radius: 50px;
    overflow: hidden;
    padding: 0px 0;
    margin: 0 0;
  }
  .act-area .rate-table td img {}
  .act-area .rate-table td:last-child {
    width: 54px;
    margin: 4px 0;
    text-align: right;
    font-size: 100%;
    letter-spacing: -.2pt;
    font-weight: bold;
  }
  .act-area .rate-table td b {
    font-weight: 800;
  }

  .act-area .thumb img, .act-layout .pickup > a img, .side-history table td img, .free-area .thumb a img, .pickup a img, .act-layout td > a:first-child img, .tbllist.actress a img, .type-act-block table td a:first-child img, .main-column.type-act2 table td a img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    top: 0;
    display: block;
    margin-bottom: 0;
    object-fit: cover;
    position: absolute;
    background-color: var(--border);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;


  }

  .av-data, .act-profile, .free-data, .main-column.add-video-area.type-static, .tab-box {
    font-feature-settings: "halt";
    border: 1px solid var(--border);
    color: var(--text);
    background-color: var(--surface);

    padding: 20px 20px 20px 20px;
    margin: 24px auto 1.75rem;
    border-radius: 12px;
    width: calc(100% - 40px);
  }
  #siro-middle-header {
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  #siro-middle-header a { margin: 0 auto;
    color: var(--text);
    font-size: 12px;
    display: block;
    font-weight: bold;
  }
  #siro-middle-header img {
    margin:  0 auto;
    display: block;
  }

  .act-profile {
    padding: 42px 16px 20px;
    /* height: 22.5vh; */
    overflow: hidden;
    margin-bottom: .75rem;
  }

  .clear + .act-profile {
    margin-top: 0;
  }

  .act-profile.active {
    height: inherit;
  }

  .act-profile .btn-box {
    padding: 12px 0px 0px;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    border-top: 1px solid var(--border);
    margin-top: 12px;
  }

  .tab-box {padding: 4.5vw 0 0px;
    border: 3px solid var(--icon-info);
  }
  .front .tab-box {
    margin: 0 auto;
    padding: 6% 0 0;
    /* width: calc(100vw - 40px); */
    width: calc(100vw - 0px);
    border: 0;
    border-radius: inherit;
  }
  .main-column.add-video-area.type-static {
    margin: 0 auto 0;
    background:  var(--static-box-background);
    border-radius: 12px;
    padding: 30px 0px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    width: calc(100% - 0px);
    border-radius: 0;
    border: 0px;
  }
  .main-column.add-video-area.type-static .desc {
    padding: 0 30px;
  }

  #add-slick.slick-slider .slick-dots li {
    margin: 0 2px;
  }
  #add-slick.slick-slider {
    margin-top: 24px;
  }
  #add-slick.slick-slider .slide {
    padding: 0px;
  }
  #add-slick.slider .inner {
    width: auto;
    flex-direction: column;
    padding: 20px 20px;
    margin: 0 8px;
    gap: 0px;
    background-color: var(--surface-base);
    border: 0;
    border-radius: 8px;
    box-shadow: inset 0 0 0 2px var(--text-info);
  }

  #add-slick.slider .inner .btn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 8px;
    height: 38px;
    width: 90%;
    margin-top: 20px;
    color: var(--text);
    background-color: var(--surface);
  }
  #add-slick.slider .inner .btn p {font-weight: 700;}

  #add-slick.slider form.add_fm_box {height: 38px;}
  #add-slick.slider form.add_fm_box input[type="text"] {
    padding: 4px 10px;
    color: var(--text);
    background-color: var(--surface-base);
    border-radius: 4px 0 0 4px;
  }

  #add-slick.slider form.add_fm_box input[type="submit"] {
    padding: 4px 12px;
    margin: 0px auto;
    font-size: 12px;
  }


  .front #main-area #add-slick.slider .inner h2 {
    font-size: 16px;
    align-self: flex-start;
    margin: 0 0 8px;
    padding: 0;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
  }
  #add-slick.slider .inner[data-category="addfree"] h2 {
    color: var(--surface-primary);
  }

  #add-slick.slider .inner[data-category="addactress"] {
    box-shadow: inset 0 0 0 2px var(--surface-critical-strong);
  }
  #add-slick.slider .inner[data-category="addactress"] h2 {
    color: var(--surface-critical-strong);
  }
  #add-slick.slider .inner[data-category="addactress"] .btn {
    color: var(--surface-base);
    background-color: var(--surface-critical-strong);
  }
  #add-slick.slider .inner[data-category="addactress"] .btnlnk i {
    background-color: var(--surface-base);
  }

  #add-slick.slider .inner[data-category="addav"] h2 {
    color: var(--surface-primary);
  }
  #add-slick.slider .inner[data-category="addav"] .btn {
    color: var(--surface-base);
    background-color: var(--surface-primary);
  }
  #add-slick.slider .inner[data-category="addav"] .btnlnk i {
    background-color: var(--surface-base);
  }


  .add-video-area .inner p {
    line-height: 1.4;
    font-size: 12px;
    font-weight: normal;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .act-area .btn-box, 
  .av-data .btn-area {
    /* grid-row: 2 / 2;
    grid-column: 2 / 3; */
    align-self: center;
    justify-self: center;
    
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    display: grid;
    align-items: center;

    justify-content: center;
    gap: 1rem;
    column-gap: 5px;
  }

  .ratebtn, .act-area .btn-box .ratebtn, .navbar .login a, .navbar .register a, .navbar .logout a {
    color: var(--surface);
    background-color: var(--icon-interactive);
    padding: 10px 12px;
    margin: 0 auto;
    max-width: 160px;
    border-radius: 60px;
    font-weight: 700;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 12.5px;
  }

  .ratebtn {
    color: var(--surface);
    background-color: var(--red-500);
    text-align: center;
  }

  .ranking-table .tbllist.actress .ratebtn {
    max-width: 100px;
    display: block;
    font-size: 11px;
    padding: 10px 6px;
  }


  .ratebtn .pc {
    display: none;
  }

  .ratebtn:hover {
    color: var(--surface);
    background-color: var(--red-700);
  }

  .list-table .tbllist .ratebtn {
    /* width: 20vw; */
    overflow: hidden;
    display: block;
    max-width: 120px;
  }



  .navbar .login a {
    color: var(--surface);
    background-color: var(--icon-interactive);
  }


  .act-area .btn-box .ratebtn {
    grid-row: 1 / 2;
    grid-column: 1 / 3;
    font-size: 12px;
  }


  .act-area .ratebtn {
    /* grid-row: 2 / 2;
    grid-column: 2 / 3; */
    align-self: center;
    justify-self: center;
    padding: 12px 18px;
    margin: .5rem auto;
    max-width: 160px;
    font-size: 12px;
    font-weight: 800;
    width: 70%;
    background-color: var(--red-500);

  }


  .btn-box {
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  }
  .btn-box .btnlnk { 
    font-size: 9px;
    background-color: var(--surface-info);
    color: var(--text-info);
    border-radius: 20px;
    font-weight: 700;
    overflow: hidden;
    padding: 8px 10px;
    vertical-align: bottom;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
    margin: 0px;
  }

  .btn-box .btnlnk.addbtn { 
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--icon-info);
    padding: 10px 6px;
    border-radius: 6px;
    color: var(--text-on-color);
    background-color: var(--icon-info);
    font-size: 10.5px;
  }

  .btn-box .btnlnk.nmlbtn {
    font-size: 13px;
    padding: 12px 24px;
    display: block;
    margin: 0 auto;
    max-width: 60%;
    text-align: center;
  }



  .act-video-list table tr:first-child, .details table.free tr:first-child {
  display: none;
  }
  .act-video-list table tr:not(:first-child), .details table.free tr:not(:first-child) {
    width: 100%;
    position: relative;
    display: grid;
    gap: 0px;
    column-gap: 15px;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
  }
  .details table.free tr:not(:first-child) {
    grid-template-columns: auto auto 1fr;
  }

  .act-video-list table tr:nth-child(2n+1) {
    /* display: none; */
  }


  .details table.free tr:last-child td[colspan="5"] {
    width: inherit;
    grid-row: 1 / 2;
    grid-column: 1 / 5;
    padding: 20px;
  }
  .details .tbllist td[colspan="5"] .nocnt {
    font-size: 12px;
    padding: 30px 10px;
  }

  .free-data table {
    width: 100%;
  }
  .free-data table a {
    overflow: hidden;
    text-overflow: ellipsis;
    position: relative;
  }


  .details .search_result_free table {
    background-color: var(--surface);
    border: 1px solid var(--border);
    margin: 0px 20px 20px;
    border-radius: 8px;
    width: calc(100% - 40px);
  }



  .details .search_result_free table.free tr:not(:first-child) {
    grid-template-columns: auto auto auto auto;
    gap: 0;
    column-gap: 0;
  }

  .details table.free td.chbox {
    z-index: 1;
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    padding: 0px;
    position: absolute;
    left: 30px;
    top: 5px;
  }




  .details table.free td.sort {
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    padding: 0;
  }


  .details .search_result_free table.free td.thumbimg {
    grid-row: 1 / 3;
    grid-column: 2 / 3;
    padding: 12px 0px 12px;
  }
  .details .search_result_free table.free td:nth-of-type(4) {
    grid-row: 1 / 3;
    grid-column: 3 / 4;
    align-self: center;
  }
  .details .search_result_free table.free td:nth-of-type(5) {
    grid-row: 1 / 3;
    grid-column: 4 / 5;
  }

  .main-column.details .search_result_free table h5 {
  padding: 0px 0px 8px;
  font-size: 13px;
  font-weight: 700;
  }

  .details table.free tr a.btnlnk.ply {
    display: block;
  }


  .lazy {
    opacity: 0;
    transition: opacity 0.3s;
  }
  .lazy.loaded {
    opacity: 1;
  }

  /* 情報ブロックのスタイル */
  .info-blocks-section {
    margin: 1.75rem 0;
    padding: 0;
  }

  .info-block {
    align-items: center;
    flex-direction: column;
    display: flex;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0;
    margin: .5rem auto;
    align-items: flex-start;
  }


  .block-title {
    font-size: 14px;
    font-weight: bold;
    margin: 0 0 0px 0;
    color: var(--text);
    display: flex;
    align-items: center;
    padding: 12px 20px 6px;
  }

  .block-title i {
    font-style: normal;
    margin-right: 6px;
    width: 16px;
    height: 16px;
    display: inline-block;
  }

  .icon-maker::before { content: "🏭"; }
  .icon-label::before { content: "🏷️"; }
  .icon-calendar::before { content: "📅"; }
  .icon-actress::before { content: "👩"; }

  /* 既存のtag-grid-listスタイルを継承 */
  .info-block .tag-grid-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
  }
  .info-block .tag-grid-list {
    display: inline;
  }
  .info-block .tag-grid-list li {
    margin: 0;
    display: inline-block;
  }

  .info-block .tag-grid-list a {
    display: block;
    padding: 8px 12px;
    background: var(--surface);
    border: 0px solid var(--border);
    border-radius: 6px;
    text-decoration: none;
    color: var(--text-subdued);
    font-size: 13px;
    transition: all 0.2s ease;
    position: relative;
  }

  .info-block .tag-grid-list a:hover {
    background-color: var(--surface-info);
    color: var(--text-info);
    /* transform: translateY(-1px); */
  }



  /* スマートフォン対応 */
  @media (max-width: 768px) {
    .info-block .tag-grid-list {
        grid-template-columns: 1fr;
    }
    
    .info-block .tag-grid-list a {
        padding: 12px 16px;
        font-size: 14px;
    }
  }

  /* タブレット対応 */
  @media (min-width: 769px) and (max-width: 920px) {
    .info-block .tag-grid-list {
        grid-template-columns: repeat(2, 1fr);
    }
  }

  /* 品番コピー機能のスタイル */
  .product-code-copy {
    cursor: pointer;
    padding: 0px;
    border-radius: 4px;
    transition: all 0.2s ease;
    display: inline-block;
    position: relative;
    font-weight: 500;
    border: 0px solid var(--border);
    background-color: var(--surface);
  }

  .product-code-copy:hover {
    background-color: var(--surface-hover);
    transform: translateY(-1px);
    box-shadow: inherit;
  }

  .product-code-copy:active {
    background-color: transparent;
    transform: translateY(0);
    box-shadow: inherit;
  }

  .copy-icon {
    margin-left: 1px;
    font-size: 12px;
    opacity: 0.7;
  }

  .copy-feedback {
    position: absolute;
    left: .75rem;
    white-space: nowrap;
    bottom: 75%;
    font-size: 11px;
    font-weight: bold;
    border-radius: 8px;
    animation: fadeInOut 2s ease-in-out;
  }

  @keyframes fadeInOut {
    0% { opacity: 0; transform: translateY(12px); }
    20% { opacity: 1; transform: translateY(0); }
    80% { opacity: 1; transform: translateY(0); }
    100% { opacity: 0; transform: translateY(0); }
  }

  /* スマートフォン対応 */
  @media (max-width: 768px) {
    .product-code-copy {
        padding: 6px 0px;
    }
    
    .copy-icon {
    }
  }



  /* --- 表示モード共通スタイル --- */
  .av-list-container .av-item {
    box-sizing: border-box;
  }
  .av-list-container .av-item a {
    text-decoration: none;
    color: inherit;
    display: inline-block;
  }

  .av-list-container .av-item .jacket {
    text-align: center;
  }
  .av-list-container .av-item .jacket img {
    border: 0;
  }
  .av-list-container .av-item .details {
    /* 詳細エリア共通スタイル (必要なら追加) */
  }
  .av-list-container .av-item .ttl {
    font-size:clamp(12px, calc(.25vw + 12px), 13px);
    line-height: 1.3;
    margin: 0 0 .5rem;
  }
  .av-list-container .av-item .ttl a {
    color: var(--text);
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    line-height: 1.15;
  }


  .av-list-container .av-item .cast, .av-list-container .av-item .maker-label {
    font-size: 12px;
    line-height: 1.2;
    margin: 0;
    font-weight: bold;
    color: var(--text-subdued); /* リンク色 */
  }
  .av-list-container .av-item .maker-label {
    font-weight: normal;
    display: flex;
    gap: .35rem;
    margin-bottom: .5rem;
    flex-direction: column;
    font-size: 11px;
  }

  .grid-view .av-list-container .av-item .maker-label {
    flex-direction: column;
  }



  /* .maker-label .label { margin-left: .5rem;} */

  .av-list-container .av-item .maker-label a {
    font-weight: bold;
  }
  .av-list-container .av-item .release-date {
    font-size: 11px;
    color: var(--text-subdued); /* リンク色 */
  }

  /* --- グリッド表示用スタイル --- */
  .main-column.grid-view .av-list-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 10px 0;
    gap: .75rem;
    row-gap: 1.25rem;
    width: calc(100% - 32px);
  }
  .main-column.grid-view .av-item {
    width: 100%;
    margin: 0 auto;
  }

  .main-column.grid-view .av-item .jacket a {
    display: block;
    width: 100%;
  }
  .main-column.grid-view .av-item .jacket img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    border-radius: .375rem;
    object-fit: cover;
    background-color: var(--surface-subdued);
  }
  .main-column.grid-view .av-item .details {
    margin-top: 8px;
  }
  .main-column.grid-view .av-item .ttl {
    overflow: hidden;
  }
  .main-column.grid-view .av-item .cast {
    overflow: hidden;
    margin: .25rem auto;
  }
  .main-column.grid-view .av-item .release-date {
    text-align: left;
    margin-top: .5rem;
  }

  .section-block {
    margin: 1rem auto;
    background: var(--surface);
    padding: 1.5rem;
    border-radius: 8px;
    color: var(--text);
    border: 1px solid var(--border);
  }

  .one-column .section-block .edit_area {
    margin: .75rem auto 0;
    padding: 0;
    border: 0;
  }

  .ranking-table .headline {
    padding-top: .5rem;
    padding-bottom: .5rem;
    justify-content: end;
  }


    /* --- フィルタバー --- */
    .filters {
      display:grid;
      gap:.75rem;
      grid-template-columns: 1fr;
      padding: .5rem 1.25rem 1.25rem;
      margin: 0 auto 1rem;
      width: calc(100% - 32px);
      background: var(--surface);
      border: 2px solid var(--border);
      border-radius: 8px;
        }
    .filters .row { display:flex; flex-wrap:wrap; gap:.75rem; row-gap:0rem; align-items:flex-end; }
    .filters label.lbl { display:block; font-weight:700; font-size:.75rem; margin-bottom:.25rem }
    .filters .field { flex: 1; min-width:120px }
    .filters .field--search {}
    .filters select, .filters input[type="text"], .input-cast  {
      font-size: 13px;
      font-weight: bold;
      width:100%; padding:.5rem; border:1px solid var(--border); border-radius:6px; background:var(--surface-base);
    }
    .filters select {max-width:160px;}
    .filters .actions { margin-left:auto; margin-top: .9rem; display:flex; gap:.5rem; align-items:flex-end; }
    .filters .btn, .actress-add-block .btn {
          font-weight: 700;
      padding: .65rem 1.0rem;
      font-size: .8rem;
      border-radius: 6px;
      border: 0;
      text-align:center; 
      cursor: pointer;
      min-width: 100px;
    }
    .filters .btn--apply, .actress-add-block .btn { color:var(--text-on-color); background:var(--icon-info);     border: 1px solid var(--icon-info);}
    .filters .btn--reset, .clear-btn { color:var(--icon); background:var(--surface); border:1px solid var(--border); text-decoration:none; display:inline-block; }


    .books-list .sort-block {
      display: flex;
    }
    .books-list .sort-block label, .books-list .range-fields label {
      display: flex;
      white-space: nowrap;
      margin: 0;
      align-items: center;
      padding: 4px 2px;
    }
    .books-list .filter-block form select {
      font-size: 13px;
      font-weight: bold;
      width: 100%;
      padding: .5rem;
      margin: 0;
      min-width: 80px;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: var(--surface);
    }



    /* --- 女優カードグリッド --- */
    .amateur-box.actress-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0rem;
      row-gap: .75rem;
      overflow: hidden;
      width: 100%;
      padding: 0 16px;
      margin-bottom: 0;
    }
    .amateur-box.actress-grid .actress-info {
      width:22.5vw;
      min-width: inherit;
      max-width: 150px;
      grid-row: 1 / 3;
      margin-top:0;
    }
    
    .amateur-box .actress-card {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: 1fr auto;
      flex-direction: row;
      justify-content: space-between;
      gap: .5rem;
      row-gap: .25rem;
      margin: 0 auto ;
      padding: 10px;
      background-color: var(--surface);
      border: 0px solid var(--border);
      border-radius: 6px;
      width: calc(100% - 0px);
      max-width: 460px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    }
    .front .amateur-box .actress-card {
      width: 75vw;
      max-width: 460px;
    }
    .amateur-box.actress-grid .actress-card:hover {
      transform: inherit;
      border: 0px solid var(--surface-active);
    }
    .amateur-details .actress-container .actress-card {box-shadow: inherit; display: flex;flex-direction: row; gap: 0.25rem; width: 100%; justify-content: center;}

    .amateur-details .actress-card { 
      background-color: var(--surface-critical);
          border: 1px solid var(--surface-critical);
    }
    .amateur-details .actress-card:hover { 
          border: 1px solid var(--surface-critical);
    }


    .amateur-details .actress-container .actress-card .actress-photo {
      margin: 0px;
      border: 3px solid var(--border);
    }
    .amateur-details .actress-container .actress-card .actress-info {    flex-grow: inherit;}
    .amateur-details .actress-container .actress-card:hover {    transform: inherit;
      border: 1px solid transparent;}
      .amateur-details .actress-container .actress-card .actress-name { 
      color: var(--red-500);font-size:clamp(13px, calc(1.0vw + 14px), 20px);}
    .main-column.details .actress-add-block h5.title {
      padding: 0px 0px 0px;
      margin: 0;
    }

    .amateur-box .actress-info {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.25rem;
      min-width: 100px;
    }
    
    .amateur-box .actress-info a {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2px;
      text-decoration: none;
    }
    
    .amateur-box .actress-info img {
      max-width: 150px;
      border-radius: 50%;
      aspect-ratio: 1/1;
      object-fit: cover;
      border: 3px solid var(--surface-critical);
    }
    
    .amateur-box .actress-info strong {
      color: var(--red-500);
      font-weight: 700;
      text-align: center;
      font-size: 14px;
      white-space: nowrap;
      line-height: 1.2;
    }
    
    .actress-cardx .actress-info ruby, .amateur-box .actress-info ruby {
      font-weight: 600;
      font-size: 10px;
      color: var(--text-subdued);
    }
    
    .work-count {
      background: var(--surface-critical);
      color: var(--red-500);
      padding: 4px 12px;
      border-radius: 20px;
      font-size: 12px;
      font-weight: bold;
      margin-top: 8px;
    }
    
    .works-preview {
      width:100%;
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 0.5rem;
      overflow-x: auto;
      padding: 0 0 5px;
    }
    
    a.mini-work {
      color: var(--text);
      font-weight: 700;
      font-size: 13px;
      gap: .15rem;
      display: flex;
      flex-direction: column;
      text-decoration: none;
      flex-shrink: 0;
    }
    
    .actress-grid .mini-work img {
      border-radius: 4px;
      width: 17.5vw;
      height: 17.5vw;
      max-width: 110px;
      max-height: 110px;
      aspect-ratio: 1/1;
      object-fit: cover;
      margin:0;
      transition: transform .3s ease;
    }
    

    .mini-work span {
      font-size: 10px;
      line-height: 1.2;
      overflow: hidden;
      display: -webkit-box;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      color: var(--text);
    }
    
    .more-works {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      min-width: 100px;
      gap: 0.5rem;
      flex: 1;
      grid-column: 2 / 3;
    }
    
    .more-works .btn, .btn-seeall {
      color: var(--text);
      background: var(--surface);
      border: 1px solid var(--border);
      padding: 8px 8px;
      border-radius: 4px;
      text-decoration: none;
      font-size: 10px;
      width: 100%;
      font-weight: bold;
      text-align: center;
    }
    
    .more-works .btn:hover {
      background: var(--surface-critical);
      color: var(--red-500);
    }
    .btn-seeall:hover {
      color: var(--text-info);
      background-color: var(--surface-info);
      border-color: var(--surface-info);
    }

    /* --- ページネーション --- */

    .page-count, .countline {
      padding:2rem 0 0; 
      text-align:center;     
      font-size: 80%;
      font-weight: bold;
      color: var(--text-subdued);
    }
    .countline {
      padding: 0rem 20px .5rem;
      text-align: left;
    }

    /* --- レスポンシブ --- */
    
    @media (min-width: 744px) {
      .amateur-box.actress-grid {
        padding: 0;
        margin: 0 auto 2rem;
        width: calc(100% - 80px);
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
      }
      .amateur-box.actress-grid .actress-info {width: 12vw;}
      .amateur-box .actress-card { width: calc(100% - 0px);}
      .filters {
        width: calc(100% - 80px);
        margin: 0 auto 1.75rem;
      }

      .actress-grid .mini-work img {
        width: 12.5vw;
        height: 12.5vw;
        max-width: 80px;
        max-height: 80px;
      }
      
    }
    
    @media (min-width: 920px) {
      .amateur-box.actress-grid {
        width: calc(100% - 0px);
      }
      .amateur-box .actress-card { width: calc(100% - 0px);}
      .filters { margin: 0 auto 1.75rem;width: calc(100% - 0px);}
      .main-column.amateur h1 {padding: 24px 0px 20px;}
    }
    
    
    @media (min-width: 1024px) {
      .amateur-box.actress-grid {
        margin: 0 auto 0;
      }
      .filters {
        margin: 0 auto 1.75rem;
        max-width: 1200px;
      }
    }

    .grid.amateur-list {display:grid;grid-template-columns:repeat(auto-fill, minmax(134px, 1fr)); padding:0 0px; gap: .5rem; row-gap: 1.25rem;}
    .amateur-list .card{border:0;border-radius:6px;overflow:hidden;box-shadow: 0 0 0 1px var(--border) inset;background:var(--surface)}
    .thumb{display:inline-block;width:100%;overflow:hidden;background-color:var(--border);min-height:100px;}
    .thumbimg, .mini-work img {transition:transform .3s ease;display:block;width:100%;aspect-ratio:1/1;object-fit:cover;}

    .thumb:hover .thumbimg, .mini-work:hover img, .other-work-card a:hover .thumb img {transform:scale(1.05)}

    .ct{padding:.5rem .75rem 1.0rem}
    .ttl{font-weight:700;margin:0 0 6px;font-size:14px;line-height:1.5;overflow:hidden}
    .ttl a{text-decoration:none;color:var(--text)}
    .sub{
      padding-left: 1.1rem;
      display:block;
      position: relative;
      color:var(--text-subdued); font-size:.75rem; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; margin:0 0 6px}
    .sub:before {
      content: "";
      background-color: var(--icon);
      width: 12px; height: 12px; top: 0; left: 0; border-radius: 0; position: absolute; display: block;
      -webkit-mask: url(../images/list-text.svg) no-repeat center center / contain;
              mask-image: url(../images/list-text.svg);
    }

      .sub.label:before {
      -webkit-mask: url(../images/copy-icon.svg) no-repeat center center / contain;
              mask-image: url(../images/copy-icon.svg);
    }
    
        .sub.code:before {
      -webkit-mask: url(../images/tag-outline.svg) no-repeat center center / contain;
              mask-image: url(../images/tag-outline.svg);
    }
    
        .sub.release:before {
      -webkit-mask: url(../images/calendar.svg) no-repeat center center / contain;
              mask-image: url(../images/calendar.svg);
    }


    .amateur-list .cast{padding-top:.5rem;margin-top:.5rem;text-align:center}

    .amateur-list .cast span.info{cursor: default;font-size:65%;color:var(--text-subdued);display:block;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
    .amateur-list .cast-info{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--surface-critical);border-radius:50px;padding:4px;margin-top:.75rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
    .amateur-list .cast-info.nocnt{background-color:var(--surface-base);padding:18px;border-radius:6px}
    .amateur-list .actress-thumb{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--surface-critical);flex-shrink:0}

    .amateur-list .cast-info a{color:var(--red-500);font-weight:700;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(13px,calc(.25vw + 12px),15px);display:flex;gap:0;    justify-content: space-between;
      width: 100%;text-decoration:none}

    .amateur-list .cast-info a span { flex:1; flex-direction: column;
      display: flex;gap: 2px;
      align-items: center;}
    .amateur-list .cast-info a span ruby { font-weight:600; font-size:10px;color:var(--text-subdued);} 
    .amateur-list .cast-info a:hover{color:var(--red-500);text-decoration:underline}
    .amateur-list .cast-info.nocnt a, .amateur-list .cast-info.nocnt a:hover{ text-align:center; display:block; color:var(--text-info);font-size:14px; padding:0;}
    .amateur-list .more{    color: var(--text-subdued);
      font-size: 12px;
      margin-left: 0px;
      max-width: 75px;
      font-weight: bold;
      line-height: 1.3;}


    .amateur-list .actress-card>a { gap: 6px; display:flex;flex-direction:column;align-items:center;}

    .mini-works {display:flex;flex-direction:row;align-items:center; gap: .75rem;}

    .mini-work {     color: var(--text);
      font-weight: 700;
      font-size: 85%;
      gap: .5rem;
      display: flex;
      flex-direction: column;
    } 
    .mini-work img {
      border-radius: 4px;
      max-width: 180px;
    }
    .actress-card>a strong, .actress-cardx .name {
      color: var(--red-500);
      font-weight: 700;
      align-items: center;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }

    .amateur-list .actress-card>a ruby {font-weight: 600;
      font-size: 10px;
      color: var(--text-subdued);}

    .amateur-list .actress-card>a img {max-width:150px; border-radius: 300px;}

    /* --- ページャ --- */
    .pagination{display:flex;justify-content:center;align-items:center;}

    .pagination .disabled{pointer-events:none;}
    .muted{color:var(--text-subdued)}


    @media (max-width: 480px) {

    .amateur-list .actress-card>a {
      gap: 4px;
      font-size: 14px;
      }
      .more, .mini-work { font-size:10px; gap: .25rem;}
    .amateur-list .actress-card>a img {
      width: 20vw;
      max-width: 120px;
      }
      .more {position: absolute;
          right: -8px;
          bottom: -6px;
          max-width: inherit;}
      .amateur-list .actress-card {
        gap: .75rem;
        position: relative;
      }
      .mini-works {
        gap: .5rem;
        position: relative;
      }
    }


    .amateur-details .av-area {}
    .amateur-details .jacket-image { 
      min-height: 280px;
      width: 78vw;
      height: 78vw;
      max-width: 400px;
      max-height: 400px;
      aspect-ratio: 1 / 1;
    }
    .amateur-details .actress-block .actress-container { grid-template-columns:1fr; }

    .amateur-details .ama-title {
      text-align: center;
      justify-self: center;
      font-size: clamp(12px, calc(1.0vw + 12px), 15px);
      font-weight: 800;
    }
    .amateur-details .ama-title br {display:inline;}
    .amateur-details .actress-container .actress-item {max-width:inherit;}
    .amateur-details .actress-container {
      grid-template-columns: 1fr;
    }

    .other-works-grid{
      display:grid;
      grid-template-columns: repeat(auto-fill, minmax(160px,1fr));
      grid-gap: .75rem;
      row-gap: 1.25rem;
      margin: 0 20px;
      margin-bottom: 1.75rem;
    }
    .other-work-card{
        border-radius:8px; 
        border: 1px solid var(--border);
        color: var(--text);
            overflow: hidden;
        background-color: var(--surface);    
    }
    .other-work-card .thumb img{ width:100%; height: auto; display:block;aspect-ratio: 1 / 1;
      object-fit: cover; transition: transform .3s ease;}
    .other-work-card .meta{ padding: .5rem .75rem 1.25rem; margin:0 auto;}
    .other-work-card .title{
            font-weight: 700;
        color: var(--text);
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        line-height: 1.35;
        margin-bottom: .35rem;
        font-size: 12.5px;
    }
    .other-work-card .date{ font-size:11px; margin-top:4px;color: var(--text-subdued); }

  .view-switch{display:flex;gap:.5rem;align-items:center; margin: 0px 0;}
  .view-switch a, .view-switch span.current, .headbar .current, .headbar .row a {display:flex;
      align-items: center;
      text-align:center;
      gap: .25em;
      font-size: 11px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;text-decoration:none;background:var(--surface);color:var(--text);font-weight:700;}
  .view-switch a:hover {
      color: var(--text-info);
      text-decoration: inherit;
  }
  .headbar .current, .headbar .row a {display: inline-block;display: inline-flex;    margin: 0 0 4px 2px;}
  .headline.type2 { 
    flex-direction: column;
    align-items: flex-start;
  }

  .view-switch a.on, .view-switch span.current { color: var(--text-info); background:var(--surface);}

  .view-switch a i, .filter-toggle:before {
      position: relative;
      display: inline-block;
      background-color: transparent;
      text-indent: -9999em;
      vertical-align: middle;
      background-repeat: no-repeat;
      background-size: 100%;
      mask-repeat: no-repeat;
      mask-position: center center;
      mask-size: contain;
          width: 16px;
      height: 16px;
      background-color: var(--icon);
      -webkit-mask: url(../images/film.svg) no-repeat center center / contain;
      mask-image: url(../images/film.svg);
  }
  .view-switch a.on i {
      background-color: var(--text-info);
  }
  .view-switch a.actress i {
      -webkit-mask: url(../images/necklace.svg) no-repeat center center / contain;
      mask-image: url(../images/necklace.svg);

  }
  .filter-toggle:before {
      -webkit-mask: url(../images/setting-icon.svg) no-repeat center center / contain;
      mask-image: url(../images/setting-icon.svg);
  }

  .filter-toggle:before {
    content:"";

  }

  .actress-cardx{border:1px solid var(--border);border-radius:6px; background:var(--surface);    overflow: hidden;
      margin-bottom: 0rem;}
  .actress-cardx .hd{display:flex;gap: .75rem;    padding: .75rem .75rem 0;}
  .actress-cardx .action { align-items: center;
      justify-content: center;
      display: flex;
      flex: 1;
      flex-direction: column;
  }



  .actress-cardx .latest-works .btn {
      background-color: var(--surface-base);
      color: var(--icon);
      font-weight: 700;
      align-items: center;
      overflow: hidden;
      white-space: nowrap;
      font-size: 10px;
      display: flex;
      padding: 0 2px;
      border-radius: 6px;
      gap: .5rem;
      text-align: center;
      align-self: stretch;
      border:1px solid var(--surface-base);
      text-decoration: none;
      min-width: 44px;
      max-width: 64px;
      justify-content: center;
  }


  .type-static.filter-tag.label-cloud .tag-grid-list {
    padding: 4px 16px;
      gap: 0.25rem;
      display: flex;
      flex-wrap: wrap;
      row-gap: .75rem;
  }
  .type-static.filter-tag.label-cloud .tag-grid-list a {
      font-size: 12px;
  }


  #side-bar .type-static.filter-tag.label-cloud .tag-grid-list a {
      font-size: 11px;
      padding: .75rem .25rem .75rem 2.0rem;
  }
  #side-bar .type-static.filter-tag .tag-grid-list a i {
      top: 6px;
      left: 6px;
      width: 22px;
      height: 22px;
  }



  .amateur-list {
      display: grid;
      grid-template-columns: 1fr;
      gap: 1rem;
      row-gap: 1.0rem;
      margin: 0 20px;
  }
  .actress-cardx .hd img{
      width: 17vw;
      height: 17vw;
      max-width: 75px;
      max-height: 75px;
      border-radius: 50px;
      object-fit: cover;
      flex: 0 0 auto;
      aspect-ratio: 1 / 1;
      border: 3px solid var(--surface-critical);}

      .actress-cardx .hd .actress-info {
            flex-grow: 0;
            align-items: start;
      }

  .latest-works { display: flex;
      flex-direction: row;
      align-items: center;
          gap: .35rem;
      padding: .75rem;}
  .latest-works img{width:64px;height:64px;border-radius:8px;object-fit:cover;background-color: var(--border);flex:0 0 auto}
  .actress-cardx .name{font-weight:700; font-size: clamp(13px, calc(.5vw + 15px), 20px);}


    .actress-add-block {
        padding: 16px 20px;
        background-color: var(--surface);
        margin: 0 auto 1.75rem;
    }
    .addcast-ui {display:none;}
    .addcast-ui .row { display:flex; gap:8px; margin:8px 0; flex-wrap:wrap; }
    .input-cast { flex:1 1 280px; padding:8px; }
    .btn { padding:8px 14px; }
    .ac-results { margin-top:8px; display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:10px; padding: 0 16px;}

    .ac-section {     grid-column: 1 / -1;
      border-top: 1px solid var(--border);
      margin-top: 8px;
      padding-top: 8px;
      height: auto;
      overflow-y: auto;
      max-height: 400px;
    }

    .ac-section h6 { margin:8px 0; font-size:13px; color:#666; display:flex; align-items:center; gap:6px; }
    .ac-section .count { font-weight:600; color:#333 }

    .ac-card {     margin: 10px auto; border:1px solid var(--border); border-radius:10px; padding:10px; display:flex; gap:10px; align-items:center; background: var(--surface); }
    .ac-card img { width:56px; height:56px; object-fit:cover; border-radius:8px; flex:0 0 56px; }
    .ac-card .name { flex:1; min-width:0; }
    .ac-card .nm { font-size:15px; font-weight:600; }
    .ac-card .sub { font-size:12px; color:#888; margin-top:2px; }
    .ac-card .badges { margin-top:4px; display:flex; gap:4px; flex-wrap:wrap; }
    .ac-badge { font-size:11px; line-height:1; border:1px solid #ddd; padding:3px 6px; border-radius:999px; color:#555; background:#fafafa; }

    .ac-card .sel { margin-left:auto; white-space:nowrap; }
    .note.small { color:#666; font-size:13px; }

  .filter-toggle{
    display:flex;
    align-items:center;
    gap:.25em;
    font-size: 11px;
    padding: 8px 12px;
    color: var(--text);
    font-weight: 700;
    background: var(--surface);
    border:1px solid var(--border);
    border-radius:6px;
    min-width:90px;
    justify-content:space-around;
  }

  .view-switch a:not(.on):hover, .filter-toggle:hover {
          color: var(--text-info);
          background-color: var(--surface-info);
              border-color: var(--text-info);
  }
  .view-switch a:not(.on):hover i, .filter-toggle:hover:before {
    background-color: var(--text-info);
  }

  .filter-toggle:active { opacity:.9; }



    /* --- ヘッダー部分 --- */
    .amateur .actress-header {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: 1fr auto;
      align-items: center;
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 6px;
      flex-direction: row;
      text-align: center;
      padding: 1.5rem;
      gap: 0rem;
      row-gap: 1.25rem;
      margin: 0px 16px .5rem;
    }
    .amateur .actress-header .ratebtn {    max-width: 320px;
      display: block;
      padding: .75rem 1.75rem;
      grid-column: 1 / 3;
      font-size: clamp(13px,calc(.5vw + 13px),17px);
    }
    
    .amateur .actress-header .actress-photo {
      flex-shrink: 0;
      margin: 0 0px;
      width: auto;
      height: auto;
      border-radius: 0;
      max-width: inherit;
      max-height: inherit;
    }
    
    .amateur .actress-header .actress-photo img {
      width: 33vw;
      height: 33vw;
      max-width: 205px;
      max-height: 205px;
      border-radius: 50%;
      object-fit: cover;
      border: 4px solid var(--surface-critical);
    }
    .amateur .actress-header .actress-details {
      flex: 1;
    }
    .actress-details h1, #main-area .actress-details h2 {
      font-size: clamp(16px,calc(.75vw + 22px),30px);
      font-weight: 700;
      color: var(--red-500);
      margin: 0 0 1px 0;
      padding: 0;
      line-height: 1.3;
    }

    .main-column.amateur h1 {
      font-weight: 800;
      line-height: 1.2;
      margin: 0;
      padding: 16px 16px;
      font-size: clamp(14px, calc(1.25vw + 16px), 21px);
    }
    
    .actress-details .ruby {
      font-size: clamp(13px,calc(.25vw + 13px),16px);
      color: var(--text-subdued);
      margin-bottom: 4px;
    }
    .work-count {
      background: var(--surface-critical);
      color: var(--red-500);
      padding: 4px 12px;
      border-radius: 20px;
      font-size: 12px;
      font-weight: bold;
      margin-top: 8px;
    }
    
    .actress-stats {
      display: flex;
      gap: 2rem;
      justify-content: center;
      margin-top: .75rem;
    }
    
    .stat-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      padding:6px 24px;
      background: var(--surface-critical);
      border: 1px solid var(--surface-critical);
      border-radius: 6px;
    }
    
    .stat-number {
      font-size: 24px;
      font-weight: 700;
      color: var(--red-500);
      line-height: 1;
    }
    
    .stat-label {
      font-weight: 600;
      font-size: 11px;
      color: var(--text-subdued);
      margin-top: 4px;
    }

    /* --- ソートバー --- */
    .sort-bar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0rem 0rem;
      background: transparent;
      border: 0;
      border-radius: 0;
      margin: 0 16px .75rem;
    }
    .sort-bar form {
      position: relative;
    }
    .sort-bar select {
      font-size: 11px;
      font-weight: bold;
      margin:0 auto;
      background-color: var(--surface);
      position:relative;
    }
    
    .sort-bar form:after {
      content: '';
      display: block;
      -webkit-mask: url(../images/select-down.svg) no-repeat center center / contain;
      mask-image: url(../images/select-down.svg);
      width: .65rem;
      height: 100%;
      flex-shrink: 0;
      top: 0;
      right: 10px;
      border-radius: 0;
      position: absolute;
      background-color: var(--icon);
      pointer-events: none;
    }


    .result-count {
      font-size: .75rem;
      color: var(--text-subdued);
      font-weight: bold;
    }

    /* --- 作品グリッド --- */
    .works-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(134px, 1fr));
      gap: .75rem;
      row-gap: 1.25rem;
      padding: 0 16px;
      margin-bottom: 0;
    }
    
    .work-card {
      border: 0;
      border-radius: 6px;
      overflow: hidden;
      box-shadow: 0 0 0 1px var(--border) inset;
      background: var(--surface);
      transition: transform 0.2s ease;
    }
    
    
    .work-thumb {
      display: inline-block;
      width: 100%;
      overflow: hidden;
      background-color: var(--border);
      min-height: 140px;
    }
    
    .work-thumb img {
      transition: transform .3s ease;
      display: block;
      width: 100%;
      aspect-ratio: 1/1;
      object-fit: cover;
    }
    
    .work-thumb:hover img {
      transform: scale(1.05);
    }
    
    .work-content {
      padding: .5rem .75rem 1.0rem;
    }
    
    .work-title {
      font-weight: 700;
      margin: 0 0 8px;
      font-size: 14px;
      line-height: 1.5;
      overflow: hidden;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
    }
    
    .work-title a {
      text-decoration: none;
      color: var(--text);
    }
    
    .work-title a:hover {
      color: var(--red-500);
    }
    
    .work-meta {
      display: flex;
      flex-direction: column;
      gap: 0px;
      font-size: 12px;
      color: var(--text-subdued);
    }
    
    .work-meta span {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    
    .work-meta span:before {
      content: "";
      background-color: var(--icon);
      width: 12px;
      height: 12px;
      border-radius: 0;
      flex-shrink: 0;
      -webkit-mask: url(../images/list-text.svg) no-repeat center center / contain;
      mask-image: url(../images/list-text.svg);
    }



      @media (min-width: 480px) { 
        .amateur-list {
          grid-template-columns: 1fr 1fr;
        }
      }

      @media (min-width: 744px){ .grid.amateur-list { grid-template-columns: repeat(4, 1fr);padding: 0;margin: 0 40px; gap: 1rem;} 
      .headline.type2 { 
        flex-direction:row;
        align-items:center;
      }
          .headline.type2 h1 { 
            white-space: nowrap;
      }

      .other-works-grid{
      margin: 0 40px;
      }

      .view-switch {
          margin: 0 0;
      }

      .view-switch a, .view-switch span.current {
        gap: .25em;
        font-size: 11px;
        padding: 10px 14px;
      }

      .main-column.details h5.ama-title { 
        margin-bottom:.5em;
        justify-content: center;
      }
      .amateur-list {
        grid-template-columns: 1fr 1fr;
        margin: 0 auto .75rem;
        width: calc(100% - 80px);
      }


      .amateur-details .av-area {
        margin-left:40px;
        margin-bottom:1.5rem;
      }
      .amateur-details .jacket-container {
          border-radius: 6px;
          overflow: hidden;
      }
      .main-column.details .amateur-details h5, .amateur-details .actress-block {
          background: transparent;
          padding: 0;
          border: 0;
          min-width: inherit;
          border-radius: inherit;
          width: calc(100% - 0px);
      }

      .amateur-details .jacket-image { 
      min-height: 300px;
      width: 45vw;
      height: 45vw;
      }
    
      .movie-ad.amateur-details {
        display: grid;
        max-width:820px;
        gap: 1.5rem;
        grid-template-columns: auto 1fr;
    }
    .filters .row {
      gap: .75rem;
      row-gap: 0.75rem;
    }
    .filters .actions {
          margin-left: 0;
    }
    .filters .field:not(.field--search) {
      max-width: 150px;
    }

    .actress-cardx .latest-works .btn {
      padding:8px;
    }

        .works-grid {
        grid-template-columns: repeat(4, 1fr);
        padding: 0;
        margin: 0 40px 2rem;
      }
      .amateur .actress-header .actress-photo {padding:0 30px;}
      .amateur .actress-header, .sort-bar {
        margin: 0 40px 1.5rem;
        width: calc(100% - 80px);
      }
      .amateur .actress-header {margin-top:1.5rem; gap: 0;}
      .main-column:not(.details) .actress-details h1 {
        display: inline-block;
        padding: 0;
      }
      .actress-stats {
      }
      .stat-item {
        padding:12px 48px;
      }
      .stat-number {font-size: 32px;}
      .stat-label {font-size: 14px;}

      .amateur .actress-header .ratebtn {
        grid-column: 2 / 3;
        margin: 0 auto;
        padding: 1.25rem 2.25rem;
        font-size: 16px;
      }


    }
    @media (min-width: 920px){ .grid.amateur-list {grid-template-columns:repeat(3,1fr); padding:0; margin: 0 auto;}
      .actress-block {
            min-width: 680px;
      }
      #side-bar .type-static.filter-tag.label-cloud .tag-grid-list {
        padding:0;
      }
      #side-bar .profile-title { margin-top:0; font-size: 1rem;margin-bottom: .25rem;}
      .filters .field:not(.field--search) {
        max-width: 150px;
      }
      .amateur-details .av-area {
          margin-left: 0px;
          margin-bottom:1.5rem;
      }
      .movie-ad.amateur-details {
          grid-template-columns: 1fr 1fr;
          align-items:center;
      }





      .amateur-list {
          width: calc(100% - 0px);
      }

      .other-works-grid {    margin: 0 auto;}

      .works-grid {
        grid-template-columns: repeat(4, 1fr);
        margin: 0 auto 2rem;
        max-width: 1200px;
      }
      .amateur .actress-header, .sort-bar {
        width: 100%;
        margin: 0 auto 2rem;
        max-width: 1200px;
      }
      .actress-header {}


    }

    @media (min-width: 979px) {
    .works-grid {
      grid-template-columns: repeat(5, 1fr);
    }
    }

    @media (min-width: 1023px){ .grid.amateur-list {grid-template-columns:repeat(4,1fr)} 
    }




  @media screen and (min-width: 480px) {

  }

  @media screen and (min-width: 744px) {
    body {
      padding-top: 53px;
    }
    .main-column.grid-view .av-list-container {
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      width: calc(100% - 80px);
      padding: 1rem 0 0;
    }  
    .main-column.grid-view .av-item .jacket img {
      max-height: 160px;
    }
    .main-column.details li.liclass_afflink a.aclass_afflink {
      padding: 0px;
      border-radius: 6px;
      overflow: hidden;
    }

    .details .thumb .btn-area {
      bottom: 0.75rem;
    }

    .n-head .navbar ul a span.new.icon {
      right: 2px;
      top: inherit;
      bottom: 1.1rem;
    }

    a.btnlnk.fanza-search {
      margin: 0 auto 2.75rem;
      width: 100%;
    }

    .details .thumb .btn-area a.btnlnk.fnz {
      padding: 10px 20px;
      width: auto;
      max-width: 90%;
      font-size: clamp(10px, calc(1.25vw + 11px), 13px);
      border-radius: 50px;
      transition: background-color 0.25s ease-in-out;
    }

    .details .thumb .btn-area a.btnlnk.fnz:hover {
      background-color: var(--red-100);
    }


    .block-title {
      padding: .25rem 0px;
    }

    .act-area .ratebtn {
      width: 100%;
    }
    .jacket-image {
      max-height: 460px;
    }

    .details section.video-jacket {
      position: relative;
      top: inherit;
    }

  .main-column.details #mgs-header li.liclass_afflink a.aclass_afflink {
    padding: .5rem;
    border-radius: 12px;
  }
  .main-column.details #mgs-header  a.aclass_afflink p.pclass_afflink {
    max-width: 520px;
    height: 180px;
    border-radius: 4px;
  }
  .main-column.details #mgs-header .my242cp a.aclass_afflink p.pclass_afflink {
    height: 108px;
  }

  #mgs-head-top.bn-section {
    margin: 24px auto 0;
  }


  .adv-content.mgs, .adv-content.fz {
    max-width: 460px;
    margin: 0;
    padding: 1.25rem 0rem;
  }  



    /* ホバー時の効果も追加（オプション） */
  .main-column.details #mgs-header  li.liclass_afflink a.aclass_afflink:hover {
    animation-play-state: paused;  /* ホバー時はアニメーションを一時停止 */
    transform: scale(1.05);        /* 少し大きくする */
  }



    .affiliate-ad {
      margin: 2rem auto;  
    }

    .sidebar-scroll h2 {
      max-width: 320px;
      margin: 0 auto;
    }

    .result-tbl tbody tr {
      gap: 1.25rem;
    }
    .headline {
      justify-content: space-between;
      padding: 1.25rem 40px;
      gap: .5rem;
    }
    .details .headline {
      margin: 0 40px .75rem;
      width: calc(100% - 80px);
      padding: 1.25rem 0 0;
    }
    .widget-description {
      display: none;
    }
    .widget-container {
      width: calc(100% - 40px);
      overflow: hidden;
      margin: 0px 0;
      border-radius: 8px;
    }
    .shiro-lp .btn-action {
      padding: 20px 40px;
      grid-column: 1 / 3;
    }
    .shiro-lp {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 20px;
    }
    .shiro-lp a img {
      margin-bottom: 12px;
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 11;
      border-radius: .375rem;
      object-fit: cover;
  }


  #shiroHameGallaryList.shiro-img-list {
    width: 100%;
    grid-template-columns: repeat(4, 1fr);
    padding: 12px 40px 40px;
    margin-bottom: 0;
    row-gap: 1.75rem;
  }

  #shiroHameGallaryList a:nth-child(n+9) {
    display: block;
  }

  .shiro-video-block, .shiro-list {
    padding: 40px; 
  }
  .widget-title {
    font-size: 21px;
  }
  a.btnlnk.shiro-button {
    max-width: 520px;
    margin: 0 auto;
  }
  .shiro-video .btn-action {
    padding: 0 12px 20px;
  }
  .shiro-video-block a, .shiro-video-block a:first-child, 
  .shiro-list a, .shiro-list a:first-child {
    width: 100%;
    font-size: 11px;
    display: block;
  }
  .shiro-video-block a:last-child {}

  .shiro-video-block, .shiro-list {
    grid-template-columns: repeat(3, 1fr);
    display: grid;
    padding:32px 40px;
  }

  .details .shiro-list {
    padding: 12px 40px;
    row-gap: 0;
  }

  .info-block {
    display: grid;
    align-items: center;
    gap: 1.75rem;
    width: calc(100% - 80px);
  }

  .shiro-video-block {
    grid-template-columns: repeat(2, 1fr);
  }

    .widget-header {
      grid-column: 1 / 3;
    }
    #random-banner-container {
      width: calc(100% - 40px);
      margin: 0 0 0 auto;
    }
    .benefits-grid {
      grid-template-columns: 1fr 1fr;
    }
    .shiro-ttl:before {
      left: 0;
    }


    .ntc-msg {
      text-align: center;
      margin: .25rem 40px 1.0rem;
    }
    .details .ntc-msg {
      text-align: center;
      margin: 1.25rem 40px;
    }
    

    .tbllist .tagarea a:nth-child(n+4) {
      display: inline-block;
    }

    .shiro-ttl {
      padding: 16px 20px;
      margin: 0 40px;
      grid-column: 1 / 4;
    }

    .middle-detail-adpart {
      display: grid;
      align-items: center;
      /* grid-template-columns: 1fr 1fr; */
    }
    .adv-content.both {
      gap: 1.25rem;
      padding: 1.5rem 1.25rem .75rem;
    }
    .affiliate-adv {
      display: flex;
      width: 100%;
      padding: 0 40px;
      justify-content: center;
    }

    .affiliate-adv .adv-content {
      grid-gap: .25rem;
    }
    .main-column.details h5.adv-title {
    }

    .video-posts-container {
      padding: 6px 0;
      width: calc(100% - 80px);
    }  

    .recommend-actress-list {
      gap: .75rem;
      row-gap: 1.75rem;
      width: 100%;
      /* grid-template-columns: repeat(4, auto); */
      grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
    }

    /* .recommend-actress-list li a img {
      height: 108px;
      width: 108px;
      } */

    

    #shirohame-long a img, #shirohame-footer img {
      width: auto;
  }

  .details .type-slide.a-jacket .av-item:nth-child( n+9 ) {
    display: none;
  }


  }

  @media screen and (min-width: 920px) {
    .affiliate-ad {
      border-radius: 12px;   
      border: 1px solid var(--border);
    
    }
    #mgs-side-long {
      display: block; margin-top: 0;
    }
    .jacket-container, section.video-jacket {
      border-radius: 8px;
    }
      
    .shiro-lp {
      margin-top: 2rem;
      border-radius: 12px;
    }
    .middle-detail-adpart + .shiro-lp,  #profile-data + .shiro-lp {
      margin-bottom: 2.5rem;
    }
    #shirohame-footer {
      padding: 0;
      background-color: transparent;
    }
    #shirohame-footer a {
      font-size: 10px;
    }
    .shiro-lp  h4 {
      font-size: 13px !important;
      padding: 0 !important;
    }
    .shiro-video-block, .shiro-list {
      padding: .5rem 0px 1.75rem;
      margin: 0 auto;
    }

    #shiroHameGallaryList.shiro-img-list  {
      padding:0px 0px 1.75rem;
      grid-template-columns: repeat(3, 1fr);
    }

    .details .shiro-list {
      padding: 12px 0px;
      row-gap: 0;
    }
    .details .shiro-bn-blk {
      margin-top: 2rem;
    }
    .details .shiro-bn-blk .shiro-ttl, .shiro-video  .shiro-ttl {
      padding: 0;
    }
    .shiro-ttl, .shiro-video .shiro-ttl {
      margin: 0;
      font-size: 16px;
      padding: 12px 4px 12px 24px;
    }


    .pagination + .shiro-lp {
      margin-bottom: 2.75rem;
    }
    .shiro-video .shiro-video-single,  .shiro-list, .shiro-video-block, .shiro-video .btn-action, .shiro-video, .shiro-bn-blk, .details .shiro-bn-blk {
      background:transparent;
    }


    .list-view .act-video-list table .ttl, .list-view .tbllist.av .cast, .list-view .tbllist.av td:nth-of-type(3), .list-view .tbllist.av td:nth-of-type(4) {
      font-size: 13px;  
    }


    .list-view .act-video-list table .ttl {
      font-size: 14px;
    }
    .details .headline {
      margin: 0 0px .75rem;
      width: calc(100% - 0px);
      padding: 1.25rem 0 0;
      gap: .75rem;
    }

    .widget-container {
    }

    .main-column.grid-view .av-list-container {
      grid-template-columns: repeat(3, 1fr);
      width: calc(100% - 0px);
      gap: 15px;
      row-gap: 1rem;
    }
    .no-cnt {
      padding: 12em 6em;
    }
    #side-bar .no-cnt {
      padding: 3em 6em;
    }
    .grid-view .av-list-container .no-cnt {
      grid-column: 1 / 5;
    }
    .main-column.grid-view .av-item .jacket img {
      max-height: 180px;
    }
    .ntc-msg {
      margin: .25rem 0 1.0rem;
    }
    .details .ntc-msg {
      text-align: center;
      margin: .5rem 0px 1.25rem;
    }
    .front .ntc-msg {
      margin: 1.25rem 0 1.25rem;
      border-radius: 12px;
    }


    .headline {
      padding: 2.5rem 0px 1.25rem;
    }

    .headline
    .ranking-table .headline {
      padding: .5rem 0px .5rem;
      justify-content: end;
    }

    .video-posts-container {
      width: calc(100% - 0px);
      margin: 0 auto;
      gap: 1.1rem;
      row-gap: 1.25rem;
    }

    /* .ratebtn .pc {
      display: inline-block;
    } */

  }

  /* --- リスト表示用スタイル --- */
  .main-column.list-view .av-list-container {
    /* リスト表示では特にコンテナスタイル不要 */
  }
  .main-column.list-view .av-item {
    display: flex;
    gap: .75rem;
    align-items: center; /* 要素を中央揃え */
    border-bottom: 1px solid var(--border); /* テーブルの罫線風 */
    padding: 10px 16px;
    width: calc(100% - 0px);
  }
  .main-column.list-view .av-item:first-child {
    /* border-top: 1px solid var(--border); */
  }
  .main-column.list-view .av-item .jacket {
    width: 35vw; /* 固定幅 */
    max-width: 190px;
    flex-shrink: 0; /* 縮まないように */
  }
  .main-column.list-view .av-item .jacket img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    border-radius: .375rem;
    display: block;
    object-position: 100% 0;
  }
  .main-column.list-view .av-item .details {
    flex-grow: 1; /* 残りのスペースを埋める */
  }
  .main-column.list-view .av-item .sub-details {
    width: 21.5vw;
    max-width: 120px;
    flex-shrink: 0;
    padding: 0 8px;
    text-align: center;
  }
  .main-column.list-view .av-item .ttl {
    /* 必要なら高さ制限やoverflowを設定 */
  }
  .main-column.list-view .av-item .cast {
    margin: .5rem auto;
    display: block;
    max-height: 1.85rem;
    overflow: hidden;
  }
  .main-column.list-view .av-item .release-date {
  }




  .list-table .tbllist.actress td:first-child, .tbllist.av td.jacket, .main-column:not(.ranking-table) .tbllist .thumbimg {
    padding: 10px 6px 10px 16px;
  }
  .main-column.type-d .tbllist .thumbimg {
    padding: 10px 0px 10px 0px;
  }
  .main-column.type-d {
    grid-template-columns: auto;
  }
  .main-column.type-d .tbllist .thumbimg a {
    width: 35vw;
    max-width: 200px;
  }
  .main-column.type-d .tbllist.free td:last-child {
    color: var(--band-500);
  }


  .tbllist.av td.jacket, .tbllist .thumbimg {
    width: 47.5vw;
  }

  .tbllist .thumbimg {
    width: 35vw;
    padding-left: 0;
    max-width: 240px;
  }

  .details table.free.tbllist .thumbimg {
    width: 40vw;
  }

  .list-table .tbllist.free {margin: 0 20px 2rem; width: calc(100% - 40px);}
  .list-table .tbllist.free tr:first-child {display: none;}
  .list-table .tbllist.free tbody { display: grid;grid-template-columns: 1fr 1fr;
    gap: 10px; row-gap: 20px;}

  .list-table .tbllist.free tr { position: relative; display: flex; flex-direction: column;align-items: baseline;}
  .list-table .tbllist.free .thumbimg {
    padding: 0px 0px;
    width: 100%;
    order: 0;
  }
  .list-table .tbllist.free p.furi {
    margin: 5px auto 5px;
    font-size: 85%;
    align-items: center;
    display: flex;
    gap: 6px;
  }
  .list-table .tbllist.free p.furi { 
    display: none;
  }

  .list-table .tbllist.free td {padding: 0px 0px;}
  .list-table .tbllist.free td.chbox, form.active td.chbox {
    padding: 0;
    position: absolute;
    z-index: 1;
    left: 8px;
    top: 8px;
  }
  .list-table .tbllist.free td.chbox .cbxbd { margin-top: 0;}

  td.chbox, td.sort, form .chkarea input[type="submit"] { display: none;}
  form.active td.chbox, form.active td.sort, form.active .chkarea input[type="submit"], .main-column:not(.ranking-table) form.active .tbllist.free tr th:first-child { display: block;}
  .chkarea #edit-toggle { cursor: pointer;}

  form.active .tbllist.free tr th:first-child {
    position: absolute;
  }

  .list-table .tbllist.free td:last-child { 
    position: absolute;
    font-weight: bold;
    right: 8px;
    top: 8px;
    color: #FFF;
    align-items: center;
    display: flex;
    gap: 4px;
    z-index: 1;
  }
  .list-table .tbllist.free .cast {margin: 8px auto 0;}


  .details .pickup > a {
    /* border-radius: 8px;
    overflow: hidden;
    display: block;
    width: 100%;
    position: relative;
    height: 100%;
    padding-top: 56.25%; */
  }

  /* .details .pickup > a img  */
  .free-video-list a.thumb img  {
    width: 100%;
    max-width: 100%;
    height: 100%;
    display: block;
    margin-bottom: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    background-color: var(--border);
  }

  .tbllist .thumbimg a {
    border-radius: 8px;
    overflow: hidden;
    display: block;
    width: 100%;
    position: relative;
  }
  .tbllist .thumbimg a img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    border-radius: .375rem;
    display: block;
    object-position: 100% 0;
  }

  .tbllist.av tr:first-child { display: none;}
  .tbllist.av tr { display: grid;
    grid-auto-columns: auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 10px;
    row-gap: 0px;
  }
  .tbllist.av td.jacket {
    grid-row: 1 / 3;
    grid-column: 1 / 2;
    min-width: 120px;
  }

  .tbllist.av td.jacket a {
    display: block;
    overflow: hidden;
    border-radius: 3px;
    width: 100%;
    max-height: 180px;
    max-height: inherit;
  }
  .tbllist.av td.jacket a img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    border-radius: .375rem;
    min-width: 120px;
  }

  .total_count {
    font-weight: 800;
    padding: 0;
    white-space: nowrap;
    font-size: 12px;
    color: var(--text-subdued);
  }
  .count-badge {
    font-size: 120%;
    padding-right: .25rem;
  }
  .mapping-info-labels {
    position: absolute;
    bottom: 16px;
    left: 22px;
  }
  .grid-view .mapping-info-labels {
    left: 4px;
    bottom: 10px;
  }


  .mapping-info-labels .badge {
    width: 24px;
    height: auto;
    text-indent: -9999em;
    border-radius: 6px;
    background: var(--surface-critical-strong);
    display: block;
    padding: 6px 0;
    font-size: 10px;
    font-weight: bold;
  }




  .tbllist.av td {
    text-align: center;
    min-width: 85px;
  }
  .details .tbllist.av td[colspan="4"] {
    display: none;
  }


  .tbllist.av td:nth-of-type(2), .tbllist.av td:nth-of-type(3), .details table.free td:nth-of-type(3), .details table.free td:nth-of-type(4) {
    text-align: left;
    padding: 0;
    padding-right: 0px;
  }
  .tbllist.av td:nth-of-type(2), .details table.free td:nth-of-type(3) {
    grid-row: 1 / 2;
    grid-column: 2 / 4;
    align-self: flex-end;
  }
  .tbllist.av td:nth-of-type(3), .details table.free td:nth-of-type(4) {
    grid-row: 2 / 3;
    grid-column: 2 / 3;
    align-self: flex-start;
    justify-self: flex-start;
    padding-top: 5px;
  }

  .tbllist.av td:nth-of-type(3), .details table.free td:nth-of-type(4) {
    grid-row: 2 / 3;
    grid-column: 2 / 3;
    align-self: flex-start;
    justify-self: flex-start;
    padding-top: 5px;
  }
  .tbllist.av td:nth-of-type(4) {
    grid-row: 2 / 3;
    grid-column: 3 / 4;
    align-self: flex-start;
    justify-self: flex-end;
    padding-top: 5px;
    text-align: left;
  }
  .grid-view .tbllist td:nth-of-type(4) {
    display: none;
  }


  .grid-view .tbllist.actress tbody {
    grid-template-columns: repeat(4, 1fr);
    gap: 0px;
    row-gap: 1rem;
    display: grid;
    margin: 0 auto;
    width: 100%;
  }

  /* レスポンシブ対応 */
  @media (max-width: 319px) {
    .grid-view .tbllist.actress tbody {
      grid-template-columns: repeat(3, 1fr);
    }  
  }


  .grid-view .tbllist.av tbody {
    grid-template-columns: repeat(2, 1fr);
    gap: .75rem;
    row-gap: 1.0rem;
    display: grid;
    margin: 0 auto;
    width: calc(100% - 32px);
  }
  .grid-view .tbllist.av tr:first-child {display: none;}

  .grid-view .tbllist.actress tr:first-child {
    grid-row: 1 / 2;
      grid-column: 1 / 4;
      flex-direction: row;
      display: none;
  }

  .grid-view .tbllist.av tr, .grid-view .tbllist.actress tr {
    flex-direction: column;
    display: flex;
    
  }
  .grid-view .tbllist.av tr {
    background-color: transparent;
  }

  .grid-view .list-table .tbllist.actress td:first-child, 
  .grid-view .tbllist.av td.jacket {
    padding: 0px 0px 2px;
    width: 100%;
    background-color: transparent;
  }
  .grid-view .tbllist.av td.jacket {
    padding-top: 0;
  }
  .grid-view .tbllist.actress tr td:nth-last-child(-n+2) {
    display: none;
  }
  .grid-view .ranking-actress .tbllist.actress tr td:nth-last-child(-n+3) {
    display: none;
  }
  .grid-view .list-table .tbllist.actress td:nth-of-type(2) {
    text-align: center;
    background-color: transparent;
    padding: 0px 6px;
  }




  .grid-view .tbllist.av td:nth-of-type(3), .grid-view .tbllist.av td:nth-of-type(2) {
    align-self: flex-start;
    padding: 0 ;
    color: var(--icon);
  }
  .grid-view .tbllist.av .cast {
    color: var(--icon);
  }

  .one-column .tbllist.free {
    /* margin: .75rem auto 1.5rem;
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px; */
  }


  .one-column .tbllist.free tr:first-child {
    display: none;
  }
  .one-column .tbllist.free .thumbimg {
    padding: 12px 0px 12px 12px;
    width: 40vw;
  }

  .one-column .tbllist.av tr:nth-child(2n) { background-color: inherit;}
  .one-column .tbllist.av td:last-child {
    grid-row: 3 / 4;
    grid-column: 1 / 3;
    text-align: left;
    justify-self: center;
  } 
  .one-column .tbllist.av td:last-child a.btnlnk.smbtn {
    font-size: 12px;
    padding: 8px 10px;
    margin: 0 auto 10px;
  }

  .one-column .act-video-list table.av td:last-child {
    padding-top: 0;
    grid-row: 2 / 3;
    grid-column: 2 / 3;
  }




  .details table.free td:nth-of-type(3), .details table.free td:nth-of-type(4) {
    padding-right: 0;
  }






  .tbllist.free td:nth-of-type(4) {
    /* width: 18vw; */
  }
  .ranking-table .tbllist.free th:nth-of-type(4), .ranking-table .tbllist.free td:nth-of-type(4) { display: none;}


  .act-video-list table.av tr .jacket, .details table.free  tr .thumbimg {
    grid-row: 1 / 3;
    grid-column: 1 / 2;
    /* padding: 8px 0px 8px 20px;
    max-width: 47.5vw;
    width: 100%; */
  }
  .act-video-list table.av tr .jacket a {
  overflow: hidden;
  border-radius: 3px;
  display: block;
  }
  .act-video-list table td {
    padding: 0;
  }
  .act-video-list td:nth-of-type(3), .details table.free td:last-child {
    text-align: right;
    grid-row: 2 / 3;
    grid-column: 2 / 3;
    text-align: inherit;
    justify-self: flex-end;
    align-self: center;
  }
  .details table.free td:last-child {
    grid-row: 1 / 3;
    grid-column: 3 / 4;
    padding-right: 15px;

    text-align: center;
  }
  .act-video-list table tr {
    /* margin-bottom: 1.25rem; */
  }
  .act-video-list table.av td:nth-of-type(2) {
    /* padding: 0px 20px 0; */

  }


  div#relative-actress {
    margin-top: 1.75rem;
  }

  .act-video-list table td:nth-of-type(2) {
    grid-row: 2 / 3;
    grid-column: 1 / 3;
  }
  .act-video-list table.free td:nth-of-type(2) {
    grid-column: 2 / 3;
  }
  .profile-title, .free-title, .heading-titlem, .day-head {
    padding: 10px 10px 10px 36px;
    font-size: clamp(14px, calc(1.25vw + 16px), 18px);
    font-weight: 800;
    display: flex;
    gap: 10px;
    line-height: 1.2;
  }




  #profile-data {
    padding-bottom: 1.25rem;
    margin-bottom: .25rem;
    margin-top: 1.25rem;
  }

  #profile-data .btn-area {
    margin-top: 1.75rem;
  }

  .headline .profile-title {
    padding: 10px 0px 10px 24px;
    margin: 0;
  }



  .details .headline .profile-title {
  }

  .headline .profile-title:before {
    left: 0;
  }


  .headline ul.DisplayMode {
    padding-right: 0;
  }

  .profile-title i, .free-title i {
    display: none;
  }
  .heading-title {padding: 20px 20px 10px;}
  .main-column.details h4, .main-column.details h5 {
    padding: 24px 20px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
  }

  .main-column.details h5.free-title {
    padding: 10px 10px 10px 36px;
    margin-bottom: 5px;
  }

  section.video-jacket {
    background: var(--gray-900);
    height: 0;
    border-radius: 0;
    overflow: hidden;
    max-width: 100%;
    padding-bottom: 56.25%; /* 16:9 の高さなので 56.25% (= 9 ÷ 16) */
    position: relative;
    margin-bottom: 1.25rem;

  }

  section.video-jacket.fz {
    background: var(--gray-900);
    height: auto;
    aspect-ratio: 4 / 3;
    /* aspect-ratio: 16 / 9; */
    object-fit: cover;
  }

  section.video-jacket iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }




  .mincasi-area + h5, .details .clear + h5, .main-column.details a[name=av] + h5 {
    margin-top: 1rem;
  }




  .main-column.details h4 a, .main-column.details h4 .btnlnk, .details .tagarea .btnlnk.smbtn, .main-column .free-title .btnlnk {
    font-size: 11px;
    margin: 0;
    padding: 6px 12px;
    width: auto;
    min-width: inherit;
    max-width: inherit;
    display: inline-block;
    vertical-align: bottom;
    line-height: 1;
  }


  .details .tagarea .btnlnk.smbtn {font-size: 10px;padding: 6px 8px;}
  .wiki-lnk {
    padding: 0px 20px .75rem 2.75rem;
    font-size: 12px;
    line-height: 1.4;
    color: var(--icon);
    position: relative;
    font-feature-settings: "halt";
  }
  .wiki-lnk:before {
    content: "";
    position: absolute;
    left: 20px;
    top: 2px;
  }


  .wiki-lnk a {
    font-weight: bold;
    font-size: .9rem;
    display: inline-block;
    line-height: inherit;
  }

  .wiki {
    padding: 0px 20px;
    font-size: .9rem;
    line-height: 1.4;
    position: relative;
    overflow-wrap: anywhere;
  }



  .main-column.details span.t11 a {
    text-decoration: none;
    display: inline-block;
    background-color: var(--surface-info);
    color: var(--text-info);
    text-align: center;
    font-weight: bold;
    white-space: nowrap;
    position: relative;
    padding: 12px 16px;
    margin: 0 20px 10px;
    max-width: inherit;
    border-radius: 50px;
    display: inline-block;
    width: auto;
    font-size: 11px;
  }
  .main-column.details h5 p, p.notice  {
    font-weight: normal;
    margin-top: 4px;
    line-height: 1.3;
  }
  .main-column.details p.t7 {
    display: none;
  }

  p.notice  {
    padding: 20px;
    border-radius: 8px;
    margin: 0.75rem auto 1.5rem;
    width: calc(100% - 40px);
    font-size: 11px;
  }

  .main-column p.notice  {
    color: var(--icon);
    border: 1px solid var(--border);
  }

  #main-area .add-video-area h2 {
    margin: 0 auto;
    font-size: calc(.65vw + 17px);
    padding: 10px 0px 10px;
    grid-template-columns: 1fr;
    color:var(--text);
    background-color: transparent;
  }

  form.add_fm_box, form.form-search {
    font-size: 14px;
    display: grid;
    margin-top: 20px;
    justify-content: space-between;
    grid-template-columns: auto auto;
  }
  form.form-search {
    margin-top: 0px;
    border: 2px solid var(--icon-info);
    border-radius: 6px;
    justify-content: center;
    grid-template-columns: 32% 1fr auto;

    position: relative;

  }

  form.add_fm_box input[type="text"], form.form-search select, form.form-search input[type="text"] {
    width: 100%;
    color: var(--text);
    background-color: var(--surface-base);
    border-radius: 4px 0 0 4px;
    margin: 0px auto;
  }
  form.form-search::after {
    position: absolute;
    left: calc(32% - 16px);
    top: calc(50% - 3px);
    width: 10px;
    height: 7px;
    background-color: var(--icon);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
  }
  .form-search select {
    padding: 4px 12px;
    color: var(--text);
    font-weight: bold;
    font-size: 85%;
    min-width: 80px;
    appearance: none;
  }

  form.form-search input[type="text"] {
    border-radius: 0 0;
    margin: 0px auto;
    padding: 4px 8px;
    border: 0px;
    font-size: 14px;
  }

  form.add_fm_box input[type="submit"], form.form-search input[type="submit"] {
    padding: 4px 10px;
    font-size: 13px;
    font-weight: bold;
    border: 0;
    color: var(--text-on-color);
    background-color: var(--icon-info);
    border-radius: 0 4px 4px 0;
    margin: 0px auto;
  }
  .add-video-area p {
    line-height: 1.3;}



  /* 関連コンテンツ */
  #main-area .ml-grid,

  .front .video-posts-container,
  .books-detail .books-list .list-items,
  .related-block .cards,
  .doujin-detail .doujin-list.grid, 
  .front .amateur-box.actress-grid, 
  .front .grid.doujin-list, .front .books-list .list-items,
  .front ul.tab, .type-a.act-layout, .type-d.popular, nav.navbar.li-top-nav, section.type-slide, .details section.type-slide, .shiro-img-list, .type-c.av-layout, .front .grid.amateur-list {
    width: 100%;
    padding: 2px 16px;
    margin-bottom: 0px;
    height: auto;
    -webkit-flex-direction: row;
    flex-direction: row;
    display: grid;
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-snap-align: start left;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-padding: 0 50%;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    position: relative;
    z-index: 0;
    grid-gap: .75rem;
    row-gap: 1.25rem;
    grid-template-columns: repeat(5, 1fr);
    /* background-color: var(--surface); */
  }


  .details section.type-slide { 
    width: 100vw; 
    padding: 0px 16px .25rem;
    grid-gap: .75rem;
    row-gap: 1.25rem;
  }


  .type-a.act-layout {
    grid-template-columns: repeat(3, 1fr);
    /* margin-bottom: 1.25rem; */
    column-gap: 0;
  }

  .maker-list.grid {
    display: grid;
    flex-direction: column;
    gap: .75rem;
    row-gap: 1.0rem;
    margin: 0 16px;
    grid-template-columns: repeat(2, 1fr);
  }

  .ml-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem;}

  .ml-meta a {color: var(--text);}
  .ml-meta a.ml-pick-title {display: inline;}
  .ml-meta a.btn-seeall {margin: .75rem auto .5rem;}

  .ml-item{display:flex;align-items: center;
    border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface);text-decoration:none;color:var(--text);margin: 0 auto;    width: 100%;
    gap: .5rem;
  flex-direction: column;
  }

  .ml-thumb{
    aspect-ratio:190 / 75;
    width: 100%;
    max-width: 300px;
    display:flex;align-items:center;justify-content:center;background: var(--border)}

  .ml-thumb img{max-width:100%;max-height:100%;display:block;
    position: relative;
    max-width: inherit;
    width: 100%;
    object-position: 100% 0;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }


  .ml-meta {flex: 1;padding:0 .5rem;
    gap: .15rem;
    display: flex;
    flex-direction: column;}
  .ml-name{font-size:16px;margin:0;line-height:1.2;overflow:hidden;
    display: -webkit-box;
    font-weight: 800;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  #main-area .ml-name {margin: 0; padding: 0;}

  .ml-pick-title, .ml-meta .pick{font-size:12px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1.5;}


    .ml-meta .pick .ml-stats { display: none;}
  .ml-meta .pick .label {font-size:9px;
    overflow: hidden;
    font-weight: 700;
    display: inline;
    margin-right: .25rem;
    color: var(--text-subdued);
    background-color: var(--surface-base);
    background-color: var(--surface-info);
    color: var(--text-info);

    padding: .175rem .5rem;
    border-radius: 35px;
  }

  .ml-stats{font-size:11px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    padding: 6px 0 0;
    -webkit-box-orient: vertical;
    color:var(--text-subdued)}


  .front .amateur-box.actress-grid{
    grid-template-columns: repeat(3, 1fr);
  }

  .main-column.type-a.act-layout {
    grid-template-columns: 1fr;
    justify-content: start;
  }

  .books-detail .books-list .list-items,.related-block .cards,
  .front .doujin-list.grid, .front .books-list .list-items,
  section.type-slide, .type-c.av-layout, .front .grid.amateur-list {
    grid-template-columns: repeat(5, 1fr);
    grid-gap: .5rem;
    row-gap: 1.5rem;
    width: 100vw;
  }

  .books-detail .books-list .list-items,.related-block .cards,
  .front .doujin-list.grid, .front .books-list .list-items,
  section.type-slide, .type-c.av-layout, .front .grid.amateur-list {
    grid-template-columns: repeat(6, 1fr);
  }

  .doujin-detail .doujin-list.grid, 
  .books-detail .books-list .list-items, .related-block .cards,
  .front .doujin-list.grid, .front .books-list .list-items, .front .grid.amateur-list {
    padding: 2px 16px;
    margin: 0;
    grid-gap: .5rem;
    row-gap: 1.0rem;
  }



  section.type-slide.a-jacket, section.type-slide.l-jacket {
    grid-template-columns: repeat(8, 1fr);
  }

  section.type-slide.a-jacket, #main-area .ml-grid {
    grid-template-columns: repeat(6, 1fr);
  }
  #main-area .ml-grid {
    grid-template-columns: repeat(6, 1fr);
    row-gap: .75rem;
  }

  .details section.type-slide.a-jacket {
    grid-template-columns: repeat(5, 1fr);
    margin-bottom: 1.25rem;
  }
  .details .pp-bn.mb20 {text-align: center; margin-top: 1.5rem; padding:.25rem 0; background-color: var(--surface);}


  .other-works-block section.type-slide.a-jacket {
    grid-template-columns: repeat(3, 1fr);
  }



  section.type-slide.l-jacket {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  }


  .actress-grid {
    grid-template-columns: repeat(4, auto);
    display: grid;
    gap: .5rem;
    row-gap: 1.25rem;
    font-size: 12px;
    text-align: center;
    width: calc(100% - 16px);
    margin: 0 auto 1.75rem;
  }
  .actress-id, .actress-ruby {
    display: none;
  }

  .front .video-posts-container .post-card, .type-slide .av-item {
    width: 42.5vw;
    max-width: 200px;
  }



  .doujin-detail .doujin-list.grid .card, 
  .related-block .cards .card,
  .books-detail .books-list .list-items .item, .front .grid.doujin-list .card, .front .books-list .list-items .item
  {
    width: 28.5vw;
    max-width: 220px;
  }

  .type-slide .av-item a, .actress-grid a {
    color: var(--text);
    display: block;
  }

  .type-slide .av-item .av-thumb {
    overflow: hidden;
    width: 100%;
    position: relative;
    height: auto;
    aspect-ratio: 134 / 190;
    border-radius: .275rem;
  }


  .type-slide img.av-image {
    width: 100%;
    height: 110px;
    object-fit: cover;
    border-radius: 4px;
    max-width: inherit;
  }
  .type-slide .av-title {
    color: var(--text);
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1.15;
    margin-top: .35rem;
    font-size: 11px;
  }



    .type-slide .av-details {
      margin-top: .25rem;
      line-height: 1.5;
    }

    .details .type-slide .av-title {
      -webkit-line-clamp: 2;
    }

  .type-slide .av-details p {
    color: var(--text-subdued);
    font-weight: normal;
    margin: 0 auto;
    line-height: 1.15;
    font-size: 12px;
  }
  #main-area .ml-grid .ml-item {
    width: 57.5vw;
    max-width: 280px;
  }
  .type-slide.a-jacket .av-item, .front .grid.amateur-list .card {
    width: 38.5vw;
    max-width: 200px;
  }
  .type-slide.a-jacket .av-details {
    display: none;
  }

  .type-slide.a-jacket img.av-image {
    /* height: 232px; */

    /* height: 59.75vw;
    max-height: 245px; */

    object-position: 100% 0;
  }

  .type-slide.l-jacket .av-item {
    /* width: 85vw; */
    width: 100%;
    max-width: 390px;
  }
  .type-slide.l-jacket .av-thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 11;
    object-fit: contain;
    border-radius: .375rem;
  }
  .type-slide.l-jacket img.av-image {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 11;
    object-fit: contain;
    border-radius: .375rem;
  }

  .details .type-slide.l-jacket .av-item {
    /* width: 60vw;
    max-width: 390px; */
  }


  .main-column.type-act2 table tr {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .main-column.type-act2 table td {
    margin-bottom: 1.5em;
    padding: 0;
  }


  .front ul.tab {
    grid-template-columns: repeat(8, auto);
    gap: 0px;
    font-size: 12.5px;
    padding: 0px 12px;
  }


  /* 出演者ブロック全体 */
  .actress-block {
    margin: 0px auto;
    padding: 20px;
    background-color: var(--surface);
    border-radius: 10px;
    border: 1px solid var(--border);
  }

  .actress-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: .5rem;
    justify-items: center;
  }

  /* 出演者アイテム */
  .actress-container .actress-item {
    width: 100%;
    max-width: 160px;
  }

  .animated-actress-item .actress-link {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
  }

  .animated-actress-item:hover .actress-link {
    animation: cardFloat 2s infinite ease-in-out;
  }

  /* 出演者カード */
  .actress-card {
    background: var(--surface);
    border-radius: 12px;
    padding: .75rem .5rem 1.25rem;
    text-align: center;
    border: 2px solid var(--surface);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
  }

  .actress-card:hover {
    background: var(--surface-info);
    border: 2px solid transparent;
    transform: scale(1.05);
  }

  /* 女優写真 */
  .amateur-details .actress-photo {
    width:100px;
    height:100px;
    margin: 0 auto 0px;
    border-radius: 50%;
    overflow: hidden;
    border: 0px solid #f3dd79;
    position: relative;
  }

  .amateur-details .actress-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
  }

  .amateur-details .actress-img:error {
    display: none;
  }

  .no-photo-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #f3dd79, #ffb3ba);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backgroundShift 8s infinite;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }

  .actress-initial {
    font-size: 20px;
    font-weight: bold;
    color: white;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
  }

  /* 女優情報 */
  .actress-info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .actress-name {
    font-size: 11px;
    font-weight: 800;
    margin: 8px 0 0px;
    color: var(--text);
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .actress-meta {
    margin-top: auto;
  }

  .view-profile {
    background-color: #f3dd79;
    color: var(--text);
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: bold;
    display: inline-block;
    transition: all 0.3s ease;
  }

  .actress-card:hover .view-profile {
    background-color: var(--surface);
    color: var(--text);
    animation: backgroundShift 3s infinite;
  }

  /* 追加ボタン */
  .add-actress-card {
    background: white;
    border: 2px dashed #f3dd79;
    border-radius: 12px;
    padding: 15px;
    text-align: center;
    height: 160px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
    cursor: pointer;
  }

  .add-actress-link .add-actress-card:hover {
    border-color: #ff6b6b;
    background: linear-gradient(135deg, #f3dd79, #ffb3ba);
    animation: cardFloat 2s infinite ease-in-out;
  }

  .add-actress-card.disabled {
    border-color: #ccc;
    color: #999;
    cursor: not-allowed;
  }

  .add-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #f3dd79;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    transition: all 0.3s ease;
  }

  .add-actress-link:hover .add-icon {
    background-color: #ff6b6b;
    animation: backgroundShift 3s infinite;
  }

  .plus-icon {
    font-size: 20px;
    font-weight: bold;
    color: white;
  }

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

  .add-label {
    font-size: 12px;
    font-weight: bold;
    color: #333;
    display: block;
    margin-bottom: 5px;
    line-height: 1.2;
  }

  .login-required {
    font-size: 10px;
    color: #999;
  }

  /* シンプル履歴版（cookieActressスタイル） */
  .actress-simple-history {
    background: #f9f9f9;
    padding: 15px;
    border-radius: 8px;
    border-left: 4px solid #f3dd79;
    margin-top: 20px;
  }

  .simple-title {
    color: #333;
    font-size: 16px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .actress-icon {
    font-size: 18px;
  }

  .simple-actress-table {
    width: 100%;
  }

  .actress-row {
    border-bottom: 1px solid #eee;
  }

  .actress-row:last-child {
    border-bottom: none;
  }

  .actress-cell {
    padding: 8px 0;
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .actress-thumb-link {
    flex-shrink: 0;
    position: relative;
  }

  .actress-thumb {
    border-radius: 50%;
    border: 2px solid #f3dd79;
    transition: all 0.3s ease;
  }

  .actress-thumb:hover {
    border-color: #ff6b6b;
    transform: scale(1.1);
  }

  .thumb-placeholder {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(45deg, #f3dd79, #ffb3ba);
    border: 2px solid #f3dd79;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    animation: backgroundShift 8s infinite;
    position: absolute;
    top: 0;
    left: 0;
  }

  .thumb-initial {
    font-size: 14px;
    font-weight: bold;
    color: white;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
  }

  .actress-simple-name {
    color: #333;
    text-decoration: none;
    font-size: 13px;
    font-weight: bold;
    transition: all 0.3s ease;
    flex-grow: 1;
  }

  .actress-simple-name:hover {
    color: #ff6b6b;
    transform: translateX(5px);
  }

  /* レスポンシブ対応 */
  @media (max-width: 768px) {
    .actress-block {
      margin: 0px auto .75rem;
      border-radius: 0px;
      border: 0;
      width: calc(100% - 40px);
      background-color: var(--surface-base);
      padding: 0 0px 10px;
    }

    .actress-photo {
      width: 20vw;
      height: 20vw;
      max-width: 120px;
      max-height: 120px;
    }

    
    .actress-container {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap: 12px;
        justify-items: flex-start;
    }
    .actress-container .actress-item {
      width: 100%;
      max-width: inherit;
    }
    
    .actress-item {
    }
    
    .actress-card {
        border: 1px solid var(--border);
        padding: .75rem .25rem 1.05rem;
    }
    

    
    .actress-name {
        font-size: 12.5px;
    }
    
    .actress-initial {
        font-size: 16px;
    }
  }

  @media (max-width: 480px) {
    .actress-container {
    }

    .actress-header {
      display: grid;
    }
    .actress-header .act-profile {
      order: 1;
      margin-top: 1.25rem;
      margin-bottom: 1.75rem;
    }
    
    .actress-card {
    }
    
    .actress-name {
    }
    
    .view-profile {
        font-size: 10px;
        padding: 3px 6px;
    }
    
    .actress-cell {
        gap: 8px;
    }
    .actress-container {
      grid-template-columns: repeat(auto-fill, minmax(95px, 1fr));
      gap: .75rem;
      row-gap: 1.25rem;
    }


    .actress-simple-name {
        font-size: 12px;
    }
  }


  .mypage .type-a.act-layout {
    grid-template-columns: repeat(3, auto);

  }

  .front .main-search-area .tab-head {
    display: grid;
    align-items: center;
    grid-template-columns: auto auto;
    background-color: var(--surface);
  }
  .tab-head h4 { padding: 8px 12px 8px 15px;
    text-align: center;
    color: var(--text-info);
    font-size: 10px;}

  .tab-head h4 i { 
    width: 30px;
    height: 30px;
    display: block;
    margin: 0 auto;
    border-radius: 0px;
    -webkit-mask: url(../images/user-avatar.svg) no-repeat center center / contain;
    mask-image: url(../images/user-avatar.svg);
    background-color: var(--text-info);
  }


  .front .main-search-area ul.tab {
    padding: 0px 0px 0px 0px;
    position: relative;
    width: 100%;
  }



  .details .type-a.act-layout {
    width: 100vw;
    padding-bottom: 1.75rem;
    display: grid;
    grid-template-columns: repeat(5, 25vw);
    gap: .75rem;
    row-gap: 1.5rem;
  }

  .details #rank-actress .type-a.act-layout {
    grid-template-columns: repeat(3, 1fr);
  }

  .details .recommended-act {
    padding-bottom: .75rem;
  }
  .details .recommended-act .type-a.act-layout {
    grid-template-columns: 1fr;
  }

  .av-header {
    position: relative;
    /* background-color: var(--surface); */
    position: fixed;
    top: 0px;
    z-index: 3;
  }
  .n-head .li-top-nav-wrapper {
    padding-top: 40px;
    background-color: var(--surface);
    transition: padding-top 0.1s ease-in-out;
    position: fixed;
    top: 0;
    border-bottom: 1px solid var(--border);
    z-index: 2;
  }

  .hide .n-head .li-top-nav-wrapper {
    padding-top: 0px;
  }
  .menu-active.hide .n-head .li-top-nav-wrapper {
    padding-top: 40px;
  }

  nav.navbar.li-top-nav {
    width: 100vw;
    padding: 0px 5px;
    background-color: transparent;
    grid-template-columns: auto;
  }
  .n-head .navbar ul {
    grid-template-columns: repeat(6, auto);
    column-gap: 1em;
    padding: 0px 12px;
  }

  .type-a.act-layout td {padding: 0 0px;}
  .type-d.popular {
    padding: 8px 20px 20px;
    grid-template-columns: repeat(6, 42.5vw);
  }


  .type-a.act-layout h2 {
  /* display: none; */
  }

  .pickup {
    width: calc((100% - 20px) / 3);
  }



  .pickup a {
    display: block;
    position: relative;
    width: 100%;
  }
  .details .pickup > a {
    /* height: 64px; */
    /* border-radius: 4px; */
  }
  .pickup + a {
    width: 100%;
    height: 27.5vw;
  }
  .pickup p a {
    font-weight: bold;
    padding: 3px 0;
  }

  .details .type-a:not(.act-layout) {
    padding: 0px 20px 0px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    flex-wrap: wrap;
  }
  .details .type-a .pickup {
    width: 100%;
  }
  .details > .pickup {
    width: 120px;
    display: inline-block;
  }



  .type-c.av-layout {
    /* display: grid; */
    /* grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); */
    /* gap: 1rem;
    row-gap: 1.75rem;
    width: calc(100% - 32px); */
    grid-template-columns: repeat(6, 1fr);
    grid-gap: 1.0rem;
    row-gap: 1.0rem;
    margin: 0 auto 1.75rem;
  }

  .type-c.av-layout .pickup {
    width: 42.0vw;
    max-width: 280px;
    display: block;
    flex-direction: column;
    gap: 1rem;
  }

  .type-c.av-layout .av-info a {
  display: inline;
  color: var(--text-subdued);
  }



  .type-c.av-layout img, .type-slide.l-jacket img {
    width: 100%;
    object-fit: cover;
    border-radius: 3px;
    max-width: inherit;
    position: relative;
    /* max-height: 130px;
    height: 28.75vw; */
    width: 100%;
    height: auto;
    aspect-ratio: 190 / 128;
    object-fit: cover;
    border-radius: .375rem;
    background-color: var(--border);
  }

  .type-slide.a-jacket .av-link img {
    position: relative;
    max-width: inherit;
    width: 100%;
    object-position: 100% 0;
    height: auto;
    aspect-ratio: 134 / 190;
    object-fit: cover;
  }

  .type-c.av-layout .av-title a {
    color: var(--text);
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    line-height: 1.15;
    margin-top: .5rem;
    font-size: 12.5px;
  }

  .type-c.av-layout .av-info {
    color: var(--text-subdued);
    margin-top: 8px;
    font-size: 11px;
  }




  .act-layout .pickup {
    width: 100%;
    float: inherit;
    display: inline-block;
  }
  .act-layout .pickup > a, .side-history table td > a:first-child, .act-layout td > a:first-child, .main-column.type-act2 table td a:first-child {
    width: 23vw;
    height: 23vw;
    max-width: 128px;
    max-height: 128px;
    display: block;
    overflow: hidden;
    border-radius: 10px;
    position: relative;
    margin-bottom: 8px;
    margin: 0 auto;
  }


  .amateur-box.actress-grid .actress-info a img, .actress-item img, .recommend-actress-list li a img {
    width: 20vw;
    height: 20vw;
    max-width: 120px;
    max-height: 120px;
    display: block;
    overflow: hidden;
    border-radius: 10px;
    position: relative;
    margin-bottom: 6px;
    margin: 0 auto;
  }
  .amateur-box.actress-grid .actress-info a img {
    max-width: 100px;
    max-height: 100px;
  }
  .amateur-box.actress-grid .actress-info {
    margin-top: 0;
  }

  .type-a.act-layout tbody tr {
    display: flex;
    gap: .75rem;
    row-gap: 1.75rem;
    justify-content: space-between;
    grid-template-columns: repeat(3, 1fr);
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    grid-template-rows: auto;
  }

  .side-history table td > a {
    width: 20vw;
    text-align: center;
    display: block;
  }
  .side-history table td > a.actnm {
    margin-top: .5em;
    margin-bottom: 1em;
  }
  .act-layout td > a:first-child, .side-history table td > a:first-child {
    margin-bottom: .5rem;
    width: 24vw;
    height: 24vw;
    max-width: 120px;
    max-height: 120px;
  }


  .side-history table td > a:first-child { 
    width: 20vw;
    height: 20vw;
    max-width: 120px;
    max-height: 120px;
    overflow: hidden;
  }

  .act-layout .pickup p a, .side-history table td > a, .act-layout td > a, .main-column.type-act2 table td a:last-child {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
    display: block;
    font-weight: 700;
    text-align: center;
    color: var(--text);
  }

  .main-column.type-act2 table td a:last-child { font-size: 13px; margin-top: 6px;  color: var(--text);}
  .act-layout td > br, .main-column.type-act2 table td > br  {display: none;}

  .type-d {
    padding: 0px 20px;
    gap: 10px;
    row-gap: 15px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .type-d .pickup {
    margin-bottom: 0;
    width: 100%;
    float: inherit;
  }
  .type-d .pickup:nth-child(n+13) { display: none;}
  .type-d .pickup p {
    display: flex;
    align-items: center;
    margin: 4px auto 0;
  }
  .type-d.popular .pickup p {
    margin: 6px auto 0;
  }
  .type-d .pickup a, .front .type-a:not(.act-layout) .pickup a {
    font-weight: bold;
    width: 100%;
    height: 70px;
    border-radius: 8px;
    text-align: center;
    display: block;
    overflow: hidden;
  }
  .type-d.popular .pickup a {
    height: 100px;
    border-radius: 8px;
  }


  .type-d .pickup p img , .front .type-a:not(.act-layout) .pickup p img { display: inline-block;vertical-align: middle;}

  .type-d .pickup p a, .front .type-a:not(.act-layout) .pickup p a, .type-d.popular .pickup p a { 
    height: inherit; 
    display: inline-block;
    padding: 0px;
    flex: 1;
    text-align: left;
    border-radius: 0;
  }



  .side-history table tbody { display: grid;
    gap: 10px;
    justify-content: space-between;
    grid-template-columns: repeat(4, 20vw);
    grid-template-rows: auto;
  }

  .side-history table tbody tr.nocnt {
    grid-row: 2 / 3;
    grid-column: 1 / 5;
    min-height: 120px;
  }

  iframe.reco-3column-iframe {
    height: 256px;
  }

  .wiki-box {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: auto;
    margin: 0 20px 20px;
  }
  .wiki-box .wiki-lnk {
    padding: 0.85rem 15px;
    background-color: var(--surface);
    color: var(--icon);
    border: 1px solid var(--border);
    border-radius: 4px;
    position: relative;
  }
  .wiki-box .wiki-lnk a {
    color: var(--text);
  }
  .wiki-box .wiki-lnk a i {
    width: 24px;
    height: 24px;
    display: inline-block;
    vertical-align: middle;
    background-size: cover;
    margin-right: 6px;
  }
  .wiki-lnk a i.missav {
    background-image: url(../images/missav.png);
  }
  .wiki-lnk a i.supjav {
    background-image: url(../images/supjav.png);
  }
  .wiki-lnk a i.google {
    background-image: url(../images/google.png);
  }

  .wiki-box .wiki-lnk:before {
  display: none;
  }
  .wiki-box .wiki-lnk:after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--text-info);
    border-right: 2px solid var(--text-info);
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translate(-50%, -50%) rotate(45deg);
  }


  #mgs-header, #fz-header {
    text-align: center;
    padding: 0 0;
  }

  #fz-header {
    text-align: center;
    padding: 0 0;
    z-index: 2;
    background-color: var(--surface-subdued);
    border-bottom: 1px solid var(--border);
  }
  #fz-header iframe {
    width: 100%;
    vertical-align: bottom;
    max-width: 800px;
  }


  .bn-section {
    text-align: center;
    padding: .25rem;
  }

  #mgs-main-header.bn-section, #mgs-main-bottom.bn-section {
    padding: .25rem 0;
  }


  .details #mgs-header {
    margin: 1rem auto;
  }

  .details #mgs-main-header.bn-section {
    margin: 1.0rem auto 0.25rem;
    background: transparent;
    }

  /* Lazy Load用のスタイル */
  .lazy {
    opacity: 0;
    transition: opacity 0.3s;
  }

  .lazy.loaded {
    opacity: 1;
  }

  /* ローディング中のプレースホルダー */
  .lazy:not(.loaded) {
    background-color: #f0f0f0;
    background-image: linear-gradient(45deg, transparent 25%, rgba(255,255,255,.5) 25%, rgba(255,255,255,.5) 50%, transparent 50%, transparent 75%, rgba(255,255,255,.5) 75%, rgba(255,255,255,.5));
    background-size: 20px 20px;
    animation: placeholderShimmer 1s linear infinite;
  }

  @keyframes placeholderShimmer {
    0% { background-position: -20px 0; }
    100% { background-position: 20px 0; }
  }


  .recommended-videos {
    margin: 0px 0;
  }

  .recommended-videos .type-slide {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
  }

  .details .recommended-videos section.type-slide.a-jacket {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-bottom: 1.25rem;
    row-gap: .75rem;
  }


  .video-item {
    flex: 0 1 calc(25% - 12px);
    min-width: 160px;
    margin-bottom: 0px;
    width: 50vw;
  }

  .video-jacket {
      position: relative;
      margin-bottom: .25rem;
      border-radius: 8px;
      overflow: hidden;
  }
  .video-jacket a {
    display: block;
  }

  .video-jacket img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    border-radius: .375rem;
    background-color: var(--border);
  }

  .dual-affiliate-links {
    position: relative;
  }
  .dual-affiliate-links { }


  .alternate-link {
    margin-top: 5px;
    text-align: center;
    position: absolute;
  }

  .alternate-link a {

    text-decoration: none;
    border-radius: 3px;
    font-size: 12px;
  }

  .single-affiliate-link {
    position: absolute;
    left: 8%;
    bottom: 0%;
  }

  .link-bd, .link-badge {
    position: absolute;
    bottom: 5px;
    left: 5px;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 11px;
    color: white;
    font-weight: bold;
    /* opacity: 0; */
    left: 12px;
  }
  .link-bd {
    left: calc(50% - 56px);
    bottom: 8px;
    border-radius: 50px;
  }

  .mgs-badge, 
  .fanza-badge {
    background: var(--surface-critical-strong);
  } 

  .link-badge.mgs-badge, .link-badge.fanza-badge {
    padding: 8px 8px;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    left: 8%;
  }

  .link-badge.mgs-badge:before , .link-badge.fanza-badge:before, .mapping-info-labels .badge i {
    -webkit-mask: url(../images/play.svg) no-repeat center center / contain;
      mask-image: url(../images/play.svg);
      background-color: var(--white-100);
      content: "";
      width: 60%;
      height: 60%;
      content: "";
      position: absolute;
      left: 20%;
      top: 20%;
  }


  .video-info {
    padding: 2px 0;
  }

  .video-title, .main-column.details h4.video-title {
    font-size: 14px;
    line-height: 1.3;
    width: calc(100% - 0px);
    margin: 0 0 5px;
    padding: 0;
  }
  .main-column.details .video-title a {
    padding: 6px 0px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1;
    padding: 0;
  }

  .video-title a {
    color: var(--text);
    text-decoration: none;
  }

  .video-title a:hover {
    color: #007cba;
  }

  .video-details {
    font-size: 11px;
    color: var(--icon);
    line-height: 1.2;
    margin: 0;
  }

  .doujin-list .filter-block, .books-list .filter-block {
    gap: .5rem;
    display: grid;
  }


  .filter-block .range-fields {display:none;gap:.5rem;row-gap:.25rem;align-items:center; justify-content: space-between;
    background-color: var(--surface);
    border-radius: 12px;
    flex-wrap: wrap;
    padding: 1rem;
  }
  .filter-block .range-fields.show {display:flex;}

  .sort-section .toggle{
    display: flex;
    gap: 6px;
    align-items: center;
    padding-bottom: 15px;
    margin: 0;
    padding: 0px;
  }


  .search-block { display: flex;align-items: center;padding-left: 0;
    flex: 1;
  }



  .btn-read{
    display:inline-block; 
    padding: .45rem .15rem;
      border: 1px solid var(--text-info);
      border-radius: 5px;
      text-decoration: none;
      background: var(--surface);
      color: var(--text-info);
      margin-top: .65rem;
      display: block;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
      text-align: center;
      font-weight: 700;
      font-size: .575rem;
  }

  .btn-read:hover{ background:var(--surface-info); }

  .books-detail .detail-main .btn-read{ 
    border-radius: 50px;
    font-size: clamp(13px, calc(.25vw + 14px), 19px);
    width: 80%;
    border-width: 2px;
    font-weight: 800;
    padding: 1.0rem .5rem;
    margin: 0 auto 1.25rem;
    transition: background-color 0.25s ease-in-out;
  }

  .doujin-list .list-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 10px}

  .doujin-list .list-items, .books-list .list-items {list-style:none;margin:0 16px;padding:0;display:grid;grid-template-columns:repeat(3, 1fr);gap:.5rem; row-gap: 1.0rem;}

  .day-block { display: block; position: relative; margin-bottom: 2.5rem;}
  .books-list .day-block .list-items {
    grid-template-columns:repeat(3, 1fr);
    gap:.5rem;
    row-gap: 1.0rem;
  }



  .doujin-list .list-items .item, .books-list .list-items .item {position:relative; border:0px solid var(--border);border-radius:4px;overflow:hidden;
  background: var(--surface);
  box-shadow: 0 0 0 1px var(--surface-active);
  }
  .list-items .item:before {
    position: absolute;
    min-width: 32px;
    min-height: 12px;
    right: 0;
    top: 0;
    content: "";
    background: var(--icon);
    border-radius: 0 0 0 6px;
    color:var(--surface);
    font-size: 9px;
    text-align: center;
    font-weight: 800;
    white-space: nowrap;
    padding:4px 6px;
    z-index: 1;
  }

  .item.comic, .item.cat-comic {
    box-shadow: 0 0 0 1px rgba(var(--red-500-rgb), .5);
  }

  .list-items .item.cat-comic:before, 
  .list-items .item.comic:before, .media-label.media-comic {
        content: "COMIC";
        background:var(--red-500)
  }
  .view-switch a.dojin-mediacomic {
        color:var(--red-500)
  }


  .item.cg, .item.cat-photo {
    box-shadow: 0 0 0 1px rgba(var(--pink-500-rgb), .5);
  }
  .list-items .item.cg:before, .media-label.media-cg {
        content: "CG";
        background:var(--pink-500)
  }

  .list-items .item.cat-photo:before {
    content: "PHOTO";
    background:var(--pink-500)
  }

  .view-switch a.dojin-mediacg {
        color:var(--pink-500)
  }

  .item.game, .item.cat-novel {
    box-shadow: 0 0 0 1px rgba(var(--green-500-rgb), .5);
  }
  .list-items .item.game:before, .media-label.media-game {
    content: "GAME";
    background:var(--green-500)
  }
  .list-items .item.cat-novel:before{
        content: "小説";
        background:var(--green-500)
  }
  .view-switch a.dojin-mediagame {
        color:var(--green-500)
  }

  .item.voice, .item.cat-bl {
    box-shadow: 0 0 0 1px rgba(var(--orange-500-rgb), .5);
  }
  .list-items .item.voice:before, .media-label.media-voice {
        content: "ボイス";
        background:var(--orange-500)
  }
  .list-items .item.cat-bl:before {
    content: "BL";
    background:var(--orange-500)
  }
  .view-switch a.dojin-mediavoice {
        color:var(--orange-500)
  }

  .item.video {
    box-shadow: 0 0 0 1px rgba(var(--yellow-500-rgb), .5);
  }
  .list-items .item.video:before, .media-label.media-video {
        content: "動画";
        background:var(--yellow-500)
  }


  .view-switch a.dojin-mediavideo {
    color:var(--yellow-500)
  }


  .item.cat-tl {
    box-shadow: 0 0 0 1px rgba(var(--band-500-rgb), .5);
  }
  .list-items .item.cat-tl:before {
    content: "TL";
    background:var(--band-500)
  }

  .item.ai {
    box-shadow: 0 0 0 1px rgba(var(--band-500-rgb), .5);
  }
  .list-items .item.ai:before, .media-label.media-ai {
        content: "AI";
        background:var(--band-500)
  }
  .view-switch a.dojin-mediaai {
        color:var(--band-500)
  }

  .doujin-list .list-items .item .thumb, .books-list .list-items .item .thumb {
    background-color: var(--surface-subdued);    
    display: block;
  }
  .doujin-list .list-items .item .thumb img, .books-list .list-items .item .thumb img, .related-block .card img {display:block;width:100%;height:auto;
    aspect-ratio:10 / 11;
    object-fit: cover;
  }
  .books-list .list-items .item .thumb img {
    aspect-ratio:6 / 9;
  }

  .list-items .item .info, .doujin-list .list-items .item .info {padding:.5rem .5rem}

  #main-area.books-list .list-items .item h2.ttl, #main-area.doujin-list .list-items .item h2.ttl, .related-block .card .ttl, .doujin-list .card .ttl, .books-detail .item .ttl, .day-block .ttl,  #side-bar .list-items .ttl, .books-list .list-items .ttl  {
  font-size: 10px;
  margin: 0 auto .25rem;
  text-align: left;
  color: var(--text);
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.15;
  padding:0;
  }


  .list-items .price, .list-items .meta{color: var(--text-subdued);
    font-size: 1rem;
    font-weight: normal;
  }

  .list-items .chips { font-size: 11px; display:flex;flex-wrap:wrap; gap: .25rem;
    margin:0 0 .25rem ;
  }


  .books-list .list-items .chips.price, .books-list .list-items .chips .cluster {
    display: none;
  }

  .doujin-detail .chips, .books-detail .detail-main .chips {  gap: .5rem;
    margin: 0 0 2.25rem;
    display: flex;
    flex-flow: wrap;
  }


  .doujin-list .list-items .chip, .books-list .list-items .chip {display:inline-block;padding:2px 6px;border:1px solid var(--border);border-radius:999px;font-size:9px;text-decoration:none;color:var(--text);background:var(--surface-info);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
  }

  .chip.maker{border-color: var(--border);background:var(--surface-info);}
  .chip.series{border-color: var(--border);background:var(--surface-info);}
  .chip.genre{border-color: var(--border);
    background:var(--surface-info)}

  .doujin-list .chips .meta, .books-list .chips .meta, .books-list .chips .price, .books-detail .list-items .meta, .books-detail .list-items .price {
  font-size: 10px;
  }

  .chips .meta.label {
    display: inline-flex;
    width: 100%;
    font-weight: bold;
  }

  .detail-main .chips .meta, .detail-main .chips .price {
    font-size: .85rem;
    color: var(--text-subdued);
  }
  .detail-main .chips .price { display: none;}


  .books-detail .detail-main .chips.desc {
    flex-direction: column;
  }
  .books-detail .detail-main .chips .price  {
    display: block;
  }

  .doujin-list .chips.series, .doujin-list .chips.genres, .doujin-list .chips.price {display:none;}

  .doujin-list .media-filter {
    overflow: hidden;
    width: 100vw;
    grid-template-columns: inherit;
  }

  .doujin-list .media-filter .filter {
    width: 100%;
    margin-bottom: 0px;
    height: auto;
    -webkit-flex-direction: row;
    flex-direction: row;
    display: grid;
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-snap-align: start left;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-padding: 0 50%;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    position: relative;
    z-index: 0;
  }

  .doujin-list .media-filter .filter a:last-child {
    display: none;
  }


  .doujin-list .media-filter .filter {display:grid;
  grid-template-columns: repeat(6, auto);flex-wrap:wrap;gap:.25rem;align-items:center;
    width: 100%;
        margin: 0;
    padding: 0 1.0rem;}

  .headline.type2.p0 {padding: 1.5rem 0 .75rem; gap: .75rem;}
  .main-column:not(.details) .headline.type2.p0 h1 {
  padding:0 .75rem;
  }

  .doujin-list .media-filter .filter a, .doujin-list .media-filter .filter span.current{ white-space: nowrap; display:inline-block;padding:12px 18px;border:1px solid var(--border);border-radius:999px;text-decoration:none;font-weight: 700; text-align: center; font-size:12.5px;}

  .doujin-list .media-filter .filter span.current{background:var(--surface-info);color:var(--icon-info);border-color:var(--surface-info)}


  .doujin-list .toolbar, .books-list .toolbar {display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 auto}

  .doujin-list .toolbar { width: 100%;}


  .doujin-list .toolbar form {display:flex;gap:0px;align-items:stretch;padding: 0 16px; width: 100%;}

  .books-list .toolbar form {display:grid; gap:.5rem;align-items:stretch; padding: 0 16px;}

  .books-list .toolbar form .button-section {
    display: flex;  gap: .5rem;    justify-content: start;}

  .books-list .toolbar form .button-section .btn, .books-list .toolbar form .button-section .range-fields button {
    display: flex;
      align-items: center;
      gap: .25em;
      font-size: 12px;
      padding: 12px 12px;
      color: var(--text);
      font-weight: 700;
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 6px;
      white-space: nowrap;
  }

  .books-list .toolbar form .button-section .btn-filter {
    overflow: hidden;
    /* white-space: nowrap;
    text-overflow: ellipsis; */
    text-indent: -9999em;
    padding: 8px 8px;
    text-align: center;
    gap: 0;
    row-gap: 0;
    flex: inherit;
  }

  .button-section .btn-filter i { display: inline-block;}



  .books-list .toolbar form .button-section .btn.current, .headbar .current {
    background: var(--surface-info);
      color: var(--icon-info);
      border-color: var(--surface-info);
  }

  .books-list .toolbar form .button-section .range-fields button {
    min-width: 60px;
    border: 1px solid var(--icon-info);
    color: var(--text-on-color);
    background: var(--icon-info);
  }

  .books-list .toolbar form .sort-section {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    row-gap: .5rem;
  }


  .books-list .toolbar form .clear-btn {
    align-self: center;
    border-radius: 6px;
    padding: 12px 12px;
    font-size: 12px;
    font-weight: 700;
    justify-self: start;
    justify-self: flex-start;
  }
  .range-toggle {
    align-self: end;
    padding-bottom: 10px;
  }

  .books-list .range-row {
    flex: 1;
  }
  .range-adv {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
  }
  .books-list .range-btn {
    width: 100%;
  }
  .doujin-list .toolbar input[type=text], .books-list .toolbar input[type=text], .books-list .toolbar input[type=date] { padding: 6px 12px;
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-width: 2px 0 2px 2px;
    margin: 0;
    border-radius: 6px 0px 0px 6px;
  }
  .books-list .toolbar input[type=text], .books-list .toolbar input[type=date] {
    border-width: 1px 1px 1px 1px;
    border-radius: 6px;
    align-self: stretch;
  }


  .doujin-list .toolbar button, .books-list .toolbar .search-block button, .filter-block .range-fields button {border-radius: 0px 6px 6px 0px;padding:10px 16px;border:1px solid var(--icon-info);color: var(--text-on-color);background:var(--icon-info);
    white-space: nowrap;
    font-size: 12px;
    font-weight: 700;}

    
  .filter-block .range-fields button {border-radius: 6px;    min-width: 100px;}
  .books-list .toolbar .search-block button { 
    padding:12px 12px;
    /* min-height:42px; */
  }

  .doujin-detail{margin:0px}

  .doujin-detail .headline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  width:100%;
    padding: 1.25rem 16px .75rem;}

  .media-label {
  display: inline-block;
  margin-left: 6px;
  padding: 6px 10px;
  font-size: 12px;
  border-radius: 6px;
  background: var(--icon);
  color: var(--surface);
  line-height: 1;
  white-space: nowrap;     
  }

  .detail-main {display:flex;flex-wrap:wrap;gap:.5rem}
  .detail-main .thumb{flex:0 0 100%}
  .detail-main .thumb img{width:100%;height:auto;    vertical-align: bottom;}

  .detail-main .info{min-width:200px; padding: 0px 16px; order: 1;width: 100%;
  }
  #main-area .detail-main .info h2 {
    margin-top: 0;
    margin-left : -16px;
    margin-right : 0;
  }

  .books-detail .detail-main .thumb {text-align: center;  margin-bottom: 1rem; }
  .books-detail .detail-main .info {width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .books-detail .detail-main .info h2 { display: none;}
  .detail-main .links {margin-top:1.25rem; width: 100%;}
  .detail-main .links a { display:block;}



  .chip {
    padding: 8px 12px 8px 10px;
    border-radius: 999px;
    font-size: 13.5px;
    text-decoration: none;
    font-weight: bold;
  }
  .chips.desc {
    flex-wrap: nowrap;
    flex-direction:column;
  }


  .n-head .navbar ul {
    grid-template-columns: repeat(7, auto);
  }



  .n-head.gr-head .navbar ul {
    padding: 0;
    justify-content: space-between;
    width: 100%;
    column-gap: 0;
  }
  .n-head.gr-head .navbar ul a { gap: 2px; flex-direction: column; font-size: 10px; min-width: 44px;padding: 2px 0px 6px;    overflow: inherit;}

  .n-head.gr-head nav.navbar.li-top-nav {
    padding: 0px 12px;
  }
  .n-head.gr-head .navbar ul a span.new.icon {
    right: -8px;
    top: inherit;
    bottom: 18px;
  }





  .detail-main .samples {margin: 0px 0 1rem;}
  .detail-main .samples h2 {margin-bottom:8px}



  .detail-main .sample-scroll{display:grid;
    grid-template-columns: repeat(auto-fill,minmax(125px,1fr));
    margin-bottom: .75rem;
    width:100%;
    gap: 2px;
    background: var(--text-disabled);
    padding: 2px;
  }
  .detail-main .sample-scroll .sample-thumb {
    overflow: hidden;
  }

  .detail-main .sample-scroll img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    }

  .related-block { width:100%; margin:20px 0}


  .doujin-list.grids {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(110px,1fr));
    gap:.5rem;
    row-gap:1.25rem;
    padding: 0 20px;
  }


  .doujin-list.grid .ct {
    padding: .5rem;
  }
  .doujin-list .card .ttl {
    margin-bottom: .25rem;
  }
  .doujin-list.grid .sub {
    min-height: 12px;
    padding-left: 1.0rem;
    font-size: 10px;
    margin: .25rem 0;
  }

  .jacket-wrapper{position:relative;display:inline-block}
  .jacket-image{display:block;max-width:100%;height:auto}
  /* .jacket-wrapper .link-overlay{
    position:absolute;inset:0;
    display:flex;flex-direction:column;justify-content:center;gap:8px;
    padding:8px;
    background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.38) 100%);
    opacity:0;transition:opacity .2s ease;
  } */
  .jacket-wrapper:hover .link-overlay{opacity:1}

  /* .jacket-link{
    display:inline-block;border-radius:8px;padding:8px 12px;
    text-decoration:none;line-height:1.2;color:#fff;background:#222;
  }
  .jacket-link .link-label{font-weight:600;font-size:14px}
  .jacket-link.fanza-link{background:#d00}
  .jacket-link.modal-link{background:#333}
  */

  .related-block .card, .doujin-list.grid .card {border:1px solid var(--border);border-radius:6px;overflow:hidden;background: var(--surface);}

  .related-block .card a { color: var(--text);}
  .related-block .card .ttl { margin:.5rem;padding:0;}

  /* ===== Related cards: media badge ===== */
  .related-block .card a{position:relative;display:block}
  .media-badge{
    position:absolute;
    right: 0;
    top: 0;
    padding:4px 8px;border-radius:0px 0px 0 6px;
    font-size:9px;line-height:1;font-weight:700;    color: var(--surface);
    background:rgba(17,17,17,.8);backdrop-filter:saturate(120%) blur(2px)
  }

  .media-badge.media-comic{background:#ef4444}
  .media-badge.media-cg{background:#22c55e}
  .media-badge.media-video{background:#3b82f6}
  .media-badge.media-game{background:#8b5cf6}
  .media-badge.media-voice{background:#f97316}
  .media-badge.media-ai{background:#10b981}
  .media-badge.media-other{background:#6b7280}


  /* ===== Image Modal ===== */
  .img-modal{position:fixed;inset:0;z-index:10;display:none}
  .img-modal[aria-hidden="false"]{display:block}
  .img-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6)}
  .img-modal__dialog{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}
  .img-modal__figure{position:relative;max-width:min(92vw,1400px);max-height:90vh;margin:0}
  .img-modal__img{display:block;max-width:100%;max-height:90vh;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.35);background:#fff}
  .img-modal__caption{margin-top:8px;text-align:center;color:#fff;font-size:14px}
  .img-modal__counter{background:rgba(0,0,0,.45);    padding: 4px 10px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: bold;}
  .img-modal__close{position:absolute;top:16px;right:20px;width:40px;height:40px;border:0;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:22px;cursor:pointer}
  .img-modal__close:hover{background:rgba(0,0,0,.7)}
  .img-modal__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:66px;border:0;border-radius:8px;background:rgba(0,0,0,.55);color:#fff;font-size:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}
  .img-modal__nav--prev{left:12px}
  .img-modal__nav--next{right:12px}
  .img-modal__nav:hover{background:rgba(0,0,0,.7)}





  @media (hover:none){
    /* SPでは常時表示（好みに応じて変更） */
    .jacket-wrapper .link-overlay{opacity:1}
  }

  @media (max-width: 640px){
    .img-modal__nav{width:56px;height:74px;font-size:34px}
  }


  @media screen and (min-width: 600px) {
    iframe.reco-3column-iframe {
      height: inherit;
    }  
  }

  /* メディアクエリ */
  @media screen and (min-width: 480px) {
    /* 画面サイズが480pxからはここを読み込む */

    .posts-container {
      grid-template-columns: repeat(3, auto);
      margin: 0 auto;
      width: calc(100% - 0px);
    }
    .loading {text-align: center;
      grid-column: 1 / 4;
    }
    
    .side-column {
      padding: 0px 0px;
    }
  .side-column ul {
    grid-template-columns: repeat(4, auto);
    justify-content: space-between;
    padding: 0 40px 40px;
  }

  footer.footer .credit:before  {
    left: 0;
    width: 35%;
    height: 75px;
  }

  .details #mgs-main-header.bn-section {
    background: transparent;
    display: none;
  }

  .act-area, .free-area {
    width: 42.0%;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    float: left;
    padding: 0 0px;
    }

    .act-profile, .free-data {
      margin: 0px auto;
      width: calc(60% - 70px);
      float: right;
      margin-bottom: 40px;
      margin-right: 30px;
      height: inherit;
      }

  .slick-slider {
    width: 100%;
  }
  #add-slick.slider .inner {
    margin: 0 0px 0 30px;
  }
  .side-column.side-listbox {
    padding: 7.5% 40px;
  }
  .side-column h2, .side-column h3, .side-column h4, .side-column h5{
    margin: 0px 40px 12px;
  }
  .side-column table {
    margin: 0 0px;
  }
  .side-list.side-column table {
    width: calc(100% - 80px);
    margin: 4px auto .75rem;
  }
  .side-column.side-listbox h2 {
    margin: 0px 0px 8px;
  }

  .free-area {
    margin-left: 30px;
    width: calc(42.0% - 20px);
    row-gap: 5px;
  }
  .free-area a.btnlnk.ply {
    top: calc(25% - 0px);
  }


  .list-table .tbllist.free tbody {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    row-gap: 20px;
  }

  .ranking-actress td:nth-of-type(2) a, .list-table .tbllist.actress td:first-child a, .one-column .tbllist.actress a {
    width: 100px;
    height:  100px;
  }


  .grid-view .tbllist.av tbody {
    grid-template-columns:repeat(3, 1fr);
    margin: 0 0px 2rem;
    width: calc(100% - 20px);
  }


  .grid-view .tbllist.actress tbody {
    grid-template-columns: repeat(5, 1fr);
    margin: 0 30px 2rem;
    width: calc(100% - 60px);
  }

  .act-thumb {
    width: 15vw;
    height: 15vw;
    max-width: 110px;
    max-height: 110px;
  }

  .grid-view .list-table .tbllist.actress td:first-child a {
    width: 16vw;
    height: 16vw;
    max-width: 128px;
    max-height: 128px;
  }

  .list-table .tbllist.free, .act-video-list table, .details .search_result_free table {
    margin: 0 40px 2rem;
    width: calc(100% - 80px);
  }
  .main-column:not(.details) h1 {
          padding: 30px 40px 15px;
    }
  .ranking-table .chkarea {
      padding: 20px 40px 0;
  }

  .tbllist.av td.jacket, .tbllist .thumbimg {
    width: 26.5vw;
  }


  .act-video-list table tbody {
    display: grid;
    gap: 20px;
  }
  .act-video-list table tr:not(:first-child) {
    grid-template-columns: auto 1fr;
    border: 0px solid var(--border);
    border-radius: 8px;
  }
  .act-video-list table tr:nth-child(2n+1) {
      /* display: none; */
  }
    .details .tbllist.av tbody {
  }
  .rate-box {
    align-self: center;
    gap: 10px;
  }
  .main-column.details h4, .main-column.details h5, .profile-title, .free-title, .heading-title {
    padding: 10px 40px 10px;
    font-size: clamp(14px, calc(1.25vw + 16px), 21px);
  }
  .main-column.details h4 {
    font-size: clamp(14px, calc(1.25vw + 16px), 18px);
  }
  .act-profile {
    padding: 5.5% 3% 3.5% 3%;
  }
  .act-profile:before {
    font-size: 11px;
    padding: 18px 24px;
  }
  .main-column.details .twitter-widget .free-title {padding: 40px 0px 10px;}
  .main-column:not(.details) h1 {
    padding: 30px 40px 15px;
  }
  ul.DisplayMode {
    top: 20px;
    padding-right: 40px;
  }

  .ranking-table .chkarea {
    padding: 12px 24px;
  }
  .main-column h1, .main-column.details h1, .rnkcnt, .front #main-area h2, .main-column h1 {
    padding: 20px 40px;
  }

  .front #main-area h2 {
    padding: 20px 40px 5px;
  }
  .rnkcnt {padding: 20px 0px 20px 15px;}
  .pagination {
    padding: 0 60px;
  }


  .side-column.side-listbox, .wiki {
    padding: 0 40px;
  }
  .wiki-lnk {
    padding: 0px 40px 1rem 4.0rem;
    font-size: 12px;
  }
  .wiki-lnk:before {
    left: 2.5rem;
  }

  .wiki-box {
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin: 0 40px 40px;
  }
  .wiki-box .wiki-lnk {
    padding: 1rem  40px;
  }
  p.notice {
    padding: 20px;
    width: calc(100% - 80px);
    font-size: 13px;
  }

  .side-column.side-listbox {
    padding: 7.5% 40px;
  }
  .side-column.side-history {
    padding: 0px 40px 40px;
  }
  .twitter-widget {
    width: calc(100% - 80px);
    margin: 0 auto;
  }
  .side-history table td > a:first-child {
    width: 128px;
    height: 128px;
  }
  .side-history img {
    min-width: 128px;
  }
  .side-history table td > a {
    width: auto;
    font-size: 12px;
  }
  .side-history table tbody tr:not(.nocnt):first-child {    grid-row: 1 / 2;
    grid-column: 1 / 2;}







    .tbllist td.rnkno {
      padding-left: 20px;
    }

    .item.jumbotron {
      border-radius: 0px;
      margin-top: 0rem;
      margin: 0px auto;
      width: calc(100% - 0px);
    }
    .front .tab-box {
      margin: 0 auto 0px;
      width: 100%;
      border-radius: 12px;
      padding: 3.5% 0 0;
    }

    #mgs-side-top.bn-section iframe, #mgs-main-middle.bn-section iframe, #mgs-middle-sub.bn-section iframe {
      width: 300px;
    }



  }



  @media screen and (min-width: 744px) {
    /* 画面サイズが768pxからはここを読み込む */
    ul.sns-btn li span { display: block;}
    ul.sns-btn li a {padding: 6px 12px;}
    ul.sns-btn li i { 
      width: 16px;
      height: 16px;
    }
    .act-area {
      margin-bottom: 1.5rem;
    }
    #profile-data {
      padding-bottom: 2.75rem;
      margin-bottom: 2.75rem;
    }

    #mgs-header, #fz-header {
      text-align: center;
      padding: 0 0;
      margin-top: 1.25rem;
    }
    #fz-header {
      border-radius: 6px;
      overflow: hidden;
      border-bottom: 0;
    }

    .details #mgs-header {
      margin: 1.75rem auto;
      width: 100%;
  }
  .bn-section {
    background-color: transparent;
  }

    .details #mgs-main-header.bn-section {
    background: transparent;
    display: none;
    }

    .mapping-info-labels {
      left: 18px;
    }


    #mgs-main-middle.bn-section.av-middle iframe {
      width: 540px;
    }


    .actress-block {
      width: calc(100% - 80px);
      margin-bottom: 1.75rem;
    }

    .chips.desc {
      font-size: 1rem;
  }



  .doujin-list .filter-block {
      display: grid;
      width: 100%;
      grid-template-columns: 1fr auto;
  }

  .books-list .filter-block {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
  }

  .doujin-list .toolbar {
    padding-right: 40px;
  }

  .doujin-list .list-items, .books-list .list-items { padding: 0 40px 40px; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: .75rem; row-gap: 1.5rem; margin: 0;}

  .doujin-detail .cards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;row-gap:1.25rem;padding: 0 20px;}

  #side-bar .books-list .day-head{        padding: 10px 40px;
    margin: 0px 20px;}

  #side-bar .books-list .list-items {
    grid-template-columns:repeat(4, 1fr);
    padding: 0 40px 40px; 
    margin: 0;
    gap: .75rem;
  }

  .doujin-detail .item .info { padding: .25rem .5rem;}


  .books-detail .books-list .list-items {
    padding: 0 40px 40px;
    margin: 0;
  }

  .detail-main { padding: 0px 20px; align-items: center;}

  .books-detail .detail-main {
      padding: 0px 40px;
      align-items: center;
  }

      .books-detail .detail-main .thumb { border-radius: 12px;}

  .detail-main .info{flex:1; padding: 0px 16px; order: 0;}

  #main-area .detail-main .info h2 {
          width: 100%;
      font-size: 13px;
      display:none;

  }
  .detail-main .links {
          margin-top: 1.5rem;
  }
  .doujin-detail .sample-scroll {
      padding: 0;
      grid-template-columns: repeat(4, 1fr);
  }

  .detail-main .thumb{flex:0 0 50%}
  .chips {
      gap: .5rem;
      margin: .5rem 0;
  }

  .doujin-detail .chips, .books-detail .detail-main .chips{
      gap: .25rem;
      row-gap: .5rem;
      margin: .25rem 0;
  }
  .doujin-detail .chips.desc {
      row-gap: .5rem;
  }
  .doujin-detail .chips.desc .links {
      display:none;
  }


  .chip{padding: 8px 16px;font-size:.8rem;}

  .doujin-list .toolbar input[type=text] {padding: 8px 12px;min-width: 200px;}
  /* .books-list .toolbar input[type=text] {height: 44px;} */
  .doujin-list .media-filter { width: auto;}
  .main-column:not(.details) .headline.type2.p0 h1, .doujin-list .media-filter .filter, .doujin-list .media-filter .filter, .books-list .filter-block {     padding: 0 40px; }
  .books-list .toolbar {
    margin: 0;
  }


  .books-list .toolbar form .button-section {
    justify-content: flex-start;
  }
  .books-list .toolbar form {padding: 0;}
  .books-list .toolbar form .sort-section {
    display: flex;
    gap: .75rem;
  }
  .filter-block .range-toggle {
    align-self: end;
    padding-bottom: 6px;
  }


  .doujin-list .media-filter .filter {
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  }

  .headline.type2.p0 {
  gap: .75rem;
  flex-direction: column;
  align-items: flex-start;
  width:100%;
  }
  .ml-item {
    gap: .75rem;
    flex-direction: row;
  }
  .ml-meta {
    padding: .5rem .75rem 0 0;
  }
  .ml-thumb {
    aspect-ratio:134 / 190;
    width: 28%;
    height: 100%;
    max-width: inherit;
    overflow: hidden;
    display:flex;
  }
  .ml-thumb img{max-width:100%;max-height:100%;display:block;
    position: relative;
    max-width: inherit;
    width: 100%;
    object-position: 100% 0;
    height: auto;
    aspect-ratio: 134 / 190;
    object-fit: cover;
  }
  .maker-list.grid {
    display: grid;
    flex-direction: column;
    margin: 0 40px;
    grid-template-columns: repeat(2, 1fr);
  }

  .ml-name {
    font-size: 15px;
  }
  .ml-stats {padding: 0;}

  .countline {
    padding: 0rem 40px .5rem;
  }
  .related-block .profile-title, .samples .profile-title {
      width: calc(100% - 0px);
  }
    
    .posts-container .post-thumbnail {
      max-height: 160px;
    }

    .posts-container {
      grid-template-columns: repeat(4, auto);
      gap: .75rem;
    }
    .loading {text-align: center;
      grid-column: 1 / 5;
      padding: 4rem 0;
    }

    .posts-container .post-thumbnail{
      max-height: 140px;
    }

    .total_count {
      padding: 0 1rem;
    }

    .details section.type-slide {
      width: 100%;
      padding: 0px 40px 20px;
      grid-template-columns: repeat(4, 1fr);
    }
    
    .other-works-block section.type-slide {
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }

    .details .recommended-videos section.type-slide.a-jacket {
      grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
      gap: .75rem;
      row-gap: 1.5rem;
    }

    .video-item {
      min-width: inherit;
      max-width: inherit;
      width: 100%;
    }

    .doujin-list.grid, .related-block .cards {
      grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
      gap: .5rem;
      row-gap: 1.25rem;
  }
  .sidebar-scroll .doujin-list.grid {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    padding: 0;
  }
  .sidebar-scroll .type-static.filter-tag .tag-grid-list {
    padding: 0rem 0px 2rem;
  }


    .type-slide.a-jacket .av-item, .front .grid.amateur-list .card {
      width: 100%;
      max-width: 300px;
    }

    .type-slide.a-jacket img.av-image {
      /* height: 23.75vw;
      max-height: 230px; */
    }  

    body {
      padding-top: 53px;
    }

    .books-detail .detail-main .btn-read {
      width: 100%;

    }

    .main-column.details h4, .main-column.details h5, .profile-title, .free-title, .heading-title {
      padding: 10px 40px 10px;
      width: calc(100% - 40px);
      margin: 1.75rem auto 0;
    }

    .main-column.details #profile-data h4 {
      width: calc(100% - 0px);
    }

    section.type-slide.a-jacket, 
    .details section.type-slide.a-jacket, .front .grid.amateur-list {
      grid-template-columns: repeat(4, 1fr);
      margin-bottom: 1.25rem;
    }
    .other-works-block section.type-slide.a-jacket {
      grid-template-columns: repeat(3, 1fr);
    }

    .main-column .free-title .btnlnk { 
      padding: 12px 24px;
    }

    #main-area .details h2 {
      width: calc(100% - 40px);
      margin: 0 auto;
    }

    .main-column.details h5.free-title {
      padding: .75rem .75rem .75rem 2.5rem;
    }
    .main-column.details h5.adv-title {
      padding: 1.75rem 3rem 1rem;
      font-size: 17px;
      justify-content: center;
      max-width: 240px;
    }

    .details .type-a.act-layout {
      width: 100%; 
      grid-template-columns: repeat(5, 1fr);
    }
    .btn-box .btnlnk.addbtn {
      padding: 10px 16px;
      font-size: 11px;
    }
    .details #rank-actress .type-a.act-layout {
      row-gap: 1.75rem;
      grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }

    .footer {
      padding: 1.5rem 40px 2.25rem;
    }
    
    nav.navbar.li-top-nav {
      width: 100%;
      font-size: 10px;
      grid-template-columns: auto;
      padding: 0 0 0px 10px;
    }
    .side-column ul {
      grid-template-columns: repeat(5, 1fr);
    }
    .tbllist.av .moza {
      left: 12px;
      bottom: 12px;
    }
    .side-list.side-column table {
      width: calc(100% - 80px);
      margin: 0 auto;
    }
    .side-column.side-list table td a {
      height: 35px;
      width: 35px;
      line-height: 23px;

  }
  .grid-view .tbllist.av tbody {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    margin: 0 auto;
    width: calc(100% - 0px);
    gap: 0.75rem;
    row-gap: 1.75rem;

  }


  #main-area.one-column.contact-form {
    padding: 0;
    width: 100%;
    min-width: 640px;
  }


    #add-slick.slider .inner {
      margin: 0 8px 0;
    }
    #add-slick.slider .inner .btn {
      gap: 8px;
      margin-top: 20px;
      width: 100%;
      height: 44px;
    }
    #add-slick.slider form.add_fm_box {
      height: 44px;
    }
    #add-slick.slider .inner i {
      width: 24px;
      height: 24px;
    }
    .front #main-area .main-column.add-video-area.type-static h2 {
      font-size: 21px;
      margin: 0;
      display: block;
      text-align: center;
    }
    #sns-box {
      gap: 30px;
      grid-template-columns: 1fr 1fr;
      justify-content: flex-start;
      align-items: center;
      display: grid;
      margin: 0 40px 0;
      width: calc(100% - 80px);
    }


    .details .bn-box.sticky.type-carousel {display: none;}

    #av-logo {
      gap: 6px;
      grid-template-columns: 170px auto;
      justify-content: flex-start;
      align-items: center;
      width: auto;
      padding: 8px 0;
    }
    .av-logo a {
      margin: 0px auto;
      width: 170px;
      height: 100%;
    }
    ul.h-menu li:last-child { display: none;}

    ul.h-menu {grid-template-columns: repeat(1, 36px); margin: 0;
      justify-content: flex-start;
    }
    ul.h-menu li {
      height: 36px;
      line-height: 36px;
    }
    .search-bar {
      padding: 0;
      grid-column: 3 / 4;
      margin: 0 auto 0;
      width: 100%;
    }
    
    .wiki-box {
      grid-template-columns: 1fr 1fr;
      gap: 15px;
      margin: 0 40px 40px;
    }

    .slick-slider {
      width: 100%;
      margin: 2rem auto;
    }
    .slider .inner {
      padding: 4px 30px;
      gap: 16px;
      font-size: 20px;
    }
    #js-slick.slider .inner {
      padding: 16px 30px;
      font-size: 24px;
      width: 100%;
  }
    #js-slick.slider .inner i, #menu-slick.slider .inner i {
      width: 150px;
      height: 54px;
    }
    #js-slick.slider p {
      font-size: 22px;
    }

    iframe.reco-3column-iframe {
      height: 420px;
    }

    
    .pagination u, .pagination a, .pagination .current, .pagination .disabled {
      min-width: 40px;
      padding: 5px 14px;
      min-height: 40px;
      line-height: 30px;
      margin: 12px 2px;
      width: auto;
      font-size: 15px;
  }

  .bn350 {
    height: 325px;
  }
  .bn350 iframe {height: 325px;}

  .list-table .tbllist.free {
    margin: 0 0px 2rem;
    width: calc(100% - 0px);
  }
  .list-table .tbllist.free tbody {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  .main-column h1, .main-column.details h1, .rnkcnt, .front #main-area h2, .main-column h1 {
    font-size: clamp(14px, calc(1.5vw + 20px), 22px);
  }


  .front #main-area h2, .front #main-area a[name="kako24"] + h2, .front #main-area .type-a.act-layout + h2 {
    margin: .75rem 24px 0;
    padding: 1.0rem 1.25rem 1.0rem 2.75rem;
  }
  section.type-slide.l-jacket {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    padding: 0px 40px 20px;
    grid-gap: .75rem;
    row-gap: 1.25rem;
    width: 100%;
  }

  .actress-grid {
    grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
  }

  .type-c.av-layout {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: .75rem;
    row-gap: 1.25rem;
    margin: 0 auto 1.75rem;
    width: calc(100% - 80px);
    padding: 0;
    overflow: hidden;
  }
  .type-c.av-layout .pickup {
    width: 100%;
  }
  /* 
  .ml-meta {
    padding: 1.0rem;
  } */

  .type-c.av-layout img {

  }

  .side-history table td > a:first-child {
    width: 128px;
    height: 128px;
    margin: 0 auto;
  }
  .side-history img {
    min-width: 60px;
  }
  .side-history table td > a {
    width: 60px;
    font-size: 12px;
    margin: 6px auto 0;
  }
  .side-column.add-contents {
    padding: 0 0;
    gap: 1.5rem;
  }

  #main-area {
    padding-bottom: .5rem;
  }
  .header-type-2 {
    padding: .75rem .75rem;
    font-size: calc(.5vw + 14px);
  }
  .side-column.add-contents .desc {
    margin: 12px auto;
  }
  .side-column.add-contents .inner {
    gap: .75rem;
    margin: 0 auto 2.25rem;
    width: 75%;
  }
  .side-column.add-contents a.addcnt p span {
    font-size: 14px;
  }
  .side-column.add-contents a.addcnt {
    flex-direction: row;
    padding: 12px;
    width: auto;
    gap: 6px;
  }

  .rnkcnt {
    font-size: 19px;
    padding: 0px 0px;
  }
  #main-area h2.ttl {
    font-size: clamp(14px, calc(1.25vw + 16px), 21px);
    width: calc(100% - 0px);
    padding: .25rem .5rem .25rem 0rem;
  }

  .one-column .act-video-list table.av tr .jacket {
    width: 220px;
  }
  .one-column .act-video-list table tbody {
    grid-template-columns: 1fr;
  }
  .one-column.edit-layout .tbllist.actress a {
    width: 100px;
    height: 100px;
  }

  #main-area.one-column {
    padding: 60px 60px;
    margin: 10% auto;
    min-height: 400px;
    max-width: 460px;
  }
  #main-area.one-column.edit-layout {
    margin: 60px auto 60px;
  }

  .formhd h4 {
    width: 80%;
  }


  .go-to-top {
    right: 1.5em;
    bottom: 1.5em;
  }
  .go-to-top-button {
    width: 56px;
    height: 56px;
  }




  .details .act-profile:not(.active):after {
    display: none;
  }
  .act-profile table, .type-d.popular .pickup p a, .act-layout td > a, .act-layout .pickup p a, .footer p, .detail-link a, .details .tagarea, .actress-grid a .actress-name {
    font-size: 13px;
  }

  .rnkup, .rnkdown, .rnkeven, .rnkcnt .rnkup, .rnkcnt .rnkdown, .rnkcnt .rnkeven, .tbllist p.furi {
    font-size: 10px;
  }

  .main-column:not(.details) h1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: 1.75rem 40px 1.75rem;
  }
  .main-column.ranking-table h1 {
    order: -1;
  }

  .main-column h1 span {
    margin: 0;
    font-size: 13px;
    white-space: nowrap;
  }

  .main-column.details h1 span {
    margin-left: 8px;
  }
  ul.DisplayMode {
    padding-right: 40px;
    right: 0;
    top: 26px;
  }
  .type-static.filter-tag {
    width: 100%;
    padding: 0px 40px 0px;
  }

  .main-column.list-view .av-item {
    gap: 1.25rem;
    width: calc(100% - 80px);
    margin: 0 auto;
    padding: 10px 0px;
  }
  .type-static.filter-tag p {
    padding: 0px 0px 8px;
    font-size: 13.5px;
    display: block;
  }
  .type-static.filter-tag .tag-grid-list {
    padding: 0 0px;
    gap: .5rem;
    flex-wrap: wrap;
  }

  form.add_favorite, ul.sns-btn {
    right: 30px;
    top: -3rem;
  }

  .main-column.details .btn-area form.add_favorite input[type="submit"] {
    font-size: 11px;
    padding: 0 12px 0 28px;
    height: 32px;
  }
  form.add_favorite:before {
    left: 10px;
    top: 8px;
  }



  .twitter-widget .container {
    max-height: 400px;
  }


  .wiki {
    padding: 0px 40px;
    font-size: 14px;
    line-height: 1.55;
  }

  .main-column.jumbotron {
    height: 250px;
  }
  /* .detail-link {
    margin-left: 0.75rem;
  } */
  .breadcrumb {padding: 20px 20px;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
  }
  .chkarea {padding: 20px 20px;}
  .breadcrumb,
  .chkarea,
  .header-nav,
  .n-head .notice,
  .footer,
  .av-logo,
  .search-bar,
  .chkarea,

  .side-column, .chkarea a.btnlnk {
    font-size: 13px; /* 基本フォントサイズ */
  }
  .breadcrumb, .chkarea, .n-head .navbar ul a, .detail-link, .side-list .detail-link a, .type-d .pickup p a {
    font-size: 12px; /* 細かいテキストエリアのサイズ調整 */
  }
  .one-column.edit-layout p.t11, .one-column p.t11 {
    font-size: 14px;
  }

  .tbllist.actress th:nth-of-type(4), .tbllist.actress th:nth-of-type(5), .tbllist.actress td:nth-of-type(4), .tbllist.actress td:nth-of-type(5), .ranking-table .tbllist.free .tagarea, .tbllist .ratetbl, .tbllist.actress tr th:last-child, .tbllist.actress tr td:last-child, .main-column:not(.ranking-table) .tbllist.free tr th:first-child {
    display: table-cell;
  }

  .list-table .tbllist.actress td:nth-of-type(3), .list-table .tbllist.actress td:nth-of-type(4), .tbllist td, .tbllist.actress td:nth-of-type(6), .ranking-table .tbllist.free td:nth-of-type(5), .details table.free.tbllist td:last-child {
    font-size: 15px;
  }

  .ranking-table .tbllist.actress th:nth-of-type(4), .tbllist.actress th:nth-of-type(5),
  .ranking-table .tbllist.actress td:nth-of-type(4), .tbllist.actress td:nth-of-type(5), .ranking-table .tbllist.free .tagarea {
    display: table-cell;
  }

  .grid-view .ranking-table .tbllist.actress td:nth-of-type(4) {display: none;}

  .tbllist td {
    padding: 10px 16px;
  }




  .ratebtn, .act-area .btn-box .ratebtn {
    max-width: 110px;
    display: block;
    margin: 0 0;
  }
  .act-area .radar-chart-2 {
    width: 50%;
    height: 50%;
  }

  .act-area .btn-box .ratebtn, .act-area .ratebtn {
    max-width: 100%;
    font-size: 13px;
    padding: 16px 30px;
    /* display: inline-block; */
  }

  .tbllist th.t9 { 
    font-size: 10px;
    padding: 10px 10px;
  }
  .one-column.edit-layout h4 {
    font-size: 21px;
  }
  .tbllist td.rnkno {
    font-size: 21px;
  }
  .n-head {padding-top: 15px;}

  .tbllist .ttl, .list-table .tbllist .ttl {
    font-size: 14px;
  }

  .ranking-actress .tbllist.actress tr td:nth-of-type(3), .tbllist.actress td:first-child, .tbllist.actress td:last-child {
    padding: 6px 20px;
  }


  .list-table .tbllist .cast, .tbllist.free .ttl a, .tbllist.av .cast, .details .tbllist.free .cast, .tbllist.av td:nth-of-type(3), .details table.free td:nth-of-type(4), .tbllist.av td:nth-of-type(4) {
    font-size: 11px;
    margin: 8px 0 0;
  }
  .list-table .tbllist.free .cast {
    margin: 4px auto 0;
  }


  .main-column.details h5 + .btn-area {
    justify-content: flex-end;
    padding: 0;
    margin-top: -30px;
    margin-bottom: 12px;
  }



  .n-head {
    display: grid;
    grid-template-columns: 1fr auto; /* メインとサイドバーのレイアウト */
    margin: 0 auto;
    padding: 0 16px;
    max-width: 1280px;
    align-items: flex-start;
    justify-content: space-between;
    border-bottom: 0px;
  }
  #site-header {
    /* width: 100%; */
    width: 100vw;
    border-bottom: 1px solid var(--border);
    position: fixed;
    height: 53px;
    top: 0;
  }

  .av-header, .n-head .li-top-nav-wrapper {
    position: relative;
  }
  .n-head .li-top-nav-wrapper {
  padding: 0;
  border-bottom: 0px;
  background-color: transparent;
  }

  #site-header p.notice, .n-head .notice {
    font-size: 11px;
    display: none;
  }

  .n-head .navbar ul { margin: 0px auto; gap: 0px;justify-content: space-evenly;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(8, max-content);
    grid-gap: 4px;
    height: auto;
    place-items: center;
  }


  .n-head.gr-head nav.navbar.li-top-nav {
    padding: 0px 0px 0px 15px;
  }
  .n-head.gr-head .navbar ul {
    column-gap: 0;
  }
  .n-head.gr-head nav.navbar.li-top-nav ul a {
    min-width: 48px;
    padding: 10px 2px;
    gap: .25rem;
  }
  .n-head.gr-head  nav.navbar.li-top-nav .login a {
    min-width: 64px;
  }
  .n-head.gr-head .navbar ul a span.new.icon {
    bottom: inherit;
    right: -4px;
    top: 6px;
  }

  .active .search-bar {
    display: block;
    margin: 4px auto 4px;
    grid-column: 1 / 3;
    grid-row: 2 / 3;
    width: calc(100vw - 0px);
    position: absolute;
    bottom: -66px;
    background-color: var(--surface);
    padding: 10px 40px;
    left: -20px;
  }


  .n-head nav.navbar.li-top-nav ul a {
    font-size: 9px;
    flex-direction: column;
    padding: 10px 2px;
    gap: 6px;
    border-radius: 6px;
    min-width: 40px;
  }
  .n-head nav.navbar.li-top-nav .login, .n-head nav.navbar.li-top-nav .register, .n-head nav.navbar.li-top-nav .logout {
    display: inline-block;
  }
  .n-head nav.navbar.li-top-nav .login a, .n-head nav.navbar.li-top-nav .register a , .n-head nav.navbar.li-top-nav .logout a {
    padding: 8px 12px;
    border-radius: 50px;
  }


  .n-head .navbar .login a, .n-head .navbar .register a, .n-head .navbar .logout a {
    padding: 8px 10px;
    border-radius: 4px;
  }
  .n-head .navbar .register a, .n-head .navbar .login a, .n-head .navbar .logout a {margin-left: 1rem;}
  .n-head .navbar .login a {
    margin-left: 0.25rem;
  }
  .n-head nav.navbar.li-top-nav .register {
    display: none;
  }
  /* .tbllist.actress tr td:last-child{ display: inline-block; } */

  .tbllist .tagarea a {
    padding: 5px 8px;
    font-size: 12px;
    margin: 4px 0px 0 0;
    border-radius: 30px;
  }

  .chkarea div > span {
    display: inline-block;
    margin-bottom: 0;
    margin-right: 5px;
  }
  .chkarea a.btnlnk {margin-left: 0px;}


  .ranking-actress td:nth-of-type(2) a, .list-table .tbllist.actress td:first-child a {
    width: 120px;
    height: 120px;
  }


  /* 関連コンテンツ */
  .type-a.act-layout, .type-d, .type-d.popular {
    width: 100%;
    padding: 0px 40px 20px;
    margin-bottom: 1.75rem;
    grid-template-columns: repeat(5, auto);
    justify-content: space-between;
  }

  #rank-actress .type-a.act-layout {
    grid-template-columns: repeat(4, auto);
  }
  .details .type-d {padding: 5px 40px 30px;}

  .mypage .type-a.act-layout {
    grid-template-columns: repeat(4, auto);

  }


  .btnlnk.action-button {
    margin: 1.75em auto 2.75em;
    padding: 12px 8px;
    font-size: 80%;
  }
  .front .main-column.type-a.act-layout {
    display: flex;
  }

  .front .type-a.act-layout {
    background-color: transparent;
    border-radius: 12px;
    grid-template-columns: repeat(5, auto);
    margin-bottom: 0;
    grid-gap: 0;
    row-gap: 2rem;
  }


  #main-area .ml-grid,
  .video-posts-container, 
  .front .actress-grid, 
  .front .amateur-box.actress-grid, 
  .front .doujin-list.grid, .front .books-list .list-items,
  .front .type-slide.a-jacket, .front .grid.amateur-list {
    padding: 2px 40px 10px;
    width: 100%;
    grid-gap: .75rem;
    row-gap: 1.25rem;
  }
  #main-area .ml-grid {
    grid-template-columns: repeat(3, auto);
    row-gap: .75rem;
  }
  #main-area .ml-grid .ml-item {
    width: 100%;
    max-width: 280px;
  }

  .front .video-posts-container .post-card, .type-slide .av-item, 
  .front .amateur-box .actress-card,
  .doujin-detail .doujin-list.grid .card, .related-block .cards .card, .books-detail .books-list .list-items .item, .front .grid.doujin-list .card, .front .books-list .list-items .item {width: 100%;}

  .front .amateur-box.actress-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .front .video-posts-container {
    grid-template-columns: repeat(4, 1fr);
  }
  .amateur-box .actress-card {
    padding: 1.0rem;
    column-gap: 1rem;
  }

  .front .type-a.act-layout tbody tr {
    grid-template-columns: repeat(5, auto);
    gap: 1.25rem;
  }

  .type-a.act-layout td {
    padding: 0 0px;
  }
  .pickup {
    width: calc(100% / 5);
  }
  .details > .pickup {
    width: 210px;
    display: inline-block;
  }

  .free-data table a {
    overflow: hidden;
    text-overflow: ellipsis;
    position: relative;
  }
  .free-data table {
    width: auto;
    display: block;
    overflow: hidden;
  }
  .free-data tr td {
    grid-template-columns: auto auto;
  }

  .pickup a {
    display: block;
    position: relative;
    width: 100%;
  }
  .pickup + a {
    width: 100%;
    height: 27.5vw;
  }
  .act-layout .pickup {
    width: 100%;
    float: inherit;
    display: inline-block;
  }
  .act-layout .pickup > a, .act-layout td > a:first-child {
    width: 120px;
    height: 120px;
  }




  .type-d, .type-d.popular {
    gap: 10px;
    border-radius: 0;
    background-color: transparent;
    grid-template-columns: repeat(4, 23.5%);
    margin-bottom: 0;
  }

  .front .type-a .pickup a {
    width: 120px;
  }
  .type-d .pickup a {
    width: 100%;
    height: 105px;
  }
  .type-d.popular .pickup a {
    height: 105px;
  }
  .side-history table tbody { 
    gap: 10px;
    grid-template-columns: repeat(4, auto);
  }


  .details .type-a:not(.act-layout) {
    padding: 10px 0px 20px;
    grid-template-columns: 1fr 1fr 1fr;
  }

  .list-table .tbllist.actress td:first-child, .tbllist.av td.jacket, .main-column:not(.ranking-table) .tbllist .thumbimg {
    padding: 12px 12px 12px;
  }

  .tbllist.av td.jacket {
    width: 100%;
  }

  .list-table .tbllist.free .thumbimg {
    padding: 0px 0px;
  }
  .details .chkarea, .list-table .chkarea {margin: 0 auto;
  padding: 30px;}



  .av-data, .main-column.add-video-area.type-static, .tab-box {
    width: calc(100% - 0px);
    padding: 3.5%;
    margin: 30px auto 30px;
  }

  .av-data, .main-column.add-video-area.type-static {
    padding: 30px 20px 20px;
    margin: 30px auto 30px;
    border-radius: 12px;
  }
  .av-data {
    margin: 30px 40px 30px;
    width: calc(100% - 80px);
  }

  .main-column.add-video-area.type-static {
    margin: 30px 40px 0px;
    width: calc(100% - 80px);
  }
  #add-slick.slick-slider {
    margin: 20px auto;
  }


  .item.item--linkbox {
    padding: 24px 5% 16px;
    margin: 2rem auto 0px;
    width: calc(100%);
    border-radius: 12px;
  }
  .item .title-box {
    padding: 0 5% 16px;
    margin: 2rem auto 0px;
    width: calc(100%);
  }

  .item.item--linkbox .link-li {
    gap: 2.5%;
  }
  .item.item--linkbox .linkbox {
    width: calc((100% - 5%) / 3);
  }
  .item.item--linkbox .imgbox {
    height: 295px;
    max-height: inherit;
  }
  ul.tab li {
    font-size: 13px;
  }
  .details .tbllist td[colspan="5"] .nocnt {
    font-size: 14px;
  }
  .front #main-area .item.item--linkbox h2, .add-contents a.btnlnk {
    font-size: 16px;
  }


  .tag-grid-list {
    padding: 20px 40px;
  }
  .tag-grid-list a {
    min-width: 80px;
    font-size: 15px;
    padding: 18px 18px 18px 52px;
  }
  .btn-box .btnlnk.nmlbtn {
    max-width: 300px;
    font-size: 14px;
    padding: 16px 24px;
    border-radius: 50px;
  }

  .tbllist.actress th:nth-of-type(6), .ranking-table .tbllist.free th:nth-of-type(5), .tbllist.actress td:nth-of-type(6), .ranking-table .tbllist.free td:nth-of-type(5) {
    padding-right: 10px;
  }
  .ranking-actress td:nth-of-type(2) {
    padding-right: 5px;
  }

  /* .tbllist td.ratetbl, .tbllist.actress td:nth-of-type(6) {
    padding-right: 20px;
  } */

  .pagination {
    padding: 0 20px;
    text-align: center;
  }
  .pagination .prev, .pagination .next {
    padding-left: .75rem;
    padding-right: .75rem;
  }



  .tab-box h3 {
    font-size: 21px;
  }
  .tab-box .desc {
    font-size: 15px;
    margin: 0.5rem auto;
    text-align: center;
  }
  .side-column .tab-box .desc {
    font-size: 13px;
  }

  .tag-grid-list a i {
    top: 12px;
    left: 12px;
    width: 28px;
    height: 28px;
  }

  #main-area h2 span.ballon {
    top: -36px;
    left: 0px;
    font-size: 14px;
  }

  .front h2 .detail-link a { 
    font-size: 12px;
    padding: 8px 20px;
  }

  .front #main-area a[name="kako24"] + h2 {
    margin-top: 4.75rem;
  }

  .ranking-table .chkarea {
    padding: .25rem 40px 1.75rem;
  }



  .bn-box.sticky, .hide .bn-box.sticky, .ranking-table .chkarea.sticky, .hide .ranking-table .chkarea.sticky, .slider.sticky, .hide .slider.sticky {
    top: 53px;
  }


  .details .search_result_free table {
    margin: 0px auto 40px;
    border-radius: 8px;
    width: calc(100% - 0px);
  }
  .details .search_result_free table.free tr:not(:first-child) {
    grid-template-columns: 30px auto 1fr auto;
    gap: 15px;
  }

  .details .search_result_free table.free td.thumbimg {
    width: 200px;
    padding: 12px 12px;
  }
  .details .search_result_free table.free td:nth-of-type(5) {
    padding-right: 40px;
    width: inherit;
    font-size: 120%;
  }

  .search-bar {
    display: block;
    padding: 0;
    grid-column: 3 / 4;
    margin: 0 auto 0;
    width: 100%;
  }
  ul.h-menu li.search {
    display: none;
  }

  .free-area .thumb a {
    height: 100%;
    padding-top: 56.25%;
  }
  .free-area .thumb {
    height: 100%;
  }

  .act-area .btn-box {
    display: flex;
    margin: 0 0;
    padding: 0;
    width: 100%;
    column-gap: 8px;
    align-items: center;
  }
  .act-area .rate-table {
    max-width: inherit;
    font-size: 13px;
    margin: 0 auto .5rem;
  }
  .act-area .rate-table td:last-child {
    font-size: 120%;
  }
  .home .free-video-list ul li:last-child {
    display: block;
  }

  .adv-content .afflink a {
    margin-top: 0;
  }

  .pp-bn {
    max-width: 320px;
    margin: 0 auto;
  }

  .pickup-b.pp-bn {
    max-width: inherit;
    padding: 0px 40px 40px;
  }
  .pickup-b.pp-bn .banner-container {
    display: grid;
    grid-template-columns: repeat(3, auto);
    align-items: center;
    justify-content: space-between;
  }
  .pickup-b.pp-bn .banner-item {
    min-width: 100%;
  }

  .grid-li {
    margin: 3.5rem auto;
    padding: 0 0px;
    gap: 2.5rem;
    width: calc(100% - 80px);
    grid-template-columns: repeat(4, auto);
  }

  .adv-content .afflink .title, a.aclass_afflink p.pclass_afflink {
    padding: 1.0rem .75rem;
  }
  .type-static.filter-tag .tag-grid-list a {
    min-width: inherit;
    padding: 1rem .75rem 1rem 2.5rem;
    font-size: 12.5px;
  }
  .type-static.filter-tag .tag-grid-list a i {
    top: 12px;
    left: 12px;
  }

  section.video-jacket.fz iframe {
    position: relative;
    min-height: 480px;
  }

  section.video-jacket.fz {
    aspect-ratio: inherit;
    padding: 0;
  }


  }

  @media screen and (min-width: 769px) {

  }

  @media screen and (min-width: 768px) and (max-width: 1024px) {
    /* 画面サイズが768pxから1024pxまではここを読み込む */

    
    .twitter-widget {
      width: auto;
      margin: 0 0;
    }




    .tbllist.actress th:nth-of-type(6), .ranking-table .tbllist.free th:nth-of-type(5), .tbllist.actress td:nth-of-type(6), .ranking-table .tbllist.free td:nth-of-type(5),  .tbllist .ratetbl {
      padding-left: 1rem;
      padding-right: 40px;
    }
    .main-column.details h5 + .btn-area {
      padding-right: 40px;
    }
    .details .type-a:not(.act-layout) {
      padding: 10px 40px 20px;
    }

    .list-table .tbllist.free, .details .search_result_free table {
      margin: 0 40px 2rem;
      width: calc(100% - 80px);
    }

    .one-column .act-video-list table {
      margin: 0 auto;
      width: 100%;
    }
    .actress-block, .tab-box, .details .chkarea, .list-table .chkarea {
      width: calc(100% - 80px);
    }
    .details .chkarea, .list-table .chkarea {margin-bottom: 30px;}
    .free-data {
      width: calc(50% - 0px);
      overflow: hidden;
    }

    .free-data tr td {
      width: auto;
    }
    .grid-view .av-list-container .no-cnt {
      grid-column: 1 / 4;
    }
    

    .details #mgs-main-bottom.bn-section {
      margin: 2.25rem 0 4.75rem;
    }

    
  }

  @media screen and (min-width: 920px) {
    /* 画面サイズが1024pxからはここを読み込む */
    /* 検索エリア */
    body {
      padding-top: 62px;
    }
    #main-area {
      gap: 0px;
    }
    #site-header {
      width: 100%;
      height: 62px;
    }
    .footer {
      padding: 2.5rem 0px 4.75rem;
    }
    .details #mgs-middle { 
      margin: 2.5rem auto;
    }

    .grid-li {
      margin: 0 auto .75rem;
    }

    #main-area .ml-grid {
      grid-template-columns: repeat(3, auto);
      padding: 0;
    }
    
    .details .recommended-videos section.type-slide.a-jacket {
      gap: 1.0rem;
      row-gap: 1.25rem;
    }
    section.video-jacket {
      border-radius: 12px;
    }

    .detail-main {max-width: 1200px;padding: 0px 0px;  margin:0 auto;}

    .doujin-list .list-items, .books-list .list-items {
        grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
        gap: .75rem;
        padding: 0 40px 20px;
        row-gap: 1.5rem;
        /* max-width: 1200px; */
        margin: 0 0;
    }


    .front .amateur-box.actress-grid {
      grid-template-columns: repeat(2, 1fr);
      display: grid;
      padding: 0;
      row-gap: 1.25rem;
    }
    .amateur-box.actress-grid .actress-info {
      width: 100px;
    }
    
    
    .front .grid.doujin-list .card, .front .books-list .list-items .item {
      width: 100%;
      max-width: 200px;
    }

    .doujin-list.grid, .related-block .cards, 
    .books-detail .books-list .list-items, 
    .front .books-list .list-items, .front .doujin-list.grid {
      padding: 2px 1px 20px;
      width: 100%;
      grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
      grid-template-columns: repeat(4, 1fr);
      display: grid;
      grid-gap: .75rem;
      row-gap: 1.25rem;
      /* display: flex;
      flex-wrap: wrap; */
    }

    .doujin-detail .doujin-list.grid { padding: 0;}


    .front .doujin-list.grid, .front .books-list .list-items {
      grid-template-columns: repeat(auto-fill, minmax(165px, 1fr));
      grid-template-columns: repeat(5, 1fr);    
    }


    .related-block .cards {
      grid-template-columns: repeat(auto-fill, minmax(142px, 1fr));
    }


    .books-detail .detail-main {
      padding: 0px 0px;
      width: 100%;
    }
    #side-bar .books-list .day-head {
      margin: 0px;        padding: 10px 20px;
  }

    #side-bar .books-list .day-block .list-items,  #side-bar .books-list .list-items {
      padding: 1px 1px 20px;
    }
    #side-bar .books-list .list-items {
      grid-template-columns: repeat(2, 1fr);
      gap: .75rem;
      row-gap: 1.25rem;
    }

    #side-bar .day-head {
      padding: 10px 10px 10px 16px;
    }
    #side-bar .day-head:before {
      left: 0px;
    }


    .books-detail .books-list .list-items .item, .front .grid.doujin-list .card, .front .books-list .list-items .item {
      width: 100%;
      max-width: 220px;
    }



    .doujin-list .ntc-msg, .books-list .ntc-msg {
      margin: .25rem 40px 1.75rem;
    }

    .front .actress-grid, .video-posts-container {
      padding: 2px 0px 10px;
    }

    section.video-jacket.fz {
      position: relative;
      padding: 0;
      margin: 0 auto 1.25rem;
      aspect-ratio: inherit;
    }

    section.video-jacket.fz iframe {
      position: relative;
      min-height: 480px;
    }

    section.video-jacket.fz {
      aspect-ratio: inherit;
    }

    .books-list .toolbar form {
      padding: 0;
      grid-template-columns: 1fr ;
      gap: .5rem;
    }

    .notice { 
      width: auto;
      font-size: 11px;
      margin: 1.25rem auto .75rem;
    }
    #mgs-middle, #mgs-side-long, #mgs-Stop-long, .bn-section {
      background-color: transparent;
      padding: 0 0;
    }



    #mgs-side-top.bn-section {
      margin: 0 auto;
      padding: 0rem;
    }
    .side-column h2.jusleft {
      margin: 0 0px 0.25rem;
    }
    .grid-li {
      grid-template-columns: repeat(2, auto);
      gap: .75rem;
      width: calc(100% - 0px);
    }
    
    .details section.type-slide {
      width: 100%;
    }
    .affiliate-adv {
      border-radius: 12px;
      margin: .5rem 0;
    }
    .pickup-b.pp-bn {
      padding: 0px 0px 40px;
    }
    .pickup-b.pp-bn .banner-container {
      grid-template-columns: 1fr;
    }
    .actress-block {
      width: calc(100% - 0px);
  }
  .info-block {
    width: calc(100% - 0px);
  }

    .main-column.details h5.adv-title {
      /* padding: 1.25rem 24px .5rem; */
      text-align: center;
    }
    .main-column.details h5.free-title {
      padding: 10px 4px 10px 24px;
      width: calc(100% - 0px);
    }

    .av-data {
      width: calc(100% - 0px);
      margin: 0 auto;
    }

    iframe.reco-3column-iframe {
      height: 280px;
    }

    #main-area.doujin-list, #main-area.books-list {
      max-width: 1200px;
      width: 100%;
      margin: 0 auto;
    }

    .samples .profile-title {
      width: calc(100% - 0px);
    }
    .books-list .range-btn {
      width: inherit;
      align-self: end;
    }
    


    .type-static.filter-tag .tag-grid-list a {
      font-size: 13px;
    }
    .main-column.list-view .av-item {
      width: calc(100% - 0px);
      margin: 0 auto;
      padding: 10px 0px;
    }

    .adv-content .dmm-section .afflink {
    }
    .free-title:before {
      left: 0;
    }
    
    .front .slider.sticky {
      position: relative;
      top: inherit !important;
    }

    .type-slide.a-jacket img.av-image {
      /* max-height: 285px;
      height: 27.5vw; */
    }

    .type-slide img.av-image {
      object-position: 100% 0;

      /* max-height: 200px;
      height: 16.75vw; */

    }
    section.type-slide.a-jacket, section.type-slide.l-jacket, section.type-slide {
      padding-top: 0;
      padding-left: 0;
      padding-right: 0;
      grid-template-columns: repeat(3, 1fr);
    }
    section.type-slide.l-jacket {
      grid-template-columns: repeat(auto-fill, minmax(189.5px, 1fr));

      grid-template-columns: repeat(3, 1fr);
      row-gap: 1.25rem;
    }

    .maker-list.grid {
      margin: 0 0px;
  }
    .countline {
      padding: 0rem 0px .5rem;
    }

    
    .front .type-slide.a-jacket, .front .grid.amateur-list {
      padding: 2px 0px;
    }

    .front .type-slide.a-jacket .av-item:nth-child( n+10 ) {
      display: none;
    }

    .details section.type-slide.a-jacket {
      grid-template-columns: repeat(4, 1fr);
      /* grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); */
      row-gap: 1.75rem;
      margin-bottom: 1.75rem;
    }
    .details .other-works-block section.type-slide {
      /* grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); */
      grid-template-columns: repeat(3, 1fr);
    }


    .details .type-slide.a-jacket img.av-image {
      max-height: 265px;
      max-height: 240px;
      height: 20.5vw;
    }  

    
    .type-slide.l-jacket img.av-image {
      max-height: 275px;
    }

    section.type-slide {
      /* grid-template-columns: repeat(3, auto); */
      grid-template-columns: repeat(5, 1fr);
      width: 100%;
    }

    .type-a.act-layout tbody tr {
      gap: 10px;
      grid-template-columns: repeat(5, 1fr);
  }


    .type-slide.a-jacket .av-item, .type-slide .av-item, .type-slide.l-jacket .av-item {
      width: 100%;
      max-width: inherit;
    }
    .details .type-slide.l-jacket .av-item {
      width: 100%;
      max-width: 390px;
    }
    
    .bn200 { width: 100%; height: 200px;margin: 0 auto; }
    span.balloon {
      left: 0px;
    }
    #main-area .add-video-area h2 {
      font-size: calc(.15vw + 16px);
    }

    .bn-box.sticky, .hide .bn-box.sticky, .ranking-table .chkarea.sticky, .hide .ranking-table .chkarea.sticky, .slider.sticky, .hide .slider.sticky {
      top: 62px;
    }



    #av-logo {
      grid-template-columns: 200px auto 1fr;
      gap: 6px;
      padding: 5px 0;
    }
    ul.h-menu {
      margin: 0;
      grid-template-columns: 36px;
    }

    ul.h-menu li.search {
      display: none;
    }
    .search-bar {
      display: block;
      padding: 0;
      grid-column: 3 / 4;
      margin: 0 auto 0;
      width: 100%;
    }
    .n-head .navbar ul { 
      grid-gap: 0px;
    }
    .av-logo a {
      width: 200px;
    }

    .header-bottom-area.actress-ad-container {
      display: none;
    }
    /* .free-video-list ul {
      grid-template-columns: 1fr 1fr 1fr;
      gap: 20px;
      row-gap: 40px;
    } */



    .free-area {
      margin-left: 0px;
      width: calc(48.0% - 20px);
    }
    .item.jumbotron {
      border-radius: 12px;
      margin-top: 24px;
    }
    .front .tab-box 
    {
      margin: 0px auto 0px;
      width: 100%;
      border-radius: 12px;
      padding: 3.5% 0 0;
    }
    
    .free-data tr td {
      width: calc(90% - 30px);

    }
    td.chbox, td.sort, form .chkarea input[type="submit"] {
      /* display: inherit; */
    }
    .details table.free tr:not(:first-child) {
      grid-template-columns:auto auto 1fr;
    }
    .details table.free td.chbox {
      position: absolute;
    }

    ul.DisplayMode {padding-right: 0;}
    .type-static.filter-tag {
      padding: 0px 0px;
    }
    .grid-view .tbllist.av tbody {
      margin: 0 auto;
      width: 100%;
      gap: 15px;
      row-gap: 24px;
    }
    .grid-view .tbllist.actress tbody {
      margin: 0 auto;
      grid-template-columns: repeat(4, 1fr);
      width: 100%;
    }
    .grid-view .tbllist.actress, #sns-box {
      margin: 0 auto;
      width: calc(100% - 0px);
    }

  .tbllist .tagarea {
      min-height: 22px;
      -webkit-line-clamp: 1;
  }

  .bn-box.sticky {
    /* display: none; */
  }

  footer.footer .credit:before {
    width: 25%;
    }

    .details .type-a.act-layout .pickup > a {

    }

    .n-head .navbar ul a, .tag-grid-list a, .list-search.tab-inner li a, .chkarea a.btnlnk, .side-column.side-list table td a, .side-column.side-tag ul a, .pagination a:not(.selected), .go-to-top-button, .ratebtn {
      transition: color 0.1s ease-in-out, background-color 0.15s ease-in-out;
    }
    .n-head .navbar ul li a i, .go-to-top-button i {
      transition: background-color 0.15s ease-in-out;
    }
    .bn-box {
      margin: 30px auto;

      padding: 50px;
    }


    .side-history table td > a:first-child {
      width: 60px;
      height: 60px;
    }
    .side-column.add-contents .inner {
      gap: .25rem;
      margin: 0 auto 1.25rem;
      width: 90%;
    }
    .side-column.add-contents a.addcnt {
      padding: 8px 12px 8px;
      width: auto;
      /* flex-direction: column; */
      gap: 2px;
      text-align: center;
    }
    .details .bn-box {
      margin: 50px auto 30px;
      padding: 0px 0;
    }
    .bn-box.sticky {
      position: relative;
      top: inherit;
    }

    .act-profile:before {
      top: 0px;
    }
    .act-profile table span, .av-data .prof-table td:first-child {
      font-size: 85%;
    }

    .main-column:not(.details) h1 {
      padding: 30px 0px 15px;
      justify-content: flex-start;
      gap: 10px;
    }

    .list-table .tbllist.free {
      margin: 0 0px 2rem;
      width: calc(100% - 0px);
    }

    .n-head .navbar ul a {
      padding: 10px 5px;
      border-radius: 6px;
    }
    .n-head nav.navbar.li-top-nav ul a {
      font-size: 10px;
      min-width: 48px;
    }
    .n-head nav.navbar.li-top-nav .login a, .n-head nav.navbar.li-top-nav .register a, .n-head nav.navbar.li-top-nav .logout a {
      padding: 10px 10px;
      border-radius: 50px;
      font-size: 11px;
  }
  .n-head .navbar .register a, .n-head nav.navbar.li-top-nav .register a, .n-head .navbar .login a, .n-head nav.navbar.li-top-nav .login a {
      font-size: 10px;
    }


    .n-head .navbar ul a:hover, .chkarea a.btnlnk:not(.selected):hover, .side-column.add-contents a.addcnt:hover {
      color: var(--text-info);
      background-color: var(--surface-info);
    }
    .n-head .navbar ul .register a:hover {
      background-color: var(--yellow-100);
      color: var(--orange-600);

    }

    .pagination a:not(.selected):hover {
      color: var(--text-info);
      background-color: var(--surface-info);
    }
    .go-to-top-button:hover {
      background-color: var(--text-info);
      color: var(--surface);
      border: 0px solid var(--text-info);
    }
    .go-to-top-button:hover i:before {
      background-color: var(--surface);
    }

  .act-area .btn-box .ratebtn:hover {
      background-color: var( --icon-interactive-hover);
    }


    .n-head .navbar ul li a:hover i {
      background-color: var(--text-info);
    }


    .detail-main .sample-scroll a img,
    .type-d .pickup a img, .act-layout .pickup > a img, .act-layout td > a:first-child img, .doujin-list .list-items .item .thumb img, .books-list .list-items .item .thumb img, .related-block .card img, .a-jacket .av-link img, .ml-thumb img {
      transform: scale(1);
      transition: transform 0.2s ease-in-out, opacity 0.25s ease-in-out;
    }
    .detail-main .sample-scroll a:hover img,
    .type-d .pickup a:hover img , .act-layout .pickup > a:hover img, .act-layout td > a:first-child:hover img, .doujin-list .list-items .item .thumb:hover img, .books-list .list-items .item .thumb:hover img, .a-jacket .av-link:hover img, .ml-thumb:hover img {
      transform: scale(1.1);
      transition: transform 0.2s ease-in-out, opacity 0.25s ease-in-out;
    }

    .list-search.tab-inner li a:hover {
      background-color: var(--surface-info);
      border: 1px solid var(--surface-info);
      color: var(--text-info);
    }

    .side-column.side-list table td a:hover, .side-column.side-tag ul a:hover {
      /* background-color: var(--text-info);
      color:var(--surface-info); */

      background-color: var(--surface-info);
      color: var(--text-info);
    }
    
    .tag-grid-list a:hover {
      background-color: var(--text-info);
      color: var(--surface);
    }


    .main-column h1, .main-column.details h1, .rnkcnt, .front #main-area h2, .main-column h1 {
      padding: 24px 0px 20px;
    }

    .grid-view .tbllist.actress .rnkcnt {
      padding: 12px 0px 4px;
    }
    
    .main-column.details h1 {
      font-size: clamp(14px, calc(1.5vw + 20px), 22px);
    }

    
    .av-logo img {
      /* width: 200px;
      height: auto; */
    }
    .n-head {
      padding-top: 6px;
      padding-bottom: 6px;
    }

    .type-act-block table tr, .main-column.type-act2 table tr {
      grid-template-columns: repeat(5, 1fr);
    }

    #main-area h2, .front #main-area h2, .front #main-area a[name="kako24"] + h2, .front #main-area .type-a.act-layout + h2 {
      margin: 3.75rem auto 0.75rem;
      padding: 1.0rem .25rem 1.0rem 1.5rem;
    }

    #main-area .details h2:not(.ttl) {
      padding: 10px 0 10px 24px;
      width: calc(100% - 0px);
      display: flex;
      font-size: clamp(14px, calc(1.25vw + 16px), 21px);
    }
    #main-area .details h2:not(.ttl):before { left: 0;} 
    #main-area .details .act-profile h2 {
      text-align: left;
      padding: 0;
      font-size: .9rem;
    }
    .details h2 .detail-link a {
      font-size: 12px;
      padding: 10px 16px;
    }

  50
    .front #main-area a[name="kako24"] + h2 {
      margin-top: 4.75rem;
    }
    .front #main-area h2, .ttl-label {
      font-size: 21px;
      width: 100%;
      margin: .75rem 0 0;
      padding: 14px 0px 14px 24px;
    }
    .type-c.av-layout {
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
      gap: .75rem;
      row-gap: .75rem;
      width: calc(100% - 0px);
  }

    .front #main-area h2:before {
      left: 0px;
    }

    .type-static.main-search-area {
      border-top: inherit;
    }
    .front #main-area h2 span, .item .title-box span {
      font-size: 12px;
    }
    .ttl-label {
      padding: 16px 16px;
    }
    .n-head .av-header form.form-search {
      grid-template-columns: 110px 1fr auto;
      justify-content: space-between;
    }
    .n-head .av-header form.form-search::after {
      left: 92px;
      top: calc(50% - 3px);
    }
    .main-column h1 {
      padding: 30px 0px 20px;
    }
    .list-search.tab-inner {
      justify-content: center;
      margin: 5px 20px 10px;
      gap: 10px;
    }
    .list-search.tab-inner li a {
      padding: 12px 16px;
      font-size: 12px;
  }


    .n-head .navbar ul {
      justify-content: space-between;
      padding: 0px 0px;
      margin: 0px auto;
      grid-gap: 6px;
      height: 100%;
    }
    nav.navbar.li-top-nav {
      width: 100%;
      padding: 0px 0px 0px .5rem;
      grid-template-columns: auto;
      margin: 0;
    }

  
    .site_body {
      padding: 0 30px;
    }
    .footer .credit {
      padding: 0 20px;
    }
    .mincasi-area {
      height: 450px;
    }
    .act-video-list table tbody {
      grid-template-columns: 1fr 1fr;
      grid-template-columns: auto;
      gap: 15px;
    }
    .details .tbllist.av tbody {
      gap: .5rem;
      row-gap: .5rem;
    }
    .grid-view .details .tbllist.av tbody {
      gap: 1.0rem;
      row-gap: 1.5rem;
    }


    .side-column h2, .side-column h3, .side-column h4, .side-column h5 { font-size: 14px;}
    .side-column ul, .side-list a {
      font-size: 14px;
      gap: .5rem;
      row-gap: .75rem;
      padding: 0 0px;
      grid-template-columns: repeat(3, 1fr);
    }
    .side-list.side-column table {
      width: 100%;
      margin: 0px auto .75rem;
    }
    .side-list.side-column {
      display: none;
    }
    .side-column h2, .side-column h3, .side-column h4, .side-column h5 {
      margin: 0px 0px 8px;
    }
    .side-column.side-list table td a, .side-column.side-tag ul a {
      padding: 10px 0;
      text-align: center;
      font-size: 10px;
    }
    .side-column.side-listbox {
      padding: 7.5% 0px;
      background-color: transparent;
    }

    .side-column.side-listbox ul {
      grid-template-columns: repeat(1, 1fr);
    }

    .side-column ul {margin-top: 8px;}
    .side-listbox ul {
      gap: 8px;
      margin-top: 8px;
    }
    .site_body, #side-bar {
      gap: 24px;
    }




    .site_body {
      grid-template-columns: auto 250px; /* メインとサイドバーのレイアウト */
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px;
    }

    #main-area.one-column {
      grid-row: 1 / 2;
      grid-column: 1 / 3;
      padding: 60px;
      max-width: 560px;
      margin: 60px auto;
    }
    #main-area.one-column.edit-layout {
      max-width: 800px;
    }

    form.add_fm_box input[type="submit"], form.form-search input[type="submit"] {
      padding: 10px 14px;
      font-size: 13px;
    }
    form.form-search select { padding: 8px 12px; font-size: 11px;
      line-height: 1;}
    form.form-search input[type="text"] { padding: 8px 8px;min-width: 80px;}


    .edit-layout .act-area {
      width: 240px;
    }
    .edit-layout .act-profile {
      padding: 0px 40px 0px 280px;
    }
    .edit-layout .act-profile table {
      font-size: 13px;
    }
    .edit-layout .act-area .thumb {min-height: inherit;}
    .edit-layout .act-area .thumb, .edit-layout .act-profile {
      height: 240px;
    }
    .main-column.ranking-table h1 { 
      padding: 30px 0px 15px;
    }
    #main-area h2 i {
      width: 34px;
      height: 34px;
    }
    
    .details .type-a.act-layout {
      width: 100%;
      border-radius: 0;
      display: grid;
      gap: 0rem;
      grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
      row-gap: 1.75rem;
      padding: 0.75rem 0;
      
    }
    .container {
      max-width: 1200px;
      margin: 0 auto;
    }

    .sidebar-scroll {
      position: -webkit-sticky;
      position: sticky;
      top: 85px;
      row-gap: 2rem;
  }
    .side-column {
      padding: 0px 0px;
    }
    .side-column.side-history {
      padding: 0px 0px;
    }
    #side-bar {
      gap: 30px;
      padding-top: 24px;
      padding-bottom: 2rem;
      align-content: flex-start;
    }
    .side-column.side-list table td {    font-size: 60%;
      text-align: right;
      line-height: 5px;

    }
    .side-column.side-list table td a {
      display: block;
      padding: 4px 6px;
      width: 100%;
      margin: 0;
      line-height: 16px;
      height: 23px;
      font-size: 10px;
    }
    .side-column.add-contents {
      margin-top: 0;
      padding: 0px;
      border-radius: 8px;
      row-gap: .5rem;
      width: 250px;
    }
    #mgs-side-top.bn-section iframe {
      width: 250px;
    }
    .side-history table tbody {
      gap: 0px;
      grid-template-columns: repeat(3, auto);
    }
    .ranking-table .chkarea {
      padding: 20px 0px;
    }
    .side-column.side-listbox {
      padding: 0 0px;
    }

    .add-contents a.btnlnk i {
      width: 44px;
      height: 44px;
    }

    .add-contents a.addcnt p {
      font-size: 12px;
      flex: 1;
  }
    .add-contents a.addcnt p span {
      font-size: 14px;
    }
    .add-contents a.btnlnk {
      width: auto;
      padding: 10px 10px 10px 10px;
      margin: 5px 0;
    }


    .header-type-2 {
      font-size: 12px;
      padding: .75rem .75rem;
      border-radius: 8px 8px 0 0;
    }
    .add-contents .desc {font-size: 10px; }
    .side-column.add-contents .desc {
      font-size: 12px;
      width: 76%;
      margin: 8px auto;
      padding: 0 0px;
    }

    .main-column.list-view .av-item .jacket img {
      height: 128px;
    }

    .side-column.add-contents a.btnlnk i {
      width: 26px;
      height: 26px;
  }
    .side-column.add-contents a.addcnt p span {
      font-size: 11px;
    }

    .tbllist.av td.jacket, .tbllist .thumbimg {
    }

    .tbllist.av td.jacket, .tbllist .thumbimg, .details table.free.tbllist .thumbimg {
      max-width: 265px;
    }

    .list-view .details .tbllist.av td.jacket {
      /* width: 180px; */
      width: 100%;
      max-width: 220px;
    }
    .act-video-list table {
      margin: 0 0px 2.75rem;
      width: calc(100% - 0px);
    }
    .one-column .act-video-list table {
      margin: 0 auto;
      width: 100%;
    }
    .wiki-lnk {
      padding: 0px 0px 1rem 2.0rem;
    }
    .wiki-lnk:before {
      left: 0.25rem;
      }
    .details p.notice {
        padding: 20px;
        margin: 1rem auto 1.75rem;
        width: calc(100% - 0px);
    }
    .ranking-table .tbllist.free td:nth-of-type(5), .details table.free.tbllist td:last-child {
      min-width: 100px;
    }
    .tbllist.actress tr td:last-child .ratebtn {
      margin: 0;
      max-width: 180px;
      padding: 12px 16px;
      display: inline-block;
      width: 100%;
      white-space: nowrap;
  }



    .act-area {
      grid-template-columns: 320px auto;
    }
    .act-profile {
      padding: 6% 3% 4% 3%;
      width: calc(60% - 40px);
  }
  .twitter-widget {
    width: 100%;
    margin: 0 0;
  }
  .act-profile, .free-data {
    margin-right: auto;
  }
  form.add_favorite, ul.sns-btn {
    top: -2.75rem;
    right: .5rem;
  }
  .main-column.details h4, .main-column.details h5 {
    padding: 24px 0px 10px;
    font-size: 18px;
  }
  .profile-title, .free-title, .heading-title {
    padding: 12px 24px;
    width: calc(100% - 0px);
  }
  .profile-title:before, .heading-title:before {
    left: 0px;
  }

    .list-table .tbllist.free tbody {
      grid-template-columns: 1fr 1fr 1fr 1fr;
      gap: 12px;
      row-gap: 20px;
    }
    .details .type-a:not(.act-layout) {
      grid-template-columns: 1fr 1fr 1fr 1fr;
    }
    .main-column.details h5 + .btn-area {
      padding-right: 0px;
    }
    .wiki-box {
      grid-template-columns: 1fr 1fr;
      gap: 15px;
      margin: 0 0px 40px;
    }
    .act-area .thumb {
      min-height: 320px;
      max-height: 420px;
      height: 42.5vh;
      border-radius: 12px;
      overflow: hidden;
    }
    .ranking-actress td:nth-of-type(2) a, .list-table .tbllist.actress td:first-child a {
      width: 108px;
      height: 108px;
    }
    .type-d, .type-d.popular {
      gap: 15px;
      padding: 0px 0px;
      grid-template-columns: repeat(4, 23%);
    }
    .books-list .day-block .list-items {
      grid-template-columns:repeat(2, 1fr);
    }

    

    .front .type-a.act-layout {
      padding: 20px 20px;
      padding: 0px 0px;
      grid-template-columns: repeat(5, auto);
      background-color: transparent;
    }
    .front .main-column.type-a.act-layout {
      grid-template-columns: 1fr;
    }


    .act-layout .pickup > a, .act-layout td > a:first-child {
      /* width: 108px;
      height: 108px; */
    }
    
    .front .type-a .pickup a {
      width: 108px;
      height: 108px;
    }
    .front .type-a .pickup p a {
      height: inherit;
    }

    .front .act-layout td > a:first-child {
    width: 120px;
    height: 120px;
    }
    .grid-view .list-table .tbllist.actress td:first-child a {
      width: 11.5vw;
      height: 11.5vw;
    }
    .front .type-a.act-layout tbody tr {
      grid-template-columns: repeat(5, auto);
      gap: .75rem;
      row-gap: 1.75rem;
    }
    .front .type-a.act-layout td {
      padding: 0 15px;
    }

    #js-slick.slider .inner {
        padding: 16px 20px;
        gap: 20px;
    }
    #js-slick.slider .inner i, #menu-slick.slider .inner i {
      width: 150px;
      height: 54px;
    }
    #js-slick.slider p {
      font-size: 21px;
    }

    .main-column.add-video-area.type-static {
      margin: 30px 0px 0px;
      width: 100%;
    }

    .tbllist.actress th:nth-of-type(6), .ranking-table .tbllist.free th:nth-of-type(5), .tbllist.actress td:nth-of-type(6), .ranking-table .tbllist.free td:nth-of-type(5), .tbllist .ratetbl {
      padding-right: 15px;
    }
    .tbllist td.rnkno {
      padding-left: 10px;
    }

    .details .type-d {
      gap: 15px;
      padding: 5px 0px 30px;
      grid-template-columns: repeat(4, calc(25% - 15px));
    }





  }


  @media screen and (min-width: 979px) {

    .site_body {
      grid-template-columns: auto 300px; /* メインとサイドバーのレイアウト */
    }
    
    .front .video-posts-container .post-card:nth-child( n+9 ), 
    .front .type-slide.a-jacket .av-item:nth-child( n+9 ) {
      display: none;
    }

    .books-detail .books-list .list-items, .front .grid.amateur-list {
      grid-template-columns: repeat(5, 1fr);
    }

    .front .grid.amateur-list .card:nth-child( n+11 ){
      display: none;
    }


    #mgs-side-top.bn-section iframe, .side-column.add-contents {
      width: 300px;
    }
    section.type-slide.a-jacket, section.type-slide.l-jacket, section.type-slide {
      grid-template-columns: repeat(4, 1fr);
    }
    section.type-slide.l-jacket {
      grid-template-columns: repeat(3, 1fr);
      /* grid-template-columns: repeat(auto-fill, minmax(189.5px, 1fr)); */
    }

    .type-slide.a-jacket img.av-image {
      /* max-height: 285px;
      height: 22.75vw; */
    }  
    .grid-view .tbllist.actress tbody {
      grid-template-columns: repeat(5, 1fr);
    }
    iframe.reco-3column-iframe {
      height: 420px;
    }
    .side-list.side-column {
      display: block;
    }
    .side-history table tbody {
      grid-template-columns: repeat(4, auto);
    }

  }
