@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-weight: 400;
  box-sizing: border-box;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th, td {
  vertical-align: middle;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

address {
  font-style: normal;
}

/*--------------------------------------------------------------
  Kensetsu-NY 基本スタイル（旧 テーマルート style.css）
--------------------------------------------------------------*/
/* # CSS変数 / CSS Variables
------------------------------------------------ */
:root {
  /* ## 色 / Colors
  ------------------------------------------------ */
  /* basic-colors */
  --color-background-base: #f6f9fa;
  --color-text-base: #191c2f;
  /* color-primary */
  --color-primary-50: #eff5ff;
  --color-primary-100: #dce9ff;
  --color-primary-200: #bad3ff;
  --color-primary-300: #86b0f5;
  --color-primary-400: #4f84d8;
  --color-primary-500: #2357aa;
  --color-primary-600: #1d4a93;
  --color-primary-700: #173c78;
  --color-primary-800: #122f5e;
  --color-primary-900: #0d2245;
  --color-primary-950: #07162f;
  /* color-secondary */
  --color-secondary-50: #f5f7fb;
  --color-secondary-100: #e7edf7;
  --color-secondary-200: #cedaee;
  --color-secondary-300: #a9bddc;
  --color-secondary-400: #839dc4;
  --color-secondary-500: #475f86;
  --color-secondary-600: #3e5376;
  --color-secondary-700: #344562;
  --color-secondary-800: #29374e;
  --color-secondary-900: #1f2a3b;
  --color-secondary-950: #141b26;
  /* color-accent */
  --color-accent-50: #f0fbff;
  --color-accent-100: #dff6ff;
  --color-accent-200: #b9edff;
  --color-accent-300: #76dcff;
  --color-accent-400: #20a5df;
  --color-accent-500: #00aaeb;
  --color-accent-600: #1e88e5;
  --color-accent-700: #176bb4;
  --color-accent-800: #14578f;
  --color-accent-900: #124877;
  --color-accent-950: #0b2d4b;
  /* color-gray */
  --color-gray-50: #f1f1f1;
  --color-gray-100: #dcdcdc;
  --color-gray-200: #bcbcbc;
  --color-gray-300: #a0a0a0;
  --color-gray-400: #878787;
  --color-gray-500: #707070;
  --color-gray-600: #5a5a5a;
  --color-gray-700: #464646;
  --color-gray-800: #333333;
  --color-gray-900: #1e1e1e;
  --color-gray-950: #111111;
  /* ## フォント / Fonts
  ------------------------------------------------ */
  --font-family-en: "Poppins", sans-serif;
  --font-family-ja: "Noto Sans JP", sans-serif;
  --font-family-accent: "Poppins", sans-serif;
  --font-family-serif: "Noto Serif JP", serif;
  /* ## サイズ / Size
  ------------------------------------------------ */
  /* min:8px, max:10px */
  --size-small-30: clamp(0.5rem, 0.403rem + 0.278vw, 0.625rem);
  /* min:10px, max:12px */
  --size-small-20: clamp(0.63rem, -0.625rem + 1.833vw, 0.75rem);
  /* min:12px, max:14px */
  --size-small-10: clamp(0.75rem, 0.625rem + 0.333vw, 0.875rem);
  /* min:14px, max:16px */
  --size-regular: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
  /* min:16px, max:18px */
  --size-large-10: clamp(1rem, 0.875rem + 0.333vw, 1.125rem);
  /* min:18px, max:22px */
  --size-large-20: clamp(1.125rem, 0.875rem + 0.667vw, 1.375rem);
  /* min:22px, max:28px */
  --size-large-30: clamp(1.375rem, 1rem + 1vw, 1.75rem);
  /* min:28px, max:36px */
  --size-large-40: clamp(1.75rem, 1.25rem + 1.333vw, 2.25rem);
  /* min:34px, max:42px */
  --size-large-45: clamp(2.125rem, 1.929rem + 0.87vw, 2.625rem);
  /* min:36px, max:48px */
  --size-large-50: clamp(2.25rem, 1.5rem + 2vw, 3rem);
  /* min:40px, max:56px */
  --size-large-55: clamp(2.5rem, 1.528rem + 2.778vw, 3.75rem);
  /* min:48px, max:64px */
  --size-large-60: clamp(3rem, 2rem + 2.667vw, 4rem);
  /* min:64px, max:80px */
  --size-large-70: clamp(2.875rem, 0.75rem + 5.667vw, 5rem);
  /* min:80px, max:100px */
  --size-large-80: clamp(5rem, 3.75rem + 3.333vw, 6.25rem);
  /* min:100px, max:128px */
  --size-large-90: clamp(6.25rem, 4.5rem + 4.667vw, 8rem);
  /* min:128px, max:176px */
  --size-large-100: clamp(8rem, 5.667rem + 6.667vw, 11rem);
  /* min:144px, max:192px */
  --size-large-110: clamp(9rem, 6.667rem + 6.667vw, 12rem);
  /* min:152px, max:200px */
  --size-large-120: clamp(9.5rem, 7.167rem + 6.667vw, 12.5rem);
  /* min:168px, max:224px */
  --size-large-130: clamp(10.5rem, 7.778rem + 7.778vw, 14rem);
  /* min:180px, max:240px */
  --size-large-140: clamp(11.25rem, 8.333rem + 8.333vw, 15rem);
  /* min:200px, max:260px */
  --size-large-150: clamp(12.5rem, 9.583rem + 8.333vw, 16.25rem);
  /* min:220px, max:280px */
  --size-large-160: clamp(13.75rem, 10.833rem + 8.333vw, 17.5rem);
  /* ## スペース / Space
  ------------------------------------------------ */
  /* min: 2px, max: 4px */
  --space-small-30: clamp(0.125rem, 0.028rem + 0.278vw, 0.25rem);
  /* min:4px, max:6px */
  --space-small-20: clamp(0.25rem, 0.125rem + 0.333vw, 0.375rem);
  /* min:8px, max:12px */
  --space-small-10: clamp(0.5rem, 0.25rem + 0.667vw, 0.75rem);
  /* min:12px, max:16px */
  --space-regular: clamp(0.75rem, 0.5rem + 0.667vw, 1rem);
  /* min:16px, max:24px */
  --space-large-10: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
  /* min:24px, max:32px */
  --space-large-20: clamp(1.5rem, 1rem + 1.333vw, 2rem);
  /* min:32px, max:48px */
  --space-large-30: clamp(2rem, 1rem + 2.667vw, 3rem);
  /* min:48px, max:64px */
  --space-large-40: clamp(3rem, 2rem + 2.667vw, 4rem);
  /* min:56px, max:80px */
  --space-large-45: clamp(3.5rem, 2.913rem + 2.609vw, 5rem);
  /* min:64px, max:96px */
  --space-large-50: clamp(4rem, 2rem + 5.333vw, 6rem);
  /* min:96px, max:128px */
  --space-large-60: clamp(6rem, 4rem + 5.333vw, 8rem);
  /* min:128px, max:192px */
  --space-large-70: clamp(8rem, 4rem + 10.667vw, 12rem);
  /* min:192px, max:256px */
  --space-large-80: clamp(12rem, 8rem + 10.667vw, 16rem);
  /* min:256px, max:320px */
  --space-large-90: clamp(16rem, 12rem + 10.667vw, 20rem);
  /* min:320px, max:384px */
  --space-large-100: clamp(20rem, 16rem + 10.667vw, 24rem);
  /* min:384px, max:448px */
  --space-large-110: clamp(24rem, 20.889rem + 8.889vw, 28rem);
  /* min:448px, max:512px */
  --space-large-120: clamp(28rem, 24.889rem + 8.889vw, 32rem);
  /* min: 480px, max: 592px */
  --space-large-130: clamp(30rem, 24.556rem + 15.556vw, 37rem);
  /* min:512px, max:640px */
  --space-large-140: clamp(32rem, 25.778rem + 17.778vw, 40rem);
  /* min:640px, max:800px */
  --space-large-150: clamp(40rem, 32.222rem + 22.222vw, 50rem);
  /* ## シャドウ / Shadow
  ------------------------------------------------ */
  --text-shadow-bk: 0 0 2px rgba(0, 0, 0, 0.3);
  --text-shadow-wh: 0 0 2px rgba(255, 255, 255, 0.3);
  --box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
}

body {
  width: 100%;
  font-size: var(--size-small-10);
  color: var(--color-text-base);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  font-feature-settings: "palt";
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Sans JP", sans-serif;
}

.title_en {
  font-family: "Poppins", sans-serif;
}

h1 {
  font-size: var(--size-large-55);
}

h2 {
  font-size: var(--size-large-45);
}

h3 {
  font-size: var(--size-large-20);
}

img,
svg {
  width: 100%;
  height: auto;
  line-height: 1;
  border: none;
}

/** リンク **/
a {
  font-size: 100%;
  color: #fff;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

.btn {
  color: var(--color-text-base);
  border: 1px solid var(--color-text-base);
  padding: 0.5rem 3rem;
  position: relative;
  box-sizing: border-box;
  transition: 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
}

.btn::before {
  background: var(--color-text-base);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: "";
  transform-origin: left top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}

.btn::after {
  content: "";
  flex-shrink: 0;
  width: 1.6em;
  height: 1.6em;
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M684.16-454.87H180v-50.26h504.16L444.67-744.61 480-780l300 300-300 300-35.33-35.39 239.49-239.48Z'/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M684.16-454.87H180v-50.26h504.16L444.67-744.61 480-780l300 300-300 300-35.33-35.39 239.49-239.48Z'/%3E%3C/svg%3E") no-repeat center/contain;
  transition: transform 0.3s;
}

.btn:hover,
.btn:focus,
.btn:active {
  transition: 0.3s;
  color: #fff;
  opacity: 1;
}

.btn:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.btn:hover::after,
.btn:focus::after {
  transform: translateX(0.25em);
}

.btn-text {
  color: var(--color-text-base);
}

/** その他 **/
.wrap {
  width: 100%;
}

.wrapper {
  width: calc(100% - 4rem);
  max-width: 1280px;
  margin: 0 auto;
  padding: 50px 0 var(--size-large-80);
}

.flex {
  display: flex;
  flex-wrap: wrap;
}

.inner {
  width: 100%;
}

.m-view {
  display: none;
}

.b-view.m-view {
  display: block;
}

/*-- 下層ページ --*/
.lower .wrapper {
  margin-top: 0;
  margin-bottom: 80px;
}

/*--------------------------------------------------------------
## header
--------------------------------------------------------------*/
.header {
  position: relative;
}

.header-branding {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-branding,
.header_img .inner {
  width: calc(100% - 70px);
  height: calc(100vh - 0.1rem);
  min-height: 900px;
}

.branding_site-subttl {
  font-size: 0.5em;
  letter-spacing: 0.04em;
}

.branding_site-logo {
  width: 380px;
}

.branding_site-logo.site-logo_index,
.index .branding_site-logo.site-logo_lower {
  display: none;
}

.index .branding_site-logo.site-logo_index {
  display: block;
}

.header_img .inner {
  position: absolute;
  top: 0;
  z-index: -1;
  overflow: hidden;
}

.header_img .inner::after {
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(44, 44, 44, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
}

.header_img .header-slider__wrapper,
.header_img .header-slider__slide {
  height: 100%;
  background-position: center;
  background-size: cover;
}

.header_img .header-slider__slide--glasscoating {
  background-image: url(../img/top-slider-3.jpg);
}

.header_img .header-slider__slide--painting {
  background-image: url(../img/top-slider-1.jpg);
}

.header_img .header-slider__slide--buffing {
  background-image: url(../img/top-slider-2.jpg);
}

.header_img .page-title {
  color: #fff;
  font-size: var(--size-large-60);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  writing-mode: vertical-rl;
  font-feature-settings: normal;
  letter-spacing: 0.25rem;
  white-space: nowrap;
}

/*-- 下層ページ --*/
body.lower .header-branding,
body.lower .header_img .inner {
  width: 100%;
  height: 100%;
  min-height: 600px;
}

body.lower .header-branding {
  align-items: flex-start;
  padding-top: 1.5rem;
}

body.lower .branding_site-logo {
  width: 200px;
}

.header_img.lower-page .inner {
  background: url(../img/lower-header.jpg) center/cover no-repeat;
}

.header_img.lower-page--glass-coating .inner {
  background-image: url(../img/lower-header-glass-coating.jpg);
}

.header_img.lower-page--buffing .inner {
  background-image: url(../img/lower-header-buffing.jpg);
}

.header_img.lower-page--painting .inner {
  background-image: url(../img/lower-header-painting.jpg);
}

.header_img.lower-page--about .inner {
  background-image: url(../img/lower-header-about.jpg);
}

.header_img.lower-page--contact .inner {
  background-image: url(../img/lower-header-contact.jpg);
}

.header_img.lower-page--gallery .inner {
  background-image: url(../img/lower-header-gallery.jpg);
}

.header_img.lower-page--news .inner {
  background-image: url(../img/lower-header-news.jpg);
}

.header_img.lower-page .page-title {
  position: absolute;
  top: 250px;
  right: 50%;
  transform: translateX(50%);
  font-size: var(--size-large-55);
  text-align: center;
  line-height: 1;
  writing-mode: horizontal-tb;
}

.header_img.lower-page span {
  font-size: var(--size-large-30);
  text-transform: capitalize;
}

/*--------------------------------------------------------------
## navi
--------------------------------------------------------------*/
/*-- ▼drower-nav▼ --*/
.nav-tgl,
.open {
  display: none;
}

.nav-tgl:checked ~ .close.nav-tgl_icon {
  display: block;
  opacity: 0.3;
}

.open.nav-tgl_icon {
  display: inline-block;
  background: var(--color-text-base);
  width: 70px;
  height: 70px;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 1000;
}

.open.nav-tgl_icon span {
  background: #fff;
  display: block;
  height: 2px;
  left: 50%;
  margin: 0 0 0 -20%;
  position: absolute;
  top: 55%;
  transition: all 0.3s ease-in-out;
  width: 30px;
}

.open.nav-tgl_icon span::before,
.open.nav-tgl_icon span::after {
  -webkit-transform: rotate(0);
  background: #fff;
  border-radius: 4px;
  content: "";
  display: block;
  height: 100%;
  right: 0;
  margin: 0 0 0 -50%;
  position: absolute;
  top: 50%;
  transform: rotate(0);
  transition: all 0.3s ease-in-out;
}

.open.nav-tgl_icon span::before {
  margin-top: -36%;
  width: 75%;
}

.open.nav-tgl_icon span::after {
  margin-top: 35%;
  width: 115%;
}

.nav-tgl:checked ~ .open.nav-tgl_icon span {
  background: rgba(51, 51, 51, 0);
}

.nav-tgl:checked ~ .open.nav-tgl_icon span::before,
.nav-tgl:checked ~ .open.nav-tgl_icon span::after {
  content: "";
  display: block;
  height: 100%;
  left: 48%;
  margin: -8% 0 0 -50%;
  position: absolute;
  top: 50%;
  width: 100%;
}

.nav-tgl:checked ~ .open.nav-tgl_icon span::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.nav-tgl:checked ~ .open.nav-tgl_icon span::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.nav-tgl:checked ~ .global-nav {
  transform: translateX(0);
  box-shadow: 6px 0 25px rgba(0, 0, 0, 0.16);
}

.nav-tgl:checked ~ .sns-nav {
  transform: translateX(0);
}

/*-- ▼site-navi▼ --*/
.global-nav {
  overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  padding: 2.5rem 3rem;
  box-sizing: border-box;
  background: var(--color-primary-900);
  color: #fff;
  transition: all 0.8s ease-in-out 0s;
  transform: translateX(100%);
  overflow-y: scroll;
  margin-top: 0;
  text-align: center;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  display: flex;
  justify-content: center;
  align-items: center;
}

.global-nav::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

.global-nav_list {
  margin: 3rem 0;
}

.global-nav_item {
  padding: 0.5rem 0;
}

.global-nav_item a {
  text-align: center;
  padding: 0.5rem 0;
  display: block;
  font-size: var(--size-large-30);
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
}

.global-nav_item a:hover {
  color: var(--color-primary-300);
  opacity: 1;
}

.global-nav_item {
  padding: 0.5rem 0;
  text-align: center;
}

.global-nav .branding_site-title {
  font-size: var(--size-large-30);
  margin-top: 1rem;
}

.global-nav .branding_site-title img {
  width: 200px;
}

/*-- ▼sns-navi▼ --*/
.sns-nav {
  position: fixed;
  width: 70px;
  bottom: 70px;
  right: 0;
  z-index: 1000;
  box-sizing: border-box;
  transition: all 0.8s ease-in-out 0s;
  transform: translateX(100%);
  margin-top: 0;
}

.sns-nav_item {
  width: 100%;
  height: 70px;
  text-align: center;
}

.sns-nav_item a {
  width: 100%;
}

.sns-nav_item a img {
  width: 35px;
}

/*-- ▼sub-navi▼ --*/
.sub-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 70px;
  z-index: 999;
}

.sub-nav_list .list_item {
  display: list-item;
  writing-mode: vertical-rl;
  font-feature-settings: normal;
  white-space: nowrap;
  width: 100%;
  height: 165px;
  line-height: 70px;
  font-size: var(--size-regular);
  text-align: center;
  background: #fff;
}

.sub-nav_list .list_item a {
  width: 100%;
  display: block;
  letter-spacing: 0.05rem;
  background: var(--color-text-base);
  box-sizing: border-box;
}

.sub-nav_list .list_item.type2 a {
  background: var(--color-primary-700);
  color: #fff;
}
.sub-nav_list .list_item.type2 a:hover {
  background: var(--color-primary-500);
}

/*-- ▼nav-ft▼ --*/
.nav-ft {
  font-size: var(--size-large-20);
}

.nav-ft .company {
  font-size: var(--size-large-45);
  color: #fff;
  letter-spacing: 0.3rem;
}

.nav-ft span {
  margin-right: 1rem;
  font-size: var(--size-large-20);
  letter-spacing: 0.05rem;
}

.nav-ft .tel,
.nav-ft .tel a {
  font-size: var(--size-large-20);
}

/*--------------------------------------------------------------
## main
--------------------------------------------------------------*/
.contents {
  margin-top: 200px;
  width: 100%;
  position: relative;
  box-sizing: border-box;
}

.title_ja {
  font-feature-settings: normal;
  line-height: 1.5;
  color: var(--color-primary-600);
  font-weight: 600;
}

.title_en {
  display: inline-block;
  font-size: var(--size-large-20);
}

/*-- contents01 --*/
.contents01 {
  padding: 0 4rem;
  position: relative;
}
.contents01::before {
  content: "";
  position: absolute;
  top: 6.425rem;
  right: 0;
  width: 60%;
  height: 100%;
  background: var(--color-primary-50);
}
.contents01 .inner {
  flex-direction: row-reverse;
  height: 600px;
}
.contents01 .col1 {
  position: relative;
  width: 45%;
  margin-left: 2rem;
  z-index: 1;
}
.contents01 .contents_title {
  display: inline-block;
  position: absolute;
  top: -50px;
  right: 0;
}
.contents01 .title_en {
  transform: rotate(90deg) translate(75px, -90%);
}
.contents01 .title_ja {
  writing-mode: vertical-rl;
}
.contents01 .contents_txt {
  position: absolute;
  right: 0;
  bottom: 120px;
}
.contents01 .contents_detail {
  line-height: 2.2;
}
.contents01 .col2 {
  width: 50%;
  height: 640px;
  position: absolute;
  top: 0;
  left: 0;
}
.contents01 .contents_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .contents01 .col1 {
    width: calc(48% - 2rem);
    margin-left: 0;
    margin-right: 2rem;
  }
  .contents01 .contents_title {
    top: -8rem;
  }
}
@media screen and (max-width: 960px) {
  .contents01::before {
    width: 90%;
    opacity: 0.8;
    z-index: 1;
  }
  .contents01 .col1 {
    width: 80%;
  }
  .contents01 .col2 {
    width: 80%;
  }
}
@media screen and (max-width: 560px) {
  .contents01 {
    padding: 0 2rem;
  }
  .contents01::before {
    width: 100%;
    top: 20px;
    right: 20px;
    left: auto;
  }
  .contents01 .contents_title {
    position: static;
    margin-bottom: 3rem;
  }
  .contents01 .title_ja {
    writing-mode: initial;
    font-size: var(--size-large-45);
  }
  .contents01 .title_en {
    transform: none;
  }
  .contents01 .contents_txt {
    position: static;
  }
  .contents01 .col1 {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .contents01 .col2 {
    width: 100%;
  }
}
@media screen and (max-width: 500px) {
  .contents01 .inner {
    height: 500px;
  }
  .contents01 .col2 {
    height: 540px;
  }
  .contents01 .contents_title {
    padding-top: var(--space-large-30);
  }
}

/*-- contents02 --*/
.contents02 {
  padding: 0 4rem 0;
}

.contents02 .flex {
  flex-wrap: nowrap;
}

.contents02 .col1 {
  padding: 0 80px 0 100px;
  width: 50%;
  box-sizing: border-box;
  z-index: 3;
}

.contents02 .contents_btn {
  text-align: right;
  margin-top: 2.57rem;
}

.contents02 p {
  line-height: 2.5;
}

.contents02 .col2 {
  width: 480px;
  height: 720px;
  background: url(../img/about-img01.jpg) center/cover no-repeat;
  position: relative;
  z-index: 2;
}

.contents02 .col2::before {
  content: "";
  width: 100%;
  height: 100%;
  background: var(--color-secondary-200);
  position: absolute;
  z-index: -999;
  top: 36px;
  left: calc(-100% + 50px);
  opacity: 0.9;
}

.contents02 .contents_title {
  position: relative;
  margin-bottom: 100px;
}

.contents02 .title_en {
  position: absolute;
  top: 4rem;
}

/*-- contents03 --*/
.contents03 .contents_title {
  text-align: center;
  margin-bottom: 2rem;
}

.contents03 .gallery-list {
  width: 100%;
}

.gallery-list .list_item {
  flex: 0 1 calc(50% - 7px);
  margin-bottom: 14px;
  background: var(--color-primary-200);
  padding: 1rem;
  box-sizing: border-box;
}

.gallery-list .list_item a {
  flex-wrap: nowrap;
  align-items: flex-start;
}

.gallery-list .title {
  font-size: var(--size-regular);
  color: var(--color-text-base);
  margin-bottom: 0.5rem;
}

.gallery-list .text {
  font-size: var(--size-small-20);
  color: var(--color-text-base);
}

.gallery-list .list_item:nth-child(2n) {
  margin-left: 14px;
}

.gallery-list .thumbnail {
  min-width: 150px;
}

.gallery-list .post-content {
  margin-left: 1rem;
}

.contents03 .btn-text {
  float: right;
  text-align: right;
}

.contents03 .contents_item {
  padding: 0 4rem;
}

/*-- contents-news（新着情報） --*/
.contents-news .contents_title {
  text-align: center;
  margin-bottom: 2rem;
}

.contents-news .news-list {
  width: 100%;
}

.news-list .list_item {
  flex: 0 1 calc(50% - 7px);
  margin-bottom: 14px;
  background: var(--color-secondary-200);
  padding: var(--space-large-20);
  box-sizing: border-box;
}

.news-list .list_item a {
  flex-wrap: nowrap;
  align-items: flex-start;
}

.news-list .title {
  font-size: var(--size-regular);
  color: var(--color-text-base);
  margin-bottom: 0.5rem;
}

.news-list .text {
  font-size: var(--size-small-20);
  color: var(--color-text-base);
}

.news-list .list_item:nth-child(2n) {
  margin-left: 14px;
}

.news-list .thumbnail {
  min-width: 150px;
}

.news-list .post-content {
  margin-left: 1rem;
}

.contents-news .btn-text {
  float: right;
  text-align: right;
}

.contents-news .contents_item {
  padding: 0 4rem;
}

/*-- contents04 --*/
.contents04 {
  margin-top: 224px;
  margin-bottom: 174px;
}

.contents04::before {
  content: "";
  background: var(--color-primary-100);
  width: 100%;
  height: 400px;
  position: absolute;
  top: 50px;
  left: 0;
}

.contents04 .col1 {
  width: 200px;
}

.contents04 .contents_title {
  display: inline-block;
  position: absolute;
  top: -50px;
  left: 6rem;
}

.contents04 .title_en {
  transform: rotate(90deg) translate(2.57rem, 15%);
}

.contents04 .title_ja {
  writing-mode: vertical-rl;
}

.contents04 .col2 .inner {
  width: 260px;
  color: #fff;
  position: absolute;
  left: 2rem;
  bottom: 1rem;
}

.contents04 .col2 .btn {
  color: #fff;
  border: 1px solid #fff;
  width: 100%;
  text-align: center;
  margin-top: 1rem;
  position: sticky;
}

.contents04 .col2 .btn::before {
  background: #fff;
}

.contents04 .col2 .btn:hover,
.contents04 .col2 .btn:focus,
.contents04 .col2 .btn:active,
.contents04 .col2 .btn:visited {
  color: var(--color-text-base);
}

.contents04 .col2 {
  width: 80%;
  height: 400px;
  background: url(../img/top-glasscoating.jpg) center/cover no-repeat;
  position: relative;
}

/*-- contents05 --*/
.contents05 {
  padding: 0 4rem;
  text-align: center;
  width: 100%;
}

.contents05 .contents_title {
  margin-bottom: 2rem;
}

.contents05 p {
  padding: 1rem 2rem;
  line-height: 3;
  font-size: var(--size-regular);
}

/*-- contents06 --*/
.contents06 .col1 {
  box-sizing: border-box;
  font-size: var(--size-large-70);
  height: 100%;
  padding: 5%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.contents06 .para-bg {
  background-image: url("../img/about-parallax.jpg");
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 400px;
}

/*スクロールするコンテンツ*/
.contents06 .col2 {
  width: 100%;
  height: 100%;
  padding-top: 4rem;
}

.contents06 .contents_title {
  margin-bottom: 2rem;
  text-align: center;
}

.contents06 table.item {
  width: auto;
  margin: 2rem auto;
}

.contents06 table.item th,
.contents06 table.item td {
  padding: 1rem 2rem;
  border-bottom: 1px solid var(--color-text-base);
}

/*-- contents07 --*/
.contents07 {
  width: 100%;
  padding-bottom: 50px;
}

.contents07 .inner {
  align-items: stretch;
}

.contents07 .col1,
.contents07 .col2,
.contents07 .col3 {
  width: 32%;
}

.contents07 .col2 {
  margin: 0 2%;
}

.contents07 img {
  max-width: 100%;
  aspect-ratio: 1.618;
  object-fit: cover;
}

.contents07 .item {
  position: relative;
}

.contents07 .item_title {
  text-align: center;
  line-height: 1.4;
  font-size: var(--size-large-20);
  font-weight: 700;
  color: var(--color-primary-900);
}

.contents07 .item_text {
  padding: 0.5rem 1rem;
}

.contents07 .item_btn {
  display: block;
  width: fit-content;
  margin-inline: auto;
}

/*-- contents08 --*/
.contents08 {
  background: url(../img/contents-bg.jpg) repeat;
  padding: 2rem 4rem;
}

.contents08 .contents_title {
  margin: 1rem 2rem;
  writing-mode: vertical-rl;
}

.contents08 .item {
  margin-bottom: 80px;
}

.contents08 .col1 {
  width: 32%;
  position: relative;
  z-index: 10;
  margin: 0 -3.5% 0 auto;
}

.contents08 .col_inner {
  padding: 56% 0 0;
}

.contents08 .item_title,
.contents08 .item_text {
  background: #fff;
  padding: 0.5rem 1rem;
}

.contents08 .item_title {
  margin-bottom: 1rem;
}

.contents08 .col2 {
  position: relative;
  width: 40%;
  margin-right: 10%;
}

.contents08 .flex.item2 {
  flex-direction: row-reverse;
}

.contents08 .item2 .col1 {
  margin: 0 auto 0 -3.5%;
}

.contents08 .item2 .col2 {
  margin-left: 10%;
  margin-right: 0;
}

/*-- contents09 --*/
.contents09 {
  background: url(../img/contents-bg.jpg) repeat;
  padding: 2rem 4rem;
}

.contents09 .contents_title {
  margin: 1rem 2rem;
  writing-mode: vertical-rl;
}

.contents09 .item {
  margin-bottom: 80px;
}

.contents09 .col1 {
  width: 32%;
  position: relative;
  z-index: 10;
  margin: 0 -3.5% 0 auto;
}

.contents09 .col_inner {
  padding: 30% 0 0;
}

.contents09 .item_title,
.contents09 .item_text {
  background: #fff;
  padding: 0.5rem 1rem;
}

.contents09 .item_title {
  margin-bottom: 1rem;
}

.contents09 .col2 {
  position: relative;
  width: 50%;
  margin-right: 10%;
}

.contents09 .flex.item2 {
  flex-direction: row-reverse;
}

.contents09 .item2 .col1 {
  margin: 0 auto 0 -3.5%;
}

.contents09 .item2 .col2 {
  margin-left: 10%;
  margin-right: 0;
}

/*--------------------------------------------------------------
## footer
--------------------------------------------------------------*/
.footer_inner {
  width: calc(100% - 70px);
}

.footer_inner .col1,
.footer_inner .col2 {
  width: 50%;
}

.footer_inner .col2 {
  background: var(--color-primary-800);
  text-align: center;
  display: flex;
  align-items: center;
  color: #fff;
}

.footer_inner .branding_site-logo {
  width: 250px;
  margin-top: 1rem;
}

.footer_inner .tel {
  font-size: var(--size-large-20);
}

.footer_inner .tel span {
  display: inline-block;
  white-space: nowrap;
}

.footer_inner .copyright {
  margin-top: 2rem;
  color: var(--color-primary-200);
  font-size: var(--size-small-20);
}

/*--------------------------------------------------------------
## media
--------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  /* 共通 */
  .b-view {
    display: none;
  }
  .btn {
    padding: 0.7rem 2rem;
  }
  /* header */
  .header_img .page-title {
    top: 50%;
    right: 0;
    transform: translateY(-50%) translateX(-25%);
    -webkit-transform: translateY(-50%) translateX(-25%);
  }
  /* contents02 */
  .contents02 .flex {
    flex-wrap: nowrap;
  }
  .contents02 .col1 {
    padding: 0 3rem 0 0;
  }
  /* contents03 */
  .contents03 .contents_item {
    padding: 0;
    padding-right: 1rem;
  }
  /* contents04 */
  .contents04 {
    margin-bottom: 140px;
  }
  .contents04 .flex {
    flex-wrap: nowrap;
  }
  .contents04 .col1 {
    width: 20%;
  }
  .contents04 .col2 {
    width: calc(80% - 50px);
  }
  /* contents07 */
  .contents07 .item_btn {
    width: 100%;
    text-align: center;
    bottom: -80px;
  }
  /* contents08 */
  .contents08 .col1 {
    width: 35%;
  }
  .contents08 .col2 {
    width: 55%;
    margin-right: 5%;
  }
  /* contents09 */
  .contents09 .col1 {
    width: 35%;
  }
  .contents09 .col2 {
    width: 55%;
    margin-right: 5%;
  }
}
@media screen and (max-width: 768px) {
  /* 共通 */
  h1 {
    font-size: 2.57rem;
  }
  h2 {
    font-size: 2.29rem;
  }
  .wrapper {
    width: calc(100% - 2rem);
  }
  /* header */
  .header_img .page-title {
    font-size: 64px;
  }
  .branding_site-logo {
    width: 300px;
  }
  /* contents */
  .title_en {
    font-size: 1.3rem;
  }
  /* contents02 */
  .contents02 {
    padding: 224px 2rem 0;
  }
  .contents02 .contents_title {
    margin-bottom: 100px;
  }
  .contents02 .col1 {
    padding: 0 1.5rem;
  }
  .contents02 .col2 {
    width: 400px;
    height: 700px;
  }
  .contents02 .col2::before {
    top: 20px;
  }
  /* contents03 */
  .gallery-list .list_item a {
    flex-direction: column;
  }
  .gallery-list .thumbnail {
    width: 100%;
  }
  /* contents-news */
  .news-list .list_item a {
    flex-direction: column;
  }
  .news-list .thumbnail {
    width: 100%;
  }
  /* contents04 */
  .contents04 {
    margin-bottom: 100px;
  }
  .contents04 .contents_title {
    left: 3rem;
  }
  .contents04 .col2 {
    width: calc(80% - 20px);
  }
  .contents04::before {
    top: 20px;
    left: 0;
  }
}
@media screen and (max-width: 500px) {
  /* 共通 */
  h2 {
    font-size: var(--size-large-45);
  }
  h3 {
    font-size: 16px;
  }
  .m-view,
  .b-view.m-view {
    display: block;
  }
  .lower .wrapper {
    margin-top: 1rem;
    margin-bottom: 0;
  }
  /* header */
  .header {
    min-height: calc(100vh - 65px);
  }
  .header-branding,
  .header_img .inner {
    width: 100%;
    height: calc(100vh - 65px);
    min-height: 550px;
  }
  .branding_site-logo {
    width: 200px;
    margin-top: 130px;
  }
  .header-bar {
    width: 100%;
    height: 65px;
    background: #fff;
    position: fixed;
    top: 0;
    display: flex;
    align-items: center;
    z-index: 1000;
  }
  .header-bar a {
    display: flex;
    align-items: center;
  }
  .header-bar_site-logo {
    width: 250px;
    margin-left: 1rem;
  }
  .header_img .inner {
    margin-top: 65px;
    filter: brightness(0.8);
  }
  .header_img .page-title {
    font-size: 42px;
    top: 50%;
    right: 0;
    transform: translateY(-50%) translateX(0);
    -webkit-transform: translateY(-50%) translateX(0);
  }
  /* header(下層ページ) */
  body.lower .header {
    min-height: 265px;
  }
  body.lower .header-branding {
    display: block;
    padding-top: 0;
  }
  body.lower .branding_site-logo {
    display: none;
  }
  .header_img.lower-page .inner {
    padding: 0;
    top: 0;
  }
  body.lower .header-branding,
  body.lower .header_img .inner {
    height: 200px;
    min-height: 200px;
  }
  .header_img.lower-page .page-title {
    top: 130px;
    font-size: 28px;
  }
  .header_img.lower-page span {
    font-size: 21px;
  }
  /* sns-nav */
  .sns-nav_item {
    width: 40px;
    height: 40px;
    margin: 1rem 5px 0 auto;
  }
  /* sub-nav */
  .sub-nav {
    position: fixed;
    top: auto;
    bottom: 0;
    right: 0;
    width: 100%;
    z-index: 999;
  }
  .sub-nav_list {
    display: flex;
    flex-wrap: nowrap;
  }
  .sub-nav_list .list_item {
    flex-grow: 1;
    writing-mode: initial;
    width: 50%;
    height: 65px;
  }
  /* global-navi */
  .open.nav-tgl_icon {
    width: 65px;
    height: 65px;
    top: 0;
    bottom: auto;
    background: #fff;
  }
  .open.nav-tgl_icon span {
    background: var(--color-text-base);
    top: 50%;
    left: 65%;
    width: 20px;
  }
  .open.nav-tgl_icon span::before,
  .open.nav-tgl_icon span::after {
    background: var(--color-text-base);
  }
  .global-nav {
    padding: 65px 3rem;
  }
  .global-nav .branding_site-title img {
    display: none;
  }
  .global-nav_list {
    margin: 0;
  }
  .global-nav_item {
    padding: 0;
  }
  .global-nav_item a {
    font-size: 1.28rem;
  }
  address {
    font-size: 0.8rem;
    line-height: 1.5;
    padding: 0.5rem 0;
  }
  .nav-ft {
    width: 100%;
    position: static;
    transform: none;
  }
  .nav-ft .company {
    font-size: 1.8rem;
  }
  /* contents */
  .title_en {
    font-size: 1rem;
  }
  /* contents02 */
  .contents02 {
    padding: 1rem 0 0;
  }
  .contents02 .flex {
    display: block;
    position: relative;
  }
  .contents02 .contents_title {
    margin-bottom: 2rem;
  }
  .contents02 .title_en {
    position: static;
  }
  .contents02 .col1 {
    position: absolute;
    z-index: 3;
    width: 100%;
    padding: 0 2rem 0 1rem;
  }
  .contents02 .col2 {
    width: calc(100% - 20px);
    margin-left: auto;
    height: 600px;
  }
  .contents02 .col2::before {
    z-index: 2;
    opacity: 0.8;
    top: -20px;
    right: 20px;
    left: auto;
  }
  /* contents03 */
  .contents03 {
    padding: 0 1rem;
  }
  .contents03 .contents_title {
    text-align: left;
  }
  .contents03 .contents_item {
    padding: 0;
  }
  .contents03 .gallery-list.flex {
    flex-direction: column;
  }
  .gallery-list .list_item:nth-child(2n) {
    margin-left: 0;
  }
  /* contents-news */
  .contents-news .contents_item {
    padding: 0;
  }
  .news-list.flex {
    flex-direction: column;
  }
  .news-list .list_item:nth-child(2n) {
    margin-left: 0;
  }
  /* contents04 */
  .contents04 {
    margin-top: calc(80px + 1rem);
    margin-bottom: 0;
  }
  .contents04 .flex {
    display: block;
  }
  .contents04 .contents_title {
    position: sticky;
  }
  .contents04 .title_ja {
    writing-mode: initial;
  }
  .contents04 .title_en {
    position: static;
    transform: none;
  }
  .contents04 .col1 {
    width: 100%;
    text-align: center;
  }
  .contents04 .col2 {
    width: calc(100% - 40px);
    margin: 0 auto;
  }
  .contents04::before {
    height: 100%;
  }
  .contents04 .col2 .inner {
    left: 50%;
    transform: translateX(-50%);
  }
  /* contents05 */
  .contents05 {
    margin-top: 30px;
    padding: 0;
  }
  .contents05 .contents_title {
    margin-bottom: 1rem;
  }
  .contents05 p {
    padding: 0 1rem;
    line-height: 2.5;
    font-size: 1rem;
  }
  /* contents06 */
  .contents06 {
    margin-top: 120px;
    padding: 0;
  }
  .contents06 .col1 {
    font-size: 3rem;
  }
  .contents06 .contents_title {
    text-align: left;
    margin-bottom: 0;
  }
  .contents06 table.item {
    width: auto;
    margin: 1rem auto;
  }
  .contents06 table.item th,
  .contents06 table.item td {
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--color-text-base);
  }
  .contents06 table.item th {
    word-break: keep-all;
  }
  /* contents07 */
  .contents07 {
    width: 100%;
    padding-bottom: 0;
  }
  .contents07 .flex {
    flex-direction: column;
  }
  .contents07 .col1,
  .contents07 .col2,
  .contents07 .col3 {
    width: 100%;
    margin: 0 0 2rem 0;
  }
  .contents07 .col3 {
    margin-bottom: 0;
  }
  .contents07 .item_text {
    padding: 0.5rem 0;
  }
  .contents07 .item_btn {
    position: static;
    transform: none;
  }
  .contents07 .btn {
    width: 100%;
  }
  /* contents08 */
  .contents08 {
    padding: 1rem 2rem;
  }
  .contents08 .contents_title {
    margin: 0 0 2rem 0;
    writing-mode: initial;
  }
  .contents08 .item {
    margin-bottom: 3rem;
  }
  .contents08 .flex,
  .contents08 .flex.item2 {
    flex-direction: column-reverse;
    position: relative;
  }
  .contents08 .col1,
  .contents08 .item2 .col1 {
    width: 95%;
    margin: -35% 0 0 0;
  }
  .contents08 .col_inner {
    padding: 0;
  }
  .contents08 .col2,
  .contents08 .item2 .col2 {
    width: 90%;
    margin: 0 0 0 auto;
  }
  /* contents09 */
  .contents09 {
    padding: 1rem 2rem;
  }
  .contents09 .contents_title {
    margin: 0 0 2rem 0;
    writing-mode: initial;
  }
  .contents09 .item {
    margin-bottom: 3rem;
  }
  .contents09 .flex,
  .contents09 .flex.item2 {
    flex-direction: column-reverse;
    position: relative;
  }
  .contents09 .col1,
  .contents09 .item2 .col1 {
    width: 100%;
    margin: -21% 0 0;
  }
  .contents09 .col_inner {
    padding: 0;
  }
  .contents09 .col2,
  .contents09 .item2 .col2 {
    width: 100%;
    margin: 0 0 0 auto;
  }
  /* footer */
  .footer_inner {
    width: 100%;
    display: block;
    padding: 0 0 65px 0;
  }
  .footer_inner .col1 {
    display: none;
  }
  .footer_inner .col2 {
    width: 100%;
    padding: 1rem 0;
  }
  .footer_inner .branding_site-logo {
    width: 180px;
    margin-top: 1rem;
  }
  .footer_inner .copyright {
    margin-top: 0rem;
  }
}
/*--------------------------------------------------------------
## wordpress
--------------------------------------------------------------*/
h1.entry-title {
  font-size: var(--size-large-40);
  word-break: break-all;
  line-height: 1.5;
  margin: 1rem 0;
}

h2.entry-title {
  font-size: var(--size-large-10);
  word-break: break-all;
  line-height: 1.5;
  margin: 1rem 0;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-primary-200);
}

h2.entry-title a,
.entry-meta .cat a {
  color: var(--color-text-base);
}

.entry-title,
.entry-content {
  text-align: justify;
}

.entry-meta,
.entry-meta_cat {
  display: flex;
  align-items: center;
}

.entry-meta_cat li {
  border: 1px solid var(--color-text-base);
  padding: 0 4px;
  line-height: 1.5;
  margin: 0 4px;
}

.entry-meta .date {
  margin-right: 1rem;
}

article.post {
  margin-bottom: 2rem;
}

.single article,
.lower .post-navigation,
.archive article,
.category article {
  padding: 0 4rem;
}

/** シングルページ **/
.single article {
  margin-top: 80px;
}

/** 固定ページ **/
.page article {
  margin-top: 80px;
}

/** post(news)アーカイブ **/
.archive .wrapper {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}

.archive article {
  flex: 0 1 32%;
  padding: 0;
  margin-right: 2%;
  margin-bottom: 2rem;
}

.archive article:nth-of-type(3n) {
  margin-right: 0;
}

.archive .entry-title {
  border-bottom: 0;
}

@media screen and (max-width: 500px) {
  /** post(news)アーカイブ **/
  .archive article {
    margin: 0;
  }
  .archive .wrapper {
    display: block;
  }
  h2.entry-title {
    margin-top: 0;
  }
  .blog .wrapper {
    margin-top: 80px;
  }
  /** postページ **/
  .blog .wrapper,
  .archive .wrapper {
    margin-top: 80px;
  }
  .single article,
  .lower .post-navigation,
  .archive article,
  .category article {
    padding: 0;
  }
}
/** ページネーション **/
.screen-reader-text {
  display: none;
}

.nav-links {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  margin-top: 2rem;
}

.nav-links a {
  color: var(--color-text-base);
  padding: 0.5rem 2rem;
  position: relative;
  box-sizing: border-box;
  transition: 0.3s;
  display: inline-block;
}

.nav-previous a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  height: 0;
  width: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 10.5px solid var(--color-text-base);
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.nav-next a::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  height: 0;
  width: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10.5px solid var(--color-text-base);
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  h1.entry-title {
    font-size: 24px;
  }
}
@media screen and (max-width: 500px) {
  body.single article,
  body.lower .post-navigation {
    padding: 0;
  }
}
/** 固定ページ **/
.page .entry-title {
  display: none;
}

