@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700;800;900&display=swap');

/* Document
 * ========================================================================== */
/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Backgrounds do not repeat by default (opinionated).
 */
 *,
::before,
::after {
   box-sizing: border-box; /* 1 */
   background-repeat: no-repeat; /* 2 */
}

/**
  * 1. Add text decoration inheritance in all browsers (opinionated).
  * 2. Add vertical alignment inheritance in all browsers (opinionated).
  */
::before,
::after {
   text-decoration: inherit; /* 1 */
   vertical-align: inherit; /* 2 */
}

/**
  * 1. Use the default cursor in all browsers (opinionated).
  * 2. Change the line height in all browsers (opinionated).
  * 3. Breaks words to prevent overflow in all browsers (opinionated).
  * 4. Use a 4-space tab width in all browsers (opinionated).
  * 5. Remove the grey highlight on links in iOS (opinionated).
  * 6. Prevent adjustments of font size after orientation changes in iOS.
  */
:root {
   overflow-wrap: break-word; /* 3 */
   -moz-tab-size: 4; /* 4 */
   -o-tab-size: 4;
      tab-size: 4; /* 4 */
   -webkit-tap-highlight-color: transparent; /* 5 */
   -webkit-text-size-adjust: 100%; /* 6 */
   -moz-text-size-adjust: 100%;
        text-size-adjust: 100%; /* 6 */
}

/* Sections
  * ========================================================================== */
/**
  * Remove the margin in all browsers (opinionated).
  */
body {
  min-height: 100vh;
  margin: 0;
  position: relative;
}
  

/**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Edge, Firefox, and Safari.
  */
/* Grouping content
  * ========================================================================== */
/**
  * Remove the margin on nested lists in Chrome, Edge, and Safari.
  */
/**
  * 1. Correct the inheritance of border color in Firefox.
  * 2. Add the correct box sizing in Firefox.
  */
hr {
   color: inherit; /* 1 */
   height: 0; /* 2 */
}

/**
  * Remove the list style on navigation lists in all browsers (opinionated).
  */
/**
  * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
  */
/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  * 3. Prevent overflow of the container in all browsers (opinionated).
  */
pre {
   font-family: monospace, monospace; /* 1 */
   font-size: 1em; /* 2 */
   overflow: auto; /* 3 */
}

/* Text-level semantics
  * ========================================================================== */
/**
  * Add the correct text decoration in Safari.
  */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}

/**
  * Add the correct font weight in Chrome, Edge, and Safari.
  */
b, strong {
  font-weight: bolder;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
code, kbd, samp {
   font-family: monospace, monospace; /* 1 */
   font-size: 1em; /* 2 */
}

/**
  * Add the correct font size in all browsers.
  */
small {
  font-size: 80%;
}

/* Embedded content
  * ========================================================================== */
/*
  * Change the alignment on media elements in all browsers (opinionated).
  */
audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}

/**
  * Remove the border on iframes in all browsers (opinionated).
  */
iframe {
  border-style: none;
}

/**
  * Change the fill color to match the text color in all browsers (opinionated).
  */
svg:not([fill]) {
  fill: currentColor;
}

/* Tabular data
  * ========================================================================== */
/**
  * 1. Collapse border spacing in all browsers (opinionated).
  * 2. Correct table border color in Chrome, Edge, and Safari.
  * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
  */
table {
  border-collapse: collapse; /* 1 */
  border-color: currentColor; /* 2 */
  text-indent: 0; /* 3 */
}

/* Forms
  * ========================================================================== */
/**
  * Remove the margin on controls in Safari.
  */
button, input, select {
  margin: 0;
}

/**
  * Correct the inability to style buttons in iOS and Safari.
  */
button, [type=button i], [type=reset i], [type=submit i] {
  -webkit-appearance: button;
}

/**
  * Change the inconsistent appearance in all browsers (opinionated).
  */
fieldset {
  border: 1px solid #a0a0a0;
}

/**
  * Add the correct vertical alignment in Chrome, Edge, and Firefox.
  */
progress {
  vertical-align: baseline;
}

/**
  * 1. Remove the margin in Firefox and Safari.
  * 3. Change the resize direction in all browsers (opinionated).
  */
textarea {
   margin: 0; /* 1 */
   resize: vertical; /* 3 */
}

/**
  * 1. Correct the odd appearance in Chrome, Edge, and Safari.
  * 2. Correct the outline style in Safari.
  */
[type=search i] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
  * Correct the cursor style of increment and decrement buttons in Safari.
  */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
  * Correct the text style of placeholders in Chrome, Edge, and Safari.
  */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
  * Remove the inner padding in Chrome, Edge, and Safari on macOS.
  */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
  * 1. Correct the inability to style upload buttons in iOS and Safari.
  * 2. Change font properties to `inherit` in Safari.
  */
::-webkit-file-upload-button {
   -webkit-appearance: button; /* 1 */
   font: inherit; /* 2 */
}

/* Interactive
  * ========================================================================== */
/*
  * Add the correct styles in Safari.
  */
dialog {
  background-color: white;
  border: solid;
  color: black;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
  * Add the correct display in Safari.
  */
details > summary:first-of-type {
  display: list-item;
}

/* Accessibility
  * ========================================================================== */
/**
  * Change the cursor on busy elements in all browsers (opinionated).
  */
[aria-busy=true i] {
  cursor: progress;
}

/*
  * Change the cursor on disabled, not-editable, or otherwise
  * inoperable elements in all browsers (opinionated).
  */
[aria-disabled=true i], [disabled] {
  cursor: not-allowed;
}

/*
  * Change the display on visually hidden accessible elements
  * in all browsers (opinionated).
  */
[aria-hidden=false i][hidden] {
  display: initial;
}

[aria-hidden=false i][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
} 

:root {
  line-height: 1;
  overflow-wrap: break-word;
}

@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}
html:focus-within {
  scroll-behavior: smooth;
}

