@charset "UTF-8";
/*
Theme Name: Default Theme
Description: このサイト専用のテーマ。
Author: Daisuke U.
Author URI: localhost
Template:
Text Domain: default.theme
Version: WIP
.
コメント／利用許諾の記述 (あれば)
.
*/



:root {
  font-family: noto-sans-jp, var(--init_font-family_sans-serif);
  /* CSS Variables goes here. */
}

html, body {
  width: 100%;
}

html {
  font-size: clamp(12px, 1.33vw, 14px);
  background: #ffffff;
  overflow: hidden auto;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  scroll-padding-top: calc(var(--presentation_global-header-height) * 1.5);
  /* scroll-margin-top: var(--presentation_global-header-height); */
}

body {
  word-break: auto-phrase;
  overflow-wrap: break-word;
  background:#cccccc;
  overflow-x: clip;
}

img {
  vertical-align: middle;
}

/* 
#mobile-menu:after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(0,0,0,0.8);
  z-index: 1;

  transition-property: height, opacity;
  transition-duration: 0.33s;

  height: 0%;
  opacity: 0;

} */



a {
  text-decoration: none;
  transition: opacity 0.5s;
  color: var(--theme_color_common_gray_80);
}

main a {
  text-decoration: underline;
}

a:hover {
  opacity: 0.67;
}

/* a:link, a:visited {
  color: #202020;
} */

section {
  /* margin-bottom: 4rem; */
}



section.space-by-padding {
  margin: 0;
  padding: var(--init_section-spacing) 0;
}



header[data-composition="global"] {
  position: sticky;
  top: 0;
  margin: 0;
  background-color: #ffffff;
  color: #ffffff;
  z-index: 1;
}

header[data-composition="global"] header {
  margin: 0;
}


header[data-composition="global"] > div > [data-arrangement] {
  display: flex;
  justify-content: space-between;
  /* height: 100%; */
  min-height: var(--presentation_global-header-height);
}

header[data-composition="global"] [data-part="title"] {
  align-self: end;
margin: 0 5% 0 2%;}

header[data-composition="global"] [data-part="title"] > :is(h1, div) {
  padding: 0 0 1.5rem;
}

header[data-composition="global"] [data-part="navigation"] {
  /* height: 100%; */
    /* height: 100%; */
  grid-template: min-content minmax(auto, 100%) / 1fr;
}


header[data-composition="global"] [data-part="navigation"] > [data-part="global"] > .as-flex {
  /* flex-wrap: wrap; */
  justify-content: end;
}

header[data-composition="global"] [data-part="navigation"] > [data-part="global"] a {
  display: inline-block;
  line-height: 1;
  font-size: clamp(0.9em, 1.25vw, 1.25em);
  padding: 0.5em clamp(0.75em, 1vw, 1em);
}

header[data-composition="global"] [data-part="navigation"] > [data-part="global"] [data-part="entry"] a {
  color: #ffffff;
  background: var(--theme_color_common_gray_80);
}

header[data-composition="global"] [data-part="navigation"] > [data-part="global"] [data-part="recruitment"] a {
  color: #ffffff;
  background: var(--theme_color_corporate);
}

header[data-composition="global"] [data-part="navigation"] > [data-part="global"] [data-part="cmc-group"] a {
  color: #000000;
  background: #ffffff;
    border: 1px solid #999999;
    height: 95%;
}

header[data-composition="global"] [data-part="navigation"] > [data-part="global"] [data-part="career"] a {
  color: #ffffff;
  background: var(--theme_color_common_gray_60);
}


header[data-composition="global"] [data-part="navigation"] > [data-part="local"] {
  align-self: center;
}

header[data-composition="global"] [data-part="navigation"] > [data-part="local"] > ul {
  gap: 1.5em;
  justify-content: end;
  padding: 0 1em 0 0;
}

header[data-composition="global"] [data-part="navigation"] > [data-part="local"] > ul > li {
  position: relative;
}

