.elementor-1322 .elementor-element.elementor-element-f40db52{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-1322 .elementor-element.elementor-element-3a77cc2{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-1322 .elementor-element.elementor-element-3a77cc2 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}/* Start custom CSS for html, class: .elementor-element-53ef2f7 */@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');
.cudiora-site {
  --paper: #f0eee7;
  --white: #faf9f5;
  --ink: #11110f;
  --accent: #bd321f;
  --line: rgba(17,17,15,.24);
  --serif: "Noto Serif JP",serif;
  --sans: "Inter","Helvetica Neue",Arial,sans-serif;
  scroll-behavior: smooth;
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 400;
  width: 100%;
  overflow: clip;
}

.cudiora-site,
.cudiora-site * {
  box-sizing: border-box;
}

.cudiora-site a {
  color: inherit;
  text-decoration: none;
}

.cudiora-site button {
  font: inherit;
}

.cudiora-site ::selection {
  background: var(--accent);
  color: #fff;
}

.cudiora-site .section-dark {
  background: var(--ink);
  color: var(--white);
}

.site-header {
  height: 76px;
  padding: 0 3.2vw;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
  position: relative;
  z-index: 20;
}

.wordmark {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: .26em;
}

.header-meta {
  display: flex;
  gap: 5vw;
  font-size: 9px;
  letter-spacing: .16em;
}

.menu-button {
  border: 0;
  background: none;
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 10px;
  letter-spacing: .18em;
  cursor: pointer;
  padding: 12px 0;
}

.menu-button i {
  width: 28px;
  height: 1px;
  background: currentColor;
  position: relative;
}

.menu-button i:after {
  content: "";
  position: absolute;
  right: 0;
  top: 6px;
  width: 17px;
  height: 1px;
  background: currentColor;
}

.site-menu {
  position: absolute;
  right: 0;
  top: 76px;
  width: min(430px,100%);
  background: var(--ink);
  color: var(--white);
  padding: 46px 3vw 50px;
  display: grid;
  gap: 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: .35s ease;
  visibility: hidden;
}

.site-menu.is-open {
  transform: none;
  visibility: visible;
}

.site-menu a {
  font-family: var(--serif);
  font-size: 25px;
  padding: 17px 0;
  border-bottom: 1px solid #454540;
}

.site-menu a span {
  font-family: var(--sans);
  font-size: 9px;
  margin-right: 30px;
  color: #8f8f87;
}

.hero {
  min-height: calc(100vh - 76px);
  padding: 40px 3.2vw 30px;
  display: grid;
  grid-template-columns: repeat(12,1fr);
  grid-template-rows: auto auto minmax(280px,1fr) auto;
  gap: 20px;
}

.hero-kicker {
  grid-column: 1/-1;
  display: flex;
  justify-content: space-between;
  font-size: 9px;
  letter-spacing: .2em;
}

.hero-title {
  grid-column: 1/10;
  margin: 3vh 0 2vh;
  font-family: var(--serif);
  font-size: clamp(42px,6.8vw,102px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.045em;
  position: relative;
  z-index: 2;
}

.hero-title em {
  font-style: normal;
  color: var(--accent);
}

.hero-image {
  grid-column: 4/-1;
  min-height: 34vw;
}

.media-frame {
  background-image: var(--image);
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}

.media-frame.has-image .placeholder {
  display: none;
}

.placeholder {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(135deg,transparent 0,transparent 23px,rgba(128,123,111,.1) 24px),#d8d4ca;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px;
  color: #222;
}

.placeholder span,
.placeholder small {
  font-size: 8px;
  letter-spacing: .2em;
}

.placeholder b {
  font-size: clamp(15px,2.5vw,38px);
  line-height: 1;
  letter-spacing: -.03em;
}

.hero-caption {
  grid-column: 1/4;
  align-self: end;
  font-size: 9px;
  letter-spacing: .12em;
}

.hero-caption p {
  font-family: var(--serif);
  font-size: 13px;
  line-height: 2;
  letter-spacing: .03em;
  margin: 18px 0 0;
}

.scroll-cue {
  grid-column: 12;
  align-self: end;
  justify-self: end;
  writing-mode: vertical-rl;
  font-size: 8px;
  letter-spacing: .18em;
}

.scroll-cue span {
  margin-top: 12px;
  color: var(--accent);
}

.section-index {
  font-size: 9px;
  letter-spacing: .22em;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid currentColor;
  padding-top: 12px;
}

.introduction {
  min-height: 1100px;
  padding: 150px 3.2vw;
  display: grid;
  grid-template-columns: repeat(12,1fr);
  gap: 20px;
  position: relative;
}

.introduction>.section-index {
  grid-column: 1/4;
}

.intro-copy {
  grid-column: 5/12;
}

.eyebrow {
  font-size: 9px;
  letter-spacing: .2em;
  margin: 0 0 35px;
}

.intro-copy h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(30px,4.1vw,60px);
  line-height: 1.55;
  letter-spacing: -.035em;
  margin: 0;
}

.intro-body {
  margin: 80px 0 0 auto;
  width: 55%;
  font-family: var(--serif);
  font-size: 14px;
  line-height: 2.25;
}

.intro-body p+ p {
  margin-top: 28px;
}

.message-figure {
  grid-column: 2/7;
  width: 75%;
  margin: 120px 0 0;
}

.message-figure .media-frame {
  aspect-ratio: 3/4.6;
}

.message-figure figcaption,
.work-media figcaption,
.final-figure figcaption {
  font-size: 8px;
  letter-spacing: .15em;
  margin-top: 10px;
}

.exhibition-head {
  padding: 85px 3.2vw 95px;
  display: grid;
  grid-template-columns: repeat(12,1fr);
  gap: 20px;
}

.exhibition-head>.section-index {
  grid-column: 1/-1;
  margin-bottom: 75px;
}

.exhibition-title {
  grid-column: 2/10;
}

.exhibition-title>p {
  font-size: 10px;
  letter-spacing: .15em;
}

.exhibition-title h2 {
  font-family: var(--serif);
  font-size: clamp(36px,5.5vw,78px);
  font-weight: 400;
  line-height: 1.35;
  margin: 35px 0 0;
}

.exhibition-info {
  grid-column: 11/-1;
  align-self: end;
  border-top: 1px solid #555;
  padding-top: 15px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  font-size: 8px;
  letter-spacing: .14em;
}

.exhibition-info p,
.exhibition-info b {
  margin: 0;
}

.exhibition-info b {
  font-weight: 400;
  color: #aaa;
}

.work {
  min-height: 850px;
  padding: 90px 3.2vw;
  display: grid;
  grid-template-columns: repeat(12,1fr);
  gap: 20px;
  position: relative;
  border-bottom: 1px solid var(--line);
}

.work-number {
  grid-column: 1/2;
}

.work-number span {
  display: block;
  font-size: 8px;
  letter-spacing: .2em;
}

.work-number b {
  font-size: 54px;
  font-weight: 300;
  line-height: 1.1;
}

.work-copy .en {
  font-size: 9px;
  letter-spacing: .2em;
  margin: 0 0 17px;
}

.work-copy h3 {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 500;
  margin: 0 0 60px;
}

.work-copy .question {
  font-family: var(--serif);
  font-size: clamp(25px,3.2vw,46px);
  line-height: 1.65;
  letter-spacing: -.035em;
  margin: 0;
}

.work-copy .note {
  font-family: var(--serif);
  font-size: 13px;
  line-height: 2.15;
  width: 65%;
  margin: 55px 0 0 auto;
}

.work-media {
  margin: 0;
}

.work-01 .work-copy {
  grid-column: 2/7;
  margin-top: 11vw;
}

.work-01 .work-media {
  grid-column: 8/12;
  align-self: start;
}

.media-square .media-frame {
  aspect-ratio: 1;
}

.work-02 .work-media {
  grid-column: 1/8;
  margin-top: 11vw;
}

.media-landscape .media-frame {
  aspect-ratio: 16/8;
}

.work-02 .work-copy {
  grid-column: 9/-1;
}

.work-03 {
  min-height: 1050px;
}

.work-03 .work-copy {
  grid-column: 2/7;
}

.work-03 .work-media {
  grid-column: 8/11;
  align-self: end;
}

.media-portrait .media-frame {
  aspect-ratio: 2/3.3;
}

.accent-section {
  background: var(--accent);
  color: var(--white);
  min-height: 760px;
}

.work-04 .work-media {
  grid-column: 2/6;
  margin-top: 200px;
}

.media-small .media-frame {
  aspect-ratio: 16/7;
}

.work-04 .work-copy {
  grid-column: 7/12;
  margin-top: 35px;
}

.work-05 {
  min-height: 1050px;
}

.work-05 .work-copy {
  grid-column: 2/8;
}

.work-05 .work-media {
  grid-column: 4/-1;
  align-self: end;
}

.media-wide .media-frame {
  aspect-ratio: 18/7;
}

.work-06 {
  min-height: 900px;
}

.work-06 .work-media {
  grid-column: 2/5;
  margin-top: 230px;
}

.media-mini-square {
  width: 75%;
}

.media-mini-square .media-frame {
  aspect-ratio: 1;
}

.work-06 .work-copy {
  grid-column: 6/12;
  margin-top: 50px;
}

.final-statement {
  padding: 140px 3.2vw 180px;
  display: grid;
  grid-template-columns: repeat(12,1fr);
  gap: 20px;
}

.final-statement>.section-index {
  grid-column: 1/4;
}

.statement-copy {
  grid-column: 5/-1;
}

.statement-copy>p {
  font-size: 9px;
  letter-spacing: .2em;
}

.statement-copy h2 {
  font-family: var(--serif);
  font-size: clamp(32px,5vw,72px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -.04em;
  margin: 40px 0 100px;
}

.final-figure {
  grid-column: 1/-1;
  margin: 0;
}

.final-figure .media-frame {
  aspect-ratio: 20/8;
}

.statement-body {
  grid-column: 5/11;
  font-family: var(--serif);
  font-size: 17px;
  line-height: 2.3;
  margin: 100px 0 0;
}

.contact {
  padding: 90px 3.2vw 100px;
  display: grid;
  grid-template-columns: repeat(12,1fr);
  gap: 20px;
  min-height: 700px;
}

.contact-label {
  grid-column: 1/-1;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #555;
  padding-top: 12px;
  font-size: 8px;
  letter-spacing: .2em;
}

.contact-main {
  grid-column: 2/9;
  margin-top: 100px;
}

.contact-main>p:first-child {
  font-size: 9px;
  letter-spacing: .18em;
}

.contact-main h2 {
  font-family: var(--serif);
  font-size: clamp(42px,6vw,82px);
  line-height: 1.4;
  font-weight: 400;
  margin: 28px 0 45px;
}

.contact-main>p:not(:first-child) {
  font-family: var(--serif);
  font-size: 14px;
  line-height: 2;
  width: 70%;
}

.contact-link {
  margin-top: 55px;
  padding: 20px 0;
  border-top: 1px solid #777;
  border-bottom: 1px solid #777;
  display: flex;
  justify-content: space-between;
  width: 65%;
  font-family: var(--serif);
  font-size: 15px;
}

.contact-link i {
  font-style: normal;
  color: var(--accent);
  font-size: 24px;
  transition: transform .25s;
}

.contact-link:hover i {
  transform: translate(5px,-5px);
}

.contact-hours {
  grid-column: 10/-1;
  align-self: end;
  font-size: 8px;
  letter-spacing: .17em;
}

.contact-hours p {
  border-top: 1px solid #555;
  padding-top: 11px;
  margin: 20px 0 8px;
}

.contact-hours b {
  font-weight: 400;
  color: #aaa;
  line-height: 1.8;
}

.site-footer {
  padding: 35px 3.2vw;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: end;
  gap: 20px;
}

.site-footer p {
  font-size: 8px;
  letter-spacing: .16em;
  margin: 0;
}

.site-footer p:last-child {
  text-align: right;
}

.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media(prefers-reduced-motion:reduce) {
  .cudiora-site {
    scroll-behavior: auto;
  }

  .cudiora-site .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

}

@media(max-width:760px) {
  .site-header {
    height: 64px;
    padding: 0 20px;
    grid-template-columns: 1fr auto;
  }

  .header-meta {
    display: none;
  }

  .site-menu {
    top: 64px;
    padding: 35px 20px;
  }

  .hero {
    min-height: calc(100svh - 64px);
    padding: 26px 20px 22px;
    grid-template-columns: repeat(6,1fr);
    grid-template-rows: auto auto minmax(280px,1fr) auto;
  }

  .hero-title {
    grid-column: 1/-1;
    font-size: clamp(39px,12vw,61px);
    margin: 4vh 0 1vh;
  }

  .hero-image {
    grid-column: 2/-1;
    min-height: 48vh;
  }

  .hero-caption {
    grid-column: 1/5;
  }

  .hero-caption p {
    font-size: 11px;
  }

  .scroll-cue {
    grid-column: 6;
  }

  .introduction {
    min-height: auto;
    padding: 100px 20px 120px;
    grid-template-columns: repeat(6,1fr);
    gap: 14px;
  }

  .introduction>.section-index {
    grid-column: 1/4;
  }

  .intro-copy {
    grid-column: 1/-1;
    margin-top: 55px;
  }

  .intro-copy h2 {
    font-size: 32px;
  }

  .intro-body {
    width: 72%;
    margin-top: 60px;
  }

  .message-figure {
    grid-column: 1/5;
    width: 88%;
    margin-top: 90px;
  }

  .exhibition-head {
    padding: 70px 20px 75px;
    grid-template-columns: repeat(6,1fr);
    gap: 14px;
  }

  .exhibition-head>.section-index {
    margin-bottom: 50px;
  }

  .exhibition-title {
    grid-column: 1/-1;
  }

  .exhibition-title h2 {
    font-size: 37px;
  }

  .exhibition-info {
    grid-column: 4/-1;
    margin-top: 60px;
  }

  .work {
    min-height: auto;
    padding: 80px 20px 110px;
    grid-template-columns: repeat(6,1fr);
    gap: 14px;
  }

  .work-number {
    grid-column: 1/2;
  }

  .work-number b {
    font-size: 41px;
  }

  .work-copy h3 {
    margin-bottom: 38px;
  }

  .work-copy .question {
    font-size: 26px;
    line-height: 1.65;
  }

  .work-copy .note {
    width: 77%;
    margin-top: 40px;
  }

  .work-01 .work-copy {
    grid-column: 1/-1;
    margin-top: 70px;
  }

  .work-01 .work-media {
    grid-column: 2/-1;
    margin-top: 75px;
  }

  .work-02 .work-media {
    grid-column: 1/-1;
    margin-top: 70px;
    order: 3;
  }

  .work-02 .work-copy {
    grid-column: 1/-1;
    margin-top: 65px;
  }

  .work-03 {
    min-height: auto;
  }

  .work-03 .work-copy {
    grid-column: 1/-1;
    margin-top: 70px;
  }

  .work-03 .work-media {
    grid-column: 3/7;
    margin-top: 80px;
  }

  .accent-section {
    min-height: auto;
  }

  .work-04 .work-media {
    grid-column: 1/5;
    margin-top: 80px;
    order: 3;
  }

  .work-04 .work-copy {
    grid-column: 1/-1;
    margin-top: 60px;
  }

  .work-05 {
    min-height: auto;
  }

  .work-05 .work-copy {
    grid-column: 1/-1;
    margin-top: 70px;
  }

  .work-05 .work-media {
    grid-column: 1/-1;
    margin-top: 85px;
  }

  .media-wide .media-frame {
    aspect-ratio: 14/8;
  }

  .work-06 {
    min-height: auto;
  }

  .work-06 .work-media {
    grid-column: 1/4;
    width: 90%;
    margin-top: 90px;
    order: 3;
  }

  .work-06 .work-copy {
    grid-column: 1/-1;
    margin-top: 65px;
  }

  .final-statement {
    padding: 100px 20px 120px;
    grid-template-columns: repeat(6,1fr);
    gap: 14px;
  }

  .final-statement>.section-index {
    grid-column: 1/4;
  }

  .statement-copy {
    grid-column: 1/-1;
    margin-top: 65px;
  }

  .statement-copy h2 {
    font-size: 32px;
    margin: 30px 0 75px;
  }

  .final-figure {
    grid-column: 1/-1;
  }

  .final-figure .media-frame {
    aspect-ratio: 12/7;
  }

  .statement-body {
    grid-column: 2/-1;
    font-size: 14px;
    margin-top: 70px;
  }

  .contact {
    padding: 70px 20px 80px;
    grid-template-columns: repeat(6,1fr);
    min-height: auto;
  }

  .contact-main {
    grid-column: 1/-1;
    margin-top: 80px;
  }

  .contact-main h2 {
    font-size: 46px;
  }

  .contact-main>p:not(:first-child),
  .contact-link {
    width: 85%;
  }

  .contact-hours {
    grid-column: 3/-1;
    margin-top: 90px;
  }

  .site-footer {
    padding: 30px 20px;
    grid-template-columns: 1fr auto;
  }

  .site-footer>p:nth-child(2) {
    display: none;
  }

}

/* Final heading sizes — Elementor/theme overrides */
body .elementor .cudiora-site .hero-title,
body .cudiora-site h1.hero-title {
  font-size: clamp(34px, 5vw, 72px) !important;
  line-height: 1.3 !important;
}

body .elementor .cudiora-site h2,
body .cudiora-site h2 {
  font-size: clamp(26px, 3.2vw, 46px) !important;
}

@media screen and (max-width: 760px)  {
  body .elementor .cudiora-site .hero-title,
  body .cudiora-site h1.hero-title {
    font-size: 34px !important;
  }

  body .elementor .cudiora-site h2,
  body .cudiora-site h2 {
    font-size: 26px !important;
  }

}


.cudiora-site h2#hero-title.hero-title {
  font-size: clamp(24px, 3.2vw, 42px) !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 760px) {
  .cudiora-site h2#hero-title.hero-title {
    font-size: 20px !important;
  }
}/* End custom CSS */
/* Start custom CSS */<style>
/* =========================================================
   CUDIORA 日本語文字・可読性の共通補正

   目的
   ・英文の細く静かなデザインは維持する
   ・日本語本文だけを一段太くする
   ・薄すぎる文字色を濃くする
   ・スマートフォンでは文字を小さくしすぎない

   このCSSは、ページ内の既存コードより後ろに置きます。
========================================================= */


