@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

:root {
  --leading-trim: calc((1em - 1lh) / 2);
  --wp--style--global--content-size: 1120px;
  --wp--style--global--wide-size: 1220px;
  --narrow-size: 800px;
  --wp--preset--color--base: #FFFDFB;
  --wp--preset--color--black: #231815;
  --wp--preset--color--beige: #F4EFE7;
  --wp--preset--color--deep-beige: #ECE4D8;
  --wp--preset--color--accent: #D70C19;
  --wp--preset--color--green: #0F8647;
  --wp--preset--color--gray: #CCCAC8;
  --wp--preset--color--gray2: #858585;
  --wp--preset--color--border: #dcdcdc;
  --wp--preset--color--link: var(--wp--preset--color--black);
  --wp--preset--color--link-hover: var(--wp--preset--color--accent);
  --wp--preset--color--disabled: var(--wp--preset--color--gray2);
  --font-jp: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif; /* 400, 700 */
  --font-min: "Zen Old Mincho", serif; /* 400 */
  --font-en: "Outfit", sans-serif; /* 400 */
  --wp--preset--font-size--small: clamp(0.875rem, 0.83rem + 0.23vw, 1rem); /* 16px */
  --wp--preset--font-size--medium: clamp(1rem, 0.955rem + 0.23vw, 1.125rem); /* 18px */
  --wp--preset--font-size--large: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem); /* 24px */
  --wp--preset--font-size--x-large: clamp(1.375rem, 1.148rem + 1.14vw, 2rem); /* 32px */
  --wp--preset--font-size--xx-large: clamp(1.625rem, 1.307rem + 1.59vw, 2.5rem); /* 40px */
  --fz-x-small: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem); /* 14px */
  --fz-copy: clamp(1.063rem, 0.994rem + 0.34vw, 1.25rem); /* 20px */
  --fz-copy-large: clamp(1.75rem, 1.295rem + 2.27vw, 3rem); /* 48px */
  --fz-page-title: clamp(2rem, 1.364rem + 3.18vw, 3.75rem); /* 60px */
  --ls-wide: .1em;
  --ls-normal: .05em;
  --ls-narrow: .012em;
  --lh-normal: 1.8;
  --lh-narrow: 1.4;
  --weight-regular: 400;
  --weight-bold: 700; /* jp */
  --wp--preset--spacing--10: clamp(0.625rem, 0.475rem + 0.7vw, 1rem);
  --wp--preset--spacing--20: clamp(1rem, 0.875rem + 0.5vw, 1.25rem);
  --wp--preset--spacing--30: clamp(1.25rem, 0.95rem + 1.4vw, 2rem);
  --wp--preset--spacing--40: clamp(1.75rem, 1.2rem + 2.4vw, 3rem);
  --wp--preset--spacing--50: clamp(2.625rem, 1.9rem + 3.3vw, 4.375rem);
  --wp--preset--spacing--60: clamp(3.75rem, 2.65rem + 4.8vw, 6.25rem);
  --block-gap: clamp(1.125rem, 0.975rem + 0.7vw, 1.5rem);
  --header-logo: 72px;
  --transition-ease: all 0.3s ease;
}

:where(html) {
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
          text-size-adjust: none;
}

:where(body, h1, h2, h3, h4, p, figure, blockquote, dl, dd) {
  margin-block-end: 0;
}

:where(ul[role=list], ol[role=list]) {
  list-style: none;
}

:where(body) {
  min-height: 100vh;
  line-height: 1.5;
}

:where(h1, h2, h3, h4, button, input, label) {
  line-height: 1.1;
}

:where(h1, h2, h3, h4) {
  text-wrap: balance;
}

:where(a:not([class])) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

:where(img, picture) {
  max-width: 100%;
  display: block;
}

:where(input, button, textarea, select) {
  font-family: inherit;
  font-size: inherit;
}

:where(textarea:not([rows])) {
  min-height: 10em;
}

:target {
  scroll-margin-block: 5ex;
}

* {
  min-inline-size: 0;
  min-block-size: 0;
}

body {
  overflow-x: hidden;
  scrollbar-gutter: stable;
  position: relative;
  color: var(--wp--preset--color--black);
  font-family: var(--font-jp);
  font-style: normal;
  font-size: var(--wp--preset--font-size--medium) !important;
  line-height: var(--lh-normal) !important;
  font-weight: var(--weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--ls-normal);
  overflow-wrap: anywhere;
  line-break: strict;
  -webkit-font-smoothing: antialiased;
}

:where(h1) {
  line-height: var(--lh-narrow);
  letter-spacing: var(--ls-narrow);
  word-break: auto-phrase;
  text-wrap: unset;
}

:where(h2, h3) {
  font-family: var(--font-min);
  font-weight: var(--weight-regular)!important;
  letter-spacing: var(--ls-narrow);
  word-break: auto-phrase;
  text-wrap: unset;
}

:where(h4, h5, h6) {
  font-family: var(--font-min);
  font-weight: var(--weight-regular)!important;
  word-break: auto-phrase;
  line-height: var(--lh-normal);
}

:where(img, svg) {
  display: inline-block;
  height: auto;
}


a:where(:not(.wp-element-button)), 
:where(a) {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-color: var(--underline-color);
  text-decoration-thickness: 1px;
  text-underline-offset: var(--underline-offset);
  transition: color 0.3s ease;
}

:where(a):not(.c-mvBtn__btn)[target=_blank]::after {
  content: "";
  display: inline-block;
  inline-size: 1.25em;
  block-size: 1em;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23231815"><path d="M10.26,14.86c-.27,0-.52-.1-.71-.29-.39-.4-.39-1.06.02-1.47L18.72,3.86l-4.78-.04c-.47,0-.86-.37-.89-.84-.02-.26.06-.5.23-.69.17-.19.41-.29.66-.29l7.54.06c.24,0,.44.2.45.45l.07,7.6c0,.24-.09.47-.26.65-.17.17-.4.27-.64.27h-.08c-.47-.04-.82-.43-.83-.9l-.04-4.82-9.16,9.24c-.2.2-.46.31-.74.31h0Z" stroke-width="0"/><path d="M17.82,22H3.61c-.89,0-1.61-.73-1.61-1.62V6.03c0-.9.72-1.62,1.61-1.62h7.11v1.02H3.61c-.33,0-.61.27-.61.61v14.34c0,.34.27.61.61.61h14.22c.33,0,.61-.27.61-.61v-7.17h1.01v7.17c0,.9-.72,1.62-1.61,1.62h0Z" stroke-width="0"/></svg>');
  background-size: 1em;
  background-position: right 50%;
  background-repeat: no-repeat;
  vertical-align: -0.1em;
  line-height: 1;
}

:where(a):-moz-any-link {
  color: var(--wp--preset--color--link);
}

:where(a):any-link {
  color: var(--wp--preset--color--link);
}

