@charset "UTF-8";
/* Only output numerical values
/* 数値のみ出力する
====================================== */
/* font $size
====================================== */
/* font family
====================================== */
/* Break point ブレイクポイント
====================================== */
/* max site width コンテンツ最大幅
====================================== */
/* colors 色管理
====================================== */
/* z-index
====================================== */
/* media query
====================================== */
/* font-size フォントサイズのrem表示用
====================================== */
/* Margin class in 5px steps
/* 余白調整用のクラス　5px刻みで20回処理を繰り返し
====================================== */
.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

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

.mb40 {
  margin-bottom: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.com-txt-color-text {
  color: #333333 !important;
}

.com-bg-text {
  background-color: #333333 !important;
}

.com-txt-color-main {
  color: #4DA74C !important;
}

.com-bg-main {
  background-color: #4DA74C !important;
}

.com-txt-color-danger {
  color: red !important;
}

.com-bg-danger {
  background-color: red !important;
}

.com-txt-color-white {
  color: #fff !important;
}

.com-bg-white {
  background-color: #fff !important;
}

.com-txt-color-black {
  color: #000 !important;
}

.com-bg-black {
  background-color: #000 !important;
}

.com-txt-color-cta {
  color: #3B9154 !important;
}

.com-bg-cta {
  background-color: #3B9154 !important;
}

.com-txt-color-facebook {
  color: #3b5999 !important;
}

.com-bg-facebook {
  background-color: #3b5999 !important;
}

.com-txt-color-twitter {
  color: #1da1f2 !important;
}

.com-bg-twitter {
  background-color: #1da1f2 !important;
}

.com-txt-color-youtube {
  color: #cd201f !important;
}

.com-bg-youtube {
  background-color: #cd201f !important;
}

.com-txt-color-line {
  color: #18ba07 !important;
}

.com-bg-line {
  background-color: #18ba07 !important;
}

.com-txt-color-blue {
  color: #4893E5 !important;
}

.com-bg-blue {
  background-color: #4893E5 !important;
}

.com-txt-color-red {
  color: #DD3A19 !important;
}

.com-bg-red {
  background-color: #DD3A19 !important;
}

.com-txt-color-red-dark {
  color: #C10314 !important;
}

.com-bg-red-dark {
  background-color: #C10314 !important;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 15px;
  color: #333333;
  overflow-x: hidden;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  line-height: 1.2;
}

p {
  margin: 0;
  font-weight: 500;
  letter-spacing: 0.15em;
}
p + p {
  margin-top: 1em;
}

ul, dl, figure {
  margin: 0;
  padding: 0;
}

dt {
  font-weight: normal;
}

ul, li {
  list-style: none;
}

a {
  color: #333333;
  transition: 0.4s;
}
a:before, a:after {
  transition: 0.4s;
}
a:hover {
  color: #333333;
  text-decoration: none;
}

em {
  font-style: normal;
  font-weight: normal;
  color: inherit;
}

input,
select,
textarea {
  outline: none;
  vertical-align: middle;
  font-size: 16px;
  font-size: 1.0666666667rem;
  color: #333;
}

input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=reset]):not([type=button]):not([type=image]),
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 0.4em;
  border: 1px solid #D1D1D1;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  width: 100%;
  font-size: 15px;
  font-size: 1rem;
  line-height: 2;
}

address {
  margin-bottom: 0;
}

/* uk-container
====================================== */
.uk-container {
  max-width: 960px;
}
.uk-container-small {
  max-width: 375px;
}
.uk-container-large {
  max-width: 1300px;
}
.uk-container-expand {
  max-width: none;
}

/* Contact Form 7
====================================== */
.wpcf7 .ajax-loader {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
}

/* reCAPTCHA
====================================== */
.grecaptcha-badge {
  visibility: hidden;
}

/* #header
====================================== */
/* parts
--------------------------------- */
#header {
  display: flex;
  align-items: center;
  width: 100%;
  height: 60px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  z-index: 100;
  background-color: #fff;
}
@media (min-width: 960px) {
  #header {
    height: 70px;
  }
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 0 0 0 20px;
  box-sizing: border-box;
}
@media (min-width: 960px) {
  .header-inner {
    padding-left: 2.35vw;
  }
}

/* #header-offcanvas-btn
--------------------------------- */
#header-offcanvas-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  aspect-ratio: 1;
  background-color: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
#header-offcanvas-btn div {
  width: 25px;
  height: 16px;
  position: relative;
}
#header-offcanvas-btn span {
  width: 25px;
  height: 2px;
  display: block;
  background-color: #4DA74C;
  position: absolute;
  top: 0;
  left: 0;
}
#header-offcanvas-btn span:nth-of-type(2) {
  top: 50%;
  margin-top: -1px;
}
#header-offcanvas-btn span:nth-of-type(3) {
  top: auto;
  bottom: 0;
}

/* header-logo-area
--------------------------------- */
.header-logo-area {
  display: flex;
  align-items: center;
  gap: 12px;
}

.header-logo {
  display: block;
}
.header-logo img {
  height: 28px;
  width: auto;
}
@media (min-width: 960px) {
  .header-logo img {
    height: 36px;
  }
}

.header-produce {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-size: 0.6666666667rem;
  color: #999;
  letter-spacing: 0.05em;
}
.header-produce img {
  height: 20px;
  width: auto;
}
@media (min-width: 960px) {
  .header-produce img {
    height: 24px;
  }
}

/* header-nav
--------------------------------- */
.header-nav {
  display: flex;
  align-items: center;
  height: 100%;
}

.header-gnav {
  display: flex;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-gnav li {
  border-left: 1px solid #EEF4E1;
}

.header-gnav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 2em;
  font-size: 14px;
  font-size: 0.9333333333rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #333333;
  white-space: nowrap;
}
.header-gnav-link:hover {
  background-color: #EEF4E1;
}
.header-gnav-link-form {
  background-color: #EEF4E1;
  gap: 0.4em;
}
.header-gnav-link-form::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 14px;
  background: url(../img/common/parts/icon_envelope_b.svg) center/contain no-repeat;
}
.header-gnav-link-form:hover {
  background-color: #D9E8C6;
}
.header-gnav-link-primary {
  background-color: rgba(253, 212, 36, 0.82);
}
.header-gnav-link-primary:hover {
  background-color: rgba(233, 192, 16, 0.9);
}

/* gnav
====================================== */
.gnav-list {
  display: flex;
  align-items: center;
}
@media (min-width: 960px) {
  .gnav-list {
    gap: 2.35vw;
  }
}

.gnav-item > a {
  line-height: 46px;
  font-weight: 700;
  display: block;
  letter-spacing: 0.15em;
}
.gnav-item-contact > a {
  background-color: #3B9154;
  color: #fff;
  text-align: center;
  position: relative;
  letter-spacing: 0.1em;
}
@media (min-width: 960px) {
  .gnav-item-contact > a {
    width: 130px;
    padding-right: 10px;
  }
}
.gnav-item-contact > a:after {
  content: "";
  display: block;
  width: 16px;
  height: 6.03px;
  background-image: url(../img/common/parts/icon_arrow_right_w.svg);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: auto 6.03px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

/* #lnav
====================================== */
#lnav-01 {
  width: 100%;
}

.lnav-list {
  display: flex;
  flex-direction: column;
}
.lnav-list .lnav-item a {
  display: flex;
  text-align: center;
  height: 64px;
  background-color: #fff;
  font-size: 14px;
  font-size: 0.9333333333rem;
  font-weight: 700;
  position: relative;
  color: #333333;
  justify-content: center;
  align-items: center;
  line-height: 1.3;
  padding: 0 0.5em;
  padding-right: 2em;
}
.lnav-list .lnav-item a:hover {
  background-color: #EEF4E1;
}
.lnav-list .lnav-item a .uk-icon {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  color: #337F32;
  font-size: 20px;
  font-size: 1.3333333333rem;
}
.lnav-list .lnav-item.current a {
  background-color: #EEF4E1;
}
.lnav-list .lnav-item + li {
  border-top: 1px solid #EEF4E1;
}
.lnav-list .lnav-item-form a {
  background-color: rgba(253, 212, 36, 0.82);
  -webkit-backdrop-filter: blur(6px) brightness(68%);
  backdrop-filter: blur(6px) brightness(68%);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8em;
}
.lnav-list .lnav-item-form a:before {
  content: "";
  display: inline-block;
  width: 29.81px;
  height: 20.78px;
  background-image: url(../img/common/parts/icon_envelope_b.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.lnav-list .lnav-item-form a .uk-icon {
  color: #000;
}
.lnav-list .lnav-item-form-w a {
  background-color: #fff;
  -webkit-backdrop-filter: unset;
  backdrop-filter: unset;
}

/* #footer
====================================== */
.cta-keibi {
  padding-top: 70px;
  background-color: #EEF4E1;
}
@media (min-width: 960px) {
  .cta-keibi {
    padding-top: 80px;
  }
}

footer#footer {
  background-color: #EEF4E1;
}

.keibi-copyright {
  padding: 1.5em 0;
  border-top: 1px solid #ccc;
}

/* footer-logo
====================================== */
#footer-logo {
  padding-bottom: 17.5px;
}
@media (min-width: 960px) {
  #footer-logo {
    padding-bottom: 28px;
  }
}
#footer-logo a {
  display: block;
  width: 61.17vw;
  max-width: 306px;
}
@media (max-width: 959px) {
  #footer-logo a {
    margin-left: auto;
    margin-right: auto;
  }
}
#footer-logo a img {
  width: 100%;
  height: auto;
}

