@charset "UTF-8";
/*************************************
MIXINS
*************************************/
/*************************************
MIXINS
*************************************/
.scpop {
  transform: scale3d(0, 0, 0);
  transform-origin: center center;
  will-change: animation; }

.scpop.ac {
  animation: bounce 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; }

/*------------------------------------
animation
	*/
@keyframes hueRotate {
  0% {
    filter: hue-rotate(0deg); }
  100% {
    filter: hue-rotate(359deg); } }
@keyframes photoCoverAnim {
  0% {
    filter: grayscale(95%); }
  100% {
    filter: grayscale(0%); } }
@keyframes bounce {
  0% {
    transform: scale3d(0, 0, 0); }
  40% {
    transform: scale3d(1.2, 1.2, 1.2); }
  60% {
    transform: scale3d(0.9, 0.9, 0.9); }
  80% {
    transform: scale3d(1.05, 1.05, 1.05); }
  100% {
    transform: scale3d(1, 1, 1); } }
/*------------------------
SIZE
-------------------------*/
/*------------------------
COLOR
-------------------------*/
a {
  color: #333;
  text-decoration: none; }

/*------------------------
TEXT SET
-------------------------*/
html {
  font-size: 62.5%; }

body {
  font-size: 1.4em;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
  box-sizing: border-box; }

@media all and (-ms-high-contrast: none) {
  body {
    font-family: 'Poppins', sans-serif; } }
/*------------------------
BASIC LAYOUT / MODULE
-------------------------*/
img {
  image-rendering: -webkit-optimize-contrast; }

.pcHide {
  display: none; }
  @media screen and (max-width: 768px) {
    .pcHide {
      display: block; } }

.spHide {
  display: block; }
  @media screen and (max-width: 768px) {
    .spHide {
      display: none; } }

.lbx {
  cursor: pointer; }

.tac {
  text-align: center; }

.flex {
  display: flex;
  flex-wrap: wrap; }

.wrap {
  width: 100%;
  max-width: 1760px;
  margin: 0 auto;
  box-sizing: border-box; }

.minWrap {
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto; }

figure {
  margin: 0; }

/*------------------------
RESET
-------------------------*/
body {
  word-wrap: break-word; }

th, td {
  text-align: left;
  vertical-align: top;
  border: none; }

caption {
  text-align: left; }

img {
  border: 0;
  vertical-align: bottom; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

fieldset, img {
  border: 0; }

a {
  outline: none; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0; }

/*
	clearfix
------------------------------------- */
.clearfix:after {
  content: ".";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0; }

* html .clearfix {
  display: inline-block; }

.clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/*html5の要素をblock*/
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
  box-sizing: border-box; }

/*------------------------
FORM
-------------------------*/
input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit; }

/*------------------------
TABLE
-------------------------*/
table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: inherit;
  width: 100%; }

/*==============================================
  Base Styles
==============================================*/
body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #5C1F14;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  letter-spacing: 0.05em;
  line-height: 1.5;
  background: #fff; }

.en {
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-family: 'Poppins', sans-serif; }

.pc {
  display: block !important; }
  @media screen and (max-width: 768px) {
    .pc {
      display: none !important; } }

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

a {
  transition: opacity 0.3s; }
  a:hover {
    opacity: 0.7; }

img {
  width: 100%; }

.textSetting {
  display: block; }

.bottom0 {
  margin-bottom: 0 !important; }

.bgDot {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: url("../images/common/dotBg.jpg");
  background-repeat: repeat;
  border-radius: 60px 60px 0 0; }
  @media screen and (max-width: 768px) {
    .bgDot {
      border-radius: 30px 30px 0 0; } }
  .bgDot img {
    display: none; }

/*==============================================
  Header（トップ/header完成イメージ.svg 準拠）
==============================================*/
header {
  position: relative;
  width: 100%; }
  header .headerWrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background: #fff;
    padding: 0 40px; }
    @media screen and (max-width: 768px) {
      header .headerWrap {
        padding: 0 20px; } }
    header .headerWrap.newsDetailHeader {
      background: #000; }
    header .headerWrap .headerBox {
      width: 100%; }
      header .headerWrap .headerBox .child .inner {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        padding: 25px 0;
        gap: 24px; }
        @media screen and (max-width: 768px) {
          header .headerWrap .headerBox .child .inner {
            align-items: center;
            flex-wrap: wrap; } }
        header .headerWrap .headerBox .child .inner .headerLogo {
          flex-shrink: 0;
          align-self: center; }
          header .headerWrap .headerBox .child .inner .headerLogo h1 {
            margin: 0;
            line-height: 1; }
            header .headerWrap .headerBox .child .inner .headerLogo h1 a {
              display: block;
              text-decoration: none; }
              header .headerWrap .headerBox .child .inner .headerLogo h1 a img {
                display: block;
                width: auto;
                height: 32px;
                object-fit: contain;
                max-width: 100%; }
                @media screen and (max-width: 768px) {
                  header .headerWrap .headerBox .child .inner .headerLogo h1 a img {
                    height: 28px; } }
        header .headerWrap .headerBox .child .inner .headerRight {
          display: flex;
          flex-direction: column;
          align-items: flex-end;
          gap: 16px;
          flex-shrink: 0; }
          @media screen and (max-width: 768px) {
            header .headerWrap .headerBox .child .inner .headerRight {
              display: none; } }
          header .headerWrap .headerBox .child .inner .headerRight .headerTopRow {
            display: flex;
            align-items: center;
            gap: 16px; }
          header .headerWrap .headerBox .child .inner .headerRight .headerSearch {
            flex-shrink: 0; }
            header .headerWrap .headerBox .child .inner .headerRight .headerSearch .headerSearchForm {
              display: block; }
            header .headerWrap .headerBox .child .inner .headerRight .headerSearch .headerSearchField {
              display: flex;
              align-items: center;
              width: 256px;
              height: 37px;
              border: 2px solid #5c1f14;
              border-radius: 18.5px;
              background: #fff;
              overflow: hidden;
              box-sizing: border-box; }
            header .headerWrap .headerBox .child .inner .headerRight .headerSearch .headerSearchInput {
              flex: 1;
              min-width: 0;
              height: 100%;
              padding: 0 12px 0 16px;
              border: none;
              background: transparent;
              font-size: 14px;
              color: #1a1311;
              outline: none; }
              header .headerWrap .headerBox .child .inner .headerRight .headerSearch .headerSearchInput::placeholder {
                color: #999; }
            header .headerWrap .headerBox .child .inner .headerRight .headerSearch .headerSearchBtn {
              flex-shrink: 0;
              width: 59px;
              height: 25px;
              margin: 4px 4px 4px 0;
              padding: 0;
              border: none;
              border-radius: 12.5px;
              background: #5c1f14;
              color: #fff;
              font-size: 14px;
              font-weight: 600;
              letter-spacing: 0.05em;
              cursor: pointer;
              transition: opacity 0.3s; }
              header .headerWrap .headerBox .child .inner .headerRight .headerSearch .headerSearchBtn:hover {
                opacity: 0.9; }
          header .headerWrap .headerBox .child .inner .headerRight .headerIcon {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-shrink: 0; }
            header .headerWrap .headerBox .child .inner .headerRight .headerIcon a {
              display: flex;
              align-items: center;
              justify-content: center;
              width: 37px;
              height: 37px;
              border: 2px solid #5c1f14;
              border-radius: 50%;
              text-decoration: none;
              box-sizing: border-box; }
              header .headerWrap .headerBox .child .inner .headerRight .headerIcon a img {
                display: block;
                width: 20px;
                height: 20px;
                object-fit: contain; }
        header .headerWrap .headerBox .child .inner .headerBottomRow {
          display: flex;
          align-items: center;
          gap: 24px; }
          header .headerWrap .headerBox .child .inner .headerBottomRow .headerNav .headerNavList {
            display: flex;
            align-items: center;
            gap: 40px;
            list-style: none;
            margin: 0;
            padding: 0; }
            @media screen and (max-width: 1024px) {
              header .headerWrap .headerBox .child .inner .headerBottomRow .headerNav .headerNavList {
                gap: 16px; } }
          header .headerWrap .headerBox .child .inner .headerBottomRow .headerNav .headerNavItem {
            margin: 0;
            padding: 0; }
            header .headerWrap .headerBox .child .inner .headerBottomRow .headerNav .headerNavItem .headerNavLink {
              display: block;
              color: #5c1f14;
              text-decoration: none;
              font-size: 16px;
              letter-spacing: 0.05em;
              white-space: nowrap; }
          header .headerWrap .headerBox .child .inner .headerBottomRow .headerCta {
            flex-shrink: 0; }
            header .headerWrap .headerBox .child .inner .headerBottomRow .headerCta .headerCtaLink {
              display: flex;
              align-items: center;
              justify-content: center;
              width: 140px;
              height: 40px;
              border-radius: 7px;
              background: #5c1f14;
              color: #fff;
              font-size: 16px;
              letter-spacing: 0.05em;
              text-decoration: none; }
      header .headerWrap .headerBox .child .headerSpNav {
        display: none;
        margin-left: auto; }
        @media screen and (max-width: 768px) {
          header .headerWrap .headerBox .child .headerSpNav {
            display: block;
            position: fixed;
            top: calc(max(12px, env(safe-area-inset-top)));
            right: 20px;
            z-index: 2100; } }
        header .headerWrap .headerBox .child .headerSpNav .drawer .menu-icon {
          width: 56px;
          height: 56px;
          position: relative;
          cursor: pointer;
          border: none;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          gap: 6px;
          background: #5c1f14;
          border-radius: 50%;
          transition: opacity 0.3s; }
          header .headerWrap .headerBox .child .headerSpNav .drawer .menu-icon:hover {
            opacity: 0.9; }
          header .headerWrap .headerBox .child .headerSpNav .drawer .menu-icon .line1,
          header .headerWrap .headerBox .child .headerSpNav .drawer .menu-icon .line2 {
            width: 24px;
            height: 2px;
            background: #fff;
            flex-shrink: 0;
            transition: all 0.3s; }
          header .headerWrap .headerBox .child .headerSpNav .drawer .menu-icon .menu-label {
            font-size: 12px;
            color: #fff;
            letter-spacing: 0.02em;
            line-height: 1; }
          header .headerWrap .headerBox .child .headerSpNav .drawer .menu-icon.clicked .line1 {
            transform: translateY(4px) rotate(45deg); }
          header .headerWrap .headerBox .child .headerSpNav .drawer .menu-icon.clicked .line2 {
            transform: translateY(-4px) rotate(-45deg); }
          header .headerWrap .headerBox .child .headerSpNav .drawer .menu-icon.clicked .menu-label {
            opacity: 0; }

.headerSpNav {
  display: none;
  margin-left: auto; }
  @media screen and (max-width: 768px) {
    .headerSpNav {
      display: block;
      position: fixed;
      top: calc(max(12px, env(safe-area-inset-top)));
      right: 20px;
      z-index: 2100; } }
  .headerSpNav .drawer .menu-icon {
    width: 56px;
    height: 56px;
    position: relative;
    cursor: pointer;
    border: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: #5c1f14;
    border-radius: 50%;
    transition: opacity 0.3s; }
    .headerSpNav .drawer .menu-icon:hover {
      opacity: 0.9; }
    .headerSpNav .drawer .menu-icon .line1,
    .headerSpNav .drawer .menu-icon .line2 {
      width: 24px;
      height: 2px;
      background: #fff;
      flex-shrink: 0;
      transition: all 0.3s; }
    .headerSpNav .drawer .menu-icon .menu-label {
      font-size: 12px;
      color: #fff;
      letter-spacing: 0.02em;
      line-height: 1; }
    .headerSpNav .drawer .menu-icon.clicked .line1 {
      transform: translateY(4px) rotate(45deg); }
    .headerSpNav .drawer .menu-icon.clicked .line2 {
      transform: translateY(-4px) rotate(-45deg); }
    .headerSpNav .drawer .menu-icon.clicked .menu-label {
      opacity: 0; }

.drawer-content-bg {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 1201; }
  .drawer-content-bg.clicked {
    opacity: 1;
    visibility: visible; }

.drawer-content {
  position: fixed;
  top: 0;
  right: 0;
  width: min(86vw, 360px);
  height: 100vh;
  background: #5c1f14;
  transform: translateX(100%);
  transition: transform 0.35s ease;
  z-index: 1202;
  overflow-y: auto; }
  .drawer-content.clicked {
    transform: translateX(0); }
  .drawer-content .drawer-contentArea {
    min-height: 100%;
    padding-top: 20px; }
  .drawer-content .drawerContent {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 24px 20px 28px; }
  .drawer-content .drawerNav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px; }
    .drawer-content .drawerNav .logo img {
      display: block;
      width: auto;
      height: 28px; }
    .drawer-content .drawerNav ul {
      margin: 0;
      padding: 0;
      list-style: none; }
    .drawer-content .drawerNav .contact a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 170px;
      height: 36px;
      border-radius: 18px;
      border: 1px solid #fff;
      color: #fff;
      text-decoration: none;
      font-size: 13px; }
      .drawer-content .drawerNav .contact a a {
        width: 100%;
        display: block; }
  .drawer-content .link ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .drawer-content .link .list a {
    display: block;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    letter-spacing: 0.03em; }
  .drawer-content .link2 {
    margin-top: auto;
    display: grid;
    gap: 8px; }
    .drawer-content .link2 a {
      color: rgba(255, 255, 255, 0.85);
      text-decoration: none;
      font-size: 12px; }
  .drawer-content .drawerClose {
    margin-top: 8px;
    border: 1px solid #fff;
    border-radius: 999px;
    height: 42px;
    background: transparent;
    color: #fff;
    font-size: 14px;
    cursor: pointer; }