:where(a):focus-visible {
  color: var(--wp--preset--color--link-hover);
  text-decoration-thickness: 2px;
}

:where(a):not(.c-mvBtn__btn):focus-visible[target=_blank]::after {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23231815"><path d="M10.26,14.86c-.27,0-.52-.1-.71-.29-.39-.4-.39-1.06.02-1.47L18.72,3.86l-4.78-.04c-.47,0-.86-.37-.89-.84-.02-.26.06-.5.23-.69.17-.19.41-.29.66-.29l7.54.06c.24,0,.44.2.45.45l.07,7.6c0,.24-.09.47-.26.65-.17.17-.4.27-.64.27h-.08c-.47-.04-.82-.43-.83-.9l-.04-4.82-9.16,9.24c-.2.2-.46.31-.74.31h0Z" stroke-width="0"/><path d="M17.82,22H3.61c-.89,0-1.61-.73-1.61-1.62V6.03c0-.9.72-1.62,1.61-1.62h7.11v1.02H3.61c-.33,0-.61.27-.61.61v14.34c0,.34.27.61.61.61h14.22c.33,0,.61-.27.61-.61v-7.17h1.01v7.17c0,.9-.72,1.62-1.61,1.62h0Z" stroke-width="0"/></svg>');
}

:where(a):not([href]) {
  color: var(--wp--preset--color--disabled);
  text-decoration: none;
  cursor: default;
  pointer-events: none;
}

:where(input, button, textarea, select) {
  color: inherit;
  font: inherit;
}

:where(input[type=text],
input[type=email],
input[type=tel],
input[type=date],
input[type=time],
input[type=url],
input[type=search],
input[type=password],
textarea,
select) {
  width: 100%;
  padding: 0.5em;
  border: 1px solid var(--wp--preset--color--gray2);
  border-radius: 8px;
  background-color: var(--wp--preset--color--base);
  font-size: 1rem;
}

:where(input[type=text],
input[type=email],
input[type=tel],
input[type=date],
input[type=time],
input[type=url],
input[type=search],
input[type=password],
textarea,
select):focus-visible {
  background-color: var(--wp--preset--color--base);
}

:where(input[type=checkbox],
input[type=radio]) {
  transform: scale(1.5);
}

:where(select) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-inline-end: 32px;
  background-image: url('data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22select-bg%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M14.24%2C15.4l-5.48-6%2C1.28-1.4%2C4.2%2C4.6%2C4.2-4.6%2C1.28%2C1.4-5.48%2C6Z%22%20fill%3D%22%23000%22%20stroke-width%3D%220%22%2F%3E%3C%2Fsvg%3E');
  background-size: 24px;
  background-position: right 4px center;
  background-repeat: no-repeat;
}

:where(textarea) {
  inline-size: 40em;
  min-block-size: 5lh;
  max-block-size: 10lh;
  field-sizing: content;
  line-height: var(--lh-narrow);
}

:where(button, [type=button], [type=reset], [type=submit]) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: transparent;
  cursor: pointer;
}

:where(label[for], select, summary, [role=tab], [role=button]) {
  cursor: pointer;
}

:focus-visible {
  outline: var(--outline);
  outline-offset: var(--outline-offset);
}

:where(svg) {
  fill: currentColor;
}

.p-mainVisual__textLayer {
  justify-content: flex-end;
  max-width: 100%;
  padding-left: 5%;
  padding-right: 5%;
  padding-bottom: calc(3vw + 3rem);
}

.p-mainVisual__slideTitle {
  margin-block: var(--wp--preset--spacing--20);
  font-family: var(--font-min);
  font-weight: var(--weight-regular);
  font-size: var(--fz-page-title);
  letter-spacing: var(--ls-wide);
}

.el_pageTitle {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  inline-size: 100%;
  max-width: var(--wp--style--global--wide-size);
  margin-block-start: calc(3vw + 2rem);
  color: var(--wp--preset--color--base);
  padding-block: var(--wp--preset--spacing--20);
  padding-inline: 4%;
}

.el_pageTitle .c-pageTitle {
  font-family: var(--font-min);
  font-weight: var(--weight-regular);
  font-size: var(--fz-page-title);
  letter-spacing: var(--ls-normal);
  text-shadow: none !important;
}

.privacy-policy .el_pageTitle.el_pageTitle .c-pageTitle {
  letter-spacing: var(--ls-narrow);
}

.el_pageTitle::before {
  content: "";
  width: 2px;
  height: 120%;
  position: absolute;
  left: 2.5%;
  top: 60%;
  transform: translateY(-50%);
  background-color: var(--wp--preset--color--accent);
}

.el_pageTitle_deco {
  color: var(--wp--preset--color--accent);
  font-size: var(--fz-copy);
  text-transform: uppercase;
}

.el_copy {
  inline-size: 100%;
  margin-block: var(--wp--preset--spacing--50);
  padding-inline: var(--wp--style--root--padding);
  font-family: var(--font-min);
  font-weight: var(--weight-regular);
  font-size: var(--fz-copy-large);
}

.el_copy::after {
  content: "";
  width: 2px;
  height: 60px;
  display: block;
  background-color: var(--wp--preset--color--accent);
  margin: 0.5rem auto 0 auto;
}

.el_heading2,
.el_heading3,
.el_heading4 {
  font-family: var(--font-min);
  font-weight: var(--weight-regular)!important;
}

.post_content h2,
.el_heading2 {
  width: 100%;
  margin-block-start: var(--leading-trim);
  margin-block-end: var(--wp--preset--spacing--50);
  padding-block-end: 0;
  border: none;
  font-size: var(--wp--preset--font-size--xx-large);
  letter-spacing: var(--ls-narrow);
  word-break: auto-phrase;
  text-wrap: unset;
}

.el_heading2_en {
  margin-block-end: 0.5rem;
  font-family: var(--font-en);
  font-size: var(--fz-copy);
  color: var(--wp--preset--color--accent);
  display: block;
}

.post_content h3,
.el_heading3 {
  border: none;
  margin-block-end: var(--wp--preset--spacing--30) !important;
  font-size: var(--wp--preset--font-size--x-large);
  letter-spacing: var(--ls-narrow);
  word-break: auto-phrase;
  text-wrap: unset;
}

.el_heading3.el_heading3_icon {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
}

.el_heading3.el_heading3_icon::before {
  content: "";
  width: 0.95rem;
  height: auto;
  aspect-ratio: 1;
  display: block;
  position: relative;
  margin-block-start: 0.65rem;
  border: 3.2px solid var(--wp--preset--color--green);
  transform: rotate(45deg);
}

.el_heading3.el_heading3_border {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  text-align: center;
}

.el_heading3.el_heading3_border::after {
  content: "";
  width: 100px;
  height: 2px;
  display: block;
  background-color: var(--wp--preset--color--accent);
}

