@charset "UTF-8";
/*
#overview
base
*/
/*
#colors
@$primaryColor #00578E
@$secondaryColor #122e7e
@$textColor #4E4E4E
*/
/*! destyle.css v1.0.15 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model */
/* ============================================ */
* {
  box-sizing: border-box;
}

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

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 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: inherit; /* 2 */
}

address {
  font-style: inherit;
}

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * 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: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
  vertical-align: bottom;
}

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

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

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

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

html {
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  color: #000;
  font-size: 1.3rem;
  font-weight: 400;
  word-wrap: break-word;
  background-color: #f4f4f4;
}
@media screen and (max-width: 1024px) {
  body {
    font-size: 1.3rem;
  }
}

a img {
  transition-property: opacity;
  transition-duration: 0.2s;
  backface-visibility: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

input:focus,
optgroup:focus,
select:focus,
textarea:focus {
  outline: -webkit-focus-ring-color auto 1px;
  outline-color: -webkit-focus-ring-color;
  outline-style: auto;
  outline-width: 1px;
}

small {
  font-size: inherit;
}

iframe[name=google_conversion_frame] {
  float: left;
  width: 0 !important;
  height: 0 !important;
  margin-top: -13px;
  line-height: 0 !important;
  font-size: 0 !important;
}

.l-main {
  width: 100%;
  overflow: hidden;
}

.c-btn1 {
  font-size: 1.2rem;
  line-height: 2;
  color: #000;
  display: inline-block;
  padding-right: 30px;
  padding-block: 10px;
  position: relative;
}
.c-btn1::before {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 21px;
  height: 21px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21'%3E%3Cg transform='translate(-1047.77 -1239.77)'%3E%3Cg transform='translate(1051.9 1246.468)'%3E%3Cpath d='M0,0H12.74' transform='translate(12.74 3.916) rotate(180)' fill='none' stroke='%23000' stroke-linecap='round' stroke-width='0.8'/%3E%3Cpath d='M0,0H7.833' transform='translate(5.956 0) rotate(30)' fill='none' stroke='%23000' stroke-width='0.8'/%3E%3Cpath d='M0,0H7.833' transform='translate(5.956 7.833) rotate(-30)' fill='none' stroke='%23000' stroke-width='0.8'/%3E%3C/g%3E%3Cg transform='translate(1047.77 1239.77)' fill='none' stroke='%23000' stroke-width='0.8'%3E%3Ccircle cx='10.5' cy='10.5' r='10.5' stroke='none'/%3E%3Ccircle cx='10.5' cy='10.5' r='10.1' fill='none'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  transition: all 0.8s ease;
  opacity: 0.4;
}
.c-btn1::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(#7B746E);
  background-color: #cbcbcb;
  background-size: 18px 1px;
  background-repeat: no-repeat;
  transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.c-btn1:hover::before {
  opacity: 0.9;
}
.c-btn1:hover::after {
  background-size: 100% 1px;
}
.c-btn1--white::before {
  filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(90deg) brightness(107%) contrast(101%);
}

.c-btn2 {
  font-size: 1.2rem;
  line-height: 2;
  display: inline-block;
  color: #fff;
  background-color: #909090;
  height: 34px;
  padding: 5px 16px;
  text-align: center;
  transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.c-btn2:hover {
  color: #000;
  background-color: #fff;
}

.c-btn3 {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #000;
  display: inline-block;
  padding-right: 45px;
  padding-block: 20px;
  position: relative;
  width: 100%;
}
.c-btn3::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 42 42'%3E%3Cg transform='translate(-328.485 -4402.156)'%3E%3Ccircle cx='21' cy='21' r='21' transform='translate(328.485 4402.156)' fill='%23e3e3e3'/%3E%3Cg transform='translate(341.067 4418.185)'%3E%3Cpath d='M0,0H15.365' transform='translate(15.365 4.723) rotate(180)' fill='none' stroke='%23000' stroke-linecap='round' stroke-width='1'/%3E%3Cpath d='M0,0H9.447' transform='translate(7.183 0) rotate(30)' fill='none' stroke='%23000' stroke-width='1'/%3E%3Cpath d='M0,0H9.447' transform='translate(7.183 9.447) rotate(-30)' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-size: 41px 41px;
  background-repeat: no-repeat;
  background-position: right 0 bottom 17px;
  transition: all 0.8s ease;
}
.c-btn3::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(#7B746E);
  background-color: #cbcbcb;
  background-size: 6px 1px;
  background-repeat: no-repeat;
  transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.c-btn3:hover::before {
  opacity: 1;
}
.c-btn3:hover::after {
  background-size: 100% 1px;
}

.c-ttl1__en {
  font-size: 3rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #000;
}
@media screen and (max-width: 767px) {
  .c-ttl1__en {
    font-size: 2.5rem;
  }
}
.c-ttl1__ja {
  font-size: 1.2rem;
  line-height: 2;
  font-weight: 500;
  color: #7b746e;
}
@media screen and (max-width: 767px) {
  .c-ttl1__ja {
    font-size: 1rem;
  }
}
.c-ttl1--white {
  color: #fff;
}

.c-ttl2__en {
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-ttl2__ja {
  font-size: 2.2rem;
  line-height: 1.8181818182;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-ttl2__ja {
    font-size: 2rem;
    line-height: 1.75;
  }
}

.c-ttl3__ja {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0em;
  font-weight: 500;
  color: #000;
}

.c-ttl22 {
  font-size: 2.2rem;
  line-height: 1.8181818182;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.c-ttl20 {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-ttl20 {
    font-size: 1.6rem;
  }
}

.c-txt14 {
  font-size: 1.4rem;
  line-height: 2.5;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .c-txt14 {
    font-size: 1.3rem;
    line-height: 2.6923076923;
  }
}

.c-txt14--m {
  font-size: 1.4rem;
  line-height: 2.1428571429;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-txt14--m {
    font-size: 1.3rem;
  }
}

.c-txt14--40 {
  font-size: 1.4rem;
  line-height: 2.8571428571;
}
@media screen and (max-width: 767px) {
  .c-txt14--40 {
    font-size: 1.3rem;
    line-height: 2.6923076923;
  }
}

.c-txt13--m {
  font-size: 1.3rem;
  line-height: 2.3076923077;
  font-weight: 500;
}

.c-txt18 {
  font-size: 1.8rem;
  line-height: 2.2222222222;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.c-anchor {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 25px;
  font-size: 1.2rem;
  line-height: 1.4166666667;
  font-weight: 300;
  letter-spacing: 0.09em;
  color: #000;
}
@media screen and (max-width: 767px) {
  .c-anchor {
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.5714285714;
    letter-spacing: 0;
    color: #4e4e4e;
    font-family: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
    font-weight: 400;
  }
}
@media screen and (max-width: 767px) {
  .c-anchor__item {
    width: 100%;
  }
}
.c-anchor__link {
  position: relative;
  padding: 3px 5px;
  padding-right: 25px;
  display: block;
}
@media screen and (max-width: 767px) {
  .c-anchor__link {
    padding-left: 0;
  }
}
.c-anchor__link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  transform: scaleX(0);
  transition: transform 0.3s ease;
  transform-origin: left;
}
@media screen and (max-width: 767px) {
  .c-anchor__link::before {
    transform: scale(1);
  }
}
.c-anchor__link::after {
  content: "";
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12.221' height='12.221' viewBox='0 0 12.221 12.221'%3E%3Cg transform='translate(6.11 0) rotate(45)' fill='none' stroke-linecap='round'%3E%3Cpath d='M0,0V.03L.709.738H7.381L.041,8.079.562,8.6,7.9,1.26V7.933l.709.708h.03V0Z' stroke='none'/%3E%3Cpath d='M -9.5367431640625e-07 -0.000392913818359375 L 8.641459465026855 -7.343292236328125e-05 L 8.641459465026855 8.641066551208496 L 8.611759185791016 8.641066551208496 L 7.903189182281494 7.932816982269287 L 7.903189182281494 1.259966850280762 L 0.5623188018798828 8.600517272949219 L 0.04054927825927734 8.078746795654297 L 7.38141918182373 0.7378768920898438 L 0.7085690498352051 0.7378768920898438 L -9.5367431640625e-07 0.02962684631347656 L -9.5367431640625e-07 -0.000392913818359375 Z' stroke='none' fill='%23000000'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-size: 100%;
}
.c-anchor__link:hover {
  text-decoration: none;
}
.c-anchor__link:hover::before {
  transform: scaleX(1);
}

.c-pagepagi {
  margin-top: 130px;
  text-align: center;
  font-size: 1.3rem;
  line-height: 2.3076923077;
  letter-spacing: 0.2em;
  font-weight: 500;
  color: #000;
}
@media screen and (max-width: 767px) {
  .c-pagepagi {
    margin-top: 85px;
  }
}
.c-pagepagi .nav-links {
  max-width: 390px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
}
.c-pagepagi__viewall {
  background-image: linear-gradient(#7B746E);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: left bottom;
}
.c-pagepagi .is-disabled {
  pointer-events: none;
  cursor: none;
  opacity: 0.3;
}

.c-archivepagi {
  margin-top: 130px;
  font-size: 1.3rem;
  line-height: 2.3076923077;
  letter-spacing: 0.2em;
  font-weight: 500;
  text-align: center;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-archivepagi {
    margin-top: 85px;
  }
}
.c-archivepagi a,
.c-archivepagi span {
  display: inline-block;
  padding: 0 3px;
  border-bottom: 1px solid transparent;
  transition: border 0.3s ease;
  margin: 0 0.8em;
}
.c-archivepagi a.current, .c-archivepagi a:hover,
.c-archivepagi span.current,
.c-archivepagi span:hover {
  border-color: #909090;
  text-decoration: none;
}
.c-archivepagi .previouspostslink,
.c-archivepagi .nextpostslink {
  background-size: 15px 15px;
  background-position: center center;
  background-repeat: no-repeat;
  color: #000;
}
.c-archivepagi .is-disabled {
  pointer-events: none;
  cursor: none;
  opacity: 0.3;
}

.c-inputradio {
  --radio-main-color: #3B4043;
  --radio-border-color: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px 30px;
  min-height: 45px;
  font-size: 1.4rem;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #3B4043;
  padding-top: 10px;
}
@media screen and (max-width: 767px) {
  .c-inputradio {
    padding: 20px 0;
    column-gap: 24px;
    font-size: 1.2rem;
    line-height: 1.75;
  }
}
.c-inputradio--nobg {
  background-color: transparent;
  padding-left: 0;
  padding-bottom: 0;
}
.c-inputradio--square {
  gap: 3px 30px;
  flex-direction: column;
  align-items: start;
}
.c-inputradio__text {
  padding-left: 26px;
  position: relative;
  padding-right: 45px;
}
.c-inputradio__item {
  flex-shrink: 0;
}
.c-inputradio__other {
  margin-top: 20px;
  width: 100%;
}
.c-inputradio__other--underline {
  border-bottom: 1px var(--table-bd-style) var(--table-bd-color);
  padding-bottom: 1px;
}
@media screen and (max-width: 767px) {
  .c-inputradio__other--underline {
    border-bottom-width: 0;
    padding-bottom: 0;
  }
}
.c-inputradio__othertext {
  width: 100%;
}
.c-inputradio__othertext input {
  height: 57px !important;
}
.c-inputradio__label {
  position: relative;
  padding-left: 2.5em;
}
.c-inputradio__label::before, .c-inputradio__label::after {
  transform: translateY(0.05em);
}
.c-inputradio__label::before {
  position: absolute;
  content: "";
  left: 0;
  top: -3px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid var(--radio-border-color);
  background-color: #fff;
  z-index: 1;
}
.c-inputradio__label::after {
  left: 6px;
  top: 3px;
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--radio-main-color);
  opacity: 0;
  z-index: 2;
}
.c-inputradio__label--square::before, .c-inputradio__label--square::after {
  border-radius: 0;
  width: 25px;
  height: 25px;
  left: 0;
  top: -0.2em;
}
.c-inputradio__label--square::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%232B2B2B' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 15px 15px;
  background-position: center;
  background-color: transparent;
}
.c-inputradio__input {
  display: none;
}
.c-inputradio__input:checked ~ label .c-inputradio__label::after, .c-inputradio__input:checked ~ label::after {
  opacity: 1;
}

.c-inputselect {
  position: relative;
}
.c-inputselect::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 22px;
  width: 10px;
  height: 9px;
  pointer-events: none;
}
.c-inputselect__input {
  width: 100%;
  height: 57px;
  padding: 10px var(--table-input-padding-inline);
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .c-inputselect__input {
    padding: 5px var(--table-input-padding-inline);
  }
}

.c-datetimepick {
  display: grid;
  align-items: center;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-datetimepick {
    grid-template-columns: 100%;
  }
}
.c-datetimepick__date {
  position: relative;
  padding-right: 50px;
}
@media screen and (max-width: 1024px) {
  .c-datetimepick__date {
    margin-right: 40px;
  }
}
.c-datetimepick__date::before {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22.75' height='26' viewBox='0 0 22.75 26'%3E%3Cpath id='Icon_awesome-calendar-check' data-name='Icon awesome-calendar-check' d='M22.141,8.125H.609A.609.609,0,0,1,0,7.516V5.688A2.437,2.437,0,0,1,2.438,3.25H4.875V.609A.609.609,0,0,1,5.484,0H7.516a.609.609,0,0,1,.609.609V3.25h6.5V.609A.609.609,0,0,1,15.234,0h2.031a.609.609,0,0,1,.609.609V3.25h2.438A2.437,2.437,0,0,1,22.75,5.688V7.516A.609.609,0,0,1,22.141,8.125ZM.609,9.75H22.141a.609.609,0,0,1,.609.609v13.2A2.437,2.437,0,0,1,20.313,26H2.438A2.437,2.437,0,0,1,0,23.563v-13.2A.609.609,0,0,1,.609,9.75Zm16.925,4.872L16.1,13.18a.609.609,0,0,0-.862,0L9.858,18.518,7.523,16.164a.609.609,0,0,0-.862,0L5.219,17.591a.609.609,0,0,0,0,.862L9.41,22.682a.609.609,0,0,0,.862,0l7.259-7.2a.609.609,0,0,0,0-.862Z' fill='%237c7c7c'/%3E%3C/svg%3E%0A");
  background-size: contain;
  width: 23px;
  height: 26px;
  top: 14px;
  right: 5px;
}

.c-form {
  --table-bd-color: #ffffff;
  --table-bd-style: solid;
  --table-sp-bd-color: #ffffff;
  --table-input-padding-inline: 25px;
  --table-lcol: 240px;
}
@media screen and (max-width: 767px) {
  .c-form {
    --table-lcol: 100%;
    --table-input-padding-inline: 20px;
  }
}
.c-form hr {
  margin-top: 40px;
  border-top-color: #A3A3A3;
}
.c-form input,
.c-form select,
.c-form textarea {
  outline-style: groove;
  font-size: 1.4rem;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #3b4043;
}
.c-form input[type=email],
.c-form input[type=password],
.c-form input[type=text] {
  width: 100%;
  height: 57px;
  padding: 15px var(--table-input-padding-inline);
  background-color: #ffffff;
  border-radius: 3px 0 3px 0;
}
@media screen and (max-width: 767px) {
  .c-form input[type=email],
  .c-form input[type=password],
  .c-form input[type=text] {
    padding: 5px var(--table-input-padding-inline);
  }
}
.c-form input[type=email]::placeholder,
.c-form input[type=password]::placeholder,
.c-form input[type=text]::placeholder {
  font-size: 1.4rem;
  line-height: 3.2142857143;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #000;
  opacity: 0.2;
}
.c-form input[type=email].is-stable,
.c-form input[type=password].is-stable,
.c-form input[type=text].is-stable {
  border-color: transparent;
  pointer-events: none;
}
.c-form input[type=email]:disabled,
.c-form input[type=password]:disabled,
.c-form input[type=text]:disabled {
  background-color: #E2E2E2;
  color: rgba(0, 0, 0, 0.2);
}
.c-form textarea {
  resize: none;
  padding: 15px var(--table-input-padding-inline);
  width: 100%;
  background-color: #ffffff;
}
.c-form textarea::placeholder {
  font-size: 1.4rem;
  line-height: 3.2142857143;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #000;
  opacity: 0.2;
}
.c-form__each {
  display: flex;
  column-gap: 36px;
}
@media screen and (max-width: 767px) {
  .c-form__each {
    flex-wrap: wrap;
    border-bottom-width: 0;
    padding-block: 20px;
  }
}
.c-form__left {
  width: var(--table-lcol);
  flex-shrink: 0;
  padding-right: 10px;
  position: relative;
  margin-top: 25px;
  padding-top: 10px;
  font-size: 1.4rem;
  line-height: 2.1428571429;
  color: #3b4043;
}
@media screen and (max-width: 767px) {
  .c-form__left {
    margin-top: 0;
    padding: 10px 0 12px;
    justify-content: start;
    column-gap: 25px;
  }
}
.c-form__left--required::after {
  position: absolute;
  right: 0;
  top: 10px;
  display: inline-block;
  content: "必須";
  margin-left: 1.5em;
  background-color: #E3584C;
  border-radius: 5px;
  padding: 0 6px;
  font-size: 1.2rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #fff;
  text-align: center;
  width: 77px;
}
.c-form__right {
  margin-top: 25px;
  flex-grow: 1;
  min-height: 57px;
  font-size: 1.4rem;
  line-height: 2.1428571429;
  color: #3b4043;
}
@media screen and (max-width: 767px) {
  .c-form__right {
    margin-top: 15px;
  }
}
.c-form__right p {
  padding-top: 10px;
  padding-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .c-form__right p {
    min-height: auto;
    padding-top: 0;
  }
}
.c-form__input--small {
  max-width: 240px;
}
@media screen and (max-width: 767px) {
  .c-form__input--small {
    max-width: 100%;
  }
}
.c-form__address {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
  width: 100%;
}
.c-form__group {
  --table-input-padding-inline: 24px;
  display: flex;
  align-items: center;
  gap: 18px 30px;
  font-size: 1.4rem;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #3b4043;
}
@media screen and (max-width: 767px) {
  .c-form__group {
    flex-wrap: wrap;
    min-height: 57px;
    gap: 15px 10px;
  }
}
.c-form__group + .c-form__group {
  margin-top: 20px;
}
.c-form__group label {
  width: 7.5em;
  flex-shrink: 0;
  font-size: 1.4rem;
  line-height: 1.7857142857;
  letter-spacing: 0.15em;
  font-weight: 400;
  color: #000;
}
.c-form__group--small {
  max-width: 320px;
}
@media screen and (max-width: 767px) {
  .c-form__group--small {
    max-width: 100%;
  }
}
.c-form__inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  padding-left: 3em;
}
.c-form__inlinelb {
  width: 3em;
  position: absolute;
  left: 0;
  top: 0.75em;
}
.c-form__groupinput {
  flex-grow: 1;
}
.c-form__confirmation {
  margin-top: 60px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px 30px;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-form__confirmation {
    column-gap: 15px;
    row-gap: 15px;
  }
}
.c-form__privacy {
  border-bottom: 1px solid currentColor;
  transition: opacity 0.3s ease;
}
.c-form__privacy:hover {
  opacity: 0.8;
  text-decoration: none;
}
.c-form__agreement {
  margin-top: 30px;
  font-size: 1.4rem;
  line-height: 3.2142857143;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #000;
}
@media screen and (max-width: 767px) {
  .c-form__agreement {
    font-size: 1.2rem;
  }
}
.c-form__agreement input {
  margin-right: -2em;
  width: 0;
  outline: none !important;
  display: none;
}
.c-form__agreement label {
  position: relative;
  padding-left: 2.75em;
}
.c-form__agreement label::before {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  left: 0;
  top: 55%;
  display: block;
  transform: translateY(-50%);
  z-index: 1;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .c-form__agreement label::before {
    width: 20px;
    height: 20px;
  }
}
.c-form__agreement label::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  left: 6px;
  top: 55%;
  transform: translateY(-50%);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .c-form__agreement label::after {
    width: 12px;
    height: 12px;
    left: 4px;
  }
}
.c-form__agreement input:checked ~ label::after {
  background-color: #222222;
}
.c-form__agreement .required {
  margin-left: 2em;
  font-size: 1.2rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #fff;
  background-color: #BE2323;
  display: inline-block;
  width: 77px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-form__agreement .required {
    width: 50px;
  }
}
.c-form__agreement .line {
  background: linear-gradient(90deg, currentColor 0%, currentColor 100%);
  background-size: 0% 1px;
  background-position: left bottom;
  background-repeat: no-repeat;
  display: inline;
  transition: all 0.3s ease-in-out;
  padding-bottom: 0.25em;
  color: #333333;
  background-size: 100% 1px;
}
.c-form__agreement .line:hover {
  text-decoration: none;
}
.c-form__cftxt {
  padding-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .c-form__cftxt {
    padding-left: 0;
  }
}
.c-form [name=form_type] {
  color: transparent;
  width: 0;
  height: 0;
  outline: none;
}
.c-form__tocal {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  transition: all 0.3s ease;
}
.c-form__tocal:hover {
  background-color: rgba(172, 172, 172, 0.1254901961);
}
.c-form__tocal.is-hide {
  display: none;
}
.c-form.is-loading {
  position: relative;
}
.c-form.is-loading::after {
  content: "";
  position: absolute;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 10;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  box-shadow: 0 0 30px 4000px rgba(0, 0, 0, 0.5);
}
.c-form__submit {
  margin-top: 20px;
  text-align: center;
  font-size: 1.4rem;
  line-height: 2.1428571429;
  font-weight: 500;
  letter-spacing: 0.145em;
}
@media screen and (max-width: 767px) {
  .c-form__submit {
    margin-top: 10px;
  }
}
.is-loading .c-form__submittxt {
  display: none;
}
.c-form__submitloading {
  display: none;
}
.is-loading .c-form__submitloading {
  display: inline;
}
.c-form__submitloading svg {
  width: 45px;
  height: 45px;
}
.c-form__submitb {
  display: inline-block;
  width: 220px;
  height: 51px;
  background-color: #dbdbdb;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-weight: 500;
  color: #000;
  text-align: center;
  padding: 15px 10px;
  transition: background-color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .c-form__submitb:hover {
    background-color: #000;
    color: #fff;
  }
}
.c-form__submitc {
  margin-top: 50px;
  display: inline-block;
  width: 220px;
  height: 48px;
  background-color: #3A4346;
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #fff;
  text-align: center;
  padding: 11px 10px;
  transition: background-color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .c-form__submitc:hover {
    background-color: #000;
  }
}
.c-form__note {
  font-size: 1.3rem;
  line-height: 2.6923076923;
}
.c-form__ttl {
  padding-bottom: 10px;
  font-size: 1.6rem;
  line-height: 1.875;
  font-weight: 500;
  color: #3b4043;
  border-bottom: 1px solid #909090;
}
.c-form__clear {
  position: absolute;
  left: 100%;
  top: 10px;
  padding: 10px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .c-form__clear {
    left: unset;
    right: 0;
  }
}

.c-validate__errortxt {
  display: block;
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #e3584c;
}

@media screen and (max-width: 1024px) {
  .u-pc-only {
    display: none;
  }
}

.u-pc-hidden {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-pc-hidden {
    display: inline-block;
  }
}

.u-sp-hidden {
  display: initial;
}
@media screen and (max-width: 767px) {
  .u-sp-hidden {
    display: none;
  }
}

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

.l-cont0 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}