/* footer-head
====================================== */
/* footer-body
====================================== */
#footer-body {
  padding: 124.5px 20px 35px 20px;
  background-color: #fff;
}
@media (max-width: 959px) {
  #footer-body {
    text-align: center;
  }
}
@media (min-width: 960px) {
  #footer-body {
    align-items: flex-end;
    justify-content: space-between;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-top: 195px;
    padding-left: 2.35vw;
    padding-right: 2.35vw;
  }
}
@media (min-width: 1200px) {
  #footer-body {
    grid-template-columns: 325px auto;
  }
}
@media screen and (min-width: 1500px) {
  #footer-body {
    grid-template-columns: calc(100% - 1040px) auto;
  }
}

.fnav-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  -moz-column-gap: 20px;
  column-gap: 20px;
}
@media (max-width: 959px) {
  .fnav-list {
    justify-content: center;
  }
}
@media (min-width: 1200px) {
  .fnav-list {
    justify-content: space-between;
    padding-left: 20px;
  }
}
@media screen and (min-width: 1400px) {
  .fnav-list {
    width: 1000px;
    margin-left: auto;
    margin-right: 0;
  }
}

.fnav-item > a:not([class]) {
  line-height: 46px;
  font-weight: 700;
  display: block;
  letter-spacing: 0.15em;
}
@media (max-width: 959px) {
  .fnav-item-contact {
    display: inline-block;
  }
}
.fnav-item-contact .com-btn-01 {
  padding-left: 1.5em;
  padding-right: 40px;
}

.footer-about {
  font-weight: 500;
  letter-spacing: 0.2em;
  font-size: 13px;
  font-size: 0.8666666667rem;
}
@media (max-width: 959px) {
  .footer-about {
    padding-bottom: 35px;
  }
}
.footer-about .company-name {
  display: inline-block;
  margin-bottom: 17.5px;
  font-size: 16px;
  font-size: 1.0666666667rem;
}
@media (min-width: 960px) {
  .footer-about .company-name {
    margin-bottom: 13px;
  }
}

/* footer-foot
====================================== */
#footer-foot {
  padding: 40px 20px 244px 20px;
  background-color: #000;
}
@media (min-width: 960px) {
  #footer-foot {
    padding: 27px 2.35vw 340px;
  }
}

/* parts
====================================== */
/* pagetop
-------------------------------------- */
.pagetop {
  font-size: 10px;
  font-size: 0.6666666667rem;
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 100;
}

/* footer-nav
-------------------------------------- */
/* .copyright
--------------------------------- */
.copyright {
  display: block;
  font-size: 11px;
  font-size: 0.7333333333rem;
  color: #888;
  letter-spacing: 0.12em;
  font-weight: 400;
  text-align: center;
  padding: 20px 0;
  border-top: 1px solid #ddd;
  margin: 0;
}

.uk-offcanvas-bar {
  background: #fff;
  padding: 0;
  top: 60px;
}
@media (min-width: 960px) {
  .uk-offcanvas-bar {
    top: 70px;
  }
}

.uk-nav > li:not(.contact) {
  border-bottom: 1px solid #C1C1C1;
}
.uk-nav > li:not(.contact) a {
  padding: 1em;
  color: #000 !important;
  font-size: 18px;
  font-size: 1.2rem;
  justify-content: center;
  font-weight: 700;
  position: relative;
  letter-spacing: 0.1em;
}
.uk-nav > li:not(.contact) a:after {
  content: "";
  display: block;
  width: 31px;
  height: 6.03px;
  background-image: url(../img/common/parts/icon_arrow_right_b.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
.uk-nav > li.contact {
  padding: 30px 20px 0;
}
.uk-nav > li.contact a {
  background-color: #3B9154;
  padding: 0.5em 1em;
  font-size: 15px;
  font-size: 1rem;
  justify-content: center;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
}
.uk-nav > li.contact a:after {
  content: "";
  display: block;
  width: 16px;
  height: 6.03px;
  background-image: url(../img/common/parts/icon_arrow_right_w.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* section
====================================== */
/* parts
--------------------------------- */
@media (max-width: 639px) {
  .uk-container {
    padding-right: 20px;
    padding-left: 20px;
  }
}

#banner-keibi {
  z-index: 100;
}
@media (min-width: 640px) {
  #banner-keibi {
    right: auto;
    padding: 10px;
  }
}
#banner-keibi a {
  display: inline-block;
}
@media (max-width: 639px) {
  #banner-keibi img {
    max-width: 100%;
  }
}

.com-label-01 {
  background-color: #fff;
  border: 3px solid #fff;
  font-weight: 700;
  line-height: 38px;
  border-radius: 30px;
  font-size: 16px;
  font-size: 1.0666666667rem;
}
@media (min-width: 640px) {
  .com-label-01 {
    line-height: 47px;
    font-size: 20px;
    font-size: 1.3333333333rem;
  }
}
@media (min-width: 1200px) {
  .com-label-01 {
    font-size: 22px;
    font-size: 1.4666666667rem;
    display: inline-block;
  }
}
.com-label-01 + .com-label-01 {
  margin-top: 8px;
}
@media (min-width: 960px) {
  .com-label-01 + .com-label-01 {
    margin-top: 12px;
  }
}
@media (min-width: 1200px) {
  .com-label-01 + .com-label-01 {
    margin-top: 16px;
  }
}
.com-label-01.-green {
  background-color: #3B9154;
  border-color: #3B9154;
  color: #fff;
}
.com-label-01.-blue-line {
  border-color: #4893E5;
  color: #4893E5;
}
.com-label-01.-red-line {
  border-color: #DD3A19;
  color: #DD3A19;
}

.com-cat-list-01 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
}
.com-cat-list-01 > * {
  font-size: 14px;
  font-size: 0.9333333333rem;
  line-height: 1;
  font-weight: 500;
  border-radius: 6px;
  border: 1px solid currentColor;
  padding: 0.5em 0.9em;
  text-align: center;
}

.com-grid-20 {
  margin-left: -20px;
}
.com-grid-20 > .uk-grid-margin {
  margin-top: 20px;
}
.com-grid-20 > * {
  padding-left: 20px;
}

