/* --------------------------------------------------------------- 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