/** フォーム **/
.dummy-form {
  margin: 0 auto;
}

.dummy-form th,
.dummy-form td {
  border: 1px solid var(--color-primary-200);
  padding: 7px 14px;
}

.dummy-form a {
  color: var(--color-primary-800);
}

/*--------------------------------------------------------------
## マニュアル、デモページ
--------------------------------------------------------------*/
.contents.manual {
  width: 100%;
  padding: 0 4rem 50px 4rem;
}

.manual th,
.manual td {
  border: 1px solid var(--color-primary-800);
  padding: 8px 16px;
}

.manual th {
  background: var(--color-primary-200);
  padding: 16px;
}

.contents.manual .contents_title {
  margin-bottom: 1rem;
}

.manual-list {
  margin-left: 2rem;
}

.manual-list a {
  color: var(--color-accent-700);
}

.manual p {
  margin-bottom: 1rem;
}

.manual .btn2 {
  color: #fff;
  border: 1px solid #fff;
  width: 100%;
  text-align: center;
  position: sticky;
}

.manual .btn2:hover {
  color: var(--color-text-base);
}

.manual .btn2::before {
  background: #fff;
}

.manual .btn3 {
  text-decoration: none;
  transition: all 0.3s;
  color: var(--color-text-base);
}

.manual .btn3::before {
  content: "";
  width: 100px;
  height: 1px;
  line-height: 2;
  display: inline-block;
  background: var(--color-text-base);
  margin-right: 3rem;
  margin-bottom: 0.3rem;
  transition: all 0.3s 0s ease;
}

