@charset "UTF-8";
:root {
  --duration03: 0.3s;
  --wrapPaddingHorizontal: 4rem;
  --wrap: 124rem;
  --wrapWide: 130rem;
  --headerHeight: 110px;
  --black01: #333;
  --blue01: #0085C7;
  --blue02: #0A4DA6;
  --blue03: #01357B;
  --lightBlue01: #ECF6FB;
  --green01: #E4FD95;
  --green02: #CBFF26;
  --green03: #689B2D;
  --pink01: #FFBFA5;
  --red01: #E3645F;
  --lightBeige01: #F5F3ED;
  --gray01: #7E7E7E;
  --orange01: #EC855F;
  --footerMargin: 21rem;
  --border-radius01: 10px;
  --sectionMargin: 4.8rem 0;
}
@media screen and (max-width: 1280px) {
  :root {
    --headerHeight: 80px;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --wrapPaddingHorizontal: 2rem;
    --footerMargin: 12.5rem;
    --sectionMargin: 5.5rem 0;
  }
}

/* Sanitize
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

/**
 * 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 {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent; /* 4 */
  -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;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
 * 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).
 */
img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

p{
	margin: 0px;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: top;
}

/**
 * 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 {
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
  color: inherit; /* 2 */
}

/**
 * 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: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-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] {
  -ms-touch-action: manipulation; /* 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;
}

/**
 * Add
 */
dl dd {
  margin-left: 0;
}

figure {
  margin: 0;
}

table {
  table-layout: fixed;
}

menu {
  padding: 0;
}

html {
  overflow-y: scroll;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
  html {
    overflow-y: scroll;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.4154589372vw;
  }
}

body {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  font-size: 1.5rem;
  line-height: 1.9375;
  color: var(--black01);
  min-width: calc(var(--wrap) + var(--wrapPaddingHorizontal) * 2);
  line-break: strict;
  padding-top: var(--headerHeight);
	font-weight: 420;
	
}
@media screen and (max-width: 767px) {
  body {
    min-width: inherit;
	font-size: 1.6rem;
	  font-weight: 460;
  }
}
body.is-menuOpen {
  position: fixed;
  left: 0;
  width: 100%;
}

/*img {
	image-rendering: -webkit-optimize-contrast;
}*/
label {
  cursor: pointer;
}

picture {
  display: block;
}

input, button, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  font-family: inherit;
  letter-spacing: inherit;
  border-radius: 0;
  border: none;
  padding: 0;
}

select::-ms-expand {
  display: none;
}

button, input[type=submit], select, input[type=button] {
  cursor: pointer;
}

.l-allWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}

.l-contents {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* link
--------------------------------------------------*/
a {
  color: inherit;
}
a:link, a:active, a:visited, a:focus {
  text-decoration: none;
}
.txt_link{
    color: var(--red01);
}
.txt_link:hover {
  text-decoration: underline;
}
.maintenance a {
  pointer-events: none;
  opacity: 0.5;
  cursor: default;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    display: inline-block;
    pointer-events: none;
  }
}
a[href="404"] {
  opacity: 0.5 !important;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--headerHeight);
  background: white;
  z-index: 10;
}

.l-header__inner {
  position: relative;
  max-width: 1580px;
  width: 100%;
  height: 100%;
  margin-inline: auto;
}

.l-headerLogo {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 40px;
  width: 310px;
    max-width: 21vw;
  height: 82px;
  margin-block: 0;}
@media screen and (max-width: 1280px) {
  .l-headerLogo {
      top: 45%;
    left: 11px;
    width: auto;
    max-width: none;
    height: 50px;
  }
}
.l-headerLogo a {
  display: block;
  height: 100%;
}
.l-headerLogo a picture,
.l-headerLogo a img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  /*vertical-align: text-top;*/
}

.l-headerSubMenu {
  position: absolute;
  top: 37px;
  right: min(25.6626506024vw, 426px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1280px) {
  .l-headerSubMenu {
    display: none;
  }
}

.l-headerSubMenu__item {
  padding-inline: min(1.3253012048vw, 22px);
  line-height: 1;
}
.l-headerSubMenu__item:nth-child(n+2) {
  position: relative;
}
.l-headerSubMenu__item:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  width: 1px;
  height: 16px;
  border-left: 1px solid black;
}
.l-headerSubMenu__item a {
  display: block;
  /*color: black;*/
  font-weight: 500;
  font-size: min(0.843373494vw, 14px);
  line-height: 1;
  letter-spacing: 0.01em;
}
@media (any-hover: hover) {
  .l-headerSubMenu__item a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .l-headerSubMenu__item a:hover {
    color: var(--blue01);
  }
}

.l-headerTel {
  position: absolute;
  top: 25px;
  right: min(11.8072289157vw, 196px);
}
@media screen and (max-width: 1280px) {
  .l-headerTel {
    top: 43%;
    translate: 0 -50%;
    right: 80px;
  }
}
@media screen and (max-width: 767px) {
  .l-headerTel {
    top: 43%;
    translate: 0 -50%;
    right: 80px;
    width: 21px;
    aspect-ratio: 17/29;
  }
}
.l-headerTel a {
  font-weight: 500;
  font-size: min(1.8072289157vw, 30px);
  line-height: 1;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: min(1.0240963855vw, 17px) 1fr;
  gap: min(0.4819277108vw, 8px);
}
@media screen and (max-width: 1280px) {
  .l-headerTel a {
    font-size: 22px;
    grid-template-columns: 17px 1fr;
    gap: 8px;
  }
}
@media screen and (max-width: 767px) {
  .l-headerTel a {
    display: block;
    width: 23px;
    aspect-ratio: 17/29;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
  }
}
.l-headerTel a::before {
  content: "";
  width: min(1.0240963855vw, 17px);
  aspect-ratio: 17/29;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17.03 29.06"><path fill="%23E3645F" d="M16.54,25.79l-2.34-3.35c-.34-.49-1.01-.6-1.5-.26l-1.52,1.06c-.44.31-1.05.24-1.41-.16-1.02-1.05-1.94-2.19-2.75-3.41-.86-1.18-1.62-2.43-2.26-3.75-.25-.48-.11-1.07.34-1.38l1.52-1.06c.49-.34.61-1.01.27-1.5,0,0,0,0,0,0l-2.35-3.35c-.34-.49-1.01-.6-1.5-.26l-2.02,1.41c-2.14,1.5-.72,7.5,2.61,12.26,3.33,4.76,8.48,8.16,10.63,6.66l2.02-1.41c.49-.34.61-1.01.27-1.5,0,0,0,0,0,0ZM16.01,11.19l1.01.02c.05-2.46-.69-4.86-2.1-6.87-1.41-2.02-3.42-3.53-5.74-4.33l-.33.96c2.12.73,3.96,2.11,5.24,3.95,1.29,1.84,1.96,4.03,1.92,6.28ZM12.84,11.13l1.01.02c.04-1.79-.5-3.54-1.52-5-1.02-1.47-2.49-2.57-4.18-3.15l-.33.96c1.49.51,2.78,1.48,3.68,2.77.9,1.29,1.37,2.83,1.34,4.4ZM9.66,11.07l1.01.02c.02-1.11-.32-2.2-.96-3.11-.64-.91-1.55-1.6-2.6-1.97l-.33.96c.85.29,1.59.85,2.1,1.59.52.74.79,1.62.77,2.51Z" /></svg>') no-repeat center center/contain;
}
@media screen and (max-width: 1280px) {
  .l-headerTel a::before {
    width: 14px;
  }
}
@media screen and (max-width: 767px) {
  .l-headerTel a::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 130%;
  }
}

.l-headerButton {
  position: absolute;
  top: 28px;
  right: min(2.4096385542vw, 40px);
  width: min(8.3734939759vw, 139px);
  height: min(1.8674698795vw, 31px);
}
@media screen and (max-width: 1280px) {
  .l-headerButton {
    display: none;
  }
}
.l-headerButton a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: white;
  border-radius: calc(infinity * 1px);
  background: var(--blue01);
  font-size: min(0.9036144578vw, 15px);
  font-weight: 500;
}
@media (any-hover: hover) {
  .l-headerButton a {
    -webkit-transition: opacity var(--duration03);
    transition: opacity var(--duration03);
  }
  .l-headerButton a:hover {
    opacity: 0.6;
  }
}

.l-headerMenu {
  position: absolute;
  bottom: 25px;
  right: min(2.6506024096vw, 44px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(1.9879518072vw, 33px);
	gap: min(1.3855vw, 23px);
}
@media screen and (max-width: 1280px) {
  .l-headerMenu {
    display: none;
  }
}

.l-headerMenu__item {
  position: relative;
}
.l-headerMenu__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 45px;
  width: 100%;
}
.l-headerMenu__item > a,
.l-headerMenu__item > .l-megaMenu-button {
  position: relative;
  display: block;
  color: black;
  font-weight: 700;
  font-size: min(3vw, 15.5px);
  line-height: 1;
  background: none;
  -webkit-transition: color var(--duration03);
  transition: color var(--duration03);
	margin-right: 12px;
}
@media (any-hover: hover) {
  .l-headerMenu__item > a:hover,
  .l-headerMenu__item > .l-megaMenu-button:hover {
    color: var(--blue01);
  }
}
.ipad.mac .l-headerMenu__item > a, .ipad.mac .l-headerMenu__item > .l-megaMenu-button {
  font-size: min(0.6024096386vw, 10px);
}