.post_content h4,
.el_heading4 {
  margin-block-start: 0.5rem;
  margin-block-end: var(--wp--preset--spacing--20);
  word-break: auto-phrase;
  line-height: var(--lh-normal);
}

.el_heading_sub {
  font-family: var(--font-jp);
  font-size: var(--fz-copy);
  line-height: var(--lh-narrow);
  display: inline-block;
  color: var(--wp--preset--color--green);
  border: 1px solid var(--wp--preset--color--green);
  margin-block-end: 0.6rem;
  padding-block: 0.1rem;
  padding-inline: 0.6rem;
}

.el_text_border {
  line-height: var(--lh-narrow);
  display: inline-block;
  border: 1px solid currentColor;
  margin-inline-end: 0.6rem;
  padding-block: 0;
  padding-inline: 0.5rem;
}

.el_tel_wrap {
  width: auto !important;
}

.el_tel{
  font-family: var(--font-en);
  font-size: clamp(1.875rem, 1.602rem + 1.36vw, 2.625rem); /* 42px */
  position: relative;
  line-height: var(--lh-narrow);
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.el_tel::before {
  --tel: 2rem;
  content: "";
  display: block;
  width: var(--tel);
  height: auto;
  aspect-ratio: 1;
  position: relative;
  z-index: 1;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="%23231815"><path d="M31.9,25.68c-.62-1.95-4.6-4.47-6.15-5.11-1.44-.61-2.48-.17-3.75.91l.44.4,7.3,6.49.44.38c.74-.7,1.29-1.38,1.61-1.89.21-.34.25-.74.09-1.17h.02Z"/><path d="M10.12,9.53l.4.44c1.08-1.27,1.51-2.31.91-3.75C10.78,4.67,8.27.72,6.32.09c-.45-.15-.85-.11-1.17.11-.51.32-1.19.87-1.89,1.61l.38.42,6.49,7.32v-.02Z"/><path d="M21.59,22.65l-.44-.4c-.3.3-.66.66-1,1-1.93,1.72-6.55-2.21-7.89-3.56-1.34-1.34-5.41-6.09-3.43-7.97.32-.32.61-.61.87-.89l-.38-.44L2.87,3.12l-.38-.44C.68,4.97-.86,8.55.54,13c1.91,6.55,11.9,16.56,18.45,18.45,3.58,1.29,7.89.13,10.31-1.95l-.44-.4-7.29-6.47v.02Z"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
}

.wp-block-buttons, 
.wp-block-buttons.el_btn_wrap {
  margin-block-start: var(--wp--preset--spacing--50);
}

.wp-block-button, 
.wp-block-button.el_btn,
.c-mvBtn {
  position: relative;
}

.wp-block-button:not(:has(input))::before, 
.wp-block-button.el_btn:not(:has(input))::before,
.c-mvBtn::before {
  content: "";
  width: 0;
  height: 1px;
  background-color: currentColor;
  position: absolute;
  bottom: 0.6rem;
  left: 0;
  transition: all 0.18s ease;
}

.wp-block-button.el_btn.el_btn_contact::before {
  content: none;
}

.wp-block-button__link, 
.wp-block-button.el_btn > a,
.el_btn:not(.wp-block-button),
.c-mvBtn__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  padding: 0;
  font-size: var(--fz-copy);
  font-weight: var(--weight-bold);
  text-align: center;
  letter-spacing: var(--lh-normal);
  color: currentColor !important;
  box-shadow: none;
  transition: var(--transition-ease);
  position: relative;
  background-color: transparent !important;
}

.wp-block-button__link::before, 
.wp-block-button.el_btn > a::before,
.el_btn:not(.wp-block-button)::before,
.c-mvBtn__btn::before {
  --background: var(--wp--preset--color--black);
  --arrow: 4rem;
  content: "";
  width: var(--arrow);
  height: auto;
  aspect-ratio: 1;
  background-color: var(--background);
  background: var(--background);
  border-radius: 999px;
  opacity: 1;
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  z-index: -1;
  transform: scale(0.8);
  transition: var(--transition-ease);
}

.wp-block-button.el_btn.el_btn_contact > a::before {
  content: none;
}

.wp-block-button__link::after, 
.wp-block-button.el_btn > a::after,
.el_btn:not(.wp-block-button)::after,
.c-mvBtn__btn::after {
  --arrow: 4rem;
  content: "";
  width: var(--arrow);
  height: auto;
  aspect-ratio: 1;
  display: block;
  position: relative;
  z-index: 1;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.25 15H23.75M16.25 7.5L23.75 15L16.25 22.5" stroke="%23FFFDFB" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
}

.wpcf7 form .wp-block-button:has(input[type="submit"]) {
  inline-size: 100%;
}

.wp-block-button.el_btn.el_btn_contact > a, 
.el_btn.el_btn_contact > a,
.wpcf7 form input[type="submit"] {
  --foreground: var(--wp--preset--color--base);
  --background: var(--wp--preset--color--black);
  --border: var(--wp--preset--color--black);
  --hover: var(--wp--preset--color--accent);
  flex-direction: row-reverse;
  max-width: 440px;
  inline-size: 100%;
  padding: 1.5em 0.8em;
  border: 2px solid var(--border);
  border-radius: 0;
  background-color: var(--background) !important;
  color: var(--foreground) !important;
  white-space: nowrap;
  transition: var(--transition-ease);
}

.bl_form_btns input[type="submit"] {
  max-width: 440px;
  width: 100%;
}

.bl_form_btns p:has(input[type="submit"]) {
  width: 100%;
}

.w-header .el_btn.el_btn_contact > a {
  block-size: var(--header-logo);
  inline-size: min(100%, 180px);
  padding: 0.75em 0.8em;
  font-size: var(--wp--preset--font-size--medium);
}

.el_btn.el_btn_contact > a::after {
  --mail: 3rem;
  width: var(--mail);
  height: auto;
  aspect-ratio: 1;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="34" height="34" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M28.1562 5.3125H5.84375C4.8578 5.31355 3.91253 5.70569 3.21536 6.40286C2.51819 7.10003 2.12605 8.0453 2.125 9.03125V24.9688C2.12605 25.9547 2.51819 26.9 3.21536 27.5971C3.91253 28.2943 4.8578 28.6864 5.84375 28.6875H28.1562C29.1422 28.6864 30.0875 28.2943 30.7846 27.5971C31.4818 26.9 31.8739 25.9547 31.875 24.9688V9.03125C31.8739 8.0453 31.4818 7.10003 30.7846 6.40286C30.0875 5.70569 29.1422 5.31355 28.1562 5.3125ZM27.2146 11.4637L17.6521 18.9012C17.4656 19.0462 17.2362 19.1249 17 19.1249C16.7638 19.1249 16.5344 19.0462 16.3479 18.9012L6.78539 11.4637C6.67304 11.3789 6.57867 11.2725 6.50777 11.1509C6.43687 11.0293 6.39084 10.8948 6.37238 10.7552C6.35391 10.6156 6.36336 10.4738 6.40019 10.3379C6.43702 10.202 6.50048 10.0748 6.5869 9.96365C6.67332 9.8525 6.78096 9.75964 6.90358 9.69046C7.0262 9.62127 7.16134 9.57715 7.30116 9.56065C7.44097 9.54414 7.58268 9.55559 7.71803 9.59433C7.85339 9.63307 7.97969 9.69832 8.08961 9.78629L17 16.7164L25.9104 9.78629C26.1332 9.61803 26.4133 9.54423 26.6901 9.58086C26.9669 9.61748 27.2181 9.76159 27.3895 9.982C27.5609 10.2024 27.6386 10.4814 27.6059 10.7587C27.5731 11.036 27.4326 11.2892 27.2146 11.4637Z" fill="%23FFFDFB"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
}

