@charset "UTF-8";
/*----------------- common ---------------- */
.section_wrapper {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .section_wrapper {
    margin: 0 auto;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.pnav_wrapper,
.section_wrapper.section_intro,
.section_wrapper.section_features,
.section_wrapper.section_CV,
.section_wrapper.subsection_FAQs,
.section_wrapper.section_cases .section_contents,
.section_wrapper.section_news {
  background-image: url(../../../../../../images/02_top/section_bg.jpg);
  background-repeat: repeat;
}
/*----------------- Cover ---------------- */
.fv_wrapper {
  margin: 0 auto;
  width: 100%;
  height: 90dvh;
  background-image: url(../../../../../../images/02_top/en_cover.png);
  background-size: cover;
  background-position: 50% 100%;
  background-repeat: no-repeat;
}
.fv_imgcontainer {
  width: 100%;
  position: absolute;
  bottom: 10%;
}
.fv_container {
  width: 100%;
  height: 100%;
  position: relative;
}
.copy_container {
  position: absolute;
  top: 28%;
  transform: translateX(-50%);
  left: 50%;
}
.copy_container h2 {
  display: flex;
  justify-content: center;
  align-items: baseline;
  line-height: 1.2;
  white-space: nowrap;
}
.subcopy_text {
  color: var(--accent-brown);
}
@media screen and (min-width: 1920px) {
  .copy_container {
    top: 22%;
  }
  h2 {
    font-size: 5vw;
  }
}
@media screen and (min-width: 1660px) {
  .fv_wrapper {
    background-position: 50%;
  }
}
@media screen and (max-width: 1024px) {
  .copy_container {
    top: 20%;
  }
  .copy_container h2 {
    justify-content: flex-start;
    font-size: 4.5rem;
  }
  .copy_container h2:nth-child(2) {
    white-space: wrap;
  }
}
@media screen and (max-width: 768px) {
  .fv_wrapper {
    background-image: url(../../../../../../images/02_top/en_cover-uTab.png);
    background-position: top;
  }
  .copy_container {
    top: 26%;
  }
  .copy_container h2 {
    text-align: center;
    justify-content: center;
    font-size: clamp(2rem, 0.571rem + 7.14vw, 4rem);
  }
}
/*----------------- page menu ---------------- */
a.pnav_link.pnav_item {
  position: relative;
  display: block;
  font-size: 1rem;
  width: calc(49% / 2);
  height: 100%;
  background-color: var(--secondary-color);
  padding: 24px;
  color: var(--accent-blue);
}
a.pnav_link:hover.pnav_item {
  background-color: var(--base-color);
}
a.pnav_link span.arrow-d {
  position: absolute;
  transform: translate(-25%, -50%) rotate(135deg);
  right: 16px;
  top: 50%;
  display: inline-block;
  vertical-align: middle;
  width: 0.5rem;
  height: 0.5rem;
  border: 0.0875rem solid var(--sub-color);
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transition: all 0.3s;
}
a:hover span.arrow-d,
a:active span.arrow-d {
  top: 58%;
  transition: all 0.25s;
}
.pnav_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.page_nav {
  width: calc(100% - 264px);
  display: flex;
  justify-content: space-around;
  margin-top: -4rem;
}
a.pnav_link.pnav_item.item_end {
  height: auto;
  position: relative;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-image: url(../../../../../../images/02_top/pnav_bg-01.png);
}
a.pnav_link.pnav_item.item_end span {
  color: var(--accent-ybeige);
  position: absolute;
  z-index: 2;
  transition: all 0.3s;
}
a.pnav_link.pnav_item.item_end.item_end-r {
  background-position: center;
  background-image: url(../../../../../../images/02_top/pnav_bg-02.png);
}
a.pnav_link.pnav_item.item_end::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(75, 86, 79, 0.4);
  z-index: 1;
  transition: all 0.3s;
}
a.pnav_link:hover.pnav_item.item_end::before {
  background-color: rgba(75, 86, 79, 0.16);
  transition: all 0.25s;
}
a.pnav_link:hover.pnav_item.item_end span {
  color: var(--accent-brown);
  transition: all 0.25s;
}

.pnav_column {
  display: flex;
  flex-direction: column;
  width: 50%;
  justify-content: space-between;
}
.pnav_column .pnav_flexbox {
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 48%;
}
.pnav_column .pnav_flexbox a.pnav_link.pnav_item {
  width: calc((100% - 2%) / 3);
}
.pnav_flexbox.display_u500 {
  display: none;
}
.pnav_flexbox.display_o1024.display_u768 {
  display: flex !important;
}
.pnav_flexbox.display_u1024.display_o768 {
  display: none !important;
}
.pnav_column .pnav_flexbox.display_u1024 a.pnav_link.pnav_item {
  width: calc((100% - 0.5%) / 2);
}
.display_u1024 a.pnav_link {
  padding: 16px;
}
.flex_u768 a.pnav_link.pnav_item.item_end {
  display: none;
}
@media screen and (max-width: 1280px) {
  .page_nav {
    width: calc(100% - 208px);
  }
}
@media screen and (max-width: 1023px) {
  .page_nav {
    width: calc(100% - 48px);
  }
  a.pnav_link.pnav_item.item_end {
    padding: 16px;
  }
}
@media screen and (max-width: 1023px) and (min-width: 769px) {
  .pnav_flexbox.display_o1024.display_u768 {
    display: none !important;
  }
  .pnav_flexbox.display_u1024.display_o768 {
    display: flex !important;
  }
  .pnav_column .pnav_flexbox.display_u1024.display_o768:nth-child(3),
  .pnav_column .pnav_flexbox.display_u1024.display_o768:nth-child(4) {
    margin-bottom: 2.4px;
  }
}
@media screen and (max-width: 768px) {
  .page_nav {
    flex-direction: column;
    align-items: center;
  }
  a.pnav_link.pnav_item.item_end {
    display: none;
  }
  .flex_u768 {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 0.25rem;
  }
  .flex_u768 a.pnav_link.pnav_item.item_end {
    display: block;
    width: 49.6%;
    padding: 16px 16px 88px;
  }
  .pnav_column {
    width: 100%;
  }
  .pnav_column .pnav_flexbox a.pnav_link.pnav_item {
    width: calc((100% - 2%) / 3);
  }
  .pnav_column .pnav_flexbox.display_o1024.display_u768:nth-child(1) {
    margin-bottom: 2.4px;
  }
}
@media screen and (max-width: 500px) {
  .pnav_flexbox.display_u768.display_o1024 {
    display: none !important;
  }
  .pnav_flexbox.display_u500 {
    display: flex !important;
  }
  .pnav_column .pnav_flexbox a.pnav_link.pnav_item {
    width: calc((100% - 0.5%) / 2);
    margin-bottom: 4px;
    padding: 16px;
  }
}
/*----------------- Intro ---------------- */
.section_wrapper.section_intro {
  position: relative;
}
.section_intro.section_intro::before {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_intro.png);
  right: 0;
  top: 20%;
  opacity: 0.64;
}
@media screen and (max-width: 1440px) {
  .section_intro.section_intro::before {
    content: url(../../../../../../images/02_top/Circle_bg_intro_s.png);
    top: 24%;
  }
}
@media screen and (max-width: 768px) {
  .section_intro.section_intro::before {
    content: url(../../../../../../images/02_top/Circle_bg_intro_ss.png);
    top: 12%;
    right: -10%;
  }
}
.section_intro h2 {
  color: var(--accent-brown);
  letter-spacing: 0.05em;
  position: relative;
  z-index: 3;
}
.intro_img {
  margin-top: -2rem;
  width: 71.11%;
  max-width: 1920px;
  aspect-ratio: 16 / 9;
  background-image: url(../../../../../../images/02_top/intro_img.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 2;
}
.section_container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section_container.flexcontainer {
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
}
.section_intro .section_container {
  margin-top: 72px;
  position: relative;
  z-index: 2;
}
.worries {
  display: flex;
  justify-content: space-between;
  margin-top: 56px;
}
.worries_container {
  width: 30%;
  position: relative;
  display: flex;
  flex-direction: column;
}
.worries_container > *:first-child {
  height: 33%;
}
.worries_text {
  padding: 1rem 2rem;
  background-color: var(--base-color);
  position: relative;
  text-align: center;
  border-bottom: 2px solid var(--accent-emegreen);
}
.worries_text:after {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) skew(33deg);
  height: 20px;
  width: 10px;
  border-right: 2px solid var(--accent-emegreen);
  content: "";
}
img.worries_human {
  width: 5rem;
  position: absolute;
  top: 10%;
  right: -1.5rem;
}
@media screen and (max-width: 1920px) {
  img.worries_human {
    top: 16%;
    right: -1.8rem;
  }
}
@media screen and (max-width: 1280px) {
  img.worries_human {
    width: 4rem;
  }
}
@media screen and (max-width: 1024px) {
  .worries {
    margin-top: 40px;
  }
  .worries_container {
    justify-content: space-between;
  }
  .worries_container > *:first-child {
    height: 45%;
  }
  .worries_text {
    padding: 1rem;
  }
  img.worries_human {
    width: 3.5rem;
    top: 25%;
    right: -1.4rem;
  }
}
@media screen and (max-width: 834px) {
  .worries {
    flex-direction: column;
    width: 70%;
  }
  .worries_container {
    width: 100%;
    margin-bottom: 2rem;
  }
  img.worries_human {
    width: 3.75rem;
    top: 16%;
  }
}
@media screen and (max-width: 768px) {
  .intro_img {
    margin-top: -2rem;
    width: 88%;
  }
  .section_intro .section_container.plus_padding-both {
    flex-direction: column;
  }
}
/*----------------- Assertion ---------------- */
.section_assertion {
  padding: 15rem 11% 5rem;
  position: relative;
}
.section_assertion h3 {
  line-height: 1.2;
  text-align: center;
  margin-bottom: 3rem;
  position: relative;
}
.section_assertion h3:after {
  content: url(../../../../../../images/02_top/tri_1.png);
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  z-index: -1;
}
.section_assertion .p_box {
  position: relative;
  text-align: center;
}
.section_assertion .p_box:before {
  content: url(../../../../../../images/02_top/tri_2.png);
  position: absolute;
  transform: translateX(-50%);
  top: 80%;
  left: 50%;
}
.section_assertion .tri_3 {
  margin-top: 220px;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .section_assertion {
    padding: 5rem 8%;
    font-size: clamp(48px, 2vw, 32px);
  }
  .section_assertion h3:after {
    content: url(../../../../../../images/02_top/tri_sp1.png);
  }
  .section_assertion .p_box:before {
    content: url(../../../../../../images/02_top/tri_sp2.png);
  }
  .section_assertion .p_box::before {
    top: 40%;
  }
  .section_assertion .tri_3 {
    margin-top: 80px;
  }
}
/*----------------- Features ---------------- */
.section_head-kasane {
  position: relative;
}
.section_head-kasane .section_head-JP {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  top: 68%;
  white-space: nowrap;
  color: var(--accent-ybeige);
  /* max 20px min 18px */
  font-size: clamp(1.125rem, 1.1rem + 0.13vw, 1.25rem);
  letter-spacing: var(--l-space-100);
}
.section_features .section_head-kasane .section_head-JP {
  top: 46%;
}
.section_wrapper.section_features {
  margin-top: -10rem;
  padding-bottom: 5rem;
}
.features {
  display: flex;
  justify-content: space-between;
  margin-top: 80px;
}
.features_container {
  width: 30%;
  position: relative;
  display: flex;
  flex-direction: column;
}
.features_img {
  position: relative;
}
.features_img .on-img-cc {
  width: 70%;
  position: absolute;
  bottom: 1rem;
  left: 24%;
  z-index: 2;
}
.features_text {
  position: relative;
  margin-top: -2rem;
  z-index: 2;
}
.features_text .flex_row {
  justify-content: space-between;
}
h4.features_title {
  line-height: 1.2;
  margin-bottom: 2rem;
  font-weight: 400;
}
.features_title span {
  font-size: smaller;
}
.head_num {
  font-size: clamp(6rem, 7.6182rem + -1.1182vw, 5rem);
  line-height: 0.8;
}
.pr {
  background-image: url(../../../../../../images/02_top/jp80kr50.png);
  background-repeat: no-repeat;
  background-position: center top;
  margin-top: 80px;
  padding: 10rem 0 8rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.pr_img {
  display: inline-flex;
  width: fit-content;
  margin: 24px 0;
}
h5.pr_text {
  margin-bottom: 24px;
  text-align: center;
  z-index: 2;
  font-weight: 500;
  letter-spacing: var(--l-space-50);
}
h5.pr_text .emegreen {
  font-size: larger;
  text-shadow: -1px 1px 2px rgba(26, 28, 28, 0.5);
}
.section_features img.tri_3 {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  bottom: -10rem;
  z-index: 2;
  width: fit-content;
}
@media screen and (max-width: 1440px) {
  .head_num {
    font-size: clamp(4.5rem, 5.6182rem + -2.1818vw, 3rem);
  }
}
@media screen and (max-width: 1024px) {
  span.happier_human {
    width: 40%;
    max-width: 84px;
  }
}
@media screen and (max-width: 768px) {
  .features_container {
    width: 33%;
  }
  .section_wrapper.section_features {
    margin-top: -8rem;
  }
  .features.plus_padding-both {
    padding: 0 4%;
  }
  .head_num {
    font-size: 56px;
  }
  .features_img .on-img-cc {
    left: 32%;
    bottom: 1.5rem;
  }
  h4.features_title {
    margin-bottom: 1rem;
  }
  .section_features img.tri_3 {
    bottom: -8rem;
  }
}
@media screen and (max-width: 620px) {
  .features.plus_padding-both {
    flex-direction: column;
    align-items: center;
  }
  .features_container {
    width: 60%;
    margin-bottom: 24px;
  }
  .pr {
    margin-top: 0;
    padding: 5rem 4%;
  }
  .section_features img.tri_3 {
    bottom: -8rem;
  }
}
@media screen and (max-width: 500px) {
  .section_features .section_head-kasane .section_head-JP {
    white-space: inherit;
    text-align: center;
    top: 80%;
  }
  .section_features h3.section_head {
    font-size: 48px;
    line-height: 1;
  }
}
@media screen and (max-width: 390px) {
  .section_head-kasane .section_head-JP {
    font-size: 0.875rem;
    line-height: 1;
    top: 76%;
  }
  .section_features h3.section_head {
    font-size: 36px;
  }
  .pr {
    background-size: 100%;
    background-position: right 16px top;
  }
  .features_container {
    width: 80%;
  }
  .section_CV .button a {
    margin: 0 auto;
    padding: 24px 48px;
    max-width: fit-content;
  }
}
/*----------------- Why Us ---------------- */
.section_wrapper.section_WhyUs {
  padding-bottom: 14rem;
  position: relative;
}
.section_WhyUs::before {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_whyus.png);
  right: 0;
  top: 20%;
}
@media screen and (max-width: 1440px) {
  .section_WhyUs::before {
    content: url(../../../../../../images/02_top/Circle_bg_whyus-s.png);
    top: 24%;
  }
}
@media screen and (max-width: 768px) {
  .section_WhyUs::before {
    content: url(../../../../../../images/02_top/Circle_bg_whyus-ss.png);
    top: 12%;
    right: -10%;
  }
  .section_WhyUs::after {
    position: absolute;
    z-index: 1;
    content: url(../../../../../../images/02_top/Circle_bg_whyus_add.png);
    top: 48%;
    left: -10%;
  }
}
.section_wrapper.section_WhyUs .section_head-kasane {
  padding: 0 11%;
  width: 100%;
}
.section_WhyUs .features_box {
  position: relative;
  z-index: 2;
}
.section_WhyUs .features_text {
  position: absolute;
  top: 72%;
  left: -32px;
  right: 24px;
  padding: 48px 24px;
}
.section_WhyUs .container-b {
  padding-top: 6rem;
}
.section_WhyUs .container-c {
  padding-top: 12rem;
}
.section_WhyUs .features_text h4 {
  /* 48px-40px */
  font-size: clamp(3rem, 3.6182rem + -0.8182vw, 2.5rem);
  line-height: 1.2;
  margin-bottom: 24px;
}
.section_WhyUs .container-a .features_text {
  background-color: rgba(194, 147, 79, 0.48);
}
.section_WhyUs .container-b .features_text {
  background-color: rgba(177, 194, 205, 0.54);
}
.section_WhyUs .container-c .features_text {
  background-color: rgba(29, 82, 114, 0.48);
}
@media screen and (max-width: 1280px) {
  .section_WhyUs .features.plus_padding-both {
    padding: 0 8%;
  }
  .section_WhyUs .features_text h4 {
    font-size: clamp(2rem, 1.833rem + 0.83vw, 2.5rem);
    margin-bottom: 16px;
    line-height: 1.1;
  }
  .section_WhyUs .features_text {
    padding: 32px 24px;
    line-height: 1.2;
  }
}
@media screen and (max-width: 1024px) {
  .section_WhyUs .features_container {
    width: 32%;
  }
  .features_text p {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  .section_wrapper.section_WhyUs .section_head-kasane {
    padding: 0 4%;
  }
  .section_WhyUs .features.plus_padding-both {
    flex-direction: column;
    align-items: center;
  }
  .section_WhyUs .features_container {
    width: 60%;
  }
  .section_WhyUs .container-b,
  .section_WhyUs .container-c {
    padding-top: 3rem;
  }
  .section_WhyUs .features_text {
    position: inherit;
    top: unset;
    left: unset;
    right: unset;
  }
  .section_wrapper.section_WhyUs {
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .section_WhyUs .features_container {
    width: 80%;
  }
  .section_WhyUs .features_text {
    width: 118%;
    margin-left: -9%;
  }
}
/*----------------- CV ---------------- */
.section_CV h4 {
  text-align: center;
  line-height: 1.1;
  margin-bottom: 2rem;
}
.section_CV .section_container {
  background-image: url(../../../../../../images/02_top/tri_mix.png);
  background-repeat: no-repeat;
  background-position: center top;
}
.section_CV .button a {
  margin-top: 120px;
  max-width: unset;
}
.section_CV .button a:after {
  right: 2rem;
}
.section_CV .button a:hover:after {
  right: 1.6rem;
}
@media screen and (max-width: 768px) {
  .section_CV .section_container {
    background-image: url(../../../../../../images/02_top/tri_mix_sp.png);
  }
  .section_CV .button a {
    margin-top: 80px;
  }
}
/*----------------- OEM ---------------- */
/* 以下 head_wrapper共通 */
.head_wrapper {
  display: flex;
  justify-content: flex-end;
  position: relative;
}
.head_img {
  width: 71.1%;
  aspect-ratio: 16 / 9;
  background-image: url(../../../../../../images/02_top/oem_img.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
.head_wrapper .section_head-container {
  white-space: nowrap;
  z-index: 2;
  position: absolute;
  left: 11%;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .head_wrapper .section_head-container {
    left: 8%;
  }
  .section_OEM .section_container h4,
  .subsection_FAQs h4 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .head_wrapper .section_head-container {
    left: 4%;
  }
}
@media screen and (max-width: 500px) {
  #oem .section_head-kasane .section_head-JP,
  #cases .section_head-kasane .section_head-JP {
    transform: unset;
    left: 0;
  }
}
/* 以上 head_wrapper共通 */

.section_OEM .head_wrapper {
  z-index: 2;
}
.section_OEM .section_container {
  position: relative;
}
.section_OEM .section_container::before {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_oem01.png);
  right: 0;
  top: -5%;
  opacity: 0.64;
}
.section_OEM .section_container::after {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_oem02.png);
  top: 48%;
  left: 0;
}
@media screen and (max-width: 1440px) {
  .section_OEM .section_container::before {
    content: url(../../../../../../images/02_top/Circle_bg_oem01-s.png);
  }
}
@media screen and (max-width: 768px) {
  .section_wrapper.subsection_FAQs {
    padding-left: 11%;
    padding-right: 4rem;
  }
  .section_OEM .section_container::before {
    content: url(../../../../../../images/02_top/Circle_bg_oem01-ss.png);
  }
  .section_OEM .section_container::after {
    content: url(../../../../../../images/02_top/Circle_bg_oem02-ss.png);
    top: 80%;
    left: -4%;
  }
}
.section_OEM h4 {
  margin-bottom: 24px;
}
/* flow */
.section_OEM .section_container.flexcontainer {
  padding-top: 80px;
  padding-left: 11%;
  padding-right: 10rem;
}
:root {
  --flow-border: 2px; /* 縦線太さ 変更可 */
  --flow-dot-size: 1rem; /* ドット大きさ 変更可 */
  --flow-dot-color: var(--accent-blue); /* ドットの色 変更可 */
}
.flow {
  width: 64%;
  list-style: none !important;
  counter-reset: flownum; /* リストアイテムの名称(任意) */
  margin: 1em 0; /* フローチャートと前後要素との距離(任意) */
  padding: 0 !important;
  position: relative;
  z-index: 2;
}
.flow li {
  position: relative;
  padding: 0 0 0 calc(var(--flow-dot-size) + 20px);
}
.flow_content {
  position: relative;
  padding: 0 0 2em;
}

/* 縦線デザイン */
.flow_content::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: calc(calc(calc(var(--flow-dot-size) / 2) + calc(var(--flow-border) / 2) + 20px) * -1);
  width: 4px;
  height: 100%;
  background: var(--secondary-color);
}

