html, body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 62.5%;
  color: #000;
  font-display: swap;
  font-weight: 300;
}
html {
  width: 100%;
  height: 100%;
}
body {
  width: 100%;
  height: 100%;
  opacity: 1 !important;
  background: #f5f5f5;
}
h1, h2, h3, h4, h5, h6, label, p, a, span, blockquote, pre, abbr, input, textarea, dl, dt, dd, ol, ul, li, fieldset, form, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure, figcaption {
  font-size: var(--text-M);
}
img {
  vertical-align: top;
  width: 100%
}
@media(min-width:768px) {
  img {
    max-width: 100%
  }
}
a {
  color: #000
}
strong {
  font-weight: 500;
}
/*Container*/
.base-cntr {
  container-type: inline-size;
  max-width: var(--site-width-M);
  width: 90%;
  margin: 0 auto;
}
.small-cntr {
  container-type: inline-size;
  max-width: var(--site-width-S);
  width: 90%;
  margin: 0 auto;
}
/*Table*/
.table-style01 {
  width: 100%;
  line-height: 180%;
}
.table-style01 th, .table-style01 td {
  text-align: left;
  border-bottom: 1px solid var(--border-default);
  padding: 24px 0px 24px 0px;
}
.table-style01 th {
  white-space: nowrap;
  padding-right: 24px;
  font-weight: 500;
}
.table-style01 td {
  width: 100%;
}
.table-style02 {
  width: 100%;
}
.table-style02 th, .table-style02 td {
  text-align: left;
  border: 1px solid var(--border-default);
  padding: var(--spacing-XS);
  line-height: 160%;
  font-size: var(--text-S);
}
.table-style02 th {
  text-align: center;
  white-space: nowrap;
  font-weight: 500;
  background: #f5f5f5;
}
.table-style02 td {
  background: #fff;
}
.table-style02 caption {
  font-weight: bold;
  text-align: left;
  margin-bottom: var(--spacing-XXS);
}
.table-wrap {
  overflow-x: scroll;
}
.column-M {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-L);
}
.column-S {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-L);
}
@media(max-width:767px) {
  .column-M {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: var(--spacing-S);
  }
  .column-S {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-S);
  }
}
.card-base {
  position: relative;
}
.test {
  position: relative;
  width: 100%;
  height: 300px;
}
.card-inner {
  position: relative;
}
.card-link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.icon-cntr {
  display: flex;
  gap: var(--spacing-XXS);
}
.icon {
  position: relative;
  display: inline-block;
  font-size: var(--text-XS);
  font-weight: 400;
  padding: 8px 10px;
  border-radius: 100px;
}
.icon.news {
  color: var(--primary);
  background: #FFF;
  border: 1px solid var(--primary);
}
.icon.works {
  color: #FFF;
  background: #000;
}
.card-base .eye-catch {
  position: relative;
  margin-bottom: var(--spacing-XS);
  z-index: -1;
}
.card-base .eye-catch img {
  border-radius: 6px;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 3 / 2;
}
.card-base .title {
  margin-top: var(--spacing-XXS);
  margin-bottom: var(--spacing-XXS);
  line-height: 140%;
  font-weight: 400;
}
.card-base time {
  font-family: Roboto;
  font-size: var(--text-S);
  color: #888888;
  margin-right: 8px;
}
.card-base .tag {
  position: relative;
  font-size: var(--text-S);
  color: var(--primary);
  margin-right: 8px;
}
/*Card hover*/
.eye-catch::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  box-sizing: border-box;
  border: 0 solid #fff;
  width: 100%;
  height: 100%;
  content: "";
  opacity: 0;
  transition: border 0.3s, opacity 0.3s;
}
.card-link:hover ~ p.title {
  color: var(--primary);
}
.card-link:hover ~ .eye-catch::before {
  border-width: 8px;
  opacity: 0.8;
}