.l-headerMenu__item.is-megaMenu-open {
  color: var(--blue01);
}

.l-megaMenu {
  -webkit-clip-path: inset(0 -50vw 100%);
          clip-path: inset(0 -50vw 100%);
  padding: 51px 40px 80px;
  position: fixed;
  top: var(--headerHeight);
  left: 0;
  background: var(--blue01);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  visibility: hidden;
  width: 100%;
  color: white;
  max-height: calc(100vh - var(--headerHeight));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.l-headerMenu__item.is-megaMenu-open .l-megaMenu {
  -webkit-clip-path: inset(0 -50vw);
          clip-path: inset(0 -50vw);
  visibility: visible;
}

@media (any-hover: hover) {
  .l-headerMenu__item:hover .l-megaMenu {
    -webkit-clip-path: inset(0 -50vw);
            clip-path: inset(0 -50vw);
    visibility: visible;
  }
  .l-headerMenu__item:not(:hover) .l-megaMenu {
    clip-path: inset(0 -50vw 101%);
    visibility: hidden;
  }
}
.l-megaMenu__grid {
  max-width: 1470px;
  width: 100%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: min(12.5vw, 220px) 1fr;
  gap: min(3.5vw, 65px);
}
.l-megaMenuHead__title {
  font-size: min(1.4457831325vw, 24px);
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-block: 0;
}

.l-megaMenuHead__link {
  font-size: min(1.0843373494vw, 18px);
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-top: 1.9rem;
  line-height: 1;
}
.l-megaMenuHead__link a {
  position: relative;
  padding-left: min(1.3855421687vw, 23px);
  line-height: inherit;
}
@media (any-hover: hover) {
  .l-megaMenuHead__link a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .l-megaMenuHead__link a:hover {
    color: var(--green01);
  }
}
.l-megaMenuHead__link a::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  width: min(0.6626506024vw, 11px);
  aspect-ratio: 11/17;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10.17 16.37"><path fill="%23E4FD95" d="M2.14,16.37L0,14.27l5.97-6.08L0,2.1,2.14,0l8.03,8.19L2.14,16.37Z" /></svg>') no-repeat center center/contain;
  margin-top: 0.08em;
}

.l-megaMenuBody {
  padding-top: 11px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(3.0722891566vw, 51px) min(2.4096385542vw, 40px);
  padding-right: min(6.0240963855vw, 100px);
}
#menu02 .l-megaMenuBody,
#menu05 .l-megaMenuBody{
  padding-top: 11px;
  display: flex;
  flex-wrap: wrap;
    /* gapを変数化 */
  --gap-x: min(2vw, 5px);
  --gap-y: min(3.0722891566vw, 51px);
  gap: var(--gap-y) var(--gap-x);
  padding-right: 0;
}
.l-megaMenuBody__item {
  line-height: 1;
}
#menu02 .l-megaMenuBody__item,
#menu05 .l-megaMenuBody__item{
  line-height: 1;
  flex: 0 0 calc((100% - (4 * var(--gap-x))) / 5);
  box-sizing: border-box;
}
#menu02 .l-megaMenuBody__item:last-child,
#menu05 .l-megaMenuBody__item:last-child{
  flex: 0 0 calc((100% - (4 * var(--gap-x))) / 3); /* 例: 他の4つより広く */
}
.l-megaMenuBody__item a {
  font-size: min(1.5vw, 16px);
  font-weight: 700;
  letter-spacing: 0.03em;
  position: relative;
  padding-left: min(1.5060240964vw, 25px);
  line-height: inherit;
}
@media (any-hover: hover) {
  .l-megaMenuBody__item a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .l-megaMenuBody__item a:hover {
    color: var(--green01);
  }
}
.l-megaMenuBody__item a::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  width: min(0.625vw, 9px);
  aspect-ratio: 11/17;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10.17 16.37"><path fill="%23E4FD95" d="M2.14,16.37L0,14.27l5.97-6.08L0,2.1,2.14,0l8.03,8.19L2.14,16.37Z" /></svg>') no-repeat center center/contain;
  margin-top: 0.08em;
}
#menu02 .l-megaMenuBody.megaMenuBody__nav,
#menu05 .l-megaMenuBody.megaMenuBody__nav{
    display: block;
    margin-left: 2rem;
    padding-right: 0.5em;
}
#menu02 .l-megaMenuBody.megaMenuBody__nav .l-megaMenuBody__item a,
#menu05 .l-megaMenuBody.megaMenuBody__nav .l-megaMenuBody__item a{
    font-size: 1.1rem;
    margin-bottom: 0.3em;
    display: inline-block;
}
.l-toggleButton {
  position: absolute;
  top: 43%;
  translate: 0 -50%;
  right: 14px;
  width: 46px;
  aspect-ratio: 1/1;
  background: var(--blue01);
  border-radius: calc(infinity * 1px);
}
@media screen and (min-width: 1281px) {
  .l-toggleButton {
    display: none;
  }
}
@media (any-hover: hover) {
  .l-toggleButton {
    -webkit-transition: opacity var(--duration03);
    transition: opacity var(--duration03);
  }
  .l-toggleButton:hover {
    opacity: 0.6;
  }
}
.l-toggleButton span {
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 23px;
  height: 1px;
  background: white;
  -webkit-transition: all var(--duration03) ease-out;
  transition: all var(--duration03) ease-out;
}
.l-toggleButton span:nth-child(1) {
  top: 14px;
}
.l-toggleButton span:nth-child(2) {
  top: 22px;
}
.l-toggleButton span:nth-child(3) {
  top: 30px;
}
.l-toggleButton p{
    font-size: 1.0rem;
    position: absolute;
    right: 0;
    left: 0;
    bottom: -14px;
    color: var(--blue01);
}
body.is-menuOpen .l-toggleButton span:nth-child(1) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
body.is-menuOpen .l-toggleButton span:nth-child(2) {
  opacity: 0;
}
body.is-menuOpen .l-toggleButton span:nth-child(3) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.l-spNav {
  position: fixed;
  top: var(--headerHeight);
  right: 0;
  display: block;
  overflow-y: auto;
  width: 100%;
  height: calc(100dvh - var(--headerHeight));
  -webkit-overflow-scrolling: touch;
  opacity: 0;
  visibility: hidden;
  padding: 14px 20px 37px 20px;
  background: var(--blue01);
  -webkit-transition: opacity 0.4s, visibility 0s 0.4s;
  transition: opacity 0.4s, visibility 0s 0.4s;
}
@media screen and (min-width: 1281px) {
  .l-spNav {
    display: none;
  }
}
body.is-menuOpen .l-spNav {
  opacity: 1;
  visibility: visible;
}

.l-spNavContact {
  max-width: 374px;
  height: min(14.0096618357vw, 58px);
  margin-inline: auto;
  background: white;
  border-radius: 10px;
  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
  display: grid;
  grid-template-columns: 1fr 148px;
}

.l-spNavContactTel a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  padding: min(2.1739130435vw, 9px) 0 0 min(10.1449275362vw, 42px);
}
@media (any-hover: hover) {
  .l-spNavContactTel a {
    -webkit-transition: opacity var(--duration03);
    transition: opacity var(--duration03);
  }
  .l-spNavContactTel a:hover {
    opacity: 0.6;
  }
}
.l-spNavContactTel a::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 calc(-50% - 3px);
  left: min(3.3816425121vw, 14px);
  width: min(4.347826087vw, 18px);
  aspect-ratio: 17/29;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17.03 29.06"><path fill="%23E3645F" d="M16.54,25.79l-2.34-3.35c-.34-.49-1.01-.6-1.5-.26l-1.52,1.06c-.44.31-1.05.24-1.41-.16-1.02-1.05-1.94-2.19-2.75-3.41-.86-1.18-1.62-2.43-2.26-3.75-.25-.48-.11-1.07.34-1.38l1.52-1.06c.49-.34.61-1.01.27-1.5,0,0,0,0,0,0l-2.35-3.35c-.34-.49-1.01-.6-1.5-.26l-2.02,1.41c-2.14,1.5-.72,7.5,2.61,12.26,3.33,4.76,8.48,8.16,10.63,6.66l2.02-1.41c.49-.34.61-1.01.27-1.5,0,0,0,0,0,0ZM16.01,11.19l1.01.02c.05-2.46-.69-4.86-2.1-6.87-1.41-2.02-3.42-3.53-5.74-4.33l-.33.96c2.12.73,3.96,2.11,5.24,3.95,1.29,1.84,1.96,4.03,1.92,6.28ZM12.84,11.13l1.01.02c.04-1.79-.5-3.54-1.52-5-1.02-1.47-2.49-2.57-4.18-3.15l-.33.96c1.49.51,2.78,1.48,3.68,2.77.9,1.29,1.37,2.83,1.34,4.4ZM9.66,11.07l1.01.02c.02-1.11-.32-2.2-.96-3.11-.64-.91-1.55-1.6-2.6-1.97l-.33.96c.85.29,1.59.85,2.1,1.59.52.74.79,1.62.77,2.51Z" /></svg>') no-repeat center center/contain;
}