/* 最終工程の縦線が必要な方ここから削除 */
.flow li:last-of-type .flow_content::before {
  content: none;
}
/* 最終工程の縦線が必要な方ここまで削除 */

/* 番号部位デザイン */
.flow li::before {
  content: "STEP " counter(flownum);
  counter-increment: flownum;
  color: white; /* 番号文字色 */
  color: var(--accent-brown); /* STEP文字色 */
  font-weight: 700;
  font-size: 1rem; /* STEPフォントサイズ */
  line-height: 1.3;
}

/* ドットデザイン */
.flow li::after {
  content: "";
  display: block;
  position: absolute;
  top: 4px; /* 通常は 0, STEPの文字とのバランスを見て調整 */
  left: 0;
  width: var(--flow-dot-size);
  height: var(--flow-dot-size);
  border-radius: 50%;
  border: 2px solid var(--flow-dot-color); /* 円の色 */
}
.flow li:nth-of-type(odd)::after {
  background: var(--flow-dot-color);
}

/* 工程タイトル */
.flow_title {
  color: var(--accent-blue);
  margin: 0 0 0.6em;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.4; /* 大きめの文字は 1.2 〜 1.4 程度で調整すると良い */
}

/* p要素を利用した場合の調整 */
.flow li p {
  margin: 1em 0 !important;
}
.flow li p:last-of-type {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 1024px) {
  .section_OEM .section_container.flexcontainer.plus_padding-both {
    padding-right: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .section_OEM .section_container.flexcontainer {
    flex-direction: column;
    align-items: flex-start;
  }
  .flow {
    width: 100%;
  }
  .head_img {
    width: 88%;
  }
}
@media screen and (max-width: 500px) {
  .head_img {
    width: 56%;
  }
}
/*----------------- FAQs ---------------- */
.subsection_FAQs {
  position: relative;
}
.subsection_FAQs::after {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_faq.png);
  top: 48%;
  right: 0;
}
@media screen and (max-width: 1440px) {
  .subsection_FAQs::after {
    content: url(../../../../../../images/02_top/Circle_bg_faq-s.png);
    top: inherit;
    bottom: -8%;
  }
}
@media screen and (max-width: 768px) {
  .subsection_FAQs::after {
    content: url(../../../../../../images/02_top/Circle_bg_faq-ss.png);
    top: 72%;
    right: -4%;
    bottom: inherit;
  }
}
.q_box {
  margin-top: 40px;
}
.q_innerbox {
  margin-bottom: 24px;
}
.q_answer {
  text-indent: 1rem;
}
/*----------------- Cases ---------------- */
.section_wrapper.section_cases {
  padding-bottom: 0;
}
.section_cases .head_wrapper::after {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_cases01.png);
  top: 55%;
  left: 0;
  opacity: 0.64;
}
@media screen and (max-width: 1920px) {
  .section_cases .head_wrapper::after {
    content: url(../../../../../../images/02_top/Circle_bg_cases01-s.png);
    top: 55%;
    left: 0;
  }
}
@media screen and (max-width: 1600px) {
  .section_cases .head_wrapper::after {
    top: 50%;
  }
}
@media screen and (max-width: 1280px) {
  .section_cases .head_wrapper::after {
    content: url(../../../../../../images/02_top/Circle_bg_cases01-ss.png);
    top: 48%;
  }
}
@media screen and (max-width: 768px) {
  .section_cases .head_wrapper::after {
    display: none;
  }
}
.section_cases .head_img {
  background-image: url(../../../../../../images/02_top/cases_img.png);
}
.section_head-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: fit-content;
}
.section_cases .section_contents {
  position: relative;
}
.section_cases .section_contents::after {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_cases02.png);
  bottom: -8%;
  right: 0;
}
@media screen and (max-width: 1920px) {
  .section_cases .section_contents::after {
    content: url(../../../../../../images/02_top/Circle_bg_cases02-s.png);
  }
}
@media screen and (max-width: 1280px) {
  .section_cases .section_contents::after {
    content: url(../../../../../../images/02_top/Circle_bg_cases02-ss.png);
  }
}
@media screen and (max-width: 768px) {
  .section_cases .section_contents::after {
    bottom: -4%;
  }
}
.section_cases .section_contents p.p_desc {
  padding: 80px 11% 0;
}
.section_cases .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 40px;
  padding: 80px 11%;
  position: relative;
  z-index: 2;
}
.case_client.flex_row {
  justify-content: space-between;
  padding: 0 1% 1rem;
  align-items: flex-start;
}
.case_container.case_cont-lower {
  width: 100%;
}
.client_JP .client_logo {
  max-width: 240px;
}
.client_nflag {
  max-width: 2.5rem;
}
.case_container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.client_logo.client_K {
  max-width: 180px;
}
.modal-open:hover {
  transform: scale(1.05);
  transition: 0.25s;
}
/* modal window */
.modal-open {
  max-width: 500px;
  padding-bottom: 80px;
  cursor: pointer;
  margin: 0 auto;
  transition: 0.3s;
  z-index: 2;
}
/* モーダルと背景の指定 */
.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0, 0, 0, 0.72);
  padding: 40px 20px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  box-sizing: border-box;
  /* overflow-y: scroll; */
}