header[data-composition="global"] [data-part="navigation"] > [data-part="local"] a {
  color: #000000;
  font-weight: bold;
  display: block;
  white-space: nowrap;
}


header[data-composition="global"] [data-part="navigation"] > [data-part="local"] a + nav[data-part="sub-menu"] {
  --transition-duration: 0.5s;
  /* display: none; */

  max-width: 0%;
  overflow: hidden;
  opacity: 0;
  transition: max-width 0s var(--transition-duration), opacity var(--transition-duration) 0s;
}

header[data-composition="global"] [data-part="navigation"] > [data-part="local"] a:hover + nav[data-part="sub-menu"],
header[data-composition="global"] [data-part="navigation"] > [data-part="local"] a + nav[data-part="sub-menu"]:hover {
  /* display: block; */

  max-width: 100vw;
  opacity: 1;
  transition: max-width 0s 0s, opacity var(--transition-duration) 0s;
}

header[data-composition="global"] [data-part="navigation"] > [data-part="local"] a + nav[data-part="sub-menu"] {
  position: absolute;
  padding-top: 0.5em;
  right: 0;
}


header[data-composition="global"] [data-part="navigation"] > [data-part="local"] a + nav[data-part="sub-menu"] ul {
  padding: 1em;
  margin: 0;
  list-style: none;
  background: rgba(0,0,0,0.75);
  /* backdrop-filter: blur(10px); */
}

header[data-composition="global"] [data-part="navigation"] > [data-part="local"] a + nav[data-part="sub-menu"] ul > li {
  
}


#header-logo {
  display: inline-block;
  height: clamp(2rem, 4.5vw, 3.5rem);
}



#footer-inquiry {
  background: var(--theme_color_corporate);
  color: #ffffff;
}

#footer-inquiry a {
  color: #ffffff;
  text-decoration: underline;
}

#footer-inquiry header.root {
  border-bottom: 1px solid #ffffff;
  margin: 0 0 var(--presentation_spacing_group) 0;
}

#footer-inquiry header.root h2 {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
}

#footer-inquiry [data-composition="columns"] {
  grid-template: auto / 1fr;
  gap: clamp(1.5em, 3vw, var(--presentation_spacing_group));
  margin: 0 0 var(--presentation_spacing_group) 0;
  align-items: center;
}

#footer-inquiry address [data-part="company-name"] {
  margin: 0 0 1em 0;
}

#footer-inquiry address [data-part="company-name"] img {
  display: inline-block;
  height: clamp(1.5rem, 2vw, 2rem);
}

#footer-inquiry [data-composition="columns"] [data-part="logo"] a {
  display: block;
  max-width: 500px;
  margin: auto;
}

#footer-inquiry [data-composition="columns"] [data-part="logo"] figure {
  margin: 0;
  padding: 3em;
  background: #ffffff;
}



nav[data-composition="footer-navigation"] {
  background: var(--theme_color_common_gray_60);
  color: #ffffff;

}

nav[data-composition="footer-navigation"] > div > [data-arrangement] {
  grid-auto-flow: column;
  grid-auto-columns: auto;
  gap: clamp(1.5em, 2vw, 2em);
  padding: var(--presentation_spacing_group) 0;
}

nav[data-composition="footer-navigation"] nav h2 {
  font-weight: 400;
  font-size: clamp(1.1em, 1.25rem, 1.25em);
}

nav[data-composition="footer-navigation"] nav a {
  color: #ffffff;
  text-decoration: none;
}



footer[data-composition="global"] {
  padding: clamp(1em, 2vw, 2em) 0;
}

footer[data-composition="global"] > div > [data-arrangement] {
  grid-auto-flow: column;
  grid-auto-columns: auto;
  justify-content: space-between;
  align-items: end;
}



#footer-logo {
  height: 2.5em;
  display: initial;}



#scroll-to-top {
  position: fixed;
  bottom: 4em;
  right: 1.5em;
}

#scroll-to-top button {
  border: none;
  background: none;
  padding: 0;
  background: var(--theme_color_common_gray_60);
  border: 1px solid #ffffff88;

  transition: 
    background 0.25s 0s,
    border-color 0.25s 0s;
}