/* =========================================================
   1. 日本語本文の共通フォント設定
========================================================= */

.cd-about__copy-ja,
.cd-works__intro-copy,
.cd-works__description,
.cudiora-hero__statement {
  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "YuGothic",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;

  /* 通常の400では細いため、Medium相当へ変更 */
  font-weight: 500;

  /* 日本語は少し詰め、文章のまとまりを良くする */
  letter-spacing: 0.015em;

  /* 背景とのコントラストを確保 */
  opacity: 1;

  /* Windows環境での文字表示を安定させる */
  -webkit-font-smoothing: auto;
  text-rendering: optimizeLegibility;
}


/* =========================================================
   2. 白背景に置かれる日本語本文
========================================================= */

.cd-works__intro-copy {
  color: #1b1b1b;
}

.cd-works__description {
  /* 従来の薄いグレーから、読みやすい濃さへ変更 */
  color: rgba(17, 17, 17, 0.78);
}


/* =========================================================
   3. 黒背景に置かれる日本語本文
========================================================= */

.cd-about__copy-ja {
  /* 純白より少し柔らかいが、十分に読める色 */
  color: rgba(244, 241, 235, 0.92);
}


/* =========================================================
   4. ヒーロー下部の日本語
========================================================= */

.cudiora-hero__statement {
  color: rgba(17, 17, 17, 0.84);
}


