@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Manrope:wght@200..800&display=swap");
*{
  margin:0;
  padding:0;
  text-rendering:optimizeLegibility;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}

html{
  width:100%;
  font-family:"Noto Sans JP", sans-serif;
  -webkit-font-feature-settings:"palt";
  font-feature-settings:"palt";
  color:var(--color-black);
  scroll-behavior:auto;
}

body{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-flow:column;
  flex-flow:column;
  width:100%;
  min-height:100vh;
  text-align:justify;
  line-height:1.7;
  letter-spacing:0.05em;
}

html, body, header, footer, section, article, figure, h1, h2, h3, h4, h5, h6, div, form, textarea, input, label, ul, ol, li, dl, dt, dd, dt, p, span, a, img, i, svg, video, :before, :after{
  font-size:inherit;
  font-weight:inherit;
  overflow-wrap:anywhere;
  word-break:normal;
  line-break:strict;
  text-align:left;
}

ul, li{
  list-style-type:none;
}

a,
input,
textarea{
  outline:none;
}

a{
  color:inherit;
  text-decoration:none;
}

i{
  display:inline-block;
  font-size:inherit;
  font-style:normal;
  line-height:inherit;
}

img{
  vertical-align:middle;
  width:100%;
  height:auto;
}

input, textarea{
  resize:none;
}

textarea{
  vertical-align:middle;
}

select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  border:none;
  outline:none;
  background:transparent;
  color:inherit;
}

button{
  -webkit-font-feature-settings:"palt";
  font-feature-settings:"palt";
  background-color:transparent;
  border:none;
  cursor:pointer;
  outline:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  color:inherit;
}

sup{
  padding:0 2px;
  font-size:60%;
  line-height:1;
  vertical-align:60%;
}

details summary{
  list-style:none;
  cursor:pointer;
}

details summary::-webkit-details-marker{
  display:none;
}

:where(dialog){
  width:unset;
  max-width:unset;
  height:unset;
  max-height:unset;
  padding:unset;
  color:unset;
  background-color:unset;
  border:unset;
  overflow:unset;
}

:focus:not(:focus-visible){
  outline:none;
}

:where(:root[data-mousedown] dialog *){
  outline:none;
}

[data-modal-open]:where(:root[data-mousedown] *){
  outline:none;
}

:root{
  --leading-trim:calc((1em - 1lh) / 2);
  --header-height:224px;
  --spacing-unit:0.625rem;
  --spacing-xs:calc(var(--spacing-unit) / 2);
  --spacing-sm:var(--spacing-unit);
  --spacing-default:calc(var(--spacing-unit) * 1);
  --spacing-sm-md:calc(var(--spacing-unit) * 1.5);
  --spacing-md:calc(var(--spacing-unit) * 2);
  --spacing-lg:calc(var(--spacing-unit) * 3);
  --spacing-2lg:calc(var(--spacing-unit) * 4);
  --spacing-xl:calc(var(--spacing-unit) * 5);
  --spacing-2xl:calc(var(--spacing-unit) * 6);
  --spacing-3xl:calc(var(--spacing-unit) * 8);
  --spacing-4xl:calc(var(--spacing-unit) * 12);
  --spacing-5xl:calc(var(--spacing-unit) * 20);
  --spacing-6xl:calc(var(--spacing-unit) * 40);
  --color-white:#fff;
  --color-black:#2E2E2E;
  --color-green:#2C3E21;
  --color-red:#7C361F;
  --color-sky:#E4F1F7;
  --color-cream:#F2F2E4;
  --color-gray:#E5E2D8;
  --color-border:#E2E4D9;
}