/*BG TRYANGLE*/
.bg-triangle01 {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #898989 transparent transparent transparent;
  border-width: 760px 930px 0px 0px;
  opacity: 0.05;
  z-index: -1;
  animation: 5s ease-in 0s infinite alternate forwards running expansion01;
}
@keyframes expansion01 {
  0% {
    border-width: 760px 930px 0px 0px;
  }
  100% {
    border-width: 900px 200px 0px 0px;
  }
}
.bg-triangle02 {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #898989 transparent transparent transparent;
  border-width: 570px 1440px 0px 0px;
  opacity: 0.05;
  z-index: -1;
  animation: 7s ease-in 0s infinite alternate forwards running expansion02;
}
@keyframes expansion02 {
  0% {
    border-width: 570px 1440px 0px 0px;
  }
  100% {
    border-width: 800px 900px 0px 0px;
  }
}
.bg-triangle03 {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #898989 transparent transparent transparent;
  border-width: 1320px 640px 0px 0px;
  opacity: 0.05;
  z-index: -1;
  animation: 10s ease-in 0s infinite alternate forwards running expansion03;
}
@keyframes expansion03 {
  0% {
    border-width: 1320px 640px 0px 0px;
  }
  100% {
    border-width: 800px 300px 0px 0px;
  }
}
.bg-triangle04 {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent #898989 transparent;
  border-width: 0px 0px 500px 1300px;
  opacity: 0.05;
  z-index: -1;
  animation: 10s ease-in 0s infinite alternate forwards running expansion04;
}
@keyframes expansion04 {
  0% {
    border-width: 0px 0px 500px 1300px;
  }
  100% {
    border-width: 0px 0px 1500px 300px;
  }
}
.bg-triangle05 {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent #898989 transparent;
  border-width: 0px 0px 1000px 300px;
  opacity: 0.05;
  z-index: -1;
  animation: 10s ease-in 0s infinite alternate forwards running expansion05;
}
@keyframes expansion05 {
  0% {
    border-width: 0px 0px 1000px 300px;
  }
  100% {
    border-width: 0px 0px 500px 700px;
  }
}
/*NEW HEADER*/
header.hdr {
  width: 100%;
  height: 90px;
  background: #FFF;
  font-family: Roboto;
  position: sticky;
  z-index: 100;
  top: 0;
}
header.hdr a {
  font-weight: 400;
}
.hdr-logo {
  width: 200px;
  display: inline-block;
  margin-left: 20px;
}
.hdr-main-menu {
  height: 100%;
  display: flex;
  align-items: center; /*上下中央揃え*/
}
.hdr-navigation {
  display: flex;
  margin-left: auto;
  margin-right: 300px;
}
.hdr-contents-menu li {
  display: inline-block;
  padding: 0 10px;
}
.hdr-lang-menu {
  position: relative;
  margin-left: 20px;
  padding-left: 10px;
}
.hdr-lang-menu a {
  padding: 0 10px;
}
.hdr-lang-menu:before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 40px;
  background-color: #e5e5e5;
  position: absolute;
  top: -12px;
  left: -5px;
}
/*HEADER CV AREA*/
.hdr-cv-menu {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 280px;
  display: flex;
}
.hdr-cv-menu .menu a {
  display: flex;
  width: 140px;
  height: 140px;
  color: #FFF;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.hdr-cv-menu img {
  width: 45px;
  height: 45px;
  margin-bottom: var(--spacing-XXS);
}
.hdr-cv-menu .recruit {
  background: #E3428B;
}
.hdr-cv-menu .contact {
  background: #082f77;
}
.hdr-sp-only-obj {
  display: none;
  text-align: center;
}
/*HEADER 1100px以下*/
@media(max-width:1100px) {
  header.hdr {
    height: 64px;
  }
  .hdr-logo {
    width: 160px;
  }
  header.hdr a {
    font-size: var(--text-S) !important;
  }
  .hdr-navigation {
    margin-right: 220px;
  }
  .hdr-contents-menu li {
    padding: 0 6px;
  }
  .hdr-lang-menu a {
    padding: 0 6px;
  }
  .hdr-lang-menu {
    position: relative;
    margin-left: 20px;
    padding-left: 10px;
  }
  .hdr-cv-menu {
    width: 200px;
  }
  .hdr-cv-menu .menu a {
    width: 100px;
    height: 100px;
  }
  .hdr-cv-menu .menu a p {
    font-size: var(--text-S) !important;
  }
  .hdr-cv-menu img {
    width: 32px;
    height: 32px;
  }
}
/*HEADER 848px以下*/
@media(max-width:848px) {
  header.hdr {
    height: 64px;
    position: sticky;
    top: 0;
  }
  header.hdr a {
    font-size: var(--text-M) !important;
  }
  .hdr-navigation {
    display: none;
  }
  /*SP用ナビゲーション*/
  .hdr-main-menu {
    height: 100%;
  }
  .hdr-navigation {
    margin-left: 0;
    margin-right: 0;
    background: #f5f5f5;
    width: 100dvw;
    height: calc(100dvh - 64px);
    position: absolute;
    top: 64px;
  }
  .hdr-contents-menu {
    display: flex;
    flex-wrap: wrap;
  }
  .hdr-contents-menu li {
    display: block;
    width: 50%;
    padding: 0px;
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
  }
  .hdr-contents-menu a {
    display: block;
    padding: 24px 0;
    text-align: center;
  }
  .hdr-lang-menu {
    position: relative;
    margin-left: 0;
    padding-left: 0;
    text-align: center;
    padding: 24px 0px;
  }
  .hdr-lang-menu a {
    padding: 0 10px;
  }
  .hdr-lang-menu:before {
    content: none;
  }
  /*HEADER CV AREA*/
  .hdr-cv-menu {
    position: relative;
    top: auto;
    right: auto;
    z-index: auto;
    width: 100vw;
    height: 100px;
    display: flex;
  }
  .hdr-cv-menu .menu {
    width: 50%;
    height: 100%;
  }
  .hdr-cv-menu .menu a {
    display: flex;
    width: 100%;
    height: 100%;
    color: #FFF;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  .hdr-cv-menu img {
    width: 45px;
    height: 45px;
    margin-bottom: var(--spacing-XXS);
  }
  .hdr-cv-menu .recruit {
    background: #E3428B;
  }
  .hdr-cv-menu .contact {
    background: #082f77;
  }
  .hdr-cv-menu .menu a p {
    font-size: var(--text-M) !important;
  }
  .hdr-sp-only-obj {
    display: block;
    padding: 24px 0;
  }
  .sp-menu-logo {
    width: 25vw;
    margin: 0 auto;
  }
  .hdr-sp-only-obj .tel a {
    font-size: var(--text-XL) !important;
    font-weight: 500;
    color: #082f77;
  }
  .hdr-sp-only-obj .add {
    line-height: 140%;
  }
}
/*ハンバーガーメニュー*/
.hamburger-menu {
  display: none;
  width: 50px;
  height: 50px;
  border: none;
  background: transparent;
  appearance: none;
  padding: 0;
  cursor: pointer;
  position: absolute;
  right: 2px;
  top: 7px;
}
.hamburger-menu__bar {
  display: inline-block;
  width: 44%;
  height: 2px;
  background: #242424;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: .5s;
}
.hamburger-menu__bar:first-child {
  top: 16px;
}
.hamburger-menu__bar:nth-child(2) {
  top: 24px;
}
.hamburger-menu__bar:last-child {
  top: 32px;
}
.hamburger-menu--open .hamburger-menu__bar {
  top: 50%;
}
.hamburger-menu--open .hamburger-menu__bar:first-child {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.hamburger-menu--open .hamburger-menu__bar:last-child {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
  display: none;
}
@media(max-width:848px) {
  .hamburger-menu {
    display: block;
  }
}
/*パンクズ*/
.breadcrumb {
  padding: 16px 24px;
  margin-bottom: var(--spacing-L);
}
.breadcrumb a, .breadcrumb span {
  font-sizE: var(--text-S);
  color: #000;
}
.breadcrumb a:hover {
  text-decoration: underline;
}
@media(max-width:767px) {
  .breadcrumb {
    line-height: 160%;
    margin-bottom: var(--spacing-XS);
  }
}
/*FOOTER*/
footer {
  background-color: white;
  padding-bottom: 32px;
  padding-top: 32px;
  position: relative
}
.ftr-upper {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--border-default);
  padding-bottom: 24px;
  margin-bottom: 16px;
}
.ftr-sns {
  display: flex;
  gap: 16px;
}
.ftr-sns img {
  height: 28px;
  width: auto;
}
.ftr-pmark {
  display: flex;
  gap: 16px;
}
.ftr-pmark img {
  height: 34px;
  width: auto;
}
.ftr-subnavi{
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
  gap: 16px 0px;
	border-bottom: 1px solid var(--border-default);
	margin-bottom: 24px;
    padding-bottom: 16px;
}

