/*
Theme Name: 
Theme URI: 
Author: 
Author URI: 
Description: 
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.0
License: 
License URI: 
Text Domain: 
Tags: 
*/





/**
 * Josh's Custom CSS Reset
 * https://www.joshwcomeau.com/css/custom-css-reset/
 */

*,*::before,*::after{box-sizing:border-box}*{margin:0}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}body{line-height:1.618;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}/*h1,h2,h3,h4,h5,h6{text-wrap:balance}*/#root,#__next{isolation:isolate}




/**
 * 
 * 
 */

/* The root element */

/* Sections --- body,article,section,nav,aside,h1,h2,h3,h4,h5,h6,hgroup,header,footer,address */
main {
  position: relative;
  overflow-x: clip;
  border-radius: var(--wp--custom--radius-bottom-arc);
  background-color: var(--wp--preset--color--base);
  z-index: 1;
}

/* Grouping content --- p,hr,pre,blockquote,ol,ul,menu,li,dl,dt,dd,figure,figcaption,main,div */

/* Text-level semantics --- a,em,strong,small,s,cite,q,dfn,abbr,ruby,rt,rp,data,time,code,var,samp,kdb,sub,sup,i,b,u,mark,bdi,bdo,span,br,wbr */
a {
  text-decoration-thickness: .5px !important;
  text-underline-offset: .38em;
  transition: background-color .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease;
}

/* Edits --- ins,del */

/* Embedded content --- picture,source,img,iframe,embed,obect,param,video,audio,track,map,area */

/* Tabular data --- table,caption,colgroup,col,tbody,thead,tfoot,tr,td,th */
table {
  border-collapse: collapse;
}
tbody, td, tfoot, th, thead, tr {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  font-weight: var(--wp--custom--font-weight-light);
}

/* Forms --- form,label,input,button,select,button,select,datalist,optgroup,option,textarea,output,progress,meter,fieldset,legend */
fieldset {
  all: unset;
}
button:disabled {
  pointer-events: none !important;
  opacity: 0.85;
}

/* Interactive elements --- details,summary,dialog */

/* Print */





/**
 * 無効化
 *
 */

.wp-block-table {
  & table,
  & th,
  & td {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
  }
}



/**
 * Header
 * 
 */

/* 600px未満の画面幅では管理バーの高さを0にする（スマホ対応） */
@media (width < 600px) {
  header {
    --wp-admin--admin-bar--height: 0px;
  }
}

/* ヘッダーのカスタム変数設定 */
header {
  --admin-bar-height: var(--wp-admin--admin-bar--height, 0px); /* 管理バーの高さ */
  --header-nav-height: 36px; /* ナビゲーションバーの高さ */
  --sandwich-top: calc(var(--admin-bar-height) + var(--header-nav-height)); /* ハンバーガーメニュー開時の開始位置 */
}

/* 固定表示のヘッダー基本スタイル */
header {
  position: fixed;
  top: var(--admin-bar-height);
  width: 100%;
  padding: 0 var(--wp--style--root--padding-left) clamp(10px, 3vw, 30px);
  border-radius: var(--wp--custom--radius-bottom-arc);
  background-color: transparent;
  color: var(--wp--preset--color--white);
  overflow: visible;
  z-index: 1000;
}

/* 背景画像がないページやモーダル表示時の背景色 */
body:not(.home):not(:has(.hero img)):not(:has(.hero-cta)) header,
body header.has-bg,
.has-modal-open header {
  background-color: color-mix(in oklab, var(--wp--preset--color--primary), transparent 0%);
}

/*  */

/* ヘッダー背景画像ブロック */
.hero {
  min-height: clamp(200px, 30vw, 430px);
  border-radius: var(--wp--custom--radius-bottom-arc);
  
  /* 画像がない場合の代替背景とテキスト調整 */
  &:not(:has(img)){
    min-height: auto !important;
    margin-bottom: calc((var(--wp--preset--spacing--60) - var(--wp--preset--spacing--40)) * -1);
    padding-top: var(--wp--preset--spacing--80);
    color: inherit !important;
    & > span { display: none; }
  }
}