#scroll-to-top button:hover {
  border-color: #ffffffff;
  background: var(--theme_color_common_gray_50);

}

#scroll-to-top button img {
  display: inline-block;
  width: clamp(2em, 4vw, 4em);
}



/*
  Mobile-menu
*/
#place-menu-button {
  align-self: center;
  line-height: 1;
}

#place-fallback-menu-button {
  display: flex;
  align-items: center;
  justify-content: end;
}

body [data-component="menu-button"] {
  --size: 2.25rem;
  --bar-height: 1px;
  --bar-color: #ffffff;
  --button-color: var(--theme_color_corporate);
  border: 1px solid #ffffff;
  z-index: 10;
}

#menu-overlay {
  background: #ffffff;
  position: fixed;
  top: 0;
  right: -100%;
  height: 100vh;
  width: 100%;
  z-index: 5;
  overflow: auto;
  overscroll-behavior: none;
  transition: right 0.5s;
}

[data-component="menu-button-switch"]:checked ~ * #menu-overlay {
  right: 0;
}

#menu-overlay [data-composition="main"] {
  display: grid;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 2em 0;
  box-sizing: border-box;
  overflow: auto;
  align-content: center;
  gap: 2rem;
}

#menu-overlay [data-composition="menu-group"] {
  font-size: 1.25rem;
  display: grid;
  grid-template: auto / 1fr;
  gap: 1em;
  color: #000000;}

#menu-overlay [data-composition="menu-group"] h2 {
  font-size: inherit;
  margin: 0;
}

#menu-overlay [data-composition="menu-group"] h2 + h2 {
  margin-top: 1em;
}

#menu-overlay [data-composition="menu-group"] h2 + ul {
  margin: 0.5em 0 0 0.5em;
}

#menu-overlay [data-composition="menu-group"] li {
  margin: 0;
}

#menu-overlay [data-composition="buttons"] ul {
  gap: 0.75em;
}

#menu-overlay [data-composition="buttons"] a {
  display: block;
  font-size: 1.25em;
  text-align: center;
  padding: 0.25em 0.5em;
}

#menu-overlay [data-composition="buttons"] a[data-variant="cmc-group"] {
  border: 1px solid var(--theme_color_common_gray_80);
}

#menu-overlay [data-composition="buttons"] a[data-variant="career"] {
  background: var(--theme_color_common_gray_60);
  color: #ffffff;
}



/*
  Main
*/
main {
  width: 100%;
  text-align: center;
  position: relative;
  z-index: 0;
}

main > * {
  text-align: left;
}



#page-path {
  border-bottom: 1px solid var(--theme_color_common_gray_30);
  background: #ffffff;
}


#page-path ul {
  display: flex;
  font-size: clamp(0.9rem, 1vw, 1rem);
  margin: 0 auto;
  padding: 0.5em var(--presentation_defined-width-side-space);
  list-style: none;
  
  width: 100%;
  max-width: calc( var(--presentation_width-variant_content) + (var(--presentation_defined-width-side-space) * 2) );
  flex-wrap: wrap;
}

#page-path ul > li {
  margin: 0;
  white-space: nowrap;
}

#page-path ul > li a {
  text-decoration: none;
}

#page-path ul > li:not(:last-child):after {
  content: '/';
  display: inline-block;
  padding: 0 0.5em;
}

#page-path ul > li a:not(.current-item) {
  border-bottom: 1px dotted var(--theme_color_common_gray_60);

}


/*
  Width Variants
*/
[data-define-width] {
  width: 100%;
  height: inherit;
  margin: auto;
  padding: 0;
  box-sizing: border-box;
  position: static;

  /* transition: padding var(--fx_animation-duration-default) var(--fx_animation-duration-default); */
}

[data-define-width] > [data-spaced] {
  padding: 0 var(--presentation_defined-width-side-space);
}

