@charset "UTF-8";
/*-----------------------------------*/
/*-----------------------------------*/
/*-----------------------------------
	フォントスタイル
-----------------------------------*/
/*-----------------------------------
	スタイル
-----------------------------------*/
/*-----------------------------------
	トランジション
-----------------------------------*/
/*-----------------------------------
	矢印のホバーアニメーション
-----------------------------------*/
/*-----------------------------------
	ダウンロードアイコン
-----------------------------------*/
/*-----------------------------------
	画像のホバーアニメーション
-----------------------------------*/
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sassを使用しているので、cssファイルを直接編集しないでください。
先祖返りの原因となります。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* foundation/_reset.scss
-------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
button {
  margin: 0;
  padding: 0;
  width: initial;
  height: initial;
  font-size: 100%;
  font: inherit;
  color: inherit;
  line-height: inherit;
  vertical-align: baseline;
  background: initial;
  border: 0;
}

hgroup,
menu,
aside,
details,
header,
footer,
article,
main,
section,
nav,
figcaption,
figure,
em {
  display: block;
}

span {
  display: inline;
}

html {
  font-size: 62.5%;
}

*:focus {
  outline: none;
}

input,
textarea {
  font-family: "Noto Sans JP", sans-serif;
}

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

table th {
  background-clip: padding-box;
}

table td {
  word-break: break-all;
  background-clip: padding-box;
}

ul {
  list-style: none;
}

ol {
  padding-left: 1.2em;
}