/*.main-header-image:not(:has(img)){
  min-height: auto !important;
  margin-bottom: calc((var(--wp--preset--spacing--60) - var(--wp--preset--spacing--40)) * -1);
  padding-top: var(--wp--preset--spacing--80);
  padding-bottom: 0;
  border-radius: 0;
  color: inherit !important;
}
.main-header-image:not(:has(img)) span{
  display: none;
}*/

/* 背景画像ブロック内コンテンツの最大幅調整 */
/*.main-header-image div {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto !important;
}*/

/* ナビゲーション内サブメニューの左右パディング解除 */
.wp-block-navigation__responsive-container.is-menu-open 
  .wp-block-navigation__responsive-container-content 
  .has-child 
  .wp-block-navigation__submenu-container {
    padding-left: unset;
    padding-right: unset;
}


/* ログインボタン・ハンバーガーボタン */
nav.nav-header-sandwich .wp-block-navigation__responsive-container-open svg,
nav.nav-header-sandwich .wp-block-navigation__responsive-container-close svg {
  width: 2rem !important;
  height: 2rem !important;
}
a.nav-header-login,
a.nav-header-sns,
nav.nav-header-sandwich .wp-block-navigation__responsive-container-open,
nav.nav-header-sandwich .wp-block-navigation__responsive-container-close {
  all: unset;
  display: grid;
  place-content: center;
  place-items: center;
  width: 40px;
  aspect-ratio: 1;
  cursor: pointer;
}

/* ハンバーガー閉じるボタン */
nav.nav-header-sandwich .wp-block-navigation__responsive-container-close {
  position: absolute;
  top: calc(var(--header-nav-height) * -1);
  left: var(--wp--style--root--padding-left);
  background-color: var(--wp--preset--color--primary);
  z-index: 100000001;
}

/* --- ハンバーガーメニュー開時のメニュー全体設定 --- */
nav.nav-header-sandwich
 .wp-block-navigation__responsive-container {
  top: initial !important;
  width: 100%;
  height: calc(100dvh - var(--sandwich-top)) !important;
  padding: 0 !important;
  overflow: initial !important;
}
nav.nav-header-sandwich
.wp-block-navigation__responsive-close {
  max-width: none !important;
}
nav.nav-header-sandwich 
.wp-block-navigation__responsive-dialog {
  margin-top: 0 !important;
}

/* メニューコンテンツ部分の高さとスクロール */
nav.nav-header-sandwich
 .wp-block-navigation__responsive-container
  .wp-block-navigation__responsive-container-content {
  height: calc(100dvh - var(--sandwich-top));
  padding-inline: var(--wp--style--root--padding-left);
  overflow: auto;
}

/* 上段のアイコン付きメニュー */
.nav-header-global {
  margin-inline: auto;
}
.nav-header-global > * {
  width: 8em;
}

/* LINK */
nav.nav-header-sandwich a:not([href]):hover { text-decoration: none; }
nav.nav-header-sandwich .nav-header-menu a[href],
nav.nav-header-sandwich .nav-header-recommend a[href] span {
  position: relative;
  display: block;
  width: 100%;
  padding: calc(var(--wp--preset--spacing--20) / 2) 0 !important;
}
nav.nav-header-sandwich .nav-header-menu a[href] > span::after,
nav.nav-header-sandwich .nav-header-recommend a[href] span::after {
  content: "\F135";
  position: absolute;
  right: 0;
  font-family: "bootstrap-icons";
}

/* メニュー見出しの非表示 */
li.nav-header-recommend > :is(a, button),
li.nav-header-menu > :is(a, button) {
  display: none !important;
}