.el_btn.el_btn_contact > a::after {
  --mail: 2rem;
}

.wp-block-button.el_btn > a:-moz-any-link, 
.el_btn:not(.wp-block-button):-moz-any-link,
.c-mvBtn__btn:-moz-any-link {
  text-decoration: none;
}

.wp-block-button.el_btn > a:any-link,
.el_btn:not(.wp-block-button):any-link,
.c-mvBtn__btn:any-link {
  text-decoration: none;
}

.w-footer__box:has(.widget_nav_menu) {
  display: flex;
  gap: 14%;
  position: relative;
  z-index: 10;
}

.alignfull>.wp-block-cover__inner-container, 
.alignfull>.wp-block-group__inner-container {
  max-width: var(--wp--style--global--content-size);
}

.l-article {
  max-width: 100% !important;
}

.l-header__inner.l-container,
.l-fixHeader__inner.l-container {
  max-width: 100%;
  padding-right: 0;
}

.l-header__logo,
.l-fixHeader__logo {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  padding: 0 !important;
  font-size: var(--wp--preset--font-size--small);
}

.l-footer__logo {
  align-items: center;
  display: flex;
  gap: 16px;
  margin-bottom: 1.3em;
  padding: 0 !important;
  font-size: var(--wp--preset--font-size--large);
}

.l-footer__logo figure img {
  width: 90px;
  height: auto;
}

.c-listMenu.c-listMenu li {
  margin-bottom: 1.05em;
}

.c-gnav .sub-menu a, 
.c-listMenu a {
  border-bottom: 0;
  padding: .25em 1em .25em 1.5em;
  font-size: var(--wp--preset--font-size--small);
  position: relative;
  transition: var(--transition-ease);
}

.c-gnav>.menu-item>a {
  padding: 0 1.5vw;
}

.c-gnav a::after {
  background: var(--wp--preset--color--accent)
}

.c-gnav .sub-menu a:before, 
.c-listMenu a:before {
  content: "";
  width: 6px;
  height: 1px;
  background-color: var(--wp--preset--color--accent);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: var(--transition-ease);
}

.c-widget+.c-widget {
  margin-top: 0;
}

.p-spMenu__body {
  padding-top: 2.5rem;
}

.c-widget__title.-spmenu {
  display: none;
}

.top #content {
  padding-top: 0;
}

.home .p-mainVisual .swiper { /* トップページのKV */
  --swiper-w: 100%;
  width: var(--swiper-w);
  min-height: auto;
  height: auto;
  margin: 0 0 0 auto;
  position: static;
}

.home .p-mainVisual .swiper::before {
  content: "";
  width: 230px;
  height: calc(100% + 4px);
  clip-path: polygon(0 0, 0 0, 100% 100%, 0 100%);
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: clip-path;
  position: absolute;
  bottom: -1px;
  left: calc(100% - var(--swiper-w) - 1px); /* 100% - swiperのwidth */
  background-color: var(--wp--preset--color--base);
  z-index: 2;
}

.home .p-mainVisual .swiper .swiper-wrapper {
  height: 60vw;
}

.home .p-mainVisual .swiper-button-prev,
.home .p-mainVisual .swiper-button-next {
  display: none;
}

.home .p-mainVisual .swiper-pagination {
  width: auto;
  top: calc(60vw - 2rem);
  bottom: auto;
  right: 2rem;
  left: auto;
}

.home .p-mainVisual .swiper-pagination-bullet {
  background: var(--wp--preset--color--base);
  opacity: 1;
}

.home .p-mainVisual .swiper-pagination-bullet-active {
  background: var(--wp--preset--color--accent);
}

.home .p-mainVisual .swiper-button-prev,
.home .p-mainVisual .swiper-button-next {
  background: none !important;
  color: var(--wp--preset--color--base);
}

.home .p-mainVisual .swiper-button-prev {
  top: auto;
  right: calc(var(--swiper-nav-size) + var(--gap) + var(--mr));
  left: auto;
  bottom: 1.5rem;
}

.home .p-mainVisual .swiper-button-next {
  top: auto;
  right: var(--mr);
  bottom: 1.5rem;
}

.l-topTitleArea { /* 下層のKV */
  min-height: 62vw;
  position: relative;
  padding: 0 !important;
  overflow: hidden;
}

.l-topTitleArea::after {
  content: "";
  width: 100%;
  height: 80%;
  background-color: var(--wp--preset--color--accent);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 0);
  position: absolute;
  bottom: 10%;
  right: 0;
  z-index: -1;
}

.l-topTitleArea__img {
  height: calc(100% - 1px) !important;
  clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 15vw), 0 100%);
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: clip-path;
  padding: 0 !important;
  object-position: 50% 90%;
  filter: brightness(0.6);
}

.l-content:has(.swell-block-fullWide) {
  margin-block-end: 0 !important;
}

.l-content:has(+ .w-beforeFooter) .post_content > div {
  position: relative;
}

