@charset "UTF-8";

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}

@media (max-width: 768px) {
  html {
    scroll-padding-top: 60px;
  }
}

* {
  box-sizing: border-box;
}

*,
:after,
:before {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

* {
  -webkit-appearance: none;
}

body {
  font-family: "Roboto", sans-serif;
  font-size: 1.8rem;
  line-height: 2.5;
  font-weight: 500;
  overflow-wrap: break-word;
  color: #444444;
  margin: 0;
}

@media (max-width: 768px) {
  body {
    font-size: 1.5rem;
  }
}

br {
  display: block;
  content: "";
  margin: 10px 0;
}

h1 {
  /* font-size: clamp(5rem, 6vw, 6rem); */
  line-height: 1.2;
  letter-spacing: 0.02em;
}

h2 {
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 1.3;
  letter-spacing: 0.01em;
}

h3 {
  font-size: clamp(2rem, 4.5vw, 3rem);
  line-height: 1.4;
  letter-spacing: 0.01em;
}

h4 {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  line-height: 1.4;
  letter-spacing: 0.005em;
}

h5 {
  font-size: clamp(1.6rem, 3.5vw, 2rem);
  line-height: 1.5;
  letter-spacing: 0.005em;
}

h6 {
  font-size: clamp(1.4rem, 3vw, 1.8rem);
  line-height: 1.8;
  letter-spacing: normal;
}

p {
  font-size: clamp(1.5rem, 2.5vw, 1.8rem);
  line-height: 2.5;
  /* letter-spacing: 0.01em; */
}

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

a:hover {
  opacity: .7;
}

img {
  max-width: 100%;
  vertical-align: top;
}

@media (min-width: 960px) {
  .pc_br {
    display: block;
  }

  .slider__top__sp {
    display: none;
  }

  .slider__front__sp {
    display: none;
  }

  #header__sp {
    display: none;
  }

  .policy__item__list h4 {
    font-size: 2.8rem;
  }

  .results__item__list h4 {
    font-size: 2.8rem;
  }

  .results__icon {
    font-size: 2.8rem;
  }

  .common__nav__button_bg {
    font-size: 2rem;
  }

  .question__item__list h4 {
    font-size: 2.8rem;
  }
}

.header__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.header__logo img {
  width: 240px;
}

.header__logo h1 {
  margin-top: 8px;
}

.header__logo p {
  font-size: 1.4rem;
  font-weight: 600;
  color: #505050;
  letter-spacing: .2rem;
  line-height: 1;
  margin-top: 6px;
}

.header__sp__image {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.header__sp__image p {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1;
}

.wrapper .container {
  width: 100%;
  margin: 0px auto;
  padding: 120px 5%;
}

@media (max-width: 768px) {
  .wrapper .container {
    padding: 60px 20px;
  }
}

.footer__wrapper .container {
  width: 100%;
  margin: 0px auto;
  padding: 80px 5% 40px 5%;
}

@media (max-width: 768px) {
  .footer__wrapper .container {
    padding: 60px 20px 30px 20px;
  }
}

.copyright__wrapper .container {
  width: 100%;
  margin: 0px auto;
  padding: 5px 5%;
}

@media (max-width: 768px) {
  .copyright__wrapper .container {
    padding: 5px 5%;
  }
}

/* wrapper */

.kv__wrapper .container {
  width: 100%;
  margin: 0px auto;
  padding: 120px 5%;
}

@media (max-width: 768px) {
  .kv__wrapper .container {
    padding: 0px 20px 0px 20px
  }
}

.splide__wrapper .container {
  width: 100%;
  margin: 0px auto;
  padding: 120px 0px;
}

@media (max-width: 768px) {
  .splide__wrapper .container {
    padding: 60px 0px;
    padding-bottom: 60px;
  }
}

.bg__lightgreen {
  background: #d6f0d64e;
}

/* header */

#header {
  width: calc(100% - 128px);
  max-width: calc(100% - 128px);
  align-items: center;
  background-color: transparent;
  /* border: #ffffff 1px solid; */
  border-radius: 60px;
  display: flex;
  justify-content: space-between;
  left: 50%;
  transform: translateX(-50%);
  padding: 15px 25px;
  position: fixed;
  top: 25px;
  z-index: 999;
}

#header.scroll-nav {
  width: calc(100% - 128px);
  max-width: calc(100% - 128px);
  align-items: center;
  background-color: #ffffff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  border-radius: 60px;
  display: flex;
  justify-content: space-between;
  left: 50%;
  transform: translateX(-50%);
  padding: 15px 25px;
  position: fixed;
  top: 25px;
  z-index: 999;
}

/* nav */

nav {
  width: 100%;
  display: flex;
  align-items: center;
  margin: 0 auto;
  justify-content: space-between;
}

nav h1 {
  text-decoration: none;
}

.header__nav__logo {
  display: flex;
  align-items: center;
}

