@charset "UTF-8";
/* CSS Document */

img { max-width:100%; height:auto; }
/* anchor */
.c-anchor {
    margin-top: -90px;
    padding-top: 90px;
}
section { position:relative; }

/**
 * Object
 * ========================== */
/* Project ------------ */
/* mainvisual */
.p-mainvisual {
  position: relative;
}
.p-mainvisual .p-mainvisual__bg {
  padding-top: 120%;
  background-image: url('../../cmn/img/recruit/mainvisual_bg_sp.jpg');
  background-repeat: no-repeat;
  background-size: contain;
}
.p-mainvisual .p-mainvisual__block {
  position: absolute;
  top: 34px;
  left: 20px;
}
.p-mainvisual .p-mainvisual__title {
  color: #fff;
}
.p-mainvisual .p-mainvisual__title-en {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-size: 2.75rem;
}
.p-mainvisual .p-mainvisual__title-ja {
  display: block;
  position: relative;
  margin-top: 1.375rem;
  margin-left: 0.25rem;
  padding-top: 1.25rem;
  font-weight: 400;
  font-size: 1.125rem;
}
.p-mainvisual .p-mainvisual__title-ja::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 2px;
  background-color: rgba(255, 255, 255, 0.5);
}
.p-mainvisual .p-mainvisual__entry {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  right: 6.4vw;
  bottom: 6.4vw;
  z-index: 10;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background-color: #b01e31;
  color: #fff; text-decoration: none;
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  transition: opacity 0.6s ease, box-shadow 0.6s ease;
  font-size: 0.9375rem;
}
.p-mainvisual .p-mainvisual__entry[data-active=false] {
  opacity: 0;
}
.p-mainvisual .p-mainvisual__entry::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 50%;
  background-color: #b01e31;
  transition: transform 0.4s ease;
}
.p-mainvisual .p-mainvisual__entry:hover::before {
  transform: scale(1.05);
}
.p-mainvisual .p-mainvisual__entry-inner {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: #b01e31;
  -webkit-animation: ripples01 3s linear infinite;
          animation: ripples01 3s linear infinite;
}
.p-mainvisual .p-mainvisual__entry-inner.p-mainvisual__entry-inner--01 {
  opacity: 0.3;
  z-index: -1;
}
.p-mainvisual .p-mainvisual__entry-inner.p-mainvisual__entry-inner--02 {
  opacity: 0.1;
  z-index: -2;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.p-mainvisual .p-mainvisual__entry-inner.p-mainvisual__entry-inner--03 {
  opacity: 0.08;
  z-index: -3;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}

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

@keyframes ripples01 {
  0% {
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.4);
  }
}


@media screen and (min-width: 768px){
  .p-mainvisual .p-mainvisual__inner {
    margin-right: 5rem;
  }
  .p-mainvisual .p-mainvisual__bg {
    padding-top: 47.5%;
    background-image: url('../../cmn/img/recruit/mainvisual_bg_pc.jpg');
  }
  .p-mainvisual .p-mainvisual__block {
    top: 5.859375vw;
    left: 8.984375vw;
  }
  .p-mainvisual .p-mainvisual__title-en {
    font-size: 4.25rem;
  }
  .p-mainvisual .p-mainvisual__title-ja {
    margin-top: 2.56rem;
    padding-top: 1.5rem;
    font-size: 1.5rem;
  }
  .p-mainvisual .p-mainvisual__title-ja::before {
    width: 48px;
  }
  .p-mainvisual .p-mainvisual__entry {
    right: 34px;
    bottom: 34px;
    width: 112px;
    height: 112px;
    font-size: 1.125rem;
  }
}

/**
 * Object
 * ========================== */
/* Component ------------ */
/* tab */
.tabUI {
  margin-top: -53px;
}
.tabUI .tabUI__list {
  display: flex;
  align-items: stretch;
	padding:0; list-style:none;
	margin:0;
}
.tabUI .tabUI__item {
  flex-basis: 50%;
}
.tabUI .tabUI__tab {
  width: 100%;
  padding: 1.125rem 0.5rem; margin:0;
  font-weight: 500;
  transition: border-top 0.4s ease, background-color 0.4s ease, color 0.4s ease;
  font-size: 0.9375rem;
}
.tabUI .tabUI__tab[aria-selected=true] {
  border-top: solid 2px #b01e31;
  background-color: #fff;
  color: #b01e31;
}
.tabUI .tabUI__tab[aria-selected=false] {
  position: relative;
  border-top: solid 2px transparent;
  color: #fff;
}
.tabUI .tabUI__tab[aria-selected=false]::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 84%;
  height: 1px;
  background-color: #fff;
  transition: background-color 0.4s ease;
}
.tabUI .tabUI__tab[aria-selected=false]:hover, .tabUI .tabUI__tab[aria-selected=false]:focus {
  color: #b01e31;
}
.tabUI .tabUI__tab[aria-selected=false]:hover::before, .tabUI .tabUI__tab[aria-selected=false]:focus::before {
  background-color: #b01e31;
}
.tabUI .tabUI__tabpanel[aria-hidden=false] {
  display: block;
}
.tabUI .tabUI__tabpanel[aria-hidden=true] {
  display: none;
}
.tabUI .tabUI__tabpanel[aria-labelledby=tab-recruit] {
  position: relative;
}

.tabUI button {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: transparent; border: none; line-height:1em;
display: inline-block; position: relative; text-decoration: none;
}

@media screen and (min-width: 768px){
  .tabUI {
    margin-top: -71px;
  }
  .tabUI .tabUI__item {
    flex-basis: 213px;
  }
  .tabUI .tabUI__tab {
    padding: 1.75rem 0.5rem;
  }
  .tabUI .tabUI__tab[aria-selected=false]::before {
    width: 65%;
  }

}

/**
 * Object
 * ========================== */