.l-content:has(+ .w-beforeFooter) .post_content > div:last-child[style*="background-color:#ece4d8"]::before { /* CTA上あしらい用 */
  content: "";
  width: 22%;
  height: auto;
  aspect-ratio: 1;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="250" height="250" viewBox="0 0 250 250" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M240 0L0 250V188.776L180.886 0H240Z" fill="%23D70C19"/><path d="M157.184 0L0 164.231V102.281L98.0695 0H157.184Z" fill="%23D70C19"/></svg>');
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.w-beforeFooter {
  margin: 0 auto !important;
}

.w-footer__box {
  z-index: 1;
}

.w-footer__box:last-child {
  width: 70%;
  height: auto;
  aspect-ratio: 4 / 3;
  position: absolute;
  bottom: 0;
  right: 0;
  overflow: hidden;
  z-index: 0;
}

.w-footer__box:last-child > div {
  width: 120%;
  height: auto;
  aspect-ratio: 1;
  overflow: hidden;
}

.w-footer__box:last-child img {
  display: block;
  width: 538px;
  height: auto;
  aspect-ratio: 1;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: clip-path;
  padding: 0 !important;
  object-fit: cover;
  opacity: .2;
}

.post_content :where(ul:not([type])) {
  list-style: none;
  padding-left: 0 !important;
}

.post_content th {
  width: 12rem;
}

.post_content li {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.post_content li::before {
  content: "";
  width: 0.4rem;
  height: auto;
  aspect-ratio: 1;
  display: block;
  position: relative;
  background-color: var(--wp--preset--color--accent);
  transform: rotate(45deg);
}

.bl_infoList {
  margin: 0 auto;
  padding: 0;
  max-width: var(--narrow-size) !important;
}

.bl_infoList .-type-simple .p-postList__link {
  padding-block: 1.3em;
  width: 100%;
}

.bl_infoList .p-postList__body {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.bl_infoList .p-postList__body .p-postList__meta, 
.bl_infoList .p-postList .p-postList__title {
  font-size: var(--wp--preset--font-size--medium);
  font-weight: var(--weight-regular);
  line-height: var(--lh-narrow);
  margin-bottom: 0;
}

.bl_infoList .p-postList__body .p-postList__meta {
  width: 10rem;  
}

.bl_infoList .p-postList__body .p-postList__times {
  padding: 0;
}

.bl_infoList .p-postList .p-postList__title {
  flex: 1;
}

.p-postList__body .icon-posted:before,
.p-articleMetas .icon-posted:before {
  content: "" !important;
}

[class*=page-numbers] {
  background-color: var(--wp--preset--color--beige) !important;
  color: var(--wp--preset--color--black) !important;
}

[class*=page-numbers].current, 
[class*=page-numbers]:hover {
  background-color: var(--wp--preset--color--deep-beige) !important;
  color: var(--wp--preset--color--black) !important;
}

.wpcf7 form {
  display: flex;
  flex-flow: column;
  gap: 1em;
}

.wpcf7 form label {
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.2;
}

.wpcf7 form .wpcf7-form-control-wrap {
  display: block;
  margin-block-start: 0.2em;
}

.wpcf7 form input,
.wpcf7 form textarea {
  padding: 0.5em;
}

.wpcf7 form textarea {
  width: 100%;
}

.wpcf7 form .is_required::after {
  content: "必須";
  flex-shrink: 0;
  margin-inline-start: 0.25em;
  padding: 0.12em 0.25em;
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--base);
  font-size: calc(var(--wp--preset--font-size--small) * .86);
}

.wpcf7 form input[type=checkbox],
.wpcf7 form input[type=radio] {
  flex-shrink: 0;
}

.wpcf7 form input[type="button"] {
  transition: var(--transition-ease);
}

.wpcf7-not-valid-tip {
  color: var(--wp--preset--color--accent);
  font-size: var(--wp--preset--font-size--small);
  margin-block-start: 0.3rem;
}

fieldset {
  margin-inline: 0;
  padding: 0;
  border: none;
}

.bl_form_btns > p {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: column-reverse;
  justify-content: center;
  gap: var(--wp--preset--spacing--20);
  margin-block-start: var(--wp--preset--spacing--40);
}

.wpcf7-spinner {
  display: none !important;
}

.w-beforeFooter .bl_cta_wrap {
  background-color: var(--wp--preset--color--black);
  position: relative;
  margin-bottom: 0!important;
}

.w-beforeFooter .bl_cta_wrap > div {
  width: 100%;
  padding-inline: var(--wp--preset--spacing--20);
}

.w-beforeFooter .bl_cta_wrap > div > div {
  width: 100%;
  left: 0;
  margin-block: auto;
}

.contact .w-beforeFooter .bl_cta_wrap,
.page-child.confirm .w-beforeFooter .bl_cta_wrap,
.page-child.sent .w-beforeFooter .bl_cta_wrap {
  display: none;
}

.l-content + .w-beforeFooter .bl_cta_wrap::before {
  content: "";
  width: 100%;
  height: 40%;
  background-color: var(--wp--preset--color--base);
  position: absolute;
  top: 0;
  left: 0;
}

.l-content:has(.post_content > div:last-child[style*="background-color:#ece4d8"]) + .w-beforeFooter .bl_cta_wrap::before {
  background-color: var(--wp--preset--color--deep-beige);
}

.bl_cta {
  background-color: var(--wp--preset--color--beige);
  padding-block: 2.2rem;
  padding-inline: 5%;
  position: relative;
  z-index: 1;
}

.bl_eco {
  background-color: var(--wp--preset--color--deep-beige);
  padding-block: 3.2rem;
  padding-inline: 6%;
  position: relative;
  z-index: 1;
  border: 5px solid var(--wp--preset--color--beige);
}

.bl_cta > div {
  justify-content: space-between;
  gap: 2rem;
  width: 100%;
  margin: auto;
}

.bl_eco > div {
  justify-content: space-between;
  row-gap: 2rem;
  column-gap: 6%;
  align-items: center;
  width: 100%;
  margin: auto;
}

.bl_cta .post_content h3, 
.bl_eco .post_content h3, 
.el_heading3 {
  word-break: unset;
  line-height: 1.1;
  margin-block-end: calc(var(--wp--preset--spacing--10) * 1.5) !important;
}

.bl_lead > div {
  row-gap: 3rem;
  column-gap: 5%;
}

.bl_grid_wrap > div {
  row-gap: 3rem;
  column-gap: 4%;
}

.bl_card {
  margin-bottom: 2.5em;
}

.bl_card.bl_card_num {
  margin-bottom: 4em;
}

.bl_card > div {
  row-gap: 1rem;
  column-gap: 4%;
}

.bl_card.bl_card_sm {
  max-width: var(--narrow-size);
  margin: 2rem auto 0;
  padding: 2rem;
  background-color: var(--wp--preset--color--beige);
}

.bl_card.bl_card_sm > div {
  justify-content: center;
  gap: 2rem;
}

.bl_card_wrap > div:has(.bl_card.bl_card_col2, .bl_card.bl_card_col3) {
  row-gap: 3rem;
  column-gap: 4%;
}

.bl_card.bl_card_col2, 
.bl_card.bl_card_col3 {
  margin-left: 0 !important;
}

.bl_card .el_heading4::after {
  content: "";
  width: 100%;
  height: 2px;
  display: block;
  background-color: var(--wp--preset--color--accent);
}

.bl_card.bl_card_num .el_heading3 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  inline-size: 100%;
}

.bl_card.bl_card_num .el_heading3 .num {
  color: var(--wp--preset--color--beige);
  font-family: var(--font-en);
  font-weight: 500;
  font-size: clamp(3.125rem, 2.443rem + 3.41vw, 5rem);
  line-height: 0.7;
}

.bl_card.bl_card_num .el_heading3::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: var(--wp--preset--color--accent);
  position: absolute;
  bottom: -0.1rem;
  left: 0;
}