.l-cont1 {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  max-width: 940px;
}

.l-cont2 {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  max-width: 850px;
}

.l-cont3 {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}

.l-cont4 {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  max-width: 792px;
}

.l-cont5 {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  max-width: 894px;
}

.l-cont6 {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  max-width: 782px;
}

.l-wrap1 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1090px;
  margin-left: auto;
  align-items: center;
  padding-left: 20px;
}
.l-wrap1__info {
  padding-right: 65px;
}

.l-wrap2 {
  margin-top: 50px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1090px;
  padding-left: 20px;
  margin-left: auto;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-wrap2 {
    grid-template-columns: 100%;
    padding-right: 20px;
  }
}
.l-wrap2__thumb {
  grid-area: 1/2/5/3;
}
@media screen and (max-width: 767px) {
  .l-wrap2__thumb {
    grid-area: auto;
  }
}
.l-wrap2__desc, .l-wrap2__ttl {
  margin-right: 65px;
}
@media screen and (max-width: 767px) {
  .l-wrap2__desc, .l-wrap2__ttl {
    margin-right: 0;
  }
}
.l-wrap2__ttl {
  padding-bottom: 0.5em;
  border-bottom: 1px solid #CBCBCB;
  grid-row: 2/3;
}
.l-wrap2__desc {
  margin-top: 25px;
  grid-row: 3/4;
}
@media screen and (max-width: 767px) {
  .l-wrap2__desc {
    margin-top: 15px;
  }
}
.l-wrap2--reverse {
  margin-right: auto;
  margin-left: 0;
  padding-right: 20px;
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .l-wrap2--reverse {
    padding-left: 20px;
  }
}
.l-wrap2--reverse .l-wrap2__thumb {
  grid-area: 1/1/5/2;
}
@media screen and (max-width: 767px) {
  .l-wrap2--reverse .l-wrap2__thumb {
    grid-area: auto;
  }
}
.l-wrap2--reverse .l-wrap2__desc, .l-wrap2--reverse .l-wrap2__ttl {
  margin-left: 64px;
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .l-wrap2--reverse .l-wrap2__desc, .l-wrap2--reverse .l-wrap2__ttl {
    margin-left: 0;
  }
}