.com-embeded-video .video-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  position: relative;
}
.com-embeded-video .video-wrap iframe, .com-embeded-video .video-wrap video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* title タイトル
--------------------------------- */
.page-tit-02 {
  background: #3b9154; /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(135deg, #3b9154 0%, #238840 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#3b9154", endColorstr="#238840",GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
  padding-top: 0;
  padding-bottom: 0;
}
.page-tit-02 .uk-container {
  min-height: 160px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
@media (max-width: 959px) {
  .page-tit-02 .uk-container {
    justify-content: center;
  }
}
@media (min-width: 960px) {
  .page-tit-02 .uk-container {
    min-height: 180px;
  }
}
.page-tit-02 .title {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media (max-width: 959px) {
  .page-tit-02 .title {
    flex-direction: column;
  }
}
@media (min-width: 960px) {
  .page-tit-02 .title {
    gap: 32px;
  }
}
.page-tit-02 .logo {
  width: 73%;
  max-width: 315px;
}
@media (max-width: 959px) {
  .page-tit-02 .logo {
    margin-left: auto;
    margin-right: auto;
  }
}
.page-tit-02 .ja {
  color: #fff;
  font-size: 22px;
  font-size: 1.4666666667rem;
  font-weight: 700;
}
@media (min-width: 960px) {
  .page-tit-02 .ja {
    font-size: 32px;
    font-size: 2.1333333333rem;
  }
}

.com-tit-06 {
  font-size: 28px;
  font-size: 1.8666666667rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 5;
}
@media (min-width: 960px) {
  .com-tit-06 {
    font-size: 37px;
    font-size: 2.4666666667rem;
  }
}
.com-tit-06:after {
  content: "";
  display: block;
  width: 71px;
  height: 3px;
  background-color: #DD3A19;
  margin-top: 16px;
}
@media (min-width: 960px) {
  .com-tit-06:after {
    margin-top: 20px;
  }
}
.com-tit-06.-blue:after {
  background-color: #4893E5;
}
.com-tit-06.uk-text-center:after {
  margin-left: auto;
  margin-right: auto;
}
.com-tit-06 + p {
  position: relative;
  z-index: 5;
  font-weight: 500;
}
@media (min-width: 960px) {
  .com-tit-06 + p {
    font-size: 18px;
    font-size: 1.2rem;
  }
}

/* margin 余白調整
--------------------------------- */
.com-mt-s {
  margin-top: 20px;
}
@media (min-width: 640px) {
  .com-mt-s {
    margin-top: 30px;
  }
}

.com-mt-m {
  margin-top: 40px;
}
@media (min-width: 640px) {
  .com-mt-m {
    margin-top: 60px;
  }
}

.com-mt-1em {
  margin-top: 1em;
}

/* list style リストスタイル
--------------------------------- */
.post-detail ul li, .com-list-01 li {
  padding-left: 1.2em;
}
.post-detail ul li::before, .com-list-01 li::before {
  content: "・";
  display: inline-block;
  width: 1.2em;
  margin-left: -1.2em;
}
.post-detail ul li + li, .com-list-01 li + li {
  margin-top: 0.4em;
}
.post-detail ul.notice li::before, .notice.com-list-01 li::before {
  content: "※";
}
.post-detail ul.circle li::before, .circle.com-list-01 li::before {
  content: "●";
}
.post-detail ul.square li::before, .square.com-list-01 li::before {
  content: "■";
}

.com-list-04 li {
  font-size: 14px;
  font-size: 0.9333333333rem;
  color: #4893E5;
  font-weight: 700;
  display: flex;
  gap: 0.5em;
  line-height: 1.6;
}
@media (min-width: 640px) {
  .com-list-04 li {
    font-size: 24px;
    font-size: 1.6rem;
  }
}
.com-list-04 li:before {
  content: "";
  display: inline-block;
  width: 25.57px;
  height: 23.35px;
  background-image: url(../img/common/parts/icon_check.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 640px) {
  .com-list-04 li:before {
    width: 37.7px;
    height: 35.83px;
  }
}
.com-list-04 li + li {
  margin-top: 0.8em;
}

/* font-size フォントサイズ
--------------------------------- */
.com-fz-10 {
  font-size: 10px;
  font-size: 0.6666666667rem;
}

.com-fz-11 {
  font-size: 11px;
  font-size: 0.7333333333rem;
}

.com-fz-12 {
  font-size: 12px;
  font-size: 0.8rem;
}

.com-fz-13 {
  font-size: 13px;
  font-size: 0.8666666667rem;
}

.com-fz-14 {
  font-size: 14px;
  font-size: 0.9333333333rem;
}

.com-fz-15 {
  font-size: 15px;
  font-size: 1rem;
}

.com-fz-16 {
  font-size: 16px;
  font-size: 1.0666666667rem;
}

.com-fz-17 {
  font-size: 17px;
  font-size: 1.1333333333rem;
}

.com-fz-18 {
  font-size: 18px;
  font-size: 1.2rem;
}

.com-fz-19 {
  font-size: 19px;
  font-size: 1.2666666667rem;
}

.com-fz-20 {
  font-size: 20px;
  font-size: 1.3333333333rem;
}

.com-fz-21 {
  font-size: 21px;
  font-size: 1.4rem;
}

.com-fz-22 {
  font-size: 22px;
  font-size: 1.4666666667rem;
}

.com-fz-23 {
  font-size: 23px;
  font-size: 1.5333333333rem;
}

.com-fz-24 {
  font-size: 24px;
  font-size: 1.6rem;
}

.com-fz-25 {
  font-size: 25px;
  font-size: 1.6666666667rem;
}

.com-fz-26 {
  font-size: 26px;
  font-size: 1.7333333333rem;
}

.com-fz-27 {
  font-size: 27px;
  font-size: 1.8rem;
}

.com-fz-28 {
  font-size: 28px;
  font-size: 1.8666666667rem;
}

.com-fz-29 {
  font-size: 29px;
  font-size: 1.9333333333rem;
}

.com-fz-30 {
  font-size: 30px;
  font-size: 2rem;
}

.com-fz-31 {
  font-size: 31px;
  font-size: 2.0666666667rem;
}

.com-fz-32 {
  font-size: 32px;
  font-size: 2.1333333333rem;
}

.com-fz-33 {
  font-size: 33px;
  font-size: 2.2rem;
}

.com-fz-34 {
  font-size: 34px;
  font-size: 2.2666666667rem;
}

.com-fz-35 {
  font-size: 35px;
  font-size: 2.3333333333rem;
}

/* リンク
--------------------------------- */
.com-btn-02 {
  display: block;
  text-align: center;
  background-color: #4893E5;
  border-radius: 20px;
  line-height: 70px;
}
.com-btn-02 span {
  color: #fff;
  font-size: 20px;
  font-size: 1.3333333333rem;
  font-weight: 700;
}

.com-btn-03 {
  display: inline-block;
  background-color: #3B9154;
  line-height: 37px;
  padding: 0 30px;
  text-align: center;
  border-radius: 20px;
}
@media (min-width: 960px) {
  .com-btn-03 {
    line-height: 32px;
  }
}
.com-btn-03 span {
  color: #fff;
  font-weight: 500;
}

.com-btn-04 {
  display: block;
  text-align: center;
  background-color: #FADB4A;
  border-radius: 15px;
  line-height: 64px;
  position: relative;
}
@media (min-width: 960px) {
  .com-btn-04 {
    line-height: 80px;
  }
}
.com-btn-04 span:not([class]) {
  font-size: 18px;
  font-size: 1.2rem;
  font-weight: 700;
}
@media (min-width: 960px) {
  .com-btn-04 span:not([class]) {
    font-size: 24px;
    font-size: 1.6rem;
  }
}
.com-btn-04 .uk-icon {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

.com-btn-pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 0;
  opacity: 0;
  transition: opacity 0.3s;
}
.com-btn-pagetop a {
  display: block;
  padding: 16px 20px;
}
@media screen and (max-width: 500px) {
  .com-btn-pagetop:not(.keibi) {
    bottom: 16vw;
  }
}
.com-btn-pagetop.scrolling {
  opacity: 1;
  z-index: 120;
}

/* dl table
--------------------------------- */
#contact-02 {
  border-top: 1px solid #989898;
}

@media (max-width: 639px) {
  .form-table-01 {
    border-bottom: 1px solid #989898;
  }
}
@media (min-width: 640px) {
  .form-table-01 {
    display: grid;
    grid-template-columns: 200px 1fr;
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
}
@media (min-width: 960px) {
  .form-table-01 {
    -moz-column-gap: 40px;
    column-gap: 40px;
    grid-template-columns: 292px 1fr;
  }
}
.form-table-01 > dt {
  padding: 1.5em 0 1em;
  font-weight: 500;
  position: relative;
  border-top: 1px solid #989898;
}
@media (min-width: 640px) {
  .form-table-01 > dt {
    padding-top: 2em;
    padding-bottom: 2em;
    border-top: 1px solid #989898;
  }
  .form-table-01 > dt:last-of-type {
    border-bottom: 1px solid #989898;
  }
}
.form-table-01 .required:before {
  content: "必須";
  float: right;
  font-size: 11px;
  font-size: 0.7333333333rem;
  background: #4DA74C;
  color: #fff;
  padding: 0.2em 0.8em;
  margin-left: 1em;
}
.form-table-01 .required.-light:before {
  background: #8DC21F;
}
.form-table-01 > dd {
  padding-bottom: 2em;
}
@media (min-width: 640px) {
  .form-table-01 > dd {
    padding-top: 2em;
    border-top: 1px solid #989898;
  }
  .form-table-01 > dd:last-of-type {
    border-bottom: 1px solid #989898;
  }
}
@media (min-width: 960px) {
  .form-table-01 .form-set {
    display: flex;
    align-items: center;
  }
}
.form-table-01 .form-set .form-label {
  flex-basis: 80px;
}
.form-table-01 .form-set .wpcf7-form-control-wrap {
  flex: 1 0 auto;
}
.form-table-01 .form-set + .form-set {
  margin-top: 5px;
}
.form-table-01 .checkbox-list .wpcf7-form-control.wpcf7-checkbox {
  display: grid;
  max-width: 100%;
  grid-template-columns: 1fr 1fr;
  gap: 0 10px;
  margin: 0;
}
@media (min-width: 640px) {
  .form-table-01 .checkbox-list .wpcf7-form-control.wpcf7-checkbox {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 960px) {
  .form-table-01 .checkbox-list .wpcf7-form-control.wpcf7-checkbox {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.form-table-01 .checkbox-list .wpcf7-list-item {
  margin: 0;
}
.form-table-01 .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

@media (min-width: 960px) {
  .form-table-02 {
    display: grid;
    grid-gap: 1em;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
  }
}
@media (max-width: 959px) {
  .form-table-02 dd + dt {
    margin-top: 1em;
  }
}

.form-btn-01 {
  width: 100%;
  display: block;
  margin-bottom: 0;
  padding: 1em 2em 1em 2em;
  color: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  position: relative;
}
@media (min-width: 960px) {
  .form-btn-01 {
    max-width: 336px;
  }
}
.form-btn-01:disabled {
  background-color: #ccc;
}

.form-icon-required {
  display: inline-block;
  font-size: 11px;
  font-size: 0.7333333333rem;
  background: #4DA74C;
  color: #fff;
  padding: 0.2em 0.8em;
  margin-right: 1em;
}
.form-icon-required.-light {
  background: #8DC21F;
}

.wpcf7-radio,
.wpcf7-checkbox {
  margin-left: -1em;
}

input[type=radio] {
  position: relative;
  vertical-align: middle;
  -webkit-appearance: none;
  border: 1px solid #cccccc;
  background-position: 50% 50%;
  width: 18px;
  height: 18px;
  display: inline-block;
  border-radius: 50%;
  outline: none;
  margin: 0 5px 0 0;
}
input[type=radio]:checked {
  border-color: #4DA74C;
  border-width: 2px;
}
input[type=radio]:checked:after {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  background-color: #4DA74C;
  border-radius: 50%;
}
input[type=radio] label {
  display: inline-block;
}

input[type=checkbox] {
  margin: 0 5px 0 0;
  width: 18px;
  height: 18px;
  border: 2px solid #686868;
  vertical-align: middle;
  -webkit-appearance: none;
  display: inline-block;
  outline: none;
}
input[type=checkbox]:checked {
  position: relative;
  background-color: #686868;
}
input[type=checkbox]:checked:after {
  content: "";
  display: block;
  width: 7px;
  height: 13px;
  border: 2px solid #fff;
  box-sizing: border-box;
  border-top: none;
  border-left: 0;
  transform: rotate(45deg);
  position: absolute;
  top: -2px;
  left: 5px;
}
input[type=checkbox] label {
  display: inline-block;
}

.wpcf7-select-wrap {
  position: relative;
}
.wpcf7-select-wrap:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 4px 6px 4px;
  border-color: transparent transparent #696969 transparent;
  position: absolute;
  top: 30%;
  right: 6.5px;
  transform: translateY(-50%);
}
.wpcf7-select-wrap:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 4px 6px 4px;
  border-color: transparent transparent #696969 transparent;
  position: absolute;
  bottom: 20%;
  right: 6.5px;
  transform: translateY(50%) rotate(180deg);
}
.wpcf7-select-wrap select {
  width: auto;
  min-width: 60%;
  padding-right: 25px;
}

.wpcf7-submit-wrap {
  display: block;
  position: relative;
  height: 56px;
}
@media (min-width: 640px) {
  .wpcf7-submit-wrap {
    width: 336px;
    display: inline-block;
  }
}
.wpcf7-submit-wrap:after {
  content: "";
  display: block;
  width: 31px;
  height: 6.03px;
  background-image: url(../img/common/parts/icon_arrow_right_w.svg);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
}

/* list
--------------------------------- */
.thanks-panel-01 {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  border-top: 1px solid #989898;
  border-bottom: 1px solid #989898;
}

/* post-detail 本文タイポグラフィ
フロント (.post-detail) とブロックエディタ (.editor-styles-wrapper) で共通利用
================================================================= */
/* common
====================================== */
article.article-keibi {
  background-color: #EEF4E1;
  overflow: hidden;
}

#keibi-cta {
  background-color: #4893E5;
  position: relative;
  padding-top: 70px;
}
#keibi-cta h2 {
  margin: 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
@media (max-width: 959px) {
  #keibi-cta h2 {
    width: calc(100% - 40px);
  }
}
#keibi-cta h2 span {
  display: block;
  background-color: #fff;
  font-weight: 700;
  color: #4893E5;
  border-radius: 50px;
  line-height: 1.6;
  font-size: 15px;
  font-size: 1rem;
  padding: 15px 10px;
  white-space: nowrap;
}
@media (min-width: 640px) {
  #keibi-cta h2 span {
    font-size: 22px;
    font-size: 1.4666666667rem;
  }
}
@media (min-width: 960px) {
  #keibi-cta h2 span {
    display: inline-block;
    padding: 15px 40px;
    font-size: 25px;
    font-size: 1.6666666667rem;
  }
}
@media (max-width: 959px) {
  #keibi-cta .capture {
    padding: 30px 0 20px;
  }
}
#keibi-cta .contact {
  color: #fff;
}
@media (max-width: 959px) {
  #keibi-cta .contact {
    width: 100%;
  }
}
@media (min-width: 960px) {
  #keibi-cta .contact {
    padding-left: 20px;
  }
}
#keibi-cta .contact .text {
  display: inline-block;
  font-size: 14px;
  font-size: 0.9333333333rem;
  font-weight: 500;
}
@media (min-width: 960px) {
  #keibi-cta .contact .text {
    font-size: 18px;
    font-size: 1.2rem;
  }
}
#keibi-cta .contact a[href^="tel:"] {
  font-size: 10vw;
  letter-spacing: 0.07em;
  color: #fff;
  font-weight: 700;
  background-image: url(../img/common/parts/icon_phone.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 24.3px auto;
  padding-left: 30px;
}
@media (min-width: 640px) {
  #keibi-cta .contact a[href^="tel:"] {
    padding-left: 38px;
    font-size: 48px;
    font-size: 3.2rem;
    background-size: 30px auto;
    pointer-events: none;
  }
}
#keibi-cta .contact .com-btn-04 span:not([class]) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
#keibi-cta .contact .com-btn-04 span:not([class]):before {
  content: "";
  display: inline-block;
  width: 29.81px;
  height: 20.78px;
  background-image: url(../img/common/parts/icon_envelope_b.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#keibi-info {
  padding-top: 50px;
  padding-bottom: 50px;
}
#keibi-info img {
  width: 90%;
  max-width: 146px;
}
#keibi-info p {
  letter-spacing: 0.05em;
  line-height: 1.6;
}