/* =========================================================
   5. PCでの本文サイズ
========================================================= */

.cd-about__copy-ja,
.cd-works__intro-copy {
  font-size: clamp(17px, 1.25vw, 20px);
  line-height: 1.95;
}

.cd-works__description {
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.9;
}

.cudiora-hero__statement {
  font-size: clamp(14px, 1vw, 16px);
  line-height: 1.85;
}


/* =========================================================
   6. 小さな日本語が入る可能性のある要素
========================================================= */

.cd-about__number,
.cd-works__intro-index,
.cd-works__category,
.cd-works__footer-label {
  font-weight: 500;
}


/* =========================================================
   7. iPad横向き・小型ノートPC
   1024px以下
========================================================= */

@media (max-width: 1024px) {

  .cd-about__copy-ja,
  .cd-works__intro-copy {
    font-size: 17px;
    line-height: 1.95;
  }

  .cd-works__description {
    font-size: 15px;
    line-height: 1.9;
  }

  .cudiora-hero__statement {
    font-size: 14px;
    line-height: 1.8;
  }
}


/* =========================================================
   8. iPad縦向き・iPad mini
   834px以下
========================================================= */

@media (max-width: 834px) {

  .cd-about__copy-ja,
  .cd-works__intro-copy {
    font-size: 17px;
    font-weight: 500;
    line-height: 1.95;
  }

  .cd-works__description {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.9;
  }
}