@media(max-width: 768px) {

  #header {
    display: none;
  }

  #header.scroll-nav {
    display: none;
  }

  #header__sp {
    width: 100%;
    z-index: 999;
    padding: 0 20px;
    height: 68px;
    align-items: center;
    position: sticky;
    top: 0;
    background: #ffffff;
  }

  #header__sp.scroll-nav__sp {
    width: 100%;
    z-index: 999;
    padding: 0 20px;
    height: 68px;
    align-items: center;
    position: sticky;
    top: 0;
    background: #ffffff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }

  .header__sp__container {
    display: flex;
    height: 68px;
    justify-content: space-between;
    align-items: center;
  }

  .header__sp__inner {
    display: flex;
    align-items: center;
  }

  .header__sp__image {
    padding: 0px;
  }

  .header__sp__image img {
    width: 200px
  }

  .header__sp__name {
    display: flex;
    align-items: start;
    list-style: none;
    margin-left: 6px;
    margin-top: 2px;
  }

  .drawer__button {
    position: relative;
    width: 4rem;
    height: 2rem;
    background-color: transparent;
    border: none;
    cursor: pointer;
    z-index: 999;
  }

  .drawer__button>span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4rem;
    height: 2px;
    background-color: #40B041;
    transform: translateX(-50%);
  }

  .drawer__button>span:first-child {
    transform: translate(-50%, calc(-50% - .8rem));
    transition: transform 0.3s ease;
  }

  .drawer__button>span:nth-child(2) {
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease;
  }

  .drawer__button>span:last-child {
    transform: translate(-50%, calc(-50% + .8rem));
    transition: transform 0.3s ease;
  }

  .drawer__button.active>span:first-child {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  .drawer__button.active>span:nth-child(2) {
    opacity: 0;
  }

  .drawer__button.active>span:last-child {
    transform: translate(-50%, -50%) rotate(45deg);
  }

  .drawer__nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    transition: opacity 0.3s ease;
    opacity: 0;
    visibility: hidden;
  }

  .drawer__nav.active {
    opacity: 1;
    visibility: visible;
  }

  .drawer__nav__inner {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: white;
    padding: 6rem 1.5rem 1rem;
    margin: 0 0 0 auto;
    overflow: scroll;
    transform: translateX(100%);
    transition: transform 0.3s ease;
  }

  .drawer__nav.active .drawer__nav__inner {
    transform: translateX(0);
  }

  .drawer__nav__menu {
    list-style: none;
    padding-left: 0;
    margin-top: 10px;
  }

  .drawer__nav__link {
    display: block;
    text-decoration: none;
    padding: 1rem 2rem;
    border-bottom: solid 1px #40B041dd;
  }

  .drawer__nav__menu>li:first-child {
    border-top: solid 1px #40B041dd;
  }

  .drawer__nav__item {
    font-weight: 600;
    letter-spacing: .1rem;
  }

  /* body.active {
    height: 100%;
    overflow: hidden;
  } */
}

.drawer__nav__logo {
  text-align: center;
  margin-top: 40px;
}

.drawer__nav__logo img {
  width: 120px;
}

/* #slider {
  width: calc(100% - 128px);
  max-width: calc(100% - 128px);
  margin: 0 auto;
  border-radius: 30px;
  border: 0px solid #40B041;
  height: 80vh;
  position: relative;
  margin-top: 120px;
}
@media (max-width: 768px) {
  #slider {
    width: 100%;
    border-radius: 20px;
    max-width: calc(100% - 40px);
    height: 75vh;
    border: 0px solid #40B041;
    margin-top: 80px;
  }
} */

/* slider__front */

.slider__top {
  position: absolute;
  top: 5%;
  left: 3%;
  align-items: center;
  justify-content: center;
  text-align: left;
  padding: 40px;
}

@media (max-width: 768px) {
  .slider__top {
    display: none;
  }
}

.slider__catch {
  box-sizing: border-box;
  background: #40b042e0;
  border-radius: 60px;
  padding: 15px 30px 12px;
  margin-bottom: 30px;
  color: #ffffff;
  font-size: 3.5rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2rem;
}

.slider__front {
  width: 100%;
  position: absolute;
  top: 68%;
  left: 5%;
  align-items: center;
  justify-content: center;
  text-align: left;
  padding: 40px;
}

@media (max-width: 768px) {
  .slider__front {
    display: none;
  }
}

.slider__name {
  color: #278BC4;
  border-radius: 0px;
  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .1rem;
  margin-top: 30px;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px, rgb(255, 255, 255) 5.91686px 0.995377px 0px, rgb(255, 255, 255) 5.66974px 1.96317px 0px, rgb(255, 255, 255) 5.2655px 2.87655px 0px, rgb(255, 255, 255) 4.71532px 3.71022px 0px, rgb(255, 255, 255) 4.03447px 4.44106px 0px, rgb(255, 255, 255) 3.24181px 5.04883px 0px, rgb(255, 255, 255) 2.35931px 5.51667px 0px, rgb(255, 255, 255) 1.41143px 5.83163px 0px, rgb(255, 255, 255) 0.424423px 5.98497px 0px, rgb(255, 255, 255) -0.574341px 5.97245px 0px, rgb(255, 255, 255) -1.55719px 5.79441px 0px, rgb(255, 255, 255) -2.49688px 5.45578px 0px, rgb(255, 255, 255) -3.36738px 4.96596px 0px, rgb(255, 255, 255) -4.14455px 4.33852px 0px, rgb(255, 255, 255) -4.80686px 3.59083px 0px, rgb(255, 255, 255) -5.33596px 2.74364px 0px, rgb(255, 255, 255) -5.71718px 1.8204px 0px, rgb(255, 255, 255) -5.93995px 0.84672px 0px, rgb(255, 255, 255) -5.99811px -0.150428px 0px, rgb(255, 255, 255) -5.89004px -1.14341px 0px, rgb(255, 255, 255) -5.61874px -2.1047px 0px, rgb(255, 255, 255) -5.19172px -3.00766px 0px, rgb(255, 255, 255) -4.62082px -3.82727px 0px, rgb(255, 255, 255) -3.92186px -4.54081px 0px, rgb(255, 255, 255) -3.11421px -5.12852px 0px, rgb(255, 255, 255) -2.22026px -5.57409px 0px, rgb(255, 255, 255) -1.26477px -5.86518px 0px, rgb(255, 255, 255) -0.274238px -5.99373px 0px, rgb(255, 255, 255) 0.723898px -5.95617px 0px, rgb(255, 255, 255) 1.70197px -5.75355px 0px, rgb(255, 255, 255) 2.63288px -5.39147px 0px, rgb(255, 255, 255) 3.49082px -4.87998px 0px, rgb(255, 255, 255) 4.25202px -4.23324px 0px, rgb(255, 255, 255) 4.89538px -3.46919px 0px, rgb(255, 255, 255) 5.40307px -2.60899px 0px, rgb(255, 255, 255) 5.76102px -1.67649px 0px, rgb(255, 255, 255) 5.95932px -0.697531px 0px;
}