.keibi-box {
  background-color: #fff;
  padding: 30px 20px 30px;
  border-radius: 20px;
  box-sizing: border-box;
  position: relative;
  z-index: 5;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.16);
  margin-top: 15px;
}
@media (min-width: 640px) {
  .keibi-box {
    padding: 40px;
  }
}
@media (min-width: 960px) {
  .keibi-box {
    margin-top: 50px;
  }
}
@media (min-width: 1200px) {
  .keibi-box {
    padding: 90px;
  }
}
.keibi-box.-narrow {
  padding: 20px;
}
@media (min-width: 640px) {
  .keibi-box.-narrow {
    padding: 20px;
  }
}
@media (min-width: 1200px) {
  .keibi-box.-narrow {
    padding: 20px;
  }
}
.keibi-box + .keibi-box {
  margin-top: 42px;
}
@media (min-width: 960px) {
  .keibi-box + .keibi-box {
    margin-top: 73px;
  }
}

.keibi-price {
  display: inline-block;
  font-size: 18px;
  font-size: 1.2rem;
  line-height: 1.2;
}
@media (min-width: 960px) {
  .keibi-price {
    font-size: 35px;
    font-size: 2.3333333333rem;
    padding: 20px 0;
  }
}
.keibi-price small {
  font-size: 0.657em;
}

@media (min-width: 960px) {
  .keibi-faq {
    padding: 50px;
  }
}
.keibi-faq .icon {
  display: inline-block;
  width: 27px;
  line-height: 27px;
  text-align: center;
  font-size: 16px;
  font-size: 1.0666666667rem;
  font-weight: 700;
  border-radius: 50%;
}
@media (min-width: 960px) {
  .keibi-faq .icon {
    width: 47px;
    line-height: 47px;
    font-size: 28px;
    font-size: 1.8666666667rem;
  }
}
.keibi-faq .icon-quest {
  background-color: #3B9154;
  transform: translateY(-0.25em);
  color: #fff;
}
.keibi-faq .icon-ans {
  color: #4893E5;
}
@media (min-width: 960px) {
  .keibi-faq .icon-ans {
    transform: translateY(-0.25em);
  }
}
.keibi-faq .uk-divider:after {
  content: "";
  display: block;
  width: 100%;
  border-top: 1px solid #D1D1D1;
}
.keibi-faq h2 {
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.4;
  font-size: 15px;
  font-size: 1rem;
}
@media (min-width: 960px) {
  .keibi-faq h2 {
    font-size: 25px;
    font-size: 1.6666666667rem;
  }
}
.keibi-faq p {
  letter-spacing: 0;
}
.keibi-faq p a {
  color: #4893E5;
  text-decoration: underline;
}
.keibi-faq p a:hover {
  text-decoration: none;
}