i,
em {
  font-style: normal;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

*:not(table):not(tbody):not(thead):not(tfoot):not(tr) {
  position: relative;
  box-sizing: border-box;
}

a {
  text-decoration: none;
}

/* foundation/_base.scss
-------------------------------------------------- */
body {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  color: #111111;
  transition: opacity 0.8s ease 0.6s;
}

img,
svg {
  width: 100%;
  vertical-align: bottom;
}

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

a {
  white-space: wrap;
}

b {
  font-weight: 700;
}

em {
  font-style: italic;
}

strong {
  font-weight: 700;
}

input,
select,
textarea {
  font-size: 16px;
  line-height: 1.75;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  overflow: auto;
  resize: none;
}

input::-ms-clear {
  visibility: hidden;
}

select::-ms-expand {
  display: none;
}

[data-hidden] {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  color: transparent;
  opacity: 0;
  transform: scale(0);
}

@media screen and (min-width: 1001px) {
  [data-device=sp] {
    display: none !important;
  }
  [data-device=tb] {
    display: none !important;
  }
  a[href^=tel] {
    pointer-events: none;
  }
}
@media screen and (max-width: 1000px) {
  [data-device=pc] {
    display: none !important;
  }
  [data-device=sp] {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  body {
    -webkit-overflow-scrolling: touch;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  [data-device=pc] {
    display: none !important;
  }
  [data-device=sp] {
    display: initial !important;
  }
}
/*-----------------------------------*/
/*-----------------------------------*/
/* Slider */
/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 40%;
  display: block;
  width: 30px;
  height: 30px;
  padding: 0;
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev {
  transform: translate(0, -50%) scale(-1, -1);
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  font-size: 20px;
  line-height: 1;
  background-image: url(../img/common/ico_arrow.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
@media screen and (max-width: 768px) {
  .slick-prev {
    left: 0px;
  }
}

[dir=rtl] .slick-prev {
  right: -25px;
  left: auto;
}
@media screen and (max-width: 768px) {
  [dir=rtl] .slick-prev {
    left: 0px;
  }
}

.slick-next {
  right: -25px;
}
@media screen and (max-width: 768px) {
  .slick-next {
    right: 0px;
  }
}

[dir=rtl] .slick-next {
  right: auto;
  left: -25px;
}
@media screen and (max-width: 768px) {
  [dir=rtl] .slick-next {
    right: 0px;
  }
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 50px;
}

.slick-dots {
  position: absolute;
  bottom: -32px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 8px;
  height: 8px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  width: 8px;
  height: 8px;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  text-align: center;
  background-color: #CFCFCF;
  border-radius: 50%;
  opacity: 0.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  opacity: 1;
  background-color: #FF0E00;
}

/*-----------------------------------*/
/*-----------------------------------*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  height: 100%;
  line-height: 0;
  min-height: 1px;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* custom arrows */
.slick-arrow {
  width: 40px;
  height: 40px;
  top: 50%;
  z-index: 1;
}
.slick-arrow::before {
  width: 100%;
  height: 100%;
  background-color: #fff;
  background-image: url(../img/common/ico_arrow_black_right.svg);
  background-size: 16px 15px;
  background-position: center;
  background-repeat: no-repeat;
  border: 1px solid #111111;
}
.c-bg--black .slick-arrow::before {
  background-color: transparent;
  background-image: url(../img/common/ico_arrow_white_right.svg);
  border-color: #fff;
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-accordion__summary {
  marker: none;
  display: block;
  width: 100%;
  position: relative;
}
.c-accordion__summary::before, .c-accordion__summary::after {
  content: "";
  width: 15px;
  height: 2px;
  background-color: #111111;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  pointer-events: none;
  transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
}
.c-accordion__summary::before {
  transform: translateY(-50%) rotate(-90deg);
}
.is-open > .c-accordion__summary::before {
  transform: translateY(-50%) rotate(0deg);
}
@media screen and (min-width: 1001px) {
  .sp .c-accordion__summary {
    pointer-events: none;
  }
  .sp .c-accordion__summary::before, .sp .c-accordion__summary::after {
    display: none;
  }
}
.c-accordion-table tr {
  transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
}
.c-accordion-table__action {
  text-align: center;
  margin-top: 24px;
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-article {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.c-article h1 {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .c-article h1 {
    font-size: 32px;
  }
}
.c-article h2 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
.c-article h3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
.c-article h4 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
}
.c-article h5, .c-article h6 {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0;
  font-weight: 700;
}
.c-article ul {
  list-style: inside disc;
}
.c-article blockquote {
  border-left: 4px solid #111111;
  padding-left: 16px;
}
.c-article a {
  text-decoration: underline;
}
@media screen and (min-width: 1001px) {
  .c-article a {
    transition: opacity ease-out 0.3s;
  }
  .c-article a:hover {
    opacity: 0.6;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-bg {
  background-color: #EFEFEF;
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  padding: 9px 0;
}
.c-breadcrumb__item {
  color: #888888;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0;
}
.c-breadcrumb__item + .c-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: 16px;
}
.c-breadcrumb__item + .c-breadcrumb__item::before {
  content: "";
  width: 16px;
  height: 1px;
  background-color: #CFCFCF;
}
.c-breadcrumb__item > a {
  color: #111111;
}
@media screen and (min-width: 1001px) {
  .c-breadcrumb__item > a {
    transition: opacity ease-out 0.3s;
  }
  .c-breadcrumb__item > a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 1000px) {
  .c-breadcrumb {
    display: none;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-button {
  /*-----------------------------------
  	.c-button--primary
  -----------------------------------*/
  /*-----------------------------------
  	.c-button--click
  -----------------------------------*/
  /*-----------------------------------
  	.c-button--arrow
  -----------------------------------*/
  /*-----------------------------------
  	.c-button--insta
  -----------------------------------*/
}
.c-button--primary {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0;
  position: relative;
  color: #111111;
  background-color: rgba(255, 255, 255, 0.5);
  border: 1px solid transparent;
  border-color: #CFCFCF;
  display: block;
  width: 304px;
  padding: 16px 8px;
  margin: auto;
  margin-top: 40px;
  text-align: center;
  box-sizing: border-box;
  transition: color 0.4s ease, border-color 0.4s ease;
}
.c-button--primary::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  background: transparent;
  opacity: 0;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  transition: all 0.4s ease;
}
.c-button--primary span {
  position: relative;
  z-index: 1;
}
.c-button--primary input {
  color: #333;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
}
.c-button--primary input:hover {
  color: #CF8573;
}
.c-button--primary:hover {
  border-color: transparent;
}
.c-button--primary:hover span {
  color: transparent;
  background-image: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
}
.c-button--primary:hover::before {
  background: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%);
  opacity: 1;
}
.c-button--click {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0;
  color: #111111;
  display: block;
  flex-shrink: 0;
}
.c-button--click:hover .c-button--arrow, .hover-wrapper:hover .c-button--click .c-button--arrow {
  background-image: url(../../assets/img/common/arrow_view_hover.svg);
  transform: translateX(6px);
}
.c-button--click__text {
  display: inline-block;
  transition: all 0.4s ease;
}
.c-button--click__text:hover, .hover-wrapper:hover .c-button--click__text {
  background-image: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  transition: opacity 0.5s ease, background-position 0.5s ease;
}
.c-button--arrow {
  display: inline-block;
  background-image: url(../../assets/img/common/arrow_view.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  width: 15px;
  height: 12px;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  margin-left: 4px;
  margin-top: 8px;
}
.c-button--insta {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  background-image: url(../../assets/img/common/icon_instagram.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: opacity 0.4s ease;
}
.c-button--insta:hover {
  background-image: url(../../assets/img/common/icon_instagram_hover.svg);
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-container {
  margin: 80px 0;
}
.c-container[class*=c-bg--] {
  margin: 0;
  padding: 80px 0;
}
@media screen and (max-width: 768px) {
  .c-container {
    margin: 40px 0;
  }
  .c-container[class*=c-bg--] {
    margin: 0;
    padding: 40px 0;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-fade {
  opacity: 0;
  transition: all 0.8s ease-out;
}
.c-fade__mv {
  opacity: 0;
  transition: all 0.8s ease-out;
}
.is-loaded .c-fade__mv {
  opacity: 1;
}
.c-fade.is-start {
  opacity: 1;
}

.delay-01 {
  transition-delay: 0.4s;
}

.delay-02 {
  transition-delay: 0.6s;
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-form {
  margin: 80px 0 160px;
}
.c-form__item {
  display: flex;
  gap: 32px;
}
.c-form__item + .c-form__item {
  margin-top: 24px;
}
@media screen and (max-width: 1000px) {
  .c-form__item {
    flex-direction: column;
    gap: 8px;
  }
}
.c-form__heading {
  width: 160px;
}
@media screen and (max-width: 1000px) {
  .c-form__heading {
    width: 100%;
  }
}
.c-form__required {
  display: flex;
  gap: 8px;
  position: relative;
}
.c-form__required::after {
  content: "※";
  color: #FF0E00;
  font-size: 75.5%;
}
.c-form__body {
  width: calc(100% - 160px - 32px);
}
@media screen and (min-width: 1001px) {
  .c-form__body--md {
    max-width: 280px;
  }
}
@media screen and (max-width: 1000px) {
  .c-form__body {
    width: 100%;
  }
  .c-form__body--indent {
    padding-left: 16px;
  }
}
.c-form__notes {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0;
}
.c-form__input, .c-form__textarea {
  width: 100%;
  border: 1px solid #CFCFCF;
  padding: 4px 16px;
}
.c-form__select {
  display: inline-block;
  max-width: 100%;
}
.c-form__select::after {
  content: "";
  width: 8px;
  height: 8px;
  border-left: 2px solid #111111;
  border-bottom: 2px solid #111111;
  position: absolute;
  top: 13px;
  right: 16px;
  transform: rotate(-45deg);
  pointer-events: none;
}
.c-form__select select {
  max-width: 100%;
  border: 1px solid #CFCFCF;
  background-color: #fff;
  padding: 4px 40px 4px 16px;
}
@media screen and (min-width: 1001px) {
  .c-form__body--md .c-form__select {
    width: 100%;
  }
  .c-form__body--md .c-form__select select {
    width: 100%;
  }
}
@media screen and (max-width: 1000px) {
  .c-form__select {
    width: 100%;
  }
  .c-form__select select {
    width: 100%;
  }
}
.c-form__checkbox {
  margin-top: 8px;
}
.c-form__checkbox .wpcf7-list-item {
  margin-left: 0;
}
.c-form__checkbox .wpcf7-list-item input {
  display: none;
}
.c-form__checkbox .wpcf7-list-item-label {
  position: relative;
  padding-left: 28px;
}
.c-form__checkbox .wpcf7-list-item-label::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 1px solid #CFCFCF;
  border-radius: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.c-form__checkbox .wpcf7-list-item-label::after {
  content: "";
  width: 9px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  top: 45%;
  left: 5.5px;
  transform: translateY(-50%) rotate(-45deg);
}
.c-form__checkbox input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background-color: #CFCFCF;
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-heading-h1 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.8;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-heading-h1 {
    font-size: 32px;
  }
}
.c-heading-h2 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
}
.c-heading-h3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  font-family: "Noto Sans JP", sans-serif;
}
.c-heading-h4 {
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-inner, .c-inner--sm, .c-inner--lg {
  width: 90%;
  max-width: 1128px;
  margin-left: auto;
  margin-right: auto;
}
.c-inner--lg {
  max-width: 1440px;
}
.c-inner--sm {
  max-width: 1040px;
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-list {
  list-style: outside;
  padding-left: 1em;
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-media {
  max-width: 1440px;
  display: flex;
  align-items: center;
  gap: 80px;
}
@media screen and (max-width: 768px) {
  .c-media {
    flex-direction: column;
    gap: 40px;
  }
}
.c-media__inner {
  max-width: 600px;
}
@media screen and (max-width: 768px) {
  .c-media__inner {
    width: 90%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.c-media__img {
  width: 560px;
}
@media screen and (max-width: 768px) {
  .c-media__img {
    width: 100%;
  }
}
.c-media__content {
  width: calc(100% - 560px);
}
@media screen and (max-width: 768px) {
  .c-media__content {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .c-media--reverse {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 1001px) {
  .c-media--reverse .c-media__content {
    display: flex;
    justify-content: flex-end;
  }
}
@media screen and (min-width: 1001px) {
  .c-media--right {
    margin-left: auto;
    margin-right: 0;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-message__wrap {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
.c-message__item {
  display: flex;
  gap: 80px;
  width: 1240px;
}
.c-message__item:nth-child(even), .c-message__item--reverse {
  flex-direction: row-reverse;
  margin-left: calc(100% - 1240px);
}
.c-message__image {
  width: calc(45% - 40px);
}
.c-message__body {
  width: calc(55% - 40px);
}
.c-message__body--center {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.c-message__title {
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
}
.c-message__tile {
  display: flex;
}
.c-message__tile-item {
  width: 33.3333333333%;
}
.c-message__tile-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1001px) {
  .c-message__item--bg {
    width: 100%;
    min-height: 388px;
    background: no-repeat center/cover;
  }
  .c-message__item--bg.founded {
    background-image: url(../img/company/history_bg_01.png);
  }
  .c-message__item--bg.history {
    background-image: url(../img/company/history_bg_02.png);
  }
  .c-message__item--bg.development {
    background-image: url(../img/company/history_bg_03.png);
  }
  .c-message__item--bg .c-message__body {
    width: 640px;
    height: 100%;
    min-height: 388px;
    background-color: #fff;
    padding: 72px 98px 0;
    margin-left: 8.3%;
  }
  .c-message__item--bg:nth-child(even), .c-message__item--bg--reverse {
    margin-left: 0;
  }
  .c-message__item--bg:nth-child(even) .c-message__body, .c-message__item--bg--reverse .c-message__body {
    margin-left: 0;
    margin-right: 8.3%;
  }
}
@media screen and (max-width: 1000px) {
  .c-message__wrap {
    gap: 40px;
  }
  .c-message__item {
    flex-direction: column;
    gap: 40px;
    width: 100%;
  }
  .c-message__item:nth-child(even), .c-message__item--reverse {
    flex-direction: column;
    margin-left: 0;
  }
  .c-message__item--bg {
    background: none;
  }
  .c-message__item--bg::after {
    content: "";
    width: 90%;
    padding-bottom: 66%;
    background: no-repeat center/cover;
    margin: 0 5%;
  }
  .c-message__item--bg.founded::after {
    background-image: url(../img/company/history_bg_01_sp.png);
  }
  .c-message__item--bg.history::after {
    background-image: url(../img/company/history_bg_02_sp.png);
  }
  .c-message__item--bg.development::after {
    background-image: url(../img/company/history_bg_03_sp.png);
  }
  .c-message__image {
    width: 100%;
    padding: 0 5%;
  }
  .c-message__image--no-padding {
    padding: 0;
  }
  .c-message__body {
    width: 100%;
    padding: 0 5%;
  }
  .c-message__tile {
    width: 90%;
    margin: 0 5%;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-movie {
  width: 100%;
  padding-bottom: 56.25%;
  position: relative;
}
.c-movie iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-page__section {
  padding-top: 160px;
  padding-bottom: 160px;
}
.c-page__section--compact {
  padding-top: 80px;
  padding-bottom: 160px;
}
@media screen and (max-width: 768px) {
  .c-page__section {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.c-page__container + .c-page__container {
  margin-top: 80px;
}
.c-page__item + .c-page__item {
  margin-top: 40px;
}
.c-page__unit + .c-page__unit {
  margin-top: 24px;
}
.c-page__cell + .c-page__cell {
  margin-top: 8px;
}
.c-page__header {
  text-align: center;
  padding-top: 56px;
  padding-bottom: 56px;
}
.c-page__header__sub {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.c-page__title {
  margin-bottom: 80px;
}
@media screen and (max-width: 1000px) {
  .c-page__title {
    margin-bottom: 40px;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-pagination {
  margin-top: 80px;
}
.c-pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 12px;
}
.c-pagination .page-numbers:not(.prev):not(.next) {
  display: flex;
  align-items: center;
  color: #333333;
  background-color: #fff;
  padding: 4px 12px;
  transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
}
.c-pagination .page-numbers:not(.prev):not(.next).current {
  color: #fff;
  background-color: #CFCFCF;
  pointer-events: none;
}
.c-pagination .page-numbers.prev .c-button--arrow {
  transform: rotate(180deg);
}
.c-pagination .page-numbers.prev:hover .c-button--arrow {
  background-image: url(../../assets/img/common/arrow_view_hover.svg);
  transform: translateX(-6px) rotate(180deg);
  opacity: 1;
  pointer-events: none;
}
.c-pagination .page-numbers.next:hover .c-button--arrow {
  background-image: url(../../assets/img/common/arrow_view_hover.svg);
  transform: translateX(6px);
  pointer-events: none;
}
@media screen and (min-width: 1001px) {
  .c-pagination .page-numbers:not(.prev):not(.next):hover {
    color: #fff;
    background-color: #CFCFCF;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-spacer--xs {
  margin-top: 8px;
}
.c-spacer--sm {
  margin-top: 16px;
}
.c-spacer--md {
  margin-top: 24px;
}
.c-spacer--lg {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .c-spacer--lg {
    margin-top: 16px;
  }
}
.c-spacer--xl {
  margin-top: 48px;
}
@media screen and (max-width: 768px) {
  .c-spacer--xl {
    margin-top: 40px;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.c-text-link {
  text-decoration: underline;
}
@media screen and (min-width: 1001px) {
  .c-text-link {
    transition: opacity ease-out 0.3s;
  }
  .c-text-link:hover {
    opacity: 0.6;
  }
}
.c-text-link[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background: no-repeat center/cover;
  background-image: url(../img/common/icon_blank.svg);
  margin-left: 8px;
}

/*-----------------------------------*/
/*-----------------------------------*/
.l-body {
  width: 100vw;
  overflow-x: hidden;
  transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
}
.l-body.is-loaded {
  opacity: 1;
}

/*-----------------------------------*/
/*-----------------------------------*/
.l-footer-inner {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .l-footer-inner {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 1001px) {
  .l-footer-col {
    width: 50%;
  }
}
.l-footer-col--info {
  background-color: #efefef;
}
@media screen and (min-width: 1001px) {
  .l-footer-col--info {
    position: relative;
  }
}
.l-footer-col--info__inner {
  padding: 40px 54px 42px;
}
@media screen and (min-width: 1001px) {
  .l-footer-col--info__inner {
    justify-content: right;
    gap: 72px;
  }
}
@media screen and (max-width: 768px) {
  .l-footer-col--info__inner {
    padding: 40px 16px 66px;
  }
}
.l-footer-col--contact {
  font-size: 18px;
  line-height: 1.75;
  letter-spacing: 0;
  background-image: url(../../assets/img/common/footer_bg.png);
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: cover;
}
.l-footer-col--contact__inner {
  padding: 120px 0 145px;
}
@media screen and (max-width: 768px) {
  .l-footer-brand {
    text-align: center;
  }
}
.l-footer-logo {
  width: 212px;
  height: 80px;
}
@media screen and (max-width: 768px) {
  .l-footer-logo {
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
  }
}
.l-footer-company {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0;
  margin-top: 16px;
}
@media screen and (min-width: 1001px) {
  .l-footer-company {
    line-height: 1.8;
  }
}
.l-footer-group {
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0;
  margin-top: 40px;
}
.l-footer-group__list {
  margin-top: 8px;
}
.l-footer-group__item:hover {
  opacity: 0.8;
}
.l-footer-group__item + .l-footer-group__item {
  margin-top: 8px;
}
.l-footer-group__child-list {
  margin-top: 8px;
}
.l-footer-group__child-item {
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (min-width: 1001px) {
  .l-footer-group__child-item {
    margin-left: 16px;
  }
}
.l-footer-group__child-item + .l-footer-group__child-item {
  margin-top: 8px;
}
.l-footer-group__child-item .c-button--click {
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .l-footer-group__child-item .c-button--click {
    justify-content: center;
  }
}
.l-footer-group__child-item .c-button--arrow {
  margin-right: 24px;
}
@media screen and (max-width: 768px) {
  .l-footer-group__child-item .c-button--arrow {
    margin-left: 0;
  }
}
.l-footer-links {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (min-width: 1001px) {
  .l-footer-links {
    padding-top: 96px;
  }
}
@media screen and (max-width: 768px) {
  .l-footer-links {
    text-align: center;
  }
}
.l-footer-links-item:hover {
  opacity: 0.8;
}
.l-footer-links-item + .l-footer-links-item {
  margin-top: 8px;
}
.l-footer-links-item img {
  width: 27px;
  height: 27px;
  margin-top: 16px;
}
.l-footer-cta {
  gap: 32px;
}
.l-footer-cta .c-button--primary {
  margin-top: 0;
}
.l-footer-bottom {
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0;
  width: 100%;
  background-color: #efefef;
}
.l-footer-bottom::before {
  content: "";
  display: block;
  background-color: #ccc;
  height: 1px;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 40px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .l-footer-bottom::before {
    bottom: 38px;
  }
}
@media screen and (min-width: 1001px) {
  .l-footer-bottom__inner {
    position: absolute;
    bottom: 0;
    right: calc(100vw - 50% + 74px);
    gap: 160px;
    padding: 8px 0;
  }
}
@media screen and (max-width: 768px) {
  .l-footer-bottom-item {
    padding: 8px;
    text-align: center;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.l-header {
  width: 100%;
  height: 80px;
  box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.15);
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  /*-----------------------------------
  	.l-header-inner
  -----------------------------------*/
  /*-----------------------------------
  	.l-header-logo
  -----------------------------------*/
  /*-----------------------------------
  	.l-header-menu
  -----------------------------------*/
  /*-----------------------------------
  	.l-header-toggle
  -----------------------------------*/
  /*-----------------------------------
  	.l-header-drawer
  -----------------------------------*/
}
@media screen and (max-width: 1000px) {
  .l-header {
    width: 100%;
    top: 0;
    left: 0;
  }
}
.l-header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .l-header-inner {
    width: 100%;
    height: 80px;
    padding-left: 16px;
    padding-right: 16px;
  }
}
.l-header-logo {
  width: 148px;
}
@media screen and (max-width: 1000px) {
  .l-header-logo {
    height: 38px;
  }
}
@media screen and (max-width: 768px) {
  .l-header-logo {
    height: 56px;
  }
}
.l-header-menu {
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 1000px) {
  .l-header-menu {
    flex-direction: column;
    width: 100%;
    height: 100vh;
    max-height: calc(100vh - 40px);
    background-color: #fff;
    padding: 80px 20px 0;
    position: fixed;
    top: 80px;
    left: 0;
    overflow-y: scroll;
    transform: translateX(-100%);
    opacity: 0;
    z-index: -1;
    transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
  }
  .l-header-menu.is-drawer-open {
    transform: translateX(0);
    opacity: 1;
  }
}
.l-header-menu__link {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 80px;
  cursor: pointer;
  padding: 0 16px;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (min-width: 1001px) {
  .l-header-menu__link {
    transition: all ease-out 0.3s;
  }
  .l-header-menu__link:hover {
    color: #333333;
  }
}
.l-header-menu__link:hover {
  opacity: 0.8;
}
@media screen and (max-width: 1000px) {
  .l-header-menu__link {
    justify-content: space-between;
    width: 100%;
    height: auto;
    padding: 16px;
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0;
  }
}
.is-open .l-header-menu__link {
  color: #FF0E00;
}
.l-header-menu__link--online {
  display: inline;
  background-color: #E5E5E5;
  border-radius: 15px;
  padding: 2px 16px;
  margin-left: 16px;
}
@media screen and (max-width: 1000px) {
  .l-header-menu__link--online {
    display: block;
    margin-left: 0;
    margin-top: 16px;
    margin-bottom: 16px;
  }
}
.l-header-menu__link--inner {
  display: flex;
  align-items: center;
  margin-left: 16px;
}
@media screen and (max-width: 1000px) {
  .l-header-menu__link--inner {
    margin-left: 0;
  }
}
.l-header-menu__link--lang {
  padding: 0 8px;
}
@media screen and (max-width: 1000px) {
  .l-header-menu__link--lang {
    padding: 16px 8px;
  }
}
.l-header-menu__link.toggle::before {
  content: "";
  width: 1px;
  height: 15px;
  background-color: #FF0E00;
  position: absolute;
  top: 50%;
  right: 31px;
  transform: translate(-50%, -50%);
  transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
}
@media screen and (min-width: 1001px) {
  .l-header-menu__link.toggle:hover::before, .l-header-menu__link.toggle.is-open::before {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
  }
}
@media screen and (max-width: 1000px) {
  .l-header-menu__link.toggle.is-open::before {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
  }
}
.l-header-menu__link.toggle::after {
  content: "";
  width: 15px;
  height: 1px;
  background-color: #FF0E00;
}
@media screen and (min-width: 1001px) {
  .l-header-menu__link.toggle:hover + .l-header-toggle__wrap {
    transform: translateY(0);
  }
}
.l-header-menu__link.contact {
  position: relative;
}
@media screen and (min-width: 1001px) {
  .l-header-menu__link.contact {
    border-left: 1px solid #E7E7E7;
  }
  .l-header-menu__link.contact::before {
    content: "";
    width: 20px;
    height: 15px;
    background-image: url(../img/common/ico_contact_black.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
  }
  .l-header-menu__link.contact::after {
    content: "";
    width: 20px;
    height: 15px;
    background-image: url(../img/common/ico_contact_green.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 24px;
    transform: translateY(-50%);
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
  }
  .l-header-menu__link.contact:hover::before {
    opacity: 0;
  }
  .l-header-menu__link.contact:hover::after {
    opacity: 1;
  }
}
.l-header-toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100vw - 80px);
  height: 64px;
  background-color: #E7E7E7;
  border-radius: 0 0 15px 15px;
}
@media screen and (max-width: 1000px) {
  .l-header-toggle {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
    height: auto;
    border-radius: 15px;
    transform: translateY(0);
    padding: 16px 40px;
    position: relative;
    top: auto;
    left: auto;
    z-index: 1;
    overflow: hidden;
  }
  .l-header-toggle__wrap {
    display: none;
  }
}
@media screen and (min-width: 1001px) {
  .l-header-toggle__wrap {
    display: block;
    transform: translateY(-100%);
    position: fixed;
    top: 101px;
    left: 40px;
    z-index: -1;
    transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
  }
  .l-header-toggle__wrap:hover {
    transform: translateY(0);
  }
}
.l-header-toggle__link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-right: 40px;
  /* 別窓で開く アイコン差し替え */
  /*-----------------------------------
  	矢印のホバーアニメーション
  -----------------------------------*/
  padding: 0 56px 0 24px;
  position: relative;
}
@media screen and (min-width: 1001px) {
  .l-header-toggle__link {
    transition: all ease-out 0.3s;
  }
  .l-header-toggle__link:hover {
    color: #333333;
  }
}
.l-header-toggle__link::before {
  content: "";
  width: 16px;
  height: 14px;
  background-image: url(../img/common/ico_arrow_green_right.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
  opacity: 0;
}
.l-header-toggle__link::after {
  content: "";
  width: 16px;
  height: 14px;
  background-image: url(../img/common/ico_arrow_black_right.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
  opacity: 1;
}
.l-header-toggle__link[target=_blank]::before, [target=_blank] .l-header-toggle__link::before {
  background-image: url(../img/common/ico_blank_green.svg);
}
.l-header-toggle__link[target=_blank]::after, [target=_blank] .l-header-toggle__link::after {
  background-image: url(../img/common/ico_blank_black.svg);
}
@media screen and (min-width: 1001px) {
  .hover-wrap:hover .l-header-toggle__link::before, .l-header-toggle__link:hover::before {
    transform: translateX(8px) translateY(-50%);
    opacity: 1;
  }
  .hover-wrap:hover .l-header-toggle__link::after, .l-header-toggle__link:hover::after {
    transform: translateX(8px) translateY(-50%);
    opacity: 0;
  }
  .l-header-toggle__link[target=_blank]:hover::before, .hover-wrap[target=_blank]:hover .l-header-toggle__link::before {
    transform: translateX(0) translateY(-50%);
    opacity: 1;
  }
  .l-header-toggle__link[target=_blank]:hover::after, .hover-wrap[target=_blank]:hover .l-header-toggle__link::after {
    transform: translateX(0) translateY(-50%);
    opacity: 0;
  }
  .hover-wrap.no-link .l-header-toggle__link::before, .hover-wrap.no-link .l-header-toggle__link::after, .l-header-toggle__link.no-link::before, .l-header-toggle__link.no-link::after {
    display: none;
  }
}
.c-bg--black .l-header-toggle__link::after {
  background-image: url(../img/common/ico_arrow_white_right.svg);
}
.l-header-toggle__link.submit::after {
  background-image: url(../img/common/ico_arrow_white_right.svg);
}
@media screen and (min-width: 1001px) {
  .l-header-toggle__link.submit:hover::after {
    background-image: url(../img/common/ico_arrow_green_right.svg);
  }
}
@media screen and (max-width: 1000px) {
  .l-header-toggle__link {
    padding: 0;
  }
  .l-header-toggle__link::before, .l-header-toggle__link::after {
    display: none;
  }
}
.l-header-drawer {
  width: 40px;
  height: 40px;
}
.l-header-drawer__line, .l-header-drawer__line--03, .l-header-drawer__line--02, .l-header-drawer__line--01 {
  display: block;
  width: 30px;
  height: 3px;
  right: 5px;
  background-color: #111111;
  position: absolute;
  transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
}
.l-header-drawer__line--01 {
  top: calc(50% - 8px);
  transform: translateY(-50%);
}
.l-header-drawer__line--02 {
  top: 50%;
  transform: translateY(-50%);
}
.l-header-drawer__line--03 {
  top: calc(50% + 8px);
  transform: translateY(-50%);
}
.is-drawer-open .l-header-drawer__line--01 {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.is-drawer-open .l-header-drawer__line--02 {
  opacity: 0;
}
.is-drawer-open .l-header-drawer__line--03 {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (min-width: 1001px) {
  .l-header-drawer {
    display: none;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.l-main {
  margin-top: 80px;
}

/*-----------------------------------*/
/*-----------------------------------*/
.p-brand {
  /*-----------------------------------
  	.p-brand-goods
  -----------------------------------*/
  /*-----------------------------------
  	.p-brand-movie
  -----------------------------------*/
}
.p-brand-goods {
  display: flex;
  gap: 80px;
}
.p-brand-goods__item {
  width: 33.3333333333%;
}
.p-brand-goods__img {
  gap: 40px;
  margin-bottom: 40px;
}
.p-brand-goods__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
.p-brand-goods__name {
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-bottom: 24px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 1000px) {
  .p-brand-goods {
    flex-direction: column;
  }
  .p-brand-goods__item {
    width: 100%;
  }
}
.p-brand-movie {
  padding: 200px 0;
  background-image: url("../../assets/img/brand-bunta/bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.p-brand-movie__inner {
  width: 90%;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}
.p-brand-movie__youtube {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}
.p-brand-movie__youtube iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1000px) {
  .p-brand-movie {
    padding: 40px 0;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.p-company {
  /*-----------------------------------
  	.p-company-tab
  -----------------------------------*/
  /*-----------------------------------
  	.p-company-history
  -----------------------------------*/
}
.p-company-tab {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 80px;
}
.p-company-tab__item {
  display: block;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0;
}
.p-company-tab__item.is-current a {
  background-color: #CFCFCF;
}
.p-company-tab__item a {
  border: 1px solid #CFCFCF;
  padding: 4px 16px;
  transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
}
@media screen and (min-width: 1001px) {
  .p-company-tab__item a:hover {
    color: transparent;
    background-image: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -o-border-image: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%) 1;
       border-image: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%) 1;
    border: 1px solid #CF8573;
  }
}
.p-company-history__img {
  height: 388px;
}
@media screen and (max-width: 768px) {
  .p-company-history__img {
    height: auto;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.p-materials {
  /*-----------------------------------
  	.p-materials-about
  -----------------------------------*/
  /*-----------------------------------
  	.p-materials-type
  -----------------------------------*/
  /*-----------------------------------
  	.p-materials-projects
  -----------------------------------*/
}
.p-materials-about {
  display: flex;
  gap: 40px;
}
.p-materials-about__item {
  display: flex;
  gap: 24px;
  width: calc(50% - 20px);
}
.p-materials-about__image {
  width: calc(50% - 12px);
}
.p-materials-about__body {
  width: calc(50% - 12px);
}
.p-materials-about__title {
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 1000px) {
  .p-materials-about {
    flex-direction: column;
  }
  .p-materials-about__item {
    flex-direction: column;
    width: 100%;
  }
  .p-materials-about__image {
    width: 100%;
  }
  .p-materials-about__body {
    width: 100%;
  }
}
.p-materials-type__title {
  border-bottom: 1px solid #CFCFCF;
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
}
.p-materials-type__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 40px;
}
.p-materials-type__item {
  width: calc(50% - 12px);
  background-color: #fff;
}
.p-materials-type__body {
  padding: 16px;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0;
}
.p-materials-type__heading {
  border-bottom: 1px solid #CFCFCF;
  margin-bottom: 18px;
  padding: 8px 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
.p-materials-type__example {
  display: flex;
  margin-top: 16px;
}
.p-materials-type__example-title {
  flex-shrink: 0;
  font-weight: 700;
}
.p-materials-type__img {
  position: relative;
}
.p-materials-type__caption {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
  height: 100%;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  background-color: rgba(51, 51, 51, 0.9);
  position: absolute;
  top: 0;
  right: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 1000px) {
  .p-materials-type__list {
    flex-direction: column;
  }
  .p-materials-type__item {
    width: 100%;
  }
  .p-materials-type__img {
    padding-bottom: 50%;
    position: relative;
    transition: all 0.5s cubic-bezier(0.213, 0.62, 0.353, 1);
  }
  .sp .p-materials-type__img {
    padding-bottom: 24.3%;
  }
  .sp .p-materials-type__img.is-active {
    padding-bottom: 50%;
  }
  .p-materials-type__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .p-materials-type__caption {
    text-align: center;
  }
}
.p-materials-projects h2 + p {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .p-materials-projects h2 + p {
    margin-top: 40px;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.p-home {
  /*-----------------------------------
  	.p-home-mv
  -----------------------------------*/
  /*-----------------------------------
  	.p-home-news
  -----------------------------------*/
  /*-----------------------------------
  	.p-home-materials
  -----------------------------------*/
  /*-----------------------------------
  	.p-home-projects
  -----------------------------------*/
  /*-----------------------------------
  	.p-home-brand
  -----------------------------------*/
  /*-----------------------------------
  	.p-home-company
  -----------------------------------*/
}
.p-home .c-heading-h2 {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .p-home .c-heading-h2 {
    margin-bottom: 40px;
  }
}
.p-home__inner {
  padding-top: 160px;
  padding-bottom: 160px;
}
@media screen and (max-width: 768px) {
  .p-home__inner {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.p-home-mv {
  position: relative;
  height: 100vh;
  background: url("../../assets/img/index/mv.jpg") no-repeat center/cover;
  margin-top: 80px;
}
@media screen and (min-width: 1001px) {
  .p-home-mv {
    min-height: 500px;
    max-height: 720px;
  }
}
@media screen and (max-width: 768px) {
  .p-home-mv {
    height: 60vh;
    padding-top: 40px;
  }
}
.p-home-news {
  padding-top: 80px;
}
@media screen and (max-width: 768px) {
  .p-home-news {
    padding-top: 40px;
  }
}
.p-home-news__head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-bottom: 1px solid #888888;
  padding-bottom: 16px;
}
.p-home-news__head .c-heading-h2 {
  margin-bottom: 0;
}
.p-home-news__list {
  padding-top: 40px;
}
.p-home-news__item {
  position: relative;
  overflow: hidden;
  padding: 8px;
  transition: background 0.4s ease;
}
.p-home-news__item + .p-home-news__item {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .p-home-news__item + .p-home-news__item {
    margin-top: 40px;
  }
}
.p-home-news__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: left;
  margin-left: 40px;
  margin-right: 40px;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-home-news__title {
    margin-left: 0;
    margin-right: 8px;
    margin-top: 0;
  }
}
.p-home-materials__img {
  height: 388px;
}
@media screen and (max-width: 768px) {
  .p-home-materials__img {
    height: auto;
  }
}
.p-home-materials__inner {
  background-image: url("../../assets/img/index/materials_bg.png");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: cover;
}
.p-home-materials__title {
  color: #fff;
}
.p-home-materials__text {
  color: #fff;
}
.p-home-projects {
  background-color: #EFEFEF;
}
.p-home-projects__list .slick-track {
  display: flex;
}
.p-home-projects__list .slick-slide {
  height: auto;
}
.p-home-projects__list .slick-slide > div {
  height: 100%;
}
.p-home-projects__card .slick-track {
  display: flex;
}
.p-home-projects__card .slick-slide {
  height: auto;
}
.p-home-projects__detail {
  padding-top: 192px;
}
@media screen and (max-width: 768px) {
  .p-home-projects__detail {
    padding-top: 80px;
  }
}
.p-home-projects__detail .c-button--primary {
  margin-top: 0;
}
.p-home-projects .js-project-slider {
  position: relative;
}
.p-home-projects .slick-list {
  width: 100%;
}
.p-home-projects .slick-prev,
.p-home-projects .slick-next {
  top: auto;
  bottom: -96px;
  transform: none;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .p-home-projects .slick-prev,
.p-home-projects .slick-next {
    bottom: -40px;
  }
}
.p-home-projects .slick-prev {
  left: calc(50% - 100px);
  margin-bottom: 2px;
}
.p-home-projects .slick-next {
  right: calc(50% - 100px);
  margin-bottom: 2px;
}
.p-home-projects .slick-dots {
  bottom: -96px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-home-projects .slick-dots {
    bottom: -40px;
  }
}
.p-home-projects .slick-dotted.slick-slider {
  margin-bottom: 0;
}
.p-home-projects .slick-dots li button::before {
  display: none;
}
.p-home-projects .slick-dots li button {
  width: 10px;
  height: 10px;
  background-image: url(../../assets/img/common/slider_dot.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  padding: 0;
  border: none;
}
.p-home-projects .slick-dots li.slick-active button {
  background-image: url(../../assets/img/common/slider_dot_active.svg);
}
.p-home-projects .slick-dots li button:hover {
  opacity: 0.5;
}
.p-home-projects .slick-dots li {
  margin: 0 12px;
}
.p-home-projects .slick-prev::before,
.p-home-projects .slick-next::before {
  display: none;
}
.p-home-projects .slick-prev,
.p-home-projects .slick-next {
  width: 15px;
  height: 10px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.p-home-projects .slick-prev {
  background-image: url(../../assets/img/common/arrow_view.svg);
  transform: rotate(180deg);
}
.p-home-projects .slick-prev:hover {
  background-image: url(../../assets/img/common/arrow_view_hover.svg);
  transform: rotate(180deg) translateX(6px);
}
.p-home-projects .slick-next {
  background-image: url(../../assets/img/common/arrow_view.svg);
  margin-left: 3px;
}
.p-home-projects .slick-next:hover {
  background-image: url(../../assets/img/common/arrow_view_hover.svg);
  transform: translateX(6px);
}
.p-home-projects .slick-arrow::before {
  background: transparent;
  background-image: none;
  border: none;
}
.p-home-brand .c-heading-h3 {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.p-home-brand__list {
  gap: 80px;
  justify-content: center;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .p-home-brand__list {
    margin-top: 40px;
  }
}
.p-home-brand__item {
  width: calc(33.3333333333% - 53.3333333333px);
}
@media screen and (max-width: 768px) {
  .p-home-brand__item {
    width: 100%;
  }
}
.p-home-brand__item__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1;
}
.p-home-brand__item_text {
  margin-top: 16px;
}
.p-home-brand__item__content {
  margin-top: 40px;
  margin-bottom: 40px;
}
.p-home-brand__item__content .c-heading-h3 {
  line-height: 1;
}
.p-home-company__inner {
  background-image: url("../../assets/img/index/company_bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding-top: 160px;
  padding-bottom: 160px;
}
@media screen and (max-width: 768px) {
  .p-home-company__inner {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.p-home-company__title {
  color: #fff;
}
.p-home-company__text {
  color: #fff;
}

/*-----------------------------------*/
/*-----------------------------------*/
.p-news {
  /*-----------------------------------
  	.p-news
  -----------------------------------*/
  /*-----------------------------------
  	.p-news-archive
  -----------------------------------*/
  /*-----------------------------------
  	.p-news-single
  -----------------------------------*/
  /*-----------------------------------
  	.p-news__category
  -----------------------------------*/
  /*-----------------------------------
  	.p-news__filter
  -----------------------------------*/
}
.p-news__date {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0;
  color: #888888;
  flex-shrink: 0;
  min-width: 105px;
}
@media screen and (max-width: 768px) {
  .p-news__date {
    min-width: 120px;
  }
}
.p-news__categories {
  display: flex;
  align-items: center;
}
.p-news__filter--link {
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0;
  color: #fff;
  background-color: #333333;
  border: 1px solid #333333;
  border-radius: 20px;
  padding: 0 10px 2px;
}
.p-news__filter--link.is-active {
  background-color: #fff;
  color: #333333;
}
.p-news__filter--link:hover {
  background-color: #fff;
  color: #333333;
}
.p-news-archive__header {
  width: 20%;
}
@media screen and (max-width: 768px) {
  .p-news-archive__header {
    width: auto;
  }
}
.p-news-archive__list {
  padding-top: 0;
}
.p-news-archive__item {
  position: relative;
  overflow: hidden;
  transition: background 0.4s ease;
}
.p-news-archive__item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 0;
}
.p-news-archive__item:hover::before {
  opacity: 0.1;
}
.p-news-archive__item:hover .p-news__category {
  color: transparent;
  background-image: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -o-border-image: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%) 1;
     border-image: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%) 1;
  border: 1px solid #CF8573;
}
.p-news-archive__item:hover .c-button--arrow {
  background-image: url(../../assets/img/common/arrow_view_hover.svg);
  transform: translateX(6px);
}
.p-news-archive__click {
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
}
.p-news-single {
  padding-top: 80px;
  padding-bottom: 160px;
}
@media screen and (max-width: 768px) {
  .p-news-single {
    padding-bottom: 80px;
  }
}
.p-news-single__related {
  border-top: 1px solid #CFCFCF;
  margin-top: 120px;
  padding-top: 40px;
}
.p-news-single__related-title {
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
}
.p-news-single__related-text {
  margin-bottom: 16px;
}
@media screen and (max-width: 1000px) {
  .p-news-single__related {
    margin-top: 80px;
  }
}
.p-news__category {
  position: relative;
  z-index: 1;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0;
  color: #fff;
  background-color: #333333;
  border: 1px solid #333333;
  border-radius: 20px;
  padding: 0 10px 2px;
  flex-shrink: 0;
  transition: color 0.4s ease, border-color 0.4s ease;
}
.p-news__category:hover .p-news__category {
  background-color: #fff;
  color: transparent;
  background-image: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -o-border-image: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%) 1;
     border-image: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%) 1;
}
.p-news__filter + .p-news__filter {
  margin-left: 16px;
}
.p-news__filter--link {
  display: inline-block;
  border: 1px solid #333333;
  border-radius: 20px;
  background: #333333;
  color: #fff;
  transition: 0.3s;
}
.p-news__filter--link:hover {
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%) border-box;
  border: 1px solid transparent;
}
.p-news__filter--link:hover span {
  background: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/*-----------------------------------*/
/*-----------------------------------*/
@counter-style zenkaku-decimal {
  system: numeric;
  symbols: "０" "１" "２" "３" "４" "５" "６" "７" "８" "９";
}
.p-privacy__section + .p-privacy__section {
  margin-top: 40px;
}
.p-privacy__subsection {
  margin-top: 16px;
}
.p-privacy__heading {
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-privacy__heading {
    line-height: 1.8;
  }
}
.p-privacy__subheading {
  font-weight: 700;
  margin-bottom: 8px;
}
.p-privacy__indent {
  padding-left: 16px;
}
.p-privacy__list {
  list-style: inside;
}
.p-privacy__list--number {
  list-style: none;
  counter-reset: privacy-number;
  padding-left: 0;
}
.p-privacy__list--number > li {
  counter-increment: privacy-number;
  position: relative;
  padding-left: calc(2.2em + 8px);
}
.p-privacy__list--number > li::before {
  content: "（" counter(privacy-number, zenkaku-decimal) "）";
  position: absolute;
  left: 0;
  top: 0;
}

/*-----------------------------------*/
/*-----------------------------------*/
.p-project {
  /*-----------------------------------
  	.p-project-single
  -----------------------------------*/
  /*-----------------------------------
  	.p-project-archive
  -----------------------------------*/
}
.p-project-single__mv {
  width: 100%;
}
.p-project-single__brand {
  padding: 80px 0;
}
.p-project-single__brand-img {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 20px;
}
.p-project-single__brand-item:last-child {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
.p-project-single__brand-item:last-child::before {
  content: "×";
  font-size: 56px;
  font-weight: bold;
}
.p-project-single__brand-item img {
  max-width: 400px;
}
.p-project-single__brand-name {
  text-align: center;
  margin-top: 40px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 1000px) {
  .p-project-single__brand {
    padding: 40px 0;
  }
  .p-project-single__brand-img {
    gap: 24px;
  }
  .p-project-single__brand-item:last-child {
    gap: 24px;
  }
  .p-project-single__brand-item:last-child::before {
    font-size: 32px;
  }
  .p-project-single__brand-item img {
    width: 140px;
    height: 73px;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center;
       object-position: center;
  }
}
.p-project-single__img {
  display: flex;
}
.p-project-single__img img {
  width: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1000px) {
  .p-project-single__img {
    flex-direction: column;
  }
  .p-project-single__img img {
    width: 100%;
  }
}
.p-project-single__media {
  padding: 80px 0;
}
.p-project-single__media-heading {
  margin-bottom: 40px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
.p-project-single__media-heading--medium {
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 1000px) {
  .p-project-single__media {
    padding: 40px 0;
  }
}
.p-project-single__section {
  padding: 80px 0;
}
@media screen and (max-width: 1000px) {
  .p-project-single__section {
    padding: 40px 0;
  }
}
.p-project-single__related-heading {
  text-align: center;
  margin-bottom: 80px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
.p-project-single__related-text {
  margin-top: 80px;
}
.p-project-single__related-products {
  display: flex;
  flex-wrap: wrap;
  gap: 80px;
  padding: 80px 0;
}
.p-project-single__related-products-item {
  width: calc(33.3333333333% - 53.3333333333px);
}
.p-project-single__related-products-img {
  width: 100%;
  position: relative;
  padding-bottom: 100%;
  margin-bottom: 40px;
}
.p-project-single__related-products-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-project-single__related-products-heading {
  margin-bottom: 8px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
.p-project-single__related-products-text {
  margin-bottom: 40px;
}
@media screen and (max-width: 1000px) {
  .p-project-single__related-products {
    flex-direction: column;
    gap: 40px;
    padding: 40px 0;
  }
  .p-project-single__related-products-heading {
    margin-bottom: 24px;
  }
  .p-project-single__related-products-item {
    width: 100%;
  }
  .p-project-single__related-products-img {
    margin-bottom: 24px;
  }
  .p-project-single__related-products-text {
    margin-bottom: 24px;
  }
}
.p-project-single__partner-heading {
  text-align: center;
  margin-bottom: 80px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
.p-project-single__partner-company {
  display: flex;
  flex-wrap: wrap;
  gap: 80px;
  padding: 80px 0;
}
.p-project-single__partner-company-item {
  width: calc(50% - 40px);
}
.p-project-single__partner-company-image {
  width: 100%;
  position: relative;
  padding-bottom: 53%;
  margin-bottom: 40px;
}
.p-project-single__partner-company-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-project-single__partner-company-heading {
  margin-bottom: 8px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
.p-project-single__partner-company-text {
  margin-bottom: 40px;
}
@media screen and (max-width: 1000px) {
  .p-project-single__partner-heading {
    margin-bottom: 40px;
  }
  .p-project-single__partner-company {
    flex-direction: column;
    gap: 40px;
  }
  .p-project-single__partner-company-heading {
    margin-bottom: 24px;
  }
  .p-project-single__partner-company-item {
    width: 100%;
  }
  .p-project-single__partner-company-img {
    margin-bottom: 24px;
  }
  .p-project-single__partner-company-text {
    margin-bottom: 24px;
  }
}
.p-project-single__btn {
  margin-bottom: 160px;
}
@media screen and (max-width: 1000px) {
  .p-project-single__btn {
    margin-bottom: 80px;
  }
}
.p-project-archive__list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 80px;
  margin-top: 80px;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .p-project-archive__list {
    margin-top: 40px;
    margin-bottom: 40px;
    flex-direction: column;
  }
}
.p-project-archive__item {
  min-width: 480px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-project-archive__item {
    margin-bottom: 40px;
    min-width: auto;
    min-height: auto;
  }
}
.p-project-archive__item:hover .p-project-archive__card__title {
  opacity: 0.5;
  transition: opacity 0.4s ease;
}
.p-project-archive__item:hover .c-button--click__text {
  color: transparent;
  background-image: linear-gradient(90deg, #278C87 0%, #576573 25%, #B15C61 50%, #DD9C63 75%, #CF8573 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-project-archive__item:hover .c-button--arrow {
  background-image: url(../../assets/img/common/arrow_view_hover.svg);
  transform: translateX(6px);
}
.p-project-archive__card {
  max-width: 480px;
  height: 100%;
}
.p-project-archive__card img {
  width: 100%;
}
@media screen and (min-width: 1001px) {
  .p-project-archive__card img {
    max-width: 480px;
  }
}
.p-project-archive__card__body {
  margin-top: 40px;
}
.p-project-archive__card__title {
  min-height: 86px;
}
.p-project-archive__card__text {
  line-height: 1.8;
}
.p-project-archive__card__image {
  width: 100%;
  height: 256px;
  overflow: hidden;
}
.p-project-archive__card__image img {
  width: 100%;
  max-width: 480px;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-project-archive__card__image img {
    max-width: 100%;
    width: auto;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.u-ta-c {
  text-align: center !important;
}

.u-ta-l {
  text-align: left !important;
}

.u-ta-r {
  text-align: right !important;
}

@media screen and (max-width: 768px) {
  .u-ta-c-sp {
    text-align: center !important;
  }
}
/*-----------------------------------*/
/*-----------------------------------*/
.u-c-red {
  color: #FF0E00 !important;
}

/*-----------------------------------*/
/*-----------------------------------*/
.u-d-block {
  display: block !important;
}

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

/*-----------------------------------*/
/*-----------------------------------*/
.u-flex {
  display: flex !important;
}

@media screen and (max-width: 768px) {
  .u-flex--sp {
    display: flex !important;
  }
}

.u-jc-fs {
  justify-content: flex-start !important;
}

@media screen and (max-width: 768px) {
  .u-jc-fs--sp {
    justify-content: flex-start !important;
  }
}

.u-jc-fe {
  justify-content: flex-end !important;
}

.u-jc-c {
  justify-content: center !important;
}

.u-jc-bw {
  justify-content: space-between !important;
}

.u-ai-c {
  align-items: center !important;
}

@media screen and (min-width: 1001px) {
  .u-ai-c--pc {
    align-items: center !important;
  }
}

.u-fd-rr {
  flex-direction: row-reverse !important;
}

.u-fd-cr {
  flex-direction: column-reverse !important;
}

@media screen and (max-width: 768px) {
  .u-fd-cr--sp {
    flex-direction: column-reverse !important;
  }
}

.u-fd-c {
  flex-direction: column !important;
}

@media screen and (max-width: 768px) {
  .u-fd-c--sp {
    flex-direction: column !important;
  }
}

.u-gap-24 {
  gap: 24px !important;
}

.u-gap-16 {
  gap: 16px !important;
}

@media screen and (max-width: 768px) {
  .u-gap-0--sp {
    gap: 0px !important;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.u-fs-12 {
  font-size: 12px;
}

.u-fs-14 {
  font-size: 14px;
}

.u-fs-16 {
  font-size: 16px;
}

.u-fs-18 {
  font-size: 18px;
}

/*-----------------------------------*/
/*-----------------------------------*/
.u-fw-500 {
  font-weight: 500 !important;
}

.u-fw-700 {
  font-weight: 700 !important;
}

/*-----------------------------------*/
/*-----------------------------------*/
.u-grid {
  display: grid !important;
}

.u-grid-full {
  display: grid;
  gap: 0;
}

.u-grid-full--3 {
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 768px) {
  .u-grid-full--3 {
    grid-template-columns: 1fr;
  }
}
/*-----------------------------------*/
/*-----------------------------------*/
.u-img-cover {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 768px) {
  .u-img-cover {
    height: auto;
    max-width: 100%;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.u-mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.u-mt-0,
.u-my-0 {
  margin-top: 0px !important;
}

.u-mt-8,
.u-my-8 {
  margin-top: 8px !important;
}

.u-mt-16,
.u-my-16 {
  margin-top: 16px !important;
}

.u-mt-24,
.u-my-24 {
  margin-top: 24px !important;
}

.u-mt-32,
.u-my-32 {
  margin-top: 32px !important;
}

.u-mt-40,
.u-my-40 {
  margin-top: 40px !important;
}

.u-mt-48,
.u-my-48 {
  margin-top: 48px !important;
}

.u-mt-56,
.u-my-56 {
  margin-top: 56px !important;
}

.u-mt-64,
.u-my-64 {
  margin-top: 64px !important;
}

.u-mt-72,
.u-my-72 {
  margin-top: 72px !important;
}

.u-mt-80,
.u-my-80 {
  margin-top: 80px !important;
}

.u-mb-0,
.u-my-0 {
  margin-bottom: 0px !important;
}

.u-mb-8,
.u-my-8 {
  margin-bottom: 8px !important;
}

.u-mb-16,
.u-my-16 {
  margin-bottom: 16px !important;
}

.u-mb-24,
.u-my-24 {
  margin-bottom: 24px !important;
}

.u-mb-32,
.u-my-32 {
  margin-bottom: 32px !important;
}

.u-mb-40,
.u-my-40 {
  margin-bottom: 40px !important;
}

.u-mb-48,
.u-my-48 {
  margin-bottom: 48px !important;
}

.u-mb-56,
.u-my-56 {
  margin-bottom: 56px !important;
}

.u-mb-64,
.u-my-64 {
  margin-bottom: 64px !important;
}

.u-mb-72,
.u-my-72 {
  margin-bottom: 72px !important;
}

.u-mb-80,
.u-my-80 {
  margin-bottom: 80px !important;
}

.u-ml-0,
.u-mx-0 {
  margin-left: 0px !important;
}

.u-ml-8,
.u-mx-8 {
  margin-left: 8px !important;
}

.u-ml-16,
.u-mx-16 {
  margin-left: 16px !important;
}

.u-ml-24,
.u-mx-24 {
  margin-left: 24px !important;
}

.u-ml-32,
.u-mx-32 {
  margin-left: 32px !important;
}

.u-ml-40,
.u-mx-40 {
  margin-left: 40px !important;
}

.u-ml-48,
.u-mx-48 {
  margin-left: 48px !important;
}

.u-ml-56,
.u-mx-56 {
  margin-left: 56px !important;
}

.u-ml-64,
.u-mx-64 {
  margin-left: 64px !important;
}

.u-ml-72,
.u-mx-72 {
  margin-left: 72px !important;
}

.u-ml-80,
.u-mx-80 {
  margin-left: 80px !important;
}

.u-mr-0,
.u-mx-0 {
  margin-right: 0px !important;
}

.u-mr-8,
.u-mx-8 {
  margin-right: 8px !important;
}

.u-mr-16,
.u-mx-16 {
  margin-right: 16px !important;
}

.u-mr-24,
.u-mx-24 {
  margin-right: 24px !important;
}

.u-mr-32,
.u-mx-32 {
  margin-right: 32px !important;
}

.u-mr-40,
.u-mx-40 {
  margin-right: 40px !important;
}

.u-mr-48,
.u-mx-48 {
  margin-right: 48px !important;
}

.u-mr-56,
.u-mx-56 {
  margin-right: 56px !important;
}

.u-mr-64,
.u-mx-64 {
  margin-right: 64px !important;
}

.u-mr-72,
.u-mx-72 {
  margin-right: 72px !important;
}

.u-mr-80,
.u-mx-80 {
  margin-right: 80px !important;
}

@media screen and (max-width: 768px) {
  .u-mx-auto-sp {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .u-mt-0-sp,
.u-my-0-sp {
    margin-top: 0px !important;
  }
  .u-mt-8-sp,
.u-my-8-sp {
    margin-top: 8px !important;
  }
  .u-mt-16-sp,
.u-my-16-sp {
    margin-top: 16px !important;
  }
  .u-mt-24-sp,
.u-my-24-sp {
    margin-top: 24px !important;
  }
  .u-mt-32-sp,
.u-my-32-sp {
    margin-top: 32px !important;
  }
  .u-mt-40-sp,
.u-my-40-sp {
    margin-top: 40px !important;
  }
  .u-mt-48-sp,
.u-my-48-sp {
    margin-top: 48px !important;
  }
  .u-mt-56-sp,
.u-my-56-sp {
    margin-top: 56px !important;
  }
  .u-mt-64-sp,
.u-my-64-sp {
    margin-top: 64px !important;
  }
  .u-mt-72-sp,
.u-my-72-sp {
    margin-top: 72px !important;
  }
  .u-mt-80-sp,
.u-my-80-sp {
    margin-top: 80px !important;
  }
  .u-mb-0-sp,
.u-my-0-sp {
    margin-bottom: 0px !important;
  }
  .u-mb-8-sp,
.u-my-8-sp {
    margin-bottom: 8px !important;
  }
  .u-mb-16-sp,
.u-my-16-sp {
    margin-bottom: 16px !important;
  }
  .u-mb-24-sp,
.u-my-24-sp {
    margin-bottom: 24px !important;
  }
  .u-mb-32-sp,
.u-my-32-sp {
    margin-bottom: 32px !important;
  }
  .u-mb-40-sp,
.u-my-40-sp {
    margin-bottom: 40px !important;
  }
  .u-mb-48-sp,
.u-my-48-sp {
    margin-bottom: 48px !important;
  }
  .u-mb-56-sp,
.u-my-56-sp {
    margin-bottom: 56px !important;
  }
  .u-mb-64-sp,
.u-my-64-sp {
    margin-bottom: 64px !important;
  }
  .u-mb-72-sp,
.u-my-72-sp {
    margin-bottom: 72px !important;
  }
  .u-mb-80-sp,
.u-my-80-sp {
    margin-bottom: 80px !important;
  }
  .u-ml-0-sp,
.u-mx-0-sp {
    margin-left: 0px !important;
  }
  .u-ml-8-sp,
.u-mx-8-sp {
    margin-left: 8px !important;
  }
  .u-ml-16-sp,
.u-mx-16-sp {
    margin-left: 16px !important;
  }
  .u-ml-24-sp,
.u-mx-24-sp {
    margin-left: 24px !important;
  }
  .u-ml-32-sp,
.u-mx-32-sp {
    margin-left: 32px !important;
  }
  .u-ml-40-sp,
.u-mx-40-sp {
    margin-left: 40px !important;
  }
  .u-ml-48-sp,
.u-mx-48-sp {
    margin-left: 48px !important;
  }
  .u-ml-56-sp,
.u-mx-56-sp {
    margin-left: 56px !important;
  }
  .u-ml-64-sp,
.u-mx-64-sp {
    margin-left: 64px !important;
  }
  .u-ml-72-sp,
.u-mx-72-sp {
    margin-left: 72px !important;
  }
  .u-ml-80-sp,
.u-mx-80-sp {
    margin-left: 80px !important;
  }
  .u-mr-0-sp,
.u-mx-0-sp {
    margin-right: 0px !important;
  }
  .u-mr-8-sp,
.u-mx-8-sp {
    margin-right: 8px !important;
  }
  .u-mr-16-sp,
.u-mx-16-sp {
    margin-right: 16px !important;
  }
  .u-mr-24-sp,
.u-mx-24-sp {
    margin-right: 24px !important;
  }
  .u-mr-32-sp,
.u-mx-32-sp {
    margin-right: 32px !important;
  }
  .u-mr-40-sp,
.u-mx-40-sp {
    margin-right: 40px !important;
  }
  .u-mr-48-sp,
.u-mx-48-sp {
    margin-right: 48px !important;
  }
  .u-mr-56-sp,
.u-mx-56-sp {
    margin-right: 56px !important;
  }
  .u-mr-64-sp,
.u-mx-64-sp {
    margin-right: 64px !important;
  }
  .u-mr-72-sp,
.u-mx-72-sp {
    margin-right: 72px !important;
  }
  .u-mr-80-sp,
.u-mx-80-sp {
    margin-right: 80px !important;
  }
}
/*-----------------------------------*/
/*-----------------------------------*/
.u-pt-0 {
  padding-top: 0 !important;
}

.u-pt-0,
.u-py-0 {
  padding-top: 0px !important;
}

.u-pt-8,
.u-py-8 {
  padding-top: 8px !important;
}

.u-pt-16,
.u-py-16 {
  padding-top: 16px !important;
}

.u-pt-24,
.u-py-24 {
  padding-top: 24px !important;
}

.u-pt-32,
.u-py-32 {
  padding-top: 32px !important;
}

.u-pt-40,
.u-py-40 {
  padding-top: 40px !important;
}

.u-pt-48,
.u-py-48 {
  padding-top: 48px !important;
}

.u-pt-56,
.u-py-56 {
  padding-top: 56px !important;
}

.u-pt-64,
.u-py-64 {
  padding-top: 64px !important;
}

.u-pt-72,
.u-py-72 {
  padding-top: 72px !important;
}

.u-pt-80,
.u-py-80 {
  padding-top: 80px !important;
}

.u-pb-0,
.u-py-0 {
  padding-bottom: 0px !important;
}

.u-pb-8,
.u-py-8 {
  padding-bottom: 8px !important;
}

.u-pb-16,
.u-py-16 {
  padding-bottom: 16px !important;
}

.u-pb-24,
.u-py-24 {
  padding-bottom: 24px !important;
}

.u-pb-32,
.u-py-32 {
  padding-bottom: 32px !important;
}

.u-pb-40,
.u-py-40 {
  padding-bottom: 40px !important;
}

.u-pb-48,
.u-py-48 {
  padding-bottom: 48px !important;
}

.u-pb-56,
.u-py-56 {
  padding-bottom: 56px !important;
}

.u-pb-64,
.u-py-64 {
  padding-bottom: 64px !important;
}

.u-pb-72,
.u-py-72 {
  padding-bottom: 72px !important;
}

.u-pb-80,
.u-py-80 {
  padding-bottom: 80px !important;
}

.u-pl-0,
.u-px-0 {
  padding-left: 0px !important;
}

.u-pl-8,
.u-px-8 {
  padding-left: 8px !important;
}

.u-pl-16,
.u-px-16 {
  padding-left: 16px !important;
}

.u-pl-24,
.u-px-24 {
  padding-left: 24px !important;
}

.u-pl-32,
.u-px-32 {
  padding-left: 32px !important;
}

.u-pl-40,
.u-px-40 {
  padding-left: 40px !important;
}

.u-pl-48,
.u-px-48 {
  padding-left: 48px !important;
}

.u-pl-56,
.u-px-56 {
  padding-left: 56px !important;
}

.u-pl-64,
.u-px-64 {
  padding-left: 64px !important;
}

.u-pl-72,
.u-px-72 {
  padding-left: 72px !important;
}

.u-pl-80,
.u-px-80 {
  padding-left: 80px !important;
}

.u-pr-0,
.u-px-0 {
  padding-right: 0px !important;
}

.u-pr-8,
.u-px-8 {
  padding-right: 8px !important;
}

.u-pr-16,
.u-px-16 {
  padding-right: 16px !important;
}

.u-pr-24,
.u-px-24 {
  padding-right: 24px !important;
}

.u-pr-32,
.u-px-32 {
  padding-right: 32px !important;
}

.u-pr-40,
.u-px-40 {
  padding-right: 40px !important;
}

.u-pr-48,
.u-px-48 {
  padding-right: 48px !important;
}

.u-pr-56,
.u-px-56 {
  padding-right: 56px !important;
}

.u-pr-64,
.u-px-64 {
  padding-right: 64px !important;
}

.u-pr-72,
.u-px-72 {
  padding-right: 72px !important;
}

.u-pr-80,
.u-px-80 {
  padding-right: 80px !important;
}

@media screen and (max-width: 768px) {
  .u-px-0-sp {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .u-pt-0-sp,
.u-py-0-sp {
    padding-top: 0px !important;
  }
  .u-pt-8-sp,
.u-py-8-sp {
    padding-top: 8px !important;
  }
  .u-pt-16-sp,
.u-py-16-sp {
    padding-top: 16px !important;
  }
  .u-pt-24-sp,
.u-py-24-sp {
    padding-top: 24px !important;
  }
  .u-pt-32-sp,
.u-py-32-sp {
    padding-top: 32px !important;
  }
  .u-pt-40-sp,
.u-py-40-sp {
    padding-top: 40px !important;
  }
  .u-pt-48-sp,
.u-py-48-sp {
    padding-top: 48px !important;
  }
  .u-pt-56-sp,
.u-py-56-sp {
    padding-top: 56px !important;
  }
  .u-pt-64-sp,
.u-py-64-sp {
    padding-top: 64px !important;
  }
  .u-pt-72-sp,
.u-py-72-sp {
    padding-top: 72px !important;
  }
  .u-pt-80-sp,
.u-py-80-sp {
    padding-top: 80px !important;
  }
  .u-pb-0-sp,
.u-py-0-sp {
    padding-bottom: 0px !important;
  }
  .u-pb-8-sp,
.u-py-8-sp {
    padding-bottom: 8px !important;
  }
  .u-pb-16-sp,
.u-py-16-sp {
    padding-bottom: 16px !important;
  }
  .u-pb-24-sp,
.u-py-24-sp {
    padding-bottom: 24px !important;
  }
  .u-pb-32-sp,
.u-py-32-sp {
    padding-bottom: 32px !important;
  }
  .u-pb-40-sp,
.u-py-40-sp {
    padding-bottom: 40px !important;
  }
  .u-pb-48-sp,
.u-py-48-sp {
    padding-bottom: 48px !important;
  }
  .u-pb-56-sp,
.u-py-56-sp {
    padding-bottom: 56px !important;
  }
  .u-pb-64-sp,
.u-py-64-sp {
    padding-bottom: 64px !important;
  }
  .u-pb-72-sp,
.u-py-72-sp {
    padding-bottom: 72px !important;
  }
  .u-pb-80-sp,
.u-py-80-sp {
    padding-bottom: 80px !important;
  }
  .u-pl-0-sp,
.u-px-0-sp {
    padding-left: 0px !important;
  }
  .u-pl-8-sp,
.u-px-8-sp {
    padding-left: 8px !important;
  }
  .u-pl-16-sp,
.u-px-16-sp {
    padding-left: 16px !important;
  }
  .u-pl-24-sp,
.u-px-24-sp {
    padding-left: 24px !important;
  }
  .u-pl-32-sp,
.u-px-32-sp {
    padding-left: 32px !important;
  }
  .u-pl-40-sp,
.u-px-40-sp {
    padding-left: 40px !important;
  }
  .u-pl-48-sp,
.u-px-48-sp {
    padding-left: 48px !important;
  }
  .u-pl-56-sp,
.u-px-56-sp {
    padding-left: 56px !important;
  }
  .u-pl-64-sp,
.u-px-64-sp {
    padding-left: 64px !important;
  }
  .u-pl-72-sp,
.u-px-72-sp {
    padding-left: 72px !important;
  }
  .u-pl-80-sp,
.u-px-80-sp {
    padding-left: 80px !important;
  }
  .u-pr-0-sp,
.u-px-0-sp {
    padding-right: 0px !important;
  }
  .u-pr-8-sp,
.u-px-8-sp {
    padding-right: 8px !important;
  }
  .u-pr-16-sp,
.u-px-16-sp {
    padding-right: 16px !important;
  }
  .u-pr-24-sp,
.u-px-24-sp {
    padding-right: 24px !important;
  }
  .u-pr-32-sp,
.u-px-32-sp {
    padding-right: 32px !important;
  }
  .u-pr-40-sp,
.u-px-40-sp {
    padding-right: 40px !important;
  }
  .u-pr-48-sp,
.u-px-48-sp {
    padding-right: 48px !important;
  }
  .u-pr-56-sp,
.u-px-56-sp {
    padding-right: 56px !important;
  }
  .u-pr-64-sp,
.u-px-64-sp {
    padding-right: 64px !important;
  }
  .u-pr-72-sp,
.u-px-72-sp {
    padding-right: 72px !important;
  }
  .u-pr-80-sp,
.u-px-80-sp {
    padding-right: 80px !important;
  }
}
.u-nowrap {
  white-space: nowrap !important;
}