/* =========================================================
   9. スマートフォン
   560px以下

   スマホでは15px以下にしない
========================================================= */

@media (max-width: 560px) {

  .cd-about__copy-ja,
  .cd-works__intro-copy {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.9;
    letter-spacing: 0.01em;
  }

  .cd-works__description {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.85;
    color: rgba(17, 17, 17, 0.82);
  }

  .cudiora-hero__statement {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
  }
}


/* =========================================================
   10. Windowsで游ゴシックが細く表示される場合の補正

   CSSのtext-shadowを極めて薄く加え、
   文字の線が消えるのを防ぎます。
========================================================= */

@media screen and (-ms-high-contrast: active),
       screen and (-ms-high-contrast: none) {

  .cd-about__copy-ja,
  .cd-works__intro-copy,
  .cd-works__description,
  .cudiora-hero__statement {
    text-shadow: 0 0 0.01px currentColor;
  }
}


/* =========================================================
   CUDIORA 日本語文字 共通補正CSS

   目的
   ・日本語本文が細く、薄く見える問題をまとめて修正
   ・英文見出しの細さは維持
   ・PC、iPad、iPad mini、スマホに対応

   このCSSは、既存の各セクションCSSより後ろに置きます。
========================================================= */


/* =========================================================
   1. 日本語本文の基本設定
========================================================= */

