html { font-size: 10px; }
body { background: #000; color: #221815; font-family: "Noto Sans JP", sans-serif; font-weight: 400; }
a { display: block; transition: 0.2s; }
a:hover { transition: 0.2s; }
dt { font-weight: normal; }
img { display: block; max-width: 100%; width: 100%; }

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

/* Remove default padding */
ul, ol { padding: 0; }

/* Remove default margin */
body, h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd { margin: 0; }

/* Set core root defaults */

/* Set core body defaults */
body { text-rendering: optimizeSpeed; }

/* Remove list styles on ul, ol elements with a class attribute */
ul, ol { list-style: none; }

/* A elements that don't have a class get default styles */
a:not([class]) { -webkit-text-decoration-skip: ink; text-decoration-skip-ink: auto; }

/* Make images easier to work with */
img { display: block; max-width: 100%; width: 100%; }

/* Inherit fonts for inputs and buttons */
input, button, textarea, select { font: inherit; }

/* フォームリセット */
input, button, select, textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; border: none; border-radius: 0; font: inherit; outline: none; }
textarea { resize: vertical; }
input[type=checkbox], input[type=radio] { display: none; }
input[type=submit], input[type=button], label, button, select { cursor: pointer; }
select::-ms-expand { display: none; }


/* * l-container * ------------------------------------------------------------- */
.l-container { margin: 0 auto; max-width: 124rem; padding: 0 2rem; }