.l-wrap3 {
  display: grid;
  grid-template-columns: 1fr 403px;
  max-width: 1070px;
  align-items: center;
  padding-right: 20px;
}
@media screen and (max-width: 767px) {
  .l-wrap3 {
    grid-template-columns: 100%;
    padding-right: 0;
  }
}
.l-wrap3__info {
  padding-left: 60px;
}
@media screen and (max-width: 767px) {
  .l-wrap3__info {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.l-wrap3__desc {
  margin-top: 25px;
}

.l-wrap4 {
  margin-top: 70px;
  display: grid;
  grid-template-columns: 517fr 529fr;
  max-width: 1066px;
  padding-left: 20px;
  margin-left: auto;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-wrap4 {
    grid-template-columns: 100%;
    padding-right: 20px;
  }
}
.l-wrap4__thumb {
  grid-area: 1/2/5/3;
}
@media screen and (max-width: 767px) {
  .l-wrap4__thumb {
    grid-area: auto;
  }
}
.l-wrap4__desc, .l-wrap4__ttl {
  margin-right: 50px;
}
@media screen and (max-width: 767px) {
  .l-wrap4__desc, .l-wrap4__ttl {
    margin-right: 0;
  }
}
.l-wrap4__ttl {
  padding-bottom: 0.5em;
  border-bottom: 1px solid #CBCBCB;
  grid-row: 2/3;
}
@media screen and (max-width: 767px) {
  .l-wrap4__ttl {
    margin-top: 1em;
    grid-area: auto;
  }
}
.l-wrap4__desc {
  margin-top: 25px;
  grid-row: 3/4;
}
@media screen and (max-width: 767px) {
  .l-wrap4__desc {
    grid-area: auto;
  }
}
.l-wrap4--reverse {
  grid-template-columns: 529fr 517fr;
  margin-right: auto;
  margin-left: 0;
  padding-right: 20px;
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .l-wrap4--reverse {
    grid-template-columns: 100%;
    padding-left: 20px;
  }
}
.l-wrap4--reverse .l-wrap4__thumb {
  grid-column: 1/2;
}
@media screen and (max-width: 767px) {
  .l-wrap4--reverse .l-wrap4__thumb {
    grid-column: auto;
  }
}
.l-wrap4--reverse .l-wrap4__desc, .l-wrap4--reverse .l-wrap4__ttl {
  margin-left: 50px;
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .l-wrap4--reverse .l-wrap4__desc, .l-wrap4--reverse .l-wrap4__ttl {
    margin-left: 0;
  }
}
.l-wrap4--nottl .l-wrap4__thumb {
  grid-row-end: 6;
}

.l-2colimage {
  display: grid;
  gap: 20px 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  .l-2colimage {
    grid-template-columns: 100%;
  }
}
.l-2colimage__item--x2 {
  grid-column: span 2;
}
@media screen and (max-width: 767px) {
  .l-2colimage__item--x2 {
    grid-column: auto;
  }
}

.c-tellink {
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .c-tellink {
    pointer-events: auto;
  }
}

.c-bgcoverlay {
  padding-top: 100px;
  padding-bottom: 130px;
  background-color: #ebebeb;
  border-image: linear-gradient(#ebebeb) fill 0/0/0 100vw;
}

.c-infotable--620 {
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}
.c-infotable__item {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 15px;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #909090;
}
.c-infotable__item:last-of-type {
  border-bottom-width: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .c-infotable__item {
    grid-template-columns: 120px 1fr;
  }
}

.u-txtcenter {
  text-align: center;
}

.u-mt150 {
  margin-top: 150px;
}

.u-mt130 {
  margin-top: 130px;
}

.u-mt100 {
  margin-top: 100px;
}

.u-mt70 {
  margin-top: 70px;
}

.u-mt50 {
  margin-top: 50px;
}

.u-mt40 {
  margin-top: 40px;
}

.u-mt30 {
  margin-top: 30px;
}

.u-fw500 {
  font-weight: 500;
}

:root {
  --cursor-dot: #000;
  --cursor-circle: #000;
}

.fadeIn {
  opacity: 0;
  transition: 1s;
}
.fadeIn.is-show {
  opacity: 1;
}

.fadeInUp {
  opacity: 0;
  transition: 1s;
  transform: translate(0, 50px);
}
.fadeInUp.is-show {
  opacity: 1;
  transform: translate(0, 0);
}

.zoomIn {
  opacity: 0;
  transition: 1s;
  transform: scale(0.6);
}
.zoomIn.is-show {
  opacity: 1;
  transform: scale(1);
}

.swiper-slide-duplicate-active .c-animationzoomout img, .swiper-slide-active .c-animationzoomout img {
  animation: zoomOutAnim 5s linear;
}

@keyframes zoomOutAnim {
  0% {
    transform: scale(1.12);
  }
  100% {
    transform: scale(1);
  }
}
.c-scrollinganimated {
  opacity: 0;
}
.c-scrollinganimated.is-actived[data-animation-type=sa-fadeinbottom] {
  animation: slide-in-blurred-bottom 1s cubic-bezier(0.23, 1, 0.32, 1) both;
}

@keyframes slide-in-blurred-bottom {
  0% {
    transform: translateY(100px);
    transform-origin: 50% 100%;
    filter: blur(40px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    transform-origin: 50% 50%;
    filter: blur(0);
    opacity: 1;
  }
}
@keyframes slide-in-blurred-top {
  0% {
    transform: translateY(-100px);
    transform-origin: 50% 0%;
    filter: blur(40px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    transform-origin: 50% 50%;
    filter: blur(0);
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.c-hvbdline__txt {
  background: linear-gradient(90deg, currentColor 0%, currentColor 100%);
  background-size: 0% 1px;
  background-position: left bottom;
  background-repeat: no-repeat;
  transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  padding-bottom: 0.15em;
}
.c-hvbdline:hover .c-hvbdline__txt {
  background-size: 100% 1px;
  text-decoration: none;
}

.c-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 998;
  background-color: #EBEBEB;
  border-bottom: 1px solid #C3C3C3;
  transition: all 0.5s cubic-bezier(0.34, 1, 0.64, 1);
}
.top .c-header {
  color: #fff;
  background-color: rgba(235, 235, 235, 0);
}
.top.is-passed .c-header {
  color: #4E5355;
  background-color: #ebebeb;
}
.top.is-passed.u-stopscrollbody .c-header, .u-stopscrollbody .c-header {
  background-color: transparent;
  border-bottom-color: transparent;
  color: #fff;
}
.c-header__logo {
  margin-right: auto;
}
.top .c-header__logo {
  filter: brightness(0) saturate(100%) invert(94%) sepia(6%) saturate(0%) hue-rotate(44deg) brightness(105%) contrast(105%);
}
.top.is-passed .c-header__logo {
  filter: none;
}
.u-stopscrollbody .c-header__logo {
  opacity: 0;
}
.c-header__logo picture,
.c-header__logo img,
.c-header__logo a {
  display: block;
}
.c-header__contact {
  display: flex;
  gap: 8px;
  line-height: 1;
}
.top .c-header__contact {
  filter: brightness(0) saturate(100%) invert(94%) sepia(6%) saturate(0%) hue-rotate(44deg) brightness(105%) contrast(105%);
}
.top.is-passed .c-header__contact {
  filter: none;
}
.u-stopscrollbody .c-header__contact {
  opacity: 0;
}
.c-header__inner {
  display: flex;
  height: 70px;
  gap: 20px;
  padding-left: 50px;
  padding-right: 50px;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .c-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.c-navigation {
  margin-left: auto;
  margin-right: auto;
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 500;
}
.u-stopscrollbody .c-navigation {
  opacity: 0;
}
@media screen and (max-width: 1024px) {
  .c-navigation {
    display: none;
  }
}
.c-navigation ul {
  display: flex;
  gap: 1.25em;
}
.c-navigation__item {
  height: 71px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #C3C3C3;
  transition: all 0.8s cubic-bezier(0.34, 1, 0.64, 1);
}
.is-current .c-navigation__item, .c-navigation__item:hover {
  border-bottom-color: #fff;
}

.c-gnav {
  z-index: 997;
  position: fixed;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  bottom: 0;
  right: 0;
  background-color: #646464;
  color: #fff;
  transition: opacity 0.8s cubic-bezier(0.34, 1, 0.64, 1);
  pointer-events: none;
  overflow: auto;
  opacity: 0;
}
.u-stopscrollbody .c-gnav {
  opacity: 1;
  pointer-events: all;
}
.c-gnav__inner {
  padding-top: 60px;
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr 480px;
}
.c-gnav__inner > * {
  grid-column: span 2;
}
@media screen and (max-width: 767px) {
  .c-gnav__inner {
    grid-template-columns: 100%;
  }
  .c-gnav__inner > * {
    grid-column: auto;
  }
}
.c-gnav__logo {
  grid-area: auto;
}
.c-gnav__contact {
  grid-area: auto;
  padding-bottom: 5px;
  display: flex;
  gap: 5px;
  filter: brightness(0) saturate(100%) invert(94%) sepia(6%) saturate(0%) hue-rotate(44deg) brightness(105%) contrast(105%);
}
.c-gnav__main {
  padding-right: 40px;
  padding-bottom: 15px;
  background-color: #646464;
  border-image: linear-gradient(#646464) fill 0/0/9999px 0 9999px 9999px;
}
@media screen and (max-width: 767px) {
  .c-gnav__main {
    margin-top: 40px;
    padding-right: 0;
    border-image: linear-gradient(#646464) fill 0/0/0 9999px;
  }
}
.c-gnav__nav {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .c-gnav__nav {
    margin-top: 30px;
  }
}
.c-gnav__nav--d1 {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(7, auto);
  column-gap: 30px;
}
@media screen and (max-width: 767px) {
  .c-gnav__nav--d1 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(12, auto);
    gap: 25px;
  }
}
.c-gnav__item {
  margin-top: 30px;
  font-size: 1.2rem;
  line-height: 2;
  font-weight: 500;
}
.c-gnav__item--d1 {
  display: block;
  border-bottom: 1px solid #8B8B8B;
}
.c-gnav__item--span5 {
  grid-row: span 5;
}
.c-gnav__item--span4 {
  grid-row: span 4;
}
.c-gnav__item--narrow {
  letter-spacing: -0.05em;
}
.c-gnav__child {
  margin-top: 15px;
  font-size: 1.1rem;
  line-height: 1.9090909091;
  font-weight: 400;
}
.c-gnav__child li {
  margin-top: 6px;
}
.c-gnav__brand {
  margin-top: 60px;
  display: flex;
  flex-wrap: wrap;
}
.c-gnav__side {
  padding-bottom: 30px;
  grid-area: 1/3/6/4;
  margin-left: auto;
  margin-right: auto;
  max-width: 320px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .c-gnav__side {
    grid-area: auto;
    max-width: 100%;
  }
}
.c-gnav__btn {
  margin-top: 30px;
  display: block;
  font-size: 1.5rem;
  line-height: 2.3333333333;
  letter-spacing: 0.05em;
  font-weight: 500;
  padding: 15px 50px;
  color: #000;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31' height='31' viewBox='0 0 31 31'%3E%3Cg transform='translate(0.244 -0.44)'%3E%3Ccircle cx='15.5' cy='15.5' r='15.5' transform='translate(-0.244 0.44)' fill='%237b746e'/%3E%3Cg transform='translate(9.558 12.437)'%3E%3Cpath d='M0,0H11.4' transform='translate(11.396 3.503) rotate(180)' fill='none' stroke='%23fff' stroke-linecap='round' stroke-width='1'/%3E%3Cpath d='M0,0H7.006' transform='translate(5.327 0) rotate(30)' fill='none' stroke='%23fff' stroke-width='1'/%3E%3Cpath d='M0,0H7.006' transform='translate(5.327 7.006) rotate(-30)' fill='none' stroke='%23fff' stroke-width='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  background-size: 31px 31px;
  background-repeat: no-repeat;
  background-position: center right 50px;
}
.c-gnav__gr {
  margin-top: 30px;
  background-color: #fff;
  padding: 45px 50px;
  text-align: center;
}
.c-gnav__tel {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #000;
}
.c-gnav__adr {
  margin-top: 10px;
  font-size: 1.2rem;
  line-height: 1.6666666667;
  letter-spacing: 0em;
  font-weight: 500;
  color: #000;
}
.c-gnav__btn2 {
  margin-top: 15px;
  display: block;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 500;
  color: #fff;
  padding: 10px 20px;
  background-color: #7b746e;
}

.c-hamicon {
  --w: 52px;
  --c: 30deg;
  --space: 10px;
  --line-color: currentColor;
  width: 52px;
  height: 30px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .c-hamicon {
    --w: 28px;
    --c: 40deg;
    --space: 5px;
    width: 28px;
    height: 20px;
  }
}
.c-hamicon__dash {
  position: absolute;
  top: 50%;
  width: var(--w);
  height: 1px;
  background-color: var(--line-color);
  display: inline-block;
  transition: all 0.3s ease-in-out;
  left: 0;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.c-hamicon__dash1 {
  top: calc(50% - var(--space));
}
.u-stopscrollbody .c-hamicon__dash1 {
  top: calc(50% - var(--w) * sin(var(--c)) / 2);
  transform-origin: top left;
  transform: rotate(var(--c));
  left: calc((var(--w) - cos(var(--c)) * var(--w)) / 2);
}
.u-stopscrollbody .c-hamicon__dash2 {
  transform: translateX(10%);
  opacity: 0;
}
.c-hamicon__dash3 {
  top: calc(50% + var(--space));
}
.u-stopscrollbody .c-hamicon__dash3 {
  top: calc(50% + var(--w) * sin(var(--c)) / 2);
  transform-origin: bottom left;
  transform: rotate(calc(-1 * var(--c)));
  left: calc((var(--w) - cos(var(--c)) * var(--w)) / 2);
}

.c-footer__branch {
  margin-top: 100px;
  padding-bottom: 130px;
}
.c-footer__branchitem {
  position: relative;
  aspect-ratio: 465/120;
  background-color: #3A4346;
}
.c-footer__branchitem img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-footer__branchitem::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.5;
  top: 0;
  left: 0;
}
.c-footer__branchtxt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.6rem;
  line-height: 1.5625;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #fff;
  padding-right: 45px;
}
.c-footer__branchtxt::before {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 30px;
  height: 30px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cg transform='translate(-61.605 -3816.031)'%3E%3Cg transform='translate(62 3816)'%3E%3Cg transform='translate(-0.395 0.031)' fill='none' stroke='%23fff' stroke-width='1'%3E%3Ccircle cx='15' cy='15' r='15' stroke='none'/%3E%3Ccircle cx='15' cy='15' r='14.5' fill='none'/%3E%3C/g%3E%3C/g%3E%3Cpath d='M2.375,0,4.75,4.156H0Z' transform='translate(79.218 3828.468) rotate(90)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.c-footer__gr2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .c-footer__gr2 {
    grid-template-columns: 100%;
  }
}
.c-footer__inner {
  background-color: #5c5c5c;
  color: #fff;
  overflow: hidden;
}
.c-footer__ttl {
  margin-top: 28px;
}
.c-footer__info {
  margin-top: 66px;
  font-size: 1.2rem;
  line-height: 1.6666666667;
  font-weight: 500;
}
.c-footer__infottl {
  margin-top: 30px;
  font-size: 1.4rem;
  line-height: 1.6428571429;
  font-weight: 500;
  border-bottom: 1px solid #8B8B8B;
  padding-bottom: 10px;
}
.c-footer__infoadr {
  margin-top: 11px;
}
.c-footer__infotel {
  margin-top: 10px;
}
.c-footer__copyright {
  margin-top: 60px;
  font-size: 1.1rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-footer__copyright {
    text-align: center;
  }
}

.c-fixedbtn {
  position: fixed;
  z-index: 5;
  right: 50px;
  bottom: 25px;
  font-size: 1.4rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #fff;
  background-color: #313131;
  padding: 9px 20px;
  border-radius: 30px;
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.34, 1, 0.64, 1);
}
@media screen and (max-width: 767px) {
  .c-fixedbtn {
    right: 0;
    bottom: 0;
    border-radius: 0;
    width: 100%;
    color: #fff;
    background-color: #313131;
    text-align: center;
    padding: 11px 20px;
  }
}
.top .c-fixedbtn {
  color: #000;
  background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 767px) {
  .top .c-fixedbtn {
    color: #fff;
    background-color: #313131;
  }
}
.top.is-passed .c-fixedbtn {
  color: #fff;
  background-color: #313131;
}
.c-fixedbtn::before {
  content: "|";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateY(-50%);
}
.c-fixedbtn__item {
  padding: 0 15px;
}

#index1 {
  padding-top: 20px;
}

#index1 article {
  float: left;
  width: 31%;
  margin: 60px 3.5% 0 0;
  position: relative;
}

#index1 article:nth-of-type(3n) {
  margin-right: 0;
}

#index1 article:nth-of-type(3n+1) {
  clear: both;
}

#index1 article h2 {
  -webkit-box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  background-color: #000;
}