body {
  font-family: Poppins, "Noto Sans JP", "Noto Sans Japanese", 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  background: var(--color-gray-light);
  font-weight: 400;
  font-feature-settings: revert;
  letter-spacing: 0;
  color: var(--color-black);
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font: inherit;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dl, dd {
  margin: 0;
}

p {
  margin: 0;
}

blockquote {
  margin: 0;
}

hr {
  margin: 0;
  border: none;
  border-top: 1px solid currentColor;
}

pre {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.1375em;
  transition: var(--transition-duration) var(--transition-timing-function);
}
a.-tel{
  pointer-events: none; 
}
@media (max-width:767px) {
  a.-tel{
    pointer-events: auto; 
  }
}

figure {
  max-width: 100%;
  margin: 0;
}

img, picture, svg, iframe, video {
  max-width: 100%;
  /* height: auto; */
}
img, picture, svg, video {
  height: auto;
}

table {
  width: 100%;
  table-layout: fixed;
}

tbody, thead {
  vertical-align: inherit;
}

th {
  margin: 0;
  text-align: inherit;
  text-align: -webkit-match-parent;
}

td {
  padding: 0;
}

label {
  display: inline-block;
}

button, input, optgroup, select, textarea {
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

button, [role=button], [type=button], [type=reset], [type=submit]:not(:disabled) {
  cursor: pointer;
  transition-property: opacity;
  transition-duration: var(--transition-duration);
  transition-timing-function: ease;
}

:root {
  --icon-soudan: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2220%22%20height%3D%2219%22%20viewBox%3D%220%200%2020%2019%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_8_877)%22%3E%3Cpath%20d%3D%22M19.1596%2014.4276H17.7046V12.3635C17.7046%2012.0815%2017.4758%2011.8527%2017.1939%2011.8527H13.1987C12.9167%2011.8527%2012.6879%2012.0815%2012.6879%2012.3635V14.4276H11.4564C11.6851%2012.6002%2010.6371%2010.5175%209.77796%209.04385C9.57049%208.68475%209.33109%208.38684%209.07574%208.14478C10.6291%207.5197%2011.7304%206.00087%2011.7304%204.22668C11.7304%201.89657%209.83648%200.00268555%207.50637%200.00268555C5.17626%200.00268555%203.28237%201.89923%203.28237%204.22668C3.28237%205.95299%204.32507%207.43724%205.80932%208.09424C5.53269%208.34694%205.27733%208.66347%205.0539%209.0465C4.19474%2010.5201%203.14672%2012.6029%203.37547%2014.4302H0.51071C0.228755%2014.4302%200%2014.659%200%2014.9409V18.4946C0%2018.7766%200.228755%2019.0053%200.51071%2019.0053C0.792664%2019.0053%201.02142%2018.7766%201.02142%2018.4946V15.449H18.6542V18.4946C18.6542%2018.7766%2018.883%2019.0053%2019.1649%2019.0053C19.4469%2019.0053%2019.6756%2018.7766%2019.6756%2018.4946V14.9409C19.6756%2014.659%2019.4469%2014.4302%2019.1649%2014.4302L19.1596%2014.4276ZM4.30113%204.22402C4.30113%202.45516%205.74016%201.01879%207.50637%201.01879C9.27257%201.01879%2010.7116%202.45782%2010.7116%204.22402C10.7116%205.99023%209.27257%207.42926%207.50637%207.42926C7.49839%207.42926%207.49041%207.42926%207.48243%207.42926C7.46115%207.42926%207.43987%207.42394%207.41593%207.42394C7.41061%207.42394%207.40529%207.42394%207.40263%207.42394C5.68165%207.36808%204.30113%205.95565%204.30113%204.22402ZM4.40221%2014.4276C4.10962%2012.688%205.46885%2010.3579%205.93434%209.55722C6.34929%208.84435%206.87064%208.45068%207.40529%208.44536C7.42391%208.44536%207.44253%208.44802%207.46381%208.44802C7.98516%208.4693%208.49587%208.86031%208.90284%209.55722C9.36833%2010.3579%2010.7276%2012.6906%2010.435%2014.4276H4.40487H4.40221ZM13.712%2014.4276V12.8715H16.6885V14.4276H13.712Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_8_877%22%3E%3Crect%20width%3D%2219.6703%22%20height%3D%2219%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E');
  --icon-arrow: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M10.89%208.29c-.02.03-.04.07-.07.09l-4.46%204.46c-.03.03-.07.02-.1.04v-1.21L9.9%208.04%206.26%204.4V3.2c.03.02.08.02.1.04l4.45%204.45c.03.03.05.06.07.1v.5z%22%2F%3E%3C%2Fsvg%3E');
  --icon-pdf: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2226%22%20viewBox%3D%220%200%2022%2026%22%20fill%3D%22none%22%3E%20%3Cg%20clip-path%3D%22url(%23clip0_1_949)%22%3E%20%3Cpath%20d%3D%22M15.7026%2017.5805C15.2721%2017.554%2014.2369%2017.615%2013.2016%2017.81C12.603%2017.2087%2012.0824%2016.4511%2011.699%2015.8275C12.9331%2012.3114%2012.1521%2011.312%2011.1004%2011.312C10.2743%2011.312%209.86227%2012.1753%209.95452%2013.13C10.0017%2013.6114%2010.4117%2014.6209%2010.9159%2015.5797C10.6064%2016.3881%2010.0529%2017.7531%209.50353%2018.7423C8.85985%2018.9353%208.30841%2019.1506%207.91277%2019.3334C5.94073%2020.2414%205.78288%2021.454%206.19287%2021.9679C6.97185%2022.945%208.63025%2022.102%2010.2969%2019.1506C11.4366%2018.8297%2012.9372%2018.4011%2013.0725%2018.4011C13.0889%2018.4011%2013.1094%2018.4051%2013.134%2018.4133C13.9642%2019.1384%2014.9461%2019.9712%2015.7538%2020.0809C16.9223%2020.2394%2017.5885%2019.4004%2017.5414%2018.8784C17.4963%2018.3564%2017.1867%2017.6698%2015.7046%2017.5805H15.7026ZM8.32276%2020.7634C7.84103%2021.3301%207.06205%2021.8765%206.78736%2021.6937C6.51266%2021.5129%206.46551%2020.9909%207.0846%2020.3998C7.70368%2019.8087%208.7389%2019.504%208.8947%2019.4451C9.07919%2019.3781%209.12429%2019.4451%209.12429%2019.5365C9.12429%2019.6279%208.80245%2020.1947%208.32276%2020.7634ZM10.4322%2013.13C10.3871%2012.5612%2010.4998%2012.0169%2010.9815%2011.9478C11.4633%2011.8787%2011.6929%2012.4251%2011.5084%2013.3108C11.3239%2014.1984%2011.2316%2014.7875%2011.1414%2014.8565C11.0492%2014.9236%2010.959%2014.6961%2010.959%2014.6961C10.7745%2014.3325%2010.4773%2013.6967%2010.4322%2013.1279V13.13ZM10.6167%2018.4681C10.8688%2018.0578%2011.5104%2016.4003%2011.5104%2016.4003C11.6478%2016.6501%2012.724%2017.9217%2012.724%2017.9217C12.724%2017.9217%2011.0738%2018.2853%2010.6146%2018.4681H10.6167ZM15.6124%2019.1953C14.9256%2019.1059%2013.7551%2018.2873%2013.7551%2018.2873C13.5952%2018.2203%2015.0363%2018.0253%2015.5898%2018.0598C16.3011%2018.1045%2016.5533%2018.4011%2016.5533%2018.6956C16.5533%2018.9901%2016.3011%2019.2867%2015.6124%2019.1953Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M21.5244%205.46812L16.4836%200.473281L16.006%200H5.05311C2.62598%200%200.651882%201.95609%200.651882%204.36312V4.69625H0V9.9125H0.651882V21.6389C0.651882%2024.0439%202.62598%2026%205.05311%2026H17.5988C20.0259%2026%2022%2024.0439%2022%2021.6389V5.93937L21.5224%205.46609L21.5244%205.46812ZM17.5988%2024.3852H5.05311C3.5218%2024.3852%202.28159%2023.1562%202.28159%2021.6389V9.9125H10.344V4.69625H2.28159V4.36312C2.28159%202.84578%203.5218%201.61484%205.05311%201.61484H14.942V4.70641C14.942%205.96984%2015.9773%206.99562%2017.2523%206.99562H20.3723V21.6389C20.3723%2023.1562%2019.1321%2024.3852%2017.5988%2024.3852ZM2.39433%208.43375V6.01859C2.39433%205.97594%202.42918%205.94141%202.47223%205.94141H3.24711C3.37421%205.94141%203.4931%205.96172%203.59765%206.00234C3.7022%206.04297%203.7924%206.09984%203.86824%206.17094C3.94614%206.24203%204.00354%206.33141%204.04454%206.43094C4.08554%206.52844%204.10604%206.63609%204.10604%206.74984C4.10604%206.86359%204.08554%206.97328%204.04454%207.07078C4.00559%207.16828%203.94614%207.25359%203.87029%207.32672C3.79445%207.39984%203.7022%207.45672%203.59765%207.49531C3.4931%207.53391%203.37626%207.55422%203.24711%207.55422H2.92117V8.42969C2.92117%208.47234%202.88632%208.50688%202.84327%208.50688H2.47428C2.43123%208.50688%202.39638%208.47234%202.39638%208.42969L2.39433%208.43375ZM4.78252%208.43375V6.01859C4.78252%205.97594%204.81737%205.94141%204.86042%205.94141H5.71524C5.87719%205.94141%206.02069%205.96781%206.14163%206.02063C6.26463%206.07547%206.37328%206.16078%206.46757%206.27453C6.51677%206.33547%206.55367%206.4025%206.58237%206.47359C6.60902%206.54266%206.62952%206.61984%206.64387%206.69703C6.65617%206.77422%206.66437%206.85953%206.66642%206.94891C6.66847%207.03422%206.67052%207.12766%206.67052%207.22516C6.67052%207.32266%206.67052%207.41609%206.66642%207.50141C6.66437%207.59078%206.65617%207.67609%206.64387%207.75328C6.63157%207.8325%206.60902%207.90766%206.58237%207.97672C6.55367%208.04984%206.51472%208.11687%206.46757%208.17578C6.37328%208.29156%206.26463%208.37687%206.14163%208.42969C6.02274%208.4825%205.87924%208.50891%205.71524%208.50891H4.86042C4.81737%208.50891%204.78252%208.47437%204.78252%208.43172V8.43375ZM8.86191%207.00781C8.90496%207.00781%208.93981%207.04234%208.93981%207.085V7.41406C8.93981%207.45672%208.90496%207.49125%208.86191%207.49125H7.92713V8.43375C7.92713%208.47641%207.89228%208.51094%207.84924%208.51094H7.48025C7.4372%208.51094%207.40235%208.47641%207.40235%208.43375V6.01859C7.40235%205.97594%207.4372%205.94141%207.48025%205.94141H8.89676C8.93981%205.94141%208.97466%205.97594%208.97466%206.01859V6.34766C8.97466%206.39031%208.93981%206.42484%208.89676%206.42484H7.92713V7.00578H8.86191V7.00781Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M3.489%206.99355C3.5505%206.93871%203.58125%206.85949%203.58125%206.75184C3.58125%206.64418%203.5505%206.56699%203.489%206.51012C3.4234%206.45324%203.33936%206.4248%203.22866%206.4248H2.92322V7.07684H3.22866C3.33936%207.07684%203.42545%207.0484%203.489%206.99152V6.99355Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M5.88334%207.99707C5.94074%207.97473%205.99199%207.94019%206.03504%207.89144C6.08424%207.83863%206.11293%207.76145%206.12523%207.66191C6.13753%207.5502%206.14573%207.40395%206.14573%207.22723C6.14573%207.05051%206.13958%206.90426%206.12523%206.79254C6.11293%206.69301%206.08219%206.61582%206.03504%206.56301C5.98994%206.51223%205.93869%206.4777%205.88334%206.45738C5.82184%206.43504%205.75419%206.42285%205.6763%206.42285H5.30936V8.0316H5.6763C5.75419%208.0316%205.82389%208.01941%205.88334%207.99707Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip0_1_949%22%3E%20%3Crect%20width%3D%2222%22%20height%3D%2226%22%20fill%3D%22white%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%3C%2Fsvg%3E');
  --icon-tel: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2233%22%20height%3D%2232%22%20viewBox%3D%220%200%2033%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_1_231)%22%3E%3Cpath%20d%3D%22M31.464%2018.3178C32.313%2018.3178%2033%2017.6603%2033%2016.8438C33%207.55616%2025.2751%200%2015.7795%200C14.9304%200%2014.2434%200.663014%2014.2434%201.47945C14.2434%202.29589%2014.9304%202.95342%2015.7795%202.95342C23.5826%202.95342%2029.9279%209.18356%2029.9279%2016.8438C29.9279%2017.6603%2030.6149%2018.3178%2031.464%2018.3178Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M15.7795%205.63287C14.9304%205.63287%2014.2434%206.29041%2014.2434%207.10685C14.2434%207.92329%2014.9304%208.58082%2015.7795%208.58082C20.2592%208.58082%2023.901%2012.2849%2023.901%2016.8384C23.901%2017.6548%2024.588%2018.3123%2025.437%2018.3123C26.2861%2018.3123%2026.9731%2017.6548%2026.9731%2016.8384C26.9731%2010.6575%2021.9516%205.6274%2015.7795%205.6274V5.63287Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M19.9073%2030.9096C22.3315%2032.4658%2025.1187%2032.3781%2026.9676%2030.5589L29.6487%2027.9233C30.3189%2027.2658%2030.2016%2026.1205%2029.3806%2025.3096L25.6047%2021.6C24.7836%2020.789%2023.6162%2020.674%2022.9459%2021.3315L20.6893%2023.5452L8.62988%2011.6931L11.0317%209.29315C11.702%208.63561%2011.5847%207.48493%2010.7636%206.67945L6.9877%202.96986C6.16661%202.16438%204.99921%202.04383%204.32893%202.70685L1.49701%205.52877C-0.351841%207.34794%20-0.502654%209.97808%201.13953%2012.4658C6.77544%2021.0027%2011.4674%2025.4904%2019.9073%2030.9096Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_1_231%22%3E%3Crect%20width%3D%2233%22%20height%3D%2232%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E');
  --color-white: #fff;
  --color-black: #000;
  --color-gray: #BDBDBD;
  --color-gray-light: #E7E5E5;
  --color-blue: #1378BC;
  --color-yellow: #EDAB03;
  --font-sans: "Noto Sans Japanese", source-han-sans-japanese, sans-serif;
  --transition-duration: 0.4s;
  --transition-opacity: 0.65;
  --transition-timing-function: ease;
  --z-index-c-loader: 1000;
  --z-index-site-wrap-drawerBtn: 600;
  --z-index-c-drawer: 550;
  --z-index-site-wrap-header: 150;
  --z-index-site-wrap-sideNav: 150;
  --z-index-site-pagetop: 750;
  --z-index-site-sideNav: 700;
  --z-index-page-fixedToc: 80;
  --px-10: calc(10px * .65);
  --px-20: calc(20px * .65);
  --px-30: calc(30px * .65);
  --px-40: calc(40px * .65);
  --px-50: calc(50px * .65);
  --px-60: calc(60px * .65);
  --px-70: calc(70px * .65);
  --px-80: calc(80px * .65);
  --px-90: calc(90px * .65);
  --px-100: calc(100px * .65);
  --px-110: calc(110px * .65);
  --px-120: calc(120px * .65);
  --px-130: calc(130px * .65);
  --px-140: calc(140px * .65);
  --px-150: calc(150px * .65);
  --px-200: calc(200px * .65);
  --px-250: calc(250px * .65);
  --px-300: calc(300px * .65);
  --px-350: calc(350px * .65);
  --px-400: calc(400px * .65);
  --px-450: calc(450px * .65);
  --px-500: calc(500px * .65);
  --px-550: calc(550px * .65);
  --px-600: calc(600px * .65);
  --px-650: calc(650px * .65);
  --px-700: calc(700px * .65);
  --px-750: calc(750px * .65);
  --px-800: calc(800px * .65);
  --leading-trim: calc((1em - 1lh) / 2);
  --content-gutter-medium: 3vw;
  --content-gutter: 6vw;
  --content-gutter-large: 20vw;
  --content-width-small: 90vw;
  --content-width-medium: 90vw;
  --content-width-large: 90vw;
  --content-width-xlarge: 90vw;
  --text-shadow-opacity50: 0 0 10px rgba(0, 0, 0, .5);
  --shadow-opacity50: 0 0 10px 0 rgba(0, 0, 0, .5);
  --shadow-opacity25: 0px 4px 4px 0 rgba(0, 0, 0, .25);
  --site-header-height: 90px;
  --site-header-scrolled-height: 90px;
  --site-wrap-border-width: 0px;
  --c-iconBtn-site-wrap-drawerBtn-width: clamp(67px, 11.4285714286vw, 160px);
  --font-10: 10px;
  --font-11: 11px;
  --font-12: 11px;
  --font-13: 12px;
  --font-14: 13px;
  --font-15: 13px;
  --font-16: 15px;
  --font-17: 15px;
  --font-18: 16px;
  --font-19: 16px;
  --font-20: 16px;
  --font-21: 17px;
  --font-22: 18px;
  --font-23: 18px;
  --font-24: 19px;
  --font-25: 19px;
  --font-26: 20px;
  --font-27: 21px;
  --font-28: 21px;
  --font-29: 22px;
  --font-30: 23px;
  --font-31: 23px;
  --font-32: 24px;
  --font-33: 24px;
  --font-34: 25px;
  --font-35: 26px;
  --font-36: 26px;
  --font-37: 27px;
  --font-38: 28px;
  --font-39: 28px;
  --font-40: 29px;
  --font-41: 29px;
  --font-42: 30px;
  --font-43: 31px;
  --font-44: 31px;
  --font-45: 32px;
  --font-46: 33px;
  --font-47: 33px;
  --font-48: 34px;
  --font-49: 34px;
  --font-50: 35px;
  --font-60: 41px;
  --font-70: 48px;
  --font-80: 54px;
  --font-90: 60px;
}
@media (min-width:767px) {
  :root{
    --content-width-small: min(85vw, 1120px);
    --content-width-medium: min(85vw, 1280px);
    --content-width-large: min(85vw, 1420px);
    --content-width-xlarge: min(85vw, 1500px);
  }
}
@media (min-width: 960px) {
  :root {
    --px-10: 10px;
    --px-20: 20px;
    --px-30: 30px;
    --px-40: 40px;
    --px-50: 50px;
    --px-60: 60px;
    --px-70: 70px;
    --px-80: 80px;
    --px-90: 90px;
    --px-100: 100px;
    --px-110: 110px;
    --px-120: 120px;
    --px-130: 130px;
    --px-140: 140px;
    --px-150: 150px;
    --px-200: 200px;
    --px-250: 250px;
    --px-300: 300px;
    --px-350: 350px;
    --px-400: 400px;
    --px-450: 450px;
    --px-500: 500px;
    --px-550: 550px;
    --px-600: 600px;
    --px-650: 650px;
    --px-700: 700px;
    --px-750: 750px;
    --px-800: 800px;
  }
}
@media (min-width: 960px) {
  :root {
    --site-header-height: 100px;
    --site-wrap-border-width: clamp(10px, 1.1428571429vw, 16px);
  }
}
@media (min-width: 960px) {
  :root {
    --font-10: 10px;
    --font-11: 11px;
    --font-12: 12px;
    --font-13: 13px;
    --font-14: 14px;
    --font-15: 15px;
    --font-16: 16px;
    --font-17: 17px;
    --font-18: 18px;
    --font-19: 19px;
    --font-20: 20px;
    --font-21: 21px;
    --font-22: 22px;
    --font-23: 23px;
    --font-24: 24px;
    --font-25: 25px;
    --font-26: 26px;
    --font-27: 27px;
    --font-28: 28px;
    --font-29: 29px;
    --font-30: 30px;
    --font-31: 31px;
    --font-32: 32px;
    --font-33: 33px;
    --font-34: 34px;
    --font-35: 35px;
    --font-36: 36px;
    --font-37: 37px;
    --font-38: 38px;
    --font-39: 39px;
    --font-40: 40px;
    --font-41: 41px;
    --font-43: 43px;
    --font-44: 44px;
    --font-45: 45px;
    --font-46: 46px;
    --font-47: 47px;
    --font-48: 48px;
    --font-49: 49px;
    --font-50: 50px;
    --font-60: 60px;
    --font-70: 70px;
    --font-80: 80px;
    --font-90: 90px;
  }
}