[data-define-width$=-spaced] {
  padding: 0 var(--presentation_defined-width-side-space);
}

[data-define-width^="site"] {
  position: relative;
  isolation: isolate;
   display: grid;
  place-items: center;
  overflow: clip;
}

[data-define-width^="site-spaced"] {
  max-width: calc( var(--presentation_width-variant_site) + (var(--presentation_defined-width-side-space) * 2) );
}

[data-define-width^="content"] {
  max-width: var(--presentation_width-variant_content);
}

[data-define-width^="content-spaced"] {
  max-width: calc( var(--presentation_width-variant_content) + (var(--presentation_defined-width-side-space) * 2) );
}

[data-define-width^="narrow"] {
  max-width: var(--presentation_width-variant_narrow);
}

[data-define-width^="narrow-spaced"] {
  max-width: calc( var(--presentation_width-variant_narrow) + (var(--presentation_defined-width-side-space) * 2) );
}

[data-define-width^="thin"] {
  max-width: var(--presentation_width-variant_thin);
}

[data-define-width^="thin-spaced"] {
max-width: 1050px;
padding: 0px 20px;
}



.background-fill_corporate_10 {
  background:var(--theme_color_corporate_10);
}

.background-fill_corporate_20 {
  background:var(--theme_color_corporate_20);
}

.background-fill_corporate_25 {
  background:var(--theme_color_corporate_25);
}

.background-fill_corporate_40 {
  background:var(--theme_color_corporate_40);
}

.background-fill_corporate_50 {
  background:var(--theme_color_corporate_50);
}

.background-fill_corporate_60 {
  background:var(--theme_color_corporate_60);
}



#apparent-title {
  padding: clamp(1.25em, 3vw, 2.5em) 0;
  margin: 0;
  background: var(--theme_color_corporate_10);
}

#apparent-title h2 {
  font-size: clamp(2rem, 3vw, 3rem);
  margin: 0;
  text-align: center;
  color: var(--theme_color_corporate);
  font-weight: bold;
}



/*
  symbols
*/
i[data-cube] {
  --size: 1;
  font-size: calc( var(--size) * 1em );
  position: absolute;
}


i[data-cube][data-size="1"] {
  --size: 1;
}
i[data-cube][data-size="1.25"] {
  --size: 1.25;
}
i[data-cube][data-size="1.5"] {
  --size: 1.5;
}
i[data-cube][data-size="1.75"] {
  --size: 1.75;
}
i[data-cube][data-size="2"] {
  --size: 2;
}


i[data-cube]:before {
  --ar: 1/1;

  content: '';
  display: inline-block;
  position: relative;
  font-size: inherit;
  height: 1em;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: var(--ar);
  top: calc( -1em + (1em / var(--size)) );
}


i[data-cube][data-variant="theme-1"]:before {
  --ar: 1/1;
  background-image: url(img/common/cubes/color_theme_pattern-1.svg);
}
i[data-cube][data-variant="theme-2"]:before {
  --ar: 103/83;
  background-image: url(img/common/cubes/color_theme_pattern-2.svg);
}
i[data-cube][data-variant="theme-3"]:before {
  --ar: 143/66;
  background-image: url(img/common/cubes/color_theme_pattern-3.svg);
}
i[data-cube][data-variant="theme-4"]:before {
  --ar: 143/85;
  background-image: url(img/common/cubes/color_theme_pattern-4.svg);
}
i[data-cube][data-variant="theme-5"]:before {
  --ar: 78/74;
  background-image: url(img/common/cubes/color_theme_pattern-5.svg);
}
i[data-cube][data-variant="theme-6"]:before {
  --ar: 89/53;
  background-image: url(img/common/cubes/color_theme_pattern-6.svg);
}
i[data-cube][data-variant="theme-7"]:before {
  --ar: 142/56;
  background-image: url(img/common/cubes/color_theme_pattern-7.svg);
}
i[data-cube][data-variant="theme-8"]:before {
  --ar: 106/76;
  background-image: url(img/common/cubes/color_theme_pattern-8.svg);
}
i[data-cube][data-variant="theme-9"]:before {
  --ar: 89/49;
  background-image: url(img/common/cubes/color_theme_pattern-9.svg);
}

