/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/styles/main.scss ***!
  \***************************************************************************************************************/
/*
  Made by Elly Loel - https://ellyloel.com/
*/
* {
  margin: 0;
  padding: 0;
  line-height: calc(0.25rem + 1em + 0.25rem);
}

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

*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-origin: border-box;
  background-repeat: no-repeat;
}

html {
  block-size: 100%;
  -webkit-text-size-adjust: none;
  overflow-x: hidden !important;
}

@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeSpeed;
  min-block-size: 100%;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, svg, video) {
  block-size: auto;
  max-inline-size: 100%;
}

:where(svg) {
  stroke: none;
  fill: currentColor;
}

:where(svg):where(:not([fill])) {
  stroke: currentColor;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

:where(svg):where(:not([width])) {
  inline-size: 5rem;
}

:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

:where(textarea) {
  resize: vertical;
}

@supports (resize: block) {
  :where(textarea) {
    resize: block;
  }
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}



:where(ul, ol)[role=list] {
  list-style: none;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
  cursor: pointer;
  touch-action: manipulation;
}

:where(input[type=file]) {
  cursor: auto;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
}

@media (prefers-reduced-motion: no-preference) {
  :focus-visible {
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }

  :where(:not(:active)):focus-visible {
    transition-duration: 0.25s;
  }
}

:where(:not(:active)):focus-visible {
  outline-offset: 5px;
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset]),
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
  text-align: center;
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset])[disabled] {
  cursor: not-allowed;
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .pc-only {
    display: block;
  }
}

@media only screen and (min-width: 1201px) {
  .pc-only {
    display: block;
  }
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .sp-only {
    display: none;
  }
}

@media only screen and (min-width: 1201px) {
  .sp-only {
    display: none;
  }
}

* {
  margin: 0;
  padding: 0;
}

a,
ul,
li,
p,
h1,
h2,
h3,
h4,
h5,
span {
  list-style: none;
  text-decoration: none;
  color: inherit;
}

html {
  font-size: 62.5%;
}

body {
  font-family: Noto Sans JP, sans-serif;
  font-weight: medium;
  background: #faf9f7;
  color: #222222;
}

@font-face {
  font-family: smartfont;
  src: url(../../assets/smartfont.woff);
}

h1 {
  font-family: smartfont, sans-serif;
  font-weight: 400;
  font-size: 6.4rem !important;
  letter-spacing: 0.3rem;
  line-height: 1.9;
}

@media only screen and (max-width: 780px) {
  h1 {
    font-size: 4.6rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  h1 {
    line-height: 1.6;
  }
}

h2 {
  font-family: smartfont, sans-serif;
  font-weight: 400;
  font-size: 4rem;
  letter-spacing: 0.4rem;
  border: none !important;
  color: #222222 !important;
  line-height: 1.7;
  font-style: normal;
  background: none !important;
}

@media only screen and (max-width: 767px) {
  h2 {
    font-size: 2.8rem;
  }
}

h3 {
  font-family: Noto Sans JP, sans-serif;
  font-weight: bold;
  font-size: 3.2rem;
  line-height: 1.7;
}

@media only screen and (max-width: 767px) {
  h3 {
    font-size: 1.6rem;
  }
}

p {
  font-family: Noto Sans JP, sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
}

.en-bold {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
}

.m-p-small {
  font-family: Noto Sans JP, sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  color: #666666;
}

.m-p-bold {
  font-family: Noto Sans JP, sans-serif;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .m-p-bold {
    font-size: 1.2rem;
  }
}

a {
  cursor: pointer;
}

.profile-title {
  font-size: 14px;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .profile-title {
    font-size: 12px;
  }
}

img {
  max-width: 100%;
  margin: 0 auto;
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .pc-only {
    display: block;
  }
}

@media only screen and (min-width: 1201px) {
  .pc-only {
    display: block;
  }
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .sp-only {
    display: none;
  }
}

@media only screen and (min-width: 1201px) {
  .sp-only {
    display: none;
  }
}

.l-header {
  width: 100%;
  position: fixed;
  top: 0px;
  z-index: 10;
  padding-top: 16px;
}

@media only screen and (max-width: 767px) {
  .l-header {
    top: 24px;
  }
}

.l-header-container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 8px 80px;
  border-radius: 150px;
}