/* Project ------------ */
/* anchorlink */
.p-anchorlink {
  padding-top: 45px;
  padding-bottom: 40px;
}
.p-anchorlink .p-anchorlink__inner {
  padding-right: 24px;
  padding-left: 24px;
}
.p-anchorlink .p-anchorlink__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: -13px;
  margin-left: -24px;
	padding-left:0; list-style:none;
}
.p-anchorlink .p-anchorlink__item {
  margin-top: 13px;
  margin-left: 24px;
}
.p-anchorlink .p-anchorlink__item a {
color:#333; text-decoration:none;
}
.p-anchorlink .p-anchorlink__link {
  display: block;
  position: relative;
  padding: 12px 10px 12px 4px;
  font-weight: 500;
  font-size: 15px;
}
.p-anchorlink .p-anchorlink__link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #cccccc;
  transition: background-color 0.6s ease;
}
.p-anchorlink .p-anchorlink__link::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  vertical-align: middle;
  background-image: url(../../cmn/img/recruit/arrow_anchor.svg);
  background-size: contain;
  transition: transform 0.4s ease;
}
.p-anchorlink .p-anchorlink__link:hover::before {
  background-color: #262526;
}
.p-anchorlink .p-anchorlink__link:hover::after {
  transform: translateY(2px);
}

@media screen and (min-width: 768px){
  .p-anchorlink {
    padding-top: 71px;
  }
  .p-anchorlink .p-anchorlink__inner {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 120px;
    padding-left: 120px;
    box-sizing: content-box;
  }
  .p-anchorlink .p-anchorlink__list {
    margin-top: 0;
  }
  .p-anchorlink .p-anchorlink__item {
    margin-top: 0;
  }
  .p-anchorlink .p-anchorlink__link {
    padding: 8px 10px 7px 4px;
  }

}


/*/----------/*/
/**
 * Object
 * ========================== */
/* Project ------------ */
/* section-about */
.p-section-about {
  z-index: 0;
  padding-top: 62px;
  overflow-x: hidden;
  background-color: #f5f5f5;
  color: #fff;
}
.p-section-about p { margin-top:0; }
.p-section-about .p-section-about__inner {
  padding-right: 24px;
  padding-left: 24px;
}
.p-section-about .p-section-about__heading {
  margin-bottom: 30px; line-height:16px;
}
.p-section-about .p-section-about__heading-ja {
  color: #b01e31;
  font-weight: bold;
  font-size: 14px;
}
.p-section-about .p-section-about__heading-en {
  display: block;
  margin-top: 13px;
  color: #262526;
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-size: 23px; line-height:1em;
}
.p-section-about .p-section-about__head {
  flex-basis: 55.8139534884%;
}
.p-section-about .p-section-about__body {
  margin-top: 45px;
  padding-top: 10px;
  background-color: #f5f5f5;
}
.p-section-about .p-section-about__description {
  color: #262526;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7142857143;
}
.p-section-about .p-section-about__description + .p-section-about__description {
  margin-top: 20px;
}
.p-section-about .p-section-about__accordion {
  margin-top: 23px;
}
.p-section-about .p-section-about__accordion.is-open .p-section-about__tab {
  display: none;
}
.p-section-about .p-section-about__more {
  position: relative;
  color: #262526;
  text-align: left;
  font-weight: 400;
  font-size: 14px;
}
.p-section-about .p-section-about__more::before, .p-section-about .p-section-about__more::after {
  content: "";
}
.p-section-about .p-section-about__more::before {
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #262526;
}
.p-section-about .p-section-about__more::after {
  display: inline-block;
  width: 11px;
  height: 7px;
  margin-left: 8px;
  vertical-align: middle;
  background-image: url(../../cmn/img/recruit/icon_arrow_accordion.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-section-about .p-section-about__figure {
  text-align: center;
}
.p-section-about .p-section-about__caption {
  color: #c1253c;
  text-align: center;
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-size: 28px;
}
.p-section-about .p-section-about__image {
  margin-top: 10px;
}
.p-section-about .p-section-about__bg-text {
  opacity: 0;
  position: relative;
  z-index: -2;
  width: 100vw;
  margin-top: 32px;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  white-space: nowrap;
  color: #fff;
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  transition: opacity 0.4s linear;
  font-size: 42px;
}
.p-section-about .p-section-about__bg-text.is-view {
  opacity: 1; margin:0;
}

/**
 * Object
 * ========================== */
/* Project ------------ */
/* section-benefit */
.p-section-benefit {
  padding-top: 68px;
  padding-bottom: 84px;
  background-color: #f5f5f5;
}
.p-section-benefit .p-section-benefit__inner {
  padding-right: 24px;
  padding-left: 24px;
}
.p-section-benefit .p-section-benefit__heading {
  color: #b01e31;
  font-weight: 600;
  font-size: 16px;
}
.p-section-benefit .p-section-benefit__list {
  margin-top: 51px; list-style:none; padding-left:0;
}
.p-section-benefit .p-section-benefit__item:not(:first-child) {
  margin-top: 45px;
}
.p-section-benefit .p-section-benefit__image {
  margin-top: 25px;
}
.p-section-benefit .p-section-benefit__description {
  margin-top: 24px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7142857143;
}
.p-section-benefit .p-section-benefit__note {
  margin-top: 8px;
  padding-left: 10px;
  color: #888888;
  text-indent: -1em;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7142857143;
}

/**
 * Object
 * ========================== */
/* Project ------------ */
/* section-company */
.p-section-company {
  padding-top: 34px;
  padding-bottom: 34px;
}
.p-section-company .p-section-company__inner {
  padding-right: 24px;
  padding-left: 24px;
}
.p-section-company .p-section-company__list {
  margin-top: 40px;
  border: solid 1px #cccccc;
  border-right: none;
  border-left: none;
}
.p-section-company .p-section-company__block {
  padding-top: 19px;
  padding-bottom: 19px;
  font-size: 1.4rem;
  line-height: 1.7857142857;
}
.p-section-company .p-section-company__block:not(:first-child) {
  border-top: solid 1px #cccccc;
}
.p-section-company .p-section-company__head {
  font-weight: 500;
}
.p-section-company .p-section-company__body {
  margin-top: 8px;
  font-weight: 400;
}
.p-section-company .p-section-company__note {
  color: #888888;
}

/**
 * Object
 * ========================== */
/* Project ------------ */
/* section-faq */
.p-section-faq {
  padding-top: 34px;
  padding-bottom: 34px;
}
.p-section-faq .p-section-faq__inner {
  padding-right: 24px;
  padding-left: 24px;
}
.p-section-faq .p-section-faq__block {
  margin-top: 45px;
  padding-bottom: 56px;
}
.p-section-faq .p-section-faq__accordion.is-open .p-section-faq__tab {
  border-radius: 4px 4px 0 0;
  background-color: #b01e31 !important;
}
.p-section-faq .p-section-faq__accordion.is-open .p-section-faq__head-disc {
  background-color: #fff !important;
  color: #b01e31 !important;
}
.p-section-faq .p-section-faq__accordion.is-open .p-section-faq__head-text {
  color: #fff !important;
}
.p-section-faq .p-section-faq__accordion.is-open .p-section-faq__icon::before, .p-section-faq .p-section-faq__accordion.is-open .p-section-faq__icon::after {
  background-color: #fff !important;
}
.p-section-faq .p-section-faq__accordion.is-open .p-section-faq__icon::after {
  transform: translate(-50%, -50%) rotate(0);
}
.p-section-faq .p-section-faq__accordion:not(:first-child) {
  margin-top: 20px;
}
.p-section-faq .p-section-faq__tab {
  border-radius: 4px;
  background-color: #f5f5f5;
  transition: border-radius 0.5s ease-out, background-color 0.5s ease-out;
}
.p-section-faq .p-section-faq__trigger {
  display: flex;
  width: 100%;
  padding: 16px 16px 22px;
}
.p-section-faq .p-section-faq__trigger:hover .p-section-faq__head-disc {
  background-color: #b01e31;
}
.p-section-faq .p-section-faq__trigger:hover .p-section-faq__head-text {
  color: #b01e31;
}
.p-section-faq .p-section-faq__trigger:hover .p-section-faq__icon::before, .p-section-faq .p-section-faq__trigger:hover .p-section-faq__icon::after {
  background-color: #b01e31;
}
.p-section-faq .p-section-faq__head-disc, .p-section-faq .p-section-faq__body-disc {
  display: inline-flex;
  flex-basis: 36px;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  background-color: #262526;
  color: #fff;
  font-family: "Barlow", sans-serif;
  font-size: 18px;
}
.p-section-faq .p-section-faq__head-disc {
  transition: background-color 0.5s ease-out, color 0.5s ease-out;
}
.p-section-faq .p-section-faq__head-text, .p-section-faq .p-section-faq__body-text {
  flex: 1;
  padding: 4px 32px 0 16px;
  color: #262526;
  font-weight: 400;
  text-align: left;
  font-size: 14px;
  line-height: 1.7142857143;
}

.p-section-faq__body-text { margin:0; }
.p-section-faq .p-section-faq__head-text {
  transition: color 0.5s ease-out;
}
.p-section-faq .p-section-faq__icon {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  pointer-events: none;
}
.p-section-faq .p-section-faq__icon::before, .p-section-faq .p-section-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 2px;
  background-color: currentColor;
}
.p-section-faq .p-section-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 0.5s;
}
.p-section-faq .p-section-faq__tab-panel {
  border: solid 2px #b01e31;
  border-radius: 0 0 4px 4px;
}
.p-section-faq .p-section-faq__body {
  display: flex;
  padding: 16px 16px 28px;
}
.p-section-faq .p-section-faq__button-wrapper {
  margin-top: 74px;
  text-align: center;
}
.p-section-faq .p-section-faq__link-wrapper {
  margin-top: 42px;
  text-align: center;
}