@supports not (top: 1lh){
  :root{
    --leading-trim:0px;
  }
}
.site-wrap{
  position:relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  min-height:100vh;
  background-color:var(--color-cream);
  color:var(--color-black);
  -webkit-transition:background-color 0.4s ease-out;
  transition:background-color 0.4s ease-out;
}
.site-wrap.-about{
  background-color:var(--color-sky);
}
.site-wrap.-brand{
  background-color:var(--color-gray);
}
.site-wrap.-shop{
  background-color:var(--color-white);
}
.site-wrap.-footer{
  background-color:var(--color-cream);
}

main{
  position:relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  width:100%;
  margin:auto;
}

.inner{
  max-width:1280px;
  width:100%;
  margin-inline:auto;
  padding-inline:clamp(24px, 40 / 1240 * 100vw, 40px);
}
@media (width <= 768px){
  .inner{
    padding-inline:clamp(10px, 20 / 390 * 100vw, 24px);
  }
}

.thumb{
  --_maxWidth:auto;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  max-width:var(--_maxWidth);
  width:100%;
  margin-inline:auto;
}
@media (width <= 768px){
  .thumb{
    max-width:100%;
  }
}

.image-wrap{
  overflow:hidden;
}

.image{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
.header{
  position:sticky;
  top:0;
  left:0;
  width:100%;
  -webkit-padding-before:var(--spacing-lg);
  padding-block-start:var(--spacing-lg);
  z-index:100;
}
.header.hidden{
  display:none;
}
@media (width <= 768px){
  .header{
    -webkit-padding-before:clamp(5px, 10 / 390 * 100vw, 12px);
    padding-block-start:clamp(5px, 10 / 390 * 100vw, 12px);
  }
}
.header .inner{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:start;
  -ms-flex-align:start;
  align-items:flex-start;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  max-width:100%;
  padding-inline:var(--spacing-lg);
}
@media (width <= 768px){
  .header .inner{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    padding-inline:clamp(5px, 10 / 390 * 100vw, 12px);
  }
  .header .inner.on{
    -webkit-box-orient:horizontal;
    -webkit-box-direction:normal;
    -ms-flex-direction:row;
    flex-direction:row;
    -webkit-box-align:start;
    -ms-flex-align:start;
    align-items:flex-start;
  }
  .header .inner.on .g-nav{
    row-gap:clamp(5px, 10 / 390 * 100vw, 12px);
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    -webkit-margin-before:0;
    margin-block-start:0;
  }
}
.header .header-logo a{
  display:block;
  max-width:clamp(360px, 600 / 1240 * 100vw, 600px);
  width:100%;
  -webkit-transform-origin:top left;
  transform-origin:top left;
  -webkit-transition:max-width 0.5s cubic-bezier(0.16, 0.36, 0.33, 0.91);
  transition:max-width 0.5s cubic-bezier(0.16, 0.36, 0.33, 0.91);
}
.header .header-logo.on a{
  max-width:clamp(120px, 200 / 1240 * 100vw, 200px);
}
.header .g-nav{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-column-gap:30px;
  -moz-column-gap:30px;
  column-gap:30px;
}
@media (width <= 768px){
  .header .g-nav{
    width:100%;
    -webkit-margin-before:clamp(20px, 40 / 390 * 100vw, 48px);
    margin-block-start:clamp(20px, 40 / 390 * 100vw, 48px);
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    row-gap:clamp(8px, 16 / 390 * 100vw, 19.2px);
  }
}
.header .g-nav .item.-deco{
  padding:14px 20px;
  border:1px solid var(--color-black);
  border-radius:50%;
}
.header .g-nav .item .parent{
  color:var(--color-black);
  white-space:nowrap;
}

.footer{
  width:100%;
  padding-inline:12px;
  -webkit-padding-before:var(--spacing-6xl);
  padding-block-start:var(--spacing-6xl);
}
@media (width <= 768px){
  .footer{
    -webkit-padding-before:clamp(150px, 300 / 390 * 100vw, 360px);
    padding-block-start:clamp(150px, 300 / 390 * 100vw, 360px);
  }
}
.footer .footer-inner{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  padding-inline:var(--spacing-lg);
}
@media (width <= 768px){
  .footer .footer-inner{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    row-gap:clamp(30px, 60 / 390 * 100vw, 72px);
    width:100%;
  }
}
.footer .footer-logo{
  width:clamp(354px, 590 / 1240 * 100vw, 590px);
}
@media (width <= 768px){
  .footer .footer-logo{
    -webkit-box-ordinal-group:3;
    -ms-flex-order:2;
    order:2;
  }
}
.footer .copy{
  -webkit-margin-before:var(--spacing-xl);
  margin-block-start:var(--spacing-xl);
  font-size:0.75rem;
}
.footer .to-top{
  width:-webkit-fit-content;
  width:-moz-fit-content;
  width:fit-content;
}
@media (width <= 768px){
  .footer .to-top{
    -webkit-box-ordinal-group:2;
    -ms-flex-order:1;
    order:1;
  }
}
.footer .to-top a{
  padding:30px 50px;
  border:1px solid var(--color-green);
  border-radius:50%;
  font-size:1.125rem;
  color:var(--color-green);
}
.footer .footer-bottom{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  gap:12px;
  -webkit-margin-before:var(--spacing-xl);
  margin-block-start:var(--spacing-xl);
}
.footer .footer-bottom .image{
  aspect-ratio:665/98;
}
@media (width <= 768px){
  .pc{
    display:none !important;
  }
}

.sp{
  display:none !important;
}
@media (width <= 768px){
  .sp{
    display:block !important;
  }
}

.en{
  font-family:"Inter", sans-serif;
}

.color-red{
  color:var(--color-red);
}

.mbs-sm{
  -webkit-margin-before:var(--spacing-sm);
  margin-block-start:var(--spacing-sm);
}
@media (width <= 768px){
  .mbs-sm{
    -webkit-margin-before:clamp(5px, 10 / 390 * 100vw, 12px);
    margin-block-start:clamp(5px, 10 / 390 * 100vw, 12px);
  }
}

.mbs-md{
  -webkit-margin-before:var(--spacing-md);
  margin-block-start:var(--spacing-md);
}
@media (width <= 768px){
  .mbs-md{
    -webkit-margin-before:clamp(10px, 20 / 390 * 100vw, 24px);
    margin-block-start:clamp(10px, 20 / 390 * 100vw, 24px);
  }
}

.mbs-lg{
  -webkit-margin-before:var(--spacing-lg);
  margin-block-start:var(--spacing-lg);
}
@media (width <= 768px){
  .mbs-lg{
    -webkit-margin-before:clamp(15px, 30 / 390 * 100vw, 36px);
    margin-block-start:clamp(15px, 30 / 390 * 100vw, 36px);
  }
}

.mbs-2lg{
  -webkit-margin-before:var(--spacing-2lg);
  margin-block-start:var(--spacing-2lg);
}
@media (width <= 768px){
  .mbs-2lg{
    -webkit-margin-before:clamp(20px, 40 / 390 * 100vw, 48px);
    margin-block-start:clamp(20px, 40 / 390 * 100vw, 48px);
  }
}

.mbs-xl{
  -webkit-margin-before:var(--spacing-xl);
  margin-block-start:var(--spacing-xl);
}
@media (width <= 768px){
  .mbs-xl{
    -webkit-margin-before:clamp(20px, 40 / 390 * 100vw, 48px);
    margin-block-start:clamp(20px, 40 / 390 * 100vw, 48px);
  }
}

.mbs-2xl{
  -webkit-margin-before:var(--spacing-2xl);
  margin-block-start:var(--spacing-2xl);
}
@media (width <= 768px){
  .mbs-2xl{
    -webkit-margin-before:clamp(25px, 50 / 390 * 100vw, 60px);
    margin-block-start:clamp(25px, 50 / 390 * 100vw, 60px);
  }
}

.mbs-3xl{
  -webkit-margin-before:var(--spacing-3xl);
  margin-block-start:var(--spacing-3xl);
}
@media (width <= 768px){
  .mbs-3xl{
    -webkit-margin-before:clamp(30px, 60 / 390 * 100vw, 72px);
    margin-block-start:clamp(30px, 60 / 390 * 100vw, 72px);
  }
}

.mbs-4xl{
  -webkit-margin-before:var(--spacing-4xl);
  margin-block-start:var(--spacing-4xl);
}
@media (width <= 768px){
  .mbs-4xl{
    -webkit-margin-before:clamp(40px, 80 / 390 * 100vw, 96px);
    margin-block-start:clamp(40px, 80 / 390 * 100vw, 96px);
  }
}

.serif{
  font-family:"Noto Serif JP", serif;
}

.color-blue{
  color:var(--color-blue);
}

.color-blueLight{
  color:var(--color-blueLight);
}

.color-red{
  color:var(--color-red);
}

.txt{
  display:block;
  font-size:0.9375rem;
  line-height:1.8666666667;
  letter-spacing:0.05em;
  text-align:left;
}
@media (width <= 768px){
  .txt{
    font-size:clamp(7.5px, 15 / 390 * 100vw, 18px);
  }
}
.txt.-size14{
  font-size:0.875rem;
}
@media (width <= 768px){
  .txt.-size14{
    font-size:clamp(7px, 14 / 390 * 100vw, 16.8px);
  }
}
.txt.-size20{
  font-size:1.25rem;
  line-height:1.5;
  letter-spacing:0.05em;
}
@media (width <= 768px){
  .txt.-size20{
    font-size:clamp(9px, 18 / 390 * 100vw, 21.6px);
  }
}
.txt.-size22{
  font-size:1.375rem;
  line-height:1.6818181818;
}
@media (width <= 768px){
  .txt.-size22{
    font-size:clamp(10px, 20 / 390 * 100vw, 24px);
  }
}
.txt.-bold{
  font-weight:bold;
}
.txt.-center{
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  text-align:center;
}
.txt.-right{
  text-align:right;
}
.txt.-underline{
  text-decoration:underline;
}
.txt.-small{
  font-size:0.75rem;
  line-height:2;
}
@media (width <= 768px){
  .txt.-small{
    font-size:clamp(6px, 12 / 390 * 100vw, 14.4px);
  }
}
.txt.-note{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-column-gap:var(--spacing-xs);
  -moz-column-gap:var(--spacing-xs);
  column-gap:var(--spacing-xs);
  font-size:0.875rem;
  line-height:1.8571428571;
  letter-spacing:0.05em;
}
.txt.-note::before{
  content:"※";
}
.txt.-ellipsis{
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
}

.flex-block{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
.flex-block.-column{
  --_rowGap:0;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  row-gap:var(--_rowGap);
}
@media (width <= 768px){
  .flex-block{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
  }
}

.grid-list{
  --_minSize:280px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(var(--_minSize), 1fr));
  justify-items:center;
  gap:clamp(30px, 50 / 1240 * 100vw, 50px);
}
@media (width <= 768px){
  .grid-list{
    gap:clamp(20px, 40 / 390 * 100vw, 48px);
  }
}
.grid-list.-columns{
  grid-template-columns:var(--_columns);
  justify-items:flex-start;
  gap:0;
  width:100%;
}
.grid-list.-columns .block{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  width:100%;
  padding:var(--spacing-md);
}
.grid-list.-columns .block.-label{
  --_maxWidth:150px;
  max-width:var(--_maxWidth);
  background-color:var(--color-bg2);
}
.grid-list.-columns .block.-border-bottom{
  border-bottom:1px solid #E7E9F0;
}
.grid-list.-txt-table{
  grid-template-columns:var(--_columns);
  justify-items:flex-start;
  gap:0;
  width:100%;
  border-top:1px solid var(--color-bg);
}
@media (width <= 768px){
  .grid-list.-txt-table{
    grid-template-columns:1fr;
  }
}
.grid-list.-txt-table .block{
  width:100%;
  padding:var(--spacing-md);
  border-bottom:1px solid var(--color-bg);
}
@media (width <= 768px){
  .grid-list.-txt-table .block{
    border-bottom:none;
  }
}
.grid-list .item{
  --_maxWidth:100%;
  max-width:var(--_maxWidth);
  width:100%;
}
.grid-list .item a .thumb{
  overflow:hidden;
}
.grid-list .item a .thumb img{
  -webkit-transition:scale 0.4s ease;
  transition:scale 0.4s ease;
}
@media (any-hover: hover){
  .grid-list .item a:hover .thumb img{
    scale:1.1;
  }
}
.grid-list .thumb{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  aspect-ratio:16/9;
}
.grid-list .thumb img{
  height:100%;
  -o-object-fit:cover;
  object-fit:cover;
  -o-object-position:center;
  object-position:center;
}
.grid-list .thumb + *{
  -webkit-margin-before:var(--spacing-sm-md);
  margin-block-start:var(--spacing-sm-md);
}
.grid-list .thumb.-square{
  aspect-ratio:1/1;
  border:1px solid var(--color-border);
}
.grid-list .thumb.-square img{
  max-width:100%;
  max-height:100%;
  width:auto;
  -o-object-fit:contain;
  object-fit:contain;
}
.grid-list .thumb.-fit{
  border:1px solid var(--color-border);
}
.grid-list .thumb.-fit img{
  max-width:100%;
  max-height:100%;
  width:auto;
  -o-object-fit:contain;
  object-fit:contain;
}
.grid-list .thumb.-border{
  border:1px solid var(--color-border);
}
.grid-list .txt-area{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  row-gap:var(--spacing-sm-md);
}
.grid-list.-case{
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:clamp(24px, 40 / 1240 * 100vw, 40px);
}
@media (width <= 768px){
  .grid-list.-case{
    grid-template-columns:1fr 1fr;
  }
}
.grid-list.-case .item{
  display:grid;
  grid-template-rows:subgrid;
  grid-row:span 5;
}
.grid-list.-case .item a{
  display:grid;
  grid-template-rows:subgrid;
  grid-row:span 5;
  gap:0;
}
@media (width <= 768px){
  .grid-list.-case .item a{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:start;
    -ms-flex-align:start;
    align-items:flex-start;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
  }
}
.grid-list.-case .item .ttl{
  position:relative;
  margin-block:var(--spacing-sm);
  -webkit-padding-after:var(--spacing-sm);
  padding-block-end:var(--spacing-sm);
  font-weight:bold;
  color:var(--color-blueLight);
}
.grid-list.-case .item .ttl::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:10px;
  height:1px;
  background-color:var(--color-blueLight);
  border-radius:100vmax;
}
.grid-list.-case .item .txt{
  -webkit-margin-before:var(--spacing-xs);
  margin-block-start:var(--spacing-xs);
  font-size:0.875rem;
  line-height:1.9285714286;
  letter-spacing:0.05em;
}