.bl_company_table {
  padding: 2.5rem 1rem;
}

.bl_company_table table th {
  font-weight: var(--weight-regular);
  background-color: transparent;
}

.bl_company_table table th,
.bl_company_table table td {
  border: none;
}

.bl_company_table table tr {
  position: relative;
  border-bottom: var(--table-border);
}

.hp_text_min {
  font-size: var(--fz-x-small);
}

.hp_text_base,
.hp_text_base > a {
  color: var(--wp--preset--color--base) !important;
}

.wp-block-button.hp_text_base::before, 
.wp-block-button.el_btn.hp_text_base::before {
  background-color: var(--wp--preset--color--base);
}

.hp_text_green{
  color: var(--wp--preset--color--green);
}

.hp_w_auto {
  width: auto !important;
}

.hp_mx_auto {
  margin-inline: auto !important;
}

.u-mb-60 {
  margin-bottom: calc(var(--wp--preset--spacing--60) * 2) !important;
}

.tb_reverse > div{
  flex-direction: column !important;
}

.pc_reverse > div{
  flex-direction: column !important;
}

.sp_less {
  display: block;
}

.pc_more {
  display: none;
}

.xl_less {
  display: block;
}

.home .un_service {
  position: relative;
  overflow: hidden;
}

.home .un_service::after {
  content: "";
  width: 100%;
  height: 98%;
  background-color: var(--wp--preset--color--accent);
  clip-path: polygon(0 0, 100% 6%, 100% 100%, 0 94%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}

.home .un_service_inner {
  clip-path: polygon(0 80px, 100% 0%, 100% calc(100% - 80px), 0 100%);
  backface-visibility: hidden;
  will-change: clip-path;
  padding-bottom: 9em !important;
  padding-top: 9em !important;
  background-position: 10% 100% !important;
}

.home .un_marquee_wrap {
  overflow: hidden;
  white-space: nowrap;
}

.home .un_marquee {
  display: flex;
  width: fit-content;
  font-family: var(--font-en);
  font-size: clamp(4.375rem, 2.784rem + 7.95vw, 8.75rem);
  line-height: 1;
  color: var(--wp--preset--color--beige);
  animation: scroll-home-marquee 55s linear infinite;
}

.home .un_marquee span {
  padding-right: 2rem;
}

@keyframes scroll-home-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.service .un_slide_wrap {
  overflow: hidden;
}

.service .un_slide {
  display: flex;
  width: fit-content;
  animation: slide-service 55s linear infinite;
}

@keyframes slide-service {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.service .un_slide img {
  flex-shrink: 0;
}

.service .un_slide .swell-block-columns__inner {
  padding-bottom: 0 !important;
}

.service .un_slide .c-scrollHint {
  display: none !important;
}

.company .bl_company_table.un_history_table table tr {
  border-bottom: 0!important;
}

.company .bl_company_table.un_history_table table th {
  padding: 0.5em 2em;
}

.company .bl_company_table.un_history_table table td {
  padding: 0 2em 0.7em;
}

.company .un_promise > div > div:last-child {
  padding-block-start: 0.6em;
  padding-inline-start: 3.1em;
}

.locations .bl_company_table {
  padding: 0;
}

.locations .un_locations_map .swell-block-column {
  position: relative;
}

.locations .un_locations_map .el_mapLink {
  --pin-pb: 48px;
  --pin-ad: 0%;
  position: absolute;
  margin-block-end: 0;
  padding-bottom: var(--pin-pb);
  transform: translate(-50%, -100%);
}

.locations .un_locations_map .el_mapLink.el_mapLink_honsya {
  top: calc(var(--pin-ad) + 76.3%);
  left: 10.5%;
  z-index: 1;
}

.locations .un_locations_map .el_mapLink.el_mapLink_asa {
  --pin-pb: calc(48px + 3.5rem);
  top: calc(var(--pin-ad) + 76%);
  left: 8.5%;
}

.locations .un_locations_map .el_mapLink.el_mapLink_gifu {
  top: calc(var(--pin-ad) + 70%);
  left: 41.5%;
  z-index: 1;
}

.locations .un_locations_map .el_mapLink.el_mapLink_mie {
  --pin-pb: calc(48px + 5.8rem);
  top: calc(var(--pin-ad) + 77%);
  left: 39.5%;
}

.locations .un_locations_map .el_mapLink::before, 
.locations .un_locations_map .el_mapLink::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: currentColor;
}

.locations .un_locations_map .el_mapLink::before {
  width: 2px;
  height: calc(var(--pin-pb) + 1.39rem);
  bottom: 0;
}

.locations .un_locations_map .el_mapLink::after {
  width: 6px;
  height: auto;
  bottom: -2px;
  aspect-ratio: 1;
  border-radius: 999px;
}

.locations .un_locations_map .el_mapLink.el_mapLink_honsya, 
.locations .un_locations_map .el_mapLink.el_mapLink_honsya a,
.locations .un_locations_map .el_mapHeading.el_mapHeading_honsya {
  color: var(--wp--preset--color--accent);
}

.locations .un_locations_map .el_mapLink.el_mapLink_asa, 
.locations .un_locations_map .el_mapLink.el_mapLink_asa a,
.locations .un_locations_map .el_mapHeading.el_mapHeading_asa {
  color: #4b90b7;
}

.locations .un_locations_map .el_mapLink.el_mapLink_gifu, 
.locations .un_locations_map .el_mapLink.el_mapLink_gifu a,
.locations .un_locations_map .el_mapHeading.el_mapHeading_gifu {
  color: #e6a927;
}

.locations .un_locations_map .el_mapLink.el_mapLink_mie, 
.locations .un_locations_map .el_mapLink.el_mapLink_mie a,
.locations .un_locations_map .el_mapHeading.el_mapHeading_mie {
  color: #289e5a;
}

.locations .un_locations_map .el_mapLink a {
  display: block;
}

.locations .un_locations_map .el_mapLink a span {
  display: none;
}

.locations .un_locations_map .el_mapHeading {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  margin-block-end: 0.1rem;
  padding-block-start: var(--wp--preset--spacing--10);
}

.locations .un_locations_map .el_mapHeading span {
  color: var(--wp--preset--color--black);
}

.locations .un_locations_map .el_mapLink a::before,
.locations .un_locations_map .el_mapHeading::before {
  content: "";
  width: 30px;
  height: auto;
  aspect-ratio: 3 / 4;
  display: inline-block;
  background-color: currentColor;
  --svg: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34.78 48.36"><path d="M34.61,14.73C33.37,6.31,25.97-.06,17.45,0h-.02c-4.58.02-8.62,1.49-11.95,4.68C2.14,7.84.27,11.72.02,16.34c-.13,2.64.37,5.19,1.29,7.67.87,2.43,2.06,4.7,3.3,6.93,2.55,4.52,5.48,8.79,8.7,12.87,1.14,1.43,2.31,2.87,3.57,4.23.41.41.62.43,1.01.02.05-.05.11-.11.17-.19,3.34-3.77,6.4-7.75,9.12-12,2.23-3.47,4.31-7.01,5.9-10.83,1.37-3.3,2.05-6.72,1.53-10.31ZM17.36,27.37c-6.19-.08-10.15-5.22-10.04-10.25.12-5.59,4.77-10.04,10.35-9.92,5.53.14,9.92,4.76,9.76,10.37-.14,5.47-4.6,9.78-10.07,9.8Z"/></svg>');
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  transform: translateY(0) rotateY(0) scale(0.8);
  transition: transform 0.3s ease-in-out;
}

.locations .un_locations_map .el_mapLink a::after {
  content: "";
  width: 26px;
  height: auto;
  aspect-ratio: 1;
  display: block;
  position: absolute;
  top: 2px;
  left: 2px;
  z-index: -1;
  border-radius: 999px;
  border: currentColor 2px solid;
  opacity: 0.6;
  transform: translateY(0) scale(0.8);
  transition: all 0.3s ease-in-out;
}

.locations iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

.single .p-articleFoot {
  display: none;
}


@media (min-width: 600px) {
  .bl_info {
    flex-wrap: nowrap;
    padding-inline: 1em;
  }
  .bl_infoList .p-postList__body {
    align-items: center;
    flex-direction: row;
  }
  .bl_form_btns > p {
    flex-flow: row;
    gap: var(--wp--preset--spacing--30);
    margin-block-start: var(--wp--preset--spacing--50);
  }
  .w-footer__box:last-child {
    width: 440px;
  }
  .w-footer__box:last-child > div {
    width: 538px;
  }
  .l-topTitleArea {
    min-height: 500px;
  }
  .l-topTitleArea::after {
    width: 1040px;
  }
  .l-topTitleArea__img {
    clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 150px), 0 100%);
  }
  .el_pageTitle {
    gap: 0.5rem;
  }
  .el_pageTitle .c-pageTitle {
    letter-spacing: var(--ls-wide);
  }
  .el_heading3.el_heading3_icon::before {
    margin-block-start: 0.95rem;
  }
  .wp-block-button__link, 
  .wp-block-button.el_btn > a, 
  .el_btn:not(.wp-block-button), 
  .c-mvBtn__btn{
    gap: 1rem;
  }
  .wp-block-button__link::before, 
  .wp-block-button.el_btn > a::before,
  .el_btn:not(.wp-block-button)::before,
  .c-mvBtn__btn::before {
    --arrow: 60px;
  }
  .wp-block-button__link::after, 
  .wp-block-button.el_btn > a::after,
  .el_btn:not(.wp-block-button)::after,
  .c-mvBtn__btn::after {
    --arrow: 60px;
  }
  .el_btn.el_btn_contact > a::after{
    --mail: 34px;
  }
  .w-header .el_btn.el_btn_contact > a::after {
    --mail: 22px;
  }
  .el_tel::before {
    --tel: 34px;
  }
  .hp_flex1{
    flex: 1;
  }
  .tb_reverse > div{
    flex-direction: row-reverse !important;
  }
  .pc_reverse > div{
    flex-direction: row !important;
  }
  .sp_less {
    display: none;
  }
  .home .p-mainVisual .swiper {
    --swiper-w: 68%;
    min-height: 600px;
    height: 70vw;
  }
  .home .p-mainVisual .swiper .swiper-wrapper {
    height: 100%;
  }
  .home .p-mainVisual .swiper-button-prev,
  .home .p-mainVisual .swiper-button-next {
    --gap: 1rem;
    --mr: 3rem;
    display: flex;
  }
  .home .p-mainVisual .swiper-pagination {
    --gap: 1rem;
    --mr: 3rem;
    width: calc(var(--swiper-nav-size) * 2 + var(--gap));
    top: auto;
    bottom: 1rem;
    right: 3rem;
  }
  .home .un_service::after {
    height: 90%;
    clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 85%);
  }
  .home .un_service_inner {
    clip-path: polygon(0 150px, 100% 0%, 100% calc(100% - 150px), 0 100%);
  }
  .company .un_promise > div > div:last-child {
    padding-inline-start: calc(2.5em + 2.5vw);
  }
  .locations .un_locations_map .el_mapLink {
    --pin-ad: calc(2.4% - 6px);
  }
  .locations .un_locations_map .el_mapLink::before {
    height: calc(var(--pin-pb) + 1.6rem);
  }
}

