/* Document
* ========================================================================== */
/**
* Add border box sizing in all browsers (opinionated).
*/
*,
::before,
::after {
  box-sizing: border-box;
}

/**
* 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. Use a 4-space tab width in all browsers (opinionated).
* 4. Remove the grey highlight on links in iOS (opinionated).
* 5. Prevent adjustments of font size after orientation changes in
*    IE on Windows Phone and in iOS.
* 6. Breaks words to prevent overflow in all browsers (opinionated).
*/
html {
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
      tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

/* Sections
* ========================================================================== */
/**
* Remove the margin in all browsers (opinionated).
*/
body {
  margin: 0;
  font-size: 16px;
}

/**
* 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, IE, and Safari.
*/
/**
* Remove the margin on nested lists in Edge 18- and IE.
*/
/**
* 1. Add the correct sizing in Firefox.
* 2. Show the overflow in Edge 18- and IE.
*/
hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
* Add the correct display in IE.
*/
main {
  display: block;
}

/**
* Remove the list style on navigation lists in all browsers (opinionated).
*/
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

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

/* Text-level semantics
* ========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
  background-color: transparent;
}

/**
* Add the correct text decoration in Edge 18-, IE, and 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;
}

/**
* Add the correct display in IE 9-.
*/
audio,
video {
  display: inline-block;
}

/**
* Add the correct display in iOS 4-7.
*/
audio:not([controls]) {
  display: none;
  height: 0;
}

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

/**
* Remove the border on images within links in IE 10-.
*/
img {
  border-style: none;
}

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

/**
* Hide the overflow in IE.
*/
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
* ========================================================================== */
/**
* Collapse border spacing in all browsers (opinionated).
*/
table {
  border-collapse: collapse;
}

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

/**
* 1. Show the overflow in IE.
* 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
*/
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

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

/**
* 1. Change the inconsistent appearance in all browsers (opinionated).
* 2. Correct the padding in Firefox.
*/
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
* Show the overflow in Edge 18- and IE.
*/
input {
  overflow: visible;
}

/**
* 1. Correct the text wrapping in Edge 18- and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
*/
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
* 1. Add the correct display in Edge 18- and IE.
* 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
*/
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
* Remove the inheritance of text transform in Firefox.
*/
select {
  text-transform: none;
}

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

/**
* Remove the padding in IE 10-.
*/
[type=checkbox],
[type=radio] {
  padding: 0;
}

/**
* 1. Correct the odd appearance in Chrome, Edge, and Safari.
* 2. Correct the outline style in Safari.
*/
[type=search] {
  -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 */
}

/**
* Remove the inner border and padding of focus outlines in Firefox.
*/
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
* Restore the focus outline styles unset by the previous rule in Firefox.
*/
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
* Remove the additional :invalid styles in Firefox.
*/
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
* ========================================================================== */
/*
* Add the correct display in Edge 18- and IE.
*/
details {
  display: block;
}

/*
* Add the correct styles in Edge 18-, IE, and Safari.
*/
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  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 all browsers.
*/
summary {
  display: list-item;
}

/* Scripting
* ========================================================================== */
/**
* Add the correct display in IE 9-.
*/
canvas {
  display: inline-block;
}

/**
* Add the correct display in IE.
*/
template {
  display: none;
}

/* User interaction
* ========================================================================== */
/*
* 1. Remove the tapping delay in IE 10.
* 2. Remove the tapping delay on clickable elements
  in all browsers (opinionated).
*/
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] { /* 1 */
  touch-action: manipulation; /* 2 */
}

/**
* Add the correct display in IE 10-.
*/
[hidden] {
  display: none;
}

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

/*
* Change the cursor on control elements in all browsers (opinionated).
*/
[aria-controls] {
  cursor: pointer;
}

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

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

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

html {
  cursor: auto;
  line-height: 1;
}

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

p {
  margin: 0;
}

blockquote {
  margin: 0;
}

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

dl,
dd {
  margin: 0;
}

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

