@charset "UTF-8";
/* ========================================
リセットCSS
======================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
  font-size: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
div {
  overflow-wrap: break-word;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

iframe {
  max-width: 100%;
  vertical-align: middle;
}

span {
  font: inherit;
  letter-spacing: inherit;
}

ul,
ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address {
  font: inherit;
}

input,
button,
textarea,
select {
  color: inherit;
  font: inherit;
  vertical-align: middle;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
}

/* ========================================
変数・関数
======================================== */
:root {
  --color-black: #000;
  --color-red: #ed7e87;
  --color-red-rgb: 237, 126, 136;
  --color-boder: #CCC;
  --font-base: "Noto Sans JP", sans-serif;
  --font-en: "Inter", "Noto Sans JP", sans-serif;
  --z-index-header: 10;
  --mg-pc: 4vw;
  --mg-sp: calc(28 / 375 * 100vw);
  --header-height-pc: 87px;
  --header-height-sp: 55px;
  --gradation-text: linear-gradient(179deg, #ED7E88 30%, #FEB38A 70%);
}

/* ========================================
mixin
======================================== */
/* ========================================
ベースCSS
======================================== */
body {
  color: var(--color-black);
  font-family: var(--font-base);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

/* CLEAR-FIX */
@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

/* ========================================
モジュール・パーツ m-
======================================== */
.m-inner-pc, .m-inner {
  width: calc(100vw - var(--mg-pc) * 2);
  max-width: 1242px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .m-inner-pc, .m-inner {
    width: calc(100vw - var(--mg-sp) * 2);
  }
}

@media screen and (max-width: 767px) {
  .m-inner-pc {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .m-inner-sp {
    width: calc(100vw - var(--mg-sp) * 2);
    margin-left: auto;
    margin-right: auto;
  }
}

.m-btn-boder {
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0 10px;
  height: 40px;
  padding: 0 40px;
  border: 1px solid var(--color-red);
  border-radius: 20px;
  color: var(--color-red);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .m-btn-boder {
    height: 44px;
    font-size: 18px;
  }
}
@media (hover: hover) {
  .m-btn-boder {
    transition: background-color 0.3s, color 0.3s;
  }
  .m-btn-boder:hover {
    color: #fff;
    background-color: var(--color-red);
  }
}
.m-btn-boder.-center {
  margin-left: auto;
  margin-right: auto;
}
.m-btn-boder.-external::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: url(/assets/image/common/icon_external.svg) center/contain no-repeat;
}
.m-btn-arrow {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0 6px;
  padding-right: 6px;
  color: var(--color-red);
  font-size: 16px;
  font-weight: 600;
}
@media (hover: hover) {
  .m-btn-arrow {
    transition: opacity 0.3s;
  }
  .m-btn-arrow:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .m-btn-arrow {
    font-size: 18px;
    padding-right: 0;
  }
}
.m-btn-arrow::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--color-red);
  border-right: 2px solid var(--color-red);
  transform: rotate(45deg);
}

.m-bg-white {
  padding-top: 1px;
  background: #fff;
}

.m-text-justify {
  text-align: justify;
}

.m-fadeIn {
  opacity: 0;
  transform: translateY(40px);
}
.m-fadeIn.is-on {
  opacity: 1;
  transform: translateY(0);
  transition: 1.4s;
}

.m-caption {
  margin-top: 2px;
  color: #999;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .m-caption {
    text-align: right;
  }
}

/* ========================================
補助的に使用 u-
======================================== */
@media screen and (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}

.u-ib {
  display: inline-block !important;
}

.u-text-center {
  text-align: center !important;
}
.u-text-left {
  text-align: left !important;
}
.u-text-right {
  text-align: right !important;
}

.u-color-red {
  color: var(--color-red);
}

/* ========================================
header
======================================== */
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: var(--header-height-pc);
  background: #fff;
  padding: 0 min(calc(32 / 1440 * 100vw), 32px);
  border-bottom: 1px solid #ccc;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-header);
}
@media screen and (max-width: 1024px) {
  .header {
    height: var(--header-height-sp);
    padding: 2px var(--mg-pc) 0;
    border-bottom: 0;
    position: fixed;
  }
}
@media screen and (max-width: 767px) {
  .header {
    padding-left: var(--mg-sp);
    padding-right: var(--mg-sp);
  }
}
@media screen and (max-width: 1024px) {
  .header_logo {
    width: 128px;
  }
}
.header > * {
  position: relative;
  z-index: 2;
}

.gNavBtn {
  display: none;
}
@media screen and (max-width: 1024px) {
  .gNavBtn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    margin-top: 4px;
  }
  .gNavBtn::before, .gNavBtn::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: var(--color-black);
    transition: 0.3s;
  }
  .is-navActive .gNavBtn::before {
    transform: translateY(4px) rotate(-45deg);
  }
  .gNavBtn::after {
    margin-top: 6px;
  }
  .is-navActive .gNavBtn::after {
    transform: translateY(-4px) rotate(45deg);
  }
}