/*  */
nav.nav-header-sandwich
 .wp-block-navigation__responsive-container
  .wp-block-navigation__responsive-container-content
   .wp-block-navigation__container.nav-header-sandwich {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
}

/* おすすめ */
nav.nav-header-sandwich ul.nav-header-recommend {
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--40) !important;
  padding-top: 0 !important;
}
nav.nav-header-sandwich ul.nav-header-recommend > li {
  flex: 1 1 calc(50% - var(--wp--preset--spacing--40));
}
@media (1000px <= width) { 
  nav.nav-header-sandwich ul.nav-header-recommend > li {
    flex: 1 1 calc(25% - var(--wp--preset--spacing--40));
  }
}

/* メニュー */
nav.nav-header-sandwich ul.nav-header-sandwich:has(.nav-header-menu) {
  flex-direction: row !important;
  justify-content: space-between !important;
  gap: var(--wp--preset--spacing--60) !important;
  width: 100%;
}
nav.nav-header-sandwich ul.nav-header-sandwich:has(.nav-header-menu) > li {
  flex: 1 1 auto;
}
nav.nav-header-sandwich ul.nav-header-menu {
  width: 100% !important;
  padding-top: 0 !important;
}
nav.nav-header-sandwich ul.nav-header-menu-item {
  width: 100% !important;
  margin-bottom: var(--wp--preset--spacing--40);
  padding-top: var(--wp--preset--spacing--20) !important;
}





/* ===== Footer ===== */
footer {
  position: relative;
  bottom: 0;
  z-index: 0;

  @media (1000px <= width) { position: sticky; }

  &::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--wp--preset--spacing--60);
    border-radius: var(--wp--custom--radius-bottom-arc);
    background-color: var(--wp--preset--color--base);
    z-index:1;
  }
}

nav.nav-footer-menu {
  & > ul.nav-footer-menu {
    align-items: flex-start;

    & > li.nav-footer-menu-item {
      flex-wrap:wrap;
      flex: 1 1 100%;
      @media (600px <= width)  { flex: 1 1 calc(50% - var(--wp--preset--spacing--40)); }
      @media (1000px <= width) { flex: 1 1 calc(25% - var(--wp--preset--spacing--40)); }

      & > button {
        width: 100%;
        padding: calc(var(--wp--preset--spacing--20) / 2) 0;
        pointer-events: none;
        & + span { display: none;}
      }

      & > ul.nav-footer-menu-item {
        position: relative;
        width: 100%;
        height: auto;
        visibility: visible;
        opacity: 1;

        & a {
          position: relative;
          width: 100%;
          padding: calc(var(--wp--preset--spacing--20) / 2) 0;

          & > span::after {
            content: "\F135";
            position: absolute;
            right: 0;
            font-family: "bootstrap-icons";
          }
        }
      }
    }
  }
}

.nav-footer-bottom {
  & > nav.nav-footer-bottom-menu {
    margin-right: auto;
    & > ul.nav-footer-bottom-menu { row-gap: 0; }
  }
}





/* ===== Form ===== */

.form-label {
  display: inline-block;
  margin-bottom: var(--wp--preset--spacing--20);
  font-weight: var(--wp--custom--font-weight-normal);
}

.form-text {
  margin-top: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--small);
  color: var(--secondary-color);
}