pre {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

rt {
  letter-spacing: 0;
}

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

img {
  max-width: 100%;
  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-family: inherit;
  font-size: 100%;
  line-height: inherit;
}

button {
  border-radius: 0;
}

button:not(:disabled),
[role=button],
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

body {
  background: var(--color-white);
  font-family: var(--font-sans);
  line-height: 2.2;
  font-weight: 400;
  letter-spacing: 0.025em;
  color: var(--color-black);
}

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

:not(.-is-ios) a:hover,
:not(.-is-ios) button:hover,
:not(.-is-ios) [type=button]:hover,
:not(.-is-ios) [type=reset]:hover,
:not(.-is-ios) [type=submit]:hover {
  opacity: var(--transition-opacity);
}

@media (max-width:767px) {
  a:hover{
    opacity: 1 !important;
  }
}

:root {
  --icon-arrow-right: 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%22m11.8%208-5-5-1.5%201.5L8.8%208l-3.5%203.5L6.8%2013z%22%2F%3E%3C%2Fsvg%3E");
  --icon-arrow: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2057.01%2036.13%22%3E%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%3E%3Cpolygon%20points%3D%2237.05%2023.67%2043.86%2018.05%2036.82%2012.31%2037.05%2023.67%22%2F%3E%3Cline%20x1%3D%2240.17%22%20y1%3D%2218.06%22%20x2%3D%22.5%22%20y2%3D%2218.06%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23000%3B%20stroke-linecap%3Around%3B%20stroke-linejoin%3Around%3B%22%2F%3E%3Ccircle%20cx%3D%2238.95%22%20cy%3D%2218.06%22%20r%3D%2217.56%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23000%3B%20stroke-linecap%3Around%3B%20stroke-linejoin%3Around%3B%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  --color-white: #fff;
  --color-black: #333;
  --color-black-b: #000;
  --color-gray: #999;
  --color-gray-light: #F4F3F2;
  --color-gray-pale: #f6f6f6;
  --color-red: #BB4630;  
  --color-blue: #2267a6;  
  --color-blue-light: #86b3e0; 
  --color-yellow: #fada7a; 
  --font-sans: 'Noto Sans JP', sans-serif;
  --font-vista: "vista-sans", sans-serif;
  --transition-duration: 0.15s;
  --transition-opacity: 0.65;
  --font-10: 10px;
  --font-11: clamp(11px, 0.9197324415vw, 11px);
  --font-12: clamp(11px, 1.0033444816vw, 12px);
  --font-13: clamp(12px, 1.0869565217vw, 13px);
  --font-14: clamp(12px, 1.1705685619vw, 14px);
  --font-15: clamp(13px, 1.254180602vw, 15px);
  --font-16: clamp(13px, 1.3377926421vw, 16px);
  --font-17: clamp(14px, 1.4214046823vw, 17px);
  --font-18: clamp(14px, 1.5050167224vw, 18px);
  --font-19: clamp(15px, 1.5886287625vw, 19px);
  --font-20: clamp(15px, 1.6722408027vw, 20px);
  --font-21: clamp(16px, 1.7558528428vw, 21px);
  --font-22: clamp(16px, 1.8394648829vw, 22px);
  --font-23: clamp(17px, 1.9230769231vw, 23px);
  --font-24: clamp(17px, 2.0066889632vw, 24px);
  --font-25: clamp(18px, 2.0903010033vw, 25px);
  --font-26: clamp(18px, 2.1739130435vw, 26px);
  --font-27: clamp(19px, 2.2575250836vw, 27px);
  --font-28: clamp(19px, 2.3411371237vw, 28px);
  --font-29: clamp(20px, 2.4247491639vw, 29px);
  --font-30: clamp(20px, 2.508361204vw, 30px);
  --font-31: clamp(21px, 2.5919732441vw, 31px);
  --font-32: clamp(21px, 2.6755852843vw, 32px);
  --font-33: clamp(22px, 2.7591973244vw, 33px);
  --font-34: clamp(22px, 2.8428093645vw, 34px);
  --font-35: clamp(23px, 2.9264214047vw, 35px);
  --font-36: clamp(23px, 3.0100334448vw, 36px);
  --font-37: clamp(24px, 3.0936454849vw, 37px);
  --font-38: clamp(24px, 3.1772575251vw, 38px);
  --font-39: clamp(25px, 3.2608695652vw, 39px);
  --font-40: clamp(25px, 3.3444816054vw, 40px);
  --font-41: clamp(26px, 3.4280936455vw, 41px);
  --font-42: clamp(26px, 3.5117056856vw, 42px);
  --font-43: clamp(27px, 3.5953177258vw, 43px);
  --font-44: clamp(27px, 3.6789297659vw, 44px);
  --font-45: clamp(28px, 3.762541806vw, 45px);
  --font-46: clamp(28px, 3.8461538462vw, 46px);
  --font-47: clamp(29px, 3.9297658863vw, 47px);
  --font-48: clamp(29px, 4.0133779264vw, 48px);
  --font-49: clamp(30px, 4.0969899666vw, 49px);
  --font-50: clamp(30px, 4.1806020067vw, 50px);
  --font-51: clamp(31px, 4.2642140468vw, 51px);
  --font-52: clamp(31px, 4.347826087vw, 52px);
  --font-53: clamp(32px, 4.4314381271vw, 53px);
  --font-54: clamp(32px, 4.5150501672vw, 54px);
  --font-55: clamp(33px, 4.5986622074vw, 55px);
  --font-56: clamp(33px, 4.6822742475vw, 56px);
  --font-57: clamp(34px, 4.7658862876vw, 57px);
  --font-58: clamp(34px, 4.8494983278vw, 58px);
  --font-59: clamp(35px, 4.9331103679vw, 59px);
  --font-60: clamp(35px, 5.016722408vw, 60px);
  --font-70: clamp(40px, 5.8528428094vw, 70px);
  --content-size-small: clamp(0px, 53.6764705882vw, 730px);
  --content-size-medium: clamp(0px, 83.4558823529vw, 1200px);
  --content-size-large: min(95vw, 1300px);
  --content-size-fluid: 92vw;
  }
  @media (max-width: 768px) {
  :root {
      --content-size-small: 90vw;
      --content-size-medium: 90vw;
      --content-size-large: 90vw;
      --content-size-xlarge: 90vw;
  }
}

._d-none {
  display: none !important;
}
._d-block {
  display: block !important;
}
@media (min-width: 461px) {
  ._d-ssm-none {
    display: none !important;
  }
  ._d-ssm-block {
    display: block !important;
  }
}
@media (min-width: 561px) {
  ._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: 961px) {
  ._d-lg-none {
    display: none !important;
  }
  ._d-lg-block {
    display: block !important;
  }
}
@media (min-width: 1001px) {
  ._d-llg-none {
    display: none !important;
  }
  ._d-llg-block {
    display: block !important;
  }
}
@media (min-width: 1201px) {
  ._d-xl-none {
    display: none !important;
  }
  ._d-xl-block {
    display: block !important;
  }
}

/* ローディング画面 */
#loading{
  background-color: var(--color-blue-light);
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
}