.ls-medium{
  letter-spacing: .5px;
}
.ls-large{
  letter-spacing: 1px;
}

.lineH-medium{
  line-height: 1.6;
}
.lineH-large{
  line-height: 2;
}

._d-none {
  display: none !important;
}
._d-block {
  display: block !important;
}
@media (min-width: 460px) {
  ._d-ssm-none {
    display: none !important;
  }
  ._d-ssm-block {
    display: block !important;
  }
}
@media (min-width: 560px) {
  ._d-sm-none {
    display: none !important;
  }
  ._d-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) {
  ._d-md-none {
    display: none !important;
  }
  ._d-md-block {
    display: block !important;
  }
}
@media (min-width: 960px) {
  ._d-lg-none {
    display: none !important;
  }
  ._d-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  ._d-xl-none {
    display: none !important;
  }
  ._d-xl-block {
    display: block !important;
  }
}
@media (min-width: 1300px) {
  ._d-xxl-none {
    display: none !important;
  }
  ._d-xxl-block {
    display: block !important;
  }
}

.-flx{
  display: flex;
}
.-flx.-center{
  justify-content: center;
  align-items:center;
}
/** ==================================================
* c-icon
* ================================================ */
.c-icon{
  display: inline-grid;
  place-items: center;
  padding: 0;
  vertical-align: bottom;
  font-style: normal;
  transition: var(--transition-duration) var(--transition-timing-function);
}
.c-icon::before{
  content: "";
  display: block;
  width: 1lh;
  height: 1lh;
  background-color: var(--color-white);
  -webkit-mask-position: 50% 50%;
  mask-position: 50% 50%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  transition: var(--transition-duration) var(--transition-timing-function);
}
.c-icon.-tel::before {
  -webkit-mask-image: var(--icon-tel);
  mask-image: var(--icon-tel);
  background-color: var(--color-white);
  width: 32px;
  height: 32px;
}
.c-icon.-arrow::before {
  -webkit-mask-image: var(--icon-arrow);
  mask-image: var(--icon-arrow);
  background-color: var(--color-white);
}
.c-icon.-arrow.-blue::before{
  background-color: var(--color-blue);
}
.c-icon.-pdf::before {
  -webkit-mask-image: var(--icon-pdf);
  mask-image: var(--icon-pdf);
  background-color: var(--color-white);
}
.c-icon.-soudan::before {
  -webkit-mask-image: var(--icon-soudan);
  mask-image: var(--icon-soudan);
  background-color: var(--color-white);
  width: 25px;
  height: 25px;
}
  
