/*
** .header
*/

.header {
  container-type: inline-size; /* コンテナクエリ */
  container-name: header;
}

.header__inner {
  min-height: calc((110 / var(--standard-font-size)) * 1em);
  padding: calc((25 / var(--standard-font-size)) * 1em) calc((36 / var(--standard-font-size)) * 1em) calc((13 / var(--standard-font-size)) * 1em);
  width: 100%;
}

body[data-group^="corp"] .header__inner {
  grid-template-columns: calc((290 / var(--standard-font-size)) * 1em) 1fr;
  grid-column-gap: calc((20 / var(--standard-font-size)) * 1em);
  height: auto;
}

body:not([data-group^="corp"]) .header__inner {
  grid-template-columns: max-content 1fr;
  grid-gap: calc((5 / var(--standard-font-size)) * 1em);
  height: auto;
}


/*
** .header__global
*/

.header__global {
  align-self: center;
}

.header__global a {
  grid-row-gap: calc((14 / var(--standard-font-size)) * 1em);
}


/*
** .header__local
*/

.header__local {
  display: block;
}

.header__local-inner {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-row-gap: calc((16 / var(--standard-font-size)) * 1em);
  width: 100%;
}

.header__local-nav {
  grid-column: unset;
  grid-row: unset;
  grid-template-columns: calc((151 / var(--standard-font-size)) * 1em) calc((288 / var(--standard-font-size)) * 1em) max-content;
  grid-template-rows: max-content;
  grid-column-gap: calc((14 / var(--standard-font-size)) * 1em);
  align-items: center;
}

.header__local-logo {
  grid-column: unset;
  grid-row: unset;
}

.header__local-copy img {
  vertical-align: middle;
}

@container header (max-width: 75em) {
  body:not([data-group^="corp"]) .header__inner {
    grid-template-columns: minmax(auto, 1fr) 1fr;
  }

  .header__local-nav {
    grid-template-columns: minmax(auto, calc((220 / var(--standard-font-size)) * 1em)) max-content;
  }

  .header__local-copy {
    order: -1;
  }

  .header__local-home {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}

.header__local-group {
  font-size: calc((32 / var(--standard-font-size)) * 1em) !important;
}

.header__local-group span {
  display: inline-block;
}


/*
** #menu-toggle
*/

#menu-toggle {
  display: none;
}


/*
** .header__drawer
*/

/* ドロワー全体 */

.header__drawer {
  position: static;
  display: block;
  background-color: unset;
  container-type: inline-size; /* コンテナクエリ */
  container-name: header-drawer;
}

.header__global ~ .header__menu .header__drawer {
  height: auto;
}

.header__local ~ .header__menu .header__drawer {
  height: auto;
}

.header__drawer-inner {
  padding-top: 0;
  padding-bottom: 0;
}

.header__nav {
  grid-row-gap: calc((15 / var(--standard-font-size)) * 1em);
  overflow: visible;
  padding-left: 0;
  padding-right: 0;
}


/* コンテンツメニュー */

.header__contents-menu {
  display: block;
  width: fit-content;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  text-align: right;
  margin-left: auto;
}

.header__local ~ .header__menu .header__contents-menu {
  background-color: var(--light);
  border-radius: calc((18 / var(--standard-font-size)) * 1em);
  padding: calc((5 / var(--standard-font-size)) * 1em) calc((30 / var(--standard-font-size)) * 1em);
}

.header__contents-menu .menu-item.menu-trigger {
  position: relative;
}

.header__global ~ .header__menu .header__contents-menu .menu-item.menu-item-privacy-policy {
  display: none;
}

.header__contents-menu .menu-item {
  display: inline-block;
  border-top: none;
}

.header__contents-menu > .menu-item:not(:first-child) {
  margin-left: calc((35 / var(--standard-font-size)) * 1em);
}

.header__contents-menu .menu-item a:hover,
.header__contents-menu .menu-item.menu-trigger:hover > a {
  color: var(--main);
}

.header__contents-menu .menu-item a::after {
  content: '\f0da';
  left: 0;
  right: unset;
  display: block !important;
  font-weight: 700;
  opacity: 0;
  transition: var(--transition);
}

.header__contents-menu .menu-item a:hover::after,
.header__contents-menu .menu-item.menu-trigger:hover > a::after {
  opacity: 1;
}