/* slider__front__sp */

.slider__top__sp {
  position: absolute;
  max-width: 100%;
  top: 45%;
  left: 5%;
  align-self: center;
  justify-content: center;
  text-align: left;
}

.slider__catch__sp {
  width: 100%;
  box-sizing: border-box;
  background: #40b042e0;
  border-radius: 60px;
  padding: 10px 20px 10px;
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2rem;
}

.slider__front__sp {
  position: absolute;
  max-width: 100%;
  top: 80%;
  left: 7%;
  align-self: center;
  justify-content: center;
  text-align: left;
}

.slider__name__sp {
  color: #278BC4;
  border-radius: 0px;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.8;
  letter-spacing: .1rem;
  margin-top: 0px;
  text-shadow: rgb(255, 255, 255) 4px 0px 0px, rgb(255, 255, 255) 3.91686px 0.995377px 0px, rgb(255, 255, 255) 3.66974px 1.96317px 0px, rgb(255, 255, 255) 3.2655px 2.87655px 0px, rgb(255, 255, 255) 3.71532px 3.71022px 0px, rgb(255, 255, 255) 4.03447px 4.44106px 0px, rgb(255, 255, 255) 3.24181px 5.04883px 0px, rgb(255, 255, 255) 2.35931px 5.51667px 0px, rgb(255, 255, 255) 1.41143px 5.83163px 0px, rgb(255, 255, 255) 0.424423px 5.98497px 0px, rgb(255, 255, 255) -0.574341px 5.97245px 0px, rgb(255, 255, 255) -1.55719px 5.79441px 0px, rgb(255, 255, 255) -2.49688px 5.45578px 0px, rgb(255, 255, 255) -3.36738px 4.96596px 0px, rgb(255, 255, 255) -4.14455px 4.33852px 0px, rgb(255, 255, 255) -4.80686px 3.59083px 0px, rgb(255, 255, 255) -5.33596px 2.74364px 0px, rgb(255, 255, 255) -5.71718px 1.8204px 0px, rgb(255, 255, 255) -5.93995px 0.84672px 0px, rgb(255, 255, 255) -5.99811px -0.150428px 0px, rgb(255, 255, 255) -5.89004px -1.14341px 0px, rgb(255, 255, 255) -5.61874px -2.1047px 0px, rgb(255, 255, 255) -5.19172px -3.00766px 0px, rgb(255, 255, 255) -4.62082px -3.82727px 0px, rgb(255, 255, 255) -3.92186px -4.54081px 0px, rgb(255, 255, 255) -3.11421px -5.12852px 0px, rgb(255, 255, 255) -2.22026px -5.57409px 0px, rgb(255, 255, 255) -1.26477px -5.86518px 0px, rgb(255, 255, 255) -0.274238px -5.99373px 0px, rgb(255, 255, 255) 0.723898px -5.95617px 0px, rgb(255, 255, 255) 1.70197px -5.75355px 0px, rgb(255, 255, 255) 2.63288px -5.39147px 0px, rgb(255, 255, 255) 3.49082px -4.87998px 0px, rgb(255, 255, 255) 4.25202px -4.23324px 0px, rgb(255, 255, 255) 4.89538px -3.46919px 0px, rgb(255, 255, 255) 5.40307px -2.60899px 0px, rgb(255, 255, 255) 5.76102px -1.67649px 0px, rgb(255, 255, 255) 5.95932px -0.697531px 0px;
}

.header__nav__container {
  display: flex;
  align-items: center;
  list-style: none;
}

.header__nav__item {
  margin: 0 0 0 30px;
  font-weight: 600;
  letter-spacing: .1rem;
}

.nav-box01 p {
  margin: 0;
  padding: 0;
}

.nav-box02 {
  background: #555555;
  padding: 5px 5px 5px 5px;
  font-size: 14px;
  color: #ffffff;
  margin-bottom: 10px;
}

.nav-box02 p {
  margin: 0;
  padding: 0;
}


.slider {
  width: 100%;
  margin: 0 auto;
  height: 80vh;
  position: relative;
  background: url(/img/top_kv.webp);
  border-radius: 20px;
  background-size: cover;
}

@media (max-width: 768px) {
  .slider {
    background: url(/img/top_kv_sp.webp);
    border-radius: 10px;
    background-size: cover;
  }
}

.service__item__inner {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 60px 10%;
  margin-top: 100px;
  justify-content: center;
}

@media (max-width: 768px) {
  .service__item__inner {
    flex-direction: column;
    gap: 40px 0%;
    margin-top: 40px;
  }
}

.service__item__title {
  text-align: center;
  padding: 40px;
  margin-top: 40px;
}

.service__item__lead {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
  margin-top: 20px;
  border: #40B041 1px solid;
  border-radius: 10px;
  padding: 15px 40px;
  margin-bottom: 40px;
  margin-top: 60px;
}

@media (max-width: 768px) {
  .service__item__lead {
    padding: 15px 20px;
  }
}

.service__item {
  text-align: center;
  width: 20%;
}

@media (max-width: 768px) {
  .service__item {
    width: 100%;
  }
}

.service__item h3 {
  margin-top: 40px;
}

@media (max-width: 768px) {}

.service__item h4 {
  letter-spacing: .3rem;
  text-align: center;
}

@media (max-width: 768px) {
  .service__item h4 {}
}

.service__item img {
  width: 300px;
  margin-top: 20px;
}

@media (max-width: 768px) {
  .service__item img {
    width: 200px;
  }
}


.service__item p {
  text-align: center;
  margin-top: 20px;
  line-height: 2;
}

@media (max-width: 768px) {
  .service__item p {
    text-align: left;
    line-height: 1.5;
  }
}

.common__contents__title {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  margin-top: 60px;
}

