@charset "UTF-8";
/*
Theme Name:origin
Description:origin template
Version:1.0
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-padding-start: 0;
  line-height: 1;
  -webkit-text-size-adjust: none;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0; }

ol,
ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input[type="password"],
input[type="text"],
input[type="submit"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="button"],
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

*, *::before, *::after {
  box-sizing: border-box; }

.PcHide {
  display: none; }
  @media (max-width: 768px) {
    .PcHide {
      display: inline; } }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  border: none; }

body, html {
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.6;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  color: #222222;
  min-height: 100vh;
  overflow-x: clip; }

a {
  font-size: inherit;
  color: inherit;
  text-decoration: inherit;
  display: inline-block; }

.header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 999999; }
  .header .inner {
    width: 100%;
    height: 80px;
    margin: auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center; }
    @media (max-width: 768px) {
      .header .inner {
        height: 60px; } }
    .header .inner .navi {
      *zoom: 1;
      width: 80%; }
      .header .inner .navi:after {
        content: "";
        display: table;
        clear: both; }
    .header .inner .navi > li {
      display: block;
      float: right; }
      .header .inner .navi > li > a {
        display: block;
        box-sizing: border-box;
        height: 80px;
        line-height: 80px;
        font-size: 1rem;
        font-weight: bold;
        padding: 0 20px;
        text-align: center;
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        transition: all 0.3s; }
        .header .inner .navi > li > a:hover {
          -webkit-transition: all 0.3s;
          -moz-transition: all 0.3s;
          transition: all 0.3s; }
      @media (max-width: 768px) {
        .header .inner .navi > li {
          display: none; } }
    .header .inner .navi__sp {
      display: none; }
      @media (max-width: 768px) {
        .header .inner .navi__sp {
          position: absolute;
          top: 60px;
          width: 100%;
          left: 0;
          z-index: 9999; }
          .header .inner .navi__sp > li:last-child {
            border-bottom: none; }
          .header .inner .navi__sp > li > a, .header .inner .navi__sp > li span {
            display: block;
            padding: 30px 15px;
            box-sizing: border-box;
            font-size: 1.2rem;
            position: relative; }
            .header .inner .navi__sp > li > a:after, .header .inner .navi__sp > li span:after {
              content: "\f0da";
              font-family: "Font Awesome 5 Free";
              font-weight: 900;
              font-size: 1.2rem;
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              margin: auto;
              top: 0;
              bottom: 0;
              right: 5px; }
            .header .inner .navi__sp > li > a.open:after, .header .inner .navi__sp > li span.open:after {
              content: "\f0d7";
              font-family: "Font Awesome 5 Free";
              font-weight: 900;
              font-size: 1.2rem;
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              margin: auto;
              top: 0;
              bottom: 0;
              right: 5px; } }
    .header .inner > .logo {
      max-width: 20%; }
      @media (max-width: 768px) {
        .header .inner > .logo {
          width: auto;
          max-width: 100%;
          display: inline-block; }
          .header .inner > .logo img {
            width: auto; } }
      .header .inner > .logo a {
        display: block;
        padding: 15px; }
        @media (max-width: 768px) {
          .header .inner > .logo a {
            padding: 10px; } }
    .header .inner > .toggle {
      display: none; }
      @media (max-width: 768px) {
        .header .inner > .toggle {
          display: block;
          width: 40px;
          height: 36px;
          position: absolute;
          top: 14px;
          right: 10px;
          z-index: 100; }
          .header .inner > .toggle div {
            position: relative; }
          .header .inner > .toggle span {
            display: block;
            height: 2px;
            position: absolute;
            width: 100%;
            left: 0;
            -webkit-transition: 0.5s ease-in-out;
            -moz-transition: 0.5s ease-in-out;
            transition: 0.5s ease-in-out; }
            .header .inner > .toggle span:nth-child(1) {
              top: 0px; }
            .header .inner > .toggle span:nth-child(2) {
              top: 14px; }
            .header .inner > .toggle span:nth-child(3) {
              top: 28px; } }

.header.open .toggle span:nth-child(1) {
  top: 12px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  transform: rotate(135deg); }
.header.open .toggle span:nth-child(2) {
  width: 0;
  left: 50%; }
.header.open .toggle span:nth-child(3) {
  top: 12px;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  transform: rotate(-135deg); }

body {
  background: #f7f6e6; }

.wrapper {
  max-width: 1400px;
  margin: 0 auto;
  background: #f7f6e6; }

.section {
  width: 100%;
  margin: auto;
  position: relative;
  *zoom: 1; }
  .section:after {
    content: "";
    display: table;
    clear: both; }
  .section > .inner {
    max-width: 720px;
    margin: auto;
    box-sizing: border-box;
    padding: 80px 24px; }
    @media (max-width: 768px) {
      .section > .inner {
        padding: 56px 20px; } }
    @media (max-width: 480px) {
      .section > .inner {
        padding: 48px 16px; } }

.section p {
  font-size: 0.95rem;
  line-height: 1.9;
  font-weight: 400; }

.section--hero {
  position: relative;
  display: grid;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  height: auto;
  background: #f7f6e6;
  margin-bottom: 160px; }
  .section--hero .section--hero__bg-layer,
  .section--hero .section--hero__content {
    grid-area: 1 / 1; }
  .section--hero .section--hero__bg-layer {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    height: 100lvh;
    min-height: 560px;
    z-index: 0;
    overflow: hidden; }
  .section--hero .section--hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.12);
    transition: transform 1.6s cubic-bezier(0.22, 0.61, 0.36, 1); }
  .section--hero.is-loaded .section--hero__bg {
    transform: scale(1); }
  .section--hero .section--hero__content {
    position: relative;
    z-index: 2; }
  .section--hero .section--hero__logo-area {
    height: 100vh;
    height: 100lvh;
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: center; }
  .section--hero .section--hero__logo {
    width: clamp(160px, 14vw, 130px);
    height: auto; }
    @media (max-width: 768px) {
      .section--hero .section--hero__logo {
        width: clamp(140px, 40vw, 130px); } }
  .section--hero .section--hero__spacer {
    height: 60vh;
    height: 60lvh; }
    @media (max-width: 768px) {
      .section--hero .section--hero__spacer {
        height: 40vh;
        height: 40lvh; } }

.section--story {
  background: #f7f6e6;
  padding: 0; }
  .section--story .story-block {
    width: 100%;
    margin-bottom: 100px; }
    .section--story .story-block:last-child {
      margin-bottom: 0; }
    @media (max-width: 768px) {
      .section--story .story-block {
        margin-bottom: 64px; } }
  .section--story .story-block__image {
    display: block;
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: center;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 1.2s cubic-bezier(0.65, 0, 0.35, 1); }
    @media (max-width: 768px) {
      .section--story .story-block__image {
        height: 200px; } }
  .section--story .story-block.is-in-view .story-block__image {
    clip-path: inset(0 0 0 0); }
  .section--story .story-block__body {
    max-width: 960px;
    margin: 48px auto 0;
    padding: 0 40px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .9s ease .25s, transform .9s ease .25s; }
    @media (max-width: 768px) {
      .section--story .story-block__body {
        flex-direction: column;
        gap: 16px;
        margin: 24px auto 0;
        padding: 0 20px; } }
  .section--story .story-block.is-in-view .story-block__body {
    opacity: 1;
    transform: none; }
  .section--story .story-block__title {
    flex: 0 0 380px;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.7;
    margin: 0; }
    @media (max-width: 768px) {
      .section--story .story-block__title {
        flex: 1 1 auto;
        font-size: 1.8rem; } }
  .section--story .story-block__text {
    flex: 1;
    font-size: 1.1rem;
    line-height: 2;
    font-weight: 500;
    margin: 0; }

.section--circle {
  position: relative;
  background: #f7f6e6;
  overflow: hidden;
  min-height: 1700px;
  display: flex;
  flex-direction: column;
  justify-content: center; }
  @media (max-width: 768px) {
    .section--circle {
      min-height: 0;
      padding: 80px 0;
      display: block;
      background: #ffffff;
      border-radius: 50% 50% 50% 50% / 20px 20px 20px 20px;
      margin-bottom: 160px; } }
  .section--circle::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1440px;
    height: 1440px;
    background: #ffffff;
    border-radius: 50%;
    z-index: 0; }
    @media (max-width: 768px) {
      .section--circle::before {
        display: none; } }
  .section--circle .section--circle__inner {
    position: relative;
    z-index: 1;
    width: 70%;
    max-width: 1150px;
    margin: 0 auto;
    padding: 0; }
    @media (max-width: 768px) {
      .section--circle .section--circle__inner {
        width: 100%;
        max-width: 100%;
        padding: 0 20px;
        box-sizing: border-box; } }

.section--bridge {
  background: #f7f6e6;
  text-align: center;
  padding: 150px 24px 40px; }
  @media (max-width: 768px) {
    .section--bridge {
      padding: 56px 20px 32px; } }
  .section--bridge .section--bridge__text {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0; }
    @media (max-width: 768px) {
      .section--bridge .section--bridge__text {
        font-size: 1.8rem; } }

.section--circle-1 .section--circle__inner {
  padding-top: 240px;
  padding-bottom: 160px; }
  @media (max-width: 768px) {
    .section--circle-1 .section--circle__inner {
      padding-bottom: 40px;
      padding-top: 40px; } }
.section--circle-1 .product-head {
  text-align: center;
  margin-bottom: 32px; }
  .section--circle-1 .product-head .product-head__logo {
    display: block;
    width: 100%;
    max-width: 720px;
    height: auto;
    margin: 0 auto 32px; }
  .section--circle-1 .product-head .product-head__category {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.6em;
    padding-left: 0.6em; }
  @media (max-width: 768px) {
    .section--circle-1 .product-head .product-head__logo {
      width: 80%; } }
.section--circle-1 .product-eco {
  max-width: 760px;
  margin: 0 auto 80px;
  display: flex;
  align-items: center;
  gap: 32px; }
  @media (max-width: 768px) {
    .section--circle-1 .product-eco {
      flex-direction: column;
      gap: 20px;
      text-align: center; }
      .section--circle-1 .product-eco picture {
        padding: 32px; } }
  .section--circle-1 .product-eco .product-eco__badge {
    flex: 0 0 380px;
    width: 380px;
    max-width: 100%;
    height: auto; }
    @media (max-width: 768px) {
      .section--circle-1 .product-eco .product-eco__badge {
        width: 100%;
        max-width: 320px;
        flex: none; } }
  .section--circle-1 .product-eco .product-eco__note {
    flex: 1;
    font-size: 1rem;
    line-height: 1.85;
    color: #333;
    text-align: left; }
.section--circle-1 .product-main {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0;
  align-items: center; }
  @media (max-width: 768px) {
    .section--circle-1 .product-main {
      grid-template-columns: 1fr;
      gap: 32px; } }
  .section--circle-1 .product-main .product-main__bottle {
    grid-column: 2;
    width: 100%;
    max-width: 440px;
    height: auto;
    justify-self: center; }
    @media (max-width: 768px) {
      .section--circle-1 .product-main .product-main__bottle {
        grid-column: 1; } }
  @media (max-width: 768px) {
    .section--circle-1 .product-main .product-main__bottle {
      width: 80%;
      display: block;
      margin: 0 auto; } }
  .section--circle-1 .product-main .product-main__spec {
    grid-column: 3;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-self: start;
    padding-left: 24px; }
    @media (max-width: 768px) {
      .section--circle-1 .product-main .product-main__spec {
        grid-column: 1;
        justify-self: stretch;
        padding-left: 0; } }
  .section--circle-1 .product-main .product-main__name {
    font-size: 1.2rem;
    line-height: 1.8;
    margin: 0; }
    @media (max-width: 768px) {
      .section--circle-1 .product-main .product-main__name {
        padding: 0 16px;
        box-sizing: border-box;
        font-size: 1.5rem;
        font-weight: 500;
        margin-bottom: 32px; } }
  .section--circle-1 .product-main .product-main__rice-taste {
    width: 100%;
    max-width: 280px;
    height: auto; }
    @media (max-width: 768px) {
      .section--circle-1 .product-main .product-main__rice-taste {
        max-width: none; } }

.section--circle-2 {
  margin-top: 0;
  margin-bottom: 0; }
  .section--circle-2 .section--circle__inner {
    padding-top: 160px;
    padding-bottom: 160px; }
    @media (max-width: 768px) {
      .section--circle-2 .section--circle__inner {
        padding-bottom: 40px;
        padding-top: 40px; } }
  .section--circle-2 .taste-block {
    text-align: center;
    margin-bottom: 100px; }
    @media (max-width: 768px) {
      .section--circle-2 .taste-block {
        margin-bottom: 64px; } }
    .section--circle-2 .taste-block .taste-block__title {
      font-size: 2rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      margin: 0 0 40px 0; }
    .section--circle-2 .taste-block .taste-block__body {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      align-items: start;
      text-align: left; }
      @media (max-width: 768px) {
        .section--circle-2 .taste-block .taste-block__body {
          grid-template-columns: 1fr;
          gap: 20px; } }
    .section--circle-2 .taste-block .taste-block__image {
      width: 100%;
      height: auto;
      max-height: 320px;
      object-fit: cover; }
    .section--circle-2 .taste-block .taste-block__right {
      display: flex;
      flex-direction: column;
      gap: 24px; }
    .section--circle-2 .taste-block .taste-block__text {
      font-size: 1.2rem;
      line-height: 2;
      margin: 0; }
    .section--circle-2 .taste-block .taste-block__balance {
      width: 100%;
      max-width: 280px;
      height: auto; }
      @media (max-width: 768px) {
        .section--circle-2 .taste-block .taste-block__balance {
          margin: 0 auto;
          display: block; } }
  .section--circle-2 .cta-block {
    text-align: center; }
    .section--circle-2 .cta-block .cta-block__title {
      display: block;
      width: 100%;
      max-width: 660px;
      height: auto;
      margin: 0 auto 24px; }
    .section--circle-2 .cta-block .cta-block__sub {
      font-size: 2.4rem;
      font-weight: 600;
      margin: 0 0 64px; }
      @media (max-width: 768px) {
        .section--circle-2 .cta-block .cta-block__sub {
          margin-bottom: 40px;
          font-size: 1.3rem; } }
    .section--circle-2 .cta-block .cta-block__list {
      display: flex;
      flex-direction: row;
      justify-content: center;
      gap: 56px;
      flex-wrap: nowrap; }
      @media (max-width: 768px) {
        .section--circle-2 .cta-block .cta-block__list {
          gap: 16px;
          flex-wrap: wrap;
          flex-direction: column;
          align-items: stretch; } }
      .section--circle-2 .cta-block .cta-block__list > li {
        display: block; }

.section--about {
  background: #f7f6e6;
  text-align: center; }
  .section--about > .inner {
    max-width: 960px; }
  .section--about .section--about__text {
    text-align: left;
    font-size: 1.2rem;
    line-height: 2;
    margin: 0 auto 32px; }
    @media (max-width: 768px) {
      .section--about .section--about__text {
        font-size: 1rem; } }
  .section--about .section--about__designed {
    text-align: center;
    margin-top: 40px; }
    .section--about .section--about__designed img {
      height: 82px;
      width: auto;
      vertical-align: middle; }
      @media (max-width: 768px) {
        .section--about .section--about__designed img {
          height: 67px;
          width: auto; } }
  .section--about .section--about__photo {
    max-width: 760px;
    margin: 8px auto 144px; }
    @media (max-width: 768px) {
      .section--about .section--about__photo {
        margin-bottom: 112px; } }
    .section--about .section--about__photo img {
      display: block;
      width: 100%;
      height: auto; }
    .section--about .section--about__photo figcaption {
      margin-top: 8px;
      font-size: 0.8rem;
      color: #666;
      text-align: right; }

.section--contact {
  background: #f7f6e6;
  text-align: center; }
  .section--contact > .inner {
    padding: 64px 24px; }
  .section--contact p {
    font-size: 1.2rem;
    line-height: 2; }

.section--sns {
  background: #f7f6e6;
  padding-bottom: 80px;
  text-align: center; }
  .section--sns > .inner {
    padding: 32px 24px 80px; }
  .section--sns .section--sns__list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 28px;
    margin-top: 24px; }
    @media (max-width: 480px) {
      .section--sns .section--sns__list {
        gap: 20px; } }
    .section--sns .section--sns__list > li > a {
      display: block;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }
      .section--sns .section--sns__list > li > a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        transition: all 0.3s; }
      .section--sns .section--sns__list > li > a img {
        width: 64px;
        height: 64px; }
        @media (max-width: 480px) {
          .section--sns .section--sns__list > li > a img {
            width: 52px;
            height: 52px; } }

.footer {
  width: 100%;
  background: #A38B53;
  color: #ffffff;
  padding: 40px 24px; }
  @media (max-width: 480px) {
    .footer {
      padding: 32px 16px; } }
  .footer .footer__inner {
    max-width: 880px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 32px; }
    @media (max-width: 768px) {
      .footer .footer__inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 20px; } }
  .footer .footer__logo {
    width: 110px;
    max-width: 100%;
    height: auto;
    flex-shrink: 0; }
  .footer .footer__menu {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    flex: 1; }
    @media (max-width: 768px) {
      .footer .footer__menu {
        flex-direction: column;
        align-items: center;
        gap: 12px; } }
    .footer .footer__menu > li > a {
      color: #ffffff;
      font-size: 0.9rem;
      font-weight: 500;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }
      .footer .footer__menu > li > a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        transition: all 0.3s; }
  .footer .footer__notice {
    flex-basis: 100%;
    font-size: 0.78rem;
    line-height: 1.8;
    margin: 16px 0 8px;
    text-align: center; }
  .footer .footer__copyright {
    flex-basis: 100%;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 400;
    opacity: 0.9;
    letter-spacing: 0.04em;
    margin: 0; }

.pan, .pan--nomargin {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  margin: 80px 0 0 0; }
  @media (max-width: 768px) {
    .pan, .pan--nomargin {
      margin: 60px 0 0 0; } }
  .pan ol, .pan--nomargin ol {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row; }
  .pan a, .pan--nomargin a {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
    @media (max-width: 480px) {
      .pan a, .pan--nomargin a {
        font-size: 0.8rem; } }
    .pan a:hover, .pan--nomargin a:hover {
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }
    .pan a:after, .pan--nomargin a:after {
      content: '\f0da';
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      display: inline-block;
      margin: 0 10px; }
  .pan li:last-child a:after, .pan--nomargin li:last-child a:after {
    content: none; }

.pan--nomargin {
  margin: 80px 0 0 0;
  border-bottom: none; }
  @media (max-width: 768px) {
    .pan--nomargin {
      margin: 60px 0 0 0; } }

.card, .card__flex, .card__flex--nowrap, .card__flex--wrap, .card__flex--wrap--fs {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 30px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  *zoom: 1; }
  @media (max-width: 768px) {
    .card, .card__flex, .card__flex--nowrap, .card__flex--wrap, .card__flex--wrap--fs {
      padding: 15px 0;
      margin-bottom: 0; } }
  .card:after, .card__flex:after, .card__flex--nowrap:after, .card__flex--wrap:after, .card__flex--wrap--fs:after {
    content: "";
    display: table;
    clear: both; }

.card__flex, .card__flex--nowrap, .card__flex--wrap, .card__flex--wrap--fs {
  display: flex;
  overflow: hidden;
  flex-direction: row; }

.card__flex--nowrap {
  flex-flow: row nowrap;
  justify-content: space-around; }

.card__flex--wrap {
  flex-flow: row wrap;
  justify-content: space-around; }

.card__flex--wrap--fs {
  flex-flow: row wrap;
  justify-content: flex-start; }

.block, .block__div1, .block__div2, .block__div3, .block__div4 {
  width: 100%;
  box-sizing: border-box;
  padding: 15px;
  position: relative; }

.block__div1 {
  width: 100%; }

.block__div2 {
  width: 50%; }
  @media (max-width: 768px) {
    .block__div2 {
      width: 100%; } }

.block__div3 {
  width: 33.3%; }
  @media (max-width: 768px) {
    .block__div3 {
      width: 100%;
      margin-bottom: 10px; } }

.block__div4 {
  width: 25%; }
  @media (max-width: 768px) {
    .block__div4 {
      width: 50%; } }

.title {
  position: relative;
  width: 100%;
  overflow: hidden; }
  @media (max-width: 480px) {
    .title {
      min-height: 100px;
      height: auto; } }

.title--center {
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 32px; }
  @media (max-width: 768px) {
    .title--center {
      font-size: 1.8rem;
      margin-bottom: 24px;
      line-height: 1.6; } }

.btn, .btn__more, .btn__submit, .btn__back {
  display: block;
  margin: 15px auto; }

.btn--cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 220px;
  height: 220px;
  padding: 24px;
  background: #A38B53;
  color: #ffffff;
  border-radius: 50%;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8;
  box-sizing: border-box;
  transition: all 0.3s;
  cursor: pointer; }
  .btn--cta:hover {
    opacity: 0.85;
    transform: translateY(-2px); }
  .btn--cta > span {
    display: block;
    line-height: 1.8; }
  .btn--cta .btn--cta__label--sp {
    display: none; }
  .btn--cta > .btn--cta__arrow {
    display: block;
    width: 32px;
    height: auto;
    margin-top: 20px; }
  @media (max-width: 768px) {
    .btn--cta {
      flex-direction: row;
      align-items: center;
      text-align: center;
      position: relative;
      width: 100%;
      height: auto;
      padding: 18px 28px;
      border-radius: 100px;
      font-size: 1.15rem; }
      .btn--cta .btn--cta__label--pc {
        display: none; }
      .btn--cta .btn--cta__label--sp {
        display: block;
        flex: 1; }
      .btn--cta > .btn--cta__arrow {
        width: 24px;
        margin-top: 0;
        position: absolute;
        right: 28px;
        top: 50%;
        transform: translateY(-50%); } }
  @media (max-width: 480px) {
    .btn--cta {
      font-size: 1.15rem; } }

.btn--pagetop {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 56px;
  height: 56px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s; }
  .btn--pagetop.is-visible {
    opacity: 1;
    visibility: visible; }
  .btn--pagetop:hover {
    transform: translateY(-3px); }
  .btn--pagetop > img {
    width: 100%;
    height: 100%;
    display: block; }
  @media (max-width: 480px) {
    .btn--pagetop {
      right: 16px;
      bottom: 16px;
      width: 48px;
      height: 48px; } }

.list a {
  *zoom: 1;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s; }
  .list a:after {
    content: "";
    display: table;
    clear: both; }
  .list a:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }

.fadeInDown {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  visibility: visible !important; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.js-fade {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1); }
  .js-fade.is-in-view {
    opacity: 1;
    transform: none; }

.js-fade-stagger > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1); }
.js-fade-stagger.is-in-view > * {
  opacity: 1;
  transform: none; }
.js-fade-stagger.is-in-view > :nth-child(1) {
  transition-delay: 0s; }
.js-fade-stagger.is-in-view > :nth-child(2) {
  transition-delay: .15s; }
.js-fade-stagger.is-in-view > :nth-child(3) {
  transition-delay: .3s; }
.js-fade-stagger.is-in-view > :nth-child(4) {
  transition-delay: .45s; }

.age-gate {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.45);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px); }
  html.is-age-verified .age-gate {
    display: none; }

html.is-age-locked {
  overflow: hidden; }

.age-gate__box {
  background: #ffffff;
  width: 100%;
  max-width: 680px;
  padding: 64px 48px 56px;
  text-align: center; }
  @media (max-width: 768px) {
    .age-gate__box {
      padding: 48px 24px 40px; } }

.age-gate__logo {
  width: 220px;
  max-width: 60%;
  height: auto;
  margin: 0 auto 32px; }
  @media (max-width: 768px) {
    .age-gate__logo {
      margin-bottom: 24px; } }

.age-gate__text {
  font-size: 1rem;
  line-height: 1.9;
  margin: 0 0 32px;
  text-align: center; }
  @media (max-width: 768px) {
    .age-gate__text {
      font-size: 0.9rem;
      text-align: center; } }

.age-gate__check {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
  cursor: pointer; }
  .age-gate__check input {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    cursor: pointer; }
  .age-gate__check span {
    color: #c0392b;
    font-size: 1rem;
    font-weight: 500; }

.age-gate__btn {
  display: block;
  width: 220px;
  max-width: 100%;
  margin: 0 auto;
  padding: 16px 0;
  background: #222222;
  color: #ffffff;
  font-size: 1rem;
  letter-spacing: 0.1em;
  border: none;
  cursor: pointer;
  transition: opacity .3s ease; }
  .age-gate__btn:hover:not(:disabled) {
    opacity: 0.85; }
  .age-gate__btn:disabled {
    opacity: 0.4;
    cursor: not-allowed; }