@media only screen and (max-width: 767px) {
  .l-header-container {
    width: 92%;
    padding: 0;
    border-radius: 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .l-header-container {
    width: 92%;
    padding: 8px 40px;
    border-radius: 0;
  }
}

.l-header-container__logo {
  width: 200px;
}

@media only screen and (max-width: 767px) {
  .l-header-container__logo {
    width: 120px;
  }
}

.l-header-container__cta {
  display: block;
  z-index: 99;
  font-size: 1.6rem;
  line-height: 1.2;
  color: #222222;
  font-weight: bold;
  background: #fabf1b;
  border-radius: 8px;
  padding: 10px 24px;
  box-shadow: 8px 8px 30px rgba(175, 142, 104, 0.3);
  will-change: transform;

}

.l-header-container__cta:hover {
  transform: scale(1.2);
  transition: all .6s ease-in-out;

}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .pc-only {
    display: block;
  }
}

@media only screen and (min-width: 1201px) {
  .pc-only {
    display: block;
  }
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .sp-only {
    display: none;
  }
}

@media only screen and (min-width: 1201px) {
  .sp-only {
    display: none;
  }
}

.l-wrapper {
  width: 1000px;
  margin: 12rem auto;
}

@media only screen and (max-width: 767px) {
  .l-wrapper {
    width: 343px;
    margin: 8rem auto;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .l-wrapper {
    width: 90%;
  }
}

.l-wrapper-pages {
  width: 1000px;
  margin: 0rem auto;
  padding: 14rem 0;
}

@media only screen and (max-width: 767px) {
  .l-wrapper-pages {
    width: 343px;
    margin: 0 auto;
  }
}

.l-container-wrapper {
  margin: 8rem auto;
}

@media only screen and (max-width: 767px) {
  .l-container-wrapper {
    margin: 4rem auto;
  }
}

.l-container__inner {
  margin: 24px auto;
  padding: 40px;
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .l-container__inner {
    flex-direction: column;
    padding: 24px 12px;
  }
}

.l-container__inner-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: none;
  margin: 64px auto;
}

@media only screen and (max-width: 780px) {
  .l-container__inner-flex {
    flex-direction: column;
    gap: 24px;
    margin: 40px auto;
  }
}

.l-container__inner-block {
  display: block;
  margin: 40px;
}

.l-flex-r {
  flex-direction: row-reverse;
}

@media only screen and (max-width: 767px) {
  .l-flex-r {
    flex-direction: column;
  }
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .pc-only {
    display: block;
  }
}

@media only screen and (min-width: 1201px) {
  .pc-only {
    display: block;
  }
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .sp-only {
    display: none;
  }
}

@media only screen and (min-width: 1201px) {
  .sp-only {
    display: none;
  }
}

.l-footer {
  background: #222222;
  color: white;
  position: relative;
}

.l-footer__wrapper {
  width: 1000px;
  margin: 0 auto;
  padding: 80px 0;
}

.l-footer__banners {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  gap: 24px;
}

