@charset "UTF-8";
.section-heading {
  position: relative;
  color: #555555;
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 0.1em;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 1000;
}
@media screen and (max-width: 767px) {
  .section-heading {
    font-size: 30px;
  }
}

.section-heading::before {
  content: "";
  background: url(../img/title-line.svg) center/contain no-repeat;
  position: absolute;
  width: 100%;
  bottom: -80%;
  top: 0;
  z-index: -100;
}

.top-container {
  width: 70.2781844802vw;
  margin-inline: auto;
}
@media screen and (max-width: 1020px) {
  .top-container {
    width: auto;
    margin-inline: 30px;
  }
}
@media screen and (max-width: 767px) {
  .top-container {
    margin-inline: 15px;
  }
}

.button {
  display: block;
  width: 300px;
  height: 70px;
  font-size: 20px;
  font-weight: 400;
  color: #93C572;
  background-color: #fff;
  border: 2px solid #93C572;
  border-radius: 50px;
  text-align: center;
  line-height: 70px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  margin: 0 auto;
}
@media screen and (max-width: 374px) {
  .button {
    width: 200px;
    height: 50px;
    font-size: 16px;
    line-height: 50px;
  }
}

.top-link {
  padding-top: 140px;
  padding-bottom: 72px;
  font-size: 14px;
  color: #555555;
  display: flex;
  gap: 36px;
  position: relative;
  flex-wrap: wrap;
  row-gap: 5px;
}
@media screen and (max-width: 767px) {
  .top-link {
    padding-top: 18px;
    padding-bottom: 38px;
  }
}
@media screen and (max-width: 374px) {
  .top-link {
    font-size: 10px;
    gap: 12px;
    white-space: nowrap;
  }
}
.top-link__home {
  width: auto;
}
.top-link__home::after {
  content: "";
  display: block;
  height: 8px;
  width: 8px;
  border-top: 1px solid #93C572;
  border-right: 1px solid #93C572;
  rotate: 45deg;
  position: absolute;
  top: 144px;
  left: 54px;
}
@media screen and (max-width: 767px) {
  .top-link__home::after {
    top: 22px;
  }
}
@media screen and (max-width: 374px) {
  .top-link__home::after {
    width: 5px;
    height: 5px;
    left: 32px;
  }
}
.top-link__news {
  width: auto;
}
.top-link__news::after {
  content: "";
  display: block;
  height: 8px;
  width: 8px;
  border-top: 1px solid #93C572;
  border-right: 1px solid #93C572;
  rotate: 45deg;
  position: absolute;
  top: 144px;
  left: 175px;
}
@media screen and (max-width: 767px) {
  .top-link__news::after {
    top: 22px;
  }
}
@media screen and (max-width: 374px) {
  .top-link__news::after {
    width: 5px;
    height: 5px;
    left: 104px;
  }
}
.top-link__category {
  width: auto;
}
.top-link__category::after {
  content: "";
  display: block;
  height: 8px;
  width: 8px;
  border-top: 1px solid #93C572;
  border-right: 1px solid #93C572;
  rotate: 45deg;
  position: absolute;
  top: 144px;
  left: 294px;
}
@media screen and (max-width: 767px) {
  .top-link__category::after {
    top: 22px;
  }
}
@media screen and (max-width: 624px) {
  .top-link__category::after {
    display: none;
  }
}
.top-link__title {
  width: auto;
}
@media screen and (max-width: 624px) {
  .top-link__title {
    padding-left: 18px;
  }
}
@media screen and (max-width: 374px) {
  .top-link__title {
    padding-left: 10px;
  }
}
.top-link__title::before {
  display: none;
}
@media screen and (max-width: 624px) {
  .top-link__title::before {
    content: "";
    display: block;
    height: 8px;
    width: 8px;
    border-top: 1px solid #93C572;
    border-right: 1px solid #93C572;
    rotate: 45deg;
    position: absolute;
    top: 44px;
    left: 0;
  }
}
@media screen and (max-width: 374px) {
  .top-link__title::before {
    width: 5px;
    height: 5px;
  }
}

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

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

.contact-caption {
  color: #555555;
  font-size: 16px;
  font-weight: 400;
  margin-top: 38px;
  margin-bottom: 48px;
}