/* モーダルの擬似要素の指定 */
.modal-container:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  margin-left: -0.2em;
}

/* クラスが追加された時の指定 */
.modal-container.active {
  opacity: 1;
  visibility: visible;
  z-index: 10000;
}

/* モーダル内側の指定 */
.modal-body {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 900px;
  width: 90%;
}

/* モーダルを閉じるボタンの指定 */
.modal-close {
  font-size: 2rem;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  color: var(--accent-blue);
  background: var(--accent-brown);
  border-radius: 50%;
  cursor: pointer;
}

/* モーダルのコンテンツ部分の指定 */
.modal-content {
  background-image: url(../../../../../../images/02_top/section_bg.jpg);
  background-repeat: repeat;
  text-align: left;
  line-height: 1.8;
  padding: 80px 0 80px 80px;
}
.modal-content h5 {
  line-height: 1.2;
  margin-bottom: 40px;
}
.modal-content h4 {
  margin-right: 80px;
}
.modal-content .QaA {
  margin: 40px 0 80px 0;
  line-height: 1.2;
}
.modal-content .QaA_container {
  margin-top: 24px;
}

.modal-content .q_p {
  margin-bottom: 16px;
}
.modal-content .answer_box {
  width: 100%;
  padding: 16px 80px 16px 24px;
  background-color: var(--base-color);
}
.modal-content .section_container {
  padding-right: 11%;
}
.modal-content .section_container h4 {
  text-align: center;
  line-height: 1.1;
  margin-bottom: 2rem;
  margin-right: 0;
}
.modal-content .section_container .button a {
  margin-top: 32px;
  max-width: unset;
}
.modal-content .section_container .button a:after {
  right: 2rem;
}
.modal-content .section_container .button a:hover:after {
  right: 1.6rem;
}
@media screen and (min-width: 1600px) {
  .section_cases .grid {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: unset;
    gap: 40px;
    padding-bottom: 160px;
  }
  .modal-open {
    margin-top: 24px;
  }
}
@media screen and (max-width: 1024px) {
  .modal-content .q_p {
    margin-right: 32px;
    text-indent: -1.6rem;
    padding-left: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .modal-open {
    padding-right: 12%;
    max-width: 400px;
  }
  .modal-content {
    padding: 40px 0 40px 8%;
  }
  .section_cases .section_contents {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .section_cases .grid {
    display: flex;
    flex-direction: column;
    width: 88%;
  }
  .case_client.flex_row {
    align-items: flex-end;
  }
}
@media screen and (max-width: 500px) {
  .modal-open {
    max-width: 360px;
  }
  .modal-content .flex_row {
    margin-right: 8%;
    justify-content: space-between;
  }
  .modal-content h4 {
    margin-right: 16px;
  }
  .modal-content .q_p {
    margin-right: 16px;
  }
  .modal-content .answer_box {
    padding: 16px;
  }
  .client_logo.client_K {
    max-width: 160px;
  }
  .client_nflag {
    width: 2rem;
  }
  .client_JP .case_client.flex_row,
  .client_K .case_client.flex_row {
    flex-direction: column;
    align-items: flex-start;
  }
  .client_JP .case_client.flex_row .client_nflag,
  .client_K .case_client.flex_row .client_nflag {
    align-self: flex-end;
  }
}
/*----------------- Our Business ---------------- */
.section_business .head_wrapper::after {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_business.png);
  top: -8%;
  left: 0;
  opacity: 0.64;
}
@media screen and (max-width: 1600px) {
  .section_business .head_wrapper::after {
    content: url(../../../../../../images/02_top/Circle_bg_business-s.png);
    top: -16%;
  }
}
@media screen and (max-width: 1280px) {
  .section_business .head_wrapper::after {
    content: url(../../../../../../images/02_top/Circle_bg_business-ss.png);
    top: -24%;
  }
}
@media screen and (max-width: 768px) {
  .section_business .head_wrapper::after {
    display: none;
  }
}
.section_business .head_img {
  background-image: url(../../../../../../images/02_top/our_business_img.png);
}
.section_business .head_wrapper .section_head-container {
  top: 45%;
}
.section_business h5 {
  font-weight: 300;
  margin-bottom: 40px;
}
.section_business .text_area {
  margin-top: -160px;
}
.section_business .text {
  margin-top: 24px;
}
@media screen and (max-width: 1600px) {
  .section_business h5 {
    margin-top: 60px;
  }
}
@media screen and (max-width: 1280px) {
  .section_business .text_area {
    margin-top: -120px;
  }
}
@media screen and (max-width: 1000px) {
  .section_business .text_area {
    position: relative;
    z-index: 2;
  }
}
@media screen and (max-width: 768px) {
  .section_business .text_area {
    margin-top: -40px;
  }
}
@media screen and (max-width: 500px) {
  .section_business .text_area h5 {
    letter-spacing: 0.025em;
  }
}
/*----------------- Company ---------------- */
.section_company .head_wrapper::before {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_company01.png);
  top: -8%;
  left: 0;
  opacity: 0.64;
}
.section_company .head_wrapper::after {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_company02.png);
  bottom: -40%;
  right: 0;
  opacity: 0.64;
}
@media screen and (max-width: 1920px) {
  .section_company .head_wrapper::after {
    content: url(../../../../../../images/02_top/Circle_bg_company02-s.png);
    bottom: -48%;
  }
}
@media screen and (max-width: 1600px) {
  .section_company .head_wrapper::before {
    content: url(../../../../../../images/02_top/Circle_bg_company01-s.png);
    top: -16%;
  }
}
@media screen and (max-width: 1440px) {
  .section_company .head_wrapper::after {
    content: url(../../../../../../images/02_top/Circle_bg_company02-ss.png);
    bottom: -56%;
  }
}
@media screen and (max-width: 1280px) {
  .section_company .head_wrapper::before {
    content: url(../../../../../../images/02_top/Circle_bg_company01-ss.png);
    top: -24%;
  }
  .section_company .head_wrapper::after {
    bottom: inherit;
    top: 72%;
  }
}
@media screen and (max-width: 768px) {
  .section_company .head_wrapper::after {
    display: none;
  }
}
.section_company .head_img {
  background-image: url(../../../../../../images/02_top/company_img.png);
  background-size: contain;
}
.section_company .contents_area {
  margin-top: 80px;
}
.contents_title {
  position: relative;
  width: 100%;
}
.contents_title .bg_bar {
  position: absolute;
  background-color: rgba(177, 194, 205, 0.32);
  right: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.contents_title .bg_bar::before {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--base-color);
  width: 7.2%;
  height: 100%;
  z-index: 0;
}
/* contents_area */
.contents_wrapper {
  display: flex;
  position: relative;
  width: 100%;
}
.section_company .contents_wrapper {
  padding-right: 11%;
  padding-top: 40px;
}
.section_company .contents_wrapper.rv {
  padding-right: 0;
  padding-left: 11%;
}
.section_company .contents_container {
  width: 80%;
  padding-left: 8%;
}
.area_message .contents_container {
  width: 72%;
}
.area_overview .contents_container {
  padding-left: 7.2%;
}
.contents_img {
  position: absolute;
  z-index: -1;
  margin-left: -11%;
  width: 50%;
  aspect-ratio: 16 / 9;
  background-image: url(../../../../../../images/02_top/message_img.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.contents_img.contents_OV {
  right: 0;
  background-image: url(../../../../../../images/02_top/overview_img.png);
}
.contents_img.contents_H {
  background-image: url(../../../../../../images/02_top/history_img.png);
}
/* message */
@media screen and (min-width: 1920px) {
  .area_message .contents_container {
    margin-left: 40%;
    font-size: 1vw;
  }
}
.area_message .contents_container {
  margin-left: 27%;
}
.area_message .contents_container p {
  padding-top: 40px;
}
.area_overview {
  position: relative;
}
.area_overview::before {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_company03.png);
  top: -8%;
  left: 0;
  opacity: 0.64;
}
.area_overview::after {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_company04.png);
  bottom: -40%;
  right: 0;
  opacity: 0.64;
}
@media screen and (max-width: 1920px) {
  .area_overview::after {
    content: url(../../../../../../images/02_top/Circle_bg_company04-s.png);
    bottom: -48%;
  }
}
@media screen and (max-width: 1600px) {
  .area_overview::before {
    content: url(../../../../../../images/02_top/Circle_bg_company03-s.png);
    top: -16%;
  }
}
@media screen and (max-width: 1440px) {
  .area_overview::after {
    content: url(../../../../../../images/02_top/Circle_bg_company04-ss.png);
    bottom: -56%;
  }
}
@media screen and (max-width: 1280px) {
  .area_overview::before {
    content: url(../../../../../../images/02_top/Circle_bg_company03-ss.png);
    top: -24%;
  }
  .area_overview::after {
    bottom: inherit;
    top: 72%;
  }
}
@media screen and (max-width: 1024px) {
  .area_message .contents_container {
    margin-left: 24%;
  }
}
@media screen and (max-width: 768px) {
  .area_message .contents_container {
    margin-left: 6.4%;
    width: 84%;
  }
  .area_overview::after {
    display: none;
  }
}
@media screen and (max-width: 390px) {
  .area_message .contents_container {
    margin-left: 0;
    width: 88%;
  }
  .area_message .contents_container p {
    padding-top: 184px;
  }
}