@media (max-width: 768px) {
  .common__contents__title {
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
  }
}


.common__contents__title h3 {
  font-weight: 700;
  letter-spacing: .1rem;
  text-align: center;
}

.common__contents__title p {
  color: #40B041;
  text-align: center;
  font-weight: 400;
}

@media (max-width: 768px) {
  .common__contents__title p {
    margin-left: 0px;
  }
}

.recruit__lead {
  padding: 10px 0px;
  letter-spacing: .3rem;
  text-align: left;
  margin-top: 80px;
}

@media (max-width: 768px) {
  .recruit__lead {
    margin-top: 30px;
  }
}

.recruit__text {
  text-align: left;
  margin-top: 20px;
  line-height: 2;
}

@media (max-width: 768px) {
  .recruit__text {
    text-align: left;
    line-height: 1.5;
  }
}

.price__item span {
  font-size: 1.5rem;
}

@media (max-width: 768px) {
  .price__item span {
    font-size: 1.2rem;
  }
}

.price__item {
  width: 100%;
  margin-top: 100px;
}

@media (max-width: 768px) {
  .price__item {
    margin-top: 30px;
  }
}

.price__item dl {
  display: flex;
  flex-flow: row wrap;
}

.price__item dt {
  flex-basis: 25%;
  font-weight: 700;
  letter-spacing: .2rem;
  padding: 40px 20px;
  border-bottom: #40B041 solid 1px;
}

.price__item dd {
  flex-basis: 75%;
  padding: 40px 20px;
  border-bottom: #40B041 solid 1px;
}

@media (max-width: 768px) {
  .price__item dt {
    column-width: 100%;
    padding: 15px 0px 5px 0px;
    flex-basis: 100%;
    border-bottom: #40B041 solid 1px;
  }

  .price__item dd {
    padding: 5px 0px 30px 0px;
    flex-basis: 100%;
    border-bottom: #40B041 solid 0px;
  }
}

.price__item dt:first-child {
  border-top: 1px solid #40B041;
}

@media (max-width: 768px) {
  .price__item dt:first-child {
    border-top: 0px solid #40B041;
  }
}

.price__item dd:nth-child(2) {
  border-top: 1px solid #40B041;
}

@media (max-width: 768px) {
  .price__item dd:nth-child(2) {
    border-top: 0px solid #40B041;
  }
}

.application__item {
  width: 100%;
  margin-top: 100px;
}

@media (max-width: 768px) {
  .application__item {
    margin-top: 30px;
  }
}

.application__item dl {
  display: flex;
  flex-flow: row wrap;
}

.application__item dt {
  flex-basis: 15%;
  font-weight: 700;
  letter-spacing: .2rem;
  padding: 40px 20px;
  border-bottom: #40B041 solid 1px;
}

.application__item dd {
  flex-basis: 85%;
  padding: 40px 20px;
  border-bottom: #40B041 solid 1px;
}

@media (max-width: 768px) {
  .application__item dt {
    column-width: 100%;
    padding: 15px 0px 5px 0px;
    flex-basis: 100%;
    border-bottom: #40B041 solid 1px;
  }

  .application__item dd {
    padding: 5px 0px 30px 0px;
    flex-basis: 100%;
    border-bottom: #40B041 solid 0px;
  }
}

.application__item dt:first-child {
  border-top: 1px solid #40B041;
}

@media (max-width: 768px) {
  .application__item dt:first-child {
    border-top: 0px solid #40B041;
  }
}

.application__item dd:nth-child(2) {
  border-top: 1px solid #40B041;
}

@media (max-width: 768px) {
  .application__item dd:nth-child(2) {
    border-top: 0px solid #40B041;
  }
}

.application__item__title {
  display: inline-block;
  position: relative;
}

.application__item__title:before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 10%;
  left: -18px;
  transform: translateX(-50%);
  width: 5px;
  height: 25px;
  background-color: #40B041;
}

@media (max-width: 768px) {
  .application__item__title:before {
    display: none;
  }
}

.application__item__type {
  font-weight: 700;
  margin-top: 20px;
}

.application__item__text {
  margin-top: 0px;
  margin-bottom: 20px;
}

.recruit__entry__lead {
  width: 100%;
  margin: 0 auto;
  justify-content: center;
  border: 1px solid #40B041;
  border-radius: 5px;
  padding: 60px 30px;
  text-align: center;
  margin-top: 100px;
}

@media (max-width: 768px) {
  .recruit__entry__lead {
    padding: 30px 20px;
    margin-top: 50px;
  }
}

.recruit__entry__lead h4 {
  letter-spacing: .1rem;
}

.webform__lead {
  max-width: 1000px;
  margin: 0 auto;
  margin-top: 40px;
  align-items: center;
}

@media (max-width: 768px) {
  .webform__lead {
    margin-top: 20px;
  }
}

.webform__lead ol {
  margin-left: 20px;
}

.webform__lead li {
  text-align: left;
  margin-top: 20px;
}


.privacy__lead {
  margin-top: 0px;
}

@media (max-width: 768px) {
  .privacy__lead {
    margin-top: 0px;
  }
}

.privacy__lead p {
  text-align: left;
}

/* contact */

/* facebook */

.facebook_wrap {
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
  margin-top: 80px;
}

.fb-page {
  margin-top: 40px;
}

.fb-page,
.fb-page span,
.facebook_wrap iframe {
  width: 100% !important;
  height: 500px !important;
}

.nav__wrapper {
  width: 100%;
  margin: 0 auto;
}

.nav__item__inner__01 {
  display: flex;
  text-align: center;
  align-items: center;
  margin-top: 60px;
}

@media (max-width: 768px) {
  .nav__item__inner__01 {
    flex-direction: column;
    margin-top: 0px;
  }
}

.nav__item__inner__02 {
  display: flex;
  text-align: center;
  align-items: center;
}

@media (max-width: 768px) {
  .nav__item__inner__02 {
    flex-direction: column;
  }
}