.section h2 {
  padding-top: 120px;
  margin-top: -120px;
}

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* 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;
  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-top-width: 1px;
  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] {
  -webkit-text-decoration: underline dotted;
          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;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

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

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

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

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

legend {
  padding: 0;
}

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

/**
 * 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. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * 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]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

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

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

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Yu Gothic", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif;
  background-color: #f9f9f9;
}

a {
  text-decoration: none;
  transition: all 0.3s ease;
}
a:hover {
  opacity: 0.8;
}
a:target {
  opacity: 0.8;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

picture {
  vertical-align: middle;
}

main {
  overflow-x: hidden;
}

.header {
  width: 94.5827232796vw;
  height: 90px;
  background-color: #fff;
  position: fixed;
  top: 20px;
  left: 50%;
  z-index: 10;
  translate: -50% 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 30px 0 40px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  border-radius: 45px;
  z-index: 10000;
}
@media screen and (max-width: 1023px) {
  .header {
    width: 100%;
    height: 50px;
    padding: 0 6px 0 0;
    top: 0;
    border-radius: unset;
  }
}
@media screen and (max-width: 767px) {
  .header {
    left: 0;
    translate: 0 0;
  }
}
.header__logo {
  width: 170px;
}
@media screen and (max-width: 767px) {
  .header__logo {
    width: 116px;
  }
}
@media screen and (max-width: 1023px) {
  .header__logo img {
    padding-left: 10px;
  }
}
.header__button {
  display: none;
}
@media screen and (max-width: 1023px) {
  .header__button {
    display: block;
    position: relative;
    width: 28px;
    height: 28px;
    background-color: transparent;
    border: none;
  }
}
.header__button span {
  position: absolute;
  width: 20px;
  height: 2px;
  background-color: #93C572;
  left: 50%;
  translate: -50% 0;
}
.header__button span:first-child {
  top: 3px;
  transition: all 0.3s ease;
}
.header__button span:nth-child(2) {
  top: 10px;
  transition: all 0.3s ease;
}
.header__button span:last-child {
  width: auto;
  height: auto;
  background-color: transparent;
  top: 17px;
}
.header__button span:last-child::before {
  content: "menu";
  text-transform: uppercase;
  color: #93C572;
  font-size: 10px;
  position: absolute;
  top: 0;
  left: 0;
  translate: -50% 0;
}
.header__button--open span {
  top: 50%;
}
.header__button--open span:first-child {
  translate: -50% 5px;
  rotate: 20deg;
  transition: all 0.3s ease;
}
.header__button--open span:nth-child(2) {
  translate: -50% -2px;
  rotate: -20deg;
  transition: all 0.3s ease;
}
.header__button--open span:last-child::before {
  content: "close";
}
@media screen and (max-width: 1023px) {
  .header__menu {
    position: absolute;
    top: 50px;
    background-color: #F9F9F9;
    min-height: 100vh;
    min-width: 100vw;
    padding: 0 15px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s linear;
  }
}
.header__menu--open {
  pointer-events: auto;
  opacity: 1;
}
.header__menu ul {
  display: flex;
  gap: 20px;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .header__menu ul {
    flex-direction: column;
    align-items: unset;
    gap: 0;
  }
}
@media screen and (max-width: 1023px) {
  .header__menu ul li:nth-of-type(-n+6) a {
    display: block;
    border-bottom: 1px solid #93C572;
    padding: 18px 0;
    position: relative;
  }
  .header__menu ul li:nth-of-type(-n+6) a::before {
    content: "";
    position: absolute;
    top: 44%;
    right: 0;
    width: 10px;
    height: 0;
    border-top: 2px solid #93C572;
    rotate: 45deg;
  }
  .header__menu ul li:nth-of-type(-n+6) a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 25px;
    height: 2px;
    background-color: #93C572;
  }
}
.header__menu ul li:first-child {
  display: none;
}
@media screen and (max-width: 1023px) {
  .header__menu ul li:first-child {
    display: block;
  }
}
@media screen and (max-width: 1023px) {
  .header__menu ul li:last-child {
    margin: 0 auto;
  }
}
.header__link {
  color: #3b4043;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.05em;
}
.header__link span {
  display: none;
}
@media screen and (max-width: 1023px) {
  .header__link span {
    display: inline-block;
    color: #F7B560;
    font-size: 12px;
    text-transform: uppercase;
    padding-left: 24px;
  }
}
.header__link--tel {
  display: none;
}
@media screen and (max-width: 1023px) {
  .header__link--tel {
    display: block;
    color: #93C572;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    margin-top: 18px;
  }
  .header__link--tel span {
    display: inline-block;
    font-size: 20px;
    padding-bottom: 10px;
  }
}
.header__link--contact {
  display: block;
  width: 148px;
  height: 48px;
  background-color: #F7B560;
  border-radius: 24px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 48px;
}
@media screen and (max-width: 1023px) {
  .header__link--contact {
    width: 300px;
    margin-top: 24px;
  }
}

.fv {
  width: 100%;
  position: relative;
  height: clamp(600px, 100vh, 768px);
  background: url(../img/FV.jpg) center/cover no-repeat;
  z-index: 0;
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .fv {
    height: 550px;
    margin-bottom: 40px;
    margin-top: 50px;
  }
}
.fv__content {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .fv__content {
    flex-direction: row;
    gap: 18px;
  }
}
@media screen and (max-width: 374px) {
  .fv__content {
    gap: 8px;
  }
}
.fv__logo {
  width: 204px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .fv__logo {
    width: 72px;
  }
}
.fv__catch {
  font-size: 50px;
  font-weight: bold;
  color: #93C572;
  letter-spacing: 0.15em;
  line-height: 1.5;
  text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.3019607843);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .fv__catch {
    font-size: 25px;
    text-shadow: unset;
  }
}
@media screen and (max-width: 374px) {
  .fv__catch {
    font-size: 22px;
  }
}
.fv__catch-break {
  display: none;
}
@media screen and (max-width: 1023px) {
  .fv__catch-break {
    display: block;
  }
}
.fv__scroll {
  display: block;
  width: 60px;
  height: 94px;
  color: #fff;
  font-family: "Archivo Narrow", sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
  position: absolute;
  left: 50%;
  bottom: 20px;
  translate: -50% 0;
  animation: infinite pop;
  animation-duration: 1s;
}
@media screen and (max-width: 992px) {
  .fv__scroll {
    display: none;
  }
}
.fv__scroll:before {
  position: absolute;
  content: "";
  width: 3px;
  height: 62px;
  background-color: #fff;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
}
.fv__scroll:after {
  position: absolute;
  content: "";
  width: 3px;
  height: 20%;
  background-color: #fff;
  bottom: -2px;
  left: 56%;
  translate: -50% 0;
  rotate: 30deg;
}
@keyframes pop {
  0% {
    transform: translateY(10px);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(10px);
  }
}
.fv__news {
  display: block;
  width: 336px;
  height: 108px;
  border-radius: 20px;
  background-color: #F7B560;
  position: absolute;
  bottom: 48px;
  right: 45px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  color: #fff;
  padding: 14px 15px 18px 15px;
}
@media screen and (max-width: 767px) {
  .fv__news {
    width: 142px;
    height: 76px;
    right: auto;
    left: 20px;
    bottom: 20px;
    border-radius: 10px;
    padding: 8px 10px;
  }
}
.fv__news-info {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-bottom: 3px;
}
@media screen and (max-width: 767px) {
  .fv__news-info {
    flex-direction: row;
    align-items: flex-end;
    gap: 6px;
    margin-bottom: 6px;
  }
}
.fv__news-heading {
  text-transform: capitalize;
  font-family: "Archivo Narrow", sans-serif;
  font-size: 20px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .fv__news-heading {
    font-size: 14px;
  }
}
.fv__news-date {
  font-family: "Archivo Narrow", sans-serif;
  font-size: 12px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .fv__news-date {
    font-size: 10px;
  }
}
.fv__news-title {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 767px) {
  .fv__news-title {
    font-size: 12px;
    -webkit-line-clamp: 2;
  }
}

/*===========
inview
===========*/
.fadeIn {
  opacity: 0;
  transition: 2s;
  translate: 0 100px;
}

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

.about {
  position: relative;
  margin-bottom: 45px;
  padding-top: 116px;
  padding-bottom: 282px;
}
@media screen and (max-width: 767px) {
  .about {
    margin-bottom: 36px;
    padding-top: 88px;
    padding-bottom: 136px;
  }
}
.about__logo {
  width: 314px;
  margin: 0 auto 54px;
}
@media screen and (max-width: 767px) {
  .about__logo {
    width: 232px;
    margin-bottom: 24px;
  }
}
.about__content {
  color: #555555;
  font-size: 16px;
  line-height: 2;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 374px) {
  .about__content {
    font-size: 13px;
  }
}
.about__content + .about__content {
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .about__content + .about__content {
    margin-top: 24px;
  }
}
.about__image {
  position: absolute;
}
.about__image:first-of-type {
  width: min(14.6412884334vw, 200px);
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .about__image:first-of-type {
    width: 64px;
    left: 19px;
  }
}
.about__image:nth-of-type(2) {
  width: min(13.2503660322vw, 181px);
  top: 50px;
  right: 0;
}
@media screen and (max-width: 767px) {
  .about__image:nth-of-type(2) {
    width: 56px;
    top: 12px;
    right: 28px;
  }
}
.about__image:nth-of-type(3) {
  width: min(14.6412884334vw, 200px);
  bottom: 68px;
  left: 108px;
}
@media screen and (max-width: 767px) {
  .about__image:nth-of-type(3) {
    width: 86px;
    bottom: 28px;
    left: 32px;
  }
}
.about__image:last-of-type {
  width: min(17.2767203514vw, 236px);
  bottom: 0;
  right: 24px;
}
@media screen and (max-width: 767px) {
  .about__image:last-of-type {
    width: 98px;
    bottom: 3px;
    right: 43px;
  }
}

.work {
  width: 85.2122986823vw;
  margin-right: auto;
  margin-bottom: 113px;
  border-radius: 0 100px 100px 0;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1607843137);
  padding: 72px 3.6603221083vw 80px 0;
  display: flex;
  justify-content: flex-end;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .work {
    width: 100%;
    margin-bottom: 74px;
    border-radius: 0;
    padding: 48px 15px 50px;
    justify-content: left;
  }
}
.work__inner {
  width: 66.6178623719vw;
}
@media screen and (max-width: 1023px) {
  .work__inner {
    width: auto;
  }
}
.work__heading {
  margin-bottom: 28px;
}
@media screen and (max-width: 767px) {
  .work__heading {
    margin-bottom: 30px;
  }
}
.work__button {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .work__button {
    gap: 8px;
    margin-bottom: 36px;
  }
}
.work__button-link {
  width: 190px;
  height: 65px;
  text-align: center;
  line-height: 65px;
  font-size: 20px;
  font-weight: bold;
  border-radius: 20px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
}
@media screen and (max-width: 767px) {
  .work__button-link:last-child {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .work__button-link {
    width: 110px;
    height: 50px;
    line-height: 50px;
    font-size: 16px;
    border-radius: 10px;
  }
}
.work__button-link.selected {
  background-color: #93C572;
}
.work__button-link.selected h3 {
  color: #fff;
}
.work__button-link h3 {
  color: #F7B560;
}
.work__area {
  display: none;
  opacity: 0;
}
.work__area.is-active {
  display: block;
  animation-name: displayAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;
}
@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.work__text {
  color: #555555;
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .work__text {
    margin-bottom: 36px;
  }
}
.work__slider .slick-slide {
  width: 324px;
}
.work__slide {
  padding-inline: 12px;
}
@media screen and (max-width: 767px) {
  .work__slide {
    width: 250px;
  }
}

.slick-list {
  overflow: visible;
}

.faq {
  margin-bottom: 120px;
  color: #555555;
}
@media screen and (max-width: 767px) {
  .faq {
    margin-bottom: 75px;
  }
}
.faq__heading {
  margin-inline: auto;
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .faq__heading {
    margin-bottom: 30px;
  }
}
.faq__qa {
  background-color: #fff;
  border: 3px solid #93C572;
  border-radius: 50px;
  padding: 20px 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .faq__qa {
    padding: 30px 20px 25px;
  }
}
.faq__qa + .faq__qa {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .faq__qa + .faq__qa {
    margin-top: 30px;
  }
}
.faq__qa::before {
  content: "";
  width: 3px;
  height: 20px;
  background-color: #FFF;
  position: absolute;
  top: 50%;
  left: -3px;
  translate: 0 -50%;
}
.faq__qa::after {
  content: "";
  width: 3px;
  height: 20px;
  background-color: #FFF;
  position: absolute;
  top: 50%;
  right: -3px;
  translate: 0 -50%;
}
.faq__qa.opened .faq__question::after {
  rotate: 0deg;
}
.faq__question {
  border: none;
  background-color: transparent;
  cursor: unset;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .faq__question {
    gap: 10px;
    align-items: flex-start;
  }
}
.faq__question.click:after {
  rotate: 180deg;
}
.faq__question:before {
  content: "";
  position: absolute;
  width: 20px;
  height: 3px;
  background-color: #93C572;
  top: 50%;
  right: 0;
  translate: 0 -50%;
}
@media screen and (max-width: 767px) {
  .faq__question:before {
    width: 15px;
  }
}
.faq__question:after {
  content: "";
  position: absolute;
  width: 20px;
  height: 3px;
  background-color: #93C572;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  rotate: 90deg;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .faq__question:after {
    width: 15px;
  }
}
.faq__question span {
  font-family: "Archivo Narrow", sans-serif;
  font-size: 35px;
  color: #93C572;
}
@media screen and (max-width: 767px) {
  .faq__question span {
    font-size: 25px;
  }
}
.faq__question p {
  font-family: "Yu Gothic", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .faq__question p {
    width: 64vw;
  }
}
.faq__answer {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-top: 24px;
  display: none;
}
@media screen and (max-width: 767px) {
  .faq__answer {
    flex-direction: column;
    gap: 12px;
  }
}
.faq__answer span {
  font-family: "Archivo Narrow", sans-serif;
  font-size: 35px;
  color: #F7B560;
}
@media screen and (max-width: 767px) {
  .faq__answer span {
    font-size: 25px;
  }
}
.faq__answer p {
  font-size: 20px;
  line-height: 1.35;
}