.manual .btn3:hover::before {
  margin-right: 1rem;
  width: calc(100px + 2rem);
}

@media screen and (max-width: 500px) {
  .contents.manual {
    width: 100%;
    padding: 0 0 50px 0;
  }
}
.index .loader-wrap, .lower .loader-wrap {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #fff;
  top: 0;
  left: 0;
  z-index: 1001;
}

.loader img {
  max-width: 100px;
}

/* ヘッダーテキスト */
.keyword {
  opacity: 0;
  animation: keyword 1.5s 3.5s 1 forwards;
  -webkit-animation: keyword 1.5s 3.5s 1 forwards;
  -moz-animation: keyword 1.5s 3.5s 1 forwards;
}

@keyframes keyword {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes keyword {
  0% {
    -webkit-opacity: 0;
  }
  100% {
    -webkit-opacity: 1;
  }
}
@-moz-keyframes keyword {
  0% {
    -moz-opacity: 0;
  }
  100% {
    -moz-opacity: 1;
  }
}
/* スクロールアニメーション */
/* フェードインアップ */
.move.fadeInUp {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1.5s;
}

/* フェードイン */
.move.fadeIn {
  opacity: 0;
  transition: all 1.5s;
}

/* ぼかしイン */
.move.blurIn {
  opacity: 0;
  filter: blur(30px);
  transition: filter 0.8s ease, opacity 0.8s ease;
}

/* スライドイン */
.move.slideIn {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 1s, transform 0.5s;
}

/* 画面内に入った状態 */
.move.scrollin.fadeInUp,
.move.scrollin.fadeIn {
  opacity: 1;
  transform: translate(0, 0);
}

.move.scrollin.blurIn {
  opacity: 1;
  filter: blur(0);
}

.move.scrollin.slideIn {
  opacity: 1;
  transform: translateX(0);
}

/* トップセクションアニメーション */
/* フェードインアップ */
.effect-fadeInUp {
  animation: effect-fadeInUp 1.5s ease 0.5s 1 normal;
}

@keyframes effect-fadeInUp {
  0% {
    opacity: 0;
    transform: translate(0, 50px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
/* フェードイン */
.effect-fadeIn {
  animation: effect-fadeIn 1.5s ease 0.5s 1 normal;
}

@keyframes effect-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
/* ぼかしイン */
.effect-blurIn {
  animation: effect-blurIn 0.8s ease 0.5s 1 normal;
}

@keyframes effect-blurIn {
  0% {
    opacity: 0;
    filter: blur(30px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
/* # ベース / Base
------------------------------------------------ */
/* ## 共通 / Common
------------------------------------------------ */
* {
  letter-spacing: 0.05em;
}

html {
  font-size: initial;
  overflow-x: hidden;
  overflow-x: clip;
}

body {
  overflow-x: hidden;
  overflow-x: clip;
  color: var(--color-text-base);
}

body .post_content p {
  line-height: 2.4;
  font-size: var(--size-regular);
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

/* # レイアウト / Layout
------------------------------------------------ */
/* ## 共通 / Common
------------------------------------------------ */
/* ### コンテナ / Container */
.l-container {
  margin-inline: auto;
}

.l-container--xs {
  width: min(85%, 600px);
}

.l-container--sm {
  width: min(85%, 800px);
}

.l-container--md {
  width: min(90%, 1000px);
}

.l-container--lg {
  width: min(95%, 1200px);
}

.l-container--xl {
  width: min(95%, 1400px);
}

.l-container--2xl {
  width: min(95%, 1800px);
}

/* ### グリッド / Grid */
.l-grid {
  display: grid;
  gap: var(--space-large-10);
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.l-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.l-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.l-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (width < 960px) {
  .l-grid--3,
  .l-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (width < 600px) {
  .l-grid--2,
  .l-grid--3,
  .l-grid--4 {
    grid-template-columns: 1fr;
  }
}
/* ### セクション / Section */
.l-section {
  position: relative;
  z-index: 1;
}

.l-section--tint {
  background-color: var(--color-primary-50);
}

.l-section--dark {
  background-color: var(--color-primary-900);
}

.l-section--spacing-sm {
  padding-block: var(--space-large-20);
}

.l-section--spacing-md {
  padding-block: var(--space-large-30);
}

.l-section--spacing-lg {
  padding-block: var(--space-large-40);
}

.l-section--spacing-xl {
  padding-block: var(--space-large-60);
}

.l-section--spacing-2xl {
  padding-block: var(--space-large-80);
}

.l-section--single {
  position: relative;
  z-index: 1;
  padding-top: var(--space-large-40);
  padding-bottom: var(--space-large-60);
}
@media (width < 960px) {
  .l-section--single {
    padding-bottom: var(--space-large-40);
  }
}

/* ## ヘッダー / Header
------------------------------------------------ */
/* ## フッター / Footer
------------------------------------------------ */
/* # コンポーネント / Component
----------------------------------------------- */
/* ## c-brand-logo */
.c-brand-logo {
  display: grid;
  padding: var(--brand-logo-padding, var(--space-regular));
  box-sizing: border-box;
  color: #fff;
  font-size: var(--brand-logo-font-size, var(--size-large-30));
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  background-color: var(--brand-logo-background-color, var(--color-primary-900));
}
.loader .c-brand-logo {
  --brand-logo-font-size: var(--size-large-50);
}
.header-branding .c-brand-logo {
  --brand-logo-font-size: var(--size-large-30);
}
.header-bar .c-brand-logo {
  display: grid;
  place-items: center;
  --brand-logo-padding: var(--space-small-10) var(--space-regular);
  --brand-logo-font-size: var(--size-large-20);
}
.global-nav .c-brand-logo {
  --brand-logo-font-size: var(--size-large-30);
}
.c-brand-logo--footer {
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 2rem;
  --brand-logo-font-size: var(--size-large-40);
  --brand-logo-background-color: transparent;
}

/* ## c-basic-text */
.c-basic-text {
  margin-bottom: 0;
  line-height: 2.4;
  font-size: var(--size-regular);
}

/* ## c-ttl-1 */
.c-ttl-1 {
  container: c-ttl-1/inline-size;
  margin-bottom: var(--space-large-40);
}
.c-ttl-1 .c-ttl-1__main {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 0 !important;
  line-height: 1.7;
  letter-spacing: 0.075em;
  font-size: var(--size-large-50) !important;
  color: var(--text-base);
}
@container (width < 600px) {
  .c-ttl-1 .c-ttl-1__main {
    font-size: var(--size-large-40) !important;
  }
}
.c-ttl-1 .c-ttl-1__main::before, .c-ttl-1 .c-ttl-1__main::after {
  content: "";
  order: -1;
  flex: 0 0 var(--size-regular);
  aspect-ratio: 1;
  margin-block: 1.3lh;
}
.c-ttl-1 .c-ttl-1__main::before {
  background: var(--color-primary-800);
  border-radius: 0 50% 50% 0;
  margin-right: 0.1em;
}
.c-ttl-1 .c-ttl-1__main::after {
  background: var(--color-primary-500);
  border-radius: 50% 0 50% 50%;
  margin-right: 0.5em;
}
.c-ttl-1 .c-ttl-1__sub {
  margin: 0 !important;
  line-height: 1.8;
  color: var(--color-gray-600);
  font-size: var(--size-regular) !important;
}
.c-ttl-1--color-white .c-ttl-1__main,
.c-ttl-1--color-white .c-ttl-1__sub {
  color: #fff;
}
.c-ttl-1--center {
  text-align: center;
}
.c-ttl-1--center::before, .c-ttl-1--center::after {
  left: 50%;
  transform: translateX(-120%);
}

/* ## c-catchphrase */
.c-catchphrase {
  margin-bottom: var(--space-large-10) !important;
  line-height: 1.7 !important;
  font-size: var(--size-large-20) !important;
  color: var(--color-primary-900) !important;
}

/* ## c-ul-1 */
.c-ul-1 {
  display: flex;
  flex-direction: column;
  gap: var(--space-small-20);
  margin: 0 !important;
  padding: 0 !important;
}
.c-ul-1 li {
  display: flex;
  align-items: flex-start;
  gap: 0.8em;
  list-style: none;
  line-height: 2.4;
  font-size: var(--size-regular);
}
.c-ul-1 li::before {
  content: "";
  flex-shrink: 0;
  translate: 0 -50%;
  width: 7px;
  aspect-ratio: 1;
  margin-top: 0.5lh;
  border-radius: 50%;
  background-color: var(--color-accent-700);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent-700) 30%, transparent);
}
.c-ul-1--center {
  width: fit-content;
  margin-inline: auto !important;
}

/* ## c-ol-1 */
.c-ol-1 {
  container: c-ol-1/inline-size;
  display: flex;
  flex-direction: column;
  gap: var(--space-small-20);
  margin: 0 !important;
  padding: 0 !important;
  counter-reset: num;
}
.c-ol-1 li {
  display: flex;
  align-items: flex-start;
  gap: 0.8em;
  list-style: none;
  line-height: 2.4;
  font-size: var(--size-regular);
  counter-increment: num;
}
.c-ol-1 li::before {
  content: counter(num);
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: var(--size-large-40);
  height: var(--size-large-40);
  margin-top: 0.5lh;
  translate: 0 -50%;
  border-radius: 50%;
  background-color: var(--color-primary-800);
  letter-spacing: 0;
  font-size: var(--size-regular);
  color: #fff;
}
@container (width < 600px) {
  .c-ol-1 li::before {
    width: 32px;
    height: 32px;
  }
}
.c-ol-1--center {
  width: fit-content;
  margin-inline: auto !important;
}

/* ## c-kicker */
.c-kicker {
  display: flex;
  align-items: center;
  gap: 0.6em;
  margin: 0 0 var(--space-small-10);
  line-height: 1.4;
  letter-spacing: 0.18em;
  font-family: var(--font-family-accent);
  font-size: var(--size-large-10);
  font-weight: 500;
  color: var(--color-primary-500);
}
.c-kicker::before {
  content: "";
  width: 2em;
  height: 1px;
  background-color: var(--color-accent-400);
}
.l-section--dark .c-kicker {
  color: rgba(255, 255, 255, 0.75);
}
.l-section--dark .c-kicker::before {
  background-color: rgba(255, 255, 255, 0.35);
}

/* ## c-lead */
.c-lead {
  margin: 0 0 var(--space-large-20);
  line-height: 1.8;
  letter-spacing: 0.02em;
  font-size: var(--size-large-20);
  font-weight: 500;
  color: var(--color-primary-900);
}
.c-lead--large {
  margin-bottom: 30px;
  font-family: var(--font-family-serif);
  font-size: var(--size-large-40);
}
@media screen and (max-width: 560px) {
  .c-lead--large {
    font-size: var(--size-large-30);
  }
}

/* ## c-section-head */
.c-section-head {
  margin-bottom: var(--space-large-20);
}
.c-section-head .c-section-head__title {
  margin: 0;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-size: var(--size-large-45);
  font-weight: 700;
  color: var(--color-primary-900);
}
.l-section--dark .c-section-head .c-section-head__title {
  color: #fff;
}

/* ## c-section-body */
.c-section-body > * + * {
  margin-top: var(--space-large-20);
}
.c-section-body > p {
  line-height: 2.2;
  font-size: var(--size-regular);
}
.c-section-body .c-section-body__heading {
  line-height: 1.5;
  font-size: var(--size-large-20);
  font-weight: 700;
  color: var(--color-primary-900);
}
.c-section-body > .c-section-body__heading {
  margin-top: var(--space-large-50);
  letter-spacing: 0.04em;
  font-size: var(--size-large-30);
}
.c-section-body > figure.c-media {
  width: min(100%, 960px);
  margin-inline: auto;
  box-shadow: var(--box-shadow);
}
.l-section--dark .c-section-body > p,
.l-section--dark .c-section-body > .c-section-body__heading {
  color: rgba(255, 255, 255, 0.85);
}

/* ## c-button */
.c-button {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  padding: var(--space-regular) var(--space-large-30);
  background-color: var(--color-primary-600);
  line-height: 1.6;
  font-weight: 600;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.c-button::after {
  content: "";
  width: 1.6em;
  height: 1.6em;
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M684.16-454.87H180v-50.26h504.16L444.67-744.61 480-780l300 300-300 300-35.33-35.39 239.49-239.48Z'/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M684.16-454.87H180v-50.26h504.16L444.67-744.61 480-780l300 300-300 300-35.33-35.39 239.49-239.48Z'/%3E%3C/svg%3E") no-repeat center/contain;
  transition: transform 0.3s;
}
.c-button:hover, .c-button:focus {
  background-color: var(--color-primary-700);
  box-shadow: var(--box-shadow);
}
.c-button:hover::after, .c-button:focus::after {
  transform: translateX(0.25em);
}
.c-button--outline {
  background-color: transparent;
  border: 1px solid var(--color-primary-600);
  color: var(--color-primary-700);
}
.c-button--outline:hover, .c-button--outline:focus {
  background-color: var(--color-primary-600);
  color: #fff;
}
.c-button--invert {
  background-color: #fff;
  color: var(--color-primary-700);
}
.c-button--invert:hover, .c-button--invert:focus {
  background-color: var(--color-primary-50);
  color: var(--color-primary-800);
}

/* ## c-table-wrap */
.c-table-wrap {
  overflow-x: auto;
}
.c-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  background-color: #fff;
}
.c-table-wrap th,
.c-table-wrap td {
  padding: var(--space-small-10) var(--space-regular);
  border: 1px solid var(--color-gray-200);
  line-height: 1.8;
  font-size: var(--size-regular);
  text-align: left;
  vertical-align: top;
}
.c-table-wrap th {
  background-color: var(--color-primary-50);
  white-space: nowrap;
}

/* ## c-media */
.c-media {
  display: block;
  margin: 0;
}
.c-media img {
  display: block;
  width: 100%;
  height: auto;
}
.c-media .c-media__caption {
  display: block;
  margin-top: var(--space-small-10);
  line-height: 1.7;
  font-size: var(--size-small-10);
  color: var(--color-gray-600);
}
.c-media--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background-color: var(--color-primary-600);
}
.c-media--icon img {
  width: auto;
  max-width: 36px;
  height: auto;
}
.c-media--cover {
  aspect-ratio: var(--media-ratio, 4/3);
  overflow: hidden;
}
.c-media--cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-media--caption-overlay {
  position: relative;
}
.c-media--caption-overlay .c-media__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  margin-top: 0;
  padding: var(--space-small-20) var(--space-small-10);
  background-color: rgba(0, 0, 0, 0.6);
  line-height: 1.4;
  font-size: var(--size-small-10);
  font-weight: 600;
  letter-spacing: 0.12em;
  color: #fff;
}

/* ## c-card */
.c-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-regular);
  padding: var(--space-large-20) var(--space-large-10);
  background-color: #fff;
  border: 1px solid var(--color-primary-100);
  box-shadow: var(--box-shadow);
}
.c-card .c-card__title {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-size: var(--size-large-20);
  font-weight: 700;
  color: var(--color-primary-900);
}
.c-card .c-card__text {
  margin: 0;
  line-height: 2;
  font-size: var(--size-regular);
}
.c-card--media {
  padding: 0;
  gap: 0;
  overflow: hidden;
}
.c-card--media .c-card__title {
  padding: var(--space-small-10) var(--space-regular);
  font-size: var(--size-regular);
  text-align: center;
}

/* ## c-toc */
.c-toc {
  padding: var(--space-large-10);
  background-color: var(--color-primary-50);
  border: 1px solid var(--color-gray-100);
}
.c-toc .c-toc__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-small-10) var(--space-large-20);
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-toc .c-toc__list a {
  color: var(--color-primary-700);
  text-decoration: underline;
}

/* ## c-qa */
.c-qa {
  --qa-badge: clamp(48px, 8vw, 64px);
  overflow: hidden;
  background-color: #fff;
  border: 1px solid var(--color-primary-100);
}
.c-qa + .c-qa {
  margin-top: var(--space-small-10);
}
.c-qa .c-qa__q {
  display: flex;
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
}
.c-qa .c-qa__q::before {
  content: "Q";
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: var(--qa-badge);
  align-self: stretch;
  background-color: var(--color-primary-600);
  font-family: var(--font-family-accent);
  font-size: var(--size-large-20);
  font-weight: 700;
  color: #fff;
}
.c-qa .c-qa__q::after {
  content: "+";
  flex-shrink: 0;
  align-self: center;
  margin-right: var(--space-large-10);
  line-height: 1;
  font-size: var(--size-large-30);
  font-weight: 400;
  color: var(--color-primary-600);
}
.c-qa .c-qa__q:focus-visible {
  outline: 2px solid var(--color-primary-500);
  outline-offset: -2px;
}
.c-qa .c-qa__q-text {
  flex: 1;
  padding: var(--space-regular) var(--space-large-10);
  line-height: 1.7;
  font-size: var(--size-large-10);
  font-weight: 700;
  color: var(--color-primary-800);
}
.c-qa .c-qa__a {
  display: none;
  position: relative;
  padding: var(--space-regular) var(--space-large-10) var(--space-large-10) calc(var(--qa-badge) + var(--space-large-10));
  border-top: 1px solid var(--color-gray-100);
}
.c-qa .c-qa__a::before {
  content: "A";
  position: absolute;
  top: var(--space-regular);
  left: 0;
  width: var(--qa-badge);
  text-align: center;
  line-height: 1.7;
  font-family: var(--font-family-accent);
  font-size: var(--size-large-20);
  font-weight: 700;
  color: var(--color-secondary-400);
}
.c-qa .c-qa__a p {
  margin: 0;
  line-height: 2.2;
  font-size: var(--size-regular);
}
.c-qa.is-open .c-qa__q::after {
  content: "−";
}

/* ## c-note */
.c-note {
  margin: var(--space-small-10) 0 0;
  line-height: 1.8;
  font-size: var(--size-small-10);
  color: var(--color-gray-600);
}
.c-note[data-ui=placeholder] {
  padding: var(--space-regular);
  background-color: var(--color-gray-50);
  border: 1px dashed var(--color-gray-300);
}

/* ## c-gallery */
.c-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-large-20);
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-gallery .c-gallery__item {
  position: relative;
  width: calc((100% - var(--space-large-20) * 2) / 3);
}
@media (width < 960px) {
  .c-gallery .c-gallery__item {
    width: calc((100% - var(--space-large-20)) / 2);
  }
}
@media (width < 600px) {
  .c-gallery .c-gallery__item {
    width: 100%;
  }
}
.c-gallery .c-gallery__thumb {
  display: block;
  height: 225px;
  overflow: hidden;
  background-color: var(--color-gray-50);
}
.c-gallery .c-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease-in-out;
}
.c-gallery .c-gallery__thumb:hover img {
  transform: scale(1.1);
}
@media (width < 600px) {
  .c-gallery .c-gallery__thumb {
    height: 300px;
  }
}
.c-gallery .c-gallery__noimage {
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-gray-100);
}
.c-gallery .c-gallery__body {
  padding-top: var(--space-small-10);
}
.c-gallery .c-gallery__title {
  margin: 0 0 var(--space-small-10);
  line-height: 1.7;
  font-size: var(--size-large-10);
  font-weight: 600;
}
.c-gallery .c-gallery__title a {
  color: var(--color-primary-900);
}
.c-gallery .c-gallery__title a:hover {
  color: var(--color-primary-700);
}
.c-gallery .c-gallery__cat {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-small-20);
  margin: 0 0 var(--space-small-10);
  padding: 0;
  list-style: none;
}
.c-gallery .c-gallery__cat-item a {
  display: inline-block;
  padding: var(--space-small-30) var(--space-small-10);
  background-color: var(--color-primary-50);
  line-height: 1.4;
  font-size: var(--size-small-10);
  background-color: var(--color-primary-700);
  color: #fff;
  transition: background-color 0.3s, color 0.3s;
}
.c-gallery .c-gallery__cat-item a:hover {
  background-color: var(--color-primary-500);
  color: #fff;
}
.c-gallery .c-gallery__more {
  margin: 0;
  text-align: right;
}
.c-gallery .c-gallery__more a {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-family: var(--font-family-accent);
  font-size: var(--size-small-10);
  color: var(--color-primary-800);
  transition: transform 0.5s ease-in-out;
}
.c-gallery .c-gallery__more a::after {
  content: "";
  width: 1.6em;
  height: 1.6em;
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M684.16-454.87H180v-50.26h504.16L444.67-744.61 480-780l300 300-300 300-35.33-35.39 239.49-239.48Z'/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M684.16-454.87H180v-50.26h504.16L444.67-744.61 480-780l300 300-300 300-35.33-35.39 239.49-239.48Z'/%3E%3C/svg%3E") no-repeat center/contain;
}
.c-gallery .c-gallery__more a:hover {
  transform: translateX(0.5rem);
}
.c-gallery .c-gallery__empty {
  margin: 0;
  padding: var(--space-large-20);
  background-color: var(--color-gray-50);
  text-align: center;
  color: var(--color-gray-600);
}