@media screen and (min-width: 769px) {
  .drawer-content,
  .drawer-content-bg {
    display: none; } }
@media screen and (max-width: 768px) {
  body.drawer-is-open {
    overflow: hidden; } }
.heroWrap {
  position: relative;
  width: 100%;
  padding: 0 20px; }
  .heroWrap .heroBox {
    width: 100%; }
    .heroWrap .heroBox .child {
      width: 100%; }
      .heroWrap .heroBox .child .heroInner {
        position: relative;
        width: 100%; }
        .heroWrap .heroBox .child .heroInner .heroImage {
          width: 100%;
          position: relative; }
          .heroWrap .heroBox .child .heroInner .heroImage p {
            margin: 0;
            padding: 0;
            width: 100%; }
            .heroWrap .heroBox .child .heroInner .heroImage p img {
              width: 100%;
              height: auto;
              display: block;
              object-fit: cover; }
          .heroWrap .heroBox .child .heroInner .heroImage .sp {
            display: none; }
            @media screen and (max-width: 768px) {
              .heroWrap .heroBox .child .heroInner .heroImage .sp {
                display: block; } }
          .heroWrap .heroBox .child .heroInner .heroImage .pc {
            display: block; }
            @media screen and (max-width: 768px) {
              .heroWrap .heroBox .child .heroInner .heroImage .pc {
                display: none; } }
        .heroWrap .heroBox .child .heroInner .heroText {
          position: absolute;
          bottom: 60px;
          left: 60px;
          z-index: 10;
          width: 100%; }
          @media screen and (max-width: 1024px) {
            .heroWrap .heroBox .child .heroInner .heroText {
              bottom: 40px;
              left: 40px; } }
          @media screen and (max-width: 768px) {
            .heroWrap .heroBox .child .heroInner .heroText {
              bottom: 20px;
              left: 20px; } }
          .heroWrap .heroBox .child .heroInner .heroText .topHeroTitle {
            color: #fff;
            font-size: 4.2vw;
            font-weight: 900;
            letter-spacing: 0.05em;
            line-height: 1.2;
            width: 100%;
            margin-bottom: 15px; }
            @media screen and (max-width: 1024px) {
              .heroWrap .heroBox .child .heroInner .heroText .topHeroTitle {
                margin-bottom: 10px; } }
            @media screen and (max-width: 768px) {
              .heroWrap .heroBox .child .heroInner .heroText .topHeroTitle {
                font-size: 8vw;
                width: calc(100vw - 40px); } }
          .heroWrap .heroBox .child .heroInner .heroText .topHeroLead {
            color: #fff;
            font-size: 28px;
            font-weight: 500;
            letter-spacing: 0.05em;
            line-height: 1.2; }
            @media screen and (max-width: 1024px) {
              .heroWrap .heroBox .child .heroInner .heroText .topHeroLead {
                font-size: 24px; } }
            @media screen and (max-width: 768px) {
              .heroWrap .heroBox .child .heroInner .heroText .topHeroLead {
                font-size: 16px;
                margin-top: 12px; } }
          .heroWrap .heroBox .child .heroInner .heroText h2 {
            width: 45vw; }
            @media screen and (max-width: 768px) {
              .heroWrap .heroBox .child .heroInner .heroText h2 {
                width: calc(100vw - 40px); } }
            .heroWrap .heroBox .child .heroInner .heroText h2 img {
              width: 100%;
              height: auto;
              display: block;
              object-fit: contain; }

.arLink {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5c1f14;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: underline; }
  .arLink img {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain; }

.mainTitle {
  color: #5c1f14;
  font-size: 36px;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin: 0; }
  @media screen and (max-width: 768px) {
    .mainTitle {
      font-size: 28px; } }

.subTitleEn {
  display: block;
  color: #d09441;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.05em;
  font-family: 'Poppins', sans-serif;
  margin: 0; }

.titleWrap {
  position: relative;
  width: 100%;
  min-height: 185px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url("../images/common/titleBg.jpg") no-repeat center/cover;
  box-sizing: border-box; }
  @media screen and (max-width: 768px) {
    .titleWrap {
      min-height: 120px;
      padding: 24px 20px; } }
  .titleWrap .titleWrapInner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px; }
    @media screen and (max-width: 768px) {
      .titleWrap .titleWrapInner {
        padding: 0 20px; } }
  .titleWrap .titleWrapTitleBlock {
    text-align: center; }
    .titleWrap .titleWrapTitleBlock .mainTitle {
      color: #5c1f14;
      font-size: 32px;
      font-weight: 800;
      letter-spacing: 0.05em;
      line-height: 1.4;
      margin: 0 0 4px; }
      @media screen and (max-width: 768px) {
        .titleWrap .titleWrapTitleBlock .mainTitle {
          font-size: 26px; } }

.topAboutWrap {
  position: relative;
  padding: 80px 40px 90px;
  overflow-x: hidden; }
  @media screen and (max-width: 768px) {
    .topAboutWrap {
      padding: 30px 20px; } }
  .topAboutWrap .aboutBgImg {
    position: absolute;
    right: -391px;
    top: 40px;
    width: 551px;
    height: auto;
    pointer-events: none;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .topAboutWrap .aboutBgImg {
        right: 10px;
        top: auto;
        bottom: 10px;
        width: 110px; } }
  .topAboutWrap .topAboutBox {
    z-index: 2;
    position: relative;
    max-width: 1280px;
    margin: 0 auto; }
    .topAboutWrap .topAboutBox .child .inner {
      overflow: visible;
      padding: 0px 0 0;
      margin-right: calc(calc(100vw - 1280px) / -2 - 30px); }
      @media screen and (max-width: 768px) {
        .topAboutWrap .topAboutBox .child .inner {
          overflow: hidden;
          margin-right: 0;
          padding: 5px 0px 0; } }
      .topAboutWrap .topAboutBox .child .inner .topAboutTitleBlock {
        position: relative;
        text-align: center;
        box-sizing: border-box;
        max-width: 1280px;
        width: 100vw;
        margin-bottom: 30px; }
        @media screen and (max-width: 768px) {
          .topAboutWrap .topAboutBox .child .inner .topAboutTitleBlock {
            width: 100%;
            margin-bottom: 24px;
            padding: 0 0 16px; } }
        .topAboutWrap .topAboutBox .child .inner .topAboutTitleBlock::before {
          content: "";
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
          width: 120px;
          height: 120px;
          background: url("../images/common/titleIcon.png") no-repeat center/contain;
          pointer-events: none;
          z-index: 0; }
          @media screen and (max-width: 768px) {
            .topAboutWrap .topAboutBox .child .inner .topAboutTitleBlock::before {
              width: 80px;
              height: 80px; } }
        .topAboutWrap .topAboutBox .child .inner .topAboutTitleBlock .mainTitle,
        .topAboutWrap .topAboutBox .child .inner .topAboutTitleBlock .subTitleEn {
          position: relative;
          z-index: 1; }
        .topAboutWrap .topAboutBox .child .inner .topAboutTitleBlock .mainTitle {
          color: #5c1f14;
          font-size: 36px;
          font-weight: 800;
          letter-spacing: 0.05em;
          line-height: 1.4;
          margin: 0; }
          @media screen and (max-width: 768px) {
            .topAboutWrap .topAboutBox .child .inner .topAboutTitleBlock .mainTitle {
              font-size: 28px; } }
        .topAboutWrap .topAboutBox .child .inner .topAboutTitleBlock .subTitleEn {
          display: block;
          color: #d09441;
          font-size: 16px;
          font-weight: 800;
          letter-spacing: 0.05em;
          font-family: 'Poppins', sans-serif;
          padding-bottom: 30px; }
          @media screen and (max-width: 768px) {
            .topAboutWrap .topAboutBox .child .inner .topAboutTitleBlock .subTitleEn {
              padding-bottom: 0; } }
      .topAboutWrap .topAboutBox .child .inner .topAboutBody {
        display: flex;
        align-items: stretch;
        gap: 0;
        flex-wrap: nowrap;
        justify-content: space-between; }
        @media screen and (max-width: 1280px) {
          .topAboutWrap .topAboutBox .child .inner .topAboutBody {
            width: 100vw; } }
        @media screen and (max-width: 768px) {
          .topAboutWrap .topAboutBox .child .inner .topAboutBody {
            flex-direction: column;
            width: 100%;
            gap: 0; } }
        .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutTextArea {
          flex: 1;
          min-width: 0;
          max-width: 610px;
          box-sizing: border-box; }
          @media screen and (max-width: 768px) {
            .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutTextArea {
              max-width: none;
              width: 100%;
              padding-right: 0;
              padding-left: 0;
              margin-bottom: 20px; } }
          .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutTextArea .topAboutLead {
            text-align: left;
            color: #5c1f14;
            font-size: 24px;
            font-weight: 800;
            letter-spacing: 0.05em;
            line-height: 1.4;
            margin: 0 0 24px;
            padding-left: 0;
            padding-top: 15px; }
            @media screen and (max-width: 768px) {
              .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutTextArea .topAboutLead {
                font-size: 18px;
                margin-bottom: 16px;
                line-height: 1.5; } }
          .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutTextArea .topAboutText {
            color: #5c1f14;
            font-size: 18px;
            font-weight: 400;
            letter-spacing: 0.05em;
            line-height: 2;
            margin: 0; }
            @media screen and (max-width: 1280px) {
              .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutTextArea .topAboutText {
                padding-right: 20px; } }
            @media screen and (max-width: 768px) {
              .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutTextArea .topAboutText {
                font-size: 15px;
                line-height: 1.9;
                padding-right: 0; } }
            .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutTextArea .topAboutText p {
              margin: 0 0 1em; }
              .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutTextArea .topAboutText p:last-child {
                margin-bottom: 0; }
        .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutImageArea {
          width: 50vw;
          overflow: visible;
          box-sizing: border-box;
          position: relative; }
          @media screen and (max-width: 768px) {
            .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutImageArea {
              width: 100%;
              padding-bottom: 40px; } }
          .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutImageArea .topAboutImageMain {
            position: relative;
            z-index: 2;
            width: 100%;
            height: auto;
            object-fit: cover;
            display: block; }
            @media screen and (max-width: 768px) {
              .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutImageArea .topAboutImageMain {
                width: calc(100% - 40px); } }
          .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutImageArea .topAboutImageBg {
            position: absolute;
            top: 70px;
            left: 60px;
            width: 100%;
            height: 100%;
            z-index: 1;
            object-fit: cover; }
            @media screen and (max-width: 1280px) {
              .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutImageArea .topAboutImageBg {
                width: 100%;
                height: auto; } }
            @media screen and (max-width: 768px) {
              .topAboutWrap .topAboutBox .child .inner .topAboutBody .topAboutImageArea .topAboutImageBg {
                width: 100%;
                object-fit: cover;
                top: 40px; } }
  .topAboutWrap .topAboutSlideBox {
    width: 100vw;
    position: relative;
    left: 50%;
    margin-left: -50vw;
    overflow: visible;
    z-index: 2;
    position: relative; }
    .topAboutWrap .topAboutSlideBox .galleryBox {
      overflow: visible; }
      .topAboutWrap .topAboutSlideBox .galleryBox .galleryInner {
        display: flex; }
        @media screen and (max-width: 768px) {
          .topAboutWrap .topAboutSlideBox .galleryBox .galleryInner {
            display: block; } }
        .topAboutWrap .topAboutSlideBox .galleryBox .galleryInner.slick-initialized .slick-list {
          overflow: visible; }
        .topAboutWrap .topAboutSlideBox .galleryBox .galleryInner .galleryItem img {
          width: 100%;
          height: auto; }
        .topAboutWrap .topAboutSlideBox .galleryBox .galleryInner .galleryItem.galleryItem1 {
          min-width: 270px;
          max-width: 270px;
          padding-top: 90px !important;
          padding-right: 40px; }
        .topAboutWrap .topAboutSlideBox .galleryBox .galleryInner .galleryItem.galleryItem2 {
          min-width: 264px;
          max-width: 264px;
          padding-top: 120px !important;
          padding-right: 40px; }
        .topAboutWrap .topAboutSlideBox .galleryBox .galleryInner .galleryItem.galleryItem3 {
          min-width: 250px;
          max-width: 250px;
          padding-top: 60px !important;
          padding-right: 30px; }
        .topAboutWrap .topAboutSlideBox .galleryBox .galleryInner .galleryItem.galleryItem4 {
          min-width: 394px;
          max-width: 394px;
          padding-top: 120px !important; }
        .topAboutWrap .topAboutSlideBox .galleryBox .galleryInner .galleryItem.galleryItem5 {
          min-width: 237px;
          max-width: 237px;
          padding-right: 30px; }