/** ==================================================
* header
* ================================================ */
#header_fixed{
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--color-white);
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.15);
}
.header{
  z-index: 1;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: clamp(80px, 6.976744186vw, 120px);
  padding: 0 clamp(0px, 1.1627906977vw, 20px);
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.15);
}
@media (max-width:990px){
  .header{
    display: none;
  }
}
.header  > .brand{
  flex: 0 0 auto;
}
.header  > .brand > a{
  display: flex;
  align-items: center;
}
.header > .brand > a:hover{
  opacity: 1;
}
.header  > .brand > a > h1{
  font-size: var(--font-30);
  font-weight: bold;
  padding-right: 1em;
}
.header > nav{
  flex: 1 1 0%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: clamp(0px, 1.7441860465vw, 30px);
}
.nav{
  display: flex;
  margin: 0;
  padding: 0;
  line-height: 1;
  list-style: none;
  gap: clamp(14px, 1.9230769231vw, 23px);
  font: 700 var(--font-15)/1 var(--font-sans);
  letter-spacing: 0;
}
.nav_li{
  /* display: flex; */
  margin: 0;
}
.nav_li.-typeA{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1.25;
  position: relative;
}
.nav_li.-typeA::after{
  content: attr(data-text);
  color: var(--color-blue);
  opacity: 0.6;
  font-size: 14px;
  padding-top: 5px;
  width: 100%;
  transition: all .4s;
}
.nav_li.-typeA:hover:after{
  transition: all .4s;
  color: var(--color-red-b);
}
.header > nav > .nav > a{
  display: flex;
  justify-content: center;
  text-decoration: none;
  color: inherit;
  white-space: nowrap;
  font-size: 16px;
  transition: all .4s;
}
.header > nav > .nav > a:hover{
  color: var(--color-blue);
  opacity: 1;
  transition: all .4s;
}
.header_contact > a{
  width: 100%;
  border-radius: 0 0 10px 10px;
  background-color: var(--color-blue);
  color: #fff;
  padding: 20px 10px 15px;
  display: block;
  transform: translateY(-10px);
  overflow: hidden;
  transition: all .4s;
}
.header_contact > a:hover{
  opacity: .65;
  transition: all .4s;
}
.header_contact > a > p{
  font-size: var(--font-12);
  text-align: center;
  line-height: 1.4;
}
.header_contact > a > img{
  margin: .2em auto;
  padding: 5px 0;
}