/* ## c-gallery-filter */
.c-gallery-filter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-small-10);
  margin: 0 0 var(--space-large-20);
  padding: 0;
  list-style: none;
}
.c-gallery-filter .c-gallery-filter__item a {
  display: block;
  padding: var(--space-small-10) var(--space-regular);
  background-color: var(--color-gray-100);
  line-height: 1.4;
  font-size: var(--size-small-10);
  color: var(--color-gray-800);
  transition: background-color 0.3s, color 0.3s;
}
.c-gallery-filter .c-gallery-filter__item a:hover {
  background-color: var(--color-primary-600);
  color: #fff;
}
.c-gallery-filter .c-gallery-filter__item.is-current a {
  background-color: var(--color-primary-800);
  color: #fff;
}

/* ## c-pagination */
.c-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-small-10);
  margin-top: var(--space-large-30);
}
.c-pagination .page-numbers {
  display: grid;
  place-items: center;
  min-width: 2.5em;
  padding: var(--space-small-20) var(--space-small-10);
  background-color: var(--color-gray-100);
  line-height: 1.4;
  font-size: var(--size-regular);
  color: var(--color-gray-800);
}
.c-pagination .page-numbers.current {
  background-color: var(--color-primary-800);
  color: #fff;
}
.c-pagination a.page-numbers:hover {
  background-color: var(--color-primary-700);
  color: #fff;
}

