@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@100..900&display=swap');
@font-face {
  font-family: 'DIN Alt';
  src: url(../fonts/din1451alt.woff2);
}

:root {
  --theme-color: #348751;
  --theme-bg-color: #41a363;
  --theme-color2: rgb(152 193 167 / 1);
  --theme-bg: rgb(52 135 81 / 1);
  --theme-bg2: rgb(82 152 109 / 0.4);
  --section-bg1: #348751;
  --section-bg1: #41a363;
  --section-title1: rgb(152 193 167 / 1);
  --mobile-header-ratio: 107 / 14;
  --h2-font: 'Public Sans', sans-serif;
  --h2-fontweight: 600;
  --_margin1: calc(var(--_s1) * var(--_margin-scale));
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

li {
  list-style: none;
  max-width: 100%;
}

img {
  max-width: 100%;
}

br[data-brsp] {
  display: none;
}

br[data-brpc] {
  display: initial;
}

span[data-spanpc] {
  display: inline;
  width: 100%;
}

@media screen and (max-width: 768px){
  br[data-brsp] {
    display: initial;
  }

  br[data-brpc],
  span[data-spanpc] {
    display: none;
  }
}

html {
  font-size: 62.5%;
  /*scroll-behavior: smooth;*/
}

html:focus-within {

}

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-optical-sizing: auto;
  color: #333333;
}

address {
  font-style: normal;
}

picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

picture.hoverzoom {
  width: 100%;
  display: flex;
  overflow: hidden;
}

picture.hoverzoom img {
  transform: scale(1, 1);
  transition: 0.5s;
}

picture.hoverzoom:hover img {
  transform: scale(1.333, 1.333);
  transition: 1s;
}

@media screen and (max-width: 768px){
  picture.hoverzoom img,
  pictire.hoverzoom:hover img {
    transform: none;
    transition: none;
  }

  main {
    overflow-x: hidden;
  }

  body[data-content-type="page_attempt"] main {
    overflow-x: initial;
  }
}

header > div,
footer > div,
.kv {
  width: 100%;
  /*max-width: 1366px;*/
  margin-inline: auto;
}

.kv {
  max-width: initial;
}

#header_nav2,
#nav_toggle {
  display: none;
}

@media screen and (max-width: 768px){
  #wpadminbar {
    display: none;
  }

  #header_nav {
    display: none;
  }

  #footer_nav {
    display: none;
  }

  #header_nav2,
  #nav_toggle {
    position: fixed;
  }

  #header_nav2 {
    display: block;
    width: 100%;
    height: 100%;
    padding: 5%;
    overflow-x: hidden;
    z-index: 5;
    top: 0;
    left: 100%;
    transition: 0.3s;
    background-color: #f5f3e9;
    /* レイアウト用 */
    /*left: 0;*/
  }

  #header_nav2[data-menu-opened] {
    left: 0;
    transition: 0.3s;
  }

  /* ハンバーガーメニュー */
  #nav_toggle {
    display: flex;
    justify-content: center;
    align-items: center;
    /*
    width: 100%;
    height: auto;
    aspect-ratio: var(--mobile-header-ratio);*/
    z-index: 10;
    top: 0;
    right: 0;
  }

  input[name="toggle_sw"] {
    display: none;
  }

  label[for="toggle_box"] {
    display: flex;
    width: 1em;
    height: 1em;
    position: absolute;
    font-size: 4rem;
    /*
    margin-block: 3% auto;
    margin-inline: auto 4%;
    */
    top: 46%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }

  label[for="toggle_box"] > span,
  label[for="toggle_box"]::after {
    display: inline-flex;
    font-size: inherit;
    line-height: 1;
    color: #ffffff;
  }

  header[data-sticky] label[for="toggle_box"] > span,
  header[data-sticky] label[for="toggle_box"]::after {
    color: var(--theme-color);
  }

  label[for="toggle_box"] > span {
    width: 100%;
    height: fit-content;
    position: absolute;
    left: 0;
    transform: scaleX(1);
    transition-property: transform;
    transition: 0.5s;
  }

  label[for="toggle_box"] > span:first-of-type {
    top: -33.33%;
    transform-origin: left center;
  }

  label[for="toggle_box"] > span:last-of-type {
    top: 33.33%;
    transform-origin: right center;

  }

  label[for="toggle_box"]::after {
    content: '\2500';
    transition: 0.5s;
  }

  input[name="toggle_sw"]:checked + label[for="toggle_box"] > span {
    transform: scaleX(0);
    transition: 0.3s;
  }

  input[name="toggle_sw"]:checked + label[for="toggle_box"]::after {
    transform: rotateZ(135deg);
    content: '\253c';
    color: var(--theme-color);
    transition: 0.5s;
  }

  /* (モバイル)ヘッダーメニュー */
  #header_nav2 a,
  #header_nav2 a:visited {
    display: inline-block;
    width: fit-content;
    height: fit-content;
    margin: 0.667em 0;
    color: #358752;
    line-height: 1;
    text-decoration: none;
  }

  #header_nav2 > ul > li {
    font-size: 1.9rem;
    border-bottom: 2px solid #e9e7e1;
  }

  #header_nav2 > ul > li.menu-item-has-children {
    position: relative;
  }
  #header_nav2 > ul > li.menu-item-has-children > ul {
    padding-bottom: 0.5em;
  }

  #header_nav2 > ul > li.menu-item-has-children::before {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    height: fit-content;
    content: '\2514';
    font-size: 1.3em;
    color: #6fa87f;
    font-weight: 400;
    position: absolute;
    top: 0.5em;
    right: 1%;
    transform: rotateZ(-45deg);
    transition: 0.2s;
  }

  #header_nav2 > ul > li.menu-item-has-children[data-sub-opened]::before {
    top: 0em;
    transform: rotateZ(135deg);
    transition: 0.2s;
  }

  #header_nav2 > ul > li.to_form {
    border-bottom: none;
  }

  #header_nav2 > ul > li.menu-item-has-children > ul {
    display: none;
  }

  #header_nav2 > ul > li > a {
    font-size: inherit;
    font-weight: 500;
  }

  #header_nav2 .sub-menu a {
    font-size: 1.7rem;
    font-weight: 400;
    color: #6fa87f;
  }

  #header_nav2 .sub-menu .sub-menu a {
    text-indent: 1em;
  }

  #header_nav2 > ul > li.to_form > a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 2em;
    background-color: #348751;
    color: #f6f4ea;
    border-radius: 2em;
  }
}

@media screen and (max-width: 540px){
  label[for="toggle_box"] {
    font-size: 2.9rem;
  }
}

main {
  background-color: var(--section-bg1);
}

main > section:not(.kv) > div {
  max-width: 1366px;
  margin-inline: auto;
  padding: 4.5% 0 0 5.5%;
}

@media screen and (max-width: 768px){
  html{
    font-size: calc(100vw / 54);
  }
}

@media screen and (max-width: 540px){
  html{
    font-size: calc(100vw / 37.5);
  }
}

@media screen and (max-width: 375px){
  html{
    font-size: calc(100vw / 32);
  }
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #ffffff;
  z-index: 10;
  box-shadow:  0px -1px 10px 0px rgba(0, 0, 0, 0.35);
}

header > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1.25% 3% 0.5%;
}

header .logo,
#menu-header-nav > li {
  padding-bottom: 1rem;
}

header .logo {
  position: relative;
}

header .logo > a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*
body[data-content-type="home"] header,
body[data-content-type="page_prefront"] header*/
header {
  /*position: absolute;*/
  /*position: relative;*/
  background-color: transparent;
  box-shadow: none;
}

/*
body[data-content-type="home"] header[data-sticky],
body[data-content-type="page_prefront"] header[data-sticky],*/
header[data-sticky] {
  /*position: sticky;*/
  background-color: #ffffff;
  box-shadow:  0px -1px 10px 0px rgba(0, 0, 0, 0.35);
}

header .logo > img {
  width: 36.5%;
  margin-right: 24px;
}

header .logo_txt {
  display: flex;
  align-items: center;
  white-space: nowrap;
}

header .logo_txt > span:first-child {
  font-size: 1.4rem;
}

header .logo_txt > span:last-child {
  font-size: 2.2rem;
  text-indent: 0.8em;
  letter-spacing: 0.5em;
}

/*
body[data-content-type="home"] header .logo_txt,
body[data-content-type="page_prefront"] header .logo_txt,*/
header .logo_txt {
  color: #ffffff;
}

/*
header .logo_txt,
body[data-content-type="home"] header[data-sticky] .logo_txt,
body[data-content-type="page_prefront"] header[data-sticky] .logo_txt,*/
header[data-sticky] .logo_txt {
  color: #333333;
}


#menu-header-nav {
  display: flex;
  align-items: center;
}

#menu-header-nav .menu-item {
  display: flex;
  align-items: center;
  width: fit-content;
  height: fit-content;
}

#menu-header-nav > .menu-item.to_form > a {
  background-color: transparent;
  border: solid 1px #ffffff;
  border-radius: 2em;
}

/*
#menu-header-nav > .menu-item.to_form > a,
body[data-content-type="home"] header[data-sticky] #menu-header-nav > .menu-item.to_form > a,
body[data-content-type="page_prefront"] header[data-sticky] #menu-header-nav > .menu-item.to_form > a,*/
header[data-sticky] #menu-header-nav > .menu-item.to_form > a {
  background-color: var(--theme-color);
  border: solid 1px var(--theme-color);
  color: #ffffff;
}

#menu-header-nav .menu-item > a {
  display: block;
  width: fit-content;
  height: fit-content;
  padding: 0.5em;
  font-size: 1.7rem;
  white-space: nowrap;
  color: #333333;
  text-decoration: none;
  line-height: 1;
}

@media screen and (max-width: 1280px) {
  #menu-header-nav .menu-item > a {
    font-size: 1.35rem;
  }
}

#menu-header-nav .sub-menu .menu-item > a {
  color: #ffffff;
}

/*
body[data-content-type="home"] header #menu-header-nav .menu-item > a,
body[data-content-type="home"] header[data-sticky] #menu-header-nav .menu-item.to_form > a,
body[data-content-type="page_prefront"] header #menu-header-nav .menu-item > a,
body[data-content-type="page_prefront"] header[data-sticky] #menu-header-nav .menu-item.to_form > a,*/
header #menu-header-nav .menu-item > a,
header[data-sticky] #menu-header-nav .menu-item.to_form > a {
  color: #ffffff;
}

/*
body[data-content-type="home"] header[data-sticky] #menu-header-nav .menu-item > a,
body[data-content-type="page_prefront"] header[data-sticky] #menu-header-nav .menu-item > a,*/
header[data-sticky] #menu-header-nav .menu-item > a {
  color: #333333;
}

/*
body[data-content-type="home"] header[data-sticky] #menu-header-nav .sub-menu .menu-item > a,
body[data-content-type="page_prefront"] header[data-sticky] #menu-header-nav .sub-menu .menu-item > a,*/
header[data-sticky] #menu-header-nav .sub-menu .menu-item > a {
  color: #ffffff;
}

header[data-sticky] .logo > img {
  width: 43%;
}

#menu-header-nav > .menu-item.to_form > a {
  padding-left: 1.5em;
  padding-right: 1.5em;
}

#menu-header-nav > .menu-item.to_form > a {
  color: #ffffff;
  background-color: transparent;
  transition: 0.7s;
}

#menu-header-nav > .menu-item.to_form > a:hover {
  background-color: #ffffff;
  color: var(--theme-color);
  transition: 0.7s;
}

header[data-sticky] #menu-header-nav > .menu-item.to_form > a:hover {
  filter: brightness(1.2);
  transition: 0.7s;
}

#menu-header-nav .menu-item:not(:last-of-type){
  margin-right: 2rem;
}

@media screen and (max-width: 1080px) {
  header .logo > img,
  header[data-sticky] .logo > img {
    width: 45%;
    margin-right: 5%;
    object-fit: contain;
  }

  header .logo_txt > span:first-child {
    font-size: 1rem;
  }

  header .logo_txt > span:last-child {
    font-size: 1.8rem;
  }

  #menu-header-nav .menu-item > a {
    font-size: 1.3rem;
  }

  #menu-header-nav .menu-item:not(:last-of-type){
    margin-right: 1rem;
  }
}

#menu-header-nav .menu-item-has-children {
  position: relative;
}

#menu-header-nav .menu-item-has-children::after {
  content: '\251b';
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1em;
  height: 1em;
  font-size: 1.6rem;
  line-height: 1;
  color: inherit;
  position: absolute;
  top: 88%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%) rotateZ(45deg);
  opacity: 0.8;
}

/*
body[data-content-type="home"] #menu-header-nav .menu-item-has-children::after,
body[data-content-type="page_prefront"] #menu-header-nav .menu-item-has-children::after,*/
#menu-header-nav .menu-item-has-children::after {
  color: #ffffff;
  opacity: 1;
}

/*
body[data-content-type="home"] header[data-sticky] #menu-header-nav .menu-item-has-children::after,
body[data-content-type="page_prefront"] header[data-sticky] #menu-header-nav .menu-item-has-children::after,*/
header[data-sticky] #menu-header-nav .menu-item-has-children::after {
  color: inherit;
  opacity: 0.8;
}

#menu-header-nav .menu-item-has-children .sub-menu {
  position: absolute;
  left: 50%;
  top: 100%;
  display: flex;
  padding: 0.5em 1em 0;
  border-top: 15px solid transparent;
  box-sizing: content-box;
  transform: translateX(-50%);
  /*visibility: hidden;*/
  user-select: none;
  pointer-events: none;
  transition-property: opacity;
  opacity: 0;
  transition: 0.3s;
}

#menu-header-nav .menu-item-has-children a[href$="/company/"] + .sub-menu {
  left: calc(50% + 50px);
}

#menu-header-nav .menu-item-has-children a[href$="/recruit/"] + .sub-menu {
  left: calc(50% - 50px);
}

#menu-header-nav .menu-item-has-children .sub-menu::before {
  content: '';
  position: absolute;
  top: 10px;
  left: 0;
  display: block;
  width: 100%;
  height: calc(100% - 10px);
  background-color: var(--theme-bg);
  background-color: var(--section-bg1);
  z-index: -1;
}

#menu-header-nav .menu-item-has-children .sub-menu li {
  margin-top: 1.5em;
  margin-right: 0;
  margin-bottom: 1em;
}

#menu-header-nav .menu-item-has-children .sub-menu li {
  user-select: none;
}

#menu-header-nav .menu-item-has-children .sub-menu a {
  display: flex;
  align-items: center;
  margin-right: 0;
  margin-top: 1px;
  margin-bottom: 2px;
}

#menu-header-nav .menu-item-has-children .sub-menu a::after {
  display: block;
  content: '/';
  width: fit-content;
  height: fit-content;
  margin-left: 1em;
  font-size: inherit;
  font-weight: 300;
  color: #ffffff;
  line-height: 1;
}

#menu-header-nav .menu-item-has-children .sub-menu > li:last-child > a::after {
  display: none;
}

#menu-header-nav .menu-item-has-children:hover .sub-menu {
  /*visibility: visible;*/
  user-select: all;
  pointer-events: all;
  transition-property: opacity;
  opacity: 1;
  transition: 0.7s;
}

/*
body[data-content-type="home"] header .logo,
body[data-content-type="page_prefront"] header .logo,*/
header .logo {
  display: flex;
  align-items: center;
}

/*
header[data-sticky] #menu-header-nav > .menu-item-has-children:hover > a,
body[data-content-type="home"] header[data-sticky] #menu-header-nav > .menu-item-has-children:hover > a,
body[data-content-type="page_prefront"] header[data-sticky] #menu-header-nav > .menu-item-has-children:hover > a,*/
header[data-sticky] #menu-header-nav > .menu-item-has-children:hover > a {
  color: var(--theme-color);
}

/*
header[data-sticky] #menu-header-nav > .menu-item-has-children:hover::after,
body[data-content-type="home"] header[data-sticky] #menu-header-nav > .menu-item-has-children:hover::after,
body[data-content-type="page_prefront"] header[data-sticky] #menu-header-nav > .menu-item-has-children:hover::after,*/
header[data-sticky] #menu-header-nav > .menu-item-has-children:hover::after {
  color: var(--theme-color);
}

@media screen and (max-width: 880px){
  #menu-header-nav .menu-item > a {
    font-size: 1rem;
  }
}

@media screen and (max-width: 768px){
  header {
    display: flex;
    align-items: center;
    aspect-ratio: var(--mobile-header-ratio);
    max-width: 100%;
  }

  body[data-content-type="home"] header,
  body[data-content-type="prefront"] header {
    /*background-color: var(--theme-bg);*/
  }
  /*
  body[data-content-type="home"] header[data-sticky],
  body[data-content-type="page_prefront"] header[data-sticky],*/
  header[data-sticky] {
    position: fixed;
  }

  header > div {
    height: 100%;
    margin: 0;
    padding: 0 3%;
  }

  header .logo, #menu-header-nav > li {
    padding: 0;
  }

  header .logo {
    height: 100%;
  }

  header .logo > img,
  header[data-sticky] .logo > img {
    height: 80%;
    width: 39%;
  }

  header .logo_txt > span:first-child {
    font-size: 1.25rem;
  }

  header .logo_txt > span:last-child {
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 540px){
  header .logo > img,
  header[data-sticky] .logo > img {
    width: 39%;
  }

  header .logo_txt > span:first-child {
    font-size: 1rem;
  }

  header .logo_txt > span:last-child {
    font-size: 1.65rem;
  }
}

@media screen and (max-width: 375px){
  #header_nav2 {
    padding: 10% 5% 0;
  }

  #header_nav2 > ul > li {
    font-size: 1.45rem;
  }

  #header_nav2 a,
  #header_nav2 a:visited {
    margin: 1em 0;
  }

  #header_nav2 > ul > li > a {
    font-weight: 700;
  }

  #header_nav2 .sub-menu a {
    font-size: 1.3rem;
    margin: 0.5em 0;
  }

  header > div {
    padding: 0 5%;
  }

  header .logo_txt > span:first-child {
    font-size: 0.9rem;
  }

  header .logo_txt > span:last-child {
    font-size: 1.55rem;
    text-indent: 0.6em;
  }

  label[for="toggle_box"]{
    font-size: 2.4rem;
  }

  #header_nav2 > ul > li.to_form > a {
    height: 2.2em;
    font-weight: 400;
  }
}

body[data-content-type="home"] .kv,
body[data-content-type="prefront"] .kv {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  padding: 0%;
  position: relative;
  z-index: 2;
  overflow: hidden;
  background-image: url(../img/bg/kv_main.webp);
  background-repeat: no-repeat;
  background-size: cover;
}

#kv_slide {
  position: absolute;
  bottom: 0;
  left: 25%;
  width: 80%;
  /*aspect-ratio: 3 / 2;*/
  border-radius: 9999px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  overflow: hidden;
  user-select: none;
  pointer-events: none;
}

#kv_slide .slick-list {
  width: 100%;
  height: 100%;
}

#kv_slide .slick-track {
  width: 100%;
  height: 100%;
}

#kv_slide .slick-slide {
  width: 100%;
  height: 100%;
}

#kv_slide .slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body[data-content-type="home"] .kv::after,
body[data-content-type="prefront"] .kv::after  {
  /*
  z-index: -1;
  background-color: var(--section-bg1);
  opacity: 0.6;*/
}

body[data-content-type="home"] .kv > div,
body[data-content-type="home"] .kv > p,
body[data-content-type="prefront"] .kv > div,
body[data-content-type="prefront"] .kv > p {
  position: absolute;
  z-index: 10;
}

body[data-content-type="home"] .kv > div,
body[data-content-type="prefront"] .kv > div  {
  display: flex;
  align-items: flex-start;
  height: 45%;
  height: 50%;
  font-size: 1rem;
  line-height: 1;
  position: absolute;
  top: 16%;
  left: 6.5%;
  overflow-y: visible;
}

.kv h1,
.kv .kv_txt {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: flex-start;
  width: fit-content;
  height: 100%;
  font-size: inherit;
  line-height: inherit;
}

.kv h1 > span,
.kv .kv_txt > span {
  display: inline-flex;
  width: fit-content;
  height: 34%;
  align-items: flex-end;
  font-size: inherit;
  color: #ffffff;
  font-family: var(--h2-font);
  line-height: inherit;
  font-weight: 600;
}

.kv h1 > span:nth-of-type(2),
.kv .kv_txt > span:nth-of-type(2) {
  height: 26%;
  transform: translateX(7.5%) translateY(-2.5%);
}

.kv h1 > span {
  justify-content: flex-end;
  font-family: 'Din Alt', sans-serif;
  font-weight: 600;
  color: #d1f5ad;
  overflow-y: visible;
}

.kv .scalable {
  display: inline-flex;
  align-items: flex-end;
  height: fit-content;
  zoom: 1;
  line-height: inherit;
}

.kv h1 .scalable,
.kv .kv_txt .scalable {
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.333);
  /*text-shadow: 2px 2px 16px rgba(0, 0, 0, 0.333);*/
}

.kv > p {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: fit-content;
  height: 16.5%;
  top: 73.5%;
  left: 6.5%;
}

.kv > p[data-loaded]{
  opacity: 1;
  transition: 4s;
}

.kv > p > span {
  display: inline-flex;
  width: fit-content;
  height: 29%;
  justify-content: center;
  align-items: center;
  padding: 0 1em;
  background-color: #ffffff;
  color: var(--theme-color);
  font-weight: 600;
  font-feature-settings: 'palt';
}

.kv > p .scalable {
  align-items: center;
  letter-spacing: 0.1em;
}

.kv > div {
  overflow-y: hidden;
  user-select: none;
  pointer-events: none;
}

.kv h1 {
  opacity: 0;
  margin-right: 5px;
  overflow-y: visible;
}

.kv h1[data-loaded] {
  opacity: 1;
  transition: 2s;
}

.kv .kv_txt {
  width: 0%;
  overflow: hidden;
  white-space: nowrap;
  transform: translateX(1%) translateY(-3%);
}