/* スマホメニュー */
.g_nav{
display: none;
}
@media (max-width:990px) {
  .g_nav{
    display: block;
  }
}
#g-nav{
  position:fixed;
  z-index: -1000;
  opacity: 0;
  top:0;
  left: 0;
  width:100%;
  height: 100vh;
  background: var(--color-gray-light);
  transition: all 0.3s;
}
.g_nav--container{
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1980px;
  margin: 0 auto 5em;
  padding: 0 0 0 15px;
  position: relative;
}
_::-webkit-full-page-media, _:future, :root .g_nav--container{
  margin: 0 auto 5em;
}
#g-nav.panelactive{
  opacity: 1;
  z-index: 999;
}
#g-nav.panelactive #g-nav-list{
  position: fixed;
  z-index: 999; 
  width:100vw;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#g-nav ul.g-nav-ul {
  display: none;/*はじめは非表示*/
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  width: 100%;
  z-index: 999;
  top:40%;
  left:50%;
  transform: translate(-50%,-50%);
  font-size: 18px;
}
#g-nav ul.g-nav-ul h1{
  display: flex;
  justify-content: center;
}
#g-nav.panelactive ul {
  display: block;
}
#g-nav li{
  list-style: none;
  text-align: center; 
  line-height: 1.5;
}
#g-nav li a{
  color: #333;
  text-decoration: none;
  padding:10px;
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
}
#g-nav-list > .inner > ul.sns_icon{
  position: absolute;
  z-index: 999;
  top: 75%;
  left: 50%;
  transform: translate(-50%,-50%);
  display: flex;
}
.openbtn{
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  background:var(--color-blue);
  cursor: pointer;
  width: 70px;
  height:70px;
}
.openbtn span{
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 27%;
  height: 2px;
  border-radius: 5px;
  background: var(--color-white);
  width: 45%;
}
.openbtn span:nth-of-type(1) {
  top:15px;	
}
.openbtn span:nth-of-type(2) {
  top:21px;
}
.openbtn span:nth-of-type(3) {
  top:28px;
}
.openbtn span:nth-of-type(3)::after {
  content:"Menu";
  position: absolute;
  top:15px;
  left:0;
  color: var(--color-white);
  font-size: 0.6rem;
  text-transform: uppercase;
  width: 35px;
}
.openbtn.active span.line:nth-of-type(1) {
  top: 20px;
  left: 24px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}
.openbtn.active span.line:nth-of-type(2) {
  opacity: 0;
}
.openbtn.active span.line:nth-of-type(3){
  top: 32px;
  left: 24px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}
.openbtn.active span.line:nth-of-type(3)::after {
  content:"Close";
  transform: translateY(0) rotate(-45deg);
  top:10px;
  left:10px;
  width: 40px;
}

.header_logo{
  width: 100%;
  position: absolute;
  top: 7px;
  right: 0;
}
.header_logo > .brand{
  font-size: 25px;
  font-weight: bold;
}
.header_logo > .brand >a{
  display: flex;
  align-items: center;
  transition: all .4s;
}

@media (max-width:990px) {
  .header_logo{
    top: 23px;
  }
  .header_logo > .brand >a{
    margin-left: 1em;
  }
  .header_logo > .brand >a>.logo>img{
    width: 180px;
    max-width: 100%;
  }

}

@media (max-width:1365px) {
  .header > .brand > a > h1{
    font-size: var(--font-25);
  }
  .header > nav > .nav > .nav_li > a{
    font-size: var(--font-12);
  }
  .nav_li.-typeA::after{
    font-size: var(--font-10);
  }
  .header_tel > p{
    font-size: var(--font-10);
  }
  .header_tel > p > a{
    font-size: var(--font-15);
  }
  .header_contact > a > p{
    font-size: var(--font-10);
  }
  .header_contact > a > img{
    width: 20px;
  }
  .header > nav{
    gap: 15px;
  }
}
@media (max-width:1101px) {
  .header > nav{
    gap: 10px;
  }
}
@media (max-width:1090px) {
  .header > .brand > a > h1{
    font-size: var(--font-20);
  }
  .header > .brand > a > img{
    width: 50px;
  }
}
/*==============================
* Site header / Site footer 
* ============================*/

.site-header,
.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding: 30px;
  background: #eeeeee;
}

.site-header > .nav > ul,
.site-footer > .nav > ul {
  display: flex;
  gap: 1em;
  padding: 0;
  list-style: none;
}

/** ==================================================
* 2025/06/10 フッター改修CSS
* ================================================ */
.ext-bnr{
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-blue);
  padding: clamp(20px, 2.3255813953vw, 40px) 1em 0;
}
.ext-bnr > a{
  display: inline-block;
}