.form-control,
.form-select  {
  --input-py: var(--wp--custom--form-py);
  --input-px: var(--wp--custom--form-px);
  --input-font-size: var(--wp--custom--form-font-size);
  &.form-sm {
    --input-py: var(--wp--custom--form-py-small);
    --input-px: var(--wp--custom--form-px-small);
    --input-font-size: var(--wp--custom--form-font-size-small);
  }
  &.form-lg {
    --input-py: var(--wp--custom--form-py-large);
    --input-px: var(--wp--custom--form-px-large);
    --input-font-size: var(--wp--custom--form-font-size-large);
  }

  display: block;
  width: 100%;
  padding: var(--input-py) var(--input-px);
  border: var(--wp--custom--border-width) var(--wp--custom--border-style) transparent;
  border-radius: var(--wp--custom--radius);
  background-color: var(--wp--preset--color--white);
  background-clip: padding-box;
  font-size: var(--input-font-size);
  color: var(--wp--preset--color--contrast);
  appearance: none;

  &:focus {
    border-color: var(--wp--custom--focus-ring-color);
    outline: 0;
    box-shadow: 0 0 0 var(--wp--custom--focus-ring-width) var(--wp--custom--focus-ring-color);
  }

  &:disabled { background-color: var(--wp--preset--color--base);}
}

.form-control{
  &::placeholder { color: var(--wp--preset--color--base); }

  textarea& { min-height: calc(10em + (var(--input-py) * 2) + (var(--wp--custom--border-width) * 2)); }
}

.form-select {
  padding-right: calc(var(--input-px) * 2);
  background-image:  url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
}

label:has(> .avoid-confirm)::after,
label:has(+ span > :is(.form-control, .form-select)[aria-required="true"])::after {
  content: '必須';
  display: inline-block;
  margin-left: var(--wp--preset--spacing--20);
  padding: calc(.1em  + .25rem) .65em;
  font-size: .75em;
  line-height: 1;
  white-space: nowrap;
  vertical-align: top;
  border-radius: var(--wp--custom--radius);
  background-color: var(--wp--preset--color--danger);
  color: var(--wp--preset--color--white);
}

.form-control-plaintext {
  --input-py: var(--wp--custom--form-py);
  --input-px: var(--wp--custom--form-px);
  display: block;
  width: 100%;
  padding: var(--input-py) 0;
  border: solid transparent;
  border-width: var(--wp--custom--border-width) 0;
  background-color: transparent;
  color: var(--wp--preset--color--contrast);

  &:focus { outline: 0; }
}

.form-check {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--40);

  & > * { margin: 0; }

  & input {
    --form-check-bg: var(--wp--preset--color--white);
    width: 1.618em;
    height: 1.618em;
    margin-right: .618em;
    vertical-align: top;
    background-color: var(--form-check-bg);
    background-image: var(--form-check-bg-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: var(--wp--custom--border-width) solid var(--wp--custom--border-color);
    appearance: none;
    -webkit-appearance: none;

    &[type=checkbox] { border-radius: .25em; }

    &[type=radio] { border-radius: 50%; }

    &:active { filter: brightness(90%); }

    &:focus {
      border-color: var(--wp--custom--focus-ring-color);
      outline: 0;
      box-shadow: 0 0 0 var(--wp--custom--focus-ring-width) var(--wp--custom--focus-ring-color)
    }

    &:checked {
      background-color: var(--wp--preset--color--primary);
      border-color: var(--wp--preset--color--primary);

      &[type=checkbox] { --form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); }

      &[type=radio] { --form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); }
    }

    /*&[type=checkbox]:indeterminate {
      background-color: #0d6efd;
      border-color: #0d6efd;
      --form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
    }*/
  }
}


/* ===== Table ===== */

