@charset "UTF-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** SPスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
******************************************************************************
** common
******************************************************************************
----------------------------------------------------------------------------*/
html {
  font-size: 0.2666666667vw;
}

body {
  width: 100%;
  overflow: hidden;
}

img {
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  color: #333333;
}

picture {
  display: block;
}
picture img {
  display: block;
}

/*----------------------------------------------------------------------------
******************************************************************************
** common class
******************************************************************************
----------------------------------------------------------------------------*/
.pc {
  display: none !important;
}

.clearfix::after {
  content: "";
  clear: both;
  display: block;
}

.container_100 {
  width: 100%;
  background-color: #fff;
  padding: 0 15rem;
}
.container_100 .container {
  width: 100%;
}

.anker {
  display: block;
  padding-top: 60rem;
  margin-top: 60rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
.hd_100 {
  width: 100%;
  height: 60rem;
  background-color: #fff;
  padding: 20rem 17.5rem 10rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
}
.hd_100 .hd {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.hd_100 .hd .hd_logo {
  width: 121rem;
  position: relative;
  z-index: 100;
}
.hd_100 .hd .hd_logo .black {
  opacity: 1;
  transition: 0.2s;
}
.hd_100 .hd .hd_logo .white {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: 0.2s;
}
.hd_100 .hd .hd_logo.change .black {
  opacity: 0;
  transition: 0.2s;
  transition-delay: 0.2s;
}
.hd_100 .hd .hd_logo.change .white {
  opacity: 1;
  transition: 0.2s;
  transition-delay: 0.2s;
}
.hd_100 .hd .hd_menu {
  width: 100%;
  height: 100%;
  padding: 85rem 15rem 0;
  background-color: #9cc455;
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 99;
  transition: 0.4s;
}
.hd_100 .hd .hd_menu.open {
  right: 0;
  transition: 0.4s;
}
.hd_100 .hd .hd_menu .menu_wrapper {
  width: 100%;
  height: 100%;
  padding-bottom: 30rem;
  overflow-y: scroll;
}
.hd_100 .hd .hd_menu nav {
  width: 100%;
}
.hd_100 .hd .hd_menu nav .hd_nav {
  width: 100%;
  transition: margin-right 0.2s;
}
.hd_100 .hd .hd_menu nav .hd_nav > li {
  width: 100%;
  border-bottom: 1rem solid #fff;
  position: relative;
}
.hd_100 .hd .hd_menu nav .hd_nav > li::before {
  content: "";
  width: 8.5rem;
  height: 15rem;
  background: url(../images/common/nav_arrow_r_w.svg) no-repeat center/contain;
  position: absolute;
  top: 17.25rem;
  right: 17.5rem;
}
@media all and (-ms-high-contrast: none) {
  .hd_100 .hd .hd_menu nav .hd_nav > li::before {
    background: url(../images/common/nav_arrow_r_w.png) no-repeat center/contain;
  }
}
.hd_100 .hd .hd_menu nav .hd_nav > li.arrow::before, .hd_100 .hd .hd_menu nav .hd_nav > li.arrow::after {
  content: "";
  width: 15rem;
  height: 2rem;
  background: url(../images/common/nav_menu_w.svg) no-repeat center/contain;
  position: absolute;
  top: 23rem;
  right: 14.5rem;
  border-radius: 5rem;
}
@media all and (-ms-high-contrast: none) {
  .hd_100 .hd .hd_menu nav .hd_nav > li.arrow::before, .hd_100 .hd .hd_menu nav .hd_nav > li.arrow::after {
    background: url(../images/common/nav_menu_w.png) no-repeat center/contain;
  }
}
.hd_100 .hd .hd_menu nav .hd_nav > li.arrow::after {
  transform: rotate(90deg);
  transition: 0.2s;
}
.hd_100 .hd .hd_menu nav .hd_nav > li.arrow > a {
  width: calc(100% - 100rem);
}
.hd_100 .hd .hd_menu nav .hd_nav > li > a,
.hd_100 .hd .hd_menu nav .hd_nav > li > span {
  width: 100%;
  font-feature-settings: normal;
  font-size: 18rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  display: block;
  transition: color 0.2s;
  cursor: pointer;
  padding: 14rem 15rem 16.5rem;
  position: relative;
}
.hd_100 .hd .hd_menu nav .hd_nav > li.open::after {
  transform: rotate(0);
  transition: 0.2s;
}
.hd_100 .hd .hd_menu nav .hd_nav > li .hd_cnav {
  width: 100%;
}
.hd_100 .hd .hd_menu nav .hd_nav > li .hd_cnav .mega_ttl01 {
  display: none;
}
.hd_100 .hd .hd_menu nav .hd_nav > li .hd_cnav ul {
  width: 100%;
  padding: 12rem 13.5rem 12rem 17.5rem;
  background-color: rgba(255, 255, 255, 0.2);
  border-bottom: 1rem solid #fff;
}
.hd_100 .hd .hd_menu nav .hd_nav > li .hd_cnav ul li {
  width: 100%;
}
.hd_100 .hd .hd_menu nav .hd_nav > li .hd_cnav ul li a {
  font-size: 16rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.25em;
  padding: 10rem 20rem;
  display: block;
  position: relative;
}
.hd_100 .hd .hd_menu nav .hd_nav > li .hd_cnav ul li a::before {
  content: "";
  width: 8.5rem;
  height: 15rem;
  background: url(../images/common/nav_arrow_r_w.svg) no-repeat center/contain;
  position: absolute;
  top: calc(50% + 1rem);
  right: 4rem;
  transform: translateY(-50%);
}
@media all and (-ms-high-contrast: none) {
  .hd_100 .hd .hd_menu nav .hd_nav > li .hd_cnav ul li a::before {
    background: url(../images/common/nav_arrow_r_w.png) no-repeat center/contain;
  }
}
.hd_100 .hd .hd_menu nav .hd_nav > li .hd_cnav ul li a:after {
  content: "";
  width: 10rem;
  height: 2rem;
  background-color: #fff;
  position: absolute;
  top: 21rem;
  left: 0;
}
.hd_100 .hd .hd_menu nav .hd_nav > li .hd_cnav ul li a .list_img01 {
  display: none;
}
.hd_100 .hd .hd_menu nav .hd_cv {
  width: 100%;
}
.hd_100 .hd .hd_menu nav .hd_language {
  width: 100%;
  position: relative;
  margin-top: 20rem;
}
.hd_100 .hd .hd_menu nav .hd_language .language_btn {
  width: 230rem;
  height: 46rem;
  border-radius: 23rem;
  border: solid 1rem #fff;
  background-color: #9cc455;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  z-index: 5;
  margin: 0 auto;
}
.hd_100 .hd .hd_menu nav .hd_language .language_btn .en {
  font-family: YakuHanJP, "Montserrat";
  font-size: 14rem;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  position: relative;
}
.hd_100 .hd .hd_menu nav .hd_language .language_btn .en::before {
  content: "";
  width: 18rem;
  height: 18rem;
  background: url(../images/common/language_icon_w.svg) no-repeat center/contain;
  position: absolute;
  top: -1.5rem;
  left: -26.5rem;
}
@media all and (-ms-high-contrast: none) {
  .hd_100 .hd .hd_menu nav .hd_language .language_btn .en::before {
    background: url(../images/common/language_icon_w.png) no-repeat center/contain;
  }
}
.hd_100 .hd .hd_menu nav .hd_language .language_btn .en::after {
  content: "";
  width: 14rem;
  height: 8rem;
  background: url(../images/common/nav_arrow_b_w.svg) no-repeat center/contain;
  position: absolute;
  top: 4.5rem;
  right: -26.5rem;
}
@media all and (-ms-high-contrast: none) {
  .hd_100 .hd .hd_menu nav .hd_language .language_btn .en::after {
    background: url(../images/common/nav_arrow_b_w.png) no-repeat center/contain;
  }
}
.hd_100 .hd .hd_menu nav .hd_language .language_list {
  width: 230rem;
  padding: 35rem 15rem 15rem;
  border: solid 1rem #fff;
  position: absolute;
  top: 23rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  display: none;
}
.hd_100 .hd .hd_menu nav .hd_language .language_list li {
  width: 100%;
  margin-top: 5rem;
}
.hd_100 .hd .hd_menu nav .hd_language .language_list li:first-of-type {
  margin-top: 0;
}
.hd_100 .hd .hd_menu nav .hd_language .language_list li a {
  width: 100%;
  font-size: 14rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.15em;
  display: block;
  transition: 0.2s;
}
.hd_100 .hd .hd_menu nav .hd_language .language_list li a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.hd_100 .menu_trigger {
  width: 60rem;
  height: 60rem;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 100;
}
.hd_100 .menu_trigger span {
  width: 30rem;
  height: 1.5rem;
  background-color: #9cc455;
  position: absolute;
  left: 13rem;
  transition: 0.2s;
}
.hd_100 .menu_trigger span:nth-of-type(1) {
  top: 21rem;
}
.hd_100 .menu_trigger span:nth-of-type(2) {
  top: 29rem;
}
.hd_100 .menu_trigger span:nth-of-type(3) {
  width: 20rem;
  top: 37rem;
}
.hd_100 .menu_trigger.active span {
  background-color: #fff;
  transition: 0.2s;
}
.hd_100 .menu_trigger.active span:nth-of-type(1) {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}
.hd_100 .menu_trigger.active span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.hd_100 .menu_trigger.active span:nth-of-type(3) {
  opacity: 0;
}

.common_cv_block01 {
  width: 100%;
  margin-top: 30rem;
}
.common_cv_block01 li {
  width: 100%;
  margin-top: 10rem;
}
.common_cv_block01 li:first-of-type {
  margin-top: 0;
}
.common_cv_block01 li a {
  width: 230rem;
  height: 46rem;
  border-radius: 23rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  isolation: isolate;
}
.common_cv_block01 li a:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #333;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.common_cv_block01 li a span {
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  display: inline-block;
  position: relative;
  z-index: 2;
}
.common_cv_block01 li a.document {
  border: solid 1rem #9cc455;
  background-color: #fff;
}
.common_cv_block01 li a.document:before {
  background: #ecf8d5;
}
.common_cv_block01 li a.document span {
  color: #9cc455;
  letter-spacing: 0.15em;
  padding-left: 27rem;
}
.common_cv_block01 li a.document span::before {
  content: "";
  width: 16rem;
  height: 18rem;
  background: url(../images/common/document_icon_g.svg) no-repeat center/contain;
  position: absolute;
  top: -1.5rem;
  left: 3rem;
}
@media all and (-ms-high-contrast: none) {
  .common_cv_block01 li a.document span::before {
    background: url(../images/common/document_icon_g.png) no-repeat center/contain;
  }
}
.common_cv_block01 li a.contact {
  border: solid 1rem #fff;
  background-color: #9cc455;
}
.common_cv_block01 li a.contact:before {
  background: #7ba433;
}
.common_cv_block01 li a.contact span {
  color: #fff;
  letter-spacing: 0.05em;
  padding-left: 33rem;
  position: relative;
}
.common_cv_block01 li a.contact span::before {
  content: "";
  width: 20rem;
  height: 14rem;
  background: url(../images/common/mail_icon_w.svg) no-repeat center/contain;
  position: absolute;
  top: 1rem;
  left: 5rem;
}
@media all and (-ms-high-contrast: none) {
  .common_cv_block01 li a.contact span::before {
    background: url(../images/common/mail_icon_w.png) no-repeat center/contain;
  }
}
.common_cv_block01 li a:hover:before {
  transform: scale(1, 1);
  transform-origin: left top;
}

/*----------------------------------------------------------------------------
******************************************************************************
** mv
******************************************************************************
----------------------------------------------------------------------------*/
.loader {
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  opacity: 1;
}
.loader.animation-on {
  animation: 1s linear 0s 1 forwards fadeout;
}

@keyframes fadeout {
  0% {
    opacity: 1;
    z-index: 100;
  }
  99% {
    z-index: 100;
  }
  100% {
    opacity: 0;
    z-index: -100;
  }
}
.mv {
  padding: 0;
  background-color: #fff;
  position: relative;
  margin-top: 60rem;
}
.mv .container {
  max-width: initial;
  max-width: 100%;
  position: relative;
}
.mv .container .mv_ttl {
  width: 100vw;
  height: 347.5rem;
  background: url(../images/top/mv_shadow_sp.png) no-repeat top center/contain;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  top: 47.5%;
  left: 0;
  transform: translateY(-50%);
  z-index: 2;
}
.mv .container .mv_ttl picture {
  width: 330rem;
}
.mv .container .mv_slider_wrapper {
  width: 100%;
  overflow: hidden;
  display: flex;
}
.mv .container .mv_slider_wrapper .mv_slider {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  animation: infinity-slide 40s infinite linear 0.5s both;
}
.mv .container .mv_slider_wrapper .mv_slider li {
  width: 300rem;
}
.mv .container .mv_slider_wrapper .mv_slider li figure {
  width: 100%;
  padding: 0 6.25rem;
  overflow: hidden;
}
.mv .container .mv_slider_wrapper .mv_slider li figure picture {
  width: 100%;
  padding-top: 133.333333%;
  display: block;
  position: relative;
  border-radius: 5rem;
  overflow: hidden;
}
.mv .container .mv_slider_wrapper .mv_slider li figure picture img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.mv .container .mv_slider_wrapper .mv_slider li figure figcaption {
  width: 100%;
  font-size: 10rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  margin-top: 4rem;
  text-align: right;
}

@keyframes infinity-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes infinity-slide-r {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}
.add_bunner01 {
  padding: 26rem 27rem 0;
  background-color: #fff;
  text-align: center;
}
.add_bunner01 figure {
  display: block;
  margin-top: 10rem;
}
.add_bunner01 figure:first-of-type {
  margin-top: 0;
}
.add_bunner01 figure a {
  display: inline-block;
  transition: 0.2s;
}
.add_bunner01 figure a:hover {
  opacity: 0.7;
  transition: 0.2s;
}

.index01 {
  padding-top: 56rem;
  padding-bottom: 33.5rem;
  background-color: #fff;
}
.index01 .container {
  position: relative;
}
.index01 .container::before {
  content: "";
  width: 304rem;
  height: 308.5rem;
  background: -webkit-image-set(url(../images/top/index01_bg01.webp) 1x, url(../images/top/index01_bg01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/top/index01_bg01.webp) 1x, url(../images/top/index01_bg01@2x.webp) 2x) no-repeat center/cover;
  position: absolute;
  top: -25.5rem;
  left: 21rem;
}
.index01 .container::after {
  content: "";
  width: 113.5rem;
  height: 95rem;
  background: -webkit-image-set(url(../images/top/index01_bg02.webp) 1x, url(../images/top/index01_bg02@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/top/index01_bg02.webp) 1x, url(../images/top/index01_bg02@2x.webp) 2x) no-repeat center/cover;
  position: absolute;
  top: 292rem;
  right: -5.5rem;
}
.index01 .container .index01_txt01 {
  text-align: center;
  margin-top: 21.5rem;
}
.index01 .container .index01_txt01 a {
  transition: 0.2s;
  position: relative;
  display: inline-block;
}
.index01 .container .index01_txt01 a::before {
  content: "";
  width: 21rem;
  height: 21rem;
  background: url(../images/common/external_icon.png) no-repeat center/contain;
  background: url(../images/common/external_icon.svg) no-repeat center/contain;
  position: absolute;
  bottom: 6rem;
  right: 8rem;
}
.index01 .container .index01_txt01 a:hover {
  opacity: 0.7;
}
.index01 .container .index01_txt01 .sp_ls {
  letter-spacing: 0.06em;
}
.index01 .container .index01_txt01 .sp_mt1 {
  margin-top: 1.5rem;
  display: inline-block;
}
.index01 .container .index01_txt01 .sp_mt2 {
  margin-top: 6.5rem;
  display: inline-block;
}
.index01 .container .index01_txt01 .sp_mt3 {
  margin-top: 7rem;
  display: inline-block;
}
.index01 .container .index01_block01 {
  width: 100%;
  margin-top: 35.5rem;
  position: relative;
}
.index01 .container .index01_block01 .block01_img01 {
  width: calc(100vw - 15rem);
  position: relative;
  left: -15rem;
}
.index01 .container .index01_block01 .block01_img01 picture {
  width: 100%;
  padding-top: 69.444444%;
  position: relative;
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
  overflow: hidden;
}
.index01 .container .index01_block01 .block01_img01 picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.index01 .container .index01_block01 .block01_txt {
  padding-right: 4.5rem;
  padding-left: 4.5rem;
  line-height: 2;
  margin-top: 28rem;
}
.index01 .container .index01_block01 .block01_txt:first-of-type {
  margin-top: 21rem;
}

@keyframes macchan-animate01 {
  0% {
    transform: translateX(0);
  }
  60% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(-100%);
  }
  95% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0%);
  }
}
.index02 {
  padding-top: 39.5rem;
  padding-bottom: 27rem;
  background-color: #fff;
  position: relative;
}
.index02::before {
  content: "";
  width: 54rem;
  height: 99rem;
  background: -webkit-image-set(url(../images/top/index02_item01.webp) 1x, url(../images/top/index02_item01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/top/index02_item01.webp) 1x, url(../images/top/index02_item01@2x.webp) 2x) no-repeat center/cover;
  position: absolute;
  top: 30rem;
  left: 0;
  z-index: 4;
  transform: translateX(-100%);
}
.index02::after {
  content: "";
  width: 100%;
  height: 300rem;
  background-color: #9cc455;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.index02 .container {
  position: relative;
  z-index: 3;
}
.index02 .container .index02_txt01 {
  margin-top: 15.5rem;
  text-align: center;
}
.index02 .container .index02_list01 {
  margin-top: 31rem;
}
.index02 .container .index02_btn01 {
  margin-top: 31rem;
}
.index02 .container .index02_list02 {
  margin-top: 60rem;
}
.index02 .container .index02_list02 li {
  width: 100%;
  border: solid 3rem #9cc455;
  padding: 30.5rem 10rem 10.5rem;
  border-radius: 10rem;
  position: relative;
  margin-top: 37.5rem;
}
.index02 .container .index02_list02 li:first-of-type {
  margin-top: 0;
}
.index02 .container .index02_list02 li .list02_ttl {
  width: 290rem;
  font-size: 21em;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.15em;
  text-align: center;
  padding: 2.5rem 5rem 2.5rem;
  background-color: #9cc455;
  border-radius: 25rem;
  position: absolute;
  top: -16rem;
  left: 50%;
  transform: translateX(-50%);
}
.index02 .container .index02_list02 li .list02_txt {
  font-size: 21rem;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-align: center;
}
.index02 .container .index02_list02 li .list02_txt .counter {
  font-family: YakuHanJP, "Roboto";
  font-size: 2.38095238em;
  color: #e35740;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  display: inline-block;
  margin-left: -0.5rem;
  margin-right: 3.5rem;
  position: relative;
  top: 1rem;
}
.index02.animation-on::before {
  transform: translateX(0);
  transition: ease-out 0.6s;
  animation: macchan-animate01 13.2s infinite ease-out 0.6s;
}
.index02 .container02 {
  max-width: initial;
  max-width: auto;
}
.index02 .container02 .index02_block01 {
  width: 100vw;
  position: relative;
  left: -15rem;
  margin-top: 30.5rem;
}

.common_slider01 {
  width: 100%;
  overflow: hidden;
  display: flex;
}
.common_slider01 .slider01_list {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  animation: infinity-slide 40s infinite linear 0s both;
}
.common_slider01 .slider01_list li {
  width: 188rem;
  text-align: center;
}
.common_slider01 .slider01_list.revese {
  margin-top: 8rem;
  animation: infinity-slide-r 40s infinite linear 0s both;
}

.common_case_section {
  padding-top: 38rem;
  padding-bottom: 50rem;
  background-color: #f1f5ee;
}
.common_case_section .container {
  max-width: initial;
  max-width: auto;
}
.common_case_section .container .common_case_section_txt01 {
  margin-top: 15rem;
  text-align: center;
}
.common_case_section .container .common_case_section_slider01 {
  width: 100vw;
  position: relative;
  left: -15rem;
  margin-top: 52rem;
  margin-bottom: 0;
}
.common_case_section .container .common_case_section_slider01 .slick-slide {
  opacity: 0.4;
}
.common_case_section .container .common_case_section_slider01 .slick-slide.slick-active {
  opacity: 1;
}
.common_case_section .container .common_case_section_slider01 .slick-slide .list01_wrapper {
  padding: 0 5.11265165%;
}
.common_case_section .container .common_case_section_slider01 .slick-dots {
  width: 100%;
  position: absolute;
  top: -33.5rem;
  left: auto;
  right: 4rem;
  transform: translateX(0);
  z-index: 4;
  display: flex;
}
.common_case_section .container .common_case_section_slider01 .slick-dots li {
  margin-right: 4.5rem;
}
.common_case_section .container .common_case_section_slider01 .slick-dots li:last-of-type {
  margin-right: 0;
}
.common_case_section .container .common_case_section_slider01 .slick-dots li button {
  width: 15rem;
  height: 15rem;
}
.common_case_section .container .common_case_section_slider01 .slick-dots li button::before {
  width: 6rem;
  height: 6rem;
  box-sizing: border-box;
}
.common_case_section .container .common_case_section_slider01 .slick-dots li button::after {
  box-sizing: border-box;
}
.common_case_section .container .common_case_section_slider01 .slick-track {
  display: flex;
}
.common_case_section .container .common_case_section_slider01 .slick-slide {
  height: auto !important;
}
.common_case_section .container .common_case_section_slider01 .slick-arrow {
  width: 35rem;
  height: 35rem;
  background-color: #9cc455;
  cursor: pointer;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  z-index: 4;
}
.common_case_section .container .common_case_section_slider01 .slick-arrow::before {
  content: "";
  width: 7rem;
  height: 12.5rem;
  background: url(../images/common/slide_arrow_w.svg) no-repeat center/contain;
  position: absolute;
  top: 11.5rem;
}
@media all and (-ms-high-contrast: none) {
  .common_case_section .container .common_case_section_slider01 .slick-arrow::before {
    background: url(../images/common/slide_arrow_w.png) no-repeat center/contain;
  }
}
.common_case_section .container .common_case_section_slider01 .slick-arrow.slick-prev {
  left: 9.5%;
}
.common_case_section .container .common_case_section_slider01 .slick-arrow.slick-prev::before {
  left: 13rem;
}
.common_case_section .container .common_case_section_slider01 .slick-arrow.slick-next {
  right: 9.5%;
}
.common_case_section .container .common_case_section_slider01 .slick-arrow.slick-next::before {
  right: 13rem;
  transform: scale(-1, 1);
}
.common_case_section .container .common_case_section_btn01 {
  margin-top: 30.5rem;
}