@media only screen and (max-width: 767px) {
  .l-footer__wrapper {
    width: 100%;
  }

  .l-footer__banners {
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .l-footer__wrapper {
    width: 100%;
  }
}

.l-footer__container {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 24px;
  border-bottom: 1px solid #D0D1D2;
}

@media only screen and (max-width: 767px) {
  .l-footer__container {
    flex-direction: column;
    width: 343px;
    margin: 0 auto;
  }
}

.copy {
  width: 100%;
  text-align: center;
  padding-top: 24px;
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .pc-only {
    display: block;
  }
}

@media only screen and (min-width: 1201px) {
  .pc-only {
    display: block;
  }
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .sp-only {
    display: none;
  }
}

@media only screen and (min-width: 1201px) {
  .sp-only {
    display: none;
  }
}

.c-btn-cta {
  width: 343px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1.8px;
  line-height: 1.7;
  word-break: keep-all;
  text-align: center;
  margin: 40px auto;
  padding: 16px;
  border-radius: 8px;
  background: #222222;
  color: #faf9f7;
}

@media only screen and (max-width: 767px) {
  .c-btn-cta {
    font-size: 1.4rem;
    width: 300px;
  }
}

.c-btn-top {
  position: absolute;
  top: -136px;
  right: 0;
  background: #222222;
  padding: 12px 18px;
  border-radius: 50%;
  font-size: 2rem;
  font-weight: regular;
  cursor: pointer;
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .pc-only {
    display: block;
  }
}

@media only screen and (min-width: 1201px) {
  .pc-only {
    display: block;
  }
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .sp-only {
    display: none;
  }
}

@media only screen and (min-width: 1201px) {
  .sp-only {
    display: none;
  }
}

.c-section__container-flex {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 767px) {
  .c-section__container-flex {
    flex-direction: column;
  }
}

.c-section__container-flex__inner {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .c-section__container-flex__inner {
    width: 100%;
    margin: 40px auto;
  }
}

.c-section__container {
  display: block;
  width: 100%;
  margin: 0 auto;
}

.c-section__container-title {
  display: block;
  margin: 0 auto;
  width: 480px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-section__container-title {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
  }
}

.c-section__container-inner {
  width: 100%;
}

.c-section__feeds {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
  margin-bottom: 24px;
}

.c-section__feeds-pages {
  width: 780px;
  gap: 4rem;
  border-bottom: 1px solid #D0D1D2;
  padding-bottom: 24px;
  margin: 0 auto 24px auto;
}

@media only screen and (max-width: 767px) {
  .c-section__feeds-pages {
    width: 343px;
    gap: 2.4rem;
  }
}

.c-section__feeds-single {
  display: block;
}

.c-section__feeds-single__title {
  margin-bottom: 40px;
}

.c-section__feeds-img {
  width: 200px;
  height: 133px;
}

.c-section__feeds-img-main {
  width: 70%;
  height: 460px;
}

@media only screen and (max-width: 767px) {
  .c-section__feeds-img {
    width: 110px;
    height: 73px;
  }
}

.c-section__feeds-img img {
  width: 100%;
  height: 100%;
  border-radius: 24px;
  object-fit: cover;
}

@media only screen and (max-width: 767px) {
  .c-section__feeds-img img {
    border-radius: 16px;
  }
}

.c-section__feeds-block {
  display: block;
  width: 70%;
}

.c-section__feeds-date {
  color: #666666;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  margin-right: 40px;
}

@media only screen and (max-width: 767px) {
  .c-section__feeds-date {
    font-size: 1.2rem;
  }
}

.c-section__feeds-excerpts {
  font-family: Noto Sans JP, sans-serif;
  font-weight: medium;
  font-size: 1.6rem;
  width: 75%;
}

@media only screen and (max-width: 767px) {
  .c-section__feeds-excerpts {
    font-size: 1.4rem;
  }
}

.c-section__feeds-arrow {
  font-size: 16px;
  position: absolute;
  right: 16px;
  color: #666666;
  will-change: transform;
}

.c-section__divider {
  width: 100%;
  height: 1px;
  background: #D0D1D2;
  display: block;
  margin-bottom: 24px;
}

.c-section__title {
  display: block;
  text-align: center;
}

.c-section__title h3 {
  font-family: din-2014, sans-serif;
}

.c-section__title-under {
  font-family: Noto Sans JP, sans-serif;
  font-weight: 600;
  font-size: 3.2rem;
}

@media only screen and (max-width: 767px) {
  .c-section__title-under {
    font-size: 2rem;
  }
}

.c-profile {
  display: block;
  width: 50%;
}

@media only screen and (max-width: 767px) {
  .c-profile {
    width: 100%;
  }
}

.c-profile__img {
  width: 100%;
  margin-bottom: 24px;
}

.c-profile__title {
  font-size: 1.6rem;
  line-height: 1.7;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .c-profile__title {
    font-size: 1.4rem;
  }
}

.c-profile__name {
  font-size: 2.4rem;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .c-profile__name {
    font-size: 2rem;
  }
}

.c-profile-flex {
  width: 50%;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-profile-flex {
    width: 100%;
  }
}

.c-profile-bio {
  width: 60%;
}

@media only screen and (max-width: 767px) {
  .c-profile-bio {
    width: 100%;
    margin-top: 24px;
  }
}

.c-profile-bio__inner {
  display: block;
  margin: 4px;
}

.c-profile-bio__inner-date {
  display: block;
}

.c-profile-bio__inner-cont {
  display: flex;
  gap: 4px;
}

@media only screen and (max-width: 767px) {
  .c-profile-bio__inner-cont {
    flex-direction: column;
  }
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .pc-only {
    display: block;
  }
}

@media only screen and (min-width: 1201px) {
  .pc-only {
    display: block;
  }
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .sp-only {
    display: none;
  }
}

@media only screen and (min-width: 1201px) {
  .sp-only {
    display: none;
  }
}

.p-fv {
  width: 100vw;
  height: 100vh;
  position: relative;
}

.p-fv__wrapper {
  position: relative;
  margin: 0 auto;
  display: flex;
  width: 1120px;
  height: 800px;
  justify-content: space-between;
}

@media only screen and (max-width: 767px) {
  .p-fv__wrapper {
    width: 100%;
    height: auto;
    flex-direction: column-reverse;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .p-fv__wrapper {
    width: 100%;
  }
}

.p-fv__copy {
  position: relative;
  margin-top: 100px;
  display: block;
  width: 50%;
  height: 100%;
}

@media only screen and (max-width: 767px) {
  .p-fv__copy {
    width: 343px;
    height: auto;
    margin: 48vh auto 0 auto;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .p-fv__copy {
    width: 80%;
    height: auto;
    margin: 55vh auto 0 auto;
  }
}

.p-fv__copy-title {
  margin-top: 0px;
}

@media only screen and (max-width: 767px) {
  .p-fv__copy-title {
    margin: 40px auto 24px auto;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .p-fv__copy-title {
    margin: 40px auto 24px auto;
  }
}

.p-fv__img {
  position: absolute;
  top: -80px;
  margin: 0 calc(50% - 50vw);
  margin-left: 50%;
  height: 100%;
  border-bottom-left-radius: 80px;
  right: 0;
  overflow: hidden;
}

.p-fv__img .main-img {
  object-fit: cover;
  border-bottom-left-radius: 80px;
  width: 100%;
  height: 100%;
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .p-fv__img {
    position: absolute;
    top: 0;
    margin: 0;
    right: 0;
    width: 80%;
    height: 50vh;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .p-fv__img {
    position: absolute;
    top: 0;
    margin: 0;
    right: 0;
    width: 80%;
    height: 50vh;
  }
}

.p-fv__img-cover {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  border-bottom-left-radius: 80px;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  background: #fabf1b;
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .pc-only {
    display: block;
  }
}

@media only screen and (min-width: 1201px) {
  .pc-only {
    display: block;
  }
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .sp-only {
    display: none;
  }
}

@media only screen and (min-width: 1201px) {
  .sp-only {
    display: none;
  }
}

.p-credentials__title {
  display: block;
  width: 100%;
  margin: 0 auto 40px auto;
  text-align: center;
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
  .p-credentials__title {
    padding-top: 180px;
  }
}

.p-credentials__title h3 {
  width: 334px;
  text-align: center;
  font-family: Noto Sans JP, sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  margin: 0 auto;
  border-radius: 50px;
  border: 3px solid #fabf1b;
}

@media only screen and (max-width: 767px) {
  .p-credentials__title h3 {
    font-size: 2rem;
    width: 280px;
  }
}

.p-credentials__logo {
  /* How long one slide is visible on screen (from entering screen to leaving it) */
  --scrolling-gallery-item-duration: 24s;
  /* How many items we want to see on screen at once */
  --scrolling-gallery-items-visible: 7;
  /* How many items are to scroll */
  --scrolling-gallery-items-total: 7;
  margin-top: 2.25em;
  overflow: hidden;
  will-change: transform;
}

@media only screen and (max-width: 780px) {
  .p-credentials__logo {
    /* How many items we want to see on screen at once */
    --scrolling-gallery-items-visible: 3;
    /* How many items are to scroll */
    --scrolling-gallery-items-total: 3;
  }
}

.scroller {
  animation-duration: calc(var(--scrolling-gallery-item-duration, 1s) / var(--scrolling-gallery-items-visible) * var(--scrolling-gallery-items-total));
  animation-timing-function: linear;
  animation-name: scrolling-gallery;
  animation-iteration-count: infinite;
  display: flex;
  white-space: nowrap;
}

.p-credentials__logo-container {
  width: 100vw;
}

.p-credentials__logo-block {
  flex: 1 0 calc(100% / var(--scrolling-gallery-items-visible));
  /* Without this, block elements will take width from their contents and thus making wrong calculations,
     so this just force elements to take only exact part of the container (screen) and equal for all */
  width: 0px;
  /* If you want to have it continuous without any spaces, remove two lines below */
  box-sizing: border-box;
  padding: 4em;
  margin-right: 4rem;
}

@media only screen and (max-width: 780px) {
  .p-credentials__logo-block {
    padding: 1em;
    margin-right: 2rem;
  }
}

.p-credentials__logo-block img {
  display: block;
  height: 100%;
  object-fit: contain;
  object-position: center;
  width: 100%;
}

@keyframes scrolling-gallery {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(calc(var(--scrolling-gallery-items-total) * -100vw / var(--scrolling-gallery-items-visible)));
  }
}

.p-issues__bottom {
  background: url(../../assets/issues-bg.png) center top/cover;
  width: 100%;
  text-align: center;
  margin: 80px auto;
  padding: 80px 0 64px 0;
}

.p-issues__bottom p {
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.7;
}

@media only screen and (max-width: 767px) {
  .p-issues__bottom p {
    font-size: 1.6rem;
  }
}

.p-feature__description-title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 16px;
}

@media only screen and (max-width: 767px) {
  .p-feature__description-title {
    font-size: 1.6rem;
  }
}

.p-feature__description-title::before {
  content: url(../../assets/check.png);
  display: inline-block;
  vertical-align: middle;
  padding-right: 16px;
}

.p-feature__description-cont p {
  font-weight: 400;
  line-height: 1.7;
}

@media only screen and (max-width: 767px) {
  .p-feature__img {
    width: 100%;
  }
}

/*新規追加設立背景セクションここから*/
#establishment h3 {
  display: flex;
  align-items: center;
}

#establishment h3::before,
#establishment h3::after {
  content: "";
  flex-grow: 1;
  border-top: 3px solid #fabf1b;
}

#establishment h3::before {
  margin-right: 1rem;
}