/* contents
====================================== */
.keibi-mv {
  padding: 20px;
  text-align: center;
  background-color: #EEF4E1;
  background-image: url(../img/front-page/mv_01_sp.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: relative;
}
@media (min-width: 1200px) {
  .keibi-mv {
    background-image: url(../img/front-page/mv_05.png), url(../img/front-page/mv_06.png), url(../img/front-page/mv_01.jpg);
    background-size: 25vw auto, 25vw auto, cover;
    background-position: left bottom 26%, right bottom 26%, bottom center;
    padding: 70px 0 50px;
  }
}
@media screen and (min-width: 1500px) {
  .keibi-mv {
    background-size: 30vw auto, 30vw auto, cover;
    background-position: left bottom, right bottom, bottom center;
  }
}
.keibi-mv .copy {
  color: #4276B2;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 18px;
  font-size: 1.2rem;
}
@media (min-width: 960px) {
  .keibi-mv .copy {
    font-size: 28px;
    font-size: 1.8666666667rem;
  }
}
.keibi-mv .tagline {
  color: #3B9154;
  letter-spacing: 0.05em;
  font-weight: 900;
}
.keibi-mv .em {
  display: inline-block;
  padding-top: 0.3em;
  font-weight: 900;
  background-image: url(../img/front-page/mv_04.png);
  background-position: top left 0.3em;
  background-repeat: repeat-x;
  background-size: auto 8px;
}
@media (min-width: 960px) {
  .keibi-mv .em {
    background-size: auto 14px;
  }
}
@media (min-width: 960px) {
  .keibi-mv .patent {
    max-width: 300px;
    margin-inline: auto;
  }
}
.keibi-mv-title {
  display: flex;
  flex-direction: column;
  gap: 20px;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .keibi-mv-title {
    gap: 40px;
  }
}
.keibi-mv-title .tagline {
  font-size: 23px;
  font-size: 1.5333333333rem;
}
@media (min-width: 960px) {
  .keibi-mv-title .tagline {
    font-size: 43px;
    font-size: 2.8666666667rem;
  }
}
.keibi-mv-title .rubi {
  color: #3B9154;
  font-size: 12px;
  font-size: 0.8rem;
  letter-spacing: 0.76em;
  font-weight: 700;
}
@media (min-width: 960px) {
  .keibi-mv-title .rubi {
    font-size: 18px;
    font-size: 1.2rem;
    letter-spacing: 1em;
  }
}
.keibi-mv-title .logo {
  width: 100%;
  max-width: 710px;
  margin-left: auto;
  margin-right: auto;
  transform: translateY(-25%);
}
.keibi-mv-text {
  display: flex;
  flex-direction: column;
}
.keibi-mv-text .tagline {
  font-size: 23px;
  font-size: 1.5333333333rem;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .keibi-mv-text .tagline {
    font-size: 48px;
    font-size: 3.2rem;
  }
}
@media (min-width: 960px) {
  .keibi-mv-text .em {
    background-size: auto 15px;
  }
}
.keibi-mv-produce {
  right: auto;
}
.keibi-mv-produce span {
  display: inline-block;
  margin-bottom: 5px;
  color: #3B9154;
  font-size: 13px;
  font-size: 0.8666666667rem;
  font-weight: 700;
}
.keibi-mv-produce img {
  max-width: 155.44px;
}
.keibi-mv-functions {
  /* for Smartphone */
}
@media (max-width: 1199px) {
  .keibi-mv-functions .img {
    margin-left: -20px;
    margin-right: -20px;
  }
}
@media screen and (min-width: 600px) {
  .keibi-mv-functions .img {
    max-width: 70%;
  }
}
.keibi-mv-functions .list-functions li {
  position: relative;
  z-index: 5;
}
@media (min-width: 640px) {
  .keibi-mv-functions .list-functions li.com-label-01 {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 1200px) {
  .keibi-mv-functions .list-functions li:nth-of-type(2):before {
    content: "";
    display: block;
    width: 34px;
    height: 4px;
    background-color: #4893E5;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(6px, -50%);
  }
}
@media screen and (min-width: 1200px) and (min-width: 1200px) {
  .keibi-mv-functions .list-functions li:nth-of-type(2):before {
    width: 58px;
    transform: translate(12px, -50%);
  }
}
@media (min-width: 1200px) {
  .keibi-mv-functions .list-functions li:nth-of-type(2):after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 20px 12px 0;
    border-color: transparent #4893E5 transparent transparent;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(4px, -50%);
  }
}
@media screen and (min-width: 1200px) and (min-width: 1200px) {
  .keibi-mv-functions .list-functions li:nth-of-type(2):after {
    border-width: 19px 27px 19px 0;
    transform: translate(10px, -50%);
  }
}
@media (min-width: 1200px) {
  .keibi-mv-functions .list-functions li:nth-of-type(3):before {
    content: "";
    display: block;
    width: 34px;
    height: 4px;
    background-color: #DD3A19;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
  }
}
@media screen and (min-width: 1200px) and (min-width: 1200px) {
  .keibi-mv-functions .list-functions li:nth-of-type(3):before {
    width: 58px;
    transform: translate(0, -50%);
  }
}
@media (min-width: 1200px) {
  .keibi-mv-functions .list-functions li:nth-of-type(3):after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 20px;
    border-color: transparent transparent transparent #DD3A19;
    position: absolute;
    top: 50%;
    left: 18px;
    transform: translate(0, -50%);
  }
}
@media screen and (min-width: 1200px) and (min-width: 1200px) {
  .keibi-mv-functions .list-functions li:nth-of-type(3):after {
    border-width: 19px 0 19px 27px;
    left: 33px;
  }
}
@media (min-width: 1200px) {
  .keibi-mv-functions .list-functions .-blue-line, .keibi-mv-functions .list-functions .-red-line {
    width: 234px;
  }
}
@media (min-width: 1200px) {
  .keibi-mv-functions .list-functions .-green {
    width: 454px;
  }
}
@media (min-width: 1200px) {
  .keibi-mv-functions .list-functions + .list-functions {
    margin-top: 15px;
  }
}
.keibi-mv-functions .office {
  padding-bottom: 10px;
}
.keibi-mv-functions .office .list-functions {
  transform: translateY(-30px);
  position: relative;
}
.keibi-mv-functions .office .list-functions:before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  position: absolute;
  top: 44px;
  left: 20%;
  background-color: #4893E5;
  z-index: 1;
}
.keibi-mv-functions .middle {
  position: relative;
}
.keibi-mv-functions .middle:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 14px 18px 14px;
  border-color: transparent transparent #3B9154 transparent;
  position: absolute;
  right: 20%;
  top: 0;
  transform: translate(calc(50% - 2px), -200%);
}
.keibi-mv-functions .middle:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 18px 14px 0 14px;
  border-color: #3B9154 transparent transparent transparent;
  position: absolute;
  left: 20%;
  bottom: 0;
  transform: translate(calc(-50% + 2px), 200%);
}
.keibi-mv-functions .middle .list-functions {
  position: relative;
}
.keibi-mv-functions .middle .list-functions:before {
  content: "";
  display: block;
  width: 4px;
  height: 90%;
  position: absolute;
  top: 44px;
  left: 20%;
  background-color: #3B9154;
  z-index: 1;
}
.keibi-mv-functions .middle .list-functions:after {
  content: "";
  display: block;
  width: 4px;
  height: 90%;
  position: absolute;
  bottom: 44px;
  right: 20%;
  background-color: #3B9154;
  z-index: 1;
}
.keibi-mv-functions .site {
  padding-top: 10px;
}
.keibi-mv-functions .site .list-functions {
  transform: translateY(30px);
  position: relative;
}
.keibi-mv-functions .site .list-functions:before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  position: absolute;
  bottom: 44px;
  right: 20%;
  background-color: #DD3A19;
  z-index: 1;
}
@media screen and (min-width: 600px) {
  .keibi-mv-functions .site .img {
    margin-left: auto;
  }
}

@media (min-width: 1200px) {
  .keibi-mv-fixed-btn {
    position: absolute;
    max-width: 17%;
    top: 40px;
    right: 40px;
  }
}
@media (min-width: 1200px) and (max-width: 1510px) {
  .keibi-mv-fixed-btn {
    max-width: 15%;
  }
}

#keibi-01 .uk-container-expand {
  position: relative;
}
#keibi-01 .logo img {
  max-width: 577.37px;
  width: calc(100% - 40px);
}
@media (min-width: 960px) {
  #keibi-01 .logo img {
    width: 34%;
    transform: translateX(33%);
  }
}
#keibi-01 h2 {
  text-align: center;
  font-size: 16px;
  font-size: 1.0666666667rem;
  font-weight: 700;
  color: #3B9154;
  margin-bottom: 1em;
  letter-spacing: 0.05em;
}
@media (min-width: 640px) {
  #keibi-01 h2 {
    font-size: 24px;
    font-size: 1.6rem;
  }
}
@media (min-width: 960px) {
  #keibi-01 h2 {
    width: 50%;
    margin-left: auto;
    margin-right: 0;
    position: relative;
    z-index: 5;
  }
}
@media (max-width: 959px) {
  #keibi-01 .img {
    padding-right: 20px;
    background: linear-gradient(180deg, transparent 0%, transparent 30%, #fff 70%, #fff 100%);
  }
}
@media (min-width: 960px) {
  #keibi-01 .img {
    width: 56%;
    position: absolute;
    top: 30px;
    left: 0;
    z-index: 1;
  }
}
#keibi-01 .text {
  background-color: #fff;
}
@media (max-width: 959px) {
  #keibi-01 .text {
    padding: 40px 20px;
  }
}
@media (min-width: 960px) {
  #keibi-01 .text {
    width: 48%;
    margin-left: auto;
    margin-right: 0;
    padding: 40px;
    position: relative;
    z-index: 5;
    box-sizing: border-box;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
  }
}
@media (min-width: 1200px) {
  #keibi-01 .text {
    padding: 40px 4.5% 40px 4%;
  }
}
#keibi-01 .text-item dt {
  display: grid;
  grid-template-columns: 14% auto;
  grid-template-areas: "icon title" "text text";
}
@media (min-width: 640px) {
  #keibi-01 .text-item dt {
    grid-template-columns: 16% auto;
    grid-template-areas: "icon title" "icon text";
  }
}
@media screen and (min-width: 1400px) {
  #keibi-01 .text-item dt {
    align-items: center;
  }
}
#keibi-01 .text-item dt img {
  grid-area: icon;
  width: 80%;
  max-width: 84px;
}
#keibi-01 .text-item dt h3 {
  grid-area: title;
  color: #3B9154;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.2rem;
  margin: 0;
}
@media (min-width: 960px) {
  #keibi-01 .text-item dt h3 {
    font-size: 30px;
    font-size: 2rem;
  }
}
#keibi-01 .text-item dt p {
  grid-area: text;
  color: #3B9154;
  font-weight: 500;
  letter-spacing: 0;
  font-size: 15px;
  font-size: 1rem;
  line-height: 1.4;
}
@media (max-width: 959px) {
  #keibi-01 .text-item dt p {
    margin-top: 0.8em;
  }
}
@media (min-width: 640px) {
  #keibi-01 .text-item dt p {
    margin-top: 0.5em;
    font-size: 20px;
    font-size: 1.3333333333rem;
  }
}
#keibi-01 .text-item dd {
  margin-top: 10px;
}
#keibi-01 .text-item + .text-item {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 4px dotted #E2E2E2;
}
@media (min-width: 960px) {
  #keibi-01 .text-item + .text-item {
    border-top: 6px dotted #E2E2E2;
  }
}