@media not all and (min-width: 600px){
  .post_content td, 
  .post_content th {
    inline-size: fit-content;
    min-width: 100%;
    width: 100%;
    display: block;
  }
  .home .p-mainVisual__textLayer {
    position: relative;
    top: 1rem;
    left: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    height: auto;
    padding-bottom: calc(2vw + 2rem);
  }
}

@media (max-width: 1073px) and (min-width: 600px) {
  .el_tel_wrap {
    width: 100% !important;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}

@media (min-width: 960px) {
  .l-content:has(+ .w-beforeFooter) .post_content > div:last-child[style*="background-color:#ece4d8"]::before { /* CTA上あしらい用 */
    width: 250px;
  }
  .-series-right .w-header {
    justify-content: flex-end;
  }
  .-series-right .w-header > div {
    inline-size: min(100%, 180px);
  }
  .w-footer {
    gap: 2rem;
  }
  .w-footer .w-footer__box:first-child {
    flex: inherit;
  }
  .bl_contWrapper__narrow {
    max-width: var(--narrow-size) !important;
    margin-left: auto;
    margin-right: auto;
  }
  .bl_info {
    gap: 2em;
  }
  .wpcf7 form .wp-block-button:has(input[type="submit"]) {
    inline-size: 440px;
  }
  .wp-block-button.el_btn.el_btn_contact > a, 
  .el_btn.el_btn_contact > a,
  .wpcf7 form input[type="submit"] {
    inline-size: 440px;
  }
  .w-header .el_btn.el_btn_contact > a {
    inline-size: min(100%, 180px);
  }
  .pc_reverse > div{
    flex-direction: row-reverse !important;
  }
  .pc_more {
    display: block;
  }
  :root .pc_text_center {
    text-align: center;
  }
  .home .p-mainVisual .swiper {
    height: calc(100vh - 160px);
  }
  .home .un_service::after {
    height: 88%;
    clip-path: polygon(0 0, 100% 35%, 100% 100%, 0 65%);
  }
  .home .un_service_inner {
    clip-path: polygon(0 230px, 100% 0%, 100% calc(100% - 230px), 0 100%);
    padding-bottom: 13em !important;
    padding-top: 13em !important;
  }
  .company .bl_company_table.un_history_table table th {
    text-align: right;
    padding: 0.7em 2em;
  }
  .company .bl_company_table.un_history_table table td {
    padding: 0.7em 2em;
  }
  .company .bl_company_table.un_history_table table th::before {
    content: "";
    width: 2px;
    height: 100%;
    background-color: var(--wp--preset--color--border);
    position: absolute;
    top: 1.4em;
    right: 3px;
    z-index: 0;
  }
  .company .bl_company_table.un_history_table table th::after {
    content: "";
    width: 8px;
    height: auto;
    aspect-ratio: 1;
    background-color: var(--wp--preset--color--base);
    border: 2px solid var(--wp--preset--color--accent);
    border-radius: 999px;
    position: absolute;
    top: 1.3em;
    right: 0;
    z-index: 1;
  }
  .locations .un_locations_map .el_mapLink {
    --pin-ad: calc(2.0% - 6px);
  }
  .locations .un_locations_map .el_mapLink a::before {
    width: 36px;
  }
  .locations .un_locations_map .el_mapLink a::after {
    width: 32px;
  }
}

@media not all and (min-width: 960px){
  .-img .c-headLogo__link {
    padding: 0 10px;
  }
  .bl_company_table:not(.un_history_table) table th {
    padding-block-end: 0;
  }
  .bl_company_table:not(.un_history_table) table td {
    padding-block-start: 0.5em;
  }
  .company .bl_company_table.un_history_table table tr::before {
    content: "";
    width: 2px;
    height: 100%;
    background-color: var(--wp--preset--color--border);
    position: absolute;
    top: 1.2em;
    left: 3px;
    right: auto;
    z-index: 0;
  }
  .company .bl_company_table.un_history_table table tr::after {
    content: "";
    width: 8px;
    height: auto;
    aspect-ratio: 1;
    background-color: var(--wp--preset--color--base);
    border: 2px solid var(--wp--preset--color--accent);
    border-radius: 999px;
    position: absolute;
    top: 1.1em;
    left: 0;
    right: auto;
    z-index: 1;
  }
}

@media (min-width: 1008px) {
  .alignwide {
    left: 0 !important;
    width: 100% !important;
  }
}

@media (min-width: 1072px) {
  .alignwide {
    width: 100% !important;
    left: 0 !important;
    /* left: calc((100% - var(--wp--style--global--content-size)) / 2) !important;
    width: var(--wp--style--global--content-size) !important;
    padding-inline: 32px; */
  }
  .w-footer {
    gap: 13%;
  }
}

@media screen and (min-width: 1200px){
  .xl_less {
    display: none;
  }
}

@media (any-hover: hover){
  :where(a)[href]:hover {
    color: var(--wp--preset--color--black);
    text-decoration-thickness: 2px;
  }
  :where(a):not(.c-mvBtn__btn)[href]:hover[target=_blank]::after {
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23231815"><path d="M10.26,14.86c-.27,0-.52-.1-.71-.29-.39-.4-.39-1.06.02-1.47L18.72,3.86l-4.78-.04c-.47,0-.86-.37-.89-.84-.02-.26.06-.5.23-.69.17-.19.41-.29.66-.29l7.54.06c.24,0,.44.2.45.45l.07,7.6c0,.24-.09.47-.26.65-.17.17-.4.27-.64.27h-.08c-.47-.04-.82-.43-.83-.9l-.04-4.82-9.16,9.24c-.2.2-.46.31-.74.31h0Z" stroke-width="0"/><path d="M17.82,22H3.61c-.89,0-1.61-.73-1.61-1.62V6.03c0-.9.72-1.62,1.61-1.62h7.11v1.02H3.61c-.33,0-.61.27-.61.61v14.34c0,.34.27.61.61.61h14.22c.33,0,.61-.27.61-.61v-7.17h1.01v7.17c0,.9-.72,1.62-1.61,1.62h0Z" stroke-width="0"/></svg>');
  }
  .wp-block-button.el_btn.el_btn_contact > a:where([href], :enabled):hover,
  .el_btn.el_btn_contact:not(.wp-block-button):where([href], :enabled):hover,
  .c-mvBtn__btn:where([href], :enabled):hover,
  .wpcf7 form input[type="submit"]:hover {
    --background: var(--hover);
    --border: var(--hover);
    box-shadow: none;
  }
  .wp-block-button.el_btn.el_btn_contact > a:focus-visible,
  .el_btn.el_btn_contact:not(.wp-block-button):focus-visible,
  .c-mvBtn__btn:focus-visible,
  .wpcf7 form input[type="submit"]:focus-visible {
    --background: var(--hover);
    --border: var(--hover);
    box-shadow: none;
  }
  .wpcf7 form input[type="button"]:hover, 
  .wpcf7 form input[type="button"]:focus-visible {
    border-color: var(--wp--preset--color--black);
  }
  .wp-block-button__link:where([href], :enabled):hover {
    --background: var(--hover);
    --border: var(--hover);
  }
  .wp-block-button__link:focus-visible {
    --background: var(--hover);
    --border: var(--hover);
  }
  .wp-block-button:hover::before, 
  .wp-block-button.el_btn:hover::before,
  .c-mvBtn:hover::before {
    width: calc(100% - 60px - 1rem);
  }
  .wp-block-button:focus-visible::before, 
  .wp-block-button.el_btn:focus-visible::before,
  .c-mvBtn:focus-visible::before {
    width: calc(100% - 60px - 1rem);
  }
  .wp-block-button__link:hover::before, 
  .wp-block-button.el_btn > a:hover::before,
  .el_btn:not(.wp-block-button):hover::before,
  .c-mvBtn__btn:hover::before {
    --background: var(--wp--preset--color--accent);
    transform: scale(1);
    opacity: 1;
  }
  .wp-block-button__link:focus-visible::before, 
  .wp-block-button.el_btn > a:focus-visible::before,
  .el_btn:not(.wp-block-button):focus-visible::before,
  .c-mvBtn__btn:focus-visible::before {
    --background: var(--wp--preset--color--accent);
    transform: scale(1);
    opacity: 1;
  }
  .c-listMenu a:hover,
  .c-listMenu a:focus-visible {
    color: currentColor;
  }
  .c-gnav .sub-menu a:hover:before, 
  .c-gnav .sub-menu a:focus-visible:before, 
  .c-listMenu a:hover:before,
  .c-listMenu a:focus-visible:before {
    width: 18px;
  }
  .c-gnav li a:focus-visible::after {
    width: 100% !important;
  }
  .locations .un_locations_map .el_mapLink a:hover::before,
  .locations .un_locations_map .el_mapLink a:focus-visible::before {
    transform: translateY(-0.8rem) rotateY(180deg) scale(1);
  }
  .locations .un_locations_map .el_mapLink a:hover::after,
  .locations .un_locations_map .el_mapLink a:focus-visible::after {
    opacity: 0;
    transform: translateY(-0.8rem) scale(2);
  }
}

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

@media (prefers-reduced-motion: reduce){
  *,
  ::before,
  ::after {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}