/** ==================================================
* ヘッダー
* ================================================ */
.thermo-barrier_page{
  font-family: var(--font-sans);
}
.thermo-barrier_page h2,
.thermo-barrier_page h3{
  line-height: 1.6;
}
.thermo-barrier_page>header{
  display: flex;
}
.thermo-barrier_page>header>.l_cell>.logo{
  width: min(100%,200px);
}
.thermo-barrier_page>header>.l_cell>.logo>.sitename>.link{
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  color: var(--color-black);
  font-size: var(--font-23);
  font-weight: bold;
  font-family: var(--font-sans);
  letter-spacing: 1.5px;
}
.thermo-barrier_page>header>.tel-link{
  position: fixed;
  top: 46px;
  right: 40px;
  z-index: 3000;
  background-color: var(--color-blue);
  padding-inline: 1em;
  padding-block: .5em;
}
.thermo-barrier_page>header>.tel-link>.link{
  font-size: var(--font-30);
  font-weight: bold;
  color: var(--color-white);
  display: flex;
  align-items: center;
  gap: var(--px-10);
  transition: transform var(--transition-duration);
    transition: var(--transition-duration) var(--transition-timing-function);
}
#ghd2 .logo {
  transition: all 0.4s ease;
  opacity: 1;
  transform: translateY(10px) translateX(10px);
}
#ghd2 .logo.active {
  opacity: 1;
}
#ghd2 .logo.hide {
  opacity: 0;
}
@media (hover : hover) {
  .thermo-barrier_page>header>.tel-link>.link:hover>.c-icon.-tel{
    transform: translateY(5px);
  }
}
@media (max-width:900px) {
  #hover-contact{
    display: block;
  }
  #hover-contact{
    right: -1000px;
  }
  #hover-contact.is-show{
    top: unset;
    bottom: 0;
    margin: 0;
    width: 100%;
  }
  #hover-contact .balloon-contact{
    margin: 0;
    width: 100%;
  }
  #hover-contact a{
    writing-mode: horizontal-tb;
  }
  .thermo-barrier_page>header>.tel-link{
    top: 20px;
    right: 10px;
  }
}
@media (max-width:560px) {
  header#ghd2 .logo .sitename a img{
    width: 115px;
  }
  .thermo-barrier_page>header>.l_cell>.logo>.sitename>.link{
    font-size: 16px;
    align-items: flex-start;
  }
  .thermo-barrier_page>header>.tel-link{
    padding: 1em;
  }
}