#keibi-02 {
  position: relative;
  padding-top: 60px;
}
@media (min-width: 960px) {
  #keibi-02 {
    padding-top: 100px;
  }
}
#keibi-02 .cloud {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
}
@media (min-width: 960px) {
  #keibi-02 .cloud {
    width: 70%;
    left: 50%;
    transform: translateX(-100%);
  }
}
@media (min-width: 1200px) {
  #keibi-02 .cloud {
    width: 60%;
    transform: translateX(-75%);
  }
}
#keibi-02 .uk-container {
  position: relative;
  z-index: 5;
}
@media (max-width: 959px) {
  #keibi-02 .uk-container {
    background: linear-gradient(180deg, transparent 0%, transparent 30vw, #fff 30vw, #fff 100%);
    padding-bottom: 50px;
    border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;
  }
}
@media (max-width: 959px) {
  #keibi-02 .logo {
    text-align: center;
  }
}
#keibi-02 .logo img {
  width: 100%;
  max-width: 550px;
}
#keibi-02 .badge {
  width: 27.5vw;
  position: absolute;
  top: 0;
  right: 20px;
  transform: translate(0, -105%);
}
@media (min-width: 640px) {
  #keibi-02 .badge {
    max-width: 18vw;
    transform: translate(0, -80%);
  }
}
@media (min-width: 960px) {
  #keibi-02 .badge {
    max-width: 14vw;
    right: auto;
    left: 50%;
    transform: translate(calc(-100% + 120px), -60%);
  }
}
@media (min-width: 1200px) {
  #keibi-02 .badge {
    max-width: 208px;
  }
}
#keibi-02 .text {
  padding: 2em 0 2.5em;
}
#keibi-02 .text p {
  line-height: 1.8;
}
@media (min-width: 960px) {
  #keibi-02 .text p + p {
    margin-top: 0;
  }
}
@media (min-width: 1200px) {
  #keibi-02 .icons {
    padding-left: 50px;
  }
}
#keibi-02 .icons span {
  font-size: 12px;
  font-size: 0.8rem;
  line-height: 1.6;
  display: inline-block;
  margin-top: 0.8em;
  font-weight: 500;
}
@media (min-width: 960px) {
  #keibi-02 .icons span {
    font-size: 18px;
    font-size: 1.2rem;
  }
}
@media (max-width: 959px) {
  #keibi-02 .heading {
    padding-bottom: 30px;
    background-image: url(../img/front-page/02_02_sp.svg);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
  }
}
@media (min-width: 640px) {
  #keibi-02 .heading {
    padding-bottom: 40px;
  }
}
#keibi-02 .heading h2 {
  color: #3B9154;
  margin-bottom: 0.35em;
}
@media (min-width: 960px) {
  #keibi-02 .heading h2 {
    font-size: 26px;
    font-size: 1.7333333333rem;
    margin-right: -50px;
    padding-bottom: 35px;
    background-image: url(../img/front-page/02_02.svg);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
  }
}
@media screen and (min-width: 1400px) {
  #keibi-02 .heading h2 {
    font-size: 32px;
    font-size: 2.1333333333rem;
  }
}
#keibi-02 .heading p {
  color: #3B9154;
  letter-spacing: 0;
}
@media (min-width: 960px) {
  #keibi-02 .heading p {
    font-size: 18px;
    font-size: 1.2rem;
  }
}

#keibi-03 {
  position: relative;
  overflow: hidden;
}
#keibi-03 .cloud {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
}
@media (min-width: 960px) {
  #keibi-03 .cloud {
    width: 70%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
@media (min-width: 1200px) {
  #keibi-03 .cloud {
    width: 60%;
    transform: translate(-25%, -50%);
  }
}
#keibi-03 .uk-container {
  position: relative;
  z-index: 5;
}
@media (max-width: 959px) {
  #keibi-03 .uk-container {
    background: linear-gradient(180deg, transparent 0%, transparent 30vw, #fff 30vw, #fff 100%);
    padding-bottom: 50px;
    border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;
  }
}
@media (max-width: 959px) {
  #keibi-03 .left {
    padding-top: 15px;
    padding-bottom: 5px;
    text-align: center;
  }
}
@media (min-width: 960px) {
  #keibi-03 .left .com-embeded-video {
    width: 80%;
  }
}
#keibi-03 .right {
  position: relative;
}
@media (min-width: 960px) {
  #keibi-03 .right > * {
    margin-left: 20px;
  }
}
@media (min-width: 640px) {
  #keibi-03 .right .text {
    padding-right: 23%;
  }
}
@media (min-width: 1200px) {
  #keibi-03 .right .text {
    padding-right: 0;
  }
}
@media (max-width: 959px) {
  #keibi-03 .logo {
    text-align: center;
  }
}
#keibi-03 .logo img {
  width: 100%;
  max-width: 550px;
}
#keibi-03 .badge {
  width: 30vw;
  max-width: 231px;
  position: absolute;
  top: 23vw;
  right: 0;
}
@media (min-width: 640px) {
  #keibi-03 .badge {
    width: 18vw;
    top: 50%;
  }
}
@media (min-width: 960px) {
  #keibi-03 .badge {
    max-width: 15vw;
    top: 50%;
    transform: translate(25%, -20%);
  }
}
@media screen and (min-width: 1400px) {
  #keibi-03 .badge {
    max-width: 231px;
  }
}
@media (max-width: 959px) {
  #keibi-03 .com-btn-03 {
    min-width: 260px;
    box-sizing: border-box;
  }
}
#keibi-03 p {
  letter-spacing: 0;
}
#keibi-03 .obi {
  padding: 5px 10px;
  line-height: 1.4;
}
@media (min-width: 640px) {
  #keibi-03 .obi {
    padding: 13.5px;
  }
}
#keibi-03 .obi span {
  display: inline-block;
  font-size: 16px;
  font-size: 1.0666666667rem;
  color: #fff;
  font-weight: 700;
}
@media (min-width: 640px) {
  #keibi-03 .obi span {
    font-size: 24px;
    font-size: 1.6rem;
  }
}
@media (min-width: 960px) {
  #keibi-03 .obi span {
    font-size: 28px;
    font-size: 1.8666666667rem;
  }
}
#keibi-03 .obi.red {
  background-color: #C11413;
  position: relative;
  text-align: center;
}
@media screen and (min-width: 1280px) {
  #keibi-03 .obi.red {
    transform: translateX(calc(50% + 30px));
    text-align: left;
  }
}
#keibi-03 .obi.red:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 1279px) {
  #keibi-03 .obi.red:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8px 10px 8px;
    border-color: transparent transparent #C11413 transparent;
    left: 50%;
    transform: translate(-50%, -100%);
  }
}
@media screen and (min-width: 1280px) {
  #keibi-03 .obi.red:after {
    width: 141px;
    height: 152px;
    background-image: url(../img/front-page/03_02.svg);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translate(-100%, calc(-100% + 66px));
  }
}
#keibi-03 .obi.red:before {
  content: "";
  display: block;
  height: 100%;
  background-color: #C11413;
  position: absolute;
  top: 0;
}
@media screen and (max-width: 1279px) {
  #keibi-03 .obi.red:before {
    width: 40px;
    left: 0;
    transform: translate(-100%, 0);
  }
}
@media (max-width: 639px) {
  #keibi-03 .obi.red:before {
    width: 20px;
  }
}
@media screen and (min-width: 1280px) {
  #keibi-03 .obi.red:before {
    display: none;
  }
}
#keibi-03 .obi.blue {
  background-color: #4893E5;
  position: relative;
}
@media screen and (max-width: 1279px) {
  #keibi-03 .obi.blue {
    margin-top: 16px;
    text-align: center;
  }
}
@media screen and (min-width: 1280px) {
  #keibi-03 .obi.blue {
    width: 90%;
    text-align: left;
  }
}
#keibi-03 .obi.blue:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 1279px) {
  #keibi-03 .obi.blue:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 8px 0 8px;
    border-color: #4893E5 transparent transparent transparent;
    left: 50%;
    transform: translate(-50%, 100%);
  }
}
@media screen and (min-width: 1280px) {
  #keibi-03 .obi.blue:after {
    width: 141px;
    height: 152px;
    background-image: url(../img/front-page/03_03.svg);
    background-position: top left;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translate(100%, 86px);
  }
}
#keibi-03 .obi.blue:before {
  content: "";
  display: block;
  height: 100%;
  background-color: #4893E5;
  position: absolute;
  top: 0;
}
@media screen and (max-width: 1279px) {
  #keibi-03 .obi.blue:before {
    width: 40px;
    right: 0;
    transform: translate(100%, 0);
  }
}
@media (max-width: 639px) {
  #keibi-03 .obi.blue:before {
    width: 20px;
  }
}
@media screen and (min-width: 1280px) {
  #keibi-03 .obi.blue:before {
    width: 50vw;
    left: 0;
    transform: translate(-100%, 0);
  }
}
@media screen and (max-width: 1279px) {
  #keibi-03 .obi-blue-wrap {
    width: 100% !important;
  }
}
#keibi-03 .com-list-04 {
  margin-top: 26px;
}
@media (min-width: 960px) {
  #keibi-03 .com-list-04 {
    width: 70%;
    margin-top: 50px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 1280px) {
  #keibi-03 .com-list-04 {
    width: auto;
    margin-left: 0;
    transform: translateX(40px);
  }
}