.cudiora-hero__statement,
.cd-about__copy-ja,
.cd-works__intro-copy,
.cd-works__description,
.cd-thinking__copy,
.cd-process__copy,
.cd-services__copy,
.cd-contact__copy {
  font-family:
    "Noto Sans JP",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif !important;

  /* 游ゴシック400の細さを避ける */
  font-weight: 500 !important;

  /* 日本語の文字間を広げすぎない */
  letter-spacing: 0.015em !important;

  /* 文字の透明度を解除 */
  opacity: 1 !important;

  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: auto;
}


/* =========================================================
   2. 白背景に置かれる日本語
========================================================= */

.cudiora-hero__statement,
.cd-works__intro-copy,
.cd-works__description,
.cd-thinking__copy,
.cd-process__copy,
.cd-services__copy,
.cd-contact__copy {
  color: #1a1a1a !important;
}


/* =========================================================
   3. 黒背景に置かれる日本語
========================================================= */

.cd-about__copy-ja {
  color: #f4f1eb !important;
}


/* =========================================================
   4. ヒーローの日本語ステートメント
========================================================= */

.cudiora-hero__statement {
  font-size: clamp(17px, 1.25vw, 20px) !important;
  font-weight: 600 !important;
  line-height: 1.9 !important;
}


/* =========================================================
   5. 日本語の主要本文
========================================================= */