/* ## c-flow */
.c-flow {
  container: c-flow/inline-size;
}
.c-flow .c-flow__inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: var(--space-large-50);
  counter-reset: number;
}
@container (width < 600px) {
  .c-flow .c-flow__inner {
    row-gap: var(--space-large-40);
  }
}
.c-flow .c-flow__unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-large-20);
  width: 33.3333333333%;
}
@container (width < 600px) {
  .c-flow .c-flow__unit {
    width: 100%;
  }
}
.c-flow .c-flow__unit:not(:nth-child(3n)) .c-flow__box::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 100%;
  translate: 0 -50%;
  background-color: var(--color-gray-200);
}
@container (width < 600px) {
  .c-flow .c-flow__unit:not(:nth-child(3n)) .c-flow__box::after {
    display: none;
  }
}
.c-flow .c-flow__unit:last-child .c-flow__step::after {
  width: 1px;
  height: 100%;
  margin-right: 28px;
  border-top: none;
  rotate: unset;
  translate: unset;
}
.c-flow .c-flow__step {
  display: flex;
  align-items: center;
  width: 100%;
}
.c-flow .c-flow__step span {
  flex-grow: 1;
  height: 1px;
  background-color: var(--color-primary-300);
}
.c-flow .c-flow__step::before {
  counter-increment: number;
  content: "STEP" counter(number);
  margin-left: var(--space-small-10);
  padding: var(--space-small-20) var(--space-regular);
  background-color: var(--color-primary-800);
  letter-spacing: 0.1em;
  font-family: var(--font-family-accent);
  font-size: var(--size-small-10);
  color: #fff;
}
.c-flow .c-flow__step::after {
  content: "";
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border-top: 1px solid var(--color-primary-300);
  border-right: 1px solid var(--color-primary-300);
  rotate: 45deg;
  translate: calc(-100% - 4px);
}
.c-flow .c-flow__box {
  position: relative;
  display: grid;
  gap: var(--space-regular);
  padding: 0 10%;
}
.c-flow .c-flow__ttl {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-size: var(--size-large-20);
  font-weight: 700;
  color: var(--color-primary-900);
}
.c-flow .c-flow__img {
  width: 100%;
  margin: 0;
  aspect-ratio: 1.618/1;
}
.c-flow .c-flow__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-flow .c-flow__txt {
  margin: 0;
  line-height: 2;
  font-size: var(--size-regular);
}

/* # プロジェクト / Project
------------------------------------------------ */
/* ## 共通 / Common
------------------------------------------------ */
/* ## ヘッダー */
.header-branding {
  align-items: flex-start;
  justify-content: flex-start;
  padding-top: var(--space-large-20);
  padding-left: var(--space-large-30);
}
@media (width <= 500px) {
  .index .header-branding, body.lower .header-branding {
    display: none;
  }
}

.header_img .page-title {
  font-family: var(--font-family-serif);
  letter-spacing: 0.15rem;
}
@media (width > 500px) {
  .header_img .page-title {
    font-size: var(--size-large-55);
    right: 10%;
  }
}

/* ## p-faq-group */
.p-faq-group + .p-faq-group {
  margin-top: var(--space-large-30);
}
.p-faq-group .p-faq-group__title {
  margin: 0 0 var(--space-large-10);
  line-height: 1.5;
  font-size: var(--size-large-20);
  font-weight: 700;
  color: var(--color-primary-900);
}

/* ## トップページ セクション（front-page） */
/* ## p-reason */
.p-reason .inner {
  width: 100%;
}
.p-reason .contents_title {
  margin-bottom: var(--space-large-30);
  text-align: center;
}
.p-reason .p-reason__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-large-10);
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-reason .p-reason__item {
  display: flex;
  flex-direction: column;
  flex: 0 1 calc((100% - var(--space-large-10) * 3) / 4);
  gap: var(--space-regular);
  padding: var(--space-large-20);
  background-color: #fff;
  box-shadow: var(--box-shadow);
  box-sizing: border-box;
}
@media screen and (max-width: 1024px) {
  .p-reason .p-reason__item {
    flex-basis: calc((100% - var(--space-large-10)) / 2);
  }
}
@media screen and (max-width: 500px) {
  .p-reason .p-reason__item {
    flex-basis: 100%;
  }
}
.p-reason .p-reason__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-regular);
  margin: 0;
}
.p-reason .p-reason__num {
  line-height: 1;
  letter-spacing: 0;
  font-family: var(--font-family-accent);
  font-size: var(--size-large-60);
  font-weight: 700;
  color: var(--color-secondary-400);
}
.p-reason .p-reason__title {
  margin: 0;
  line-height: 1.5;
  font-size: var(--size-large-10);
  color: var(--color-primary-900);
}
.p-reason .p-reason__title em {
  display: block;
  font-style: normal;
  font-size: var(--size-large-30);
  color: var(--color-primary-500);
  font-weight: 700;
}
.p-reason .p-reason__text {
  margin-top: var(--space-small-10);
  line-height: 1.9;
  font-size: var(--size-regular);
  color: var(--color-gray-600);
}
@media screen and (max-width: 1024px) {
  .p-reason {
    padding-top: 150px;
  }
}
@media screen and (max-width: 768px) {
  .p-reason {
    padding-top: 90px;
  }
}
@media screen and (max-width: 500px) {
  .p-reason {
    padding-top: 0;
  }
}

/* ## p-business */
.p-business .inner {
  width: 100%;
}
.p-business .contents_title {
  margin-bottom: var(--space-large-20);
  text-align: center;
}
.p-business .p-business__lead {
  width: min(100%, 760px);
  margin-inline: auto;
  margin-bottom: var(--space-large-30);
  line-height: 2;
  text-align: center;
  font-size: var(--size-regular);
  color: var(--color-gray-600);
}
.p-business .p-business__main {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  margin-bottom: var(--space-large-20);
  background-color: #fff;
  box-shadow: var(--box-shadow);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-business .p-business__main {
    grid-template-columns: 1fr;
  }
}
.p-business .p-business__sub {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-large-20);
}
@media screen and (max-width: 768px) {
  .p-business .p-business__sub {
    grid-template-columns: 1fr;
  }
}
.p-business .p-business__item {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  box-shadow: var(--box-shadow);
  overflow: hidden;
}
.p-business .p-business__media {
  position: relative;
  margin: 0;
  overflow: hidden;
}
.p-business .p-business__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-business .p-business__main .p-business__media {
    aspect-ratio: 16/9;
  }
}
.p-business .p-business__item .p-business__media {
  aspect-ratio: 16/10;
}
.p-business .p-business__badge {
  position: absolute;
  top: 0;
  left: 0;
  padding: var(--space-small-20) var(--space-regular);
  background-color: var(--color-primary-600);
  line-height: 1;
  font-size: var(--size-small-10);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
}
.p-business .p-business__body {
  display: flex;
  flex-direction: column;
  padding: var(--space-large-20);
}
.p-business .p-business__main .p-business__body {
  justify-content: center;
}
.p-business .p-business__en {
  line-height: 1;
  font-family: var(--font-family-accent);
  font-size: var(--size-small-10);
  letter-spacing: 0.08em;
  color: var(--color-secondary-400);
}
.p-business .p-business__title {
  line-height: 1.4;
  font-weight: 700;
  color: var(--color-primary-900);
}
.p-business .p-business__main .p-business__title {
  font-size: var(--size-large-40);
}
.p-business .p-business__item .p-business__title {
  font-size: var(--size-large-30);
}
.p-business .p-business__catch {
  margin: var(--space-small-10) 0 0;
  line-height: 1.5;
  font-family: var(--font-family-serif);
  font-weight: 700;
  color: var(--color-primary-500);
}
.p-business .p-business__main .p-business__catch {
  font-size: var(--size-large-20);
}
.p-business .p-business__item .p-business__catch {
  font-size: var(--size-large-10);
}
.p-business .p-business__text {
  margin: var(--space-regular) 0 0;
  line-height: 1.9;
  font-size: var(--size-regular);
  color: var(--color-gray-600);
}
.p-business .p-business__btn {
  margin-top: var(--space-large-10);
}
.p-business .p-business__item .p-business__btn {
  margin-top: auto;
  padding-top: var(--space-regular);
}

/* ## p-price */
.p-price .inner {
  width: 100%;
}
.p-price .contents_title {
  margin-bottom: var(--space-large-20);
  text-align: center;
}
.p-price .p-price__lead {
  width: min(100%, 760px);
  margin-inline: auto;
  margin-bottom: var(--space-large-30);
  line-height: 2;
  text-align: center;
  font-size: var(--size-regular);
  color: var(--color-gray-600);
}
.p-price .p-price__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch;
  gap: var(--space-large-20);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-price .p-price__list {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin-inline: auto;
  }
}
.p-price .p-price__item {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border: 1px solid var(--color-gray-100);
  box-shadow: var(--box-shadow);
  overflow: hidden;
  box-sizing: border-box;
}
.p-price .p-price__item--featured {
  background-color: var(--color-primary-50);
  border-color: var(--color-primary-300);
}
.p-price .p-price__badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  margin: 0;
  padding: var(--space-small-20) var(--space-regular);
  background-color: var(--color-primary-600);
  line-height: 1;
  font-size: var(--size-small-10);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
}
.p-price .p-price__media {
  margin: 0;
  aspect-ratio: 16/10;
  overflow: hidden;
}
.p-price .p-price__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-price .p-price__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: var(--space-large-20);
  text-align: center;
}
.p-price .p-price__name {
  margin: 0;
  line-height: 1.4;
  font-size: var(--size-large-20);
  font-weight: 700;
  color: var(--color-primary-900);
}
.p-price .p-price__catch {
  margin: var(--space-regular) 0 0;
  line-height: 1.8;
  text-align: left;
  font-size: var(--size-small-10);
  color: var(--color-gray-600);
}
.p-price .p-price__amount {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-small-10);
  margin-top: auto;
  padding-top: var(--space-large-10);
  border-top: 1px solid var(--color-gray-100);
}
.p-price .p-price__from {
  line-height: 1;
  font-size: var(--size-small-10);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--color-secondary-500);
}
.p-price .p-price__per {
  font-size: var(--size-small-20);
  font-weight: 400;
}
.p-price .p-price__value {
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-small-20);
  line-height: 1;
  color: var(--color-primary-600);
}
.p-price .p-price__tax {
  align-self: center;
  font-size: var(--size-small-20);
  font-weight: 400;
}
.p-price .p-price__num {
  font-family: var(--font-family-accent);
  font-size: var(--size-large-55);
  font-weight: 700;
}
.p-price .p-price__unit {
  font-size: var(--size-large-20);
  font-weight: 700;
}
.p-price .p-price__btn {
  margin-top: var(--space-large-10);
  justify-content: center;
}
.p-price .p-price__note {
  width: min(100%, 820px);
  margin: var(--space-large-20) auto 0;
  line-height: 1.8;
  text-align: center;
  font-size: var(--size-small-10);
  color: var(--color-gray-500);
}
.p-price .p-price__cta {
  margin-top: var(--space-large-20);
  text-align: center;
}

/* ## p-flow */
.p-flow .inner {
  width: 100%;
}
.p-flow .contents_title {
  margin-bottom: var(--space-large-30);
  text-align: center;
}
.p-flow .p-flow__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-large-10);
  width: min(100%, 760px);
  margin-inline: auto;
  padding: 0;
  list-style: none;
}
.p-flow .p-flow__item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-large-10);
  padding-bottom: var(--space-large-10);
  border-bottom: 1px solid var(--color-primary-100);
}
.p-flow .p-flow__num {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: var(--size-large-55);
  height: var(--size-large-55);
  border-radius: 50%;
  background-color: var(--color-primary-600);
  font-family: var(--font-family-accent);
  font-size: var(--size-large-20);
  color: #fff;
}
.p-flow .p-flow__body {
  flex: 1;
}
.p-flow .p-flow__title {
  margin: 0 0 var(--space-small-20);
  line-height: 1.5;
  font-size: var(--size-large-20);
  color: var(--color-primary-900);
}
.p-flow .p-flow__text {
  margin: 0;
  line-height: 1.9;
  font-size: var(--size-regular);
}

/* ## p-glass */
/* ### About */
.p-glass-about {
  position: relative;
  --media-ratio: 16 / 9;
}
.p-glass-about .p-glass-about__card {
  position: relative;
  z-index: 1;
  width: min(100%, 760px);
  margin-top: calc(var(--space-large-40) * -1);
  margin-left: var(--space-large-30);
  padding: var(--space-large-20) var(--space-large-30);
  background-color: var(--color-primary-900);
  box-shadow: var(--box-shadow);
}
.p-glass-about .p-glass-about__card p {
  margin: 0;
  color: #fff;
}
@media (width < 768px) {
  .p-glass-about .p-glass-about__card {
    width: 100%;
    margin-top: 0;
    margin-left: 0;
  }
}

/* ### Worries */
.p-glass-worries .p-glass-worries__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-small-10);
  padding: var(--space-large-10);
  background-color: #fff;
  border: 1px solid var(--color-primary-100);
}
.p-glass-worries .p-glass-worries__num {
  align-self: flex-start;
  line-height: 1;
  letter-spacing: 0.06em;
  font-family: var(--font-family-accent);
  font-size: var(--size-large-30);
  font-weight: 700;
  color: var(--color-accent-600);
}
.p-glass-worries .p-glass-worries__label {
  align-self: flex-start;
  margin: 0 !important;
  line-height: 1.5 !important;
  font-size: var(--size-large-10) !important;
  font-weight: 700;
  color: var(--color-primary-900);
}
.p-glass-worries .p-glass-worries__media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: var(--space-small-20);
  padding: var(--space-regular);
  border-radius: 10px;
}
.p-glass-worries .p-glass-worries__media img {
  width: auto;
  max-width: 100%;
  max-height: 130px;
  margin-inline: auto;
}
.p-glass-worries .p-glass-worries__caption {
  width: 100%;
  margin: 0;
  padding-top: var(--space-small-10);
  border-top: 1px solid var(--color-primary-200);
  text-align: center;
  line-height: 1.6;
  font-size: var(--size-regular);
  color: var(--color-gray-600);
}