/** ==================================================
* hero
* ================================================ */
.hero {
  height: max(85svh, 500px);
}
.home-hero {
  z-index: 0;
  position: relative;
  height: 100%;
}
.home-hero::before {
  z-index: 1;
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: var(--site-header-height);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0));
  pointer-events: none;
}
.home-hero > .media {
  position: relative;
  height: 100%;
  box-shadow: var(--shadow-opacity25);
}
.home-hero > .media::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
  pointer-events: none;
}
.c-splide.-home-hero-media .image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: 7s linear;
}
.c-splide.-home-hero-media, .c-splide.-home-hero-media .splide, .c-splide.-home-hero-media .splide__track, .c-splide.-home-hero-media .splide__list, .c-splide.-home-hero-media .splide__slide {
  height: 100%;
}
/* 拡大アニメーション */
.c-splide.-home-hero-media .splide__slide.is-active .image {
  transform: scale(1.05);
}
@media (max-width:767px) {
  .home-container > .hero{
    height: 65vh;
  }
}
@media (max-width:560px) {
  .hero{
    height: max(70svh, 500px);
  }
}

/*========= kv =========*/
.home-ttl{
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-inline: 1em;
}
.home-ttl>.ttl{
  margin-bottom: var(--px-20);
  text-align: center;
}
.home-ttl>.sub-ttl{
  font-size: var(--font-45);
  font-weight: bold;
  color: var(--color-white);
  margin-bottom: var(--px-10);
  text-shadow: var(--text-shadow-opacity50);
}
.home-ttl>.txt{
  color: var(--color-white);
  font-size: var(--font-23);
  font-weight: bold;
  text-align: center;
  margin-bottom: .8em;
  text-shadow: var(--text-shadow-opacity50);
}
.home-ttl>.crown{
  gap: var(--px-40);
}
@media (max-width:767px) {
  .home-ttl>.ttl>img{
    width: 80%;
  }
  .home-ttl>.sub-ttl{
    font-size: var(--font-35);
  }
  .home-ttl>.txt{
    font-size: var(--font-20);
    margin-bottom: 2em;
  }
  .home-ttl>.crown>img{
    width: 40%;
  }
}
/** ==================================================
* section コンテンツ
* ================================================ */
.section{
  padding-block: var(--px-100) var(--px-80);
}
.section.-blue{
  background-color: var(--color-blue);
}
.section.-white{
  background-color: var(--color-white);
}
.section.-gray{
  background-color: var(--color-gray);
}
.section.-yellow{
  background-color: var(--color-yellow);
}
.section>.inner{
  width: var(--content-width-medium);
  margin-inline: auto;
}