@media screen and (max-width: 1024px) {
  .gNav {
    width: 100%;
    height: 100%;
    padding: 144px var(--mg-sp) 32px;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s 0s, visibility 0.3s 0.3s;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .gNav::-webkit-scrollbar {
    display: none;
  }
  .is-navActive .gNav {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s 0s, visibility 0.3s 0s;
  }
  .gNav::before {
    content: "";
    display: block;
    width: 100%;
    height: var(--header-height-sp);
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
  }
}
.gNav_primary {
  display: flex;
  align-items: center;
  gap: 0 24px;
}
@media screen and (max-width: 1024px) {
  .gNav_primary {
    flex-direction: column;
    align-items: flex-start;
    gap: 17px 0;
  }
  .gNav_primary li {
    width: 100%;
  }
}
.gNav_primary a {
  display: block;
  font-size: min(calc(14 / 1024 * 100vw), 16px);
  font-weight: 600;
}
@media screen and (max-width: 1024px) {
  .gNav_primary a {
    color: var(--color-black);
    font-size: 22px;
  }
}
@media (hover: hover) {
  .gNav_primary a {
    transition: color 0.3s;
  }
  .gNav_primary a:hover {
    color: var(--color-red) !important;
  }
}
@media screen and (max-width: 1024px) {
  .gNav_primary ._contact {
    display: none;
  }
}
.gNav_primary ._contact a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 7px;
  width: 155px;
  height: 35px;
  border-radius: 19px;
  border: 2px solid #000;
  transition: color 0.3s, background 0.3s, border-color 0.3s;
}
.gNav_primary ._contact a::before {
  content: "";
  display: block;
  width: 18px;
  height: 13px;
  background: url(/assets/image/common/icon_mail.svg) center/contain no-repeat;
  transition: background, 0.3s;
}
@media (hover: hover) {
  .gNav_primary ._contact a:hover {
    border-color: var(--color-red) !important;
    background-color: var(--color-red) !important;
    color: #fff !important;
  }
  .gNav_primary ._contact a:hover::before {
    background-image: url(/assets/image/common/icon_mail-white.svg) !important;
  }
}
@media screen and (min-width: 1025px) {
  .gNav_spApp {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .gNav_spApp {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px 0;
    margin-top: 44px;
  }
  .gNav_spApp .l-app {
    width: 100%;
  }
  .gNav_spApp .l-app-tel {
    height: 110px;
  }
  .gNav_spApp .l-app-contact {
    height: 120px;
  }
}
@media screen and (max-width: 767px) {
  .gNav_spApp .l-app-tel {
    height: 96px;
  }
  .gNav_spApp .l-app-contact {
    height: 116px;
  }
}
.gNav_spContact {
  display: none;
}
@media screen and (max-width: 1024px) {
  .gNav_spContact {
    display: block;
  }
}
.gNav_foot {
  display: none;
}
@media screen and (max-width: 1024px) {
  .gNav_foot {
    display: flex;
    flex-direction: column;
    gap: 16px 0;
    margin-top: 55px;
    font-family: var(--font-en);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
  }
  .gNav_foot * {
    letter-spacing: -0.02em;
  }
  .gNav_foot a {
    display: inline-block;
  }
}
.gNav_copyright {
  display: block;
  font-size: 14px;
}

/* ========================================
footer
======================================== */
.footer {
  display: flex;
  justify-content: space-between;
  margin-top: 200px;
  padding: 59px 40px 24px 38px;
  border-top: 1px solid var(--color-boder);
  position: relative;
}
@media screen and (max-width: 767px) {
  .footer {
    display: block;
    margin-top: 83px;
    padding: 46px var(--mg-sp) 30px;
  }
}
.footer_catch {
  font-family: var(--font-en);
  font-size: min(calc(149 / 1440 * 100vw), 149px);
  font-weight: 600;
  line-height: 0.85;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .footer_catch {
    width: calc(100% + 0.03em);
    margin-left: -0.06em;
    font-size: min(calc(80 / 375 * 100vw), 80px);
  }
}
.footer_topto {
  display: block;
  padding-top: 45px;
  background: url(/assets/image/common/footer_topto.svg) center top/auto no-repeat;
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -0.02em;
  position: absolute;
  top: 48px;
  right: 42px;
}
@media screen and (max-width: 767px) {
  .footer_topto {
    top: 22px;
    right: 28px;
  }
}
.footer_nav {
  margin-top: 200px;
  padding-right: 34px;
}
@media screen and (max-width: 767px) {
  .footer_nav {
    margin-top: 63px;
    padding-right: 0;
  }
}
.footer_nav ul {
  display: grid;
  grid-template-columns: auto auto;
  gap: 4px 47px;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .footer_nav ul {
    grid-template-columns: 50% 50%;
    gap: 10px 8px;
    font-size: 18px;
  }
}
.footer_foot {
  display: flex;
  justify-content: space-between;
  gap: 15px 10px;
  margin-top: 90px;
  padding-right: 5px;
}
@media screen and (max-width: 767px) {
  .footer_foot {
    flex-wrap: wrap;
    margin-top: 28px;
    padding-right: 0;
  }
}
.footer_foot * {
  font-family: var(--font-en);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .footer_foot * {
    font-size: 14px;
  }
}
.footer_copyright {
  display: block;
}

/* ========================================
メニュー
======================================== */
/* ========================================
共通で使うレイアウト l-
======================================== */
.l-main {
  padding-top: var(--header-height-pc);
}
@media screen and (max-width: 1024px) {
  .l-main {
    padding-top: var(--header-height-sp);
  }
}

.l-heightFull {
  height: 100vh;
}
@media (hover: hover) {
  .l-heightFull {
    height: 100vh !important;
  }
}

.l-text_enTtl {
  color: var(--color-red);
  font-family: var(--font-en);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .l-text_enTtl.l-text_enTtl-spDiff {
    padding-left: 10px;
    color: var(--color-black);
    font-size: min(calc(65.44 / 375 * 100vw), 65.44px);
    line-height: 0.9;
  }
}
.l-text_ttl {
  margin-top: 0.5em;
  font-size: clamp(28px , calc(38 / 1440 * 100vw), 38px);
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .l-text_ttl {
    margin-top: 0.55em;
    font-size: min(calc(32 / 375 * 100vw), 32px);
  }
}
@media screen and (max-width: 767px) {
  .l-text_ttl.l-text_ttl-spDiff {
    margin-top: 13px;
    padding-left: 14px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .l-text_ttl.l-text_ttl-spDiff-mtMin {
    margin-top: 5px;
  }
}
.l-text_desc {
  margin-top: 1.1em;
  font-size: clamp(16px , calc(18 / 1440 * 100vw), 18px);
  font-weight: 700;
  line-height: 1.5;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .l-text_desc {
    margin-top: 1.35em;
    font-size: 18px;
  }
}
.l-text_link {
  margin-top: 32px;
}

.l-linkList {
  display: flex;
  flex-wrap: wrap;
  gap: min(calc(45 / 1440 * 100vw), 45px) min(calc(32 / 1440 * 100vw), 32px);
}
@media screen and (max-width: 767px) {
  .l-linkList {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .l-linkList_cont {
    width: calc(100vw - var(--mg-sp) * 2);
    margin-left: auto;
    margin-right: auto;
    border-bottom: 1px solid #ccc;
  }
}
.l-linkList a {
  display: block;
}
@media screen and (max-width: 767px) {
  .l-linkList a {
    padding: 14px 0 23px;
  }
}
@media (hover: hover) {
  .l-linkList a .l-linkList_img img {
    transition: transform 0.3s;
  }
  .l-linkList a:hover .l-linkList_img img {
    transform: scale(1.06);
  }
}
@media screen and (min-width: 768px) {
  .l-linkList > * {
    width: calc((100% - min(calc(32 / 1440 * 100vw), 32px)) / 2);
  }
}
@media screen and (min-width: 768px) {
  .l-linkList .l-linkList_cont-large {
    width: 100%;
  }
}
.l-linkList_img {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-linkList_img {
    display: none;
  }
}
.l-linkList_img img {
  width: 100%;
}
.l-linkList_textBox {
  padding: 7px 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .l-linkList_textBox {
    padding: 0;
  }
}
.l-linkList_textBox::after {
  content: "";
  display: block;
  width: 35px;
  height: 26px;
  background: url(/assets/image/common/link_arrow.svg) center right/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-75%);
}
@media screen and (max-width: 767px) {
  .l-linkList_textBox::after {
    transform: translateY(-45%);
  }
}
.l-linkList_contTtl {
  font-size: clamp(30px , calc(38 / 1440 * 100vw), 38px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .l-linkList_contTtl {
    font-size: min(calc(24 / 375 * 100vw), 24px);
  }
}
.l-linkList_enTtl {
  margin-top: 0.4em;
  color: var(--color-red);
  font-family: var(--font-en);
  font-size: clamp(16px , calc(18 / 1440 * 100vw), 18px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .l-linkList_enTtl {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .l-linkList .l-linkList_link {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-linkList .l-linkList_link {
    margin-top: 12px;
  }
}
.l-linkList-col3 {
  gap: min(calc(45 / 1440 * 100vw), 45px) 2.5362318841%;
}
@media screen and (min-width: 768px) {
  .l-linkList-col3 > * {
    width: 31.6425120773%;
  }
}

.l-newsList {
  border-top: 1px solid var(--color-boder);
}
.l-newsList li {
  border-bottom: 1px solid var(--color-boder);
}
.l-newsList a {
  display: flex;
  align-items: center;
  padding: 19px 0;
  font-size: 14px;
  line-height: 1.45;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-newsList a {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    font-size: 16px;
  }
}
.l-newsList a::before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid var(--color-red);
  border-right: 2px solid var(--color-red);
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%) rotate(45deg);
}
.l-newsList_time {
  width: 88px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .l-newsList_time {
    width: 98px;
  }
}
.l-newsList_cat {
  width: 104px;
  padding-right: 10px;
  font-weight: 600;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .l-newsList_cat {
    width: auto;
    padding-right: 0;
  }
}
.l-newsList_ttl {
  flex: 1;
  padding-right: 40px;
}
@media screen and (min-width: 768px) {
  .l-newsList_ttl {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    word-break: break-all;
  }
}
@media screen and (max-width: 767px) {
  .l-newsList_ttl {
    grid-column: 1/3;
    grid-row: 2/3;
    margin-top: 13px;
  }
}

.l-commContact {
  padding-top: 162px;
  max-width: 920px;
}
@media screen and (max-width: 767px) {
  .l-commContact {
    padding-top: 80px;
  }
}
.l-commContact_head {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-commContact_head .l-text_enTtl {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .l-commContact_head .l-text_ttl {
    margin-top: 0.1em;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) {
  .l-commContact_head .l-text_ttl {
    margin-top: 0.25em;
  }
}
.l-commContact_container {
  display: flex;
  gap: 24px 3.4782608696%;
  margin-top: 47px;
}
@media screen and (max-width: 767px) {
  .l-commContact_container {
    align-items: center;
    flex-direction: column;
    margin-top: 24px;
  }
}
.l-commContact_container > * {
  width: 48.2608695652%;
}
@media screen and (max-width: 767px) {
  .l-commContact_container > * {
    width: 100%;
  }
}

.l-app {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  height: 149px;
  padding-left: 40px;
  border-radius: 14px;
  box-shadow: 0px 0px 24px 0px rgba(227, 227, 227, 0.8);
}
@media screen and (max-width: 767px) {
  .l-app {
    width: 100%;
    max-width: 350px;
    border-radius: 10px;
    box-shadow: 0px 0px 17px 0px rgba(227, 227, 227, 0.8);
  }
}
.l-app-tel {
  padding-left: min(10.0260416667vw, 110px);
  background: url(/assets/image/common/app_tel.svg) left min(3.3723958333vw, 37px) center/min(4.5377604167vw, 41px) auto no-repeat;
}
@media screen and (max-width: 767px) {
  .l-app-tel {
    height: 114px;
    padding-left: min(calc(74 / 375 * 100vw), 74px);
    background-size: min(calc(30 / 375 * 100vw), 30px) auto;
    background-position: left min(calc(23 / 375 * 100vw), 23px) center;
  }
}
.l-app-contact {
  padding-bottom: 4px;
  padding-left: min(12.578125vw, 138px);
  background: url(/assets/image/common/app_mail.svg) left min(4.1927083333vw, 46px) center/min(5.3125vw, 48px) auto no-repeat;
}
@media screen and (max-width: 767px) {
  .l-app-contact {
    height: 128px;
    padding-left: min(calc(84 / 375 * 100vw), 84px);
    background-size: min(calc(35 / 375 * 100vw), 35px) auto;
    background-position: left min(calc(25 / 375 * 100vw), 25px) center;
  }
}
.l-app_ttl {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .l-app_ttl {
    font-size: 13px;
  }
}
.l-app_telNum {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .l-app_telNum {
    margin-top: 6px;
  }
}
.l-app_telNum a {
  display: inline-block;
  font-family: var(--font-en);
  font-size: min(4.453125vw, 38px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .l-app_telNum a {
    font-size: min(calc(32 / 375 * 100vw), 32px);
  }
}
.l-app_btn {
  margin-top: 9px;
}
.l-app_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  height: 42px;
  padding: 0 40px;
  border: 2px solid var(--color-black);
  border-radius: 20px;
  color: var(--color-black);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
}
@media (hover: hover) {
  .l-app_btn a {
    transition: background-color 0.3s, color 0.3s;
  }
  .l-app_btn a:hover {
    color: #fff;
    background-color: var(--color-black);
  }
}

.l-commonTechnique {
  margin-top: min(calc(138 / 1440 * 100vw), 138px);
}
@media screen and (max-width: 767px) {
  .l-commonTechnique {
    margin-top: 121px;
  }
}
.l-commonTechnique_spMain {
  margin-top: -2.9vw;
  position: relative;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .l-commonTechnique_head .l-text_enTtl {
    font-size: clamp(17.6px , calc(22 / 1440 * 100vw), 22px);
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .l-commonTechnique_head .l-text_ttl {
    margin-top: 0.1em;
    font-size: clamp(36.8px , calc(46 / 1440 * 100vw), 46px);
    text-align: center;
  }
}
.l-commonTechnique_head .l-text_desc {
  text-align: center;
}
.l-commonTechnique_list {
  margin-top: 43px;
}
@media screen and (max-width: 767px) {
  .l-commonTechnique_list {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .l-commonTechnique .l-linkList_textBox {
    padding-top: 18px;
  }
  .l-commonTechnique .l-linkList_textBox::after {
    transform: translateY(-63%);
  }
}
@media screen and (min-width: 768px) {
  .l-commonTechnique .l-linkList_contTtl {
    font-size: clamp(20px , calc(25 / 1440 * 100vw), 25px);
  }
}
@media screen and (min-width: 768px) {
  .l-commonTechnique .l-linkList_enTtl {
    margin-top: 0.5em;
  }
}
@media screen and (min-width: 768px) {
  .l-commonTechnique.-large {
    max-width: 920px;
  }
}

.l-pageLink_ttl {
  line-height: 1;
  background: var(--gradation-text);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-bottom: 0.1em;
  font-family: var(--font-en);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.l-pageLink_list {
  margin-top: 29px;
}
.l-pageLink_list li + li {
  margin-top: 29px;
}
.l-pageLink_list a {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-pageLink_list a {
    align-items: flex-start;
    position: relative;
    padding-right: 40px;
  }
}
.l-pageLink_conTtl {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0 15px;
  font-size: min(calc(20 / 375 * 100vw), 20px);
  font-weight: 700;
  line-height: 1.3;
}
.l-pageLink_conTtl > span {
  display: block;
}
.l-pageLink_conTtl::after {
  content: "";
  display: block;
  width: 17px;
  min-width: 17px;
  max-width: 17px;
  height: 12px;
  max-height: 12px;
  min-height: 12px;
  background: url(/assets/image/aboutus/strength_arrow.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 19px;
  transform: translateY(-50%);
}
.l-pageLink_num {
  line-height: 1;
  background: var(--gradation-text);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  width: min(calc(76 / 375 * 100vw), 76px);
  font-family: var(--font-en);
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
}

.l-inPageHead {
  margin-top: min(calc(178 / 1440 * 100vw), 178px);
}
@media screen and (max-width: 767px) {
  .l-inPageHead {
    margin-top: 118px;
  }
}
.l-inPageHead_enTtl {
  color: var(--color-red);
  font-family: var(--font-en);
  font-size: clamp(14.4px , calc(18 / 1440 * 100vw), 18px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .l-inPageHead_enTtl {
    font-size: 14px;
  }
}
.l-inPageHead_ttl {
  margin-top: 0.26em;
  font-size: clamp(40px , calc(50 / 1440 * 100vw), 50px);
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .l-inPageHead_ttl {
    margin-top: 0.25em;
    font-size: min(calc(32 / 375 * 100vw), 32px);
  }
}
.l-inPageHead_text {
  max-width: 600px;
  margin-top: 1.8em;
  font-size: clamp(15px , calc(17 / 1440 * 100vw), 17px);
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .l-inPageHead_text {
    margin-top: 1.5em;
    font-size: 17px;
    line-height: 1.5;
  }
}

.l-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 33px;
  margin-top: 73px;
  color: var(--color-red);
  font-family: var(--font-en);
  font-size: 20px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .l-breadcrumb {
    font-size: 24px;
    gap: 0 min(calc(39 / 375 * 100vw), 39px);
  }
}
.l-breadcrumb * {
  letter-spacing: -0.02em;
}
.l-breadcrumb a {
  color: var(--color-black);
}
.l-breadcrumb_prev, .l-breadcrumb_next {
  transform: translateY(-2px);
}
@media screen and (max-width: 767px) {
  .l-breadcrumb_prev img, .l-breadcrumb_next img {
    width: 23px;
  }
}
@media screen and (min-width: 768px) {
  .l-breadcrumb_prev {
    margin-right: 4px;
  }
}
@media screen and (min-width: 768px) {
  .l-breadcrumb_next {
    margin-left: 4px;
  }
}

.l-breadcrumbDetail {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-top: 42px;
  font-size: 16px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .l-breadcrumbDetail {
    margin-top: 51px;
    font-size: 18px;
  }
}
.l-breadcrumbDetail_prev, .l-breadcrumbDetail_next {
  display: flex;
  align-items: center;
  gap: 0 12px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.l-breadcrumbDetail_prev img, .l-breadcrumbDetail_next img {
  transform: translateY(1px);
}
@media screen and (max-width: 767px) {
  .l-breadcrumbDetail_prev img, .l-breadcrumbDetail_next img {
    width: 23px;
  }
}
.l-breadcrumbDetail_prev {
  left: 0;
}
@media screen and (max-width: 767px) {
  .l-breadcrumbDetail_prev {
    left: 11px;
  }
}
.l-breadcrumbDetail_next {
  right: 0;
}
@media screen and (max-width: 767px) {
  .l-breadcrumbDetail_next {
    right: 11px;
  }
}

.l-catSelect {
  display: flex;
  justify-content: space-between;
}
.l-catSelect > * {
  width: calc(154 / 375 * 100vw);
}
.l-catSelect select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 48px;
  border: 1px solid var(--color-boder);
  padding: 0 30px 0 15px;
  background: url(/assets/image/common/select_arrow.svg) right 12px center/auto no-repeat;
  font-size: 16px;
  font-weight: 600;
}

.l-post {
  padding-bottom: min(calc(120 / 1440 * 100vw), 120px);
  border-bottom: 1px solid var(--color-boder);
}
@media screen and (max-width: 767px) {
  .l-post {
    padding-bottom: 54px;
  }
}
.l-post_head {
  display: flex;
  gap: 5px 13px;
  margin-top: -7px;
}
@media screen and (max-width: 767px) {
  .l-post_head {
    gap: 5px 7px;
  }
}
.l-post_head * {
  display: block;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .l-post_head * {
    font-size: 16px;
  }
}
.l-post_cat {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0 8px;
}
.l-post_cat > * {
  display: inline-block;
  word-break: break-all;
}
.l-post_mainTtl {
  margin-top: 0.7em;
  font-size: clamp(28px , calc(34 / 1440 * 100vw), 34px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .l-post_mainTtl {
    font-size: 30px;
    line-height: 1.3;
  }
}
.l-post_cont {
  margin-top: 40px;
  font-size: 16px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .l-post_cont {
    margin-top: 32px;
  }
}
.l-post_cont > * {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .l-post_cont > * {
    margin-top: 33px;
  }
}
.l-post_cont > *:first-child {
  margin-top: 0 !important;
}
.l-post_cont > *:last-child {
  margin-bottom: 0 !important;
}

.l-postBlock_text a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.l-postBlock_maker-red {
  background: rgba(var(--color-red-rgb), 0.42);
}
.l-postBlock_link {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .l-postBlock_link {
    margin-top: 29px;
  }
}
.l-postBlock_link + .l-postBlock_link {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .l-postBlock_link + .l-postBlock_link {
    margin-top: 30px;
  }
}
.l-postBlock_link dt {
  color: var(--color-red);
  font-weight: 700;
}
.l-postBlock_link dd a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
  word-break: break-all;
}
.l-postBlock_link.-pdf a::after {
  content: "PDF";
  display: inline-block;
  width: 47px;
  margin-left: 12px;
  border: 2px solid var(--color-red);
  color: var(--color-red);
  font-size: 14px;
  font-weight: 500;
  line-height: 19px;
  text-align: center;
}
.l-postBlock_ttl {
  margin-top: 65px;
  font-size: clamp(20px , calc(24 / 1440 * 100vw), 24px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .l-postBlock_ttl {
    margin-top: 44px;
    font-size: 24px;
    line-height: 1.3;
  }
}
.l-postBlock_ttl + .l-postBlock_text {
  margin-top: 23px;
}
@media screen and (max-width: 767px) {
  .l-postBlock_ttl + .l-postBlock_text {
    margin-top: 33px;
  }
}
.l-postBlock_imgBox {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px 2.6086956522%;
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .l-postBlock_imgBox {
    flex-direction: column;
    margin-bottom: 0;
  }
}
.l-postBlock_imgBox > * {
  width: 1fr;
}
@media screen and (max-width: 767px) {
  .l-postBlock_imgBox > * {
    width: 100%;
  }
}
.l-postBlock_imgBox img {
  width: 100%;
}
.l-postBlock_embedded {
  margin-bottom: 65px;
  padding-top: 56.25%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-postBlock_embedded {
    margin-top: 76px;
  }
}
.l-postBlock_embedded iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .l-form {
    border-top: 1px solid var(--color-boder);
  }
}
.l-form dl {
  display: flex;
  border-top: 1px solid var(--color-boder);
  padding: 28px 0 27px;
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .l-form dl {
    display: block;
    border-top: 0;
    margin-top: 26px;
    padding: 0;
  }
}
.l-form dt {
  width: 32.1256038647%;
  padding-top: 3px;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .l-form dt {
    width: 100%;
    font-size: 16px;
  }
}
.l-form dd {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .l-form dd {
    margin-top: 11px;
  }
}
.l-form input,
.l-form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  width: 100%;
  max-width: 440px;
  height: 38px;
  margin: 0;
  padding: 5px 8px;
  background: none;
  box-shadow: none;
  border: 1px solid var(--color-boder);
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  outline: none;
}
@media screen and (max-width: 767px) {
  .l-form input,
  .l-form textarea {
    height: 48px;
    padding: 11px 15px;
  }
}
.l-form input::-moz-placeholder, .l-form textarea::-moz-placeholder {
  color: #C9CACA;
}
.l-form input::placeholder,
.l-form textarea::placeholder {
  color: #C9CACA;
}
.l-form input.-large,
.l-form textarea.-large {
  max-width: 680px;
}
.l-form textarea {
  height: 221px;
  resize: vertical;
  form-sizing: content;
}
@media screen and (max-width: 767px) {
  .l-form textarea {
    height: 318px;
  }
}
.l-form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  max-width: 440px;
  height: 38px;
  border: 1px solid var(--color-boder);
  padding: 0 30px 0 8px;
  background: url(/assets/image/common/select_arrow.svg) right 12px center/auto no-repeat;
  font-size: 16px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .l-form select {
    height: 48px;
  }
}
.l-form_checkbox input[type=radio],
.l-form_checkbox input[type=checkbox] {
  display: none;
}
.l-form_checkbox label {
  display: block;
  cursor: pointer;
}
.l-form_checkbox span {
  display: inline-block;
  position: relative;
  padding-left: 30px;
}
.l-form_checkbox span::before, .l-form_checkbox span::after {
  content: "";
  display: block;
  border-radius: 2px;
  position: absolute;
}
.l-form_checkbox span::before {
  width: 18px;
  height: 18px;
  border: 1px solid #999;
  top: 6px;
  left: 0;
}
.l-form_checkbox span::after {
  width: 8px;
  height: 14px;
  border-right: 3px solid #999;
  border-bottom: 3px solid #999;
  top: 7px;
  left: 5px;
  transform: rotate(45deg);
  opacity: 0;
}
.l-form_checkbox input:checked + span::after {
  opacity: 1;
}
.l-form_privacy {
  display: flex;
  justify-content: center;
  margin-top: 12px;
  padding-top: 45px;
  border-top: 1px solid var(--color-boder);
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .l-form_privacy {
    margin-top: 44px;
    padding-top: 0;
    border-top: 0;
    font-size: 17px;
  }
}
.l-form_rec {
  margin-left: 5px;
  color: var(--color-red);
}
@media screen and (max-width: 767px) {
  .l-form_rec {
    width: 36px;
    font-size: 12px;
    line-height: 15px;
  }
}
.l-form_appBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px 20px;
  margin-top: 38px;
}
@media screen and (max-width: 767px) {
  .l-form_appBox {
    flex-direction: column;
    margin-top: 42px;
  }
}
@media screen and (min-width: 768px) {
  .l-form_appBox .m-btn-boder {
    width: 224px;
    height: 56px;
    border-radius: 48px;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .l-form_appBox .m-btn-boder {
    min-width: 170px;
  }
}
.l-form_error {
  margin-top: 3px;
  color: var(--color-red);
  font-size: 13px;
}

/* ========================================
トップページ home
======================================== */
@media screen and (min-width: 1025px) {
  .homeHeader {
    transition: background 0.3s;
  }
  .homeHeader.is-white {
    background: none;
    border-bottom: 0;
  }
  .homeHeader.is-white .gNav_primary a {
    color: #fff;
  }
  .homeHeader.is-white .gNav_primary ._contact a {
    border-color: #fff;
  }
  .homeHeader.is-white .gNav_primary ._contact a::before {
    background-image: url(/assets/image/common/icon_mail-white.svg);
  }
}

.homeMv {
  position: relative;
  z-index: 1;
  background: #000;
}
@media screen and (max-width: 1024px) {
  .homeMv {
    padding-top: var(--header-height-sp);
  }
}
.homeMv_catch {
  font-family: var(--font-en);
  font-size: min(calc(149 / 1440 * 100vw), 180px);
  font-weight: 600;
  color: #FFF;
  line-height: 0.85;
  letter-spacing: -0.02em;
  position: absolute;
  left: 2.4%;
  bottom: 5.3%;
}
@media screen and (max-width: 767px) {
  .homeMv_catch {
    font-size: min(calc(70.26 / 375 * 100vw), 100px);
  }
}
.homeMv_video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}

.homeAbout {
  padding: 164px 0 90px;
  background: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .homeAbout {
    padding: 63px 0 108px;
  }
}
.homeAbout_enTtl {
  color: var(--color-red);
  font-family: var(--font-en);
  font-size: clamp(17.6px , calc(22 / 1440 * 100vw), 22px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .homeAbout_enTtl {
    font-size: 14px;
  }
}
.homeAbout_ttl {
  margin-top: 0.4em;
  font-size: clamp(36.8px , calc(46 / 1440 * 100vw), 46px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.01em;
}
@media screen and (max-width: 767px) {
  .homeAbout_ttl {
    font-size: min(calc(32 / 375 * 100vw), 32px);
    line-height: 1.3;
  }
}
.homeAbout_link {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .homeAbout_link {
    margin-top: 34px;
  }
}

.homeStrength .splide__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .homeStrength_head {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .homeStrength_headTextBox {
    margin-top: 9px;
    padding-right: 4px;
    text-align: right;
  }
}
@media screen and (max-width: 767px) {
  .homeStrength_headTextBox {
    display: flex;
    flex-direction: column-reverse;
    padding-left: 2px;
  }
}
.homeStrength_headImg img {
  width: 100%;
}
.homeStrength_ttl {
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .homeStrength_ttl {
    margin-top: 14px;
    padding-left: 2px;
  }
}
.homeStrength_ttl img {
  width: calc(646 / 1440 * 100vw);
}
@media screen and (max-width: 767px) {
  .homeStrength_ttl img {
    width: min(calc(330 / 375 * 100vw), 330px);
  }
}
.homeStrength_enTtl {
  margin-top: 0.35em;
  font-family: var(--font-en);
  font-size: calc(29 / 1440 * 100vw);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .homeStrength_enTtl {
    margin-top: 0;
    padding-left: 5px;
    color: var(--color-red);
    font-size: 16px;
  }
}
.homeStrength_container {
  margin: 119px 0 60px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .homeStrength_container {
    margin: 32px 0 0;
  }
}
.homeStrength_container .splide__slide.is-delay {
  transition-delay: 2s !important;
}
.homeStrength_container .splide .l-text_link {
  position: relative;
  z-index: 2;
}
.homeStrength_container .splide__arrows01 .splide__arrow {
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
}
@media screen and (max-width: 767px) {
  .homeStrength_container .splide__arrows01 .splide__arrow {
    display: none;
  }
}
.homeStrength_container .splide__arrows01 .splide__arrow[disabled] {
  display: none;
}
.homeStrength_container .splide__arrows01 .splide__arrow--prev {
  left: 0;
  cursor: url(/assets/image/home/click_prev.svg), default;
}
.homeStrength_container .splide__arrows01 .splide__arrow--next {
  right: 0;
  cursor: url(/assets/image/home/click_next.svg), default;
}
.homeStrength_container .homeStrength_secContBox {
  position: relative;
  z-index: 2;
  transform: translateY(-100%);
  opacity: 0;
  transition: 1s 0.2s;
}
@media screen and (min-width: 768px) {
  .homeStrength_container .homeStrength_secContBox {
    width: clamp(300px , calc(450 / 1440 * 100vw), 450px);
  }
}
@media screen and (max-width: 767px) {
  .homeStrength_container .homeStrength_secContBox {
    width: 100%;
    transition: 1s 1s;
    transform: translateY(0);
  }
}
.homeStrength_videoBox {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .homeStrength_videoBox {
    height: auto;
    padding-top: 48.5333333333vw;
    position: relative;
  }
}
.homeStrength_videoBox video {
  display: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.homeStrength_videoBox video:nth-child(1) {
  display: block;
}
.homeStrength_slide {
  position: relative;
}
.homeStrength_slide.is-noneClick {
  position: relative;
  z-index: 1;
}
.homeStrength_slide.is-noneClick::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
.homeStrength_cont {
  display: flex;
  align-items: center;
  height: max(48.6111111111vw, 480px);
  padding: 40px 6.4583333333vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .homeStrength_cont {
    display: block;
    padding: 80px var(--mg-sp) 30px;
  }
}
.homeStrength_cont .homeStrength_secContBox {
  margin-left: auto;
}
.homeStrength_cont.-reverse .homeStrength_secContBox {
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .homeStrength_cont:nth-child(2) .homeStrength_secContBox {
    width: clamp(300px , calc(400 / 1440 * 100vw), 400px);
  }
}
.homeStrength_slideNav {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 28px;
  position: absolute;
  top: calc(100% + 42px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
}
@media screen and (max-width: 767px) {
  .homeStrength_slideNav {
    top: 36px;
  }
}
.homeStrength_slideNavArrow {
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
}
@media screen and (max-width: 767px) {
  .homeStrength_slideNavArrow {
    width: 13px;
    height: 13px;
  }
}
.homeStrength_slideNavArrow--prev {
  left: 0;
  border-top: 3px solid var(--color-red);
  border-left: 3px solid var(--color-red);
  transform-origin: top left;
  transform: translateY(2px) rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .homeStrength_slideNavArrow--prev {
    transform: translateY(0) rotate(-45deg);
  }
}
.homeStrength_slideNavArrow--next {
  right: 0;
  border-top: 3px solid var(--color-red);
  border-right: 3px solid var(--color-red);
  transform-origin: top right;
  transform: translateY(2px) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .homeStrength_slideNavArrow--next {
    transform: translateY(0) rotate(45deg);
  }
}
.homeStrength .splide__pagination {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 0 8px;
  counter-reset: slidenum;
}
.homeStrength .splide__pagination li {
  line-height: 0;
}
.homeStrength .splide__pagination button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 64px;
  height: 5px;
  margin: 0;
  padding: 0;
  background: #B7B7B7;
  border: none;
  border: 0;
  border-radius: 0;
  line-height: 1;
  outline: none;
  cursor: pointer;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .homeStrength .splide__pagination button {
    width: min(calc(62 / 375 * 100vw), 62px);
  }
}
.homeStrength .splide__pagination button::before {
  counter-increment: slidenum;
  content: "0" counter(slidenum);
  display: block;
  width: 100%;
  padding: 7px 0;
  font-family: var(--font-en);
  font-size: 16px;
  font-weight: 500;
  color: #B7B7B7;
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .homeStrength .splide__pagination button::before {
    padding: 5px 0;
  }
}
.homeStrength .splide__pagination button.is-active {
  background-color: var(--color-red);
}
.homeStrength .splide__pagination button.is-active::before {
  color: var(--color-red);
}
.homeStrength .splide__slide.is-active .homeStrength_secContBox {
  opacity: 1;
  transform: translateY(0);
}
.homeStrength_hint {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 120px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: min(calc(30 / 375 * 100vw), 30px);
  left: 50%;
  z-index: 5;
  transform: translateX(-50%);
  transition: opacity 0.4s;
  opacity: 0;
}
.homeStrength_hint::before {
  content: "";
  display: block;
  width: 100%;
  height: 13px;
  background: url(/assets/image/common/hint_arrow.svg) center/auto no-repeat;
  position: absolute;
  top: 20px;
  left: 0;
}
.homeStrength_hint.is-active {
  opacity: 1;
}
.homeStrength_hint.is-active img {
  animation: hint 1.2s linear;
  animation-iteration-count: 2;
}
@keyframes hint {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}
.homeStrength_pcMoreLink {
  display: block;
  width: 160px;
  height: 40px;
  border-radius: 20px;
  position: absolute;
  z-index: 3;
}
.homeStrength_container2 .homeStrength_sec {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .homeStrength_container2 .homeStrength_sec.-sec02 .homeStrength_secContBox {
    width: clamp(300px , calc(400 / 1440 * 100vw), 400px);
  }
}
@media screen and (min-width: 768px) {
  .homeStrength_container2 .homeStrength_sec.-sec04 video {
    transform: translateX(6.5%);
  }
}
@media screen and (min-width: 768px) {
  .homeStrength_container2 .homeStrength_secContBox {
    width: clamp(300px , calc(450 / 1440 * 100vw), 450px);
    position: absolute;
    top: 50%;
    right: calc(93 / 1440 * 100vw);
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 767px) {
  .homeStrength_container2 .homeStrength_secContBox {
    padding: 30px var(--mg-sp) 80px;
  }
}
@media screen and (min-width: 768px) {
  .homeStrength_container2 .homeStrength_sec.-reverse .homeStrength_secContBox {
    right: auto;
    left: calc(93 / 1440 * 100vw);
  }
}
.homeStrength_container2 video {
  width: 100%;
  vertical-align: middle;
  opacity: 0;
  transition: 0.3s opacity;
}
.homeStrength_container2 video.is-played {
  opacity: 1;
}
.homeStrength_container2 .homeStrength_sec.-sec01 video {
  opacity: 1;
}
.homeStrength_container2 .l-text_ttl,
.homeStrength_container2 .l-text_desc {
  text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
}
.homeStrength_container2.-ani .homeStrength_sec .homeStrength_secContBox > * {
  transform: translateX(60px);
  opacity: 0;
  transition: transform 0.6s 0.6s, opacity 0.6s 0.6s;
}
@media screen and (max-width: 767px) {
  .homeStrength_container2.-ani .homeStrength_sec .homeStrength_secContBox > * {
    transform: translate(0, 40px);
  }
}
@media screen and (min-width: 768px) {
  .homeStrength_container2.-ani .homeStrength_sec.-reverse .homeStrength_secContBox > * {
    transform: translateX(-60px);
  }
}
.homeStrength_container2.-ani .homeStrength_sec .l-text_desc,
.homeStrength_container2.-ani .homeStrength_sec .l-text_link {
  transition-delay: 0.8s;
}
.homeStrength_container2.-ani .homeStrength_sec.is-active .homeStrength_secContBox > *, .homeStrength_container2.-ani .homeStrength_sec.is-active.-reverse .homeStrength_secContBox > * {
  transform: translateX(0);
  opacity: 1;
}
.homeStrength_container2.-ani .homeStrength_sec.is-active .m-btn-boder {
  background-color: var(--color-red);
  color: #fff;
}
@media (hover: hover) {
  .homeStrength_container2.-ani .homeStrength_sec.is-active .m-btn-boder:hover {
    background-color: #fff;
    color: var(--color-red);
  }
}
.homeStrength_container2.-ani .homeStrength_sec .m-btn-boder.is-show {
  transition-duration: 0.5s;
  transition-delay: 1.2s;
}
@media screen and (min-width: 768px) {
  .homeStrength .homeStrength_sec.-videoShift video {
    transform: translateX(5%);
  }
}

.homeConveyor {
  padding: 200px 0 0;
  background: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .homeConveyor {
    display: flex;
    flex-direction: column;
    padding-top: 41px;
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .homeConveyor .l-text_enTtl {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .homeConveyor .l-text_enTtl {
    order: -2;
  }
}
@media screen and (min-width: 768px) {
  .homeConveyor .l-text_ttl {
    margin-top: 0.3em;
    font-size: min(calc(50 / 1440 * 100vw), 50px);
  }
}
@media screen and (max-width: 767px) {
  .homeConveyor .l-text_ttl {
    order: -2;
  }
}
@media screen and (min-width: 768px) {
  .homeConveyor .l-text_desc {
    margin-top: 1.3em;
    text-align: center;
  }
}
.homeConveyor_img {
  margin-top: -5vw;
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .homeConveyor_img {
    margin-top: calc(-34 / 375 * 100vw);
    order: -1;
  }
}
.homeConveyor_img img {
  width: 100%;
}

.homeProduct {
  margin-top: 200px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .homeProduct {
    display: flex;
    flex-direction: column;
    margin-top: 121px;
  }
}
@media screen and (min-width: 768px) {
  .homeProduct_contBox {
    width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 767px) {
  .homeProduct_contBox {
    display: contents;
  }
}
@media screen and (min-width: 768px) {
  .homeProduct_contBox .l-text_enTtl {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .homeProduct_contBox .l-text_enTtl {
    order: -2;
  }
}
@media screen and (min-width: 768px) {
  .homeProduct_contBox .l-text_ttl {
    margin-top: 0.3em;
    font-size: min(calc(46 / 1440 * 100vw), 46px);
  }
}
@media screen and (max-width: 767px) {
  .homeProduct_contBox .l-text_ttl {
    order: -2;
  }
}
@media screen and (min-width: 768px) {
  .homeProduct_contBox .l-text_desc {
    text-align: center;
  }
}
.homeProduct_bg {
  width: 100%;
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .homeProduct_bg {
    margin-top: -3vw;
    order: -1;
  }
}
.homeProduct_bg img {
  width: 100%;
}

.homeTechnology {
  margin-top: 155px;
}
@media screen and (max-width: 767px) {
  .homeTechnology {
    margin-top: 122px;
  }
}
@media screen and (min-width: 768px) {
  .homeTechnology .l-text_enTtl {
    font-size: 18px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .homeTechnology .l-text_enTtl {
    order: -2;
  }
}
@media screen and (min-width: 768px) {
  .homeTechnology .l-text_ttl {
    margin-top: 0.3em;
    font-size: min(calc(46 / 1440 * 100vw), 46px);
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .homeTechnology .l-text_ttl {
    order: -2;
  }
}
@media screen and (min-width: 768px) {
  .homeTechnology .l-text_desc {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .homeTechnology_spMain {
    margin-top: -2.5vw;
    position: relative;
    z-index: -1;
  }
  .homeTechnology_spMain img {
    width: 100%;
  }
}
.homeTechnology .l-linkList {
  margin-top: 76px;
}
@media screen and (max-width: 767px) {
  .homeTechnology .l-linkList {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .homeTechnology .l-linkList_textBox {
    padding-top: 18px;
  }
  .homeTechnology .l-linkList_textBox::after {
    transform: translateY(-63%);
  }
}
@media screen and (min-width: 768px) {
  .homeTechnology .l-linkList_contTtl {
    font-size: clamp(20px , calc(25 / 1440 * 100vw), 25px);
  }
}
@media screen and (min-width: 768px) {
  .homeTechnology .l-linkList_enTtl {
    margin-top: 0.5em;
  }
}

.homeLinkSec {
  margin-top: 194px;
}
@media screen and (max-width: 767px) {
  .homeLinkSec {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 121px;
  }
}

@media screen and (min-width: 768px) {
  .homeRecruit {
    display: contents;
  }
  .homeRecruit > * {
    width: calc((100% - min(calc(32 / 1440 * 100vw), 32px)) / 2);
  }
}

.homeRecruit_spMain {
  margin-top: -2.5vw;
  margin-bottom: 20px;
  position: relative;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .homeCompanySp {
    margin-top: 110px;
  }
  .homeCompanySp_link {
    margin-top: 31px;
  }
  .homeCompanySp_link a {
    display: flex;
    padding: 0 40px;
  }
}

.sampleVideo {
  width: 100%;
  margin: 200px 0 80vh;
}

.homeNews {
  margin-top: 300px;
  max-width: 920px;
}
@media screen and (max-width: 767px) {
  .homeNews {
    margin-top: 113px;
  }
}
.homeNews_head {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .homeNews_head .l-text_enTtl {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .homeNews_head .l-text_ttl {
    margin-top: 0.1em;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) {
  .homeNews_head .l-text_ttl {
    margin-top: 0.25em;
  }
}
.homeNews_linkList {
  margin-top: 21px;
}
@media screen and (max-width: 767px) {
  .homeNews_linkList {
    margin-top: 23px;
  }
}
.homeNews_link {
  margin-top: 42px;
}
@media screen and (max-width: 767px) {
  .homeNews_link {
    margin-top: 32px;
  }
}

@media screen and (max-width: 767px) {
  .homeScroll {
    display: block !important;
  }
}
@media screen and (min-width: 768px) {
  .homeScroll.-none {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .homeScroll.-fixed {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
  }
}

.homeStrengthVidoBox {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
.homeStrengthVidoBox video {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.homeStrengthVidoBox video.is-current {
  opacity: 1;
}

#js-saisei2 {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  font-size: 100px;
  cursor: pointer;
}

#js-saisei {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  font-size: 100px;
  cursor: pointer;
}

/* ========================================
私たちにういて aboutus
======================================== */
@media screen and (min-width: 768px) {
  .aboutusMain {
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .aboutusMain::-webkit-scrollbar {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .aboutusWrap {
    scroll-snap-type: y proximity;
    height: calc(100vh - var(--header-height-pc));
    overflow-y: scroll;
  }
}
@media screen and (min-width: 768px) {
  .aboutusMv_inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background: url(/assets/image/aboutus/main_pc@2x.png) right center/min(calc(1012 / 1440 * 100vw), 1012px) auto no-repeat;
    margin-top: 22px;
    height: min(82.9166666667vw, 1194px);
  }
}
@media screen and (max-width: 767px) {
  .aboutusMv_inner {
    margin-top: 42px;
  }
}
.aboutusMv_spImag {
  position: relative;
  z-index: -1;
}
.aboutusMv_spImag img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .aboutusMv_contBox {
    transform: translateY(6.6%);
  }
}
@media screen and (max-width: 767px) {
  .aboutusMv_contBox {
    margin-top: -12vw;
  }
}
@media screen and (min-width: 768px) {
  .aboutusMv .l-text_enTtl {
    font-size: 20px;
  }
}
@media screen and (min-width: 768px) {
  .aboutusMv .l-text_ttl {
    margin-top: 0.45em;
    font-size: 42px;
    font-size: clamp(30px , calc(42 / 1440 * 100vw), 42px);
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) {
  .aboutusMv .l-text_ttl {
    margin-top: 0.4em;
    font-size: min(calc(30 / 375 * 100vw), 30px);
    letter-spacing: -0.04em;
  }
}
@media screen and (min-width: 768px) {
  .aboutusMv .l-text_desc {
    margin-top: 2.4em;
    line-height: 1.7;
  }
}

.aboutusStrength {
  margin-top: 28px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .aboutusStrength {
    margin-top: 95px;
  }
}
.aboutusStrength::before {
  content: "";
  display: block;
  width: calc(1053 / 1440 * 100vw);
  height: calc(751 / 1440 * 100vw);
  background: url(/assets/image/aboutus/strength_pc.svg) left top/contain no-repeat;
  position: absolute;
  top: 22px;
  left: 0;
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .aboutusStrength::before {
    width: calc(357 / 375 * 100vw);
    height: calc(578 / 375 * 100vw);
    background-image: url(/assets/image/aboutus/strength_sp.svg);
    top: calc(-28 / 375 * 100vw);
  }
}
.aboutusStrength_inner {
  padding-bottom: max(calc(164 / 1440 * 100vw), 164px);
}
@media screen and (max-width: 767px) {
  .aboutusStrength_inner {
    padding-bottom: 136px;
  }
}
@media screen and (min-width: 768px) {
  .aboutusStrength_inner.m-inner {
    max-width: 1275px;
  }
}
@media screen and (min-width: 768px) {
  .aboutusStrength_head .l-text_enTtl {
    font-size: clamp(24px , calc(34 / 1440 * 100vw), 34px);
  }
}
@media screen and (max-width: 767px) {
  .aboutusStrength_head .l-text_enTtl {
    color: var(--color-black);
    font-size: 16px;
  }
}
.aboutusStrength_ttl {
  margin-top: 20px;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .aboutusStrength_ttl {
    margin-top: 16px;
  }
}
.aboutusStrength_ttl img {
  width: min(calc(690 / 1440 * 100vw), 690px);
}
@media screen and (max-width: 767px) {
  .aboutusStrength_ttl img {
    width: min(calc(321 / 375 * 100vw), 321px);
  }
}
.aboutusStrength_container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 20px;
  margin-top: 94px;
}
@media screen and (max-width: 1280px) {
  .aboutusStrength_container {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .aboutusStrength_container {
    margin-top: 34px;
  }
}
.aboutusStrength_box1 .l-text_desc {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .aboutusStrength_box1 .l-text_desc {
    padding-left: min(calc(60 / 1440 * 100vw), 60px);
    line-height: 1.7;
  }
}
@media screen and (max-width: 767px) {
  .aboutusStrength_box1 .l-text_desc {
    line-height: 1.6;
  }
}
.aboutusStrength_box2 {
  margin-top: 246px;
  width: 582px;
  margin-left: auto;
}
@media screen and (max-width: 1280px) {
  .aboutusStrength_box2 {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .aboutusStrength_box2 {
    margin-top: 99px;
  }
}
.aboutusStrength_box2 .l-text_enTtl {
  line-height: 1;
  background: var(--gradation-text);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-bottom: 0.1em;
  font-size: 20px;
}
.aboutusStrength_contlist {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .aboutusStrength_contlist {
    margin-top: 48px;
  }
}
.aboutusStrength_contlist li + li {
  margin-top: 33px;
}
@media screen and (max-width: 767px) {
  .aboutusStrength_contlist li + li {
    margin-top: 37px;
  }
}
.aboutusStrength_contlist a {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .aboutusStrength_contlist a {
    align-items: flex-start;
    position: relative;
    padding-right: 28px;
  }
}
.aboutusStrength_contlist ._num {
  line-height: 1;
  background: var(--gradation-text);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  width: 91px;
  font-family: var(--font-en);
  font-size: 51px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .aboutusStrength_contlist ._num {
    width: min(calc(76 / 375 * 100vw), 76px);
    font-size: 38px;
  }
}
.aboutusStrength_contlist p {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0 15px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .aboutusStrength_contlist p {
    font-size: min(calc(20 / 375 * 100vw), 20px);
    line-height: 1.3;
  }
}
.aboutusStrength_contlist p > span {
  display: block;
}
.aboutusStrength_contlist p::after {
  content: "";
  display: block;
  width: 17px;
  min-width: 17px;
  max-width: 17px;
  height: 12px;
  max-height: 12px;
  min-height: 12px;
  background: url(/assets/image/aboutus/strength_arrow.svg) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .aboutusStrength_contlist p::after {
    position: absolute;
    top: 50%;
    right: 7px;
    transform: translateY(-50%);
  }
}

.aboutusStrengthList {
  position: relative;
}
@media screen and (min-width: 768px) {
  .aboutusStrengthList_cont {
    display: flex;
    align-items: flex-start;
    width: 100%;
    height: calc(100vh - var(--header-height-pc));
    scroll-snap-align: end;
  }
  .aboutusStrengthList_cont > * {
    width: 50%;
  }
}
@media screen and (min-width: 768px) {
  .aboutusStrengthList_img {
    height: 100%;
  }
}
.aboutusStrengthList_img img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .aboutusStrengthList_img img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 768px) {
  .aboutusStrengthList_contBox {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
  }
  .aboutusStrengthList_contBox ._inner {
    width: calc(476 / 1440 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .aboutusStrengthList_contBox {
    padding: 33px var(--mg-sp) 80px;
  }
}
@media screen and (max-width: 767px) {
  .aboutusStrengthList_contBox .l-text_desc {
    margin-top: 1.5em;
    font-size: 17px;
    line-height: 1.7;
  }
}

@media screen and (max-width: 767px) {
  .aboutusScroll {
    display: block !important;
  }
}

.aboutusLinkSec {
  margin-top: 200px;
}
@media screen and (max-width: 767px) {
  .aboutusLinkSec {
    margin-top: 40px;
  }
}

/* ========================================
製品 product
======================================== */
@media screen and (max-width: 767px) {
  .productPageLink {
    margin-top: 72px;
  }
}

.productList {
  margin-top: 149px;
}
@media screen and (max-width: 767px) {
  .productList {
    margin-top: 98px;
  }
}
.productList + .productList {
  margin-top: 200px;
}
@media screen and (max-width: 767px) {
  .productList + .productList {
    margin-top: 80px;
  }
}
.productList_head * {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .productList_head .l-text_enTtl {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .productList_head .l-text_ttl {
    margin-top: 0.3em;
    font-size: clamp(27.2px , calc(34 / 1440 * 100vw), 34px);
    letter-spacing: -0.02em;
  }
}
@media screen and (max-width: 767px) {
  .productList_head .l-text_ttl {
    margin-top: 0.25em;
  }
}
.productList_container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 4.5088566828%;
  margin-top: 31px;
}
@media screen and (max-width: 767px) {
  .productList_container {
    grid-template-columns: 1fr;
    margin-top: 24px;
  }
}
.productList_container > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  grid-row-gap: 0;
}
@media screen and (max-width: 767px) {
  .productList_container > li {
    display: block;
    width: 100%;
    padding-bottom: 38px;
    border-bottom: 1px solid var(--color-boder);
    position: relative;
  }
  .productList_container > li + li {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .productList_container > li:not(:nth-child(1)):not(:nth-child(2)) {
    margin-top: min(calc(120 / 1440 * 100vw), 120px);
  }
}
.productList_contImg > div {
  padding-top: 68.802698145%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .productList_contImg > div {
    padding-top: 62.6959247649%;
  }
}
.productList_contImg img {
  width: 100%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.productList_contTtl {
  margin-top: 1.44em;
  font-size: clamp(20px , calc(24 / 1440 * 100vw), 24px);
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .productList_contTtl {
    margin-top: 1.1em;
    font-size: min(calc(22 / 375 * 100vw), 22px);
  }
}
.productList_contDesc {
  margin-top: 1.7em;
  font-size: clamp(14px , calc(16 / 1440 * 100vw), 16px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .productList_contDesc {
    margin-top: 0.8em;
    font-size: 17px;
    line-height: 1.7;
  }
}
.productList_contLink {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: min(calc(40 / 1200 * 100vw), 40px);
}
@media screen and (max-width: 767px) {
  .productList_contLink {
    display: block;
  }
  .is-open .productList_contLink {
    display: block;
  }
  .productList_contLink a {
    margin: 24px auto 0;
  }
  .productList_contLink .m-btn-arrow {
    margin-top: 17px;
  }
}

@media screen and (min-width: 768px) {
  .product-detail + .l-commContact {
    padding-top: 148px;
  }
}

.productMain {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .productMain {
    display: flex;
    flex-direction: column;
    padding-top: 118px;
  }
}
.productMain_contBox {
  max-width: 696px;
  margin-top: min(calc(163 / 1440 * 100vw), 163px);
}
@media screen and (max-width: 767px) {
  .productMain_contBox {
    display: contents;
    text-align: left;
  }
  .productMain_contBox > * {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .productMain .l-text_enTtl {
    font-size: clamp(17.6px , calc(22 / 1440 * 100vw), 22px);
  }
}
@media screen and (max-width: 767px) {
  .productMain .l-text_enTtl {
    order: -2;
    padding: 0 var(--mg-sp);
  }
}
@media screen and (min-width: 768px) {
  .productMain .l-text_ttl {
    margin-top: 0.2em;
    font-size: clamp(36.8px , calc(46 / 1440 * 100vw), 46px);
  }
}
@media screen and (max-width: 767px) {
  .productMain .l-text_ttl {
    order: -1;
    margin-top: 0.25em;
    padding: 0 var(--mg-sp);
  }
}
.productMain .l-text_desc {
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .productMain .l-text_desc {
    margin-top: 1.7em;
    font-size: clamp(15px , calc(17 / 1440 * 100vw), 17px);
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .productMain .l-text_desc {
    margin-top: 21px;
    padding: 20px var(--mg-sp) 0;
    font-size: 17px;
  }
}
@media screen and (max-width: 767px) {
  .productMain_img {
    margin-top: 24px;
  }
}
.productMain_img img {
  width: 100%;
}
.productMain.-index .productMain_contBox .l-text_desc {
  line-height: 1.5;
}
.productMain.-technology {
  position: relative;
}
@media screen and (min-width: 768px) {
  .productMain.-technology .productMain_contBox {
    width: calc(587 / 1440 * 100vw);
    min-width: 430px;
    margin-top: 0;
    padding-top: min(calc(47 / 1440 * 100vw), 47px);
    padding-right: var(--mg-pc);
    text-align: left;
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 2;
    transform: translateY(-50%);
  }
  .productMain.-technology .productMain_contBox .l-text_ttl {
    margin-top: 0.35em;
  }
  .productMain.-technology .productMain_contBox .l-text_desc {
    margin-top: 1em;
    text-align: justify;
  }
}

.productContList {
  margin-top: 103px;
}
@media screen and (max-width: 767px) {
  .productContList {
    width: 100%;
    margin-top: 80px;
  }
}
@media screen and (min-width: 768px) {
  .productContList_sec {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.productContList_sec + .productContList_sec {
  margin-top: min(calc(160 / 1440 * 100vw), 160px);
}
@media screen and (max-width: 767px) {
  .productContList_sec + .productContList_sec {
    margin-top: 80px;
  }
}
@media screen and (min-width: 768px) {
  .productContList_sec:nth-child(odd) .productContList_contBox {
    padding-left: min(calc(92 / 1440 * 100vw), 92px);
  }
}
.productContList_sec:nth-child(even) {
  flex-direction: row-reverse;
}
@media screen and (min-width: 768px) {
  .productContList_sec:nth-child(even) .productContList_contBox {
    padding-right: min(calc(106 / 1440 * 100vw), 106px);
  }
}
@media screen and (min-width: 768px) {
  .productContList_sec:nth-child(even) .productContList_contInner {
    margin-left: auto;
  }
}
.productContList_imgBox {
  width: 50.0402900886%;
}
@media screen and (max-width: 767px) {
  .productContList_imgBox {
    width: 100%;
  }
}
.productContList_contBox {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .productContList_contBox {
    padding: 20px var(--mg-sp 0);
  }
}
@media screen and (max-width: 767px) {
  .productContList_contBox {
    padding: 33px var(--mg-sp) 0;
  }
}
@media screen and (min-width: 768px) {
  .productContList_contBox .l-text_ttl {
    margin-top: 0.35em;
    letter-spacing: -0.055em;
  }
}
.productContList_contBox .l-text_desc {
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .productContList_contBox .l-text_desc {
    margin-top: 1.4em;
    font-size: clamp(15px , calc(17 / 1440 * 100vw), 17px);
  }
}
@media screen and (max-width: 767px) {
  .productContList_contBox .l-text_desc {
    margin-top: 1.45em;
    font-size: 17px;
  }
}
@media screen and (min-width: 768px) {
  .productContList_contInner {
    width: 100%;
    max-width: 450px;
  }
}
@media screen and (min-width: 768px) {
  .productContList.-reverse {
    margin-top: min(calc(200 / 1440 * 100vw), 200px);
  }
  .productContList.-reverse .productContList_sec:nth-child(odd) {
    flex-direction: row-reverse;
  }
  .productContList.-reverse .productContList_sec:nth-child(odd) .productContList_contBox {
    padding-left: 0;
    padding-right: min(calc(106 / 1440 * 100vw), 106px);
  }
  .productContList.-reverse .productContList_sec:nth-child(odd) .productContList_contInner {
    margin-left: auto;
  }
  .productContList.-reverse .productContList_sec:nth-child(even) {
    flex-direction: row;
  }
  .productContList.-reverse .productContList_sec:nth-child(even) .productContList_contBox {
    padding-right: 0;
    padding-left: min(calc(92 / 1440 * 100vw), 92px);
  }
  .productContList.-reverse .productContList_sec:nth-child(even) .productContList_contInner {
    margin-left: 0;
  }
}

.productLinks {
  margin-top: min(calc(265 / 1440 * 100vw), 265px);
}
@media screen and (max-width: 767px) {
  .productLinks {
    margin-top: 120px;
  }
}
.productLinks_spMain {
  margin-top: -2.9vw;
  position: relative;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .productLinks_head .l-text_enTtl {
    font-size: clamp(17.6px , calc(22 / 1440 * 100vw), 22px);
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .productLinks_head .l-text_ttl {
    margin-top: 0.1em;
    font-size: clamp(36.8px , calc(46 / 1440 * 100vw), 46px);
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .productLinks .l-linkList {
    margin-top: 44px;
  }
}
@media screen and (max-width: 767px) {
  .productLinks .l-linkList {
    margin-top: 15px;
  }
}
@media screen and (min-width: 768px) {
  .productLinks .l-linkList_textBox::after {
    width: 27px;
    height: 20px;
  }
}
@media screen and (min-width: 768px) {
  .productLinks .l-linkList_contTtl {
    margin-top: 0.4em;
    font-size: clamp(19.2px , calc(24 / 1440 * 100vw), 24px);
  }
}
@media screen and (min-width: 768px) {
  .productLinks .l-linkList_enTtl {
    margin-top: 0.2em;
    font-size: clamp(11.2px , calc(14 / 1440 * 100vw), 14px);
  }
}
.productLinks_link {
  margin-top: 25px;
}

@media screen and (min-width: 768px) {
  .productTechnique.l-commonTechnique {
    margin-top: calc(min(calc(220 / 1440 * 100vw), 220px) - 120px);
    padding-top: 120px;
  }
}
@media screen and (max-width: 767px) {
  .productTechnique.l-commonTechnique {
    margin-top: 0;
    padding-top: 74px;
  }
}

/* ========================================
お知らせ information
======================================== */
@media screen and (max-width: 767px) {
  .informationSpCatList {
    margin-top: 32px;
  }
}

.informationContainer {
  display: flex;
  align-items: flex-start;
  gap: 0 min(calc(91 / 1440 * 100vw), 91px);
  margin-top: 87px;
}
@media screen and (max-width: 767px) {
  .informationContainer {
    display: block;
    margin-top: 31px;
    padding-bottom: 20px;
  }
}
.informationContainer_aside {
  width: 150px;
  margin-top: -4px;
}
.informationContainer_main {
  flex: 1;
  max-width: 920px;
}

.informationCatList + .informationCatList::before {
  content: "";
  display: block;
  width: 12px;
  height: 1px;
  background: #000;
  margin: 32px 0 34px;
}
.informationCatList ul {
  display: flex;
  flex-direction: column;
  gap: 13px 0;
}
.informationCatList a {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}
.informationCatList ._current a {
  color: var(--color-red);
}

.information-detail .informationContainer {
  margin-top: min(calc(177 / 1440 * 100vw), 177px);
}
@media screen and (max-width: 767px) {
  .information-detail .informationContainer {
    margin-top: 81px;
  }
}

/* ========================================
お問い合わせ contact
======================================== */
.contactContainer {
  margin-top: 104px;
}
@media screen and (max-width: 767px) {
  .contactContainer {
    margin-top: 40px;
    padding-bottom: 40px;
  }
}

.contactDesc {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .contactDesc {
    font-size: 16px;
  }
}
.contactDesc_mark {
  display: inline-block;
  color: var(--color-red);
  font-weight: 700;
  font-size: 1.2em;
}
@media screen and (max-width: 767px) {
  .contactDesc_mark {
    font-size: 16px;
    margin-right: 4px;
  }
}

.contactForm {
  margin-top: 22px;
}
@media screen and (max-width: 767px) {
  .contactForm {
    margin-top: 16px;
  }
}

.contact-complete .l-inPageHead_ttl {
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .contact-complete .l-inPageHead_ttl {
    font-size: clamp(32px , calc(40 / 1440 * 100vw), 40px);
    letter-spacing: -0.02em;
  }
}
@media screen and (max-width: 767px) {
  .contact-complete .l-inPageHead_ttl {
    font-size: min(calc(26 / 375 * 100vw), 26px);
  }
}
@media screen and (min-width: 768px) {
  .contact-complete .l-inPageHead_text {
    margin-top: 2.1em;
  }
}
@media screen and (max-width: 767px) {
  .contact-complete .l-inPageHead_text {
    margin-top: 1em;
  }
}
.contact-complete_link {
  margin-top: 46px;
}
@media screen and (max-width: 767px) {
  .contact-complete_link {
    margin-top: 35px;
  }
}
@media screen and (min-width: 768px) {
  .contact-complete_link .m-btn-boder {
    height: 56px;
    border-radius: 30px;
  }
}

/* ========================================
会社情報 company
======================================== */
.company_secHead {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .company_secHead {
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .company_secHead .l-text_enTtl {
    font-size: clamp(17.6px , calc(22 / 1440 * 100vw), 22px);
  }
}
.company_secHead .l-text_ttl {
  margin-top: 0.2em;
}
@media screen and (min-width: 768px) {
  .company_secHead .l-text_ttl {
    font-size: clamp(40px , calc(50 / 1440 * 100vw), 50px);
  }
}
@media screen and (min-width: 768px) {
  .company_secHead .l-text_desc {
    margin-top: 1.7em;
    font-size: clamp(15px , calc(17 / 1440 * 100vw), 17px);
  }
}
@media screen and (max-width: 767px) {
  .company_secHead .l-text_desc {
    margin-top: 1.4em;
  }
}

.companyMain_contBox {
  max-width: 696px;
  margin-top: min(calc(166 / 1440 * 100vw), 166px);
}
@media screen and (max-width: 767px) {
  .companyMain_contBox {
    max-width: none;
    margin-top: 81px;
  }
}
@media screen and (min-width: 768px) {
  .companyMain_contBox .l-text_desc {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .companyMain_img {
    margin-top: 24px;
  }
}
.companyMain_img img {
  width: 100%;
}
.companyMain.-index .productMain_contBox .l-text_desc {
  line-height: 1.5;
}
.companyMain.-technology {
  position: relative;
}
@media screen and (min-width: 768px) {
  .companyMain.-technology .productMain_contBox {
    width: calc(587 / 1440 * 100vw);
    min-width: 430px;
    margin-top: 0;
    padding-top: min(calc(47 / 1440 * 100vw), 47px);
    padding-right: var(--mg-pc);
    text-align: left;
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 2;
    transform: translateY(-50%);
  }
  .companyMain.-technology .productMain_contBox .l-text_ttl {
    margin-top: 0.35em;
  }
  .companyMain.-technology .productMain_contBox .l-text_desc {
    margin-top: 1em;
  }
}

.companyHistory {
  margin-top: 65px;
}
@media screen and (max-width: 767px) {
  .companyHistory {
    margin-top: 45px;
  }
}
.companyHistory_scroll {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 13px;
  padding-right: 33px;
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .companyHistory_scroll {
    gap: 0 10px;
    padding-right: var(--mg-sp);
    font-size: 16px;
  }
}
.companyHistory_scroll::after {
  content: "";
  display: block;
  width: 39px;
  height: 22px;
  background: url(/assets/image/company/history_arrow.svg) right center/contain no-repeat;
}
.companyHistory_cont {
  margin-top: -9px;
  padding: 36px calc(99 / 1440 * 100vw);
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media screen and (max-width: 767px) {
  .companyHistory_cont {
    margin-top: -32px;
    padding-right: var(--mg-sp);
    padding-left: var(--mg-sp);
  }
}
.companyHistory_cont::-webkit-scrollbar {
  display: none;
}
.companyHistory_cont_inner {
  padding: 72px 61px 85px;
  border-radius: 14px;
  box-shadow: 0px 0px 36px 0px #E3E3E3;
  width: calc(2558px + calc(99 / 1440 * 100vw) * 2);
}
@media screen and (max-width: 767px) {
  .companyHistory_cont_inner {
    padding: 50px min(calc(38 / 375 * 100vw), 38px) 58px;
    width: calc(1748px + min(calc(38 / 375 * 100vw), 38px) * 2);
  }
}
.companyHistory_cont img {
  max-width: none;
}
@media screen and (max-width: 767px) {
  .companyHistory_cont img {
    width: auto;
    height: 383px;
  }
}

.companyNumber {
  margin-top: 200px;
}
@media screen and (max-width: 767px) {
  .companyNumber {
    margin-top: 71px;
  }
}
@media screen and (min-width: 768px) {
  .companyNumber .l-text_desc {
    padding-top: 2px;
    font-size: 16px;
    text-align: center;
  }
}
.companyNumber_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  gap: 90px 40px;
  margin-top: 60px;
  padding: 130px min(calc(60 / 1440 * 100vw), 60px) 140px;
  border-radius: 14px;
  box-shadow: 0px 0px 36px 0px #E3E3E3;
}
@media screen and (max-width: 767px) {
  .companyNumber_list {
    grid-template-columns: 1fr;
    gap: 42px 0;
    margin-top: 36px;
    padding: 58px 0 63px;
  }
}
.companyNumber_list li {
  width: 300px;
}
@media screen and (max-width: 767px) {
  .companyNumber_list li {
    width: 100%;
  }
}
.companyNumber_list ._contTtl {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
}
.companyNumber_list ._contTtl ._minText {
  display: block;
  font-size: 12px;
}
.companyNumber_list ._cont {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0 1px;
  margin-top: 17px;
  font-size: 52px;
  font-weight: 700;
  letter-spacing: -0.06em;
}
@media screen and (max-width: 767px) {
  .companyNumber_list ._cont {
    margin-top: 3px;
    font-size: 38px;
  }
}
.companyNumber_list ._cont * {
  display: block;
  line-height: 1;
  line-height: 1;
  background: var(--gradation-text);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.companyNumber_list ._num {
  padding-right: 0.05em;
  font-family: var(--font-en);
  font-size: 90px;
  font-weight: 500;
  letter-spacing: -0.07em;
  transform: translateY(1%);
}
@media screen and (max-width: 767px) {
  .companyNumber_list ._num {
    font-size: 66px;
  }
}
.companyNumber_list ._largeText {
  font-size: 75px;
  transform: translateY(-3%);
}
@media screen and (max-width: 767px) {
  .companyNumber_list ._largeText {
    font-size: 55px;
  }
}

.companyInfo {
  margin-top: 163px;
}
@media screen and (max-width: 767px) {
  .companyInfo {
    margin-top: 81px;
  }
}
@media screen and (min-width: 768px) {
  .companyInfo_head .l-text_desc {
    font-size: 16px;
    text-align: center;
  }
}
.companyInfo_sec {
  display: flex;
  align-items: flex-start;
  margin-top: 98px;
}
@media screen and (max-width: 1024px) {
  .companyInfo_sec {
    display: block;
    margin-top: 80px;
  }
}
.companyInfo_sec + .companyInfo_sec {
  margin-top: 66px;
}
@media screen and (max-width: 767px) {
  .companyInfo_sec + .companyInfo_sec {
    margin-top: 69px;
  }
}
.companyInfo_secHead {
  width: min(calc(322 / 1440 * 100vw), 322px);
}
@media screen and (max-width: 1024px) {
  .companyInfo_secHead {
    width: 100%;
    text-align: center;
  }
}
.companyInfo_secHead ._enTtl {
  margin-top: -0.2em;
  color: var(--color-red);
  font-family: var(--font-en);
  font-size: clamp(14.4px , calc(18 / 1440 * 100vw), 18px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 1024px) {
  .companyInfo_secHead ._enTtl {
    font-size: 14px;
  }
}
.companyInfo_secHead ._ttl {
  margin-top: 0.4em;
  font-size: clamp(27.2px , calc(34 / 1440 * 100vw), 34px);
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 1024px) {
  .companyInfo_secHead ._ttl {
    font-size: 25px;
  }
}
@media screen and (min-width: 1025px) {
  .companyInfo_secHead.-minText ._enTtl {
    margin-top: 0.1em;
    font-size: clamp(9.6px , calc(12 / 1440 * 100vw), 12px);
  }
  .companyInfo_secHead.-minText ._ttl {
    margin-top: 0.2em;
    font-size: clamp(19.2px , calc(24 / 1440 * 100vw), 24px);
  }
}
.companyInfo_secCont {
  flex: 1;
}
@media screen and (max-width: 1024px) {
  .companyInfo_secCont {
    width: 100%;
    margin-top: 28px;
  }
}
.companyInfo_overview {
  border-top: 1px solid var(--color-boder);
  line-height: 1.8;
}
.companyInfo_overview dl {
  display: flex;
  padding: 22px 0 20px;
  border-bottom: 1px solid var(--color-boder);
}
@media screen and (max-width: 767px) {
  .companyInfo_overview dl {
    padding: 27px 16px 25px;
    display: block;
    font-size: 16px;
    line-height: 1.7;
  }
}
@media screen and (min-width: 768px) {
  .companyInfo_overview dl.-pdlarge {
    padding-bottom: 34px;
  }
}
@media screen and (max-width: 767px) {
  .companyInfo_overview dl.-pdlarge {
    padding-bottom: 30px;
  }
  .companyInfo_overview dl.-pdlarge dd {
    margin-top: 8px;
  }
}
.companyInfo_overview dt {
  width: 204px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .companyInfo_overview dt {
    width: 100%;
  }
}
.companyInfo_overview dd {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0 20px;
}
@media screen and (max-width: 767px) {
  .companyInfo_overview dd {
    display: block;
    width: 100%;
    margin-top: 5px;
  }
}
@media screen and (min-width: 768px) {
  .companyInfo_overview dd ._contBox1 {
    flex: 1;
    max-width: 405px;
  }
}
@media screen and (min-width: 768px) {
  .companyInfo_overview dd ._contBox2 {
    width: 240px;
  }
}
@media screen and (max-width: 767px) {
  .companyInfo_overview dd ._contBox2 {
    margin-top: 32px;
  }
}
.companyInfo_overview dd ._link {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0 9px;
  margin-top: 8px;
  border-bottom: 1px solid #000;
  padding-bottom: 2px;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .companyInfo_overview dd ._link {
    margin-top: 19px;
    padding-bottom: 6px;
  }
}
.companyInfo_overview dd ._link::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--color-red);
  border-right: 2px solid var(--color-red);
  transform: rotate(45deg);
}
.companyInfo_overview dd .m-btn-boder {
  min-width: 200px;
}
.companyInfo_list dl {
  display: flex;
  align-items: flex-start;
  padding: 29px 39px;
  border: 1px solid var(--color-boder);
}
@media screen and (max-width: 767px) {
  .companyInfo_list dl {
    display: block;
    padding: 26px 16px;
    border-left: 0;
    border-right: 0;
    font-size: 16px;
  }
}
.companyInfo_list dl + dl {
  margin-top: -1px;
}
.companyInfo_list dt {
  width: 168px;
  padding-right: 20px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .companyInfo_list dt {
    width: 100%;
    padding-right: 0;
  }
}
.companyInfo_list dd {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .companyInfo_list dd {
    margin-top: 2px;
  }
}
.companyInfo_list dd a {
  word-break: break-all;
}

/* ========================================
プライバシーポリシー privacy
======================================== */
@media screen and (max-width: 767px) {
  .privacy .l-inPageHead_ttl {
    letter-spacing: -0.01em;
  }
}

.privacySec {
  margin-top: 112px;
  font-size: 14px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .privacySec {
    margin-top: 36px;
    font-size: 16px;
    line-height: 1.5;
  }
}
.privacySec + .privacySec {
  margin-top: 96px;
}
@media screen and (max-width: 767px) {
  .privacySec + .privacySec {
    margin-top: 86px;
  }
}
.privacySec_head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0 20px;
  margin-bottom: 37px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-boder);
}
@media screen and (max-width: 767px) {
  .privacySec_head {
    align-items: flex-end;
    margin-bottom: 25px;
  }
}
.privacySec_head * {
  display: block;
  font-size: 18px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .privacySec_ttlH2 {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .privacySec_time {
    font-size: 14px;
  }
}
.privacySec_ttlH3 {
  margin-top: 28px;
  font-size: 16px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .privacySec_ttlH3 {
    margin-top: 23px;
    padding-left: 25px;
    position: relative;
  }
  .privacySec_ttlH3 ._num {
    display: block;
    position: absolute;
    top: 0;
    left: 4px;
  }
}
.privacySec_list {
  margin-top: 36px;
  counter-reset: number 0;
}
@media screen and (max-width: 767px) {
  .privacySec_list {
    margin-top: 24px;
  }
}
.privacySec_list > li {
  line-height: 1.8;
  padding-left: 30px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .privacySec_list > li {
    padding-left: 25px;
    font-size: 16px;
    line-height: 1.5;
  }
}
.privacySec_list > li::before {
  counter-increment: number 1;
  content: counter(number) ".";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.privacySec_list > li + li {
  margin-top: 9px;
}
@media screen and (max-width: 767px) {
  .privacySec_list > li + li {
    margin-top: 24px;
  }
}
.privacySec_minCont {
  margin-top: 26px;
  padding-left: 40px;
  padding-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .privacySec_minCont {
    margin-top: 16px;
    padding-left: 0;
    padding-bottom: 9px;
  }
}
.privacySec_minCont > *:first-child {
  margin-top: 0 !important;
}
.privacySec_minCont > p {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .privacySec_minCont > p {
    margin-top: 24px;
  }
}
@media screen and (min-width: 768px) {
  .privacySec_minCont .privacySec_list {
    margin-top: 32px;
  }
  .privacySec_minCont .privacySec_list > li + li {
    margin-top: 12px;
  }
}
@media screen and (max-width: 767px) {
  .privacySec_list2 {
    margin-top: 8px;
  }
}
.privacySec_list2 > li {
  padding-left: 29px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .privacySec_list2 > li {
    padding-left: 35px;
  }
}
.privacySec_list2 > li ._unit {
  position: absolute;
  top: 0;
  left: 0;
}
.privacySec_info {
  border: 1px solid var(--color-boder);
  margin-top: 30px;
  padding: 24px 26px 22px;
}
@media screen and (max-width: 767px) {
  .privacySec_info {
    margin-top: 40px;
    margin-bottom: 10px;
    padding: 33px 22px 30px;
  }
}
.privacySec_info ._ttl {
  margin-bottom: 19px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .privacySec_info ._ttl {
    margin-bottom: 15px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .privacySec_info ._notes {
    margin-top: 12px;
  }
  .privacySec_info ._notes p {
    padding-left: 1.4em;
    text-indent: -1em;
  }
}
@media screen and (min-width: 768px) {
  .privacySec .privacySec_utility01 {
    margin-top: 13px;
    padding-bottom: 3px;
    padding-left: 32px;
  }
}
@media screen and (max-width: 767px) {
  .privacySec .privacySec_utility01 {
    padding-bottom: 16px;
  }
}
@media screen and (min-width: 768px) {
  .privacySec .privacySec_utility02 {
    letter-spacing: -0.005em;
  }
}/*# sourceMappingURL=style.css.map */