@charset "UTF-8";
:root {
  --xlarge: 1800px;
  --large: 1600px;
  --medium: 1265px;
  --medium2: 1111px;
  --medium3: 1023px;
  --medium4: 959px;
  --small: 769px;
  --xsmall: 668px;
  --xxsmall: 560px;
  --xxxsmall: 321px; }

:root {
  --font-size-xxl: 2rem;
  --font-size-xl: 1.8rem;
  --font-size-l: 1.4rem;
  --font-size-m: 1.4rem;
  --font-size-s: 1.2rem;
  --font-size-xs: 1.1rem;
  --line-height-xxl: 2.2;
  --line-height-xl: 2.2;
  --line-height-l: 2.14;
  --line-height-m: 2;
  --line-height-s: 1.7;
  --line-height-xs: 1.4; }

@media screen and (max-width: 768px) {
  :root {
    --font-size-xxl:1.5rem;
    --font-size-xl: 1.8rem;
    --font-size-l: 1.4rem;
    --font-size-m: 1.3rem;
    --font-size-s: 1.2rem;
    --font-size-xs: 1.1rem; } }

:root {
  --color-bg-base: #161b24;
  --color-line_gray: #d6d6d6;
  --color-txt_yellow: #f1f0e8; }

:root {
  --color-bg:     #E1D7B0;
  --color-white:  #FDF4E7;
  --color-black:  #3D3317;
  --color-black2: #564A27;
  --color-yellow: #EDC054;
  --color-line:   #C5BB95;
  --font-min: 'FOT-TsukuOldMin Pro', serif;
  --font-got: 'Helvetica Neue','Helvetica','YuGothic', sans-serif;
  --font-en: 'Castoro', serif; }

.t-history__slogan {
  font-family: var(--font-min);
  -webkit-text-stroke: .7px currentColor;
  font-family: var(--font-min);
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on;
  letter-spacing: -0.02em;
  -webkit-transform: scale(0.95, 1);
  -ms-transform: scale(0.95, 1);
  transform: scale(0.95, 1);
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-font-smoothing: subpixel-antialiased !important; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

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

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

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

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

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

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

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

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/* ==============================================================================================
ページ：会社案内
============================================================================================== */
.t-hero {
  margin-top: clamp(40px, 6.25vw, 80px); }
  @media screen and (min-width: 1700px) {
    .t-hero {
      margin-top: clamp(40px, 6.25vw, 80); } }
  .t-hero img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover; }
  @media screen and (max-width: 768px) {
    .t-hero {
      height: 300px; } }

.t-history-article {
  position: relative; }

.t-history-articl__inner {
  position: relative; }

.t-history-article__text {
  width: 50%;
  height: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 120px 70px 120px 0; }
  @media screen and (min-width: 1640px) {
    .t-history-article__text {
      width: calc((1320px / 2) - 113px); } }
  .t-history-article:nth-child(even) .t-history-article__text {
    left: 50%;
    padding: 120px 0 120px 70px; }
    @media screen and (max-width: 768px) {
      .t-history-article:nth-child(even) .t-history-article__text {
        padding: 64px 0 32px; } }
  @media screen and (max-width: 768px) {
    .t-history-article__text {
      width: 100%;
      padding: 64px 0 32px;
      position: static; }
      .t-history-article:first-child .t-history-article__text {
        padding-top: 16px; } }

.t-history-article__media {
  width: 58vw;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%; }
  .t-history-article__media img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover; }
  .t-history-article:nth-child(even) .t-history-article__media {
    width: 50vw;
    right: 50%;
    left: auto; }
  @media screen and (max-width: 768px) {
    .t-history-article__media {
      width: 100% !important;
      height: 400px;
      border-radius: 6px;
      overflow: hidden;
      position: static;
      top: 0;
      left: 0;
      bottom: auto; } }

.t-history-article__header {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 16px;
  padding-bottom: 48px; }
  @media screen and (max-width: 768px) {
    .t-history-article__header {
      padding-bottom: 32px; } }

.t-history__title {
  font-size: 13px;
  font-weight: bold; }

.t-history__slogan {
  font-size: 34px;
  line-height: 1.6;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center; }
  @media screen and (max-width: 768px) {
    .t-history__slogan {
      font-size: 24px; } }

.t-history__slogan2 {
  font-size: 18px;
  line-height: 1.7;
  font-weight: bold;
  text-align: center;
  padding-bottom: 24px; }
  @media screen and (max-width: 768px) {
    .t-history__slogan2 {
      font-size: 14px;
      padding-bottom: 16px; } }

.c-section:first-child {
  margin-top: clamp(64px, 6.25vw, 80px); }

.t-sub-section__title {
  font-size: clamp(14px, 1.25vw, 18px);
  font-weight: bold;
  padding-bottom: clamp(16px, 1.6vw, 24px); }

.t-sub-section + .t-sub-section {
  margin-top: clamp(24px, 3.4375vw, 44px); }

.t-wine-card {
  position: relative; }
  .t-wine-card__label {
    position: absolute;
    display: inline-block;
    -webkit-transform: translateY(calc(-100% - 20px));
    -ms-transform: translateY(calc(-100% - 20px));
    transform: translateY(calc(-100% - 20px));
    font-size: clamp(10px, 0.9027vw, 13px);
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-white);
    background: #A08231;
    padding: 3px 8px;
    border-radius: 0 4px 0 4px; }
    @media screen and (max-width: 768px) {
      .t-wine-card__label {
        position: relative;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        margin-bottom: 6px;
        padding: 2px 6px;
        border-radius: 3px; } }
  .t-wine-card__detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    padding-top: clamp(6px, 0.9375vw, 12px);
    padding-top: 6px;
    font-size: clamp(10px, 0.9027vw, 13px);
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-black2); }

.t-bnr {
  width: 100%;
  height: 186px;
  position: relative;
  border-radius: 3px;
  overflow: hidden;
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 5%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-decoration: none;
  -webkit-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease; }
  @media screen and (max-width: 768px) {
    .t-bnr {
      height: 110px;
      padding: 0 8%; } }
  .t-bnr::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.4);
    -webkit-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease; }
  .t-bnr__text {
    position: relative;
    z-index: 10; }
  .t-bnr__title {
    color: var(--color-white);
    font-family: var(--font-en);
    font-size: clamp(26px, 2.5vw, 36px);
    line-height: 1.5; }
  .t-bnr__copy {
    color: var(--color-white);
    font-size: clamp(12px, 1.25vw, 16px);
    font-family: var(--font-min);
    -webkit-text-stroke: .7px currentColor;
    line-height: 1.5; }
  .t-bnr__link {
    position: absolute;
    right: 29px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    @media screen and (max-width: 768px) {
      .t-bnr__link {
        display: none; } }
  .t-bnr__media {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .8s ease;
    -o-transition: all .8s ease;
    transition: all .8s ease; }

.t-bnr:hover .t-bnr__media {
  -webkit-transform: scale(1.03, 1.03);
  -ms-transform: scale(1.03, 1.03);
  transform: scale(1.03, 1.03); }

.t-bnr:hover::after {
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: all .4s ease;
  -o-transition: all .4s ease;
  transition: all .4s ease; }