.nav__item__icon {
  color: #fff;
  font-size: 8rem;
  margin-left: 0px;
  padding: 0px;
}

.nav__item__icon img {
  width: 50px
}

/* nav 01 */

.nav__item__01 {
  width: 100%;
  display: inline-block;
  background: #40B041;
  border-top: 1px solid #fff;
  margin: 0 auto;
  margin-top: 0px;
  text-align: center;
  padding: 144px 96px 144px;
}

@media (max-width: 768px) {
  .nav__item__01 {
    font-size: 1.4rem;
    padding: 60px 20px;
  }
}

.nav__item__01 p {
  color: #ffffff;
  text-align: left;
  line-height: 1.8;
}

.nav__item__01 h2 {
  color: #ffffff;
  text-align: center;
  letter-spacing: .1rem;
  margin: 20px 0;
}

.nav__item__01 button {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 25px 30px 25px;
  background: #ffffff;
  border-radius: 60px;
  transition: 0.3s;
  /*マウスオンした時の変化のスピード*/
  position: relative;
  /*矢印アイコン位置の基点になる要素として指定*/
  margin-top: 10px;
}

/* nav 02 */

.nav__item__02 {
  width: 100%;
  display: inline-block;
  background: #d6f0d6;
  margin: 0 auto;
  margin-top: 0px;
  text-align: center;
  padding: 144px 96px 144px;
}

@media (max-width: 768px) {
  .nav__item__02 {
    padding: 60px 20px;
  }
}

.nav__item__02 p {
  color: #40B041;
  text-align: left;
  line-height: 1.8;
}

.nav__item__02 h2 {
  color: #40B041;
  text-align: center;
  letter-spacing: .1rem;
  margin: 20px 0;
}

.nav__item__02 button {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 25px 30px 25px;
  background: #40B041;
  border-radius: 30px;
  transition: 0.3s;
  /*マウスオンした時の変化のスピード*/
  position: relative;
  /*矢印アイコン位置の基点になる要素として指定*/
  margin-top: 10px;
}

/* nav 03 */

.nav__item__03 {
  width: 100%;
  display: inline-block;
  background: #d6f0d6;
  margin: 0 auto;
  margin-top: 0px;
  text-align: center;
  padding: 144px 96px 144px;
}

@media (max-width: 768px) {
  .nav__item__03 {
    background: #40B041;
    padding: 60px 20px;
  }
}

.nav__item__03 p {
  color: #40B041;
  text-align: left;
  line-height: 1.8;
}

@media (max-width: 768px) {
  .nav__item__03 p {
    color: #fff;
  }
}

.nav__item__03 h2 {
  color: #40B041;
  text-align: center;
  letter-spacing: .1rem;
  margin: 20px 0;
}

@media (max-width: 768px) {
  .nav__item__03 h2 {
    color: #ffffff;
  }
}

.nav__item__03 button {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 25px 30px 25px;
  background: #40B041;
  border-radius: 30px;
  transition: 0.3s;
  /*マウスオンした時の変化のスピード*/
  position: relative;
  /*矢印アイコン位置の基点になる要素として指定*/
  margin-top: 10px;
}

@media (max-width: 768px) {
  .nav__item__03 button {
    background: #ffffff;
  }
}

/* nav 04 */

.nav__item__04 {
  width: 100%;
  display: inline-block;
  background: #40B041;
  margin: 0 auto;
  margin-top: 0px;
  text-align: center;
  padding: 144px 96px 144px;
}

@media (max-width: 768px) {
  .nav__item__04 {
    background: #d6f0d6;
    padding: 60px 20px;
  }
}

.nav__item__04 p {
  color: #fff;
  text-align: left;
  line-height: 1.8;
}

@media (max-width: 768px) {
  .nav__item__04 p {
    color: #40B041;
  }
}

.nav__item__04 h2 {
  color: #ffffff;
  text-align: center;
  letter-spacing: .1rem;
  margin: 20px 0;
}

@media (max-width: 768px) {
  .nav__item__04 h2 {
    color: #40B041;
  }
}

.nav__item__04 button {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 25px 30px 25px;
  background: #ffffff;
  border-radius: 30px;
  transition: 0.3s;
  /*マウスオンした時の変化のスピード*/
  position: relative;
  /*矢印アイコン位置の基点になる要素として指定*/
  margin-top: 10px;
}

@media (max-width: 768px) {
  .nav__item__04 button {
    background: #40B041;
  }
}

.common__heading {
  width: 100%;
  text-align: center;
}

.common__heading h2 {
  position: relative;
  display: inline-block;
  text-align: center;
  font-weight: 600;
  letter-spacing: .1rem;
  color: #40B043;
}

.common__heading h2:before {
  content: '';
  display: inline-block;
  position: absolute;
  bottom: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 10px;
  border-radius: 40px;
  background-color: transparent;
}

@media (max-width: 768px) {
  .common__heading h2:before {
    width: 50px;
    bottom: -90%;
    left: 50%;
    height: 8px;
  }
}

/* common__heading h3 */

.common__heading h3 {
  position: relative;
  display: inline-block;
  text-align: center;
  font-weight: 600;
  letter-spacing: .1rem;
}

.common__heading h3:before {
  content: '';
  display: inline-block;
  position: absolute;
  bottom: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 10px;
  border-radius: 40px;
  background-color: transparent;
}

@media (max-width: 768px) {
  .common__heading h3:before {
    bottom: -90%;
    left: 50%;
    width: 50px;
    height: 8px;
  }
}

/* privacy policy */

.privacy__inner {
  margin-top: 80px;
  padding-bottom: 30px;
}

@media (max-width: 768px) {
  .privacy__inner {
    margin-top: 40px;
  }
}

.privacy__content h4 {
  margin-top: 40px;
}

.privacy__content p {
  margin-top: 10px;
}

.pprivacy__content ol {
  padding-left: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
}