figure.table {
  --table-color-type: initial;
  --table-bg-type: initial;
  --table-color-state: initial;
  --table-bg-state: initial;
  --table-color: var(--wp--preset--color--contrast);
  --table-bg: initial;
  --table-border-color: var(--wp--custom--border-color);

  & table {
    width: 100%;
    vertical-align: top;
    border-color: var(--table-border-color);
    border-collapse: collapse;

    & > :not(caption) {
      border-color: var(--table-border-color);

      & > * > * {
        padding: var(--wp--preset--spacing--30);
        color: var(--table-color-state, var(--table-color-type, var(--table-color)));
        background-color: var(--table-bg);
        border-bottom-width: var(--wp--custom--border-width);
      }
    }

    & tbody { vertical-align: inherit; }
    & thead { vertical-align: bottom; }
  }

  &.table-group-divider table { border-top: calc(var(--wp--custom--border-width) * 2) solid currentcolor; }

  &.caption-top caption { caption-side: top; }

  &.table-0 table > :not(caption) > * > * { padding: 0; }
  &.table-sm table > :not(caption) > * > * { padding: var(--wp--preset--spacing--20); }
  &.table-row-sm table > :not(caption) > * > * { padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); }
  &.table-lg table > :not(caption) > * > * { padding: var(--wp--preset--spacing--40); }

  &.table-bordered table {
    border-top: var(--wp--custom--border-width) var(--wp--custom--border-style) var(--wp--custom--border-dark-color);
    > :not(caption) > *:not(:first-child) { border-width: var(--wp--custom--border-width) 0 0 0; }
    > :not(caption) > * > *:not(:last-child) { border-width: 0 var(--wp--custom--border-width) 0 0; }
    > :not(caption) > * > *:last-child { border-width: 0; }
  }

  &.table-borderless table {
    > :not(:first-child) { border-top-width: 0; }
    > :not(caption) > * > * { border-bottom-width: 0; }
    > :not(caption) > * > *:first-child { padding-left: 0; }
    > :not(caption) > * > *:last-child { padding-right: 0; }
  }

  &.table-fixed table { table-layout: fixed; }

  /* date */
  &.table-date table > :not(caption) > * > th {
    &:nth-child(-n+2) {
      width: max(10vw, 6ch);
      text-align: right;
      white-space: nowrap;
    }
    &:nth-child(1) {
      padding-right: 0;
      border-right: 0;
    }
    &:nth-child(2) {
      padding-right: calc(max(0px, 10vw - 6ch) + var(--wp--preset--spacing--30));
      padding-left: 0;
    }
  }

}



/*  */
.pseudo-table-slim {
  display: grid;
  grid-template-columns: 1fr 1.618fr;
  gap: 1px;
  border-top: var(--wp--custom--border-width) var(--wp--custom--border-style) var(--wp--custom--border-dark-color);
  background-color: var(--wp--custom--border-color);

  > * {
    background-color: var(--wp--preset--color--base);
    padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  }
}



#wpcf7cpcnf table,
.pseudo-table {
  width: 100%;
  border-top: var(--wp--custom--border-width) var(--wp--custom--border-style) var(--wp--custom--border-dark-color);

  > * {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));

    &:not(:first-child) { border-top: var(--wp--custom--border-width) var(--wp--custom--border-style) var(--wp--custom--border-color);}

    > * {
      padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
      background-color: var(--wp--preset--color--base);

      &:not(:last-child) { border-right: var(--wp--custom--border-width) var(--wp--custom--border-style) var(--wp--custom--border-color);}
    }

    &.thead {
      border-bottom: var(--wp--custom--border-width) var(--wp--custom--border-style) var(--wp--custom--border-color);
    }
  }

  &
}