/*=========  3カラム コンテンツ =========*/
.section>.inner>.head{
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--px-60);
}
.section.-blue>.inner>.head>.c-ttl{
  color: var(--color-white);
  position: relative;
  padding-bottom: 30px;
  font-size: var(--font-50);
  font-weight: bold;
  line-height: 1.3;
}
.section.-yellow>.inner>.head>.c-ttl::after,
.section.-blue>.inner>.head>.c-ttl::after{
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: -50vw;
  width: calc(100% + 50vw);
  height: 15px;
  background: url(./images/thermo-barrier/diagonal-line-white.svg);
  background-repeat: space;
}
.section.-blue>.inner>.head>.c-txt{
  color: var(--color-white);
  font-size: var(--font-16);
}
.section.-blue>.inner>.head>.action{
  background-color: var(--color-white);
  width: min(100%,250px);
}
.section.-blue>.inner>.head>.action>.link{
  padding-block: 12px;
  padding-inline: 1em;
  text-align: center;
  color: var(--color-blue);
  font-weight: bold;
  font-size: var(--font-16);
  transition: transform var(--transition-duration);
}
@media (hover : hover) {
  .section.-blue>.inner>.head>.action>.link:hover:hover>.c-icon.-arrow::before{
    transform: translateX(5px);
  }
}
.section.-yellow>.inner>.head>.c-ttl,
.section.-white>.inner>.head>.c-ttl{
  color: var(--color-black);
  position: relative;
  padding-bottom: 30px;
  font-size: var(--font-50);
  font-weight: bold;
  line-height: 1.3;
}
.section.-white>.inner>.head>.c-ttl::after{
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: -50vw;
  width: calc(100% + 50vw);
  height: 15px;
  background: url(./images/thermo-barrier/diagonal-line-blue.svg);
  background-repeat: space;
}
.section.-yellow.-white>.inner>.head>.c-txt,
.section.-white>.inner>.head>.c-txt{
  color: var(--color-black);
  font-size: var(--font-16);
}
@media (max-width:1240px) {
  .section>.inner>.head{
    flex-direction: column;
    gap: var(--px-30);
  }
  .section.-blue>.inner>.head>.c-ttl{
    padding-inline: .6em;
    text-align: center;
  }
  .section.-yellow>.inner>.head>.c-ttl::after, .section.-blue>.inner>.head>.c-ttl::after{
    left: 0;
    width: 100%;
  }
  .section.-yellow>.inner>.head>.c-ttl, .section.-white>.inner>.head>.c-ttl{
    padding-inline: .6em;
    text-align: center;
  }
  .section.-white>.inner>.head>.c-ttl::after{
    left: 0;
    width: 100%;
  }
  .section.-blue>.inner>.head>.c-txt{
    text-align: center;
  }
}

