/* ======================================================================
   Base reset (modern)
   ====================================================================== */
*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
  all: unset;
  display: revert;
}

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

:where([hidden]:not([hidden=until-found])) { display: none !important; }

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
}
@supports not (min-block-size: 100dvb) {
  :where(html) { block-size: 100%; }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) { scroll-behavior: smooth; }
}

:where(body) {
  block-size: 100dvb;
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(input, button, textarea, select) { font: inherit; color: inherit; }
:where(textarea) { resize: vertical; }
:where(button, label, select, summary, [role=button], [role=option]) { cursor: pointer; }
:where(:disabled),
:where(label:has(> input:disabled), label:has(+ input:disabled)) { cursor: not-allowed; }
:where(button) { border-style: none; }
:where(a) { text-underline-offset: 0.2ex; }
:where(ul, ol) { list-style: none; }
:where(img, svg, video, canvas, audio, iframe, embed, object) { display: block; }
:where(img, picture, svg) { max-inline-size: 100%; block-size: auto; }
:where(table) { border-collapse: collapse; }
:where(p, h1, h2, h3, h4, h5, h6) { overflow-wrap: break-word; }
:where(h1, h2, h3) { line-height: calc(1em + 0.5rem); }
:where(hr) {
  border: 0;
  border-block-start: 1px solid currentColor;
  block-size: 0;
  overflow: visible;
}
:where(:focus-visible) {
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}
:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ======================================================================
   Theme variables
   ====================================================================== */
:root{
  --bg-primary:#f6f6f6;
  --bg-secondary:#2dca6f;
  --bg-tertiary:#fce94a;

  --color-white:#ffffff;
  --color-black:#302f2f;

  --color1:#ff0000;
  --color3:#d91010;
  --color4:#a9a064;
  --color5:#666666;
  --color6:#cccccc;
  --color7:#f4f4f4;
  --color8:#a6a6a6;
  --color9:#202020;
  --color10:#4c4c4c;

  --fodRed:#bf0000;        --fodRed-dark:#980000;      --fodRed-light:#dd0000;
  --fodGold:#ac9769;       --fodGold-dark:#87703a;     --fodGold-light:#dbc18b;
  --fodBlack:#181c23;      --fodBlack-dark:#000000;    --fodBlack-light:#383c43;
  --fodNavy:#222d3f;       --fodNavy-dark:#1a202a;     --fodNavy-light:#314462;

  --c-link:#a9a064;        /* 重複定義を統一 */
  --c-border:#ccc;
  --c-border-dark:#3a3a3a;
  --c-note-primary:#ccc;
  --c-note-secondary:#666;
  --whiteSecondary:#a6a6a6;
}

/* ======================================================================
   Base
   ====================================================================== */
body{
  background:var(--bg-primary);
  color:var(--color-white);
  font-family:"Noto Sans JP", system-ui, sans-serif;
  font-weight:400;
  line-height:1.5;
  font-size:clamp(14px, 3.182vw, 16px);
  position:relative;
  text-align:center;
}

a{
  line-height:1;
  cursor:pointer;
  transition:transform .2s ease;
}
@media (hover:hover) and (pointer:fine){
  a:hover{ transform:translateY(-3px); }
}

picture{ display:inline-block; }
picture img{ width:100%; pointer-events:none; }

/* ======================================================================
   Layout
   ====================================================================== */
.l-main{ position:relative; overflow:hidden; }
@media (min-width:768px){
  .l-main{ padding-top: min(10vw, 90px); }
}

.l-section{ width:100%; padding:clamp(60px, 13.636vw, 100px) 0; margin:0; }
.l-container{ width:min(95%, 1240px); margin:0 auto; }

.l-header{ background:#fff; }
@media (min-width:768px){
  .l-header{
    position:fixed; top:0; left:0; width:100%; z-index:200;
  }
}

.header__inner{
  width:min(98%, 1280px);
  padding:clamp(4px, .909vw, 10px) 0;
  margin:auto;
  text-align:center;
}
@media (min-width:768px){
  .header__inner{
    display:flex;
    align-items:center;
    justify-content:space-between; /* ← 誤っていた flex-flow を修正 */
    gap:10px;
  }
}

.siteLogo{ width:min(100%, 354px); margin:auto; }
@media (min-width:768px){ .siteLogo{ margin-left:0; } }

.headerCta{
  width:min(100%, 680px);
  display:flex; justify-content:center; gap:2%;
  background:#fff;
}
@media (max-width:767px){
  .headerCta{
    position:fixed; bottom:0; left:0; width:100%;
    padding:2%; z-index:200;
  }
}

.l-footer{
  background:#27b663;
  padding:clamp(10px, 2.273vw, 27px) 0;
  text-align:center;
}
@media (max-width:767px){
  .l-footer{ padding-bottom:clamp(80px, 18.182vw, 218px); }
}

.footerNav{ margin:0 0 clamp(10px, 2.273vw, 10px); }

.copyright{
  text-align:center;
  font-size:clamp(10px, 2.273vw, 12px);
  letter-spacing:.05em;
}

.c-title{ margin:0 auto clamp(20px, 4.545vw, 40px); width:min(100%, 800px); }
.c-image + .c-image{ margin-top:clamp(20px, 4.545vw, 55px); }

/* ======================================================================
   Sections
   ====================================================================== */
.mv{ margin:0 auto; }
.mv__image{ display:block; overflow:hidden; position:relative; }
@media (min-width:768px){
  .mv__image{ width:100%; height:min(40vw, 463px); }
  .mv__image img{
    object-fit:cover;
    width:2560px;
    height:min(40vw, 463px);
  }
}

.cta{ background:var(--bg-secondary); padding:clamp(40px, 9.091vw, 80px); }
.point{ background:var(--bg-tertiary); }
.reason{ background:var(--bg-tertiary); }
.compare{ background:#fff; }
.review{ background:#edfcf4; }

/* ======================================================================
   Content blocks
   ====================================================================== */
.content_001{
  text-align:center;
  background:#73ad8c;
  padding:150px 0 50px;
  color:#555;
}
.content_inner{
  width:1200px; background:#fff; margin:0 auto; padding:50px 10px;
}
h2{
  border-bottom:2px dashed #73ad8c;
  font-size:35px !important;
  padding-bottom:30px;
  font-weight:bold;
  color:#73ad8c;
}
h3{
  border-bottom:2px dashed #73ad8c;
  font-size:20px !important;
  font-weight:bold;
  color:#73ad8c;
  text-align:left;
  padding:20px;
}
.content_inner02{ padding-top:30px; text-align:left; }
.content_inner02 p{ font-size:16px; color:#555; }

@media (max-width:768px){
  .content_001{ padding-top:50px; }
  .content_inner{ width:95%; padding:30px 10px; }
  h2{ font-size:23px !important; padding-bottom:15px; }
  .content_inner02{ padding-top:15px; }
  .content_inner02 p{ font-size:15px; }
}

/* ======================================================================
   Tables
   ====================================================================== */
table{
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
  font-size:100%;
  vertical-align:baseline;
}
tr{
  margin:0; padding:0; border:0; outline:0;
  font-size:100%; vertical-align:baseline;
}
th{
  border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;
}
.tbl01 th{
  padding:2% 4%;
  text-align:center;
  border-bottom:1px dotted #dedede;
  display:block;
}
.tbl01 td{
  padding:2% 4%;
  text-align:left;
  border-bottom:2px solid #dedede;
  display:block;
}
tbody{ margin:0 auto; }

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