/* * l-footer * ------------------------------------------------------------- */
.l-footer { background: #fff; padding: 1.2rem 0 5.2rem; }
.l-footer__inner { border-bottom: 1px solid #E5E5E5; display: flex; gap: 2.8rem; }
.l-footer__links { max-width: 38.6rem; padding-top: 1.2rem; width: 37.7vw; }
.l-footer__logo { max-width: 21.5rem; }
.l-footer__sns { display: flex; gap: 2.2rem; margin-top: 2rem; }
.l-footer__sns-ttl { color: #999999; font-family: "Roboto", sans-serif; font-size: 1.5rem; font-style: italic; font-weight: 300; }
.l-footer__sns-items { align-items: center; display: flex; gap: 1.6rem; }
.l-footer__fb { max-width: 0.8rem; }
.l-footer__tw { max-width: 1.6rem; }
.l-footer__insta { max-width: 1.6rem; }
.l-footer__info { flex: 1; font-size: max(1.2rem, min(1.367vw, 1.4rem)); line-height: 1.6; min-width: 46rem; padding-bottom: 1.5rem; }
.l-footer__info-ttl::before { content: "■"; display: inline-block; }
.l-footer__info-item { display: flex; }
.l-footer__info-item dt { display: flex; }
.l-footer__info-item dt:after { content: "："; display: inline-block; }
.l-footer__info-item dd span { display: inline-block; margin-left: 1.3rem; }
.l-footer__copyright { color: #333333; font-family: "Montserrat", sans-serif; font-size: 1.4rem; line-height: 1.2rem; padding-top: 1.5rem; text-align: center; }
.l-footer__sp-sns { flex: 1; }


/* * l-header * ------------------------------------------------------------- */
.l-header { align-items: flex-end; background: #000; display: flex; height: 11rem; }
.l-header__inner { align-items: center; display: flex; justify-content: space-between; width: 100%; }
.l-header__logo { max-width: 24.1rem; }
.l-header__nav { flex: 1; }


/* * l-inner * ------------------------------------------------------------- */
.l-inner { margin: auto; max-width: 126rem; padding: 0 3rem; }


/* * l-main * ------------------------------------------------------------- */
.l-main { overflow: hidden; }


/* * c-hamburger * ------------------------------------------------------------- */
.c-hamburger { border: 1px solid #fff; display: none; height: 2.8rem; padding: 0 0.4rem; position: relative; width: 2.6rem; }
.c-hamburger span { background: #fff; display: block; height: 1px; left: 50%; max-width: 1.8rem; position: absolute; transform: translateX(-50%); transition: all 0.2s; width: 100%; }
.c-hamburger span:nth-child(1) { top: 23%; }
.c-hamburger span:nth-child(2) { top: 50%; transform: translate(-50%, -50%); }
.c-hamburger span:nth-child(3) { top: 73%; }
.c-hamburger span.is-active:nth-child(1) { top: 50%; transform: translate(-50%, -50%) rotate(-45deg); }
.c-hamburger span.is-active:nth-child(2) { opacity: 0; }
.c-hamburger span.is-active:nth-child(3) { top: 50%; transform: translate(-50%, -50%) rotate(45deg); }


/* * c-lead-txt * ------------------------------------------------------------- */
.c-lead-txt { font-feature-settings: "palt"; font-size: 1.5rem; line-height: 1.6; text-indent: 1em; }


/* * c-lead * ------------------------------------------------------------- */
.c-lead { display: flex; flex-direction: column; gap: 2em; margin: 0 auto; max-width: 96rem; text-align: justify; }


/* * c-nav * ------------------------------------------------------------- */
.c-nav__items { align-items: center; display: flex; gap: 2.4rem; justify-content: flex-end; }
.c-nav__link { color: #fff; font-family: "Montserrat", sans-serif; font-size: 1.4rem; position: relative; text-transform: uppercase; }
.c-nav__link::after { background: #FCE38A; bottom: -0.8rem; content: ""; height: 3px; left: 0; position: absolute; transform: scale(0, 1); transform-origin: left top; transition: transform 0.3s; width: 100%; }
.c-nav__link:hover::after { transform: scale(1, 1); }
.c-nav__link:hover { color: #FCE38A; }
.c-nav__sns-items { align-items: center; display: flex; gap: 1.4rem; }
.c-nav__fb { max-width: 3.4rem; }
.c-nav__insta { max-width: 3.1rem; }
.c-nav__original { max-width: 5.1rem; }


/* * c-sec-header * ------------------------------------------------------------- */
.c-sec-header { color: #333; text-align: center; }
.c-sec-header--wht { color: #fff; }
.c-sec-header:after { background: #f38181; content: ""; display: block; height: 3px; margin: 3.3rem auto 0; max-width: 6rem; width: 100%; }
.c-sec-header__subttl { font-family: "kaushan-script", sans-serif; font-size: 2.4rem; text-transform: capitalize; }
.c-sec-header__subttl.--kewi { font-family: "kewl-script", sans-serif; }
.c-sec-header__ttl { font-family: "Montserrat", sans-serif; font-size: 3rem; font-weight: bold; line-height: 1.2; margin-top: 1rem; text-transform: uppercase; }


/* * u-hover * ------------------------------------------------------------- */
.u-hover { position: relative; }
.u-hover::before { background: linear-gradient(to bottom, #f38181, #fce38a); content: ""; display: block; height: 100%; left: 0; opacity: 0; position: absolute; top: 0; transition: all 0.2s; width: 100%; z-index: 1; }
.u-hover:hover::before { opacity: 0.8; }

/* * u-pc * ------------------------------------------------------------- */
.u-pc { display: block; }


/* * u-sp * ------------------------------------------------------------- */
.u-sp { display: none; }


/* * u-wht * ------------------------------------------------------------- */
.u-wht { color: #fff; }


/* * whats * ------------------------------------------------------------- */
.whats { background: url(whats_bg.webp) no-repeat top/cover; color: #666464; padding: 11.1rem 0 13.1rem; }
.whats__inner { margin: 0 auto; max-width: 102rem; }
.whats__body { margin-top: 7.2rem; }
.whats__items { display: flex; flex-direction: column; gap: 7rem; margin-top: 7rem; }
.whats__item { display: flex; gap: 3.5rem; }
.whats__img { aspect-ratio: 388/262; max-width: 38.8rem; }
.whats__img img { -o-object-fit: cover; height: 100%; object-fit: cover; }
.whats__detail { flex: 1; padding-top: 3rem; }
.whats__ttl { color: #535151; font-family: "Noto Serif JP", serif; font-size: 5rem; margin-right: calc(50% - 50vw); }
.whats__txt { font-size: 1.7rem; font-weight: bold; line-height: 1.66; margin-top: 2.4rem; max-width: 53.6rem; text-indent: 1em; }


/* * intro * ------------------------------------------------------------- */
.intro { padding-top: 10.8rem; }
.intro__body { margin-top: 4.2rem; }
.intro__lead { margin: 0 auto; max-width: 96rem; }
.intro__img { aspect-ratio: 1200/321; margin-top: 3rem; }
.intro__item img { -o-object-fit: cover; height: 100%; object-fit: cover; }
.intro .c-lead { padding: 0 0.75rem; }


/* * mv * ------------------------------------------------------------- */
.mv__inner { margin: 0 auto; max-width: 91.8rem; }


/* * page-nav * ------------------------------------------------------------- */
.page-nav { background: #000; padding-top: 7.6rem; }
.page-nav.is-active { opacity: 1; overflow: auto; transition: all 0.6s; visibility: visible; z-index: 10; }
.page-nav__inner { max-width: 127.1rem; }
.page-nav__items { display: flex; gap: min(2.9rem, 2.832vw); justify-content: space-between; }
.page-nav__item { height: min(5rem, 4.9vw); position: relative; width: 25%; }
.page-nav__item:nth-child(2), .page-nav__item:nth-child(3) { max-width: 28rem; width: 100%; }
.page-nav__link { align-items: flex-end; color: #fff; display: flex; font-family: "Montserrat", sans-serif; font-size: max(1.2rem, min(1.7578vw, 1.8rem)); gap: 0.8rem; height: 100%; position: relative; text-transform: uppercase; transition: all 0.2s; }
.page-nav__link:before { background: #808080; content: ""; display: block; height: 3px; position: absolute; top: 0; transition: all 0.2s; width: 100%; }
.page-nav__link:hover:after { opacity: 1; z-index: 1; }
.page-nav__link:after { background: linear-gradient(to right, #f38181 25%, #fff 0%); content: ""; display: block; height: 3px; opacity: 0; position: absolute; top: 0; transition: opacity 0.2s; width: 100%; }
.page-nav__link .num { font-size: max(1.8rem, min(2.34375vw, 2.4rem)); font-weight: bold; }
.page-nav__link .position { font-weight: 400; margin-right: calc(50% - 50vw); }
.page-nav__link .position--sm { font-size: max(1.3rem, min(1.3671875vw, 1.6rem)); }


/* * sustainability * ------------------------------------------------------------- */
.sustainability { padding: 8.6rem 0 5rem; }
.sustainability__lead { margin-top: 3.2rem; text-align: center; }
.sustainability__lead-txt { line-height: 1.875; }
.sustainability__items { display: flex; flex-wrap: wrap; gap: 8.5rem 3rem; justify-content: center; margin-top: 4rem; }
.sustainability__item { max-width: 38rem; position: relative; width: max(26.8rem, 29vw); }
.sustainability__item:last-child { margin-left: min(20rem, 15.3846vw); }
.sustainability__num { align-items: center; background: #95e1d3; display: grid; font-family: "Montserrat", sans-serif; font-size: max(2.6rem, min(2.31vw, 3rem)); font-weight: bold; height: max(4.9rem, min(5.3846vw, 7rem)); justify-items: center; left: -1rem; place-items: center; position: absolute; top: max(11rem, min(12.3vw, 16rem)); width: max(4.3rem, min(4.615vw, 6rem)); }
.sustainability__img { aspect-ratio: 380/240; }
.sustainability__img img { -o-object-fit: cover; height: 100%; object-fit: cover; }
.sustainability__detail { margin-top: 1.6rem; }
.sustainability__ttl { font-size: 1.7rem; line-height: 1.6; }
.sustainability__txt { font-size: 1.4rem; line-height: 1.6; margin-top: 1rem; text-align: justify; }


/* * whats * ------------------------------------------------------------- */
.whats { background: url(whats_bg.webp) no-repeat top/cover; color: #666464; padding: 11.1rem 0 13.1rem; }
.whats__inner { margin: 0 auto; max-width: 102rem; }
.whats__body { margin-top: 7.2rem; }
.whats__lead-txt { font-feature-settings: normal; }
.whats__lead-txt span { display: inline-block; }
.whats__items { display: flex; flex-direction: column; gap: 7rem; margin-top: 7rem; }
.whats__item { display: flex; gap: 3.5rem; }
.whats__img { aspect-ratio: 388/262; max-width: 38.8rem; width: 32.3333%; }
.whats__img img { -o-object-fit: cover; height: 100%; object-fit: cover; }
.whats__detail { flex: 1; padding-top: 3rem; }
.whats__ttl { color: #535151; font-family: "Noto Serif JP", serif; font-size: max(2rem, min(4.166666666vw, 5rem)); margin-right: calc(50% - 50vw); }
.whats__txt { font-size: max(1.4rem, min(1.66vw, 1.7rem)); font-weight: bold; line-height: 1.66; margin-top: 2.4rem; max-width: 54.5rem; text-indent: 1em; }

/* * work * ------------------------------------------------------------- */
.work { padding: 7.8rem 0; }
.work__body { margin-top: 4.2rem; }
.work__items { margin: 6rem calc(50% - 50vw) 0; }
.work__item { aspect-ratio: 480/390; position: relative; width: 25%; }
.work__item img { -o-object-fit: cover; height: 100%; object-fit: cover; }
.work-slider .slick-slide { margin: 0 1rem; }
.work__btn { align-items: center; display: flex; }
.work__btn:after { content: "▶▶"; display: inline-block; }
.work__detail { padding-top: 9.4rem; }
.work__detail-ttl { font-family: "Noto Serif JP", serif; font-size: max(2rem, min(3.62vw, 3.8rem)); font-weight: 300; text-align: center; }
.work__detail-ttl span { display: inline-block; }
.work__detail-flex { display: flex; gap: max(5rem, min(5.25vw, 6.3rem)); margin-top: 6rem; }
.work__detail-imgarea { max-width: 53.7rem; width: 44.75%; }
.work__detail-img { aspect-ratio: 537/358; }
.work__detail-img img { -o-object-fit: cover; height: 100%; object-fit: cover; }
.work__detail-imgtxt { font-size: 1.45rem; line-height: 1.5; margin-top: 3rem; text-align: center; }
.work__detail-imgtxt span { display: inline-block; }
.work__detail-body { flex: 1; }
.work__detail-txt { font-feature-settings: normal; line-height: 1.875; }
.work__btn { font-feature-settings: "palt"; font-size: max(1.2rem, min(2vw, 2.3rem)); margin-top: 3rem; }

@media screen and (min-width: 1025px) {
a[href^="tel:"] { pointer-events: none; }
}

@media screen and (max-width: 923px) {
.sustainability__items { justify-content: space-between; }
.sustainability__item { width: 47%; }
.sustainability__item:last-child { margin-left: 0;   margin-right: auto; }
}

@media screen and (max-width: 767px) {
html { font-size: 2.777777777vw; }
.l-footer { padding: 1.2rem 0 3.8rem; }
.l-footer__inner { flex-direction: column;   gap: 1.5rem; }
.l-footer__links { align-items: center;   display: flex;   gap: 1.6rem;   max-width: 100%;   padding-top: 0;   width: 100%; }
.l-footer__sns { display: none; }
.l-footer__info { font-size: 0.9rem;   min-width: auto;   padding: 0 0 1.7rem 0.3rem; }
.l-footer__info-item { font-feature-settings: "palt"; }
.l-footer__info-item dd span { flex: 1;   margin-left: 0.8rem; }
.l-footer__info-item dd { margin-right: calc(50% - 50vw); }
.l-footer__copyright { font-size: 0.9rem;   padding-top: 0.8rem; }
.l-header { height: 5.1rem;   position: relative;   z-index: 100; }
.l-header__inner { align-items: flex-start;   padding: 0 1rem; }
.l-header__logo { max-width: 9.6rem; }
.l-header__nav { display: none; }
.l-inner { padding: 0 1.5rem; }
.c-hamburger { display: block; }
.c-lead-txt { font-size: 1.1rem;   line-height: 1.4; }
.c-lead { gap: 1.6em; }
.c-nav__sns-items { gap: 1.1rem; }
.c-nav__fb { max-width: 2.5rem; }
.c-nav__insta { max-width: 2.3rem; }
.c-nav__original { max-width: 3.8rem; }
.c-sec-header:after { margin-top: 3.5rem; }
.c-sec-header__ttl { margin-top: 2rem; }
.u-pc { display: none; }
.u-sp { display: block; }
.intro { padding-top: 4rem; }
.intro .c-sec-header__ttl { font-size: 2.4rem; }
.intro__body { margin-top: 4.75rem; }
.intro__img { aspect-ratio: 342/91;   margin-top: 2.5rem; }
.mv__inner { max-width: 100%;   padding: 0 1rem; }
.page-nav { height: 100%;   left: 0;   opacity: 0;   padding-top: 7rem;   position: fixed;   right: 0;   top: 0;   transition: all 0.6s;   visibility: hidden;   width: 100%; }
.page-nav__inner { height: 100%;   padding: 0 1rem; }
.page-nav__items { flex-direction: column;   gap: 2rem; }
.page-nav__item { height: auto;   width: 100%; }
.page-nav__item:nth-child(2), .page-nav__item:nth-child(3) { max-width: 100%; }
.page-nav__link { font-size: 1.8rem;   padding-top: 2rem; }
.page-nav__link:after { background: linear-gradient(to right, #f38181 12%, #fff 0%); }
.page-nav__link .num { font-size: 2.4rem;   font-weight: 600; }
.page-nav__link .position--sm { font-size: 1.8rem; }
.sustainability { padding: 3.3rem 0 1.8rem; }
.sustainability__inner { padding: 0 2.6rem; }
.sustainability__lead { margin-top: 4rem; }
.sustainability__items { flex-direction: column;   gap: 3.6rem;   margin-top: 2.5rem; }
.sustainability__item { width: 100%; }
.sustainability__num { font-size: 2.5rem;   height: 5.8rem;   left: -1rem;   top: 12.8rem;   width: 5rem; }
.sustainability__detail { margin-top: 1.2rem; }
.sustainability__ttl { font-size: 1.5rem; }
.sustainability__txt { font-size: 1.2rem;   line-height: 1.3; }
.whats { background: url(whats_bg.webp) no-repeat top/cover;   padding: 11.3rem 0 2.8rem; }
.whats__body { margin-top: 4rem; }
.whats__items { gap: 2.6rem;   margin-top: 2.3rem; }
.whats__item { flex-direction: column;   gap: 1.5rem; }
.whats__img { aspect-ratio: 328/222;   max-width: 100%;   order: 2;   width: 100%; }
.whats__detail { display: contents; }
.whats__ttl { font-size: 2.6rem;   font-weight: 500;   order: 1;   text-indent: 0.3em; }
.whats__ttl--sm { font-size: 2.3rem; }
.whats__txt { font-size: 1.2rem;   line-height: 1.3;   margin-top: 0;   order: 2; }
.whats .c-sec-header__ttl { font-size: 2rem; }
.work { padding: 3.3rem 0; }
.work__items { margin-top: 3.3rem; }
.work .c-sec-header__ttl { font-size: 1.8rem;   line-height: 1.3; }
.work-slider .slick-slide { margin: 0 0.5rem; }
.work__detail { padding-top: 2.5rem; }
.work__detail-ttl { font-size: 2.1rem;   line-height: 1.2;   text-align: left; }
.work__detail-ttl span { margin-left: 0.6em; }
.work__detail-flex { flex-direction: column;   gap: 2.3rem;   margin-top: 2.4rem; }
.work__detail-imgarea { max-width: 100%;   width: 100%; }
.work__detail-img { aspect-ratio: 330/220; }
.work__detail-imgtxt { font-size: 1.2rem;   line-height: 1.3; }
.work__detail-body { padding: 0 1rem; }
.work__detail-txt { line-height: 1.3; }
.work__btn { color: #FF8E4A;   font-size: 1.2rem;   justify-content: center;   margin-top: 1.8rem; }
}


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