/*=========  斜め背景コンテンツ =========*/
.section.-slp {
  position: relative;
  overflow: hidden;
}
.section.-slp>.inner{
  padding-block: var(--px-150);
}
.section.-slp::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 140px;
  background-color: var(--color-white);
  transform: skewY(-4deg);
  transform-origin: top left;
  z-index: 1;
}
.section.-slp::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 140px;
  background-color: var(--color-white);
  transform: skewY(-4deg);
  transform-origin: bottom right;
  z-index: 1;
}
.section.-slp > .inner {
  position: relative;
  z-index: 2;
}
@media (max-width:767px) {
  .section.-slp::before{
    height: 50px;
  }
  .section.-slp::after{
    height: 50px;
  }
  .section.-slp>.inner{
    padding-block: 30px;
  }
}
/*========= 2カラム　コンテンツ =========*/
.section>.inner>.col{
  gap: var(--px-50);
  align-items: center;
  justify-content: space-between;
}
.section>.inner>.col>.content,
.section>.inner>.col>.img{
  flex-basis: 50%;
  max-width: 50%;
}
.section>.inner>.col>.content>.ttl{
  font-size: var(--font-45);
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 0.6em;
}
.section.-sample>.inner>.col>.content>.ttl{
  margin-bottom: var(--px-60);
}
.section.-sample>.inner>.col>.content>.ttl{
  font-size: var(--font-50);
}
.section.-sample>.inner>.col>.content>.ttl>span{
  font-size: var(--font-60);
  position: relative;
  z-index: 1;
  letter-spacing: 3px;
}
.section.-sample>.inner>.col>.content>.ttl>span::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 100%;
  height: 20px;
  background-color: var(--color-yellow);
  z-index: -1;
}
.section>.inner>.col>.content>.txt{
  font-size: var(--font-16);
  margin-bottom: 2em;
}
.section.-sample>.inner>.col>.content>.txt{
  font-size: var(--font-20);
  font-weight: bold;
}
.section>.inner>.col>.content>.action{
  background: linear-gradient(to bottom, #4eb351, #018846);
  width: 100%;
}
.section>.inner>.col>.content>.action>.link{
  padding-block: 12px;
  padding-inline: 1em;
  text-align: center;
  color: var(--color-white);
  font-weight: bold;
  font-size: var(--font-16);
  transition: transform var(--transition-duration);
}
@media (hover : hover) {
  .section>.inner>.col>.content>.action>.link:hover>.c-icon.-arrow::before{
    transform: translateX(5px);
  }
}
@media (max-width:1350px) {
  .section>.inner>.col{
    gap: 10px;
  }
}
@media (max-width:767px) {
  .section>.inner>.col{
    flex-direction: column-reverse;
    gap: var(--px-30);
  }
  .section>.inner>.col>.content,
  .section>.inner>.col>.img{
    flex-basis: 100%;
    max-width: 100%;
  }
  .section>.inner>.col>.img>img{
    width: 360px;
  }
  .section>.inner>.col>.img>img.-sample{
    width: 100%;
  }
  .section>.inner>.col>.content>.action{
    margin-inline: auto;
  }
  .section.-sample>.inner>.col>.content>.ttl{
    text-align: center;
  }
}

/** ==================================================
* c-grid
* ================================================ */
.c-grid>.c-list{
  display: grid;
  gap: var(--px-50);
  align-items: start;
}
.c-grid>.c-list.-number{
  margin-top: var(--px-130);
}
.c-grid>.c-list.-col3{
  grid-template-columns: repeat(3, 1fr);
}
.c-grid>.c-list.-col2{
  grid-template-columns: repeat(2, 1fr);
}
.c-grid>.c-list>.c-item{
  flex-direction: column;
  justify-items: center;
}
.c-grid>.c-list.-number>.c-item{
  position: relative;
}
.c-grid>.c-list.-number>.c-item>.deco{
  position: absolute;
  top: -40px;
  left: 5px;
}
.c-grid>.c-list>.c-item>img{
  margin-bottom: var(--px-20);
}
.c-grid>.c-list>.c-item>.ttl{
  color: var(--color-white);
  font-size: var(--font-30);
  font-weight: bold;
  margin-bottom: .5em;
}
.c-grid>.c-list>.c-item>.txt{
  font-size: var(--font-16);
  text-align: center;
}
.c-grid>.c-list>.c-item>.txt.-left{
  text-align: left;
}
.c-grid>.c-list>.c-item>.ttl.-white,
.c-grid>.c-list>.c-item>.txt.-white{
  color: var(--color-white);
}
.c-grid>.c-list>.c-item>.ttl.-black,
.c-grid>.c-list>.c-item>.txt.-black{
  color: var(--color-black);
}
/*========= 施工事例コンテンツ =========*/
.c-grid>.c-list.-achvs{
  align-items: stretch;
}
.c-grid>.c-list>.c-item.-achvs{
  background-color: var(--color-white);
}
.c-grid>.c-list>.c-item>.link{
  background-color: transparent;
  color: var(--color-blue);
  font-size: var(--font-16);
  font-weight: bold;
  flex-direction: column;
  padding: var(--px-40) 1em;
  transition: transform var(--transition-duration);
  width: 100%;
  text-align: center;
}
@media (hover : hover) { 
  .c-grid>.c-list>.c-item>.link:hover>.txt>.c-icon.-arrow::before{
    transform: translateX(5px);
  }
}
.c-grid>.c-list>.c-item>.link>img{
  margin-bottom: var(--px-20);
}
.c-grid>.c-list>.c-item>.link>.ttl{
  color: var(--color-white);
  font-size: var(--font-30);
  font-weight: bold;
  margin-bottom: .5em;
}
.c-grid>.c-list>.c-item>.link>.txt{
  font-size: var(--font-16);
  text-align: center;
  margin-bottom: 1.2em;
}
.c-grid>.c-list>.c-item>.link>.ttl.-black,
.c-grid>.c-list>.c-item>.link>.txt.-black{
  color: var(--color-black);
}
.c-grid>.c-list>.c-item>.link>.txt.-blue{
  color: var(--color-blue);
}

/*========= 資料 =========*/
.c-grid>.c-list>.c-item>.ttl{
  font-size: var(--font-30);
  font-weight: bold;
  color: var(--color-black);
}
.c-grid>.c-list>.c-item>.action{
  background-color: var(--color-black);
  width: min(100%,190px);
  margin-inline: auto;
}
.c-grid>.c-list>.c-item>.action>.link{
  gap: 10px;
  padding-block: 10px;
  padding-inline: 1em;
  text-align: center;
  color: var(--color-white);
  font-size: var(--font-16);
  transition: transform var(--transition-duration);
}
@media (hover : hover) {
  .c-grid>.c-list>.c-item>.action>.link:hover>.c-icon.-pdf::before{
    transform: translateY(3px);
  }
}
@media (max-width:1350px) {
  .c-grid>.c-list>.c-item>.ttl{
    font-size: var(--font-25);
  }
  .c-grid>.c-list{
    gap: var(--px-30);
  }
  .c-grid>.c-list>.c-item>.ttl{
    font-size: var(--font-25);
  }
}
@media (max-width:1100px) {
  .c-grid>.c-list>.c-item>.link>.ttl{
    font-size: 25px;
  }
  .c-grid>.c-list{
    gap: 10px;
  }
}
@media (max-width:960px) {
  .c-grid>.c-list.-col3{
    grid-template-columns: repeat(2, 1fr);
  }
  .c-grid>.c-list.-col2{
    grid-template-columns: repeat(1,1fr);
    gap: 50px;
  }
  .c-grid>.c-list.-number{
    gap: var(--px-80) 10px;
  }
}
@media (max-width:767px) {
  .c-grid>.c-list.-col3{
    grid-template-columns: repeat(1,1fr);
  }
    .c-grid>.c-list>.c-item>img{
    width: 100%;
  }
  .c-grid>.c-list {
    gap: 50px;
  }
  .c-grid>.c-list.-achvs{
    gap: 10px;
  }
}
@media (max-width:560px) {
  .c-grid>.c-list{
    gap: 50px;
  }
  .c-grid>.c-list.-achvs{
    gap: 20px;
  }
  .c-grid>.c-list.-number{
    gap: 80px;
  }
}

/** ==================================================
* footer
* ================================================ */
.thermo-barrier-footer>.inner{
  width: var(--content-width-large);
  margin-inline: auto;
  padding-block: var(--px-80) var(--px-70);
  padding-left: 0;
}
.thermo-barrier-footer>.inner>.footer{
  justify-content: space-between;
  padding-bottom: var(--px-70);
  border-bottom: 1px solid var(--color-black);
}
.thermo-barrier-footer>.inner>.footer>.contents{
  gap: var(--px-30);
}
.thermo-barrier-footer>.inner>.footer>.contents>.img>a>img{
  width: var(--px-200);
}
.thermo-barrier-footer>.inner>.footer>.contents>.info>.ttl{
  font-size: var(--font-20);
  font-weight: bold;
  margin-bottom: var(--px-10);
}
.thermo-barrier-footer>.inner>.footer>.contents>.info>.tel,
.thermo-barrier-footer>.inner>.footer>.contents>.info>.txt{
  font-size: var(--font-16);
}
.thermo-barrier-footer>.inner>.footer>.contact>.action{
  background: linear-gradient(to bottom, #4eb351, #018846);
  width: 100%;
}
.thermo-barrier-footer>.inner>.footer>.contact>.action>.link{
  padding-block: 12px;
  padding-inline: 1em;
  text-align: center;
  color: var(--color-white);
  font-weight: bold;
  font-size: var(--font-16);
  transition: transform var(--transition-duration);
}
@media (hover : hover) {
  .thermo-barrier-footer>.inner>.footer>.contact>.action>.link:hover>.c-icon.-arrow::before{
    transform: translateX(5px);
  }
}

.thermo-barrier-footer>.inner>.menu{
  justify-content: space-between;
  margin-top: var(--px-30);
}
.thermo-barrier-footer>.inner>.menu>.copy>p{
  font-size: var(--font-16);
}
.thermo-barrier-footer>.inner>.menu>.nav>.list{
  gap: var(--px-40);
}
.thermo-barrier-footer>.inner>.menu>.nav>.list>.item>.link{
  font-size: var(--font-16);
  text-decoration: underline;
}

/** ==================================================
* 追従ボタン
* ================================================ */
.thermo-barrier_btn{
  margin-right: 0 !important;
  position: relative;
  overflow: hidden;
}
#hover-contact .balloon-contact{
  background: linear-gradient(to bottom, #4eb351, #018846);
  border: none;
  border-radius: 0;
}
#hover-contact a >p{
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: var(--font-18);
  gap: 5px;
  font-weight: bold;
}
#hover-contact.thermo-barrier_btn .balloon-contact:before,
#hover-contact.thermo-barrier_btn .balloon-contact:after{
  content: none;
}
/* 斜めシャインエフェクト（定期的に光る） */
.balloon-contact a::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.4),
    transparent
  );
  transform: skewX(-25deg);
  animation: shine 3.4s infinite;
  z-index: 1;
}
.balloon-contact a p {
  position: relative;
  z-index: 2;
  margin: 0;
}
/* シャインアニメーション */
@keyframes shine {
  0% {
    left: -250%;
  }
  50% {
    left: 250%;
  }
  100% {
    left: 250%;
  }
}
@media (max-width:1100px) {
  .thermo-barrier-footer>.inner>.footer>.contents{
    flex-direction: column;
  }
}
@media (max-width:900px) {
  .thermo-barrier-footer>.inner{
    padding-bottom: 100px;
  }
  .thermo-barrier-footer>.inner>.menu{
    flex-direction: column-reverse;
    align-items: center;
    gap: 30px;
  }
  #hover-contact .balloon-contact{
    padding-block: 20px;
  }
  #hover-contact a >p{
    font-size: 20px;
  }
}
@media (max-width:767px) {
  .thermo-barrier-footer>.inner>.footer{
    flex-direction: column-reverse;
    gap: 50px;
  }
  .thermo-barrier-footer>.inner{
    padding-top: 25px;
  }
  .thermo-barrier-footer>.inner>.footer>.contents>.info>.txt{
    margin-bottom: 10px;
  }
}
@media (max-width:560px) {
  .thermo-barrier-footer>.inner>.menu>.nav>.list{
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  #hover-contact a >p{
    font-size: 18px;
  }
}