.privacy__content li {
  padding-top: 10px;
  list-style-position: inside;
  padding-left: 10px;
}


.privacy__end__text {
  text-align: right;
}

.map__inner {
  margin-top: 60px;
  text-align: center;
}

@media (max-width: 768px) {
  .map__inner {
    margin-top: 30px;
  }
}

.map__inner iframe {
  width: 100%;
  vertical-align: top;
  height: 400px
}

@media (max-width: 768px) {
  .map__inner iframe {
    max-width: 100%;
    height: 200px
  }
}

.company__item {
  width: 100%;
  margin: 0 auto;
}

.company__item dl {
  display: flex;
  flex-flow: row wrap;
}

.company__item dt {
  flex-basis: 25%;
  font-weight: 700;
  padding: 30px 0px;
  border-bottom: #eeeeee solid 1px;
}

.company__item dd {
  flex-basis: 75%;
  padding: 30px 0px;
  border-bottom: #eeeeee solid 1px;
}

@media (max-width: 768px) {
  .company__item dt {
    padding: 0px 0px 0px 5px;
    flex-basis: 100%;
  }

  .company__item dd {
    padding: 10px 0px 30px 5px;
    flex-basis: 100%;
    line-height: 1.5;
    border-bottom: #eeeeee solid 0px;
  }
}

.company__item dt:first-child {
  border-top: 1px solid #eeeeee;
}

@media (max-width: 768px) {
  .company__item dt:first-child {
    border-top: transparent;
  }
}

.company__item dd:nth-child(2) {
  border-top: 1px solid #eeeeee;
}

@media (max-width: 768px) {
  .company__item dd:nth-child(2) {
    border-top: transparent;
  }
}

/* cta */

.cta__wrapper {
  background: #40B041;
}

.cta__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 768px) {
  .cta__inner {
    padding-top: 40px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 60px;
  }
}

.cta__list {
  display: flex;
  justify-content: space-around;
  list-style: none;
  text-align: center;
}

@media (max-width: 768px) {
  .cta__list {
    flex-direction: column;
    flex-wrap: wrap;
    gap: 30px 0px;
  }
}

.cta__list__title {
  color: #fff;
  line-height: 1.5;
  text-align: center;
}


/* cta button */

.cta__button__contact {
  width: 500px;
  height: 70px;
  margin: 0 auto;
  padding: .2em 0em;
  border-radius: 60px;
  border: 1px solid #ffffff;
  font-size: 1.8rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 1px;
  line-height: 1;
  margin-top: 10px;
  margin-bottom: 10px;
  transition: 0.3s;
  /*マウスオンした時の変化のスピード*/
  position: relative;
  /*矢印アイコン位置の基点になる要素として指定*/
  /* box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); */
}

@media (max-width: 768px) {
  .cta__button__contact {
    width: 300px;
    height: 50px;
    border-radius: 60px;
  }
}

.cta__button__contact::before {
  position: absolute;
  /*矢印アイコンを基点の要素に対して自由に配置できるようにする*/
  top: 43%;
  right: 2em;
  /*矢印を基点の要素の右から1文字文内側に動かす*/
  content: '';
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
  margin: 0;
  padding: 0;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}

@media (max-width: 768px) {
  .cta__button__contact::before {
    width: 8px;
    height: 8px;
  }
}

.cta__button__contact:hover {
  opacity: 0.8;
  /*マウスオンしたときに８０％まで要素を薄くする*/
}


/* footer nav */

.footer__company_data {
  text-align: center;
  font-size: 1.5rem;
  letter-spacing: .1rem;
}

@media (max-width: 768px) {
  .footer__company_data {
    font-size: 1.4rem;
  }
}

/* footer */

.footer__icon {
  width: 280px;
  margin: 0 auto;
  padding: 0px;
  text-align: center;
}

.footer__icon img {
  width: 100%;
}

@media (max-width: 768px) {
  .footer__icon img {
    width: 200px;
  }
}

.footer__links__list {
  align-items: center;
  list-style: none;
  margin: 10px auto;
  text-align: center;
}

.footer__links__list a {
  margin: 0px 20px;
}

.footer__links__list a:hover {
  opacity: .5;
}


.footer__links__sns {
  margin-top: 30px;
}

.footer__links__sns img {
  width: 25px;
}

.footer__office {
  margin: 0 auto;
  padding: 20px 0;
}

.footer__link__privacy {
  font-size: 1.4rem;
  margin-top: 20px;
  text-align: center;
}

@media (max-width: 768px) {
  .footer__link__privacy {
    font-size: 1.2rem;
  }
}

.footer__copyright {
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  text-align: center;
  align-items: center;
}

@media (max-width: 768px) {
  .footer__copyright {
    font-size: .8rem;
  }
}

/* page top */

#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
}

#page-top {
  width: 45px;
  position: fixed;
  right: 50px;
  bottom: 50px;
  z-index: 2;
  opacity: 0;
  transform: translateY(100px);
}

@media (max-width: 768px) {
  #page-top {
    width: 40px;
    right: 20px;
    bottom: 20px;
  }
}

#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 1;
    transform: translateY(100px);
  }
}

/*　br　*/

.pc_br {
  display: none;
}


.sp_br {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp_br {
    display: block;
  }
}


form {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
  padding-top: 20px;
}

label {
  margin-bottom: 3px;
  text-align: left;
  display: block;
}


label span {
  padding-left: 5px;
  color: red;
}

select,
option,
input[type=text],
input[type=tel],
input[type=url],
input[type=email] {
  width: 100%;
  height: 50px;
  background: #F0F0F0;
  font-weight: 400;
  margin-top: 5px;
  margin-bottom: 40px;
  padding: 7px 7px;
  text-align: left;
  display: block;
  box-sizing: none;
}

textarea {
  width: 100%;
  height: 120px;
  background: #F0F0F0;
  margin-top: 5px;
  margin-bottom: 40px;
  padding: 7px 7px;
  text-align: left;
  display: block;
}