.kv .kv_txt[data-loaded]{
  width: 100%;
  transition: 1.5s;
}

.kv .kv_txt[data-loaded]::-webkit-scrollbar {
  display: none;
}

.kv > .kv_mobile_bg {
  display: none;
}

@media screen and (max-width: 960px){
  body[data-content-type="home"] .kv {
    aspect-ratio: 16 / 9.5;
  }
}

@media screen and (max-width: 768px){
  body[data-content-type="home"] .kv,
  body[data-content-type="prefront"] .kv {
    aspect-ratio: 11 / 16;
    aspect-ratio: 14 / 16;
    background-position-x: center;
  }

  body[data-content-type="home"] .kv::before,
  body[data-content-type="prefront"] .kv::before {
    background-size: contain;
  }

  body[data-content-type="home"] .kv > .kv_mobile_bg,
  body[data-content-type="prefront"] .kv > .kv_mobile_bg {
    width: 20%;
    height: 55%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgb(255 255 255 / 0.1);
    z-index: 2;
  }

  body[data-content-type="home"] .kv::after,
  body[data-content-type="prefront"] .kv::after {
    content: '';
    display: block;
    width: 100%;
    aspect-ratio: 11 / 16;
    /*
    background-image: url(../img/bg/kv_main.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position-x: center;
    */
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    filter: opacity(0.333);
    background: linear-gradient(to bottom, rgb(255 255 255 / 0.4), transparent);
  }

  section:not(.kv){
    margin-top: -1px;
    position: relative;
  }

  body[data-content-type="home"] .kv > div,
  body[data-content-type="prefront"] .kv > div {
    height: 30%;
    top: 40%;
    left: 5.5%;
    z-index: 10;
  }

  #kv_slide {
    width: 85%;
    height: auto;
    aspect-ratio: 1 / 1;
    left: 15%;
    bottom: 2%;
    z-index: 10;
  }

  .kv h1,
  .kv .kv_txt {
    justify-content: space-between;
    letter-spacing: 0.15em;
  }

  .kv h1 > span,
  .kv .kv_txt > span {
    height: 32%;
  }

  .kv h1 > span {
    transform: translateY(5%);
  }

  .kv > p {
    height: 17%;
    top: 74%;
    left: 5.5%;
  }

  .kv > p > span {
    height: 27%;
  }
}

@media screen and (max-width: 540px){
  body[data-content-type="home"] .kv,
  body[data-content-type="prefront"] .kv {
    aspect-ratio: 11 / 16;
  }

  .kv h1 .scalable,
  .kv .kv_txt .scalable {
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
  }
}

.map_wrap {
  width: 100%;
  overflow: hidden;
}

.map_wrap > div {
  width: 100%;
  height: 0;
  padding-top: 65%;
  position: relative;
  transform: translateX(-50%) translateY(-50%);
}

.map_wrap > div > iframe {
  width: 200%;
  height: 200%;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 1080px){
  .map_wrap > div {
    transform: translateX(-70%) translateY(-70%);
  }

  .map_wrap > div > iframe {
    width: 235%;
    height: 235%;
  }
}

@media  screen and (max-width: 768px){
  .map_wrap > div {
    transform: translateX(-85%) translateY(-85%);
  }

  .map_wrap > div > iframe {
    width: 270%;
    height: 270%;
  }
}

@media  screen and (max-width: 540px){
  .map_wrap > div {
    transform: translateX(-100%) translateY(-100%);
  }

  .map_wrap > div > iframe {
    width: 300%;
    height: 300%;
  }
}


.pat2.addr {

}

.pat2.addr > div > ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.pat2.addr > div > ul > li address {
  width: 100%;
}

.intro,
.news_area,
.init {
  background-color: var(--section-bg1);
}

.service,
.sustain,
.recruit {
  background-color:#f6f4ea;
}

.addr {
  background-color: #edecd7;
}

.intro > div,
.news_area > div {
  background-color: var(--section-bg1);
}

main section.intro > div {
  display: flex;
  align-items: center;
  padding-left: 4.6%;
  color: #ffffff;
}

.intro > div > picture {
  width: 39.5%;
  height: auto;
  aspect-ratio: 20 / 27;
  border-top-right-radius: 84px;
  overflow: hidden;
}

.intro .cont_area {
  width: calc(100% - 39.5%);
  padding-left: 4%;
  padding-right: 13.5%;
  color: #ffffff;
}

@media screen and (max-width: 960px) {
  .intro .cont_area {
    padding-left: 3%;
    padding-right: 5%;
  }
}

.cont_area h2,
.cont_area p {
  margin-bottom: 4.4rem;
}

h2 > span {
  display: block;
  line-height: 1;
}

h2 > span:nth-of-type(1) {
  padding-bottom: 2rem;
  font-size: 7rem;
  font-family: var(--h2-font), sans-serif;
  font-weight: var(--h2-fontweight);
  color: var(--section-title1);
  color: var(--theme-color2);
}

h2 > span::nth-of-type(2) {
  font-size: 1.8rem;
}

@media screen and (min-width: 1520px){

}

@media screen and (max-width: 768px){
  h2 > span:first-child {
    padding-bottom: 1rem;
    font-size: 3.4rem;
  }

  h2 > span:last-child {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 540px){
  h2 > span:last-child {
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 375px){
  h2 > span:first-child {
    font-size: 3.1rem;
  }

  h2 > span:last-child {
    font-size: 1.25rem;
  }
}

.cont_area p {
  font-size: 1.8rem;
}

.cont_area > a,
.sustain > div > ul > li:first-child > a,
.recruit > div > ul > li:first-child > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: fit-content;
  height: fit-content;
  font-size: 1.8rem;
  color: inherit;
  text-decoration: none;
}

.cont_area > a:visited,
.sustain > div > ul > li:first-child > a:visited,
.recruit > div > ul > li:first-child > a:visited {
  color: inherit;
}

.cont_area > a > span:first-child,
.sustain > div > ul > li:first-child > a > span:first-child,
.recruit > div > ul > li:first-child > a > span:first-child {
  display: inline-flex;
  width: fit-content;
  height: fit-content;
  margin-right: 1.333em;
  line-height: 1;
}

.cont_area > a > span:last-child,
.sustain > div > ul > li:first-child > a > span:last-child,
.recruit > div > ul > li:first-child > a > span:last-child {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1em;
  height: 1em;
  border: solid 1px #ffffff;
  border-radius: 100%;
  color: #ffffff;
  position: relative;
  font-size: 4.8rem;
}

.cont_area > a > span:last-child::after,
.sustain > div > ul > li:first-child > a > span:last-child::after,
.recruit > div > ul > li:first-child > a > span:last-child::after {
  display: inline-flex;
  width: fit-content;
  height: fit-content;
  content: '\250c';
  order: 2;
  position: absolute;
  top: 50%;
  left: 61%;
  transform: translateX(-50%) translateY(-50%) rotateZ(135deg);
  line-height: 1;
  font-size: 0.5em;
}

@media screen and (max-width: 768px) {
  main section.intro > div {
    flex-wrap: wrap;
    padding: 6% 2% 10% 0;
  }
  .intro > div > picture {
    width: 80%;
    aspect-ratio: 10 / 12;
    border-top-right-radius: 8rem;
  }

  .intro .cont_area {
    width: 100%;
    padding-inline: 3%;
  }

  .cont_area {
    margin-top: -2.5%;
  }

  .cont_area h2,
  .cont_area p {
    margin-bottom: 2rem;
  }

  .cont_area h2 {
    text-align: end;
  }

  .cont_area p {
    text-align: justify;
  }
}

@media screen and (max-width: 540px){
  .intro .cont_area {
    padding-inline: 5%;
  }

  .cont_area p {
    font-size: 1.6rem;
  }

  .cont_area > a, .sustain > div > ul > li:first-child > a,
  .recruit > div > ul > li:first-child > a {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 375px){
  main section.intro > div {
    padding: 0 0 10% 0;
  }

  .intro > div > picture {
    width: 74%;
    aspect-ratio: 280 / 373;
  }

  .cont_area {
    margin-top: -4%;
  }

  .cont_area p {
    font-size: 1.4rem;
  }

  .cont_area > a,
  .sustain > div > ul > li:first-child > a,
  .recruit > div > ul > li:first-child > a {
    font-size: 1.4rem;
  }

  .cont_area > a > span:first-child,
  .sustain > div > ul > li:first-child > a > span:first-child,
  .recruit > div > ul > li:first-child > a > span:first-child {
    margin-right: 0.7em;
  }

  .cont_area > a > span:last-child,
  .sustain > div > ul > li:first-child > a > span:last-child,
  .recruit > div > ul > li:first-child > a > span:last-child {
    font-size: 4rem;
  }
}

main > section.news_area > div {
  padding-top: 3.5%;
  padding-left: 9.4%;
  padding-bottom: 6.5%;
}

.news_area h2 {
  padding-left: 2.5%;
}

.news_area h2 > span:first-child {
  /*color: #c2dccb;*/
}

.news_area h2 > span:last-child,
.service h2 > span:last-child,
.sustain h2 > span:last-child {
  color: var(--theme-color);
}

.news_area .container {
  margin-top: -5.85%;
  padding-top: 6rem;
  padding-bottom: 3.5%;
  padding-left: 18%;
  background-color: #ffffff;
}

.news_area .container > li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-right: 7em;
  padding: 1.2em 6em 1.2em 0;
  border-bottom: 1px solid #999999;
  font-size: 1.6rem;
}

/* お知らせ 本文内は埋め込み型コンテンツ用の要素非表示 */
.news_area .container > li > p picture,
.news_area .container > li > p img,
.news_area .container > li > p iframe,
.news_area .container > li > p embed,
.news_area .container > li > p object,
.news_area .container > li > p param,
.news_area .container > li > p video,
.news_area .container > li > p audio,
.news_area .container > li > p source,
.news_area .container > li > p track,
.news_area .container > li > p map,
.news_area .container > li > p area,
.news_area .container > li > p math,
.news_area .container > li > p svg {
  display: none;
}

.news_area .container > li > p a,
.news_area .container > li > p a:visited {
  color: inherit;
}

@media screen and (max-width: 960px) {
  main > section.news_area > div {
    padding-left: 5%;
  }

  .news_area .container {
    margin-top: -8%;
    padding-left: 12%;
  }

  .news_area .container > li {
    margin-right: 4em;
    padding-right: 4em;
  }
}

.news_area .container > li:last-child {
  border: none;
}

.news_area .container > li time {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  width: 9em;
  padding: 0.25em 0;
  border: solid 1px transparent;
  color: #222222;
  line-height: 1;
}

.news_area .container .news_cats {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.news_area .container .news_cats > li {
  display: flex;
  justify-content: center;
  align-self: center;
  width: fit-content;
  height: fit-content;
  margin-right: 0.5em;
}

.news_area .container .news_cats > li:last-of-type {
  margin-right: 0;
}

.news_area .container > li .cat {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  padding: 0.25em 0.75em;
  border: solid 1px var(--theme-color);
  color: var(--theme-color);
  line-height: 1;
}

.news_area .container > li > p {
  width: 100%;
  margin-top: 0.5em;
  text-align: justify;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* 任意の行数を指定 */
}

@media screen and (max-width: 768px){
  main > section.news_area > div {
    padding-bottom: 9%;
    padding-left: 3.5%;
  }

  .news_area h2 {
    padding-left: 3.5%;
  }

  .news_area .container {
    margin-top: -8%;
    padding-left: 3.5%;
  }
}

@media screen and (max-width: 540px){
  main > section.news_area > div {
    padding-left: 5%;
  }

  .news_area .container {
    margin-top: -3.5em;
    padding-top: 5.5em;
  }

  .news_area .container > li {
    margin-right: 0;
    padding-right: 1.5em;
    font-size: 1.4rem;
  }

  .news_area .container > li:first-of-type {
    padding-top: 0;
  }

  .news_area .container > li time {
    width: 8.5em;
  }

  .news_area .container .news_cats > li {
    margin-right: 0.15em;
  }

  .news_area .container > li .cat {
    padding: 0.15em 0.25em;
  }

  main > section.news_area > div {
    padding-bottom: 5em;
  }
}

@media screen and (max-width: 375px){
  main > section.news_area > div {
    padding-bottom: 4em;
  }

  .news_area h2 {
    padding-left: 5%;
  }

  .news_area .container {
    padding-left: 5%;
  }

  .news_area .container > li {
    font-size: 1.2rem;
  }
}

main section.service > div {
  padding: 6% 9.4% 6% 0.75%;
  background-color: #f6f4ea;
}

@media screen and (max-width: 960px){
  main section.service > div {
    padding-right: 1.5%;
  }
}

.service h2 {
  margin-left: 15%;
}

.service h2 > span:first-child {
  /*color: #bcd4bc;*/
}

.service > div > ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 4%;
}

.service > div > ul > li {
  width: 33%;
  margin-bottom: 4.5%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.service > div > ul > li.wide {
  width: 49.7%;
}

.service > div > ul > li > a {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  text-decoration: none;
  color: var(--theme-color);
  overflow: hidden;
}

.service li > a > picture {
  margin-bottom: 0.833rem;
}

.service li > a img {
  width: 100%;
  height: auto;
  aspect-ratio: 30 / 19;
}

.service li.wide > a img {
  aspect-ratio: 44 / 19;
}

.service li.wide > a img.objp_r_c {
  object-position: right center;
}

.service a > span {
  text-indent: 0.4em;
  font-size: 1.9rem;
  line-height: 1;
}

@media screen and (max-width: 768px){
  main section.service > div {
    padding: 5% 3% 13%;
  }

  .service h2 {
    margin-left: 0;
  }

  .service > div > ul > li,
  .service > div > ul > li.wide {
    width: 100%;
  }

  .service li > a picture img,
  .service li.wide > a picture img {
    aspect-ratio: 30 / 19;
  }

  .service a > span {
    text-indent: 0;
  }
}

@media screen and (max-width: 540px){
  main section.service > div {
    padding: 12% 5% 16%;
  }

  .service > div > ul > li {
    margin-bottom: 6.5%;
  }

  .service li > a > img {
    margin-bottom: 3.5%;
  }

  .service a > span {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 375px){
  main section.service > div {
    padding: 16% 5% 19%;
  }

  .service a > span {
    font-size: 1.35rem;
  }
}

main section.sustain > div {
  padding: 2% 12% 7% 0;
  background-color: #f6f4ea;
  position: relative;
}

.sustain h2 {
  margin-left: 12%;
}

.sustain h2 > span:first-child {
  /*color: #bcd4bc*/
}

.sustain > div > ul > li:first-child {
  margin-top: -5%;
  background-color: #edecd7;
  padding: 9% 0 5% 12%;
}

@media screen and (max-width: 960px) {
  .sustain > div > ul > li:first-child {
    margin-top: -9%;
  }
}

.sustain > div > ul > li:first-child > p {
  padding: 4% 0 2% 2%;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.7;
  color: var(--theme-color);
  position: relative;
}

.sustain > div > ul > li:first-child > p::before {
  content: '';
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1em;
  height: 1em;
  background-image: url(../img/bg/double_quort.webp);
  background-repeat: no-repeat;
  background-size: contain;
  font-size: 5.5rem;
  position: absolute;
  top: 8%;
  left: 0%;
  z-index: 0;
  opacity: 0.33;
}

.sustain > div > ul > li:first-child > p > span {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 3;
}

.sustain > div > ul > li:first-child > a {
  text-decoration: none;
  color: inherit;
}

.sustain > div > ul > li:first-child > a > span:last-child,
.recruit > div > ul > li:first-child > a > span:last-child {
  border-color: var(--theme-color);
}

.sustain > div > ul > li:first-child > a > span:last-child::after,
.recruit > div > ul > li:first-child > a > span:last-child::after {
  color: var(--theme-color);
}

.sustain > div > ul > li:last-child {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25%;
  position: absolute;
  bottom: 15%;
  right: 10%;
}

.sustain > div > ul > li:last-child img {
  width: 100%;
}

@media screen and (max-width: 768px){
  main section.sustain > div {
    padding-right: 0;
  }

  .sustain h2 {
    margin-left: 3.5%;
  }

  .sustain > div > ul > li:first-child {
    margin-top: -6%;
    padding-left: 3.5%;
  }

  .sustain > div > ul > li:first-child > p {
    background-image: none;
    padding: 3% 25% 2% 4%;
    position: relative;
  }

  .sustain > div > ul > li:first-child > p::before {
    font-size: 5.5rem;
    top: -1%;
    left: -1%;
  }

  .sustain > div > ul > li:first-child > a {
    margin-left: 4%;
  }
}

@media screen and (max-width: 540px){
  .sustain > div > ul > li:first-child {
    margin-top: -9.5%;
    padding-left: 5%;
    padding-bottom: 13%;
  }

  .sustain > div > ul > li:first-child > p {
    padding: 12% 22% 5% 5%;
    line-height: 1.8;
  }

  .sustain > div > ul > li:first-child > p::before {
    font-size: 5.5rem;
    top: 6%;
    left: 0%;
  }

  .sustain > div > ul > li:first-child > p > span {
    font-size: 1.7rem;
  }

  main section.sustain > div {
    padding-bottom: 18.5%;
  }

  .sustain > div > ul > li:last-child {
    width: 37.5%;
    bottom: 8%;
    right: 6%;
  }
}

@media screen and (max-width: 375px){
  main section.sustain > div {
    padding: 0 0 20% 0;
  }

  .sustain h2 {
    margin-left: 5%;
  }

  .sustain > div > ul > li:first-child {
    margin-top: -11%;
  }

  .sustain > div > ul > li:first-child > p {
    padding: 12% 22% 5% 7%;
  }

  .sustain > div > ul > li:first-child > p > span {
    font-size: 1.45rem;
  }

  .sustain > div > ul > li:first-child > a {
    margin-left: 7%;
  }
}

main > section.init > div {
  background-color: var(--section-bg1);
  padding: 8% 6% 0;
}

.init h2 {
  text-align: center;
}

.init h2 > span:first-child {

}

.init h2 > span:last-child {
  color: #ffffff;
}

.init > div > ul,
.init > div > ul.slick-initialized.slick-slider .slick-track {
  display: flex;
  justify-content: space-between;
  width: 100%;
  /*margin-top: -3%;*/
  transform: translateY(25%);
  position: relative;
  z-index: 1;
  display: block;
}

.init > div > ul.slick-initialized.slick-slider {
  display: block;
}

.init > div > ul.slick-initialized.slick-slider .slick-track {

}

.init > div > ul > li,
.init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide {
  display: block;
  width: 32.5%;
  height: 20.5em;
  /*aspect-ratio: 390 / 390;*/
  background-color: #ffffff;
}

.init .slick-track > .slick-slide {
  margin-right: 12px;
}

.init .slick-track > .slick-slide:last-of-type {
  margin-right: 0;
}

.init > div > ul > li > a,
.init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide > a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 11% 8%;
  color: inherit;
  text-decoration: none;
}

.init > div > ul > li > a:visited,
.init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide > a:visited {
  color: inherit;
}

.init > div > ul > li > a > span,
.init > div > ul > li > a > h3,
.init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide > a > span,
.init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide > a > h3 {
  display: block;
  color: var(--theme-color);
  text-align: center;
  line-height: 1;
}

.init > div > ul > li > a > span,
.init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide > a > span {
  font-size: 4.8rem;
  margin-bottom: 0.8em;
}

.init > div > ul > li > a > h3,
.init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide > a > h3 {
  font-size: 2.1rem;
  margin-bottom: 1em;
}

.init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide,
.init > div > ul > li > a > p,
.init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide > a > p {
  font-size: 1.8rem;
}

@media screen and (max-width: 960px) {
  .init > div > ul,
  .init > div > ul.slick-initialized.slick-slider .slick-track {
    margin-top: -1%;
  }

  .init > div > ul > li > a > span,
  .init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide > a > span {
    font-size: 3rem;
    margin-bottom: 0.5em;
  }

  .init > div > ul > li > a > h3,
  .init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide > a > h3 {
    font-size: 1.8rem;
    margin-bottom: 1em;
  }

  .init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide,
  .init > div > ul > li > a > p,
  .init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide > a > p {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 768px){
  main > section.init > div {
    padding: 5% 0 0 3.5%;
  }

  .init > div > ul {
    margin-top: -6%;
    transform: translateY(12%);
  }

  .init .slick-track {

  }

  .init .slick-slide {
    background-color: #ffffff;
    aspect-ratio: 15 / 14;
  }

  .init .slick-track > .slick-slide {
    margin-right: 1%;
  }

  .init .slick-track > .slick-slide:last-of-type {
    margin-right: 0;
  }

  .init .slick-slide > a,
  .init .slicl-slide > a:visited {
    display: block;
    width: 100%;
    height: 100%;
    padding: 10% 5%;
    text-decoration: none;
    color: inherit;
  }

  .init .slick-slide > a > span {
    display: block;
    margin-bottom: 0.5em;
    text-align: center;
    font-size: 4rem;
    line-height: 1;
    color: var(--theme-color);
  }

  .init .slick-slide > a > h3 {
    margin-bottom: 1.2em;
    font-size: 2.1rem;
    text-align: center;
    line-height: 1;
    color: var(--theme-color);
  }

  .init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide {
    height: 16em;
  }

  .init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide,
  .init > div > ul > li > a > p,
  .init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide > a > p {
    font-size: 1.9rem;
  }

  .init .slick-prev,
  .init .slick-next {
    width: 1em;
    height: 1em;
    border: 1px solid var(--theme-color);
    border-radius: 100%;
    font-size: 4.8rem;
    position: absolute;
    bottom: -25%;
    outline: 0;
    background-color: transparent;
  }

  .init .slick-disabled {
    border-color: rgba(82, 152, 109, 0.3);
  }


  .init .slick-prev {
    right: 15%;
  }

  .init .slick-next {
    right: 5%;
  }

  .init .slick-prev::after,
  .init .slick-next::after {
    position: absolute;
    top: 50%;
    transform: translateX(-50%) translateY(-50%) rotateZ(135deg);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 0.5em;
    line-height: 1;
    color: var(--theme-color);
  }

  .init .slick-prev.slick-disabled::after,
  .init .slick-next.slick-disabled::after {
    color: rgba(82, 152, 109, 0.25);
  }

  .init .slick-prev::after {
    content: '\2518';
    left: 40%;
  }

  .init .slick-next::after {
    content: '\250c';
    left: 60%;
  }
}

@media screen and (max-width: 540px){
  main > section.init > div {
    padding: 14% 0 0 5%;
  }

  .init h2 {
    padding-right: 8%;
  }

  .init > div > ul {
    margin-top: -4%;
  }

  .init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide {
    height: 22em;
  }

  .init .slick-slide > a,
  .init .slicl-slide > a:visited {
    padding: 8% 4.5%;
  }

  .init .slick-slide > a > span {
    margin-bottom: 0.8em;
    font-size: 3.5rem;
  }

  .init .slick-slide > a > h3 {
    font-size: 1.7rem;
  }

  .init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide,
  .init .slick-slide > a > p {
    font-size: 1.55rem;
    text-align: justify;
  }

  .init .slick-prev, .init .slick-next {
    bottom: -23%;
  }

  .init .slick-prev {
    right: 21%;
  }
}

@media screen and (max-width: 375px){
  .init .slick-prev, .init .slick-next {
    bottom: -16%;
  }

  .init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide {
    height: 27em;
  }

  .init .slick-slide > a,
  .init .slicl-slide > a:visited {
    padding: 11% 5%;
  }

  .init .slick-slide > a > span {
    font-size: 3.3rem;
  }

  .init .slick-slide > a > h3 {
    font-size: 1.5rem;
  }

  .init > div > ul.slick-initialized.slick-slider .slick-track .slick-slide,
  .init .slick-slide > a > p {
    font-size: 1.35rem;
  }

  .init .slick-prev, .init .slick-next {
    font-size: 4rem;
  }
}

main > section.recruit > div {
  padding: 14% 0 5% 12%;
  background-color: #f6f4ea;
}

.recruit h2 > span:first-child {
  /*color: #bbd3bb;*/
}

.recruit h2 > span:last-child {
  color: var(--theme-color);
  /*text-indent: 13.5em;*/
}

.recruit > div > ul {
  width: 100%;
  margin-top: 3%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  position: relative;
}

.recruit > div > ul > li:first-child {
  order: 1;
  width: 40%;
  padding: 4% 0 4% 0;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #f6f4ea;
}

.recruit > div > ul > li:first-child > p {
  font-size: 1.8rem;
  color: inherit;
}

.recruit > div > ul > li:first-child > p {
  margin-bottom: 1.667em;
}

.recruit > div > ul > li:last-child {
  order: 0;
  width: 80%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.recruit > div > ul > li:last-child > img {
  width: 100%;
}

.recruit > div > ul > li:first-child > a {
  margin-top: 5%;
}

.recruit > div > ul > li:last-child > picture {
  width: 100%;
}

@media screen and (max-width: 960px) {
  main > section.recruit > div {
    padding: 20% 0 12% 8%;
  }

  .recruit h2 > span:last-child {
    text-indent: initial;
  }

  .recruit > div > ul > li:first-child > p {
    font-size: 1.55rem;
  }
}

@media screen and (max-width: 768px){
  main > section.recruit > div {
    padding: 35% 3.5% 12%;
  }

  .recruit h2 {
    text-align: center;
  }

  .recruit > div > ul {
    flex-direction: column;
  }

  .recruit > div > ul > li:first-child {
    width: 100%;
    position: static;
  }

  .recruit > div > ul > li:last-child {
    width: 100%;
  }
}

@media screen and (max-width: 540px) {
  main > section.recruit > div {
    padding: 40% 5% 8%;
  }

  .recruit > div > ul {
    margin-top: 5%;
  }
}

@media screen and (max-width: 375px) {
  .recruit > div > ul > li:first-child > p {
    font-size: 1.4rem;
  }
}

main > section.addr > div {
  padding: 6% 10% 10%;
  background-color: #edecd7;
}

.addr h2 {
  margin-bottom: 6%;
}

.addr h2 > span {
  text-align: center;
}

.addr h2 > span:first-child {
  /*color: #b6ceae;*/
}

.addr h2 > span:last-child {
  color: var(--theme-color);
}

.addr > div > ul {
  gap: 3.5%;
}

.addr h4 {
  font-size: 2.1rem;
  font-weight: 400;
}

.addr .addr_border {
  display: block;
  width: 4em;
  height: fit-content;
  margin: 0.5em 0 0.5em;
  font-size: 1.6rem;
  line-height: 1;
  border-bottom: 2.5px solid var(--theme-color);
}

.addr address > ul {
  margin-bottom: 1.5em;
  font-size: 1.8rem;
}

.addr address > ul li > span {
  padding-right: 1em;
}

@media screen and (max-width: 1080px){
  .addr address > ul {
    font-size: 1.6rem;
  }

  .addr address > ul li > span {
    padding-right: 0.5em;
  }
}

@media screen and (max-width: 1080px) {
  main > section.addr > div {
    padding: 5% 3% 8%
  }

  .addr address > ul {
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 768px){
  .pat2.addr > div > ul {
    display: block;
  }

  .pat2.addr > div > ul > li {
    margin-bottom: 4rem;
  }

  .addr address > ul {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 540px){
  main > section.addr > div {
    padding: 14% 5% 14%;
  }

  .addr h4 {
    font-size: 1.8rem;
  }

  .addr address > ul {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 375px){
  .addr h4 {
    font-size: 1.55rem;
  }

  .addr address > ul {
    font-size: 1.3rem;
  }
}

footer {
  background-color: #3d3d3d;
  color: #ffffff;
}

footer > div {
  padding: 100px 180px 10px;
}

footer a,
footer a:visited {
  color: #ffffff;
  text-decoration: none;
}

footer > div {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}

footer .logo {
  width: 60%;
  max-width: 830px;
}

footer .logo > li {
}

footer .logo > li:first-of-type {
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 40px;
  padding-left: 168px;
}

footer .logo > li > ul {
  display: flex;
  align-items: center;
}

footer .logo > li > ul > li {
  height: 40px;
  display: flex;
  align-items: center;
  position: relative;
  margin-right: 40px;
}

footer .logo > li:nth-of-type(2) > ul > li:nth-of-type(3) {
  transform-origin: left center;
  transform: scale(1.22) translateY(22%);
}

footer .logo > li > ul > li img {
  height: 100%;
  width: auto;
  object-fit: contain;
}

footer .logo > li:nth-of-type(1) > ul > li:nth-of-type(1) img {
  aspect-ratio: 377 / 80;
}

footer .logo > li:nth-of-type(1) > ul > li:nth-of-type(2) img {
  height: 160%;
  aspect-ratio: 258 / 150;
}

footer .logo > li:nth-of-type(2) > ul > li:nth-of-type(1) img {
  aspect-ratio: 459 / 80;
}

footer .logo > li:nth-of-type(2) > ul > li:nth-of-type(2) img {
  aspect-ratio: 554 / 80;
}

footer .logo > li:nth-of-type(2) > ul > li:nth-of-type(3) img {
  aspect-ratio: 388 / 80;
}

/*
footer .logo > li:first-of-type > ul > li:nth-of-type(2) img {
  transform: scale(1.5);
  transform-origin: left center;
}*/

footer .logo > li > ul > li > a {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}

footer .logo > li:first-of-type {
  /*zoom: 0.55;*/
}

footer .logo > li:last-of-type {
  /*margin-left: 90px;*/
  /*zoom: 0.5;*/
}

footer .logo > li:first-child > ul > li {
  /*padding-block: 14px;*/
}

footer .logo > li > ul:first-of-type > li img {
  /*height: 100%;*/
}

footer .logo picture {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

footer .logo picture > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#footer_nav {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

#footer_nav > ul:first-child {
  margin-right: 25%;
}

#footer_nav li {
  width: fit-content;
  height: fit-content;
}

#footer_nav > ul > li:not(:first-child) {
  margin-top: 3em;
}

#footer_nav .sub-menu li {
  margin-top: 2em;
}

#footer_nav a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: fit-content;
  margin-bottom: 1em;
  font-size: 1.6rem;
  line-height: 1;
  white-space: nowrap;
}

#footer_nav .sub-menu a {
  font-size: 1.4rem;
  color: #9e9e9e;
}

#footer_nav .sub-menu .sub-menu a {
  margin-left: 1em;
}

footer .copyrights {
  display: flex;
  align-items: center;
  width: 100%;
  margin-top: 5%;
  font-size: 2rem;
  font-weight: 300;
  color: #9e9e9e;
  line-height: 1;
}

.copyrights small {
  font-size: 0.5em;
  text-indent: 0.5em;
}

@media screen and (max-width: 1200px) {
  footer > div {
    padding: 6.5% 3% 0.5%;
  }
}

@media screen and (max-width: 1080px) {
  footer > div {
    padding: 6.5% 3% 0.5%;
  }

  footer > div .logo {

  }
}

@media screen and (max-width: 960px) {
  footer .logo > li > ul {
    display: block;
  }

  footer .logo > li:first-of-type {
    margin-inline: 0;
    margin-bottom: 0;
    padding-left: 0;
  }

  footer .logo > li > ul > li {
    margin-right: 0;
    margin-bottom: 20px;
  }

  footer .logo > li:nth-of-type(1) > ul > li:nth-of-type(2){
    height: 64px;
  }

  footer .logo > li:nth-of-type(1) > ul > li:nth-of-type(2) img {
    height: 100%;
  }

  footer .logo > li:nth-of-type(2) > ul > li:nth-of-type(3) {
    transform-origin: left top;
    transform: scale(1.22);
  }
}

@media screen and (max-width: 880px) {
  /*
  footer .logo > li:first-of-type {
    zoom: 0.45;
  }

  footer .logo > li:last-of-type {
    margin-left: 64px;
    zoom: 0.4;
  }*/
}

#footer_nav2 {
  display: none;
  position: absolute;
  right: 4%;
  bottom: 6%;
}