.responsive-block { 
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.responsive-block > * {
  min-width: 860px;
  margin-bottom: 0;
}
.responsive-block > * > *:first-child { 
  position: sticky;
  top:0;
  left:0;
}




/**
 * Utility
 * 
 */

/* position */
.static { position: static;}
.relative { position: relative;}
.absolute { position: absolute;}
.fixed { position: fixed;}
.sticky { position: sticky;}
.top-0 { top: 0; }
.bottom-0 { bottom: 0; }
.right-0 { right: 0; }
.left-0 { left: 0; }

/* display */
.inline { display: inline;}
.inline-block { display: inline-block;}
.block { display: block;}
.grid { display: grid;}
.flex { display: flex;}
.none { display: none !important;}


/* mix-blend-mode */
.multiply { mix-blend-mode: multiply; }

/* aspect */
.ratio-1\/1 {
  aspect-ratio: 1/1;
  object-fit: contain;
}


/*grid*/
.grid-column { grid-auto-flow: column;}
.grid-row-dense { grid-auto-flow: row dense;}
.grid-column-fixed { grid-template-columns: repeat(auto-fit, minmax(0, 1fr));}


@media print, (600px <= width)  {
.row-cols-100 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 100px), 1fr));}
.row-cols-150 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr));}
.row-cols-200 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));}
.row-cols-250 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));}
.row-cols-300 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));}
.row-cols-350 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 350px), 1fr));}
.row-cols-400 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 400px), 1fr));}
.row-cols-450 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 450px), 1fr));}
.row-cols-500 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 500px), 1fr));}
.row-cols-550 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 550px), 1fr));}
.row-cols-600 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 600px), 1fr));}
.row-cols-fit-100 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 100px), 1fr));}
.row-cols-fit-150 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));}
.row-cols-fit-200 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));}
.row-cols-fit-250 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));}
.row-cols-fit-300 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));}
.row-cols-fit-350 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 350px), 1fr));}
.row-cols-fit-400 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));}
.row-cols-fit-450 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 450px), 1fr));}
.row-cols-fit-500 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 500px), 1fr));}
.row-cols-fit-550 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 550px), 1fr));}
.row-cols-fit-600 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 600px), 1fr));}
}

.jc-start { justify-content: start;} /*水平方向に真ん中*/
.jc-center { justify-content: center;} /*水平方向に真ん中*/
.jc-between { justify-content: space-between;} /*両端*/
.jc-end { justify-content: end;} /**/

.ac-start { align-content: start;} /*水平方向に真ん中*/
.ac-center { align-content: center;} /*水平方向に真ん中*/
.ac-between { align-content: space-between;} /*両端*/
.ac-end { align-content: end;} /**/

.as-center {align-self: center;}

.ai-start { align-items: start;} /*水平方向に真ん中*/
.ai-center { align-items: center;} /*垂直方向に真ん中*/
.ai-baseline { align-items: baseline ;} /*垂直方向にベースライン*/
.ai-end { align-items: end;} /*垂直方向に下*/
.ai-stretch { align-items: stretch;} /**/

.ai-flex-start { align-items: flex-start;}
.ai-flex-end { align-items: flex-end;}

.as-center {align-self: center;}

.order-first { order: -999;}
.order-last { order: 999;}
.rounded { border-radius: var(--wp--custom--radius); }

.mx-auto { margin-inline: auto; }

.fs-xs  { font-size: var(--wp--preset--font-size--x-small);}
.fs-sm  { font-size: var(--wp--preset--font-size--small);}
.fs-md  { font-size: var(--wp--preset--font-size--medium);}
.fs-lg  { font-size: var(--wp--preset--font-size--large);}
.fs-xl  { font-size: var(--wp--preset--font-size--x-large);}
.fs-xxl { font-size: var(--wp--preset--font-size--xx-large);}

/* Spacing */
.mt-auto { margin-top: auto; !important;}
.mb-auto { margin-bottom: auto; !important;}
.me-auto { margin-right: auto; !important;}
.ms-auto { margin-left: auto; !important;}

.gap-0   { gap: 0;}
.gap-20  { gap: var(--wp--preset--spacing--20);}
.gap-30  { gap: var(--wp--preset--spacing--30);}
.gap-40  { gap: var(--wp--preset--spacing--40);}
.gap-50  { gap: var(--wp--preset--spacing--50);}
.gap-60  { gap: var(--wp--preset--spacing--60);}
.gap-70  { gap: var(--wp--preset--spacing--70);}
.gap-80  { gap: var(--wp--preset--spacing--80);}

.backdrop-blur-100 { backdrop-filter: blur(100px); }

.pointer-none,
.pointer-none a {
  pointer-events: none;
  color: inherit;
  text-decoration: none !important;
}

