/* TOP */

/* ---------- MV（固定画像） ---------- */
.mv { position: relative; display: flex; align-items: center; aspect-ratio: 2400 / 1060; padding: calc(80 / var(--screen-w) * 100vw) calc(120 / var(--screen-w) * 100vw); background: var(--mvBg); overflow: hidden; isolation: isolate; }
.mvSlides { position: absolute; inset: 0; z-index: -1; background: var(--mvBg); }
.mvSlide { position: absolute; inset: 0; opacity: 0; animation: mvFade 21s ease-in-out infinite both; }
.mvSlide:nth-child(2) { animation-delay: 7s; }
.mvSlide:nth-child(3) { animation-delay: 14s; }
.mvSlide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 100% 50%; animation: mvZoom 21s var(--ease) infinite both; animation-delay: inherit; }
.mvSlides::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(244,243,243,.96) 0%, rgba(244,243,243,.82) 32%, rgba(244,243,243,0) 56%); }
@keyframes mvFade { 0% { opacity: 0; } 7% { opacity: 1; } 33.3% { opacity: 1; } 40.5% { opacity: 0; } 100% { opacity: 0; } }
@keyframes mvZoom { 0% { transform: scale(1.06); } 40.5% { transform: scale(1); } 100% { transform: scale(1); } }
.mvBody { position: relative; }
.mvEn { font-family: "Comfortaa", sans-serif; font-weight: 700; font-size: calc(12 / var(--screen-w) * 100vw); letter-spacing: .3em; color: var(--brown); }
.mvTitle { display: block; margin-top: calc(22 / var(--screen-w) * 100vw); font-weight: 700; }
.mvLogo img { width: calc(220 / var(--screen-w) * 100vw); }
.mvCatch { display: block; margin-top: calc(30 / var(--screen-w) * 100vw); font-size: calc(40 / var(--screen-w) * 100vw); line-height: 1.6; letter-spacing: .08em; color: var(--text); }
.marker { background: linear-gradient(transparent 62%, var(--marker) 62%); padding: 0 calc(4 / var(--screen-w) * 100vw); }
.mvBtns { display: flex; gap: calc(16 / var(--screen-w) * 100vw); margin-top: calc(44 / var(--screen-w) * 100vw); }
.mvScroll { position: absolute; left: calc(120 / var(--screen-w) * 100vw); bottom: calc(28 / var(--screen-w) * 100vw); display: flex; align-items: center; gap: calc(12 / var(--screen-w) * 100vw); font-family: "Comfortaa", sans-serif; font-size: calc(10 / var(--screen-w) * 100vw); letter-spacing: .25em; color: var(--textSub); }
.mvScrollLine { position: relative; display: block; width: calc(60 / var(--screen-w) * 100vw); height: 1px; background: var(--line); overflow: hidden; }
.mvScrollLine::after { content: ""; position: absolute; inset: 0; background: var(--text); transform: scaleX(0); transform-origin: left; animation: mvLine 2.8s var(--ease) infinite; }
@keyframes mvLine { 0% { transform: scaleX(0); transform-origin: left; } 45% { transform: scaleX(1); transform-origin: left; } 55% { transform: scaleX(1); transform-origin: right; } 100% { transform: scaleX(0); transform-origin: right; } }

.infoBar { display: flex; align-items: center; gap: calc(20 / var(--screen-w) * 100vw); padding: calc(14 / var(--screen-w) * 100vw) calc(140 / var(--screen-w) * 100vw); background: var(--beigeLight); border-bottom: 1px solid var(--line); font-size: calc(13 / var(--screen-w) * 100vw); }
.infoLabel { padding: 0 calc(12 / var(--screen-w) * 100vw); background: var(--brown); color: var(--white); font-size: calc(11 / var(--screen-w) * 100vw); line-height: 2; }
.infoBar a { text-decoration: underline; text-underline-offset: calc(3 / var(--screen-w) * 100vw); }
.infoDate { margin-left: auto; font-family: "Comfortaa", sans-serif; font-size: calc(12 / var(--screen-w) * 100vw); color: var(--textSub); }