#footer_nav2 > span {
  margin-bottom: 0.75em;
  font-size: 1.5rem;
  font-weight: 700;
  color: #787878;
  writing-mode: vertical-rl;
}

#footer_nav2 > button {
  width: 2.25em;
  height: 2.25em;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  border-radius: 100%;
  font-size: 2rem;
  position: relative;
}

#footer_nav2 > button::after {
  content: '\251b';
  width: fit-content;
  height: fit-content;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  font-size: inherit;
  color: var(--theme-color);
  line-height: 1;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%) rotateZ(-135deg);
}

@media screen and (max-width: 768px) {
  footer {
    position: relative;
  }

  footer > div .logo {
    width: 85%;
    flex-direction: column;
  }

  footer .logo > li {
    width: 100%;
  }

  footer .logo > li:first-child {
    margin-bottom: 8%;
    margin-right: 0;
  }

  #footer_nav {
    display: none;
  }

  #footer_nav2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: fit-content;
    height: fit-content;
  }

  button[name="to_head"] {
    cursor: pointer;
  }
}

@media screen and (max-width: 540px){
  footer > div {
    padding: 13% 5% 1%;
  }

  footer .logo > li:first-child {
    margin-bottom: 13.5%;
  }

  footer .logo > li:last-of-type {
    margin-left: 0;
  }
}

@media screen and (max-width: 375px){
  footer > div .logo {
    width: 65%;
    flex-direction: column;
  }

  footer > div .logo > li:first-of-type > ul {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  footer .logo > li:first-child {
    margin-bottom: 24%;
  }

  footer > div .logo > li:first-of-type > ul > li {
    height: 32%;
    max-height: 32%;
    width: fit-content;
    max-width: 100%;
    flex-shrink: 1;
    display: flex;
    align-items: flex-start;
  }

  footer > div .logo > li:first-of-type > ul > li img {
    width: 80%;
  }

  footer > div .logo > li:last-of-type {
    width: 46%;
  }

  #footer_nav2 > span {
    font-size: 1.25rem;
  }
}

/* Slick.js 追記 */
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    /*transform: scale(1.15); /* 拡大率 */
    transform: scale(1.25);
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}

/*front-page*/
#loading_bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000000;
  background-color: var(--theme-color);
  background-color: var(--theme-bg-color);
  z-index: 300;
  user-select: none;
  pointer-events: none;
}

#loading_bg > div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow: visible;
  column-gap: 5%;
  opacity: 0;
}

#loading_bg > div > picture {
  display: flex;
  width: 25%;
  aspect-ratio: 1 / 1;
}

#loading_bg > div > span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: fit-content;
  color: #ffffff;
  font-family: 'Din Alt', sans-serif;
  font-weight: 600;
}

/*
@media0 screen and (max-width: 768px){
  #loading_bg > div > picture {
    width: 50%;
  }
}*/

/* page */
body[data-content-type^="page_"] main {
  background-color: #ffffff;
}

.breadcrumbs {
  margin-block: 1em;
  margin-left: 183px;
  font-size: 1.35rem;
}

.breadcrumbs span[property="itemListElement"] {
  line-height: 1;
}

.breadcrumbs span[property="itemListElement"]::after {
  content: '\251b';
  display: inline-block;
  width: fit-content;
  height: fit-content;
  margin-inline: 1em 0.5em;
  font-size: inherit;
  line-height: 1;
  transform: rotateZ(-45deg);
}

.breadcrumbs span[property="itemListElement"]:last-of-type:after {
  display: none;
}

.breadcrumbs span[property="itemListElement"] > a,
.breadcrumbs span[property="itemListElement"] > a:visited {
  color: inherit;
  text-decoration: none;
}

@media screen and (max-width: 1200px){
  .breadcrumbs {
    margin-left: 2%;
  }
}

@media screen and (max-width: 540px){
  .breadcrumbs {
    margin-top: 20px;
    margin-left: 20px;
  }
}

body[data-content-type^="page_"] h1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1366 / 400;
  background-image: url(../img/bg/title_bg.webp);
  background-repeat: no-repeat;
  background-size: contain;
  color: #ffffff;
}

body[data-content-type^="page_"] h1 > span:first-of-type {
  display: block;
  margin-block: 1.75em 0.3em;
  font-size: 5.2rem;
  line-height: 1;
}


body[data-content-type^="page_"] h1 > span:last-of-type {
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
}

@media screen and (max-width: 768px){
  body[data-content-type^="page_"] h1 {
    background-image: url(../img/bg/title_bg_mob.webp);
    aspect-ratio: 5 / 4;
  }
}

body[data-content-type^="page_"] > main > section > div {
  max-width: 1000px;
  margin-inline: auto;
  padding: 0;
}

@media screen and (max-width: 1080px) {
  body[data-content-type^="page_"] > main > section > div {
    margin-inline: 24px;
  }
}

@media screen and (max-width: 768px) {
  body[data-content-type^="page_"] > main > section > div {
      margin-inline: 32px;
  }
}

@media screen and (max-width: 540px) {
  body[data-content-type^="page_"] h1 > span:first-of-type {
    font-size: 3.5rem;
  }

  body[data-content-type^="page_"] h1 > span:last-of-type {
    font-size: 1.25rem;
  }

  body[data-content-type^="page_"] > main > section > div {
    margin-inline: 20px;
  }
}

@media screen and (max-width: 375px) {
  body[data-content-type^="page_"] > main > section > div {
    margin-inline: 20px;
  }

  body[data-content-type^="page_"] h1 > span:first-of-type {
    font-size: 2.8rem;
  }

  .breadcrumbs {
    margin-top: 16px;
    margin-left: 16px;
    font-size: 1.2rem;
  }
}

body[data-content-type^="page_"] > main > section:first-of-type {
  padding-top: 100px;
}

body[data-content-type^="page_"] h2.pat1 {
  margin-bottom: 50px;
  text-align: center;
}

body[data-content-type^="page_"] h2.pat2 {
  margin-bottom: 50px;
}

body[data-content-type^="page_"] h2.pat1 > span:nth-child(1),
body[data-content-type^="page_"] h2.pat2 > span:nth-child(1)  {
  padding: 0;
  margin-bottom: 0.33em;
  font-size: 3rem;
  color: var(--theme-color);
  font-weight: 600;
}

body[data-content-type^="page_"] h2 > span:nth-child(1) > small {
  font-size: 0.55em;
}

body[data-content-type^="page_"] h2.pat1 > span:nth-child(2),
body[data-content-type^="page_"] h2.pat2 > span:nth-child(2) {
  font-size: 1.6rem;
  color: #c3c3c3;
}

body[data-content-type^="page_"] h2.pat2 > span:nth-child(1),
body[data-content-type^="page_"] h2.pat2 > span:nth-child(2) {
  color: #ffffff;
}

body[data-content-type^="page_"] section dl.tbl {
  margin-bottom: 100px;
}

body[data-content-type^="page_"] section dl.tbl > div {
  display: flex;
  width: 100%;
  font-size: 1.6rem;
}

body[data-content-type^="page_"] section dl.tbl dt,
body[data-content-type^="page_"] section dl.tbl dd {
  padding-block: 0.8em;
  padding-left: 0.8em;
}

body[data-content-type^="page_"] section dl.tbl dt {
  width: 25%;
  background-color: #f5f5f5;
  border-top: 1px solid #e8e8e8;
}

body[data-content-type^="page_"] section dl.tbl dd {
  width: 75%;
  border-top: 1px solid #f0f0f0;
}

body[data-content-type^="page_"] section dl.tbl > div:last-of-type > dt {
  border-bottom: 1px solid #e8e8e8;
}

body[data-content-type^="page_"] section dl.tbl > div:last-of-type > dd {
  border-bottom: 1px solid #f0f0f0;
}

@media screen and (max-width: 768px) {
  body[data-content-type^="page_"] > main > section:first-of-type {
    margin-top: 54px;
  }

  body[data-content-type^="page_"] h2 > span:nth-child(1) > small {
    display: inline-block;
    font-size: inherit;
    margin-left: 0.5em;
  }
}

