html::before, html::after {
  display: block;
  visibility: visible;
  opacity: 1;
  transition: all 1s 0s ease;
  content: ""
}
html::before {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99998;
  background-color: #fcf8f0;
  width: 100vw;
  height: 100vh
}
html::after {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 99999;
  background: url(../images/loading.svg) no-repeat center/60px 60px;
  width: 60px;
  height: 60px
}
html.wf-active::before, html.wf-active::after {
  visibility: hidden;
  opacity: 0
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-style: normal;
  font-weight: inherit;
  font-size: inherit;
  list-style: none
}
@media only screen and (max-width: 1023px) {
  html {
    overflow-x: hidden
  }
}
body {
  padding-top: 1px;
  color: #333;
  word-wrap: break-word;
  font-weight: 500;
  line-height: 1.75;
  font-family: hiragino-kaku-gothic-pron, -apple-system, sans-serif;
  font-feature-settings: "palt" 1;
  letter-spacing: .125em
}
@media only screen and (max-width: 1023px) {
  body {
    overflow-x: hidden
  }
}
body {
  background-color: #fcf8f0;
  font-size: 1.25vw
}
@media only screen and (max-width: 1023px) {
  body {
    font-size: 3.25vw
  }
}
@media only screen and (min-width: 1921px) {
  body {
    font-size: 1vw
  }
}
main {
  display: block
}
h1, h2, h3, h4, h5 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: inherit
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
iframe {
  vertical-align: bottom
}
p {
  text-align: justify
}
img {
  -webkit-backface-visibility: hidden;
  vertical-align: bottom
}
svg {
  transform: translateZ(0);
  backface-visibility: hidden;
  overflow: hidden
}
a {
  color: inherit
}
a:hover {
  opacity: .8
}
rt {
  font-size: 30%
}
*::before, *::after {
  pointer-events: none
}
input, button, select, textarea {
  border: none;
  border-radius: 0;
  background: rgba(0, 0, 0, 0);
  font: inherit
}
textarea {
  width: 100% !important;
  resize: vertical
}
input[type=submit], input[type=button], label, button, select {
  cursor: pointer
}
select::-ms-expand {
  display: none
}
input[type=text], input[type=password], input[type=search], input[type=email], input[type=tel], input[type=url], input[type=date], input[type=month], input[type=week], input[type=time], input[type=number], input[type=select-one], textarea {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  border: solid 1px #fff;
  border: solid 1px #ccc;
  border-radius: 4px;
  background-color: #fff;
  padding: 5px 10px;
  width: 100%;
  font-size: 16px;
  font-family: inherit
}
select {
  border: solid 1px #d3cdbd;
  padding: 5px;
  width: 100%
}
textarea {
  min-height: 150px
}
input[type=checkbox], input[type=radio] {
  vertical-align: middle;
  margin-right: 5px
}
button {
  display: inline-block;
  margin: 10px
}
.c-section {
  position: relative;
  padding-top: 6em;
  padding-right: 6em;
  padding-left: 6em
}
@media only screen and (max-width: 1023px) {
  .c-section {
    padding-right: 2em;
    padding-left: 2em
  }
}
.c-section.is-first {
  padding-top: 0
}
.c-section.is-wide {
  padding-right: 0;
  padding-left: 0
}
.c-inner980 {
  margin-right: auto;
  margin-left: auto;
  max-width: 40em
}
.c-inner1280 {
  margin-right: auto;
  margin-left: auto;
  max-width: 52em
}
.c-inner1400 {
  margin-right: auto;
  margin-left: auto;
  max-width: 70em
}
.c-col {
  display: flex;
  flex-flow: column;
  gap: 2em
}
.c-col>* {
  width: 100%
}
.c-col2 {
  display: flex;
  gap: 2em
}
@media only screen and (max-width: 1023px) {
  .c-col2.is-liquid {
    flex-flow: column
  }
  .c-col2.is-liquid>* {
    width: 100%
  }
}
@media only screen and (min-width: 1024px) {
  .c-col2.is-reverse {
    flex-flow: row-reverse
  }
}
.c-col2.is-center {
  align-items: center
}
.c-col2.is-half>* {
  width: 100%
}
.c-col2.is-wrap {
  flex-wrap: wrap;
  justify-content: space-between
}
.c-col2.is-wrap>* {
  width: calc(50% - 1em)
}
@media only screen and (max-width: 1023px) {
  .c-col2.is-wrap>* {
    width: 100%
  }
}
@media only screen and (min-width: 1024px) {
  .c-col2.is-gap {
    gap: 6em
  }
}
.c-title {
  margin-bottom: 2em;
  background: url(../images/common/title_line.svg) no-repeat center bottom/auto .75em;
  padding-bottom: 1em;
  color: #027e2b;
  font-weight: bold;
  font-size: 220%;
  line-height: 1.5;
  text-align: center
}
@media only screen and (max-width: 1023px) {
  .c-title {
    margin-bottom: 1em;
    font-size: 180%
  }
}
body.recruit-group .c-title {
  background: url(../images/common/title_line-orange.svg) no-repeat center bottom/auto .75em;
  color: #f87331
}
@media only screen and (min-width: 1024px) {
  .c-title.is-left {
    text-align: left
  }
}
.c-title>small {
  display: block;
  font-size: 45%
}
.c-subTitle.is-center {
  text-align: center
}
.c-subTitle {
  position: relative;
  margin-bottom: 1em;
  padding-left: .75em;
  color: #027e2b;
  font-weight: bold;
  font-size: 150%;
  line-height: 1.5
}
body.recruit-group .c-subTitle {
  color: #f87331
}
.c-subTitle::before {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 1000px;
  background-color: #00a44d;
  width: .25em;
  height: 1.5em
}
body.recruit-group .c-subTitle::before {
  background-color: #fd9f37
}
.c-subTitle::before {
  content: ""
}
.c-lead {
  margin-bottom: 1em;
  color: #027e2b;
  font-weight: bold;
  font-size: 130%;
  text-align: center
}
@media only screen and (max-width: 1023px) {
  .c-lead {
    font-size: 100%
  }
}
.c-lead.is-left {
  text-align: left
}
body.recruit-group .c-lead {
  color: #f87331
}
.c-lead_sub {
  display: block;
  font-size: 45%;
  line-height: 1
}
.c-lead>small {
  font-size: 60%;
  line-height: 1
}
.c-strong {
  color: #027e2b;
  font-weight: bold;
  text-align: center
}
@media only screen and (max-width: 1023px) {
  .c-strong {
    font-size: 100%
  }
}
.c-strong.is-left {
  text-align: left
}
body.recruit-group .c-strong {
  color: #f87331
}
.c-em {
  margin-bottom: 1em;
  color: #027e2b;
  font-size: 180%;
  font-family: vdl-penletter;
  letter-spacing: .25em
}
body.recruit-group .c-em {
  color: #f87331
}
.c-sentence {
  line-height: 3
}
.c-table {
  background-color: #fff;
  width: 100%
}
.c-table.is-fixed {
  table-layout: fixed
}
.c-table thead th {
  background-color: #00a44d;
  color: #fff
}
body.recruit-group .c-table thead th {
  background-color: #fd9f37
}
.c-table th, .c-table td {
  vertical-align: top;
  padding: .75em;
  text-align: center
}
@media only screen and (max-width: 1023px) {
  .c-table th, .c-table td {
    padding: .75em 0;
    font-size: 60%
  }
}
.c-table td {
  background-color: #fff
}
.c-unorder {
  display: flex;
  flex-flow: column
}
.c-unorder.is-gap {
  gap: 1em
}
.c-unorder li {
  position: relative;
  padding-left: .75em
}
.c-unorder li::before {
  position: absolute;
  top: .6em;
  left: 0;
  background: url(../images/common/unorder_mark.svg) no-repeat center/cover;
  width: .5em;
  height: .5em;
  content: ""
}
.c-order {
  display: flex;
  flex-flow: column;
  counter-reset: li
}
.c-order.is-gap {
  gap: 1em
}
.c-order>li {
  position: relative;
  counter-increment: li;
  padding-left: 1.5em
}
.c-order>li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: counter(li) "."
}
.c-order>li>ol {
  counter-reset: child
}
.c-order>li>ol>li {
  position: relative;
  counter-increment: child;
  padding-left: 1.5em
}
.c-order>li>ol>li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: counter(child, katakana)
}
.c-detail {
  display: flex;
  flex-wrap: wrap
}
.c-detail>dt, .c-detail>dd {
  padding: 2em
}
@media only screen and (min-width: 1024px) {
  .c-detail>dt:not(:last-of-type), .c-detail>dd:not(:last-of-type) {
    margin-bottom: .5em
  }
}
.c-detail>dt {
  background-color: #d7eddd;
  width: 30%;
  color: #027e2b;
  font-weight: bold
}
body.recruit-group .c-detail>dt {
  background-color: #ffe7de;
  color: #f87331
}
@media only screen and (min-width: 1024px) {
  .c-detail>dt {
    border-radius: 1em 0 0 1em
  }
}
.c-detail>dd {
  background-color: #fff;
  width: 70%
}
@media only screen and (min-width: 1024px) {
  .c-detail>dd {
    border-radius: 0 1em 1em 0
  }
}
@media only screen and (max-width: 1023px) {
  .c-detail>dt, .c-detail>dd {
    padding: 1em;
    width: 100%
  }
}
.c-detail.is-accent {
  border-radius: 1em;
  background-color: #fff;
  overflow: hidden
}
.c-detail.is-accent>dt, .c-detail.is-accent dd {
  border-radius: 0;
  background-color: rgba(0, 0, 0, 0)
}
@media only screen and (min-width: 1024px) {
  .c-detail.is-accent>dt:not(:last-of-type), .c-detail.is-accent dd:not(:last-of-type) {
    border-bottom: solid 1px #ccc
  }
}
@media only screen and (max-width: 1023px) {
  .c-detail.is-accent>dt, .c-detail.is-accent dd {
    padding: 1em
  }
  .c-detail.is-accent>dt {
    padding-bottom: 0
  }
  .c-detail.is-accent>dd {
    padding-top: 0
  }
  .c-detail.is-accent>dd:not(:last-of-type) {
    border-bottom: solid 1px #ccc
  }
}
.c-card {
  display: flex;
  flex-flow: column
}
.c-card_title {
  border-radius: 1em 1em 0 0;
  background: linear-gradient(45deg, #0748A8, #007DBB);
  padding: .75em;
  color: #fff;
  font-weight: bold
}
.c-card_detail {
  flex: 1;
  border-radius: 0 0 1em 1em;
  background: linear-gradient(45deg, #F6F5FF, #D5F1FF);
  padding: 1em 2em
}
.c-card_detail>strong {
  font-size: 5vw;
  line-height: 1
}
@media only screen and (max-width: 1023px) {
  .c-card_detail>strong {
    font-size: 15vw
  }
}
.c-card_detail>small {
  display: block;
  font-weight: normal
}
@media only screen and (max-width: 1023px) {
  .c-scroll {
    overflow-x: scroll
  }
  .c-scroll>* {
    width: 100%;
    min-width: 200vw
  }
  .c-scroll::after {
    display: block;
    margin-top: 1em;
    content: "※横にスクロールしてご覧ください。"
  }
}
.c-box {
  position: relative;
  border-radius: 1em;
  background-color: #fff;
  padding: 2.25em 3em 2.5em
}
@media only screen and (max-width: 1023px) {
  .c-box {
    padding: 1.5em 2em 1.75em
  }
}
.c-box::before {
  position: absolute;
  top: -0.25em;
  left: -0.25em;
  border: solid 1px #00a44d;
  border-radius: 1em;
  background-color: rgba(0, 0, 0, 0);
  width: 100%;
  height: 100%;
  content: ""
}
body.recruit-group .c-box::before {
  border: solid 1px #fd9f37
}
.c-button {
  display: inline-block;
  position: relative;
  margin: .4em;
  border-radius: 1000px;
  background-color: #00a44d;
  padding: 1em 3.25em 1em 2em;
  min-width: 14em;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none
}
body.recruit-group .c-button {
  background-color: #fd9f37
}
.c-button::after {
  position: absolute;
  top: 50%;
  right: 1.35em;
  margin-top: -0.35em;
  border-width: .35em 0 .35em .5em;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff;
  width: 0;
  height: 0;
  content: ""
}
.c-button.is-simple {
  padding: 1em 2em
}
.c-button.is-simple::after {
  display: none
}
#l-header {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  justify-content: space-between;
  align-items: center;
  z-index: 995;
  padding: 1em;
  width: 100%
}
#l-footer {
  margin-top: 6em;
  color: #fff
}
#l-footer .cta {
  display: flex
}
#l-footer .cta_item {
  position: relative;
  padding: 2.25em 4em;
  width: 50%;
  color: #fff;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 0 5px rgba(0, 0, 0, .15)
}
#l-footer .cta_item>strong {
  display: block;
  font-size: 180%
}
#l-footer .cta_item>small {
  display: block;
  font-weight: bold;
  font-size: 100%
}
#l-footer .cta_item::after {
  position: absolute;
  top: 50%;
  right: 2em;
  transform: translateY(-50%);
  border-top: .55em solid rgba(0, 0, 0, 0);
  border-bottom: .55em solid rgba(0, 0, 0, 0);
  border-left: .8em solid #fff;
  width: 0;
  height: 0;
  content: ""
}
#l-footer .cta_item.is-support {
  background-color: #67c9df;
  text-shadow: 0 0 5px hsl(191, 65.2173913043%, 43.9215686275%)
}
#l-footer .cta_item.is-recruit {
  background-color: #ffb155;
  text-shadow: 0 0 5px rgb(238, 128.8, 0)
}
@media only screen and (max-width: 1023px) {
  #l-footer .cta {
    flex-flow: column
  }
  #l-footer .cta_item {
    padding: 1.75em 3em;
    width: 100%
  }
  #l-footer .cta_item>strong {
    font-size: 220%
  }
  #l-footer .cta_item>small {
    font-size: 100%
  }
  #l-footer .cta_item::after {
    right: 1.5em
  }
}
#l-footer .inner {
  background-color: #a1d281;
  padding-top: 4em;
  padding-bottom: 4em;
  font-size: 80%;
  text-shadow: 0 0 5px rgb(83.7543859649, 137.0526315789, 48.9473684211)
}
body.recruit-group #l-footer .inner {
  background-color: #fddc6a;
  text-shadow: 0 0 5px rgb(203.2715231788, 158.2516556291, 2.7284768212)
}
#l-footer .inner .sns_item {
  display: inline-block;
  width: 3em;
  height: 3em
}
#l-footer .inner .sns_item:not(:last-of-type) {
  margin-right: 1em
}
#l-footer .inner .sns_item>img {
  filter: drop-shadow(0 0 5px rgb(106.7192982456, 174.6315789474, 62.3684210526));
  width: 100%;
  height: auto
}
body.recruit-group #l-footer .inner .sns_item>img {
  filter: drop-shadow(0 0 5px rgb(251.6490066225, 196.357615894, 5.3509933775))
}
@media only screen and (max-width: 1023px) {
  #l-footer .inner {
    flex-flow: column
  }
  #l-footer .inner>* {
    width: 100%
  }
}
#l-footer .nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em;
  padding-right: 2em;
  padding-left: 2em
}
@media only screen and (max-width: 1023px) {
  #l-footer .nav {
    justify-content: center;
    gap: .5em 1.25em;
    line-height: 1.6
  }
}
#l-footer .nav .fnav-link {
  text-decoration: none
}
#l-footer .pagetop {
  display: inline-block;
  position: fixed;
  right: 1em;
  bottom: 1em;
  z-index: 990;
  margin-top: 1.5em;
  width: 4em
}
#l-footer .pagetop>img {
  width: 100%;
  height: auto
}
@media only screen and (min-width: 1024px) {
  #l-footer .pagetop {
    transition: all .2s ease
  }
  #l-footer .pagetop:hover {
    bottom: 1.5em
  }
}
@media only screen and (max-width: 1023px) {
  #l-footer .pagetop {
    right: 1.5em
  }
}
#l-footer .pagetop {
  visibility: hidden;
  opacity: 0;
  transition-duration: .5s;
  transition-property: opacity visibility bottom
}
#l-footer .pagetop.is-display {
  visibility: visible;
  opacity: 1
}
.p-site {
  display: block;
  aspect-ratio: 2/1;
  height: 6em
}
.p-site>img {
  width: auto;
  height: 100%
}
.p-aside {
  display: flex;
  position: fixed;
  right: 1em;
  align-items: center;
  gap: .5em;
  z-index: 1005
}
.p-instagram, .p-email {
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform .2s ease, box-shadow .2s ease;
  border: solid .3em #fff;
  border-radius: 100%;
  background-color: #00a44d;
  width: 3em;
  height: 3em
}
body.recruit-group .p-instagram, body.recruit-group .p-email {
  background-color: #fd9f37
}
.p-instagram>img, .p-email>img {
  display: block;
  width: 1.25em;
  height: auto
}
.p-instagram:hover, .p-email:hover {
  transform: translateY(-2px)
}
.p-gnav {
  display: flex;
  position: fixed;
  top: 0;
  right: -100%;
  flex-flow: column;
  justify-content: center;
  z-index: 1000;
  transition: right .6s 0s ease;
  background-color: #00a44d;
  padding: 2em;
  width: 100%;
  height: 100%
}
body.recruit-group .p-gnav {
  background-color: #fd9f37
}
@media only screen and (min-width: 1024px) {
  .p-gnav {
    width: 50vw
  }
}
.p-gnav.is-enable {
  right: 0
}
.p-gnavIcon {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  background-color: #fff;
  width: 3em;
  height: 3em;
  overflow: hidden;
  line-height: 0
}
.p-gnavIcon>img {
  width: 55%;
  object-fit: contain
}
.p-gnavInner {
  border-radius: 2em;
  background-color: #fff;
  overflow-y: auto
}
.p-gnavItem {
  display: block;
  width: 100%
}
.p-gnavItem:not(:first-of-type) {
  border-top: solid 2px #00a44d
}
body.recruit-group .p-gnavItem:not(:first-of-type) {
  border-top: solid 2px #fd9f37
}
.p-gnavLink {
  display: flex;
  flex-flow: column;
  align-items: center;
  padding: 1.25em 2em;
  color: #027e2b;
  font-weight: bold;
  font-size: 90%;
  line-height: 1;
  text-decoration: none
}
body.recruit-group .p-gnavLink {
  color: #f87331
}
.p-hamburger {
  display: flex;
  position: relative;
  flex-flow: column;
  justify-content: center;
  gap: .25em;
  z-index: 1005;
  transition: transform .2s ease;
  cursor: pointer;
  border-radius: 100%;
  background-color: #fff;
  padding: 1.4em 1.2em;
  width: 4em;
  height: 4em
}
.p-hamburger:hover {
  transform: translateY(-2px)
}
.p-hamburger>span {
  display: block;
  transition: all .5s ease;
  border-radius: 100em;
  background-color: #00a44d;
  width: 1.6em;
  height: .25em
}
body.recruit-group .p-hamburger>span {
  background-color: #fd9f37
}
.p-hamburger.is-close>span:nth-of-type(1) {
  transform: rotate(-45deg) translateX(0) translateY(-80%);
  transform-origin: 100% 100%
}
.p-hamburger.is-close>span:nth-of-type(2) {
  opacity: 0
}
.p-hamburger.is-close>span:nth-of-type(3) {
  transform: rotate(45deg) translateX(-10%) translateY(100%);
  transform-origin: 100% 100%
}
.p-banner {
  display: flex;
  position: fixed;
  top: 8em;
  right: 0;
  justify-content: center;
  align-items: center;
  gap: .25em;
  z-index: 5;
  border-top: solid 3px #fff;
  border-bottom: solid 3px #fff;
  border-left: solid 3px #fff;
  border-radius: 1em 0 0 1em;
  background-color: #f87331;
  padding: 1.5em 1.25em 1.5em 1.5em;
  height: 13em;
  color: #fff;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .25em;
  writing-mode: vertical-rl;
  text-decoration: none;
  text-orientation: upright
}
.p-banner::after {
  display: inline-block;
  border-width: .4em 0 .4em .6em;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff;
  width: 0;
  height: 0;
  content: ""
}
.p-banner:hover {
  background-color: rgb(248.838028169, 131.7605633803, 73.661971831)
}
.p-firstView_visual {
  width: 100%;
  height: 100vh;
  line-height: 0
}
.p-firstView_visual .swiper-container::before {
  position: absolute;
  top: 0;
  left: 0;
  opacity: .3;
  z-index: 5;
  width: 100%;
  height: 100%;
  content: ""
}
.p-firstView_visual .swiper-slide {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 100vh
}
.p-firstView_visual .swiper-pagination {
  top: 50%;
  right: auto;
  bottom: auto;
  left: 2em;
  transform: translateY(-50%);
  width: 2px
}
.p-firstView_visual .swiper-pagination-bullet {
  display: block;
  margin: 0;
  border-radius: 0;
  width: 2px;
  height: 1.5em
}
@media only screen and (max-width: 1023px) {
  .p-firstView_visual {
    min-height: 40em
  }
  .p-firstView_visual .swiper-pagination {
    top: 70%;
    right: 2em;
    left: auto
  }
  .p-firstView_visual .swiper-slide {
    min-height: 40em
  }
}
.p-headline {
  background-position: top -0.5em right -1em;
  background-size: contain;
  background-repeat: no-repeat;
  padding: 4em 1em;
  color: #027e2b;
  font-size: 300%;
  line-height: 1;
  font-family: vdl-penletter;
  text-shadow: 0 3px 3px #fcf8f0, 0 -3px 3px #fcf8f0, 3px 0 3px #fcf8f0, -3px 0 3px #fcf8f0, 0 5px 5px #fcf8f0, 0 -5px 5px #fcf8f0, 5px 0 5px #fcf8f0, -5px 0 5px #fcf8f0, 0 8px 8px #fcf8f0, 0 -8px 8px #fcf8f0, 8px 0 8px #fcf8f0, -8px 0 8px #fcf8f0
}
body.recruit-group .p-headline {
  color: #f87331
}
body.recruit-group .p-headline::before {
  display: block;
  margin-bottom: .5em;
  content: "- 採用情報 -";
  font-size: 45%
}
@media only screen and (max-width: 1023px) {
  .p-headline {
    font-size: 220%
  }
}
.p-headline.is-top {
  background-image: url(../images/top/headline.png)
}
.p-headline.is-about {
  background-image: url(../images/about/headline.png)
}
.p-headline.is-daily {
  background-image: url(../images/daily/headline.png)
}
.p-headline.is-rights {
  background-image: url(../images/rights/headline.png)
}
.p-headline.is-support {
  background-image: url(../images/support/headline.png)
}
.p-headline.is-recruit {
  background-image: url(../images/recruit/headline.png)
}
.p-headline.is-works {
  background-image: url(../images/works/headline.png)
}
.p-headline.is-feature {
  background-image: url(../images/feature/headline.png)
}
.p-headline.is-interview {
  background-image: url(../images/interview/headline.png)
}
.p-headline.is-entry {
  background-image: url(../images/entry/headline.png)
}
.p-headline.is-news {
  background-image: url(../images/news/headline.png)
}
.p-headline.is-contact {
  background-image: url(../images/contact/headline.png)
}
.p-headline.is-recruit {
  position: absolute;
  top: 3em;
  z-index: 5;
  padding: 0 0 0 .3em
}
.p-headline.is-recruit::before {
  display: none !important
}
@media only screen and (min-width: 1024px) {
  .p-access_info {
    margin-top: 5em
  }
}
.p-access_map {
  margin-left: -6em;
  border-radius: 0 5em 5em 0;
  height: 30em;
  overflow: hidden
}
@media only screen and (max-width: 1023px) {
  .p-access_map {
    margin-left: -2em
  }
}
#top .greeting {
  position: relative;
  margin-top: 6em;
  padding-bottom: 6em
}
#top .greeting::before {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0 5em 5em 0;
  background: url(../images/top/message_visual.jpg) no-repeat center/cover;
  overflow: hidden;
  content: ""
}
#top .greeting::after {
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 0 5em 5em 0;
  background: url(../images/top/message_bg-leaf.png) no-repeat center/cover;
  width: 6em;
  height: 14em;
  overflow: hidden;
  content: ""
}
#top .greeting .title {
  position: absolute;
  top: 1em;
  left: 37vw;
  transform: rotate(3deg);
  color: #027e2b;
  font-size: 220%;
  line-height: 1;
  font-family: vdl-penletter;
  writing-mode: vertical-rl;
  text-orientation: upright
}
#top .greeting .title>span {
  position: absolute;
  width: 1em;
  height: 5em
}
@media only screen and (min-width: 1024px) {
  #top .greeting {
    padding-left: 60vw
  }
  #top .greeting::before {
    width: 25vw;
    height: 80%
  }
  #top .greeting .title {
    top: 1em;
    left: 37vw
  }
  #top .greeting .title>span:nth-of-type(1) {
    top: 0;
    left: 4em
  }
  #top .greeting .title>span:nth-of-type(2) {
    top: 3em;
    left: 2em
  }
  #top .greeting .title>span:nth-of-type(3) {
    top: 6em;
    left: 0
  }
}
@media only screen and (max-width: 1023px) {
  #top .greeting {
    padding-top: 60vw
  }
  #top .greeting::before {
    width: 50vw;
    height: 55vw
  }
  #top .greeting .title {
    top: 0;
    left: 60vw;
    font-size: 180%
  }
  #top .greeting .title>span:nth-of-type(1) {
    top: 0;
    left: 3em
  }
  #top .greeting .title>span:nth-of-type(2) {
    top: 3em;
    left: 1.5em
  }
  #top .greeting .title>span:nth-of-type(3) {
    top: 6em;
    left: 0
  }
}
#top .newsfeed {
  border-radius: 1em;
  background-color: #fff;
  overflow: hidden
}
#top .newsfeed>a {
  display: flex;
  position: relative;
  padding: 2em;
  text-decoration: none
}
#top .newsfeed>a:not(:last-of-type) {
  border-bottom: solid 1px #ccc
}
#top .newsfeed>a::after {
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
  border-width: .4em 0 .4em .6em;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #d7eddd;
  width: 0;
  height: 0;
  content: ""
}
#top .newsfeed>a:hover {
  background-color: #d7eddd
}
#top .newsfeed>a:hover::after {
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #00a44d
}
@media only screen and (max-width: 1023px) {
  #top .newsfeed>a {
    flex-wrap: wrap;
    padding: 1em 2em 1em 1em
  }
  #top .newsfeed>a>* {
    width: 100%
  }
  #top .newsfeed>a::after {
    right: 1em
  }
}
#top .newsfeed dt {
  color: #027e2b;
  font-weight: bold
}
@media only screen and (min-width: 1024px) {
  #top .newsfeed dt {
    width: 11em;
    font-size: 90%
  }
}
#top .newsfeed dt>small {
  display: block;
  margin-top: -0.5em;
  color: rgb(144.6551724138, 205.3448275862, 161.2068965517);
  font-size: 60%
}
@media only screen and (min-width: 1024px) {
  #top .newsfeed dd {
    width: calc(100% - 11em)
  }
}
#top .about {
  margin-top: 6em;
  background: url(../images/top/about_illust-top.png) no-repeat top 50% left 15%/10em auto, url(../images/top/about_illust-right.png) no-repeat top 30% right 20%/10em auto, url(../images/top/about_illust-bottom.png) no-repeat bottom 20% right 20%/9em auto, url(../images/top/about_illust-left.png) no-repeat bottom 5% left 20%/9em auto, url(../images/top/about_bg.png) no-repeat bottom center/50vw auto, linear-gradient(to bottom, #EDF7D7, #FCF8F0);
  padding-bottom: 6em
}
@media only screen and (max-width: 1023px) {
  #top .about {
    background-position: top 18% left 1em, top 20% right 1em, bottom 30% right 1em, bottom left 1em, bottom center;
    background-size: 8em auto, 8em auto, 7em auto, 7em auto, 80vw auto
  }
  #top .about .message {
    text-shadow: 0 1.5px 0 #fcf8f0, 0 -1.5px 0 #fcf8f0, 1.5px 0 0 #fcf8f0, -1.5px 0 0 #fcf8f0
  }
}
#about .policy .visual {
  margin-right: auto;
  margin-left: auto;
  max-width: 25em
}
@media only screen and (min-width: 1024px) {
  #daily .message .visual {
    margin-left: -6em
  }
}
#daily .season {
  display: flex;
  flex-flow: column;
  gap: 2em
}
#daily .season_inner {
  display: flex;
  align-items: center;
  gap: 3em
}
#daily .season_inner>dt {
  width: 1em;
  color: #027e2b;
  font-size: 220%;
  line-height: 1;
  font-family: vdl-penletter
}
#daily .season_inner>dd {
  flex: 1
}
#daily .quote {
  background: url("../images/daily/quote_illust.png") no-repeat right 3em bottom 3em/10em auto
}
@media only screen and (max-width: 1023px) {
  #daily .quote {
    background-position: right 1em bottom;
    background-size: 7em auto
  }
}
#support .contact .tel {
  line-height: 0
}
#recruit .message {
  position: relative;
  padding-top: 8em
}
#recruit .message::before {
  position: absolute;
  top: -50%;
  right: 0;
  z-index: 5;
  background: url(../images/recruit/mv_frame-sakura.png) no-repeat center/cover;
  width: 50vw;
  height: 23.5vw;
  content: ""
}
#recruit .message .copy {
  background: url(../images/recruit/message_bg-sakura.png) no-repeat left center/20em auto
}
#works .timeline {
  display: flex;
  flex-wrap: wrap;
  margin-right: auto;
  margin-left: auto;
  border-left: solid .3em #fd9f37;
  max-width: 35em
}
#works .timeline dt, #works .timeline dd {
  padding: 1em 1em 1em 3em;
  width: 100%
}
#works .timeline dt {
  position: relative;
  color: #f87331;
  font-weight: bold
}
#works .timeline dt::before {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(calc(-50% - 0.15em));
  z-index: 1;
  border-radius: 100%;
  background-color: #fd9f37;
  width: 1.25em;
  height: 1.25em;
  content: ""
}
@media only screen and (min-width: 1024px) {
  #works .timeline dt {
    width: 10em
  }
  #works .timeline dd {
    width: calc(100% - 10em)
  }
}
@media only screen and (max-width: 1023px) {
  #works .timeline dt {
    padding-bottom: 0
  }
  #works .timeline dd {
    padding-top: 0
  }
}
#entry .flow .chart>*:not(:last-of-type) {
  position: relative;
  margin-bottom: 4em
}
#entry .flow .chart>*:not(:last-of-type)::after {
  position: absolute;
  bottom: -2.25em;
  left: 50%;
  transform: translateX(-50%);
  border-width: .8em .45em 0 .45em;
  border-style: solid;
  border-color: #fd9f37 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  width: 0;
  height: 0;
  content: ""
}
@media only screen and (min-width: 1024px) {
  .u-display-mobile {
    display: none
  }
}
@media only screen and (max-width: 1023px) {
  .u-display-desktop {
    display: none
  }
}
.u-display-large {
  display: none
}
@media only screen and (min-width: 1921px) {
  .u-display-large {
    display: block
  }
}
.u-margin-mini {
  margin-top: 1em
}
.u-margin-smaller {
  margin-top: 2.5em
}
.u-margin-small {
  margin-top: 4em
}
.u-margin-medium {
  margin-top: 6em
}
.u-margin-large {
  margin-top: 9em
}
@media only screen and (max-width: 1023px) {
  .u-margin-large {
    margin-top: 6em
  }
}
.u-link-disabled {
  pointer-events: none;
  color: inherit;
  text-decoration: none
}
.u-images-liquid {
  max-width: 100%;
  height: auto
}
.u-images-round {
  display: block;
  overflow: hidden;
  line-height: 0
}
@media only screen and (max-width: 1023px) {
  .u-images-round {
    border-radius: 1em
  }
}
@media only screen and (min-width: 1024px) {
  .u-images-round {
    border-radius: 2em
  }
}
.u-images-round>img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
.u-align-center {
  text-align: center
}
.u-align-left {
  text-align: left
}
.u-align-right {
  text-align: right
}
.u-align-row {
  writing-mode: vertical-rl;
  text-orientation: upright
}
.u-text-block {
  display: block
}
.js-tab.is-active {
  background-color: #00a44d !important;
  padding: 1em !important;
  color: #fff !important
}
.js-tabBox {
  display: none
}
.js-tabBox.is-active {
  display: block !important
}