.top-news {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 80px;
  margin-bottom: 110px;
}
@media screen and (max-width: 767px) {
  .top-news {
    display: block;
    margin-bottom: 75px;
  }
}
.top-news__heading {
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .top-news__heading {
    margin-bottom: 32px;
  }
}
.top-news__left {
  align-items: center;
  margin: auto 0;
}
@media screen and (max-width: 767px) {
  .top-news__left {
    margin-bottom: 30px;
  }
}
.top-news__content {
  font-size: 16px;
  line-height: 1.3;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .top-news__content {
    margin-bottom: 40px;
  }
}
.top-news__more {
  font-family: "Archivo Narrow", sans-serif;
  margin-inline: auto;
}
.top-news__right {
  flex-shrink: 0;
  width: 50vw;
  margin-right: calc(50% - 50vw);
  background-color: #fff;
  border-radius: 100px 0 0 100px;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1607843137);
  padding: 80px 40px 80px 50px;
}
@media screen and (max-width: 767px) {
  .top-news__right {
    width: 96vw;
    margin: 0 0 30px auto;
    border-radius: 50px 0 0 50px;
    padding: 30px 20px;
  }
}
.top-news__right li:last-child .top-news__article {
  padding-bottom: 0;
}
.top-news__preview {
  padding-bottom: 30px;
  color: #555555;
}
.top-news__title-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .top-news__title-top {
    margin-bottom: 10px;
  }
}
.top-news__date {
  font-family: "Archivo Narrow", sans-serif;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .top-news__date {
    font-size: 14px;
  }
}
.top-news__categorys {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
}
.top-news__category {
  background-color: #93C572;
  color: #fff;
  font-size: 14px;
  border-radius: 5px;
  padding: 4px 28px;
  text-align: center;
}
.top-news__title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .top-news__title {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .access {
    padding-top: 74px;
  }
}
.access__table {
  width: 100%;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  border-radius: 100px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .access__table {
    border-radius: 50px;
  }
}
.access__table table {
  width: 100%;
}
.access__table th {
  width: 18.3016105417vw;
  background-color: #93C572;
  font-size: 20px;
  font-weight: bold;
  color: #555555;
}
@media screen and (max-width: 767px) {
  .access__table th {
    width: 37.3333333333vw;
    font-size: 16px;
  }
}
.access__table tr:first-child th {
  padding: 76px 0 24px 50px;
}
@media screen and (max-width: 767px) {
  .access__table tr:first-child th {
    padding: 30px 0 25px 20px;
  }
}
.access__table tr:nth-child(n+2):nth-child(-n+4) th {
  padding-bottom: 24px;
  padding-left: 50px;
}
@media screen and (max-width: 767px) {
  .access__table tr:nth-child(n+2):nth-child(-n+4) th {
    padding-bottom: 25px;
    padding-left: 20px;
  }
}
.access__table tr:nth-child(5) th {
  vertical-align: top;
  padding-top: 24px;
  padding-left: 50px;
}
@media screen and (max-width: 767px) {
  .access__table tr:nth-child(5) th {
    padding-top: 24px;
    padding-left: 20px;
    padding-bottom: 30px;
  }
}
.access__table td {
  width: 51.9765739385vw;
  background-color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #555555;
}
@media screen and (max-width: 767px) {
  .access__table td {
    font-size: 14px;
  }
}
.access__table tr:first-child td {
  padding-top: 76px;
  padding-left: 50px;
}
@media screen and (max-width: 767px) {
  .access__table tr:first-child td {
    padding-top: 30px;
    padding-left: 20px;
  }
}
.access__table tr:nth-child(n+2):nth-child(-n+4) td {
  padding-left: 50px;
  padding-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .access__table tr:nth-child(n+2):nth-child(-n+4) td {
    padding-left: 20px;
    padding-bottom: 25px;
  }
}
.access__table a {
  display: block;
  font-size: 16px;
  margin-top: 20px;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .access__table a {
    font-size: 12px;
    margin-top: 6px;
  }
}
.access__map {
  height: 300px;
}
@media screen and (max-width: 767px) {
  .access__map {
    height: 250px;
  }
}