.text-decoration-none,
.text-decoration-none:hover,
.text-decoration-none a,
.text-decoration-none a:hover {
  text-decoration: none !important;
}

.text-decoration-none:hover,
.text-decoration-none a:hover {
  color: var(--wp--preset--color--primary);
} 


.content-center {
  display: grid;
  place-content: center;
  place-items: center;
  /*gap: var(--wp--preset--spacing--50);*/
}
.content-over {
  max-width: none !important;
  margin-inline: calc(50% - 50vw) !important;
  padding-left: var(--wp--style--root--padding-left) !important;
  padding-right: var(--wp--style--root--padding-right) !important;
}
.content-over > * {
  max-width: var(--wp--style--global--content-size) !important;
  margin-inline: auto !important;
}



.no-image {
  aspect-ratio: 1.618/1;
  display: grid;
  place-content: center;  
  background-color:  var(--wp--preset--color--gray-100);
}
/*body:is(.page-cars, .single-car, .front-price) .no-image { aspect-ratio: 1/1; }*/

/*.hover-up { transition: transform 0.3s ease, box-shadow 0.3s ease; }*/
.hover-up:hover { transform: translateY(-1rem); }
.hover-up:hover a { text-decoration: underline; }



/**
 * COMMON
 *
 */



/**
 * フロント
 * 
 */



/* COMMON */



/* Car */


.table-price{ container-type: inline-size; }
.table-price :is(td,th):nth-child(2) {
  display: flex;
  justify-content: flex-end;
  padding-inline-end: max(var(--wp--preset--spacing--20), calc((100cqw - 400px) / 1.5)) !important;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}





/* sidebar */
/*.sidebar .wp-block-details { border-radius: 1rem; }
.sidebar .wp-block-details summary,
.sidebar .wp-block-archives-list,
.sidebar .wp-block-categories-list { list-style: none; }
.sidebar .wp-block-archives-list > *, .wp-block-categories-list > * { padding: .375rem 0; }*/





/*
a.hover-up,
.hover-up a { transition: transform 0.3s ease, box-shadow 0.3s ease; }
a.hover-up:hover,
.hover-up:hover a { transform: translateY(-1rem); }
*/









/**
 * Shop
 * 
 */

















/**
 * Car
 * 
 */











/**
 * Price
 * 
 */












.bi-fw {
  display: inline-block;
  width: 1.25em;
  text-align: center;
}
.bi-ms { margin-left: .25em; }
.bi-me { margin-right: .25em; }







.wp-block-tiptip-hyperlink-group-block,
.wp-block-tiptip-hyperlink-group-block:hover {
  text-decoration: none !important;
}
.wp-block-tiptip-hyperlink-group-block:hover {
  color: var(--wp--preset--color--primary);
} 


.wpcf7 form .wpcf7-response-output { visibility: hidden !important; }

div#wpcf7cpcnf {
  position: relative;
  top: calc(40px + var(--wp--preset--spacing--60));
}
.wpcf7cp-form-hide {
  height:0;
  overflow:hidden;
}


.btn-webyoyaku,
.btn-block {
  display: inline-flex;
  align-items: center;
  column-gap: 0.5em;
  padding: .618rem 1.618rem;
  border: 0;
  border-radius: 50rem;
  background-color: var(--wp--preset--color--gray-700);
  color: var(--wp--preset--color--white, hsl(210 0% 100%));
  text-decoration: none;
  transition: all 0.3s ease 0s;
  cursor: pointer;

  &::after {
	content: '\F135';
    font-family: "bootstrap-icons";
  }

  &:is(:hover,:focus),
  &:is(:hover,:focus) {
    background-color: var(--wp--preset--color--primary, color-mix(in oklab, var(--wp--preset--color--indigo) 85%, var(--wp--preset--color--black) 15%));
    color: #ffffff;
  }
}


/* swiper */
.swiper {
  visibility: hidden;
}
.swiper.swiper-initialized {
  visibility: visible;
}