/**
 * Object
 * ========================== */
/* Project ------------ */
/* section-flow */
.p-section-flow {
  padding-top: 34px;
  padding-bottom: 34px;
}
.p-section-flow .p-section-flow__inner {
  padding-right: 24px;
  padding-left: 24px;
}
.p-section-flow .p-section-flow__block {
  margin-top: 44px;
}
.p-section-flow .p-section-flow__head {
  display: block;
  color: #b01e31;
  font-family: "Barlow", sans-serif;
  font-size: 16px;
}
.p-section-flow .p-section-flow__body {
  display: block;
  margin-top: 13px;
  font-weight: 500;
  font-size: 20px;
}
.p-section-flow .p-section-flow__charge {
  margin-top: 10px;
  color: #888888;
  font-size: 12px;
}
.p-section-flow .p-section-flow__note {
  margin-top: 36px;
  color: #888888;
  font-weight: 400;
  font-size: 14px;
}

/**
 * Object
 * ========================== */
/* Project ------------ */
/* section-message */
.p-section-message {
  padding-top: 32px;
  padding-bottom: 100px;
}
.p-section-message .p-section-message__inner {
  padding-right: 24px;
  padding-left: 24px;
}
.p-section-message .p-section-message__body {
  margin-top: 32px;
}
.p-section-message .p-section-message__heading {
  display: flex;
  align-items: center;
  color: #262526;
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-size: 14px;
}
.p-section-message .p-section-message__heading::before {
  content: "";
  width: 18px;
  height: 1px;
  margin-right: 12px;
  margin-left: 1px;
  background-color: #b01e31;
}
.p-section-message .p-section-message__message-wrapper {
  overflow: hidden;
  margin-bottom: 42px;
  padding-right: 87px;
}
.p-section-message .p-section-message__message {
  transform: translateY(100%);
  transition: transform 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.is-active .p-section-message__message {
  transform: translateY(0);
}

.p-section-message .p-section-message__description {
  font-weight: 400;
  font-size: 15px;
  line-height: 1.7333333333;
}
.p-section-message .p-section-message__description + .p-section-message__description {
  margin-top: 19px;
}
.p-section-message .p-section-message__accordion {
  margin-top: 23px;
}
.p-section-message .p-section-message__accordion.is-open .p-section-message__tab {
  display: none;
}
.p-section-message .p-section-message__more {
  position: relative;
  text-align: left;
  font-weight: 400;
  font-size: 14px;
}
.p-section-message .p-section-message__more::before, .p-section-message .p-section-message__more::after {
  content: "";
}
.p-section-message .p-section-message__more::before {
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #262526;
}
.p-section-message .p-section-message__more::after {
  display: inline-block;
  width: 11px;
  height: 7px;
  margin-left: 8px;
  vertical-align: middle;
  background-image: url(../../cmn/img/recruit/icon_arrow_accordion.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-section-message .p-section-message__bg-text {
  opacity: 0;
  position: absolute;
  top: 13px;
  left: -12px;
  z-index: -1;
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
  color: #efefef;
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  transition: opacity 0.4s linear;
  font-size: 6.2rem;
  letter-spacing: 0.1em;
}
.p-section-message .p-section-message__bg-text.is-view {
  opacity: 1; margin:0;
}

/**
 * Object
 * ========================== */
/* Project ------------ */
/* section-story */
.p-section-story {
  position: relative;
}
.p-section-story::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 39px;
  background-color: #fff;
}
.p-section-story .p-section-story__inner {
  margin-top: -8px;
  margin-right: 24px;
}
.p-section-story .p-section-story__link {
  display: block;
}
.p-section-story .p-section-story__bg {
  position: relative;
  z-index: 1;
  padding-top: 100%;
  background-image: url(../../cmn/img/recruit/about_img_sp.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.p-section-story .p-section-story__block {
  position: absolute;
  top: 32px;
  left: 20px;
  margin-left: 4px;
}
.p-section-story .p-section-story__title-en {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-size: 32px; color:#FFF;
}
.p-section-story .p-section-story__title-ja {
  display: block;
  margin-top: 10px;
  font-weight: 400;
  font-size: 14px; color:#FFF;
}
.p-section-story .p-section-story__button-wrapper {
  position: absolute;
  right: 19px;
  bottom: 19px;
  width: 100%;
  text-align: right;
}

/**
 * Object
 * ========================== */
/* Project ------------ */
/* section-treatment */
.p-section-treatment {
  padding-top: 34px;
  padding-bottom: 34px;
}
.p-section-treatment .p-section-treatment__inner {
  padding-right: 24px;
  padding-left: 24px;
}
.p-section-treatment .p-section-treatment__list {
  margin-top: 44px;
  border: solid 1px #cccccc;
  border-right: none;
  border-left: none;
}
.p-section-treatment .p-section-treatment__block {
  padding-top: 19px;
  padding-bottom: 19px;
  font-size: 14px;
  line-height: 1.7857142857;
}
.p-section-treatment .p-section-treatment__block:not(:first-child) {
  border-top: solid 1px #cccccc;
}
.p-section-treatment .p-section-treatment__head {
  font-weight: 500;
}
.p-section-treatment .p-section-treatment__body {
  margin-top: 0.8rem;
  font-weight: 400;
}
.p-section-treatment .p-section-treatment__note {
  color: #888888;
  font-weight: 400;
}

/**
 * Object
 * ========================== */
/* Project ------------ */
/* section-type */
.p-section-type {
  padding-top: 88px;
}
.p-section-type .p-section-type__inner {
  padding-right: 24px;
  padding-left: 24px;
}
.p-section-type .p-section-type__wrapper {
  position: relative;
  margin-top: 50px;
  padding-bottom: 98px;
}
.p-section-type .p-section-type__list {
  counter-reset: number 0;
	list-style:none; padding-left:0;
}
.p-section-type .p-section-type__item {
  position: relative;
}
.p-section-type .p-section-type__item::before {
  counter-increment: number;
  content: counter(number, decimal-leading-zero);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #b01e31;
  color: #fff;
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-size: 14px;
}
.p-section-type .p-section-type__item::after {
  content: "";
  opacity: 0.2;
  position: absolute;
  top: 0;
  transform: scale(1.15);
  z-index: -1;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #b01e31;
}
.p-section-type .p-section-type__item:not(:first-child) {
  margin-top: 52px;
}
.p-section-type .p-section-type__heading {
  display: inline-block;
  margin-left: 18px;
  font-weight: 500;
  font-size: 16px;
}
.p-section-type .p-section-type__block {
  margin-top: 26px;
}
.p-section-type .p-section-type__head {
  color: #b01e31;
  font-weight: 500;
  font-size: 23px;
  line-height: 1.5217391304;
}
.p-section-type .p-section-type__body {
  margin-top: 13px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7142857143;
}
.p-section-type .p-section-type__link-wrapper {
  margin-top: 16px;
}
.p-section-type .p-section-type__image {
  margin-top: 42px;
}
.p-section-type .p-section-type__button-wrapper {
  margin-top: 68px;
  text-align: center;
}

/*//// ---section_pc----  ////*/
@media screen and (min-width: 768px){

  .p-section-about {
    padding-top: 96px;
  }
  .p-section-about .p-section-about__inner {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 120px;
    padding-left: 120px;
    box-sizing: content-box;
  }
  .p-section-about .p-section-about__heading {
    margin-bottom: 45px;
  }
  .p-section-about .p-section-about__heading-ja {
    font-size: 16px;
  }
  .p-section-about .p-section-about__heading-en {
    margin-top: 15px;
    font-size: 48px;
  }
  .p-section-about .p-section-about__block {
    display: flex;
    align-items: flex-start;
    margin-right: -35px;
  }
  .p-section-about .p-section-about__body {
    flex-basis: 44.1860465116%;
    margin-top: -18px;
    margin-bottom: 130px;
    padding-top: 18px;
    padding-left: 5.6744186047%;
  }
  .p-section-about .p-section-about__description {
    font-size: 15px;
    line-height: 1.7333333333;
  }
  .p-section-about .p-section-about__tab {
    display: none;
  }
  .p-section-about .p-section-about__tab-panel {
    opacity: 1 !important;
    height: auto !important;
  }
  .p-section-about .p-section-about__more::before {
    bottom: -10px;
  }
  .p-section-about .p-section-about__caption {
    font-size: 34px;
  }
  .p-section-about .p-section-about__image {
    margin-top: 20px;
  }
  .p-section-about .p-section-about__bg-text {
    margin-top: 60px;
    font-size: 104px;
  }
  .p-section-benefit {
    padding-top: 102px;
    padding-bottom: 156px;
  }
  .p-section-benefit .p-section-benefit__inner {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 120px;
    padding-left: 120px;
    box-sizing: content-box;
  }
  .p-section-benefit .p-section-benefit__heading {
    font-size: 16px;
    line-height: 1.5;
  }
  .p-section-benefit .p-section-benefit__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    gap: 85px 40px;
    margin-top: 68px;
  }
  .p-section-benefit .p-section-benefit__item:not(:first-child) {
    margin-top: 0;
  }
  .p-section-benefit .p-section-benefit__image {
    margin-top: 20px
  }
  .p-section-benefit .p-section-benefit__description {
    margin-top: 26px;
  }
  .p-section-benefit .p-section-benefit__note {
    margin-top: 13px;
  }
  .p-section-company {
    padding-top: 61px;
    padding-bottom: 61px;
  }
  .p-section-company .p-section-company__inner {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 120px;
    padding-left: 120px;
    box-sizing: content-box;
  }
  .p-section-company .p-section-company__list {
    margin-top: 72px;
  }
  .p-section-company .p-section-company__block {
    display: flex;
    padding-top: 26.2px;
    padding-bottom: 26.2px;
    font-size: 15px;
    line-height: 1.8666666667;
  }
  .p-section-company .p-section-company__head {
    flex-basis: 160px;
    padding-right: 20px;
    padding-left: 20px;
  }
  .p-section-company .p-section-company__body {
    flex: 1;
    margin-top: 0;
  }
  .p-section-company .p-section-company__note {
    font-size: 14px;
  }
  .p-section-faq {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .p-section-faq .p-section-faq__inner {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 120px;
    padding-left: 120px;
    box-sizing: content-box;
  }
  .p-section-faq .p-section-faq__block {
    margin-top: 72px;
    padding-bottom: 100px;
  }
  .p-section-faq .p-section-faq__accordion:not(:first-child) {
    margin-top: 16px;
  }
  .p-section-faq .p-section-faq__trigger {
    padding: 20px;
    align-items: center;
  }
	
	
  .p-section-faq .p-section-faq__head-disc, .p-section-faq .p-section-faq__body-disc {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    font-size: 20px;
  }
  .p-section-faq .p-section-faq__head-text {
    padding-top: 0;
    padding-bottom: 0;
  }
  .p-section-faq .p-section-faq__icon {
    top: 50%;
    right: 32px;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
  }
  .p-section-faq .p-section-faq__icon::before, .p-section-faq .p-section-faq__icon::after {
    width: 16px;
  }
  .p-section-faq .p-section-faq__button-wrapper {
    margin-top: 104px;
  }
  .p-section-faq .p-section-faq__link-wrapper {
    margin-top: 28px;
  }
  .p-section-flow {
    padding-top: 60px;
    padding-bottom: 60px;
    margin-top: 36px;
  }
  .p-section-flow .p-section-flow__inner {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 120px;
    padding-left: 120px;
    box-sizing: content-box;
  }
  .p-section-flow .p-section-flow__block {
    margin-top: 73px;
  }
  .p-section-flow .p-section-flow__head {
    font-weight: 500;
  }
  .p-section-message {
    padding-top: 102px;
    padding-bottom: 154px;
  }
  .p-section-message .p-section-message__inner {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 120px;
    padding-left: 120px;
    box-sizing: content-box;
  }
  .p-section-message .p-section-message__block {
    display: flex;
  }
  .p-section-message .p-section-message__head {
    flex-basis: 19.2307692308%;
    padding-right: 7.7884615385%;
  }
  .p-section-message .p-section-message__body {
    flex-basis: 80.7692307692%;
    margin-top: 0;
  }
  .p-section-message .p-section-message__heading {
    margin-top: 2px;
    font-size: 16px;
  }
  .p-section-message .p-section-message__heading::before {
    width: 32px;
  }
  .p-section-message .p-section-message__message-wrapper {
    margin-bottom: 80px;
    padding-right: 66px;
  }
  .p-section-message .p-section-message__description {
    padding-left: 4px;
    font-size: 16px;
    line-height: 1.75;
  }
  .p-section-message .p-section-message__description + .p-section-message__description {
    margin-top: 26px;
  }
  .p-section-message .p-section-message__accordion {
    margin-top: 26px;
  }
  .p-section-message .p-section-message__tab {
    display: none;
  }
  .p-section-message .p-section-message__tab-panel {
    opacity: 1 !important;
    height: auto !important;
  }
  .p-section-message .p-section-message__more::before {
    bottom: -10px;
  }
  .p-section-message .p-section-message__bg-text {
    top: 246px;
    left: -47px;
    font-size: 110px;
  }
  .p-section-story::after {
    height: 196px;
  }
  .p-section-story .p-section-story__inner {
    margin-top: -29px;
    margin-right: 120px;
  }
  .p-section-story .p-section-story__link:hover .c-button.c-button--detail, .p-section-story .p-section-story__link:focus .c-button.c-button--detail {
    border-color: transparent;
    background-color: #b01e31;
  }
  .p-section-story .p-section-story__link:hover .c-button.c-button--detail::before, .p-section-story .p-section-story__link:focus .c-button.c-button--detail::before {
    border-color: transparent;
    background-color: #b01e31;
  }
  .p-section-story .p-section-story__link:hover .c-button.c-button--detail .c-button__inner::after, .p-section-story .p-section-story__link:focus .c-button.c-button--detail .c-button__inner::after {
    transform: translate(4px, -50%);
  }
  .p-section-story .p-section-story__bg {
    padding-top: 41.3793%;
    background-image: url(../../cmn/img/recruit/about_img_pc.jpg);
  }
  .p-section-story .p-section-story__block {
    top: 56px;
    left: 56px;
  }
  .p-section-story .p-section-story__title-en {
    font-size: 40px;
  }
  .p-section-story .p-section-story__title-ja {
    margin-top: 20px;
    font-size: 16px;
  }
  .p-section-story .p-section-story__button-wrapper {
    right: 44px;
    bottom: 44px;
  }
  .p-section-treatment {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .p-section-treatment .p-section-treatment__inner {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 120px;
    padding-left: 120px;
    box-sizing: content-box;
  }
  .p-section-treatment .p-section-treatment__list {
    margin-top: 72px;
  }
  .p-section-treatment .p-section-treatment__block {
    display: flex;
    padding-top: 26.2px;
    padding-bottom: 26.2px;
    font-size: 15px;
    line-height: 1.8666666667;
  }
  .p-section-treatment .p-section-treatment__head {
    flex-basis: 160px;
    padding-right: 20px;
    padding-left: 20px;
  }
  .p-section-treatment .p-section-treatment__body {
    flex: 1;
    margin-top: 0;
  }
  .p-section-treatment .p-section-treatment__note {
    font-size: 14px;
  }
  .p-section-type {
    padding-top: 130px;
  }
  .p-section-type .p-section-type__inner {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 120px;
    padding-left: 120px;
    box-sizing: content-box;
  }
  .p-section-type .p-section-type__wrapper {
    margin-top: 78px;
    padding-bottom: 160px;
  }
  .p-section-type .p-section-type__wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: 27px;
    z-index: -1;
    width: 1px;
    height: 100%;
    background-color: #cccccc;
  }
  .p-section-type .p-section-type__list {
    margin-left: 4px;
		list-style:none;
		padding-left:0;
  }
  .p-section-type .p-section-type__item::before {
    width: 48px;
    height: 48px;
    font-size: 18px;
  }
  .p-section-type .p-section-type__item::after {
    width: 48px;
    height: 48px;
  }
  .p-section-type .p-section-type__item:nth-child(2) {
    margin-top: 50px;
  }
  .p-section-type .p-section-type__item:nth-child(3) {
    margin-top: 107px;
  }
  .p-section-type .p-section-type__item:nth-child(4) {
    margin-top: 78px;
  }
  .p-section-type .p-section-type__heading {
    margin-left: 22px;
    font-size: 20px;
  }
  .p-section-type .p-section-type__block {
    display: flex;
    margin-top: 32px;
    padding-left: 106px;
  }
  .p-section-type .p-section-type__text {
    flex-basis: 54.1935483871%;
  }
  .p-section-type .p-section-type__head {
    font-size: 24px;
  }
  .p-section-type .p-section-type__body {
    margin-top: 21px;
    font-size: 15px;
    line-height: 1.7333333333;
  }
  .p-section-type .p-section-type__link-wrapper {
    margin-top: 30px;
  }
  .p-section-type .p-section-type__image {
    flex-basis: 45.8064516129%;
    margin-top: 8px;
    padding-left: 6.0215053763%;
  }
  .p-section-type .p-section-type__button-wrapper {
    display: flex;
    justify-content: flex-end;
    position: absolute;
    top: -143px;
    right: 8px;
    margin-top: 0;
    width: 100%;
  }

}


/**
 * Object
 * ========================== */
/* Component ------------ */
/* link */
.c-link {
  display: inline-flex;
  align-items: center;
  padding-top: 8px;
  padding-bottom: 8px;
  font-weight: 400;
  transition: color 0.3s ease;
	color:#333;
	line-height:1em;
}
.c-link::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #262526;
  transition: transform 0.3s ease, background-color 0.3s ease;
}
.c-link:hover {
  color: #b01e31;
}
.c-link:hover::after {
  background-color: #b01e31;
}
.c-link.c-link--detail {
  position: relative;
  font-size: 14px;
	text-decoration:none;
}
.c-link.c-link--detail::after {
  transform: scaleX(1);
  transform-origin: left;
}
.c-link.c-link--detail:hover::after {
  transform: scaleX(1.1);
}
.c-link.c-link--detail svg {
  width: 12px;
  height: 12px;
  margin-left: 9px
}
.c-link.c-link--back {
  position: relative;
  padding-right: 10px;
  padding-left: 10px;
  font-size: 15px; text-decoration:none; line-height:1em;
}
.c-link.c-link--back:hover svg {
  transform: translateX(-4px);
}
.c-link.c-link--back svg {
  width: 16px;
  height: 9px;
  margin-right: 12px;
  transition: transform 0.3s ease;
}

@media screen and (min-width: 768px){

  .c-link {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .c-link.c-link--back {
    padding-right: 8px;
    padding-left: 8px;
    font-weight: 400;
    font-size: 16px;
  }
  .c-link.c-link--back svg {
    width: 21px;
    height: 12px;
  }


}

/**
 * Object
 * ========================== */
/* Component ------------ */
/* accordion */
.c-accordion .c-accordion__tab button { margin:0; padding:0; }
.c-accordion .c-accordion__tab button.p-section-faq__trigger { padding:16px 16px 22px; }

.c-accordion .c-accordion__trigger[aria-expanded=true] .c-accordion__icon::after {
  opacity: 0;
}
.c-accordion .c-accordion__tab-panel {
  height: 0; margin:0;
  overflow: hidden;
  transition: opacity 0.4s ease-out, height 0.4s ease-out;
}
.c-accordion .c-accordion__tab-panel[aria-hidden=true] {
  opacity: 0;
}
.c-accordion .c-accordion__tab-panel[aria-hidden=false] {
  opacity: 1;
}

/**
 * Object
 * ========================== */
/* Project ------------ */
/* entry */
.p-entry {
  position: relative;
  padding-top: 61px;
  padding-bottom: 78px;
  background-color: #b01e31;
}
.p-entry .p-entry__inner {
  padding-right: 24px;
  padding-left: 24px;
}
.p-entry .p-entry__heading {
  color: #fff; margin:0;
  text-align: center;
  font-weight: 700;
  font-size: 45px;
  letter-spacing: 0.2em;
}
.p-entry .p-entry__button-wrapper {
  margin-top: 37px;
  text-align: center;
}
.c-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    padding-right: 0.8rem;
    padding-left: 0.8rem;
    transition: opacity 0.4s ease;
}
.p-entry__button-wrapper .c-button.c-button--apply {
    position: relative;
    z-index: 0;
    max-width: 310px;
    padding-top: 24px;
    padding-bottom: 24px;
    border-radius: 40px;
    background-color: #fff;
    font-weight: 500;
    font-size: 15.5px; line-height:1em;
		color:#333; text-decoration:none;
}

@media screen and (min-width: 768px){

  .p-entry {
    padding-top: 86px;
    padding-bottom: 104px;
  }
  .p-entry .p-entry__inner {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 120px;
    padding-left: 120px;
    box-sizing: content-box;
  }
  .p-entry .p-entry__heading {
    font-size: 56px;
  }
  .p-entry .p-entry__button-wrapper {
    margin-top: 52px;   }
	
	.p-entry__button-wrapper .c-button.c-button--apply {
    max-width: 356px;
    padding-top: 32px;
    padding-bottom: 32px;
    font-size: 1rem; }
}

/**
 * Object
 * ========================== */
/* Component ------------ */
/* anchor */
.c-anchor {
    margin-top: -90px;
    padding-top: 90px;
}

/**
 * Object
 * ========================== */
/* Component ------------ */
/* anime */
.c-anime {
    display: inline-block;
    -webkit-clip-path: polygon(0 0, 0 102%, 0 102%, 0 0);
    clip-path: polygon(0 0, 0 102%, 0 102%, 0 0);
    transition: -webkit-clip-path 0.6s cubic-bezier(0.62, 0.22, 0.32, 0.82);
    transition: clip-path 0.6s cubic-bezier(0.62, 0.22, 0.32, 0.82);
    transition: clip-path 0.6s cubic-bezier(0.62, 0.22, 0.32, 0.82), -webkit-clip-path 0.6s cubic-bezier(0.62, 0.22, 0.32, 0.82);
}

.is-active .c-anime {
    -webkit-clip-path: polygon(100% 0, 100% 102%, 0 102%, 0 0);
    clip-path: polygon(100% 0, 100% 102%, 0 102%, 0 0);
}

/**
 * Object
 * ========================== */
/* Component ------------ */
/* button */
.c-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    padding-right: 0.5em;
    padding-left: 0.5em;
    transition: opacity 0.4s ease;
}

.c-button .c-button__inner::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.c-button.c-button--detail {
    max-width: 192px;
    margin-left: auto;
    padding-top: 14px;
    padding-bottom: 14px;
    border: solid 1px #f5f5f5;
    border-radius: 22px;
    background-color: transparent;
    color: #fff;
    font-size: 15px; line-height:1em;
}

.c-button.c-button--detail::before {
    content: "";
    opacity: 0.2;
    position: absolute;
    z-index: -1;
    width: 200px;
    height: 53px;
    border-radius: 26px;
    border: solid 1px currentColor;
}

.c-button.c-button--detail .c-button__inner::after {
    right: 15px;
    width: 16.5px;
    height: 9px;
    background-image: url(../../cmn/img/recruit/arrow.svg);
}

.c-button.c-button--application {
    position: relative;
    max-width: 310px;
    padding-top: 22.5px;
    padding-bottom: 22.5px;
    border-radius: 30px;
    background-color: #b01e31;
    color: #fff;
    font-weight: 400; text-decoration:none;
    transition: box-shadow 0.3s ease;
    font-size: 15px; line-height:1em;
}

.c-button.c-button--application::before {
    content: "";
    opacity: 0.2;
    position: absolute;
    z-index: -1;
    width: 319px;
    height: 68px;
    border-radius: 34px;
    border: solid 1px #b01e31;
}

.c-button.c-button--application .c-button__inner::after {
    right: 15px;
    width: 16.5px;
    height: 9px;
    background-image: url(../../cmn/img/recruit/arrow.svg);
}

.c-button.c-button--application:hover, .c-button.c-button--application:focus {
    border-color: transparent;
    background-color: #b01e31;
}

.c-button.c-button--application:hover::before, .c-button.c-button--application:focus::before {
    border-color: transparent;
    background-color: #b01e31;
}

.c-button.c-button--application:hover .c-button__inner::after, .c-button.c-button--application:focus .c-button__inner::after {
    transform: translate(4px, -50%);
}

.c-button.c-button--apply {
    position: relative;
    z-index: 0;
    max-width: 310px;
    padding-top: 24px;
    padding-bottom: 24px;
    border-radius: 40px;
    background-color: #fff;
    font-weight: 500;
    font-size: 15.5px;
}

.c-button.c-button--apply::before, .c-button.c-button--apply::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 40px;
    background-color: #fff;
}

.c-button.c-button--apply::before {
    transform: scale(1.0393, 1.175);
    z-index: -1;
    transition: transform 0.4s ease;
    -webkit-animation: ripples04 2s linear infinite;
    animation: ripples04 2s linear infinite;
}

.c-button.c-button--apply::after {
    transform: scale(1.0842, 1.325);
    z-index: -2;
    -webkit-animation: ripples05 2s 1s linear infinite;
    animation: ripples05 2s 1s linear infinite;
}

.c-button.c-button--apply:hover .c-button__circle-inner {
    transform: scale(1.05);
}

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

    100% {
        transform: scale(1.14323, 1.2925);
        opacity: 0;
    }
}