@media screen and (max-width: 540px){
  body[data-content-type^="page_"] > main > section:first-of-type {
    padding-bottom: 10px;
  }

  body[data-content-type^="page_"] h2.pat1 {
    margin-bottom: 24px;
  }

  body[data-content-type^="page_"] h2.pat1 > span:nth-child(1),
  body[data-content-type^="page_"] h2.pat2 > span:nth-child(1) {
    font-size: 2rem;
    font-weight: 600;
  }

  body[data-content-type^="page_"] h2.pat1 > span:nth-child(2),
  body[data-content-type^="page_"] h2.pat2 > span:nth-child(2) {
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 375px){
  body[data-content-type^="page_"] h2.pat1 {
    margin-bottom: 24px;
  }

  body[data-content-type^="page_"] h2.pat1 > span:nth-child(1),
  body[data-content-type^="page_"] h2.pat2 > span:nth-child(1) {
    font-size: 1.65rem;
  }

  body[data-content-type^="page_"] h2.pat1 > span:nth-child(2),
  body[data-content-type^="page_"] h2.pat2 > span:nth-child(2) {
    font-size: 0.92rem;
  }
}

.co_overview {
  padding-bottom: 100px;
}

.co_overview > div > figure {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.co_overview > div > figure > h3 {
  width: 23.5%;
  margin-bottom: 50px;
}

.co_overview > div > figure > h3 > picture {
  display: flex;
  width: 100%;
}

.co_overview > div > figure > ul {
  width: 69%;
  margin-inline: 15%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.co_overview > div > figure > ul > li {
  display: flex;
  width: 47.1%;
  padding: 3.5% 3.9%;
  border: 2px solid #f0f0f0;
  position: relative;
}

.co_overview > div > figure > ul > li > a {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .co_overview > div > figure {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
  }

  .co_overview > div > figure > h3,
  .co_overview > div > figure > ul {
    width: 50%;
    margin-inline: auto;
    margin-bottom: 16px;
  }

  .co_overview > div > figure > h3 {
    margin-bottom: 32px;
  }

  .co_overview > div > figure > h3 > picture > img,
  .co_overview > div > figure > ul li img {
    width: 50%;
    margin-inline: auto;
  }

  .co_overview > div > figure > ul {
    flex-direction: column;
    align-items: center;
  }

  .co_overview > div > figure > ul li {
    width: 100%;
    margin-bottom: 16px;
  }

  .co_overview > div > figure > ul li {
    padding-block: 24px;
  }

  .co_overview > div > figure > ul li img {
    width: 66.67%;
  }
}

@media screen and (max-width: 540px) {
  .co_overview > div > figure > h3,
  .co_overview > div > figure > ul {
    width: 66.67%;
  }

  .co_overview > div > figure > h3 > picture > img {
    width: 60%;
  }

  .co_overview > div > figure > ul li img {
    width: 80%;
  }

  body[data-content-type^="page_"] section dl.tbl > div {
    font-size: 1.4rem;
  }

  body[data-content-type^="page_"] section dl.tbl dt,
  body[data-content-type^="page_"] section dl.tbl dd {
    padding-block: 0.5em;
  }

  body[data-content-type^="page_"] section dl.tbl dt {
    width: calc(25% + 1.1em);
    padding-right: 0.8em;
  }

  body[data-content-type^="page_"] section dl.tbl dd {
    width: calc(75% - 1.1em);
  }
}

@media screen and (max-width: 375px) {
  body[data-content-type^="page_"] section dl.tbl {
    margin-bottom: 50px;
  }

  body[data-content-type^="page_"] section dl.tbl > div {
    font-size: 1.2rem;
  }

  .co_overview > div > figure > h3 {
    margin-bottom: 20px;
  }

  .co_overview > div > figure > ul {
    width: 72.88%;
  }

  .co_overview > div > figure > ul li {
    padding-block: 17px;
  }
}

.co_message {
  padding-block: 100px;
  background-color: var(--theme-color);
  background-color: var(--theme-bg-color);
  background-color: #f5f4ea;
}

body[data-content-type^="page_"] .co_message h2.pat2 > span:nth-child(1) {
  color: var(--theme-color);
}

body[data-content-type^="page_"] .co_message .pat2 > span:nth-child(2) {
  color: #c3c3c3;
}

.co_message > div > div {
  color: #ffffff;
  color: inherit;
}

.co_message > div > div h3 {
  width: fit-content;
  height: fit-content;
  margin-bottom: 50px;
  display: flex;
  align-items: flex-end;
  font-size: 2.2rem;
  line-height: 1;
}

.co_message > div > div h3::before {
  display: flex;
  content: '';
  height: 1em;
  aspect-ratio: 5 / 4;
  background-image: url(../img/bg/double_quort2.webp);
  background-repeat: no-repeat;
  background-size: contain;
  font-size: 2.728em;
  display: none;
}

.co_message > div > div h3 > span {
  display: inline-block;
  width: fit-content;
  height: fit-content;
  font-size: inherit;
  /*
  margin-bottom: 0.25em;
  margin-left: -2.5em;
  */
  line-height: 1;
  font-weight: 400;
  position: relative;
}

.co_message > div > div h3 > span::before,
.co_message > div > div h3 > span::after {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  content: '';
  width: 1em;
  aspect-ratio: 5 / 4;
  background-image: url(../img/bg/double_quort2.webp);
  background-repeat: no-repeat;
  background-size: contain;
  font-size: 0.8em;
}

.co_message > div > div h3 > span::before {
  margin-right: 0.25em;
  vertical-align: text-top;
}

.co_message > div > div h3 > span::after {
  margin-left: -0.5em;
  background-image: url(../img/bg/double_quort2_rev.webp);
  vertical-align: text-bottom;
}

.co_message > div > div ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.co_message > div > div ul > li:first-of-type {
  width: 65%;
}

.co_message > div > div ul > li:last-of-type {
  width: 26.6%;
  display: flex;
}

.co_message > div > div ul > li:first-of-type > p {
  font-size: 1.6rem;
  margin-bottom: 3.5em;
}

.co_message > div > div ul > li:first-of-type > .role {
  display: inline-flex;
  width: 100%;
  font-size: 2.2rem;
  justify-content: flex-end;
  align-items: flex-end;
}

.role > span {
  margin-right: 1em;
  font-size: 1.8rem;
}

@media screen and (max-width: 768px){
  .co_message > div > div h3 > span {
    line-height: 1.6;
    /*margin-top: 1.5em;*/
  }

  .co_message > div > div ul {
    flex-direction: column-reverse;
    align-items: center;
  }

  .co_message > div > div ul > li:first-of-type {
    width: 100%;
  }

  .co_message > div > div ul > li:last-of-type {
    width: 50%;
    margin-bottom: 24px;
  }

  .co_message > div > div ul > li:first-of-type > p {
    font-size: 1.4rem;
    line-height: 1.65;
  }
}

@media screen and (max-width: 540px){
  body[data-content-type^="page_"] .co_message h2.pat2 {
    margin-bottom: 30px;
  }

  .co_message {
    padding-block: 50px;
  }

  .co_message > div > div h3 {
    margin-bottom: 20px;
    align-items: flex-start;
    font-size: 1.9rem;
  }

  .co_message > div > div h3::before {
    font-size: 2.363em;
  }

  .co_message > div > div h3 > span {
    /*
    margin-top: 1.2em;
    margin-left: -2.1em;*/
    margin-bottom: 0;
    line-height: 1.7;
    font-weight: 400;
  }

  .co_message > div > div ul > li:last-of-type {
    width: 43.7%;
    margin-bottom: 16px;
  }

  .co_message > div > div ul > li:first-of-type > p {
    font-size: 1.35rem;
    text-align: justify;
  }

  .co_message > div > div ul > li:first-of-type > .role {
    font-size: 1.7rem;
    align-items: center;
  }
  .role > span {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 375px){
  body[data-content-type^="page_"] .co_message h2.pat2 > span:nth-child(1){
    /*font-weight: 500;*/
  }

  .co_message > div > div h3 {
    font-size: 1.6rem;
  }

  .co_message > div > div h3::before {
    font-size: 2.4em;
  }

  .co_message > div > div h3 > span {
    /*
    margin-top: 1.2em;
    margin-left: -2.2em;*/
  }

  .co_message > div > div ul > li:first-of-type > p {
    font-size: 1.2rem;
  }

  .co_message > div > div ul > li:first-of-type > .role {
    font-size: 1.5rem;
  }

  .role > span {
    font-size: 1.2rem;
  }
}

body[data-content-type^="page_"] > main > section.co_org > div {
  padding-block: 100px;
}

@media screen and (max-width: 540px) {
  body[data-content-type^="page_"] > main > section.co_org > div {
    padding-block: 54px 36px;
  }

  .co_org figure {
    margin-bottom: 0;
  }
}

.co_history {
  background-color: #f5f4ea;
}

body[data-content-type^="page_"] > main > section.co_history > div {
  padding-block: 100px;
}

.co_history > div > ul {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  overflow: hidden;
}

.co_history > div > ul > li {
  width: 50%;
}

dl.hist_line {
  margin-inline: auto;
  width: 100%;
  height: fit-content;
}

dl.hist_line > div {
  width: 100%;
  display: flex;
}

dl.hist_line dt {
  width: 8.4em;
  display: flex;
  font-size: 1.4rem;
  color: var(--theme-color);
  position: relative;
}

dl.hist_line dt > span:first-child {
  display: inline-block;
  width: 3.35em;
  line-height: 1;
}

dl.hist_line dt > span:last-child {
  display: inline-block;
  width: 2.2em;
  text-align: end;
  line-height: 1;
}

dl.hist_line dt::before {
  content: '';
  display: block;
  width: 2px;
  border-left: 1px solid var(--theme-color);
  height: calc(100% - 6px);
  position: absolute;
  top: 12px;
  right: 8px;
  z-index: 0;
}

dl.hist_line > div:last-of-type > dt::before {
  display: none;
}

dl.hist_line dt::after {
  content: '\25cf';
  display: block;
  width: fit-content;
  height: calc(100% - 4px);
  position: absolute;
  top: 0;
  right: 5px;
  font-size: 11px;
  font-weight: 400;
  color: var(--theme-color);
  z-index: 2;
}

dl.hist_line .dummy_pc dt::after {
  display: none;
}

dl.hist_line .dummy_pc dd {
  padding-top: 40px;
}

dl.hist_line dd {
  width: 23.2em;
  padding-bottom: 30px;
  padding-left: 20px;
  font-size: 1.55rem;
  transform: translateY(-3.5px);
}

@media screen and (max-width: 1080px){
  .co_history > div > ul {
    justify-content: space-between;
  }

  .co_history > div > ul > li {
    width: 49.5%;
  }

  dl.hist_line dt {
    font-size: 1.3rem;
  }

  dl.hist_line dt::after {
    font-size: 10px;
  }

  dl.hist_line dd {
    font-size: 1.45rem;
  }
}

@media screen and (max-width: 880px){
  dl.hist_line dt {
    width: 9.5em;
  }

  dl.hist_line dd {
    padding-left: 6px;
  }
}

@media screen and (max-width: 768px){
  .co_history > div > ul > li {
    width: 100%;
  }

  .co_history > div > ul {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }

  .hist_line div.sphidden {
    display: none;
  }

  dl.hist_line dt {
    width: 7.6em;
  }

  dl.hist_line dt::before {
    right: 11px;
  }

  dl.hist_line dt::after {
    font-size: 16px;
  }

  dl.hist_line dd {
    width: 27em;
  }
}

@media screen and (max-width: 540px){
  body[data-content-type^="page_"] > main > section.co_history > div {
    padding-block: 60px 50px;
  }

  dl.hist_line dt {
    width: 11.5em;
    font-size: 1.2rem;
  }

  dl.hist_line dd {
    width: 25em;
    font-size: 1.35rem;
  }

  dl.hist_line dt::before {
    right: 8px;
  }

  dl.hist_line dt::after {
    font-size: 11px;
  }
}

@media screen and (max-width: 375px){
  body[data-content-type^="page_"] > main > section.co_history > div {
    margin-inline: 24px;
    padding-bottom: 24px;
  }

  dl.hist_line dt {
    width: 11.5em;
    font-size: 1.1rem;
  }

  dl.hist_line dd {
    width: 25em;
    font-size: 1.2rem;
  }
}

body[data-content-type^="page_"] > main > section.co_soc > div {
  padding-block: 60px;
}

body[data-content-type^="page_"] .co_soc h2,
body[data-content-type^="page_"] .co_partner h2 {
  margin-bottom: 16px;
}

.co_soc > div ul,
.co_partner > div ul {
  height: 14em;
  display: flex;
  flex-flow: column wrap;
  font-size: 1.6rem;
}

.co_partner > div ul {
  height: 43em;
}

.co_soc > div ul li,
.co_partner > div ul li {
  display: flex;
  width: 33%;
  align-items: flex-start;
  flex-wrap: wrap;
  padding-bottom: 32px;
}

.co_soc > div ul li::before,
.co_partner > div ul li::before {
  content: '\25cf';
  display: inline-block;
  width: fit-content;
  height: fit-content;
  margin-right: 0.5em;
  line-height: 1;
  color: var(--theme-color);
  border-radius: 50%;
  font-size: 0.667em;
  transform: translateY(0.667em);
}

body[data-content-type^="page_"] > main > section.co_partner > div {
  padding-bottom: 100px;
}

@media screen and (max-width: 1080px){
  .co_soc > div ul,
  .co_partner > div ul {
    font-size: 1.4rem;
  }

  .co_partner > div ul {
    height: 45em;
  }
}

@media screen and (max-width: 880px){
  .co_soc > div ul,
  .co_partner > div ul {
    height: 18em;
    font-size: 1.2rem;
  }

  .co_partner > div ul {
    height: 50em;
  }
}

@media screen and (max-width: 768px){
  .co_soc > div ul,
  .co_partner > div ul {
    font-size: 1.3rem;
  }

  .co_soc > div ul {
    display: block;
    width: fit-content;
    height: fit-content;
    margin-inline: auto;
  }

  .co_partner > div ul {
    height: 56em;
  }

  .co_soc > div ul li {
    width: 100%;
  }

  .co_partner > div ul li {
    width: 50%;
  }
}

@media screen and (max-width: 700px){
  .co_partner > div ul {
    height: 65em;
  }

  .co_partner > div ul {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 640px){
  .co_partner > div ul {
    height: 70em;
  }
}

@media screen and (max-width: 540px){
  .co_soc > div ul li::before,
  .co_partner > div ul li::before {
    font-size: 0.8em;
  }

  .co_soc > div ul,
  .co_partner > div ul {
    font-size: 1.3rem;
  }

  .co_soc > div ul {
    margin-inline: 0 auto;
  }

  .co_partner > div ul {
    height: 62em;
  }

  .co_soc > div ul li {
    padding-bottom: 16px;
  }

  .co_partner > div > ul li {
    flex-wrap: nowrap;
    height: 3.5em;
    padding-bottom: 0;
    padding-right: 0.5em;
  }
}

@media screen and (max-width: 375px){
  body[data-content-type^="page_"] > main > section.co_soc > div,
  body[data-content-type^="page_"] > main > section.co_partner > div {
    padding-bottom: 40px;
  }

  .co_soc > div ul,
  .co_partner > div ul {
    font-size: 1.2rem;
  }

  .co_partner > div ul {
    height: 62.9em;
  }

  .co_soc > div ul li::before,
  .co_partner > div ul li::before {
    transform: translateY(0.375em);
  }
}

body[data-content-type^="page_"] > main > section.at_sustain {
  padding-bottom: 100px;
}

.at_sustain > div > h3 {
  margin-bottom: 50px;
  font-size: 1.8rem;
  font-weight: 400;
}

.at_sustain > div > picture {
  display: flex;
  max-width: 770px;
  aspect-ratio: 77 / 38;
  margin-block: 0 70px;
  margin-inline: auto;
}

.at_sustain .tiles {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.tiles li {
  width: 49%;
  margin-bottom: 50px;
  padding: 16px;
  background-color: #f5f4ea;
}

.tiles h4 {
  display: flex;
  font-size: 8rem;
  align-items: flex-end;
}

.tiles h4 span:nth-child(1){
  width: 0.5em;
  display: flex;
  justify-content: center;
  font-family: 'League Spartan', sans-serif;
  font-size: inherit;
  color: var(--theme-color);
  font-weight: 500;
  transform: translateY(-40%);
}

.tiles > li:nth-child(n+10) > h4 span:nth-child(1) {
  width: 1em;
}

.tiles h4 span:nth-child(2){
  height: 3em;
  margin-left: 0.5em;
  margin-bottom: 0.6em;
  font-size: 0.25em;
  color: var(--theme-color);
  font-weight: 400;
}

.tiles li > button {
  display: none;
}

.tiles figure > div {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: -5px;
}

.tiles figure > div > picture {
  width: 49%;
  display: flex;
}

.tiles figure > div > .sdgs_case img {
  width: 100%;
  aspect-ratio: 22 / 17;
}

.tiles figure > div > .sdgs_icon {
  justify-content: space-between;
}

.tiles figure > div > .sdgs_icon > img {
  width: 48%;
  aspect-ratio: 1 / 1;
}

.tiles figcaption {
  margin-top: 10px;
  font-size: 1.6rem;
  text-align: justify;
}

@media screen and (max-width: 768px) {
  .tiles li {
    width: 100%;
  }

  .tiles h4 span:nth-child(1) {
    transform: translateY(-30%);
  }

  .tiles h4 span:nth-child(2) {
    margin-bottom: 0.3em;
  }

  .tiles .fig_open {
    display: flex;
    width: 100%;
    height: 2em;
    position: relative;
    font-size: 2rem;
  }

  .tiles .fid_open > span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: fit-content;
    height: fit-content;
  }

  .tiles .fig_open > span::before {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    height: fit-content;
    content: '\2517';
    font-size: inherit;
    color: #6fa87f;
    font-size: 2rem;
    font-weight: 600;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) rotateZ(-45deg);
    transition: 0.2s;
  }

  .tiles > li > input[id^="tiles_"]:checked + label > span::before {
    transform: translateX(-50%) translateY(-50%) rotateZ(135deg);
    transition: 0.2s;
  }

  .tiles figure {
    display: none;
    position: relative;
    margin-top: 1em;
    z-index: 2;
    overflow: hidden;
  }
}

@media screen and (max-width: 540px) {
  body[data-content-type^="page_"] > main > section.at_sustain {
    margin-top: 0;
    padding-top: 50px;
    padding-bottom: 20px;
  }

  .at_sustain > div > h3 {
    margin-bottom: 20px;
    font-size: 1.6rem;
  }

  .tiles li {
    margin-bottom: 36px;
    padding: 11px;
  }

  .tiles h4 {
    font-size: 5rem;
    align-items: initial;
    transform: translateY(-0.35em);
    position: relative;
    z-index: 1;
  }

  .tiles h4 span:nth-child(1) {
    transform: translateY(0);
  }

  .tiles h4 span:nth-child(2) {
    height: fit-content;
    margin-bottom: 0;
    font-size: 0.35em;
    transform: translateY(0.7em);
  }

  .tiles figure > div > picture:nth-of-type(1) {
    width: 70%;
  }

  .tiles figure > div > picture:nth-of-type(2) {
    width: 25.2%;
    flex-direction: column;
    justify-content: space-between;
    margin-left: 0.8em;
  }

  .tiles figure > div > picture:nth-of-type(2) img {
    width: 100%;
    height: auto;
    margin-top: auto;
    display: flex;
  }
  .tiles figure > div > picture:nth-of-type(2) img:nth-of-type(2) {
    margin-top: 0.5em;
  }
  .tiles figure > div {
    justify-content: initial;
    align-items: stretch;
  }
}

@media screen and (max-width: 375px) {
  .at_sustain > div > h3 {
    text-align: justify;
    font-size: 1.3rem;
  }

  .tiles h4 {
    font-size: 4.75rem;
  }

  .tiles h4 span:nth-child(2){
    margin-left: 0.2em;
    font-size: 0.33em
  }

  .tiles figcaption {
    margin-top: 8px;
    font-size: 1.2rem;
  }

  .tiles .fig_open {
    height: 1em;
    transform: translateY(-0.3em);
  }
}

body[data-content-type^="page_"] > main > section.at_qep {
  background-color: var(--theme-color);
  background-color: var(--theme-bg-color);
  padding-block: 100px;
}

body[data-content-type^="page_"] > main > section.at_qep > div > h2.pat1 span {
  color: #ffffff;
}

.at_qep figure {
  max-width: 800px;
  margin-inline: auto;
}

@media screen and (max-width: 880px) {
  .at_qep figure {
    margin-inline: 32px;
  }
}

@media screen and (max-width: 768px){

}

@media screen and (max-width: 540px){
  body[data-content-type^="page_"] > main > section.at_qep {
    padding-block: 50px 40px;
  }

  .at_qep figure {
    margin-inline: 20px;
  }
}

body[data-content-type^="page_"] > main > section.at_iso {
  padding-block: 100px 0;
  background-color: #f5f4ea;
}

.at_iso > div > ul {
  display: flex;
  justify-content: space-between;
}

.at_iso > div > ul > li {
  width: 48%;
}

.at_iso > div > ul > li h4 {
  margin-bottom: 0.75em;
  font-size: 2.1rem;
  font-weight: 400;
  line-height: 1;
  color: var(--theme-color);
}

.at_iso > div > ul > li h5 {
  margin-bottom: 1em;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
}

.at_iso > div > ul li > figure {
  width: 100%;
}

.at_iso > div > ul li > figure picture {
  width: 100%;
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
}

.at_iso > div > ul li > figure picture img {
  width: 48%;
}

.at_iso > div > ul li > figure figcaption {
  font-size: 1.6rem;
  text-align: justify;
}

.at_iso > div > p {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 4.2rem;
  margin-top: 1em;
  background-color: #ffffff;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1;
}

@media screen and (max-width: 880px) {
  .at_iso > div > p {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 768px){
  .at_iso > div > ul {
    display: block;
  }

  .at_iso > div > ul > li {
    width: 100%;
    margin-bottom: 32px;
  }

  .at_iso > div > p {
    height: fit-content;
    padding: 16px;
    font-size: 1.6rem;
    text-align: justify;
    line-height: 1.6;
  }
}

@media screen and (max-width: 540px){
  body[data-content-type^="page_"] > main > section.at_iso {
    padding-block: 60px 0;
  }

  .at_iso > div > ul > li h4 {
    font-size: 1.8rem;
  }

  .at_iso > div > ul > li h5 {
    font-size: 1.4rem;
  }

  .at_iso > div > ul li > figure figcaption {
    font-size: 1.4rem;
    line-height: 1.6;
  }

  .at_iso > div > p {
    margin-top: 0;
    padding: 10px;
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 375px) {
  .at_iso > div > ul > li h4 {
    font-size: 1.55rem;
  }

  .at_iso > div > ul > li h5 {
    font-size: 1.15rem;
  }

  .at_iso > div > ul li > figure figcaption {
    font-size: 1.2rem;
  }

  .at_iso > div > p {
    margin-top: -0.5em;
    font-size: 1.2rem;
  }
}

body[data-content-type^="page_"] > main > section.at_init {
  padding-block: 120px 100px;
  background-color: #f5f4ea;
}

section.at_init > div > h3 {
  margin-bottom: 3.3em;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 400;
}

.at_init > div > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 1%;
}

.at_init > div > ul li {
  width: 32.5%;
  margin-bottom: 20px;
}

.at_init > div > ul li picture {
  display: flex;
  width: 100%;
}

.at_init > div > ul li h5 {
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
}

@media screen and (max-width: 768px){
  section.at_init > div > h3 {
    margin-bottom: 1.5em;
    text-align: justify;
  }

  .at_init > div > ul {
    justify-content: flex-start;
    column-gap: 1%;
  }

  .at_init > div > ul li {
    width: 49.5%;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 540px) {
  body[data-content-type^="page_"] > main > section.at_init {
    padding-block: 60px 40px;
  }

  section.at_init > div > h3 {
    font-size: 1.4rem;
  }

  .at_init > div > ul {
    justify-content: space-between;
  }

  .at_init > div > ul li {
    width: 48.7%;
  }

  .at_init > div > ul::after{
    content: '';
    width: 48.7%;
    height: 0;
    display: block;
  }

  .at_init > div > ul li h5 {
    margin-top: 0.5em;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 375px) {
  section.at_init > div > h3 {
    font-size: 1.2rem;
  }

  .at_init > div > ul li h5 {
    font-size: 1.2rem;
  }
}

body[data-content-type^="page_"] > main > section.at_award {
  padding-block: 100px 120px;
}

.at_award > div > dl {
  width: 100%;
  margin-bottom: 80px;
  margin-inline: auto;
  font-size: 1.6rem;
}

.at_award > div > dl > div {
  display: flex;
}

.at_award > div > dl dt,
.at_award > div > dl dd {
  padding-block: 0.5em;
  padding-left: 1em;
}

.at_award > div > dl dt {
  display: flex;
  width: 39.5%;
  background-color: #f5f5f5;
  border-left: 2px solid #e8e8e8;
  border-bottom: 2px solid #e8e8e8;
}

.at_award > div > dl dd {
  display: flex;
  align-items: center;
  width: 60.5%;
  padding-left: 1.5em;
  border-right: 2px solid #f0f0f0;
  border-bottom: 2px solid #f0f0f0;
}

.at_award > div > dl > div:first-of-type dt {
  border-top: 2px solid #e8e8e8;
}

.at_award > div > dl > div:first-of-type dd {
  border-top: 2px solid #f0f0f0;
}

.at_award > div > dl dt span:nth-of-type(1){
  display: inline-block;
  margin-right: 1em;
}

.at_award > div > figure {
  padding: 16px;
  background-color: #f5f4ea;
}

.at_award > div > figure figcaption {
  margin-bottom: 1em;
  font-size: 1.6rem;
}

@media screen and (max-width: 960px) {
  .at_award > div > dl {
    font-size: 1.4rem;
  }
  .at_award > div > dl dt,
  .at_award > div > dl dd {
    margin-left: 0.5em;
    margin-right: 0.5em;
  }

  .at_award > div > dl dt span:nth-of-type(1) {
    width: 4em;
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  body[data-content-type^="page_"] > main > section.at_award {
    padding-block: 60px 60px;
  }

  .at_award dl > div:not(.award_sp) {
    display: none;
  }

  .at_award dl > div.award_sp {
    display: block;
  }
  .at_award > div > dl dt,
  .at_award > div > dl dd {
    width: 100%;
    margin: 0;
  }

  .at_award > div > dl dt {
    padding-left: 1em;
    border-left: 2px solid #e8e8e8;
    border-right: 2px solid #e8e8e8;
    border-bottom: none;
  }

  .at_award > div > dl dd {
    padding-left: 1em;
    border-left: 2px solid #e8e8e8;
    border-right: 2px solid #e8e8e8;
    border-bottom: 2px solid #e8e8e8;
  }

  .at_award > div > figure {
    display: none;
  }
}

@media screen and (max-width: 540px){
  body[data-content-type^="page_"] > main > section.at_award {
    padding-block: 60px 20px;
  }

  .at_award > div > dl dt,
  .at_award > div > dl dd {
    padding-block: 0.6em;
    padding-right: 0.6em;
  }
}

@media screen and (max-width: 375px) {
  .at_award > div > dl {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 1080px) {
  body[data-content-type^="page_business"] > main > section > div {
    /*margin-inline: auto;*/
  }
}

@media screen and (max-width: 768px) {
  body[data-content-type^="page_business"] > main > section.biz_demo,
  body[data-content-type^="page_"] > main > section.co_overview {
    padding-top: 0;
  }
}


.biz_demo > div > h2 + p {
  margin-bottom: 100px;
  font-size: 1.8rem;
}

.biz_demo > div > h3,
.biz_re > div > h3 {
  width: fit-content;
  height: fit-content;
  margin-bottom: 32px;
  margin-inline: auto;
}

.biz_demo > div > h3 > span.title,
.biz_re > div > h3 > span.title {
  display: block;
  width: fit-content;
  height: fit-content;
  margin-inline: auto;
  margin-bottom: 0.833em;
  font-size: 2.5rem;
  color: var(--theme-color);
  line-height: 1;
}

.biz_demo > div > h3 > span.border,
.biz_re > div > h3 > span.border {
  display: flex;
  align-items: flex-start;
  width: fit-content;
  height: 0.5em;
  margin-inline: auto;
  font-size: 4.4rem;
  line-height: 1;
}

h3 > span.border > span:nth-of-type(1){
  width: 1em;
  border-top: 2px solid var(--theme-color);
}

h3 > span.border > span:nth-of-type(2){
  width: 4.5em;
  border-top: 2px solid #f6f4ea;
}

@media screen and (max-width: 768px) {
  h3 > span.border > span:nth-of-type(2){
    width: 3.3em;
  }
}

.flow > li {
  display: flex;
  margin-bottom: 110px;
}

.flow > li > h4 {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 10%;
  padding-top: 50px;
  background-color: var(--theme-color);
  overflow-y: visible;
  position: relative;
  z-index: 0;
}

.flow > li > h4::before,
.flow > li > h4::after {
  content: '';
  display: inline-block;
  width: 50%;
  height: 30px;
  background-color: #ffffff;
  position: absolute;
  bottom: -0.5px;
  z-index: 2;
  border-bottom: 1px solid #ffffff;
}

.flow > li:last-of-type > h4::before,
.flow > li:last-of-type > h4::after {
  display: none;
}

/*
.flow > li:nth-of-type(4) > h4::before,
.flow > li:nth-of-type(4) > h4::after {
  display: none;
}
*/

.flow > li > h4::before {
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  left: 0;
}

.flow > li > h4::after {
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  width: calc(50% + 1px);
  right: -1px;
}

.flow > li > h4 > span:nth-of-type(1){
  font-size: 2.9rem;
  font-weight: 400;
  color: #71ab86;
  line-height: 1;
  margin-bottom: 0.5em;
}

.flow > li > h4 > span:nth-of-type(2){
  font-size: 4rem;
  font-weight: 400;
  font-family: 'League Spartan', sans-serif;
  color: #ffffff;
  line-height: 1;
}

.flow > li > .outer{
  width: 90%;
  padding-left: 20px;
}

.flow .outer > figure {
  display: flex;
  flex-wrap: wrap;
}

.flow .outer > figure.step4_old {
  margin-top: 40px;
}

.flow .outer figure > div {
  width: 60%;
}

.flow .outer figure > picture {
  display: flex;
  width: 40%;
}

.flow .outer figure.slick-slide > picture {
  display: flex;
  width: 95%;
  margin-inline: auto;
}

.flow > li:nth-of-type(4) .outer figure.step4_old + .slide.inner figure.slick-slide > picture,
.flow .outer figure.slick-slide > picture {
  aspect-ratio: 195 / 260;
}

.flow .outer figure.slick-slide > figcaption {
  margin-top: 0.5em;
  font-size: 1.5rem;
  text-align: center;
  line-height: 1;
}

.outer picture img {
  width: 100%;
  height: auto;
}

.flow > li:nth-of-type(2) > .outer > figure > div,
.flow > li:nth-of-type(4) > .outer > figure > div {
  width: 100%
}

.flow .inner {
  display: flex;
}

.flow .outer .inner:not(.slide) {
  display: flex;
  justify-content: space-between;
}

.flow .outer .inner > figure {
  width: 24%;
}

.flow .outer .inner > figure {
  width: 24.25%;
}

.flow > li:nth-of-type(2) > .outer .inner > figure {
  width: 49.25%;
}

.flow .outer .inner > figure > picture {
  display: flex;
  width: 100%;
}

.flow .outer .inner > figure > figcaption {
  font-size: 1.4rem;
  text-align: center;
}

.flow > li > .outer > figure > div > h5 {
  margin-bottom: 1em;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  color: var(--theme-color);
}

.flow > li > .outer > figure > div > p {
  font-size: 1.6rem;
  padding-right: 36px;
  text-align: justify;
}

.flow > li:nth-of-type(even) > .outer > figure > div > p {
  margin-bottom: 12px;
  padding-right: 0;
}

.flow .inner.slide .slick-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: fit-content;
  position: relative;
  margin-block: auto;
  font-size: 5rem;
}

.flow .inner.slide .slick-arrow.slick-disabled {
  opacity: 0.3;
}

.flow .inner.slide .slick-prev {
  margin-right: 0.65em;
}

.flow .inner.slide .slick-next {
  margin-left: 0.75em;
}

.flow .inner.slide .slick-arrow::after {
  content: '\2518';
  display: flex;
  width: 1em;
  height: 1em;
  font-size: inherit;
  line-height: 1;
  color: var(--theme-color);
  position: absolute;
  top: calc(50% - 1rem);
  left: 50%;
  transform: translateX(-50%) translateY(-50%) rotateZ(135deg);
}

.flow .inner.slide .slick-next::after {
  content: '\250c';
}

.biz_demo > div > h3 + p {
  font-size: 1.6rem;
  margin-bottom: 40px;
}

.biz_demo > div > .album,
.biz_const > div > .graph {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 1.25%;
  margin-bottom: 80px;
}

.biz_demo > div > .album > li,
.biz_const > div > .graph > figure {
  width: 32.5%;
  margin-bottom: 32px;
}

.biz_demo > div > .album > li > picture,
.biz_const > div > .graph > figure > picture {
  display: flex;
  width: 100%;
}

.biz_demo > div > .album > li > span,
.biz_const > div > .graph > figure > figcaption {
  display: block;
  width: fit-content;
  height: fit-content;
  line-height: 1;
  margin-top: 0.5em;
  margin-inline: auto;
  font-size: 1.4rem;
}

.biz_demo .flow .mob_h4 {
  display: none;
}

@media screen and (max-width: 768px) {
  .biz_demo > div > h2 + p {
    margin-bottom: 50px;
    text-align: justify;
  }

  .flow > li > h4 {
    display: none;
  }

  .flow > li > .outer {
    width: 100%;
    padding-left: 0;
  }

  .biz_demo .flow {
    margin-bottom: 60px;
  }

  .biz_demo .flow .outer > figure div h5 {
    display: flex;
    align-items: center;
  }

  .biz_demo .flow .mob_h4 {
    display: flex;
    justify-content: center;
    width: 3.3em;
    height: 1.1em;
    margin-right: 0.3em;
    align-items: center;
    background-color: var(--theme-color);
    color: #ffffff;
    position: relative;
    overflow-x: visible;
    line-height: 1;
    font-size: 3rem;
  }

  .biz_demo .flow .step4_old .mob_h4 {
    display: none;
  }

  .flow .slide.inner.step4_old {
    width: 100%;
  }

  .flow .outer .slide.inner.step4_old figure.slick-slide {
    /*margin-inline: 5px;*/
  }

  .biz_demo .flow .mob_h4::before,
  .biz_demo .flow .mob_h4::after {
    content: '';
    display: inline-block;
    width: 0.5em;
    height: 50%;
    background-color: #ffffff;
    position: absolute;
    right: -0.5px;
    z-index: 2;
    border-right: 1px solid #ffffff;
  }

  .biz_demo .flow .mob_h4::before {
    clip-path: polygon(0 0, 100% 100%, 100% 0);
    height: calc(50% + 1px);
    top: -1px;
  }

  .biz_demo .flow .mob_h4::after {
    clip-path: polygon(0 100%, 100% 0, 100% 100%);
    height: calc(50% + 1px);
    bottom: -1px;
  }

  .biz_demo .flow .mob_h4 > span:nth-of-type(1){
    margin-right: 0.2em;
    font-size: 0.667em;
    line-height: 1;
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }

  .biz_demo .flow .mob_h4 > span:nth-of-type(2){
    margin-right: 0.5em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 0.95em;
    line-height: 1;
    font-family: 'League Spartan', sans-serif;
    transform: translateY(0.13em);
  }

  .flow .outer > figure {
    display: block;
  }

  .flow .outer figure > div {
    width: 100%;
    margin-bottom: 2em;
  }

  .flow > li {
    margin-bottom: 20px;
  }

  .flow > li > .outer > figure > div > p {
    padding-right: 0;
  }

  .flow .outer figure > picture {
    width: 100%;
    margin-bottom: 2.25em;
  }

  .flow .outer figure.slick-slide > picture {
    margin-bottom: 1em;
  }

  .biz_demo > div > .album,
  .biz_const > div > .graph {
    flex-wrap: nowrap;
  }

  .flow .inner.spslide .slick-slide,
  .album.slide .slick-slide,
  .graph.slide .slick-slide,
  .own_chart.slide .slick-slide {
    margin-inline: 10px;
  }

  .flow .inner.spslide .slick-arrow,
  .album.slide .slick-arrow,
  .graph.slide .slick-arrow,
  .own_chart.slide .slick-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    height: fit-content;
    position: relative;
    margin-block: auto;
    font-size: 3rem;
  }

  .flow .inner.spslide .slick-arrow.slick-disabled,
  .album.slide .slick-arrow.slick-disabled,
  .graph.slide .slick-arrow.slick-disabled,
  .own_chart.slide .slick-arrow.slick-disabled {
    opacity: 0.3;
  }

  .flow .inner.spslide .slick-prev,
  .album.slide .slick-prev,
  .graph.slide .slick-prev,
  .own_chart.slide .slick-prev {
    margin-right: 0.65em;
    margin-right: 10px;
  }

  .flow .inner.spslide .slick-next,
  .album.slide .slick-next,
  .graph.slide .slick-next,
  .own_chart.slide .slick-next {
    margin-left: 0.75em;
    margin-left: 10px;
  }

  .flow .inner.spslide .slick-arrow::after,
  .album.slide .slick-arrow::after,
  .graph.slide .slick-arrow::after,
  .own_chart.slide .slick-arrow::after {
    content: '\2518';
    display: flex;
    width: 1em;
    height: 1em;
    font-size: inherit;
    line-height: 1;
    color: var(--theme-color);
    position: absolute;
    top: calc(50% - 2.75rem);
    left: 50%;
    transform: translateX(-50%) translateY(-50%) rotateZ(135deg);
  }

  .flow .inner.spslide .slick-next::after,
  .album.slide .slick-next::after,
  .graph.slide .slick-next::after,
  .own_chart.slide .slick-next::after {
    content: '\250c';
  }

  .flow .inner.slide {
    width: 90%;
    margin-inline: auto;
  }

  .flow .inner.slide .slick-arrow {
    font-size: 3rem;
  }

  .biz_re ul.own_chart.slide {
    display: flex;
  }

  .biz_re ul.own_chart.slide > .slick-list {

  }
  .album.slide .slick-slide > span,
  .graph.slide .slick-slide > figcaption {
    display: block;
    width: fit-content;
    height: fit-content;
    line-height: 1;
    margin-top: 0.8em;
    margin-inline: auto;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 540px){
  .biz_demo > div > h2 + p {
    font-size: 1.6rem;
  }

  .biz_demo > div > h3,
  .biz_re > div > h3 {
    margin-bottom: 5px;
  }

  .biz_demo > div > h3 > span.title,
  .biz_re > div > h3 > span.title {
    font-size: 1.8rem;
    margin-bottom: 0.6em;
  }

  .biz_demo > div > h3 > span.border,
  .biz_re > div > h3 > span.border {
    font-size: 3.5rem;
  }

  h3 > span.border > span:nth-of-type(1) {
    width: 1.15em;
  }

  h3 > span.border > span:nth-of-type(2) {
    width: 2.85em;
  }

  .flow > li > .outer > figure > div > h5 {
    font-size: 1.7rem;
  }

  .biz_demo .flow .mob_h4 {
    font-size: 2.8rem;
  }

  .flow > li > .outer > figure > div > p {
    font-size: 1.4rem;
  }

  .flow .inner.spslide .slick-arrow,
  .album.slide .slick-arrow,
  .graph.slide .slick-arrow,
  .own_chart.slide .slick-arrow {
    font-size: 2.2rem;
  }

  .flow .inner.spslide .slick-slide ,
  .album.slide .slick-slide,
  .graph.slide .slick-slide,
  .own_chart.slide .slick-slide {
    margin-bottom: 0;
  }

  .flow > li {
    margin-bottom: 20px;
  }

  .flow > li:nth-of-type(2),
  .flow > li:nth-of-type(3) {
    margin-bottom: 20px;
  }

  .biz_demo > div > h3 + p {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }

  .biz_demo > div > .album,
  .biz_const > div > .graph {
    margin-bottom: 50px;
  }

  .flow .inner.spslide .slick-arrow::after,
  .album.slide .slick-arrow::after,
  .graph.slide .slick-arrow::after,
  .own_chart.slide .slick-arrow::after {
    top: calc(50% - 1.5rem);
  }

  .album.slide .slick-slide > span,
  .graph.slide .slick-slide > figcaption {
    font-size: 1.4rem;
  }

  body[data-content-type^="page_business"] > main > section.biz_demo {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 375px) {
  .biz_demo > div > h2 + p {
    font-size: 1.4rem;
    margin-bottom: 40px;
  }

  .biz_demo > div > h3 > span.title,
  .biz_re > div > h3 > span.title {
    font-size: 1.5rem;
  }

  .biz_demo > div > h3 > span.border,
  .biz_re > div > h3 > span.border {
    font-size: 2.92rem;
  }

  .biz_demo .flow {
    margin-bottom: 30px;
  }

  .flow > li > .outer > figure > div > h5 {
    font-size: 1.4rem;
  }

  .biz_demo .flow .mob_h4 {
    font-size: 2.333rem;
  }

  .flow > li > .outer > figure > div > p {
    font-size: 1.2rem;
  }

  .flow .outer figure.slick-slide > figcaption {
    margin-top: 0.5em;
    font-size: 1.2rem;
  }

  .biz_demo > div > h3 + p {
    font-size: 1.2rem;
  }

  .album.slide .slick-slide > span, .graph.slide .slick-slide > figcaption {
    font-size: 1.2rem;
  }
}

.biz_const {
  background-color: #f5f4ea;
}

body[data-content-type^="page_"] > main > .biz_const > div {
  padding-block: 100px 50px;
}

.biz_const > div > h2 + p {
  margin-bottom: 100px;
  font-size: 1.8rem;
}

.biz_const > div > h4 {
  margin-bottom: 0.8em;
  font-size: 2rem;
  text-align: center;
  color: var(--theme-color);
  line-height: 1;
}

.biz_const > div > h4.ba {
  margin-bottom: 2em;
}

.biz_const > div > h4 + p {
  margin-bottom: 1em;
  font-size: 1.6rem;
  text-align: center;
  line-height: 1;
}

.biz_const > div > h5 {
  margin-bottom: 1.2em;
  font-size: 1.8rem;
  text-align: center;
  line-height: 1;
  font-weight: 400;
}

.biz_const > div > .graph.ba {
  column-gap: initial;
  margin-bottom: 30px;
}

.graph.ba > span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: fit-content;
  position: relative;
  margin-block: auto;
  margin-inline: 1.5em 1em;
  font-size: 2.5rem;
  position: relative;
}

.graph.ba > span::after {
  content: '\250c';
  display: flex;
  width: 1em;
  height: 1em;
  font-size: inherit;
  line-height: 1;
  color: var(--theme-color);
  position: absolute;
  top: calc(50% - 1em);
  left: 50%;
  transform: translateX(-50%) translateY(-50%)  rotateZ(135deg);
}

.biz_const > div > .graph.ba > figure.after > figcaption {
  font-size: 1.6rem;
  color: var(--theme-color);
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .biz_const > div > .graph.ba {
    display: block;
  }

  .biz_const > div > .graph.ba > figure {
    width: 100%;
  }

  .graph.ba > span {
    width: 100%;
    height: 1em;
    margin-block: -0.5em 0.5em;
    margin-inline: auto;
  }

  .graph.ba > span::after {
    top: 50%;
    transform: translateX(-50%) translateY(-50%) rotateZ(225deg);
  }
}

@media screen and (max-width: 540px) {
  body[data-content-type^="page_"] > main > .biz_const > div {
    padding-block: 50px 30px;
  }

  .biz_const > div > h2 + p {
    margin-bottom: 60px;
    font-size: 1.58rem;
    text-align: justify;
  }

  .biz_const > div > h4 {
    font-size: 1.8rem;
  }

  .biz_const > div > h4 + p {
    margin-bottom: 16px;
    text-align: justify;
    font-size: 1.4rem;
    line-height: 1.6;
  }

  .biz_const > div > h4.ba {
    margin-bottom: 20px;
  }

  .biz_const > div > h5 {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 375px) {
  .biz_const > div > h2 + p {
    margin-bottom: 60px;
    font-size: 1.35rem;
  }

  .biz_const > div > h4 {
    font-size: 1.5rem;
  }

  .biz_const > div > h4 + p {
    font-size: 1.2rem;
  }

  .biz_demo > div > .album > li > span, .biz_const > div > .graph > figure > figcaption {
    font-size: 1.2rem;
  }

  .biz_const > div > .graph.ba > figure.after > figcaption {
    font-size: 1.4rem;
  }

  .graph.ba > span {
    font-size: 2rem;
  }
}

body[data-content-type^="page_"] > main > .biz_re > div {
  padding-block: 100px 200px;
}

.biz_re > div > h2 + p {
  margin-bottom: 100px;
  font-size: 1.8rem;
}

.biz_re > div > h3 {
  margin-bottom: 50px;
}

.biz_re ul.prac {
  margin-bottom: 100px;
  display: flex;
  justify-content: space-between;
  column-gap: 0.667%;
}

.biz_re ul.prac > li {
  width: 50%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  column-gap: 1.333%;
}

.biz_re ul.prac > li > h3,
.biz_re ul.prac > li > p {
  width: 100%;
  text-align: center;
}

.biz_re ul.prac > li > h3 {
  margin-bottom: 1em;
  font-size: 2rem;
  font-weight: 400;
  color: var(--theme-color);
  line-height: 1;
}

.biz_re ul.prac > li > p {
  margin-bottom: 1.2em;
  font-size: 1.6rem;
}

.biz_re ul.prac > li > figure {
  width: 49.25%;
  margin-bottom: 0;
}

.biz_re ul.prac figure > picture {
  display: flex;
  width: 100%;
}

.biz_re ul.prac figure figcaption {
  width: fit-content;
  height: fit-content;
  margin-top: 0.5em;
  margin-inline: auto;
  font-size: 1.4rem;
  line-height: 1;
}

.biz_re ul.own_chart {
  margin-bottom: 55px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 1.25%;
}

.biz_re ul.own_chart > li {
  background-color: #f5f4ea;
  padding-bottom: 16px;
}

.biz_re ul.own_chart > li > h4 {
  width: 100%;
  padding-block: 0.8em;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--theme-color);
  font-size: 2rem;
  color: #ffffff;
  font-weight: 400;
  line-height: 1;
}

.biz_re ul.own_chart > li > picture,
.biz_re ul.own_chart > li > p {
  margin-inline: 16px;
}

.biz_re ul.own_chart > li > picture {
  display: flex;
  margin-block: 12px 10px;
}

.biz_re ul.own_chart > li > picture img {
  height: auto;
}

.biz_re ul.own_chart > li > p {
  font-size: 1.6rem;
}

.biz_re > div > a,
section.own_list > div > a {
  display: flex;
  width: 30em;
  height: 3.8em;
  max-width: 500px;
  max-height: 70px;
  margin-block: 0;
  margin-inline: auto;
  padding-left: 3em;
  justify-content: center;
  align-items: center;
  background-color: var(--theme-color);
  border-radius: 2em;
  font-size: 1.9rem;
  font-weight: 300;
  color: #ffffff;
  text-decoration: none;
}

.biz_re > div > a:visited,
section.own_list > div > a:visited {
  color: #ffffff;
}

.biz_re > div > a > span,
section.own_list > div > a > span {
    display: inline-block;
    line-height: 1;
    margin-right: 1em;
    transform: translateY(-1.5px);
}

.biz_re > div > a::after,
section.own_list > div > a::after {
  content: '\250c';
  width: fit-content;
  height: fit-content;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.1em;
  line-height: 1;
  transform: rotateZ(135deg);
}

@media screen and (max-width: 768px){
  body[data-content-type^="page_"] > main > .biz_re > div {
    padding-block: 60px 100px;
  }

  .biz_re > div > a,
  section.own_list > div > a {
    width: 100%;
  }

  .biz_re ul.prac {
    display: block;
  }

  .biz_re ul.prac > li {
    width: 100%;
  }

  .biz_re ul.prac > li:nth-of-type(1) {
    margin-bottom: 50px;
  }

  .biz_re ul.prac > li > p {
    text-align: justify;
  }

  .biz_re > div > h3 {
    margin-bottom: 0px;
  }

  .biz_re .own_chart.slide .slick-slide {
    background-color: #f5f4ea;
    padding-bottom: 16px;
  }

  .biz_re .own_chart.slide .slick-slide > h4 {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-block: 0.5em;
    background-color: var(--theme-color);
    font-size: 2rem;
    color: #ffffff;
    font-weight: 400;
  }

  .biz_re .own_chart.slide .slick-slide > picture {
    display: flex;
    margin-block: 16px;
    margin-inline: 16px;
  }
  .biz_re .own_chart.slide .slick-slide > p {
    margin-inline: 16px;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 540px){
  body[data-content-type^="page_"] > main > .biz_re > div {
    padding-block: 60px 90px;
  }

  .biz_re > div > h2 + p {
    margin-bottom: 50px;
    font-size: 1.6rem;
    text-align: justify;
  }

  .biz_re ul.prac {
    margin-bottom: 40px;
  }

  .biz_re ul.prac > li > h3 {
    font-size: 1.8rem;
  }

  .biz_re ul.prac > li > p {
    font-size: 1.55rem;
  }

  .biz_re ul.own_chart.slide {
    margin-bottom: 20px;
  }

  .biz_re .own_chart.slide .slick-slide {
    padding-bottom: 10px;
  }

  .biz_re .own_chart.slide .slick-slide > h4 {
    font-size: 1.6rem;
    padding-block: 0.75em;
  }

  .biz_re .own_chart.slide .slick-slide > picture {
    margin-block: 10px;
    margin-inline: 10px;
  }

  .biz_re .own_chart.slide .slick-slide > p {
    margin-inline: 10px;
    font-size: 1.4rem;
  }

  .biz_re > div > a,
  section.own_list > div > a {
    height: 3.5em;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 375px){
  .biz_re > div > h2 + p {
    font-size: 1.3rem;
  }

  .biz_re ul.prac > li > h3 {
    font-size: 1.6rem;
  }

  .biz_re ul.prac > li > p {
    font-size: 1.3rem;
  }

  .biz_re ul.prac figure figcaption {
    font-size: 1.2rem;
  }

  .biz_re .own_chart.slide .slick-slide > h4 {
    padding-block: 0.65em;
    font-size: 1.4rem;
  }

  .biz_re .own_chart.slide .slick-slide > p {
    font-size: 1.2rem;
  }

  .biz_re > div > a,
  section.own_list > div > a {
    font-size: 1.4rem;
  }
}

body[data-content-type="page_own_list"] main {
  background-color: #f5f4ea;
}

body[data-content-type="page_own_list"] .own_list > div {
  padding-bottom: 200px;
}

body[data-content-type="page_own_list"] .own_list > div > figure {
  max-width: 200px;
  aspect-ratio: 200 / 62;
  margin-bottom: 20px;
  background-color: #ffffff;
  border: 1px solid #c3c3c3;
  display: flex;
  justify-content: center;
  align-items: center;
}

body[data-content-type="page_own_list"] .own_list > div > figure > picture {
  display: flex;
  width: 81.33%;
}

ul.owns_list {
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 2%;
}

ul.owns_list > li {
  margin-bottom: 40px;
  background-color: #ffffff;
}


ul.owns_list > li h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 2.5em;
  background-color: var(--theme-color);
  font-size: 2rem;
  font-weight: 400;
  color: #ffffff;
  line-height: 1;
}

ul.owns_list > li h4 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 4em;
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
  color: var(--theme-color);
}

ul.owns_list > li .img_area {
  display: flex;
  justify-content: space-between;
  margin-inline: 24px;
}

.img_area .img_m {
  display: flex;
  width: 66.29%;
  height: 100%;
  margin: 0;
}

.img_area .img_s {
  display: flex;
  flex-direction: column;
  row-gap: 4%;
  width: 31.67%;
  margin: 0;
}

.img_area > figure > a {
  display: flex;
}

ul.owns_list > li > p {
  margin-block: 10px;
  margin-inline: 24px;
  position: relative;
  font-size: 1.6rem;
}

ul.owns_list > li > p > .full {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.75em;
  height: 2.5em;
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: #c93030;
  color: #ffffff;
  font-size: 1.6rem;
}

ul.owns_list > li > .anchor_area {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

ul.owns_list > li > .anchor_area > a:visited {
  color: var(--theme-color);
  text-decoration: none;
}

ul.owns_list > li > .anchor_area > a {
  background-color: transparent;
  color: var(--theme-color);
  text-decoration: none;
  transition: 0.5s;
}

ul.owns_list > li > .anchor_area > a:hover {
  background-color: var(--theme-color);
  color: #ffffff;
  transition: 0.5s;
}

ul.owns_list > li > .anchor_area > a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3.125em;
  border-left: 1px solid var(--theme-color);
  border-top: 1px solid var(--theme-color);
  border-bottom: 1px solid var(--theme-color);
  font-size: 1.6rem;
}

ul.owns_list > li > .anchor_area > a:last-of-type {
  border-right: 1px solid var(--theme-color);
}

ul.owns_list > li > .anchor_area[data-allnull] > a {
  border-color: #777777;
}

ul.owns_list > li > .anchor_area > a[data-swoff] {
  user-select: none;
  pointer-events: none;
  color: #333333;
  background-color: #c3c3c3;
}

picture.light2 {
  position: relative;
}

picture.light2 > a[data-lightbox] {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
  top: 0;
  left: 0;
}

picture.light2 > img {
  user-select: none;
  pointer-events: none;
}

@media screen and (max-width: 920px) {
  ul.owns_list > li h3 {
    font-size: 1.7rem;
  }

  ul.owns_list > li h4 {
    font-size: 1.3rem;
  }

  ul.owns_list > li .img_area {
    margin-inline: 16px;
  }

  ul.owns_list > li > p {
    margin-inline: 16px;
    font-size: 1.3rem;
  }

  ul.owns_list > li > p > .full {
    font-size: 1.3rem;
  }

  ul.owns_list > li > .anchor_area > a {
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 768px) {
  body[data-content-type="page_own_list"] .own_list > div {
    padding-bottom: 100px;
  }

  body[data-content-type="page_own_list"] .own_list > div > figure {
    width: 37.5%;
    min-width: 150px;
  }

  ul.owns_list {
    grid-template-columns: 1fr;
    margin-bottom: 0;
  }

  ul.owns_list > li {
    margin-bottom: 24px;
  }

  ul.owns_list > li h3 {
    font-size: 2.3rem;
  }

  ul.owns_list > li h4 {
    font-size: 1.75rem;
  }

  ul.owns_list > li > p,
  ul.owns_list > li > p > .full {
    font-size: 1.65rem;
  }

  ul.owns_list > li > .anchor_area > a {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 540px) {
  body[data-content-type^="page_"] > main > section.own_list {
    padding-top: 0;
  }

  body[data-content-type="page_own_list"] .own_list > div > figure {
    width: 38.7%;
    min-width: 130px;
  }

  ul.owns_list > li h3 {
    font-size: 1.6rem;
  }

  ul.owns_list > li h4 {
    font-size: 1.35rem;
  }

  ul.owns_list > li .img_area,
  ul.owns_list > li > p {
    margin-inline: 10px;
  }

  ul.owns_list > li > p,
  ul.owns_list > li > p > .full,
  ul.owns_list > li > .anchor_area > a {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 375px) {
  ul.owns_list > li h3 {
    height: 2.8em;
    font-size: 1.4rem;
  }

  ul.owns_list > li h4 {
    font-size: 1.15rem;
  }

  ul.owns_list > li > p,
  ul.owns_list > li > p > .full,
  ul.owns_list > li > .anchor_area > a {
    font-size: 1.15rem;
  }
}

#form_anchor {
  width: fit-content;
  height: fit-content;
  padding-block: 10px 3px;
  padding-inline: 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  right: 0;
  bottom: 10%;
  background-color: var(--theme-color);
  color: #ffffff;
  text-decoration: none;
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  z-index: 5;
}

#form_anchor:visited {
  color: inherit;
}

#form_anchor > span {
  writing-mode: vertical-rl;
  font-size: 1.8rem;
  color: inherit;
  line-height: 1;
  letter-spacing: 0.15em;
}

#form_anchor::after {
  display: inline-flex;
  width: fit-content;
  height: fit-content;
  content: '\251b';
  font-size: 2rem;
  color: inherit;
  transform: translateX(0.1em) rotateZ(-45deg);
}

.rec_mv h2.pat3 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 54px;
}

.rec_mv h2.pat3 picture {
  display: flex;
  max-width: 230px;
  margin-right: 24px;
}

.rec_mv h2.pat3 > span {
  padding: 0;
  font-size: 3rem;
  line-height: 1;
  color: var(--theme-color);
}

.rec_mv > figure {
  width: 100%;
  position: relative;
}

.rec_mv > figure > picture {
  display: flex;
  width: 100%;
  aspect-ratio: 1366 / 500;
}

.rec_mv > figure > figcaption {
  position: absolute;
  top: 28%;
  left: 13.4%;
  width: 39.5%;
  height: 25.8%;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  color: #ffffff;
}

.rec_mv > figure > figcaption > span {
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.2em;
  white-space: nowrap;
  transform: translateY(12%);
  text-shadow: 1px 1px 4px rgb(0 0 0 / 0.2);
}

.rec_mv > section {
  max-width: 1000px;
  aspect-ratio: 1000 / 375;
  margin-inline: auto;
  margin-top: -100px;
  margin-bottom: 50px;
  padding-block: 50px;
  padding-inline: 80px;
  background-color: #ffffff;
  position: relative;
}

.rec_mv > section > h3 {
  padding-block: 32px;
  padding-inline: 19px;
  font-size: 2.2rem;
  color: var(--theme-color);
  line-height: 1.9;
  position: relative;
}

.rec_mv > section > h3::before {
  display: flex;
  justify-content: center;
  align-items: center;
  content: '';
  width: 80px;
  aspect-ratio: 4 / 3;
  background-image: url(../img/bg/double_quort2.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.5;
}

.rec_mv > section > p {
  padding-block: 0;
  padding-inline: 19px;
  font-size: 1.8rem;
  line-height: 1.7;
}

.rec_sc picture img {
  object-fit: contain;
}

.rec_sc {
  padding-top: 100px;
  background-color: #f5f4ea;
}

.rec_sc > div > h2 {

}

.rec_sc > div > article {
  padding-bottom: 100px;
}

.rec_sc > div > article > figure {
  display: flex;
  align-items: center;
  margin-bottom: 50px;
}

.rec_sc > div > article > figure > figcaption,
.rec_sc > div > article > figure > picture {
  position: relative;
}

.rec_sc > div > article > figure > figcaption {
  width: 55%;
  margin-right: -5%;
  padding-block: 40px;
  padding-inline: 6%;
  background-color: #ffffff;
  z-index: 1;
}

.rec_sc > div > article:nth-of-type(even) > figure > figcaption {
  order: 1;
  margin-left: -5%;
  margin-right: initial;
  z-index: 1;
}

.rec_sc > div > article > figure > picture {
  width: 50%;
  z-index: 0;
}

.rec_sc article h3 {
  font-size: 2rem;
  /*margin-bottom: 0.5em;*/
  line-height: 1;
}


.rec_sc article h3 > span {
  display: flex;
  justify-content: flex-start;
}

.rec_sc article h3 .title {
  margin-bottom: 0.5em;
  font-size: inherit;
  line-height: 1;
  color: var(--theme-color);
}

.rec_sc article h3 .border > span:nth-of-type(1)  {
  width: 1.9em;
}

.rec_sc article h3 .border > span:nth-of-type(2)  {
  width: 8em;
}

.rec_sc article h4 {
  margin-bottom: 1em;
  font-size: 1.8rem;
  color: var(--theme-color);
  line-height: 1;
}

.rec_sc article h4 > span {
  display: block;
  line-height: 1;
}

.rec_sc article h4 > span:nth-of-type(1) {
  margin-bottom: 0.7em;
}

.rec_sc article h4 > span:nth-of-type(2) {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--theme-color);
  line-height: 1;
}

.rec_sc article figcaption > p {
  font-size: 1.6rem;
}

.rec_sc article > ul {
  max-width: 960px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.rec_sc article > ul dl > div {
  width: 100%;
  display: flex;
}

.rec_sc article > ul dl dt {
  width: 4em;
  width: 16%;
  display: flex;
  font-size: 1.8rem;
  color: var(--theme-color);
  position: relative;
  line-height: 1;
}

.rec_sc article > ul dl dd {
  width: 23.2em;
  width: 79%;
  padding-left: 2%;
}

.rec_sc article > ul dt::before {
  content: '';
  display: block;
  width: 2px;
  border-left: 1px solid var(--theme-color);
  height: calc(100% - 6px);
  position: absolute;
  top: 0.8em;
  right: 10.5%;
  z-index: 0;
}

.rec_sc article > ul .end dt::before {
  height: 0;
}

.rec_sc article > ul dt::after {
  content: '\25cf';
  display: block;
  width: fit-content;
  height: calc(100% - 4px);
  position: absolute;
  top: 0.4em;
  right: 6.5%;
  font-size: 11px;
  font-weight: 400;
  color: var(--theme-color);
  z-index: 2;
}

.rec_sc article > ul dl dd h5 {
  margin-bottom: 0.5em;
  font-size: 1.8rem;
  color: var(--theme-color);
  line-height: 1;
}

.rec_sc article > ul dl dd p {
  font-size: 1.6rem;
  margin-bottom: 5px;
  padding-right: 7.5%;
}

.rec_sc article > ul dl dd p:empty {
  padding-bottom: 2em;
}

.rec_sc article > ul dl dd picture {
  display: flex;
  width: 63.3%;
  margin-bottom: 40px;
}

.rec_benefit {
  padding-block: 100px 100px;
  background-color: var(--theme-color);
  color: #ffffff;
}

body[data-content-type^="page_"] .rec_benefit > div > h2.pat1 > span {
  color: #ffffff;
}

.rec_benefit ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
}

.rec_benefit ul li {
  height: 25.7em;
  padding: 1.8rem;
  background-color: #ffffff;
  color: #333333;
}


.rec_benefit ul li h3 {
  margin-bottom: 1em;
  font-size: 2rem;
  text-align: center;
  color: var(--theme-color);
  line-height: 1;
}

.rec_benefit ul li p {
  font-size: 1.6rem;
  text-align: justify;
}

.rec_faq {
  padding-block: 100px 80px;
  background-color: #f5f4ea;
}

.rec_faq > div > ul > li {
  width: 100%;
  margin-bottom: 16px;
  padding-block: 24px 36px;
  padding-inline: 24px;
  background-color: #ffffff;
}

.rec_faq ul > li > h4,
.rec_faq ul > li > p {
  display: flex;
}

.rec_faq ul > li > h4::before,
.rec_faq ul > li > p::before {
  display: inline-flex;
  width: fit-content;
  height: fit-content;
  margin-right: 0.3em;
  content: 'Q';
  font-size: 4rem;
  font-family: 'DIN Alt', sans-serif;
  font-weight: 700;
  color: var(--theme-color);
  line-height: 1;
}

.rec_faq ul > li > h4::before {
  transform: translateY(0.1em);
}

.rec_faq ul > li > p::before {
  content: 'A';
  color: #c3c3c3;
}

.rec_faq ul > li > h4 {
  margin-bottom: 1em;
  align-items: flex-end;
  font-size: 2rem;
  font-weight: 400;
  color: var(--theme-color);
}

.rec_faq ul > li > p {
  align-items: flex-start;
  font-size: 1.6rem;
}

.rec_req .header_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-bottom: 50px;
}

.rec_req {
  padding-block: 100px;
}

.header_list > label {
  height: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-size: 1.6rem;
  border-right: 1px solid #ffffff;
}

.header_list > label:last-of-type {
  border-right: none;
}

.header_list > label {
  background-color: #f5f4ea;
  color: #333333;
    cursor: pointer;
  transition: 0.2s;
}

.header_list > input[name="rec_type"]:checked + label {
  background-color: var(--theme-color);
  color: #ffffff;
  transition: 0.2s;
}

.header_list > label::after {
  content: '\25bc';
  width: fit-content;
  height: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 8px;
  position: absolute;
  left: 50%;
  bottom: -1em;
  transform: scaleX(1.732) translateX(-50%);
  z-index: 0;
}

.header_list > label::after {
  color: transparent;
  transition: 0.2s;
}

.header_list > input[name="rec_type"]:checked + label::after {
  color: var(--theme-color);
  transition: 0.2s;
}

dl[id^="rec_require_"] {
  margin-bottom: 50px;
  display: none;
}

dl[id^="rec_require_"][data-selected] {
  display: block;
}

dl[id^="rec_require_"] > div {
  display: flex;
}

dl[id^="rec_require_"] > div:first-of-type {
  border-top: 2px solid #f0f0f0;
}

dl[id^="rec_require_"] > div dt,
dl[id^="rec_require_"] > div dd  {
  padding-block: 14px;
  padding-inline: 20px;
}

dl[id^="rec_require_"] > div dt {
  width: 20%;
  background-color: #f5f5f5;
  border-bottom: 2px solid #e8e8e8;
  font-size: 1.6rem;
}

dl[id^="rec_require_"] > div dd {
  width: 80%;
  border-bottom: 2px solid #f0f0f0;
  font-size: 1.6rem;
}

dl[id^="rec_require_"] + p {
  margin-bottom: 50px;
  text-align: center;
  font-size: 1.6rem;
}

dl[id^="rec_require_"] ~ a:visited,
body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action]:visited {
  color: #ffffff;
}

dl[id^="rec_require_"] ~ a,
body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action],
body[data-content-type$="_form"] .wpcf7-form nav button,
body[data-content-type$="_form"] .wpcf7-form nav span.submit_btn {
  display: flex;
  width: 30em;
  height: 3.8em;
  max-width: 500px;
  max-height: 70px;
  margin-block: 0;
  margin-inline: auto;
  padding-left: 3em;
  justify-content: center;
  align-items: center;
  background-color: var(--theme-color);
  border-radius: 2em;
  font-size: 1.9rem;
  font-weight: 300;
  color: #ffffff;
  text-decoration: none;
}

dl[id^="rec_require_"] ~ a::after,
body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action]::after,
body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action="back"]::before,
body[data-content-type$="_form"] .wpcf7-form nav button.conf_btn::after,
body[data-content-type$="_form"] .wpcf7-form nav button.prev_btn::before,
body[data-content-type$="_form"] .wpcf7-form nav span.submit_btn::after {
  content: '\250c';
  width: fit-content;
  height: fit-content;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.1em;
  line-height: 1;
  transform: rotateZ(135deg);
}

dl[id^="rec_require_"] ~ a > span {
  display: inline-block;
  line-height: 1;
  margin-right: 1em;
  transform: translateY(-1.5px);
}

@media screen and (max-width: 1180px) {
  .rec_mv > section {
    width: 75%;
    padding-block: 16px;
    padding-inline: 16px;
  }

  .rec_mv > section > h3 {
    padding-block: 3%;
    padding-inline: 3%;
    font-size: 2rem;
  }

  .rec_mv > section > p {
    padding-inline: 3%;
    font-size: 1.8rem;
  }

  .rec_mv > section > h3::before {
    width: 10%;
  }

  body[data-content-type^="page_recruit"] > main > section > div {
    max-width: calc(100% - 80px);
  }

  #form_anchor {
    padding-inline: 14px;
  }

  .rec_benefit ul li {

  }

  .rec_benefit ul li h3 {
    font-size: 1.8rem;
  }

  .rec_benefit ul li p {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 960px) {
  .rec_mv > section > h3 {
    padding-block: 1%;
    padding-inline: 1%;
    font-size: 1.8rem;
  }

  .rec_mv > section > p {
    padding-inline: 1%;
    font-size: 1.6rem;
  }

  .rec_sc > div > article > figure > figcaption {
    width: 50%;
    margin-right: -5%;
    padding-block: 16px;
    padding-inline: 16px;
  }

  .rec_sc article figcaption > p,
  .rec_sc article > ul dl dd p {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 880px) {
  .rec_sc article > ul dl dt {
    font-size: 1.5rem;
  }

  .rec_sc article > ul dl dd h5 {
    font-size: 1.6rem;
  }

  .rec_sc article > ul dt::before {
    right: 7%;
  }

  .rec_sc article > ul dt::after {
    right: 1.5%;
  }
}

@media screen and (max-width: 768px) {
  body[data-content-type^="page_"] > main > section.rec_mv {
    padding-top: 50px;
  }

  .rec_mv h2.pat3 picture {
    display: flex;
    width: 37.6%;
    margin-right: 12px;
  }
  .rec_mv > figure > picture {
    aspect-ratio: 375 / 250;
  }

  .rec_mv > figure > figcaption {
    width: 72%;
    height: 30%;
    top: 10%;
    left: 5.333%;
  }

  #form_anchor {
    padding-block: 16px 6px;
    padding-inline: 18px;
    bottom: 20%;
  }

  .rec_mv > section {
    width: calc(100% - 40px);
    aspect-ratio: 335 / 455;
    margin-inline: auto;
    padding-block: 50px;
    padding-inline: 8%;
  }

  .rec_mv > section > h3 {
    margin-bottom: 0.5em;
    padding-block: 0;
    padding-inline: 0;
    font-size: 2.85rem;
  }

  .rec_mv > section > h3::before {
    width: 17.9%;
    transform: translateY(-0.8em);
  }

  .rec_mv > section > p {
    padding-inline: 0;
    font-size: 2.1rem;
  }

  .rec_sc > div > article > figure {
    display: flex;
    width: 100%;
    flex-direction: column-reverse;
    margin-bottom: 20px;
  }

  body[data-content-type^="page_recruit"] > main > section > div {
    max-width: initial;
  }

  body[data-content-type^="page_recruit"] > main > section.rec_benefit > div {
    margin-right: 0;
  }

  .rec_sc > div > article > figure > picture {
    width: 100%;
  }

  dl[id^="rec_require_"] ~ a {
    width: 100%;
  }

  .rec_sc > div > article {
    padding-bottom: 50px;
  }

  .rec_sc > div > article:nth-of-type(even) > figure {
    flex-direction: column;
  }

  .rec_sc > div > article > figure > figcaption {
    width: calc(100% - 20px);
    margin-inline: auto;
    margin-top: -60px;
    padding-block: 30px;
    padding-inline: 20px;
  }

  .rec_sc > div > article:nth-of-type(even) > figure > figcaption {
    margin-inline: auto;
  }

  .rec_sc article h3 {
    font-size: 2.6rem;
  }

  .rec_sc article h4 {
    margin-bottom: 1em;
    font-size: 2.4rem;
  }

  .rec_sc article h4 > span:nth-of-type(2) {
    font-size: 2rem;
  }

  .rec_sc article h3 .border > span:nth-of-type(1) {
    width: 2.1em;
  }

  .rec_sc article h3 .border > span:nth-of-type(2) {
    width: 8.4em;
  }

  .rec_sc article figcaption > p,
  .rec_sc article > ul dl dd p {
    font-size: 2rem;
  }

  .rec_sc article > ul {
    grid-template-columns: 1fr;
  }

  .rec_sc article > ul dl dt {
    font-size: 2rem;
  }

  .rec_sc article > ul dt::after {
    font-size: 14px;
    top: 0.3em;
    right: 1.5%;
  }

  .rec_sc article > ul dl dd h5 {
    font-size: 2.1rem;
  }

  .rec_sc article > ul dl dd p {
    padding-right: 2%;
  }

  .rec_sc article > ul dl dd picture {
    width: 95%;
  }

  .rec_benefit {
    padding-bottom: 10em;
  }

  .rec_benefit ul.slick-slider {
    display: block;
  }

  .rec_benefit ul.slick-slider .slick-track > .slick-slide {
    height: auto;
    aspect-ratio: 300 / 218;
    margin-right: 12px;
  }

  .rec_benefit ul.slick-slider .slick-arrow {
    width: 1em;
    height: 1em;
    border: 1px solid #ffffff;
    border-radius: 100%;
    font-size: 5.5rem;
    position: absolute;
    bottom: -1.333em;
    outline: 0;
    background-color: transparent;
  }

  .rec_benefit ul.slick-slider .slick-disabled {
    opacity: 0.3;
  }

  .rec_benefit ul.slick-slider .slick-prev {
    right: 1.65em;
  }

  .rec_benefit ul.slick-slider .slick-next {
    right: 0.4em;
  }

  .rec_benefit ul.slick-slider .slick-arrow::after {
    position: absolute;
    top: 50%;
    transform: translateX(-50%) translateY(-50%) rotateZ(135deg);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 0.5em;
    line-height: 1;
    color: #ffffff;
  }

  .rec_benefit ul.slick-slider .slick-prev::after {
    content: '\2518';
    left: 40%;
  }

  .rec_benefit ul.slick-slider .slick-next::after {
    content: '\250c';
    left: 60%;
  }

  .rec_benefit ul li h3 {
    font-size: 2.8rem;
  }

  .rec_benefit ul li p {
    font-size: 1.8rem;
  }

  .rec_faq ul > li > h4 {
    align-items: flex-start;
    font-size: 2.5rem;
  }

  .rec_faq ul > li > p {
    display: none;
    font-size: 2rem;
  }

  .rec_faq .tiles .fig_open {
    margin-bottom: -1.5em;
  }

  .rec_faq .tiles .fig_open > span::before {
    font-size: 2.8rem;
  }

  section.rec_req {
    padding-block: 60px 0;
  }

  .rec_req .header_list > label {
    height: auto;
    padding: 0.5em 0.75em;
  }

  .rec_req .header_list > label > span {
    margin-inline: auto;
    max-inline-size: max-content;
  }

  dl[id^="rec_require_"] {
    margin-bottom: 0;
  }

  .require[id^="rec_require_"] > div {
    display: block;
  }

  .require[id^="rec_require_"] > div:first-of-type {
    border-top-color: #e8e8e8;
  }

  dl[id^="rec_require_"] > div dt,
  dl[id^="rec_require_"] > div dd {
    width: 100%;
    font-size: 2rem;
  }

  dl[id^="rec_require_"] > div dt {
    border-bottom: none;
    border-left: 2px solid #e8e8e8;
    border-right: 2px solid #e8e8e8;
  }

  dl[id^="rec_require_"] > div dd {
    border-bottom: 2px solid #e8e8e8;
    border-left: 2px solid #e8e8e8;
    border-right: 2px solid #e8e8e8;
  }

  dl[id^="rec_require_"] + p {
    margin-block: 1em 0.75em;
    font-size: 2rem;
  }

  dl[id^="rec_require_"] ~ a {
    margin-bottom: 3.5em;
  }
}

@media screen and (max-width: 540px) {
  body[data-content-type^="page_"] > main > section.rec_mv {
    padding-top: 0;
  }

  .rec_mv h2.pat3 {
    margin-bottom: 45px;
  }

  .rec_mv h2.pat3 > span {
    font-size: 2rem;
  }

  .rec_mv > section {
    margin-top: -60px;
    padding-inline: 30px;
    padding-bottom: 10px;
  }

  .rec_mv > section > h3 {
    font-size: 1.8rem;
  }

  .rec_mv > section > h3::before {
    width: 21.81%;
  }

  .rec_mv > section > p {
    font-size: 1.4rem;
  }

  .rec_sc {
    padding-top: 60px;
  }

  .rec_sc article h3 {
    font-size: 1.8rem;
  }

  .rec_sc article h3 .border > span:nth-of-type(2) {
    width: 9.5em;
  }

  .rec_sc article h4 {
    font-size: 1.6rem;
  }

  .rec_sc article h4 > span:nth-of-type(2),
  .rec_sc article figcaption > p,
  .rec_sc article > ul dl dd p {
    font-size: 1.4rem;
  }

  .rec_sc article > ul dl dt {
    width: 4em;
    font-size: 1.8rem;
  }

  .rec_sc article > ul dt::before {
    right: 9%;
  }

  .rec_sc article > ul dt::after {
    font-size: 1.2rem;
    top: 0.3em;
    right: 4%;
  }

  .rec_sc article > ul dl dd h5 {
    font-size: 1.6rem;
  }

  .rec_sc article > ul dl dd p {
    padding-right: 0;
  }

  .rec_benefit {
    padding-bottom: 11.5em;
  }

  .rec_benefit ul.slick-slider .slick-arrow {
    font-size: 4.5rem;
  }

  .rec_benefit ul li h3 {
    font-size: 1.8rem;
  }

  .rec_benefit ul li p {
    font-size: 1.4rem;
  }

  .rec_faq {
    padding-block: 60px 40px;
  }

  .rec_faq > div > ul > li {
    padding-block: 10px calc(2em + 10px);
    padding-inline: 10px;
  }

  .rec_faq ul > li > h4 {
    font-size: 1.8rem;
    padding-right: 0.8em;
  }

  .rec_faq ul > li > h4::before,
  .rec_faq ul > li > p::before {
    font-size: 3rem;
  }

  .rec_faq ul > li > p {
    font-size: 1.4rem;
  }

  .rec_req .header_list {
    margin-bottom: 16px;
  }

  .rec_req .header_list > label,
  dl[id^="rec_require_"] > div dt,
  dl[id^="rec_require_"] > div dd {
    font-size: 1.2rem;
  }

  dl[id^="rec_require_"] > div dt,
  dl[id^="rec_require_"] > div dd {
    padding-block: 8px 10px;
    padding-inline: 10px;
  }

  dl[id^="rec_require_"] > div dt {
    padding-top: 4px;
  }

  dl[id^="rec_require_"] + p {
    font-size: 1.4rem;
  }

  dl[id^="rec_require_"] ~ a,
  body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action],
  body[data-content-type$="_form"] .wpcf7-form nav button,
  body[data-content-type$="_form"] .wpcf7-form nav span.submit_btn {
    font-size: 1.6rem;
  }

  #form_anchor {
    padding-block: 12px 4px;
    padding-inline: 12px;
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
  }

  #form_anchor > span {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 375px) {
  .rec_mv h2.pat3 > span {
    font-size: 1.7rem;
  }

  .rec_mv > section {
    padding-block: 40px 20px;
    padding-inline: 30px;
  }

  #form_anchor {
    padding-block: 12px 4px;
    padding-inline: 13.5px;
  }

  #form_anchor::after {
    font-size: 1.3rem;
  }

  #form_anchor > span {
    font-size: 1.2rem;
  }

  .rec_mv > section > h3::before {
    width: 21.82%;
    transform: translateX(-0.1em) translateY(-1.2em);
  }

  .rec_mv > section > h3 {
    font-size: 1.55rem;
  }

  .rec_mv > section > p {
    font-size: 1.2rem;
  }

  .rec_sc article h3 {
    font-size: 1.54rem;
  }

  .rec_sc article h4,
  .rec_sc article > ul dl dd h5 {
    font-size: 1.365rem;
  }

  .rec_sc article h4 > span:nth-of-type(2),
  .rec_sc article figcaption > p,
  .rec_sc article > ul dl dd p {
    font-size: 1.195rem;
  }

  .rec_sc article > ul dt::before {
    right: 9.4%;
  }

  .rec_sc article > ul dt::after {
    font-size: 1rem;
    top: 0.3em;
    right: 5%;
  }

  .rec_sc article > ul dl dt {
    font-size: 1.4rem;
  }

  .rec_sc article > ul dl dd p {
    margin-bottom: 8px;
  }

  .rec_sc article > ul dl dd picture {
    width: 93.25%;
    margin-bottom: 24px;
  }

  .rec_sc article > ul dl dd p:empty {
    padding-bottom: 10px;
  }

  .rec_benefit {
    padding-top: 50px;
    padding-bottom: 115px;
  }

  .rec_benefit ul li h3 {
    font-size: 1.54rem;
  }

  .rec_benefit ul li p {
    font-size: 1.195rem;
  }

  .rec_benefit ul.slick-slider .slick-arrow {
    font-size: 3.9rem;
  }

  .rec_faq > div > ul > li {
    padding-top: 16px;
  }

  .rec_faq ul > li > h4 {
    font-size: 1.542rem;
  }

  .rec_faq ul > li > h4::before,
  .rec_faq ul > li > p::before {
    font-size: 2.56rem;
  }

  .rec_faq ul > li > p {
    font-size: 1.195rem;
  }

  .rec_faq .tiles .fig_open > span::before {
    font-size: 1.4rem;
  }

  .rec_req .header_list > label,
  dl[id^="rec_require_"] > div dt,
  dl[id^="rec_require_"] > div dd {
    font-size: 1.024rem;
  }

  dl[id^="rec_require_"] + p {
    font-size: 1.195rem;
  }

  dl[id^="rec_require_"] ~ a,
  body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action],
  body[data-content-type$="_form"] .wpcf7-form nav button,
  body[data-content-type$="_form"] .wpcf7-form nav span.submit_btn {
    font-size: 1.365rem;
  }
}