.cd-about__copy-ja,
.cd-works__intro-copy,
.cd-thinking__copy,
.cd-process__copy,
.cd-services__copy,
.cd-contact__copy {
  font-size: clamp(17px, 1.2vw, 20px) !important;
  line-height: 1.95 !important;
}


/* =========================================================
   6. 作品説明などの補足本文
========================================================= */

.cd-works__description {
  font-size: clamp(15px, 1.05vw, 17px) !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;

  /* 補足文も薄くしすぎない */
  color: #333333 !important;
}


/* =========================================================
   7. 日本語の小見出し・短い強調文
========================================================= */

.cd-ja-heading,
.cd-ja-lead,
.cd-ja-subtitle {
  font-family:
    "Noto Sans JP",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif !important;

  color: inherit;
  opacity: 1 !important;
}

.cd-ja-heading {
  font-weight: 700 !important;
}

.cd-ja-lead {
  font-weight: 600 !important;
}

.cd-ja-subtitle {
  font-weight: 600 !important;
}


/* =========================================================
   8. 日本語を含む可能性がある小さな文字
========================================================= */

.cd-about__number,
.cd-works__intro-index,
.cd-works__category,
.cd-works__footer-label {
  font-weight: 500 !important;
  opacity: 1 !important;
}


/* =========================================================
   9. iPad・iPad mini
   1024px以下
========================================================= */