.topCategoryWrap {
  position: relative;
  padding: 80px 0px 0; }
  @media screen and (max-width: 768px) {
    .topCategoryWrap {
      padding: 30px 20px 20px; } }
  .topCategoryWrap .topCategoryBox {
    z-index: 2; }
    .topCategoryWrap .topCategoryBox .child {
      width: 100%; }
      .topCategoryWrap .topCategoryBox .child .inner .topCategoryTitleRow {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 30px;
        max-width: 1280px;
        margin: 0 auto 30px; }
        @media screen and (max-width: 768px) {
          .topCategoryWrap .topCategoryBox .child .inner .topCategoryTitleRow {
            margin-bottom: 20px; } }
        .topCategoryWrap .topCategoryBox .child .inner .topCategoryTitleRow .topCategoryTitleRowLeft {
          display: flex;
          flex-direction: column;
          align-items: flex-start; }
        .topCategoryWrap .topCategoryBox .child .inner .topCategoryTitleRow .topCategoryTitleRowRight {
          display: block; }
      .topCategoryWrap .topCategoryBox .child .inner .topCategoryList {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 1px;
        list-style: none;
        margin: 0;
        padding: 0; }
        @media screen and (max-width: 768px) {
          .topCategoryWrap .topCategoryBox .child .inner .topCategoryList {
            grid-template-columns: repeat(2, 1fr);
            gap: 1px; } }
        .topCategoryWrap .topCategoryBox .child .inner .topCategoryList .topCategoryItem {
          margin: 0; }
          .topCategoryWrap .topCategoryBox .child .inner .topCategoryList .topCategoryItem a {
            display: block;
            text-decoration: none;
            position: relative;
            overflow: hidden; }
          .topCategoryWrap .topCategoryBox .child .inner .topCategoryList .topCategoryItem .topCategoryItemImage {
            display: block;
            position: relative;
            line-height: 0;
            aspect-ratio: 1 / 1;
            overflow: hidden; }
            .topCategoryWrap .topCategoryBox .child .inner .topCategoryList .topCategoryItem .topCategoryItemImage img {
              display: block;
              width: 100%;
              height: 100%;
              object-fit: cover; }
          .topCategoryWrap .topCategoryBox .child .inner .topCategoryList .topCategoryItem .topCategoryItemLabel {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
            color: #fff;
            font-size: 24px;
            font-weight: 900;
            letter-spacing: 0.05em;
            pointer-events: none;
            text-align: center; }
            @media screen and (max-width: 768px) {
              .topCategoryWrap .topCategoryBox .child .inner .topCategoryList .topCategoryItem .topCategoryItemLabel {
                font-size: 18px;
                padding: 12px; } }