/* table */
#table_ov th,
#table_history th,
#table_ov td,
#table_history td {
  padding: 8px 0;
  vertical-align: text-top;
}
th {
  width: 32%;
  text-align: left;
  color: var(--accent-blue);
}
#table_ov th {
  white-space: nowrap;
  margin-right: clamp(24px, 40px, 1.5vw);
  display: block;
  width: 32%;
  max-width: 160px;
}
#table_history th {
  white-space: nowrap;
  margin-right: clamp(24px, 40px, 1.5vw);
  display: block;
  width: 22%;
  min-width: 82px;
  max-width: 88px;
}
#table_history.table_his02 {
  margin-top: 180px;
}
.contents_container.table_container {
  width: 89%;
  max-width: initial;
  display: flex;
  justify-content: space-between;
}
.contents_container.table_container #table_history {
  width: 46%;
}
@media screen and (max-width: 1024px) {
  .contents_img {
    width: 64%;
  }
}
@media screen and (max-width: 768px) {
  .section_company .head_img {
    background-position: right 16px top;
  }
  .contents_img {
    width: 88%;
  }
  .area_overview .contents_container {
    padding-left: 0;
    width: 88%;
  }
  .contents_container.table_container {
    flex-direction: column;
  }
  .area_history .contents_container.table_container {
    padding-top: 184px;
  }
  .contents_container.table_container #table_history {
    width: auto;
  }
  #table_history.table_his02 {
    margin-top: 0;
  }
  #table_ov tr,
  #table_history tr {
    display: block;
    padding-left: 24px;
    border-left: 0.75px solid var(--secondary-color);
  }
  #table_history th {
    position: relative;
  }
  #table_history th::before {
    content: "";
    display: block;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: -25px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--secondary-color);
  }
  #table_ov td,
  #table_history td {
    padding-top: 0;
    padding-bottom: 16px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 500px) {
  .section_company .head_img {
    opacity: 0.6;
  }
}
@media screen and (max-width: 390px) {
  #table_ov td,
  #table_history td {
    font-size: 0.875rem;
  }
}
/*----------------- News ---------------- */
.section_wrapper.section_news {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.news_wrapper {
  display: flex;
  flex-direction: column;
}
.news_container {
  margin-top: 40px;
}
a.news_link {
  display: flex;
  color: var(--font-color);
  align-items: baseline;
}
ul.news_list {
  list-style: none;
  margin: 0 0 40px;
  transition: 0.25s;
}
li.news_item {
  padding: 40px 0;
  border-bottom: 1px solid var(--sub-color);
  width: 100%;
}
ul.news_list:first-child {
  border-top: 1px solid var(--sub-color);
}
.news_date {
  margin-right: 40px;
  color: var(--sub-color);
}
.news_title {
  color: var(--font-color);
  transition: 0.25s;
}
a.news_link:hover .news_title {
  color: var(--accent-brown);
  font-weight: 400;
  transition: 0.3s;
}
/* read all */
a.read-more.news_link {
  display: inline-flex;
  color: var(--accent-blue);
  margin: 40px 24px;
  width: fit-content;
  position: relative;
}
a.read-more.news_link::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: -24px;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--accent-ybeige);
  transition: 0.3s;
}
a.read-more.news_link span {
  line-height: 1.6;
}
a.read-more.news_link span.arrow-r {
  width: 0.5rem;
  height: 0.5rem;
  border-width: 0.1rem;
  border-color: var(--sub-color);
}
a.read-more.news_link:hover::before {
  opacity: 0.7;
  left: -16px;
  transition: 0.25s;
}
a.read-more.news_link:hover span.arrow-r {
  border-color: var(--accent-brown);
}
@media screen and (max-width: 1024px) {
  .uSP_underline {
    text-decoration: underline solid var(--accent-blue);
  }
  a.news_link:hover .uSP_underline {
    text-decoration: underline solid var(--accent-brown);
  }
}
@media screen and (max-width: 768px) {
  .news_list li.news_item {
    padding: 32px 0;
  }
  a.read-more.news_link {
    margin: 0 24px;
  }
}
/*-----------------
archive-en-news.php, single-en-news.php
---------------- */
/* archive,single common */
.page_cover .headline_container {
  margin-top: 15rem;
}
.section_wrap {
  padding: 5rem 11%;
  width: 100%;
}
.dropdown-box {
  display: block;
  width: fit-content;
  margin-bottom: 80px;
}
select {
  padding: 8px;
  border-radius: 8px;
  border-color: var(--sub-color);
  color: var(--font-color);
  letter-spacing: 0.1em;
  margin-top: 4px;
  font-family: "Manrope", sans-serif;
}