@keyframes ripples04 {
    0% {
        opacity: 0.3;
        transform: scale(1);
    }

    100% {
        transform: scale(1.14323, 1.2925);
        opacity: 0;
    }
}

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

    100% {
        transform: scale(1.19262, 1.4575);
        opacity: 0;
    }
}

@keyframes ripples05 {
    0% {
        opacity: 0.3;
        transform: scale(1);
    }

    100% {
        transform: scale(1.19262, 1.4575);
        opacity: 0;
    }
}

.c-button.c-button--apply .c-button__inner::after {
    right: 24px;
    width: 14px;
    height: 14px;
    background-image: url("../../cmn/img/recruit/icon_blank_red.svg");
}

.c-button.c-button--apply .c-button__circle-inner {
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 40px;
    background-color: white;
    transition: transform 0.4s ease;
}

.c-button.c-button--note {
    position: relative;
    z-index: 0;
    max-width: 310px;
    padding-top: 22.5px;
    padding-bottom: 22.5px;
    border-radius: 30px;
    background-color: #262526;
    color: #fff; text-decoration:none;
    font-weight: 500;
    font-size: 15.5px; line-height:1em;
}

.c-button.c-button--note::before {
    content: "";
    opacity: 0.2;
    position: absolute;
    z-index: -1;
    width: 320px;
    height: 70px;
    border-radius: 36px;
    border: solid 1px #262526;
}