input[type="radio"] {
  position: relative;
  width: 16px;
  height: 16px;
  margin-right: 5px;
  border: 1px solid #3f3f3f;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #3f3f3f;
  content: '';
}

.radio__content {
  padding: 10px;
  margin-bottom: 40px;
  background: #F0F0F0;
}

.radio__item {
  margin: 5px;
}

input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  width: 255px;
  height: 60px;
  background: #40B041;
  border-radius: 5px;
  margin: 10px;
  align-items: center;
  display: inline-block;
  color: #ffffff;
  margin-top: 40px;
}

@media (max-width: 768px) {
  input[type="submit"] {
    appearance: none;
    -webkit-appearance: none;
    width: 180px;
    height: 55px;
    border-radius: 5px;
    margin-top: 40px;
  }
}

.click__down a:hover {
  transform: translateY(4px);
}

.click__down {
  transition: 0.2s;
}

.click__down:active {
  transform: translateY(4px);
}

input[type="button"] {
  appearance: none;
  -webkit-appearance: none;
  width: 255px;
  height: 60px;
  background: #40B041;
  border-radius: 5px;
  opacity: 1;
  margin: 10px;
  align-items: center;
  display: inline-block;
  color: #fff;
}

@media (max-width: 768px) {
  input[type="button"] {
    appearance: none;
    -webkit-appearance: none;
    font-size: 17px;
    width: 180px;
    height: 55px;
  }
}

.h-adr {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0px;
  margin-top: 20px;
  margin-bottom: 40px;
}

.material-symbols-outlined {
  font-variation-settings:
    'FILL' 0,
    'wght' 400,
    'GRAD' 0,
    'opsz' 10
}

.common__bg__wrapper {
  padding: 0 5%;
  margin-top: 120px
}

@media (max-width: 768px) {
  .common__bg__wrapper {
    padding: 0 20px;
    margin-top: 80px
  }
}

.common__bg__wrapper img {
  border-radius: 20px;
}

@media (max-width: 768px) {
  .common__bg__wrapper img {
    border-radius: 10px;
  }
}

.contact__form__inner {
  background: #ffffff;
  border-radius: 30px;
  width: 100%;
  text-align: center;
  padding: 0px 60px 60px 60px;
}

@media (max-width: 768px) {
  .contact__form__inner {
    padding: 0px 20px;
  }
}


/* iOSフォーム対策 */
@media (max-width: 768px) {

  input,
  textarea,
  select {
    font-size: 16px;
  }
}

.form__lead {
  color: #000;
  display: inline-block;
  margin-top: 40px;
  padding: 10px 20px;
  border: #eee 2px solid;
}

@media (max-width: 768px) {
  .form__lead {
    text-align: left;
    margin-top: 30px;
  }
}

.form__bottom {
  margin-bottom: 80px;
}

.form__inner__text {
  margin-top: 20px;
}

@media (max-width: 768px) {
  .form__inner__text {
    text-align: left;
  }
}

.form__inner__text_as {
  font-size: 1.6rem;
  margin-top: 80px;
}

@media (max-width: 768px) {
  .form__inner__text_as {
    text-align: center;
  }
}

.form__required {
  color: #ff0000;
  align-items: center;
}

.label__required {
  font-size: 1.6rem;
  color: #ff0000;
  align-items: center;
}

#formWrap {
  width: 1000px;
  margin: 0 auto;
  line-height: 120%;
  font-size: 15px;
}

table.formTable {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 40px;
}

table.formTable td,
table.formTable th {
  display: block;
  text-align: left;
  border: 1px solid #FFF;
}

table.formTable td {
  margin-top: 5px;
}

table.formTable th {
  width: 30%;
  margin-top: 50px;
  text-align: left;
}

p.error_messe {
  text-align: left;
  margin-top: 10px;
  margin-bottom: 10px;
  margin-right: 0;
  margin-left: 0;
  color: red;
}

@media screen and (max-width:768px) {
  #formWrap {
    width: 100%;
    margin: 0 auto;
    padding: 40px 30px;
  }

  table.formTable th,
  table.formTable td {
    width: auto;
    display: block;
  }

  table.formTable th {
    margin-top: 20px;
    border-bottom: 0;
  }
}

.form_sec03 {
  text-align: center;
}

@media (max-width: 768px) {
  .form_sec03 {
    text-align: left;
  }
}

.form_sec05 {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
  border: none;
  margin-top: 60px;
  border-bottom: 1px solid #40B041;
  margin-bottom: 30px;
}

.form_sec06 {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
  border: none;
  border-bottom: 1px solid #40B041;
  margin-top: 30px;
  margin-bottom: 20px;
}

.form_sec07 {
  font-size: 21px;
  line-height: 20px;
  text-align: center;
  margin-top: 80px;
  margin-bottom: 80px;
}

@media (max-width: 768px) {
  .form_sec07 {
    margin-bottom: 120px;
  }
}

.form_sec08 {
  text-align: center;
  font-size: 20px;
}

.form_sec09 {
  text-align: center;
}

.form_sec10 {
  text-align: center;
  margin: 60px 0;
}

.form_sec11 {
  text-align: center;
}

@media (max-width: 768px) {
  .form_sec11 {
    text-align: left;
  }
}

.form_sec12 {
  text-align: center;
  margin-top: 40px;
}

@media (max-width: 768px) {
  .form_sec12 {
    text-align: left;
  }
}

.form_sec13 {
  margin-top: 40px;
}

