@charset "utf-8";
  
@import "https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;800&display=swap"; 
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap');
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
caption,
canvas,
center,
cite,
code,
dd,
del,
details,
dfn,
dialog,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
form,
footer,
header,
hgroup,
h1,
h2,
h3,
h4,
h5,
h6,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
main,
small,
span,
strike,
strong,
sub,
summary,
sup,
tt,
table,
tbody,
textarea,
tfoot,
thead,
time,
tr,
th,
td,
u,
ul,
var,
video { font-family: inherit; font-size: inherit; font-weight: inherit; font-style: inherit; vertical-align: baseline; white-space: normal; text-align: left; margin: 0; padding: 0; border: 0; outline: 0; background: transparent; }
ol,
ul { list-style: none; }
a { text-decoration: none; }
*,
::before,
::after { box-sizing: border-box; }
::before,
::after { text-decoration: inherit; vertical-align: inherit; }
html { cursor: default; line-height: 1.5; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; -webkit-tap-highlight-color: transparent; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; word-break: break-word; }
body { margin: 0; }
dl dl,
dl ol,
dl ul,
ol dl,
ul dl { margin: 0; }
ol ol,
ol ul,
ul ol,
ul ul { margin: 0; }
hr { color: inherit; height: 0; overflow: visible; }
main { display: block; }
nav ol,
nav ul { list-style: none; padding: 0; }
pre { font-family: monospace, monospace; font-size: 1em; overflow: auto; -ms-overflow-style: scrollbar; }
a { background-color: transparent; }
abbr[title] { text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }
b,
strong { font-weight: bolder; }
code,
kbd,
samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
audio,
canvas,
iframe,
img,
svg,
video { vertical-align: middle; }
audio,
video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
iframe { border-style: none; }
img { border-style: none; }
svg:not([fill]) { fill: currentColor; }
svg:not(:root) { overflow: hidden; }
table { border-collapse: collapse; border-color: inherit; text-indent: 0; }
button,
input,
select { margin: 0; }
button { overflow: visible; text-transform: none; }
button,
[type="button"],
[type="reset"],
[type="submit"] { -webkit-appearance: button; }
fieldset { border: 1px solid #a0a0a0; padding: 0.35em 0.75em 0.625em; }
input { overflow: visible; }
legend { color: inherit; display: table; max-width: 100%; white-space: normal; }
progress { display: inline-block; vertical-align: baseline; }
select { text-transform: none; }
textarea { margin: 0; overflow: auto; resize: vertical; resize: block; }
[type="checkbox"],
[type="radio"] { padding: 0; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
::-webkit-inner-spin-button,
::-webkit-outer-spin-button { height: auto; }
::-webkit-input-placeholder { color: inherit; opacity: 0.54; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
::-moz-focus-inner { border-style: none; padding: 0; }
:-moz-focusring { outline: 1px dotted ButtonText; }
:-moz-ui-invalid { box-shadow: none; }
details { display: block; }
dialog { background-color: #fff; border: solid; color: #000; display: block; height: -moz-fit-content; height: -webkit-fit-content; height: fit-content; left: 0; margin: auto; padding: 1em; position: absolute; right: 0; width: -moz-fit-content; width: -webkit-fit-content; width: fit-content; }
dialog:not([open]) { display: none; }
summary { display: list-item; }
canvas { display: inline-block; }
template { display: none; }
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] { -ms-touch-action: manipulation; }
[hidden] { display: none; }
[aria-busy="true"] { cursor: progress; }
[aria-controls] { cursor: pointer; }
[aria-disabled="true"],
[disabled] { cursor: not-allowed; }
[aria-hidden="false"][hidden] { display: initial; }
[aria-hidden="false"][hidden]:not(:focus) { clip: rect(0, 0, 0, 0); position: absolute; }
button,
input,
select,
textarea { background-color: transparent; border: 1px solid WindowFrame; color: inherit; font: inherit; letter-spacing: inherit; padding: 0.25em 0.375em; }
select { -moz-appearance: none; -webkit-appearance: none; background: no-repeat right center/1em; border-radius: 0; padding-right: 1em; }
select:not([multiple]):not([size]) { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E"); }
[type="color"],
[type="range"] { border-width: 0; padding: 0; }
::-ms-expand { display: none; }
:-ms-input-placeholder { color: rgb(0 0 0 / 54%); }
:root { --main: #0a7c24; --accent: #e60012; --sub1: #8ec22f; --sub2: #ffed66; --sub3: #fff6cc; --brown: #2a2220; --black: #000; --darkgray: #999; --gray: #e6e6e6; --lightgray: #f0f0f0; --white: #fff; }

@-webkit-keyframes stroke {
  0% { stroke-dashoffset: 314; }
  100% { stroke-dashoffset: 0; }
}

@keyframes stroke {
  0% { stroke-dashoffset: 314; }
  100% { stroke-dashoffset: 0; }
}

@-webkit-keyframes slideBlur {
  0% { filter: blur(10px); transform: scale(1.3); }
  14% { filter: blur(0); transform: scale(1); }
  100% { filter: blur(0); transform: scale(1); }
}

@keyframes slideBlur {
  0% { filter: blur(10px); transform: scale(1.3); }
  14% { filter: blur(0); transform: scale(1); }
  100% { filter: blur(0); transform: scale(1); }
}

@-webkit-keyframes slideBlurSp {
  0% { filter: blur(10px); transform: scale(1.3); }
  14% { filter: blur(0); transform: scale(1); }
  100% { filter: blur(0); transform: scale(1); }
}

@keyframes slideBlurSp {
  0% { filter: blur(10px); transform: scale(1.3); }
  14% { filter: blur(0); transform: scale(1); }
  100% { filter: blur(0); transform: scale(1); }
}

@-webkit-keyframes slideTrim {
  0% { transform: scale(1.1); }
  14% { transform: scale(1.19); }
  100% { transform: scale(1.19); }
}

@keyframes slideTrim {
  0% { transform: scale(1.1); }
  14% { transform: scale(1.19); }
  100% { transform: scale(1.19); }
}

@-webkit-keyframes slideTrimSp {
  0% { transform: scale(1.1); }
  14% { transform: scale(1.098); }
  100% { transform: scale(1.098); }
}

@keyframes slideTrimSp {
  0% { transform: scale(1.2); }
  14% { transform: scale(1.098); }
  100% { transform: scale(1.098); }
}

@-webkit-keyframes borderAnim {
  0% { transform: scale(1, 1); }
  50% { transform: scale(0, 1); }
  100% { transform: scale(1, 1); }
}

@keyframes borderAnim {
  0% { transform: scale(1, 1); }
  50% { transform: scale(0, 1); }
  100% { transform: scale(1, 1); }
}

@-webkit-keyframes bounceAnim {
  0% { opacity: 0; transform: scale(0); }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes bounceAnim {
  0% { opacity: 0; transform: scale(0); }
  100% { transform: scale(1); opacity: 1; }
}
::-moz-selection { background-color: rgb(255 0 51 / 10%); }
::selection { background-color: rgb(255 0 51 / 10%); }
html { font-family:  Noto Sans TC,  "Heebo", Roboto, Helvetica, Arial, sans-serif; letter-spacing: 0.06em; line-height: 1.75; min-height: 100%; color: #000; -webkit-text-size-adjust: none; } 
body { min-height: 100vh; color: #474241; }
img { max-width: 100%; height: auto; }
.l-footer { background-color: #333333; padding: 3.125rem 0 3.9375rem; }
.l-footer__wrap { margin: 0 0 40px; }
.l-footer__logo { margin: 0 0 50px; }
.l-footer__logo svg { width: 200px; height: 27px; fill: #fff; }

.l-footer__body { display: flex; justify-content: space-between; }
.en-font{font-weight: 800;font-family: "Heebo", sans-serif}

.l-footer__bottom { text-align: center; position: relative; }

.l-footer__copy { width: 100%; display: flex; justify-content: center; }
.l-footer__copy span { font-size: 0.625rem; line-height: 1; font-family: "Heebo", sans-serif; font-weight: 500; color: #fff; }
.l-footer__btn { position: absolute; bottom: 0; right: 0; }

.l-header { width: 100%; height: 74px; transition: background-color 0.3s ease; position: fixed; z-index: 1000; top: 0; box-shadow: 0 0 20px transparent; transition: box-shadow 0.3s ease; }
.l-header__wrap { display: flex; align-items: center; justify-content: space-between; padding: 0 0 0 17px; height: 100%}
.l-header__logo { position: relative; z-index: 1; display: block; }
.l-header__logo img { width: 200px; height: 49px; }
.is-scroll .l-header { background-color: #fff; box-shadow: 0 0 20px rgb(153 153 153 / 20%); }
.l-main { padding: 74px 0 0; }
.l-nmnu__item { position: relative; }
.l-nmnu__item__ttl { padding: 3.0769230769vw; font-weight: bold; color: #2a2220; transition: color 0.3s ease; display: inline-block; font-size: 1.125rem; line-height: 1; }
.l-nmnu__item__ttl svg { width: 19px; height: 19px; transition: fill 0.3s ease; }

.l-nbtn { display: none; width: 50px; height: 50px; background-color: #fff; border: 1px solid #e6e6e6; border-radius: 50%; position: absolute; top: 50%; right: 17px; transform: translateY(-50%); }
.l-nbtn.is-active .l-nbtn__wrap span:nth-of-type(1),
.l-nbtn.is-active .l-nbtn__wrap span:nth-of-type(3) { opacity: 0; margin: 0; }
.l-nbtn.is-active .l-nbtn__wrap span:nth-of-type(2) { width: 36px; background-color: #ff0033; margin: 0; }
.l-nbtn__wrap { display: flex; align-items: center; justify-content: center; }
.l-nbtn__wrap span { width: 6px; height: 6px; border-radius: 3px; transition: opacity 0.3s ease, width 0.3s ease, background-color 0.3s ease, margin 0.3s ease; }
.l-nbtn__wrap span:nth-child(even) { background-color: #ff0033; }
.l-nbtn__wrap span:nth-child(odd) { background-color: #ffa7a8; }
.l-nbtn__wrap span:not(:last-child) { margin: 0 6px 0 0; }
.l-cont__item { background-color: #333333; display: flex; align-items: center; justify-content: center; color: #fff; width: 100%; font-weight: bold; transition: background-color 0.3s ease; border-radius: 0.5625rem 0; }
.l-cont__item:hover { background-color: #ff0033; }
.l-cont__item span { font-size: 1rem; line-height: 1; }
.l-cont__item svg { width: 16px; height: 11px; fill: currentColor; }

.is-mttl { position: relative; }
.is-mttl.is-active .is-mttl--top { -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); }
.is-mttl.is-active .is-mttl--bottom { opacity: 1; transform: translateZ(0); }
.is-mttl--top { transition: clip-path 0.5s cubic-bezier(0, 0.85, 0.09, 0.09), -webkit-clip-path 0.5s cubic-bezier(0, 0.85, 0.09, 0.09); -webkit-clip-path: polygon(0 0, -100% 0, -100% 100%, 0 100%); clip-path: polygon(0 0, -100% 0, -100% 100%, 0 100%); position: absolute; color: #474241; top: 0; left: 0; display: block; }
.is-mttl--bottom { color: #f0f0f0; transition: opacity 0.3s ease, transform 0.3s ease; }
.is-lazyload { opacity: 0; visibility: hidden; transform: scale(1.1); transition: opacity 0.5s ease 0.3s, visibility 0.5s ease 0.3s, transform 0.5s ease 0.3s; }
.is-lazyload.is-lazyloaded { opacity: 1; visibility: visible; transform: scale(1); }
.is-fade--up { transform: translateY(0.3125rem) translateX(-0.125rem); opacity: 0; transition: transform 0.6s 0.25s ease, opacity 0.7s 0.25s ease; }
.is-fade--up.is-active { opacity: 1; transform: translateY(0) translateX(0); }
.is-fade--image picture::before { content: ""; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; background-color: #f0f0f0; opacity: 1; transition: opacity 0.7s 0.35s ease; z-index: 1; }
.is-fade--image .c-fv__fig__img::after { background-color: #f0f0f0; transition: background-color 0.7s 0.45s ease; }
.is-fade--image.is-active picture::before { opacity: 0; }
.is-fade--image.is-active .c-fv__fig__img::after { background-color: #ff0033; }

.c-inner { padding: 0 6.6666666667%; box-sizing: content-box; margin: 0 auto; }
img.c-ofi--cover { -o-object-fit: cover; object-fit: cover; }
img.c-ofi--contain { -o-object-fit: contain; object-fit: contain; }

.c-svg { visibility: hidden; }
.c-svg.replaced-svg { visibility: visible; }

.p-spn { display: flex; position: absolute; z-index: 1; }
.p-spn.is-start .swiper-pagination-bullet-active circle { -webkit-animation: stroke linear 8s; animation: stroke linear 8s; }
.p-spn .swiper-pagination-bullet { position: relative; font-weight: 500; font-size: 0.875rem; line-height: 1; font-family: "Heebo", sans-serif; }
.p-spn .swiper-pagination-bullet:not(:last-child) { margin: 0 0 2.1875rem; }
.p-spn svg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-90deg); fill: none; overflow: visible !important; height: 33px; width: 33px; }
.p-spn circle { fill: none; stroke-width: 4px; stroke-dashoffset: 314; stroke-dasharray: 314; }

.p-page--home__ttl { margin: 0 0 0.1875rem; }
.p-page--home__ttl--en { display: block; margin: 0 0 0.4375rem; font-weight: 800; font-family: "Heebo", sans-serif; font-size: 2.6875rem; line-height: 1.2093023256; }
.p-page--home__ttl--ja { font-size: 1.6875rem; line-height: 1.4814814815; display: flex; font-weight: 600; align-items: center; color: #474241;font-weight: bold;}
.p-page--home__ttl--icon.is-braces { background-color: #999; border-radius: 0.125rem 0; width: 9px; height: 9px; margin: 0 0.5625rem 0 0; }
.p-page--home__ttl--icon.is-column { fill: colo(darkgray); width: 27px; height: 12px; margin: 0 0.5625rem 0 0; }
.p-page--home__hero { position: relative; margin: 0 0 5%; }
.p-page--home__hero__wrap { position: relative; margin: 0 1.0625rem; }
.p-page--home__hero__head { position: absolute; z-index: 10; }
.p-page--home__hero__head .p-btn--line span { font-size: 1.125rem; line-height: 2; }
.p-page--home__hero__head.--first { left: 7.917888563%; top: 25%; }
.p-page--home__hero__head.--recruit { right: 20px; bottom: 64px; text-align: right; }
.p-page--home__hero__head.--recruit .p-btn--line { margin: 0 3px 0 0; }
.p-page--home__hero__copy { position: relative; }
.p-page--home__hero__copy:not(.--first) p { text-shadow: 0 0 0.4375rem rgb(0 0 0 / 40%); }
.p-page--home__hero__copy.--recruit span { display: block; color: #fff; font-family: "Heebo", sans-serif; font-weight: bold; font-size: 2.8125rem; line-height: 1; letter-spacing: 0.04em; text-shadow: 0 0 0.4375rem rgb(0 0 0 / 20%); }
.p-page--home__hero__copy p { font-size: 2.25rem; line-height: 1.3055555556; font-weight: bold; color: #fff; text-shadow: 0 0 0 rgb(0 0 0 / 0%); transition: text-shadow 1.6s 0.7s ease; }
.p-page--home__hero__copy .is-mttl.is-active { text-shadow: 0 0 0.4375rem rgb(0 0 0 / 20%); }
.p-page--home__hero__copy .is-mttl:nth-of-type(1) .is-mttl--top { transition: clip-path 0.5s 0.5s cubic-bezier(0, 0.85, 0.09, 0.09), -webkit-clip-path 0.5s 0.5s cubic-bezier(0, 0.85, 0.09, 0.09); }
.p-page--home__hero__copy .is-mttl:nth-of-type(2) .is-mttl--top { transition: clip-path 0.5s 0.75s cubic-bezier(0, 0.85, 0.09, 0.09), -webkit-clip-path 0.5s 0.75s cubic-bezier(0, 0.85, 0.09, 0.09); }
.p-page--home__hero__copy .is-mttl:nth-of-type(3) .is-mttl--top { transition: clip-path 0.5s 1s cubic-bezier(0, 0.85, 0.09, 0.09), -webkit-clip-path 0.5s 1s cubic-bezier(0, 0.85, 0.09, 0.09); }
.p-page--home__hero__copy .is-mttl:nth-of-type(4) .is-mttl--top { transition: clip-path 0.5s 1.25s cubic-bezier(0, 0.85, 0.09, 0.09), -webkit-clip-path 0.5s 1.25s cubic-bezier(0, 0.85, 0.09, 0.09); }
.p-page--home__hero__copy .is-mttl--top { color: #fff; }
.p-page--home__hero__copy .is-mttl--bottom { color: #ffa7a8; }
.p-page--home__hero .p-spn { flex-direction: column; right: 5.2785923754%; top: 25%; }
.p-page--home__hero .p-spn .swiper-pagination-bullet { display: block; cursor: pointer; color: #fff; text-shadow: 0 0 0.4375rem rgb(0 0 0 / 20%); }
.p-page--home__hero .p-spn .swiper-pagination-bullet:not(:last-child) { margin: 0 0 2.1875rem; }
.p-page--home__hero .p-spn svg { filter: drop-shadow(0 0 0.25rem rgb(0 0 0 / 30%)); }
.p-page--home__hero .p-spn circle { stroke: #fff; }
.p-page--home__hero .p-spn.is-start .swiper-pagination-bullet-active circle { -webkit-animation: stroke linear 7s; animation: stroke linear 7s; }
.p-page--home__hero .p-btn--line { margin: 0 0 0 4px; overflow: visible; }
.p-page--home__hero .p-btn--line::before,
.p-page--home__hero .p-btn--line::after { box-shadow: 0 0 0.25rem rgb(0 0 0 / 50%); }
.p-page--home__hero .p-btn--line span { text-shadow: 0 0 0.25rem rgb(0 0 0 / 50%); }
.p-page--home__hero .p-btn--line svg { filter: drop-shadow(0 0 0.25rem rgb(0 0 0 / 50%)); }
.p-page--home__hero__btn.--first { z-index: 1; position: relative; }
.p-page--home__hero__btn.--first.is-active .p-btn--line.is-white span { color: #fff; text-shadow: 0 0 0.25rem rgb(0 0 0 / 50%); }
.p-page--home__hero__btn.--first.is-active .p-btn--line.is-white svg { fill: #fff; filter: drop-shadow(0 0 0.25rem rgb(0 0 0 / 50%)); }
.p-page--home__hero__btn.--first.is-active .p-btn--line.is-white::after { background-color: #fff !important; box-shadow: 0 0 0.25rem rgb(0 0 0 / 50%); }
.p-page--home__hero__btn.--first .p-btn--line.is-white:hover::after { transition: transform 0.3s ease; }
.p-page--home__hero__btn.--first .p-btn--line.is-white span { color: #ffa7a8; text-shadow: 0 0 0 rgb(0 0 0 / 0%); transition: text-shadow 1.6s ease, color 0.7s ease; }
.p-page--home__hero__btn.--first .p-btn--line.is-white svg { fill: #ffa7a8; filter: drop-shadow(0 0 0 rgb(0 0 0 / 0%)); transition: filter 1.6s ease, fill 0.7s ease; }
.p-page--home__hero__btn.--first .p-btn--line.is-white::after { background-color: #ffa7a8 !important; box-shadow: 0 0 0 rgb(0 0 0 / 0%); transition: box-shadow 1.6s ease, background-color 0.7s ease; }
.p-page--home__hero__slider { border-radius: 4.0625rem 0; z-index: 1; }
.p-page--home__hero__slide .c-img__wrap,
.p-page--home__hero__slide picture { position: relative; overflow: hidden; display: block; }
.p-page--home__hero__slide .c-img__wrap img,
.p-page--home__hero__slide picture img { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
.p-page--home__hero__slide.swiper-slide-active .p-page--home__hero__slide__img img,
.p-page--home__hero__slide.swiper-slide-duplicate-active .p-page--home__hero__slide__img img,
.p-page--home__hero__slide.swiper-slide-prev .p-page--home__hero__slide__img img { transform: scale(1); }
.p-page--home__hero__slide.swiper-slide-active .is-dup-img img,
.p-page--home__hero__slide.swiper-slide-duplicate-active .is-dup-img img,
.p-page--home__hero__slide.swiper-slide-prev .is-dup-img img { transform: scale(1.098); }
.p-page--home__hero__slide__img { padding: 0 0 139.5894428152%; }
.p-page--home__hero__slide__img img { transform: scale(1.1); transition: transform 1s ease, filter 1s 0.5s ease }
.p-page--home__hero__slide .is-dup-img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 3.125rem 0; z-index: 1; width: 86.8187579214%; overflow: hidden }
.p-page--home__hero__slide .is-dup-img .c-img__wrap,
.p-page--home__hero__slide .is-dup-img picture { position: relative; overflow: hidden; display: block; }
.p-page--home__hero__slide .is-dup-img .c-img__wrap img,
.p-page--home__hero__slide .is-dup-img picture img { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
.p-page--home__hero__slide .is-dup-img__wrap { padding: 0 0 146.7128027682%; }
.p-page--home__hero__slide .is-dup-img img { transform: scale(1.2); transition: transform 1s ease; }
.p-page--home__hero__news { width: 75.7333333333%; background-color: #ff0033; height: auto; border-radius: 0 0.5625rem 0.5625rem 0; bottom: 0; left: 0; position: absolute; z-index: 1; transition: background-color 0.3s ease; }
.p-page--home__hero__news:hover { background-color: #e60012; }
.p-page--home__hero__news:hover .p-page--home__hero__news__ttl { color: #e60012; }
.p-page--home__hero__news__wrap { padding: 1rem 0.7rem 0.7rem; }
.p-page--home__hero__news__ttl { background-color: #fff; border-radius: 0.3125rem 0; color: #ff0033; display: flex; align-items: center; justify-content: center; height: 16px; padding: 0.0625rem 0.25rem 0; margin: 0 0.5625rem 0 0; font-size: 0.625rem; line-height: 1; font-weight: 500; font-family: "Heebo", sans-serif; transition: color 0.3s ease; }
.p-page--home__hero__news__item__head { display: flex; align-items: center; margin: 0 0 0.4375rem;justify-content: center; }
.p-page--home__hero__news__item__time { display: flex; align-items: center; color: #fff; font-family: "Heebo", sans-serif; font-weight: 500; font-size: 0.625rem; line-height: 1; }
.p-page--home__hero__news__item__time svg { fill: #fff; width: 12px; height: 12px; margin: 0 0.25rem 0.0625rem 0; }
.p-page--home__hero__news__item__ttl { font-size: 0.75rem; line-height: 1.5; color: #fff; }
.p-page--home__hero__news__item__ttl img,
.p-page--home__hero__news__item__ttl svg { width: 9px; height: 9px; margin: 0 0 0.1875rem 0.1875rem; }

.p-page--home { overflow: hidden; }
.p-mission__wrap { margin: 0 0 24%; }
.p-mission__head { margin: 0 0 2.5rem; }
.p-mission__head__ttl { font-weight: bold; font-size: 1.6875rem; line-height: 1.4814814815; margin: 0 0 1.5625rem; }
.p-mission__head__txt { font-size: 1rem; line-height: 1.625; padding: 3.4007352941% 0 0 0;}
.p-mission__list { margin: 0 0 16%; }
.p-mission__item__container { padding: 1.25rem 0 1rem; background-color: #f0f0f0; border-radius: 2rem 0; display: flex; position: relative; }
.p-mission__item__wrap:not(:last-child) { margin: 0 1.5rem 0 0; }
.p-mission__item__ttl { color: #ff0033; font-weight: bold; text-align: center; font-size: 1.3rem; line-height: 1.3888888889; }
.p-mission__item__img { background-color: #fff; display: flex; align-items: center; justify-content: center; border-radius: 50%; width: 100px; height: 100px; margin: 0 auto; }

.p-mission__triangle svg { width: 20px; height: 25px; fill: #fa6460 }
.p-target__wrap { margin: 0 0 28.9230769231%; }
.p-target__head { margin: 0 0 2.375rem; }
.p-target__body { padding: 2.75rem 0.8rem 2.375rem; background-color: #f0f0f0; position: relative; }

.p-target-head__ttl { font-weight: bold; font-size: 1.6875rem; line-height: 1.4814814815; }
.p-target-head__txt { font-size: 1rem; line-height: 1.625; margin: 1.5rem 0 0; }

.p-hbnr { position: relative; /*margin: 0 0 1.25rem;  */}
.p-hbnr__img { height: 80.6666666667vw; }
.p-hbnr__img .c-img__wrap,
.p-hbnr__img picture { position: relative; overflow: hidden; display: block; }
.p-hbnr__img .c-img__wrap img,
.p-hbnr__img picture img { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
.p-hbnr__img picture { padding: 0 0 80.6666666667vw; }
.p-hbnr__container { width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.p-page__bnr__item { display: block; flex-basis: 48.6%; position: relative; overflow: hidden; position: relative; border-radius:1.5rem;margin: 1.5rem 0.2rem}
.p-page__bnr__item:hover .p-page__bnr__item__layer img { opacity: 0; }
.p-page__bnr__item.is-tech:hover .p-page__bnr__item__layer img { transform: scale(1.03); }
.p-page__bnr__item.is-tech:hover .p-page__bnr__item__blur img { transform: scale(1.03); }
.p-page__bnr__item.is-tech:hover .p-page__bnr__item__img img { transform: scale(1.162); }
.p-page__bnr__item.is-tech .p-page__bnr__item__layer img { transform: scale(1); }
.p-page__bnr__item.is-tech .p-page__bnr__item__blur img { transform: scale(1); }
.p-page__bnr__item.is-tech .p-page__bnr__item__img img { transform: scale(1.132); }
.p-page__bnr__item.is-business:hover .p-page__bnr__item__layer img { transform: scale(1.03); }
.p-page__bnr__item.is-business:hover .p-page__bnr__item__blur img { transform: scale(1.03); }
.p-page__bnr__item.is-business:hover .p-page__bnr__item__img img { transform: scale(1.294); }
.p-page__bnr__item.is-business .p-page__bnr__item__layer img { transform: scale(1); }
.p-page__bnr__item.is-business .p-page__bnr__item__blur img { transform: scale(1); }
.p-page__bnr__item.is-business .p-page__bnr__item__img img { transform: scale(1.264); }
.p-page__bnr__item.is-meat:hover .p-page__bnr__item__layer img { transform: scale(1.03); }
.p-page__bnr__item.is-meat:hover .p-page__bnr__item__blur img { transform: scale(1.03); }
.p-page__bnr__item.is-meat:hover .p-page__bnr__item__img img { transform: scale(1.16); }
.p-page__bnr__item.is-meat .p-page__bnr__item__layer img { transform: scale(1); }
.p-page__bnr__item.is-meat .p-page__bnr__item__blur img { transform: scale(1); }
.p-page__bnr__item.is-meat .p-page__bnr__item__img img { transform: scale(1.13); }
.p-page__bnr__item::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; background-color: rgb(0 0 0 / 20%); pointer-events: none; height: 100%; width: 100%; z-index: 10; }
.p-page__bnr__item:hover .p-page__bnr__item__ttl--en svg.is-layer { opacity: 0; }
.p-page__bnr__item:hover .p-page__bnr__item__ttl--en svg.is-hover { opacity: 1; }
.p-page__bnr__item__deco { position: absolute; top: 50%; left: 50%; height: 100%; width: 100%; transform: translate(-50%, -50%); z-index: 10; }
.p-page__bnr__item__deco .c-img__wrap,
.p-page__bnr__item__deco picture { position: relative; overflow: hidden; display: block; }
.p-page__bnr__item__deco .c-img__wrap img,
.p-page__bnr__item__deco picture img { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
.p-page__bnr__item__deco picture { padding: 0 0 53.125%; }
.p-page__bnr__item__layer { position: absolute; height: 100%; width: 100%; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; }
.p-page__bnr__item__layer .c-img__wrap,
.p-page__bnr__item__layer picture { position: relative; overflow: hidden; display: block; }
.p-page__bnr__item__layer .c-img__wrap img,
.p-page__bnr__item__layer picture img { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
.p-page__bnr__item__layer picture { padding: 0 0 53.125%; }
.p-page__bnr__item__layer img { opacity: 1; transition: transform 0.3s ease, opacity 0.3s ease; }
.p-page__bnr__item__blur { position: relative; z-index: 1; }
.p-page__bnr__item__blur .c-img__wrap,
.p-page__bnr__item__blur picture { position: relative; overflow: hidden; display: block; }
.p-page__bnr__item__blur .c-img__wrap img,
.p-page__bnr__item__blur picture img { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
.p-page__bnr__item__blur picture { padding: 0 0 53.125%; }
.p-page__bnr__item__blur img { transition: transform 0.3s ease; }
.p-page__bnr__item__img { position: absolute; top: 50%; left: 50%; width: 100%; padding: 5.625%; transform: translate(-50%, -50%); z-index: 3; }
.p-page__bnr__item__img .c-img__wrap,
.p-page__bnr__item__img picture { position: relative; overflow: hidden; display: block; }
.p-page__bnr__item__img .c-img__wrap img,
.p-page__bnr__item__img picture img { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
.p-page__bnr__item__img picture { padding: 0 0 47.1830985915%; }
.p-page__bnr__item__img img { transition: transform 0.3s ease; }
.p-page__bnr__item__logo { width: 223px; }
.p-page__bnr__item__logo .c-img__wrap,
.p-page__bnr__item__logo picture { position: relative; overflow: hidden; display: block; }
.p-page__bnr__item__logo .c-img__wrap img,
.p-page__bnr__item__logo picture img { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
.p-page__bnr__item__logo picture { padding: 0 0 11.9051516568%; }
.p-page__bnr__item__ttl { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 100; }
.p-page__bnr__item__ttl--en { color: #fff; font-family: "Heebo", sans-serif; font-weight: bold; font-size: 1.6rem; line-height: 1; display: flex; align-items: center; margin: 0 0 8; white-space: nowrap; letter-spacing: .2rem;}
.p-page__bnr__item__ttl--en span { display: flex; align-items: center; justify-content: center; position: relative; width: 26px; height: 26px; border-radius: 50%; border: 2px solid #fff; margin: 0 0 0 0.5rem; }
.p-page__bnr__item__ttl--en svg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 26px; height: 26px; fill: #fff; }
.p-page__bnr__item__ttl--en svg.is-hover { opacity: 0; transition: opacity 0.3s ease; }
.p-page__bnr__item__ttl--en svg.is-layer { opacity: 1; transition: opacity 0.3s ease; }
.p-page__bnr__item__ttl--ja { color: #fff; font-weight: bold; font-size: 0.83rem; line-height: 1.6; padding: 0.5rem;text-align: center;letter-spacing: .1rem;}

.p-page__contact__container { width: 100%; position: absolute; top: 50%; left: 50%; z-index: 200; transform: translate(-50%, -50%); }
.p-page__contact__wrap { width: 100%; color: #fff; }
.p-page__contact__ttl { font-family: "Heebo", sans-serif; font-size: 0.9375rem; line-height: 1.6666666667; }
.p-page__contact__txt { font-size: 1.175rem; line-height: 1.3636363636; font-weight: bold; margin: 0 0 0.1rem; }
.p-page__contact__subtxt { font-size: 0.8125rem;line-height: 1.25rem;margin: 0 0 1.25rem 0;}

.p-btn--back { display: inline-flex; align-items: center; position: relative; overflow: hidden; }
.p-btn--back:hover span { color: #ff0033; }
.p-btn--back:hover svg { fill: #ff0033; }
.p-btn--back:hover::before { background-color: #ff0033; transform: scale(1, 1); transition: transform 0.3s 0.3s ease; }
.p-btn--back:hover::after { background-color: #ff0033; transform: scale(0, 1); transition: transform 0.3s ease; }
.p-btn--back::before,
.p-btn--back::after { content: ""; display: block; height: 2px; width: 100%; position: absolute; bottom: 2px; border-radius: 0.0625rem; left: 0; background-color: #ff0033; }
.p-btn--back::before { transform: scale(0, 1); transform-origin: left; transition: background-color 0.3s ease; }
.p-btn--back::after { transform: scale(1, 1); transform-origin: right; transition: background-color 0.3s ease; }
.p-btn--back svg { width: 20px; height: 20px; fill: #ff0033; margin: 0 0.5rem 0 0; transform: scale(-1, 1); transition: fill 0.3s ease; }
.p-btn--back span { color: #ff0033; font-weight: bold; transition: color 0.3s ease; font-size: 1.0625rem; line-height: 1.5294117647; }
.p-btn--line { display: inline-flex; align-items: center; position: relative; overflow: hidden; }
.p-btn--line:not(:last-child) { margin: 0 1.875rem 0 0; }
.p-btn--line:hover span { color: #ff0033; }
.p-btn--line:hover svg { fill: #ff0033; }
.p-btn--line:hover::before { background-color: #ff0033; transform: scale(1, 1); transition: transform 0.3s 0.3s ease; }
.p-btn--line:hover::after { background-color: #ff0033; transform: scale(0, 1); transition: transform 0.3s ease; }
.p-btn--line.is-white::before,
.p-btn--line.is-white::after { background-color: #fff !important; }
.p-btn--line.is-white span { color: #fff; }
.p-btn--line.is-white svg { fill: #fff; }
.p-btn--line.is-green::before { background-color: #ff0033; }
.p-btn--line.is-green span { color: #ff0033; }
.p-btn--line.is-green svg { fill: #ff0033; }
.p-btn--line::before,
.p-btn--line::after { content: ""; display: block; height: 2px; width: 100%; position: absolute; bottom: 2px; left: 0; background-color: #ff0033; transition: background-color 0.3s ease; }
.p-btn--line::before { transform-origin: left; transform: scale(0, 1); }
.p-btn--line::after { transform: scale(1, 1); transform-origin: right; }
.p-btn--line span { color: #474241; font-weight: bold; font-size: 0.9375rem; line-height: 2.2666666667; transition: color 0.3s ease; }
.p-btn--line svg { fill: #ff0033; width: 18px; height: 18px; margin: 0 0 0 0.5rem; transition: fill 0.3s ease; }
.p-btn--box { cursor: pointer; position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 60px; color: #000; transition: color 0.3s ease; overflow: hidden; }
.p-btn--box:not(:last-child) { margin: 0 2.5rem 0 0; }
.p-btn--box.is-green { color: #ff0033; }
.p-btn--box.is-green span { color: #ff0033; }
.p-btn--box.is-back svg { right: unset; left: 16px; }
.p-btn--box.is-blank svg { width: 12px; height: 12px; }
.p-btn--box span { position: relative; overflow: hidden; font-weight: bold; display: flex; align-items: center; justify-content: center; height: 100%; width: 100%; z-index: 1; color: #000; transition: color 0.3s ease; font-size: 0.9375rem; line-height: 1; z-index: 10; }
.p-btn--box svg { position: absolute; top: 50%; transform: translateY(-50%); right: 16px; height: 12px; width: 7.52px; fill: currentColor; transition: fill 0.3s ease; z-index: 11; }
.p-btn--leaf { background-color: #ff0033; transition: background-color 0.3s ease; border-radius: 1.0625rem 0; color: #fff; position: relative; height: 56px; width: 100%; display: flex; align-items: center; justify-content: center; }
.p-btn--leaf:hover { background-color: #ff0033; }
.p-btn--leaf span { display: block; font-weight: bold; font-size: 0.9375rem; line-height: 1; }
.p-btn--leaf svg { fill: #fff; width: 14px; height: 14px; right: 16px; position: absolute; top: 50%; transform: translateY(-50%); }
.p-btn--return { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.p-btn--return:hover svg { fill: #ffa7a8; }
.p-btn--return:hover span { color: #ffa7a8; }
.p-btn--return svg { width: 56px; height: 56px; fill: #fff; margin: 0 0 0.875rem; transition: fill 0.3s ease; }
.p-btn--return span { font-size: 0.75rem; line-height: 1; font-family: "Heebo", sans-serif; color: #fff; transition: color 0.3s ease; }

.p-tetable { margin: 1.5rem 0 0; }
.p-tetable__wrap { padding: 2.875rem 0.9375rem 2.375rem; border: 2px solid #f0f0f0; }
.p-tetable__body { position: relative; margin: 0 0 0 5.1823416507%; }
.p-tetable__arrow { position: absolute; top: 0; left: 0; display: block; width: 2px; height: calc(100% - 4px); border-radius: 0.0625rem; background-color: #474241; }
.p-tetable__arrow::before,
.p-tetable__arrow::after { content: ""; position: absolute; height: 2px; width: 9px; border-radius: 0.0625rem; background-color: #474241; display: block; bottom: 2px; }
.p-tetable__arrow::before { transform: rotate(-45deg); }
.p-tetable__arrow::after { transform: rotate(45deg); }
.p-tetable-head__item { display: flex; justify-content: center; align-items: center; color: #fff; font-size: 1rem; line-height: 1; font-weight: bold; position: relative; padding: 0.5625rem; }
.p-tetable-head__item:nth-of-type(1) { background-color: #999; }
.p-tetable-head__item:nth-of-type(1)::before { content: ""; display: block; position: absolute; top: 0; left: 0; }
.p-tetable-head__item:nth-of-type(2) { background-color: #ff0033; }
.p-tetable-head__item:nth-of-type(2)::before,
.p-tetable-head__item:nth-of-type(2)::after { content: ""; display: block; position: absolute; }
.p-tetable-head__item:nth-of-type(2)::before { top: 0; left: 0; border-top: 12px solid #999; }
.p-tetable-head__item:nth-of-type(2)::after { border-top: 12px solid #ff0033; }
.p-tetable-body__item { width: 100%; }
.p-tetable-body__item:not(:first-child) { margin: 1.6875rem 0 0; }
.p-tetable-body__item:nth-of-type(n + 3) .p-tetable-item__pin { border: 3px solid #ff0033; }
.p-tetable-item__pin { display: block; width: 14px; height: 14px; background-color: #fff; border: 3px solid #999; border-radius: 50%; margin: 0 1.25rem 0 0; position: relative; z-index: 1; }
.p-tetable-item__pin::after { content: ""; position: absolute; top: 50%; left: 11px; transform: translate(0, -50%); display: block; width: 11.4285714286vw; z-index: -1; height: 2px; background-size: 11px 2px; background-repeat: repeat-x; background-image: linear-gradient(to right, #999, #999 7px, transparent 7px, transparent 4px); }
.p-tetable-item__wrap { padding: 0.8125rem 50% 0.8125rem 0.75rem; width: 100%; position: relative; border-radius: 2rem 0; background-color: #f0f0f0; z-index: 2; }
.p-tetable-item__ttl { font-size: 0.9375rem; line-height: 1.4; letter-spacing: 0.04em; text-align: center; color: #ff0033; font-weight: bold; }
.p-tetable-item__img { background-color: #fff; border-radius: 50%; width: 42.8571428571%; max-width: 88px; max-height: 88px; }
.p-tetable-item__img .c-img__wrap,
.p-tetable-item__img picture { position: relative; overflow: hidden; display: block; }
.p-tetable-item__img .c-img__wrap img,
.p-tetable-item__img picture img { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
.p-tetable-item__img .c-img__wrap { padding: 0 0 100%; z-index: 1; }
.p-tetable-item__txt { font-size: 0.9875rem; line-height: 1.6666666667; letter-spacing: 0.06em; margin: 0.8125rem 0 0; }
 .p-tetable-item__txt b{display: block;/*display: flex; flex-direction: column; */} 
.u-device--pc { display: none; }
.u-device--sp { display: block; }




@media screen and (min-width: 48em) {
  .l-header { height: 96px; }
  .l-header__wrap { padding: 0 56px 0 36px; }
  .l-header__logo img { width: 300x; height: 59px; }
  .l-main { padding: 96px 0 0; }
  
  .c-inner { max-width: 1088px; padding: 0 7.5%; }
  
  .p-spn .swiper-pagination-bullet { font-size: 0.9375rem; line-height: 1; }
  
  .p-page--home__ttl--en { font-size: 3.75rem; line-height: 1.25; margin: 0 0 0.625rem; }
  .p-page--home__ttl--ja {font-size: 2.5rem;line-height: 1.2;letter-spacing: 0.35rem;}
  .p-page--home__ttl--icon.is-braces { margin: 0 0.75rem 0 0; border-radius: 0.1875rem 0; width: 10px; height: 10px; }
  .p-page--home__ttl--icon.is-column { margin: 0 0.6875rem 0 0; }
  .p-page--home__hero { margin: 0 0 7.75rem; }
  .p-page--home__hero__wrap { margin: 0 3.5rem; }
  .p-page--home__hero__head .p-btn--line span { font-size: 1.375rem; line-height: 2; letter-spacing:0.4rem}
  .p-page--home__hero__head.--first {  /*left: 100px; top: 50%; transform: translateY(-50%); */top: 50%;transform: translateY(-50%);position: absolute; left: 50%; transform: translateX(-50%) translateY(-50%); }
  .p-page--home__hero__head.--recruit { right: 109px; bottom: 114px; }
  .p-page--home__hero__head.--recruit .p-btn--line { margin: 0 6px 0 0; }
  .p-page--home__hero__copy.--first { margin: 0 0 1.25rem; }
  .p-page--home__hero__copy.--recruit { margin: 0 0 0.375rem; }
  .p-page--home__hero__copy.--recruit span { font-size: 4rem; line-height: 1; }
  .p-page--home__hero__copy p { font-size: 3rem; line-height: 1.4; }
  .p-page--home__hero__slider { border-radius: 5.125rem 0;}
  .p-page--home__hero .p-spn { top: 50%; transform: translateY(-50%); right: 5.2884615385%; }
  .p-page--home__hero .p-spn .swiper-pagination-bullet { font-size: 0.9375rem; line-height: 1; }
  .p-page--home__hero .p-spn .swiper-pagination-bullet:not(:last-child) { margin: 0 0 2.5rem; }
  .p-page--home__hero .p-spn svg { height: 36px; width: 36px; }
  .p-page--home__hero__slide.swiper-slide-active .is-dup-img img,
  .p-page--home__hero__slide.swiper-slide-duplicate-active .is-dup-img img,
  .p-page--home__hero__slide.swiper-slide-prev .is-dup-img img { transform: scale(1.124); }
  .swiper-slide{max-height: calc(100vh - 6rem - 2.6875rem)}
  .p-page--home__hero__slide__img { padding: 0 0 45.2525684932%; }
  .p-page--home__hero__slide .is-dup-img { border-radius: 5.9375rem 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 89.0410958904%; }
  .p-page--home__hero__slide .is-dup-img .c-img__wrap,
  .p-page--home__hero__slide .is-dup-img picture { position: relative; overflow: hidden; display: block; }
  .p-page--home__hero__slide .is-dup-img .c-img__wrap img,
  .p-page--home__hero__slide .is-dup-img picture img { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
  .p-page--home__hero__slide .is-dup-img__wrap { padding: 0 0 53.1730769231%; }
  .p-page--home__hero__slide .is-dup-img img { transform: scale(1.46); }
  .p-page--home__hero__news { width: 318px; max-height: 170px; bottom: 25px; border-radius: 0 0.9375rem 0.9375rem 0; }
  .p-page--home__hero__news__wrap { padding: 1.5rem 1.36rem; }
  .p-page--home__hero__news__ttl { margin: 0 0.875rem 0 0; height: 22px; padding: 0.1875rem 0.5625rem 0; font-size: 0.875rem; line-height: 1; }
  .p-page--home__hero__news__item__head { margin: 0 0 1rem; }
  .p-page--home__hero__news__item__time { font-size: 0.8125rem; line-height: 1; }
  .p-page--home__hero__news__item__time svg { width: 14px; height: 14px; margin: 0 0.5rem 0 0; }
  .p-page--home__hero__news__item__ttl { max-height: 63px; font-size: 0.875rem; line-height: 1.5;font-weight: 500; }
  .p-page--home__hero__news__item__ttl img,
  .p-page--home__hero__news__item__ttl svg { width: 11px; height: 11px; margin: 0 0 0.25rem 0.25rem; }
 
  .p-mission__wrap { margin: 0 0 6.0294117647%; }
  .p-mission__ttl {  margin: 0; }
  .p-mission__head { /*display: flex;*/ margin: 0 0 4.9852941176%; } 
 .p-mission__head__wrap { flex-basis: 68.0147058824%;  /*padding:0 0 0 3.4007352941%; */display: flex;align-items: center;} 
  .p-mission__head__ttl { font-size: 2.125rem; line-height: 1.5882352941; margin: 0 0 2.125rem; }
  .p-mission__head__txt { font-size: 1.16rem; line-height: 1.75;max-width: 960px; }
  .p-mission__list { display: flex; justify-content: space-between; align-items: flex-start; margin: 0 0 7.3529411765%; }
  .p-mission__item:not(:last-child) { flex-basis: 26.264706%; }
  .p-mission__item:not(:last-child) .p-mission__item__container { flex-direction: column; }
  .p-mission__item:last-child { flex-basis:26.264706%; }
  .p-mission__item__container { padding: 2rem 0; align-items: center; justify-content: center; border-radius: 2.5rem 0; }
  .p-mission__item__wrap:not(:last-child) { margin: 0 1.5rem 0 0; }
  .p-mission__item__ttl { margin: 0 0 16px; white-space: nowrap; font-size: 1.8rem; line-height: 1.8; }

  .p-mission__item__cmt { font-size: 1.25rem; line-height: 1; margin: 0 0 0.75rem; }
  .p-mission__item__cmt::after { margin: 0 0 0 0.75rem; }
  .p-mission__triangle { margin: auto 0;  /*padding: 2rem 0 0;*/ } 
  .p-mission__btn { display: flex; justify-content: center; }
  .p-mission__item__img { width: 190px; height: 190px; }
  .p-target__wrap { margin: 0 0 14.7058823529%; }
  .p-target__ttl { margin:0 0 1.05rem; }
  .p-target_head { margin: 0 0 3.375rem; }
  .p-target__body { padding: 2rem 0 2rem 2rem;border-radius:3.5rem 0 0 0;}
  .p-target__body::before { content: ""; height: 100%; width: calc(100% + 50vw - 50%); z-index: -1; position: absolute; top: 0; left: 0; background-color: #f0f0f0; border-radius:3.5rem 0 0 0;}

  .p-target-head__ttl { font-size: 2.5rem;line-height: 1.2;letter-spacing: 0.35rem;}
  .p-target-head__txt { font-size: 1.16rem; line-height: 1.75; margin: 1.9375rem 0 0; max-width: 960px; }

 
  .p-hbnr__ttl--en { font-size: 2.75rem; line-height: 1; }
  .p-hbnr__ttl--ja { font-size: 1.25rem; line-height: 1; margin: 1.3125rem 0 0; }
  .p-hbnr__img { height: 37.1vw; }
  .p-hbnr__img picture { padding: 0 0 37.125vw; }
  
  .p-page__eyecatch:not(:last-child) { margin: 0 0 8.1818181818%; }
  .p-page__eyecatch picture { border-radius: 1.25rem; }
  .p-page__main { width: 100%; max-width: 880px; }
  .p-page__ttl--nomal { margin: 0 0 2.5rem; font-size: 2.25rem; line-height: 1.5; }
  .p-page__ttl--ul { padding: 0 0 0 2.5rem; font-size: 2.5625rem; line-height: 1.3170731707; margin: 0 0 2.875rem; }
  .p-page__ttl--ul img,
  .p-page__ttl--ul svg { width: 24px; height: 24px; top: 15px; }
  .p-page__ttl--point { font-size: 1.875rem; line-height: 1.7333333333; margin: 0 0 1.875rem; }
  .p-page__ttl--point::after { margin: 0 0 0 0.75rem; }
  .p-page__ttl--flex { margin: 0 0 1.875rem; }
  .p-page__ttl--flex--en { font-size: 1.875rem; line-height: 1; }
  .p-page__ttl--flex--ja { margin: 0 0 0 1.0625rem; font-size: 0.9375rem; line-height: 1; }
  .p-page__ttl--center { font-size: 1.625rem; line-height: 2.0769230769; margin: 0 0 1.25rem; }
  .p-page__txt { margin: 0 0 6.5909090909%; }
  .p-page__bnr__wrap { display: flex; flex-wrap: wrap;}
  .p-page__bnr__item:only-child { flex-basis: 100%; }
  .p-page__bnr__item:only-child:hover .p-page__bnr__item__layer img,
  .p-page__bnr__item:only-child:hover .p-page__bnr__item__blur img { transform: scale(1.03); }
  .p-page__bnr__item:only-child:hover .p-page__bnr__item__img img { transform: scale(1.091); }
  .p-page__bnr__item:only-child .p-page__bnr__item__deco picture,
  .p-page__bnr__item:only-child .p-page__bnr__item__blur picture,
  .p-page__bnr__item:only-child .p-page__bnr__item__layer picture { padding: 0 0 26.5625%; }
  .p-page__bnr__item:only-child .p-page__bnr__item__blur img,
  .p-page__bnr__item:only-child .p-page__bnr__item__layer img { transform: scale(1); }
  .p-page__bnr__item:only-child .p-page__bnr__item__img { padding: 2.8125%; }
  .p-page__bnr__item:only-child .p-page__bnr__item__img picture { padding: 0 0 22.1854304636%; }
  .p-page__bnr__item:only-child .p-page__bnr__item__img img { transform: scale(1.06); }
  .p-page__bnr__item:only-child .p-page__bnr__item__ttl--en { font-size: 3.5rem; line-height: 1; margin: 0 0 0.875rem 0.625rem; }
  .p-page__bnr__item:only-child .p-page__bnr__item__ttl--en span { width: 48px; height: 48px; margin: 0 0 0 1rem; }
  .p-page__bnr__item:only-child .p-page__bnr__item__ttl--en svg { width: 48px; height: 48px; }
  .p-page__bnr__item:only-child .p-page__bnr__item__ttl--ja { text-align: center; }
  .p-page__bnr__item:only-child .p-page__bnr__item__logo { width: 407px; }
  .p-page__bnr__item__ttl--en {font-size: 2.6rem; line-height: 1; margin: 0 0 0.25rem; letter-spacing: .47rem;padding:0 4.23rem}
  .p-page__bnr__item__ttl--en span { width: 36px; height: 36px; margin: 0 0 0 1.0625rem; }
  .p-page__bnr__item__ttl--en svg { width: 36px; height: 36px; }
  .p-page__bnr__item__ttl--ja { font-size: 1.1rem;  line-height: 1.5555555556; letter-spacing: .18rem;}
  .p-page__recruit:hover .p-page__recruit__layer img { opacity: 0; transform: scale(1.03) !important; }
  .p-page__recruit:hover .p-page__recruit__blur img { transform: scale(1.03) !important; }
  .p-page__recruit:hover .p-page__recruit__img img { transform: scale(1.092) !important; }
  .p-page__recruit__layer picture,
  .p-page__recruit__blur picture { padding: 0 0 26.5625%; }
  .p-page__recruit__layer img,
  .p-page__recruit__blur img { transform: scale(1) !important; }
  .p-page__recruit__img { width: calc(100% - 5.625vw); }
  .p-page__recruit__img picture { padding: 0 0 20.9375vw; }
  .p-page__recruit__img img { transform: scale(1.062) !important; }
  .p-page__contact__ttl { font-size: 1rem; line-height: 3.1875;font-weight: 500;}
  .p-page__contact__subtxt { font-size: 1rem; line-height: 3.1875; }
  .p-page__contact__txt { font-size: 2rem; line-height: 1.5; margin: 0 0 1.25rem; }
  
  .p-btn--line svg { margin: 0 0 0 0.625rem; }
  
  .p-page__bnr__item {margin: 0.4rem;flex-basis: 46.6%;cursor: default;}
  .p-tetable-body__item:not(:first-child) { margin: 0 0 0 1.875rem; }
  .p-tetable-body__item:nth-of-type(n + 3) .p-tetable-item__pin { border: 4px solid #ff0033; }
  .p-tetable-item__wrap { padding: 1.875rem 0 1.5rem; margin: 1.5rem 0 0; border-radius: 2.5rem 0; }
  .p-tetable-item__img { margin: 16px auto 0; width: 64.8648648649%; max-width: 144px; max-height: 144px; }
  .p-tetable-item__pin { width: 18px; height: 18px; margin: 0 auto; border: 4px solid #999; }
  .p-tetable-item__pin::after { top: 17px; left: 50%; transform: translate(-50%, 0); width: 2px; height: 22px; background-size: 2px 11px; background-repeat: repeat-y; background-image: linear-gradient(to bottom, #999, #999 7px, transparent 7px, transparent 4px); }
  .p-tetable-item__ttl { font-size: 1.125rem; line-height: 1; }
  .p-tetable-item__txt { margin: 1.125rem 0 0; }
  .u-device--pc { display: block }
  .u-device--sp { display: none; }
}

@media screen and (min-width: 768px) {
  body { min-width: 1280px; }

  @supports (width: min(10px, 5vw)) { body { min-width: 1024px; } }
  .p-ctoc__wrap { max-width: 67%; }
  .p-archive--news .c-fv__ttl { padding: 1.5rem 0 0; }
  .p-page--recruit .c-fv__ttl { padding: 1.5rem 1.25rem 0 0; }
}

@media screen and (min-width: 1200px) {
  .l-footer { padding: 5rem 0 6.5rem; }
  .l-footer__wrap { display: flex; justify-content: space-between; align-items: flex-start; }
  .l-footer__logo { margin: 0 0 11.375rem; }
  .l-footer__bottom { display: flex; justify-content: space-between; }
  .l-footer__sns__ttl { margin: 0 0 16px; font-size: 0.875rem; line-height: 1; }
  .l-footer__menu { display: flex; }
  .l-footer__privacy { font-size: 0.6875rem; line-height: 1; }
  .l-footer__copy { position: absolute; left: 50%; transform: translateX(-50%); }
  .l-footer__copy span { font-size: 0.75rem; line-height: 1; }
  .l-fmenu-wrap:not(:last-child) { margin: 0 34px 0 0; }
  
  .l-nav__wrap { display: flex; }
  .l-nmnu { display: flex; align-items: center; margin: 0 1.375rem 0 0; }
  .l-nmnu__item.has-child:hover .l-nmnu__child { opacity: 1; visibility: visible; }
  .l-nmnu__item:hover .l-nmnu__item__ttl { color: #ff0033 }
  .l-nmnu__item__ttl { padding: 13px; font-size: 0.875rem; line-height: 1; }
  .l-nmnu__child { opacity: 0; visibility: hidden; padding: 3.125rem 0 0; position: absolute; top: 30px; left: 50%; transform: translateX(-50%); }
  .l-nmnu__child__wrap { width: 237px; background-color: #474241; padding: 2.75rem 1.875rem; border-radius: 0.625rem; }
  .l-nmnu__child__triangle { position: absolute; top: 30px; left: 50%; transform: translateX(-50%); fill: #474241 !important; width: 32px; height: 25px; }
  .l-nmnu__child__item:not(:last-of-type) { margin: 0 0 25px; }
  .l-nmnu__child__item__ttl--en { font-size: 1rem; line-height: 1; margin: 0 0 10px; }
  .l-nmnu__child__item__ttl--en svg { height: 8px; width: 6px; margin: 0 8px 0 0; }
  .l-nmnu__child__item__ttl--ja { padding: 0 0 0 14px; color: #f0f0f0; font-size: 0.8125rem; line-height: 1; }
  
  .l-cont__item { height: 52px; width: 52px; border-radius: 50%; }
  .l-cont__item span { font-size: 0.9375rem; line-height: 1; }
  .l-cont__item svg { margin: 0 0 0.0625rem; }
   
  .p-page--home__hero__slider {border-radius: 8.125rem 0;}
  .p-page--home__hero__slide__img { padding: 0 0 35.2525684932%; }
  .p-page--home__hero__copy p { font-size: 4.2rem; line-height: 1.4; }
  .p-target__body { padding: 3.75rem 0 3.75rem 4.5rem;border-radius:3.5rem 0 0 0;}
  .p-hbnr__img { height: 31.1vw; }
  .p-hbnr__img picture {padding: 0 0 31.125vw;}
}


@media screen and (max-width: 1200px) { .p-page--home__hero__news__item__ttl { max-height: 42px; overflow: hidden; } }

@media screen and (max-width: 1199px) {
  .l-footer .u-device--sp { display: block; }
  .l-footer .u-device--pc { display: none; }
  .l-footer__wrap { padding: 0 3.0769230769vw; position: relative; }
  .l-footer__privacy { margin: 0 0 20px; }
  .l-footer__menu { margin: 0 0 14.7692307692vw; }
  .l-footer__bnr { margin: 0 0 3rem; }
  .l-footer__sns__list { margin: 0 0 12px; }
  
  .l-nav { top: 0; left: 0; position: fixed; width: 100%; height: 100vh; background: #fff; overflow-y: scroll; }
  .l-nav .u-device--sp { display: block; }
  .l-nav .u-device--pc { display: none; }
  .l-nav[aria-hidden="true"] { opacity: 0; visibility: hidden; pointer-events: none; }
  .l-nav[aria-hidden="false"] { pointer-events: auto; }
  .l-nav__wrap { padding: 6.25rem 6.6666666667% 8rem; display: flex; flex-direction: column; }
  .l-nav__logo { position: absolute; top: 0; right: 0; }
  .l-nav__logo svg { fill: #f0f0f0; width: 136px; height: 153.5px; }
  .l-nmnu { margin: 0 0 6.9230769231%; order: 1; }
  .l-nmnu .u-device--sp { display: block; }
  .l-nmnu .u-device--pc { display: none; }
  .l-nmnu__child__wrap { padding: 0.4375rem 0 0; }
  .l-nmnu__child__item:not(:last-of-type) { margin: 0 0 0.4375rem; }
  .l-nmnu__child__item:hover .l-nmnu__child__item__ttl--ja::before { background-color: #ff0033; }
  .l-nmnu__child__item__ttl { display: block; padding: 3.0769230769vw 3.0769230769vw 3.0769230769vw 4.3076923077vw; }
  .l-nmnu__child__item__ttl--ja { position: relative; font-weight: bold; display: flex; align-items: center; justify-content: space-between; list-style-type: disc; list-style-position: inside; padding: 0 0 0 1em; }
  .l-nmnu__child__item__ttl--ja::before { position: absolute; top: 50%; transform: translateY(-50%); left: 2px; content: ""; height: 5px; width: 5px; background-color: #474241; border-radius: 50%; transition: background-color 0.3s ease; }
  .l-nmnu__child__item__ttl--ja svg { fill: #ff0033; }
  .l-nmnu__item:not(:last-child) { margin: 0 0 0.4375rem; }
  .l-nmnu__item:not(.has-child):hover .l-nmnu__item__ttl { color: #ff0033; }
  .l-nmnu__item:not(.has-child):hover svg { fill: #ff0033; }
  .l-nmnu__item:not(.has-child) svg { fill: #e60012; }
  .l-nmnu__item__ttl { display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
 
  .l-nbtn { display: block; }
  .l-nbtn .u-device--sp { display: block; }
  .l-nbtn .u-device--pc { display: none; }
  .l-cont { order: 4; padding: 0 3.0769230769vw; }
  .l-cont__item { padding: 1.5rem 0.25rem 1.5rem 0; }
  .l-cont__item svg { margin: 0 0.75rem 0 0; }
  .p-cslider__item__ttl { max-height: 62px; }

}

@media screen and (max-width: 767px) {
  /* body:not(.is-home) .l-header { background-color: #fff; } */
  /* .is-fade--up { transform: translateY(0.25rem) translateX(-0.0625rem); } */
 
  .p-cfv__ttl--ja { margin: 0 0 0 0.125rem; }
  
  .p-tech .p-fig__wrap { padding: 0 0 75.9440559441%; }
  
  .p-page--home__hero { padding: 0 0 15.2492668622%; }
  .p-page--home__hero__copy.--first { margin: 0 0 0.875rem; }
  .p-page--home__hero__news__item__ttl { max-height: 36px !important; }
  .p-mission__item__wrap.is-exp img { position: relative; right: 5px; bottom: 2px; }
  .p-mission__item__cmt { padding: 0 0 0 1rem; }
  .p-mission__item:not(:last-child) .p-mission__item__container { height: 131px; padding: 0 43.2307692308% 0 4.6153846154%; }
  .p-mission__item:not(:last-child) .p-mission__item__wrap { width: 100%; justify-content: center; }
  .p-mission__item .p-mission__item__img { position: absolute; top: 50%; transform: translateY(-50%); right: 30px; }
  .p-mission__item:not(:last-child) .p-mission__item__wrap { display: flex; align-items: center; }
  .p-mission__item:last-child .p-mission__item__container { justify-content: center;height: 131px;padding: 0 43.2307692308% 0 4.6153846154%; }
  .p-mission__item:last-child .p-mission__item__wrap {display: flex;align-items: center;width: 100%;justify-content: center;}

  .p-mission__triangle { margin: 1.375rem 0 0; text-align: center; }
  .p-mission__triangle:nth-child(2) { margin: 1.375rem 0 1.75rem; }
  .p-mission__triangle svg { transform: rotate(90deg); }
  .p-mission__btn { padding: 0 6.1538461538%; }
  .p-target__body { margin: 0 0 16%;border-radius: 2.1875rem 0; }
 
  
  .swiper .p-aci__ttl { font-size: 0.875rem; line-height: 1.4285714286; }
  .swiper .p-aci__txt { font-size: 0.75rem; line-height: 1.5; }
  .swiper .p-aci__cat a { font-size: 0.75rem; line-height: 1.8333333333; min-width: 90px; padding: 0 0.8125rem; height: 24px; }
  
  .p-page__bnr__item__ttl { width: 100%; display: flex; flex-direction: column; align-items: center; padding: 0.9rem;}
  .p-page__contact__ttl { margin: 0 0 0.375rem;font-weight: 500; }
  .p-page__contact__wrap { padding: 0 3.0769230769%; }
  
}

@media screen and (max-width: 480px) {
  .p-page--home__hero__copy p { transition: text-shadow 1.6s 0.7s ease; }
  .p-page--home__hero__copy .is-mttl.is-active { text-shadow: 0 0 0.4375rem rgb(0 0 0 / 20%); }
  .p-page--home__hero__copy .is-mttl:nth-of-type(1) .is-mttl--top { transition: clip-path 0.4s 0.5s cubic-bezier(0, 0.85, 0.09, 0.09), -webkit-clip-path 0.4s 0.5s cubic-bezier(0, 0.85, 0.09, 0.09); }
  .p-page--home__hero__copy .is-mttl:nth-of-type(2) .is-mttl--top { transition: clip-path 0.4s 0.55s cubic-bezier(0, 0.85, 0.09, 0.09), -webkit-clip-path 0.4s 0.55s cubic-bezier(0, 0.85, 0.09, 0.09); }
  .p-page--home__hero__copy .is-mttl:nth-of-type(3) .is-mttl--top { transition: clip-path 0.4s 0.6s cubic-bezier(0, 0.85, 0.09, 0.09), -webkit-clip-path 0.4s 0.6s cubic-bezier(0, 0.85, 0.09, 0.09); }
  .p-page--home__hero__copy .is-mttl:nth-of-type(4) .is-mttl--top { transition: clip-path 0.4s 0.65s cubic-bezier(0, 0.85, 0.09, 0.09), -webkit-clip-path 0.4s 0.65s cubic-bezier(0, 0.85, 0.09, 0.09); }
  .p-page--home__hero__btn.--first .p-btn--line.is-white span { transition: text-shadow 1.6s ease, color 0.25s ease; }
  .p-page--home__hero__btn.--first .p-btn--line.is-white svg { transition: filter 1.6s ease, fill 0.25s ease; }
  .p-page--home__hero__btn.--first .p-btn--line.is-white::after { transition: box-shadow 1.6s ease, background-color 0.25s ease; }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  img.c-ofi--cover { font-family: "object-fit: cover;"; }
  img.c-ofi--contain { font-family: "object-fit: contain;"; }
}