.c-button.c-button--note .c-button__inner::after {
    right: 24px;
    width: 14px;
    height: 14px;
    background-image: url(../../cmn/img/recruit/icon_blank_white.svg);
}

.c-button.c-button--note:hover {
    border-color: transparent;
    background-color: #3ec8b3;
}

.c-button.c-button--note:hover::before {
    border-color: transparent;
    background-color: #3ec8b3;
}

.c-button.c-button--type {
    position: relative;
    max-width: 310px;
    padding-top: 22px;
    padding-bottom: 22px;
    border-radius: 30px;
    background-color: #b01e31;
    color: #fff; text-decoration:none;
    font-weight: 400; line-height:1em;
    font-size: 15px;
}

.c-button.c-button--type::before {
    content: "";
    opacity: 0.2;
    position: absolute;
    z-index: -1;
    width: 319px;
    height: 68px;
    border-radius: 34px;
    border: solid 1px #b01e31;
}

.c-button.c-button--type .c-button__inner::after {
    right: 15px;
    width: 14px;
    height: 14px;
    background-image: url(../../cmn/img/recruit/icon_blank_white.svg);
}

.c-button.c-button--type:hover {
    border-color: transparent;
    background-color: #b01e31;
}

.c-button.c-button--type:hover::before {
    border-color: transparent;
    background-color: #b01e31;
}