/* common
====================================== */
.function-img {
  position: absolute;
  top: 0;
  right: 0;
  width: 80%;
  max-width: 572px;
  transform: translate(28%, 35%);
  z-index: 0;
}
@media (min-width: 640px) {
  .function-img {
    transform: translate(8%, 0);
  }
}
.function-list h3 {
  font-size: 20px;
  font-size: 1.3333333333rem;
}
@media (min-width: 960px) {
  .function-list h3 {
    font-size: 23px;
    font-size: 1.5333333333rem;
  }
}
.function-list .example-item span {
  display: inline-block;
  font-weight: 500;
  font-size: 17px;
  font-size: 1.1333333333rem;
}
.function-list .example-item span.label {
  margin-right: 10px;
  color: #fff;
  background-color: #81B2E8;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  line-height: 35px;
  padding: 0 1em;
}
.function-list .example-item.staff span.label {
  background-color: #DD3A19;
}

/* common
====================================== */
.price-label {
  border-radius: 25px;
  overflow: hidden;
}
.price-label span {
  display: flex;
  height: 100%;
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
  color: #fff;
  line-height: 1.5;
  padding: 0.4em;
}
@media (min-width: 960px) {
  .price-label span {
    line-height: 50px;
    font-size: 20px;
    font-size: 1.3333333333rem;
  }
}
.price-label .label-blue {
  background-color: #4893E5;
}
.price-label .label-green {
  background-color: #4DA74C;
}
.price-label .label-red {
  background-color: #C10314;
}
.price-item {
  border-bottom: 1px solid #D1D1D1;
}
.price-item dl {
  margin-top: 10px !important;
  padding-bottom: 10px;
}
@media (min-width: 960px) {
  .price-item dl {
    margin-top: 20px !important;
    padding-bottom: 20px;
  }
}
.price-item dt {
  line-height: 1.3;
}
@media (min-width: 960px) {
  .price-item dt {
    font-size: 22px;
    font-size: 1.4666666667rem;
  }
}
.price-item dd {
  line-height: 1.3;
  font-size: 18px;
  font-size: 1.2rem;
}
@media (min-width: 960px) {
  .price-item dd {
    font-size: 24px;
    font-size: 1.6rem;
  }
}
.price-item dd small {
  font-size: 0.75em;
}

.price-arrow-01 {
  position: relative;
}
.price-arrow-01::after {
  content: "▶";
  line-height: 1;
  font-size: 15px;
  font-size: 1rem;
  color: #333333;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(100%, -50%);
}
@media (min-width: 640px) {
  .price-arrow-01::after {
    font-size: 20px;
    font-size: 1.3333333333rem;
  }
}
@media (min-width: 1200px) {
  .price-arrow-01::after {
    font-size: 25px;
    font-size: 1.6666666667rem;
  }
}

.demo-table-01 {
  background-color: #fff;
  border-radius: 10px;
  font-weight: 500;
  letter-spacing: 0.15em;
  padding: 20px;
  display: flex;
  gap: 20px;
  flex-direction: column;
}
@media (min-width: 960px) {
  .demo-table-01 {
    flex-direction: row;
  }
}
.demo-table-01 .image {
  text-align: center;
}
@media (min-width: 640px) {
  .demo-table-01 .image {
    width: 30%;
    min-width: 143px;
  }
}
@media (min-width: 640px) {
  .demo-table-01 .item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
  }
}
.demo-table-01 hr {
  margin: 0;
  border: 0;
  border-bottom: 1px solid #707070;
}
@media (min-width: 960px) {
  .demo-table-01 hr {
    border-left: 1px solid #707070;
  }
}
.demo-table-01 .com-list-01 li + li {
  margin-top: 0;
}

.demo-form-icon-required {
  background: #8DC21F;
}

.demo-form-table-01 .required::before {
  background: #8DC21F;
}
.demo-form-table-01 input[type=checkbox] {
  background-color: #fff;
}
.demo-form-table-01 input[type=checkbox]:checked {
  background-color: #686868;
}

.demo-btn-01 {
  background-color: #3B9154;
}

.voice-panel-01 {
  --main: #2C9154;
  color: #fff;
  background-color: var(--main);
  border-radius: 6px;
  position: relative;
  transition: 0.3s all ease-in-out;
}
@media (min-width: 960px) {
  .voice-panel-01 {
    border-radius: 20px;
  }
}
.voice-panel-01 .head {
  position: relative;
  cursor: pointer;
  padding: 0.7em 1em;
  padding-right: 2.5em;
  transition: 0.3s padding ease-in-out;
}
@media (min-width: 960px) {
  .voice-panel-01 .head {
    padding: 1.8em 2em;
    padding-right: 4.5em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 30px;
  }
}
.voice-panel-01 .head::before {
  content: "";
  position: absolute;
  display: block;
  width: 28px;
  aspect-ratio: 1/1;
  background: url(../img/common/parts/icon_plus.svg) no-repeat center;
  top: 50%;
  right: 1em;
  transform: translate(5px, -50%);
}
@media (min-width: 960px) {
  .voice-panel-01 .head::before {
    right: 1.8em;
    transform: translate(0, -50%);
  }
}
.voice-panel-01 .body {
  display: none;
  padding: 0 1.4em 1.7em;
}
@media (min-width: 960px) {
  .voice-panel-01 .body {
    padding: 0.8em 5.2em 6.5em;
  }
}
.voice-panel-01 .tit {
  color: inherit;
  font-size: 21px;
  font-size: 1.4rem;
  letter-spacing: 0.07em;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
  transition: 0.3s font-size ease-in-out;
}
.voice-panel-01 .list-cat {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  margin-top: 3px;
  gap: 10px;
}
.voice-panel-01 .list-cat > * {
  font-size: 14px;
  font-size: 0.9333333333rem;
  line-height: 1;
  font-weight: 500;
  border-radius: 6px;
  border: 1px solid currentColor;
  padding: 0.5em 0.9em;
  text-align: center;
}
.voice-panel-01 .catch {
  font-size: 15px;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
}
@media (min-width: 960px) {
  .voice-panel-01 .catch {
    font-size: 25px;
    font-size: 1.6666666667rem;
    margin-bottom: 30px;
  }
}
.voice-panel-01 .list-items {
  margin-top: 10px;
}
.voice-panel-01 .list-items + .list-items {
  margin-top: 10px;
  position: relative;
}
@media (min-width: 960px) {
  .voice-panel-01 .list-items + .list-items {
    margin-top: 15px;
  }
}
.voice-panel-01 .list-items + .list-items::before {
  content: "";
  display: block;
  width: 32px;
  aspect-ratio: 1/1;
  margin: 0 auto;
  background: url(../img/common/parts/icon_arrow_down_01.svg) no-repeat center;
  background-size: 100%;
  margin-bottom: 7px;
}
@media (min-width: 960px) {
  .voice-panel-01 .list-items + .list-items::before {
    width: 40px;
    margin-bottom: 25px;
  }
}
.voice-panel-01.first-item .body {
  display: block;
}
.voice-panel-01.is-active {
  background-color: #fff;
  color: #333333;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.16);
  border-radius: 20px;
}
.voice-panel-01.is-active .head {
  flex-direction: column;
  padding: 1.4em 2.5em 1.5em 1.4em;
}
@media (min-width: 960px) {
  .voice-panel-01.is-active .head {
    position: static;
    padding: 3em 5.2em;
  }
}
.voice-panel-01.is-active .head::before {
  background-image: url(../img/common/parts/icon_minus.svg);
}
@media (min-width: 960px) {
  .voice-panel-01.is-active .head::before {
    transform: unset;
    top: 42px;
    right: 1.8em;
  }
}
.voice-panel-01.is-active .tit, .voice-panel-01.is-active .list-cat {
  width: 100%;
}
.voice-panel-01.is-active .tit {
  color: #3B9154;
  letter-spacing: 0.05em;
}
@media (min-width: 960px) {
  .voice-panel-01.is-active .tit {
    font-size: 48px;
    font-size: 3.2rem;
  }
}
@media (min-width: 960px) {
  .voice-panel-01.is-active .list-cat {
    margin-top: 10px;
  }
}
.voice-panel-01.is-active .list-cat .cat {
  color: #818181;
  border-color: #707070;
}
.voice-panel-01 + .voice-panel-01 {
  margin-top: 45px;
}
@media (min-width: 960px) {
  .voice-panel-01 + .voice-panel-01 {
    margin-top: 60px;
  }
}