i[data-cube][data-variant="career-1"]:before {
  --ar: 107/48;
  background-image: url(img/common/cubes/color_career_pattern-1.svg);
}



@media (hover: hover) {
  /* [data-display="for-hover-devices"]  {
    display: block;
  } */

  [data-display="for-no-hover-devices"]  {
    display: none;
  }

}


@media (hover: none) {
  [data-display="for-hover-devices"]  {
    display: none;
  }

  /* [data-display="for-no-hover-devices"]  {
    display: block;
  } */

}






/* =========================================
   Design Tokens
========================================= */
:root{
  --brand-teal:#009591;
  --brand-amber:#fabe00;
  --accent: var(--brand-teal);

  --ink:#1a1a1a;
  --ink-weak:#4a4a4a;
  --paper:#fff;

  --shadow-card:0 22px 50px rgba(0,0,0,.09);
  --shadow-float:0 14px 30px rgba(0,0,0,.12);

  --container:1000px; 
  --lead-max:800px;
  --overhang: clamp(24px, 4vw, 80px); 
}

/* =========================================
   Reset / Base
========================================= */
*{ box-sizing:border-box }
html{ scroll-behavior:smooth }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto } }

body{
  margin:0;
  background:#eceff1; 
  color:var(--ink);
  font-family:"Noto Sans JP", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  line-height:1.75;
}