/** ==================================================
* お問い合わせ
* ================================================ */
.thermo-barrier{
  background: var(--color-white);
  padding-bottom: var(--px-80);
}
.main_tit_common.-thermo{
  background: var(--color-blue);
  padding-block: var(--px-120);
}
.main_tit_common.-thermo>.heading{
  text-align: center;
}
.main_tit_common.-thermo>.heading>.title{
  color: var(--color-white);
  display: inline-block;
  line-height: 1.3;
}
.main_tit_common.-thermo>.heading>.title::before{
  content: none;
}
.main_tit_common.-thermo>.heading>.title:after{
  content: '';
  display: block;
  position: absolute;
  bottom: -40px;
  left: 0;
  top: unset;
  width: 100%;
  height: 15px;
  background: url(https://e-yane.co.jp/wp-content/themes/taulabo/images/thermo-barrier/diagonal-line-white.svg);
  background-repeat: space;
  padding: 0;
  margin: 0;
}
main.main_cat_contact .sec_contact1 .blk_contact1{
  border: 1px solid #333;
  padding-inline: 3%;
}
main.main_cat_contact .sec_contact1 .blk_contact1 .attention{
  color: red;
  font-weight: 700;
}
main.main_cat_contact .sec_contact2 .contact-waku:before{
  border: 1px solid #333;
  border-bottom: none;
}
main.main_cat_contact .sec_contact2 .contact-waku:after{
  border: 1px solid #333;
  border-top: none;
}
main.main_cat_contact .sec_contact2{
  padding-inline: 3%;
}
#contact_box th{
  color: var(--color-black);
}
#contact_box input[type="tel"], #contact_box input[type="text"], #contact_box input[type="email"], #contact_box input[type="number"], #contact_box input[type="url"], #contact_box input[type="password"], #contact_box input[type="date"], #contact_box textarea{
  border: 1px solid #333;
  background: #f5f5f5;
}
#contact_box th .emphasis{
  background: red;
  border-radius: 0;
}
#contact_box div.contact_bottom div.item input[type="submit"]{
  border-radius: 0;
  background: var(--color-blue);
  border: 1px solid var(--color-blue);
  margin-block: 10px;
  margin-inline: 0;
}
#contact_box{
  padding-block: 0;
}
#contact_box #mw-wp-form-captcha{
  line-height: 1.4;
}
main.main_cat_contact .sec_contact1 .wrap{
  padding-inline: 3%;
  padding-block: 0;
}
main.main_cat_contact .sec_contact2 .blk_complete .action{
  border: none;
  border-radius: 0;
  margin: 1.5em 0;
}
main.main_cat_contact .sec_contact2 .blk_complete .action .link{
  font-size: 20px;
  color: var(--color-white);
  border: 1px solid  #333;
  background-color: #333;
  padding: 10px 12px;
  display: block;
  width: 600px;
  max-width: 100%;
  margin-inline: auto;
}
main.main_cat_contact .sec_contact2 .blk_complete .txt_line .attention{
  color: red;
  font-weight: bold;
}
@media (hover : hover) { 
  #contact_box div.contact_bottom div.item input[type="submit"]:hover{
    background: var(--color-white) !important;
    border: 1px solid var(--color-blue);
    color: var(--color-blue);
  }
  main.main_cat_contact .sec_contact2 .blk_complete .action .link:hover{
    background-color: var(--color-white);
    color: #333;
  }
  main.main_cat_contact .sec_contact1 .blk_contact1 .txt_tel a.js_tel02:hover{
    color: var(--color-blue);
  }
}
@media (max-width:900px) {
  #contact_box #mw-wp-form-captcha{
    padding: 0;
  }
  .main_tit_common.-thermo>.heading>.title{
    font-size: 23px;
  }
  .main_tit_common.-thermo>.heading>.title:after{
    bottom: -30px;
  }
  main.main_cat_contact .sec_contact1 .blk_contact1 p:first-of-type{
    text-align: left;
  }
  main.main_cat_contact .sec_contact1 .blk_contact1 .txt_open,
  main.main_cat_contact .sec_contact1 .blk_contact1 .attention{
    text-align: left;
  }
  main.main_cat_contact .sec_contact1 .blk_contact1 .txt_tel a.js_tel02 span.p_tel{
    font-size: 1.5em;
  }
}