body[data-content-type="page_contact_form"] .headerlist {
  display: flex;
  width: 100%;
  height: 65px;
  margin-bottom: 20px;
  justify-content: space-between;
  overflow: hidden;
}

body[data-content-type="page_contact_form"] .headerlist label {
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 1;
  font-size: 2.5rem;
  color: #c3c3c3;
  line-height: 1;
  overflow-x: hidden;
}

body[data-content-type="page_contact_form"] .headerlist label > span {
  margin-bottom: 20px;
}

body[data-content-type="page_contact_form"] .headerlist label::after {
  content: '\2500';
  display: flex;
  align-items: center;
  width: fit-content;
  height: fit-content;
  font-size: 10px;
  color :#c3c3c3;
  transform-origin: center;
  transform: scaleX(1000);
  margin-block: -10px;
}

body[data-content-type="page_contact_form"] .headerlist input:checked + label {
  opacity: 1;
  color: var(--theme-color);
}

input[name="send"] {
  pointer-events: none;
  user-select: none;
}

body[data-content-type="page_contact_form"] .headerlist input:checked + label::after {
  content: '\2501';
  color: 3px solid var(--theme-color);
    transform: scaleX(1000) scaleY(3);
}

body[data-content-type="page_contact_form"] .form_list > form {
  display: none;
}
body[data-content-type="page_contact_form"] .form_list > form[data-normalform][data-selected] {
  /*display: none;*/
}