img{ display:block; max-width:100%; height:auto }
a{ color:inherit; }
:focus-visible{ outline:3px solid #000; outline-offset:3px }

.container{ margin-inline:auto; }
.page{ position:relative; z-index:1 } 

.white-box{ 
  display:flex; justify-content:center;
  padding: clamp(48px,7vw,100px) 20px;
  background:#fff; 
}
.about-block{ 
  display:flex; flex-direction:column; align-content:flex-start;
  width:min(1150px, 100%); margin:0 auto;
}

/* 見出し */
.sec-title{
  margin:0 0 18px;
  text-align:left;
  font-family:"Noto Sans JP";
  font-weight:600; letter-spacing:.02em;
  font-size:clmp(28px,5vw,45px);}
.sec-lead{
  width:min(100%,var(--lead-max));
  text-align:left;
  color:var(--ink-weak);
  font-size:clamp(16px,2.3vw,19px);
}
.highlight, .text-accent{ color:var(--accent) } 
h1.sec-title{
  display: flex;
  justify-content: center;
  align-items: center}
/* Card */
.card-list{
max-width: 1040px;
margin: auto;
width: 100%;
padding: 0px 20px;}
.card > * { min-width: 0; }  
.card{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 0;
  --card-pad-x: clamp(24px, 4vw, 45px);
  --card-pad-y: clamp(24px, 4vw, 45px);
  padding: var(--card-pad-y) var(--card-pad-x);
  width: 100%;
  max-width: 1040px;
  margin-inline: auto;
  box-sizing: border-box;
  background: var(--paper, #fff);
  border: 1px solid #eee;
  border-radius: 0;
  box-shadow: var(--shadow-card, none);
  overflow: visible;
  gap: 20px;}


.card__text{
  width:min(100%,var(--lead-max));
  text-align:left;
  color:var(--ink-weak);
}
.card__eyebrow{
  display:inline-block;
  margin-bottom:10px;
  letter-spacing:.16em;
  color:var(--accent,#7b8a91);
  font-size: clamp(14px, 2vw, 20px);
}
.card__title{
  margin: -6px 0 12px;
  font-family:"Noto Sans JP";
  font-weight:800;
  letter-spacing:.02em;
  font-size:clamp(20px,6vw,70px);
}
.center__title{ text-align:center; margin:0 }
.card__title .initial{ color:var(--initial,currentColor) }
.card__body{ color:var(--ink-weak); font-size:clamp(14px, 2vw, 20px) }

.card__cta, .btn-cta{
  display:flex; align-items:center; justify-content:center; gap:.55em;
  margin-top:16px;
  padding:14px 14px; width:270px;
  border:0; background: linear-gradient(to left, #85c6c5, var(--brand-teal));
  border-radius:0px;
  color:#fff; text-decoration:none;
  font-weight:700;
}

/* 帯 */

.step__media { max-width: 420px; }
.step__img {
  width:100%; aspect-ratio: 4/3;
  object-fit:cover;
}
.step__head { margin:0 0 8px }
.step__badge { 
display:block; 
font-weight: 700;
letter-spacing: .08em;
margin-bottom: 5px;
display: flex;
flex-direction: row;
font-size: 25px;}
.step__badge .color{ display:block; font-weight:700; letter-spacing:.08em; color:#009591;     margin-bottom: 0px;}

.step__title {
  margin:0;
  font-family:"Noto Sans JP";
  font-weight:600;
  font-size: clamp(28px, 4vw, 40px);
  line-height:1;
}
.step__subtitle {
    color: #0aa7a7;
    font-weight: 500;
    font-size:20px;}

.step__list { 
  margin: 0em 1em 2em;
  padding: 0;
  line-height: 1.3; 
  list-style:disc; 
}

.step .card__cta.step__band{
  display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap;
  grid-column: 1 / -1;
  gap: .6em;
  --card-pad-x: clamp(24px, 4vw, 45px);
  --card-pad-y: clamp(34px, 4vw, 45px);
  margin-inline: calc(-1 * var(--card-pad-x));
  width: calc(100% + (2 * var(--card-pad-x)));
  margin-block-end: calc(-1 * var(--card-pad-y));
  padding-block: 1.5em;
  padding-inline: var(--card-pad-x);
  box-sizing: border-box;
}

.step__list { list-style:none; padding-left:0.5em; }
.step__list li { position:relative; }
.step__list li::before {
  content:"•";
  position:absolute;
  left:-0.5em; top:-0.3em;
  color:#0aa7a7;
  font-size:3em;
  line-height:0.8;
}
.small--band { 
 display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  grid-column: 1 / -1;
  gap: .6em;
  margin-inline: calc(var(--card-pad-x) * -1);
  width: calc(100% + (2 * var(--card-pad-x)));
  margin-block-start: calc(var(--card-pad-y) * -1);
  margin-block-end: 0;
  padding: 0;
  padding-inline: var(--card-pad-x);
  height: 10px;
  box-sizing: border-box;
}
/* Chips */
.chips { display:flex; flex-wrap:wrap; gap:8px }
.chip {
  display:inline-flex; align-items:center; justify-content:center;
  padding:20px 12px;
  font-weight:700; color:#fff; text-decoration:none;
  background: linear-gradient(to left, #85c6c5, #009b9a);
  line-height:1.3;
  width: 300px;
    font-size: 13px;}

/* 画像 */
.card__media{ position:relative; width:100%; z-index:1 }
.card__img{
  width:100%; object-fit:cover;
  border-radius:0; 
  position:relative; z-index:1;
}
.card img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* =========================================
   共通内容
========================================= */
:root{
  --space-xs:.5rem; --space-sm:.75rem; --space:.1rem;
  --space-md:1rem; --space-lg:1.5rem; --space-xl:2rem; --space-xxl:8rem;

  --ink:#1a1a1a; --ink-weak:#000; --paper:#fff;
  --h2-size: clamp(1.3rem, 2.2vw, 1.8rem);
  --h3-size: clamp(1.1rem, 1.8vw, 1.4rem);
  --lead-weight:700;

  --site-max: 1100px;
  --site-pad: 20px;

  --bp-md: 768px; --bp-lg: 1024px; --bp-xl: 1280px;
}

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

[data-define-width^="site"]--sub {
  position:relative; isolation:isolate;
  min-height:220px; display:grid; place-items:center;
  color:#fff; text-align:center; overflow:hidden;
  margin:0;
}
.hero--sub {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  overflow: hidden;
  min-height: clamp(180px, 28vw, 200px);
  margin: 0;}

.hero--pc, .hero--sp, .hero--sub{
  place-items: unset;
  overflow: hidden;
}

.hero--sub__bg {  position: absolute;
  inset: 0;
  z-index: -1; }
.hero--sub__bg img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hero-focal, 50% 50%);
 }
.hero--sub::after {
  content:""; position:absolute; inset:0; z-index:-1;
  background: linear-gradient(to left, rgba(0,0,0,.35), rgba(0,0,0,.35));
}

.page-subtitle{ width:min(100%,1000px); margin-inline:auto; font-weight:500 ;line-height: 1.8; font-size: 1.50rem; text-align: center;}
.page-subtitle h2{ font-weight:500 }

.white-box {
  display:flex; justify-content:center;
  margin:0; margin-inline:auto;
  padding:100px 20px;
  background:#fff;
}

br.br--pc, br.br--tab, br.br--sp { display:none }
@media (min-width:1025px){ br.br--pc{display:inline} }
@media (min-width:768px) and (max-width:1024px){ br.br--tab{display:inline} }
@media (max-width:767px){ br.br--sp{display:inline} }


@supports (width: 100dvw){
  [data-define-width="site"].u-fullbleed{
    width: 100dvw;
    margin-inline: calc(50% - 50dvw);
  }
}

.hero--pc > img,
.hero--sp > img {
  display: block;
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 767px){
  .hero--sp { display: block; }
  .hero--pc { display: none; }
}
@media (min-width: 768px){
  .hero--sp { display: none; }
  .hero--pc { display: block; }
}

/* Breadcrumb */
.breadcrumb { background:#fff; width:100% }
.breadcrumb__inner {
  max-width:1440px; margin:0 auto; padding:0.75em 20px;
  font-size:clamp(.8rem,1.2vw,.9rem); color:#333; text-align:left;
  box-sizing:border-box;
}
.breadcrumb__list{
  display:flex; flex-wrap:wrap; align-items:end; gap:.25em;
  list-style:none; margin:0; padding:0;
}
.breadcrumb__item{ display:inline-flex; align-items:center; line-height:1.4 }
.breadcrumb__item + .breadcrumb__item::before{
  content:"/"; opacity:.65; margin:0 .5em;
}
.breadcrumb a{ color:inherit; text-decoration:none }
.breadcrumb a:hover{ text-decoration:underline }


/* Section */
.section{ padding-block:var(--space-xxl) 
}

.section + .section{ margin-block-start:var(--space-xl) }
.section__inner{
  max-width:var(--site-max);
  margin-inline:auto; padding-inline:var(--site-pad);
}

/* Typography */
.h2{ font-size:var(--h2-size); font-weight:var(--lead-weight); line-height:1.35 }
.h3{ font-size:var(--h3-size); font-weight:700; line-height:1.45 }
.h-acc .lead-char{ color:var(--accent) }

/* Prose */
.prose{ color:var(--ink); line-height:1.9 }
.prose p + p{ margin-block-start:1em }

/* List */
.list{ padding-left:1.1em }
.list li{ margin-block:.35em }
.list li::marker{ color:var(--accent) }

/* Divider */
.card-divider{
  border:none; border-top:1px solid #e6e6e6; margin:40px 0;
  grid-column:1 / -1;
}

/* Card min */
.card{ border:1px solid #eee; background:#fff }

/* Utilities */
.stack > * + *{ margin-block-start:var(--space-md) }
.center{ text-align:center }

/* 画像崩れ対策 */
.ar-16-9{ aspect-ratio:16/9; }
.ar-7-3 {aspect-ratio: 7/3;}
.ar-4-3 { aspect-ratio:4/3; }
.ar-4-2 { aspect-ratio:4/2; }
.ar-1-1 { aspect-ratio:1/1; }
.fit-cover{ object-fit:cover; }
.fit-contain{ object-fit:contain; background:transparent; }