.l-spNavContactTel__text {
  margin-block: 0;
  color: var(-red01);
  font-weight: 700;
  font-size: min(2.8985507246vw, 12px);
  letter-spacing: 0.1em;
  line-height: 1;
}

.l-spNavContactTel__number {
  margin-block: min(0.7246376812vw, 3px) 0;
  line-height: 1;
  font-weight: 700;
  font-size: min(5.3140096618vw, 22px);
  letter-spacing: 0.05em;
  line-height: 1;
}

.l-spNavContactAccess {
  position: relative;
}
.l-spNavContactAccess a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  padding-left: min(6.7632850242vw, 28px);
  font-size: min(3.8647342995vw, 16px);
}
@media (any-hover: hover) {
  .l-spNavContactAccess a {
    -webkit-transition: opacity var(--duration03);
    transition: opacity var(--duration03);
  }
  .l-spNavContactAccess a:hover {
    opacity: 0.6;
  }
}
.l-spNavContactAccess a::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: min(3.1400966184vw, 13px);
  width: min(4.1062801932vw, 17px);
  aspect-ratio: 17/24;
  background: url(../img/common/icn_access.svg) no-repeat center center/contain;
}
.l-spNavContactAccess::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: max(-0.7246376812vw, -3px);
  width: 3px;
  height: min(9.6618357488vw, 40px);
  border-left: 3px solid var(--blue01);
}

.l-spNavButtons {
  max-width: 374px;
  margin: 20px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 12px;
}

.l-spNavButtons__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: min(14.0096618357vw, 58px);
  border-radius: 10px;
  background: white;
  border: 1px solid #E6E6E6;
  font-size: min(3.8647342995vw, 16px);
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
}
@media (any-hover: hover) {
  .l-spNavButtons__item a {
    -webkit-transition: opacity var(--duration03);
    transition: opacity var(--duration03);
  }
  .l-spNavButtons__item a:hover {
    opacity: 0.6;
  }
}

.l-spNavMenu {
  max-width: 374px;
  margin: 22px auto 0;
  display: grid;
  grid-template-columns: 100%;
  gap: 17px;
}

.l-spNavMenu__item {
  position: relative;
  padding-left: 24px;
}
.l-spNavMenu__item::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 0;
  width: 11px;
  aspect-ratio: 11/17;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10.17 16.37"><path fill="%23E4FD95" d="M2.14,16.37L0,14.27l5.97-6.08L0,2.1,2.14,0l8.03,8.19L2.14,16.37Z" /></svg>') no-repeat center center/contain;
}
.l-spNavMenu__item > a,
.l-spNavMenu__item > .l-spAccordionButton {
  background: transparent;
  color: white;
  font-size: min(4.347826087vw, 18px);
  font-weight: 500;
  line-height: 1.4444444444;
  display: block;
  width: 100%;
  text-align: left;
}
@media (any-hover: hover) {
  .l-spNavMenu__item > a,
  .l-spNavMenu__item > .l-spAccordionButton {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .l-spNavMenu__item > a:hover,
  .l-spNavMenu__item > .l-spAccordionButton:hover {
    color: var(--green01);
  }
}

.l-spAccordionButton {
  padding-right: 38px;
}
.l-spAccordionButton::before {
  content: "";
  position: absolute;
  top: 16px;
  right: 8px;
  width: 21px;
  height: 3px;
  background: var(--green02);
  -webkit-transition: opacity var(--duration03);
  transition: opacity var(--duration03);
}
.l-spAccordionButton::after {
  content: "";
  position: absolute;
  top: 7px;
  right: 17px;
  width: 3px;
  height: 21px;
  background: var(--green02);
  -webkit-transition: rotate var(--duration03);
  transition: rotate var(--duration03);
}
.l-spAccordionButton.is-open::before {
  opacity: 0;
}
.l-spAccordionButton.is-open::after {
  rotate: 90deg;
}

.l-sp2layerMenu {
  display: grid;
  grid-template-columns: 100%;
  gap: 2px;
  padding-block: 3px 19px;
}

.l-sp2layerMenu__item {
  position: relative;
  padding-left: 25px;
  font-size: min(3.8647342995vw, 16px);
}
.l-sp2layerMenu__item::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 11px;
  aspect-ratio: 11/17;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10.17 16.37"><path fill="%23E4FD95" d="M2.14,16.37L0,14.27l5.97-6.08L0,2.1,2.14,0l8.03,8.19L2.14,16.37Z" /></svg>') no-repeat center center/contain;
}
.l-sp2layerMenu__item > a {
  background: transparent;
  color: white;
  font-size: inherit;
  font-weight: 500;
  line-height: 1.4444444444;
}
@media (any-hover: hover) {
  .l-sp2layerMenu__item > a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .l-sp2layerMenu__item > a:hover {
    color: var(--green01);
  }
}

.l-footer {
  position: relative;
  border-top: 5px solid var(--blue01);
  margin-top: var(--footerMargin);
  padding-bottom: 3.5rem;
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding-bottom: 2.7rem;
    --wrapPaddingHorizontal: 0;
  }
}

.l-footerPagetop {
  position: fixed;
  top: calc(100% - 4rem);
  translate: -100% -100%;
  left: calc(100vw - 2rem);
  z-index: 1;
  width: 10.4rem;
  height: 10.4rem;
  border-radius: calc(infinity * 1px);
  background: var(--blue01);
  padding-top: 5.3rem;
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
}
@media (any-hover: hover) {
  .l-footerPagetop {
    -webkit-transition: opacity var(--duration03);
    transition: opacity var(--duration03);
  }
  .l-footerPagetop:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .l-footerPagetop {
    top: calc(100% - 2.2rem);
    left: calc(100% - 1px);
    width: 6.5rem;
    height: 6.5rem;
    font-size: 1rem;
    line-height: 1.2;
    color: white;
    padding-top: 3.0rem;
  }
}
.ipad.mac .l-footerPagetop {
  font-size: 7px;
}

.l-footerPagetop::before {
  content: "";
  position: absolute;
  top: 2.8rem;
  left: 50%;
  translate: -50% 0;
  width: 2.3rem;
  aspect-ratio: 23/15;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23.01 14.73"><path fill="%23ffffff" d="M0,11.51l3.23,3.23L11.51,6.46l8.28,8.28,3.23-3.23L11.51,0,0,11.51Z" /></svg>') no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .l-footerPagetop::before {
    top: 1.1rem;
  }
}
@media screen and (min-width: 768px) {
  .l-footerPagetop.is-absolute {
    position: absolute;
    top: 39.3rem;
    translate: -100% -50%;
  }
}

.l-footer__image {
  width: 100%;
  height: 29.3rem;
}
@media screen and (max-width: 767px) {
  .l-footer__image {
    height: 9rem;
  }
}
.l-footer__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-footer__grid {
  display: grid;
  grid-template-columns: 35.5rem 1fr;
  gap: 4rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .l-footer__grid {
    grid-template-columns: 100%;
    gap: 2.8rem;
  }
}

.l-footerLeft {
  padding-top: 1.8rem;
}
@media screen and (max-width: 767px) {
  .l-footerLeft {
    padding-top: 2.1rem;
  }
}

.l-footerLeftLogo {
  width: 35.5rem;
}
@media screen and (max-width: 767px) {
  .l-footerLeftLogo {
    width: 32rem;
    margin-inline: auto;
  }
}
.l-footerLeftLogo a {
  display: block;
}

.l-footerLeftAddress {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-block: 1.3rem 0;
}
@media screen and (max-width: 767px) {
  .l-footerLeftAddress {
    margin-block: 1.4rem 0;
    text-align: center;
  }
}

.l-footerLeftAddress__small {
  font-size: 1.4rem;
}