.js-anime{
  opacity:0;
}
.js-anime.on{
  -webkit-animation:fade-in ease-out 0.6s forwards;
  animation:fade-in ease-out 0.6s forwards;
}

@-webkit-keyframes frameAnimation{
  100%{
    opacity:1;
    translate:0 0;
  }
}

@keyframes frameAnimation{
  100%{
    opacity:1;
    translate:0 0;
  }
}
@-webkit-keyframes fade-in{
  0%{
    opacity:0;
  }
  100%{
    opacity:1;
  }
}
@keyframes fade-in{
  0%{
    opacity:0;
  }
  100%{
    opacity:1;
  }
}
@-webkit-keyframes scrollAnime{
  0%{
    top:0;
    opacity:1;
  }
  80%{
    opacity:1;
  }
  100%{
    top:100%;
    opacity:0;
  }
}
@keyframes scrollAnime{
  0%{
    top:0;
    opacity:1;
  }
  80%{
    opacity:1;
  }
  100%{
    top:100%;
    opacity:0;
  }
}
@-webkit-keyframes fade-in-up{
  0%{
    opacity:0;
  }
  100%{
    opacity:1;
    -webkit-transform:translateY(0);
    transform:translateY(0);
  }
}
@keyframes fade-in-up{
  0%{
    opacity:0;
  }
  100%{
    opacity:1;
    -webkit-transform:translateY(0);
    transform:translateY(0);
  }
}
@-webkit-keyframes slide-in{
  to{
    left:0;
  }
}
@keyframes slide-in{
  to{
    left:0;
  }
}
@-webkit-keyframes badge-in{
  to{
    scale:1;
  }
}
@keyframes badge-in{
  to{
    scale:1;
  }
}
@-webkit-keyframes kv-anime{
  0%{
    opacity:0;
    -webkit-transform:scaleX(0) translateX(-5%);
    transform:scaleX(0) translateX(-5%);
  }
  100%{
    -webkit-transform:scaleX(1) translateX(0);
    transform:scaleX(1) translateX(0);
    opacity:1;
  }
}
@keyframes kv-anime{
  0%{
    opacity:0;
    -webkit-transform:scaleX(0) translateX(-5%);
    transform:scaleX(0) translateX(-5%);
  }
  100%{
    -webkit-transform:scaleX(1) translateX(0);
    transform:scaleX(1) translateX(0);
    opacity:1;
  }
}
@-webkit-keyframes txt-in{
  to{
    -webkit-transform:translateY(0);
    transform:translateY(0);
  }
}
@keyframes txt-in{
  to{
    -webkit-transform:translateY(0);
    transform:translateY(0);
  }
}
@-webkit-keyframes progress{
  0%{
    width:0;
  }
  100%{
    width:100%;
  }
}
@keyframes progress{
  0%{
    width:0;
  }
  100%{
    width:100%;
  }
}
@-webkit-keyframes pulseZoom{
  0%{
    opacity:0;
    -webkit-transform:scale3d(0.4, 0.4, 0.4);
    transform:scale3d(0.4, 0.4, 0.4);
  }
  50%{
    opacity:0.5;
    -webkit-transform:scale(1.4);
    transform:scale(1.4);
  }
  100%{
    opacity:0;
    -webkit-transform:scale(1.6);
    transform:scale(1.6);
  }
}
@keyframes pulseZoom{
  0%{
    opacity:0;
    -webkit-transform:scale3d(0.4, 0.4, 0.4);
    transform:scale3d(0.4, 0.4, 0.4);
  }
  50%{
    opacity:0.5;
    -webkit-transform:scale(1.4);
    transform:scale(1.4);
  }
  100%{
    opacity:0;
    -webkit-transform:scale(1.6);
    transform:scale(1.6);
  }
}
.top .kv{
  position:relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  gap:12px;
  padding-inline:12px;
  -webkit-margin-after:var(--spacing-xl);
  margin-block-end:var(--spacing-xl);
}
@media (width <= 768px){
  .top .kv{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    row-gap:8px;
    padding-inline:8px;
  }
}
.top .kv .image-wrap{
  aspect-ratio:665/340;
}
.top .sec{
  padding-inline:12px;
}
@media (width <= 768px){
  .top .sec{
    padding-inline:clamp(5px, 10 / 390 * 100vw, 12px);
  }
}
.top .sec.-news{
  -webkit-margin-before:var(--spacing-3xl);
  margin-block-start:var(--spacing-3xl);
}
.top .sec.-news .flex-block{
  -webkit-column-gap:var(--spacing-xl);
  -moz-column-gap:var(--spacing-xl);
  column-gap:var(--spacing-xl);
}
.top .sec.-news .image-wrap{
  -ms-flex-negative:0;
  flex-shrink:0;
  max-width:428px;
  aspect-ratio:428/680;
}
.top .sec.-news .news-list{
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  row-gap:var(--spacing-md);
  padding-right:clamp(36px, 60 / 1240 * 100vw, 60px);
}
.top .sec.-news .news-list .item{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  row-gap:var(--spacing-xs);
  -webkit-padding-before:var(--spacing-md);
  padding-block-start:var(--spacing-md);
  padding-inline:var(--spacing-sm);
  border-top:1px solid var(--color-border);
  color:var(--color-green);
}
.top .sec.-news .news-list .item:last-child{
  -webkit-padding-after:var(--spacing-md);
  padding-block-end:var(--spacing-md);
  border-bottom:1px solid var(--color-border);
}
.top .sec.-about{
  padding-block:var(--spacing-5xl);
}
.top .sec.-about .about-content{
  position:relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
}
.top .sec.-about .sticky-wrap{
  min-height:80vh;
}
@media (width <= 768px){
  .top .sec.-about .sticky-wrap{
    min-height:50vh;
  }
}
.top .sec.-about .txt-about{
  position:sticky;
  top:42%;
  -webkit-padding-after:var(--spacing-xl);
  padding-block-end:var(--spacing-xl);
  width:clamp(256.8px, 428 / 1240 * 100vw, 428px);
}
@media (width <= 768px){
  .top .sec.-about .txt-about{
    width:clamp(110px, 220 / 390 * 100vw, 264px);
  }
}
.top .sec.-about .about-image{
  width:80%;
  aspect-ratio:1342/748;
  overflow:hidden;
}
@media (width <= 768px){
  .top .sec.-about .about-image{
    width:100%;
  }
}
.top .sec.-about .about-image img{
  width:100%;
}
.top .sec.-about .about-message{
  display:grid;
  grid-template-columns:1fr 1fr;
  -webkit-column-gap:var(--spacing-lg);
  -moz-column-gap:var(--spacing-lg);
  column-gap:var(--spacing-lg);
  width:80%;
  -webkit-margin-before:clamp(18px, 30 / 1240 * 100vw, 30px);
  margin-block-start:clamp(18px, 30 / 1240 * 100vw, 30px);
  margin-inline:auto;
}
@media (width <= 768px){
  .top .sec.-about .about-message{
    grid-template-columns:1fr;
    row-gap:clamp(8px, 16 / 390 * 100vw, 19.2px);
    width:100%;
  }
}
.top .sec.-brand{
  padding-block:var(--spacing-5xl);
}
.top .sec.-brand .brand-content{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:start;
  -ms-flex-align:start;
  align-items:flex-start;
  -webkit-column-gap:var(--spacing-xl);
  -moz-column-gap:var(--spacing-xl);
  column-gap:var(--spacing-xl);
}
@media (width <= 768px){
  .top .sec.-brand .brand-content{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
  }
}
.top .sec.-brand .left{
  max-width:428px;
}
.top .sec.-brand .left .sticky-wrap{
  min-height:400px;
}
.top .sec.-brand .left .txt-brand{
  position:sticky;
  top:var(--header-height);
  -webkit-padding-after:var(--spacing-xl);
  padding-block-end:var(--spacing-xl);
}
.top .sec.-brand .left .txt-brand img{
  width:clamp(121.8px, 203 / 1240 * 100vw, 203px);
  -webkit-margin-start:var(--spacing-lg);
  margin-inline-start:var(--spacing-lg);
}
@media (width <= 768px){
  .top .sec.-brand .left .txt-brand img{
    width:clamp(100px, 200 / 390 * 100vw, 240px);
    -webkit-margin-start:0;
    margin-inline-start:0;
  }
}
.top .sec.-brand .image-wrap{
  max-width:428px;
  aspect-ratio:428/680;
}
.top .sec.-brand .brand-list{
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  -webkit-column-gap:40px;
  -moz-column-gap:40px;
  column-gap:40px;
  margin-inline:auto var(--spacing-lg);
  padding:clamp(36px, 60 / 1240 * 100vw, 60px);
  background-color:var(--color-white);
}
@media (width <= 768px){
  .top .sec.-brand .brand-list{
    grid-template-columns:1fr;
    row-gap:clamp(8px, 16 / 390 * 100vw, 19.2px);
    width:100%;
  }
}
.top .sec.-brand .brand-list .item{
  border-top:1px solid var(--color-border);
  color:var(--color-red);
}
.top .sec.-brand .brand-list .item .brand-name{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  width:100%;
  padding-block:20px;
}
.top .sec.-shop{
  -webkit-padding-before:var(--spacing-5xl);
  padding-block-start:var(--spacing-5xl);
}
.top .sec.-shop .sticky-wrap{
  min-height:80vh;
}
@media (width <= 768px){
  .top .sec.-shop .sticky-wrap{
    min-height:50vh;
  }
}
.top .sec.-shop .txt-shop{
  position:sticky;
  top:42%;
  -webkit-padding-after:var(--spacing-xl);
  padding-block-end:var(--spacing-xl);
  max-width:clamp(382.2px, 637 / 1240 * 100vw, 637px);
  width:100%;
  margin-inline:auto;
}
@media (width <= 768px){
  .top .sec.-shop .txt-shop{
    max-width:clamp(160px, 320 / 390 * 100vw, 384px);
  }
}
.top .sec.-shop .map{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
.top .sec.-shop .map iframe{
  width:100%;
  aspect-ratio:1342/462;
  -webkit-filter:grayscale(100%);
  filter:grayscale(100%);
}
.top .sec.-shop .up-txt{
  padding-block:var(--spacing-lg);
  border-bottom:1px solid var(--color-border);
  color:var(--color-red);
}
.top .sec.-shop .up-txt .note{
  font-size:0.75rem;
}
.top .sec.-shop .bottom-txt{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-padding-before:var(--spacing-lg);
  padding-block-start:var(--spacing-lg);
}
.top .sec.-shop .info-txt{
  -ms-flex-negative:0;
  flex-shrink:0;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  color:var(--color-red);
}
.top .sec.-shop .contact-btn a{
  padding:18px 28px;
  border:1px solid var(--color-red);
  border-radius:50%;
  color:var(--color-red);
}

.alert-modal{
  position:fixed;
  top:50%;
  left:50%;
  -webkit-transform:translate(-50%, -50%);
  transform:translate(-50%, -50%);
  border:none;
  border-radius:4px;
  padding:20px;
  min-width:300px;
  max-width:90vw;
  height:-webkit-fit-content;
  height:-moz-fit-content;
  height:fit-content;
  background:#fff;
  -webkit-box-shadow:0 4px 20px rgba(0, 0, 0, 0.15);
  box-shadow:0 4px 20px rgba(0, 0, 0, 0.15);
  text-align:center;
}
.alert-modal::-ms-backdrop{
  background:rgba(0, 0, 0, 0.6);
}
.alert-modal::backdrop{
  background:rgba(0, 0, 0, 0.6);
}
.alert-modal .alert-message{
  font-size:15px;
  line-height:1.8;
  margin-bottom:28px;
  color:var(--color-green);
}
.alert-modal .alert-close{
  display:inline-block;
  padding:12px 40px;
  font-size:14px;
  border:none;
  background:var(--color-green);
  color:#fff;
  cursor:pointer;
  -webkit-transition:opacity 0.3s;
  transition:opacity 0.3s;
}
.alert-modal .alert-close:hover{
  opacity:0.8;
}
/*# sourceMappingURL=style.css.map */