body[data-content-type="page_contact_form"] .form_list > form[data-selected] {
  display: block;
}
body[data-content-type="page_contact_form"] .form_list > form[data-normalform][data-selected][data-send] {
  /*display: block;*/
}

.wp-block-buttons .wp-block-button__link.wp-element-button,
body[data-content-type$="_form"] .wpcf7-form > dl > div dd.postal button[name="postal_conf"] {
  margin-left: 10px;
  padding-block: 6px;
  padding-inline: 10px;
  border-radius: 2px;
  opacity: 0.5;
  user-select: none;
  pointer-events: none;
  background-color: #f5f5f5;
  color: #333333;
}

body[data-content-type$="_form"] .wpcf7-form > dl > div dd.postal button[name="postal_conf"] {
  border: none;
  outline: 0;
}

.wp-block-buttons .wp-block-button__link.wp-element-button[data-enabled],
body[data-content-type$="_form"] .wpcf7-form > dl > div dd.postal button[name="postal_conf"][data-enabled] {
  opacity: 1;
  user-select: initial;
  pointer-events: initial;
}

body[data-content-type$="_form"] .wpcf7-form > dl {
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

body[data-content-type$="_form"] .wpcf7-form > dl > div {
  display: flex;
  border-bottom: 1px solid #ddd;
  margin-bottom: 0;
  margin-top: 0;
}

body[data-content-type$="_form"] .wpcf7-form > dl > div:first-of-type {
  border-top: 1px solid #ddd;
}

body[data-content-type$="_form"] .smf-form--business .smf-item,
body[data-content-type$="_form"] .smf-form--business .smf-item__col.smf-item__col--label,
body[data-content-type$="_form"] .wpcf7-form > dl > div {
  border-color: #dbdbdb;
}


body[data-content-type$="_form"] .smf-form--business .smf-item__col.smf-item__col--label,
body[data-content-type$="_form"] .smf-form--business .smf-item__col.smf-item__col--controls,
body[data-content-type$="_form"] .wpcf7-form > dl > div dt,
body[data-content-type$="_form"] .wpcf7-form > dl > div dd {
  max-width: initial;
  flex-grow: initial;
  flex-shrink: initial;
  flex-basis: initial;
  padding-block: 8px;
  padding-inline: 10px;
}

body[data-content-type$="_form"] .wpcf7-form > dl > div dd.postal p {
  display: flex;
  align-items: center;
}

body[data-content-type$="_form"] .smf-form--business .smf-item__col.smf-item__col--label,
body[data-content-type$="_form"] .wpcf7-form > dl > div dt {
  display: flex;
  align-items: center;
  width: 25%;
  background-color: #f5f5f5;
}

body[data-content-type$="_form"] .smf-form--business .smf-item__col.smf-item__col--controls,
body[data-content-type$="_form"] .wpcf7-form > dl > div dd {
  width: 75%;
}

body[data-content-type$="_form"] .smf-item__label__text {
  margin-right: 0.5em;
  line-height: 1;
}

body[data-content-type$="_form"] .smf-item__description {
  margin-block: 0;
  font-size: 1.2rem;
  line-height: 1;
  color: #ff0000;
}

body[data-content-type$="_form"] .wpcf7 dt p {
  display: flex;
  align-items: center;
}

body[data-content-type$="_form"] .wpcf7 ol[data-order="1"] + dl dt.require p::after {
  display: block;
  content: '\5fc5\9808';
  margin-block: 0;
  margin-left: 0.75em;
  font-size: 1.2rem;
  line-height: 1;
  color: #ff0000;
}

body[data-content-type$="_form"] .wpcf7 ol[data-order="2"] + dl label,
body[data-content-type$="_form"] .wpcf7 ol[data-order="2"] + dl input,
body[data-content-type$="_form"] .wpcf7 ol[data-order="2"] + dl textarea {
  pointer-events: none;
  border: none;
}

body[data-content-type$="_form"] .wpcf7 ol[data-order="2"] + dl input:-internal-autofill-selected {
  box-shadow: 0 0 0 1000px rgb(255, 255, 255) inset !important;
  /*-webkit-text-fill-color: #fff !important;*/
}

body[data-content-type$="_form"] .wpcf7 ol[data-order="2"] + dl input[type="radio"],
body[data-content-type$="_form"] .wpcf7 ol[data-order="2"] + dl .wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
  display: none;
}