.l-footerLeftTel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-top: 0.5rem;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .l-footerLeftTel {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.l-footerLeftTel__text {
  position: relative;
  padding-left: 3.3rem;
  color: var(--red01);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  margin-block: 0;
}
.l-footerLeftTel__text::before {
  content: "";
  position: absolute;
  top: -1.1rem;
  left: 0.2rem;
  width: 1.8rem;
  aspect-ratio: 17/29;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17.03 29.06"><path fill="%23E3645F" d="M16.54,25.79l-2.34-3.35c-.34-.49-1.01-.6-1.5-.26l-1.52,1.06c-.44.31-1.05.24-1.41-.16-1.02-1.05-1.94-2.19-2.75-3.41-.86-1.18-1.62-2.43-2.26-3.75-.25-.48-.11-1.07.34-1.38l1.52-1.06c.49-.34.61-1.01.27-1.5,0,0,0,0,0,0l-2.35-3.35c-.34-.49-1.01-.6-1.5-.26l-2.02,1.41c-2.14,1.5-.72,7.5,2.61,12.26,3.33,4.76,8.48,8.16,10.63,6.66l2.02-1.41c.49-.34.61-1.01.27-1.5,0,0,0,0,0,0ZM16.01,11.19l1.01.02c.05-2.46-.69-4.86-2.1-6.87-1.41-2.02-3.42-3.53-5.74-4.33l-.33.96c2.12.73,3.96,2.11,5.24,3.95,1.29,1.84,1.96,4.03,1.92,6.28ZM12.84,11.13l1.01.02c.04-1.79-.5-3.54-1.52-5-1.02-1.47-2.49-2.57-4.18-3.15l-.33.96c1.49.51,2.78,1.48,3.68,2.77.9,1.29,1.37,2.83,1.34,4.4ZM9.66,11.07l1.01.02c.02-1.11-.32-2.2-.96-3.11-.64-.91-1.55-1.6-2.6-1.97l-.33.96c.85.29,1.59.85,2.1,1.59.52.74.79,1.62.77,2.51Z" /></svg>') no-repeat center center/contain;
}

.l-footerLeftTel__number {
  color: black;
  font-size: 2.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
}

.l-footerRight {
  padding-top: 6.5rem;
}
@media screen and (max-width: 767px) {
  .l-footerRight {
    padding-top: 0;
  }
}

.l-footerRightMenu {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .l-footerRightMenu {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2rem 0;
  }
}

.l-footerRightMenu__item {
  position: relative;
  padding-inline: 2.5rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .l-footerRightMenu__item {
    padding-inline: 2.2rem;
  }
}
.l-footerRightMenu__item:nth-child(n+2) {
  position: relative;
}
.l-footerRightMenu__item:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  width: 1px;
  height: 1.6rem;
  border-left: 1px solid black;
}
@media screen and (max-width: 767px) {
  .l-footerRightMenu__item:nth-child(n+2)::before {
    height: 1.4rem;
  }
}
.l-footerRightMenu__item:last-child {
  padding-right: 0;
}
@media screen and (max-width: 767px) {
  .l-footerRightMenu__item:first-child, .l-footerRightMenu__item:last-child {
    padding-left: 0;
  }
  .l-footerRightMenu__item:last-child::before {
    content: none;
  }
}
.l-footerRightMenu__item a {
  display: block;
  color: black;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.03em;
}
@media (any-hover: hover) {
  .l-footerRightMenu__item a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .l-footerRightMenu__item a:hover {
    color: var(--blue01);
  }
}
@media screen and (max-width: 767px) {
  .l-footerRightMenu__item a {
    font-size: 1.4rem;
  }
}

.l-footerRightInsta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2.4rem;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 3.2rem;
}
@media screen and (max-width: 767px) {
  .l-footerRightInsta {
    margin-top: 3.6rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.3rem;
  }
}

.l-footerRightInsta__item a {
  display: grid;
  grid-template-columns: 3.6rem 1fr;
  gap: 1.3rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.03em;
}
@media (any-hover: hover) {
  .l-footerRightInsta__item a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .l-footerRightInsta__item a:hover {
    color: var(--blue01);
  }
}
@media screen and (max-width: 767px) {
  .l-footerRightInsta__item a {
    line-height: 1.4285714286;
    gap: 1rem;
  }
}
.l-footerRightInsta__item a::before {
  content: "";
  width: 3.6rem;
  aspect-ratio: 1/1;
}
.l-footerRightInsta__item:first-of-type a::before {
  background: url(../img/common/icn_x_blue.svg) no-repeat center center/contain;
}
.l-footerRightInsta__item:last-of-type a::before {
  background: url(../img/common/icn_insta_blue.svg) no-repeat center center/contain;
}
.l-footerRightCopy {
  margin-block: 1.8rem 0;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .l-footerRightCopy {
    margin-block: 2.5rem 0;
    font-size: 1.2rem;
    line-height: 1.4166666667;
    text-align: center;
  }
}
/* --------------------------------------------------
  img
-------------------------------------------------- */
.img80{
    width: 80%;
    margin: auto;
}
div img.ttl_img{
    margin-top: 10px;
    display: block;
}
/* --------------------------------------------------
  button
-------------------------------------------------- */
.c-buttonBlue01 {
  text-align: center;
  --buttonBlue01Height: 4.1rem;
  --buttonBlue01Size: 1.6rem;
  --buttonBlue01Width: 20.6rem;
  --buttonBlue01ArrowWidth: 0.8rem;
  --buttonBlue01ArrowRight: 1.9rem;
}
@media screen and (max-width: 767px) {
  .c-buttonBlue01 {
    --buttonBlue01Height: 4.6rem;
    --buttonBlue01Width: 17.3rem;
  }
}
.c-buttonBlue01 a {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: var(--buttonBlue01Width);
  height: var(--buttonBlue01Height);
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(0, 65, 150)), to(rgb(22, 133, 199)));
  background: linear-gradient(0deg, rgb(0, 65, 150) 0%, rgb(22, 133, 199) 100%);
  border-radius: calc(infinity * 1px);
  color: white;
  font-size: var(--buttonBlue01Size);
  font-weight: 500;
  padding-inline: 2em;
}
@media screen and (max-width: 767px) {
    .c-buttonBlue01 a{
        width: 83%;
        height: 60px;
        line-height: 1.3;
    }
}
.c-buttonBlue01 a::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: var(--buttonBlue01ArrowRight);
  width: var(--buttonBlue01ArrowWidth);
  aspect-ratio: 8/12;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 7.12 11.6"><path fill="%23F5F3ED" d="M1.43,11.6l-1.43-1.4,4.31-4.4L0,1.4,1.43,0l5.69,5.8L1.43,11.6Z" /></svg>') no-repeat center center/contain;
}
@media (any-hover: hover) {
  .c-buttonBlue01 a::before {
    -webkit-transition: right var(--duration03) ease-in-out;
    transition: right var(--duration03) ease-in-out;
    will-change: right;
  }
  .c-buttonBlue01 a:hover {
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(22, 133, 199)), to(rgb(0, 65, 150)));
    background: linear-gradient(0deg, rgb(22, 133, 199) 0%, rgb(0, 65, 150) 100%);
  }
  .c-buttonBlue01 a:hover::before {
    --buttonBlue01ArrowRight: 1.3rem;
  }
}
.c-buttonBlue01.m-large {
  --buttonBlue01Height: 7.1rem;
  --buttonBlue01Size: 2rem;
  --buttonBlue01Width: 42rem;
  --buttonBlue01ArrowWidth: 1rem;
  --buttonBlue01ArrowRight: 3.1rem;
}
@media screen and (max-width: 767px) {
  .c-buttonBlue01.m-large {
    --buttonBlue01Height: 5.8rem;
    --buttonBlue01Size: 1.8rem;
    --buttonBlue01Width: 34.5rem;
  }
}
@media (any-hover: hover) {
  .c-buttonBlue01.m-large a:hover::before {
    --buttonBlue01ArrowRight: 2.5rem;
  }
}

/* --------------------------------------------------
  title
-------------------------------------------------- */
.c-pageHead01 {
  position: relative;
  background: #EDEDED;
  height: 15rem;
}
@media screen and (max-width: 767px) {
  .c-pageHead01 {
    height: 8rem;
  }
}
.c-pageHead01 .u-wrap {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.c-pageHead01__image {
  position: absolute;
  top: 0;
  left: var(--wrapPaddingHorizontal);
  width: calc(100% - var(--wrapPaddingHorizontal) * 2);
  height: 100%;
}
.c-pageHead01__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-pageHead01__texts {
  position: relative;
  display: inline-block;
  min-width: 51.1rem;
  height: 9.9rem;
  padding: 2.6rem 5rem;
}
@media screen and (max-width: 767px) {
  .c-pageHead01__texts {
    min-width: 25.3rem;
    height: auto;
    min-height: 4.6rem;
    padding: 0.5rem 4rem 0 1rem;
  }
}
.c-pageHead01__texts::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  border-radius: 0 5rem 0 0;
}
@media screen and (max-width: 767px) {
  .c-pageHead01__texts::before {
    border-radius: 0 4rem 0 0;
  }
}

.c-pageHead01__text {
  position: relative;
  color: var(--green03);
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  line-height: 1.3;
  margin-block: 0;
}
@media screen and (max-width: 767px) {
  .c-pageHead01__text {
    font-size: 1.2rem;
  }
}