#establishment h3::after {
  margin-left: 1rem;
}

.p-est p {
  font-weight: 400;
  line-height: 2.5;
}

.p-est p span {
  display: inline-block;
  background: linear-gradient(transparent 0%, #fff3d1 0%);
  font-weight: 600;
}

.br_sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  .p-est p {
    line-height: 2;
    margin-bottom: 1.5em
  }

  .br_sp {
    display: block;
  }
}

/*設立背景ここまで*/
.p-cta__1 {
  background: #fabf1b;
}

.p-cta__1__description {
  padding-right: 40px;
}

@media only screen and (max-width: 767px) {
  .p-cta__1__description {
    padding-right: 0;
  }
}

.p-cta__1__description h3 {
  font-size: 3rem;
  word-break: keep-all;
}

@media only screen and (max-width: 767px) {
  .p-cta__1__description h3 {
    font-size: 2rem;
    text-align: center;
  }

}

.p-cta__1__block {
  flex-direction: column;
}

@media only screen and (min-width: 767px) and (max-width:1000px) {
  .news-flex {
    flex-direction: row;
    gap: 0;

  }
}

.p-news__card {
  display: block;
  padding: 0 24px;
  cursor: pointer;
  width: 33%;
}

@media only screen and (max-width: 767px) {
  .p-news__card {
    width: 100%;
  }
}