body[data-content-type$="_form"] .wpcf7 ol[data-order="2"] + dl .wpcf7-form-control.wpcf7-radio .wpcf7-list-item[data-checked] {
  display: inline-block;
}

body[data-content-type$="_form"] .wpcf7 ol[data-order="2"] + dl button[name="postal_conf"]{
  display: none;
}

body[data-content-type$="_form"] .smf-form .smf-radio-button-control {
  padding-block: 8px;
}

body[data-content-type$="_form"] .smf-radio-buttons-control__control {
  display: flex;
}

body[data-content-type$="_form"] .smf-radio-buttons-control__control > .smf-label {
  margin-right: 50px;
}


body[data-content-type$="_form"] .smf-radio-buttons-control__control > .smf-label:last-of-type {
  margin-right: 0;
}

body[data-content-type$="_form"] .smf-form .smf-radio-button-control__control {
  margin-block: 0;
}

body[data-content-type$="_form"] .smf-form .smf-radio-button-control .smf-radio-button-control__label {
  line-height: 1;
}

body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-item__col.smf-item__col--label .smf-item__description {
  display: none;
}

body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="send"],
body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-item__col.smf-item__col--controls .smf-item__controls,
.wp-block-buttons .wp-block-button__link.wp-element-button,
body[data-content-type$="_form"] .smf-item__label__text,
body[data-content-type$="_form"] .smf-form .smf-radio-button-control .smf-radio-button-control__label,
body[data-content-type$="_form"] .smf-form input,
body[data-content-type$="_form"] .smf-form textarea,
body[data-content-type$="_form"] .smf-form .smf-placeholder input::placeholder,
body[data-content-type$="_form"] .wpcf7-form > dl > div dt > p,
body[data-content-type$="_form"] .wpcf7-form > dl > div dd > p,
body[data-content-type$="_form"] .wpcf7-form > dl > div dd input,
body[data-content-type$="_form"] .wpcf7-form > dl > div dd textarea,
body[data-content-type$="_form"] .wpcf7-form > dl > div dd input::placeholder,
body[data-content-type$="_form"] .wpcf7-form > dl > div dd.postal button[name="postal_conf"] {
  font-size: 1.6rem;
}

body[data-content-type$="_form"] .wpcf7-form > dl > div dd input,
body[data-content-type$="_form"] .wpcf7-form > dl > div dd textarea {
  border: solid 1px #bbb;
  outline: 0;
  border-radius: 3px;
}

body[data-content-type$="_form"] .smf-form textarea,
body[data-content-type$="_form"] .wpcf7-form > dl > div dd textarea {
  line-height: 1.4;
}

body[data-content-type$="_form"] .wpcf7-form > dl > div dd textarea {
  width: 100%;
}

body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="postal2"] + .wp-block-buttons {
  display: none;
}

body[data-content-type$="_form"] .smf-form input[type="text"],
body[data-content-type$="_form"] .smf-form input[type="tel"],
body[data-content-type$="_form"] .smf-form input[type="email"],
body[data-content-type$="_form"] .wpcf7-form input[type="text"],
body[data-content-type$="_form"] .wpcf7-form input[type="tel"],
body[data-content-type$="_form"] .wpcf7-form input[type="email"] {
  width: 100%;
  padding-block: 0.5em 0.25em;
  line-height: 1;
}

body[data-content-type$="_form"] .wpcf7-form input[type="text"],
body[data-content-type$="_form"] .wpcf7-form input[type="tel"],
body[data-content-type$="_form"] .wpcf7-form input[type="email"] {
  padding-inline: 10px;
}

body[data-content-type$="_form"] .smf-form input[name="age"],
body[data-content-type$="_form"] .smf-form input[name="postal1"],
body[data-content-type$="_form"] .wpcf7-form input[name="age"],
body[data-content-type$="_form"] .wpcf7-form input[name="postal1"] {
  width: 3em;
}

body[data-content-type$="_form"] .smf-form div[data-name="age"],
body[data-content-type$="_form"] .smf-form div[data-name="postal1"] {
  display: flex;
  align-items: center;
}

body[data-content-type$="_form"] .wpcf7-form input[name="postal1"]{
  margin-right: 5px;
}

body[data-content-type$="_form"] .smf-form div[data-name="age"]::after {
  content: '\6b73';
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: fit-content;
  margin-left: 0.25em;
  font-size: 1.6rem;
  line-height: 1;
}

body[data-content-type$="_form"] .smf-form div[data-name="postal1"]::after {
  content: '\2500';
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: fit-content;
  margin-inline: 0.25em -0.25em;
  font-size: 1.6rem;
  line-height: 1;
  transform: scaleX(0.5);
  transform-origin: center;
}