.voice-list-01 .question {
  font-size: 15px;
  font-size: 1rem;
  color: #fff;
  background-color: var(--main);
  letter-spacing: 0.07em;
  font-weight: 700;
  line-height: 1.4;
  padding: 0.5em;
  border-radius: 6px;
}
@media (min-width: 960px) {
  .voice-list-01 .question {
    font-size: 21px;
    font-size: 1.4rem;
    padding: 0.5em 1em;
  }
}
.voice-list-01 .question::before {
  content: "Q.";
}
.voice-list-01 .answer {
  display: flex;
  align-items: baseline;
  line-height: 1.4;
  margin-top: 10px;
}
@media (min-width: 960px) {
  .voice-list-01 .answer {
    font-size: 21px;
    font-size: 1.4rem;
    margin-top: 15px;
  }
}
.voice-list-01 .answer:not(:last-child) {
  margin-bottom: 35px;
}
@media (min-width: 960px) {
  .voice-list-01 .answer:not(:last-child) {
    margin-bottom: 65px;
  }
}
.voice-list-01 .answer::before {
  content: "A.";
  font-size: 21px;
  font-size: 1.4rem;
  font-weight: 700;
  color: #4893E5;
  letter-spacing: 0.07em;
  display: inline-block;
}
@media (min-width: 960px) {
  .voice-list-01 .answer::before {
    font-size: 28px;
    font-size: 1.8666666667rem;
    margin-right: 7px;
  }
}

/* column
========================================================= */
/* archive アーカイブ
----------------------------------------------- */
.column-tab-01 {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
}

.column-cat-01 {
  display: inline-block;
  padding: 0.5em 0.9em;
  box-sizing: border-box;
  border: 1px solid #3B9154;
  border-radius: 6px;
  background-color: #fff;
  color: #3B9154;
  font-size: 14px;
  font-size: 0.9333333333rem;
  min-width: 10em;
  font-weight: 500;
  text-align: center;
  line-height: 1;
}
.column-cat-01:is(a):hover:not(.is-current) {
  background-color: rgba(59, 145, 84, 0.25);
  color: #3B9154;
}
.column-cat-01.is-current {
  background-color: #3B9154;
  color: #fff;
}

.column-list-01 > li {
  container-type: inline-size;
  container-name: card;
}

.column-btn-01 {
  display: block;
  height: 100%;
  box-sizing: border-box;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.16);
  color: #333333;
  padding: 20px;
  text-decoration: none;
  transition: box-shadow 0.3s ease;
}
.column-btn-01:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.28);
}
@container card (min-width: 400px) {
  .column-btn-01 {
    padding: 45px;
  }
}
.column-btn-01 .thumb {
  overflow: clip;
  aspect-ratio: 3/2;
}
.column-btn-01 .thumb img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.column-btn-01 .body {
  margin-top: 20px;
}
.column-btn-01 .body > * + * {
  margin-top: 10px;
}
.column-btn-01 .company {
  font-size: 16px;
  font-size: 1.0666666667rem;
  font-weight: 500;
  line-height: 1.4;
}
.column-btn-01 .tit {
  font-size: 23px;
  font-size: 1.5333333333rem;
  font-weight: bold;
  line-height: 1.4;
  margin: 0;
  margin-top: 10px;
}

/* single 詳細ページ
----------------------------------------------- */
.column-panel-01 {
  padding: 20px;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.16);
}
@media (min-width: 640px) {
  .column-panel-01 {
    padding: 40px;
  }
}
@media (min-width: 960px) {
  .column-panel-01 {
    padding: 80px;
  }
}
.column-panel-01 .inner {
  max-width: 900px;
  margin-inline: auto;
}

.column-tit-01 {
  font-size: 25px;
  font-size: 1.6666666667rem;
  font-weight: bold;
  line-height: 1.6;
  color: #333333;
  margin-bottom: 1em;
}
@media (min-width: 960px) {
  .column-tit-01 {
    font-size: 37px;
    font-size: 2.4666666667rem;
  }
}

.column-thumb-01 {
  overflow: clip;
  aspect-ratio: 45/24;
}
.column-thumb-01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.column-panel-02 {
  margin-top: 35px;
}
.column-panel-02 .company {
  font-size: 21px;
  font-size: 1.4rem;
}
.column-panel-02 .company + * {
  margin-top: 10px;
}

/* 記事本文タイポグラフィ（WYSIWYG出力、汎用）
----------------------------------------------- */
.post-detail {
  line-height: 1.6;
  color: #333333;
}
@media (min-width: 640px) {
  .post-detail {
    font-size: 18px;
    font-size: 1.2rem;
  }
}
.post-detail :where([class*=wp-block-], p) {
  margin-block: 1em;
}
.post-detail :where([class*=wp-block-], p):first-child {
  margin-top: 0;
}
.post-detail :where([class*=wp-block-], p):last-child {
  margin-bottom: 0;
}
.post-detail :where(.wp-block-columns,
.wp-block-buttons,
.wp-block-social-links,
.wp-block-navigation__container) > :where(*) {
  margin-block: 0;
}
.post-detail h2 {
  font-size: 16px;
  font-size: 1.0666666667rem;
  margin-top: 3.5em;
  margin-bottom: 0.5em;
  background: #3B9154;
  color: #fff;
  border-radius: 6px;
  padding: 0.5em 1em;
}
@media (min-width: 640px) {
  .post-detail h2 {
    font-size: 21px;
    font-size: 1.4rem;
  }
}
.post-detail h3 {
  font-size: 16px;
  font-size: 1.0666666667rem;
  margin-top: 2em;
  margin-bottom: 1em;
  font-weight: bold;
}
@media (min-width: 640px) {
  .post-detail h3 {
    font-size: 21px;
    font-size: 1.4rem;
  }
}
.post-detail h4 {
  font-size: 16px;
  font-size: 1.0666666667rem;
  margin-top: 1em;
  margin-bottom: 0.5em;
  text-indent: 1em hanging;
  color: #3B9154;
}
.post-detail h4 + * {
  margin-top: 0.5em;
}
@media (min-width: 640px) {
  .post-detail h4 {
    font-size: 21px;
    font-size: 1.4rem;
  }
}
.post-detail h4::before {
  content: "・";
}
.post-detail ul li::before {
  content: "●";
  color: #3B9154;
}
.post-detail ul li > ul {
  margin-block: 0.5em !important;
  margin-left: 1.5em !important;
}
.post-detail ol {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
}
.post-detail ol li {
  padding-left: 1.8em;
}
.post-detail ol li + li {
  margin-top: 0.2em;
}
.post-detail ol li::before {
  counter-increment: item;
  content: counter(item) ".";
  display: inline-block;
  width: 1.5em;
  padding-right: 0.3em;
  margin-left: -1.8em;
  text-align: right;
}
.post-detail ol li::before {
  color: #3B9154;
  font-weight: bold;
}
.post-detail ol li > ol {
  margin-block: 0.5em !important;
  margin-left: 1.5em !important;
}
.post-detail blockquote {
  padding: 2em 1em;
  margin: 1.5em 0;
  background-color: #f5f5f5;
  border-left: 4px solid #3B9154;
  color: #555;
  position: relative;
}
.post-detail blockquote::before {
  content: "”";
  font-size: 90px;
  color: #3B9154;
  position: absolute;
  line-height: 1;
  top: -25px;
  left: 10px;
}
.post-detail .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}
.post-detail .wp-block-table th, .post-detail .wp-block-table td {
  padding: 0.6em 0.8em;
  border: 1px solid #ddd;
  vertical-align: top;
}
.post-detail .wp-block-table th {
  background-color: #f5f5f5;
  font-weight: 700;
}
.post-detail .wp-block-table thead {
  border-bottom: 0;
}
.post-detail figure figcaption {
  font-size: 12px;
  font-size: 0.8rem;
  color: #666;
  margin-top: 0.5em;
}
.post-detail .wp-block-button .wp-block-button__link {
  display: inline-block;
  background-color: #3B9154;
  color: #fff;
  border: 2px solid #3B9154;
  border-radius: 10px;
  padding: 0.5em 1.5em;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}
.post-detail .wp-block-button .wp-block-button__link:hover {
  text-decoration: none;
}
.post-detail .wp-block-button .wp-block-button__link::after {
  content: " ＞";
}
.post-detail .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  color: #3B9154;
}
.post-detail .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: #3B9154;
  color: #fff;
  opacity: 1;
}
.post-detail a {
  color: #4893E5;
  text-decoration: underline;
}
.post-detail a:hover {
  text-decoration: underline;
}
.post-detail strong, .post-detail b {
  font-weight: 700;
}
.post-detail code {
  padding: 2px 6px;
  background-color: #f5f5f5;
  border-radius: 3px;
  font-size: 12px;
  font-size: 0.8rem;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
.post-detail em {
  font-style: italic;
}
.post-detail pre {
  padding: 14px 18px;
  margin: 1.5em 0;
  background-color: #2b2b2b;
  color: #f5f5f5;
  border-radius: 6px;
  overflow-x: auto;
  font-size: 12px;
  font-size: 0.8rem;
  line-height: 1.6;
}
.post-detail pre code {
  padding: 0;
  background: transparent;
  color: inherit;
}
/*# sourceMappingURL=layout.css.map */