.p-news__card-img {
  width: 100%;
  height: 200px;
}

.p-news__card-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 16px;
}

.p-news__card-tag {
  color: white;
  background: #fabf1b;
  font-size: 1.6rem;
  padding: 4px 12px;
  border-radius: 50px;
  display: inline-block;
}

.p-news__card-tag:hover {
  opacity: .6;
  cursor: pointer !important;
}

.p-news__card-info {
  display: block;
}

.p-news__card-info:hover {
  opacity: .6;
  cursor: pointer !important;
}

.p-news__card-title {
  font-size: 1.6rem;
  font-weight: bold;
  height: 40px;
}

.p-news__card-excerpts {
  font-size: 1.6rem;
  font-weight: 400;
  height: 130px;
}

@media only screen and (max-width: 767px) {
  .p-news__card-excerpts {
    font-size: 1.4rem;
    height: 100px;
  }
}

.p-news__card-dates {
  font-size: 1.2rem;
  color: #666666;
}

.p-news__item {
  margin-bottom: 8px;
}

.p-news__cta {
  background: #fff3d1;
  padding: 40px 0;
  border-radius: 16px;
}

.p-step__cont {
  width: 250px;
  height: 250px;
  padding: 24px;
  margin: 0 auto;
  background: #fff3d1;
  border-radius: 50%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.p-step__cont-item {
  margin-bottom: 8px;
}

.p-step__cont-img {
  font-size: 48px;
  font-weight: 600;
  color: #fabf1b;
}

.p-step__cont-title {
  font-size: 2rem;
  font-weight: 600;
  color: #222222;
}

.p-step__cont-description {
  font-size: 1.6rem;
  font-weight: 400;
}

.p-step__cont-description p {
  word-break: keep-all;
}

.p-step-arrow {
  font-size: 40px;
  color: #fabf1b;
}

@media only screen and (max-width: 780px) {
  .p-step-arrow {
    transform: rotate(90deg);
  }
}

.p-cta__2 {
  background: #fabf1b;
}

.p-cta__2__description {
  padding-right: 40px;
}

@media only screen and (max-width: 767px) {
  .p-cta__2__description {
    padding-right: 0px;
    margin: 0;
  }
}

.p-cta__2__description h1 {
  font-size: 6.4rem !important;
  letter-spacing: 0.5rem;
}

@media only screen and (max-width: 767px) {
  .p-cta__2__description h1 {
    font-size: 3.6rem !important;
    margin: 0;
  }
}

.p-cta__2__description h3 {
  font-size: 3rem;
  word-break: keep-all;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .p-cta__2__description .f-80 {
    font-size: 4.6rem;
  }
}

.p-cta__2__invitation {
  background: #faf9f7;
  padding: 24px 0;
  border-radius: 16px;
  vertical-align: middle;
}

@media only screen and (max-width: 767px) {
  .p-cta__2__invitation {
    padding: 24px 40px;
  }
}

.p-cta__2__invitation-title {
  color: #fabf1b;
}

@media only screen and (max-width: 767px) {
  .p-cta__2__invitation-title {
    font-size: 2rem;
    text-align: center;
  }
}

.p-cta__2__invitation-conts {
  margin-top: 24px;
}

.p-cta__2__invitation-conts ul > li {
  list-style: disc;
  list-style-position: inside;
  font-size: 2.4rem;
  padding: 8px 0;
  font-weight: 500;
}

@media only screen and (max-width: 767px) {
  .p-cta__2__invitation-conts ul > li {
    font-size: 1.6rem;
    list-style-position: inside;
    /*リストの改行インデント修正*/
    text-indent: -2.2rem;
  }
}

.p-cta__2__invitation img {
  position: relative;
  top: 24px;
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .pc-only {
    display: block;
  }
}

@media only screen and (min-width: 1201px) {
  .pc-only {
    display: block;
  }
}

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

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .sp-only {
    display: none;
  }
}