.topRankingWrap {
  position: relative;
  z-index: 2;
  overflow-x: hidden;
  background: #fff;
  padding: 60px 40px 30px; }
  @media screen and (max-width: 768px) {
    .topRankingWrap {
      padding: 60px 20px 80px; } }
  .topRankingWrap .titleBox {
    text-align: center;
    max-width: 1280px;
    margin: 0 auto 40px; }
    @media screen and (max-width: 768px) {
      .topRankingWrap .titleBox {
        margin-bottom: 20px; } }
    .topRankingWrap .titleBox .mainTitle {
      color: #5c1f14;
      font-size: 36px;
      font-weight: 800;
      letter-spacing: 0.05em;
      margin: 0; }
      @media screen and (max-width: 768px) {
        .topRankingWrap .titleBox .mainTitle {
          font-size: 28px; } }
    .topRankingWrap .titleBox .subTitleEn {
      display: block;
      color: #d09441;
      font-size: 16px;
      font-weight: 800;
      letter-spacing: 0.05em;
      font-family: 'Poppins', sans-serif;
      margin: 0; }
  .topRankingWrap .topRankingBox {
    position: relative;
    max-width: 1280px;
    margin: 0 auto; }
    .topRankingWrap .topRankingBox .topRankingBoxSlider {
      overflow: hidden; }
    .topRankingWrap .topRankingBox .rankingSliderList {
      list-style: none;
      display: flex;
      margin-top: 20px; }
      .topRankingWrap .topRankingBox .rankingSliderList.slick-initialized .slick-track {
        height: 100%;
        display: flex;
        align-items: stretch; }
      .topRankingWrap .topRankingBox .rankingSliderList.slick-initialized .slick-slide {
        height: 100%;
        width: 356px;
        margin: 0 20px; }
        @media screen and (max-width: 1024px) {
          .topRankingWrap .topRankingBox .rankingSliderList.slick-initialized .slick-slide {
            margin: 0 10px; } }
        @media screen and (max-width: 768px) {
          .topRankingWrap .topRankingBox .rankingSliderList.slick-initialized .slick-slide {
            width: calc(100vw - 100px);
            margin: 0 15px; } }
      .topRankingWrap .topRankingBox .rankingSliderList.slick-initialized .slick-slide.rankingCard {
        height: calc(100% - 40px);
        display: flex;
        flex-direction: column; }
      .topRankingWrap .topRankingBox .rankingSliderList.slick-initialized .rankingCard .rankingCardText {
        flex: 1;
        min-height: 0; }
      .topRankingWrap .topRankingBox .rankingSliderList .rankingCard {
        padding-top: 10px;
        position: relative;
        background: #fff;
        display: block;
        box-sizing: border-box; }
        .topRankingWrap .topRankingBox .rankingSliderList .rankingCard .rankingCardCategory {
          position: absolute;
          top: 0;
          left: -10px;
          width: 50px;
          height: 50px;
          display: flex;
          align-items: center;
          justify-content: center;
          border-radius: 0;
          font-size: 28px;
          font-weight: 800;
          font-family: 'Poppins', sans-serif;
          color: #fff;
          letter-spacing: 0;
          z-index: 2;
          line-height: 1;
          background: #d09441; }
          @media screen and (max-width: 1024px) {
            .topRankingWrap .topRankingBox .rankingSliderList .rankingCard .rankingCardCategory {
              width: 40px;
              height: 40px;
              font-size: 24px; } }
        .topRankingWrap .topRankingBox .rankingSliderList .rankingCard:nth-child(3n+2) .rankingCardCategory {
          background: #a79885; }
        .topRankingWrap .topRankingBox .rankingSliderList .rankingCard:nth-child(3n+3) .rankingCardCategory {
          background: #5c1f14; }
        .topRankingWrap .topRankingBox .rankingSliderList .rankingCard .rankingCardImage {
          margin-bottom: 20px; }
          .topRankingWrap .topRankingBox .rankingSliderList .rankingCard .rankingCardImage img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
        .topRankingWrap .topRankingBox .rankingSliderList .rankingCard .rankingCardLabelWrap {
          display: none; }
        .topRankingWrap .topRankingBox .rankingSliderList .rankingCard .rankingCardName {
          font-size: 21px;
          font-weight: 800;
          letter-spacing: 0.05em;
          color: #5c1f14;
          text-decoration: underline;
          margin: 0 0 8px;
          padding: 0;
          line-height: 1.4; }
          @media screen and (max-width: 768px) {
            .topRankingWrap .topRankingBox .rankingSliderList .rankingCard .rankingCardName {
              font-size: 18px; } }
        .topRankingWrap .topRankingBox .rankingSliderList .rankingCard .rankingCardText {
          font-size: 16px;
          font-weight: 800;
          letter-spacing: 0.05em;
          color: #5c1f14;
          margin: 0;
          padding: 0;
          line-height: 1.4; }
          @media screen and (max-width: 768px) {
            .topRankingWrap .topRankingBox .rankingSliderList .rankingCard .rankingCardText {
              font-size: 14px; } }
        .topRankingWrap .topRankingBox .rankingSliderList .rankingCard .rankingCardQuote {
          display: none; }
    .topRankingWrap .topRankingBox .slick-prev,
    .topRankingWrap .topRankingBox .slick-next {
      position: absolute;
      top: calc(50% - 20px);
      transform: translateY(-50%);
      z-index: 10;
      width: 46px;
      height: 46px;
      padding: 0;
      border: none;
      background: #afbd78;
      border-radius: 50%;
      font-size: 0;
      line-height: 0;
      cursor: pointer; }
      @media screen and (max-width: 1024px) {
        .topRankingWrap .topRankingBox .slick-prev,
        .topRankingWrap .topRankingBox .slick-next {
          width: 30px;
          height: 30px; } }
      @media screen and (max-width: 768px) {
        .topRankingWrap .topRankingBox .slick-prev,
        .topRankingWrap .topRankingBox .slick-next {
          top: calc(50% - 10px); } }
      .topRankingWrap .topRankingBox .slick-prev::before,
      .topRankingWrap .topRankingBox .slick-next::before {
        display: none; }
      .topRankingWrap .topRankingBox .slick-prev img,
      .topRankingWrap .topRankingBox .slick-next img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain; }
    .topRankingWrap .topRankingBox .slick-prev {
      left: -37px; }
      @media screen and (max-width: 1024px) {
        .topRankingWrap .topRankingBox .slick-prev {
          left: -27px; } }
      @media screen and (max-width: 768px) {
        .topRankingWrap .topRankingBox .slick-prev {
          left: 0px; } }
    .topRankingWrap .topRankingBox .slick-next {
      right: -37px; }
      @media screen and (max-width: 1024px) {
        .topRankingWrap .topRankingBox .slick-next {
          right: -27px; } }
      @media screen and (max-width: 768px) {
        .topRankingWrap .topRankingBox .slick-next {
          right: 0px; } }

.topTopicsWrap {
  position: relative;
  z-index: 2;
  overflow-x: hidden;
  background: #f2f2e7;
  padding: 80px 40px 90px; }
  @media screen and (max-width: 768px) {
    .topTopicsWrap {
      padding: 60px 20px 80px; } }
  .topTopicsWrap .topTopicsBox {
    position: relative;
    max-width: 1280px;
    margin: 0 auto; }
    .topTopicsWrap .topTopicsBox .child {
      width: 100%; }
    .topTopicsWrap .topTopicsBox .inner .topTopicsTitleRow {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      flex-wrap: wrap;
      align-items: center;
      gap: 16px;
      margin-bottom: 30px; }
      @media screen and (max-width: 768px) {
        .topTopicsWrap .topTopicsBox .inner .topTopicsTitleRow {
          margin-bottom: 24px; } }
      .topTopicsWrap .topTopicsBox .inner .topTopicsTitleRow .topTopicsTitleRowLeft {
        display: flex;
        flex-direction: column;
        align-items: flex-start; }
      .topTopicsWrap .topTopicsBox .inner .topTopicsTitleRow .topTopicsTitleRowRight {
        flex-shrink: 0; }
    .topTopicsWrap .topTopicsBox .inner .topTopicsBoxSlider {
      position: relative;
      max-width: 1280px;
      margin: 0 auto; }
    .topTopicsWrap .topTopicsBox .inner .topTopicsList {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex; }
      .topTopicsWrap .topTopicsBox .inner .topTopicsList.slick-initialized {
        display: block; }
      .topTopicsWrap .topTopicsBox .inner .topTopicsList.slick-initialized .slick-slide {
        width: 564px;
        margin: 0;
        height: auto; }
        @media screen and (max-width: 768px) {
          .topTopicsWrap .topTopicsBox .inner .topTopicsList.slick-initialized .slick-slide {
            width: calc(100vw - 100px);
            margin: 0 15px; } }
      .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem {
        margin: 0;
        background: #f2f2e7;
        padding: 0 20px; }
        @media screen and (max-width: 768px) {
          .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem {
            padding: 0; } }
        .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem a {
          display: flex;
          flex-direction: row;
          align-items: stretch;
          text-decoration: none;
          min-height: 192px; }
          @media screen and (max-width: 768px) {
            .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem a {
              flex-direction: column;
              min-height: 0; } }
        .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem .topTopicsItemImage {
          flex-shrink: 0;
          width: 266px;
          height: 192px;
          line-height: 0;
          overflow: hidden; }
          @media screen and (max-width: 768px) {
            .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem .topTopicsItemImage {
              width: 100%;
              height: auto;
              aspect-ratio: 266 / 192; } }
          .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem .topTopicsItemImage img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover; }
        .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem .topTopicsItemText {
          flex: 1;
          min-width: 0;
          display: flex;
          flex-direction: column;
          justify-content: flex-start;
          box-sizing: border-box;
          padding-left: 30px; }
          @media screen and (max-width: 768px) {
            .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem .topTopicsItemText {
              padding: 20px 0 0; } }
        .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem .topTopicsItemTitle {
          display: block;
          margin: 0 0 30px;
          color: #5c1f14;
          font-size: 18px;
          font-weight: 800;
          letter-spacing: 0.05em;
          text-decoration: underline;
          line-height: 1.45; }
          @media screen and (max-width: 768px) {
            .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem .topTopicsItemTitle {
              font-size: 16px;
              margin-bottom: 10px; } }
        .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem .topTopicsItemText .text {
          display: block;
          margin: 0;
          color: #5c1f14;
          font-size: 14px;
          font-weight: 600;
          letter-spacing: 0.02em;
          line-height: 1.8; }
          @media screen and (max-width: 768px) {
            .topTopicsWrap .topTopicsBox .inner .topTopicsList .topTopicsItem .topTopicsItemText .text {
              font-size: 12px; } }
    .topTopicsWrap .topTopicsBox .slick-prev,
    .topTopicsWrap .topTopicsBox .slick-next {
      position: absolute;
      top: calc(50% + 50px);
      transform: translateY(-50%);
      z-index: 10;
      width: 46px;
      height: 46px;
      padding: 0;
      border: none;
      background: #afbd78;
      border-radius: 50%;
      font-size: 0;
      line-height: 0;
      cursor: pointer; }
      @media screen and (max-width: 1024px) {
        .topTopicsWrap .topTopicsBox .slick-prev,
        .topTopicsWrap .topTopicsBox .slick-next {
          width: 30px;
          height: 30px; } }
      @media screen and (max-width: 768px) {
        .topTopicsWrap .topTopicsBox .slick-prev,
        .topTopicsWrap .topTopicsBox .slick-next {
          top: calc(50% + 0px); } }
      .topTopicsWrap .topTopicsBox .slick-prev::before,
      .topTopicsWrap .topTopicsBox .slick-next::before {
        display: none; }
      .topTopicsWrap .topTopicsBox .slick-prev img,
      .topTopicsWrap .topTopicsBox .slick-next img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain; }
    .topTopicsWrap .topTopicsBox .slick-prev {
      left: -40px; }
      @media screen and (max-width: 1024px) {
        .topTopicsWrap .topTopicsBox .slick-prev {
          left: -27px; } }
      @media screen and (max-width: 768px) {
        .topTopicsWrap .topTopicsBox .slick-prev {
          left: -5px; } }
    .topTopicsWrap .topTopicsBox .slick-next {
      right: -40px; }
      @media screen and (max-width: 1024px) {
        .topTopicsWrap .topTopicsBox .slick-next {
          right: -27px; } }
      @media screen and (max-width: 768px) {
        .topTopicsWrap .topTopicsBox .slick-next {
          right: 0px; } }