.c-pageHead01__title {
  position: relative;
  color: var(--black01);
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.4230769231;
  margin-block: 0.5rem 0;
  letter-spacing: 0.1em;
}
.c-pageHead01__title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.42) * 0.5em);
  content: "";
}
.c-pageHead01__title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.42) * 0.5em);
  content: "";
}
@media screen and (min-width: 768px) {
  .c-pageHead01__title {
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 767px) {
  .c-pageHead01__title {
    font-size: 2rem;
    margin-top: 0.5rem;
  }
}

.c-hgroup01 {
  text-align: center;
}

.c-hgroup01__text {
  color: var(--green03);
  font-size: 2rem;
  letter-spacing: 0.02em;
  line-height: 1.3;
  margin-block: 0;
}
@media screen and (max-width: 767px) {
  .c-hgroup01__text {
    font-size: 1.4rem;
  }
}

.c-hgroup01__title {
  color: var(--blue03);
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4230769231;
  margin-block: 0;
}
@media screen and (max-width: 767px) {
  .c-hgroup01__title {
    font-size: 2rem;
    line-height: 1.65;
    margin-top: 0.8rem;
  }
}

.c-hgroup02 {
  text-align: center;
}

.c-hgroup02__text {
  color: var(--green03);
  font-size: 2rem;
  letter-spacing: 0.02em;
  line-height: 1.3;
  margin-block: 0;
}
@media screen and (max-width: 767px) {
  .c-hgroup02__text {
    font-size: 1.4rem;
  }
}

.c-hgroup02__title {
  color: var(--black01);
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4230769231;
  margin-block: 0;
}
@media screen and (min-width: 768px) {
  .c-hgroup02__title {
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 767px) {
  .c-hgroup02__title {
    font-size: 2rem;
    line-height: 1.65;
    margin-top: 0.8rem;
  }
}

.c-titleLine01 {
  position: relative;
  border-top: 2px solid #9A9A9A;
  padding-block: 1.7rem 3rem;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-block: 0;
}
@media screen and (max-width: 767px) {
  .c-titleLine01 {
    padding-block: 1.7rem 2rem;
    font-size: 1.8rem;
    grid-template-columns: auto 3.5rem;
    gap: 1.5rem;
  }
}
.c-titleLine01 img {
  height: 4rem;
  width: auto;
  margin-left: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-titleLine01 img {
    height: 3rem;
    margin-left: 0.8rem;
  }
}
.c-titleLine01::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  width: 30rem;
  height: 4px;
  border-bottom: 4px solid #1050A4;
}
@media screen and (max-width: 767px) {
  .c-titleLine01::before {
    width: 20rem;
  }
}

.c-titleLine02 {
  position: relative;
  padding-left: 2.9rem;
  color: var(--blue03);
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-block: 3.5rem 1rem;
}
@media screen and (max-width: 767px) {
  .c-titleLine02 {
    padding-left: 2rem;
    font-size: 2rem;
  }
}
.c-titleLine02::before {
  content: "";
  position: absolute;
  top: calc((1.5em - 2.5rem) / 2);
  left: 0;
  width: 8px;
  height: 2.5rem;
  border-left: 8px solid var(--orange01);
}
@media screen and (max-width: 767px) {
  .c-titleLine02::before {
    top: calc((1.5em - 2rem) / 2);
    width: 4px;
    height: 2.4rem;
    border-left: 8px solid var(--orange01);
  }
}

.c-titleGb01 {
  position: relative;
  background: var(--lightBlue01);
  padding: 1.7rem 1.7rem 1.7rem 4.4rem;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-block: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-titleGb01 {
    font-size: 1.6rem;
    padding: 1.8rem 1.8rem 1.8rem 3rem;
    margin-block: 1.2rem;
  }
}
.c-titleGb01::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 2rem;
  width: 8px;
  height: 50%;
  border-left: 8px solid var(--blue02);
}
@media screen and (max-width: 767px) {
  .c-titleGb01::before {
    left: 1rem;
  }
}

.c-titleBule01 {
  color: var(--blue03);
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
  margin: 25px 0 5px;
}
@media screen and (max-width: 767px) {
  .c-titleBule01 {
    font-size: 1.8rem;
  }
}
.c-titleBule02 {
  color: var(--blue03);
  font-size: 2.0rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-titleBule02 {
    font-size: 2.0rem;
  }
}
.c-titleBule_line01 {
  color: var(--blue03);
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
  border-bottom: 1px dotted #454545;
	padding-bottom: 7px;
	margin: 25px 0 7px 1px;
}
@media screen and (max-width: 767px) {
  .c-titleBule_line01 {
    font-size: 1.8rem;
  }
}
.c-titleGreen_line01 {
  color: #56A28B;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
  border-bottom: 1px dotted #454545;
	padding-bottom: 7px;
	margin: 25px 0 7px 1px;
}
@media screen and (max-width: 767px) {
  .c-titleGreen_line01 {
    font-size: 1.8rem;
  }
}
.c-titleOrange_line01 {
  color: #E4713F;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
  border-bottom: 1px dashed #9A9A9A;
	padding-bottom: 7px;
	margin: 25px 0 7px 1px;
}
@media screen and (max-width: 767px) {
  .c-titleGreen_line01 {
    font-size: 1.8rem;
  }
}
/* --------------------------------------------------
  post
-------------------------------------------------- */
.c-postCategory {
  border-radius: var(--border-radius01);
  border: 1px solid #E6E6E6;
  -webkit-box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.16);
  padding: 0.9rem 3.1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem 4.8rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .c-postCategory {
    padding: 1.2rem 4.8rem 1.2rem 2.5rem;
    gap: 0.4rem 4.2rem;
  }
}

.c-postCategory__item {
  position: relative;
  cursor: pointer;
  color: var(--blue02);
  font-size: 1.6rem;
  font-weight: 500;
}
@media (any-hover: hover) {
  .c-postCategory__item {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .c-postCategory__item:hover {
    color: var(--gray01) !important;
  }
}
@media screen and (max-width: 767px) {
  .c-postCategory__item {
    font-size: 1.4rem;
  }
}
.c-postCategory__item::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 2.4rem -50%;
  right: 0;
  width: 1px;
  height: 1.8rem;
  border-left: 1px solid #1F3961;
}
@media screen and (max-width: 767px) {
  .c-postCategory__item::after {
    translate: 2.1rem -50%;
    height: 1.3rem;
  }
}
.c-postCategory__item.is-active {
  color: var(--gray01);
}

.c-postDetail {
  display: grid;
  grid-template-columns: 8.5rem 1.4rem 14rem 4rem 1fr;
  grid-template-areas: "date . category . title";
  padding-block: 3rem;
  border-bottom: 1px solid #BFBFBF;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .c-postDetail {
    grid-template-columns: 8.5rem 1.4rem 1fr;
    grid-template-rows: -webkit-max-content 1fr;
    grid-template-rows: max-content 1fr;
    grid-template-areas: "date . category" "title title title";
    padding-block: 2rem 1rem;
  }
}

.c-postDetail__date {
  grid-area: date;
  font-size: 1.6rem;
  line-height: 1.625;
}

.c-postDetail__category {
  grid-area: category;
  padding-top: calc((1.625em - 2.4rem) / 2);
  display: grid;
  grid-template-columns: 100%;
  gap: 0.3rem;
}
.c-postDetail__category a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  min-height: 2.4rem;
  background: var(--blue01);
  color: white;
  font-size: 1.2rem;
  padding: 0.3em 0.5em;
  line-height: 1.4;
}
@media (any-hover: hover) {
  .c-postDetail__category a {
    -webkit-transition: opacity var(--duration03);
    transition: opacity var(--duration03);
  }
  .c-postDetail__category a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .c-postDetail__category a {
    width: 15rem;
  }
}