.access h2 {
  margin: 0 auto 46px;
}
@media screen and (max-width: 767px) {
  .access h2 {
    margin: 0 auto 42px;
  }
}

.contact {
  color: #fff;
  background-color: #F7B560;
  margin: 160px auto 112px;
  text-align: center;
  padding: 45px 0 50px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1607843137);
  border-radius: 50px;
}
@media screen and (max-width: 767px) {
  .contact {
    padding: 44px 20px 38px;
    margin: 80px auto 0;
  }
}
.contact__title {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .contact__title {
    font-size: 30px;
    margin-bottom: 16px;
  }
}
.contact__text {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .contact__text {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 14px;
  }
}
@media screen and (max-width: 374px) {
  .contact__text {
    font-size: 14px;
  }
}
.contact__tell {
  display: flex;
  justify-content: center;
  margin-top: 35px;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .contact__tell {
    display: block;
    margin-top: 16px;
  }
}
.contact__content {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 374px) {
  .contact__content {
    font-size: 15px;
  }
}
@media screen and (max-width: 280px) {
  .contact__content {
    font-size: 12px;
  }
}
.contact__number {
  font-size: 30px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .contact__number {
    margin-top: 1px;
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 374px) {
  .contact__number {
    font-size: 20px;
  }
}
@media screen and (max-width: 280px) {
  .contact__number {
    font-size: 16px;
  }
}
.contact__content-break {
  display: none;
}
@media screen and (max-width: 767px) {
  .contact__content-break {
    display: block;
  }
}
.contact__content-break--bottom {
  display: none;
}
@media screen and (max-width: 374px) {
  .contact__content-break--bottom {
    display: block;
  }
}

.footer {
  background-color: #fff;
  padding: 70px 0 30px 0;
  color: #555555;
}
.footer__container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 28px;
}
@media screen and (max-width: 767px) {
  .footer__container {
    flex-direction: column;
    gap: 32px;
    margin-bottom: 40px;
  }
}
.footer__logo {
  width: 202px;
}
.footer__address {
  font-size: 16px;
  font-weight: 500;
  margin-top: 44px;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .footer__address {
    margin-top: 28px;
  }
}
.footer__tell {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  margin-top: 30px;
}
.footer__tell p a {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .footer__tell p a {
    pointer-events: auto;
  }
}
.footer__tell p a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .footer__right {
    width: 100%;
  }
}
.footer__menu {
  margin-bottom: 128px;
}
@media screen and (max-width: 767px) {
  .footer__menu {
    margin-bottom: 28px;
  }
}
.footer__menu ul {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .footer__menu ul {
    flex-direction: column;
    gap: 8px;
  }
}
.footer__link {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.footer__icon {
  display: flex;
  gap: 20px;
  justify-content: flex-end;
}
.footer__icon-link {
  width: 50px;
  height: 50px;
  background-color: #fff;
  border-radius: 25px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer__icon-link .icon {
  font-family: "Font Awesome 6 Brands", sans-serif;
  font-size: 25px;
  opacity: 0.5;
}
.footer__copyright {
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.05em;
}

.news-list__button {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin: 45px auto 50px;
}
@media screen and (max-width: 767px) {
  .news-list__button {
    justify-content: unset;
  }
}
.news-list__button-link {
  width: 126px;
  height: 44px;
  background-color: #fff;
  color: #F7B560;
  font-size: 16px;
  font-weight: bold;
  border-radius: 50px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  text-align: center;
  line-height: 44px;
}
.news-list__button-link:hover {
  background-color: #93C572;
  color: #fff;
}
.news-list__button-links {
  width: 126px;
  height: 44px;
  background-color: #fff;
  color: #F7B560;
  font-size: 16px;
  font-weight: bold;
  border-radius: 50px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  text-align: center;
  line-height: 44px;
}
@media screen and (max-width: 767px) {
  .news-list__button-links {
    display: none;
  }
}
.news-list__button-links:hover {
  background-color: #93C572;
  color: #fff;
}
.news-list__contain {
  min-width: 230px;
  background-color: #fff;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1607843137);
  border-radius: 100px;
  padding: 80px 50px;
}
@media screen and (max-width: 767px) {
  .news-list__contain {
    padding: 46px 0 30px;
    border-radius: 50px;
  }
}
.news-list__list {
  display: flex;
  gap: 36px;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .news-list__list {
    display: block;
    position: relative;
    margin: 0 auto 30px;
  }
}
.news-list__image {
  width: 230px;
  height: 150px;
}
@media screen and (max-width: 767px) {
  .news-list__image {
    width: 302px;
    height: 200px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 374px) {
  .news-list__image {
    width: 200px;
    height: 120px;
  }
}
.news-list__image img {
  width: 230px;
  height: 150px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .news-list__image img {
    width: 302px;
    height: 200px;
  }
}
@media screen and (max-width: 374px) {
  .news-list__image img {
    width: 200px;
    height: 120px;
  }
}
@media screen and (max-width: 767px) {
  .news-list__right {
    position: absolute;
    width: 305px;
    height: 70px;
    bottom: 0px;
    left: 50%;
    translate: -50% 0;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 5px 10px;
  }
}
@media screen and (max-width: 374px) {
  .news-list__right {
    width: 200px;
    height: 35px;
  }
}
.news-list__top {
  display: flex;
  gap: 20px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .news-list__top {
    display: block;
    margin-bottom: 6px;
  }
}
@media screen and (max-width: 374px) {
  .news-list__top {
    margin-bottom: 0;
  }
}
.news-list__date {
  font-size: 14px;
  font-weight: 500;
  color: #555555;
}
@media screen and (max-width: 767px) {
  .news-list__date {
    font-size: 12px;
  }
}
@media screen and (max-width: 374px) {
  .news-list__date {
    font-size: 5px;
    position: absolute;
  }
}
.news-list__top p {
  background-color: #93C572;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  border-radius: 5px;
  padding: 3px 20px;
  width: 96px;
  flex-wrap: wrap;
  display: flex;
}
@media screen and (max-width: 767px) {
  .news-list__top p {
    position: absolute;
    top: -120px;
    right: 10px;
  }
}
@media screen and (max-width: 374px) {
  .news-list__top p {
    font-size: 8px;
    width: 50px;
    padding: 1px 8px;
    top: -76px;
  }
}
.news-list__title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #555555;
}
@media screen and (max-width: 767px) {
  .news-list__title {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 374px) {
  .news-list__title {
    font-size: 6px;
    position: absolute;
    bottom: 10px;
  }
}
.news-list__text {
  font-size: 14px;
  font-weight: 500;
  color: #555555;
}
@media screen and (max-width: 767px) {
  .news-list__text {
    display: none;
  }
}
.news-list__page ul {
  display: flex;
  justify-content: center;
  gap: 12px;
}
@media screen and (max-width: 374px) {
  .news-list__page ul {
    gap: 8px;
  }
}
.news-list__page ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  background-color: #FAFAFA;
  border: 2px solid #F0F3F5;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 400;
  color: #93C572;
  text-decoration: none;
  transition: 0.3s;
}
.news-list__page ul li a:hover {
  background-color: #F0F3F5;
}
@media screen and (max-width: 374px) {
  .news-list__page ul li a {
    width: 30px;
    height: 30px;
    font-size: 12px;
  }
}
.news-list__page ul li .current {
  background-color: #93C572;
  color: #FFF;
  border-color: #93C572;
  pointer-events: none;
}
.news-list__page ul li .page-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 10px;
  border: 2px solid #F0F3F5;
  background-color: #FAFAFA;
  transition: 0.3s;
}
.news-list__page ul li .page-arrow:hover {
  background-color: #F0F3F5;
}
@media screen and (max-width: 374px) {
  .news-list__page ul li .page-arrow {
    width: 30px;
    height: 30px;
  }
}
.news-list__page ul li .page-arrow svg {
  width: 16px;
  height: 16px;
  fill: #93C572;
}

.news-detail__theme {
  color: #555555;
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 22px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .news-detail__theme {
    font-size: 25px;
  }
}
@media screen and (max-width: 374px) {
  .news-detail__theme {
    font-size: 20px;
  }
}
.news-detail__update {
  display: flex;
  gap: 6px;
  margin-bottom: 52px;
}
.news-detail__date {
  color: #555555;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .news-detail__date {
    font-size: 16px;
  }
}
@media screen and (max-width: 374px) {
  .news-detail__date {
    font-size: 12px;
  }
}
.news-detail__update-category {
  background-color: #93C572;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  border-radius: 5px;
  padding: 3px 20px;
  width: 96px;
  flex-wrap: wrap;
  display: flex;
}
@media screen and (max-width: 374px) {
  .news-detail__update-category {
    font-size: 10px;
    width: 70px;
    padding: 3px 14px;
    white-space: nowrap;
  }
}
.news-detail__contain {
  min-width: 230px;
  background-color: #fff;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1607843137);
  border-radius: 100px;
  padding: 50px 0;
}
@media screen and (max-width: 767px) {
  .news-detail__contain {
    border-radius: 50px;
    padding: 30px 0;
  }
}
.news-detail__inner {
  width: 43.9238653001vw;
  margin-inline: auto;
}
@media screen and (max-width: 1020px) {
  .news-detail__inner {
    width: auto;
    margin-inline: 30px;
  }
}
@media screen and (max-width: 767px) {
  .news-detail__inner {
    margin-inline: 20px;
  }
}
.news-detail__inner p {
  color: #555555;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
}
@media screen and (max-width: 374px) {
  .news-detail__inner p {
    font-size: 14px;
  }
}
.news-detail__top-image {
  width: 43.9238653001vw;
  margin: 0 auto;
}
@media screen and (max-width: 1020px) {
  .news-detail__top-image {
    width: auto;
  }
}
.news-detail__top-image img {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  border-radius: 20px;
}
.news-detail__toc {
  margin-top: 30px;
  margin-bottom: 75px;
  padding: 25px 30px 20px;
  border: 2px solid #93C572;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .news-detail__toc {
    margin-top: 20px;
    margin-bottom: 40px;
  }
}
.news-detail__toc h2 {
  color: #555555;
  font-size: 25px;
  font-weight: bold;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .news-detail__toc h2 {
    font-size: 20px;
  }
}
.news-detail__toc-list {
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .news-detail__toc-list {
    padding-left: 0;
  }
}
.news-detail__toc-list li:first-child .news-detail__toc-h2list::before {
  content: "1.";
  color: #F7B560;
  font-size: 16px;
  font-weight: bold;
}
.news-detail__toc-list li:nth-child(2) .news-detail__toc-h2list::before {
  content: "2.";
  color: #F7B560;
  font-size: 16px;
  font-weight: bold;
}
.news-detail__toc-h2list {
  display: block;
  margin-bottom: 5px;
  color: #555555;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .news-detail__toc-h2list {
    margin-bottom: 8px;
  }
}
.news-detail__toc-h3list {
  padding-left: 20px;
  margin-bottom: 5px;
  color: #555555;
  font-size: 16px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .news-detail__toc-h3list {
    margin-bottom: 15px;
  }
}
.news-detail__toc-h3list a::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #93C572;
  position: absolute;
  top: 3px;
  left: 12px;
}
.news-detail__title-h2-top {
  width: 300px;
  font-size: 24px;
  font-weight: bold;
  border-bottom: 2px solid #93C572;
  margin-bottom: 22px;
  color: #555555;
}
@media screen and (max-width: 767px) {
  .news-detail__title-h2-top {
    width: 224px;
    font-size: 20px;
    margin-bottom: 18px;
  }
}
@media screen and (max-width: 374px) {
  .news-detail__title-h2-top {
    width: 180px;
    font-size: 18px;
  }
}
.news-detail__title-h3-top {
  font-size: 20px;
  font-weight: bold;
  margin-top: 82px;
  margin-bottom: 16px;
  padding-left: 16px;
  color: #555555;
  width: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .news-detail__title-h3-top {
    font-size: 18px;
    margin-top: 115px;
    margin-bottom: 15px;
    flex-wrap: wrap;
  }
}
.news-detail__title-h3-top::before {
  content: "";
  width: 10px;
  height: 25px;
  background-color: #93C572;
  margin-right: 8px;
  vertical-align: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 488px) {
  .news-detail__title-h3-top::before {
    height: 46px;
  }
}
.news-detail__h3-list {
  display: inline-block;
  margin-bottom: 60px;
  font-size: 16px;
  color: #555555;
  list-style: disc;
  list-style-position: inside;
}
@media screen and (max-width: 767px) {
  .news-detail__h3-list {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 374px) {
  .news-detail__h3-list {
    font-size: 14px;
  }
}
.news-detail__title-h2-bottom {
  width: 300px;
  font-size: 24px;
  font-weight: bold;
  border-bottom: 2px solid #93C572;
  margin-top: 120px;
  margin-bottom: 22px;
  color: #555555;
}
@media screen and (max-width: 767px) {
  .news-detail__title-h2-bottom {
    width: 224px;
    font-size: 20px;
    margin-top: 112px;
    margin-bottom: 18px;
  }
}
@media screen and (max-width: 374px) {
  .news-detail__title-h2-bottom {
    width: 180px;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .news-detail__text {
    display: flex;
    flex-direction: column;
  }
}
.news-detail__text::after {
  content: "";
  display: block;
  clear: both;
}
.news-detail__text img {
  width: auto;
  max-width: 290px;
  float: right;
  margin: 0 0 20px 20px;
}
@media screen and (max-width: 767px) {
  .news-detail__text img {
    float: none;
    order: 2;
    width: 100%;
    max-width: unset;
    margin: 120px auto 0;
  }
}
@media screen and (max-width: 767px) {
  .news-detail__text p {
    order: 1;
  }
}
.news-detail__title-h3-bottom {
  font-size: 20px;
  font-weight: bold;
  margin-top: 64px;
  margin-bottom: 16px;
  color: #555555;
  width: auto;
  position: relative;
  padding-left: 16px;
}
@media screen and (max-width: 767px) {
  .news-detail__title-h3-bottom {
    font-size: 18px;
    margin-top: 40px;
    margin-bottom: 15px;
  }
}
.news-detail__title-h3-bottom::before {
  content: "";
  width: 10px;
  height: 25px;
  background-color: #93C572;
  margin-right: 8px;
  vertical-align: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 488px) {
  .news-detail__title-h3-bottom::before {
    height: 46px;
  }
}
.news-detail__last-text {
  margin-bottom: 126px;
}
@media screen and (max-width: 767px) {
  .news-detail__last-text {
    margin-bottom: 116px;
  }
}

.contact-thanks {
  min-width: 230px;
  background-color: #fff;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1607843137);
  border-radius: 100px;
  padding: 76px 0 82px;
  margin-top: 45px;
  margin-bottom: 156px;
}
@media screen and (max-width: 767px) {
  .contact-thanks {
    border-radius: 50px;
    padding: 26px 0 30px;
    margin-top: 22px;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 374px) {
  .contact-thanks {
    min-width: 210px;
  }
}
.contact-thanks__complete {
  color: #555555;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 24px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-thanks__complete {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 374px) {
  .contact-thanks__complete {
    font-size: 16px;
  }
}
.contact-thanks__text {
  color: #555555;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .contact-thanks__text {
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 374px) {
  .contact-thanks__text {
    font-size: 12px;
  }
}
.contact-thanks__number {
  color: #93C572;
  font-weight: bold;
  font-size: 20px;
  text-align: center;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .contact-thanks__number {
    font-size: 14px;
  }
}
@media screen and (max-width: 374px) {
  .contact-thanks__number {
    font-size: 10px;
  }
}
@media screen and (max-width: 767px) {
  .contact-thanks__number span {
    display: none;
  }
}
.contact-thanks__number a {
  font-size: 30px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .contact-thanks__number a {
    font-size: 20px;
    pointer-events: auto;
    line-height: 1.3;
  }
}
@media screen and (max-width: 374px) {
  .contact-thanks__number a {
    font-size: 16px;
  }
}
.contact-thanks__number a:hover {
  text-decoration: underline;
}
.contact-thanks__time {
  color: #93C572;
  font-weight: bold;
  font-size: 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-thanks__time {
    font-size: 14px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 374px) {
  .contact-thanks__time {
    font-size: 10px;
  }
}
.contact-thanks__button {
  display: block;
  width: 200px;
  height: 50px;
  font-size: 16px;
  font-weight: bold;
  color: #93C572;
  background-color: #fff;
  border: 2px solid #93C572;
  border-radius: 50px;
  text-align: center;
  line-height: 50px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  margin: 46px auto 0;
}
@media screen and (max-width: 767px) {
  .contact-thanks__button {
    margin: 28px auto 0;
  }
}
@media screen and (max-width: 374px) {
  .contact-thanks__button {
    width: 120px;
    height: 35px;
    font-size: 12px;
    line-height: 35px;
  }
}

.contact-input {
  min-width: 230px;
  background-color: #fff;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1607843137);
  border-radius: 100px;
  padding: 76px 0 80px;
  margin-bottom: 160px;
}
@media screen and (max-width: 767px) {
  .contact-input {
    border-radius: 50px;
    padding: 26px 0 30px;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 374px) {
  .contact-input {
    min-width: 210px;
  }
}
.contact-input__item {
  width: min(43.9238653001vw, 600px);
  margin-inline: auto;
}
@media screen and (max-width: 1365px) {
  .contact-input__item {
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .contact-input__item {
    width: 100%;
    padding: 0 20px;
  }
}
.contact-input__item h2 {
  color: #555555;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .contact-input__item h2 {
    font-size: 16px;
  }
}
.contact-input__item h2::after {
  content: "必須";
  vertical-align: middle;
  font-size: 0.6em;
  color: #fff;
  font-weight: 300;
  text-align: center;
  border-radius: 5px;
  background-color: #93C572;
  padding: 4px 5px;
  margin-left: 26px;
}
@media screen and (max-width: 767px) {
  .contact-input__item h2::after {
    margin-left: 10px;
  }
}
.contact-input__item:nth-child(4) h2::after {
  content: "";
  background-color: #fff;
}
.contact-input__rect {
  width: min(36.6032210835vw, 500px);
  height: 50px;
  border: 1px solid #93C572;
  border-radius: 5px;
  margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
  .contact-input__rect {
    width: 100%;
    margin-bottom: 26px;
  }
}
.contact-input__rect--top {
  width: min(29.2825768668vw, 400px);
  height: 50px;
  border: 1px solid #93C572;
  border-radius: 5px;
  margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
  .contact-input__rect--top {
    width: 100%;
    margin-bottom: 26px;
  }
}
.contact-input__rect--bottom {
  width: min(43.9238653001vw, 600px);
  height: 150px;
  border: 1px solid #93C572;
  border-radius: 5px;
  margin-bottom: 50px;
}
@media screen and (max-width: 1023px) {
  .contact-input__rect--bottom {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .contact-input__rect--bottom {
    margin-bottom: 30px;
  }
}
.contact-input__send {
  display: block;
  width: 200px;
  height: 50px;
  font-size: 20px;
  font-weight: 400;
  color: #93C572;
  background-color: #fff;
  border: 2px solid #93C572;
  border-radius: 50px;
  text-align: center;
  line-height: 50px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  margin: 0 auto;
}
@media screen and (max-width: 374px) {
  .contact-input__send {
    width: 160px;
    height: 40px;
    font-size: 14px;
    line-height: 40px;
  }
}
.contact-input .wpcf7-select {
  width: min(29.2825768668vw, 400px);
  height: 50px;
  border: 1px solid #93C572;
  border-radius: 5px;
  margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
  .contact-input .wpcf7-select {
    width: 100%;
    margin-bottom: 26px;
  }
}
.contact-input .wpcf7-text {
  width: min(36.6032210835vw, 500px);
  height: 50px;
  border: 1px solid #93C572;
  border-radius: 5px;
  margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
  .contact-input .wpcf7-text {
    width: 100%;
    margin-bottom: 26px;
  }
}
.contact-input .wpcf7-email {
  width: min(36.6032210835vw, 500px);
  height: 50px;
  border: 1px solid #93C572;
  border-radius: 5px;
  margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
  .contact-input .wpcf7-email {
    width: 100%;
    margin-bottom: 26px;
  }
}
.contact-input .wpcf7-textarea {
  width: min(43.9238653001vw, 600px);
  height: 150px;
  border: 1px solid #93C572;
  border-radius: 5px;
  margin-bottom: 50px;
}
@media screen and (max-width: 1023px) {
  .contact-input .wpcf7-textarea {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .contact-input .wpcf7-textarea {
    margin-bottom: 30px;
  }
}

.contact-confirm {
  min-width: 230px;
  background-color: #fff;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1607843137);
  border-radius: 100px;
  padding: 76px 0 80px;
  margin-bottom: 160px;
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .contact-confirm {
    border-radius: 50px;
    padding: 26px 0 30px;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 374px) {
  .contact-confirm {
    min-width: 210px;
  }
}
.contact-confirm__item {
  width: 62.5vw;
  max-width: 600px;
  margin: 0 auto;
}
.contact-confirm__item h2 {
  color: #555555;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 12px;
}
.contact-confirm__item h2::after {
  content: "必須";
  vertical-align: middle;
  font-size: 0.6em;
  color: #fff;
  font-weight: 300;
  text-align: center;
  border-radius: 5px;
  background-color: #93C572;
  padding: 4px 5px;
  margin-left: 26px;
}
.contact-confirm__item:nth-child(4) h2::after {
  content: "";
  background-color: #fff;
}
.contact-confirm__content {
  margin-bottom: 25px;
  color: #555555;
  font-size: 16px;
  font-weight: 500;
}
.contact-confirm__content--bottom {
  margin-bottom: 50px;
}
.contact-confirm__send {
  display: block;
  width: 200px;
  height: 50px;
  font-size: 20px;
  font-weight: 400;
  color: #93C572;
  background-color: #fff;
  border: 2px solid #93C572;
  border-radius: 50px;
  text-align: center;
  line-height: 50px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  margin: 0 auto;
}
@media screen and (max-width: 374px) {
  .contact-confirm__send {
    width: 200px;
    height: 50px;
    font-size: 16px;
    line-height: 50px;
  }
}/*# sourceMappingURL=style.css.map */