.p-glass-conclusion {
  margin-bottom: var(--space-large-40);
  text-align: center;
}
.p-glass-conclusion > * + * {
  margin-top: var(--space-large-10);
}
.p-glass-conclusion .p-glass-conclusion__intro {
  margin: 0;
  line-height: 1.6;
  font-size: var(--size-large-10);
  font-weight: 700;
  color: var(--color-primary-700);
}
.p-glass-conclusion .p-glass-conclusion__lead {
  margin: 0;
  line-height: 1.5;
  font-size: var(--size-large-30);
  font-weight: 700;
  color: var(--color-primary-900);
}
.p-glass-conclusion .p-glass-conclusion__lead b {
  padding: 0 0.05em;
  font-size: 1.6em;
  color: var(--color-accent-600);
}
.p-glass-conclusion .p-glass-conclusion__text {
  margin: 0;
  line-height: 2;
  color: var(--color-primary-800);
}
.p-glass-conclusion .p-glass-conclusion__arrow {
  width: 60px;
  height: 52px;
  margin: var(--space-large-10) auto 0;
  background-color: var(--color-accent-600);
  clip-path: polygon(33% 0, 67% 0, 67% 50%, 100% 50%, 50% 100%, 0 50%, 33% 50%);
}
.p-glass-conclusion .p-glass-conclusion__catch {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-large-10);
  margin: 0;
  line-height: 1.6;
  font-size: var(--size-large-10);
  font-weight: 700;
  color: var(--color-primary-700);
}
.p-glass-conclusion .p-glass-conclusion__catch::before, .p-glass-conclusion .p-glass-conclusion__catch::after {
  content: "";
  width: 2px;
  height: 28px;
  background-color: var(--color-primary-400);
}
.p-glass-conclusion .p-glass-conclusion__catch::before {
  transform: rotate(-25deg);
}
.p-glass-conclusion .p-glass-conclusion__catch::after {
  transform: rotate(25deg);
}
.p-glass-conclusion .p-glass-conclusion__measure {
  margin: 0;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-size: var(--size-large-40);
  font-weight: 700;
  color: var(--color-primary-900);
}
.p-glass-conclusion .p-glass-conclusion__measure span {
  padding: 0 0.2em;
  color: var(--color-accent-600);
  background: linear-gradient(transparent 62%, color-mix(in srgb, var(--color-accent-200) 80%, transparent) 62%);
  font-size: 1.6em;
}

/* ### Measures */
.p-glass-measures .p-glass-measures__list {
  align-items: start;
  margin-bottom: var(--space-large-20);
}
.p-glass-measures .p-glass-measures__item {
  text-align: center;
}
.p-glass-measures .p-glass-measures__item:nth-child(1) .p-glass-measures__title {
  color: #e60d0d;
}
.p-glass-measures .p-glass-measures__item:nth-child(2) .p-glass-measures__title {
  color: var(--color-accent-400);
}
.p-glass-measures .p-glass-measures__media img {
  width: auto;
  margin: 0 auto var(--space-regular);
}
.p-glass-measures .p-glass-measures__title {
  margin: 0;
  line-height: 1.5;
  font-size: var(--size-large-20);
  font-weight: 700;
}
.p-glass-measures .p-glass-measures__text {
  margin: var(--space-small-10) 0 0;
  text-align: left;
}
.p-glass-measures .p-glass-measures__banner {
  width: min(100%, 960px);
  margin-inline: auto;
  padding: var(--space-regular) var(--space-large-20);
  background-color: var(--color-accent-500);
  text-align: center;
  font-weight: 700;
  color: #fff;
  box-shadow: 0 0 10px color-mix(in srgb, var(--color-accent-500) 60%, transparent);
}

/* ### Facilities */
.p-glass-facilities {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 var(--space-large-30);
  width: min(100%, 1000px);
  margin-inline: auto;
  padding: var(--space-large-20);
  background-color: var(--color-primary-100);
}
@media (width < 600px) {
  .p-glass-facilities {
    grid-template-columns: 1fr;
  }
}
.p-glass-facilities ul {
  margin: 0;
  padding-left: 1.4em;
  list-style: square;
}
.p-glass-facilities li {
  line-height: 2.4;
  font-size: var(--size-regular);
}

/* ### Effect */
.p-glass-effect {
  --media-ratio: 2 / 1.3;
}
.p-glass-effect .p-glass-effect__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-regular);
  padding: var(--space-large-20) var(--space-large-10);
  background-color: #fff;
  border: 3px solid #809eae;
}
.p-glass-effect .p-glass-effect__head {
  text-align: center;
}
.p-glass-effect .p-glass-effect__num {
  display: block;
  line-height: 1;
  font-family: var(--font-family-accent);
  font-size: var(--size-large-40);
  font-weight: 700;
  color: #809eae;
}
.p-glass-effect .p-glass-effect__title {
  margin: var(--space-small-10) 0 0;
  line-height: 1.4;
  font-size: var(--size-large-20);
  font-weight: 700;
  color: var(--color-primary-900);
}

/* ### Selection */
.p-glass-products {
  display: flex;
  flex-direction: column;
  gap: var(--space-large-20);
}

.p-glass-product {
  overflow: hidden;
  background-color: #fff;
  box-shadow: var(--box-shadow);
}
.p-glass-product .p-glass-product__hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 320px;
  padding: var(--space-large-30) var(--space-large-20);
  color: #fff;
  isolation: isolate;
}
.p-glass-product .p-glass-product__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(100deg, rgba(7, 22, 47, 0.92) 0%, rgba(13, 34, 69, 0.8) 32%, rgba(13, 34, 69, 0.35) 58%, rgba(13, 34, 69, 0) 78%);
}
@media (width < 768px) {
  .p-glass-product .p-glass-product__hero::before {
    background: linear-gradient(0deg, rgba(7, 22, 47, 0.92) 0%, rgba(13, 34, 69, 0.78) 45%, rgba(13, 34, 69, 0.35) 100%);
  }
}
@media (width < 768px) {
  .p-glass-product .p-glass-product__hero {
    align-items: flex-end;
    min-height: 240px;
  }
}
.p-glass-product .p-glass-product__bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-glass-product .p-glass-product__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-small-10);
  max-width: 54%;
}
@media (width < 768px) {
  .p-glass-product .p-glass-product__intro {
    max-width: 100%;
  }
}
.p-glass-product .p-glass-product__intro > * + * {
  margin-top: var(--space-small-10);
}
.p-glass-product .p-glass-product__title {
  margin: 0;
  line-height: 1.3;
  font-size: var(--size-large-40);
  font-weight: 700;
}
.p-glass-product .p-glass-product__lead {
  margin: 0;
  line-height: 1.6;
  font-size: var(--size-large-10);
  font-weight: 700;
  color: var(--color-accent-100);
}
.p-glass-product .p-glass-product__desc {
  margin: 0;
  line-height: 1.7;
  font-size: var(--size-small-10);
  color: rgba(255, 255, 255, 0.85);
}
.p-glass-product .p-glass-product__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: var(--space-large-20) var(--space-large-20) 0;
  padding: var(--space-large-10) var(--space-regular);
  list-style: none;
  background-color: var(--color-background-base);
  border-radius: 10px;
}
@media (width < 768px) {
  .p-glass-product .p-glass-product__stats {
    grid-template-columns: repeat(2, 1fr);
    row-gap: var(--space-large-10);
  }
}
.p-glass-product .p-glass-product__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-small-30);
  padding: var(--space-small-10) var(--space-regular);
  text-align: center;
  color: var(--color-primary-900);
}
.p-glass-product .p-glass-product__stat + .p-glass-product__stat {
  border-left: 1px solid var(--color-gray-100);
}
.p-glass-product .p-glass-product__stat--temp .p-glass-product__stat-num {
  font-size: var(--size-large-40);
}
@media (width < 768px) {
  .p-glass-product .p-glass-product__stat:nth-child(odd) {
    border-left: none;
  }
}
.p-glass-product .p-glass-product__stat-label {
  margin: 0 0 var(--space-small-20);
  line-height: 1.4;
  font-size: var(--size-small-10);
  font-weight: 600;
  color: var(--color-gray-700);
}
.p-glass-product .p-glass-product__stat-value {
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin: 0;
  line-height: 1;
  color: var(--color-primary-700);
}
.p-glass-product .p-glass-product__stat-num {
  font-family: var(--font-family-en);
  font-size: var(--size-large-55);
  font-weight: 700;
  letter-spacing: 0;
}
.p-glass-product .p-glass-product__stat-unit {
  margin-left: 0.08em;
  font-size: var(--size-regular);
  font-weight: 700;
}
.p-glass-product .p-glass-product__stat-icon {
  align-self: center;
  width: 1em;
  height: 1.2em;
  margin-right: 0.05em;
  font-size: var(--size-large-30);
  background-color: var(--color-accent-500);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-120q-66 0-113-47t-47-113q0-48 25.5-88t66.5-62v-330q0-28 19.5-47.5T480-840q28 0 47.5 19.5T547-773v330q41 22 66.5 62t25.5 88q0 66-47 113t-113 47Zm-40-440h80v-40h-40v-40h40v-40h-40v-40h40v-13q0-11-8-19t-19-8q-11 0-19.5 8t-8.5 19v213Z'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-120q-66 0-113-47t-47-113q0-48 25.5-88t66.5-62v-330q0-28 19.5-47.5T480-840q28 0 47.5 19.5T547-773v330q41 22 66.5 62t25.5 88q0 66-47 113t-113 47Zm-40-440h80v-40h-40v-40h40v-40h-40v-40h40v-13q0-11-8-19t-19-8q-11 0-19.5 8t-8.5 19v213Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.p-glass-product .p-glass-product__stat-sub {
  margin: 0;
  line-height: 1.2;
  font-size: var(--size-small-20);
  font-weight: 600;
  color: var(--color-gray-600);
}
.p-glass-product .p-glass-product__stat-badge {
  margin-top: var(--space-small-20);
  padding: 0.2em 0.7em;
  line-height: 1.3;
  font-size: var(--size-small-20);
  font-weight: 700;
  color: #fff;
  background-color: var(--color-accent-600);
  border-radius: 999px;
}
.p-glass-product {
  /* ### Measurement */
}
.p-glass-product .p-glass-product__measure {
  padding: var(--space-large-20);
}
.p-glass-product .p-glass-product__measure-title {
  margin: 0 0 var(--space-regular);
  padding-left: var(--space-small-10);
  line-height: 1.5;
  font-size: var(--size-large-10);
  font-weight: 700;
  color: var(--color-primary-900);
  border-left: 4px solid var(--color-accent-500);
}
.p-glass-product .p-glass-product__table th,
.p-glass-product .p-glass-product__table td {
  border-color: var(--color-gray-200);
}
.p-glass-product .p-glass-product__table th {
  width: 20%;
  color: #fff;
  background-color: var(--color-primary-800);
}
@media (width < 768px) {
  .p-glass-product .p-glass-product__table th {
    width: 30%;
  }
}

/* ### Measurement */
.p-glass-measurement {
  --color-m-hot: #e0382d;
  --color-m-cool: var(--color-accent-600);
  --color-m-diff: #e8911c;
  --color-m-vis: #2ea24f;
}
.p-glass-measurement .p-glass-measurement__intro {
  margin: 0 0 var(--space-large-20);
}
.p-glass-measurement .p-glass-measurement__ttl {
  display: flex;
  align-items: center;
  gap: var(--space-small-10);
  margin-top: var(--space-large-30);
  margin-bottom: var(--space-large-10);
  line-height: 1.4;
  font-size: var(--size-large-20);
  font-weight: 700;
  color: var(--color-primary-900);
}
.p-glass-measurement .p-glass-measurement__no {
  font-family: var(--font-family-en);
  font-size: var(--size-large-40);
  font-weight: 700;
  color: var(--color-accent-500);
}
.p-glass-measurement .p-glass-measurement__closing {
  margin: 0 0 var(--space-regular);
  line-height: 1.6;
  letter-spacing: 0.12em;
  font-family: var(--font-family-serif);
  font-size: var(--size-large-30);
  font-weight: 700;
  color: var(--color-primary-800);
}

/* ### Measurement card */
.p-glass-mcard {
  padding: var(--space-large-20);
  background-color: #fff;
  border: 1px solid var(--color-gray-100);
}
.p-glass-mcard + .p-glass-mcard {
  margin-top: var(--space-large-20);
}
.p-glass-mcard .p-glass-mcard__head {
  margin: 0 0 var(--space-large-10);
  padding-left: var(--space-small-10);
  line-height: 1.5;
  font-size: var(--size-large-10);
  font-weight: 700;
  color: var(--color-accent-700);
  border-left: 4px solid var(--color-accent-500);
}
.p-glass-mcard .p-glass-mcard__gallery {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.6fr);
  gap: var(--space-large-10);
  align-items: stretch;
}
.p-glass-mcard .p-glass-mcard__gallery--pair {
  grid-template-columns: 1fr;
}
@media (width < 768px) {
  .p-glass-mcard .p-glass-mcard__gallery {
    grid-template-columns: 1fr;
  }
}
.p-glass-mcard .p-glass-mcard__hero {
  margin: 0;
  height: 100%;
  overflow: hidden;
}
.p-glass-mcard .p-glass-mcard__hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-glass-mcard .p-glass-mcard__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-regular);
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-glass-mcard .p-glass-mcard__gallery--pair .p-glass-mcard__steps {
  grid-template-columns: repeat(2, 1fr);
}

.p-glass-mstep .p-glass-mstep__media {
  margin: 0 0 var(--space-small-10);
  aspect-ratio: 4/3;
  overflow: hidden;
}
.p-glass-mstep .p-glass-mstep__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-glass-mstep .p-glass-mstep__no {
  margin: 0;
  line-height: 1;
  font-family: var(--font-family-en);
  font-size: var(--size-large-10);
  font-weight: 700;
  font-style: italic;
  color: var(--color-accent-600);
}
.p-glass-mstep .p-glass-mstep__caption {
  margin: var(--space-small-20) 0 0;
  line-height: 1.5;
  font-size: var(--size-small-10);
  color: var(--color-gray-700);
}

/* ### Measurement result */
.p-glass-mresult {
  display: grid;
  gap: var(--space-large-10);
  align-items: stretch;
  margin-top: var(--space-large-20);
}
@media (width < 768px) {
  .p-glass-mresult {
    grid-template-columns: 1fr;
  }
}
.p-glass-mresult .p-glass-mresult__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  padding: var(--space-large-10) var(--space-regular);
  list-style: none;
  background-color: var(--color-background-base);
}
.p-glass-mresult .p-glass-mresult__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-small-20);
  padding: 0 var(--space-small-10);
  text-align: center;
}
.p-glass-mresult .p-glass-mresult__stat + .p-glass-mresult__stat {
  border-left: 1px solid var(--color-gray-100);
}
.p-glass-mresult .p-glass-mresult__stat--hot .p-glass-mresult__value {
  color: var(--color-m-hot);
}
.p-glass-mresult .p-glass-mresult__stat--cool .p-glass-mresult__value {
  color: var(--color-m-cool);
}
.p-glass-mresult .p-glass-mresult__stat--diff .p-glass-mresult__value {
  color: var(--color-m-diff);
}
.p-glass-mresult .p-glass-mresult__label {
  margin: 0;
  line-height: 1.4;
  font-size: var(--size-small-10);
  font-weight: 600;
  color: var(--color-gray-700);
}
.p-glass-mresult .p-glass-mresult__value {
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin: 0;
  line-height: 1;
  font-family: var(--font-family-en);
  font-size: var(--size-large-40);
  font-weight: 700;
}
.p-glass-mresult .p-glass-mresult__unit {
  margin-left: 0.05em;
  font-size: var(--size-regular);
  font-weight: 700;
}
.p-glass-mresult .p-glass-mresult__callout {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-small-10);
  padding: var(--space-regular) var(--space-large-10);
  background-color: var(--color-accent-50);
  border: 1px solid var(--color-accent-100);
}
.p-glass-mresult .p-glass-mresult__callout-text {
  margin: 0;
  line-height: 1.7;
  font-size: var(--size-small-10);
  color: var(--color-primary-800);
}
.p-glass-mresult .p-glass-mresult__callout-emph {
  margin: 0;
  line-height: 1.2;
  font-weight: 700;
  color: var(--color-accent-700);
}
.p-glass-mresult .p-glass-mresult__callout-emph span {
  font-family: var(--font-family-en);
  font-size: var(--size-large-30);
}