/* heading */
.c-heading {
    color: #262526; line-height:10px; margin-bottom:0;
}

.c-heading .c-heading-en {
    font-family: "Barlow", sans-serif;
    font-weight: 500;
    font-size: 14px; line-height:1em;
}

.c-heading .c-heading-en::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 18px;
    height: 1px;
    margin-right: 12px;
    margin-left: 1px;
    background-color: #b01e31;
}

.c-heading .c-heading-ja {
    display: block;
    margin-top: 16px;
    font-weight: 400;
    font-size: 28px; line-height:1em;
}


@media screen and (min-width: 768px) {
    .c-button.c-button--detail {
        padding-top: 15px;
        padding-bottom: 15px;
        border-radius: 24px;
        transition: border-color 0.3s ease, background-color 0.3s ease;
        font-size: 16px;
    }

    .c-button.c-button--detail::before {
        width: 200px;
        height: 56px;
        border-radius: 28px;
        transition: border-color 0.4s ease, background-color 0.4s ease;
    }

    .c-button.c-button--detail .c-button__inner::after {
        right: 22px;
        width: 21px;
        height: 12px;
        transition: transform 0.4s ease;
    }

    .c-button.c-button--application {
        max-width: 224px;
        padding-top: 20px;
        padding-bottom: 20px;
        border-radius: 28px;
        font-size: 16px; line-height:1em; text-decoration: none;
    }

    .c-button.c-button--application::before {
        width: 232px;
        height: 64px;
        border-radius: 32px;
        transition: border-color 0.4s ease, background-color 0.4s ease;
    }

    .c-button.c-button--application .c-button__inner::after {
        right: 22px;
        width: 21px;
        height: 12px;
        transition: transform 0.4s ease;
    }

    .c-button.c-button--apply {
        max-width: 356px;
        padding-top: 32px;
        padding-bottom: 32px;
        font-size: 16px;
    }

    .c-button.c-button--apply .c-button__inner::after {
        right: 36px;
    }

    .c-button.c-button--note {
        max-width: 360px;
        padding-top: 28px;
        padding-bottom: 28px;
        border-radius: 36px;
        transition: border-color 0.3s ease, background-color 0.3s ease;
        font-size: 16px; line-height:1em; text-decoration:none;
    }

    .c-button.c-button--note::before {
        transform: scale(1.025, 1.1);
        width: 100%;
        height: 100%;
        border-radius: 40px;
        transition: border-color 0.4s ease, background-color 0.4s ease;
    }

    .c-button.c-button--note .c-button__inner::after {
        right: 36px;
    }

    .c-button.c-button--type {
        max-width: 344px;
        padding-top: 20px;
        padding-bottom: 20px;
        border-radius: 28px;
        transition: box-shadow 0.3s ease;
        font-size: 16px;
    }

    .c-button.c-button--type::before {
        width: 352px;
        height: 64px;
        border-radius: 32px;
        transition: border-color 0.4s ease, background-color 0.4s ease;
    }

    .c-heading .c-heading-en {
        font-size: 16px;
    }

    .c-heading .c-heading-en::before {
        width: 32px;
    }

    .c-heading .c-heading-ja {
        margin-top: 24px;
        font-size: 36px;
    }

}