.topGuideWrap {
  position: relative;
  z-index: 2;
  background: #f5efea;
  padding: 80px 40px 60px; }
  @media screen and (max-width: 768px) {
    .topGuideWrap {
      padding: 60px 20px; } }
  .topGuideWrap .topGuideBox {
    max-width: 1280px;
    margin: 0 auto; }
    .topGuideWrap .topGuideBox .child {
      width: 100%; }
      .topGuideWrap .topGuideBox .child .inner .topGuideTitleBlock {
        text-align: center;
        margin-bottom: 50px; }
        @media screen and (max-width: 768px) {
          .topGuideWrap .topGuideBox .child .inner .topGuideTitleBlock {
            margin-bottom: 40px; } }
        .topGuideWrap .topGuideBox .child .inner .topGuideTitleBlock .mainTitle {
          color: #5c1f14;
          font-size: 36px;
          font-weight: 800;
          letter-spacing: 0.05em;
          margin: 0; }
          @media screen and (max-width: 768px) {
            .topGuideWrap .topGuideBox .child .inner .topGuideTitleBlock .mainTitle {
              font-size: 28px; } }
        .topGuideWrap .topGuideBox .child .inner .topGuideTitleBlock .subTitleEn {
          display: block;
          color: #d09441;
          font-size: 16px;
          font-weight: 800;
          letter-spacing: 0.05em;
          font-family: 'Poppins', sans-serif;
          margin: 0; }
      .topGuideWrap .topGuideBox .child .inner .topGuideGrid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        list-style: none;
        margin: 0;
        padding: 0;
        gap: 0 60px; }
        @media screen and (max-width: 768px) {
          .topGuideWrap .topGuideBox .child .inner .topGuideGrid {
            grid-template-columns: 1fr; } }
        .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem {
          padding: 24px 0;
          box-sizing: border-box; }
          @media screen and (max-width: 768px) {
            .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem {
              padding: 20px 0; } }
          .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemTitleRow {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 16px;
            border-bottom: 1px solid #5c1f14; }
            @media screen and (max-width: 768px) {
              .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemTitleRow {
                margin-bottom: 12px;
                padding-bottom: 12px; } }
          .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemTitle {
            color: #5c1f14;
            font-size: 18px;
            font-weight: 800;
            letter-spacing: 0.05em;
            margin: 0; }
            @media screen and (max-width: 768px) {
              .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemTitle {
                font-size: 16px; } }
          .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemBody {
            color: #5c1f14;
            font-size: 14px;
            font-weight: 600;
            letter-spacing: 0.02em;
            line-height: 1.8;
            margin: 0; }
            .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemBody p {
              margin: 0 0 0.5em; }
              .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemBody p:last-child {
                margin-bottom: 0; }
            .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemBody a {
              color: #5c1f14;
              text-decoration: underline; }
            @media screen and (max-width: 768px) {
              .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemBody {
                font-size: 13px; } }
            .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemBody .topGuidePaymentLabel {
              margin-bottom: 12px; }
            .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemBody .topGuidePaymentLogos {
              display: flex;
              align-items: center;
              flex-wrap: wrap;
              gap: 10px;
              margin-bottom: 16px; }
              .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemBody .topGuidePaymentLogos img {
                display: block;
                height: 41px;
                width: auto;
                object-fit: contain; }
            .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemBody .topGuidePaymentMethods {
              line-height: 1.8; }
          .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemLink {
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center; }
            .topGuideWrap .topGuideBox .child .inner .topGuideGrid .topGuideItem .topGuideItemLink img {
              display: block;
              width: 20px;
              height: 20px;
              object-fit: contain; }

.contactWrap {
  padding: 80px 40px 84px; }
  @media screen and (max-width: 768px) {
    .contactWrap {
      padding: 56px 20px 56px; } }
  .contactWrap .contactBox {
    max-width: 900px;
    margin: 0 auto; }
    .contactWrap .contactBox .contactLead {
      margin: 0 0 36px;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.03em;
      line-height: 2;
      text-align: center; }
      @media screen and (max-width: 768px) {
        .contactWrap .contactBox .contactLead {
          margin-bottom: 28px;
          font-size: 13px;
          line-height: 1.8;
          text-align: left; } }
    .contactWrap .contactBox .contactForm .contactRow {
      display: grid;
      grid-template-columns: 220px 1fr;
      align-items: start;
      gap: 12px 14px;
      margin-bottom: 20px;
      padding-bottom: 20px;
      border-bottom: 1px solid #ccc; }
      @media screen and (max-width: 768px) {
        .contactWrap .contactBox .contactForm .contactRow {
          grid-template-columns: 1fr;
          gap: 8px;
          margin-bottom: 14px; } }
      .contactWrap .contactBox .contactForm .contactRow:first-child {
        border-top: 1px solid #ccc;
        padding-top: 20px; }
      .contactWrap .contactBox .contactForm .contactRow:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none; }
      .contactWrap .contactBox .contactForm .contactRow .contactLabel {
        margin: 7px 0 0;
        color: #5c1f14;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.04em;
        line-height: 1.7; }
        @media screen and (max-width: 768px) {
          .contactWrap .contactBox .contactForm .contactRow .contactLabel {
            margin-top: 0;
            font-size: 13px;
            line-height: 1.6; } }
        .contactWrap .contactBox .contactForm .contactRow .contactLabel .contactRequired {
          display: inline-block;
          margin-left: 6px;
          color: #d45f52;
          font-size: 12px;
          font-weight: 700;
          letter-spacing: 0.05em; }
      .contactWrap .contactBox .contactForm .contactRow .contactField .wpcf7-form-control-wrap {
        display: block; }
      .contactWrap .contactBox .contactForm .contactRow .contactField input,
      .contactWrap .contactBox .contactForm .contactRow .contactField select,
      .contactWrap .contactBox .contactForm .contactRow .contactField textarea,
      .contactWrap .contactBox .contactForm .contactRow .contactField .wpcf7-form-control {
        width: 100%;
        border: 1px solid #d8d8d8;
        background: #fff;
        color: #666;
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0.03em;
        line-height: 1.8;
        box-sizing: border-box; }
        .contactWrap .contactBox .contactForm .contactRow .contactField input::placeholder,
        .contactWrap .contactBox .contactForm .contactRow .contactField select::placeholder,
        .contactWrap .contactBox .contactForm .contactRow .contactField textarea::placeholder,
        .contactWrap .contactBox .contactForm .contactRow .contactField .wpcf7-form-control::placeholder {
          color: #a2a2a2; }
        @media screen and (max-width: 768px) {
          .contactWrap .contactBox .contactForm .contactRow .contactField input,
          .contactWrap .contactBox .contactForm .contactRow .contactField select,
          .contactWrap .contactBox .contactForm .contactRow .contactField textarea,
          .contactWrap .contactBox .contactForm .contactRow .contactField .wpcf7-form-control {
            font-size: 13px;
            line-height: 1.6; } }
      .contactWrap .contactBox .contactForm .contactRow .contactField input,
      .contactWrap .contactBox .contactForm .contactRow .contactField select,
      .contactWrap .contactBox .contactForm .contactRow .contactField .wpcf7-text,
      .contactWrap .contactBox .contactForm .contactRow .contactField .wpcf7-email,
      .contactWrap .contactBox .contactForm .contactRow .contactField .wpcf7-tel,
      .contactWrap .contactBox .contactForm .contactRow .contactField .wpcf7-select {
        height: 32px;
        padding: 0 10px; }
      .contactWrap .contactBox .contactForm .contactRow .contactField textarea,
      .contactWrap .contactBox .contactForm .contactRow .contactField .wpcf7-textarea {
        min-height: 120px;
        height: auto;
        padding: 8px 10px;
        resize: vertical; }
      .contactWrap .contactBox .contactForm .contactRow .contactField .contactGrid2 {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px; }
        @media screen and (max-width: 768px) {
          .contactWrap .contactBox .contactForm .contactRow .contactField .contactGrid2 {
            grid-template-columns: 1fr;
            gap: 8px; } }
        .contactWrap .contactBox .contactForm .contactRow .contactField .contactGrid2 .wpcf7-form-control-wrap {
          min-width: 0; }
      .contactWrap .contactBox .contactForm .contactRow .contactField .contactZip {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          .contactWrap .contactBox .contactForm .contactRow .contactField .contactZip {
            flex-wrap: wrap;
            gap: 8px; } }
        .contactWrap .contactBox .contactForm .contactRow .contactField .contactZip .contactZipMark {
          flex-shrink: 0;
          color: #666;
          font-size: 14px;
          font-weight: 500;
          letter-spacing: 0.03em;
          line-height: 1; }
          @media screen and (max-width: 768px) {
            .contactWrap .contactBox .contactForm .contactRow .contactField .contactZip .contactZipMark {
              font-size: 13px; } }
        .contactWrap .contactBox .contactForm .contactRow .contactField .contactZip .contactZipHelp {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 20px;
          height: 20px;
          border-radius: 50%;
          background: #5d6877;
          color: #fff;
          font-size: 14px;
          font-weight: 700;
          line-height: 1;
          flex-shrink: 0;
          transform: translateY(-1px); }
        .contactWrap .contactBox .contactForm .contactRow .contactField .contactZip input,
        .contactWrap .contactBox .contactForm .contactRow .contactField .contactZip .wpcf7-text {
          width: 170px; }
          @media screen and (max-width: 768px) {
            .contactWrap .contactBox .contactForm .contactRow .contactField .contactZip input,
            .contactWrap .contactBox .contactForm .contactRow .contactField .contactZip .wpcf7-text {
              width: 100%; } }
        .contactWrap .contactBox .contactForm .contactRow .contactField .contactZip .contactZipLink {
          color: #3f77b4;
          font-size: 12px;
          font-weight: 700;
          text-decoration: none;
          white-space: nowrap; }
      .contactWrap .contactBox .contactForm .contactRow .contactField .contactAddress {
        display: grid;
        gap: 6px; }
        .contactWrap .contactBox .contactForm .contactRow .contactField .contactAddress select {
          width: 170px;
          background: #F8F8F8;
          border-radius: 3px; }
          @media screen and (max-width: 768px) {
            .contactWrap .contactBox .contactForm .contactRow .contactField .contactAddress select {
              width: 100%; } }
      .contactWrap .contactBox .contactForm .contactRow .contactNote {
        width: 100%;
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0.03em;
        line-height: 1.8; }
        @media screen and (max-width: 768px) {
          .contactWrap .contactBox .contactForm .contactRow .contactNote {
            margin-left: 0;
            font-size: 13px;
            line-height: 1.6; } }
    .contactWrap .contactBox .contactForm .contactSubmit {
      text-align: center; }
      .contactWrap .contactBox .contactForm .contactSubmit button,
      .contactWrap .contactBox .contactForm .contactSubmit .wpcf7-submit {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 240px;
        height: 40px;
        padding: 0;
        border: none;
        background: #d85a4b;
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.05em;
        line-height: 1;
        cursor: pointer;
        appearance: none; }
        @media screen and (max-width: 768px) {
          .contactWrap .contactBox .contactForm .contactSubmit button,
          .contactWrap .contactBox .contactForm .contactSubmit .wpcf7-submit {
            font-size: 13px; } }
    .contactWrap .contactBox .contactForm .wpcf7-response-output {
      margin: 20px 0 0;
      padding: 12px 14px;
      border: 1px solid #ccc;
      font-size: 14px;
      font-weight: 500;
      line-height: 1.6;
      color: #666;
      clear: both; }
    .contactWrap .contactBox .contactForm .wpcf7-not-valid-tip {
      margin-top: 6px;
      font-size: 12px;
      line-height: 1.5;
      color: #d45f52; }

.legalWrap {
  padding: 84px 40px 72px;
  background: #fff; }
  @media screen and (max-width: 768px) {
    .legalWrap {
      padding: 56px 20px 48px; } }
  .legalWrap .legalBox {
    max-width: 900px;
    margin: 0 auto; }
    .legalWrap .legalBox .legalList .legalRow {
      display: grid;
      grid-template-columns: 270px 1fr;
      align-items: start;
      border-bottom: 1px solid #ccc;
      padding-bottom: 30px;
      margin-bottom: 30px; }
      @media screen and (max-width: 768px) {
        .legalWrap .legalBox .legalList .legalRow {
          display: block; } }
      .legalWrap .legalBox .legalList .legalRow .legalLabel {
        color: #5c1f14;
        font-size: 16px;
        font-weight: 700;
        letter-spacing: 0.1em;
        line-height: 2.2;
        margin: -0.5em 0; }
        @media screen and (max-width: 768px) {
          .legalWrap .legalBox .legalList .legalRow .legalLabel {
            margin-bottom: 20px; } }
      .legalWrap .legalBox .legalList .legalRow .legalText {
        margin: 0;
        color: #333;
        font-size: 16px;
        font-weight: 700;
        letter-spacing: 0.1em;
        line-height: 2.2;
        margin: -0.5em 0; }
        @media screen and (max-width: 768px) {
          .legalWrap .legalBox .legalList .legalRow .legalText {
            font-size: 14px;
            line-height: 1.9; } }
    .legalWrap .legalBox .legalBack {
      margin: 72px 0 0;
      text-align: center; }
      @media screen and (max-width: 768px) {
        .legalWrap .legalBox .legalBack {
          margin-top: 48px; } }

.guideWrap {
  padding: 84px 40px 72px;
  background: #fff; }
  @media screen and (max-width: 768px) {
    .guideWrap {
      padding: 56px 20px 48px; } }
  .guideWrap .guideBox {
    max-width: 900px;
    margin: 0 auto; }
    .guideWrap .guideBox .guideLead {
      margin: 0 0 56px;
      color: #333;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: 0.1em;
      line-height: 2.5; }
      @media screen and (max-width: 768px) {
        .guideWrap .guideBox .guideLead {
          margin-bottom: 36px;
          font-size: 13px;
          line-height: 2; } }
    .guideWrap .guideBox .guideSection {
      margin-bottom: 60px; }
      .guideWrap .guideBox .guideSection:last-child {
        margin-bottom: 0; }
      @media screen and (max-width: 768px) {
        .guideWrap .guideBox .guideSection {
          margin-bottom: 30px; } }
      .guideWrap .guideBox .guideSection .guideTitle {
        margin: 0 0 30px;
        padding-bottom: 30px;
        border-bottom: 1px solid #ccc;
        color: #5c1f14;
        font-size: 24px;
        font-weight: 700;
        letter-spacing: 0.1em;
        line-height: 1.45; }
        @media screen and (max-width: 768px) {
          .guideWrap .guideBox .guideSection .guideTitle {
            font-size: 20px;
            margin-bottom: 24px;
            padding-bottom: 16px;
            line-height: 1.5; } }
      .guideWrap .guideBox .guideSection .guideText {
        margin: -0.5em 0; }
        .guideWrap .guideBox .guideSection .guideText p {
          margin: 0;
          color: #333;
          font-size: 14px;
          font-weight: 700;
          letter-spacing: 0.1em;
          line-height: 2.5; }
          @media screen and (max-width: 768px) {
            .guideWrap .guideBox .guideSection .guideText p {
              font-size: 13px;
              line-height: 2; } }
        .guideWrap .guideBox .guideSection .guideText .guideIndent {
          padding-left: 1em;
          text-indent: -1em; }
    .guideWrap .guideBox .guideTop {
      margin: 72px 0 0;
      text-align: center; }
      @media screen and (max-width: 768px) {
        .guideWrap .guideBox .guideTop {
          margin-top: 48px; } }
      .guideWrap .guideBox .guideTop .arLink {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        color: #5c1f14;
        font-size: 16px;
        font-weight: 600;
        letter-spacing: 0.05em;
        line-height: 1.4;
        text-decoration: underline; }
        .guideWrap .guideBox .guideTop .arLink img {
          display: block;
          width: 20px;
          height: 20px;
          object-fit: contain; }

.topNewsWrap {
  padding: 60px 40px;
  background: #fff;
  position: relative;
  z-index: 2; }
  @media screen and (max-width: 768px) {
    .topNewsWrap {
      padding: 30px 20px; } }
  .topNewsWrap .topNewsBox {
    max-width: 900px;
    margin: 0 auto;
    position: relative; }
    .topNewsWrap .topNewsBox .child {
      width: 100%; }
      .topNewsWrap .topNewsBox .child .inner .topNewsList {
        list-style: none;
        margin: 0;
        padding: 0; }
        .topNewsWrap .topNewsBox .child .inner .topNewsList .topNewsItem {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          gap: 12px 20px;
          padding: 20px 0;
          border-bottom: 1px solid #ccc; }
          @media screen and (max-width: 768px) {
            .topNewsWrap .topNewsBox .child .inner .topNewsList .topNewsItem {
              flex-wrap: wrap; } }
          .topNewsWrap .topNewsBox .child .inner .topNewsList .topNewsItem:first-child {
            border-top: 1px solid #ccc; }
          .topNewsWrap .topNewsBox .child .inner .topNewsList .topNewsItem .topNewsDate {
            color: #5c1f14;
            font-size: 16px;
            font-weight: 600;
            letter-spacing: 0.1em;
            flex-shrink: 0; }
          .topNewsWrap .topNewsBox .child .inner .topNewsList .topNewsItem .topNewsLabel {
            display: inline-block;
            background: #afbd78;
            color: #fff;
            font-size: 16px;
            font-weight: 600;
            letter-spacing: 0.1em;
            padding: 6px 16px;
            border-radius: 6px;
            line-height: 1;
            flex-shrink: 0; }
          .topNewsWrap .topNewsBox .child .inner .topNewsList .topNewsItem .topNewsTitle {
            color: #5c1f14;
            font-size: 16px;
            letter-spacing: 0.1em;
            text-decoration: underline;
            flex: 1;
            min-width: 0; }
            @media screen and (max-width: 768px) {
              .topNewsWrap .topNewsBox .child .inner .topNewsList .topNewsItem .topNewsTitle {
                flex-basis: 100%; } }
      .topNewsWrap .topNewsBox .child .inner .topNewsListLinkWrap {
        margin: 20px 0 0;
        text-align: right; }

/*==============================================
  Footer（footer完成予定.svg 準拠）
==============================================*/
footer {
  background: #5c1f14;
  position: relative;
  padding: 60px 40px 70px; }
  @media screen and (max-width: 768px) {
    footer {
      padding: 30px 20px 40px; } }
  footer .footerBox {
    max-width: 1280px;
    margin: 0 auto;
    position: relative; }
    footer .footerBox .child {
      width: 100%; }
      footer .footerBox .child .inner {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 24px 40px;
        padding: 0 0 110px; }
        @media screen and (max-width: 768px) {
          footer .footerBox .child .inner {
            flex-direction: column;
            align-items: flex-start;
            padding: 24px 0 60px; } }
        footer .footerBox .child .inner .footerLeft {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          gap: 32px;
          flex-shrink: 0; }
          @media screen and (max-width: 768px) {
            footer .footerBox .child .inner .footerLeft {
              gap: 20px; } }
          footer .footerBox .child .inner .footerLeft .footerLogo {
            flex-shrink: 0; }
            footer .footerBox .child .inner .footerLeft .footerLogo a {
              display: block;
              text-decoration: none; }
            footer .footerBox .child .inner .footerLeft .footerLogo img {
              width: auto;
              height: 37px;
              display: block; }
              @media screen and (max-width: 768px) {
                footer .footerBox .child .inner .footerLeft .footerLogo img {
                  height: 28px; } }
          footer .footerBox .child .inner .footerLeft .footerCtaWrap {
            flex-shrink: 0; }
            footer .footerBox .child .inner .footerLeft .footerCtaWrap .footerCorporateBtn {
              display: inline-flex;
              align-items: center;
              justify-content: center;
              gap: 30px;
              height: 40px;
              padding: 0 10px 0 20px;
              background: #fff;
              border-radius: 7px;
              text-decoration: none;
              color: #5c1f14;
              font-size: 14px;
              font-weight: 600;
              letter-spacing: 0.05em;
              transition: opacity 0.3s; }
              @media screen and (max-width: 768px) {
                footer .footerBox .child .inner .footerLeft .footerCtaWrap .footerCorporateBtn {
                  width: 100%;
                  max-width: 271px; } }
              footer .footerBox .child .inner .footerLeft .footerCtaWrap .footerCorporateBtn:hover {
                opacity: 0.9; }
              footer .footerBox .child .inner .footerLeft .footerCtaWrap .footerCorporateBtn .footerCorporateBtnText {
                white-space: nowrap; }
              footer .footerBox .child .inner .footerLeft .footerCtaWrap .footerCorporateBtn .footerCorporateBtnIcon {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 21px;
                height: 21px;
                color: #5c1f14; }
                footer .footerBox .child .inner .footerLeft .footerCtaWrap .footerCorporateBtn .footerCorporateBtnIcon svg {
                  width: 100%;
                  height: 100%;
                  display: block; }
        footer .footerBox .child .inner .footerNav {
          display: flex;
          flex-direction: column;
          align-items: flex-end;
          gap: 24px; }
          @media screen and (max-width: 768px) {
            footer .footerBox .child .inner .footerNav {
              align-items: flex-start;
              width: 100%; } }
          footer .footerBox .child .inner .footerNav .footerNavList {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: flex-end;
            gap: 0 40px; }
            @media screen and (max-width: 768px) {
              footer .footerBox .child .inner .footerNav .footerNavList {
                justify-content: flex-start;
                gap: 16px 24px; } }
            footer .footerBox .child .inner .footerNav .footerNavList .footerNavItem {
              margin: 0;
              padding: 0; }
              footer .footerBox .child .inner .footerNav .footerNavList .footerNavItem .footerNavLink {
                display: block;
                color: #fff;
                text-decoration: underline;
                font-weight: 600;
                letter-spacing: 0.05em;
                white-space: nowrap;
                transition: opacity 0.3s; }
                footer .footerBox .child .inner .footerNav .footerNavList .footerNavItem .footerNavLink:hover {
                  opacity: 0.8; }
          footer .footerBox .child .inner .footerNav .footerNavList--primary .footerNavItem .footerNavLink {
            font-size: 16px; }
          footer .footerBox .child .inner .footerNav .footerNavList--secondary {
            gap: 20px 40px; }
            footer .footerBox .child .inner .footerNav .footerNavList--secondary .footerNavItem .footerNavLink {
              font-size: 12px; }
    footer .footerBox .credit {
      text-align: center;
      padding: 0 20px; }
      @media screen and (max-width: 768px) {
        footer .footerBox .credit {
          padding: 0 20px; } }
      footer .footerBox .credit p {
        margin: 0;
        font-size: 12px;
        font-weight: 500;
        color: #fff;
        letter-spacing: 0.05em;
        font-family: 'Poppins', sans-serif; }

.decoration {
  padding: 0 35px; }
  @media screen and (max-width: 768px) {
    .decoration {
      padding: 0 20px; } }
  .decoration .child {
    width: 100%;
    height: auto; }
    .decoration .child img {
      width: 100%;
      height: auto; }

.underContent header .headerWrap {
  position: static; }
.underContent .productListPagination {
  margin-top: 60px;
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    .underContent .productListPagination {
      margin-top: 40px; } }
  .underContent .productListPagination .productListPaginationList {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0; }
    .underContent .productListPagination .productListPaginationList li {
      margin: 0; }
    .underContent .productListPagination .productListPaginationList .productListPaginationLink {
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 56px;
      width: 56px;
      height: 56px;
      border: 2px solid #afbd78;
      background: #afbd78;
      color: #fff;
      text-decoration: none;
      font-size: 18px;
      font-weight: 500;
      letter-spacing: 0.1em;
      border-radius: 10px;
      box-sizing: border-box; }
      @media screen and (max-width: 768px) {
        .underContent .productListPagination .productListPaginationList .productListPaginationLink {
          min-width: 44px;
          width: 44px;
          height: 44px;
          font-size: 16px; } }
      .underContent .productListPagination .productListPaginationList .productListPaginationLink:hover {
        opacity: 0.8; }
      .underContent .productListPagination .productListPaginationList .productListPaginationLink.isCurrent {
        background: #fff;
        color: #afbd78;
        border-color: #afbd78; }
.underContent .productBanner {
  position: fixed;
  top: 207px;
  right: 0;
  z-index: 100;
  width: 229px;
  height: 142px;
  background: #fff;
  border: 1px solid #5c1f14;
  border-right: 0;
  border-radius: 15px 0 0 15px;
  box-sizing: border-box;
  padding: 18px 20px; }
  @media screen and (max-width: 768px) {
    .underContent .productBanner {
      top: 90px;
      width: 200px;
      height: auto;
      padding: 14px; } }
  .underContent .productBanner .productBannerInner {
    width: 100%; }
  .underContent .productBanner .productBannerTitle {
    color: #333;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin: 0 0 10px; }
  .underContent .productBanner .productBannerPrice {
    color: #333;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin: 0 0 12px; }
  .underContent .productBanner .productBannerBtn {
    width: 175px;
    height: 39px;
    border-radius: 19.5px;
    background: #afbd78;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-decoration: none;
    position: relative; }
    @media screen and (max-width: 768px) {
      .underContent .productBanner .productBannerBtn {
        width: 100%; } }
    .underContent .productBanner .productBannerBtn::after {
      content: "";
      position: absolute;
      right: 14px;
      top: 50%;
      width: 7px;
      height: 7px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: translateY(-50%) rotate(45deg); }
.underContent .categoryMenu {
  width: 315px;
  background: #f2f2e7;
  padding: 30px 30px 60px;
  box-sizing: border-box;
  flex: 0 0 auto; }
  @media screen and (max-width: 1024px) {
    .underContent .categoryMenu {
      width: 100%; } }
  @media screen and (max-width: 768px) {
    .underContent .categoryMenu {
      width: 100%;
      max-width: 100%;
      padding: 24px 20px; } }
  .underContent .categoryMenu .titleBoxInner {
    display: flex;
    flex-direction: column;
    gap: 30px; }
    @media screen and (max-width: 768px) {
      .underContent .categoryMenu .titleBoxInner {
        gap: 20px; } }
    .underContent .categoryMenu .titleBoxInner .titleInner .titleInnerContent .categorySubTitleEn {
      display: block;
      color: #d09441;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0.05em;
      font-family: 'Poppins', sans-serif;
      margin-bottom: 10px; }
    .underContent .categoryMenu .titleBoxInner .titleInner .titleInnerContent .categoryTitle {
      color: #5c1f14;
      font-size: 24px;
      font-weight: 800;
      letter-spacing: 0.05em;
      line-height: 1.3;
      margin-bottom: 10px; }
    .underContent .categoryMenu .titleBoxInner .productCategoryList {
      list-style: none;
      margin: 0;
      padding: 0; }
      .underContent .categoryMenu .titleBoxInner .productCategoryList li {
        margin: 0 0 20px 0; }
        @media screen and (max-width: 768px) {
          .underContent .categoryMenu .titleBoxInner .productCategoryList li {
            margin-bottom: 16px; } }
        .underContent .categoryMenu .titleBoxInner .productCategoryList li:last-child {
          margin-bottom: 0; }
        .underContent .categoryMenu .titleBoxInner .productCategoryList li a {
          display: flex;
          align-items: center;
          gap: 12px;
          color: #5c1f14;
          text-decoration: underline;
          font-size: 18px;
          font-weight: 800;
          letter-spacing: 0.05em;
          line-height: 1.2; }
          @media screen and (max-width: 768px) {
            .underContent .categoryMenu .titleBoxInner .productCategoryList li a {
              font-size: 16px; } }
          .underContent .categoryMenu .titleBoxInner .productCategoryList li a::before {
            content: "";
            display: inline-block;
            width: 8px;
            height: 8px;
            border-right: 2px solid #afbd78;
            border-bottom: 2px solid #afbd78;
            transform: rotate(-45deg);
            flex-shrink: 0; }
          .underContent .categoryMenu .titleBoxInner .productCategoryList li a:hover {
            opacity: 0.7; }
    .underContent .categoryMenu .titleBoxInner .topicsCategoryList ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      .underContent .categoryMenu .titleBoxInner .topicsCategoryList ul .topicsItem {
        margin: 0 0 21px; }
        @media screen and (max-width: 768px) {
          .underContent .categoryMenu .titleBoxInner .topicsCategoryList ul .topicsItem {
            margin-bottom: 20px; } }
        .underContent .categoryMenu .titleBoxInner .topicsCategoryList ul .topicsItem:last-child {
          margin-bottom: 0; }
        .underContent .categoryMenu .titleBoxInner .topicsCategoryList ul .topicsItem .topicsLink {
          display: block;
          text-decoration: none;
          color: inherit; }
          .underContent .categoryMenu .titleBoxInner .topicsCategoryList ul .topicsItem .topicsLink .topicsThumb {
            width: 100%;
            max-width: 266px;
            aspect-ratio: 266 / 192;
            overflow: hidden; }
            @media screen and (max-width: 768px) {
              .underContent .categoryMenu .titleBoxInner .topicsCategoryList ul .topicsItem .topicsLink .topicsThumb {
                max-width: 100%; } }
            .underContent .categoryMenu .titleBoxInner .topicsCategoryList ul .topicsItem .topicsLink .topicsThumb img {
              width: 100%;
              height: 100%;
              object-fit: cover;
              display: block; }
          .underContent .categoryMenu .titleBoxInner .topicsCategoryList ul .topicsItem .topicsLink .topicsBody {
            margin-top: 16px; }
            .underContent .categoryMenu .titleBoxInner .topicsCategoryList ul .topicsItem .topicsLink .topicsBody .topicsTitle {
              color: #5c1f14;
              font-size: 16px;
              font-weight: 800;
              letter-spacing: 0.05em;
              line-height: 1.5;
              text-decoration: underline;
              margin: 0; }
.underContent .productDetailWrap {
  width: 100%;
  background: #fff;
  padding: 90px 40px 60px; }
  @media screen and (max-width: 1024px) {
    .underContent .productDetailWrap {
      padding: 60px 40px 60px; } }
  @media screen and (max-width: 768px) {
    .underContent .productDetailWrap {
      padding: 30px 20px 40px; } }
  .underContent .productDetailWrap .productDetailBox {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 564px) minmax(0, 563px);
    column-gap: 59px; }
    @media screen and (max-width: 1024px) {
      .underContent .productDetailWrap .productDetailBox {
        grid-template-columns: 1fr;
        row-gap: 40px; } }
    @media screen and (max-width: 768px) {
      .underContent .productDetailWrap .productDetailBox {
        row-gap: 30px; } }
    .underContent .productDetailWrap .productDetailBox .leftChild {
      min-width: 0; }
      .underContent .productDetailWrap .productDetailBox .leftChild .media .productDetailMainImage {
        width: 100%;
        aspect-ratio: 1 / 1;
        border: 1px solid #ccc;
        padding: 3px;
        box-sizing: border-box;
        background: #fff; }
        .underContent .productDetailWrap .productDetailBox .leftChild .media .productDetailMainImage img {
          width: 100%;
          height: 100%;
          object-fit: contain;
          display: block; }
      .underContent .productDetailWrap .productDetailBox .leftChild .media .productDetailSubImages {
        list-style: none;
        margin: 18px 0 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 19px; }
        @media screen and (max-width: 768px) {
          .underContent .productDetailWrap .productDetailBox .leftChild .media .productDetailSubImages {
            gap: 12px;
            margin-top: 12px; } }
        .underContent .productDetailWrap .productDetailBox .leftChild .media .productDetailSubImages .productDetailSubImageItem {
          border: 1px solid #ccc;
          aspect-ratio: 1 / 1;
          overflow: hidden; }
          .underContent .productDetailWrap .productDetailBox .leftChild .media .productDetailSubImages .productDetailSubImageItem img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block; }
    .underContent .productDetailWrap .productDetailBox .rightChild {
      min-width: 0; }
      .underContent .productDetailWrap .productDetailBox .rightChild .info {
        width: 100%; }
        .underContent .productDetailWrap .productDetailBox .rightChild .info .infoTitle {
          color: #333;
          font-size: 24px;
          font-weight: 800;
          letter-spacing: 0.1em;
          line-height: 1.5;
          margin: 0 0 24px; }
          @media screen and (max-width: 768px) {
            .underContent .productDetailWrap .productDetailBox .rightChild .info .infoTitle {
              font-size: 20px;
              margin-bottom: 16px; } }
        .underContent .productDetailWrap .productDetailBox .rightChild .info .infoText p {
          color: #333;
          font-size: 16px;
          font-weight: 400;
          letter-spacing: 0.1em;
          line-height: 2.4;
          margin: 0; }
          @media screen and (max-width: 768px) {
            .underContent .productDetailWrap .productDetailBox .rightChild .info .infoText p {
              font-size: 14px;
              line-height: 2; } }
        .underContent .productDetailWrap .productDetailBox .rightChild .info .purchaseRow {
          display: flex;
          align-items: center;
          gap: 40px;
          margin-top: 30px; }
          @media screen and (max-width: 768px) {
            .underContent .productDetailWrap .productDetailBox .rightChild .info .purchaseRow {
              gap: 16px;
              margin-top: 20px; } }
          .underContent .productDetailWrap .productDetailBox .rightChild .info .purchaseRow .qty {
            width: 162px;
            height: 54px;
            border: 1px solid #333;
            box-sizing: border-box;
            display: grid;
            grid-template-columns: 54px 1fr 54px;
            align-items: center; }
            .underContent .productDetailWrap .productDetailBox .rightChild .info .purchaseRow .qty .qtyBtn {
              border: 0;
              background: transparent;
              color: #333;
              font-size: 36px;
              font-weight: 300;
              line-height: 1;
              padding: 0;
              cursor: pointer;
              height: 100%;
              display: flex;
              align-items: center;
              justify-content: center; }
              .underContent .productDetailWrap .productDetailBox .rightChild .info .purchaseRow .qty .qtyBtn img {
                width: 13px;
                height: 13px;
                display: block; }
            .underContent .productDetailWrap .productDetailBox .rightChild .info .purchaseRow .qty .qtyInput {
              width: 100%;
              height: 100%;
              border: 0;
              background: transparent;
              text-align: center;
              color: #333;
              font-size: 24px;
              font-weight: 500;
              letter-spacing: 0.1em;
              padding: 0;
              line-height: 54px; }
          .underContent .productDetailWrap .productDetailBox .rightChild .info .purchaseRow .price {
            display: flex;
            align-items: center;
            gap: 8px;
            color: #333;
            line-height: 1; }
            .underContent .productDetailWrap .productDetailBox .rightChild .info .purchaseRow .price .value {
              font-family: 'Poppins', sans-serif;
              font-size: 36px;
              font-weight: 600;
              letter-spacing: 0.1em; }
            .underContent .productDetailWrap .productDetailBox .rightChild .info .purchaseRow .price .tax {
              font-size: 18px;
              font-weight: 600;
              letter-spacing: 0.1em; }
        .underContent .productDetailWrap .productDetailBox .rightChild .info .size {
          margin-top: 60px; }
          @media screen and (max-width: 768px) {
            .underContent .productDetailWrap .productDetailBox .rightChild .info .size {
              margin-top: 30px; } }
          .underContent .productDetailWrap .productDetailBox .rightChild .info .size .sizeHead {
            height: 60px;
            background: #d09441;
            border-radius: 10px;
            padding: 0 20px;
            box-sizing: border-box;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px; }
          .underContent .productDetailWrap .productDetailBox .rightChild .info .size .sizeTitle {
            color: #fff;
            font-size: 21px;
            font-weight: 800;
            letter-spacing: 0.1em;
            margin: 0; }
          .underContent .productDetailWrap .productDetailBox .rightChild .info .size .required {
            color: #fff;
            font-size: 14px;
            font-weight: 800;
            letter-spacing: 0.1em; }
          .underContent .productDetailWrap .productDetailBox .rightChild .info .size .sizeLabel {
            color: #333;
            font-size: 16px;
            font-weight: 400;
            letter-spacing: 0.1em;
            margin: 20px 0 12px; }
          .underContent .productDetailWrap .productDetailBox .rightChild .info .size .sizeSelect {
            width: 100%;
            height: 53px;
            border: 1px solid #ccc;
            border-radius: 10px;
            box-sizing: border-box;
            background: #fff;
            color: #999;
            font-size: 16px;
            letter-spacing: 0.1em;
            padding: 0 44px 0 16px;
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='8' viewBox='0 0 15 8'%3E%3Cpath d='M1 1l6.5 6L14 1' fill='none' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 16px center;
            background-size: 15px 8px; }
        .underContent .productDetailWrap .productDetailBox .rightChild .info .descImage {
          width: 100%;
          aspect-ratio: 563 / 350;
          margin-top: 27px;
          overflow: hidden; }
          @media screen and (max-width: 768px) {
            .underContent .productDetailWrap .productDetailBox .rightChild .info .descImage {
              margin-top: 20px; } }
          .underContent .productDetailWrap .productDetailBox .rightChild .info .descImage img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block; }
        .underContent .productDetailWrap .productDetailBox .rightChild .info .note {
          color: #333;
          font-size: 16px;
          font-weight: 400;
          letter-spacing: 0.1em;
          line-height: 2.4;
          margin: 20px 0 0; }
          @media screen and (max-width: 768px) {
            .underContent .productDetailWrap .productDetailBox .rightChild .info .note {
              font-size: 14px;
              line-height: 2; } }
        .underContent .productDetailWrap .productDetailBox .rightChild .info .cartArea {
          margin-top: 58px; }
          @media screen and (max-width: 768px) {
            .underContent .productDetailWrap .productDetailBox .rightChild .info .cartArea {
              margin-top: 30px; } }
        .underContent .productDetailWrap .productDetailBox .rightChild .info .cartBtn {
          width: 100%;
          min-height: 81px;
          background: #afbd78;
          border-radius: 40.5px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          color: #fff;
          font-size: 16px;
          font-weight: 700;
          letter-spacing: 0.05em;
          text-decoration: none;
          position: relative; }
          .underContent .productDetailWrap .productDetailBox .rightChild .info .cartBtn::after {
            content: "";
            position: absolute;
            right: 30px;
            top: 50%;
            width: 8px;
            height: 8px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            transform: translateY(-50%) rotate(45deg); }
.underContent .topicsListWrap {
  width: 100%;
  background: #fff;
  padding: 90px 40px 60px; }
  @media screen and (max-width: 1024px) {
    .underContent .topicsListWrap {
      padding: 60px 40px 40px; } }
  @media screen and (max-width: 768px) {
    .underContent .topicsListWrap {
      padding: 30px 20px 30px; } }
  .underContent .topicsListWrap .topicsListBox {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    box-sizing: border-box; }
    .underContent .topicsListWrap .topicsListBox .topicsList {
      list-style: none;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 62px;
      row-gap: 60px;
      padding-bottom: 20px; }
      @media screen and (max-width: 768px) {
        .underContent .topicsListWrap .topicsListBox .topicsList {
          grid-template-columns: 1fr;
          row-gap: 30px;
          padding-bottom: 0; } }
      .underContent .topicsListWrap .topicsListBox .topicsList .topicsItem {
        margin: 0; }
        .underContent .topicsListWrap .topicsListBox .topicsList .topicsItem .topicsLink {
          display: flex;
          align-items: flex-start;
          gap: 30px;
          text-decoration: none; }
          @media screen and (max-width: 768px) {
            .underContent .topicsListWrap .topicsListBox .topicsList .topicsItem .topicsLink {
              gap: 16px; } }
        .underContent .topicsListWrap .topicsListBox .topicsList .topicsItem .topicsThumb {
          width: 266px;
          aspect-ratio: 266 / 192;
          flex-shrink: 0;
          overflow: hidden; }
          @media screen and (max-width: 768px) {
            .underContent .topicsListWrap .topicsListBox .topicsList .topicsItem .topicsThumb {
              width: 44%; } }
          .underContent .topicsListWrap .topicsListBox .topicsList .topicsItem .topicsThumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block; }
        .underContent .topicsListWrap .topicsListBox .topicsList .topicsItem .topicsBody {
          flex: 1;
          min-width: 0; }
        .underContent .topicsListWrap .topicsListBox .topicsList .topicsItem .topicsTitle {
          color: #5c1f14;
          font-size: 18px;
          font-weight: 800;
          letter-spacing: 0.05em;
          line-height: 1.45;
          text-decoration: underline;
          margin: 0 0 20px; }
          @media screen and (max-width: 768px) {
            .underContent .topicsListWrap .topicsListBox .topicsList .topicsItem .topicsTitle {
              font-size: 16px;
              margin-bottom: 12px; } }
        .underContent .topicsListWrap .topicsListBox .topicsList .topicsItem .topicsText {
          color: #5c1f14;
          font-size: 14px;
          font-weight: 600;
          letter-spacing: 0.02em;
          line-height: 2.07;
          margin: 0; }
          @media screen and (max-width: 768px) {
            .underContent .topicsListWrap .topicsListBox .topicsList .topicsItem .topicsText {
              font-size: 13px;
              line-height: 1.8; } }
.underContent .productListWrap {
  width: 100%;
  background: #fff; }
  .underContent .productListWrap .productListBox {
    width: 100%;
    max-width: 1360px;
    margin: 0 auto;
    padding: 85px 40px 60px; }
    @media screen and (max-width: 1024px) {
      .underContent .productListWrap .productListBox {
        padding: 60px 40px 60px; } }
    @media screen and (max-width: 768px) {
      .underContent .productListWrap .productListBox {
        padding: 30px 20px 60px; } }
    .underContent .productListWrap .productListBox .child {
      width: 100%;
      display: flex;
      align-items: flex-start;
      gap: 80px; }
      @media screen and (max-width: 1024px) {
        .underContent .productListWrap .productListBox .child {
          flex-direction: column;
          gap: 20px; } }
      .underContent .productListWrap .productListBox .child .contentBox {
        flex: 1;
        min-width: 0; }
        @media screen and (max-width: 1024px) {
          .underContent .productListWrap .productListBox .child .contentBox {
            width: 100%; } }
        .underContent .productListWrap .productListBox .child .contentBox .contentInner {
          width: 100%; }
          .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid {
            width: 100%; }
            .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner {
              display: grid;
              grid-template-columns: repeat(2, 1fr);
              gap: 60px;
              list-style: none;
              margin: 0;
              padding: 0; }
              @media screen and (max-width: 1024px) {
                .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner {
                  gap: 40px; } }
              @media screen and (max-width: 768px) {
                .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner {
                  grid-template-columns: 1fr;
                  gap: 40px 0; } }
              .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner .productListItem {
                margin: 0; }
                .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner .productListItem .productListLink {
                  display: block;
                  text-decoration: none;
                  color: inherit; }
                  .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner .productListItem .productListLink:hover .productListTitle {
                    opacity: 0.7; }
                .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner .productListItem .productListThumb {
                  width: 100%;
                  aspect-ratio: 356 / 252;
                  overflow: hidden;
                  background: #f2f2e7;
                  margin-bottom: 16px; }
                  @media screen and (max-width: 768px) {
                    .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner .productListItem .productListThumb {
                      margin-bottom: 12px; } }
                  .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner .productListItem .productListThumb img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    display: block; }
                .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner .productListItem .productListItemBody .productListTitle {
                  color: #5c1f14;
                  font-size: 21px;
                  font-weight: 800;
                  letter-spacing: 0.05em;
                  line-height: 1.4;
                  text-decoration: underline;
                  margin: 0 0 8px 0; }
                  @media screen and (max-width: 768px) {
                    .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner .productListItem .productListItemBody .productListTitle {
                      font-size: 18px; } }
                .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner .productListItem .productListItemBody .productListPrice {
                  color: #5c1f14;
                  font-size: 16px;
                  font-weight: 800;
                  letter-spacing: 0.05em;
                  margin: 0; }
                  @media screen and (max-width: 768px) {
                    .underContent .productListWrap .productListBox .child .contentBox .contentInner .productListGrid .productListInner .productListItem .productListItemBody .productListPrice {
                      font-size: 14px; } }
          .underContent .productListWrap .productListBox .child .contentBox .contentInner .topNewsList {
            list-style: none;
            margin: 0;
            padding: 0; }
            .underContent .productListWrap .productListBox .child .contentBox .contentInner .topNewsList .topNewsItem {
              display: flex;
              align-items: center;
              flex-wrap: wrap;
              gap: 12px 20px;
              padding: 20px 0;
              border-bottom: 1px solid #ccc; }
              @media screen and (max-width: 768px) {
                .underContent .productListWrap .productListBox .child .contentBox .contentInner .topNewsList .topNewsItem {
                  flex-wrap: wrap; } }
              .underContent .productListWrap .productListBox .child .contentBox .contentInner .topNewsList .topNewsItem:first-child {
                border-top: 1px solid #ccc; }
              .underContent .productListWrap .productListBox .child .contentBox .contentInner .topNewsList .topNewsItem .topNewsDate {
                color: #5c1f14;
                font-size: 16px;
                font-weight: 600;
                letter-spacing: 0.1em;
                flex-shrink: 0; }
              .underContent .productListWrap .productListBox .child .contentBox .contentInner .topNewsList .topNewsItem .topNewsLabel {
                display: inline-block;
                background: #afbd78;
                color: #fff;
                font-size: 16px;
                font-weight: 600;
                letter-spacing: 0.1em;
                padding: 6px 16px;
                border-radius: 6px;
                line-height: 1;
                flex-shrink: 0; }
              .underContent .productListWrap .productListBox .child .contentBox .contentInner .topNewsList .topNewsItem .topNewsTitle {
                color: #5c1f14;
                font-size: 16px;
                letter-spacing: 0.1em;
                text-decoration: underline;
                flex: 1;
                min-width: 0; }
                @media screen and (max-width: 768px) {
                  .underContent .productListWrap .productListBox .child .contentBox .contentInner .topNewsList .topNewsItem .topNewsTitle {
                    flex-basis: 100%; } }
        .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner {
          width: 100%; }
          .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .topicsTitle {
            font-size: 21px;
            font-weight: 800;
            letter-spacing: 0.1em;
            line-height: 1.4;
            margin: 0 0 30px 0;
            color: #5C1F14; }
            @media screen and (max-width: 768px) {
              .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .topicsTitle {
                font-size: 18px; } }
          .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailMeta {
            width: 100%;
            margin-bottom: 40px;
            padding-bottom: 39px;
            border-bottom: 1px solid #ccc; }
            @media screen and (max-width: 768px) {
              .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailMeta {
                margin-bottom: 20px;
                padding-bottom: 20px; } }
            .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailMeta .newsDetailMetaTopRow {
              display: flex;
              align-items: center;
              gap: 12px;
              margin-bottom: 20px; }
              @media screen and (max-width: 768px) {
                .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailMeta .newsDetailMetaTopRow {
                  margin-bottom: 12px; } }
              .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailMeta .newsDetailMetaTopRow.noneBottom {
                margin-bottom: 5px; }
            .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailMeta .date {
              display: block;
              color: #5c1f14;
              font-size: 12px;
              font-weight: 600;
              letter-spacing: 0.1em;
              white-space: nowrap; }
            .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailMeta .label {
              display: inline-block;
              background: #afbd78;
              color: #fff;
              font-size: 14px;
              font-weight: 600;
              letter-spacing: 0.1em;
              padding: 6px 12px;
              border-radius: 6px;
              line-height: 1;
              white-space: nowrap; }
            .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailMeta .title {
              color: #5c1f14;
              font-size: 24px;
              font-weight: 700;
              letter-spacing: 0.1em;
              line-height: 1.4;
              margin: 0; }
              @media screen and (max-width: 768px) {
                .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailMeta .title {
                  font-size: 20px; } }
          .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailImage {
            margin-bottom: 30px;
            width: 100%;
            aspect-ratio: 771 / 434;
            overflow: hidden; }
            @media screen and (max-width: 768px) {
              .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailImage {
                margin-bottom: 20px;
                aspect-ratio: 16 / 9; } }
            .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailImage img {
              width: 100%;
              height: 100%;
              object-fit: cover;
              display: block; }
          .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailBody {
            padding-bottom: 60px;
            border-bottom: 1px solid #ccc;
            margin-bottom: 60px; }
            @media screen and (max-width: 768px) {
              .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailBody {
                padding-bottom: 20px;
                margin-bottom: 30px; } }
            .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailBody.borderLess {
              border-bottom: none;
              margin-bottom: 30px; }
          .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailBodyText {
            color: #333;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 0.1em;
            line-height: 2.07;
            margin: 0 0 8px 0; }
            @media screen and (max-width: 768px) {
              .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailBodyText {
                font-size: 13px; } }
            .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailBodyText:last-child {
              margin-bottom: 0; }
            .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailBodyText a {
              color: #AFBD78;
              text-decoration: underline; }
          .underContent .productListWrap .productListBox .child .contentBox .newsDetailContentInner .newsDetailBack {
            text-align: center; }
.underContent .breadcrumbWrap {
  width: 100%;
  height: 57px;
  background: #5c1f14;
  display: flex;
  align-items: center;
  padding: 0 40px;
  box-sizing: border-box; }
  @media screen and (max-width: 768px) {
    .underContent .breadcrumbWrap {
      height: 48px;
      padding: 0 20px; } }
  .underContent .breadcrumbWrap .breadcrumbList {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    gap: 0;
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    text-align: left; }
  .underContent .breadcrumbWrap .breadcrumbItem {
    display: flex;
    align-items: center;
    margin: 0; }
    .underContent .breadcrumbWrap .breadcrumbItem:not(:last-child)::after {
      content: "　>　";
      color: #fff;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.02em;
      margin-left: 0; }
  .underContent .breadcrumbWrap .breadcrumbLink {
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-decoration: none; }
    @media screen and (max-width: 768px) {
      .underContent .breadcrumbWrap .breadcrumbLink {
        font-size: 11px; } }
    .underContent .breadcrumbWrap .breadcrumbLink:hover {
      opacity: 0.8; }
  .underContent .breadcrumbWrap .breadcrumbCurrent {
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em; }
    @media screen and (max-width: 768px) {
      .underContent .breadcrumbWrap .breadcrumbCurrent {
        font-size: 11px; } }

/*# sourceMappingURL=info.css.map */