@media only screen and (min-width: 1201px) {
  .sp-only {
    display: none;
  }
}

.pt-80 {
  padding-top: 80px;
}

.pr-16 {
  padding-right: 16px;
}

.mtb-0 {
  margin: 0 auto;
}

.mt-80 {
  margin-top: 80px;
}

.mb-0 {
  margin-bottom: 0;
}

.mb-16 {
  margin-bottom: 16px;
}

.mb-24 {
  margin-bottom: 24px;
}

@media only screen and (max-width: 767px) {
  .mb-24 {
    margin-bottom: 12px;
  }
}

.mb-40 {
  margin-bottom: 40px;
}

.mb-64 {
  margin-bottom: 40px;
}

.mb-80 {
  margin-bottom: 80px;
}

.mr-8 {
  margin-right: 8px;
}

.lh-17 {
  line-height: 1.7;
}

.d-block {
  display: block;
}

.ta-j {
  text-align: justify;
}

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

.ai-c {
  align-items: center;
}

.f-yellow {
  color: #fabf1b;
}

.f-white {
  color: #faf9f7;
}

.f-en {
  font-family: din-2014, sans-serif;
}

.f-80 {
  font-size: 8rem;
}

@media only screen and (max-width: 767px) {
  .f-80 {
    font-size: 5.6rem;
  }
}