/* ### Optical demo */
.p-glass-optic {
  container: p-glass-optic/inline-size;
  padding: var(--space-large-30);
  background-color: #fff;
  border: 1px solid var(--color-gray-100);
}
@container (width < 720px) {
  .p-glass-optic {
    padding: var(--space-large-20);
  }
}
@container (width < 460px) {
  .p-glass-optic {
    padding: var(--space-regular);
  }
}
.p-glass-optic .p-glass-optic__lead {
  max-width: 55em;
  margin: 0;
  line-height: 1.9;
  letter-spacing: 0.06em;
  font-size: var(--size-regular);
  font-weight: 600;
  color: var(--color-gray-700);
}
.p-glass-optic .p-glass-optic__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-small-10);
  margin: var(--space-large-10) 0 var(--space-large-20);
  padding: 0;
  list-style: none;
}
@container (width < 460px) {
  .p-glass-optic .p-glass-optic__tags {
    margin-bottom: var(--space-regular);
  }
}
.p-glass-optic .p-glass-optic__tags li {
  padding: 0.45em 1.25em;
  border: 1px solid var(--color-accent-200);
  line-height: 1.3;
  font-size: var(--size-small-10);
  font-weight: 700;
  color: var(--color-primary-700);
  background-color: var(--color-primary-50);
}
.p-glass-optic .p-glass-optic__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-regular);
}
@container (width < 720px) {
  .p-glass-optic .p-glass-optic__gallery {
    grid-template-columns: 1fr;
  }
}
.p-glass-optic .p-glass-optic__photo {
  margin: 0;
  aspect-ratio: 1.414;
  overflow: hidden;
  background-color: var(--color-primary-50);
}
.p-glass-optic .p-glass-optic__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-glass-optic .p-glass-optic__photo--main {
  grid-column: 1/-1;
  aspect-ratio: 3.302;
}
@container (width < 720px) {
  .p-glass-optic .p-glass-optic__photo--main {
    aspect-ratio: 16/9;
  }
}

/* ## p-buffing */
.p-buffing-tech-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-large-30);
  align-items: start;
}
@media (width < 960px) {
  .p-buffing-tech-cols {
    grid-template-columns: 1fr;
  }
}
.p-buffing-tech-cols .p-buffing-tech-cols__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-large-20);
}
.p-buffing-tech-cols .p-buffing-tech-cols__lead {
  margin: 0;
  padding-left: var(--space-large-10);
  border-left: 3px solid var(--color-primary-600);
  line-height: 1.8;
  letter-spacing: 0.08em;
  font-family: var(--font-family-serif);
  font-size: var(--size-large-30);
  font-weight: 700;
  color: var(--color-primary-800);
}
.p-buffing-tech-cols .p-buffing-tech-cols__intro > * + * {
  margin-top: var(--space-small-10);
}
.p-buffing-tech-cols .p-buffing-tech-cols__intro p {
  margin: 0;
}
.p-buffing-tech-cols .p-buffing-tech-cols__message {
  margin: 0;
  padding: var(--space-regular) var(--space-large-20);
  background: linear-gradient(135deg, var(--color-primary-900), var(--color-primary-700));
  line-height: 1.7;
  letter-spacing: 0.08em;
  font-size: var(--size-large-20);
  font-weight: 700;
  color: #fff;
  text-align: center;
}
@media (width < 600px) {
  .p-buffing-tech-cols .p-buffing-tech-cols__message {
    padding-inline: var(--space-regular);
    font-size: var(--size-large-10);
  }
}
.p-buffing-tech-cols .p-buffing-tech-cols__images {
  --media-ratio: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-small-10);
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-buffing-tech-cols .p-buffing-tech-cols__images .p-buffing-tech-cols__image:first-child {
  grid-column: 1/-1;
  --media-ratio: 3 / 2;
}

.p-buffing-tech-list {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-secondary-200);
  list-style: none;
}
.p-buffing-tech-list .p-buffing-tech-list__item {
  display: grid;
  grid-template-columns: minmax(10rem, 0.9fr) minmax(0, 1.35fr);
  gap: var(--space-large-10);
  align-items: center;
  padding-block: var(--space-regular);
  border-bottom: 1px solid var(--color-secondary-200);
}
@media (width < 600px) {
  .p-buffing-tech-list .p-buffing-tech-list__item {
    grid-template-columns: 1fr;
    gap: var(--space-small-10);
  }
}
.p-buffing-tech-list .p-buffing-tech-list__title {
  margin: 0;
  line-height: 1.5;
  font-size: var(--size-large-10);
  font-weight: 700;
  color: var(--color-primary-700);
}
.p-buffing-tech-list .p-buffing-tech-list__description {
  margin: 0;
  line-height: 1.9;
  font-size: var(--size-small-10);
}

.p-buffing-processing-cols {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--space-regular);
  align-items: start;
}
@media (width < 960px) {
  .p-buffing-processing-cols {
    grid-template-columns: 1fr;
  }
}
.p-buffing-processing-cols .p-buffing-processing-cols__left .p-buffing-processing-cols__title,
.p-buffing-processing-cols .p-buffing-processing-cols__right .p-buffing-processing-cols__title {
  display: inline-block;
  margin-bottom: var(--space-small-10);
  padding: var(--space-small-30) var(--space-small-10);
  background-color: var(--color-primary-700);
  line-height: 1.4;
  font-size: var(--size-small-10);
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
}

.p-buffing-materials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-regular) var(--space-small-10);
  margin: 0 0 var(--space-large-10) 0;
  padding: 0;
  list-style: none;
}
.p-buffing-materials .p-buffing-materials__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-small-10);
}
.p-buffing-materials .p-buffing-materials__icon {
  display: block;
  width: var(--size-large-80);
  height: var(--size-large-80);
  object-fit: contain;
}
.p-buffing-materials .p-buffing-materials__name {
  font-size: var(--size-small-10);
  font-weight: 600;
  color: var(--color-primary-800);
  text-align: center;
}

.p-buffing-beforeafter .p-buffing-beforeafter__pair {
  gap: var(--space-small-10);
}

/* ## p-painting */
.p-painting-commitment {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: var(--space-large-30);
  align-items: start;
}
@media (width < 768px) {
  .p-painting-commitment {
    grid-template-columns: 1fr;
  }
}

.p-painting-about-cols {
  display: grid;
  grid-template-columns: 1fr 1.618fr;
  gap: var(--space-large-30);
  align-items: start;
}
@media (width < 768px) {
  .p-painting-about-cols {
    grid-template-columns: 1fr;
  }
}
.p-painting-about-cols .p-painting-about-cols__text > * + * {
  margin-top: var(--space-large-10);
}
.p-painting-about-cols .p-painting-about-cols__figure {
  margin: 0;
}

.p-painting-diff {
  margin-top: var(--space-large-50);
}
.p-painting-diff .p-painting-diff__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-regular);
  margin: 0 0 var(--space-large-30);
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-size: var(--size-large-30);
  font-weight: 700;
  color: var(--color-primary-900);
  text-align: center;
}
.p-painting-diff .p-painting-diff__title::before, .p-painting-diff .p-painting-diff__title::after {
  content: "";
  width: 40px;
  height: 2px;
  background-color: var(--color-primary-300);
}
.p-painting-diff .p-painting-diff__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-painting-merit {
  margin-top: var(--space-large-50);
}
.p-painting-merit .p-painting-merit__header {
  margin-bottom: var(--space-large-30);
  text-align: center;
}
.p-painting-merit .p-painting-merit__kicker {
  margin: 0 0 var(--space-small-20);
  line-height: 1;
  letter-spacing: 0.2em;
  font-family: var(--font-family-accent);
  font-size: var(--size-small-10);
  font-weight: 600;
  color: var(--color-primary-300);
}
.p-painting-merit .p-painting-merit__title {
  margin: 0;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-size: var(--size-large-40);
  font-weight: 700;
  color: var(--color-primary-900);
}
.p-painting-merit .p-painting-merit__title span {
  font-weight: 600;
  font-size: 1.1em;
  color: var(--color-primary-500);
}
.p-painting-merit .p-painting-merit__lead {
  margin: var(--space-small-10) 0 0;
  line-height: 1.8;
  font-size: var(--size-regular);
  color: var(--color-gray-600);
}
.p-painting-merit .p-painting-merit__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-painting-merit .p-painting-merit__item {
  gap: var(--space-small-10);
  padding: var(--space-large-30) var(--space-large-10) var(--space-large-20);
  text-align: center;
}
.p-painting-merit .p-painting-merit__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-regular);
  margin-bottom: var(--space-small-10);
}
.p-painting-merit .p-painting-merit__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  line-height: 1;
  border-radius: 50%;
  background-color: var(--color-primary-600);
  font-family: var(--font-family-accent);
  font-size: var(--size-large-20);
  font-weight: 600;
  color: #fff;
}
.p-painting-merit .p-painting-merit__sep {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-primary-200);
}
.p-painting-merit .p-painting-merit__icon {
  display: block;
  width: 52px;
  height: 52px;
  background-color: var(--color-primary-600);
  -webkit-mask: var(--merit-icon) no-repeat center/contain;
  mask: var(--merit-icon) no-repeat center/contain;
}
.p-painting-merit .p-painting-merit__card-title {
  padding-bottom: var(--space-large-10);
  border-bottom: 1px solid var(--color-primary-100);
  font-size: var(--size-large-10);
}
.p-painting-merit .p-painting-merit__card-text {
  text-align: left;
  color: var(--color-gray-700);
  font-size: var(--size-small-10);
}
.p-painting-merit .p-painting-merit__footer {
  margin-top: var(--space-large-30);
  text-align: center;
}
.p-painting-merit .p-painting-merit__note {
  margin: 0 0 var(--space-large-10);
  line-height: 2;
  font-size: var(--size-regular);
  color: var(--color-gray-700);
}

.p-painting-inspection {
  margin-top: var(--space-large-10);
  padding: var(--space-large-20);
  background-color: #fff;
  border: 1px solid var(--color-primary-100);
  box-shadow: var(--box-shadow);
}
.p-painting-inspection .p-painting-inspection__row {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: var(--space-large-20);
  align-items: start;
  padding-block: var(--space-large-20);
}
.p-painting-inspection .p-painting-inspection__row:first-child {
  padding-top: 0;
}
.p-painting-inspection .p-painting-inspection__row:last-child {
  padding-bottom: 0;
}
.p-painting-inspection .p-painting-inspection__row + .p-painting-inspection__row {
  border-top: 1px solid var(--color-primary-100);
}
@media (width < 768px) {
  .p-painting-inspection .p-painting-inspection__row {
    grid-template-columns: 1fr;
    gap: var(--space-regular);
  }
}
.p-painting-inspection .p-painting-inspection__label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-small-10);
  margin: 0 !important;
  padding-left: var(--space-regular);
  border-left: 4px solid var(--color-primary-600);
  line-height: 1.5;
  font-size: var(--size-large-20);
  font-weight: 700;
  color: var(--color-primary-900);
}
.p-painting-inspection .p-painting-inspection__icon {
  display: block;
  width: 32px;
  height: 32px;
  object-fit: contain;
}
.p-painting-inspection .p-painting-inspection__action {
  margin-top: var(--space-large-10);
  text-align: right;
}

.p-painting-voice {
  --voice-avatar: 80px;
}
.p-painting-voice .p-painting-voice__item {
  position: relative;
  margin-top: calc(var(--voice-avatar) / 2);
  padding-top: calc(var(--voice-avatar) / 2 + var(--space-large-20));
  text-align: center;
}
.p-painting-voice .p-painting-voice__item::before {
  content: "“";
  position: absolute;
  top: calc(var(--voice-avatar) / 2);
  left: var(--space-large-10);
  z-index: 0;
  line-height: 1;
  font-family: var(--font-family-serif);
  font-size: var(--size-large-55);
  color: var(--color-primary-100);
}
.p-painting-voice .p-painting-voice__avatar {
  position: absolute;
  top: 0;
  left: 50%;
  width: var(--voice-avatar);
  height: var(--voice-avatar);
  transform: translate(-50%, -50%);
  border: 4px solid #fff;
  border-radius: 50%;
  background-color: var(--color-primary-50);
  box-shadow: var(--box-shadow);
  overflow: hidden;
}
.p-painting-voice .p-painting-voice__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-painting-voice .p-painting-voice__name {
  position: relative;
  z-index: 1;
  font-size: var(--size-large-10);
  color: var(--color-primary-700);
}
.p-painting-voice .p-painting-voice__text {
  position: relative;
  z-index: 1;
  text-align: left;
}

/* ## p-greeting */
.p-greeting .p-greeting__inner {
  display: grid;
  grid-template-columns: 38.2fr 61.8fr;
  gap: var(--space-large-30) max(5%, 1rem);
  align-items: center;
}
@media (width < 768px) {
  .p-greeting .p-greeting__inner {
    grid-template-columns: 1fr;
    gap: var(--space-large-20);
  }
}
.p-greeting .p-greeting__img {
  margin: 0;
  aspect-ratio: 1;
  box-shadow: var(--box-shadow);
}
.p-greeting .p-greeting__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-greeting .p-greeting__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-large-10);
}
.p-greeting .p-greeting__message {
  margin: 0;
  line-height: 2.4;
  word-break: auto-phrase;
}
.p-greeting .p-greeting__caption {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--space-small-10);
  margin: 0;
  line-height: 1.2;
  font-size: var(--size-large-10);
}
.p-greeting .p-greeting__caption-title {
  font-size: var(--size-small-10);
}
.p-greeting .p-greeting__caption-name {
  font-weight: 600;
  font-size: var(--size-large-30);
  color: var(--color-primary-900);
}

