/* --------------------------------------------------------------- PC - Header --------------------------------------------------------------- */ /* ヘッダーNav */ .site-header { position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 50; height: 70px; background: #fff; box-shadow: var(--shadow-header), inset 0 -1px 0 0 #ff8600; } /* ヘッダー内部 */ .site-header__inner { display: flex; align-items: stretch; height: 70px; padding: 0 0 0 calc(15px + 25px * var(--fluid-t)); width: 100%; max-width: none; margin: 0 auto; } /* ヘッダーLogo */ .site-header__logo { display: flex; align-items: center; flex: 0 0 220px; margin-right: 24px; } /* ヘッダーLogo画像 */ .site-header__logo img { display: block; width: 220px; height: auto; } /* ヘッダーお問い合わせ */ .site-header__contact { transition: opacity 0.6s ease; flex: 0 0 auto; align-self: stretch; display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin: 0; padding: 0 clamp(20px, 3vw, 40px); min-width: min(200px, 100%); background: linear-gradient(90deg, var(--color-blue-a), var(--color-blue-b)); color: #fff; font-weight: 600; font-size: 1.125rem; letter-spacing: 0.0225rem; } /* ヘッダーお問い合わせアイコン */ .site-header__contact-icon img { width: 28px; height: 28px; display: block; } /* PC版のみ (1024px超) */ @media (min-width: 1025px) { /* ヘッダー下線 */ .site-header { box-shadow: var(--shadow-header), 0 1px 0 0 #ff8600; } /* ヘッダーナビ */ .site-header__nav { flex: 1; display: flex; align-items: center; justify-content: center; min-width: 0; } /* SPドロワー要素とハンバーガーは非表示 */ .site-header__nav-panel, .site-header__hamburger { display: none !important; } /* ヘッダーお問い合わせ(PC版ホバー透過) */ .site-header__contact:hover { opacity: 0.8; } /* LP キャッチコピー */ .site-header__tagline { margin: 0; max-width: 100%; font-weight: 600; font-size: 0.9375rem; /* 固定サイズに変更 */ line-height: 1.34; color: var(--color-text); text-align: center; } /* ヘッダーナビリスト(HP版) */ .site-header__hp-list { display: flex; align-items: stretch; align-self: stretch; justify-content: center; flex-wrap: wrap; row-gap: 6px; column-gap: clamp(12px, 2vw, 28px); list-style: none; margin: 0; padding: 0; flex: 1; min-width: 0; } .site-header__hp-item { display: flex; align-items: stretch; position: relative; } /* ヘッダーナビリストアイテム(HP版) */ .site-header__hp-list a { display: flex; align-items: center; font-weight: 600; font-size: 0.875rem; line-height: 1.34; letter-spacing: 0.0175rem; white-space: nowrap; transition: color 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease; } /* ヘッダーナビリストアイテム(ホバー)(HP版) */ .site-header__hp-list a:hover { color: var(--color-orange); box-shadow: inset 0 -4px 0 0 var(--color-orange); } /* ------------------------------------- */ /* 第2階層メニュー (HP版) */ /* ------------------------------------- */ .site-header__hp-sublist { position: absolute; top: 100%; left: 0; width: max-content; min-width: 220px; background-color: var(--color-orange); border-radius: 8px; padding: 0 0 9px 0; margin: 0; list-style: none; opacity: 0; visibility: hidden; transition: opacity 0.6s ease, visibility 0.6s ease; z-index: 100; } /* 親ホバーで表示 */ .site-header__hp-item:hover .site-header__hp-sublist { opacity: 1; visibility: visible; } /* サブリンク(第2階層のaタグ) */ .site-header__hp-list .site-header__hp-sublist a.site-header__hp-sublink { display: flex; align-items: center; width: 100%; min-height: 50px; padding: 0 20px; color: #fff; font-weight: 500; font-size: 0.9375rem; box-shadow: none; /* トップ階層のホバー下線を打ち消す */ border-bottom: 1px dashed rgba(255, 255, 255, 0.5); /* SP版と同じ点線を白線で */ } /* サブリンクのホバー時 */ .site-header__hp-list .site-header__hp-sublist a.site-header__hp-sublink:hover { color: #fff; opacity: 0.7; box-shadow: none; } /* スクロールマージン */ #main-content, #point, #about, #reform, #price, #feauters, #flow, #faq { scroll-margin-top: 70px; } } /* --------------------------------------------------------------- PC - FV --------------------------------------------------------------- */ /* FV */ .fv { position: relative; width: 100%; height: calc(600px + 200px * var(--fluid-t)); background: #fff; border-radius: 0 0 calc(50px + 50px * var(--fluid-t)) calc(50px + 50px * var(--fluid-t)); overflow: hidden; box-shadow: 0 24px 48px rgba(71, 58, 28, calc(0.06 * var(--fluid-t))); } /* FVグリッド */ .fv__grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; width: 100%; height: 100%; min-height: 0; } /* FVセル */ .fv__cell { overflow: hidden; } /* FVセル画像 */ .fv__cell img { width: 100%; height: 100%; object-fit: cover; object-position: center; } /* FVリード */ .fv__lead { --fv-circle-size: clamp(300px, min(36vw, 48vh), 480px); position: absolute; inset: 0; z-index: 1; pointer-events: none; } /* FVリード円 */ .fv__lead-circle { position: absolute; width: var(--fv-circle-size); height: var(--fv-circle-size); top: 50%; left: 50%; transform: translate(-50%, -50%); margin-top: -10px; } /* FVリード円画像 */ .fv__lead-circle img { width: 100%; height: 100%; display: block; object-fit: contain; } /* FVリードコンテンツ */ .fv__lead-content { position: absolute; top: 50%; left: 50%; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; width: min(420px, 85vw, calc(var(--fv-circle-size) * 0.92)); max-width: min(420px, calc(var(--fv-circle-size) * 0.92)); margin-top: -44px; transform: translate(-50%, -50%); pointer-events: auto; } /* FVカウンター */ .fv__counter { position: relative; display: flex; align-items: center; justify-content: center; gap: 6px; flex-shrink: 0; } /* FVカウンターメイン */ .fv__counter-main { text-align: center; } /* FVカウンター月桂 */ .fv__counter-laurel img { width: clamp(24px, calc(var(--fv-circle-size) * 42 / 480), 42px); height: auto; max-height: min(119px, calc(var(--fv-circle-size) * 119 / 480)); display: block; } /* FVカウンター月桂右 */ .fv__counter-laurel--right img { transform: scaleX(-1); } /* FVカウンター数字 */ .fv__counter-value { margin: 0; font-family: var(--font-serif); font-weight: 700; font-size: clamp(3.90625rem, min(7.5vw, 10vh), 6.25rem); line-height: 1; background: linear-gradient(180deg, #f29125 28%, #fdd11a 100%); -webkit-background-clip: text; background-clip: text; color: transparent; } /* FVカウンターラベル */ .fv__counter-label { margin: 2px 0 0; font-family: var(--font-serif); font-weight: 600; font-size: clamp(0.859375rem, min(1.65vw, 2.2vh), 1.375rem); line-height: 1.34; color: var(--color-text); } /* FV見出し */ .fv__heading { position: relative; margin: 18px 0 0; max-width: 100%; padding: 0 12px; text-align: center; font-family: var(--font-serif); font-weight: 700; font-size: clamp(1.015625rem, min(1.95vw, 2.6vh), 1.625rem); line-height: 1.75; letter-spacing: clamp(0.040625rem, min(0.078vw, 0.104vh), 0.065rem); color: var(--color-text); text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); } /* FV見出し行 */ .fv__heading-line { display: block; } /* FV SCROLL */ .fv__scroll { position: absolute; left: 50%; top: 50%; z-index: 4; display: flex; flex-direction: column; align-items: center; gap: clamp(8px, calc(var(--fv-circle-size) * 0.025), 12px); margin-top: -10px; transform: translate(-50%, calc(-50% + var(--fv-circle-size) / 2 - clamp(4px, calc(var(--fv-circle-size) * 0.0125), 8px))); pointer-events: none; } /* FV SCROLLラベル */ .fv__scroll-label { margin: 0; font-weight: 600; font-size: clamp(0.703125rem, min(1.35vw, 1.8vh), 1.125rem); line-height: 1.2; letter-spacing: clamp(0.0140625rem, min(0.027vw, 0.036vh), 0.0225rem); color: var(--color-orange); white-space: nowrap; } /* FV SCROLL線ラップ */ .fv__scroll-line-wrap { width: clamp(32px, calc(var(--fv-circle-size) * 0.1), 48px); height: clamp(30px, calc(var(--fv-circle-size) * 0.094), 45px); display: flex; align-items: center; justify-content: center; overflow: visible; } /* FV SCROLL線 */ .fv__scroll-line { width: clamp(32px, calc(var(--fv-circle-size) * 0.096), 46px); height: clamp(10px, calc(var(--fv-circle-size) * 0.03125), 15px); max-width: none; transform: rotate(90deg); flex-shrink: 0; } /* PC追記(min-width: 768px) */ @media (min-width: 768px) { /* FV背景画像 */ .fv__hero-img { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; } /* FVグリッド */ .fv__grid { display: none; } /* FVリードコンテンツ */ .fv__lead-content { transform: translate(-50%, calc(-50% + 40px)); } /* FV見出し */ .fv__heading { margin-top: 26px; } } /* --------------------------------------------------------------- PC - Point --------------------------------------------------------------- */ /* Point */ .point { position: relative; z-index: 2; max-width: var(--w-page); margin: clamp(16.375px, calc(100vw * 60 / 1440), 60px) auto; } /* Pointアイテム */ .point__item { position: relative; width: calc(155px + 115px * var(--fluid-t)); flex: 0 0 auto; aspect-ratio: 1; text-align: center; display: flex; justify-content: center; align-items: center; overflow: visible; } /* Pointコンテンツ */ .point__content { position: relative; z-index: 1; width: 100%; height: 100%; margin: 0; padding: 18px 10px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; } /* Pointタイトル */ .point__title { margin: 0; font-family: var(--font-serif); font-weight: 600; color: var(--color-text); } /* Pointタイトル(スタックでない場合) */ .point__title:not(.point__title--stack) { line-height: 1.34; } /* Point価格 */ .point__price { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; margin-bottom: 0; line-height: 1.34; } /* Point価格数字 */ .point__price-num { font-size: calc(1.625rem + 1.125rem * var(--fluid-t)); color: var(--color-orange); } /* Point価格円 */ .point__price-yen { font-size: calc(0.875rem + 0.375rem * var(--fluid-t)); color: var(--color-orange); } /* Point価格税 */ .point__price-tax { font-size: calc(0.625rem + 0.375rem * var(--fluid-t)); color: var(--color-text); } /* Pointサブタイトル */ .point__title-sub { display: block; font-size: calc(0.875rem + 0.5rem * var(--fluid-t)); line-height: 1.34; /* 134% */ } /* Point注記 */ .point__note { margin: calc(5px + 7px * var(--fluid-t)) 0 0; font-family: var(--font-serif); font-weight: 400; font-size: calc(0.5625rem + 0.375rem * var(--fluid-t)); line-height: 1.34; } /* Pointタイトル(スタック) */ .point__title--stack { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: calc(0.875rem + 0.75rem * var(--fluid-t)); line-height: 1.34; } /* Pointライン */ .point__line { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; } /* Pointアクセント */ .point__accent { color: var(--color-orange); font-size: calc(1.375rem + 0.75rem * var(--fluid-t)); } /* Pointアクセント(大) */ .point__accent--lg { font-size: calc(1.375rem + 0.75rem * var(--fluid-t)); } /* Pointライン残り */ .point__line-rest { font-size: calc(0.875rem + 0.5rem * var(--fluid-t)); color: var(--color-text); } /* Pointライン残り(小) */ .point__line-rest--sm { font-size: calc(0.75rem + 0.625rem * var(--fluid-t)); } /* PC追記(min-width: 768px) */ @media (min-width: 768px) { /* Pointリスト */ .point__list { display: flex; justify-content: center; align-items: flex-start; flex-wrap: wrap; gap: clamp(24px, 3vw, 40px); padding: 0 clamp(20px, 4vw, 40px); } /* Pointデコレーション */ .point__decor { position: absolute; left: 50%; top: 50%; width: 100%; height: 100%; transform: translate(-50%, -50%); pointer-events: none; } /* Pointゴールド */ .point__gold { position: absolute; left: 50%; top: 50%; width: 105.92%; height: 105.92%; max-width: none; transform: translate(-50%, -50%); object-fit: contain; } } /* --------------------------------------------------------------- PC - About --------------------------------------------------------------- */ /* About */ .about { position: relative; width: 100%; max-width: none; padding: calc(70px - 6px * var(--fluid-t)) var(--pad-x) calc(60px + 20px * var(--fluid-t)); min-height: calc(0px + 1217px * var(--fluid-t)); margin-left: auto; margin-right: auto; border-radius: calc(50px + 50px * var(--fluid-t)); overflow: hidden; isolation: isolate; } /* Aboutコンテンツ */ .about>*:not(.about__bg) { position: relative; z-index: 2; } /* About背景 */ .about__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; border-radius: inherit; } /* About背景画像 */ .about__bg-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; } /* Section見出し */ .section-heading { text-align: center; margin-top: 20px; margin-bottom: 24px; } /* Section見出しアイコン */ .section-heading__icon { margin: 0 0 8px; } /* Section見出しアイコン画像 */ .section-heading__icon img { display: inline-block; width: 50px; height: auto; } /* Section見出しタイトル */ .section-heading__title { margin: 0; font-family: var(--font-serif); font-weight: 700; font-size: calc(1.75rem + 0.75rem * var(--fluid-t)); line-height: 1.34; } /* --------------------------------------------------------------- 下層ページ (Subpages) --------------------------------------------------------------- */ /* 下層リード(パンくず等) */ .page-lead { margin-top: 20px; margin-left: 40px; font-family: var(--font-sans); font-size: 0.8125rem; /* 13px */ } .page-lead__breadcrumb a, .page-lead__breadcrumb .breadcrumb-separator { color: #FF8600; text-decoration: none; } .page-lead__breadcrumb a:hover { text-decoration: underline; } /* 下層コンテンツ */ .under-content { margin-top: 94px; margin-left: 132px; margin-right: 132px; margin-bottom: 120px; } @media (max-width: 767px) { .under-content { margin-top: 30px; margin-left: 15px; margin-right: 15px; } } /* 404 Page */ .error-404 { padding: clamp(60px, 10vw, 120px) 0; text-align: center; } .error-404__inner { display: flex; margin-bottom: 300px; flex-direction: column; align-items: center; justify-content: center; } .error-404__body { margin-top: 40px; } .error-404__text { margin-bottom: 48px; line-height: 2; font-size: calc(1rem + 0.125rem * var(--fluid-t)); color: var(--color-text); } .error-404__btn-wrap { display: flex; justify-content: center; } .btn-primary { display: inline-flex; align-items: center; justify-content: center; padding: 16px 40px; background: var(--color-orange); color: #fff; font-weight: 700; border-radius: 50px; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(255, 134, 0, 0.2); } .btn-primary:hover { background: #ff9d33; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255, 134, 0, 0.3); color: #fff; } /* About導入文 */ .about__intro { --about-intro-s: min(1, calc(100vw / 1100px)); max-width: var(--w-content); margin: 0 auto calc(30px + 10px * var(--fluid-t)); text-align: center; font-weight: 600; font-size: calc(0.9375rem + 0.1875rem * var(--fluid-t)); line-height: 2; zoom: var(--about-intro-s); } /* About導入文段落 */ .about__intro p { margin: 0; } /* About比較 */ .about__compare { margin: 0 auto 20px; max-width: calc(363px + 537px * var(--fluid-t)); } /* About比較画像 */ .about__compare-images { display: flex; align-items: flex-end; justify-content: center; gap: calc(10px + 14px * var(--fluid-t)); margin-bottom: calc(14px + 2px * var(--fluid-t)); } /* About比較画像(左) */ .about__compare-images>img:first-child { width: calc(168px + 121px * var(--fluid-t)); height: calc(73px + 51px * var(--fluid-t)); object-fit: contain; } /* About比較画像(右) */ .about__compare-images>img:last-child { width: calc(172px + 123px * var(--fluid-t)); height: calc(123px + 88px * var(--fluid-t)); object-fit: contain; } /* About比較矢印 */ .about__compare-arrow { display: flex; align-items: center; justify-content: center; align-self: center; flex: 0 0 auto; } /* About比較矢印画像 */ .about__compare-arrow-img { display: block; width: calc(14px + 6px * var(--fluid-t)); height: auto; max-width: none; object-fit: contain; aspect-ratio: 67 / 120; } /* About比較ラベル:各画像の真下中央に配置 */ .about__compare-labels { display: flex; justify-content: center; gap: calc((10px + 14px * var(--fluid-t)) * 2 + 14px + 6px * var(--fluid-t)); margin: 0 auto; padding: 0; } /* Before ラベル幅 */ .about__compare-label--before { display: block; width: calc(168px + 121px * var(--fluid-t)); text-align: center; } /* After ラベル幅 */ .about__compare-label--after { display: block; width: calc(172px + 123px * var(--fluid-t)); text-align: center; } .about__compare-label { font-family: var(--font-serif); font-weight: 700; font-size: calc(1.5rem + 0.375rem * var(--fluid-t)); letter-spacing: 0.0375rem; } /* About比較ラベル(右) */ .about__compare-label--after { color: var(--color-orange); } /* PC追記(min-width: 768px) */ @media (min-width: 768px) { /* About table */ .about__table-wrap { display: flex; justify-content: center; align-items: flex-start; width: 100%; min-width: 0; margin: 0; padding: 0; overflow-x: auto; overflow-y: visible; -webkit-overflow-scrolling: touch; } /* About table */ .about__table-scale { --about-table-s: clamp(0, (100vw - 2 * var(--pad-x)) / (1100px - 2 * var(--pad-x)), 1); flex: 0 0 auto; display: block; box-sizing: border-box; width: min(100%, calc(1038px * var(--about-table-s))); margin: 0 auto; overflow: hidden; } /* About table */ .about__table { width: 100%; max-width: 100%; min-width: 0; margin: 0; table-layout: fixed; border-collapse: separate; border-spacing: calc(4px * var(--about-table-s)); } /* About tableキャプション */ .about__table caption { caption-side: top; padding-bottom: 16px; font-weight: 600; font-size: 0.875rem; color: transparent; height: 0; overflow: hidden; } /* About tableヘッダセル */ .about__table thead th { height: calc(72px * var(--about-table-s)); font-weight: 600; font-size: calc(1.25rem * var(--about-table-s)); text-align: center; vertical-align: middle; border-radius: calc(8px * var(--about-table-s)); padding: 0 calc(16px * var(--about-table-s)); } /* About table角 */ .about__table-corner { width: 150px; background: transparent; } /* About tableヘッダセル(左) */ .about__table-heading--left { background: var(--color-gray-heading); color: var(--color-text); } /* About tableヘッダセル(右) */ .about__table-heading--right { background: var(--color-orange); color: #fff; font-size: calc(1.5rem * var(--about-table-s)); } /* About tableボディセル */ .about__table tbody th, .about__table tbody td { vertical-align: middle; border-radius: calc(8px * var(--about-table-s)); padding: calc(16px * var(--about-table-s)) calc(20px * var(--about-table-s)); font-size: calc(1rem * var(--about-table-s)); line-height: 1.6; } /* About table軸 */ .about__table-axis { width: 150px; background: var(--color-gray-axis); color: #fff; font-weight: 600; font-size: calc(1.125rem * var(--about-table-s)); text-align: center; } /* About tableセル(前) */ .about__table-cell--before { background: var(--color-gray-cell); color: #000; } /* About tableセル(後) */ .about__table-cell--after { background: var(--color-peach-cell); color: #000; } /* About table列(軸) */ .about__col-axis { width: 14.453%; } /* About table列(前) */ .about__col-before, .about__col-after { width: 42.7735%; } /* About table列(角) */ .about__table-corner { width: auto; min-width: 0; padding: 0; } /* About table列(軸) */ .about__table-axis { width: auto; min-width: 0; } /* About tableヘッダセル(左) */ .about__table-heading--left { padding: calc(20px * var(--about-table-s)) calc(clamp(12px, 8.5%, 88px) * var(--about-table-s)); } /* About tableヘッダセル(右) */ .about__table-heading--right { padding: calc(20px * var(--about-table-s)) calc(clamp(12px, 4.2%, 41px) * var(--about-table-s)) calc(20px * var(--about-table-s)) calc(clamp(12px, 4.2%, 40px) * var(--about-table-s)); } /* About tableボディセル */ .about__table tbody td.about__table-cell { vertical-align: top; height: calc(100px * var(--about-table-s)); padding: calc(24px * var(--about-table-s)) calc(21px * var(--about-table-s)); } /* About table軸 */ .about__table tbody th.about__table-axis { height: calc(100px * var(--about-table-s)); padding: calc(26px * var(--about-table-s)) calc(30px * var(--about-table-s)); vertical-align: middle; } } /* --------------------------------------------------------------- PC - Reform --------------------------------------------------------------- */ .reform { margin: calc(56px + 16px * var(--fluid-t)) var(--pad-x); } .reform__scale { --reform-grid-s: 1; --reform-text-mul: 1; --reform-text-s: calc(var(--reform-grid-s) * var(--reform-text-mul)); } /* Reformバナー */ .reform__banner { position: relative; isolation: isolate; overflow: visible; width: 100%; max-width: calc(363px + 187px * var(--fluid-t)); margin: 0 auto calc(35px + 5px * var(--fluid-t)); } /* Reformバナーレイヤー */ .reform__banner-layers { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: visible; } /* Reformバナーレイヤー */ .reform__banner-layer { position: absolute; display: block; inset: 0; width: 100%; height: 100%; object-fit: fill; } /* Reformバナーレイヤー(影) */ .reform__banner-layer--shadow { z-index: 0; transform: translate(4px, 4px); } /* Reformバナーレイヤー(顔) */ .reform__banner-layer--face { z-index: 1; } /* Reformグリッド */ .reform__grid { display: flex; flex-wrap: wrap; justify-content: center; align-content: flex-start; width: 100%; } /* Reformカード */ .reform-card { width: 100%; min-width: 0; max-width: calc(363px + 187px * var(--fluid-t)); } /* Reformカード画像 */ .reform-card__media { position: relative; border-radius: calc(7px + 1px * var(--fluid-t)); overflow: hidden; aspect-ratio: 550 / 264; } /* Reformカード画像 */ .reform-card__media img { width: 100%; height: 100%; object-fit: cover; } /* Reformカード画像(比較) */ .reform-card__media--compare .reform-card__badges { position: absolute; top: 18px; left: 0; right: 0; display: flex; justify-content: center; gap: 40px; list-style: none; margin: 0; padding: 0; font-size: 0.9375rem; font-weight: 500; } /* Reformカードボディ */ .reform-card__body { position: relative; margin: -40px 47px 0; padding: 24px var(--pad-x); min-height: calc(145px + 21px * var(--fluid-t)); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(10px + 10px * var(--fluid-t)); background: #fff; border: 1px solid var(--color-orange); border-radius: calc(7px + 1px * var(--fluid-t)); box-shadow: var(--shadow-card); } /* Reformカードボディ(3番目) */ .reform-card:nth-child(3) .reform-card__body { min-height: calc(145px + 69px * var(--fluid-t)); } /* Reformカードボディ(4番目) */ .reform-card:nth-child(4) .reform-card__body { min-height: calc(167px + 47px * var(--fluid-t)); } /* Reformカードボディ(角SVG) */ .reform-card__body::before, .reform-card__body::after { content: ""; position: absolute; width: 30px; height: 30px; background: url("../img/reform_card_corner.svg") center / 100% 100% no-repeat; } /* Reformカードボディ(角SVG)(左上) */ .reform-card__body::before { top: -6px; left: -6px; } /* Reformカードボディ(角SVG)(右下) */ .reform-card__body::after { bottom: -6px; right: -6px; transform: rotate(180deg); } /* Reformカードタイトル */ .reform-card__title { margin: 0; font-weight: 500; font-size: calc(1.125rem + 0.375rem * var(--fluid-t)); line-height: 1.6; letter-spacing: 0.03rem; text-align: center; color: var(--color-text); } /* Reformカードテキスト */ .reform-card__text { margin: 0; font-weight: 400; font-size: calc(0.875rem + 0.0625rem * var(--fluid-t)); line-height: 1.6; text-align: center; color: var(--color-text); } /* PC追記(min-width: 768px) */ @media (min-width: 768px) { .reform__scale { --reform-grid-s: clamp(0, (100vw - 2 * var(--pad-x)) / (1280px - 2 * var(--pad-x)), 1); } /* Reform */ .reform { padding: calc(56px * var(--reform-grid-s)) var(--pad-x) calc(72px * var(--reform-grid-s)); } /* Reformバナー */ .reform__banner { max-width: calc(1100px * var(--reform-grid-s) + min(60px, 4vw) * var(--reform-grid-s)); margin: 0 auto calc(40px * var(--reform-grid-s)); height: auto; aspect-ratio: 1160 / 88; } .reform__banner-layer--shadow { transform: translate(calc(4px * var(--reform-grid-s)), calc(4px * var(--reform-grid-s))); } /* Reformバナータイトル(1440 時点=30px) */ .reform__banner-title { position: absolute; left: 0; right: 0; top: 0; bottom: calc(100% * 18 / 88); z-index: 2; margin: 0; display: flex; align-items: center; justify-content: center; font-family: var(--font-serif); font-weight: 700; font-size: clamp(18px, 1.146vw + 13.5px, 30px); line-height: 1.34; text-align: center; color: #fff; text-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } /* Reform:2 列グリッドに制限。1280+ は等倍、1280 未満は --reform-grid-s(zoom なし) */ .reform__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: center; width: 100%; row-gap: calc(40px * var(--reform-grid-s)); column-gap: calc(min(60px, 4vw) * var(--reform-grid-s)); max-width: calc(1100px * var(--reform-grid-s) + min(60px, 4vw) * var(--reform-grid-s)); margin: 0 auto; } .reform-card { flex: 0 1 calc(550px * var(--reform-grid-s)); max-width: calc(550px * var(--reform-grid-s)); } .reform-card__media { border-radius: calc(8px * var(--reform-grid-s)); } .reform-card__media--compare .reform-card__badges { top: calc(18px * var(--reform-grid-s)); gap: calc(40px * var(--reform-grid-s)); font-size: calc(0.9375rem * var(--reform-text-s)); } .reform-card__body { margin: calc(-40px * var(--reform-grid-s)) calc(47px * var(--reform-grid-s)) 0; padding: 0 calc(24px * var(--reform-grid-s)); min-height: 0; height: calc(166px * var(--reform-grid-s)); max-height: calc(166px * var(--reform-grid-s)); gap: calc(20px * var(--reform-grid-s)); border-radius: calc(8px * var(--reform-grid-s)); } .reform-card:nth-child(3) .reform-card__body, .reform-card:nth-child(4) .reform-card__body { min-height: 0; height: calc(214px * var(--reform-grid-s)); max-height: calc(214px * var(--reform-grid-s)); } .reform-card__body::before, .reform-card__body::after { width: calc(30px * var(--reform-grid-s)); height: calc(30px * var(--reform-grid-s)); } .reform-card__body::before { top: calc(-6px * var(--reform-grid-s)); left: calc(-6px * var(--reform-grid-s)); } .reform-card__body::after { bottom: calc(-6px * var(--reform-grid-s)); right: calc(-6px * var(--reform-grid-s)); } .reform-card__title { font-size: calc(1.5rem * var(--reform-text-s)); } .reform-card__text { font-size: calc(0.9375rem * var(--reform-text-s)); } } /* --------------------------------------------------------------- PC - CTA --------------------------------------------------------------- */ /* CTA */ .cta { margin: calc(40px + 16px * var(--fluid-t)) calc(15px - 15px * var(--fluid-t)); padding: 0; display: flex; justify-content: center; } /* CTA内部 */ .cta__inner { width: 100%; max-width: calc(363px + 537px * var(--fluid-t)); background: var(--color-cta-bg); border-radius: 8px; padding: 30px var(--pad-x); display: flex; flex-direction: column; align-items: center; gap: 15px; box-shadow: var(--shadow-card); } /* CTAタイトル */ .cta__title { margin: 0; font-weight: 600; font-size: calc(1.125rem + 0.375rem * var(--fluid-t)); letter-spacing: 0.03rem; text-align: center; } /* CTAタイトル(スタック) */ .cta__title-text--sp { display: flex; flex-direction: column; align-items: center; gap: 8px; } /* CTAタイトル行 */ .cta__title-line { display: block; line-height: 1.34; } /* CTAボタン */ .cta__button { display: inline-flex; align-items: center; justify-content: flex-start; box-sizing: border-box; gap: 20px; width: 260px; max-width: 100%; min-height: 59px; padding: 20px 15px 20px 50px; border-radius: 35px; background: linear-gradient(90deg, var(--color-blue-a), var(--color-blue-b)); color: #fff; font-weight: 500; font-size: 1rem; outline: 2px solid transparent; outline-offset: 0; transition: outline-color 0.3s ease, outline-offset 0.3s ease; } /* CTAボタン(ホバー) */ .cta__button:hover { animation: cta-button-light 0.8s infinite; } /* CTAボタン(ホバー)アニメーション */ @keyframes cta-button-light { 0% { outline-color: rgba(255, 255, 255); outline-offset: 0; } 100% { outline-color: transparent; outline-offset: 18px; } } /* CTAボタン(ホバー)アニメーション(低速モーション) */ @media (prefers-reduced-motion: reduce) { .cta__button:hover { animation: none; } } /* CTAボタンアイコン */ .cta__button img { flex-shrink: 0; width: 16px; height: 16px; } /* CTAボタンラベル */ .cta__button>span { flex-shrink: 0; white-space: nowrap; } /* PC追記(min-width: 768px) */ @media (min-width: 768px) { .cta { --cta-pc-s: clamp(0, (100vw - 2 * var(--pad-x)) / (1024px - 2 * var(--pad-x)), 1); } .cta__inner { max-width: calc(363px + 537px * var(--cta-pc-s)); } } /* --------------------------------------------------------------- PC - Price --------------------------------------------------------------- */ /* Price */ .price { --ft: var(--fluid-t); padding: calc(40px + 8px * var(--ft)) var(--pad-x) calc(50px + 30px * var(--ft)); } /* Priceセクション見出し */ .price .section-heading { margin-bottom: calc(26px + 14px * var(--ft)); } /* Priceブロック */ .price-block { max-width: calc(363px + 537px * var(--ft)); margin: 0 auto calc(40px + 8px * var(--ft)); padding-bottom: 4px; --price-table-rule: var(--color-gray-heading); } /* Priceブロックバナー */ .price-block__banner { position: relative; display: flex; align-items: center; justify-content: center; height: calc(60px + 30px * var(--ft)); margin-bottom: calc(21px - 5px * var(--ft)); border-radius: calc(7px + 7px * var(--ft)); border: 4px solid var(--color-orange-light); background: var(--color-orange); overflow: visible; } /* Priceブロックバナーダック */ .price-block__banner-duck { position: absolute; left: calc(4px + 9px * var(--ft)); top: -1px; transform: rotate(180deg) scaleY(-1); z-index: 5; width: calc(41px + 15px * var(--ft)); height: auto; } /* Priceブロックバナーフィル */ .price-block__banner-fill { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0.4; pointer-events: none; z-index: 1; border-radius: calc(5px + 5px * var(--ft)); overflow: hidden; } /* Priceブロックバナーフィル画像 */ .price-block__banner-fill img { width: calc(361px + 532px * var(--ft)); max-width: none; height: calc(58px + 26px * var(--ft)); } /* Priceブロックバナーティトル */ .price-block__banner-title { position: relative; z-index: 3; margin: 0; font-family: var(--font-serif); font-weight: 700; font-size: calc(1.375rem + 0.5rem * var(--ft)); color: #fff; text-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } /* Priceブロックテーブル */ .price-block__table { display: grid; grid-template-columns: minmax(0, 281px) minmax(0, 1fr); border: 1px solid var(--price-table-rule); border-radius: calc(7px + 1px * var(--ft)); overflow: hidden; height: calc(102px + 6px * var(--ft)); margin-bottom: 16px; background: transparent; } /* Priceブロック価格 */ .price-block__price { display: flex; align-items: center; justify-content: center; font-family: var(--font-serif); font-weight: 600; font-size: calc(1rem + 0.5rem * var(--ft)); line-height: 1.34; border-right: 1px solid var(--price-table-rule); background: var(--color-orange-pale); } /* Priceブロック仕様 */ .price-block__spec { margin: 0; padding: 0; display: grid; grid-template-rows: 50px 50px; align-content: stretch; height: 100%; min-height: calc(102px + 6px * var(--ft)); min-width: 0; font-size: calc(0.8125rem + 0.125rem * var(--ft)); line-height: 1.6; } /* Priceブロック仕様行 */ .price-block__spec div { display: flex; flex-direction: row; align-items: center; gap: 4px; padding: 0 calc(12px + 8px * var(--ft)) 0 calc(8px + 12px * var(--ft)); min-height: 0; } /* Priceブロック仕様行(最初) */ .price-block__spec div:first-child { background: #fff; border-bottom: 1px solid var(--price-table-rule); } /* Priceブロック仕様行(最後) */ .price-block__spec div:last-child { background: var(--color-cream); } /* Priceブロック仕様見出し */ .price-block__spec dt { flex-shrink: 0; margin: 0; font-size: calc(0.8125rem + 0.125rem * var(--ft)); font-weight: 700; line-height: 1.6; } /* Priceブロック仕様データ */ .price-block__spec dd { flex: 1; min-width: 0; margin: 0; font-size: calc(0.8125rem + 0.125rem * var(--ft)); font-weight: 400; line-height: 1.6; } /* Priceブロックテーブル(スタック) */ .price-block__table--stack { display: flex; flex-direction: column; height: auto; border: none; background: transparent; gap: 0; } /* Priceティア */ .price-tier { display: grid; grid-template-columns: minmax(0, 281px) minmax(0, 1fr); min-height: calc(0px + 108px * var(--ft)); border: 1px solid var(--price-table-rule); border-bottom: none; background: transparent; overflow: hidden; } /* Priceティアラベル */ .price-tier__label { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; border-right: 1px solid var(--price-table-rule); font-family: var(--font-serif); font-weight: 600; font-size: calc(1rem + 0.5rem * var(--ft)); text-align: center; gap: calc(2px + 2px * var(--ft)); background: var(--color-orange-pale); } /* Priceティアラベルテキスト */ .price-tier__label p { margin: 0; } /* Priceティアラベルテキスト(最後) */ .price-tier__label p:last-child { line-height: 1.34; } /* Priceティア仕様 */ .price-tier__spec { margin: 0; padding: 0; display: grid; grid-template-rows: 50px 50px; align-content: stretch; height: 100%; min-height: calc(0px + 108px * var(--ft)); min-width: 0; font-size: calc(0.8125rem + 0.125rem * var(--ft)); line-height: 1.6; } /* Priceティア行 */ .price-tier__row { display: flex; flex-direction: row; align-items: center; gap: 4px; padding: 0 calc(8px + 12px * var(--ft)); min-height: 0; } /* Priceティア行(最初) */ .price-tier__row:first-child { background: #fff; border-bottom: 1px solid var(--price-table-rule); } /* Priceティア行(最後) */ .price-tier__row:last-child { background: var(--color-cream); } /* Priceティア見出し */ .price-tier__k { flex-shrink: 0; font-size: calc(0.8125rem + 0.125rem * var(--ft)); font-weight: 700; line-height: 1.6; } /* Priceティアデータ */ .price-tier__v { flex: 1; min-width: 0; margin: 0; font-size: calc(0.8125rem + 0.125rem * var(--ft)); font-weight: 400; line-height: 1.6; } /* Priceフィーチャ */ .price-feature { display: flex; gap: calc(6px + 24px * var(--ft)); align-items: flex-start; padding: 25px 40px; margin-top: calc(16px + 8px * var(--ft)); background: #fff; border: 1px solid var(--color-gold-border); border-radius: calc(7px + 1px * var(--ft)); position: relative; } /* Priceフィーチャ(フィーチャー) */ .price-feature::before { content: ""; position: absolute; left: -1px; top: calc(-45px - 7px * var(--ft)); width: calc(22px + 4px * var(--ft)); height: calc(40px + 7px * var(--ft)); transform-origin: left bottom; transform: rotate(90.41deg); background: url("../img/price_feature_feather.svg") left bottom / contain no-repeat; pointer-events: none; } /* Priceフィーチャラベル */ .price-feature__label { margin: 0; flex: 0 0 auto; font-size: calc(1rem + 0.25rem * var(--ft)); font-weight: 600; } /* Priceフィーチャテキスト */ .price-feature__text, .price-feature__body { flex: 1; font-size: calc(0.875rem + 0.0625rem * var(--ft)); line-height: 1.6; margin: 0; } /* Priceフィーチャブロック(次) */ .price-feature__block+.price-feature__block { margin-top: 1em; } /* Priceフィーチャリード行 */ .price-feature__lead-row { margin: 0 0 0.35em; font-size: calc(0.875rem + 0.125rem * var(--ft)); line-height: 1.6; } /* Priceフィーチャグレード */ .price-feature__grade { font-weight: 700; font-size: calc(0.875rem + 0.125rem * var(--ft)); } /* Priceフィーチャスター */ .price-feature__stars { margin-left: 0.2em; color: var(--color-star); font-weight: 400; } /* Priceフィーチャパラグラフ */ .price-feature__para { margin: 0; font-weight: 400; font-size: calc(0.875rem + 0.0625rem * var(--ft)); } /* PC追記(min-width: 768px) */ @media (min-width: 768px) { /* PC:Price */ .price { --price-pc-s: clamp(0, (100vw - 2 * var(--pad-x)) / (1024px - 2 * var(--pad-x)), 1); --ft: var(--price-pc-s); } /* Priceティア(最後) */ .price-tier:last-child { border-bottom: 1px solid var(--price-table-rule); border-radius: 0 0 8px 8px; } /* Priceティア(最初) */ .price-tier:first-child { border-radius: 8px 8px 0 0; } /* Priceフィーチャ(テキストがある場合) */ .price-feature:has(> .price-feature__text) { align-items: center; } } /* --------------------------------------------------------------- PC - Feauter --------------------------------------------------------------- */ /* Feauters */ .feauters { position: relative; padding: calc(50px - 2px * var(--fluid-t)) var(--pad-x) calc(60px + 12px * var(--fluid-t)) calc(15px + 232px * var(--fluid-t)); min-height: calc(663px - 23px * var(--fluid-t)); overflow: hidden; border-radius: calc(50px + 50px * var(--fluid-t)); display: flex; flex-direction: column; align-items: flex-start; } /* Feauters背景 */ .feauters__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; opacity: 1; pointer-events: none; } /* Feauters背景画像 */ .feauters__bg-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: clamp(48%, calc(48% + (1024px - 100vw) / 256px * 20%), 80%) center; } /* Feautersタイトル */ .feauters__title { position: relative; z-index: 2; margin: 0 0 calc(26px - 2px * var(--fluid-t)); font-family: var(--font-serif); font-weight: 700; font-size: calc(1.75rem + 0.25rem * var(--fluid-t)); text-align: left; } /* Feautersリボン */ .feauters__ribbon { position: relative; z-index: 2; width: calc(277px + 50px * var(--fluid-t)); height: calc(271px + 49px * var(--fluid-t)); margin: 0 0 32px -14px; flex-shrink: 0; } /* Feautersリボン画像 */ .feauters__ribbon-img { position: absolute; inset: 0; width: calc(277px + 50px * var(--fluid-t)); height: calc(271px + 49px * var(--fluid-t)); object-fit: contain; } /* Feautersリボンリード */ .feauters__ribbon-lead { position: absolute; left: calc(56 / 327 * 100%); right: 4%; top: 22%; transform: none; margin: 0; width: auto; text-align: left; font-family: var(--font-serif); font-weight: 700; font-size: calc(1.5rem + 0.375rem * var(--fluid-t)); } /* Feautersリボンスタット */ .feauters__ribbon-stat { position: absolute; left: calc(75 / 327 * 100%); top: 38%; transform: none; display: flex; align-items: flex-end; justify-content: flex-start; gap: 8px; margin: 0; } /* Feautersリボンスタット垂直 */ .feauters__ribbon-stat-vertical { display: flex; flex-direction: column; font-family: var(--font-serif); font-weight: 600; font-size: calc(1.375rem - 0.125rem * var(--fluid-t)); line-height: 1.06; margin-right: -0.1em; } /* Feautersリボンスタット数字 */ .feauters__ribbon-stat-num { font-family: var(--font-serif); font-weight: 700; font-size: calc(5.625rem + 0.625rem * var(--fluid-t)); line-height: 0.85; letter-spacing: 0; margin-right: -0.1em; } /* Feautersリボンスタット単位 */ .feauters__ribbon-stat-unit { display: flex; align-items: flex-end; gap: 2px; font-family: var(--font-serif); font-weight: 600; line-height: 1; } /* Feautersリボンスタットオクト */ .feauters__ribbon-stat-oku { font-size: calc(3.875rem + 0.625rem * var(--fluid-t)); } /* Feautersリボンスタットハリ */ .feauters__ribbon-stat-hari { font-size: 1.5rem; } /* Feautersリボンスレッド */ .feauters__ribbon-thread { position: absolute; left: calc(210 / 327 * 100%); right: auto; bottom: 36%; top: auto; width: 102px; height: 83px; pointer-events: none; } /* Feautersリボンスレッド画像 */ .feauters__ribbon-thread img { display: block; width: calc(79px + 23px * var(--fluid-t)); height: auto; max-width: 100%; object-fit: contain; } /* Feauters達成リスト */ .feauters__achievements { position: relative; z-index: 2; list-style: none; margin: 0 0 0 -67px; padding: 0; display: flex; flex-direction: column; align-items: flex-start; gap: calc(10px + 5px * var(--fluid-t)); } /* Feauters達成リストアイテム */ .feauters__achievements li { display: flex; align-items: center; gap: calc(10px + 5px * var(--fluid-t)); font-family: var(--font-serif); font-weight: 600; font-size: calc(1.25rem + 0.375rem * var(--fluid-t)); letter-spacing: 0.0325rem; } /* PC追記(中間帯:feauters zoom) */ @media (min-width: 768px) and (max-width: 1280px) { .feauters { zoom: clamp(0.7, calc((100vw + 427px) / 1707px), 1); } } /* 768px〜1024px中間帯:feauters ribbon テキストをbox内に収める * zoom は vw 参照の --fluid-t に影響しないため、 * ribbon-lead / ribbon-stat のサイズを zoom 後の実効幅に合わせて上限を設ける。 * 820px(iPad Air 4th Gen Chrome縦)での zoom ≈ 0.73 * → ribbon幅は約277px × 0.73 = 202px相当 * ribbon-lead は overflow を起こさないよう font-size を clamp で抑制する。 */ @media (min-width: 768px) and (max-width: 1024px) { .feauters__ribbon-lead { /* zoom後の実効幅に合わせて上限を抑制(820px zoom≈0.73 → 実効約600px) */ font-size: clamp(1rem, calc(0.75rem + 2vw), 1.5rem); } .feauters__ribbon-stat-num { /* 5.625rem 固定を抑制して実効幅に連動させる */ font-size: clamp(4rem, calc(2rem + 6vw), 5.625rem); } .feauters__ribbon-stat-oku { font-size: clamp(2.5rem, calc(1.5rem + 3.5vw), 3.875rem); } .feauters__ribbon-stat-vertical { font-size: clamp(0.875rem, calc(0.5rem + 1.5vw), 1.375rem); } } /* --------------------------------------------------------------- PC - Flow --------------------------------------------------------------- */ /* Flow */ .flow { padding: calc(40px + 16px * var(--fluid-t)) var(--pad-x) calc(50px + 22px * var(--fluid-t)); } /* Flow見出し */ .flow .section-heading { margin-bottom: calc(30px + 10px * var(--fluid-t)); } /* Flowステップリスト */ .flow__steps { display: flex; align-items: flex-start; justify-content: center; gap: 22px; list-style: none; margin: 0 auto; padding: 0; max-width: 1162px; } /* Flowステップ */ .flow-step { position: relative; width: 274px; padding-top: calc(28px + 10px * var(--fluid-t)); } /* Flowステップカード */ .flow-step__card { display: flex; flex-direction: column; height: calc(280px + 62px * var(--fluid-t)); border: 1px solid var(--color-orange); border-radius: calc(6px + 2px * var(--fluid-t)); background: #fff; overflow: hidden; } /* Flowステップバッジ */ .flow-step__badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: 3; width: calc(56px + 19px * var(--fluid-t)); height: calc(56px + 19px * var(--fluid-t)); margin: 0; padding: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; font-family: var(--font-serif); font-weight: 700; background: url("../img/58c6da73-37f7-483c-87a3-a63e3580f2d5.svg") center / contain no-repeat; } /* Flowステップバッジテキスト(最初) */ .flow-step__badge span:first-child { font-size: calc(0.75rem + 0.25rem * var(--fluid-t)); letter-spacing: 0.02rem; } /* Flowステップバッジテキスト(最後) */ .flow-step__badge span:last-child { font-size: calc(1.125rem + 0.375rem * var(--fluid-t)); letter-spacing: 0.03rem; } /* Flowステップメディア */ .flow-step__media { flex: 0 0 calc(100px + 53px * var(--fluid-t)); height: calc(100px + 53px * var(--fluid-t)); border-radius: 0; overflow: hidden; } /* Flowステップメディア画像 */ .flow-step__media img { width: 100%; height: 100%; object-fit: cover; } /* Flowステップメディア(2番目) */ .flow-step:nth-child(2) .flow-step__media { flex-basis: calc(100px + 54px * var(--fluid-t)); height: calc(100px + 54px * var(--fluid-t)); } /* Flowステップメディア(最初) */ .flow-step__card>.flow-step__media:first-child { border-radius: calc(6px + 2px * var(--fluid-t)) calc(6px + 2px * var(--fluid-t)) 0 0; } /* Flowステップタイトル */ .flow-step__title { flex: 0 0 auto; margin: 0; padding: calc(14px + 11px * var(--fluid-t)) calc(8px + 12px * var(--fluid-t)) calc(6px + 4px * var(--fluid-t)); background: #fff; font-size: calc(0.9375rem + 0.3125rem * var(--fluid-t)); font-weight: 600; line-height: 1.34; text-align: center; } /* Flowステップテキスト */ .flow-step__text { flex: 1 1 auto; margin: 0; padding: calc(4px + 6px * var(--fluid-t)) calc(10px + 10px * var(--fluid-t)) calc(14px + 6px * var(--fluid-t)); min-height: 0; background: #fff; font-size: calc(0.75rem + 0.1875rem * var(--fluid-t)); font-weight: 400; line-height: 1.6; } /* PC中間幅(768px〜1024px) */ @media (min-width: 768px) and (max-width: 1024px) { /* Flowステップリスト */ .flow__steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 22px; max-width: 660px; padding: 0; } /* Flowステップ:カラム幅に追従 */ .flow-step { width: 100%; } } /* --------------------------------------------------------------- PC - FAQ --------------------------------------------------------------- */ /* FAQ */ .faq { padding: 0 var(--pad-x); margin: calc(40px + 8px * var(--fluid-t)) 0 calc(70px + 30px * var(--fluid-t)); } /* FAQ見出し */ .faq .section-heading { margin-bottom: calc(26px + 14px * var(--fluid-t)); } /* FAQリスト */ .faq__list { max-width: calc(363px + 537px * var(--fluid-t)); margin: 0 auto; display: flex; flex-direction: column; gap: calc(15px + 5px * var(--fluid-t)); } /* FAQアイテム */ .faq-item { background: #fff; border: 1px solid var(--color-gold-border); border-radius: calc(7px + 3px * var(--fluid-t)); padding: 20px calc(15px + 9px * var(--fluid-t)); box-shadow: var(--shadow-card); } /* FAQアイテムQ行 */ .faq-item__q-row, .faq-item__a-row { display: flex; align-items: flex-start; gap: calc(8px + 4px * var(--fluid-t)); } /* FAQアイテムマーク */ .faq-item__mark { flex: 0 0 auto; min-width: calc(18px + 4px * var(--fluid-t)); font-family: var(--font-serif); font-weight: 700; font-size: calc(1.125rem + 0.25rem * var(--fluid-t)); line-height: 1.34; } /* FAQアイテムマーク(Q) */ .faq-item__mark--q { color: var(--color-text); } /* FAQアイテムマーク(A) */ .faq-item__mark--a { color: var(--color-orange); } /* FAQアイテムQテキスト */ .faq-item__q-text, .faq-item__a-text { margin: 0; font-size: calc(0.9375rem + 0.1875rem * var(--fluid-t)); font-weight: 600; line-height: 1.34; } /* FAQアイテムAテキスト */ .faq-item__a-text { font-size: calc(0.875rem + 0.0625rem * var(--fluid-t)); font-weight: 400; } /* FAQアイテムディバイダ */ .faq-item__divider { height: 1px; margin: calc(16px - 4px * var(--fluid-t)) 0; background: url("../img/f3e5d372-2092-4825-b7cc-c899e60651c3.svg") center / 100% 1px no-repeat; opacity: 0.6; } /* --------------------------------------------------------------- PC - Footer --------------------------------------------------------------- */ /* PC追記(min-width: 768px) */ @media (min-width: 768px) { /* FAQ: PC */ .faq__list { --faq-s: min(1, calc(100vw / 1024px)); max-width: calc(900px * var(--faq-s)); gap: calc(20px * var(--faq-s)); } .faq-item { border-radius: calc(10px * var(--faq-s)); padding: calc(20px * var(--faq-s)) calc(24px * var(--faq-s)); } .faq-item__q-row, .faq-item__a-row { gap: calc(12px * var(--faq-s)); } .faq-item__mark { min-width: calc(22px * var(--faq-s)); font-size: calc(1.375rem * var(--faq-s)); } .faq-item__q-text, .faq-item__a-text { font-size: calc(1.125rem * var(--faq-s)); } .faq-item__a-text { font-size: calc(0.9375rem * var(--faq-s)); } .faq-item__divider { margin: calc(12px * var(--faq-s)) 0; } /* Footer */ .site-footer { /* 1280px 以上=等倍(1.0)、1280px 未満=等比縮小 */ --footer-s: clamp(0, (100vw - 2 * var(--pad-x)) / (1280px - 2 * var(--pad-x)), 1); position: relative; z-index: 1; background: var(--color-footer); padding: calc(56px * var(--footer-s)) var(--pad-x) calc(72px * var(--footer-s)); border-radius: calc(100px * var(--footer-s)) calc(100px * var(--footer-s)) 0 0; color: #fff; min-height: calc(396px * var(--footer-s)); } /* Footerインナー */ .site-footer__inner { display: flex; flex-wrap: nowrap; align-items: flex-start; justify-content: center; column-gap: calc(62px * var(--footer-s)); width: 100%; max-width: calc(1163px * var(--footer-s)); margin-left: auto; margin-right: auto; } /* Footerブランド */ .site-footer__brand { flex: 0 0 auto; width: calc(339px * var(--footer-s)); max-width: none; margin-top: calc(14px * var(--footer-s)); } /* Footerロゴ */ .site-footer__logo img { display: block; width: calc(330px * var(--footer-s)); height: auto; max-width: none; } /* Footerフリーダイヤル */ .site-footer__freedial { display: flex; align-items: center; gap: calc(12px * var(--footer-s)); margin: calc(20px * var(--footer-s)) 0 0; font-family: var(--font-serif); font-weight: 600; font-size: calc(2.5rem * var(--footer-s)); line-height: 1; letter-spacing: calc(0.1rem * var(--footer-s)); } /* Footerフリーダイヤルアイコン */ .site-footer__freedial-icon img { display: block; width: calc(51.819px * var(--footer-s)); height: auto; } /* Footerフリーダイヤルリンク */ .site-footer__freedial a { color: #fff; } /* Footerストアリスト */ .site-footer__stores { display: flex; flex-wrap: nowrap; gap: calc(20px * var(--footer-s)); flex: 0 0 auto; justify-content: flex-start; min-width: 0; } /* Footerストア */ .site-footer__store { display: flex; flex-direction: column; align-items: center; justify-content: center; width: calc(371px * var(--footer-s)); max-width: 100%; height: calc(158px * var(--footer-s)); margin: 0; padding: calc(20px * var(--footer-s)) calc(20px * var(--footer-s)) calc(20px * var(--footer-s)) calc(21px * var(--footer-s)); border: 1px solid #fff; border-radius: calc(8px * var(--footer-s)); text-align: center; font-style: normal; } /* Footerストア(最後) */ .site-footer__store:last-of-type { padding: calc(20px * var(--footer-s)); } /* Footerストア名 */ .site-footer__store-name { display: block; font-size: calc(1.5rem * var(--footer-s)); font-weight: 600; letter-spacing: calc(0.03rem * var(--footer-s)); line-height: 1.34; margin-bottom: calc(8px * var(--footer-s)); } /* Footerストア住所 */ .site-footer__store-address { margin: 0 0 calc(8px * var(--footer-s)); font-size: calc(0.875rem * var(--footer-s)); font-weight: 400; line-height: 1.34; } /* Footerストア電話 */ .site-footer__store-tel { display: flex; align-items: center; justify-content: center; gap: calc(9px * var(--footer-s)); margin: 0; font-family: var(--font-serif); font-weight: 600; font-size: calc(1.5rem * var(--footer-s)); letter-spacing: calc(0.06rem * var(--footer-s)); line-height: 1.34; } /* Footerストア電話アイコン */ .site-footer__store-tel img { width: calc(23px * var(--footer-s)); height: calc(23px * var(--footer-s)); } /* Footerストア電話リンク */ .site-footer__store-tel a { color: #fff; } /* Footerメタ */ .site-footer__meta { display: flex; flex-direction: column; align-items: flex-end; gap: calc(12px * var(--footer-s)); width: 100%; max-width: calc(1163px * var(--footer-s)); margin-top: calc(50px * var(--footer-s)); margin-left: auto; margin-right: auto; } /* Footer法令 */ .site-footer__legal { display: flex; gap: calc(20px * var(--footer-s)); font-size: calc(0.875rem * var(--footer-s)); font-weight: 400; line-height: 1.34; } /* Footer法令リンク */ .site-footer__legal a { color: #fff; } /* Footerコピーライト */ .site-footer__copy { margin: 0; font-size: calc(0.875rem * var(--footer-s)); font-weight: 400; line-height: 1.34; color: #fff; } /* Footerコピーライト小 */ .site-footer__copy small { font-size: inherit; font-weight: inherit; } } /* --------------------------------------------------------------- SP - 共通 --------------------------------------------------------------- */ /* SPのみ表示 */ .sp-only { display: none !important; } @media (max-width: 767px) { /* サイト全体の背景色 */ body { background: #f8f5f2; } /* 横インデント */ .sp-only { display: revert !important; } .pc-only { display: none !important; } } /* ヘッダーSP版(1024px以下で適用) */ @media (max-width: 1024px) { .site-header__hp-list { display: none !important; } #main-content, #point, #about, #reform, #price, #feauters, #flow, #faq { scroll-margin-top: 65px; } /* --------------------------------------------------------------- SP - Header --------------------------------------------------------------- */ /* Header */ .site-header { background: linear-gradient(90deg, #fff 0%, var(--color-header-end) 100%); height: 65px; z-index: 10000; box-shadow: var(--shadow-header), inset 0 -1px 0 0 #ff8600; } /* Headerインナー */ .site-header__inner { height: 65px; align-items: stretch; position: relative; z-index: 1; } /* Headerロゴ (767px以下で縮小) */ @media (max-width: 767px) { .site-header__logo { flex: 1 1 auto; margin-right: 0; min-width: 0; align-self: center; } .site-header__logo img { width: auto; height: 30px; max-width: 170px; } } /* Headerナビゲーション */ .site-header__nav { position: fixed; top: 65px; left: 0; z-index: 9990; display: block; width: 100%; height: calc(100vh - 65px); background: rgba(0, 0, 0, 0.5); box-shadow: none; visibility: hidden; opacity: 0; transition: opacity 0.28s ease, visibility 0.28s ease; pointer-events: none; } /* Headerキャッチコピー */ .site-header__tagline { display: none; } /* Headerナビゲーション */ .site-header__nav.is-open { visibility: visible; opacity: 1; pointer-events: auto; } /* Headerドロワーパネル */ .site-header__nav-panel { position: relative; margin-left: calc(100% - 319px); width: 319px; height: 100%; background: #f8f5f2; overflow-y: auto; transform: translateX(100%); transition: transform 0.3s ease; } /* Headerとメニューの間のシャドウレイヤー */ .site-header__nav-panel::before { content: ""; position: sticky; top: 0; left: 0; display: block; width: 319px; height: 14px; background: linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0) 100%); pointer-events: none; z-index: 3; } .site-header__nav.is-open .site-header__nav-panel { transform: translateX(0); } /* Headerナビゲーションリスト */ .site-header__nav-list { display: flex; flex-direction: column; align-items: flex-start; gap: 0; width: 100%; margin: 0; list-style: none; } /* Headerナビゲーション項目 */ .site-header__nav-item { width: 100%; border-bottom: 1px dashed #c4beb3; } /* Headerナビゲーションリンク */ .site-header__nav-link { display: inline-flex; align-items: center; width: 100%; min-height: 61px; padding: 0 20px; font-weight: 500; font-size: 1rem; line-height: 1.34; color: #473a1c; text-decoration: none; letter-spacing: 0; } /* Headerナビゲーション第二階層 */ .site-header__nav-sublist { margin: 0 20px 20px; padding: 0; list-style: none; border-radius: 7px; overflow: hidden; background: #eae6e3; } .site-header__nav-sublink { display: inline-flex; align-items: center; width: 100%; min-height: 60px; padding: 0 20px; font-size: 0.9375rem; font-weight: 400; line-height: 1.34; color: #473a1c; text-decoration: none; } .site-header__nav-sublist li:not(:last-child) .site-header__nav-sublink { border-bottom: 1px dashed #c4beb3; } /* Headerナビ開閉中は背面スクロール禁止 */ body.menu-open { overflow: hidden; } /* Headerお問い合わせ */ .site-header__contact { flex: 0 0 65px; align-self: stretch; display: inline-flex !important; align-items: center; justify-content: center; width: 65px; min-width: 65px; max-width: 65px; height: 100%; min-height: 65px; padding: 0; gap: 0; } /* Headerお問い合わせラベル */ .site-header__contact-label { display: none; } /* Headerお問い合わせアイコン */ .site-header__contact-icon img { width: 36px; height: 36px; display: block; } /* Headerハンバーガーメニュー */ .site-header__hamburger { flex: 0 0 65px; align-self: stretch; display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 3px; width: 65px; min-width: 65px; max-width: 65px; height: auto; min-height: 65px; margin-left: 0; padding: 7px 0 6px; background: var(--color-orange); border: none; cursor: pointer; position: relative; z-index: 70; } /* Headerハンバーガーメニュー棒のアニメ軸 */ .site-header__hamburger-bar { transform-origin: center; transition: transform 0.28s ease, opacity 0.2s ease; } /* Headerハンバーガー開いた状態 */ .site-header__hamburger.is-open .site-header__hamburger-bar:nth-child(1) { transform: translateY(7px) rotate(30deg); } .site-header__hamburger.is-open .site-header__hamburger-bar:nth-child(2) { opacity: 0; } .site-header__hamburger.is-open .site-header__hamburger-bar:nth-child(3) { transform: translateY(-7px) rotate(-30deg); } .site-header__hamburger.is-open .site-header__hamburger-label { font-size: 0; } .site-header__hamburger.is-open .site-header__hamburger-label::before { content: "CLOSE"; font-size: 0.625rem; } /* Headerハンバーガーメニュー棒 */ .site-header__hamburger-bars { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; flex-shrink: 0; } /* Headerハンバーガーメニュー棒 */ .site-header__hamburger-bar { display: block; flex-shrink: 0; width: 28px; height: 2px; background: #fff; border-radius: 1px; } /* Headerハンバーガーメニューラベル */ .site-header__hamburger-label { display: block; flex-shrink: 0; margin: 0; padding: 0; font-weight: 400; font-size: 0.625rem; line-height: 1; letter-spacing: 0.0125rem; color: #fff; text-align: center; pointer-events: none; } } /* 768px 〜 1024px のヘッダー高さ調整 */ @media (min-width: 768px) and (max-width: 1024px) { .site-header { height: 70px; } .site-header__inner { height: 70px; } .site-header__logo { margin-right: auto; } .site-header__nav { top: 70px; height: calc(100vh - 70px); } #main-content, #point, #about, #reform, #price, #feauters, #flow, #faq { scroll-margin-top: 70px; } .site-header__contact, .site-header__hamburger { flex: 0 0 70px; width: 70px; min-width: 70px; max-width: 70px; } } /* 767px以下のSP版レイアウト再開 */ @media (max-width: 767px) { /* --------------------------------------------------------------- SP - FV --------------------------------------------------------------- */ /* FV */ .fv { height: 600px; min-height: 0; border-radius: 0 0 50px 50px; box-shadow: none; } /* FVグリッド */ .fv__grid { grid-template-columns: 1fr 1fr; grid-template-rows: 195px 209px 196px; grid-template-areas: "tl tl" "tr bl" "br br"; } /* FVセル(左上) */ .fv__cell--tl { grid-area: tl; } /* FVセル(右上) */ .fv__cell--tr { grid-area: tr; } /* FVセル(左下) */ .fv__cell--bl { grid-area: bl; } /* FVセル(右下) */ .fv__cell--br { grid-area: br; } /* FVリードコンテナ */ .fv__lead-circle { margin-top: 0; } /* FVリードコンテンツコンテナ */ .fv__lead-content { width: min(320px, calc(var(--fv-circle-size) * 0.92)); max-width: min(320px, calc(var(--fv-circle-size) * 0.92)); margin-top: -8px; gap: 0; } /* FVカウンター */ .fv__counter { gap: 4px; } /* FVカウンターリーブラウン */ .fv__counter-laurel img { width: 29px; max-height: 86px; } /* FVカウンター値 */ .fv__counter-value { line-height: 1; } /* FVカウンターラベル */ .fv__counter-label { margin: 4px 0 0; letter-spacing: 0; } /* FV見出し */ .fv__heading { margin: 14px 0 0; padding: 0; line-height: 1.6; letter-spacing: clamp(0.040625rem, min(0.078vw, 0.104vh), 0.065rem); text-shadow: none; } /* FVスクロール */ .fv__scroll { top: 50%; bottom: auto; left: 50%; margin-top: 0; gap: 8px; transform: translate(-50%, calc(-50% + var(--fv-circle-size) / 2 - clamp(4px, calc(var(--fv-circle-size) * 0.0125), 8px))); } /* FVスクロールラベル */ .fv__scroll-label { letter-spacing: 0.015rem; } /* FVスクロールラインラップ */ .fv__scroll-line-wrap { width: 30px; height: 30px; } /* FVスクロールライン */ .fv__scroll-line { width: 30px; height: 10px; } /* --------------------------------------------------------------- SP - Point --------------------------------------------------------------- */ /* Point変数 */ :root { --vw-capped: min(100vw, 520px); --pf: clamp(0, calc((var(--vw-capped) - 393px) / 630px), 1); --point-s: calc((155px + (270px - 155px) * var(--pf)) / 155px); --point-zoom: min(var(--point-s), calc(var(--vw-capped) / 393px)); } /* Pointコンテナ */ #point.point { width: 100%; max-width: var(--w-page); margin: calc(30px * var(--point-zoom)) auto; padding: 0; overflow-x: clip; } /* Pointリスト */ .point__list { width: 393px; max-width: none; box-sizing: border-box; margin-left: auto; margin-right: auto; zoom: var(--point-zoom); display: grid; grid-template-columns: max-content max-content; grid-template-rows: 143px auto; grid-template-areas: "a a" "b c"; column-gap: 17px; row-gap: 0; padding: 0 33px; justify-items: center; align-items: start; } /* Pointアイテム */ .point__item { position: relative; width: 155px; height: 155px; min-width: 0; min-height: 0; text-align: center; overflow: visible; place-self: start center; } /* Pointアイテム1 */ .point__item:nth-child(1) { grid-area: a; z-index: 1; } /* Pointアイテム2 */ .point__item:nth-child(2) { grid-area: b; } /* Pointアイテム3 */ .point__item:nth-child(3) { grid-area: c; } /* PointPC装飾(非表示) */ .point__decor--pc { display: none !important; } /* PointSP装飾 */ .point__decor--sp { position: absolute; top: 0; left: 0; width: 155px; height: 155px; box-sizing: border-box; transform: none; pointer-events: none; } /* PointSP装飾(円) */ .point__sp-circle { position: absolute; top: 0; left: 0; width: 155px; height: 155px; display: block; max-width: none; } /* PointSP装飾(羽根) */ .point__sp-feather { position: absolute; top: -5px; left: -5px; width: 171.013px; height: 171.013px; display: block; max-width: none; } /* Pointコンテンツ */ .point__content { position: absolute; top: 0; left: 0; z-index: 1; box-sizing: border-box; width: 155px; height: 155px; min-height: 0; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; } /* Pointテキスト(小) */ .point .point__line-rest--sm { font-size: 12px; } /* Point価格コンテナ */ .point__price { margin-bottom: 0; font-weight: 600; } /* Point価格カラー指定 */ .point .point__price-yen, .point .point__price-tax { color: var(--color-text); } /* Point価格数値 */ .point__price-num { font-size: 26px; } /* Point価格単位 */ .point__price-yen { font-size: 14px; } /* Point価格税込 */ .point__price-tax { font-size: 10px; } /* Pointサブタイトル */ .point__title-sub { font-size: 14px; font-weight: 600; } /* Point注釈 */ .point__note { margin: 5px 0 0; font-weight: 400; font-size: 9px; line-height: 1.34; } /* Pointタイトル(スタック) */ .point__title--stack { font-size: 14px; line-height: 1.34; gap: 2px; } /* Pointアクセント */ .point__accent, .point__accent--lg { font-size: 22px; } /* Pointテキスト(標準) */ .point .point__line-rest:not(.point__line-rest--sm) { font-size: 14px; } /* --------------------------------------------------------------- SP - About --------------------------------------------------------------- */ /* About */ .about { overflow: hidden; } /* About背景画像 */ .about__bg-img { object-position: center top; } /* Aboutセクション見出し */ .section-heading { margin-bottom: 18px; } /* Aboutセクション見出しアイコン */ .section-heading__icon { margin: 0 0 6px; } /* Aboutセクション見出しアイコン画像 */ .section-heading__icon img { width: 36px; } /* Aboutセクション見出しタイトル */ .section-heading__title { line-height: 1.34; } /* About紹介文 */ .about__intro { padding: 0; font-weight: 600; font-size: calc(0.9375rem + 0.375rem * var(--fluid-t)); line-height: 2; zoom: 1; } /* About比較 */ .about__compare { margin: 0 auto 20px; width: 100%; } /* About比較画像 */ .about__compare-images { align-items: flex-end; justify-content: center; } /* About比較画像(最初) */ .about__compare-images>img:first-child { object-fit: cover; } /* About比較画像(最後) */ .about__compare-images>img:last-child { object-fit: cover; } .about__compare-label { letter-spacing: 0.03rem; line-height: 1.2; } /* AboutSP比較グリッド */ .about__grid-sp { display: flex; flex-direction: column; gap: calc(16px + 6px * var(--fluid-t)); width: 100%; max-width: calc(363px + 537px * var(--fluid-t)); margin: 0 auto; } /* AboutSP比較グリッド行 */ .about-grid-sp__row { display: flex; flex-direction: column; gap: 1px; } /* AboutSP比輻軸 */ .about-grid-sp__axis { margin: 16px 0 4px; padding: calc(12px + 4px * var(--fluid-t)) calc(8px + 4px * var(--fluid-t)); border-radius: calc(6px + 2px * var(--fluid-t)); font-weight: 600; font-size: calc(1rem + 0.25rem * var(--fluid-t)); line-height: 1.34; color: var(--color-text); text-align: center; letter-spacing: 0.04rem; } /* 最初の行の見出し */ .about-grid-sp__row:first-child .about-grid-sp__axis { margin-top: 0; } /* AboutSP比輻ヘッダ */ .about-grid-sp__heads, .about-grid-sp__cells { display: grid; grid-template-columns: 1fr 1fr; gap: calc(4px + 2px * var(--fluid-t)); } .about-grid-sp__cells { min-height: calc(109px + 21px * var(--fluid-t)); } /* AboutSP比輻ヘッダ */ .about-grid-sp__head { margin: 0; padding: calc(12px + 4px * var(--fluid-t)) calc(8px + 4px * var(--fluid-t)); min-height: calc(44px + 8px * var(--fluid-t)); display: flex; align-items: center; justify-content: center; border-radius: calc(5px + 2px * var(--fluid-t)); font-weight: 600; font-size: calc(0.875rem + 0.125rem * var(--fluid-t)); line-height: 1.34; text-align: center; } /* AboutSP比輻ヘッダ(前) */ .about-grid-sp__head--before { background: var(--color-gray-heading); color: var(--color-text); } /* AboutSP比輻ヘッダ(後) */ .about-grid-sp__head--after { background: var(--color-orange); color: #fff; } /* AboutSP比輻セル */ .about-grid-sp__cell { margin: 0; padding: calc(16px + 4px * var(--fluid-t)) calc(8px + 4px * var(--fluid-t)); border-radius: calc(5px + 2px * var(--fluid-t)); font-weight: 400; font-size: calc(0.75rem + 0.125rem * var(--fluid-t)); line-height: 1.6; color: #000; } /* AboutSP比輻セル(前) */ .about-grid-sp__cell--before { background: var(--color-gray-cell); } /* AboutSP比輻セル(後) */ .about-grid-sp__cell--after { background: var(--color-peach-cell); } /* --------------------------------------------------------------- SP - Reform --------------------------------------------------------------- */ /* Reformバナー */ .reform__banner { height: auto; aspect-ratio: 363 / 60; } /* Reformバナー見出し */ .reform__banner-title { position: absolute; left: 0; right: 0; top: -10px; bottom: 0; z-index: 2; margin: 0; display: flex; align-items: center; justify-content: center; font-family: var(--font-serif); font-weight: 700; font-size: calc(1.125rem + 0.58rem * var(--fluid-t)); letter-spacing: 0; line-height: 1.34; text-align: center; color: #fff; text-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } /* Reformグリッド */ .reform__grid { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: center; row-gap: calc(20px + 8px * var(--fluid-t)); column-gap: 0; max-width: none; padding: 0; } /* Reformカード */ .reform-card { margin: 0 auto; } /* Reformカードボディ */ .reform-card__body { width: calc(100% - 32px); max-width: none; margin: -40px auto 0; padding: 20px 15px; } /* Reformカード見出し */ .reform-card__title { letter-spacing: 0.0225rem; } /* --------------------------------------------------------------- SP - CTA --------------------------------------------------------------- */ /* CTA */ .cta__inner { width: 100%; padding: 20px; box-shadow: 0 2px 8px rgba(71, 58, 28, 0.08); } /* CTAタイトル */ .cta__title { letter-spacing: 0.0225rem; line-height: 1.34; font-weight: 600; } /* --------------------------------------------------------------- SP - Price --------------------------------------------------------------- */ .price { padding-top: 10px; } /* バナー間隔 */ .price-block__banner { border-width: 2px; overflow: visible; } /* Priceバナー鴨 */ .price-block__banner-duck { top: -1px; z-index: 5; transform: rotate(180deg) scaleY(-1); } /* Priceバナー塗り */ .price-block__banner-fill { opacity: 0.35; z-index: 1; overflow: hidden; } /* Priceバナー見出し */ .price-block__banner-title { letter-spacing: calc(0.0275rem + 0.01rem * var(--fluid-t)); } /* Priceブロック */ .price-block { --price-table-rule: var(--color-price-table-border); } /* PriceTier(最後) */ .price-tier:last-child { border-bottom: none; border-radius: 0; } /* PriceTier(最初) */ .price-tier:first-child { border-radius: 0; } /* Priceブロックテーブル */ .price-block__table { grid-template-columns: 113px 1fr; border: 1px solid var(--price-table-rule); overflow: hidden; background: transparent; /* 子背景が border の内側に収まるよう、塗り基準を padding-box に揃える */ background-clip: padding-box; height: auto; } /* Priceブロックテーブル価格 */ .price-block__price, .price-block__spec div { background-clip: padding-box; } /* Priceブロックテーブル価格 */ .price-block__price { font-family: var(--font-serif); font-weight: 600; line-height: 1.34; border-right: 1px solid var(--price-table-rule); padding: 0 4px; text-align: center; background: var(--color-orange-pale); } /* Priceブロックテーブル仕様 */ .price-block__spec { display: grid; grid-template-rows: 50px 50px; align-content: stretch; height: auto; padding: 0; gap: 0; line-height: 1.6; } /* Priceブロックテーブル仕様行 */ .price-block__spec div { display: flex; align-items: center; gap: 4px; padding: 0 8px; } /* Priceブロックテーブル仕様行(最初) */ .price-block__spec div:first-child { background: #fff; border-bottom: 1px solid var(--price-table-rule); } /* Priceブロックテーブル仕様行(最後) */ .price-block__spec div:last-child { background: var(--color-cream); } /* Priceブロックテーブル仕様見出し */ .price-block__spec dt { display: inline; font-weight: 700; line-height: 1.6; } /* Priceブロックテーブル仕様データ */ .price-block__spec dd { display: inline; font-weight: 400; line-height: 1.6; margin: 0; } /* Priceブロックテーブル(SP) */ .price-block__table--stack { display: flex; flex-direction: column; height: auto; min-height: 0; max-height: none; margin: 0 auto 16px; padding: 0; gap: 0; width: 100%; border: 1px solid var(--price-table-rule); border-radius: 7px; overflow: hidden; background: transparent; background-clip: padding-box; } /* PriceTier */ .price-tier { display: grid; grid-template-columns: 113px 1fr; grid-template-rows: auto; align-items: stretch; box-sizing: border-box; width: 100%; margin: 0; border: none; border-radius: 0; background: transparent; overflow: visible; } /* PriceTier(最後) */ .price-tier:not(:last-child) { border-bottom: 1px solid var(--price-table-rule); } /* PriceTierラベル */ .price-tier__label { padding: 8px 4px; border-right: 1px solid var(--price-table-rule); background: var(--color-orange-pale); background-clip: padding-box; align-self: stretch; } /* PriceTierラベル見出し */ .price-tier__label p:first-child { font-size: 0.875rem; line-height: 1.34; } /* PriceTierラベルデータ */ .price-tier__label p:last-child { font-size: 1rem; line-height: 1.34; } /* PriceTier仕様 */ .price-tier__spec { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; justify-content: flex-start; margin: 0; padding: 0; width: 100%; min-width: 0; height: auto; max-height: none; line-height: 1.6; grid-template-rows: none; grid-template-columns: none; align-content: stretch; } /* PriceTier行 */ .price-tier__row { display: flex; align-items: center; gap: 4px; box-sizing: border-box; width: 100%; height: 50px; line-height: 1.6; padding: 0 8px; } /* PriceTier行(最初) */ .price-tier__row:first-child { background: #fff; background-clip: padding-box; border-bottom: 1px solid var(--price-table-rule); } /* PriceTier行(最後) */ .price-tier__row:last-child { background: var(--color-cream); background-clip: padding-box; } /* PriceTierキー */ .price-tier__k { display: inline; font-weight: 700; line-height: 1.6; } /* PriceTierデータ */ .price-tier__v { display: inline; margin: 0; font-weight: 400; line-height: 1.6; } /* PriceFeature */ .price-feature { flex-direction: column; padding: 25px var(--pad-x); align-items: flex-start; } /* PriceFeatureラベル */ .price-feature__label { text-align: left; align-self: flex-start; } /* PriceFeatureテキスト */ .price-feature__text, .price-feature__body { line-height: 1.6; } /* --------------------------------------------------------------- SP - Feauter --------------------------------------------------------------- */ /* Feauters */ .feauters { display: block; position: relative; overflow: hidden; align-items: unset; /* SP は左右均等パディング(PC 基底の左 232px スケール値を上書き) */ padding: 50px var(--pad-x) 60px; background: linear-gradient(90.28deg, rgb(191, 238, 255) 0%, rgb(220, 254, 255) 99.258%); } /* Feauters背景 */ .feauters::before { content: none; } /* Feauters背景画像 */ .feauters__bg { position: absolute; inset: auto 0 0 0; height: 274px; z-index: 0; opacity: 1; overflow: hidden; pointer-events: none; } /* Feauters背景画像 */ .feauters__bg-img { position: absolute; right: 0; bottom: 0; left: auto; width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: right bottom; } /* Feautersタイトル */ .feauters__title { line-height: 1.34; margin-left: 0; text-align: center; color: #473a1c; } /* Feautersリボン */ .feauters__ribbon { margin: 0 auto 20px; } /* Feautersリボンリード */ .feauters__ribbon-lead { top: 21%; letter-spacing: calc(0.03rem + 0.0075rem * var(--fluid-t)); line-height: 1.34; left: 50%; right: auto; transform: translateX(-50%); width: 100%; text-align: center; color: #473a1c; } /* Feautersリボンスタット */ .feauters__ribbon-stat { top: 39%; gap: 4px; left: 50%; transform: translate(-50%, -20px); justify-content: center; color: #473a1c; } /* Feautersリボンスタット縦 */ .feauters__ribbon-stat-vertical { letter-spacing: 0.025rem; line-height: 1.06; } /* Feautersリボンスタット数 */ .feauters__ribbon-stat-num { letter-spacing: 0; margin-right: -0.1em; margin-bottom: -0.08em; line-height: 1; } /* Feautersリボンスタット単位 */ .feauters__ribbon-stat-oku { line-height: 1.06; } /* Feautersリボンスタット半分 */ .feauters__ribbon-stat-hari { line-height: 1.06; } /* Feautersリボンスレッド */ .feauters__ribbon-thread { inset: auto; top: auto; left: auto; right: 4%; bottom: 38%; transform: translateY(-6px); width: auto; height: auto; } /* Feauters成就 */ .feauters__achievements { position: relative; z-index: 2; width: fit-content; max-width: 100%; margin: 0 auto; align-items: flex-start; } /* Feauters成就リスト */ .feauters__achievements li { font-size: calc(1.25rem + 0.375rem * var(--fluid-t)); letter-spacing: 0.025rem; line-height: 1.34; color: #473a1c; } /* Feauters成就リスト画像 */ .feauters__achievements li img { width: 20px; height: 22px; flex-shrink: 0; } /* --------------------------------------------------------------- SP - Flow --------------------------------------------------------------- */ /* Flowステップ */ .flow__steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; justify-items: stretch; max-width: 660px; margin-left: auto; margin-right: auto; padding: 0; } /* Flowステップカード */ .flow-step__card { height: 262px; } /* Flowステップ */ .flow-step { width: 100%; max-width: none; } /* Flowステップバッジ見出し */ .flow-step__badge span:first-child { letter-spacing: 0.015rem; } /* Flowステップバッジテキスト */ .flow-step__badge span:last-child { letter-spacing: 0.0225rem; } /* Flowステップタイトル */ .flow-step__title { font-weight: 600; line-height: 1.34; } /* Flowステップテキスト */ .flow-step__text { flex: 1 1 auto; line-height: 1.6; } /* --------------------------------------------------------------- SP - FAQ --------------------------------------------------------------- */ /* FAQアイテム */ .faq-item { box-shadow: 0 2px 6px rgba(71, 58, 28, 0.05); } /* FAQアイテムマーク */ .faq-item__mark { line-height: 1; } /* FAQアイテム質問テキスト */ .faq-item__q-text { font-weight: 600; line-height: 1.34; } /* FAQアイテム回答テキスト */ .faq-item__a-text { line-height: 1.6; } /* --------------------------------------------------------------- SP - Footer --------------------------------------------------------------- */ /* Footer */ .site-footer { position: relative; z-index: 1; padding: 60px 15px 30px; border-radius: 50px 50px 0 0; min-height: 0; background: var(--color-footer); color: #fff; } /* Footer内 */ .site-footer__inner { display: flex; flex-direction: column; align-items: center; column-gap: 0; row-gap: 40px; width: 100%; max-width: none; margin-left: auto; margin-right: auto; } /* Footerブランド */ .site-footer__brand { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 15px; width: 100%; max-width: 363px; margin-top: 0; } /* Footerロゴ */ .site-footer__logo img { width: 225px; height: auto; } /* Footerフリーダイヤル */ .site-footer__freedial { display: flex; align-items: center; margin: 0; gap: 8px; font-family: var(--font-serif); font-weight: 600; font-size: 1.625rem; /* 26px */ line-height: 1; letter-spacing: 0.065rem; } /* Footerフリーダイヤルリンク */ .site-footer__freedial a { color: #fff; } /* Footerフリーダイヤルアイコン */ .site-footer__freedial-icon img { display: block; width: 30px; height: auto; } /* Footer店舗 */ .site-footer__stores { display: flex; flex-direction: column; gap: 15px; width: 100%; max-width: 350px; margin: 0 auto; align-items: stretch; justify-content: flex-start; } /* Footer店舗 */ .site-footer__store { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 100%; box-sizing: border-box; margin: 0 auto; border: 1px solid #fff; border-radius: 7px; text-align: center; font-style: normal; } /* Footer店舗(東仙北) */ .site-footer__store:first-of-type { min-height: 130px; padding: 20px 20px 20px 21px; } /* Footer店舗(前沢) */ .site-footer__store:last-of-type { min-height: 148px; padding: 20px; } /* Footer店舗名 */ .site-footer__store-name { margin: 0; font-family: var(--font-sans); font-weight: 600; letter-spacing: 0.025rem; line-height: 1.34; } /* Footer店舗住所 */ .site-footer__store-address { margin: 0; font-size: 0.875rem; font-family: var(--font-sans); font-weight: 400; line-height: 1.34; } /* Footer店舗電話 */ .site-footer__store-tel { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0; font-family: var(--font-serif); font-weight: 600; font-size: 1.625rem; /* 26px */ letter-spacing: 0.05rem; line-height: 1.34; } /* Footer店舗電話リンク */ .site-footer__store-tel a { color: #fff; } /* Footer店舗電話アイコン */ .site-footer__store-tel img { display: block; flex-shrink: 0; width: 20px; height: 20px; } /* Footerメタ */ .site-footer__meta { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 60px; margin-left: auto; margin-right: auto; width: 100%; max-width: none; } /* Footerリンク */ .site-footer__legal { display: flex; flex-wrap: wrap; gap: 20px; line-height: 1.34; font-weight: 400; justify-content: center; } /* Footerリンクリンク */ .site-footer__legal a { color: #fff; } /* Footerコピー */ .site-footer__copy { margin: 0; line-height: 1.34; font-weight: 400; color: #fff; text-align: center; } /* Footerコピー小 */ .site-footer__copy small { font-size: inherit; font-weight: inherit; } } /* --------------------------------------------------------------- SP中間幅 - Footer(560px〜767px)横並びレイアウト --------------------------------------------------------------- */ @media (min-width: 680px) and (max-width: 767px) { /* Footer */ .site-footer { --footer-s: clamp(0, (100vw - 2 * var(--pad-x)) / (1280px - 2 * var(--pad-x)), 1); padding: calc(56px * var(--footer-s)) var(--pad-x) calc(72px * var(--footer-s)); border-radius: calc(100px * var(--footer-s)) calc(100px * var(--footer-s)) 0 0; min-height: calc(396px * var(--footer-s)); } /* Footerインナー */ .site-footer__inner { flex-direction: row; flex-wrap: nowrap; align-items: flex-start; justify-content: center; column-gap: calc(62px * var(--footer-s)); row-gap: 0; max-width: calc(1163px * var(--footer-s)); } /* Footerブランド */ .site-footer__brand { flex: 0 0 auto; width: calc(339px * var(--footer-s)); max-width: none; align-items: flex-start; gap: 0; margin-top: calc(14px * var(--footer-s)); } /* Footerロゴ */ .site-footer__logo img { width: calc(220px * var(--footer-s)); max-width: none; } /* Footerフリーダイヤル */ .site-footer__freedial { gap: calc(12px * var(--footer-s)); margin: calc(20px * var(--footer-s)) 0 0; font-size: calc(2.5rem * var(--footer-s)); letter-spacing: calc(0.1rem * var(--footer-s)); } /* Footerフリーダイヤルアイコン */ .site-footer__freedial-icon img { width: calc(51.819px * var(--footer-s)); } /* Footer店舗リスト:横並びに切替 */ .site-footer__stores { flex-direction: row; flex-wrap: nowrap; gap: calc(20px * var(--footer-s)); flex: 0 0 auto; justify-content: flex-start; width: auto; max-width: none; margin: 0; } /* Footer店舗 */ .site-footer__store { width: calc(371px * var(--footer-s)); max-width: 100%; height: calc(158px * var(--footer-s)); min-height: 0; margin: 0; gap: 0; padding: calc(20px * var(--footer-s)) calc(20px * var(--footer-s)) calc(20px * var(--footer-s)) calc(21px * var(--footer-s)); border-radius: calc(8px * var(--footer-s)); } /* Footer店舗(東仙北) */ .site-footer__store:first-of-type { min-height: 0; padding: calc(20px * var(--footer-s)) calc(20px * var(--footer-s)) calc(20px * var(--footer-s)) calc(21px * var(--footer-s)); } /* Footer店舗(前沢) */ .site-footer__store:last-of-type { min-height: 0; padding: calc(20px * var(--footer-s)); } /* Footer店舗名 */ .site-footer__store-name { display: block; font-size: calc(1.5rem * var(--footer-s)); letter-spacing: calc(0.03rem * var(--footer-s)); margin-bottom: calc(8px * var(--footer-s)); } /* Footer店舗住所 */ .site-footer__store-address { margin: 0 0 calc(8px * var(--footer-s)); font-size: calc(0.875rem * var(--footer-s)); } /* Footer店舗電話 */ .site-footer__store-tel { gap: calc(9px * var(--footer-s)); font-size: calc(1.5rem * var(--footer-s)); letter-spacing: calc(0.06rem * var(--footer-s)); } /* Footer店舗電話アイコン */ .site-footer__store-tel img { width: calc(23px * var(--footer-s)); height: calc(23px * var(--footer-s)); } /* Footerメタ */ .site-footer__meta { align-items: flex-end; max-width: calc(1163px * var(--footer-s)); margin-top: calc(50px * var(--footer-s)); } /* Footer法令 */ .site-footer__legal { gap: calc(20px * var(--footer-s)); font-size: calc(0.875rem * var(--footer-s)); } /* Footerコピー */ .site-footer__copy { font-size: calc(0.875rem * var(--footer-s)); text-align: right; } } /* 320px〜393px:極小幅レスポンシブ */ @media (max-width: 392px) { :root { --fluid-xs: calc((100vw - 320px) / 73px); } /* 見出し(~25% 縮小) */ .section-heading__title { font-size: calc(1.3125rem + 0.4375rem * var(--fluid-xs)); } .about { padding-top: 40px; } /* About(~30% 縮小) */ .about__intro { font-size: clamp(0.75rem, calc(0.656rem + 0.2815rem * var(--fluid-xs)), 0.9375rem); } /* about__compare-images */ .about__compare-images { zoom: calc(0.85 + 0.15 * var(--fluid-xs)); } /* about-grid-sp__axis */ .about-grid-sp__axis { font-size: calc(0.8rem + 0.2rem * var(--fluid-xs)); } /* about-grid-sp__head */ .about-grid-sp__head { font-size: calc(0.7rem + 0.175rem * var(--fluid-xs)); } /* about-grid-sp__cell */ .about-grid-sp__cell { font-size: clamp(0.75rem, calc(0.585rem + 0.165rem * var(--fluid-xs)), 0.75rem); } /* Reform */ /* reform__banner-title (~25%) */ .reform__banner-title { font-size: calc(13.5px + 4.5px * var(--fluid-xs)); } /* reform-card__text (~30%) */ .reform-card__text { font-size: clamp(0.75rem, calc(0.6125rem + 0.2625rem * var(--fluid-xs)), 0.875rem); } /* Feauters(~25% 縮小) */ .feauters__achievements li { font-size: calc(0.9375rem + 0.3125rem * var(--fluid-xs)); } .price { padding-top: 0px; } /* Price(~30%) */ .price-block__table { font-size: calc(0.3rem + 0.1875rem * var(--fluid-xs)); } /* Price右側テキスト(393px時13px→320px時12px) ※ dt/dd/k/v に個別font-sizeがあるためリーフ要素に直接指定 */ .price-block__spec dt, .price-block__spec dd, .price-tier__k, .price-tier__v { font-size: clamp(0.6875rem, calc(0.6875rem + 0.0625rem * var(--fluid-xs)), 0.8125rem); } /* FAQ(~25% 縮小) */ .faq-item__mark { font-size: calc(0.84rem + 0.285rem * var(--fluid-xs)); } /* faq-item__q-text */ .faq-item__q-text { font-size: clamp(0.75rem, calc(0.7rem + 0.2375rem * var(--fluid-xs)), 0.9375rem); } /* faq-item__a-text */ .faq-item__a-text { font-size: clamp(0.75rem, calc(0.656rem + 0.219rem * var(--fluid-xs)), 0.875rem); } /* Flow(393px時262px → 320px時280px、少し下を長く) */ .flow-step__card { height: calc(280px - 18px * var(--fluid-xs)); } /* Footer */ .site-footer__store-address { font-size: calc(0.7rem + 0.175rem * var(--fluid-xs)); } }
Warning: Cannot modify header information - headers already sent by (output started at /home/towabizyutsu/vooblog.net/public_html/wp-content/themes/yayoi_HP/functions.php:1) in /home/towabizyutsu/vooblog.net/public_html/wp-includes/pluggable.php on line 1531

Warning: Cannot modify header information - headers already sent by (output started at /home/towabizyutsu/vooblog.net/public_html/wp-content/themes/yayoi_HP/functions.php:1) in /home/towabizyutsu/vooblog.net/public_html/wp-includes/pluggable.php on line 1534