/* ページネーション */
#archive nav.navigation.pagination {
  text-align: center;
  margin-bottom: 40px;
}
#archive .nav-links .page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#archive .nav-links a.page-numbers,
#archive .nav-links .current,
#archive .nav-links a.prev,
#archive .nav-links a.next,
#archive .nav-links .dots {
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  background: var(--base-color);
  color: var(--sub-color);
  border-radius: 50%;
  margin-right: 20px;
  font-size: 13px;
  border: 1px solid var(--accent-brown);
}
#archive .nav-links a.page-numbers:hover {
  color: var(--base-color);
  background-color: var(--accent-brown);
  border-color: var(--accent-brown);
  border-radius: 50%;
}
#archive .nav-links .current {
  background: var(--accent-blue);
  border: 1px solid var(--accent-blue);
  color: var(--base-color);
  padding: 0;
}
#archive .nav-links a.prev,
#archive .nav-links a.next {
  border: 1px solid var(--accent-brown);
  color: var(--accent-brown);
  position: relative;
}
#archive .nav-links a.prev {
  margin-right: 32px;
}
#archive .nav-links a.next {
  margin-right: 0;
  margin-left: 16px;
}
#archive .nav-links .next::before,
#archive .nav-links .prev::after {
  content: "";
  display: inline-block;
  width: 0.5px;
  height: 32px;
  background-color: var(--sub-color);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#archive .nav-links .next::before {
  left: -10px;
}
#archive .nav-links .prev::after {
  right: -10px;
}
#archive .nav-links .dots {
  background: transparent;
  border: none;
}
/*-------
--------- only single-en-news.php-------
-------*/
.section_container.article_wrapper {
  width: 60%;
  margin: 0 auto;
}
.article_container {
  width: 100%;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--sub-color);
}
.article_header-title {
  padding: 16px 0;
  margin-bottom: 24px;
}
.single_info .single_bottom_nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 40px 0;
  width: 100%;
}
.single_info .single_bottom_nav_back a {
  border: 0.75px solid var(--sub-color);
  background-color: var(--sub-color);
  color: var(--base-color);
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  font-weight: 500;
  padding: 8px 24px;
}
.single_bottom_nav_prev a,
.single_bottom_nav_next a {
  color: var(--accent-blue);
}
.single_info .single_bottom_nav_back a:hover {
  background-color: var(--base-color);
  color: var(--accent-blue);
}
.single_info .article_sentence a {
  text-decoration: underline;
}
.article_sentence {
  line-height: 1.6;
}
.article_content ul {
  padding: 1em;
  margin: 1em;
  list-style: disc;
}
.article_content p {
  margin-bottom: 16px;
}
@media screen and (max-width: 390px) {
  .single_info .single_bottom_nav_back a {
    padding: 8px;
  }
}
/*----------------- Contact Us ---------------- */
.section_contact-us {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.section_contact-us::before {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_contact01.png);
  right: 0;
  top: -5%;
  opacity: 0.64;
}
.section_contact-us::after {
  position: absolute;
  z-index: 1;
  content: url(../../../../../../images/02_top/Circle_bg_contact02.png);
  top: 48%;
  left: 0;
  opacity: 0.64;
}
@media screen and (max-width: 1440px) {
  .section_contact-us::before {
    content: url(../../../../../../images/02_top/Circle_bg_contact01-s.png);
  }
}
@media screen and (max-width: 768px) {
  .section_contact-us::before {
    content: url(../../../../../../images/02_top/Circle_bg_contact01-ss.png);
  }
  .section_contact-us::after {
    content: url(../../../../../../images/02_top/Circle_bg_contact02-ss.png);
    top: 80%;
    left: -4%;
  }
}
/* ----------------------------------- */
/* ---- contactフォーム関連 ---- */
/* ----------------------------------- */
/* wpcf7フォーム */
/* フォーム上の見出し部分 */
.form_head {
  color: var(--sub-color);
  background-color: var(--secondary-color);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 80px 0 0;
}
.form_heading {
  margin-bottom: 40px;
  font-weight: 400;
}
.form_head ul {
  color: var(--font-color);
  list-style-type: disc !important;
  list-style: inside;
}
/* 背景色 */
.contactForm_wrapper {
  align-items: center;
  display: flex;
  flex-direction: column;
  background-color: transparent;
  padding: 40px 0;
  width: fit-content;
}
/*  フォームの幅 */
.contactForm_container {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 600px;
  width: 80%;
}
/* 各項目の下部余白 */
.contact_item {
  margin: 16px 0;
}
.contact_item.form-message {
  margin-bottom: 0;
}