.ftr-subnavi li{
	border-right: 1px solid var(--border-default);
	padding-right:8px;
	padding-left:8px;
}

.ftr-subnavi li:last-child{
	border-right: none;
}

.ftr-subnavi a{
	font-size:80%;
}
.ftr-lower {
  display: flex;
  justify-content: space-between;
}
.ftr-lower p {
  line-height: 140%;
}
@media(max-width:767px) {
  .ftr-upper {
    flex-flow: column;
    justify-content: center;
    gap: 24px;
  }
  .ftr-sns {
    justify-content: center;
  }
  .ftr-sns img {
    height: 20px;
    width: auto;
  }
  .ftr-pmark {
    justify-content: center;
  }
  .ftr-pmark img {
    height: 34px;
    width: auto;
  }

  .ftr-lower {
    flex-flow: column;
    text-align: center;
    gap: 8px;
  }
  .ftr-lower p {
    line-height: 140%;
  }
.ftr-subnavi{
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
  gap: 16px 0px;
	margin-bottom: 24px;
    padding-bottom: 16px;
}

.ftr-subnavi li{
	border-right:none;
	padding-right:8px;
	padding-left:8px;
}

}
/*BOTTOM POOVOO*/
.c-poovoo {
  position: fixed;
  right: 0;
  bottom: -201px;
  -webkit-transition: all .1s ease-in-out 0s;
  transition: all .1s ease-in-out 0s;
  width: 150px;
  z-index: 10000
}