body[data-content-type$="_form"] .wpcf7-form .wpcf7-form-control-wrap[data-name="postal1"] + span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: fit-content;
  margin-inline: 0.1em;
  font-size: 1.6rem;
  line-height: 1;
  transform: scaleX(1.25);
}

body[data-content-type$="_form"] .smf-form input[name="postal2"],
body[data-content-type$="_form"] .wpcf7-form input[name="postal2"]{
  width: 4em;
}

body[data-content-type$="_form"] .wpcf7-form input[name="postal2"]{
  margin-left: 5px;
}

body[data-content-type$="_form"] .snow-monkey-form > .smf-action,
body[data-content-type$="_form"] .wpcf7-form nav {
  margin-block: 50px 200px;
}

body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] > .smf-action {
  display: flex;
  justify-content: space-between;
  max-width: 60em;
  height: fit-content;
  align-items: center;
  margin-inline: auto;
}

body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] > .smf-action .smf-button-control {
  width: 48%;
  display: flex;
  justify-content: center;
  align-items: center;
}

body[data-content-type$="_form"] .wpcf7-form nav button,
body[data-content-type$="_form"] .wpcf7-form nav span.submit_btn {
  border: none;
  outline: 0;
}

body[data-content-type$="_form"]  .smf-action .smf-button-control__control[data-action] {
  width: 100%;
  border: none;
  background-image: none;
  font-weight: 300;
}

body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action="back"],
body[data-content-type$="_form"] .wpcf7-form nav button.prev_btn {
  padding-left: 0;
  padding-right: 1em;
}

body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action] > span:first-of-type {
  margin-right: 0;
}

body[data-content-type$="_form"] .wpcf7-form nav span.submit_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

body[data-content-type$="_form"] .wpcf7-form nav p {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action]::after,
body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action="back"]::before,
body[data-content-type$="_form"] .wpcf7-form nav button.conf_btn::after,
body[data-content-type$="_form"] .wpcf7-form nav button.prev_btn::before,
body[data-content-type$="_form"] .wpcf7-form nav span.submit_btn::after {
  box-sizing: border-box;
  margin-left: 0.5em;
  font-size: 1.3em;
  font-weight: 300;
  content: '\ff1e';
  transform: scaleX(0.5) scaleY(0.9) translateY(0.1em);
}

body[data-content-type$="_form"] .wpcf7-form nav input[type="submit"] {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
}

body[data-content-type$="_form"] .wpcf7-form nav {
  display: flex;
  justify-content: space-between;
  max-width: 60em;
  height: fit-content;
  align-items: center;
  margin-inline: auto;
}

body[data-content-type$="_form"] .wpcf7-form nav button.conf_btn,
body[data-content-type$="_form"] .wpcf7-form nav button.prev_btn,
body[data-content-type$="_form"] .wpcf7-form nav span.submit_btn {
  display: none;
}

body[data-content-type$="_form"] .wpcf7-form ol[data-order="1"] ~ nav button.conf_btn {
  display: flex;
}

body[data-content-type$="_form"] .wpcf7-form ol[data-order="2"] ~ nav button.prev_btn,
body[data-content-type$="_form"] .wpcf7-form ol[data-order="2"] ~ nav span.submit_btn {
  display: flex;
  width: 48%;
}

body[data-content-type$="_form"] .wpcf7-form ol[data-order="2"] + dl div.no_conf {
  display: none;
}

body[data-content-type$="_form"] .wpcf7-form ol[data-order="2"] + dl > div dd input::placeholder {
  display: none;
  color: transparent;
}

body[data-content-type$="_form"] .wpcf7-form ol[data-order="2"] + dl > div dd .wpcf7-list-item {
  margin-left: 0.7em;
}

body[data-content-type$="_form"] .wpcf7-form ol[data-order="2"] + dl > div dd textarea {
  padding-left: 9px;
}

body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action="back"],
body[data-content-type$="_form"] .wpcf7-form nav button.prev_btn {
  filter: grayscale(1) contrast(0.8);
  /*transform: scale(0.9);*/
}

body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action="back"]::after {
  display: none;
}

body[data-content-type$="_form"] .smf-action .smf-button-control__control[data-action="back"]::before,
body[data-content-type$="_form"] .wpcf7-form nav button.prev_btn::before {
  content: '\ff1c';
  margin-left: 0;
  margin-right: 0.5em;
}

body[data-content-type$="_form"] .wp-block-snow-monkey-forms-item.smf-item.url_pot {
  display: none;
}

body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-item__col .smf-placeholder {
  min-height: 1.35em;
}

.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  display: flex;
  height: fit-content;
  margin-top: 0.5em;
  font-size: 0.625em;
  color: #cc3033;
  line-height: 1;
}

.wpcf7 button.conf_btn {
  pointer-events: none;
  user-select: none;
}

.wpcf7 button.prev_btn,
.wpcf7 button.conf_btn,
.wpcf7 .submit_btn {
  pointer-events: initial;
  user-select: initial;
  cursor: pointer;
}

@media screen and (max-width: 880px){
  body[data-content-type$="_form"] .smf-form--business .smf-item__col.smf-item__col--label {
    width: 30%;
  }

  body[data-content-type$="_form"] .smf-form--business .smf-item__col.smf-item__col--controls {
    width: 70%;
  }

  body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="send"],
  body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-item__col.smf-item__col--controls .smf-item__controls,
  .wp-block-buttons .wp-block-button__link.wp-element-button,
  body[data-content-type$="_form"] .smf-item__label__text,
  body[data-content-type$="_form"] .smf-form .smf-radio-button-control .smf-radio-button-control__label,
  body[data-content-type$="_form"] .smf-form input,
  body[data-content-type$="_form"] .smf-form textarea,
  body[data-content-type$="_form"] .smf-form .smf-placeholder input::placeholder,
  body[data-content-type$="_form"] .smf-form div[data-name="age"]::after,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dt > p,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd > p,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd input,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd textarea,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd input::placeholder,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd.postal button[name="postal_conf"] {
    font-size: 1.4rem;
  }

  body[data-content-type$="_form"] .smf-item__description {
    font-size: 1rem;
  }
}

@media screen and (max-width: 768px){
  body[data-content-type$="_form"] > main > section > div {
    margin-inline: 20px;
  }

  body[data-content-type$="_form"] > main > section:first-of-type {
    padding-top: 50px;
  }

  body[data-content-type="page_contact_form"] .headerlist {
    margin-bottom: 0;
  }

  body[data-content-type="page_contact_form"] .headerlist label {
    font-size: 2.016rem;
  }

  body[data-content-type="page_contact_form"] .headerlist label::after {
    margin-block: 0;
  }

  body[data-content-type="page_contact_form"] .headerlist label > span {
    margin-bottom: 5px;
  }

  body[data-content-type$="_form"] .smf-form--business .smf-item,
  body[data-content-type$="_form"] .wpcf7-form > dl > div {
    display: block;
  }

  body[data-content-type$="_form"] .smf-form--business .smf-item__col.smf-item__col--label,
  body[data-content-type$="_form"] .smf-form--business .smf-item__col.smf-item__col--controls,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dt,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd {
    width: 100%;
  }

  body[data-content-type$="_form"] .smf-form--business .smf-item__col.smf-item__col--label,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dt {
    border-bottom-color: rgb(2199 219 219 / 0.6);
  }

  body[data-content-type$="_form"] .smf-form input[name="age"],
  body[data-content-type$="_form"] .smf-form input[name="postal1"] {
    width: 3.4em
  }

  body[data-content-type$="_form"] .snow-monkey-form > .smf-action,
  body[data-content-type$="_form"] .wpcf7-form nav {
    margin-block: 20px 100px;
  }

  body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="send"],
  body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-item__col.smf-item__col--controls .smf-item__controls,
  .wp-block-buttons .wp-block-button__link.wp-element-button,
  body[data-content-type$="_form"] .smf-item__label__text,
  body[data-content-type$="_form"] .smf-form .smf-radio-button-control .smf-radio-button-control__label,
  body[data-content-type$="_form"] .smf-form input,
  body[data-content-type$="_form"] .smf-form textarea,
  body[data-content-type$="_form"] .smf-form .smf-placeholder input::placeholder,
  body[data-content-type$="_form"] .smf-form div[data-name="age"]::after,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dt > p,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd > p,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd input,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd textarea,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd input::placeholder,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd.postal button[name="postal_conf"] {
    font-size: 1.6rem;
  }

  body[data-content-type$="_form"] .smf-item__description {
    font-size: 1.2rem;
  }

  body[data-content-type$="_form"] .smf-radio-buttons-control__control {
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 540px) {
  body[data-content-type$="_form"] > main > section:first-of-type {
    padding-top: 0;
  }

  body[data-content-type="page_contact_form"] .headerlist {
    height: 3.2em;
  }

  body[data-content-type="page_contact_form"] .headerlist label {
    font-size: inherit;
  }

  body[data-content-type="page_contact_form"] .headerlist,
  body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="send"],
  body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-item__col.smf-item__col--controls .smf-item__controls,
  .wp-block-buttons .wp-block-button__link.wp-element-button,
  body[data-content-type$="_form"] .smf-item__label__text,
  body[data-content-type$="_form"] .smf-form .smf-radio-button-control .smf-radio-button-control__label,
  body[data-content-type$="_form"] .smf-form input,
  body[data-content-type$="_form"] .smf-form textarea,
  body[data-content-type$="_form"] .smf-form .smf-placeholder input::placeholder,
  body[data-content-type$="_form"] .smf-form div[data-name="age"]::after,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dt > p,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd > p,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd input,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd textarea,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd input::placeholder,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd.postal button[name="postal_conf"] {
    font-size: 1.4rem;
  }

  body[data-content-type$="_form"] .smf-radio-buttons-control__control > .smf-label {
    margin-right: 3em;
  }

  body[data-content-type$="_form"] .snow-monkey-form > .smf-action,
  body[data-content-type$="_form"] .wpcf7-form nav {
    margin-block: 20px 90px;
  }
}

@media screen and (max-width: 375px) {
  body[data-content-type="page_contact_form"] .headerlist,
  body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="send"],
  body[data-content-type$="_form"] .snow-monkey-form[data-screen="confirm"] .smf-item__col.smf-item__col--controls .smf-item__controls,
  .wp-block-buttons .wp-block-button__link.wp-element-button,
  body[data-content-type$="_form"] .smf-item__label__text,
  body[data-content-type$="_form"] .smf-form .smf-radio-button-control .smf-radio-button-control__label,
  body[data-content-type$="_form"] .smf-form input,
  body[data-content-type$="_form"] .smf-form textarea,
  body[data-content-type$="_form"] .smf-form .smf-placeholder input::placeholder,
  body[data-content-type$="_form"] .smf-form div[data-name="age"]::after,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dt > p,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd > p,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd input,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd textarea,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd input::placeholder,
  body[data-content-type$="_form"] .wpcf7-form > dl > div dd.postal button[name="postal_conf"] {
    font-size: 1.195rem;
  }

  body[data-content-type$="_form"] .smf-item__description {
    font-size: 1.024rem;
  }

  body[data-content-type$="_form"] .smf-radio-buttons-control__control > .smf-label {
    margin-right: 2.5em;
  }
}

#loading_bg > div {
  width: 14.64%;
  height: auto;
  aspect-ratio: 377 / 80;
  display: flex;
  justify-content: center;
  align-items: center;
}

#loading_bg #loading_box {
  height: 100%;
  overflow: hidden;
  display: flex;
  aspect-ratio: initial;
}

#loading_bg #loading_box {
  width: 100%;
}

#loading_box > img {
  width: auto;
  height: 100%;
}

@media screen and (max-width: 768px){
  #loading_bg > div {
    width: 36.6%;
  }
}

body[data-content-type^="page_"] section {
  position: relative;
}

section > span.span_anchor {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1px;
  height: 1px;
  user-select: none;
  pointer-events: none;
  z-index: -1;
}

@media screen and (max-width: 768px){
  #demolition {
    top: -80px;
  }

  #construction {
    top: -30px;
  }

  #real-estate {
    top: -20px;
  }

  #sustainability {
    top: -30px;
  }

  #policy {
    top: -30px;
  }

  #iso {
    top: -20px;
  }

  #award {
    top: -20px;
  }

  body[data-content-type^="page_recruit"] #schedule {
    top: -25px;
  }

  body[data-content-type^="page_recruit"] #benefit {
    top: -30px;
  }

  body[data-content-type^="page_recruit"] #faq {
    top: -25px;
  }

  body[data-content-type^="page_recruit"] #rec_sheet {
    top: -25px;
  }
}

body[data-content-type="page_company"] #soc {
  top: -40px;
}

body[data-content-type="page_company"] #partner {
  top: -100px;
}


@media screen and (max-width: 768px){
  body[data-content-type="page_company"] #overview {
    top: -80px;
  }

  body[data-content-type="page_company"] #message {
    top: -30px;
  }

  body[data-content-type="page_company"] #organizational_chart {
    top: -25px;
  }

  body[data-content-type="page_company"] #history {
    top: -20px;
  }

  body[data-content-type="page_company"] #soc {
    top: -20px;
  }

  body[data-content-type="page_company"] #partner {
    top: -82px;
  }
}

/*
#kv_slide .slick-slide:nth-of-type(3) img {
  object-fit: contain;
}
*/

body[data-content-type="home"] .kv #scr_down {
  position: absolute;
  left: unset;
  right: 60px;
  width: fit-content;
  height: 100%;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  user-select: none;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  align-items: center;
}

body[data-content-type="home"] .kv #scr_down:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background: linear-gradient(180deg,rgba(#000, 0) 0, rgba(#000, .8) 80%, rgba(#000, .8) 100%);
  }

body[data-content-type="home"] .kv #scr_down span {
  display: inline-block;
  display: inline-flex;
  align-items: center;
  position: absolute;
  /*bottom: 30px;*/
  top: 65%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 2;
  width: 13px;
  width: fit-content;
  padding: 10px 10px 110px;
  color: #ffffff;
  font-size: 1.6rem;
  font-family: 'Public Sans', sans-serif;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
  transition: .2s;
  overflow: hidden;
  margin: auto;
  text-shadow: 1px 1px 4px rgb(0 0 0 / 0.4);
}

body[data-content-type="home"] .kv #scr_down span:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 100px;
  background: #ddd;
}

body[data-content-type="home"] .kv #scr_down span:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 100px;
  background: #000;
}

body[data-content-type="home"] .kv #scr_down span:hover {
  opacity: .5;
}

body[data-content-type="home"] .kv #scr_down span:after {
  animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@media screen and (max-width: 768px) {
  body[data-content-type="home"] .kv #scr_down {
    right: 30px;
  }
}

.cont_area h2 > span:nth-of-type(1),
.init h2 > span:nth-of-type(1) {
  color: #ffffff;
}

body[data-content-type="home"] .addr {
  position: relative;
}

@media screen and (max-width: 768px){
  body[data-content-type="home"] #access {

  }
}

.addr address picture {
  margin-block: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 653 / 500;
  aspect-ratio: 653 / 400;
}

.addr address picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.smf-complete-content,
.wpcf7-form .comp {
  font-size: 1.8rem;
  line-height: 1.7;
  width: fit-content;
  margin-inline: auto;
}

.wpcf7-form .comp {
  margin-bottom: 200px;
}

.smf-complete-content p,
.wpcf7-form .comp p {
  /*margin-inline: auto;
  max-inline-size: max-content;*/
}

.smf-complete-content p strong,
.wpcf7-form .comp p strong {
  display: inline-block;
  width: 100%;
  text-align: center;
  font-size: 1.2em;
}

@media screen and (max-width: 768px) {
  .wpcf7-form .comp {
    margin-bottom: 90px;
  }

  .smf-complete-content,
  .wpcf7-form .comp {
    font-size: 1.5rem;
  }

  .smf-complete-content p,
  .wpcf7-form .comp p {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 540px) {
  .smf-complete-content,
  .wpcf7-form .comp {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 375px) {
  .smf-complete-content,
  .wpcf7-form .comp {
    font-size: 1.2rem;
  }
}

/*temp_mail*/
#temp_mail {
  margin-block: 60px 100px;
  /*height: 30em;*/
}

#temp_mail > li {
  display: none;
  font-size: 2rem;
  line-height: 1.5;
  color: #444444;
}

#temp_mail > li:nth-of-type(2) {
  /*line-height: 1.6;*/
}

#temp_mail > li p {
  line-height: 1.7;
}

#temp_mail > li:nth-of-type(2) p {
  /*margin-bottom: 1em;*/
}

#temp_mail > li h3,
#temp_mail > li address {
  display: block;
  margin-top: 0em;
  font-size: 1.2em;
  line-height: 1;
  font-weight: 700;
  color: #348751;
}

#temp_mail > li h3 {
  margin-block: 40px 20px;
}

#temp_mail > li h3,
#temp_mail > li p,
#temp_mail > li address {
  margin-inline: auto;
  max-inline-size: max-content;
}

@media screen and (max-width: 768px){
  #temp_mail {
    /*height: 27.5em;*/
  }

  #temp_mail > li {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 540px){
  #temp_mail {
    /*height: 22em;*/
  }

  #temp_mail > li {
    font-size: 1.25rem;
  }

  #temp_mail > li h3,
  #temp_mail > li address {
    font-size: 1.4em;
  }
}

@media screen and (max-width: 375px){
  #temp_mail > li {
    font-size: 1.05rem;
  }
}

form.init {
  background-color: transparent;
}

.form_list .wpcf7 {
  display: none;
}

.form_list .wpcf7[data-selected] {
  display: block;
}

.wpcf7 ol {
  display: flex;
  flex-wrap: nowrap;
  list-style: none;
  margin-bottom: var(--_margin1);
  margin-left: 0;
  padding-left: 0;
}

.wpcf7 ol li {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  margin: 0;
  position: relative;
  width: 33.33333%;
}

.wpcf7 ol li > div:nth-of-type(1) {
  align-items: center;
  background-color: #ccc;
  border-radius: 100%;
  color: #fff;
  display: flex;
  height: 24px;
  justify-content: center;
  letter-spacing: 0;
  overflow: hidden;
  position: relative;
  width: 24px;
  z-index: 1;
}

.wpcf7 ol li > div:nth-of-type(2) {
  margin-top: 0.5em;
  color: #ccc;
}

.wpcf7 ol li::before,
.wpcf7 ol li::after {
  background-color: #ccc;
  content: '';
  display: block;
  height: 1px;
  position: absolute;
  left: 0;
  right: 50%;
  top: 12px;
}

.wpcf7 ol li::after {
  left: 50%;
  right: 0
}

.wpcf7 ol li:nth-of-type(1)::before,
.wpcf7 ol li:nth-of-type(3)::after {
  display: none;
}

.wpcf7 ol[data-order="1"] li:nth-of-type(1) > div:nth-of-type(1),
.wpcf7 ol[data-order="2"] li:nth-of-type(2) > div:nth-of-type(1),
.wpcf7 ol[data-order="3"] li:nth-of-type(3) > div:nth-of-type(1) {
  background-color: #333;
}

.wpcf7 ol[data-order="1"] li:nth-of-type(1) > div:nth-of-type(2),
.wpcf7 ol[data-order="2"] li:nth-of-type(2) > div:nth-of-type(2),
.wpcf7 ol[data-order="3"] li:nth-of-type(3) > div:nth-of-type(2) {
  color: #333;
}

span.wpcf7-spinner {
  display: none;
}

.wpcf7 ol[data-order="1"] ~ .comp,
.wpcf7 ol[data-order="2"] ~ .comp,
.wpcf7 ol[data-order="3"] + dl,
.wpcf7 ol[data-order="3"] ~ nav {
  display: none;
}

.wpcf7 ol[data-order="3"] ~ .comp {
  display: block;
}

body[data-content-type$="_form"] .wpcf7 form .wpcf7-response-output {
  display: none;
}

body[data-content-type$="company"] section dl.tbl .addr_list > div {
  display: flex;
  margin-bottom: 5px;
}

body[data-content-type$="company"] section dl.tbl .addr_list > div:last-of-type {
  margin-bottom: 0;
}

body[data-content-type$="company"] section dl.tbl .addr_list > div dt,
body[data-content-type$="company"] section dl.tbl .addr_list > div dd {
  background-color: transparent;
  border: none;
  padding-block: 0;
}

body[data-content-type$="company"] section dl.tbl .addr_list > div dt {
  padding-left: 0;
}

body[data-content-type$="company"] section dl.tbl .addr_list > div dd {
  display: flex;
  flex-wrap: wrap;
}

body[data-content-type$="company"] section dl.tbl .addr_list > div dd > span {
  display: inline-block;
}

body[data-content-type$="company"] section dl.tbl .addr_list > div dd > span:nth-of-type(1) {
  width: 20%;
}

body[data-content-type$="company"] section dl.tbl .addr_list > div dd > span:nth-of-type(2) {
  width: 49%;
}

body[data-content-type$="company"] section dl.tbl .addr_list > div dd > span:nth-of-type(3) {
  width: 29%;
}

@media screen and (max-width: 1000px){
  body[data-content-type$="company"] section dl.tbl .addr_list > div {
    flex-wrap: wrap;
    margin-bottom: 8px;
  }

  body[data-content-type$="company"] section dl.tbl .addr_list > div dt,
  body[data-content-type$="company"] section dl.tbl .addr_list > div dd {
    width: 100%;
    width: 100%;
  }

  body[data-content-type$="company"] section dl.tbl .addr_list > div dd {
    padding-left: 0;
  }

  body[data-content-type$="company"] section dl.tbl .addr_list > div dd > span:nth-of-type(1) {
    width: 8em;
  }

  body[data-content-type$="company"] section dl.tbl .addr_list > div dd > span:nth-of-type(2) {
    width: 18em;
  }

  body[data-content-type$="company"] section dl.tbl .addr_list > div dd > span:nth-of-type(3) {
    width: 9.5em;
  }
}