/* 項目名 */
.label {
  display: block;
}
.label p {
  display: flex;
  margin-bottom: 8px;
}
.label_tag-must {
  color: #ed1a3d;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.pp_text {
  border: solid 0.75px var(--secondary-color) !important;
  font-family: inherit;
  font-size: 1rem;
  padding: 16px;
  width: 100% !important;
}
.wpcf7 textarea {
  height: 240px;
}
.wpcf7 textarea:focus,
.wpcf7 input:focus {
  outline: none; /*ブラウザデフォルト枠線解除*/
  background: #fefefe;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
  border: 1px solid var(--accent-brown) !important;
  font-size: 1.125rem; /*入力文字の大きさ*/
}
.wpcf7 textarea:focus::placeholder,
.wpcf7 input:focus::placeholder {
  color: var(--secondary-color); /*プレースホルダーの文字の色*/
}
.wpcf7-not-valid-tip {
  /* 必須未入力項目下の文章 */
  color: #ed1a3d !important;
  font-size: 14px !important;
}
/* 個人情報の取り扱い方針 */
.contact_item.pp_area .pp_text {
  padding: 16px 0 0;
  border: none !important;
}

/* チェックボックス */
.checkbox_accept {
  margin: 0 auto;
}
/* ボタン */
.btn_submit {
  display: flex;
  text-align: center;
  margin-top: 32px;
  position: relative;
  justify-content: center;
}
.btn_submit:disabled {
  opacity: 0.5;
}
.btn_submit.submit-confirm,
.btn_submit-inner {
  position: relative;
  justify-content: center;
}

