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

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
}

@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border-style: solid;
}

:where(a) {
  color: inherit;
  text-underline-offset: 0.2ex;
}

:where(ul, ol) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
}

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(:focus-visible) {
  outline: 3px solid Highlight;
  outline-offset: 2px;
  scroll-margin-block: 10vh;
}

:where(.visually-hidden:not(:focus-within, :active)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@font-face {
  font-family: "Roboto";
  font-weight: 400;
  src: url("/wp-content/themes/duo_int/images/font/Roboto-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Roboto";
  font-weight: 500;
  src: url("/wp-content/themes/duo_int/images/font/Roboto-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Roboto";
  font-weight: 700;
  src: url("/wp-content/themes/duo_int/images/font/Roboto-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Roboto";
  font-weight: 900;
  src: url("/wp-content/themes/duo_int/images/font/Roboto-Black.ttf") format("truetype");
}
html {
  scroll-behavior: smooth;
}

.c-wdh-1400 {
  max-width: 140rem;
  margin-inline: auto;
  padding-left: 2rem;
  padding-right: 2rem;
  width: 100%;
}
.c-wdh-logo-spybaiting, .c-wdh-logo-realis, .c-wdh-logo-fang, .c-wdh-logo-tideminnow {
  width: 100%;
}
.c-wdh-logo-spybaiting {
  max-width: 30rem;
}
@media screen and (max-width: 579px) {
  .c-wdh-logo-spybaiting {
    max-width: 25rem;
  }
}
.c-wdh-logo-realis {
  max-width: 26rem;
}
@media screen and (max-width: 579px) {
  .c-wdh-logo-realis {
    max-width: 22rem;
  }
}
.c-wdh-logo-fang {
  max-width: 28rem;
}
@media screen and (max-width: 579px) {
  .c-wdh-logo-fang {
    max-width: 24rem;
  }
}
.c-wdh-logo-tideminnow {
  max-width: 38rem;
}
@media screen and (max-width: 579px) {
  .c-wdh-logo-tideminnow {
    max-width: 30rem;
  }
}

.c-vert-h2 {
  margin-top: 2rem;
}
.c-vert-h4 {
  margin-top: 4rem;
}
.c-vert-h4-line {
  border-top: 1px solid #202020;
  margin-top: 2rem;
  padding-top: 2rem;
}
.c-vert-under-p5 {
  padding-bottom: 5rem;
}

.c-grid {
  display: grid;
  gap: 2rem;
}
@media screen and (max-width: 859px) {
  .c-grid {
    grid-template-columns: 1fr;
  }
}

.c-sns {
  display: flex;
  gap: 2rem;
  justify-content: center;
}
.c-sns a {
  background-color: #303030;
  border-radius: 0.5rem;
  display: block;
  padding: 1rem;
  transition: all 0.3s ease-out;
  fill: white;
}
.c-sns a:hover {
  background-color: #707070;
  text-decoration: none;
  fill: #d0d0d0;
}
.c-sns a svg {
  width: 2.4rem;
  height: 2.4rem;
  transition: all 0.4s ease-out;
}
.c-sns .flag-japan-white {
  fill: white;
}
.c-sns .flag-japan-red {
  fill: #bc002d;
}

.c-btn-button {
  width: 100%;
  max-width: 38rem;
  margin-inline: auto;
  font-weight: 700;
  line-height: 5rem;
  text-align: center;
  border: 1px solid white;
  border-radius: 3rem;
  transition: all 0.3s ease-out;
  color: white;
}
.c-btn-button:hover {
  background-color: white;
  color: black;
}
.c-btn-button a {
  color: white;
  display: block;
}
.c-btn-button a:hover {
  color: black;
}

header {
  display: block;
  background-color: black;
  font-size: clamp(1.4rem, 1.341rem + 0.3vw, 1.6rem);
  line-height: 1.8;
  -webkit-text-size-adjust: none;
  padding-bottom: 2rem;
  padding-top: 2rem;
  width: 100%;
  z-index: 100;
  position: relative;
}
@media screen and (max-width: 859px) {
  header {
    padding-bottom: 1.5rem;
    padding-top: 1.5rem;
  }
}
header a {
  color: white;
  fill: white;
}
header a:hover {
  color: #a0a0a0;
  fill: #a0a0a0;
}
header .l-header {
  display: flex;
  gap: 1rem 2rem;
  flex-wrap: wrap;
}
header .l-header-logo img {
  width: 100%;
  max-width: 20rem;
  height: auto;
}
@media screen and (min-width: 860px) {
  header .l-header-logo img {
    max-width: 24rem;
  }
}
header .l-header-outline {
  margin-left: auto;
  display: flex;
  gap: 2rem;
  flex-wrap: nowrap;
  align-items: center;
}
@media screen and (max-width: 859px) {
  header .l-header-outline-sns, header .l-header-outline-flag {
    display: none;
  }
}
header .l-header-outline-sns.c-sns, header .l-header-outline-flag.c-sns {
  justify-content: end;
  gap: 2rem;
}
header .l-header-outline-sns.c-sns a, header .l-header-outline-flag.c-sns a {
  fill: #d0d0d0;
  background-color: transparent;
  border-radius: 0;
  padding: 0;
}
header .l-header-outline-sns.c-sns a:hover, header .l-header-outline-flag.c-sns a:hover {
  fill: #707070;
}
header .l-header-outline-flag {
  padding-left: 2rem;
  border-left: #303030 solid 1px;
}
header .l-header-outline-flag.c-sns a:hover {
  opacity: 0.6;
}
header .l-header-outline-search {
  border: 1px solid #303030;
  position: relative;
}
@media screen and (max-width: 579px) {
  header .l-header-outline-search {
    display: none;
  }
}
header .l-header-outline-search form {
  display: flex;
  flex-wrap: nowrap;
}
header .l-header-outline-search input[type=search] {
  display: block;
  width: 17rem;
  border: none;
  padding-bottom: 0;
  padding-top: 0;
  padding-left: 1rem;
  padding-right: 1rem;
  color: #cacaca;
  background: transparent;
  line-height: 3.8rem;
  font-size: clamp(1.3rem, 1.264rem + 0.18vw, 1.4rem);
  order: 1;
}
@media screen and (min-width: 860px) {
  header .l-header-outline-search input[type=search] {
    width: 22rem;
  }
}
header .l-header-outline-search label {
  color: #707070;
  fill: #707070;
  height: 3.8rem;
  order: 2;
  position: relative;
  width: 3.8rem;
}
header .l-header-outline-search label:hover {
  color: #d0d0d0;
  fill: #d0d0d0;
}
header .l-header-outline-search label svg {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 2rem;
}
header .l-header-outline-search .hidden {
  display: none !important;
}
header .l-header-outline-sp {
  display: none;
  margin-left: auto;
}
@media screen and (max-width: 859px) {
  header .l-header-outline-sp {
    display: flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (max-width: 859px) {
  header .l-header-outline-sp#mobile_menu {
    display: flex;
    width: 4rem;
    float: none;
    background-color: transparent;
    padding: 0;
    margin: 0;
  }
}
header .l-header-outline-sp div {
  position: relative;
  width: 32px;
  height: 24px;
  background: none;
  border: none;
  overflow: hidden;
}
header .l-header-outline-sp div span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: white;
  transition: transform 0.3s ease-out;
}
header .l-header-outline-sp div span:nth-of-type(1) {
  top: 0;
}
header .l-header-outline-sp div span:nth-of-type(2) {
  top: 11px;
}
header .l-header-outline-sp div span:nth-of-type(3) {
  bottom: 0;
}
header .l-header-outline-sp.active div {
  transform: rotate(270deg);
}
header .l-header-outline-sp.active div span:nth-of-type(1) {
  transform: translateY(10px) rotate(-45deg);
}
header .l-header-outline-sp.active div span:nth-of-type(2) {
  opacity: 0;
}
header .l-header-outline-sp.active div span:nth-of-type(3) {
  transform: translateY(-10px) rotate(45deg);
}
header .l-header-nav {
  width: 100%;
  display: flex;
  gap: 1rem;
  flex-wrap: nowrap;
  justify-content: end;
}
@media screen and (max-width: 859px) {
  header .l-header-nav {
    display: none;
  }
}
header .l-header-nav a {
  line-height: 5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  border-radius: 0.5rem 0.5rem 0 0;
  display: block;
  transition: all 0.3s ease-out;
}
header .l-header-nav li {
  font-size: clamp(1.3rem, 1.264rem + 0.18vw, 1.4rem);
  font-weight: 700;
}
header .l-header-nav li a {
  display: flex;
  gap: 0.5rem;
  color: white;
}
header .l-header-nav li a svg {
  width: 1rem;
}
header .l-header-nav li a:hover {
  color: #d0d0d0;
}
header .l-header-nav li.hover a {
  background: #202020;
}
header .l-header-nav li:hover [class*=l-header-nav-dropdown] {
  opacity: 1;
  top: auto;
}
header .l-header-nav-dropdown {
  background: #202020;
  filter: drop-shadow(0 0 0.4rem rgba(0, 0, 0, 0.3));
  opacity: 0;
  padding: 2rem;
  position: absolute;
  transition: opacity 0.3s ease-in-out;
  width: 100%;
  z-index: 1000;
  left: 0;
  top: -99rem;
  min-height: 10rem;
  transform: translateZ(0);
}
header .l-header-nav-dropdown-card {
  max-width: 140rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
  gap: 2rem 4rem;
  width: 100%;
}
header .l-header-nav-dropdown-card ul {
  position: relative;
}
header .l-header-nav-dropdown-card ul::after {
  content: "";
  display: inline-block;
  height: 100%;
  width: 1px;
  background-color: #505050;
  position: absolute;
  right: -2rem;
  top: 0;
}
header .l-header-nav-dropdown-card ul:last-child::after {
  content: none;
}
header .l-header-nav-dropdown-card ul li a {
  line-height: 2;
  display: block;
  font-weight: 400;
  border-radius: 0;
}
header .l-header-nav-dropdown-card ul li a:hover {
  background: #505050;
  color: white;
  border-radius: 0.2rem;
}
header .l-header-nav-dropdown-card ul li a.red {
  color: #f50003;
  font-weight: 600;
}
header .l-spnav {
  display: none;
  width: 100%;
  background: black;
  filter: drop-shadow(0.2rem 0.2rem 0.6rem rgba(0, 0, 0, 0.4));
  padding-top: 2rem;
  transform: translateZ(0);
}
header .l-spnav li {
  text-align: center;
  font-weight: 600;
}
header .l-spnav li + li {
  border-top: 1px solid #303030;
}
header .l-spnav li > a {
  display: block;
  padding-bottom: 1.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1.5rem;
}
header .l-spnav-icon {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
}
@media screen and (min-width: 580px) {
  header .l-spnav-icon {
    flex-wrap: nowrap;
  }
}
header .l-spnav-icon .c-sns {
  padding-bottom: 1.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1.5rem;
  width: 100%;
}
header .l-spnav-icon .c-sns + .c-sns {
  padding-top: 0;
}
@media screen and (min-width: 580px) {
  header .l-spnav-icon .c-sns + .c-sns {
    padding-top: 1.5rem;
    border-left: #303030 solid 1px;
  }
}
header .l-spnav#the_mobile_menu li {
  border-bottom: none;
}
header .l-spnav#the_mobile_menu li a {
  padding: 1rem !important;
}

main {
  background-color: black;
  font-size: clamp(1.4rem, 1.341rem + 0.3vw, 1.6rem);
  line-height: 1.8;
  -webkit-text-size-adjust: none;
}
main h2 {
  margin: 0;
}
main h2,
main h3,
main h4,
main h5,
main h6,
main p,
main li {
  word-break: break-all;
}
main h2,
main h3,
main h4,
main h5,
main h6 {
  font-weight: 700;
  line-height: 1.4;
}
main ul,
main li {
  margin: 0;
  padding: 0;
}
main p {
  color: white;
  font-size: clamp(1.4rem, 1.341rem + 0.3vw, 1.6rem);
  line-height: 1.8;
  margin: 0;
}
main p + p {
  margin-top: 2rem;
}
main .u-font-roboto-normal, main .u-font-roboto-medium, main .u-font-roboto-bold, main .u-font-roboto-black {
  font-family: "Roboto";
}
main .u-font-roboto-normal {
  font-weight: 400;
}
main .u-font-roboto-medium {
  font-weight: 500;
}
main .u-font-roboto-bold {
  font-weight: 700;
}
main .u-font-roboto-black {
  font-weight: 900;
}
main .u-center {
  text-align: center;
  margin-inline: auto;
}
main .u-right {
  text-align: right;
}
main .u-color-darkgreen {
  color: #7d7954;
}
main a,
main a:link,
main a:visited,
main a:active {
  text-decoration: none;
  outline: 0;
}
main a:hover {
  text-decoration: none;
  cursor: pointer;
}
main .l-main {
  position: relative;
}
main .l-main + div,
main .l-main + section {
  margin-top: 10rem;
}
@media screen and (min-width: 860px) {
  main .l-main + div,
  main .l-main + section {
    margin-top: 14rem;
  }
}
main .l-main-wrap + div {
  margin-top: 8rem;
}
@media screen and (min-width: 860px) {
  main .l-main-wrap + div {
    margin-top: 10rem;
  }
}
main .l-main-wrap-inner + div {
  border-top: #202020 1px solid;
  margin-top: 4rem;
  padding-top: 4rem;
}
@media screen and (min-width: 860px) {
  main .l-main-wrap-inner + div {
    margin-top: 5rem;
    padding-top: 5rem;
  }
}
main .p-top + div,
main .p-top + section {
  margin-top: 0;
}
main .p-top a {
  color: white;
}
main .p-top h2 {
  font-size: clamp(4.3rem, 3.936rem + 1.82vw, 5.3rem);
  line-height: 1;
}
main .p-top h2 small {
  color: #f0f0f0;
  display: block;
  font-size: 15px;
  font-size: 1.5rem;
  margin-top: 1.5rem;
}
main .p-top h2 span {
  color: #f50003;
}
main .p-top-gallery {
  padding-bottom: 5rem;
  padding-top: 3rem;
}
@media screen and (min-width: 860px) {
  main .p-top-gallery {
    background: rgb(48, 48, 48);
    background: linear-gradient(180deg, rgb(48, 48, 48) 0%, rgb(0, 0, 0) 100%);
    padding-top: 5rem;
  }
}
main .p-top-gallery + section {
  margin-top: 0;
}
main .p-top-gallery .new-slider-list {
  margin-left: 1rem;
  margin-right: 1rem;
}
main .p-top-gallery .new-slider .slick-dots {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  margin-top: 2rem;
}
main .p-top-gallery .new-slider .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: #d0d0d0;
  transition: all 0.3s ease-out;
}
main .p-top-gallery .new-slider .slick-dots li.slick-active button {
  background: #f50003;
}
main .p-top-movie {
  max-height: 80vh;
  overflow: hidden;
}
main .p-top-movie video {
  aspect-ratio: 16/9;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 859px) {
  main .p-top-movie video {
    aspect-ratio: 3/2;
  }
}
@media screen and (max-width: 579px) {
  main .p-top-movie video {
    aspect-ratio: 4/3;
  }
}
main .p-top-banner {
  max-width: none;
}
main .p-top-banner a {
  background-color: black;
  display: block;
  position: relative;
  height: 100%;
  overflow: hidden;
}
main .p-top-banner a::after, main .p-top-banner a::before {
  content: "";
  position: absolute;
  width: 100%;
  max-width: 40rem;
  aspect-ratio: 1;
  z-index: 1;
}
@media screen and (min-width: 860px) {
  main .p-top-banner a::after, main .p-top-banner a::before {
    max-width: 60rem;
  }
}
main .p-top-banner a::before {
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 45%);
  left: 0;
  top: 0;
}
main .p-top-banner a::after {
  background: linear-gradient(315deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 45%);
  right: 0;
  bottom: 0;
}
main .p-top-banner a h2 {
  z-index: 2;
  position: absolute;
  top: 3rem;
  left: 2rem;
  right: 2rem;
  filter: drop-shadow(0 0 3rem rgba(0, 0, 0, 0.3));
  transform: translateZ(0);
}
@media screen and (min-width: 580px) {
  main .p-top-banner a h2 {
    top: 5rem;
    left: 4rem;
    right: 4rem;
  }
}
main .p-top-banner a .u-triangle {
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  bottom: 2rem;
  right: 2rem;
  transition: all 0.3s ease-out;
  z-index: 2;
  fill: white;
}
@media screen and (max-width: 579px) {
  main .p-top-banner a .u-triangle {
    width: 1rem;
    height: 1rem;
  }
}
main .p-top-banner a .u-mask img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  transition: opacity 0.3s ease-out;
}
main .p-top-banner a:hover .u-triangle {
  bottom: 4rem;
  right: 4rem;
}
main .p-top-banner a:hover .u-mask img {
  opacity: 0.4;
}
main .p-top-banner .c-grid {
  gap: 1rem 2rem;
}
main .p-top-banner-scene + div {
  margin-top: 4rem;
  padding-top: 4rem;
}
@media screen and (min-width: 860px) {
  main .p-top-banner-scene + div {
    border: none;
    margin-top: 5rem;
    padding-top: 0;
  }
}
@media screen and (min-width: 580px) {
  main .p-top-banner-scene .u-mask {
    max-height: 70vh;
  }
}
main .p-top-banner-scene h2 small {
  margin-top: 0.8rem;
}
main .p-top-banner-scene a.u-salt::before {
  background: linear-gradient(135deg, rgba(37, 120, 137, 0.2) 0%, rgba(37, 120, 137, 0) 45%);
}
main .p-top-banner-brand + div {
  margin-top: 4rem;
  padding-top: 4rem;
}
@media screen and (min-width: 860px) {
  main .p-top-banner-brand + div {
    margin-top: 5rem;
    padding-top: 5rem;
  }
}
@media screen and (min-width: 860px) {
  main .p-top-banner-brand.c-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 580px) {
  main .p-top-banner-brand .u-mask {
    max-height: 70vh;
  }
}
@media screen and (min-width: 860px) {
  main .p-top-banner-brand .u-mask {
    max-height: 90vh;
  }
}
main .p-top-banner-brand .u-mask img {
  -o-object-position: center bottom;
     object-position: center bottom;
}
@media screen and (min-width: 860px) {
  main .p-top-banner-sp.c-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 580px) {
  main .p-top-banner-sp a h2 {
    top: 4rem;
  }
}
@media screen and (min-width: 860px) {
  main .p-top-banner-sp a h2 img {
    width: 60%;
  }
}
@media screen and (min-width: 580px) {
  main .p-top-banner-sp .u-mask {
    max-height: 70vh;
  }
}
main .p-social {
  background-color: #e0e0e0;
  padding-bottom: 5rem;
  padding-top: 5rem;
  margin-top: 5rem;
  color: black;
}
main .p-social h2 {
  font-size: clamp(3.2rem, 2.982rem + 1.09vw, 3.8rem);
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  text-align: center;
  position: relative;
}
main .p-social h2::after {
  background-color: #f50003;
  bottom: 0;
  border-radius: 4px;
  content: "";
  display: block;
  height: 4px;
  left: 50%;
  position: absolute;
  transform: translate(-50%);
  width: 10rem;
}
main .p-social .c-btn-button {
  border: 1px solid black;
  color: black;
}
main .p-social .c-btn-button:hover {
  background-color: black;
  color: white;
}
main .p-social .c-btn-button a {
  color: black;
}
main .p-social .c-btn-button a:hover {
  color: white;
}
main .p-social-group .c-grid {
  gap: 0 5rem;
}
@media screen and (min-width: 860px) {
  main .p-social-group .c-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 859px) {
  main .p-social-group .c-grid {
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: #d0d0d0 1px solid;
  }
}
main .p-social-group-insta + div {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: #d0d0d0 1px solid;
}
@media screen and (min-width: 860px) {
  main .p-social-group-insta + div {
    margin-top: 5rem;
    padding-top: 5rem;
  }
}
main .p-social-group-insta p {
  color: black;
}
@media screen and (max-width: 859px) {
  main .p-social-group-youtube + div {
    border-top: #d0d0d0 1px solid;
    margin-top: 3rem;
    padding-top: 3rem;
  }
}
main .p-social-group-fb-inner {
  background-color: white;
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
}
main .p-social-group-fb-inner .fb-page {
  width: 100%;
  margin-inline: auto;
}
main .p-social-group-fb-inner .fb_iframe_widget span {
  left: 50%;
  transform: translateX(-50%);
}
main .p-rod {
  color: white;
  word-break: break-all;
}
main .p-rod h1 {
  margin: 0;
  text-align: center;
}
main .p-rod h2 {
  font-size: clamp(3.2rem, 2.982rem + 1.09vw, 3.8rem);
  font-weight: 900;
  text-align: center;
  color: #7d7954;
  margin-bottom: 4rem;
}
main .p-rod h3 {
  line-height: 1;
}
main .p-rod h3 span {
  border-radius: 0.1rem;
  display: inline-block;
  padding-bottom: 0.4rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 0.4rem;
  font-size: clamp(1.3rem, 1.264rem + 0.18vw, 1.4rem);
  font-weight: 700;
  margin-bottom: 1rem;
  color: black;
}
main .p-rod a {
  color: white;
}
main .p-rod a:hover {
  color: #707070;
}
main .p-rod dl a {
  text-decoration: underline;
}
main .p-rod dl a:hover {
  text-decoration: none;
}
main .p-rod dl dt, main .p-rod dl dd {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  text-align: center;
  font-weight: 400;
}
main .p-rod dl dt div, main .p-rod dl dd div {
  padding-bottom: 1.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .p-rod dl dt {
  color: black;
  font-size: clamp(1.3rem, 1.264rem + 0.18vw, 1.4rem);
  font-weight: 600;
}
main .p-rod dl dt + dt {
  border-top: solid #7d7954 1px;
}
main .p-rod dl dt div {
  position: relative;
  height: 100%;
  background-color: #7d7954;
}
main .p-rod dl dt div::after {
  content: "";
  display: inline-block;
  height: 60%;
  width: 1px;
  background-color: black;
  position: absolute;
  right: -1px;
  bottom: 0;
  z-index: 1;
}
main .p-rod dl dt div:last-child::after {
  content: none;
}
main .p-rod .u-dl-scroll {
  overflow-x: auto;
  width: 100%;
}
main .p-rod .u-dl-scroll::-webkit-scrollbar {
  height: 1rem;
}
main .p-rod .u-dl-scroll::-webkit-scrollbar-track {
  background: #303030;
}
main .p-rod .u-dl-scroll::-webkit-scrollbar-thumb {
  background: #d0d0d0;
}
main .p-rod .u-dl-scroll dl {
  min-width: 240vw;
  width: 100%;
}
@media screen and (min-width: 580px) {
  main .p-rod .u-dl-scroll dl {
    min-width: 150vw;
  }
}
@media screen and (min-width: 860px) {
  main .p-rod .u-dl-scroll dl {
    min-width: auto;
  }
}
main .p-rod-title img {
  width: 100%;
}
main .p-rod-title-outline {
  position: relative;
  padding-bottom: 20%;
}
@media screen and (min-width: 580px) {
  main .p-rod-title-outline {
    padding-bottom: 6rem;
  }
}
@media screen and (min-width: 860px) {
  main .p-rod-title-outline {
    padding-bottom: 3rem;
  }
}
main .p-rod-title-outline h1 {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateZ(0);
  width: 30%;
  max-width: 45rem;
  filter: drop-shadow(0 0 3rem rgba(0, 0, 0, 0.9));
}
@media screen and (max-width: 859px) {
  main .p-rod-title-outline h1 {
    width: 80%;
    max-width: 38rem;
  }
}
@media screen and (min-width: 860px) {
  main .p-rod-title-outline .u-bk {
    height: 100%;
    margin-inline: auto;
    max-height: 100vh;
    width: auto;
  }
}
main .p-rod-title-nav {
  margin-top: 5rem;
}
@media screen and (min-width: 860px) {
  main .p-rod-title-nav {
    margin-top: 7rem;
  }
}
main .p-rod-title-nav-card {
  display: flex;
  gap: 0;
  justify-content: center;
}
main .p-rod-title-nav-card-list {
  font-size: clamp(1.6rem, 1.527rem + 0.36vw, 1.8rem);
  font-weight: 600;
  position: relative;
}
main .p-rod-title-nav-card-list::after {
  content: "";
  display: inline-block;
  height: 40%;
  width: 1px;
  background-color: #7d7954;
  position: absolute;
  bottom: 0;
  z-index: 1;
}
main .p-rod-title-nav-card-list::after {
  right: -1px;
}
main .p-rod-title-nav-card-list:last-child::after {
  content: none;
}
main .p-rod-title-nav-card-list a {
  fill: white;
  text-decoration: none;
  display: block;
  padding-bottom: 0;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 580px) {
  main .p-rod-title-nav-card-list a {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (min-width: 860px) {
  main .p-rod-title-nav-card-list a {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
main .p-rod-title-nav-card-list a:hover {
  fill: #707070;
}
main .p-rod-title-nav-card-list a svg {
  max-width: 1.6rem;
  margin-inline: auto;
  margin-top: 0.5rem;
}
main .p-rod-concept {
  position: relative;
}
main .p-rod-concept h3, main .p-rod-concept h4 {
  color: #7d7954;
  font-size: clamp(2.4rem, 2.255rem + 0.73vw, 2.8rem);
  margin-bottom: 2rem;
}
main .p-rod-concept-info, main .p-rod-concept-rei, main .p-rod-concept-outline {
  position: relative;
  z-index: 2;
}
main .p-rod-concept-info h2 {
  filter: drop-shadow(0 0 3rem rgba(0, 0, 0, 0.9));
  text-align: left;
  transform: translateZ(0);
}
@media screen and (max-width: 859px) {
  main .p-rod-concept-info h2 {
    padding-top: 6rem;
  }
}
main .p-rod-concept-info .u-logo {
  filter: drop-shadow(0 0 3rem rgba(0, 0, 0, 0.9));
  padding-top: 3rem;
  margin-bottom: 7rem;
  width: 40%;
  transform: translateZ(0);
}
@media screen and (max-width: 1199px) {
  main .p-rod-concept-info .u-logo {
    max-width: 48rem;
  }
}
@media screen and (max-width: 859px) {
  main .p-rod-concept-info .u-logo {
    display: none;
  }
}
main .p-rod-concept-rei h3 {
  filter: drop-shadow(0 0 3rem rgba(0, 0, 0, 0.9));
  transform: translateZ(0);
}
main .p-rod-concept-rei h3 img {
  width: 100%;
  max-width: 20rem;
}
main .p-rod-concept-outline h4 {
  filter: drop-shadow(0 0 3rem rgba(0, 0, 0, 0.9));
  transform: translateZ(0);
}
main .p-rod-concept-outline.c-grid {
  gap: 4rem;
}
@media screen and (min-width: 860px) {
  main .p-rod-concept-outline.c-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
main .p-rod-concept-outline img {
  width: 100%;
  max-width: 42rem;
  margin-inline: auto;
}
main .p-rod-concept-bk {
  border: none;
  margin-top: 0;
  padding-top: 0;
  position: absolute;
  top: 6rem;
  left: 0;
}
@media screen and (max-width: 859px) {
  main .p-rod-concept-bk {
    top: 20rem;
  }
}
@media screen and (min-width: 1200px) {
  main .p-rod-concept-bk {
    top: 10%;
  }
}
main .p-rod-concept-bk img {
  width: 100%;
}
@media screen and (min-width: 580px) {
  main .p-rod-concept-bk img {
    max-width: 80vw;
  }
}
@media screen and (min-width: 1200px) {
  main .p-rod-concept-bk img {
    max-width: 60vw;
  }
}
main .p-rod-concept-bkrod {
  position: absolute;
  top: -8rem;
  right: 0;
  z-index: 1;
}
@media screen and (max-width: 859px) {
  main .p-rod-concept-bkrod {
    top: -4rem;
  }
}
main .p-rod-concept-bkrod img {
  width: 100%;
}
@media screen and (min-width: 1200px) {
  main .p-rod-concept-bkrod img {
    max-width: 80vw;
  }
}
main .p-rod-lineup-list {
  border-bottom: 2px solid #7d7954;
  padding-bottom: 2rem;
}
main .p-rod-lineup-list h3 {
  background-color: #7d7954;
  color: black;
  display: block;
  font-size: clamp(1.6rem, 1.527rem + 0.36vw, 1.8rem);
  text-align: center;
  margin: 0;
  padding-bottom: 1.5rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 1.5rem;
  position: relative;
}
main .p-rod-lineup-list h3::after {
  background-color: black;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 2rem;
  right: 2rem;
  position: absolute;
}
main .p-rod-lineup-item h3 {
  font-size: clamp(3.2rem, 2.982rem + 1.09vw, 3.8rem);
}
main .p-rod-lineup-item h3 span {
  background-color: #7d7954;
}
main .p-rod-lineup-item dl dt, main .p-rod-lineup-item dl dd {
  grid-template-columns: repeat(7, 1fr);
}
@media screen and (min-width: 860px) {
  main .p-rod-lineup-item .c-grid {
    grid-template-columns: 1fr 30rem;
  }
}
@media screen and (min-width: 860px) {
  main .p-rod-lineup-item .c-grid img {
    max-width: 30rem;
    width: 100%;
  }
}
main .p-rod-lineup-item-title {
  position: relative;
}
main .p-rod-lineup-item-title h3 {
  margin-inline: auto;
  max-width: 140rem;
  padding-left: 2rem;
  padding-right: 2rem;
  position: relative;
  width: 100%;
  z-index: 3;
}
main .p-rod-lineup-item-title-rod {
  display: flex;
  justify-content: end;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 580px) {
  main .p-rod-lineup-item-title-rod {
    margin-top: -2rem;
  }
}
@media screen and (min-width: 860px) {
  main .p-rod-lineup-item-title-rod {
    margin-top: -4rem;
  }
}
main .p-rod-lineup-item-title-rod img {
  max-width: 140rem;
  width: 100%;
}
main .p-rod-lineup-item-title-bk {
  position: absolute;
  bottom: 0;
  left: 0;
  max-height: 3rem;
  overflow: hidden;
  z-index: 0;
  width: 100%;
}
main .p-rod-lineup-item-title-bk img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
main .p-rod-lineup-item-title-bk::before {
  content: "";
  position: absolute;
  width: 100%;
  max-width: 50%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 90%);
  left: 0;
  top: 0;
  z-index: 1;
  height: 100%;
}
main .p-rod-lineup-item-image {
  background-color: #cdcbb6;
  padding-bottom: 3rem;
  padding-top: 3rem;
}
main .p-rod-lineup-item-image img {
  filter: drop-shadow(0.2rem 0.2rem 0.6rem rgba(0, 0, 0, 0.4));
  transform: translateZ(0);
}
main .p-rod-lineup-item-image + div {
  margin-top: 3rem;
}
main .p-rod-upcoming h2 {
  color: #ee793f;
}
main .p-rod-upcoming-title + div {
  border: none;
  margin-top: 5rem;
  padding-top: 0;
}
@media screen and (min-width: 860px) {
  main .p-rod-upcoming-title + div {
    margin-top: 8rem;
  }
}
main .p-rod-upcoming-title h2 {
  margin-bottom: 0;
}
main .p-rod-upcoming-title img {
  width: 100%;
}
main .p-rod-upcoming-item h3 {
  font-size: clamp(3.2rem, 2.982rem + 1.09vw, 3.8rem);
}
main .p-rod-upcoming-item h3 span {
  background-color: #ee793f;
}
main .p-rod-upcoming-item dl dt, main .p-rod-upcoming-item dl dd {
  grid-template-columns: repeat(7, 1fr);
}
@media screen and (min-width: 860px) {
  main .p-rod-upcoming-item .c-grid {
    grid-template-columns: 20rem 1fr;
  }
}
main :target {
  scroll-margin-top: 5rem;
}

footer {
  box-sizing: border-box;
  background-color: black;
  padding-bottom: 5rem;
  padding-top: 5rem;
  width: 100%;
  font-size: clamp(1.3rem, 1.264rem + 0.18vw, 1.4rem);
}
footer .l-footer {
  display: grid;
  gap: 4rem;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 860px) {
  footer .l-footer {
    gap: 15%;
    grid-template-columns: 26rem 1fr;
  }
}
footer .l-footer a {
  color: white;
}
footer .l-footer-title-logo img {
  max-width: 28rem;
  width: 100%;
}
footer .l-footer-title-logo + ul {
  margin-top: 3rem;
}
footer .l-footer-title-sns li {
  line-height: 5rem;
}
footer .l-footer-title-sns.c-sns {
  justify-content: start;
}
footer .l-footer-title-sns.c-sns a svg {
  width: 3.2rem;
  height: 3.2rem;
}
@media screen and (min-width: 860px) {
  footer .l-footer-title-sns.c-sns a svg {
    width: 3.6rem;
    height: 3.6rem;
  }
}
@media screen and (max-width: 859px) {
  footer .l-footer-outline-nav {
    display: grid;
    gap: 1rem 2rem;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
}
@media screen and (min-width: 860px) {
  footer .l-footer-outline-nav {
    display: flex;
    gap: 1rem 1.5rem;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 860px) {
  footer .l-footer-outline-nav li::after {
    border-right: 1px solid #303030;
    content: "";
    display: inline;
    padding-right: 1.5rem;
  }
}
@media screen and (min-width: 860px) {
  footer .l-footer-outline-nav li:last-child::after {
    border-right: none;
    padding-right: 0;
  }
}
footer .l-footer-outline-nav li.u-blank a {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  align-items: center;
}
footer .l-footer-outline-nav li svg {
  fill: #a0a0a0;
  width: 1rem;
}
footer .l-footer-outline-nav + ul {
  margin-top: 1.5rem;
}
footer .l-footer-outline-copy {
  border-top: 1px solid #303030;
  width: 100%;
  margin-top: 2rem;
  padding-top: 2rem;
}
footer .l-footer-outline-copy p {
  color: #707070;
  font-size: clamp(1.3rem, 1.264rem + 0.18vw, 1.4rem);
}

.scroll_top {
  background-image: none !important;
  position: fixed;
  width: 4rem !important;
  height: 4rem !important;
  bottom: 2rem !important;
  right: 2rem !important;
  text-align: center;
  font-size: 0.8rem !important;
  font-weight: 700;
  line-height: 1 !important;
  cursor: pointer;
  z-index: 300;
  background-color: #f50003;
  border-radius: 4rem;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 860px) {
  .scroll_top {
    width: 5rem !important;
    height: 5rem !important;
    font-size: 0.9rem !important;
  }
}
.scroll_top:hover {
  background-color: #707070;
}
.scroll_top a {
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.scroll_top svg {
  width: 2.2rem;
  fill: white;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 860px) {
  .scroll_top svg {
    width: 3rem;
  }
}/*# sourceMappingURL=style-new.css.map */