/* ---------- イントロ ---------- */
.intro { padding: calc(90 / var(--screen-w) * 100vw) calc(140 / var(--screen-w) * 100vw) 0; text-align: center; }
.introTitle { font-size: calc(24 / var(--screen-w) * 100vw); font-weight: 500; line-height: 1.8; letter-spacing: .1em; }
.introText { margin-top: calc(24 / var(--screen-w) * 100vw); font-size: calc(14 / var(--screen-w) * 100vw); color: var(--textSub); }

/* ---------- 商品を選ぶ ---------- */
.productList { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(24 / var(--screen-w) * 100vw); margin-top: calc(44 / var(--screen-w) * 100vw); }
.productCard a { display: flex; flex-direction: column; height: 100%; background: var(--white); border: 1px solid var(--line); transition: border-color .5s var(--ease), box-shadow .5s var(--ease); }
.productCard a:hover { border-color: var(--beigeLine); box-shadow: 0 calc(10 / var(--screen-w) * 100vw) calc(24 / var(--screen-w) * 100vw) rgba(83,71,65,.1); }
.productImg { aspect-ratio: 4 / 3; overflow: hidden; background: #f0eeea; }
.productImg img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.productCard a:hover .productImg img { transform: scale(1.04); }
.productBody { display: flex; flex-direction: column; flex: 1; padding: calc(22 / var(--screen-w) * 100vw) calc(22 / var(--screen-w) * 100vw) calc(24 / var(--screen-w) * 100vw); text-align: center; }
.productTag { align-self: center; padding: 0 calc(12 / var(--screen-w) * 100vw); font-size: calc(11 / var(--screen-w) * 100vw); color: var(--brown); border: 1px solid var(--brown); border-radius: calc(20 / var(--screen-w) * 100vw); line-height: 1.9; }
.productName { margin-top: calc(12 / var(--screen-w) * 100vw); font-size: calc(20 / var(--screen-w) * 100vw); font-weight: 700; letter-spacing: .1em; }
.productSub { font-size: calc(12 / var(--screen-w) * 100vw); color: var(--textSub); }
.productText { margin-top: calc(12 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); line-height: 1.8; }
.productPrice { margin-top: auto; padding-top: calc(14 / var(--screen-w) * 100vw); font-size: calc(24 / var(--screen-w) * 100vw); font-weight: 500; color: var(--brown); line-height: 1.4; }
.productPrice small { font-size: calc(13 / var(--screen-w) * 100vw); }
.productPrice.isText { font-size: calc(16 / var(--screen-w) * 100vw); }
.productMore { display: block; margin-top: calc(14 / var(--screen-w) * 100vw); padding: calc(9 / var(--screen-w) * 100vw) 0; background: var(--beige); font-size: calc(13 / var(--screen-w) * 100vw); color: var(--brownDark); }

/* ---------- 流れ ---------- */
.flowRow { max-width: calc(1000 / var(--screen-w) * 100vw); margin: calc(48 / var(--screen-w) * 100vw) auto 0; }
.flowHead { display: flex; align-items: center; gap: calc(14 / var(--screen-w) * 100vw); }
.flowHead img { width: calc(82 / var(--screen-w) * 100vw); }
.flowLabel { padding: calc(2 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw); border: 1px solid var(--brown); font-size: calc(13 / var(--screen-w) * 100vw); color: var(--brown); }
.flowTime { margin-left: auto; font-size: calc(12 / var(--screen-w) * 100vw); color: var(--textSub); }
.flowSteps { display: grid; grid-template-columns: repeat(5, 1fr); gap: calc(24 / var(--screen-w) * 100vw); margin-top: calc(16 / var(--screen-w) * 100vw); }
.flowSteps li { position: relative; display: flex; flex-direction: column; align-items: center; padding: calc(18 / var(--screen-w) * 100vw) calc(10 / var(--screen-w) * 100vw) calc(14 / var(--screen-w) * 100vw); border: 1px solid var(--line); font-size: calc(13 / var(--screen-w) * 100vw); font-weight: 500; }
.flowSteps li img { width: calc(96 / var(--screen-w) * 100vw); }
.flowSteps li span { margin-top: calc(6 / var(--screen-w) * 100vw); }
.flowSteps li + li::before { content: ""; position: absolute; left: calc(-15 / var(--screen-w) * 100vw); top: 50%; border-left: calc(6 / var(--screen-w) * 100vw) solid var(--text); border-top: calc(5 / var(--screen-w) * 100vw) solid transparent; border-bottom: calc(5 / var(--screen-w) * 100vw) solid transparent; transform: translateY(-50%); }
.flowSteps li.isGoal span { color: var(--orangeRed); }
.flowOption { max-width: calc(1000 / var(--screen-w) * 100vw); margin: calc(40 / var(--screen-w) * 100vw) auto 0; padding: calc(24 / var(--screen-w) * 100vw) calc(32 / var(--screen-w) * 100vw); background: var(--beigeLight); }
.flowOptionTitle { font-size: calc(14 / var(--screen-w) * 100vw); font-weight: 500; }
.flowOptionTitle span { display: inline-block; margin-right: calc(14 / var(--screen-w) * 100vw); padding: 0 calc(14 / var(--screen-w) * 100vw); background: var(--orangeRed); color: var(--white); }
.flowOptionText { margin-top: calc(10 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); }

/* ---------- dekitaとは ---------- */
.about { padding-left: 0; }
.aboutInner { display: grid; grid-template-columns: calc(640 / var(--screen-w) * 100vw) 1fr; gap: calc(70 / var(--screen-w) * 100vw); align-items: center; padding: calc(70 / var(--screen-w) * 100vw) 0; background: linear-gradient(90deg, transparent calc(120 / var(--screen-w) * 100vw), var(--beigeLight) calc(120 / var(--screen-w) * 100vw)); }
.aboutImg img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.aboutBody { padding-right: calc(80 / var(--screen-w) * 100vw); }
.aboutCatch { margin-top: calc(30 / var(--screen-w) * 100vw); font-size: calc(26 / var(--screen-w) * 100vw); font-weight: 500; line-height: 1.7; letter-spacing: .12em; }
.aboutText { margin-top: calc(18 / var(--screen-w) * 100vw); font-size: calc(14 / var(--screen-w) * 100vw); }
.aboutPoints { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(12 / var(--screen-w) * 100vw); margin: calc(26 / var(--screen-w) * 100vw) 0 calc(32 / var(--screen-w) * 100vw); }
.aboutPoints li { padding: calc(14 / var(--screen-w) * 100vw) calc(10 / var(--screen-w) * 100vw); background: var(--white); text-align: center; font-size: calc(13 / var(--screen-w) * 100vw); line-height: 1.6; }
.pointNum { display: block; font-family: "Comfortaa", sans-serif; font-weight: 700; font-size: calc(18 / var(--screen-w) * 100vw); color: var(--brown); }

/* ---------- カード（実績） ---------- */
.cardList { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(24 / var(--screen-w) * 100vw); margin-top: calc(44 / var(--screen-w) * 100vw); }
.cardImg { aspect-ratio: 1 / 1; overflow: hidden; background: #f0eeea; }
.cardImg img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.card a:hover .cardImg img { transform: scale(1.04); }
.cardTitle { margin-top: calc(12 / var(--screen-w) * 100vw); font-size: calc(14 / var(--screen-w) * 100vw); font-weight: 700; line-height: 1.6; }
.cardMeta { margin-top: calc(4 / var(--screen-w) * 100vw); font-size: calc(12 / var(--screen-w) * 100vw); color: var(--textSub); line-height: 1.7; }

/* ---------- 住宅模型とは ---------- */
.whatis { margin-top: calc(110 / var(--screen-w) * 100vw); padding-bottom: calc(100 / var(--screen-w) * 100vw); background: var(--beigeLight); }
.useList { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(32 / var(--screen-w) * 100vw); margin-top: calc(48 / var(--screen-w) * 100vw); }
.useList li { background: var(--white); }
.useImg img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.useList h3 { padding: calc(20 / var(--screen-w) * 100vw) calc(24 / var(--screen-w) * 100vw) 0; font-size: calc(17 / var(--screen-w) * 100vw); font-weight: 700; color: var(--brown); }
.useList p { padding: calc(8 / var(--screen-w) * 100vw) calc(24 / var(--screen-w) * 100vw) calc(24 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); }

/* ---------- こんな方に ---------- */
.forList { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(20 / var(--screen-w) * 100vw); margin-top: calc(44 / var(--screen-w) * 100vw); }
.forList li { padding: calc(28 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) calc(26 / var(--screen-w) * 100vw); border-top: 3px solid var(--brown); background: var(--white); box-shadow: 0 0 0 1px var(--line) inset; text-align: center; }
.forEn { font-family: "Comfortaa", sans-serif; font-weight: 700; font-size: calc(13 / var(--screen-w) * 100vw); color: var(--orange); letter-spacing: .08em; }
.forList h3 { margin-top: calc(6 / var(--screen-w) * 100vw); font-size: calc(16 / var(--screen-w) * 100vw); font-weight: 700; }
.forList p:last-child { margin-top: calc(12 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); line-height: 1.8; color: var(--textSub); }

/* ---------- 比較表 ---------- */
.tableWrap { max-width: calc(1000 / var(--screen-w) * 100vw); margin: calc(40 / var(--screen-w) * 100vw) auto 0; }
.compareTable { width: 100%; border-collapse: collapse; font-size: calc(14 / var(--screen-w) * 100vw); }
.compareTable th, .compareTable td { padding: calc(16 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw); border-bottom: 1px solid var(--line); text-align: left; }
.compareTable thead th { background: var(--brown); color: var(--white); font-weight: 500; font-size: calc(13 / var(--screen-w) * 100vw); }
.compareTable tbody th { width: calc(170 / var(--screen-w) * 100vw); font-weight: 700; background: var(--beigeLight); }
.compareTable .price { font-weight: 700; color: var(--brown); white-space: nowrap; }
.tableNote { max-width: calc(1000 / var(--screen-w) * 100vw); margin: calc(14 / var(--screen-w) * 100vw) auto 0; font-size: calc(12 / var(--screen-w) * 100vw); color: var(--textSub); }

/* ---------- FAQ ---------- */
.faqList { max-width: calc(1000 / var(--screen-w) * 100vw); margin: calc(40 / var(--screen-w) * 100vw) auto 0; border-top: 1px solid var(--line); }
.faqList details { border-bottom: 1px solid var(--line); }
.faqList summary { position: relative; display: block; padding: calc(22 / var(--screen-w) * 100vw) calc(60 / var(--screen-w) * 100vw) calc(22 / var(--screen-w) * 100vw) calc(56 / var(--screen-w) * 100vw); font-size: calc(15 / var(--screen-w) * 100vw); font-weight: 500; cursor: pointer; list-style: none; }
.faqList summary::-webkit-details-marker { display: none; }
.faqList summary::before { content: "Q"; position: absolute; left: calc(14 / var(--screen-w) * 100vw); top: calc(18 / var(--screen-w) * 100vw); font-family: "Comfortaa", sans-serif; font-weight: 700; font-size: calc(20 / var(--screen-w) * 100vw); color: var(--brown); }
.faqList summary::after { content: ""; position: absolute; right: calc(22 / var(--screen-w) * 100vw); top: 50%; width: calc(9 / var(--screen-w) * 100vw); height: calc(9 / var(--screen-w) * 100vw); border-right: 1px solid var(--text); border-bottom: 1px solid var(--text); transform: translateY(-70%) rotate(45deg); transition: transform .5s var(--ease); }
.faqList details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.faqList details p { position: relative; padding: 0 calc(60 / var(--screen-w) * 100vw) calc(24 / var(--screen-w) * 100vw) calc(56 / var(--screen-w) * 100vw); font-size: calc(14 / var(--screen-w) * 100vw); color: var(--textSub); }
.faqList details p::before { content: "A"; position: absolute; left: calc(15 / var(--screen-w) * 100vw); top: calc(-4 / var(--screen-w) * 100vw); font-family: "Comfortaa", sans-serif; font-weight: 700; font-size: calc(20 / var(--screen-w) * 100vw); color: var(--orange); }

/* ---------- 新着情報 ---------- */
.newsList { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(28 / var(--screen-w) * 100vw); margin-top: calc(44 / var(--screen-w) * 100vw); }
.newsList a { display: block; }
.newsImg { aspect-ratio: 16 / 10; overflow: hidden; background: #f0eeea; }
.newsImg img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.newsImg.isLogo { display: flex; align-items: center; justify-content: center; background: var(--beigeLight); }
.newsImg.isLogo img { width: 36%; height: auto; object-fit: contain; }
.newsList a:hover .newsImg img { transform: scale(1.04); }
.newsBody { padding-top: calc(14 / var(--screen-w) * 100vw); }
.newsTitle { margin-top: calc(8 / var(--screen-w) * 100vw); font-size: calc(15 / var(--screen-w) * 100vw); font-weight: 500; line-height: 1.7; }
.newsDate { margin-top: calc(6 / var(--screen-w) * 100vw); font-family: "Comfortaa", sans-serif; font-size: calc(12 / var(--screen-w) * 100vw); color: var(--textSub); }

/* =============== SP =============== */
@media (max-width: 768px) {
  .mv { flex-direction: column; align-items: stretch; aspect-ratio: auto; padding: 0; background: var(--white); }
  .mvSlides { position: relative; inset: auto; z-index: 0; aspect-ratio: 4 / 3; }
  .mvSlide img { object-position: 50% 50%; }
  .mvSlides::after { display: none; }
  .mvBody { padding: calc(26 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) 0; }
  .mvEn { font-size: calc(10 / var(--screen-w) * 100vw); letter-spacing: .25em; }
  .mvTitle { margin-top: calc(10 / var(--screen-w) * 100vw); }
  .mvLogo img { width: calc(130 / var(--screen-w) * 100vw); }
  .mvCatch { margin-top: calc(12 / var(--screen-w) * 100vw); font-size: calc(26 / var(--screen-w) * 100vw); }
  .mvBtns { flex-direction: column; gap: calc(10 / var(--screen-w) * 100vw); margin-top: calc(22 / var(--screen-w) * 100vw); }
  .mvBtns .btn { min-width: 0; }
  .mvScroll { display: none; }

  .infoBar { flex-wrap: wrap; gap: calc(4 / var(--screen-w) * 100vw) calc(10 / var(--screen-w) * 100vw); margin-top: calc(28 / var(--screen-w) * 100vw); padding: calc(12 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw); font-size: calc(12 / var(--screen-w) * 100vw); }
  .infoDate { margin-left: 0; order: -1; }

  .intro { padding: calc(56 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) 0; }
  .introTitle { font-size: calc(19 / var(--screen-w) * 100vw); }
  .introText { margin-top: calc(16 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); text-align: left; }

  .productList { grid-template-columns: 1fr 1fr; gap: calc(12 / var(--screen-w) * 100vw); margin-top: calc(28 / var(--screen-w) * 100vw); }
  .productBody { padding: calc(14 / var(--screen-w) * 100vw) calc(10 / var(--screen-w) * 100vw) calc(14 / var(--screen-w) * 100vw); }
  .productTag { font-size: calc(10 / var(--screen-w) * 100vw); padding: 0 calc(8 / var(--screen-w) * 100vw); }
  .productName { margin-top: calc(8 / var(--screen-w) * 100vw); font-size: calc(16 / var(--screen-w) * 100vw); }
  .productSub { font-size: calc(11 / var(--screen-w) * 100vw); }
  .productText { display: none; }
  .productPrice { padding-top: calc(8 / var(--screen-w) * 100vw); font-size: calc(19 / var(--screen-w) * 100vw); }
  .productPrice small { font-size: calc(11 / var(--screen-w) * 100vw); }
  .productPrice.isText { font-size: calc(14 / var(--screen-w) * 100vw); }
  .productMore { margin-top: calc(10 / var(--screen-w) * 100vw); padding: calc(6 / var(--screen-w) * 100vw) 0; font-size: calc(12 / var(--screen-w) * 100vw); }

  .flowRow { margin-top: calc(32 / var(--screen-w) * 100vw); }
  .flowHead { flex-wrap: wrap; gap: calc(8 / var(--screen-w) * 100vw); }
  .flowHead img { width: calc(66 / var(--screen-w) * 100vw); }
  .flowLabel { font-size: calc(11 / var(--screen-w) * 100vw); }
  .flowTime { width: 100%; margin-left: 0; font-size: calc(11 / var(--screen-w) * 100vw); }
  .flowSteps { gap: calc(8 / var(--screen-w) * 100vw); margin-top: calc(10 / var(--screen-w) * 100vw); }
  .flowSteps li { padding: calc(8 / var(--screen-w) * 100vw) calc(2 / var(--screen-w) * 100vw) calc(6 / var(--screen-w) * 100vw); font-size: calc(9 / var(--screen-w) * 100vw); letter-spacing: 0; text-align: center; line-height: 1.4; }
  .flowSteps li img { width: calc(48 / var(--screen-w) * 100vw); }
  .flowSteps li + li::before { left: calc(-7 / var(--screen-w) * 100vw); border-left-width: calc(4 / var(--screen-w) * 100vw); border-top-width: calc(4 / var(--screen-w) * 100vw); border-bottom-width: calc(4 / var(--screen-w) * 100vw); }
  .flowOption { margin-top: calc(28 / var(--screen-w) * 100vw); padding: calc(18 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
  .flowOptionTitle { font-size: calc(13 / var(--screen-w) * 100vw); }
  .flowOptionTitle span { display: table; margin-bottom: calc(6 / var(--screen-w) * 100vw); }
  .flowOptionText { font-size: calc(12 / var(--screen-w) * 100vw); }

  .about { padding: calc(72 / var(--screen-w) * 100vw) 0 0; }
  .aboutInner { grid-template-columns: 1fr; gap: calc(28 / var(--screen-w) * 100vw); padding: 0 0 calc(44 / var(--screen-w) * 100vw); background: linear-gradient(180deg, transparent calc(80 / var(--screen-w) * 100vw), var(--beigeLight) calc(80 / var(--screen-w) * 100vw)); }
  .aboutImg { padding-right: calc(40 / var(--screen-w) * 100vw); }
  .aboutBody { padding: 0 calc(20 / var(--screen-w) * 100vw); }
  .aboutCatch { margin-top: calc(20 / var(--screen-w) * 100vw); font-size: calc(21 / var(--screen-w) * 100vw); }
  .aboutText { font-size: calc(13 / var(--screen-w) * 100vw); }
  .aboutPoints { gap: calc(6 / var(--screen-w) * 100vw); margin: calc(20 / var(--screen-w) * 100vw) 0 calc(26 / var(--screen-w) * 100vw); }
  .aboutPoints li { padding: calc(10 / var(--screen-w) * 100vw) calc(4 / var(--screen-w) * 100vw); font-size: calc(11 / var(--screen-w) * 100vw); }
  .pointNum { font-size: calc(15 / var(--screen-w) * 100vw); }
  .about .btn { width: 100%; min-width: 0; }

  .cardList { grid-template-columns: 1fr 1fr; gap: calc(20 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw); margin-top: calc(28 / var(--screen-w) * 100vw); }
  .cardTitle { font-size: calc(13 / var(--screen-w) * 100vw); }
  .cardMeta { font-size: calc(11 / var(--screen-w) * 100vw); }

  .whatis { margin-top: calc(72 / var(--screen-w) * 100vw); padding-bottom: calc(64 / var(--screen-w) * 100vw); }
  .useList { grid-template-columns: 1fr; gap: calc(16 / var(--screen-w) * 100vw); margin-top: calc(28 / var(--screen-w) * 100vw); }
  .useList li { display: grid; grid-template-columns: calc(120 / var(--screen-w) * 100vw) 1fr; }
  .useImg { grid-row: span 2; }
  .useImg img { height: 100%; aspect-ratio: auto; }
  .useList h3 { padding: calc(12 / var(--screen-w) * 100vw) calc(14 / var(--screen-w) * 100vw) 0; font-size: calc(14 / var(--screen-w) * 100vw); }
  .useList p { padding: calc(4 / var(--screen-w) * 100vw) calc(14 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw); font-size: calc(12 / var(--screen-w) * 100vw); line-height: 1.7; }

  .forList { grid-template-columns: 1fr 1fr; gap: calc(10 / var(--screen-w) * 100vw); margin-top: calc(28 / var(--screen-w) * 100vw); }
  .forList li { padding: calc(18 / var(--screen-w) * 100vw) calc(10 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
  .forEn { font-size: calc(11 / var(--screen-w) * 100vw); }
  .forList h3 { font-size: calc(13 / var(--screen-w) * 100vw); }
  .forList p:last-child { margin-top: calc(8 / var(--screen-w) * 100vw); font-size: calc(11 / var(--screen-w) * 100vw); text-align: left; }
  .forList br { display: none; }

  .tableWrap { margin-top: calc(28 / var(--screen-w) * 100vw); overflow-x: auto; }
  .compareTable { font-size: calc(12 / var(--screen-w) * 100vw); min-width: calc(560 / var(--screen-w) * 100vw); }
  .compareTable th, .compareTable td { padding: calc(12 / var(--screen-w) * 100vw) calc(10 / var(--screen-w) * 100vw); }
  .compareTable tbody th { width: calc(100 / var(--screen-w) * 100vw); }
  .tableNote { font-size: calc(11 / var(--screen-w) * 100vw); }

  .faqList { margin-top: calc(28 / var(--screen-w) * 100vw); }
  .faqList summary { padding: calc(16 / var(--screen-w) * 100vw) calc(40 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) calc(40 / var(--screen-w) * 100vw); font-size: calc(14 / var(--screen-w) * 100vw); line-height: 1.6; }
  .faqList summary::before { left: calc(8 / var(--screen-w) * 100vw); top: calc(14 / var(--screen-w) * 100vw); font-size: calc(17 / var(--screen-w) * 100vw); }
  .faqList summary::after { right: calc(14 / var(--screen-w) * 100vw); }
  .faqList details p { padding: 0 calc(14 / var(--screen-w) * 100vw) calc(18 / var(--screen-w) * 100vw) calc(40 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); }
  .faqList details p::before { left: calc(9 / var(--screen-w) * 100vw); font-size: calc(17 / var(--screen-w) * 100vw); }

  .newsList { grid-template-columns: 1fr; gap: 0; margin-top: calc(24 / var(--screen-w) * 100vw); border-top: 1px solid var(--line); }
  .newsList a { display: grid; grid-template-columns: calc(110 / var(--screen-w) * 100vw) 1fr; gap: calc(14 / var(--screen-w) * 100vw); padding: calc(14 / var(--screen-w) * 100vw) 0; border-bottom: 1px solid var(--line); }
  .newsBody { padding-top: 0; }
  .newsTitle { margin-top: calc(4 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); }
  .newsDate { margin-top: calc(2 / var(--screen-w) * 100vw); font-size: calc(11 / var(--screen-w) * 100vw); }
}