.c-poovoo-inner{
    display:flex;
    column-gap: 10px;
}
@media(max-width:767px) {
  .c-poovoo {
    width: 120px
  }
}
.c-poovoo.js-active {
  bottom: -60px
}
@media(max-width:767px) {
  .c-poovoo.js-active {
    bottom: -15px
  }
}
.c-poovoo img {
  width: 100%
}
/*COMMON CV AREA*/
.p-cv__container {
  background-color: #f9f9f9;
  position: relative;
  width: 100%
}
@media(max-width:767px) {
  .p-cv__container {
    width: 100%
  }
}
@media(min-width:768px) {}
.p-cv__container.inpage {
  margin-bottom: 30px
}
.p-cv__content {
  padding: 64px 0
}
.p-cv__content .p-text-title {
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
  margin-bottom: 5px
}
@media(max-width:767px) {
  .p-cv__content .p-text-title {
    font-size: 1rem
  }
}
@media(min-width:768px) {
  .p-cv__content .p-text-title {
    font-size: 32px
  }
}
.p-cv__content.inpage {
  padding-top: 30px;
  width: auto
}
.p-cv__content.inpage .p-text-title {
  margin-bottom: 30px;
  font-size: 28px;
  font-weight: 700
}
.p-cv__content-title {
  line-height: 1;
  font-size: var(--heading-S);
  font-weight: 400;
  text-align: center;
}
@media(max-width:767px) {
  .p-cv__content-title {
    font-size: 16px;
    margin-bottom: 15px
  }
}
.p-cv__content-text {
  margin: 20px 0 35px;
  line-height: 140%;
  text-align: center;
  letter-spacing: 0;
  font-size: var(--text-M);
}
@media(max-width:767px) {
  .p-cv__content-text {
    font-size: 13px;
    line-height: 1.462;
    margin: 15px 0 25px
  }
}
.p-cv__button {
  text-align: center;
  box-sizing: border-box;
  border: 2px solid #082f77;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out
}
@media(max-width:767px) {
  .p-cv__button {
    width: 100%;
    padding: 15px 0;
    margin-bottom: 20px
  }
}
@media(min-width:768px) {
  .p-cv__button {
    width: calc(50% - 20px);
    height: 136px
  }
}
.p-cv__button.contact:hover {
  background-color: #082f77
}
.p-cv__button.contact:hover p {
  color: white
}
.p-cv__button.phone p {
  font-weight: 400;
  text-align: center;
  line-height: 1.3;
  font-size: 16px
}
.p-cv__button.phone p span {
  color: #082f77;
  font-size: 38px
}
.p-cv__button.phone p span a {
  font-family: Roboto;
  color: #082f77;
  font-size: 38px;
  line-height: 1
}
.p-cv__button.contact {
  position: relative
}
.p-cv__button.contact:before {
  content: '→';
  position: absolute;
  top: 50%;
  right: 40px;
  color: #082f77;
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%)
}
@media(max-width:767px) {
  .p-cv__button.contact:before {
    right: 10px
  }
}
.p-cv__button.contact:hover:before {
  color: #fff;
  -webkit-transform: translate(10px, -50%);
  -ms-transform: translate(10px, -50%);
  transform: translate(10px, -50%)
}
.p-cv__button.contact p {
  color: #082f77;
  font-weight: 700;
  text-align: center;
  line-height: 1.3
}
@media(max-width:767px) {
  .p-cv__button.contact p {
    font-size: 1rem
  }
}
@media(min-width:768px) {
  .p-cv__button.contact p {
    font-size: 20px
  }
}
@media(max-width:767px) {
  .p-easylink__container {
    width: 100%;
    min-width: 100%
  }
}
@media(min-width:768px) {
  .p-easylink__container {
    width: 100%;
  }
}
.p-easylink__cover {
  position: relative;
  width: 50%;
  display: block;
  overflow: hidden;
  height: 300px
}
@media(max-width:767px) {
  .p-easylink__cover {
    height: auto
  }
}
.p-easylink__cover .bg-image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transition: all .3s ease-out
}
.p-easylink__cover.company:before {
  background-color: #082f77
}
.p-easylink__cover.company .bg-image {
  background-image: url(../images/easylink-company.jpg)
}
.p-easylink__cover.saiyo:before {
  background-color: #e34288
}
.p-easylink__cover.saiyo .bg-image {
  background-image: url(../images/easylink-saiyo.jpg)
}
.p-easylink__cover:before {
  position: absolute;
  z-index: 10;
  opacity: .8;
  width: 100%;
  height: 100%;
  display: block;
  content: "";
  transition: all .5s ease-out
}
.p-easylink__cover:after {
  position: absolute;
  color: white;
  text-align: center;
  font-size: 11vw;
  font-family: Open Sans, sans-serif;
  font-style: italic;
  top: 0;
  width: 100%;
  left: 0;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: .2;
}
.p-easylink__cover:hover:before, .p-easylink__cover:hover:after {
  opacity: .9;
}
.p-easylink__cover:hover .bg-image {
  transform: scale(1.1)
}
.p-easylink__container {
  display: flex;
}
.p-easylink__content {
  padding: 60px;
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 100%
}
@media(max-width:767px) {
  .p-easylink__container {
    flex-flow: column;
  }
  .p-easylink__content {
    padding: 40px 0 25px
  }
}
.p-easylink__content .p-text-title {
  color: white;
  text-align: center;
  font-size: 32px;
  line-height: .8;
  margin-bottom: 8px
}
@media(max-width:767px) {
  .p-easylink__content .p-text-title {
    font-size: 22px;
    margin-bottom: 5px
  }
}
.p-easylink__content p {
  color: white;
  text-align: center;
  font-size: var(--text-M);
  line-height: 1.8
}
@media(max-width:767px) {
  .p-easylink__content p {
    font-size: var(--text-S);
    margin-top: 0px;
    margin-bottom: 8px;
  }
}
.p-easylink__content p.serif {
  font-family: Roboto;
  font-size: var(--text-S);
  letter-spacing: .3em
}
@media(max-width:767px) {
  .p-easylink__content p.serif {
    margin-top: 0;
    font-size: var(--text-XS)
  }
}
@media(max-width:767px) {
  .p-easylink__cover {
    width: 100%;
    background-size: auto 100%
  }
  .p-easylink__cover:hover {
    background-size: auto 100%
  }
  .p-easylink__cover:after {
    height: auto;
    font-size: 28vw
  }
  .p-cv__content {
    margin: 0;
    padding: 30px 0;
    max-width: 100%
  }
  .p-easylink__content div {
    margin-bottom: 8px
  }
}
.p-cv-button-outer .p-cv__button {
  width: 48.4375%;
  display: table
}
@media(max-width:767px) {
  .p-cv-button-outer .p-cv__button {
    min-height: 70px;
    margin-bottom: 0;
    width: 100%
  }
}
.p-cv-button-outer .p-cv__button.phone {
  float: left
}
@media(max-width:767px) {
  .p-cv-button-outer .p-cv__button.phone {
    float: none;
    margin-bottom: 10px
  }
}
@media(max-width:767px) {
  .p-cv-button-outer .p-cv__button.phone p span {
    font-size: 18px;
    margin-top: 3px
  }
}
@media(max-width:767px) {
  .p-cv-button-outer .p-cv__button.phone p span a {
    font-size: 18px;
    margin-top: 3px
  }
}
.p-cv-button-outer .p-cv__button.contact {
  float: right
}
@media(max-width:767px) {
  .p-cv-button-outer .p-cv__button.contact {
    float: none
  }
}
.p-cv-button-outer .p-cv__button.contact p {
  font-weight: 700
}
.p-cv-button-outer .p-cv__button p {
  display: table-cell;
  vertical-align: middle;
  width: 100%
}
@media(max-width:767px) {
  .p-cv-button-outer .p-cv__button p {
    font-size: 13px
  }
}
.p-cv__button-number {
  display: block;
  font-weight: 700;
  line-height: 1;
  margin-top: 4px
}
@media(max-width:767px) {
  .p-cv__button-number {
    margin-top: 0
  }
}
/*ボタン*/
.c-button {
  padding: 16px 24px;
  background-color: var(--primary);
  display: block;
  color: #fff;
  position: relative;
  vertical-align: middle;
  text-decoration: none;
  border-radius: 6px;
  font-family: Roboto;
  font-size: var(--text-M);
  font-weight: 400;
  line-height: 2;
  transition: all .2s ease-out
}
.c-button {
  width: 290px;
}
.c-button.fit {
  width: 100%;
}
@media(max-width:767px) {
  .c-button {
    line-height: 1.7;
    padding-right: 40px;
    border-radius: 4px;
    font-size: var(--text-M);
    padding: 16px;
    width: 100%
  }
}
.c-button:before {
  content: "→";
  font-size: 14px;
  color: #fff;
  vertical-align: middle;
  transition: all .2s ease-out;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%)
}
.c-button.accordion:before {
  content: "+";
  font-size: 14px;
  color: #fff;
  vertical-align: middle;
  transition: all .2s ease-out;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%)
}
@media(max-width:767px) {
  .c-button:before {
    right: 20px
  }
}
.c-button:hover {
  background-color: #bd3771
}
.c-button:hover:before {
  transform: translate(10px, -50%)
}
.c-button.accordion:hover:before {
  transform: translate(0px, -50%)
}
.c-button-center {
  margin-left: auto;
  margin-right: auto;
}
/*その他*/
.active {
  color: var(--primary) !important;
}
/*下層ページ*/
.page-title {
  font-family: Roboto;
  font-weight: 700;
  font-size: var(--heading-XXL);
  margin-bottom: var(--spacing-L);
}
.post-title {
  font-size: var(--heading-M);
  font-weight: 700;
  line-height: 140%;
}
.page-title-jp {
  font-weight: 700;
  font-size: var(--heading-L);
  line-height: 130%;
  margin-top: var(--spacing-L);
}
.section-title-jp {
  font-weight: 700;
  font-size: var(--heading-S);
  line-height: 1;
}
.section-title-jp.line {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-default);
}
@media(max-width:767px) {
  .page-title {
    font-size: var(--heading-XL);
    margin-bottom: var(--spacing-L);
  }
  .post-title {
    font-size: var(--heading-M);
    font-weight: 700;
    line-height: 130%;
  }
}
@media(max-width:767px) {
  .post-title {
    font-size: var(--heading-M);
  }
  .page-title-jp {
    font-weight: 700;
    font-size: var(--heading-M);
    line-height: 130%;
    margin-top: 0;
  }
  .section-title-jp {
    font-weight: 700;
    font-size: var(--heading-XS);
    line-height: 1;
  }
  .section-title-jp.line {
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-default);
  }
}
/*バナー エリア*/
.bnr-cntr {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px;
}
.bnr-cntr a {
  width: 45%;
}
@media(max-width:767px) {
  .bnr-cntr a {
    width: 100%;
  }
}