.c-postDetail__title {
  grid-area: title;
  font-size: 1.6rem;
  line-height: 1.625;
  margin-block: 0;
}
@media screen and (max-width: 767px) {
  .c-postDetail__title {
    font-size: 1.8rem;
    line-height: 1.9375;
    margin-top: 0.3rem;
  }
}
.c-postDetail__title a {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media (any-hover: hover) {
  .c-postDetail__title a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .c-postDetail__title a:hover {
    color: var(--gray01);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
}

.c-postPager {
  margin: 4.3rem 0 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .c-postPager {
    gap: 1.5rem;
  }
}
.c-postPager li {
  list-style: none;
  line-height: 1;
}

.c-postPager__link {
  width: 2rem;
  height: 2rem;
}
@media screen and (max-width: 767px) {
  .c-postPager__link {
    width: 1.8rem;
    height: 1.8rem;
  }
}
.c-postPager__link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-postPager__link a {
    font-size: 1.4rem;
  }
}
@media (any-hover: hover) {
  .c-postPager__link a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .c-postPager__link a:hover {
    color: var(--gray01);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
}

.c-postPager__prev,
.c-postPager__next {
  width: 6rem;
  height: 2rem;
  display: grid;
}
@media screen and (max-width: 767px) {
  .c-postPager__prev,
  .c-postPager__next {
    width: 6.5rem;
  }
}
.c-postPager__prev a,
.c-postPager__next a {
  height: 100%;
  font-size: 1.6rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-postPager__prev a,
  .c-postPager__next a {
    font-size: 1.4rem;
  }
}
@media (any-hover: hover) {
  .c-postPager__prev a,
  .c-postPager__next a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .c-postPager__prev a:hover,
  .c-postPager__next a:hover {
    color: var(--gray01);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
}

.c-postPager__prev {
  margin-right: 3rem;
  grid-template-columns: 2.2rem 1fr;
}
@media screen and (max-width: 767px) {
  .c-postPager__prev {
    margin-right: 2rem;
  }
}
.c-postPager__prev::before {
  content: "<<";
}

.c-postPager__next {
  margin-left: 3rem;
  grid-template-columns: 1fr 2.2rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .c-postPager__next {
    margin-left: 2rem;
  }
}
.c-postPager__next::after {
  content: ">>";
}

.c-postPager__dot,
.c-postPager__current {
  width: 2rem;
  height: 2rem;
  font-size: 1.6rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-postPager__dot,
  .c-postPager__current {
    width: 1.4rem;
    height: 1.8rem;
    font-size: 1.4rem;
  }
}

.c-postPager__current {
  color: var(--gray01);
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.p-postSelect {
  width: 15.4rem;
  height: 2.6rem;
  color: var(--black01);
  font-size: 1.4rem;
  margin: 3rem auto 0;
  display: block;
  background: #e9e8ed;
  border-radius: 3px;
}

.c-postHead {
  display: grid;
  grid-template-columns: 8.5rem 1fr;
  gap: 1.3rem;
  margin-top: 3.8rem;
  border-bottom: 1px solid #BFBFBF;
  padding-bottom: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-postHead {
    margin-top: 3rem;
  }
}

.c-postHead__date {
  font-size: 1.6rem;
  line-height: 1.4;
}

.c-postHead__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.3rem;
}
.c-postHead__category a {
  background: var(--blue01);
  min-width: 14rem;
  height: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: white;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 0.3em 0.5em;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media (any-hover: hover) {
  .c-postHead__category a {
    -webkit-transition: opacity var(--duration03);
    transition: opacity var(--duration03);
  }
  .c-postHead__category a:hover {
    opacity: 0.6;
  }
}

.c-postBody {
  display: flow-root;
  font-size: 1.6rem;
  line-height: 1.9375;
  padding-block: 2.6rem 15rem;
}
@media screen and (max-width: 767px) {
  .c-postBody {
    padding-block: 2.6rem 7rem;
  }
}
.c-postBody figure a {
  display: block;
}
@media screen and (min-width: 768px) {
  .c-postBody figure img {
    max-width: 100%;
    width: auto;
  }
}
.c-postBody .wp-block-embed iframe {
  aspect-ratio: 16/9;
  height: auto;
}
@media screen and (max-width: 767px) {
  .c-postBody .aligncenter {
    margin: 0.5em 0;
    width: 100%;
  }
  .c-postBody .aligncenter.wp-block-embed {
    max-width: inherit !important;
  }
}
.c-postBody .alignleft {
  float: left;
  margin: 0.5em 3em 2em 0;
}
@media screen and (max-width: 767px) {
  .c-postBody .alignleft {
    float: none;
    margin: 0.5em 0;
    width: 100%;
  }
  .c-postBody .alignleft.wp-block-embed {
    max-width: inherit !important;
  }
}
.c-postBody .alignright {
  float: right;
  margin: 0.5em 0 2em 3em;
}
@media screen and (max-width: 767px) {
  .c-postBody .alignright {
    float: none;
    margin: 0.5em 0;
    width: 100%;
  }
  .c-postBody .alignright.wp-block-embed {
    max-width: inherit !important;
  }
}
.c-postBody a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (any-hover: hover) {
  .c-postBody a {
    -webkit-transition: opacity var(--duration03);
    transition: opacity var(--duration03);
  }
  .c-postBody a:hover {
    opacity: 0.6;
  }
}
.c-postBody blockquote {
  margin: 2em 0;
  padding: 2em;
  font-style: italic;
}
.c-postBody blockquote p {
  margin: 0;
}
.c-postBody > *:first-child {
  margin-top: 0 !important;
}
.c-postBody > *:last-child {
  margin-bottom: 0 !important;
}

.c-postNav {
  border-top: 1px solid #BFBFBF;
  padding-top: 4.3rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-areas: "area1 area2 area3";
}
@media screen and (max-width: 767px) {
  .c-postNav {
    padding-top: 2rem;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto auto;
    grid-template-areas: "area1 area3" "area2 area2";
    font-size: 1.4rem;
  }
}
@media (any-hover: hover) {
  .c-postNav a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .c-postNav a:hover {
    color: var(--gray01);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
}

.c-postNav__prev {
  grid-area: area1;
}

.c-postNav__prevInner {
  display: grid;
  grid-template-columns: 1.1rem 10rem;
  gap: 2.1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .c-postNav__prevInner {
    grid-template-columns: 0.9rem 9rem;
    gap: 0.9rem;
  }
}
.c-postNav__prevInner::before {
  content: "";
  width: 1.1rem;
  aspect-ratio: 8/12;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 7.12 11.6"><path fill="%23224CA0" d="M1.43,11.6l-1.43-1.4,4.31-4.4L0,1.4,1.43,0l5.69,5.8L1.43,11.6Z" /></svg>') no-repeat center center/contain;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media screen and (max-width: 767px) {
  .c-postNav__prevInner::before {
    width: 0.9rem;
  }
}

.c-postNav__back {
  grid-area: area2;
}
@media screen and (max-width: 767px) {
  .c-postNav__back {
    margin-top: 1.5rem;
  }
}

.c-postNav__backInner {
  display: grid;
  grid-template-columns: 1.6rem 10rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.9rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .c-postNav__backInner {
    grid-template-columns: 1.4rem 10rem;
    gap: 0.9rem;
  }
}
.c-postNav__backInner::before {
  content: "";
  width: 1.6rem;
  aspect-ratio: 1/1;
  background: url(../img/news/icn_list.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .c-postNav__backInner::before {
    width: 1.4rem;
  }
}

.c-postNav__next {
  grid-area: area3;
  text-align: right;
}

.c-postNav__nextInner {
  display: grid;
  grid-template-columns: 10rem 1.1rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 2.1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .c-postNav__nextInner {
    grid-template-columns: 9rem 0.9rem;
    gap: 0.9rem;
  }
}
.c-postNav__nextInner::after {
  content: "";
  width: 1.1rem;
  aspect-ratio: 8/12;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 7.12 11.6"><path fill="%23224CA0" d="M1.43,11.6l-1.43-1.4,4.31-4.4L0,1.4,1.43,0l5.69,5.8L1.43,11.6Z" /></svg>') no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .c-postNav__nextInner::after {
    width: 0.9rem;
  }
}

/* --------------------------------------------------
  breadcrumbs
-------------------------------------------------- */
.c-breadcrumbs {
  padding-block: 3.5rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-breadcrumbs {
    padding-block: 1.1rem 1.6rem;
  }
}
.c-breadcrumbs ol {
  position: relative;
  padding: 0;
  margin: 0;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .c-breadcrumbs ol {
    text-align: right;
  }
}
.c-breadcrumbs ol li {
  list-style: none;
  font-size: 1.4rem;
  line-height: 1.4;
  display: inline;
  color: var(--blue02);
}
@media screen and (max-width: 767px) {
  .c-breadcrumbs ol li {
    font-size: 1.2rem;
  }
}
.c-breadcrumbs ol li:not(:last-child)::after {
  content: ">";
  display: inline-block;
  margin-inline: 0.65em;
  color: var(--blue02);
}
.c-breadcrumbs ol li:first-child {
  position: relative;
  padding-left: 3.3rem;
}
@media screen and (max-width: 767px) {
  .c-breadcrumbs ol li:first-child {
    padding-left: 2.5rem;
  }
}
.c-breadcrumbs ol li:first-child::before {
  content: "";
  position: absolute;
  top: 0.4rem;
  left: 0;
  width: 1.4rem;
  aspect-ratio: 1/1;
  border-radius: calc(infinity * 1px);
  background: var(--blue02);
}
@media screen and (max-width: 767px) {
  .c-breadcrumbs ol li:first-child::before {
    width: 1.2rem;
  }
}
.c-breadcrumbs ol li a {
  color: var(--gray01);
}
@media (any-hover: hover) {
  .c-breadcrumbs ol li a:hover {
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
}

/* --------------------------------------------------
  fv
-------------------------------------------------- */
.c-fv01 {
  margin: 1.5rem 0 0;/*5.5rem;*/
	
}
.c-fv01 > * {
  margin-block: 1.3rem;
}
@media screen and (max-width: 767px) {
  .c-fv01 > * {
    margin-block: 2.8rem;
  }
}
.c-fv01 > *:first-child {
  margin-top: 0 !important;
}
.c-fv01 > *:last-child {
  margin-bottom: 0 !important;
}

.c-fv01__lead {
  color: var(--green03);
  font-size: 2.2rem;
  line-height: 1.4545454545;
  font-weight: 700;
  letter-spacing: 0.1em;
	margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .c-fv01__lead {
    font-size: 1.8rem;
    line-height: 1.4444444444;
  }
}

.c-fv01__text {
  font-size: 1.6rem;
  line-height: 1.9375;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px){
    .c-fv01__text{
        margin-top: 0;
        margin-bottom: 0.8rem;
    }
}
.c-fv01__text_red {
  font-size: 1.6rem;
  line-height: 1.9375;
  letter-spacing: 0.03em;
	color: red;
}

.c-fv01Tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media screen and (max-width: 767px) {
  .c-fv01Tel {
    margin-top: -1rem;
  }
}

.c-fv01Tel__text {
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-block: 0;
}

.c-fv01Tel__number {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.c-section ul li {
  list-style: none;
}

/* --------------------------------------------------
  list
-------------------------------------------------- */
.c-listDotSquare01 {
  padding-left: 0;
  display: grid;
  grid-template-columns: 100%;
  gap: 0.1em;
  margin-block: 1.3em;
}
@media screen and (max-width: 767px) {
  .c-listDotSquare01 {
    margin-block: 0.8em;
  }
}
.c-listDotSquare01 li {
  list-style: none;
  padding-left: 2rem;
  position: relative;
  letter-spacing: 0.03em;
}
.c-listDotSquare01 p {
    padding-left: 2rem;
}
@media screen and (max-width: 767px) {
  .c-listDotSquare01 li {
    line-height: 1.625;
  }
}
.c-listDotSquare01 li::before {
  content: "";
  position: absolute;
  top: calc((1.9375em - 0.8rem) / 2);
  left: 0;
  width: 0.8rem;
  aspect-ratio: 1/1;
  background: var(--orange01);
}
@media screen and (max-width: 767px) {
  .c-listDotSquare01 li::before {
    top: calc((1.625em - 0.8rem) / 2);
  }
}
.c-listDotSquare01.m-large {
  gap: 0.6em;
}
.c-listDotSquare01.m-large li {
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.4545454545;
}
@media screen and (max-width: 767px) {
  .c-listDotSquare01.m-large li {
    font-size: 2rem;
  }
}
.c-listDotSquare01.m-large li::before {
  top: calc((1.45em - 0.8rem) / 2);
}

.c-listDotCircle01 {
  padding-left: 0;
  display: grid;
  grid-template-columns: 100%;
  gap: 0.1em;
  margin-block: 1.3em;
}
.c-listDotCircle01 li {
  list-style: none;
  padding-left: 2rem;
  position: relative;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .c-listDotCircle01 li {
    line-height: 1.625;
  }
}
.c-listDotCircle01 li::before {
  content: "";
  position: absolute;
  top: calc((1.9375em - 0.8rem) / 2);
  left: 0;
  width: 0.8rem;
  aspect-ratio: 1/1;
  border-radius: calc(infinity * 1px);
  background: var(--orange01);
}
@media screen and (max-width: 767px) {
  .c-listDotCircle01 li::before {
    top: calc((1.625em - 0.8rem) / 2);
  }
}

.c-listMark01 {
  padding-left: 0;
  display: grid;
  grid-template-columns: 100%;
  gap: 0.1em;
  margin-block: 1.3em;
}
@media screen and (max-width: 767px) {
  .c-listMark01 {
    margin-block: 0.8em;
  }
}
.c-listMark01 li {
  list-style: none;
  padding-left: 2rem;
  position: relative;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .c-listMark01 li {
    line-height: 1.625;
  }
}
.c-listMark01 li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
/* --------------------------------------------------
  section
-------------------------------------------------- */
.c-section {
  padding-block: var(--sectionMargin);
  margin-block: 0;
}
.c-section > *:first-child {
  margin-top: 0 !important;
}
.u-wrap .c-section:first-of-type{
    padding-top: 0;
} 
.c-section > *:last-child {
  margin-bottom: 0 !important;
}
.c-section img{
	width: auto;
}
@media screen and (max-width: 767px){
    .c-section.sp_m-b0 {
      margin-block: 0;
    }
}
/* --------------------------------------------------
  grid
-------------------------------------------------- */
.c-gridArea01 {
  display: grid;
  grid-template-columns: 35.5rem 1fr;
  gap: 6rem;
}
@media screen and (max-width: 767px) {
  .c-gridArea01 {
    grid-template-columns: 100%;
    gap: 3rem;
    margin-top: 3.0rem;
  }
}
.c-gridArea01 > * > * {
  margin-block: 0.6em;
}
@media screen and (max-width: 767px) {
  .c-gridArea01 > * > * {
    margin-block: 0.9em;
  }
}
/*.c-gridArea01 > * > *:first-child {
  margin-top: 0 !important;
}*/
.c-gridArea01 > * > *:last-child {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
  .c-gridArea01 > *:first-child {
    max-width: 31rem;
    margin-inline: auto;
  }
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
}
.flex li{
    list-style: none;
}
.flex.reverse{
    flex-direction: row-reverse;
}
.flex.img_center{
    justify-content: center;
}
.flex.align_top {
    align-items: flex-start;
}
.flex.content_left{
    justify-content: flex-start;
}
.flex.content_left .small:first-of-type{
    width: 320px;
}
.flex.content_left .large:first-of-type{
    width: 680px;
}

.colum2 > *{
    width: 50%;
}
.flex.column2 li img {
    width: 100%;
    object-fit: cover;
}
.flex.column2 li p.nursing_ward_txt {
    text-align: center;
}
.flex.column2 li.rehashimada img {
    width: 80%;
    /*height: 445px;*/
    object-fit: cover;
}
.column3::after{
  content:"";
  display: block;
  width:30%;
}
.column3 li {
    margin: 20px 0;
    width: 30%;
    text-align: center;
}
.flex.column3 li img {
    width: 100%;
    height: 305px;
    object-fit: cover;
}
.column4.flex{
    align-items: baseline;
}
.column4 li {
    width: 23%;
}
.meal .column4 li {
    text-align: center;
}
.column4.flex li img {
    width: 100%;
    object-fit: cover;
}
.meal .column4 li img {
    margin-bottom: 0;
}
.column4.flex li p, .columnImgText li p{
    margin-top: 0;
}
.column6 li {
    margin: 20px 0;
    width: 15%;
    text-align: center;
}
.meal .column6 li img{
    margin-bottom: 0;
}
.columnBtn{
    justify-content: space-around;
}
.columnImgText{
    align-items:flex-start;
}
.columnImgText li:first-of-type{
    width: 33%;
    margin-right: 3%;
    text-align: right;
}
.columnImgText li:last-of-type{
    width: 61%;
    margin-right: 3%;
}
@media screen and (max-width: 767px) {
    .flex {
        display: block;
    }
    .flex.reverse{
        flex-direction: row;
    }
    .flex.content_left .large:first-of-type {
        width: 100%;
    }
    .colum2 > *{
        width: 100%;
    }
    .flex.column2 li img {
        height: auto;
        object-fit: contain;
    }
    .flex.column2 li.rehashimada img {
        width: 60%;
		margin-right: 20%;
        object-fit: cover;
    }
    .column3 li{
        width: 100%;
    }
    .column4 li {
        width: 100%;
    }
    .meal .column4 {
        display: flex;
    }
    .meal .column4 li {
        width: 48%;
    }
    .flex.column6{
        display: flex;
        &::after {
            content: '';
            display: block;
            width: 30%;
          }
    }
    .column6 li {
        margin: 10px 0;
        width: 30%;
    }
    .columnBtn li:first-of-type{
        margin-bottom: 3rem;
    }
    .columnImgText li:first-of-type{
        width: 100%;
    }
    .columnImgText li:last-of-type{
        width: 100%;
    }
}

.column2 li {
  width: 48%;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .column2 li {
    width: 100%;
  }
}

/* --------------------------------------------------
  table
-------------------------------------------------- */
.c-table01 {
  margin-inline: auto;
  border-bottom: 1px solid #CCC;
  border-left: 1px solid #CCC;
  margin-top: 2.5rem;
}
.c-table01 th, .c-table01 td {
  padding: 1.2rem 3rem;
  border-top: 1px solid #CCC;
  border-right: 1px solid #CCC;
  line-height: 1.5;
  letter-spacing: 0.03em;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .c-table01 th, .c-table01 td {
    display: block;
  }
}
.c-table01 th {
  width: 16.5rem;
  background: #F7F7F7;
  padding: 1.2rem 3rem;
}
@media screen and (max-width: 767px) {
  .c-table01 th {
    width: 100%;
    padding: 0.8rem 3rem;
  }
}
.c-table01 td {
  padding: 1.2rem 3rem;
}
@media screen and (max-width: 767px) {
  .c-table01 td {
    width: 100%;
    padding: 1.2rem;
  }
}

.c-captionBottom {
  caption-side: bottom;
  text-align: left;
}

.c-table02{
    margin-inline: auto;
    border-bottom: 1px solid #CCC;
    border-left: 1px solid #CCC;
    width: 100%;
}
.c-table02 td {
    padding: 1.2rem 3rem;
    border-top: 1px solid #CCC;
    border-right: 1px solid #CCC;
    line-height: 1.5;
    letter-spacing: 0.03em;
    vertical-align: top;
}

/* --------------------------------------------------
  tableScroll
-------------------------------------------------- */
.c-tableScroll01 {
  width: calc(100% + var(--wrapPaddingHorizontal) * 2);
  margin-inline: calc(var(--wrapPaddingHorizontal) * -1);
  padding-inline: var(--wrapPaddingHorizontal) 0;
  overflow-x: hidden;
}

@media screen and (max-width: 767px) {
  .c-tableScroll01__inner {
    width: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    display: grid;
    grid-template-columns: 1fr var(--wrapPaddingHorizontal);
    touch-action: pan-x;
  }
  .c-tableScroll01__inner table {
    min-width: 62.7rem;
  }
  .c-tableScroll01__inner table::after {
    content: "";
  }
}

.c-tableScroll01__text {
  font-size: 1.2rem;
  letter-spacing: 0.03em;
  margin-block: 0 1.1rem;
	color: #ff6600;
	font-weight: 500;
}

/* --------------------------------------------------
  display
-------------------------------------------------- */
@media screen and (max-width: 767px) {
  .u-minsp {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
}
.PC {
  display: block;
}
@media screen and (max-width: 767px) {
  .PC {
    display: none;
  }
}

.SP {
  display: none;
}
@media screen and (max-width: 767px) {
  .SP {
    display: block;
  }
}

/* --------------------------------------------------
  u-clearfix
-------------------------------------------------- */
.u-clearfix {
  display: flow-root;
}

/* --------------------------------------------------
  align
-------------------------------------------------- */
.u-taL {
  text-align: left !important;
}

.u-taC {
  text-align: center !important;
}

.u-taR {
  text-align: right !important;
}
@media screen and (min-width: 768px) {
  .u-taRPc {
    text-align: right !important;
  }
}
/* --------------------------------------------------
  indent
-------------------------------------------------- */
.u-indent5emSp {
  text-indent: -5.1em;
  margin-left: 5.1em;
  display: block;
}
.u-indent1emSp{
    padding-left: 1em;
}
/* --------------------------------------------------
  u-preload
-------------------------------------------------- */
.u-preload * {
  -webkit-transition: none !important;
  transition: none !important;
}

/* --------------------------------------------------
  u-wrap
-------------------------------------------------- */
.u-wrap {
  position: relative;
  width: min(100%, var(--wrap) + var(--wrapPaddingHorizontal) * 2);
  padding: 0 var(--wrapPaddingHorizontal);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .u-wrap {
    width: 100%;
  }
}
.u-wrap.m-wide {
  width: min(100%, var(--wrapWide) + var(--wrapPaddingHorizontal) * 2);
}
@media screen and (max-width: 767px) {
  .u-wrap.m-wide {
    width: 100%;
  }
}

/* --------------------------------------------------
  u-over
-------------------------------------------------- */
@media (any-hover: hover) {
  .u-over {
    -webkit-transition: opacity var(--duration03);
    transition: opacity var(--duration03);
  }
  .u-over:hover {
    opacity: 0.6;
  }
}

/* --------------------------------------------------
  color
-------------------------------------------------- */
.u-textRed01 {
  color: var(--red01);
}

.u-textBlue01 {
  color: var(--blue03);
}

/* --------------------------------------------------
  other
-------------------------------------------------- */
.slick-slider:not(.slick-initialized) {
  display: none;
}
.fw700{
    font-weight: 700;
}
.text_right{
    text-align: right;
	margin-top: 16px;
}
.text_left{
    text-align: left!important;
}
.p-0{
    padding: 0;
}
/* --------------------------------------------------
  診療科・部門一覧（TOP・一覧ページ）
-------------------------------------------------- */
.p-topDepartmentsGrid {
  margin-top: 4rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2.9% 1fr 2.9% 1fr 2.9% 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem 2.9%;
　padding: 0 30px;
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid {
    margin-top: 1.7rem;
    -ms-grid-columns: 1fr 2.4rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.4rem 2.4rem;
	padding: 0px;
  }
}

.p-topDepartmentsGrid__item a {
  position: relative;
  height: 7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #CCC;
  padding-left: clamp(8.8148148148rem, calc(105 * 100vw / 1620), 10.5rem);
　margin-bottom: -10px;
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item a {
    height: 4.5rem;
    padding-left: 5rem;
  }
}
.p-topDepartmentsGrid__item a::after {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 10px;
  height: calc(100% + 2px);
  background: var(--blue02);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item a::after {
    width: 5px;
  }
}
.p-topDepartmentsGrid__item a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: var(--lightBlue01);
}
@media (any-hover: hover) {
  .p-topDepartmentsGrid__item a::before {
    -webkit-transition: width var(--duration03);
    transition: width var(--duration03);
  }
  .p-topDepartmentsGrid__item a:hover::before {
    width: 100%;
    z-index: -1;
  }
}
.p-feature .p-topDepartmentsGrid__item img {
    margin: auto;
}
.p-topDepartmentsGrid__item:nth-child(1) .p-topDepartmentsGrid__image img {
  width: clamp(5.037037037rem, calc(60 * 100vw / 1620), 6rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(1) .p-topDepartmentsGrid__image img {
    width: 3rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(2) .p-topDepartmentsGrid__image img {
  width: clamp(3.8617283951rem, calc(46 * 100vw / 1620), 4.6rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(2) .p-topDepartmentsGrid__image img {
    width: 2.3rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(3) .p-topDepartmentsGrid__image img {
  width: clamp(5.037037037rem, calc(60 * 100vw / 1620), 6rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(3) .p-topDepartmentsGrid__image img {
    width: 3rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(4) .p-topDepartmentsGrid__image img {
  width: clamp(3.3580246914rem, calc(40 * 100vw / 1620), 4rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(4) .p-topDepartmentsGrid__image img {
    width: 2rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(5) .p-topDepartmentsGrid__image img {
  width: clamp(4.0rem, calc(46 * 100vw / 1620), 4.6rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(5) .p-topDepartmentsGrid__image img {
    width: 2.8rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(6) .p-topDepartmentsGrid__image img {
  width: clamp(5.7086419753rem, calc(68 * 100vw / 1620), 6.8rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(6) .p-topDepartmentsGrid__image img {
    width: 3.4rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(7) .p-topDepartmentsGrid__image img {
  width: clamp(4.6172839506rem, calc(55 * 100vw / 1620), 5.5rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(7) .p-topDepartmentsGrid__image img {
    width: 2.7rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(8) .p-topDepartmentsGrid__image img {
  width: clamp(4.7rem, calc(46 * 100vw / 1620), 4.6rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(8) .p-topDepartmentsGrid__image img {
    width: 3.0rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(9) .p-topDepartmentsGrid__image img {
  width: clamp(4.3654320988rem, calc(52 * 100vw / 1620), 5.2rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(9) .p-topDepartmentsGrid__image img {
    width: 2.6rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(10) .p-topDepartmentsGrid__image img {
  width: clamp(3.6098765432rem, calc(43 * 100vw / 1620), 4.3rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(10) .p-topDepartmentsGrid__image img {
    width: 2.2rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(11) .p-topDepartmentsGrid__image img {
  width: clamp(3.6938271605rem, calc(44 * 100vw / 1620), 4.4rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(11) .p-topDepartmentsGrid__image img {
    width: 2.2rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(12) .p-topDepartmentsGrid__image img {
  width: clamp(4.4rem, calc(44 * 100vw / 1620), 4.4rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(12) .p-topDepartmentsGrid__image img {
    width: 2.6rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(13) .p-topDepartmentsGrid__image img {
  width: clamp(4.1135802469rem, calc(49 * 100vw / 1620), 4.9rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(13) .p-topDepartmentsGrid__image img {
    width: 2.5rem;
  }
}
.p-topDepartmentsGrid__item:nth-child(14) .p-topDepartmentsGrid__image img {
  width: clamp(3.3580246914rem, calc(60 * 100vw / 1620), 6.0rem);
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__item:nth-child(14) .p-topDepartmentsGrid__image img {
    width: 3.0rem;
  }
}

.p-topDepartmentsGrid__image {
  position: absolute;
  top: 0;
  left: clamp(0.4197530864rem, calc(5 * 100vw / 1620), 0.5rem);
  width: clamp(8.3111111111rem, calc(99 * 100vw / 1620), 9.9rem);
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__image {
    left: 5px;
    width: 4.5rem;
  }
}

.p-topDepartmentsGrid__text {
  position: relative;
  font-size: clamp(1.6790123457rem, calc(20 * 100vw / 1620), 2rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-block: 0;
}
@media screen and (max-width: 767px) {
  .p-topDepartmentsGrid__text {
    font-size: 1.6rem;
    line-height: 1.2142857143;
  }
}

