/* stylelint-disable property-no-vendor-prefix */
/*
  Modern Browser Reset
  tsukashu 2025

  TODO: refer https://www.tak-dcxi.com/article/introduce-kiso-css
*/
/* Core reset */
:where(*, *::before, *::after) {
  box-sizing: inherit; /* inherit from html is better */
}
:where(*) {
  padding: 0;
  margin: 0;
}
/* Dialog margin correction */
:where(dialog[open]) {
  margin: revert;
}
/* prevent scroll when modal is open */
:where(:root:has(:modal)) {
  overflow: hidden;
}
/* Base document styling */
:where(html) {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  font-size: 100%;
  line-height: 1.5;
}
/* Smooth scroll (conditional) */
@media (prefers-reduced-motion: no-preference) {
  :where(html) {
    scroll-behavior: smooth;
  }
}
/* Viewport handling */
:where(body) {
  min-height: 100dvh;
}
/* Base: lists */
:where(ul, ol) {
  padding: 0;
  margin: 0;
  list-style-position: inside;
  list-style-type: none;
}
/* Media defaults */
:where(img, picture, video, canvas, svg) {
  display: block;
  max-width: 100%;
  height: auto;
}
/* Prevent SVG bleed */
:where(svg:focus) {
  overflow: hidden;
}
/* Form control reset */
:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
  background-color: transparent;
  border: 1px solid currentColor;
}
:where(input[type="file"]) {
  -webkit-appearance: none;
  appearance: none;
}
/* Accessible focus */
:where(:focus) {
  outline: none;
}
:where(:focus-visible) {
  outline: 2px solid Highlight;
  outline: 2px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}