.header__contents-menu > .menu-item > a {
  font-size: calc((15 / var(--standard-font-size)) * 1em);
  font-weight: normal;
  color: inherit;
  padding: calc((7 / var(--standard-font-size)) * 1em) 0  calc((7 / var(--standard-font-size)) * 1em) calc((12 / var(--standard-font-size)) * 1em);
}

.header__contents-menu > .menu-item:last-child {
  border-bottom: none;
}

.header__contents-menu .sub-menu {
  visibility: hidden;
  position: absolute;
  top: calc((((7 / var(--standard-font-size)) * 1em) * 2) + ((13 / var(--standard-font-size)) * 1em));
  left: 0;
  z-index: var(--z-index--low);
  width: max-content;
  text-align: left;
  opacity: 0;
  transition: var(--transition);
  padding-top: 1em;
}

.header__contents-menu .menu-trigger:hover > .sub-menu {
  visibility: visible;
  opacity: 1;
}

.header__contents-menu .sub-menu > .menu-item {
  background-color: #fff;
  border-bottom: 0.1rem solid #C8C8C8;
}

.header__contents-menu .sub-menu > .menu-item > a {
  font-size: calc((14 / var(--standard-font-size)) * 1em);
  padding: calc((15 / var(--standard-font-size)) * 1em) calc((12 / var(--standard-font-size)) * 1em);
  margin-left: calc((15 / var(--standard-font-size)) * 1em);
}



/* アクションメニュー（フォントスイッチ・電話番号・メール問い合わせ） */

.header__action-menu {
  order: -1;
  display: flex !important;
  column-gap: calc((30 / var(--standard-font-size)) * 1em);
  justify-content: right;
  align-items: center;
}

.header__font-switch {
  display: flex;
  align-items: center;
}

.header__font-switch-title {
  font-weight: 500;
  white-space: nowrap;
  margin-right: 1em;
}

.header__font-switch-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc((30 / var(--standard-font-size)) * 1em);
  height: calc((30 / var(--standard-font-size)) * 1em);
  color: #fff;
  border-radius: calc((5 / var(--standard-font-size)) * 1em);
  border: none;
  transition: var(--transition);
}

.header__font-switch-button + .header__font-switch-button {
  margin-left: calc((10 / var(--standard-font-size)) * 1em);
}

.header__font-switch-button[disabled] {
  background-color: var(--main);
}

.header__font-switch-button:not([disabled]) {
  background-color: #C8C8C8;
}

.header__font-switch-button--mid span {
  font-size: calc(var(--standard-font-size) * 0.1rem);
}

.header__font-switch-button--max span {
  font-size: calc(var(--standard-font-size) * 0.12rem);
}

@media (hover: hover) and (pointer: fine) {
  .header__font-switch-button:not([disabled]) {
    cursor: pointer;
  }

  .header__font-switch-button:not([disabled]):hover {
    background-color: var(--main);
  }
}

.header__global + .header__menu .header__privacypolicy {
  order: -1;
}

.header__inquiry {
  grid-row-gap: calc((3 / var(--standard-font-size)) * 1em);
}

.header__inquiry-tel-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto);
  grid-auto-rows: max-content;
  grid-column-gap: calc((10 / var(--standard-font-size)) * 1em);
}

.header__inquiry-tel-label {
  font-size: calc((11 / var(--standard-font-size)) * 1em);
}

.header__inquiry-tel + .header__inquiry-tel-label {
  margin-top: 0;
}

*:not(.header__inquiry-tel-list) > .header__inquiry-tel a {
  font-size: calc((25 / var(--standard-font-size)) * 1em);
}

.header__inquiry-tel-list > .header__inquiry-tel a {
  font-size: calc((20 / var(--standard-font-size)) * 1em);
}

.header__inquiry-page a {
  font-size: calc((13 / var(--standard-font-size)) * 1em);
  border-radius: calc((4 / var(--standard-font-size)) * 1em);
  padding: calc((4 / var(--standard-font-size)) * 1em) calc((15 / var(--standard-font-size)) * 1em);
}

@container header-drawer (max-width: 50em) {
  .header__action-menu {
    display: grid !important;
    grid-template-columns: auto auto;
    grid-row-gap: calc((10 / var(--standard-font-size)) * 1em);
  }

  .header__inquiry {
    grid-column: 1/3;
    grid-row: 2/3;
  }

  *:not(.header__inquiry-tel-list) > .header__inquiry-tel {
    text-align: right;
  }
}

@container header-drawer (max-width: 38.25em) {
  .header__contents-menu .sub-menu {
    left: unset;
    right: 0;
  }
}