.pararax_area {
  height: 200rem;
  position: relative;
}
.pararax_area::before {
  content: "";
  width: 100%;
  height: 100%;
  background: -webkit-image-set(url(../images/top/pararax_bg_sp.webp) 1x, url(../images/top/pararax_bg_sp@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/top/pararax_bg_sp.webp) 1x, url(../images/top/pararax_bg_sp@2x.webp) 2x) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.pararax_area.show::before {
  z-index: -1;
}
.pararax_area.about::before {
  background: -webkit-image-set(url(../images/about/pararax_bg.webp) 1x, url(../images/about/pararax_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/about/pararax_bg.webp) 1x, url(../images/about/pararax_bg@2x.webp) 2x) no-repeat center/cover;
}
.pararax_area.inbound::before {
  background: -webkit-image-set(url(../images/inbound/pararax_bg.webp) 1x, url(../images/inbound/pararax_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/inbound/pararax_bg.webp) 1x, url(../images/inbound/pararax_bg@2x.webp) 2x) no-repeat center/cover;
}

@keyframes macchan-animate02 {
  0% {
    transform: translateX(0);
  }
  60% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(100%);
  }
  95% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes macchan-animate03 {
  0% {
    transform: translateY(0%);
  }
  60% {
    transform: translateY(0%);
  }
  65% {
    transform: translateY(50%);
  }
  95% {
    transform: translateY(50%);
  }
  100% {
    transform: translateY(0%);
  }
}
.index04 {
  padding-top: 39rem;
  padding-bottom: 39.5rem;
  background-color: #f4f4f4;
  overflow: hidden;
}
.index04 .container .index04_block01 {
  width: 100%;
  position: relative;
}
.index04 .container .index04_block01 .block01_txt01 {
  margin-top: 15rem;
  text-align: center;
}
.index04 .container .index04_block01 .block01_box01 {
  width: calc(100vw - 15rem);
  margin-top: 35rem;
}
.index04 .container .index04_block01 .block01_box01::before {
  content: "";
  width: 66rem;
  height: 125.5rem;
  background: -webkit-image-set(url(../images/top/index04_item01.webp) 1x, url(../images/top/index04_item01@2x.webp) 2x) no-repeat center/contain;
  background: image-set(url(../images/top/index04_item01.webp) 1x, url(../images/top/index04_item01@2x.webp) 2x) no-repeat center/contain;
  position: absolute;
  top: 102rem;
  right: -15rem;
  z-index: 5;
  transform: translateX(100%);
}
.index04 .container .index04_block01 .block01_box01.animation-on::before {
  transform: translateX(0);
  transition: ease-out 0.6s;
  animation: macchan-animate02 13.2s infinite ease-out 0.6s;
}
.index04 .container .index04_block01 .block01_box01 .box01_wrapper {
  width: 100%;
  border-top-left-radius: 10rem;
  border-bottom-left-radius: 10rem;
  padding: 30rem 35rem 28rem 30.5rem;
  background-color: #fff;
  position: relative;
  z-index: 3;
}
.index04 .container .index04_block01 .block01_box01 .box01_wrapper::before {
  content: "";
  width: calc((100vw - 1200px) / 2);
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  right: 1px;
  transform: translateX(100%);
}
.index04 .container .index04_block01 .block01_btn01 {
  margin-top: 30.5rem;
}
.index04 .container .index04_block02 {
  width: 100%;
  position: relative;
  margin-top: 48.5rem;
}
.index04 .container .index04_block02 .block02_txt01 {
  margin-top: 14rem;
  text-align: center;
}
.index04 .container .index04_block02 .block02_box01 {
  width: 560rem;
  margin-top: 80rem;
  position: relative;
  right: 215rem;
}
.index04 .container .index04_block02 .block02_box01::before {
  content: "";
  width: 94.5rem;
  height: 79rem;
  background: -webkit-image-set(url(../images/top/index04_item02.webp) 1x, url(../images/top/index04_item02@2x.webp) 2x) no-repeat center/contain;
  background: image-set(url(../images/top/index04_item02.webp) 1x, url(../images/top/index04_item02@2x.webp) 2x) no-repeat center/contain;
  position: absolute;
  top: -63.5rem;
  right: 125rem;
  z-index: 2;
  transform: translateY(100%);
}
.index04 .container .index04_block02 .block02_box01::after {
  content: "";
  width: 76.5rem;
  height: 22rem;
  background: -webkit-image-set(url(../images/top/index04_item03.webp) 1x, url(../images/top/index04_item03@2x.webp) 2x) no-repeat center/contain;
  background: image-set(url(../images/top/index04_item03.webp) 1x, url(../images/top/index04_item03@2x.webp) 2x) no-repeat center/contain;
  position: absolute;
  top: -10.5rem;
  right: 133.5rem;
  z-index: 3;
}
.index04 .container .index04_block02 .block02_box01.animation-on::before {
  transform: translateY(0);
  transition: transform ease-out 0.6s;
  animation: macchan-animate03 13.2s infinite ease-out 0.8s;
}
.index04 .container .index04_block02 .block02_box01 .box01_wrapper {
  width: 100%;
  border-top-right-radius: 10rem;
  border-bottom-right-radius: 10rem;
  padding: 79.5rem 30rem 43.5rem 0px;
  background-color: #fff;
  position: relative;
  z-index: 3;
}
.index04 .container .index04_block02 .block02_box01 .box01_wrapper .box01_slider01 li {
  width: auto;
}
.index04 .container .index04_block02 .block02_box01 .box01_wrapper .box01_slider01 li .list01_wrapper {
  padding-left: 30.5rem;
}
.index04 .container .index04_block02 .block02_box01 .box01_wrapper .box01_slider01 .slick-arrow {
  width: 34.5rem;
  height: 34.5rem;
  background-color: #9cc455;
  cursor: pointer;
  border-radius: 50%;
  position: absolute;
  top: -54.5rem;
  z-index: 4;
  transform: translate(0);
}
.index04 .container .index04_block02 .block02_box01 .box01_wrapper .box01_slider01 .slick-arrow::before {
  content: "";
  width: 7rem;
  height: 12.5rem;
  background: url(../images/common/slide_arrow_w.svg) no-repeat center/contain;
  position: absolute;
  top: 12rem;
}
@media all and (-ms-high-contrast: none) {
  .index04 .container .index04_block02 .block02_box01 .box01_wrapper .box01_slider01 .slick-arrow::before {
    background: url(../images/common/slide_arrow_w.png) no-repeat center/contain;
  }
}
.index04 .container .index04_block02 .block02_box01 .box01_wrapper .box01_slider01 .slick-arrow.slick-prev {
  left: auto;
  right: 46rem;
}
.index04 .container .index04_block02 .block02_box01 .box01_wrapper .box01_slider01 .slick-arrow.slick-prev::before {
  left: 12.5rem;
}
.index04 .container .index04_block02 .block02_box01 .box01_wrapper .box01_slider01 .slick-arrow.slick-next {
  right: 0;
}
.index04 .container .index04_block02 .block02_box01 .box01_wrapper .box01_slider01 .slick-arrow.slick-next::before {
  right: 12.5rem;
  transform: scale(-1, 1);
}
.index04 .container .index04_block02 .block02_btn01 {
  margin-top: 26rem;
}

.common_cv_section {
  padding-top: 55.5rem;
  padding-bottom: 41rem;
  background: -webkit-image-set(url(../images/common/cv_bg.webp) 1x, url(../images/common/cv_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/common/cv_bg.webp) 1x, url(../images/common/cv_bg@2x.webp) 2x) no-repeat center/cover;
}
.common_cv_section .container .cv_txt {
  margin-top: -108rem;
}
.common_cv_section .container .cv_btn {
  width: 100%;
  margin-top: 21rem;
}
.common_cv_section .container .cv_btn li {
  width: 100%;
  margin-top: 15.5rem;
}
.common_cv_section .container .cv_btn li:first-of-type {
  margin-top: 0;
}
.common_cv_section .container .cv_btn li a {
  width: 230rem;
  height: 42rem;
  border-radius: 20rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  padding-bottom: 2rem;
  isolation: isolate;
}
.common_cv_section .container .cv_btn li a:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.common_cv_section .container .cv_btn li a span {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.13em;
  display: inline-block;
  position: relative;
  z-index: 2;
}
.common_cv_section .container .cv_btn li a.document {
  background-color: #fff;
}
.common_cv_section .container .cv_btn li a.document:before {
  background: #ecf8d5;
}
.common_cv_section .container .cv_btn li a.document span {
  color: #9cc455;
  padding-left: 27.5rem;
}
.common_cv_section .container .cv_btn li a.document span::before {
  content: "";
  width: 17rem;
  height: 18.5rem;
  background: url(../images/common/document_icon_g.svg) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 3.5rem;
}
@media all and (-ms-high-contrast: none) {
  .common_cv_section .container .cv_btn li a.document span::before {
    background: url(../images/common/document_icon_g.png) no-repeat center/contain;
  }
}
.common_cv_section .container .cv_btn li a.contact {
  background-color: #9cc455;
}
.common_cv_section .container .cv_btn li a.contact:before {
  background: #7ba433;
}
.common_cv_section .container .cv_btn li a.contact span {
  color: #fff;
  letter-spacing: 0.1em;
  padding-left: 22.5rem;
  position: relative;
}
.common_cv_section .container .cv_btn li a.contact span::before {
  content: "";
  width: 19rem;
  height: 13.5rem;
  background: url(../images/common/mail_icon_w.svg) no-repeat center/contain;
  position: absolute;
  top: 2rem;
  left: -2.5rem;
}
@media all and (-ms-high-contrast: none) {
  .common_cv_section .container .cv_btn li a.contact span::before {
    background: url(../images/common/mail_icon_w.png) no-repeat center/contain;
  }
}
.common_cv_section .container .cv_btn li a:hover:before {
  transform: scale(1, 1);
  transform-origin: left top;
}

.common_txt04 {
  width: 100%;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.85714286;
  letter-spacing: 0.15em;
  text-align: center;
}
.common_txt04.color01 {
  color: #fff;
}

.common_company_section {
  background-color: #243024;
  padding: 0;
}
.common_company_section .container .company_block {
  width: 100%;
}
.common_company_section .container .company_block .block_box {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.common_company_section .container .company_block .block_box::after {
  content: "";
  width: 25rem;
  height: 16rem;
  background: url(../images/common/service_arrow_r_w.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 30rem;
  transform: translateY(-50%);
  z-index: 1;
  animation: tuntun 3s infinite linear 0s both;
}
@media all and (-ms-high-contrast: none) {
  .common_company_section .container .company_block .block_box::after {
    background: url(../images/common/service_arrow_r_w.png) no-repeat center/contain;
  }
}
.common_company_section .container .company_block .block_box a {
  width: 100%;
  padding: 31.5rem 20rem 26rem;
  display: block;
  position: relative;
}
.common_company_section .container .company_block .block_box a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  transition: 0.4s;
}
.common_company_section .container .company_block .block_box a::after {
  content: "View more";
  width: 100%;
  height: 100%;
  font-family: YakuHanJP, "Montserrat";
  color: #fff;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
  background-color: rgba(73, 90, 39, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  opacity: 0;
}
.common_company_section .container .company_block .block_box a.about::before {
  background: -webkit-image-set(url(../images/common/common_company_about_bg.webp) 1x, url(../images/common/common_company_about_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/common/common_company_about_bg.webp) 1x, url(../images/common/common_company_about_bg@2x.webp) 2x) no-repeat center/cover;
}
.common_company_section .container .company_block .block_box a.recruit::before {
  background: -webkit-image-set(url(../images/common/common_company_recruit_bg.webp) 1x, url(../images/common/common_company_recruit_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/common/common_company_recruit_bg.webp) 1x, url(../images/common/common_company_recruit_bg@2x.webp) 2x) no-repeat center/cover;
}
.common_company_section .container .company_block .block_box a .box_ttl {
  position: relative;
  z-index: 2;
  transition: 0.4s;
}
.common_company_section .container .company_block .block_box a .box_ttl .en {
  font-size: 11rem;
}
.common_company_section .container .company_block .block_box a .box_ttl .jp {
  font-size: 24rem;
  margin-top: 1rem;
}
.common_company_section .container .company_block .block_box a .box_txt {
  position: relative;
  z-index: 2;
  margin-top: 10rem;
  transition: 0.4s;
}
.common_company_section .container .company_block .block_box a:hover::after {
  opacity: 1;
  transition: 0.4s;
}
.common_company_section .container .company_block .block_box a:hover .box_ttl {
  opacity: 0;
  transition: 0.4s;
}
.common_company_section .container .company_block .block_box a:hover .box_txt {
  opacity: 0;
  transition: 0.4s;
}
.common_company_section .container .company_block .block_box a:hover::before {
  transform: translate(-50%, -50%) scale(1.2);
  transition: 0.4s;
}

.common_ttl02 {
  width: 100%;
  position: relative;
  padding-bottom: 130rem;
}
.common_ttl02 .bg {
  width: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 70rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  opacity: 0.2;
  display: block;
  position: absolute;
  bottom: 0;
  left: -22.5rem;
}
.common_ttl02 .en {
  width: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 11rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.2em;
  text-align: center;
  display: block;
}
.common_ttl02 .jp {
  width: 100%;
  font-size: 24rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.15em;
  text-align: center;
  display: block;
}

.common_ttl03 {
  width: 100%;
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.27217391;
  letter-spacing: 0.085em;
  text-align: center;
}
.common_ttl03 .mont {
  font-family: YakuHanJP, "Montserrat";
}
.common_ttl03 .roboto {
  font-family: YakuHanJP, "roboto";
  font-size: 1.39130435em;
  position: relative;
  top: 1rem;
}
.common_ttl03 .color01 {
  color: #9cc455;
  font-size: 1.08695652em;
}
.common_ttl03 .color01 .roboto {
  font-size: 1.3em;
}

.common_ttl04 {
  width: 100%;
  display: flex;
  align-items: center;
  padding-bottom: 10rem;
  border-bottom: 2rem solid #9cc455;
}
.common_ttl04 .jp {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.15em;
  display: inline-block;
  margin-right: 8rem;
}
.common_ttl04 .en {
  font-family: YakuHanJP, "Montserrat";
  font-size: 12rem;
  color: #9cc455;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.2em;
  display: inline-block;
  padding-top: 4px;
}

.common_ttl05 {
  width: 100%;
}
.common_ttl05 .en {
  width: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 12em;
  color: #9cc455;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-align: center;
  display: block;
}
.common_ttl05 .jp {
  width: 100%;
  font-size: 18em;
  font-weight: 700;
  line-height: 1.555555;
  letter-spacing: 0.13em;
  text-align: center;
  display: block;
  margin-top: 7rem;
}

.common_column_list01 li .list01_wrapper {
  width: 100%;
  height: 100%;
}
.common_column_list01 li .list01_wrapper a {
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: block;
  overflow: hidden;
}
.common_column_list01 li .list01_wrapper a .list01_img {
  width: 100%;
  position: relative;
  border-radius: 20rem;
  overflow: hidden;
}
.common_column_list01 li .list01_wrapper a .list01_img::before {
  content: "View more";
  width: 100%;
  height: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 20rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(58, 74, 29, 0.5);
  border-radius: 10rem;
  z-index: 3;
  opacity: 0;
  transition: 0.4s;
}
.common_column_list01 li .list01_wrapper a .list01_img picture {
  width: 100%;
  padding-top: 69.2307692%;
  position: relative;
  overflow: hidden;
}
.common_column_list01 li .list01_wrapper a .list01_img picture img {
  width: 100%;
  border-radius: 10rem;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.4s;
  background-color: #eee;
}
.common_column_list01 li .list01_wrapper a .list01_box {
  width: 100%;
  padding: 18rem 0 0;
  position: relative;
}
.common_column_list01 li .list01_wrapper a .list01_box .category {
  font-size: 13rem;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 7rem 13rem;
  background-color: #6a6c65;
  border-radius: 25rem;
  display: inline-block;
}
.common_column_list01 li .list01_wrapper a .list01_box .date {
  font-family: YakuHanJP, "Montserrat";
  font-size: 12rem;
  color: #aeaeae;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  padding-left: 2.5rem;
  margin-top: 15rem;
}
.common_column_list01 li .list01_wrapper a .list01_box .ttl {
  width: 100%;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.35714286;
  letter-spacing: 0.15em;
  padding-left: 1rem;
  margin-top: 5.5rem;
}
.common_column_list01 li .list01_wrapper a:hover .list01_img::before {
  opacity: 1;
  transition: 0.4s;
}
.common_column_list01 li .list01_wrapper a:hover .list01_img picture img {
  transform: translate(-50%, -50%) scale(1.15);
  transition: 0.4s;
}

.common_news_list01 {
  width: 100%;
}
.common_news_list01 li {
  width: 100%;
  margin-top: 17.5rem;
}
.common_news_list01 li:first-of-type {
  margin-top: 0;
}
.common_news_list01 li a {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.common_news_list01 li a .date {
  font-family: YakuHanJP, "Montserrat";
  font-size: 14rem;
  color: #aeaeae;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  padding-top: 4rem;
  margin-right: 8rem;
}
.common_news_list01 li a .category {
  font-size: 12rem;
  height: 20rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  padding: 1.5rem 20rem 2.5rem;
  background-color: #6a6c65;
  border-radius: 25rem;
}
.common_news_list01 li a .ttl {
  width: 100%;
  font-size: 16rem;
  line-height: 1.3125;
  margin-top: 5.5rem;
}

.common_news_list02 {
  width: 100%;
}
.common_news_list02 li {
  width: 100%;
  border-bottom: 1rem solid #dddddd;
}
.common_news_list02 li a {
  width: 100%;
  padding: 20rem 10rem;
  display: flex;
  align-items: center;
  position: relative;
}
.common_news_list02 li a:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #f1f5ee;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.common_news_list02 li a .list01_img {
  width: 140rem;
  margin-right: 20rem;
  z-index: 2;
}
.common_news_list02 li a .list01_img picture {
  width: 100%;
  padding-top: 66.666666%;
  position: relative;
}
.common_news_list02 li a .list01_img picture img {
  width: 100%;
  height: 100%;
  border-radius: 20rem;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #eee;
}
.common_news_list02 li a .wrapper {
  width: calc(100% - 160rem);
  position: relative;
  z-index: 2;
}
.common_news_list02 li a .wrapper .data {
  width: 100%;
}
.common_news_list02 li a .wrapper .data .date {
  width: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 12rem;
  color: #aeaeae;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
}
.common_news_list02 li a .wrapper .data .category {
  min-width: 100rem;
  font-size: 12rem;
  height: 20rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 1.5rem 10rem 2.5rem;
  background-color: #9cc455;
  border-radius: 25rem;
  display: inline-block;
  margin-top: 8rem;
}
.common_news_list02 li a .wrapper .list01_ttl {
  margin-top: 10rem;
}
.common_news_list02 li a:hover:before {
  transform: scale(1, 1);
  transform-origin: left top;
}

.common_case_list01 li .list01_wrapper {
  width: 100%;
  height: 100%;
}
.common_case_list01 li .list01_wrapper a {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background-color: #fff;
  display: block;
  overflow: hidden;
}
.common_case_list01 li .list01_wrapper a .list01_img {
  width: 100%;
  position: relative;
}
.common_case_list01 li .list01_wrapper a .list01_img::before {
  content: "View more";
  width: 100%;
  height: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 20rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(58, 74, 29, 0.5);
  border-top-right-radius: 10rem;
  border-top-left-radius: 10rem;
  z-index: 3;
  opacity: 0;
  transition: 0.4s;
}
.common_case_list01 li .list01_wrapper a .list01_img picture {
  width: 100%;
  padding-top: 66.666666%;
  position: relative;
  overflow: hidden;
}
.common_case_list01 li .list01_wrapper a .list01_img picture img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.4s;
  background-color: #eee;
}
.common_case_list01 li .list01_wrapper a .list01_box {
  width: 100%;
  padding: 22rem 25.5rem 16rem;
  position: relative;
}
.common_case_list01 li .list01_wrapper a .list01_box .category {
  font-size: 13rem;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 4rem 11rem;
  background-color: #6a6c65;
  border-radius: 25rem;
  position: absolute;
  top: -1rem;
  right: 14.5rem;
  transform: translateY(-50%);
  z-index: 4;
}
.common_case_list01 li .list01_wrapper a .list01_box .date {
  width: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 12rem;
  color: #aeaeae;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  padding-left: 2rem;
}
.common_case_list01 li .list01_wrapper a .list01_box .ttl {
  width: 100%;
  line-height: 1.37571486;
  margin-top: 4.5rem;
}
.common_case_list01 li .list01_wrapper a:hover .list01_img::before {
  opacity: 1;
  transition: 0.4s;
}
.common_case_list01 li .list01_wrapper a:hover .list01_img picture img {
  transform: translate(-50%, -50%) scale(1.15);
  transition: 0.4s;
}

.common_mailmagazine_section {
  padding-top: 33.5rem;
  padding-bottom: 121.5rem;
  background: #ffffff;
  position: relative;
}
.common_mailmagazine_section::before {
  content: "";
  width: 359rem;
  height: 101.5rem;
  background: -webkit-image-set(url(../images/common/common_mailmagazine_bg_sp.webp) 1x, url(../images/common/common_mailmagazine_bg_sp@2x.webp) 2x) no-repeat center bottom/contain;
  background: image-set(url(../images/common/common_mailmagazine_bg_sp.webp) 1x, url(../images/common/common_mailmagazine_bg_sp@2x.webp) 2x) no-repeat center bottom/contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.common_mailmagazine_section .container .mailmagazine_ttl {
  width: 100%;
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.36;
  letter-spacing: 0.15em;
  text-align: center;
}
.common_mailmagazine_section .container .mailmagazine_ttl .en {
  font-family: YakuHanJP, "Montserrat";
}
.common_mailmagazine_section .container .mailmagazine_ttl .sp_mt1 {
  margin-top: 2rem;
  display: inline-block;
}
.common_mailmagazine_section .container .mailmagazine_txt {
  width: 100%;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.15em;
  text-align: center;
  margin-top: 13.5rem;
}
.common_mailmagazine_section .container .pipedriveWebForms {
  text-align: center;
  margin-top: 11.5rem;
}
.common_mailmagazine_section .container .pipedriveWebForms iframe {
  margin: 0 auto;
}

.common_ttl01 {
  width: 100%;
}
.common_ttl01 .en {
  width: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 12rem;
  color: #9cc455;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
  text-align: center;
  display: block;
}
.common_ttl01 .jp {
  width: 100%;
  font-size: 28rem;
  font-weight: 700;
  line-height: 1.57692308;
  letter-spacing: 0.15em;
  text-align: center;
  display: block;
  margin-top: 1.5rem;
}
.common_ttl01 .jp .small {
  font-size: 21rem;
  letter-spacing: 0.085em;
  display: block;
  margin-top: 10.5rem;
}
.common_ttl01.color01 .en {
  color: #fff;
}
.common_ttl01.color01 .jp {
  color: #fff;
}
.common_ttl01.color02 .en {
  color: #00c9b7;
}
.common_ttl01.color02 .jp .color {
  color: #00c9b7;
}

.common_txt01 {
  width: 100%;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.15em;
}

.common_txt02 {
  width: 100%;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
.common_txt02 .color01 {
  color: #9cc455;
  position: relative;
}
.common_txt02 .color01::before {
  content: "";
  width: 100%;
  height: 2rem;
  background-color: #9cc455;
  position: absolute;
  bottom: -2.5rem;
  left: 0;
}

.common_txt03 {
  width: 100%;
  font-size: 18rem;
  font-weight: 500;
  line-height: 1.555555;
  letter-spacing: 0.125em;
}
.common_txt03.color01 {
  color: #fff;
}

.common_service_list01 {
  width: 100%;
}
.common_service_list01 li {
  width: 100%;
  margin-top: 36.5rem;
}
.common_service_list01 li:first-of-type {
  margin-top: 0;
}
.common_service_list01 li a,
.common_service_list01 li span {
  width: 100%;
  display: block;
}
.common_service_list01 li a .list01_img,
.common_service_list01 li span .list01_img {
  width: 100%;
  position: relative;
  isolation: isolate;
}
.common_service_list01 li a .list01_img::before,
.common_service_list01 li span .list01_img::before {
  content: "View more";
  width: 100%;
  height: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 20rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(58, 74, 29, 0.5);
  border-radius: 10rem;
  z-index: 3;
  opacity: 0;
  transition: 0.4s;
}
.common_service_list01 li a .list01_img::after,
.common_service_list01 li span .list01_img::after {
  content: "";
  width: 25rem;
  height: 16rem;
  background: url(../images/common/service_arrow_r_w.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 15rem;
  transform: translateY(-50%);
  animation: tuntun 3s infinite linear 0s both;
}
@media all and (-ms-high-contrast: none) {
  .common_service_list01 li a .list01_img::after,
  .common_service_list01 li span .list01_img::after {
    background: url(../images/common/service_arrow_r_w.png) no-repeat center/contain;
  }
}
.common_service_list01 li a .list01_img picture,
.common_service_list01 li span .list01_img picture {
  width: 100%;
  padding-top: 73.9130435%;
  position: relative;
  overflow: hidden;
  border-radius: 10rem;
  isolation: isolate;
}
.common_service_list01 li a .list01_img picture img,
.common_service_list01 li span .list01_img picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.4s;
}
.common_service_list01 li .list01_ttl {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20rem auto 0;
}
.common_service_list01 li .list01_ttl picture img {
  margin: 0 auto;
}
.common_service_list01 li .list01_ttl.matcha {
  width: 181rem;
}
.common_service_list01 li .list01_ttl.mcm {
  width: 220.5rem;
}
.common_service_list01 li .list01_ttl.inbound {
  width: 208rem;
}
.common_service_list01 li .list01_txt {
  font-size: 16rem;
  text-align: center;
  margin-top: 13rem;
}
.common_service_list01 li span:hover .list01_img::before,
.common_service_list01 li a:hover .list01_img::before {
  opacity: 1;
  transition: 0.4s;
}
.common_service_list01 li span:hover .list01_img picture img,
.common_service_list01 li a:hover .list01_img picture img {
  transform: scale(1.15);
  transition: 0.4s;
}

@keyframes tuntun {
  0% {
    right: 15rem;
  }
  60% {
    right: 15rem;
  }
  70% {
    right: 5rem;
  }
  80% {
    right: 15rem;
  }
  90% {
    right: 5rem;
  }
  100% {
    right: 15rem;
  }
}
.common_btn01 {
  width: 100%;
}
.common_btn01 a {
  width: 230rem;
  height: 42rem;
  background-color: #9cc455;
  border-radius: 21rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  isolation: isolate;
}
.common_btn01 a:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #7ba433;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.common_btn01 a span {
  font-size: 16rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  display: inline-block;
  position: relative;
  z-index: 2;
}
.common_btn01 a:hover:before {
  transform: scale(1, 1);
  transform-origin: left top;
}

.common_btn05 {
  width: 100%;
  text-align: center;
}
.common_btn05 > a {
  display: inline-block;
  position: relative;
}
.common_btn05 > a .popup {
  width: 210rem;
  display: inline-block;
  border: solid 2rem #9cc455;
  padding: 5rem 10rem 4rem;
  background-color: #fff;
  border-radius: 20rem;
  text-align: center;
  position: absolute;
  top: -20rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.common_btn05 > a .popup::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7rem 5rem 0 5rem;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  bottom: -6rem;
  left: 50%;
  transform: translateX(-50%);
}
.common_btn05 > a .popup .txt01 {
  font-size: 14rem;
  color: #9cc455;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  display: inline-block;
  position: relative;
}
.common_btn05 > a .popup .txt01::before, .common_btn05 > a .popup .txt01::after {
  content: "";
  width: 15rem;
  height: 2rem;
  background-color: #9cc455;
  position: absolute;
  top: 8rem;
  left: -18rem;
  transform: rotate(61deg);
}
.common_btn05 > a .popup .txt01::after {
  left: auto;
  right: -18rem;
  transform: rotate(-61deg);
}
.common_btn05 > a .wrapper {
  width: 288rem;
  height: 48rem;
  padding-bottom: 4rem;
  background-color: #9cc455;
  border-radius: 40rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6rem 15rem 1rem rgba(0, 0, 0, 0.2);
  cursor: pointer;
  isolation: isolate;
  margin: 0 auto;
}
.common_btn05 > a .wrapper::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #7ba433;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.common_btn05 > a .wrapper > .account {
  font-size: 16rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  position: relative;
  z-index: 2;
  padding-left: 6rem;
}
.common_btn05 > a .wrapper > .account::before {
  content: "";
  width: 17.8rem;
  height: 20.1875rem;
  background: url(../images/common/account_icon_w.svg) no-repeat center/contain;
  position: absolute;
  top: -2rem;
  left: -20rem;
  z-index: 3;
}
@media all and (-ms-high-contrast: none) {
  .common_btn05 > a .wrapper > .account::before {
    background: url(../images/common/account_icon_w.png) no-repeat center/contain;
  }
}
.common_btn05 > a .wrapper > .account::after {
  content: "";
  width: 18rem;
  height: 18rem;
  background: url(../images/common/common_btn02_arrow_w.svg) no-repeat center/contain;
  position: absolute;
  top: 0rem;
  right: -14rem;
  transform: translateX(100%) rotate(-90deg);
  transition: 0.2s;
  z-index: 3;
}
@media all and (-ms-high-contrast: none) {
  .common_btn05 > a .wrapper > .account::after {
    background: url(../images/common/common_btn02_arrow_w.png) no-repeat center/contain;
  }
}
.common_btn05 > a .wrapper:hover:before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.common_btn05 > a .wrapper:hover .wrapper::after {
  top: 3rem;
  transition: 0.2s;
  transition-delay: 0.2s;
}

/*----------------------------------------------------------------------------
******************************************************************************
** mcm
******************************************************************************
----------------------------------------------------------------------------*/
.no_fv {
  margin-top: 60rem;
}

.fv {
  margin-top: 60rem;
}
.fv.mcm {
  padding-top: 11rem;
  padding-bottom: 20rem;
  position: relative;
  overflow: hidden;
}
.fv.mcm::before {
  content: "";
  width: 360rem;
  height: 274rem;
  position: absolute;
  top: 175rem;
  right: 0;
  background: -webkit-image-set(url(../images/mcm/fv_bg.webp) 1x, url(../images/mcm/fv_bg@2x.webp) 2x) repeat-x top left;
  background: image-set(url(../images/mcm/fv_bg.webp) 1x, url(../images/mcm/fv_bg@2x.webp) 2x) repeat-x top left;
  border-top-left-radius: 10rem;
  border-bottom-left-radius: 10rem;
  z-index: 1;
}
.fv.mcm .container {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}
.fv.mcm .container .fv_ttl {
  width: 100%;
  order: 2;
  margin-top: 18rem;
}
.fv.mcm .container .fv_ttl picture {
  width: 270rem;
  margin: 0 auto;
}
.fv.mcm .container .fv_txt {
  width: 100%;
  order: 1;
}
.fv.mcm .container .fv_txt picture {
  width: 267.5rem;
  margin: 0 auto;
}
.fv.mcm .container .fv_list01 {
  width: 100%;
  border-radius: 10rem;
  padding: 16rem 20rem;
  background-color: #fffced;
  margin-top: 60rem;
  order: 4;
}
.fv.mcm .container .fv_list01 ul {
  width: 100%;
}
.fv.mcm .container .fv_list01 ul li {
  width: 100%;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding-left: 25rem;
  margin-top: 10rem;
  position: relative;
}
.fv.mcm .container .fv_list01 ul li::before {
  content: "";
  width: 20rem;
  height: 17rem;
  background: url(../images/mcm/check_icon.png) no-repeat center/contain;
  background: url(../images/mcm/check_icon.svg) no-repeat center/contain;
  position: absolute;
  top: 5rem;
  left: 0;
}
.fv.mcm .container .fv_list01 ul li:first-of-type {
  margin-top: 0;
}
.fv.mcm .container .fv_list01 ul li span {
  color: #f95738;
  text-decoration: underline;
  text-underline-offset: 6rem;
}
.fv.mcm .container .fv_btn01 {
  order: 4;
  margin-top: 54rem;
  position: relative;
  z-index: 3;
}
.fv.mcm .container .fv_btn02 {
  order: 5;
  margin-top: 20rem;
  position: relative;
  z-index: 3;
}
.fv.mcm .container .fv_img {
  width: 100%;
  order: 3;
  margin-top: 47rem;
}
.fv.mcm .container .fv_img .window {
  width: 100%;
}
.fv.mcm .container .fv_img .screen_slide {
  width: 280rem;
  position: absolute;
  top: 208rem;
  left: 38rem;
  z-index: 1;
}
.fv.mcm .container .fv_img .badge {
  width: 140rem;
  position: absolute;
  top: 160rem;
  right: -10rem;
  z-index: 3;
}
.fv.mcm .container02 {
  padding-top: 32rem;
}
.fv.mcm .container02 .block01_box01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.fv.mcm .container02 .block01_box01 .box01_ttl01 {
  width: 90rem;
  height: 26rem;
  background: #00c9b7;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5rem;
  margin-right: 12rem;
}
.fv.mcm .container02 .block01_box01 .box01_ttl01 span {
  font-size: 14rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
}
.fv.mcm .container02 .block01_box01 .box01_txt01 {
  font-family: YakuHanJP, "Montserrat";
  font-size: 16rem;
  color: #00c9b7;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  padding-top: 6rem;
}
.fv.mcm .container02 .block01_box01 .box01_txt02 {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.185em;
  text-align: center;
  margin-top: 10rem;
}
.fv.mcm .container02 .block01_slider01 {
  margin-top: 20rem;
}
.fv.inbound {
  padding-bottom: 50rem;
}
.fv.inbound .container {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  position: relative;
}
.fv.inbound .container::before {
  content: "";
  width: 360rem;
  height: 251rem;
  position: absolute;
  top: 166.5rem;
  left: 0;
  background: -webkit-image-set(url(../images/inbound/fv_bg_sp.webp) 1x, url(../images/inbound/fv_bg_sp@2x.webp) 2x) no-repeat center/contain;
  background: image-set(url(../images/inbound/fv_bg_sp.webp) 1x, url(../images/inbound/fv_bg_sp@2x.webp) 2x) no-repeat center/contain;
  z-index: 1;
}
.fv.inbound .container .fv_ttl {
  width: 100%;
  order: 2;
  margin-top: 12.5rem;
}
.fv.inbound .container .fv_ttl picture {
  width: 265.38rem;
  margin: 0 auto;
}
.fv.inbound .container .fv_txt {
  width: 100%;
  order: 1;
  margin-left: -1.5rem;
}
.fv.inbound .container .fv_txt picture {
  width: 351rem;
}
.fv.inbound .container .fv_btn {
  order: 3;
  margin-top: 300.5rem;
  position: relative;
  z-index: 3;
}
.fv.matcha {
  padding-top: 50rem;
  padding-bottom: 40rem;
  position: relative;
  overflow: hidden;
  background: -webkit-image-set(url(../images/matcha/fv_bg01.webp) 1x, url(../images/matcha/fv_bg01@2x.webp) 2x) no-repeat top center/cover;
  background: image-set(url(../images/matcha/fv_bg01.webp) 1x, url(../images/matcha/fv_bg01@2x.webp) 2x) no-repeat top center/cover;
}
.fv.matcha .container {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  position: relative;
}
.fv.matcha .container .fv_ttl {
  width: 100%;
  order: 2;
  margin-top: 20rem;
}
.fv.matcha .container .fv_ttl picture {
  width: 324rem;
  margin: 0 auto;
}
.fv.matcha .container .fv_txt {
  width: 100%;
}
.fv.matcha .container .fv_txt picture {
  width: 320rem;
  margin: 0 auto;
}
.fv.matcha .container .fv_btn {
  order: 4;
  margin-top: 30rem;
  position: relative;
  z-index: 3;
}
.fv.matcha .container .fv_btn > a {
  width: 100%;
}
.fv.matcha .container .fv_img {
  width: 100%;
  z-index: 2;
  order: 3;
  margin-top: 30rem;
}

.sub_fv {
  height: 200rem;
  position: relative;
  background-color: transparent;
}
.sub_fv::after {
  content: "";
  width: 100%;
  height: 30rem;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.sub_fv .sub_fv_img {
  width: 100%;
  height: 170rem;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.sub_fv .sub_fv_img picture {
  width: 100%;
  height: 100%;
}
.sub_fv .sub_fv_img picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10rem;
  overflow: hidden;
}
.sub_fv .container {
  height: 100%;
  position: relative;
  z-index: 2;
}
.sub_fv .container .sub_fv_ttl01 {
  width: 230rem;
  height: 90rem;
  padding: 22rem 15rem 5rem 0;
  border-top-right-radius: 20rem;
  border-bottom-right-radius: 20rem;
  background-color: #9cc455;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
}
.sub_fv .container .sub_fv_ttl01 .jp {
  font-size: 20rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.15em;
  display: block;
  position: relative;
  left: -3rem;
  z-index: 4;
}
.sub_fv .container .sub_fv_ttl01 .en {
  font-family: YakuHanJP, "Montserrat";
  font-size: 11rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.2em;
  display: block;
  margin-top: 8rem;
  position: relative;
  z-index: 4;
}
.sub_fv .container .sub_fv_ttl01::before {
  content: "";
  width: 16rem;
  height: 100%;
  background-color: #9cc455;
  position: absolute;
  top: 0;
  left: 1rem;
  transform: translateX(-100%);
  z-index: 3;
}
.sub_fv.request::before {
  background: -webkit-image-set(url(../images/request/fv_bg.webp) 1x, url(../images/request/fv_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/request/fv_bg.webp) 1x, url(../images/request/fv_bg@2x.webp) 2x) no-repeat center/cover;
}
.sub_fv.detail {
  height: 90rem;
  background-color: #9cc455;
}
.sub_fv.detail::after {
  display: none;
}
.sub_fv.detail .container {
  display: flex;
  align-items: center;
}
.sub_fv.detail .container .detail_ttl01 {
  width: 100%;
  text-align: center;
}
.sub_fv.detail .container .detail_ttl01 .jp {
  font-size: 20rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.15em;
  display: block;
}
.sub_fv.detail .container .detail_ttl01 .en {
  font-family: YakuHanJP, "Montserrat";
  font-size: 11rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.2em;
  display: block;
  margin-top: 8rem;
}

.Breadcrumb {
  width: 100%;
  background-color: #fff;
  padding: 20rem 15rem;
}
.Breadcrumb ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.Breadcrumb ul li {
  margin-right: 21rem;
  position: relative;
}
.Breadcrumb ul li::before {
  content: "";
  width: 8rem;
  height: 5rem;
  background: url(../images/common/nav_arrow_g.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: -14rem;
  transform: translateY(-50%) rotate(-90deg);
}
@media all and (-ms-high-contrast: none) {
  .Breadcrumb ul li::before {
    background: url(../images/common/nav_arrow_g.png) no-repeat center/contain;
  }
}
.Breadcrumb ul li a,
.Breadcrumb ul li span {
  font-size: 12rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.15em;
  display: inline-block;
}
.Breadcrumb ul li a {
  color: #9cc455;
}
.Breadcrumb ul li:last-of-type {
  margin-right: 0;
}
.Breadcrumb ul li:last-of-type::before {
  display: none;
}

.common_btn02 {
  width: 100%;
}
.common_btn02 > a,
.common_btn02 > span {
  width: 288rem;
  height: 48rem;
  padding-bottom: 2rem;
  background-color: #f1962b;
  border-radius: 40rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6rem 15rem 1rem rgba(0, 0, 0, 0.2);
  cursor: pointer;
  isolation: isolate;
  margin: 0 auto;
}
.common_btn02 > a:before,
.common_btn02 > span:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #f17c1e;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.common_btn02 > a > span,
.common_btn02 > span > span {
  font-size: 16rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  position: relative;
  z-index: 2;
}
.common_btn02 > a > span::after,
.common_btn02 > span > span::after {
  content: "";
  width: 18rem;
  height: 18rem;
  background: url(../images/common/common_btn02_arrow_w.svg) no-repeat center/contain;
  position: absolute;
  top: 0rem;
  right: -14rem;
  transform: translateX(100%);
  transition: 0.2s;
  z-index: 3;
}
@media all and (-ms-high-contrast: none) {
  .common_btn02 > a > span::after,
  .common_btn02 > span > span::after {
    background: url(../images/common/common_btn02_arrow_w.png) no-repeat center/contain;
  }
}
.common_btn02 > a > span.arrow,
.common_btn02 > span > span.arrow {
  position: static;
}
.common_btn02 > a > span.arrow::before,
.common_btn02 > span > span.arrow::before {
  display: none;
}
.common_btn02 > a > span.arrow::after,
.common_btn02 > span > span.arrow::after {
  width: 18rem;
  height: 18rem;
  border-radius: 50%;
  top: 14rem;
  right: 33rem;
  transform: translateX(0);
  background: url(../images/common/nav_arrow_r_g.svg) no-repeat center left 8rem/4.2rem 7.2rem, #fff;
}
@media all and (-ms-high-contrast: none) {
  .common_btn02 > a > span.arrow::after,
  .common_btn02 > span > span.arrow::after {
    background: url(../images/common/nav_arrow_r_g.png) no-repeat center left 8rem/4.2rem 7.2rem, #fff;
  }
}
.common_btn02 > a > span.document,
.common_btn02 > span > span.document {
  padding-left: 22rem;
}
.common_btn02 > a > span.document::before,
.common_btn02 > span > span.document::before {
  content: "";
  width: 17rem;
  height: 19rem;
  background: url(../images/common/document_icon_w.svg) no-repeat center/contain;
  position: absolute;
  top: -1rem;
  left: -7rem;
}
@media all and (-ms-high-contrast: none) {
  .common_btn02 > a > span.document::before,
  .common_btn02 > span > span.document::before {
    background: url(../images/common/document_icon_w.png) no-repeat center/contain;
  }
}
.common_btn02 > a > span.mail,
.common_btn02 > span > span.mail {
  letter-spacing: 0.05em;
  padding-left: 5rem;
  padding-bottom: 4rem;
}
.common_btn02 > a > span.mail::before,
.common_btn02 > span > span.mail::before {
  content: "";
  width: 18rem;
  height: 13.5rem;
  background: url(../images/common/mail_icon_w.svg) no-repeat center/contain;
  position: absolute;
  top: 1rem;
  left: -27rem;
}
@media all and (-ms-high-contrast: none) {
  .common_btn02 > a > span.mail::before,
  .common_btn02 > span > span.mail::before {
    background: url(../images/common/mail_icon_w.png) no-repeat center/contain;
  }
}
.common_btn02 > a > span.mail::after,
.common_btn02 > span > span.mail::after {
  top: -1rem;
  right: -13rem;
}
.common_btn02 > a > span.toggle,
.common_btn02 > span > span.toggle {
  position: static;
}
.common_btn02 > a > span.toggle::after,
.common_btn02 > span > span.toggle::after {
  display: none;
}
.common_btn02 > a > span.toggle .trigger,
.common_btn02 > span > span.toggle .trigger {
  width: 20rem;
  height: 20rem;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 48%;
  right: 10rem;
  transform: translateY(-50%);
}
.common_btn02 > a > span.toggle .trigger::before, .common_btn02 > a > span.toggle .trigger::after,
.common_btn02 > span > span.toggle .trigger::before,
.common_btn02 > span > span.toggle .trigger::after {
  content: "";
  width: 9rem;
  height: 2rem;
  background-color: #585b5b;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.common_btn02 > a > span.toggle .trigger::after,
.common_btn02 > span > span.toggle .trigger::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: 0.2s;
}
.common_btn02 > a:hover:before,
.common_btn02 > span:hover:before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.common_btn02 > a:hover span::after,
.common_btn02 > span:hover span::after {
  top: 3rem;
  transition: 0.2s;
  transition-delay: 0.2s;
}
.common_btn02 > a:hover .arrow::after,
.common_btn02 > span:hover .arrow::after {
  top: 24rem;
  right: 23rem !important;
}
.common_btn02.color01 > a,
.common_btn02.color01 > span {
  background-color: #585b5b;
}
.common_btn02.color01 > a:before,
.common_btn02.color01 > span:before {
  background: #4d5050;
}
.common_btn02.color02 > a,
.common_btn02.color02 > span {
  background-color: #f95738;
}
.common_btn02.color03 > a,
.common_btn02.color03 > span {
  background-color: #9cc455;
}
.common_btn02.open .trigger::after {
  transform: translate(-50%, -50%) !important;
  transition: 0.2s;
}

.mcm_cv_bunner {
  position: fixed;
  bottom: -5rem;
  right: -5rem;
  z-index: 101;
}
.mcm_cv_bunner.show {
  opacity: 0;
  pointer-events: none;
}
.mcm_cv_bunner a {
  width: 180rem;
  display: block;
  position: relative;
  z-index: 1;
  transition: 0.2s;
}
.mcm_cv_bunner a:hover {
  opacity: 0.7;
}
.mcm_cv_bunner .close {
  width: 20rem;
  height: 20rem;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: -20rem;
  right: 4rem;
  cursor: pointer;
  z-index: 2;
}
.mcm_cv_bunner .close::before, .mcm_cv_bunner .close::after {
  content: "";
  width: 2rem;
  height: 10rem;
  background-color: #00c9b7;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.mcm_cv_bunner .close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.mcm01 {
  padding-top: 20rem;
  padding-bottom: 50rem;
  background-color: #eafaf9;
  position: relative;
}
.mcm01::before {
  content: "";
  width: 100%;
  height: 210rem;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.mcm01 .container {
  position: relative;
  z-index: 2;
}
.mcm01 .container .mcm01_ttl01 .jp {
  line-height: 1.4;
  margin-top: 4rem;
}
.mcm01 .container .mcm01_block02 {
  width: 100%;
  margin-top: 30rem;
}
.mcm01 .container .mcm01_block02 .block01_video01 {
  width: 100%;
  margin-top: 20rem;
  box-shadow: 0 15rem 20rem 2.5rem rgba(0, 0, 0, 0.15);
}
.mcm01 .container .mcm01_block02 .block01_video01 .wrapper {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
}
.mcm01 .container .mcm01_block02 .block01_video01 .wrapper iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.mcm01 .container .mcm01_block02 .block01_txt01 {
  width: 100%;
  font-size: 14rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.15em;
  margin-top: 25rem;
}
.mcm01 .container .mcm01_block02 .block01_txt01 .color01 {
  font-weight: 900;
  color: #00c9b7;
}
.mcm01 .container .mcm01_block01 {
  width: 100%;
  padding: 30rem 20rem;
  background-color: #fff;
  margin-top: 30rem;
}
.mcm01 .container .mcm01_block01 .block01_ttl01 {
  width: 100%;
  text-align: center;
}
.mcm01 .container .mcm01_block01 .block01_ttl01 .txt01 {
  width: 100%;
  font-size: 16rem;
  color: #9cc455;
  line-height: 2;
  letter-spacing: 0.1em;
  padding-bottom: 3rem;
  display: inline;
  position: relative;
  background: linear-gradient(transparent 95%, #9cc455 5%);
}
.mcm01 .container .mcm01_block01 .block01_ttl01 .img01 {
  width: 200rem;
  display: inline-block;
  margin-right: 5rem;
  margin-top: 10rem;
}
.mcm01 .container .mcm01_block01 .block01_ttl01 .txt02 {
  font-size: 24rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: inline-block;
  position: relative;
  top: -6rem;
}
.mcm01 .container .mcm01_block01 .block01_txt01 {
  font-size: 14rem;
  text-align: left;
  margin-top: 10rem;
}
.mcm01 .container .mcm01_block01 .block01_box01 {
  width: 100%;
  margin-top: 20rem;
}
.mcm01 .container .mcm01_block01 .block01_box01 .box01_img01 {
  width: 100%;
}
.mcm01 .container .mcm01_block01 .block01_box01 .box01_img01 picture {
  width: 300rem;
  margin: 0 auto;
}
.mcm01 .container .mcm01_block01 .block01_box01 .box01_inner01 {
  margin-top: 10rem;
}
.mcm01 .container .mcm01_block01 .block01_box01 .box01_inner01 .inner01_list01 {
  margin-top: 10rem;
}
.mcm01 .container .mcm01_block01 .block01_box02 {
  display: none;
}
.mcm01 .container .mcm01_block01 .block01_box02 .box02_inner01 .block03_txt01 {
  line-height: 1.0454545455;
}
.mcm01 .container .mcm01_block01 .block01_box02 .box02_inner04 .block03_txt01 {
  line-height: 1.2;
}
.mcm01 .container .mcm01_block01 .block01_btn01 {
  margin-top: 25rem;
}
.mcm01 .container .mcm01_block01 .block01_btn01 > a {
  margin: 0 auto;
}
.mcm01 .container .mcm01_block01 .block01_btn01 > a span {
  letter-spacing: 0.11em;
  padding-right: 5rem;
}
.mcm01 .container .mcm01_block01 .block01_btn01.open > a span {
  padding-right: 0;
}

.mcm02 {
  padding-top: 50rem;
  padding-bottom: 50rem;
  background-color: #eafaf9;
  position: relative;
}
.mcm02::before {
  content: "";
  width: 100%;
  height: 1240rem;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
.mcm02 .container {
  position: relative;
  z-index: 2;
}
.mcm02 .container .mcm02_ttl01 .jp {
  line-height: 1.4;
  margin-top: 4rem;
}
.mcm02 .container .mcm02_txt01 {
  font-size: 14rem;
  line-height: 2;
  margin-top: 20rem;
}
.mcm02 .container .mcm02_block01 {
  width: 100%;
  margin-top: 30rem;
  position: relative;
}
.mcm02 .container .mcm02_block01::before {
  content: "";
  width: 330rem;
  height: 70rem;
  background: -webkit-image-set(url(../images/mcm/mcm02_block01_img07_sp.webp) 1x, url(../images/mcm/mcm02_block01_img07_sp@2x.webp) 2x) no-repeat center/contain;
  background: image-set(url(../images/mcm/mcm02_block01_img07_sp.webp) 1x, url(../images/mcm/mcm02_block01_img07_sp@2x.webp) 2x) no-repeat center/contain;
  position: absolute;
  top: calc(50% - 12rem);
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
.mcm02 .container .mcm02_block01 .slick-arrow {
  width: 35rem;
  height: 35rem;
  background-color: #00c9b7;
  cursor: pointer;
  border-radius: 50%;
  position: absolute;
  top: 85rem;
  z-index: 4;
}
.mcm02 .container .mcm02_block01 .slick-arrow::before {
  content: "";
  width: 7rem;
  height: 12.5rem;
  background: url(../images/common/slide_arrow_w.svg) no-repeat center/contain;
  position: absolute;
  top: 11.5rem;
}
@media all and (-ms-high-contrast: none) {
  .mcm02 .container .mcm02_block01 .slick-arrow::before {
    background: url(../images/common/slide_arrow_w.png) no-repeat center/contain;
  }
}
.mcm02 .container .mcm02_block01 .slick-arrow.slick-prev {
  left: 0;
}
.mcm02 .container .mcm02_block01 .slick-arrow.slick-prev::before {
  left: 13rem;
}
.mcm02 .container .mcm02_block01 .slick-arrow.slick-next {
  right: 0;
}
.mcm02 .container .mcm02_block01 .slick-arrow.slick-next::before {
  right: 13rem;
  transform: scale(-1, 1);
}
.mcm02 .container .mcm02_block01 .block01_box {
  width: 100%;
}
.mcm02 .container .mcm02_block01 .block01_box .box_ttl01 {
  width: 90rem;
  height: 35rem;
  padding: 11rem 8rem 0;
  background-color: #00c9b7;
  border-radius: 5rem;
  text-align: center;
  margin-left: 30rem;
  display: flex;
  position: relative;
  z-index: 2;
}
.mcm02 .container .mcm02_block01 .block01_box .box_ttl01 .txt {
  width: 100%;
  font-size: 14rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  display: inline-block;
  text-align: center;
  margin-right: -6rem;
}
.mcm02 .container .mcm02_block01 .block01_box .box_ttl01 .ttl {
  width: 100%;
  font-family: YakuHanJP, "roboto";
  font-size: 28rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  display: inline-block;
  text-align: center;
  margin-top: -7rem;
}
.mcm02 .container .mcm02_block01 .block01_box .box_img01 {
  width: 100%;
  margin-top: -24rem;
  position: relative;
  z-index: 1;
  padding-left: 39rem;
}
.mcm02 .container .mcm02_block01 .block01_box .box_img01 picture {
  width: 266rem;
}
.mcm02 .container .mcm02_block01 .block01_box .box_ttl02 {
  width: 100%;
  font-size: 19.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  padding-bottom: 12rem;
  position: relative;
  margin-top: 9rem;
}
.mcm02 .container .mcm02_block01 .block01_box .box_ttl02::before {
  content: "";
  width: 345rem;
  height: 8rem;
  background: url(../images/common/box_ttl02_item_sp.svg) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media all and (-ms-high-contrast: none) {
  .mcm02 .container .mcm02_block01 .block01_box .box_ttl02::before {
    background: url(../images/common/box_ttl02_item_sp.png) no-repeat center/contain;
  }
}
.mcm02 .container .mcm02_block01 .block01_box .box_list01 {
  margin-top: 5rem;
  position: relative;
  padding-bottom: 106rem;
}
.mcm02 .container .mcm02_block01 .block01_box .box_list01::before {
  content: "";
  width: 5rem;
  height: 90rem;
  background-color: #f1962b;
  position: absolute;
  bottom: 12rem;
  left: 50%;
  transform: translateX(-50%);
}
.mcm02 .container .mcm02_block01 .block01_box .box_list01::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12rem 11.5rem 0 11.5rem;
  border-color: #f1962b transparent transparent transparent;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.mcm02 .container .mcm02_block01 .block01_box .box_ttl03 {
  width: 100%;
  text-align: center;
  margin-top: 3.5rem;
}
.mcm02 .container .mcm02_block01 .block01_box .box_ttl03 .ttl {
  font-size: 19.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  padding: 4rem 7rem 6rem;
  background-color: #f1962b;
  display: inline-block;
  white-space: nowrap;
  margin-top: 3rem;
}
.mcm02 .container .mcm02_block01 .block01_box .box_ttl03 .ttl:first-of-type {
  margin-top: 0;
}
.mcm02 .container .mcm02_block01 .block01_box .box_ttl03 .ttl.mwn {
  min-width: auto;
  min-width: initial;
}
.mcm02 .container .mcm02_block01 .block01_box .box_ttl03 .ttl .roboto {
  font-family: YakuHanJP, "Roboto";
  font-size: 1.35714286em;
  line-height: 0;
  display: inline-block;
  margin-top: -6rem;
  position: relative;
  top: 2rem;
}
.mcm02 .container .mcm02_block01 .block01_box .box_img02 {
  width: 235rem;
  box-shadow: 0 0 20rem 2rem rgba(0, 0, 0, 0.05);
  margin: 10rem auto 0;
}
.mcm02 .container .mcm02_block01 .block01_box .box_list02 {
  margin-top: 12rem;
}

.mcm03 {
  padding-top: 42rem;
  padding-bottom: 42rem;
  overflow: hidden;
}
.mcm03 .container .mcm03_block01 {
  margin-top: 40rem;
}
.mcm03 .container .mcm03_block02 {
  margin-top: 50rem;
}
.mcm03 .container .mcm03_block03 {
  margin-top: 50rem;
}
.mcm03 .container .mcm03_block04 {
  width: 100%;
  padding: 30rem 20rem;
  background: -webkit-image-set(url(../images/mcm/mcm03_block04_bg01.webp) 1x, url(../images/mcm/mcm03_block04_bg01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/mcm/mcm03_block04_bg01.webp) 1x, url(../images/mcm/mcm03_block04_bg01@2x.webp) 2x) no-repeat center/cover;
  margin-top: 50rem;
  box-shadow: 0 6rem 15rem 1rem rgba(0, 0, 0, 0.2);
}
.mcm03 .container .mcm03_block04 .block04_ttl01 {
  width: 100%;
  text-align: center;
}
.mcm03 .container .mcm03_block04 .block04_ttl01 .ttl {
  font-family: YakuHanJP, "Montserrat";
  font-size: 20rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  display: inline-block;
  padding-bottom: 7rem;
  border-bottom: 2rem solid #fff;
}
.mcm03 .container .mcm03_block04 .block04_txt01 {
  width: 100%;
  font-size: 20rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.15em;
  text-align: center;
  margin-top: 14rem;
}
.mcm03 .container .mcm03_block04 .block04_btn01 {
  margin-top: 23rem;
}

.mcm10 {
  padding: 42rem 0;
  background-color: #f4f4f4;
}
.mcm10 .container .mcm10_ttl02 {
  width: 100%;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 50rem;
}
.mcm10 .container .mcm10_ttl02:first-of-type {
  margin-top: 0;
}
.mcm10 .container .mcm10_list01 {
  width: 100%;
  padding: 0 20rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30rem;
}
.mcm10 .container .mcm10_list01 li {
  width: 49%;
  margin-top: 20rem;
  border-radius: 10rem;
  overflow: hidden;
}
.mcm10 .container .mcm10_list01 li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.mcm10 .container .mcm10_list01 li:last-of-type {
  width: 100%;
  padding-right: 3rem;
  text-align: right;
}
.mcm10 .container .mcm10_list01 li:last-of-type p {
  font-family: YakuHanJP, "Montserrat";
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}

.mcm11 {
  padding-top: 42rem;
  padding-bottom: 42rem;
  background-color: #eafaf9;
}
.mcm11 .container .mcm11_txt01 {
  text-align: center;
  margin-top: 20rem;
}
.mcm11 .container .mcm11_list01 {
  width: 100%;
  margin-top: 30rem;
}
.mcm11 .container .mcm11_list01 li {
  width: 100%;
  background-color: #fff;
  border: solid 3rem #00c9b7;
  border-radius: 20rem;
}
.mcm11 .container .mcm11_list01 li .list01_ttl01 {
  width: 100%;
  font-size: 18rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 10rem;
  background-color: #00c9b7;
  border-top-right-radius: 10rem;
  border-top-left-radius: 10rem;
  text-align: center;
}
.mcm11 .container .mcm11_list01 li .list01_ttl01 span {
  font-size: 22rem;
  letter-spacing: 0.1em;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 {
  width: 100%;
  padding: 20rem 20rem 30rem;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .wrap {
  display: block;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .wrap .inner01_txt01 {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.555555;
  letter-spacing: 0.1em;
  text-align: center;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .wrap .inner01_txt03 {
  text-align: center;
  margin-top: 2rem;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .inner01_txt02 {
  width: 100%;
  text-align: center;
  margin-top: 10rem;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .inner01_txt02 .yen {
  font-family: YakuHanJP, "Roboto";
  font-size: 48rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  display: inline-block;
  margin-right: 8rem;
  position: relative;
  top: 2rem;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .inner01_txt02 .price {
  font-family: YakuHanJP, "Roboto";
  font-size: 57rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  display: inline-block;
  margin-right: 7rem;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .inner01_txt02 .txt01 {
  font-size: 24rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  display: inline-block;
  position: relative;
  top: -4rem;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .inner01_txt02 .txt02 {
  width: 100%;
  font-size: 20rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  padding-right: 65rem;
  display: block;
  margin-top: 10rem;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .inner01_btn01 {
  margin-top: 20rem;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .inner01_btn01 a {
  padding: 5rem 15rem 5rem 5rem;
  margin: 0 auto;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .inner01_btn01 a span {
  line-height: 1.4;
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .inner01_btn01 a span::after {
  top: 50%;
  right: -22rem;
  transform: translateY(-50%) rotate(-90deg);
}
.mcm11 .container .mcm11_list01 li .list01_inner01 .inner01_btn01 a span span {
  font-size: 14rem;
  letter-spacing: 0.1em;
}
.mcm11 .container .mcm11_list01 li.pro {
  border: solid 3rem #d69a27;
  margin-top: 20rem;
}
.mcm11 .container .mcm11_list01 li.pro .list01_ttl01 {
  background-color: #d69a27;
}
.mcm11 .container .mcm11_list01 li.pro .list01_inner01 .inner01_txt02 .txt02 {
  padding: 0;
}
.mcm11 .container .mcm11_list01 li.pro .list01_inner01 .inner01_btn01 a {
  padding: 5rem;
}
.mcm11 .container .mcm11_list01 li.pro .list01_inner01 .inner01_btn01 a span {
  padding-bottom: 0;
}
.mcm11 .container .mcm11_list01 li.pro .list01_inner01 .inner01_btn01 a span::before {
  top: 5rem;
  left: -24rem;
}
.mcm11 .container .mcm11_list01 li.pro .list01_inner01 .inner01_btn01 a span::after {
  right: -28rem;
}
.mcm11 .container .mcm11_txt02 {
  line-height: 1.71428571;
  text-align: center;
  margin-top: 30rem;
}

.mcm04 {
  padding: 42rem 0;
  background-color: #f4f4f4;
}
.mcm04 .container {
  max-width: initial;
  max-width: auto;
}
.mcm04 .container .mcm04_slider01 {
  margin-top: 37rem;
  margin-bottom: 0;
}
.mcm04 .container .mcm04_slider01 .slick-slide {
  opacity: 0.4;
}
.mcm04 .container .mcm04_slider01 .slick-slide.slick-active {
  opacity: 1;
}
.mcm04 .container .mcm04_slider01 .slick-slide .list01_wrapper {
  padding: 0 5.42168675%;
}
.mcm04 .container .mcm04_slider01 .slick-dots {
  display: none !important;
}
.mcm04 .container .mcm04_slider01 .slick-track {
  display: flex;
}
.mcm04 .container .mcm04_slider01 .slick-slide {
  height: auto !important;
}
.mcm04 .container .mcm04_slider01 .slick-arrow {
  width: 35rem;
  height: 35rem;
  background-color: #00c9b7;
  cursor: pointer;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  z-index: 4;
}
.mcm04 .container .mcm04_slider01 .slick-arrow::before {
  content: "";
  width: 7rem;
  height: 12.5rem;
  background: url(../images/common/slide_arrow_w.svg) no-repeat center/contain;
  position: absolute;
  top: 11.5rem;
}
@media all and (-ms-high-contrast: none) {
  .mcm04 .container .mcm04_slider01 .slick-arrow::before {
    background: url(../images/common/slide_arrow_w.png) no-repeat center/contain;
  }
}
.mcm04 .container .mcm04_slider01 .slick-arrow.slick-prev {
  left: 9.5%;
}
.mcm04 .container .mcm04_slider01 .slick-arrow.slick-prev::before {
  left: 13rem;
}
.mcm04 .container .mcm04_slider01 .slick-arrow.slick-next {
  right: 9.5%;
}
.mcm04 .container .mcm04_slider01 .slick-arrow.slick-next::before {
  right: 13rem;
  transform: scale(-1, 1);
}
.mcm04 .container .mcm04_btn01 {
  margin-top: 30rem;
}
.mcm04 .container .mcm04_btn01 a {
  margin: 0 auto;
}
.mcm04 .container .mcm04_btn01 a span {
  letter-spacing: 0.1em;
}

.common_btn03 {
  width: 100%;
  text-align: center;
}
.common_btn03 a {
  width: 228rem;
  height: 48rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0 auto;
  border: solid 2rem #fff;
  border-radius: 50rem;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.common_btn03 a:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.common_btn03 a span {
  font-family: YakuHanJP, "Montserrat";
  font-size: 16rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.15em;
  display: inline-block;
  position: relative;
  z-index: 2;
}
.common_btn03 a:hover {
  background-color: #fff;
  transition-delay: 0.4s;
}
.common_btn03 a:hover:before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.common_btn03 a:hover span {
  color: #00c9b7;
  transition: 0.2s;
  transition-delay: 0.2s;
}

.common_mcm_block01 {
  width: 100%;
  padding-bottom: 0;
  position: relative;
  border-top: 1px solid transparent;
}
.common_mcm_block01::before {
  content: "";
  width: calc(100vw - 15rem);
  height: calc(100% - 30rem);
  background-color: #eafaf9;
  border-top-right-radius: 10rem;
  border-bottom-right-radius: 10rem;
  position: absolute;
  top: 0;
  left: -15rem;
  z-index: 1;
}
.common_mcm_block01 .block01_num01 {
  font-size: 42rem;
  font-family: YakuHanJP, "Roboto";
  color: #b2efe9;
  font-weight: 600;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-50%);
  z-index: 2;
}
.common_mcm_block01 .block01_ttl01 {
  width: 100%;
  text-align: center;
  position: relative;
  margin-top: -22.5rem;
  z-index: 2;
}
.common_mcm_block01 .block01_ttl01 .icon {
  width: 45rem;
  display: inline-block;
}
.common_mcm_block01 .block01_ttl01 .ttl {
  width: 100%;
  font-size: 24rem;
  color: #00c9b7;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.15em;
  display: block;
  margin-top: 10rem;
}
.common_mcm_block01 .block01_txt01 {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
  margin-top: 15rem;
  padding-right: 20rem;
  position: relative;
  z-index: 2;
}
.common_mcm_block01 .block01_txt02 {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.71428571;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 24rem;
  position: relative;
  z-index: 2;
}
.common_mcm_block01 .block01_img01 {
  width: 100%;
  margin-top: 20rem;
  padding-right: 20rem;
  margin-top: 20rem;
  position: relative;
  z-index: 2;
}
.common_mcm_block01 .block01_img01 img {
  margin: 0 auto;
}
.common_mcm_block01.revese::before {
  content: "";
  width: calc(100vw - 15rem);
  height: calc(100% - 30rem);
  background-color: #eafaf9;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: 10rem;
  border-bottom-left-radius: 10rem;
  position: absolute;
  top: 0;
  left: 0;
  right: -15rem;
  z-index: 1;
}
.common_mcm_block01.revese .block01_num01 {
  left: auto;
  right: 0;
}
.common_mcm_block01.revese .block01_txt01 {
  padding-right: 0;
  padding-left: 20rem;
}
.common_mcm_block01.revese .block01_img01 {
  padding-right: 0;
  padding-left: 20rem;
}

.mcm05 {
  padding-top: 42rem;
  overflow: hidden;
}
.mcm05 .container .mcm05_txt01 {
  margin-top: 20rem;
}
.mcm05 .container .mcm05_block01 {
  width: 100%;
  margin-top: 30rem;
}

.common_document_section {
  padding-top: 42rem;
  padding-bottom: 42rem;
}
.common_document_section .container .document_txt {
  width: 100%;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.115em;
  margin-top: 25rem;
}
.common_document_section .container .document_txt.center {
  text-align: center;
}
.common_document_section .container .pipedriveWebForms {
  width: 100%;
  text-align: center;
  margin-top: 15rem;
}

.common_faq_section {
  padding-top: 42rem;
  padding-bottom: 42rem;
  background-color: #f4f4f4;
}
.common_faq_section .container .faq_list01 {
  margin-top: 20rem;
}
.common_faq_section.inbound .common_faq_list01 .question .wrapper {
  background-color: #9cc455;
}
.common_faq_section.inbound .common_faq_list01 .question .wrapper .icon {
  color: #9cc455;
}
.common_faq_section.inbound .common_faq_list01 .awnser .wrapper .icon {
  background-color: #9cc455;
}

.common_faq_list01 {
  width: 100%;
  margin-top: 12rem;
}
.common_faq_list01 .question {
  width: 100%;
}
.common_faq_list01 .question .wrapper {
  width: 100%;
  display: flex;
  padding: 10rem 38rem 10rem 15rem;
  border-radius: 10rem;
  background-color: #00c9b7;
  cursor: pointer;
  position: relative;
}
.common_faq_list01 .question .wrapper::before {
  content: "";
  width: 16rem;
  height: 9rem;
  background: url(../images/common/nav_arrow_b_w.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 15rem;
  transform: translateY(-50%);
  transition: 0.2s;
}
@media all and (-ms-high-contrast: none) {
  .common_faq_list01 .question .wrapper::before {
    background: url(../images/common/nav_arrow_b_w.png) no-repeat center/contain;
  }
}
.common_faq_list01 .question .wrapper .icon {
  width: 30rem;
  height: 30rem;
  font-family: YakuHanJP, "Montserrat";
  font-size: 16rem;
  color: #00c9b7;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 1rem 2rem;
  margin-right: 10rem;
  margin-top: 2rem;
}
.common_faq_list01 .question .wrapper .txt {
  width: calc(100% - 40rem);
  font-size: 14rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.2em;
  display: inline-block;
  padding-top: 3rem;
}
.common_faq_list01 .question.open .wrapper::before {
  transform: rotate(180deg);
  transition: 0.2s;
}
.common_faq_list01 .awnser {
  width: 100%;
  display: none;
}
.common_faq_list01 .awnser .wrapper {
  width: 100%;
  display: flex;
  padding: 15rem;
}
.common_faq_list01 .awnser .wrapper .icon {
  width: 30rem;
  height: 30rem;
  font-family: YakuHanJP, "Montserrat";
  font-size: 16rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
  border-radius: 50%;
  background-color: #00c9b7;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 0rem 3rem;
  margin-right: 10rem;
}
.common_faq_list01 .awnser .wrapper .txt {
  width: calc(100% - 40rem);
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.2em;
  display: inline-block;
  padding-top: 2rem;
}

.common_mcm_block02 {
  width: 100%;
  padding: 30rem 0;
  background-color: #eafaf9;
  position: relative;
}
.common_mcm_block02::before, .common_mcm_block02::after {
  content: "";
  width: calc((100vw - 100%) / 2);
  height: 100%;
  background-color: #eafaf9;
  position: absolute;
  top: 0;
}
.common_mcm_block02::before {
  right: 0;
  transform: translateX(100%);
}
.common_mcm_block02::after {
  left: 0;
  transform: translateX(-100%);
}
.common_mcm_block02 .block01_ttl01 {
  width: 100%;
  font-size: 26rem;
  color: #00c9b7;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  text-align: center;
}
.common_mcm_block02 .block01_img01 {
  width: 280rem;
  z-index: 2;
  margin: 30rem auto 0;
}
.common_mcm_block02 .block01_list01 {
  margin-top: 25rem;
  padding-left: 30rem;
}
.common_mcm_block02 .block01_txt01 {
  width: 100%;
  font-size: 16rem;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0.085em;
  text-align: center;
  margin-top: 25rem;
}
.common_mcm_block02.revese {
  background-color: #cbf3f1;
}
.common_mcm_block02.revese::before, .common_mcm_block02.revese::after {
  background-color: #cbf3f1;
}

.common_mcm_block03 {
  width: 100%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin-top: 30rem;
}
.common_mcm_block03 .block03_num01 {
  font-size: 50rem;
  font-family: YakuHanJP, "Roboto";
  color: #edf9d7;
  font-weight: 600;
  line-height: 1;
  order: 1;
}
.common_mcm_block03 .block03_txt01 {
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  margin-top: 5rem;
  order: 2;
}
.common_mcm_block03 .block03_txt01 .color01 {
  color: #9cc455;
}
.common_mcm_block03 .block03_txt01 .roboto {
  font-family: YakuHanJP, "Roboto";
  font-size: 1.43478261em;
  font-weight: 700;
  position: relative;
  bottom: -3rem;
}
.common_mcm_block03 .block03_txt02 {
  font-size: 16rem;
  line-height: 1.7;
  letter-spacing: 0.13em;
  margin-top: 20rem;
  order: 4;
}
.common_mcm_block03 .block03_img01 {
  width: 100%;
  margin-top: 20rem;
  order: 3;
}
.common_mcm_block03 .block03_img01 picture {
  width: 220rem;
  margin: 0 auto;
}

.common_list01 {
  width: 100%;
}
.common_list01 li {
  width: 100%;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 31rem;
  margin-top: 5rem;
  position: relative;
}
.common_list01 li::before {
  content: "";
  width: 24rem;
  height: 17rem;
  background: url(../images/common/common_list01_icon.svg) no-repeat center/contain;
  position: absolute;
  top: 6rem;
  left: 0;
}
@media all and (-ms-high-contrast: none) {
  .common_list01 li::before {
    background: url(../images/common/common_list01_icon.png) no-repeat center/contain;
  }
}
.common_list01 li:first-of-type {
  margin-top: 0;
}
.common_list01 li .color01 {
  color: #9cc455;
  position: relative;
  padding-bottom: 1rem;
  background: linear-gradient(transparent 95%, #9cc455 5%);
}
.common_list01.large li {
  font-size: 16rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  padding-left: 26rem;
  margin-top: 5rem;
}
.common_list01.large li:first-of-type {
  margin-top: 0;
}
.common_list01.large li::before {
  width: 20rem;
  height: 16rem;
  top: 4rem;
}
.common_list01.large li .color01::before {
  display: none;
}
.common_list01.medium li {
  font-size: 14rem;
  line-height: 1.5;
  padding-left: 25rem;
  margin-top: 6rem;
}
.common_list01.medium li:first-of-type {
  margin-top: 0;
}
.common_list01.medium li::before {
  content: "";
  width: 17rem;
  height: 13.5rem;
  top: 4rem;
}
.common_list01.medium li .color01 {
  background: none;
}
.common_list01.small li {
  font-size: 13rem;
  line-height: 1.5;
  padding-left: 23rem;
  margin-top: 5rem;
}
.common_list01.small li:first-of-type {
  margin-top: 0;
}
.common_list01.small li::before {
  content: "";
  width: 17rem;
  height: 13.5rem;
  top: 2rem;
}
.common_list01.small li .color01 {
  background: none;
}
.common_list01.mcm li::before {
  background: url(../images/common/common_list01_icon_mcm.svg) no-repeat center/contain;
}
@media all and (-ms-high-contrast: none) {
  .common_list01.mcm li::before {
    background: url(../images/common/common_list01_icon_mcm.png) no-repeat center/contain;
  }
}
.common_list01.mcm li .color01 {
  color: #00c9b7;
}
.common_list01.mcm li .color01::before {
  display: none;
}

.mcm06 {
  padding-top: 42rem;
  padding-bottom: 42rem;
  overflow: hidden;
}
.mcm06 .container .mcm06_txt01 {
  width: 100%;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 20rem;
}
.mcm06 .container .mcm06_block01 {
  width: 100%;
  margin-top: 20rem;
}
.mcm06 .container .mcm06_block01 .block01_img01 {
  position: relative;
}
.mcm06 .container .mcm06_block01 .block01_img01 picture {
  width: 260rem;
  margin: 0 auto;
}
.mcm06 .container .mcm06_block01 .block01_box01 {
  width: 100%;
  padding: 20rem;
  background-color: #eafaf9;
  border-radius: 10rem;
  margin-top: 30rem;
}
.mcm06 .container .mcm06_block01 .block01_box01 .box01_ttl01 {
  width: 100%;
  font-size: 20rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.mcm06 .container .mcm06_block01 .block01_box01 .box01_ttl01 .mont {
  font-family: YakuHanJP, "Montserrat";
}
.mcm06 .container .mcm06_block01 .block01_box01 .box01_list01 {
  margin-top: 10rem;
}
.mcm06 .container .mcm06_block01 .block01_box01 .box01_txt01 {
  margin-top: 10rem;
  letter-spacing: 0.1em;
}
.mcm06 .container .mcm06_block01 .block01_box01 .box01_txt02 {
  letter-spacing: 0.1em;
}
.mcm06 .container .mcm06_btn01 {
  margin-top: 50rem;
  text-align: center;
}

.mcm07 {
  padding-top: 42rem;
  padding-bottom: 42rem;
  position: relative;
}
.mcm07 .mcm07_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30rem;
}
.mcm07 .mcm07_list01 li {
  width: 49%;
  margin-top: 20rem;
}
.mcm07 .mcm07_list01 li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.mcm07 .mcm07_list01 li .list01_img01 {
  border-radius: 20rem;
  overflow: hidden;
}
.mcm07 .mcm07_list01 li .list01_txt01 {
  width: 100%;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.45454545;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 10rem;
}
.mcm07 .mcm07_list01 li .list01_txt01 span {
  color: #00c9b7;
}
.mcm07 .mcm07_block01 {
  width: 100%;
  padding: 30rem 20rem;
  background-color: #eafaf9;
  border-radius: 20rem;
  margin-top: 50rem;
}
.mcm07 .mcm07_block01 .block01_ttl01 {
  width: 100%;
  text-align: center;
}
.mcm07 .mcm07_block01 .block01_ttl01 span {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  padding-bottom: 5rem;
  border-bottom: solid 2rem #00c9b7;
  display: inline-block;
}
.mcm07 .mcm07_block01 .block01_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-top: 30rem;
}
.mcm07 .mcm07_block01 .block01_list01 li {
  width: 95rem;
  margin-top: 15rem;
  margin-right: 10rem;
}
.mcm07 .mcm07_block01 .block01_list01 li:nth-of-type(-n + 3) {
  margin-top: 0;
}
.mcm07 .mcm07_block01 .block01_list01 li:nth-of-type(3n) {
  margin-right: 0;
}
.mcm07 .mcm07_block01 .block01_list01 li .list01_txt01 {
  width: 100%;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 5rem;
}

.mcm08 {
  padding-top: 42rem;
  padding-bottom: 42rem;
  background-color: #eafaf9;
  position: relative;
}
.mcm08 .container .mcm08_ttl01 .jp {
  letter-spacing: 0.08em;
}
.mcm08 .container .mcm08_list01 {
  width: 100%;
  margin-top: 30rem;
}
.mcm08 .container .mcm08_list01 li {
  width: 100%;
  background-color: #fff;
  border: solid 2rem #00c9b7;
  border-radius: 10rem;
  margin-top: 20rem;
}
.mcm08 .container .mcm08_list01 li:first-of-type {
  margin-top: 0;
}
.mcm08 .container .mcm08_list01 li .list01_ttl01 {
  width: 100%;
  min-height: 70rem;
  font-size: 18rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 10rem;
  background-color: #00c9b7;
  border-top-right-radius: 10rem;
  border-top-left-radius: 10rem;
  text-align: center;
}
.mcm08 .container .mcm08_list01 li .list01_ttl01 span {
  font-size: 18rem;
  line-height: 1;
  display: inline-block;
  padding: 3rem 10rem 5rem;
  background-color: #f95738;
  border-radius: 50rem;
  margin: 0 3rem;
}
.mcm08 .container .mcm08_list01 li .list01_inner01 {
  width: 100%;
  padding: 20rem 20rem 30rem;
}
.mcm08 .container .mcm08_list01 li .list01_inner01 .inner01_img01 {
  width: 100%;
}
.mcm08 .container .mcm08_list01 li .list01_inner01 .inner01_img01 img {
  margin: 0 auto;
}
.mcm08 .container .mcm08_list01 li .list01_inner01 .inner01_txt01 {
  margin-top: 20rem;
  letter-spacing: 0.1em;
}

.mcm09 {
  padding-top: 42rem;
  padding-bottom: 42rem;
}
.mcm09 .container .mcm09_ttl01 .jp {
  letter-spacing: 0.08em;
}
.mcm09 .container .mcm09_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30rem;
}
.mcm09 .container .mcm09_list01 li {
  width: 49%;
  padding: 30rem 20rem;
  background-color: #eafaf9;
  box-shadow: 0 0 10rem 0 rgba(38, 38, 38, 0.15);
  margin-top: 20rem;
}
.mcm09 .container .mcm09_list01 li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.mcm09 .container .mcm09_list01 li .lis01_ttl01 {
  width: 100%;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  text-align: center;
}
.mcm09 .container .mcm09_list01 li .lis01_img01 {
  width: 100%;
  margin-top: 20rem;
}
.mcm09 .container .mcm09_list01 li .lis01_img01 img {
  width: 100rem;
  margin: 0 auto;
}
.mcm09 .container .mcm09_list01 li .list01_txt01 {
  text-align: center;
  letter-spacing: 0.1em;
  margin-top: 20rem;
}
.mcm09 .container .mcm09_list01 li .list01_btn01 {
  text-align: center;
  margin-top: 20rem;
}
.mcm09 .container .mcm09_list01 li .list01_btn01 span {
  font-size: 14rem;
  color: #00c9b7;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  display: inline-block;
  border-bottom: solid 1rem #00c9b7;
  position: relative;
  padding: 0 7rem 3rem 0;
  cursor: pointer;
  transition: 0.2s;
}
.mcm09 .container .mcm09_list01 li .list01_btn01 span:hover {
  opacity: 0.7;
}
.mcm09 .container .mcm09_list01 li .list01_btn01 span::before {
  content: "";
  width: 6rem;
  height: 6rem;
  border-right: solid 1rem #00c9b7;
  border-bottom: solid 1rem #00c9b7;
  position: absolute;
  top: 7rem;
  right: -1rem;
  transform: rotate(-45deg);
  box-sizing: border-box;
}
.mcm09 .container .mcm09_list02 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 50rem;
}
.mcm09 .container .mcm09_list02 li {
  width: 49%;
  padding: 30rem 20rem;
  background-color: #faf8ea;
  box-shadow: 0 0 10rem 0 rgba(38, 38, 38, 0.15);
  margin-top: 20rem;
}
.mcm09 .container .mcm09_list02 li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.mcm09 .container .mcm09_list02 li .list02_ttl01 {
  width: 100%;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 20rem;
}
.mcm09 .container .mcm09_list02 li .list02_ttl01 .premium {
  width: 100rem;
  min-height: 22rem;
  font-family: YakuHanJP, "Roboto";
  font-size: 12rem;
  color: #fff;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  padding: 3rem;
  background-color: #d69a27;
  border-radius: 50rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 5rem auto 0;
}
.mcm09 .container .mcm09_list02 li .list02_img01 {
  width: 100rem;
  margin: 20rem auto 0;
}
.mcm09 .container .mcm09_list02 li .list02_txt01 {
  width: 100%;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 20rem;
}
.mcm09 .container .mcm09_list02 li .list02_btn01 {
  width: 100%;
  text-align: center;
  margin-top: 20rem;
}
.mcm09 .container .mcm09_list02 li .list02_btn01 span {
  font-size: 14rem;
  color: #00c9b7;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  display: inline-block;
  border-bottom: solid 1rem #00c9b7;
  position: relative;
  padding: 0 7rem 3rem 0;
  cursor: pointer;
  transition: 0.2s;
}
.mcm09 .container .mcm09_list02 li .list02_btn01 span:hover {
  opacity: 0.7;
}
.mcm09 .container .mcm09_list02 li .list02_btn01 span::before {
  content: "";
  width: 6rem;
  height: 6rem;
  border-right: solid 1rem #00c9b7;
  border-bottom: solid 1rem #00c9b7;
  position: absolute;
  top: 7rem;
  right: -1rem;
  transform: rotate(-45deg);
  box-sizing: border-box;
}
.mcm09 .container .mcm09_list02 li .mcm09_modal_bg .modal {
  background-color: #faf8ea;
}
.mcm09 .container .mcm09_modal_bg {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 110;
  opacity: 0;
  pointer-events: none;
  transition: 0.2s;
}
.mcm09 .container .mcm09_modal_bg.show {
  opacity: 1;
  pointer-events: auto;
}
.mcm09 .container .mcm09_modal_bg.color02 .modal {
  background-color: #faf8ea;
}
.mcm09 .container .mcm09_modal_bg .modal {
  width: calc(100% - 40rem);
  padding: 30rem;
  background-color: #eafaf9;
  border-radius: 20rem;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
}
.mcm09 .container .mcm09_modal_bg .modal .wrap .premium {
  width: 100%;
}
.mcm09 .container .mcm09_modal_bg .modal .wrap .premium span {
  width: 100rem;
  min-height: 22rem;
  font-family: YakuHanJP, "Roboto";
  font-size: 12rem;
  color: #fff;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  padding: 3rem;
  background-color: #d69a27;
  border-radius: 50rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10rem;
}
.mcm09 .container .mcm09_modal_bg .modal .wrap .modal_ttl01 {
  width: 100%;
  display: flex;
  align-items: center;
}
.mcm09 .container .mcm09_modal_bg .modal .wrap .modal_ttl01 .icon {
  width: 60rem;
  display: inline-block;
  margin-right: 10rem;
}
.mcm09 .container .mcm09_modal_bg .modal .wrap .modal_ttl01 .ttl {
  width: calc(100% - 70rem);
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.mcm09 .container .mcm09_modal_bg .modal .wrap .modal_img01 {
  width: 260rem;
  box-shadow: 0 0 15rem 0 rgba(0, 0, 0, 0.15);
  border-radius: 10rem;
  overflow: hidden;
  margin: 20rem auto 0;
}
.mcm09 .container .mcm09_modal_bg .modal .wrap .modal_txt01 {
  width: 100%;
  letter-spacing: 0.1em;
  margin-top: 20rem;
}
.mcm09 .container .mcm09_modal_bg .modal .modal_close {
  width: 28rem;
  height: 28rem;
  background-color: #fff;
  border-radius: 50%;
  cursor: pointer;
  position: absolute;
  top: -10rem;
  right: 0;
  transform: translateY(-100%);
}
.mcm09 .container .mcm09_modal_bg .modal .modal_close::before, .mcm09 .container .mcm09_modal_bg .modal .modal_close::after {
  content: "";
  width: 14rem;
  height: 2rem;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.mcm09 .container .mcm09_modal_bg .modal .modal_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.mcm09 .container .mcm09_modal_bg .modal_bg {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
}
.mcm09 .container .mcm09_ttl02 {
  width: 100%;
  text-align: center;
  margin-top: 50rem;
}
.mcm09 .container .mcm09_ttl02 .logo {
  width: 200rem;
  display: inline-block;
  margin-right: 5rem;
}
.mcm09 .container .mcm09_ttl02 .txt {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.mcm09 .container .mcm09_list03 {
  width: 100%;
  margin-top: 30rem;
}
.mcm09 .container .mcm09_list03 li {
  width: 100%;
  margin-top: 30rem;
}
.mcm09 .container .mcm09_list03 li:nth-of-type(1) {
  margin-top: 0;
}
.mcm09 .container .mcm09_list03 li p {
  width: 100%;
  text-align: center;
  margin-top: 20rem;
}
.mcm09 .container .mcm09_list03 li p a {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.15em;
  padding-right: 21rem;
  display: inline-block;
  padding-bottom: 4rem;
  border-bottom: solid 1rem #00c9b7;
  position: relative;
  transition: 0.2s;
}
.mcm09 .container .mcm09_list03 li p a::before {
  content: "";
  width: 18rem;
  height: 18rem;
  background: url(../images/common/external_icon02.png) no-repeat center/contain;
  background: url(../images/common/external_icon02.svg) no-repeat center/contain;
  position: absolute;
  top: 4rem;
  right: 0;
}
.mcm09 .container .mcm09_list03 li p a:hover {
  opacity: 0.7;
}

/*----------------------------------------------------------------------------
******************************************************************************
** cv
******************************************************************************
----------------------------------------------------------------------------*/
.cv_section {
  padding-top: 42rem;
  padding-bottom: 30rem;
  background-color: #00c9b7;
  position: relative;
}
.cv_section::before {
  content: "";
  width: 250rem;
  height: 100%;
  border-top-left-radius: 270rem;
  border-bottom-left-radius: 270rem;
  background-color: #39d5c7;
  position: absolute;
  top: 0;
  right: 0;
}
.cv_section .container {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.cv_section .container .cv_ttl01 {
  width: 100%;
  order: 2;
  margin-top: 20rem;
}
.cv_section .container .cv_ttl01 picture {
  width: 270rem;
  margin: 0 auto;
}
.cv_section .container .cv_txt01 {
  width: 100%;
  order: 1;
}
.cv_section .container .cv_txt01 picture {
  width: 229rem;
  margin: 0 auto;
}
.cv_section .container .cv_btn01 {
  width: 100%;
  text-align: center;
  margin-top: 30rem;
  order: 4;
}
.cv_section .container .cv_btn01 .btn02 {
  margin-top: 10rem;
}
.cv_section .container .cv_img {
  width: 300rem;
  margin-top: 10rem;
  order: 3;
  position: relative;
  left: 53rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** request01
******************************************************************************
----------------------------------------------------------------------------*/
.request01 {
  padding-top: 30rem;
  padding-bottom: 50rem;
}
.request01 .container .request01_txt01 {
  text-align: center;
}
.request01 .container .request01_txt02 {
  width: 100%;
  font-size: 14rem;
  color: #888888;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.15em;
  text-align: center;
  margin-top: 10rem;
}
.request01 .container .request01_txt02 a {
  color: #9cc455;
}
.request01 .container .request01_block01 {
  width: 100%;
  margin-top: 35rem;
}
.request01 .container .request01_block01 .request01_box01 {
  width: 100%;
}
.request01 .container .request01_block01 .request01_box01 .btn {
  width: 280rem;
  height: 42rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 20rem;
  border: solid 1rem #9cc455;
  margin: 8rem auto 0;
}
.request01 .container .request01_block01 .request01_box01 .btn:first-of-type {
  margin-top: 0;
}
.request01 .container .request01_block01 .request01_box01 .btn.current {
  background-color: #9cc455;
}
.request01 .container .request01_block01 .request01_box01 .btn.current span {
  color: #fff;
}
.request01 .container .request01_block01 .request01_box01 .btn span {
  font-size: 14rem;
  color: #9cc455;
  font-weight: 700;
  letter-spacing: 0.15em;
  display: inline-block;
}
.request01 .container .request01_block01 .request01_box02 {
  margin-top: 30rem;
}
.request01 .container .request01_block01 .request01_box02 .contents {
  display: none;
}
.request01 .container .request01_block01 .request01_box02 .contents.show {
  display: block;
}
.request01 .container .request01_block01 .request01_box02 .contents .pipedriveWebForms {
  width: 100%;
  text-align: center;
}
.request01 .container .request01_block01 .request01_box02 .contents.contents03 .contents03_txt01 {
  font-family: YakuHanJP, "Montserrat";
  font-size: 28rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
.request01 .container .request01_block02 {
  width: 100%;
  text-align: center;
}

/*----------------------------------------------------------------------------
******************************************************************************
** case_study
******************************************************************************
----------------------------------------------------------------------------*/
.archive_case_study01 {
  padding-top: 30rem;
  padding-bottom: 50rem;
}

.archive_case_study02 {
  padding-top: 30rem;
  padding-bottom: 50rem;
  background-color: #f1f5ee;
}
.archive_case_study02 .container .archive_case_study01_list01 {
  display: flex;
  flex-wrap: wrap;
}
.archive_case_study02 .container .archive_case_study01_list01.from2 {
  margin-top: 0;
}
.archive_case_study02 .container .archive_case_study01_list01 li {
  width: 100%;
  margin-top: 20rem;
}
.archive_case_study02 .container .archive_case_study01_list01 li:first-of-type {
  margin-top: 0;
}

/*----------------------------------------------------------------------------
******************************************************************************
** news
******************************************************************************
----------------------------------------------------------------------------*/
.archive_news01 {
  padding-top: 30rem;
  padding-bottom: 50rem;
}
.archive_news01 .container .archive_news01_list01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 50rem;
}
.archive_news01 .container .archive_news01_list01 li {
  width: calc((100% - 15rem) / 4);
}
.archive_news01 .container .archive_news01_list01 li:last-of-type {
  margin-right: 0;
}
.archive_news01 .container .archive_news01_list01 li a {
  width: 100%;
  height: 35rem;
  background-color: #fff;
  border: solid 1rem #9cc455;
  padding: 5rem 10rem;
  border-radius: 30rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  isolation: isolate;
}
.archive_news01 .container .archive_news01_list01 li a:before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #9cc455;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.archive_news01 .container .archive_news01_list01 li a span {
  font-size: 12rem;
  color: #9cc455;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.15em;
  display: inline-block;
  position: relative;
  z-index: 2;
  transition: color 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  text-align: center;
}
.archive_news01 .container .archive_news01_list01 li a:hover:before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.archive_news01 .container .archive_news01_list01 li a:hover span {
  color: #fff;
}
.archive_news01 .container .archive_news01_list01 li.current a {
  background-color: #9cc455;
  pointer-events: none;
}
.archive_news01 .container .archive_news01_list01 li.current a span {
  color: #fff;
}
.archive_news01 .container .archive_news01_list02 {
  margin-top: 50rem;
}

.wp-pagenavi {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 30rem;
}
.wp-pagenavi span,
.wp-pagenavi a {
  width: 33rem;
  height: 33rem;
  font-size: 12rem;
  color: rgb(122, 180, 45);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  border-radius: 50%;
  border: solid 1rem rgb(122, 180, 45);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 2rem;
}
.wp-pagenavi span.current,
.wp-pagenavi a.current {
  color: #fff;
  background-color: rgb(122, 180, 45);
}
.wp-pagenavi span.extend,
.wp-pagenavi a.extend {
  width: 20rem;
  border: none;
  margin: 0;
}
.wp-pagenavi span.first, .wp-pagenavi span.last,
.wp-pagenavi a.first,
.wp-pagenavi a.last {
  font-size: 10rem;
}
.wp-pagenavi a {
  transition: 0.2s;
}
.wp-pagenavi a:hover {
  color: #fff;
  background-color: rgb(122, 180, 45);
  transition: 0.2s;
}

/*----------------------------------------------------------------------------
******************************************************************************
** 404
******************************************************************************
----------------------------------------------------------------------------*/
.notfound01 {
  padding-top: 50rem;
  padding-bottom: 50rem;
}
.notfound01 .container .notfound01_txt01 {
  width: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 18rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #9cc455;
  text-align: center;
}
.notfound01 .container .notfound01_txt02 {
  width: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 20rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
.notfound01 .container .notfound01_btn01 {
  margin-top: 20rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** editor
******************************************************************************
----------------------------------------------------------------------------*/
.editor01 {
  padding-top: 30rem;
  padding-bottom: 50rem;
}
.editor01 .container {
  max-width: 800rem;
}
.editor01 .container .editor01_ttl01 {
  width: 100%;
  font-size: 22rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.15em;
}
.editor01 .container .data {
  width: 100%;
  display: flex;
  align-items: center;
  margin-top: 15rem;
}
.editor01 .container .data .date {
  font-family: YakuHanJP, "Montserrat";
  font-size: 12rem;
  color: #aeaeae;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  margin-right: 8rem;
  display: block;
  padding-top: 2rem;
}
.editor01 .container .data .category {
  min-width: 100rem;
  height: 24rem;
  font-size: 12rem;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 3rem 10rem;
  background-color: #9cc455;
  border-radius: 15rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.editor01 .container .editor_area {
  width: 100%;
  margin-top: 30rem;
}
.editor01 .container .editor_area iframe {
  width: 100%;
  max-width: 580rem;
  margin-top: 20rem;
}
.editor01 .container .editor_area .thumbnail {
  width: 100%;
  text-align: center;
}
.editor01 .container .editor_area .thumbnail img {
  width: auto;
  max-width: 100%;
  margin: 0 auto;
}
.editor01 .container .editor_area h2 {
  width: 100%;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.21428571;
  letter-spacing: 0.12em;
  padding-bottom: 8rem;
  border-bottom: 2rem solid #9cc455;
  margin-top: 20rem;
}
.editor01 .container .editor_area h3 {
  width: 100%;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.416666;
  letter-spacing: 0.12em;
  padding-left: 13rem;
  border-left: 3rem solid #9cc455;
  margin-top: 20rem;
}
.editor01 .container .editor_area h4 {
  width: 100%;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.545454;
  letter-spacing: 0.125em;
  padding-left: 18rem;
  position: relative;
  margin-top: 20rem;
}
.editor01 .container .editor_area h4::before {
  content: "";
  width: 12rem;
  height: 12rem;
  background-color: #9cc455;
  border-radius: 50%;
  display: inline-block;
  position: absolute;
  top: 7rem;
  left: 0;
}
.editor01 .container .editor_area h5 {
  width: 100%;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.135em;
  padding: 10rem 15rem;
  background-color: #f1f5ee;
  margin-top: 20rem;
}
.editor01 .container .editor_area h6 {
  width: 100%;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.888888;
  letter-spacing: 0.144em;
  margin-top: 20rem;
}
.editor01 .container .editor_area ul {
  width: 100%;
  padding-left: 20rem;
  margin-top: 20rem;
}
.editor01 .container .editor_area ul li {
  width: 100%;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.13em;
  padding-left: 17rem;
  position: relative;
  margin-top: 5rem;
}
.editor01 .container .editor_area ul li:first-of-type {
  margin-top: 0;
}
.editor01 .container .editor_area ul li::before {
  content: "";
  width: 7rem;
  height: 7rem;
  background-color: #9cc455;
  border-radius: 50%;
  display: inline-block;
  position: absolute;
  top: 9rem;
  left: 0;
}
.editor01 .container .editor_area ol {
  width: 100%;
  padding-left: 20rem;
  margin-top: 20rem;
}
.editor01 .container .editor_area ol li {
  width: 100%;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.13em;
  position: relative;
  list-style: none;
  margin-top: 5rem;
}
.editor01 .container .editor_area ol li:first-of-type {
  margin-top: 0;
}
.editor01 .container .editor_area ol li span {
  font-family: YakuHanJP, "Roboto";
  font-size: 16rem;
  color: #9cc455;
  margin-right: 4rem;
}
.editor01 .container .editor_area pre {
  width: 100%;
  font-size: 14rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.04em;
  padding: 20rem 20rem;
  background-color: #f1f5ee;
  border-radius: 10rem;
  margin-top: 20rem;
}
.editor01 .container .editor_area table {
  width: 100%;
  border-radius: 10rem;
  overflow: hidden;
  margin-top: 20rem;
}
.editor01 .container .editor_area table tr {
  width: 100%;
}
.editor01 .container .editor_area table tr th {
  width: 100%;
  font-size: 14rem;
  color: #fff;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.15em;
  padding: 10rem 15rem;
  background-color: #9cc455;
  display: block;
}
.editor01 .container .editor_area table tr td {
  width: 100%;
  font-size: 14rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.175em;
  padding: 10rem 15rem;
  background-color: #f4f4f4;
  display: block;
}
.editor01 .container .editor_area img {
  width: 100%;
  border-radius: 10rem;
  margin-top: 20rem;
}
.editor01 .container .editor_area a {
  color: #9cc455;
  border-bottom: 1rem solid #9cc455;
}
.editor01 .container .editor_area .wp-block-buttons {
  width: 100%;
  text-align: center;
  margin-top: 20rem;
}
.editor01 .container .editor_area .wp-block-buttons .wp-block-button {
  min-width: 230rem;
  background-color: #9cc455;
  border-radius: 21rem;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  margin: 0 auto;
}
.editor01 .container .editor_area .wp-block-buttons .wp-block-button:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #7ba433;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.editor01 .container .editor_area .wp-block-buttons .wp-block-button a {
  width: 100%;
  height: 42rem;
  font-size: 16rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10rem 20rem;
  background-color: transparent;
  position: relative;
  z-index: 2;
  border-bottom: none;
}
.editor01 .container .editor_area .wp-block-buttons .wp-block-button:hover:before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.editor01 .container .editor_area p {
  width: 100%;
  font-size: 14rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.15em;
  margin-top: 10rem;
}
.editor01 .container .editor_area .editor01_btn01 {
  margin-top: 30rem;
}

.editor02 {
  padding-top: 50rem;
  padding-bottom: 50rem;
  background-color: #f1f5ee;
}
.editor02 .container .editor02_list01 {
  margin-top: 30rem;
}
.editor02 .container .editor02_list01 li {
  margin-top: 30rem;
}
.editor02 .container .editor02_list01 li:first-of-type {
  margin-top: 0;
}

/*----------------------------------------------------------------------------
******************************************************************************
** member
******************************************************************************
----------------------------------------------------------------------------*/
.member01 {
  padding-top: 30rem;
  padding-bottom: 50rem;
}
.member01 .container .member01_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.member01 .container .member01_list01 li {
  width: 46%;
  text-align: center;
}
.member01 .container .member01_list01 li:nth-of-type(even) {
  padding-top: 40rem;
}
.member01 .container .member01_list01 li .list01_img01 {
  width: 100%;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  transition: background-color 0.2s;
}
.member01 .container .member01_list01 li .list01_img01::before {
  content: "VIEW MORE";
  width: 100%;
  height: 100%;
  padding-top: 95rem;
  font-family: YakuHanJP, "Montserrat";
  font-size: 10rem;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.2s;
  box-sizing: border-box;
}
.member01 .container .member01_list01 li .list01_img01 span {
  border-radius: 50%;
  display: block;
  overflow: hidden;
}
.member01 .container .member01_list01 li .list01_img01 span::before, .member01 .container .member01_list01 li .list01_img01 span::after {
  content: "";
  width: 25rem;
  height: 2rem;
  background-color: #fff;
  position: absolute;
  top: 70rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  opacity: 0;
  transition: opacity 0.2s;
}
.member01 .container .member01_list01 li .list01_img01 span::after {
  transform: translateX(-50%) rotate(90deg);
}
.member01 .container .member01_list01 li .list01_img01 span img {
  transition: opacity 0.2s;
}
.member01 .container .member01_list01 li .list01_img01:hover {
  background-color: #9CD94B;
  transition: background-color 0.2s;
}
.member01 .container .member01_list01 li .list01_img01:hover::before {
  opacity: 1;
  transition: opacity 0.2s;
}
.member01 .container .member01_list01 li .list01_img01:hover span::before, .member01 .container .member01_list01 li .list01_img01:hover span::after {
  opacity: 1;
  transition: opacity 0.2s;
}
.member01 .container .member01_list01 li .list01_img01:hover span img {
  opacity: 0;
  transition: opacity 0.2s;
}
.member01 .container .member01_list01 li .list01_txt01 {
  width: 100%;
  font-size: 12rem;
  color: #9cc455;
  letter-spacing: 0.05em;
  margin-top: 10rem;
}
.member01 .container .member01_list01 li .list01_ttl01 {
  width: 100%;
  font-size: 16rem;
  letter-spacing: 0.05em;
  margin-top: 5rem;
}

.member_detail_bg {
  width: 100%;
  height: 100vh;
  background-color: rgba(120, 157, 70, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: none;
}
.member_detail_bg .member_detail {
  width: calc(100% - 40rem);
  max-height: calc(100% - 40rem);
  padding: 20rem;
  background: #fff;
  border-radius: 10rem;
  overflow-y: scroll;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: none;
}
.member_detail_bg .member_detail .wrapper {
  width: 100%;
  height: 100%;
}
.member_detail_bg .member_detail .wrapper .list01_img01 {
  width: 60%;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto;
}
.member_detail_bg .member_detail .wrapper .list01_box01 {
  width: 100%;
  position: relative;
  margin-top: 20rem;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .box01_ttl01 {
  width: 100%;
  position: relative;
  padding-right: 100rem;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .box01_ttl01 .position {
  width: 100%;
  font-size: 11rem;
  color: #9cc455;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .box01_ttl01 .name {
  width: 100%;
  font-size: 15rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  margin-top: 5rem;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .box01_ttl01 .name .sns_box {
  display: inline-block;
  margin-left: 30rem;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .box01_ttl01 .name .sns_box::after {
  content: "";
  display: block;
  clear: both;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .box01_ttl01 .name .sns_box a {
  width: 20rem;
  margin-right: 5rem;
  display: inline-block;
  float: left;
  transition: 0.2s;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .box01_ttl01 .name .sns_box a:hover {
  opacity: 0.7;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .box01_ttl01 .name .sns_box a:last-of-type {
  margin-right: 0;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .box01_ttl01 .icon {
  width: 54rem;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.member_detail_bg .member_detail .wrapper .list01_box01 .box01_txt01 {
  width: 100%;
  font-size: 11rem;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 10rem;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .add_link_list {
  width: 100%;
  margin-top: 15rem;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .add_link_list li {
  width: 100%;
  margin-top: 5rem;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .add_link_list li:first-of-type {
  margin-top: 0;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .add_link_list li a {
  width: 100%;
  font-size: 11rem;
  color: #9cc455;
  line-height: 1.7;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-decoration: underline;
  display: inline-block;
  transition: 0.2s;
}
.member_detail_bg .member_detail .wrapper .list01_box01 .add_link_list li a:hover {
  opacity: 0.7;
}
.member_detail_bg .member_detail .close_btn {
  width: 28rem;
  height: 28rem;
  position: absolute;
  top: -10rem;
  right: 0;
  transform: translateY(-100%);
  cursor: pointer;
}
.member_detail_bg .member_detail .close_btn::before, .member_detail_bg .member_detail .close_btn::after {
  content: "";
  width: 100%;
  height: 3rem;
  background-color: #fff;
  border-radius: 5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.member_detail_bg .member_detail .close_btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.member_detail_bg .member_detail .close_btn:hover {
  transform: translateY(-100%) rotate(180deg);
  transition: transform 0.7s linear;
}

/*----------------------------------------------------------------------------
******************************************************************************
** about
******************************************************************************
----------------------------------------------------------------------------*/
.about01 {
  padding-top: 30rem;
  padding-bottom: 50rem;
}
.about01 .container .about01_ttl01 {
  position: relative;
}
.about01 .container .about01_ttl01::before {
  content: "";
  width: 91.5rem;
  height: 58rem;
  background: -webkit-image-set(url(../images/about/about01_item01.webp) 1x, url(../images/about/about01_item01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/about/about01_item01.webp) 1x, url(../images/about/about01_item01@2x.webp) 2x) no-repeat center/cover;
  position: absolute;
  top: -33rem;
  left: 0;
}
.about01 .container .about01_ttl01::after {
  content: "";
  width: 62.5rem;
  height: 39rem;
  background: -webkit-image-set(url(../images/about/about01_item02.webp) 1x, url(../images/about/about01_item02@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/about/about01_item02.webp) 1x, url(../images/about/about01_item02@2x.webp) 2x) no-repeat center/cover;
  position: absolute;
  top: -17rem;
  right: 15rem;
}
.about01 .container .about01_ttl01 .jp {
  margin-top: 15rem;
}
.about01 .container .about01_txt01 {
  margin-top: 17px;
}

.common_txt05 {
  width: 100%;
  font-size: 14rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.15em;
}

.common_about_block01 {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
}
.common_about_block01 .block01_wrapper .block01_ttl01 .en {
  text-align: left;
  padding-left: 3rem;
}
.common_about_block01 .block01_wrapper .block01_ttl01 .jp {
  text-align: left;
}
.common_about_block01 .block01_wrapper .block01_img01 {
  width: 100%;
  border-radius: 10rem;
  overflow: hidden;
  margin-top: 20rem;
}
.common_about_block01 .block01_wrapper .block01_txt01 {
  margin-top: 15rem;
}
.common_about_block01 .block01_wrapper .block01_box01 {
  margin-top: 20rem;
}
.common_about_block01 .block01_wrapper .block01_box01:first-of-type {
  margin-top: 10rem;
}
.common_about_block01 .block01_wrapper .block01_box01 .box01_txt01 {
  margin-top: 10rem;
}

.about02 {
  padding-top: 30rem;
  padding-bottom: 50rem;
}
.about02 .container .about02_block02 {
  margin-top: 50rem;
}

.common_ttl06 {
  width: 100%;
}
.common_ttl06 .en {
  width: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 18rem;
  font-weight: 600;
  letter-spacing: 0.105em;
  display: inline-block;
}
.common_ttl06 .jp {
  width: 100%;
  font-size: 14rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  display: inline-block;
}

.about03 {
  padding-top: 50rem;
  padding-bottom: 50rem;
  background-color: #f1f5ee;
}
.about03 .container .about03_block01 {
  width: 100%;
  margin-top: 30rem;
  position: relative;
}
.about03 .container .about03_block01 .block01_img01 {
  width: 100%;
}
.about03 .container .about03_block01 .block01_box01 {
  width: 300rem;
  padding: 20rem;
  background-color: #fff;
  border-radius: 10rem;
  position: relative;
  z-index: 1;
  margin: -30rem auto 0;
}
.about03 .container .about03_block01 .block01_box01 .box01_ttl01 {
  width: 100%;
  font-size: 18rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.15em;
}
.about03 .container .about03_block01 .block01_box01 .box01_ttl01 span {
  font-size: 20rem;
  font-family: YakuHanJP, "Montserrat";
  letter-spacing: 0.1em;
}
.about03 .container .about03_block01 .block01_box01 .box01_txt01 {
  margin-top: 10rem;
}
.about03 .container .about03_block01 .block01_box01 .box01_btn01 {
  margin-top: 20rem;
}
.about03 .container .about03_block01 .block01_box01 .box01_btn01 a {
  cursor: pointer;
}

.readmore_block {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  z-index: 200;
}
.readmore_block .readmore_detail {
  width: calc(100% - 20rem);
  padding: 30rem 5rem 30rem 20rem;
  background: #fff;
  border-radius: 10rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.readmore_block .readmore_detail .wrapper {
  width: 100%;
  height: 50vh;
  padding-right: 15rem;
  overflow-y: scroll;
}
.readmore_block .readmore_detail .wrapper .detail_txt01 {
  margin-top: 10rem;
}
.readmore_block .readmore_detail .wrapper .detail_txt01:first-of-type {
  margin-top: 0;
}
.readmore_block .readmore_detail .wrapper .detail_txt01.right {
  text-align: right;
}
.readmore_block .readmore_detail .close_btn {
  width: 37rem;
  height: 37rem;
  position: absolute;
  top: -20rem;
  right: 0;
  transform: translateY(-100%);
  cursor: pointer;
}
.readmore_block .readmore_detail .close_btn::before, .readmore_block .readmore_detail .close_btn::after {
  content: "";
  width: 100%;
  height: 4rem;
  background-color: #fff;
  border-radius: 5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.readmore_block .readmore_detail .close_btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.readmore_block .readmore_detail .close_btn:hover {
  transform: translateY(-100%) rotate(180deg);
  transition: transform 0.7s linear;
}
.readmore_block .readmore_bg {
  width: 100%;
  height: 100%;
  background-color: rgba(120, 157, 70, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.about04 {
  padding-top: 50rem;
  padding-bottom: 50rem;
}
.about04 .container .about04_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30rem;
}
.about04 .container .about04_list01 li {
  width: 46%;
  text-align: center;
}
.about04 .container .about04_list01 li .list01_img01 {
  width: 100%;
  padding-top: 100%;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
}
.about04 .container .about04_list01 li .list01_img01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.about04 .container .about04_list01 li .list01_txt01 {
  width: 100%;
  font-size: 12rem;
  color: #9cc455;
  letter-spacing: 0.05em;
  margin-top: 10rem;
}
.about04 .container .about04_list01 li .list01_ttl01 {
  width: 100%;
  font-size: 16rem;
  letter-spacing: 0.05em;
  margin-top: 5rem;
}
.about04 .container .about04_btn01 {
  margin-top: 30rem;
}

.about05 {
  padding-top: 50rem;
  padding-bottom: 50rem;
  background-color: #f1f5ee;
}
.about05 .container .about05_block01 {
  width: 100%;
  margin: 30rem auto 0;
}

.about06 {
  padding-top: 50rem;
  padding-bottom: 50rem;
}
.about06 .container .about06_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30rem;
}
.about06 .container .about06_list01 > dt {
  width: 120rem;
  font-size: 12rem;
  color: #9cc455;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.15em;
  padding: 10rem;
  border-bottom: 1rem solid #9cc455;
}
.about06 .container .about06_list01 > dd {
  width: calc(100% - 130rem);
  font-size: 12rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.15em;
  padding: 10rem;
  border-bottom: 1rem solid #333333;
}
.about06 .container .about06_list01 > dd a {
  color: #9cc455;
  text-decoration: underline;
  transition: 0.2s;
}
.about06 .container .about06_list01 > dd a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.about06 .container .about06_list01 > dd .about06_clist01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 5rem;
}
.about06 .container .about06_list01 > dd .about06_clist01 > dt {
  width: 100%;
  font-size: 12rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.15em;
  margin-top: 8rem;
}
.about06 .container .about06_list01 > dd .about06_clist01 > dt:first-of-type {
  margin-top: 0;
}
.about06 .container .about06_list01 > dd .about06_clist01 > dd {
  width: 100%;
  font-size: 12rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.15em;
}

/*----------------------------------------------------------------------------
******************************************************************************
** service
******************************************************************************
----------------------------------------------------------------------------*/
.service01 {
  padding-top: 30rem;
  padding-bottom: 50rem;
}
.service01 .container .service01_txt01 .jp {
  text-align: left;
}
.service01 .container .service01_ttl01 {
  margin-top: 30rem;
}
.service01 .container .block01_box01 {
  margin-top: 30rem;
}
.service01 .container .block01_box01 .box01_ttl01 {
  width: 190rem;
}
.service01 .container .block01_box01 .box01_btn02 {
  width: 100%;
  text-align: center;
  margin-top: 20rem;
}
.service01 .container .block01_box01 .box01_btn02 a {
  font-size: 16rem;
  color: #9cc455;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: inline-block;
  text-decoration: underline;
  transition: 0.2s;
}
.service01 .container .block01_box01 .box01_btn02 a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.service01 .container .block01_box02 {
  margin-top: 50rem;
}
.service01 .container .block01_box02 .box01_ttl01 {
  width: 195rem;
}
.service01 .container .block01_box03 {
  margin-top: 50rem;
}
.service01 .container .block01_box03 .box01_ttl01 {
  width: 220.73rem;
}
.service01 .container .block01_box04 {
  margin-top: 50rem;
}
.service01 .container .block01_box04 .box01_ttl01 {
  width: 219.7rem;
}
.service01 .container .block01_box04 .box01_btn01 a {
  position: relative;
}
.service01 .container .block01_box04 .box01_btn01 a span {
  font-size: 20rem;
  position: relative;
}
.service01 .container .block01_box04 .box01_btn01 a span::after {
  content: "";
  width: 20rem;
  height: 20rem;
  background: url(../images/common/common_btn02_arrow_w.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: -50rem;
  transform: translateY(-50%);
  transition: 0.2s;
  z-index: 3;
}
@media all and (-ms-high-contrast: none) {
  .service01 .container .block01_box04 .box01_btn01 a span::after {
    background: url(../images/common/common_btn02_arrow_w.png) no-repeat center/contain;
  }
}

.common_service_box01 {
  width: 100%;
}
.common_service_box01 .box01_ttl01 {
  margin: 0 auto;
}
.common_service_box01 .box01_img01 {
  width: 100%;
  text-align: center;
  margin-top: 20rem;
}
.common_service_box01 .box01_txt01 {
  margin-top: 10rem;
}
.common_service_box01 .box01_btn01 {
  margin-top: 30rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** inbound
******************************************************************************
----------------------------------------------------------------------------*/
.inbound01 {
  padding: 0;
}
.inbound01 .container .inbound01_block01 {
  width: 100%;
  padding-top: 49rem;
  padding-bottom: 40rem;
  background-color: #f4f4f4;
  position: relative;
}
.inbound01 .container .inbound01_block01::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20rem 30rem 0 30rem;
  border-color: #f4f4f4 transparent transparent transparent;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
  z-index: 1;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_ttl01 {
  width: 100%;
  text-align: center;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_ttl01 .ttl {
  font-size: 26rem;
  font-weight: 700;
  line-height: 1.44;
  letter-spacing: 0.05em;
  display: inline-block;
  padding-left: 3.5rem;
  padding-bottom: 5.5rem;
  position: relative;
  border-bottom: 2rem solid #9cc455;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_ttl01 .ttl::before {
  content: "";
  width: 9rem;
  height: 2rem;
  background-color: #f4f4f4;
  position: absolute;
  bottom: -2rem;
  left: calc(50% - 11rem);
}
.inbound01 .container .inbound01_block01 .wrapper .block01_ttl01 .ttl::after {
  content: "";
  width: 17.5rem;
  height: 2rem;
  background-color: #9cc455;
  position: absolute;
  bottom: -1.5rem;
  left: calc(50% - 19rem);
  transform: rotate(-63deg);
  transform-origin: right center;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_ttl01 .ttl .color01 {
  color: #9cc455;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 {
  width: 100%;
  margin-top: 28.5rem;
  padding-top: 24rem;
  padding-bottom: 42.5rem;
  text-align: center;
  position: relative;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_img01 {
  margin-right: 1rem;
  position: relative;
  z-index: 2;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_img01 picture {
  width: 114rem;
  margin: 0 auto;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt {
  width: 124rem;
  min-height: 85rem;
  font-size: 12rem;
  font-weight: 700;
  line-height: 1.41666667;
  letter-spacing: 0.05em;
  text-align: center;
  border-radius: 5rem;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt::before {
  content: "";
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  background-color: #fff;
  position: absolute;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt::after {
  content: "";
  width: 8.375rem;
  height: 8.375rem;
  border-radius: 50%;
  background-color: #fff;
  position: absolute;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt .color01 {
  color: #9cc455;
  border-bottom: 1rem solid #9cc455;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt.box01_txt01 {
  top: 0;
  left: 15rem;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt.box01_txt01::before {
  bottom: -21.5rem;
  right: 37.5rem;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt.box01_txt01::after {
  bottom: -26.5rem;
  right: 22rem;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt.box01_txt02 {
  top: 0;
  right: 15rem;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt.box01_txt02::before {
  bottom: -21.5rem;
  left: 37.5rem;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt.box01_txt02::after {
  bottom: -26.5rem;
  left: 22rem;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt.box01_txt03 {
  bottom: 0;
  left: 15rem;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt.box01_txt03::before {
  top: -21.5rem;
  right: 37.5rem;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt.box01_txt03::after {
  top: -26.5rem;
  right: 22rem;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt.box01_txt04 {
  bottom: 0;
  right: 15rem;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt.box01_txt04::before {
  top: -21.5rem;
  left: 37.5rem;
}
.inbound01 .container .inbound01_block01 .wrapper .block01_box01 .box01_txt.box01_txt04::after {
  top: -26.5rem;
  left: 22rem;
}
.inbound01 .container .inbound01_block02 {
  width: 100%;
  padding-top: 40rem;
  background-color: #fff;
}
.inbound01 .container .inbound01_block02 .wrapper .block02_txt01 {
  width: 100%;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.88235294;
  letter-spacing: 0.1em;
  text-align: center;
}
.inbound01 .container .inbound01_block02 .wrapper .block02_txt01 .color01 {
  color: #9cc455;
}
.inbound01 .container .inbound01_block02 .wrapper .block02_img01 {
  width: 100%;
  margin-top: 30rem;
}
.inbound01 .container .inbound01_block02 .wrapper .block02_img01 picture img {
  max-width: initial;
  max-width: auto;
}

.inbound02 {
  padding-top: 50rem;
  padding-bottom: 50rem;
  background-color: #f1f5ee;
}
.inbound02 .container .inbound02_txt01 {
  margin-top: 20rem;
  text-align: left;
}
.inbound02 .container .inbound02_img01 {
  width: 100%;
  margin-top: 30rem;
}
.inbound02 .container .inbound02_img01 img {
  margin: 0 auto;
}

.inbound03 {
  padding-top: 50rem;
  padding-bottom: 50rem;
  background-color: #fff;
}
.inbound03 .container .inbound03_img01 {
  width: 100%;
  margin-top: 30rem;
}
.inbound03 .container .inbound03_img01 img {
  margin: 0 auto;
}

.common_btn04 {
  width: 100%;
}
.common_btn04 > a {
  width: 276rem;
  height: 54rem;
  padding-bottom: 2rem;
  background-color: #f95738;
  border-radius: 27rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6rem 15rem 1rem rgba(0, 0, 0, 0.2);
  cursor: pointer;
  isolation: isolate;
  margin: 0 auto;
}
.common_btn04 > a:before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #f9453d;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.common_btn04 > a > span {
  font-size: 16rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 2;
  padding-left: 11.5rem;
}
.common_btn04 > a > span::before {
  content: "";
  width: 19rem;
  height: 13rem;
  background: url(../images/common/mail_icon_w.svg) no-repeat center/contain;
  position: absolute;
  top: 2rem;
  left: -16rem;
  z-index: 3;
}
@media all and (-ms-high-contrast: none) {
  .common_btn04 > a > span::before {
    background: url(../images/common/mail_icon_w.png) no-repeat center/contain;
  }
}
.common_btn04 > a > span::after {
  content: "";
  width: 18rem;
  height: 18rem;
  background: url(../images/common/common_btn02_arrow_w.svg) no-repeat center/contain;
  position: absolute;
  top: 0.5rem;
  right: -12.5rem;
  transform: translateX(100%);
  transition: 0.2s;
  z-index: 3;
}
@media all and (-ms-high-contrast: none) {
  .common_btn04 > a > span::after {
    background: url(../images/common/common_btn02_arrow_w.png) no-repeat center/contain;
  }
}
.common_btn04 > a:hover:before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.common_btn04 > a:hover span::after {
  top: 3rem;
  transition: 0.2s;
  transition-delay: 0.2s;
}

.inbound_cv_section {
  padding-top: 37.5rem;
  padding-bottom: 83rem;
  background: -webkit-image-set(url(../images/inbound/inbound_cv_bg01.webp) 1x, url(../images/inbound/inbound_cv_bg01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/inbound/inbound_cv_bg01.webp) 1x, url(../images/inbound/inbound_cv_bg01@2x.webp) 2x) no-repeat center/cover;
  position: relative;
}
.inbound_cv_section .container .cv_txt01 {
  width: 100%;
  font-size: 20rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.1em;
  text-align: center;
}
.inbound_cv_section .container .cv_txt01 span {
  font-family: YakuHanJP, "Montserrat";
  font-size: 22rem;
}
.inbound_cv_section .container .cv_btn01 {
  margin-top: 20rem;
  position: relative;
  z-index: 2;
}
.inbound_cv_section .container .cv_btn01 a {
  border: solid 1rem #fff;
  margin: 0 auto;
}
.inbound_cv_section .container .cv_img01 {
  width: 115.333333rem;
  position: absolute;
  bottom: 0;
  left: -20rem;
  z-index: 1;
}
.inbound_cv_section .container .cv_img02 {
  width: 80.666666rem;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}

.inbound04 {
  padding-top: 50rem;
  padding-bottom: 50rem;
}
.inbound04 .container .inbound04_txt01 {
  margin-top: 20rem;
}
.inbound04 .container .inbound04_block01 {
  width: 100%;
  margin-top: 30rem;
}
.inbound04 .container .inbound04_block01 .block01_box02 .box01_ttl01 {
  margin-bottom: 10rem;
}
.inbound04 .container .inbound04_block01 .block01_box02 .box01_ttl01 span {
  font-size: 18rem;
  white-space: nowrap;
}
.inbound04 .container .inbound04_block01 .block01_box04 .box01_ttl01 {
  letter-spacing: 0.145em;
}

.common_txt06 {
  width: 100%;
  font-size: 16rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.145em;
  text-align: center;
}

.common_inbound_box01 {
  width: 100%;
  border: solid 3rem #9cc455;
  border-radius: 20rem;
  background-color: #f1f5ee;
  padding: 20rem;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 20rem;
}
.common_inbound_box01:first-of-type {
  margin-top: 0;
}
.common_inbound_box01 .box01_ttl01 {
  width: 100%;
  font-size: 20rem;
  font-weight: 900;
  line-height: 1.55;
  letter-spacing: 0.18em;
  margin-bottom: 5rem;
}
.common_inbound_box01 .box01_ttl01 span {
  font-family: YakuHanJP, "Montserrat";
  font-size: 22rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.common_inbound_box01 .box01_txt01 {
  letter-spacing: 0.1em;
  margin-top: 5rem;
}
.common_inbound_box01 .box01_txt01 a {
  color: #9cc455;
  transition: 0.2s;
}
.common_inbound_box01 .box01_txt01 a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.common_inbound_box01 .box01_img01 {
  width: 80rem;
  margin-right: 20rem;
}
.common_inbound_box01 .box01_txt02 {
  text-align: center;
}
.common_inbound_box01 .box01_txt02 .txt01 {
  font-family: YakuHanJP, "roboto";
  font-size: 48rem;
  font-weight: 700;
  color: #f95738;
  line-height: 1;
  letter-spacing: -0.01em;
}
.common_inbound_box01 .box01_txt02 .txt02 {
  font-family: "Noto Sans JP";
  font-size: 24rem;
  color: #f95738;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.05em;
  position: relative;
  top: -2rem;
}
.common_inbound_box01 .box01_txt02 .txt03 {
  width: 110rem;
  font-size: 14rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 3rem 3rem 5rem;
  background-color: #f95738;
  border-radius: 3rem;
  display: block;
}
.common_inbound_box01 .box01_txt02 .txt04 {
  font-size: 28rem;
  color: #f95738;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.05em;
  position: relative;
}

.inbound05 {
  padding: 30rem 0 50rem;
  background-color: #f1f5ee;
}
.inbound05 .container {
  max-width: auto;
  max-width: initial;
}
.inbound05 .container .inbound05_ttl01 {
  width: 100%;
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
}
.inbound05 .container .inbound05_ttl01 .color01 {
  color: #9cc455;
  padding-bottom: 3rem;
  border-bottom: solid 1rem #9cc455;
}
.inbound05 .container .block01_slider01 {
  margin-top: 30rem;
}
.inbound05 .container .block01_slider01 .slider01_list li {
  margin-right: 10rem;
  border-radius: 5rem;
  overflow: hidden;
}

.inbound06 {
  padding: 42rem 0;
  background-color: #f1f5ee;
}
.inbound06 .container {
  max-width: initial;
  max-width: auto;
}
.inbound06 .container .inbound06_slider01 {
  margin-top: 37rem;
  margin-bottom: 0;
}
.inbound06 .container .inbound06_slider01 .slick-slide {
  opacity: 0.4;
}
.inbound06 .container .inbound06_slider01 .slick-slide.slick-active {
  opacity: 1;
}
.inbound06 .container .inbound06_slider01 .slick-slide .list01_wrapper {
  padding: 0 5.42168675%;
}
.inbound06 .container .inbound06_slider01 .slick-dots {
  display: none !important;
}
.inbound06 .container .inbound06_slider01 .slick-track {
  display: flex;
}
.inbound06 .container .inbound06_slider01 .slick-slide {
  height: auto !important;
}
.inbound06 .container .inbound06_slider01 .slick-arrow {
  width: 35rem;
  height: 35rem;
  background-color: #9cc455;
  cursor: pointer;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  z-index: 4;
}
.inbound06 .container .inbound06_slider01 .slick-arrow::before {
  content: "";
  width: 7rem;
  height: 12.5rem;
  background: url(../images/common/slide_arrow_w.svg) no-repeat center/contain;
  position: absolute;
  top: 11.5rem;
}
@media all and (-ms-high-contrast: none) {
  .inbound06 .container .inbound06_slider01 .slick-arrow::before {
    background: url(../images/common/slide_arrow_w.png) no-repeat center/contain;
  }
}
.inbound06 .container .inbound06_slider01 .slick-arrow.slick-prev {
  left: 9.5%;
}
.inbound06 .container .inbound06_slider01 .slick-arrow.slick-prev::before {
  left: 13rem;
}
.inbound06 .container .inbound06_slider01 .slick-arrow.slick-next {
  right: 9.5%;
}
.inbound06 .container .inbound06_slider01 .slick-arrow.slick-next::before {
  right: 13rem;
  transform: scale(-1, 1);
}
.inbound06 .container .inbound06_btn01 {
  margin-top: 30rem;
}
.inbound06 .container .inbound06_btn01 a {
  margin: 0 auto;
}
.inbound06 .container .inbound06_btn01 a span {
  letter-spacing: 0.1em;
}

.inbound07 {
  padding-top: 50rem;
}

.inbound08 {
  padding-top: 50rem;
  padding-bottom: 50rem;
  background-color: #f1f5ee;
}

/*----------------------------------------------------------------------------
******************************************************************************
** matcha
******************************************************************************
----------------------------------------------------------------------------*/
.matcha01 {
  padding-top: 50rem;
  padding-bottom: 50rem;
}
.matcha01 .container .matcha01_ttl01 .jp {
  line-height: 1.4;
  font-size: 24rem;
  margin-top: 4rem;
}
.matcha01 .container .matcha01_img01 {
  width: 100vw;
  margin-top: 30rem;
  position: relative;
  left: -15rem;
}
.matcha01 .container .matcha01_img01 img {
  margin: 0 auto;
}
.matcha01 .container .matcha01_txt01 {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 20rem;
}
.matcha01 .container .matcha01_txt01 .mont {
  font-family: YakuHanJP, "Montserrat";
  font-size: 20rem;
  line-height: 0;
}
.matcha01 .container .matcha01_txt01 .roboto {
  font-family: YakuHanJP, "roboto";
  font-size: 26rem;
  line-height: 0;
  margin-left: 2rem;
}
.matcha01 .container .matcha01_txt01 .size {
  font-size: 22rem;
  line-height: 0;
}
.matcha01 .container .matcha01_txt01 .color01 {
  color: #9cc455;
}
.matcha01 .container .matcha01_txt02 {
  font-weight: 700;
  font-size: 14rem;
  margin-top: 20rem;
}
.matcha01 .container .matcha01_btn01 {
  margin-top: 30rem;
}
.matcha01 .container .matcha01_btn01 a {
  letter-spacing: 0.1em;
  margin: 0 auto;
}

.matcha02 {
  padding-top: 50rem;
  padding-bottom: 50rem;
  background-color: #f1f5ee;
  position: relative;
}
.matcha02 .container {
  position: relative;
  z-index: 2;
}
.matcha02 .container .matcha02_txt01 {
  font-size: 14rem;
  line-height: 2;
  text-align: center;
  margin-top: 20rem;
}
.matcha02 .container .matcha02_block01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30rem;
}
.matcha02 .container .matcha02_block01 .block01_box {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  border: solid 2rem #9cc455;
  border-radius: 10rem;
  padding: 30rem 20rem;
  background-color: #fff;
  margin-top: 30rem;
  position: relative;
}
.matcha02 .container .matcha02_block01 .block01_box:nth-of-type(1) {
  margin-top: 0;
}
.matcha02 .container .matcha02_block01 .block01_box .num {
  width: 50rem;
  height: 50rem;
  font-family: YakuHanJP, "roboto";
  font-size: 24rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  border-radius: 50%;
  background-color: #9cc455;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -15rem;
  left: -15rem;
}
.matcha02 .container .matcha02_block01 .block01_box .box01_ttl01 {
  width: 100%;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 20rem;
  order: 2;
}
.matcha02 .container .matcha02_block01 .block01_box .box01_ttl01 .roboto {
  font-family: YakuHanJP, "roboto";
  font-size: 30rem;
  line-height: 1;
  position: relative;
  top: 2rem;
}
.matcha02 .container .matcha02_block01 .block01_box .box01_ttl01 .color01 {
  color: #9cc455;
}
.matcha02 .container .matcha02_block01 .block01_box .box01_img01 {
  width: 100%;
  order: 1;
}
.matcha02 .container .matcha02_block01 .block01_box .box_txt01 {
  line-height: 2;
  margin-top: 10rem;
  order: 3;
}

.matcha03 {
  padding: 0;
  padding-top: 50rem;
  padding-bottom: 50rem;
}
.matcha03 .container {
  max-width: auto;
  max-width: initial;
}
.matcha03 .container .matcha03_txt01 {
  font-size: 14rem;
  font-weight: 700;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-top: 20rem;
  padding: 0 15rem;
}
.matcha03 .container .matcha03_slider01 {
  margin-top: 30rem;
  margin-bottom: 0;
}
.matcha03 .container .matcha03_slider01 .slick-slide.slick-active {
  opacity: 1;
}
.matcha03 .container .matcha03_slider01 .slick-slide .list01_wrapper {
  padding: 0 5.42168675%;
}
.matcha03 .container .matcha03_slider01 .slick-dots {
  display: none !important;
}
.matcha03 .container .matcha03_slider01 .slick-track {
  display: flex;
}
.matcha03 .container .matcha03_slider01 .slick-slide {
  height: auto !important;
}
.matcha03 .container .matcha03_slider01 .slick-slide .list01_box {
  height: 100%;
  background-color: #f4f4f4;
}
.matcha03 .container .matcha03_slider01 .slick-slide .list01_box .date {
  color: #9cc455;
}
.matcha03 .container .matcha03_slider01 .slick-slide .list01_box .ttl {
  margin-top: 0;
}
.matcha03 .container .matcha03_slider01 .slick-arrow {
  width: 35rem;
  height: 35rem;
  background-color: #9cc455;
  cursor: pointer;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  z-index: 4;
}
.matcha03 .container .matcha03_slider01 .slick-arrow::before {
  content: "";
  width: 7rem;
  height: 12.5rem;
  background: url(../images/common/slide_arrow_w.svg) no-repeat center/contain;
  position: absolute;
  top: 11.5rem;
}
@media all and (-ms-high-contrast: none) {
  .matcha03 .container .matcha03_slider01 .slick-arrow::before {
    background: url(../images/common/slide_arrow_w.png) no-repeat center/contain;
  }
}
.matcha03 .container .matcha03_slider01 .slick-arrow.slick-prev {
  left: 9.5%;
}
.matcha03 .container .matcha03_slider01 .slick-arrow.slick-prev::before {
  left: 13rem;
}
.matcha03 .container .matcha03_slider01 .slick-arrow.slick-next {
  right: 9.5%;
}
.matcha03 .container .matcha03_slider01 .slick-arrow.slick-next::before {
  right: 13rem;
  transform: scale(-1, 1);
}
.matcha03 .container .matcha03_slider01.opacity .slick-slide {
  opacity: 0.4;
}
.matcha03 .container .matcha03_slider01.opacity .slick-slide.slick-active {
  opacity: 1;
}
.matcha03 .container .matcha03_slider01.opacity .slick-slide .list01_wrapper {
  padding: 0 5.42168675%;
}
.matcha03 .container .matcha03_slider01.transform .slick-list .slick-track {
  transform: translate3d(0, 0, 0) !important;
}
.matcha03 .container .matcha03_bunner01 {
  width: 100%;
  padding: 0 15rem;
  text-align: center;
  margin-top: 50rem;
}
.matcha03 .container .matcha03_bunner01 a {
  display: inline-block;
  transition: 0.2s;
}
.matcha03 .container .matcha03_bunner01 a:hover {
  opacity: 0.7;
  transition: 0.2s;
}

.matcha04 {
  padding-top: 50rem;
  padding-bottom: 50rem;
  background-color: #f1f5ee;
}
.matcha04 .container .matcha04_txt01 {
  font-size: 14rem;
  font-weight: 700;
  line-height: 2;
  text-align: center;
  margin-top: 20rem;
}
.matcha04 .container .matcha04_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30rem;
}
.matcha04 .container .matcha04_list01 li {
  width: 165rem;
  margin-top: 15rem;
}
.matcha04 .container .matcha04_list01 li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.matcha04 .container .matcha04_list01 li a {
  width: 100%;
  display: inline-block;
  transition: 0.2s;
}
.matcha04 .container .matcha04_list01 li a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.matcha04 .container .matcha04_btn01 {
  margin-top: 30rem;
}
.matcha04 .container .matcha04_btn01 a {
  margin: 0 auto;
}

.matcha_cv_section {
  padding-top: 50rem;
  padding-bottom: 50rem;
  background: -webkit-image-set(url(../images/matcha/matcha_cv_bg01.webp) 1x, url(../images/matcha/matcha_cv_bg01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/matcha/matcha_cv_bg01.webp) 1x, url(../images/matcha/matcha_cv_bg01@2x.webp) 2x) no-repeat center/cover;
}
.matcha_cv_section .container .cv_txt01 {
  font-size: 14rem;
  line-height: 2;
  margin-top: 20rem;
}
.matcha_cv_section .container .cv_btn {
  width: 100%;
  margin-top: 30rem;
}
.matcha_cv_section .container .cv_btn li {
  width: 100%;
  margin-top: 20rem;
}
.matcha_cv_section .container .cv_btn li:first-of-type {
  margin-top: 0;
}
.matcha_cv_section .container .cv_btn li a {
  width: 288rem;
  height: 48rem;
  border-radius: 40rem;
  padding-bottom: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  border: solid 2rem #fff;
  margin: 0 auto;
}
.matcha_cv_section .container .cv_btn li a:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.matcha_cv_section .container .cv_btn li a::after {
  content: "";
  width: 18rem;
  height: 18rem;
  background: url(../images/common/common_btn02_arrow_w.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 40rem;
  transform: translateY(-50%) rotate(-90deg);
  transition: 0.2s;
  z-index: 3;
}
@media all and (-ms-high-contrast: none) {
  .matcha_cv_section .container .cv_btn li a::after {
    background: url(../images/common/common_btn02_arrow_w.png) no-repeat center/contain;
  }
}
.matcha_cv_section .container .cv_btn li a span {
  font-size: 16rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  display: inline-block;
  position: relative;
  z-index: 2;
}
.matcha_cv_section .container .cv_btn li a.document {
  background-color: #f1c232;
}
.matcha_cv_section .container .cv_btn li a.document:before {
  background: #f17c1e;
}
.matcha_cv_section .container .cv_btn li a.document span {
  padding-left: 27.5rem;
}
.matcha_cv_section .container .cv_btn li a.document span::before {
  content: "";
  width: 17rem;
  height: 18.5rem;
  background: url(../images/common/document_icon_w.svg) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 3.5rem;
}
@media all and (-ms-high-contrast: none) {
  .matcha_cv_section .container .cv_btn li a.document span::before {
    background: url(../images/common/document_icon_w.png) no-repeat center/contain;
  }
}
.matcha_cv_section .container .cv_btn li a.contact {
  background-color: #f95738;
}
.matcha_cv_section .container .cv_btn li a.contact:before {
  background: #f9453d;
}
.matcha_cv_section .container .cv_btn li a.contact span {
  color: #fff;
  padding-left: 22.5rem;
  position: relative;
}
.matcha_cv_section .container .cv_btn li a.contact span::before {
  content: "";
  width: 19rem;
  height: 13.5rem;
  background: url(../images/common/mail_icon_w.svg) no-repeat center/contain;
  position: absolute;
  top: 2rem;
  left: -2.5rem;
}
@media all and (-ms-high-contrast: none) {
  .matcha_cv_section .container .cv_btn li a.contact span::before {
    background: url(../images/common/mail_icon_w.png) no-repeat center/contain;
  }
}
.matcha_cv_section .container .cv_btn li a:hover:before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.matcha_cv_section .container .cv_btn li a:hover:after {
  right: 30rem;
  transition: 0.2s;
}

.matcha05 {
  padding-top: 50rem;
  padding-bottom: 50rem;
}
.matcha05 .container .matcha05_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 20rem;
}
.matcha05 .container .matcha05_list01 li {
  width: 49%;
  margin-top: 10rem;
}
.matcha05 .container .matcha05_list01 li:nth-of-type(-n + 2) {
  margin-top: 0;
}

.matcha06 {
  padding-top: 50rem;
  padding-bottom: 50rem;
  background-color: #f4f4f4;
}
.matcha06 .container .matcha06_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 20rem;
}
.matcha06 .container .matcha06_list01 li {
  width: 49%;
  margin-top: 10rem;
}
.matcha06 .container .matcha06_list01 li:nth-of-type(-n + 2) {
  margin-top: 0;
}

.matcha07 {
  padding: 42rem 0;
  background-color: #f4f4f4;
}
.matcha07 .container {
  max-width: initial;
  max-width: auto;
}
.matcha07 .container .matcha07_slider01 {
  margin-top: 37rem;
  margin-bottom: 0;
}
.matcha07 .container .matcha07_slider01 .slick-slide {
  opacity: 0.4;
}
.matcha07 .container .matcha07_slider01 .slick-slide.slick-active {
  opacity: 1;
}
.matcha07 .container .matcha07_slider01 .slick-slide .list01_wrapper {
  padding: 0 5.42168675%;
}
.matcha07 .container .matcha07_slider01 .slick-dots {
  display: none !important;
}
.matcha07 .container .matcha07_slider01 .slick-track {
  display: flex;
}
.matcha07 .container .matcha07_slider01 .slick-slide {
  height: auto !important;
}
.matcha07 .container .matcha07_slider01 .slick-arrow {
  width: 35rem;
  height: 35rem;
  background-color: #00c9b7;
  cursor: pointer;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  z-index: 4;
}
.matcha07 .container .matcha07_slider01 .slick-arrow::before {
  content: "";
  width: 7rem;
  height: 12.5rem;
  background: url(../images/common/slide_arrow_w.svg) no-repeat center/contain;
  position: absolute;
  top: 11.5rem;
}
@media all and (-ms-high-contrast: none) {
  .matcha07 .container .matcha07_slider01 .slick-arrow::before {
    background: url(../images/common/slide_arrow_w.png) no-repeat center/contain;
  }
}
.matcha07 .container .matcha07_slider01 .slick-arrow.slick-prev {
  left: 9.5%;
}
.matcha07 .container .matcha07_slider01 .slick-arrow.slick-prev::before {
  left: 13rem;
}
.matcha07 .container .matcha07_slider01 .slick-arrow.slick-next {
  right: 9.5%;
}
.matcha07 .container .matcha07_slider01 .slick-arrow.slick-next::before {
  right: 13rem;
  transform: scale(-1, 1);
}
.matcha07 .container .matcha07_btn01 {
  margin-top: 30rem;
}
.matcha07 .container .matcha07_btn01 a {
  margin: 0 auto;
}
.matcha07 .container .matcha07_btn01 a span {
  letter-spacing: 0.1em;
}

/*----------------------------------------------------------------------------
******************************************************************************
** recruit
******************************************************************************
----------------------------------------------------------------------------*/
.recruit01 {
  padding-top: 30rem;
  padding-bottom: 50rem;
}
.recruit01 .container .recruit01_bunner01 {
  text-align: center;
  margin-top: 30rem;
}
.recruit01 .container .recruit01_bunner01 a {
  display: inline-block;
  transition: 0.2s;
}
.recruit01 .container .recruit01_bunner01 a:hover {
  opacity: 0.7;
}
.recruit01 .container .recruit01_ttl01 {
  margin-top: 30rem;
}
.recruit01 .container .recruit01_txt01 {
  width: 100%;
  text-align: center;
  margin-top: 30rem;
}
.recruit01 .container .recruit01_list01 {
  margin-top: 30rem;
}

.common_recruit_list01 {
  width: 100%;
}
.common_recruit_list01 li {
  width: 100%;
  position: relative;
  margin-top: 50rem;
}
.common_recruit_list01 li:first-of-type {
  margin-top: 0;
}
.common_recruit_list01 li .list_ttl {
  width: 100%;
  padding-bottom: 15rem;
  border-bottom: solid 2rem #9cc455;
}
.common_recruit_list01 li .list_ttl .jp {
  width: 100%;
  font-size: 22rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  display: block;
  margin-right: 10rem;
}
.common_recruit_list01 li .list_ttl .en {
  width: 100%;
  font-size: 12rem;
  font-family: YakuHanJP, "Montserrat";
  color: #9cc455;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.2em;
  display: block;
}
.common_recruit_list01 li .list_img01 {
  width: 300rem;
  margin: 20rem auto 0;
}
.common_recruit_list01 li .list_img01 .wrapper {
  width: 100%;
  padding-top: 75%;
  display: block;
  position: relative;
  border-radius: 20rem;
  overflow: hidden;
}
.common_recruit_list01 li .list_img01 .wrapper img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.common_recruit_list01 li .list_txt01 {
  margin-top: 20rem;
}
.common_recruit_list01 li .list_btn01 {
  margin-top: 20rem;
}

.common_btn06 {
  width: 100%;
  text-align: right;
}
.common_btn06 a {
  font-size: 14rem;
  color: #9cc455;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.17em;
  display: inline-block;
  padding-right: 22rem;
  position: relative;
  transition: 0.2s;
}
.common_btn06 a::before {
  content: "";
  width: 16rem;
  height: 16rem;
  background: url(../images/common/common_btn06_arrow_g.svg) no-repeat center/contain;
  position: absolute;
  top: -1rem;
  right: 0;
}
@media all and (-ms-high-contrast: none) {
  .common_btn06 a::before {
    background: url(../images/common/common_btn06_arrow_g.png) no-repeat center/contain;
  }
}
.common_btn06 a:hover {
  opacity: 0.7;
  transition: 0.2s;
}

.recruit02 {
  padding-top: 50rem;
  padding-bottom: 50rem;
  background-color: #f1f5ee;
}
.recruit02 .container .recruit02_list01 {
  justify-content: center;
  margin-top: 30rem;
}
.recruit02 .container .recruit02_list01 li {
  display: inline-block;
  margin-top: 20rem;
}
.recruit02 .container .recruit02_list01 li:first-of-type {
  margin-top: 0;
}
.recruit02 .container .recruit02_list01 li a {
  display: inline-block;
  transition: 0.2s;
}
.recruit02 .container .recruit02_list01 li a:hover {
  opacity: 0.7;
  transition: 0.2s;
}

/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.ft_100 {
  width: 100%;
  padding-top: 21rem;
  padding-bottom: 16.5rem;
  background-color: #9cc455;
}
.ft_100 .ft {
  width: 100%;
}
.ft_100 .ft .ft_logo {
  width: 121rem;
  margin: 0 auto;
}
.ft_100 .ft .copyright {
  width: 100%;
  font-family: YakuHanJP, "Montserrat";
  font-size: 12rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 12rem;
}

.pagetop {
  width: 50px;
  height: 50px;
  background-color: #9cc455;
  border-radius: 50%;
  position: fixed;
  right: 10px;
  bottom: 10px;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  z-index: -100;
  transition: 0.2s;
}
.pagetop.show {
  opacity: 1;
  pointer-events: auto;
  z-index: 100;
  transition: 0.2s;
}
.pagetop::before {
  content: "";
  width: 16px;
  height: 16px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -14.65%) rotate(-45deg);
  /**45degの中央揃え**/
  /**45deg=141.4%**/
  /**75% 斜めなので 半分の半分**/
  /**41.4%の半分20.7%の半分50%(斜めによって生じた%なので斜め計算(75%)ではなく半分(50%)) = 10.35%**/
  /**75% + 10.35% = 85.35% **/
}
.pagetop:hover {
  opacity: 0.7;
  transition: 0.2s;
}

/**webp非対応デバイス用class
.no-webp {

}
**/
/**background webp
background: image-set(url(../webp) 1x, url(../@2x.webp) 2x) no-repeat center / cover;
**/
/**IE用css
@media all and (-ms-high-contrast: none) {

}
**/
.editor01 .container .editor_area p {
  margin-bottom: 32rem;
}

.editor01 .container .editor_area h3 {
  margin-top: 54rem;
  line-height: 1.6;
}

.editor01 .container .editor_area h2 {
  margin-top: 54rem;
  line-height: 1.6;
}

.common_case_list01 li .list01_wrapper a .list01_img picture img {
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
  width: 100%;
}

figcaption.wp-element-caption {
  font-size: 14rem;
  color: #aeaeae;
}

.editor01 .container .editor_area p {
  letter-spacing: 0.1em;
}

.common_news_list02 li a .list01_img picture img {
  -o-object-fit: cover;
  object-fit: cover;
}

.common_txt03 {
  font-size: 16rem;
  letter-spacing: 0.15em;
}

.common_news_list01 li a .ttl {
  font-size: 14rem;
}

.matcha02 .container .matcha02_txt01 {
  font-size: 16rem;
}

.mcm05 .container .mcm05_txt01 {
  font-size: 14rem;
}

.common_document_section .container .document_txt {
  font-size: 14rem;
}

.common_mcm_block03 .block03_txt02 {
  font-size: 14rem;
}

.inbound02 .container .inbound02_txt01 {
  font-size: 14rem;
}

.inbound04 .container .inbound04_txt01 {
  font-size: 14rem;
}

.common_taxonomy_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-top: -10rem;
  margin-bottom: 30rem;
}
.common_taxonomy_list01 li {
  min-width: 80rem;
  margin-top: 10rem;
  margin-right: 5rem;
}
.common_taxonomy_list01 li:last-of-type {
  margin-right: 0;
}
.common_taxonomy_list01 li a {
  width: 100%;
  height: 35rem;
  background-color: #fff;
  padding: 2rem 15rem;
  border: solid 1rem #9cc455;
  border-radius: 30rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  isolation: isolate;
}
.common_taxonomy_list01 li a:before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #9cc455;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.common_taxonomy_list01 li a span {
  font-size: 12rem;
  color: #9cc455;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.15em;
  display: inline-block;
  position: relative;
  z-index: 2;
  transition: color 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  text-align: center;
}
.common_taxonomy_list01 li a:hover:before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.common_taxonomy_list01 li a:hover span {
  color: #fff;
}
.common_taxonomy_list01 li.current a {
  background-color: #9cc455;
  pointer-events: none;
}
.common_taxonomy_list01 li.current a span {
  color: #fff;
}
.common_taxonomy_list01 li.current a {
  background-color: #9cc455;
  pointer-events: none;
}
.common_taxonomy_list01 li.current a span {
  color: #fff;
}/*# sourceMappingURL=sp.css.map */