#index1 article h2 img {
  width: 100%;
  height: auto;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -moz-transition: -moz-transform 0.2s linear;
  -webkit-transition: -webkit-transform 0.2s linear;
  -o-transition: -o-transform 0.2s linear;
  -ms-transition: -ms-transform 0.2s linear;
  transition: transform 0.2s linear;
  position: relative;
  z-index: 1;
  transition: 0.5s;
}

#index1 article h2 a:hover img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
  opacity: 0.8;
}

#index1 article ul {
  margin-top: -30px;
  overflow: hidden;
  zoom: 1;
}

#index1 article ul li {
  float: left;
  margin-right: 5px;
  position: relative;
  z-index: 2;
}

#index1 article ul li a {
  text-align: center;
  height: 22px;
  padding: 8px 5px 0 5px;
  background-color: #6B635C;
  color: #FFF;
  font-size: 12px;
  min-width: 140px;
  display: block;
}

#index1 article ul li a:hover {
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
}

#index1 article h3 {
  overflow: hidden;
  zoom: 1;
  font-size: 14px;
  line-height: 1.4;
  padding-top: 12px;
  font-weight: bold;
}

#index1 article h3 strong {
  display: block;
  margin-bottom: 5px;
}

#detail1.cts {
  max-width: 860px;
  overflow: hidden;
  zoom: 1;
}

#detail1 article .ahead {
  text-align: center;
}

#detail1 article .ahead h1 {
  font-size: 25px;
  text-align: left;
  font-weight: bold;
  display: inline-block;
  padding-top: 50px;
}

#detail1 article .ahead h2 {
  font-size: 15px;
  font-weight: bold;
  padding-top: 8px;
}

#detail1 article .post-box {
  padding-top: 40px;
}

#detail1 article .post-box .data {
  font-weight: bold;
  font-size: 18px;
  margin-top: 20px;
}

#detail1 article .post-box .tags {
  margin-top: 50px;
}

#detail1 article .post-box .tags p {
  font-weight: bold;
  font-size: 18px;
}

#detail1 article .post-box .tags ul {
  overflow: hidden;
  zoom: 1;
  margin-top: -10px;
}

#detail1 article .post-box .tags ul li {
  float: left;
  margin: 15px 20px 0 0;
  list-style-type: none;
}

#detail1 article #subtext {
  padding-top: 20px;
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
}

#detail1 article #subtext ul li {
  overflow: hidden;
  zoom: 1;
  position: relative;
  padding-top: 50px;
}

#detail1 article #subtext ul li p {
  font-size: 14px;
  line-height: 1.4;
  padding-top: 10px;
}

#detail1 article #subtext .imgl {
  float: left;
  width: 48%;
  clear: both;
}

#detail1 article #subtext .imgr {
  float: right;
  width: 48%;
}

#detail1 article #subtext .imgc {
  clear: both;
  width: 100%;
}

#detail1 article #subtext ul li img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.movie1 {
  padding-top: 40px;
}

.tagselect {
  display: none;
}

.taglist {
  padding-top: 30px;
  margin-bottom: -30px;
  position: relative;
}

.taglist h2 {
  text-align: center;
  font-weight: bold;
  font-size: 25px;
}

.taglist h2 span {
  display: block;
  font-size: 14px;
}

.taglist h4 {
  text-align: center;
  font-weight: bold;
  font-size: 15px;
  background-color: #eeeee9;
  width: 180px;
  position: absolute;
  left: 50%;
  top: 50px;
  z-index: 2;
  margin-left: -90px;
}

.taglist .list {
  border-top: 1px solid #c6c6bf;
  border-bottom: 1px solid #c6c6bf;
  padding: 25px 0 35px 0;
  margin-top: 30px;
  position: relative;
}

.taglist .list ul {
  font-size: 0;
  display: inline-block;
}

.taglist .list .ul2 {
  display: none;
}

.taglist .list ul li {
  font-size: 15px;
  margin: 8px 20px 0 0;
  display: inline-block;
}

.taglist .list h3 {
  display: inline-block;
  text-align: center;
  width: 120px;
  font-weight: bold;
  font-size: 18px;
  position: absolute;
  bottom: -14px;
  left: 50%;
  margin-left: -60px;
  z-index: 2;
  cursor: pointer;
  background-color: #eeeee9;
  transition: 0.4s;
}

.taglist .list h3:hover {
  color: #F77300;
}