/* ローダー（スピナー）*/
.wpcf7 .wpcf7-spinner {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}
.btn_submit-inner .wpcf7-spinner {
  left: 35%;
}
.wpcf7 input[type="submit"],
.wpcf7 input.wpcf7-form-control.wpcf7-previous {
  background: transparent;
  border: 2px solid var(--accent-blue);
  border-radius: 50px;
  color: var(--accent-blue);
  cursor: pointer;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-align: center;
  transition: all 0.3s;
  font-weight: 500;
  padding: 16px 40px;
  width: fit-content;
  height: fit-content;
  font-size: 1.25rem;
}
.wpcf7 input.wpcf7-form-control.wpcf7-previous {
  border: 1px solid var(--accent-ybeige);
  color: var(--accent-ybeige);
  margin-left: 16px;
  font-weight: 400;
}
/* ボタンにホバーした時 */
.wpcf7 input[type="submit"]:hover {
  background-color: var(--accent-blue);
  border-color: var(--accent-blue);
  color: var(--base-color);
}
.wpcf7 input.wpcf7-form-control.wpcf7-previous:hover {
  background-color: var(--accent-ybeige);
  border-color: var(--accent-ybeige);
  color: var(--base-color);
}
.wpcf7-submit.has-spinner.wpcf7-active {
  pointer-events: none;
  opacity: 0.5;
}
/* cotact-confirm.php */
.confirm-head {
  margin-bottom: 16px;
}
.input-text {
  font-size: 120%;
  text-align: justify;
  text-indent: 1em;
  padding-top: 8px;
}
.wrap-text {
  padding-left: 1em;
}
.wpcf7 form.sent,
.wpcf7-mail-sent-ok,
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form .wpcf7-response-output {
  display: none !important;
}
/************* confirm **************/
.form_c-container {
  margin: 160px auto;
}

/* ************ complete ************ */
.form_c-container {
  margin: 160px auto;
  width: 55%;
  letter-spacing: var(--l-space-100);
  line-height: 1.7;
}
.complete-head {
  margin-bottom: 24px;
}
.form_c-container .flexbox_row {
  margin-top: 24px;
}
a.rthome span {
  color: var(--accent-brown);
}