.f-56 {
  font-size: 5.6rem;
}

@media only screen and (max-width: 767px) {
  .f-56 {
    font-size: 3.2rem;
  }
}

.f-32 {
  font-size: 3.2rem;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .f-32 {
    font-size: 2rem;
  }
}

.f-b {
  font-weight: 600;
}

.bg-w {
  background: white;
}

@media only screen and (max-width: 767px) {
  .bg-w {
    padding: 4px 22px;
  }
}

/* トップレスポンシブ修正ここから */
.bg-b {
  display: block;
  text-align: center;
  background: #222222;
  /* padding: 8px 64px; */
  padding: 0 5em;
  letter-spacing: 0.3rem;
  font-family: smart-font, sans-serif !important;
  font-size: 3.2rem;
  font-weight: bold;
  margin-top: 12px;
  margin-right: 6px;
  border-radius: 8px;
  color: white;
}

@media only screen and (max-width: 767px) {
  h2 {
    text-align: center;
    letter-spacing: inherit;
  }

  .bg-b {
    /* padding: 4px 12px; */
    padding: inherit;
    font-size: 2.4rem;
    margin: 0.25em auto 0;
  }

  .p-issues__bottom p {
    padding: 0 1.25em;
  }

  .p-feature__description-title {
    text-indent: -3rem;
    padding-left: 6rem;
  }

  .p-feature__description-title::before {
    padding-right: 1.6rem;
  }

  .p-cta__1__description h3 {
    word-break: inherit;
  }
}

/* トップレスポンシブ修正ここまで*/

.bg-y {
  background: #fabf1b;
  padding: 16px;
  margin-right: 6px;
  border-radius: 8px;
  color: white;
}

@media only screen and (max-width: 767px) {
  .bg-y {
    padding: 8px;
  }
}

.round-w {
  border-radius: 50px;
}

.flex-sb {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media only screen and (max-width: 780px) {
  .flex-sb {
    flex-direction: column;
  }
}

.flex-se {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.w-80 {
  width: 80%;
  margin: 0 auto;
}

body {
  color: #222222;
}

/*# sourceMappingURL=main.css.map*/