@media (max-width: 1024px) {

  .cudiora-hero__statement {
    font-size: 18px !important;
    line-height: 1.9 !important;
  }

  .cd-about__copy-ja,
  .cd-works__intro-copy,
  .cd-thinking__copy,
  .cd-process__copy,
  .cd-services__copy,
  .cd-contact__copy {
    font-size: 17px !important;
    line-height: 1.95 !important;
  }

  .cd-works__description {
    font-size: 15px !important;
    line-height: 1.9 !important;
  }
}


/* =========================================================
   10. スマートフォン
   560px以下
========================================================= */

@media (max-width: 560px) {

  .cudiora-hero__statement {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.85 !important;
  }

  .cd-about__copy-ja,
  .cd-works__intro-copy,
  .cd-thinking__copy,
  .cd-process__copy,
  .cd-services__copy,
  .cd-contact__copy {
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.9 !important;
    letter-spacing: 0.01em !important;
  }

  .cd-works__description {
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.85 !important;
    color: #303030 !important;
  }
}
/* ==================================================
   WORKS 日本語説明を強制的に読みやすくする
================================================== */

.cd-works__intro-copy,
.cd-works__description {

    color: #1a1a1a !important;

    font-weight: 500 !important;

    opacity: 1 !important;

    letter-spacing: 0.02em !important;

    line-height: 1.95 !important;
}
</style>/* End custom CSS */