.taglist h1 {
  font-size: 28px;
  font-weight: bold;
  margin: 100px 0 0 0;
  text-align: center;
}

@media screen and (max-width: 740px) {
  #index1.cts {
    padding: 0;
  }
  #index1 article {
    float: none;
    width: 100%;
    margin: 0;
    padding-top: 25px;
  }
  #index1 article h3 {
    padding: 12px 6% 0 6%;
  }
  #detail1.cts {
    padding: 60px 0 0 0;
  }
  #detail1 article .ahead {
    text-align: left;
  }
  #detail1 article .ahead h1 {
    font-size: 21px;
    padding: 30px 6% 0 6%;
    display: block;
  }
  #detail1 article .ahead h2 {
    padding: 8px 6% 0 6%;
  }
  #detail1 article .post-box {
    padding: 40px 6% 0 6%;
  }
  #detail1 article #subtext {
    padding: 10px 6% 0 6%;
    max-width: 88%;
  }
  #detail1 article #subtext ul li {
    padding-top: 30px;
  }
  #detail1 article #subtext .imgl {
    float: none;
    width: 100%;
  }
  #detail1 article #subtext .imgr {
    float: none;
    width: 100%;
  }
  #nextback {
    margin-left: 6%;
    margin-right: 6%;
  }
  #detail1.cts.movie1 {
    padding-top: 0px;
  }
  .tagselect {
    padding: 25px 0 30px 0;
    display: block;
  }
  .taglist {
    margin-bottom: 0px;
  }
  .taglist .list,
  .taglist h2,
  .taglist h4 {
    display: none;
  }
  .taglist h1 {
    font-size: 20px;
    margin: 80px 0 0 0;
  }
}
/*------------------------------------------------------------
    Free layout
------------------------------------------------------------*/
.free-layout {
  position: relative;
  margin-top: 40px;
}
.free-layout .flttl01 {
  font-size: 2.2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.free-layout .flttl02 {
  position: relative;
  font-size: 2.2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 600;
  padding: 0px 28px;
}
.free-layout .flttl02::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 6px;
  height: 25px;
  background-color: #CBCBCB;
}
@media screen and (max-width: 767px) {
  .free-layout .flttl02 {
    font-size: 2rem;
  }
}
.free-layout .flttl03 {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.3888888889;
  letter-spacing: 0.1em;
}
.free-layout .flttl04 {
  font-size: 2rem;
  font-weight: 500 !important;
  line-height: 1.3888888889;
  letter-spacing: 0.1em;
}
.free-layout .flttlm {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4;
}
.free-layout .fltxtarea {
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.free-layout .fltxtarea p {
  margin-bottom: 10px;
}
.free-layout .fltxtarea p:last-of-type {
  margin-bottom: 0;
}
.free-layout .fltxtarea a {
  text-decoration: underline;
}
.free-layout .fltxtarea a:hover {
  text-decoration: none;
}
.free-layout .flimgarea {
  width: 100%;
  display: flex;
  justify-content: center;
}
.free-layout .flimgarea-caption {
  font-size: 1.3rem;
  line-height: 1.5384615385;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #000;
  margin-top: 1em;
}
.free-layout .flmargin {
  width: 100%;
  display: block;
  height: 0;
}
.free-layout img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.free-layout .flimg,
.free-layout .fltxt {
  width: 100%;
  line-height: 32px;
}
.free-layout .flimg:first-child,
.free-layout .fltxt:first-child {
  margin-top: 0;
}
.free-layout .flimg p,
.free-layout .fltxt p {
  font-size: 1.3rem;
  line-height: 1.5384615385;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}
.free-layout .flimg p:last-of-type,
.free-layout .fltxt p:last-of-type {
  margin-bottom: 0;
}
.free-layout .fltxt02 {
  width: 100%;
  line-height: 32px;
}
.free-layout .fltxt02:first-child {
  margin-top: 0;
}
.free-layout .fltxt02 p {
  font-size: 1.4rem;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}
.free-layout .fltxt02 p:last-of-type {
  margin-bottom: 0;
}
.free-layout .flimg {
  display: block;
}
.free-layout .movieblock {
  width: 100%;
}
.free-layout .movieblock > .movie {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.free-layout .movieblock > .movie.-vertical {
  aspect-ratio: 9/16;
}
.free-layout .movieblock .mviframe {
  width: 100%;
  height: 100%;
}
.free-layout .imggallery {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.free-layout .imggallery .imgblock {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 100%;
}
.free-layout .imggallery .imgblock img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.free-layout .flblntxt {
  width: 100%;
  padding: 20px;
  background-color: #f4f4f4;
  position: relative;
}
.free-layout .flblntxt.-mark {
  padding: 65px 20px 50px;
}
.free-layout .flblntxt.-mark::before {
  content: "";
  position: absolute;
  left: 30px;
  top: -15px;
  width: 68px;
  height: 50px;
  background: url(assets/img/common/icon_voice.svg) 0 0 no-repeat;
  background-size: contain;
}
.free-layout .fl2clm {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  gap: 30px;
}
.free-layout .fl2clm.-rev .imgarea {
  grid-area: 1/2/2/3;
}
.free-layout .fl2clm.-c {
  align-items: center;
}
.free-layout .fl2clm.-fs {
  align-items: flex-start;
}
.free-layout .fl2clm.-fe {
  align-items: flex-end;
}
.free-layout .fl2clm .flimg:nth-of-type(2) .img, .free-layout .fl2clm .flimg:nth-of-type(3) .img {
  width: 100%;
}
.free-layout .fl3clm {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 12px;
}
.free-layout .fl3clm.-rev .imgarea {
  grid-area: 1/2/2/3;
}
.free-layout .fl3clm.-c {
  align-items: center;
}
.free-layout .fl3clm.-fs {
  align-items: flex-start;
}
.free-layout .fl3clm.-fe {
  align-items: flex-end;
}
.free-layout .fl3clm .flimg:nth-of-type(2) .img, .free-layout .fl3clm .flimg:nth-of-type(3) .img {
  width: 100%;
}
.free-layout .big-list {
  width: 100%;
}
.free-layout .big-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.free-layout .big-list > .list {
  padding: 40px 0 52px;
  border-bottom: 1px solid #707070;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .free-layout .big-list > .list {
    padding: 35px 0;
  }
}
@media screen and (max-width: 767px) {
  .free-layout .big-list > .list {
    padding: 25px 0;
  }
}
.free-layout .big-list__title {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.3888888889;
  letter-spacing: 0.1em;
}
.free-layout .big-list__desc {
  font-size: 1.4rem;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
  margin-top: 38px;
}
@media screen and (max-width: 1024px) {
  .free-layout .big-list__desc {
    margin-top: 20px;
  }
}
.free-layout .flmap {
  width: 100%;
  gap: 40px;
}
.free-layout .flmap.-notxt {
  grid-template-columns: 1fr;
}
.free-layout .flmap .txtarea {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
}
.free-layout .flmap .txtarea .flttl {
  margin-top: 0;
}
.free-layout .fllinkbtn {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
  padding: 0 20px;
}
.free-layout .fllinkbtn > .linkbtn {
  flex: 0 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 240px;
  max-width: 100%;
  height: 55px;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
  background-color: #222;
  border: 1px solid #222;
  position: relative;
  padding: 5px 30px 5px 15px;
  transition: 0.3s;
}
.free-layout .fllinkbtn > .linkbtn::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  right: 16px;
  top: calc(50% - 3px);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotateZ(-45deg);
}
.free-layout .fllinkbtn > .linkbtn:hover {
  text-decoration: none;
  color: #222;
  background-color: #fff;
}
.free-layout .fllinkbtn > .linkbtn:hover::after {
  border-color: #222;
}
.free-layout .imgarea {
  width: 100%;
}
.free-layout .imgarea.-ar1_1 {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 100%;
}
.free-layout .imgarea.-ar1_1 img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.free-layout .imgarea.-ar4_3 {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%;
}
.free-layout .imgarea.-ar4_3 img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.free-layout .imgarea.-ar16_9 {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
.free-layout .imgarea.-ar16_9 img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.free-layout .imgarea.-ar3_4 {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 133.33%;
}
.free-layout .imgarea.-ar3_4 img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.free-layout .imgarea.-ar9_16 {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 177.78%;
}
.free-layout .imgarea.-ar9_16 img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.free-layout .swipercover {
  width: 100%;
  max-width: 100%;
  padding-bottom: 40px;
  overflow: hidden;
  position: relative;
}
.free-layout .swipercover.-width800 {
  max-width: 800px;
}
.free-layout .swiperarea .txt {
  line-height: 1.4;
  margin-top: 15px;
}
.free-layout .swiperarea .swiper-pagination {
  bottom: 0;
}
.free-layout .swiperarea .swiper-pagination-bullet-active {
  background-color: #d36010;
}
.free-layout .flquestion {
  width: 100%;
  position: relative;
  font-size: 2.4rem;
  font-weight: bold;
  background-color: #f4f4f4;
  line-height: 1.4;
  padding: 8px 10px 8px 70px;
  margin-top: 60px;
}
.free-layout .flquestion::before {
  content: "Q";
  position: absolute;
  left: 5px;
  top: 5px;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Lato", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: bold;
  font-size: 2.8rem;
  font-weight: normal;
  color: #fff;
  background-color: #222;
}
.free-layout .flblog-card {
  background-color: #F2F3F4;
  border-radius: 8px;
  padding: 34px 26px;
}
.free-layout .flblog-card > .cardinner {
  display: grid;
  grid-template-columns: 235px 1fr;
  align-items: center;
  gap: 30px;
}
.free-layout .flblog-card > .cardinner .imgarea {
  width: 100%;
  height: 0;
  padding-top: 66.7%;
  position: relative;
  overflow: hidden;
}
.free-layout .flblog-card > .cardinner .imgarea img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.free-layout .flblog-card > .cardinner .txtarea {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  height: 100%;
}
.free-layout .flblog-card > .cardinner .cardttl {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.3888888889;
  letter-spacing: 0.1em;
  margin-top: 14px;
}
.free-layout .flblog-card > .cardinner .excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: 1.4rem;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
  margin-top: 19px;
}
@media screen and (max-width: 767px) {
  .free-layout .flblog-card > .cardinner {
    grid-template-columns: 1fr;
  }
}
.free-layout .link-btn02 {
  margin: auto;
}
@media screen and (max-width: 767px) {
  .free-layout.-clm2 {
    padding: 0;
  }
  .free-layout .fl2clm,
  .free-layout .fl3clm {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .free-layout .fl4clm {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 15px;
  }
  .free-layout .imggallery {
    grid-template-columns: repeat(2, 1fr);
  }
  .free-layout .flquestion {
    padding-left: 60px;
  }
  .free-layout .flmap {
    grid-template-columns: 1fr;
  }
  .free-layout .flmap .txtarea {
    gap: 20px;
  }
  .free-layout .swipercover {
    max-width: unset;
    margin: auto;
    padding: 0 0px 40px;
  }
  .free-layout .flquestion {
    padding-left: 60px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media (max-width: 640px) {
  .free-layout .fldl {
    grid-template-columns: 1fr;
  }
  .free-layout .fldl > .dt {
    font-weight: bold;
    padding: 15px 0 0;
    border-bottom: none;
  }
  .free-layout .fldl > .dd {
    padding: 10px 0 15px;
    border-bottom: 1px solid #ccc;
  }
}
.free-layout .fltable {
  border-collapse: collapse;
  width: 100%;
  border: 1px solid #BABABA;
}
.free-layout .fltr {
  background-color: #F2F3F4;
  color: #000000;
}
.free-layout .flth {
  padding: 12px;
  border: 1px solid #BABABA;
  text-align: center;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .free-layout .flth {
    padding: 6px;
    line-height: 1.6;
  }
}
.free-layout .fltdtitle {
  line-height: 1.3125;
  letter-spacing: 0.1em;
  width: 60px;
  padding: 12px;
  border: 1px solid #BABABA;
  background-color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .free-layout .fltdtitle {
    padding: 10px;
    width: 36px;
  }
}
.free-layout .fltd {
  padding: 12px;
  border: 1px solid #BABABA;
  text-align: center;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .free-layout .fltd {
    padding: 6px;
    line-height: 1.6;
  }
}

._mtst40 {
  margin-top: 40px !important;
}

._mtst48 {
  margin-top: 48px !important;
}

.f-list2cols {
  display: flex;
  column-gap: 24px;
  flex-direction: column;
  flex-wrap: wrap;
  font-size: 1.6rem;
  line-height: 1.5625;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .f-list2cols {
    height: auto !important;
    font-size: 1.4rem;
  }
}
.f-list2cols__item {
  margin-top: -1px;
  height: 85px;
  width: calc((100% - 24px) / 2);
  display: flex;
  align-items: center;
  border-top: 1px solid #B1B1B1;
  border-bottom: 1px solid #B1B1B1;
}
@media screen and (max-width: 767px) {
  .f-list2cols__item {
    width: 100%;
    height: auto;
    min-height: 85px;
    padding: 10px 0;
  }
}
.f-list2cols__ttl {
  width: 7.5em;
  flex-shrink: 0;
}

.c-topmv__wrap {
  height: 100svh;
  clip-path: inset(0);
}
.c-topmv__slide {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.c-topmv__slide::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.2;
  left: 0;
  top: 0;
  z-index: 2;
}
.c-topmv__slideitem img {
  width: 100%;
  height: 100svh;
  object-fit: cover;
}
.c-topmv__ttl {
  position: absolute;
  top: 56%;
  left: 67%;
  width: 22.1666666667%;
}
@media screen and (max-width: 767px) {
  .c-topmv__ttl {
    width: 200px;
    right: 36px;
    left: unset;
  }
}
.c-topmv__ttl img {
  width: 100%;
}
.c-topmv__news {
  position: absolute;
  left: 50px;
  bottom: 50px;
  z-index: 2;
  max-width: 530px;
  width: calc(100% - 100px);
}
@media screen and (max-width: 767px) {
  .c-topmv__news {
    position: relative;
    left: unset;
    bottom: unset;
    width: 100%;
  }
}

.c-topmvnews {
  font-size: 1.2rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-topmvnews {
    margin-top: 50px;
    color: #000000;
  }
}
.c-topmvnews__header {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  background-image: linear-gradient(90deg, transparent 25px, #8B8B8B 25px);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: left bottom;
  margin-bottom: 15px;
  padding-bottom: 5px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.c-topmvnews__item {
  height: 27px;
}
.c-topmvnews__date {
  margin-right: 20px;
}
.c-topmvnews__term {
  margin-right: 10px;
  height: 17px;
  min-width: 78px;
  padding: 0 10px;
  display: inline-block;
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.5454545455;
  font-weight: 700;
  color: #fff;
  background-color: #7b746e;
}
.c-topmvnews__ttl {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.c-topevent {
  margin-top: 100px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-topevent {
    margin-top: 50px;
  }
}
.c-topevent__content {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .c-topevent__content {
    margin-top: 30px;
    padding: 0 28px;
  }
}
.c-topevent__anchor {
  margin-top: 30px;
  text-align: right;
}

.c-topcpt {
  margin-top: 180px;
  position: relative;
  color: #fff;
}
.c-topcpt__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.c-topcpt__bg::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.3;
}
.c-topcpt__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-topcpt__wrapper {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-topcpt__wrapper {
    grid-template-columns: 100%;
  }
}
.c-topcpt__header, .c-topcpt__content {
  max-width: 490px;
  padding-left: 20px;
  width: 100%;
  margin-left: auto;
}
.c-topcpt__header {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .c-topcpt__header {
    margin-top: 60px;
  }
}
.c-topcpt__content {
  margin-top: 60px;
  padding-bottom: 90px;
  color: #fff;
}
.c-topcpt__thumbs {
  margin-top: -60px;
  margin-bottom: -78px;
  position: relative;
  padding-bottom: 150%;
  height: 0;
  grid-row: span 3;
}
@media screen and (max-width: 767px) {
  .c-topcpt__thumbs {
    margin-top: 30px;
    margin-bottom: 0;
  }
}
.c-topcpt__thumbs img {
  position: absolute;
}
.c-topcpt__thumbsitem:nth-of-type(1) img {
  left: 5%;
  top: 0;
  width: 73%;
}
.c-topcpt__thumbsitem:nth-of-type(2) img {
  left: 51.5%;
  top: 50.9%;
  width: 40.5%;
}
.c-topcpt__thumbsitem:nth-of-type(3) img {
  left: 5%;
  bottom: 0;
  width: 50.1666666667%;
}
.c-topcpt__anchor {
  margin-top: 60px;
}
.c-topcpt__anchor a {
  padding-bottom: 1em;
  border-bottom: 1px solid #CBCBCB;
}

.c-topsvc {
  margin-top: 200px;
}
@media screen and (max-width: 767px) {
  .c-topsvc {
    margin-top: 80px;
  }
}
.c-topsvc__desc {
  margin-top: 60px;
  font-size: 2.2rem;
  line-height: 1.8181818182;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-topsvc__desc {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.c-topsvc__content {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .c-topsvc__content {
    margin-top: 30px;
  }
}
.c-topsvc__list {
  display: flex;
}
@media screen and (max-width: 767px) {
  .c-topsvc__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
  }
}
.c-topsvc__item {
  display: block;
  border-bottom: 1px solid #909090;
  transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .c-topsvc__item:hover {
    transform: translateY(-33px);
    border-bottom-color: transparent;
  }
}
@media screen and (max-width: 767px) {
  .c-topsvc__item {
    border-bottom-color: transparent;
  }
}
@media screen and (max-width: 767px) {
  .c-topsvc__item:nth-of-type(1) {
    grid-column: span 2;
  }
}
.c-topsvc__itemthumb {
  position: relative;
}
.c-topsvc__itemthumb::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.2;
  background-color: #000;
}
.c-topsvc__itemlogo {
  height: 106px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-topsvc__itemlogo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(258%) hue-rotate(264deg) brightness(106%) contrast(102%);
  }
}

.c-tophs {
  margin-top: 120px;
  background-color: #EBEBEB;
  padding-top: 60px;
  padding-bottom: 60px;
  overflow: hidden;
}
.c-tophs__content {
  margin-top: 60px;
}
.c-tophs__list {
  position: relative;
}
.c-tophs__itemttl {
  margin-top: 15px;
  font-size: 1.6rem;
  line-height: 2.5;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.c-tophs__anchor {
  text-align: right;
  margin-top: -30px;
}
.c-tophs .swiper {
  overflow: visible;
}
.c-tophs .swiper-slide {
  height: auto;
}
.c-tophs .swiper-navigation-wrap {
  margin-top: 60px;
  display: grid;
  grid-template-columns: 37px max-content 37px;
  gap: 10px;
  align-items: center;
}
.c-tophs .swiper-button-prev,
.c-tophs .swiper-button-next {
  --swiper-navigation-size: 37px;
  position: relative;
  left: unset;
  right: unset;
  top: unset;
  margin: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37' height='37' viewBox='0 0 37 37'%3E%3Cg transform='translate(36.817 36.258) rotate(180)'%3E%3Cg transform='translate(0 0)'%3E%3Cg transform='translate(-0.183 -0.742)' fill='none' stroke='%23909090' stroke-width='1'%3E%3Ccircle cx='18.5' cy='18.5' r='18.5' stroke='none'/%3E%3Ccircle cx='18.5' cy='18.5' r='18' fill='none'/%3E%3C/g%3E%3C/g%3E%3Cpath d='M2.934,0,5.868,5.134H0Z' transform='translate(20.885 14.824) rotate(90)'/%3E%3C/g%3E%3C/svg%3E%0A");
  width: 37px;
  height: 37px;
  border-radius: 50%;
}
.c-tophs .swiper-button-prev::after,
.c-tophs .swiper-button-next::after {
  content: none;
}
.c-tophs .swiper-button-prev:hover,
.c-tophs .swiper-button-next:hover {
  background-color: #C2C5C6;
}
.c-tophs .swiper-button-next {
  transform: rotate(180deg);
}
.c-tophs .swiper-pagination {
  position: relative;
  left: unset;
  bottom: unset;
}

.c-topfb {
  margin-top: 120px;
}
.c-topfb__content {
  margin-top: 75px;
}
.c-topfb__list {
  position: relative;
}
.c-topfb__list .swiper {
  overflow: hidden;
}
.c-topfb__item {
  background-color: #ebebeb;
  padding: 50px 30px 45px;
}
.c-topfb__itemdesc {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 1.3rem;
  line-height: 1.9230769231;
}
.c-topfb__itemgr {
  margin-top: 35px;
  display: grid;
  align-items: center;
  grid-template-columns: 48px 1fr;
  column-gap: 10px;
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: 500;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.c-topfb__itemthumb {
  grid-row: 1/span 4;
}
.c-topfb__itemname {
  grid-area: 2/2/3/3;
}
.c-topfb__itemtime {
  grid-area: 3/2/4/3;
  color: #B2B2B2;
}
.c-topfb__readmore {
  margin-top: 10px;
  text-align: center;
  font-size: 1.2rem;
  line-height: 2.75;
  font-weight: 600;
}
.c-topfb .swiper-button-prev,
.c-topfb .swiper-button-next {
  --swiper-navigation-size: 41px;
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='41' height='41' viewBox='0 0 41 41'%3E%3Cg transform='translate(369 4443.158) rotate(180)'%3E%3Ccircle cx='20.5' cy='20.5' r='20.5' transform='translate(328 4402.158)' fill='%23e3e3e3'/%3E%3Cg transform='translate(341.067 4418.185)'%3E%3Cpath d='M.183-.18h15' transform='translate(15.365 4.723) rotate(180)' fill='none' stroke='%23000' stroke-linecap='round' stroke-width='1'/%3E%3Cpath d='M0,0H9.447' transform='translate(7.183 0) rotate(30)' fill='none' stroke='%23000' stroke-width='1'/%3E%3Cpath d='M0,0H9.447' transform='translate(7.183 9.447) rotate(-30)' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  width: 41px;
  height: 41px;
}
.c-topfb .swiper-button-prev::after,
.c-topfb .swiper-button-next::after {
  content: none;
}
.c-topfb .swiper-button-prev {
  left: -20px;
}
.c-topfb .swiper-button-next {
  right: -20px;
  transform: rotate(180deg);
}

.c-topws {
  margin-top: 130px;
}
.c-topws__content {
  margin-top: 60px;
  overflow: hidden;
}
.c-topws__list {
  position: relative;
}
.c-topws__anchor {
  margin-top: -30px;
  text-align: right;
}
.c-topws .swiper {
  overflow: visible;
}
.c-topws .swiper-slide {
  height: auto;
}
.c-topws .swiper-navigation-wrap {
  margin-top: 60px;
  display: grid;
  grid-template-columns: 37px max-content 37px;
  gap: 10px;
  align-items: center;
}
.c-topws .swiper-button-prev,
.c-topws .swiper-button-next {
  --swiper-navigation-size: 37px;
  position: relative;
  left: unset;
  right: unset;
  top: unset;
  margin: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37' height='37' viewBox='0 0 37 37'%3E%3Cg transform='translate(36.817 36.258) rotate(180)'%3E%3Cg transform='translate(0 0)'%3E%3Cg transform='translate(-0.183 -0.742)' fill='none' stroke='%23909090' stroke-width='1'%3E%3Ccircle cx='18.5' cy='18.5' r='18.5' stroke='none'/%3E%3Ccircle cx='18.5' cy='18.5' r='18' fill='none'/%3E%3C/g%3E%3C/g%3E%3Cpath d='M2.934,0,5.868,5.134H0Z' transform='translate(20.885 14.824) rotate(90)'/%3E%3C/g%3E%3C/svg%3E%0A");
  width: 37px;
  height: 37px;
  border-radius: 50%;
}
.c-topws .swiper-button-prev::after,
.c-topws .swiper-button-next::after {
  content: none;
}
.c-topws .swiper-button-prev:hover,
.c-topws .swiper-button-next:hover {
  background-color: #C2C5C6;
}
.c-topws .swiper-button-next {
  transform: rotate(180deg);
}
.c-topws .swiper-pagination {
  position: relative;
  left: unset;
  bottom: unset;
  --swiper-pagination-bullet-inactive-color: #909090;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-size: 4px;
  --swiper-pagination-color: #fff;
}

.c-tophsn {
  margin-top: 140px;
  background-color: #ebebeb;
}
.c-tophsn__wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: ". thumb" "header thumb" "info thumb" ". thumb";
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-tophsn__wrap {
    grid-template-columns: 100%;
    grid-template-areas: none;
  }
}
.c-tophsn__header, .c-tophsn__info {
  width: 100%;
  max-width: 490px;
  margin-left: auto;
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .c-tophsn__header, .c-tophsn__info {
    padding-right: 20px;
    width: 100%;
    max-width: 100%;
  }
}
.c-tophsn__header {
  grid-area: header;
}
@media screen and (max-width: 767px) {
  .c-tophsn__header {
    grid-area: auto;
  }
}
.c-tophsn__thumb {
  grid-area: thumb;
  text-align: right;
}
.c-tophsn__thumb img {
  max-width: 554px;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .c-tophsn__thumb {
    margin-top: 30px;
    grid-area: auto;
  }
}
.c-tophsn__info {
  grid-area: info;
}
@media screen and (max-width: 767px) {
  .c-tophsn__info {
    grid-area: auto;
  }
}
.c-tophsn__desc {
  margin-top: 40px;
  font-size: 1.4rem;
  line-height: 2.5;
}
.c-tophsn__anchor {
  margin-top: 30px;
}
.c-tophsn__anchor2 {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  max-width: 460px;
  gap: 10px;
}

.c-tophm {
  margin-top: 130px;
}
.c-tophm__content {
  overflow: hidden;
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .c-tophm__content {
    margin-top: 30px;
    padding: 0 28px;
  }
}
.c-tophm__anchor {
  text-align: right;
  margin-top: 45px;
}
.c-tophm .swiper {
  overflow: visible;
}

.c-tophinobiz {
  margin-top: 130px;
  background-color: #3a4346;
  color: #fff;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "thumb ." "thumb header" "thumb info" "thumb .";
  align-items: center;
  border-image: linear-gradient(#3a4346) fill 0/0/0 100vw;
}
@media screen and (max-width: 767px) {
  .c-tophinobiz {
    margin-top: 60px;
    padding-top: 40px;
    padding-bottom: 50px;
    grid-template-columns: 100%;
    grid-template-areas: none;
  }
}
.c-tophinobiz__header, .c-tophinobiz__gr {
  padding-left: 65px;
  width: 425px;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .c-tophinobiz__header, .c-tophinobiz__gr {
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
  }
}
.c-tophinobiz__header {
  grid-area: header;
}
@media screen and (max-width: 767px) {
  .c-tophinobiz__header {
    grid-area: auto;
  }
}
.c-tophinobiz__thumb {
  grid-area: thumb;
}
@media screen and (max-width: 767px) {
  .c-tophinobiz__thumb {
    margin-top: 30px;
    grid-area: auto;
  }
}
.c-tophinobiz__info {
  grid-area: info;
}
@media screen and (max-width: 767px) {
  .c-tophinobiz__info {
    grid-area: auto;
  }
}
.c-tophinobiz__ttl {
  margin-top: 45px;
}
.c-tophinobiz__desc {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .c-tophinobiz__desc {
    margin-top: 20px;
  }
}
.c-tophinobiz__anchor {
  margin-top: 50px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .c-tophinobiz__anchor {
    margin-top: 20px;
  }
}
.c-tophinobiz__anchor .c-btn1 {
  color: #fff;
}

.c-topbrand {
  padding-top: 130px;
  padding-bottom: 130px;
  background-color: #EBEBEB;
}

.c-tophinocare__header {
  margin-top: 50px;
}
.c-tophinocare__desc {
  margin-top: 35px;
}

.c-topnico {
  margin-top: 100px;
}
.c-topnico__wrap {
  position: relative;
  padding-top: 50px;
  padding-right: 50px;
  margin-right: 45px;
  background: #FFFFFF;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 68px, rgb(255, 255, 255) 68px);
  display: grid;
  grid-template-columns: 1fr 370px;
  align-items: end;
}
@media screen and (max-width: 767px) {
  .c-topnico__wrap {
    grid-template-columns: 100%;
  }
}
.c-topnico__thumb {
  margin-right: 30px;
}
.c-topnico__info {
  padding-bottom: 50px;
}
.c-topnico__ttl {
  margin-top: 30px;
}
.c-topnico__desc {
  margin-top: 20px;
}
.c-topnico__anchor {
  margin-top: 35px;
  max-width: 355px;
  text-align: right;
}

.c-topgreenday {
  margin-top: 80px;
}
.c-topgreenday__wrap {
  position: relative;
  padding-top: 50px;
  padding-right: 50px;
  margin-right: 45px;
  background: #FFFFFF;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 68px, rgb(255, 255, 255) 68px);
  display: grid;
  grid-template-columns: 1fr 370px;
  align-items: end;
}
.c-topgreenday__thumb {
  margin-right: 30px;
}
.c-topgreenday__info {
  padding-bottom: 50px;
}
.c-topgreenday__ttl {
  margin-top: 30px;
}
.c-topgreenday__desc {
  margin-top: 20px;
}
.c-topgreenday__anchor {
  margin-top: 35px;
  max-width: 355px;
  text-align: right;
}

.c-topnews {
  margin-top: 130px;
}
.c-topnews__content {
  margin-top: 60px;
  max-width: 894px;
}
.c-topnews__anchor {
  margin-top: 50px;
  text-align: right;
}

.c-topfaq {
  margin-top: 80px;
}
.c-topfaq__content {
  margin-top: 60px;
  max-width: 894px;
}
.c-topfaq__q {
  position: relative;
  min-height: 68px;
  border-bottom: 1px solid #CBCBCB;
  font-size: 1.4rem;
  line-height: 2.1428571429;
  padding: 10px 65px 10px 70px;
  display: flex;
  align-items: center;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.94);
}
.c-topfaq__q::before {
  content: "Q.";
  position: absolute;
  left: 30px;
  top: 18px;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
.c-topfaq__q::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  top: 0;
  left: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21'%3E%3Cg transform='translate(-1047.77 -1239.77)'%3E%3Cg transform='translate(1051.9 1246.468)'%3E%3Cpath d='M0,0H12.74' transform='translate(12.74 3.916) rotate(180)' fill='none' stroke='%23000000' stroke-linecap='round' stroke-width='0.8'/%3E%3Cpath d='M0,0H7.833' transform='translate(5.956 0) rotate(30)' fill='none' stroke='%23000000' stroke-width='0.8'/%3E%3Cpath d='M0,0H7.833' transform='translate(5.956 7.833) rotate(-30)' fill='none' stroke='%23000000' stroke-width='0.8'/%3E%3C/g%3E%3Cg transform='translate(1047.77 1239.77)' fill='none' stroke='%23000000' stroke-width='0.8'%3E%3Ccircle cx='10.5' cy='10.5' r='10.5' stroke='none'/%3E%3Ccircle cx='10.5' cy='10.5' r='10.1' fill='none'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  background-size: 21px 21px;
  background-repeat: no-repeat;
  background-position: right 30px center;
  opacity: 0.4;
  transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.c-topfaq__q:hover::after, .c-topfaq__q.is-active::after {
  opacity: 1;
}
.c-topfaq__a {
  position: relative;
  font-size: 1.2rem;
  line-height: 2.5;
  border-bottom: 1px solid #CBCBCB;
  padding: 30px 63px 30px 70px;
}
.c-topfaq__a::before {
  content: "A.";
  position: absolute;
  left: 30px;
  top: 30px;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
.c-topfaq__anchor {
  margin-top: 50px;
  text-align: right;
}

.c-topcpn {
  margin-top: 130px;
}
.c-topcpn__content {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .c-topcpn__ttl {
    margin-top: 20px;
  }
}

.c-topbranch {
  background-color: #ebebeb;
  border-image: linear-gradient(#ebebeb) fill 0/0/0 0 9999px;
  margin-top: 130px;
  padding-top: 100px;
}
.c-topbranch__gr1 {
  display: flex;
  gap: 40px;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .c-topbranch__gr1 {
    flex-direction: column;
  }
}
.c-topbranch__info {
  position: relative;
}
.c-topbranch__info::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #909090;
  left: 50%;
  top: 0;
}
@media screen and (max-width: 767px) {
  .c-topbranch__info::before {
    content: none;
  }
}
.c-topbranch__infoname {
  margin-top: 20px;
}
.c-topbranch__infotel {
  margin-top: 15px;
}
.c-topbranch__infoadr {
  margin-top: 10px;
  font-size: 1.3rem;
  line-height: 1.5384615385;
  font-weight: 500;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.c-archive__header {
  margin-top: 150px;
}
.c-archive__nav {
  margin-top: 70px;
  font-size: 1.2rem;
  line-height: 2;
  font-weight: 500;
  color: #909090;
  border-top: 1px solid #909090;
  border-bottom: 1px solid #909090;
  display: flex;
  align-items: center;
}
.c-archive__navttl {
  width: 106px;
}
.c-archive__navlist {
  display: flex;
}
.c-archive__navlist li + li {
  position: relative;
  padding-left: 60px;
}
.c-archive__navlist li + li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12.707' height='12.707' viewBox='0 0 12.707 12.707'%3E%3Cpath d='M12,0,0,12' transform='translate(0.354 0.354)' fill='none' stroke='%23b9b9b9' stroke-width='1'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center center;
  width: 60px;
  height: 100%;
}
.c-archive__navitem {
  display: inline-block;
  padding: 15px 5px;
  border-bottom: 1px solid #909090;
  margin-bottom: -1px;
  transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.c-archive__navitem:hover, .c-archive__navitem.is-current {
  border-bottom-color: #fff;
}
.c-archive__content {
  margin-top: 70px;
}

.c-single__header {
  margin-top: 150px;
}
.c-single__content {
  margin-top: 70px;
  font-size: 1.4rem;
  line-height: 2.5;
}

.c-mulnav {
  display: flex;
  gap: 22px;
}
.c-mulnav li {
  flex: 1;
}
.c-mulnav__item {
  text-align: center;
  display: block;
  font-size: 1.3rem;
  line-height: 1.8461538462;
  font-weight: 500;
  color: #fff;
  background-color: #909090;
  padding: 5px 5px;
  transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.c-mulnav__item:hover, .c-mulnav__item.is-current {
  color: #000;
  background-color: #fff;
}

.c-eventlist__thumb {
  padding-bottom: 100%;
  position: relative;
}
.c-eventlist__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-eventlist__status {
  margin-top: 16px;
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.c-eventlist__status > * {
  min-width: 66px;
  height: 17px;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0em;
  font-weight: 500;
  color: #fff;
  display: inline-block;
  background-color: #7b746e;
  text-align: center;
}
.c-eventlist__status--open {
  color: #fff;
  background-color: #F0831C;
}
.c-eventlist__status--close {
  background-color: #000;
}
.c-archive .c-eventlist__status--open, .c-top .c-eventlist__status--open, .c-archive .c-eventlist__status--close, .c-top .c-eventlist__status--close {
  margin-left: auto;
}
.c-eventlist__ttl {
  margin-top: 1em;
  margin-bottom: 10px;
  font-size: 1.4rem;
  line-height: 1.7857142857;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.c-eventlist__date, .c-eventlist__adr {
  font-size: 1.2rem;
  line-height: 2;
}

.c-event__header {
  padding: 70px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 50px;
  background-color: #EBEBEB;
  border-image: linear-gradient(#EBEBEB) fill 0/0/0 100vw;
}
@media screen and (max-width: 767px) {
  .c-event__header {
    grid-template-columns: 100%;
  }
}
.c-event__thumb {
  grid-row: span 7;
  max-width: 375px;
  margin-left: auto;
}
.c-event__eventinfo {
  margin-top: 30px;
  padding: 30px 0;
  border-top: 1px solid #909090;
  border-bottom: 1px solid #909090;
}
.c-event__ttl {
  margin-top: 30px;
  font-size: 1.8rem;
  line-height: 1.3888888889;
}
.c-event__date {
  font-size: 1.6rem;
  line-height: 1.875;
}
.c-event__addr {
  font-size: 1.6rem;
  line-height: 1.875;
}
.c-event__anchor {
  margin-top: 35px;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.01em;
  font-weight: 500;
  color: #FFFFFF;
  width: 220px;
  height: 48px;
  padding: 9px;
  display: inline-block;
  background-color: #3A4346;
}
.c-event__note {
  margin-top: 15px;
  font-size: 1.2rem;
  line-height: 2;
}

.c-magazine {
  background-color: #646464;
  border-image: linear-gradient(#646464) fill 0/0/9999px 0;
}
.c-magazine__header {
  color: #fff;
}
.c-magazine__wrap {
  padding-top: 60px;
  padding-bottom: 100px;
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1076px;
  background-color: #ebebeb;
}

.c-magazinelist__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 55px 66px;
}
@media screen and (max-width: 767px) {
  .c-magazinelist__list {
    grid-template-columns: 100%;
    gap: 30px;
  }
}
.c-magazinelist__thumb {
  padding-bottom: 100%;
  position: relative;
}
.c-magazinelist__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-magazinelist__gr {
  margin-top: 25px;
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.c-magazinelist__term {
  height: 22px;
  min-width: 78px;
  padding: 0 10px;
  display: inline-block;
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.8181818182;
  font-weight: 700;
  color: #909090;
  border: 1px solid #909090;
}
.c-magazinelist__ttl {
  margin-top: 10px;
  font-size: 1.5rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.c-magazinelist__date {
  font-size: 1.2rem;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.c-workslist__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 60px;
}
@media screen and (max-width: 767px) {
  .c-workslist__list {
    grid-template-columns: 100%;
    gap: 30px;
  }
}
.c-workslist__item {
  display: block;
  height: 100%;
  padding-bottom: 20px;
  border-bottom: 1px solid #CBCBCB;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='41' height='41' viewBox='0 0 41 41'%3E%3Cg transform='translate(-328.361 -4402.433)'%3E%3Ccircle cx='20.5' cy='20.5' r='20.5' transform='translate(328.361 4402.433)' fill='%23e3e3e3'/%3E%3Cg transform='translate(341.067 4418.185)'%3E%3Cpath d='M0,0H15.365' transform='translate(15.365 4.723) rotate(180)' fill='none' stroke='%23000' stroke-linecap='round' stroke-width='1'/%3E%3Cpath d='M0,0H9.447' transform='translate(7.183 0) rotate(30)' fill='none' stroke='%23000' stroke-width='1'/%3E%3Cpath d='M0,0H9.447' transform='translate(7.183 9.447) rotate(-30)' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  background-size: 41px 41px;
  background-position: right 0 bottom 20px;
  background-repeat: no-repeat;
}
.c-workslist__thumb {
  padding-bottom: 73.0526315789%;
  position: relative;
}
.c-workslist__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-workslist__gr {
  margin-top: 25px;
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.c-workslist__term {
  height: 17px;
  min-width: 66px;
  padding: 0 10px;
  display: inline-block;
  text-align: center;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 500;
  color: #fff;
  background-color: #7b746e;
}
.c-workslist__ttl {
  margin-top: 15px;
  padding-bottom: 2px;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding-right: 50px;
}

.c-worksnav {
  margin-top: 40px;
}
.c-worksnav__ttl {
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 500;
  color: #000;
}
.c-worksnav__list {
  display: flex;
  gap: 10px;
}
.c-worksnav__item {
  margin-top: 15px;
  font-size: 1.1rem;
  line-height: 1.7272727273;
  letter-spacing: 0em;
  font-weight: 700;
  color: #909090;
  display: inline-block;
  border: 1px solid #909090;
  padding: 0 15px;
}

.c-newslist__item {
  min-height: 60px;
  display: grid;
  align-items: center;
  grid-template-columns: 100px auto 1fr;
  position: relative;
  margin-top: -1px;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .c-newslist__item {
    grid-template-columns: 80px 1fr;
    gap: 10px 15px;
  }
}
.c-newslist__item::after, .c-newslist__item::before {
  position: absolute;
  content: "";
  left: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(#7B746E);
  background-color: #cbcbcb;
  background-size: 18px 1px;
  background-repeat: no-repeat;
  transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.c-newslist__item::before {
  top: 0;
}
.c-newslist__item::after {
  bottom: 0;
}
.c-newslist__item2 {
  display: flex;
  gap: 20px;
}
.c-newslist__date {
  font-size: 1.2rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-newslist__date {
    grid-area: 2/1/3/2;
  }
}
.c-newslist__txt {
  display: flex;
  column-gap: 6px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-newslist__txt {
    grid-area: 3/1/4/2;
  }
}
.c-newslist__term {
  min-width: 66px;
  height: 17px;
  display: inline-block;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 500;
  color: #fff;
  text-align: center;
  background-color: #7b746e;
  padding: 0 5px;
}
.c-newslist__ttl {
  font-size: 1.2rem;
  line-height: 2.0833333333;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding-top: 0.8em;
  padding-bottom: 0.8em;
}
@media screen and (max-width: 767px) {
  .c-newslist__ttl {
    grid-area: 1/2/5/3;
  }
}

.c-page__fv {
  color: #fff;
  position: relative;
  width: 100%;
  height: 500px;
  clip-path: inset(0);
}
@media screen and (max-width: 767px) {
  .c-page__fv {
    height: 300px;
  }
}
.c-page__bg {
  position: fixed;
  width: 100%;
  height: 500px;
}
@media screen and (max-width: 767px) {
  .c-page__bg {
    height: 300px;
  }
}
.c-page__bg::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.2;
  left: 0;
  top: 0;
  z-index: 2;
}
.c-page__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-page__header {
  margin-top: 150px;
}
.c-page__fv .c-page__header {
  margin-top: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
}
.c-page__content {
  margin-top: 50px;
}
.c-page__nav {
  margin-bottom: 100px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .c-page__nav {
    gap: 10px;
  }
}
.c-page__navitem {
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #fff;
  background-color: #909090;
  text-align: center;
  width: 130px;
  padding: 4px 10px;
  transition: all 0.8s cubic-bezier(0.34, 1, 0.64, 1);
}
.c-page__navitem:hover {
  color: #000;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .c-page__navitem {
    width: 100px;
  }
}

.c-companystaff {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 50px 30px;
}
@media screen and (max-width: 767px) {
  .c-companystaff {
    grid-template-columns: 100%;
  }
}
.c-companystaff__item {
  border-bottom: 1px solid #909090;
  display: grid;
  grid-template-columns: 231fr 200fr;
  align-items: end;
}
@media screen and (max-width: 767px) {
  .c-companystaff__item {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.c-companystaff__thumb {
  margin-bottom: -1px;
}
.c-companystaff__info {
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 15px;
  min-height: 160px;
}
@media screen and (max-width: 767px) {
  .c-companystaff__info {
    padding-left: 10px;
    padding-right: 0;
  }
}
.c-companystaff__info2 {
  padding-left: 20px;
  padding-bottom: 15px;
}
.c-companystaff__pos {
  font-size: 1.3rem;
  line-height: 1.3076923077;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #000;
}
.c-companystaff__name {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.c-companystaff__cert {
  margin-top: 5px;
  font-size: 1.2rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-companystaff__cert {
    font-size: 1rem;
  }
}
.c-companystaff__mess {
  margin-top: 15px;
  font-size: 1.3rem;
  line-height: 1.5384615385;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-companystaff__mess {
    font-size: 1.1rem;
  }
}

.c-map__item {
  margin-top: 50px;
  display: grid;
  grid-template-columns: 1fr 288px;
  gap: 64px;
  align-items: center;
}
.c-map__map iframe {
  width: 100%;
  height: 236px;
}
.c-map__name {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.c-map__tel {
  margin-top: 20px;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.c-map__adr {
  margin-top: 10px;
  font-size: 1.3rem;
  line-height: 1.5384615385;
  font-weight: 500;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.c-1map {
  display: grid;
  grid-template-columns: 270px 1fr;
  gap: 20px 60px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-1map {
    grid-template-columns: 100%;
  }
}
.c-1map__map {
  height: 293px;
}
.c-1map__map iframe {
  width: 100%;
  height: 100%;
}
.c-1map__adr {
  margin-top: 40px;
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.c-1map__tel {
  margin-top: 25px;
}
.c-1map__open {
  margin-top: 20px;
  font-size: 1.3rem;
  line-height: 1.5384615385;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.c-headeroverlay {
  position: relative;
}
.c-headeroverlay__bg {
  position: relative;
  width: 100%;
  height: 350px;
}
.c-headeroverlay__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-headeroverlay__bg::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.4;
  left: 0;
  top: 0;
  z-index: 2;
}
.c-headeroverlay__ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  color: #fff;
}

.c-author {
  display: flex;
  justify-content: end;
  gap: 15px;
}
.c-author__pos {
  font-size: 1.4rem;
  line-height: 2.1428571429;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.c-author__name {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.c-brandlist {
  margin-top: 100px;
  padding-top: 30px;
  border-top: 1px solid #909090;
}
.c-brandlist__item {
  margin-top: 70px;
  display: grid;
  grid-template-columns: 286px 1fr;
  gap: 20px 60px;
}
@media screen and (max-width: 1024px) {
  .c-brandlist__item {
    gap: 20px 30px;
  }
}
@media screen and (max-width: 767px) {
  .c-brandlist__item {
    grid-template-columns: 100%;
  }
}
.c-brandlist__thumb {
  align-self: center;
  text-align: center;
}
.c-brandlist__info {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .c-brandlist__logo {
    text-align: center;
  }
}
.c-brandlist__desc {
  margin-top: 30px;
}

.c-contactmethod {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
}
@media screen and (max-width: 767px) {
  .c-contactmethod {
    gap: 30px;
    grid-template-columns: 100%;
  }
}
.c-contactmethod__tel {
  position: relative;
  display: block;
  margin-top: 20px;
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding-left: 1.5em;
}
.c-contactmethod__tel::before {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18.406' height='18.406' viewBox='0 0 18.406 18.406'%3E%3Cpath d='M17.881,13.007l-4.026-1.726a.863.863,0,0,0-1.007.248l-1.783,2.179a13.325,13.325,0,0,1-6.37-6.37L6.873,5.555a.861.861,0,0,0,.248-1.007L5.4.522a.869.869,0,0,0-.989-.5L.669.885A.863.863,0,0,0,0,1.726a16.679,16.679,0,0,0,16.68,16.68.863.863,0,0,0,.841-.669L18.384,14a.873.873,0,0,0-.5-.992Z' transform='translate(0 0)'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center left 0;
  width: 20px;
  height: 20px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.c-contactmethod__txt {
  font-size: 1.4rem;
  line-height: 2.1428571429;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.c-contactmethod__email {
  display: block;
  margin-top: 20px;
  font-size: 1.8rem;
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.c-contactmethod__btn {
  margin-top: 25px;
}