/**
 * Object
 * ========================== */
/* Project ------------ */
/* note */
.p-note {
    padding-top: 70px;
    padding-bottom: 70px;
}

.p-note .p-note__inner {
    padding-right: 24px;
    padding-left: 24px;
}

.p-note .p-note__block {
    text-align: center;
}

.p-note .p-note__icon {
    width: 65px;
    height: 16.5px;
    margin-right: auto;
    margin-left: auto;
}

.p-note .p-note__description {
    margin-top: 18px;
    font-weight: bold;
    font-size: 16px;
}

.p-note .p-note__button-wrapper {
    margin-top: 33px;
}

@media screen and (min-width: 768px) {
    .p-note {
        padding-top: 88px;
        padding-bottom: 88px;
    }

    .p-note .p-note__inner {
        max-width: 1040px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 120px;
        padding-left: 120px;
        box-sizing: content-box;
    }

    .p-note .p-note__block {
        display: flex;
        align-items: center;
        position: relative;
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .p-note .p-note__block::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 1px;
        height: 100%;
        background-color: #cccccc;
    }

    .p-note .p-note__head {
        flex-basis: 50%;
        margin-top: 7px;
        padding-right: 8.6538461538%;
    }

    .p-note .p-note__body {
        flex-basis: 50%;
        padding-left: 7.6923076923%;
    }

    .p-note .p-note__icon {
        width: 88px;
        height: 23px;
    }

    .p-note .p-note__description {
        margin-top: 16px;
        font-size: 20px;
        line-height: 1.75;
    }

    .p-note .p-note__button-wrapper {
        margin-top: 0;
    }

}