/* Toggle Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}

#nav-toggle div {
  position: relative;
}

#nav-toggle span {
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  background: #fff;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 11px;
}

#nav-toggle span:nth-child(3) {
  top: 22px;
}

@media screen and (max-width: 640px) {

  #top-head,
  .inner {
    width: 100%;
    padding: 0;
  }

  #top-head {
    top: 0;
    position: fixed;
    margin-top: 0;
  }

  #top-head.fixed {
    padding-top: 0;
    background: transparent;
  }

  #mobile-head {
    background: #fff;
    width: 100%;
    height: 56px;
    z-index: 999;
    position: relative;
  }

  #top-head.fixed .logo,
  #top-head .logo {
    position: absolute;
    left: 13px;
    top: 13px;
    font-size: 26px;
  }

  #global-nav {
    position: absolute;
    top: -500px;
    background: #ffffff;
    width: 100%;
    text-align: center;
    padding: 10px 0;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
  }

  #global-nav ul {
    list-style: none;
    position: static;
    right: 0;
    bottom: 0;
    font-size: 14px;
  }

  #global-nav ul li {
    float: none;
    position: static;
  }

  #top-head #global-nav ul li a,
  #top-head.fixed #global-nav ul li a {
    width: 100%;
    display: block;
    padding: 18px 0;
  }

  #nav-toggle {
    display: block;
  }

  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }

  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }

  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }

  .open #global-nav {
    -moz-transform: translateY(556px);
    -webkit-transform: translateY(556px);
    transform: translateY(556px);
  }
}

.results__item__list {
  width: 100%;
  margin: 0 auto;
  background: #fff;
  border: 2px solid #40B041;
  border-radius: 20px;
  margin-top: 60px;
}

@media (max-width: 768px) {
  .results__item__list {
    margin-top: 30px;
  }
}

.results__summary__inner {
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 30px;
}

@media (max-width: 768px) {
  .results__summary__inner {
    padding: 20px 20px;
  }
}

.results__content__inner {
  display: block;
  padding: 0px 30px 30px 30px;
}

.results__item__data {
  margin-top: 20px;
}

.results__icon {
  font-size: 1.5rem;
  vertical-align: -4px;
  color: #40B041;
  margin-right: 2px;
}

.nav__icon {
  font-size: 4rem;
  color: #fff;
  line-height: 0;
}

/* common */

.common__inner__title {
  display: flex;
  width: 100%;
  color: #ffffff;
  text-align: center;
  align-items: center;
  margin-top: 100px;
}

@media (max-width: 768px) {
  .common__inner__title {
    margin-top: 30px;
  }
}

.common__title {
  width: 100%;
  text-align: center;
}

.common__title h2 {
  color: #40B041;
  display: inline-block;
  text-align: center;
  letter-spacing: .2rem;
  line-height: 1.5;
}

/* policy */


.policy__inner {
  margin-top: 0px;
}

@media (max-width: 768px) {
  .policy__inner {
    margin-top: 0px;
  }
}

.policy__item__list {
  width: 100%;
  margin: 0 auto;
  border-radius: 20px;
  background: #ffffff;
  border: 4px solid #40B041;
  margin-top: 60px;
}

@media (max-width: 768px) {
  .policy__item__list {
    margin-top: 30px;
  }
}

.policy__icon {
  vertical-align: -3px;
  color: #40B041;
  line-height: 1;
  font-size: 6rem;
}

.policy__summary__inner {
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 60px 30px;
}

.policy__content__inner {
  display: block;
  padding: 30px 40px;
}

@media (max-width: 768px) {
  .policy__content__inner {
    padding: 30px 30px;
  }
}

.policy__item__inner {
  display: block;
  width: 100%;
  align-items: center;
  justify-items: center;
}

.policy__item__icon {
  align-items: center;
  justify-items: center;
  text-align: center;
}

.policy__item__title {
  align-items: baseline;
  justify-items: center;
  text-align: center;
}

.policy__item__text {
  margin-top: 20px;
}

.policy__item__lead {
  padding: 0em 5px;
  margin-top: 10px;
}

/* アコーディオン */

summary {
  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
}

summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

.icon {
  display: flex;
  position: relative;
  width: 24px;
  margin-left: 6px;
  flex-shrink: 0;
  transform-origin: center 43%;
  transition: transform 0.4s;
}

@media (max-width: 768px) {
  .icon {
    width: 16px;
    margin-left: 3px;
  }
}

/* is-openedクラスが付与されたときのスタイル */
details.is-opened .icon {
  transform: rotate(180deg);
}

/* アイコンのバーのスタイル */
.icon::before,
.icon::after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: 2%;
  width: 15px;
  height: 3px;
  background-color: #40B041;
}

@media (max-width: 768px) {

  .icon::before,
  .icon::after {
    width: 10px;
    height: 3px;
  }
}


.icon::before {
  left: 0;
  transform: rotate(45deg);
}

.icon::after {
  right: 0;
  transform: rotate(-45deg);
}

/* --------アコーディオンの中身のスタイル-------- */
.open__content {
  overflow: hidden;
  /* details直下のタグにpaddingを設定すると挙動がおかしくなるので、ここには指定しない */
}

.splide__inner {
  margin: 80px 0;
}

@media (max-width: 768px) {
  .splide__inner {
    margin: 40px 0;
  }
}

.splide__slide {
  width: 80%;
  display: grid;
  place-content: center;
  aspect-ratio: 4/1;
  border: 2px solid #40B041;
  border-radius: 20px;
  color: #40B041;
}

@media (max-width: 768px) {
  .splide__slide {
    aspect-ratio: 2/1;
    border-radius: 15px;
  }
}

.splide__slide h3 {
  text-align: center;
  width: 450px;
  object-fit: cover;
}

@media (max-width: 768px) {
  .splide__slide h3 {
    width: 200px;
  }
}

.splide__pagination {
  bottom: auto;
  position: absolute;
  bottom: -2em;
}

@media (max-width: 768px) {
  .splide__pagination {
    bottom: -1em;
  }
}

.splide__pagination__page {
  background-color: #40B041;
  height: 8px;
  transition: .5s all;
  width: 8px;
}

.splide__arrow svg {
  fill: #40B041;
  height: 1.2em;
  width: 1.2em;
}