/* ## p-cta */
.p-cta {
  position: relative;
  padding-block: var(--space-large-50);
  background-image: url(../img/footer-cta-bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: calc(100% - 70px);
}
@media screen and (max-width: 1024px) {
  .p-cta {
    width: 100%;
  }
}
.p-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: color-mix(in srgb, var(--color-primary-900) 80%, transparent);
}
.p-cta .p-cta__inner {
  position: relative;
  z-index: 1;
  text-align: center;
}
.p-cta .p-cta__head {
  margin-bottom: var(--space-large-20);
}
.p-cta .p-cta__en {
  margin: 0;
  line-height: 1.2;
  letter-spacing: 0.08em;
  font-family: var(--font-family-accent);
  font-size: var(--size-large-10);
  font-weight: 500;
  color: #fff;
}
.p-cta .p-cta__title {
  margin: var(--space-small-10) 0 0;
  line-height: 1.4;
  letter-spacing: 0.12em;
  font-size: var(--size-large-40);
  font-weight: 500;
  color: #fff;
}
.p-cta .p-cta__text {
  margin: 0 0 var(--space-large-30);
  line-height: 2;
  font-size: var(--size-regular);
  color: #fff;
}
.p-cta .p-cta__box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-large-20) var(--space-large-40);
  padding: var(--space-large-30) var(--space-large-20);
  background-color: color-mix(in srgb, #fff 60%, transparent);
}
@media screen and (max-width: 768px) {
  .p-cta .p-cta__box {
    grid-template-columns: 1fr;
  }
}
.p-cta .p-cta__col {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-cta .p-cta__col-title {
  width: 100%;
  margin: 0 0 var(--space-large-20);
  padding-bottom: var(--space-regular);
  border-bottom: 1px solid var(--color-text-base);
  font-size: var(--size-large-10);
  font-weight: 500;
  color: var(--color-text-base);
}
.p-cta .p-cta__tel {
  line-height: 1.2;
  font-family: var(--font-family-accent);
  font-size: var(--size-large-40);
  font-weight: 700;
  color: var(--color-primary-600);
  text-decoration: none;
  transition: color 0.3s;
}
.p-cta .p-cta__tel:hover, .p-cta .p-cta__tel:focus {
  color: var(--color-primary-700);
}
.p-cta .p-cta__hours {
  margin: var(--space-small-10) 0 0;
  font-size: var(--size-large-10);
  color: var(--color-text-base);
}
.p-cta .p-cta__action {
  margin: 0;
}

.p-contact-tel {
  container: p-contact-tel/inline-size;
}
.p-contact-tel .p-contact-tel__box {
  position: relative;
  padding: var(--space-large-30) var(--space-large-10);
  box-sizing: border-box;
  min-width: auto;
  background-color: var(--color-primary-50);
  text-align: center;
  color: var(--color-text-base);
  border-radius: 12px;
}
.p-contact-tel .p-contact-tel__number-list {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
}
@container (width < 600px) {
  .p-contact-tel .p-contact-tel__number-list {
    flex-direction: column;
  }
}
.p-contact-tel .p-contact-tel__number-item {
  list-style: none;
}
@container (width >=600px) {
  .p-contact-tel .p-contact-tel__number-item {
    padding-inline: var(--space-large-30);
  }
}
@container (width < 600px) {
  .p-contact-tel .p-contact-tel__number-item {
    padding-block: var(--space-regular);
  }
}
@container (width >=600px) {
  .p-contact-tel .p-contact-tel__number-item:not(:last-child) {
    border-right: 1px solid var(--color-gray-200);
  }
}
@container (width < 600px) {
  .p-contact-tel .p-contact-tel__number-item:not(:last-child) {
    border-bottom: 1px solid var(--color-gray-200);
  }
}
.p-contact-tel .p-contact-tel__number-link {
  display: flex;
  gap: 0.3em;
  justify-content: center;
  align-items: center;
  margin: 0;
  font-size: var(--size-large-40);
  color: var(--color-primary-700);
  text-decoration: none !important;
  transition: 0.3s;
}
.p-contact-tel .p-contact-tel__number-link:hover {
  color: var(--color-primary-600);
}
.p-contact-tel .p-contact-tel__number-link::before {
  content: "";
  width: 0.9em;
  aspect-ratio: 1;
  translate: 0 8%;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M478.047 400.316c-19.356-18.424-81.443-56.049-97.112-61.134-15.659-5.096-36.341 8.668-43.342 27.382-7.012 18.715-16.85 16.022-16.85 16.022s-37.242-17.472-101.504-93.726-75.167-115.92-75.167-115.92-.984-10.16 18.662-13.898c19.615-3.729 36.693-21.769 34.321-38.071-2.34-16.301-28.904-83.876-43.776-106.06C138.377-7.262 105.153.61 97.593 5.146c-7.571 4.536-86.756 45.692-71.842 135.492 14.934 89.801 57.26 164.294 105.904 222.022 48.644 57.726 114.884 112.087 200.863 142.018 85.958 29.93 139.956-41.136 145.704-47.826 5.749-6.68 19.139-38.091-.175-56.536'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M478.047 400.316c-19.356-18.424-81.443-56.049-97.112-61.134-15.659-5.096-36.341 8.668-43.342 27.382-7.012 18.715-16.85 16.022-16.85 16.022s-37.242-17.472-101.504-93.726-75.167-115.92-75.167-115.92-.984-10.16 18.662-13.898c19.615-3.729 36.693-21.769 34.321-38.071-2.34-16.301-28.904-83.876-43.776-106.06C138.377-7.262 105.153.61 97.593 5.146c-7.571 4.536-86.756 45.692-71.842 135.492 14.934 89.801 57.26 164.294 105.904 222.022 48.644 57.726 114.884 112.087 200.863 142.018 85.958 29.93 139.956-41.136 145.704-47.826 5.749-6.68 19.139-38.091-.175-56.536'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: 0s;
}
.p-contact-tel .p-contact-tel__number-link--sp::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M502.79 100.977c-1.273-2.76-4.918-5.406-7.424-7.262-.054-.081-.121-.161-.174-.235.054.067.094.141.148.207-2.962-2.191-6.7-3.671-11.136-4.14L313.428 71.329c-15.397-1.649-33.126 9.139-39.491 23.96L146.633 392.463c-2.64 6.138-2.882 12.054-1.193 16.985.523 14.197 13.776 25.159 26.761 26.546 2.238.241 4.476.476 6.714.717 12.516 1.334 25.019 2.667 37.522 4.007 33.956 3.618 67.9 7.236 101.843 10.868 17.609 1.876 34.815 5.802 49.917-4.563 16.751-11.464 24.095-30.412 34.305-55.425 38.285-93.816 65.1-160.168 104.993-253.248 2.251-5.28 4.623-10.432 4.502-16.449 0-.007 0 0 0-.007-.109-6.459-3.74-13.119-9.033-19.477zM269.997 398.353c-3.109 6.814-11.712 11.74-19.149 10.982-7.424-.751-10.934-6.895-7.826-13.708 3.096-6.794 11.645-11.726 19.069-10.969 8.423.743 11.989 6.908 7.906 13.695zM365.421 368.316l-172.008-18.352 104.216-243.152 171.994 18.359L365.421 368.316z'/%3E%3Cpath d='M78.478 71.744 65.534 58.102c-25.984 24.61-46.084 56.168-56.926 92.866-10.855 36.73-11.096 74.104-2.68 108.892l18.278-4.449c-7.665-31.692-7.438-65.648 2.452-99.11C36.534 122.86 54.813 94.183 78.478 71.744z'/%3E%3Cpath d='M76.575 171.055c-7.973 27.029-8.16 54.573-1.956 80.215l18.278-4.462c-5.44-22.553-5.28-46.68 1.729-70.426 7.022-23.766 20.007-44.128 36.838-60.068l-12.945-13.669c-19.137 18.131-33.944 41.354-41.944 68.41z'/%3E%3Cpath d='M162.606 196.461c4.154-14.07 11.873-26.07 21.882-35.578l-12.945-13.655c-12.261 11.638-21.842 26.505-26.975 43.9-5.132 17.38-5.186 35.082-1.206 51.498l18.278-4.442c-3.228-13.4-3.188-27.665 1.966-41.723z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M502.79 100.977c-1.273-2.76-4.918-5.406-7.424-7.262-.054-.081-.121-.161-.174-.235.054.067.094.141.148.207-2.962-2.191-6.7-3.671-11.136-4.14L313.428 71.329c-15.397-1.649-33.126 9.139-39.491 23.96L146.633 392.463c-2.64 6.138-2.882 12.054-1.193 16.985.523 14.197 13.776 25.159 26.761 26.546 2.238.241 4.476.476 6.714.717 12.516 1.334 25.019 2.667 37.522 4.007 33.956 3.618 67.9 7.236 101.843 10.868 17.609 1.876 34.815 5.802 49.917-4.563 16.751-11.464 24.095-30.412 34.305-55.425 38.285-93.816 65.1-160.168 104.993-253.248 2.251-5.28 4.623-10.432 4.502-16.449 0-.007 0 0 0-.007-.109-6.459-3.74-13.119-9.033-19.477zM269.997 398.353c-3.109 6.814-11.712 11.74-19.149 10.982-7.424-.751-10.934-6.895-7.826-13.708 3.096-6.794 11.645-11.726 19.069-10.969 8.423.743 11.989 6.908 7.906 13.695zM365.421 368.316l-172.008-18.352 104.216-243.152 171.994 18.359L365.421 368.316z'/%3E%3Cpath d='M78.478 71.744 65.534 58.102c-25.984 24.61-46.084 56.168-56.926 92.866-10.855 36.73-11.096 74.104-2.68 108.892l18.278-4.449c-7.665-31.692-7.438-65.648 2.452-99.11C36.534 122.86 54.813 94.183 78.478 71.744z'/%3E%3Cpath d='M76.575 171.055c-7.973 27.029-8.16 54.573-1.956 80.215l18.278-4.462c-5.44-22.553-5.28-46.68 1.729-70.426 7.022-23.766 20.007-44.128 36.838-60.068l-12.945-13.669c-19.137 18.131-33.944 41.354-41.944 68.41z'/%3E%3Cpath d='M162.606 196.461c4.154-14.07 11.873-26.07 21.882-35.578l-12.945-13.655c-12.261 11.638-21.842 26.505-26.975 43.9-5.132 17.38-5.186 35.082-1.206 51.498l18.278-4.442c-3.228-13.4-3.188-27.665 1.966-41.723z'/%3E%3C/svg%3E");
}
.p-contact-tel .p-contact-tel__notes {
  margin-bottom: 0;
  font-size: var(--size-small-10);
}

.p-contact-form {
  container-type: inline-size;
}
.p-contact-form .p-contact-form__inner {
  box-sizing: border-box;
}
.p-contact-form .p-contact-form__input-group {
  display: grid;
  grid-template-columns: repeat(2, auto) 1fr;
  gap: 0 var(--space-large-20);
}
.p-contact-form .p-contact-form__input-row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 3;
  gap: var(--space-regular) var(--space-large-10);
  align-items: center;
  padding: var(--space-large-20) 0;
  min-width: 0;
}
@container (width < 600px) {
  .p-contact-form .p-contact-form__input-row {
    grid-template-columns: repeat(2, auto) 1fr;
    gap: var(--input-row-gap-sp);
  }
}
.p-contact-form .p-contact-form__input-title {
  margin: 0;
  font-size: var(--size-regular);
}
.p-contact-form .p-contact-form__input-label {
  line-height: 2.2em;
  letter-spacing: 0.2em;
  margin: 0;
  padding: 0em 1em;
  border-radius: 3px;
  white-space: nowrap;
  color: #fff;
  font-weight: normal;
  font-size: var(--size-small-20);
}
.p-contact-form .p-contact-form__input-label--required {
  background-color: #ca4260;
}
.p-contact-form .p-contact-form__input-label--optional {
  background-color: var(--color-gray-300);
}
.p-contact-form .p-contact-form__input-content {
  grid-column: 3;
  min-width: 0;
}
@container (width < 600px) {
  .p-contact-form .p-contact-form__input-content {
    grid-column: 1/-1;
  }
}
.p-contact-form .p-contact-form__input-content--multiline {
  grid-row: span 2;
}
.p-contact-form .p-contact-form__input-content:nth-child(n+2 of .p-contact-form .p-contact-form__input-content) {
  margin-top: var(--space-regular);
}
.p-contact-form .p-contact-form__input-content--multiline {
  grid-row: span 2;
}
.p-contact-form .p-contact-form__input-subtitle {
  display: block;
  margin-bottom: 0;
  font-size: var(--size-small-10);
}
.p-contact-form input,
.p-contact-form select,
.p-contact-form textarea {
  padding: 0.75em;
  box-sizing: border-box;
  font-size: 1rem;
  min-width: 0;
  max-width: 100%;
}
.p-contact-form input:is([type=text], [type=email], [type=tel])[size="40"] {
  width: 100%;
}
.p-contact-form select {
  width: min-content;
  field-sizing: content;
}
.p-contact-form textarea {
  width: 100%;
  min-height: 7lh;
  field-sizing: content;
  line-height: 1.7;
  resize: vertical;
}
.p-contact-form input.p-postal-code {
  width: 10em;
}
.p-contact-form .wpcf7-list-item-label {
  line-height: 2.6;
}
.p-contact-form .p-contact-form__submit-group {
  display: grid;
  gap: var(--space-large-10);
}
.p-contact-form .wpcf7-form-control-wrap.recaptcha {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
}
.p-contact-form .p-contact-form__privacy-embed {
  height: 400px;
  padding: var(--space-large-20);
  box-sizing: border-box;
  overflow-y: scroll;
  background: var(--color-gray-50);
}
.p-contact-form .p-contact-form__privacy-embed .p-contact-form__privacy-embed-title {
  margin-bottom: var(--space-large-20);
  text-align: center;
  font-size: var(--size-large-30);
}
.p-contact-form .p-contact-form__privacy-embed .p-contact-form__privacy-embed-subtitle {
  margin-bottom: var(--space-small-10);
  font-size: var(--size-large-10);
}
.p-contact-form .p-contact-form__privacy-embed .p-contact-form__privacy-embed-text {
  margin-bottom: var(--space-large-10);
  line-height: 2.4;
  font-size: var(--size-small-10);
}
.p-contact-form .p-contact-form__consent-check {
  text-align: center;
}
.p-contact-form .p-contact-form__submit-btn {
  display: block;
  width: min(100%, 350px);
  margin-inline: auto;
}
.p-contact-form .p-contact-form__submit-btn input[type=submit] {
  width: 100%;
  height: auto;
  margin-inline: auto;
  padding: var(--space-large-10) 0;
  background: var(--color-primary-600);
  transition: 0.3s;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: var(--size-large-10);
  color: #fff;
  border: none;
}
.p-contact-form .p-contact-form__submit-btn input[type=submit]:is(:hover, :focus) {
  background: var(--color-primary-500);
  color: #fff;
}

.wpcf7 .wpcf7-form {
  margin: var(--space-large-40) var(--space-large-20);
}

.wpcf7-spinner {
  position: absolute;
}

.wpcf7 .wpcf7-not-valid {
  border-color: #dc3232;
  background-color: #fff8f8;
}

.wpcf7-not-valid-tip {
  width: 100%;
  margin-top: var(--space-small-30);
  padding: var(--space-small-10);
  box-sizing: border-box;
  text-align: left;
  background-color: #fff8f8;
  border-left: 4px solid #dc3232;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  color: #dc3232;
  font-size: var(--size-small-10);
  font-weight: bold;
  animation: errorShake 0.3s ease-in-out;
}

@keyframes errorShake {
  0% {
    translate: 0;
  }
  25% {
    translate: -10px;
  }
  75% {
    translate: 10px;
  }
  100% {
    translate: 0;
  }
}
.p-cf7-radio-type-1 {
  container: p-cf7-radio-type-1/inline-size;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-small-10);
}
.p-cf7-radio-type-1 .wpcf7-list-item {
  margin: 0;
}
.p-cf7-radio-type-1 .wpcf7-list-item label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--space-small-10);
  padding: var(--space-small-10) var(--space-large-10) var(--space-small-10) var(--space-regular);
  border: 1px solid var(--color-gray-400);
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
}
.p-cf7-radio-type-1 .wpcf7-list-item label::before, .p-cf7-radio-type-1 .wpcf7-list-item label::after {
  flex-shrink: 0;
  width: var(--space-large-20);
  height: var(--space-large-20);
  border-radius: 50%;
  box-sizing: border-box;
  transition: all 0.3s ease;
}
.p-cf7-radio-type-1 .wpcf7-list-item label::before {
  content: "";
  background-color: var(--color-gray-50);
  border: 2px solid var(--color-gray-200);
}
.p-cf7-radio-type-1 .wpcf7-list-item label::after {
  content: "";
  position: absolute;
  left: var(--space-regular);
  top: 50%;
  transform: translateY(-50%);
  border: 6px solid transparent;
  background-clip: content-box;
  opacity: 0;
}
.p-cf7-radio-type-1 .wpcf7-list-item label:hover, .p-cf7-radio-type-1 .wpcf7-list-item label:has(input:focus) {
  background: var(--color-secondary-200);
  border-color: var(--color-secondary-500);
}
.p-cf7-radio-type-1 .wpcf7-list-item input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.p-cf7-radio-type-1 .wpcf7-list-item:has(input[type=radio]:checked) label {
  background: var(--color-secondary-600);
  border-color: var(--color-secondary-600);
  color: #fff;
}
.p-cf7-radio-type-1 .wpcf7-list-item:has(input[type=radio]:checked) label::before {
  border-color: var(--color-primary-700);
}
.p-cf7-radio-type-1 .wpcf7-list-item:has(input[type=radio]:checked) label::after {
  background-color: var(--color-primary-700);
  opacity: 1;
}

/* # ユーティリティ / Utility
------------------------------------------------ */
/* ## デバイス別の表示制御 */
@media (width < 960px) {
  .u-pc-only {
    display: none;
  }
}

@media (width >= 960px) {
  .u-tb-only {
    display: none;
  }
}

@media (width >= 560px) {
  .u-sp-only {
    display: none;
  }
}

/* ## 文字列の折り返し制御 */
.u-keep-all {
  word-break: keep-all;
}

.u-auto-phrase {
  word-break: auto-phrase;
}

/* ## コンテンツ間スペーシング */
.u-mb-0 {
  margin-bottom: 0 !important;
}

.u-mb-small-30 {
  margin-bottom: var(--space-small-30) !important;
}

.u-mb-small-20 {
  margin-bottom: var(--space-small-20) !important;
}

.u-mb-small-10 {
  margin-bottom: var(--space-small-10) !important;
}

.u-mb-regular {
  margin-bottom: var(--space-regular) !important;
}

.u-mb-large-10 {
  margin-bottom: var(--space-large-10) !important;
}

.u-mb-large-20 {
  margin-bottom: var(--space-large-20) !important;
}

.u-mb-large-30 {
  margin-bottom: var(--space-large-30) !important;
}

.u-mb-large-40 {
  margin-bottom: var(--space-large-40) !important;
}

.u-mb-large-45 {
  margin-bottom: var(--space-large-45) !important;
}

.u-mb-large-50 {
  margin-bottom: var(--space-large-50) !important;
}

.u-mb-large-60 {
  margin-bottom: var(--space-large-60) !important;
}

.u-mb-large-70 {
  margin-bottom: var(--space-large-70) !important;
}

.u-mb-large-80 {
  margin-bottom: var(--space-large-80) !important;
}

.u-mb-large-90 {
  margin-bottom: var(--space-large-90) !important;
}

.u-mb-large-100 {
  margin-bottom: var(--space-large-100) !important;
}

.u-mb-large-110 {
  margin-bottom: var(--space-large-110) !important;
}

.u-mb-large-120 {
  margin-bottom: var(--space-large-120) !important;
}

.u-mb-large-130 {
  margin-bottom: var(--space-large-130) !important;
}

.u-mb-large-140 {
  margin-bottom: var(--space-large-140) !important;
}

.u-mb-large-150 {
  margin-bottom: var(--space-large-150) !important;
}

/* ## スタイル微調整 */
.u-align-center {
  text-align: center;
}

.u-text-link {
  color: var(--color-primary-600);
  text-decoration: underline;
}

.u-bold {
  font-weight: bold;
}
/*# sourceMappingURL=style.css.map */