/* Textarea control */
:where(textarea) {
  min-height: 3em;
  resize: vertical;
}
/* Interactive elements */
:where(
  button,
  label,
  select,
  summary,
  [role="button"],
  [role="option"],
  [type="button"],
  [type="reset"],
  [type="submit"]
) {
  cursor: pointer;
}
/* Fieldset reset */
:where(fieldset) {
  border: none;
}
/* Text containment */
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
}
/* Link reset */
:where(:any-link) {
  color: inherit;
  text-decoration: none;
}
:root {
  /* color */
  --color-white: #fff;
  --color-black: #000;
  --color-text: #333;
  --color-text-light: #fff;
  --color-bg-dark: #4a4a4a;
  --color-bg-brown: #a98c5f;
  --color-bg-light: #fafafa;
  --color-border: #808080;
  --color-bg-gray: #6f6f6f;
  --color-bg-gray-light: #f3f3f3;

  /* font */
  --font-family-base: "Noto Sans JP", sans-serif;
  --font-size-base: 16px;
  --font-weight-base: 400;
  --font-weight-bold: 700;
  --font-weight-medium: 500;

  /* header height */
  --header-height: 100px;

  /* gradient */
  --color-gradiant: linear-gradient(to right, rgb(28 210 223), rgb(163 233 200));

  /* refacto */
  /* Primary: 信頼感のあるブルー */
  --color-primary: #1976d2;
  --color-primary-light: #42a5f5;
  --color-primary-dark: #1565c0;

  /* Accent: アクション用 */
  --color-accent: #ff6b6b;

  /* Neutral */
  --color-text-r: #212121;
  --color-text-r-light: #fafafa;
  --color-bg-r: #fafafa;
}
/* need postcss-custom-media */
/* project specific */
/* Base */
html {
}
body {
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-base);
  color: var(--color-text-r);
  background-color: var(--color-bg-r);
}
/* Layout */
.page-layout {
  display: grid;
  grid-template-areas: "header" "main" "footer";
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 1fr;
  width: min(100%, 1200px);
  height: 100%;
  margin-inline: auto;

  @media (min-width: 768px) {
    grid-template-areas:
      "navigation main"
      "navigation footer";
    grid-template-rows: 1fr auto;
    grid-template-columns: minmax(250px, auto) 1fr;
  }
}
.header {
  grid-area: header;
  height: var(--header-height);

  @media (min-width: 768px) {
    display: none;
  }
}
.main {
  grid-area: main;
}
.nav {
  grid-area: navigation;
}
.footer {
  grid-area: footer;
}
.main-content {
  /* each section layout */
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}
/* base section padding */
/* TODO: add section common class */
section {
  padding-block: 2rem 3rem;
  background-color: var(--color-bg-r);

  > * {
    padding-inline: 2rem;
  }
}
/* section bg color (odd/even) */
/* section:nth-child(odd) {
  background-color: var(--color-bg-r-light);
}

section:nth-child(even) {
} */
.goto-top[data-astro-cid-sckkx6r4]{position:fixed;right:1rem;bottom:1rem;z-index:100;padding:1rem;color:var(--color-primary);cursor:pointer;border-radius:0.5rem;opacity:0;transition:opacity 0.3s ease;&.scroll{opacity:1}}.header[data-astro-cid-3ef6ksr2]{position:-webkit-sticky;position:sticky;top:0;z-index:100;width:100%;height:var(--header-height);color:var(--color-text-r-light);background-color:var(--color-primary-dark);transition:opacity 0.3s ease;&.active{box-shadow:0 2px var(--color-text-r-light)}&.scroll{opacity:0.5}}.header__inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;height:100%;padding-inline:1rem}.header__logo[data-astro-cid-3ef6ksr2]{font-size:1.5rem;font-style:italic;font-weight:bold}.hamburger[data-astro-cid-3ef6ksr2]{position:relative;width:24px;height:18px;padding:0;cursor:pointer;background:transparent;border:none}.hamburger[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{position:absolute;left:0;width:100%;height:2px;background-color:currentColor;border-radius:2px;transition:all 0.3s ease}.hamburger[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(1){top:0}.hamburger[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(2){top:50%;transform:translateY(-50%)}.hamburger[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(3){bottom:0}.hamburger[data-astro-cid-3ef6ksr2].active span[data-astro-cid-3ef6ksr2]:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}.hamburger[data-astro-cid-3ef6ksr2].active span[data-astro-cid-3ef6ksr2]:nth-child(2){opacity:0}.hamburger[data-astro-cid-3ef6ksr2].active span[data-astro-cid-3ef6ksr2]:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}@media (min-width: 768px){.header[data-astro-cid-3ef6ksr2]{display:none}.header[data-astro-cid-3ef6ksr2].scroll{opacity:unset;transition:unset}}.nav[data-astro-cid-pux6a34n]{position:fixed;top:0;left:0;z-index:10;width:100%;height:100%;padding-block:2rem;color:var(--color-text-light, #fff);background-color:var(--color-bg-dark, #333);transform:translateY(-100%);transition:transform 0.3s ease-in-out;&.active{transform:translateY(0)}}.nav__inner[data-astro-cid-pux6a34n]{display:flex;flex-direction:column;gap:2rem;align-items:center;justify-content:flex-start;height:100%;padding-inline:1rem;overflow-y:auto}.nav__logo[data-astro-cid-pux6a34n]{font-size:1.5rem;font-style:italic;font-weight:bold}.nav__list[data-astro-cid-pux6a34n]{display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:flex-start;height:100%;padding-inline:1rem}.nav__link[data-astro-cid-pux6a34n]{display:flex;gap:0.5rem;align-items:center;padding-block:0.5rem;padding-inline:1rem;font-size:1.2rem;font-weight:bold;border:1px solid transparent;border-radius:5px;transition:color 0.3s ease,background-color 0.3s ease,border-color 0.3s ease;&[data-astro-cid-pux6a34n]:hover{color:var(--color-text-r);background-color:var(--color-bg-light);border-color:currentColor}&.link--contact{color:var(--color-text-r);background-color:var(--color-bg-light);&[data-astro-cid-pux6a34n]:hover{color:var(--color-text-r-light);background-color:var(--color-bg-dark);border-color:var(--color-text-r-light)}}&.link--twitter{border-color:currentColor}}@media (min-width: 768px){.nav[data-astro-cid-pux6a34n]{position:-webkit-sticky;position:sticky;height:100dvh;transform:translateY(0);transition:unset}}.top[data-astro-cid-kcj7aad5]{display:grid;align-items:center;justify-content:center;height:100dvh;min-height:100dvh;@media (min-width: 768px){min-height:40dvh;max-height:60dvh}}.top__img[data-astro-cid-kcj7aad5]{grid-area:1 / 1;place-self:start center;> img {height: 100dvh; @media (min-width: 768px) {min-height: 40dvh; max-height: 60dvh;} object-fit: cover;}}.top__title__container[data-astro-cid-kcj7aad5]{display:flex;flex-direction:column;grid-area:1 / 1;gap:2rem;place-self:center;padding-block:2rem;padding-inline:4rem;-webkit-margin-after:1rem;margin-block-end:1rem;margin-inline:1rem;text-align:center;background:oklab(83% -0.04 -0.04 / 30%);border-radius:1rem;-webkit-backdrop-filter:blur(0.5rem);backdrop-filter:blur(0.5rem);@media (min-width: 768px){padding-inline:2rem;-webkit-margin-after:2rem;margin-block-end:2rem;margin-inline:2rem}}.top__title[data-astro-cid-kcj7aad5]{font-size:3rem;font-style:italic;font-weight:bold;line-height:1.1;text-shadow:2px 2px 4px rgb(0 00 200 / 50%)}.top__subtitle[data-astro-cid-kcj7aad5]{font-size:1.5rem;font-weight:500}.section--title[data-astro-cid-3efb4dcy]{display:flex;flex-direction:column;gap:0.2rem;align-items:center;justify-content:center;padding-block:1rem}.section--title--en[data-astro-cid-3efb4dcy]{padding-inline:1ch;font-size:2rem;font-weight:bold;background:var(--color-gradiant) no-repeat bottom left / 100% 3px}.section--title--ja[data-astro-cid-3efb4dcy]{font-size:0.9rem;transform:translateY(-0.2em)}.service[data-astro-cid-7jz4krsr]{}.service__inner[data-astro-cid-7jz4krsr]{display:flex;flex-direction:column;gap:2rem;align-items:center}.service__lead[data-astro-cid-7jz4krsr]{width:min(800px,100%);font-size:1rem}.service__content[data-astro-cid-7jz4krsr]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));grid-gap:2rem;gap:2rem;align-items:start}.service__item[data-astro-cid-7jz4krsr]{display:grid;grid-template-rows:subgrid;grid-row:span 3;grid-gap:1rem;gap:1rem;align-items:start;justify-items:center;> * {min-height: 0;}}.service__item[data-astro-cid-7jz4krsr] iconify-icon[data-astro-cid-7jz4krsr]{font-size:5rem}.service__item--title[data-astro-cid-7jz4krsr]{font-size:1.5rem;font-weight:var(--font-weight-medium)}.service__item--text[data-astro-cid-7jz4krsr]{font-size:1rem}.works[data-astro-cid-maqz3d7x]{}.works__inner[data-astro-cid-maqz3d7x]{display:flex;flex-direction:column;gap:2rem;align-items:center}.works__lead[data-astro-cid-maqz3d7x]{width:min(800px,100%);-webkit-margin-after:2rem;margin-block-end:2rem;font-size:1rem}.works__content[data-astro-cid-maqz3d7x]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));grid-gap:2rem;gap:2rem}.works__item[data-astro-cid-maqz3d7x]{display:grid;grid-template-rows:subgrid;grid-row:span 4;grid-gap:1rem;gap:1rem;-webkit-padding-after:1rem;padding-block-end:1rem;overflow:hidden;border-radius:0.5em;box-shadow:0 2px 8px rgb(0 0 0 / 10%);transition:transform 0.3s ease,box-shadow 0.3s ease;> * {min-height: 0;} &:hover {box-shadow: 0 4px 16px rgb(0 0 0 / 15%); transform: translateY(-4px);}}.works__item--image[data-astro-cid-maqz3d7x]{width:100%;aspect-ratio:16/9;overflow:hidden}.works__item--image[data-astro-cid-maqz3d7x] img[data-astro-cid-maqz3d7x]{object-fit:cover;transition:transform 0.3s ease}.works__item[data-astro-cid-maqz3d7x]:hover .works__item--image[data-astro-cid-maqz3d7x] img[data-astro-cid-maqz3d7x]{transform:scale(1.05)}.works__item--title[data-astro-cid-maqz3d7x]{padding-inline:1.5rem;font-size:1.2rem;font-weight:var(--font-weight-medium);line-height:1.1}.works__item--desc[data-astro-cid-maqz3d7x]{padding-inline:1.5rem;font-size:0.9rem}.works__item--desc--note[data-astro-cid-maqz3d7x]{font-size:0.8rem;font-style:italic;opacity:0.8}.works__item--link[data-astro-cid-maqz3d7x]{padding-inline:1.5rem;text-decoration:underline;-webkit-text-decoration-color:var(--color-text-r);text-decoration-color:var(--color-text-r);transition:background-color 0.2s ease;&[data-astro-cid-maqz3d7x]:hover{background:var(--color-primary-dark)}}.about[data-astro-cid-zsov6f23]{}.about__inner[data-astro-cid-zsov6f23]{display:grid;grid-template-areas:"image" "title" "content";grid-gap:1.5rem;gap:1.5rem;max-inline-size:100%;@media (min-width: 768px){grid-template-areas:"title image" "content image";grid-template-columns:1fr minmax(min(250px,100%),1fr);gap:2rem}> .section--title {grid-area: title;}}.about__image[data-astro-cid-zsov6f23]{grid-area:image}.about__content[data-astro-cid-zsov6f23]{grid-area:content}.about__content--text[data-astro-cid-zsov6f23]{display:grid;grid-gap:1rem;gap:1rem;align-items:center;justify-content:center;padding-inline:1rem}.about__content--text[data-astro-cid-zsov6f23] span[data-astro-cid-zsov6f23]{padding:0.25em;font-weight:var(--font-weight-medium)}.work-flow[data-astro-cid-ecrebvur]{}.work-flow__inner[data-astro-cid-ecrebvur]{}.work-flow__lead[data-astro-cid-ecrebvur]{width:min(800px,100%);-webkit-margin-after:2rem;margin-block-end:2rem;font-size:1rem}.work-flow__content[data-astro-cid-ecrebvur]{}.work-flow__list[data-astro-cid-ecrebvur]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));grid-gap:2rem;gap:2rem}.work-flow__item[data-astro-cid-ecrebvur]{display:grid;grid-gap:1rem;gap:1rem;align-items:start;justify-items:center;padding-block:3rem 1rem;border:1px solid var(--color-bg-gray);> * {gap: 1rem; align-items: start; justify-items: center; min-height: 0;}}.work-flow__item-number[data-astro-cid-ecrebvur],.work-flow__item__content[data-astro-cid-ecrebvur]{grid-area:1 / 1;min-height:0}.work-flow__item-number[data-astro-cid-ecrebvur]{z-index:1;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0.5em;font-size:1.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-r-light);background-color:var(--color-bg-gray);transform:translateY(-3em)}.work-flow__item__content[data-astro-cid-ecrebvur]{display:grid;grid-gap:1rem;gap:1rem;align-items:start;justify-items:center;min-height:0;padding-inline:1rem}.work-flow__item[data-astro-cid-ecrebvur] iconify-icon[data-astro-cid-ecrebvur]{font-size:3rem}.work-flow__item-title[data-astro-cid-ecrebvur]{font-size:1.5rem;font-weight:var(--font-weight-medium)}.work-flow__item-text[data-astro-cid-ecrebvur]{font-size:1rem}.message[data-astro-cid-73rn5qlv]{}.message__inner[data-astro-cid-73rn5qlv]{display:grid;grid-template-areas:"image" "title" "content";grid-gap:1.5rem;gap:1.5rem;max-inline-size:100%;@media (min-width: 768px){grid-template-areas:"image title" "image content";grid-template-columns:minmax(min(250px,100%),1fr) 1fr;gap:2rem}> .section--title {grid-area: title;}}.message__image[data-astro-cid-73rn5qlv]{grid-area:image}.message__content[data-astro-cid-73rn5qlv]{grid-area:content}.message__content--text[data-astro-cid-73rn5qlv]{width:min(800px,100%);-webkit-margin-after:2rem;margin-block-end:2rem;font-size:1rem}.footer[data-astro-cid-sz7xmlte]{padding-block:1rem;color:var(--color-text-r-light);text-align:center;background-color:var(--color-primary)}.footer__inner[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:1rem;align-items:center}.footer__sns[data-astro-cid-sz7xmlte]{display:flex;gap:1rem}.footer__sns-link[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:center;padding:0.25em;font-size:1.5rem;color:var(--color-text-r);background-color:var(--color-text-r-light);border:1px solid currentColor;border-radius:0.25rem;transition:background-color 0.3s ease;&[data-astro-cid-sz7xmlte]:hover{color:var(--color-white);background-color:var(--color-bg-dark)}}.footer__copyright[data-astro-cid-sz7xmlte]{font-size:0.8rem;opacity:0.5}